From d5cf366e0a8d04db5b33927c46ab5a906dec960a Mon Sep 17 00:00:00 2001 From: cadmic Date: Thu, 24 Oct 2024 09:40:15 -0700 Subject: [PATCH] Match and link cpu.c (#199) * Link cpu.c * Move _cpuDecodePPC2.c and _cpuGCN.c to separate files * Revert VS Code configs --- asm/non_matchings/cpu/cpuCheckDelaySlot.s | 158 - asm/non_matchings/cpu/cpuCompile_CEIL_W.s | 114 - asm/non_matchings/cpu/cpuCompile_DDIV.s | 370 - asm/non_matchings/cpu/cpuCompile_DDIVU.s | 266 - asm/non_matchings/cpu/cpuCompile_DMULT.s | 324 - asm/non_matchings/cpu/cpuCompile_DMULTU.s | 200 - asm/non_matchings/cpu/cpuCompile_DSLLV.s | 125 - asm/non_matchings/cpu/cpuCompile_DSRAV.s | 132 - asm/non_matchings/cpu/cpuCompile_DSRLV.s | 125 - asm/non_matchings/cpu/cpuCompile_D_SQRT.s | 272 - asm/non_matchings/cpu/cpuCompile_FLOOR_W.s | 114 - asm/non_matchings/cpu/cpuCompile_LB.s | 94 - asm/non_matchings/cpu/cpuCompile_LBU.s | 89 - asm/non_matchings/cpu/cpuCompile_LDC.s | 101 - asm/non_matchings/cpu/cpuCompile_LH.s | 94 - asm/non_matchings/cpu/cpuCompile_LHU.s | 89 - asm/non_matchings/cpu/cpuCompile_LW.s | 89 - asm/non_matchings/cpu/cpuCompile_LWL.s | 103 - asm/non_matchings/cpu/cpuCompile_LWR.s | 102 - asm/non_matchings/cpu/cpuCompile_L_CVT_SD.s | 355 - asm/non_matchings/cpu/cpuCompile_SB.s | 90 - asm/non_matchings/cpu/cpuCompile_SDC.s | 101 - asm/non_matchings/cpu/cpuCompile_SH.s | 90 - asm/non_matchings/cpu/cpuCompile_SW.s | 90 - asm/non_matchings/cpu/cpuCompile_S_SQRT.s | 211 - asm/non_matchings/cpu/cpuCompile_W_CVT_SD.s | 111 - asm/non_matchings/cpu/cpuException.s | 197 - asm/non_matchings/cpu/cpuExecute.s | 868 - asm/non_matchings/cpu/cpuExecuteCall.s | 168 - asm/non_matchings/cpu/cpuExecuteIdle.s | 74 - asm/non_matchings/cpu/cpuExecuteLoadStore.s | 1006 - asm/non_matchings/cpu/cpuExecuteLoadStoreF.s | 799 - asm/non_matchings/cpu/cpuExecuteOpcode.s | 5883 -- asm/non_matchings/cpu/cpuExecuteUpdate.s | 214 - asm/non_matchings/cpu/cpuFindAddress.s | 324 - asm/non_matchings/cpu/cpuFindCachedAddress.s | 131 - asm/non_matchings/cpu/cpuFindFunction.s | 918 - asm/non_matchings/cpu/cpuFreeCachedAddress.s | 43 - asm/non_matchings/cpu/cpuGetPPC.s | 48782 ---------------- asm/non_matchings/cpu/cpuGetRegisterCP0.s | 244 - asm/non_matchings/cpu/cpuHackHandler.s | 150 - asm/non_matchings/cpu/cpuMakeDevice.s | 77 - asm/non_matchings/cpu/cpuMakeFunction.s | 323 - asm/non_matchings/cpu/cpuMakeLink.s | 185 - asm/non_matchings/cpu/cpuMapObject.s | 120 - asm/non_matchings/cpu/cpuNextInstruction.s | 194 - asm/non_matchings/cpu/cpuOpcodeChecksum.s | 191 - asm/non_matchings/cpu/cpuReset.s | 326 - asm/non_matchings/cpu/cpuRetraceCallback.s | 5 - asm/non_matchings/cpu/cpuSetCP0_Status.s | 41 - asm/non_matchings/cpu/cpuSetCodeHack.s | 31 - asm/non_matchings/cpu/cpuSetDeviceGet.s | 7 - asm/non_matchings/cpu/cpuSetDevicePut.s | 7 - asm/non_matchings/cpu/cpuSetRegisterCP0.s | 175 - asm/non_matchings/cpu/cpuSetTLB.s | 206 - asm/non_matchings/cpu/cpuTestInterrupt.s | 60 - asm/non_matchings/cpu/cpuTreeTake.s | 52 - asm/non_matchings/cpu/treeAdjustRoot.s | 133 - asm/non_matchings/cpu/treeBalance.s | 124 - asm/non_matchings/cpu/treeCallerCheck.s | 74 - asm/non_matchings/cpu/treeCleanNodes.s | 207 - asm/non_matchings/cpu/treeCleanUp.s | 89 - asm/non_matchings/cpu/treeDeleteNode.s | 256 - asm/non_matchings/cpu/treeForceCleanNodes.s | 135 - asm/non_matchings/cpu/treeInit.s | 24 - asm/non_matchings/cpu/treeInitNode.s | 74 - asm/non_matchings/cpu/treeInsert.s | 81 - asm/non_matchings/cpu/treeInsertNode.s | 66 - asm/non_matchings/cpu/treeKill.s | 189 - asm/non_matchings/cpu/treeKillNodes.s | 196 - asm/non_matchings/cpu/treeKillRange.s | 572 - asm/non_matchings/cpu/treeKillReason.s | 42 - asm/non_matchings/cpu/treePrintNode.s | 138 - asm/non_matchings/cpu/treeSearchNode.s | 31 - asm/non_matchings/cpu/treeTimerCheck.s | 77 - .../mcardGCN/mcardCalculateChecksum.s | 27 - .../mcardCalculateChecksumFileBlock1.s | 101 - .../mcardCalculateChecksumFileBlock2.s | 101 - .../mcardGCN/mcardCheckChecksumFileHeader.s | 222 - asm/non_matchings/mcardGCN/mcardFileCreate.s | 437 - asm/non_matchings/mcardGCN/mcardFileErase.s | 106 - asm/non_matchings/mcardGCN/mcardFileSet.s | 293 - .../mcardGCN/mcardGCErrorHandler.s | 126 - asm/non_matchings/mcardGCN/mcardGameCreate.s | 606 - asm/non_matchings/mcardGCN/mcardGameSet.s | 289 - asm/non_matchings/mcardGCN/mcardMenu.s | 786 - asm/non_matchings/mcardGCN/mcardOpen.s | 1707 - .../mcardGCN/mcardOpenDuringGame.s | 796 - .../mcardGCN/mcardOpenDuringGameError.s | 107 - asm/non_matchings/mcardGCN/mcardOpenError.s | 107 - asm/non_matchings/mcardGCN/mcardPoll.s | 66 - .../mcardGCN/mcardReadAnywhere.s | 104 - .../mcardGCN/mcardReadBufferAsynch.s | 116 - .../mcardGCN/mcardReadFileHeader.s | 152 - .../mcardGCN/mcardReadFileHeaderInitial.s | 94 - .../mcardGCN/mcardReadGameData.s | 257 - asm/non_matchings/mcardGCN/mcardReadyCard.s | 111 - .../mcardGCN/mcardReplaceFileBlock.s | 322 - .../mcardGCN/mcardSaveChecksumFileHeader.s | 236 - asm/non_matchings/mcardGCN/mcardStore.s | 1069 - .../mcardGCN/mcardVerifyChecksumFileHeader.s | 161 - .../mcardGCN/mcardWriteAnywhere.s | 115 - .../mcardGCN/mcardWriteAnywherePartial.s | 120 - .../mcardGCN/mcardWriteBufferAsynch.s | 134 - .../mcardGCN/mcardWriteConfigAsynch.s | 124 - .../mcardGCN/mcardWriteFileHeader.s | 265 - .../mcardGCN/mcardWriteFileHeaderInitial.s | 149 - .../mcardGCN/mcardWriteTimeAsynch.s | 140 - configure.py | 3 +- include/emulator/cpu_jumptable.h | 1186 - src/emulator/_cpuDecodePPC2.c | 1120 + src/emulator/_cpuGCN.c | 8898 +++ src/emulator/cpu.c | 10620 +--- tools/decompme.py | 1 + 114 files changed, 10095 insertions(+), 89597 deletions(-) delete mode 100644 asm/non_matchings/cpu/cpuCheckDelaySlot.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_CEIL_W.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_DDIV.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_DDIVU.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_DMULT.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_DMULTU.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_DSLLV.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_DSRAV.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_DSRLV.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_D_SQRT.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_FLOOR_W.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_LB.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_LBU.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_LDC.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_LH.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_LHU.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_LW.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_LWL.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_LWR.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_L_CVT_SD.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_SB.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_SDC.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_SH.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_SW.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_S_SQRT.s delete mode 100644 asm/non_matchings/cpu/cpuCompile_W_CVT_SD.s delete mode 100644 asm/non_matchings/cpu/cpuException.s delete mode 100644 asm/non_matchings/cpu/cpuExecute.s delete mode 100644 asm/non_matchings/cpu/cpuExecuteCall.s delete mode 100644 asm/non_matchings/cpu/cpuExecuteIdle.s delete mode 100644 asm/non_matchings/cpu/cpuExecuteLoadStore.s delete mode 100644 asm/non_matchings/cpu/cpuExecuteLoadStoreF.s delete mode 100644 asm/non_matchings/cpu/cpuExecuteOpcode.s delete mode 100644 asm/non_matchings/cpu/cpuExecuteUpdate.s delete mode 100644 asm/non_matchings/cpu/cpuFindAddress.s delete mode 100644 asm/non_matchings/cpu/cpuFindCachedAddress.s delete mode 100644 asm/non_matchings/cpu/cpuFindFunction.s delete mode 100644 asm/non_matchings/cpu/cpuFreeCachedAddress.s delete mode 100644 asm/non_matchings/cpu/cpuGetPPC.s delete mode 100644 asm/non_matchings/cpu/cpuGetRegisterCP0.s delete mode 100644 asm/non_matchings/cpu/cpuHackHandler.s delete mode 100644 asm/non_matchings/cpu/cpuMakeDevice.s delete mode 100644 asm/non_matchings/cpu/cpuMakeFunction.s delete mode 100644 asm/non_matchings/cpu/cpuMakeLink.s delete mode 100644 asm/non_matchings/cpu/cpuMapObject.s delete mode 100644 asm/non_matchings/cpu/cpuNextInstruction.s delete mode 100644 asm/non_matchings/cpu/cpuOpcodeChecksum.s delete mode 100644 asm/non_matchings/cpu/cpuReset.s delete mode 100644 asm/non_matchings/cpu/cpuRetraceCallback.s delete mode 100644 asm/non_matchings/cpu/cpuSetCP0_Status.s delete mode 100644 asm/non_matchings/cpu/cpuSetCodeHack.s delete mode 100644 asm/non_matchings/cpu/cpuSetDeviceGet.s delete mode 100644 asm/non_matchings/cpu/cpuSetDevicePut.s delete mode 100644 asm/non_matchings/cpu/cpuSetRegisterCP0.s delete mode 100644 asm/non_matchings/cpu/cpuSetTLB.s delete mode 100644 asm/non_matchings/cpu/cpuTestInterrupt.s delete mode 100644 asm/non_matchings/cpu/cpuTreeTake.s delete mode 100644 asm/non_matchings/cpu/treeAdjustRoot.s delete mode 100644 asm/non_matchings/cpu/treeBalance.s delete mode 100644 asm/non_matchings/cpu/treeCallerCheck.s delete mode 100644 asm/non_matchings/cpu/treeCleanNodes.s delete mode 100644 asm/non_matchings/cpu/treeCleanUp.s delete mode 100644 asm/non_matchings/cpu/treeDeleteNode.s delete mode 100644 asm/non_matchings/cpu/treeForceCleanNodes.s delete mode 100644 asm/non_matchings/cpu/treeInit.s delete mode 100644 asm/non_matchings/cpu/treeInitNode.s delete mode 100644 asm/non_matchings/cpu/treeInsert.s delete mode 100644 asm/non_matchings/cpu/treeInsertNode.s delete mode 100644 asm/non_matchings/cpu/treeKill.s delete mode 100644 asm/non_matchings/cpu/treeKillNodes.s delete mode 100644 asm/non_matchings/cpu/treeKillRange.s delete mode 100644 asm/non_matchings/cpu/treeKillReason.s delete mode 100644 asm/non_matchings/cpu/treePrintNode.s delete mode 100644 asm/non_matchings/cpu/treeSearchNode.s delete mode 100644 asm/non_matchings/cpu/treeTimerCheck.s delete mode 100644 asm/non_matchings/mcardGCN/mcardCalculateChecksum.s delete mode 100644 asm/non_matchings/mcardGCN/mcardCalculateChecksumFileBlock1.s delete mode 100644 asm/non_matchings/mcardGCN/mcardCalculateChecksumFileBlock2.s delete mode 100644 asm/non_matchings/mcardGCN/mcardCheckChecksumFileHeader.s delete mode 100644 asm/non_matchings/mcardGCN/mcardFileCreate.s delete mode 100644 asm/non_matchings/mcardGCN/mcardFileErase.s delete mode 100644 asm/non_matchings/mcardGCN/mcardFileSet.s delete mode 100644 asm/non_matchings/mcardGCN/mcardGCErrorHandler.s delete mode 100644 asm/non_matchings/mcardGCN/mcardGameCreate.s delete mode 100644 asm/non_matchings/mcardGCN/mcardGameSet.s delete mode 100644 asm/non_matchings/mcardGCN/mcardMenu.s delete mode 100644 asm/non_matchings/mcardGCN/mcardOpen.s delete mode 100644 asm/non_matchings/mcardGCN/mcardOpenDuringGame.s delete mode 100644 asm/non_matchings/mcardGCN/mcardOpenDuringGameError.s delete mode 100644 asm/non_matchings/mcardGCN/mcardOpenError.s delete mode 100644 asm/non_matchings/mcardGCN/mcardPoll.s delete mode 100644 asm/non_matchings/mcardGCN/mcardReadAnywhere.s delete mode 100644 asm/non_matchings/mcardGCN/mcardReadBufferAsynch.s delete mode 100644 asm/non_matchings/mcardGCN/mcardReadFileHeader.s delete mode 100644 asm/non_matchings/mcardGCN/mcardReadFileHeaderInitial.s delete mode 100644 asm/non_matchings/mcardGCN/mcardReadGameData.s delete mode 100644 asm/non_matchings/mcardGCN/mcardReadyCard.s delete mode 100644 asm/non_matchings/mcardGCN/mcardReplaceFileBlock.s delete mode 100644 asm/non_matchings/mcardGCN/mcardSaveChecksumFileHeader.s delete mode 100644 asm/non_matchings/mcardGCN/mcardStore.s delete mode 100644 asm/non_matchings/mcardGCN/mcardVerifyChecksumFileHeader.s delete mode 100644 asm/non_matchings/mcardGCN/mcardWriteAnywhere.s delete mode 100644 asm/non_matchings/mcardGCN/mcardWriteAnywherePartial.s delete mode 100644 asm/non_matchings/mcardGCN/mcardWriteBufferAsynch.s delete mode 100644 asm/non_matchings/mcardGCN/mcardWriteConfigAsynch.s delete mode 100644 asm/non_matchings/mcardGCN/mcardWriteFileHeader.s delete mode 100644 asm/non_matchings/mcardGCN/mcardWriteFileHeaderInitial.s delete mode 100644 asm/non_matchings/mcardGCN/mcardWriteTimeAsynch.s delete mode 100644 include/emulator/cpu_jumptable.h create mode 100644 src/emulator/_cpuDecodePPC2.c create mode 100644 src/emulator/_cpuGCN.c diff --git a/asm/non_matchings/cpu/cpuCheckDelaySlot.s b/asm/non_matchings/cpu/cpuCheckDelaySlot.s deleted file mode 100644 index fa359127..00000000 --- a/asm/non_matchings/cpu/cpuCheckDelaySlot.s +++ /dev/null @@ -1,158 +0,0 @@ -glabel cpuCheckDelaySlot -/* 062C98 80068238 28030000 */ cmplwi r3, 0 -/* 062C9C 8006823C 38A00000 */ li r5, 0 -/* 062CA0 80068240 4082000C */ bne lbl_8006824C -/* 062CA4 80068244 38600000 */ li r3, 0 -/* 062CA8 80068248 4E800020 */ blr -lbl_8006824C: -/* 062CAC 8006824C 546036BE */ srwi r0, r3, 0x1a -/* 062CB0 80068250 28000017 */ cmplwi r0, 0x17 -/* 062CB4 80068254 4181010C */ bgt lbl_80068360 -/* 062CB8 80068258 3C80800F */ lis r4, jtbl_800ED514@ha -/* 062CBC 8006825C 3884D514 */ addi r4, r4, jtbl_800ED514@l -/* 062CC0 80068260 5400103A */ slwi r0, r0, 2 -/* 062CC4 80068264 7C04002E */ lwzx r0, r4, r0 -/* 062CC8 80068268 7C0903A6 */ mtctr r0 -/* 062CCC 8006826C 4E800420 */ bctr -.global lbl_80068270 -lbl_80068270: -/* 062CD0 80068270 546006BE */ clrlwi r0, r3, 0x1a -/* 062CD4 80068274 2C000009 */ cmpwi r0, 9 -/* 062CD8 80068278 4182001C */ beq lbl_80068294 -/* 062CDC 8006827C 408000E4 */ bge lbl_80068360 -/* 062CE0 80068280 2C000008 */ cmpwi r0, 8 -/* 062CE4 80068284 40800008 */ bge lbl_8006828C -/* 062CE8 80068288 480000D8 */ b lbl_80068360 -lbl_8006828C: -/* 062CEC 8006828C 38A00D05 */ li r5, 0xd05 -/* 062CF0 80068290 480000D0 */ b lbl_80068360 -lbl_80068294: -/* 062CF4 80068294 38A008AE */ li r5, 0x8ae -/* 062CF8 80068298 480000C8 */ b lbl_80068360 -.global lbl_8006829C -lbl_8006829C: -/* 062CFC 8006829C 546086FE */ rlwinm r0, r3, 0x10, 0x1b, 0x1f -/* 062D00 800682A0 2C000010 */ cmpwi r0, 0x10 -/* 062D04 800682A4 40800018 */ bge lbl_800682BC -/* 062D08 800682A8 2C000004 */ cmpwi r0, 4 -/* 062D0C 800682AC 408000B4 */ bge lbl_80068360 -/* 062D10 800682B0 2C000000 */ cmpwi r0, 0 -/* 062D14 800682B4 40800010 */ bge lbl_800682C4 -/* 062D18 800682B8 480000A8 */ b lbl_80068360 -lbl_800682BC: -/* 062D1C 800682BC 2C000014 */ cmpwi r0, 0x14 -/* 062D20 800682C0 408000A0 */ bge lbl_80068360 -lbl_800682C4: -/* 062D24 800682C4 38A00457 */ li r5, 0x457 -/* 062D28 800682C8 48000098 */ b lbl_80068360 -.global lbl_800682CC -lbl_800682CC: -/* 062D2C 800682CC 546006BE */ clrlwi r0, r3, 0x1a -/* 062D30 800682D0 28000018 */ cmplwi r0, 0x18 -/* 062D34 800682D4 4181001C */ bgt lbl_800682F0 -/* 062D38 800682D8 3C80800F */ lis r4, jtbl_800ED4B0@ha -/* 062D3C 800682DC 3884D4B0 */ addi r4, r4, jtbl_800ED4B0@l -/* 062D40 800682E0 5400103A */ slwi r0, r0, 2 -/* 062D44 800682E4 7C04002E */ lwzx r0, r4, r0 -/* 062D48 800682E8 7C0903A6 */ mtctr r0 -/* 062D4C 800682EC 4E800420 */ bctr -.global lbl_800682F0 -lbl_800682F0: -/* 062D50 800682F0 54605EFE */ rlwinm r0, r3, 0xb, 0x1b, 0x1f -/* 062D54 800682F4 2C000008 */ cmpwi r0, 8 -/* 062D58 800682F8 41820008 */ beq lbl_80068300 -/* 062D5C 800682FC 48000064 */ b lbl_80068360 -lbl_80068300: -/* 062D60 80068300 546086FE */ rlwinm r0, r3, 0x10, 0x1b, 0x1f -/* 062D64 80068304 2C000004 */ cmpwi r0, 4 -/* 062D68 80068308 40800058 */ bge lbl_80068360 -/* 062D6C 8006830C 2C000000 */ cmpwi r0, 0 -/* 062D70 80068310 40800008 */ bge lbl_80068318 -/* 062D74 80068314 4800004C */ b lbl_80068360 -lbl_80068318: -/* 062D78 80068318 38A00457 */ li r5, 0x457 -/* 062D7C 8006831C 48000044 */ b lbl_80068360 -.global lbl_80068320 -lbl_80068320: -/* 062D80 80068320 54605EFE */ rlwinm r0, r3, 0xb, 0x1b, 0x1f -/* 062D84 80068324 28000008 */ cmplwi r0, 8 -/* 062D88 80068328 40820038 */ bne lbl_80068360 -/* 062D8C 8006832C 546086FE */ rlwinm r0, r3, 0x10, 0x1b, 0x1f -/* 062D90 80068330 2C000004 */ cmpwi r0, 4 -/* 062D94 80068334 4080002C */ bge lbl_80068360 -/* 062D98 80068338 2C000000 */ cmpwi r0, 0 -/* 062D9C 8006833C 40800008 */ bge lbl_80068344 -/* 062DA0 80068340 48000020 */ b lbl_80068360 -lbl_80068344: -/* 062DA4 80068344 38A00457 */ li r5, 0x457 -/* 062DA8 80068348 48000018 */ b lbl_80068360 -.global lbl_8006834C -lbl_8006834C: -/* 062DAC 8006834C 38A00D05 */ li r5, 0xd05 -/* 062DB0 80068350 48000010 */ b lbl_80068360 -.global lbl_80068354 -lbl_80068354: -/* 062DB4 80068354 38A008AE */ li r5, 0x8ae -/* 062DB8 80068358 48000008 */ b lbl_80068360 -.global lbl_8006835C -lbl_8006835C: -/* 062DBC 8006835C 38A00457 */ li r5, 0x457 -.global lbl_80068360 -lbl_80068360: -/* 062DC0 80068360 7CA32B78 */ mr r3, r5 -/* 062DC4 80068364 4E800020 */ blr - -.section .data - -jtbl_800ED4B0: - .word lbl_800682F0 - .word lbl_80068360 - .word lbl_80068360 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_80068360 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_80068360 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_800682F0 - .word lbl_80068360 - -jtbl_800ED514: - .word lbl_80068270 - .word lbl_8006829C - .word lbl_8006834C - .word lbl_80068354 - .word lbl_8006835C - .word lbl_8006835C - .word lbl_8006835C - .word lbl_8006835C - .word lbl_80068360 - .word lbl_80068360 - .word lbl_80068360 - .word lbl_80068360 - .word lbl_80068360 - .word lbl_80068360 - .word lbl_80068360 - .word lbl_80068360 - .word lbl_800682CC - .word lbl_80068320 - .word lbl_80068360 - .word lbl_80068360 - .word lbl_8006835C - .word lbl_8006835C - .word lbl_8006835C - .word lbl_8006835C diff --git a/asm/non_matchings/cpu/cpuCompile_CEIL_W.s b/asm/non_matchings/cpu/cpuCompile_CEIL_W.s deleted file mode 100644 index 0f6e5cc6..00000000 --- a/asm/non_matchings/cpu/cpuCompile_CEIL_W.s +++ /dev/null @@ -1,114 +0,0 @@ -glabel cpuCompile_CEIL_W -/* 0640A4 80069644 7C0802A6 */ mflr r0 -/* 0640A8 80069648 90010004 */ stw r0, 4(r1) -/* 0640AC 8006964C 3800000D */ li r0, 0xd -/* 0640B0 80069650 5400103A */ slwi r0, r0, 2 -/* 0640B4 80069654 9421FFE0 */ stwu r1, -0x20(r1) -/* 0640B8 80069658 93E1001C */ stw r31, 0x1c(r1) -/* 0640BC 8006965C 3BE40000 */ addi r31, r4, 0 -/* 0640C0 80069660 64043000 */ oris r4, r0, 0x3000 -/* 0640C4 80069664 93C10018 */ stw r30, 0x18(r1) -/* 0640C8 80069668 3BC30000 */ addi r30, r3, 0 -/* 0640CC 8006966C 38610010 */ addi r3, r1, 0x10 -/* 0640D0 80069670 4BF9DB45 */ bl xlHeapTake -/* 0640D4 80069674 2C030000 */ cmpwi r3, 0 -/* 0640D8 80069678 4082000C */ bne lbl_80069684 -/* 0640DC 8006967C 38600000 */ li r3, 0 -/* 0640E0 80069680 48000168 */ b lbl_800697E8 -lbl_80069684: -/* 0640E4 80069684 80010010 */ lwz r0, 0x10(r1) -/* 0640E8 80069688 3CC09422 */ lis r6, 0x9422 -/* 0640EC 8006968C 38600000 */ li r3, 0 -/* 0640F0 80069690 901F0000 */ stw r0, 0(r31) -/* 0640F4 80069694 381E0140 */ addi r0, r30, 0x140 -/* 0640F8 80069698 7C1E0050 */ subf r0, r30, r0 -/* 0640FC 8006969C 80A10010 */ lwz r5, 0x10(r1) -/* 064100 800696A0 5404043E */ clrlwi r4, r0, 0x10 -/* 064104 800696A4 38C6FFE0 */ addi r6, r6, -32 -/* 064108 800696A8 5460103A */ slwi r0, r3, 2 -/* 06410C 800696AC 7CC5012E */ stwx r6, r5, r0 -/* 064110 800696B0 38000001 */ li r0, 1 -/* 064114 800696B4 3CA0FC01 */ lis r5, 0xfc01 -/* 064118 800696B8 80610010 */ lwz r3, 0x10(r1) -/* 06411C 800696BC 3C84C803 */ addis r4, r4, 0xc803 -/* 064120 800696C0 5400103A */ slwi r0, r0, 2 -/* 064124 800696C4 7C83012E */ stwx r4, r3, r0 -/* 064128 800696C8 38000002 */ li r0, 2 -/* 06412C 800696CC 3C804081 */ lis r4, 0x4081 -/* 064130 800696D0 80610010 */ lwz r3, 0x10(r1) -/* 064134 800696D4 38A50040 */ addi r5, r5, 0x40 -/* 064138 800696D8 5400103A */ slwi r0, r0, 2 -/* 06413C 800696DC 7CA3012E */ stwx r5, r3, r0 -/* 064140 800696E0 38000003 */ li r0, 3 -/* 064144 800696E4 3D0038C0 */ lis r8, 0x38c0 -/* 064148 800696E8 80610010 */ lwz r3, 0x10(r1) -/* 06414C 800696EC 3884000C */ addi r4, r4, 0xc -/* 064150 800696F0 5400103A */ slwi r0, r0, 2 -/* 064154 800696F4 7C83012E */ stwx r4, r3, r0 -/* 064158 800696F8 38000004 */ li r0, 4 -/* 06415C 800696FC 3CA04280 */ lis r5, 0x4280 -/* 064160 80069700 80610010 */ lwz r3, 0x10(r1) -/* 064164 80069704 38880001 */ addi r4, r8, 1 -/* 064168 80069708 5400103A */ slwi r0, r0, 2 -/* 06416C 8006970C 7C83012E */ stwx r4, r3, r0 -/* 064170 80069710 38600005 */ li r3, 5 -/* 064174 80069714 38000006 */ li r0, 6 -/* 064178 80069718 80810010 */ lwz r4, 0x10(r1) -/* 06417C 8006971C 38A50008 */ addi r5, r5, 8 -/* 064180 80069720 5463103A */ slwi r3, r3, 2 -/* 064184 80069724 7CA4192E */ stwx r5, r4, r3 -/* 064188 80069728 3CE0FC20 */ lis r7, 0xfc20 -/* 06418C 8006972C 38600007 */ li r3, 7 -/* 064190 80069730 80810010 */ lwz r4, 0x10(r1) -/* 064194 80069734 5400103A */ slwi r0, r0, 2 -/* 064198 80069738 3CC0D821 */ lis r6, 0xd821 -/* 06419C 8006973C 7D04012E */ stwx r8, r4, r0 -/* 0641A0 80069740 38000008 */ li r0, 8 -/* 0641A4 80069744 3CA080A1 */ lis r5, 0x80a1 -/* 0641A8 80069748 80810010 */ lwz r4, 0x10(r1) -/* 0641AC 8006974C 38E7081E */ addi r7, r7, 0x81e -/* 0641B0 80069750 5463103A */ slwi r3, r3, 2 -/* 0641B4 80069754 7CE4192E */ stwx r7, r4, r3 -/* 0641B8 80069758 38600009 */ li r3, 9 -/* 0641BC 8006975C 3CE07CA6 */ lis r7, 0x7ca6 -/* 0641C0 80069760 80810010 */ lwz r4, 0x10(r1) -/* 0641C4 80069764 38C60010 */ addi r6, r6, 0x10 -/* 0641C8 80069768 5400103A */ slwi r0, r0, 2 -/* 0641CC 8006976C 7CC4012E */ stwx r6, r4, r0 -/* 0641D0 80069770 3800000A */ li r0, 0xa -/* 0641D4 80069774 3CC03821 */ lis r6, 0x3821 -/* 0641D8 80069778 80810010 */ lwz r4, 0x10(r1) -/* 0641DC 8006977C 38A50014 */ addi r5, r5, 0x14 -/* 0641E0 80069780 5463103A */ slwi r3, r3, 2 -/* 0641E4 80069784 7CA4192E */ stwx r5, r4, r3 -/* 0641E8 80069788 3880000B */ li r4, 0xb -/* 0641EC 8006978C 3C604E80 */ lis r3, 0x4e80 -/* 0641F0 80069790 80A10010 */ lwz r5, 0x10(r1) -/* 0641F4 80069794 38E72A14 */ addi r7, r7, 0x2a14 -/* 0641F8 80069798 5400103A */ slwi r0, r0, 2 -/* 0641FC 8006979C 7CE5012E */ stwx r7, r5, r0 -/* 064200 800697A0 3800000C */ li r0, 0xc -/* 064204 800697A4 38E0000D */ li r7, 0xd -/* 064208 800697A8 80A10010 */ lwz r5, 0x10(r1) -/* 06420C 800697AC 38C60020 */ addi r6, r6, 0x20 -/* 064210 800697B0 5484103A */ slwi r4, r4, 2 -/* 064214 800697B4 7CC5212E */ stwx r6, r5, r4 -/* 064218 800697B8 54FF103A */ slwi r31, r7, 2 -/* 06421C 800697BC 38A30020 */ addi r5, r3, 0x20 -/* 064220 800697C0 80610010 */ lwz r3, 0x10(r1) -/* 064224 800697C4 5400103A */ slwi r0, r0, 2 -/* 064228 800697C8 389F0000 */ addi r4, r31, 0 -/* 06422C 800697CC 7CA3012E */ stwx r5, r3, r0 -/* 064230 800697D0 80610010 */ lwz r3, 0x10(r1) -/* 064234 800697D4 48033FD9 */ bl DCStoreRange -/* 064238 800697D8 80610010 */ lwz r3, 0x10(r1) -/* 06423C 800697DC 7FE4FB78 */ mr r4, r31 -/* 064240 800697E0 48034055 */ bl ICInvalidateRange -/* 064244 800697E4 38600001 */ li r3, 1 -lbl_800697E8: -/* 064248 800697E8 80010024 */ lwz r0, 0x24(r1) -/* 06424C 800697EC 83E1001C */ lwz r31, 0x1c(r1) -/* 064250 800697F0 83C10018 */ lwz r30, 0x18(r1) -/* 064254 800697F4 7C0803A6 */ mtlr r0 -/* 064258 800697F8 38210020 */ addi r1, r1, 0x20 -/* 06425C 800697FC 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_DDIV.s b/asm/non_matchings/cpu/cpuCompile_DDIV.s deleted file mode 100644 index 15bde33c..00000000 --- a/asm/non_matchings/cpu/cpuCompile_DDIV.s +++ /dev/null @@ -1,370 +0,0 @@ -glabel cpuCompile_DDIV -/* 065520 8006AAC0 7C0802A6 */ mflr r0 -/* 065524 8006AAC4 90010004 */ stw r0, 4(r1) -/* 065528 8006AAC8 38000040 */ li r0, 0x40 -/* 06552C 8006AACC 5400103A */ slwi r0, r0, 2 -/* 065530 8006AAD0 9421FFA8 */ stwu r1, -0x58(r1) -/* 065534 8006AAD4 BE010018 */ stmw r16, 0x18(r1) -/* 065538 8006AAD8 3BC30000 */ addi r30, r3, 0 -/* 06553C 8006AADC 3A040000 */ addi r16, r4, 0 -/* 065540 8006AAE0 38610010 */ addi r3, r1, 0x10 -/* 065544 8006AAE4 64043000 */ oris r4, r0, 0x3000 -/* 065548 8006AAE8 4BF9C6CD */ bl xlHeapTake -/* 06554C 8006AAEC 2C030000 */ cmpwi r3, 0 -/* 065550 8006AAF0 4082000C */ bne lbl_8006AAFC -/* 065554 8006AAF4 38600000 */ li r3, 0 -/* 065558 8006AAF8 48000570 */ b lbl_8006B068 -lbl_8006AAFC: -/* 06555C 8006AAFC 80010010 */ lwz r0, 0x10(r1) -/* 065560 8006AB00 3D207D29 */ lis r9, 0x7d29 -/* 065564 8006AB04 3CE07D08 */ lis r7, 0x7d08 -/* 065568 8006AB08 90100000 */ stw r0, 0(r16) -/* 06556C 8006AB0C 3E407D6B */ lis r18, 0x7d6b -/* 065570 8006AB10 3C8038A0 */ lis r4, 0x38a0 -/* 065574 8006AB14 38000000 */ li r0, 0 -/* 065578 8006AB18 80610010 */ lwz r3, 0x10(r1) -/* 06557C 8006AB1C 38840040 */ addi r4, r4, 0x40 -/* 065580 8006AB20 5400103A */ slwi r0, r0, 2 -/* 065584 8006AB24 7C83012E */ stwx r4, r3, r0 -/* 065588 8006AB28 38600001 */ li r3, 1 -/* 06558C 8006AB2C 38000002 */ li r0, 2 -/* 065590 8006AB30 80810010 */ lwz r4, 0x10(r1) -/* 065594 8006AB34 5463103A */ slwi r3, r3, 2 -/* 065598 8006AB38 3CA038C0 */ lis r5, 0x38c0 -/* 06559C 8006AB3C 7CA4192E */ stwx r5, r4, r3 -/* 0655A0 8006AB40 3CA03980 */ lis r5, 0x3980 -/* 0655A4 8006AB44 38600003 */ li r3, 3 -/* 0655A8 8006AB48 80810010 */ lwz r4, 0x10(r1) -/* 0655AC 8006AB4C 5400103A */ slwi r0, r0, 2 -/* 0655B0 8006AB50 3CC038E0 */ lis r6, 0x38e0 -/* 0655B4 8006AB54 7CC4012E */ stwx r6, r4, r0 -/* 0655B8 8006AB58 38000004 */ li r0, 4 -/* 0655BC 8006AB5C 3D604080 */ lis r11, 0x4080 -/* 0655C0 8006AB60 80810010 */ lwz r4, 0x10(r1) -/* 0655C4 8006AB64 3BE50001 */ addi r31, r5, 1 -/* 0655C8 8006AB68 5463103A */ slwi r3, r3, 2 -/* 0655CC 8006AB6C 7FE4192E */ stwx r31, r4, r3 -/* 0655D0 8006AB70 38A00005 */ li r5, 5 -/* 0655D4 8006AB74 38800006 */ li r4, 6 -/* 0655D8 8006AB78 80610010 */ lwz r3, 0x10(r1) -/* 0655DC 8006AB7C 5400103A */ slwi r0, r0, 2 -/* 0655E0 8006AB80 3CC02C08 */ lis r6, 0x2c08 -/* 0655E4 8006AB84 7CC3012E */ stwx r6, r3, r0 -/* 0655E8 8006AB88 38600007 */ li r3, 7 -/* 0655EC 8006AB8C 38000008 */ li r0, 8 -/* 0655F0 8006AB90 80C10010 */ lwz r6, 0x10(r1) -/* 0655F4 8006AB94 398B0014 */ addi r12, r11, 0x14 -/* 0655F8 8006AB98 54A5103A */ slwi r5, r5, 2 -/* 0655FC 8006AB9C 7D86292E */ stwx r12, r6, r5 -/* 065600 8006ABA0 3A600009 */ li r19, 9 -/* 065604 8006ABA4 3A20000A */ li r17, 0xa -/* 065608 8006ABA8 80A10010 */ lwz r5, 0x10(r1) -/* 06560C 8006ABAC 394948F8 */ addi r10, r9, 0x48f8 -/* 065610 8006ABB0 5484103A */ slwi r4, r4, 2 -/* 065614 8006ABB4 7D45212E */ stwx r10, r5, r4 -/* 065618 8006ABB8 38A0000B */ li r5, 0xb -/* 06561C 8006ABBC 3880000C */ li r4, 0xc -/* 065620 8006ABC0 80C10010 */ lwz r6, 0x10(r1) -/* 065624 8006ABC4 390740F8 */ addi r8, r7, 0x40f8 -/* 065628 8006ABC8 5463103A */ slwi r3, r3, 2 -/* 06562C 8006ABCC 7D06192E */ stwx r8, r6, r3 -/* 065630 8006ABD0 3E007D4A */ lis r16, 0x7d4a -/* 065634 8006ABD4 3860000D */ li r3, 0xd -/* 065638 8006ABD8 82810010 */ lwz r20, 0x10(r1) -/* 06563C 8006ABDC 38C96014 */ addi r6, r9, 0x6014 -/* 065640 8006ABE0 5400103A */ slwi r0, r0, 2 -/* 065644 8006ABE4 7CD4012E */ stwx r6, r20, r0 -/* 065648 8006ABE8 3800000E */ li r0, 0xe -/* 06564C 8006ABEC 3AA73114 */ addi r21, r7, 0x3114 -/* 065650 8006ABF0 82810010 */ lwz r20, 0x10(r1) -/* 065654 8006ABF4 5673103A */ slwi r19, r19, 2 -/* 065658 8006ABF8 5631103A */ slwi r17, r17, 2 -/* 06565C 8006ABFC 7EB4992E */ stwx r21, r20, r19 -/* 065660 8006AC00 3EC02C0A */ lis r22, 0x2c0a -/* 065664 8006AC04 54B4103A */ slwi r20, r5, 2 -/* 065668 8006AC08 82A10010 */ lwz r21, 0x10(r1) -/* 06566C 8006AC0C 3A7258F8 */ addi r19, r18, 0x58f8 -/* 065670 8006AC10 5485103A */ slwi r5, r4, 2 -/* 065674 8006AC14 7ED5892E */ stwx r22, r21, r17 -/* 065678 8006AC18 3A3050F8 */ addi r17, r16, 0x50f8 -/* 06567C 8006AC1C 5463103A */ slwi r3, r3, 2 -/* 065680 8006AC20 82A10010 */ lwz r21, 0x10(r1) -/* 065684 8006AC24 38926014 */ addi r4, r18, 0x6014 -/* 065688 8006AC28 5400103A */ slwi r0, r0, 2 -/* 06568C 8006AC2C 7D95A12E */ stwx r12, r21, r20 -/* 065690 8006AC30 82410010 */ lwz r18, 0x10(r1) -/* 065694 8006AC34 7E72292E */ stwx r19, r18, r5 -/* 065698 8006AC38 80A10010 */ lwz r5, 0x10(r1) -/* 06569C 8006AC3C 7E25192E */ stwx r17, r5, r3 -/* 0656A0 8006AC40 80610010 */ lwz r3, 0x10(r1) -/* 0656A4 8006AC44 7C83012E */ stwx r4, r3, r0 -/* 0656A8 8006AC48 3800000F */ li r0, 0xf -/* 0656AC 8006AC4C 80610010 */ lwz r3, 0x10(r1) -/* 0656B0 8006AC50 38903114 */ addi r4, r16, 0x3114 -/* 0656B4 8006AC54 5400103A */ slwi r0, r0, 2 -/* 0656B8 8006AC58 7C83012E */ stwx r4, r3, r0 -/* 0656BC 8006AC5C 3C803D81 */ lis r4, 0x3d81 -/* 0656C0 8006AC60 38000010 */ li r0, 0x10 -/* 0656C4 8006AC64 80610010 */ lwz r3, 0x10(r1) -/* 0656C8 8006AC68 3884FFFF */ addi r4, r4, -1 -/* 0656CC 8006AC6C 5400103A */ slwi r0, r0, 2 -/* 0656D0 8006AC70 7C83012E */ stwx r4, r3, r0 -/* 0656D4 8006AC74 3C80618D */ lis r4, 0x618d -/* 0656D8 8006AC78 38000011 */ li r0, 0x11 -/* 0656DC 8006AC7C 80610010 */ lwz r3, 0x10(r1) -/* 0656E0 8006AC80 3884FFFE */ addi r4, r4, -2 -/* 0656E4 8006AC84 5400103A */ slwi r0, r0, 2 -/* 0656E8 8006AC88 7C83012E */ stwx r4, r3, r0 -/* 0656EC 8006AC8C 38000012 */ li r0, 0x12 -/* 0656F0 8006AC90 3C804180 */ lis r4, 0x4180 -/* 0656F4 8006AC94 80610010 */ lwz r3, 0x10(r1) -/* 0656F8 8006AC98 5400103A */ slwi r0, r0, 2 -/* 0656FC 8006AC9C 3CA02C06 */ lis r5, 0x2c06 -/* 065700 8006ACA0 7CA3012E */ stwx r5, r3, r0 -/* 065704 8006ACA4 38000013 */ li r0, 0x13 -/* 065708 8006ACA8 3E0054C6 */ lis r16, 0x54c6 -/* 06570C 8006ACAC 80610010 */ lwz r3, 0x10(r1) -/* 065710 8006ACB0 3A24002C */ addi r17, r4, 0x2c -/* 065714 8006ACB4 5400103A */ slwi r0, r0, 2 -/* 065718 8006ACB8 7E23012E */ stwx r17, r3, r0 -/* 06571C 8006ACBC 38000014 */ li r0, 0x14 -/* 065720 8006ACC0 3E2050E6 */ lis r17, 0x50e6 -/* 065724 8006ACC4 80610010 */ lwz r3, 0x10(r1) -/* 065728 8006ACC8 3A70083C */ addi r19, r16, 0x83c -/* 06572C 8006ACCC 5400103A */ slwi r0, r0, 2 -/* 065730 8006ACD0 7E63012E */ stwx r19, r3, r0 -/* 065734 8006ACD4 38600015 */ li r3, 0x15 -/* 065738 8006ACD8 3E4054E7 */ lis r18, 0x54e7 -/* 06573C 8006ACDC 82010010 */ lwz r16, 0x10(r1) -/* 065740 8006ACE0 38110FFE */ addi r0, r17, 0xffe -/* 065744 8006ACE4 5463103A */ slwi r3, r3, 2 -/* 065748 8006ACE8 7C10192E */ stwx r0, r16, r3 -/* 06574C 8006ACEC 38600016 */ li r3, 0x16 -/* 065750 8006ACF0 3E205107 */ lis r17, 0x5107 -/* 065754 8006ACF4 82010010 */ lwz r16, 0x10(r1) -/* 065758 8006ACF8 3A52083C */ addi r18, r18, 0x83c -/* 06575C 8006ACFC 5463103A */ slwi r3, r3, 2 -/* 065760 8006AD00 7E50192E */ stwx r18, r16, r3 -/* 065764 8006AD04 38600017 */ li r3, 0x17 -/* 065768 8006AD08 3E805508 */ lis r20, 0x5508 -/* 06576C 8006AD0C 82010010 */ lwz r16, 0x10(r1) -/* 065770 8006AD10 3AB10FFE */ addi r21, r17, 0xffe -/* 065774 8006AD14 5463103A */ slwi r3, r3, 2 -/* 065778 8006AD18 7EB0192E */ stwx r21, r16, r3 -/* 06577C 8006AD1C 38600018 */ li r3, 0x18 -/* 065780 8006AD20 3E205128 */ lis r17, 0x5128 -/* 065784 8006AD24 82010010 */ lwz r16, 0x10(r1) -/* 065788 8006AD28 3B14083C */ addi r24, r20, 0x83c -/* 06578C 8006AD2C 5463103A */ slwi r3, r3, 2 -/* 065790 8006AD30 7F10192E */ stwx r24, r16, r3 -/* 065794 8006AD34 38600019 */ li r3, 0x19 -/* 065798 8006AD38 3E005529 */ lis r16, 0x5529 -/* 06579C 8006AD3C 82810010 */ lwz r20, 0x10(r1) -/* 0657A0 8006AD40 3A310FFE */ addi r17, r17, 0xffe -/* 0657A4 8006AD44 5463103A */ slwi r3, r3, 2 -/* 0657A8 8006AD48 7E34192E */ stwx r17, r20, r3 -/* 0657AC 8006AD4C 3860001A */ li r3, 0x1a -/* 0657B0 8006AD50 3EC07CEB */ lis r22, 0x7ceb -/* 0657B4 8006AD54 82810010 */ lwz r20, 0x10(r1) -/* 0657B8 8006AD58 3A10083C */ addi r16, r16, 0x83c -/* 0657BC 8006AD5C 5463103A */ slwi r3, r3, 2 -/* 0657C0 8006AD60 7E14192E */ stwx r16, r20, r3 -/* 0657C4 8006AD64 3860001B */ li r3, 0x1b -/* 0657C8 8006AD68 3EE07CCA */ lis r23, 0x7cca -/* 0657CC 8006AD6C 82810010 */ lwz r20, 0x10(r1) -/* 0657D0 8006AD70 3AD63810 */ addi r22, r22, 0x3810 -/* 0657D4 8006AD74 5463103A */ slwi r3, r3, 2 -/* 0657D8 8006AD78 7ED4192E */ stwx r22, r20, r3 -/* 0657DC 8006AD7C 3A80001C */ li r20, 0x1c -/* 0657E0 8006AD80 3C604280 */ lis r3, 0x4280 -/* 0657E4 8006AD84 82C10010 */ lwz r22, 0x10(r1) -/* 0657E8 8006AD88 3AF73110 */ addi r23, r23, 0x3110 -/* 0657EC 8006AD8C 5694103A */ slwi r20, r20, 2 -/* 0657F0 8006AD90 7EF6A12E */ stwx r23, r22, r20 -/* 0657F4 8006AD94 3A80001D */ li r20, 0x1d -/* 0657F8 8006AD98 3AE30028 */ addi r23, r3, 0x28 -/* 0657FC 8006AD9C 82C10010 */ lwz r22, 0x10(r1) -/* 065800 8006ADA0 5694103A */ slwi r20, r20, 2 -/* 065804 8006ADA4 7EF6A12E */ stwx r23, r22, r20 -/* 065808 8006ADA8 3A80001E */ li r20, 0x1e -/* 06580C 8006ADAC 82C10010 */ lwz r22, 0x10(r1) -/* 065810 8006ADB0 5694103A */ slwi r20, r20, 2 -/* 065814 8006ADB4 7E76A12E */ stwx r19, r22, r20 -/* 065818 8006ADB8 3A80001F */ li r20, 0x1f -/* 06581C 8006ADBC 3A600020 */ li r19, 0x20 -/* 065820 8006ADC0 82E10010 */ lwz r23, 0x10(r1) -/* 065824 8006ADC4 5696103A */ slwi r22, r20, 2 -/* 065828 8006ADC8 3A800021 */ li r20, 0x21 -/* 06582C 8006ADCC 7C17B12E */ stwx r0, r23, r22 -/* 065830 8006ADD0 3AE00022 */ li r23, 0x22 -/* 065834 8006ADD4 3B400023 */ li r26, 0x23 -/* 065838 8006ADD8 82C10010 */ lwz r22, 0x10(r1) -/* 06583C 8006ADDC 5673103A */ slwi r19, r19, 2 -/* 065840 8006ADE0 38000024 */ li r0, 0x24 -/* 065844 8006ADE4 7E56992E */ stwx r18, r22, r19 -/* 065848 8006ADE8 3E407CE7 */ lis r18, 0x7ce7 -/* 06584C 8006ADEC 3A600025 */ li r19, 0x25 -/* 065850 8006ADF0 83210010 */ lwz r25, 0x10(r1) -/* 065854 8006ADF4 5696103A */ slwi r22, r20, 2 -/* 065858 8006ADF8 3E807CC6 */ lis r20, 0x7cc6 -/* 06585C 8006ADFC 7EB9B12E */ stwx r21, r25, r22 -/* 065860 8006AE00 3AC00026 */ li r22, 0x26 -/* 065864 8006AE04 3AA00027 */ li r21, 0x27 -/* 065868 8006AE08 83610010 */ lwz r27, 0x10(r1) -/* 06586C 8006AE0C 56F9103A */ slwi r25, r23, 2 -/* 065870 8006AE10 3AE00028 */ li r23, 0x28 -/* 065874 8006AE14 7F1BC92E */ stwx r24, r27, r25 -/* 065878 8006AE18 3F006129 */ lis r24, 0x6129 -/* 06587C 8006AE1C 3B200029 */ li r25, 0x29 -/* 065880 8006AE20 83810010 */ lwz r28, 0x10(r1) -/* 065884 8006AE24 575B103A */ slwi r27, r26, 2 -/* 065888 8006AE28 3B40002A */ li r26, 0x2a -/* 06588C 8006AE2C 7E3CD92E */ stwx r17, r28, r27 -/* 065890 8006AE30 3B60002B */ li r27, 0x2b -/* 065894 8006AE34 3F8038A6 */ lis r28, 0x38a6 -/* 065898 8006AE38 82210010 */ lwz r17, 0x10(r1) -/* 06589C 8006AE3C 5400103A */ slwi r0, r0, 2 -/* 0658A0 8006AE40 3BA0002C */ li r29, 0x2c -/* 0658A4 8006AE44 7E11012E */ stwx r16, r17, r0 -/* 0658A8 8006AE48 38125814 */ addi r0, r18, 0x5814 -/* 0658AC 8006AE4C 5671103A */ slwi r17, r19, 2 -/* 0658B0 8006AE50 82410010 */ lwz r18, 0x10(r1) -/* 0658B4 8006AE54 3A945114 */ addi r20, r20, 0x5114 -/* 0658B8 8006AE58 56D0103A */ slwi r16, r22, 2 -/* 0658BC 8006AE5C 7C12892E */ stwx r0, r18, r17 -/* 0658C0 8006AE60 56B5103A */ slwi r21, r21, 2 -/* 0658C4 8006AE64 3AC4000C */ addi r22, r4, 0xc -/* 0658C8 8006AE68 82210010 */ lwz r17, 0x10(r1) -/* 0658CC 8006AE6C 56F7103A */ slwi r23, r23, 2 -/* 0658D0 8006AE70 38980001 */ addi r4, r24, 1 -/* 0658D4 8006AE74 7E91812E */ stwx r20, r17, r16 -/* 0658D8 8006AE78 5738103A */ slwi r24, r25, 2 -/* 0658DC 8006AE7C 3A630008 */ addi r19, r3, 8 -/* 0658E0 8006AE80 80610010 */ lwz r3, 0x10(r1) -/* 0658E4 8006AE84 5752103A */ slwi r18, r26, 2 -/* 0658E8 8006AE88 3A296038 */ addi r17, r9, 0x6038 -/* 0658EC 8006AE8C 7CA3A92E */ stwx r5, r3, r21 -/* 0658F0 8006AE90 5770103A */ slwi r16, r27, 2 -/* 0658F4 8006AE94 393CFFFF */ addi r9, r28, -1 -/* 0658F8 8006AE98 82A10010 */ lwz r21, 0x10(r1) -/* 0658FC 8006AE9C 57A3103A */ slwi r3, r29, 2 -/* 065900 8006AEA0 7ED5B92E */ stwx r22, r21, r23 -/* 065904 8006AEA4 82A10010 */ lwz r21, 0x10(r1) -/* 065908 8006AEA8 7C95C12E */ stwx r4, r21, r24 -/* 06590C 8006AEAC 80810010 */ lwz r4, 0x10(r1) -/* 065910 8006AEB0 7E64912E */ stwx r19, r4, r18 -/* 065914 8006AEB4 80810010 */ lwz r4, 0x10(r1) -/* 065918 8006AEB8 7E24812E */ stwx r17, r4, r16 -/* 06591C 8006AEBC 80810010 */ lwz r4, 0x10(r1) -/* 065920 8006AEC0 7D24192E */ stwx r9, r4, r3 -/* 065924 8006AEC4 3860002D */ li r3, 0x2d -/* 065928 8006AEC8 80810010 */ lwz r4, 0x10(r1) -/* 06592C 8006AECC 5463103A */ slwi r3, r3, 2 -/* 065930 8006AED0 3D202C05 */ lis r9, 0x2c05 -/* 065934 8006AED4 7D24192E */ stwx r9, r4, r3 -/* 065938 8006AED8 3D204083 */ lis r9, 0x4083 -/* 06593C 8006AEDC 3860002E */ li r3, 0x2e -/* 065940 8006AEE0 80810010 */ lwz r4, 0x10(r1) -/* 065944 8006AEE4 3929FF90 */ addi r9, r9, -112 -/* 065948 8006AEE8 5463103A */ slwi r3, r3, 2 -/* 06594C 8006AEEC 7D24192E */ stwx r9, r4, r3 -/* 065950 8006AEF0 3860002F */ li r3, 0x2f -/* 065954 8006AEF4 39200030 */ li r9, 0x30 -/* 065958 8006AEF8 82010010 */ lwz r16, 0x10(r1) -/* 06595C 8006AEFC 5463103A */ slwi r3, r3, 2 -/* 065960 8006AF00 38800031 */ li r4, 0x31 -/* 065964 8006AF04 7CB0192E */ stwx r5, r16, r3 -/* 065968 8006AF08 3A000032 */ li r16, 0x32 -/* 06596C 8006AF0C 38600033 */ li r3, 0x33 -/* 065970 8006AF10 82210010 */ lwz r17, 0x10(r1) -/* 065974 8006AF14 396B000C */ addi r11, r11, 0xc -/* 065978 8006AF18 5525103A */ slwi r5, r9, 2 -/* 06597C 8006AF1C 7D71292E */ stwx r11, r17, r5 -/* 065980 8006AF20 3E407DCE */ lis r18, 0x7dce -/* 065984 8006AF24 39600034 */ li r11, 0x34 -/* 065988 8006AF28 81210010 */ lwz r9, 0x10(r1) -/* 06598C 8006AF2C 5485103A */ slwi r5, r4, 2 -/* 065990 8006AF30 38800035 */ li r4, 0x35 -/* 065994 8006AF34 7C09292E */ stwx r0, r9, r5 -/* 065998 8006AF38 39200036 */ li r9, 0x36 -/* 06599C 8006AF3C 38A00037 */ li r5, 0x37 -/* 0659A0 8006AF40 82210010 */ lwz r17, 0x10(r1) -/* 0659A4 8006AF44 5600103A */ slwi r0, r16, 2 -/* 0659A8 8006AF48 3A000038 */ li r16, 0x38 -/* 0659AC 8006AF4C 7E91012E */ stwx r20, r17, r0 -/* 0659B0 8006AF50 3AC00039 */ li r22, 0x39 -/* 0659B4 8006AF54 3AA0003A */ li r21, 0x3a -/* 0659B8 8006AF58 82210010 */ lwz r17, 0x10(r1) -/* 0659BC 8006AF5C 5463103A */ slwi r3, r3, 2 -/* 0659C0 8006AF60 381E0010 */ addi r0, r30, 0x10 -/* 0659C4 8006AF64 7FF1192E */ stwx r31, r17, r3 -/* 0659C8 8006AF68 7C7E0050 */ subf r3, r30, r0 -/* 0659CC 8006AF6C 3A80003B */ li r20, 0x3b -/* 0659D0 8006AF70 82210010 */ lwz r17, 0x10(r1) -/* 0659D4 8006AF74 3A527A78 */ addi r18, r18, 0x7a78 -/* 0659D8 8006AF78 5560103A */ slwi r0, r11, 2 -/* 0659DC 8006AF7C 7E51012E */ stwx r18, r17, r0 -/* 0659E0 8006AF80 3E639123 */ addis r19, r3, 0x9123 -/* 0659E4 8006AF84 3A40003C */ li r18, 0x3c -/* 0659E8 8006AF88 81610010 */ lwz r11, 0x10(r1) -/* 0659EC 8006AF8C 5480103A */ slwi r0, r4, 2 -/* 0659F0 8006AF90 3C802C0E */ lis r4, 0x2c0e -/* 0659F4 8006AF94 7C8B012E */ stwx r4, r11, r0 -/* 0659F8 8006AF98 381E0018 */ addi r0, r30, 0x18 -/* 0659FC 8006AF9C 7C9E0050 */ subf r4, r30, r0 -/* 065A00 8006AFA0 81610010 */ lwz r11, 0x10(r1) -/* 065A04 8006AFA4 5520103A */ slwi r0, r9, 2 -/* 065A08 8006AFA8 3A20003D */ li r17, 0x3d -/* 065A0C 8006AFAC 7D8B012E */ stwx r12, r11, r0 -/* 065A10 8006AFB0 3D6490E3 */ addis r11, r4, 0x90e3 -/* 065A14 8006AFB4 3920003E */ li r9, 0x3e -/* 065A18 8006AFB8 81810010 */ lwz r12, 0x10(r1) -/* 065A1C 8006AFBC 54A0103A */ slwi r0, r5, 2 -/* 065A20 8006AFC0 3CA04E80 */ lis r5, 0x4e80 -/* 065A24 8006AFC4 7D4C012E */ stwx r10, r12, r0 -/* 065A28 8006AFC8 3800003F */ li r0, 0x3f -/* 065A2C 8006AFCC 3AE00040 */ li r23, 0x40 -/* 065A30 8006AFD0 81810010 */ lwz r12, 0x10(r1) -/* 065A34 8006AFD4 560A103A */ slwi r10, r16, 2 -/* 065A38 8006AFD8 56F0103A */ slwi r16, r23, 2 -/* 065A3C 8006AFDC 7D0C512E */ stwx r8, r12, r10 -/* 065A40 8006AFE0 56C8103A */ slwi r8, r22, 2 -/* 065A44 8006AFE4 3AC72914 */ addi r22, r7, 0x2914 -/* 065A48 8006AFE8 81410010 */ lwz r10, 0x10(r1) -/* 065A4C 8006AFEC 56A7103A */ slwi r7, r21, 2 -/* 065A50 8006AFF0 3EA39103 */ addis r21, r3, 0x9103 -/* 065A54 8006AFF4 7CCA412E */ stwx r6, r10, r8 -/* 065A58 8006AFF8 5694103A */ slwi r20, r20, 2 -/* 065A5C 8006AFFC 39930004 */ addi r12, r19, 4 -/* 065A60 8006B000 80610010 */ lwz r3, 0x10(r1) -/* 065A64 8006B004 5648103A */ slwi r8, r18, 2 -/* 065A68 8006B008 3D4490C3 */ addis r10, r4, 0x90c3 -/* 065A6C 8006B00C 7EC3392E */ stwx r22, r3, r7 -/* 065A70 8006B010 5626103A */ slwi r6, r17, 2 -/* 065A74 8006B014 38EB0004 */ addi r7, r11, 4 -/* 065A78 8006B018 80810010 */ lwz r4, 0x10(r1) -/* 065A7C 8006B01C 5523103A */ slwi r3, r9, 2 -/* 065A80 8006B020 38A50020 */ addi r5, r5, 0x20 -/* 065A84 8006B024 7EA4A12E */ stwx r21, r4, r20 -/* 065A88 8006B028 5400103A */ slwi r0, r0, 2 -/* 065A8C 8006B02C 38900000 */ addi r4, r16, 0 -/* 065A90 8006B030 81210010 */ lwz r9, 0x10(r1) -/* 065A94 8006B034 7D89412E */ stwx r12, r9, r8 -/* 065A98 8006B038 81010010 */ lwz r8, 0x10(r1) -/* 065A9C 8006B03C 7D48312E */ stwx r10, r8, r6 -/* 065AA0 8006B040 80C10010 */ lwz r6, 0x10(r1) -/* 065AA4 8006B044 7CE6192E */ stwx r7, r6, r3 -/* 065AA8 8006B048 80610010 */ lwz r3, 0x10(r1) -/* 065AAC 8006B04C 7CA3012E */ stwx r5, r3, r0 -/* 065AB0 8006B050 80610010 */ lwz r3, 0x10(r1) -/* 065AB4 8006B054 48032759 */ bl DCStoreRange -/* 065AB8 8006B058 80610010 */ lwz r3, 0x10(r1) -/* 065ABC 8006B05C 7E048378 */ mr r4, r16 -/* 065AC0 8006B060 480327D5 */ bl ICInvalidateRange -/* 065AC4 8006B064 38600001 */ li r3, 1 -lbl_8006B068: -/* 065AC8 8006B068 BA010018 */ lmw r16, 0x18(r1) -/* 065ACC 8006B06C 8001005C */ lwz r0, 0x5c(r1) -/* 065AD0 8006B070 38210058 */ addi r1, r1, 0x58 -/* 065AD4 8006B074 7C0803A6 */ mtlr r0 -/* 065AD8 8006B078 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_DDIVU.s b/asm/non_matchings/cpu/cpuCompile_DDIVU.s deleted file mode 100644 index eabae6f0..00000000 --- a/asm/non_matchings/cpu/cpuCompile_DDIVU.s +++ /dev/null @@ -1,266 +0,0 @@ -glabel cpuCompile_DDIVU -/* 065104 8006A6A4 7C0802A6 */ mflr r0 -/* 065108 8006A6A8 90010004 */ stw r0, 4(r1) -/* 06510C 8006A6AC 3800002B */ li r0, 0x2b -/* 065110 8006A6B0 5400103A */ slwi r0, r0, 2 -/* 065114 8006A6B4 9421FFC8 */ stwu r1, -0x38(r1) -/* 065118 8006A6B8 BF010018 */ stmw r24, 0x18(r1) -/* 06511C 8006A6BC 3BE30000 */ addi r31, r3, 0 -/* 065120 8006A6C0 3B040000 */ addi r24, r4, 0 -/* 065124 8006A6C4 38610010 */ addi r3, r1, 0x10 -/* 065128 8006A6C8 64043000 */ oris r4, r0, 0x3000 -/* 06512C 8006A6CC 4BF9CAE9 */ bl xlHeapTake -/* 065130 8006A6D0 2C030000 */ cmpwi r3, 0 -/* 065134 8006A6D4 4082000C */ bne lbl_8006A6E0 -/* 065138 8006A6D8 38600000 */ li r3, 0 -/* 06513C 8006A6DC 480003D0 */ b lbl_8006AAAC -lbl_8006A6E0: -/* 065140 8006A6E0 80610010 */ lwz r3, 0x10(r1) -/* 065144 8006A6E4 3CC038A0 */ lis r6, 0x38a0 -/* 065148 8006A6E8 38000000 */ li r0, 0 -/* 06514C 8006A6EC 90780000 */ stw r3, 0(r24) -/* 065150 8006A6F0 38800001 */ li r4, 1 -/* 065154 8006A6F4 38600002 */ li r3, 2 -/* 065158 8006A6F8 80A10010 */ lwz r5, 0x10(r1) -/* 06515C 8006A6FC 3D003D81 */ lis r8, 0x3d81 -/* 065160 8006A700 38C60040 */ addi r6, r6, 0x40 -/* 065164 8006A704 5400103A */ slwi r0, r0, 2 -/* 065168 8006A708 7CC5012E */ stwx r6, r5, r0 -/* 06516C 8006A70C 38000003 */ li r0, 3 -/* 065170 8006A710 3CE0618D */ lis r7, 0x618d -/* 065174 8006A714 80A10010 */ lwz r5, 0x10(r1) -/* 065178 8006A718 5484103A */ slwi r4, r4, 2 -/* 06517C 8006A71C 3CC038C0 */ lis r6, 0x38c0 -/* 065180 8006A720 7CC5212E */ stwx r6, r5, r4 -/* 065184 8006A724 38A00004 */ li r5, 4 -/* 065188 8006A728 38800005 */ li r4, 5 -/* 06518C 8006A72C 80C10010 */ lwz r6, 0x10(r1) -/* 065190 8006A730 5463103A */ slwi r3, r3, 2 -/* 065194 8006A734 3D2038E0 */ lis r9, 0x38e0 -/* 065198 8006A738 7D26192E */ stwx r9, r6, r3 -/* 06519C 8006A73C 3D404180 */ lis r10, 0x4180 -/* 0651A0 8006A740 38600006 */ li r3, 6 -/* 0651A4 8006A744 80C10010 */ lwz r6, 0x10(r1) -/* 0651A8 8006A748 3908FFFF */ addi r8, r8, -1 -/* 0651AC 8006A74C 5400103A */ slwi r0, r0, 2 -/* 0651B0 8006A750 7D06012E */ stwx r8, r6, r0 -/* 0651B4 8006A754 3D2054C6 */ lis r9, 0x54c6 -/* 0651B8 8006A758 38000007 */ li r0, 7 -/* 0651BC 8006A75C 80C10010 */ lwz r6, 0x10(r1) -/* 0651C0 8006A760 38E7FFFE */ addi r7, r7, -2 -/* 0651C4 8006A764 54A5103A */ slwi r5, r5, 2 -/* 0651C8 8006A768 7CE6292E */ stwx r7, r6, r5 -/* 0651CC 8006A76C 3D0050E6 */ lis r8, 0x50e6 -/* 0651D0 8006A770 39800008 */ li r12, 8 -/* 0651D4 8006A774 80A10010 */ lwz r5, 0x10(r1) -/* 0651D8 8006A778 5484103A */ slwi r4, r4, 2 -/* 0651DC 8006A77C 3D602C06 */ lis r11, 0x2c06 -/* 0651E0 8006A780 7D65212E */ stwx r11, r5, r4 -/* 0651E4 8006A784 3CE054E7 */ lis r7, 0x54e7 -/* 0651E8 8006A788 38A00009 */ li r5, 9 -/* 0651EC 8006A78C 80810010 */ lwz r4, 0x10(r1) -/* 0651F0 8006A790 38CA002C */ addi r6, r10, 0x2c -/* 0651F4 8006A794 5463103A */ slwi r3, r3, 2 -/* 0651F8 8006A798 7CC4192E */ stwx r6, r4, r3 -/* 0651FC 8006A79C 3CC05107 */ lis r6, 0x5107 -/* 065200 8006A7A0 3880000A */ li r4, 0xa -/* 065204 8006A7A4 80610010 */ lwz r3, 0x10(r1) -/* 065208 8006A7A8 3929083C */ addi r9, r9, 0x83c -/* 06520C 8006A7AC 5400103A */ slwi r0, r0, 2 -/* 065210 8006A7B0 7D23012E */ stwx r9, r3, r0 -/* 065214 8006A7B4 3C605508 */ lis r3, 0x5508 -/* 065218 8006A7B8 3800000B */ li r0, 0xb -/* 06521C 8006A7BC 83010010 */ lwz r24, 0x10(r1) -/* 065220 8006A7C0 39080FFE */ addi r8, r8, 0xffe -/* 065224 8006A7C4 558C103A */ slwi r12, r12, 2 -/* 065228 8006A7C8 7D18612E */ stwx r8, r24, r12 -/* 06522C 8006A7CC 3F405128 */ lis r26, 0x5128 -/* 065230 8006A7D0 3B20000C */ li r25, 0xc -/* 065234 8006A7D4 81810010 */ lwz r12, 0x10(r1) -/* 065238 8006A7D8 38E7083C */ addi r7, r7, 0x83c -/* 06523C 8006A7DC 54A5103A */ slwi r5, r5, 2 -/* 065240 8006A7E0 7CEC292E */ stwx r7, r12, r5 -/* 065244 8006A7E4 3CA05529 */ lis r5, 0x5529 -/* 065248 8006A7E8 3B00000D */ li r24, 0xd -/* 06524C 8006A7EC 81810010 */ lwz r12, 0x10(r1) -/* 065250 8006A7F0 38C60FFE */ addi r6, r6, 0xffe -/* 065254 8006A7F4 5484103A */ slwi r4, r4, 2 -/* 065258 8006A7F8 7CCC212E */ stwx r6, r12, r4 -/* 06525C 8006A7FC 3D807CEB */ lis r12, 0x7ceb -/* 065260 8006A800 3880000E */ li r4, 0xe -/* 065264 8006A804 83610010 */ lwz r27, 0x10(r1) -/* 065268 8006A808 3863083C */ addi r3, r3, 0x83c -/* 06526C 8006A80C 5400103A */ slwi r0, r0, 2 -/* 065270 8006A810 7C7B012E */ stwx r3, r27, r0 -/* 065274 8006A814 381A0FFE */ addi r0, r26, 0xffe -/* 065278 8006A818 573A103A */ slwi r26, r25, 2 -/* 06527C 8006A81C 83610010 */ lwz r27, 0x10(r1) -/* 065280 8006A820 38A5083C */ addi r5, r5, 0x83c -/* 065284 8006A824 5719103A */ slwi r25, r24, 2 -/* 065288 8006A828 7C1BD12E */ stwx r0, r27, r26 -/* 06528C 8006A82C 3B0C3810 */ addi r24, r12, 0x3810 -/* 065290 8006A830 5484103A */ slwi r4, r4, 2 -/* 065294 8006A834 81810010 */ lwz r12, 0x10(r1) -/* 065298 8006A838 7CACC92E */ stwx r5, r12, r25 -/* 06529C 8006A83C 81810010 */ lwz r12, 0x10(r1) -/* 0652A0 8006A840 7F0C212E */ stwx r24, r12, r4 -/* 0652A4 8006A844 3D807CCA */ lis r12, 0x7cca -/* 0652A8 8006A848 83010010 */ lwz r24, 0x10(r1) -/* 0652AC 8006A84C 3880000F */ li r4, 0xf -/* 0652B0 8006A850 3B2C3110 */ addi r25, r12, 0x3110 -/* 0652B4 8006A854 548C103A */ slwi r12, r4, 2 -/* 0652B8 8006A858 3C804280 */ lis r4, 0x4280 -/* 0652BC 8006A85C 7F38612E */ stwx r25, r24, r12 -/* 0652C0 8006A860 39800010 */ li r12, 0x10 -/* 0652C4 8006A864 83010010 */ lwz r24, 0x10(r1) -/* 0652C8 8006A868 3B240028 */ addi r25, r4, 0x28 -/* 0652CC 8006A86C 558C103A */ slwi r12, r12, 2 -/* 0652D0 8006A870 7F38612E */ stwx r25, r24, r12 -/* 0652D4 8006A874 39800011 */ li r12, 0x11 -/* 0652D8 8006A878 5599103A */ slwi r25, r12, 2 -/* 0652DC 8006A87C 83410010 */ lwz r26, 0x10(r1) -/* 0652E0 8006A880 3B000012 */ li r24, 0x12 -/* 0652E4 8006A884 39800013 */ li r12, 0x13 -/* 0652E8 8006A888 7D3AC92E */ stwx r9, r26, r25 -/* 0652EC 8006A88C 39200014 */ li r9, 0x14 -/* 0652F0 8006A890 571A103A */ slwi r26, r24, 2 -/* 0652F4 8006A894 83610010 */ lwz r27, 0x10(r1) -/* 0652F8 8006A898 3B000015 */ li r24, 0x15 -/* 0652FC 8006A89C 3B200016 */ li r25, 0x16 -/* 065300 8006A8A0 7D1BD12E */ stwx r8, r27, r26 -/* 065304 8006A8A4 3B400017 */ li r26, 0x17 -/* 065308 8006A8A8 5588103A */ slwi r8, r12, 2 -/* 06530C 8006A8AC 81810010 */ lwz r12, 0x10(r1) -/* 065310 8006A8B0 3F607CE7 */ lis r27, 0x7ce7 -/* 065314 8006A8B4 3B800018 */ li r28, 0x18 -/* 065318 8006A8B8 7CEC412E */ stwx r7, r12, r8 -/* 06531C 8006A8BC 3FA07CC6 */ lis r29, 0x7cc6 -/* 065320 8006A8C0 5527103A */ slwi r7, r9, 2 -/* 065324 8006A8C4 81010010 */ lwz r8, 0x10(r1) -/* 065328 8006A8C8 3BC00019 */ li r30, 0x19 -/* 06532C 8006A8CC 3980001A */ li r12, 0x1a -/* 065330 8006A8D0 7CC8392E */ stwx r6, r8, r7 -/* 065334 8006A8D4 3920001B */ li r9, 0x1b -/* 065338 8006A8D8 5706103A */ slwi r6, r24, 2 -/* 06533C 8006A8DC 83010010 */ lwz r24, 0x10(r1) -/* 065340 8006A8E0 3D006129 */ lis r8, 0x6129 -/* 065344 8006A8E4 38E0001C */ li r7, 0x1c -/* 065348 8006A8E8 7C78312E */ stwx r3, r24, r6 -/* 06534C 8006A8EC 38C0001D */ li r6, 0x1d -/* 065350 8006A8F0 5739103A */ slwi r25, r25, 2 -/* 065354 8006A8F4 83010010 */ lwz r24, 0x10(r1) -/* 065358 8006A8F8 575A103A */ slwi r26, r26, 2 -/* 06535C 8006A8FC 387B5814 */ addi r3, r27, 0x5814 -/* 065360 8006A900 7C18C92E */ stwx r0, r24, r25 -/* 065364 8006A904 579C103A */ slwi r28, r28, 2 -/* 065368 8006A908 381D5114 */ addi r0, r29, 0x5114 -/* 06536C 8006A90C 83610010 */ lwz r27, 0x10(r1) -/* 065370 8006A910 57DE103A */ slwi r30, r30, 2 -/* 065374 8006A914 558C103A */ slwi r12, r12, 2 -/* 065378 8006A918 7CBBD12E */ stwx r5, r27, r26 -/* 06537C 8006A91C 394A000C */ addi r10, r10, 0xc -/* 065380 8006A920 5529103A */ slwi r9, r9, 2 -/* 065384 8006A924 83A10010 */ lwz r29, 0x10(r1) -/* 065388 8006A928 39080001 */ addi r8, r8, 1 -/* 06538C 8006A92C 54E5103A */ slwi r5, r7, 2 -/* 065390 8006A930 7C7DE12E */ stwx r3, r29, r28 -/* 065394 8006A934 38E40008 */ addi r7, r4, 8 -/* 065398 8006A938 54C4103A */ slwi r4, r6, 2 -/* 06539C 8006A93C 80C10010 */ lwz r6, 0x10(r1) -/* 0653A0 8006A940 7C06F12E */ stwx r0, r6, r30 -/* 0653A4 8006A944 80C10010 */ lwz r6, 0x10(r1) -/* 0653A8 8006A948 7D66612E */ stwx r11, r6, r12 -/* 0653AC 8006A94C 80C10010 */ lwz r6, 0x10(r1) -/* 0653B0 8006A950 7D46492E */ stwx r10, r6, r9 -/* 0653B4 8006A954 80C10010 */ lwz r6, 0x10(r1) -/* 0653B8 8006A958 7D06292E */ stwx r8, r6, r5 -/* 0653BC 8006A95C 80A10010 */ lwz r5, 0x10(r1) -/* 0653C0 8006A960 7CE5212E */ stwx r7, r5, r4 -/* 0653C4 8006A964 3CC07D29 */ lis r6, 0x7d29 -/* 0653C8 8006A968 80A10010 */ lwz r5, 0x10(r1) -/* 0653CC 8006A96C 3880001E */ li r4, 0x1e -/* 0653D0 8006A970 38C66038 */ addi r6, r6, 0x6038 -/* 0653D4 8006A974 5484103A */ slwi r4, r4, 2 -/* 0653D8 8006A978 7CC5212E */ stwx r6, r5, r4 -/* 0653DC 8006A97C 3CC038A6 */ lis r6, 0x38a6 -/* 0653E0 8006A980 3880001F */ li r4, 0x1f -/* 0653E4 8006A984 80A10010 */ lwz r5, 0x10(r1) -/* 0653E8 8006A988 38C6FFFF */ addi r6, r6, -1 -/* 0653EC 8006A98C 5484103A */ slwi r4, r4, 2 -/* 0653F0 8006A990 7CC5212E */ stwx r6, r5, r4 -/* 0653F4 8006A994 38800020 */ li r4, 0x20 -/* 0653F8 8006A998 5484103A */ slwi r4, r4, 2 -/* 0653FC 8006A99C 80C10010 */ lwz r6, 0x10(r1) -/* 065400 8006A9A0 3CE02C05 */ lis r7, 0x2c05 -/* 065404 8006A9A4 3CA04083 */ lis r5, 0x4083 -/* 065408 8006A9A8 7CE6212E */ stwx r7, r6, r4 -/* 06540C 8006A9AC 38800021 */ li r4, 0x21 -/* 065410 8006A9B0 38E5FF90 */ addi r7, r5, -112 -/* 065414 8006A9B4 80C10010 */ lwz r6, 0x10(r1) -/* 065418 8006A9B8 5485103A */ slwi r5, r4, 2 -/* 06541C 8006A9BC 38800022 */ li r4, 0x22 -/* 065420 8006A9C0 7CE6292E */ stwx r7, r6, r5 -/* 065424 8006A9C4 3CE04080 */ lis r7, 0x4080 -/* 065428 8006A9C8 5485103A */ slwi r5, r4, 2 -/* 06542C 8006A9CC 81010010 */ lwz r8, 0x10(r1) -/* 065430 8006A9D0 38800023 */ li r4, 0x23 -/* 065434 8006A9D4 38C00024 */ li r6, 0x24 -/* 065438 8006A9D8 7D68292E */ stwx r11, r8, r5 -/* 06543C 8006A9DC 38A00025 */ li r5, 0x25 -/* 065440 8006A9E0 3927000C */ addi r9, r7, 0xc -/* 065444 8006A9E4 81010010 */ lwz r8, 0x10(r1) -/* 065448 8006A9E8 5487103A */ slwi r7, r4, 2 -/* 06544C 8006A9EC 389F0010 */ addi r4, r31, 0x10 -/* 065450 8006A9F0 7D28392E */ stwx r9, r8, r7 -/* 065454 8006A9F4 7D3F2050 */ subf r9, r31, r4 -/* 065458 8006A9F8 54C6103A */ slwi r6, r6, 2 -/* 06545C 8006A9FC 80E10010 */ lwz r7, 0x10(r1) -/* 065460 8006AA00 38800026 */ li r4, 0x26 -/* 065464 8006AA04 3D099123 */ addis r8, r9, 0x9123 -/* 065468 8006AA08 7C67312E */ stwx r3, r7, r6 -/* 06546C 8006AA0C 38E00027 */ li r7, 0x27 -/* 065470 8006AA10 54A5103A */ slwi r5, r5, 2 -/* 065474 8006AA14 80C10010 */ lwz r6, 0x10(r1) -/* 065478 8006AA18 387F0018 */ addi r3, r31, 0x18 -/* 06547C 8006AA1C 7D5F1850 */ subf r10, r31, r3 -/* 065480 8006AA20 7C06292E */ stwx r0, r6, r5 -/* 065484 8006AA24 38C00028 */ li r6, 0x28 -/* 065488 8006AA28 3D299103 */ addis r9, r9, 0x9103 -/* 06548C 8006AA2C 80610010 */ lwz r3, 0x10(r1) -/* 065490 8006AA30 5480103A */ slwi r0, r4, 2 -/* 065494 8006AA34 3CAA90E3 */ addis r5, r10, 0x90e3 -/* 065498 8006AA38 7D23012E */ stwx r9, r3, r0 -/* 06549C 8006AA3C 38800029 */ li r4, 0x29 -/* 0654A0 8006AA40 39280004 */ addi r9, r8, 4 -/* 0654A4 8006AA44 81010010 */ lwz r8, 0x10(r1) -/* 0654A8 8006AA48 54E0103A */ slwi r0, r7, 2 -/* 0654AC 8006AA4C 3C604E80 */ lis r3, 0x4e80 -/* 0654B0 8006AA50 7D28012E */ stwx r9, r8, r0 -/* 0654B4 8006AA54 3800002A */ li r0, 0x2a -/* 0654B8 8006AA58 3D0A90C3 */ addis r8, r10, 0x90c3 -/* 0654BC 8006AA5C 80E10010 */ lwz r7, 0x10(r1) -/* 0654C0 8006AA60 54C6103A */ slwi r6, r6, 2 -/* 0654C4 8006AA64 3920002B */ li r9, 0x2b -/* 0654C8 8006AA68 7D07312E */ stwx r8, r7, r6 -/* 0654CC 8006AA6C 5538103A */ slwi r24, r9, 2 -/* 0654D0 8006AA70 38E50004 */ addi r7, r5, 4 -/* 0654D4 8006AA74 80C10010 */ lwz r6, 0x10(r1) -/* 0654D8 8006AA78 5484103A */ slwi r4, r4, 2 -/* 0654DC 8006AA7C 38A30020 */ addi r5, r3, 0x20 -/* 0654E0 8006AA80 7CE6212E */ stwx r7, r6, r4 -/* 0654E4 8006AA84 5400103A */ slwi r0, r0, 2 -/* 0654E8 8006AA88 38980000 */ addi r4, r24, 0 -/* 0654EC 8006AA8C 80610010 */ lwz r3, 0x10(r1) -/* 0654F0 8006AA90 7CA3012E */ stwx r5, r3, r0 -/* 0654F4 8006AA94 80610010 */ lwz r3, 0x10(r1) -/* 0654F8 8006AA98 48032D15 */ bl DCStoreRange -/* 0654FC 8006AA9C 80610010 */ lwz r3, 0x10(r1) -/* 065500 8006AAA0 7F04C378 */ mr r4, r24 -/* 065504 8006AAA4 48032D91 */ bl ICInvalidateRange -/* 065508 8006AAA8 38600001 */ li r3, 1 -lbl_8006AAAC: -/* 06550C 8006AAAC BB010018 */ lmw r24, 0x18(r1) -/* 065510 8006AAB0 8001003C */ lwz r0, 0x3c(r1) -/* 065514 8006AAB4 38210038 */ addi r1, r1, 0x38 -/* 065518 8006AAB8 7C0803A6 */ mtlr r0 -/* 06551C 8006AABC 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_DMULT.s b/asm/non_matchings/cpu/cpuCompile_DMULT.s deleted file mode 100644 index 7577f54b..00000000 --- a/asm/non_matchings/cpu/cpuCompile_DMULT.s +++ /dev/null @@ -1,324 +0,0 @@ -glabel cpuCompile_DMULT -/* 065DF0 8006B390 7C0802A6 */ mflr r0 -/* 065DF4 8006B394 90010004 */ stw r0, 4(r1) -/* 065DF8 8006B398 38000035 */ li r0, 0x35 -/* 065DFC 8006B39C 5400103A */ slwi r0, r0, 2 -/* 065E00 8006B3A0 9421FFD0 */ stwu r1, -0x30(r1) -/* 065E04 8006B3A4 BF61001C */ stmw r27, 0x1c(r1) -/* 065E08 8006B3A8 3BE30000 */ addi r31, r3, 0 -/* 065E0C 8006B3AC 3B640000 */ addi r27, r4, 0 -/* 065E10 8006B3B0 38610010 */ addi r3, r1, 0x10 -/* 065E14 8006B3B4 64043000 */ oris r4, r0, 0x3000 -/* 065E18 8006B3B8 4BF9BDFD */ bl xlHeapTake -/* 065E1C 8006B3BC 2C030000 */ cmpwi r3, 0 -/* 065E20 8006B3C0 4082000C */ bne lbl_8006B3CC -/* 065E24 8006B3C4 38600000 */ li r3, 0 -/* 065E28 8006B3C8 480004B8 */ b lbl_8006B880 -lbl_8006B3CC: -/* 065E2C 8006B3CC 80010010 */ lwz r0, 0x10(r1) -/* 065E30 8006B3D0 3FA07CC6 */ lis r29, 0x7cc6 -/* 065E34 8006B3D4 3FC07CA5 */ lis r30, 0x7ca5 -/* 065E38 8006B3D8 901B0000 */ stw r0, 0(r27) -/* 065E3C 8006B3DC 3F607D08 */ lis r27, 0x7d08 -/* 065E40 8006B3E0 38000000 */ li r0, 0 -/* 065E44 8006B3E4 80810010 */ lwz r4, 0x10(r1) -/* 065E48 8006B3E8 38600001 */ li r3, 1 -/* 065E4C 8006B3EC 5400103A */ slwi r0, r0, 2 -/* 065E50 8006B3F0 3CA03920 */ lis r5, 0x3920 -/* 065E54 8006B3F4 7CA4012E */ stwx r5, r4, r0 -/* 065E58 8006B3F8 3CA03980 */ lis r5, 0x3980 -/* 065E5C 8006B3FC 38000002 */ li r0, 2 -/* 065E60 8006B400 80810010 */ lwz r4, 0x10(r1) -/* 065E64 8006B404 5463103A */ slwi r3, r3, 2 -/* 065E68 8006B408 3CC03940 */ lis r6, 0x3940 -/* 065E6C 8006B40C 7CC4192E */ stwx r6, r4, r3 -/* 065E70 8006B410 3D203960 */ lis r9, 0x3960 -/* 065E74 8006B414 38600003 */ li r3, 3 -/* 065E78 8006B418 80810010 */ lwz r4, 0x10(r1) -/* 065E7C 8006B41C 38A50040 */ addi r5, r5, 0x40 -/* 065E80 8006B420 5400103A */ slwi r0, r0, 2 -/* 065E84 8006B424 7CA4012E */ stwx r5, r4, r0 -/* 065E88 8006B428 38000004 */ li r0, 4 -/* 065E8C 8006B42C 3D004080 */ lis r8, 0x4080 -/* 065E90 8006B430 80810010 */ lwz r4, 0x10(r1) -/* 065E94 8006B434 39490001 */ addi r10, r9, 1 -/* 065E98 8006B438 5463103A */ slwi r3, r3, 2 -/* 065E9C 8006B43C 7D44192E */ stwx r10, r4, r3 -/* 065EA0 8006B440 38C00005 */ li r6, 5 -/* 065EA4 8006B444 38A00006 */ li r5, 6 -/* 065EA8 8006B448 80610010 */ lwz r3, 0x10(r1) -/* 065EAC 8006B44C 5400103A */ slwi r0, r0, 2 -/* 065EB0 8006B450 3C802C05 */ lis r4, 0x2c05 -/* 065EB4 8006B454 7C83012E */ stwx r4, r3, r0 -/* 065EB8 8006B458 38000007 */ li r0, 7 -/* 065EBC 8006B45C 38800008 */ li r4, 8 -/* 065EC0 8006B460 80E10010 */ lwz r7, 0x10(r1) -/* 065EC4 8006B464 38680014 */ addi r3, r8, 0x14 -/* 065EC8 8006B468 54C6103A */ slwi r6, r6, 2 -/* 065ECC 8006B46C 7C67312E */ stwx r3, r7, r6 -/* 065ED0 8006B470 39800009 */ li r12, 9 -/* 065ED4 8006B474 3960000A */ li r11, 0xa -/* 065ED8 8006B478 80C10010 */ lwz r6, 0x10(r1) -/* 065EDC 8006B47C 38FD30F8 */ addi r7, r29, 0x30f8 -/* 065EE0 8006B480 54A5103A */ slwi r5, r5, 2 -/* 065EE4 8006B484 7CE6292E */ stwx r7, r6, r5 -/* 065EE8 8006B488 38E0000B */ li r7, 0xb -/* 065EEC 8006B48C 38C0000C */ li r6, 0xc -/* 065EF0 8006B490 80A10010 */ lwz r5, 0x10(r1) -/* 065EF4 8006B494 3B9E28F8 */ addi r28, r30, 0x28f8 -/* 065EF8 8006B498 5400103A */ slwi r0, r0, 2 -/* 065EFC 8006B49C 7F85012E */ stwx r28, r5, r0 -/* 065F00 8006B4A0 3CA07CE7 */ lis r5, 0x7ce7 -/* 065F04 8006B4A4 3800000D */ li r0, 0xd -/* 065F08 8006B4A8 83810010 */ lwz r28, 0x10(r1) -/* 065F0C 8006B4AC 3BBD5814 */ addi r29, r29, 0x5814 -/* 065F10 8006B4B0 5484103A */ slwi r4, r4, 2 -/* 065F14 8006B4B4 7FBC212E */ stwx r29, r28, r4 -/* 065F18 8006B4B8 3880000E */ li r4, 0xe -/* 065F1C 8006B4BC 3BBE4914 */ addi r29, r30, 0x4914 -/* 065F20 8006B4C0 83810010 */ lwz r28, 0x10(r1) -/* 065F24 8006B4C4 558C103A */ slwi r12, r12, 2 -/* 065F28 8006B4C8 556B103A */ slwi r11, r11, 2 -/* 065F2C 8006B4CC 7FBC612E */ stwx r29, r28, r12 -/* 065F30 8006B4D0 3FC02C07 */ lis r30, 0x2c07 -/* 065F34 8006B4D4 54FC103A */ slwi r28, r7, 2 -/* 065F38 8006B4D8 83A10010 */ lwz r29, 0x10(r1) -/* 065F3C 8006B4DC 38FB40F8 */ addi r7, r27, 0x40f8 -/* 065F40 8006B4E0 54CC103A */ slwi r12, r6, 2 -/* 065F44 8006B4E4 7FDD592E */ stwx r30, r29, r11 -/* 065F48 8006B4E8 38C538F8 */ addi r6, r5, 0x38f8 -/* 065F4C 8006B4EC 540B103A */ slwi r11, r0, 2 -/* 065F50 8006B4F0 83A10010 */ lwz r29, 0x10(r1) -/* 065F54 8006B4F4 381B5814 */ addi r0, r27, 0x5814 -/* 065F58 8006B4F8 5484103A */ slwi r4, r4, 2 -/* 065F5C 8006B4FC 7C7DE12E */ stwx r3, r29, r28 -/* 065F60 8006B500 80610010 */ lwz r3, 0x10(r1) -/* 065F64 8006B504 7CE3612E */ stwx r7, r3, r12 -/* 065F68 8006B508 80610010 */ lwz r3, 0x10(r1) -/* 065F6C 8006B50C 7CC3592E */ stwx r6, r3, r11 -/* 065F70 8006B510 80610010 */ lwz r3, 0x10(r1) -/* 065F74 8006B514 7C03212E */ stwx r0, r3, r4 -/* 065F78 8006B518 3860000F */ li r3, 0xf -/* 065F7C 8006B51C 80810010 */ lwz r4, 0x10(r1) -/* 065F80 8006B520 39654914 */ addi r11, r5, 0x4914 -/* 065F84 8006B524 5463103A */ slwi r3, r3, 2 -/* 065F88 8006B528 7D64192E */ stwx r11, r4, r3 -/* 065F8C 8006B52C 3D60710B */ lis r11, 0x710b -/* 065F90 8006B530 38600010 */ li r3, 0x10 -/* 065F94 8006B534 80810010 */ lwz r4, 0x10(r1) -/* 065F98 8006B538 396B0001 */ addi r11, r11, 1 -/* 065F9C 8006B53C 5463103A */ slwi r3, r3, 2 -/* 065FA0 8006B540 7D64192E */ stwx r11, r4, r3 -/* 065FA4 8006B544 3D604182 */ lis r11, 0x4182 -/* 065FA8 8006B548 38600011 */ li r3, 0x11 -/* 065FAC 8006B54C 80810010 */ lwz r4, 0x10(r1) -/* 065FB0 8006B550 396B0018 */ addi r11, r11, 0x18 -/* 065FB4 8006B554 5463103A */ slwi r3, r3, 2 -/* 065FB8 8006B558 7D64192E */ stwx r11, r4, r3 -/* 065FBC 8006B55C 38600012 */ li r3, 0x12 -/* 065FC0 8006B560 3C807D4A */ lis r4, 0x7d4a -/* 065FC4 8006B564 81810010 */ lwz r12, 0x10(r1) -/* 065FC8 8006B568 5463103A */ slwi r3, r3, 2 -/* 065FCC 8006B56C 39600013 */ li r11, 0x13 -/* 065FD0 8006B570 7D2C192E */ stwx r9, r12, r3 -/* 065FD4 8006B574 3C607D29 */ lis r3, 0x7d29 -/* 065FD8 8006B578 39800014 */ li r12, 0x14 -/* 065FDC 8006B57C 83610010 */ lwz r27, 0x10(r1) -/* 065FE0 8006B580 3B843014 */ addi r28, r4, 0x3014 -/* 065FE4 8006B584 556B103A */ slwi r11, r11, 2 -/* 065FE8 8006B588 7F9B592E */ stwx r28, r27, r11 -/* 065FEC 8006B58C 3FA07D6B */ lis r29, 0x7d6b -/* 065FF0 8006B590 39600015 */ li r11, 0x15 -/* 065FF4 8006B594 83610010 */ lwz r27, 0x10(r1) -/* 065FF8 8006B598 3B832914 */ addi r28, r3, 0x2914 -/* 065FFC 8006B59C 558C103A */ slwi r12, r12, 2 -/* 066000 8006B5A0 7F9B612E */ stwx r28, r27, r12 -/* 066004 8006B5A4 3F804280 */ lis r28, 0x4280 -/* 066008 8006B5A8 39800016 */ li r12, 0x16 -/* 06600C 8006B5AC 83610010 */ lwz r27, 0x10(r1) -/* 066010 8006B5B0 3BBD5914 */ addi r29, r29, 0x5914 -/* 066014 8006B5B4 556B103A */ slwi r11, r11, 2 -/* 066018 8006B5B8 7FBB592E */ stwx r29, r27, r11 -/* 06601C 8006B5BC 39600017 */ li r11, 0x17 -/* 066020 8006B5C0 3FA05509 */ lis r29, 0x5509 -/* 066024 8006B5C4 83610010 */ lwz r27, 0x10(r1) -/* 066028 8006B5C8 3B9C0008 */ addi r28, r28, 8 -/* 06602C 8006B5CC 558C103A */ slwi r12, r12, 2 -/* 066030 8006B5D0 7F9B612E */ stwx r28, r27, r12 -/* 066034 8006B5D4 39800018 */ li r12, 0x18 -/* 066038 8006B5D8 3F8050E9 */ lis r28, 0x50e9 -/* 06603C 8006B5DC 83C10010 */ lwz r30, 0x10(r1) -/* 066040 8006B5E0 557B103A */ slwi r27, r11, 2 -/* 066044 8006B5E4 39600019 */ li r11, 0x19 -/* 066048 8006B5E8 7D3ED92E */ stwx r9, r30, r27 -/* 06604C 8006B5EC 3FC054E8 */ lis r30, 0x54e8 -/* 066050 8006B5F0 3920001A */ li r9, 0x1a -/* 066054 8006B5F4 83610010 */ lwz r27, 0x10(r1) -/* 066058 8006B5F8 3BBDF87E */ addi r29, r29, -1922 -/* 06605C 8006B5FC 558C103A */ slwi r12, r12, 2 -/* 066060 8006B600 7FBB612E */ stwx r29, r27, r12 -/* 066064 8006B604 3F605148 */ lis r27, 0x5148 -/* 066068 8006B608 3BA0001B */ li r29, 0x1b -/* 06606C 8006B60C 81810010 */ lwz r12, 0x10(r1) -/* 066070 8006B610 3B9CF800 */ addi r28, r28, -2048 -/* 066074 8006B614 556B103A */ slwi r11, r11, 2 -/* 066078 8006B618 7F8C592E */ stwx r28, r12, r11 -/* 06607C 8006B61C 3F80554B */ lis r28, 0x554b -/* 066080 8006B620 3980001C */ li r12, 0x1c -/* 066084 8006B624 81610010 */ lwz r11, 0x10(r1) -/* 066088 8006B628 3BDEF87E */ addi r30, r30, -1922 -/* 06608C 8006B62C 5529103A */ slwi r9, r9, 2 -/* 066090 8006B630 7FCB492E */ stwx r30, r11, r9 -/* 066094 8006B634 3D60512B */ lis r11, 0x512b -/* 066098 8006B638 3920001D */ li r9, 0x1d -/* 06609C 8006B63C 83C10010 */ lwz r30, 0x10(r1) -/* 0660A0 8006B640 3B7BF800 */ addi r27, r27, -2048 -/* 0660A4 8006B644 57BD103A */ slwi r29, r29, 2 -/* 0660A8 8006B648 7F7EE92E */ stwx r27, r30, r29 -/* 0660AC 8006B64C 3BDCF87E */ addi r30, r28, -1922 -/* 0660B0 8006B650 559C103A */ slwi r28, r12, 2 -/* 0660B4 8006B654 83A10010 */ lwz r29, 0x10(r1) -/* 0660B8 8006B658 398BF800 */ addi r12, r11, -2048 -/* 0660BC 8006B65C 5529103A */ slwi r9, r9, 2 -/* 0660C0 8006B660 7FDDE12E */ stwx r30, r29, r28 -/* 0660C4 8006B664 81610010 */ lwz r11, 0x10(r1) -/* 0660C8 8006B668 7D8B492E */ stwx r12, r11, r9 -/* 0660CC 8006B66C 3D80552A */ lis r12, 0x552a -/* 0660D0 8006B670 81610010 */ lwz r11, 0x10(r1) -/* 0660D4 8006B674 3920001E */ li r9, 0x1e -/* 0660D8 8006B678 398CF87E */ addi r12, r12, -1922 -/* 0660DC 8006B67C 5529103A */ slwi r9, r9, 2 -/* 0660E0 8006B680 7D8B492E */ stwx r12, r11, r9 -/* 0660E4 8006B684 3D80516A */ lis r12, 0x516a -/* 0660E8 8006B688 3920001F */ li r9, 0x1f -/* 0660EC 8006B68C 81610010 */ lwz r11, 0x10(r1) -/* 0660F0 8006B690 398CF800 */ addi r12, r12, -2048 -/* 0660F4 8006B694 5529103A */ slwi r9, r9, 2 -/* 0660F8 8006B698 7D8B492E */ stwx r12, r11, r9 -/* 0660FC 8006B69C 3D80556C */ lis r12, 0x556c -/* 066100 8006B6A0 39200020 */ li r9, 0x20 -/* 066104 8006B6A4 81610010 */ lwz r11, 0x10(r1) -/* 066108 8006B6A8 398CF87E */ addi r12, r12, -1922 -/* 06610C 8006B6AC 5529103A */ slwi r9, r9, 2 -/* 066110 8006B6B0 7D8B492E */ stwx r12, r11, r9 -/* 066114 8006B6B4 3D80398D */ lis r12, 0x398d -/* 066118 8006B6B8 39200021 */ li r9, 0x21 -/* 06611C 8006B6BC 81610010 */ lwz r11, 0x10(r1) -/* 066120 8006B6C0 398CFFFF */ addi r12, r12, -1 -/* 066124 8006B6C4 5529103A */ slwi r9, r9, 2 -/* 066128 8006B6C8 7D8B492E */ stwx r12, r11, r9 -/* 06612C 8006B6CC 39200022 */ li r9, 0x22 -/* 066130 8006B6D0 5529103A */ slwi r9, r9, 2 -/* 066134 8006B6D4 81810010 */ lwz r12, 0x10(r1) -/* 066138 8006B6D8 3F802C0C */ lis r28, 0x2c0c -/* 06613C 8006B6DC 3D604083 */ lis r11, 0x4083 -/* 066140 8006B6E0 7F8C492E */ stwx r28, r12, r9 -/* 066144 8006B6E4 39200023 */ li r9, 0x23 -/* 066148 8006B6E8 3B8BFFB4 */ addi r28, r11, -76 -/* 06614C 8006B6EC 81810010 */ lwz r12, 0x10(r1) -/* 066150 8006B6F0 552B103A */ slwi r11, r9, 2 -/* 066154 8006B6F4 39200024 */ li r9, 0x24 -/* 066158 8006B6F8 7F8C592E */ stwx r28, r12, r11 -/* 06615C 8006B6FC 3D807DCE */ lis r12, 0x7dce -/* 066160 8006B700 553C103A */ slwi r28, r9, 2 -/* 066164 8006B704 83A10010 */ lwz r29, 0x10(r1) -/* 066168 8006B708 39600025 */ li r11, 0x25 -/* 06616C 8006B70C 39200026 */ li r9, 0x26 -/* 066170 8006B710 7D5DE12E */ stwx r10, r29, r28 -/* 066174 8006B714 3B800027 */ li r28, 0x27 -/* 066178 8006B718 3BCC7A78 */ addi r30, r12, 0x7a78 -/* 06617C 8006B71C 83A10010 */ lwz r29, 0x10(r1) -/* 066180 8006B720 556A103A */ slwi r10, r11, 2 -/* 066184 8006B724 39800028 */ li r12, 0x28 -/* 066188 8006B728 7FDD512E */ stwx r30, r29, r10 -/* 06618C 8006B72C 39600029 */ li r11, 0x29 -/* 066190 8006B730 5529103A */ slwi r9, r9, 2 -/* 066194 8006B734 83A10010 */ lwz r29, 0x10(r1) -/* 066198 8006B738 3FC02C0E */ lis r30, 0x2c0e -/* 06619C 8006B73C 3940002A */ li r10, 0x2a -/* 0661A0 8006B740 7FDD492E */ stwx r30, r29, r9 -/* 0661A4 8006B744 3920002B */ li r9, 0x2b -/* 0661A8 8006B748 3BC80024 */ addi r30, r8, 0x24 -/* 0661AC 8006B74C 83A10010 */ lwz r29, 0x10(r1) -/* 0661B0 8006B750 579C103A */ slwi r28, r28, 2 -/* 0661B4 8006B754 3900002C */ li r8, 0x2c -/* 0661B8 8006B758 7FDDE12E */ stwx r30, r29, r28 -/* 0661BC 8006B75C 559D103A */ slwi r29, r12, 2 -/* 0661C0 8006B760 557E103A */ slwi r30, r11, 2 -/* 0661C4 8006B764 83810010 */ lwz r28, 0x10(r1) -/* 0661C8 8006B768 398450F8 */ addi r12, r4, 0x50f8 -/* 0661CC 8006B76C 554B103A */ slwi r11, r10, 2 -/* 0661D0 8006B770 7CFCE92E */ stwx r7, r28, r29 -/* 0661D4 8006B774 394348F8 */ addi r10, r3, 0x48f8 -/* 0661D8 8006B778 5529103A */ slwi r9, r9, 2 -/* 0661DC 8006B77C 83A10010 */ lwz r29, 0x10(r1) -/* 0661E0 8006B780 5507103A */ slwi r7, r8, 2 -/* 0661E4 8006B784 7CDDF12E */ stwx r6, r29, r30 -/* 0661E8 8006B788 80C10010 */ lwz r6, 0x10(r1) -/* 0661EC 8006B78C 7D86592E */ stwx r12, r6, r11 -/* 0661F0 8006B790 80C10010 */ lwz r6, 0x10(r1) -/* 0661F4 8006B794 7D46492E */ stwx r10, r6, r9 -/* 0661F8 8006B798 80C10010 */ lwz r6, 0x10(r1) -/* 0661FC 8006B79C 7C06392E */ stwx r0, r6, r7 -/* 066200 8006B7A0 3800002D */ li r0, 0x2d -/* 066204 8006B7A4 80C10010 */ lwz r6, 0x10(r1) -/* 066208 8006B7A8 38A56114 */ addi r5, r5, 0x6114 -/* 06620C 8006B7AC 5400103A */ slwi r0, r0, 2 -/* 066210 8006B7B0 7CA6012E */ stwx r5, r6, r0 -/* 066214 8006B7B4 3800002E */ li r0, 0x2e -/* 066218 8006B7B8 38A0002F */ li r5, 0x2f -/* 06621C 8006B7BC 80C10010 */ lwz r6, 0x10(r1) -/* 066220 8006B7C0 38846114 */ addi r4, r4, 0x6114 -/* 066224 8006B7C4 5400103A */ slwi r0, r0, 2 -/* 066228 8006B7C8 7C86012E */ stwx r4, r6, r0 -/* 06622C 8006B7CC 381F0010 */ addi r0, r31, 0x10 -/* 066230 8006B7D0 7CDF0050 */ subf r6, r31, r0 -/* 066234 8006B7D4 80810010 */ lwz r4, 0x10(r1) -/* 066238 8006B7D8 38636114 */ addi r3, r3, 0x6114 -/* 06623C 8006B7DC 54A0103A */ slwi r0, r5, 2 -/* 066240 8006B7E0 7C64012E */ stwx r3, r4, r0 -/* 066244 8006B7E4 3C869103 */ addis r4, r6, 0x9103 -/* 066248 8006B7E8 38000030 */ li r0, 0x30 -/* 06624C 8006B7EC 80610010 */ lwz r3, 0x10(r1) -/* 066250 8006B7F0 38840004 */ addi r4, r4, 4 -/* 066254 8006B7F4 5400103A */ slwi r0, r0, 2 -/* 066258 8006B7F8 7C83012E */ stwx r4, r3, r0 -/* 06625C 8006B7FC 38600031 */ li r3, 0x31 -/* 066260 8006B800 381F0018 */ addi r0, r31, 0x18 -/* 066264 8006B804 80810010 */ lwz r4, 0x10(r1) -/* 066268 8006B808 3CA690E3 */ addis r5, r6, 0x90e3 -/* 06626C 8006B80C 5463103A */ slwi r3, r3, 2 -/* 066270 8006B810 7CDF0050 */ subf r6, r31, r0 -/* 066274 8006B814 7CA4192E */ stwx r5, r4, r3 -/* 066278 8006B818 3C869143 */ addis r4, r6, 0x9143 -/* 06627C 8006B81C 38000032 */ li r0, 0x32 -/* 066280 8006B820 80610010 */ lwz r3, 0x10(r1) -/* 066284 8006B824 38840004 */ addi r4, r4, 4 -/* 066288 8006B828 5400103A */ slwi r0, r0, 2 -/* 06628C 8006B82C 7C83012E */ stwx r4, r3, r0 -/* 066290 8006B830 38000033 */ li r0, 0x33 -/* 066294 8006B834 3CA69123 */ addis r5, r6, 0x9123 -/* 066298 8006B838 80810010 */ lwz r4, 0x10(r1) -/* 06629C 8006B83C 5400103A */ slwi r0, r0, 2 -/* 0662A0 8006B840 3C604E80 */ lis r3, 0x4e80 -/* 0662A4 8006B844 7CA4012E */ stwx r5, r4, r0 -/* 0662A8 8006B848 38000034 */ li r0, 0x34 -/* 0662AC 8006B84C 38830020 */ addi r4, r3, 0x20 -/* 0662B0 8006B850 80610010 */ lwz r3, 0x10(r1) -/* 0662B4 8006B854 5400103A */ slwi r0, r0, 2 -/* 0662B8 8006B858 38A00035 */ li r5, 0x35 -/* 0662BC 8006B85C 7C83012E */ stwx r4, r3, r0 -/* 0662C0 8006B860 54BB103A */ slwi r27, r5, 2 -/* 0662C4 8006B864 389B0000 */ addi r4, r27, 0 -/* 0662C8 8006B868 80610010 */ lwz r3, 0x10(r1) -/* 0662CC 8006B86C 48031F41 */ bl DCStoreRange -/* 0662D0 8006B870 80610010 */ lwz r3, 0x10(r1) -/* 0662D4 8006B874 7F64DB78 */ mr r4, r27 -/* 0662D8 8006B878 48031FBD */ bl ICInvalidateRange -/* 0662DC 8006B87C 38600001 */ li r3, 1 -lbl_8006B880: -/* 0662E0 8006B880 BB61001C */ lmw r27, 0x1c(r1) -/* 0662E4 8006B884 80010034 */ lwz r0, 0x34(r1) -/* 0662E8 8006B888 38210030 */ addi r1, r1, 0x30 -/* 0662EC 8006B88C 7C0803A6 */ mtlr r0 -/* 0662F0 8006B890 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_DMULTU.s b/asm/non_matchings/cpu/cpuCompile_DMULTU.s deleted file mode 100644 index 8b4b1fff..00000000 --- a/asm/non_matchings/cpu/cpuCompile_DMULTU.s +++ /dev/null @@ -1,200 +0,0 @@ -glabel cpuCompile_DMULTU -/* 065ADC 8006B07C 7C0802A6 */ mflr r0 -/* 065AE0 8006B080 90010004 */ stw r0, 4(r1) -/* 065AE4 8006B084 3800001C */ li r0, 0x1c -/* 065AE8 8006B088 5400103A */ slwi r0, r0, 2 -/* 065AEC 8006B08C 9421FFE0 */ stwu r1, -0x20(r1) -/* 065AF0 8006B090 93E1001C */ stw r31, 0x1c(r1) -/* 065AF4 8006B094 3BE30000 */ addi r31, r3, 0 -/* 065AF8 8006B098 38610010 */ addi r3, r1, 0x10 -/* 065AFC 8006B09C 93C10018 */ stw r30, 0x18(r1) -/* 065B00 8006B0A0 3BC40000 */ addi r30, r4, 0 -/* 065B04 8006B0A4 64043000 */ oris r4, r0, 0x3000 -/* 065B08 8006B0A8 4BF9C10D */ bl xlHeapTake -/* 065B0C 8006B0AC 2C030000 */ cmpwi r3, 0 -/* 065B10 8006B0B0 4082000C */ bne lbl_8006B0BC -/* 065B14 8006B0B4 38600000 */ li r3, 0 -/* 065B18 8006B0B8 480002C0 */ b lbl_8006B378 -lbl_8006B0BC: -/* 065B1C 8006B0BC 80610010 */ lwz r3, 0x10(r1) -/* 065B20 8006B0C0 38800000 */ li r4, 0 -/* 065B24 8006B0C4 38000001 */ li r0, 1 -/* 065B28 8006B0C8 907E0000 */ stw r3, 0(r30) -/* 065B2C 8006B0CC 3D203980 */ lis r9, 0x3980 -/* 065B30 8006B0D0 38600002 */ li r3, 2 -/* 065B34 8006B0D4 80A10010 */ lwz r5, 0x10(r1) -/* 065B38 8006B0D8 3D00710B */ lis r8, 0x710b -/* 065B3C 8006B0DC 5484103A */ slwi r4, r4, 2 -/* 065B40 8006B0E0 3CC03920 */ lis r6, 0x3920 -/* 065B44 8006B0E4 7CC5212E */ stwx r6, r5, r4 -/* 065B48 8006B0E8 38A00003 */ li r5, 3 -/* 065B4C 8006B0EC 3CE04182 */ lis r7, 0x4182 -/* 065B50 8006B0F0 80810010 */ lwz r4, 0x10(r1) -/* 065B54 8006B0F4 5400103A */ slwi r0, r0, 2 -/* 065B58 8006B0F8 3CC03940 */ lis r6, 0x3940 -/* 065B5C 8006B0FC 7CC4012E */ stwx r6, r4, r0 -/* 065B60 8006B100 38800004 */ li r4, 4 -/* 065B64 8006B104 38000005 */ li r0, 5 -/* 065B68 8006B108 80C10010 */ lwz r6, 0x10(r1) -/* 065B6C 8006B10C 39290040 */ addi r9, r9, 0x40 -/* 065B70 8006B110 5463103A */ slwi r3, r3, 2 -/* 065B74 8006B114 7D26192E */ stwx r9, r6, r3 -/* 065B78 8006B118 3D407D4A */ lis r10, 0x7d4a -/* 065B7C 8006B11C 38600006 */ li r3, 6 -/* 065B80 8006B120 80C10010 */ lwz r6, 0x10(r1) -/* 065B84 8006B124 39080001 */ addi r8, r8, 1 -/* 065B88 8006B128 54A5103A */ slwi r5, r5, 2 -/* 065B8C 8006B12C 7D06292E */ stwx r8, r6, r5 -/* 065B90 8006B130 3D207D29 */ lis r9, 0x7d29 -/* 065B94 8006B134 38C00007 */ li r6, 7 -/* 065B98 8006B138 80A10010 */ lwz r5, 0x10(r1) -/* 065B9C 8006B13C 38E70018 */ addi r7, r7, 0x18 -/* 065BA0 8006B140 5484103A */ slwi r4, r4, 2 -/* 065BA4 8006B144 7CE5212E */ stwx r7, r5, r4 -/* 065BA8 8006B148 3CE07D6B */ lis r7, 0x7d6b -/* 065BAC 8006B14C 38A00008 */ li r5, 8 -/* 065BB0 8006B150 81010010 */ lwz r8, 0x10(r1) -/* 065BB4 8006B154 5404103A */ slwi r4, r0, 2 -/* 065BB8 8006B158 3C003960 */ lis r0, 0x3960 -/* 065BBC 8006B15C 7C08212E */ stwx r0, r8, r4 -/* 065BC0 8006B160 3D604280 */ lis r11, 0x4280 -/* 065BC4 8006B164 38800009 */ li r4, 9 -/* 065BC8 8006B168 81010010 */ lwz r8, 0x10(r1) -/* 065BCC 8006B16C 394A3014 */ addi r10, r10, 0x3014 -/* 065BD0 8006B170 5463103A */ slwi r3, r3, 2 -/* 065BD4 8006B174 7D48192E */ stwx r10, r8, r3 -/* 065BD8 8006B178 3860000A */ li r3, 0xa -/* 065BDC 8006B17C 3D405509 */ lis r10, 0x5509 -/* 065BE0 8006B180 81010010 */ lwz r8, 0x10(r1) -/* 065BE4 8006B184 39292914 */ addi r9, r9, 0x2914 -/* 065BE8 8006B188 54C6103A */ slwi r6, r6, 2 -/* 065BEC 8006B18C 7D28312E */ stwx r9, r8, r6 -/* 065BF0 8006B190 3920000B */ li r9, 0xb -/* 065BF4 8006B194 3D0050E9 */ lis r8, 0x50e9 -/* 065BF8 8006B198 80C10010 */ lwz r6, 0x10(r1) -/* 065BFC 8006B19C 38E75914 */ addi r7, r7, 0x5914 -/* 065C00 8006B1A0 54A5103A */ slwi r5, r5, 2 -/* 065C04 8006B1A4 7CE6292E */ stwx r7, r6, r5 -/* 065C08 8006B1A8 38E0000C */ li r7, 0xc -/* 065C0C 8006B1AC 3CC054E8 */ lis r6, 0x54e8 -/* 065C10 8006B1B0 80A10010 */ lwz r5, 0x10(r1) -/* 065C14 8006B1B4 396B0008 */ addi r11, r11, 8 -/* 065C18 8006B1B8 5484103A */ slwi r4, r4, 2 -/* 065C1C 8006B1BC 7D65212E */ stwx r11, r5, r4 -/* 065C20 8006B1C0 38A0000D */ li r5, 0xd -/* 065C24 8006B1C4 3C805148 */ lis r4, 0x5148 -/* 065C28 8006B1C8 81810010 */ lwz r12, 0x10(r1) -/* 065C2C 8006B1CC 546B103A */ slwi r11, r3, 2 -/* 065C30 8006B1D0 3860000E */ li r3, 0xe -/* 065C34 8006B1D4 7C0C592E */ stwx r0, r12, r11 -/* 065C38 8006B1D8 396AF87E */ addi r11, r10, -1922 -/* 065C3C 8006B1DC 5520103A */ slwi r0, r9, 2 -/* 065C40 8006B1E0 81410010 */ lwz r10, 0x10(r1) -/* 065C44 8006B1E4 3928F800 */ addi r9, r8, -2048 -/* 065C48 8006B1E8 54E7103A */ slwi r7, r7, 2 -/* 065C4C 8006B1EC 7D6A012E */ stwx r11, r10, r0 -/* 065C50 8006B1F0 38C6F87E */ addi r6, r6, -1922 -/* 065C54 8006B1F4 54A5103A */ slwi r5, r5, 2 -/* 065C58 8006B1F8 81010010 */ lwz r8, 0x10(r1) -/* 065C5C 8006B1FC 3884F800 */ addi r4, r4, -2048 -/* 065C60 8006B200 5460103A */ slwi r0, r3, 2 -/* 065C64 8006B204 7D28392E */ stwx r9, r8, r7 -/* 065C68 8006B208 80610010 */ lwz r3, 0x10(r1) -/* 065C6C 8006B20C 7CC3292E */ stwx r6, r3, r5 -/* 065C70 8006B210 80610010 */ lwz r3, 0x10(r1) -/* 065C74 8006B214 7C83012E */ stwx r4, r3, r0 -/* 065C78 8006B218 3C80554B */ lis r4, 0x554b -/* 065C7C 8006B21C 80610010 */ lwz r3, 0x10(r1) -/* 065C80 8006B220 3800000F */ li r0, 0xf -/* 065C84 8006B224 3884F87E */ addi r4, r4, -1922 -/* 065C88 8006B228 5400103A */ slwi r0, r0, 2 -/* 065C8C 8006B22C 7C83012E */ stwx r4, r3, r0 -/* 065C90 8006B230 3C80512B */ lis r4, 0x512b -/* 065C94 8006B234 38000010 */ li r0, 0x10 -/* 065C98 8006B238 80610010 */ lwz r3, 0x10(r1) -/* 065C9C 8006B23C 3884F800 */ addi r4, r4, -2048 -/* 065CA0 8006B240 5400103A */ slwi r0, r0, 2 -/* 065CA4 8006B244 7C83012E */ stwx r4, r3, r0 -/* 065CA8 8006B248 3C80552A */ lis r4, 0x552a -/* 065CAC 8006B24C 38000011 */ li r0, 0x11 -/* 065CB0 8006B250 80610010 */ lwz r3, 0x10(r1) -/* 065CB4 8006B254 3884F87E */ addi r4, r4, -1922 -/* 065CB8 8006B258 5400103A */ slwi r0, r0, 2 -/* 065CBC 8006B25C 7C83012E */ stwx r4, r3, r0 -/* 065CC0 8006B260 3C80516A */ lis r4, 0x516a -/* 065CC4 8006B264 38000012 */ li r0, 0x12 -/* 065CC8 8006B268 80610010 */ lwz r3, 0x10(r1) -/* 065CCC 8006B26C 3884F800 */ addi r4, r4, -2048 -/* 065CD0 8006B270 5400103A */ slwi r0, r0, 2 -/* 065CD4 8006B274 7C83012E */ stwx r4, r3, r0 -/* 065CD8 8006B278 3C80556C */ lis r4, 0x556c -/* 065CDC 8006B27C 38000013 */ li r0, 0x13 -/* 065CE0 8006B280 80610010 */ lwz r3, 0x10(r1) -/* 065CE4 8006B284 3884F87E */ addi r4, r4, -1922 -/* 065CE8 8006B288 5400103A */ slwi r0, r0, 2 -/* 065CEC 8006B28C 7C83012E */ stwx r4, r3, r0 -/* 065CF0 8006B290 3C80398D */ lis r4, 0x398d -/* 065CF4 8006B294 38000014 */ li r0, 0x14 -/* 065CF8 8006B298 80610010 */ lwz r3, 0x10(r1) -/* 065CFC 8006B29C 3884FFFF */ addi r4, r4, -1 -/* 065D00 8006B2A0 5400103A */ slwi r0, r0, 2 -/* 065D04 8006B2A4 7C83012E */ stwx r4, r3, r0 -/* 065D08 8006B2A8 38000015 */ li r0, 0x15 -/* 065D0C 8006B2AC 5400103A */ slwi r0, r0, 2 -/* 065D10 8006B2B0 80610010 */ lwz r3, 0x10(r1) -/* 065D14 8006B2B4 3CA02C0C */ lis r5, 0x2c0c -/* 065D18 8006B2B8 3C804083 */ lis r4, 0x4083 -/* 065D1C 8006B2BC 7CA3012E */ stwx r5, r3, r0 -/* 065D20 8006B2C0 38600016 */ li r3, 0x16 -/* 065D24 8006B2C4 38A4FFB4 */ addi r5, r4, -76 -/* 065D28 8006B2C8 381F0010 */ addi r0, r31, 0x10 -/* 065D2C 8006B2CC 80810010 */ lwz r4, 0x10(r1) -/* 065D30 8006B2D0 7CDF0050 */ subf r6, r31, r0 -/* 065D34 8006B2D4 5460103A */ slwi r0, r3, 2 -/* 065D38 8006B2D8 7CA4012E */ stwx r5, r4, r0 -/* 065D3C 8006B2DC 3C869103 */ addis r4, r6, 0x9103 -/* 065D40 8006B2E0 38000017 */ li r0, 0x17 -/* 065D44 8006B2E4 80610010 */ lwz r3, 0x10(r1) -/* 065D48 8006B2E8 38840004 */ addi r4, r4, 4 -/* 065D4C 8006B2EC 5400103A */ slwi r0, r0, 2 -/* 065D50 8006B2F0 7C83012E */ stwx r4, r3, r0 -/* 065D54 8006B2F4 38800018 */ li r4, 0x18 -/* 065D58 8006B2F8 381F0018 */ addi r0, r31, 0x18 -/* 065D5C 8006B2FC 7CFF0050 */ subf r7, r31, r0 -/* 065D60 8006B300 80A10010 */ lwz r5, 0x10(r1) -/* 065D64 8006B304 3C679143 */ addis r3, r7, 0x9143 -/* 065D68 8006B308 38000019 */ li r0, 0x19 -/* 065D6C 8006B30C 3CC690E3 */ addis r6, r6, 0x90e3 -/* 065D70 8006B310 5484103A */ slwi r4, r4, 2 -/* 065D74 8006B314 7CC5212E */ stwx r6, r5, r4 -/* 065D78 8006B318 3880001A */ li r4, 0x1a -/* 065D7C 8006B31C 38A30004 */ addi r5, r3, 4 -/* 065D80 8006B320 80610010 */ lwz r3, 0x10(r1) -/* 065D84 8006B324 5400103A */ slwi r0, r0, 2 -/* 065D88 8006B328 3CC79123 */ addis r6, r7, 0x9123 -/* 065D8C 8006B32C 7CA3012E */ stwx r5, r3, r0 -/* 065D90 8006B330 3C604E80 */ lis r3, 0x4e80 -/* 065D94 8006B334 3800001B */ li r0, 0x1b -/* 065D98 8006B338 80A10010 */ lwz r5, 0x10(r1) -/* 065D9C 8006B33C 5484103A */ slwi r4, r4, 2 -/* 065DA0 8006B340 38E0001C */ li r7, 0x1c -/* 065DA4 8006B344 7CC5212E */ stwx r6, r5, r4 -/* 065DA8 8006B348 54FF103A */ slwi r31, r7, 2 -/* 065DAC 8006B34C 38A30020 */ addi r5, r3, 0x20 -/* 065DB0 8006B350 80610010 */ lwz r3, 0x10(r1) -/* 065DB4 8006B354 5400103A */ slwi r0, r0, 2 -/* 065DB8 8006B358 389F0000 */ addi r4, r31, 0 -/* 065DBC 8006B35C 7CA3012E */ stwx r5, r3, r0 -/* 065DC0 8006B360 80610010 */ lwz r3, 0x10(r1) -/* 065DC4 8006B364 48032449 */ bl DCStoreRange -/* 065DC8 8006B368 80610010 */ lwz r3, 0x10(r1) -/* 065DCC 8006B36C 7FE4FB78 */ mr r4, r31 -/* 065DD0 8006B370 480324C5 */ bl ICInvalidateRange -/* 065DD4 8006B374 38600001 */ li r3, 1 -lbl_8006B378: -/* 065DD8 8006B378 80010024 */ lwz r0, 0x24(r1) -/* 065DDC 8006B37C 83E1001C */ lwz r31, 0x1c(r1) -/* 065DE0 8006B380 83C10018 */ lwz r30, 0x18(r1) -/* 065DE4 8006B384 7C0803A6 */ mtlr r0 -/* 065DE8 8006B388 38210020 */ addi r1, r1, 0x20 -/* 065DEC 8006B38C 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_DSLLV.s b/asm/non_matchings/cpu/cpuCompile_DSLLV.s deleted file mode 100644 index 4f6ac0be..00000000 --- a/asm/non_matchings/cpu/cpuCompile_DSLLV.s +++ /dev/null @@ -1,125 +0,0 @@ -glabel cpuCompile_DSLLV -/* 0666E0 8006BC80 7C0802A6 */ mflr r0 -/* 0666E4 8006BC84 90010004 */ stw r0, 4(r1) -/* 0666E8 8006BC88 38000010 */ li r0, 0x10 -/* 0666EC 8006BC8C 5400103A */ slwi r0, r0, 2 -/* 0666F0 8006BC90 9421FFE0 */ stwu r1, -0x20(r1) -/* 0666F4 8006BC94 93E1001C */ stw r31, 0x1c(r1) -/* 0666F8 8006BC98 3BE40000 */ addi r31, r4, 0 -/* 0666FC 8006BC9C 38610010 */ addi r3, r1, 0x10 -/* 066700 8006BCA0 64043000 */ oris r4, r0, 0x3000 -/* 066704 8006BCA4 4BF9B511 */ bl xlHeapTake -/* 066708 8006BCA8 2C030000 */ cmpwi r3, 0 -/* 06670C 8006BCAC 4082000C */ bne lbl_8006BCB8 -/* 066710 8006BCB0 38600000 */ li r3, 0 -/* 066714 8006BCB4 480001A0 */ b lbl_8006BE54 -lbl_8006BCB8: -/* 066718 8006BCB8 80010010 */ lwz r0, 0x10(r1) -/* 06671C 8006BCBC 3D007CA5 */ lis r8, 0x7ca5 -/* 066720 8006BCC0 3D807CC8 */ lis r12, 0x7cc8 -/* 066724 8006BCC4 901F0000 */ stw r0, 0(r31) -/* 066728 8006BCC8 3CA09422 */ lis r5, 0x9422 -/* 06672C 8006BCCC 38000000 */ li r0, 0 -/* 066730 8006BCD0 80610010 */ lwz r3, 0x10(r1) -/* 066734 8006BCD4 3C8070E7 */ lis r4, 0x70e7 -/* 066738 8006BCD8 38A5FFE8 */ addi r5, r5, -24 -/* 06673C 8006BCDC 5400103A */ slwi r0, r0, 2 -/* 066740 8006BCE0 7CA3012E */ stwx r5, r3, r0 -/* 066744 8006BCE4 38000001 */ li r0, 1 -/* 066748 8006BCE8 3CA09121 */ lis r5, 0x9121 -/* 06674C 8006BCEC 80610010 */ lwz r3, 0x10(r1) -/* 066750 8006BCF0 3884003F */ addi r4, r4, 0x3f -/* 066754 8006BCF4 5400103A */ slwi r0, r0, 2 -/* 066758 8006BCF8 7C83012E */ stwx r4, r3, r0 -/* 06675C 8006BCFC 38000002 */ li r0, 2 -/* 066760 8006BD00 3C802127 */ lis r4, 0x2127 -/* 066764 8006BD04 80610010 */ lwz r3, 0x10(r1) -/* 066768 8006BD08 38A50010 */ addi r5, r5, 0x10 -/* 06676C 8006BD0C 5400103A */ slwi r0, r0, 2 -/* 066770 8006BD10 7CA3012E */ stwx r5, r3, r0 -/* 066774 8006BD14 38000003 */ li r0, 3 -/* 066778 8006BD18 3CA09101 */ lis r5, 0x9101 -/* 06677C 8006BD1C 80610010 */ lwz r3, 0x10(r1) -/* 066780 8006BD20 38840020 */ addi r4, r4, 0x20 -/* 066784 8006BD24 5400103A */ slwi r0, r0, 2 -/* 066788 8006BD28 7C83012E */ stwx r4, r3, r0 -/* 06678C 8006BD2C 38000004 */ li r0, 4 -/* 066790 8006BD30 38800005 */ li r4, 5 -/* 066794 8006BD34 80610010 */ lwz r3, 0x10(r1) -/* 066798 8006BD38 38A50008 */ addi r5, r5, 8 -/* 06679C 8006BD3C 5400103A */ slwi r0, r0, 2 -/* 0667A0 8006BD40 7CA3012E */ stwx r5, r3, r0 -/* 0667A4 8006BD44 38600006 */ li r3, 6 -/* 0667A8 8006BD48 38000007 */ li r0, 7 -/* 0667AC 8006BD4C 80A10010 */ lwz r5, 0x10(r1) -/* 0667B0 8006BD50 38C83830 */ addi r6, r8, 0x3830 -/* 0667B4 8006BD54 5484103A */ slwi r4, r4, 2 -/* 0667B8 8006BD58 7CC5212E */ stwx r6, r5, r4 -/* 0667BC 8006BD5C 3CE03928 */ lis r7, 0x3928 -/* 0667C0 8006BD60 38A00008 */ li r5, 8 -/* 0667C4 8006BD64 80810010 */ lwz r4, 0x10(r1) -/* 0667C8 8006BD68 38CC4C30 */ addi r6, r12, 0x4c30 -/* 0667CC 8006BD6C 5463103A */ slwi r3, r3, 2 -/* 0667D0 8006BD70 7CC4192E */ stwx r6, r4, r3 -/* 0667D4 8006BD74 38800009 */ li r4, 9 -/* 0667D8 8006BD78 3860000A */ li r3, 0xa -/* 0667DC 8006BD7C 80C10010 */ lwz r6, 0x10(r1) -/* 0667E0 8006BD80 39284378 */ addi r9, r8, 0x4378 -/* 0667E4 8006BD84 5400103A */ slwi r0, r0, 2 -/* 0667E8 8006BD88 7D26012E */ stwx r9, r6, r0 -/* 0667EC 8006BD8C 3D607CC6 */ lis r11, 0x7cc6 -/* 0667F0 8006BD90 3800000B */ li r0, 0xb -/* 0667F4 8006BD94 80C10010 */ lwz r6, 0x10(r1) -/* 0667F8 8006BD98 38E7FFE0 */ addi r7, r7, -32 -/* 0667FC 8006BD9C 54A5103A */ slwi r5, r5, 2 -/* 066800 8006BDA0 7CE6292E */ stwx r7, r6, r5 -/* 066804 8006BDA4 3D408101 */ lis r10, 0x8101 -/* 066808 8006BDA8 3900000C */ li r8, 0xc -/* 06680C 8006BDAC 80A10010 */ lwz r5, 0x10(r1) -/* 066810 8006BDB0 38CC4830 */ addi r6, r12, 0x4830 -/* 066814 8006BDB4 5484103A */ slwi r4, r4, 2 -/* 066818 8006BDB8 7CC5212E */ stwx r6, r5, r4 -/* 06681C 8006BDBC 3CE08121 */ lis r7, 0x8121 -/* 066820 8006BDC0 38C0000D */ li r6, 0xd -/* 066824 8006BDC4 80810010 */ lwz r4, 0x10(r1) -/* 066828 8006BDC8 5463103A */ slwi r3, r3, 2 -/* 06682C 8006BDCC 3CA03821 */ lis r5, 0x3821 -/* 066830 8006BDD0 7D24192E */ stwx r9, r4, r3 -/* 066834 8006BDD4 3880000E */ li r4, 0xe -/* 066838 8006BDD8 3C604E80 */ lis r3, 0x4e80 -/* 06683C 8006BDDC 81210010 */ lwz r9, 0x10(r1) -/* 066840 8006BDE0 396B3830 */ addi r11, r11, 0x3830 -/* 066844 8006BDE4 5400103A */ slwi r0, r0, 2 -/* 066848 8006BDE8 7D69012E */ stwx r11, r9, r0 -/* 06684C 8006BDEC 3800000F */ li r0, 0xf -/* 066850 8006BDF0 39600010 */ li r11, 0x10 -/* 066854 8006BDF4 81210010 */ lwz r9, 0x10(r1) -/* 066858 8006BDF8 394A0008 */ addi r10, r10, 8 -/* 06685C 8006BDFC 5508103A */ slwi r8, r8, 2 -/* 066860 8006BE00 7D49412E */ stwx r10, r9, r8 -/* 066864 8006BE04 557F103A */ slwi r31, r11, 2 -/* 066868 8006BE08 39270010 */ addi r9, r7, 0x10 -/* 06686C 8006BE0C 81010010 */ lwz r8, 0x10(r1) -/* 066870 8006BE10 54C6103A */ slwi r6, r6, 2 -/* 066874 8006BE14 38E50018 */ addi r7, r5, 0x18 -/* 066878 8006BE18 7D28312E */ stwx r9, r8, r6 -/* 06687C 8006BE1C 5486103A */ slwi r6, r4, 2 -/* 066880 8006BE20 38A30020 */ addi r5, r3, 0x20 -/* 066884 8006BE24 80610010 */ lwz r3, 0x10(r1) -/* 066888 8006BE28 5400103A */ slwi r0, r0, 2 -/* 06688C 8006BE2C 389F0000 */ addi r4, r31, 0 -/* 066890 8006BE30 7CE3312E */ stwx r7, r3, r6 -/* 066894 8006BE34 80610010 */ lwz r3, 0x10(r1) -/* 066898 8006BE38 7CA3012E */ stwx r5, r3, r0 -/* 06689C 8006BE3C 80610010 */ lwz r3, 0x10(r1) -/* 0668A0 8006BE40 4803196D */ bl DCStoreRange -/* 0668A4 8006BE44 80610010 */ lwz r3, 0x10(r1) -/* 0668A8 8006BE48 7FE4FB78 */ mr r4, r31 -/* 0668AC 8006BE4C 480319E9 */ bl ICInvalidateRange -/* 0668B0 8006BE50 38600001 */ li r3, 1 -lbl_8006BE54: -/* 0668B4 8006BE54 80010024 */ lwz r0, 0x24(r1) -/* 0668B8 8006BE58 83E1001C */ lwz r31, 0x1c(r1) -/* 0668BC 8006BE5C 38210020 */ addi r1, r1, 0x20 -/* 0668C0 8006BE60 7C0803A6 */ mtlr r0 -/* 0668C4 8006BE64 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_DSRAV.s b/asm/non_matchings/cpu/cpuCompile_DSRAV.s deleted file mode 100644 index 60e02670..00000000 --- a/asm/non_matchings/cpu/cpuCompile_DSRAV.s +++ /dev/null @@ -1,132 +0,0 @@ -glabel cpuCompile_DSRAV -/* 0662F4 8006B894 7C0802A6 */ mflr r0 -/* 0662F8 8006B898 90010004 */ stw r0, 4(r1) -/* 0662FC 8006B89C 38000011 */ li r0, 0x11 -/* 066300 8006B8A0 5400103A */ slwi r0, r0, 2 -/* 066304 8006B8A4 9421FFE0 */ stwu r1, -0x20(r1) -/* 066308 8006B8A8 93E1001C */ stw r31, 0x1c(r1) -/* 06630C 8006B8AC 3BE40000 */ addi r31, r4, 0 -/* 066310 8006B8B0 38610010 */ addi r3, r1, 0x10 -/* 066314 8006B8B4 64043000 */ oris r4, r0, 0x3000 -/* 066318 8006B8B8 4BF9B8FD */ bl xlHeapTake -/* 06631C 8006B8BC 2C030000 */ cmpwi r3, 0 -/* 066320 8006B8C0 4082000C */ bne lbl_8006B8CC -/* 066324 8006B8C4 38600000 */ li r3, 0 -/* 066328 8006B8C8 480001BC */ b lbl_8006BA84 -lbl_8006B8CC: -/* 06632C 8006B8CC 80010010 */ lwz r0, 0x10(r1) -/* 066330 8006B8D0 3D007CC6 */ lis r8, 0x7cc6 -/* 066334 8006B8D4 3D407CA8 */ lis r10, 0x7ca8 -/* 066338 8006B8D8 901F0000 */ stw r0, 0(r31) -/* 06633C 8006B8DC 3CA09422 */ lis r5, 0x9422 -/* 066340 8006B8E0 38000000 */ li r0, 0 -/* 066344 8006B8E4 80610010 */ lwz r3, 0x10(r1) -/* 066348 8006B8E8 3C8070E7 */ lis r4, 0x70e7 -/* 06634C 8006B8EC 38A5FFE8 */ addi r5, r5, -24 -/* 066350 8006B8F0 5400103A */ slwi r0, r0, 2 -/* 066354 8006B8F4 7CA3012E */ stwx r5, r3, r0 -/* 066358 8006B8F8 38000001 */ li r0, 1 -/* 06635C 8006B8FC 3CA09121 */ lis r5, 0x9121 -/* 066360 8006B900 80610010 */ lwz r3, 0x10(r1) -/* 066364 8006B904 3884003F */ addi r4, r4, 0x3f -/* 066368 8006B908 5400103A */ slwi r0, r0, 2 -/* 06636C 8006B90C 7C83012E */ stwx r4, r3, r0 -/* 066370 8006B910 38000002 */ li r0, 2 -/* 066374 8006B914 3C802127 */ lis r4, 0x2127 -/* 066378 8006B918 80610010 */ lwz r3, 0x10(r1) -/* 06637C 8006B91C 38A50010 */ addi r5, r5, 0x10 -/* 066380 8006B920 5400103A */ slwi r0, r0, 2 -/* 066384 8006B924 7CA3012E */ stwx r5, r3, r0 -/* 066388 8006B928 38000003 */ li r0, 3 -/* 06638C 8006B92C 3CA09101 */ lis r5, 0x9101 -/* 066390 8006B930 80610010 */ lwz r3, 0x10(r1) -/* 066394 8006B934 38840020 */ addi r4, r4, 0x20 -/* 066398 8006B938 5400103A */ slwi r0, r0, 2 -/* 06639C 8006B93C 7C83012E */ stwx r4, r3, r0 -/* 0663A0 8006B940 38000004 */ li r0, 4 -/* 0663A4 8006B944 38800005 */ li r4, 5 -/* 0663A8 8006B948 80610010 */ lwz r3, 0x10(r1) -/* 0663AC 8006B94C 38A50008 */ addi r5, r5, 8 -/* 0663B0 8006B950 5400103A */ slwi r0, r0, 2 -/* 0663B4 8006B954 7CA3012E */ stwx r5, r3, r0 -/* 0663B8 8006B958 38600006 */ li r3, 6 -/* 0663BC 8006B95C 38000007 */ li r0, 7 -/* 0663C0 8006B960 80A10010 */ lwz r5, 0x10(r1) -/* 0663C4 8006B964 38C83C30 */ addi r6, r8, 0x3c30 -/* 0663C8 8006B968 5484103A */ slwi r4, r4, 2 -/* 0663CC 8006B96C 7CC5212E */ stwx r6, r5, r4 -/* 0663D0 8006B970 3CC03528 */ lis r6, 0x3528 -/* 0663D4 8006B974 38800008 */ li r4, 8 -/* 0663D8 8006B978 80A10010 */ lwz r5, 0x10(r1) -/* 0663DC 8006B97C 38EA4830 */ addi r7, r10, 0x4830 -/* 0663E0 8006B980 5463103A */ slwi r3, r3, 2 -/* 0663E4 8006B984 7CE5192E */ stwx r7, r5, r3 -/* 0663E8 8006B988 38600009 */ li r3, 9 -/* 0663EC 8006B98C 3D204081 */ lis r9, 0x4081 -/* 0663F0 8006B990 80A10010 */ lwz r5, 0x10(r1) -/* 0663F4 8006B994 38E84378 */ addi r7, r8, 0x4378 -/* 0663F8 8006B998 5400103A */ slwi r0, r0, 2 -/* 0663FC 8006B99C 7CE5012E */ stwx r7, r5, r0 -/* 066400 8006B9A0 3800000A */ li r0, 0xa -/* 066404 8006B9A4 3900000B */ li r8, 0xb -/* 066408 8006B9A8 80A10010 */ lwz r5, 0x10(r1) -/* 06640C 8006B9AC 38C6FFE0 */ addi r6, r6, -32 -/* 066410 8006B9B0 5484103A */ slwi r4, r4, 2 -/* 066414 8006B9B4 7CC5212E */ stwx r6, r5, r4 -/* 066418 8006B9B8 3CE07CA5 */ lis r7, 0x7ca5 -/* 06641C 8006B9BC 38C0000C */ li r6, 0xc -/* 066420 8006B9C0 80810010 */ lwz r4, 0x10(r1) -/* 066424 8006B9C4 38AA4E30 */ addi r5, r10, 0x4e30 -/* 066428 8006B9C8 5463103A */ slwi r3, r3, 2 -/* 06642C 8006B9CC 7CA4192E */ stwx r5, r4, r3 -/* 066430 8006B9D0 3CA08101 */ lis r5, 0x8101 -/* 066434 8006B9D4 3880000D */ li r4, 0xd -/* 066438 8006B9D8 80610010 */ lwz r3, 0x10(r1) -/* 06643C 8006B9DC 39290008 */ addi r9, r9, 8 -/* 066440 8006B9E0 5400103A */ slwi r0, r0, 2 -/* 066444 8006B9E4 7D23012E */ stwx r9, r3, r0 -/* 066448 8006B9E8 3C608121 */ lis r3, 0x8121 -/* 06644C 8006B9EC 3800000E */ li r0, 0xe -/* 066450 8006B9F0 81210010 */ lwz r9, 0x10(r1) -/* 066454 8006B9F4 5508103A */ slwi r8, r8, 2 -/* 066458 8006B9F8 3D406106 */ lis r10, 0x6106 -/* 06645C 8006B9FC 7D49412E */ stwx r10, r9, r8 -/* 066460 8006BA00 39273E30 */ addi r9, r7, 0x3e30 -/* 066464 8006BA04 54C7103A */ slwi r7, r6, 2 -/* 066468 8006BA08 81010010 */ lwz r8, 0x10(r1) -/* 06646C 8006BA0C 38C50008 */ addi r6, r5, 8 -/* 066470 8006BA10 5485103A */ slwi r5, r4, 2 -/* 066474 8006BA14 7D28392E */ stwx r9, r8, r7 -/* 066478 8006BA18 38830010 */ addi r4, r3, 0x10 -/* 06647C 8006BA1C 5400103A */ slwi r0, r0, 2 -/* 066480 8006BA20 80610010 */ lwz r3, 0x10(r1) -/* 066484 8006BA24 7CC3292E */ stwx r6, r3, r5 -/* 066488 8006BA28 80610010 */ lwz r3, 0x10(r1) -/* 06648C 8006BA2C 7C83012E */ stwx r4, r3, r0 -/* 066490 8006BA30 3C803821 */ lis r4, 0x3821 -/* 066494 8006BA34 80610010 */ lwz r3, 0x10(r1) -/* 066498 8006BA38 3800000F */ li r0, 0xf -/* 06649C 8006BA3C 38840018 */ addi r4, r4, 0x18 -/* 0664A0 8006BA40 5400103A */ slwi r0, r0, 2 -/* 0664A4 8006BA44 7C83012E */ stwx r4, r3, r0 -/* 0664A8 8006BA48 3C804E80 */ lis r4, 0x4e80 -/* 0664AC 8006BA4C 38000010 */ li r0, 0x10 -/* 0664B0 8006BA50 80610010 */ lwz r3, 0x10(r1) -/* 0664B4 8006BA54 38840020 */ addi r4, r4, 0x20 -/* 0664B8 8006BA58 5400103A */ slwi r0, r0, 2 -/* 0664BC 8006BA5C 7C83012E */ stwx r4, r3, r0 -/* 0664C0 8006BA60 38000011 */ li r0, 0x11 -/* 0664C4 8006BA64 541F103A */ slwi r31, r0, 2 -/* 0664C8 8006BA68 80610010 */ lwz r3, 0x10(r1) -/* 0664CC 8006BA6C 7FE4FB78 */ mr r4, r31 -/* 0664D0 8006BA70 48031D3D */ bl DCStoreRange -/* 0664D4 8006BA74 80610010 */ lwz r3, 0x10(r1) -/* 0664D8 8006BA78 7FE4FB78 */ mr r4, r31 -/* 0664DC 8006BA7C 48031DB9 */ bl ICInvalidateRange -/* 0664E0 8006BA80 38600001 */ li r3, 1 -lbl_8006BA84: -/* 0664E4 8006BA84 80010024 */ lwz r0, 0x24(r1) -/* 0664E8 8006BA88 83E1001C */ lwz r31, 0x1c(r1) -/* 0664EC 8006BA8C 38210020 */ addi r1, r1, 0x20 -/* 0664F0 8006BA90 7C0803A6 */ mtlr r0 -/* 0664F4 8006BA94 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_DSRLV.s b/asm/non_matchings/cpu/cpuCompile_DSRLV.s deleted file mode 100644 index e068f27d..00000000 --- a/asm/non_matchings/cpu/cpuCompile_DSRLV.s +++ /dev/null @@ -1,125 +0,0 @@ -glabel cpuCompile_DSRLV -/* 0664F8 8006BA98 7C0802A6 */ mflr r0 -/* 0664FC 8006BA9C 90010004 */ stw r0, 4(r1) -/* 066500 8006BAA0 38000010 */ li r0, 0x10 -/* 066504 8006BAA4 5400103A */ slwi r0, r0, 2 -/* 066508 8006BAA8 9421FFE0 */ stwu r1, -0x20(r1) -/* 06650C 8006BAAC 93E1001C */ stw r31, 0x1c(r1) -/* 066510 8006BAB0 3BE40000 */ addi r31, r4, 0 -/* 066514 8006BAB4 38610010 */ addi r3, r1, 0x10 -/* 066518 8006BAB8 64043000 */ oris r4, r0, 0x3000 -/* 06651C 8006BABC 4BF9B6F9 */ bl xlHeapTake -/* 066520 8006BAC0 2C030000 */ cmpwi r3, 0 -/* 066524 8006BAC4 4082000C */ bne lbl_8006BAD0 -/* 066528 8006BAC8 38600000 */ li r3, 0 -/* 06652C 8006BACC 480001A0 */ b lbl_8006BC6C -lbl_8006BAD0: -/* 066530 8006BAD0 80010010 */ lwz r0, 0x10(r1) -/* 066534 8006BAD4 3D007CC6 */ lis r8, 0x7cc6 -/* 066538 8006BAD8 3D807CA8 */ lis r12, 0x7ca8 -/* 06653C 8006BADC 901F0000 */ stw r0, 0(r31) -/* 066540 8006BAE0 3CA09422 */ lis r5, 0x9422 -/* 066544 8006BAE4 38000000 */ li r0, 0 -/* 066548 8006BAE8 80610010 */ lwz r3, 0x10(r1) -/* 06654C 8006BAEC 3C8070E7 */ lis r4, 0x70e7 -/* 066550 8006BAF0 38A5FFE8 */ addi r5, r5, -24 -/* 066554 8006BAF4 5400103A */ slwi r0, r0, 2 -/* 066558 8006BAF8 7CA3012E */ stwx r5, r3, r0 -/* 06655C 8006BAFC 38000001 */ li r0, 1 -/* 066560 8006BB00 3CA09121 */ lis r5, 0x9121 -/* 066564 8006BB04 80610010 */ lwz r3, 0x10(r1) -/* 066568 8006BB08 3884003F */ addi r4, r4, 0x3f -/* 06656C 8006BB0C 5400103A */ slwi r0, r0, 2 -/* 066570 8006BB10 7C83012E */ stwx r4, r3, r0 -/* 066574 8006BB14 38000002 */ li r0, 2 -/* 066578 8006BB18 3C802127 */ lis r4, 0x2127 -/* 06657C 8006BB1C 80610010 */ lwz r3, 0x10(r1) -/* 066580 8006BB20 38A50010 */ addi r5, r5, 0x10 -/* 066584 8006BB24 5400103A */ slwi r0, r0, 2 -/* 066588 8006BB28 7CA3012E */ stwx r5, r3, r0 -/* 06658C 8006BB2C 38000003 */ li r0, 3 -/* 066590 8006BB30 3CA09101 */ lis r5, 0x9101 -/* 066594 8006BB34 80610010 */ lwz r3, 0x10(r1) -/* 066598 8006BB38 38840020 */ addi r4, r4, 0x20 -/* 06659C 8006BB3C 5400103A */ slwi r0, r0, 2 -/* 0665A0 8006BB40 7C83012E */ stwx r4, r3, r0 -/* 0665A4 8006BB44 38000004 */ li r0, 4 -/* 0665A8 8006BB48 38800005 */ li r4, 5 -/* 0665AC 8006BB4C 80610010 */ lwz r3, 0x10(r1) -/* 0665B0 8006BB50 38A50008 */ addi r5, r5, 8 -/* 0665B4 8006BB54 5400103A */ slwi r0, r0, 2 -/* 0665B8 8006BB58 7CA3012E */ stwx r5, r3, r0 -/* 0665BC 8006BB5C 38600006 */ li r3, 6 -/* 0665C0 8006BB60 38000007 */ li r0, 7 -/* 0665C4 8006BB64 80A10010 */ lwz r5, 0x10(r1) -/* 0665C8 8006BB68 38C83C30 */ addi r6, r8, 0x3c30 -/* 0665CC 8006BB6C 5484103A */ slwi r4, r4, 2 -/* 0665D0 8006BB70 7CC5212E */ stwx r6, r5, r4 -/* 0665D4 8006BB74 3CE03928 */ lis r7, 0x3928 -/* 0665D8 8006BB78 38A00008 */ li r5, 8 -/* 0665DC 8006BB7C 80810010 */ lwz r4, 0x10(r1) -/* 0665E0 8006BB80 38CC4830 */ addi r6, r12, 0x4830 -/* 0665E4 8006BB84 5463103A */ slwi r3, r3, 2 -/* 0665E8 8006BB88 7CC4192E */ stwx r6, r4, r3 -/* 0665EC 8006BB8C 38800009 */ li r4, 9 -/* 0665F0 8006BB90 3860000A */ li r3, 0xa -/* 0665F4 8006BB94 80C10010 */ lwz r6, 0x10(r1) -/* 0665F8 8006BB98 39284378 */ addi r9, r8, 0x4378 -/* 0665FC 8006BB9C 5400103A */ slwi r0, r0, 2 -/* 066600 8006BBA0 7D26012E */ stwx r9, r6, r0 -/* 066604 8006BBA4 3D607CA5 */ lis r11, 0x7ca5 -/* 066608 8006BBA8 3800000B */ li r0, 0xb -/* 06660C 8006BBAC 80C10010 */ lwz r6, 0x10(r1) -/* 066610 8006BBB0 38E7FFE0 */ addi r7, r7, -32 -/* 066614 8006BBB4 54A5103A */ slwi r5, r5, 2 -/* 066618 8006BBB8 7CE6292E */ stwx r7, r6, r5 -/* 06661C 8006BBBC 3D408101 */ lis r10, 0x8101 -/* 066620 8006BBC0 3900000C */ li r8, 0xc -/* 066624 8006BBC4 80A10010 */ lwz r5, 0x10(r1) -/* 066628 8006BBC8 38CC4C30 */ addi r6, r12, 0x4c30 -/* 06662C 8006BBCC 5484103A */ slwi r4, r4, 2 -/* 066630 8006BBD0 7CC5212E */ stwx r6, r5, r4 -/* 066634 8006BBD4 3CE08121 */ lis r7, 0x8121 -/* 066638 8006BBD8 38C0000D */ li r6, 0xd -/* 06663C 8006BBDC 80810010 */ lwz r4, 0x10(r1) -/* 066640 8006BBE0 5463103A */ slwi r3, r3, 2 -/* 066644 8006BBE4 3CA03821 */ lis r5, 0x3821 -/* 066648 8006BBE8 7D24192E */ stwx r9, r4, r3 -/* 06664C 8006BBEC 3880000E */ li r4, 0xe -/* 066650 8006BBF0 3C604E80 */ lis r3, 0x4e80 -/* 066654 8006BBF4 81210010 */ lwz r9, 0x10(r1) -/* 066658 8006BBF8 396B3C30 */ addi r11, r11, 0x3c30 -/* 06665C 8006BBFC 5400103A */ slwi r0, r0, 2 -/* 066660 8006BC00 7D69012E */ stwx r11, r9, r0 -/* 066664 8006BC04 3800000F */ li r0, 0xf -/* 066668 8006BC08 39600010 */ li r11, 0x10 -/* 06666C 8006BC0C 81210010 */ lwz r9, 0x10(r1) -/* 066670 8006BC10 394A0008 */ addi r10, r10, 8 -/* 066674 8006BC14 5508103A */ slwi r8, r8, 2 -/* 066678 8006BC18 7D49412E */ stwx r10, r9, r8 -/* 06667C 8006BC1C 557F103A */ slwi r31, r11, 2 -/* 066680 8006BC20 39270010 */ addi r9, r7, 0x10 -/* 066684 8006BC24 81010010 */ lwz r8, 0x10(r1) -/* 066688 8006BC28 54C6103A */ slwi r6, r6, 2 -/* 06668C 8006BC2C 38E50018 */ addi r7, r5, 0x18 -/* 066690 8006BC30 7D28312E */ stwx r9, r8, r6 -/* 066694 8006BC34 5486103A */ slwi r6, r4, 2 -/* 066698 8006BC38 38A30020 */ addi r5, r3, 0x20 -/* 06669C 8006BC3C 80610010 */ lwz r3, 0x10(r1) -/* 0666A0 8006BC40 5400103A */ slwi r0, r0, 2 -/* 0666A4 8006BC44 389F0000 */ addi r4, r31, 0 -/* 0666A8 8006BC48 7CE3312E */ stwx r7, r3, r6 -/* 0666AC 8006BC4C 80610010 */ lwz r3, 0x10(r1) -/* 0666B0 8006BC50 7CA3012E */ stwx r5, r3, r0 -/* 0666B4 8006BC54 80610010 */ lwz r3, 0x10(r1) -/* 0666B8 8006BC58 48031B55 */ bl DCStoreRange -/* 0666BC 8006BC5C 80610010 */ lwz r3, 0x10(r1) -/* 0666C0 8006BC60 7FE4FB78 */ mr r4, r31 -/* 0666C4 8006BC64 48031BD1 */ bl ICInvalidateRange -/* 0666C8 8006BC68 38600001 */ li r3, 1 -lbl_8006BC6C: -/* 0666CC 8006BC6C 80010024 */ lwz r0, 0x24(r1) -/* 0666D0 8006BC70 83E1001C */ lwz r31, 0x1c(r1) -/* 0666D4 8006BC74 38210020 */ addi r1, r1, 0x20 -/* 0666D8 8006BC78 7C0803A6 */ mtlr r0 -/* 0666DC 8006BC7C 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_D_SQRT.s b/asm/non_matchings/cpu/cpuCompile_D_SQRT.s deleted file mode 100644 index 97f226f1..00000000 --- a/asm/non_matchings/cpu/cpuCompile_D_SQRT.s +++ /dev/null @@ -1,272 +0,0 @@ -glabel cpuCompile_D_SQRT -/* 064990 80069F30 7C0802A6 */ mflr r0 -/* 064994 80069F34 90010004 */ stw r0, 4(r1) -/* 064998 80069F38 38000030 */ li r0, 0x30 -/* 06499C 80069F3C 5400103A */ slwi r0, r0, 2 -/* 0649A0 80069F40 9421FFB8 */ stwu r1, -0x48(r1) -/* 0649A4 80069F44 BEA1001C */ stmw r21, 0x1c(r1) -/* 0649A8 80069F48 3AC30000 */ addi r22, r3, 0 -/* 0649AC 80069F4C 3AA40000 */ addi r21, r4, 0 -/* 0649B0 80069F50 38610010 */ addi r3, r1, 0x10 -/* 0649B4 80069F54 64043000 */ oris r4, r0, 0x3000 -/* 0649B8 80069F58 4BF9D25D */ bl xlHeapTake -/* 0649BC 80069F5C 2C030000 */ cmpwi r3, 0 -/* 0649C0 80069F60 4082000C */ bne lbl_80069F6C -/* 0649C4 80069F64 38600000 */ li r3, 0 -/* 0649C8 80069F68 480003E8 */ b lbl_8006A350 -lbl_80069F6C: -/* 0649CC 80069F6C 80010010 */ lwz r0, 0x10(r1) -/* 0649D0 80069F70 3D20FC01 */ lis r9, 0xfc01 -/* 0649D4 80069F74 3D003CA0 */ lis r8, 0x3ca0 -/* 0649D8 80069F78 90150000 */ stw r0, 0(r21) -/* 0649DC 80069F7C 38160040 */ addi r0, r22, 0x40 -/* 0649E0 80069F80 7D560050 */ subf r10, r22, r0 -/* 0649E4 80069F84 38000000 */ li r0, 0 -/* 0649E8 80069F88 80610010 */ lwz r3, 0x10(r1) -/* 0649EC 80069F8C 3C8AC803 */ addis r4, r10, 0xc803 -/* 0649F0 80069F90 5400103A */ slwi r0, r0, 2 -/* 0649F4 80069F94 7C83012E */ stwx r4, r3, r0 -/* 0649F8 80069F98 38000001 */ li r0, 1 -/* 0649FC 80069F9C 3C804081 */ lis r4, 0x4081 -/* 064A00 80069FA0 80610010 */ lwz r3, 0x10(r1) -/* 064A04 80069FA4 38A90040 */ addi r5, r9, 0x40 -/* 064A08 80069FA8 5400103A */ slwi r0, r0, 2 -/* 064A0C 80069FAC 7CA3012E */ stwx r5, r3, r0 -/* 064A10 80069FB0 38000002 */ li r0, 2 -/* 064A14 80069FB4 3CA0FC40 */ lis r5, 0xfc40 -/* 064A18 80069FB8 80610010 */ lwz r3, 0x10(r1) -/* 064A1C 80069FBC 38840068 */ addi r4, r4, 0x68 -/* 064A20 80069FC0 5400103A */ slwi r0, r0, 2 -/* 064A24 80069FC4 7C83012E */ stwx r4, r3, r0 -/* 064A28 80069FC8 38600003 */ li r3, 3 -/* 064A2C 80069FCC 38000004 */ li r0, 4 -/* 064A30 80069FD0 80810010 */ lwz r4, 0x10(r1) -/* 064A34 80069FD4 38A50834 */ addi r5, r5, 0x834 -/* 064A38 80069FD8 5463103A */ slwi r3, r3, 2 -/* 064A3C 80069FDC 7CA4192E */ stwx r5, r4, r3 -/* 064A40 80069FE0 38A00005 */ li r5, 5 -/* 064A44 80069FE4 38800006 */ li r4, 6 -/* 064A48 80069FE8 80610010 */ lwz r3, 0x10(r1) -/* 064A4C 80069FEC 38C83FE0 */ addi r6, r8, 0x3fe0 -/* 064A50 80069FF0 5400103A */ slwi r0, r0, 2 -/* 064A54 80069FF4 7CC3012E */ stwx r6, r3, r0 -/* 064A58 80069FF8 38000007 */ li r0, 7 -/* 064A5C 80069FFC 38600008 */ li r3, 8 -/* 064A60 8006A000 80C10010 */ lwz r6, 0x10(r1) -/* 064A64 8006A004 3D6A90A3 */ addis r11, r10, 0x90a3 -/* 064A68 8006A008 54A5103A */ slwi r5, r5, 2 -/* 064A6C 8006A00C 7D66292E */ stwx r11, r6, r5 -/* 064A70 8006A010 38E00009 */ li r7, 9 -/* 064A74 8006A014 3CC0FC02 */ lis r6, 0xfc02 -/* 064A78 8006A018 80A10010 */ lwz r5, 0x10(r1) -/* 064A7C 8006A01C 3D8AC883 */ addis r12, r10, 0xc883 -/* 064A80 8006A020 5484103A */ slwi r4, r4, 2 -/* 064A84 8006A024 7D85212E */ stwx r12, r5, r4 -/* 064A88 8006A028 3AC0000A */ li r22, 0xa -/* 064A8C 8006A02C 3CA0FC44 */ lis r5, 0xfc44 -/* 064A90 8006A030 80810010 */ lwz r4, 0x10(r1) -/* 064A94 8006A034 39884008 */ addi r12, r8, 0x4008 -/* 064A98 8006A038 5400103A */ slwi r0, r0, 2 -/* 064A9C 8006A03C 7D84012E */ stwx r12, r4, r0 -/* 064AA0 8006A040 3880000B */ li r4, 0xb -/* 064AA4 8006A044 3800000C */ li r0, 0xc -/* 064AA8 8006A048 81810010 */ lwz r12, 0x10(r1) -/* 064AAC 8006A04C 5463103A */ slwi r3, r3, 2 -/* 064AB0 8006A050 3EA0FC42 */ lis r21, 0xfc42 -/* 064AB4 8006A054 7D6C192E */ stwx r11, r12, r3 -/* 064AB8 8006A058 3980000D */ li r12, 0xd -/* 064ABC 8006A05C 3860000E */ li r3, 0xe -/* 064AC0 8006A060 82E10010 */ lwz r23, 0x10(r1) -/* 064AC4 8006A064 3F0AC863 */ addis r24, r10, 0xc863 -/* 064AC8 8006A068 54E7103A */ slwi r7, r7, 2 -/* 064ACC 8006A06C 7F17392E */ stwx r24, r23, r7 -/* 064AD0 8006A070 38E600B2 */ addi r7, r6, 0xb2 -/* 064AD4 8006A074 56D6103A */ slwi r22, r22, 2 -/* 064AD8 8006A078 83010010 */ lwz r24, 0x10(r1) -/* 064ADC 8006A07C 38A500B2 */ addi r5, r5, 0xb2 -/* 064AE0 8006A080 5497103A */ slwi r23, r4, 2 -/* 064AE4 8006A084 7CF8B12E */ stwx r7, r24, r22 -/* 064AE8 8006A088 3889183C */ addi r4, r9, 0x183c -/* 064AEC 8006A08C 5416103A */ slwi r22, r0, 2 -/* 064AF0 8006A090 83010010 */ lwz r24, 0x10(r1) -/* 064AF4 8006A094 38150032 */ addi r0, r21, 0x32 -/* 064AF8 8006A098 558C103A */ slwi r12, r12, 2 -/* 064AFC 8006A09C 7CB8B92E */ stwx r5, r24, r23 -/* 064B00 8006A0A0 5463103A */ slwi r3, r3, 2 -/* 064B04 8006A0A4 82A10010 */ lwz r21, 0x10(r1) -/* 064B08 8006A0A8 7C95B12E */ stwx r4, r21, r22 -/* 064B0C 8006A0AC 82A10010 */ lwz r21, 0x10(r1) -/* 064B10 8006A0B0 7C15612E */ stwx r0, r21, r12 -/* 064B14 8006A0B4 81810010 */ lwz r12, 0x10(r1) -/* 064B18 8006A0B8 7CEC192E */ stwx r7, r12, r3 -/* 064B1C 8006A0BC 3860000F */ li r3, 0xf -/* 064B20 8006A0C0 81810010 */ lwz r12, 0x10(r1) -/* 064B24 8006A0C4 5463103A */ slwi r3, r3, 2 -/* 064B28 8006A0C8 7CAC192E */ stwx r5, r12, r3 -/* 064B2C 8006A0CC 38600010 */ li r3, 0x10 -/* 064B30 8006A0D0 3AC00011 */ li r22, 0x11 -/* 064B34 8006A0D4 81810010 */ lwz r12, 0x10(r1) -/* 064B38 8006A0D8 5463103A */ slwi r3, r3, 2 -/* 064B3C 8006A0DC 3AA00012 */ li r21, 0x12 -/* 064B40 8006A0E0 7C8C192E */ stwx r4, r12, r3 -/* 064B44 8006A0E4 38600013 */ li r3, 0x13 -/* 064B48 8006A0E8 39800014 */ li r12, 0x14 -/* 064B4C 8006A0EC 83010010 */ lwz r24, 0x10(r1) -/* 064B50 8006A0F0 56D7103A */ slwi r23, r22, 2 -/* 064B54 8006A0F4 3AC00015 */ li r22, 0x15 -/* 064B58 8006A0F8 7C18B92E */ stwx r0, r24, r23 -/* 064B5C 8006A0FC 3B400016 */ li r26, 0x16 -/* 064B60 8006A100 3B000017 */ li r24, 0x17 -/* 064B64 8006A104 83210010 */ lwz r25, 0x10(r1) -/* 064B68 8006A108 56B5103A */ slwi r21, r21, 2 -/* 064B6C 8006A10C 3AE00018 */ li r23, 0x18 -/* 064B70 8006A110 7CF9A92E */ stwx r7, r25, r21 -/* 064B74 8006A114 3B200019 */ li r25, 0x19 -/* 064B78 8006A118 3FE0FC21 */ lis r31, 0xfc21 -/* 064B7C 8006A11C 82A10010 */ lwz r21, 0x10(r1) -/* 064B80 8006A120 5463103A */ slwi r3, r3, 2 -/* 064B84 8006A124 3BC0001A */ li r30, 0x1a -/* 064B88 8006A128 7CB5192E */ stwx r5, r21, r3 -/* 064B8C 8006A12C 3C604280 */ lis r3, 0x4280 -/* 064B90 8006A130 3BA0001B */ li r29, 0x1b -/* 064B94 8006A134 82A10010 */ lwz r21, 0x10(r1) -/* 064B98 8006A138 558C103A */ slwi r12, r12, 2 -/* 064B9C 8006A13C 3B80001C */ li r28, 0x1c -/* 064BA0 8006A140 7C95612E */ stwx r4, r21, r12 -/* 064BA4 8006A144 3F604082 */ lis r27, 0x4082 -/* 064BA8 8006A148 3980001D */ li r12, 0x1d -/* 064BAC 8006A14C 82A10010 */ lwz r21, 0x10(r1) -/* 064BB0 8006A150 56D6103A */ slwi r22, r22, 2 -/* 064BB4 8006A154 575A103A */ slwi r26, r26, 2 -/* 064BB8 8006A158 7C15B12E */ stwx r0, r21, r22 -/* 064BBC 8006A15C 5700103A */ slwi r0, r24, 2 -/* 064BC0 8006A160 56F7103A */ slwi r23, r23, 2 -/* 064BC4 8006A164 82C10010 */ lwz r22, 0x10(r1) -/* 064BC8 8006A168 3B060032 */ addi r24, r6, 0x32 -/* 064BCC 8006A16C 5739103A */ slwi r25, r25, 2 -/* 064BD0 8006A170 7CF6D12E */ stwx r7, r22, r26 -/* 064BD4 8006A174 3B5F0032 */ addi r26, r31, 0x32 -/* 064BD8 8006A178 57DF103A */ slwi r31, r30, 2 -/* 064BDC 8006A17C 80C10010 */ lwz r6, 0x10(r1) -/* 064BE0 8006A180 3BC30044 */ addi r30, r3, 0x44 -/* 064BE4 8006A184 57A7103A */ slwi r7, r29, 2 -/* 064BE8 8006A188 7CA6012E */ stwx r5, r6, r0 -/* 064BEC 8006A18C 5786103A */ slwi r6, r28, 2 -/* 064BF0 8006A190 38BB000C */ addi r5, r27, 0xc -/* 064BF4 8006A194 83610010 */ lwz r27, 0x10(r1) -/* 064BF8 8006A198 5580103A */ slwi r0, r12, 2 -/* 064BFC 8006A19C 7C9BB92E */ stwx r4, r27, r23 -/* 064C00 8006A1A0 80810010 */ lwz r4, 0x10(r1) -/* 064C04 8006A1A4 7F04C92E */ stwx r24, r4, r25 -/* 064C08 8006A1A8 80810010 */ lwz r4, 0x10(r1) -/* 064C0C 8006A1AC 7F44F92E */ stwx r26, r4, r31 -/* 064C10 8006A1B0 80810010 */ lwz r4, 0x10(r1) -/* 064C14 8006A1B4 7FC4392E */ stwx r30, r4, r7 -/* 064C18 8006A1B8 80810010 */ lwz r4, 0x10(r1) -/* 064C1C 8006A1BC 7D24312E */ stwx r9, r4, r6 -/* 064C20 8006A1C0 80810010 */ lwz r4, 0x10(r1) -/* 064C24 8006A1C4 7CA4012E */ stwx r5, r4, r0 -/* 064C28 8006A1C8 3CA0FC20 */ lis r5, 0xfc20 -/* 064C2C 8006A1CC 80810010 */ lwz r4, 0x10(r1) -/* 064C30 8006A1D0 3800001E */ li r0, 0x1e -/* 064C34 8006A1D4 38A50090 */ addi r5, r5, 0x90 -/* 064C38 8006A1D8 5400103A */ slwi r0, r0, 2 -/* 064C3C 8006A1DC 7CA4012E */ stwx r5, r4, r0 -/* 064C40 8006A1E0 3800001F */ li r0, 0x1f -/* 064C44 8006A1E4 38C30034 */ addi r6, r3, 0x34 -/* 064C48 8006A1E8 80A10010 */ lwz r5, 0x10(r1) -/* 064C4C 8006A1EC 5404103A */ slwi r4, r0, 2 -/* 064C50 8006A1F0 38000020 */ li r0, 0x20 -/* 064C54 8006A1F4 7CC5212E */ stwx r6, r5, r4 -/* 064C58 8006A1F8 3CC04182 */ lis r6, 0x4182 -/* 064C5C 8006A1FC 5404103A */ slwi r4, r0, 2 -/* 064C60 8006A200 80E10010 */ lwz r7, 0x10(r1) -/* 064C64 8006A204 38000021 */ li r0, 0x21 -/* 064C68 8006A208 38A00022 */ li r5, 0x22 -/* 064C6C 8006A20C 7D27212E */ stwx r9, r7, r4 -/* 064C70 8006A210 3C8060A6 */ lis r4, 0x60a6 -/* 064C74 8006A214 39260020 */ addi r9, r6, 0x20 -/* 064C78 8006A218 80E10010 */ lwz r7, 0x10(r1) -/* 064C7C 8006A21C 5406103A */ slwi r6, r0, 2 -/* 064C80 8006A220 38000023 */ li r0, 0x23 -/* 064C84 8006A224 7D27312E */ stwx r9, r7, r6 -/* 064C88 8006A228 38E00024 */ li r7, 0x24 -/* 064C8C 8006A22C 39887FFF */ addi r12, r8, 0x7fff -/* 064C90 8006A230 81210010 */ lwz r9, 0x10(r1) -/* 064C94 8006A234 54A5103A */ slwi r5, r5, 2 -/* 064C98 8006A238 3CC03CA1 */ lis r6, 0x3ca1 -/* 064C9C 8006A23C 7D89292E */ stwx r12, r9, r5 -/* 064CA0 8006A240 38A00025 */ li r5, 0x25 -/* 064CA4 8006A244 3984FFFF */ addi r12, r4, -1 -/* 064CA8 8006A248 81210010 */ lwz r9, 0x10(r1) -/* 064CAC 8006A24C 5404103A */ slwi r4, r0, 2 -/* 064CB0 8006A250 38000026 */ li r0, 0x26 -/* 064CB4 8006A254 7D89212E */ stwx r12, r9, r4 -/* 064CB8 8006A258 38800027 */ li r4, 0x27 -/* 064CBC 8006A25C 54E7103A */ slwi r7, r7, 2 -/* 064CC0 8006A260 81210010 */ lwz r9, 0x10(r1) -/* 064CC4 8006A264 3B600028 */ li r27, 0x28 -/* 064CC8 8006A268 3B800029 */ li r28, 0x29 -/* 064CCC 8006A26C 7D69392E */ stwx r11, r9, r7 -/* 064CD0 8006A270 3BA0002A */ li r29, 0x2a -/* 064CD4 8006A274 38E6E000 */ addi r7, r6, -8192 -/* 064CD8 8006A278 80C10010 */ lwz r6, 0x10(r1) -/* 064CDC 8006A27C 54A5103A */ slwi r5, r5, 2 -/* 064CE0 8006A280 3BC0002B */ li r30, 0x2b -/* 064CE4 8006A284 7CE6292E */ stwx r7, r6, r5 -/* 064CE8 8006A288 3980002C */ li r12, 0x2c -/* 064CEC 8006A28C 38AB0004 */ addi r5, r11, 4 -/* 064CF0 8006A290 80C10010 */ lwz r6, 0x10(r1) -/* 064CF4 8006A294 5400103A */ slwi r0, r0, 2 -/* 064CF8 8006A298 3920002D */ li r9, 0x2d -/* 064CFC 8006A29C 7CA6012E */ stwx r5, r6, r0 -/* 064D00 8006A2A0 38E0002E */ li r7, 0x2e -/* 064D04 8006A2A4 3C0AC023 */ addis r0, r10, 0xc023 -/* 064D08 8006A2A8 81410010 */ lwz r10, 0x10(r1) -/* 064D0C 8006A2AC 5484103A */ slwi r4, r4, 2 -/* 064D10 8006A2B0 3CC04E80 */ lis r6, 0x4e80 -/* 064D14 8006A2B4 7C0A212E */ stwx r0, r10, r4 -/* 064D18 8006A2B8 3880002F */ li r4, 0x2f -/* 064D1C 8006A2BC 3BE30010 */ addi r31, r3, 0x10 -/* 064D20 8006A2C0 81410010 */ lwz r10, 0x10(r1) -/* 064D24 8006A2C4 5763103A */ slwi r3, r27, 2 -/* 064D28 8006A2C8 3AA00030 */ li r21, 0x30 -/* 064D2C 8006A2CC 7FEA192E */ stwx r31, r10, r3 -/* 064D30 8006A2D0 56BF103A */ slwi r31, r21, 2 -/* 064D34 8006A2D4 3B687FF0 */ addi r27, r8, 0x7ff0 -/* 064D38 8006A2D8 81410010 */ lwz r10, 0x10(r1) -/* 064D3C 8006A2DC 5788103A */ slwi r8, r28, 2 -/* 064D40 8006A2E0 57A3103A */ slwi r3, r29, 2 -/* 064D44 8006A2E4 7F6A412E */ stwx r27, r10, r8 -/* 064D48 8006A2E8 57DE103A */ slwi r30, r30, 2 -/* 064D4C 8006A2EC 558A103A */ slwi r10, r12, 2 -/* 064D50 8006A2F0 83A10010 */ lwz r29, 0x10(r1) -/* 064D54 8006A2F4 3D8038A0 */ lis r12, 0x38a0 -/* 064D58 8006A2F8 5528103A */ slwi r8, r9, 2 -/* 064D5C 8006A2FC 7D7D192E */ stwx r11, r29, r3 -/* 064D60 8006A300 54E7103A */ slwi r7, r7, 2 -/* 064D64 8006A304 38C60020 */ addi r6, r6, 0x20 -/* 064D68 8006A308 81210010 */ lwz r9, 0x10(r1) -/* 064D6C 8006A30C 5483103A */ slwi r3, r4, 2 -/* 064D70 8006A310 389F0000 */ addi r4, r31, 0 -/* 064D74 8006A314 7C09F12E */ stwx r0, r9, r30 -/* 064D78 8006A318 81210010 */ lwz r9, 0x10(r1) -/* 064D7C 8006A31C 7D89512E */ stwx r12, r9, r10 -/* 064D80 8006A320 81210010 */ lwz r9, 0x10(r1) -/* 064D84 8006A324 7CA9412E */ stwx r5, r9, r8 -/* 064D88 8006A328 80A10010 */ lwz r5, 0x10(r1) -/* 064D8C 8006A32C 7D65392E */ stwx r11, r5, r7 -/* 064D90 8006A330 80A10010 */ lwz r5, 0x10(r1) -/* 064D94 8006A334 7CC5192E */ stwx r6, r5, r3 -/* 064D98 8006A338 80610010 */ lwz r3, 0x10(r1) -/* 064D9C 8006A33C 48033471 */ bl DCStoreRange -/* 064DA0 8006A340 80610010 */ lwz r3, 0x10(r1) -/* 064DA4 8006A344 7FE4FB78 */ mr r4, r31 -/* 064DA8 8006A348 480334ED */ bl ICInvalidateRange -/* 064DAC 8006A34C 38600001 */ li r3, 1 -lbl_8006A350: -/* 064DB0 8006A350 BAA1001C */ lmw r21, 0x1c(r1) -/* 064DB4 8006A354 8001004C */ lwz r0, 0x4c(r1) -/* 064DB8 8006A358 38210048 */ addi r1, r1, 0x48 -/* 064DBC 8006A35C 7C0803A6 */ mtlr r0 -/* 064DC0 8006A360 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_FLOOR_W.s b/asm/non_matchings/cpu/cpuCompile_FLOOR_W.s deleted file mode 100644 index a624158b..00000000 --- a/asm/non_matchings/cpu/cpuCompile_FLOOR_W.s +++ /dev/null @@ -1,114 +0,0 @@ -glabel cpuCompile_FLOOR_W -/* 063EE8 80069488 7C0802A6 */ mflr r0 -/* 063EEC 8006948C 90010004 */ stw r0, 4(r1) -/* 063EF0 80069490 3800000D */ li r0, 0xd -/* 063EF4 80069494 5400103A */ slwi r0, r0, 2 -/* 063EF8 80069498 9421FFE0 */ stwu r1, -0x20(r1) -/* 063EFC 8006949C 93E1001C */ stw r31, 0x1c(r1) -/* 063F00 800694A0 3BE40000 */ addi r31, r4, 0 -/* 063F04 800694A4 64043000 */ oris r4, r0, 0x3000 -/* 063F08 800694A8 93C10018 */ stw r30, 0x18(r1) -/* 063F0C 800694AC 3BC30000 */ addi r30, r3, 0 -/* 063F10 800694B0 38610010 */ addi r3, r1, 0x10 -/* 063F14 800694B4 4BF9DD01 */ bl xlHeapTake -/* 063F18 800694B8 2C030000 */ cmpwi r3, 0 -/* 063F1C 800694BC 4082000C */ bne lbl_800694C8 -/* 063F20 800694C0 38600000 */ li r3, 0 -/* 063F24 800694C4 48000168 */ b lbl_8006962C -lbl_800694C8: -/* 063F28 800694C8 80010010 */ lwz r0, 0x10(r1) -/* 063F2C 800694CC 3CC09422 */ lis r6, 0x9422 -/* 063F30 800694D0 38600000 */ li r3, 0 -/* 063F34 800694D4 901F0000 */ stw r0, 0(r31) -/* 063F38 800694D8 381E0140 */ addi r0, r30, 0x140 -/* 063F3C 800694DC 7C1E0050 */ subf r0, r30, r0 -/* 063F40 800694E0 80810010 */ lwz r4, 0x10(r1) -/* 063F44 800694E4 5405043E */ clrlwi r5, r0, 0x10 -/* 063F48 800694E8 38C6FFE0 */ addi r6, r6, -32 -/* 063F4C 800694EC 5460103A */ slwi r0, r3, 2 -/* 063F50 800694F0 7CC4012E */ stwx r6, r4, r0 -/* 063F54 800694F4 38000001 */ li r0, 1 -/* 063F58 800694F8 3C80FC01 */ lis r4, 0xfc01 -/* 063F5C 800694FC 80610010 */ lwz r3, 0x10(r1) -/* 063F60 80069500 3CA5C803 */ addis r5, r5, 0xc803 -/* 063F64 80069504 5400103A */ slwi r0, r0, 2 -/* 063F68 80069508 7CA3012E */ stwx r5, r3, r0 -/* 063F6C 8006950C 38000002 */ li r0, 2 -/* 063F70 80069510 3CA04180 */ lis r5, 0x4180 -/* 063F74 80069514 80610010 */ lwz r3, 0x10(r1) -/* 063F78 80069518 38840040 */ addi r4, r4, 0x40 -/* 063F7C 8006951C 5400103A */ slwi r0, r0, 2 -/* 063F80 80069520 7C83012E */ stwx r4, r3, r0 -/* 063F84 80069524 38600003 */ li r3, 3 -/* 063F88 80069528 38000004 */ li r0, 4 -/* 063F8C 8006952C 80810010 */ lwz r4, 0x10(r1) -/* 063F90 80069530 38A5000C */ addi r5, r5, 0xc -/* 063F94 80069534 5463103A */ slwi r3, r3, 2 -/* 063F98 80069538 7CA4192E */ stwx r5, r4, r3 -/* 063F9C 8006953C 3D0038C0 */ lis r8, 0x38c0 -/* 063FA0 80069540 3CA04280 */ lis r5, 0x4280 -/* 063FA4 80069544 80810010 */ lwz r4, 0x10(r1) -/* 063FA8 80069548 5400103A */ slwi r0, r0, 2 -/* 063FAC 8006954C 38600005 */ li r3, 5 -/* 063FB0 80069550 7D04012E */ stwx r8, r4, r0 -/* 063FB4 80069554 38000006 */ li r0, 6 -/* 063FB8 80069558 3CE0FC20 */ lis r7, 0xfc20 -/* 063FBC 8006955C 80810010 */ lwz r4, 0x10(r1) -/* 063FC0 80069560 38A50008 */ addi r5, r5, 8 -/* 063FC4 80069564 5463103A */ slwi r3, r3, 2 -/* 063FC8 80069568 7CA4192E */ stwx r5, r4, r3 -/* 063FCC 8006956C 38600007 */ li r3, 7 -/* 063FD0 80069570 3CC0D821 */ lis r6, 0xd821 -/* 063FD4 80069574 80810010 */ lwz r4, 0x10(r1) -/* 063FD8 80069578 38A80001 */ addi r5, r8, 1 -/* 063FDC 8006957C 5400103A */ slwi r0, r0, 2 -/* 063FE0 80069580 7CA4012E */ stwx r5, r4, r0 -/* 063FE4 80069584 38000008 */ li r0, 8 -/* 063FE8 80069588 3CA080A1 */ lis r5, 0x80a1 -/* 063FEC 8006958C 80810010 */ lwz r4, 0x10(r1) -/* 063FF0 80069590 38E7081E */ addi r7, r7, 0x81e -/* 063FF4 80069594 5463103A */ slwi r3, r3, 2 -/* 063FF8 80069598 7CE4192E */ stwx r7, r4, r3 -/* 063FFC 8006959C 38600009 */ li r3, 9 -/* 064000 800695A0 3CE07CA6 */ lis r7, 0x7ca6 -/* 064004 800695A4 80810010 */ lwz r4, 0x10(r1) -/* 064008 800695A8 38C60010 */ addi r6, r6, 0x10 -/* 06400C 800695AC 5400103A */ slwi r0, r0, 2 -/* 064010 800695B0 7CC4012E */ stwx r6, r4, r0 -/* 064014 800695B4 3800000A */ li r0, 0xa -/* 064018 800695B8 3CC03821 */ lis r6, 0x3821 -/* 06401C 800695BC 80810010 */ lwz r4, 0x10(r1) -/* 064020 800695C0 38A50014 */ addi r5, r5, 0x14 -/* 064024 800695C4 5463103A */ slwi r3, r3, 2 -/* 064028 800695C8 7CA4192E */ stwx r5, r4, r3 -/* 06402C 800695CC 3880000B */ li r4, 0xb -/* 064030 800695D0 3C604E80 */ lis r3, 0x4e80 -/* 064034 800695D4 80A10010 */ lwz r5, 0x10(r1) -/* 064038 800695D8 38E72850 */ addi r7, r7, 0x2850 -/* 06403C 800695DC 5400103A */ slwi r0, r0, 2 -/* 064040 800695E0 7CE5012E */ stwx r7, r5, r0 -/* 064044 800695E4 3800000C */ li r0, 0xc -/* 064048 800695E8 38E0000D */ li r7, 0xd -/* 06404C 800695EC 80A10010 */ lwz r5, 0x10(r1) -/* 064050 800695F0 38C60020 */ addi r6, r6, 0x20 -/* 064054 800695F4 5484103A */ slwi r4, r4, 2 -/* 064058 800695F8 7CC5212E */ stwx r6, r5, r4 -/* 06405C 800695FC 54FF103A */ slwi r31, r7, 2 -/* 064060 80069600 38A30020 */ addi r5, r3, 0x20 -/* 064064 80069604 80610010 */ lwz r3, 0x10(r1) -/* 064068 80069608 5400103A */ slwi r0, r0, 2 -/* 06406C 8006960C 389F0000 */ addi r4, r31, 0 -/* 064070 80069610 7CA3012E */ stwx r5, r3, r0 -/* 064074 80069614 80610010 */ lwz r3, 0x10(r1) -/* 064078 80069618 48034195 */ bl DCStoreRange -/* 06407C 8006961C 80610010 */ lwz r3, 0x10(r1) -/* 064080 80069620 7FE4FB78 */ mr r4, r31 -/* 064084 80069624 48034211 */ bl ICInvalidateRange -/* 064088 80069628 38600001 */ li r3, 1 -lbl_8006962C: -/* 06408C 8006962C 80010024 */ lwz r0, 0x24(r1) -/* 064090 80069630 83E1001C */ lwz r31, 0x1c(r1) -/* 064094 80069634 83C10018 */ lwz r30, 0x18(r1) -/* 064098 80069638 7C0803A6 */ mtlr r0 -/* 06409C 8006963C 38210020 */ addi r1, r1, 0x20 -/* 0640A0 80069640 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_LB.s b/asm/non_matchings/cpu/cpuCompile_LB.s deleted file mode 100644 index 05611a71..00000000 --- a/asm/non_matchings/cpu/cpuCompile_LB.s +++ /dev/null @@ -1,94 +0,0 @@ -glabel cpuCompile_LB -/* 063D7C 8006931C 7C0802A6 */ mflr r0 -/* 063D80 80069320 90010004 */ stw r0, 4(r1) -/* 063D84 80069324 3800000B */ li r0, 0xb -/* 063D88 80069328 5400103A */ slwi r0, r0, 2 -/* 063D8C 8006932C 9421FFE0 */ stwu r1, -0x20(r1) -/* 063D90 80069330 93E1001C */ stw r31, 0x1c(r1) -/* 063D94 80069334 3BE40000 */ addi r31, r4, 0 -/* 063D98 80069338 64043000 */ oris r4, r0, 0x3000 -/* 063D9C 8006933C 93C10018 */ stw r30, 0x18(r1) -/* 063DA0 80069340 3BC30000 */ addi r30, r3, 0 -/* 063DA4 80069344 38610010 */ addi r3, r1, 0x10 -/* 063DA8 80069348 4BF9DE6D */ bl xlHeapTake -/* 063DAC 8006934C 2C030000 */ cmpwi r3, 0 -/* 063DB0 80069350 4082000C */ bne lbl_8006935C -/* 063DB4 80069354 38600000 */ li r3, 0 -/* 063DB8 80069358 48000118 */ b lbl_80069470 -lbl_8006935C: -/* 063DBC 8006935C 80010010 */ lwz r0, 0x10(r1) -/* 063DC0 80069360 3D007CA5 */ lis r8, 0x7ca5 -/* 063DC4 80069364 3CC080E6 */ lis r6, 0x80e6 -/* 063DC8 80069368 901F0000 */ stw r0, 0(r31) -/* 063DCC 8006936C 3CA054C6 */ lis r5, 0x54c6 -/* 063DD0 80069370 38600000 */ li r3, 0 -/* 063DD4 80069374 80810010 */ lwz r4, 0x10(r1) -/* 063DD8 80069378 381E0B64 */ addi r0, r30, 0xb64 -/* 063DDC 8006937C 38A5103A */ addi r5, r5, 0x103a -/* 063DE0 80069380 5463103A */ slwi r3, r3, 2 -/* 063DE4 80069384 7CA4192E */ stwx r5, r4, r3 -/* 063DE8 80069388 7C9E0050 */ subf r4, r30, r0 -/* 063DEC 8006938C 38000001 */ li r0, 1 -/* 063DF0 80069390 80610010 */ lwz r3, 0x10(r1) -/* 063DF4 80069394 3C8438E3 */ addis r4, r4, 0x38e3 -/* 063DF8 80069398 5400103A */ slwi r0, r0, 2 -/* 063DFC 8006939C 7C83012E */ stwx r4, r3, r0 -/* 063E00 800693A0 3C807CC6 */ lis r4, 0x7cc6 -/* 063E04 800693A4 38000002 */ li r0, 2 -/* 063E08 800693A8 80610010 */ lwz r3, 0x10(r1) -/* 063E0C 800693AC 3884382E */ addi r4, r4, 0x382e -/* 063E10 800693B0 5400103A */ slwi r0, r0, 2 -/* 063E14 800693B4 7C83012E */ stwx r4, r3, r0 -/* 063E18 800693B8 38600003 */ li r3, 3 -/* 063E1C 800693BC 38000004 */ li r0, 4 -/* 063E20 800693C0 80810010 */ lwz r4, 0x10(r1) -/* 063E24 800693C4 38A60008 */ addi r5, r6, 8 -/* 063E28 800693C8 5463103A */ slwi r3, r3, 2 -/* 063E2C 800693CC 7CA4192E */ stwx r5, r4, r3 -/* 063E30 800693D0 38600005 */ li r3, 5 -/* 063E34 800693D4 3CE080E7 */ lis r7, 0x80e7 -/* 063E38 800693D8 80810010 */ lwz r4, 0x10(r1) -/* 063E3C 800693DC 38A83A14 */ addi r5, r8, 0x3a14 -/* 063E40 800693E0 5400103A */ slwi r0, r0, 2 -/* 063E44 800693E4 7CA4012E */ stwx r5, r4, r0 -/* 063E48 800693E8 38000006 */ li r0, 6 -/* 063E4C 800693EC 38A00007 */ li r5, 7 -/* 063E50 800693F0 80810010 */ lwz r4, 0x10(r1) -/* 063E54 800693F4 38C60004 */ addi r6, r6, 4 -/* 063E58 800693F8 5463103A */ slwi r3, r3, 2 -/* 063E5C 800693FC 7CC4192E */ stwx r6, r4, r3 -/* 063E60 80069400 38800008 */ li r4, 8 -/* 063E64 80069404 3C604E80 */ lis r3, 0x4e80 -/* 063E68 80069408 80C10010 */ lwz r6, 0x10(r1) -/* 063E6C 8006940C 38E70004 */ addi r7, r7, 4 -/* 063E70 80069410 5400103A */ slwi r0, r0, 2 -/* 063E74 80069414 7CE6012E */ stwx r7, r6, r0 -/* 063E78 80069418 38000009 */ li r0, 9 -/* 063E7C 8006941C 3920000A */ li r9, 0xa -/* 063E80 80069420 80C10010 */ lwz r6, 0x10(r1) -/* 063E84 80069424 38E838AE */ addi r7, r8, 0x38ae -/* 063E88 80069428 54A5103A */ slwi r5, r5, 2 -/* 063E8C 8006942C 7CE6292E */ stwx r7, r6, r5 -/* 063E90 80069430 553F103A */ slwi r31, r9, 2 -/* 063E94 80069434 38E80774 */ addi r7, r8, 0x774 -/* 063E98 80069438 80C10010 */ lwz r6, 0x10(r1) -/* 063E9C 8006943C 5484103A */ slwi r4, r4, 2 -/* 063EA0 80069440 38A30020 */ addi r5, r3, 0x20 -/* 063EA4 80069444 7CE6212E */ stwx r7, r6, r4 -/* 063EA8 80069448 5400103A */ slwi r0, r0, 2 -/* 063EAC 8006944C 389F0000 */ addi r4, r31, 0 -/* 063EB0 80069450 80610010 */ lwz r3, 0x10(r1) -/* 063EB4 80069454 7CA3012E */ stwx r5, r3, r0 -/* 063EB8 80069458 80610010 */ lwz r3, 0x10(r1) -/* 063EBC 8006945C 48034351 */ bl DCStoreRange -/* 063EC0 80069460 80610010 */ lwz r3, 0x10(r1) -/* 063EC4 80069464 7FE4FB78 */ mr r4, r31 -/* 063EC8 80069468 480343CD */ bl ICInvalidateRange -/* 063ECC 8006946C 38600001 */ li r3, 1 -lbl_80069470: -/* 063ED0 80069470 80010024 */ lwz r0, 0x24(r1) -/* 063ED4 80069474 83E1001C */ lwz r31, 0x1c(r1) -/* 063ED8 80069478 83C10018 */ lwz r30, 0x18(r1) -/* 063EDC 8006947C 7C0803A6 */ mtlr r0 -/* 063EE0 80069480 38210020 */ addi r1, r1, 0x20 -/* 063EE4 80069484 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_LBU.s b/asm/non_matchings/cpu/cpuCompile_LBU.s deleted file mode 100644 index a055e14c..00000000 --- a/asm/non_matchings/cpu/cpuCompile_LBU.s +++ /dev/null @@ -1,89 +0,0 @@ -glabel cpuCompile_LBU -/* 063960 80068F00 7C0802A6 */ mflr r0 -/* 063964 80068F04 90010004 */ stw r0, 4(r1) -/* 063968 80068F08 3800000A */ li r0, 0xa -/* 06396C 80068F0C 5400103A */ slwi r0, r0, 2 -/* 063970 80068F10 9421FFE0 */ stwu r1, -0x20(r1) -/* 063974 80068F14 93E1001C */ stw r31, 0x1c(r1) -/* 063978 80068F18 3BE40000 */ addi r31, r4, 0 -/* 06397C 80068F1C 64043000 */ oris r4, r0, 0x3000 -/* 063980 80068F20 93C10018 */ stw r30, 0x18(r1) -/* 063984 80068F24 3BC30000 */ addi r30, r3, 0 -/* 063988 80068F28 38610010 */ addi r3, r1, 0x10 -/* 06398C 80068F2C 4BF9E289 */ bl xlHeapTake -/* 063990 80068F30 2C030000 */ cmpwi r3, 0 -/* 063994 80068F34 4082000C */ bne lbl_80068F40 -/* 063998 80068F38 38600000 */ li r3, 0 -/* 06399C 80068F3C 48000104 */ b lbl_80069040 -lbl_80068F40: -/* 0639A0 80068F40 80010010 */ lwz r0, 0x10(r1) -/* 0639A4 80068F44 3CC080E6 */ lis r6, 0x80e6 -/* 0639A8 80068F48 3D007CA5 */ lis r8, 0x7ca5 -/* 0639AC 80068F4C 901F0000 */ stw r0, 0(r31) -/* 0639B0 80068F50 3CA054C6 */ lis r5, 0x54c6 -/* 0639B4 80068F54 38600000 */ li r3, 0 -/* 0639B8 80068F58 80810010 */ lwz r4, 0x10(r1) -/* 0639BC 80068F5C 381E0B64 */ addi r0, r30, 0xb64 -/* 0639C0 80068F60 38A5103A */ addi r5, r5, 0x103a -/* 0639C4 80068F64 5463103A */ slwi r3, r3, 2 -/* 0639C8 80068F68 7CA4192E */ stwx r5, r4, r3 -/* 0639CC 80068F6C 7C9E0050 */ subf r4, r30, r0 -/* 0639D0 80068F70 38000001 */ li r0, 1 -/* 0639D4 80068F74 80610010 */ lwz r3, 0x10(r1) -/* 0639D8 80068F78 3C8438E3 */ addis r4, r4, 0x38e3 -/* 0639DC 80068F7C 5400103A */ slwi r0, r0, 2 -/* 0639E0 80068F80 7C83012E */ stwx r4, r3, r0 -/* 0639E4 80068F84 3C807CC6 */ lis r4, 0x7cc6 -/* 0639E8 80068F88 38000002 */ li r0, 2 -/* 0639EC 80068F8C 80610010 */ lwz r3, 0x10(r1) -/* 0639F0 80068F90 3884382E */ addi r4, r4, 0x382e -/* 0639F4 80068F94 5400103A */ slwi r0, r0, 2 -/* 0639F8 80068F98 7C83012E */ stwx r4, r3, r0 -/* 0639FC 80068F9C 38000003 */ li r0, 3 -/* 063A00 80068FA0 38600004 */ li r3, 4 -/* 063A04 80068FA4 80810010 */ lwz r4, 0x10(r1) -/* 063A08 80068FA8 38A60008 */ addi r5, r6, 8 -/* 063A0C 80068FAC 5400103A */ slwi r0, r0, 2 -/* 063A10 80068FB0 7CA4012E */ stwx r5, r4, r0 -/* 063A14 80068FB4 38000005 */ li r0, 5 -/* 063A18 80068FB8 3CE080E7 */ lis r7, 0x80e7 -/* 063A1C 80068FBC 80810010 */ lwz r4, 0x10(r1) -/* 063A20 80068FC0 38A83A14 */ addi r5, r8, 0x3a14 -/* 063A24 80068FC4 5463103A */ slwi r3, r3, 2 -/* 063A28 80068FC8 7CA4192E */ stwx r5, r4, r3 -/* 063A2C 80068FCC 38A00006 */ li r5, 6 -/* 063A30 80068FD0 38800007 */ li r4, 7 -/* 063A34 80068FD4 80610010 */ lwz r3, 0x10(r1) -/* 063A38 80068FD8 38C60004 */ addi r6, r6, 4 -/* 063A3C 80068FDC 5400103A */ slwi r0, r0, 2 -/* 063A40 80068FE0 7CC3012E */ stwx r6, r3, r0 -/* 063A44 80068FE4 3C604E80 */ lis r3, 0x4e80 -/* 063A48 80068FE8 38000008 */ li r0, 8 -/* 063A4C 80068FEC 80C10010 */ lwz r6, 0x10(r1) -/* 063A50 80068FF0 38E70004 */ addi r7, r7, 4 -/* 063A54 80068FF4 54A5103A */ slwi r5, r5, 2 -/* 063A58 80068FF8 7CE6292E */ stwx r7, r6, r5 -/* 063A5C 80068FFC 38A00009 */ li r5, 9 -/* 063A60 80069000 54BF103A */ slwi r31, r5, 2 -/* 063A64 80069004 80A10010 */ lwz r5, 0x10(r1) -/* 063A68 80069008 38C838AE */ addi r6, r8, 0x38ae -/* 063A6C 8006900C 5484103A */ slwi r4, r4, 2 -/* 063A70 80069010 7CC5212E */ stwx r6, r5, r4 -/* 063A74 80069014 38A30020 */ addi r5, r3, 0x20 -/* 063A78 80069018 5400103A */ slwi r0, r0, 2 -/* 063A7C 8006901C 80610010 */ lwz r3, 0x10(r1) -/* 063A80 80069020 7FE4FB78 */ mr r4, r31 -/* 063A84 80069024 7CA3012E */ stwx r5, r3, r0 -/* 063A88 80069028 80610010 */ lwz r3, 0x10(r1) -/* 063A8C 8006902C 48034781 */ bl DCStoreRange -/* 063A90 80069030 80610010 */ lwz r3, 0x10(r1) -/* 063A94 80069034 7FE4FB78 */ mr r4, r31 -/* 063A98 80069038 480347FD */ bl ICInvalidateRange -/* 063A9C 8006903C 38600001 */ li r3, 1 -lbl_80069040: -/* 063AA0 80069040 80010024 */ lwz r0, 0x24(r1) -/* 063AA4 80069044 83E1001C */ lwz r31, 0x1c(r1) -/* 063AA8 80069048 83C10018 */ lwz r30, 0x18(r1) -/* 063AAC 8006904C 7C0803A6 */ mtlr r0 -/* 063AB0 80069050 38210020 */ addi r1, r1, 0x20 -/* 063AB4 80069054 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_LDC.s b/asm/non_matchings/cpu/cpuCompile_LDC.s deleted file mode 100644 index 8f23eb05..00000000 --- a/asm/non_matchings/cpu/cpuCompile_LDC.s +++ /dev/null @@ -1,101 +0,0 @@ -glabel cpuCompile_LDC -/* 06326C 8006880C 7C0802A6 */ mflr r0 -/* 063270 80068810 90010004 */ stw r0, 4(r1) -/* 063274 80068814 3800000C */ li r0, 0xc -/* 063278 80068818 5400103A */ slwi r0, r0, 2 -/* 06327C 8006881C 9421FFE0 */ stwu r1, -0x20(r1) -/* 063280 80068820 93E1001C */ stw r31, 0x1c(r1) -/* 063284 80068824 3BE40000 */ addi r31, r4, 0 -/* 063288 80068828 64043000 */ oris r4, r0, 0x3000 -/* 06328C 8006882C 93C10018 */ stw r30, 0x18(r1) -/* 063290 80068830 3BC30000 */ addi r30, r3, 0 -/* 063294 80068834 38610010 */ addi r3, r1, 0x10 -/* 063298 80068838 4BF9E97D */ bl xlHeapTake -/* 06329C 8006883C 2C030000 */ cmpwi r3, 0 -/* 0632A0 80068840 4082000C */ bne lbl_8006884C -/* 0632A4 80068844 38600000 */ li r3, 0 -/* 0632A8 80068848 48000134 */ b lbl_8006897C -lbl_8006884C: -/* 0632AC 8006884C 80010010 */ lwz r0, 0x10(r1) -/* 0632B0 80068850 3D0080E6 */ lis r8, 0x80e6 -/* 0632B4 80068854 3CC054C6 */ lis r6, 0x54c6 -/* 0632B8 80068858 901F0000 */ stw r0, 0(r31) -/* 0632BC 8006885C 38600000 */ li r3, 0 -/* 0632C0 80068860 381E0B64 */ addi r0, r30, 0xb64 -/* 0632C4 80068864 80A10010 */ lwz r5, 0x10(r1) -/* 0632C8 80068868 7C9E0050 */ subf r4, r30, r0 -/* 0632CC 8006886C 38C6103A */ addi r6, r6, 0x103a -/* 0632D0 80068870 5460103A */ slwi r0, r3, 2 -/* 0632D4 80068874 7CC5012E */ stwx r6, r5, r0 -/* 0632D8 80068878 38000001 */ li r0, 1 -/* 0632DC 8006887C 3CA07CC6 */ lis r5, 0x7cc6 -/* 0632E0 80068880 80610010 */ lwz r3, 0x10(r1) -/* 0632E4 80068884 3C8438E3 */ addis r4, r4, 0x38e3 -/* 0632E8 80068888 5400103A */ slwi r0, r0, 2 -/* 0632EC 8006888C 7C83012E */ stwx r4, r3, r0 -/* 0632F0 80068890 38600002 */ li r3, 2 -/* 0632F4 80068894 38000003 */ li r0, 3 -/* 0632F8 80068898 80810010 */ lwz r4, 0x10(r1) -/* 0632FC 8006889C 38A5382E */ addi r5, r5, 0x382e -/* 063300 800688A0 5463103A */ slwi r3, r3, 2 -/* 063304 800688A4 7CA4192E */ stwx r5, r4, r3 -/* 063308 800688A8 3CA07CA5 */ lis r5, 0x7ca5 -/* 06330C 800688AC 38600004 */ li r3, 4 -/* 063310 800688B0 80810010 */ lwz r4, 0x10(r1) -/* 063314 800688B4 38C80008 */ addi r6, r8, 8 -/* 063318 800688B8 5400103A */ slwi r0, r0, 2 -/* 06331C 800688BC 7CC4012E */ stwx r6, r4, r0 -/* 063320 800688C0 38000005 */ li r0, 5 -/* 063324 800688C4 3CC080E7 */ lis r6, 0x80e7 -/* 063328 800688C8 80810010 */ lwz r4, 0x10(r1) -/* 06332C 800688CC 38A53A14 */ addi r5, r5, 0x3a14 -/* 063330 800688D0 5463103A */ slwi r3, r3, 2 -/* 063334 800688D4 7CA4192E */ stwx r5, r4, r3 -/* 063338 800688D8 38600006 */ li r3, 6 -/* 06333C 800688DC 3CE07CE5 */ lis r7, 0x7ce5 -/* 063340 800688E0 80810010 */ lwz r4, 0x10(r1) -/* 063344 800688E4 38A80004 */ addi r5, r8, 4 -/* 063348 800688E8 5400103A */ slwi r0, r0, 2 -/* 06334C 800688EC 7CA4012E */ stwx r5, r4, r0 -/* 063350 800688F0 38000007 */ li r0, 7 -/* 063354 800688F4 38A00008 */ li r5, 8 -/* 063358 800688F8 80810010 */ lwz r4, 0x10(r1) -/* 06335C 800688FC 38C60004 */ addi r6, r6, 4 -/* 063360 80068900 5463103A */ slwi r3, r3, 2 -/* 063364 80068904 7CC4192E */ stwx r6, r4, r3 -/* 063368 80068908 3CC080C7 */ lis r6, 0x80c7 -/* 06336C 8006890C 38800009 */ li r4, 9 -/* 063370 80068910 80610010 */ lwz r3, 0x10(r1) -/* 063374 80068914 38E73A14 */ addi r7, r7, 0x3a14 -/* 063378 80068918 5400103A */ slwi r0, r0, 2 -/* 06337C 8006891C 7CE3012E */ stwx r7, r3, r0 -/* 063380 80068920 3C604E80 */ lis r3, 0x4e80 -/* 063384 80068924 3800000A */ li r0, 0xa -/* 063388 80068928 80E10010 */ lwz r7, 0x10(r1) -/* 06338C 8006892C 54A5103A */ slwi r5, r5, 2 -/* 063390 80068930 3D0080A7 */ lis r8, 0x80a7 -/* 063394 80068934 7D07292E */ stwx r8, r7, r5 -/* 063398 80068938 38A0000B */ li r5, 0xb -/* 06339C 8006893C 54BF103A */ slwi r31, r5, 2 -/* 0633A0 80068940 80A10010 */ lwz r5, 0x10(r1) -/* 0633A4 80068944 38C60004 */ addi r6, r6, 4 -/* 0633A8 80068948 5484103A */ slwi r4, r4, 2 -/* 0633AC 8006894C 7CC5212E */ stwx r6, r5, r4 -/* 0633B0 80068950 38A30020 */ addi r5, r3, 0x20 -/* 0633B4 80068954 5400103A */ slwi r0, r0, 2 -/* 0633B8 80068958 80610010 */ lwz r3, 0x10(r1) -/* 0633BC 8006895C 7FE4FB78 */ mr r4, r31 -/* 0633C0 80068960 7CA3012E */ stwx r5, r3, r0 -/* 0633C4 80068964 80610010 */ lwz r3, 0x10(r1) -/* 0633C8 80068968 48034E45 */ bl DCStoreRange -/* 0633CC 8006896C 80610010 */ lwz r3, 0x10(r1) -/* 0633D0 80068970 7FE4FB78 */ mr r4, r31 -/* 0633D4 80068974 48034EC1 */ bl ICInvalidateRange -/* 0633D8 80068978 38600001 */ li r3, 1 -lbl_8006897C: -/* 0633DC 8006897C 80010024 */ lwz r0, 0x24(r1) -/* 0633E0 80068980 83E1001C */ lwz r31, 0x1c(r1) -/* 0633E4 80068984 83C10018 */ lwz r30, 0x18(r1) -/* 0633E8 80068988 7C0803A6 */ mtlr r0 -/* 0633EC 8006898C 38210020 */ addi r1, r1, 0x20 -/* 0633F0 80068990 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_LH.s b/asm/non_matchings/cpu/cpuCompile_LH.s deleted file mode 100644 index e6eb1306..00000000 --- a/asm/non_matchings/cpu/cpuCompile_LH.s +++ /dev/null @@ -1,94 +0,0 @@ -glabel cpuCompile_LH -/* 063C10 800691B0 7C0802A6 */ mflr r0 -/* 063C14 800691B4 90010004 */ stw r0, 4(r1) -/* 063C18 800691B8 3800000B */ li r0, 0xb -/* 063C1C 800691BC 5400103A */ slwi r0, r0, 2 -/* 063C20 800691C0 9421FFE0 */ stwu r1, -0x20(r1) -/* 063C24 800691C4 93E1001C */ stw r31, 0x1c(r1) -/* 063C28 800691C8 3BE40000 */ addi r31, r4, 0 -/* 063C2C 800691CC 64043000 */ oris r4, r0, 0x3000 -/* 063C30 800691D0 93C10018 */ stw r30, 0x18(r1) -/* 063C34 800691D4 3BC30000 */ addi r30, r3, 0 -/* 063C38 800691D8 38610010 */ addi r3, r1, 0x10 -/* 063C3C 800691DC 4BF9DFD9 */ bl xlHeapTake -/* 063C40 800691E0 2C030000 */ cmpwi r3, 0 -/* 063C44 800691E4 4082000C */ bne lbl_800691F0 -/* 063C48 800691E8 38600000 */ li r3, 0 -/* 063C4C 800691EC 48000118 */ b lbl_80069304 -lbl_800691F0: -/* 063C50 800691F0 80010010 */ lwz r0, 0x10(r1) -/* 063C54 800691F4 3D007CA5 */ lis r8, 0x7ca5 -/* 063C58 800691F8 3CC080E6 */ lis r6, 0x80e6 -/* 063C5C 800691FC 901F0000 */ stw r0, 0(r31) -/* 063C60 80069200 3CA054C6 */ lis r5, 0x54c6 -/* 063C64 80069204 38600000 */ li r3, 0 -/* 063C68 80069208 80810010 */ lwz r4, 0x10(r1) -/* 063C6C 8006920C 381E0B64 */ addi r0, r30, 0xb64 -/* 063C70 80069210 38A5103A */ addi r5, r5, 0x103a -/* 063C74 80069214 5463103A */ slwi r3, r3, 2 -/* 063C78 80069218 7CA4192E */ stwx r5, r4, r3 -/* 063C7C 8006921C 7C9E0050 */ subf r4, r30, r0 -/* 063C80 80069220 38000001 */ li r0, 1 -/* 063C84 80069224 80610010 */ lwz r3, 0x10(r1) -/* 063C88 80069228 3C8438E3 */ addis r4, r4, 0x38e3 -/* 063C8C 8006922C 5400103A */ slwi r0, r0, 2 -/* 063C90 80069230 7C83012E */ stwx r4, r3, r0 -/* 063C94 80069234 3C807CC6 */ lis r4, 0x7cc6 -/* 063C98 80069238 38000002 */ li r0, 2 -/* 063C9C 8006923C 80610010 */ lwz r3, 0x10(r1) -/* 063CA0 80069240 3884382E */ addi r4, r4, 0x382e -/* 063CA4 80069244 5400103A */ slwi r0, r0, 2 -/* 063CA8 80069248 7C83012E */ stwx r4, r3, r0 -/* 063CAC 8006924C 38600003 */ li r3, 3 -/* 063CB0 80069250 38000004 */ li r0, 4 -/* 063CB4 80069254 80810010 */ lwz r4, 0x10(r1) -/* 063CB8 80069258 38A60008 */ addi r5, r6, 8 -/* 063CBC 8006925C 5463103A */ slwi r3, r3, 2 -/* 063CC0 80069260 7CA4192E */ stwx r5, r4, r3 -/* 063CC4 80069264 38600005 */ li r3, 5 -/* 063CC8 80069268 3CE080E7 */ lis r7, 0x80e7 -/* 063CCC 8006926C 80810010 */ lwz r4, 0x10(r1) -/* 063CD0 80069270 38A83A14 */ addi r5, r8, 0x3a14 -/* 063CD4 80069274 5400103A */ slwi r0, r0, 2 -/* 063CD8 80069278 7CA4012E */ stwx r5, r4, r0 -/* 063CDC 8006927C 38000006 */ li r0, 6 -/* 063CE0 80069280 38A00007 */ li r5, 7 -/* 063CE4 80069284 80810010 */ lwz r4, 0x10(r1) -/* 063CE8 80069288 38C60004 */ addi r6, r6, 4 -/* 063CEC 8006928C 5463103A */ slwi r3, r3, 2 -/* 063CF0 80069290 7CC4192E */ stwx r6, r4, r3 -/* 063CF4 80069294 38800008 */ li r4, 8 -/* 063CF8 80069298 3C604E80 */ lis r3, 0x4e80 -/* 063CFC 8006929C 80C10010 */ lwz r6, 0x10(r1) -/* 063D00 800692A0 38E70004 */ addi r7, r7, 4 -/* 063D04 800692A4 5400103A */ slwi r0, r0, 2 -/* 063D08 800692A8 7CE6012E */ stwx r7, r6, r0 -/* 063D0C 800692AC 38000009 */ li r0, 9 -/* 063D10 800692B0 3920000A */ li r9, 0xa -/* 063D14 800692B4 80C10010 */ lwz r6, 0x10(r1) -/* 063D18 800692B8 38E83A2E */ addi r7, r8, 0x3a2e -/* 063D1C 800692BC 54A5103A */ slwi r5, r5, 2 -/* 063D20 800692C0 7CE6292E */ stwx r7, r6, r5 -/* 063D24 800692C4 553F103A */ slwi r31, r9, 2 -/* 063D28 800692C8 38E80734 */ addi r7, r8, 0x734 -/* 063D2C 800692CC 80C10010 */ lwz r6, 0x10(r1) -/* 063D30 800692D0 5484103A */ slwi r4, r4, 2 -/* 063D34 800692D4 38A30020 */ addi r5, r3, 0x20 -/* 063D38 800692D8 7CE6212E */ stwx r7, r6, r4 -/* 063D3C 800692DC 5400103A */ slwi r0, r0, 2 -/* 063D40 800692E0 389F0000 */ addi r4, r31, 0 -/* 063D44 800692E4 80610010 */ lwz r3, 0x10(r1) -/* 063D48 800692E8 7CA3012E */ stwx r5, r3, r0 -/* 063D4C 800692EC 80610010 */ lwz r3, 0x10(r1) -/* 063D50 800692F0 480344BD */ bl DCStoreRange -/* 063D54 800692F4 80610010 */ lwz r3, 0x10(r1) -/* 063D58 800692F8 7FE4FB78 */ mr r4, r31 -/* 063D5C 800692FC 48034539 */ bl ICInvalidateRange -/* 063D60 80069300 38600001 */ li r3, 1 -lbl_80069304: -/* 063D64 80069304 80010024 */ lwz r0, 0x24(r1) -/* 063D68 80069308 83E1001C */ lwz r31, 0x1c(r1) -/* 063D6C 8006930C 83C10018 */ lwz r30, 0x18(r1) -/* 063D70 80069310 7C0803A6 */ mtlr r0 -/* 063D74 80069314 38210020 */ addi r1, r1, 0x20 -/* 063D78 80069318 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_LHU.s b/asm/non_matchings/cpu/cpuCompile_LHU.s deleted file mode 100644 index 73a46ff3..00000000 --- a/asm/non_matchings/cpu/cpuCompile_LHU.s +++ /dev/null @@ -1,89 +0,0 @@ -glabel cpuCompile_LHU -/* 063808 80068DA8 7C0802A6 */ mflr r0 -/* 06380C 80068DAC 90010004 */ stw r0, 4(r1) -/* 063810 80068DB0 3800000A */ li r0, 0xa -/* 063814 80068DB4 5400103A */ slwi r0, r0, 2 -/* 063818 80068DB8 9421FFE0 */ stwu r1, -0x20(r1) -/* 06381C 80068DBC 93E1001C */ stw r31, 0x1c(r1) -/* 063820 80068DC0 3BE40000 */ addi r31, r4, 0 -/* 063824 80068DC4 64043000 */ oris r4, r0, 0x3000 -/* 063828 80068DC8 93C10018 */ stw r30, 0x18(r1) -/* 06382C 80068DCC 3BC30000 */ addi r30, r3, 0 -/* 063830 80068DD0 38610010 */ addi r3, r1, 0x10 -/* 063834 80068DD4 4BF9E3E1 */ bl xlHeapTake -/* 063838 80068DD8 2C030000 */ cmpwi r3, 0 -/* 06383C 80068DDC 4082000C */ bne lbl_80068DE8 -/* 063840 80068DE0 38600000 */ li r3, 0 -/* 063844 80068DE4 48000104 */ b lbl_80068EE8 -lbl_80068DE8: -/* 063848 80068DE8 80010010 */ lwz r0, 0x10(r1) -/* 06384C 80068DEC 3CC080E6 */ lis r6, 0x80e6 -/* 063850 80068DF0 3D007CA5 */ lis r8, 0x7ca5 -/* 063854 80068DF4 901F0000 */ stw r0, 0(r31) -/* 063858 80068DF8 3CA054C6 */ lis r5, 0x54c6 -/* 06385C 80068DFC 38600000 */ li r3, 0 -/* 063860 80068E00 80810010 */ lwz r4, 0x10(r1) -/* 063864 80068E04 381E0B64 */ addi r0, r30, 0xb64 -/* 063868 80068E08 38A5103A */ addi r5, r5, 0x103a -/* 06386C 80068E0C 5463103A */ slwi r3, r3, 2 -/* 063870 80068E10 7CA4192E */ stwx r5, r4, r3 -/* 063874 80068E14 7C9E0050 */ subf r4, r30, r0 -/* 063878 80068E18 38000001 */ li r0, 1 -/* 06387C 80068E1C 80610010 */ lwz r3, 0x10(r1) -/* 063880 80068E20 3C8438E3 */ addis r4, r4, 0x38e3 -/* 063884 80068E24 5400103A */ slwi r0, r0, 2 -/* 063888 80068E28 7C83012E */ stwx r4, r3, r0 -/* 06388C 80068E2C 3C807CC6 */ lis r4, 0x7cc6 -/* 063890 80068E30 38000002 */ li r0, 2 -/* 063894 80068E34 80610010 */ lwz r3, 0x10(r1) -/* 063898 80068E38 3884382E */ addi r4, r4, 0x382e -/* 06389C 80068E3C 5400103A */ slwi r0, r0, 2 -/* 0638A0 80068E40 7C83012E */ stwx r4, r3, r0 -/* 0638A4 80068E44 38000003 */ li r0, 3 -/* 0638A8 80068E48 38600004 */ li r3, 4 -/* 0638AC 80068E4C 80810010 */ lwz r4, 0x10(r1) -/* 0638B0 80068E50 38A60008 */ addi r5, r6, 8 -/* 0638B4 80068E54 5400103A */ slwi r0, r0, 2 -/* 0638B8 80068E58 7CA4012E */ stwx r5, r4, r0 -/* 0638BC 80068E5C 38000005 */ li r0, 5 -/* 0638C0 80068E60 3CE080E7 */ lis r7, 0x80e7 -/* 0638C4 80068E64 80810010 */ lwz r4, 0x10(r1) -/* 0638C8 80068E68 38A83A14 */ addi r5, r8, 0x3a14 -/* 0638CC 80068E6C 5463103A */ slwi r3, r3, 2 -/* 0638D0 80068E70 7CA4192E */ stwx r5, r4, r3 -/* 0638D4 80068E74 38A00006 */ li r5, 6 -/* 0638D8 80068E78 38800007 */ li r4, 7 -/* 0638DC 80068E7C 80610010 */ lwz r3, 0x10(r1) -/* 0638E0 80068E80 38C60004 */ addi r6, r6, 4 -/* 0638E4 80068E84 5400103A */ slwi r0, r0, 2 -/* 0638E8 80068E88 7CC3012E */ stwx r6, r3, r0 -/* 0638EC 80068E8C 3C604E80 */ lis r3, 0x4e80 -/* 0638F0 80068E90 38000008 */ li r0, 8 -/* 0638F4 80068E94 80C10010 */ lwz r6, 0x10(r1) -/* 0638F8 80068E98 38E70004 */ addi r7, r7, 4 -/* 0638FC 80068E9C 54A5103A */ slwi r5, r5, 2 -/* 063900 80068EA0 7CE6292E */ stwx r7, r6, r5 -/* 063904 80068EA4 38A00009 */ li r5, 9 -/* 063908 80068EA8 54BF103A */ slwi r31, r5, 2 -/* 06390C 80068EAC 80A10010 */ lwz r5, 0x10(r1) -/* 063910 80068EB0 38C83A2E */ addi r6, r8, 0x3a2e -/* 063914 80068EB4 5484103A */ slwi r4, r4, 2 -/* 063918 80068EB8 7CC5212E */ stwx r6, r5, r4 -/* 06391C 80068EBC 38A30020 */ addi r5, r3, 0x20 -/* 063920 80068EC0 5400103A */ slwi r0, r0, 2 -/* 063924 80068EC4 80610010 */ lwz r3, 0x10(r1) -/* 063928 80068EC8 7FE4FB78 */ mr r4, r31 -/* 06392C 80068ECC 7CA3012E */ stwx r5, r3, r0 -/* 063930 80068ED0 80610010 */ lwz r3, 0x10(r1) -/* 063934 80068ED4 480348D9 */ bl DCStoreRange -/* 063938 80068ED8 80610010 */ lwz r3, 0x10(r1) -/* 06393C 80068EDC 7FE4FB78 */ mr r4, r31 -/* 063940 80068EE0 48034955 */ bl ICInvalidateRange -/* 063944 80068EE4 38600001 */ li r3, 1 -lbl_80068EE8: -/* 063948 80068EE8 80010024 */ lwz r0, 0x24(r1) -/* 06394C 80068EEC 83E1001C */ lwz r31, 0x1c(r1) -/* 063950 80068EF0 83C10018 */ lwz r30, 0x18(r1) -/* 063954 80068EF4 7C0803A6 */ mtlr r0 -/* 063958 80068EF8 38210020 */ addi r1, r1, 0x20 -/* 06395C 80068EFC 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_LW.s b/asm/non_matchings/cpu/cpuCompile_LW.s deleted file mode 100644 index a940b242..00000000 --- a/asm/non_matchings/cpu/cpuCompile_LW.s +++ /dev/null @@ -1,89 +0,0 @@ -glabel cpuCompile_LW -/* 063AB8 80069058 7C0802A6 */ mflr r0 -/* 063ABC 8006905C 90010004 */ stw r0, 4(r1) -/* 063AC0 80069060 3800000A */ li r0, 0xa -/* 063AC4 80069064 5400103A */ slwi r0, r0, 2 -/* 063AC8 80069068 9421FFE0 */ stwu r1, -0x20(r1) -/* 063ACC 8006906C 93E1001C */ stw r31, 0x1c(r1) -/* 063AD0 80069070 3BE40000 */ addi r31, r4, 0 -/* 063AD4 80069074 64043000 */ oris r4, r0, 0x3000 -/* 063AD8 80069078 93C10018 */ stw r30, 0x18(r1) -/* 063ADC 8006907C 3BC30000 */ addi r30, r3, 0 -/* 063AE0 80069080 38610010 */ addi r3, r1, 0x10 -/* 063AE4 80069084 4BF9E131 */ bl xlHeapTake -/* 063AE8 80069088 2C030000 */ cmpwi r3, 0 -/* 063AEC 8006908C 4082000C */ bne lbl_80069098 -/* 063AF0 80069090 38600000 */ li r3, 0 -/* 063AF4 80069094 48000104 */ b lbl_80069198 -lbl_80069098: -/* 063AF8 80069098 80010010 */ lwz r0, 0x10(r1) -/* 063AFC 8006909C 3CC080E6 */ lis r6, 0x80e6 -/* 063B00 800690A0 3D007CA5 */ lis r8, 0x7ca5 -/* 063B04 800690A4 901F0000 */ stw r0, 0(r31) -/* 063B08 800690A8 3CA054C6 */ lis r5, 0x54c6 -/* 063B0C 800690AC 38600000 */ li r3, 0 -/* 063B10 800690B0 80810010 */ lwz r4, 0x10(r1) -/* 063B14 800690B4 381E0B64 */ addi r0, r30, 0xb64 -/* 063B18 800690B8 38A5103A */ addi r5, r5, 0x103a -/* 063B1C 800690BC 5463103A */ slwi r3, r3, 2 -/* 063B20 800690C0 7CA4192E */ stwx r5, r4, r3 -/* 063B24 800690C4 7C9E0050 */ subf r4, r30, r0 -/* 063B28 800690C8 38000001 */ li r0, 1 -/* 063B2C 800690CC 80610010 */ lwz r3, 0x10(r1) -/* 063B30 800690D0 3C8438E3 */ addis r4, r4, 0x38e3 -/* 063B34 800690D4 5400103A */ slwi r0, r0, 2 -/* 063B38 800690D8 7C83012E */ stwx r4, r3, r0 -/* 063B3C 800690DC 3C807CC6 */ lis r4, 0x7cc6 -/* 063B40 800690E0 38000002 */ li r0, 2 -/* 063B44 800690E4 80610010 */ lwz r3, 0x10(r1) -/* 063B48 800690E8 3884382E */ addi r4, r4, 0x382e -/* 063B4C 800690EC 5400103A */ slwi r0, r0, 2 -/* 063B50 800690F0 7C83012E */ stwx r4, r3, r0 -/* 063B54 800690F4 38000003 */ li r0, 3 -/* 063B58 800690F8 38600004 */ li r3, 4 -/* 063B5C 800690FC 80810010 */ lwz r4, 0x10(r1) -/* 063B60 80069100 38A60008 */ addi r5, r6, 8 -/* 063B64 80069104 5400103A */ slwi r0, r0, 2 -/* 063B68 80069108 7CA4012E */ stwx r5, r4, r0 -/* 063B6C 8006910C 38000005 */ li r0, 5 -/* 063B70 80069110 3CE080E7 */ lis r7, 0x80e7 -/* 063B74 80069114 80810010 */ lwz r4, 0x10(r1) -/* 063B78 80069118 38A83A14 */ addi r5, r8, 0x3a14 -/* 063B7C 8006911C 5463103A */ slwi r3, r3, 2 -/* 063B80 80069120 7CA4192E */ stwx r5, r4, r3 -/* 063B84 80069124 38A00006 */ li r5, 6 -/* 063B88 80069128 38800007 */ li r4, 7 -/* 063B8C 8006912C 80610010 */ lwz r3, 0x10(r1) -/* 063B90 80069130 38C60004 */ addi r6, r6, 4 -/* 063B94 80069134 5400103A */ slwi r0, r0, 2 -/* 063B98 80069138 7CC3012E */ stwx r6, r3, r0 -/* 063B9C 8006913C 3C604E80 */ lis r3, 0x4e80 -/* 063BA0 80069140 38000008 */ li r0, 8 -/* 063BA4 80069144 80C10010 */ lwz r6, 0x10(r1) -/* 063BA8 80069148 38E70004 */ addi r7, r7, 4 -/* 063BAC 8006914C 54A5103A */ slwi r5, r5, 2 -/* 063BB0 80069150 7CE6292E */ stwx r7, r6, r5 -/* 063BB4 80069154 38A00009 */ li r5, 9 -/* 063BB8 80069158 54BF103A */ slwi r31, r5, 2 -/* 063BBC 8006915C 80A10010 */ lwz r5, 0x10(r1) -/* 063BC0 80069160 38C8382E */ addi r6, r8, 0x382e -/* 063BC4 80069164 5484103A */ slwi r4, r4, 2 -/* 063BC8 80069168 7CC5212E */ stwx r6, r5, r4 -/* 063BCC 8006916C 38A30020 */ addi r5, r3, 0x20 -/* 063BD0 80069170 5400103A */ slwi r0, r0, 2 -/* 063BD4 80069174 80610010 */ lwz r3, 0x10(r1) -/* 063BD8 80069178 7FE4FB78 */ mr r4, r31 -/* 063BDC 8006917C 7CA3012E */ stwx r5, r3, r0 -/* 063BE0 80069180 80610010 */ lwz r3, 0x10(r1) -/* 063BE4 80069184 48034629 */ bl DCStoreRange -/* 063BE8 80069188 80610010 */ lwz r3, 0x10(r1) -/* 063BEC 8006918C 7FE4FB78 */ mr r4, r31 -/* 063BF0 80069190 480346A5 */ bl ICInvalidateRange -/* 063BF4 80069194 38600001 */ li r3, 1 -lbl_80069198: -/* 063BF8 80069198 80010024 */ lwz r0, 0x24(r1) -/* 063BFC 8006919C 83E1001C */ lwz r31, 0x1c(r1) -/* 063C00 800691A0 83C10018 */ lwz r30, 0x18(r1) -/* 063C04 800691A4 7C0803A6 */ mtlr r0 -/* 063C08 800691A8 38210020 */ addi r1, r1, 0x20 -/* 063C0C 800691AC 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_LWL.s b/asm/non_matchings/cpu/cpuCompile_LWL.s deleted file mode 100644 index 374d82ce..00000000 --- a/asm/non_matchings/cpu/cpuCompile_LWL.s +++ /dev/null @@ -1,103 +0,0 @@ -glabel cpuCompile_LWL -/* 062F54 800684F4 7C0802A6 */ mflr r0 -/* 062F58 800684F8 90010004 */ stw r0, 4(r1) -/* 062F5C 800684FC 3800000C */ li r0, 0xc -/* 062F60 80068500 5400103A */ slwi r0, r0, 2 -/* 062F64 80068504 9421FFE0 */ stwu r1, -0x20(r1) -/* 062F68 80068508 93E1001C */ stw r31, 0x1c(r1) -/* 062F6C 8006850C 3BE40000 */ addi r31, r4, 0 -/* 062F70 80068510 38610010 */ addi r3, r1, 0x10 -/* 062F74 80068514 64043000 */ oris r4, r0, 0x3000 -/* 062F78 80068518 4BF9EC9D */ bl xlHeapTake -/* 062F7C 8006851C 2C030000 */ cmpwi r3, 0 -/* 062F80 80068520 4082000C */ bne lbl_8006852C -/* 062F84 80068524 38600000 */ li r3, 0 -/* 062F88 80068528 48000148 */ b lbl_80068670 -lbl_8006852C: -/* 062F8C 8006852C 80010010 */ lwz r0, 0x10(r1) -/* 062F90 80068530 3CC07D29 */ lis r6, 0x7d29 -/* 062F94 80068534 3CE038C0 */ lis r7, 0x38c0 -/* 062F98 80068538 901F0000 */ stw r0, 0(r31) -/* 062F9C 8006853C 38000000 */ li r0, 0 -/* 062FA0 80068540 38600001 */ li r3, 1 -/* 062FA4 80068544 80810010 */ lwz r4, 0x10(r1) -/* 062FA8 80068548 3CA07CA5 */ lis r5, 0x7ca5 -/* 062FAC 8006854C 38E70018 */ addi r7, r7, 0x18 -/* 062FB0 80068550 5400103A */ slwi r0, r0, 2 -/* 062FB4 80068554 7CE4012E */ stwx r7, r4, r0 -/* 062FB8 80068558 38000002 */ li r0, 2 -/* 062FBC 8006855C 3CE03940 */ lis r7, 0x3940 -/* 062FC0 80068560 80810010 */ lwz r4, 0x10(r1) -/* 062FC4 80068564 5463103A */ slwi r3, r3, 2 -/* 062FC8 80068568 3D0088A7 */ lis r8, 0x88a7 -/* 062FCC 8006856C 7D04192E */ stwx r8, r4, r3 -/* 062FD0 80068570 38800003 */ li r4, 3 -/* 062FD4 80068574 3D007D4A */ lis r8, 0x7d4a -/* 062FD8 80068578 80610010 */ lwz r3, 0x10(r1) -/* 062FDC 8006857C 38A53030 */ addi r5, r5, 0x3030 -/* 062FE0 80068580 5400103A */ slwi r0, r0, 2 -/* 062FE4 80068584 7CA3012E */ stwx r5, r3, r0 -/* 062FE8 80068588 38600004 */ li r3, 4 -/* 062FEC 8006858C 38000005 */ li r0, 5 -/* 062FF0 80068590 80A10010 */ lwz r5, 0x10(r1) -/* 062FF4 80068594 38E700FF */ addi r7, r7, 0xff -/* 062FF8 80068598 5484103A */ slwi r4, r4, 2 -/* 062FFC 8006859C 7CE5212E */ stwx r7, r5, r4 -/* 063000 800685A0 38800006 */ li r4, 6 -/* 063004 800685A4 3CE038C7 */ lis r7, 0x38c7 -/* 063008 800685A8 80A10010 */ lwz r5, 0x10(r1) -/* 06300C 800685AC 39083030 */ addi r8, r8, 0x3030 -/* 063010 800685B0 5463103A */ slwi r3, r3, 2 -/* 063014 800685B4 7D05192E */ stwx r8, r5, r3 -/* 063018 800685B8 38600007 */ li r3, 7 -/* 06301C 800685BC 3D2054E5 */ lis r9, 0x54e5 -/* 063020 800685C0 80A10010 */ lwz r5, 0x10(r1) -/* 063024 800685C4 39065078 */ addi r8, r6, 0x5078 -/* 063028 800685C8 5400103A */ slwi r0, r0, 2 -/* 06302C 800685CC 7D05012E */ stwx r8, r5, r0 -/* 063030 800685D0 38000008 */ li r0, 8 -/* 063034 800685D4 3D0038E7 */ lis r8, 0x38e7 -/* 063038 800685D8 80A10010 */ lwz r5, 0x10(r1) -/* 06303C 800685DC 38C62B78 */ addi r6, r6, 0x2b78 -/* 063040 800685E0 5484103A */ slwi r4, r4, 2 -/* 063044 800685E4 7CC5212E */ stwx r6, r5, r4 -/* 063048 800685E8 38C00009 */ li r6, 9 -/* 06304C 800685EC 3CA04083 */ lis r5, 0x4083 -/* 063050 800685F0 80810010 */ lwz r4, 0x10(r1) -/* 063054 800685F4 38E7FFF8 */ addi r7, r7, -8 -/* 063058 800685F8 5463103A */ slwi r3, r3, 2 -/* 06305C 800685FC 7CE4192E */ stwx r7, r4, r3 -/* 063060 80068600 3880000A */ li r4, 0xa -/* 063064 80068604 3C604E80 */ lis r3, 0x4e80 -/* 063068 80068608 80E10010 */ lwz r7, 0x10(r1) -/* 06306C 8006860C 392907BF */ addi r9, r9, 0x7bf -/* 063070 80068610 5400103A */ slwi r0, r0, 2 -/* 063074 80068614 7D27012E */ stwx r9, r7, r0 -/* 063078 80068618 3800000B */ li r0, 0xb -/* 06307C 8006861C 3920000C */ li r9, 0xc -/* 063080 80068620 80E10010 */ lwz r7, 0x10(r1) -/* 063084 80068624 39080001 */ addi r8, r8, 1 -/* 063088 80068628 54C6103A */ slwi r6, r6, 2 -/* 06308C 8006862C 7D07312E */ stwx r8, r7, r6 -/* 063090 80068630 553F103A */ slwi r31, r9, 2 -/* 063094 80068634 38E5FFDC */ addi r7, r5, -36 -/* 063098 80068638 80C10010 */ lwz r6, 0x10(r1) -/* 06309C 8006863C 5484103A */ slwi r4, r4, 2 -/* 0630A0 80068640 38A30020 */ addi r5, r3, 0x20 -/* 0630A4 80068644 7CE6212E */ stwx r7, r6, r4 -/* 0630A8 80068648 5400103A */ slwi r0, r0, 2 -/* 0630AC 8006864C 389F0000 */ addi r4, r31, 0 -/* 0630B0 80068650 80610010 */ lwz r3, 0x10(r1) -/* 0630B4 80068654 7CA3012E */ stwx r5, r3, r0 -/* 0630B8 80068658 80610010 */ lwz r3, 0x10(r1) -/* 0630BC 8006865C 48035151 */ bl DCStoreRange -/* 0630C0 80068660 80610010 */ lwz r3, 0x10(r1) -/* 0630C4 80068664 7FE4FB78 */ mr r4, r31 -/* 0630C8 80068668 480351CD */ bl ICInvalidateRange -/* 0630CC 8006866C 38600001 */ li r3, 1 -lbl_80068670: -/* 0630D0 80068670 80010024 */ lwz r0, 0x24(r1) -/* 0630D4 80068674 83E1001C */ lwz r31, 0x1c(r1) -/* 0630D8 80068678 38210020 */ addi r1, r1, 0x20 -/* 0630DC 8006867C 7C0803A6 */ mtlr r0 -/* 0630E0 80068680 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_LWR.s b/asm/non_matchings/cpu/cpuCompile_LWR.s deleted file mode 100644 index 8caa56bb..00000000 --- a/asm/non_matchings/cpu/cpuCompile_LWR.s +++ /dev/null @@ -1,102 +0,0 @@ -glabel cpuCompile_LWR -/* 062DC8 80068368 7C0802A6 */ mflr r0 -/* 062DCC 8006836C 90010004 */ stw r0, 4(r1) -/* 062DD0 80068370 3800000C */ li r0, 0xc -/* 062DD4 80068374 5400103A */ slwi r0, r0, 2 -/* 062DD8 80068378 9421FFE0 */ stwu r1, -0x20(r1) -/* 062DDC 8006837C 93E1001C */ stw r31, 0x1c(r1) -/* 062DE0 80068380 3BE40000 */ addi r31, r4, 0 -/* 062DE4 80068384 38610010 */ addi r3, r1, 0x10 -/* 062DE8 80068388 64043000 */ oris r4, r0, 0x3000 -/* 062DEC 8006838C 4BF9EE29 */ bl xlHeapTake -/* 062DF0 80068390 2C030000 */ cmpwi r3, 0 -/* 062DF4 80068394 4082000C */ bne lbl_800683A0 -/* 062DF8 80068398 38600000 */ li r3, 0 -/* 062DFC 8006839C 48000144 */ b lbl_800684E0 -lbl_800683A0: -/* 062E00 800683A0 80610010 */ lwz r3, 0x10(r1) -/* 062E04 800683A4 3D607D29 */ lis r11, 0x7d29 -/* 062E08 800683A8 38000000 */ li r0, 0 -/* 062E0C 800683AC 907F0000 */ stw r3, 0(r31) -/* 062E10 800683B0 38800001 */ li r4, 1 -/* 062E14 800683B4 3CC07CA5 */ lis r6, 0x7ca5 -/* 062E18 800683B8 80A10010 */ lwz r5, 0x10(r1) -/* 062E1C 800683BC 38600002 */ li r3, 2 -/* 062E20 800683C0 5400103A */ slwi r0, r0, 2 -/* 062E24 800683C4 3CE038C0 */ lis r7, 0x38c0 -/* 062E28 800683C8 7CE5012E */ stwx r7, r5, r0 -/* 062E2C 800683CC 3D003940 */ lis r8, 0x3940 -/* 062E30 800683D0 38000003 */ li r0, 3 -/* 062E34 800683D4 80A10010 */ lwz r5, 0x10(r1) -/* 062E38 800683D8 5484103A */ slwi r4, r4, 2 -/* 062E3C 800683DC 3CE088A7 */ lis r7, 0x88a7 -/* 062E40 800683E0 7CE5212E */ stwx r7, r5, r4 -/* 062E44 800683E4 3CE07D4A */ lis r7, 0x7d4a -/* 062E48 800683E8 38A00004 */ li r5, 4 -/* 062E4C 800683EC 80810010 */ lwz r4, 0x10(r1) -/* 062E50 800683F0 38C63030 */ addi r6, r6, 0x3030 -/* 062E54 800683F4 5463103A */ slwi r3, r3, 2 -/* 062E58 800683F8 7CC4192E */ stwx r6, r4, r3 -/* 062E5C 800683FC 38800005 */ li r4, 5 -/* 062E60 80068400 38600006 */ li r3, 6 -/* 062E64 80068404 80C10010 */ lwz r6, 0x10(r1) -/* 062E68 80068408 390800FF */ addi r8, r8, 0xff -/* 062E6C 8006840C 5400103A */ slwi r0, r0, 2 -/* 062E70 80068410 7D06012E */ stwx r8, r6, r0 -/* 062E74 80068414 3D2038C6 */ lis r9, 0x38c6 -/* 062E78 80068418 38000007 */ li r0, 7 -/* 062E7C 8006841C 80C10010 */ lwz r6, 0x10(r1) -/* 062E80 80068420 38E73030 */ addi r7, r7, 0x3030 -/* 062E84 80068424 54A5103A */ slwi r5, r5, 2 -/* 062E88 80068428 7CE6292E */ stwx r7, r6, r5 -/* 062E8C 8006842C 3D4054E5 */ lis r10, 0x54e5 -/* 062E90 80068430 38E00008 */ li r7, 8 -/* 062E94 80068434 80A10010 */ lwz r5, 0x10(r1) -/* 062E98 80068438 38CB5078 */ addi r6, r11, 0x5078 -/* 062E9C 8006843C 5484103A */ slwi r4, r4, 2 -/* 062EA0 80068440 7CC5212E */ stwx r6, r5, r4 -/* 062EA4 80068444 3D0038E8 */ lis r8, 0x38e8 -/* 062EA8 80068448 38C00009 */ li r6, 9 -/* 062EAC 8006844C 80810010 */ lwz r4, 0x10(r1) -/* 062EB0 80068450 38AB2B78 */ addi r5, r11, 0x2b78 -/* 062EB4 80068454 5463103A */ slwi r3, r3, 2 -/* 062EB8 80068458 7CA4192E */ stwx r5, r4, r3 -/* 062EBC 8006845C 3CA04083 */ lis r5, 0x4083 -/* 062EC0 80068460 3880000A */ li r4, 0xa -/* 062EC4 80068464 80610010 */ lwz r3, 0x10(r1) -/* 062EC8 80068468 39290008 */ addi r9, r9, 8 -/* 062ECC 8006846C 5400103A */ slwi r0, r0, 2 -/* 062ED0 80068470 7D23012E */ stwx r9, r3, r0 -/* 062ED4 80068474 3C604E80 */ lis r3, 0x4e80 -/* 062ED8 80068478 3800000B */ li r0, 0xb -/* 062EDC 8006847C 81210010 */ lwz r9, 0x10(r1) -/* 062EE0 80068480 394A07BF */ addi r10, r10, 0x7bf -/* 062EE4 80068484 54E7103A */ slwi r7, r7, 2 -/* 062EE8 80068488 7D49392E */ stwx r10, r9, r7 -/* 062EEC 8006848C 38E0000C */ li r7, 0xc -/* 062EF0 80068490 54FF103A */ slwi r31, r7, 2 -/* 062EF4 80068494 80E10010 */ lwz r7, 0x10(r1) -/* 062EF8 80068498 3908FFFF */ addi r8, r8, -1 -/* 062EFC 8006849C 54C6103A */ slwi r6, r6, 2 -/* 062F00 800684A0 7D07312E */ stwx r8, r7, r6 -/* 062F04 800684A4 38E5FFDC */ addi r7, r5, -36 -/* 062F08 800684A8 5484103A */ slwi r4, r4, 2 -/* 062F0C 800684AC 80C10010 */ lwz r6, 0x10(r1) -/* 062F10 800684B0 38A30020 */ addi r5, r3, 0x20 -/* 062F14 800684B4 5400103A */ slwi r0, r0, 2 -/* 062F18 800684B8 7CE6212E */ stwx r7, r6, r4 -/* 062F1C 800684BC 7FE4FB78 */ mr r4, r31 -/* 062F20 800684C0 80610010 */ lwz r3, 0x10(r1) -/* 062F24 800684C4 7CA3012E */ stwx r5, r3, r0 -/* 062F28 800684C8 80610010 */ lwz r3, 0x10(r1) -/* 062F2C 800684CC 480352E1 */ bl DCStoreRange -/* 062F30 800684D0 80610010 */ lwz r3, 0x10(r1) -/* 062F34 800684D4 7FE4FB78 */ mr r4, r31 -/* 062F38 800684D8 4803535D */ bl ICInvalidateRange -/* 062F3C 800684DC 38600001 */ li r3, 1 -lbl_800684E0: -/* 062F40 800684E0 80010024 */ lwz r0, 0x24(r1) -/* 062F44 800684E4 83E1001C */ lwz r31, 0x1c(r1) -/* 062F48 800684E8 38210020 */ addi r1, r1, 0x20 -/* 062F4C 800684EC 7C0803A6 */ mtlr r0 -/* 062F50 800684F0 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_L_CVT_SD.s b/asm/non_matchings/cpu/cpuCompile_L_CVT_SD.s deleted file mode 100644 index f03eb62b..00000000 --- a/asm/non_matchings/cpu/cpuCompile_L_CVT_SD.s +++ /dev/null @@ -1,355 +0,0 @@ -glabel cpuCompile_L_CVT_SD -/* 064260 80069800 7C0802A6 */ mflr r0 -/* 064264 80069804 90010004 */ stw r0, 4(r1) -/* 064268 80069808 38000038 */ li r0, 0x38 -/* 06426C 8006980C 5400103A */ slwi r0, r0, 2 -/* 064270 80069810 9421FFE0 */ stwu r1, -0x20(r1) -/* 064274 80069814 93E1001C */ stw r31, 0x1c(r1) -/* 064278 80069818 3BE40000 */ addi r31, r4, 0 -/* 06427C 8006981C 38610010 */ addi r3, r1, 0x10 -/* 064280 80069820 64043000 */ oris r4, r0, 0x3000 -/* 064284 80069824 4BF9D991 */ bl xlHeapTake -/* 064288 80069828 2C030000 */ cmpwi r3, 0 -/* 06428C 8006982C 4082000C */ bne lbl_80069838 -/* 064290 80069830 38600000 */ li r3, 0 -/* 064294 80069834 48000538 */ b lbl_80069D6C -lbl_80069838: -/* 064298 80069838 80010010 */ lwz r0, 0x10(r1) -/* 06429C 8006983C 3C609422 */ lis r3, 0x9422 -/* 0642A0 80069840 3C804182 */ lis r4, 0x4182 -/* 0642A4 80069844 901F0000 */ stw r0, 0(r31) -/* 0642A8 80069848 3D607CA9 */ lis r11, 0x7ca9 -/* 0642AC 8006984C 38000000 */ li r0, 0 -/* 0642B0 80069850 80A10010 */ lwz r5, 0x10(r1) -/* 0642B4 80069854 3CE09101 */ lis r7, 0x9101 -/* 0642B8 80069858 38C3FFD0 */ addi r6, r3, -48 -/* 0642BC 8006985C 5400103A */ slwi r0, r0, 2 -/* 0642C0 80069860 7CC5012E */ stwx r6, r5, r0 -/* 0642C4 80069864 38000001 */ li r0, 1 -/* 0642C8 80069868 3CC09121 */ lis r6, 0x9121 -/* 0642CC 8006986C 80A10010 */ lwz r5, 0x10(r1) -/* 0642D0 80069870 38E70008 */ addi r7, r7, 8 -/* 0642D4 80069874 5400103A */ slwi r0, r0, 2 -/* 0642D8 80069878 7CE5012E */ stwx r7, r5, r0 -/* 0642DC 8006987C 38000002 */ li r0, 2 -/* 0642E0 80069880 3CE09141 */ lis r7, 0x9141 -/* 0642E4 80069884 80A10010 */ lwz r5, 0x10(r1) -/* 0642E8 80069888 38C60010 */ addi r6, r6, 0x10 -/* 0642EC 8006988C 5400103A */ slwi r0, r0, 2 -/* 0642F0 80069890 7CC5012E */ stwx r6, r5, r0 -/* 0642F4 80069894 38000003 */ li r0, 3 -/* 0642F8 80069898 3CC09161 */ lis r6, 0x9161 -/* 0642FC 8006989C 80A10010 */ lwz r5, 0x10(r1) -/* 064300 800698A0 38E70018 */ addi r7, r7, 0x18 -/* 064304 800698A4 5400103A */ slwi r0, r0, 2 -/* 064308 800698A8 7CE5012E */ stwx r7, r5, r0 -/* 06430C 800698AC 38000004 */ li r0, 4 -/* 064310 800698B0 3CE09181 */ lis r7, 0x9181 -/* 064314 800698B4 80A10010 */ lwz r5, 0x10(r1) -/* 064318 800698B8 38C60020 */ addi r6, r6, 0x20 -/* 06431C 800698BC 5400103A */ slwi r0, r0, 2 -/* 064320 800698C0 7CC5012E */ stwx r6, r5, r0 -/* 064324 800698C4 38A00005 */ li r5, 5 -/* 064328 800698C8 38000006 */ li r0, 6 -/* 06432C 800698CC 80C10010 */ lwz r6, 0x10(r1) -/* 064330 800698D0 38E70028 */ addi r7, r7, 0x28 -/* 064334 800698D4 54A5103A */ slwi r5, r5, 2 -/* 064338 800698D8 7CE6292E */ stwx r7, r6, r5 -/* 06433C 800698DC 3D0054A7 */ lis r8, 0x54a7 -/* 064340 800698E0 38C00007 */ li r6, 7 -/* 064344 800698E4 80A10010 */ lwz r5, 0x10(r1) -/* 064348 800698E8 3863FFF0 */ addi r3, r3, -16 -/* 06434C 800698EC 5400103A */ slwi r0, r0, 2 -/* 064350 800698F0 7C65012E */ stwx r3, r5, r0 -/* 064354 800698F4 38A00008 */ li r5, 8 -/* 064358 800698F8 38000009 */ li r0, 9 -/* 06435C 800698FC 80E10010 */ lwz r7, 0x10(r1) -/* 064360 80069900 39080001 */ addi r8, r8, 1 -/* 064364 80069904 54C3103A */ slwi r3, r6, 2 -/* 064368 80069908 7D07192E */ stwx r8, r7, r3 -/* 06436C 8006990C 3C607CA5 */ lis r3, 0x7ca5 -/* 064370 80069910 3900000A */ li r8, 0xa -/* 064374 80069914 80C10010 */ lwz r6, 0x10(r1) -/* 064378 80069918 38E4000C */ addi r7, r4, 0xc -/* 06437C 8006991C 54A5103A */ slwi r5, r5, 2 -/* 064380 80069920 7CE6292E */ stwx r7, r6, r5 -/* 064384 80069924 38E0000B */ li r7, 0xb -/* 064388 80069928 38C0000C */ li r6, 0xc -/* 06438C 8006992C 80A10010 */ lwz r5, 0x10(r1) -/* 064390 80069930 5400103A */ slwi r0, r0, 2 -/* 064394 80069934 3D2020C6 */ lis r9, 0x20c6 -/* 064398 80069938 7D25012E */ stwx r9, r5, r0 -/* 06439C 8006993C 38A0000D */ li r5, 0xd -/* 0643A0 80069940 3800000E */ li r0, 0xe -/* 0643A4 80069944 81210010 */ lwz r9, 0x10(r1) -/* 0643A8 80069948 39430190 */ addi r10, r3, 0x190 -/* 0643AC 8006994C 5508103A */ slwi r8, r8, 2 -/* 0643B0 80069950 7D49412E */ stwx r10, r9, r8 -/* 0643B4 80069954 398B3379 */ addi r12, r11, 0x3379 -/* 0643B8 80069958 54E8103A */ slwi r8, r7, 2 -/* 0643BC 8006995C 81210010 */ lwz r9, 0x10(r1) -/* 0643C0 80069960 54C7103A */ slwi r7, r6, 2 -/* 0643C4 80069964 3D403900 */ lis r10, 0x3900 -/* 0643C8 80069968 7D89412E */ stwx r12, r9, r8 -/* 0643CC 8006996C 39040080 */ addi r8, r4, 0x80 -/* 0643D0 80069970 54A5103A */ slwi r5, r5, 2 -/* 0643D4 80069974 81210010 */ lwz r9, 0x10(r1) -/* 0643D8 80069978 38CB0034 */ addi r6, r11, 0x34 -/* 0643DC 8006997C 5400103A */ slwi r0, r0, 2 -/* 0643E0 80069980 7D49392E */ stwx r10, r9, r7 -/* 0643E4 80069984 80E10010 */ lwz r7, 0x10(r1) -/* 0643E8 80069988 7D07292E */ stwx r8, r7, r5 -/* 0643EC 8006998C 80A10010 */ lwz r5, 0x10(r1) -/* 0643F0 80069990 7CC5012E */ stwx r6, r5, r0 -/* 0643F4 80069994 3CC07CCA */ lis r6, 0x7cca -/* 0643F8 80069998 80A10010 */ lwz r5, 0x10(r1) -/* 0643FC 8006999C 3800000F */ li r0, 0xf -/* 064400 800699A0 38C60034 */ addi r6, r6, 0x34 -/* 064404 800699A4 5400103A */ slwi r0, r0, 2 -/* 064408 800699A8 7CC5012E */ stwx r6, r5, r0 -/* 06440C 800699AC 3CC0552C */ lis r6, 0x552c -/* 064410 800699B0 38000010 */ li r0, 0x10 -/* 064414 800699B4 80A10010 */ lwz r5, 0x10(r1) -/* 064418 800699B8 38C6D008 */ addi r6, r6, -12280 -/* 06441C 800699BC 5400103A */ slwi r0, r0, 2 -/* 064420 800699C0 7CC5012E */ stwx r6, r5, r0 -/* 064424 800699C4 3CC07D6C */ lis r6, 0x7d6c -/* 064428 800699C8 38000011 */ li r0, 0x11 -/* 06442C 800699CC 80A10010 */ lwz r5, 0x10(r1) -/* 064430 800699D0 38C6FE70 */ addi r6, r6, -400 -/* 064434 800699D4 5400103A */ slwi r0, r0, 2 -/* 064438 800699D8 7CC5012E */ stwx r6, r5, r0 -/* 06443C 800699DC 3CC07D6B */ lis r6, 0x7d6b -/* 064440 800699E0 38000012 */ li r0, 0x12 -/* 064444 800699E4 80A10010 */ lwz r5, 0x10(r1) -/* 064448 800699E8 38C65038 */ addi r6, r6, 0x5038 -/* 06444C 800699EC 5400103A */ slwi r0, r0, 2 -/* 064450 800699F0 7CC5012E */ stwx r6, r5, r0 -/* 064454 800699F4 3CC07D29 */ lis r6, 0x7d29 -/* 064458 800699F8 38000013 */ li r0, 0x13 -/* 06445C 800699FC 80A10010 */ lwz r5, 0x10(r1) -/* 064460 80069A00 38C65A14 */ addi r6, r6, 0x5a14 -/* 064464 80069A04 5400103A */ slwi r0, r0, 2 -/* 064468 80069A08 7CC5012E */ stwx r6, r5, r0 -/* 06446C 80069A0C 3CC02149 */ lis r6, 0x2149 -/* 064470 80069A10 38000014 */ li r0, 0x14 -/* 064474 80069A14 80A10010 */ lwz r5, 0x10(r1) -/* 064478 80069A18 38C60020 */ addi r6, r6, 0x20 -/* 06447C 80069A1C 5400103A */ slwi r0, r0, 2 -/* 064480 80069A20 7CC5012E */ stwx r6, r5, r0 -/* 064484 80069A24 3CC0316A */ lis r6, 0x316a -/* 064488 80069A28 38000015 */ li r0, 0x15 -/* 06448C 80069A2C 80A10010 */ lwz r5, 0x10(r1) -/* 064490 80069A30 38C6FFE0 */ addi r6, r6, -32 -/* 064494 80069A34 5400103A */ slwi r0, r0, 2 -/* 064498 80069A38 7CC5012E */ stwx r6, r5, r0 -/* 06449C 80069A3C 38000016 */ li r0, 0x16 -/* 0644A0 80069A40 38C34830 */ addi r6, r3, 0x4830 -/* 0644A4 80069A44 80A10010 */ lwz r5, 0x10(r1) -/* 0644A8 80069A48 5400103A */ slwi r0, r0, 2 -/* 0644AC 80069A4C 3D007CCC */ lis r8, 0x7ccc -/* 0644B0 80069A50 7CC5012E */ stwx r6, r5, r0 -/* 0644B4 80069A54 38000017 */ li r0, 0x17 -/* 0644B8 80069A58 38E85430 */ addi r7, r8, 0x5430 -/* 0644BC 80069A5C 80C10010 */ lwz r6, 0x10(r1) -/* 0644C0 80069A60 5405103A */ slwi r5, r0, 2 -/* 0644C4 80069A64 38000018 */ li r0, 0x18 -/* 0644C8 80069A68 7CE6292E */ stwx r7, r6, r5 -/* 0644CC 80069A6C 38A00019 */ li r5, 0x19 -/* 0644D0 80069A70 39636378 */ addi r11, r3, 0x6378 -/* 0644D4 80069A74 80E10010 */ lwz r7, 0x10(r1) -/* 0644D8 80069A78 5406103A */ slwi r6, r0, 2 -/* 0644DC 80069A7C 3800001A */ li r0, 0x1a -/* 0644E0 80069A80 7D67312E */ stwx r11, r7, r6 -/* 0644E4 80069A84 3D207CC6 */ lis r9, 0x7cc6 -/* 0644E8 80069A88 38E85830 */ addi r7, r8, 0x5830 -/* 0644EC 80069A8C 80C10010 */ lwz r6, 0x10(r1) -/* 0644F0 80069A90 54A5103A */ slwi r5, r5, 2 -/* 0644F4 80069A94 3900001B */ li r8, 0x1b -/* 0644F8 80069A98 7CE6292E */ stwx r7, r6, r5 -/* 0644FC 80069A9C 3CC07D09 */ lis r6, 0x7d09 -/* 064500 80069AA0 5400103A */ slwi r0, r0, 2 -/* 064504 80069AA4 81410010 */ lwz r10, 0x10(r1) -/* 064508 80069AA8 38A0001C */ li r5, 0x1c -/* 06450C 80069AAC 3CE054C9 */ lis r7, 0x54c9 -/* 064510 80069AB0 7D6A012E */ stwx r11, r10, r0 -/* 064514 80069AB4 3800001D */ li r0, 0x1d -/* 064518 80069AB8 39694830 */ addi r11, r9, 0x4830 -/* 06451C 80069ABC 81410010 */ lwz r10, 0x10(r1) -/* 064520 80069AC0 5508103A */ slwi r8, r8, 2 -/* 064524 80069AC4 39264050 */ addi r9, r6, 0x4050 -/* 064528 80069AC8 7D6A412E */ stwx r11, r10, r8 -/* 06452C 80069ACC 54A5103A */ slwi r5, r5, 2 -/* 064530 80069AD0 38C7057E */ addi r6, r7, 0x57e -/* 064534 80069AD4 81010010 */ lwz r8, 0x10(r1) -/* 064538 80069AD8 5400103A */ slwi r0, r0, 2 -/* 06453C 80069ADC 7D28292E */ stwx r9, r8, r5 -/* 064540 80069AE0 80A10010 */ lwz r5, 0x10(r1) -/* 064544 80069AE4 7CC5012E */ stwx r6, r5, r0 -/* 064548 80069AE8 3CC02C09 */ lis r6, 0x2c09 -/* 06454C 80069AEC 80A10010 */ lwz r5, 0x10(r1) -/* 064550 80069AF0 3800001E */ li r0, 0x1e -/* 064554 80069AF4 38C60400 */ addi r6, r6, 0x400 -/* 064558 80069AF8 5400103A */ slwi r0, r0, 2 -/* 06455C 80069AFC 7CC5012E */ stwx r6, r5, r0 -/* 064560 80069B00 3CC03908 */ lis r6, 0x3908 -/* 064564 80069B04 3800001F */ li r0, 0x1f -/* 064568 80069B08 80A10010 */ lwz r5, 0x10(r1) -/* 06456C 80069B0C 38C6043E */ addi r6, r6, 0x43e -/* 064570 80069B10 5400103A */ slwi r0, r0, 2 -/* 064574 80069B14 7CC5012E */ stwx r6, r5, r0 -/* 064578 80069B18 3CC04180 */ lis r6, 0x4180 -/* 06457C 80069B1C 38000020 */ li r0, 0x20 -/* 064580 80069B20 80A10010 */ lwz r5, 0x10(r1) -/* 064584 80069B24 38C6001C */ addi r6, r6, 0x1c -/* 064588 80069B28 5400103A */ slwi r0, r0, 2 -/* 06458C 80069B2C 7CC5012E */ stwx r6, r5, r0 -/* 064590 80069B30 3CC04181 */ lis r6, 0x4181 -/* 064594 80069B34 38000021 */ li r0, 0x21 -/* 064598 80069B38 80A10010 */ lwz r5, 0x10(r1) -/* 06459C 80069B3C 38C6000C */ addi r6, r6, 0xc -/* 0645A0 80069B40 5400103A */ slwi r0, r0, 2 -/* 0645A4 80069B44 7CC5012E */ stwx r6, r5, r0 -/* 0645A8 80069B48 38000022 */ li r0, 0x22 -/* 0645AC 80069B4C 38E70529 */ addi r7, r7, 0x529 -/* 0645B0 80069B50 80C10010 */ lwz r6, 0x10(r1) -/* 0645B4 80069B54 5405103A */ slwi r5, r0, 2 -/* 0645B8 80069B58 38000023 */ li r0, 0x23 -/* 0645BC 80069B5C 7CE6292E */ stwx r7, r6, r5 -/* 0645C0 80069B60 3CA030C6 */ lis r5, 0x30c6 -/* 0645C4 80069B64 38E40010 */ addi r7, r4, 0x10 -/* 0645C8 80069B68 80C10010 */ lwz r6, 0x10(r1) -/* 0645CC 80069B6C 5404103A */ slwi r4, r0, 2 -/* 0645D0 80069B70 38000024 */ li r0, 0x24 -/* 0645D4 80069B74 7CE6212E */ stwx r7, r6, r4 -/* 0645D8 80069B78 38800025 */ li r4, 0x25 -/* 0645DC 80069B7C 38E50800 */ addi r7, r5, 0x800 -/* 0645E0 80069B80 80A10010 */ lwz r5, 0x10(r1) -/* 0645E4 80069B84 5400103A */ slwi r0, r0, 2 -/* 0645E8 80069B88 3CC07D08 */ lis r6, 0x7d08 -/* 0645EC 80069B8C 7CE5012E */ stwx r7, r5, r0 -/* 0645F0 80069B90 38000026 */ li r0, 0x26 -/* 0645F4 80069B94 39030194 */ addi r8, r3, 0x194 -/* 0645F8 80069B98 80E10010 */ lwz r7, 0x10(r1) -/* 0645FC 80069B9C 5483103A */ slwi r3, r4, 2 -/* 064600 80069BA0 3CA054C7 */ lis r5, 0x54c7 -/* 064604 80069BA4 7D07192E */ stwx r8, r7, r3 -/* 064608 80069BA8 38800027 */ li r4, 0x27 -/* 06460C 80069BAC 38E60194 */ addi r7, r6, 0x194 -/* 064610 80069BB0 80C10010 */ lwz r6, 0x10(r1) -/* 064614 80069BB4 5400103A */ slwi r0, r0, 2 -/* 064618 80069BB8 3C6050A7 */ lis r3, 0x50a7 -/* 06461C 80069BBC 7CE6012E */ stwx r7, r6, r0 -/* 064620 80069BC0 38000028 */ li r0, 0x28 -/* 064624 80069BC4 38E5A83E */ addi r7, r5, -22466 -/* 064628 80069BC8 80C10010 */ lwz r6, 0x10(r1) -/* 06462C 80069BCC 5484103A */ slwi r4, r4, 2 -/* 064630 80069BD0 3CA054A6 */ lis r5, 0x54a6 -/* 064634 80069BD4 7CE6212E */ stwx r7, r6, r4 -/* 064638 80069BD8 38800029 */ li r4, 0x29 -/* 06463C 80069BDC 38E3A814 */ addi r7, r3, -22508 -/* 064640 80069BE0 80C10010 */ lwz r6, 0x10(r1) -/* 064644 80069BE4 5400103A */ slwi r0, r0, 2 -/* 064648 80069BE8 3C605509 */ lis r3, 0x5509 -/* 06464C 80069BEC 7CE6012E */ stwx r7, r6, r0 -/* 064650 80069BF0 3800002A */ li r0, 0x2a -/* 064654 80069BF4 38E5AB3E */ addi r7, r5, -21698 -/* 064658 80069BF8 80C10010 */ lwz r6, 0x10(r1) -/* 06465C 80069BFC 5484103A */ slwi r4, r4, 2 -/* 064660 80069C00 3CA07D05 */ lis r5, 0x7d05 -/* 064664 80069C04 7CE6212E */ stwx r7, r6, r4 -/* 064668 80069C08 3880002B */ li r4, 0x2b -/* 06466C 80069C0C 38E3A016 */ addi r7, r3, -24554 -/* 064670 80069C10 80C10010 */ lwz r6, 0x10(r1) -/* 064674 80069C14 5400103A */ slwi r0, r0, 2 -/* 064678 80069C18 3C607CE5 */ lis r3, 0x7ce5 -/* 06467C 80069C1C 7CE6012E */ stwx r7, r6, r0 -/* 064680 80069C20 3800002C */ li r0, 0x2c -/* 064684 80069C24 38E52B78 */ addi r7, r5, 0x2b78 -/* 064688 80069C28 80C10010 */ lwz r6, 0x10(r1) -/* 06468C 80069C2C 5485103A */ slwi r5, r4, 2 -/* 064690 80069C30 38832B78 */ addi r4, r3, 0x2b78 -/* 064694 80069C34 7CE6292E */ stwx r7, r6, r5 -/* 064698 80069C38 5400103A */ slwi r0, r0, 2 -/* 06469C 80069C3C 80610010 */ lwz r3, 0x10(r1) -/* 0646A0 80069C40 7C83012E */ stwx r4, r3, r0 -/* 0646A4 80069C44 3C8090A1 */ lis r4, 0x90a1 -/* 0646A8 80069C48 80610010 */ lwz r3, 0x10(r1) -/* 0646AC 80069C4C 3800002D */ li r0, 0x2d -/* 0646B0 80069C50 38840008 */ addi r4, r4, 8 -/* 0646B4 80069C54 5400103A */ slwi r0, r0, 2 -/* 0646B8 80069C58 7C83012E */ stwx r4, r3, r0 -/* 0646BC 80069C5C 3C8090C1 */ lis r4, 0x90c1 -/* 0646C0 80069C60 3800002E */ li r0, 0x2e -/* 0646C4 80069C64 80610010 */ lwz r3, 0x10(r1) -/* 0646C8 80069C68 3884000C */ addi r4, r4, 0xc -/* 0646CC 80069C6C 5400103A */ slwi r0, r0, 2 -/* 0646D0 80069C70 7C83012E */ stwx r4, r3, r0 -/* 0646D4 80069C74 3C60C821 */ lis r3, 0xc821 -/* 0646D8 80069C78 3800002F */ li r0, 0x2f -/* 0646DC 80069C7C 80810010 */ lwz r4, 0x10(r1) -/* 0646E0 80069C80 38A30008 */ addi r5, r3, 8 -/* 0646E4 80069C84 5400103A */ slwi r0, r0, 2 -/* 0646E8 80069C88 3C603821 */ lis r3, 0x3821 -/* 0646EC 80069C8C 7CA4012E */ stwx r5, r4, r0 -/* 0646F0 80069C90 38000030 */ li r0, 0x30 -/* 0646F4 80069C94 80810010 */ lwz r4, 0x10(r1) -/* 0646F8 80069C98 38A30010 */ addi r5, r3, 0x10 -/* 0646FC 80069C9C 5400103A */ slwi r0, r0, 2 -/* 064700 80069CA0 7CA4012E */ stwx r5, r4, r0 -/* 064704 80069CA4 3CA08101 */ lis r5, 0x8101 -/* 064708 80069CA8 38000031 */ li r0, 0x31 -/* 06470C 80069CAC 80810010 */ lwz r4, 0x10(r1) -/* 064710 80069CB0 38A50008 */ addi r5, r5, 8 -/* 064714 80069CB4 5400103A */ slwi r0, r0, 2 -/* 064718 80069CB8 7CA4012E */ stwx r5, r4, r0 -/* 06471C 80069CBC 3CA08121 */ lis r5, 0x8121 -/* 064720 80069CC0 38000032 */ li r0, 0x32 -/* 064724 80069CC4 80810010 */ lwz r4, 0x10(r1) -/* 064728 80069CC8 38A50010 */ addi r5, r5, 0x10 -/* 06472C 80069CCC 5400103A */ slwi r0, r0, 2 -/* 064730 80069CD0 7CA4012E */ stwx r5, r4, r0 -/* 064734 80069CD4 3CA08141 */ lis r5, 0x8141 -/* 064738 80069CD8 38000033 */ li r0, 0x33 -/* 06473C 80069CDC 80810010 */ lwz r4, 0x10(r1) -/* 064740 80069CE0 38A50018 */ addi r5, r5, 0x18 -/* 064744 80069CE4 5400103A */ slwi r0, r0, 2 -/* 064748 80069CE8 7CA4012E */ stwx r5, r4, r0 -/* 06474C 80069CEC 3CA08161 */ lis r5, 0x8161 -/* 064750 80069CF0 38000034 */ li r0, 0x34 -/* 064754 80069CF4 80810010 */ lwz r4, 0x10(r1) -/* 064758 80069CF8 38A50020 */ addi r5, r5, 0x20 -/* 06475C 80069CFC 5400103A */ slwi r0, r0, 2 -/* 064760 80069D00 7CA4012E */ stwx r5, r4, r0 -/* 064764 80069D04 3CA08181 */ lis r5, 0x8181 -/* 064768 80069D08 38000035 */ li r0, 0x35 -/* 06476C 80069D0C 80810010 */ lwz r4, 0x10(r1) -/* 064770 80069D10 38A50028 */ addi r5, r5, 0x28 -/* 064774 80069D14 5400103A */ slwi r0, r0, 2 -/* 064778 80069D18 7CA4012E */ stwx r5, r4, r0 -/* 06477C 80069D1C 38000036 */ li r0, 0x36 -/* 064780 80069D20 38A30030 */ addi r5, r3, 0x30 -/* 064784 80069D24 80810010 */ lwz r4, 0x10(r1) -/* 064788 80069D28 5400103A */ slwi r0, r0, 2 -/* 06478C 80069D2C 3C604E80 */ lis r3, 0x4e80 -/* 064790 80069D30 7CA4012E */ stwx r5, r4, r0 -/* 064794 80069D34 38000037 */ li r0, 0x37 -/* 064798 80069D38 38830020 */ addi r4, r3, 0x20 -/* 06479C 80069D3C 80610010 */ lwz r3, 0x10(r1) -/* 0647A0 80069D40 5400103A */ slwi r0, r0, 2 -/* 0647A4 80069D44 38A00038 */ li r5, 0x38 -/* 0647A8 80069D48 7C83012E */ stwx r4, r3, r0 -/* 0647AC 80069D4C 54BF103A */ slwi r31, r5, 2 -/* 0647B0 80069D50 389F0000 */ addi r4, r31, 0 -/* 0647B4 80069D54 80610010 */ lwz r3, 0x10(r1) -/* 0647B8 80069D58 48033A55 */ bl DCStoreRange -/* 0647BC 80069D5C 80610010 */ lwz r3, 0x10(r1) -/* 0647C0 80069D60 7FE4FB78 */ mr r4, r31 -/* 0647C4 80069D64 48033AD1 */ bl ICInvalidateRange -/* 0647C8 80069D68 38600001 */ li r3, 1 -lbl_80069D6C: -/* 0647CC 80069D6C 80010024 */ lwz r0, 0x24(r1) -/* 0647D0 80069D70 83E1001C */ lwz r31, 0x1c(r1) -/* 0647D4 80069D74 38210020 */ addi r1, r1, 0x20 -/* 0647D8 80069D78 7C0803A6 */ mtlr r0 -/* 0647DC 80069D7C 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_SB.s b/asm/non_matchings/cpu/cpuCompile_SB.s deleted file mode 100644 index ee56a6d9..00000000 --- a/asm/non_matchings/cpu/cpuCompile_SB.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel cpuCompile_SB -/* 0636AC 80068C4C 7C0802A6 */ mflr r0 -/* 0636B0 80068C50 90010004 */ stw r0, 4(r1) -/* 0636B4 80068C54 3800000A */ li r0, 0xa -/* 0636B8 80068C58 5400103A */ slwi r0, r0, 2 -/* 0636BC 80068C5C 9421FFE0 */ stwu r1, -0x20(r1) -/* 0636C0 80068C60 93E1001C */ stw r31, 0x1c(r1) -/* 0636C4 80068C64 3BE40000 */ addi r31, r4, 0 -/* 0636C8 80068C68 64043000 */ oris r4, r0, 0x3000 -/* 0636CC 80068C6C 93C10018 */ stw r30, 0x18(r1) -/* 0636D0 80068C70 3BC30000 */ addi r30, r3, 0 -/* 0636D4 80068C74 38610010 */ addi r3, r1, 0x10 -/* 0636D8 80068C78 4BF9E53D */ bl xlHeapTake -/* 0636DC 80068C7C 2C030000 */ cmpwi r3, 0 -/* 0636E0 80068C80 4082000C */ bne lbl_80068C8C -/* 0636E4 80068C84 38600000 */ li r3, 0 -/* 0636E8 80068C88 48000108 */ b lbl_80068D90 -lbl_80068C8C: -/* 0636EC 80068C8C 80010010 */ lwz r0, 0x10(r1) -/* 0636F0 80068C90 3D0080E6 */ lis r8, 0x80e6 -/* 0636F4 80068C94 3CC054C6 */ lis r6, 0x54c6 -/* 0636F8 80068C98 901F0000 */ stw r0, 0(r31) -/* 0636FC 80068C9C 38600000 */ li r3, 0 -/* 063700 80068CA0 381E0B64 */ addi r0, r30, 0xb64 -/* 063704 80068CA4 80A10010 */ lwz r5, 0x10(r1) -/* 063708 80068CA8 7C9E0050 */ subf r4, r30, r0 -/* 06370C 80068CAC 38C6103A */ addi r6, r6, 0x103a -/* 063710 80068CB0 5460103A */ slwi r0, r3, 2 -/* 063714 80068CB4 7CC5012E */ stwx r6, r5, r0 -/* 063718 80068CB8 38000001 */ li r0, 1 -/* 06371C 80068CBC 3CA07CC6 */ lis r5, 0x7cc6 -/* 063720 80068CC0 80610010 */ lwz r3, 0x10(r1) -/* 063724 80068CC4 3C8438E3 */ addis r4, r4, 0x38e3 -/* 063728 80068CC8 5400103A */ slwi r0, r0, 2 -/* 06372C 80068CCC 7C83012E */ stwx r4, r3, r0 -/* 063730 80068CD0 38000002 */ li r0, 2 -/* 063734 80068CD4 38600003 */ li r3, 3 -/* 063738 80068CD8 80810010 */ lwz r4, 0x10(r1) -/* 06373C 80068CDC 38A5382E */ addi r5, r5, 0x382e -/* 063740 80068CE0 5400103A */ slwi r0, r0, 2 -/* 063744 80068CE4 7CA4012E */ stwx r5, r4, r0 -/* 063748 80068CE8 3CA07CA5 */ lis r5, 0x7ca5 -/* 06374C 80068CEC 38000004 */ li r0, 4 -/* 063750 80068CF0 80810010 */ lwz r4, 0x10(r1) -/* 063754 80068CF4 38C80008 */ addi r6, r8, 8 -/* 063758 80068CF8 5463103A */ slwi r3, r3, 2 -/* 06375C 80068CFC 7CC4192E */ stwx r6, r4, r3 -/* 063760 80068D00 38600005 */ li r3, 5 -/* 063764 80068D04 3CE080E7 */ lis r7, 0x80e7 -/* 063768 80068D08 80810010 */ lwz r4, 0x10(r1) -/* 06376C 80068D0C 38A53A14 */ addi r5, r5, 0x3a14 -/* 063770 80068D10 5400103A */ slwi r0, r0, 2 -/* 063774 80068D14 7CA4012E */ stwx r5, r4, r0 -/* 063778 80068D18 38000006 */ li r0, 6 -/* 06377C 80068D1C 3CC07D05 */ lis r6, 0x7d05 -/* 063780 80068D20 80810010 */ lwz r4, 0x10(r1) -/* 063784 80068D24 38A80004 */ addi r5, r8, 4 -/* 063788 80068D28 5463103A */ slwi r3, r3, 2 -/* 06378C 80068D2C 7CA4192E */ stwx r5, r4, r3 -/* 063790 80068D30 38800007 */ li r4, 7 -/* 063794 80068D34 3C604E80 */ lis r3, 0x4e80 -/* 063798 80068D38 80A10010 */ lwz r5, 0x10(r1) -/* 06379C 80068D3C 38E70004 */ addi r7, r7, 4 -/* 0637A0 80068D40 5400103A */ slwi r0, r0, 2 -/* 0637A4 80068D44 7CE5012E */ stwx r7, r5, r0 -/* 0637A8 80068D48 38000008 */ li r0, 8 -/* 0637AC 80068D4C 38E00009 */ li r7, 9 -/* 0637B0 80068D50 80A10010 */ lwz r5, 0x10(r1) -/* 0637B4 80068D54 38C639AE */ addi r6, r6, 0x39ae -/* 0637B8 80068D58 5484103A */ slwi r4, r4, 2 -/* 0637BC 80068D5C 7CC5212E */ stwx r6, r5, r4 -/* 0637C0 80068D60 54FF103A */ slwi r31, r7, 2 -/* 0637C4 80068D64 38A30020 */ addi r5, r3, 0x20 -/* 0637C8 80068D68 80610010 */ lwz r3, 0x10(r1) -/* 0637CC 80068D6C 5400103A */ slwi r0, r0, 2 -/* 0637D0 80068D70 389F0000 */ addi r4, r31, 0 -/* 0637D4 80068D74 7CA3012E */ stwx r5, r3, r0 -/* 0637D8 80068D78 80610010 */ lwz r3, 0x10(r1) -/* 0637DC 80068D7C 48034A31 */ bl DCStoreRange -/* 0637E0 80068D80 80610010 */ lwz r3, 0x10(r1) -/* 0637E4 80068D84 7FE4FB78 */ mr r4, r31 -/* 0637E8 80068D88 48034AAD */ bl ICInvalidateRange -/* 0637EC 80068D8C 38600001 */ li r3, 1 -lbl_80068D90: -/* 0637F0 80068D90 80010024 */ lwz r0, 0x24(r1) -/* 0637F4 80068D94 83E1001C */ lwz r31, 0x1c(r1) -/* 0637F8 80068D98 83C10018 */ lwz r30, 0x18(r1) -/* 0637FC 80068D9C 7C0803A6 */ mtlr r0 -/* 063800 80068DA0 38210020 */ addi r1, r1, 0x20 -/* 063804 80068DA4 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_SDC.s b/asm/non_matchings/cpu/cpuCompile_SDC.s deleted file mode 100644 index 9a4deba2..00000000 --- a/asm/non_matchings/cpu/cpuCompile_SDC.s +++ /dev/null @@ -1,101 +0,0 @@ -glabel cpuCompile_SDC -/* 0630E4 80068684 7C0802A6 */ mflr r0 -/* 0630E8 80068688 90010004 */ stw r0, 4(r1) -/* 0630EC 8006868C 3800000C */ li r0, 0xc -/* 0630F0 80068690 5400103A */ slwi r0, r0, 2 -/* 0630F4 80068694 9421FFE0 */ stwu r1, -0x20(r1) -/* 0630F8 80068698 93E1001C */ stw r31, 0x1c(r1) -/* 0630FC 8006869C 3BE40000 */ addi r31, r4, 0 -/* 063100 800686A0 64043000 */ oris r4, r0, 0x3000 -/* 063104 800686A4 93C10018 */ stw r30, 0x18(r1) -/* 063108 800686A8 3BC30000 */ addi r30, r3, 0 -/* 06310C 800686AC 38610010 */ addi r3, r1, 0x10 -/* 063110 800686B0 4BF9EB05 */ bl xlHeapTake -/* 063114 800686B4 2C030000 */ cmpwi r3, 0 -/* 063118 800686B8 4082000C */ bne lbl_800686C4 -/* 06311C 800686BC 38600000 */ li r3, 0 -/* 063120 800686C0 48000134 */ b lbl_800687F4 -lbl_800686C4: -/* 063124 800686C4 80010010 */ lwz r0, 0x10(r1) -/* 063128 800686C8 3D0080E6 */ lis r8, 0x80e6 -/* 06312C 800686CC 3CC054C6 */ lis r6, 0x54c6 -/* 063130 800686D0 901F0000 */ stw r0, 0(r31) -/* 063134 800686D4 38600000 */ li r3, 0 -/* 063138 800686D8 381E0B64 */ addi r0, r30, 0xb64 -/* 06313C 800686DC 80A10010 */ lwz r5, 0x10(r1) -/* 063140 800686E0 7C9E0050 */ subf r4, r30, r0 -/* 063144 800686E4 38C6103A */ addi r6, r6, 0x103a -/* 063148 800686E8 5460103A */ slwi r0, r3, 2 -/* 06314C 800686EC 7CC5012E */ stwx r6, r5, r0 -/* 063150 800686F0 38000001 */ li r0, 1 -/* 063154 800686F4 3CA07CC6 */ lis r5, 0x7cc6 -/* 063158 800686F8 80610010 */ lwz r3, 0x10(r1) -/* 06315C 800686FC 3C8438E3 */ addis r4, r4, 0x38e3 -/* 063160 80068700 5400103A */ slwi r0, r0, 2 -/* 063164 80068704 7C83012E */ stwx r4, r3, r0 -/* 063168 80068708 38600002 */ li r3, 2 -/* 06316C 8006870C 38000003 */ li r0, 3 -/* 063170 80068710 80810010 */ lwz r4, 0x10(r1) -/* 063174 80068714 38A5382E */ addi r5, r5, 0x382e -/* 063178 80068718 5463103A */ slwi r3, r3, 2 -/* 06317C 8006871C 7CA4192E */ stwx r5, r4, r3 -/* 063180 80068720 3CA07CA5 */ lis r5, 0x7ca5 -/* 063184 80068724 38600004 */ li r3, 4 -/* 063188 80068728 80810010 */ lwz r4, 0x10(r1) -/* 06318C 8006872C 38C80008 */ addi r6, r8, 8 -/* 063190 80068730 5400103A */ slwi r0, r0, 2 -/* 063194 80068734 7CC4012E */ stwx r6, r4, r0 -/* 063198 80068738 38000005 */ li r0, 5 -/* 06319C 8006873C 3CC080E7 */ lis r6, 0x80e7 -/* 0631A0 80068740 80810010 */ lwz r4, 0x10(r1) -/* 0631A4 80068744 38A53A14 */ addi r5, r5, 0x3a14 -/* 0631A8 80068748 5463103A */ slwi r3, r3, 2 -/* 0631AC 8006874C 7CA4192E */ stwx r5, r4, r3 -/* 0631B0 80068750 38600006 */ li r3, 6 -/* 0631B4 80068754 3CE07CE5 */ lis r7, 0x7ce5 -/* 0631B8 80068758 80810010 */ lwz r4, 0x10(r1) -/* 0631BC 8006875C 38A80004 */ addi r5, r8, 4 -/* 0631C0 80068760 5400103A */ slwi r0, r0, 2 -/* 0631C4 80068764 7CA4012E */ stwx r5, r4, r0 -/* 0631C8 80068768 38000007 */ li r0, 7 -/* 0631CC 8006876C 38A00008 */ li r5, 8 -/* 0631D0 80068770 80810010 */ lwz r4, 0x10(r1) -/* 0631D4 80068774 38C60004 */ addi r6, r6, 4 -/* 0631D8 80068778 5463103A */ slwi r3, r3, 2 -/* 0631DC 8006877C 7CC4192E */ stwx r6, r4, r3 -/* 0631E0 80068780 3CC09127 */ lis r6, 0x9127 -/* 0631E4 80068784 38800009 */ li r4, 9 -/* 0631E8 80068788 80610010 */ lwz r3, 0x10(r1) -/* 0631EC 8006878C 38E73A14 */ addi r7, r7, 0x3a14 -/* 0631F0 80068790 5400103A */ slwi r0, r0, 2 -/* 0631F4 80068794 7CE3012E */ stwx r7, r3, r0 -/* 0631F8 80068798 3C604E80 */ lis r3, 0x4e80 -/* 0631FC 8006879C 3800000A */ li r0, 0xa -/* 063200 800687A0 80E10010 */ lwz r7, 0x10(r1) -/* 063204 800687A4 54A5103A */ slwi r5, r5, 2 -/* 063208 800687A8 3D009107 */ lis r8, 0x9107 -/* 06320C 800687AC 7D07292E */ stwx r8, r7, r5 -/* 063210 800687B0 38A0000B */ li r5, 0xb -/* 063214 800687B4 54BF103A */ slwi r31, r5, 2 -/* 063218 800687B8 80A10010 */ lwz r5, 0x10(r1) -/* 06321C 800687BC 38C60004 */ addi r6, r6, 4 -/* 063220 800687C0 5484103A */ slwi r4, r4, 2 -/* 063224 800687C4 7CC5212E */ stwx r6, r5, r4 -/* 063228 800687C8 38A30020 */ addi r5, r3, 0x20 -/* 06322C 800687CC 5400103A */ slwi r0, r0, 2 -/* 063230 800687D0 80610010 */ lwz r3, 0x10(r1) -/* 063234 800687D4 7FE4FB78 */ mr r4, r31 -/* 063238 800687D8 7CA3012E */ stwx r5, r3, r0 -/* 06323C 800687DC 80610010 */ lwz r3, 0x10(r1) -/* 063240 800687E0 48034FCD */ bl DCStoreRange -/* 063244 800687E4 80610010 */ lwz r3, 0x10(r1) -/* 063248 800687E8 7FE4FB78 */ mr r4, r31 -/* 06324C 800687EC 48035049 */ bl ICInvalidateRange -/* 063250 800687F0 38600001 */ li r3, 1 -lbl_800687F4: -/* 063254 800687F4 80010024 */ lwz r0, 0x24(r1) -/* 063258 800687F8 83E1001C */ lwz r31, 0x1c(r1) -/* 06325C 800687FC 83C10018 */ lwz r30, 0x18(r1) -/* 063260 80068800 7C0803A6 */ mtlr r0 -/* 063264 80068804 38210020 */ addi r1, r1, 0x20 -/* 063268 80068808 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_SH.s b/asm/non_matchings/cpu/cpuCompile_SH.s deleted file mode 100644 index b9f2d4d5..00000000 --- a/asm/non_matchings/cpu/cpuCompile_SH.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel cpuCompile_SH -/* 063550 80068AF0 7C0802A6 */ mflr r0 -/* 063554 80068AF4 90010004 */ stw r0, 4(r1) -/* 063558 80068AF8 3800000A */ li r0, 0xa -/* 06355C 80068AFC 5400103A */ slwi r0, r0, 2 -/* 063560 80068B00 9421FFE0 */ stwu r1, -0x20(r1) -/* 063564 80068B04 93E1001C */ stw r31, 0x1c(r1) -/* 063568 80068B08 3BE40000 */ addi r31, r4, 0 -/* 06356C 80068B0C 64043000 */ oris r4, r0, 0x3000 -/* 063570 80068B10 93C10018 */ stw r30, 0x18(r1) -/* 063574 80068B14 3BC30000 */ addi r30, r3, 0 -/* 063578 80068B18 38610010 */ addi r3, r1, 0x10 -/* 06357C 80068B1C 4BF9E699 */ bl xlHeapTake -/* 063580 80068B20 2C030000 */ cmpwi r3, 0 -/* 063584 80068B24 4082000C */ bne lbl_80068B30 -/* 063588 80068B28 38600000 */ li r3, 0 -/* 06358C 80068B2C 48000108 */ b lbl_80068C34 -lbl_80068B30: -/* 063590 80068B30 80010010 */ lwz r0, 0x10(r1) -/* 063594 80068B34 3D0080E6 */ lis r8, 0x80e6 -/* 063598 80068B38 3CC054C6 */ lis r6, 0x54c6 -/* 06359C 80068B3C 901F0000 */ stw r0, 0(r31) -/* 0635A0 80068B40 38600000 */ li r3, 0 -/* 0635A4 80068B44 381E0B64 */ addi r0, r30, 0xb64 -/* 0635A8 80068B48 80A10010 */ lwz r5, 0x10(r1) -/* 0635AC 80068B4C 7C9E0050 */ subf r4, r30, r0 -/* 0635B0 80068B50 38C6103A */ addi r6, r6, 0x103a -/* 0635B4 80068B54 5460103A */ slwi r0, r3, 2 -/* 0635B8 80068B58 7CC5012E */ stwx r6, r5, r0 -/* 0635BC 80068B5C 38000001 */ li r0, 1 -/* 0635C0 80068B60 3CA07CC6 */ lis r5, 0x7cc6 -/* 0635C4 80068B64 80610010 */ lwz r3, 0x10(r1) -/* 0635C8 80068B68 3C8438E3 */ addis r4, r4, 0x38e3 -/* 0635CC 80068B6C 5400103A */ slwi r0, r0, 2 -/* 0635D0 80068B70 7C83012E */ stwx r4, r3, r0 -/* 0635D4 80068B74 38000002 */ li r0, 2 -/* 0635D8 80068B78 38600003 */ li r3, 3 -/* 0635DC 80068B7C 80810010 */ lwz r4, 0x10(r1) -/* 0635E0 80068B80 38A5382E */ addi r5, r5, 0x382e -/* 0635E4 80068B84 5400103A */ slwi r0, r0, 2 -/* 0635E8 80068B88 7CA4012E */ stwx r5, r4, r0 -/* 0635EC 80068B8C 3CA07CA5 */ lis r5, 0x7ca5 -/* 0635F0 80068B90 38000004 */ li r0, 4 -/* 0635F4 80068B94 80810010 */ lwz r4, 0x10(r1) -/* 0635F8 80068B98 38C80008 */ addi r6, r8, 8 -/* 0635FC 80068B9C 5463103A */ slwi r3, r3, 2 -/* 063600 80068BA0 7CC4192E */ stwx r6, r4, r3 -/* 063604 80068BA4 38600005 */ li r3, 5 -/* 063608 80068BA8 3CE080E7 */ lis r7, 0x80e7 -/* 06360C 80068BAC 80810010 */ lwz r4, 0x10(r1) -/* 063610 80068BB0 38A53A14 */ addi r5, r5, 0x3a14 -/* 063614 80068BB4 5400103A */ slwi r0, r0, 2 -/* 063618 80068BB8 7CA4012E */ stwx r5, r4, r0 -/* 06361C 80068BBC 38000006 */ li r0, 6 -/* 063620 80068BC0 3CC07D05 */ lis r6, 0x7d05 -/* 063624 80068BC4 80810010 */ lwz r4, 0x10(r1) -/* 063628 80068BC8 38A80004 */ addi r5, r8, 4 -/* 06362C 80068BCC 5463103A */ slwi r3, r3, 2 -/* 063630 80068BD0 7CA4192E */ stwx r5, r4, r3 -/* 063634 80068BD4 38800007 */ li r4, 7 -/* 063638 80068BD8 3C604E80 */ lis r3, 0x4e80 -/* 06363C 80068BDC 80A10010 */ lwz r5, 0x10(r1) -/* 063640 80068BE0 38E70004 */ addi r7, r7, 4 -/* 063644 80068BE4 5400103A */ slwi r0, r0, 2 -/* 063648 80068BE8 7CE5012E */ stwx r7, r5, r0 -/* 06364C 80068BEC 38000008 */ li r0, 8 -/* 063650 80068BF0 38E00009 */ li r7, 9 -/* 063654 80068BF4 80A10010 */ lwz r5, 0x10(r1) -/* 063658 80068BF8 38C63B2E */ addi r6, r6, 0x3b2e -/* 06365C 80068BFC 5484103A */ slwi r4, r4, 2 -/* 063660 80068C00 7CC5212E */ stwx r6, r5, r4 -/* 063664 80068C04 54FF103A */ slwi r31, r7, 2 -/* 063668 80068C08 38A30020 */ addi r5, r3, 0x20 -/* 06366C 80068C0C 80610010 */ lwz r3, 0x10(r1) -/* 063670 80068C10 5400103A */ slwi r0, r0, 2 -/* 063674 80068C14 389F0000 */ addi r4, r31, 0 -/* 063678 80068C18 7CA3012E */ stwx r5, r3, r0 -/* 06367C 80068C1C 80610010 */ lwz r3, 0x10(r1) -/* 063680 80068C20 48034B8D */ bl DCStoreRange -/* 063684 80068C24 80610010 */ lwz r3, 0x10(r1) -/* 063688 80068C28 7FE4FB78 */ mr r4, r31 -/* 06368C 80068C2C 48034C09 */ bl ICInvalidateRange -/* 063690 80068C30 38600001 */ li r3, 1 -lbl_80068C34: -/* 063694 80068C34 80010024 */ lwz r0, 0x24(r1) -/* 063698 80068C38 83E1001C */ lwz r31, 0x1c(r1) -/* 06369C 80068C3C 83C10018 */ lwz r30, 0x18(r1) -/* 0636A0 80068C40 7C0803A6 */ mtlr r0 -/* 0636A4 80068C44 38210020 */ addi r1, r1, 0x20 -/* 0636A8 80068C48 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_SW.s b/asm/non_matchings/cpu/cpuCompile_SW.s deleted file mode 100644 index fc177933..00000000 --- a/asm/non_matchings/cpu/cpuCompile_SW.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel cpuCompile_SW -/* 0633F4 80068994 7C0802A6 */ mflr r0 -/* 0633F8 80068998 90010004 */ stw r0, 4(r1) -/* 0633FC 8006899C 3800000A */ li r0, 0xa -/* 063400 800689A0 5400103A */ slwi r0, r0, 2 -/* 063404 800689A4 9421FFE0 */ stwu r1, -0x20(r1) -/* 063408 800689A8 93E1001C */ stw r31, 0x1c(r1) -/* 06340C 800689AC 3BE40000 */ addi r31, r4, 0 -/* 063410 800689B0 64043000 */ oris r4, r0, 0x3000 -/* 063414 800689B4 93C10018 */ stw r30, 0x18(r1) -/* 063418 800689B8 3BC30000 */ addi r30, r3, 0 -/* 06341C 800689BC 38610010 */ addi r3, r1, 0x10 -/* 063420 800689C0 4BF9E7F5 */ bl xlHeapTake -/* 063424 800689C4 2C030000 */ cmpwi r3, 0 -/* 063428 800689C8 4082000C */ bne lbl_800689D4 -/* 06342C 800689CC 38600000 */ li r3, 0 -/* 063430 800689D0 48000108 */ b lbl_80068AD8 -lbl_800689D4: -/* 063434 800689D4 80010010 */ lwz r0, 0x10(r1) -/* 063438 800689D8 3D0080E6 */ lis r8, 0x80e6 -/* 06343C 800689DC 3CC054C6 */ lis r6, 0x54c6 -/* 063440 800689E0 901F0000 */ stw r0, 0(r31) -/* 063444 800689E4 38600000 */ li r3, 0 -/* 063448 800689E8 381E0B64 */ addi r0, r30, 0xb64 -/* 06344C 800689EC 80A10010 */ lwz r5, 0x10(r1) -/* 063450 800689F0 7C9E0050 */ subf r4, r30, r0 -/* 063454 800689F4 38C6103A */ addi r6, r6, 0x103a -/* 063458 800689F8 5460103A */ slwi r0, r3, 2 -/* 06345C 800689FC 7CC5012E */ stwx r6, r5, r0 -/* 063460 80068A00 38000001 */ li r0, 1 -/* 063464 80068A04 3CA07CC6 */ lis r5, 0x7cc6 -/* 063468 80068A08 80610010 */ lwz r3, 0x10(r1) -/* 06346C 80068A0C 3C8438E3 */ addis r4, r4, 0x38e3 -/* 063470 80068A10 5400103A */ slwi r0, r0, 2 -/* 063474 80068A14 7C83012E */ stwx r4, r3, r0 -/* 063478 80068A18 38000002 */ li r0, 2 -/* 06347C 80068A1C 38600003 */ li r3, 3 -/* 063480 80068A20 80810010 */ lwz r4, 0x10(r1) -/* 063484 80068A24 38A5382E */ addi r5, r5, 0x382e -/* 063488 80068A28 5400103A */ slwi r0, r0, 2 -/* 06348C 80068A2C 7CA4012E */ stwx r5, r4, r0 -/* 063490 80068A30 3CA07CA5 */ lis r5, 0x7ca5 -/* 063494 80068A34 38000004 */ li r0, 4 -/* 063498 80068A38 80810010 */ lwz r4, 0x10(r1) -/* 06349C 80068A3C 38C80008 */ addi r6, r8, 8 -/* 0634A0 80068A40 5463103A */ slwi r3, r3, 2 -/* 0634A4 80068A44 7CC4192E */ stwx r6, r4, r3 -/* 0634A8 80068A48 38600005 */ li r3, 5 -/* 0634AC 80068A4C 3CE080E7 */ lis r7, 0x80e7 -/* 0634B0 80068A50 80810010 */ lwz r4, 0x10(r1) -/* 0634B4 80068A54 38A53A14 */ addi r5, r5, 0x3a14 -/* 0634B8 80068A58 5400103A */ slwi r0, r0, 2 -/* 0634BC 80068A5C 7CA4012E */ stwx r5, r4, r0 -/* 0634C0 80068A60 38000006 */ li r0, 6 -/* 0634C4 80068A64 3CC07D05 */ lis r6, 0x7d05 -/* 0634C8 80068A68 80810010 */ lwz r4, 0x10(r1) -/* 0634CC 80068A6C 38A80004 */ addi r5, r8, 4 -/* 0634D0 80068A70 5463103A */ slwi r3, r3, 2 -/* 0634D4 80068A74 7CA4192E */ stwx r5, r4, r3 -/* 0634D8 80068A78 38800007 */ li r4, 7 -/* 0634DC 80068A7C 3C604E80 */ lis r3, 0x4e80 -/* 0634E0 80068A80 80A10010 */ lwz r5, 0x10(r1) -/* 0634E4 80068A84 38E70004 */ addi r7, r7, 4 -/* 0634E8 80068A88 5400103A */ slwi r0, r0, 2 -/* 0634EC 80068A8C 7CE5012E */ stwx r7, r5, r0 -/* 0634F0 80068A90 38000008 */ li r0, 8 -/* 0634F4 80068A94 38E00009 */ li r7, 9 -/* 0634F8 80068A98 80A10010 */ lwz r5, 0x10(r1) -/* 0634FC 80068A9C 38C6392E */ addi r6, r6, 0x392e -/* 063500 80068AA0 5484103A */ slwi r4, r4, 2 -/* 063504 80068AA4 7CC5212E */ stwx r6, r5, r4 -/* 063508 80068AA8 54FF103A */ slwi r31, r7, 2 -/* 06350C 80068AAC 38A30020 */ addi r5, r3, 0x20 -/* 063510 80068AB0 80610010 */ lwz r3, 0x10(r1) -/* 063514 80068AB4 5400103A */ slwi r0, r0, 2 -/* 063518 80068AB8 389F0000 */ addi r4, r31, 0 -/* 06351C 80068ABC 7CA3012E */ stwx r5, r3, r0 -/* 063520 80068AC0 80610010 */ lwz r3, 0x10(r1) -/* 063524 80068AC4 48034CE9 */ bl DCStoreRange -/* 063528 80068AC8 80610010 */ lwz r3, 0x10(r1) -/* 06352C 80068ACC 7FE4FB78 */ mr r4, r31 -/* 063530 80068AD0 48034D65 */ bl ICInvalidateRange -/* 063534 80068AD4 38600001 */ li r3, 1 -lbl_80068AD8: -/* 063538 80068AD8 80010024 */ lwz r0, 0x24(r1) -/* 06353C 80068ADC 83E1001C */ lwz r31, 0x1c(r1) -/* 063540 80068AE0 83C10018 */ lwz r30, 0x18(r1) -/* 063544 80068AE4 7C0803A6 */ mtlr r0 -/* 063548 80068AE8 38210020 */ addi r1, r1, 0x20 -/* 06354C 80068AEC 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_S_SQRT.s b/asm/non_matchings/cpu/cpuCompile_S_SQRT.s deleted file mode 100644 index d4bd5dbf..00000000 --- a/asm/non_matchings/cpu/cpuCompile_S_SQRT.s +++ /dev/null @@ -1,211 +0,0 @@ -glabel cpuCompile_S_SQRT -/* 064DC4 8006A364 7C0802A6 */ mflr r0 -/* 064DC8 8006A368 90010004 */ stw r0, 4(r1) -/* 064DCC 8006A36C 38000024 */ li r0, 0x24 -/* 064DD0 8006A370 5400103A */ slwi r0, r0, 2 -/* 064DD4 8006A374 9421FFB0 */ stwu r1, -0x50(r1) -/* 064DD8 8006A378 BE410018 */ stmw r18, 0x18(r1) -/* 064DDC 8006A37C 3A630000 */ addi r19, r3, 0 -/* 064DE0 8006A380 3A440000 */ addi r18, r4, 0 -/* 064DE4 8006A384 38610010 */ addi r3, r1, 0x10 -/* 064DE8 8006A388 64043000 */ oris r4, r0, 0x3000 -/* 064DEC 8006A38C 4BF9CE29 */ bl xlHeapTake -/* 064DF0 8006A390 2C030000 */ cmpwi r3, 0 -/* 064DF4 8006A394 4082000C */ bne lbl_8006A3A0 -/* 064DF8 8006A398 38600000 */ li r3, 0 -/* 064DFC 8006A39C 480002F4 */ b lbl_8006A690 -lbl_8006A3A0: -/* 064E00 8006A3A0 80610010 */ lwz r3, 0x10(r1) -/* 064E04 8006A3A4 3D203CA0 */ lis r9, 0x3ca0 -/* 064E08 8006A3A8 38130040 */ addi r0, r19, 0x40 -/* 064E0C 8006A3AC 90720000 */ stw r3, 0(r18) -/* 064E10 8006A3B0 7C930050 */ subf r4, r19, r0 -/* 064E14 8006A3B4 3BC40004 */ addi r30, r4, 4 -/* 064E18 8006A3B8 38000000 */ li r0, 0 -/* 064E1C 8006A3BC 80610010 */ lwz r3, 0x10(r1) -/* 064E20 8006A3C0 3CBEC003 */ addis r5, r30, 0xc003 -/* 064E24 8006A3C4 5400103A */ slwi r0, r0, 2 -/* 064E28 8006A3C8 7CA3012E */ stwx r5, r3, r0 -/* 064E2C 8006A3CC 3CA0FC01 */ lis r5, 0xfc01 -/* 064E30 8006A3D0 38000001 */ li r0, 1 -/* 064E34 8006A3D4 80610010 */ lwz r3, 0x10(r1) -/* 064E38 8006A3D8 38A50040 */ addi r5, r5, 0x40 -/* 064E3C 8006A3DC 5400103A */ slwi r0, r0, 2 -/* 064E40 8006A3E0 7CA3012E */ stwx r5, r3, r0 -/* 064E44 8006A3E4 3CA04081 */ lis r5, 0x4081 -/* 064E48 8006A3E8 38000002 */ li r0, 2 -/* 064E4C 8006A3EC 80610010 */ lwz r3, 0x10(r1) -/* 064E50 8006A3F0 38A50078 */ addi r5, r5, 0x78 -/* 064E54 8006A3F4 5400103A */ slwi r0, r0, 2 -/* 064E58 8006A3F8 7CA3012E */ stwx r5, r3, r0 -/* 064E5C 8006A3FC 3CA0FC40 */ lis r5, 0xfc40 -/* 064E60 8006A400 38000003 */ li r0, 3 -/* 064E64 8006A404 80610010 */ lwz r3, 0x10(r1) -/* 064E68 8006A408 38A50834 */ addi r5, r5, 0x834 -/* 064E6C 8006A40C 5400103A */ slwi r0, r0, 2 -/* 064E70 8006A410 7CA3012E */ stwx r5, r3, r0 -/* 064E74 8006A414 38600004 */ li r3, 4 -/* 064E78 8006A418 38000005 */ li r0, 5 -/* 064E7C 8006A41C 80A10010 */ lwz r5, 0x10(r1) -/* 064E80 8006A420 38C93FE0 */ addi r6, r9, 0x3fe0 -/* 064E84 8006A424 5463103A */ slwi r3, r3, 2 -/* 064E88 8006A428 7CC5192E */ stwx r6, r5, r3 -/* 064E8C 8006A42C 38C00006 */ li r6, 6 -/* 064E90 8006A430 38A00007 */ li r5, 7 -/* 064E94 8006A434 80610010 */ lwz r3, 0x10(r1) -/* 064E98 8006A438 3FE490A3 */ addis r31, r4, 0x90a3 -/* 064E9C 8006A43C 5400103A */ slwi r0, r0, 2 -/* 064EA0 8006A440 7FE3012E */ stwx r31, r3, r0 -/* 064EA4 8006A444 38600008 */ li r3, 8 -/* 064EA8 8006A448 38000009 */ li r0, 9 -/* 064EAC 8006A44C 80E10010 */ lwz r7, 0x10(r1) -/* 064EB0 8006A450 3D04C883 */ addis r8, r4, 0xc883 -/* 064EB4 8006A454 54C6103A */ slwi r6, r6, 2 -/* 064EB8 8006A458 7D07312E */ stwx r8, r7, r6 -/* 064EBC 8006A45C 3E40FCA4 */ lis r18, 0xfca4 -/* 064EC0 8006A460 3960000A */ li r11, 0xa -/* 064EC4 8006A464 80C10010 */ lwz r6, 0x10(r1) -/* 064EC8 8006A468 38E94008 */ addi r7, r9, 0x4008 -/* 064ECC 8006A46C 54A5103A */ slwi r5, r5, 2 -/* 064ED0 8006A470 7CE6292E */ stwx r7, r6, r5 -/* 064ED4 8006A474 3D40FCC2 */ lis r10, 0xfcc2 -/* 064ED8 8006A478 3920000B */ li r9, 0xb -/* 064EDC 8006A47C 80C10010 */ lwz r6, 0x10(r1) -/* 064EE0 8006A480 5465103A */ slwi r5, r3, 2 -/* 064EE4 8006A484 3C60FCC1 */ lis r3, 0xfcc1 -/* 064EE8 8006A488 7FE6292E */ stwx r31, r6, r5 -/* 064EEC 8006A48C 3900000C */ li r8, 0xc -/* 064EF0 8006A490 3CE0FCC3 */ lis r7, 0xfcc3 -/* 064EF4 8006A494 80A10010 */ lwz r5, 0x10(r1) -/* 064EF8 8006A498 3C84C863 */ addis r4, r4, 0xc863 -/* 064EFC 8006A49C 5400103A */ slwi r0, r0, 2 -/* 064F00 8006A4A0 7C85012E */ stwx r4, r5, r0 -/* 064F04 8006A4A4 38C0000D */ li r6, 0xd -/* 064F08 8006A4A8 3CA0FC45 */ lis r5, 0xfc45 -/* 064F0C 8006A4AC 81810010 */ lwz r12, 0x10(r1) -/* 064F10 8006A4B0 381200B2 */ addi r0, r18, 0xb2 -/* 064F14 8006A4B4 5564103A */ slwi r4, r11, 2 -/* 064F18 8006A4B8 7C0C212E */ stwx r0, r12, r4 -/* 064F1C 8006A4BC 3880000E */ li r4, 0xe -/* 064F20 8006A4C0 398A00B2 */ addi r12, r10, 0xb2 -/* 064F24 8006A4C4 81410010 */ lwz r10, 0x10(r1) -/* 064F28 8006A4C8 5529103A */ slwi r9, r9, 2 -/* 064F2C 8006A4CC 396301B2 */ addi r11, r3, 0x1b2 -/* 064F30 8006A4D0 7D8A492E */ stwx r12, r10, r9 -/* 064F34 8006A4D4 5508103A */ slwi r8, r8, 2 -/* 064F38 8006A4D8 39473028 */ addi r10, r7, 0x3028 -/* 064F3C 8006A4DC 80E10010 */ lwz r7, 0x10(r1) -/* 064F40 8006A4E0 54C6103A */ slwi r6, r6, 2 -/* 064F44 8006A4E4 392501B2 */ addi r9, r5, 0x1b2 -/* 064F48 8006A4E8 7D67412E */ stwx r11, r7, r8 -/* 064F4C 8006A4EC 5484103A */ slwi r4, r4, 2 -/* 064F50 8006A4F0 80A10010 */ lwz r5, 0x10(r1) -/* 064F54 8006A4F4 7D45312E */ stwx r10, r5, r6 -/* 064F58 8006A4F8 80A10010 */ lwz r5, 0x10(r1) -/* 064F5C 8006A4FC 7D25212E */ stwx r9, r5, r4 -/* 064F60 8006A500 3880000F */ li r4, 0xf -/* 064F64 8006A504 80A10010 */ lwz r5, 0x10(r1) -/* 064F68 8006A508 5484103A */ slwi r4, r4, 2 -/* 064F6C 8006A50C 7C05212E */ stwx r0, r5, r4 -/* 064F70 8006A510 38800010 */ li r4, 0x10 -/* 064F74 8006A514 38C00011 */ li r6, 0x11 -/* 064F78 8006A518 80E10010 */ lwz r7, 0x10(r1) -/* 064F7C 8006A51C 5484103A */ slwi r4, r4, 2 -/* 064F80 8006A520 38A00012 */ li r5, 0x12 -/* 064F84 8006A524 7D87212E */ stwx r12, r7, r4 -/* 064F88 8006A528 38800013 */ li r4, 0x13 -/* 064F8C 8006A52C 3AA00014 */ li r21, 0x14 -/* 064F90 8006A530 80E10010 */ lwz r7, 0x10(r1) -/* 064F94 8006A534 54C6103A */ slwi r6, r6, 2 -/* 064F98 8006A538 3AE00015 */ li r23, 0x15 -/* 064F9C 8006A53C 7D67312E */ stwx r11, r7, r6 -/* 064FA0 8006A540 3A800016 */ li r20, 0x16 -/* 064FA4 8006A544 3A400017 */ li r18, 0x17 -/* 064FA8 8006A548 80C10010 */ lwz r6, 0x10(r1) -/* 064FAC 8006A54C 54A5103A */ slwi r5, r5, 2 -/* 064FB0 8006A550 3A600018 */ li r19, 0x18 -/* 064FB4 8006A554 7D46292E */ stwx r10, r6, r5 -/* 064FB8 8006A558 39000019 */ li r8, 0x19 -/* 064FBC 8006A55C 38E0001A */ li r7, 0x1a -/* 064FC0 8006A560 80C10010 */ lwz r6, 0x10(r1) -/* 064FC4 8006A564 5485103A */ slwi r5, r4, 2 -/* 064FC8 8006A568 3880001B */ li r4, 0x1b -/* 064FCC 8006A56C 7D26292E */ stwx r9, r6, r5 -/* 064FD0 8006A570 38C0001C */ li r6, 0x1c -/* 064FD4 8006A574 38A0001D */ li r5, 0x1d -/* 064FD8 8006A578 82C10010 */ lwz r22, 0x10(r1) -/* 064FDC 8006A57C 56B5103A */ slwi r21, r21, 2 -/* 064FE0 8006A580 3B00001E */ li r24, 0x1e -/* 064FE4 8006A584 7C16A92E */ stwx r0, r22, r21 -/* 064FE8 8006A588 3EC0FC20 */ lis r22, 0xfc20 -/* 064FEC 8006A58C 3AA0001F */ li r21, 0x1f -/* 064FF0 8006A590 83410010 */ lwz r26, 0x10(r1) -/* 064FF4 8006A594 56F9103A */ slwi r25, r23, 2 -/* 064FF8 8006A598 3AE00020 */ li r23, 0x20 -/* 064FFC 8006A59C 7D9AC92E */ stwx r12, r26, r25 -/* 065000 8006A5A0 3B200021 */ li r25, 0x21 -/* 065004 8006A5A4 3B400022 */ li r26, 0x22 -/* 065008 8006A5A8 83810010 */ lwz r28, 0x10(r1) -/* 06500C 8006A5AC 5694103A */ slwi r20, r20, 2 -/* 065010 8006A5B0 3F604E80 */ lis r27, 0x4e80 -/* 065014 8006A5B4 7D7CA12E */ stwx r11, r28, r20 -/* 065018 8006A5B8 3B800023 */ li r28, 0x23 -/* 06501C 8006A5BC 3BA00024 */ li r29, 0x24 -/* 065020 8006A5C0 82810010 */ lwz r20, 0x10(r1) -/* 065024 8006A5C4 5652103A */ slwi r18, r18, 2 -/* 065028 8006A5C8 57BD103A */ slwi r29, r29, 2 -/* 06502C 8006A5CC 7D54912E */ stwx r10, r20, r18 -/* 065030 8006A5D0 5673103A */ slwi r19, r19, 2 -/* 065034 8006A5D4 5514103A */ slwi r20, r8, 2 -/* 065038 8006A5D8 82410010 */ lwz r18, 0x10(r1) -/* 06503C 8006A5DC 54E8103A */ slwi r8, r7, 2 -/* 065040 8006A5E0 5484103A */ slwi r4, r4, 2 -/* 065044 8006A5E4 7D32992E */ stwx r9, r18, r19 -/* 065048 8006A5E8 54C7103A */ slwi r7, r6, 2 -/* 06504C 8006A5EC 54A6103A */ slwi r6, r5, 2 -/* 065050 8006A5F0 82610010 */ lwz r19, 0x10(r1) -/* 065054 8006A5F4 38A300B2 */ addi r5, r3, 0xb2 -/* 065058 8006A5F8 5703103A */ slwi r3, r24, 2 -/* 06505C 8006A5FC 7C13A12E */ stwx r0, r19, r20 -/* 065060 8006A600 38163018 */ addi r0, r22, 0x3018 -/* 065064 8006A604 56B5103A */ slwi r21, r21, 2 -/* 065068 8006A608 83010010 */ lwz r24, 0x10(r1) -/* 06506C 8006A60C 56F7103A */ slwi r23, r23, 2 -/* 065070 8006A610 3EC038A0 */ lis r22, 0x38a0 -/* 065074 8006A614 7D98412E */ stwx r12, r24, r8 -/* 065078 8006A618 3F1E90A3 */ addis r24, r30, 0x90a3 -/* 06507C 8006A61C 5739103A */ slwi r25, r25, 2 -/* 065080 8006A620 81010010 */ lwz r8, 0x10(r1) -/* 065084 8006A624 575E103A */ slwi r30, r26, 2 -/* 065088 8006A628 399B0020 */ addi r12, r27, 0x20 -/* 06508C 8006A62C 7D68212E */ stwx r11, r8, r4 -/* 065090 8006A630 5788103A */ slwi r8, r28, 2 -/* 065094 8006A634 389D0000 */ addi r4, r29, 0 -/* 065098 8006A638 81610010 */ lwz r11, 0x10(r1) -/* 06509C 8006A63C 7D4B392E */ stwx r10, r11, r7 -/* 0650A0 8006A640 80E10010 */ lwz r7, 0x10(r1) -/* 0650A4 8006A644 7D27312E */ stwx r9, r7, r6 -/* 0650A8 8006A648 80C10010 */ lwz r6, 0x10(r1) -/* 0650AC 8006A64C 7CA6192E */ stwx r5, r6, r3 -/* 0650B0 8006A650 80610010 */ lwz r3, 0x10(r1) -/* 0650B4 8006A654 7C03A92E */ stwx r0, r3, r21 -/* 0650B8 8006A658 80610010 */ lwz r3, 0x10(r1) -/* 0650BC 8006A65C 7EC3B92E */ stwx r22, r3, r23 -/* 0650C0 8006A660 80610010 */ lwz r3, 0x10(r1) -/* 0650C4 8006A664 7F03C92E */ stwx r24, r3, r25 -/* 0650C8 8006A668 80610010 */ lwz r3, 0x10(r1) -/* 0650CC 8006A66C 7FE3F12E */ stwx r31, r3, r30 -/* 0650D0 8006A670 80610010 */ lwz r3, 0x10(r1) -/* 0650D4 8006A674 7D83412E */ stwx r12, r3, r8 -/* 0650D8 8006A678 80610010 */ lwz r3, 0x10(r1) -/* 0650DC 8006A67C 48033131 */ bl DCStoreRange -/* 0650E0 8006A680 80610010 */ lwz r3, 0x10(r1) -/* 0650E4 8006A684 7FA4EB78 */ mr r4, r29 -/* 0650E8 8006A688 480331AD */ bl ICInvalidateRange -/* 0650EC 8006A68C 38600001 */ li r3, 1 -lbl_8006A690: -/* 0650F0 8006A690 BA410018 */ lmw r18, 0x18(r1) -/* 0650F4 8006A694 80010054 */ lwz r0, 0x54(r1) -/* 0650F8 8006A698 38210050 */ addi r1, r1, 0x50 -/* 0650FC 8006A69C 7C0803A6 */ mtlr r0 -/* 065100 8006A6A0 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuCompile_W_CVT_SD.s b/asm/non_matchings/cpu/cpuCompile_W_CVT_SD.s deleted file mode 100644 index a60b5ce4..00000000 --- a/asm/non_matchings/cpu/cpuCompile_W_CVT_SD.s +++ /dev/null @@ -1,111 +0,0 @@ -glabel cpuCompile_W_CVT_SD -/* 0647E0 80069D80 7C0802A6 */ mflr r0 -/* 0647E4 80069D84 90010004 */ stw r0, 4(r1) -/* 0647E8 80069D88 3800000E */ li r0, 0xe -/* 0647EC 80069D8C 5400103A */ slwi r0, r0, 2 -/* 0647F0 80069D90 9421FFE0 */ stwu r1, -0x20(r1) -/* 0647F4 80069D94 93E1001C */ stw r31, 0x1c(r1) -/* 0647F8 80069D98 3BE30000 */ addi r31, r3, 0 -/* 0647FC 80069D9C 38610010 */ addi r3, r1, 0x10 -/* 064800 80069DA0 93C10018 */ stw r30, 0x18(r1) -/* 064804 80069DA4 3BC40000 */ addi r30, r4, 0 -/* 064808 80069DA8 64043000 */ oris r4, r0, 0x3000 -/* 06480C 80069DAC 4BF9D409 */ bl xlHeapTake -/* 064810 80069DB0 2C030000 */ cmpwi r3, 0 -/* 064814 80069DB4 4082000C */ bne lbl_80069DC0 -/* 064818 80069DB8 38600000 */ li r3, 0 -/* 06481C 80069DBC 4800015C */ b lbl_80069F18 -lbl_80069DC0: -/* 064820 80069DC0 80010010 */ lwz r0, 0x10(r1) -/* 064824 80069DC4 3CC06CA6 */ lis r6, 0x6ca6 -/* 064828 80069DC8 38600000 */ li r3, 0 -/* 06482C 80069DCC 901E0000 */ stw r0, 0(r30) -/* 064830 80069DD0 3CE03CC0 */ lis r7, 0x3cc0 -/* 064834 80069DD4 38800001 */ li r4, 1 -/* 064838 80069DD8 80A10010 */ lwz r5, 0x10(r1) -/* 06483C 80069DDC 381F0040 */ addi r0, r31, 0x40 -/* 064840 80069DE0 38C68000 */ addi r6, r6, -32768 -/* 064844 80069DE4 5463103A */ slwi r3, r3, 2 -/* 064848 80069DE8 7CC5192E */ stwx r6, r5, r3 -/* 06484C 80069DEC 7C7F0050 */ subf r3, r31, r0 -/* 064850 80069DF0 3CA390A3 */ addis r5, r3, 0x90a3 -/* 064854 80069DF4 80C10010 */ lwz r6, 0x10(r1) -/* 064858 80069DF8 38E74330 */ addi r7, r7, 0x4330 -/* 06485C 80069DFC 5480103A */ slwi r0, r4, 2 -/* 064860 80069E00 7CE6012E */ stwx r7, r6, r0 -/* 064864 80069E04 38000002 */ li r0, 2 -/* 064868 80069E08 38800003 */ li r4, 3 -/* 06486C 80069E0C 80C10010 */ lwz r6, 0x10(r1) -/* 064870 80069E10 38A50004 */ addi r5, r5, 4 -/* 064874 80069E14 5400103A */ slwi r0, r0, 2 -/* 064878 80069E18 7CA6012E */ stwx r5, r6, r0 -/* 06487C 80069E1C 38000004 */ li r0, 4 -/* 064880 80069E20 38C00005 */ li r6, 5 -/* 064884 80069E24 80E10010 */ lwz r7, 0x10(r1) -/* 064888 80069E28 3D8390C3 */ addis r12, r3, 0x90c3 -/* 06488C 80069E2C 5484103A */ slwi r4, r4, 2 -/* 064890 80069E30 7D87212E */ stwx r12, r7, r4 -/* 064894 80069E34 3CE03CA1 */ lis r7, 0x3ca1 -/* 064898 80069E38 38800006 */ li r4, 6 -/* 06489C 80069E3C 81010010 */ lwz r8, 0x10(r1) -/* 0648A0 80069E40 3D23C803 */ addis r9, r3, 0xc803 -/* 0648A4 80069E44 5400103A */ slwi r0, r0, 2 -/* 0648A8 80069E48 7D28012E */ stwx r9, r8, r0 -/* 0648AC 80069E4C 38000007 */ li r0, 7 -/* 0648B0 80069E50 39600008 */ li r11, 8 -/* 0648B4 80069E54 81010010 */ lwz r8, 0x10(r1) -/* 0648B8 80069E58 54C6103A */ slwi r6, r6, 2 -/* 0648BC 80069E5C 3D40FC20 */ lis r10, 0xfc20 -/* 0648C0 80069E60 7D88312E */ stwx r12, r8, r6 -/* 0648C4 80069E64 39200009 */ li r9, 9 -/* 0648C8 80069E68 3900000A */ li r8, 0xa -/* 0648CC 80069E6C 80C10010 */ lwz r6, 0x10(r1) -/* 0648D0 80069E70 38E78000 */ addi r7, r7, -32768 -/* 0648D4 80069E74 5484103A */ slwi r4, r4, 2 -/* 0648D8 80069E78 7CE6212E */ stwx r7, r6, r4 -/* 0648DC 80069E7C 38E0000B */ li r7, 0xb -/* 0648E0 80069E80 38C0000C */ li r6, 0xc -/* 0648E4 80069E84 81810010 */ lwz r12, 0x10(r1) -/* 0648E8 80069E88 5400103A */ slwi r0, r0, 2 -/* 0648EC 80069E8C 3C804E80 */ lis r4, 0x4e80 -/* 0648F0 80069E90 7CAC012E */ stwx r5, r12, r0 -/* 0648F4 80069E94 3800000D */ li r0, 0xd -/* 0648F8 80069E98 3BC0000E */ li r30, 0xe -/* 0648FC 80069E9C 81810010 */ lwz r12, 0x10(r1) -/* 064900 80069EA0 3FE3C823 */ addis r31, r3, 0xc823 -/* 064904 80069EA4 556B103A */ slwi r11, r11, 2 -/* 064908 80069EA8 7FEC592E */ stwx r31, r12, r11 -/* 06490C 80069EAC 57DF103A */ slwi r31, r30, 2 -/* 064910 80069EB0 396A0828 */ addi r11, r10, 0x828 -/* 064914 80069EB4 81410010 */ lwz r10, 0x10(r1) -/* 064918 80069EB8 5529103A */ slwi r9, r9, 2 -/* 06491C 80069EBC 5508103A */ slwi r8, r8, 2 -/* 064920 80069EC0 7D6A492E */ stwx r11, r10, r9 -/* 064924 80069EC4 3D6038A0 */ lis r11, 0x38a0 -/* 064928 80069EC8 3D2390A3 */ addis r9, r3, 0x90a3 -/* 06492C 80069ECC 81410010 */ lwz r10, 0x10(r1) -/* 064930 80069ED0 54E7103A */ slwi r7, r7, 2 -/* 064934 80069ED4 54C3103A */ slwi r3, r6, 2 -/* 064938 80069ED8 7D6A412E */ stwx r11, r10, r8 -/* 06493C 80069EDC 38C40020 */ addi r6, r4, 0x20 -/* 064940 80069EE0 5400103A */ slwi r0, r0, 2 -/* 064944 80069EE4 81010010 */ lwz r8, 0x10(r1) -/* 064948 80069EE8 7FE4FB78 */ mr r4, r31 -/* 06494C 80069EEC 7D28392E */ stwx r9, r8, r7 -/* 064950 80069EF0 80E10010 */ lwz r7, 0x10(r1) -/* 064954 80069EF4 7CA7192E */ stwx r5, r7, r3 -/* 064958 80069EF8 80610010 */ lwz r3, 0x10(r1) -/* 06495C 80069EFC 7CC3012E */ stwx r6, r3, r0 -/* 064960 80069F00 80610010 */ lwz r3, 0x10(r1) -/* 064964 80069F04 480338A9 */ bl DCStoreRange -/* 064968 80069F08 80610010 */ lwz r3, 0x10(r1) -/* 06496C 80069F0C 7FE4FB78 */ mr r4, r31 -/* 064970 80069F10 48033925 */ bl ICInvalidateRange -/* 064974 80069F14 38600001 */ li r3, 1 -lbl_80069F18: -/* 064978 80069F18 80010024 */ lwz r0, 0x24(r1) -/* 06497C 80069F1C 83E1001C */ lwz r31, 0x1c(r1) -/* 064980 80069F20 83C10018 */ lwz r30, 0x18(r1) -/* 064984 80069F24 7C0803A6 */ mtlr r0 -/* 064988 80069F28 38210020 */ addi r1, r1, 0x20 -/* 06498C 80069F2C 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuException.s b/asm/non_matchings/cpu/cpuException.s deleted file mode 100644 index 377c1e7c..00000000 --- a/asm/non_matchings/cpu/cpuException.s +++ /dev/null @@ -1,197 +0,0 @@ -glabel cpuException -/* 030AAC 8003604C 7C0802A6 */ mflr r0 -/* 030AB0 80036050 38C00000 */ li r6, 0 -/* 030AB4 80036054 90010004 */ stw r0, 4(r1) -/* 030AB8 80036058 9421FFC8 */ stwu r1, -0x38(r1) -/* 030ABC 8003605C BF610024 */ stmw r27, 0x24(r1) -/* 030AC0 80036060 7C7B1B78 */ mr r27, r3 -/* 030AC4 80036064 3B840000 */ addi r28, r4, 0 -/* 030AC8 80036068 80030AA0 */ lwz r0, 0xaa0(r3) -/* 030ACC 8003606C 80E30AA4 */ lwz r7, 0xaa4(r3) -/* 030AD0 80036070 38600006 */ li r3, 6 -/* 030AD4 80036074 7C003038 */ and r0, r0, r6 -/* 030AD8 80036078 7CE31838 */ and r3, r7, r3 -/* 030ADC 8003607C 7C633278 */ xor r3, r3, r6 -/* 030AE0 80036080 7C003278 */ xor r0, r0, r6 -/* 030AE4 80036084 7C600379 */ or. r0, r3, r0 -/* 030AE8 80036088 4182000C */ beq lbl_80036094 -/* 030AEC 8003608C 38600000 */ li r3, 0 -/* 030AF0 80036090 48000268 */ b lbl_800362F8 -lbl_80036094: -/* 030AF4 80036094 2C1CFFFF */ cmpwi r28, -1 -/* 030AF8 80036098 54BD063E */ clrlwi r29, r5, 0x18 -/* 030AFC 8003609C 4082000C */ bne lbl_800360A8 -/* 030B00 800360A0 38600000 */ li r3, 0 -/* 030B04 800360A4 48000254 */ b lbl_800362F8 -lbl_800360A8: -/* 030B08 800360A8 2C1C0010 */ cmpwi r28, 0x10 -/* 030B0C 800360AC 4180000C */ blt lbl_800360B8 -/* 030B10 800360B0 2C1C0016 */ cmpwi r28, 0x16 -/* 030B14 800360B4 40810014 */ ble lbl_800360C8 -lbl_800360B8: -/* 030B18 800360B8 2C1C0018 */ cmpwi r28, 0x18 -/* 030B1C 800360BC 41800014 */ blt lbl_800360D0 -/* 030B20 800360C0 2C1C001E */ cmpwi r28, 0x1e -/* 030B24 800360C4 4181000C */ bgt lbl_800360D0 -lbl_800360C8: -/* 030B28 800360C8 38600000 */ li r3, 0 -/* 030B2C 800360CC 4800022C */ b lbl_800362F8 -lbl_800360D0: -/* 030B30 800360D0 2C1C000A */ cmpwi r28, 0xa -/* 030B34 800360D4 4082000C */ bne lbl_800360E0 -/* 030B38 800360D8 38600000 */ li r3, 0 -/* 030B3C 800360DC 4800021C */ b lbl_800362F8 -lbl_800360E0: -/* 030B40 800360E0 2C1C0000 */ cmpwi r28, 0 -/* 030B44 800360E4 408200B4 */ bne lbl_80036198 -/* 030B48 800360E8 80BB0AAC */ lwz r5, 0xaac(r27) -/* 030B4C 800360EC 57A0402E */ slwi r0, r29, 8 -/* 030B50 800360F0 809B0AA8 */ lwz r4, 0xaa8(r27) -/* 030B54 800360F4 7C03FE70 */ srawi r3, r0, 0x1f -/* 030B58 800360F8 7CA00378 */ or r0, r5, r0 -/* 030B5C 800360FC 901B0AAC */ stw r0, 0xaac(r27) -/* 030B60 80036100 7C831B78 */ or r3, r4, r3 -/* 030B64 80036104 38000006 */ li r0, 6 -/* 030B68 80036108 907B0AA8 */ stw r3, 0xaa8(r27) -/* 030B6C 8003610C 3BC00000 */ li r30, 0 -/* 030B70 80036110 807B0AA0 */ lwz r3, 0xaa0(r27) -/* 030B74 80036114 80BB0AA4 */ lwz r5, 0xaa4(r27) -/* 030B78 80036118 7C63F038 */ and r3, r3, r30 -/* 030B7C 8003611C 7CA00038 */ and r0, r5, r0 -/* 030B80 80036120 7C04F278 */ xor r4, r0, r30 -/* 030B84 80036124 7C60F278 */ xor r0, r3, r30 -/* 030B88 80036128 7C800379 */ or. r0, r4, r0 -/* 030B8C 8003612C 41820008 */ beq lbl_80036134 -/* 030B90 80036130 48000058 */ b lbl_80036188 -lbl_80036134: -/* 030B94 80036134 3BE00001 */ li r31, 1 -/* 030B98 80036138 7CA0F838 */ and r0, r5, r31 -/* 030B9C 8003613C 7C04F278 */ xor r4, r0, r30 -/* 030BA0 80036140 7C60F278 */ xor r0, r3, r30 -/* 030BA4 80036144 7C800379 */ or. r0, r4, r0 -/* 030BA8 80036148 40820008 */ bne lbl_80036150 -/* 030BAC 8003614C 4800003C */ b lbl_80036188 -lbl_80036150: -/* 030BB0 80036150 3C800001 */ lis r4, 1 -/* 030BB4 80036154 3804FF00 */ addi r0, r4, -256 -/* 030BB8 80036158 7CA40038 */ and r4, r5, r0 -/* 030BBC 8003615C 38A00008 */ li r5, 8 -/* 030BC0 80036160 48097C2D */ bl __shr2i -/* 030BC4 80036164 7FA0FE70 */ srawi r0, r29, 0x1f -/* 030BC8 80036168 7C600038 */ and r0, r3, r0 -/* 030BCC 8003616C 7C84E838 */ and r4, r4, r29 -/* 030BD0 80036170 7C83F278 */ xor r3, r4, r30 -/* 030BD4 80036174 7C00F278 */ xor r0, r0, r30 -/* 030BD8 80036178 7C600379 */ or. r0, r3, r0 -/* 030BDC 8003617C 40820008 */ bne lbl_80036184 -/* 030BE0 80036180 48000008 */ b lbl_80036188 -lbl_80036184: -/* 030BE4 80036184 7FFEFB78 */ mr r30, r31 -lbl_80036188: -/* 030BE8 80036188 2C1E0000 */ cmpwi r30, 0 -/* 030BEC 8003618C 40820024 */ bne lbl_800361B0 -/* 030BF0 80036190 38600000 */ li r3, 0 -/* 030BF4 80036194 48000164 */ b lbl_800362F8 -lbl_80036198: -/* 030BF8 80036198 807B0028 */ lwz r3, 0x28(r27) -/* 030BFC 8003619C 3803FFFC */ addi r0, r3, -4 -/* 030C00 800361A0 901B0028 */ stw r0, 0x28(r27) -/* 030C04 800361A4 801B0000 */ lwz r0, 0(r27) -/* 030C08 800361A8 60000004 */ ori r0, r0, 4 -/* 030C0C 800361AC 901B0000 */ stw r0, 0(r27) -lbl_800361B0: -/* 030C10 800361B0 801B0000 */ lwz r0, 0(r27) -/* 030C14 800361B4 54000776 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 030C18 800361B8 901B0000 */ stw r0, 0(r27) -/* 030C1C 800361BC 801B0000 */ lwz r0, 0(r27) -/* 030C20 800361C0 540006F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 030C24 800361C4 40820038 */ bne lbl_800361FC -/* 030C28 800361C8 7F63DB78 */ mr r3, r27 -/* 030C2C 800361CC 4800048D */ bl cpuHackHandler -/* 030C30 800361D0 2C030000 */ cmpwi r3, 0 -/* 030C34 800361D4 4082001C */ bne lbl_800361F0 -/* 030C38 800361D8 3C60800F */ lis r3, D_800ED674@ha -/* 030C3C 800361DC 4CC63182 */ crclr 6 -/* 030C40 800361E0 3863D674 */ addi r3, r3, D_800ED674@l -/* 030C44 800361E4 388D8580 */ addi r4, r13, D_80135260@sda21 -/* 030C48 800361E8 38A0039B */ li r5, 0x39b -/* 030C4C 800361EC 4BFCFC29 */ bl xlPostText -lbl_800361F0: -/* 030C50 800361F0 801B0000 */ lwz r0, 0(r27) -/* 030C54 800361F4 60000010 */ ori r0, r0, 0x10 -/* 030C58 800361F8 901B0000 */ stw r0, 0(r27) -lbl_800361FC: -/* 030C5C 800361FC 807B002C */ lwz r3, 0x2c(r27) -/* 030C60 80036200 3C030001 */ addis r0, r3, 1 -/* 030C64 80036204 2800FFFF */ cmplwi r0, 0xffff -/* 030C68 80036208 41820034 */ beq lbl_8003623C -/* 030C6C 8003620C 3800FFFF */ li r0, -1 -/* 030C70 80036210 901B002C */ stw r0, 0x2c(r27) -/* 030C74 80036214 38600000 */ li r3, 0 -/* 030C78 80036218 3C008000 */ lis r0, 0x8000 -/* 030C7C 8003621C 809B0028 */ lwz r4, 0x28(r27) -/* 030C80 80036220 3884FFFC */ addi r4, r4, -4 -/* 030C84 80036224 909B0AB4 */ stw r4, 0xab4(r27) -/* 030C88 80036228 907B0AB0 */ stw r3, 0xab0(r27) -/* 030C8C 8003622C 809B0AAC */ lwz r4, 0xaac(r27) -/* 030C90 80036230 7C800378 */ or r0, r4, r0 -/* 030C94 80036234 901B0AAC */ stw r0, 0xaac(r27) -/* 030C98 80036238 48000014 */ b lbl_8003624C -lbl_8003623C: -/* 030C9C 8003623C 807B0028 */ lwz r3, 0x28(r27) -/* 030CA0 80036240 38000000 */ li r0, 0 -/* 030CA4 80036244 907B0AB4 */ stw r3, 0xab4(r27) -/* 030CA8 80036248 901B0AB0 */ stw r0, 0xab0(r27) -lbl_8003624C: -/* 030CAC 8003624C 807B0000 */ lwz r3, 0(r27) -/* 030CB0 80036250 381CFFFF */ addi r0, r28, -1 -/* 030CB4 80036254 28000002 */ cmplwi r0, 2 -/* 030CB8 80036258 5463066E */ rlwinm r3, r3, 0, 0x19, 0x17 -/* 030CBC 8003625C 907B0000 */ stw r3, 0(r27) -/* 030CC0 80036260 5784103A */ slwi r4, r28, 2 -/* 030CC4 80036264 38C0FF83 */ li r6, -125 -/* 030CC8 80036268 811B0AA4 */ lwz r8, 0xaa4(r27) -/* 030CCC 8003626C 38A0FFFF */ li r5, -1 -/* 030CD0 80036270 7C83FE70 */ srawi r3, r4, 0x1f -/* 030CD4 80036274 61000002 */ ori r0, r8, 2 -/* 030CD8 80036278 901B0AA4 */ stw r0, 0xaa4(r27) -/* 030CDC 8003627C 801B0AAC */ lwz r0, 0xaac(r27) -/* 030CE0 80036280 80FB0AA8 */ lwz r7, 0xaa8(r27) -/* 030CE4 80036284 7C003038 */ and r0, r0, r6 -/* 030CE8 80036288 7C002378 */ or r0, r0, r4 -/* 030CEC 8003628C 7CE42838 */ and r4, r7, r5 -/* 030CF0 80036290 901B0AAC */ stw r0, 0xaac(r27) -/* 030CF4 80036294 7C801B78 */ or r0, r4, r3 -/* 030CF8 80036298 901B0AA8 */ stw r0, 0xaa8(r27) -/* 030CFC 8003629C 41810010 */ bgt lbl_800362AC -/* 030D00 800362A0 3C008000 */ lis r0, 0x8000 -/* 030D04 800362A4 901B0028 */ stw r0, 0x28(r27) -/* 030D08 800362A8 48000010 */ b lbl_800362B8 -lbl_800362AC: -/* 030D0C 800362AC 3C608000 */ lis r3, 0x8000 -/* 030D10 800362B0 38030180 */ addi r0, r3, 0x180 -/* 030D14 800362B4 901B0028 */ stw r0, 0x28(r27) -lbl_800362B8: -/* 030D18 800362B8 801B0000 */ lwz r0, 0(r27) -/* 030D1C 800362BC 389B0000 */ addi r4, r27, 0 -/* 030D20 800362C0 38A0FFFF */ li r5, -1 -/* 030D24 800362C4 60000004 */ ori r0, r0, 4 -/* 030D28 800362C8 901B0000 */ stw r0, 0(r27) -/* 030D2C 800362CC 801B0000 */ lwz r0, 0(r27) -/* 030D30 800362D0 60000020 */ ori r0, r0, 0x20 -/* 030D34 800362D4 901B0000 */ stw r0, 0(r27) -/* 030D38 800362D8 807B0008 */ lwz r3, 8(r27) -/* 030D3C 800362DC 80630058 */ lwz r3, 0x58(r3) -/* 030D40 800362E0 48058F55 */ bl libraryCall -/* 030D44 800362E4 2C030000 */ cmpwi r3, 0 -/* 030D48 800362E8 4082000C */ bne lbl_800362F4 -/* 030D4C 800362EC 38600000 */ li r3, 0 -/* 030D50 800362F0 48000008 */ b lbl_800362F8 -lbl_800362F4: -/* 030D54 800362F4 38600001 */ li r3, 1 -lbl_800362F8: -/* 030D58 800362F8 BB610024 */ lmw r27, 0x24(r1) -/* 030D5C 800362FC 8001003C */ lwz r0, 0x3c(r1) -/* 030D60 80036300 38210038 */ addi r1, r1, 0x38 -/* 030D64 80036304 7C0803A6 */ mtlr r0 -/* 030D68 80036308 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuExecute.s b/asm/non_matchings/cpu/cpuExecute.s deleted file mode 100644 index 788337e4..00000000 --- a/asm/non_matchings/cpu/cpuExecute.s +++ /dev/null @@ -1,868 +0,0 @@ -glabel cpuExecute -/* 0312D0 80036870 7C0802A6 */ mflr r0 -/* 0312D4 80036874 90010004 */ stw r0, 4(r1) -/* 0312D8 80036878 9421FF98 */ stwu r1, -0x68(r1) -/* 0312DC 8003687C 93E10064 */ stw r31, 0x64(r1) -/* 0312E0 80036880 3BE30000 */ addi r31, r3, 0 -/* 0312E4 80036884 3C9F0001 */ addis r4, r31, 1 -/* 0312E8 80036888 93C10060 */ stw r30, 0x60(r1) -/* 0312EC 8003688C 80642060 */ lwz r3, 0x2060(r4) -/* 0312F0 80036890 546004E7 */ rlwinm. r0, r3, 0, 0x13, 0x13 -/* 0312F4 80036894 4182000C */ beq lbl_800368A0 -/* 0312F8 80036898 60600100 */ ori r0, r3, 0x100 -/* 0312FC 8003689C 90042060 */ stw r0, 0x2060(r4) -lbl_800368A0: -/* 031300 800368A0 3C608004 */ lis r3, cpuExecuteOpcode@ha -/* 031304 800368A4 38A39594 */ addi r5, r3, cpuExecuteOpcode@l -/* 031308 800368A8 387F0000 */ addi r3, r31, 0 -/* 03130C 800368AC 389F0B40 */ addi r4, r31, 0xb40 -/* 031310 800368B0 48000C2D */ bl cpuMakeLink -/* 031314 800368B4 2C030000 */ cmpwi r3, 0 -/* 031318 800368B8 4082000C */ bne lbl_800368C4 -/* 03131C 800368BC 38600000 */ li r3, 0 -/* 031320 800368C0 48000C04 */ b lbl_800374C4 -lbl_800368C4: -/* 031324 800368C4 3C608004 */ lis r3, cpuExecuteJump@ha -/* 031328 800368C8 38A393B8 */ addi r5, r3, cpuExecuteJump@l -/* 03132C 800368CC 387F0000 */ addi r3, r31, 0 -/* 031330 800368D0 389F0B44 */ addi r4, r31, 0xb44 -/* 031334 800368D4 48000C09 */ bl cpuMakeLink -/* 031338 800368D8 2C030000 */ cmpwi r3, 0 -/* 03133C 800368DC 4082000C */ bne lbl_800368E8 -/* 031340 800368E0 38600000 */ li r3, 0 -/* 031344 800368E4 48000BE0 */ b lbl_800374C4 -lbl_800368E8: -/* 031348 800368E8 3C608004 */ lis r3, cpuExecuteCall@ha -/* 03134C 800368EC 38A39158 */ addi r5, r3, cpuExecuteCall@l -/* 031350 800368F0 387F0000 */ addi r3, r31, 0 -/* 031354 800368F4 389F0B48 */ addi r4, r31, 0xb48 -/* 031358 800368F8 48000BE5 */ bl cpuMakeLink -/* 03135C 800368FC 2C030000 */ cmpwi r3, 0 -/* 031360 80036900 4082000C */ bne lbl_8003690C -/* 031364 80036904 38600000 */ li r3, 0 -/* 031368 80036908 48000BBC */ b lbl_800374C4 -lbl_8003690C: -/* 03136C 8003690C 3C608004 */ lis r3, cpuExecuteIdle@ha -/* 031370 80036910 38A39488 */ addi r5, r3, cpuExecuteIdle@l -/* 031374 80036914 387F0000 */ addi r3, r31, 0 -/* 031378 80036918 389F0B4C */ addi r4, r31, 0xb4c -/* 03137C 8003691C 48000BC1 */ bl cpuMakeLink -/* 031380 80036920 2C030000 */ cmpwi r3, 0 -/* 031384 80036924 4082000C */ bne lbl_80036930 -/* 031388 80036928 38600000 */ li r3, 0 -/* 03138C 8003692C 48000B98 */ b lbl_800374C4 -lbl_80036930: -/* 031390 80036930 3C608004 */ lis r3, cpuExecuteLoadStore@ha -/* 031394 80036934 38A382F8 */ addi r5, r3, cpuExecuteLoadStore@l -/* 031398 80036938 387F0000 */ addi r3, r31, 0 -/* 03139C 8003693C 389F0B50 */ addi r4, r31, 0xb50 -/* 0313A0 80036940 48000B9D */ bl cpuMakeLink -/* 0313A4 80036944 2C030000 */ cmpwi r3, 0 -/* 0313A8 80036948 4082000C */ bne lbl_80036954 -/* 0313AC 8003694C 38600000 */ li r3, 0 -/* 0313B0 80036950 48000B74 */ b lbl_800374C4 -lbl_80036954: -/* 0313B4 80036954 3C608003 */ lis r3, cpuExecuteLoadStoreF@ha -/* 0313B8 80036958 38A3779C */ addi r5, r3, cpuExecuteLoadStoreF@l -/* 0313BC 8003695C 387F0000 */ addi r3, r31, 0 -/* 0313C0 80036960 389F0B54 */ addi r4, r31, 0xb54 -/* 0313C4 80036964 48000B79 */ bl cpuMakeLink -/* 0313C8 80036968 2C030000 */ cmpwi r3, 0 -/* 0313CC 8003696C 4082000C */ bne lbl_80036978 -/* 0313D0 80036970 38600000 */ li r3, 0 -/* 0313D4 80036974 48000B50 */ b lbl_800374C4 -lbl_80036978: -/* 0313D8 80036978 387F0000 */ addi r3, r31, 0 -/* 0313DC 8003697C 388D8A04 */ addi r4, r13, cpuCompile_DSLLV_function@sda21 -/* 0313E0 80036980 48035301 */ bl cpuCompile_DSLLV -/* 0313E4 80036984 387F0000 */ addi r3, r31, 0 -/* 0313E8 80036988 388D8A08 */ addi r4, r13, cpuCompile_DSRLV_function@sda21 -/* 0313EC 8003698C 4803510D */ bl cpuCompile_DSRLV -/* 0313F0 80036990 387F0000 */ addi r3, r31, 0 -/* 0313F4 80036994 388D8A0C */ addi r4, r13, cpuCompile_DSRAV_function@sda21 -/* 0313F8 80036998 48034EFD */ bl cpuCompile_DSRAV -/* 0313FC 8003699C 387F0000 */ addi r3, r31, 0 -/* 031400 800369A0 388D8A10 */ addi r4, r13, cpuCompile_DMULT_function@sda21 -/* 031404 800369A4 480349ED */ bl cpuCompile_DMULT -/* 031408 800369A8 387F0000 */ addi r3, r31, 0 -/* 03140C 800369AC 388D8A14 */ addi r4, r13, cpuCompile_DMULTU_function@sda21 -/* 031410 800369B0 480346CD */ bl cpuCompile_DMULTU -/* 031414 800369B4 387F0000 */ addi r3, r31, 0 -/* 031418 800369B8 388D8A18 */ addi r4, r13, cpuCompile_DDIV_function@sda21 -/* 03141C 800369BC 48034105 */ bl cpuCompile_DDIV -/* 031420 800369C0 387F0000 */ addi r3, r31, 0 -/* 031424 800369C4 388D8A1C */ addi r4, r13, cpuCompile_DDIVU_function@sda21 -/* 031428 800369C8 48033CDD */ bl cpuCompile_DDIVU -/* 03142C 800369CC 38000003 */ li r0, 3 -/* 031430 800369D0 541E103A */ slwi r30, r0, 2 -/* 031434 800369D4 38610044 */ addi r3, r1, 0x44 -/* 031438 800369D8 67C43000 */ oris r4, r30, 0x3000 -/* 03143C 800369DC 4BFD07D9 */ bl xlHeapTake -/* 031440 800369E0 2C030000 */ cmpwi r3, 0 -/* 031444 800369E4 41820068 */ beq lbl_80036A4C -/* 031448 800369E8 80810044 */ lwz r4, 0x44(r1) -/* 03144C 800369EC 3C607CA5 */ lis r3, 0x7ca5 -/* 031450 800369F0 38000000 */ li r0, 0 -/* 031454 800369F4 908D8A20 */ stw r4, cpuCompile_DADD_function@sda21(r13) -/* 031458 800369F8 3CA07CC6 */ lis r5, 0x7cc6 -/* 03145C 800369FC 38633814 */ addi r3, r3, 0x3814 -/* 031460 80036A00 5400103A */ slwi r0, r0, 2 -/* 031464 80036A04 7C64012E */ stwx r3, r4, r0 -/* 031468 80036A08 38000001 */ li r0, 1 -/* 03146C 80036A0C 3C804E80 */ lis r4, 0x4e80 -/* 031470 80036A10 80610044 */ lwz r3, 0x44(r1) -/* 031474 80036A14 38A54114 */ addi r5, r5, 0x4114 -/* 031478 80036A18 5400103A */ slwi r0, r0, 2 -/* 03147C 80036A1C 7CA3012E */ stwx r5, r3, r0 -/* 031480 80036A20 38000002 */ li r0, 2 -/* 031484 80036A24 38840020 */ addi r4, r4, 0x20 -/* 031488 80036A28 80610044 */ lwz r3, 0x44(r1) -/* 03148C 80036A2C 5400103A */ slwi r0, r0, 2 -/* 031490 80036A30 7C83012E */ stwx r4, r3, r0 -/* 031494 80036A34 7FC4F378 */ mr r4, r30 -/* 031498 80036A38 80610044 */ lwz r3, 0x44(r1) -/* 03149C 80036A3C 48066D71 */ bl DCStoreRange -/* 0314A0 80036A40 80610044 */ lwz r3, 0x44(r1) -/* 0314A4 80036A44 7FC4F378 */ mr r4, r30 -/* 0314A8 80036A48 48066DED */ bl ICInvalidateRange -lbl_80036A4C: -/* 0314AC 80036A4C 38000003 */ li r0, 3 -/* 0314B0 80036A50 541E103A */ slwi r30, r0, 2 -/* 0314B4 80036A54 38610040 */ addi r3, r1, 0x40 -/* 0314B8 80036A58 67C43000 */ oris r4, r30, 0x3000 -/* 0314BC 80036A5C 4BFD0759 */ bl xlHeapTake -/* 0314C0 80036A60 2C030000 */ cmpwi r3, 0 -/* 0314C4 80036A64 41820068 */ beq lbl_80036ACC -/* 0314C8 80036A68 80810040 */ lwz r4, 0x40(r1) -/* 0314CC 80036A6C 3C607CA5 */ lis r3, 0x7ca5 -/* 0314D0 80036A70 38000000 */ li r0, 0 -/* 0314D4 80036A74 908D8A24 */ stw r4, cpuCompile_DADDU_function@sda21(r13) -/* 0314D8 80036A78 3CA07CC6 */ lis r5, 0x7cc6 -/* 0314DC 80036A7C 38633814 */ addi r3, r3, 0x3814 -/* 0314E0 80036A80 5400103A */ slwi r0, r0, 2 -/* 0314E4 80036A84 7C64012E */ stwx r3, r4, r0 -/* 0314E8 80036A88 38000001 */ li r0, 1 -/* 0314EC 80036A8C 3C804E80 */ lis r4, 0x4e80 -/* 0314F0 80036A90 80610040 */ lwz r3, 0x40(r1) -/* 0314F4 80036A94 38A54114 */ addi r5, r5, 0x4114 -/* 0314F8 80036A98 5400103A */ slwi r0, r0, 2 -/* 0314FC 80036A9C 7CA3012E */ stwx r5, r3, r0 -/* 031500 80036AA0 38000002 */ li r0, 2 -/* 031504 80036AA4 38840020 */ addi r4, r4, 0x20 -/* 031508 80036AA8 80610040 */ lwz r3, 0x40(r1) -/* 03150C 80036AAC 5400103A */ slwi r0, r0, 2 -/* 031510 80036AB0 7C83012E */ stwx r4, r3, r0 -/* 031514 80036AB4 7FC4F378 */ mr r4, r30 -/* 031518 80036AB8 80610040 */ lwz r3, 0x40(r1) -/* 03151C 80036ABC 48066CF1 */ bl DCStoreRange -/* 031520 80036AC0 80610040 */ lwz r3, 0x40(r1) -/* 031524 80036AC4 7FC4F378 */ mr r4, r30 -/* 031528 80036AC8 48066D6D */ bl ICInvalidateRange -lbl_80036ACC: -/* 03152C 80036ACC 38000003 */ li r0, 3 -/* 031530 80036AD0 541E103A */ slwi r30, r0, 2 -/* 031534 80036AD4 3861003C */ addi r3, r1, 0x3c -/* 031538 80036AD8 67C43000 */ oris r4, r30, 0x3000 -/* 03153C 80036ADC 4BFD06D9 */ bl xlHeapTake -/* 031540 80036AE0 2C030000 */ cmpwi r3, 0 -/* 031544 80036AE4 41820068 */ beq lbl_80036B4C -/* 031548 80036AE8 8081003C */ lwz r4, 0x3c(r1) -/* 03154C 80036AEC 3C607CA7 */ lis r3, 0x7ca7 -/* 031550 80036AF0 38000000 */ li r0, 0 -/* 031554 80036AF4 908D8A28 */ stw r4, cpuCompile_DSUB_function@sda21(r13) -/* 031558 80036AF8 3CA07CC8 */ lis r5, 0x7cc8 -/* 03155C 80036AFC 38632914 */ addi r3, r3, 0x2914 -/* 031560 80036B00 5400103A */ slwi r0, r0, 2 -/* 031564 80036B04 7C64012E */ stwx r3, r4, r0 -/* 031568 80036B08 38000001 */ li r0, 1 -/* 03156C 80036B0C 3C804E80 */ lis r4, 0x4e80 -/* 031570 80036B10 8061003C */ lwz r3, 0x3c(r1) -/* 031574 80036B14 38A53014 */ addi r5, r5, 0x3014 -/* 031578 80036B18 5400103A */ slwi r0, r0, 2 -/* 03157C 80036B1C 7CA3012E */ stwx r5, r3, r0 -/* 031580 80036B20 38000002 */ li r0, 2 -/* 031584 80036B24 38840020 */ addi r4, r4, 0x20 -/* 031588 80036B28 8061003C */ lwz r3, 0x3c(r1) -/* 03158C 80036B2C 5400103A */ slwi r0, r0, 2 -/* 031590 80036B30 7C83012E */ stwx r4, r3, r0 -/* 031594 80036B34 7FC4F378 */ mr r4, r30 -/* 031598 80036B38 8061003C */ lwz r3, 0x3c(r1) -/* 03159C 80036B3C 48066C71 */ bl DCStoreRange -/* 0315A0 80036B40 8061003C */ lwz r3, 0x3c(r1) -/* 0315A4 80036B44 7FC4F378 */ mr r4, r30 -/* 0315A8 80036B48 48066CED */ bl ICInvalidateRange -lbl_80036B4C: -/* 0315AC 80036B4C 38000003 */ li r0, 3 -/* 0315B0 80036B50 541E103A */ slwi r30, r0, 2 -/* 0315B4 80036B54 38610038 */ addi r3, r1, 0x38 -/* 0315B8 80036B58 67C43000 */ oris r4, r30, 0x3000 -/* 0315BC 80036B5C 4BFD0659 */ bl xlHeapTake -/* 0315C0 80036B60 2C030000 */ cmpwi r3, 0 -/* 0315C4 80036B64 41820068 */ beq lbl_80036BCC -/* 0315C8 80036B68 80810038 */ lwz r4, 0x38(r1) -/* 0315CC 80036B6C 3C607CA7 */ lis r3, 0x7ca7 -/* 0315D0 80036B70 38000000 */ li r0, 0 -/* 0315D4 80036B74 908D8A2C */ stw r4, cpuCompile_DSUBU_function@sda21(r13) -/* 0315D8 80036B78 3CA07CC8 */ lis r5, 0x7cc8 -/* 0315DC 80036B7C 38632914 */ addi r3, r3, 0x2914 -/* 0315E0 80036B80 5400103A */ slwi r0, r0, 2 -/* 0315E4 80036B84 7C64012E */ stwx r3, r4, r0 -/* 0315E8 80036B88 38000001 */ li r0, 1 -/* 0315EC 80036B8C 3C804E80 */ lis r4, 0x4e80 -/* 0315F0 80036B90 80610038 */ lwz r3, 0x38(r1) -/* 0315F4 80036B94 38A53014 */ addi r5, r5, 0x3014 -/* 0315F8 80036B98 5400103A */ slwi r0, r0, 2 -/* 0315FC 80036B9C 7CA3012E */ stwx r5, r3, r0 -/* 031600 80036BA0 38000002 */ li r0, 2 -/* 031604 80036BA4 38840020 */ addi r4, r4, 0x20 -/* 031608 80036BA8 80610038 */ lwz r3, 0x38(r1) -/* 03160C 80036BAC 5400103A */ slwi r0, r0, 2 -/* 031610 80036BB0 7C83012E */ stwx r4, r3, r0 -/* 031614 80036BB4 7FC4F378 */ mr r4, r30 -/* 031618 80036BB8 80610038 */ lwz r3, 0x38(r1) -/* 03161C 80036BBC 48066BF1 */ bl DCStoreRange -/* 031620 80036BC0 80610038 */ lwz r3, 0x38(r1) -/* 031624 80036BC4 7FC4F378 */ mr r4, r30 -/* 031628 80036BC8 48066C6D */ bl ICInvalidateRange -lbl_80036BCC: -/* 03162C 80036BCC 387F0000 */ addi r3, r31, 0 -/* 031630 80036BD0 388D8A30 */ addi r4, r13, cpuCompile_S_SQRT_function@sda21 -/* 031634 80036BD4 48033791 */ bl cpuCompile_S_SQRT -/* 031638 80036BD8 387F0000 */ addi r3, r31, 0 -/* 03163C 80036BDC 388D8A34 */ addi r4, r13, cpuCompile_D_SQRT_function@sda21 -/* 031640 80036BE0 48033351 */ bl cpuCompile_D_SQRT -/* 031644 80036BE4 387F0000 */ addi r3, r31, 0 -/* 031648 80036BE8 388D8A38 */ addi r4, r13, cpuCompile_W_CVT_SD_function@sda21 -/* 03164C 80036BEC 48033195 */ bl cpuCompile_W_CVT_SD -/* 031650 80036BF0 387F0000 */ addi r3, r31, 0 -/* 031654 80036BF4 388D8A3C */ addi r4, r13, cpuCompile_L_CVT_SD_function@sda21 -/* 031658 80036BF8 48032C09 */ bl cpuCompile_L_CVT_SD -/* 03165C 80036BFC 387F0000 */ addi r3, r31, 0 -/* 031660 80036C00 388D8A40 */ addi r4, r13, cpuCompile_CEIL_W_function@sda21 -/* 031664 80036C04 48032A41 */ bl cpuCompile_CEIL_W -/* 031668 80036C08 387F0000 */ addi r3, r31, 0 -/* 03166C 80036C0C 388D8A44 */ addi r4, r13, cpuCompile_FLOOR_W_function@sda21 -/* 031670 80036C10 48032879 */ bl cpuCompile_FLOOR_W -/* 031674 80036C14 38000003 */ li r0, 3 -/* 031678 80036C18 541E103A */ slwi r30, r0, 2 -/* 03167C 80036C1C 38610034 */ addi r3, r1, 0x34 -/* 031680 80036C20 67C43000 */ oris r4, r30, 0x3000 -/* 031684 80036C24 4BFD0591 */ bl xlHeapTake -/* 031688 80036C28 2C030000 */ cmpwi r3, 0 -/* 03168C 80036C2C 41820068 */ beq lbl_80036C94 -/* 031690 80036C30 80810034 */ lwz r4, 0x34(r1) -/* 031694 80036C34 3C60FC00 */ lis r3, 0xfc00 -/* 031698 80036C38 38000000 */ li r0, 0 -/* 03169C 80036C3C 908D8A48 */ stw r4, cpuCompile_ROUND_W_function@sda21(r13) -/* 0316A0 80036C40 3CA07C05 */ lis r5, 0x7c05 -/* 0316A4 80036C44 3863081C */ addi r3, r3, 0x81c -/* 0316A8 80036C48 5400103A */ slwi r0, r0, 2 -/* 0316AC 80036C4C 7C64012E */ stwx r3, r4, r0 -/* 0316B0 80036C50 38000001 */ li r0, 1 -/* 0316B4 80036C54 3C804E80 */ lis r4, 0x4e80 -/* 0316B8 80036C58 80610034 */ lwz r3, 0x34(r1) -/* 0316BC 80036C5C 38A51FAE */ addi r5, r5, 0x1fae -/* 0316C0 80036C60 5400103A */ slwi r0, r0, 2 -/* 0316C4 80036C64 7CA3012E */ stwx r5, r3, r0 -/* 0316C8 80036C68 38000002 */ li r0, 2 -/* 0316CC 80036C6C 38840020 */ addi r4, r4, 0x20 -/* 0316D0 80036C70 80610034 */ lwz r3, 0x34(r1) -/* 0316D4 80036C74 5400103A */ slwi r0, r0, 2 -/* 0316D8 80036C78 7C83012E */ stwx r4, r3, r0 -/* 0316DC 80036C7C 7FC4F378 */ mr r4, r30 -/* 0316E0 80036C80 80610034 */ lwz r3, 0x34(r1) -/* 0316E4 80036C84 48066B29 */ bl DCStoreRange -/* 0316E8 80036C88 80610034 */ lwz r3, 0x34(r1) -/* 0316EC 80036C8C 7FC4F378 */ mr r4, r30 -/* 0316F0 80036C90 48066BA5 */ bl ICInvalidateRange -lbl_80036C94: -/* 0316F4 80036C94 38000003 */ li r0, 3 -/* 0316F8 80036C98 541E103A */ slwi r30, r0, 2 -/* 0316FC 80036C9C 38610030 */ addi r3, r1, 0x30 -/* 031700 80036CA0 67C43000 */ oris r4, r30, 0x3000 -/* 031704 80036CA4 4BFD0511 */ bl xlHeapTake -/* 031708 80036CA8 2C030000 */ cmpwi r3, 0 -/* 03170C 80036CAC 41820068 */ beq lbl_80036D14 -/* 031710 80036CB0 80810030 */ lwz r4, 0x30(r1) -/* 031714 80036CB4 3C60FC00 */ lis r3, 0xfc00 -/* 031718 80036CB8 38000000 */ li r0, 0 -/* 03171C 80036CBC 908D8A4C */ stw r4, cpuCompile_TRUNC_W_function@sda21(r13) -/* 031720 80036CC0 3CA07C05 */ lis r5, 0x7c05 -/* 031724 80036CC4 3863081E */ addi r3, r3, 0x81e -/* 031728 80036CC8 5400103A */ slwi r0, r0, 2 -/* 03172C 80036CCC 7C64012E */ stwx r3, r4, r0 -/* 031730 80036CD0 38000001 */ li r0, 1 -/* 031734 80036CD4 3C804E80 */ lis r4, 0x4e80 -/* 031738 80036CD8 80610030 */ lwz r3, 0x30(r1) -/* 03173C 80036CDC 38A51FAE */ addi r5, r5, 0x1fae -/* 031740 80036CE0 5400103A */ slwi r0, r0, 2 -/* 031744 80036CE4 7CA3012E */ stwx r5, r3, r0 -/* 031748 80036CE8 38000002 */ li r0, 2 -/* 03174C 80036CEC 38840020 */ addi r4, r4, 0x20 -/* 031750 80036CF0 80610030 */ lwz r3, 0x30(r1) -/* 031754 80036CF4 5400103A */ slwi r0, r0, 2 -/* 031758 80036CF8 7C83012E */ stwx r4, r3, r0 -/* 03175C 80036CFC 7FC4F378 */ mr r4, r30 -/* 031760 80036D00 80610030 */ lwz r3, 0x30(r1) -/* 031764 80036D04 48066AA9 */ bl DCStoreRange -/* 031768 80036D08 80610030 */ lwz r3, 0x30(r1) -/* 03176C 80036D0C 7FC4F378 */ mr r4, r30 -/* 031770 80036D10 48066B25 */ bl ICInvalidateRange -lbl_80036D14: -/* 031774 80036D14 387F0000 */ addi r3, r31, 0 -/* 031778 80036D18 388D8A50 */ addi r4, r13, cpuCompile_LB_function@sda21 -/* 03177C 80036D1C 48032601 */ bl cpuCompile_LB -/* 031780 80036D20 387F0000 */ addi r3, r31, 0 -/* 031784 80036D24 388D8A54 */ addi r4, r13, cpuCompile_LH_function@sda21 -/* 031788 80036D28 48032489 */ bl cpuCompile_LH -/* 03178C 80036D2C 387F0000 */ addi r3, r31, 0 -/* 031790 80036D30 388D8A58 */ addi r4, r13, cpuCompile_LW_function@sda21 -/* 031794 80036D34 48032325 */ bl cpuCompile_LW -/* 031798 80036D38 387F0000 */ addi r3, r31, 0 -/* 03179C 80036D3C 388D8A5C */ addi r4, r13, cpuCompile_LBU_function@sda21 -/* 0317A0 80036D40 480321C1 */ bl cpuCompile_LBU -/* 0317A4 80036D44 387F0000 */ addi r3, r31, 0 -/* 0317A8 80036D48 388D8A60 */ addi r4, r13, cpuCompile_LHU_function@sda21 -/* 0317AC 80036D4C 4803205D */ bl cpuCompile_LHU -/* 0317B0 80036D50 387F0000 */ addi r3, r31, 0 -/* 0317B4 80036D54 388D8A64 */ addi r4, r13, cpuCompile_SB_function@sda21 -/* 0317B8 80036D58 48031EF5 */ bl cpuCompile_SB -/* 0317BC 80036D5C 387F0000 */ addi r3, r31, 0 -/* 0317C0 80036D60 388D8A68 */ addi r4, r13, cpuCompile_SH_function@sda21 -/* 0317C4 80036D64 48031D8D */ bl cpuCompile_SH -/* 0317C8 80036D68 387F0000 */ addi r3, r31, 0 -/* 0317CC 80036D6C 388D8A6C */ addi r4, r13, cpuCompile_SW_function@sda21 -/* 0317D0 80036D70 48031C25 */ bl cpuCompile_SW -/* 0317D4 80036D74 387F0000 */ addi r3, r31, 0 -/* 0317D8 80036D78 388D8A70 */ addi r4, r13, cpuCompile_LDC_function@sda21 -/* 0317DC 80036D7C 48031A91 */ bl cpuCompile_LDC -/* 0317E0 80036D80 387F0000 */ addi r3, r31, 0 -/* 0317E4 80036D84 388D8A74 */ addi r4, r13, cpuCompile_SDC_function@sda21 -/* 0317E8 80036D88 480318FD */ bl cpuCompile_SDC -/* 0317EC 80036D8C 387F0000 */ addi r3, r31, 0 -/* 0317F0 80036D90 388D8A78 */ addi r4, r13, cpuCompile_LWL_function@sda21 -/* 0317F4 80036D94 48031761 */ bl cpuCompile_LWL -/* 0317F8 80036D98 387F0000 */ addi r3, r31, 0 -/* 0317FC 80036D9C 388D8A7C */ addi r4, r13, cpuCompile_LWR_function@sda21 -/* 031800 80036DA0 480315C9 */ bl cpuCompile_LWR -/* 031804 80036DA4 80BF0028 */ lwz r5, 0x28(r31) -/* 031808 80036DA8 387F0000 */ addi r3, r31, 0 -/* 03180C 80036DAC 3881004C */ addi r4, r1, 0x4c -/* 031810 80036DB0 48007BC5 */ bl cpuMakeFunction -/* 031814 80036DB4 2C030000 */ cmpwi r3, 0 -/* 031818 80036DB8 41820708 */ beq lbl_800374C0 -/* 03181C 80036DBC 3C803000 */ lis r4, 0x3000 -/* 031820 80036DC0 38610054 */ addi r3, r1, 0x54 -/* 031824 80036DC4 38840100 */ addi r4, r4, 0x100 -/* 031828 80036DC8 4BFD03ED */ bl xlHeapTake -/* 03182C 80036DCC 2C030000 */ cmpwi r3, 0 -/* 031830 80036DD0 4082000C */ bne lbl_80036DDC -/* 031834 80036DD4 38600000 */ li r3, 0 -/* 031838 80036DD8 480006EC */ b lbl_800374C4 -lbl_80036DDC: -/* 03183C 80036DDC 80C10054 */ lwz r6, 0x54(r1) -/* 031840 80036DE0 57E5843E */ srwi r5, r31, 0x10 -/* 031844 80036DE4 64A53C60 */ oris r5, r5, 0x3c60 -/* 031848 80036DE8 38660004 */ addi r3, r6, 4 -/* 03184C 80036DEC 90C10048 */ stw r6, 0x48(r1) -/* 031850 80036DF0 57E4043E */ clrlwi r4, r31, 0x10 -/* 031854 80036DF4 90610054 */ stw r3, 0x54(r1) -/* 031858 80036DF8 381F003C */ addi r0, r31, 0x3c -/* 03185C 80036DFC 7C7F0050 */ subf r3, r31, r0 -/* 031860 80036E00 90A60000 */ stw r5, 0(r6) -/* 031864 80036E04 64866063 */ oris r6, r4, 0x6063 -/* 031868 80036E08 3CA38083 */ addis r5, r3, 0x8083 -/* 03186C 80036E0C 80810054 */ lwz r4, 0x54(r1) -/* 031870 80036E10 3C7F0001 */ addis r3, r31, 1 -/* 031874 80036E14 38040004 */ addi r0, r4, 4 -/* 031878 80036E18 90010054 */ stw r0, 0x54(r1) -/* 03187C 80036E1C 90C40000 */ stw r6, 0(r4) -/* 031880 80036E20 80810054 */ lwz r4, 0x54(r1) -/* 031884 80036E24 38040004 */ addi r0, r4, 4 -/* 031888 80036E28 90010054 */ stw r0, 0x54(r1) -/* 03188C 80036E2C 90A40000 */ stw r5, 0(r4) -/* 031890 80036E30 80BF0008 */ lwz r5, 8(r31) -/* 031894 80036E34 80810054 */ lwz r4, 0x54(r1) -/* 031898 80036E38 80A5002C */ lwz r5, 0x2c(r5) -/* 03189C 80036E3C 38040004 */ addi r0, r4, 4 -/* 0318A0 80036E40 80A50004 */ lwz r5, 4(r5) -/* 0318A4 80036E44 3CA58000 */ addis r5, r5, 0x8000 -/* 0318A8 80036E48 90010054 */ stw r0, 0x54(r1) -/* 0318AC 80036E4C 54A0843E */ srwi r0, r5, 0x10 -/* 0318B0 80036E50 64003D00 */ oris r0, r0, 0x3d00 -/* 0318B4 80036E54 90040000 */ stw r0, 0(r4) -/* 0318B8 80036E58 54A0043E */ clrlwi r0, r5, 0x10 -/* 0318BC 80036E5C 64056108 */ oris r5, r0, 0x6108 -/* 0318C0 80036E60 80810054 */ lwz r4, 0x54(r1) -/* 0318C4 80036E64 38040004 */ addi r0, r4, 4 -/* 0318C8 80036E68 90010054 */ stw r0, 0x54(r1) -/* 0318CC 80036E6C 90A40000 */ stw r5, 0(r4) -/* 0318D0 80036E70 80632060 */ lwz r3, 0x2060(r3) -/* 0318D4 80036E74 546005EF */ rlwinm. r0, r3, 0, 0x17, 0x17 -/* 0318D8 80036E78 41820038 */ beq lbl_80036EB0 -/* 0318DC 80036E7C 80A10054 */ lwz r5, 0x54(r1) -/* 0318E0 80036E80 3C803D21 */ lis r4, 0x3d21 -/* 0318E4 80036E84 3C60612A */ lis r3, 0x612a -/* 0318E8 80036E88 38050004 */ addi r0, r5, 4 -/* 0318EC 80036E8C 90010054 */ stw r0, 0x54(r1) -/* 0318F0 80036E90 3804DFFF */ addi r0, r4, -8193 -/* 0318F4 80036E94 3883FFFF */ addi r4, r3, -1 -/* 0318F8 80036E98 90050000 */ stw r0, 0(r5) -/* 0318FC 80036E9C 80610054 */ lwz r3, 0x54(r1) -/* 031900 80036EA0 38030004 */ addi r0, r3, 4 -/* 031904 80036EA4 90010054 */ stw r0, 0x54(r1) -/* 031908 80036EA8 90830000 */ stw r4, 0(r3) -/* 03190C 80036EAC 48000028 */ b lbl_80036ED4 -lbl_80036EB0: -/* 031910 80036EB0 546007FF */ clrlwi. r0, r3, 0x1f -/* 031914 80036EB4 41820020 */ beq lbl_80036ED4 -/* 031918 80036EB8 80610054 */ lwz r3, 0x54(r1) -/* 03191C 80036EBC 381F0F64 */ addi r0, r31, 0xf64 -/* 031920 80036EC0 7C9F0050 */ subf r4, r31, r0 -/* 031924 80036EC4 38030004 */ addi r0, r3, 4 -/* 031928 80036EC8 90010054 */ stw r0, 0x54(r1) -/* 03192C 80036ECC 3C043923 */ addis r0, r4, 0x3923 -/* 031930 80036ED0 90030000 */ stw r0, 0(r3) -lbl_80036ED4: -/* 031934 80036ED4 38000008 */ li r0, 8 -/* 031938 80036ED8 3C60800F */ lis r3, ganMapGPR@ha -/* 03193C 80036EDC 7C0903A6 */ mtctr r0 -/* 031940 80036EE0 38C3BE70 */ addi r6, r3, ganMapGPR@l -/* 031944 80036EE4 38FF0000 */ addi r7, r31, 0 -/* 031948 80036EE8 39000000 */ li r8, 0 -lbl_80036EEC: -/* 03194C 80036EEC 80860000 */ lwz r4, 0(r6) -/* 031950 80036EF0 548005EF */ rlwinm. r0, r4, 0, 0x17, 0x17 -/* 031954 80036EF4 4082002C */ bne lbl_80036F20 -/* 031958 80036EF8 80610054 */ lwz r3, 0x54(r1) -/* 03195C 80036EFC 38070040 */ addi r0, r7, 0x40 -/* 031960 80036F00 7CBF0050 */ subf r5, r31, r0 -/* 031964 80036F04 5484A814 */ slwi r4, r4, 0x15 -/* 031968 80036F08 38030004 */ addi r0, r3, 4 -/* 03196C 80036F0C 90010054 */ stw r0, 0x54(r1) -/* 031970 80036F10 38A50004 */ addi r5, r5, 4 -/* 031974 80036F14 64808003 */ oris r0, r4, 0x8003 -/* 031978 80036F18 7CA00378 */ or r0, r5, r0 -/* 03197C 80036F1C 90030000 */ stw r0, 0(r3) -lbl_80036F20: -/* 031980 80036F20 84860004 */ lwzu r4, 4(r6) -/* 031984 80036F24 38E70008 */ addi r7, r7, 8 -/* 031988 80036F28 548005EF */ rlwinm. r0, r4, 0, 0x17, 0x17 -/* 03198C 80036F2C 4082002C */ bne lbl_80036F58 -/* 031990 80036F30 80610054 */ lwz r3, 0x54(r1) -/* 031994 80036F34 38070040 */ addi r0, r7, 0x40 -/* 031998 80036F38 7CBF0050 */ subf r5, r31, r0 -/* 03199C 80036F3C 5484A814 */ slwi r4, r4, 0x15 -/* 0319A0 80036F40 38030004 */ addi r0, r3, 4 -/* 0319A4 80036F44 90010054 */ stw r0, 0x54(r1) -/* 0319A8 80036F48 38A50004 */ addi r5, r5, 4 -/* 0319AC 80036F4C 64808003 */ oris r0, r4, 0x8003 -/* 0319B0 80036F50 7CA00378 */ or r0, r5, r0 -/* 0319B4 80036F54 90030000 */ stw r0, 0(r3) -lbl_80036F58: -/* 0319B8 80036F58 84860004 */ lwzu r4, 4(r6) -/* 0319BC 80036F5C 38E70008 */ addi r7, r7, 8 -/* 0319C0 80036F60 39080001 */ addi r8, r8, 1 -/* 0319C4 80036F64 548005EF */ rlwinm. r0, r4, 0, 0x17, 0x17 -/* 0319C8 80036F68 4082002C */ bne lbl_80036F94 -/* 0319CC 80036F6C 80610054 */ lwz r3, 0x54(r1) -/* 0319D0 80036F70 38070040 */ addi r0, r7, 0x40 -/* 0319D4 80036F74 7CBF0050 */ subf r5, r31, r0 -/* 0319D8 80036F78 5484A814 */ slwi r4, r4, 0x15 -/* 0319DC 80036F7C 38030004 */ addi r0, r3, 4 -/* 0319E0 80036F80 90010054 */ stw r0, 0x54(r1) -/* 0319E4 80036F84 38A50004 */ addi r5, r5, 4 -/* 0319E8 80036F88 64808003 */ oris r0, r4, 0x8003 -/* 0319EC 80036F8C 7CA00378 */ or r0, r5, r0 -/* 0319F0 80036F90 90030000 */ stw r0, 0(r3) -lbl_80036F94: -/* 0319F4 80036F94 84860004 */ lwzu r4, 4(r6) -/* 0319F8 80036F98 38E70008 */ addi r7, r7, 8 -/* 0319FC 80036F9C 39080001 */ addi r8, r8, 1 -/* 031A00 80036FA0 548005EF */ rlwinm. r0, r4, 0, 0x17, 0x17 -/* 031A04 80036FA4 4082002C */ bne lbl_80036FD0 -/* 031A08 80036FA8 80610054 */ lwz r3, 0x54(r1) -/* 031A0C 80036FAC 38070040 */ addi r0, r7, 0x40 -/* 031A10 80036FB0 7CBF0050 */ subf r5, r31, r0 -/* 031A14 80036FB4 5484A814 */ slwi r4, r4, 0x15 -/* 031A18 80036FB8 38030004 */ addi r0, r3, 4 -/* 031A1C 80036FBC 90010054 */ stw r0, 0x54(r1) -/* 031A20 80036FC0 38A50004 */ addi r5, r5, 4 -/* 031A24 80036FC4 64808003 */ oris r0, r4, 0x8003 -/* 031A28 80036FC8 7CA00378 */ or r0, r5, r0 -/* 031A2C 80036FCC 90030000 */ stw r0, 0(r3) -lbl_80036FD0: -/* 031A30 80036FD0 38C60004 */ addi r6, r6, 4 -/* 031A34 80036FD4 38E70008 */ addi r7, r7, 8 -/* 031A38 80036FD8 39080001 */ addi r8, r8, 1 -/* 031A3C 80036FDC 4200FF10 */ bdnz lbl_80036EEC -/* 031A40 80036FE0 8061004C */ lwz r3, 0x4c(r1) -/* 031A44 80036FE4 38800100 */ li r4, 0x100 -/* 031A48 80036FE8 80A10054 */ lwz r5, 0x54(r1) -/* 031A4C 80036FEC 80630004 */ lwz r3, 4(r3) -/* 031A50 80036FF0 38050004 */ addi r0, r5, 4 -/* 031A54 80036FF4 7C651850 */ subf r3, r5, r3 -/* 031A58 80036FF8 90010054 */ stw r0, 0x54(r1) -/* 031A5C 80036FFC 546001BA */ rlwinm r0, r3, 0, 6, 0x1d -/* 031A60 80037000 64004800 */ oris r0, r0, 0x4800 -/* 031A64 80037004 90050000 */ stw r0, 0(r5) -/* 031A68 80037008 80610048 */ lwz r3, 0x48(r1) -/* 031A6C 8003700C 480667A1 */ bl DCStoreRange -/* 031A70 80037010 80610048 */ lwz r3, 0x48(r1) -/* 031A74 80037014 38800100 */ li r4, 0x100 -/* 031A78 80037018 4806681D */ bl ICInvalidateRange -/* 031A7C 8003701C 3BC00000 */ li r30, 0 -/* 031A80 80037020 93DF0B60 */ stw r30, 0xb60(r31) -/* 031A84 80037024 93DF0B5C */ stw r30, 0xb5c(r31) -/* 031A88 80037028 4806F8F5 */ bl VIWaitForRetrace -/* 031A8C 8003702C 3C608004 */ lis r3, cpuRetraceCallback@ha -/* 031A90 80037030 3863E204 */ addi r3, r3, cpuRetraceCallback@l -/* 031A94 80037034 4806F155 */ bl VISetPostRetraceCallback -/* 031A98 80037038 81810048 */ lwz r12, 0x48(r1) -/* 031A9C 8003703C 7D8803A6 */ mtlr r12 -/* 031AA0 80037040 4E800021 */ blrl -/* 031AA4 80037044 38610048 */ addi r3, r1, 0x48 -/* 031AA8 80037048 4BFD0051 */ bl xlHeapFree -/* 031AAC 8003704C 2C030000 */ cmpwi r3, 0 -/* 031AB0 80037050 4082000C */ bne lbl_8003705C -/* 031AB4 80037054 38600000 */ li r3, 0 -/* 031AB8 80037058 4800046C */ b lbl_800374C4 -lbl_8003705C: -/* 031ABC 8003705C 381F0B4C */ addi r0, r31, 0xb4c -/* 031AC0 80037060 9001002C */ stw r0, 0x2c(r1) -/* 031AC4 80037064 3861002C */ addi r3, r1, 0x2c -/* 031AC8 80037068 4BFD0031 */ bl xlHeapFree -/* 031ACC 8003706C 2C030000 */ cmpwi r3, 0 -/* 031AD0 80037070 4082000C */ bne lbl_8003707C -/* 031AD4 80037074 7FC0F378 */ mr r0, r30 -/* 031AD8 80037078 48000010 */ b lbl_80037088 -lbl_8003707C: -/* 031ADC 8003707C 8061002C */ lwz r3, 0x2c(r1) -/* 031AE0 80037080 38000001 */ li r0, 1 -/* 031AE4 80037084 93C30000 */ stw r30, 0(r3) -lbl_80037088: -/* 031AE8 80037088 2C000000 */ cmpwi r0, 0 -/* 031AEC 8003708C 4082000C */ bne lbl_80037098 -/* 031AF0 80037090 38600000 */ li r3, 0 -/* 031AF4 80037094 48000430 */ b lbl_800374C4 -lbl_80037098: -/* 031AF8 80037098 381F0B48 */ addi r0, r31, 0xb48 -/* 031AFC 8003709C 90010028 */ stw r0, 0x28(r1) -/* 031B00 800370A0 38610028 */ addi r3, r1, 0x28 -/* 031B04 800370A4 4BFCFFF5 */ bl xlHeapFree -/* 031B08 800370A8 2C030000 */ cmpwi r3, 0 -/* 031B0C 800370AC 4082000C */ bne lbl_800370B8 -/* 031B10 800370B0 38800000 */ li r4, 0 -/* 031B14 800370B4 48000014 */ b lbl_800370C8 -lbl_800370B8: -/* 031B18 800370B8 80610028 */ lwz r3, 0x28(r1) -/* 031B1C 800370BC 38000000 */ li r0, 0 -/* 031B20 800370C0 38800001 */ li r4, 1 -/* 031B24 800370C4 90030000 */ stw r0, 0(r3) -lbl_800370C8: -/* 031B28 800370C8 2C040000 */ cmpwi r4, 0 -/* 031B2C 800370CC 4082000C */ bne lbl_800370D8 -/* 031B30 800370D0 38600000 */ li r3, 0 -/* 031B34 800370D4 480003F0 */ b lbl_800374C4 -lbl_800370D8: -/* 031B38 800370D8 381F0B44 */ addi r0, r31, 0xb44 -/* 031B3C 800370DC 90010024 */ stw r0, 0x24(r1) -/* 031B40 800370E0 38610024 */ addi r3, r1, 0x24 -/* 031B44 800370E4 4BFCFFB5 */ bl xlHeapFree -/* 031B48 800370E8 2C030000 */ cmpwi r3, 0 -/* 031B4C 800370EC 4082000C */ bne lbl_800370F8 -/* 031B50 800370F0 38800000 */ li r4, 0 -/* 031B54 800370F4 48000014 */ b lbl_80037108 -lbl_800370F8: -/* 031B58 800370F8 80610024 */ lwz r3, 0x24(r1) -/* 031B5C 800370FC 38000000 */ li r0, 0 -/* 031B60 80037100 38800001 */ li r4, 1 -/* 031B64 80037104 90030000 */ stw r0, 0(r3) -lbl_80037108: -/* 031B68 80037108 2C040000 */ cmpwi r4, 0 -/* 031B6C 8003710C 4082000C */ bne lbl_80037118 -/* 031B70 80037110 38600000 */ li r3, 0 -/* 031B74 80037114 480003B0 */ b lbl_800374C4 -lbl_80037118: -/* 031B78 80037118 381F0B40 */ addi r0, r31, 0xb40 -/* 031B7C 8003711C 90010020 */ stw r0, 0x20(r1) -/* 031B80 80037120 38610020 */ addi r3, r1, 0x20 -/* 031B84 80037124 4BFCFF75 */ bl xlHeapFree -/* 031B88 80037128 2C030000 */ cmpwi r3, 0 -/* 031B8C 8003712C 4082000C */ bne lbl_80037138 -/* 031B90 80037130 38800000 */ li r4, 0 -/* 031B94 80037134 48000014 */ b lbl_80037148 -lbl_80037138: -/* 031B98 80037138 80610020 */ lwz r3, 0x20(r1) -/* 031B9C 8003713C 38000000 */ li r0, 0 -/* 031BA0 80037140 38800001 */ li r4, 1 -/* 031BA4 80037144 90030000 */ stw r0, 0(r3) -lbl_80037148: -/* 031BA8 80037148 2C040000 */ cmpwi r4, 0 -/* 031BAC 8003714C 4082000C */ bne lbl_80037158 -/* 031BB0 80037150 38600000 */ li r3, 0 -/* 031BB4 80037154 48000370 */ b lbl_800374C4 -lbl_80037158: -/* 031BB8 80037158 381F0B50 */ addi r0, r31, 0xb50 -/* 031BBC 8003715C 9001001C */ stw r0, 0x1c(r1) -/* 031BC0 80037160 3861001C */ addi r3, r1, 0x1c -/* 031BC4 80037164 4BFCFF35 */ bl xlHeapFree -/* 031BC8 80037168 2C030000 */ cmpwi r3, 0 -/* 031BCC 8003716C 4082000C */ bne lbl_80037178 -/* 031BD0 80037170 38800000 */ li r4, 0 -/* 031BD4 80037174 48000014 */ b lbl_80037188 -lbl_80037178: -/* 031BD8 80037178 8061001C */ lwz r3, 0x1c(r1) -/* 031BDC 8003717C 38000000 */ li r0, 0 -/* 031BE0 80037180 38800001 */ li r4, 1 -/* 031BE4 80037184 90030000 */ stw r0, 0(r3) -lbl_80037188: -/* 031BE8 80037188 2C040000 */ cmpwi r4, 0 -/* 031BEC 8003718C 4082000C */ bne lbl_80037198 -/* 031BF0 80037190 38600000 */ li r3, 0 -/* 031BF4 80037194 48000330 */ b lbl_800374C4 -lbl_80037198: -/* 031BF8 80037198 381F0B54 */ addi r0, r31, 0xb54 -/* 031BFC 8003719C 90010018 */ stw r0, 0x18(r1) -/* 031C00 800371A0 38610018 */ addi r3, r1, 0x18 -/* 031C04 800371A4 4BFCFEF5 */ bl xlHeapFree -/* 031C08 800371A8 2C030000 */ cmpwi r3, 0 -/* 031C0C 800371AC 4082000C */ bne lbl_800371B8 -/* 031C10 800371B0 38800000 */ li r4, 0 -/* 031C14 800371B4 48000014 */ b lbl_800371C8 -lbl_800371B8: -/* 031C18 800371B8 80610018 */ lwz r3, 0x18(r1) -/* 031C1C 800371BC 38000000 */ li r0, 0 -/* 031C20 800371C0 38800001 */ li r4, 1 -/* 031C24 800371C4 90030000 */ stw r0, 0(r3) -lbl_800371C8: -/* 031C28 800371C8 2C040000 */ cmpwi r4, 0 -/* 031C2C 800371CC 4082000C */ bne lbl_800371D8 -/* 031C30 800371D0 38600000 */ li r3, 0 -/* 031C34 800371D4 480002F0 */ b lbl_800374C4 -lbl_800371D8: -/* 031C38 800371D8 386D8A04 */ addi r3, r13, cpuCompile_DSLLV_function@sda21 -/* 031C3C 800371DC 4BFCFEBD */ bl xlHeapFree -/* 031C40 800371E0 2C030000 */ cmpwi r3, 0 -/* 031C44 800371E4 4082000C */ bne lbl_800371F0 -/* 031C48 800371E8 38600000 */ li r3, 0 -/* 031C4C 800371EC 480002D8 */ b lbl_800374C4 -lbl_800371F0: -/* 031C50 800371F0 386D8A08 */ addi r3, r13, cpuCompile_DSRLV_function@sda21 -/* 031C54 800371F4 4BFCFEA5 */ bl xlHeapFree -/* 031C58 800371F8 2C030000 */ cmpwi r3, 0 -/* 031C5C 800371FC 4082000C */ bne lbl_80037208 -/* 031C60 80037200 38600000 */ li r3, 0 -/* 031C64 80037204 480002C0 */ b lbl_800374C4 -lbl_80037208: -/* 031C68 80037208 386D8A0C */ addi r3, r13, cpuCompile_DSRAV_function@sda21 -/* 031C6C 8003720C 4BFCFE8D */ bl xlHeapFree -/* 031C70 80037210 2C030000 */ cmpwi r3, 0 -/* 031C74 80037214 4082000C */ bne lbl_80037220 -/* 031C78 80037218 38600000 */ li r3, 0 -/* 031C7C 8003721C 480002A8 */ b lbl_800374C4 -lbl_80037220: -/* 031C80 80037220 386D8A10 */ addi r3, r13, cpuCompile_DMULT_function@sda21 -/* 031C84 80037224 4BFCFE75 */ bl xlHeapFree -/* 031C88 80037228 2C030000 */ cmpwi r3, 0 -/* 031C8C 8003722C 4082000C */ bne lbl_80037238 -/* 031C90 80037230 38600000 */ li r3, 0 -/* 031C94 80037234 48000290 */ b lbl_800374C4 -lbl_80037238: -/* 031C98 80037238 386D8A14 */ addi r3, r13, cpuCompile_DMULTU_function@sda21 -/* 031C9C 8003723C 4BFCFE5D */ bl xlHeapFree -/* 031CA0 80037240 2C030000 */ cmpwi r3, 0 -/* 031CA4 80037244 4082000C */ bne lbl_80037250 -/* 031CA8 80037248 38600000 */ li r3, 0 -/* 031CAC 8003724C 48000278 */ b lbl_800374C4 -lbl_80037250: -/* 031CB0 80037250 386D8A18 */ addi r3, r13, cpuCompile_DDIV_function@sda21 -/* 031CB4 80037254 4BFCFE45 */ bl xlHeapFree -/* 031CB8 80037258 2C030000 */ cmpwi r3, 0 -/* 031CBC 8003725C 4082000C */ bne lbl_80037268 -/* 031CC0 80037260 38600000 */ li r3, 0 -/* 031CC4 80037264 48000260 */ b lbl_800374C4 -lbl_80037268: -/* 031CC8 80037268 386D8A1C */ addi r3, r13, cpuCompile_DDIVU_function@sda21 -/* 031CCC 8003726C 4BFCFE2D */ bl xlHeapFree -/* 031CD0 80037270 2C030000 */ cmpwi r3, 0 -/* 031CD4 80037274 4082000C */ bne lbl_80037280 -/* 031CD8 80037278 38600000 */ li r3, 0 -/* 031CDC 8003727C 48000248 */ b lbl_800374C4 -lbl_80037280: -/* 031CE0 80037280 386D8A20 */ addi r3, r13, cpuCompile_DADD_function@sda21 -/* 031CE4 80037284 4BFCFE15 */ bl xlHeapFree -/* 031CE8 80037288 2C030000 */ cmpwi r3, 0 -/* 031CEC 8003728C 4082000C */ bne lbl_80037298 -/* 031CF0 80037290 38600000 */ li r3, 0 -/* 031CF4 80037294 48000230 */ b lbl_800374C4 -lbl_80037298: -/* 031CF8 80037298 386D8A24 */ addi r3, r13, cpuCompile_DADDU_function@sda21 -/* 031CFC 8003729C 4BFCFDFD */ bl xlHeapFree -/* 031D00 800372A0 2C030000 */ cmpwi r3, 0 -/* 031D04 800372A4 4082000C */ bne lbl_800372B0 -/* 031D08 800372A8 38600000 */ li r3, 0 -/* 031D0C 800372AC 48000218 */ b lbl_800374C4 -lbl_800372B0: -/* 031D10 800372B0 386D8A28 */ addi r3, r13, cpuCompile_DSUB_function@sda21 -/* 031D14 800372B4 4BFCFDE5 */ bl xlHeapFree -/* 031D18 800372B8 2C030000 */ cmpwi r3, 0 -/* 031D1C 800372BC 4082000C */ bne lbl_800372C8 -/* 031D20 800372C0 38600000 */ li r3, 0 -/* 031D24 800372C4 48000200 */ b lbl_800374C4 -lbl_800372C8: -/* 031D28 800372C8 386D8A2C */ addi r3, r13, cpuCompile_DSUBU_function@sda21 -/* 031D2C 800372CC 4BFCFDCD */ bl xlHeapFree -/* 031D30 800372D0 2C030000 */ cmpwi r3, 0 -/* 031D34 800372D4 4082000C */ bne lbl_800372E0 -/* 031D38 800372D8 38600000 */ li r3, 0 -/* 031D3C 800372DC 480001E8 */ b lbl_800374C4 -lbl_800372E0: -/* 031D40 800372E0 386D8A30 */ addi r3, r13, cpuCompile_S_SQRT_function@sda21 -/* 031D44 800372E4 4BFCFDB5 */ bl xlHeapFree -/* 031D48 800372E8 2C030000 */ cmpwi r3, 0 -/* 031D4C 800372EC 4082000C */ bne lbl_800372F8 -/* 031D50 800372F0 38600000 */ li r3, 0 -/* 031D54 800372F4 480001D0 */ b lbl_800374C4 -lbl_800372F8: -/* 031D58 800372F8 386D8A34 */ addi r3, r13, cpuCompile_D_SQRT_function@sda21 -/* 031D5C 800372FC 4BFCFD9D */ bl xlHeapFree -/* 031D60 80037300 2C030000 */ cmpwi r3, 0 -/* 031D64 80037304 4082000C */ bne lbl_80037310 -/* 031D68 80037308 38600000 */ li r3, 0 -/* 031D6C 8003730C 480001B8 */ b lbl_800374C4 -lbl_80037310: -/* 031D70 80037310 386D8A38 */ addi r3, r13, cpuCompile_W_CVT_SD_function@sda21 -/* 031D74 80037314 4BFCFD85 */ bl xlHeapFree -/* 031D78 80037318 2C030000 */ cmpwi r3, 0 -/* 031D7C 8003731C 4082000C */ bne lbl_80037328 -/* 031D80 80037320 38600000 */ li r3, 0 -/* 031D84 80037324 480001A0 */ b lbl_800374C4 -lbl_80037328: -/* 031D88 80037328 386D8A3C */ addi r3, r13, cpuCompile_L_CVT_SD_function@sda21 -/* 031D8C 8003732C 4BFCFD6D */ bl xlHeapFree -/* 031D90 80037330 2C030000 */ cmpwi r3, 0 -/* 031D94 80037334 4082000C */ bne lbl_80037340 -/* 031D98 80037338 38600000 */ li r3, 0 -/* 031D9C 8003733C 48000188 */ b lbl_800374C4 -lbl_80037340: -/* 031DA0 80037340 386D8A40 */ addi r3, r13, cpuCompile_CEIL_W_function@sda21 -/* 031DA4 80037344 4BFCFD55 */ bl xlHeapFree -/* 031DA8 80037348 2C030000 */ cmpwi r3, 0 -/* 031DAC 8003734C 4082000C */ bne lbl_80037358 -/* 031DB0 80037350 38600000 */ li r3, 0 -/* 031DB4 80037354 48000170 */ b lbl_800374C4 -lbl_80037358: -/* 031DB8 80037358 386D8A44 */ addi r3, r13, cpuCompile_FLOOR_W_function@sda21 -/* 031DBC 8003735C 4BFCFD3D */ bl xlHeapFree -/* 031DC0 80037360 2C030000 */ cmpwi r3, 0 -/* 031DC4 80037364 4082000C */ bne lbl_80037370 -/* 031DC8 80037368 38600000 */ li r3, 0 -/* 031DCC 8003736C 48000158 */ b lbl_800374C4 -lbl_80037370: -/* 031DD0 80037370 386D8A4C */ addi r3, r13, cpuCompile_TRUNC_W_function@sda21 -/* 031DD4 80037374 4BFCFD25 */ bl xlHeapFree -/* 031DD8 80037378 2C030000 */ cmpwi r3, 0 -/* 031DDC 8003737C 4082000C */ bne lbl_80037388 -/* 031DE0 80037380 38600000 */ li r3, 0 -/* 031DE4 80037384 48000140 */ b lbl_800374C4 -lbl_80037388: -/* 031DE8 80037388 386D8A48 */ addi r3, r13, cpuCompile_ROUND_W_function@sda21 -/* 031DEC 8003738C 4BFCFD0D */ bl xlHeapFree -/* 031DF0 80037390 2C030000 */ cmpwi r3, 0 -/* 031DF4 80037394 4082000C */ bne lbl_800373A0 -/* 031DF8 80037398 38600000 */ li r3, 0 -/* 031DFC 8003739C 48000128 */ b lbl_800374C4 -lbl_800373A0: -/* 031E00 800373A0 386D8A50 */ addi r3, r13, cpuCompile_LB_function@sda21 -/* 031E04 800373A4 4BFCFCF5 */ bl xlHeapFree -/* 031E08 800373A8 2C030000 */ cmpwi r3, 0 -/* 031E0C 800373AC 4082000C */ bne lbl_800373B8 -/* 031E10 800373B0 38600000 */ li r3, 0 -/* 031E14 800373B4 48000110 */ b lbl_800374C4 -lbl_800373B8: -/* 031E18 800373B8 386D8A54 */ addi r3, r13, cpuCompile_LH_function@sda21 -/* 031E1C 800373BC 4BFCFCDD */ bl xlHeapFree -/* 031E20 800373C0 2C030000 */ cmpwi r3, 0 -/* 031E24 800373C4 4082000C */ bne lbl_800373D0 -/* 031E28 800373C8 38600000 */ li r3, 0 -/* 031E2C 800373CC 480000F8 */ b lbl_800374C4 -lbl_800373D0: -/* 031E30 800373D0 386D8A58 */ addi r3, r13, cpuCompile_LW_function@sda21 -/* 031E34 800373D4 4BFCFCC5 */ bl xlHeapFree -/* 031E38 800373D8 2C030000 */ cmpwi r3, 0 -/* 031E3C 800373DC 4082000C */ bne lbl_800373E8 -/* 031E40 800373E0 38600000 */ li r3, 0 -/* 031E44 800373E4 480000E0 */ b lbl_800374C4 -lbl_800373E8: -/* 031E48 800373E8 386D8A5C */ addi r3, r13, cpuCompile_LBU_function@sda21 -/* 031E4C 800373EC 4BFCFCAD */ bl xlHeapFree -/* 031E50 800373F0 2C030000 */ cmpwi r3, 0 -/* 031E54 800373F4 4082000C */ bne lbl_80037400 -/* 031E58 800373F8 38600000 */ li r3, 0 -/* 031E5C 800373FC 480000C8 */ b lbl_800374C4 -lbl_80037400: -/* 031E60 80037400 386D8A60 */ addi r3, r13, cpuCompile_LHU_function@sda21 -/* 031E64 80037404 4BFCFC95 */ bl xlHeapFree -/* 031E68 80037408 2C030000 */ cmpwi r3, 0 -/* 031E6C 8003740C 4082000C */ bne lbl_80037418 -/* 031E70 80037410 38600000 */ li r3, 0 -/* 031E74 80037414 480000B0 */ b lbl_800374C4 -lbl_80037418: -/* 031E78 80037418 386D8A64 */ addi r3, r13, cpuCompile_SB_function@sda21 -/* 031E7C 8003741C 4BFCFC7D */ bl xlHeapFree -/* 031E80 80037420 2C030000 */ cmpwi r3, 0 -/* 031E84 80037424 4082000C */ bne lbl_80037430 -/* 031E88 80037428 38600000 */ li r3, 0 -/* 031E8C 8003742C 48000098 */ b lbl_800374C4 -lbl_80037430: -/* 031E90 80037430 386D8A68 */ addi r3, r13, cpuCompile_SH_function@sda21 -/* 031E94 80037434 4BFCFC65 */ bl xlHeapFree -/* 031E98 80037438 2C030000 */ cmpwi r3, 0 -/* 031E9C 8003743C 4082000C */ bne lbl_80037448 -/* 031EA0 80037440 38600000 */ li r3, 0 -/* 031EA4 80037444 48000080 */ b lbl_800374C4 -lbl_80037448: -/* 031EA8 80037448 386D8A6C */ addi r3, r13, cpuCompile_SW_function@sda21 -/* 031EAC 8003744C 4BFCFC4D */ bl xlHeapFree -/* 031EB0 80037450 2C030000 */ cmpwi r3, 0 -/* 031EB4 80037454 4082000C */ bne lbl_80037460 -/* 031EB8 80037458 38600000 */ li r3, 0 -/* 031EBC 8003745C 48000068 */ b lbl_800374C4 -lbl_80037460: -/* 031EC0 80037460 386D8A70 */ addi r3, r13, cpuCompile_LDC_function@sda21 -/* 031EC4 80037464 4BFCFC35 */ bl xlHeapFree -/* 031EC8 80037468 2C030000 */ cmpwi r3, 0 -/* 031ECC 8003746C 4082000C */ bne lbl_80037478 -/* 031ED0 80037470 38600000 */ li r3, 0 -/* 031ED4 80037474 48000050 */ b lbl_800374C4 -lbl_80037478: -/* 031ED8 80037478 386D8A74 */ addi r3, r13, cpuCompile_SDC_function@sda21 -/* 031EDC 8003747C 4BFCFC1D */ bl xlHeapFree -/* 031EE0 80037480 2C030000 */ cmpwi r3, 0 -/* 031EE4 80037484 4082000C */ bne lbl_80037490 -/* 031EE8 80037488 38600000 */ li r3, 0 -/* 031EEC 8003748C 48000038 */ b lbl_800374C4 -lbl_80037490: -/* 031EF0 80037490 386D8A78 */ addi r3, r13, cpuCompile_LWL_function@sda21 -/* 031EF4 80037494 4BFCFC05 */ bl xlHeapFree -/* 031EF8 80037498 2C030000 */ cmpwi r3, 0 -/* 031EFC 8003749C 4082000C */ bne lbl_800374A8 -/* 031F00 800374A0 38600000 */ li r3, 0 -/* 031F04 800374A4 48000020 */ b lbl_800374C4 -lbl_800374A8: -/* 031F08 800374A8 386D8A7C */ addi r3, r13, cpuCompile_LWR_function@sda21 -/* 031F0C 800374AC 4BFCFBED */ bl xlHeapFree -/* 031F10 800374B0 2C030000 */ cmpwi r3, 0 -/* 031F14 800374B4 4082000C */ bne lbl_800374C0 -/* 031F18 800374B8 38600000 */ li r3, 0 -/* 031F1C 800374BC 48000008 */ b lbl_800374C4 -lbl_800374C0: -/* 031F20 800374C0 38600001 */ li r3, 1 -lbl_800374C4: -/* 031F24 800374C4 8001006C */ lwz r0, 0x6c(r1) -/* 031F28 800374C8 83E10064 */ lwz r31, 0x64(r1) -/* 031F2C 800374CC 83C10060 */ lwz r30, 0x60(r1) -/* 031F30 800374D0 7C0803A6 */ mtlr r0 -/* 031F34 800374D4 38210068 */ addi r1, r1, 0x68 -/* 031F38 800374D8 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuExecuteCall.s b/asm/non_matchings/cpu/cpuExecuteCall.s deleted file mode 100644 index ebf98b06..00000000 --- a/asm/non_matchings/cpu/cpuExecuteCall.s +++ /dev/null @@ -1,168 +0,0 @@ -glabel cpuExecuteCall -/* 033BB8 80039158 7C0802A6 */ mflr r0 -/* 033BBC 8003915C 90010004 */ stw r0, 4(r1) -/* 033BC0 80039160 9421FFC8 */ stwu r1, -0x38(r1) -/* 033BC4 80039164 93E10034 */ stw r31, 0x34(r1) -/* 033BC8 80039168 93C10030 */ stw r30, 0x30(r1) -/* 033BCC 8003916C 3BC50000 */ addi r30, r5, 0 -/* 033BD0 80039170 93A1002C */ stw r29, 0x2c(r1) -/* 033BD4 80039174 93810028 */ stw r28, 0x28(r1) -/* 033BD8 80039178 3B830000 */ addi r28, r3, 0 -/* 033BDC 8003917C 90C10014 */ stw r6, 0x14(r1) -/* 033BE0 80039180 48069141 */ bl OSGetTick -/* 033BE4 80039184 801C002C */ lwz r0, 0x2c(r28) -/* 033BE8 80039188 3BA30000 */ addi r29, r3, 0 -/* 033BEC 8003918C 28000000 */ cmplwi r0, 0 -/* 033BF0 80039190 41820014 */ beq lbl_800391A4 -/* 033BF4 80039194 801C0000 */ lwz r0, 0(r28) -/* 033BF8 80039198 60000008 */ ori r0, r0, 8 -/* 033BFC 8003919C 901C0000 */ stw r0, 0(r28) -/* 033C00 800391A0 48000010 */ b lbl_800391B0 -lbl_800391A4: -/* 033C04 800391A4 801C0000 */ lwz r0, 0(r28) -/* 033C08 800391A8 54000776 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 033C0C 800391AC 901C0000 */ stw r0, 0(r28) -lbl_800391B0: -/* 033C10 800391B0 801C0000 */ lwz r0, 0(r28) -/* 033C14 800391B4 387C0000 */ addi r3, r28, 0 -/* 033C18 800391B8 38A10018 */ addi r5, r1, 0x18 -/* 033C1C 800391BC 60000004 */ ori r0, r0, 4 -/* 033C20 800391C0 901C0000 */ stw r0, 0(r28) -/* 033C24 800391C4 93DC0028 */ stw r30, 0x28(r28) -/* 033C28 800391C8 80010014 */ lwz r0, 0x14(r1) -/* 033C2C 800391CC 901C013C */ stw r0, 0x13c(r28) -/* 033C30 800391D0 809C003C */ lwz r4, 0x3c(r28) -/* 033C34 800391D4 80C10014 */ lwz r6, 0x14(r1) -/* 033C38 800391D8 38040001 */ addi r0, r4, 1 -/* 033C3C 800391DC 901C003C */ stw r0, 0x3c(r28) -/* 033C40 800391E0 3BE6FFFC */ addi r31, r6, -4 -/* 033C44 800391E4 809C0038 */ lwz r4, 0x38(r28) -/* 033C48 800391E8 3884FFF8 */ addi r4, r4, -8 -/* 033C4C 800391EC 4BFFA119 */ bl cpuFindFunction -/* 033C50 800391F0 80610018 */ lwz r3, 0x18(r1) -/* 033C54 800391F4 38800000 */ li r4, 0 -/* 033C58 800391F8 8003001C */ lwz r0, 0x1c(r3) -/* 033C5C 800391FC 80A30018 */ lwz r5, 0x18(r3) -/* 033C60 80039200 2C000000 */ cmpwi r0, 0 -/* 033C64 80039204 7C0903A6 */ mtctr r0 -/* 033C68 80039208 38650000 */ addi r3, r5, 0 -/* 033C6C 8003920C 40810038 */ ble lbl_80039244 -lbl_80039210: -/* 033C70 80039210 80030000 */ lwz r0, 0(r3) -/* 033C74 80039214 7C1E0000 */ cmpw r30, r0 -/* 033C78 80039218 40820020 */ bne lbl_80039238 -/* 033C7C 8003921C 80030004 */ lwz r0, 4(r3) -/* 033C80 80039220 2C000000 */ cmpwi r0, 0 -/* 033C84 80039224 40820014 */ bne lbl_80039238 -/* 033C88 80039228 54801838 */ slwi r0, r4, 3 -/* 033C8C 8003922C 7C650214 */ add r3, r5, r0 -/* 033C90 80039230 93E30004 */ stw r31, 4(r3) -/* 033C94 80039234 48000010 */ b lbl_80039244 -lbl_80039238: -/* 033C98 80039238 38630008 */ addi r3, r3, 8 -/* 033C9C 8003923C 38840001 */ addi r4, r4, 1 -/* 033CA0 80039240 4200FFD0 */ bdnz lbl_80039210 -lbl_80039244: -/* 033CA4 80039244 3C60800F */ lis r3, ganMapGPR@ha -/* 033CA8 80039248 3863BE70 */ addi r3, r3, ganMapGPR@l -/* 033CAC 8003924C 8083007C */ lwz r4, 0x7c(r3) -/* 033CB0 80039250 548005EF */ rlwinm. r0, r4, 0, 0x17, 0x17 -/* 033CB4 80039254 4182000C */ beq lbl_80039260 -/* 033CB8 80039258 3BE00001 */ li r31, 1 -/* 033CBC 8003925C 48000008 */ b lbl_80039264 -lbl_80039260: -/* 033CC0 80039260 3BE00000 */ li r31, 0 -lbl_80039264: -/* 033CC4 80039264 2C1F0000 */ cmpwi r31, 0 -/* 033CC8 80039268 4182000C */ beq lbl_80039274 -/* 033CCC 8003926C 38000004 */ li r0, 4 -/* 033CD0 80039270 48000008 */ b lbl_80039278 -lbl_80039274: -/* 033CD4 80039274 38000003 */ li r0, 3 -lbl_80039278: -/* 033CD8 80039278 2C1F0000 */ cmpwi r31, 0 -/* 033CDC 8003927C 80610014 */ lwz r3, 0x14(r1) -/* 033CE0 80039280 5400103A */ slwi r0, r0, 2 -/* 033CE4 80039284 7FC01850 */ subf r30, r0, r3 -/* 033CE8 80039288 4182003C */ beq lbl_800392C4 -/* 033CEC 8003928C 5460843E */ srwi r0, r3, 0x10 -/* 033CF0 80039290 64003CA0 */ oris r0, r0, 0x3ca0 -/* 033CF4 80039294 901E0000 */ stw r0, 0(r30) -/* 033CF8 80039298 387E0000 */ addi r3, r30, 0 -/* 033CFC 8003929C 38800008 */ li r4, 8 -/* 033D00 800392A0 80010014 */ lwz r0, 0x14(r1) -/* 033D04 800392A4 5400043E */ clrlwi r0, r0, 0x10 -/* 033D08 800392A8 640060A5 */ oris r0, r0, 0x60a5 -/* 033D0C 800392AC 901E0004 */ stw r0, 4(r30) -/* 033D10 800392B0 480644FD */ bl DCStoreRange -/* 033D14 800392B4 387E0000 */ addi r3, r30, 0 -/* 033D18 800392B8 38800008 */ li r4, 8 -/* 033D1C 800392BC 48064579 */ bl ICInvalidateRange -/* 033D20 800392C0 4800004C */ b lbl_8003930C -lbl_800392C4: -/* 033D24 800392C4 5460843E */ srwi r0, r3, 0x10 -/* 033D28 800392C8 64003C00 */ oris r0, r0, 0x3c00 -/* 033D2C 800392CC 5486A814 */ slwi r6, r4, 0x15 -/* 033D30 800392D0 7C003378 */ or r0, r0, r6 -/* 033D34 800392D4 901E0000 */ stw r0, 0(r30) -/* 033D38 800392D8 5485801E */ slwi r5, r4, 0x10 -/* 033D3C 800392DC 387E0000 */ addi r3, r30, 0 -/* 033D40 800392E0 80010014 */ lwz r0, 0x14(r1) -/* 033D44 800392E4 38800008 */ li r4, 8 -/* 033D48 800392E8 5400043E */ clrlwi r0, r0, 0x10 -/* 033D4C 800392EC 64006000 */ oris r0, r0, 0x6000 -/* 033D50 800392F0 7C003378 */ or r0, r0, r6 -/* 033D54 800392F4 7CA00378 */ or r0, r5, r0 -/* 033D58 800392F8 901E0004 */ stw r0, 4(r30) -/* 033D5C 800392FC 480644B1 */ bl DCStoreRange -/* 033D60 80039300 387E0000 */ addi r3, r30, 0 -/* 033D64 80039304 38800008 */ li r4, 8 -/* 033D68 80039308 4806452D */ bl ICInvalidateRange -lbl_8003930C: -/* 033D6C 8003930C 387C0000 */ addi r3, r28, 0 -/* 033D70 80039310 38BD0000 */ addi r5, r29, 0 -/* 033D74 80039314 38810014 */ addi r4, r1, 0x14 -/* 033D78 80039318 48004BF1 */ bl cpuExecuteUpdate -/* 033D7C 8003931C 2C030000 */ cmpwi r3, 0 -/* 033D80 80039320 4082000C */ bne lbl_8003932C -/* 033D84 80039324 38600000 */ li r3, 0 -/* 033D88 80039328 48000070 */ b lbl_80039398 -lbl_8003932C: -/* 033D8C 8003932C 2C1F0000 */ cmpwi r31, 0 -/* 033D90 80039330 80010014 */ lwz r0, 0x14(r1) -/* 033D94 80039334 387E000C */ addi r3, r30, 0xc -/* 033D98 80039338 7C030050 */ subf r0, r3, r0 -/* 033D9C 8003933C 4182002C */ beq lbl_80039368 -/* 033DA0 80039340 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 033DA4 80039344 64004800 */ oris r0, r0, 0x4800 -/* 033DA8 80039348 901E000C */ stw r0, 0xc(r30) -/* 033DAC 8003934C 387E0000 */ addi r3, r30, 0 -/* 033DB0 80039350 38800010 */ li r4, 0x10 -/* 033DB4 80039354 48064459 */ bl DCStoreRange -/* 033DB8 80039358 387E0000 */ addi r3, r30, 0 -/* 033DBC 8003935C 38800010 */ li r4, 0x10 -/* 033DC0 80039360 480644D5 */ bl ICInvalidateRange -/* 033DC4 80039364 48000028 */ b lbl_8003938C -lbl_80039368: -/* 033DC8 80039368 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 033DCC 8003936C 64004800 */ oris r0, r0, 0x4800 -/* 033DD0 80039370 901E0008 */ stw r0, 8(r30) -/* 033DD4 80039374 387E0000 */ addi r3, r30, 0 -/* 033DD8 80039378 3880000C */ li r4, 0xc -/* 033DDC 8003937C 48064431 */ bl DCStoreRange -/* 033DE0 80039380 387E0000 */ addi r3, r30, 0 -/* 033DE4 80039384 3880000C */ li r4, 0xc -/* 033DE8 80039388 480644AD */ bl ICInvalidateRange -lbl_8003938C: -/* 033DEC 8003938C 48068F35 */ bl OSGetTick -/* 033DF0 80039390 907C0B58 */ stw r3, 0xb58(r28) -/* 033DF4 80039394 80610014 */ lwz r3, 0x14(r1) -lbl_80039398: -/* 033DF8 80039398 8001003C */ lwz r0, 0x3c(r1) -/* 033DFC 8003939C 83E10034 */ lwz r31, 0x34(r1) -/* 033E00 800393A0 83C10030 */ lwz r30, 0x30(r1) -/* 033E04 800393A4 7C0803A6 */ mtlr r0 -/* 033E08 800393A8 83A1002C */ lwz r29, 0x2c(r1) -/* 033E0C 800393AC 83810028 */ lwz r28, 0x28(r1) -/* 033E10 800393B0 38210038 */ addi r1, r1, 0x38 -/* 033E14 800393B4 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuExecuteIdle.s b/asm/non_matchings/cpu/cpuExecuteIdle.s deleted file mode 100644 index eb5f1c7e..00000000 --- a/asm/non_matchings/cpu/cpuExecuteIdle.s +++ /dev/null @@ -1,74 +0,0 @@ -glabel cpuExecuteIdle -/* 033EE8 80039488 7C0802A6 */ mflr r0 -/* 033EEC 8003948C 38800000 */ li r4, 0 -/* 033EF0 80039490 90010004 */ stw r0, 4(r1) -/* 033EF4 80039494 9421FFD8 */ stwu r1, -0x28(r1) -/* 033EF8 80039498 93E10024 */ stw r31, 0x24(r1) -/* 033EFC 8003949C 3BE30000 */ addi r31, r3, 0 -/* 033F00 800394A0 93C10020 */ stw r30, 0x20(r1) -/* 033F04 800394A4 93A1001C */ stw r29, 0x1c(r1) -/* 033F08 800394A8 3BA50000 */ addi r29, r5, 0 -/* 033F0C 800394AC 93810018 */ stw r28, 0x18(r1) -/* 033F10 800394B0 90C10014 */ stw r6, 0x14(r1) -/* 033F14 800394B4 38C00001 */ li r6, 1 -/* 033F18 800394B8 80A30008 */ lwz r5, 8(r3) -/* 033F1C 800394BC 38600000 */ li r3, 0 -/* 033F20 800394C0 83C50030 */ lwz r30, 0x30(r5) -/* 033F24 800394C4 38A00000 */ li r5, 0 -/* 033F28 800394C8 4BFCF715 */ bl simulatorTestReset -/* 033F2C 800394CC 2C030000 */ cmpwi r3, 0 -/* 033F30 800394D0 4082000C */ bne lbl_800394DC -/* 033F34 800394D4 38600000 */ li r3, 0 -/* 033F38 800394D8 4800009C */ b lbl_80039574 -lbl_800394DC: -/* 033F3C 800394DC 48068DE5 */ bl OSGetTick -/* 033F40 800394E0 801F002C */ lwz r0, 0x2c(r31) -/* 033F44 800394E4 3B830000 */ addi r28, r3, 0 -/* 033F48 800394E8 28000000 */ cmplwi r0, 0 -/* 033F4C 800394EC 41820014 */ beq lbl_80039500 -/* 033F50 800394F0 801F0000 */ lwz r0, 0(r31) -/* 033F54 800394F4 60000008 */ ori r0, r0, 8 -/* 033F58 800394F8 901F0000 */ stw r0, 0(r31) -/* 033F5C 800394FC 48000010 */ b lbl_8003950C -lbl_80039500: -/* 033F60 80039500 801F0000 */ lwz r0, 0(r31) -/* 033F64 80039504 54000776 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 033F68 80039508 901F0000 */ stw r0, 0(r31) -lbl_8003950C: -/* 033F6C 8003950C 801F0000 */ lwz r0, 0(r31) -/* 033F70 80039510 60000080 */ ori r0, r0, 0x80 -/* 033F74 80039514 901F0000 */ stw r0, 0(r31) -/* 033F78 80039518 93BF0028 */ stw r29, 0x28(r31) -/* 033F7C 8003951C 801F0000 */ lwz r0, 0(r31) -/* 033F80 80039520 54000673 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 033F84 80039524 40820024 */ bne lbl_80039548 -/* 033F88 80039528 3C7E0001 */ addis r3, r30, 1 -/* 033F8C 8003952C 80030E30 */ lwz r0, 0xe30(r3) -/* 033F90 80039530 28000000 */ cmplwi r0, 0 -/* 033F94 80039534 40820014 */ bne lbl_80039548 -/* 033F98 80039538 807F0008 */ lwz r3, 8(r31) -/* 033F9C 8003953C 38800000 */ li r4, 0 -/* 033FA0 80039540 80630050 */ lwz r3, 0x50(r3) -/* 033FA4 80039544 480554B1 */ bl videoForceRetrace -lbl_80039548: -/* 033FA8 80039548 387F0000 */ addi r3, r31, 0 -/* 033FAC 8003954C 38BC0000 */ addi r5, r28, 0 -/* 033FB0 80039550 38810014 */ addi r4, r1, 0x14 -/* 033FB4 80039554 480049B5 */ bl cpuExecuteUpdate -/* 033FB8 80039558 2C030000 */ cmpwi r3, 0 -/* 033FBC 8003955C 4082000C */ bne lbl_80039568 -/* 033FC0 80039560 38600000 */ li r3, 0 -/* 033FC4 80039564 48000010 */ b lbl_80039574 -lbl_80039568: -/* 033FC8 80039568 48068D59 */ bl OSGetTick -/* 033FCC 8003956C 907F0B58 */ stw r3, 0xb58(r31) -/* 033FD0 80039570 80610014 */ lwz r3, 0x14(r1) -lbl_80039574: -/* 033FD4 80039574 8001002C */ lwz r0, 0x2c(r1) -/* 033FD8 80039578 83E10024 */ lwz r31, 0x24(r1) -/* 033FDC 8003957C 83C10020 */ lwz r30, 0x20(r1) -/* 033FE0 80039580 7C0803A6 */ mtlr r0 -/* 033FE4 80039584 83A1001C */ lwz r29, 0x1c(r1) -/* 033FE8 80039588 83810018 */ lwz r28, 0x18(r1) -/* 033FEC 8003958C 38210028 */ addi r1, r1, 0x28 -/* 033FF0 80039590 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuExecuteLoadStore.s b/asm/non_matchings/cpu/cpuExecuteLoadStore.s deleted file mode 100644 index 782baa16..00000000 --- a/asm/non_matchings/cpu/cpuExecuteLoadStore.s +++ /dev/null @@ -1,1006 +0,0 @@ -glabel cpuExecuteLoadStore -/* 032D58 800382F8 7C0802A6 */ mflr r0 -/* 032D5C 800382FC 3CE0800F */ lis r7, gClassCPU@ha -/* 032D60 80038300 90010004 */ stw r0, 4(r1) -/* 032D64 80038304 9421FFB8 */ stwu r1, -0x48(r1) -/* 032D68 80038308 BEC10020 */ stmw r22, 0x20(r1) -/* 032D6C 8003830C 7C781B78 */ mr r24, r3 -/* 032D70 80038310 3818002C */ addi r0, r24, 0x2c -/* 032D74 80038314 7C980050 */ subf r4, r24, r0 -/* 032D78 80038318 3B660000 */ addi r27, r6, 0 -/* 032D7C 8003831C 3F4490C3 */ addis r26, r4, 0x90c3 -/* 032D80 80038320 3AC50000 */ addi r22, r5, 0 -/* 032D84 80038324 3AE7B658 */ addi r23, r7, gClassCPU@l -/* 032D88 80038328 3881001C */ addi r4, r1, 0x1c -/* 032D8C 8003832C 3BE00000 */ li r31, 0 -/* 032D90 80038330 3BC00000 */ li r30, 0 -/* 032D94 80038334 3BA00000 */ li r29, 0 -/* 032D98 80038338 38C00000 */ li r6, 0 -/* 032D9C 8003833C 80630008 */ lwz r3, 8(r3) -/* 032DA0 80038340 8063002C */ lwz r3, 0x2c(r3) -/* 032DA4 80038344 48034D5D */ bl ramGetBuffer -/* 032DA8 80038348 8081001C */ lwz r4, 0x1c(r1) -/* 032DAC 8003834C 3C780001 */ addis r3, r24, 1 -/* 032DB0 80038350 80032060 */ lwz r0, 0x2060(r3) -/* 032DB4 80038354 80E40000 */ lwz r7, 0(r4) -/* 032DB8 80038358 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 032DBC 8003835C 54E37638 */ rlwinm r3, r7, 0xe, 0x18, 0x1c -/* 032DC0 80038360 7CD81A14 */ add r6, r24, r3 -/* 032DC4 80038364 54E5043E */ clrlwi r5, r7, 0x10 -/* 032DC8 80038368 80C60044 */ lwz r6, 0x44(r6) -/* 032DCC 8003836C 7CA50734 */ extsh r5, r5 -/* 032DD0 80038370 7CC62A14 */ add r6, r6, r5 -/* 032DD4 80038374 54C5843E */ srwi r5, r6, 0x10 -/* 032DD8 80038378 7CB82A14 */ add r5, r24, r5 -/* 032DDC 8003837C 88A50F64 */ lbz r5, 0xf64(r5) -/* 032DE0 80038380 54E05EFE */ rlwinm r0, r7, 0xb, 0x1b, 0x1f -/* 032DE4 80038384 41820018 */ beq lbl_8003839C -/* 032DE8 80038388 389BFFF4 */ addi r4, r27, -12 -/* 032DEC 8003838C 3B240000 */ addi r25, r4, 0 -/* 032DF0 80038390 3B84FFF8 */ addi r28, r4, -8 -/* 032DF4 80038394 3B7B000C */ addi r27, r27, 0xc -/* 032DF8 80038398 48000014 */ b lbl_800383AC -lbl_8003839C: -/* 032DFC 8003839C 389BFFF4 */ addi r4, r27, -12 -/* 032E00 800383A0 3B240000 */ addi r25, r4, 0 -/* 032E04 800383A4 3B84FFF8 */ addi r28, r4, -8 -/* 032E08 800383A8 3B7B0008 */ addi r27, r27, 8 -lbl_800383AC: -/* 032E0C 800383AC 54C4273E */ srwi r4, r6, 0x1c -/* 032E10 800383B0 28040008 */ cmplwi r4, 8 -/* 032E14 800383B4 40800008 */ bge lbl_800383BC -/* 032E18 800383B8 3BA00001 */ li r29, 1 -lbl_800383BC: -/* 032E1C 800383BC 2C1D0000 */ cmpwi r29, 0 -/* 032E20 800383C0 40820AC8 */ bne lbl_80038E88 -/* 032E24 800383C4 28050080 */ cmplwi r5, 0x80 -/* 032E28 800383C8 41800AC0 */ blt lbl_80038E88 -/* 032E2C 800383CC 54E536BE */ srwi r5, r7, 0x1a -/* 032E30 800383D0 38C5FFE0 */ addi r6, r5, -32 -/* 032E34 800383D4 2806000B */ cmplwi r6, 0xb -/* 032E38 800383D8 41810A98 */ bgt lbl_80038E70 -/* 032E3C 800383DC 3CA0800F */ lis r5, jtbl_800EC228@ha -/* 032E40 800383E0 38A5C228 */ addi r5, r5, jtbl_800EC228@l -/* 032E44 800383E4 54C6103A */ slwi r6, r6, 2 -/* 032E48 800383E8 7CA5302E */ lwzx r5, r5, r6 -/* 032E4C 800383EC 7CA903A6 */ mtctr r5 -/* 032E50 800383F0 4E800420 */ bctr -.global lbl_800383F4 -lbl_800383F4: -/* 032E54 800383F4 54E5967A */ rlwinm r5, r7, 0x12, 0x19, 0x1d -/* 032E58 800383F8 7CB72A14 */ add r5, r23, r5 -/* 032E5C 800383FC 80A50818 */ lwz r5, 0x818(r5) -/* 032E60 80038400 54A605EF */ rlwinm. r6, r5, 0, 0x17, 0x17 -/* 032E64 80038404 41820008 */ beq lbl_8003840C -/* 032E68 80038408 38A00005 */ li r5, 5 -lbl_8003840C: -/* 032E6C 8003840C 5400103A */ slwi r0, r0, 2 -/* 032E70 80038410 7CD70214 */ add r6, r23, r0 -/* 032E74 80038414 80060818 */ lwz r0, 0x818(r6) -/* 032E78 80038418 540605EF */ rlwinm. r6, r0, 0, 0x17, 0x17 -/* 032E7C 8003841C 41820030 */ beq lbl_8003844C -/* 032E80 80038420 38030040 */ addi r0, r3, 0x40 -/* 032E84 80038424 7C180214 */ add r0, r24, r0 -/* 032E88 80038428 7C780050 */ subf r3, r24, r0 -/* 032E8C 8003842C 38030004 */ addi r0, r3, 4 -/* 032E90 80038430 5403043E */ clrlwi r3, r0, 0x10 -/* 032E94 80038434 38000000 */ li r0, 0 -/* 032E98 80038438 3C6380C3 */ addis r3, r3, 0x80c3 -/* 032E9C 8003843C 5400103A */ slwi r0, r0, 2 -/* 032EA0 80038440 7C79012E */ stwx r3, r25, r0 -/* 032EA4 80038444 38000006 */ li r0, 6 -/* 032EA8 80038448 3BE00001 */ li r31, 1 -lbl_8003844C: -/* 032EAC 8003844C 3C780001 */ addis r3, r24, 1 -/* 032EB0 80038450 80C32060 */ lwz r6, 0x2060(r3) -/* 032EB4 80038454 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 032EB8 80038458 41820060 */ beq lbl_800384B8 -/* 032EBC 8003845C 54C304E7 */ rlwinm. r3, r6, 0, 0x13, 0x13 -/* 032EC0 80038460 4182002C */ beq lbl_8003848C -/* 032EC4 80038464 5403A814 */ slwi r3, r0, 0x15 -/* 032EC8 80038468 64667C00 */ oris r6, r3, 0x7c00 -/* 032ECC 8003846C 60C60038 */ ori r6, r6, 0x38 -/* 032ED0 80038470 5404801E */ slwi r4, r0, 0x10 -/* 032ED4 80038474 7CC42378 */ or r4, r6, r4 -/* 032ED8 80038478 57E3103A */ slwi r3, r31, 2 -/* 032EDC 8003847C 60844800 */ ori r4, r4, 0x4800 -/* 032EE0 80038480 7C99192E */ stwx r4, r25, r3 -/* 032EE4 80038484 3BFF0001 */ addi r31, r31, 1 -/* 032EE8 80038488 48000030 */ b lbl_800384B8 -lbl_8003848C: -/* 032EEC 8003848C 2804000A */ cmplwi r4, 0xa -/* 032EF0 80038490 41800028 */ blt lbl_800384B8 -/* 032EF4 80038494 5403A814 */ slwi r3, r0, 0x15 -/* 032EF8 80038498 64667C00 */ oris r6, r3, 0x7c00 -/* 032EFC 8003849C 60C60038 */ ori r6, r6, 0x38 -/* 032F00 800384A0 5404801E */ slwi r4, r0, 0x10 -/* 032F04 800384A4 7CC42378 */ or r4, r6, r4 -/* 032F08 800384A8 57E3103A */ slwi r3, r31, 2 -/* 032F0C 800384AC 60844800 */ ori r4, r4, 0x4800 -/* 032F10 800384B0 7C99192E */ stwx r4, r25, r3 -/* 032F14 800384B4 3BFF0001 */ addi r31, r31, 1 -lbl_800384B8: -/* 032F18 800384B8 5403801E */ slwi r3, r0, 0x10 -/* 032F1C 800384BC 64637CE0 */ oris r3, r3, 0x7ce0 -/* 032F20 800384C0 57E0103A */ slwi r0, r31, 2 -/* 032F24 800384C4 60634214 */ ori r3, r3, 0x4214 -/* 032F28 800384C8 7C79012E */ stwx r3, r25, r0 -/* 032F2C 800384CC 54A0A814 */ slwi r0, r5, 0x15 -/* 032F30 800384D0 3BFF0001 */ addi r31, r31, 1 -/* 032F34 800384D4 8081001C */ lwz r4, 0x1c(r1) -/* 032F38 800384D8 387F0000 */ addi r3, r31, 0 -/* 032F3C 800384DC 64078807 */ oris r7, r0, 0x8807 -/* 032F40 800384E0 80C40000 */ lwz r6, 0(r4) -/* 032F44 800384E4 64047C00 */ oris r4, r0, 0x7c00 -/* 032F48 800384E8 3BFF0001 */ addi r31, r31, 1 -/* 032F4C 800384EC 54C6043E */ clrlwi r6, r6, 0x10 -/* 032F50 800384F0 7CE63378 */ or r6, r7, r6 -/* 032F54 800384F4 5463103A */ slwi r3, r3, 2 -/* 032F58 800384F8 7CD9192E */ stwx r6, r25, r3 -/* 032F5C 800384FC 57E0103A */ slwi r0, r31, 2 -/* 032F60 80038500 60840774 */ ori r4, r4, 0x774 -/* 032F64 80038504 54A3801E */ slwi r3, r5, 0x10 -/* 032F68 80038508 7C831B78 */ or r3, r4, r3 -/* 032F6C 8003850C 7C79012E */ stwx r3, r25, r0 -/* 032F70 80038510 3BFF0001 */ addi r31, r31, 1 -/* 032F74 80038514 8061001C */ lwz r3, 0x1c(r1) -/* 032F78 80038518 80030000 */ lwz r0, 0(r3) -/* 032F7C 8003851C 540486FE */ rlwinm r4, r0, 0x10, 0x1b, 0x1f -/* 032F80 80038520 5400967A */ rlwinm r0, r0, 0x12, 0x19, 0x1d -/* 032F84 80038524 7C770214 */ add r3, r23, r0 -/* 032F88 80038528 80030818 */ lwz r0, 0x818(r3) -/* 032F8C 8003852C 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 032F90 80038530 418209AC */ beq lbl_80038EDC -/* 032F94 80038534 54831838 */ slwi r3, r4, 3 -/* 032F98 80038538 38030040 */ addi r0, r3, 0x40 -/* 032F9C 8003853C 7C180214 */ add r0, r24, r0 -/* 032FA0 80038540 7C780050 */ subf r3, r24, r0 -/* 032FA4 80038544 38630004 */ addi r3, r3, 4 -/* 032FA8 80038548 5463043E */ clrlwi r3, r3, 0x10 -/* 032FAC 8003854C 57E0103A */ slwi r0, r31, 2 -/* 032FB0 80038550 3C6390A3 */ addis r3, r3, 0x90a3 -/* 032FB4 80038554 7C79012E */ stwx r3, r25, r0 -/* 032FB8 80038558 3BFF0001 */ addi r31, r31, 1 -/* 032FBC 8003855C 48000980 */ b lbl_80038EDC -.global lbl_80038560 -lbl_80038560: -/* 032FC0 80038560 54E5967A */ rlwinm r5, r7, 0x12, 0x19, 0x1d -/* 032FC4 80038564 7CB72A14 */ add r5, r23, r5 -/* 032FC8 80038568 80A50818 */ lwz r5, 0x818(r5) -/* 032FCC 8003856C 54A605EF */ rlwinm. r6, r5, 0, 0x17, 0x17 -/* 032FD0 80038570 41820008 */ beq lbl_80038578 -/* 032FD4 80038574 38A00005 */ li r5, 5 -lbl_80038578: -/* 032FD8 80038578 5400103A */ slwi r0, r0, 2 -/* 032FDC 8003857C 7CD70214 */ add r6, r23, r0 -/* 032FE0 80038580 80060818 */ lwz r0, 0x818(r6) -/* 032FE4 80038584 540605EF */ rlwinm. r6, r0, 0, 0x17, 0x17 -/* 032FE8 80038588 41820030 */ beq lbl_800385B8 -/* 032FEC 8003858C 38030040 */ addi r0, r3, 0x40 -/* 032FF0 80038590 7C180214 */ add r0, r24, r0 -/* 032FF4 80038594 7C780050 */ subf r3, r24, r0 -/* 032FF8 80038598 38030004 */ addi r0, r3, 4 -/* 032FFC 8003859C 5403043E */ clrlwi r3, r0, 0x10 -/* 033000 800385A0 38000000 */ li r0, 0 -/* 033004 800385A4 3C6380C3 */ addis r3, r3, 0x80c3 -/* 033008 800385A8 5400103A */ slwi r0, r0, 2 -/* 03300C 800385AC 7C79012E */ stwx r3, r25, r0 -/* 033010 800385B0 38000006 */ li r0, 6 -/* 033014 800385B4 3BE00001 */ li r31, 1 -lbl_800385B8: -/* 033018 800385B8 3C780001 */ addis r3, r24, 1 -/* 03301C 800385BC 80C32060 */ lwz r6, 0x2060(r3) -/* 033020 800385C0 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 033024 800385C4 41820060 */ beq lbl_80038624 -/* 033028 800385C8 54C304E7 */ rlwinm. r3, r6, 0, 0x13, 0x13 -/* 03302C 800385CC 4182002C */ beq lbl_800385F8 -/* 033030 800385D0 5403A814 */ slwi r3, r0, 0x15 -/* 033034 800385D4 64667C00 */ oris r6, r3, 0x7c00 -/* 033038 800385D8 60C60038 */ ori r6, r6, 0x38 -/* 03303C 800385DC 5404801E */ slwi r4, r0, 0x10 -/* 033040 800385E0 7CC42378 */ or r4, r6, r4 -/* 033044 800385E4 57E3103A */ slwi r3, r31, 2 -/* 033048 800385E8 60844800 */ ori r4, r4, 0x4800 -/* 03304C 800385EC 7C99192E */ stwx r4, r25, r3 -/* 033050 800385F0 3BFF0001 */ addi r31, r31, 1 -/* 033054 800385F4 48000030 */ b lbl_80038624 -lbl_800385F8: -/* 033058 800385F8 2804000A */ cmplwi r4, 0xa -/* 03305C 800385FC 41800028 */ blt lbl_80038624 -/* 033060 80038600 5403A814 */ slwi r3, r0, 0x15 -/* 033064 80038604 64667C00 */ oris r6, r3, 0x7c00 -/* 033068 80038608 60C60038 */ ori r6, r6, 0x38 -/* 03306C 8003860C 5404801E */ slwi r4, r0, 0x10 -/* 033070 80038610 7CC42378 */ or r4, r6, r4 -/* 033074 80038614 57E3103A */ slwi r3, r31, 2 -/* 033078 80038618 60844800 */ ori r4, r4, 0x4800 -/* 03307C 8003861C 7C99192E */ stwx r4, r25, r3 -/* 033080 80038620 3BFF0001 */ addi r31, r31, 1 -lbl_80038624: -/* 033084 80038624 5403801E */ slwi r3, r0, 0x10 -/* 033088 80038628 64637CE0 */ oris r3, r3, 0x7ce0 -/* 03308C 8003862C 57E0103A */ slwi r0, r31, 2 -/* 033090 80038630 60634214 */ ori r3, r3, 0x4214 -/* 033094 80038634 7C79012E */ stwx r3, r25, r0 -/* 033098 80038638 54A4A814 */ slwi r4, r5, 0x15 -/* 03309C 8003863C 3BFF0001 */ addi r31, r31, 1 -/* 0330A0 80038640 8061001C */ lwz r3, 0x1c(r1) -/* 0330A4 80038644 57E0103A */ slwi r0, r31, 2 -/* 0330A8 80038648 64848807 */ oris r4, r4, 0x8807 -/* 0330AC 8003864C 80630000 */ lwz r3, 0(r3) -/* 0330B0 80038650 3BFF0001 */ addi r31, r31, 1 -/* 0330B4 80038654 5463043E */ clrlwi r3, r3, 0x10 -/* 0330B8 80038658 7C831B78 */ or r3, r4, r3 -/* 0330BC 8003865C 7C79012E */ stwx r3, r25, r0 -/* 0330C0 80038660 8061001C */ lwz r3, 0x1c(r1) -/* 0330C4 80038664 80030000 */ lwz r0, 0(r3) -/* 0330C8 80038668 540486FE */ rlwinm r4, r0, 0x10, 0x1b, 0x1f -/* 0330CC 8003866C 5400967A */ rlwinm r0, r0, 0x12, 0x19, 0x1d -/* 0330D0 80038670 7C770214 */ add r3, r23, r0 -/* 0330D4 80038674 80030818 */ lwz r0, 0x818(r3) -/* 0330D8 80038678 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 0330DC 8003867C 41820860 */ beq lbl_80038EDC -/* 0330E0 80038680 54831838 */ slwi r3, r4, 3 -/* 0330E4 80038684 38030040 */ addi r0, r3, 0x40 -/* 0330E8 80038688 7C180214 */ add r0, r24, r0 -/* 0330EC 8003868C 7C780050 */ subf r3, r24, r0 -/* 0330F0 80038690 38630004 */ addi r3, r3, 4 -/* 0330F4 80038694 5463043E */ clrlwi r3, r3, 0x10 -/* 0330F8 80038698 57E0103A */ slwi r0, r31, 2 -/* 0330FC 8003869C 3C6390A3 */ addis r3, r3, 0x90a3 -/* 033100 800386A0 7C79012E */ stwx r3, r25, r0 -/* 033104 800386A4 3BFF0001 */ addi r31, r31, 1 -/* 033108 800386A8 48000834 */ b lbl_80038EDC -.global lbl_800386AC -lbl_800386AC: -/* 03310C 800386AC 54E5967A */ rlwinm r5, r7, 0x12, 0x19, 0x1d -/* 033110 800386B0 7CB72A14 */ add r5, r23, r5 -/* 033114 800386B4 80A50818 */ lwz r5, 0x818(r5) -/* 033118 800386B8 54A605EF */ rlwinm. r6, r5, 0, 0x17, 0x17 -/* 03311C 800386BC 41820008 */ beq lbl_800386C4 -/* 033120 800386C0 38A00005 */ li r5, 5 -lbl_800386C4: -/* 033124 800386C4 5400103A */ slwi r0, r0, 2 -/* 033128 800386C8 7CD70214 */ add r6, r23, r0 -/* 03312C 800386CC 80060818 */ lwz r0, 0x818(r6) -/* 033130 800386D0 540605EF */ rlwinm. r6, r0, 0, 0x17, 0x17 -/* 033134 800386D4 41820030 */ beq lbl_80038704 -/* 033138 800386D8 38030040 */ addi r0, r3, 0x40 -/* 03313C 800386DC 7C180214 */ add r0, r24, r0 -/* 033140 800386E0 7C780050 */ subf r3, r24, r0 -/* 033144 800386E4 38030004 */ addi r0, r3, 4 -/* 033148 800386E8 5403043E */ clrlwi r3, r0, 0x10 -/* 03314C 800386EC 38000000 */ li r0, 0 -/* 033150 800386F0 3C6380C3 */ addis r3, r3, 0x80c3 -/* 033154 800386F4 5400103A */ slwi r0, r0, 2 -/* 033158 800386F8 7C79012E */ stwx r3, r25, r0 -/* 03315C 800386FC 38000006 */ li r0, 6 -/* 033160 80038700 3BE00001 */ li r31, 1 -lbl_80038704: -/* 033164 80038704 3C780001 */ addis r3, r24, 1 -/* 033168 80038708 80C32060 */ lwz r6, 0x2060(r3) -/* 03316C 8003870C 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 033170 80038710 41820060 */ beq lbl_80038770 -/* 033174 80038714 54C304E7 */ rlwinm. r3, r6, 0, 0x13, 0x13 -/* 033178 80038718 4182002C */ beq lbl_80038744 -/* 03317C 8003871C 5403A814 */ slwi r3, r0, 0x15 -/* 033180 80038720 64667C00 */ oris r6, r3, 0x7c00 -/* 033184 80038724 60C60038 */ ori r6, r6, 0x38 -/* 033188 80038728 5404801E */ slwi r4, r0, 0x10 -/* 03318C 8003872C 7CC42378 */ or r4, r6, r4 -/* 033190 80038730 57E3103A */ slwi r3, r31, 2 -/* 033194 80038734 60844800 */ ori r4, r4, 0x4800 -/* 033198 80038738 7C99192E */ stwx r4, r25, r3 -/* 03319C 8003873C 3BFF0001 */ addi r31, r31, 1 -/* 0331A0 80038740 48000030 */ b lbl_80038770 -lbl_80038744: -/* 0331A4 80038744 2804000A */ cmplwi r4, 0xa -/* 0331A8 80038748 41800028 */ blt lbl_80038770 -/* 0331AC 8003874C 5403A814 */ slwi r3, r0, 0x15 -/* 0331B0 80038750 64667C00 */ oris r6, r3, 0x7c00 -/* 0331B4 80038754 60C60038 */ ori r6, r6, 0x38 -/* 0331B8 80038758 5404801E */ slwi r4, r0, 0x10 -/* 0331BC 8003875C 7CC42378 */ or r4, r6, r4 -/* 0331C0 80038760 57E3103A */ slwi r3, r31, 2 -/* 0331C4 80038764 60844800 */ ori r4, r4, 0x4800 -/* 0331C8 80038768 7C99192E */ stwx r4, r25, r3 -/* 0331CC 8003876C 3BFF0001 */ addi r31, r31, 1 -lbl_80038770: -/* 0331D0 80038770 5403801E */ slwi r3, r0, 0x10 -/* 0331D4 80038774 64637CE0 */ oris r3, r3, 0x7ce0 -/* 0331D8 80038778 57E0103A */ slwi r0, r31, 2 -/* 0331DC 8003877C 60634214 */ ori r3, r3, 0x4214 -/* 0331E0 80038780 7C79012E */ stwx r3, r25, r0 -/* 0331E4 80038784 54A0A814 */ slwi r0, r5, 0x15 -/* 0331E8 80038788 3BFF0001 */ addi r31, r31, 1 -/* 0331EC 8003878C 8081001C */ lwz r4, 0x1c(r1) -/* 0331F0 80038790 387F0000 */ addi r3, r31, 0 -/* 0331F4 80038794 6407A007 */ oris r7, r0, 0xa007 -/* 0331F8 80038798 80C40000 */ lwz r6, 0(r4) -/* 0331FC 8003879C 64047C00 */ oris r4, r0, 0x7c00 -/* 033200 800387A0 3BFF0001 */ addi r31, r31, 1 -/* 033204 800387A4 54C6043E */ clrlwi r6, r6, 0x10 -/* 033208 800387A8 7CE63378 */ or r6, r7, r6 -/* 03320C 800387AC 5463103A */ slwi r3, r3, 2 -/* 033210 800387B0 7CD9192E */ stwx r6, r25, r3 -/* 033214 800387B4 57E0103A */ slwi r0, r31, 2 -/* 033218 800387B8 60840734 */ ori r4, r4, 0x734 -/* 03321C 800387BC 54A3801E */ slwi r3, r5, 0x10 -/* 033220 800387C0 7C831B78 */ or r3, r4, r3 -/* 033224 800387C4 7C79012E */ stwx r3, r25, r0 -/* 033228 800387C8 3BFF0001 */ addi r31, r31, 1 -/* 03322C 800387CC 8061001C */ lwz r3, 0x1c(r1) -/* 033230 800387D0 80030000 */ lwz r0, 0(r3) -/* 033234 800387D4 540486FE */ rlwinm r4, r0, 0x10, 0x1b, 0x1f -/* 033238 800387D8 5400967A */ rlwinm r0, r0, 0x12, 0x19, 0x1d -/* 03323C 800387DC 7C770214 */ add r3, r23, r0 -/* 033240 800387E0 80030818 */ lwz r0, 0x818(r3) -/* 033244 800387E4 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 033248 800387E8 418206F4 */ beq lbl_80038EDC -/* 03324C 800387EC 54831838 */ slwi r3, r4, 3 -/* 033250 800387F0 38030040 */ addi r0, r3, 0x40 -/* 033254 800387F4 7C180214 */ add r0, r24, r0 -/* 033258 800387F8 7C780050 */ subf r3, r24, r0 -/* 03325C 800387FC 38630004 */ addi r3, r3, 4 -/* 033260 80038800 5463043E */ clrlwi r3, r3, 0x10 -/* 033264 80038804 57E0103A */ slwi r0, r31, 2 -/* 033268 80038808 3C6390A3 */ addis r3, r3, 0x90a3 -/* 03326C 8003880C 7C79012E */ stwx r3, r25, r0 -/* 033270 80038810 3BFF0001 */ addi r31, r31, 1 -/* 033274 80038814 480006C8 */ b lbl_80038EDC -.global lbl_80038818 -lbl_80038818: -/* 033278 80038818 54E5967A */ rlwinm r5, r7, 0x12, 0x19, 0x1d -/* 03327C 8003881C 7CB72A14 */ add r5, r23, r5 -/* 033280 80038820 80A50818 */ lwz r5, 0x818(r5) -/* 033284 80038824 54A605EF */ rlwinm. r6, r5, 0, 0x17, 0x17 -/* 033288 80038828 41820008 */ beq lbl_80038830 -/* 03328C 8003882C 38A00005 */ li r5, 5 -lbl_80038830: -/* 033290 80038830 5400103A */ slwi r0, r0, 2 -/* 033294 80038834 7CD70214 */ add r6, r23, r0 -/* 033298 80038838 80060818 */ lwz r0, 0x818(r6) -/* 03329C 8003883C 540605EF */ rlwinm. r6, r0, 0, 0x17, 0x17 -/* 0332A0 80038840 41820030 */ beq lbl_80038870 -/* 0332A4 80038844 38030040 */ addi r0, r3, 0x40 -/* 0332A8 80038848 7C180214 */ add r0, r24, r0 -/* 0332AC 8003884C 7C780050 */ subf r3, r24, r0 -/* 0332B0 80038850 38030004 */ addi r0, r3, 4 -/* 0332B4 80038854 5403043E */ clrlwi r3, r0, 0x10 -/* 0332B8 80038858 38000000 */ li r0, 0 -/* 0332BC 8003885C 3C6380C3 */ addis r3, r3, 0x80c3 -/* 0332C0 80038860 5400103A */ slwi r0, r0, 2 -/* 0332C4 80038864 7C79012E */ stwx r3, r25, r0 -/* 0332C8 80038868 38000006 */ li r0, 6 -/* 0332CC 8003886C 3BE00001 */ li r31, 1 -lbl_80038870: -/* 0332D0 80038870 3C780001 */ addis r3, r24, 1 -/* 0332D4 80038874 80C32060 */ lwz r6, 0x2060(r3) -/* 0332D8 80038878 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 0332DC 8003887C 41820060 */ beq lbl_800388DC -/* 0332E0 80038880 54C304E7 */ rlwinm. r3, r6, 0, 0x13, 0x13 -/* 0332E4 80038884 4182002C */ beq lbl_800388B0 -/* 0332E8 80038888 5403A814 */ slwi r3, r0, 0x15 -/* 0332EC 8003888C 64667C00 */ oris r6, r3, 0x7c00 -/* 0332F0 80038890 60C60038 */ ori r6, r6, 0x38 -/* 0332F4 80038894 5404801E */ slwi r4, r0, 0x10 -/* 0332F8 80038898 7CC42378 */ or r4, r6, r4 -/* 0332FC 8003889C 57E3103A */ slwi r3, r31, 2 -/* 033300 800388A0 60844800 */ ori r4, r4, 0x4800 -/* 033304 800388A4 7C99192E */ stwx r4, r25, r3 -/* 033308 800388A8 3BFF0001 */ addi r31, r31, 1 -/* 03330C 800388AC 48000030 */ b lbl_800388DC -lbl_800388B0: -/* 033310 800388B0 2804000A */ cmplwi r4, 0xa -/* 033314 800388B4 41800028 */ blt lbl_800388DC -/* 033318 800388B8 5403A814 */ slwi r3, r0, 0x15 -/* 03331C 800388BC 64667C00 */ oris r6, r3, 0x7c00 -/* 033320 800388C0 60C60038 */ ori r6, r6, 0x38 -/* 033324 800388C4 5404801E */ slwi r4, r0, 0x10 -/* 033328 800388C8 7CC42378 */ or r4, r6, r4 -/* 03332C 800388CC 57E3103A */ slwi r3, r31, 2 -/* 033330 800388D0 60844800 */ ori r4, r4, 0x4800 -/* 033334 800388D4 7C99192E */ stwx r4, r25, r3 -/* 033338 800388D8 3BFF0001 */ addi r31, r31, 1 -lbl_800388DC: -/* 03333C 800388DC 5403801E */ slwi r3, r0, 0x10 -/* 033340 800388E0 64637CE0 */ oris r3, r3, 0x7ce0 -/* 033344 800388E4 57E0103A */ slwi r0, r31, 2 -/* 033348 800388E8 60634214 */ ori r3, r3, 0x4214 -/* 03334C 800388EC 7C79012E */ stwx r3, r25, r0 -/* 033350 800388F0 54A4A814 */ slwi r4, r5, 0x15 -/* 033354 800388F4 3BFF0001 */ addi r31, r31, 1 -/* 033358 800388F8 8061001C */ lwz r3, 0x1c(r1) -/* 03335C 800388FC 57E0103A */ slwi r0, r31, 2 -/* 033360 80038900 6484A007 */ oris r4, r4, 0xa007 -/* 033364 80038904 80630000 */ lwz r3, 0(r3) -/* 033368 80038908 3BFF0001 */ addi r31, r31, 1 -/* 03336C 8003890C 5463043E */ clrlwi r3, r3, 0x10 -/* 033370 80038910 7C831B78 */ or r3, r4, r3 -/* 033374 80038914 7C79012E */ stwx r3, r25, r0 -/* 033378 80038918 8061001C */ lwz r3, 0x1c(r1) -/* 03337C 8003891C 80030000 */ lwz r0, 0(r3) -/* 033380 80038920 540486FE */ rlwinm r4, r0, 0x10, 0x1b, 0x1f -/* 033384 80038924 5400967A */ rlwinm r0, r0, 0x12, 0x19, 0x1d -/* 033388 80038928 7C770214 */ add r3, r23, r0 -/* 03338C 8003892C 80030818 */ lwz r0, 0x818(r3) -/* 033390 80038930 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 033394 80038934 418205A8 */ beq lbl_80038EDC -/* 033398 80038938 54831838 */ slwi r3, r4, 3 -/* 03339C 8003893C 38030040 */ addi r0, r3, 0x40 -/* 0333A0 80038940 7C180214 */ add r0, r24, r0 -/* 0333A4 80038944 7C780050 */ subf r3, r24, r0 -/* 0333A8 80038948 38630004 */ addi r3, r3, 4 -/* 0333AC 8003894C 5463043E */ clrlwi r3, r3, 0x10 -/* 0333B0 80038950 57E0103A */ slwi r0, r31, 2 -/* 0333B4 80038954 3C6390A3 */ addis r3, r3, 0x90a3 -/* 0333B8 80038958 7C79012E */ stwx r3, r25, r0 -/* 0333BC 8003895C 3BFF0001 */ addi r31, r31, 1 -/* 0333C0 80038960 4800057C */ b lbl_80038EDC -.global lbl_80038964 -lbl_80038964: -/* 0333C4 80038964 54E5967A */ rlwinm r5, r7, 0x12, 0x19, 0x1d -/* 0333C8 80038968 7CB72A14 */ add r5, r23, r5 -/* 0333CC 8003896C 80A50818 */ lwz r5, 0x818(r5) -/* 0333D0 80038970 54A605EF */ rlwinm. r6, r5, 0, 0x17, 0x17 -/* 0333D4 80038974 41820008 */ beq lbl_8003897C -/* 0333D8 80038978 38A00005 */ li r5, 5 -lbl_8003897C: -/* 0333DC 8003897C 5400103A */ slwi r0, r0, 2 -/* 0333E0 80038980 7CD70214 */ add r6, r23, r0 -/* 0333E4 80038984 80060818 */ lwz r0, 0x818(r6) -/* 0333E8 80038988 540605EF */ rlwinm. r6, r0, 0, 0x17, 0x17 -/* 0333EC 8003898C 41820030 */ beq lbl_800389BC -/* 0333F0 80038990 38030040 */ addi r0, r3, 0x40 -/* 0333F4 80038994 7C180214 */ add r0, r24, r0 -/* 0333F8 80038998 7C780050 */ subf r3, r24, r0 -/* 0333FC 8003899C 38030004 */ addi r0, r3, 4 -/* 033400 800389A0 5403043E */ clrlwi r3, r0, 0x10 -/* 033404 800389A4 38000000 */ li r0, 0 -/* 033408 800389A8 3C6380C3 */ addis r3, r3, 0x80c3 -/* 03340C 800389AC 5400103A */ slwi r0, r0, 2 -/* 033410 800389B0 7C79012E */ stwx r3, r25, r0 -/* 033414 800389B4 38000006 */ li r0, 6 -/* 033418 800389B8 3BE00001 */ li r31, 1 -lbl_800389BC: -/* 03341C 800389BC 3C780001 */ addis r3, r24, 1 -/* 033420 800389C0 80C32060 */ lwz r6, 0x2060(r3) -/* 033424 800389C4 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 033428 800389C8 41820060 */ beq lbl_80038A28 -/* 03342C 800389CC 54C304E7 */ rlwinm. r3, r6, 0, 0x13, 0x13 -/* 033430 800389D0 4182002C */ beq lbl_800389FC -/* 033434 800389D4 5403A814 */ slwi r3, r0, 0x15 -/* 033438 800389D8 64667C00 */ oris r6, r3, 0x7c00 -/* 03343C 800389DC 60C60038 */ ori r6, r6, 0x38 -/* 033440 800389E0 5404801E */ slwi r4, r0, 0x10 -/* 033444 800389E4 7CC42378 */ or r4, r6, r4 -/* 033448 800389E8 57E3103A */ slwi r3, r31, 2 -/* 03344C 800389EC 60844800 */ ori r4, r4, 0x4800 -/* 033450 800389F0 7C99192E */ stwx r4, r25, r3 -/* 033454 800389F4 3BFF0001 */ addi r31, r31, 1 -/* 033458 800389F8 48000030 */ b lbl_80038A28 -lbl_800389FC: -/* 03345C 800389FC 2804000A */ cmplwi r4, 0xa -/* 033460 80038A00 41800028 */ blt lbl_80038A28 -/* 033464 80038A04 5403A814 */ slwi r3, r0, 0x15 -/* 033468 80038A08 64667C00 */ oris r6, r3, 0x7c00 -/* 03346C 80038A0C 60C60038 */ ori r6, r6, 0x38 -/* 033470 80038A10 5404801E */ slwi r4, r0, 0x10 -/* 033474 80038A14 7CC42378 */ or r4, r6, r4 -/* 033478 80038A18 57E3103A */ slwi r3, r31, 2 -/* 03347C 80038A1C 60844800 */ ori r4, r4, 0x4800 -/* 033480 80038A20 7C99192E */ stwx r4, r25, r3 -/* 033484 80038A24 3BFF0001 */ addi r31, r31, 1 -lbl_80038A28: -/* 033488 80038A28 5403801E */ slwi r3, r0, 0x10 -/* 03348C 80038A2C 64637CE0 */ oris r3, r3, 0x7ce0 -/* 033490 80038A30 57E0103A */ slwi r0, r31, 2 -/* 033494 80038A34 60634214 */ ori r3, r3, 0x4214 -/* 033498 80038A38 7C79012E */ stwx r3, r25, r0 -/* 03349C 80038A3C 54A4A814 */ slwi r4, r5, 0x15 -/* 0334A0 80038A40 3BFF0001 */ addi r31, r31, 1 -/* 0334A4 80038A44 8061001C */ lwz r3, 0x1c(r1) -/* 0334A8 80038A48 57E0103A */ slwi r0, r31, 2 -/* 0334AC 80038A4C 64848007 */ oris r4, r4, 0x8007 -/* 0334B0 80038A50 80630000 */ lwz r3, 0(r3) -/* 0334B4 80038A54 3BFF0001 */ addi r31, r31, 1 -/* 0334B8 80038A58 5463043E */ clrlwi r3, r3, 0x10 -/* 0334BC 80038A5C 7C831B78 */ or r3, r4, r3 -/* 0334C0 80038A60 7C79012E */ stwx r3, r25, r0 -/* 0334C4 80038A64 8061001C */ lwz r3, 0x1c(r1) -/* 0334C8 80038A68 80030000 */ lwz r0, 0(r3) -/* 0334CC 80038A6C 540486FE */ rlwinm r4, r0, 0x10, 0x1b, 0x1f -/* 0334D0 80038A70 5400967A */ rlwinm r0, r0, 0x12, 0x19, 0x1d -/* 0334D4 80038A74 7C770214 */ add r3, r23, r0 -/* 0334D8 80038A78 80030818 */ lwz r0, 0x818(r3) -/* 0334DC 80038A7C 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 0334E0 80038A80 4182045C */ beq lbl_80038EDC -/* 0334E4 80038A84 54831838 */ slwi r3, r4, 3 -/* 0334E8 80038A88 38030040 */ addi r0, r3, 0x40 -/* 0334EC 80038A8C 7C180214 */ add r0, r24, r0 -/* 0334F0 80038A90 7C780050 */ subf r3, r24, r0 -/* 0334F4 80038A94 38630004 */ addi r3, r3, 4 -/* 0334F8 80038A98 5463043E */ clrlwi r3, r3, 0x10 -/* 0334FC 80038A9C 57E0103A */ slwi r0, r31, 2 -/* 033500 80038AA0 3C6390A3 */ addis r3, r3, 0x90a3 -/* 033504 80038AA4 7C79012E */ stwx r3, r25, r0 -/* 033508 80038AA8 3BFF0001 */ addi r31, r31, 1 -/* 03350C 80038AAC 48000430 */ b lbl_80038EDC -.global lbl_80038AB0 -lbl_80038AB0: -/* 033510 80038AB0 54E0967A */ rlwinm r0, r7, 0x12, 0x19, 0x1d -/* 033514 80038AB4 7C770214 */ add r3, r23, r0 -/* 033518 80038AB8 80030818 */ lwz r0, 0x818(r3) -/* 03351C 80038ABC 54E586FE */ rlwinm r5, r7, 0x10, 0x1b, 0x1f -/* 033520 80038AC0 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 033524 80038AC4 41820034 */ beq lbl_80038AF8 -/* 033528 80038AC8 54A31838 */ slwi r3, r5, 3 -/* 03352C 80038ACC 38030040 */ addi r0, r3, 0x40 -/* 033530 80038AD0 7C180214 */ add r0, r24, r0 -/* 033534 80038AD4 7C780050 */ subf r3, r24, r0 -/* 033538 80038AD8 38030004 */ addi r0, r3, 4 -/* 03353C 80038ADC 5403043E */ clrlwi r3, r0, 0x10 -/* 033540 80038AE0 38000000 */ li r0, 0 -/* 033544 80038AE4 3C6380C3 */ addis r3, r3, 0x80c3 -/* 033548 80038AE8 5400103A */ slwi r0, r0, 2 -/* 03354C 80038AEC 7C79012E */ stwx r3, r25, r0 -/* 033550 80038AF0 38000006 */ li r0, 6 -/* 033554 80038AF4 3BE00001 */ li r31, 1 -lbl_80038AF8: -/* 033558 80038AF8 8061001C */ lwz r3, 0x1c(r1) -/* 03355C 80038AFC 80630000 */ lwz r3, 0(r3) -/* 033560 80038B00 54665EFE */ rlwinm r6, r3, 0xb, 0x1b, 0x1f -/* 033564 80038B04 54636E7A */ rlwinm r3, r3, 0xd, 0x19, 0x1d -/* 033568 80038B08 7C771A14 */ add r3, r23, r3 -/* 03356C 80038B0C 80630818 */ lwz r3, 0x818(r3) -/* 033570 80038B10 546505EF */ rlwinm. r5, r3, 0, 0x17, 0x17 -/* 033574 80038B14 41820030 */ beq lbl_80038B44 -/* 033578 80038B18 54C31838 */ slwi r3, r6, 3 -/* 03357C 80038B1C 38630040 */ addi r3, r3, 0x40 -/* 033580 80038B20 7C781A14 */ add r3, r24, r3 -/* 033584 80038B24 7C781850 */ subf r3, r24, r3 -/* 033588 80038B28 38A30004 */ addi r5, r3, 4 -/* 03358C 80038B2C 54A5043E */ clrlwi r5, r5, 0x10 -/* 033590 80038B30 57E3103A */ slwi r3, r31, 2 -/* 033594 80038B34 3CA580E3 */ addis r5, r5, 0x80e3 -/* 033598 80038B38 7CB9192E */ stwx r5, r25, r3 -/* 03359C 80038B3C 38600007 */ li r3, 7 -/* 0335A0 80038B40 3BFF0001 */ addi r31, r31, 1 -lbl_80038B44: -/* 0335A4 80038B44 3CB80001 */ addis r5, r24, 1 -/* 0335A8 80038B48 80C52060 */ lwz r6, 0x2060(r5) -/* 0335AC 80038B4C 54C505EF */ rlwinm. r5, r6, 0, 0x17, 0x17 -/* 0335B0 80038B50 41820060 */ beq lbl_80038BB0 -/* 0335B4 80038B54 54C504E7 */ rlwinm. r5, r6, 0, 0x13, 0x13 -/* 0335B8 80038B58 4182002C */ beq lbl_80038B84 -/* 0335BC 80038B5C 5464A814 */ slwi r4, r3, 0x15 -/* 0335C0 80038B60 64867C00 */ oris r6, r4, 0x7c00 -/* 0335C4 80038B64 60C60038 */ ori r6, r6, 0x38 -/* 0335C8 80038B68 5465801E */ slwi r5, r3, 0x10 -/* 0335CC 80038B6C 7CC52B78 */ or r5, r6, r5 -/* 0335D0 80038B70 57E4103A */ slwi r4, r31, 2 -/* 0335D4 80038B74 60A54800 */ ori r5, r5, 0x4800 -/* 0335D8 80038B78 7CB9212E */ stwx r5, r25, r4 -/* 0335DC 80038B7C 3BFF0001 */ addi r31, r31, 1 -/* 0335E0 80038B80 48000030 */ b lbl_80038BB0 -lbl_80038B84: -/* 0335E4 80038B84 2804000A */ cmplwi r4, 0xa -/* 0335E8 80038B88 41800028 */ blt lbl_80038BB0 -/* 0335EC 80038B8C 5464A814 */ slwi r4, r3, 0x15 -/* 0335F0 80038B90 64867C00 */ oris r6, r4, 0x7c00 -/* 0335F4 80038B94 60C60038 */ ori r6, r6, 0x38 -/* 0335F8 80038B98 5465801E */ slwi r5, r3, 0x10 -/* 0335FC 80038B9C 7CC52B78 */ or r5, r6, r5 -/* 033600 80038BA0 57E4103A */ slwi r4, r31, 2 -/* 033604 80038BA4 60A54800 */ ori r5, r5, 0x4800 -/* 033608 80038BA8 7CB9212E */ stwx r5, r25, r4 -/* 03360C 80038BAC 3BFF0001 */ addi r31, r31, 1 -lbl_80038BB0: -/* 033610 80038BB0 5464801E */ slwi r4, r3, 0x10 -/* 033614 80038BB4 64847CE0 */ oris r4, r4, 0x7ce0 -/* 033618 80038BB8 57E3103A */ slwi r3, r31, 2 -/* 03361C 80038BBC 60844214 */ ori r4, r4, 0x4214 -/* 033620 80038BC0 7C99192E */ stwx r4, r25, r3 -/* 033624 80038BC4 5400A814 */ slwi r0, r0, 0x15 -/* 033628 80038BC8 3BFF0001 */ addi r31, r31, 1 -/* 03362C 80038BCC 8081001C */ lwz r4, 0x1c(r1) -/* 033630 80038BD0 64059807 */ oris r5, r0, 0x9807 -/* 033634 80038BD4 57E0103A */ slwi r0, r31, 2 -/* 033638 80038BD8 80840000 */ lwz r4, 0(r4) -/* 03363C 80038BDC 3BFF0001 */ addi r31, r31, 1 -/* 033640 80038BE0 5483043E */ clrlwi r3, r4, 0x10 -/* 033644 80038BE4 7CA31B78 */ or r3, r5, r3 -/* 033648 80038BE8 7C79012E */ stwx r3, r25, r0 -/* 03364C 80038BEC 480002F0 */ b lbl_80038EDC -.global lbl_80038BF0 -lbl_80038BF0: -/* 033650 80038BF0 54E0967A */ rlwinm r0, r7, 0x12, 0x19, 0x1d -/* 033654 80038BF4 7C770214 */ add r3, r23, r0 -/* 033658 80038BF8 80030818 */ lwz r0, 0x818(r3) -/* 03365C 80038BFC 54E586FE */ rlwinm r5, r7, 0x10, 0x1b, 0x1f -/* 033660 80038C00 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 033664 80038C04 41820034 */ beq lbl_80038C38 -/* 033668 80038C08 54A31838 */ slwi r3, r5, 3 -/* 03366C 80038C0C 38030040 */ addi r0, r3, 0x40 -/* 033670 80038C10 7C180214 */ add r0, r24, r0 -/* 033674 80038C14 7C780050 */ subf r3, r24, r0 -/* 033678 80038C18 38030004 */ addi r0, r3, 4 -/* 03367C 80038C1C 5403043E */ clrlwi r3, r0, 0x10 -/* 033680 80038C20 38000000 */ li r0, 0 -/* 033684 80038C24 3C6380C3 */ addis r3, r3, 0x80c3 -/* 033688 80038C28 5400103A */ slwi r0, r0, 2 -/* 03368C 80038C2C 7C79012E */ stwx r3, r25, r0 -/* 033690 80038C30 38000006 */ li r0, 6 -/* 033694 80038C34 3BE00001 */ li r31, 1 -lbl_80038C38: -/* 033698 80038C38 8061001C */ lwz r3, 0x1c(r1) -/* 03369C 80038C3C 80630000 */ lwz r3, 0(r3) -/* 0336A0 80038C40 54665EFE */ rlwinm r6, r3, 0xb, 0x1b, 0x1f -/* 0336A4 80038C44 54636E7A */ rlwinm r3, r3, 0xd, 0x19, 0x1d -/* 0336A8 80038C48 7C771A14 */ add r3, r23, r3 -/* 0336AC 80038C4C 80630818 */ lwz r3, 0x818(r3) -/* 0336B0 80038C50 546505EF */ rlwinm. r5, r3, 0, 0x17, 0x17 -/* 0336B4 80038C54 41820030 */ beq lbl_80038C84 -/* 0336B8 80038C58 54C31838 */ slwi r3, r6, 3 -/* 0336BC 80038C5C 38630040 */ addi r3, r3, 0x40 -/* 0336C0 80038C60 7C781A14 */ add r3, r24, r3 -/* 0336C4 80038C64 7C781850 */ subf r3, r24, r3 -/* 0336C8 80038C68 38A30004 */ addi r5, r3, 4 -/* 0336CC 80038C6C 54A5043E */ clrlwi r5, r5, 0x10 -/* 0336D0 80038C70 57E3103A */ slwi r3, r31, 2 -/* 0336D4 80038C74 3CA580E3 */ addis r5, r5, 0x80e3 -/* 0336D8 80038C78 7CB9192E */ stwx r5, r25, r3 -/* 0336DC 80038C7C 38600007 */ li r3, 7 -/* 0336E0 80038C80 3BFF0001 */ addi r31, r31, 1 -lbl_80038C84: -/* 0336E4 80038C84 3CB80001 */ addis r5, r24, 1 -/* 0336E8 80038C88 80C52060 */ lwz r6, 0x2060(r5) -/* 0336EC 80038C8C 54C505EF */ rlwinm. r5, r6, 0, 0x17, 0x17 -/* 0336F0 80038C90 41820060 */ beq lbl_80038CF0 -/* 0336F4 80038C94 54C504E7 */ rlwinm. r5, r6, 0, 0x13, 0x13 -/* 0336F8 80038C98 4182002C */ beq lbl_80038CC4 -/* 0336FC 80038C9C 5464A814 */ slwi r4, r3, 0x15 -/* 033700 80038CA0 64867C00 */ oris r6, r4, 0x7c00 -/* 033704 80038CA4 60C60038 */ ori r6, r6, 0x38 -/* 033708 80038CA8 5465801E */ slwi r5, r3, 0x10 -/* 03370C 80038CAC 7CC52B78 */ or r5, r6, r5 -/* 033710 80038CB0 57E4103A */ slwi r4, r31, 2 -/* 033714 80038CB4 60A54800 */ ori r5, r5, 0x4800 -/* 033718 80038CB8 7CB9212E */ stwx r5, r25, r4 -/* 03371C 80038CBC 3BFF0001 */ addi r31, r31, 1 -/* 033720 80038CC0 48000030 */ b lbl_80038CF0 -lbl_80038CC4: -/* 033724 80038CC4 2804000A */ cmplwi r4, 0xa -/* 033728 80038CC8 41800028 */ blt lbl_80038CF0 -/* 03372C 80038CCC 5464A814 */ slwi r4, r3, 0x15 -/* 033730 80038CD0 64867C00 */ oris r6, r4, 0x7c00 -/* 033734 80038CD4 60C60038 */ ori r6, r6, 0x38 -/* 033738 80038CD8 5465801E */ slwi r5, r3, 0x10 -/* 03373C 80038CDC 7CC52B78 */ or r5, r6, r5 -/* 033740 80038CE0 57E4103A */ slwi r4, r31, 2 -/* 033744 80038CE4 60A54800 */ ori r5, r5, 0x4800 -/* 033748 80038CE8 7CB9212E */ stwx r5, r25, r4 -/* 03374C 80038CEC 3BFF0001 */ addi r31, r31, 1 -lbl_80038CF0: -/* 033750 80038CF0 5464801E */ slwi r4, r3, 0x10 -/* 033754 80038CF4 64847CE0 */ oris r4, r4, 0x7ce0 -/* 033758 80038CF8 57E3103A */ slwi r3, r31, 2 -/* 03375C 80038CFC 60844214 */ ori r4, r4, 0x4214 -/* 033760 80038D00 7C99192E */ stwx r4, r25, r3 -/* 033764 80038D04 5400A814 */ slwi r0, r0, 0x15 -/* 033768 80038D08 3BFF0001 */ addi r31, r31, 1 -/* 03376C 80038D0C 8081001C */ lwz r4, 0x1c(r1) -/* 033770 80038D10 6405B007 */ oris r5, r0, 0xb007 -/* 033774 80038D14 57E0103A */ slwi r0, r31, 2 -/* 033778 80038D18 80840000 */ lwz r4, 0(r4) -/* 03377C 80038D1C 3BFF0001 */ addi r31, r31, 1 -/* 033780 80038D20 5483043E */ clrlwi r3, r4, 0x10 -/* 033784 80038D24 7CA31B78 */ or r3, r5, r3 -/* 033788 80038D28 7C79012E */ stwx r3, r25, r0 -/* 03378C 80038D2C 480001B0 */ b lbl_80038EDC -.global lbl_80038D30 -lbl_80038D30: -/* 033790 80038D30 54E0967A */ rlwinm r0, r7, 0x12, 0x19, 0x1d -/* 033794 80038D34 7C770214 */ add r3, r23, r0 -/* 033798 80038D38 80030818 */ lwz r0, 0x818(r3) -/* 03379C 80038D3C 54E586FE */ rlwinm r5, r7, 0x10, 0x1b, 0x1f -/* 0337A0 80038D40 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0337A4 80038D44 41820034 */ beq lbl_80038D78 -/* 0337A8 80038D48 54A31838 */ slwi r3, r5, 3 -/* 0337AC 80038D4C 38030040 */ addi r0, r3, 0x40 -/* 0337B0 80038D50 7C180214 */ add r0, r24, r0 -/* 0337B4 80038D54 7C780050 */ subf r3, r24, r0 -/* 0337B8 80038D58 38030004 */ addi r0, r3, 4 -/* 0337BC 80038D5C 5403043E */ clrlwi r3, r0, 0x10 -/* 0337C0 80038D60 38000000 */ li r0, 0 -/* 0337C4 80038D64 3C6380C3 */ addis r3, r3, 0x80c3 -/* 0337C8 80038D68 5400103A */ slwi r0, r0, 2 -/* 0337CC 80038D6C 7C79012E */ stwx r3, r25, r0 -/* 0337D0 80038D70 38000006 */ li r0, 6 -/* 0337D4 80038D74 3BE00001 */ li r31, 1 -lbl_80038D78: -/* 0337D8 80038D78 8061001C */ lwz r3, 0x1c(r1) -/* 0337DC 80038D7C 80630000 */ lwz r3, 0(r3) -/* 0337E0 80038D80 54665EFE */ rlwinm r6, r3, 0xb, 0x1b, 0x1f -/* 0337E4 80038D84 54636E7A */ rlwinm r3, r3, 0xd, 0x19, 0x1d -/* 0337E8 80038D88 7C771A14 */ add r3, r23, r3 -/* 0337EC 80038D8C 80630818 */ lwz r3, 0x818(r3) -/* 0337F0 80038D90 546505EF */ rlwinm. r5, r3, 0, 0x17, 0x17 -/* 0337F4 80038D94 41820030 */ beq lbl_80038DC4 -/* 0337F8 80038D98 54C31838 */ slwi r3, r6, 3 -/* 0337FC 80038D9C 38630040 */ addi r3, r3, 0x40 -/* 033800 80038DA0 7C781A14 */ add r3, r24, r3 -/* 033804 80038DA4 7C781850 */ subf r3, r24, r3 -/* 033808 80038DA8 38A30004 */ addi r5, r3, 4 -/* 03380C 80038DAC 54A5043E */ clrlwi r5, r5, 0x10 -/* 033810 80038DB0 57E3103A */ slwi r3, r31, 2 -/* 033814 80038DB4 3CA580E3 */ addis r5, r5, 0x80e3 -/* 033818 80038DB8 7CB9192E */ stwx r5, r25, r3 -/* 03381C 80038DBC 38600007 */ li r3, 7 -/* 033820 80038DC0 3BFF0001 */ addi r31, r31, 1 -lbl_80038DC4: -/* 033824 80038DC4 3CB80001 */ addis r5, r24, 1 -/* 033828 80038DC8 80C52060 */ lwz r6, 0x2060(r5) -/* 03382C 80038DCC 54C505EF */ rlwinm. r5, r6, 0, 0x17, 0x17 -/* 033830 80038DD0 41820060 */ beq lbl_80038E30 -/* 033834 80038DD4 54C504E7 */ rlwinm. r5, r6, 0, 0x13, 0x13 -/* 033838 80038DD8 4182002C */ beq lbl_80038E04 -/* 03383C 80038DDC 5464A814 */ slwi r4, r3, 0x15 -/* 033840 80038DE0 64867C00 */ oris r6, r4, 0x7c00 -/* 033844 80038DE4 60C60038 */ ori r6, r6, 0x38 -/* 033848 80038DE8 5465801E */ slwi r5, r3, 0x10 -/* 03384C 80038DEC 7CC52B78 */ or r5, r6, r5 -/* 033850 80038DF0 57E4103A */ slwi r4, r31, 2 -/* 033854 80038DF4 60A54800 */ ori r5, r5, 0x4800 -/* 033858 80038DF8 7CB9212E */ stwx r5, r25, r4 -/* 03385C 80038DFC 3BFF0001 */ addi r31, r31, 1 -/* 033860 80038E00 48000030 */ b lbl_80038E30 -lbl_80038E04: -/* 033864 80038E04 2804000A */ cmplwi r4, 0xa -/* 033868 80038E08 41800028 */ blt lbl_80038E30 -/* 03386C 80038E0C 5464A814 */ slwi r4, r3, 0x15 -/* 033870 80038E10 64867C00 */ oris r6, r4, 0x7c00 -/* 033874 80038E14 60C60038 */ ori r6, r6, 0x38 -/* 033878 80038E18 5465801E */ slwi r5, r3, 0x10 -/* 03387C 80038E1C 7CC52B78 */ or r5, r6, r5 -/* 033880 80038E20 57E4103A */ slwi r4, r31, 2 -/* 033884 80038E24 60A54800 */ ori r5, r5, 0x4800 -/* 033888 80038E28 7CB9212E */ stwx r5, r25, r4 -/* 03388C 80038E2C 3BFF0001 */ addi r31, r31, 1 -lbl_80038E30: -/* 033890 80038E30 5464801E */ slwi r4, r3, 0x10 -/* 033894 80038E34 64847CE0 */ oris r4, r4, 0x7ce0 -/* 033898 80038E38 57E3103A */ slwi r3, r31, 2 -/* 03389C 80038E3C 60844214 */ ori r4, r4, 0x4214 -/* 0338A0 80038E40 7C99192E */ stwx r4, r25, r3 -/* 0338A4 80038E44 5400A814 */ slwi r0, r0, 0x15 -/* 0338A8 80038E48 3BFF0001 */ addi r31, r31, 1 -/* 0338AC 80038E4C 8081001C */ lwz r4, 0x1c(r1) -/* 0338B0 80038E50 64059007 */ oris r5, r0, 0x9007 -/* 0338B4 80038E54 57E0103A */ slwi r0, r31, 2 -/* 0338B8 80038E58 80840000 */ lwz r4, 0(r4) -/* 0338BC 80038E5C 3BFF0001 */ addi r31, r31, 1 -/* 0338C0 80038E60 5483043E */ clrlwi r3, r4, 0x10 -/* 0338C4 80038E64 7CA31B78 */ or r3, r5, r3 -/* 0338C8 80038E68 7C79012E */ stwx r3, r25, r0 -/* 0338CC 80038E6C 48000070 */ b lbl_80038EDC -.global lbl_80038E70 -lbl_80038E70: -/* 0338D0 80038E70 38770B88 */ addi r3, r23, 0xb88 -/* 0338D4 80038E74 4CC63182 */ crclr 6 -/* 0338D8 80038E78 38801275 */ li r4, 0x1275 -/* 0338DC 80038E7C 38AD857C */ addi r5, r13, D_8013525C@sda21 -/* 0338E0 80038E80 480657F9 */ bl OSPanic -/* 0338E4 80038E84 48000058 */ b lbl_80038EDC -lbl_80038E88: -/* 0338E8 80038E88 56C5843E */ srwi r5, r22, 0x10 -/* 0338EC 80038E8C 38800000 */ li r4, 0 -/* 0338F0 80038E90 56C3043E */ clrlwi r3, r22, 0x10 -/* 0338F4 80038E94 38000001 */ li r0, 1 -/* 0338F8 80038E98 64A53CA0 */ oris r5, r5, 0x3ca0 -/* 0338FC 80038E9C 5484103A */ slwi r4, r4, 2 -/* 033900 80038EA0 3BE00002 */ li r31, 2 -/* 033904 80038EA4 7CB9212E */ stwx r5, r25, r4 -/* 033908 80038EA8 57E4103A */ slwi r4, r31, 2 -/* 03390C 80038EAC 646360A5 */ oris r3, r3, 0x60a5 -/* 033910 80038EB0 5400103A */ slwi r0, r0, 2 -/* 033914 80038EB4 7C79012E */ stwx r3, r25, r0 -/* 033918 80038EB8 7C792214 */ add r3, r25, r4 -/* 03391C 80038EBC 3BA00001 */ li r29, 1 -/* 033920 80038EC0 80180B40 */ lwz r0, 0xb40(r24) -/* 033924 80038EC4 3BE00003 */ li r31, 3 -/* 033928 80038EC8 7C030050 */ subf r0, r3, r0 -/* 03392C 80038ECC 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 033930 80038ED0 64004800 */ oris r0, r0, 0x4800 -/* 033934 80038ED4 60000001 */ ori r0, r0, 1 -/* 033938 80038ED8 7C19212E */ stwx r0, r25, r4 -lbl_80038EDC: -/* 03393C 80038EDC 3C780001 */ addis r3, r24, 1 -/* 033940 80038EE0 80032060 */ lwz r0, 0x2060(r3) -/* 033944 80038EE4 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 033948 80038EE8 418200D8 */ beq lbl_80038FC0 -/* 03394C 80038EEC 201F0006 */ subfic r0, r31, 6 -/* 033950 80038EF0 2C000002 */ cmpwi r0, 2 -/* 033954 80038EF4 41800028 */ blt lbl_80038F1C -/* 033958 80038EF8 57E4103A */ slwi r4, r31, 2 -/* 03395C 80038EFC 7C792214 */ add r3, r25, r4 -/* 033960 80038F00 38190018 */ addi r0, r25, 0x18 -/* 033964 80038F04 7C030050 */ subf r0, r3, r0 -/* 033968 80038F08 5400043E */ clrlwi r0, r0, 0x10 -/* 03396C 80038F0C 64004800 */ oris r0, r0, 0x4800 -/* 033970 80038F10 3BDF0000 */ addi r30, r31, 0 -/* 033974 80038F14 7C19212E */ stwx r0, r25, r4 -/* 033978 80038F18 3BFF0001 */ addi r31, r31, 1 -lbl_80038F1C: -/* 03397C 80038F1C 2C1F0005 */ cmpwi r31, 5 -/* 033980 80038F20 207F0006 */ subfic r3, r31, 6 -/* 033984 80038F24 3C806000 */ lis r4, 0x6000 -/* 033988 80038F28 41810090 */ bgt lbl_80038FB8 -/* 03398C 80038F2C 5460E8FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 033990 80038F30 7C0903A6 */ mtctr r0 -/* 033994 80038F34 41820070 */ beq lbl_80038FA4 -lbl_80038F38: -/* 033998 80038F38 57E0103A */ slwi r0, r31, 2 -/* 03399C 80038F3C 7C99012E */ stwx r4, r25, r0 -/* 0339A0 80038F40 3BFF0001 */ addi r31, r31, 1 -/* 0339A4 80038F44 57E0103A */ slwi r0, r31, 2 -/* 0339A8 80038F48 7C99012E */ stwx r4, r25, r0 -/* 0339AC 80038F4C 3BFF0001 */ addi r31, r31, 1 -/* 0339B0 80038F50 57E0103A */ slwi r0, r31, 2 -/* 0339B4 80038F54 7C99012E */ stwx r4, r25, r0 -/* 0339B8 80038F58 3BFF0001 */ addi r31, r31, 1 -/* 0339BC 80038F5C 57E0103A */ slwi r0, r31, 2 -/* 0339C0 80038F60 7C99012E */ stwx r4, r25, r0 -/* 0339C4 80038F64 3BFF0001 */ addi r31, r31, 1 -/* 0339C8 80038F68 57E0103A */ slwi r0, r31, 2 -/* 0339CC 80038F6C 7C99012E */ stwx r4, r25, r0 -/* 0339D0 80038F70 3BFF0001 */ addi r31, r31, 1 -/* 0339D4 80038F74 57E0103A */ slwi r0, r31, 2 -/* 0339D8 80038F78 7C99012E */ stwx r4, r25, r0 -/* 0339DC 80038F7C 3BFF0001 */ addi r31, r31, 1 -/* 0339E0 80038F80 57E0103A */ slwi r0, r31, 2 -/* 0339E4 80038F84 7C99012E */ stwx r4, r25, r0 -/* 0339E8 80038F88 3BFF0001 */ addi r31, r31, 1 -/* 0339EC 80038F8C 57E0103A */ slwi r0, r31, 2 -/* 0339F0 80038F90 7C99012E */ stwx r4, r25, r0 -/* 0339F4 80038F94 3BFF0001 */ addi r31, r31, 1 -/* 0339F8 80038F98 4200FFA0 */ bdnz lbl_80038F38 -/* 0339FC 80038F9C 70630007 */ andi. r3, r3, 7 -/* 033A00 80038FA0 41820018 */ beq lbl_80038FB8 -lbl_80038FA4: -/* 033A04 80038FA4 7C6903A6 */ mtctr r3 -lbl_80038FA8: -/* 033A08 80038FA8 57E0103A */ slwi r0, r31, 2 -/* 033A0C 80038FAC 7C99012E */ stwx r4, r25, r0 -/* 033A10 80038FB0 3BFF0001 */ addi r31, r31, 1 -/* 033A14 80038FB4 4200FFF4 */ bdnz lbl_80038FA8 -lbl_80038FB8: -/* 033A18 80038FB8 3AE00006 */ li r23, 6 -/* 033A1C 80038FBC 480000D4 */ b lbl_80039090 -lbl_80038FC0: -/* 033A20 80038FC0 201F0005 */ subfic r0, r31, 5 -/* 033A24 80038FC4 2C000002 */ cmpwi r0, 2 -/* 033A28 80038FC8 41800028 */ blt lbl_80038FF0 -/* 033A2C 80038FCC 57E4103A */ slwi r4, r31, 2 -/* 033A30 80038FD0 7C792214 */ add r3, r25, r4 -/* 033A34 80038FD4 38190014 */ addi r0, r25, 0x14 -/* 033A38 80038FD8 7C030050 */ subf r0, r3, r0 -/* 033A3C 80038FDC 5400043E */ clrlwi r0, r0, 0x10 -/* 033A40 80038FE0 64004800 */ oris r0, r0, 0x4800 -/* 033A44 80038FE4 3BDF0000 */ addi r30, r31, 0 -/* 033A48 80038FE8 7C19212E */ stwx r0, r25, r4 -/* 033A4C 80038FEC 3BFF0001 */ addi r31, r31, 1 -lbl_80038FF0: -/* 033A50 80038FF0 2C1F0004 */ cmpwi r31, 4 -/* 033A54 80038FF4 207F0005 */ subfic r3, r31, 5 -/* 033A58 80038FF8 3C806000 */ lis r4, 0x6000 -/* 033A5C 80038FFC 41810090 */ bgt lbl_8003908C -/* 033A60 80039000 5460E8FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 033A64 80039004 7C0903A6 */ mtctr r0 -/* 033A68 80039008 41820070 */ beq lbl_80039078 -lbl_8003900C: -/* 033A6C 8003900C 57E0103A */ slwi r0, r31, 2 -/* 033A70 80039010 7C99012E */ stwx r4, r25, r0 -/* 033A74 80039014 3BFF0001 */ addi r31, r31, 1 -/* 033A78 80039018 57E0103A */ slwi r0, r31, 2 -/* 033A7C 8003901C 7C99012E */ stwx r4, r25, r0 -/* 033A80 80039020 3BFF0001 */ addi r31, r31, 1 -/* 033A84 80039024 57E0103A */ slwi r0, r31, 2 -/* 033A88 80039028 7C99012E */ stwx r4, r25, r0 -/* 033A8C 8003902C 3BFF0001 */ addi r31, r31, 1 -/* 033A90 80039030 57E0103A */ slwi r0, r31, 2 -/* 033A94 80039034 7C99012E */ stwx r4, r25, r0 -/* 033A98 80039038 3BFF0001 */ addi r31, r31, 1 -/* 033A9C 8003903C 57E0103A */ slwi r0, r31, 2 -/* 033AA0 80039040 7C99012E */ stwx r4, r25, r0 -/* 033AA4 80039044 3BFF0001 */ addi r31, r31, 1 -/* 033AA8 80039048 57E0103A */ slwi r0, r31, 2 -/* 033AAC 8003904C 7C99012E */ stwx r4, r25, r0 -/* 033AB0 80039050 3BFF0001 */ addi r31, r31, 1 -/* 033AB4 80039054 57E0103A */ slwi r0, r31, 2 -/* 033AB8 80039058 7C99012E */ stwx r4, r25, r0 -/* 033ABC 8003905C 3BFF0001 */ addi r31, r31, 1 -/* 033AC0 80039060 57E0103A */ slwi r0, r31, 2 -/* 033AC4 80039064 7C99012E */ stwx r4, r25, r0 -/* 033AC8 80039068 3BFF0001 */ addi r31, r31, 1 -/* 033ACC 8003906C 4200FFA0 */ bdnz lbl_8003900C -/* 033AD0 80039070 70630007 */ andi. r3, r3, 7 -/* 033AD4 80039074 41820018 */ beq lbl_8003908C -lbl_80039078: -/* 033AD8 80039078 7C6903A6 */ mtctr r3 -lbl_8003907C: -/* 033ADC 8003907C 57E0103A */ slwi r0, r31, 2 -/* 033AE0 80039080 7C99012E */ stwx r4, r25, r0 -/* 033AE4 80039084 3BFF0001 */ addi r31, r31, 1 -/* 033AE8 80039088 4200FFF4 */ bdnz lbl_8003907C -lbl_8003908C: -/* 033AEC 8003908C 3AE00005 */ li r23, 5 -lbl_80039090: -/* 033AF0 80039090 2C1D0000 */ cmpwi r29, 0 -/* 033AF4 80039094 40820090 */ bne lbl_80039124 -/* 033AF8 80039098 807C0000 */ lwz r3, 0(r28) -/* 033AFC 8003909C 3C03C740 */ addis r0, r3, 0xc740 -/* 033B00 800390A0 28000000 */ cmplwi r0, 0 -/* 033B04 800390A4 40820080 */ bne lbl_80039124 -/* 033B08 800390A8 801C0004 */ lwz r0, 4(r28) -/* 033B0C 800390AC 7C00D000 */ cmpw r0, r26 -/* 033B10 800390B0 40820074 */ bne lbl_80039124 -/* 033B14 800390B4 381C0008 */ addi r0, r28, 8 -/* 033B18 800390B8 7C1C0050 */ subf r0, r28, r0 -/* 033B1C 800390BC 5400043E */ clrlwi r0, r0, 0x10 -/* 033B20 800390C0 64004800 */ oris r0, r0, 0x4800 -/* 033B24 800390C4 901C0000 */ stw r0, 0(r28) -/* 033B28 800390C8 3C006000 */ lis r0, 0x6000 -/* 033B2C 800390CC 387C0000 */ addi r3, r28, 0 -/* 033B30 800390D0 901C0004 */ stw r0, 4(r28) -/* 033B34 800390D4 38800008 */ li r4, 8 -/* 033B38 800390D8 480646D5 */ bl DCStoreRange -/* 033B3C 800390DC 387C0000 */ addi r3, r28, 0 -/* 033B40 800390E0 38800008 */ li r4, 8 -/* 033B44 800390E4 48064751 */ bl ICInvalidateRange -/* 033B48 800390E8 2C1E0000 */ cmpwi r30, 0 -/* 033B4C 800390EC 41820020 */ beq lbl_8003910C -/* 033B50 800390F0 57C0103A */ slwi r0, r30, 2 -/* 033B54 800390F4 7C790214 */ add r3, r25, r0 -/* 033B58 800390F8 381B0008 */ addi r0, r27, 8 -/* 033B5C 800390FC 7C030050 */ subf r0, r3, r0 -/* 033B60 80039100 5400043E */ clrlwi r0, r0, 0x10 -/* 033B64 80039104 64004800 */ oris r0, r0, 0x4800 -/* 033B68 80039108 90030000 */ stw r0, 0(r3) -lbl_8003910C: -/* 033B6C 8003910C 3C606000 */ lis r3, 0x6000 -/* 033B70 80039110 907B0000 */ stw r3, 0(r27) -/* 033B74 80039114 3800FFFF */ li r0, -1 -/* 033B78 80039118 3AF70002 */ addi r23, r23, 2 -/* 033B7C 8003911C 907B0004 */ stw r3, 4(r27) -/* 033B80 80039120 9018002C */ stw r0, 0x2c(r24) -lbl_80039124: -/* 033B84 80039124 56F6103A */ slwi r22, r23, 2 -/* 033B88 80039128 38790000 */ addi r3, r25, 0 -/* 033B8C 8003912C 38960000 */ addi r4, r22, 0 -/* 033B90 80039130 4806467D */ bl DCStoreRange -/* 033B94 80039134 38790000 */ addi r3, r25, 0 -/* 033B98 80039138 38960000 */ addi r4, r22, 0 -/* 033B9C 8003913C 480646F9 */ bl ICInvalidateRange -/* 033BA0 80039140 7F23CB78 */ mr r3, r25 -/* 033BA4 80039144 BAC10020 */ lmw r22, 0x20(r1) -/* 033BA8 80039148 8001004C */ lwz r0, 0x4c(r1) -/* 033BAC 8003914C 38210048 */ addi r1, r1, 0x48 -/* 033BB0 80039150 7C0803A6 */ mtlr r0 -/* 033BB4 80039154 4E800020 */ blr - -.section .data - -jtbl_800EC228: - .word lbl_800383F4 - .word lbl_800386AC - .word lbl_80038E70 - .word lbl_80038964 - .word lbl_80038560 - .word lbl_80038818 - .word lbl_80038E70 - .word lbl_80038E70 - .word lbl_80038AB0 - .word lbl_80038BF0 - .word lbl_80038E70 - .word lbl_80038D30 diff --git a/asm/non_matchings/cpu/cpuExecuteLoadStoreF.s b/asm/non_matchings/cpu/cpuExecuteLoadStoreF.s deleted file mode 100644 index a9917c5e..00000000 --- a/asm/non_matchings/cpu/cpuExecuteLoadStoreF.s +++ /dev/null @@ -1,799 +0,0 @@ -glabel cpuExecuteLoadStoreF -/* 0321FC 8003779C 7C0802A6 */ mflr r0 -/* 032200 800377A0 3CE0800F */ lis r7, gClassCPU@ha -/* 032204 800377A4 90010004 */ stw r0, 4(r1) -/* 032208 800377A8 9421FFB8 */ stwu r1, -0x48(r1) -/* 03220C 800377AC BEC10020 */ stmw r22, 0x20(r1) -/* 032210 800377B0 7C7F1B78 */ mr r31, r3 -/* 032214 800377B4 381F002C */ addi r0, r31, 0x2c -/* 032218 800377B8 7C9F0050 */ subf r4, r31, r0 -/* 03221C 800377BC 3B260000 */ addi r25, r6, 0 -/* 032220 800377C0 3F0490C3 */ addis r24, r4, 0x90c3 -/* 032224 800377C4 3AC50000 */ addi r22, r5, 0 -/* 032228 800377C8 3BC7B658 */ addi r30, r7, gClassCPU@l -/* 03222C 800377CC 3881001C */ addi r4, r1, 0x1c -/* 032230 800377D0 3BA00000 */ li r29, 0 -/* 032234 800377D4 3B800000 */ li r28, 0 -/* 032238 800377D8 3B600000 */ li r27, 0 -/* 03223C 800377DC 38C00000 */ li r6, 0 -/* 032240 800377E0 80630008 */ lwz r3, 8(r3) -/* 032244 800377E4 8063002C */ lwz r3, 0x2c(r3) -/* 032248 800377E8 480358B9 */ bl ramGetBuffer -/* 03224C 800377EC 8081001C */ lwz r4, 0x1c(r1) -/* 032250 800377F0 3C7F0001 */ addis r3, r31, 1 -/* 032254 800377F4 80032060 */ lwz r0, 0x2060(r3) -/* 032258 800377F8 81040000 */ lwz r8, 0(r4) -/* 03225C 800377FC 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 032260 80037800 55037638 */ rlwinm r3, r8, 0xe, 0x18, 0x1c -/* 032264 80037804 7CDF1A14 */ add r6, r31, r3 -/* 032268 80037808 5505043E */ clrlwi r5, r8, 0x10 -/* 03226C 8003780C 80C60044 */ lwz r6, 0x44(r6) -/* 032270 80037810 7CA50734 */ extsh r5, r5 -/* 032274 80037814 7CC62A14 */ add r6, r6, r5 -/* 032278 80037818 54C5843E */ srwi r5, r6, 0x10 -/* 03227C 8003781C 7CBF2A14 */ add r5, r31, r5 -/* 032280 80037820 88A50F64 */ lbz r5, 0xf64(r5) -/* 032284 80037824 55005EFE */ rlwinm r0, r8, 0xb, 0x1b, 0x1f -/* 032288 80037828 41820018 */ beq lbl_80037840 -/* 03228C 8003782C 3899FFF4 */ addi r4, r25, -12 -/* 032290 80037830 3AE40000 */ addi r23, r4, 0 -/* 032294 80037834 3B44FFF8 */ addi r26, r4, -8 -/* 032298 80037838 3B390010 */ addi r25, r25, 0x10 -/* 03229C 8003783C 48000014 */ b lbl_80037850 -lbl_80037840: -/* 0322A0 80037840 3899FFF4 */ addi r4, r25, -12 -/* 0322A4 80037844 3AE40000 */ addi r23, r4, 0 -/* 0322A8 80037848 3B44FFF8 */ addi r26, r4, -8 -/* 0322AC 8003784C 3B39000C */ addi r25, r25, 0xc -lbl_80037850: -/* 0322B0 80037850 54C4273E */ srwi r4, r6, 0x1c -/* 0322B4 80037854 28040008 */ cmplwi r4, 8 -/* 0322B8 80037858 40800008 */ bge lbl_80037860 -/* 0322BC 8003785C 3B600001 */ li r27, 1 -lbl_80037860: -/* 0322C0 80037860 2C1B0000 */ cmpwi r27, 0 -/* 0322C4 80037864 408207C4 */ bne lbl_80038028 -/* 0322C8 80037868 28050080 */ cmplwi r5, 0x80 -/* 0322CC 8003786C 418007BC */ blt lbl_80038028 -/* 0322D0 80037870 550536BE */ srwi r5, r8, 0x1a -/* 0322D4 80037874 38E5FFCF */ addi r7, r5, -49 -/* 0322D8 80037878 2807000E */ cmplwi r7, 0xe -/* 0322DC 8003787C 550586FE */ rlwinm r5, r8, 0x10, 0x1b, 0x1f -/* 0322E0 80037880 41810790 */ bgt lbl_80038010 -/* 0322E4 80037884 3CC0800F */ lis r6, jtbl_800EC1EC@ha -/* 0322E8 80037888 38C6C1EC */ addi r6, r6, jtbl_800EC1EC@l -/* 0322EC 8003788C 54E7103A */ slwi r7, r7, 2 -/* 0322F0 80037890 7CC6382E */ lwzx r6, r6, r7 -/* 0322F4 80037894 7CC903A6 */ mtctr r6 -/* 0322F8 80037898 4E800420 */ bctr -.global lbl_8003789C -lbl_8003789C: -/* 0322FC 8003789C 5400103A */ slwi r0, r0, 2 -/* 032300 800378A0 7CDE0214 */ add r6, r30, r0 -/* 032304 800378A4 80C60818 */ lwz r6, 0x818(r6) -/* 032308 800378A8 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 03230C 800378AC 41820030 */ beq lbl_800378DC -/* 032310 800378B0 38030040 */ addi r0, r3, 0x40 -/* 032314 800378B4 7C1F0214 */ add r0, r31, r0 -/* 032318 800378B8 7C7F0050 */ subf r3, r31, r0 -/* 03231C 800378BC 38030004 */ addi r0, r3, 4 -/* 032320 800378C0 5403043E */ clrlwi r3, r0, 0x10 -/* 032324 800378C4 38000000 */ li r0, 0 -/* 032328 800378C8 3C6380C3 */ addis r3, r3, 0x80c3 -/* 03232C 800378CC 5400103A */ slwi r0, r0, 2 -/* 032330 800378D0 7C77012E */ stwx r3, r23, r0 -/* 032334 800378D4 38C00006 */ li r6, 6 -/* 032338 800378D8 3BA00001 */ li r29, 1 -lbl_800378DC: -/* 03233C 800378DC 3C7F0001 */ addis r3, r31, 1 -/* 032340 800378E0 80032060 */ lwz r0, 0x2060(r3) -/* 032344 800378E4 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 032348 800378E8 41820030 */ beq lbl_80037918 -/* 03234C 800378EC 2804000A */ cmplwi r4, 0xa -/* 032350 800378F0 41800028 */ blt lbl_80037918 -/* 032354 800378F4 54C0A814 */ slwi r0, r6, 0x15 -/* 032358 800378F8 64047C00 */ oris r4, r0, 0x7c00 -/* 03235C 800378FC 60840038 */ ori r4, r4, 0x38 -/* 032360 80037900 54C3801E */ slwi r3, r6, 0x10 -/* 032364 80037904 7C831B78 */ or r3, r4, r3 -/* 032368 80037908 57A0103A */ slwi r0, r29, 2 -/* 03236C 8003790C 60634800 */ ori r3, r3, 0x4800 -/* 032370 80037910 7C77012E */ stwx r3, r23, r0 -/* 032374 80037914 3BBD0001 */ addi r29, r29, 1 -lbl_80037918: -/* 032378 80037918 7CA00E70 */ srawi r0, r5, 1 -/* 03237C 8003791C 7C000194 */ addze r0, r0 -/* 032380 80037920 54C4801E */ slwi r4, r6, 0x10 -/* 032384 80037924 5400083C */ slwi r0, r0, 1 -/* 032388 80037928 64847CE0 */ oris r4, r4, 0x7ce0 -/* 03238C 8003792C 7C002810 */ subfc r0, r0, r5 -/* 032390 80037930 2C000001 */ cmpwi r0, 1 -/* 032394 80037934 57A0103A */ slwi r0, r29, 2 -/* 032398 80037938 60844214 */ ori r4, r4, 0x4214 -/* 03239C 8003793C 7C97012E */ stwx r4, r23, r0 -/* 0323A0 80037940 3BBD0001 */ addi r29, r29, 1 -/* 0323A4 80037944 4082004C */ bne lbl_80037990 -/* 0323A8 80037948 8061001C */ lwz r3, 0x1c(r1) -/* 0323AC 8003794C 389D0000 */ addi r4, r29, 0 -/* 0323B0 80037950 3805FFFF */ addi r0, r5, -1 -/* 0323B4 80037954 80A30000 */ lwz r5, 0(r3) -/* 0323B8 80037958 54031838 */ slwi r3, r0, 3 -/* 0323BC 8003795C 38630140 */ addi r3, r3, 0x140 -/* 0323C0 80037960 54A5043E */ clrlwi r5, r5, 0x10 -/* 0323C4 80037964 7C7F1A14 */ add r3, r31, r3 -/* 0323C8 80037968 3BBD0001 */ addi r29, r29, 1 -/* 0323CC 8003796C 7C7F1850 */ subf r3, r31, r3 -/* 0323D0 80037970 57A0103A */ slwi r0, r29, 2 -/* 0323D4 80037974 64A580A7 */ oris r5, r5, 0x80a7 -/* 0323D8 80037978 5484103A */ slwi r4, r4, 2 -/* 0323DC 8003797C 7CB7212E */ stwx r5, r23, r4 -/* 0323E0 80037980 3C6390A3 */ addis r3, r3, 0x90a3 -/* 0323E4 80037984 3BBD0001 */ addi r29, r29, 1 -/* 0323E8 80037988 7C77012E */ stwx r3, r23, r0 -/* 0323EC 8003798C 480006F0 */ b lbl_8003807C -lbl_80037990: -/* 0323F0 80037990 80C1001C */ lwz r6, 0x1c(r1) -/* 0323F4 80037994 54A31838 */ slwi r3, r5, 3 -/* 0323F8 80037998 389D0000 */ addi r4, r29, 0 -/* 0323FC 8003799C 80A60000 */ lwz r5, 0(r6) -/* 032400 800379A0 38030140 */ addi r0, r3, 0x140 -/* 032404 800379A4 7C7F0214 */ add r3, r31, r0 -/* 032408 800379A8 54A5043E */ clrlwi r5, r5, 0x10 -/* 03240C 800379AC 7C7F1850 */ subf r3, r31, r3 -/* 032410 800379B0 3BBD0001 */ addi r29, r29, 1 -/* 032414 800379B4 3C6390A3 */ addis r3, r3, 0x90a3 -/* 032418 800379B8 57A0103A */ slwi r0, r29, 2 -/* 03241C 800379BC 64A580A7 */ oris r5, r5, 0x80a7 -/* 032420 800379C0 5484103A */ slwi r4, r4, 2 -/* 032424 800379C4 7CB7212E */ stwx r5, r23, r4 -/* 032428 800379C8 38630004 */ addi r3, r3, 4 -/* 03242C 800379CC 3BBD0001 */ addi r29, r29, 1 -/* 032430 800379D0 7C77012E */ stwx r3, r23, r0 -/* 032434 800379D4 480006A8 */ b lbl_8003807C -.global lbl_800379D8 -lbl_800379D8: -/* 032438 800379D8 5400103A */ slwi r0, r0, 2 -/* 03243C 800379DC 7CDE0214 */ add r6, r30, r0 -/* 032440 800379E0 80C60818 */ lwz r6, 0x818(r6) -/* 032444 800379E4 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 032448 800379E8 41820030 */ beq lbl_80037A18 -/* 03244C 800379EC 38030040 */ addi r0, r3, 0x40 -/* 032450 800379F0 7C1F0214 */ add r0, r31, r0 -/* 032454 800379F4 7C7F0050 */ subf r3, r31, r0 -/* 032458 800379F8 38030004 */ addi r0, r3, 4 -/* 03245C 800379FC 5403043E */ clrlwi r3, r0, 0x10 -/* 032460 80037A00 38000000 */ li r0, 0 -/* 032464 80037A04 3C6380C3 */ addis r3, r3, 0x80c3 -/* 032468 80037A08 5400103A */ slwi r0, r0, 2 -/* 03246C 80037A0C 7C77012E */ stwx r3, r23, r0 -/* 032470 80037A10 38C00006 */ li r6, 6 -/* 032474 80037A14 3BA00001 */ li r29, 1 -lbl_80037A18: -/* 032478 80037A18 3C7F0001 */ addis r3, r31, 1 -/* 03247C 80037A1C 80032060 */ lwz r0, 0x2060(r3) -/* 032480 80037A20 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 032484 80037A24 41820030 */ beq lbl_80037A54 -/* 032488 80037A28 2804000A */ cmplwi r4, 0xa -/* 03248C 80037A2C 41800028 */ blt lbl_80037A54 -/* 032490 80037A30 54C0A814 */ slwi r0, r6, 0x15 -/* 032494 80037A34 64047C00 */ oris r4, r0, 0x7c00 -/* 032498 80037A38 60840038 */ ori r4, r4, 0x38 -/* 03249C 80037A3C 54C3801E */ slwi r3, r6, 0x10 -/* 0324A0 80037A40 7C831B78 */ or r3, r4, r3 -/* 0324A4 80037A44 57A0103A */ slwi r0, r29, 2 -/* 0324A8 80037A48 60634800 */ ori r3, r3, 0x4800 -/* 0324AC 80037A4C 7C77012E */ stwx r3, r23, r0 -/* 0324B0 80037A50 3BBD0001 */ addi r29, r29, 1 -lbl_80037A54: -/* 0324B4 80037A54 7CA00E70 */ srawi r0, r5, 1 -/* 0324B8 80037A58 7C000194 */ addze r0, r0 -/* 0324BC 80037A5C 54C4801E */ slwi r4, r6, 0x10 -/* 0324C0 80037A60 5400083C */ slwi r0, r0, 1 -/* 0324C4 80037A64 64847CE0 */ oris r4, r4, 0x7ce0 -/* 0324C8 80037A68 7C002810 */ subfc r0, r0, r5 -/* 0324CC 80037A6C 2C000001 */ cmpwi r0, 1 -/* 0324D0 80037A70 57A0103A */ slwi r0, r29, 2 -/* 0324D4 80037A74 60844214 */ ori r4, r4, 0x4214 -/* 0324D8 80037A78 7C97012E */ stwx r4, r23, r0 -/* 0324DC 80037A7C 3BBD0001 */ addi r29, r29, 1 -/* 0324E0 80037A80 4082002C */ bne lbl_80037AAC -/* 0324E4 80037A84 3805FFFF */ addi r0, r5, -1 -/* 0324E8 80037A88 54031838 */ slwi r3, r0, 3 -/* 0324EC 80037A8C 38030140 */ addi r0, r3, 0x140 -/* 0324F0 80037A90 7C7F0214 */ add r3, r31, r0 -/* 0324F4 80037A94 7C7F1850 */ subf r3, r31, r3 -/* 0324F8 80037A98 57A0103A */ slwi r0, r29, 2 -/* 0324FC 80037A9C 3C6380A3 */ addis r3, r3, 0x80a3 -/* 032500 80037AA0 7C77012E */ stwx r3, r23, r0 -/* 032504 80037AA4 3BBD0001 */ addi r29, r29, 1 -/* 032508 80037AA8 48000028 */ b lbl_80037AD0 -lbl_80037AAC: -/* 03250C 80037AAC 54A31838 */ slwi r3, r5, 3 -/* 032510 80037AB0 38030140 */ addi r0, r3, 0x140 -/* 032514 80037AB4 7C1F0214 */ add r0, r31, r0 -/* 032518 80037AB8 7C7F0050 */ subf r3, r31, r0 -/* 03251C 80037ABC 3C6380A3 */ addis r3, r3, 0x80a3 -/* 032520 80037AC0 57A0103A */ slwi r0, r29, 2 -/* 032524 80037AC4 38630004 */ addi r3, r3, 4 -/* 032528 80037AC8 7C77012E */ stwx r3, r23, r0 -/* 03252C 80037ACC 3BBD0001 */ addi r29, r29, 1 -lbl_80037AD0: -/* 032530 80037AD0 8061001C */ lwz r3, 0x1c(r1) -/* 032534 80037AD4 57A0103A */ slwi r0, r29, 2 -/* 032538 80037AD8 3BBD0001 */ addi r29, r29, 1 -/* 03253C 80037ADC 80630000 */ lwz r3, 0(r3) -/* 032540 80037AE0 5463043E */ clrlwi r3, r3, 0x10 -/* 032544 80037AE4 646390A7 */ oris r3, r3, 0x90a7 -/* 032548 80037AE8 7C77012E */ stwx r3, r23, r0 -/* 03254C 80037AEC 48000590 */ b lbl_8003807C -.global lbl_80037AF0 -lbl_80037AF0: -/* 032550 80037AF0 5400103A */ slwi r0, r0, 2 -/* 032554 80037AF4 7CDE0214 */ add r6, r30, r0 -/* 032558 80037AF8 80C60818 */ lwz r6, 0x818(r6) -/* 03255C 80037AFC 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 032560 80037B00 41820030 */ beq lbl_80037B30 -/* 032564 80037B04 38030040 */ addi r0, r3, 0x40 -/* 032568 80037B08 7C1F0214 */ add r0, r31, r0 -/* 03256C 80037B0C 7C7F0050 */ subf r3, r31, r0 -/* 032570 80037B10 38030004 */ addi r0, r3, 4 -/* 032574 80037B14 5403043E */ clrlwi r3, r0, 0x10 -/* 032578 80037B18 38000000 */ li r0, 0 -/* 03257C 80037B1C 3C6380C3 */ addis r3, r3, 0x80c3 -/* 032580 80037B20 5400103A */ slwi r0, r0, 2 -/* 032584 80037B24 7C77012E */ stwx r3, r23, r0 -/* 032588 80037B28 38C00006 */ li r6, 6 -/* 03258C 80037B2C 3BA00001 */ li r29, 1 -lbl_80037B30: -/* 032590 80037B30 3C7F0001 */ addis r3, r31, 1 -/* 032594 80037B34 80032060 */ lwz r0, 0x2060(r3) -/* 032598 80037B38 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 03259C 80037B3C 41820030 */ beq lbl_80037B6C -/* 0325A0 80037B40 2804000A */ cmplwi r4, 0xa -/* 0325A4 80037B44 41800028 */ blt lbl_80037B6C -/* 0325A8 80037B48 54C0A814 */ slwi r0, r6, 0x15 -/* 0325AC 80037B4C 64047C00 */ oris r4, r0, 0x7c00 -/* 0325B0 80037B50 60840038 */ ori r4, r4, 0x38 -/* 0325B4 80037B54 54C3801E */ slwi r3, r6, 0x10 -/* 0325B8 80037B58 7C831B78 */ or r3, r4, r3 -/* 0325BC 80037B5C 57A0103A */ slwi r0, r29, 2 -/* 0325C0 80037B60 60634800 */ ori r3, r3, 0x4800 -/* 0325C4 80037B64 7C77012E */ stwx r3, r23, r0 -/* 0325C8 80037B68 3BBD0001 */ addi r29, r29, 1 -lbl_80037B6C: -/* 0325CC 80037B6C 54C3801E */ slwi r3, r6, 0x10 -/* 0325D0 80037B70 64637CE0 */ oris r3, r3, 0x7ce0 -/* 0325D4 80037B74 57A0103A */ slwi r0, r29, 2 -/* 0325D8 80037B78 60634214 */ ori r3, r3, 0x4214 -/* 0325DC 80037B7C 7C77012E */ stwx r3, r23, r0 -/* 0325E0 80037B80 54A31838 */ slwi r3, r5, 3 -/* 0325E4 80037B84 38030140 */ addi r0, r3, 0x140 -/* 0325E8 80037B88 80C1001C */ lwz r6, 0x1c(r1) -/* 0325EC 80037B8C 3BBD0001 */ addi r29, r29, 1 -/* 0325F0 80037B90 7C7F0214 */ add r3, r31, r0 -/* 0325F4 80037B94 80A60000 */ lwz r5, 0(r6) -/* 0325F8 80037B98 389D0000 */ addi r4, r29, 0 -/* 0325FC 80037B9C 7C7F1850 */ subf r3, r31, r3 -/* 032600 80037BA0 54A5043E */ clrlwi r5, r5, 0x10 -/* 032604 80037BA4 3CC390A3 */ addis r6, r3, 0x90a3 -/* 032608 80037BA8 3BBD0001 */ addi r29, r29, 1 -/* 03260C 80037BAC 57A0103A */ slwi r0, r29, 2 -/* 032610 80037BB0 64A580A7 */ oris r5, r5, 0x80a7 -/* 032614 80037BB4 5483103A */ slwi r3, r4, 2 -/* 032618 80037BB8 7CB7192E */ stwx r5, r23, r3 -/* 03261C 80037BBC 3BBD0001 */ addi r29, r29, 1 -/* 032620 80037BC0 57A4103A */ slwi r4, r29, 2 -/* 032624 80037BC4 7CD7012E */ stwx r6, r23, r0 -/* 032628 80037BC8 3BBD0001 */ addi r29, r29, 1 -/* 03262C 80037BCC 57A0103A */ slwi r0, r29, 2 -/* 032630 80037BD0 8061001C */ lwz r3, 0x1c(r1) -/* 032634 80037BD4 3BBD0001 */ addi r29, r29, 1 -/* 032638 80037BD8 80A30000 */ lwz r5, 0(r3) -/* 03263C 80037BDC 38660004 */ addi r3, r6, 4 -/* 032640 80037BE0 54A5043E */ clrlwi r5, r5, 0x10 -/* 032644 80037BE4 38A50004 */ addi r5, r5, 4 -/* 032648 80037BE8 64A580A7 */ oris r5, r5, 0x80a7 -/* 03264C 80037BEC 7CB7212E */ stwx r5, r23, r4 -/* 032650 80037BF0 7C77012E */ stwx r3, r23, r0 -/* 032654 80037BF4 48000488 */ b lbl_8003807C -.global lbl_80037BF8 -lbl_80037BF8: -/* 032658 80037BF8 5400103A */ slwi r0, r0, 2 -/* 03265C 80037BFC 7CDE0214 */ add r6, r30, r0 -/* 032660 80037C00 80C60818 */ lwz r6, 0x818(r6) -/* 032664 80037C04 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 032668 80037C08 41820030 */ beq lbl_80037C38 -/* 03266C 80037C0C 38030040 */ addi r0, r3, 0x40 -/* 032670 80037C10 7C1F0214 */ add r0, r31, r0 -/* 032674 80037C14 7C7F0050 */ subf r3, r31, r0 -/* 032678 80037C18 38030004 */ addi r0, r3, 4 -/* 03267C 80037C1C 5403043E */ clrlwi r3, r0, 0x10 -/* 032680 80037C20 38000000 */ li r0, 0 -/* 032684 80037C24 3C6380C3 */ addis r3, r3, 0x80c3 -/* 032688 80037C28 5400103A */ slwi r0, r0, 2 -/* 03268C 80037C2C 7C77012E */ stwx r3, r23, r0 -/* 032690 80037C30 38C00006 */ li r6, 6 -/* 032694 80037C34 3BA00001 */ li r29, 1 -lbl_80037C38: -/* 032698 80037C38 3C7F0001 */ addis r3, r31, 1 -/* 03269C 80037C3C 80032060 */ lwz r0, 0x2060(r3) -/* 0326A0 80037C40 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 0326A4 80037C44 41820030 */ beq lbl_80037C74 -/* 0326A8 80037C48 2804000A */ cmplwi r4, 0xa -/* 0326AC 80037C4C 41800028 */ blt lbl_80037C74 -/* 0326B0 80037C50 54C0A814 */ slwi r0, r6, 0x15 -/* 0326B4 80037C54 64047C00 */ oris r4, r0, 0x7c00 -/* 0326B8 80037C58 60840038 */ ori r4, r4, 0x38 -/* 0326BC 80037C5C 54C3801E */ slwi r3, r6, 0x10 -/* 0326C0 80037C60 7C831B78 */ or r3, r4, r3 -/* 0326C4 80037C64 57A0103A */ slwi r0, r29, 2 -/* 0326C8 80037C68 60634800 */ ori r3, r3, 0x4800 -/* 0326CC 80037C6C 7C77012E */ stwx r3, r23, r0 -/* 0326D0 80037C70 3BBD0001 */ addi r29, r29, 1 -lbl_80037C74: -/* 0326D4 80037C74 54C0801E */ slwi r0, r6, 0x10 -/* 0326D8 80037C78 38FD0000 */ addi r7, r29, 0 -/* 0326DC 80037C7C 54A31838 */ slwi r3, r5, 3 -/* 0326E0 80037C80 64087CE0 */ oris r8, r0, 0x7ce0 -/* 0326E4 80037C84 38030140 */ addi r0, r3, 0x140 -/* 0326E8 80037C88 3BBD0001 */ addi r29, r29, 1 -/* 0326EC 80037C8C 389D0000 */ addi r4, r29, 0 -/* 0326F0 80037C90 7C1F0214 */ add r0, r31, r0 -/* 0326F4 80037C94 7C7F0050 */ subf r3, r31, r0 -/* 0326F8 80037C98 61084214 */ ori r8, r8, 0x4214 -/* 0326FC 80037C9C 54E5103A */ slwi r5, r7, 2 -/* 032700 80037CA0 7D17292E */ stwx r8, r23, r5 -/* 032704 80037CA4 3CC380A3 */ addis r6, r3, 0x80a3 -/* 032708 80037CA8 5484103A */ slwi r4, r4, 2 -/* 03270C 80037CAC 7CD7212E */ stwx r6, r23, r4 -/* 032710 80037CB0 38860004 */ addi r4, r6, 4 -/* 032714 80037CB4 3BBD0001 */ addi r29, r29, 1 -/* 032718 80037CB8 387D0000 */ addi r3, r29, 0 -/* 03271C 80037CBC 80C1001C */ lwz r6, 0x1c(r1) -/* 032720 80037CC0 5465103A */ slwi r5, r3, 2 -/* 032724 80037CC4 80C60000 */ lwz r6, 0(r6) -/* 032728 80037CC8 3BBD0001 */ addi r29, r29, 1 -/* 03272C 80037CCC 57A3103A */ slwi r3, r29, 2 -/* 032730 80037CD0 54C6043E */ clrlwi r6, r6, 0x10 -/* 032734 80037CD4 64C690A7 */ oris r6, r6, 0x90a7 -/* 032738 80037CD8 7CD7292E */ stwx r6, r23, r5 -/* 03273C 80037CDC 3BBD0001 */ addi r29, r29, 1 -/* 032740 80037CE0 57A0103A */ slwi r0, r29, 2 -/* 032744 80037CE4 7C97192E */ stwx r4, r23, r3 -/* 032748 80037CE8 3BBD0001 */ addi r29, r29, 1 -/* 03274C 80037CEC 8061001C */ lwz r3, 0x1c(r1) -/* 032750 80037CF0 80630000 */ lwz r3, 0(r3) -/* 032754 80037CF4 5463043E */ clrlwi r3, r3, 0x10 -/* 032758 80037CF8 38630004 */ addi r3, r3, 4 -/* 03275C 80037CFC 646390A7 */ oris r3, r3, 0x90a7 -/* 032760 80037D00 7C77012E */ stwx r3, r23, r0 -/* 032764 80037D04 48000378 */ b lbl_8003807C -.global lbl_80037D08 -lbl_80037D08: -/* 032768 80037D08 54A5103A */ slwi r5, r5, 2 -/* 03276C 80037D0C 7CBE2A14 */ add r5, r30, r5 -/* 032770 80037D10 80A50818 */ lwz r5, 0x818(r5) -/* 032774 80037D14 54A605EF */ rlwinm. r6, r5, 0, 0x17, 0x17 -/* 032778 80037D18 41820008 */ beq lbl_80037D20 -/* 03277C 80037D1C 38A00005 */ li r5, 5 -lbl_80037D20: -/* 032780 80037D20 5400103A */ slwi r0, r0, 2 -/* 032784 80037D24 7CDE0214 */ add r6, r30, r0 -/* 032788 80037D28 80060818 */ lwz r0, 0x818(r6) -/* 03278C 80037D2C 540605EF */ rlwinm. r6, r0, 0, 0x17, 0x17 -/* 032790 80037D30 41820030 */ beq lbl_80037D60 -/* 032794 80037D34 38030040 */ addi r0, r3, 0x40 -/* 032798 80037D38 7C1F0214 */ add r0, r31, r0 -/* 03279C 80037D3C 7C7F0050 */ subf r3, r31, r0 -/* 0327A0 80037D40 38030004 */ addi r0, r3, 4 -/* 0327A4 80037D44 5403043E */ clrlwi r3, r0, 0x10 -/* 0327A8 80037D48 38000000 */ li r0, 0 -/* 0327AC 80037D4C 3C6380C3 */ addis r3, r3, 0x80c3 -/* 0327B0 80037D50 5400103A */ slwi r0, r0, 2 -/* 0327B4 80037D54 7C77012E */ stwx r3, r23, r0 -/* 0327B8 80037D58 38000006 */ li r0, 6 -/* 0327BC 80037D5C 3BA00001 */ li r29, 1 -lbl_80037D60: -/* 0327C0 80037D60 3C7F0001 */ addis r3, r31, 1 -/* 0327C4 80037D64 80C32060 */ lwz r6, 0x2060(r3) -/* 0327C8 80037D68 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 0327CC 80037D6C 41820060 */ beq lbl_80037DCC -/* 0327D0 80037D70 54C304E7 */ rlwinm. r3, r6, 0, 0x13, 0x13 -/* 0327D4 80037D74 4182002C */ beq lbl_80037DA0 -/* 0327D8 80037D78 5403A814 */ slwi r3, r0, 0x15 -/* 0327DC 80037D7C 64667C00 */ oris r6, r3, 0x7c00 -/* 0327E0 80037D80 60C60038 */ ori r6, r6, 0x38 -/* 0327E4 80037D84 5404801E */ slwi r4, r0, 0x10 -/* 0327E8 80037D88 7CC42378 */ or r4, r6, r4 -/* 0327EC 80037D8C 57A3103A */ slwi r3, r29, 2 -/* 0327F0 80037D90 60844800 */ ori r4, r4, 0x4800 -/* 0327F4 80037D94 7C97192E */ stwx r4, r23, r3 -/* 0327F8 80037D98 3BBD0001 */ addi r29, r29, 1 -/* 0327FC 80037D9C 48000030 */ b lbl_80037DCC -lbl_80037DA0: -/* 032800 80037DA0 2804000A */ cmplwi r4, 0xa -/* 032804 80037DA4 41800028 */ blt lbl_80037DCC -/* 032808 80037DA8 5403A814 */ slwi r3, r0, 0x15 -/* 03280C 80037DAC 64667C00 */ oris r6, r3, 0x7c00 -/* 032810 80037DB0 60C60038 */ ori r6, r6, 0x38 -/* 032814 80037DB4 5404801E */ slwi r4, r0, 0x10 -/* 032818 80037DB8 7CC42378 */ or r4, r6, r4 -/* 03281C 80037DBC 57A3103A */ slwi r3, r29, 2 -/* 032820 80037DC0 60844800 */ ori r4, r4, 0x4800 -/* 032824 80037DC4 7C97192E */ stwx r4, r23, r3 -/* 032828 80037DC8 3BBD0001 */ addi r29, r29, 1 -lbl_80037DCC: -/* 03282C 80037DCC 5403801E */ slwi r3, r0, 0x10 -/* 032830 80037DD0 64637CE0 */ oris r3, r3, 0x7ce0 -/* 032834 80037DD4 57A0103A */ slwi r0, r29, 2 -/* 032838 80037DD8 60634214 */ ori r3, r3, 0x4214 -/* 03283C 80037DDC 7C77012E */ stwx r3, r23, r0 -/* 032840 80037DE0 3BBD0001 */ addi r29, r29, 1 -/* 032844 80037DE4 381D0000 */ addi r0, r29, 0 -/* 032848 80037DE8 8061001C */ lwz r3, 0x1c(r1) -/* 03284C 80037DEC 54A7A814 */ slwi r7, r5, 0x15 -/* 032850 80037DF0 3BBD0001 */ addi r29, r29, 1 -/* 032854 80037DF4 80630000 */ lwz r3, 0(r3) -/* 032858 80037DF8 389D0000 */ addi r4, r29, 0 -/* 03285C 80037DFC 5400103A */ slwi r0, r0, 2 -/* 032860 80037E00 5463043E */ clrlwi r3, r3, 0x10 -/* 032864 80037E04 646380A7 */ oris r3, r3, 0x80a7 -/* 032868 80037E08 7C77012E */ stwx r3, r23, r0 -/* 03286C 80037E0C 3BBD0001 */ addi r29, r29, 1 -/* 032870 80037E10 387D0000 */ addi r3, r29, 0 -/* 032874 80037E14 80A1001C */ lwz r5, 0x1c(r1) -/* 032878 80037E18 3BBD0001 */ addi r29, r29, 1 -/* 03287C 80037E1C 57A0103A */ slwi r0, r29, 2 -/* 032880 80037E20 80A50000 */ lwz r5, 0(r5) -/* 032884 80037E24 5484103A */ slwi r4, r4, 2 -/* 032888 80037E28 64E68007 */ oris r6, r7, 0x8007 -/* 03288C 80037E2C 54A59E38 */ rlwinm r5, r5, 0x13, 0x18, 0x1c -/* 032890 80037E30 38A50040 */ addi r5, r5, 0x40 -/* 032894 80037E34 7CBF2A14 */ add r5, r31, r5 -/* 032898 80037E38 7CBF2850 */ subf r5, r31, r5 -/* 03289C 80037E3C 3CA590A3 */ addis r5, r5, 0x90a3 -/* 0328A0 80037E40 7CB7212E */ stwx r5, r23, r4 -/* 0328A4 80037E44 5463103A */ slwi r3, r3, 2 -/* 0328A8 80037E48 64E49003 */ oris r4, r7, 0x9003 -/* 0328AC 80037E4C 80A1001C */ lwz r5, 0x1c(r1) -/* 0328B0 80037E50 3BBD0001 */ addi r29, r29, 1 -/* 0328B4 80037E54 80A50000 */ lwz r5, 0(r5) -/* 0328B8 80037E58 54A5043E */ clrlwi r5, r5, 0x10 -/* 0328BC 80037E5C 38A50004 */ addi r5, r5, 4 -/* 0328C0 80037E60 7CC52B78 */ or r5, r6, r5 -/* 0328C4 80037E64 7CB7192E */ stwx r5, r23, r3 -/* 0328C8 80037E68 8061001C */ lwz r3, 0x1c(r1) -/* 0328CC 80037E6C 80630000 */ lwz r3, 0(r3) -/* 0328D0 80037E70 54639E38 */ rlwinm r3, r3, 0x13, 0x18, 0x1c -/* 0328D4 80037E74 38630040 */ addi r3, r3, 0x40 -/* 0328D8 80037E78 7C7F1A14 */ add r3, r31, r3 -/* 0328DC 80037E7C 7C7F1850 */ subf r3, r31, r3 -/* 0328E0 80037E80 7C632214 */ add r3, r3, r4 -/* 0328E4 80037E84 38630004 */ addi r3, r3, 4 -/* 0328E8 80037E88 7C77012E */ stwx r3, r23, r0 -/* 0328EC 80037E8C 480001F0 */ b lbl_8003807C -.global lbl_80037E90 -lbl_80037E90: -/* 0328F0 80037E90 5400103A */ slwi r0, r0, 2 -/* 0328F4 80037E94 7CBE0214 */ add r5, r30, r0 -/* 0328F8 80037E98 80050818 */ lwz r0, 0x818(r5) -/* 0328FC 80037E9C 540505EF */ rlwinm. r5, r0, 0, 0x17, 0x17 -/* 032900 80037EA0 41820030 */ beq lbl_80037ED0 -/* 032904 80037EA4 38030040 */ addi r0, r3, 0x40 -/* 032908 80037EA8 7C1F0214 */ add r0, r31, r0 -/* 03290C 80037EAC 7C7F0050 */ subf r3, r31, r0 -/* 032910 80037EB0 38030004 */ addi r0, r3, 4 -/* 032914 80037EB4 5403043E */ clrlwi r3, r0, 0x10 -/* 032918 80037EB8 38000000 */ li r0, 0 -/* 03291C 80037EBC 3C6380E3 */ addis r3, r3, 0x80e3 -/* 032920 80037EC0 5400103A */ slwi r0, r0, 2 -/* 032924 80037EC4 7C77012E */ stwx r3, r23, r0 -/* 032928 80037EC8 38000007 */ li r0, 7 -/* 03292C 80037ECC 3BA00001 */ li r29, 1 -lbl_80037ED0: -/* 032930 80037ED0 3C7F0001 */ addis r3, r31, 1 -/* 032934 80037ED4 80A32060 */ lwz r5, 0x2060(r3) -/* 032938 80037ED8 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 03293C 80037EDC 41820060 */ beq lbl_80037F3C -/* 032940 80037EE0 54A304E7 */ rlwinm. r3, r5, 0, 0x13, 0x13 -/* 032944 80037EE4 4182002C */ beq lbl_80037F10 -/* 032948 80037EE8 5403A814 */ slwi r3, r0, 0x15 -/* 03294C 80037EEC 64657C00 */ oris r5, r3, 0x7c00 -/* 032950 80037EF0 60A50038 */ ori r5, r5, 0x38 -/* 032954 80037EF4 5404801E */ slwi r4, r0, 0x10 -/* 032958 80037EF8 7CA42378 */ or r4, r5, r4 -/* 03295C 80037EFC 57A3103A */ slwi r3, r29, 2 -/* 032960 80037F00 60844800 */ ori r4, r4, 0x4800 -/* 032964 80037F04 7C97192E */ stwx r4, r23, r3 -/* 032968 80037F08 3BBD0001 */ addi r29, r29, 1 -/* 03296C 80037F0C 48000030 */ b lbl_80037F3C -lbl_80037F10: -/* 032970 80037F10 2804000A */ cmplwi r4, 0xa -/* 032974 80037F14 41800028 */ blt lbl_80037F3C -/* 032978 80037F18 5403A814 */ slwi r3, r0, 0x15 -/* 03297C 80037F1C 64657C00 */ oris r5, r3, 0x7c00 -/* 032980 80037F20 60A50038 */ ori r5, r5, 0x38 -/* 032984 80037F24 5404801E */ slwi r4, r0, 0x10 -/* 032988 80037F28 7CA42378 */ or r4, r5, r4 -/* 03298C 80037F2C 57A3103A */ slwi r3, r29, 2 -/* 032990 80037F30 60844800 */ ori r4, r4, 0x4800 -/* 032994 80037F34 7C97192E */ stwx r4, r23, r3 -/* 032998 80037F38 3BBD0001 */ addi r29, r29, 1 -lbl_80037F3C: -/* 03299C 80037F3C 5403801E */ slwi r3, r0, 0x10 -/* 0329A0 80037F40 64637CE0 */ oris r3, r3, 0x7ce0 -/* 0329A4 80037F44 57A0103A */ slwi r0, r29, 2 -/* 0329A8 80037F48 60634214 */ ori r3, r3, 0x4214 -/* 0329AC 80037F4C 7C77012E */ stwx r3, r23, r0 -/* 0329B0 80037F50 3BBD0001 */ addi r29, r29, 1 -/* 0329B4 80037F54 387D0000 */ addi r3, r29, 0 -/* 0329B8 80037F58 8081001C */ lwz r4, 0x1c(r1) -/* 0329BC 80037F5C 3BBD0001 */ addi r29, r29, 1 -/* 0329C0 80037F60 57A0103A */ slwi r0, r29, 2 -/* 0329C4 80037F64 80840000 */ lwz r4, 0(r4) -/* 0329C8 80037F68 5463103A */ slwi r3, r3, 2 -/* 0329CC 80037F6C 3BBD0001 */ addi r29, r29, 1 -/* 0329D0 80037F70 54849E38 */ rlwinm r4, r4, 0x13, 0x18, 0x1c -/* 0329D4 80037F74 38840040 */ addi r4, r4, 0x40 -/* 0329D8 80037F78 7C9F2214 */ add r4, r31, r4 -/* 0329DC 80037F7C 7C9F2050 */ subf r4, r31, r4 -/* 0329E0 80037F80 3C8480C3 */ addis r4, r4, 0x80c3 -/* 0329E4 80037F84 7C97192E */ stwx r4, r23, r3 -/* 0329E8 80037F88 8061001C */ lwz r3, 0x1c(r1) -/* 0329EC 80037F8C 80630000 */ lwz r3, 0(r3) -/* 0329F0 80037F90 5463043E */ clrlwi r3, r3, 0x10 -/* 0329F4 80037F94 646390C7 */ oris r3, r3, 0x90c7 -/* 0329F8 80037F98 7C77012E */ stwx r3, r23, r0 -/* 0329FC 80037F9C 8061001C */ lwz r3, 0x1c(r1) -/* 032A00 80037FA0 80030000 */ lwz r0, 0(r3) -/* 032A04 80037FA4 540486FE */ rlwinm r4, r0, 0x10, 0x1b, 0x1f -/* 032A08 80037FA8 5400967A */ rlwinm r0, r0, 0x12, 0x19, 0x1d -/* 032A0C 80037FAC 7C7E0214 */ add r3, r30, r0 -/* 032A10 80037FB0 80A30818 */ lwz r5, 0x818(r3) -/* 032A14 80037FB4 54A005EF */ rlwinm. r0, r5, 0, 0x17, 0x17 -/* 032A18 80037FB8 4182002C */ beq lbl_80037FE4 -/* 032A1C 80037FBC 54831838 */ slwi r3, r4, 3 -/* 032A20 80037FC0 38030040 */ addi r0, r3, 0x40 -/* 032A24 80037FC4 7C1F0214 */ add r0, r31, r0 -/* 032A28 80037FC8 7C7F0050 */ subf r3, r31, r0 -/* 032A2C 80037FCC 3C6380C3 */ addis r3, r3, 0x80c3 -/* 032A30 80037FD0 57A0103A */ slwi r0, r29, 2 -/* 032A34 80037FD4 38630004 */ addi r3, r3, 4 -/* 032A38 80037FD8 7C77012E */ stwx r3, r23, r0 -/* 032A3C 80037FDC 38A00006 */ li r5, 6 -/* 032A40 80037FE0 3BBD0001 */ addi r29, r29, 1 -lbl_80037FE4: -/* 032A44 80037FE4 8061001C */ lwz r3, 0x1c(r1) -/* 032A48 80037FE8 54A4A814 */ slwi r4, r5, 0x15 -/* 032A4C 80037FEC 57A0103A */ slwi r0, r29, 2 -/* 032A50 80037FF0 80630000 */ lwz r3, 0(r3) -/* 032A54 80037FF4 64849007 */ oris r4, r4, 0x9007 -/* 032A58 80037FF8 3BBD0001 */ addi r29, r29, 1 -/* 032A5C 80037FFC 5463043E */ clrlwi r3, r3, 0x10 -/* 032A60 80038000 38630004 */ addi r3, r3, 4 -/* 032A64 80038004 7C831B78 */ or r3, r4, r3 -/* 032A68 80038008 7C77012E */ stwx r3, r23, r0 -/* 032A6C 8003800C 48000070 */ b lbl_8003807C -.global lbl_80038010 -lbl_80038010: -/* 032A70 80038010 387E0B88 */ addi r3, r30, 0xb88 -/* 032A74 80038014 4CC63182 */ crclr 6 -/* 032A78 80038018 3880143D */ li r4, 0x143d -/* 032A7C 8003801C 38AD857C */ addi r5, r13, D_8013525C@sda21 -/* 032A80 80038020 48066659 */ bl OSPanic -/* 032A84 80038024 48000058 */ b lbl_8003807C -lbl_80038028: -/* 032A88 80038028 56C5843E */ srwi r5, r22, 0x10 -/* 032A8C 8003802C 38800000 */ li r4, 0 -/* 032A90 80038030 56C3043E */ clrlwi r3, r22, 0x10 -/* 032A94 80038034 38000001 */ li r0, 1 -/* 032A98 80038038 64A53CA0 */ oris r5, r5, 0x3ca0 -/* 032A9C 8003803C 5484103A */ slwi r4, r4, 2 -/* 032AA0 80038040 3BA00002 */ li r29, 2 -/* 032AA4 80038044 7CB7212E */ stwx r5, r23, r4 -/* 032AA8 80038048 57A4103A */ slwi r4, r29, 2 -/* 032AAC 8003804C 646360A5 */ oris r3, r3, 0x60a5 -/* 032AB0 80038050 5400103A */ slwi r0, r0, 2 -/* 032AB4 80038054 7C77012E */ stwx r3, r23, r0 -/* 032AB8 80038058 7C772214 */ add r3, r23, r4 -/* 032ABC 8003805C 3B600001 */ li r27, 1 -/* 032AC0 80038060 801F0B40 */ lwz r0, 0xb40(r31) -/* 032AC4 80038064 3BA00003 */ li r29, 3 -/* 032AC8 80038068 7C030050 */ subf r0, r3, r0 -/* 032ACC 8003806C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 032AD0 80038070 64004800 */ oris r0, r0, 0x4800 -/* 032AD4 80038074 60000001 */ ori r0, r0, 1 -/* 032AD8 80038078 7C17212E */ stwx r0, r23, r4 -lbl_8003807C: -/* 032ADC 8003807C 3C7F0001 */ addis r3, r31, 1 -/* 032AE0 80038080 80032060 */ lwz r0, 0x2060(r3) -/* 032AE4 80038084 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 032AE8 80038088 418200D8 */ beq lbl_80038160 -/* 032AEC 8003808C 201D0007 */ subfic r0, r29, 7 -/* 032AF0 80038090 2C000002 */ cmpwi r0, 2 -/* 032AF4 80038094 41800028 */ blt lbl_800380BC -/* 032AF8 80038098 57A4103A */ slwi r4, r29, 2 -/* 032AFC 8003809C 7C772214 */ add r3, r23, r4 -/* 032B00 800380A0 3817001C */ addi r0, r23, 0x1c -/* 032B04 800380A4 7C030050 */ subf r0, r3, r0 -/* 032B08 800380A8 5400043E */ clrlwi r0, r0, 0x10 -/* 032B0C 800380AC 64004800 */ oris r0, r0, 0x4800 -/* 032B10 800380B0 3B9D0000 */ addi r28, r29, 0 -/* 032B14 800380B4 7C17212E */ stwx r0, r23, r4 -/* 032B18 800380B8 3BBD0001 */ addi r29, r29, 1 -lbl_800380BC: -/* 032B1C 800380BC 2C1D0006 */ cmpwi r29, 6 -/* 032B20 800380C0 207D0007 */ subfic r3, r29, 7 -/* 032B24 800380C4 3C806000 */ lis r4, 0x6000 -/* 032B28 800380C8 41810090 */ bgt lbl_80038158 -/* 032B2C 800380CC 5460E8FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 032B30 800380D0 7C0903A6 */ mtctr r0 -/* 032B34 800380D4 41820070 */ beq lbl_80038144 -lbl_800380D8: -/* 032B38 800380D8 57A0103A */ slwi r0, r29, 2 -/* 032B3C 800380DC 7C97012E */ stwx r4, r23, r0 -/* 032B40 800380E0 3BBD0001 */ addi r29, r29, 1 -/* 032B44 800380E4 57A0103A */ slwi r0, r29, 2 -/* 032B48 800380E8 7C97012E */ stwx r4, r23, r0 -/* 032B4C 800380EC 3BBD0001 */ addi r29, r29, 1 -/* 032B50 800380F0 57A0103A */ slwi r0, r29, 2 -/* 032B54 800380F4 7C97012E */ stwx r4, r23, r0 -/* 032B58 800380F8 3BBD0001 */ addi r29, r29, 1 -/* 032B5C 800380FC 57A0103A */ slwi r0, r29, 2 -/* 032B60 80038100 7C97012E */ stwx r4, r23, r0 -/* 032B64 80038104 3BBD0001 */ addi r29, r29, 1 -/* 032B68 80038108 57A0103A */ slwi r0, r29, 2 -/* 032B6C 8003810C 7C97012E */ stwx r4, r23, r0 -/* 032B70 80038110 3BBD0001 */ addi r29, r29, 1 -/* 032B74 80038114 57A0103A */ slwi r0, r29, 2 -/* 032B78 80038118 7C97012E */ stwx r4, r23, r0 -/* 032B7C 8003811C 3BBD0001 */ addi r29, r29, 1 -/* 032B80 80038120 57A0103A */ slwi r0, r29, 2 -/* 032B84 80038124 7C97012E */ stwx r4, r23, r0 -/* 032B88 80038128 3BBD0001 */ addi r29, r29, 1 -/* 032B8C 8003812C 57A0103A */ slwi r0, r29, 2 -/* 032B90 80038130 7C97012E */ stwx r4, r23, r0 -/* 032B94 80038134 3BBD0001 */ addi r29, r29, 1 -/* 032B98 80038138 4200FFA0 */ bdnz lbl_800380D8 -/* 032B9C 8003813C 70630007 */ andi. r3, r3, 7 -/* 032BA0 80038140 41820018 */ beq lbl_80038158 -lbl_80038144: -/* 032BA4 80038144 7C6903A6 */ mtctr r3 -lbl_80038148: -/* 032BA8 80038148 57A0103A */ slwi r0, r29, 2 -/* 032BAC 8003814C 7C97012E */ stwx r4, r23, r0 -/* 032BB0 80038150 3BBD0001 */ addi r29, r29, 1 -/* 032BB4 80038154 4200FFF4 */ bdnz lbl_80038148 -lbl_80038158: -/* 032BB8 80038158 3BC00007 */ li r30, 7 -/* 032BBC 8003815C 480000D4 */ b lbl_80038230 -lbl_80038160: -/* 032BC0 80038160 201D0006 */ subfic r0, r29, 6 -/* 032BC4 80038164 2C000002 */ cmpwi r0, 2 -/* 032BC8 80038168 41800028 */ blt lbl_80038190 -/* 032BCC 8003816C 57A4103A */ slwi r4, r29, 2 -/* 032BD0 80038170 7C772214 */ add r3, r23, r4 -/* 032BD4 80038174 38170018 */ addi r0, r23, 0x18 -/* 032BD8 80038178 7C030050 */ subf r0, r3, r0 -/* 032BDC 8003817C 5400043E */ clrlwi r0, r0, 0x10 -/* 032BE0 80038180 64004800 */ oris r0, r0, 0x4800 -/* 032BE4 80038184 3B9D0000 */ addi r28, r29, 0 -/* 032BE8 80038188 7C17212E */ stwx r0, r23, r4 -/* 032BEC 8003818C 3BBD0001 */ addi r29, r29, 1 -lbl_80038190: -/* 032BF0 80038190 2C1D0005 */ cmpwi r29, 5 -/* 032BF4 80038194 207D0006 */ subfic r3, r29, 6 -/* 032BF8 80038198 3C806000 */ lis r4, 0x6000 -/* 032BFC 8003819C 41810090 */ bgt lbl_8003822C -/* 032C00 800381A0 5460E8FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 032C04 800381A4 7C0903A6 */ mtctr r0 -/* 032C08 800381A8 41820070 */ beq lbl_80038218 -lbl_800381AC: -/* 032C0C 800381AC 57A0103A */ slwi r0, r29, 2 -/* 032C10 800381B0 7C97012E */ stwx r4, r23, r0 -/* 032C14 800381B4 3BBD0001 */ addi r29, r29, 1 -/* 032C18 800381B8 57A0103A */ slwi r0, r29, 2 -/* 032C1C 800381BC 7C97012E */ stwx r4, r23, r0 -/* 032C20 800381C0 3BBD0001 */ addi r29, r29, 1 -/* 032C24 800381C4 57A0103A */ slwi r0, r29, 2 -/* 032C28 800381C8 7C97012E */ stwx r4, r23, r0 -/* 032C2C 800381CC 3BBD0001 */ addi r29, r29, 1 -/* 032C30 800381D0 57A0103A */ slwi r0, r29, 2 -/* 032C34 800381D4 7C97012E */ stwx r4, r23, r0 -/* 032C38 800381D8 3BBD0001 */ addi r29, r29, 1 -/* 032C3C 800381DC 57A0103A */ slwi r0, r29, 2 -/* 032C40 800381E0 7C97012E */ stwx r4, r23, r0 -/* 032C44 800381E4 3BBD0001 */ addi r29, r29, 1 -/* 032C48 800381E8 57A0103A */ slwi r0, r29, 2 -/* 032C4C 800381EC 7C97012E */ stwx r4, r23, r0 -/* 032C50 800381F0 3BBD0001 */ addi r29, r29, 1 -/* 032C54 800381F4 57A0103A */ slwi r0, r29, 2 -/* 032C58 800381F8 7C97012E */ stwx r4, r23, r0 -/* 032C5C 800381FC 3BBD0001 */ addi r29, r29, 1 -/* 032C60 80038200 57A0103A */ slwi r0, r29, 2 -/* 032C64 80038204 7C97012E */ stwx r4, r23, r0 -/* 032C68 80038208 3BBD0001 */ addi r29, r29, 1 -/* 032C6C 8003820C 4200FFA0 */ bdnz lbl_800381AC -/* 032C70 80038210 70630007 */ andi. r3, r3, 7 -/* 032C74 80038214 41820018 */ beq lbl_8003822C -lbl_80038218: -/* 032C78 80038218 7C6903A6 */ mtctr r3 -lbl_8003821C: -/* 032C7C 8003821C 57A0103A */ slwi r0, r29, 2 -/* 032C80 80038220 7C97012E */ stwx r4, r23, r0 -/* 032C84 80038224 3BBD0001 */ addi r29, r29, 1 -/* 032C88 80038228 4200FFF4 */ bdnz lbl_8003821C -lbl_8003822C: -/* 032C8C 8003822C 3BC00006 */ li r30, 6 -lbl_80038230: -/* 032C90 80038230 2C1B0000 */ cmpwi r27, 0 -/* 032C94 80038234 40820090 */ bne lbl_800382C4 -/* 032C98 80038238 807A0000 */ lwz r3, 0(r26) -/* 032C9C 8003823C 3C03C740 */ addis r0, r3, 0xc740 -/* 032CA0 80038240 28000000 */ cmplwi r0, 0 -/* 032CA4 80038244 40820080 */ bne lbl_800382C4 -/* 032CA8 80038248 801A0004 */ lwz r0, 4(r26) -/* 032CAC 8003824C 7C00C000 */ cmpw r0, r24 -/* 032CB0 80038250 40820074 */ bne lbl_800382C4 -/* 032CB4 80038254 381A0008 */ addi r0, r26, 8 -/* 032CB8 80038258 7C1A0050 */ subf r0, r26, r0 -/* 032CBC 8003825C 5400043E */ clrlwi r0, r0, 0x10 -/* 032CC0 80038260 64004800 */ oris r0, r0, 0x4800 -/* 032CC4 80038264 901A0000 */ stw r0, 0(r26) -/* 032CC8 80038268 3C006000 */ lis r0, 0x6000 -/* 032CCC 8003826C 387A0000 */ addi r3, r26, 0 -/* 032CD0 80038270 901A0004 */ stw r0, 4(r26) -/* 032CD4 80038274 38800008 */ li r4, 8 -/* 032CD8 80038278 48065535 */ bl DCStoreRange -/* 032CDC 8003827C 387A0000 */ addi r3, r26, 0 -/* 032CE0 80038280 38800008 */ li r4, 8 -/* 032CE4 80038284 480655B1 */ bl ICInvalidateRange -/* 032CE8 80038288 2C1C0000 */ cmpwi r28, 0 -/* 032CEC 8003828C 41820020 */ beq lbl_800382AC -/* 032CF0 80038290 5780103A */ slwi r0, r28, 2 -/* 032CF4 80038294 7C770214 */ add r3, r23, r0 -/* 032CF8 80038298 38190008 */ addi r0, r25, 8 -/* 032CFC 8003829C 7C030050 */ subf r0, r3, r0 -/* 032D00 800382A0 5400043E */ clrlwi r0, r0, 0x10 -/* 032D04 800382A4 64004800 */ oris r0, r0, 0x4800 -/* 032D08 800382A8 90030000 */ stw r0, 0(r3) -lbl_800382AC: -/* 032D0C 800382AC 3C606000 */ lis r3, 0x6000 -/* 032D10 800382B0 90790000 */ stw r3, 0(r25) -/* 032D14 800382B4 3800FFFF */ li r0, -1 -/* 032D18 800382B8 3BDE0002 */ addi r30, r30, 2 -/* 032D1C 800382BC 90790004 */ stw r3, 4(r25) -/* 032D20 800382C0 901F002C */ stw r0, 0x2c(r31) -lbl_800382C4: -/* 032D24 800382C4 57D6103A */ slwi r22, r30, 2 -/* 032D28 800382C8 38770000 */ addi r3, r23, 0 -/* 032D2C 800382CC 38960000 */ addi r4, r22, 0 -/* 032D30 800382D0 480654DD */ bl DCStoreRange -/* 032D34 800382D4 38770000 */ addi r3, r23, 0 -/* 032D38 800382D8 38960000 */ addi r4, r22, 0 -/* 032D3C 800382DC 48065559 */ bl ICInvalidateRange -/* 032D40 800382E0 7EE3BB78 */ mr r3, r23 -/* 032D44 800382E4 BAC10020 */ lmw r22, 0x20(r1) -/* 032D48 800382E8 8001004C */ lwz r0, 0x4c(r1) -/* 032D4C 800382EC 38210048 */ addi r1, r1, 0x48 -/* 032D50 800382F0 7C0803A6 */ mtlr r0 -/* 032D54 800382F4 4E800020 */ blr - -.section .data - -jtbl_800EC1EC: - .word lbl_8003789C - .word lbl_80038010 - .word lbl_80038010 - .word lbl_80038010 - .word lbl_80037AF0 - .word lbl_80038010 - .word lbl_80037D08 - .word lbl_80038010 - .word lbl_800379D8 - .word lbl_80038010 - .word lbl_80038010 - .word lbl_80038010 - .word lbl_80037BF8 - .word lbl_80038010 - .word lbl_80037E90 diff --git a/asm/non_matchings/cpu/cpuExecuteOpcode.s b/asm/non_matchings/cpu/cpuExecuteOpcode.s deleted file mode 100644 index 512c4b1c..00000000 --- a/asm/non_matchings/cpu/cpuExecuteOpcode.s +++ /dev/null @@ -1,5883 +0,0 @@ -glabel cpuExecuteOpcode -/* 033FF4 80039594 7C0802A6 */ mflr r0 -/* 033FF8 80039598 90010004 */ stw r0, 4(r1) -/* 033FFC 8003959C 9421FF48 */ stwu r1, -0xb8(r1) -/* 034000 800395A0 DBE100B0 */ stfd f31, 0xb0(r1) -/* 034004 800395A4 BEC10088 */ stmw r22, 0x88(r1) -/* 034008 800395A8 3BE30000 */ addi r31, r3, 0 -/* 03400C 800395AC 3AC50000 */ addi r22, r5, 0 -/* 034010 800395B0 3B600000 */ li r27, 0 -/* 034014 800395B4 90C10014 */ stw r6, 0x14(r1) -/* 034018 800395B8 48068D09 */ bl OSGetTick -/* 03401C 800395BC 801F002C */ lwz r0, 0x2c(r31) -/* 034020 800395C0 3B030000 */ addi r24, r3, 0 -/* 034024 800395C4 28000000 */ cmplwi r0, 0 -/* 034028 800395C8 41820014 */ beq lbl_800395DC -/* 03402C 800395CC 801F0000 */ lwz r0, 0(r31) -/* 034030 800395D0 60000008 */ ori r0, r0, 8 -/* 034034 800395D4 901F0000 */ stw r0, 0(r31) -/* 034038 800395D8 48000010 */ b lbl_800395E8 -lbl_800395DC: -/* 03403C 800395DC 801F0000 */ lwz r0, 0(r31) -/* 034040 800395E0 54000776 */ rlwinm r0, r0, 0, 0x1d, 0x1b -/* 034044 800395E4 901F0000 */ stw r0, 0(r31) -lbl_800395E8: -/* 034048 800395E8 807F0008 */ lwz r3, 8(r31) -/* 03404C 800395EC 38B60000 */ addi r5, r22, 0 -/* 034050 800395F0 3BBF0F64 */ addi r29, r31, 0xf64 -/* 034054 800395F4 8063002C */ lwz r3, 0x2c(r3) -/* 034058 800395F8 3B9F0B64 */ addi r28, r31, 0xb64 -/* 03405C 800395FC 3881006C */ addi r4, r1, 0x6c -/* 034060 80039600 38C00000 */ li r6, 0 -/* 034064 80039604 48033A9D */ bl ramGetBuffer -/* 034068 80039608 8081006C */ lwz r4, 0x6c(r1) -/* 03406C 8003960C 38760004 */ addi r3, r22, 4 -/* 034070 80039610 83C40000 */ lwz r30, 0(r4) -/* 034074 80039614 3C1E5341 */ addis r0, r30, 0x5341 -/* 034078 80039618 907F0028 */ stw r3, 0x28(r31) -/* 03407C 8003961C 2800011C */ cmplwi r0, 0x11c -/* 034080 80039620 40820018 */ bne lbl_80039638 -/* 034084 80039624 833F0138 */ lwz r25, 0x138(r31) -/* 034088 80039628 3B600001 */ li r27, 1 -/* 03408C 8003962C 835F013C */ lwz r26, 0x13c(r31) -/* 034090 80039630 801F0038 */ lwz r0, 0x38(r31) -/* 034094 80039634 901F013C */ stw r0, 0x13c(r31) -lbl_80039638: -/* 034098 80039638 57C036BE */ srwi r0, r30, 0x1a -/* 03409C 8003963C 2800003F */ cmplwi r0, 0x3f -/* 0340A0 80039640 4181486C */ bgt lbl_8003DEAC -/* 0340A4 80039644 3C60800F */ lis r3, jtbl_800EC84C@ha -/* 0340A8 80039648 3863C84C */ addi r3, r3, jtbl_800EC84C@l -/* 0340AC 8003964C 5400103A */ slwi r0, r0, 2 -/* 0340B0 80039650 7C03002E */ lwzx r0, r3, r0 -/* 0340B4 80039654 7C0903A6 */ mtctr r0 -/* 0340B8 80039658 4E800420 */ bctr -.global lbl_8003965C -lbl_8003965C: -/* 0340BC 8003965C 57C006BE */ clrlwi r0, r30, 0x1a -/* 0340C0 80039660 2800003F */ cmplwi r0, 0x3f -/* 0340C4 80039664 41814848 */ bgt lbl_8003DEAC -/* 0340C8 80039668 3C60800F */ lis r3, jtbl_800EC74C@ha -/* 0340CC 8003966C 3863C74C */ addi r3, r3, jtbl_800EC74C@l -/* 0340D0 80039670 5400103A */ slwi r0, r0, 2 -/* 0340D4 80039674 7C03002E */ lwzx r0, r3, r0 -/* 0340D8 80039678 7C0903A6 */ mtctr r0 -/* 0340DC 8003967C 4E800420 */ bctr -.global lbl_80039680 -lbl_80039680: -/* 0340E0 80039680 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0340E4 80039684 7C7F0214 */ add r3, r31, r0 -/* 0340E8 80039688 80830044 */ lwz r4, 0x44(r3) -/* 0340EC 8003968C 57C3D6FE */ rlwinm r3, r30, 0x1a, 0x1b, 0x1f -/* 0340F0 80039690 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0340F4 80039694 7C841830 */ slw r4, r4, r3 -/* 0340F8 80039698 7C7F0214 */ add r3, r31, r0 -/* 0340FC 8003969C 90830044 */ stw r4, 0x44(r3) -/* 034100 800396A0 4800480C */ b lbl_8003DEAC -.global lbl_800396A4 -lbl_800396A4: -/* 034104 800396A4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034108 800396A8 7C7F0214 */ add r3, r31, r0 -/* 03410C 800396AC 80830044 */ lwz r4, 0x44(r3) -/* 034110 800396B0 57C3D6FE */ rlwinm r3, r30, 0x1a, 0x1b, 0x1f -/* 034114 800396B4 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034118 800396B8 7C841C30 */ srw r4, r4, r3 -/* 03411C 800396BC 7C7F0214 */ add r3, r31, r0 -/* 034120 800396C0 90830044 */ stw r4, 0x44(r3) -/* 034124 800396C4 480047E8 */ b lbl_8003DEAC -.global lbl_800396C8 -lbl_800396C8: -/* 034128 800396C8 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 03412C 800396CC 7C7F0214 */ add r3, r31, r0 -/* 034130 800396D0 80830044 */ lwz r4, 0x44(r3) -/* 034134 800396D4 57C3D6FE */ rlwinm r3, r30, 0x1a, 0x1b, 0x1f -/* 034138 800396D8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03413C 800396DC 7C841E30 */ sraw r4, r4, r3 -/* 034140 800396E0 7C7F0214 */ add r3, r31, r0 -/* 034144 800396E4 90830044 */ stw r4, 0x44(r3) -/* 034148 800396E8 480047C4 */ b lbl_8003DEAC -.global lbl_800396EC -lbl_800396EC: -/* 03414C 800396EC 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034150 800396F0 57C49E38 */ rlwinm r4, r30, 0x13, 0x18, 0x1c -/* 034154 800396F4 7C7F0214 */ add r3, r31, r0 -/* 034158 800396F8 7C9F2214 */ add r4, r31, r4 -/* 03415C 800396FC 80030044 */ lwz r0, 0x44(r3) -/* 034160 80039700 80840044 */ lwz r4, 0x44(r4) -/* 034164 80039704 540306FE */ clrlwi r3, r0, 0x1b -/* 034168 80039708 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03416C 8003970C 7C841830 */ slw r4, r4, r3 -/* 034170 80039710 7C7F0214 */ add r3, r31, r0 -/* 034174 80039714 90830044 */ stw r4, 0x44(r3) -/* 034178 80039718 48004794 */ b lbl_8003DEAC -.global lbl_8003971C -lbl_8003971C: -/* 03417C 8003971C 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034180 80039720 57C49E38 */ rlwinm r4, r30, 0x13, 0x18, 0x1c -/* 034184 80039724 7C7F0214 */ add r3, r31, r0 -/* 034188 80039728 7C9F2214 */ add r4, r31, r4 -/* 03418C 8003972C 80030044 */ lwz r0, 0x44(r3) -/* 034190 80039730 80840044 */ lwz r4, 0x44(r4) -/* 034194 80039734 540306FE */ clrlwi r3, r0, 0x1b -/* 034198 80039738 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03419C 8003973C 7C841C30 */ srw r4, r4, r3 -/* 0341A0 80039740 7C7F0214 */ add r3, r31, r0 -/* 0341A4 80039744 90830044 */ stw r4, 0x44(r3) -/* 0341A8 80039748 48004764 */ b lbl_8003DEAC -.global lbl_8003974C -lbl_8003974C: -/* 0341AC 8003974C 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0341B0 80039750 57C49E38 */ rlwinm r4, r30, 0x13, 0x18, 0x1c -/* 0341B4 80039754 7C7F0214 */ add r3, r31, r0 -/* 0341B8 80039758 7C9F2214 */ add r4, r31, r4 -/* 0341BC 8003975C 80030044 */ lwz r0, 0x44(r3) -/* 0341C0 80039760 80840044 */ lwz r4, 0x44(r4) -/* 0341C4 80039764 540306FE */ clrlwi r3, r0, 0x1b -/* 0341C8 80039768 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0341CC 8003976C 7C841E30 */ sraw r4, r4, r3 -/* 0341D0 80039770 7C7F0214 */ add r3, r31, r0 -/* 0341D4 80039774 90830044 */ stw r4, 0x44(r3) -/* 0341D8 80039778 48004734 */ b lbl_8003DEAC -.global lbl_8003977C -lbl_8003977C: -/* 0341DC 8003977C 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0341E0 80039780 7C7F0214 */ add r3, r31, r0 -/* 0341E4 80039784 80030044 */ lwz r0, 0x44(r3) -/* 0341E8 80039788 901F002C */ stw r0, 0x2c(r31) -/* 0341EC 8003978C 48004720 */ b lbl_8003DEAC -.global lbl_80039790 -lbl_80039790: -/* 0341F0 80039790 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0341F4 80039794 7C7F0214 */ add r3, r31, r0 -/* 0341F8 80039798 80630044 */ lwz r3, 0x44(r3) -/* 0341FC 8003979C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034200 800397A0 907F002C */ stw r3, 0x2c(r31) -/* 034204 800397A4 7C7F0214 */ add r3, r31, r0 -/* 034208 800397A8 38000000 */ li r0, 0 -/* 03420C 800397AC 809F0028 */ lwz r4, 0x28(r31) -/* 034210 800397B0 38840004 */ addi r4, r4, 4 -/* 034214 800397B4 90830044 */ stw r4, 0x44(r3) -/* 034218 800397B8 90030040 */ stw r0, 0x40(r3) -/* 03421C 800397BC 480046F0 */ b lbl_8003DEAC -.global lbl_800397C0 -lbl_800397C0: -/* 034220 800397C0 387F0000 */ addi r3, r31, 0 -/* 034224 800397C4 38800008 */ li r4, 8 -/* 034228 800397C8 38A00000 */ li r5, 0 -/* 03422C 800397CC 4BFFC881 */ bl cpuException -/* 034230 800397D0 480046DC */ b lbl_8003DEAC -.global lbl_800397D4 -lbl_800397D4: -/* 034234 800397D4 387F0000 */ addi r3, r31, 0 -/* 034238 800397D8 38800009 */ li r4, 9 -/* 03423C 800397DC 38A00000 */ li r5, 0 -/* 034240 800397E0 4BFFC86D */ bl cpuException -/* 034244 800397E4 480046C8 */ b lbl_8003DEAC -.global lbl_800397E8 -lbl_800397E8: -/* 034248 800397E8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03424C 800397EC 809F0018 */ lwz r4, 0x18(r31) -/* 034250 800397F0 80BF001C */ lwz r5, 0x1c(r31) -/* 034254 800397F4 7C7F0214 */ add r3, r31, r0 -/* 034258 800397F8 90A30044 */ stw r5, 0x44(r3) -/* 03425C 800397FC 90830040 */ stw r4, 0x40(r3) -/* 034260 80039800 480046AC */ b lbl_8003DEAC -.global lbl_80039804 -lbl_80039804: -/* 034264 80039804 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034268 80039808 7C7F0214 */ add r3, r31, r0 -/* 03426C 8003980C 80030040 */ lwz r0, 0x40(r3) -/* 034270 80039810 80630044 */ lwz r3, 0x44(r3) -/* 034274 80039814 907F001C */ stw r3, 0x1c(r31) -/* 034278 80039818 901F0018 */ stw r0, 0x18(r31) -/* 03427C 8003981C 48004690 */ b lbl_8003DEAC -.global lbl_80039820 -lbl_80039820: -/* 034280 80039820 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034284 80039824 809F0010 */ lwz r4, 0x10(r31) -/* 034288 80039828 80BF0014 */ lwz r5, 0x14(r31) -/* 03428C 8003982C 7C7F0214 */ add r3, r31, r0 -/* 034290 80039830 90A30044 */ stw r5, 0x44(r3) -/* 034294 80039834 90830040 */ stw r4, 0x40(r3) -/* 034298 80039838 48004674 */ b lbl_8003DEAC -.global lbl_8003983C -lbl_8003983C: -/* 03429C 8003983C 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0342A0 80039840 7C7F0214 */ add r3, r31, r0 -/* 0342A4 80039844 80030040 */ lwz r0, 0x40(r3) -/* 0342A8 80039848 80630044 */ lwz r3, 0x44(r3) -/* 0342AC 8003984C 907F0014 */ stw r3, 0x14(r31) -/* 0342B0 80039850 901F0010 */ stw r0, 0x10(r31) -/* 0342B4 80039854 48004658 */ b lbl_8003DEAC -.global lbl_80039858 -lbl_80039858: -/* 0342B8 80039858 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0342BC 8003985C 7C7F0214 */ add r3, r31, r0 -/* 0342C0 80039860 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0342C4 80039864 80A30044 */ lwz r5, 0x44(r3) -/* 0342C8 80039868 7C9F0214 */ add r4, r31, r0 -/* 0342CC 8003986C 80640040 */ lwz r3, 0x40(r4) -/* 0342D0 80039870 3800003F */ li r0, 0x3f -/* 0342D4 80039874 80840044 */ lwz r4, 0x44(r4) -/* 0342D8 80039878 7CA50038 */ and r5, r5, r0 -/* 0342DC 8003987C 480944C9 */ bl __shl2i -/* 0342E0 80039880 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0342E4 80039884 7CBF0214 */ add r5, r31, r0 -/* 0342E8 80039888 90850044 */ stw r4, 0x44(r5) -/* 0342EC 8003988C 90650040 */ stw r3, 0x40(r5) -/* 0342F0 80039890 4800461C */ b lbl_8003DEAC -.global lbl_80039894 -lbl_80039894: -/* 0342F4 80039894 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0342F8 80039898 7C7F0214 */ add r3, r31, r0 -/* 0342FC 8003989C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034300 800398A0 80A30044 */ lwz r5, 0x44(r3) -/* 034304 800398A4 7C9F0214 */ add r4, r31, r0 -/* 034308 800398A8 80640040 */ lwz r3, 0x40(r4) -/* 03430C 800398AC 3800003F */ li r0, 0x3f -/* 034310 800398B0 80840044 */ lwz r4, 0x44(r4) -/* 034314 800398B4 7CA50038 */ and r5, r5, r0 -/* 034318 800398B8 480944B1 */ bl __shr2u -/* 03431C 800398BC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034320 800398C0 7CBF0214 */ add r5, r31, r0 -/* 034324 800398C4 90850044 */ stw r4, 0x44(r5) -/* 034328 800398C8 90650040 */ stw r3, 0x40(r5) -/* 03432C 800398CC 480045E0 */ b lbl_8003DEAC -.global lbl_800398D0 -lbl_800398D0: -/* 034330 800398D0 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034334 800398D4 7C7F0214 */ add r3, r31, r0 -/* 034338 800398D8 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 03433C 800398DC 80A30044 */ lwz r5, 0x44(r3) -/* 034340 800398E0 7C9F0214 */ add r4, r31, r0 -/* 034344 800398E4 80640040 */ lwz r3, 0x40(r4) -/* 034348 800398E8 3800003F */ li r0, 0x3f -/* 03434C 800398EC 80840044 */ lwz r4, 0x44(r4) -/* 034350 800398F0 7CA50038 */ and r5, r5, r0 -/* 034354 800398F4 48094499 */ bl __shr2i -/* 034358 800398F8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03435C 800398FC 7CBF0214 */ add r5, r31, r0 -/* 034360 80039900 90850044 */ stw r4, 0x44(r5) -/* 034364 80039904 90650040 */ stw r3, 0x40(r5) -/* 034368 80039908 480045A4 */ b lbl_8003DEAC -.global lbl_8003990C -lbl_8003990C: -/* 03436C 8003990C 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034370 80039910 7C7F0214 */ add r3, r31, r0 -/* 034374 80039914 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034378 80039918 80E30044 */ lwz r7, 0x44(r3) -/* 03437C 8003991C 7C7F0214 */ add r3, r31, r0 -/* 034380 80039920 80C30044 */ lwz r6, 0x44(r3) -/* 034384 80039924 7CE3FE70 */ srawi r3, r7, 0x1f -/* 034388 80039928 3800FFFF */ li r0, -1 -/* 03438C 8003992C 7CA331D6 */ mullw r5, r3, r6 -/* 034390 80039930 7C873016 */ mulhwu r4, r7, r6 -/* 034394 80039934 7C6731D6 */ mullw r3, r7, r6 -/* 034398 80039938 7CC6FE70 */ srawi r6, r6, 0x1f -/* 03439C 8003993C 9061005C */ stw r3, 0x5c(r1) -/* 0343A0 80039940 7CA52214 */ add r5, r5, r4 -/* 0343A4 80039944 7C8731D6 */ mullw r4, r7, r6 -/* 0343A8 80039948 7C652214 */ add r3, r5, r4 -/* 0343AC 8003994C 90610058 */ stw r3, 0x58(r1) -/* 0343B0 80039950 38A00020 */ li r5, 0x20 -/* 0343B4 80039954 8061005C */ lwz r3, 0x5c(r1) -/* 0343B8 80039958 7C600038 */ and r0, r3, r0 -/* 0343BC 8003995C 901F0014 */ stw r0, 0x14(r31) -/* 0343C0 80039960 7C00FE70 */ srawi r0, r0, 0x1f -/* 0343C4 80039964 901F0010 */ stw r0, 0x10(r31) -/* 0343C8 80039968 80610058 */ lwz r3, 0x58(r1) -/* 0343CC 8003996C 8081005C */ lwz r4, 0x5c(r1) -/* 0343D0 80039970 4809441D */ bl __shr2i -/* 0343D4 80039974 909F001C */ stw r4, 0x1c(r31) -/* 0343D8 80039978 7C80FE70 */ srawi r0, r4, 0x1f -/* 0343DC 8003997C 901F0018 */ stw r0, 0x18(r31) -/* 0343E0 80039980 4800452C */ b lbl_8003DEAC -.global lbl_80039984 -lbl_80039984: -/* 0343E4 80039984 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 0343E8 80039988 7C9F1A14 */ add r4, r31, r3 -/* 0343EC 8003998C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0343F0 80039990 80E40044 */ lwz r7, 0x44(r4) -/* 0343F4 80039994 7C7F0214 */ add r3, r31, r0 -/* 0343F8 80039998 80630044 */ lwz r3, 0x44(r3) -/* 0343FC 8003999C 38C00000 */ li r6, 0 -/* 034400 800399A0 3800FFFF */ li r0, -1 -/* 034404 800399A4 7CA619D6 */ mullw r5, r6, r3 -/* 034408 800399A8 7C871816 */ mulhwu r4, r7, r3 -/* 03440C 800399AC 7C6719D6 */ mullw r3, r7, r3 -/* 034410 800399B0 7CA52214 */ add r5, r5, r4 -/* 034414 800399B4 9061005C */ stw r3, 0x5c(r1) -/* 034418 800399B8 7C8731D6 */ mullw r4, r7, r6 -/* 03441C 800399BC 7C652214 */ add r3, r5, r4 -/* 034420 800399C0 90610058 */ stw r3, 0x58(r1) -/* 034424 800399C4 38A00020 */ li r5, 0x20 -/* 034428 800399C8 8061005C */ lwz r3, 0x5c(r1) -/* 03442C 800399CC 7C600038 */ and r0, r3, r0 -/* 034430 800399D0 901F0014 */ stw r0, 0x14(r31) -/* 034434 800399D4 7C00FE70 */ srawi r0, r0, 0x1f -/* 034438 800399D8 901F0010 */ stw r0, 0x10(r31) -/* 03443C 800399DC 80610058 */ lwz r3, 0x58(r1) -/* 034440 800399E0 8081005C */ lwz r4, 0x5c(r1) -/* 034444 800399E4 480943A9 */ bl __shr2i -/* 034448 800399E8 909F001C */ stw r4, 0x1c(r31) -/* 03444C 800399EC 7C80FE70 */ srawi r0, r4, 0x1f -/* 034450 800399F0 901F0018 */ stw r0, 0x18(r31) -/* 034454 800399F4 480044B8 */ b lbl_8003DEAC -.global lbl_800399F8 -lbl_800399F8: -/* 034458 800399F8 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 03445C 800399FC 7CBF0214 */ add r5, r31, r0 -/* 034460 80039A00 80650044 */ lwz r3, 0x44(r5) -/* 034464 80039A04 38A50044 */ addi r5, r5, 0x44 -/* 034468 80039A08 2C030000 */ cmpwi r3, 0 -/* 03446C 80039A0C 418244A0 */ beq lbl_8003DEAC -/* 034470 80039A10 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034474 80039A14 7C9F0214 */ add r4, r31, r0 -/* 034478 80039A18 80040044 */ lwz r0, 0x44(r4) -/* 03447C 80039A1C 7C001BD6 */ divw r0, r0, r3 -/* 034480 80039A20 901F0014 */ stw r0, 0x14(r31) -/* 034484 80039A24 7C00FE70 */ srawi r0, r0, 0x1f -/* 034488 80039A28 901F0010 */ stw r0, 0x10(r31) -/* 03448C 80039A2C 80840044 */ lwz r4, 0x44(r4) -/* 034490 80039A30 80650000 */ lwz r3, 0(r5) -/* 034494 80039A34 7C041BD6 */ divw r0, r4, r3 -/* 034498 80039A38 7C0019D6 */ mullw r0, r0, r3 -/* 03449C 80039A3C 7C002050 */ subf r0, r0, r4 -/* 0344A0 80039A40 901F001C */ stw r0, 0x1c(r31) -/* 0344A4 80039A44 7C00FE70 */ srawi r0, r0, 0x1f -/* 0344A8 80039A48 901F0018 */ stw r0, 0x18(r31) -/* 0344AC 80039A4C 48004460 */ b lbl_8003DEAC -.global lbl_80039A50 -lbl_80039A50: -/* 0344B0 80039A50 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0344B4 80039A54 7CBF0214 */ add r5, r31, r0 -/* 0344B8 80039A58 80650044 */ lwz r3, 0x44(r5) -/* 0344BC 80039A5C 38A50044 */ addi r5, r5, 0x44 -/* 0344C0 80039A60 28030000 */ cmplwi r3, 0 -/* 0344C4 80039A64 41824448 */ beq lbl_8003DEAC -/* 0344C8 80039A68 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0344CC 80039A6C 7C9F0214 */ add r4, r31, r0 -/* 0344D0 80039A70 80040044 */ lwz r0, 0x44(r4) -/* 0344D4 80039A74 7C001B96 */ divwu r0, r0, r3 -/* 0344D8 80039A78 901F0014 */ stw r0, 0x14(r31) -/* 0344DC 80039A7C 7C00FE70 */ srawi r0, r0, 0x1f -/* 0344E0 80039A80 901F0010 */ stw r0, 0x10(r31) -/* 0344E4 80039A84 80840044 */ lwz r4, 0x44(r4) -/* 0344E8 80039A88 80650000 */ lwz r3, 0(r5) -/* 0344EC 80039A8C 7C041B96 */ divwu r0, r4, r3 -/* 0344F0 80039A90 7C0019D6 */ mullw r0, r0, r3 -/* 0344F4 80039A94 7C002050 */ subf r0, r0, r4 -/* 0344F8 80039A98 901F001C */ stw r0, 0x1c(r31) -/* 0344FC 80039A9C 7C00FE70 */ srawi r0, r0, 0x1f -/* 034500 80039AA0 901F0018 */ stw r0, 0x18(r31) -/* 034504 80039AA4 48004408 */ b lbl_8003DEAC -.global lbl_80039AA8 -lbl_80039AA8: -/* 034508 80039AA8 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 03450C 80039AAC 7CBF0214 */ add r5, r31, r0 -/* 034510 80039AB0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034514 80039AB4 80850040 */ lwz r4, 0x40(r5) -/* 034518 80039AB8 7C7F0214 */ add r3, r31, r0 -/* 03451C 80039ABC 80E50044 */ lwz r7, 0x44(r5) -/* 034520 80039AC0 80030044 */ lwz r0, 0x44(r3) -/* 034524 80039AC4 39000000 */ li r8, 0 -/* 034528 80039AC8 80C30040 */ lwz r6, 0x40(r3) -/* 03452C 80039ACC 6D038000 */ xoris r3, r8, 0x8000 -/* 034530 80039AD0 7CA401D6 */ mullw r5, r4, r0 -/* 034534 80039AD4 7C870016 */ mulhwu r4, r7, r0 -/* 034538 80039AD8 7C0701D6 */ mullw r0, r7, r0 -/* 03453C 80039ADC 7CA52214 */ add r5, r5, r4 -/* 034540 80039AE0 901F0014 */ stw r0, 0x14(r31) -/* 034544 80039AE4 7C8731D6 */ mullw r4, r7, r6 -/* 034548 80039AE8 7C052214 */ add r0, r5, r4 -/* 03454C 80039AEC 901F0010 */ stw r0, 0x10(r31) -/* 034550 80039AF0 801F0010 */ lwz r0, 0x10(r31) -/* 034554 80039AF4 80BF0014 */ lwz r5, 0x14(r31) -/* 034558 80039AF8 6C048000 */ xoris r4, r0, 0x8000 -/* 03455C 80039AFC 7C082810 */ subfc r0, r8, r5 -/* 034560 80039B00 7C632110 */ subfe r3, r3, r4 -/* 034564 80039B04 7C642110 */ subfe r3, r4, r4 -/* 034568 80039B08 7C6300D1 */ neg. r3, r3 -/* 03456C 80039B0C 41820008 */ beq lbl_80039B14 -/* 034570 80039B10 3900FFFF */ li r8, -1 -lbl_80039B14: -/* 034574 80039B14 911F001C */ stw r8, 0x1c(r31) -/* 034578 80039B18 7D00FE70 */ srawi r0, r8, 0x1f -/* 03457C 80039B1C 901F0018 */ stw r0, 0x18(r31) -/* 034580 80039B20 4800438C */ b lbl_8003DEAC -.global lbl_80039B24 -lbl_80039B24: -/* 034584 80039B24 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034588 80039B28 7CBF0214 */ add r5, r31, r0 -/* 03458C 80039B2C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034590 80039B30 80850040 */ lwz r4, 0x40(r5) -/* 034594 80039B34 7C7F0214 */ add r3, r31, r0 -/* 034598 80039B38 80E50044 */ lwz r7, 0x44(r5) -/* 03459C 80039B3C 80030044 */ lwz r0, 0x44(r3) -/* 0345A0 80039B40 39000000 */ li r8, 0 -/* 0345A4 80039B44 80C30040 */ lwz r6, 0x40(r3) -/* 0345A8 80039B48 6D038000 */ xoris r3, r8, 0x8000 -/* 0345AC 80039B4C 7CA401D6 */ mullw r5, r4, r0 -/* 0345B0 80039B50 7C870016 */ mulhwu r4, r7, r0 -/* 0345B4 80039B54 7C0701D6 */ mullw r0, r7, r0 -/* 0345B8 80039B58 7CA52214 */ add r5, r5, r4 -/* 0345BC 80039B5C 901F0014 */ stw r0, 0x14(r31) -/* 0345C0 80039B60 7C8731D6 */ mullw r4, r7, r6 -/* 0345C4 80039B64 7C052214 */ add r0, r5, r4 -/* 0345C8 80039B68 901F0010 */ stw r0, 0x10(r31) -/* 0345CC 80039B6C 801F0010 */ lwz r0, 0x10(r31) -/* 0345D0 80039B70 80BF0014 */ lwz r5, 0x14(r31) -/* 0345D4 80039B74 6C048000 */ xoris r4, r0, 0x8000 -/* 0345D8 80039B78 7C082810 */ subfc r0, r8, r5 -/* 0345DC 80039B7C 7C632110 */ subfe r3, r3, r4 -/* 0345E0 80039B80 7C642110 */ subfe r3, r4, r4 -/* 0345E4 80039B84 7C6300D1 */ neg. r3, r3 -/* 0345E8 80039B88 41820008 */ beq lbl_80039B90 -/* 0345EC 80039B8C 3900FFFF */ li r8, -1 -lbl_80039B90: -/* 0345F0 80039B90 911F001C */ stw r8, 0x1c(r31) -/* 0345F4 80039B94 7D00FE70 */ srawi r0, r8, 0x1f -/* 0345F8 80039B98 901F0018 */ stw r0, 0x18(r31) -/* 0345FC 80039B9C 48004310 */ b lbl_8003DEAC -.global lbl_80039BA0 -lbl_80039BA0: -/* 034600 80039BA0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034604 80039BA4 7EDF0214 */ add r22, r31, r0 -/* 034608 80039BA8 80B60040 */ lwz r5, 0x40(r22) -/* 03460C 80039BAC 38600000 */ li r3, 0 -/* 034610 80039BB0 80D60044 */ lwz r6, 0x44(r22) -/* 034614 80039BB4 3AD60040 */ addi r22, r22, 0x40 -/* 034618 80039BB8 7CA01A78 */ xor r0, r5, r3 -/* 03461C 80039BBC 7CC31A78 */ xor r3, r6, r3 -/* 034620 80039BC0 7C600379 */ or. r0, r3, r0 -/* 034624 80039BC4 418242E8 */ beq lbl_8003DEAC -/* 034628 80039BC8 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 03462C 80039BCC 7EFF0214 */ add r23, r31, r0 -/* 034630 80039BD0 80770040 */ lwz r3, 0x40(r23) -/* 034634 80039BD4 80970044 */ lwz r4, 0x44(r23) -/* 034638 80039BD8 3AF70040 */ addi r23, r23, 0x40 -/* 03463C 80039BDC 48093E41 */ bl __div2i -/* 034640 80039BE0 909F0014 */ stw r4, 0x14(r31) -/* 034644 80039BE4 907F0010 */ stw r3, 0x10(r31) -/* 034648 80039BE8 80B60000 */ lwz r5, 0(r22) -/* 03464C 80039BEC 80D60004 */ lwz r6, 4(r22) -/* 034650 80039BF0 80770000 */ lwz r3, 0(r23) -/* 034654 80039BF4 80970004 */ lwz r4, 4(r23) -/* 034658 80039BF8 48094041 */ bl __mod2i -/* 03465C 80039BFC 909F001C */ stw r4, 0x1c(r31) -/* 034660 80039C00 907F0018 */ stw r3, 0x18(r31) -/* 034664 80039C04 480042A8 */ b lbl_8003DEAC -.global lbl_80039C08 -lbl_80039C08: -/* 034668 80039C08 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 03466C 80039C0C 7EDF0214 */ add r22, r31, r0 -/* 034670 80039C10 80B60040 */ lwz r5, 0x40(r22) -/* 034674 80039C14 38600000 */ li r3, 0 -/* 034678 80039C18 80D60044 */ lwz r6, 0x44(r22) -/* 03467C 80039C1C 3AD60040 */ addi r22, r22, 0x40 -/* 034680 80039C20 7CA01A78 */ xor r0, r5, r3 -/* 034684 80039C24 7CC31A78 */ xor r3, r6, r3 -/* 034688 80039C28 7C600379 */ or. r0, r3, r0 -/* 03468C 80039C2C 41824280 */ beq lbl_8003DEAC -/* 034690 80039C30 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034694 80039C34 7EFF0214 */ add r23, r31, r0 -/* 034698 80039C38 80770040 */ lwz r3, 0x40(r23) -/* 03469C 80039C3C 80970044 */ lwz r4, 0x44(r23) -/* 0346A0 80039C40 3AF70040 */ addi r23, r23, 0x40 -/* 0346A4 80039C44 48093CED */ bl __div2u -/* 0346A8 80039C48 909F0014 */ stw r4, 0x14(r31) -/* 0346AC 80039C4C 907F0010 */ stw r3, 0x10(r31) -/* 0346B0 80039C50 80B60000 */ lwz r5, 0(r22) -/* 0346B4 80039C54 80D60004 */ lwz r6, 4(r22) -/* 0346B8 80039C58 80770000 */ lwz r3, 0(r23) -/* 0346BC 80039C5C 80970004 */ lwz r4, 4(r23) -/* 0346C0 80039C60 48093EF5 */ bl __mod2u -/* 0346C4 80039C64 909F001C */ stw r4, 0x1c(r31) -/* 0346C8 80039C68 907F0018 */ stw r3, 0x18(r31) -/* 0346CC 80039C6C 48004240 */ b lbl_8003DEAC -.global lbl_80039C70 -lbl_80039C70: -/* 0346D0 80039C70 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 0346D4 80039C74 7C9F1A14 */ add r4, r31, r3 -/* 0346D8 80039C78 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0346DC 80039C7C 80840044 */ lwz r4, 0x44(r4) -/* 0346E0 80039C80 7C7F0214 */ add r3, r31, r0 -/* 0346E4 80039C84 80630044 */ lwz r3, 0x44(r3) -/* 0346E8 80039C88 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0346EC 80039C8C 7C841A14 */ add r4, r4, r3 -/* 0346F0 80039C90 7C7F0214 */ add r3, r31, r0 -/* 0346F4 80039C94 90830044 */ stw r4, 0x44(r3) -/* 0346F8 80039C98 48004214 */ b lbl_8003DEAC -.global lbl_80039C9C -lbl_80039C9C: -/* 0346FC 80039C9C 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 034700 80039CA0 7C9F1A14 */ add r4, r31, r3 -/* 034704 80039CA4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034708 80039CA8 80840044 */ lwz r4, 0x44(r4) -/* 03470C 80039CAC 7C7F0214 */ add r3, r31, r0 -/* 034710 80039CB0 80630044 */ lwz r3, 0x44(r3) -/* 034714 80039CB4 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034718 80039CB8 7C841A14 */ add r4, r4, r3 -/* 03471C 80039CBC 7C7F0214 */ add r3, r31, r0 -/* 034720 80039CC0 90830044 */ stw r4, 0x44(r3) -/* 034724 80039CC4 480041E8 */ b lbl_8003DEAC -.global lbl_80039CC8 -lbl_80039CC8: -/* 034728 80039CC8 57C39E38 */ rlwinm r3, r30, 0x13, 0x18, 0x1c -/* 03472C 80039CCC 7C9F1A14 */ add r4, r31, r3 -/* 034730 80039CD0 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034734 80039CD4 80840044 */ lwz r4, 0x44(r4) -/* 034738 80039CD8 7C7F0214 */ add r3, r31, r0 -/* 03473C 80039CDC 80630044 */ lwz r3, 0x44(r3) -/* 034740 80039CE0 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034744 80039CE4 7C841850 */ subf r4, r4, r3 -/* 034748 80039CE8 7C7F0214 */ add r3, r31, r0 -/* 03474C 80039CEC 90830044 */ stw r4, 0x44(r3) -/* 034750 80039CF0 480041BC */ b lbl_8003DEAC -.global lbl_80039CF4 -lbl_80039CF4: -/* 034754 80039CF4 57C39E38 */ rlwinm r3, r30, 0x13, 0x18, 0x1c -/* 034758 80039CF8 7C9F1A14 */ add r4, r31, r3 -/* 03475C 80039CFC 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034760 80039D00 80840044 */ lwz r4, 0x44(r4) -/* 034764 80039D04 7C7F0214 */ add r3, r31, r0 -/* 034768 80039D08 80630044 */ lwz r3, 0x44(r3) -/* 03476C 80039D0C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034770 80039D10 7C841850 */ subf r4, r4, r3 -/* 034774 80039D14 7C7F0214 */ add r3, r31, r0 -/* 034778 80039D18 90830044 */ stw r4, 0x44(r3) -/* 03477C 80039D1C 48004190 */ b lbl_8003DEAC -.global lbl_80039D20 -lbl_80039D20: -/* 034780 80039D20 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 034784 80039D24 7C9F1A14 */ add r4, r31, r3 -/* 034788 80039D28 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 03478C 80039D2C 80840044 */ lwz r4, 0x44(r4) -/* 034790 80039D30 7C7F0214 */ add r3, r31, r0 -/* 034794 80039D34 80630044 */ lwz r3, 0x44(r3) -/* 034798 80039D38 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03479C 80039D3C 7C841838 */ and r4, r4, r3 -/* 0347A0 80039D40 7C7F0214 */ add r3, r31, r0 -/* 0347A4 80039D44 90830044 */ stw r4, 0x44(r3) -/* 0347A8 80039D48 48004164 */ b lbl_8003DEAC -.global lbl_80039D4C -lbl_80039D4C: -/* 0347AC 80039D4C 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 0347B0 80039D50 7C9F1A14 */ add r4, r31, r3 -/* 0347B4 80039D54 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0347B8 80039D58 80840044 */ lwz r4, 0x44(r4) -/* 0347BC 80039D5C 7C7F0214 */ add r3, r31, r0 -/* 0347C0 80039D60 80630044 */ lwz r3, 0x44(r3) -/* 0347C4 80039D64 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0347C8 80039D68 7C841B78 */ or r4, r4, r3 -/* 0347CC 80039D6C 7C7F0214 */ add r3, r31, r0 -/* 0347D0 80039D70 90830044 */ stw r4, 0x44(r3) -/* 0347D4 80039D74 48004138 */ b lbl_8003DEAC -.global lbl_80039D78 -lbl_80039D78: -/* 0347D8 80039D78 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 0347DC 80039D7C 7C9F1A14 */ add r4, r31, r3 -/* 0347E0 80039D80 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0347E4 80039D84 80840044 */ lwz r4, 0x44(r4) -/* 0347E8 80039D88 7C7F0214 */ add r3, r31, r0 -/* 0347EC 80039D8C 80630044 */ lwz r3, 0x44(r3) -/* 0347F0 80039D90 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0347F4 80039D94 7C841A78 */ xor r4, r4, r3 -/* 0347F8 80039D98 7C7F0214 */ add r3, r31, r0 -/* 0347FC 80039D9C 90830044 */ stw r4, 0x44(r3) -/* 034800 80039DA0 4800410C */ b lbl_8003DEAC -.global lbl_80039DA4 -lbl_80039DA4: -/* 034804 80039DA4 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 034808 80039DA8 7C9F1A14 */ add r4, r31, r3 -/* 03480C 80039DAC 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034810 80039DB0 80840044 */ lwz r4, 0x44(r4) -/* 034814 80039DB4 7C7F0214 */ add r3, r31, r0 -/* 034818 80039DB8 80630044 */ lwz r3, 0x44(r3) -/* 03481C 80039DBC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034820 80039DC0 7C8418F8 */ nor r4, r4, r3 -/* 034824 80039DC4 7C7F0214 */ add r3, r31, r0 -/* 034828 80039DC8 90830044 */ stw r4, 0x44(r3) -/* 03482C 80039DCC 480040E0 */ b lbl_8003DEAC -.global lbl_80039DD0 -lbl_80039DD0: -/* 034830 80039DD0 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 034834 80039DD4 7C9F1A14 */ add r4, r31, r3 -/* 034838 80039DD8 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 03483C 80039DDC 80840044 */ lwz r4, 0x44(r4) -/* 034840 80039DE0 7C7F0214 */ add r3, r31, r0 -/* 034844 80039DE4 80030044 */ lwz r0, 0x44(r3) -/* 034848 80039DE8 7C040000 */ cmpw r4, r0 -/* 03484C 80039DEC 4080000C */ bge lbl_80039DF8 -/* 034850 80039DF0 38800001 */ li r4, 1 -/* 034854 80039DF4 48000008 */ b lbl_80039DFC -lbl_80039DF8: -/* 034858 80039DF8 38800000 */ li r4, 0 -lbl_80039DFC: -/* 03485C 80039DFC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034860 80039E00 7C7F0214 */ add r3, r31, r0 -/* 034864 80039E04 90830044 */ stw r4, 0x44(r3) -/* 034868 80039E08 480040A4 */ b lbl_8003DEAC -.global lbl_80039E0C -lbl_80039E0C: -/* 03486C 80039E0C 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 034870 80039E10 7C9F1A14 */ add r4, r31, r3 -/* 034874 80039E14 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034878 80039E18 80840044 */ lwz r4, 0x44(r4) -/* 03487C 80039E1C 7C7F0214 */ add r3, r31, r0 -/* 034880 80039E20 80030044 */ lwz r0, 0x44(r3) -/* 034884 80039E24 7C040040 */ cmplw r4, r0 -/* 034888 80039E28 4080000C */ bge lbl_80039E34 -/* 03488C 80039E2C 38800001 */ li r4, 1 -/* 034890 80039E30 48000008 */ b lbl_80039E38 -lbl_80039E34: -/* 034894 80039E34 38800000 */ li r4, 0 -lbl_80039E38: -/* 034898 80039E38 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03489C 80039E3C 7C7F0214 */ add r3, r31, r0 -/* 0348A0 80039E40 90830044 */ stw r4, 0x44(r3) -/* 0348A4 80039E44 48004068 */ b lbl_8003DEAC -.global lbl_80039E48 -lbl_80039E48: -/* 0348A8 80039E48 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0348AC 80039E4C 7C7F0214 */ add r3, r31, r0 -/* 0348B0 80039E50 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0348B4 80039E54 80E30044 */ lwz r7, 0x44(r3) -/* 0348B8 80039E58 7C9F0214 */ add r4, r31, r0 -/* 0348BC 80039E5C 80C30040 */ lwz r6, 0x40(r3) -/* 0348C0 80039E60 80640044 */ lwz r3, 0x44(r4) -/* 0348C4 80039E64 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0348C8 80039E68 80A40040 */ lwz r5, 0x40(r4) -/* 0348CC 80039E6C 7C871814 */ addc r4, r7, r3 -/* 0348D0 80039E70 7C7F0214 */ add r3, r31, r0 -/* 0348D4 80039E74 90830044 */ stw r4, 0x44(r3) -/* 0348D8 80039E78 7C062914 */ adde r0, r6, r5 -/* 0348DC 80039E7C 90030040 */ stw r0, 0x40(r3) -/* 0348E0 80039E80 4800402C */ b lbl_8003DEAC -.global lbl_80039E84 -lbl_80039E84: -/* 0348E4 80039E84 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0348E8 80039E88 7C7F0214 */ add r3, r31, r0 -/* 0348EC 80039E8C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0348F0 80039E90 80E30044 */ lwz r7, 0x44(r3) -/* 0348F4 80039E94 7C9F0214 */ add r4, r31, r0 -/* 0348F8 80039E98 80C30040 */ lwz r6, 0x40(r3) -/* 0348FC 80039E9C 80640044 */ lwz r3, 0x44(r4) -/* 034900 80039EA0 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034904 80039EA4 80A40040 */ lwz r5, 0x40(r4) -/* 034908 80039EA8 7C871814 */ addc r4, r7, r3 -/* 03490C 80039EAC 7C7F0214 */ add r3, r31, r0 -/* 034910 80039EB0 90830044 */ stw r4, 0x44(r3) -/* 034914 80039EB4 7C062914 */ adde r0, r6, r5 -/* 034918 80039EB8 90030040 */ stw r0, 0x40(r3) -/* 03491C 80039EBC 48003FF0 */ b lbl_8003DEAC -.global lbl_80039EC0 -lbl_80039EC0: -/* 034920 80039EC0 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034924 80039EC4 7C7F0214 */ add r3, r31, r0 -/* 034928 80039EC8 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 03492C 80039ECC 80E30044 */ lwz r7, 0x44(r3) -/* 034930 80039ED0 7C9F0214 */ add r4, r31, r0 -/* 034934 80039ED4 80C30040 */ lwz r6, 0x40(r3) -/* 034938 80039ED8 80640044 */ lwz r3, 0x44(r4) -/* 03493C 80039EDC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034940 80039EE0 80A40040 */ lwz r5, 0x40(r4) -/* 034944 80039EE4 7C833810 */ subfc r4, r3, r7 -/* 034948 80039EE8 7C7F0214 */ add r3, r31, r0 -/* 03494C 80039EEC 90830044 */ stw r4, 0x44(r3) -/* 034950 80039EF0 7C053110 */ subfe r0, r5, r6 -/* 034954 80039EF4 90030040 */ stw r0, 0x40(r3) -/* 034958 80039EF8 48003FB4 */ b lbl_8003DEAC -.global lbl_80039EFC -lbl_80039EFC: -/* 03495C 80039EFC 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034960 80039F00 7C7F0214 */ add r3, r31, r0 -/* 034964 80039F04 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034968 80039F08 80E30044 */ lwz r7, 0x44(r3) -/* 03496C 80039F0C 7C9F0214 */ add r4, r31, r0 -/* 034970 80039F10 80C30040 */ lwz r6, 0x40(r3) -/* 034974 80039F14 80640044 */ lwz r3, 0x44(r4) -/* 034978 80039F18 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03497C 80039F1C 80A40040 */ lwz r5, 0x40(r4) -/* 034980 80039F20 7C833810 */ subfc r4, r3, r7 -/* 034984 80039F24 7C7F0214 */ add r3, r31, r0 -/* 034988 80039F28 90830044 */ stw r4, 0x44(r3) -/* 03498C 80039F2C 7C053110 */ subfe r0, r5, r6 -/* 034990 80039F30 90030040 */ stw r0, 0x40(r3) -/* 034994 80039F34 48003F78 */ b lbl_8003DEAC -.global lbl_80039F38 -lbl_80039F38: -/* 034998 80039F38 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 03499C 80039F3C 7C9F1A14 */ add r4, r31, r3 -/* 0349A0 80039F40 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0349A4 80039F44 80840044 */ lwz r4, 0x44(r4) -/* 0349A8 80039F48 7C7F0214 */ add r3, r31, r0 -/* 0349AC 80039F4C 80030044 */ lwz r0, 0x44(r3) -/* 0349B0 80039F50 7C040000 */ cmpw r4, r0 -/* 0349B4 80039F54 41803F58 */ blt lbl_8003DEAC -/* 0349B8 80039F58 387F0000 */ addi r3, r31, 0 -/* 0349BC 80039F5C 3880000D */ li r4, 0xd -/* 0349C0 80039F60 38A00000 */ li r5, 0 -/* 0349C4 80039F64 4BFFC0E9 */ bl cpuException -/* 0349C8 80039F68 48003F44 */ b lbl_8003DEAC -.global lbl_80039F6C -lbl_80039F6C: -/* 0349CC 80039F6C 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 0349D0 80039F70 7C9F1A14 */ add r4, r31, r3 -/* 0349D4 80039F74 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0349D8 80039F78 80840044 */ lwz r4, 0x44(r4) -/* 0349DC 80039F7C 7C7F0214 */ add r3, r31, r0 -/* 0349E0 80039F80 80030044 */ lwz r0, 0x44(r3) -/* 0349E4 80039F84 7C040040 */ cmplw r4, r0 -/* 0349E8 80039F88 41803F24 */ blt lbl_8003DEAC -/* 0349EC 80039F8C 387F0000 */ addi r3, r31, 0 -/* 0349F0 80039F90 3880000D */ li r4, 0xd -/* 0349F4 80039F94 38A00000 */ li r5, 0 -/* 0349F8 80039F98 4BFFC0B5 */ bl cpuException -/* 0349FC 80039F9C 48003F10 */ b lbl_8003DEAC -.global lbl_80039FA0 -lbl_80039FA0: -/* 034A00 80039FA0 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 034A04 80039FA4 7C9F1A14 */ add r4, r31, r3 -/* 034A08 80039FA8 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034A0C 80039FAC 80840044 */ lwz r4, 0x44(r4) -/* 034A10 80039FB0 7C7F0214 */ add r3, r31, r0 -/* 034A14 80039FB4 80030044 */ lwz r0, 0x44(r3) -/* 034A18 80039FB8 7C040000 */ cmpw r4, r0 -/* 034A1C 80039FBC 40803EF0 */ bge lbl_8003DEAC -/* 034A20 80039FC0 387F0000 */ addi r3, r31, 0 -/* 034A24 80039FC4 3880000D */ li r4, 0xd -/* 034A28 80039FC8 38A00000 */ li r5, 0 -/* 034A2C 80039FCC 4BFFC081 */ bl cpuException -/* 034A30 80039FD0 48003EDC */ b lbl_8003DEAC -.global lbl_80039FD4 -lbl_80039FD4: -/* 034A34 80039FD4 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 034A38 80039FD8 7C9F1A14 */ add r4, r31, r3 -/* 034A3C 80039FDC 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034A40 80039FE0 80840044 */ lwz r4, 0x44(r4) -/* 034A44 80039FE4 7C7F0214 */ add r3, r31, r0 -/* 034A48 80039FE8 80030044 */ lwz r0, 0x44(r3) -/* 034A4C 80039FEC 7C040040 */ cmplw r4, r0 -/* 034A50 80039FF0 40803EBC */ bge lbl_8003DEAC -/* 034A54 80039FF4 387F0000 */ addi r3, r31, 0 -/* 034A58 80039FF8 3880000D */ li r4, 0xd -/* 034A5C 80039FFC 38A00000 */ li r5, 0 -/* 034A60 8003A000 4BFFC04D */ bl cpuException -/* 034A64 8003A004 48003EA8 */ b lbl_8003DEAC -.global lbl_8003A008 -lbl_8003A008: -/* 034A68 8003A008 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 034A6C 8003A00C 7C9F1A14 */ add r4, r31, r3 -/* 034A70 8003A010 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034A74 8003A014 80840044 */ lwz r4, 0x44(r4) -/* 034A78 8003A018 7C7F0214 */ add r3, r31, r0 -/* 034A7C 8003A01C 80030044 */ lwz r0, 0x44(r3) -/* 034A80 8003A020 7C040000 */ cmpw r4, r0 -/* 034A84 8003A024 40823E88 */ bne lbl_8003DEAC -/* 034A88 8003A028 387F0000 */ addi r3, r31, 0 -/* 034A8C 8003A02C 3880000D */ li r4, 0xd -/* 034A90 8003A030 38A00000 */ li r5, 0 -/* 034A94 8003A034 4BFFC019 */ bl cpuException -/* 034A98 8003A038 48003E74 */ b lbl_8003DEAC -.global lbl_8003A03C -lbl_8003A03C: -/* 034A9C 8003A03C 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 034AA0 8003A040 7C9F1A14 */ add r4, r31, r3 -/* 034AA4 8003A044 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034AA8 8003A048 80840044 */ lwz r4, 0x44(r4) -/* 034AAC 8003A04C 7C7F0214 */ add r3, r31, r0 -/* 034AB0 8003A050 80030044 */ lwz r0, 0x44(r3) -/* 034AB4 8003A054 7C040000 */ cmpw r4, r0 -/* 034AB8 8003A058 41823E54 */ beq lbl_8003DEAC -/* 034ABC 8003A05C 387F0000 */ addi r3, r31, 0 -/* 034AC0 8003A060 3880000D */ li r4, 0xd -/* 034AC4 8003A064 38A00000 */ li r5, 0 -/* 034AC8 8003A068 4BFFBFE5 */ bl cpuException -/* 034ACC 8003A06C 48003E40 */ b lbl_8003DEAC -.global lbl_8003A070 -lbl_8003A070: -/* 034AD0 8003A070 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034AD4 8003A074 7C9F0214 */ add r4, r31, r0 -/* 034AD8 8003A078 80640040 */ lwz r3, 0x40(r4) -/* 034ADC 8003A07C 57C5D6FE */ rlwinm r5, r30, 0x1a, 0x1b, 0x1f -/* 034AE0 8003A080 80840044 */ lwz r4, 0x44(r4) -/* 034AE4 8003A084 48093CC1 */ bl __shl2i -/* 034AE8 8003A088 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034AEC 8003A08C 7CBF0214 */ add r5, r31, r0 -/* 034AF0 8003A090 90850044 */ stw r4, 0x44(r5) -/* 034AF4 8003A094 90650040 */ stw r3, 0x40(r5) -/* 034AF8 8003A098 48003E14 */ b lbl_8003DEAC -.global lbl_8003A09C -lbl_8003A09C: -/* 034AFC 8003A09C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034B00 8003A0A0 7C9F0214 */ add r4, r31, r0 -/* 034B04 8003A0A4 80640040 */ lwz r3, 0x40(r4) -/* 034B08 8003A0A8 57C5D6FE */ rlwinm r5, r30, 0x1a, 0x1b, 0x1f -/* 034B0C 8003A0AC 80840044 */ lwz r4, 0x44(r4) -/* 034B10 8003A0B0 48093CB9 */ bl __shr2u -/* 034B14 8003A0B4 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034B18 8003A0B8 7CBF0214 */ add r5, r31, r0 -/* 034B1C 8003A0BC 90850044 */ stw r4, 0x44(r5) -/* 034B20 8003A0C0 90650040 */ stw r3, 0x40(r5) -/* 034B24 8003A0C4 48003DE8 */ b lbl_8003DEAC -.global lbl_8003A0C8 -lbl_8003A0C8: -/* 034B28 8003A0C8 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034B2C 8003A0CC 7C9F0214 */ add r4, r31, r0 -/* 034B30 8003A0D0 80640040 */ lwz r3, 0x40(r4) -/* 034B34 8003A0D4 57C5D6FE */ rlwinm r5, r30, 0x1a, 0x1b, 0x1f -/* 034B38 8003A0D8 80840044 */ lwz r4, 0x44(r4) -/* 034B3C 8003A0DC 48093CB1 */ bl __shr2i -/* 034B40 8003A0E0 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034B44 8003A0E4 7CBF0214 */ add r5, r31, r0 -/* 034B48 8003A0E8 90850044 */ stw r4, 0x44(r5) -/* 034B4C 8003A0EC 90650040 */ stw r3, 0x40(r5) -/* 034B50 8003A0F0 48003DBC */ b lbl_8003DEAC -.global lbl_8003A0F4 -lbl_8003A0F4: -/* 034B54 8003A0F4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034B58 8003A0F8 7C9F0214 */ add r4, r31, r0 -/* 034B5C 8003A0FC 57C5D6FE */ rlwinm r5, r30, 0x1a, 0x1b, 0x1f -/* 034B60 8003A100 80640040 */ lwz r3, 0x40(r4) -/* 034B64 8003A104 80840044 */ lwz r4, 0x44(r4) -/* 034B68 8003A108 38A50020 */ addi r5, r5, 0x20 -/* 034B6C 8003A10C 48093C39 */ bl __shl2i -/* 034B70 8003A110 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034B74 8003A114 7CBF0214 */ add r5, r31, r0 -/* 034B78 8003A118 90850044 */ stw r4, 0x44(r5) -/* 034B7C 8003A11C 90650040 */ stw r3, 0x40(r5) -/* 034B80 8003A120 48003D8C */ b lbl_8003DEAC -.global lbl_8003A124 -lbl_8003A124: -/* 034B84 8003A124 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034B88 8003A128 7C9F0214 */ add r4, r31, r0 -/* 034B8C 8003A12C 57C5D6FE */ rlwinm r5, r30, 0x1a, 0x1b, 0x1f -/* 034B90 8003A130 80640040 */ lwz r3, 0x40(r4) -/* 034B94 8003A134 80840044 */ lwz r4, 0x44(r4) -/* 034B98 8003A138 38A50020 */ addi r5, r5, 0x20 -/* 034B9C 8003A13C 48093C2D */ bl __shr2u -/* 034BA0 8003A140 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034BA4 8003A144 7CBF0214 */ add r5, r31, r0 -/* 034BA8 8003A148 90850044 */ stw r4, 0x44(r5) -/* 034BAC 8003A14C 90650040 */ stw r3, 0x40(r5) -/* 034BB0 8003A150 48003D5C */ b lbl_8003DEAC -.global lbl_8003A154 -lbl_8003A154: -/* 034BB4 8003A154 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034BB8 8003A158 7C9F0214 */ add r4, r31, r0 -/* 034BBC 8003A15C 57C5D6FE */ rlwinm r5, r30, 0x1a, 0x1b, 0x1f -/* 034BC0 8003A160 80640040 */ lwz r3, 0x40(r4) -/* 034BC4 8003A164 80840044 */ lwz r4, 0x44(r4) -/* 034BC8 8003A168 38A50020 */ addi r5, r5, 0x20 -/* 034BCC 8003A16C 48093C21 */ bl __shr2i -/* 034BD0 8003A170 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 034BD4 8003A174 7CBF0214 */ add r5, r31, r0 -/* 034BD8 8003A178 90850044 */ stw r4, 0x44(r5) -/* 034BDC 8003A17C 90650040 */ stw r3, 0x40(r5) -/* 034BE0 8003A180 48003D2C */ b lbl_8003DEAC -.global lbl_8003A184 -lbl_8003A184: -/* 034BE4 8003A184 57C086FE */ rlwinm r0, r30, 0x10, 0x1b, 0x1f -/* 034BE8 8003A188 28000013 */ cmplwi r0, 0x13 -/* 034BEC 8003A18C 41813D20 */ bgt lbl_8003DEAC -/* 034BF0 8003A190 3C60800F */ lis r3, jtbl_800EC6FC@ha -/* 034BF4 8003A194 3863C6FC */ addi r3, r3, jtbl_800EC6FC@l -/* 034BF8 8003A198 5400103A */ slwi r0, r0, 2 -/* 034BFC 8003A19C 7C03002E */ lwzx r0, r3, r0 -/* 034C00 8003A1A0 7C0903A6 */ mtctr r0 -/* 034C04 8003A1A4 4E800420 */ bctr -.global lbl_8003A1A8 -lbl_8003A1A8: -/* 034C08 8003A1A8 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034C0C 8003A1AC 7C7F0214 */ add r3, r31, r0 -/* 034C10 8003A1B0 80030044 */ lwz r0, 0x44(r3) -/* 034C14 8003A1B4 2C000000 */ cmpwi r0, 0 -/* 034C18 8003A1B8 40803CF4 */ bge lbl_8003DEAC -/* 034C1C 8003A1BC 57C0043E */ clrlwi r0, r30, 0x10 -/* 034C20 8003A1C0 807F0028 */ lwz r3, 0x28(r31) -/* 034C24 8003A1C4 7C000734 */ extsh r0, r0 -/* 034C28 8003A1C8 5400103A */ slwi r0, r0, 2 -/* 034C2C 8003A1CC 7C030214 */ add r0, r3, r0 -/* 034C30 8003A1D0 901F002C */ stw r0, 0x2c(r31) -/* 034C34 8003A1D4 48003CD8 */ b lbl_8003DEAC -.global lbl_8003A1D8 -lbl_8003A1D8: -/* 034C38 8003A1D8 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034C3C 8003A1DC 7C7F0214 */ add r3, r31, r0 -/* 034C40 8003A1E0 80030044 */ lwz r0, 0x44(r3) -/* 034C44 8003A1E4 2C000000 */ cmpwi r0, 0 -/* 034C48 8003A1E8 41803CC4 */ blt lbl_8003DEAC -/* 034C4C 8003A1EC 57C0043E */ clrlwi r0, r30, 0x10 -/* 034C50 8003A1F0 807F0028 */ lwz r3, 0x28(r31) -/* 034C54 8003A1F4 7C000734 */ extsh r0, r0 -/* 034C58 8003A1F8 5400103A */ slwi r0, r0, 2 -/* 034C5C 8003A1FC 7C030214 */ add r0, r3, r0 -/* 034C60 8003A200 901F002C */ stw r0, 0x2c(r31) -/* 034C64 8003A204 48003CA8 */ b lbl_8003DEAC -.global lbl_8003A208 -lbl_8003A208: -/* 034C68 8003A208 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034C6C 8003A20C 7C7F0214 */ add r3, r31, r0 -/* 034C70 8003A210 80030044 */ lwz r0, 0x44(r3) -/* 034C74 8003A214 2C000000 */ cmpwi r0, 0 -/* 034C78 8003A218 40800020 */ bge lbl_8003A238 -/* 034C7C 8003A21C 57C0043E */ clrlwi r0, r30, 0x10 -/* 034C80 8003A220 807F0028 */ lwz r3, 0x28(r31) -/* 034C84 8003A224 7C000734 */ extsh r0, r0 -/* 034C88 8003A228 5400103A */ slwi r0, r0, 2 -/* 034C8C 8003A22C 7C030214 */ add r0, r3, r0 -/* 034C90 8003A230 901F002C */ stw r0, 0x2c(r31) -/* 034C94 8003A234 48003C78 */ b lbl_8003DEAC -lbl_8003A238: -/* 034C98 8003A238 801F0000 */ lwz r0, 0(r31) -/* 034C9C 8003A23C 60000004 */ ori r0, r0, 4 -/* 034CA0 8003A240 901F0000 */ stw r0, 0(r31) -/* 034CA4 8003A244 807F0028 */ lwz r3, 0x28(r31) -/* 034CA8 8003A248 38030004 */ addi r0, r3, 4 -/* 034CAC 8003A24C 901F0028 */ stw r0, 0x28(r31) -/* 034CB0 8003A250 48003C5C */ b lbl_8003DEAC -.global lbl_8003A254 -lbl_8003A254: -/* 034CB4 8003A254 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034CB8 8003A258 7C7F0214 */ add r3, r31, r0 -/* 034CBC 8003A25C 80030044 */ lwz r0, 0x44(r3) -/* 034CC0 8003A260 2C000000 */ cmpwi r0, 0 -/* 034CC4 8003A264 41800020 */ blt lbl_8003A284 -/* 034CC8 8003A268 57C0043E */ clrlwi r0, r30, 0x10 -/* 034CCC 8003A26C 807F0028 */ lwz r3, 0x28(r31) -/* 034CD0 8003A270 7C000734 */ extsh r0, r0 -/* 034CD4 8003A274 5400103A */ slwi r0, r0, 2 -/* 034CD8 8003A278 7C030214 */ add r0, r3, r0 -/* 034CDC 8003A27C 901F002C */ stw r0, 0x2c(r31) -/* 034CE0 8003A280 48003C2C */ b lbl_8003DEAC -lbl_8003A284: -/* 034CE4 8003A284 801F0000 */ lwz r0, 0(r31) -/* 034CE8 8003A288 60000004 */ ori r0, r0, 4 -/* 034CEC 8003A28C 901F0000 */ stw r0, 0(r31) -/* 034CF0 8003A290 807F0028 */ lwz r3, 0x28(r31) -/* 034CF4 8003A294 38030004 */ addi r0, r3, 4 -/* 034CF8 8003A298 901F0028 */ stw r0, 0x28(r31) -/* 034CFC 8003A29C 48003C10 */ b lbl_8003DEAC -.global lbl_8003A2A0 -lbl_8003A2A0: -/* 034D00 8003A2A0 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034D04 8003A2A4 7C7F0214 */ add r3, r31, r0 -/* 034D08 8003A2A8 57C0043E */ clrlwi r0, r30, 0x10 -/* 034D0C 8003A2AC 80630044 */ lwz r3, 0x44(r3) -/* 034D10 8003A2B0 7C000734 */ extsh r0, r0 -/* 034D14 8003A2B4 7C030000 */ cmpw r3, r0 -/* 034D18 8003A2B8 41803BF4 */ blt lbl_8003DEAC -/* 034D1C 8003A2BC 387F0000 */ addi r3, r31, 0 -/* 034D20 8003A2C0 3880000D */ li r4, 0xd -/* 034D24 8003A2C4 38A00000 */ li r5, 0 -/* 034D28 8003A2C8 4BFFBD85 */ bl cpuException -/* 034D2C 8003A2CC 48003BE0 */ b lbl_8003DEAC -.global lbl_8003A2D0 -lbl_8003A2D0: -/* 034D30 8003A2D0 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034D34 8003A2D4 7C7F0214 */ add r3, r31, r0 -/* 034D38 8003A2D8 57C0043E */ clrlwi r0, r30, 0x10 -/* 034D3C 8003A2DC 80630044 */ lwz r3, 0x44(r3) -/* 034D40 8003A2E0 7C000734 */ extsh r0, r0 -/* 034D44 8003A2E4 7C030040 */ cmplw r3, r0 -/* 034D48 8003A2E8 41803BC4 */ blt lbl_8003DEAC -/* 034D4C 8003A2EC 387F0000 */ addi r3, r31, 0 -/* 034D50 8003A2F0 3880000D */ li r4, 0xd -/* 034D54 8003A2F4 38A00000 */ li r5, 0 -/* 034D58 8003A2F8 4BFFBD55 */ bl cpuException -/* 034D5C 8003A2FC 48003BB0 */ b lbl_8003DEAC -.global lbl_8003A300 -lbl_8003A300: -/* 034D60 8003A300 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034D64 8003A304 7C7F0214 */ add r3, r31, r0 -/* 034D68 8003A308 57C0043E */ clrlwi r0, r30, 0x10 -/* 034D6C 8003A30C 80630044 */ lwz r3, 0x44(r3) -/* 034D70 8003A310 7C000734 */ extsh r0, r0 -/* 034D74 8003A314 7C030000 */ cmpw r3, r0 -/* 034D78 8003A318 40803B94 */ bge lbl_8003DEAC -/* 034D7C 8003A31C 387F0000 */ addi r3, r31, 0 -/* 034D80 8003A320 3880000D */ li r4, 0xd -/* 034D84 8003A324 38A00000 */ li r5, 0 -/* 034D88 8003A328 4BFFBD25 */ bl cpuException -/* 034D8C 8003A32C 48003B80 */ b lbl_8003DEAC -.global lbl_8003A330 -lbl_8003A330: -/* 034D90 8003A330 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034D94 8003A334 7C7F0214 */ add r3, r31, r0 -/* 034D98 8003A338 57C0043E */ clrlwi r0, r30, 0x10 -/* 034D9C 8003A33C 80630044 */ lwz r3, 0x44(r3) -/* 034DA0 8003A340 7C000734 */ extsh r0, r0 -/* 034DA4 8003A344 7C030040 */ cmplw r3, r0 -/* 034DA8 8003A348 40803B64 */ bge lbl_8003DEAC -/* 034DAC 8003A34C 387F0000 */ addi r3, r31, 0 -/* 034DB0 8003A350 3880000D */ li r4, 0xd -/* 034DB4 8003A354 38A00000 */ li r5, 0 -/* 034DB8 8003A358 4BFFBCF5 */ bl cpuException -/* 034DBC 8003A35C 48003B50 */ b lbl_8003DEAC -.global lbl_8003A360 -lbl_8003A360: -/* 034DC0 8003A360 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034DC4 8003A364 7C7F0214 */ add r3, r31, r0 -/* 034DC8 8003A368 57C0043E */ clrlwi r0, r30, 0x10 -/* 034DCC 8003A36C 80630044 */ lwz r3, 0x44(r3) -/* 034DD0 8003A370 7C000734 */ extsh r0, r0 -/* 034DD4 8003A374 7C030000 */ cmpw r3, r0 -/* 034DD8 8003A378 40823B34 */ bne lbl_8003DEAC -/* 034DDC 8003A37C 387F0000 */ addi r3, r31, 0 -/* 034DE0 8003A380 3880000D */ li r4, 0xd -/* 034DE4 8003A384 38A00000 */ li r5, 0 -/* 034DE8 8003A388 4BFFBCC5 */ bl cpuException -/* 034DEC 8003A38C 48003B20 */ b lbl_8003DEAC -.global lbl_8003A390 -lbl_8003A390: -/* 034DF0 8003A390 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034DF4 8003A394 7C7F0214 */ add r3, r31, r0 -/* 034DF8 8003A398 57C0043E */ clrlwi r0, r30, 0x10 -/* 034DFC 8003A39C 80630044 */ lwz r3, 0x44(r3) -/* 034E00 8003A3A0 7C000734 */ extsh r0, r0 -/* 034E04 8003A3A4 7C030000 */ cmpw r3, r0 -/* 034E08 8003A3A8 41823B04 */ beq lbl_8003DEAC -/* 034E0C 8003A3AC 387F0000 */ addi r3, r31, 0 -/* 034E10 8003A3B0 3880000D */ li r4, 0xd -/* 034E14 8003A3B4 38A00000 */ li r5, 0 -/* 034E18 8003A3B8 4BFFBC95 */ bl cpuException -/* 034E1C 8003A3BC 48003AF0 */ b lbl_8003DEAC -.global lbl_8003A3C0 -lbl_8003A3C0: -/* 034E20 8003A3C0 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034E24 8003A3C4 7C7F0214 */ add r3, r31, r0 -/* 034E28 8003A3C8 80030044 */ lwz r0, 0x44(r3) -/* 034E2C 8003A3CC 2C000000 */ cmpwi r0, 0 -/* 034E30 8003A3D0 40803ADC */ bge lbl_8003DEAC -/* 034E34 8003A3D4 807F0028 */ lwz r3, 0x28(r31) -/* 034E38 8003A3D8 57C0043E */ clrlwi r0, r30, 0x10 -/* 034E3C 8003A3DC 7C000734 */ extsh r0, r0 -/* 034E40 8003A3E0 38630004 */ addi r3, r3, 4 -/* 034E44 8003A3E4 907F013C */ stw r3, 0x13c(r31) -/* 034E48 8003A3E8 5400103A */ slwi r0, r0, 2 -/* 034E4C 8003A3EC 807F0028 */ lwz r3, 0x28(r31) -/* 034E50 8003A3F0 7C030214 */ add r0, r3, r0 -/* 034E54 8003A3F4 901F0030 */ stw r0, 0x30(r31) -/* 034E58 8003A3F8 901F002C */ stw r0, 0x2c(r31) -/* 034E5C 8003A3FC 48003AB0 */ b lbl_8003DEAC -.global lbl_8003A400 -lbl_8003A400: -/* 034E60 8003A400 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034E64 8003A404 7C7F0214 */ add r3, r31, r0 -/* 034E68 8003A408 80030044 */ lwz r0, 0x44(r3) -/* 034E6C 8003A40C 2C000000 */ cmpwi r0, 0 -/* 034E70 8003A410 41803A9C */ blt lbl_8003DEAC -/* 034E74 8003A414 807F0028 */ lwz r3, 0x28(r31) -/* 034E78 8003A418 57C0043E */ clrlwi r0, r30, 0x10 -/* 034E7C 8003A41C 7C000734 */ extsh r0, r0 -/* 034E80 8003A420 38630004 */ addi r3, r3, 4 -/* 034E84 8003A424 907F013C */ stw r3, 0x13c(r31) -/* 034E88 8003A428 5400103A */ slwi r0, r0, 2 -/* 034E8C 8003A42C 807F0028 */ lwz r3, 0x28(r31) -/* 034E90 8003A430 7C030214 */ add r0, r3, r0 -/* 034E94 8003A434 901F0030 */ stw r0, 0x30(r31) -/* 034E98 8003A438 901F002C */ stw r0, 0x2c(r31) -/* 034E9C 8003A43C 48003A70 */ b lbl_8003DEAC -.global lbl_8003A440 -lbl_8003A440: -/* 034EA0 8003A440 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034EA4 8003A444 7C7F0214 */ add r3, r31, r0 -/* 034EA8 8003A448 80030044 */ lwz r0, 0x44(r3) -/* 034EAC 8003A44C 2C000000 */ cmpwi r0, 0 -/* 034EB0 8003A450 4080002C */ bge lbl_8003A47C -/* 034EB4 8003A454 807F0028 */ lwz r3, 0x28(r31) -/* 034EB8 8003A458 57C0043E */ clrlwi r0, r30, 0x10 -/* 034EBC 8003A45C 7C000734 */ extsh r0, r0 -/* 034EC0 8003A460 38630004 */ addi r3, r3, 4 -/* 034EC4 8003A464 907F013C */ stw r3, 0x13c(r31) -/* 034EC8 8003A468 5400103A */ slwi r0, r0, 2 -/* 034ECC 8003A46C 807F0028 */ lwz r3, 0x28(r31) -/* 034ED0 8003A470 7C030214 */ add r0, r3, r0 -/* 034ED4 8003A474 901F002C */ stw r0, 0x2c(r31) -/* 034ED8 8003A478 48003A34 */ b lbl_8003DEAC -lbl_8003A47C: -/* 034EDC 8003A47C 801F0000 */ lwz r0, 0(r31) -/* 034EE0 8003A480 60000004 */ ori r0, r0, 4 -/* 034EE4 8003A484 901F0000 */ stw r0, 0(r31) -/* 034EE8 8003A488 807F0028 */ lwz r3, 0x28(r31) -/* 034EEC 8003A48C 38030004 */ addi r0, r3, 4 -/* 034EF0 8003A490 901F0028 */ stw r0, 0x28(r31) -/* 034EF4 8003A494 48003A18 */ b lbl_8003DEAC -.global lbl_8003A498 -lbl_8003A498: -/* 034EF8 8003A498 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 034EFC 8003A49C 7C7F0214 */ add r3, r31, r0 -/* 034F00 8003A4A0 80030044 */ lwz r0, 0x44(r3) -/* 034F04 8003A4A4 2C000000 */ cmpwi r0, 0 -/* 034F08 8003A4A8 4180002C */ blt lbl_8003A4D4 -/* 034F0C 8003A4AC 807F0028 */ lwz r3, 0x28(r31) -/* 034F10 8003A4B0 57C0043E */ clrlwi r0, r30, 0x10 -/* 034F14 8003A4B4 7C000734 */ extsh r0, r0 -/* 034F18 8003A4B8 38630004 */ addi r3, r3, 4 -/* 034F1C 8003A4BC 907F013C */ stw r3, 0x13c(r31) -/* 034F20 8003A4C0 5400103A */ slwi r0, r0, 2 -/* 034F24 8003A4C4 807F0028 */ lwz r3, 0x28(r31) -/* 034F28 8003A4C8 7C030214 */ add r0, r3, r0 -/* 034F2C 8003A4CC 901F002C */ stw r0, 0x2c(r31) -/* 034F30 8003A4D0 480039DC */ b lbl_8003DEAC -lbl_8003A4D4: -/* 034F34 8003A4D4 801F0000 */ lwz r0, 0(r31) -/* 034F38 8003A4D8 60000004 */ ori r0, r0, 4 -/* 034F3C 8003A4DC 901F0000 */ stw r0, 0(r31) -/* 034F40 8003A4E0 807F0028 */ lwz r3, 0x28(r31) -/* 034F44 8003A4E4 38030004 */ addi r0, r3, 4 -/* 034F48 8003A4E8 901F0028 */ stw r0, 0x28(r31) -/* 034F4C 8003A4EC 480039C0 */ b lbl_8003DEAC -.global lbl_8003A4F0 -lbl_8003A4F0: -/* 034F50 8003A4F0 801F0028 */ lwz r0, 0x28(r31) -/* 034F54 8003A4F4 54000006 */ rlwinm r0, r0, 0, 0, 3 -/* 034F58 8003A4F8 53C0113A */ rlwimi r0, r30, 2, 4, 0x1d -/* 034F5C 8003A4FC 901F002C */ stw r0, 0x2c(r31) -/* 034F60 8003A500 807F0028 */ lwz r3, 0x28(r31) -/* 034F64 8003A504 809F002C */ lwz r4, 0x2c(r31) -/* 034F68 8003A508 3803FFFC */ addi r0, r3, -4 -/* 034F6C 8003A50C 7C040040 */ cmplw r4, r0 -/* 034F70 8003A510 4082399C */ bne lbl_8003DEAC -/* 034F74 8003A514 807F0008 */ lwz r3, 8(r31) -/* 034F78 8003A518 80030008 */ lwz r0, 8(r3) -/* 034F7C 8003A51C 2C000000 */ cmpwi r0, 0 -/* 034F80 8003A520 41820018 */ beq lbl_8003A538 -/* 034F84 8003A524 4BFF2E01 */ bl systemCheckInterrupts -/* 034F88 8003A528 2C030000 */ cmpwi r3, 0 -/* 034F8C 8003A52C 40820018 */ bne lbl_8003A544 -/* 034F90 8003A530 38000000 */ li r0, 0 -/* 034F94 8003A534 48000014 */ b lbl_8003A548 -lbl_8003A538: -/* 034F98 8003A538 80630050 */ lwz r3, 0x50(r3) -/* 034F9C 8003A53C 38800000 */ li r4, 0 -/* 034FA0 8003A540 480544B5 */ bl videoForceRetrace -lbl_8003A544: -/* 034FA4 8003A544 38000001 */ li r0, 1 -lbl_8003A548: -/* 034FA8 8003A548 2C000000 */ cmpwi r0, 0 -/* 034FAC 8003A54C 40823960 */ bne lbl_8003DEAC -/* 034FB0 8003A550 38600000 */ li r3, 0 -/* 034FB4 8003A554 4800399C */ b lbl_8003DEF0 -.global lbl_8003A558 -lbl_8003A558: -/* 034FB8 8003A558 807F0028 */ lwz r3, 0x28(r31) -/* 034FBC 8003A55C 38A10050 */ addi r5, r1, 0x50 -/* 034FC0 8003A560 38030004 */ addi r0, r3, 4 -/* 034FC4 8003A564 901F013C */ stw r0, 0x13c(r31) -/* 034FC8 8003A568 387F0000 */ addi r3, r31, 0 -/* 034FCC 8003A56C 801F0028 */ lwz r0, 0x28(r31) -/* 034FD0 8003A570 54000006 */ rlwinm r0, r0, 0, 0, 3 -/* 034FD4 8003A574 53C0113A */ rlwimi r0, r30, 2, 4, 0x1d -/* 034FD8 8003A578 901F0030 */ stw r0, 0x30(r31) -/* 034FDC 8003A57C 901F002C */ stw r0, 0x2c(r31) -/* 034FE0 8003A580 809F002C */ lwz r4, 0x2c(r31) -/* 034FE4 8003A584 4BFF8D81 */ bl cpuFindFunction -/* 034FE8 8003A588 48003924 */ b lbl_8003DEAC -.global lbl_8003A58C -lbl_8003A58C: -/* 034FEC 8003A58C 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 034FF0 8003A590 7C9F1A14 */ add r4, r31, r3 -/* 034FF4 8003A594 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 034FF8 8003A598 80840044 */ lwz r4, 0x44(r4) -/* 034FFC 8003A59C 7C7F0214 */ add r3, r31, r0 -/* 035000 8003A5A0 80030044 */ lwz r0, 0x44(r3) -/* 035004 8003A5A4 7C040000 */ cmpw r4, r0 -/* 035008 8003A5A8 4082001C */ bne lbl_8003A5C4 -/* 03500C 8003A5AC 57C0043E */ clrlwi r0, r30, 0x10 -/* 035010 8003A5B0 807F0028 */ lwz r3, 0x28(r31) -/* 035014 8003A5B4 7C000734 */ extsh r0, r0 -/* 035018 8003A5B8 5400103A */ slwi r0, r0, 2 -/* 03501C 8003A5BC 7C030214 */ add r0, r3, r0 -/* 035020 8003A5C0 901F002C */ stw r0, 0x2c(r31) -lbl_8003A5C4: -/* 035024 8003A5C4 807F0028 */ lwz r3, 0x28(r31) -/* 035028 8003A5C8 809F002C */ lwz r4, 0x2c(r31) -/* 03502C 8003A5CC 3803FFFC */ addi r0, r3, -4 -/* 035030 8003A5D0 7C040040 */ cmplw r4, r0 -/* 035034 8003A5D4 408238D8 */ bne lbl_8003DEAC -/* 035038 8003A5D8 807F0008 */ lwz r3, 8(r31) -/* 03503C 8003A5DC 80030008 */ lwz r0, 8(r3) -/* 035040 8003A5E0 2C000000 */ cmpwi r0, 0 -/* 035044 8003A5E4 41820018 */ beq lbl_8003A5FC -/* 035048 8003A5E8 4BFF2D3D */ bl systemCheckInterrupts -/* 03504C 8003A5EC 2C030000 */ cmpwi r3, 0 -/* 035050 8003A5F0 40820018 */ bne lbl_8003A608 -/* 035054 8003A5F4 38000000 */ li r0, 0 -/* 035058 8003A5F8 48000014 */ b lbl_8003A60C -lbl_8003A5FC: -/* 03505C 8003A5FC 80630050 */ lwz r3, 0x50(r3) -/* 035060 8003A600 38800000 */ li r4, 0 -/* 035064 8003A604 480543F1 */ bl videoForceRetrace -lbl_8003A608: -/* 035068 8003A608 38000001 */ li r0, 1 -lbl_8003A60C: -/* 03506C 8003A60C 2C000000 */ cmpwi r0, 0 -/* 035070 8003A610 4082389C */ bne lbl_8003DEAC -/* 035074 8003A614 38600000 */ li r3, 0 -/* 035078 8003A618 480038D8 */ b lbl_8003DEF0 -.global lbl_8003A61C -lbl_8003A61C: -/* 03507C 8003A61C 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 035080 8003A620 7C9F1A14 */ add r4, r31, r3 -/* 035084 8003A624 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035088 8003A628 80840044 */ lwz r4, 0x44(r4) -/* 03508C 8003A62C 7C7F0214 */ add r3, r31, r0 -/* 035090 8003A630 80030044 */ lwz r0, 0x44(r3) -/* 035094 8003A634 7C040000 */ cmpw r4, r0 -/* 035098 8003A638 41823874 */ beq lbl_8003DEAC -/* 03509C 8003A63C 57C0043E */ clrlwi r0, r30, 0x10 -/* 0350A0 8003A640 807F0028 */ lwz r3, 0x28(r31) -/* 0350A4 8003A644 7C000734 */ extsh r0, r0 -/* 0350A8 8003A648 5400103A */ slwi r0, r0, 2 -/* 0350AC 8003A64C 7C030214 */ add r0, r3, r0 -/* 0350B0 8003A650 901F002C */ stw r0, 0x2c(r31) -/* 0350B4 8003A654 48003858 */ b lbl_8003DEAC -.global lbl_8003A658 -lbl_8003A658: -/* 0350B8 8003A658 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0350BC 8003A65C 7C7F0214 */ add r3, r31, r0 -/* 0350C0 8003A660 80030044 */ lwz r0, 0x44(r3) -/* 0350C4 8003A664 2C000000 */ cmpwi r0, 0 -/* 0350C8 8003A668 41813844 */ bgt lbl_8003DEAC -/* 0350CC 8003A66C 57C0043E */ clrlwi r0, r30, 0x10 -/* 0350D0 8003A670 807F0028 */ lwz r3, 0x28(r31) -/* 0350D4 8003A674 7C000734 */ extsh r0, r0 -/* 0350D8 8003A678 5400103A */ slwi r0, r0, 2 -/* 0350DC 8003A67C 7C030214 */ add r0, r3, r0 -/* 0350E0 8003A680 901F002C */ stw r0, 0x2c(r31) -/* 0350E4 8003A684 48003828 */ b lbl_8003DEAC -.global lbl_8003A688 -lbl_8003A688: -/* 0350E8 8003A688 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0350EC 8003A68C 7C7F0214 */ add r3, r31, r0 -/* 0350F0 8003A690 80030044 */ lwz r0, 0x44(r3) -/* 0350F4 8003A694 2C000000 */ cmpwi r0, 0 -/* 0350F8 8003A698 40813814 */ ble lbl_8003DEAC -/* 0350FC 8003A69C 57C0043E */ clrlwi r0, r30, 0x10 -/* 035100 8003A6A0 807F0028 */ lwz r3, 0x28(r31) -/* 035104 8003A6A4 7C000734 */ extsh r0, r0 -/* 035108 8003A6A8 5400103A */ slwi r0, r0, 2 -/* 03510C 8003A6AC 7C030214 */ add r0, r3, r0 -/* 035110 8003A6B0 901F002C */ stw r0, 0x2c(r31) -/* 035114 8003A6B4 480037F8 */ b lbl_8003DEAC -.global lbl_8003A6B8 -lbl_8003A6B8: -/* 035118 8003A6B8 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 03511C 8003A6BC 7C7F0214 */ add r3, r31, r0 -/* 035120 8003A6C0 57C0043E */ clrlwi r0, r30, 0x10 -/* 035124 8003A6C4 80830044 */ lwz r4, 0x44(r3) -/* 035128 8003A6C8 7C030734 */ extsh r3, r0 -/* 03512C 8003A6CC 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035130 8003A6D0 7C841A14 */ add r4, r4, r3 -/* 035134 8003A6D4 7C7F0214 */ add r3, r31, r0 -/* 035138 8003A6D8 90830044 */ stw r4, 0x44(r3) -/* 03513C 8003A6DC 480037D0 */ b lbl_8003DEAC -.global lbl_8003A6E0 -lbl_8003A6E0: -/* 035140 8003A6E0 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 035144 8003A6E4 7C7F0214 */ add r3, r31, r0 -/* 035148 8003A6E8 57C0043E */ clrlwi r0, r30, 0x10 -/* 03514C 8003A6EC 80830044 */ lwz r4, 0x44(r3) -/* 035150 8003A6F0 7C030734 */ extsh r3, r0 -/* 035154 8003A6F4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035158 8003A6F8 7C841A14 */ add r4, r4, r3 -/* 03515C 8003A6FC 7C7F0214 */ add r3, r31, r0 -/* 035160 8003A700 90830044 */ stw r4, 0x44(r3) -/* 035164 8003A704 480037A8 */ b lbl_8003DEAC -.global lbl_8003A708 -lbl_8003A708: -/* 035168 8003A708 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 03516C 8003A70C 7C7F0214 */ add r3, r31, r0 -/* 035170 8003A710 57C0043E */ clrlwi r0, r30, 0x10 -/* 035174 8003A714 80630044 */ lwz r3, 0x44(r3) -/* 035178 8003A718 7C000734 */ extsh r0, r0 -/* 03517C 8003A71C 7C030000 */ cmpw r3, r0 -/* 035180 8003A720 4080000C */ bge lbl_8003A72C -/* 035184 8003A724 38800001 */ li r4, 1 -/* 035188 8003A728 48000008 */ b lbl_8003A730 -lbl_8003A72C: -/* 03518C 8003A72C 38800000 */ li r4, 0 -lbl_8003A730: -/* 035190 8003A730 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035194 8003A734 7C7F0214 */ add r3, r31, r0 -/* 035198 8003A738 90830044 */ stw r4, 0x44(r3) -/* 03519C 8003A73C 48003770 */ b lbl_8003DEAC -.global lbl_8003A740 -lbl_8003A740: -/* 0351A0 8003A740 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0351A4 8003A744 7C7F0214 */ add r3, r31, r0 -/* 0351A8 8003A748 57C0043E */ clrlwi r0, r30, 0x10 -/* 0351AC 8003A74C 80630044 */ lwz r3, 0x44(r3) -/* 0351B0 8003A750 7C000734 */ extsh r0, r0 -/* 0351B4 8003A754 7C030040 */ cmplw r3, r0 -/* 0351B8 8003A758 4080000C */ bge lbl_8003A764 -/* 0351BC 8003A75C 38800001 */ li r4, 1 -/* 0351C0 8003A760 48000008 */ b lbl_8003A768 -lbl_8003A764: -/* 0351C4 8003A764 38800000 */ li r4, 0 -lbl_8003A768: -/* 0351C8 8003A768 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0351CC 8003A76C 7C7F0214 */ add r3, r31, r0 -/* 0351D0 8003A770 90830044 */ stw r4, 0x44(r3) -/* 0351D4 8003A774 48003738 */ b lbl_8003DEAC -.global lbl_8003A778 -lbl_8003A778: -/* 0351D8 8003A778 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0351DC 8003A77C 7C7F0214 */ add r3, r31, r0 -/* 0351E0 8003A780 80830044 */ lwz r4, 0x44(r3) -/* 0351E4 8003A784 57C3043E */ clrlwi r3, r30, 0x10 -/* 0351E8 8003A788 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0351EC 8003A78C 7C841838 */ and r4, r4, r3 -/* 0351F0 8003A790 7C7F0214 */ add r3, r31, r0 -/* 0351F4 8003A794 90830044 */ stw r4, 0x44(r3) -/* 0351F8 8003A798 48003714 */ b lbl_8003DEAC -.global lbl_8003A79C -lbl_8003A79C: -/* 0351FC 8003A79C 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 035200 8003A7A0 7C7F0214 */ add r3, r31, r0 -/* 035204 8003A7A4 80830044 */ lwz r4, 0x44(r3) -/* 035208 8003A7A8 57C3043E */ clrlwi r3, r30, 0x10 -/* 03520C 8003A7AC 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035210 8003A7B0 7C841B78 */ or r4, r4, r3 -/* 035214 8003A7B4 7C7F0214 */ add r3, r31, r0 -/* 035218 8003A7B8 90830044 */ stw r4, 0x44(r3) -/* 03521C 8003A7BC 480036F0 */ b lbl_8003DEAC -.global lbl_8003A7C0 -lbl_8003A7C0: -/* 035220 8003A7C0 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 035224 8003A7C4 7C7F0214 */ add r3, r31, r0 -/* 035228 8003A7C8 80830044 */ lwz r4, 0x44(r3) -/* 03522C 8003A7CC 57C3043E */ clrlwi r3, r30, 0x10 -/* 035230 8003A7D0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035234 8003A7D4 7C841A78 */ xor r4, r4, r3 -/* 035238 8003A7D8 7C7F0214 */ add r3, r31, r0 -/* 03523C 8003A7DC 90830044 */ stw r4, 0x44(r3) -/* 035240 8003A7E0 480036CC */ b lbl_8003DEAC -.global lbl_8003A7E4 -lbl_8003A7E4: -/* 035244 8003A7E4 57C0043E */ clrlwi r0, r30, 0x10 -/* 035248 8003A7E8 7C030734 */ extsh r3, r0 -/* 03524C 8003A7EC 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035250 8003A7F0 5464801E */ slwi r4, r3, 0x10 -/* 035254 8003A7F4 7C7F0214 */ add r3, r31, r0 -/* 035258 8003A7F8 90830044 */ stw r4, 0x44(r3) -/* 03525C 8003A7FC 480036B0 */ b lbl_8003DEAC -.global lbl_8003A800 -lbl_8003A800: -/* 035260 8003A800 57C006BE */ clrlwi r0, r30, 0x1a -/* 035264 8003A804 28000018 */ cmplwi r0, 0x18 -/* 035268 8003A808 41810468 */ bgt lbl_8003AC70 -/* 03526C 8003A80C 3C60800F */ lis r3, jtbl_800EC698@ha -/* 035270 8003A810 3863C698 */ addi r3, r3, jtbl_800EC698@l -/* 035274 8003A814 5400103A */ slwi r0, r0, 2 -/* 035278 8003A818 7C03002E */ lwzx r0, r3, r0 -/* 03527C 8003A81C 7C0903A6 */ mtctr r0 -/* 035280 8003A820 4E800420 */ bctr -.global lbl_8003A824 -lbl_8003A824: -/* 035284 8003A824 807F0A44 */ lwz r3, 0xa44(r31) -/* 035288 8003A828 3800003F */ li r0, 0x3f -/* 03528C 8003A82C 7C600038 */ and r0, r3, r0 -/* 035290 8003A830 1C000028 */ mulli r0, r0, 0x28 -/* 035294 8003A834 7C9F0214 */ add r4, r31, r0 -/* 035298 8003A838 80040240 */ lwz r0, 0x240(r4) -/* 03529C 8003A83C 80640244 */ lwz r3, 0x244(r4) -/* 0352A0 8003A840 907F0A54 */ stw r3, 0xa54(r31) -/* 0352A4 8003A844 901F0A50 */ stw r0, 0xa50(r31) -/* 0352A8 8003A848 80040248 */ lwz r0, 0x248(r4) -/* 0352AC 8003A84C 8064024C */ lwz r3, 0x24c(r4) -/* 0352B0 8003A850 907F0A5C */ stw r3, 0xa5c(r31) -/* 0352B4 8003A854 901F0A58 */ stw r0, 0xa58(r31) -/* 0352B8 8003A858 80040250 */ lwz r0, 0x250(r4) -/* 0352BC 8003A85C 80640254 */ lwz r3, 0x254(r4) -/* 0352C0 8003A860 907F0A94 */ stw r3, 0xa94(r31) -/* 0352C4 8003A864 901F0A90 */ stw r0, 0xa90(r31) -/* 0352C8 8003A868 80040258 */ lwz r0, 0x258(r4) -/* 0352CC 8003A86C 8064025C */ lwz r3, 0x25c(r4) -/* 0352D0 8003A870 907F0A6C */ stw r3, 0xa6c(r31) -/* 0352D4 8003A874 901F0A68 */ stw r0, 0xa68(r31) -/* 0352D8 8003A878 48003634 */ b lbl_8003DEAC -.global lbl_8003A87C -lbl_8003A87C: -/* 0352DC 8003A87C 807F0A44 */ lwz r3, 0xa44(r31) -/* 0352E0 8003A880 3800003F */ li r0, 0x3f -/* 0352E4 8003A884 7C640038 */ and r4, r3, r0 -/* 0352E8 8003A888 387F0000 */ addi r3, r31, 0 -/* 0352EC 8003A88C 4BFFB161 */ bl cpuSetTLB -/* 0352F0 8003A890 4800361C */ b lbl_8003DEAC -.global lbl_8003A894 -lbl_8003A894: -/* 0352F4 8003A894 38000006 */ li r0, 6 -/* 0352F8 8003A898 38800000 */ li r4, 0 -/* 0352FC 8003A89C 7C0903A6 */ mtctr r0 -/* 035300 8003A8A0 39240000 */ addi r9, r4, 0 -/* 035304 8003A8A4 395F0000 */ addi r10, r31, 0 -/* 035308 8003A8A8 38E40000 */ addi r7, r4, 0 -/* 03530C 8003A8AC 38C40000 */ addi r6, r4, 0 -/* 035310 8003A8B0 38A40000 */ addi r5, r4, 0 -/* 035314 8003A8B4 39000002 */ li r8, 2 -lbl_8003A8B8: -/* 035318 8003A8B8 800A0250 */ lwz r0, 0x250(r10) -/* 03531C 8003A8BC 806A0254 */ lwz r3, 0x254(r10) -/* 035320 8003A8C0 7C003838 */ and r0, r0, r7 -/* 035324 8003A8C4 7C634038 */ and r3, r3, r8 -/* 035328 8003A8C8 7C633278 */ xor r3, r3, r6 -/* 03532C 8003A8CC 7C002A78 */ xor r0, r0, r5 -/* 035330 8003A8D0 7C600379 */ or. r0, r3, r0 -/* 035334 8003A8D4 40820008 */ bne lbl_8003A8DC -/* 035338 8003A8D8 38840001 */ addi r4, r4, 1 -lbl_8003A8DC: -/* 03533C 8003A8DC 800A0278 */ lwz r0, 0x278(r10) -/* 035340 8003A8E0 806A027C */ lwz r3, 0x27c(r10) -/* 035344 8003A8E4 394A0028 */ addi r10, r10, 0x28 -/* 035348 8003A8E8 7C003838 */ and r0, r0, r7 -/* 03534C 8003A8EC 7C634038 */ and r3, r3, r8 -/* 035350 8003A8F0 7C633278 */ xor r3, r3, r6 -/* 035354 8003A8F4 7C002A78 */ xor r0, r0, r5 -/* 035358 8003A8F8 7C600379 */ or. r0, r3, r0 -/* 03535C 8003A8FC 40820008 */ bne lbl_8003A904 -/* 035360 8003A900 38840001 */ addi r4, r4, 1 -lbl_8003A904: -/* 035364 8003A904 800A0278 */ lwz r0, 0x278(r10) -/* 035368 8003A908 39290001 */ addi r9, r9, 1 -/* 03536C 8003A90C 806A027C */ lwz r3, 0x27c(r10) -/* 035370 8003A910 394A0028 */ addi r10, r10, 0x28 -/* 035374 8003A914 7C003838 */ and r0, r0, r7 -/* 035378 8003A918 7C634038 */ and r3, r3, r8 -/* 03537C 8003A91C 7C633278 */ xor r3, r3, r6 -/* 035380 8003A920 7C002A78 */ xor r0, r0, r5 -/* 035384 8003A924 7C600379 */ or. r0, r3, r0 -/* 035388 8003A928 40820008 */ bne lbl_8003A930 -/* 03538C 8003A92C 38840001 */ addi r4, r4, 1 -lbl_8003A930: -/* 035390 8003A930 800A0278 */ lwz r0, 0x278(r10) -/* 035394 8003A934 39290001 */ addi r9, r9, 1 -/* 035398 8003A938 806A027C */ lwz r3, 0x27c(r10) -/* 03539C 8003A93C 394A0028 */ addi r10, r10, 0x28 -/* 0353A0 8003A940 7C003838 */ and r0, r0, r7 -/* 0353A4 8003A944 7C634038 */ and r3, r3, r8 -/* 0353A8 8003A948 7C633278 */ xor r3, r3, r6 -/* 0353AC 8003A94C 7C002A78 */ xor r0, r0, r5 -/* 0353B0 8003A950 7C600379 */ or. r0, r3, r0 -/* 0353B4 8003A954 40820008 */ bne lbl_8003A95C -/* 0353B8 8003A958 38840001 */ addi r4, r4, 1 -lbl_8003A95C: -/* 0353BC 8003A95C 800A0278 */ lwz r0, 0x278(r10) -/* 0353C0 8003A960 39290001 */ addi r9, r9, 1 -/* 0353C4 8003A964 806A027C */ lwz r3, 0x27c(r10) -/* 0353C8 8003A968 394A0028 */ addi r10, r10, 0x28 -/* 0353CC 8003A96C 7C003838 */ and r0, r0, r7 -/* 0353D0 8003A970 7C634038 */ and r3, r3, r8 -/* 0353D4 8003A974 7C633278 */ xor r3, r3, r6 -/* 0353D8 8003A978 7C002A78 */ xor r0, r0, r5 -/* 0353DC 8003A97C 7C600379 */ or. r0, r3, r0 -/* 0353E0 8003A980 40820008 */ bne lbl_8003A988 -/* 0353E4 8003A984 38840001 */ addi r4, r4, 1 -lbl_8003A988: -/* 0353E8 8003A988 800A0278 */ lwz r0, 0x278(r10) -/* 0353EC 8003A98C 39290001 */ addi r9, r9, 1 -/* 0353F0 8003A990 806A027C */ lwz r3, 0x27c(r10) -/* 0353F4 8003A994 394A0028 */ addi r10, r10, 0x28 -/* 0353F8 8003A998 7C003838 */ and r0, r0, r7 -/* 0353FC 8003A99C 7C634038 */ and r3, r3, r8 -/* 035400 8003A9A0 7C633278 */ xor r3, r3, r6 -/* 035404 8003A9A4 7C002A78 */ xor r0, r0, r5 -/* 035408 8003A9A8 7C600379 */ or. r0, r3, r0 -/* 03540C 8003A9AC 40820008 */ bne lbl_8003A9B4 -/* 035410 8003A9B0 38840001 */ addi r4, r4, 1 -lbl_8003A9B4: -/* 035414 8003A9B4 800A0278 */ lwz r0, 0x278(r10) -/* 035418 8003A9B8 39290001 */ addi r9, r9, 1 -/* 03541C 8003A9BC 806A027C */ lwz r3, 0x27c(r10) -/* 035420 8003A9C0 394A0028 */ addi r10, r10, 0x28 -/* 035424 8003A9C4 7C003838 */ and r0, r0, r7 -/* 035428 8003A9C8 7C634038 */ and r3, r3, r8 -/* 03542C 8003A9CC 7C633278 */ xor r3, r3, r6 -/* 035430 8003A9D0 7C002A78 */ xor r0, r0, r5 -/* 035434 8003A9D4 7C600379 */ or. r0, r3, r0 -/* 035438 8003A9D8 40820008 */ bne lbl_8003A9E0 -/* 03543C 8003A9DC 38840001 */ addi r4, r4, 1 -lbl_8003A9E0: -/* 035440 8003A9E0 800A0278 */ lwz r0, 0x278(r10) -/* 035444 8003A9E4 39290001 */ addi r9, r9, 1 -/* 035448 8003A9E8 806A027C */ lwz r3, 0x27c(r10) -/* 03544C 8003A9EC 394A0028 */ addi r10, r10, 0x28 -/* 035450 8003A9F0 7C003838 */ and r0, r0, r7 -/* 035454 8003A9F4 7C634038 */ and r3, r3, r8 -/* 035458 8003A9F8 7C633278 */ xor r3, r3, r6 -/* 03545C 8003A9FC 7C002A78 */ xor r0, r0, r5 -/* 035460 8003AA00 7C600379 */ or. r0, r3, r0 -/* 035464 8003AA04 40820008 */ bne lbl_8003AA0C -/* 035468 8003AA08 38840001 */ addi r4, r4, 1 -lbl_8003AA0C: -/* 03546C 8003AA0C 394A0028 */ addi r10, r10, 0x28 -/* 035470 8003AA10 39290001 */ addi r9, r9, 1 -/* 035474 8003AA14 4200FEA4 */ bdnz lbl_8003A8B8 -/* 035478 8003AA18 909F0A4C */ stw r4, 0xa4c(r31) -/* 03547C 8003AA1C 7C80FE70 */ srawi r0, r4, 0x1f -/* 035480 8003AA20 7FE3FB78 */ mr r3, r31 -/* 035484 8003AA24 901F0A48 */ stw r0, 0xa48(r31) -/* 035488 8003AA28 4BFFAFC5 */ bl cpuSetTLB -/* 03548C 8003AA2C 48003480 */ b lbl_8003DEAC -.global lbl_8003AA30 -lbl_8003AA30: -/* 035490 8003AA30 80BF0A44 */ lwz r5, 0xa44(r31) -/* 035494 8003AA34 3C608000 */ lis r3, 0x8000 -/* 035498 8003AA38 3800000C */ li r0, 0xc -/* 03549C 8003AA3C 7CA31B78 */ or r3, r5, r3 -/* 0354A0 8003AA40 7C0903A6 */ mtctr r0 -/* 0354A4 8003AA44 907F0A44 */ stw r3, 0xa44(r31) -/* 0354A8 8003AA48 38DF0000 */ addi r6, r31, 0 -/* 0354AC 8003AA4C 38E00000 */ li r7, 0 -lbl_8003AA50: -/* 0354B0 8003AA50 80060240 */ lwz r0, 0x240(r6) -/* 0354B4 8003AA54 38800000 */ li r4, 0 -/* 0354B8 8003AA58 80A60244 */ lwz r5, 0x244(r6) -/* 0354BC 8003AA5C 38600002 */ li r3, 2 -/* 0354C0 8003AA60 7C002038 */ and r0, r0, r4 -/* 0354C4 8003AA64 7CA31838 */ and r3, r5, r3 -/* 0354C8 8003AA68 7C632278 */ xor r3, r3, r4 -/* 0354CC 8003AA6C 7C002278 */ xor r0, r0, r4 -/* 0354D0 8003AA70 7C600379 */ or. r0, r3, r0 -/* 0354D4 8003AA74 41820034 */ beq lbl_8003AAA8 -/* 0354D8 8003AA78 80860250 */ lwz r4, 0x250(r6) -/* 0354DC 8003AA7C 801F0A90 */ lwz r0, 0xa90(r31) -/* 0354E0 8003AA80 80A60254 */ lwz r5, 0x254(r6) -/* 0354E4 8003AA84 807F0A94 */ lwz r3, 0xa94(r31) -/* 0354E8 8003AA88 7C800278 */ xor r0, r4, r0 -/* 0354EC 8003AA8C 7CA31A78 */ xor r3, r5, r3 -/* 0354F0 8003AA90 7C600379 */ or. r0, r3, r0 -/* 0354F4 8003AA94 40820014 */ bne lbl_8003AAA8 -/* 0354F8 8003AA98 90FF0A44 */ stw r7, 0xa44(r31) -/* 0354FC 8003AA9C 7CE0FE70 */ srawi r0, r7, 0x1f -/* 035500 8003AAA0 901F0A40 */ stw r0, 0xa40(r31) -/* 035504 8003AAA4 48003408 */ b lbl_8003DEAC -lbl_8003AAA8: -/* 035508 8003AAA8 80060268 */ lwz r0, 0x268(r6) -/* 03550C 8003AAAC 38800000 */ li r4, 0 -/* 035510 8003AAB0 80A6026C */ lwz r5, 0x26c(r6) -/* 035514 8003AAB4 38600002 */ li r3, 2 -/* 035518 8003AAB8 7C002038 */ and r0, r0, r4 -/* 03551C 8003AABC 7CA31838 */ and r3, r5, r3 -/* 035520 8003AAC0 7C632278 */ xor r3, r3, r4 -/* 035524 8003AAC4 7C002278 */ xor r0, r0, r4 -/* 035528 8003AAC8 7C600379 */ or. r0, r3, r0 -/* 03552C 8003AACC 38E70001 */ addi r7, r7, 1 -/* 035530 8003AAD0 38C60028 */ addi r6, r6, 0x28 -/* 035534 8003AAD4 41820034 */ beq lbl_8003AB08 -/* 035538 8003AAD8 80860250 */ lwz r4, 0x250(r6) -/* 03553C 8003AADC 801F0A90 */ lwz r0, 0xa90(r31) -/* 035540 8003AAE0 80A60254 */ lwz r5, 0x254(r6) -/* 035544 8003AAE4 807F0A94 */ lwz r3, 0xa94(r31) -/* 035548 8003AAE8 7C800278 */ xor r0, r4, r0 -/* 03554C 8003AAEC 7CA31A78 */ xor r3, r5, r3 -/* 035550 8003AAF0 7C600379 */ or. r0, r3, r0 -/* 035554 8003AAF4 40820014 */ bne lbl_8003AB08 -/* 035558 8003AAF8 90FF0A44 */ stw r7, 0xa44(r31) -/* 03555C 8003AAFC 7CE0FE70 */ srawi r0, r7, 0x1f -/* 035560 8003AB00 901F0A40 */ stw r0, 0xa40(r31) -/* 035564 8003AB04 480033A8 */ b lbl_8003DEAC -lbl_8003AB08: -/* 035568 8003AB08 80060268 */ lwz r0, 0x268(r6) -/* 03556C 8003AB0C 38800000 */ li r4, 0 -/* 035570 8003AB10 80A6026C */ lwz r5, 0x26c(r6) -/* 035574 8003AB14 38600002 */ li r3, 2 -/* 035578 8003AB18 7C002038 */ and r0, r0, r4 -/* 03557C 8003AB1C 7CA31838 */ and r3, r5, r3 -/* 035580 8003AB20 7C632278 */ xor r3, r3, r4 -/* 035584 8003AB24 7C002278 */ xor r0, r0, r4 -/* 035588 8003AB28 7C600379 */ or. r0, r3, r0 -/* 03558C 8003AB2C 38E70001 */ addi r7, r7, 1 -/* 035590 8003AB30 38C60028 */ addi r6, r6, 0x28 -/* 035594 8003AB34 41820034 */ beq lbl_8003AB68 -/* 035598 8003AB38 80860250 */ lwz r4, 0x250(r6) -/* 03559C 8003AB3C 801F0A90 */ lwz r0, 0xa90(r31) -/* 0355A0 8003AB40 80A60254 */ lwz r5, 0x254(r6) -/* 0355A4 8003AB44 807F0A94 */ lwz r3, 0xa94(r31) -/* 0355A8 8003AB48 7C800278 */ xor r0, r4, r0 -/* 0355AC 8003AB4C 7CA31A78 */ xor r3, r5, r3 -/* 0355B0 8003AB50 7C600379 */ or. r0, r3, r0 -/* 0355B4 8003AB54 40820014 */ bne lbl_8003AB68 -/* 0355B8 8003AB58 90FF0A44 */ stw r7, 0xa44(r31) -/* 0355BC 8003AB5C 7CE0FE70 */ srawi r0, r7, 0x1f -/* 0355C0 8003AB60 901F0A40 */ stw r0, 0xa40(r31) -/* 0355C4 8003AB64 48003348 */ b lbl_8003DEAC -lbl_8003AB68: -/* 0355C8 8003AB68 80060268 */ lwz r0, 0x268(r6) -/* 0355CC 8003AB6C 38800000 */ li r4, 0 -/* 0355D0 8003AB70 80A6026C */ lwz r5, 0x26c(r6) -/* 0355D4 8003AB74 38600002 */ li r3, 2 -/* 0355D8 8003AB78 7C002038 */ and r0, r0, r4 -/* 0355DC 8003AB7C 7CA31838 */ and r3, r5, r3 -/* 0355E0 8003AB80 7C632278 */ xor r3, r3, r4 -/* 0355E4 8003AB84 7C002278 */ xor r0, r0, r4 -/* 0355E8 8003AB88 7C600379 */ or. r0, r3, r0 -/* 0355EC 8003AB8C 38E70001 */ addi r7, r7, 1 -/* 0355F0 8003AB90 38C60028 */ addi r6, r6, 0x28 -/* 0355F4 8003AB94 41820034 */ beq lbl_8003ABC8 -/* 0355F8 8003AB98 80860250 */ lwz r4, 0x250(r6) -/* 0355FC 8003AB9C 801F0A90 */ lwz r0, 0xa90(r31) -/* 035600 8003ABA0 80A60254 */ lwz r5, 0x254(r6) -/* 035604 8003ABA4 807F0A94 */ lwz r3, 0xa94(r31) -/* 035608 8003ABA8 7C800278 */ xor r0, r4, r0 -/* 03560C 8003ABAC 7CA31A78 */ xor r3, r5, r3 -/* 035610 8003ABB0 7C600379 */ or. r0, r3, r0 -/* 035614 8003ABB4 40820014 */ bne lbl_8003ABC8 -/* 035618 8003ABB8 90FF0A44 */ stw r7, 0xa44(r31) -/* 03561C 8003ABBC 7CE0FE70 */ srawi r0, r7, 0x1f -/* 035620 8003ABC0 901F0A40 */ stw r0, 0xa40(r31) -/* 035624 8003ABC4 480032E8 */ b lbl_8003DEAC -lbl_8003ABC8: -/* 035628 8003ABC8 38C60028 */ addi r6, r6, 0x28 -/* 03562C 8003ABCC 38E70001 */ addi r7, r7, 1 -/* 035630 8003ABD0 4200FE80 */ bdnz lbl_8003AA50 -/* 035634 8003ABD4 480032D8 */ b lbl_8003DEAC -.global lbl_8003ABD8 -lbl_8003ABD8: -/* 035638 8003ABD8 801F0AA0 */ lwz r0, 0xaa0(r31) -/* 03563C 8003ABDC 38800000 */ li r4, 0 -/* 035640 8003ABE0 80BF0AA4 */ lwz r5, 0xaa4(r31) -/* 035644 8003ABE4 38600004 */ li r3, 4 -/* 035648 8003ABE8 7C002038 */ and r0, r0, r4 -/* 03564C 8003ABEC 7CA31838 */ and r3, r5, r3 -/* 035650 8003ABF0 7C632278 */ xor r3, r3, r4 -/* 035654 8003ABF4 7C002278 */ xor r0, r0, r4 -/* 035658 8003ABF8 7C600379 */ or. r0, r3, r0 -/* 03565C 8003ABFC 41820030 */ beq lbl_8003AC2C -/* 035660 8003AC00 809F0B34 */ lwz r4, 0xb34(r31) -/* 035664 8003AC04 3800FFFB */ li r0, -5 -/* 035668 8003AC08 3860FFFF */ li r3, -1 -/* 03566C 8003AC0C 909F0028 */ stw r4, 0x28(r31) -/* 035670 8003AC10 80BF0AA4 */ lwz r5, 0xaa4(r31) -/* 035674 8003AC14 809F0AA0 */ lwz r4, 0xaa0(r31) -/* 035678 8003AC18 7CA00038 */ and r0, r5, r0 -/* 03567C 8003AC1C 901F0AA4 */ stw r0, 0xaa4(r31) -/* 035680 8003AC20 7C801838 */ and r0, r4, r3 -/* 035684 8003AC24 901F0AA0 */ stw r0, 0xaa0(r31) -/* 035688 8003AC28 4800002C */ b lbl_8003AC54 -lbl_8003AC2C: -/* 03568C 8003AC2C 809F0AB4 */ lwz r4, 0xab4(r31) -/* 035690 8003AC30 3800FFFD */ li r0, -3 -/* 035694 8003AC34 3860FFFF */ li r3, -1 -/* 035698 8003AC38 909F0028 */ stw r4, 0x28(r31) -/* 03569C 8003AC3C 80BF0AA4 */ lwz r5, 0xaa4(r31) -/* 0356A0 8003AC40 809F0AA0 */ lwz r4, 0xaa0(r31) -/* 0356A4 8003AC44 7CA00038 */ and r0, r5, r0 -/* 0356A8 8003AC48 901F0AA4 */ stw r0, 0xaa4(r31) -/* 0356AC 8003AC4C 7C801838 */ and r0, r4, r3 -/* 0356B0 8003AC50 901F0AA0 */ stw r0, 0xaa0(r31) -lbl_8003AC54: -/* 0356B4 8003AC54 801F0000 */ lwz r0, 0(r31) -/* 0356B8 8003AC58 60000004 */ ori r0, r0, 4 -/* 0356BC 8003AC5C 901F0000 */ stw r0, 0(r31) -/* 0356C0 8003AC60 801F0000 */ lwz r0, 0(r31) -/* 0356C4 8003AC64 60000020 */ ori r0, r0, 0x20 -/* 0356C8 8003AC68 901F0000 */ stw r0, 0(r31) -/* 0356CC 8003AC6C 48003240 */ b lbl_8003DEAC -.global lbl_8003AC70 -lbl_8003AC70: -/* 0356D0 8003AC70 57C05EFE */ rlwinm r0, r30, 0xb, 0x1b, 0x1f -/* 0356D4 8003AC74 28000008 */ cmplwi r0, 8 -/* 0356D8 8003AC78 41813234 */ bgt lbl_8003DEAC -/* 0356DC 8003AC7C 3C60800F */ lis r3, jtbl_800EC674@ha -/* 0356E0 8003AC80 3863C674 */ addi r3, r3, jtbl_800EC674@l -/* 0356E4 8003AC84 5400103A */ slwi r0, r0, 2 -/* 0356E8 8003AC88 7C03002E */ lwzx r0, r3, r0 -/* 0356EC 8003AC8C 7C0903A6 */ mtctr r0 -/* 0356F0 8003AC90 4E800420 */ bctr -.global lbl_8003AC94 -lbl_8003AC94: -/* 0356F4 8003AC94 387F0000 */ addi r3, r31, 0 -/* 0356F8 8003AC98 57C4AEFE */ rlwinm r4, r30, 0x15, 0x1b, 0x1f -/* 0356FC 8003AC9C 38A10058 */ addi r5, r1, 0x58 -/* 035700 8003ACA0 4BFFA629 */ bl cpuGetRegisterCP0 -/* 035704 8003ACA4 2C030000 */ cmpwi r3, 0 -/* 035708 8003ACA8 41823204 */ beq lbl_8003DEAC -/* 03570C 8003ACAC 8081005C */ lwz r4, 0x5c(r1) -/* 035710 8003ACB0 3860FFFF */ li r3, -1 -/* 035714 8003ACB4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035718 8003ACB8 80C10058 */ lwz r6, 0x58(r1) -/* 03571C 8003ACBC 7C841838 */ and r4, r4, r3 -/* 035720 8003ACC0 7C7F0214 */ add r3, r31, r0 -/* 035724 8003ACC4 38A00000 */ li r5, 0 -/* 035728 8003ACC8 90830044 */ stw r4, 0x44(r3) -/* 03572C 8003ACCC 7CC02838 */ and r0, r6, r5 -/* 035730 8003ACD0 90030040 */ stw r0, 0x40(r3) -/* 035734 8003ACD4 480031D8 */ b lbl_8003DEAC -.global lbl_8003ACD8 -lbl_8003ACD8: -/* 035738 8003ACD8 387F0000 */ addi r3, r31, 0 -/* 03573C 8003ACDC 57C4AEFE */ rlwinm r4, r30, 0x15, 0x1b, 0x1f -/* 035740 8003ACE0 38A10058 */ addi r5, r1, 0x58 -/* 035744 8003ACE4 4BFFA5E5 */ bl cpuGetRegisterCP0 -/* 035748 8003ACE8 2C030000 */ cmpwi r3, 0 -/* 03574C 8003ACEC 418231C0 */ beq lbl_8003DEAC -/* 035750 8003ACF0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035754 8003ACF4 80810058 */ lwz r4, 0x58(r1) -/* 035758 8003ACF8 80A1005C */ lwz r5, 0x5c(r1) -/* 03575C 8003ACFC 7C7F0214 */ add r3, r31, r0 -/* 035760 8003AD00 90A30044 */ stw r5, 0x44(r3) -/* 035764 8003AD04 90830040 */ stw r4, 0x40(r3) -/* 035768 8003AD08 480031A4 */ b lbl_8003DEAC -.global lbl_8003AD0C -lbl_8003AD0C: -/* 03576C 8003AD0C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035770 8003AD10 7C7F0214 */ add r3, r31, r0 -/* 035774 8003AD14 80C30044 */ lwz r6, 0x44(r3) -/* 035778 8003AD18 387F0000 */ addi r3, r31, 0 -/* 03577C 8003AD1C 57C4AEFE */ rlwinm r4, r30, 0x15, 0x1b, 0x1f -/* 035780 8003AD20 38A00000 */ li r5, 0 -/* 035784 8003AD24 4BFFA84D */ bl cpuSetRegisterCP0 -/* 035788 8003AD28 48003184 */ b lbl_8003DEAC -.global lbl_8003AD2C -lbl_8003AD2C: -/* 03578C 8003AD2C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035790 8003AD30 7C9F0214 */ add r4, r31, r0 -/* 035794 8003AD34 80A40040 */ lwz r5, 0x40(r4) -/* 035798 8003AD38 7FE3FB78 */ mr r3, r31 -/* 03579C 8003AD3C 80C40044 */ lwz r6, 0x44(r4) -/* 0357A0 8003AD40 57C4AEFE */ rlwinm r4, r30, 0x15, 0x1b, 0x1f -/* 0357A4 8003AD44 4BFFA82D */ bl cpuSetRegisterCP0 -/* 0357A8 8003AD48 48003164 */ b lbl_8003DEAC -.global lbl_8003AD4C -lbl_8003AD4C: -/* 0357AC 8003AD4C 57C0057F */ clrlwi. r0, r30, 0x15 -/* 0357B0 8003AD50 40820188 */ bne lbl_8003AED8 -/* 0357B4 8003AD54 57C05EFE */ rlwinm r0, r30, 0xb, 0x1b, 0x1f -/* 0357B8 8003AD58 28000010 */ cmplwi r0, 0x10 -/* 0357BC 8003AD5C 4080017C */ bge lbl_8003AED8 -/* 0357C0 8003AD60 5400063E */ clrlwi r0, r0, 0x18 -/* 0357C4 8003AD64 28000006 */ cmplwi r0, 6 -/* 0357C8 8003AD68 41813144 */ bgt lbl_8003DEAC -/* 0357CC 8003AD6C 3C60800F */ lis r3, jtbl_800EC658@ha -/* 0357D0 8003AD70 3863C658 */ addi r3, r3, jtbl_800EC658@l -/* 0357D4 8003AD74 5400103A */ slwi r0, r0, 2 -/* 0357D8 8003AD78 7C03002E */ lwzx r0, r3, r0 -/* 0357DC 8003AD7C 7C0903A6 */ mtctr r0 -/* 0357E0 8003AD80 4E800420 */ bctr -.global lbl_8003AD84 -lbl_8003AD84: -/* 0357E4 8003AD84 57C0AFFF */ rlwinm. r0, r30, 0x15, 0x1f, 0x1f -/* 0357E8 8003AD88 57C3AAFE */ srwi r3, r30, 0xb -/* 0357EC 8003AD8C 4182002C */ beq lbl_8003ADB8 -/* 0357F0 8003AD90 54601E38 */ rlwinm r0, r3, 3, 0x18, 0x1c -/* 0357F4 8003AD94 7C9F0214 */ add r4, r31, r0 -/* 0357F8 8003AD98 80640138 */ lwz r3, 0x138(r4) -/* 0357FC 8003AD9C 38A00020 */ li r5, 0x20 -/* 035800 8003ADA0 8084013C */ lwz r4, 0x13c(r4) -/* 035804 8003ADA4 48092FC5 */ bl __shr2u -/* 035808 8003ADA8 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 03580C 8003ADAC 7C7F0214 */ add r3, r31, r0 -/* 035810 8003ADB0 90830044 */ stw r4, 0x44(r3) -/* 035814 8003ADB4 480030F8 */ b lbl_8003DEAC -lbl_8003ADB8: -/* 035818 8003ADB8 54601E38 */ rlwinm r0, r3, 3, 0x18, 0x1c -/* 03581C 8003ADBC 7C7F0214 */ add r3, r31, r0 -/* 035820 8003ADC0 80830144 */ lwz r4, 0x144(r3) -/* 035824 8003ADC4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035828 8003ADC8 7C7F0214 */ add r3, r31, r0 -/* 03582C 8003ADCC 90830044 */ stw r4, 0x44(r3) -/* 035830 8003ADD0 480030DC */ b lbl_8003DEAC -.global lbl_8003ADD4 -lbl_8003ADD4: -/* 035834 8003ADD4 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035838 8003ADD8 7C7F0214 */ add r3, r31, r0 -/* 03583C 8003ADDC 80830140 */ lwz r4, 0x140(r3) -/* 035840 8003ADE0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035844 8003ADE4 80A30144 */ lwz r5, 0x144(r3) -/* 035848 8003ADE8 7C7F0214 */ add r3, r31, r0 -/* 03584C 8003ADEC 90A30044 */ stw r5, 0x44(r3) -/* 035850 8003ADF0 90830040 */ stw r4, 0x40(r3) -/* 035854 8003ADF4 480030B8 */ b lbl_8003DEAC -.global lbl_8003ADF8 -lbl_8003ADF8: -/* 035858 8003ADF8 57C0BE7A */ rlwinm r0, r30, 0x17, 0x19, 0x1d -/* 03585C 8003ADFC 7C7F0214 */ add r3, r31, r0 -/* 035860 8003AE00 808309C0 */ lwz r4, 0x9c0(r3) -/* 035864 8003AE04 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035868 8003AE08 7C7F0214 */ add r3, r31, r0 -/* 03586C 8003AE0C 90830044 */ stw r4, 0x44(r3) -/* 035870 8003AE10 4800309C */ b lbl_8003DEAC -.global lbl_8003AE14 -lbl_8003AE14: -/* 035874 8003AE14 57C0AFFF */ rlwinm. r0, r30, 0x15, 0x1f, 0x1f -/* 035878 8003AE18 57C5AAFE */ srwi r5, r30, 0xb -/* 03587C 8003AE1C 41820060 */ beq lbl_8003AE7C -/* 035880 8003AE20 54A01E38 */ rlwinm r0, r5, 3, 0x18, 0x1c -/* 035884 8003AE24 7F9F0214 */ add r28, r31, r0 -/* 035888 8003AE28 80BC013C */ lwz r5, 0x13c(r28) -/* 03588C 8003AE2C 3800FFFF */ li r0, -1 -/* 035890 8003AE30 809C0138 */ lwz r4, 0x138(r28) -/* 035894 8003AE34 38600000 */ li r3, 0 -/* 035898 8003AE38 7CA00038 */ and r0, r5, r0 -/* 03589C 8003AE3C 901C013C */ stw r0, 0x13c(r28) -/* 0358A0 8003AE40 7C831838 */ and r3, r4, r3 -/* 0358A4 8003AE44 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0358A8 8003AE48 947C0138 */ stwu r3, 0x138(r28) -/* 0358AC 8003AE4C 7C7F0214 */ add r3, r31, r0 -/* 0358B0 8003AE50 38A00020 */ li r5, 0x20 -/* 0358B4 8003AE54 80830044 */ lwz r4, 0x44(r3) -/* 0358B8 8003AE58 38600000 */ li r3, 0 -/* 0358BC 8003AE5C 48092EE9 */ bl __shl2i -/* 0358C0 8003AE60 801C0004 */ lwz r0, 4(r28) -/* 0358C4 8003AE64 80BC0000 */ lwz r5, 0(r28) -/* 0358C8 8003AE68 7C002378 */ or r0, r0, r4 -/* 0358CC 8003AE6C 901C0004 */ stw r0, 4(r28) -/* 0358D0 8003AE70 7CA01B78 */ or r0, r5, r3 -/* 0358D4 8003AE74 901C0000 */ stw r0, 0(r28) -/* 0358D8 8003AE78 48003034 */ b lbl_8003DEAC -lbl_8003AE7C: -/* 0358DC 8003AE7C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0358E0 8003AE80 7C7F0214 */ add r3, r31, r0 -/* 0358E4 8003AE84 80830044 */ lwz r4, 0x44(r3) -/* 0358E8 8003AE88 54A01E38 */ rlwinm r0, r5, 3, 0x18, 0x1c -/* 0358EC 8003AE8C 7C7F0214 */ add r3, r31, r0 -/* 0358F0 8003AE90 90830144 */ stw r4, 0x144(r3) -/* 0358F4 8003AE94 48003018 */ b lbl_8003DEAC -.global lbl_8003AE98 -lbl_8003AE98: -/* 0358F8 8003AE98 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0358FC 8003AE9C 7C7F0214 */ add r3, r31, r0 -/* 035900 8003AEA0 80830040 */ lwz r4, 0x40(r3) -/* 035904 8003AEA4 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035908 8003AEA8 80A30044 */ lwz r5, 0x44(r3) -/* 03590C 8003AEAC 7C7F0214 */ add r3, r31, r0 -/* 035910 8003AEB0 90A30144 */ stw r5, 0x144(r3) -/* 035914 8003AEB4 90830140 */ stw r4, 0x140(r3) -/* 035918 8003AEB8 48002FF4 */ b lbl_8003DEAC -.global lbl_8003AEBC -lbl_8003AEBC: -/* 03591C 8003AEBC 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035920 8003AEC0 7C7F0214 */ add r3, r31, r0 -/* 035924 8003AEC4 80830044 */ lwz r4, 0x44(r3) -/* 035928 8003AEC8 57C0BE7A */ rlwinm r0, r30, 0x17, 0x19, 0x1d -/* 03592C 8003AECC 7C7F0214 */ add r3, r31, r0 -/* 035930 8003AED0 908309C0 */ stw r4, 0x9c0(r3) -/* 035934 8003AED4 48002FD8 */ b lbl_8003DEAC -lbl_8003AED8: -/* 035938 8003AED8 57C05EFE */ rlwinm r0, r30, 0xb, 0x1b, 0x1f -/* 03593C 8003AEDC 28000008 */ cmplwi r0, 8 -/* 035940 8003AEE0 40820108 */ bne lbl_8003AFE8 -/* 035944 8003AEE4 57C086FE */ rlwinm r0, r30, 0x10, 0x1b, 0x1f -/* 035948 8003AEE8 2C000002 */ cmpwi r0, 2 -/* 03594C 8003AEEC 41820074 */ beq lbl_8003AF60 -/* 035950 8003AEF0 40800014 */ bge lbl_8003AF04 -/* 035954 8003AEF4 2C000000 */ cmpwi r0, 0 -/* 035958 8003AEF8 41820018 */ beq lbl_8003AF10 -/* 03595C 8003AEFC 4080003C */ bge lbl_8003AF38 -/* 035960 8003AF00 48002FAC */ b lbl_8003DEAC -lbl_8003AF04: -/* 035964 8003AF04 2C000004 */ cmpwi r0, 4 -/* 035968 8003AF08 40802FA4 */ bge lbl_8003DEAC -/* 03596C 8003AF0C 48000098 */ b lbl_8003AFA4 -lbl_8003AF10: -/* 035970 8003AF10 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035974 8003AF14 54000211 */ rlwinm. r0, r0, 0, 8, 8 -/* 035978 8003AF18 40822F94 */ bne lbl_8003DEAC -/* 03597C 8003AF1C 57C0043E */ clrlwi r0, r30, 0x10 -/* 035980 8003AF20 807F0028 */ lwz r3, 0x28(r31) -/* 035984 8003AF24 7C000734 */ extsh r0, r0 -/* 035988 8003AF28 5400103A */ slwi r0, r0, 2 -/* 03598C 8003AF2C 7C030214 */ add r0, r3, r0 -/* 035990 8003AF30 901F002C */ stw r0, 0x2c(r31) -/* 035994 8003AF34 48002F78 */ b lbl_8003DEAC -lbl_8003AF38: -/* 035998 8003AF38 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03599C 8003AF3C 54000211 */ rlwinm. r0, r0, 0, 8, 8 -/* 0359A0 8003AF40 41822F6C */ beq lbl_8003DEAC -/* 0359A4 8003AF44 57C0043E */ clrlwi r0, r30, 0x10 -/* 0359A8 8003AF48 807F0028 */ lwz r3, 0x28(r31) -/* 0359AC 8003AF4C 7C000734 */ extsh r0, r0 -/* 0359B0 8003AF50 5400103A */ slwi r0, r0, 2 -/* 0359B4 8003AF54 7C030214 */ add r0, r3, r0 -/* 0359B8 8003AF58 901F002C */ stw r0, 0x2c(r31) -/* 0359BC 8003AF5C 48002F50 */ b lbl_8003DEAC -lbl_8003AF60: -/* 0359C0 8003AF60 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0359C4 8003AF64 54000211 */ rlwinm. r0, r0, 0, 8, 8 -/* 0359C8 8003AF68 40820020 */ bne lbl_8003AF88 -/* 0359CC 8003AF6C 57C0043E */ clrlwi r0, r30, 0x10 -/* 0359D0 8003AF70 807F0028 */ lwz r3, 0x28(r31) -/* 0359D4 8003AF74 7C000734 */ extsh r0, r0 -/* 0359D8 8003AF78 5400103A */ slwi r0, r0, 2 -/* 0359DC 8003AF7C 7C030214 */ add r0, r3, r0 -/* 0359E0 8003AF80 901F002C */ stw r0, 0x2c(r31) -/* 0359E4 8003AF84 48002F28 */ b lbl_8003DEAC -lbl_8003AF88: -/* 0359E8 8003AF88 801F0000 */ lwz r0, 0(r31) -/* 0359EC 8003AF8C 60000004 */ ori r0, r0, 4 -/* 0359F0 8003AF90 901F0000 */ stw r0, 0(r31) -/* 0359F4 8003AF94 807F0028 */ lwz r3, 0x28(r31) -/* 0359F8 8003AF98 38030004 */ addi r0, r3, 4 -/* 0359FC 8003AF9C 901F0028 */ stw r0, 0x28(r31) -/* 035A00 8003AFA0 48002F0C */ b lbl_8003DEAC -lbl_8003AFA4: -/* 035A04 8003AFA4 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035A08 8003AFA8 54000211 */ rlwinm. r0, r0, 0, 8, 8 -/* 035A0C 8003AFAC 41820020 */ beq lbl_8003AFCC -/* 035A10 8003AFB0 57C0043E */ clrlwi r0, r30, 0x10 -/* 035A14 8003AFB4 807F0028 */ lwz r3, 0x28(r31) -/* 035A18 8003AFB8 7C000734 */ extsh r0, r0 -/* 035A1C 8003AFBC 5400103A */ slwi r0, r0, 2 -/* 035A20 8003AFC0 7C030214 */ add r0, r3, r0 -/* 035A24 8003AFC4 901F002C */ stw r0, 0x2c(r31) -/* 035A28 8003AFC8 48002EE4 */ b lbl_8003DEAC -lbl_8003AFCC: -/* 035A2C 8003AFCC 801F0000 */ lwz r0, 0(r31) -/* 035A30 8003AFD0 60000004 */ ori r0, r0, 4 -/* 035A34 8003AFD4 901F0000 */ stw r0, 0(r31) -/* 035A38 8003AFD8 807F0028 */ lwz r3, 0x28(r31) -/* 035A3C 8003AFDC 38030004 */ addi r0, r3, 4 -/* 035A40 8003AFE0 901F0028 */ stw r0, 0x28(r31) -/* 035A44 8003AFE4 48002EC8 */ b lbl_8003DEAC -lbl_8003AFE8: -/* 035A48 8003AFE8 5400063E */ clrlwi r0, r0, 0x18 -/* 035A4C 8003AFEC 2C000014 */ cmpwi r0, 0x14 -/* 035A50 8003AFF0 41820E90 */ beq lbl_8003BE80 -/* 035A54 8003AFF4 4080001C */ bge lbl_8003B010 -/* 035A58 8003AFF8 2C000011 */ cmpwi r0, 0x11 -/* 035A5C 8003AFFC 41820754 */ beq lbl_8003B750 -/* 035A60 8003B000 40802EAC */ bge lbl_8003DEAC -/* 035A64 8003B004 2C000010 */ cmpwi r0, 0x10 -/* 035A68 8003B008 40800014 */ bge lbl_8003B01C -/* 035A6C 8003B00C 48002EA0 */ b lbl_8003DEAC -lbl_8003B010: -/* 035A70 8003B010 2C000016 */ cmpwi r0, 0x16 -/* 035A74 8003B014 40802E98 */ bge lbl_8003DEAC -/* 035A78 8003B018 48001654 */ b lbl_8003C66C -lbl_8003B01C: -/* 035A7C 8003B01C 57C006BE */ clrlwi r0, r30, 0x1a -/* 035A80 8003B020 2800003F */ cmplwi r0, 0x3f -/* 035A84 8003B024 41812E88 */ bgt lbl_8003DEAC -/* 035A88 8003B028 3C60800F */ lis r3, jtbl_800EC558@ha -/* 035A8C 8003B02C 3863C558 */ addi r3, r3, jtbl_800EC558@l -/* 035A90 8003B030 5400103A */ slwi r0, r0, 2 -/* 035A94 8003B034 7C03002E */ lwzx r0, r3, r0 -/* 035A98 8003B038 7C0903A6 */ mtctr r0 -/* 035A9C 8003B03C 4E800420 */ bctr -.global lbl_8003B040 -lbl_8003B040: -/* 035AA0 8003B040 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 035AA4 8003B044 7C9F1A14 */ add r4, r31, r3 -/* 035AA8 8003B048 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035AAC 8003B04C C0240144 */ lfs f1, 0x144(r4) -/* 035AB0 8003B050 7C7F0214 */ add r3, r31, r0 -/* 035AB4 8003B054 C0030144 */ lfs f0, 0x144(r3) -/* 035AB8 8003B058 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035ABC 8003B05C 7C7F0214 */ add r3, r31, r0 -/* 035AC0 8003B060 EC01002A */ fadds f0, f1, f0 -/* 035AC4 8003B064 D0030144 */ stfs f0, 0x144(r3) -/* 035AC8 8003B068 48002E44 */ b lbl_8003DEAC -.global lbl_8003B06C -lbl_8003B06C: -/* 035ACC 8003B06C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 035AD0 8003B070 7C9F1A14 */ add r4, r31, r3 -/* 035AD4 8003B074 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035AD8 8003B078 C0240144 */ lfs f1, 0x144(r4) -/* 035ADC 8003B07C 7C7F0214 */ add r3, r31, r0 -/* 035AE0 8003B080 C0030144 */ lfs f0, 0x144(r3) -/* 035AE4 8003B084 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035AE8 8003B088 7C7F0214 */ add r3, r31, r0 -/* 035AEC 8003B08C EC010028 */ fsubs f0, f1, f0 -/* 035AF0 8003B090 D0030144 */ stfs f0, 0x144(r3) -/* 035AF4 8003B094 48002E18 */ b lbl_8003DEAC -.global lbl_8003B098 -lbl_8003B098: -/* 035AF8 8003B098 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 035AFC 8003B09C 7C9F1A14 */ add r4, r31, r3 -/* 035B00 8003B0A0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035B04 8003B0A4 C0240144 */ lfs f1, 0x144(r4) -/* 035B08 8003B0A8 7C7F0214 */ add r3, r31, r0 -/* 035B0C 8003B0AC C0030144 */ lfs f0, 0x144(r3) -/* 035B10 8003B0B0 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035B14 8003B0B4 7C7F0214 */ add r3, r31, r0 -/* 035B18 8003B0B8 EC010032 */ fmuls f0, f1, f0 -/* 035B1C 8003B0BC D0030144 */ stfs f0, 0x144(r3) -/* 035B20 8003B0C0 48002DEC */ b lbl_8003DEAC -.global lbl_8003B0C4 -lbl_8003B0C4: -/* 035B24 8003B0C4 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 035B28 8003B0C8 7C9F1A14 */ add r4, r31, r3 -/* 035B2C 8003B0CC 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035B30 8003B0D0 C0240144 */ lfs f1, 0x144(r4) -/* 035B34 8003B0D4 7C7F0214 */ add r3, r31, r0 -/* 035B38 8003B0D8 C0030144 */ lfs f0, 0x144(r3) -/* 035B3C 8003B0DC 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035B40 8003B0E0 7C7F0214 */ add r3, r31, r0 -/* 035B44 8003B0E4 EC010024 */ fdivs f0, f1, f0 -/* 035B48 8003B0E8 D0030144 */ stfs f0, 0x144(r3) -/* 035B4C 8003B0EC 48002DC0 */ b lbl_8003DEAC -.global lbl_8003B0F0 -lbl_8003B0F0: -/* 035B50 8003B0F0 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035B54 8003B0F4 C80282A0 */ lfd f0, D_80135FA0@sda21(r2) -/* 035B58 8003B0F8 7C7F0214 */ add r3, r31, r0 -/* 035B5C 8003B0FC C0830144 */ lfs f4, 0x144(r3) -/* 035B60 8003B100 FC040040 */ fcmpo cr0, f4, f0 -/* 035B64 8003B104 40810058 */ ble lbl_8003B15C -/* 035B68 8003B108 FC202034 */ frsqrte f1, f4 -/* 035B6C 8003B10C C86282A8 */ lfd f3, D_80135FA8@sda21(r2) -/* 035B70 8003B110 C84282B0 */ lfd f2, D_80135FB0@sda21(r2) -/* 035B74 8003B114 FC010072 */ fmul f0, f1, f1 -/* 035B78 8003B118 FC230072 */ fmul f1, f3, f1 -/* 035B7C 8003B11C FC04103C */ fnmsub f0, f4, f0, f2 -/* 035B80 8003B120 FC210032 */ fmul f1, f1, f0 -/* 035B84 8003B124 FC010072 */ fmul f0, f1, f1 -/* 035B88 8003B128 FC230072 */ fmul f1, f3, f1 -/* 035B8C 8003B12C FC04103C */ fnmsub f0, f4, f0, f2 -/* 035B90 8003B130 FC210032 */ fmul f1, f1, f0 -/* 035B94 8003B134 FC010072 */ fmul f0, f1, f1 -/* 035B98 8003B138 FC230072 */ fmul f1, f3, f1 -/* 035B9C 8003B13C FC04103C */ fnmsub f0, f4, f0, f2 -/* 035BA0 8003B140 FC210032 */ fmul f1, f1, f0 -/* 035BA4 8003B144 FC010072 */ fmul f0, f1, f1 -/* 035BA8 8003B148 FC230072 */ fmul f1, f3, f1 -/* 035BAC 8003B14C FC04103C */ fnmsub f0, f4, f0, f2 -/* 035BB0 8003B150 FC010032 */ fmul f0, f1, f0 -/* 035BB4 8003B154 FC040032 */ fmul f0, f4, f0 -/* 035BB8 8003B158 4800002C */ b lbl_8003B184 -lbl_8003B15C: -/* 035BBC 8003B15C FC002000 */ fcmpu cr0, f0, f4 -/* 035BC0 8003B160 40820008 */ bne lbl_8003B168 -/* 035BC4 8003B164 48000020 */ b lbl_8003B184 -lbl_8003B168: -/* 035BC8 8003B168 FC040000 */ fcmpu cr0, f4, f0 -/* 035BCC 8003B16C 41820010 */ beq lbl_8003B17C -/* 035BD0 8003B170 3C60800F */ lis r3, __float_nan@ha -/* 035BD4 8003B174 C0033E78 */ lfs f0, __float_nan@l(r3) -/* 035BD8 8003B178 4800000C */ b lbl_8003B184 -lbl_8003B17C: -/* 035BDC 8003B17C 3C60800F */ lis r3, __float_huge@ha -/* 035BE0 8003B180 C0033E7C */ lfs f0, __float_huge@l(r3) -lbl_8003B184: -/* 035BE4 8003B184 FC000018 */ frsp f0, f0 -/* 035BE8 8003B188 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035BEC 8003B18C 7C7F0214 */ add r3, r31, r0 -/* 035BF0 8003B190 D0030144 */ stfs f0, 0x144(r3) -/* 035BF4 8003B194 48002D18 */ b lbl_8003DEAC -.global lbl_8003B198 -lbl_8003B198: -/* 035BF8 8003B198 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035BFC 8003B19C 7C7F0214 */ add r3, r31, r0 -/* 035C00 8003B1A0 C0030144 */ lfs f0, 0x144(r3) -/* 035C04 8003B1A4 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035C08 8003B1A8 7C7F0214 */ add r3, r31, r0 -/* 035C0C 8003B1AC FC000210 */ fabs f0, f0 -/* 035C10 8003B1B0 FC000018 */ frsp f0, f0 -/* 035C14 8003B1B4 D0030144 */ stfs f0, 0x144(r3) -/* 035C18 8003B1B8 48002CF4 */ b lbl_8003DEAC -.global lbl_8003B1BC -lbl_8003B1BC: -/* 035C1C 8003B1BC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035C20 8003B1C0 7C7F0214 */ add r3, r31, r0 -/* 035C24 8003B1C4 C0030144 */ lfs f0, 0x144(r3) -/* 035C28 8003B1C8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035C2C 8003B1CC 7C7F0214 */ add r3, r31, r0 -/* 035C30 8003B1D0 D0030144 */ stfs f0, 0x144(r3) -/* 035C34 8003B1D4 48002CD8 */ b lbl_8003DEAC -.global lbl_8003B1D8 -lbl_8003B1D8: -/* 035C38 8003B1D8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035C3C 8003B1DC 7C7F0214 */ add r3, r31, r0 -/* 035C40 8003B1E0 C0030144 */ lfs f0, 0x144(r3) -/* 035C44 8003B1E4 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035C48 8003B1E8 7C7F0214 */ add r3, r31, r0 -/* 035C4C 8003B1EC FC000050 */ fneg f0, f0 -/* 035C50 8003B1F0 D0030144 */ stfs f0, 0x144(r3) -/* 035C54 8003B1F4 48002CB8 */ b lbl_8003DEAC -.global lbl_8003B1F8 -lbl_8003B1F8: -/* 035C58 8003B1F8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035C5C 8003B1FC C02282B8 */ lfs f1, D_80135FB8@sda21(r2) -/* 035C60 8003B200 7C7F0214 */ add r3, r31, r0 -/* 035C64 8003B204 C0030144 */ lfs f0, 0x144(r3) -/* 035C68 8003B208 EC21002A */ fadds f1, f1, f0 -/* 035C6C 8003B20C 48092D0D */ bl __cvt_dbl_usll -/* 035C70 8003B210 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035C74 8003B214 7CBF0214 */ add r5, r31, r0 -/* 035C78 8003B218 90850144 */ stw r4, 0x144(r5) -/* 035C7C 8003B21C 90650140 */ stw r3, 0x140(r5) -/* 035C80 8003B220 48002C8C */ b lbl_8003DEAC -.global lbl_8003B224 -lbl_8003B224: -/* 035C84 8003B224 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035C88 8003B228 7C7F0214 */ add r3, r31, r0 -/* 035C8C 8003B22C C0230144 */ lfs f1, 0x144(r3) -/* 035C90 8003B230 48092CE9 */ bl __cvt_dbl_usll -/* 035C94 8003B234 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035C98 8003B238 7CBF0214 */ add r5, r31, r0 -/* 035C9C 8003B23C 90850144 */ stw r4, 0x144(r5) -/* 035CA0 8003B240 90650140 */ stw r3, 0x140(r5) -/* 035CA4 8003B244 48002C68 */ b lbl_8003DEAC -.global lbl_8003B248 -lbl_8003B248: -/* 035CA8 8003B248 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035CAC 8003B24C 7C7F0214 */ add r3, r31, r0 -/* 035CB0 8003B250 C0230144 */ lfs f1, 0x144(r3) -/* 035CB4 8003B254 480966F5 */ bl ceil -/* 035CB8 8003B258 48092CC1 */ bl __cvt_dbl_usll -/* 035CBC 8003B25C 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035CC0 8003B260 7CBF0214 */ add r5, r31, r0 -/* 035CC4 8003B264 90850144 */ stw r4, 0x144(r5) -/* 035CC8 8003B268 90650140 */ stw r3, 0x140(r5) -/* 035CCC 8003B26C 48002C40 */ b lbl_8003DEAC -.global lbl_8003B270 -lbl_8003B270: -/* 035CD0 8003B270 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035CD4 8003B274 7C7F0214 */ add r3, r31, r0 -/* 035CD8 8003B278 C0230144 */ lfs f1, 0x144(r3) -/* 035CDC 8003B27C 48096861 */ bl floor -/* 035CE0 8003B280 48092C99 */ bl __cvt_dbl_usll -/* 035CE4 8003B284 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035CE8 8003B288 7CBF0214 */ add r5, r31, r0 -/* 035CEC 8003B28C 90850144 */ stw r4, 0x144(r5) -/* 035CF0 8003B290 90650140 */ stw r3, 0x140(r5) -/* 035CF4 8003B294 48002C18 */ b lbl_8003DEAC -.global lbl_8003B298 -lbl_8003B298: -/* 035CF8 8003B298 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035CFC 8003B29C C02282B8 */ lfs f1, D_80135FB8@sda21(r2) -/* 035D00 8003B2A0 7C7F0214 */ add r3, r31, r0 -/* 035D04 8003B2A4 C0030144 */ lfs f0, 0x144(r3) -/* 035D08 8003B2A8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035D0C 8003B2AC 7C7F0214 */ add r3, r31, r0 -/* 035D10 8003B2B0 EC01002A */ fadds f0, f1, f0 -/* 035D14 8003B2B4 FC00001E */ fctiwz f0, f0 -/* 035D18 8003B2B8 D8010080 */ stfd f0, 0x80(r1) -/* 035D1C 8003B2BC 80010084 */ lwz r0, 0x84(r1) -/* 035D20 8003B2C0 90030144 */ stw r0, 0x144(r3) -/* 035D24 8003B2C4 48002BE8 */ b lbl_8003DEAC -.global lbl_8003B2C8 -lbl_8003B2C8: -/* 035D28 8003B2C8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035D2C 8003B2CC 7C7F0214 */ add r3, r31, r0 -/* 035D30 8003B2D0 C0030144 */ lfs f0, 0x144(r3) -/* 035D34 8003B2D4 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035D38 8003B2D8 7C7F0214 */ add r3, r31, r0 -/* 035D3C 8003B2DC FC00001E */ fctiwz f0, f0 -/* 035D40 8003B2E0 D8010080 */ stfd f0, 0x80(r1) -/* 035D44 8003B2E4 80010084 */ lwz r0, 0x84(r1) -/* 035D48 8003B2E8 90030144 */ stw r0, 0x144(r3) -/* 035D4C 8003B2EC 48002BC0 */ b lbl_8003DEAC -.global lbl_8003B2F0 -lbl_8003B2F0: -/* 035D50 8003B2F0 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035D54 8003B2F4 7C7F0214 */ add r3, r31, r0 -/* 035D58 8003B2F8 C0230144 */ lfs f1, 0x144(r3) -/* 035D5C 8003B2FC 4809664D */ bl ceil -/* 035D60 8003B300 FC00081E */ fctiwz f0, f1 -/* 035D64 8003B304 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035D68 8003B308 7C7F0214 */ add r3, r31, r0 -/* 035D6C 8003B30C D8010080 */ stfd f0, 0x80(r1) -/* 035D70 8003B310 80010084 */ lwz r0, 0x84(r1) -/* 035D74 8003B314 90030144 */ stw r0, 0x144(r3) -/* 035D78 8003B318 48002B94 */ b lbl_8003DEAC -.global lbl_8003B31C -lbl_8003B31C: -/* 035D7C 8003B31C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035D80 8003B320 7C7F0214 */ add r3, r31, r0 -/* 035D84 8003B324 C0230144 */ lfs f1, 0x144(r3) -/* 035D88 8003B328 480967B5 */ bl floor -/* 035D8C 8003B32C FC00081E */ fctiwz f0, f1 -/* 035D90 8003B330 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035D94 8003B334 7C7F0214 */ add r3, r31, r0 -/* 035D98 8003B338 D8010080 */ stfd f0, 0x80(r1) -/* 035D9C 8003B33C 80010084 */ lwz r0, 0x84(r1) -/* 035DA0 8003B340 90030144 */ stw r0, 0x144(r3) -/* 035DA4 8003B344 48002B68 */ b lbl_8003DEAC -.global lbl_8003B348 -lbl_8003B348: -/* 035DA8 8003B348 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035DAC 8003B34C 7C7F0214 */ add r3, r31, r0 -/* 035DB0 8003B350 C0030144 */ lfs f0, 0x144(r3) -/* 035DB4 8003B354 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035DB8 8003B358 7C7F0214 */ add r3, r31, r0 -/* 035DBC 8003B35C D0030144 */ stfs f0, 0x144(r3) -/* 035DC0 8003B360 48002B4C */ b lbl_8003DEAC -.global lbl_8003B364 -lbl_8003B364: -/* 035DC4 8003B364 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035DC8 8003B368 7C7F0214 */ add r3, r31, r0 -/* 035DCC 8003B36C C0030144 */ lfs f0, 0x144(r3) -/* 035DD0 8003B370 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035DD4 8003B374 7C7F0214 */ add r3, r31, r0 -/* 035DD8 8003B378 D8030140 */ stfd f0, 0x140(r3) -/* 035DDC 8003B37C 48002B30 */ b lbl_8003DEAC -.global lbl_8003B380 -lbl_8003B380: -/* 035DE0 8003B380 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035DE4 8003B384 7C7F0214 */ add r3, r31, r0 -/* 035DE8 8003B388 C0030144 */ lfs f0, 0x144(r3) -/* 035DEC 8003B38C 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035DF0 8003B390 7C7F0214 */ add r3, r31, r0 -/* 035DF4 8003B394 FC00001E */ fctiwz f0, f0 -/* 035DF8 8003B398 D8010080 */ stfd f0, 0x80(r1) -/* 035DFC 8003B39C 80010084 */ lwz r0, 0x84(r1) -/* 035E00 8003B3A0 90030144 */ stw r0, 0x144(r3) -/* 035E04 8003B3A4 48002B08 */ b lbl_8003DEAC -.global lbl_8003B3A8 -lbl_8003B3A8: -/* 035E08 8003B3A8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 035E0C 8003B3AC 7C7F0214 */ add r3, r31, r0 -/* 035E10 8003B3B0 C0230144 */ lfs f1, 0x144(r3) -/* 035E14 8003B3B4 48092B65 */ bl __cvt_dbl_usll -/* 035E18 8003B3B8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 035E1C 8003B3BC 7CBF0214 */ add r5, r31, r0 -/* 035E20 8003B3C0 90850144 */ stw r4, 0x144(r5) -/* 035E24 8003B3C4 90650140 */ stw r3, 0x140(r5) -/* 035E28 8003B3C8 48002AE4 */ b lbl_8003DEAC -.global lbl_8003B3CC -lbl_8003B3CC: -/* 035E2C 8003B3CC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035E30 8003B3D0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 035E34 8003B3D4 901F0A3C */ stw r0, 0xa3c(r31) -/* 035E38 8003B3D8 48002AD4 */ b lbl_8003DEAC -.global lbl_8003B3DC -lbl_8003B3DC: -/* 035E3C 8003B3DC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035E40 8003B3E0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 035E44 8003B3E4 901F0A3C */ stw r0, 0xa3c(r31) -/* 035E48 8003B3E8 48002AC4 */ b lbl_8003DEAC -.global lbl_8003B3EC -lbl_8003B3EC: -/* 035E4C 8003B3EC 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 035E50 8003B3F0 7C9F1A14 */ add r4, r31, r3 -/* 035E54 8003B3F4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035E58 8003B3F8 C0240144 */ lfs f1, 0x144(r4) -/* 035E5C 8003B3FC 7C7F0214 */ add r3, r31, r0 -/* 035E60 8003B400 C0030144 */ lfs f0, 0x144(r3) -/* 035E64 8003B404 FC010000 */ fcmpu cr0, f1, f0 -/* 035E68 8003B408 40820014 */ bne lbl_8003B41C -/* 035E6C 8003B40C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035E70 8003B410 64000080 */ oris r0, r0, 0x80 -/* 035E74 8003B414 901F0A3C */ stw r0, 0xa3c(r31) -/* 035E78 8003B418 48002A94 */ b lbl_8003DEAC -lbl_8003B41C: -/* 035E7C 8003B41C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035E80 8003B420 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 035E84 8003B424 901F0A3C */ stw r0, 0xa3c(r31) -/* 035E88 8003B428 48002A84 */ b lbl_8003DEAC -.global lbl_8003B42C -lbl_8003B42C: -/* 035E8C 8003B42C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 035E90 8003B430 7C9F1A14 */ add r4, r31, r3 -/* 035E94 8003B434 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035E98 8003B438 C0240144 */ lfs f1, 0x144(r4) -/* 035E9C 8003B43C 7C7F0214 */ add r3, r31, r0 -/* 035EA0 8003B440 C0030144 */ lfs f0, 0x144(r3) -/* 035EA4 8003B444 FC010000 */ fcmpu cr0, f1, f0 -/* 035EA8 8003B448 40820014 */ bne lbl_8003B45C -/* 035EAC 8003B44C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035EB0 8003B450 64000080 */ oris r0, r0, 0x80 -/* 035EB4 8003B454 901F0A3C */ stw r0, 0xa3c(r31) -/* 035EB8 8003B458 48002A54 */ b lbl_8003DEAC -lbl_8003B45C: -/* 035EBC 8003B45C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035EC0 8003B460 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 035EC4 8003B464 901F0A3C */ stw r0, 0xa3c(r31) -/* 035EC8 8003B468 48002A44 */ b lbl_8003DEAC -.global lbl_8003B46C -lbl_8003B46C: -/* 035ECC 8003B46C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 035ED0 8003B470 7C9F1A14 */ add r4, r31, r3 -/* 035ED4 8003B474 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035ED8 8003B478 C0240144 */ lfs f1, 0x144(r4) -/* 035EDC 8003B47C 7C7F0214 */ add r3, r31, r0 -/* 035EE0 8003B480 C0030144 */ lfs f0, 0x144(r3) -/* 035EE4 8003B484 FC010040 */ fcmpo cr0, f1, f0 -/* 035EE8 8003B488 40800014 */ bge lbl_8003B49C -/* 035EEC 8003B48C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035EF0 8003B490 64000080 */ oris r0, r0, 0x80 -/* 035EF4 8003B494 901F0A3C */ stw r0, 0xa3c(r31) -/* 035EF8 8003B498 48002A14 */ b lbl_8003DEAC -lbl_8003B49C: -/* 035EFC 8003B49C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035F00 8003B4A0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 035F04 8003B4A4 901F0A3C */ stw r0, 0xa3c(r31) -/* 035F08 8003B4A8 48002A04 */ b lbl_8003DEAC -.global lbl_8003B4AC -lbl_8003B4AC: -/* 035F0C 8003B4AC 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 035F10 8003B4B0 7C9F1A14 */ add r4, r31, r3 -/* 035F14 8003B4B4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035F18 8003B4B8 C0240144 */ lfs f1, 0x144(r4) -/* 035F1C 8003B4BC 7C7F0214 */ add r3, r31, r0 -/* 035F20 8003B4C0 C0030144 */ lfs f0, 0x144(r3) -/* 035F24 8003B4C4 FC010040 */ fcmpo cr0, f1, f0 -/* 035F28 8003B4C8 40800014 */ bge lbl_8003B4DC -/* 035F2C 8003B4CC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035F30 8003B4D0 64000080 */ oris r0, r0, 0x80 -/* 035F34 8003B4D4 901F0A3C */ stw r0, 0xa3c(r31) -/* 035F38 8003B4D8 480029D4 */ b lbl_8003DEAC -lbl_8003B4DC: -/* 035F3C 8003B4DC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035F40 8003B4E0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 035F44 8003B4E4 901F0A3C */ stw r0, 0xa3c(r31) -/* 035F48 8003B4E8 480029C4 */ b lbl_8003DEAC -.global lbl_8003B4EC -lbl_8003B4EC: -/* 035F4C 8003B4EC 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 035F50 8003B4F0 7C9F1A14 */ add r4, r31, r3 -/* 035F54 8003B4F4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035F58 8003B4F8 C0240144 */ lfs f1, 0x144(r4) -/* 035F5C 8003B4FC 7C7F0214 */ add r3, r31, r0 -/* 035F60 8003B500 C0030144 */ lfs f0, 0x144(r3) -/* 035F64 8003B504 FC010040 */ fcmpo cr0, f1, f0 -/* 035F68 8003B508 4C401382 */ cror 2, 0, 2 -/* 035F6C 8003B50C 40820014 */ bne lbl_8003B520 -/* 035F70 8003B510 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035F74 8003B514 64000080 */ oris r0, r0, 0x80 -/* 035F78 8003B518 901F0A3C */ stw r0, 0xa3c(r31) -/* 035F7C 8003B51C 48002990 */ b lbl_8003DEAC -lbl_8003B520: -/* 035F80 8003B520 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035F84 8003B524 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 035F88 8003B528 901F0A3C */ stw r0, 0xa3c(r31) -/* 035F8C 8003B52C 48002980 */ b lbl_8003DEAC -.global lbl_8003B530 -lbl_8003B530: -/* 035F90 8003B530 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 035F94 8003B534 7C9F1A14 */ add r4, r31, r3 -/* 035F98 8003B538 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035F9C 8003B53C C0240144 */ lfs f1, 0x144(r4) -/* 035FA0 8003B540 7C7F0214 */ add r3, r31, r0 -/* 035FA4 8003B544 C0030144 */ lfs f0, 0x144(r3) -/* 035FA8 8003B548 FC010040 */ fcmpo cr0, f1, f0 -/* 035FAC 8003B54C 4C401382 */ cror 2, 0, 2 -/* 035FB0 8003B550 40820014 */ bne lbl_8003B564 -/* 035FB4 8003B554 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035FB8 8003B558 64000080 */ oris r0, r0, 0x80 -/* 035FBC 8003B55C 901F0A3C */ stw r0, 0xa3c(r31) -/* 035FC0 8003B560 4800294C */ b lbl_8003DEAC -lbl_8003B564: -/* 035FC4 8003B564 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035FC8 8003B568 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 035FCC 8003B56C 901F0A3C */ stw r0, 0xa3c(r31) -/* 035FD0 8003B570 4800293C */ b lbl_8003DEAC -.global lbl_8003B574 -lbl_8003B574: -/* 035FD4 8003B574 801F0A3C */ lwz r0, 0xa3c(r31) -/* 035FD8 8003B578 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 035FDC 8003B57C 901F0A3C */ stw r0, 0xa3c(r31) -/* 035FE0 8003B580 4800292C */ b lbl_8003DEAC -.global lbl_8003B584 -lbl_8003B584: -/* 035FE4 8003B584 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 035FE8 8003B588 7C9F1A14 */ add r4, r31, r3 -/* 035FEC 8003B58C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 035FF0 8003B590 C0240144 */ lfs f1, 0x144(r4) -/* 035FF4 8003B594 7C7F0214 */ add r3, r31, r0 -/* 035FF8 8003B598 C0030144 */ lfs f0, 0x144(r3) -/* 035FFC 8003B59C FC010040 */ fcmpo cr0, f1, f0 -/* 036000 8003B5A0 4C401382 */ cror 2, 0, 2 -/* 036004 8003B5A4 40820014 */ bne lbl_8003B5B8 -/* 036008 8003B5A8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03600C 8003B5AC 64000080 */ oris r0, r0, 0x80 -/* 036010 8003B5B0 901F0A3C */ stw r0, 0xa3c(r31) -/* 036014 8003B5B4 480028F8 */ b lbl_8003DEAC -lbl_8003B5B8: -/* 036018 8003B5B8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03601C 8003B5BC 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036020 8003B5C0 901F0A3C */ stw r0, 0xa3c(r31) -/* 036024 8003B5C4 480028E8 */ b lbl_8003DEAC -.global lbl_8003B5C8 -lbl_8003B5C8: -/* 036028 8003B5C8 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 03602C 8003B5CC 7C9F1A14 */ add r4, r31, r3 -/* 036030 8003B5D0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036034 8003B5D4 C0240144 */ lfs f1, 0x144(r4) -/* 036038 8003B5D8 7C7F0214 */ add r3, r31, r0 -/* 03603C 8003B5DC C0030144 */ lfs f0, 0x144(r3) -/* 036040 8003B5E0 FC010000 */ fcmpu cr0, f1, f0 -/* 036044 8003B5E4 40820014 */ bne lbl_8003B5F8 -/* 036048 8003B5E8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03604C 8003B5EC 64000080 */ oris r0, r0, 0x80 -/* 036050 8003B5F0 901F0A3C */ stw r0, 0xa3c(r31) -/* 036054 8003B5F4 480028B8 */ b lbl_8003DEAC -lbl_8003B5F8: -/* 036058 8003B5F8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03605C 8003B5FC 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036060 8003B600 901F0A3C */ stw r0, 0xa3c(r31) -/* 036064 8003B604 480028A8 */ b lbl_8003DEAC -.global lbl_8003B608 -lbl_8003B608: -/* 036068 8003B608 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 03606C 8003B60C 7C9F1A14 */ add r4, r31, r3 -/* 036070 8003B610 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036074 8003B614 C0240144 */ lfs f1, 0x144(r4) -/* 036078 8003B618 7C7F0214 */ add r3, r31, r0 -/* 03607C 8003B61C C0030144 */ lfs f0, 0x144(r3) -/* 036080 8003B620 FC010000 */ fcmpu cr0, f1, f0 -/* 036084 8003B624 40820014 */ bne lbl_8003B638 -/* 036088 8003B628 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03608C 8003B62C 64000080 */ oris r0, r0, 0x80 -/* 036090 8003B630 901F0A3C */ stw r0, 0xa3c(r31) -/* 036094 8003B634 48002878 */ b lbl_8003DEAC -lbl_8003B638: -/* 036098 8003B638 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03609C 8003B63C 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0360A0 8003B640 901F0A3C */ stw r0, 0xa3c(r31) -/* 0360A4 8003B644 48002868 */ b lbl_8003DEAC -.global lbl_8003B648 -lbl_8003B648: -/* 0360A8 8003B648 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 0360AC 8003B64C 7C9F1A14 */ add r4, r31, r3 -/* 0360B0 8003B650 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0360B4 8003B654 C0240144 */ lfs f1, 0x144(r4) -/* 0360B8 8003B658 7C7F0214 */ add r3, r31, r0 -/* 0360BC 8003B65C C0030144 */ lfs f0, 0x144(r3) -/* 0360C0 8003B660 FC010040 */ fcmpo cr0, f1, f0 -/* 0360C4 8003B664 40800014 */ bge lbl_8003B678 -/* 0360C8 8003B668 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0360CC 8003B66C 64000080 */ oris r0, r0, 0x80 -/* 0360D0 8003B670 901F0A3C */ stw r0, 0xa3c(r31) -/* 0360D4 8003B674 48002838 */ b lbl_8003DEAC -lbl_8003B678: -/* 0360D8 8003B678 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0360DC 8003B67C 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0360E0 8003B680 901F0A3C */ stw r0, 0xa3c(r31) -/* 0360E4 8003B684 48002828 */ b lbl_8003DEAC -.global lbl_8003B688 -lbl_8003B688: -/* 0360E8 8003B688 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 0360EC 8003B68C 7C9F1A14 */ add r4, r31, r3 -/* 0360F0 8003B690 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0360F4 8003B694 C0240144 */ lfs f1, 0x144(r4) -/* 0360F8 8003B698 7C7F0214 */ add r3, r31, r0 -/* 0360FC 8003B69C C0030144 */ lfs f0, 0x144(r3) -/* 036100 8003B6A0 FC010040 */ fcmpo cr0, f1, f0 -/* 036104 8003B6A4 40800014 */ bge lbl_8003B6B8 -/* 036108 8003B6A8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03610C 8003B6AC 64000080 */ oris r0, r0, 0x80 -/* 036110 8003B6B0 901F0A3C */ stw r0, 0xa3c(r31) -/* 036114 8003B6B4 480027F8 */ b lbl_8003DEAC -lbl_8003B6B8: -/* 036118 8003B6B8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03611C 8003B6BC 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036120 8003B6C0 901F0A3C */ stw r0, 0xa3c(r31) -/* 036124 8003B6C4 480027E8 */ b lbl_8003DEAC -.global lbl_8003B6C8 -lbl_8003B6C8: -/* 036128 8003B6C8 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 03612C 8003B6CC 7C9F1A14 */ add r4, r31, r3 -/* 036130 8003B6D0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036134 8003B6D4 C0240144 */ lfs f1, 0x144(r4) -/* 036138 8003B6D8 7C7F0214 */ add r3, r31, r0 -/* 03613C 8003B6DC C0030144 */ lfs f0, 0x144(r3) -/* 036140 8003B6E0 FC010040 */ fcmpo cr0, f1, f0 -/* 036144 8003B6E4 4C401382 */ cror 2, 0, 2 -/* 036148 8003B6E8 40820014 */ bne lbl_8003B6FC -/* 03614C 8003B6EC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036150 8003B6F0 64000080 */ oris r0, r0, 0x80 -/* 036154 8003B6F4 901F0A3C */ stw r0, 0xa3c(r31) -/* 036158 8003B6F8 480027B4 */ b lbl_8003DEAC -lbl_8003B6FC: -/* 03615C 8003B6FC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036160 8003B700 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036164 8003B704 901F0A3C */ stw r0, 0xa3c(r31) -/* 036168 8003B708 480027A4 */ b lbl_8003DEAC -.global lbl_8003B70C -lbl_8003B70C: -/* 03616C 8003B70C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036170 8003B710 7C9F1A14 */ add r4, r31, r3 -/* 036174 8003B714 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036178 8003B718 C0240144 */ lfs f1, 0x144(r4) -/* 03617C 8003B71C 7C7F0214 */ add r3, r31, r0 -/* 036180 8003B720 C0030144 */ lfs f0, 0x144(r3) -/* 036184 8003B724 FC010040 */ fcmpo cr0, f1, f0 -/* 036188 8003B728 4C401382 */ cror 2, 0, 2 -/* 03618C 8003B72C 40820014 */ bne lbl_8003B740 -/* 036190 8003B730 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036194 8003B734 64000080 */ oris r0, r0, 0x80 -/* 036198 8003B738 901F0A3C */ stw r0, 0xa3c(r31) -/* 03619C 8003B73C 48002770 */ b lbl_8003DEAC -lbl_8003B740: -/* 0361A0 8003B740 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0361A4 8003B744 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0361A8 8003B748 901F0A3C */ stw r0, 0xa3c(r31) -/* 0361AC 8003B74C 48002760 */ b lbl_8003DEAC -lbl_8003B750: -/* 0361B0 8003B750 57C006BE */ clrlwi r0, r30, 0x1a -/* 0361B4 8003B754 2800003F */ cmplwi r0, 0x3f -/* 0361B8 8003B758 41812754 */ bgt lbl_8003DEAC -/* 0361BC 8003B75C 3C60800F */ lis r3, jtbl_800EC458@ha -/* 0361C0 8003B760 3863C458 */ addi r3, r3, jtbl_800EC458@l -/* 0361C4 8003B764 5400103A */ slwi r0, r0, 2 -/* 0361C8 8003B768 7C03002E */ lwzx r0, r3, r0 -/* 0361CC 8003B76C 7C0903A6 */ mtctr r0 -/* 0361D0 8003B770 4E800420 */ bctr -.global lbl_8003B774 -lbl_8003B774: -/* 0361D4 8003B774 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 0361D8 8003B778 7C9F1A14 */ add r4, r31, r3 -/* 0361DC 8003B77C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0361E0 8003B780 C8240140 */ lfd f1, 0x140(r4) -/* 0361E4 8003B784 7C7F0214 */ add r3, r31, r0 -/* 0361E8 8003B788 C8030140 */ lfd f0, 0x140(r3) -/* 0361EC 8003B78C 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0361F0 8003B790 7C7F0214 */ add r3, r31, r0 -/* 0361F4 8003B794 FC01002A */ fadd f0, f1, f0 -/* 0361F8 8003B798 D8030140 */ stfd f0, 0x140(r3) -/* 0361FC 8003B79C 48002710 */ b lbl_8003DEAC -.global lbl_8003B7A0 -lbl_8003B7A0: -/* 036200 8003B7A0 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036204 8003B7A4 7C9F1A14 */ add r4, r31, r3 -/* 036208 8003B7A8 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 03620C 8003B7AC C8240140 */ lfd f1, 0x140(r4) -/* 036210 8003B7B0 7C7F0214 */ add r3, r31, r0 -/* 036214 8003B7B4 C8030140 */ lfd f0, 0x140(r3) -/* 036218 8003B7B8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 03621C 8003B7BC 7C7F0214 */ add r3, r31, r0 -/* 036220 8003B7C0 FC010028 */ fsub f0, f1, f0 -/* 036224 8003B7C4 D8030140 */ stfd f0, 0x140(r3) -/* 036228 8003B7C8 480026E4 */ b lbl_8003DEAC -.global lbl_8003B7CC -lbl_8003B7CC: -/* 03622C 8003B7CC 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036230 8003B7D0 7C9F1A14 */ add r4, r31, r3 -/* 036234 8003B7D4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036238 8003B7D8 C8240140 */ lfd f1, 0x140(r4) -/* 03623C 8003B7DC 7C7F0214 */ add r3, r31, r0 -/* 036240 8003B7E0 C8030140 */ lfd f0, 0x140(r3) -/* 036244 8003B7E4 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036248 8003B7E8 7C7F0214 */ add r3, r31, r0 -/* 03624C 8003B7EC FC010032 */ fmul f0, f1, f0 -/* 036250 8003B7F0 D8030140 */ stfd f0, 0x140(r3) -/* 036254 8003B7F4 480026B8 */ b lbl_8003DEAC -.global lbl_8003B7F8 -lbl_8003B7F8: -/* 036258 8003B7F8 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 03625C 8003B7FC 7C9F1A14 */ add r4, r31, r3 -/* 036260 8003B800 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036264 8003B804 C8240140 */ lfd f1, 0x140(r4) -/* 036268 8003B808 7C7F0214 */ add r3, r31, r0 -/* 03626C 8003B80C C8030140 */ lfd f0, 0x140(r3) -/* 036270 8003B810 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036274 8003B814 7C7F0214 */ add r3, r31, r0 -/* 036278 8003B818 FC010024 */ fdiv f0, f1, f0 -/* 03627C 8003B81C D8030140 */ stfd f0, 0x140(r3) -/* 036280 8003B820 4800268C */ b lbl_8003DEAC -.global lbl_8003B824 -lbl_8003B824: -/* 036284 8003B824 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036288 8003B828 C80282A0 */ lfd f0, D_80135FA0@sda21(r2) -/* 03628C 8003B82C 7C7F0214 */ add r3, r31, r0 -/* 036290 8003B830 C8830140 */ lfd f4, 0x140(r3) -/* 036294 8003B834 FC040040 */ fcmpo cr0, f4, f0 -/* 036298 8003B838 40810058 */ ble lbl_8003B890 -/* 03629C 8003B83C FC202034 */ frsqrte f1, f4 -/* 0362A0 8003B840 C86282A8 */ lfd f3, D_80135FA8@sda21(r2) -/* 0362A4 8003B844 C84282B0 */ lfd f2, D_80135FB0@sda21(r2) -/* 0362A8 8003B848 FC010072 */ fmul f0, f1, f1 -/* 0362AC 8003B84C FC230072 */ fmul f1, f3, f1 -/* 0362B0 8003B850 FC04103C */ fnmsub f0, f4, f0, f2 -/* 0362B4 8003B854 FC210032 */ fmul f1, f1, f0 -/* 0362B8 8003B858 FC010072 */ fmul f0, f1, f1 -/* 0362BC 8003B85C FC230072 */ fmul f1, f3, f1 -/* 0362C0 8003B860 FC04103C */ fnmsub f0, f4, f0, f2 -/* 0362C4 8003B864 FC210032 */ fmul f1, f1, f0 -/* 0362C8 8003B868 FC010072 */ fmul f0, f1, f1 -/* 0362CC 8003B86C FC230072 */ fmul f1, f3, f1 -/* 0362D0 8003B870 FC04103C */ fnmsub f0, f4, f0, f2 -/* 0362D4 8003B874 FC210032 */ fmul f1, f1, f0 -/* 0362D8 8003B878 FC010072 */ fmul f0, f1, f1 -/* 0362DC 8003B87C FC230072 */ fmul f1, f3, f1 -/* 0362E0 8003B880 FC04103C */ fnmsub f0, f4, f0, f2 -/* 0362E4 8003B884 FC010032 */ fmul f0, f1, f0 -/* 0362E8 8003B888 FC040032 */ fmul f0, f4, f0 -/* 0362EC 8003B88C 4800002C */ b lbl_8003B8B8 -lbl_8003B890: -/* 0362F0 8003B890 FC002000 */ fcmpu cr0, f0, f4 -/* 0362F4 8003B894 40820008 */ bne lbl_8003B89C -/* 0362F8 8003B898 48000020 */ b lbl_8003B8B8 -lbl_8003B89C: -/* 0362FC 8003B89C FC040000 */ fcmpu cr0, f4, f0 -/* 036300 8003B8A0 41820010 */ beq lbl_8003B8B0 -/* 036304 8003B8A4 3C60800F */ lis r3, __float_nan@ha -/* 036308 8003B8A8 C0033E78 */ lfs f0, __float_nan@l(r3) -/* 03630C 8003B8AC 4800000C */ b lbl_8003B8B8 -lbl_8003B8B0: -/* 036310 8003B8B0 3C60800F */ lis r3, __float_huge@ha -/* 036314 8003B8B4 C0033E7C */ lfs f0, __float_huge@l(r3) -lbl_8003B8B8: -/* 036318 8003B8B8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 03631C 8003B8BC 7C7F0214 */ add r3, r31, r0 -/* 036320 8003B8C0 D8030140 */ stfd f0, 0x140(r3) -/* 036324 8003B8C4 480025E8 */ b lbl_8003DEAC -.global lbl_8003B8C8 -lbl_8003B8C8: -/* 036328 8003B8C8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03632C 8003B8CC 7C7F0214 */ add r3, r31, r0 -/* 036330 8003B8D0 C8030140 */ lfd f0, 0x140(r3) -/* 036334 8003B8D4 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036338 8003B8D8 7C7F0214 */ add r3, r31, r0 -/* 03633C 8003B8DC FC000210 */ fabs f0, f0 -/* 036340 8003B8E0 D8030140 */ stfd f0, 0x140(r3) -/* 036344 8003B8E4 480025C8 */ b lbl_8003DEAC -.global lbl_8003B8E8 -lbl_8003B8E8: -/* 036348 8003B8E8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03634C 8003B8EC 7C7F0214 */ add r3, r31, r0 -/* 036350 8003B8F0 C8030140 */ lfd f0, 0x140(r3) -/* 036354 8003B8F4 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036358 8003B8F8 7C7F0214 */ add r3, r31, r0 -/* 03635C 8003B8FC D8030140 */ stfd f0, 0x140(r3) -/* 036360 8003B900 480025AC */ b lbl_8003DEAC -.global lbl_8003B904 -lbl_8003B904: -/* 036364 8003B904 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036368 8003B908 7C7F0214 */ add r3, r31, r0 -/* 03636C 8003B90C C8030140 */ lfd f0, 0x140(r3) -/* 036370 8003B910 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036374 8003B914 7C7F0214 */ add r3, r31, r0 -/* 036378 8003B918 FC000050 */ fneg f0, f0 -/* 03637C 8003B91C D8030140 */ stfd f0, 0x140(r3) -/* 036380 8003B920 4800258C */ b lbl_8003DEAC -.global lbl_8003B924 -lbl_8003B924: -/* 036384 8003B924 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036388 8003B928 C82282A8 */ lfd f1, D_80135FA8@sda21(r2) -/* 03638C 8003B92C 7C7F0214 */ add r3, r31, r0 -/* 036390 8003B930 C8030140 */ lfd f0, 0x140(r3) -/* 036394 8003B934 FC21002A */ fadd f1, f1, f0 -/* 036398 8003B938 480925E1 */ bl __cvt_dbl_usll -/* 03639C 8003B93C 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0363A0 8003B940 7CBF0214 */ add r5, r31, r0 -/* 0363A4 8003B944 90850144 */ stw r4, 0x144(r5) -/* 0363A8 8003B948 90650140 */ stw r3, 0x140(r5) -/* 0363AC 8003B94C 48002560 */ b lbl_8003DEAC -.global lbl_8003B950 -lbl_8003B950: -/* 0363B0 8003B950 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0363B4 8003B954 7C7F0214 */ add r3, r31, r0 -/* 0363B8 8003B958 C8230140 */ lfd f1, 0x140(r3) -/* 0363BC 8003B95C 480925BD */ bl __cvt_dbl_usll -/* 0363C0 8003B960 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0363C4 8003B964 7CBF0214 */ add r5, r31, r0 -/* 0363C8 8003B968 90850144 */ stw r4, 0x144(r5) -/* 0363CC 8003B96C 90650140 */ stw r3, 0x140(r5) -/* 0363D0 8003B970 4800253C */ b lbl_8003DEAC -.global lbl_8003B974 -lbl_8003B974: -/* 0363D4 8003B974 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0363D8 8003B978 7C7F0214 */ add r3, r31, r0 -/* 0363DC 8003B97C C8230140 */ lfd f1, 0x140(r3) -/* 0363E0 8003B980 48095FC9 */ bl ceil -/* 0363E4 8003B984 48092595 */ bl __cvt_dbl_usll -/* 0363E8 8003B988 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0363EC 8003B98C 7CBF0214 */ add r5, r31, r0 -/* 0363F0 8003B990 90850144 */ stw r4, 0x144(r5) -/* 0363F4 8003B994 90650140 */ stw r3, 0x140(r5) -/* 0363F8 8003B998 48002514 */ b lbl_8003DEAC -.global lbl_8003B99C -lbl_8003B99C: -/* 0363FC 8003B99C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036400 8003B9A0 7C7F0214 */ add r3, r31, r0 -/* 036404 8003B9A4 C8230140 */ lfd f1, 0x140(r3) -/* 036408 8003B9A8 48096135 */ bl floor -/* 03640C 8003B9AC 4809256D */ bl __cvt_dbl_usll -/* 036410 8003B9B0 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036414 8003B9B4 7CBF0214 */ add r5, r31, r0 -/* 036418 8003B9B8 90850144 */ stw r4, 0x144(r5) -/* 03641C 8003B9BC 90650140 */ stw r3, 0x140(r5) -/* 036420 8003B9C0 480024EC */ b lbl_8003DEAC -.global lbl_8003B9C4 -lbl_8003B9C4: -/* 036424 8003B9C4 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036428 8003B9C8 C82282A8 */ lfd f1, D_80135FA8@sda21(r2) -/* 03642C 8003B9CC 7C7F0214 */ add r3, r31, r0 -/* 036430 8003B9D0 C8030140 */ lfd f0, 0x140(r3) -/* 036434 8003B9D4 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036438 8003B9D8 7C7F0214 */ add r3, r31, r0 -/* 03643C 8003B9DC FC01002A */ fadd f0, f1, f0 -/* 036440 8003B9E0 FC00001E */ fctiwz f0, f0 -/* 036444 8003B9E4 D8010080 */ stfd f0, 0x80(r1) -/* 036448 8003B9E8 80010084 */ lwz r0, 0x84(r1) -/* 03644C 8003B9EC 90030144 */ stw r0, 0x144(r3) -/* 036450 8003B9F0 480024BC */ b lbl_8003DEAC -.global lbl_8003B9F4 -lbl_8003B9F4: -/* 036454 8003B9F4 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036458 8003B9F8 7C7F0214 */ add r3, r31, r0 -/* 03645C 8003B9FC C8030140 */ lfd f0, 0x140(r3) -/* 036460 8003BA00 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036464 8003BA04 7C7F0214 */ add r3, r31, r0 -/* 036468 8003BA08 FC00001E */ fctiwz f0, f0 -/* 03646C 8003BA0C D8010080 */ stfd f0, 0x80(r1) -/* 036470 8003BA10 80010084 */ lwz r0, 0x84(r1) -/* 036474 8003BA14 90030144 */ stw r0, 0x144(r3) -/* 036478 8003BA18 48002494 */ b lbl_8003DEAC -.global lbl_8003BA1C -lbl_8003BA1C: -/* 03647C 8003BA1C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036480 8003BA20 7C7F0214 */ add r3, r31, r0 -/* 036484 8003BA24 C8230140 */ lfd f1, 0x140(r3) -/* 036488 8003BA28 48095F21 */ bl ceil -/* 03648C 8003BA2C FC00081E */ fctiwz f0, f1 -/* 036490 8003BA30 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036494 8003BA34 7C7F0214 */ add r3, r31, r0 -/* 036498 8003BA38 D8010080 */ stfd f0, 0x80(r1) -/* 03649C 8003BA3C 80010084 */ lwz r0, 0x84(r1) -/* 0364A0 8003BA40 90030144 */ stw r0, 0x144(r3) -/* 0364A4 8003BA44 48002468 */ b lbl_8003DEAC -.global lbl_8003BA48 -lbl_8003BA48: -/* 0364A8 8003BA48 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0364AC 8003BA4C 7C7F0214 */ add r3, r31, r0 -/* 0364B0 8003BA50 C8230140 */ lfd f1, 0x140(r3) -/* 0364B4 8003BA54 48096089 */ bl floor -/* 0364B8 8003BA58 FC00081E */ fctiwz f0, f1 -/* 0364BC 8003BA5C 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0364C0 8003BA60 7C7F0214 */ add r3, r31, r0 -/* 0364C4 8003BA64 D8010080 */ stfd f0, 0x80(r1) -/* 0364C8 8003BA68 80010084 */ lwz r0, 0x84(r1) -/* 0364CC 8003BA6C 90030144 */ stw r0, 0x144(r3) -/* 0364D0 8003BA70 4800243C */ b lbl_8003DEAC -.global lbl_8003BA74 -lbl_8003BA74: -/* 0364D4 8003BA74 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0364D8 8003BA78 7C7F0214 */ add r3, r31, r0 -/* 0364DC 8003BA7C C8030140 */ lfd f0, 0x140(r3) -/* 0364E0 8003BA80 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0364E4 8003BA84 7C7F0214 */ add r3, r31, r0 -/* 0364E8 8003BA88 FC000018 */ frsp f0, f0 -/* 0364EC 8003BA8C D0030144 */ stfs f0, 0x144(r3) -/* 0364F0 8003BA90 4800241C */ b lbl_8003DEAC -.global lbl_8003BA94 -lbl_8003BA94: -/* 0364F4 8003BA94 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0364F8 8003BA98 7C7F0214 */ add r3, r31, r0 -/* 0364FC 8003BA9C C8030140 */ lfd f0, 0x140(r3) -/* 036500 8003BAA0 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036504 8003BAA4 7C7F0214 */ add r3, r31, r0 -/* 036508 8003BAA8 D8030140 */ stfd f0, 0x140(r3) -/* 03650C 8003BAAC 48002400 */ b lbl_8003DEAC -.global lbl_8003BAB0 -lbl_8003BAB0: -/* 036510 8003BAB0 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036514 8003BAB4 7C7F0214 */ add r3, r31, r0 -/* 036518 8003BAB8 C8030140 */ lfd f0, 0x140(r3) -/* 03651C 8003BABC 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036520 8003BAC0 7C7F0214 */ add r3, r31, r0 -/* 036524 8003BAC4 FC00001E */ fctiwz f0, f0 -/* 036528 8003BAC8 D8010080 */ stfd f0, 0x80(r1) -/* 03652C 8003BACC 80010084 */ lwz r0, 0x84(r1) -/* 036530 8003BAD0 90030144 */ stw r0, 0x144(r3) -/* 036534 8003BAD4 480023D8 */ b lbl_8003DEAC -.global lbl_8003BAD8 -lbl_8003BAD8: -/* 036538 8003BAD8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03653C 8003BADC 7C7F0214 */ add r3, r31, r0 -/* 036540 8003BAE0 C8230140 */ lfd f1, 0x140(r3) -/* 036544 8003BAE4 48092435 */ bl __cvt_dbl_usll -/* 036548 8003BAE8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 03654C 8003BAEC 7CBF0214 */ add r5, r31, r0 -/* 036550 8003BAF0 90850144 */ stw r4, 0x144(r5) -/* 036554 8003BAF4 90650140 */ stw r3, 0x140(r5) -/* 036558 8003BAF8 480023B4 */ b lbl_8003DEAC -.global lbl_8003BAFC -lbl_8003BAFC: -/* 03655C 8003BAFC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036560 8003BB00 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036564 8003BB04 901F0A3C */ stw r0, 0xa3c(r31) -/* 036568 8003BB08 480023A4 */ b lbl_8003DEAC -.global lbl_8003BB0C -lbl_8003BB0C: -/* 03656C 8003BB0C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036570 8003BB10 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036574 8003BB14 901F0A3C */ stw r0, 0xa3c(r31) -/* 036578 8003BB18 48002394 */ b lbl_8003DEAC -.global lbl_8003BB1C -lbl_8003BB1C: -/* 03657C 8003BB1C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036580 8003BB20 7C9F1A14 */ add r4, r31, r3 -/* 036584 8003BB24 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036588 8003BB28 C8240140 */ lfd f1, 0x140(r4) -/* 03658C 8003BB2C 7C7F0214 */ add r3, r31, r0 -/* 036590 8003BB30 C8030140 */ lfd f0, 0x140(r3) -/* 036594 8003BB34 FC010000 */ fcmpu cr0, f1, f0 -/* 036598 8003BB38 40820014 */ bne lbl_8003BB4C -/* 03659C 8003BB3C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0365A0 8003BB40 64000080 */ oris r0, r0, 0x80 -/* 0365A4 8003BB44 901F0A3C */ stw r0, 0xa3c(r31) -/* 0365A8 8003BB48 48002364 */ b lbl_8003DEAC -lbl_8003BB4C: -/* 0365AC 8003BB4C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0365B0 8003BB50 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0365B4 8003BB54 901F0A3C */ stw r0, 0xa3c(r31) -/* 0365B8 8003BB58 48002354 */ b lbl_8003DEAC -.global lbl_8003BB5C -lbl_8003BB5C: -/* 0365BC 8003BB5C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 0365C0 8003BB60 7C9F1A14 */ add r4, r31, r3 -/* 0365C4 8003BB64 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0365C8 8003BB68 C8240140 */ lfd f1, 0x140(r4) -/* 0365CC 8003BB6C 7C7F0214 */ add r3, r31, r0 -/* 0365D0 8003BB70 C8030140 */ lfd f0, 0x140(r3) -/* 0365D4 8003BB74 FC010000 */ fcmpu cr0, f1, f0 -/* 0365D8 8003BB78 40820014 */ bne lbl_8003BB8C -/* 0365DC 8003BB7C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0365E0 8003BB80 64000080 */ oris r0, r0, 0x80 -/* 0365E4 8003BB84 901F0A3C */ stw r0, 0xa3c(r31) -/* 0365E8 8003BB88 48002324 */ b lbl_8003DEAC -lbl_8003BB8C: -/* 0365EC 8003BB8C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0365F0 8003BB90 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0365F4 8003BB94 901F0A3C */ stw r0, 0xa3c(r31) -/* 0365F8 8003BB98 48002314 */ b lbl_8003DEAC -.global lbl_8003BB9C -lbl_8003BB9C: -/* 0365FC 8003BB9C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036600 8003BBA0 7C9F1A14 */ add r4, r31, r3 -/* 036604 8003BBA4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036608 8003BBA8 C8240140 */ lfd f1, 0x140(r4) -/* 03660C 8003BBAC 7C7F0214 */ add r3, r31, r0 -/* 036610 8003BBB0 C8030140 */ lfd f0, 0x140(r3) -/* 036614 8003BBB4 FC010040 */ fcmpo cr0, f1, f0 -/* 036618 8003BBB8 40800014 */ bge lbl_8003BBCC -/* 03661C 8003BBBC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036620 8003BBC0 64000080 */ oris r0, r0, 0x80 -/* 036624 8003BBC4 901F0A3C */ stw r0, 0xa3c(r31) -/* 036628 8003BBC8 480022E4 */ b lbl_8003DEAC -lbl_8003BBCC: -/* 03662C 8003BBCC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036630 8003BBD0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036634 8003BBD4 901F0A3C */ stw r0, 0xa3c(r31) -/* 036638 8003BBD8 480022D4 */ b lbl_8003DEAC -.global lbl_8003BBDC -lbl_8003BBDC: -/* 03663C 8003BBDC 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036640 8003BBE0 7C9F1A14 */ add r4, r31, r3 -/* 036644 8003BBE4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036648 8003BBE8 C8240140 */ lfd f1, 0x140(r4) -/* 03664C 8003BBEC 7C7F0214 */ add r3, r31, r0 -/* 036650 8003BBF0 C8030140 */ lfd f0, 0x140(r3) -/* 036654 8003BBF4 FC010040 */ fcmpo cr0, f1, f0 -/* 036658 8003BBF8 40800014 */ bge lbl_8003BC0C -/* 03665C 8003BBFC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036660 8003BC00 64000080 */ oris r0, r0, 0x80 -/* 036664 8003BC04 901F0A3C */ stw r0, 0xa3c(r31) -/* 036668 8003BC08 480022A4 */ b lbl_8003DEAC -lbl_8003BC0C: -/* 03666C 8003BC0C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036670 8003BC10 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036674 8003BC14 901F0A3C */ stw r0, 0xa3c(r31) -/* 036678 8003BC18 48002294 */ b lbl_8003DEAC -.global lbl_8003BC1C -lbl_8003BC1C: -/* 03667C 8003BC1C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036680 8003BC20 7C9F1A14 */ add r4, r31, r3 -/* 036684 8003BC24 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036688 8003BC28 C8240140 */ lfd f1, 0x140(r4) -/* 03668C 8003BC2C 7C7F0214 */ add r3, r31, r0 -/* 036690 8003BC30 C8030140 */ lfd f0, 0x140(r3) -/* 036694 8003BC34 FC010040 */ fcmpo cr0, f1, f0 -/* 036698 8003BC38 4C401382 */ cror 2, 0, 2 -/* 03669C 8003BC3C 40820014 */ bne lbl_8003BC50 -/* 0366A0 8003BC40 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0366A4 8003BC44 64000080 */ oris r0, r0, 0x80 -/* 0366A8 8003BC48 901F0A3C */ stw r0, 0xa3c(r31) -/* 0366AC 8003BC4C 48002260 */ b lbl_8003DEAC -lbl_8003BC50: -/* 0366B0 8003BC50 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0366B4 8003BC54 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0366B8 8003BC58 901F0A3C */ stw r0, 0xa3c(r31) -/* 0366BC 8003BC5C 48002250 */ b lbl_8003DEAC -.global lbl_8003BC60 -lbl_8003BC60: -/* 0366C0 8003BC60 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 0366C4 8003BC64 7C9F1A14 */ add r4, r31, r3 -/* 0366C8 8003BC68 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0366CC 8003BC6C C8240140 */ lfd f1, 0x140(r4) -/* 0366D0 8003BC70 7C7F0214 */ add r3, r31, r0 -/* 0366D4 8003BC74 C8030140 */ lfd f0, 0x140(r3) -/* 0366D8 8003BC78 FC010040 */ fcmpo cr0, f1, f0 -/* 0366DC 8003BC7C 4C401382 */ cror 2, 0, 2 -/* 0366E0 8003BC80 40820014 */ bne lbl_8003BC94 -/* 0366E4 8003BC84 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0366E8 8003BC88 64000080 */ oris r0, r0, 0x80 -/* 0366EC 8003BC8C 901F0A3C */ stw r0, 0xa3c(r31) -/* 0366F0 8003BC90 4800221C */ b lbl_8003DEAC -lbl_8003BC94: -/* 0366F4 8003BC94 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0366F8 8003BC98 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0366FC 8003BC9C 901F0A3C */ stw r0, 0xa3c(r31) -/* 036700 8003BCA0 4800220C */ b lbl_8003DEAC -.global lbl_8003BCA4 -lbl_8003BCA4: -/* 036704 8003BCA4 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036708 8003BCA8 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 03670C 8003BCAC 901F0A3C */ stw r0, 0xa3c(r31) -/* 036710 8003BCB0 480021FC */ b lbl_8003DEAC -.global lbl_8003BCB4 -lbl_8003BCB4: -/* 036714 8003BCB4 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036718 8003BCB8 7C9F1A14 */ add r4, r31, r3 -/* 03671C 8003BCBC 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036720 8003BCC0 C8240140 */ lfd f1, 0x140(r4) -/* 036724 8003BCC4 7C7F0214 */ add r3, r31, r0 -/* 036728 8003BCC8 C8030140 */ lfd f0, 0x140(r3) -/* 03672C 8003BCCC FC010040 */ fcmpo cr0, f1, f0 -/* 036730 8003BCD0 4C401382 */ cror 2, 0, 2 -/* 036734 8003BCD4 40820014 */ bne lbl_8003BCE8 -/* 036738 8003BCD8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03673C 8003BCDC 64000080 */ oris r0, r0, 0x80 -/* 036740 8003BCE0 901F0A3C */ stw r0, 0xa3c(r31) -/* 036744 8003BCE4 480021C8 */ b lbl_8003DEAC -lbl_8003BCE8: -/* 036748 8003BCE8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03674C 8003BCEC 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036750 8003BCF0 901F0A3C */ stw r0, 0xa3c(r31) -/* 036754 8003BCF4 480021B8 */ b lbl_8003DEAC -.global lbl_8003BCF8 -lbl_8003BCF8: -/* 036758 8003BCF8 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 03675C 8003BCFC 7C9F1A14 */ add r4, r31, r3 -/* 036760 8003BD00 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036764 8003BD04 C8240140 */ lfd f1, 0x140(r4) -/* 036768 8003BD08 7C7F0214 */ add r3, r31, r0 -/* 03676C 8003BD0C C8030140 */ lfd f0, 0x140(r3) -/* 036770 8003BD10 FC010000 */ fcmpu cr0, f1, f0 -/* 036774 8003BD14 40820014 */ bne lbl_8003BD28 -/* 036778 8003BD18 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03677C 8003BD1C 64000080 */ oris r0, r0, 0x80 -/* 036780 8003BD20 901F0A3C */ stw r0, 0xa3c(r31) -/* 036784 8003BD24 48002188 */ b lbl_8003DEAC -lbl_8003BD28: -/* 036788 8003BD28 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03678C 8003BD2C 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036790 8003BD30 901F0A3C */ stw r0, 0xa3c(r31) -/* 036794 8003BD34 48002178 */ b lbl_8003DEAC -.global lbl_8003BD38 -lbl_8003BD38: -/* 036798 8003BD38 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 03679C 8003BD3C 7C9F1A14 */ add r4, r31, r3 -/* 0367A0 8003BD40 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0367A4 8003BD44 C8240140 */ lfd f1, 0x140(r4) -/* 0367A8 8003BD48 7C7F0214 */ add r3, r31, r0 -/* 0367AC 8003BD4C C8030140 */ lfd f0, 0x140(r3) -/* 0367B0 8003BD50 FC010000 */ fcmpu cr0, f1, f0 -/* 0367B4 8003BD54 40820014 */ bne lbl_8003BD68 -/* 0367B8 8003BD58 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0367BC 8003BD5C 64000080 */ oris r0, r0, 0x80 -/* 0367C0 8003BD60 901F0A3C */ stw r0, 0xa3c(r31) -/* 0367C4 8003BD64 48002148 */ b lbl_8003DEAC -lbl_8003BD68: -/* 0367C8 8003BD68 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0367CC 8003BD6C 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0367D0 8003BD70 901F0A3C */ stw r0, 0xa3c(r31) -/* 0367D4 8003BD74 48002138 */ b lbl_8003DEAC -.global lbl_8003BD78 -lbl_8003BD78: -/* 0367D8 8003BD78 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 0367DC 8003BD7C 7C9F1A14 */ add r4, r31, r3 -/* 0367E0 8003BD80 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0367E4 8003BD84 C8240140 */ lfd f1, 0x140(r4) -/* 0367E8 8003BD88 7C7F0214 */ add r3, r31, r0 -/* 0367EC 8003BD8C C8030140 */ lfd f0, 0x140(r3) -/* 0367F0 8003BD90 FC010040 */ fcmpo cr0, f1, f0 -/* 0367F4 8003BD94 40800014 */ bge lbl_8003BDA8 -/* 0367F8 8003BD98 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0367FC 8003BD9C 64000080 */ oris r0, r0, 0x80 -/* 036800 8003BDA0 901F0A3C */ stw r0, 0xa3c(r31) -/* 036804 8003BDA4 48002108 */ b lbl_8003DEAC -lbl_8003BDA8: -/* 036808 8003BDA8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03680C 8003BDAC 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036810 8003BDB0 901F0A3C */ stw r0, 0xa3c(r31) -/* 036814 8003BDB4 480020F8 */ b lbl_8003DEAC -.global lbl_8003BDB8 -lbl_8003BDB8: -/* 036818 8003BDB8 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 03681C 8003BDBC 7C9F1A14 */ add r4, r31, r3 -/* 036820 8003BDC0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036824 8003BDC4 C8240140 */ lfd f1, 0x140(r4) -/* 036828 8003BDC8 7C7F0214 */ add r3, r31, r0 -/* 03682C 8003BDCC C8030140 */ lfd f0, 0x140(r3) -/* 036830 8003BDD0 FC010040 */ fcmpo cr0, f1, f0 -/* 036834 8003BDD4 40800014 */ bge lbl_8003BDE8 -/* 036838 8003BDD8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03683C 8003BDDC 64000080 */ oris r0, r0, 0x80 -/* 036840 8003BDE0 901F0A3C */ stw r0, 0xa3c(r31) -/* 036844 8003BDE4 480020C8 */ b lbl_8003DEAC -lbl_8003BDE8: -/* 036848 8003BDE8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03684C 8003BDEC 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036850 8003BDF0 901F0A3C */ stw r0, 0xa3c(r31) -/* 036854 8003BDF4 480020B8 */ b lbl_8003DEAC -.global lbl_8003BDF8 -lbl_8003BDF8: -/* 036858 8003BDF8 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 03685C 8003BDFC 7C9F1A14 */ add r4, r31, r3 -/* 036860 8003BE00 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036864 8003BE04 C8240140 */ lfd f1, 0x140(r4) -/* 036868 8003BE08 7C7F0214 */ add r3, r31, r0 -/* 03686C 8003BE0C C8030140 */ lfd f0, 0x140(r3) -/* 036870 8003BE10 FC010040 */ fcmpo cr0, f1, f0 -/* 036874 8003BE14 4C401382 */ cror 2, 0, 2 -/* 036878 8003BE18 40820014 */ bne lbl_8003BE2C -/* 03687C 8003BE1C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036880 8003BE20 64000080 */ oris r0, r0, 0x80 -/* 036884 8003BE24 901F0A3C */ stw r0, 0xa3c(r31) -/* 036888 8003BE28 48002084 */ b lbl_8003DEAC -lbl_8003BE2C: -/* 03688C 8003BE2C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036890 8003BE30 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036894 8003BE34 901F0A3C */ stw r0, 0xa3c(r31) -/* 036898 8003BE38 48002074 */ b lbl_8003DEAC -.global lbl_8003BE3C -lbl_8003BE3C: -/* 03689C 8003BE3C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 0368A0 8003BE40 7C9F1A14 */ add r4, r31, r3 -/* 0368A4 8003BE44 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0368A8 8003BE48 C8240140 */ lfd f1, 0x140(r4) -/* 0368AC 8003BE4C 7C7F0214 */ add r3, r31, r0 -/* 0368B0 8003BE50 C8030140 */ lfd f0, 0x140(r3) -/* 0368B4 8003BE54 FC010040 */ fcmpo cr0, f1, f0 -/* 0368B8 8003BE58 4C401382 */ cror 2, 0, 2 -/* 0368BC 8003BE5C 40820014 */ bne lbl_8003BE70 -/* 0368C0 8003BE60 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0368C4 8003BE64 64000080 */ oris r0, r0, 0x80 -/* 0368C8 8003BE68 901F0A3C */ stw r0, 0xa3c(r31) -/* 0368CC 8003BE6C 48002040 */ b lbl_8003DEAC -lbl_8003BE70: -/* 0368D0 8003BE70 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0368D4 8003BE74 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0368D8 8003BE78 901F0A3C */ stw r0, 0xa3c(r31) -/* 0368DC 8003BE7C 48002030 */ b lbl_8003DEAC -lbl_8003BE80: -/* 0368E0 8003BE80 57C006BE */ clrlwi r0, r30, 0x1a -/* 0368E4 8003BE84 2800003F */ cmplwi r0, 0x3f -/* 0368E8 8003BE88 41812024 */ bgt lbl_8003DEAC -/* 0368EC 8003BE8C 3C60800F */ lis r3, jtbl_800EC358@ha -/* 0368F0 8003BE90 3863C358 */ addi r3, r3, jtbl_800EC358@l -/* 0368F4 8003BE94 5400103A */ slwi r0, r0, 2 -/* 0368F8 8003BE98 7C03002E */ lwzx r0, r3, r0 -/* 0368FC 8003BE9C 7C0903A6 */ mtctr r0 -/* 036900 8003BEA0 4E800420 */ bctr -.global lbl_8003BEA4 -lbl_8003BEA4: -/* 036904 8003BEA4 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036908 8003BEA8 7C9F1A14 */ add r4, r31, r3 -/* 03690C 8003BEAC 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036910 8003BEB0 80840144 */ lwz r4, 0x144(r4) -/* 036914 8003BEB4 7C7F0214 */ add r3, r31, r0 -/* 036918 8003BEB8 80630144 */ lwz r3, 0x144(r3) -/* 03691C 8003BEBC 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036920 8003BEC0 7C841A14 */ add r4, r4, r3 -/* 036924 8003BEC4 7C7F0214 */ add r3, r31, r0 -/* 036928 8003BEC8 90830144 */ stw r4, 0x144(r3) -/* 03692C 8003BECC 48001FE0 */ b lbl_8003DEAC -.global lbl_8003BED0 -lbl_8003BED0: -/* 036930 8003BED0 57C39E38 */ rlwinm r3, r30, 0x13, 0x18, 0x1c -/* 036934 8003BED4 7C9F1A14 */ add r4, r31, r3 -/* 036938 8003BED8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03693C 8003BEDC 80840144 */ lwz r4, 0x144(r4) -/* 036940 8003BEE0 7C7F0214 */ add r3, r31, r0 -/* 036944 8003BEE4 80630144 */ lwz r3, 0x144(r3) -/* 036948 8003BEE8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 03694C 8003BEEC 7C841850 */ subf r4, r4, r3 -/* 036950 8003BEF0 7C7F0214 */ add r3, r31, r0 -/* 036954 8003BEF4 90830144 */ stw r4, 0x144(r3) -/* 036958 8003BEF8 48001FB4 */ b lbl_8003DEAC -.global lbl_8003BEFC -lbl_8003BEFC: -/* 03695C 8003BEFC 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036960 8003BF00 7C9F1A14 */ add r4, r31, r3 -/* 036964 8003BF04 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036968 8003BF08 80840144 */ lwz r4, 0x144(r4) -/* 03696C 8003BF0C 7C7F0214 */ add r3, r31, r0 -/* 036970 8003BF10 80630144 */ lwz r3, 0x144(r3) -/* 036974 8003BF14 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036978 8003BF18 7C8419D6 */ mullw r4, r4, r3 -/* 03697C 8003BF1C 7C7F0214 */ add r3, r31, r0 -/* 036980 8003BF20 90830144 */ stw r4, 0x144(r3) -/* 036984 8003BF24 48001F88 */ b lbl_8003DEAC -.global lbl_8003BF28 -lbl_8003BF28: -/* 036988 8003BF28 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 03698C 8003BF2C 7C9F1A14 */ add r4, r31, r3 -/* 036990 8003BF30 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036994 8003BF34 80840144 */ lwz r4, 0x144(r4) -/* 036998 8003BF38 7C7F0214 */ add r3, r31, r0 -/* 03699C 8003BF3C 80630144 */ lwz r3, 0x144(r3) -/* 0369A0 8003BF40 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0369A4 8003BF44 7C841BD6 */ divw r4, r4, r3 -/* 0369A8 8003BF48 7C7F0214 */ add r3, r31, r0 -/* 0369AC 8003BF4C 90830144 */ stw r4, 0x144(r3) -/* 0369B0 8003BF50 48001F5C */ b lbl_8003DEAC -.global lbl_8003BF54 -lbl_8003BF54: -/* 0369B4 8003BF54 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0369B8 8003BF58 C84282C0 */ lfd f2, D_80135FC0@sda21(r2) -/* 0369BC 8003BF5C 7C7F0214 */ add r3, r31, r0 -/* 0369C0 8003BF60 C86282A0 */ lfd f3, D_80135FA0@sda21(r2) -/* 0369C4 8003BF64 80630144 */ lwz r3, 0x144(r3) -/* 0369C8 8003BF68 3C004330 */ lis r0, 0x4330 -/* 0369CC 8003BF6C 6C638000 */ xoris r3, r3, 0x8000 -/* 0369D0 8003BF70 9061007C */ stw r3, 0x7c(r1) -/* 0369D4 8003BF74 90010078 */ stw r0, 0x78(r1) -/* 0369D8 8003BF78 C8010078 */ lfd f0, 0x78(r1) -/* 0369DC 8003BF7C 90610084 */ stw r3, 0x84(r1) -/* 0369E0 8003BF80 FC001028 */ fsub f0, f0, f2 -/* 0369E4 8003BF84 90010080 */ stw r0, 0x80(r1) -/* 0369E8 8003BF88 C8210080 */ lfd f1, 0x80(r1) -/* 0369EC 8003BF8C FC001840 */ fcmpo cr0, f0, f3 -/* 0369F0 8003BF90 FC811028 */ fsub f4, f1, f2 -/* 0369F4 8003BF94 40810058 */ ble lbl_8003BFEC -/* 0369F8 8003BF98 FC202034 */ frsqrte f1, f4 -/* 0369FC 8003BF9C C86282A8 */ lfd f3, D_80135FA8@sda21(r2) -/* 036A00 8003BFA0 C84282B0 */ lfd f2, D_80135FB0@sda21(r2) -/* 036A04 8003BFA4 FC010072 */ fmul f0, f1, f1 -/* 036A08 8003BFA8 FC230072 */ fmul f1, f3, f1 -/* 036A0C 8003BFAC FC04103C */ fnmsub f0, f4, f0, f2 -/* 036A10 8003BFB0 FC210032 */ fmul f1, f1, f0 -/* 036A14 8003BFB4 FC010072 */ fmul f0, f1, f1 -/* 036A18 8003BFB8 FC230072 */ fmul f1, f3, f1 -/* 036A1C 8003BFBC FC04103C */ fnmsub f0, f4, f0, f2 -/* 036A20 8003BFC0 FC210032 */ fmul f1, f1, f0 -/* 036A24 8003BFC4 FC010072 */ fmul f0, f1, f1 -/* 036A28 8003BFC8 FC230072 */ fmul f1, f3, f1 -/* 036A2C 8003BFCC FC04103C */ fnmsub f0, f4, f0, f2 -/* 036A30 8003BFD0 FC210032 */ fmul f1, f1, f0 -/* 036A34 8003BFD4 FC010072 */ fmul f0, f1, f1 -/* 036A38 8003BFD8 FC230072 */ fmul f1, f3, f1 -/* 036A3C 8003BFDC FC04103C */ fnmsub f0, f4, f0, f2 -/* 036A40 8003BFE0 FC010032 */ fmul f0, f1, f0 -/* 036A44 8003BFE4 FC640032 */ fmul f3, f4, f0 -/* 036A48 8003BFE8 4800002C */ b lbl_8003C014 -lbl_8003BFEC: -/* 036A4C 8003BFEC FC032000 */ fcmpu cr0, f3, f4 -/* 036A50 8003BFF0 40820008 */ bne lbl_8003BFF8 -/* 036A54 8003BFF4 48000020 */ b lbl_8003C014 -lbl_8003BFF8: -/* 036A58 8003BFF8 FC041800 */ fcmpu cr0, f4, f3 -/* 036A5C 8003BFFC 41820010 */ beq lbl_8003C00C -/* 036A60 8003C000 3C60800F */ lis r3, __float_nan@ha -/* 036A64 8003C004 C0633E78 */ lfs f3, __float_nan@l(r3) -/* 036A68 8003C008 4800000C */ b lbl_8003C014 -lbl_8003C00C: -/* 036A6C 8003C00C 3C60800F */ lis r3, __float_huge@ha -/* 036A70 8003C010 C0633E7C */ lfs f3, __float_huge@l(r3) -lbl_8003C014: -/* 036A74 8003C014 FC00181E */ fctiwz f0, f3 -/* 036A78 8003C018 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036A7C 8003C01C 7C7F0214 */ add r3, r31, r0 -/* 036A80 8003C020 D8010078 */ stfd f0, 0x78(r1) -/* 036A84 8003C024 8001007C */ lwz r0, 0x7c(r1) -/* 036A88 8003C028 90030144 */ stw r0, 0x144(r3) -/* 036A8C 8003C02C 48001E80 */ b lbl_8003DEAC -.global lbl_8003C030 -lbl_8003C030: -/* 036A90 8003C030 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036A94 8003C034 C82282C0 */ lfd f1, D_80135FC0@sda21(r2) -/* 036A98 8003C038 7C7F0214 */ add r3, r31, r0 -/* 036A9C 8003C03C 80630144 */ lwz r3, 0x144(r3) -/* 036AA0 8003C040 3C804330 */ lis r4, 0x4330 -/* 036AA4 8003C044 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036AA8 8003C048 6C638000 */ xoris r3, r3, 0x8000 -/* 036AAC 8003C04C 9061007C */ stw r3, 0x7c(r1) -/* 036AB0 8003C050 7C7F0214 */ add r3, r31, r0 -/* 036AB4 8003C054 90810078 */ stw r4, 0x78(r1) -/* 036AB8 8003C058 C8010078 */ lfd f0, 0x78(r1) -/* 036ABC 8003C05C FC000828 */ fsub f0, f0, f1 -/* 036AC0 8003C060 FC000210 */ fabs f0, f0 -/* 036AC4 8003C064 FC00001E */ fctiwz f0, f0 -/* 036AC8 8003C068 D8010080 */ stfd f0, 0x80(r1) -/* 036ACC 8003C06C 80010084 */ lwz r0, 0x84(r1) -/* 036AD0 8003C070 90030144 */ stw r0, 0x144(r3) -/* 036AD4 8003C074 48001E38 */ b lbl_8003DEAC -.global lbl_8003C078 -lbl_8003C078: -/* 036AD8 8003C078 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036ADC 8003C07C 7C7F0214 */ add r3, r31, r0 -/* 036AE0 8003C080 80830144 */ lwz r4, 0x144(r3) -/* 036AE4 8003C084 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036AE8 8003C088 7C7F0214 */ add r3, r31, r0 -/* 036AEC 8003C08C 90830144 */ stw r4, 0x144(r3) -/* 036AF0 8003C090 48001E1C */ b lbl_8003DEAC -.global lbl_8003C094 -lbl_8003C094: -/* 036AF4 8003C094 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036AF8 8003C098 7C7F0214 */ add r3, r31, r0 -/* 036AFC 8003C09C 80630144 */ lwz r3, 0x144(r3) -/* 036B00 8003C0A0 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036B04 8003C0A4 7C8300D0 */ neg r4, r3 -/* 036B08 8003C0A8 7C7F0214 */ add r3, r31, r0 -/* 036B0C 8003C0AC 90830144 */ stw r4, 0x144(r3) -/* 036B10 8003C0B0 48001DFC */ b lbl_8003DEAC -.global lbl_8003C0B4 -lbl_8003C0B4: -/* 036B14 8003C0B4 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036B18 8003C0B8 7C7F0214 */ add r3, r31, r0 -/* 036B1C 8003C0BC 80830144 */ lwz r4, 0x144(r3) -/* 036B20 8003C0C0 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036B24 8003C0C4 7C7F0214 */ add r3, r31, r0 -/* 036B28 8003C0C8 90830144 */ stw r4, 0x144(r3) -/* 036B2C 8003C0CC 7C80FE70 */ srawi r0, r4, 0x1f -/* 036B30 8003C0D0 90030140 */ stw r0, 0x140(r3) -/* 036B34 8003C0D4 48001DD8 */ b lbl_8003DEAC -.global lbl_8003C0D8 -lbl_8003C0D8: -/* 036B38 8003C0D8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036B3C 8003C0DC 7C7F0214 */ add r3, r31, r0 -/* 036B40 8003C0E0 80830144 */ lwz r4, 0x144(r3) -/* 036B44 8003C0E4 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036B48 8003C0E8 7C7F0214 */ add r3, r31, r0 -/* 036B4C 8003C0EC 90830144 */ stw r4, 0x144(r3) -/* 036B50 8003C0F0 7C80FE70 */ srawi r0, r4, 0x1f -/* 036B54 8003C0F4 90030140 */ stw r0, 0x140(r3) -/* 036B58 8003C0F8 48001DB4 */ b lbl_8003DEAC -.global lbl_8003C0FC -lbl_8003C0FC: -/* 036B5C 8003C0FC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036B60 8003C100 C82282C0 */ lfd f1, D_80135FC0@sda21(r2) -/* 036B64 8003C104 7C7F0214 */ add r3, r31, r0 -/* 036B68 8003C108 80630144 */ lwz r3, 0x144(r3) -/* 036B6C 8003C10C 3C004330 */ lis r0, 0x4330 -/* 036B70 8003C110 6C638000 */ xoris r3, r3, 0x8000 -/* 036B74 8003C114 9061007C */ stw r3, 0x7c(r1) -/* 036B78 8003C118 90010078 */ stw r0, 0x78(r1) -/* 036B7C 8003C11C C8010078 */ lfd f0, 0x78(r1) -/* 036B80 8003C120 FC200828 */ fsub f1, f0, f1 -/* 036B84 8003C124 48095825 */ bl ceil -/* 036B88 8003C128 48091DF1 */ bl __cvt_dbl_usll -/* 036B8C 8003C12C 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036B90 8003C130 7CBF0214 */ add r5, r31, r0 -/* 036B94 8003C134 90850144 */ stw r4, 0x144(r5) -/* 036B98 8003C138 90650140 */ stw r3, 0x140(r5) -/* 036B9C 8003C13C 48001D70 */ b lbl_8003DEAC -.global lbl_8003C140 -lbl_8003C140: -/* 036BA0 8003C140 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036BA4 8003C144 C82282C0 */ lfd f1, D_80135FC0@sda21(r2) -/* 036BA8 8003C148 7C7F0214 */ add r3, r31, r0 -/* 036BAC 8003C14C 80630144 */ lwz r3, 0x144(r3) -/* 036BB0 8003C150 3C004330 */ lis r0, 0x4330 -/* 036BB4 8003C154 6C638000 */ xoris r3, r3, 0x8000 -/* 036BB8 8003C158 9061007C */ stw r3, 0x7c(r1) -/* 036BBC 8003C15C 90010078 */ stw r0, 0x78(r1) -/* 036BC0 8003C160 C8010078 */ lfd f0, 0x78(r1) -/* 036BC4 8003C164 FC200828 */ fsub f1, f0, f1 -/* 036BC8 8003C168 48095975 */ bl floor -/* 036BCC 8003C16C 48091DAD */ bl __cvt_dbl_usll -/* 036BD0 8003C170 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036BD4 8003C174 7CBF0214 */ add r5, r31, r0 -/* 036BD8 8003C178 90850144 */ stw r4, 0x144(r5) -/* 036BDC 8003C17C 90650140 */ stw r3, 0x140(r5) -/* 036BE0 8003C180 48001D2C */ b lbl_8003DEAC -.global lbl_8003C184 -lbl_8003C184: -/* 036BE4 8003C184 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036BE8 8003C188 7C7F0214 */ add r3, r31, r0 -/* 036BEC 8003C18C 80830144 */ lwz r4, 0x144(r3) -/* 036BF0 8003C190 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036BF4 8003C194 7C7F0214 */ add r3, r31, r0 -/* 036BF8 8003C198 90830144 */ stw r4, 0x144(r3) -/* 036BFC 8003C19C 48001D10 */ b lbl_8003DEAC -.global lbl_8003C1A0 -lbl_8003C1A0: -/* 036C00 8003C1A0 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036C04 8003C1A4 7C7F0214 */ add r3, r31, r0 -/* 036C08 8003C1A8 80830144 */ lwz r4, 0x144(r3) -/* 036C0C 8003C1AC 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036C10 8003C1B0 7C7F0214 */ add r3, r31, r0 -/* 036C14 8003C1B4 90830144 */ stw r4, 0x144(r3) -/* 036C18 8003C1B8 48001CF4 */ b lbl_8003DEAC -.global lbl_8003C1BC -lbl_8003C1BC: -/* 036C1C 8003C1BC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036C20 8003C1C0 C82282C0 */ lfd f1, D_80135FC0@sda21(r2) -/* 036C24 8003C1C4 7C7F0214 */ add r3, r31, r0 -/* 036C28 8003C1C8 80630144 */ lwz r3, 0x144(r3) -/* 036C2C 8003C1CC 3C004330 */ lis r0, 0x4330 -/* 036C30 8003C1D0 6C638000 */ xoris r3, r3, 0x8000 -/* 036C34 8003C1D4 9061007C */ stw r3, 0x7c(r1) -/* 036C38 8003C1D8 90010078 */ stw r0, 0x78(r1) -/* 036C3C 8003C1DC C8010078 */ lfd f0, 0x78(r1) -/* 036C40 8003C1E0 FC200828 */ fsub f1, f0, f1 -/* 036C44 8003C1E4 48095765 */ bl ceil -/* 036C48 8003C1E8 FC00081E */ fctiwz f0, f1 -/* 036C4C 8003C1EC 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036C50 8003C1F0 7C7F0214 */ add r3, r31, r0 -/* 036C54 8003C1F4 D8010080 */ stfd f0, 0x80(r1) -/* 036C58 8003C1F8 80010084 */ lwz r0, 0x84(r1) -/* 036C5C 8003C1FC 90030144 */ stw r0, 0x144(r3) -/* 036C60 8003C200 48001CAC */ b lbl_8003DEAC -.global lbl_8003C204 -lbl_8003C204: -/* 036C64 8003C204 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036C68 8003C208 C82282C0 */ lfd f1, D_80135FC0@sda21(r2) -/* 036C6C 8003C20C 7C7F0214 */ add r3, r31, r0 -/* 036C70 8003C210 80630144 */ lwz r3, 0x144(r3) -/* 036C74 8003C214 3C004330 */ lis r0, 0x4330 -/* 036C78 8003C218 6C638000 */ xoris r3, r3, 0x8000 -/* 036C7C 8003C21C 9061007C */ stw r3, 0x7c(r1) -/* 036C80 8003C220 90010078 */ stw r0, 0x78(r1) -/* 036C84 8003C224 C8010078 */ lfd f0, 0x78(r1) -/* 036C88 8003C228 FC200828 */ fsub f1, f0, f1 -/* 036C8C 8003C22C 480958B1 */ bl floor -/* 036C90 8003C230 FC00081E */ fctiwz f0, f1 -/* 036C94 8003C234 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036C98 8003C238 7C7F0214 */ add r3, r31, r0 -/* 036C9C 8003C23C D8010080 */ stfd f0, 0x80(r1) -/* 036CA0 8003C240 80010084 */ lwz r0, 0x84(r1) -/* 036CA4 8003C244 90030144 */ stw r0, 0x144(r3) -/* 036CA8 8003C248 48001C64 */ b lbl_8003DEAC -.global lbl_8003C24C -lbl_8003C24C: -/* 036CAC 8003C24C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036CB0 8003C250 C82282C0 */ lfd f1, D_80135FC0@sda21(r2) -/* 036CB4 8003C254 7C7F0214 */ add r3, r31, r0 -/* 036CB8 8003C258 80630144 */ lwz r3, 0x144(r3) -/* 036CBC 8003C25C 3C804330 */ lis r4, 0x4330 -/* 036CC0 8003C260 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036CC4 8003C264 6C638000 */ xoris r3, r3, 0x8000 -/* 036CC8 8003C268 9061007C */ stw r3, 0x7c(r1) -/* 036CCC 8003C26C 7C7F0214 */ add r3, r31, r0 -/* 036CD0 8003C270 90810078 */ stw r4, 0x78(r1) -/* 036CD4 8003C274 C8010078 */ lfd f0, 0x78(r1) -/* 036CD8 8003C278 EC000828 */ fsubs f0, f0, f1 -/* 036CDC 8003C27C D0030144 */ stfs f0, 0x144(r3) -/* 036CE0 8003C280 48001C2C */ b lbl_8003DEAC -.global lbl_8003C284 -lbl_8003C284: -/* 036CE4 8003C284 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036CE8 8003C288 C82282C0 */ lfd f1, D_80135FC0@sda21(r2) -/* 036CEC 8003C28C 7C7F0214 */ add r3, r31, r0 -/* 036CF0 8003C290 80630144 */ lwz r3, 0x144(r3) -/* 036CF4 8003C294 3C804330 */ lis r4, 0x4330 -/* 036CF8 8003C298 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036CFC 8003C29C 6C638000 */ xoris r3, r3, 0x8000 -/* 036D00 8003C2A0 9061007C */ stw r3, 0x7c(r1) -/* 036D04 8003C2A4 7C7F0214 */ add r3, r31, r0 -/* 036D08 8003C2A8 90810078 */ stw r4, 0x78(r1) -/* 036D0C 8003C2AC C8010078 */ lfd f0, 0x78(r1) -/* 036D10 8003C2B0 FC000828 */ fsub f0, f0, f1 -/* 036D14 8003C2B4 D8030140 */ stfd f0, 0x140(r3) -/* 036D18 8003C2B8 48001BF4 */ b lbl_8003DEAC -.global lbl_8003C2BC -lbl_8003C2BC: -/* 036D1C 8003C2BC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036D20 8003C2C0 7C7F0214 */ add r3, r31, r0 -/* 036D24 8003C2C4 80830144 */ lwz r4, 0x144(r3) -/* 036D28 8003C2C8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036D2C 8003C2CC 7C7F0214 */ add r3, r31, r0 -/* 036D30 8003C2D0 90830144 */ stw r4, 0x144(r3) -/* 036D34 8003C2D4 48001BD8 */ b lbl_8003DEAC -.global lbl_8003C2D8 -lbl_8003C2D8: -/* 036D38 8003C2D8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 036D3C 8003C2DC 7C7F0214 */ add r3, r31, r0 -/* 036D40 8003C2E0 80830144 */ lwz r4, 0x144(r3) -/* 036D44 8003C2E4 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 036D48 8003C2E8 7C7F0214 */ add r3, r31, r0 -/* 036D4C 8003C2EC 90830144 */ stw r4, 0x144(r3) -/* 036D50 8003C2F0 7C80FE70 */ srawi r0, r4, 0x1f -/* 036D54 8003C2F4 90030140 */ stw r0, 0x140(r3) -/* 036D58 8003C2F8 48001BB4 */ b lbl_8003DEAC -.global lbl_8003C2FC -lbl_8003C2FC: -/* 036D5C 8003C2FC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036D60 8003C300 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036D64 8003C304 901F0A3C */ stw r0, 0xa3c(r31) -/* 036D68 8003C308 48001BA4 */ b lbl_8003DEAC -.global lbl_8003C30C -lbl_8003C30C: -/* 036D6C 8003C30C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036D70 8003C310 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036D74 8003C314 901F0A3C */ stw r0, 0xa3c(r31) -/* 036D78 8003C318 48001B94 */ b lbl_8003DEAC -.global lbl_8003C31C -lbl_8003C31C: -/* 036D7C 8003C31C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036D80 8003C320 7C9F1A14 */ add r4, r31, r3 -/* 036D84 8003C324 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036D88 8003C328 80840144 */ lwz r4, 0x144(r4) -/* 036D8C 8003C32C 7C7F0214 */ add r3, r31, r0 -/* 036D90 8003C330 80030144 */ lwz r0, 0x144(r3) -/* 036D94 8003C334 7C040000 */ cmpw r4, r0 -/* 036D98 8003C338 40820014 */ bne lbl_8003C34C -/* 036D9C 8003C33C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036DA0 8003C340 64000080 */ oris r0, r0, 0x80 -/* 036DA4 8003C344 901F0A3C */ stw r0, 0xa3c(r31) -/* 036DA8 8003C348 48001B64 */ b lbl_8003DEAC -lbl_8003C34C: -/* 036DAC 8003C34C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036DB0 8003C350 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036DB4 8003C354 901F0A3C */ stw r0, 0xa3c(r31) -/* 036DB8 8003C358 48001B54 */ b lbl_8003DEAC -.global lbl_8003C35C -lbl_8003C35C: -/* 036DBC 8003C35C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036DC0 8003C360 7C9F1A14 */ add r4, r31, r3 -/* 036DC4 8003C364 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036DC8 8003C368 80840144 */ lwz r4, 0x144(r4) -/* 036DCC 8003C36C 7C7F0214 */ add r3, r31, r0 -/* 036DD0 8003C370 80030144 */ lwz r0, 0x144(r3) -/* 036DD4 8003C374 7C040000 */ cmpw r4, r0 -/* 036DD8 8003C378 40820014 */ bne lbl_8003C38C -/* 036DDC 8003C37C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036DE0 8003C380 64000080 */ oris r0, r0, 0x80 -/* 036DE4 8003C384 901F0A3C */ stw r0, 0xa3c(r31) -/* 036DE8 8003C388 48001B24 */ b lbl_8003DEAC -lbl_8003C38C: -/* 036DEC 8003C38C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036DF0 8003C390 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036DF4 8003C394 901F0A3C */ stw r0, 0xa3c(r31) -/* 036DF8 8003C398 48001B14 */ b lbl_8003DEAC -.global lbl_8003C39C -lbl_8003C39C: -/* 036DFC 8003C39C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036E00 8003C3A0 7C9F1A14 */ add r4, r31, r3 -/* 036E04 8003C3A4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036E08 8003C3A8 80840144 */ lwz r4, 0x144(r4) -/* 036E0C 8003C3AC 7C7F0214 */ add r3, r31, r0 -/* 036E10 8003C3B0 80030144 */ lwz r0, 0x144(r3) -/* 036E14 8003C3B4 7C040000 */ cmpw r4, r0 -/* 036E18 8003C3B8 40800014 */ bge lbl_8003C3CC -/* 036E1C 8003C3BC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036E20 8003C3C0 64000080 */ oris r0, r0, 0x80 -/* 036E24 8003C3C4 901F0A3C */ stw r0, 0xa3c(r31) -/* 036E28 8003C3C8 48001AE4 */ b lbl_8003DEAC -lbl_8003C3CC: -/* 036E2C 8003C3CC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036E30 8003C3D0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036E34 8003C3D4 901F0A3C */ stw r0, 0xa3c(r31) -/* 036E38 8003C3D8 48001AD4 */ b lbl_8003DEAC -.global lbl_8003C3DC -lbl_8003C3DC: -/* 036E3C 8003C3DC 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036E40 8003C3E0 7C9F1A14 */ add r4, r31, r3 -/* 036E44 8003C3E4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036E48 8003C3E8 80840144 */ lwz r4, 0x144(r4) -/* 036E4C 8003C3EC 7C7F0214 */ add r3, r31, r0 -/* 036E50 8003C3F0 80030144 */ lwz r0, 0x144(r3) -/* 036E54 8003C3F4 7C040000 */ cmpw r4, r0 -/* 036E58 8003C3F8 40800014 */ bge lbl_8003C40C -/* 036E5C 8003C3FC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036E60 8003C400 64000080 */ oris r0, r0, 0x80 -/* 036E64 8003C404 901F0A3C */ stw r0, 0xa3c(r31) -/* 036E68 8003C408 48001AA4 */ b lbl_8003DEAC -lbl_8003C40C: -/* 036E6C 8003C40C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036E70 8003C410 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036E74 8003C414 901F0A3C */ stw r0, 0xa3c(r31) -/* 036E78 8003C418 48001A94 */ b lbl_8003DEAC -.global lbl_8003C41C -lbl_8003C41C: -/* 036E7C 8003C41C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036E80 8003C420 7C9F1A14 */ add r4, r31, r3 -/* 036E84 8003C424 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036E88 8003C428 80840144 */ lwz r4, 0x144(r4) -/* 036E8C 8003C42C 7C7F0214 */ add r3, r31, r0 -/* 036E90 8003C430 80030144 */ lwz r0, 0x144(r3) -/* 036E94 8003C434 7C040000 */ cmpw r4, r0 -/* 036E98 8003C438 41810014 */ bgt lbl_8003C44C -/* 036E9C 8003C43C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036EA0 8003C440 64000080 */ oris r0, r0, 0x80 -/* 036EA4 8003C444 901F0A3C */ stw r0, 0xa3c(r31) -/* 036EA8 8003C448 48001A64 */ b lbl_8003DEAC -lbl_8003C44C: -/* 036EAC 8003C44C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036EB0 8003C450 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036EB4 8003C454 901F0A3C */ stw r0, 0xa3c(r31) -/* 036EB8 8003C458 48001A54 */ b lbl_8003DEAC -.global lbl_8003C45C -lbl_8003C45C: -/* 036EBC 8003C45C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036EC0 8003C460 7C9F1A14 */ add r4, r31, r3 -/* 036EC4 8003C464 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036EC8 8003C468 80840144 */ lwz r4, 0x144(r4) -/* 036ECC 8003C46C 7C7F0214 */ add r3, r31, r0 -/* 036ED0 8003C470 80030144 */ lwz r0, 0x144(r3) -/* 036ED4 8003C474 7C040000 */ cmpw r4, r0 -/* 036ED8 8003C478 41810014 */ bgt lbl_8003C48C -/* 036EDC 8003C47C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036EE0 8003C480 64000080 */ oris r0, r0, 0x80 -/* 036EE4 8003C484 901F0A3C */ stw r0, 0xa3c(r31) -/* 036EE8 8003C488 48001A24 */ b lbl_8003DEAC -lbl_8003C48C: -/* 036EEC 8003C48C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036EF0 8003C490 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036EF4 8003C494 901F0A3C */ stw r0, 0xa3c(r31) -/* 036EF8 8003C498 48001A14 */ b lbl_8003DEAC -.global lbl_8003C49C -lbl_8003C49C: -/* 036EFC 8003C49C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036F00 8003C4A0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036F04 8003C4A4 901F0A3C */ stw r0, 0xa3c(r31) -/* 036F08 8003C4A8 48001A04 */ b lbl_8003DEAC -.global lbl_8003C4AC -lbl_8003C4AC: -/* 036F0C 8003C4AC 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036F10 8003C4B0 7C9F1A14 */ add r4, r31, r3 -/* 036F14 8003C4B4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036F18 8003C4B8 80840144 */ lwz r4, 0x144(r4) -/* 036F1C 8003C4BC 7C7F0214 */ add r3, r31, r0 -/* 036F20 8003C4C0 80030144 */ lwz r0, 0x144(r3) -/* 036F24 8003C4C4 7C040000 */ cmpw r4, r0 -/* 036F28 8003C4C8 41810014 */ bgt lbl_8003C4DC -/* 036F2C 8003C4CC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036F30 8003C4D0 64000080 */ oris r0, r0, 0x80 -/* 036F34 8003C4D4 901F0A3C */ stw r0, 0xa3c(r31) -/* 036F38 8003C4D8 480019D4 */ b lbl_8003DEAC -lbl_8003C4DC: -/* 036F3C 8003C4DC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036F40 8003C4E0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036F44 8003C4E4 901F0A3C */ stw r0, 0xa3c(r31) -/* 036F48 8003C4E8 480019C4 */ b lbl_8003DEAC -.global lbl_8003C4EC -lbl_8003C4EC: -/* 036F4C 8003C4EC 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036F50 8003C4F0 7C9F1A14 */ add r4, r31, r3 -/* 036F54 8003C4F4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036F58 8003C4F8 80840144 */ lwz r4, 0x144(r4) -/* 036F5C 8003C4FC 7C7F0214 */ add r3, r31, r0 -/* 036F60 8003C500 80030144 */ lwz r0, 0x144(r3) -/* 036F64 8003C504 7C040000 */ cmpw r4, r0 -/* 036F68 8003C508 40820014 */ bne lbl_8003C51C -/* 036F6C 8003C50C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036F70 8003C510 64000080 */ oris r0, r0, 0x80 -/* 036F74 8003C514 901F0A3C */ stw r0, 0xa3c(r31) -/* 036F78 8003C518 48001994 */ b lbl_8003DEAC -lbl_8003C51C: -/* 036F7C 8003C51C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036F80 8003C520 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036F84 8003C524 901F0A3C */ stw r0, 0xa3c(r31) -/* 036F88 8003C528 48001984 */ b lbl_8003DEAC -.global lbl_8003C52C -lbl_8003C52C: -/* 036F8C 8003C52C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036F90 8003C530 7C9F1A14 */ add r4, r31, r3 -/* 036F94 8003C534 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036F98 8003C538 80840144 */ lwz r4, 0x144(r4) -/* 036F9C 8003C53C 7C7F0214 */ add r3, r31, r0 -/* 036FA0 8003C540 80030144 */ lwz r0, 0x144(r3) -/* 036FA4 8003C544 7C040000 */ cmpw r4, r0 -/* 036FA8 8003C548 40820014 */ bne lbl_8003C55C -/* 036FAC 8003C54C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036FB0 8003C550 64000080 */ oris r0, r0, 0x80 -/* 036FB4 8003C554 901F0A3C */ stw r0, 0xa3c(r31) -/* 036FB8 8003C558 48001954 */ b lbl_8003DEAC -lbl_8003C55C: -/* 036FBC 8003C55C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036FC0 8003C560 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 036FC4 8003C564 901F0A3C */ stw r0, 0xa3c(r31) -/* 036FC8 8003C568 48001944 */ b lbl_8003DEAC -.global lbl_8003C56C -lbl_8003C56C: -/* 036FCC 8003C56C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 036FD0 8003C570 7C9F1A14 */ add r4, r31, r3 -/* 036FD4 8003C574 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 036FD8 8003C578 80840144 */ lwz r4, 0x144(r4) -/* 036FDC 8003C57C 7C7F0214 */ add r3, r31, r0 -/* 036FE0 8003C580 80030144 */ lwz r0, 0x144(r3) -/* 036FE4 8003C584 7C040000 */ cmpw r4, r0 -/* 036FE8 8003C588 40800014 */ bge lbl_8003C59C -/* 036FEC 8003C58C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 036FF0 8003C590 64000080 */ oris r0, r0, 0x80 -/* 036FF4 8003C594 901F0A3C */ stw r0, 0xa3c(r31) -/* 036FF8 8003C598 48001914 */ b lbl_8003DEAC -lbl_8003C59C: -/* 036FFC 8003C59C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037000 8003C5A0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 037004 8003C5A4 901F0A3C */ stw r0, 0xa3c(r31) -/* 037008 8003C5A8 48001904 */ b lbl_8003DEAC -.global lbl_8003C5AC -lbl_8003C5AC: -/* 03700C 8003C5AC 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 037010 8003C5B0 7C9F1A14 */ add r4, r31, r3 -/* 037014 8003C5B4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037018 8003C5B8 80840144 */ lwz r4, 0x144(r4) -/* 03701C 8003C5BC 7C7F0214 */ add r3, r31, r0 -/* 037020 8003C5C0 80030144 */ lwz r0, 0x144(r3) -/* 037024 8003C5C4 7C040000 */ cmpw r4, r0 -/* 037028 8003C5C8 40800014 */ bge lbl_8003C5DC -/* 03702C 8003C5CC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037030 8003C5D0 64000080 */ oris r0, r0, 0x80 -/* 037034 8003C5D4 901F0A3C */ stw r0, 0xa3c(r31) -/* 037038 8003C5D8 480018D4 */ b lbl_8003DEAC -lbl_8003C5DC: -/* 03703C 8003C5DC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037040 8003C5E0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 037044 8003C5E4 901F0A3C */ stw r0, 0xa3c(r31) -/* 037048 8003C5E8 480018C4 */ b lbl_8003DEAC -.global lbl_8003C5EC -lbl_8003C5EC: -/* 03704C 8003C5EC 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 037050 8003C5F0 7C9F1A14 */ add r4, r31, r3 -/* 037054 8003C5F4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037058 8003C5F8 80840144 */ lwz r4, 0x144(r4) -/* 03705C 8003C5FC 7C7F0214 */ add r3, r31, r0 -/* 037060 8003C600 80030144 */ lwz r0, 0x144(r3) -/* 037064 8003C604 7C040000 */ cmpw r4, r0 -/* 037068 8003C608 41810014 */ bgt lbl_8003C61C -/* 03706C 8003C60C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037070 8003C610 64000080 */ oris r0, r0, 0x80 -/* 037074 8003C614 901F0A3C */ stw r0, 0xa3c(r31) -/* 037078 8003C618 48001894 */ b lbl_8003DEAC -lbl_8003C61C: -/* 03707C 8003C61C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037080 8003C620 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 037084 8003C624 901F0A3C */ stw r0, 0xa3c(r31) -/* 037088 8003C628 48001884 */ b lbl_8003DEAC -.global lbl_8003C62C -lbl_8003C62C: -/* 03708C 8003C62C 57C3C638 */ rlwinm r3, r30, 0x18, 0x18, 0x1c -/* 037090 8003C630 7C9F1A14 */ add r4, r31, r3 -/* 037094 8003C634 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037098 8003C638 80840144 */ lwz r4, 0x144(r4) -/* 03709C 8003C63C 7C7F0214 */ add r3, r31, r0 -/* 0370A0 8003C640 80030144 */ lwz r0, 0x144(r3) -/* 0370A4 8003C644 7C040000 */ cmpw r4, r0 -/* 0370A8 8003C648 41810014 */ bgt lbl_8003C65C -/* 0370AC 8003C64C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0370B0 8003C650 64000080 */ oris r0, r0, 0x80 -/* 0370B4 8003C654 901F0A3C */ stw r0, 0xa3c(r31) -/* 0370B8 8003C658 48001854 */ b lbl_8003DEAC -lbl_8003C65C: -/* 0370BC 8003C65C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0370C0 8003C660 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0370C4 8003C664 901F0A3C */ stw r0, 0xa3c(r31) -/* 0370C8 8003C668 48001844 */ b lbl_8003DEAC -lbl_8003C66C: -/* 0370CC 8003C66C 57C006BE */ clrlwi r0, r30, 0x1a -/* 0370D0 8003C670 2800003F */ cmplwi r0, 0x3f -/* 0370D4 8003C674 41811838 */ bgt lbl_8003DEAC -/* 0370D8 8003C678 3C60800F */ lis r3, jtbl_800EC258@ha -/* 0370DC 8003C67C 3863C258 */ addi r3, r3, jtbl_800EC258@l -/* 0370E0 8003C680 5400103A */ slwi r0, r0, 2 -/* 0370E4 8003C684 7C03002E */ lwzx r0, r3, r0 -/* 0370E8 8003C688 7C0903A6 */ mtctr r0 -/* 0370EC 8003C68C 4E800420 */ bctr -.global lbl_8003C690 -lbl_8003C690: -/* 0370F0 8003C690 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0370F4 8003C694 7C7F0214 */ add r3, r31, r0 -/* 0370F8 8003C698 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0370FC 8003C69C 80E30144 */ lwz r7, 0x144(r3) -/* 037100 8003C6A0 7C9F0214 */ add r4, r31, r0 -/* 037104 8003C6A4 80C30140 */ lwz r6, 0x140(r3) -/* 037108 8003C6A8 80640144 */ lwz r3, 0x144(r4) -/* 03710C 8003C6AC 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 037110 8003C6B0 80A40140 */ lwz r5, 0x140(r4) -/* 037114 8003C6B4 7C871814 */ addc r4, r7, r3 -/* 037118 8003C6B8 7C7F0214 */ add r3, r31, r0 -/* 03711C 8003C6BC 90830144 */ stw r4, 0x144(r3) -/* 037120 8003C6C0 7C062914 */ adde r0, r6, r5 -/* 037124 8003C6C4 90030140 */ stw r0, 0x140(r3) -/* 037128 8003C6C8 480017E4 */ b lbl_8003DEAC -.global lbl_8003C6CC -lbl_8003C6CC: -/* 03712C 8003C6CC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037130 8003C6D0 7C7F0214 */ add r3, r31, r0 -/* 037134 8003C6D4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037138 8003C6D8 80E30144 */ lwz r7, 0x144(r3) -/* 03713C 8003C6DC 7C9F0214 */ add r4, r31, r0 -/* 037140 8003C6E0 80C30140 */ lwz r6, 0x140(r3) -/* 037144 8003C6E4 80640144 */ lwz r3, 0x144(r4) -/* 037148 8003C6E8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 03714C 8003C6EC 80A40140 */ lwz r5, 0x140(r4) -/* 037150 8003C6F0 7C833810 */ subfc r4, r3, r7 -/* 037154 8003C6F4 7C7F0214 */ add r3, r31, r0 -/* 037158 8003C6F8 90830144 */ stw r4, 0x144(r3) -/* 03715C 8003C6FC 7C053110 */ subfe r0, r5, r6 -/* 037160 8003C700 90030140 */ stw r0, 0x140(r3) -/* 037164 8003C704 480017A8 */ b lbl_8003DEAC -.global lbl_8003C708 -lbl_8003C708: -/* 037168 8003C708 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03716C 8003C70C 7C9F0214 */ add r4, r31, r0 -/* 037170 8003C710 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037174 8003C714 80A40140 */ lwz r5, 0x140(r4) -/* 037178 8003C718 7C7F0214 */ add r3, r31, r0 -/* 03717C 8003C71C 80E40144 */ lwz r7, 0x144(r4) -/* 037180 8003C720 80830144 */ lwz r4, 0x144(r3) -/* 037184 8003C724 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 037188 8003C728 80630140 */ lwz r3, 0x140(r3) -/* 03718C 8003C72C 7CC521D6 */ mullw r6, r5, r4 -/* 037190 8003C730 7CA72016 */ mulhwu r5, r7, r4 -/* 037194 8003C734 7CC62A14 */ add r6, r6, r5 -/* 037198 8003C738 7CA719D6 */ mullw r5, r7, r3 -/* 03719C 8003C73C 7C7F0214 */ add r3, r31, r0 -/* 0371A0 8003C740 7C8721D6 */ mullw r4, r7, r4 -/* 0371A4 8003C744 90830144 */ stw r4, 0x144(r3) -/* 0371A8 8003C748 7C062A14 */ add r0, r6, r5 -/* 0371AC 8003C74C 90030140 */ stw r0, 0x140(r3) -/* 0371B0 8003C750 4800175C */ b lbl_8003DEAC -.global lbl_8003C754 -lbl_8003C754: -/* 0371B4 8003C754 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0371B8 8003C758 7C7F0214 */ add r3, r31, r0 -/* 0371BC 8003C75C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0371C0 8003C760 80A30140 */ lwz r5, 0x140(r3) -/* 0371C4 8003C764 7C9F0214 */ add r4, r31, r0 -/* 0371C8 8003C768 80C30144 */ lwz r6, 0x144(r3) -/* 0371CC 8003C76C 80640140 */ lwz r3, 0x140(r4) -/* 0371D0 8003C770 80840144 */ lwz r4, 0x144(r4) -/* 0371D4 8003C774 480912A9 */ bl __div2i -/* 0371D8 8003C778 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0371DC 8003C77C 7CBF0214 */ add r5, r31, r0 -/* 0371E0 8003C780 90850144 */ stw r4, 0x144(r5) -/* 0371E4 8003C784 90650140 */ stw r3, 0x140(r5) -/* 0371E8 8003C788 48001724 */ b lbl_8003DEAC -.global lbl_8003C78C -lbl_8003C78C: -/* 0371EC 8003C78C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0371F0 8003C790 7C7F0214 */ add r3, r31, r0 -/* 0371F4 8003C794 82E30144 */ lwz r23, 0x144(r3) -/* 0371F8 8003C798 82C30140 */ lwz r22, 0x140(r3) -/* 0371FC 8003C79C 38970000 */ addi r4, r23, 0 -/* 037200 8003C7A0 38760000 */ addi r3, r22, 0 -/* 037204 8003C7A4 48091611 */ bl __cvt_sll_dbl -/* 037208 8003C7A8 FFE00890 */ fmr f31, f1 -/* 03720C 8003C7AC 38760000 */ addi r3, r22, 0 -/* 037210 8003C7B0 38970000 */ addi r4, r23, 0 -/* 037214 8003C7B4 48091601 */ bl __cvt_sll_dbl -/* 037218 8003C7B8 C80282A0 */ lfd f0, D_80135FA0@sda21(r2) -/* 03721C 8003C7BC FC010040 */ fcmpo cr0, f1, f0 -/* 037220 8003C7C0 40810058 */ ble lbl_8003C818 -/* 037224 8003C7C4 FC20F834 */ frsqrte f1, f31 -/* 037228 8003C7C8 C86282A8 */ lfd f3, D_80135FA8@sda21(r2) -/* 03722C 8003C7CC C84282B0 */ lfd f2, D_80135FB0@sda21(r2) -/* 037230 8003C7D0 FC010072 */ fmul f0, f1, f1 -/* 037234 8003C7D4 FC230072 */ fmul f1, f3, f1 -/* 037238 8003C7D8 FC1F103C */ fnmsub f0, f31, f0, f2 -/* 03723C 8003C7DC FC210032 */ fmul f1, f1, f0 -/* 037240 8003C7E0 FC010072 */ fmul f0, f1, f1 -/* 037244 8003C7E4 FC230072 */ fmul f1, f3, f1 -/* 037248 8003C7E8 FC1F103C */ fnmsub f0, f31, f0, f2 -/* 03724C 8003C7EC FC210032 */ fmul f1, f1, f0 -/* 037250 8003C7F0 FC010072 */ fmul f0, f1, f1 -/* 037254 8003C7F4 FC230072 */ fmul f1, f3, f1 -/* 037258 8003C7F8 FC1F103C */ fnmsub f0, f31, f0, f2 -/* 03725C 8003C7FC FC210032 */ fmul f1, f1, f0 -/* 037260 8003C800 FC010072 */ fmul f0, f1, f1 -/* 037264 8003C804 FC230072 */ fmul f1, f3, f1 -/* 037268 8003C808 FC1F103C */ fnmsub f0, f31, f0, f2 -/* 03726C 8003C80C FC010032 */ fmul f0, f1, f0 -/* 037270 8003C810 FC1F0032 */ fmul f0, f31, f0 -/* 037274 8003C814 4800002C */ b lbl_8003C840 -lbl_8003C818: -/* 037278 8003C818 FC00F800 */ fcmpu cr0, f0, f31 -/* 03727C 8003C81C 40820008 */ bne lbl_8003C824 -/* 037280 8003C820 48000020 */ b lbl_8003C840 -lbl_8003C824: -/* 037284 8003C824 FC1F0000 */ fcmpu cr0, f31, f0 -/* 037288 8003C828 41820010 */ beq lbl_8003C838 -/* 03728C 8003C82C 3C60800F */ lis r3, __float_nan@ha -/* 037290 8003C830 C0033E78 */ lfs f0, __float_nan@l(r3) -/* 037294 8003C834 4800000C */ b lbl_8003C840 -lbl_8003C838: -/* 037298 8003C838 3C60800F */ lis r3, __float_huge@ha -/* 03729C 8003C83C C0033E7C */ lfs f0, __float_huge@l(r3) -lbl_8003C840: -/* 0372A0 8003C840 FC200090 */ fmr f1, f0 -/* 0372A4 8003C844 480916D5 */ bl __cvt_dbl_usll -/* 0372A8 8003C848 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0372AC 8003C84C 7CBF0214 */ add r5, r31, r0 -/* 0372B0 8003C850 90850144 */ stw r4, 0x144(r5) -/* 0372B4 8003C854 90650140 */ stw r3, 0x140(r5) -/* 0372B8 8003C858 48001654 */ b lbl_8003DEAC -.global lbl_8003C85C -lbl_8003C85C: -/* 0372BC 8003C85C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0372C0 8003C860 7C9F0214 */ add r4, r31, r0 -/* 0372C4 8003C864 80640140 */ lwz r3, 0x140(r4) -/* 0372C8 8003C868 80840144 */ lwz r4, 0x144(r4) -/* 0372CC 8003C86C 48091549 */ bl __cvt_sll_dbl -/* 0372D0 8003C870 FC200A10 */ fabs f1, f1 -/* 0372D4 8003C874 480916A5 */ bl __cvt_dbl_usll -/* 0372D8 8003C878 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0372DC 8003C87C 7CBF0214 */ add r5, r31, r0 -/* 0372E0 8003C880 90850144 */ stw r4, 0x144(r5) -/* 0372E4 8003C884 90650140 */ stw r3, 0x140(r5) -/* 0372E8 8003C888 48001624 */ b lbl_8003DEAC -.global lbl_8003C88C -lbl_8003C88C: -/* 0372EC 8003C88C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0372F0 8003C890 7C7F0214 */ add r3, r31, r0 -/* 0372F4 8003C894 80830140 */ lwz r4, 0x140(r3) -/* 0372F8 8003C898 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0372FC 8003C89C 80A30144 */ lwz r5, 0x144(r3) -/* 037300 8003C8A0 7C7F0214 */ add r3, r31, r0 -/* 037304 8003C8A4 90A30144 */ stw r5, 0x144(r3) -/* 037308 8003C8A8 90830140 */ stw r4, 0x140(r3) -/* 03730C 8003C8AC 48001600 */ b lbl_8003DEAC -.global lbl_8003C8B0 -lbl_8003C8B0: -/* 037310 8003C8B0 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037314 8003C8B4 7C9F0214 */ add r4, r31, r0 -/* 037318 8003C8B8 80640144 */ lwz r3, 0x144(r4) -/* 03731C 8003C8BC 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 037320 8003C8C0 80A40140 */ lwz r5, 0x140(r4) -/* 037324 8003C8C4 20830000 */ subfic r4, r3, 0 -/* 037328 8003C8C8 7C7F0214 */ add r3, r31, r0 -/* 03732C 8003C8CC 90830144 */ stw r4, 0x144(r3) -/* 037330 8003C8D0 7C050190 */ subfze r0, r5 -/* 037334 8003C8D4 90030140 */ stw r0, 0x140(r3) -/* 037338 8003C8D8 480015D4 */ b lbl_8003DEAC -.global lbl_8003C8DC -lbl_8003C8DC: -/* 03733C 8003C8DC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037340 8003C8E0 7C7F0214 */ add r3, r31, r0 -/* 037344 8003C8E4 80830140 */ lwz r4, 0x140(r3) -/* 037348 8003C8E8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 03734C 8003C8EC 80A30144 */ lwz r5, 0x144(r3) -/* 037350 8003C8F0 7C7F0214 */ add r3, r31, r0 -/* 037354 8003C8F4 90A30144 */ stw r5, 0x144(r3) -/* 037358 8003C8F8 90830140 */ stw r4, 0x140(r3) -/* 03735C 8003C8FC 480015B0 */ b lbl_8003DEAC -.global lbl_8003C900 -lbl_8003C900: -/* 037360 8003C900 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037364 8003C904 7C7F0214 */ add r3, r31, r0 -/* 037368 8003C908 80830140 */ lwz r4, 0x140(r3) -/* 03736C 8003C90C 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 037370 8003C910 80A30144 */ lwz r5, 0x144(r3) -/* 037374 8003C914 7C7F0214 */ add r3, r31, r0 -/* 037378 8003C918 90A30144 */ stw r5, 0x144(r3) -/* 03737C 8003C91C 90830140 */ stw r4, 0x140(r3) -/* 037380 8003C920 4800158C */ b lbl_8003DEAC -.global lbl_8003C924 -lbl_8003C924: -/* 037384 8003C924 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037388 8003C928 7C9F0214 */ add r4, r31, r0 -/* 03738C 8003C92C 80640140 */ lwz r3, 0x140(r4) -/* 037390 8003C930 80840144 */ lwz r4, 0x144(r4) -/* 037394 8003C934 48091481 */ bl __cvt_sll_dbl -/* 037398 8003C938 48095011 */ bl ceil -/* 03739C 8003C93C 480915DD */ bl __cvt_dbl_usll -/* 0373A0 8003C940 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0373A4 8003C944 7CBF0214 */ add r5, r31, r0 -/* 0373A8 8003C948 90850144 */ stw r4, 0x144(r5) -/* 0373AC 8003C94C 90650140 */ stw r3, 0x140(r5) -/* 0373B0 8003C950 4800155C */ b lbl_8003DEAC -.global lbl_8003C954 -lbl_8003C954: -/* 0373B4 8003C954 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0373B8 8003C958 7C9F0214 */ add r4, r31, r0 -/* 0373BC 8003C95C 80640140 */ lwz r3, 0x140(r4) -/* 0373C0 8003C960 80840144 */ lwz r4, 0x144(r4) -/* 0373C4 8003C964 48091451 */ bl __cvt_sll_dbl -/* 0373C8 8003C968 48095175 */ bl floor -/* 0373CC 8003C96C 480915AD */ bl __cvt_dbl_usll -/* 0373D0 8003C970 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0373D4 8003C974 7CBF0214 */ add r5, r31, r0 -/* 0373D8 8003C978 90850144 */ stw r4, 0x144(r5) -/* 0373DC 8003C97C 90650140 */ stw r3, 0x140(r5) -/* 0373E0 8003C980 4800152C */ b lbl_8003DEAC -.global lbl_8003C984 -lbl_8003C984: -/* 0373E4 8003C984 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0373E8 8003C988 7C7F0214 */ add r3, r31, r0 -/* 0373EC 8003C98C 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0373F0 8003C990 80830144 */ lwz r4, 0x144(r3) -/* 0373F4 8003C994 7C7F0214 */ add r3, r31, r0 -/* 0373F8 8003C998 90830144 */ stw r4, 0x144(r3) -/* 0373FC 8003C99C 48001510 */ b lbl_8003DEAC -.global lbl_8003C9A0 -lbl_8003C9A0: -/* 037400 8003C9A0 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037404 8003C9A4 7C7F0214 */ add r3, r31, r0 -/* 037408 8003C9A8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 03740C 8003C9AC 80830144 */ lwz r4, 0x144(r3) -/* 037410 8003C9B0 7C7F0214 */ add r3, r31, r0 -/* 037414 8003C9B4 90830144 */ stw r4, 0x144(r3) -/* 037418 8003C9B8 480014F4 */ b lbl_8003DEAC -.global lbl_8003C9BC -lbl_8003C9BC: -/* 03741C 8003C9BC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037420 8003C9C0 7C9F0214 */ add r4, r31, r0 -/* 037424 8003C9C4 80640140 */ lwz r3, 0x140(r4) -/* 037428 8003C9C8 80840144 */ lwz r4, 0x144(r4) -/* 03742C 8003C9CC 480913E9 */ bl __cvt_sll_dbl -/* 037430 8003C9D0 48094F79 */ bl ceil -/* 037434 8003C9D4 FC00081E */ fctiwz f0, f1 -/* 037438 8003C9D8 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 03743C 8003C9DC 7C7F0214 */ add r3, r31, r0 -/* 037440 8003C9E0 D8010078 */ stfd f0, 0x78(r1) -/* 037444 8003C9E4 8001007C */ lwz r0, 0x7c(r1) -/* 037448 8003C9E8 90030144 */ stw r0, 0x144(r3) -/* 03744C 8003C9EC 480014C0 */ b lbl_8003DEAC -.global lbl_8003C9F0 -lbl_8003C9F0: -/* 037450 8003C9F0 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037454 8003C9F4 7C9F0214 */ add r4, r31, r0 -/* 037458 8003C9F8 80640140 */ lwz r3, 0x140(r4) -/* 03745C 8003C9FC 80840144 */ lwz r4, 0x144(r4) -/* 037460 8003CA00 480913B5 */ bl __cvt_sll_dbl -/* 037464 8003CA04 480950D9 */ bl floor -/* 037468 8003CA08 FC00081E */ fctiwz f0, f1 -/* 03746C 8003CA0C 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 037470 8003CA10 7C7F0214 */ add r3, r31, r0 -/* 037474 8003CA14 D8010078 */ stfd f0, 0x78(r1) -/* 037478 8003CA18 8001007C */ lwz r0, 0x7c(r1) -/* 03747C 8003CA1C 90030144 */ stw r0, 0x144(r3) -/* 037480 8003CA20 4800148C */ b lbl_8003DEAC -.global lbl_8003CA24 -lbl_8003CA24: -/* 037484 8003CA24 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037488 8003CA28 7C9F0214 */ add r4, r31, r0 -/* 03748C 8003CA2C 80640140 */ lwz r3, 0x140(r4) -/* 037490 8003CA30 80840144 */ lwz r4, 0x144(r4) -/* 037494 8003CA34 48091431 */ bl __cvt_sll_flt -/* 037498 8003CA38 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 03749C 8003CA3C 7C7F0214 */ add r3, r31, r0 -/* 0374A0 8003CA40 D0230144 */ stfs f1, 0x144(r3) -/* 0374A4 8003CA44 48001468 */ b lbl_8003DEAC -.global lbl_8003CA48 -lbl_8003CA48: -/* 0374A8 8003CA48 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0374AC 8003CA4C 7C9F0214 */ add r4, r31, r0 -/* 0374B0 8003CA50 80640140 */ lwz r3, 0x140(r4) -/* 0374B4 8003CA54 80840144 */ lwz r4, 0x144(r4) -/* 0374B8 8003CA58 4809135D */ bl __cvt_sll_dbl -/* 0374BC 8003CA5C 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0374C0 8003CA60 7C7F0214 */ add r3, r31, r0 -/* 0374C4 8003CA64 D8230140 */ stfd f1, 0x140(r3) -/* 0374C8 8003CA68 48001444 */ b lbl_8003DEAC -.global lbl_8003CA6C -lbl_8003CA6C: -/* 0374CC 8003CA6C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0374D0 8003CA70 7C7F0214 */ add r3, r31, r0 -/* 0374D4 8003CA74 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0374D8 8003CA78 80830144 */ lwz r4, 0x144(r3) -/* 0374DC 8003CA7C 7C7F0214 */ add r3, r31, r0 -/* 0374E0 8003CA80 90830144 */ stw r4, 0x144(r3) -/* 0374E4 8003CA84 48001428 */ b lbl_8003DEAC -.global lbl_8003CA88 -lbl_8003CA88: -/* 0374E8 8003CA88 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0374EC 8003CA8C 7C7F0214 */ add r3, r31, r0 -/* 0374F0 8003CA90 80830140 */ lwz r4, 0x140(r3) -/* 0374F4 8003CA94 57C0EE38 */ rlwinm r0, r30, 0x1d, 0x18, 0x1c -/* 0374F8 8003CA98 80A30144 */ lwz r5, 0x144(r3) -/* 0374FC 8003CA9C 7C7F0214 */ add r3, r31, r0 -/* 037500 8003CAA0 90A30144 */ stw r5, 0x144(r3) -/* 037504 8003CAA4 90830140 */ stw r4, 0x140(r3) -/* 037508 8003CAA8 48001404 */ b lbl_8003DEAC -.global lbl_8003CAAC -lbl_8003CAAC: -/* 03750C 8003CAAC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037510 8003CAB0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 037514 8003CAB4 901F0A3C */ stw r0, 0xa3c(r31) -/* 037518 8003CAB8 480013F4 */ b lbl_8003DEAC -.global lbl_8003CABC -lbl_8003CABC: -/* 03751C 8003CABC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037520 8003CAC0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 037524 8003CAC4 901F0A3C */ stw r0, 0xa3c(r31) -/* 037528 8003CAC8 480013E4 */ b lbl_8003DEAC -.global lbl_8003CACC -lbl_8003CACC: -/* 03752C 8003CACC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037530 8003CAD0 7CBF0214 */ add r5, r31, r0 -/* 037534 8003CAD4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037538 8003CAD8 80850140 */ lwz r4, 0x140(r5) -/* 03753C 8003CADC 7C7F0214 */ add r3, r31, r0 -/* 037540 8003CAE0 80A50144 */ lwz r5, 0x144(r5) -/* 037544 8003CAE4 80030140 */ lwz r0, 0x140(r3) -/* 037548 8003CAE8 80630144 */ lwz r3, 0x144(r3) -/* 03754C 8003CAEC 7C800278 */ xor r0, r4, r0 -/* 037550 8003CAF0 7CA31A78 */ xor r3, r5, r3 -/* 037554 8003CAF4 7C600379 */ or. r0, r3, r0 -/* 037558 8003CAF8 40820014 */ bne lbl_8003CB0C -/* 03755C 8003CAFC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037560 8003CB00 64000080 */ oris r0, r0, 0x80 -/* 037564 8003CB04 901F0A3C */ stw r0, 0xa3c(r31) -/* 037568 8003CB08 480013A4 */ b lbl_8003DEAC -lbl_8003CB0C: -/* 03756C 8003CB0C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037570 8003CB10 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 037574 8003CB14 901F0A3C */ stw r0, 0xa3c(r31) -/* 037578 8003CB18 48001394 */ b lbl_8003DEAC -.global lbl_8003CB1C -lbl_8003CB1C: -/* 03757C 8003CB1C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037580 8003CB20 7CBF0214 */ add r5, r31, r0 -/* 037584 8003CB24 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037588 8003CB28 80850140 */ lwz r4, 0x140(r5) -/* 03758C 8003CB2C 7C7F0214 */ add r3, r31, r0 -/* 037590 8003CB30 80A50144 */ lwz r5, 0x144(r5) -/* 037594 8003CB34 80030140 */ lwz r0, 0x140(r3) -/* 037598 8003CB38 80630144 */ lwz r3, 0x144(r3) -/* 03759C 8003CB3C 7C800278 */ xor r0, r4, r0 -/* 0375A0 8003CB40 7CA31A78 */ xor r3, r5, r3 -/* 0375A4 8003CB44 7C600379 */ or. r0, r3, r0 -/* 0375A8 8003CB48 40820014 */ bne lbl_8003CB5C -/* 0375AC 8003CB4C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0375B0 8003CB50 64000080 */ oris r0, r0, 0x80 -/* 0375B4 8003CB54 901F0A3C */ stw r0, 0xa3c(r31) -/* 0375B8 8003CB58 48001354 */ b lbl_8003DEAC -lbl_8003CB5C: -/* 0375BC 8003CB5C 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0375C0 8003CB60 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0375C4 8003CB64 901F0A3C */ stw r0, 0xa3c(r31) -/* 0375C8 8003CB68 48001344 */ b lbl_8003DEAC -.global lbl_8003CB6C -lbl_8003CB6C: -/* 0375CC 8003CB6C 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0375D0 8003CB70 7CBF0214 */ add r5, r31, r0 -/* 0375D4 8003CB74 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0375D8 8003CB78 80850140 */ lwz r4, 0x140(r5) -/* 0375DC 8003CB7C 7C7F0214 */ add r3, r31, r0 -/* 0375E0 8003CB80 80C50144 */ lwz r6, 0x144(r5) -/* 0375E4 8003CB84 80030140 */ lwz r0, 0x140(r3) -/* 0375E8 8003CB88 6C848000 */ xoris r4, r4, 0x8000 -/* 0375EC 8003CB8C 80A30144 */ lwz r5, 0x144(r3) -/* 0375F0 8003CB90 6C038000 */ xoris r3, r0, 0x8000 -/* 0375F4 8003CB94 7C053010 */ subfc r0, r5, r6 -/* 0375F8 8003CB98 7C632110 */ subfe r3, r3, r4 -/* 0375FC 8003CB9C 7C642110 */ subfe r3, r4, r4 -/* 037600 8003CBA0 7C6300D1 */ neg. r3, r3 -/* 037604 8003CBA4 41820014 */ beq lbl_8003CBB8 -/* 037608 8003CBA8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03760C 8003CBAC 64000080 */ oris r0, r0, 0x80 -/* 037610 8003CBB0 901F0A3C */ stw r0, 0xa3c(r31) -/* 037614 8003CBB4 480012F8 */ b lbl_8003DEAC -lbl_8003CBB8: -/* 037618 8003CBB8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03761C 8003CBBC 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 037620 8003CBC0 901F0A3C */ stw r0, 0xa3c(r31) -/* 037624 8003CBC4 480012E8 */ b lbl_8003DEAC -.global lbl_8003CBC8 -lbl_8003CBC8: -/* 037628 8003CBC8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03762C 8003CBCC 7CBF0214 */ add r5, r31, r0 -/* 037630 8003CBD0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037634 8003CBD4 80850140 */ lwz r4, 0x140(r5) -/* 037638 8003CBD8 7C7F0214 */ add r3, r31, r0 -/* 03763C 8003CBDC 80C50144 */ lwz r6, 0x144(r5) -/* 037640 8003CBE0 80030140 */ lwz r0, 0x140(r3) -/* 037644 8003CBE4 6C848000 */ xoris r4, r4, 0x8000 -/* 037648 8003CBE8 80A30144 */ lwz r5, 0x144(r3) -/* 03764C 8003CBEC 6C038000 */ xoris r3, r0, 0x8000 -/* 037650 8003CBF0 7C053010 */ subfc r0, r5, r6 -/* 037654 8003CBF4 7C632110 */ subfe r3, r3, r4 -/* 037658 8003CBF8 7C642110 */ subfe r3, r4, r4 -/* 03765C 8003CBFC 7C6300D1 */ neg. r3, r3 -/* 037660 8003CC00 41820014 */ beq lbl_8003CC14 -/* 037664 8003CC04 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037668 8003CC08 64000080 */ oris r0, r0, 0x80 -/* 03766C 8003CC0C 901F0A3C */ stw r0, 0xa3c(r31) -/* 037670 8003CC10 4800129C */ b lbl_8003DEAC -lbl_8003CC14: -/* 037674 8003CC14 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037678 8003CC18 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 03767C 8003CC1C 901F0A3C */ stw r0, 0xa3c(r31) -/* 037680 8003CC20 4800128C */ b lbl_8003DEAC -.global lbl_8003CC24 -lbl_8003CC24: -/* 037684 8003CC24 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037688 8003CC28 7CBF0214 */ add r5, r31, r0 -/* 03768C 8003CC2C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037690 8003CC30 80650140 */ lwz r3, 0x140(r5) -/* 037694 8003CC34 7C9F0214 */ add r4, r31, r0 -/* 037698 8003CC38 80C50144 */ lwz r6, 0x144(r5) -/* 03769C 8003CC3C 80040140 */ lwz r0, 0x140(r4) -/* 0376A0 8003CC40 6C638000 */ xoris r3, r3, 0x8000 -/* 0376A4 8003CC44 80A40144 */ lwz r5, 0x144(r4) -/* 0376A8 8003CC48 6C048000 */ xoris r4, r0, 0x8000 -/* 0376AC 8003CC4C 7C062810 */ subfc r0, r6, r5 -/* 0376B0 8003CC50 7C632110 */ subfe r3, r3, r4 -/* 0376B4 8003CC54 7C642110 */ subfe r3, r4, r4 -/* 0376B8 8003CC58 7C6300D1 */ neg. r3, r3 -/* 0376BC 8003CC5C 40820014 */ bne lbl_8003CC70 -/* 0376C0 8003CC60 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0376C4 8003CC64 64000080 */ oris r0, r0, 0x80 -/* 0376C8 8003CC68 901F0A3C */ stw r0, 0xa3c(r31) -/* 0376CC 8003CC6C 48001240 */ b lbl_8003DEAC -lbl_8003CC70: -/* 0376D0 8003CC70 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0376D4 8003CC74 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0376D8 8003CC78 901F0A3C */ stw r0, 0xa3c(r31) -/* 0376DC 8003CC7C 48001230 */ b lbl_8003DEAC -.global lbl_8003CC80 -lbl_8003CC80: -/* 0376E0 8003CC80 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0376E4 8003CC84 7CBF0214 */ add r5, r31, r0 -/* 0376E8 8003CC88 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0376EC 8003CC8C 80650140 */ lwz r3, 0x140(r5) -/* 0376F0 8003CC90 7C9F0214 */ add r4, r31, r0 -/* 0376F4 8003CC94 80C50144 */ lwz r6, 0x144(r5) -/* 0376F8 8003CC98 80040140 */ lwz r0, 0x140(r4) -/* 0376FC 8003CC9C 6C638000 */ xoris r3, r3, 0x8000 -/* 037700 8003CCA0 80A40144 */ lwz r5, 0x144(r4) -/* 037704 8003CCA4 6C048000 */ xoris r4, r0, 0x8000 -/* 037708 8003CCA8 7C062810 */ subfc r0, r6, r5 -/* 03770C 8003CCAC 7C632110 */ subfe r3, r3, r4 -/* 037710 8003CCB0 7C642110 */ subfe r3, r4, r4 -/* 037714 8003CCB4 7C6300D1 */ neg. r3, r3 -/* 037718 8003CCB8 40820014 */ bne lbl_8003CCCC -/* 03771C 8003CCBC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037720 8003CCC0 64000080 */ oris r0, r0, 0x80 -/* 037724 8003CCC4 901F0A3C */ stw r0, 0xa3c(r31) -/* 037728 8003CCC8 480011E4 */ b lbl_8003DEAC -lbl_8003CCCC: -/* 03772C 8003CCCC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037730 8003CCD0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 037734 8003CCD4 901F0A3C */ stw r0, 0xa3c(r31) -/* 037738 8003CCD8 480011D4 */ b lbl_8003DEAC -.global lbl_8003CCDC -lbl_8003CCDC: -/* 03773C 8003CCDC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037740 8003CCE0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 037744 8003CCE4 901F0A3C */ stw r0, 0xa3c(r31) -/* 037748 8003CCE8 480011C4 */ b lbl_8003DEAC -.global lbl_8003CCEC -lbl_8003CCEC: -/* 03774C 8003CCEC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037750 8003CCF0 7CBF0214 */ add r5, r31, r0 -/* 037754 8003CCF4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037758 8003CCF8 80650140 */ lwz r3, 0x140(r5) -/* 03775C 8003CCFC 7C9F0214 */ add r4, r31, r0 -/* 037760 8003CD00 80C50144 */ lwz r6, 0x144(r5) -/* 037764 8003CD04 80040140 */ lwz r0, 0x140(r4) -/* 037768 8003CD08 6C638000 */ xoris r3, r3, 0x8000 -/* 03776C 8003CD0C 80A40144 */ lwz r5, 0x144(r4) -/* 037770 8003CD10 6C048000 */ xoris r4, r0, 0x8000 -/* 037774 8003CD14 7C062810 */ subfc r0, r6, r5 -/* 037778 8003CD18 7C632110 */ subfe r3, r3, r4 -/* 03777C 8003CD1C 7C642110 */ subfe r3, r4, r4 -/* 037780 8003CD20 7C6300D1 */ neg. r3, r3 -/* 037784 8003CD24 40820014 */ bne lbl_8003CD38 -/* 037788 8003CD28 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03778C 8003CD2C 64000080 */ oris r0, r0, 0x80 -/* 037790 8003CD30 901F0A3C */ stw r0, 0xa3c(r31) -/* 037794 8003CD34 48001178 */ b lbl_8003DEAC -lbl_8003CD38: -/* 037798 8003CD38 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03779C 8003CD3C 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0377A0 8003CD40 901F0A3C */ stw r0, 0xa3c(r31) -/* 0377A4 8003CD44 48001168 */ b lbl_8003DEAC -.global lbl_8003CD48 -lbl_8003CD48: -/* 0377A8 8003CD48 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0377AC 8003CD4C 7CBF0214 */ add r5, r31, r0 -/* 0377B0 8003CD50 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0377B4 8003CD54 80850140 */ lwz r4, 0x140(r5) -/* 0377B8 8003CD58 7C7F0214 */ add r3, r31, r0 -/* 0377BC 8003CD5C 80A50144 */ lwz r5, 0x144(r5) -/* 0377C0 8003CD60 80030140 */ lwz r0, 0x140(r3) -/* 0377C4 8003CD64 80630144 */ lwz r3, 0x144(r3) -/* 0377C8 8003CD68 7C800278 */ xor r0, r4, r0 -/* 0377CC 8003CD6C 7CA31A78 */ xor r3, r5, r3 -/* 0377D0 8003CD70 7C600379 */ or. r0, r3, r0 -/* 0377D4 8003CD74 40820014 */ bne lbl_8003CD88 -/* 0377D8 8003CD78 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0377DC 8003CD7C 64000080 */ oris r0, r0, 0x80 -/* 0377E0 8003CD80 901F0A3C */ stw r0, 0xa3c(r31) -/* 0377E4 8003CD84 48001128 */ b lbl_8003DEAC -lbl_8003CD88: -/* 0377E8 8003CD88 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0377EC 8003CD8C 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0377F0 8003CD90 901F0A3C */ stw r0, 0xa3c(r31) -/* 0377F4 8003CD94 48001118 */ b lbl_8003DEAC -.global lbl_8003CD98 -lbl_8003CD98: -/* 0377F8 8003CD98 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0377FC 8003CD9C 7CBF0214 */ add r5, r31, r0 -/* 037800 8003CDA0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037804 8003CDA4 80850140 */ lwz r4, 0x140(r5) -/* 037808 8003CDA8 7C7F0214 */ add r3, r31, r0 -/* 03780C 8003CDAC 80A50144 */ lwz r5, 0x144(r5) -/* 037810 8003CDB0 80030140 */ lwz r0, 0x140(r3) -/* 037814 8003CDB4 80630144 */ lwz r3, 0x144(r3) -/* 037818 8003CDB8 7C800278 */ xor r0, r4, r0 -/* 03781C 8003CDBC 7CA31A78 */ xor r3, r5, r3 -/* 037820 8003CDC0 7C600379 */ or. r0, r3, r0 -/* 037824 8003CDC4 40820014 */ bne lbl_8003CDD8 -/* 037828 8003CDC8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03782C 8003CDCC 64000080 */ oris r0, r0, 0x80 -/* 037830 8003CDD0 901F0A3C */ stw r0, 0xa3c(r31) -/* 037834 8003CDD4 480010D8 */ b lbl_8003DEAC -lbl_8003CDD8: -/* 037838 8003CDD8 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03783C 8003CDDC 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 037840 8003CDE0 901F0A3C */ stw r0, 0xa3c(r31) -/* 037844 8003CDE4 480010C8 */ b lbl_8003DEAC -.global lbl_8003CDE8 -lbl_8003CDE8: -/* 037848 8003CDE8 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 03784C 8003CDEC 7CBF0214 */ add r5, r31, r0 -/* 037850 8003CDF0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037854 8003CDF4 80850140 */ lwz r4, 0x140(r5) -/* 037858 8003CDF8 7C7F0214 */ add r3, r31, r0 -/* 03785C 8003CDFC 80C50144 */ lwz r6, 0x144(r5) -/* 037860 8003CE00 80030140 */ lwz r0, 0x140(r3) -/* 037864 8003CE04 6C848000 */ xoris r4, r4, 0x8000 -/* 037868 8003CE08 80A30144 */ lwz r5, 0x144(r3) -/* 03786C 8003CE0C 6C038000 */ xoris r3, r0, 0x8000 -/* 037870 8003CE10 7C053010 */ subfc r0, r5, r6 -/* 037874 8003CE14 7C632110 */ subfe r3, r3, r4 -/* 037878 8003CE18 7C642110 */ subfe r3, r4, r4 -/* 03787C 8003CE1C 7C6300D1 */ neg. r3, r3 -/* 037880 8003CE20 41820014 */ beq lbl_8003CE34 -/* 037884 8003CE24 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037888 8003CE28 64000080 */ oris r0, r0, 0x80 -/* 03788C 8003CE2C 901F0A3C */ stw r0, 0xa3c(r31) -/* 037890 8003CE30 4800107C */ b lbl_8003DEAC -lbl_8003CE34: -/* 037894 8003CE34 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037898 8003CE38 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 03789C 8003CE3C 901F0A3C */ stw r0, 0xa3c(r31) -/* 0378A0 8003CE40 4800106C */ b lbl_8003DEAC -.global lbl_8003CE44 -lbl_8003CE44: -/* 0378A4 8003CE44 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 0378A8 8003CE48 7CBF0214 */ add r5, r31, r0 -/* 0378AC 8003CE4C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0378B0 8003CE50 80850140 */ lwz r4, 0x140(r5) -/* 0378B4 8003CE54 7C7F0214 */ add r3, r31, r0 -/* 0378B8 8003CE58 80C50144 */ lwz r6, 0x144(r5) -/* 0378BC 8003CE5C 80030140 */ lwz r0, 0x140(r3) -/* 0378C0 8003CE60 6C848000 */ xoris r4, r4, 0x8000 -/* 0378C4 8003CE64 80A30144 */ lwz r5, 0x144(r3) -/* 0378C8 8003CE68 6C038000 */ xoris r3, r0, 0x8000 -/* 0378CC 8003CE6C 7C053010 */ subfc r0, r5, r6 -/* 0378D0 8003CE70 7C632110 */ subfe r3, r3, r4 -/* 0378D4 8003CE74 7C642110 */ subfe r3, r4, r4 -/* 0378D8 8003CE78 7C6300D1 */ neg. r3, r3 -/* 0378DC 8003CE7C 41820014 */ beq lbl_8003CE90 -/* 0378E0 8003CE80 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0378E4 8003CE84 64000080 */ oris r0, r0, 0x80 -/* 0378E8 8003CE88 901F0A3C */ stw r0, 0xa3c(r31) -/* 0378EC 8003CE8C 48001020 */ b lbl_8003DEAC -lbl_8003CE90: -/* 0378F0 8003CE90 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0378F4 8003CE94 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0378F8 8003CE98 901F0A3C */ stw r0, 0xa3c(r31) -/* 0378FC 8003CE9C 48001010 */ b lbl_8003DEAC -.global lbl_8003CEA0 -lbl_8003CEA0: -/* 037900 8003CEA0 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037904 8003CEA4 7CBF0214 */ add r5, r31, r0 -/* 037908 8003CEA8 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 03790C 8003CEAC 80650140 */ lwz r3, 0x140(r5) -/* 037910 8003CEB0 7C9F0214 */ add r4, r31, r0 -/* 037914 8003CEB4 80C50144 */ lwz r6, 0x144(r5) -/* 037918 8003CEB8 80040140 */ lwz r0, 0x140(r4) -/* 03791C 8003CEBC 6C638000 */ xoris r3, r3, 0x8000 -/* 037920 8003CEC0 80A40144 */ lwz r5, 0x144(r4) -/* 037924 8003CEC4 6C048000 */ xoris r4, r0, 0x8000 -/* 037928 8003CEC8 7C062810 */ subfc r0, r6, r5 -/* 03792C 8003CECC 7C632110 */ subfe r3, r3, r4 -/* 037930 8003CED0 7C642110 */ subfe r3, r4, r4 -/* 037934 8003CED4 7C6300D1 */ neg. r3, r3 -/* 037938 8003CED8 40820014 */ bne lbl_8003CEEC -/* 03793C 8003CEDC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037940 8003CEE0 64000080 */ oris r0, r0, 0x80 -/* 037944 8003CEE4 901F0A3C */ stw r0, 0xa3c(r31) -/* 037948 8003CEE8 48000FC4 */ b lbl_8003DEAC -lbl_8003CEEC: -/* 03794C 8003CEEC 801F0A3C */ lwz r0, 0xa3c(r31) -/* 037950 8003CEF0 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 037954 8003CEF4 901F0A3C */ stw r0, 0xa3c(r31) -/* 037958 8003CEF8 48000FB4 */ b lbl_8003DEAC -.global lbl_8003CEFC -lbl_8003CEFC: -/* 03795C 8003CEFC 57C0C638 */ rlwinm r0, r30, 0x18, 0x18, 0x1c -/* 037960 8003CF00 7CBF0214 */ add r5, r31, r0 -/* 037964 8003CF04 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037968 8003CF08 80650140 */ lwz r3, 0x140(r5) -/* 03796C 8003CF0C 7C9F0214 */ add r4, r31, r0 -/* 037970 8003CF10 80C50144 */ lwz r6, 0x144(r5) -/* 037974 8003CF14 80040140 */ lwz r0, 0x140(r4) -/* 037978 8003CF18 6C638000 */ xoris r3, r3, 0x8000 -/* 03797C 8003CF1C 80A40144 */ lwz r5, 0x144(r4) -/* 037980 8003CF20 6C048000 */ xoris r4, r0, 0x8000 -/* 037984 8003CF24 7C062810 */ subfc r0, r6, r5 -/* 037988 8003CF28 7C632110 */ subfe r3, r3, r4 -/* 03798C 8003CF2C 7C642110 */ subfe r3, r4, r4 -/* 037990 8003CF30 7C6300D1 */ neg. r3, r3 -/* 037994 8003CF34 40820014 */ bne lbl_8003CF48 -/* 037998 8003CF38 801F0A3C */ lwz r0, 0xa3c(r31) -/* 03799C 8003CF3C 64000080 */ oris r0, r0, 0x80 -/* 0379A0 8003CF40 901F0A3C */ stw r0, 0xa3c(r31) -/* 0379A4 8003CF44 48000F68 */ b lbl_8003DEAC -lbl_8003CF48: -/* 0379A8 8003CF48 801F0A3C */ lwz r0, 0xa3c(r31) -/* 0379AC 8003CF4C 5400024E */ rlwinm r0, r0, 0, 9, 7 -/* 0379B0 8003CF50 901F0A3C */ stw r0, 0xa3c(r31) -/* 0379B4 8003CF54 48000F58 */ b lbl_8003DEAC -.global lbl_8003CF58 -lbl_8003CF58: -/* 0379B8 8003CF58 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 0379BC 8003CF5C 7C9F1A14 */ add r4, r31, r3 -/* 0379C0 8003CF60 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0379C4 8003CF64 80840044 */ lwz r4, 0x44(r4) -/* 0379C8 8003CF68 7C7F0214 */ add r3, r31, r0 -/* 0379CC 8003CF6C 80030044 */ lwz r0, 0x44(r3) -/* 0379D0 8003CF70 7C040000 */ cmpw r4, r0 -/* 0379D4 8003CF74 40820020 */ bne lbl_8003CF94 -/* 0379D8 8003CF78 57C0043E */ clrlwi r0, r30, 0x10 -/* 0379DC 8003CF7C 807F0028 */ lwz r3, 0x28(r31) -/* 0379E0 8003CF80 7C000734 */ extsh r0, r0 -/* 0379E4 8003CF84 5400103A */ slwi r0, r0, 2 -/* 0379E8 8003CF88 7C030214 */ add r0, r3, r0 -/* 0379EC 8003CF8C 901F002C */ stw r0, 0x2c(r31) -/* 0379F0 8003CF90 48000F1C */ b lbl_8003DEAC -lbl_8003CF94: -/* 0379F4 8003CF94 801F0000 */ lwz r0, 0(r31) -/* 0379F8 8003CF98 60000004 */ ori r0, r0, 4 -/* 0379FC 8003CF9C 901F0000 */ stw r0, 0(r31) -/* 037A00 8003CFA0 807F0028 */ lwz r3, 0x28(r31) -/* 037A04 8003CFA4 38030004 */ addi r0, r3, 4 -/* 037A08 8003CFA8 901F0028 */ stw r0, 0x28(r31) -/* 037A0C 8003CFAC 48000F00 */ b lbl_8003DEAC -.global lbl_8003CFB0 -lbl_8003CFB0: -/* 037A10 8003CFB0 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 037A14 8003CFB4 7C9F1A14 */ add r4, r31, r3 -/* 037A18 8003CFB8 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037A1C 8003CFBC 80840044 */ lwz r4, 0x44(r4) -/* 037A20 8003CFC0 7C7F0214 */ add r3, r31, r0 -/* 037A24 8003CFC4 80030044 */ lwz r0, 0x44(r3) -/* 037A28 8003CFC8 7C040000 */ cmpw r4, r0 -/* 037A2C 8003CFCC 41820020 */ beq lbl_8003CFEC -/* 037A30 8003CFD0 57C0043E */ clrlwi r0, r30, 0x10 -/* 037A34 8003CFD4 807F0028 */ lwz r3, 0x28(r31) -/* 037A38 8003CFD8 7C000734 */ extsh r0, r0 -/* 037A3C 8003CFDC 5400103A */ slwi r0, r0, 2 -/* 037A40 8003CFE0 7C030214 */ add r0, r3, r0 -/* 037A44 8003CFE4 901F002C */ stw r0, 0x2c(r31) -/* 037A48 8003CFE8 48000EC4 */ b lbl_8003DEAC -lbl_8003CFEC: -/* 037A4C 8003CFEC 801F0000 */ lwz r0, 0(r31) -/* 037A50 8003CFF0 60000004 */ ori r0, r0, 4 -/* 037A54 8003CFF4 901F0000 */ stw r0, 0(r31) -/* 037A58 8003CFF8 807F0028 */ lwz r3, 0x28(r31) -/* 037A5C 8003CFFC 38030004 */ addi r0, r3, 4 -/* 037A60 8003D000 901F0028 */ stw r0, 0x28(r31) -/* 037A64 8003D004 48000EA8 */ b lbl_8003DEAC -.global lbl_8003D008 -lbl_8003D008: -/* 037A68 8003D008 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037A6C 8003D00C 7C7F0214 */ add r3, r31, r0 -/* 037A70 8003D010 80030044 */ lwz r0, 0x44(r3) -/* 037A74 8003D014 2C000000 */ cmpwi r0, 0 -/* 037A78 8003D018 41810020 */ bgt lbl_8003D038 -/* 037A7C 8003D01C 57C0043E */ clrlwi r0, r30, 0x10 -/* 037A80 8003D020 807F0028 */ lwz r3, 0x28(r31) -/* 037A84 8003D024 7C000734 */ extsh r0, r0 -/* 037A88 8003D028 5400103A */ slwi r0, r0, 2 -/* 037A8C 8003D02C 7C030214 */ add r0, r3, r0 -/* 037A90 8003D030 901F002C */ stw r0, 0x2c(r31) -/* 037A94 8003D034 48000E78 */ b lbl_8003DEAC -lbl_8003D038: -/* 037A98 8003D038 801F0000 */ lwz r0, 0(r31) -/* 037A9C 8003D03C 60000004 */ ori r0, r0, 4 -/* 037AA0 8003D040 901F0000 */ stw r0, 0(r31) -/* 037AA4 8003D044 807F0028 */ lwz r3, 0x28(r31) -/* 037AA8 8003D048 38030004 */ addi r0, r3, 4 -/* 037AAC 8003D04C 901F0028 */ stw r0, 0x28(r31) -/* 037AB0 8003D050 48000E5C */ b lbl_8003DEAC -.global lbl_8003D054 -lbl_8003D054: -/* 037AB4 8003D054 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037AB8 8003D058 7C7F0214 */ add r3, r31, r0 -/* 037ABC 8003D05C 80030044 */ lwz r0, 0x44(r3) -/* 037AC0 8003D060 2C000000 */ cmpwi r0, 0 -/* 037AC4 8003D064 40810020 */ ble lbl_8003D084 -/* 037AC8 8003D068 57C0043E */ clrlwi r0, r30, 0x10 -/* 037ACC 8003D06C 807F0028 */ lwz r3, 0x28(r31) -/* 037AD0 8003D070 7C000734 */ extsh r0, r0 -/* 037AD4 8003D074 5400103A */ slwi r0, r0, 2 -/* 037AD8 8003D078 7C030214 */ add r0, r3, r0 -/* 037ADC 8003D07C 901F002C */ stw r0, 0x2c(r31) -/* 037AE0 8003D080 48000E2C */ b lbl_8003DEAC -lbl_8003D084: -/* 037AE4 8003D084 801F0000 */ lwz r0, 0(r31) -/* 037AE8 8003D088 60000004 */ ori r0, r0, 4 -/* 037AEC 8003D08C 901F0000 */ stw r0, 0(r31) -/* 037AF0 8003D090 807F0028 */ lwz r3, 0x28(r31) -/* 037AF4 8003D094 38030004 */ addi r0, r3, 4 -/* 037AF8 8003D098 901F0028 */ stw r0, 0x28(r31) -/* 037AFC 8003D09C 48000E10 */ b lbl_8003DEAC -.global lbl_8003D0A0 -lbl_8003D0A0: -/* 037B00 8003D0A0 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037B04 8003D0A4 7CBF0214 */ add r5, r31, r0 -/* 037B08 8003D0A8 57C0043E */ clrlwi r0, r30, 0x10 -/* 037B0C 8003D0AC 80850044 */ lwz r4, 0x44(r5) -/* 037B10 8003D0B0 7C030734 */ extsh r3, r0 -/* 037B14 8003D0B4 80C50040 */ lwz r6, 0x40(r5) -/* 037B18 8003D0B8 7C65FE70 */ srawi r5, r3, 0x1f -/* 037B1C 8003D0BC 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037B20 8003D0C0 7C841814 */ addc r4, r4, r3 -/* 037B24 8003D0C4 7C7F0214 */ add r3, r31, r0 -/* 037B28 8003D0C8 90830044 */ stw r4, 0x44(r3) -/* 037B2C 8003D0CC 7C062914 */ adde r0, r6, r5 -/* 037B30 8003D0D0 90030040 */ stw r0, 0x40(r3) -/* 037B34 8003D0D4 48000DD8 */ b lbl_8003DEAC -.global lbl_8003D0D8 -lbl_8003D0D8: -/* 037B38 8003D0D8 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037B3C 8003D0DC 7CBF0214 */ add r5, r31, r0 -/* 037B40 8003D0E0 57C0043E */ clrlwi r0, r30, 0x10 -/* 037B44 8003D0E4 80850044 */ lwz r4, 0x44(r5) -/* 037B48 8003D0E8 7C030734 */ extsh r3, r0 -/* 037B4C 8003D0EC 80C50040 */ lwz r6, 0x40(r5) -/* 037B50 8003D0F0 7C65FE70 */ srawi r5, r3, 0x1f -/* 037B54 8003D0F4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037B58 8003D0F8 7C841814 */ addc r4, r4, r3 -/* 037B5C 8003D0FC 7C7F0214 */ add r3, r31, r0 -/* 037B60 8003D100 90830044 */ stw r4, 0x44(r3) -/* 037B64 8003D104 7C062914 */ adde r0, r6, r5 -/* 037B68 8003D108 90030040 */ stw r0, 0x40(r3) -/* 037B6C 8003D10C 48000DA0 */ b lbl_8003DEAC -.global lbl_8003D110 -lbl_8003D110: -/* 037B70 8003D110 807F0008 */ lwz r3, 8(r31) -/* 037B74 8003D114 57C0043E */ clrlwi r0, r30, 0x10 -/* 037B78 8003D118 389F0000 */ addi r4, r31, 0 -/* 037B7C 8003D11C 80630058 */ lwz r3, 0x58(r3) -/* 037B80 8003D120 7C050734 */ extsh r5, r0 -/* 037B84 8003D124 48052111 */ bl libraryCall -/* 037B88 8003D128 2C030000 */ cmpwi r3, 0 -/* 037B8C 8003D12C 40820D80 */ bne lbl_8003DEAC -/* 037B90 8003D130 38600000 */ li r3, 0 -/* 037B94 8003D134 48000DBC */ b lbl_8003DEF0 -.global lbl_8003D138 -lbl_8003D138: -/* 037B98 8003D138 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037B9C 8003D13C 7C7F0214 */ add r3, r31, r0 -/* 037BA0 8003D140 57C0043E */ clrlwi r0, r30, 0x10 -/* 037BA4 8003D144 80A30044 */ lwz r5, 0x44(r3) -/* 037BA8 8003D148 7C000734 */ extsh r0, r0 -/* 037BAC 8003D14C 7EE50014 */ addc r23, r5, r0 -/* 037BB0 8003D150 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037BB4 8003D154 7FDF0214 */ add r30, r31, r0 -/* 037BB8 8003D158 3AC00038 */ li r22, 0x38 -lbl_8003D15C: -/* 037BBC 8003D15C 56E0843E */ srwi r0, r23, 0x10 -/* 037BC0 8003D160 7C1D00AE */ lbzx r0, r29, r0 -/* 037BC4 8003D164 38A10066 */ addi r5, r1, 0x66 -/* 037BC8 8003D168 5400103A */ slwi r0, r0, 2 -/* 037BCC 8003D16C 7C7C002E */ lwzx r3, r28, r0 -/* 037BD0 8003D170 8183000C */ lwz r12, 0xc(r3) -/* 037BD4 8003D174 80030008 */ lwz r0, 8(r3) -/* 037BD8 8003D178 7D8803A6 */ mtlr r12 -/* 037BDC 8003D17C 80630004 */ lwz r3, 4(r3) -/* 037BE0 8003D180 7C970214 */ add r4, r23, r0 -/* 037BE4 8003D184 4E800021 */ blrl -/* 037BE8 8003D188 2C030000 */ cmpwi r3, 0 -/* 037BEC 8003D18C 41820070 */ beq lbl_8003D1FC -/* 037BF0 8003D190 88810066 */ lbz r4, 0x66(r1) -/* 037BF4 8003D194 386000FF */ li r3, 0xff -/* 037BF8 8003D198 38000000 */ li r0, 0 -/* 037BFC 8003D19C 7C840774 */ extsb r4, r4 -/* 037C00 8003D1A0 7C85FE70 */ srawi r5, r4, 0x1f -/* 037C04 8003D1A4 7C841838 */ and r4, r4, r3 -/* 037C08 8003D1A8 7CA30038 */ and r3, r5, r0 -/* 037C0C 8003D1AC 38B60000 */ addi r5, r22, 0 -/* 037C10 8003D1B0 48090B95 */ bl __shl2i -/* 037C14 8003D1B4 9081005C */ stw r4, 0x5c(r1) -/* 037C18 8003D1B8 38B60000 */ addi r5, r22, 0 -/* 037C1C 8003D1BC 388000FF */ li r4, 0xff -/* 037C20 8003D1C0 90610058 */ stw r3, 0x58(r1) -/* 037C24 8003D1C4 38600000 */ li r3, 0 -/* 037C28 8003D1C8 48090B7D */ bl __shl2i -/* 037C2C 8003D1CC 80BE0044 */ lwz r5, 0x44(r30) -/* 037C30 8003D1D0 7C8420F8 */ nor r4, r4, r4 -/* 037C34 8003D1D4 8001005C */ lwz r0, 0x5c(r1) -/* 037C38 8003D1D8 7C6618F8 */ nor r6, r3, r3 -/* 037C3C 8003D1DC 7CA32038 */ and r3, r5, r4 -/* 037C40 8003D1E0 809E0040 */ lwz r4, 0x40(r30) -/* 037C44 8003D1E4 7C001B78 */ or r0, r0, r3 -/* 037C48 8003D1E8 80610058 */ lwz r3, 0x58(r1) -/* 037C4C 8003D1EC 7C843038 */ and r4, r4, r6 -/* 037C50 8003D1F0 901E0044 */ stw r0, 0x44(r30) -/* 037C54 8003D1F4 7C602378 */ or r0, r3, r4 -/* 037C58 8003D1F8 901E0040 */ stw r0, 0x40(r30) -lbl_8003D1FC: -/* 037C5C 8003D1FC 56E0077F */ clrlwi. r0, r23, 0x1d -/* 037C60 8003D200 3AD6FFF8 */ addi r22, r22, -8 -/* 037C64 8003D204 3AF70001 */ addi r23, r23, 1 -/* 037C68 8003D208 4082FF54 */ bne lbl_8003D15C -/* 037C6C 8003D20C 48000CA0 */ b lbl_8003DEAC -.global lbl_8003D210 -lbl_8003D210: -/* 037C70 8003D210 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037C74 8003D214 7C7F0214 */ add r3, r31, r0 -/* 037C78 8003D218 57C0043E */ clrlwi r0, r30, 0x10 -/* 037C7C 8003D21C 80A30044 */ lwz r5, 0x44(r3) -/* 037C80 8003D220 7C000734 */ extsh r0, r0 -/* 037C84 8003D224 7EC50014 */ addc r22, r5, r0 -/* 037C88 8003D228 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037C8C 8003D22C 7FDF0214 */ add r30, r31, r0 -/* 037C90 8003D230 3AE00000 */ li r23, 0 -lbl_8003D234: -/* 037C94 8003D234 56C0843E */ srwi r0, r22, 0x10 -/* 037C98 8003D238 7C1D00AE */ lbzx r0, r29, r0 -/* 037C9C 8003D23C 38A10066 */ addi r5, r1, 0x66 -/* 037CA0 8003D240 5400103A */ slwi r0, r0, 2 -/* 037CA4 8003D244 7C7C002E */ lwzx r3, r28, r0 -/* 037CA8 8003D248 8183000C */ lwz r12, 0xc(r3) -/* 037CAC 8003D24C 80030008 */ lwz r0, 8(r3) -/* 037CB0 8003D250 7D8803A6 */ mtlr r12 -/* 037CB4 8003D254 80630004 */ lwz r3, 4(r3) -/* 037CB8 8003D258 7C960214 */ add r4, r22, r0 -/* 037CBC 8003D25C 4E800021 */ blrl -/* 037CC0 8003D260 2C030000 */ cmpwi r3, 0 -/* 037CC4 8003D264 41820070 */ beq lbl_8003D2D4 -/* 037CC8 8003D268 88810066 */ lbz r4, 0x66(r1) -/* 037CCC 8003D26C 386000FF */ li r3, 0xff -/* 037CD0 8003D270 38000000 */ li r0, 0 -/* 037CD4 8003D274 7C840774 */ extsb r4, r4 -/* 037CD8 8003D278 7C85FE70 */ srawi r5, r4, 0x1f -/* 037CDC 8003D27C 7C841838 */ and r4, r4, r3 -/* 037CE0 8003D280 7CA30038 */ and r3, r5, r0 -/* 037CE4 8003D284 38B70000 */ addi r5, r23, 0 -/* 037CE8 8003D288 48090ABD */ bl __shl2i -/* 037CEC 8003D28C 9081005C */ stw r4, 0x5c(r1) -/* 037CF0 8003D290 38B70000 */ addi r5, r23, 0 -/* 037CF4 8003D294 388000FF */ li r4, 0xff -/* 037CF8 8003D298 90610058 */ stw r3, 0x58(r1) -/* 037CFC 8003D29C 38600000 */ li r3, 0 -/* 037D00 8003D2A0 48090AA5 */ bl __shl2i -/* 037D04 8003D2A4 80BE0044 */ lwz r5, 0x44(r30) -/* 037D08 8003D2A8 7C8420F8 */ nor r4, r4, r4 -/* 037D0C 8003D2AC 8001005C */ lwz r0, 0x5c(r1) -/* 037D10 8003D2B0 7C6618F8 */ nor r6, r3, r3 -/* 037D14 8003D2B4 7CA32038 */ and r3, r5, r4 -/* 037D18 8003D2B8 809E0040 */ lwz r4, 0x40(r30) -/* 037D1C 8003D2BC 7C001B78 */ or r0, r0, r3 -/* 037D20 8003D2C0 80610058 */ lwz r3, 0x58(r1) -/* 037D24 8003D2C4 7C843038 */ and r4, r4, r6 -/* 037D28 8003D2C8 901E0044 */ stw r0, 0x44(r30) -/* 037D2C 8003D2CC 7C602378 */ or r0, r3, r4 -/* 037D30 8003D2D0 901E0040 */ stw r0, 0x40(r30) -lbl_8003D2D4: -/* 037D34 8003D2D4 56C0077F */ clrlwi. r0, r22, 0x1d -/* 037D38 8003D2D8 3AF70008 */ addi r23, r23, 8 -/* 037D3C 8003D2DC 3AD6FFFF */ addi r22, r22, -1 -/* 037D40 8003D2E0 4082FF54 */ bne lbl_8003D234 -/* 037D44 8003D2E4 48000BC8 */ b lbl_8003DEAC -.global lbl_8003D2E8 -lbl_8003D2E8: -/* 037D48 8003D2E8 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037D4C 8003D2EC 7C7F0214 */ add r3, r31, r0 -/* 037D50 8003D2F0 57C0043E */ clrlwi r0, r30, 0x10 -/* 037D54 8003D2F4 80A30044 */ lwz r5, 0x44(r3) -/* 037D58 8003D2F8 7C000734 */ extsh r0, r0 -/* 037D5C 8003D2FC 7CC50014 */ addc r6, r5, r0 -/* 037D60 8003D300 54C0843E */ srwi r0, r6, 0x10 -/* 037D64 8003D304 7C1D00AE */ lbzx r0, r29, r0 -/* 037D68 8003D308 38A10060 */ addi r5, r1, 0x60 -/* 037D6C 8003D30C 5400103A */ slwi r0, r0, 2 -/* 037D70 8003D310 7C7C002E */ lwzx r3, r28, r0 -/* 037D74 8003D314 81830014 */ lwz r12, 0x14(r3) -/* 037D78 8003D318 80030008 */ lwz r0, 8(r3) -/* 037D7C 8003D31C 7D8803A6 */ mtlr r12 -/* 037D80 8003D320 80630004 */ lwz r3, 4(r3) -/* 037D84 8003D324 7C860214 */ add r4, r6, r0 -/* 037D88 8003D328 4E800021 */ blrl -/* 037D8C 8003D32C 2C030000 */ cmpwi r3, 0 -/* 037D90 8003D330 41820B7C */ beq lbl_8003DEAC -/* 037D94 8003D334 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037D98 8003D338 80810060 */ lwz r4, 0x60(r1) -/* 037D9C 8003D33C 7C7F0214 */ add r3, r31, r0 -/* 037DA0 8003D340 90830044 */ stw r4, 0x44(r3) -/* 037DA4 8003D344 38000000 */ li r0, 0 -/* 037DA8 8003D348 90030040 */ stw r0, 0x40(r3) -/* 037DAC 8003D34C 48000B60 */ b lbl_8003DEAC -.global lbl_8003D350 -lbl_8003D350: -/* 037DB0 8003D350 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037DB4 8003D354 7C7F0214 */ add r3, r31, r0 -/* 037DB8 8003D358 57C0043E */ clrlwi r0, r30, 0x10 -/* 037DBC 8003D35C 80630044 */ lwz r3, 0x44(r3) -/* 037DC0 8003D360 7C000734 */ extsh r0, r0 -/* 037DC4 8003D364 7C830214 */ add r4, r3, r0 -/* 037DC8 8003D368 5480843E */ srwi r0, r4, 0x10 -/* 037DCC 8003D36C 7C1D00AE */ lbzx r0, r29, r0 -/* 037DD0 8003D370 38A10066 */ addi r5, r1, 0x66 -/* 037DD4 8003D374 5400103A */ slwi r0, r0, 2 -/* 037DD8 8003D378 7C7C002E */ lwzx r3, r28, r0 -/* 037DDC 8003D37C 8183000C */ lwz r12, 0xc(r3) -/* 037DE0 8003D380 80030008 */ lwz r0, 8(r3) -/* 037DE4 8003D384 7D8803A6 */ mtlr r12 -/* 037DE8 8003D388 80630004 */ lwz r3, 4(r3) -/* 037DEC 8003D38C 7C840214 */ add r4, r4, r0 -/* 037DF0 8003D390 4E800021 */ blrl -/* 037DF4 8003D394 2C030000 */ cmpwi r3, 0 -/* 037DF8 8003D398 41820B14 */ beq lbl_8003DEAC -/* 037DFC 8003D39C 88610066 */ lbz r3, 0x66(r1) -/* 037E00 8003D3A0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037E04 8003D3A4 7C640774 */ extsb r4, r3 -/* 037E08 8003D3A8 7C7F0214 */ add r3, r31, r0 -/* 037E0C 8003D3AC 90830044 */ stw r4, 0x44(r3) -/* 037E10 8003D3B0 48000AFC */ b lbl_8003DEAC -.global lbl_8003D3B4 -lbl_8003D3B4: -/* 037E14 8003D3B4 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037E18 8003D3B8 7C7F0214 */ add r3, r31, r0 -/* 037E1C 8003D3BC 57C0043E */ clrlwi r0, r30, 0x10 -/* 037E20 8003D3C0 80630044 */ lwz r3, 0x44(r3) -/* 037E24 8003D3C4 7C000734 */ extsh r0, r0 -/* 037E28 8003D3C8 7C830214 */ add r4, r3, r0 -/* 037E2C 8003D3CC 5480843E */ srwi r0, r4, 0x10 -/* 037E30 8003D3D0 7C1D00AE */ lbzx r0, r29, r0 -/* 037E34 8003D3D4 38A10064 */ addi r5, r1, 0x64 -/* 037E38 8003D3D8 5400103A */ slwi r0, r0, 2 -/* 037E3C 8003D3DC 7C7C002E */ lwzx r3, r28, r0 -/* 037E40 8003D3E0 81830010 */ lwz r12, 0x10(r3) -/* 037E44 8003D3E4 80030008 */ lwz r0, 8(r3) -/* 037E48 8003D3E8 7D8803A6 */ mtlr r12 -/* 037E4C 8003D3EC 80630004 */ lwz r3, 4(r3) -/* 037E50 8003D3F0 7C840214 */ add r4, r4, r0 -/* 037E54 8003D3F4 4E800021 */ blrl -/* 037E58 8003D3F8 2C030000 */ cmpwi r3, 0 -/* 037E5C 8003D3FC 41820AB0 */ beq lbl_8003DEAC -/* 037E60 8003D400 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037E64 8003D404 A8810064 */ lha r4, 0x64(r1) -/* 037E68 8003D408 7C7F0214 */ add r3, r31, r0 -/* 037E6C 8003D40C 90830044 */ stw r4, 0x44(r3) -/* 037E70 8003D410 48000A9C */ b lbl_8003DEAC -.global lbl_8003D414 -lbl_8003D414: -/* 037E74 8003D414 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037E78 8003D418 7C7F0214 */ add r3, r31, r0 -/* 037E7C 8003D41C 57C0043E */ clrlwi r0, r30, 0x10 -/* 037E80 8003D420 80830044 */ lwz r4, 0x44(r3) -/* 037E84 8003D424 7C030734 */ extsh r3, r0 -/* 037E88 8003D428 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037E8C 8003D42C 7EC41A14 */ add r22, r4, r3 -/* 037E90 8003D430 7FDF0214 */ add r30, r31, r0 -/* 037E94 8003D434 3AE00018 */ li r23, 0x18 -lbl_8003D438: -/* 037E98 8003D438 56C0843E */ srwi r0, r22, 0x10 -/* 037E9C 8003D43C 7C1D00AE */ lbzx r0, r29, r0 -/* 037EA0 8003D440 38A10066 */ addi r5, r1, 0x66 -/* 037EA4 8003D444 5400103A */ slwi r0, r0, 2 -/* 037EA8 8003D448 7C7C002E */ lwzx r3, r28, r0 -/* 037EAC 8003D44C 8183000C */ lwz r12, 0xc(r3) -/* 037EB0 8003D450 80030008 */ lwz r0, 8(r3) -/* 037EB4 8003D454 7D8803A6 */ mtlr r12 -/* 037EB8 8003D458 80630004 */ lwz r3, 4(r3) -/* 037EBC 8003D45C 7C960214 */ add r4, r22, r0 -/* 037EC0 8003D460 4E800021 */ blrl -/* 037EC4 8003D464 2C030000 */ cmpwi r3, 0 -/* 037EC8 8003D468 4182002C */ beq lbl_8003D494 -/* 037ECC 8003D46C 88610066 */ lbz r3, 0x66(r1) -/* 037ED0 8003D470 380000FF */ li r0, 0xff -/* 037ED4 8003D474 7C00B830 */ slw r0, r0, r23 -/* 037ED8 8003D478 7C63B830 */ slw r3, r3, r23 -/* 037EDC 8003D47C 90610060 */ stw r3, 0x60(r1) -/* 037EE0 8003D480 807E0044 */ lwz r3, 0x44(r30) -/* 037EE4 8003D484 80810060 */ lwz r4, 0x60(r1) -/* 037EE8 8003D488 7C600078 */ andc r0, r3, r0 -/* 037EEC 8003D48C 7C800378 */ or r0, r4, r0 -/* 037EF0 8003D490 901E0044 */ stw r0, 0x44(r30) -lbl_8003D494: -/* 037EF4 8003D494 56C007BF */ clrlwi. r0, r22, 0x1e -/* 037EF8 8003D498 3AF7FFF8 */ addi r23, r23, -8 -/* 037EFC 8003D49C 3AD60001 */ addi r22, r22, 1 -/* 037F00 8003D4A0 4082FF98 */ bne lbl_8003D438 -/* 037F04 8003D4A4 48000A08 */ b lbl_8003DEAC -.global lbl_8003D4A8 -lbl_8003D4A8: -/* 037F08 8003D4A8 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037F0C 8003D4AC 7C7F0214 */ add r3, r31, r0 -/* 037F10 8003D4B0 57C0043E */ clrlwi r0, r30, 0x10 -/* 037F14 8003D4B4 80630044 */ lwz r3, 0x44(r3) -/* 037F18 8003D4B8 7C000734 */ extsh r0, r0 -/* 037F1C 8003D4BC 7C830214 */ add r4, r3, r0 -/* 037F20 8003D4C0 5480843E */ srwi r0, r4, 0x10 -/* 037F24 8003D4C4 7C1D00AE */ lbzx r0, r29, r0 -/* 037F28 8003D4C8 38A10060 */ addi r5, r1, 0x60 -/* 037F2C 8003D4CC 5400103A */ slwi r0, r0, 2 -/* 037F30 8003D4D0 7C7C002E */ lwzx r3, r28, r0 -/* 037F34 8003D4D4 81830014 */ lwz r12, 0x14(r3) -/* 037F38 8003D4D8 80030008 */ lwz r0, 8(r3) -/* 037F3C 8003D4DC 7D8803A6 */ mtlr r12 -/* 037F40 8003D4E0 80630004 */ lwz r3, 4(r3) -/* 037F44 8003D4E4 7C840214 */ add r4, r4, r0 -/* 037F48 8003D4E8 4E800021 */ blrl -/* 037F4C 8003D4EC 2C030000 */ cmpwi r3, 0 -/* 037F50 8003D4F0 418209BC */ beq lbl_8003DEAC -/* 037F54 8003D4F4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037F58 8003D4F8 80810060 */ lwz r4, 0x60(r1) -/* 037F5C 8003D4FC 7C7F0214 */ add r3, r31, r0 -/* 037F60 8003D500 90830044 */ stw r4, 0x44(r3) -/* 037F64 8003D504 480009A8 */ b lbl_8003DEAC -.global lbl_8003D508 -lbl_8003D508: -/* 037F68 8003D508 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037F6C 8003D50C 7C7F0214 */ add r3, r31, r0 -/* 037F70 8003D510 57C0043E */ clrlwi r0, r30, 0x10 -/* 037F74 8003D514 80630044 */ lwz r3, 0x44(r3) -/* 037F78 8003D518 7C000734 */ extsh r0, r0 -/* 037F7C 8003D51C 7C830214 */ add r4, r3, r0 -/* 037F80 8003D520 5480843E */ srwi r0, r4, 0x10 -/* 037F84 8003D524 7C1D00AE */ lbzx r0, r29, r0 -/* 037F88 8003D528 38A10066 */ addi r5, r1, 0x66 -/* 037F8C 8003D52C 5400103A */ slwi r0, r0, 2 -/* 037F90 8003D530 7C7C002E */ lwzx r3, r28, r0 -/* 037F94 8003D534 8183000C */ lwz r12, 0xc(r3) -/* 037F98 8003D538 80030008 */ lwz r0, 8(r3) -/* 037F9C 8003D53C 7D8803A6 */ mtlr r12 -/* 037FA0 8003D540 80630004 */ lwz r3, 4(r3) -/* 037FA4 8003D544 7C840214 */ add r4, r4, r0 -/* 037FA8 8003D548 4E800021 */ blrl -/* 037FAC 8003D54C 2C030000 */ cmpwi r3, 0 -/* 037FB0 8003D550 4182095C */ beq lbl_8003DEAC -/* 037FB4 8003D554 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 037FB8 8003D558 88810066 */ lbz r4, 0x66(r1) -/* 037FBC 8003D55C 7C7F0214 */ add r3, r31, r0 -/* 037FC0 8003D560 90830044 */ stw r4, 0x44(r3) -/* 037FC4 8003D564 48000948 */ b lbl_8003DEAC -.global lbl_8003D568 -lbl_8003D568: -/* 037FC8 8003D568 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 037FCC 8003D56C 807F0008 */ lwz r3, 8(r31) -/* 037FD0 8003D570 7C9F0214 */ add r4, r31, r0 -/* 037FD4 8003D574 57C0043E */ clrlwi r0, r30, 0x10 -/* 037FD8 8003D578 80840044 */ lwz r4, 0x44(r4) -/* 037FDC 8003D57C 7C000734 */ extsh r0, r0 -/* 037FE0 8003D580 80630000 */ lwz r3, 0(r3) -/* 037FE4 8003D584 7EC40214 */ add r22, r4, r0 -/* 037FE8 8003D588 38B60000 */ addi r5, r22, 0 -/* 037FEC 8003D58C 38810064 */ addi r4, r1, 0x64 -/* 037FF0 8003D590 4BFE3FF9 */ bl frameGetDepth -/* 037FF4 8003D594 2C030000 */ cmpwi r3, 0 -/* 037FF8 8003D598 41820018 */ beq lbl_8003D5B0 -/* 037FFC 8003D59C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 038000 8003D5A0 A0810064 */ lhz r4, 0x64(r1) -/* 038004 8003D5A4 7C7F0214 */ add r3, r31, r0 -/* 038008 8003D5A8 90830044 */ stw r4, 0x44(r3) -/* 03800C 8003D5AC 48000900 */ b lbl_8003DEAC -lbl_8003D5B0: -/* 038010 8003D5B0 56C0843E */ srwi r0, r22, 0x10 -/* 038014 8003D5B4 7C1D00AE */ lbzx r0, r29, r0 -/* 038018 8003D5B8 38A10064 */ addi r5, r1, 0x64 -/* 03801C 8003D5BC 5400103A */ slwi r0, r0, 2 -/* 038020 8003D5C0 7C7C002E */ lwzx r3, r28, r0 -/* 038024 8003D5C4 81830010 */ lwz r12, 0x10(r3) -/* 038028 8003D5C8 80030008 */ lwz r0, 8(r3) -/* 03802C 8003D5CC 7D8803A6 */ mtlr r12 -/* 038030 8003D5D0 80630004 */ lwz r3, 4(r3) -/* 038034 8003D5D4 7C960214 */ add r4, r22, r0 -/* 038038 8003D5D8 4E800021 */ blrl -/* 03803C 8003D5DC 2C030000 */ cmpwi r3, 0 -/* 038040 8003D5E0 418208CC */ beq lbl_8003DEAC -/* 038044 8003D5E4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 038048 8003D5E8 A0810064 */ lhz r4, 0x64(r1) -/* 03804C 8003D5EC 7C7F0214 */ add r3, r31, r0 -/* 038050 8003D5F0 90830044 */ stw r4, 0x44(r3) -/* 038054 8003D5F4 480008B8 */ b lbl_8003DEAC -.global lbl_8003D5F8 -lbl_8003D5F8: -/* 038058 8003D5F8 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 03805C 8003D5FC 7C7F0214 */ add r3, r31, r0 -/* 038060 8003D600 57C0043E */ clrlwi r0, r30, 0x10 -/* 038064 8003D604 80830044 */ lwz r4, 0x44(r3) -/* 038068 8003D608 7C030734 */ extsh r3, r0 -/* 03806C 8003D60C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 038070 8003D610 7EC41A14 */ add r22, r4, r3 -/* 038074 8003D614 7FDF0214 */ add r30, r31, r0 -/* 038078 8003D618 3AE00000 */ li r23, 0 -lbl_8003D61C: -/* 03807C 8003D61C 56C0843E */ srwi r0, r22, 0x10 -/* 038080 8003D620 7C1D00AE */ lbzx r0, r29, r0 -/* 038084 8003D624 38A10066 */ addi r5, r1, 0x66 -/* 038088 8003D628 5400103A */ slwi r0, r0, 2 -/* 03808C 8003D62C 7C7C002E */ lwzx r3, r28, r0 -/* 038090 8003D630 8183000C */ lwz r12, 0xc(r3) -/* 038094 8003D634 80030008 */ lwz r0, 8(r3) -/* 038098 8003D638 7D8803A6 */ mtlr r12 -/* 03809C 8003D63C 80630004 */ lwz r3, 4(r3) -/* 0380A0 8003D640 7C960214 */ add r4, r22, r0 -/* 0380A4 8003D644 4E800021 */ blrl -/* 0380A8 8003D648 2C030000 */ cmpwi r3, 0 -/* 0380AC 8003D64C 4182002C */ beq lbl_8003D678 -/* 0380B0 8003D650 88610066 */ lbz r3, 0x66(r1) -/* 0380B4 8003D654 380000FF */ li r0, 0xff -/* 0380B8 8003D658 7C00B830 */ slw r0, r0, r23 -/* 0380BC 8003D65C 7C63B830 */ slw r3, r3, r23 -/* 0380C0 8003D660 90610060 */ stw r3, 0x60(r1) -/* 0380C4 8003D664 807E0044 */ lwz r3, 0x44(r30) -/* 0380C8 8003D668 80810060 */ lwz r4, 0x60(r1) -/* 0380CC 8003D66C 7C600078 */ andc r0, r3, r0 -/* 0380D0 8003D670 7C800378 */ or r0, r4, r0 -/* 0380D4 8003D674 901E0044 */ stw r0, 0x44(r30) -lbl_8003D678: -/* 0380D8 8003D678 56C007BF */ clrlwi. r0, r22, 0x1e -/* 0380DC 8003D67C 3AF70008 */ addi r23, r23, 8 -/* 0380E0 8003D680 3AD6FFFF */ addi r22, r22, -1 -/* 0380E4 8003D684 4082FF98 */ bne lbl_8003D61C -/* 0380E8 8003D688 48000824 */ b lbl_8003DEAC -.global lbl_8003D68C -lbl_8003D68C: -/* 0380EC 8003D68C 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0380F0 8003D690 7C7F0214 */ add r3, r31, r0 -/* 0380F4 8003D694 57C0043E */ clrlwi r0, r30, 0x10 -/* 0380F8 8003D698 80630044 */ lwz r3, 0x44(r3) -/* 0380FC 8003D69C 7C000734 */ extsh r0, r0 -/* 038100 8003D6A0 7CC30214 */ add r6, r3, r0 -/* 038104 8003D6A4 54C0843E */ srwi r0, r6, 0x10 -/* 038108 8003D6A8 7C1D00AE */ lbzx r0, r29, r0 -/* 03810C 8003D6AC 57C39E38 */ rlwinm r3, r30, 0x13, 0x18, 0x1c -/* 038110 8003D6B0 38A30047 */ addi r5, r3, 0x47 -/* 038114 8003D6B4 5400103A */ slwi r0, r0, 2 -/* 038118 8003D6B8 7C9C002E */ lwzx r4, r28, r0 -/* 03811C 8003D6BC 7CBF2A14 */ add r5, r31, r5 -/* 038120 8003D6C0 8184001C */ lwz r12, 0x1c(r4) -/* 038124 8003D6C4 80040008 */ lwz r0, 8(r4) -/* 038128 8003D6C8 80640004 */ lwz r3, 4(r4) -/* 03812C 8003D6CC 7D8803A6 */ mtlr r12 -/* 038130 8003D6D0 7C860214 */ add r4, r6, r0 -/* 038134 8003D6D4 4E800021 */ blrl -/* 038138 8003D6D8 480007D4 */ b lbl_8003DEAC -.global lbl_8003D6DC -lbl_8003D6DC: -/* 03813C 8003D6DC 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 038140 8003D6E0 7C7F0214 */ add r3, r31, r0 -/* 038144 8003D6E4 57C0043E */ clrlwi r0, r30, 0x10 -/* 038148 8003D6E8 80630044 */ lwz r3, 0x44(r3) -/* 03814C 8003D6EC 7C000734 */ extsh r0, r0 -/* 038150 8003D6F0 7CC30214 */ add r6, r3, r0 -/* 038154 8003D6F4 54C0843E */ srwi r0, r6, 0x10 -/* 038158 8003D6F8 7C1D00AE */ lbzx r0, r29, r0 -/* 03815C 8003D6FC 57C39E38 */ rlwinm r3, r30, 0x13, 0x18, 0x1c -/* 038160 8003D700 38A30046 */ addi r5, r3, 0x46 -/* 038164 8003D704 5400103A */ slwi r0, r0, 2 -/* 038168 8003D708 7C9C002E */ lwzx r4, r28, r0 -/* 03816C 8003D70C 7CBF2A14 */ add r5, r31, r5 -/* 038170 8003D710 81840020 */ lwz r12, 0x20(r4) -/* 038174 8003D714 80040008 */ lwz r0, 8(r4) -/* 038178 8003D718 80640004 */ lwz r3, 4(r4) -/* 03817C 8003D71C 7D8803A6 */ mtlr r12 -/* 038180 8003D720 7C860214 */ add r4, r6, r0 -/* 038184 8003D724 4E800021 */ blrl -/* 038188 8003D728 48000784 */ b lbl_8003DEAC -.global lbl_8003D72C -lbl_8003D72C: -/* 03818C 8003D72C 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 038190 8003D730 7C7F0214 */ add r3, r31, r0 -/* 038194 8003D734 57C0043E */ clrlwi r0, r30, 0x10 -/* 038198 8003D738 80830044 */ lwz r4, 0x44(r3) -/* 03819C 8003D73C 7C030734 */ extsh r3, r0 -/* 0381A0 8003D740 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0381A4 8003D744 7EC41A14 */ add r22, r4, r3 -/* 0381A8 8003D748 7FDF0214 */ add r30, r31, r0 -/* 0381AC 8003D74C 3AE00018 */ li r23, 0x18 -lbl_8003D750: -/* 0381B0 8003D750 807E0044 */ lwz r3, 0x44(r30) -/* 0381B4 8003D754 56C0843E */ srwi r0, r22, 0x10 -/* 0381B8 8003D758 38A10066 */ addi r5, r1, 0x66 -/* 0381BC 8003D75C 7C63BC30 */ srw r3, r3, r23 -/* 0381C0 8003D760 98610066 */ stb r3, 0x66(r1) -/* 0381C4 8003D764 7C1D00AE */ lbzx r0, r29, r0 -/* 0381C8 8003D768 5400103A */ slwi r0, r0, 2 -/* 0381CC 8003D76C 7C7C002E */ lwzx r3, r28, r0 -/* 0381D0 8003D770 8183001C */ lwz r12, 0x1c(r3) -/* 0381D4 8003D774 80030008 */ lwz r0, 8(r3) -/* 0381D8 8003D778 7D8803A6 */ mtlr r12 -/* 0381DC 8003D77C 80630004 */ lwz r3, 4(r3) -/* 0381E0 8003D780 7C960214 */ add r4, r22, r0 -/* 0381E4 8003D784 4E800021 */ blrl -/* 0381E8 8003D788 56C007BF */ clrlwi. r0, r22, 0x1e -/* 0381EC 8003D78C 3AF7FFF8 */ addi r23, r23, -8 -/* 0381F0 8003D790 3AD60001 */ addi r22, r22, 1 -/* 0381F4 8003D794 4082FFBC */ bne lbl_8003D750 -/* 0381F8 8003D798 48000714 */ b lbl_8003DEAC -.global lbl_8003D79C -lbl_8003D79C: -/* 0381FC 8003D79C 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 038200 8003D7A0 7C7F0214 */ add r3, r31, r0 -/* 038204 8003D7A4 57C0043E */ clrlwi r0, r30, 0x10 -/* 038208 8003D7A8 80630044 */ lwz r3, 0x44(r3) -/* 03820C 8003D7AC 7C000734 */ extsh r0, r0 -/* 038210 8003D7B0 7CC30214 */ add r6, r3, r0 -/* 038214 8003D7B4 54C0843E */ srwi r0, r6, 0x10 -/* 038218 8003D7B8 7C1D00AE */ lbzx r0, r29, r0 -/* 03821C 8003D7BC 57C39E38 */ rlwinm r3, r30, 0x13, 0x18, 0x1c -/* 038220 8003D7C0 38A30044 */ addi r5, r3, 0x44 -/* 038224 8003D7C4 5400103A */ slwi r0, r0, 2 -/* 038228 8003D7C8 7C9C002E */ lwzx r4, r28, r0 -/* 03822C 8003D7CC 7CBF2A14 */ add r5, r31, r5 -/* 038230 8003D7D0 81840024 */ lwz r12, 0x24(r4) -/* 038234 8003D7D4 80040008 */ lwz r0, 8(r4) -/* 038238 8003D7D8 80640004 */ lwz r3, 4(r4) -/* 03823C 8003D7DC 7D8803A6 */ mtlr r12 -/* 038240 8003D7E0 7C860214 */ add r4, r6, r0 -/* 038244 8003D7E4 4E800021 */ blrl -/* 038248 8003D7E8 480006C4 */ b lbl_8003DEAC -.global lbl_8003D7EC -lbl_8003D7EC: -/* 03824C 8003D7EC 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 038250 8003D7F0 7C7F0214 */ add r3, r31, r0 -/* 038254 8003D7F4 57C0043E */ clrlwi r0, r30, 0x10 -/* 038258 8003D7F8 80A30044 */ lwz r5, 0x44(r3) -/* 03825C 8003D7FC 7C000734 */ extsh r0, r0 -/* 038260 8003D800 7EC50014 */ addc r22, r5, r0 -/* 038264 8003D804 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 038268 8003D808 7FDF0214 */ add r30, r31, r0 -/* 03826C 8003D80C 3AE00038 */ li r23, 0x38 -lbl_8003D810: -/* 038270 8003D810 807E0040 */ lwz r3, 0x40(r30) -/* 038274 8003D814 7EE5BB78 */ mr r5, r23 -/* 038278 8003D818 809E0044 */ lwz r4, 0x44(r30) -/* 03827C 8003D81C 4809054D */ bl __shr2u -/* 038280 8003D820 380000FF */ li r0, 0xff -/* 038284 8003D824 7C800038 */ and r0, r4, r0 -/* 038288 8003D828 98010066 */ stb r0, 0x66(r1) -/* 03828C 8003D82C 56C0843E */ srwi r0, r22, 0x10 -/* 038290 8003D830 38A10066 */ addi r5, r1, 0x66 -/* 038294 8003D834 7C1D00AE */ lbzx r0, r29, r0 -/* 038298 8003D838 5400103A */ slwi r0, r0, 2 -/* 03829C 8003D83C 7C7C002E */ lwzx r3, r28, r0 -/* 0382A0 8003D840 8183001C */ lwz r12, 0x1c(r3) -/* 0382A4 8003D844 80030008 */ lwz r0, 8(r3) -/* 0382A8 8003D848 7D8803A6 */ mtlr r12 -/* 0382AC 8003D84C 80630004 */ lwz r3, 4(r3) -/* 0382B0 8003D850 7C960214 */ add r4, r22, r0 -/* 0382B4 8003D854 4E800021 */ blrl -/* 0382B8 8003D858 56C0077F */ clrlwi. r0, r22, 0x1d -/* 0382BC 8003D85C 3AF7FFF8 */ addi r23, r23, -8 -/* 0382C0 8003D860 3AD60001 */ addi r22, r22, 1 -/* 0382C4 8003D864 4082FFAC */ bne lbl_8003D810 -/* 0382C8 8003D868 48000644 */ b lbl_8003DEAC -.global lbl_8003D86C -lbl_8003D86C: -/* 0382CC 8003D86C 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0382D0 8003D870 7C7F0214 */ add r3, r31, r0 -/* 0382D4 8003D874 57C0043E */ clrlwi r0, r30, 0x10 -/* 0382D8 8003D878 80830044 */ lwz r4, 0x44(r3) -/* 0382DC 8003D87C 7C030734 */ extsh r3, r0 -/* 0382E0 8003D880 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0382E4 8003D884 7EC41A14 */ add r22, r4, r3 -/* 0382E8 8003D888 7FDF0214 */ add r30, r31, r0 -/* 0382EC 8003D88C 3AE00000 */ li r23, 0 -lbl_8003D890: -/* 0382F0 8003D890 807E0040 */ lwz r3, 0x40(r30) -/* 0382F4 8003D894 7EE5BB78 */ mr r5, r23 -/* 0382F8 8003D898 809E0044 */ lwz r4, 0x44(r30) -/* 0382FC 8003D89C 480904CD */ bl __shr2u -/* 038300 8003D8A0 380000FF */ li r0, 0xff -/* 038304 8003D8A4 7C800038 */ and r0, r4, r0 -/* 038308 8003D8A8 98010066 */ stb r0, 0x66(r1) -/* 03830C 8003D8AC 56C0843E */ srwi r0, r22, 0x10 -/* 038310 8003D8B0 38A10066 */ addi r5, r1, 0x66 -/* 038314 8003D8B4 7C1D00AE */ lbzx r0, r29, r0 -/* 038318 8003D8B8 5400103A */ slwi r0, r0, 2 -/* 03831C 8003D8BC 7C7C002E */ lwzx r3, r28, r0 -/* 038320 8003D8C0 8183001C */ lwz r12, 0x1c(r3) -/* 038324 8003D8C4 80030008 */ lwz r0, 8(r3) -/* 038328 8003D8C8 7D8803A6 */ mtlr r12 -/* 03832C 8003D8CC 80630004 */ lwz r3, 4(r3) -/* 038330 8003D8D0 7C960214 */ add r4, r22, r0 -/* 038334 8003D8D4 4E800021 */ blrl -/* 038338 8003D8D8 56C0077F */ clrlwi. r0, r22, 0x1d -/* 03833C 8003D8DC 3AF70008 */ addi r23, r23, 8 -/* 038340 8003D8E0 3AD6FFFF */ addi r22, r22, -1 -/* 038344 8003D8E4 4082FFAC */ bne lbl_8003D890 -/* 038348 8003D8E8 480005C4 */ b lbl_8003DEAC -.global lbl_8003D8EC -lbl_8003D8EC: -/* 03834C 8003D8EC 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 038350 8003D8F0 7C7F0214 */ add r3, r31, r0 -/* 038354 8003D8F4 57C0043E */ clrlwi r0, r30, 0x10 -/* 038358 8003D8F8 80830044 */ lwz r4, 0x44(r3) -/* 03835C 8003D8FC 7C030734 */ extsh r3, r0 -/* 038360 8003D900 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 038364 8003D904 7EC41A14 */ add r22, r4, r3 -/* 038368 8003D908 7FDF0214 */ add r30, r31, r0 -/* 03836C 8003D90C 3AE00000 */ li r23, 0 -lbl_8003D910: -/* 038370 8003D910 807E0044 */ lwz r3, 0x44(r30) -/* 038374 8003D914 56C0843E */ srwi r0, r22, 0x10 -/* 038378 8003D918 38A10066 */ addi r5, r1, 0x66 -/* 03837C 8003D91C 7C63BC30 */ srw r3, r3, r23 -/* 038380 8003D920 98610066 */ stb r3, 0x66(r1) -/* 038384 8003D924 7C1D00AE */ lbzx r0, r29, r0 -/* 038388 8003D928 5400103A */ slwi r0, r0, 2 -/* 03838C 8003D92C 7C7C002E */ lwzx r3, r28, r0 -/* 038390 8003D930 8183001C */ lwz r12, 0x1c(r3) -/* 038394 8003D934 80030008 */ lwz r0, 8(r3) -/* 038398 8003D938 7D8803A6 */ mtlr r12 -/* 03839C 8003D93C 80630004 */ lwz r3, 4(r3) -/* 0383A0 8003D940 7C960214 */ add r4, r22, r0 -/* 0383A4 8003D944 4E800021 */ blrl -/* 0383A8 8003D948 56C007BF */ clrlwi. r0, r22, 0x1e -/* 0383AC 8003D94C 3AF70008 */ addi r23, r23, 8 -/* 0383B0 8003D950 3AD6FFFF */ addi r22, r22, -1 -/* 0383B4 8003D954 4082FFBC */ bne lbl_8003D910 -/* 0383B8 8003D958 48000554 */ b lbl_8003DEAC -.global lbl_8003D95C -lbl_8003D95C: -/* 0383BC 8003D95C 80BF0028 */ lwz r5, 0x28(r31) -/* 0383C0 8003D960 807F0008 */ lwz r3, 8(r31) -/* 0383C4 8003D964 54A0843E */ srwi r0, r5, 0x10 -/* 0383C8 8003D968 7C9F0214 */ add r4, r31, r0 -/* 0383CC 8003D96C 8063002C */ lwz r3, 0x2c(r3) -/* 0383D0 8003D970 88040F64 */ lbz r0, 0xf64(r4) -/* 0383D4 8003D974 5400103A */ slwi r0, r0, 2 -/* 0383D8 8003D978 7C9F0214 */ add r4, r31, r0 -/* 0383DC 8003D97C 80840B64 */ lwz r4, 0xb64(r4) -/* 0383E0 8003D980 80040004 */ lwz r0, 4(r4) -/* 0383E4 8003D984 7C001840 */ cmplw r0, r3 -/* 0383E8 8003D988 40820030 */ bne lbl_8003D9B8 -/* 0383EC 8003D98C 80040008 */ lwz r0, 8(r4) -/* 0383F0 8003D990 38810040 */ addi r4, r1, 0x40 -/* 0383F4 8003D994 38C00000 */ li r6, 0 -/* 0383F8 8003D998 7CA50214 */ add r5, r5, r0 -/* 0383FC 8003D99C 4802F705 */ bl ramGetBuffer -/* 038400 8003D9A0 2C030000 */ cmpwi r3, 0 -/* 038404 8003D9A4 4082000C */ bne lbl_8003D9B0 -/* 038408 8003D9A8 38000000 */ li r0, 0 -/* 03840C 8003D9AC 48000010 */ b lbl_8003D9BC -lbl_8003D9B0: -/* 038410 8003D9B0 38000001 */ li r0, 1 -/* 038414 8003D9B4 48000008 */ b lbl_8003D9BC -lbl_8003D9B8: -/* 038418 8003D9B8 38000000 */ li r0, 0 -lbl_8003D9BC: -/* 03841C 8003D9BC 2C000000 */ cmpwi r0, 0 -/* 038420 8003D9C0 4082000C */ bne lbl_8003D9CC -/* 038424 8003D9C4 38E00000 */ li r7, 0 -/* 038428 8003D9C8 48000048 */ b lbl_8003DA10 -lbl_8003D9CC: -/* 03842C 8003D9CC 80810040 */ lwz r4, 0x40(r1) -/* 038430 8003D9D0 38C00000 */ li r6, 0 -/* 038434 8003D9D4 3C6003E0 */ lis r3, 0x3e0 -/* 038438 8003D9D8 90C4FFFC */ stw r6, -4(r4) -/* 03843C 8003D9DC 38030008 */ addi r0, r3, 8 -/* 038440 8003D9E0 38E00001 */ li r7, 1 -/* 038444 8003D9E4 80BF0030 */ lwz r5, 0x30(r31) -/* 038448 8003D9E8 809F0028 */ lwz r4, 0x28(r31) -/* 03844C 8003D9EC 80610040 */ lwz r3, 0x40(r1) -/* 038450 8003D9F0 7C852050 */ subf r4, r5, r4 -/* 038454 8003D9F4 5484003A */ rlwinm r4, r4, 0, 0, 0x1d -/* 038458 8003D9F8 7C641850 */ subf r3, r4, r3 -/* 03845C 8003D9FC 90610040 */ stw r3, 0x40(r1) -/* 038460 8003DA00 80610040 */ lwz r3, 0x40(r1) -/* 038464 8003DA04 90030000 */ stw r0, 0(r3) -/* 038468 8003DA08 80610040 */ lwz r3, 0x40(r1) -/* 03846C 8003DA0C 90C30004 */ stw r6, 4(r3) -lbl_8003DA10: -/* 038470 8003DA10 2C070000 */ cmpwi r7, 0 -/* 038474 8003DA14 40820498 */ bne lbl_8003DEAC -/* 038478 8003DA18 38600000 */ li r3, 0 -/* 03847C 8003DA1C 480004D4 */ b lbl_8003DEF0 -.global lbl_8003DA20 -lbl_8003DA20: -/* 038480 8003DA20 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 038484 8003DA24 7C7F0214 */ add r3, r31, r0 -/* 038488 8003DA28 57C0043E */ clrlwi r0, r30, 0x10 -/* 03848C 8003DA2C 80630044 */ lwz r3, 0x44(r3) -/* 038490 8003DA30 7C000734 */ extsh r0, r0 -/* 038494 8003DA34 7C830214 */ add r4, r3, r0 -/* 038498 8003DA38 5480843E */ srwi r0, r4, 0x10 -/* 03849C 8003DA3C 7C1D00AE */ lbzx r0, r29, r0 -/* 0384A0 8003DA40 38A10060 */ addi r5, r1, 0x60 -/* 0384A4 8003DA44 5400103A */ slwi r0, r0, 2 -/* 0384A8 8003DA48 7C7C002E */ lwzx r3, r28, r0 -/* 0384AC 8003DA4C 81830014 */ lwz r12, 0x14(r3) -/* 0384B0 8003DA50 80030008 */ lwz r0, 8(r3) -/* 0384B4 8003DA54 7D8803A6 */ mtlr r12 -/* 0384B8 8003DA58 80630004 */ lwz r3, 4(r3) -/* 0384BC 8003DA5C 7C840214 */ add r4, r4, r0 -/* 0384C0 8003DA60 4E800021 */ blrl -/* 0384C4 8003DA64 2C030000 */ cmpwi r3, 0 -/* 0384C8 8003DA68 41820444 */ beq lbl_8003DEAC -/* 0384CC 8003DA6C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0384D0 8003DA70 80810060 */ lwz r4, 0x60(r1) -/* 0384D4 8003DA74 7C7F0214 */ add r3, r31, r0 -/* 0384D8 8003DA78 90830044 */ stw r4, 0x44(r3) -/* 0384DC 8003DA7C 48000430 */ b lbl_8003DEAC -.global lbl_8003DA80 -lbl_8003DA80: -/* 0384E0 8003DA80 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0384E4 8003DA84 7C7F0214 */ add r3, r31, r0 -/* 0384E8 8003DA88 57C0043E */ clrlwi r0, r30, 0x10 -/* 0384EC 8003DA8C 80630044 */ lwz r3, 0x44(r3) -/* 0384F0 8003DA90 7C000734 */ extsh r0, r0 -/* 0384F4 8003DA94 7C830214 */ add r4, r3, r0 -/* 0384F8 8003DA98 5480843E */ srwi r0, r4, 0x10 -/* 0384FC 8003DA9C 7C1D00AE */ lbzx r0, r29, r0 -/* 038500 8003DAA0 38A10060 */ addi r5, r1, 0x60 -/* 038504 8003DAA4 5400103A */ slwi r0, r0, 2 -/* 038508 8003DAA8 7C7C002E */ lwzx r3, r28, r0 -/* 03850C 8003DAAC 81830014 */ lwz r12, 0x14(r3) -/* 038510 8003DAB0 80030008 */ lwz r0, 8(r3) -/* 038514 8003DAB4 7D8803A6 */ mtlr r12 -/* 038518 8003DAB8 80630004 */ lwz r3, 4(r3) -/* 03851C 8003DABC 7C840214 */ add r4, r4, r0 -/* 038520 8003DAC0 4E800021 */ blrl -/* 038524 8003DAC4 2C030000 */ cmpwi r3, 0 -/* 038528 8003DAC8 418203E4 */ beq lbl_8003DEAC -/* 03852C 8003DACC 57C087FF */ rlwinm. r0, r30, 0x10, 0x1f, 0x1f -/* 038530 8003DAD0 57C3843E */ srwi r3, r30, 0x10 -/* 038534 8003DAD4 41820058 */ beq lbl_8003DB2C -/* 038538 8003DAD8 54601E38 */ rlwinm r0, r3, 3, 0x18, 0x1c -/* 03853C 8003DADC 7F9F0214 */ add r28, r31, r0 -/* 038540 8003DAE0 80BC013C */ lwz r5, 0x13c(r28) -/* 038544 8003DAE4 3800FFFF */ li r0, -1 -/* 038548 8003DAE8 809C0138 */ lwz r4, 0x138(r28) -/* 03854C 8003DAEC 38600000 */ li r3, 0 -/* 038550 8003DAF0 7CA00038 */ and r0, r5, r0 -/* 038554 8003DAF4 901C013C */ stw r0, 0x13c(r28) -/* 038558 8003DAF8 7C801838 */ and r0, r4, r3 -/* 03855C 8003DAFC 38A00020 */ li r5, 0x20 -/* 038560 8003DB00 941C0138 */ stwu r0, 0x138(r28) -/* 038564 8003DB04 80810060 */ lwz r4, 0x60(r1) -/* 038568 8003DB08 7C83FE70 */ srawi r3, r4, 0x1f -/* 03856C 8003DB0C 48090239 */ bl __shl2i -/* 038570 8003DB10 801C0004 */ lwz r0, 4(r28) -/* 038574 8003DB14 80BC0000 */ lwz r5, 0(r28) -/* 038578 8003DB18 7C002378 */ or r0, r0, r4 -/* 03857C 8003DB1C 901C0004 */ stw r0, 4(r28) -/* 038580 8003DB20 7CA01B78 */ or r0, r5, r3 -/* 038584 8003DB24 901C0000 */ stw r0, 0(r28) -/* 038588 8003DB28 48000384 */ b lbl_8003DEAC -lbl_8003DB2C: -/* 03858C 8003DB2C 54601E38 */ rlwinm r0, r3, 3, 0x18, 0x1c -/* 038590 8003DB30 80810060 */ lwz r4, 0x60(r1) -/* 038594 8003DB34 7C7F0214 */ add r3, r31, r0 -/* 038598 8003DB38 90830144 */ stw r4, 0x144(r3) -/* 03859C 8003DB3C 48000370 */ b lbl_8003DEAC -.global lbl_8003DB40 -lbl_8003DB40: -/* 0385A0 8003DB40 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0385A4 8003DB44 7C7F0214 */ add r3, r31, r0 -/* 0385A8 8003DB48 57C0043E */ clrlwi r0, r30, 0x10 -/* 0385AC 8003DB4C 80A30044 */ lwz r5, 0x44(r3) -/* 0385B0 8003DB50 7C000734 */ extsh r0, r0 -/* 0385B4 8003DB54 7CC50014 */ addc r6, r5, r0 -/* 0385B8 8003DB58 54C0843E */ srwi r0, r6, 0x10 -/* 0385BC 8003DB5C 7C1D00AE */ lbzx r0, r29, r0 -/* 0385C0 8003DB60 38A10058 */ addi r5, r1, 0x58 -/* 0385C4 8003DB64 5400103A */ slwi r0, r0, 2 -/* 0385C8 8003DB68 7C7C002E */ lwzx r3, r28, r0 -/* 0385CC 8003DB6C 81830018 */ lwz r12, 0x18(r3) -/* 0385D0 8003DB70 80030008 */ lwz r0, 8(r3) -/* 0385D4 8003DB74 7D8803A6 */ mtlr r12 -/* 0385D8 8003DB78 80630004 */ lwz r3, 4(r3) -/* 0385DC 8003DB7C 7C860214 */ add r4, r6, r0 -/* 0385E0 8003DB80 4E800021 */ blrl -/* 0385E4 8003DB84 2C030000 */ cmpwi r3, 0 -/* 0385E8 8003DB88 41820324 */ beq lbl_8003DEAC -/* 0385EC 8003DB8C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0385F0 8003DB90 80810058 */ lwz r4, 0x58(r1) -/* 0385F4 8003DB94 80A1005C */ lwz r5, 0x5c(r1) -/* 0385F8 8003DB98 7C7F0214 */ add r3, r31, r0 -/* 0385FC 8003DB9C 90A30044 */ stw r5, 0x44(r3) -/* 038600 8003DBA0 90830040 */ stw r4, 0x40(r3) -/* 038604 8003DBA4 48000308 */ b lbl_8003DEAC -.global lbl_8003DBA8 -lbl_8003DBA8: -/* 038608 8003DBA8 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 03860C 8003DBAC 7C7F0214 */ add r3, r31, r0 -/* 038610 8003DBB0 57C0043E */ clrlwi r0, r30, 0x10 -/* 038614 8003DBB4 80630044 */ lwz r3, 0x44(r3) -/* 038618 8003DBB8 7C000734 */ extsh r0, r0 -/* 03861C 8003DBBC 7C830214 */ add r4, r3, r0 -/* 038620 8003DBC0 5480843E */ srwi r0, r4, 0x10 -/* 038624 8003DBC4 7C1D00AE */ lbzx r0, r29, r0 -/* 038628 8003DBC8 38A10058 */ addi r5, r1, 0x58 -/* 03862C 8003DBCC 5400103A */ slwi r0, r0, 2 -/* 038630 8003DBD0 7C7C002E */ lwzx r3, r28, r0 -/* 038634 8003DBD4 81830018 */ lwz r12, 0x18(r3) -/* 038638 8003DBD8 80030008 */ lwz r0, 8(r3) -/* 03863C 8003DBDC 7D8803A6 */ mtlr r12 -/* 038640 8003DBE0 80630004 */ lwz r3, 4(r3) -/* 038644 8003DBE4 7C840214 */ add r4, r4, r0 -/* 038648 8003DBE8 4E800021 */ blrl -/* 03864C 8003DBEC 2C030000 */ cmpwi r3, 0 -/* 038650 8003DBF0 418202BC */ beq lbl_8003DEAC -/* 038654 8003DBF4 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 038658 8003DBF8 80810058 */ lwz r4, 0x58(r1) -/* 03865C 8003DBFC 80A1005C */ lwz r5, 0x5c(r1) -/* 038660 8003DC00 7C7F0214 */ add r3, r31, r0 -/* 038664 8003DC04 90A30144 */ stw r5, 0x144(r3) -/* 038668 8003DC08 90830140 */ stw r4, 0x140(r3) -/* 03866C 8003DC0C 480002A0 */ b lbl_8003DEAC -.global lbl_8003DC10 -lbl_8003DC10: -/* 038670 8003DC10 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 038674 8003DC14 7C7F0214 */ add r3, r31, r0 -/* 038678 8003DC18 57C0043E */ clrlwi r0, r30, 0x10 -/* 03867C 8003DC1C 80630044 */ lwz r3, 0x44(r3) -/* 038680 8003DC20 7C000734 */ extsh r0, r0 -/* 038684 8003DC24 7C830214 */ add r4, r3, r0 -/* 038688 8003DC28 5480843E */ srwi r0, r4, 0x10 -/* 03868C 8003DC2C 7C1D00AE */ lbzx r0, r29, r0 -/* 038690 8003DC30 38A10058 */ addi r5, r1, 0x58 -/* 038694 8003DC34 5400103A */ slwi r0, r0, 2 -/* 038698 8003DC38 7C7C002E */ lwzx r3, r28, r0 -/* 03869C 8003DC3C 81830018 */ lwz r12, 0x18(r3) -/* 0386A0 8003DC40 80030008 */ lwz r0, 8(r3) -/* 0386A4 8003DC44 7D8803A6 */ mtlr r12 -/* 0386A8 8003DC48 80630004 */ lwz r3, 4(r3) -/* 0386AC 8003DC4C 7C840214 */ add r4, r4, r0 -/* 0386B0 8003DC50 4E800021 */ blrl -/* 0386B4 8003DC54 2C030000 */ cmpwi r3, 0 -/* 0386B8 8003DC58 41820254 */ beq lbl_8003DEAC -/* 0386BC 8003DC5C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0386C0 8003DC60 80810058 */ lwz r4, 0x58(r1) -/* 0386C4 8003DC64 80A1005C */ lwz r5, 0x5c(r1) -/* 0386C8 8003DC68 7C7F0214 */ add r3, r31, r0 -/* 0386CC 8003DC6C 90A30044 */ stw r5, 0x44(r3) -/* 0386D0 8003DC70 90830040 */ stw r4, 0x40(r3) -/* 0386D4 8003DC74 48000238 */ b lbl_8003DEAC -.global lbl_8003DC78 -lbl_8003DC78: -/* 0386D8 8003DC78 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0386DC 8003DC7C 7EFF0214 */ add r23, r31, r0 -/* 0386E0 8003DC80 84770044 */ lwzu r3, 0x44(r23) -/* 0386E4 8003DC84 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 0386E8 8003DC88 90610060 */ stw r3, 0x60(r1) -/* 0386EC 8003DC8C 7C7F0214 */ add r3, r31, r0 -/* 0386F0 8003DC90 57C0043E */ clrlwi r0, r30, 0x10 -/* 0386F4 8003DC94 80630044 */ lwz r3, 0x44(r3) -/* 0386F8 8003DC98 7C000734 */ extsh r0, r0 -/* 0386FC 8003DC9C 38A10060 */ addi r5, r1, 0x60 -/* 038700 8003DCA0 7C830214 */ add r4, r3, r0 -/* 038704 8003DCA4 5480843E */ srwi r0, r4, 0x10 -/* 038708 8003DCA8 7C1D00AE */ lbzx r0, r29, r0 -/* 03870C 8003DCAC 5400103A */ slwi r0, r0, 2 -/* 038710 8003DCB0 7C7C002E */ lwzx r3, r28, r0 -/* 038714 8003DCB4 81830024 */ lwz r12, 0x24(r3) -/* 038718 8003DCB8 80030008 */ lwz r0, 8(r3) -/* 03871C 8003DCBC 7D8803A6 */ mtlr r12 -/* 038720 8003DCC0 80630004 */ lwz r3, 4(r3) -/* 038724 8003DCC4 7C840214 */ add r4, r4, r0 -/* 038728 8003DCC8 4E800021 */ blrl -/* 03872C 8003DCCC 2C030000 */ cmpwi r3, 0 -/* 038730 8003DCD0 4182000C */ beq lbl_8003DCDC -/* 038734 8003DCD4 38000001 */ li r0, 1 -/* 038738 8003DCD8 48000008 */ b lbl_8003DCE0 -lbl_8003DCDC: -/* 03873C 8003DCDC 38000000 */ li r0, 0 -lbl_8003DCE0: -/* 038740 8003DCE0 90170000 */ stw r0, 0(r23) -/* 038744 8003DCE4 480001C8 */ b lbl_8003DEAC -.global lbl_8003DCE8 -lbl_8003DCE8: -/* 038748 8003DCE8 57C07638 */ rlwinm r0, r30, 0xe, 0x18, 0x1c -/* 03874C 8003DCEC 7C7F0214 */ add r3, r31, r0 -/* 038750 8003DCF0 80830044 */ lwz r4, 0x44(r3) -/* 038754 8003DCF4 57C3043E */ clrlwi r3, r30, 0x10 -/* 038758 8003DCF8 7C630734 */ extsh r3, r3 -/* 03875C 8003DCFC 57C087FF */ rlwinm. r0, r30, 0x10, 0x1f, 0x1f -/* 038760 8003DD00 57C5843E */ srwi r5, r30, 0x10 -/* 038764 8003DD04 7EE41A14 */ add r23, r4, r3 -/* 038768 8003DD08 41820024 */ beq lbl_8003DD2C -/* 03876C 8003DD0C 54A01E38 */ rlwinm r0, r5, 3, 0x18, 0x1c -/* 038770 8003DD10 7C9F0214 */ add r4, r31, r0 -/* 038774 8003DD14 80640138 */ lwz r3, 0x138(r4) -/* 038778 8003DD18 38A00020 */ li r5, 0x20 -/* 03877C 8003DD1C 8084013C */ lwz r4, 0x13c(r4) -/* 038780 8003DD20 48090049 */ bl __shr2u -/* 038784 8003DD24 90810060 */ stw r4, 0x60(r1) -/* 038788 8003DD28 48000014 */ b lbl_8003DD3C -lbl_8003DD2C: -/* 03878C 8003DD2C 54A01E38 */ rlwinm r0, r5, 3, 0x18, 0x1c -/* 038790 8003DD30 7C7F0214 */ add r3, r31, r0 -/* 038794 8003DD34 80030144 */ lwz r0, 0x144(r3) -/* 038798 8003DD38 90010060 */ stw r0, 0x60(r1) -lbl_8003DD3C: -/* 03879C 8003DD3C 56E0843E */ srwi r0, r23, 0x10 -/* 0387A0 8003DD40 7C1D00AE */ lbzx r0, r29, r0 -/* 0387A4 8003DD44 38A10060 */ addi r5, r1, 0x60 -/* 0387A8 8003DD48 5400103A */ slwi r0, r0, 2 -/* 0387AC 8003DD4C 7C7C002E */ lwzx r3, r28, r0 -/* 0387B0 8003DD50 81830024 */ lwz r12, 0x24(r3) -/* 0387B4 8003DD54 80030008 */ lwz r0, 8(r3) -/* 0387B8 8003DD58 7D8803A6 */ mtlr r12 -/* 0387BC 8003DD5C 80630004 */ lwz r3, 4(r3) -/* 0387C0 8003DD60 7C970214 */ add r4, r23, r0 -/* 0387C4 8003DD64 4E800021 */ blrl -/* 0387C8 8003DD68 48000144 */ b lbl_8003DEAC -.global lbl_8003DD6C -lbl_8003DD6C: -/* 0387CC 8003DD6C 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0387D0 8003DD70 7EFF0214 */ add r23, r31, r0 -/* 0387D4 8003DD74 80B70040 */ lwz r5, 0x40(r23) -/* 0387D8 8003DD78 57C0043E */ clrlwi r0, r30, 0x10 -/* 0387DC 8003DD7C 80970044 */ lwz r4, 0x44(r23) -/* 0387E0 8003DD80 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 0387E4 8003DD84 7C000734 */ extsh r0, r0 -/* 0387E8 8003DD88 9081005C */ stw r4, 0x5c(r1) -/* 0387EC 8003DD8C 7C9F1A14 */ add r4, r31, r3 -/* 0387F0 8003DD90 3AF70040 */ addi r23, r23, 0x40 -/* 0387F4 8003DD94 90A10058 */ stw r5, 0x58(r1) -/* 0387F8 8003DD98 38A10058 */ addi r5, r1, 0x58 -/* 0387FC 8003DD9C 80C40044 */ lwz r6, 0x44(r4) -/* 038800 8003DDA0 7CC60014 */ addc r6, r6, r0 -/* 038804 8003DDA4 54C0843E */ srwi r0, r6, 0x10 -/* 038808 8003DDA8 7C1D00AE */ lbzx r0, r29, r0 -/* 03880C 8003DDAC 5400103A */ slwi r0, r0, 2 -/* 038810 8003DDB0 7C7C002E */ lwzx r3, r28, r0 -/* 038814 8003DDB4 81830028 */ lwz r12, 0x28(r3) -/* 038818 8003DDB8 80030008 */ lwz r0, 8(r3) -/* 03881C 8003DDBC 7D8803A6 */ mtlr r12 -/* 038820 8003DDC0 80630004 */ lwz r3, 4(r3) -/* 038824 8003DDC4 7C860214 */ add r4, r6, r0 -/* 038828 8003DDC8 4E800021 */ blrl -/* 03882C 8003DDCC 2C030000 */ cmpwi r3, 0 -/* 038830 8003DDD0 4182000C */ beq lbl_8003DDDC -/* 038834 8003DDD4 38000001 */ li r0, 1 -/* 038838 8003DDD8 48000008 */ b lbl_8003DDE0 -lbl_8003DDDC: -/* 03883C 8003DDDC 38000000 */ li r0, 0 -lbl_8003DDE0: -/* 038840 8003DDE0 90170004 */ stw r0, 4(r23) -/* 038844 8003DDE4 7C00FE70 */ srawi r0, r0, 0x1f -/* 038848 8003DDE8 90170000 */ stw r0, 0(r23) -/* 03884C 8003DDEC 480000C0 */ b lbl_8003DEAC -.global lbl_8003DDF0 -lbl_8003DDF0: -/* 038850 8003DDF0 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 038854 8003DDF4 7C7F0214 */ add r3, r31, r0 -/* 038858 8003DDF8 80830140 */ lwz r4, 0x140(r3) -/* 03885C 8003DDFC 57C0043E */ clrlwi r0, r30, 0x10 -/* 038860 8003DE00 80A30144 */ lwz r5, 0x144(r3) -/* 038864 8003DE04 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 038868 8003DE08 7C7F1A14 */ add r3, r31, r3 -/* 03886C 8003DE0C 90A1005C */ stw r5, 0x5c(r1) -/* 038870 8003DE10 7C000734 */ extsh r0, r0 -/* 038874 8003DE14 38A10058 */ addi r5, r1, 0x58 -/* 038878 8003DE18 90810058 */ stw r4, 0x58(r1) -/* 03887C 8003DE1C 80630044 */ lwz r3, 0x44(r3) -/* 038880 8003DE20 7C830214 */ add r4, r3, r0 -/* 038884 8003DE24 5480843E */ srwi r0, r4, 0x10 -/* 038888 8003DE28 7C1D00AE */ lbzx r0, r29, r0 -/* 03888C 8003DE2C 5400103A */ slwi r0, r0, 2 -/* 038890 8003DE30 7C7C002E */ lwzx r3, r28, r0 -/* 038894 8003DE34 81830028 */ lwz r12, 0x28(r3) -/* 038898 8003DE38 80030008 */ lwz r0, 8(r3) -/* 03889C 8003DE3C 7D8803A6 */ mtlr r12 -/* 0388A0 8003DE40 80630004 */ lwz r3, 4(r3) -/* 0388A4 8003DE44 7C840214 */ add r4, r4, r0 -/* 0388A8 8003DE48 4E800021 */ blrl -/* 0388AC 8003DE4C 48000060 */ b lbl_8003DEAC -.global lbl_8003DE50 -lbl_8003DE50: -/* 0388B0 8003DE50 57C09E38 */ rlwinm r0, r30, 0x13, 0x18, 0x1c -/* 0388B4 8003DE54 7C7F0214 */ add r3, r31, r0 -/* 0388B8 8003DE58 80830040 */ lwz r4, 0x40(r3) -/* 0388BC 8003DE5C 57C0043E */ clrlwi r0, r30, 0x10 -/* 0388C0 8003DE60 80A30044 */ lwz r5, 0x44(r3) -/* 0388C4 8003DE64 57C37638 */ rlwinm r3, r30, 0xe, 0x18, 0x1c -/* 0388C8 8003DE68 7C7F1A14 */ add r3, r31, r3 -/* 0388CC 8003DE6C 90A1005C */ stw r5, 0x5c(r1) -/* 0388D0 8003DE70 7C000734 */ extsh r0, r0 -/* 0388D4 8003DE74 38A10058 */ addi r5, r1, 0x58 -/* 0388D8 8003DE78 90810058 */ stw r4, 0x58(r1) -/* 0388DC 8003DE7C 80630044 */ lwz r3, 0x44(r3) -/* 0388E0 8003DE80 7C830214 */ add r4, r3, r0 -/* 0388E4 8003DE84 5480843E */ srwi r0, r4, 0x10 -/* 0388E8 8003DE88 7C1D00AE */ lbzx r0, r29, r0 -/* 0388EC 8003DE8C 5400103A */ slwi r0, r0, 2 -/* 0388F0 8003DE90 7C7C002E */ lwzx r3, r28, r0 -/* 0388F4 8003DE94 81830028 */ lwz r12, 0x28(r3) -/* 0388F8 8003DE98 80030008 */ lwz r0, 8(r3) -/* 0388FC 8003DE9C 7D8803A6 */ mtlr r12 -/* 038900 8003DEA0 80630004 */ lwz r3, 4(r3) -/* 038904 8003DEA4 7C840214 */ add r4, r4, r0 -/* 038908 8003DEA8 4E800021 */ blrl -.global lbl_8003DEAC -lbl_8003DEAC: -/* 03890C 8003DEAC 387F0000 */ addi r3, r31, 0 -/* 038910 8003DEB0 38810014 */ addi r4, r1, 0x14 -/* 038914 8003DEB4 38B80001 */ addi r5, r24, 1 -/* 038918 8003DEB8 48000051 */ bl cpuExecuteUpdate -/* 03891C 8003DEBC 2C030000 */ cmpwi r3, 0 -/* 038920 8003DEC0 4082000C */ bne lbl_8003DECC -/* 038924 8003DEC4 38600000 */ li r3, 0 -/* 038928 8003DEC8 48000028 */ b lbl_8003DEF0 -lbl_8003DECC: -/* 03892C 8003DECC 2C1B0000 */ cmpwi r27, 0 -/* 038930 8003DED0 4182000C */ beq lbl_8003DEDC -/* 038934 8003DED4 935F013C */ stw r26, 0x13c(r31) -/* 038938 8003DED8 933F0138 */ stw r25, 0x138(r31) -lbl_8003DEDC: -/* 03893C 8003DEDC 3800FFFF */ li r0, -1 -/* 038940 8003DEE0 901F002C */ stw r0, 0x2c(r31) -/* 038944 8003DEE4 480643DD */ bl OSGetTick -/* 038948 8003DEE8 907F0B58 */ stw r3, 0xb58(r31) -/* 03894C 8003DEEC 80610014 */ lwz r3, 0x14(r1) -lbl_8003DEF0: -/* 038950 8003DEF0 BAC10088 */ lmw r22, 0x88(r1) -/* 038954 8003DEF4 800100BC */ lwz r0, 0xbc(r1) -/* 038958 8003DEF8 CBE100B0 */ lfd f31, 0xb0(r1) -/* 03895C 8003DEFC 382100B8 */ addi r1, r1, 0xb8 -/* 038960 8003DF00 7C0803A6 */ mtlr r0 -/* 038964 8003DF04 4E800020 */ blr - -.section .data - -jtbl_800EC258: - .word lbl_8003C690 - .word lbl_8003C6CC - .word lbl_8003C708 - .word lbl_8003C754 - .word lbl_8003C78C - .word lbl_8003C85C - .word lbl_8003C88C - .word lbl_8003C8B0 - .word lbl_8003C8DC - .word lbl_8003C900 - .word lbl_8003C924 - .word lbl_8003C954 - .word lbl_8003C984 - .word lbl_8003C9A0 - .word lbl_8003C9BC - .word lbl_8003C9F0 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003CA24 - .word lbl_8003CA48 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003CA6C - .word lbl_8003CA88 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003CAAC - .word lbl_8003CABC - .word lbl_8003CACC - .word lbl_8003CB1C - .word lbl_8003CB6C - .word lbl_8003CBC8 - .word lbl_8003CC24 - .word lbl_8003CC80 - .word lbl_8003CCDC - .word lbl_8003CCEC - .word lbl_8003CD48 - .word lbl_8003CD98 - .word lbl_8003CDE8 - .word lbl_8003CE44 - .word lbl_8003CEA0 - .word lbl_8003CEFC - -jtbl_800EC358: - .word lbl_8003BEA4 - .word lbl_8003BED0 - .word lbl_8003BEFC - .word lbl_8003BF28 - .word lbl_8003BF54 - .word lbl_8003C030 - .word lbl_8003C078 - .word lbl_8003C094 - .word lbl_8003C0B4 - .word lbl_8003C0D8 - .word lbl_8003C0FC - .word lbl_8003C140 - .word lbl_8003C184 - .word lbl_8003C1A0 - .word lbl_8003C1BC - .word lbl_8003C204 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003C24C - .word lbl_8003C284 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003C2BC - .word lbl_8003C2D8 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003C2FC - .word lbl_8003C30C - .word lbl_8003C31C - .word lbl_8003C35C - .word lbl_8003C39C - .word lbl_8003C3DC - .word lbl_8003C41C - .word lbl_8003C45C - .word lbl_8003C49C - .word lbl_8003C4AC - .word lbl_8003C4EC - .word lbl_8003C52C - .word lbl_8003C56C - .word lbl_8003C5AC - .word lbl_8003C5EC - .word lbl_8003C62C - -jtbl_800EC458: - .word lbl_8003B774 - .word lbl_8003B7A0 - .word lbl_8003B7CC - .word lbl_8003B7F8 - .word lbl_8003B824 - .word lbl_8003B8C8 - .word lbl_8003B8E8 - .word lbl_8003B904 - .word lbl_8003B924 - .word lbl_8003B950 - .word lbl_8003B974 - .word lbl_8003B99C - .word lbl_8003B9C4 - .word lbl_8003B9F4 - .word lbl_8003BA1C - .word lbl_8003BA48 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003BA74 - .word lbl_8003BA94 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003BAB0 - .word lbl_8003BAD8 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003BAFC - .word lbl_8003BB0C - .word lbl_8003BB1C - .word lbl_8003BB5C - .word lbl_8003BB9C - .word lbl_8003BBDC - .word lbl_8003BC1C - .word lbl_8003BC60 - .word lbl_8003BCA4 - .word lbl_8003BCB4 - .word lbl_8003BCF8 - .word lbl_8003BD38 - .word lbl_8003BD78 - .word lbl_8003BDB8 - .word lbl_8003BDF8 - .word lbl_8003BE3C - -jtbl_800EC558: - .word lbl_8003B040 - .word lbl_8003B06C - .word lbl_8003B098 - .word lbl_8003B0C4 - .word lbl_8003B0F0 - .word lbl_8003B198 - .word lbl_8003B1BC - .word lbl_8003B1D8 - .word lbl_8003B1F8 - .word lbl_8003B224 - .word lbl_8003B248 - .word lbl_8003B270 - .word lbl_8003B298 - .word lbl_8003B2C8 - .word lbl_8003B2F0 - .word lbl_8003B31C - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003B348 - .word lbl_8003B364 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003B380 - .word lbl_8003B3A8 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003B3CC - .word lbl_8003B3DC - .word lbl_8003B3EC - .word lbl_8003B42C - .word lbl_8003B46C - .word lbl_8003B4AC - .word lbl_8003B4EC - .word lbl_8003B530 - .word lbl_8003B574 - .word lbl_8003B584 - .word lbl_8003B5C8 - .word lbl_8003B608 - .word lbl_8003B648 - .word lbl_8003B688 - .word lbl_8003B6C8 - .word lbl_8003B70C - -jtbl_800EC658: - .word lbl_8003AD84 - .word lbl_8003ADD4 - .word lbl_8003ADF8 - .word lbl_8003DEAC - .word lbl_8003AE14 - .word lbl_8003AE98 - .word lbl_8003AEBC - -jtbl_800EC674: - .word lbl_8003AC94 - .word lbl_8003ACD8 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003AD0C - .word lbl_8003AD2C - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - -jtbl_800EC698: - .word lbl_8003AC70 - .word lbl_8003A824 - .word lbl_8003A87C - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003A894 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AA30 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003AC70 - .word lbl_8003ABD8 - -jtbl_800EC6FC: - .word lbl_8003A1A8 - .word lbl_8003A1D8 - .word lbl_8003A208 - .word lbl_8003A254 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003A2A0 - .word lbl_8003A2D0 - .word lbl_8003A300 - .word lbl_8003A330 - .word lbl_8003A360 - .word lbl_8003DEAC - .word lbl_8003A390 - .word lbl_8003DEAC - .word lbl_8003A3C0 - .word lbl_8003A400 - .word lbl_8003A440 - .word lbl_8003A498 - -jtbl_800EC74C: - .word lbl_80039680 - .word lbl_8003DEAC - .word lbl_800396A4 - .word lbl_800396C8 - .word lbl_800396EC - .word lbl_8003DEAC - .word lbl_8003971C - .word lbl_8003974C - .word lbl_8003977C - .word lbl_80039790 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_800397C0 - .word lbl_800397D4 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_800397E8 - .word lbl_80039804 - .word lbl_80039820 - .word lbl_8003983C - .word lbl_80039858 - .word lbl_8003DEAC - .word lbl_80039894 - .word lbl_800398D0 - .word lbl_8003990C - .word lbl_80039984 - .word lbl_800399F8 - .word lbl_80039A50 - .word lbl_80039AA8 - .word lbl_80039B24 - .word lbl_80039BA0 - .word lbl_80039C08 - .word lbl_80039C70 - .word lbl_80039C9C - .word lbl_80039CC8 - .word lbl_80039CF4 - .word lbl_80039D20 - .word lbl_80039D4C - .word lbl_80039D78 - .word lbl_80039DA4 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_80039DD0 - .word lbl_80039E0C - .word lbl_80039E48 - .word lbl_80039E84 - .word lbl_80039EC0 - .word lbl_80039EFC - .word lbl_80039F38 - .word lbl_80039F6C - .word lbl_80039FA0 - .word lbl_80039FD4 - .word lbl_8003A008 - .word lbl_8003DEAC - .word lbl_8003A03C - .word lbl_8003DEAC - .word lbl_8003A070 - .word lbl_8003DEAC - .word lbl_8003A09C - .word lbl_8003A0C8 - .word lbl_8003A0F4 - .word lbl_8003DEAC - .word lbl_8003A124 - .word lbl_8003A154 - -jtbl_800EC84C: - .word lbl_8003965C - .word lbl_8003A184 - .word lbl_8003A4F0 - .word lbl_8003A558 - .word lbl_8003A58C - .word lbl_8003A61C - .word lbl_8003A658 - .word lbl_8003A688 - .word lbl_8003A6B8 - .word lbl_8003A6E0 - .word lbl_8003A708 - .word lbl_8003A740 - .word lbl_8003A778 - .word lbl_8003A79C - .word lbl_8003A7C0 - .word lbl_8003A7E4 - .word lbl_8003A800 - .word lbl_8003AD4C - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003CF58 - .word lbl_8003CFB0 - .word lbl_8003D008 - .word lbl_8003D054 - .word lbl_8003D0A0 - .word lbl_8003D0D8 - .word lbl_8003D138 - .word lbl_8003D210 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003D110 - .word lbl_8003D350 - .word lbl_8003D3B4 - .word lbl_8003D414 - .word lbl_8003D4A8 - .word lbl_8003D508 - .word lbl_8003D568 - .word lbl_8003D5F8 - .word lbl_8003D2E8 - .word lbl_8003D68C - .word lbl_8003D6DC - .word lbl_8003D72C - .word lbl_8003D79C - .word lbl_8003D7EC - .word lbl_8003D86C - .word lbl_8003D8EC - .word lbl_8003D95C - .word lbl_8003DA20 - .word lbl_8003DA80 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DB40 - .word lbl_8003DBA8 - .word lbl_8003DEAC - .word lbl_8003DC10 - .word lbl_8003DC78 - .word lbl_8003DCE8 - .word lbl_8003DEAC - .word lbl_8003DEAC - .word lbl_8003DD6C - .word lbl_8003DDF0 - .word lbl_8003DEAC - .word lbl_8003DE50 diff --git a/asm/non_matchings/cpu/cpuExecuteUpdate.s b/asm/non_matchings/cpu/cpuExecuteUpdate.s deleted file mode 100644 index 7e7d2220..00000000 --- a/asm/non_matchings/cpu/cpuExecuteUpdate.s +++ /dev/null @@ -1,214 +0,0 @@ -glabel cpuExecuteUpdate -/* 038968 8003DF08 7C0802A6 */ mflr r0 -/* 03896C 8003DF0C 90010004 */ stw r0, 4(r1) -/* 038970 8003DF10 9421FFC8 */ stwu r1, -0x38(r1) -/* 038974 8003DF14 BF610024 */ stmw r27, 0x24(r1) -/* 038978 8003DF18 7C7C1B78 */ mr r28, r3 -/* 03897C 8003DF1C 3BA40000 */ addi r29, r4, 0 -/* 038980 8003DF20 3BC50000 */ addi r30, r5, 0 -/* 038984 8003DF24 83E30008 */ lwz r31, 8(r3) -/* 038988 8003DF28 807F0030 */ lwz r3, 0x30(r31) -/* 03898C 8003DF2C 4802F905 */ bl romUpdate -/* 038990 8003DF30 2C030000 */ cmpwi r3, 0 -/* 038994 8003DF34 4082000C */ bne lbl_8003DF40 -/* 038998 8003DF38 38600000 */ li r3, 0 -/* 03899C 8003DF3C 480002B4 */ b lbl_8003E1F0 -lbl_8003DF40: -/* 0389A0 8003DF40 801F0020 */ lwz r0, 0x20(r31) -/* 0389A4 8003DF44 2C00000B */ cmpwi r0, 0xb -/* 0389A8 8003DF48 40820024 */ bne lbl_8003DF6C -/* 0389AC 8003DF4C 801F0008 */ lwz r0, 8(r31) -/* 0389B0 8003DF50 2C000000 */ cmpwi r0, 0 -/* 0389B4 8003DF54 4182000C */ beq lbl_8003DF60 -/* 0389B8 8003DF58 38000000 */ li r0, 0 -/* 0389BC 8003DF5C 48000008 */ b lbl_8003DF64 -lbl_8003DF60: -/* 0389C0 8003DF60 38000001 */ li r0, 1 -lbl_8003DF64: -/* 0389C4 8003DF64 7C040378 */ mr r4, r0 -/* 0389C8 8003DF68 4800003C */ b lbl_8003DFA4 -lbl_8003DF6C: -/* 0389CC 8003DF6C 801C0000 */ lwz r0, 0(r28) -/* 0389D0 8003DF70 38600000 */ li r3, 0 -/* 0389D4 8003DF74 54000631 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 0389D8 8003DF78 41820014 */ beq lbl_8003DF8C -/* 0389DC 8003DF7C 801F0008 */ lwz r0, 8(r31) -/* 0389E0 8003DF80 2C000000 */ cmpwi r0, 0 -/* 0389E4 8003DF84 40820008 */ bne lbl_8003DF8C -/* 0389E8 8003DF88 38600001 */ li r3, 1 -lbl_8003DF8C: -/* 0389EC 8003DF8C 2C030000 */ cmpwi r3, 0 -/* 0389F0 8003DF90 4182000C */ beq lbl_8003DF9C -/* 0389F4 8003DF94 38000001 */ li r0, 1 -/* 0389F8 8003DF98 48000008 */ b lbl_8003DFA0 -lbl_8003DF9C: -/* 0389FC 8003DF9C 38000000 */ li r0, 0 -lbl_8003DFA0: -/* 038A00 8003DFA0 7C040378 */ mr r4, r0 -lbl_8003DFA4: -/* 038A04 8003DFA4 807F0034 */ lwz r3, 0x34(r31) -/* 038A08 8003DFA8 48033DE5 */ bl rspUpdate -/* 038A0C 8003DFAC 2C030000 */ cmpwi r3, 0 -/* 038A10 8003DFB0 4082000C */ bne lbl_8003DFBC -/* 038A14 8003DFB4 38600000 */ li r3, 0 -/* 038A18 8003DFB8 48000238 */ b lbl_8003E1F0 -lbl_8003DFBC: -/* 038A1C 8003DFBC 3C7C0001 */ addis r3, r28, 1 -/* 038A20 8003DFC0 836312A0 */ lwz r27, 0x12a0(r3) -/* 038A24 8003DFC4 7F83E378 */ mr r3, r28 -/* 038A28 8003DFC8 4BFF3785 */ bl treeTimerCheck -/* 038A2C 8003DFCC 807C0B5C */ lwz r3, 0xb5c(r28) -/* 038A30 8003DFD0 801C0B60 */ lwz r0, 0xb60(r28) -/* 038A34 8003DFD4 7C030040 */ cmplw r3, r0 -/* 038A38 8003DFD8 40820048 */ bne lbl_8003E020 -/* 038A3C 8003DFDC 801B0074 */ lwz r0, 0x74(r27) -/* 038A40 8003DFE0 2C00000C */ cmpwi r0, 0xc -/* 038A44 8003DFE4 4080003C */ bge lbl_8003E020 -/* 038A48 8003DFE8 387C0000 */ addi r3, r28, 0 -/* 038A4C 8003DFEC 389B0070 */ addi r4, r27, 0x70 -/* 038A50 8003DFF0 4BFF3871 */ bl treeKillReason -/* 038A54 8003DFF4 2C030000 */ cmpwi r3, 0 -/* 038A58 8003DFF8 41820010 */ beq lbl_8003E008 -/* 038A5C 8003DFFC 807C003C */ lwz r3, 0x3c(r28) -/* 038A60 8003E000 38030001 */ addi r0, r3, 1 -/* 038A64 8003E004 901C003C */ stw r0, 0x3c(r28) -lbl_8003E008: -/* 038A68 8003E008 801B0070 */ lwz r0, 0x70(r27) -/* 038A6C 8003E00C 2C000000 */ cmpwi r0, 0 -/* 038A70 8003E010 41820010 */ beq lbl_8003E020 -/* 038A74 8003E014 387C0000 */ addi r3, r28, 0 -/* 038A78 8003E018 389B0000 */ addi r4, r27, 0 -/* 038A7C 8003E01C 4BFF3601 */ bl treeCleanUp -lbl_8003E020: -/* 038A80 8003E020 801C0B58 */ lwz r0, 0xb58(r28) -/* 038A84 8003E024 7C1E0040 */ cmplw r30, r0 -/* 038A88 8003E028 4081003C */ ble lbl_8003E064 -/* 038A8C 8003E02C 806D8180 */ lwz r3, nTickMultiplier@sda21(r13) -/* 038A90 8003E030 7C80F050 */ subf r4, r0, r30 -/* 038A94 8003E034 3C004330 */ lis r0, 0x4330 -/* 038A98 8003E038 C82282C8 */ lfd f1, D_80135FC8@sda21(r2) -/* 038A9C 8003E03C 7C831830 */ slw r3, r4, r3 -/* 038AA0 8003E040 9061001C */ stw r3, 0x1c(r1) -/* 038AA4 8003E044 C04D8184 */ lfs f2, fTickScale@sda21(r13) -/* 038AA8 8003E048 90010018 */ stw r0, 0x18(r1) -/* 038AAC 8003E04C C8010018 */ lfd f0, 0x18(r1) -/* 038AB0 8003E050 EC000828 */ fsubs f0, f0, f1 -/* 038AB4 8003E054 EC220032 */ fmuls f1, f2, f0 -/* 038AB8 8003E058 4808F87D */ bl __cvt_fp2unsigned -/* 038ABC 8003E05C 7C7E1B78 */ mr r30, r3 -/* 038AC0 8003E060 4800003C */ b lbl_8003E09C -lbl_8003E064: -/* 038AC4 8003E064 2060FFFF */ subfic r3, r0, -1 -/* 038AC8 8003E068 800D8180 */ lwz r0, nTickMultiplier@sda21(r13) -/* 038ACC 8003E06C 7C63F214 */ add r3, r3, r30 -/* 038AD0 8003E070 C82282C8 */ lfd f1, D_80135FC8@sda21(r2) -/* 038AD4 8003E074 7C600030 */ slw r0, r3, r0 -/* 038AD8 8003E078 C04D8184 */ lfs f2, fTickScale@sda21(r13) -/* 038ADC 8003E07C 9001001C */ stw r0, 0x1c(r1) -/* 038AE0 8003E080 3C004330 */ lis r0, 0x4330 -/* 038AE4 8003E084 90010018 */ stw r0, 0x18(r1) -/* 038AE8 8003E088 C8010018 */ lfd f0, 0x18(r1) -/* 038AEC 8003E08C EC000828 */ fsubs f0, f0, f1 -/* 038AF0 8003E090 EC220032 */ fmuls f1, f2, f0 -/* 038AF4 8003E094 4808F841 */ bl __cvt_fp2unsigned -/* 038AF8 8003E098 7C7E1B78 */ mr r30, r3 -lbl_8003E09C: -/* 038AFC 8003E09C 801C0000 */ lwz r0, 0(r28) -/* 038B00 8003E0A0 54000673 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 038B04 8003E0A4 4182005C */ beq lbl_8003E100 -/* 038B08 8003E0A8 807C0B60 */ lwz r3, 0xb60(r28) -/* 038B0C 8003E0AC 801C0B5C */ lwz r0, 0xb5c(r28) -/* 038B10 8003E0B0 7C030040 */ cmplw r3, r0 -/* 038B14 8003E0B4 4182004C */ beq lbl_8003E100 -/* 038B18 8003E0B8 807F0050 */ lwz r3, 0x50(r31) -/* 038B1C 8003E0BC 38800001 */ li r4, 1 -/* 038B20 8003E0C0 48050935 */ bl videoForceRetrace -/* 038B24 8003E0C4 2C030000 */ cmpwi r3, 0 -/* 038B28 8003E0C8 41820038 */ beq lbl_8003E100 -/* 038B2C 8003E0CC 807C0B60 */ lwz r3, 0xb60(r28) -/* 038B30 8003E0D0 801C0B5C */ lwz r0, 0xb5c(r28) -/* 038B34 8003E0D4 7C030051 */ subf. r0, r3, r0 -/* 038B38 8003E0D8 40800008 */ bge lbl_8003E0E0 -/* 038B3C 8003E0DC 7C0000D0 */ neg r0, r0 -lbl_8003E0E0: -/* 038B40 8003E0E0 2C000004 */ cmpwi r0, 4 -/* 038B44 8003E0E4 40800014 */ bge lbl_8003E0F8 -/* 038B48 8003E0E8 807C0B60 */ lwz r3, 0xb60(r28) -/* 038B4C 8003E0EC 38030001 */ addi r0, r3, 1 -/* 038B50 8003E0F0 901C0B60 */ stw r0, 0xb60(r28) -/* 038B54 8003E0F4 4800000C */ b lbl_8003E100 -lbl_8003E0F8: -/* 038B58 8003E0F8 801C0B5C */ lwz r0, 0xb5c(r28) -/* 038B5C 8003E0FC 901C0B60 */ stw r0, 0xb60(r28) -lbl_8003E100: -/* 038B60 8003E100 801C0000 */ lwz r0, 0(r28) -/* 038B64 8003E104 540007FF */ clrlwi. r0, r0, 0x1f -/* 038B68 8003E108 41820058 */ beq lbl_8003E160 -/* 038B6C 8003E10C 809C0A8C */ lwz r4, 0xa8c(r28) -/* 038B70 8003E110 807C0A9C */ lwz r3, 0xa9c(r28) -/* 038B74 8003E114 7C041840 */ cmplw r4, r3 -/* 038B78 8003E118 41810010 */ bgt lbl_8003E128 -/* 038B7C 8003E11C 7C04F214 */ add r0, r4, r30 -/* 038B80 8003E120 7C001840 */ cmplw r0, r3 -/* 038B84 8003E124 40800020 */ bge lbl_8003E144 -lbl_8003E128: -/* 038B88 8003E128 7C041840 */ cmplw r4, r3 -/* 038B8C 8003E12C 41800034 */ blt lbl_8003E160 -/* 038B90 8003E130 7C04F214 */ add r0, r4, r30 -/* 038B94 8003E134 7C001840 */ cmplw r0, r3 -/* 038B98 8003E138 41800028 */ blt lbl_8003E160 -/* 038B9C 8003E13C 281E0000 */ cmplwi r30, 0 -/* 038BA0 8003E140 40800020 */ bge lbl_8003E160 -lbl_8003E144: -/* 038BA4 8003E144 801C0000 */ lwz r0, 0(r28) -/* 038BA8 8003E148 38801000 */ li r4, 0x1000 -/* 038BAC 8003E14C 38A00003 */ li r5, 3 -/* 038BB0 8003E150 5400003C */ rlwinm r0, r0, 0, 0, 0x1e -/* 038BB4 8003E154 901C0000 */ stw r0, 0(r28) -/* 038BB8 8003E158 807C0008 */ lwz r3, 8(r28) -/* 038BBC 8003E15C 4BFC9B11 */ bl xlObjectEvent -lbl_8003E160: -/* 038BC0 8003E160 801C0A8C */ lwz r0, 0xa8c(r28) -/* 038BC4 8003E164 38600000 */ li r3, 0 -/* 038BC8 8003E168 809C0A88 */ lwz r4, 0xa88(r28) -/* 038BCC 8003E16C 7C00F014 */ addc r0, r0, r30 -/* 038BD0 8003E170 901C0A8C */ stw r0, 0xa8c(r28) -/* 038BD4 8003E174 7C041914 */ adde r0, r4, r3 -/* 038BD8 8003E178 901C0A88 */ stw r0, 0xa88(r28) -/* 038BDC 8003E17C 807C0000 */ lwz r3, 0(r28) -/* 038BE0 8003E180 54600739 */ rlwinm. r0, r3, 0, 0x1c, 0x1c -/* 038BE4 8003E184 41820030 */ beq lbl_8003E1B4 -/* 038BE8 8003E188 5460077B */ rlwinm. r0, r3, 0, 0x1d, 0x1d -/* 038BEC 8003E18C 40820028 */ bne lbl_8003E1B4 -/* 038BF0 8003E190 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 038BF4 8003E194 80030008 */ lwz r0, 8(r3) -/* 038BF8 8003E198 2C000000 */ cmpwi r0, 0 -/* 038BFC 8003E19C 41820018 */ beq lbl_8003E1B4 -/* 038C00 8003E1A0 4BFEF185 */ bl systemCheckInterrupts -/* 038C04 8003E1A4 2C030000 */ cmpwi r3, 0 -/* 038C08 8003E1A8 4082000C */ bne lbl_8003E1B4 -/* 038C0C 8003E1AC 38600000 */ li r3, 0 -/* 038C10 8003E1B0 48000040 */ b lbl_8003E1F0 -lbl_8003E1B4: -/* 038C14 8003E1B4 807C0000 */ lwz r3, 0(r28) -/* 038C18 8003E1B8 5460077B */ rlwinm. r0, r3, 0, 0x1d, 0x1d -/* 038C1C 8003E1BC 41820030 */ beq lbl_8003E1EC -/* 038C20 8003E1C0 3800FF7B */ li r0, -133 -/* 038C24 8003E1C4 7C600038 */ and r0, r3, r0 -/* 038C28 8003E1C8 901C0000 */ stw r0, 0(r28) -/* 038C2C 8003E1CC 387C0000 */ addi r3, r28, 0 -/* 038C30 8003E1D0 38BD0000 */ addi r5, r29, 0 -/* 038C34 8003E1D4 809C0028 */ lwz r4, 0x28(r28) -/* 038C38 8003E1D8 48000301 */ bl cpuFindAddress -/* 038C3C 8003E1DC 2C030000 */ cmpwi r3, 0 -/* 038C40 8003E1E0 4082000C */ bne lbl_8003E1EC -/* 038C44 8003E1E4 38600000 */ li r3, 0 -/* 038C48 8003E1E8 48000008 */ b lbl_8003E1F0 -lbl_8003E1EC: -/* 038C4C 8003E1EC 38600001 */ li r3, 1 -lbl_8003E1F0: -/* 038C50 8003E1F0 BB610024 */ lmw r27, 0x24(r1) -/* 038C54 8003E1F4 8001003C */ lwz r0, 0x3c(r1) -/* 038C58 8003E1F8 38210038 */ addi r1, r1, 0x38 -/* 038C5C 8003E1FC 7C0803A6 */ mtlr r0 -/* 038C60 8003E200 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuFindAddress.s b/asm/non_matchings/cpu/cpuFindAddress.s deleted file mode 100644 index d9a84093..00000000 --- a/asm/non_matchings/cpu/cpuFindAddress.s +++ /dev/null @@ -1,324 +0,0 @@ -glabel cpuFindAddress -/* 038F38 8003E4D8 7C0802A6 */ mflr r0 -/* 038F3C 8003E4DC 90010004 */ stw r0, 4(r1) -/* 038F40 8003E4E0 9421FFC8 */ stwu r1, -0x38(r1) -/* 038F44 8003E4E4 93E10034 */ stw r31, 0x34(r1) -/* 038F48 8003E4E8 3BE50000 */ addi r31, r5, 0 -/* 038F4C 8003E4EC 93C10030 */ stw r30, 0x30(r1) -/* 038F50 8003E4F0 3BC40000 */ addi r30, r4, 0 -/* 038F54 8003E4F4 93A1002C */ stw r29, 0x2c(r1) -/* 038F58 8003E4F8 7C7D1B78 */ mr r29, r3 -/* 038F5C 8003E4FC 80630000 */ lwz r3, 0(r3) -/* 038F60 8003E500 546006B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a -/* 038F64 8003E504 4182000C */ beq lbl_8003E510 -/* 038F68 8003E508 546006F2 */ rlwinm r0, r3, 0, 0x1b, 0x19 -/* 038F6C 8003E50C 901D0000 */ stw r0, 0(r29) -lbl_8003E510: -/* 038F70 8003E510 387D0000 */ addi r3, r29, 0 -/* 038F74 8003E514 389E0000 */ addi r4, r30, 0 -/* 038F78 8003E518 38BF0000 */ addi r5, r31, 0 -/* 038F7C 8003E51C 4BFF7ECD */ bl cpuFindCachedAddress -/* 038F80 8003E520 2C030000 */ cmpwi r3, 0 -/* 038F84 8003E524 4182000C */ beq lbl_8003E530 -/* 038F88 8003E528 38600001 */ li r3, 1 -/* 038F8C 8003E52C 4800042C */ b lbl_8003E958 -lbl_8003E530: -/* 038F90 8003E530 801D0034 */ lwz r0, 0x34(r29) -/* 038F94 8003E534 28000000 */ cmplwi r0, 0 -/* 038F98 8003E538 90010018 */ stw r0, 0x18(r1) -/* 038F9C 8003E53C 41820020 */ beq lbl_8003E55C -/* 038FA0 8003E540 80610018 */ lwz r3, 0x18(r1) -/* 038FA4 8003E544 80030010 */ lwz r0, 0x10(r3) -/* 038FA8 8003E548 7C1E0000 */ cmpw r30, r0 -/* 038FAC 8003E54C 41800010 */ blt lbl_8003E55C -/* 038FB0 8003E550 80030014 */ lwz r0, 0x14(r3) -/* 038FB4 8003E554 7C00F000 */ cmpw r0, r30 -/* 038FB8 8003E558 40800024 */ bge lbl_8003E57C -lbl_8003E55C: -/* 038FBC 8003E55C 387D0000 */ addi r3, r29, 0 -/* 038FC0 8003E560 38BE0000 */ addi r5, r30, 0 -/* 038FC4 8003E564 38810018 */ addi r4, r1, 0x18 -/* 038FC8 8003E568 4800040D */ bl cpuMakeFunction -/* 038FCC 8003E56C 2C030000 */ cmpwi r3, 0 -/* 038FD0 8003E570 4082000C */ bne lbl_8003E57C -/* 038FD4 8003E574 38600000 */ li r3, 0 -/* 038FD8 8003E578 480003E0 */ b lbl_8003E958 -lbl_8003E57C: -/* 038FDC 8003E57C 80A10018 */ lwz r5, 0x18(r1) -/* 038FE0 8003E580 38C00000 */ li r6, 0 -/* 038FE4 8003E584 38600000 */ li r3, 0 -/* 038FE8 8003E588 80050008 */ lwz r0, 8(r5) -/* 038FEC 8003E58C 2C000000 */ cmpwi r0, 0 -/* 038FF0 8003E590 7C0903A6 */ mtctr r0 -/* 038FF4 8003E594 408101A0 */ ble lbl_8003E734 -lbl_8003E598: -/* 038FF8 8003E598 8085000C */ lwz r4, 0xc(r5) -/* 038FFC 8003E59C 38030004 */ addi r0, r3, 4 -/* 039000 8003E5A0 7C04002E */ lwzx r0, r4, r0 -/* 039004 8003E5A4 7C1E0000 */ cmpw r30, r0 -/* 039008 8003E5A8 40820180 */ bne lbl_8003E728 -/* 03900C 8003E5AC 54C01838 */ slwi r0, r6, 3 -/* 039010 8003E5B0 80650004 */ lwz r3, 4(r5) -/* 039014 8003E5B4 7C04002E */ lwzx r0, r4, r0 -/* 039018 8003E5B8 5400103A */ slwi r0, r0, 2 -/* 03901C 8003E5BC 7C030214 */ add r0, r3, r0 -/* 039020 8003E5C0 901F0000 */ stw r0, 0(r31) -/* 039024 8003E5C4 80610018 */ lwz r3, 0x18(r1) -/* 039028 8003E5C8 84030028 */ lwzu r0, 0x28(r3) -/* 03902C 8003E5CC 2C000000 */ cmpwi r0, 0 -/* 039030 8003E5D0 4081000C */ ble lbl_8003E5DC -/* 039034 8003E5D4 801D003C */ lwz r0, 0x3c(r29) -/* 039038 8003E5D8 90030000 */ stw r0, 0(r3) -lbl_8003E5DC: -/* 03903C 8003E5DC 80BD0020 */ lwz r5, 0x20(r29) -/* 039040 8003E5E0 3C9D0001 */ addis r4, r29, 1 -/* 039044 8003E5E4 80E10018 */ lwz r7, 0x18(r1) -/* 039048 8003E5E8 388412A4 */ addi r4, r4, 0x12a4 -/* 03904C 8003E5EC 2C050100 */ cmpwi r5, 0x100 -/* 039050 8003E5F0 80DF0000 */ lwz r6, 0(r31) -/* 039054 8003E5F4 4082000C */ bne lbl_8003E600 -/* 039058 8003E5F8 38A5FFFF */ addi r5, r5, -1 -/* 03905C 8003E5FC 48000344 */ b lbl_8003E940 -lbl_8003E600: -/* 039060 8003E600 38050001 */ addi r0, r5, 1 -/* 039064 8003E604 901D0020 */ stw r0, 0x20(r29) -/* 039068 8003E608 48000338 */ b lbl_8003E940 -lbl_8003E60C: -/* 03906C 8003E60C 2C050000 */ cmpwi r5, 0 -/* 039070 8003E610 40810104 */ ble lbl_8003E714 -/* 039074 8003E614 54A0E8FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f -/* 039078 8003E618 7C0903A6 */ mtctr r0 -/* 03907C 8003E61C 418200D4 */ beq lbl_8003E6F0 -lbl_8003E620: -/* 039080 8003E620 8068FFF4 */ lwz r3, -0xc(r8) -/* 039084 8003E624 8008FFF8 */ lwz r0, -8(r8) -/* 039088 8003E628 90680000 */ stw r3, 0(r8) -/* 03908C 8003E62C 90080004 */ stw r0, 4(r8) -/* 039090 8003E630 8008FFFC */ lwz r0, -4(r8) -/* 039094 8003E634 90080008 */ stw r0, 8(r8) -/* 039098 8003E638 8068FFE8 */ lwz r3, -0x18(r8) -/* 03909C 8003E63C 8008FFEC */ lwz r0, -0x14(r8) -/* 0390A0 8003E640 9068FFF4 */ stw r3, -0xc(r8) -/* 0390A4 8003E644 9008FFF8 */ stw r0, -8(r8) -/* 0390A8 8003E648 8008FFF0 */ lwz r0, -0x10(r8) -/* 0390AC 8003E64C 9008FFFC */ stw r0, -4(r8) -/* 0390B0 8003E650 8068FFDC */ lwz r3, -0x24(r8) -/* 0390B4 8003E654 8008FFE0 */ lwz r0, -0x20(r8) -/* 0390B8 8003E658 9068FFE8 */ stw r3, -0x18(r8) -/* 0390BC 8003E65C 9008FFEC */ stw r0, -0x14(r8) -/* 0390C0 8003E660 8008FFE4 */ lwz r0, -0x1c(r8) -/* 0390C4 8003E664 9008FFF0 */ stw r0, -0x10(r8) -/* 0390C8 8003E668 8068FFD0 */ lwz r3, -0x30(r8) -/* 0390CC 8003E66C 8008FFD4 */ lwz r0, -0x2c(r8) -/* 0390D0 8003E670 9068FFDC */ stw r3, -0x24(r8) -/* 0390D4 8003E674 9008FFE0 */ stw r0, -0x20(r8) -/* 0390D8 8003E678 8008FFD8 */ lwz r0, -0x28(r8) -/* 0390DC 8003E67C 9008FFE4 */ stw r0, -0x1c(r8) -/* 0390E0 8003E680 8068FFC4 */ lwz r3, -0x3c(r8) -/* 0390E4 8003E684 8008FFC8 */ lwz r0, -0x38(r8) -/* 0390E8 8003E688 9068FFD0 */ stw r3, -0x30(r8) -/* 0390EC 8003E68C 9008FFD4 */ stw r0, -0x2c(r8) -/* 0390F0 8003E690 8008FFCC */ lwz r0, -0x34(r8) -/* 0390F4 8003E694 9008FFD8 */ stw r0, -0x28(r8) -/* 0390F8 8003E698 8068FFB8 */ lwz r3, -0x48(r8) -/* 0390FC 8003E69C 8008FFBC */ lwz r0, -0x44(r8) -/* 039100 8003E6A0 9068FFC4 */ stw r3, -0x3c(r8) -/* 039104 8003E6A4 9008FFC8 */ stw r0, -0x38(r8) -/* 039108 8003E6A8 8008FFC0 */ lwz r0, -0x40(r8) -/* 03910C 8003E6AC 9008FFCC */ stw r0, -0x34(r8) -/* 039110 8003E6B0 8068FFAC */ lwz r3, -0x54(r8) -/* 039114 8003E6B4 8008FFB0 */ lwz r0, -0x50(r8) -/* 039118 8003E6B8 9068FFB8 */ stw r3, -0x48(r8) -/* 03911C 8003E6BC 9008FFBC */ stw r0, -0x44(r8) -/* 039120 8003E6C0 8008FFB4 */ lwz r0, -0x4c(r8) -/* 039124 8003E6C4 9008FFC0 */ stw r0, -0x40(r8) -/* 039128 8003E6C8 8068FFA0 */ lwz r3, -0x60(r8) -/* 03912C 8003E6CC 8008FFA4 */ lwz r0, -0x5c(r8) -/* 039130 8003E6D0 9068FFAC */ stw r3, -0x54(r8) -/* 039134 8003E6D4 9008FFB0 */ stw r0, -0x50(r8) -/* 039138 8003E6D8 8008FFA8 */ lwz r0, -0x58(r8) -/* 03913C 8003E6DC 9008FFB4 */ stw r0, -0x4c(r8) -/* 039140 8003E6E0 3908FFA0 */ addi r8, r8, -96 -/* 039144 8003E6E4 4200FF3C */ bdnz lbl_8003E620 -/* 039148 8003E6E8 70A50007 */ andi. r5, r5, 7 -/* 03914C 8003E6EC 41820028 */ beq lbl_8003E714 -lbl_8003E6F0: -/* 039150 8003E6F0 7CA903A6 */ mtctr r5 -lbl_8003E6F4: -/* 039154 8003E6F4 8068FFF4 */ lwz r3, -0xc(r8) -/* 039158 8003E6F8 8008FFF8 */ lwz r0, -8(r8) -/* 03915C 8003E6FC 90680000 */ stw r3, 0(r8) -/* 039160 8003E700 90080004 */ stw r0, 4(r8) -/* 039164 8003E704 8008FFFC */ lwz r0, -4(r8) -/* 039168 8003E708 90080008 */ stw r0, 8(r8) -/* 03916C 8003E70C 3908FFF4 */ addi r8, r8, -12 -/* 039170 8003E710 4200FFE4 */ bdnz lbl_8003E6F4 -lbl_8003E714: -/* 039174 8003E714 93C40000 */ stw r30, 0(r4) -/* 039178 8003E718 38600001 */ li r3, 1 -/* 03917C 8003E71C 90C40004 */ stw r6, 4(r4) -/* 039180 8003E720 90E40008 */ stw r7, 8(r4) -/* 039184 8003E724 48000234 */ b lbl_8003E958 -lbl_8003E728: -/* 039188 8003E728 38630008 */ addi r3, r3, 8 -/* 03918C 8003E72C 38C60001 */ addi r6, r6, 1 -/* 039190 8003E730 4200FE68 */ bdnz lbl_8003E598 -lbl_8003E734: -/* 039194 8003E734 3C7D0001 */ addis r3, r29, 1 -/* 039198 8003E738 3C002000 */ lis r0, 0x2000 -/* 03919C 8003E73C 90032058 */ stw r0, 0x2058(r3) -/* 0391A0 8003E740 38800000 */ li r4, 0 -/* 0391A4 8003E744 38000021 */ li r0, 0x21 -/* 0391A8 8003E748 9083205C */ stw r4, 0x205c(r3) -/* 0391AC 8003E74C 80610018 */ lwz r3, 0x18(r1) -/* 0391B0 8003E750 90030020 */ stw r0, 0x20(r3) -/* 0391B4 8003E754 90810020 */ stw r4, 0x20(r1) -/* 0391B8 8003E758 80610018 */ lwz r3, 0x18(r1) -/* 0391BC 8003E75C 80030010 */ lwz r0, 0x10(r3) -/* 0391C0 8003E760 7C00F000 */ cmpw r0, r30 -/* 0391C4 8003E764 41820008 */ beq lbl_8003E76C -/* 0391C8 8003E768 90830028 */ stw r4, 0x28(r3) -lbl_8003E76C: -/* 0391CC 8003E76C 80610018 */ lwz r3, 0x18(r1) -/* 0391D0 8003E770 80030010 */ lwz r0, 0x10(r3) -/* 0391D4 8003E774 9001001C */ stw r0, 0x1c(r1) -/* 0391D8 8003E778 480001AC */ b lbl_8003E924 -lbl_8003E77C: -/* 0391DC 8003E77C 7C03F000 */ cmpw r3, r30 -/* 0391E0 8003E780 4082017C */ bne lbl_8003E8FC -/* 0391E4 8003E784 80010020 */ lwz r0, 0x20(r1) -/* 0391E8 8003E788 80650004 */ lwz r3, 4(r5) -/* 0391EC 8003E78C 5400103A */ slwi r0, r0, 2 -/* 0391F0 8003E790 7C030214 */ add r0, r3, r0 -/* 0391F4 8003E794 901F0000 */ stw r0, 0(r31) -/* 0391F8 8003E798 80610018 */ lwz r3, 0x18(r1) -/* 0391FC 8003E79C 84030028 */ lwzu r0, 0x28(r3) -/* 039200 8003E7A0 2C000000 */ cmpwi r0, 0 -/* 039204 8003E7A4 4081000C */ ble lbl_8003E7B0 -/* 039208 8003E7A8 801D003C */ lwz r0, 0x3c(r29) -/* 03920C 8003E7AC 90030000 */ stw r0, 0(r3) -lbl_8003E7B0: -/* 039210 8003E7B0 807D0020 */ lwz r3, 0x20(r29) -/* 039214 8003E7B4 3CBD0001 */ addis r5, r29, 1 -/* 039218 8003E7B8 80E10018 */ lwz r7, 0x18(r1) -/* 03921C 8003E7BC 38A512A4 */ addi r5, r5, 0x12a4 -/* 039220 8003E7C0 2C030100 */ cmpwi r3, 0x100 -/* 039224 8003E7C4 80DF0000 */ lwz r6, 0(r31) -/* 039228 8003E7C8 4082000C */ bne lbl_8003E7D4 -/* 03922C 8003E7CC 3863FFFF */ addi r3, r3, -1 -/* 039230 8003E7D0 4800017C */ b lbl_8003E94C -lbl_8003E7D4: -/* 039234 8003E7D4 38030001 */ addi r0, r3, 1 -/* 039238 8003E7D8 901D0020 */ stw r0, 0x20(r29) -/* 03923C 8003E7DC 48000170 */ b lbl_8003E94C -lbl_8003E7E0: -/* 039240 8003E7E0 2C030000 */ cmpwi r3, 0 -/* 039244 8003E7E4 40810104 */ ble lbl_8003E8E8 -/* 039248 8003E7E8 5460E8FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f -/* 03924C 8003E7EC 7C0903A6 */ mtctr r0 -/* 039250 8003E7F0 418200D4 */ beq lbl_8003E8C4 -lbl_8003E7F4: -/* 039254 8003E7F4 8088FFF4 */ lwz r4, -0xc(r8) -/* 039258 8003E7F8 8008FFF8 */ lwz r0, -8(r8) -/* 03925C 8003E7FC 90880000 */ stw r4, 0(r8) -/* 039260 8003E800 90080004 */ stw r0, 4(r8) -/* 039264 8003E804 8008FFFC */ lwz r0, -4(r8) -/* 039268 8003E808 90080008 */ stw r0, 8(r8) -/* 03926C 8003E80C 8088FFE8 */ lwz r4, -0x18(r8) -/* 039270 8003E810 8008FFEC */ lwz r0, -0x14(r8) -/* 039274 8003E814 9088FFF4 */ stw r4, -0xc(r8) -/* 039278 8003E818 9008FFF8 */ stw r0, -8(r8) -/* 03927C 8003E81C 8008FFF0 */ lwz r0, -0x10(r8) -/* 039280 8003E820 9008FFFC */ stw r0, -4(r8) -/* 039284 8003E824 8088FFDC */ lwz r4, -0x24(r8) -/* 039288 8003E828 8008FFE0 */ lwz r0, -0x20(r8) -/* 03928C 8003E82C 9088FFE8 */ stw r4, -0x18(r8) -/* 039290 8003E830 9008FFEC */ stw r0, -0x14(r8) -/* 039294 8003E834 8008FFE4 */ lwz r0, -0x1c(r8) -/* 039298 8003E838 9008FFF0 */ stw r0, -0x10(r8) -/* 03929C 8003E83C 8088FFD0 */ lwz r4, -0x30(r8) -/* 0392A0 8003E840 8008FFD4 */ lwz r0, -0x2c(r8) -/* 0392A4 8003E844 9088FFDC */ stw r4, -0x24(r8) -/* 0392A8 8003E848 9008FFE0 */ stw r0, -0x20(r8) -/* 0392AC 8003E84C 8008FFD8 */ lwz r0, -0x28(r8) -/* 0392B0 8003E850 9008FFE4 */ stw r0, -0x1c(r8) -/* 0392B4 8003E854 8088FFC4 */ lwz r4, -0x3c(r8) -/* 0392B8 8003E858 8008FFC8 */ lwz r0, -0x38(r8) -/* 0392BC 8003E85C 9088FFD0 */ stw r4, -0x30(r8) -/* 0392C0 8003E860 9008FFD4 */ stw r0, -0x2c(r8) -/* 0392C4 8003E864 8008FFCC */ lwz r0, -0x34(r8) -/* 0392C8 8003E868 9008FFD8 */ stw r0, -0x28(r8) -/* 0392CC 8003E86C 8088FFB8 */ lwz r4, -0x48(r8) -/* 0392D0 8003E870 8008FFBC */ lwz r0, -0x44(r8) -/* 0392D4 8003E874 9088FFC4 */ stw r4, -0x3c(r8) -/* 0392D8 8003E878 9008FFC8 */ stw r0, -0x38(r8) -/* 0392DC 8003E87C 8008FFC0 */ lwz r0, -0x40(r8) -/* 0392E0 8003E880 9008FFCC */ stw r0, -0x34(r8) -/* 0392E4 8003E884 8088FFAC */ lwz r4, -0x54(r8) -/* 0392E8 8003E888 8008FFB0 */ lwz r0, -0x50(r8) -/* 0392EC 8003E88C 9088FFB8 */ stw r4, -0x48(r8) -/* 0392F0 8003E890 9008FFBC */ stw r0, -0x44(r8) -/* 0392F4 8003E894 8008FFB4 */ lwz r0, -0x4c(r8) -/* 0392F8 8003E898 9008FFC0 */ stw r0, -0x40(r8) -/* 0392FC 8003E89C 8088FFA0 */ lwz r4, -0x60(r8) -/* 039300 8003E8A0 8008FFA4 */ lwz r0, -0x5c(r8) -/* 039304 8003E8A4 9088FFAC */ stw r4, -0x54(r8) -/* 039308 8003E8A8 9008FFB0 */ stw r0, -0x50(r8) -/* 03930C 8003E8AC 8008FFA8 */ lwz r0, -0x58(r8) -/* 039310 8003E8B0 9008FFB4 */ stw r0, -0x4c(r8) -/* 039314 8003E8B4 3908FFA0 */ addi r8, r8, -96 -/* 039318 8003E8B8 4200FF3C */ bdnz lbl_8003E7F4 -/* 03931C 8003E8BC 70630007 */ andi. r3, r3, 7 -/* 039320 8003E8C0 41820028 */ beq lbl_8003E8E8 -lbl_8003E8C4: -/* 039324 8003E8C4 7C6903A6 */ mtctr r3 -lbl_8003E8C8: -/* 039328 8003E8C8 8088FFF4 */ lwz r4, -0xc(r8) -/* 03932C 8003E8CC 8008FFF8 */ lwz r0, -8(r8) -/* 039330 8003E8D0 90880000 */ stw r4, 0(r8) -/* 039334 8003E8D4 90080004 */ stw r0, 4(r8) -/* 039338 8003E8D8 8008FFFC */ lwz r0, -4(r8) -/* 03933C 8003E8DC 90080008 */ stw r0, 8(r8) -/* 039340 8003E8E0 3908FFF4 */ addi r8, r8, -12 -/* 039344 8003E8E4 4200FFE4 */ bdnz lbl_8003E8C8 -lbl_8003E8E8: -/* 039348 8003E8E8 93C50000 */ stw r30, 0(r5) -/* 03934C 8003E8EC 38600001 */ li r3, 1 -/* 039350 8003E8F0 90C50004 */ stw r6, 4(r5) -/* 039354 8003E8F4 90E50008 */ stw r7, 8(r5) -/* 039358 8003E8F8 48000060 */ b lbl_8003E958 -lbl_8003E8FC: -/* 03935C 8003E8FC 387D0000 */ addi r3, r29, 0 -/* 039360 8003E900 3881001C */ addi r4, r1, 0x1c -/* 039364 8003E904 38E10020 */ addi r7, r1, 0x20 -/* 039368 8003E908 38C00000 */ li r6, 0 -/* 03936C 8003E90C 39000000 */ li r8, 0 -/* 039370 8003E910 480004F5 */ bl cpuGetPPC -/* 039374 8003E914 2C030000 */ cmpwi r3, 0 -/* 039378 8003E918 4082000C */ bne lbl_8003E924 -/* 03937C 8003E91C 38600000 */ li r3, 0 -/* 039380 8003E920 48000038 */ b lbl_8003E958 -lbl_8003E924: -/* 039384 8003E924 80A10018 */ lwz r5, 0x18(r1) -/* 039388 8003E928 8061001C */ lwz r3, 0x1c(r1) -/* 03938C 8003E92C 80050014 */ lwz r0, 0x14(r5) -/* 039390 8003E930 7C030000 */ cmpw r3, r0 -/* 039394 8003E934 4081FE48 */ ble lbl_8003E77C -/* 039398 8003E938 38600000 */ li r3, 0 -/* 03939C 8003E93C 4800001C */ b lbl_8003E958 -lbl_8003E940: -/* 0393A0 8003E940 1C05000C */ mulli r0, r5, 0xc -/* 0393A4 8003E944 7D040214 */ add r8, r4, r0 -/* 0393A8 8003E948 4BFFFCC4 */ b lbl_8003E60C -lbl_8003E94C: -/* 0393AC 8003E94C 1C03000C */ mulli r0, r3, 0xc -/* 0393B0 8003E950 7D050214 */ add r8, r5, r0 -/* 0393B4 8003E954 4BFFFE8C */ b lbl_8003E7E0 -lbl_8003E958: -/* 0393B8 8003E958 8001003C */ lwz r0, 0x3c(r1) -/* 0393BC 8003E95C 83E10034 */ lwz r31, 0x34(r1) -/* 0393C0 8003E960 83C10030 */ lwz r30, 0x30(r1) -/* 0393C4 8003E964 7C0803A6 */ mtlr r0 -/* 0393C8 8003E968 83A1002C */ lwz r29, 0x2c(r1) -/* 0393CC 8003E96C 38210038 */ addi r1, r1, 0x38 -/* 0393D0 8003E970 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuFindCachedAddress.s b/asm/non_matchings/cpu/cpuFindCachedAddress.s deleted file mode 100644 index 57f37643..00000000 --- a/asm/non_matchings/cpu/cpuFindCachedAddress.s +++ /dev/null @@ -1,131 +0,0 @@ -glabel cpuFindCachedAddress -/* 030E48 800363E8 9421FFE0 */ stwu r1, -0x20(r1) -/* 030E4C 800363EC 3CC30001 */ addis r6, r3, 1 -/* 030E50 800363F0 3CE30001 */ addis r7, r3, 1 -/* 030E54 800363F4 80030020 */ lwz r0, 0x20(r3) -/* 030E58 800363F8 39400000 */ li r10, 0 -/* 030E5C 800363FC 38C612A4 */ addi r6, r6, 0x12a4 -/* 030E60 80036400 2C000000 */ cmpwi r0, 0 -/* 030E64 80036404 7C0903A6 */ mtctr r0 -/* 030E68 80036408 38E712A4 */ addi r7, r7, 0x12a4 -/* 030E6C 8003640C 408101AC */ ble lbl_800365B8 -lbl_80036410: -/* 030E70 80036410 80070000 */ lwz r0, 0(r7) -/* 030E74 80036414 7C040000 */ cmpw r4, r0 -/* 030E78 80036418 40820194 */ bne lbl_800365AC -/* 030E7C 8003641C 2C0A0080 */ cmpwi r10, 0x80 -/* 030E80 80036420 40810158 */ ble lbl_80036578 -/* 030E84 80036424 1C0A000C */ mulli r0, r10, 0xc -/* 030E88 80036428 7D260214 */ add r9, r6, r0 -/* 030E8C 8003642C 80E90000 */ lwz r7, 0(r9) -/* 030E90 80036430 2C0A0000 */ cmpwi r10, 0 -/* 030E94 80036434 80090004 */ lwz r0, 4(r9) -/* 030E98 80036438 7D445378 */ mr r4, r10 -/* 030E9C 8003643C 90E10014 */ stw r7, 0x14(r1) -/* 030EA0 80036440 90010018 */ stw r0, 0x18(r1) -/* 030EA4 80036444 80090008 */ lwz r0, 8(r9) -/* 030EA8 80036448 9001001C */ stw r0, 0x1c(r1) -/* 030EAC 8003644C 4081010C */ ble lbl_80036558 -/* 030EB0 80036450 5480E8FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f -/* 030EB4 80036454 7C0903A6 */ mtctr r0 -/* 030EB8 80036458 7C0400D0 */ neg r0, r4 -/* 030EBC 8003645C 418200D4 */ beq lbl_80036530 -lbl_80036460: -/* 030EC0 80036460 8109FFF4 */ lwz r8, -0xc(r9) -/* 030EC4 80036464 80E9FFF8 */ lwz r7, -8(r9) -/* 030EC8 80036468 91090000 */ stw r8, 0(r9) -/* 030ECC 8003646C 90E90004 */ stw r7, 4(r9) -/* 030ED0 80036470 80E9FFFC */ lwz r7, -4(r9) -/* 030ED4 80036474 90E90008 */ stw r7, 8(r9) -/* 030ED8 80036478 8109FFE8 */ lwz r8, -0x18(r9) -/* 030EDC 8003647C 80E9FFEC */ lwz r7, -0x14(r9) -/* 030EE0 80036480 9109FFF4 */ stw r8, -0xc(r9) -/* 030EE4 80036484 90E9FFF8 */ stw r7, -8(r9) -/* 030EE8 80036488 80E9FFF0 */ lwz r7, -0x10(r9) -/* 030EEC 8003648C 90E9FFFC */ stw r7, -4(r9) -/* 030EF0 80036490 8109FFDC */ lwz r8, -0x24(r9) -/* 030EF4 80036494 80E9FFE0 */ lwz r7, -0x20(r9) -/* 030EF8 80036498 9109FFE8 */ stw r8, -0x18(r9) -/* 030EFC 8003649C 90E9FFEC */ stw r7, -0x14(r9) -/* 030F00 800364A0 80E9FFE4 */ lwz r7, -0x1c(r9) -/* 030F04 800364A4 90E9FFF0 */ stw r7, -0x10(r9) -/* 030F08 800364A8 8109FFD0 */ lwz r8, -0x30(r9) -/* 030F0C 800364AC 80E9FFD4 */ lwz r7, -0x2c(r9) -/* 030F10 800364B0 9109FFDC */ stw r8, -0x24(r9) -/* 030F14 800364B4 90E9FFE0 */ stw r7, -0x20(r9) -/* 030F18 800364B8 80E9FFD8 */ lwz r7, -0x28(r9) -/* 030F1C 800364BC 90E9FFE4 */ stw r7, -0x1c(r9) -/* 030F20 800364C0 8109FFC4 */ lwz r8, -0x3c(r9) -/* 030F24 800364C4 80E9FFC8 */ lwz r7, -0x38(r9) -/* 030F28 800364C8 9109FFD0 */ stw r8, -0x30(r9) -/* 030F2C 800364CC 90E9FFD4 */ stw r7, -0x2c(r9) -/* 030F30 800364D0 80E9FFCC */ lwz r7, -0x34(r9) -/* 030F34 800364D4 90E9FFD8 */ stw r7, -0x28(r9) -/* 030F38 800364D8 8109FFB8 */ lwz r8, -0x48(r9) -/* 030F3C 800364DC 80E9FFBC */ lwz r7, -0x44(r9) -/* 030F40 800364E0 9109FFC4 */ stw r8, -0x3c(r9) -/* 030F44 800364E4 90E9FFC8 */ stw r7, -0x38(r9) -/* 030F48 800364E8 80E9FFC0 */ lwz r7, -0x40(r9) -/* 030F4C 800364EC 90E9FFCC */ stw r7, -0x34(r9) -/* 030F50 800364F0 8109FFAC */ lwz r8, -0x54(r9) -/* 030F54 800364F4 80E9FFB0 */ lwz r7, -0x50(r9) -/* 030F58 800364F8 9109FFB8 */ stw r8, -0x48(r9) -/* 030F5C 800364FC 90E9FFBC */ stw r7, -0x44(r9) -/* 030F60 80036500 80E9FFB4 */ lwz r7, -0x4c(r9) -/* 030F64 80036504 90E9FFC0 */ stw r7, -0x40(r9) -/* 030F68 80036508 8109FFA0 */ lwz r8, -0x60(r9) -/* 030F6C 8003650C 80E9FFA4 */ lwz r7, -0x5c(r9) -/* 030F70 80036510 9109FFAC */ stw r8, -0x54(r9) -/* 030F74 80036514 90E9FFB0 */ stw r7, -0x50(r9) -/* 030F78 80036518 80E9FFA8 */ lwz r7, -0x58(r9) -/* 030F7C 8003651C 90E9FFB4 */ stw r7, -0x4c(r9) -/* 030F80 80036520 3929FFA0 */ addi r9, r9, -96 -/* 030F84 80036524 4200FF3C */ bdnz lbl_80036460 -/* 030F88 80036528 70840007 */ andi. r4, r4, 7 -/* 030F8C 8003652C 41820028 */ beq lbl_80036554 -lbl_80036530: -/* 030F90 80036530 7C8903A6 */ mtctr r4 -lbl_80036534: -/* 030F94 80036534 8109FFF4 */ lwz r8, -0xc(r9) -/* 030F98 80036538 80E9FFF8 */ lwz r7, -8(r9) -/* 030F9C 8003653C 91090000 */ stw r8, 0(r9) -/* 030FA0 80036540 90E90004 */ stw r7, 4(r9) -/* 030FA4 80036544 80E9FFFC */ lwz r7, -4(r9) -/* 030FA8 80036548 90E90008 */ stw r7, 8(r9) -/* 030FAC 8003654C 3929FFF4 */ addi r9, r9, -12 -/* 030FB0 80036550 4200FFE4 */ bdnz lbl_80036534 -lbl_80036554: -/* 030FB4 80036554 7D4A0214 */ add r10, r10, r0 -lbl_80036558: -/* 030FB8 80036558 1CEA000C */ mulli r7, r10, 0xc -/* 030FBC 8003655C 80810014 */ lwz r4, 0x14(r1) -/* 030FC0 80036560 80010018 */ lwz r0, 0x18(r1) -/* 030FC4 80036564 7CE63A14 */ add r7, r6, r7 -/* 030FC8 80036568 90870000 */ stw r4, 0(r7) -/* 030FCC 8003656C 90070004 */ stw r0, 4(r7) -/* 030FD0 80036570 8001001C */ lwz r0, 0x1c(r1) -/* 030FD4 80036574 90070008 */ stw r0, 8(r7) -lbl_80036578: -/* 030FD8 80036578 1CEA000C */ mulli r7, r10, 0xc -/* 030FDC 8003657C 7C863A14 */ add r4, r6, r7 -/* 030FE0 80036580 80840008 */ lwz r4, 8(r4) -/* 030FE4 80036584 80040028 */ lwz r0, 0x28(r4) -/* 030FE8 80036588 2C000000 */ cmpwi r0, 0 -/* 030FEC 8003658C 4081000C */ ble lbl_80036598 -/* 030FF0 80036590 8003003C */ lwz r0, 0x3c(r3) -/* 030FF4 80036594 90040028 */ stw r0, 0x28(r4) -lbl_80036598: -/* 030FF8 80036598 7C663A14 */ add r3, r6, r7 -/* 030FFC 8003659C 80030004 */ lwz r0, 4(r3) -/* 031000 800365A0 38600001 */ li r3, 1 -/* 031004 800365A4 90050000 */ stw r0, 0(r5) -/* 031008 800365A8 48000014 */ b lbl_800365BC -lbl_800365AC: -/* 03100C 800365AC 38E7000C */ addi r7, r7, 0xc -/* 031010 800365B0 394A0001 */ addi r10, r10, 1 -/* 031014 800365B4 4200FE5C */ bdnz lbl_80036410 -lbl_800365B8: -/* 031018 800365B8 38600000 */ li r3, 0 -lbl_800365BC: -/* 03101C 800365BC 38210020 */ addi r1, r1, 0x20 -/* 031020 800365C0 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuFindFunction.s b/asm/non_matchings/cpu/cpuFindFunction.s deleted file mode 100644 index 2eb475bb..00000000 --- a/asm/non_matchings/cpu/cpuFindFunction.s +++ /dev/null @@ -1,918 +0,0 @@ -glabel cpuFindFunction -/* 02DD64 80033304 7C0802A6 */ mflr r0 -/* 02DD68 80033308 3CE0800F */ lis r7, gClassCPU@ha -/* 02DD6C 8003330C 90010004 */ stw r0, 4(r1) -/* 02DD70 80033310 3807B658 */ addi r0, r7, gClassCPU@l -/* 02DD74 80033314 9421FF58 */ stwu r1, -0xa8(r1) -/* 02DD78 80033318 BDC10060 */ stmw r14, 0x60(r1) -/* 02DD7C 8003331C 3AC30000 */ addi r22, r3, 0 -/* 02DD80 80033320 3C760001 */ addis r3, r22, 1 -/* 02DD84 80033324 90810038 */ stw r4, 0x38(r1) -/* 02DD88 80033328 3B850000 */ addi r28, r5, 0 -/* 02DD8C 8003332C 39C00000 */ li r14, 0 -/* 02DD90 80033330 90010040 */ stw r0, 0x40(r1) -/* 02DD94 80033334 39E00000 */ li r15, 0 -/* 02DD98 80033338 3A200000 */ li r17, 0 -/* 02DD9C 8003333C 80C312A0 */ lwz r6, 0x12a0(r3) -/* 02DDA0 80033340 28060000 */ cmplwi r6, 0 -/* 02DDA4 80033344 40820044 */ bne lbl_80033388 -/* 02DDA8 80033348 38000001 */ li r0, 1 -/* 02DDAC 8003334C 9016003C */ stw r0, 0x3c(r22) -/* 02DDB0 80033350 38000000 */ li r0, 0 -/* 02DDB4 80033354 38800084 */ li r4, 0x84 -/* 02DDB8 80033358 9801003C */ stb r0, 0x3c(r1) -/* 02DDBC 8003335C 386312A0 */ addi r3, r3, 0x12a0 -/* 02DDC0 80033360 4BFD3E55 */ bl xlHeapTake -/* 02DDC4 80033364 2C030000 */ cmpwi r3, 0 -/* 02DDC8 80033368 4082000C */ bne lbl_80033374 -/* 02DDCC 8003336C 38600000 */ li r3, 0 -/* 02DDD0 80033370 48000B04 */ b lbl_80033E74 -lbl_80033374: -/* 02DDD4 80033374 3C808015 */ lis r4, 0x8015 -/* 02DDD8 80033378 38760000 */ addi r3, r22, 0 -/* 02DDDC 8003337C 38840002 */ addi r4, r4, 2 -/* 02DDE0 80033380 4BFFFCC9 */ bl treeInit -/* 02DDE4 80033384 48000058 */ b lbl_800333DC -lbl_80033388: -/* 02DDE8 80033388 38000001 */ li r0, 1 -/* 02DDEC 8003338C 80660008 */ lwz r3, 8(r6) -/* 02DDF0 80033390 9801003C */ stb r0, 0x3c(r1) -/* 02DDF4 80033394 80010038 */ lwz r0, 0x38(r1) -/* 02DDF8 80033398 7C001800 */ cmpw r0, r3 -/* 02DDFC 8003339C 40800018 */ bge lbl_800333B4 -/* 02DE00 800333A0 80660068 */ lwz r3, 0x68(r6) -/* 02DE04 800333A4 7F85E378 */ mr r5, r28 -/* 02DE08 800333A8 80810038 */ lwz r4, 0x38(r1) -/* 02DE0C 800333AC 4BFFECDD */ bl treeSearchNode -/* 02DE10 800333B0 48000014 */ b lbl_800333C4 -lbl_800333B4: -/* 02DE14 800333B4 8066006C */ lwz r3, 0x6c(r6) -/* 02DE18 800333B8 7F85E378 */ mr r5, r28 -/* 02DE1C 800333BC 80810038 */ lwz r4, 0x38(r1) -/* 02DE20 800333C0 4BFFECC9 */ bl treeSearchNode -lbl_800333C4: -/* 02DE24 800333C4 2C030000 */ cmpwi r3, 0 -/* 02DE28 800333C8 41820014 */ beq lbl_800333DC -/* 02DE2C 800333CC 801C0000 */ lwz r0, 0(r28) -/* 02DE30 800333D0 38600001 */ li r3, 1 -/* 02DE34 800333D4 90160034 */ stw r0, 0x34(r22) -/* 02DE38 800333D8 48000A9C */ b lbl_80033E74 -lbl_800333DC: -/* 02DE3C 800333DC 3E608008 */ lis r19, 0x8008 -/* 02DE40 800333E0 82A10038 */ lwz r21, 0x38(r1) -/* 02DE44 800333E4 3813EC54 */ addi r0, r19, -5036 -/* 02DE48 800333E8 83E10038 */ lwz r31, 0x38(r1) -/* 02DE4C 800333EC 9001005C */ stw r0, 0x5c(r1) -/* 02DE50 800333F0 3813ED94 */ addi r0, r19, -4716 -/* 02DE54 800333F4 3C60800F */ lis r3, jtbl_800EC0CC@ha -/* 02DE58 800333F8 8A81003C */ lbz r20, 0x3c(r1) -/* 02DE5C 800333FC 90010058 */ stw r0, 0x58(r1) -/* 02DE60 80033400 3803C0CC */ addi r0, r3, jtbl_800EC0CC@l -/* 02DE64 80033404 3C80800F */ lis r4, jtbl_800EC130@ha -/* 02DE68 80033408 90010048 */ stw r0, 0x48(r1) -/* 02DE6C 8003340C 3804C130 */ addi r0, r4, jtbl_800EC130@l -/* 02DE70 80033410 3B200000 */ li r25, 0 -/* 02DE74 80033414 90010044 */ stw r0, 0x44(r1) -/* 02DE78 80033418 3C00800C */ lis r0, 0x800c -/* 02DE7C 8003341C 9001004C */ stw r0, 0x4c(r1) -/* 02DE80 80033420 3C00800B */ lis r0, 0x800b -/* 02DE84 80033424 3BB90000 */ addi r29, r25, 0 -/* 02DE88 80033428 90010050 */ stw r0, 0x50(r1) -/* 02DE8C 8003342C 3C008000 */ lis r0, 0x8000 -/* 02DE90 80033430 3B190000 */ addi r24, r25, 0 -/* 02DE94 80033434 90010054 */ stw r0, 0x54(r1) -/* 02DE98 80033438 3B760F64 */ addi r27, r22, 0xf64 -/* 02DE9C 8003343C 3B560B64 */ addi r26, r22, 0xb64 -/* 02DEA0 80033440 3EF60001 */ addis r23, r22, 1 -lbl_80033444: -/* 02DEA4 80033444 57E0843E */ srwi r0, r31, 0x10 -/* 02DEA8 80033448 7C1B00AE */ lbzx r0, r27, r0 -/* 02DEAC 8003344C 38A10034 */ addi r5, r1, 0x34 -/* 02DEB0 80033450 5400103A */ slwi r0, r0, 2 -/* 02DEB4 80033454 7C7A002E */ lwzx r3, r26, r0 -/* 02DEB8 80033458 81830014 */ lwz r12, 0x14(r3) -/* 02DEBC 8003345C 80030008 */ lwz r0, 8(r3) -/* 02DEC0 80033460 7D8803A6 */ mtlr r12 -/* 02DEC4 80033464 80630004 */ lwz r3, 4(r3) -/* 02DEC8 80033468 7C9F0214 */ add r4, r31, r0 -/* 02DECC 8003346C 4E800021 */ blrl -/* 02DED0 80033470 38000001 */ li r0, 1 -/* 02DED4 80033474 28140000 */ cmplwi r20, 0 -/* 02DED8 80033478 9801003D */ stb r0, 0x3d(r1) -/* 02DEDC 8003347C 40820020 */ bne lbl_8003349C -/* 02DEE0 80033480 80010034 */ lwz r0, 0x34(r1) -/* 02DEE4 80033484 28000000 */ cmplwi r0, 0 -/* 02DEE8 80033488 41820020 */ beq lbl_800334A8 -/* 02DEEC 8003348C 2C190000 */ cmpwi r25, 0 -/* 02DEF0 80033490 40820018 */ bne lbl_800334A8 -/* 02DEF4 80033494 7FF9FB78 */ mr r25, r31 -/* 02DEF8 80033498 48000010 */ b lbl_800334A8 -lbl_8003349C: -/* 02DEFC 8003349C 2C190000 */ cmpwi r25, 0 -/* 02DF00 800334A0 40820008 */ bne lbl_800334A8 -/* 02DF04 800334A4 7FF9FB78 */ mr r25, r31 -lbl_800334A8: -/* 02DF08 800334A8 80010034 */ lwz r0, 0x34(r1) -/* 02DF0C 800334AC 3A000001 */ li r16, 1 -/* 02DF10 800334B0 3A400000 */ li r18, 0 -/* 02DF14 800334B4 540536BE */ srwi r5, r0, 0x1a -/* 02DF18 800334B8 540336BE */ srwi r3, r0, 0x1a -/* 02DF1C 800334BC 2803002B */ cmplwi r3, 0x2b -/* 02DF20 800334C0 4181059C */ bgt lbl_80033A5C -/* 02DF24 800334C4 5464103A */ slwi r4, r3, 2 -/* 02DF28 800334C8 80610044 */ lwz r3, 0x44(r1) -/* 02DF2C 800334CC 7C63202E */ lwzx r3, r3, r4 -/* 02DF30 800334D0 7C6903A6 */ mtctr r3 -/* 02DF34 800334D4 4E800420 */ bctr -.global lbl_800334D8 -lbl_800334D8: -/* 02DF38 800334D8 540306BE */ clrlwi r3, r0, 0x1a -/* 02DF3C 800334DC 540006BE */ clrlwi r0, r0, 0x1a -/* 02DF40 800334E0 2C00000D */ cmpwi r0, 0xd -/* 02DF44 800334E4 41820044 */ beq lbl_80033528 -/* 02DF48 800334E8 4080006C */ bge lbl_80033554 -/* 02DF4C 800334EC 2C000008 */ cmpwi r0, 8 -/* 02DF50 800334F0 41820008 */ beq lbl_800334F8 -/* 02DF54 800334F4 48000060 */ b lbl_80033554 -lbl_800334F8: -/* 02DF58 800334F8 55C0063F */ clrlwi. r0, r14, 0x18 -/* 02DF5C 800334FC 4082056C */ bne lbl_80033A68 -/* 02DF60 80033500 2C1D0000 */ cmpwi r29, 0 -/* 02DF64 80033504 4182000C */ beq lbl_80033510 -/* 02DF68 80033508 7C1FE800 */ cmpw r31, r29 -/* 02DF6C 8003350C 4081055C */ ble lbl_80033A68 -lbl_80033510: -/* 02DF70 80033510 2C180000 */ cmpwi r24, 0 -/* 02DF74 80033514 4182000C */ beq lbl_80033520 -/* 02DF78 80033518 7C1FC000 */ cmpw r31, r24 -/* 02DF7C 8003351C 4180054C */ blt lbl_80033A68 -lbl_80033520: -/* 02DF80 80033520 3A40006F */ li r18, 0x6f -/* 02DF84 80033524 48000544 */ b lbl_80033A68 -lbl_80033528: -/* 02DF88 80033528 2C1D0000 */ cmpwi r29, 0 -/* 02DF8C 8003352C 4182000C */ beq lbl_80033538 -/* 02DF90 80033530 7C1FE800 */ cmpw r31, r29 -/* 02DF94 80033534 40810534 */ ble lbl_80033A68 -lbl_80033538: -/* 02DF98 80033538 2C180000 */ cmpwi r24, 0 -/* 02DF9C 8003353C 4182000C */ beq lbl_80033548 -/* 02DFA0 80033540 7C1FC000 */ cmpw r31, r24 -/* 02DFA4 80033544 41800524 */ blt lbl_80033A68 -lbl_80033548: -/* 02DFA8 80033548 3A40006F */ li r18, 0x6f -/* 02DFAC 8003354C 39C00000 */ li r14, 0 -/* 02DFB0 80033550 48000518 */ b lbl_80033A68 -lbl_80033554: -/* 02DFB4 80033554 80010040 */ lwz r0, 0x40(r1) -/* 02DFB8 80033558 7C601A14 */ add r3, r0, r3 -/* 02DFBC 8003355C 8A030770 */ lbz r16, 0x770(r3) -/* 02DFC0 80033560 48000508 */ b lbl_80033A68 -.global lbl_80033564 -lbl_80033564: -/* 02DFC4 80033564 57E30006 */ rlwinm r3, r31, 0, 0, 3 -/* 02DFC8 80033568 5003113A */ rlwimi r3, r0, 2, 4, 0x1d -/* 02DFCC 8003356C 7C03F800 */ cmpw r3, r31 -/* 02DFD0 80033570 418004F8 */ blt lbl_80033A68 -/* 02DFD4 80033574 7C1F1850 */ subf r0, r31, r3 -/* 02DFD8 80033578 2C001000 */ cmpwi r0, 0x1000 -/* 02DFDC 8003357C 418104EC */ bgt lbl_80033A68 -/* 02DFE0 80033580 2C180000 */ cmpwi r24, 0 -/* 02DFE4 80033584 4082000C */ bne lbl_80033590 -/* 02DFE8 80033588 7C781B78 */ mr r24, r3 -/* 02DFEC 8003358C 480004DC */ b lbl_80033A68 -lbl_80033590: -/* 02DFF0 80033590 7C03C000 */ cmpw r3, r24 -/* 02DFF4 80033594 408104D4 */ ble lbl_80033A68 -/* 02DFF8 80033598 7C781B78 */ mr r24, r3 -/* 02DFFC 8003359C 480004CC */ b lbl_80033A68 -.global lbl_800335A0 -lbl_800335A0: -/* 02E000 800335A0 540486FE */ rlwinm r4, r0, 0x10, 0x1b, 0x1f -/* 02E004 800335A4 540386FE */ rlwinm r3, r0, 0x10, 0x1b, 0x1f -/* 02E008 800335A8 2C030010 */ cmpwi r3, 0x10 -/* 02E00C 800335AC 40800018 */ bge lbl_800335C4 -/* 02E010 800335B0 2C030004 */ cmpwi r3, 4 -/* 02E014 800335B4 40800080 */ bge lbl_80033634 -/* 02E018 800335B8 2C030000 */ cmpwi r3, 0 -/* 02E01C 800335BC 40800010 */ bge lbl_800335CC -/* 02E020 800335C0 48000074 */ b lbl_80033634 -lbl_800335C4: -/* 02E024 800335C4 2C030014 */ cmpwi r3, 0x14 -/* 02E028 800335C8 4080006C */ bge lbl_80033634 -lbl_800335CC: -/* 02E02C 800335CC 5400043E */ clrlwi r0, r0, 0x10 -/* 02E030 800335D0 7C000734 */ extsh r0, r0 -/* 02E034 800335D4 5403103B */ rlwinm. r3, r0, 2, 0, 0x1d -/* 02E038 800335D8 40800038 */ bge lbl_80033610 -/* 02E03C 800335DC 28140001 */ cmplwi r20, 1 -/* 02E040 800335E0 40820488 */ bne lbl_80033A68 -/* 02E044 800335E4 38030004 */ addi r0, r3, 4 -/* 02E048 800335E8 7C1F0214 */ add r0, r31, r0 -/* 02E04C 800335EC 7C00A800 */ cmpw r0, r21 -/* 02E050 800335F0 40800478 */ bge lbl_80033A68 -/* 02E054 800335F4 3B200000 */ li r25, 0 -/* 02E058 800335F8 3BB90000 */ addi r29, r25, 0 -/* 02E05C 800335FC 3B190000 */ addi r24, r25, 0 -/* 02E060 80033600 7C150378 */ mr r21, r0 -/* 02E064 80033604 7C1F0378 */ mr r31, r0 -/* 02E068 80033608 39E00001 */ li r15, 1 -/* 02E06C 8003360C 480007A0 */ b lbl_80033DAC -lbl_80033610: -/* 02E070 80033610 2C1D0000 */ cmpwi r29, 0 -/* 02E074 80033614 4082000C */ bne lbl_80033620 -/* 02E078 80033618 7FBF1A14 */ add r29, r31, r3 -/* 02E07C 8003361C 4800044C */ b lbl_80033A68 -lbl_80033620: -/* 02E080 80033620 7C1F1A14 */ add r0, r31, r3 -/* 02E084 80033624 7C00E800 */ cmpw r0, r29 -/* 02E088 80033628 40810440 */ ble lbl_80033A68 -/* 02E08C 8003362C 7C1D0378 */ mr r29, r0 -/* 02E090 80033630 48000438 */ b lbl_80033A68 -lbl_80033634: -/* 02E094 80033634 80010040 */ lwz r0, 0x40(r1) -/* 02E098 80033638 7C602214 */ add r3, r0, r4 -/* 02E09C 8003363C 8A0307B0 */ lbz r16, 0x7b0(r3) -/* 02E0A0 80033640 48000428 */ b lbl_80033A68 -.global lbl_80033644 -lbl_80033644: -/* 02E0A4 80033644 5400043E */ clrlwi r0, r0, 0x10 -/* 02E0A8 80033648 7C000734 */ extsh r0, r0 -/* 02E0AC 8003364C 5403103B */ rlwinm. r3, r0, 2, 0, 0x1d -/* 02E0B0 80033650 408000F4 */ bge lbl_80033744 -/* 02E0B4 80033654 28140001 */ cmplwi r20, 1 -/* 02E0B8 80033658 40820030 */ bne lbl_80033688 -/* 02E0BC 8003365C 38030004 */ addi r0, r3, 4 -/* 02E0C0 80033660 7C1F0214 */ add r0, r31, r0 -/* 02E0C4 80033664 7C00A800 */ cmpw r0, r21 -/* 02E0C8 80033668 40800020 */ bge lbl_80033688 -/* 02E0CC 8003366C 3B200000 */ li r25, 0 -/* 02E0D0 80033670 3BB90000 */ addi r29, r25, 0 -/* 02E0D4 80033674 3B190000 */ addi r24, r25, 0 -/* 02E0D8 80033678 7C150378 */ mr r21, r0 -/* 02E0DC 8003367C 7C1F0378 */ mr r31, r0 -/* 02E0E0 80033680 39E00001 */ li r15, 1 -/* 02E0E4 80033684 48000728 */ b lbl_80033DAC -lbl_80033688: -/* 02E0E8 80033688 3BDF0008 */ addi r30, r31, 8 -/* 02E0EC 8003368C 57C0843E */ srwi r0, r30, 0x10 -/* 02E0F0 80033690 7C1B00AE */ lbzx r0, r27, r0 -/* 02E0F4 80033694 38A10034 */ addi r5, r1, 0x34 -/* 02E0F8 80033698 5400103A */ slwi r0, r0, 2 -/* 02E0FC 8003369C 7C7A002E */ lwzx r3, r26, r0 -/* 02E100 800336A0 81830014 */ lwz r12, 0x14(r3) -/* 02E104 800336A4 80030008 */ lwz r0, 8(r3) -/* 02E108 800336A8 7D8803A6 */ mtlr r12 -/* 02E10C 800336AC 80630004 */ lwz r3, 4(r3) -/* 02E110 800336B0 7C9E0214 */ add r4, r30, r0 -/* 02E114 800336B4 4E800021 */ blrl -/* 02E118 800336B8 80010034 */ lwz r0, 0x34(r1) -/* 02E11C 800336BC 28000000 */ cmplwi r0, 0 -/* 02E120 800336C0 408203A8 */ bne lbl_80033A68 -lbl_800336C4: -/* 02E124 800336C4 3BDE0004 */ addi r30, r30, 4 -/* 02E128 800336C8 57C0843E */ srwi r0, r30, 0x10 -/* 02E12C 800336CC 7C1B00AE */ lbzx r0, r27, r0 -/* 02E130 800336D0 38A10034 */ addi r5, r1, 0x34 -/* 02E134 800336D4 5400103A */ slwi r0, r0, 2 -/* 02E138 800336D8 7C7A002E */ lwzx r3, r26, r0 -/* 02E13C 800336DC 81830014 */ lwz r12, 0x14(r3) -/* 02E140 800336E0 80030008 */ lwz r0, 8(r3) -/* 02E144 800336E4 7D8803A6 */ mtlr r12 -/* 02E148 800336E8 80630004 */ lwz r3, 4(r3) -/* 02E14C 800336EC 7C9E0214 */ add r4, r30, r0 -/* 02E150 800336F0 4E800021 */ blrl -/* 02E154 800336F4 80010034 */ lwz r0, 0x34(r1) -/* 02E158 800336F8 28000000 */ cmplwi r0, 0 -/* 02E15C 800336FC 4182FFC8 */ beq lbl_800336C4 -/* 02E160 80033700 540036BE */ srwi r0, r0, 0x1a -/* 02E164 80033704 28000023 */ cmplwi r0, 0x23 -/* 02E168 80033708 41820034 */ beq lbl_8003373C -/* 02E16C 8003370C 2C1D0000 */ cmpwi r29, 0 -/* 02E170 80033710 3BFEFFF8 */ addi r31, r30, -8 -/* 02E174 80033714 4182000C */ beq lbl_80033720 -/* 02E178 80033718 7C1FE800 */ cmpw r31, r29 -/* 02E17C 8003371C 4081034C */ ble lbl_80033A68 -lbl_80033720: -/* 02E180 80033720 2C180000 */ cmpwi r24, 0 -/* 02E184 80033724 4182000C */ beq lbl_80033730 -/* 02E188 80033728 7C1FC000 */ cmpw r31, r24 -/* 02E18C 8003372C 4180033C */ blt lbl_80033A68 -lbl_80033730: -/* 02E190 80033730 3A40006F */ li r18, 0x6f -/* 02E194 80033734 39C00000 */ li r14, 0 -/* 02E198 80033738 48000330 */ b lbl_80033A68 -lbl_8003373C: -/* 02E19C 8003373C 3BFEFFFC */ addi r31, r30, -4 -/* 02E1A0 80033740 48000328 */ b lbl_80033A68 -lbl_80033744: -/* 02E1A4 80033744 2C1D0000 */ cmpwi r29, 0 -/* 02E1A8 80033748 4082000C */ bne lbl_80033754 -/* 02E1AC 8003374C 7FBF1A14 */ add r29, r31, r3 -/* 02E1B0 80033750 48000318 */ b lbl_80033A68 -lbl_80033754: -/* 02E1B4 80033754 7C1F1A14 */ add r0, r31, r3 -/* 02E1B8 80033758 7C00E800 */ cmpw r0, r29 -/* 02E1BC 8003375C 4081030C */ ble lbl_80033A68 -/* 02E1C0 80033760 7C1D0378 */ mr r29, r0 -/* 02E1C4 80033764 48000304 */ b lbl_80033A68 -.global lbl_80033768 -lbl_80033768: -/* 02E1C8 80033768 5400043E */ clrlwi r0, r0, 0x10 -/* 02E1CC 8003376C 7C000734 */ extsh r0, r0 -/* 02E1D0 80033770 5403103B */ rlwinm. r3, r0, 2, 0, 0x1d -/* 02E1D4 80033774 40800038 */ bge lbl_800337AC -/* 02E1D8 80033778 28140001 */ cmplwi r20, 1 -/* 02E1DC 8003377C 408202EC */ bne lbl_80033A68 -/* 02E1E0 80033780 38030004 */ addi r0, r3, 4 -/* 02E1E4 80033784 7C1F0214 */ add r0, r31, r0 -/* 02E1E8 80033788 7C00A800 */ cmpw r0, r21 -/* 02E1EC 8003378C 408002DC */ bge lbl_80033A68 -/* 02E1F0 80033790 3B200000 */ li r25, 0 -/* 02E1F4 80033794 3BB90000 */ addi r29, r25, 0 -/* 02E1F8 80033798 3B190000 */ addi r24, r25, 0 -/* 02E1FC 8003379C 7C150378 */ mr r21, r0 -/* 02E200 800337A0 7C1F0378 */ mr r31, r0 -/* 02E204 800337A4 39E00001 */ li r15, 1 -/* 02E208 800337A8 48000604 */ b lbl_80033DAC -lbl_800337AC: -/* 02E20C 800337AC 2C1D0000 */ cmpwi r29, 0 -/* 02E210 800337B0 4082000C */ bne lbl_800337BC -/* 02E214 800337B4 7FBF1A14 */ add r29, r31, r3 -/* 02E218 800337B8 480002B0 */ b lbl_80033A68 -lbl_800337BC: -/* 02E21C 800337BC 7C1F1A14 */ add r0, r31, r3 -/* 02E220 800337C0 7C00E800 */ cmpw r0, r29 -/* 02E224 800337C4 408102A4 */ ble lbl_80033A68 -/* 02E228 800337C8 7C1D0378 */ mr r29, r0 -/* 02E22C 800337CC 4800029C */ b lbl_80033A68 -.global lbl_800337D0 -lbl_800337D0: -/* 02E230 800337D0 540306BE */ clrlwi r3, r0, 0x1a -/* 02E234 800337D4 28030018 */ cmplwi r3, 0x18 -/* 02E238 800337D8 41810044 */ bgt lbl_8003381C -/* 02E23C 800337DC 5464103A */ slwi r4, r3, 2 -/* 02E240 800337E0 80610048 */ lwz r3, 0x48(r1) -/* 02E244 800337E4 7C63202E */ lwzx r3, r3, r4 -/* 02E248 800337E8 7C6903A6 */ mtctr r3 -/* 02E24C 800337EC 4E800420 */ bctr -.global lbl_800337F0 -lbl_800337F0: -/* 02E250 800337F0 2C1D0000 */ cmpwi r29, 0 -/* 02E254 800337F4 4182000C */ beq lbl_80033800 -/* 02E258 800337F8 7C1FE800 */ cmpw r31, r29 -/* 02E25C 800337FC 4081026C */ ble lbl_80033A68 -lbl_80033800: -/* 02E260 80033800 2C180000 */ cmpwi r24, 0 -/* 02E264 80033804 4182000C */ beq lbl_80033810 -/* 02E268 80033808 7C1FC000 */ cmpw r31, r24 -/* 02E26C 8003380C 4180025C */ blt lbl_80033A68 -lbl_80033810: -/* 02E270 80033810 3A4000DE */ li r18, 0xde -/* 02E274 80033814 39C00000 */ li r14, 0 -/* 02E278 80033818 48000250 */ b lbl_80033A68 -.global lbl_8003381C -lbl_8003381C: -/* 02E27C 8003381C 54035EFE */ rlwinm r3, r0, 0xb, 0x1b, 0x1f -/* 02E280 80033820 2C030008 */ cmpwi r3, 8 -/* 02E284 80033824 41820008 */ beq lbl_8003382C -/* 02E288 80033828 48000240 */ b lbl_80033A68 -lbl_8003382C: -/* 02E28C 8003382C 540386FE */ rlwinm r3, r0, 0x10, 0x1b, 0x1f -/* 02E290 80033830 2C030004 */ cmpwi r3, 4 -/* 02E294 80033834 40800234 */ bge lbl_80033A68 -/* 02E298 80033838 2C030000 */ cmpwi r3, 0 -/* 02E29C 8003383C 40800008 */ bge lbl_80033844 -/* 02E2A0 80033840 48000228 */ b lbl_80033A68 -lbl_80033844: -/* 02E2A4 80033844 5400043E */ clrlwi r0, r0, 0x10 -/* 02E2A8 80033848 7C000734 */ extsh r0, r0 -/* 02E2AC 8003384C 5403103B */ rlwinm. r3, r0, 2, 0, 0x1d -/* 02E2B0 80033850 40800038 */ bge lbl_80033888 -/* 02E2B4 80033854 28140001 */ cmplwi r20, 1 -/* 02E2B8 80033858 40820210 */ bne lbl_80033A68 -/* 02E2BC 8003385C 38030004 */ addi r0, r3, 4 -/* 02E2C0 80033860 7C1F0214 */ add r0, r31, r0 -/* 02E2C4 80033864 7C00A800 */ cmpw r0, r21 -/* 02E2C8 80033868 40800200 */ bge lbl_80033A68 -/* 02E2CC 8003386C 3B200000 */ li r25, 0 -/* 02E2D0 80033870 3BB90000 */ addi r29, r25, 0 -/* 02E2D4 80033874 3B190000 */ addi r24, r25, 0 -/* 02E2D8 80033878 7C150378 */ mr r21, r0 -/* 02E2DC 8003387C 7C1F0378 */ mr r31, r0 -/* 02E2E0 80033880 39E00001 */ li r15, 1 -/* 02E2E4 80033884 48000528 */ b lbl_80033DAC -lbl_80033888: -/* 02E2E8 80033888 2C1D0000 */ cmpwi r29, 0 -/* 02E2EC 8003388C 4082000C */ bne lbl_80033898 -/* 02E2F0 80033890 7FBF1A14 */ add r29, r31, r3 -/* 02E2F4 80033894 480001D4 */ b lbl_80033A68 -lbl_80033898: -/* 02E2F8 80033898 7C1F1A14 */ add r0, r31, r3 -/* 02E2FC 8003389C 7C00E800 */ cmpw r0, r29 -/* 02E300 800338A0 408101C8 */ ble lbl_80033A68 -/* 02E304 800338A4 7C1D0378 */ mr r29, r0 -/* 02E308 800338A8 480001C0 */ b lbl_80033A68 -.global lbl_800338AC -lbl_800338AC: -/* 02E30C 800338AC 54035EFE */ rlwinm r3, r0, 0xb, 0x1b, 0x1f -/* 02E310 800338B0 28030008 */ cmplwi r3, 8 -/* 02E314 800338B4 408201B4 */ bne lbl_80033A68 -/* 02E318 800338B8 540386FE */ rlwinm r3, r0, 0x10, 0x1b, 0x1f -/* 02E31C 800338BC 2C030004 */ cmpwi r3, 4 -/* 02E320 800338C0 408001A8 */ bge lbl_80033A68 -/* 02E324 800338C4 2C030000 */ cmpwi r3, 0 -/* 02E328 800338C8 40800008 */ bge lbl_800338D0 -/* 02E32C 800338CC 4800019C */ b lbl_80033A68 -lbl_800338D0: -/* 02E330 800338D0 5400043E */ clrlwi r0, r0, 0x10 -/* 02E334 800338D4 7C000734 */ extsh r0, r0 -/* 02E338 800338D8 5403103B */ rlwinm. r3, r0, 2, 0, 0x1d -/* 02E33C 800338DC 40800038 */ bge lbl_80033914 -/* 02E340 800338E0 28140001 */ cmplwi r20, 1 -/* 02E344 800338E4 40820184 */ bne lbl_80033A68 -/* 02E348 800338E8 38030004 */ addi r0, r3, 4 -/* 02E34C 800338EC 7C1F0214 */ add r0, r31, r0 -/* 02E350 800338F0 7C00A800 */ cmpw r0, r21 -/* 02E354 800338F4 40800174 */ bge lbl_80033A68 -/* 02E358 800338F8 3B200000 */ li r25, 0 -/* 02E35C 800338FC 3BB90000 */ addi r29, r25, 0 -/* 02E360 80033900 3B190000 */ addi r24, r25, 0 -/* 02E364 80033904 7C150378 */ mr r21, r0 -/* 02E368 80033908 7C1F0378 */ mr r31, r0 -/* 02E36C 8003390C 39E00001 */ li r15, 1 -/* 02E370 80033910 4800049C */ b lbl_80033DAC -lbl_80033914: -/* 02E374 80033914 2C1D0000 */ cmpwi r29, 0 -/* 02E378 80033918 4082000C */ bne lbl_80033924 -/* 02E37C 8003391C 7FBF1A14 */ add r29, r31, r3 -/* 02E380 80033920 48000148 */ b lbl_80033A68 -lbl_80033924: -/* 02E384 80033924 7C1F1A14 */ add r0, r31, r3 -/* 02E388 80033928 7C00E800 */ cmpw r0, r29 -/* 02E38C 8003392C 4081013C */ ble lbl_80033A68 -/* 02E390 80033930 7C1D0378 */ mr r29, r0 -/* 02E394 80033934 48000134 */ b lbl_80033A68 -.global lbl_80033938 -lbl_80033938: -/* 02E398 80033938 540086FE */ rlwinm r0, r0, 0x10, 0x1b, 0x1f -/* 02E39C 8003393C 2800001F */ cmplwi r0, 0x1f -/* 02E3A0 80033940 40820128 */ bne lbl_80033A68 -/* 02E3A4 80033944 39C00001 */ li r14, 1 -/* 02E3A8 80033948 48000120 */ b lbl_80033A68 -.global lbl_8003394C -lbl_8003394C: -/* 02E3AC 8003394C 540086FE */ rlwinm r0, r0, 0x10, 0x1b, 0x1f -/* 02E3B0 80033950 2800001F */ cmplwi r0, 0x1f -/* 02E3B4 80033954 40820114 */ bne lbl_80033A68 -/* 02E3B8 80033958 28140001 */ cmplwi r20, 1 -/* 02E3BC 8003395C 39C00000 */ li r14, 0 -/* 02E3C0 80033960 40820108 */ bne lbl_80033A68 -/* 02E3C4 80033964 55E0063F */ clrlwi. r0, r15, 0x18 -/* 02E3C8 80033968 41820100 */ beq lbl_80033A68 -/* 02E3CC 8003396C 7EBFAB78 */ mr r31, r21 -lbl_80033970: -/* 02E3D0 80033970 57E0843E */ srwi r0, r31, 0x10 -/* 02E3D4 80033974 7C1B00AE */ lbzx r0, r27, r0 -/* 02E3D8 80033978 38A10034 */ addi r5, r1, 0x34 -/* 02E3DC 8003397C 5400103A */ slwi r0, r0, 2 -/* 02E3E0 80033980 7C7A002E */ lwzx r3, r26, r0 -/* 02E3E4 80033984 81830014 */ lwz r12, 0x14(r3) -/* 02E3E8 80033988 80030008 */ lwz r0, 8(r3) -/* 02E3EC 8003398C 7D8803A6 */ mtlr r12 -/* 02E3F0 80033990 80630004 */ lwz r3, 4(r3) -/* 02E3F4 80033994 7C9F0214 */ add r4, r31, r0 -/* 02E3F8 80033998 4E800021 */ blrl -/* 02E3FC 8003399C 80610034 */ lwz r3, 0x34(r1) -/* 02E400 800339A0 546036BE */ srwi r0, r3, 0x1a -/* 02E404 800339A4 2800002B */ cmplwi r0, 0x2b -/* 02E408 800339A8 40820010 */ bne lbl_800339B8 -/* 02E40C 800339AC 546086FE */ rlwinm r0, r3, 0x10, 0x1b, 0x1f -/* 02E410 800339B0 2800001F */ cmplwi r0, 0x1f -/* 02E414 800339B4 4182000C */ beq lbl_800339C0 -lbl_800339B8: -/* 02E418 800339B8 3BFFFFFC */ addi r31, r31, -4 -/* 02E41C 800339BC 4BFFFFB4 */ b lbl_80033970 -lbl_800339C0: -/* 02E420 800339C0 3BFFFFFC */ addi r31, r31, -4 -/* 02E424 800339C4 57E0843E */ srwi r0, r31, 0x10 -/* 02E428 800339C8 7C1B00AE */ lbzx r0, r27, r0 -/* 02E42C 800339CC 38A10034 */ addi r5, r1, 0x34 -/* 02E430 800339D0 5400103A */ slwi r0, r0, 2 -/* 02E434 800339D4 7C7A002E */ lwzx r3, r26, r0 -/* 02E438 800339D8 81830014 */ lwz r12, 0x14(r3) -/* 02E43C 800339DC 80030008 */ lwz r0, 8(r3) -/* 02E440 800339E0 7D8803A6 */ mtlr r12 -/* 02E444 800339E4 80630004 */ lwz r3, 4(r3) -/* 02E448 800339E8 7C9F0214 */ add r4, r31, r0 -/* 02E44C 800339EC 4E800021 */ blrl -/* 02E450 800339F0 80010034 */ lwz r0, 0x34(r1) -/* 02E454 800339F4 28000000 */ cmplwi r0, 0 -/* 02E458 800339F8 4182003C */ beq lbl_80033A34 -/* 02E45C 800339FC 807712A0 */ lwz r3, 0x12a0(r23) -/* 02E460 80033A00 389FFFFC */ addi r4, r31, -4 -/* 02E464 80033A04 80030008 */ lwz r0, 8(r3) -/* 02E468 80033A08 7C040000 */ cmpw r4, r0 -/* 02E46C 80033A0C 40800014 */ bge lbl_80033A20 -/* 02E470 80033A10 80630068 */ lwz r3, 0x68(r3) -/* 02E474 80033A14 7F85E378 */ mr r5, r28 -/* 02E478 80033A18 4BFFE671 */ bl treeSearchNode -/* 02E47C 80033A1C 48000010 */ b lbl_80033A2C -lbl_80033A20: -/* 02E480 80033A20 8063006C */ lwz r3, 0x6c(r3) -/* 02E484 80033A24 7F85E378 */ mr r5, r28 -/* 02E488 80033A28 4BFFE661 */ bl treeSearchNode -lbl_80033A2C: -/* 02E48C 80033A2C 2C030000 */ cmpwi r3, 0 -/* 02E490 80033A30 40820010 */ bne lbl_80033A40 -lbl_80033A34: -/* 02E494 80033A34 80010034 */ lwz r0, 0x34(r1) -/* 02E498 80033A38 28000000 */ cmplwi r0, 0 -/* 02E49C 80033A3C 4082FF84 */ bne lbl_800339C0 -lbl_80033A40: -/* 02E4A0 80033A40 3B200000 */ li r25, 0 -/* 02E4A4 80033A44 3ABF0004 */ addi r21, r31, 4 -/* 02E4A8 80033A48 3BB90000 */ addi r29, r25, 0 -/* 02E4AC 80033A4C 3B190000 */ addi r24, r25, 0 -/* 02E4B0 80033A50 3BF50000 */ addi r31, r21, 0 -/* 02E4B4 80033A54 39E00000 */ li r15, 0 -/* 02E4B8 80033A58 48000354 */ b lbl_80033DAC -.global lbl_80033A5C -lbl_80033A5C: -/* 02E4BC 80033A5C 80010040 */ lwz r0, 0x40(r1) -/* 02E4C0 80033A60 7C602A14 */ add r3, r0, r5 -/* 02E4C4 80033A64 8A030730 */ lbz r16, 0x730(r3) -.global lbl_80033A68 -lbl_80033A68: -/* 02E4C8 80033A68 5640063F */ clrlwi. r0, r18, 0x18 -/* 02E4CC 80033A6C 41820330 */ beq lbl_80033D9C -/* 02E4D0 80033A70 2800006F */ cmplwi r0, 0x6f -/* 02E4D4 80033A74 40820010 */ bne lbl_80033A84 -/* 02E4D8 80033A78 3B1F0004 */ addi r24, r31, 4 -/* 02E4DC 80033A7C 3BFF0008 */ addi r31, r31, 8 -/* 02E4E0 80033A80 4800000C */ b lbl_80033A8C -lbl_80033A84: -/* 02E4E4 80033A84 3B1F0000 */ addi r24, r31, 0 -/* 02E4E8 80033A88 3BFF0004 */ addi r31, r31, 4 -lbl_80033A8C: -/* 02E4EC 80033A8C 28140000 */ cmplwi r20, 0 -/* 02E4F0 80033A90 4082020C */ bne lbl_80033C9C -/* 02E4F4 80033A94 80760008 */ lwz r3, 8(r22) -/* 02E4F8 80033A98 388D854C */ addi r4, r13, D_8013522C@sda21 -/* 02E4FC 80033A9C 80630030 */ lwz r3, 0x30(r3) -/* 02E500 80033AA0 4803A641 */ bl romTestCode -/* 02E504 80033AA4 2C030000 */ cmpwi r3, 0 -/* 02E508 80033AA8 41820030 */ beq lbl_80033AD8 -/* 02E50C 80033AAC 3C1F7FF5 */ addis r0, r31, 0x7ff5 -/* 02E510 80033AB0 2800B62C */ cmplwi r0, 0xb62c -/* 02E514 80033AB4 40820010 */ bne lbl_80033AC4 -/* 02E518 80033AB8 8061004C */ lwz r3, 0x4c(r1) -/* 02E51C 80033ABC 3BE3B9B0 */ addi r31, r3, -18000 -/* 02E520 80033AC0 480001DC */ b lbl_80033C9C -lbl_80033AC4: -/* 02E524 80033AC4 3C1F7FF4 */ addis r0, r31, 0x7ff4 -/* 02E528 80033AC8 2800C010 */ cmplwi r0, 0xc010 -/* 02E52C 80033ACC 408201D0 */ bne lbl_80033C9C -/* 02E530 80033AD0 3A000000 */ li r16, 0 -/* 02E534 80033AD4 480001C8 */ b lbl_80033C9C -lbl_80033AD8: -/* 02E538 80033AD8 80760008 */ lwz r3, 8(r22) -/* 02E53C 80033ADC 388D8554 */ addi r4, r13, D_80135234@sda21 -/* 02E540 80033AE0 80630030 */ lwz r3, 0x30(r3) -/* 02E544 80033AE4 4803A5FD */ bl romTestCode -/* 02E548 80033AE8 2C030000 */ cmpwi r3, 0 -/* 02E54C 80033AEC 41820020 */ beq lbl_80033B0C -/* 02E550 80033AF0 3C187FF6 */ addis r0, r24, 0x7ff6 -/* 02E554 80033AF4 28009D40 */ cmplwi r0, 0x9d40 -/* 02E558 80033AF8 408201A4 */ bne lbl_80033C9C -/* 02E55C 80033AFC 80610050 */ lwz r3, 0x50(r1) -/* 02E560 80033B00 3B239CF0 */ addi r25, r3, -25360 -/* 02E564 80033B04 3A390000 */ addi r17, r25, 0 -/* 02E568 80033B08 48000194 */ b lbl_80033C9C -lbl_80033B0C: -/* 02E56C 80033B0C 80760008 */ lwz r3, 8(r22) -/* 02E570 80033B10 388D855C */ addi r4, r13, D_8013523C@sda21 -/* 02E574 80033B14 80630030 */ lwz r3, 0x30(r3) -/* 02E578 80033B18 4803A5C9 */ bl romTestCode -/* 02E57C 80033B1C 2C030000 */ cmpwi r3, 0 -/* 02E580 80033B20 4182003C */ beq lbl_80033B5C -/* 02E584 80033B24 3C1F8000 */ addis r0, r31, 0x8000 -/* 02E588 80033B28 28000470 */ cmplwi r0, 0x470 -/* 02E58C 80033B2C 40820010 */ bne lbl_80033B3C -/* 02E590 80033B30 80610054 */ lwz r3, 0x54(r1) -/* 02E594 80033B34 3BE30870 */ addi r31, r3, 0x870 -/* 02E598 80033B38 48000164 */ b lbl_80033C9C -lbl_80033B3C: -/* 02E59C 80033B3C 3C188000 */ addis r0, r24, 0x8000 -/* 02E5A0 80033B40 28001248 */ cmplwi r0, 0x1248 -/* 02E5A4 80033B44 40820158 */ bne lbl_80033C9C -/* 02E5A8 80033B48 80610054 */ lwz r3, 0x54(r1) -/* 02E5AC 80033B4C 3B031884 */ addi r24, r3, 0x1884 -/* 02E5B0 80033B50 80610054 */ lwz r3, 0x54(r1) -/* 02E5B4 80033B54 3BE31890 */ addi r31, r3, 0x1890 -/* 02E5B8 80033B58 48000144 */ b lbl_80033C9C -lbl_80033B5C: -/* 02E5BC 80033B5C 80760008 */ lwz r3, 8(r22) -/* 02E5C0 80033B60 388D8564 */ addi r4, r13, D_80135244@sda21 -/* 02E5C4 80033B64 80630030 */ lwz r3, 0x30(r3) -/* 02E5C8 80033B68 4803A579 */ bl romTestCode -/* 02E5CC 80033B6C 2C030000 */ cmpwi r3, 0 -/* 02E5D0 80033B70 41820018 */ beq lbl_80033B88 -/* 02E5D4 80033B74 3C1F7FF8 */ addis r0, r31, 0x7ff8 -/* 02E5D8 80033B78 280029CC */ cmplwi r0, 0x29cc -/* 02E5DC 80033B7C 40820120 */ bne lbl_80033C9C -/* 02E5E0 80033B80 3BF32D60 */ addi r31, r19, 0x2d60 -/* 02E5E4 80033B84 48000118 */ b lbl_80033C9C -lbl_80033B88: -/* 02E5E8 80033B88 80760008 */ lwz r3, 8(r22) -/* 02E5EC 80033B8C 388D856C */ addi r4, r13, D_8013524C@sda21 -/* 02E5F0 80033B90 80630030 */ lwz r3, 0x30(r3) -/* 02E5F4 80033B94 4803A54D */ bl romTestCode -/* 02E5F8 80033B98 2C030000 */ cmpwi r3, 0 -/* 02E5FC 80033B9C 41820078 */ beq lbl_80033C14 -/* 02E600 80033BA0 3C1F8000 */ addis r0, r31, 0x8000 -/* 02E604 80033BA4 2800E1C8 */ cmplwi r0, 0xe1c8 -/* 02E608 80033BA8 408200F4 */ bne lbl_80033C9C -/* 02E60C 80033BAC 38760000 */ addi r3, r22, 0 -/* 02E610 80033BB0 3893ED94 */ addi r4, r19, -4716 -/* 02E614 80033BB4 38B3F55C */ addi r5, r19, -2724 -/* 02E618 80033BB8 4BFFE9A1 */ bl treeInsert -/* 02E61C 80033BBC 2C030000 */ cmpwi r3, 0 -/* 02E620 80033BC0 4082000C */ bne lbl_80033BCC -/* 02E624 80033BC4 38600000 */ li r3, 0 -/* 02E628 80033BC8 480002AC */ b lbl_80033E74 -lbl_80033BCC: -/* 02E62C 80033BCC 807712A0 */ lwz r3, 0x12a0(r23) -/* 02E630 80033BD0 80010058 */ lwz r0, 0x58(r1) -/* 02E634 80033BD4 80830008 */ lwz r4, 8(r3) -/* 02E638 80033BD8 7C002000 */ cmpw r0, r4 -/* 02E63C 80033BDC 40800018 */ bge lbl_80033BF4 -/* 02E640 80033BE0 80630068 */ lwz r3, 0x68(r3) -/* 02E644 80033BE4 38BC0000 */ addi r5, r28, 0 -/* 02E648 80033BE8 3893ED94 */ addi r4, r19, -4716 -/* 02E64C 80033BEC 4BFFE49D */ bl treeSearchNode -/* 02E650 80033BF0 48000014 */ b lbl_80033C04 -lbl_80033BF4: -/* 02E654 80033BF4 8063006C */ lwz r3, 0x6c(r3) -/* 02E658 80033BF8 38BC0000 */ addi r5, r28, 0 -/* 02E65C 80033BFC 3893ED94 */ addi r4, r19, -4716 -/* 02E660 80033C00 4BFFE489 */ bl treeSearchNode -lbl_80033C04: -/* 02E664 80033C04 807C0000 */ lwz r3, 0(r28) -/* 02E668 80033C08 38000000 */ li r0, 0 -/* 02E66C 80033C0C 90030028 */ stw r0, 0x28(r3) -/* 02E670 80033C10 4800008C */ b lbl_80033C9C -lbl_80033C14: -/* 02E674 80033C14 80760008 */ lwz r3, 8(r22) -/* 02E678 80033C18 388D8574 */ addi r4, r13, D_80135254@sda21 -/* 02E67C 80033C1C 80630030 */ lwz r3, 0x30(r3) -/* 02E680 80033C20 4803A4C1 */ bl romTestCode -/* 02E684 80033C24 2C030000 */ cmpwi r3, 0 -/* 02E688 80033C28 41820074 */ beq lbl_80033C9C -/* 02E68C 80033C2C 3C1F8000 */ addis r0, r31, 0x8000 -/* 02E690 80033C30 2800E1C8 */ cmplwi r0, 0xe1c8 -/* 02E694 80033C34 40820068 */ bne lbl_80033C9C -/* 02E698 80033C38 38760000 */ addi r3, r22, 0 -/* 02E69C 80033C3C 3893EC54 */ addi r4, r19, -5036 -/* 02E6A0 80033C40 38B3F41C */ addi r5, r19, -3044 -/* 02E6A4 80033C44 4BFFE915 */ bl treeInsert -/* 02E6A8 80033C48 2C030000 */ cmpwi r3, 0 -/* 02E6AC 80033C4C 4082000C */ bne lbl_80033C58 -/* 02E6B0 80033C50 38600000 */ li r3, 0 -/* 02E6B4 80033C54 48000220 */ b lbl_80033E74 -lbl_80033C58: -/* 02E6B8 80033C58 807712A0 */ lwz r3, 0x12a0(r23) -/* 02E6BC 80033C5C 8001005C */ lwz r0, 0x5c(r1) -/* 02E6C0 80033C60 80830008 */ lwz r4, 8(r3) -/* 02E6C4 80033C64 7C002000 */ cmpw r0, r4 -/* 02E6C8 80033C68 40800018 */ bge lbl_80033C80 -/* 02E6CC 80033C6C 80630068 */ lwz r3, 0x68(r3) -/* 02E6D0 80033C70 38BC0000 */ addi r5, r28, 0 -/* 02E6D4 80033C74 3893EC54 */ addi r4, r19, -5036 -/* 02E6D8 80033C78 4BFFE411 */ bl treeSearchNode -/* 02E6DC 80033C7C 48000014 */ b lbl_80033C90 -lbl_80033C80: -/* 02E6E0 80033C80 8063006C */ lwz r3, 0x6c(r3) -/* 02E6E4 80033C84 38BC0000 */ addi r5, r28, 0 -/* 02E6E8 80033C88 3893EC54 */ addi r4, r19, -5036 -/* 02E6EC 80033C8C 4BFFE3FD */ bl treeSearchNode -lbl_80033C90: -/* 02E6F0 80033C90 807C0000 */ lwz r3, 0(r28) -/* 02E6F4 80033C94 38000000 */ li r0, 0 -/* 02E6F8 80033C98 90030028 */ stw r0, 0x28(r3) -lbl_80033C9C: -/* 02E6FC 80033C9C 38760000 */ addi r3, r22, 0 -/* 02E700 80033CA0 38990000 */ addi r4, r25, 0 -/* 02E704 80033CA4 38B80000 */ addi r5, r24, 0 -/* 02E708 80033CA8 4BFFE8B1 */ bl treeInsert -/* 02E70C 80033CAC 2C030000 */ cmpwi r3, 0 -/* 02E710 80033CB0 4082000C */ bne lbl_80033CBC -/* 02E714 80033CB4 38600000 */ li r3, 0 -/* 02E718 80033CB8 480001BC */ b lbl_80033E74 -lbl_80033CBC: -/* 02E71C 80033CBC 2C110000 */ cmpwi r17, 0 -/* 02E720 80033CC0 41820048 */ beq lbl_80033D08 -/* 02E724 80033CC4 807712A0 */ lwz r3, 0x12a0(r23) -/* 02E728 80033CC8 80030008 */ lwz r0, 8(r3) -/* 02E72C 80033CCC 7C110000 */ cmpw r17, r0 -/* 02E730 80033CD0 40800018 */ bge lbl_80033CE8 -/* 02E734 80033CD4 80630068 */ lwz r3, 0x68(r3) -/* 02E738 80033CD8 38910000 */ addi r4, r17, 0 -/* 02E73C 80033CDC 38BC0000 */ addi r5, r28, 0 -/* 02E740 80033CE0 4BFFE3A9 */ bl treeSearchNode -/* 02E744 80033CE4 48000014 */ b lbl_80033CF8 -lbl_80033CE8: -/* 02E748 80033CE8 8063006C */ lwz r3, 0x6c(r3) -/* 02E74C 80033CEC 38910000 */ addi r4, r17, 0 -/* 02E750 80033CF0 38BC0000 */ addi r5, r28, 0 -/* 02E754 80033CF4 4BFFE395 */ bl treeSearchNode -lbl_80033CF8: -/* 02E758 80033CF8 807C0000 */ lwz r3, 0(r28) -/* 02E75C 80033CFC 38000000 */ li r0, 0 -/* 02E760 80033D00 3A200000 */ li r17, 0 -/* 02E764 80033D04 90030028 */ stw r0, 0x28(r3) -lbl_80033D08: -/* 02E768 80033D08 28140001 */ cmplwi r20, 1 -/* 02E76C 80033D0C 40820060 */ bne lbl_80033D6C -/* 02E770 80033D10 3C760001 */ addis r3, r22, 1 -/* 02E774 80033D14 80010038 */ lwz r0, 0x38(r1) -/* 02E778 80033D18 808312A0 */ lwz r4, 0x12a0(r3) -/* 02E77C 80033D1C 80640008 */ lwz r3, 8(r4) -/* 02E780 80033D20 7C001800 */ cmpw r0, r3 -/* 02E784 80033D24 40800018 */ bge lbl_80033D3C -/* 02E788 80033D28 80640068 */ lwz r3, 0x68(r4) -/* 02E78C 80033D2C 7F85E378 */ mr r5, r28 -/* 02E790 80033D30 80810038 */ lwz r4, 0x38(r1) -/* 02E794 80033D34 4BFFE355 */ bl treeSearchNode -/* 02E798 80033D38 48000014 */ b lbl_80033D4C -lbl_80033D3C: -/* 02E79C 80033D3C 8064006C */ lwz r3, 0x6c(r4) -/* 02E7A0 80033D40 7F85E378 */ mr r5, r28 -/* 02E7A4 80033D44 80810038 */ lwz r4, 0x38(r1) -/* 02E7A8 80033D48 4BFFE341 */ bl treeSearchNode -lbl_80033D4C: -/* 02E7AC 80033D4C 2C030000 */ cmpwi r3, 0 -/* 02E7B0 80033D50 41820014 */ beq lbl_80033D64 -/* 02E7B4 80033D54 801C0000 */ lwz r0, 0(r28) -/* 02E7B8 80033D58 38600001 */ li r3, 1 -/* 02E7BC 80033D5C 90160034 */ stw r0, 0x34(r22) -/* 02E7C0 80033D60 48000114 */ b lbl_80033E74 -lbl_80033D64: -/* 02E7C4 80033D64 38600000 */ li r3, 0 -/* 02E7C8 80033D68 4800010C */ b lbl_80033E74 -lbl_80033D6C: -/* 02E7CC 80033D6C 38000000 */ li r0, 0 -/* 02E7D0 80033D70 3B200000 */ li r25, 0 -/* 02E7D4 80033D74 9801003D */ stb r0, 0x3d(r1) -/* 02E7D8 80033D78 28140000 */ cmplwi r20, 0 -/* 02E7DC 80033D7C 3BB90000 */ addi r29, r25, 0 -/* 02E7E0 80033D80 3B190000 */ addi r24, r25, 0 -/* 02E7E4 80033D84 40820018 */ bne lbl_80033D9C -/* 02E7E8 80033D88 807712A0 */ lwz r3, 0x12a0(r23) -/* 02E7EC 80033D8C A0030000 */ lhz r0, 0(r3) -/* 02E7F0 80033D90 28000F82 */ cmplwi r0, 0xf82 -/* 02E7F4 80033D94 40810008 */ ble lbl_80033D9C -/* 02E7F8 80033D98 3A000000 */ li r16, 0 -lbl_80033D9C: -/* 02E7FC 80033D9C 8801003D */ lbz r0, 0x3d(r1) -/* 02E800 80033DA0 5400063F */ clrlwi. r0, r0, 0x18 -/* 02E804 80033DA4 41820008 */ beq lbl_80033DAC -/* 02E808 80033DA8 3BFF0004 */ addi r31, r31, 4 -lbl_80033DAC: -/* 02E80C 80033DAC 5600063F */ clrlwi. r0, r16, 0x18 -/* 02E810 80033DB0 4082F694 */ bne lbl_80033444 -/* 02E814 80033DB4 8801003C */ lbz r0, 0x3c(r1) -/* 02E818 80033DB8 5400063F */ clrlwi. r0, r0, 0x18 -/* 02E81C 80033DBC 408200B4 */ bne lbl_80033E70 -/* 02E820 80033DC0 3E208000 */ lis r17, 0x8000 -/* 02E824 80033DC4 38760000 */ addi r3, r22, 0 -/* 02E828 80033DC8 38910180 */ addi r4, r17, 0x180 -/* 02E82C 80033DCC 38B1018C */ addi r5, r17, 0x18c -/* 02E830 80033DD0 4BFFE789 */ bl treeInsert -/* 02E834 80033DD4 3C760001 */ addis r3, r22, 1 -/* 02E838 80033DD8 806312A0 */ lwz r3, 0x12a0(r3) -/* 02E83C 80033DDC 38910180 */ addi r4, r17, 0x180 -/* 02E840 80033DE0 80030008 */ lwz r0, 8(r3) -/* 02E844 80033DE4 7C040000 */ cmpw r4, r0 -/* 02E848 80033DE8 40800014 */ bge lbl_80033DFC -/* 02E84C 80033DEC 80630068 */ lwz r3, 0x68(r3) -/* 02E850 80033DF0 7F85E378 */ mr r5, r28 -/* 02E854 80033DF4 4BFFE295 */ bl treeSearchNode -/* 02E858 80033DF8 48000010 */ b lbl_80033E08 -lbl_80033DFC: -/* 02E85C 80033DFC 8063006C */ lwz r3, 0x6c(r3) -/* 02E860 80033E00 7F85E378 */ mr r5, r28 -/* 02E864 80033E04 4BFFE285 */ bl treeSearchNode -lbl_80033E08: -/* 02E868 80033E08 809C0000 */ lwz r4, 0(r28) -/* 02E86C 80033E0C 38000000 */ li r0, 0 -/* 02E870 80033E10 3C760001 */ addis r3, r22, 1 -/* 02E874 80033E14 90040028 */ stw r0, 0x28(r4) -/* 02E878 80033E18 80010038 */ lwz r0, 0x38(r1) -/* 02E87C 80033E1C 808312A0 */ lwz r4, 0x12a0(r3) -/* 02E880 80033E20 80640008 */ lwz r3, 8(r4) -/* 02E884 80033E24 7C001800 */ cmpw r0, r3 -/* 02E888 80033E28 40800018 */ bge lbl_80033E40 -/* 02E88C 80033E2C 80640068 */ lwz r3, 0x68(r4) -/* 02E890 80033E30 7F85E378 */ mr r5, r28 -/* 02E894 80033E34 80810038 */ lwz r4, 0x38(r1) -/* 02E898 80033E38 4BFFE251 */ bl treeSearchNode -/* 02E89C 80033E3C 48000014 */ b lbl_80033E50 -lbl_80033E40: -/* 02E8A0 80033E40 8064006C */ lwz r3, 0x6c(r4) -/* 02E8A4 80033E44 7F85E378 */ mr r5, r28 -/* 02E8A8 80033E48 80810038 */ lwz r4, 0x38(r1) -/* 02E8AC 80033E4C 4BFFE23D */ bl treeSearchNode -lbl_80033E50: -/* 02E8B0 80033E50 2C030000 */ cmpwi r3, 0 -/* 02E8B4 80033E54 41820014 */ beq lbl_80033E68 -/* 02E8B8 80033E58 801C0000 */ lwz r0, 0(r28) -/* 02E8BC 80033E5C 38600001 */ li r3, 1 -/* 02E8C0 80033E60 90160034 */ stw r0, 0x34(r22) -/* 02E8C4 80033E64 48000010 */ b lbl_80033E74 -lbl_80033E68: -/* 02E8C8 80033E68 38600000 */ li r3, 0 -/* 02E8CC 80033E6C 48000008 */ b lbl_80033E74 -lbl_80033E70: -/* 02E8D0 80033E70 38600000 */ li r3, 0 -lbl_80033E74: -/* 02E8D4 80033E74 B9C10060 */ lmw r14, 0x60(r1) -/* 02E8D8 80033E78 800100AC */ lwz r0, 0xac(r1) -/* 02E8DC 80033E7C 382100A8 */ addi r1, r1, 0xa8 -/* 02E8E0 80033E80 7C0803A6 */ mtlr r0 -/* 02E8E4 80033E84 4E800020 */ blr - -.section .data - -jtbl_800EC0CC: - .word lbl_8003381C - .word lbl_80033A68 - .word lbl_80033A68 - .word lbl_8003381C - .word lbl_8003381C - .word lbl_80033A68 - .word lbl_8003381C - .word lbl_8003381C - .word lbl_80033A68 - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_8003381C - .word lbl_800337F0 - -jtbl_800EC130: - .word lbl_800334D8 - .word lbl_800335A0 - .word lbl_80033564 - .word lbl_80033A5C - .word lbl_80033644 - .word lbl_80033768 - .word lbl_80033768 - .word lbl_80033768 - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_800337D0 - .word lbl_800338AC - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033644 - .word lbl_80033768 - .word lbl_80033768 - .word lbl_80033768 - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_8003394C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033A5C - .word lbl_80033938 diff --git a/asm/non_matchings/cpu/cpuFreeCachedAddress.s b/asm/non_matchings/cpu/cpuFreeCachedAddress.s deleted file mode 100644 index 66084f7c..00000000 --- a/asm/non_matchings/cpu/cpuFreeCachedAddress.s +++ /dev/null @@ -1,43 +0,0 @@ -glabel cpuFreeCachedAddress -/* 031024 800365C4 3D830001 */ addis r12, r3, 1 -/* 031028 800365C8 3D230001 */ addis r9, r3, 1 -/* 03102C 800365CC 39400000 */ li r10, 0 -/* 031030 800365D0 38C00000 */ li r6, 0 -/* 031034 800365D4 398C12A4 */ addi r12, r12, 0x12a4 -/* 031038 800365D8 392912A4 */ addi r9, r9, 0x12a4 -/* 03103C 800365DC 48000068 */ b lbl_80036644 -lbl_800365E0: -/* 031040 800365E0 80090000 */ lwz r0, 0(r9) -/* 031044 800365E4 7C040000 */ cmpw r4, r0 -/* 031048 800365E8 41810050 */ bgt lbl_80036638 -/* 03104C 800365EC 7C002800 */ cmpw r0, r5 -/* 031050 800365F0 41810048 */ bgt lbl_80036638 -/* 031054 800365F4 396A0000 */ addi r11, r10, 0 -/* 031058 800365F8 7D0C3214 */ add r8, r12, r6 -/* 03105C 800365FC 48000024 */ b lbl_80036620 -lbl_80036600: -/* 031060 80036600 80E8000C */ lwz r7, 0xc(r8) -/* 031064 80036604 396B0001 */ addi r11, r11, 1 -/* 031068 80036608 80080010 */ lwz r0, 0x10(r8) -/* 03106C 8003660C 90E80000 */ stw r7, 0(r8) -/* 031070 80036610 90080004 */ stw r0, 4(r8) -/* 031074 80036614 80080014 */ lwz r0, 0x14(r8) -/* 031078 80036618 90080008 */ stw r0, 8(r8) -/* 03107C 8003661C 3908000C */ addi r8, r8, 0xc -lbl_80036620: -/* 031080 80036620 80E30020 */ lwz r7, 0x20(r3) -/* 031084 80036624 3807FFFF */ addi r0, r7, -1 -/* 031088 80036628 7C0B0000 */ cmpw r11, r0 -/* 03108C 8003662C 4180FFD4 */ blt lbl_80036600 -/* 031090 80036630 90030020 */ stw r0, 0x20(r3) -/* 031094 80036634 48000010 */ b lbl_80036644 -lbl_80036638: -/* 031098 80036638 3929000C */ addi r9, r9, 0xc -/* 03109C 8003663C 394A0001 */ addi r10, r10, 1 -/* 0310A0 80036640 38C6000C */ addi r6, r6, 0xc -lbl_80036644: -/* 0310A4 80036644 80030020 */ lwz r0, 0x20(r3) -/* 0310A8 80036648 7C0A0000 */ cmpw r10, r0 -/* 0310AC 8003664C 4180FF94 */ blt lbl_800365E0 -/* 0310B0 80036650 38600001 */ li r3, 1 -/* 0310B4 80036654 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuGetPPC.s b/asm/non_matchings/cpu/cpuGetPPC.s deleted file mode 100644 index df80cd77..00000000 --- a/asm/non_matchings/cpu/cpuGetPPC.s +++ /dev/null @@ -1,48782 +0,0 @@ -glabel cpuGetPPC -/* 039864 8003EE04 7C0802A6 */ mflr r0 -/* 039868 8003EE08 90010004 */ stw r0, 4(r1) -/* 03986C 8003EE0C 9421FF20 */ stwu r1, -0xe0(r1) -/* 039870 8003EE10 BDC10098 */ stmw r14, 0x98(r1) -/* 039874 8003EE14 7C7E1B78 */ mr r30, r3 -/* 039878 8003EE18 3B650000 */ addi r27, r5, 0 -/* 03987C 8003EE1C 3BE60000 */ addi r31, r6, 0 -/* 039880 8003EE20 9101008C */ stw r8, 0x8c(r1) -/* 039884 8003EE24 3A440000 */ addi r18, r4, 0 -/* 039888 8003EE28 7CF03B78 */ mr r16, r7 -/* 03988C 8003EE2C 39E00001 */ li r15, 1 -/* 039890 8003EE30 3A600000 */ li r19, 0 -/* 039894 8003EE34 39C00000 */ li r14, 0 -/* 039898 8003EE38 38C00000 */ li r6, 0 -/* 03989C 8003EE3C 80630008 */ lwz r3, 8(r3) -/* 0398A0 8003EE40 80A40000 */ lwz r5, 0(r4) -/* 0398A4 8003EE44 3C80800F */ lis r4, gClassCPU@ha -/* 0398A8 8003EE48 8063002C */ lwz r3, 0x2c(r3) -/* 0398AC 8003EE4C 3B44B658 */ addi r26, r4, gClassCPU@l -/* 0398B0 8003EE50 3881007C */ addi r4, r1, 0x7c -/* 0398B4 8003EE54 4802E24D */ bl ramGetBuffer -/* 0398B8 8003EE58 2C030000 */ cmpwi r3, 0 -/* 0398BC 8003EE5C 40820008 */ bne lbl_8003EE64 -/* 0398C0 8003EE60 480293C0 */ b lbl_80068220 -lbl_8003EE64: -/* 0398C4 8003EE64 8061007C */ lwz r3, 0x7c(r1) -/* 0398C8 8003EE68 3CBE0001 */ addis r5, r30, 1 -/* 0398CC 8003EE6C 83B20000 */ lwz r29, 0(r18) -/* 0398D0 8003EE70 7FC4F378 */ mr r4, r30 -/* 0398D4 8003EE74 83830000 */ lwz r28, 0(r3) -/* 0398D8 8003EE78 83030004 */ lwz r24, 4(r3) -/* 0398DC 8003EE7C 38DD0004 */ addi r6, r29, 4 -/* 0398E0 8003EE80 82E3FFFC */ lwz r23, -4(r3) -/* 0398E4 8003EE84 38FDFFFC */ addi r7, r29, -4 -/* 0398E8 8003EE88 3AC00000 */ li r22, 0 -/* 0398EC 8003EE8C 90D20000 */ stw r6, 0(r18) -/* 0398F0 8003EE90 80051EA4 */ lwz r0, 0x1ea4(r5) -/* 0398F4 8003EE94 2C000000 */ cmpwi r0, 0 -/* 0398F8 8003EE98 7C0903A6 */ mtctr r0 -/* 0398FC 8003EE9C 4081009C */ ble lbl_8003EF38 -lbl_8003EEA0: -/* 039900 8003EEA0 3C640001 */ addis r3, r4, 1 -/* 039904 8003EEA4 80031EA8 */ lwz r0, 0x1ea8(r3) -/* 039908 8003EEA8 7C00E840 */ cmplw r0, r29 -/* 03990C 8003EEAC 4082002C */ bne lbl_8003EED8 -/* 039910 8003EEB0 80A31EAC */ lwz r5, 0x1eac(r3) -/* 039914 8003EEB4 7C05E040 */ cmplw r5, r28 -/* 039918 8003EEB8 40820020 */ bne lbl_8003EED8 -/* 03991C 8003EEBC 80631EB0 */ lwz r3, 0x1eb0(r3) -/* 039920 8003EEC0 3CA30001 */ addis r5, r3, 1 -/* 039924 8003EEC4 2805FFFF */ cmplwi r5, 0xffff -/* 039928 8003EEC8 4082000C */ bne lbl_8003EED4 -/* 03992C 8003EECC 3AC00001 */ li r22, 1 -/* 039930 8003EED0 48000008 */ b lbl_8003EED8 -lbl_8003EED4: -/* 039934 8003EED4 7C7C1B78 */ mr r28, r3 -lbl_8003EED8: -/* 039938 8003EED8 7C003040 */ cmplw r0, r6 -/* 03993C 8003EEDC 40820028 */ bne lbl_8003EF04 -/* 039940 8003EEE0 3C640001 */ addis r3, r4, 1 -/* 039944 8003EEE4 80A31EAC */ lwz r5, 0x1eac(r3) -/* 039948 8003EEE8 7C05C040 */ cmplw r5, r24 -/* 03994C 8003EEEC 40820018 */ bne lbl_8003EF04 -/* 039950 8003EEF0 80631EB0 */ lwz r3, 0x1eb0(r3) -/* 039954 8003EEF4 3CA30001 */ addis r5, r3, 1 -/* 039958 8003EEF8 2805FFFF */ cmplwi r5, 0xffff -/* 03995C 8003EEFC 41820008 */ beq lbl_8003EF04 -/* 039960 8003EF00 7C781B78 */ mr r24, r3 -lbl_8003EF04: -/* 039964 8003EF04 7C003840 */ cmplw r0, r7 -/* 039968 8003EF08 40820028 */ bne lbl_8003EF30 -/* 03996C 8003EF0C 3C640001 */ addis r3, r4, 1 -/* 039970 8003EF10 80031EAC */ lwz r0, 0x1eac(r3) -/* 039974 8003EF14 7C00B840 */ cmplw r0, r23 -/* 039978 8003EF18 40820018 */ bne lbl_8003EF30 -/* 03997C 8003EF1C 80631EB0 */ lwz r3, 0x1eb0(r3) -/* 039980 8003EF20 3C030001 */ addis r0, r3, 1 -/* 039984 8003EF24 2800FFFF */ cmplwi r0, 0xffff -/* 039988 8003EF28 41820008 */ beq lbl_8003EF30 -/* 03998C 8003EF2C 7C771B78 */ mr r23, r3 -lbl_8003EF30: -/* 039990 8003EF30 3884000C */ addi r4, r4, 0xc -/* 039994 8003EF34 4200FF6C */ bdnz lbl_8003EEA0 -lbl_8003EF38: -/* 039998 8003EF38 80100000 */ lwz r0, 0(r16) -/* 03999C 8003EF3C 3C7E0001 */ addis r3, r30, 1 -/* 0399A0 8003EF40 38800000 */ li r4, 0 -/* 0399A4 8003EF44 90010084 */ stw r0, 0x84(r1) -/* 0399A8 8003EF48 3A80FFFF */ li r20, -1 -/* 0399AC 8003EF4C 9083207C */ stw r4, 0x207c(r3) -/* 0399B0 8003EF50 80010084 */ lwz r0, 0x84(r1) -/* 0399B4 8003EF54 2C000000 */ cmpwi r0, 0 -/* 0399B8 8003EF58 4082025C */ bne lbl_8003F1B4 -/* 0399BC 8003EF5C 2C160000 */ cmpwi r22, 0 -/* 0399C0 8003EF60 92832080 */ stw r20, 0x2080(r3) -/* 0399C4 8003EF64 4082003C */ bne lbl_8003EFA0 -/* 0399C8 8003EF68 7F83E378 */ mr r3, r28 -/* 0399CC 8003EF6C 480292CD */ bl cpuCheckDelaySlot -/* 0399D0 8003EF70 2C030000 */ cmpwi r3, 0 -/* 0399D4 8003EF74 4082002C */ bne lbl_8003EFA0 -/* 0399D8 8003EF78 801B0010 */ lwz r0, 0x10(r27) -/* 0399DC 8003EF7C 807B0014 */ lwz r3, 0x14(r27) -/* 0399E0 8003EF80 7C001850 */ subf r0, r0, r3 -/* 0399E4 8003EF84 7C031670 */ srawi r3, r0, 2 -/* 0399E8 8003EF88 38030001 */ addi r0, r3, 1 -/* 0399EC 8003EF8C 2C000019 */ cmpwi r0, 0x19 -/* 0399F0 8003EF90 4081000C */ ble lbl_8003EF9C -/* 0399F4 8003EF94 3AC00001 */ li r22, 1 -/* 0399F8 8003EF98 48000008 */ b lbl_8003EFA0 -lbl_8003EF9C: -/* 0399FC 8003EF9C 39C00001 */ li r14, 1 -lbl_8003EFA0: -/* 039A00 8003EFA0 281F0000 */ cmplwi r31, 0 -/* 039A04 8003EFA4 418200D0 */ beq lbl_8003F074 -/* 039A08 8003EFA8 80610084 */ lwz r3, 0x84(r1) -/* 039A0C 8003EFAC 5760843E */ srwi r0, r27, 0x10 -/* 039A10 8003EFB0 5766043E */ clrlwi r6, r27, 0x10 -/* 039A14 8003EFB4 38830001 */ addi r4, r3, 1 -/* 039A18 8003EFB8 90810084 */ stw r4, 0x84(r1) -/* 039A1C 8003EFBC 38BE0034 */ addi r5, r30, 0x34 -/* 039A20 8003EFC0 64043CA0 */ oris r4, r0, 0x3ca0 -/* 039A24 8003EFC4 5460103A */ slwi r0, r3, 2 -/* 039A28 8003EFC8 7C9F012E */ stwx r4, r31, r0 -/* 039A2C 8003EFCC 7C1E2850 */ subf r0, r30, r5 -/* 039A30 8003EFD0 5407043E */ clrlwi r7, r0, 0x10 -/* 039A34 8003EFD4 80610084 */ lwz r3, 0x84(r1) -/* 039A38 8003EFD8 381B0028 */ addi r0, r27, 0x28 -/* 039A3C 8003EFDC 7C9B0050 */ subf r4, r27, r0 -/* 039A40 8003EFE0 38030001 */ addi r0, r3, 1 -/* 039A44 8003EFE4 90010084 */ stw r0, 0x84(r1) -/* 039A48 8003EFE8 64C560A5 */ oris r5, r6, 0x60a5 -/* 039A4C 8003EFEC 5460103A */ slwi r0, r3, 2 -/* 039A50 8003EFF0 7CBF012E */ stwx r5, r31, r0 -/* 039A54 8003EFF4 3CC04182 */ lis r6, 0x4182 -/* 039A58 8003EFF8 3CA790A3 */ addis r5, r7, 0x90a3 -/* 039A5C 8003EFFC 80610084 */ lwz r3, 0x84(r1) -/* 039A60 8003F000 3CE480C5 */ addis r7, r4, 0x80c5 -/* 039A64 8003F004 3D002C06 */ lis r8, 0x2c06 -/* 039A68 8003F008 38030001 */ addi r0, r3, 1 -/* 039A6C 8003F00C 90010084 */ stw r0, 0x84(r1) -/* 039A70 8003F010 5460103A */ slwi r0, r3, 2 -/* 039A74 8003F014 38C60008 */ addi r6, r6, 8 -/* 039A78 8003F018 7CBF012E */ stwx r5, r31, r0 -/* 039A7C 8003F01C 3C849085 */ addis r4, r4, 0x9085 -/* 039A80 8003F020 80610084 */ lwz r3, 0x84(r1) -/* 039A84 8003F024 38030001 */ addi r0, r3, 1 -/* 039A88 8003F028 90010084 */ stw r0, 0x84(r1) -/* 039A8C 8003F02C 5460103A */ slwi r0, r3, 2 -/* 039A90 8003F030 7CFF012E */ stwx r7, r31, r0 -/* 039A94 8003F034 80610084 */ lwz r3, 0x84(r1) -/* 039A98 8003F038 38030001 */ addi r0, r3, 1 -/* 039A9C 8003F03C 90010084 */ stw r0, 0x84(r1) -/* 039AA0 8003F040 5460103A */ slwi r0, r3, 2 -/* 039AA4 8003F044 7D1F012E */ stwx r8, r31, r0 -/* 039AA8 8003F048 80610084 */ lwz r3, 0x84(r1) -/* 039AAC 8003F04C 38030001 */ addi r0, r3, 1 -/* 039AB0 8003F050 90010084 */ stw r0, 0x84(r1) -/* 039AB4 8003F054 5460103A */ slwi r0, r3, 2 -/* 039AB8 8003F058 7CDF012E */ stwx r6, r31, r0 -/* 039ABC 8003F05C 80610084 */ lwz r3, 0x84(r1) -/* 039AC0 8003F060 38030001 */ addi r0, r3, 1 -/* 039AC4 8003F064 90010084 */ stw r0, 0x84(r1) -/* 039AC8 8003F068 5460103A */ slwi r0, r3, 2 -/* 039ACC 8003F06C 7C9F012E */ stwx r4, r31, r0 -/* 039AD0 8003F070 48000010 */ b lbl_8003F080 -lbl_8003F074: -/* 039AD4 8003F074 80610084 */ lwz r3, 0x84(r1) -/* 039AD8 8003F078 38030007 */ addi r0, r3, 7 -/* 039ADC 8003F07C 90010084 */ stw r0, 0x84(r1) -lbl_8003F080: -/* 039AE0 8003F080 2C0E0000 */ cmpwi r14, 0 -/* 039AE4 8003F084 41820124 */ beq lbl_8003F1A8 -/* 039AE8 8003F088 281F0000 */ cmplwi r31, 0 -/* 039AEC 8003F08C 41820110 */ beq lbl_8003F19C -/* 039AF0 8003F090 80610084 */ lwz r3, 0x84(r1) -/* 039AF4 8003F094 381E0B5C */ addi r0, r30, 0xb5c -/* 039AF8 8003F098 7C9E0050 */ subf r4, r30, r0 -/* 039AFC 8003F09C 38030001 */ addi r0, r3, 1 -/* 039B00 8003F0A0 90010084 */ stw r0, 0x84(r1) -/* 039B04 8003F0A4 3C8480A3 */ addis r4, r4, 0x80a3 -/* 039B08 8003F0A8 5460103A */ slwi r0, r3, 2 -/* 039B0C 8003F0AC 7C9F012E */ stwx r4, r31, r0 -/* 039B10 8003F0B0 38BE0B60 */ addi r5, r30, 0xb60 -/* 039B14 8003F0B4 7C9E2850 */ subf r4, r30, r5 -/* 039B18 8003F0B8 80610084 */ lwz r3, 0x84(r1) -/* 039B1C 8003F0BC 3C8480C3 */ addis r4, r4, 0x80c3 -/* 039B20 8003F0C0 3CE07CA6 */ lis r7, 0x7ca6 -/* 039B24 8003F0C4 38030001 */ addi r0, r3, 1 -/* 039B28 8003F0C8 90010084 */ stw r0, 0x84(r1) -/* 039B2C 8003F0CC 5460103A */ slwi r0, r3, 2 -/* 039B30 8003F0D0 3D002C05 */ lis r8, 0x2c05 -/* 039B34 8003F0D4 7C9F012E */ stwx r4, r31, r0 -/* 039B38 8003F0D8 38872850 */ addi r4, r7, 0x2850 -/* 039B3C 8003F0DC 38E80002 */ addi r7, r8, 2 -/* 039B40 8003F0E0 80610084 */ lwz r3, 0x84(r1) -/* 039B44 8003F0E4 3D204180 */ lis r9, 0x4180 -/* 039B48 8003F0E8 39090014 */ addi r8, r9, 0x14 -/* 039B4C 8003F0EC 38030001 */ addi r0, r3, 1 -/* 039B50 8003F0F0 90010084 */ stw r0, 0x84(r1) -/* 039B54 8003F0F4 5460103A */ slwi r0, r3, 2 -/* 039B58 8003F0F8 57A5843E */ srwi r5, r29, 0x10 -/* 039B5C 8003F0FC 7C9F012E */ stwx r4, r31, r0 -/* 039B60 8003F100 64A43CA0 */ oris r4, r5, 0x3ca0 -/* 039B64 8003F104 57A6043E */ clrlwi r6, r29, 0x10 -/* 039B68 8003F108 80610084 */ lwz r3, 0x84(r1) -/* 039B6C 8003F10C 64C560A5 */ oris r5, r6, 0x60a5 -/* 039B70 8003F110 38030001 */ addi r0, r3, 1 -/* 039B74 8003F114 90010084 */ stw r0, 0x84(r1) -/* 039B78 8003F118 5460103A */ slwi r0, r3, 2 -/* 039B7C 8003F11C 7CFF012E */ stwx r7, r31, r0 -/* 039B80 8003F120 80610084 */ lwz r3, 0x84(r1) -/* 039B84 8003F124 38030001 */ addi r0, r3, 1 -/* 039B88 8003F128 90010084 */ stw r0, 0x84(r1) -/* 039B8C 8003F12C 5460103A */ slwi r0, r3, 2 -/* 039B90 8003F130 7D1F012E */ stwx r8, r31, r0 -/* 039B94 8003F134 80610084 */ lwz r3, 0x84(r1) -/* 039B98 8003F138 38030001 */ addi r0, r3, 1 -/* 039B9C 8003F13C 90010084 */ stw r0, 0x84(r1) -/* 039BA0 8003F140 5460103A */ slwi r0, r3, 2 -/* 039BA4 8003F144 7C9F012E */ stwx r4, r31, r0 -/* 039BA8 8003F148 80610084 */ lwz r3, 0x84(r1) -/* 039BAC 8003F14C 38030001 */ addi r0, r3, 1 -/* 039BB0 8003F150 90010084 */ stw r0, 0x84(r1) -/* 039BB4 8003F154 5460103A */ slwi r0, r3, 2 -/* 039BB8 8003F158 7CBF012E */ stwx r5, r31, r0 -/* 039BBC 8003F15C 80610084 */ lwz r3, 0x84(r1) -/* 039BC0 8003F160 80BE0B40 */ lwz r5, 0xb40(r30) -/* 039BC4 8003F164 5464103A */ slwi r4, r3, 2 -/* 039BC8 8003F168 7C1F2214 */ add r0, r31, r4 -/* 039BCC 8003F16C 7C002850 */ subf r0, r0, r5 -/* 039BD0 8003F170 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 039BD4 8003F174 38630001 */ addi r3, r3, 1 -/* 039BD8 8003F178 64004800 */ oris r0, r0, 0x4800 -/* 039BDC 8003F17C 90610084 */ stw r3, 0x84(r1) -/* 039BE0 8003F180 60000001 */ ori r0, r0, 1 -/* 039BE4 8003F184 7C1F212E */ stwx r0, r31, r4 -/* 039BE8 8003F188 80610084 */ lwz r3, 0x84(r1) -/* 039BEC 8003F18C 38030001 */ addi r0, r3, 1 -/* 039BF0 8003F190 90610090 */ stw r3, 0x90(r1) -/* 039BF4 8003F194 90010084 */ stw r0, 0x84(r1) -/* 039BF8 8003F198 48000010 */ b lbl_8003F1A8 -lbl_8003F19C: -/* 039BFC 8003F19C 80610084 */ lwz r3, 0x84(r1) -/* 039C00 8003F1A0 38030009 */ addi r0, r3, 9 -/* 039C04 8003F1A4 90010084 */ stw r0, 0x84(r1) -lbl_8003F1A8: -/* 039C08 8003F1A8 80010084 */ lwz r0, 0x84(r1) -/* 039C0C 8003F1AC 90100000 */ stw r0, 0(r16) -/* 039C10 8003F1B0 48000010 */ b lbl_8003F1C0 -lbl_8003F1B4: -/* 039C14 8003F1B4 7EE3BB78 */ mr r3, r23 -/* 039C18 8003F1B8 48029081 */ bl cpuCheckDelaySlot -/* 039C1C 8003F1BC 7C731B78 */ mr r19, r3 -lbl_8003F1C0: -/* 039C20 8003F1C0 281C0000 */ cmplwi r28, 0 -/* 039C24 8003F1C4 38600000 */ li r3, 0 -/* 039C28 8003F1C8 4182002C */ beq lbl_8003F1F4 -/* 039C2C 8003F1CC 2C130000 */ cmpwi r19, 0 -/* 039C30 8003F1D0 38800001 */ li r4, 1 -/* 039C34 8003F1D4 40820014 */ bne lbl_8003F1E8 -/* 039C38 8003F1D8 8001008C */ lwz r0, 0x8c(r1) -/* 039C3C 8003F1DC 2C000000 */ cmpwi r0, 0 -/* 039C40 8003F1E0 40820008 */ bne lbl_8003F1E8 -/* 039C44 8003F1E4 7C641B78 */ mr r4, r3 -lbl_8003F1E8: -/* 039C48 8003F1E8 2C040000 */ cmpwi r4, 0 -/* 039C4C 8003F1EC 41820008 */ beq lbl_8003F1F4 -/* 039C50 8003F1F0 38600001 */ li r3, 1 -lbl_8003F1F4: -/* 039C54 8003F1F4 2C030000 */ cmpwi r3, 0 -/* 039C58 8003F1F8 4182000C */ beq lbl_8003F204 -/* 039C5C 8003F1FC 3A200001 */ li r17, 1 -/* 039C60 8003F200 48000008 */ b lbl_8003F208 -lbl_8003F204: -/* 039C64 8003F204 3A200000 */ li r17, 0 -lbl_8003F208: -/* 039C68 8003F208 2C160000 */ cmpwi r22, 0 -/* 039C6C 8003F20C 41820008 */ beq lbl_8003F214 -/* 039C70 8003F210 48028D24 */ b lbl_80067F34 -lbl_8003F214: -/* 039C74 8003F214 281F0000 */ cmplwi r31, 0 -/* 039C78 8003F218 4182000C */ beq lbl_8003F224 -/* 039C7C 8003F21C 2C110000 */ cmpwi r17, 0 -/* 039C80 8003F220 41820020 */ beq lbl_8003F240 -lbl_8003F224: -/* 039C84 8003F224 3C7E0001 */ addis r3, r30, 1 -/* 039C88 8003F228 38000000 */ li r0, 0 -/* 039C8C 8003F22C 90032068 */ stw r0, 0x2068(r3) -/* 039C90 8003F230 3880FFFF */ li r4, -1 -/* 039C94 8003F234 90032074 */ stw r0, 0x2074(r3) -/* 039C98 8003F238 90832080 */ stw r4, 0x2080(r3) -/* 039C9C 8003F23C 90032088 */ stw r0, 0x2088(r3) -lbl_8003F240: -/* 039CA0 8003F240 578036BE */ srwi r0, r28, 0x1a -/* 039CA4 8003F244 2800003F */ cmplwi r0, 0x3f -/* 039CA8 8003F248 40810008 */ ble lbl_8003F250 -/* 039CAC 8003F24C 48028CE4 */ b lbl_80067F30 -lbl_8003F250: -/* 039CB0 8003F250 3C60800F */ lis r3, jtbl_800ED3B0@ha -/* 039CB4 8003F254 3863D3B0 */ addi r3, r3, jtbl_800ED3B0@l -/* 039CB8 8003F258 5400103A */ slwi r0, r0, 2 -/* 039CBC 8003F25C 7C03002E */ lwzx r0, r3, r0 -/* 039CC0 8003F260 7C0903A6 */ mtctr r0 -/* 039CC4 8003F264 4E800420 */ bctr -.global lbl_8003F268 -lbl_8003F268: -/* 039CC8 8003F268 578006BE */ clrlwi r0, r28, 0x1a -/* 039CCC 8003F26C 2800003F */ cmplwi r0, 0x3f -/* 039CD0 8003F270 40810008 */ ble lbl_8003F278 -/* 039CD4 8003F274 4800A42C */ b lbl_800496A0 -lbl_8003F278: -/* 039CD8 8003F278 3C60800F */ lis r3, jtbl_800ED2B0@ha -/* 039CDC 8003F27C 3863D2B0 */ addi r3, r3, jtbl_800ED2B0@l -/* 039CE0 8003F280 5400103A */ slwi r0, r0, 2 -/* 039CE4 8003F284 7C03002E */ lwzx r0, r3, r0 -/* 039CE8 8003F288 7C0903A6 */ mtctr r0 -/* 039CEC 8003F28C 4E800420 */ bctr -.global lbl_8003F290 -lbl_8003F290: -/* 039CF0 8003F290 281C0000 */ cmplwi r28, 0 -/* 039CF4 8003F294 4182025C */ beq lbl_8003F4F0 -/* 039CF8 8003F298 3C7E0001 */ addis r3, r30, 1 -/* 039CFC 8003F29C 578AAEFE */ rlwinm r10, r28, 0x15, 0x1b, 0x1f -/* 039D00 8003F2A0 80032058 */ lwz r0, 0x2058(r3) -/* 039D04 8003F2A4 38800001 */ li r4, 1 -/* 039D08 8003F2A8 7C845030 */ slw r4, r4, r10 -/* 039D0C 8003F2AC 7C042078 */ andc r4, r0, r4 -/* 039D10 8003F2B0 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 039D14 8003F2B4 90832058 */ stw r4, 0x2058(r3) -/* 039D18 8003F2B8 7CFA0214 */ add r7, r26, r0 -/* 039D1C 8003F2BC 84070818 */ lwzu r0, 0x818(r7) -/* 039D20 8003F2C0 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 039D24 8003F2C4 41820008 */ beq lbl_8003F2CC -/* 039D28 8003F2C8 38000005 */ li r0, 5 -lbl_8003F2CC: -/* 039D2C 8003F2CC 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 039D30 8003F2D0 7C7A1A14 */ add r3, r26, r3 -/* 039D34 8003F2D4 81230818 */ lwz r9, 0x818(r3) -/* 039D38 8003F2D8 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 039D3C 8003F2DC 552305EF */ rlwinm. r3, r9, 0, 0x17, 0x17 -/* 039D40 8003F2E0 4182014C */ beq lbl_8003F42C -/* 039D44 8003F2E4 3C7E0001 */ addis r3, r30, 1 -/* 039D48 8003F2E8 80832064 */ lwz r4, 0x2064(r3) -/* 039D4C 8003F2EC 39200006 */ li r9, 6 -/* 039D50 8003F2F0 28040000 */ cmplwi r4, 0 -/* 039D54 8003F2F4 4082000C */ bne lbl_8003F300 -/* 039D58 8003F2F8 38800000 */ li r4, 0 -/* 039D5C 8003F2FC 48000094 */ b lbl_8003F390 -lbl_8003F300: -/* 039D60 8003F300 80832068 */ lwz r4, 0x2068(r3) -/* 039D64 8003F304 28040000 */ cmplwi r4, 0 -/* 039D68 8003F308 4082000C */ bne lbl_8003F314 -/* 039D6C 8003F30C 38800000 */ li r4, 0 -/* 039D70 8003F310 48000080 */ b lbl_8003F390 -lbl_8003F314: -/* 039D74 8003F314 8063206C */ lwz r3, 0x206c(r3) -/* 039D78 8003F318 7C081800 */ cmpw r8, r3 -/* 039D7C 8003F31C 4182000C */ beq lbl_8003F328 -/* 039D80 8003F320 38800000 */ li r4, 0 -/* 039D84 8003F324 4800006C */ b lbl_8003F390 -lbl_8003F328: -/* 039D88 8003F328 80BE0034 */ lwz r5, 0x34(r30) -/* 039D8C 8003F32C 38800000 */ li r4, 0 -/* 039D90 8003F330 80650008 */ lwz r3, 8(r5) -/* 039D94 8003F334 2C030000 */ cmpwi r3, 0 -/* 039D98 8003F338 7C6903A6 */ mtctr r3 -/* 039D9C 8003F33C 40810028 */ ble lbl_8003F364 -lbl_8003F340: -/* 039DA0 8003F340 8065000C */ lwz r3, 0xc(r5) -/* 039DA4 8003F344 38C40004 */ addi r6, r4, 4 -/* 039DA8 8003F348 7C63302E */ lwzx r3, r3, r6 -/* 039DAC 8003F34C 7C1D1800 */ cmpw r29, r3 -/* 039DB0 8003F350 4082000C */ bne lbl_8003F35C -/* 039DB4 8003F354 38600000 */ li r3, 0 -/* 039DB8 8003F358 48000010 */ b lbl_8003F368 -lbl_8003F35C: -/* 039DBC 8003F35C 38840008 */ addi r4, r4, 8 -/* 039DC0 8003F360 4200FFE0 */ bdnz lbl_8003F340 -lbl_8003F364: -/* 039DC4 8003F364 38600001 */ li r3, 1 -lbl_8003F368: -/* 039DC8 8003F368 2C030000 */ cmpwi r3, 0 -/* 039DCC 8003F36C 40820014 */ bne lbl_8003F380 -/* 039DD0 8003F370 38800000 */ li r4, 0 -/* 039DD4 8003F374 3C7E0001 */ addis r3, r30, 1 -/* 039DD8 8003F378 90832068 */ stw r4, 0x2068(r3) -/* 039DDC 8003F37C 48000014 */ b lbl_8003F390 -lbl_8003F380: -/* 039DE0 8003F380 3C7E0001 */ addis r3, r30, 1 -/* 039DE4 8003F384 38800000 */ li r4, 0 -/* 039DE8 8003F388 90832068 */ stw r4, 0x2068(r3) -/* 039DEC 8003F38C 38800001 */ li r4, 1 -lbl_8003F390: -/* 039DF0 8003F390 2C040000 */ cmpwi r4, 0 -/* 039DF4 8003F394 41820050 */ beq lbl_8003F3E4 -/* 039DF8 8003F398 281F0000 */ cmplwi r31, 0 -/* 039DFC 8003F39C 41820038 */ beq lbl_8003F3D4 -/* 039E00 8003F3A0 3C9E0001 */ addis r4, r30, 1 -/* 039E04 8003F3A4 80610084 */ lwz r3, 0x84(r1) -/* 039E08 8003F3A8 80A42070 */ lwz r5, 0x2070(r4) -/* 039E0C 8003F3AC 38C30001 */ addi r6, r3, 1 -/* 039E10 8003F3B0 54A4A814 */ slwi r4, r5, 0x15 -/* 039E14 8003F3B4 90C10084 */ stw r6, 0x84(r1) -/* 039E18 8003F3B8 64847C06 */ oris r4, r4, 0x7c06 -/* 039E1C 8003F3BC 54A55828 */ slwi r5, r5, 0xb -/* 039E20 8003F3C0 60840378 */ ori r4, r4, 0x378 -/* 039E24 8003F3C4 7CA42378 */ or r4, r5, r4 -/* 039E28 8003F3C8 5463103A */ slwi r3, r3, 2 -/* 039E2C 8003F3CC 7C9F192E */ stwx r4, r31, r3 -/* 039E30 8003F3D0 4800005C */ b lbl_8003F42C -lbl_8003F3D4: -/* 039E34 8003F3D4 80610084 */ lwz r3, 0x84(r1) -/* 039E38 8003F3D8 38630001 */ addi r3, r3, 1 -/* 039E3C 8003F3DC 90610084 */ stw r3, 0x84(r1) -/* 039E40 8003F3E0 4800004C */ b lbl_8003F42C -lbl_8003F3E4: -/* 039E44 8003F3E4 281F0000 */ cmplwi r31, 0 -/* 039E48 8003F3E8 41820038 */ beq lbl_8003F420 -/* 039E4C 8003F3EC 55041838 */ slwi r4, r8, 3 -/* 039E50 8003F3F0 80610084 */ lwz r3, 0x84(r1) -/* 039E54 8003F3F4 38840040 */ addi r4, r4, 0x40 -/* 039E58 8003F3F8 7C9E2214 */ add r4, r30, r4 -/* 039E5C 8003F3FC 7C9E2050 */ subf r4, r30, r4 -/* 039E60 8003F400 38840004 */ addi r4, r4, 4 -/* 039E64 8003F404 38A30001 */ addi r5, r3, 1 -/* 039E68 8003F408 5484043E */ clrlwi r4, r4, 0x10 -/* 039E6C 8003F40C 90A10084 */ stw r5, 0x84(r1) -/* 039E70 8003F410 3C8480C3 */ addis r4, r4, 0x80c3 -/* 039E74 8003F414 5463103A */ slwi r3, r3, 2 -/* 039E78 8003F418 7C9F192E */ stwx r4, r31, r3 -/* 039E7C 8003F41C 48000010 */ b lbl_8003F42C -lbl_8003F420: -/* 039E80 8003F420 80610084 */ lwz r3, 0x84(r1) -/* 039E84 8003F424 38630001 */ addi r3, r3, 1 -/* 039E88 8003F428 90610084 */ stw r3, 0x84(r1) -lbl_8003F42C: -/* 039E8C 8003F42C 281F0000 */ cmplwi r31, 0 -/* 039E90 8003F430 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 039E94 8003F434 2066001F */ subfic r3, r6, 0x1f -/* 039E98 8003F438 4182003C */ beq lbl_8003F474 -/* 039E9C 8003F43C 80810084 */ lwz r4, 0x84(r1) -/* 039EA0 8003F440 5525A814 */ slwi r5, r9, 0x15 -/* 039EA4 8003F444 64A55400 */ oris r5, r5, 0x5400 -/* 039EA8 8003F448 5408801E */ slwi r8, r0, 0x10 -/* 039EAC 8003F44C 39240001 */ addi r9, r4, 1 -/* 039EB0 8003F450 54C65828 */ slwi r6, r6, 0xb -/* 039EB4 8003F454 91210084 */ stw r9, 0x84(r1) -/* 039EB8 8003F458 7CA54378 */ or r5, r5, r8 -/* 039EBC 8003F45C 5463083C */ slwi r3, r3, 1 -/* 039EC0 8003F460 7CC52B78 */ or r5, r6, r5 -/* 039EC4 8003F464 7C632B78 */ or r3, r3, r5 -/* 039EC8 8003F468 5484103A */ slwi r4, r4, 2 -/* 039ECC 8003F46C 7C7F212E */ stwx r3, r31, r4 -/* 039ED0 8003F470 48000010 */ b lbl_8003F480 -lbl_8003F474: -/* 039ED4 8003F474 80610084 */ lwz r3, 0x84(r1) -/* 039ED8 8003F478 38630001 */ addi r3, r3, 1 -/* 039EDC 8003F47C 90610084 */ stw r3, 0x84(r1) -lbl_8003F480: -/* 039EE0 8003F480 80670000 */ lwz r3, 0(r7) -/* 039EE4 8003F484 546305EF */ rlwinm. r3, r3, 0, 0x17, 0x17 -/* 039EE8 8003F488 40820008 */ bne lbl_8003F490 -/* 039EEC 8003F48C 48028AA8 */ b lbl_80067F34 -lbl_8003F490: -/* 039EF0 8003F490 3C7E0001 */ addis r3, r30, 1 -/* 039EF4 8003F494 38800002 */ li r4, 2 -/* 039EF8 8003F498 90832068 */ stw r4, 0x2068(r3) -/* 039EFC 8003F49C 281F0000 */ cmplwi r31, 0 -/* 039F00 8003F4A0 9143206C */ stw r10, 0x206c(r3) -/* 039F04 8003F4A4 90032070 */ stw r0, 0x2070(r3) -/* 039F08 8003F4A8 41820038 */ beq lbl_8003F4E0 -/* 039F0C 8003F4AC 55441838 */ slwi r4, r10, 3 -/* 039F10 8003F4B0 80610084 */ lwz r3, 0x84(r1) -/* 039F14 8003F4B4 38040040 */ addi r0, r4, 0x40 -/* 039F18 8003F4B8 7C1E0214 */ add r0, r30, r0 -/* 039F1C 8003F4BC 7C9E0050 */ subf r4, r30, r0 -/* 039F20 8003F4C0 38840004 */ addi r4, r4, 4 -/* 039F24 8003F4C4 38030001 */ addi r0, r3, 1 -/* 039F28 8003F4C8 5484043E */ clrlwi r4, r4, 0x10 -/* 039F2C 8003F4CC 90010084 */ stw r0, 0x84(r1) -/* 039F30 8003F4D0 3C0490A3 */ addis r0, r4, 0x90a3 -/* 039F34 8003F4D4 5463103A */ slwi r3, r3, 2 -/* 039F38 8003F4D8 7C1F192E */ stwx r0, r31, r3 -/* 039F3C 8003F4DC 48028A58 */ b lbl_80067F34 -lbl_8003F4E0: -/* 039F40 8003F4E0 80610084 */ lwz r3, 0x84(r1) -/* 039F44 8003F4E4 38030001 */ addi r0, r3, 1 -/* 039F48 8003F4E8 90010084 */ stw r0, 0x84(r1) -/* 039F4C 8003F4EC 48028A48 */ b lbl_80067F34 -lbl_8003F4F0: -/* 039F50 8003F4F0 281F0000 */ cmplwi r31, 0 -/* 039F54 8003F4F4 41820020 */ beq lbl_8003F514 -/* 039F58 8003F4F8 80610084 */ lwz r3, 0x84(r1) -/* 039F5C 8003F4FC 3C806000 */ lis r4, 0x6000 -/* 039F60 8003F500 38030001 */ addi r0, r3, 1 -/* 039F64 8003F504 90010084 */ stw r0, 0x84(r1) -/* 039F68 8003F508 5460103A */ slwi r0, r3, 2 -/* 039F6C 8003F50C 7C9F012E */ stwx r4, r31, r0 -/* 039F70 8003F510 48028A24 */ b lbl_80067F34 -lbl_8003F514: -/* 039F74 8003F514 80610084 */ lwz r3, 0x84(r1) -/* 039F78 8003F518 38030001 */ addi r0, r3, 1 -/* 039F7C 8003F51C 90010084 */ stw r0, 0x84(r1) -/* 039F80 8003F520 48028A14 */ b lbl_80067F34 -.global lbl_8003F524 -lbl_8003F524: -/* 039F84 8003F524 3C7E0001 */ addis r3, r30, 1 -/* 039F88 8003F528 578AAEFE */ rlwinm r10, r28, 0x15, 0x1b, 0x1f -/* 039F8C 8003F52C 80032058 */ lwz r0, 0x2058(r3) -/* 039F90 8003F530 38800001 */ li r4, 1 -/* 039F94 8003F534 7C845030 */ slw r4, r4, r10 -/* 039F98 8003F538 7C042078 */ andc r4, r0, r4 -/* 039F9C 8003F53C 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 039FA0 8003F540 90832058 */ stw r4, 0x2058(r3) -/* 039FA4 8003F544 7CFA0214 */ add r7, r26, r0 -/* 039FA8 8003F548 84070818 */ lwzu r0, 0x818(r7) -/* 039FAC 8003F54C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 039FB0 8003F550 41820008 */ beq lbl_8003F558 -/* 039FB4 8003F554 38000005 */ li r0, 5 -lbl_8003F558: -/* 039FB8 8003F558 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 039FBC 8003F55C 7C7A1A14 */ add r3, r26, r3 -/* 039FC0 8003F560 81230818 */ lwz r9, 0x818(r3) -/* 039FC4 8003F564 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 039FC8 8003F568 552305EF */ rlwinm. r3, r9, 0, 0x17, 0x17 -/* 039FCC 8003F56C 4182014C */ beq lbl_8003F6B8 -/* 039FD0 8003F570 3C7E0001 */ addis r3, r30, 1 -/* 039FD4 8003F574 80832064 */ lwz r4, 0x2064(r3) -/* 039FD8 8003F578 39200006 */ li r9, 6 -/* 039FDC 8003F57C 28040000 */ cmplwi r4, 0 -/* 039FE0 8003F580 4082000C */ bne lbl_8003F58C -/* 039FE4 8003F584 38800000 */ li r4, 0 -/* 039FE8 8003F588 48000094 */ b lbl_8003F61C -lbl_8003F58C: -/* 039FEC 8003F58C 80832068 */ lwz r4, 0x2068(r3) -/* 039FF0 8003F590 28040000 */ cmplwi r4, 0 -/* 039FF4 8003F594 4082000C */ bne lbl_8003F5A0 -/* 039FF8 8003F598 38800000 */ li r4, 0 -/* 039FFC 8003F59C 48000080 */ b lbl_8003F61C -lbl_8003F5A0: -/* 03A000 8003F5A0 8063206C */ lwz r3, 0x206c(r3) -/* 03A004 8003F5A4 7C081800 */ cmpw r8, r3 -/* 03A008 8003F5A8 4182000C */ beq lbl_8003F5B4 -/* 03A00C 8003F5AC 38800000 */ li r4, 0 -/* 03A010 8003F5B0 4800006C */ b lbl_8003F61C -lbl_8003F5B4: -/* 03A014 8003F5B4 80BE0034 */ lwz r5, 0x34(r30) -/* 03A018 8003F5B8 38800000 */ li r4, 0 -/* 03A01C 8003F5BC 80650008 */ lwz r3, 8(r5) -/* 03A020 8003F5C0 2C030000 */ cmpwi r3, 0 -/* 03A024 8003F5C4 7C6903A6 */ mtctr r3 -/* 03A028 8003F5C8 40810028 */ ble lbl_8003F5F0 -lbl_8003F5CC: -/* 03A02C 8003F5CC 8065000C */ lwz r3, 0xc(r5) -/* 03A030 8003F5D0 38C40004 */ addi r6, r4, 4 -/* 03A034 8003F5D4 7C63302E */ lwzx r3, r3, r6 -/* 03A038 8003F5D8 7C1D1800 */ cmpw r29, r3 -/* 03A03C 8003F5DC 4082000C */ bne lbl_8003F5E8 -/* 03A040 8003F5E0 38600000 */ li r3, 0 -/* 03A044 8003F5E4 48000010 */ b lbl_8003F5F4 -lbl_8003F5E8: -/* 03A048 8003F5E8 38840008 */ addi r4, r4, 8 -/* 03A04C 8003F5EC 4200FFE0 */ bdnz lbl_8003F5CC -lbl_8003F5F0: -/* 03A050 8003F5F0 38600001 */ li r3, 1 -lbl_8003F5F4: -/* 03A054 8003F5F4 2C030000 */ cmpwi r3, 0 -/* 03A058 8003F5F8 40820014 */ bne lbl_8003F60C -/* 03A05C 8003F5FC 38800000 */ li r4, 0 -/* 03A060 8003F600 3C7E0001 */ addis r3, r30, 1 -/* 03A064 8003F604 90832068 */ stw r4, 0x2068(r3) -/* 03A068 8003F608 48000014 */ b lbl_8003F61C -lbl_8003F60C: -/* 03A06C 8003F60C 3C7E0001 */ addis r3, r30, 1 -/* 03A070 8003F610 38800000 */ li r4, 0 -/* 03A074 8003F614 90832068 */ stw r4, 0x2068(r3) -/* 03A078 8003F618 38800001 */ li r4, 1 -lbl_8003F61C: -/* 03A07C 8003F61C 2C040000 */ cmpwi r4, 0 -/* 03A080 8003F620 41820050 */ beq lbl_8003F670 -/* 03A084 8003F624 281F0000 */ cmplwi r31, 0 -/* 03A088 8003F628 41820038 */ beq lbl_8003F660 -/* 03A08C 8003F62C 3C9E0001 */ addis r4, r30, 1 -/* 03A090 8003F630 80610084 */ lwz r3, 0x84(r1) -/* 03A094 8003F634 80A42070 */ lwz r5, 0x2070(r4) -/* 03A098 8003F638 38C30001 */ addi r6, r3, 1 -/* 03A09C 8003F63C 54A4A814 */ slwi r4, r5, 0x15 -/* 03A0A0 8003F640 90C10084 */ stw r6, 0x84(r1) -/* 03A0A4 8003F644 64847C06 */ oris r4, r4, 0x7c06 -/* 03A0A8 8003F648 54A55828 */ slwi r5, r5, 0xb -/* 03A0AC 8003F64C 60840378 */ ori r4, r4, 0x378 -/* 03A0B0 8003F650 7CA42378 */ or r4, r5, r4 -/* 03A0B4 8003F654 5463103A */ slwi r3, r3, 2 -/* 03A0B8 8003F658 7C9F192E */ stwx r4, r31, r3 -/* 03A0BC 8003F65C 4800005C */ b lbl_8003F6B8 -lbl_8003F660: -/* 03A0C0 8003F660 80610084 */ lwz r3, 0x84(r1) -/* 03A0C4 8003F664 38630001 */ addi r3, r3, 1 -/* 03A0C8 8003F668 90610084 */ stw r3, 0x84(r1) -/* 03A0CC 8003F66C 4800004C */ b lbl_8003F6B8 -lbl_8003F670: -/* 03A0D0 8003F670 281F0000 */ cmplwi r31, 0 -/* 03A0D4 8003F674 41820038 */ beq lbl_8003F6AC -/* 03A0D8 8003F678 55041838 */ slwi r4, r8, 3 -/* 03A0DC 8003F67C 80610084 */ lwz r3, 0x84(r1) -/* 03A0E0 8003F680 38840040 */ addi r4, r4, 0x40 -/* 03A0E4 8003F684 7C9E2214 */ add r4, r30, r4 -/* 03A0E8 8003F688 7C9E2050 */ subf r4, r30, r4 -/* 03A0EC 8003F68C 38840004 */ addi r4, r4, 4 -/* 03A0F0 8003F690 38A30001 */ addi r5, r3, 1 -/* 03A0F4 8003F694 5484043E */ clrlwi r4, r4, 0x10 -/* 03A0F8 8003F698 90A10084 */ stw r5, 0x84(r1) -/* 03A0FC 8003F69C 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03A100 8003F6A0 5463103A */ slwi r3, r3, 2 -/* 03A104 8003F6A4 7C9F192E */ stwx r4, r31, r3 -/* 03A108 8003F6A8 48000010 */ b lbl_8003F6B8 -lbl_8003F6AC: -/* 03A10C 8003F6AC 80610084 */ lwz r3, 0x84(r1) -/* 03A110 8003F6B0 38630001 */ addi r3, r3, 1 -/* 03A114 8003F6B4 90610084 */ stw r3, 0x84(r1) -lbl_8003F6B8: -/* 03A118 8003F6B8 281F0000 */ cmplwi r31, 0 -/* 03A11C 8003F6BC 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 03A120 8003F6C0 20A60020 */ subfic r5, r6, 0x20 -/* 03A124 8003F6C4 41820040 */ beq lbl_8003F704 -/* 03A128 8003F6C8 5524A814 */ slwi r4, r9, 0x15 -/* 03A12C 8003F6CC 80610084 */ lwz r3, 0x84(r1) -/* 03A130 8003F6D0 64845400 */ oris r4, r4, 0x5400 -/* 03A134 8003F6D4 5408801E */ slwi r8, r0, 0x10 -/* 03A138 8003F6D8 39230001 */ addi r9, r3, 1 -/* 03A13C 8003F6DC 54A55828 */ slwi r5, r5, 0xb -/* 03A140 8003F6E0 91210084 */ stw r9, 0x84(r1) -/* 03A144 8003F6E4 7C844378 */ or r4, r4, r8 -/* 03A148 8003F6E8 54C63032 */ slwi r6, r6, 6 -/* 03A14C 8003F6EC 7CA42378 */ or r4, r5, r4 -/* 03A150 8003F6F0 7CC42378 */ or r4, r6, r4 -/* 03A154 8003F6F4 6084003E */ ori r4, r4, 0x3e -/* 03A158 8003F6F8 5463103A */ slwi r3, r3, 2 -/* 03A15C 8003F6FC 7C9F192E */ stwx r4, r31, r3 -/* 03A160 8003F700 48000010 */ b lbl_8003F710 -lbl_8003F704: -/* 03A164 8003F704 80610084 */ lwz r3, 0x84(r1) -/* 03A168 8003F708 38630001 */ addi r3, r3, 1 -/* 03A16C 8003F70C 90610084 */ stw r3, 0x84(r1) -lbl_8003F710: -/* 03A170 8003F710 80670000 */ lwz r3, 0(r7) -/* 03A174 8003F714 546305EF */ rlwinm. r3, r3, 0, 0x17, 0x17 -/* 03A178 8003F718 40820008 */ bne lbl_8003F720 -/* 03A17C 8003F71C 48028818 */ b lbl_80067F34 -lbl_8003F720: -/* 03A180 8003F720 3C7E0001 */ addis r3, r30, 1 -/* 03A184 8003F724 38800002 */ li r4, 2 -/* 03A188 8003F728 90832068 */ stw r4, 0x2068(r3) -/* 03A18C 8003F72C 281F0000 */ cmplwi r31, 0 -/* 03A190 8003F730 9143206C */ stw r10, 0x206c(r3) -/* 03A194 8003F734 90032070 */ stw r0, 0x2070(r3) -/* 03A198 8003F738 41820038 */ beq lbl_8003F770 -/* 03A19C 8003F73C 55441838 */ slwi r4, r10, 3 -/* 03A1A0 8003F740 80610084 */ lwz r3, 0x84(r1) -/* 03A1A4 8003F744 38040040 */ addi r0, r4, 0x40 -/* 03A1A8 8003F748 7C1E0214 */ add r0, r30, r0 -/* 03A1AC 8003F74C 7C9E0050 */ subf r4, r30, r0 -/* 03A1B0 8003F750 38840004 */ addi r4, r4, 4 -/* 03A1B4 8003F754 38030001 */ addi r0, r3, 1 -/* 03A1B8 8003F758 5484043E */ clrlwi r4, r4, 0x10 -/* 03A1BC 8003F75C 90010084 */ stw r0, 0x84(r1) -/* 03A1C0 8003F760 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03A1C4 8003F764 5463103A */ slwi r3, r3, 2 -/* 03A1C8 8003F768 7C1F192E */ stwx r0, r31, r3 -/* 03A1CC 8003F76C 480287C8 */ b lbl_80067F34 -lbl_8003F770: -/* 03A1D0 8003F770 80610084 */ lwz r3, 0x84(r1) -/* 03A1D4 8003F774 38030001 */ addi r0, r3, 1 -/* 03A1D8 8003F778 90010084 */ stw r0, 0x84(r1) -/* 03A1DC 8003F77C 480287B8 */ b lbl_80067F34 -.global lbl_8003F780 -lbl_8003F780: -/* 03A1E0 8003F780 3C7E0001 */ addis r3, r30, 1 -/* 03A1E4 8003F784 5789AEFE */ rlwinm r9, r28, 0x15, 0x1b, 0x1f -/* 03A1E8 8003F788 80032058 */ lwz r0, 0x2058(r3) -/* 03A1EC 8003F78C 38800001 */ li r4, 1 -/* 03A1F0 8003F790 7C844830 */ slw r4, r4, r9 -/* 03A1F4 8003F794 7C042078 */ andc r4, r0, r4 -/* 03A1F8 8003F798 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 03A1FC 8003F79C 90832058 */ stw r4, 0x2058(r3) -/* 03A200 8003F7A0 7CFA0214 */ add r7, r26, r0 -/* 03A204 8003F7A4 84070818 */ lwzu r0, 0x818(r7) -/* 03A208 8003F7A8 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03A20C 8003F7AC 41820008 */ beq lbl_8003F7B4 -/* 03A210 8003F7B0 38000005 */ li r0, 5 -lbl_8003F7B4: -/* 03A214 8003F7B4 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 03A218 8003F7B8 7C7A1A14 */ add r3, r26, r3 -/* 03A21C 8003F7BC 81430818 */ lwz r10, 0x818(r3) -/* 03A220 8003F7C0 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 03A224 8003F7C4 554305EF */ rlwinm. r3, r10, 0, 0x17, 0x17 -/* 03A228 8003F7C8 4182014C */ beq lbl_8003F914 -/* 03A22C 8003F7CC 3C7E0001 */ addis r3, r30, 1 -/* 03A230 8003F7D0 80832064 */ lwz r4, 0x2064(r3) -/* 03A234 8003F7D4 39400006 */ li r10, 6 -/* 03A238 8003F7D8 28040000 */ cmplwi r4, 0 -/* 03A23C 8003F7DC 4082000C */ bne lbl_8003F7E8 -/* 03A240 8003F7E0 38800000 */ li r4, 0 -/* 03A244 8003F7E4 48000094 */ b lbl_8003F878 -lbl_8003F7E8: -/* 03A248 8003F7E8 80832068 */ lwz r4, 0x2068(r3) -/* 03A24C 8003F7EC 28040000 */ cmplwi r4, 0 -/* 03A250 8003F7F0 4082000C */ bne lbl_8003F7FC -/* 03A254 8003F7F4 38800000 */ li r4, 0 -/* 03A258 8003F7F8 48000080 */ b lbl_8003F878 -lbl_8003F7FC: -/* 03A25C 8003F7FC 8063206C */ lwz r3, 0x206c(r3) -/* 03A260 8003F800 7C081800 */ cmpw r8, r3 -/* 03A264 8003F804 4182000C */ beq lbl_8003F810 -/* 03A268 8003F808 38800000 */ li r4, 0 -/* 03A26C 8003F80C 4800006C */ b lbl_8003F878 -lbl_8003F810: -/* 03A270 8003F810 80BE0034 */ lwz r5, 0x34(r30) -/* 03A274 8003F814 38800000 */ li r4, 0 -/* 03A278 8003F818 80650008 */ lwz r3, 8(r5) -/* 03A27C 8003F81C 2C030000 */ cmpwi r3, 0 -/* 03A280 8003F820 7C6903A6 */ mtctr r3 -/* 03A284 8003F824 40810028 */ ble lbl_8003F84C -lbl_8003F828: -/* 03A288 8003F828 8065000C */ lwz r3, 0xc(r5) -/* 03A28C 8003F82C 38C40004 */ addi r6, r4, 4 -/* 03A290 8003F830 7C63302E */ lwzx r3, r3, r6 -/* 03A294 8003F834 7C1D1800 */ cmpw r29, r3 -/* 03A298 8003F838 4082000C */ bne lbl_8003F844 -/* 03A29C 8003F83C 38600000 */ li r3, 0 -/* 03A2A0 8003F840 48000010 */ b lbl_8003F850 -lbl_8003F844: -/* 03A2A4 8003F844 38840008 */ addi r4, r4, 8 -/* 03A2A8 8003F848 4200FFE0 */ bdnz lbl_8003F828 -lbl_8003F84C: -/* 03A2AC 8003F84C 38600001 */ li r3, 1 -lbl_8003F850: -/* 03A2B0 8003F850 2C030000 */ cmpwi r3, 0 -/* 03A2B4 8003F854 40820014 */ bne lbl_8003F868 -/* 03A2B8 8003F858 38800000 */ li r4, 0 -/* 03A2BC 8003F85C 3C7E0001 */ addis r3, r30, 1 -/* 03A2C0 8003F860 90832068 */ stw r4, 0x2068(r3) -/* 03A2C4 8003F864 48000014 */ b lbl_8003F878 -lbl_8003F868: -/* 03A2C8 8003F868 3C7E0001 */ addis r3, r30, 1 -/* 03A2CC 8003F86C 38800000 */ li r4, 0 -/* 03A2D0 8003F870 90832068 */ stw r4, 0x2068(r3) -/* 03A2D4 8003F874 38800001 */ li r4, 1 -lbl_8003F878: -/* 03A2D8 8003F878 2C040000 */ cmpwi r4, 0 -/* 03A2DC 8003F87C 41820050 */ beq lbl_8003F8CC -/* 03A2E0 8003F880 281F0000 */ cmplwi r31, 0 -/* 03A2E4 8003F884 41820038 */ beq lbl_8003F8BC -/* 03A2E8 8003F888 3C9E0001 */ addis r4, r30, 1 -/* 03A2EC 8003F88C 80610084 */ lwz r3, 0x84(r1) -/* 03A2F0 8003F890 80A42070 */ lwz r5, 0x2070(r4) -/* 03A2F4 8003F894 38C30001 */ addi r6, r3, 1 -/* 03A2F8 8003F898 54A4A814 */ slwi r4, r5, 0x15 -/* 03A2FC 8003F89C 90C10084 */ stw r6, 0x84(r1) -/* 03A300 8003F8A0 64847C06 */ oris r4, r4, 0x7c06 -/* 03A304 8003F8A4 54A55828 */ slwi r5, r5, 0xb -/* 03A308 8003F8A8 60840378 */ ori r4, r4, 0x378 -/* 03A30C 8003F8AC 7CA42378 */ or r4, r5, r4 -/* 03A310 8003F8B0 5463103A */ slwi r3, r3, 2 -/* 03A314 8003F8B4 7C9F192E */ stwx r4, r31, r3 -/* 03A318 8003F8B8 4800005C */ b lbl_8003F914 -lbl_8003F8BC: -/* 03A31C 8003F8BC 80610084 */ lwz r3, 0x84(r1) -/* 03A320 8003F8C0 38630001 */ addi r3, r3, 1 -/* 03A324 8003F8C4 90610084 */ stw r3, 0x84(r1) -/* 03A328 8003F8C8 4800004C */ b lbl_8003F914 -lbl_8003F8CC: -/* 03A32C 8003F8CC 281F0000 */ cmplwi r31, 0 -/* 03A330 8003F8D0 41820038 */ beq lbl_8003F908 -/* 03A334 8003F8D4 55041838 */ slwi r4, r8, 3 -/* 03A338 8003F8D8 80610084 */ lwz r3, 0x84(r1) -/* 03A33C 8003F8DC 38840040 */ addi r4, r4, 0x40 -/* 03A340 8003F8E0 7C9E2214 */ add r4, r30, r4 -/* 03A344 8003F8E4 7C9E2050 */ subf r4, r30, r4 -/* 03A348 8003F8E8 38840004 */ addi r4, r4, 4 -/* 03A34C 8003F8EC 38A30001 */ addi r5, r3, 1 -/* 03A350 8003F8F0 5484043E */ clrlwi r4, r4, 0x10 -/* 03A354 8003F8F4 90A10084 */ stw r5, 0x84(r1) -/* 03A358 8003F8F8 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03A35C 8003F8FC 5463103A */ slwi r3, r3, 2 -/* 03A360 8003F900 7C9F192E */ stwx r4, r31, r3 -/* 03A364 8003F904 48000010 */ b lbl_8003F914 -lbl_8003F908: -/* 03A368 8003F908 80610084 */ lwz r3, 0x84(r1) -/* 03A36C 8003F90C 38630001 */ addi r3, r3, 1 -/* 03A370 8003F910 90610084 */ stw r3, 0x84(r1) -lbl_8003F914: -/* 03A374 8003F914 281F0000 */ cmplwi r31, 0 -/* 03A378 8003F918 5785D6FE */ rlwinm r5, r28, 0x1a, 0x1b, 0x1f -/* 03A37C 8003F91C 41820038 */ beq lbl_8003F954 -/* 03A380 8003F920 80610084 */ lwz r3, 0x84(r1) -/* 03A384 8003F924 5544A814 */ slwi r4, r10, 0x15 -/* 03A388 8003F928 64847C00 */ oris r4, r4, 0x7c00 -/* 03A38C 8003F92C 38C30001 */ addi r6, r3, 1 -/* 03A390 8003F930 60840670 */ ori r4, r4, 0x670 -/* 03A394 8003F934 90C10084 */ stw r6, 0x84(r1) -/* 03A398 8003F938 5406801E */ slwi r6, r0, 0x10 -/* 03A39C 8003F93C 54A55828 */ slwi r5, r5, 0xb -/* 03A3A0 8003F940 7C843378 */ or r4, r4, r6 -/* 03A3A4 8003F944 7CA42378 */ or r4, r5, r4 -/* 03A3A8 8003F948 5463103A */ slwi r3, r3, 2 -/* 03A3AC 8003F94C 7C9F192E */ stwx r4, r31, r3 -/* 03A3B0 8003F950 48000010 */ b lbl_8003F960 -lbl_8003F954: -/* 03A3B4 8003F954 80610084 */ lwz r3, 0x84(r1) -/* 03A3B8 8003F958 38630001 */ addi r3, r3, 1 -/* 03A3BC 8003F95C 90610084 */ stw r3, 0x84(r1) -lbl_8003F960: -/* 03A3C0 8003F960 80670000 */ lwz r3, 0(r7) -/* 03A3C4 8003F964 546305EF */ rlwinm. r3, r3, 0, 0x17, 0x17 -/* 03A3C8 8003F968 40820008 */ bne lbl_8003F970 -/* 03A3CC 8003F96C 480285C8 */ b lbl_80067F34 -lbl_8003F970: -/* 03A3D0 8003F970 3C7E0001 */ addis r3, r30, 1 -/* 03A3D4 8003F974 38800002 */ li r4, 2 -/* 03A3D8 8003F978 90832068 */ stw r4, 0x2068(r3) -/* 03A3DC 8003F97C 281F0000 */ cmplwi r31, 0 -/* 03A3E0 8003F980 9123206C */ stw r9, 0x206c(r3) -/* 03A3E4 8003F984 90032070 */ stw r0, 0x2070(r3) -/* 03A3E8 8003F988 41820038 */ beq lbl_8003F9C0 -/* 03A3EC 8003F98C 55241838 */ slwi r4, r9, 3 -/* 03A3F0 8003F990 80610084 */ lwz r3, 0x84(r1) -/* 03A3F4 8003F994 38040040 */ addi r0, r4, 0x40 -/* 03A3F8 8003F998 7C1E0214 */ add r0, r30, r0 -/* 03A3FC 8003F99C 7C9E0050 */ subf r4, r30, r0 -/* 03A400 8003F9A0 38840004 */ addi r4, r4, 4 -/* 03A404 8003F9A4 38030001 */ addi r0, r3, 1 -/* 03A408 8003F9A8 5484043E */ clrlwi r4, r4, 0x10 -/* 03A40C 8003F9AC 90010084 */ stw r0, 0x84(r1) -/* 03A410 8003F9B0 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03A414 8003F9B4 5463103A */ slwi r3, r3, 2 -/* 03A418 8003F9B8 7C1F192E */ stwx r0, r31, r3 -/* 03A41C 8003F9BC 48028578 */ b lbl_80067F34 -lbl_8003F9C0: -/* 03A420 8003F9C0 80610084 */ lwz r3, 0x84(r1) -/* 03A424 8003F9C4 38030001 */ addi r0, r3, 1 -/* 03A428 8003F9C8 90010084 */ stw r0, 0x84(r1) -/* 03A42C 8003F9CC 48028568 */ b lbl_80067F34 -.global lbl_8003F9D0 -lbl_8003F9D0: -/* 03A430 8003F9D0 3C7E0001 */ addis r3, r30, 1 -/* 03A434 8003F9D4 578AAEFE */ rlwinm r10, r28, 0x15, 0x1b, 0x1f -/* 03A438 8003F9D8 80032058 */ lwz r0, 0x2058(r3) -/* 03A43C 8003F9DC 38800001 */ li r4, 1 -/* 03A440 8003F9E0 7C845030 */ slw r4, r4, r10 -/* 03A444 8003F9E4 7C042078 */ andc r4, r0, r4 -/* 03A448 8003F9E8 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 03A44C 8003F9EC 90832058 */ stw r4, 0x2058(r3) -/* 03A450 8003F9F0 7D3A0214 */ add r9, r26, r0 -/* 03A454 8003F9F4 84C90818 */ lwzu r6, 0x818(r9) -/* 03A458 8003F9F8 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 03A45C 8003F9FC 41820008 */ beq lbl_8003FA04 -/* 03A460 8003FA00 38C00005 */ li r6, 5 -lbl_8003FA04: -/* 03A464 8003FA04 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 03A468 8003FA08 7C7A0214 */ add r3, r26, r0 -/* 03A46C 8003FA0C 81630818 */ lwz r11, 0x818(r3) -/* 03A470 8003FA10 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 03A474 8003FA14 556005EF */ rlwinm. r0, r11, 0, 0x17, 0x17 -/* 03A478 8003FA18 4182014C */ beq lbl_8003FB64 -/* 03A47C 8003FA1C 3C7E0001 */ addis r3, r30, 1 -/* 03A480 8003FA20 80032064 */ lwz r0, 0x2064(r3) -/* 03A484 8003FA24 39600006 */ li r11, 6 -/* 03A488 8003FA28 28000000 */ cmplwi r0, 0 -/* 03A48C 8003FA2C 4082000C */ bne lbl_8003FA38 -/* 03A490 8003FA30 38000000 */ li r0, 0 -/* 03A494 8003FA34 48000094 */ b lbl_8003FAC8 -lbl_8003FA38: -/* 03A498 8003FA38 80032068 */ lwz r0, 0x2068(r3) -/* 03A49C 8003FA3C 28000000 */ cmplwi r0, 0 -/* 03A4A0 8003FA40 4082000C */ bne lbl_8003FA4C -/* 03A4A4 8003FA44 38000000 */ li r0, 0 -/* 03A4A8 8003FA48 48000080 */ b lbl_8003FAC8 -lbl_8003FA4C: -/* 03A4AC 8003FA4C 8003206C */ lwz r0, 0x206c(r3) -/* 03A4B0 8003FA50 7C070000 */ cmpw r7, r0 -/* 03A4B4 8003FA54 4182000C */ beq lbl_8003FA60 -/* 03A4B8 8003FA58 38000000 */ li r0, 0 -/* 03A4BC 8003FA5C 4800006C */ b lbl_8003FAC8 -lbl_8003FA60: -/* 03A4C0 8003FA60 80BE0034 */ lwz r5, 0x34(r30) -/* 03A4C4 8003FA64 38800000 */ li r4, 0 -/* 03A4C8 8003FA68 80050008 */ lwz r0, 8(r5) -/* 03A4CC 8003FA6C 2C000000 */ cmpwi r0, 0 -/* 03A4D0 8003FA70 7C0903A6 */ mtctr r0 -/* 03A4D4 8003FA74 40810028 */ ble lbl_8003FA9C -lbl_8003FA78: -/* 03A4D8 8003FA78 8065000C */ lwz r3, 0xc(r5) -/* 03A4DC 8003FA7C 38040004 */ addi r0, r4, 4 -/* 03A4E0 8003FA80 7C03002E */ lwzx r0, r3, r0 -/* 03A4E4 8003FA84 7C1D0000 */ cmpw r29, r0 -/* 03A4E8 8003FA88 4082000C */ bne lbl_8003FA94 -/* 03A4EC 8003FA8C 38000000 */ li r0, 0 -/* 03A4F0 8003FA90 48000010 */ b lbl_8003FAA0 -lbl_8003FA94: -/* 03A4F4 8003FA94 38840008 */ addi r4, r4, 8 -/* 03A4F8 8003FA98 4200FFE0 */ bdnz lbl_8003FA78 -lbl_8003FA9C: -/* 03A4FC 8003FA9C 38000001 */ li r0, 1 -lbl_8003FAA0: -/* 03A500 8003FAA0 2C000000 */ cmpwi r0, 0 -/* 03A504 8003FAA4 40820014 */ bne lbl_8003FAB8 -/* 03A508 8003FAA8 38000000 */ li r0, 0 -/* 03A50C 8003FAAC 3C7E0001 */ addis r3, r30, 1 -/* 03A510 8003FAB0 90032068 */ stw r0, 0x2068(r3) -/* 03A514 8003FAB4 48000014 */ b lbl_8003FAC8 -lbl_8003FAB8: -/* 03A518 8003FAB8 3C7E0001 */ addis r3, r30, 1 -/* 03A51C 8003FABC 38000000 */ li r0, 0 -/* 03A520 8003FAC0 90032068 */ stw r0, 0x2068(r3) -/* 03A524 8003FAC4 38000001 */ li r0, 1 -lbl_8003FAC8: -/* 03A528 8003FAC8 2C000000 */ cmpwi r0, 0 -/* 03A52C 8003FACC 41820050 */ beq lbl_8003FB1C -/* 03A530 8003FAD0 281F0000 */ cmplwi r31, 0 -/* 03A534 8003FAD4 41820038 */ beq lbl_8003FB0C -/* 03A538 8003FAD8 3C9E0001 */ addis r4, r30, 1 -/* 03A53C 8003FADC 80610084 */ lwz r3, 0x84(r1) -/* 03A540 8003FAE0 80842070 */ lwz r4, 0x2070(r4) -/* 03A544 8003FAE4 38A30001 */ addi r5, r3, 1 -/* 03A548 8003FAE8 5480A814 */ slwi r0, r4, 0x15 -/* 03A54C 8003FAEC 90A10084 */ stw r5, 0x84(r1) -/* 03A550 8003FAF0 64007C06 */ oris r0, r0, 0x7c06 -/* 03A554 8003FAF4 54845828 */ slwi r4, r4, 0xb -/* 03A558 8003FAF8 60000378 */ ori r0, r0, 0x378 -/* 03A55C 8003FAFC 7C800378 */ or r0, r4, r0 -/* 03A560 8003FB00 5463103A */ slwi r3, r3, 2 -/* 03A564 8003FB04 7C1F192E */ stwx r0, r31, r3 -/* 03A568 8003FB08 4800005C */ b lbl_8003FB64 -lbl_8003FB0C: -/* 03A56C 8003FB0C 80610084 */ lwz r3, 0x84(r1) -/* 03A570 8003FB10 38030001 */ addi r0, r3, 1 -/* 03A574 8003FB14 90010084 */ stw r0, 0x84(r1) -/* 03A578 8003FB18 4800004C */ b lbl_8003FB64 -lbl_8003FB1C: -/* 03A57C 8003FB1C 281F0000 */ cmplwi r31, 0 -/* 03A580 8003FB20 41820038 */ beq lbl_8003FB58 -/* 03A584 8003FB24 54E41838 */ slwi r4, r7, 3 -/* 03A588 8003FB28 80610084 */ lwz r3, 0x84(r1) -/* 03A58C 8003FB2C 38040040 */ addi r0, r4, 0x40 -/* 03A590 8003FB30 7C1E0214 */ add r0, r30, r0 -/* 03A594 8003FB34 7C9E0050 */ subf r4, r30, r0 -/* 03A598 8003FB38 38840004 */ addi r4, r4, 4 -/* 03A59C 8003FB3C 38030001 */ addi r0, r3, 1 -/* 03A5A0 8003FB40 5484043E */ clrlwi r4, r4, 0x10 -/* 03A5A4 8003FB44 90010084 */ stw r0, 0x84(r1) -/* 03A5A8 8003FB48 3C0480C3 */ addis r0, r4, 0x80c3 -/* 03A5AC 8003FB4C 5463103A */ slwi r3, r3, 2 -/* 03A5B0 8003FB50 7C1F192E */ stwx r0, r31, r3 -/* 03A5B4 8003FB54 48000010 */ b lbl_8003FB64 -lbl_8003FB58: -/* 03A5B8 8003FB58 80610084 */ lwz r3, 0x84(r1) -/* 03A5BC 8003FB5C 38030001 */ addi r0, r3, 1 -/* 03A5C0 8003FB60 90010084 */ stw r0, 0x84(r1) -lbl_8003FB64: -/* 03A5C4 8003FB64 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 03A5C8 8003FB68 7C7A0214 */ add r3, r26, r0 -/* 03A5CC 8003FB6C 80E30818 */ lwz r7, 0x818(r3) -/* 03A5D0 8003FB70 57885EFE */ rlwinm r8, r28, 0xb, 0x1b, 0x1f -/* 03A5D4 8003FB74 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 03A5D8 8003FB78 4182014C */ beq lbl_8003FCC4 -/* 03A5DC 8003FB7C 3C7E0001 */ addis r3, r30, 1 -/* 03A5E0 8003FB80 80032064 */ lwz r0, 0x2064(r3) -/* 03A5E4 8003FB84 38E00007 */ li r7, 7 -/* 03A5E8 8003FB88 28000000 */ cmplwi r0, 0 -/* 03A5EC 8003FB8C 4082000C */ bne lbl_8003FB98 -/* 03A5F0 8003FB90 38000000 */ li r0, 0 -/* 03A5F4 8003FB94 48000094 */ b lbl_8003FC28 -lbl_8003FB98: -/* 03A5F8 8003FB98 80032068 */ lwz r0, 0x2068(r3) -/* 03A5FC 8003FB9C 28000000 */ cmplwi r0, 0 -/* 03A600 8003FBA0 4082000C */ bne lbl_8003FBAC -/* 03A604 8003FBA4 38000000 */ li r0, 0 -/* 03A608 8003FBA8 48000080 */ b lbl_8003FC28 -lbl_8003FBAC: -/* 03A60C 8003FBAC 8003206C */ lwz r0, 0x206c(r3) -/* 03A610 8003FBB0 7C080000 */ cmpw r8, r0 -/* 03A614 8003FBB4 4182000C */ beq lbl_8003FBC0 -/* 03A618 8003FBB8 38000000 */ li r0, 0 -/* 03A61C 8003FBBC 4800006C */ b lbl_8003FC28 -lbl_8003FBC0: -/* 03A620 8003FBC0 80BE0034 */ lwz r5, 0x34(r30) -/* 03A624 8003FBC4 38800000 */ li r4, 0 -/* 03A628 8003FBC8 80050008 */ lwz r0, 8(r5) -/* 03A62C 8003FBCC 2C000000 */ cmpwi r0, 0 -/* 03A630 8003FBD0 7C0903A6 */ mtctr r0 -/* 03A634 8003FBD4 40810028 */ ble lbl_8003FBFC -lbl_8003FBD8: -/* 03A638 8003FBD8 8065000C */ lwz r3, 0xc(r5) -/* 03A63C 8003FBDC 38040004 */ addi r0, r4, 4 -/* 03A640 8003FBE0 7C03002E */ lwzx r0, r3, r0 -/* 03A644 8003FBE4 7C1D0000 */ cmpw r29, r0 -/* 03A648 8003FBE8 4082000C */ bne lbl_8003FBF4 -/* 03A64C 8003FBEC 38000000 */ li r0, 0 -/* 03A650 8003FBF0 48000010 */ b lbl_8003FC00 -lbl_8003FBF4: -/* 03A654 8003FBF4 38840008 */ addi r4, r4, 8 -/* 03A658 8003FBF8 4200FFE0 */ bdnz lbl_8003FBD8 -lbl_8003FBFC: -/* 03A65C 8003FBFC 38000001 */ li r0, 1 -lbl_8003FC00: -/* 03A660 8003FC00 2C000000 */ cmpwi r0, 0 -/* 03A664 8003FC04 40820014 */ bne lbl_8003FC18 -/* 03A668 8003FC08 38000000 */ li r0, 0 -/* 03A66C 8003FC0C 3C7E0001 */ addis r3, r30, 1 -/* 03A670 8003FC10 90032068 */ stw r0, 0x2068(r3) -/* 03A674 8003FC14 48000014 */ b lbl_8003FC28 -lbl_8003FC18: -/* 03A678 8003FC18 3C7E0001 */ addis r3, r30, 1 -/* 03A67C 8003FC1C 38000000 */ li r0, 0 -/* 03A680 8003FC20 90032068 */ stw r0, 0x2068(r3) -/* 03A684 8003FC24 38000001 */ li r0, 1 -lbl_8003FC28: -/* 03A688 8003FC28 2C000000 */ cmpwi r0, 0 -/* 03A68C 8003FC2C 41820050 */ beq lbl_8003FC7C -/* 03A690 8003FC30 281F0000 */ cmplwi r31, 0 -/* 03A694 8003FC34 41820038 */ beq lbl_8003FC6C -/* 03A698 8003FC38 3C9E0001 */ addis r4, r30, 1 -/* 03A69C 8003FC3C 80610084 */ lwz r3, 0x84(r1) -/* 03A6A0 8003FC40 80A42070 */ lwz r5, 0x2070(r4) -/* 03A6A4 8003FC44 38030001 */ addi r0, r3, 1 -/* 03A6A8 8003FC48 54A4A814 */ slwi r4, r5, 0x15 -/* 03A6AC 8003FC4C 90010084 */ stw r0, 0x84(r1) -/* 03A6B0 8003FC50 64807C07 */ oris r0, r4, 0x7c07 -/* 03A6B4 8003FC54 54A45828 */ slwi r4, r5, 0xb -/* 03A6B8 8003FC58 60000378 */ ori r0, r0, 0x378 -/* 03A6BC 8003FC5C 7C800378 */ or r0, r4, r0 -/* 03A6C0 8003FC60 5463103A */ slwi r3, r3, 2 -/* 03A6C4 8003FC64 7C1F192E */ stwx r0, r31, r3 -/* 03A6C8 8003FC68 4800005C */ b lbl_8003FCC4 -lbl_8003FC6C: -/* 03A6CC 8003FC6C 80610084 */ lwz r3, 0x84(r1) -/* 03A6D0 8003FC70 38030001 */ addi r0, r3, 1 -/* 03A6D4 8003FC74 90010084 */ stw r0, 0x84(r1) -/* 03A6D8 8003FC78 4800004C */ b lbl_8003FCC4 -lbl_8003FC7C: -/* 03A6DC 8003FC7C 281F0000 */ cmplwi r31, 0 -/* 03A6E0 8003FC80 41820038 */ beq lbl_8003FCB8 -/* 03A6E4 8003FC84 55041838 */ slwi r4, r8, 3 -/* 03A6E8 8003FC88 80610084 */ lwz r3, 0x84(r1) -/* 03A6EC 8003FC8C 38040040 */ addi r0, r4, 0x40 -/* 03A6F0 8003FC90 7C1E0214 */ add r0, r30, r0 -/* 03A6F4 8003FC94 7C9E0050 */ subf r4, r30, r0 -/* 03A6F8 8003FC98 38840004 */ addi r4, r4, 4 -/* 03A6FC 8003FC9C 38030001 */ addi r0, r3, 1 -/* 03A700 8003FCA0 5484043E */ clrlwi r4, r4, 0x10 -/* 03A704 8003FCA4 90010084 */ stw r0, 0x84(r1) -/* 03A708 8003FCA8 3C0480E3 */ addis r0, r4, 0x80e3 -/* 03A70C 8003FCAC 5463103A */ slwi r3, r3, 2 -/* 03A710 8003FCB0 7C1F192E */ stwx r0, r31, r3 -/* 03A714 8003FCB4 48000010 */ b lbl_8003FCC4 -lbl_8003FCB8: -/* 03A718 8003FCB8 80610084 */ lwz r3, 0x84(r1) -/* 03A71C 8003FCBC 38030001 */ addi r0, r3, 1 -/* 03A720 8003FCC0 90010084 */ stw r0, 0x84(r1) -lbl_8003FCC4: -/* 03A724 8003FCC4 281F0000 */ cmplwi r31, 0 -/* 03A728 8003FCC8 41820030 */ beq lbl_8003FCF8 -/* 03A72C 8003FCCC 80610084 */ lwz r3, 0x84(r1) -/* 03A730 8003FCD0 54E0A814 */ slwi r0, r7, 0x15 -/* 03A734 8003FCD4 64057000 */ oris r5, r0, 0x7000 -/* 03A738 8003FCD8 54E4801E */ slwi r4, r7, 0x10 -/* 03A73C 8003FCDC 38030001 */ addi r0, r3, 1 -/* 03A740 8003FCE0 7CA42378 */ or r4, r5, r4 -/* 03A744 8003FCE4 90010084 */ stw r0, 0x84(r1) -/* 03A748 8003FCE8 6080001F */ ori r0, r4, 0x1f -/* 03A74C 8003FCEC 5463103A */ slwi r3, r3, 2 -/* 03A750 8003FCF0 7C1F192E */ stwx r0, r31, r3 -/* 03A754 8003FCF4 48000010 */ b lbl_8003FD04 -lbl_8003FCF8: -/* 03A758 8003FCF8 80610084 */ lwz r3, 0x84(r1) -/* 03A75C 8003FCFC 38030001 */ addi r0, r3, 1 -/* 03A760 8003FD00 90010084 */ stw r0, 0x84(r1) -lbl_8003FD04: -/* 03A764 8003FD04 281F0000 */ cmplwi r31, 0 -/* 03A768 8003FD08 41820038 */ beq lbl_8003FD40 -/* 03A76C 8003FD0C 80610084 */ lwz r3, 0x84(r1) -/* 03A770 8003FD10 5560A814 */ slwi r0, r11, 0x15 -/* 03A774 8003FD14 64007C00 */ oris r0, r0, 0x7c00 -/* 03A778 8003FD18 38830001 */ addi r4, r3, 1 -/* 03A77C 8003FD1C 60000030 */ ori r0, r0, 0x30 -/* 03A780 8003FD20 90810084 */ stw r4, 0x84(r1) -/* 03A784 8003FD24 54C4801E */ slwi r4, r6, 0x10 -/* 03A788 8003FD28 54E55828 */ slwi r5, r7, 0xb -/* 03A78C 8003FD2C 7C002378 */ or r0, r0, r4 -/* 03A790 8003FD30 7CA00378 */ or r0, r5, r0 -/* 03A794 8003FD34 5463103A */ slwi r3, r3, 2 -/* 03A798 8003FD38 7C1F192E */ stwx r0, r31, r3 -/* 03A79C 8003FD3C 48000010 */ b lbl_8003FD4C -lbl_8003FD40: -/* 03A7A0 8003FD40 80610084 */ lwz r3, 0x84(r1) -/* 03A7A4 8003FD44 38030001 */ addi r0, r3, 1 -/* 03A7A8 8003FD48 90010084 */ stw r0, 0x84(r1) -lbl_8003FD4C: -/* 03A7AC 8003FD4C 80090000 */ lwz r0, 0(r9) -/* 03A7B0 8003FD50 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 03A7B4 8003FD54 40820008 */ bne lbl_8003FD5C -/* 03A7B8 8003FD58 480281DC */ b lbl_80067F34 -lbl_8003FD5C: -/* 03A7BC 8003FD5C 3C7E0001 */ addis r3, r30, 1 -/* 03A7C0 8003FD60 38000002 */ li r0, 2 -/* 03A7C4 8003FD64 90032068 */ stw r0, 0x2068(r3) -/* 03A7C8 8003FD68 281F0000 */ cmplwi r31, 0 -/* 03A7CC 8003FD6C 9143206C */ stw r10, 0x206c(r3) -/* 03A7D0 8003FD70 90C32070 */ stw r6, 0x2070(r3) -/* 03A7D4 8003FD74 41820038 */ beq lbl_8003FDAC -/* 03A7D8 8003FD78 55441838 */ slwi r4, r10, 3 -/* 03A7DC 8003FD7C 80610084 */ lwz r3, 0x84(r1) -/* 03A7E0 8003FD80 38040040 */ addi r0, r4, 0x40 -/* 03A7E4 8003FD84 7C1E0214 */ add r0, r30, r0 -/* 03A7E8 8003FD88 7C9E0050 */ subf r4, r30, r0 -/* 03A7EC 8003FD8C 38840004 */ addi r4, r4, 4 -/* 03A7F0 8003FD90 38030001 */ addi r0, r3, 1 -/* 03A7F4 8003FD94 5484043E */ clrlwi r4, r4, 0x10 -/* 03A7F8 8003FD98 90010084 */ stw r0, 0x84(r1) -/* 03A7FC 8003FD9C 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03A800 8003FDA0 5463103A */ slwi r3, r3, 2 -/* 03A804 8003FDA4 7C1F192E */ stwx r0, r31, r3 -/* 03A808 8003FDA8 4802818C */ b lbl_80067F34 -lbl_8003FDAC: -/* 03A80C 8003FDAC 80610084 */ lwz r3, 0x84(r1) -/* 03A810 8003FDB0 38030001 */ addi r0, r3, 1 -/* 03A814 8003FDB4 90010084 */ stw r0, 0x84(r1) -/* 03A818 8003FDB8 4802817C */ b lbl_80067F34 -.global lbl_8003FDBC -lbl_8003FDBC: -/* 03A81C 8003FDBC 3C7E0001 */ addis r3, r30, 1 -/* 03A820 8003FDC0 578AAEFE */ rlwinm r10, r28, 0x15, 0x1b, 0x1f -/* 03A824 8003FDC4 80032058 */ lwz r0, 0x2058(r3) -/* 03A828 8003FDC8 38800001 */ li r4, 1 -/* 03A82C 8003FDCC 7C845030 */ slw r4, r4, r10 -/* 03A830 8003FDD0 7C042078 */ andc r4, r0, r4 -/* 03A834 8003FDD4 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 03A838 8003FDD8 90832058 */ stw r4, 0x2058(r3) -/* 03A83C 8003FDDC 7D3A0214 */ add r9, r26, r0 -/* 03A840 8003FDE0 84C90818 */ lwzu r6, 0x818(r9) -/* 03A844 8003FDE4 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 03A848 8003FDE8 41820008 */ beq lbl_8003FDF0 -/* 03A84C 8003FDEC 38C00005 */ li r6, 5 -lbl_8003FDF0: -/* 03A850 8003FDF0 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 03A854 8003FDF4 7C7A0214 */ add r3, r26, r0 -/* 03A858 8003FDF8 81630818 */ lwz r11, 0x818(r3) -/* 03A85C 8003FDFC 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 03A860 8003FE00 556005EF */ rlwinm. r0, r11, 0, 0x17, 0x17 -/* 03A864 8003FE04 4182014C */ beq lbl_8003FF50 -/* 03A868 8003FE08 3C7E0001 */ addis r3, r30, 1 -/* 03A86C 8003FE0C 80032064 */ lwz r0, 0x2064(r3) -/* 03A870 8003FE10 39600006 */ li r11, 6 -/* 03A874 8003FE14 28000000 */ cmplwi r0, 0 -/* 03A878 8003FE18 4082000C */ bne lbl_8003FE24 -/* 03A87C 8003FE1C 38000000 */ li r0, 0 -/* 03A880 8003FE20 48000094 */ b lbl_8003FEB4 -lbl_8003FE24: -/* 03A884 8003FE24 80032068 */ lwz r0, 0x2068(r3) -/* 03A888 8003FE28 28000000 */ cmplwi r0, 0 -/* 03A88C 8003FE2C 4082000C */ bne lbl_8003FE38 -/* 03A890 8003FE30 38000000 */ li r0, 0 -/* 03A894 8003FE34 48000080 */ b lbl_8003FEB4 -lbl_8003FE38: -/* 03A898 8003FE38 8003206C */ lwz r0, 0x206c(r3) -/* 03A89C 8003FE3C 7C070000 */ cmpw r7, r0 -/* 03A8A0 8003FE40 4182000C */ beq lbl_8003FE4C -/* 03A8A4 8003FE44 38000000 */ li r0, 0 -/* 03A8A8 8003FE48 4800006C */ b lbl_8003FEB4 -lbl_8003FE4C: -/* 03A8AC 8003FE4C 80BE0034 */ lwz r5, 0x34(r30) -/* 03A8B0 8003FE50 38800000 */ li r4, 0 -/* 03A8B4 8003FE54 80050008 */ lwz r0, 8(r5) -/* 03A8B8 8003FE58 2C000000 */ cmpwi r0, 0 -/* 03A8BC 8003FE5C 7C0903A6 */ mtctr r0 -/* 03A8C0 8003FE60 40810028 */ ble lbl_8003FE88 -lbl_8003FE64: -/* 03A8C4 8003FE64 8065000C */ lwz r3, 0xc(r5) -/* 03A8C8 8003FE68 38040004 */ addi r0, r4, 4 -/* 03A8CC 8003FE6C 7C03002E */ lwzx r0, r3, r0 -/* 03A8D0 8003FE70 7C1D0000 */ cmpw r29, r0 -/* 03A8D4 8003FE74 4082000C */ bne lbl_8003FE80 -/* 03A8D8 8003FE78 38000000 */ li r0, 0 -/* 03A8DC 8003FE7C 48000010 */ b lbl_8003FE8C -lbl_8003FE80: -/* 03A8E0 8003FE80 38840008 */ addi r4, r4, 8 -/* 03A8E4 8003FE84 4200FFE0 */ bdnz lbl_8003FE64 -lbl_8003FE88: -/* 03A8E8 8003FE88 38000001 */ li r0, 1 -lbl_8003FE8C: -/* 03A8EC 8003FE8C 2C000000 */ cmpwi r0, 0 -/* 03A8F0 8003FE90 40820014 */ bne lbl_8003FEA4 -/* 03A8F4 8003FE94 38000000 */ li r0, 0 -/* 03A8F8 8003FE98 3C7E0001 */ addis r3, r30, 1 -/* 03A8FC 8003FE9C 90032068 */ stw r0, 0x2068(r3) -/* 03A900 8003FEA0 48000014 */ b lbl_8003FEB4 -lbl_8003FEA4: -/* 03A904 8003FEA4 3C7E0001 */ addis r3, r30, 1 -/* 03A908 8003FEA8 38000000 */ li r0, 0 -/* 03A90C 8003FEAC 90032068 */ stw r0, 0x2068(r3) -/* 03A910 8003FEB0 38000001 */ li r0, 1 -lbl_8003FEB4: -/* 03A914 8003FEB4 2C000000 */ cmpwi r0, 0 -/* 03A918 8003FEB8 41820050 */ beq lbl_8003FF08 -/* 03A91C 8003FEBC 281F0000 */ cmplwi r31, 0 -/* 03A920 8003FEC0 41820038 */ beq lbl_8003FEF8 -/* 03A924 8003FEC4 3C9E0001 */ addis r4, r30, 1 -/* 03A928 8003FEC8 80610084 */ lwz r3, 0x84(r1) -/* 03A92C 8003FECC 80842070 */ lwz r4, 0x2070(r4) -/* 03A930 8003FED0 38A30001 */ addi r5, r3, 1 -/* 03A934 8003FED4 5480A814 */ slwi r0, r4, 0x15 -/* 03A938 8003FED8 90A10084 */ stw r5, 0x84(r1) -/* 03A93C 8003FEDC 64007C06 */ oris r0, r0, 0x7c06 -/* 03A940 8003FEE0 54845828 */ slwi r4, r4, 0xb -/* 03A944 8003FEE4 60000378 */ ori r0, r0, 0x378 -/* 03A948 8003FEE8 7C800378 */ or r0, r4, r0 -/* 03A94C 8003FEEC 5463103A */ slwi r3, r3, 2 -/* 03A950 8003FEF0 7C1F192E */ stwx r0, r31, r3 -/* 03A954 8003FEF4 4800005C */ b lbl_8003FF50 -lbl_8003FEF8: -/* 03A958 8003FEF8 80610084 */ lwz r3, 0x84(r1) -/* 03A95C 8003FEFC 38030001 */ addi r0, r3, 1 -/* 03A960 8003FF00 90010084 */ stw r0, 0x84(r1) -/* 03A964 8003FF04 4800004C */ b lbl_8003FF50 -lbl_8003FF08: -/* 03A968 8003FF08 281F0000 */ cmplwi r31, 0 -/* 03A96C 8003FF0C 41820038 */ beq lbl_8003FF44 -/* 03A970 8003FF10 54E41838 */ slwi r4, r7, 3 -/* 03A974 8003FF14 80610084 */ lwz r3, 0x84(r1) -/* 03A978 8003FF18 38040040 */ addi r0, r4, 0x40 -/* 03A97C 8003FF1C 7C1E0214 */ add r0, r30, r0 -/* 03A980 8003FF20 7C9E0050 */ subf r4, r30, r0 -/* 03A984 8003FF24 38840004 */ addi r4, r4, 4 -/* 03A988 8003FF28 38030001 */ addi r0, r3, 1 -/* 03A98C 8003FF2C 5484043E */ clrlwi r4, r4, 0x10 -/* 03A990 8003FF30 90010084 */ stw r0, 0x84(r1) -/* 03A994 8003FF34 3C0480C3 */ addis r0, r4, 0x80c3 -/* 03A998 8003FF38 5463103A */ slwi r3, r3, 2 -/* 03A99C 8003FF3C 7C1F192E */ stwx r0, r31, r3 -/* 03A9A0 8003FF40 48000010 */ b lbl_8003FF50 -lbl_8003FF44: -/* 03A9A4 8003FF44 80610084 */ lwz r3, 0x84(r1) -/* 03A9A8 8003FF48 38030001 */ addi r0, r3, 1 -/* 03A9AC 8003FF4C 90010084 */ stw r0, 0x84(r1) -lbl_8003FF50: -/* 03A9B0 8003FF50 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 03A9B4 8003FF54 7C7A0214 */ add r3, r26, r0 -/* 03A9B8 8003FF58 80E30818 */ lwz r7, 0x818(r3) -/* 03A9BC 8003FF5C 57885EFE */ rlwinm r8, r28, 0xb, 0x1b, 0x1f -/* 03A9C0 8003FF60 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 03A9C4 8003FF64 4182014C */ beq lbl_800400B0 -/* 03A9C8 8003FF68 3C7E0001 */ addis r3, r30, 1 -/* 03A9CC 8003FF6C 80032064 */ lwz r0, 0x2064(r3) -/* 03A9D0 8003FF70 38E00007 */ li r7, 7 -/* 03A9D4 8003FF74 28000000 */ cmplwi r0, 0 -/* 03A9D8 8003FF78 4082000C */ bne lbl_8003FF84 -/* 03A9DC 8003FF7C 38000000 */ li r0, 0 -/* 03A9E0 8003FF80 48000094 */ b lbl_80040014 -lbl_8003FF84: -/* 03A9E4 8003FF84 80032068 */ lwz r0, 0x2068(r3) -/* 03A9E8 8003FF88 28000000 */ cmplwi r0, 0 -/* 03A9EC 8003FF8C 4082000C */ bne lbl_8003FF98 -/* 03A9F0 8003FF90 38000000 */ li r0, 0 -/* 03A9F4 8003FF94 48000080 */ b lbl_80040014 -lbl_8003FF98: -/* 03A9F8 8003FF98 8003206C */ lwz r0, 0x206c(r3) -/* 03A9FC 8003FF9C 7C080000 */ cmpw r8, r0 -/* 03AA00 8003FFA0 4182000C */ beq lbl_8003FFAC -/* 03AA04 8003FFA4 38000000 */ li r0, 0 -/* 03AA08 8003FFA8 4800006C */ b lbl_80040014 -lbl_8003FFAC: -/* 03AA0C 8003FFAC 80BE0034 */ lwz r5, 0x34(r30) -/* 03AA10 8003FFB0 38800000 */ li r4, 0 -/* 03AA14 8003FFB4 80050008 */ lwz r0, 8(r5) -/* 03AA18 8003FFB8 2C000000 */ cmpwi r0, 0 -/* 03AA1C 8003FFBC 7C0903A6 */ mtctr r0 -/* 03AA20 8003FFC0 40810028 */ ble lbl_8003FFE8 -lbl_8003FFC4: -/* 03AA24 8003FFC4 8065000C */ lwz r3, 0xc(r5) -/* 03AA28 8003FFC8 38040004 */ addi r0, r4, 4 -/* 03AA2C 8003FFCC 7C03002E */ lwzx r0, r3, r0 -/* 03AA30 8003FFD0 7C1D0000 */ cmpw r29, r0 -/* 03AA34 8003FFD4 4082000C */ bne lbl_8003FFE0 -/* 03AA38 8003FFD8 38000000 */ li r0, 0 -/* 03AA3C 8003FFDC 48000010 */ b lbl_8003FFEC -lbl_8003FFE0: -/* 03AA40 8003FFE0 38840008 */ addi r4, r4, 8 -/* 03AA44 8003FFE4 4200FFE0 */ bdnz lbl_8003FFC4 -lbl_8003FFE8: -/* 03AA48 8003FFE8 38000001 */ li r0, 1 -lbl_8003FFEC: -/* 03AA4C 8003FFEC 2C000000 */ cmpwi r0, 0 -/* 03AA50 8003FFF0 40820014 */ bne lbl_80040004 -/* 03AA54 8003FFF4 38000000 */ li r0, 0 -/* 03AA58 8003FFF8 3C7E0001 */ addis r3, r30, 1 -/* 03AA5C 8003FFFC 90032068 */ stw r0, 0x2068(r3) -/* 03AA60 80040000 48000014 */ b lbl_80040014 -lbl_80040004: -/* 03AA64 80040004 3C7E0001 */ addis r3, r30, 1 -/* 03AA68 80040008 38000000 */ li r0, 0 -/* 03AA6C 8004000C 90032068 */ stw r0, 0x2068(r3) -/* 03AA70 80040010 38000001 */ li r0, 1 -lbl_80040014: -/* 03AA74 80040014 2C000000 */ cmpwi r0, 0 -/* 03AA78 80040018 41820050 */ beq lbl_80040068 -/* 03AA7C 8004001C 281F0000 */ cmplwi r31, 0 -/* 03AA80 80040020 41820038 */ beq lbl_80040058 -/* 03AA84 80040024 3C9E0001 */ addis r4, r30, 1 -/* 03AA88 80040028 80610084 */ lwz r3, 0x84(r1) -/* 03AA8C 8004002C 80A42070 */ lwz r5, 0x2070(r4) -/* 03AA90 80040030 38030001 */ addi r0, r3, 1 -/* 03AA94 80040034 54A4A814 */ slwi r4, r5, 0x15 -/* 03AA98 80040038 90010084 */ stw r0, 0x84(r1) -/* 03AA9C 8004003C 64807C07 */ oris r0, r4, 0x7c07 -/* 03AAA0 80040040 54A45828 */ slwi r4, r5, 0xb -/* 03AAA4 80040044 60000378 */ ori r0, r0, 0x378 -/* 03AAA8 80040048 7C800378 */ or r0, r4, r0 -/* 03AAAC 8004004C 5463103A */ slwi r3, r3, 2 -/* 03AAB0 80040050 7C1F192E */ stwx r0, r31, r3 -/* 03AAB4 80040054 4800005C */ b lbl_800400B0 -lbl_80040058: -/* 03AAB8 80040058 80610084 */ lwz r3, 0x84(r1) -/* 03AABC 8004005C 38030001 */ addi r0, r3, 1 -/* 03AAC0 80040060 90010084 */ stw r0, 0x84(r1) -/* 03AAC4 80040064 4800004C */ b lbl_800400B0 -lbl_80040068: -/* 03AAC8 80040068 281F0000 */ cmplwi r31, 0 -/* 03AACC 8004006C 41820038 */ beq lbl_800400A4 -/* 03AAD0 80040070 55041838 */ slwi r4, r8, 3 -/* 03AAD4 80040074 80610084 */ lwz r3, 0x84(r1) -/* 03AAD8 80040078 38040040 */ addi r0, r4, 0x40 -/* 03AADC 8004007C 7C1E0214 */ add r0, r30, r0 -/* 03AAE0 80040080 7C9E0050 */ subf r4, r30, r0 -/* 03AAE4 80040084 38840004 */ addi r4, r4, 4 -/* 03AAE8 80040088 38030001 */ addi r0, r3, 1 -/* 03AAEC 8004008C 5484043E */ clrlwi r4, r4, 0x10 -/* 03AAF0 80040090 90010084 */ stw r0, 0x84(r1) -/* 03AAF4 80040094 3C0480E3 */ addis r0, r4, 0x80e3 -/* 03AAF8 80040098 5463103A */ slwi r3, r3, 2 -/* 03AAFC 8004009C 7C1F192E */ stwx r0, r31, r3 -/* 03AB00 800400A0 48000010 */ b lbl_800400B0 -lbl_800400A4: -/* 03AB04 800400A4 80610084 */ lwz r3, 0x84(r1) -/* 03AB08 800400A8 38030001 */ addi r0, r3, 1 -/* 03AB0C 800400AC 90010084 */ stw r0, 0x84(r1) -lbl_800400B0: -/* 03AB10 800400B0 281F0000 */ cmplwi r31, 0 -/* 03AB14 800400B4 41820030 */ beq lbl_800400E4 -/* 03AB18 800400B8 80610084 */ lwz r3, 0x84(r1) -/* 03AB1C 800400BC 54E0A814 */ slwi r0, r7, 0x15 -/* 03AB20 800400C0 64057000 */ oris r5, r0, 0x7000 -/* 03AB24 800400C4 54E4801E */ slwi r4, r7, 0x10 -/* 03AB28 800400C8 38030001 */ addi r0, r3, 1 -/* 03AB2C 800400CC 7CA42378 */ or r4, r5, r4 -/* 03AB30 800400D0 90010084 */ stw r0, 0x84(r1) -/* 03AB34 800400D4 6080001F */ ori r0, r4, 0x1f -/* 03AB38 800400D8 5463103A */ slwi r3, r3, 2 -/* 03AB3C 800400DC 7C1F192E */ stwx r0, r31, r3 -/* 03AB40 800400E0 48000010 */ b lbl_800400F0 -lbl_800400E4: -/* 03AB44 800400E4 80610084 */ lwz r3, 0x84(r1) -/* 03AB48 800400E8 38030001 */ addi r0, r3, 1 -/* 03AB4C 800400EC 90010084 */ stw r0, 0x84(r1) -lbl_800400F0: -/* 03AB50 800400F0 281F0000 */ cmplwi r31, 0 -/* 03AB54 800400F4 41820038 */ beq lbl_8004012C -/* 03AB58 800400F8 80610084 */ lwz r3, 0x84(r1) -/* 03AB5C 800400FC 5560A814 */ slwi r0, r11, 0x15 -/* 03AB60 80040100 64007C00 */ oris r0, r0, 0x7c00 -/* 03AB64 80040104 38830001 */ addi r4, r3, 1 -/* 03AB68 80040108 60000430 */ ori r0, r0, 0x430 -/* 03AB6C 8004010C 90810084 */ stw r4, 0x84(r1) -/* 03AB70 80040110 54C4801E */ slwi r4, r6, 0x10 -/* 03AB74 80040114 54E55828 */ slwi r5, r7, 0xb -/* 03AB78 80040118 7C002378 */ or r0, r0, r4 -/* 03AB7C 8004011C 7CA00378 */ or r0, r5, r0 -/* 03AB80 80040120 5463103A */ slwi r3, r3, 2 -/* 03AB84 80040124 7C1F192E */ stwx r0, r31, r3 -/* 03AB88 80040128 48000010 */ b lbl_80040138 -lbl_8004012C: -/* 03AB8C 8004012C 80610084 */ lwz r3, 0x84(r1) -/* 03AB90 80040130 38030001 */ addi r0, r3, 1 -/* 03AB94 80040134 90010084 */ stw r0, 0x84(r1) -lbl_80040138: -/* 03AB98 80040138 80090000 */ lwz r0, 0(r9) -/* 03AB9C 8004013C 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 03ABA0 80040140 40820008 */ bne lbl_80040148 -/* 03ABA4 80040144 48027DF0 */ b lbl_80067F34 -lbl_80040148: -/* 03ABA8 80040148 3C7E0001 */ addis r3, r30, 1 -/* 03ABAC 8004014C 38000002 */ li r0, 2 -/* 03ABB0 80040150 90032068 */ stw r0, 0x2068(r3) -/* 03ABB4 80040154 281F0000 */ cmplwi r31, 0 -/* 03ABB8 80040158 9143206C */ stw r10, 0x206c(r3) -/* 03ABBC 8004015C 90C32070 */ stw r6, 0x2070(r3) -/* 03ABC0 80040160 41820038 */ beq lbl_80040198 -/* 03ABC4 80040164 55441838 */ slwi r4, r10, 3 -/* 03ABC8 80040168 80610084 */ lwz r3, 0x84(r1) -/* 03ABCC 8004016C 38040040 */ addi r0, r4, 0x40 -/* 03ABD0 80040170 7C1E0214 */ add r0, r30, r0 -/* 03ABD4 80040174 7C9E0050 */ subf r4, r30, r0 -/* 03ABD8 80040178 38840004 */ addi r4, r4, 4 -/* 03ABDC 8004017C 38030001 */ addi r0, r3, 1 -/* 03ABE0 80040180 5484043E */ clrlwi r4, r4, 0x10 -/* 03ABE4 80040184 90010084 */ stw r0, 0x84(r1) -/* 03ABE8 80040188 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03ABEC 8004018C 5463103A */ slwi r3, r3, 2 -/* 03ABF0 80040190 7C1F192E */ stwx r0, r31, r3 -/* 03ABF4 80040194 48027DA0 */ b lbl_80067F34 -lbl_80040198: -/* 03ABF8 80040198 80610084 */ lwz r3, 0x84(r1) -/* 03ABFC 8004019C 38030001 */ addi r0, r3, 1 -/* 03AC00 800401A0 90010084 */ stw r0, 0x84(r1) -/* 03AC04 800401A4 48027D90 */ b lbl_80067F34 -.global lbl_800401A8 -lbl_800401A8: -/* 03AC08 800401A8 3C7E0001 */ addis r3, r30, 1 -/* 03AC0C 800401AC 578AAEFE */ rlwinm r10, r28, 0x15, 0x1b, 0x1f -/* 03AC10 800401B0 80032058 */ lwz r0, 0x2058(r3) -/* 03AC14 800401B4 38800001 */ li r4, 1 -/* 03AC18 800401B8 7C845030 */ slw r4, r4, r10 -/* 03AC1C 800401BC 7C042078 */ andc r4, r0, r4 -/* 03AC20 800401C0 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 03AC24 800401C4 90832058 */ stw r4, 0x2058(r3) -/* 03AC28 800401C8 7D3A0214 */ add r9, r26, r0 -/* 03AC2C 800401CC 84C90818 */ lwzu r6, 0x818(r9) -/* 03AC30 800401D0 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 03AC34 800401D4 41820008 */ beq lbl_800401DC -/* 03AC38 800401D8 38C00005 */ li r6, 5 -lbl_800401DC: -/* 03AC3C 800401DC 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 03AC40 800401E0 7C7A0214 */ add r3, r26, r0 -/* 03AC44 800401E4 81630818 */ lwz r11, 0x818(r3) -/* 03AC48 800401E8 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 03AC4C 800401EC 556005EF */ rlwinm. r0, r11, 0, 0x17, 0x17 -/* 03AC50 800401F0 4182014C */ beq lbl_8004033C -/* 03AC54 800401F4 3C7E0001 */ addis r3, r30, 1 -/* 03AC58 800401F8 80032064 */ lwz r0, 0x2064(r3) -/* 03AC5C 800401FC 39600006 */ li r11, 6 -/* 03AC60 80040200 28000000 */ cmplwi r0, 0 -/* 03AC64 80040204 4082000C */ bne lbl_80040210 -/* 03AC68 80040208 38000000 */ li r0, 0 -/* 03AC6C 8004020C 48000094 */ b lbl_800402A0 -lbl_80040210: -/* 03AC70 80040210 80032068 */ lwz r0, 0x2068(r3) -/* 03AC74 80040214 28000000 */ cmplwi r0, 0 -/* 03AC78 80040218 4082000C */ bne lbl_80040224 -/* 03AC7C 8004021C 38000000 */ li r0, 0 -/* 03AC80 80040220 48000080 */ b lbl_800402A0 -lbl_80040224: -/* 03AC84 80040224 8003206C */ lwz r0, 0x206c(r3) -/* 03AC88 80040228 7C070000 */ cmpw r7, r0 -/* 03AC8C 8004022C 4182000C */ beq lbl_80040238 -/* 03AC90 80040230 38000000 */ li r0, 0 -/* 03AC94 80040234 4800006C */ b lbl_800402A0 -lbl_80040238: -/* 03AC98 80040238 80BE0034 */ lwz r5, 0x34(r30) -/* 03AC9C 8004023C 38800000 */ li r4, 0 -/* 03ACA0 80040240 80050008 */ lwz r0, 8(r5) -/* 03ACA4 80040244 2C000000 */ cmpwi r0, 0 -/* 03ACA8 80040248 7C0903A6 */ mtctr r0 -/* 03ACAC 8004024C 40810028 */ ble lbl_80040274 -lbl_80040250: -/* 03ACB0 80040250 8065000C */ lwz r3, 0xc(r5) -/* 03ACB4 80040254 38040004 */ addi r0, r4, 4 -/* 03ACB8 80040258 7C03002E */ lwzx r0, r3, r0 -/* 03ACBC 8004025C 7C1D0000 */ cmpw r29, r0 -/* 03ACC0 80040260 4082000C */ bne lbl_8004026C -/* 03ACC4 80040264 38000000 */ li r0, 0 -/* 03ACC8 80040268 48000010 */ b lbl_80040278 -lbl_8004026C: -/* 03ACCC 8004026C 38840008 */ addi r4, r4, 8 -/* 03ACD0 80040270 4200FFE0 */ bdnz lbl_80040250 -lbl_80040274: -/* 03ACD4 80040274 38000001 */ li r0, 1 -lbl_80040278: -/* 03ACD8 80040278 2C000000 */ cmpwi r0, 0 -/* 03ACDC 8004027C 40820014 */ bne lbl_80040290 -/* 03ACE0 80040280 38000000 */ li r0, 0 -/* 03ACE4 80040284 3C7E0001 */ addis r3, r30, 1 -/* 03ACE8 80040288 90032068 */ stw r0, 0x2068(r3) -/* 03ACEC 8004028C 48000014 */ b lbl_800402A0 -lbl_80040290: -/* 03ACF0 80040290 3C7E0001 */ addis r3, r30, 1 -/* 03ACF4 80040294 38000000 */ li r0, 0 -/* 03ACF8 80040298 90032068 */ stw r0, 0x2068(r3) -/* 03ACFC 8004029C 38000001 */ li r0, 1 -lbl_800402A0: -/* 03AD00 800402A0 2C000000 */ cmpwi r0, 0 -/* 03AD04 800402A4 41820050 */ beq lbl_800402F4 -/* 03AD08 800402A8 281F0000 */ cmplwi r31, 0 -/* 03AD0C 800402AC 41820038 */ beq lbl_800402E4 -/* 03AD10 800402B0 3C9E0001 */ addis r4, r30, 1 -/* 03AD14 800402B4 80610084 */ lwz r3, 0x84(r1) -/* 03AD18 800402B8 80842070 */ lwz r4, 0x2070(r4) -/* 03AD1C 800402BC 38A30001 */ addi r5, r3, 1 -/* 03AD20 800402C0 5480A814 */ slwi r0, r4, 0x15 -/* 03AD24 800402C4 90A10084 */ stw r5, 0x84(r1) -/* 03AD28 800402C8 64007C06 */ oris r0, r0, 0x7c06 -/* 03AD2C 800402CC 54845828 */ slwi r4, r4, 0xb -/* 03AD30 800402D0 60000378 */ ori r0, r0, 0x378 -/* 03AD34 800402D4 7C800378 */ or r0, r4, r0 -/* 03AD38 800402D8 5463103A */ slwi r3, r3, 2 -/* 03AD3C 800402DC 7C1F192E */ stwx r0, r31, r3 -/* 03AD40 800402E0 4800005C */ b lbl_8004033C -lbl_800402E4: -/* 03AD44 800402E4 80610084 */ lwz r3, 0x84(r1) -/* 03AD48 800402E8 38030001 */ addi r0, r3, 1 -/* 03AD4C 800402EC 90010084 */ stw r0, 0x84(r1) -/* 03AD50 800402F0 4800004C */ b lbl_8004033C -lbl_800402F4: -/* 03AD54 800402F4 281F0000 */ cmplwi r31, 0 -/* 03AD58 800402F8 41820038 */ beq lbl_80040330 -/* 03AD5C 800402FC 54E41838 */ slwi r4, r7, 3 -/* 03AD60 80040300 80610084 */ lwz r3, 0x84(r1) -/* 03AD64 80040304 38040040 */ addi r0, r4, 0x40 -/* 03AD68 80040308 7C1E0214 */ add r0, r30, r0 -/* 03AD6C 8004030C 7C9E0050 */ subf r4, r30, r0 -/* 03AD70 80040310 38840004 */ addi r4, r4, 4 -/* 03AD74 80040314 38030001 */ addi r0, r3, 1 -/* 03AD78 80040318 5484043E */ clrlwi r4, r4, 0x10 -/* 03AD7C 8004031C 90010084 */ stw r0, 0x84(r1) -/* 03AD80 80040320 3C0480C3 */ addis r0, r4, 0x80c3 -/* 03AD84 80040324 5463103A */ slwi r3, r3, 2 -/* 03AD88 80040328 7C1F192E */ stwx r0, r31, r3 -/* 03AD8C 8004032C 48000010 */ b lbl_8004033C -lbl_80040330: -/* 03AD90 80040330 80610084 */ lwz r3, 0x84(r1) -/* 03AD94 80040334 38030001 */ addi r0, r3, 1 -/* 03AD98 80040338 90010084 */ stw r0, 0x84(r1) -lbl_8004033C: -/* 03AD9C 8004033C 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 03ADA0 80040340 7C7A0214 */ add r3, r26, r0 -/* 03ADA4 80040344 80E30818 */ lwz r7, 0x818(r3) -/* 03ADA8 80040348 57885EFE */ rlwinm r8, r28, 0xb, 0x1b, 0x1f -/* 03ADAC 8004034C 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 03ADB0 80040350 4182014C */ beq lbl_8004049C -/* 03ADB4 80040354 3C7E0001 */ addis r3, r30, 1 -/* 03ADB8 80040358 80032064 */ lwz r0, 0x2064(r3) -/* 03ADBC 8004035C 38E00007 */ li r7, 7 -/* 03ADC0 80040360 28000000 */ cmplwi r0, 0 -/* 03ADC4 80040364 4082000C */ bne lbl_80040370 -/* 03ADC8 80040368 38000000 */ li r0, 0 -/* 03ADCC 8004036C 48000094 */ b lbl_80040400 -lbl_80040370: -/* 03ADD0 80040370 80032068 */ lwz r0, 0x2068(r3) -/* 03ADD4 80040374 28000000 */ cmplwi r0, 0 -/* 03ADD8 80040378 4082000C */ bne lbl_80040384 -/* 03ADDC 8004037C 38000000 */ li r0, 0 -/* 03ADE0 80040380 48000080 */ b lbl_80040400 -lbl_80040384: -/* 03ADE4 80040384 8003206C */ lwz r0, 0x206c(r3) -/* 03ADE8 80040388 7C080000 */ cmpw r8, r0 -/* 03ADEC 8004038C 4182000C */ beq lbl_80040398 -/* 03ADF0 80040390 38000000 */ li r0, 0 -/* 03ADF4 80040394 4800006C */ b lbl_80040400 -lbl_80040398: -/* 03ADF8 80040398 80BE0034 */ lwz r5, 0x34(r30) -/* 03ADFC 8004039C 38800000 */ li r4, 0 -/* 03AE00 800403A0 80050008 */ lwz r0, 8(r5) -/* 03AE04 800403A4 2C000000 */ cmpwi r0, 0 -/* 03AE08 800403A8 7C0903A6 */ mtctr r0 -/* 03AE0C 800403AC 40810028 */ ble lbl_800403D4 -lbl_800403B0: -/* 03AE10 800403B0 8065000C */ lwz r3, 0xc(r5) -/* 03AE14 800403B4 38040004 */ addi r0, r4, 4 -/* 03AE18 800403B8 7C03002E */ lwzx r0, r3, r0 -/* 03AE1C 800403BC 7C1D0000 */ cmpw r29, r0 -/* 03AE20 800403C0 4082000C */ bne lbl_800403CC -/* 03AE24 800403C4 38000000 */ li r0, 0 -/* 03AE28 800403C8 48000010 */ b lbl_800403D8 -lbl_800403CC: -/* 03AE2C 800403CC 38840008 */ addi r4, r4, 8 -/* 03AE30 800403D0 4200FFE0 */ bdnz lbl_800403B0 -lbl_800403D4: -/* 03AE34 800403D4 38000001 */ li r0, 1 -lbl_800403D8: -/* 03AE38 800403D8 2C000000 */ cmpwi r0, 0 -/* 03AE3C 800403DC 40820014 */ bne lbl_800403F0 -/* 03AE40 800403E0 38000000 */ li r0, 0 -/* 03AE44 800403E4 3C7E0001 */ addis r3, r30, 1 -/* 03AE48 800403E8 90032068 */ stw r0, 0x2068(r3) -/* 03AE4C 800403EC 48000014 */ b lbl_80040400 -lbl_800403F0: -/* 03AE50 800403F0 3C7E0001 */ addis r3, r30, 1 -/* 03AE54 800403F4 38000000 */ li r0, 0 -/* 03AE58 800403F8 90032068 */ stw r0, 0x2068(r3) -/* 03AE5C 800403FC 38000001 */ li r0, 1 -lbl_80040400: -/* 03AE60 80040400 2C000000 */ cmpwi r0, 0 -/* 03AE64 80040404 41820050 */ beq lbl_80040454 -/* 03AE68 80040408 281F0000 */ cmplwi r31, 0 -/* 03AE6C 8004040C 41820038 */ beq lbl_80040444 -/* 03AE70 80040410 3C9E0001 */ addis r4, r30, 1 -/* 03AE74 80040414 80610084 */ lwz r3, 0x84(r1) -/* 03AE78 80040418 80A42070 */ lwz r5, 0x2070(r4) -/* 03AE7C 8004041C 38030001 */ addi r0, r3, 1 -/* 03AE80 80040420 54A4A814 */ slwi r4, r5, 0x15 -/* 03AE84 80040424 90010084 */ stw r0, 0x84(r1) -/* 03AE88 80040428 64807C07 */ oris r0, r4, 0x7c07 -/* 03AE8C 8004042C 54A45828 */ slwi r4, r5, 0xb -/* 03AE90 80040430 60000378 */ ori r0, r0, 0x378 -/* 03AE94 80040434 7C800378 */ or r0, r4, r0 -/* 03AE98 80040438 5463103A */ slwi r3, r3, 2 -/* 03AE9C 8004043C 7C1F192E */ stwx r0, r31, r3 -/* 03AEA0 80040440 4800005C */ b lbl_8004049C -lbl_80040444: -/* 03AEA4 80040444 80610084 */ lwz r3, 0x84(r1) -/* 03AEA8 80040448 38030001 */ addi r0, r3, 1 -/* 03AEAC 8004044C 90010084 */ stw r0, 0x84(r1) -/* 03AEB0 80040450 4800004C */ b lbl_8004049C -lbl_80040454: -/* 03AEB4 80040454 281F0000 */ cmplwi r31, 0 -/* 03AEB8 80040458 41820038 */ beq lbl_80040490 -/* 03AEBC 8004045C 55041838 */ slwi r4, r8, 3 -/* 03AEC0 80040460 80610084 */ lwz r3, 0x84(r1) -/* 03AEC4 80040464 38040040 */ addi r0, r4, 0x40 -/* 03AEC8 80040468 7C1E0214 */ add r0, r30, r0 -/* 03AECC 8004046C 7C9E0050 */ subf r4, r30, r0 -/* 03AED0 80040470 38840004 */ addi r4, r4, 4 -/* 03AED4 80040474 38030001 */ addi r0, r3, 1 -/* 03AED8 80040478 5484043E */ clrlwi r4, r4, 0x10 -/* 03AEDC 8004047C 90010084 */ stw r0, 0x84(r1) -/* 03AEE0 80040480 3C0480E3 */ addis r0, r4, 0x80e3 -/* 03AEE4 80040484 5463103A */ slwi r3, r3, 2 -/* 03AEE8 80040488 7C1F192E */ stwx r0, r31, r3 -/* 03AEEC 8004048C 48000010 */ b lbl_8004049C -lbl_80040490: -/* 03AEF0 80040490 80610084 */ lwz r3, 0x84(r1) -/* 03AEF4 80040494 38030001 */ addi r0, r3, 1 -/* 03AEF8 80040498 90010084 */ stw r0, 0x84(r1) -lbl_8004049C: -/* 03AEFC 8004049C 281F0000 */ cmplwi r31, 0 -/* 03AF00 800404A0 41820030 */ beq lbl_800404D0 -/* 03AF04 800404A4 80610084 */ lwz r3, 0x84(r1) -/* 03AF08 800404A8 54E0A814 */ slwi r0, r7, 0x15 -/* 03AF0C 800404AC 64057000 */ oris r5, r0, 0x7000 -/* 03AF10 800404B0 54E4801E */ slwi r4, r7, 0x10 -/* 03AF14 800404B4 38030001 */ addi r0, r3, 1 -/* 03AF18 800404B8 7CA42378 */ or r4, r5, r4 -/* 03AF1C 800404BC 90010084 */ stw r0, 0x84(r1) -/* 03AF20 800404C0 6080001F */ ori r0, r4, 0x1f -/* 03AF24 800404C4 5463103A */ slwi r3, r3, 2 -/* 03AF28 800404C8 7C1F192E */ stwx r0, r31, r3 -/* 03AF2C 800404CC 48000010 */ b lbl_800404DC -lbl_800404D0: -/* 03AF30 800404D0 80610084 */ lwz r3, 0x84(r1) -/* 03AF34 800404D4 38030001 */ addi r0, r3, 1 -/* 03AF38 800404D8 90010084 */ stw r0, 0x84(r1) -lbl_800404DC: -/* 03AF3C 800404DC 281F0000 */ cmplwi r31, 0 -/* 03AF40 800404E0 41820038 */ beq lbl_80040518 -/* 03AF44 800404E4 80610084 */ lwz r3, 0x84(r1) -/* 03AF48 800404E8 5560A814 */ slwi r0, r11, 0x15 -/* 03AF4C 800404EC 64007C00 */ oris r0, r0, 0x7c00 -/* 03AF50 800404F0 38830001 */ addi r4, r3, 1 -/* 03AF54 800404F4 60000630 */ ori r0, r0, 0x630 -/* 03AF58 800404F8 90810084 */ stw r4, 0x84(r1) -/* 03AF5C 800404FC 54C4801E */ slwi r4, r6, 0x10 -/* 03AF60 80040500 54E55828 */ slwi r5, r7, 0xb -/* 03AF64 80040504 7C002378 */ or r0, r0, r4 -/* 03AF68 80040508 7CA00378 */ or r0, r5, r0 -/* 03AF6C 8004050C 5463103A */ slwi r3, r3, 2 -/* 03AF70 80040510 7C1F192E */ stwx r0, r31, r3 -/* 03AF74 80040514 48000010 */ b lbl_80040524 -lbl_80040518: -/* 03AF78 80040518 80610084 */ lwz r3, 0x84(r1) -/* 03AF7C 8004051C 38030001 */ addi r0, r3, 1 -/* 03AF80 80040520 90010084 */ stw r0, 0x84(r1) -lbl_80040524: -/* 03AF84 80040524 80090000 */ lwz r0, 0(r9) -/* 03AF88 80040528 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 03AF8C 8004052C 40820008 */ bne lbl_80040534 -/* 03AF90 80040530 48027A04 */ b lbl_80067F34 -lbl_80040534: -/* 03AF94 80040534 3C7E0001 */ addis r3, r30, 1 -/* 03AF98 80040538 38000002 */ li r0, 2 -/* 03AF9C 8004053C 90032068 */ stw r0, 0x2068(r3) -/* 03AFA0 80040540 281F0000 */ cmplwi r31, 0 -/* 03AFA4 80040544 9143206C */ stw r10, 0x206c(r3) -/* 03AFA8 80040548 90C32070 */ stw r6, 0x2070(r3) -/* 03AFAC 8004054C 41820038 */ beq lbl_80040584 -/* 03AFB0 80040550 55441838 */ slwi r4, r10, 3 -/* 03AFB4 80040554 80610084 */ lwz r3, 0x84(r1) -/* 03AFB8 80040558 38040040 */ addi r0, r4, 0x40 -/* 03AFBC 8004055C 7C1E0214 */ add r0, r30, r0 -/* 03AFC0 80040560 7C9E0050 */ subf r4, r30, r0 -/* 03AFC4 80040564 38840004 */ addi r4, r4, 4 -/* 03AFC8 80040568 38030001 */ addi r0, r3, 1 -/* 03AFCC 8004056C 5484043E */ clrlwi r4, r4, 0x10 -/* 03AFD0 80040570 90010084 */ stw r0, 0x84(r1) -/* 03AFD4 80040574 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03AFD8 80040578 5463103A */ slwi r3, r3, 2 -/* 03AFDC 8004057C 7C1F192E */ stwx r0, r31, r3 -/* 03AFE0 80040580 480279B4 */ b lbl_80067F34 -lbl_80040584: -/* 03AFE4 80040584 80610084 */ lwz r3, 0x84(r1) -/* 03AFE8 80040588 38030001 */ addi r0, r3, 1 -/* 03AFEC 8004058C 90010084 */ stw r0, 0x84(r1) -/* 03AFF0 80040590 480279A4 */ b lbl_80067F34 -.global lbl_80040594 -lbl_80040594: -/* 03AFF4 80040594 28180000 */ cmplwi r24, 0 -/* 03AFF8 80040598 4182003C */ beq lbl_800405D4 -/* 03AFFC 8004059C 387E0000 */ addi r3, r30, 0 -/* 03B000 800405A0 38920000 */ addi r4, r18, 0 -/* 03B004 800405A4 38BB0000 */ addi r5, r27, 0 -/* 03B008 800405A8 38DF0000 */ addi r6, r31, 0 -/* 03B00C 800405AC 38E10084 */ addi r7, r1, 0x84 -/* 03B010 800405B0 39000001 */ li r8, 1 -/* 03B014 800405B4 4BFFE851 */ bl cpuGetPPC -/* 03B018 800405B8 2C030000 */ cmpwi r3, 0 -/* 03B01C 800405BC 4082000C */ bne lbl_800405C8 -/* 03B020 800405C0 38600000 */ li r3, 0 -/* 03B024 800405C4 48027C60 */ b lbl_80068224 -lbl_800405C8: -/* 03B028 800405C8 80720000 */ lwz r3, 0(r18) -/* 03B02C 800405CC 3803FFFC */ addi r0, r3, -4 -/* 03B030 800405D0 90120000 */ stw r0, 0(r18) -lbl_800405D4: -/* 03B034 800405D4 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 03B038 800405D8 2800001F */ cmplwi r0, 0x1f -/* 03B03C 800405DC 41820010 */ beq lbl_800405EC -/* 03B040 800405E0 3C7E0001 */ addis r3, r30, 1 -/* 03B044 800405E4 38800000 */ li r4, 0 -/* 03B048 800405E8 90832064 */ stw r4, 0x2064(r3) -lbl_800405EC: -/* 03B04C 800405EC 2800001F */ cmplwi r0, 0x1f -/* 03B050 800405F0 408200E4 */ bne lbl_800406D4 -/* 03B054 800405F4 3C7E0001 */ addis r3, r30, 1 -/* 03B058 800405F8 8063205C */ lwz r3, 0x205c(r3) -/* 03B05C 800405FC 546307BD */ rlwinm. r3, r3, 0, 0x1e, 0x1e -/* 03B060 80040600 408200D4 */ bne lbl_800406D4 -/* 03B064 80040604 5403103A */ slwi r3, r0, 2 -/* 03B068 80040608 7C7A1A14 */ add r3, r26, r3 -/* 03B06C 8004060C 80A30818 */ lwz r5, 0x818(r3) -/* 03B070 80040610 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 03B074 80040614 41820050 */ beq lbl_80040664 -/* 03B078 80040618 281F0000 */ cmplwi r31, 0 -/* 03B07C 8004061C 38A00005 */ li r5, 5 -/* 03B080 80040620 41820038 */ beq lbl_80040658 -/* 03B084 80040624 54041838 */ slwi r4, r0, 3 -/* 03B088 80040628 80610084 */ lwz r3, 0x84(r1) -/* 03B08C 8004062C 38040040 */ addi r0, r4, 0x40 -/* 03B090 80040630 7C1E0214 */ add r0, r30, r0 -/* 03B094 80040634 7C9E0050 */ subf r4, r30, r0 -/* 03B098 80040638 38840004 */ addi r4, r4, 4 -/* 03B09C 8004063C 38030001 */ addi r0, r3, 1 -/* 03B0A0 80040640 5484043E */ clrlwi r4, r4, 0x10 -/* 03B0A4 80040644 90010084 */ stw r0, 0x84(r1) -/* 03B0A8 80040648 3C0480A3 */ addis r0, r4, 0x80a3 -/* 03B0AC 8004064C 5463103A */ slwi r3, r3, 2 -/* 03B0B0 80040650 7C1F192E */ stwx r0, r31, r3 -/* 03B0B4 80040654 48000010 */ b lbl_80040664 -lbl_80040658: -/* 03B0B8 80040658 80610084 */ lwz r3, 0x84(r1) -/* 03B0BC 8004065C 38030001 */ addi r0, r3, 1 -/* 03B0C0 80040660 90010084 */ stw r0, 0x84(r1) -lbl_80040664: -/* 03B0C4 80040664 281F0000 */ cmplwi r31, 0 -/* 03B0C8 80040668 41820028 */ beq lbl_80040690 -/* 03B0CC 8004066C 80610084 */ lwz r3, 0x84(r1) -/* 03B0D0 80040670 54A4A994 */ rlwinm r4, r5, 0x15, 6, 0xa -/* 03B0D4 80040674 64847C08 */ oris r4, r4, 0x7c08 -/* 03B0D8 80040678 38030001 */ addi r0, r3, 1 -/* 03B0DC 8004067C 90010084 */ stw r0, 0x84(r1) -/* 03B0E0 80040680 608403A6 */ ori r4, r4, 0x3a6 -/* 03B0E4 80040684 5460103A */ slwi r0, r3, 2 -/* 03B0E8 80040688 7C9F012E */ stwx r4, r31, r0 -/* 03B0EC 8004068C 48000010 */ b lbl_8004069C -lbl_80040690: -/* 03B0F0 80040690 80610084 */ lwz r3, 0x84(r1) -/* 03B0F4 80040694 38030001 */ addi r0, r3, 1 -/* 03B0F8 80040698 90010084 */ stw r0, 0x84(r1) -lbl_8004069C: -/* 03B0FC 8004069C 281F0000 */ cmplwi r31, 0 -/* 03B100 800406A0 41820024 */ beq lbl_800406C4 -/* 03B104 800406A4 80610084 */ lwz r3, 0x84(r1) -/* 03B108 800406A8 3C804E80 */ lis r4, 0x4e80 -/* 03B10C 800406AC 38840020 */ addi r4, r4, 0x20 -/* 03B110 800406B0 38030001 */ addi r0, r3, 1 -/* 03B114 800406B4 90010084 */ stw r0, 0x84(r1) -/* 03B118 800406B8 5460103A */ slwi r0, r3, 2 -/* 03B11C 800406BC 7C9F012E */ stwx r4, r31, r0 -/* 03B120 800406C0 48027874 */ b lbl_80067F34 -lbl_800406C4: -/* 03B124 800406C4 80610084 */ lwz r3, 0x84(r1) -/* 03B128 800406C8 38030001 */ addi r0, r3, 1 -/* 03B12C 800406CC 90010084 */ stw r0, 0x84(r1) -/* 03B130 800406D0 48027864 */ b lbl_80067F34 -lbl_800406D4: -/* 03B134 800406D4 5403103A */ slwi r3, r0, 2 -/* 03B138 800406D8 7C7A1A14 */ add r3, r26, r3 -/* 03B13C 800406DC 80630818 */ lwz r3, 0x818(r3) -/* 03B140 800406E0 546405EF */ rlwinm. r4, r3, 0, 0x17, 0x17 -/* 03B144 800406E4 41820050 */ beq lbl_80040734 -/* 03B148 800406E8 281F0000 */ cmplwi r31, 0 -/* 03B14C 800406EC 41820038 */ beq lbl_80040724 -/* 03B150 800406F0 54041838 */ slwi r4, r0, 3 -/* 03B154 800406F4 80610084 */ lwz r3, 0x84(r1) -/* 03B158 800406F8 38040040 */ addi r0, r4, 0x40 -/* 03B15C 800406FC 7C1E0214 */ add r0, r30, r0 -/* 03B160 80040700 7C9E0050 */ subf r4, r30, r0 -/* 03B164 80040704 38840004 */ addi r4, r4, 4 -/* 03B168 80040708 38030001 */ addi r0, r3, 1 -/* 03B16C 8004070C 5484043E */ clrlwi r4, r4, 0x10 -/* 03B170 80040710 90010084 */ stw r0, 0x84(r1) -/* 03B174 80040714 3C0480A3 */ addis r0, r4, 0x80a3 -/* 03B178 80040718 5463103A */ slwi r3, r3, 2 -/* 03B17C 8004071C 7C1F192E */ stwx r0, r31, r3 -/* 03B180 80040720 48000054 */ b lbl_80040774 -lbl_80040724: -/* 03B184 80040724 80610084 */ lwz r3, 0x84(r1) -/* 03B188 80040728 38030001 */ addi r0, r3, 1 -/* 03B18C 8004072C 90010084 */ stw r0, 0x84(r1) -/* 03B190 80040730 48000044 */ b lbl_80040774 -lbl_80040734: -/* 03B194 80040734 281F0000 */ cmplwi r31, 0 -/* 03B198 80040738 41820030 */ beq lbl_80040768 -/* 03B19C 8004073C 80810084 */ lwz r4, 0x84(r1) -/* 03B1A0 80040740 5460A814 */ slwi r0, r3, 0x15 -/* 03B1A4 80040744 64057C05 */ oris r5, r0, 0x7c05 -/* 03B1A8 80040748 38040001 */ addi r0, r4, 1 -/* 03B1AC 8004074C 90010084 */ stw r0, 0x84(r1) -/* 03B1B0 80040750 60A50378 */ ori r5, r5, 0x378 -/* 03B1B4 80040754 54605828 */ slwi r0, r3, 0xb -/* 03B1B8 80040758 7CA00378 */ or r0, r5, r0 -/* 03B1BC 8004075C 5483103A */ slwi r3, r4, 2 -/* 03B1C0 80040760 7C1F192E */ stwx r0, r31, r3 -/* 03B1C4 80040764 48000010 */ b lbl_80040774 -lbl_80040768: -/* 03B1C8 80040768 80610084 */ lwz r3, 0x84(r1) -/* 03B1CC 8004076C 38030001 */ addi r0, r3, 1 -/* 03B1D0 80040770 90010084 */ stw r0, 0x84(r1) -lbl_80040774: -/* 03B1D4 80040774 281F0000 */ cmplwi r31, 0 -/* 03B1D8 80040778 41820034 */ beq lbl_800407AC -/* 03B1DC 8004077C 80610084 */ lwz r3, 0x84(r1) -/* 03B1E0 80040780 801E0B44 */ lwz r0, 0xb44(r30) -/* 03B1E4 80040784 5465103A */ slwi r5, r3, 2 -/* 03B1E8 80040788 7C9F2A14 */ add r4, r31, r5 -/* 03B1EC 8004078C 7C040050 */ subf r0, r4, r0 -/* 03B1F0 80040790 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 03B1F4 80040794 38630001 */ addi r3, r3, 1 -/* 03B1F8 80040798 64004800 */ oris r0, r0, 0x4800 -/* 03B1FC 8004079C 90610084 */ stw r3, 0x84(r1) -/* 03B200 800407A0 60000001 */ ori r0, r0, 1 -/* 03B204 800407A4 7C1F292E */ stwx r0, r31, r5 -/* 03B208 800407A8 4802778C */ b lbl_80067F34 -lbl_800407AC: -/* 03B20C 800407AC 80610084 */ lwz r3, 0x84(r1) -/* 03B210 800407B0 38030001 */ addi r0, r3, 1 -/* 03B214 800407B4 90010084 */ stw r0, 0x84(r1) -/* 03B218 800407B8 4802777C */ b lbl_80067F34 -.global lbl_800407BC -lbl_800407BC: -/* 03B21C 800407BC 28180000 */ cmplwi r24, 0 -/* 03B220 800407C0 4182003C */ beq lbl_800407FC -/* 03B224 800407C4 387E0000 */ addi r3, r30, 0 -/* 03B228 800407C8 38920000 */ addi r4, r18, 0 -/* 03B22C 800407CC 38BB0000 */ addi r5, r27, 0 -/* 03B230 800407D0 38DF0000 */ addi r6, r31, 0 -/* 03B234 800407D4 38E10084 */ addi r7, r1, 0x84 -/* 03B238 800407D8 39000001 */ li r8, 1 -/* 03B23C 800407DC 4BFFE629 */ bl cpuGetPPC -/* 03B240 800407E0 2C030000 */ cmpwi r3, 0 -/* 03B244 800407E4 4082000C */ bne lbl_800407F0 -/* 03B248 800407E8 38600000 */ li r3, 0 -/* 03B24C 800407EC 48027A38 */ b lbl_80068224 -lbl_800407F0: -/* 03B250 800407F0 80720000 */ lwz r3, 0(r18) -/* 03B254 800407F4 3803FFFC */ addi r0, r3, -4 -/* 03B258 800407F8 90120000 */ stw r0, 0(r18) -lbl_800407FC: -/* 03B25C 800407FC 281F0000 */ cmplwi r31, 0 -/* 03B260 80040800 41820028 */ beq lbl_80040828 -/* 03B264 80040804 80610084 */ lwz r3, 0x84(r1) -/* 03B268 80040808 381E0034 */ addi r0, r30, 0x34 -/* 03B26C 8004080C 7C9E0050 */ subf r4, r30, r0 -/* 03B270 80040810 38030001 */ addi r0, r3, 1 -/* 03B274 80040814 90010084 */ stw r0, 0x84(r1) -/* 03B278 80040818 3C0480A3 */ addis r0, r4, 0x80a3 -/* 03B27C 8004081C 5463103A */ slwi r3, r3, 2 -/* 03B280 80040820 7C1F192E */ stwx r0, r31, r3 -/* 03B284 80040824 48000010 */ b lbl_80040834 -lbl_80040828: -/* 03B288 80040828 80610084 */ lwz r3, 0x84(r1) -/* 03B28C 8004082C 38030001 */ addi r0, r3, 1 -/* 03B290 80040830 90010084 */ stw r0, 0x84(r1) -lbl_80040834: -/* 03B294 80040834 281F0000 */ cmplwi r31, 0 -/* 03B298 80040838 41820024 */ beq lbl_8004085C -/* 03B29C 8004083C 80610084 */ lwz r3, 0x84(r1) -/* 03B2A0 80040840 3C803CE1 */ lis r4, 0x3ce1 -/* 03B2A4 80040844 38848000 */ addi r4, r4, -32768 -/* 03B2A8 80040848 38030001 */ addi r0, r3, 1 -/* 03B2AC 8004084C 90010084 */ stw r0, 0x84(r1) -/* 03B2B0 80040850 5460103A */ slwi r0, r3, 2 -/* 03B2B4 80040854 7C9F012E */ stwx r4, r31, r0 -/* 03B2B8 80040858 48000010 */ b lbl_80040868 -lbl_8004085C: -/* 03B2BC 8004085C 80610084 */ lwz r3, 0x84(r1) -/* 03B2C0 80040860 38030001 */ addi r0, r3, 1 -/* 03B2C4 80040864 90010084 */ stw r0, 0x84(r1) -lbl_80040868: -/* 03B2C8 80040868 281F0000 */ cmplwi r31, 0 -/* 03B2CC 8004086C 41820028 */ beq lbl_80040894 -/* 03B2D0 80040870 80610084 */ lwz r3, 0x84(r1) -/* 03B2D4 80040874 381B0028 */ addi r0, r27, 0x28 -/* 03B2D8 80040878 7C9B0050 */ subf r4, r27, r0 -/* 03B2DC 8004087C 38030001 */ addi r0, r3, 1 -/* 03B2E0 80040880 90010084 */ stw r0, 0x84(r1) -/* 03B2E4 80040884 3C0480C5 */ addis r0, r4, 0x80c5 -/* 03B2E8 80040888 5463103A */ slwi r3, r3, 2 -/* 03B2EC 8004088C 7C1F192E */ stwx r0, r31, r3 -/* 03B2F0 80040890 48000010 */ b lbl_800408A0 -lbl_80040894: -/* 03B2F4 80040894 80610084 */ lwz r3, 0x84(r1) -/* 03B2F8 80040898 38030001 */ addi r0, r3, 1 -/* 03B2FC 8004089C 90010084 */ stw r0, 0x84(r1) -lbl_800408A0: -/* 03B300 800408A0 281F0000 */ cmplwi r31, 0 -/* 03B304 800408A4 41820024 */ beq lbl_800408C8 -/* 03B308 800408A8 80610084 */ lwz r3, 0x84(r1) -/* 03B30C 800408AC 3C807CC6 */ lis r4, 0x7cc6 -/* 03B310 800408B0 38843B78 */ addi r4, r4, 0x3b78 -/* 03B314 800408B4 38030001 */ addi r0, r3, 1 -/* 03B318 800408B8 90010084 */ stw r0, 0x84(r1) -/* 03B31C 800408BC 5460103A */ slwi r0, r3, 2 -/* 03B320 800408C0 7C9F012E */ stwx r4, r31, r0 -/* 03B324 800408C4 48000010 */ b lbl_800408D4 -lbl_800408C8: -/* 03B328 800408C8 80610084 */ lwz r3, 0x84(r1) -/* 03B32C 800408CC 38030001 */ addi r0, r3, 1 -/* 03B330 800408D0 90010084 */ stw r0, 0x84(r1) -lbl_800408D4: -/* 03B334 800408D4 281F0000 */ cmplwi r31, 0 -/* 03B338 800408D8 41820028 */ beq lbl_80040900 -/* 03B33C 800408DC 80610084 */ lwz r3, 0x84(r1) -/* 03B340 800408E0 381D0008 */ addi r0, r29, 8 -/* 03B344 800408E4 5404843E */ srwi r4, r0, 0x10 -/* 03B348 800408E8 38030001 */ addi r0, r3, 1 -/* 03B34C 800408EC 90010084 */ stw r0, 0x84(r1) -/* 03B350 800408F0 64803CE0 */ oris r0, r4, 0x3ce0 -/* 03B354 800408F4 5463103A */ slwi r3, r3, 2 -/* 03B358 800408F8 7C1F192E */ stwx r0, r31, r3 -/* 03B35C 800408FC 48000010 */ b lbl_8004090C -lbl_80040900: -/* 03B360 80040900 80610084 */ lwz r3, 0x84(r1) -/* 03B364 80040904 38030001 */ addi r0, r3, 1 -/* 03B368 80040908 90010084 */ stw r0, 0x84(r1) -lbl_8004090C: -/* 03B36C 8004090C 281F0000 */ cmplwi r31, 0 -/* 03B370 80040910 41820028 */ beq lbl_80040938 -/* 03B374 80040914 80610084 */ lwz r3, 0x84(r1) -/* 03B378 80040918 381B0028 */ addi r0, r27, 0x28 -/* 03B37C 8004091C 7C9B0050 */ subf r4, r27, r0 -/* 03B380 80040920 38030001 */ addi r0, r3, 1 -/* 03B384 80040924 90010084 */ stw r0, 0x84(r1) -/* 03B388 80040928 3C0490C5 */ addis r0, r4, 0x90c5 -/* 03B38C 8004092C 5463103A */ slwi r3, r3, 2 -/* 03B390 80040930 7C1F192E */ stwx r0, r31, r3 -/* 03B394 80040934 48000010 */ b lbl_80040944 -lbl_80040938: -/* 03B398 80040938 80610084 */ lwz r3, 0x84(r1) -/* 03B39C 8004093C 38030001 */ addi r0, r3, 1 -/* 03B3A0 80040940 90010084 */ stw r0, 0x84(r1) -lbl_80040944: -/* 03B3A4 80040944 281F0000 */ cmplwi r31, 0 -/* 03B3A8 80040948 41820028 */ beq lbl_80040970 -/* 03B3AC 8004094C 80610084 */ lwz r3, 0x84(r1) -/* 03B3B0 80040950 381D0008 */ addi r0, r29, 8 -/* 03B3B4 80040954 5404043E */ clrlwi r4, r0, 0x10 -/* 03B3B8 80040958 38030001 */ addi r0, r3, 1 -/* 03B3BC 8004095C 90010084 */ stw r0, 0x84(r1) -/* 03B3C0 80040960 648060E7 */ oris r0, r4, 0x60e7 -/* 03B3C4 80040964 5463103A */ slwi r3, r3, 2 -/* 03B3C8 80040968 7C1F192E */ stwx r0, r31, r3 -/* 03B3CC 8004096C 48000010 */ b lbl_8004097C -lbl_80040970: -/* 03B3D0 80040970 80610084 */ lwz r3, 0x84(r1) -/* 03B3D4 80040974 38030001 */ addi r0, r3, 1 -/* 03B3D8 80040978 90010084 */ stw r0, 0x84(r1) -lbl_8004097C: -/* 03B3DC 8004097C 281F0000 */ cmplwi r31, 0 -/* 03B3E0 80040980 41820028 */ beq lbl_800409A8 -/* 03B3E4 80040984 80610084 */ lwz r3, 0x84(r1) -/* 03B3E8 80040988 381E0038 */ addi r0, r30, 0x38 -/* 03B3EC 8004098C 7C9E0050 */ subf r4, r30, r0 -/* 03B3F0 80040990 38030001 */ addi r0, r3, 1 -/* 03B3F4 80040994 90010084 */ stw r0, 0x84(r1) -/* 03B3F8 80040998 3C0490E3 */ addis r0, r4, 0x90e3 -/* 03B3FC 8004099C 5463103A */ slwi r3, r3, 2 -/* 03B400 800409A0 7C1F192E */ stwx r0, r31, r3 -/* 03B404 800409A4 48000010 */ b lbl_800409B4 -lbl_800409A8: -/* 03B408 800409A8 80610084 */ lwz r3, 0x84(r1) -/* 03B40C 800409AC 38030001 */ addi r0, r3, 1 -/* 03B410 800409B0 90010084 */ stw r0, 0x84(r1) -lbl_800409B4: -/* 03B414 800409B4 80BA0894 */ lwz r5, 0x894(r26) -/* 03B418 800409B8 54A005EF */ rlwinm. r0, r5, 0, 0x17, 0x17 -/* 03B41C 800409BC 418200B4 */ beq lbl_80040A70 -/* 03B420 800409C0 80810084 */ lwz r4, 0x84(r1) -/* 03B424 800409C4 281F0000 */ cmplwi r31, 0 -/* 03B428 800409C8 5483103A */ slwi r3, r4, 2 -/* 03B42C 800409CC 38030014 */ addi r0, r3, 0x14 -/* 03B430 800409D0 7C1F0214 */ add r0, r31, r0 -/* 03B434 800409D4 4182001C */ beq lbl_800409F0 -/* 03B438 800409D8 38840001 */ addi r4, r4, 1 -/* 03B43C 800409DC 5405843E */ srwi r5, r0, 0x10 -/* 03B440 800409E0 90810084 */ stw r4, 0x84(r1) -/* 03B444 800409E4 64A43CA0 */ oris r4, r5, 0x3ca0 -/* 03B448 800409E8 7C9F192E */ stwx r4, r31, r3 -/* 03B44C 800409EC 4800000C */ b lbl_800409F8 -lbl_800409F0: -/* 03B450 800409F0 38640001 */ addi r3, r4, 1 -/* 03B454 800409F4 90610084 */ stw r3, 0x84(r1) -lbl_800409F8: -/* 03B458 800409F8 281F0000 */ cmplwi r31, 0 -/* 03B45C 800409FC 41820024 */ beq lbl_80040A20 -/* 03B460 80040A00 80610084 */ lwz r3, 0x84(r1) -/* 03B464 80040A04 5400043E */ clrlwi r0, r0, 0x10 -/* 03B468 80040A08 640460A5 */ oris r4, r0, 0x60a5 -/* 03B46C 80040A0C 38030001 */ addi r0, r3, 1 -/* 03B470 80040A10 90010084 */ stw r0, 0x84(r1) -/* 03B474 80040A14 5460103A */ slwi r0, r3, 2 -/* 03B478 80040A18 7C9F012E */ stwx r4, r31, r0 -/* 03B47C 80040A1C 48000010 */ b lbl_80040A2C -lbl_80040A20: -/* 03B480 80040A20 80610084 */ lwz r3, 0x84(r1) -/* 03B484 80040A24 38030001 */ addi r0, r3, 1 -/* 03B488 80040A28 90010084 */ stw r0, 0x84(r1) -lbl_80040A2C: -/* 03B48C 80040A2C 281F0000 */ cmplwi r31, 0 -/* 03B490 80040A30 41820030 */ beq lbl_80040A60 -/* 03B494 80040A34 80610084 */ lwz r3, 0x84(r1) -/* 03B498 80040A38 381E0138 */ addi r0, r30, 0x138 -/* 03B49C 80040A3C 7C9E0050 */ subf r4, r30, r0 -/* 03B4A0 80040A40 38840004 */ addi r4, r4, 4 -/* 03B4A4 80040A44 38030001 */ addi r0, r3, 1 -/* 03B4A8 80040A48 5484043E */ clrlwi r4, r4, 0x10 -/* 03B4AC 80040A4C 90010084 */ stw r0, 0x84(r1) -/* 03B4B0 80040A50 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03B4B4 80040A54 5463103A */ slwi r3, r3, 2 -/* 03B4B8 80040A58 7C1F192E */ stwx r0, r31, r3 -/* 03B4BC 80040A5C 48000098 */ b lbl_80040AF4 -lbl_80040A60: -/* 03B4C0 80040A60 80610084 */ lwz r3, 0x84(r1) -/* 03B4C4 80040A64 38030001 */ addi r0, r3, 1 -/* 03B4C8 80040A68 90010084 */ stw r0, 0x84(r1) -/* 03B4CC 80040A6C 48000088 */ b lbl_80040AF4 -lbl_80040A70: -/* 03B4D0 80040A70 80810084 */ lwz r4, 0x84(r1) -/* 03B4D4 80040A74 281F0000 */ cmplwi r31, 0 -/* 03B4D8 80040A78 5483103A */ slwi r3, r4, 2 -/* 03B4DC 80040A7C 38030010 */ addi r0, r3, 0x10 -/* 03B4E0 80040A80 7C1F0214 */ add r0, r31, r0 -/* 03B4E4 80040A84 41820024 */ beq lbl_80040AA8 -/* 03B4E8 80040A88 5406843E */ srwi r6, r0, 0x10 -/* 03B4EC 80040A8C 38840001 */ addi r4, r4, 1 -/* 03B4F0 80040A90 90810084 */ stw r4, 0x84(r1) -/* 03B4F4 80040A94 64C43C00 */ oris r4, r6, 0x3c00 -/* 03B4F8 80040A98 54A6A814 */ slwi r6, r5, 0x15 -/* 03B4FC 80040A9C 7C843378 */ or r4, r4, r6 -/* 03B500 80040AA0 7C9F192E */ stwx r4, r31, r3 -/* 03B504 80040AA4 4800000C */ b lbl_80040AB0 -lbl_80040AA8: -/* 03B508 80040AA8 38640001 */ addi r3, r4, 1 -/* 03B50C 80040AAC 90610084 */ stw r3, 0x84(r1) -lbl_80040AB0: -/* 03B510 80040AB0 281F0000 */ cmplwi r31, 0 -/* 03B514 80040AB4 41820034 */ beq lbl_80040AE8 -/* 03B518 80040AB8 80610084 */ lwz r3, 0x84(r1) -/* 03B51C 80040ABC 5400043E */ clrlwi r0, r0, 0x10 -/* 03B520 80040AC0 64046000 */ oris r4, r0, 0x6000 -/* 03B524 80040AC4 54A0A814 */ slwi r0, r5, 0x15 -/* 03B528 80040AC8 38C30001 */ addi r6, r3, 1 -/* 03B52C 80040ACC 90C10084 */ stw r6, 0x84(r1) -/* 03B530 80040AD0 54A5801E */ slwi r5, r5, 0x10 -/* 03B534 80040AD4 7C800378 */ or r0, r4, r0 -/* 03B538 80040AD8 7CA00378 */ or r0, r5, r0 -/* 03B53C 80040ADC 5463103A */ slwi r3, r3, 2 -/* 03B540 80040AE0 7C1F192E */ stwx r0, r31, r3 -/* 03B544 80040AE4 48000010 */ b lbl_80040AF4 -lbl_80040AE8: -/* 03B548 80040AE8 80610084 */ lwz r3, 0x84(r1) -/* 03B54C 80040AEC 38030001 */ addi r0, r3, 1 -/* 03B550 80040AF0 90010084 */ stw r0, 0x84(r1) -lbl_80040AF4: -/* 03B554 80040AF4 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 03B558 80040AF8 7C9A0214 */ add r4, r26, r0 -/* 03B55C 80040AFC 80040818 */ lwz r0, 0x818(r4) -/* 03B560 80040B00 57835EFE */ rlwinm r3, r28, 0xb, 0x1b, 0x1f -/* 03B564 80040B04 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 03B568 80040B08 41820050 */ beq lbl_80040B58 -/* 03B56C 80040B0C 281F0000 */ cmplwi r31, 0 -/* 03B570 80040B10 41820038 */ beq lbl_80040B48 -/* 03B574 80040B14 54641838 */ slwi r4, r3, 3 -/* 03B578 80040B18 80610084 */ lwz r3, 0x84(r1) -/* 03B57C 80040B1C 38040040 */ addi r0, r4, 0x40 -/* 03B580 80040B20 7C1E0214 */ add r0, r30, r0 -/* 03B584 80040B24 7C9E0050 */ subf r4, r30, r0 -/* 03B588 80040B28 38840004 */ addi r4, r4, 4 -/* 03B58C 80040B2C 38030001 */ addi r0, r3, 1 -/* 03B590 80040B30 5484043E */ clrlwi r4, r4, 0x10 -/* 03B594 80040B34 90010084 */ stw r0, 0x84(r1) -/* 03B598 80040B38 3C0480A3 */ addis r0, r4, 0x80a3 -/* 03B59C 80040B3C 5463103A */ slwi r3, r3, 2 -/* 03B5A0 80040B40 7C1F192E */ stwx r0, r31, r3 -/* 03B5A4 80040B44 48000054 */ b lbl_80040B98 -lbl_80040B48: -/* 03B5A8 80040B48 80610084 */ lwz r3, 0x84(r1) -/* 03B5AC 80040B4C 38030001 */ addi r0, r3, 1 -/* 03B5B0 80040B50 90010084 */ stw r0, 0x84(r1) -/* 03B5B4 80040B54 48000044 */ b lbl_80040B98 -lbl_80040B58: -/* 03B5B8 80040B58 281F0000 */ cmplwi r31, 0 -/* 03B5BC 80040B5C 41820030 */ beq lbl_80040B8C -/* 03B5C0 80040B60 80810084 */ lwz r4, 0x84(r1) -/* 03B5C4 80040B64 5403A814 */ slwi r3, r0, 0x15 -/* 03B5C8 80040B68 64657C05 */ oris r5, r3, 0x7c05 -/* 03B5CC 80040B6C 38640001 */ addi r3, r4, 1 -/* 03B5D0 80040B70 90610084 */ stw r3, 0x84(r1) -/* 03B5D4 80040B74 60A50378 */ ori r5, r5, 0x378 -/* 03B5D8 80040B78 54005828 */ slwi r0, r0, 0xb -/* 03B5DC 80040B7C 7CA00378 */ or r0, r5, r0 -/* 03B5E0 80040B80 5483103A */ slwi r3, r4, 2 -/* 03B5E4 80040B84 7C1F192E */ stwx r0, r31, r3 -/* 03B5E8 80040B88 48000010 */ b lbl_80040B98 -lbl_80040B8C: -/* 03B5EC 80040B8C 80610084 */ lwz r3, 0x84(r1) -/* 03B5F0 80040B90 38030001 */ addi r0, r3, 1 -/* 03B5F4 80040B94 90010084 */ stw r0, 0x84(r1) -lbl_80040B98: -/* 03B5F8 80040B98 281F0000 */ cmplwi r31, 0 -/* 03B5FC 80040B9C 41820034 */ beq lbl_80040BD0 -/* 03B600 80040BA0 80610084 */ lwz r3, 0x84(r1) -/* 03B604 80040BA4 801E0B44 */ lwz r0, 0xb44(r30) -/* 03B608 80040BA8 5465103A */ slwi r5, r3, 2 -/* 03B60C 80040BAC 7C9F2A14 */ add r4, r31, r5 -/* 03B610 80040BB0 7C040050 */ subf r0, r4, r0 -/* 03B614 80040BB4 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 03B618 80040BB8 38630001 */ addi r3, r3, 1 -/* 03B61C 80040BBC 64004800 */ oris r0, r0, 0x4800 -/* 03B620 80040BC0 90610084 */ stw r3, 0x84(r1) -/* 03B624 80040BC4 60000001 */ ori r0, r0, 1 -/* 03B628 80040BC8 7C1F292E */ stwx r0, r31, r5 -/* 03B62C 80040BCC 48000010 */ b lbl_80040BDC -lbl_80040BD0: -/* 03B630 80040BD0 80610084 */ lwz r3, 0x84(r1) -/* 03B634 80040BD4 38030001 */ addi r0, r3, 1 -/* 03B638 80040BD8 90010084 */ stw r0, 0x84(r1) -lbl_80040BDC: -/* 03B63C 80040BDC 281F0000 */ cmplwi r31, 0 -/* 03B640 80040BE0 41820108 */ beq lbl_80040CE8 -/* 03B644 80040BE4 80610084 */ lwz r3, 0x84(r1) -/* 03B648 80040BE8 5764843E */ srwi r4, r27, 0x10 -/* 03B64C 80040BEC 5765043E */ clrlwi r5, r27, 0x10 -/* 03B650 80040BF0 38030001 */ addi r0, r3, 1 -/* 03B654 80040BF4 90010084 */ stw r0, 0x84(r1) -/* 03B658 80040BF8 381E0034 */ addi r0, r30, 0x34 -/* 03B65C 80040BFC 64843CA0 */ oris r4, r4, 0x3ca0 -/* 03B660 80040C00 5463103A */ slwi r3, r3, 2 -/* 03B664 80040C04 7C9F192E */ stwx r4, r31, r3 -/* 03B668 80040C08 7C1E0050 */ subf r0, r30, r0 -/* 03B66C 80040C0C 5407043E */ clrlwi r7, r0, 0x10 -/* 03B670 80040C10 80810084 */ lwz r4, 0x84(r1) -/* 03B674 80040C14 3CC03CE1 */ lis r6, 0x3ce1 -/* 03B678 80040C18 381B0028 */ addi r0, r27, 0x28 -/* 03B67C 80040C1C 38640001 */ addi r3, r4, 1 -/* 03B680 80040C20 90610084 */ stw r3, 0x84(r1) -/* 03B684 80040C24 64A360A5 */ oris r3, r5, 0x60a5 -/* 03B688 80040C28 5484103A */ slwi r4, r4, 2 -/* 03B68C 80040C2C 7C7F212E */ stwx r3, r31, r4 -/* 03B690 80040C30 7C7B0050 */ subf r3, r27, r0 -/* 03B694 80040C34 3CA07CC6 */ lis r5, 0x7cc6 -/* 03B698 80040C38 80810084 */ lwz r4, 0x84(r1) -/* 03B69C 80040C3C 3D204182 */ lis r9, 0x4182 -/* 03B6A0 80040C40 3C0790A3 */ addis r0, r7, 0x90a3 -/* 03B6A4 80040C44 38E40001 */ addi r7, r4, 1 -/* 03B6A8 80040C48 90E10084 */ stw r7, 0x84(r1) -/* 03B6AC 80040C4C 5484103A */ slwi r4, r4, 2 -/* 03B6B0 80040C50 38E68000 */ addi r7, r6, -32768 -/* 03B6B4 80040C54 7C1F212E */ stwx r0, r31, r4 -/* 03B6B8 80040C58 3C8380C5 */ addis r4, r3, 0x80c5 -/* 03B6BC 80040C5C 38053878 */ addi r0, r5, 0x3878 -/* 03B6C0 80040C60 80C10084 */ lwz r6, 0x84(r1) -/* 03B6C4 80040C64 3D002C06 */ lis r8, 0x2c06 -/* 03B6C8 80040C68 39290008 */ addi r9, r9, 8 -/* 03B6CC 80040C6C 38A60001 */ addi r5, r6, 1 -/* 03B6D0 80040C70 90A10084 */ stw r5, 0x84(r1) -/* 03B6D4 80040C74 54C5103A */ slwi r5, r6, 2 -/* 03B6D8 80040C78 3C639085 */ addis r3, r3, 0x9085 -/* 03B6DC 80040C7C 7CFF292E */ stwx r7, r31, r5 -/* 03B6E0 80040C80 80A10084 */ lwz r5, 0x84(r1) -/* 03B6E4 80040C84 38C50001 */ addi r6, r5, 1 -/* 03B6E8 80040C88 90C10084 */ stw r6, 0x84(r1) -/* 03B6EC 80040C8C 54A5103A */ slwi r5, r5, 2 -/* 03B6F0 80040C90 7C9F292E */ stwx r4, r31, r5 -/* 03B6F4 80040C94 80810084 */ lwz r4, 0x84(r1) -/* 03B6F8 80040C98 38A40001 */ addi r5, r4, 1 -/* 03B6FC 80040C9C 90A10084 */ stw r5, 0x84(r1) -/* 03B700 80040CA0 5484103A */ slwi r4, r4, 2 -/* 03B704 80040CA4 7C1F212E */ stwx r0, r31, r4 -/* 03B708 80040CA8 80810084 */ lwz r4, 0x84(r1) -/* 03B70C 80040CAC 38040001 */ addi r0, r4, 1 -/* 03B710 80040CB0 90010084 */ stw r0, 0x84(r1) -/* 03B714 80040CB4 5480103A */ slwi r0, r4, 2 -/* 03B718 80040CB8 7D1F012E */ stwx r8, r31, r0 -/* 03B71C 80040CBC 80810084 */ lwz r4, 0x84(r1) -/* 03B720 80040CC0 38040001 */ addi r0, r4, 1 -/* 03B724 80040CC4 90010084 */ stw r0, 0x84(r1) -/* 03B728 80040CC8 5480103A */ slwi r0, r4, 2 -/* 03B72C 80040CCC 7D3F012E */ stwx r9, r31, r0 -/* 03B730 80040CD0 80810084 */ lwz r4, 0x84(r1) -/* 03B734 80040CD4 38040001 */ addi r0, r4, 1 -/* 03B738 80040CD8 90010084 */ stw r0, 0x84(r1) -/* 03B73C 80040CDC 5480103A */ slwi r0, r4, 2 -/* 03B740 80040CE0 7C7F012E */ stwx r3, r31, r0 -/* 03B744 80040CE4 48000010 */ b lbl_80040CF4 -lbl_80040CE8: -/* 03B748 80040CE8 80610084 */ lwz r3, 0x84(r1) -/* 03B74C 80040CEC 38030009 */ addi r0, r3, 9 -/* 03B750 80040CF0 90010084 */ stw r0, 0x84(r1) -lbl_80040CF4: -/* 03B754 80040CF4 80A10084 */ lwz r5, 0x84(r1) -/* 03B758 80040CF8 387E0000 */ addi r3, r30, 0 -/* 03B75C 80040CFC 38920000 */ addi r4, r18, 0 -/* 03B760 80040D00 38050001 */ addi r0, r5, 1 -/* 03B764 80040D04 90010084 */ stw r0, 0x84(r1) -/* 03B768 80040D08 3AE50000 */ addi r23, r5, 0 -/* 03B76C 80040D0C 38BB0000 */ addi r5, r27, 0 -/* 03B770 80040D10 38DF0000 */ addi r6, r31, 0 -/* 03B774 80040D14 38E10084 */ addi r7, r1, 0x84 -/* 03B778 80040D18 39000000 */ li r8, 0 -/* 03B77C 80040D1C 4BFFE0E9 */ bl cpuGetPPC -/* 03B780 80040D20 2C030000 */ cmpwi r3, 0 -/* 03B784 80040D24 4082000C */ bne lbl_80040D30 -/* 03B788 80040D28 38600000 */ li r3, 0 -/* 03B78C 80040D2C 480274F8 */ b lbl_80068224 -lbl_80040D30: -/* 03B790 80040D30 281F0000 */ cmplwi r31, 0 -/* 03B794 80040D34 41820010 */ beq lbl_80040D44 -/* 03B798 80040D38 80010084 */ lwz r0, 0x84(r1) -/* 03B79C 80040D3C 7C170050 */ subf r0, r23, r0 -/* 03B7A0 80040D40 5415103A */ slwi r21, r0, 2 -lbl_80040D44: -/* 03B7A4 80040D44 281F0000 */ cmplwi r31, 0 -/* 03B7A8 80040D48 40820008 */ bne lbl_80040D50 -/* 03B7AC 80040D4C 480271E8 */ b lbl_80067F34 -lbl_80040D50: -/* 03B7B0 80040D50 56A301BA */ rlwinm r3, r21, 0, 6, 0x1d -/* 03B7B4 80040D54 64634800 */ oris r3, r3, 0x4800 -/* 03B7B8 80040D58 56E0103A */ slwi r0, r23, 2 -/* 03B7BC 80040D5C 7C7F012E */ stwx r3, r31, r0 -/* 03B7C0 80040D60 480271D4 */ b lbl_80067F34 -.global lbl_80040D64 -lbl_80040D64: -/* 03B7C4 80040D64 3C7E0001 */ addis r3, r30, 1 -/* 03B7C8 80040D68 5784AEFE */ rlwinm r4, r28, 0x15, 0x1b, 0x1f -/* 03B7CC 80040D6C 80032058 */ lwz r0, 0x2058(r3) -/* 03B7D0 80040D70 38A00001 */ li r5, 1 -/* 03B7D4 80040D74 7CA52030 */ slw r5, r5, r4 -/* 03B7D8 80040D78 7C002878 */ andc r0, r0, r5 -/* 03B7DC 80040D7C 5785BE7A */ rlwinm r5, r28, 0x17, 0x19, 0x1d -/* 03B7E0 80040D80 90032058 */ stw r0, 0x2058(r3) -/* 03B7E4 80040D84 7C7A2A14 */ add r3, r26, r5 -/* 03B7E8 80040D88 80030818 */ lwz r0, 0x818(r3) -/* 03B7EC 80040D8C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03B7F0 80040D90 41820110 */ beq lbl_80040EA0 -/* 03B7F4 80040D94 281F0000 */ cmplwi r31, 0 -/* 03B7F8 80040D98 41820030 */ beq lbl_80040DC8 -/* 03B7FC 80040D9C 80610084 */ lwz r3, 0x84(r1) -/* 03B800 80040DA0 381E0018 */ addi r0, r30, 0x18 -/* 03B804 80040DA4 7CBE0050 */ subf r5, r30, r0 -/* 03B808 80040DA8 38A50004 */ addi r5, r5, 4 -/* 03B80C 80040DAC 38030001 */ addi r0, r3, 1 -/* 03B810 80040DB0 54A5043E */ clrlwi r5, r5, 0x10 -/* 03B814 80040DB4 90010084 */ stw r0, 0x84(r1) -/* 03B818 80040DB8 64A080A3 */ oris r0, r5, 0x80a3 -/* 03B81C 80040DBC 5463103A */ slwi r3, r3, 2 -/* 03B820 80040DC0 7C1F192E */ stwx r0, r31, r3 -/* 03B824 80040DC4 48000010 */ b lbl_80040DD4 -lbl_80040DC8: -/* 03B828 80040DC8 80610084 */ lwz r3, 0x84(r1) -/* 03B82C 80040DCC 38030001 */ addi r0, r3, 1 -/* 03B830 80040DD0 90010084 */ stw r0, 0x84(r1) -lbl_80040DD4: -/* 03B834 80040DD4 281F0000 */ cmplwi r31, 0 -/* 03B838 80040DD8 41820038 */ beq lbl_80040E10 -/* 03B83C 80040DDC 54851838 */ slwi r5, r4, 3 -/* 03B840 80040DE0 80610084 */ lwz r3, 0x84(r1) -/* 03B844 80040DE4 38050040 */ addi r0, r5, 0x40 -/* 03B848 80040DE8 7C1E0214 */ add r0, r30, r0 -/* 03B84C 80040DEC 7CBE0050 */ subf r5, r30, r0 -/* 03B850 80040DF0 38A50004 */ addi r5, r5, 4 -/* 03B854 80040DF4 38030001 */ addi r0, r3, 1 -/* 03B858 80040DF8 54A5043E */ clrlwi r5, r5, 0x10 -/* 03B85C 80040DFC 90010084 */ stw r0, 0x84(r1) -/* 03B860 80040E00 64A090A3 */ oris r0, r5, 0x90a3 -/* 03B864 80040E04 5463103A */ slwi r3, r3, 2 -/* 03B868 80040E08 7C1F192E */ stwx r0, r31, r3 -/* 03B86C 80040E0C 48000010 */ b lbl_80040E1C -lbl_80040E10: -/* 03B870 80040E10 80610084 */ lwz r3, 0x84(r1) -/* 03B874 80040E14 38030001 */ addi r0, r3, 1 -/* 03B878 80040E18 90010084 */ stw r0, 0x84(r1) -lbl_80040E1C: -/* 03B87C 80040E1C 281F0000 */ cmplwi r31, 0 -/* 03B880 80040E20 4182002C */ beq lbl_80040E4C -/* 03B884 80040E24 80610084 */ lwz r3, 0x84(r1) -/* 03B888 80040E28 381E0018 */ addi r0, r30, 0x18 -/* 03B88C 80040E2C 7CBE0050 */ subf r5, r30, r0 -/* 03B890 80040E30 38030001 */ addi r0, r3, 1 -/* 03B894 80040E34 54A5043E */ clrlwi r5, r5, 0x10 -/* 03B898 80040E38 90010084 */ stw r0, 0x84(r1) -/* 03B89C 80040E3C 64A080A3 */ oris r0, r5, 0x80a3 -/* 03B8A0 80040E40 5463103A */ slwi r3, r3, 2 -/* 03B8A4 80040E44 7C1F192E */ stwx r0, r31, r3 -/* 03B8A8 80040E48 48000010 */ b lbl_80040E58 -lbl_80040E4C: -/* 03B8AC 80040E4C 80610084 */ lwz r3, 0x84(r1) -/* 03B8B0 80040E50 38030001 */ addi r0, r3, 1 -/* 03B8B4 80040E54 90010084 */ stw r0, 0x84(r1) -lbl_80040E58: -/* 03B8B8 80040E58 281F0000 */ cmplwi r31, 0 -/* 03B8BC 80040E5C 41820034 */ beq lbl_80040E90 -/* 03B8C0 80040E60 54841838 */ slwi r4, r4, 3 -/* 03B8C4 80040E64 80610084 */ lwz r3, 0x84(r1) -/* 03B8C8 80040E68 38040040 */ addi r0, r4, 0x40 -/* 03B8CC 80040E6C 7C1E0214 */ add r0, r30, r0 -/* 03B8D0 80040E70 7C9E0050 */ subf r4, r30, r0 -/* 03B8D4 80040E74 38030001 */ addi r0, r3, 1 -/* 03B8D8 80040E78 5484043E */ clrlwi r4, r4, 0x10 -/* 03B8DC 80040E7C 90010084 */ stw r0, 0x84(r1) -/* 03B8E0 80040E80 648090A3 */ oris r0, r4, 0x90a3 -/* 03B8E4 80040E84 5463103A */ slwi r3, r3, 2 -/* 03B8E8 80040E88 7C1F192E */ stwx r0, r31, r3 -/* 03B8EC 80040E8C 480270A8 */ b lbl_80067F34 -lbl_80040E90: -/* 03B8F0 80040E90 80610084 */ lwz r3, 0x84(r1) -/* 03B8F4 80040E94 38030001 */ addi r0, r3, 1 -/* 03B8F8 80040E98 90010084 */ stw r0, 0x84(r1) -/* 03B8FC 80040E9C 48027098 */ b lbl_80067F34 -lbl_80040EA0: -/* 03B900 80040EA0 281F0000 */ cmplwi r31, 0 -/* 03B904 80040EA4 41820034 */ beq lbl_80040ED8 -/* 03B908 80040EA8 80610084 */ lwz r3, 0x84(r1) -/* 03B90C 80040EAC 5406A814 */ slwi r6, r0, 0x15 -/* 03B910 80040EB0 38BE0018 */ addi r5, r30, 0x18 -/* 03B914 80040EB4 38030001 */ addi r0, r3, 1 -/* 03B918 80040EB8 64C68003 */ oris r6, r6, 0x8003 -/* 03B91C 80040EBC 90010084 */ stw r0, 0x84(r1) -/* 03B920 80040EC0 7C1E2850 */ subf r0, r30, r5 -/* 03B924 80040EC4 7CA03214 */ add r5, r0, r6 -/* 03B928 80040EC8 38050004 */ addi r0, r5, 4 -/* 03B92C 80040ECC 5463103A */ slwi r3, r3, 2 -/* 03B930 80040ED0 7C1F192E */ stwx r0, r31, r3 -/* 03B934 80040ED4 48000010 */ b lbl_80040EE4 -lbl_80040ED8: -/* 03B938 80040ED8 80610084 */ lwz r3, 0x84(r1) -/* 03B93C 80040EDC 38030001 */ addi r0, r3, 1 -/* 03B940 80040EE0 90010084 */ stw r0, 0x84(r1) -lbl_80040EE4: -/* 03B944 80040EE4 281F0000 */ cmplwi r31, 0 -/* 03B948 80040EE8 4182002C */ beq lbl_80040F14 -/* 03B94C 80040EEC 80610084 */ lwz r3, 0x84(r1) -/* 03B950 80040EF0 381E0018 */ addi r0, r30, 0x18 -/* 03B954 80040EF4 7CBE0050 */ subf r5, r30, r0 -/* 03B958 80040EF8 38030001 */ addi r0, r3, 1 -/* 03B95C 80040EFC 54A5043E */ clrlwi r5, r5, 0x10 -/* 03B960 80040F00 90010084 */ stw r0, 0x84(r1) -/* 03B964 80040F04 64A080A3 */ oris r0, r5, 0x80a3 -/* 03B968 80040F08 5463103A */ slwi r3, r3, 2 -/* 03B96C 80040F0C 7C1F192E */ stwx r0, r31, r3 -/* 03B970 80040F10 48000010 */ b lbl_80040F20 -lbl_80040F14: -/* 03B974 80040F14 80610084 */ lwz r3, 0x84(r1) -/* 03B978 80040F18 38030001 */ addi r0, r3, 1 -/* 03B97C 80040F1C 90010084 */ stw r0, 0x84(r1) -lbl_80040F20: -/* 03B980 80040F20 281F0000 */ cmplwi r31, 0 -/* 03B984 80040F24 41820034 */ beq lbl_80040F58 -/* 03B988 80040F28 54841838 */ slwi r4, r4, 3 -/* 03B98C 80040F2C 80610084 */ lwz r3, 0x84(r1) -/* 03B990 80040F30 38040040 */ addi r0, r4, 0x40 -/* 03B994 80040F34 7C1E0214 */ add r0, r30, r0 -/* 03B998 80040F38 7C9E0050 */ subf r4, r30, r0 -/* 03B99C 80040F3C 38030001 */ addi r0, r3, 1 -/* 03B9A0 80040F40 5484043E */ clrlwi r4, r4, 0x10 -/* 03B9A4 80040F44 90010084 */ stw r0, 0x84(r1) -/* 03B9A8 80040F48 648090A3 */ oris r0, r4, 0x90a3 -/* 03B9AC 80040F4C 5463103A */ slwi r3, r3, 2 -/* 03B9B0 80040F50 7C1F192E */ stwx r0, r31, r3 -/* 03B9B4 80040F54 48026FE0 */ b lbl_80067F34 -lbl_80040F58: -/* 03B9B8 80040F58 80610084 */ lwz r3, 0x84(r1) -/* 03B9BC 80040F5C 38030001 */ addi r0, r3, 1 -/* 03B9C0 80040F60 90010084 */ stw r0, 0x84(r1) -/* 03B9C4 80040F64 48026FD0 */ b lbl_80067F34 -.global lbl_80040F68 -lbl_80040F68: -/* 03B9C8 80040F68 57836E7A */ rlwinm r3, r28, 0xd, 0x19, 0x1d -/* 03B9CC 80040F6C 7C7A1A14 */ add r3, r26, r3 -/* 03B9D0 80040F70 80630818 */ lwz r3, 0x818(r3) -/* 03B9D4 80040F74 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 03B9D8 80040F78 546405EF */ rlwinm. r4, r3, 0, 0x17, 0x17 -/* 03B9DC 80040F7C 41820110 */ beq lbl_8004108C -/* 03B9E0 80040F80 281F0000 */ cmplwi r31, 0 -/* 03B9E4 80040F84 41820038 */ beq lbl_80040FBC -/* 03B9E8 80040F88 54031838 */ slwi r3, r0, 3 -/* 03B9EC 80040F8C 80810084 */ lwz r4, 0x84(r1) -/* 03B9F0 80040F90 38630040 */ addi r3, r3, 0x40 -/* 03B9F4 80040F94 7C7E1A14 */ add r3, r30, r3 -/* 03B9F8 80040F98 7C7E1850 */ subf r3, r30, r3 -/* 03B9FC 80040F9C 38A30004 */ addi r5, r3, 4 -/* 03BA00 80040FA0 38640001 */ addi r3, r4, 1 -/* 03BA04 80040FA4 54A5043E */ clrlwi r5, r5, 0x10 -/* 03BA08 80040FA8 90610084 */ stw r3, 0x84(r1) -/* 03BA0C 80040FAC 64A380A3 */ oris r3, r5, 0x80a3 -/* 03BA10 80040FB0 5484103A */ slwi r4, r4, 2 -/* 03BA14 80040FB4 7C7F212E */ stwx r3, r31, r4 -/* 03BA18 80040FB8 48000010 */ b lbl_80040FC8 -lbl_80040FBC: -/* 03BA1C 80040FBC 80610084 */ lwz r3, 0x84(r1) -/* 03BA20 80040FC0 38630001 */ addi r3, r3, 1 -/* 03BA24 80040FC4 90610084 */ stw r3, 0x84(r1) -lbl_80040FC8: -/* 03BA28 80040FC8 281F0000 */ cmplwi r31, 0 -/* 03BA2C 80040FCC 41820030 */ beq lbl_80040FFC -/* 03BA30 80040FD0 80810084 */ lwz r4, 0x84(r1) -/* 03BA34 80040FD4 387E0018 */ addi r3, r30, 0x18 -/* 03BA38 80040FD8 7C7E1850 */ subf r3, r30, r3 -/* 03BA3C 80040FDC 38A30004 */ addi r5, r3, 4 -/* 03BA40 80040FE0 38640001 */ addi r3, r4, 1 -/* 03BA44 80040FE4 54A5043E */ clrlwi r5, r5, 0x10 -/* 03BA48 80040FE8 90610084 */ stw r3, 0x84(r1) -/* 03BA4C 80040FEC 64A390A3 */ oris r3, r5, 0x90a3 -/* 03BA50 80040FF0 5484103A */ slwi r4, r4, 2 -/* 03BA54 80040FF4 7C7F212E */ stwx r3, r31, r4 -/* 03BA58 80040FF8 48000010 */ b lbl_80041008 -lbl_80040FFC: -/* 03BA5C 80040FFC 80610084 */ lwz r3, 0x84(r1) -/* 03BA60 80041000 38630001 */ addi r3, r3, 1 -/* 03BA64 80041004 90610084 */ stw r3, 0x84(r1) -lbl_80041008: -/* 03BA68 80041008 281F0000 */ cmplwi r31, 0 -/* 03BA6C 8004100C 41820034 */ beq lbl_80041040 -/* 03BA70 80041010 54041838 */ slwi r4, r0, 3 -/* 03BA74 80041014 80610084 */ lwz r3, 0x84(r1) -/* 03BA78 80041018 38040040 */ addi r0, r4, 0x40 -/* 03BA7C 8004101C 7C1E0214 */ add r0, r30, r0 -/* 03BA80 80041020 7C9E0050 */ subf r4, r30, r0 -/* 03BA84 80041024 38030001 */ addi r0, r3, 1 -/* 03BA88 80041028 5484043E */ clrlwi r4, r4, 0x10 -/* 03BA8C 8004102C 90010084 */ stw r0, 0x84(r1) -/* 03BA90 80041030 648080A3 */ oris r0, r4, 0x80a3 -/* 03BA94 80041034 5463103A */ slwi r3, r3, 2 -/* 03BA98 80041038 7C1F192E */ stwx r0, r31, r3 -/* 03BA9C 8004103C 48000010 */ b lbl_8004104C -lbl_80041040: -/* 03BAA0 80041040 80610084 */ lwz r3, 0x84(r1) -/* 03BAA4 80041044 38030001 */ addi r0, r3, 1 -/* 03BAA8 80041048 90010084 */ stw r0, 0x84(r1) -lbl_8004104C: -/* 03BAAC 8004104C 281F0000 */ cmplwi r31, 0 -/* 03BAB0 80041050 4182002C */ beq lbl_8004107C -/* 03BAB4 80041054 80610084 */ lwz r3, 0x84(r1) -/* 03BAB8 80041058 381E0018 */ addi r0, r30, 0x18 -/* 03BABC 8004105C 7C9E0050 */ subf r4, r30, r0 -/* 03BAC0 80041060 38030001 */ addi r0, r3, 1 -/* 03BAC4 80041064 5484043E */ clrlwi r4, r4, 0x10 -/* 03BAC8 80041068 90010084 */ stw r0, 0x84(r1) -/* 03BACC 8004106C 648090A3 */ oris r0, r4, 0x90a3 -/* 03BAD0 80041070 5463103A */ slwi r3, r3, 2 -/* 03BAD4 80041074 7C1F192E */ stwx r0, r31, r3 -/* 03BAD8 80041078 48026EBC */ b lbl_80067F34 -lbl_8004107C: -/* 03BADC 8004107C 80610084 */ lwz r3, 0x84(r1) -/* 03BAE0 80041080 38030001 */ addi r0, r3, 1 -/* 03BAE4 80041084 90010084 */ stw r0, 0x84(r1) -/* 03BAE8 80041088 48026EAC */ b lbl_80067F34 -lbl_8004108C: -/* 03BAEC 8004108C 281F0000 */ cmplwi r31, 0 -/* 03BAF0 80041090 41820034 */ beq lbl_800410C4 -/* 03BAF4 80041094 80810084 */ lwz r4, 0x84(r1) -/* 03BAF8 80041098 5466A814 */ slwi r6, r3, 0x15 -/* 03BAFC 8004109C 38BE0018 */ addi r5, r30, 0x18 -/* 03BB00 800410A0 38640001 */ addi r3, r4, 1 -/* 03BB04 800410A4 64C69003 */ oris r6, r6, 0x9003 -/* 03BB08 800410A8 90610084 */ stw r3, 0x84(r1) -/* 03BB0C 800410AC 7C7E2850 */ subf r3, r30, r5 -/* 03BB10 800410B0 7C633214 */ add r3, r3, r6 -/* 03BB14 800410B4 38630004 */ addi r3, r3, 4 -/* 03BB18 800410B8 5484103A */ slwi r4, r4, 2 -/* 03BB1C 800410BC 7C7F212E */ stwx r3, r31, r4 -/* 03BB20 800410C0 48000010 */ b lbl_800410D0 -lbl_800410C4: -/* 03BB24 800410C4 80610084 */ lwz r3, 0x84(r1) -/* 03BB28 800410C8 38630001 */ addi r3, r3, 1 -/* 03BB2C 800410CC 90610084 */ stw r3, 0x84(r1) -lbl_800410D0: -/* 03BB30 800410D0 281F0000 */ cmplwi r31, 0 -/* 03BB34 800410D4 41820034 */ beq lbl_80041108 -/* 03BB38 800410D8 54041838 */ slwi r4, r0, 3 -/* 03BB3C 800410DC 80610084 */ lwz r3, 0x84(r1) -/* 03BB40 800410E0 38040040 */ addi r0, r4, 0x40 -/* 03BB44 800410E4 7C1E0214 */ add r0, r30, r0 -/* 03BB48 800410E8 7C9E0050 */ subf r4, r30, r0 -/* 03BB4C 800410EC 38030001 */ addi r0, r3, 1 -/* 03BB50 800410F0 5484043E */ clrlwi r4, r4, 0x10 -/* 03BB54 800410F4 90010084 */ stw r0, 0x84(r1) -/* 03BB58 800410F8 648080A3 */ oris r0, r4, 0x80a3 -/* 03BB5C 800410FC 5463103A */ slwi r3, r3, 2 -/* 03BB60 80041100 7C1F192E */ stwx r0, r31, r3 -/* 03BB64 80041104 48000010 */ b lbl_80041114 -lbl_80041108: -/* 03BB68 80041108 80610084 */ lwz r3, 0x84(r1) -/* 03BB6C 8004110C 38030001 */ addi r0, r3, 1 -/* 03BB70 80041110 90010084 */ stw r0, 0x84(r1) -lbl_80041114: -/* 03BB74 80041114 281F0000 */ cmplwi r31, 0 -/* 03BB78 80041118 4182002C */ beq lbl_80041144 -/* 03BB7C 8004111C 80610084 */ lwz r3, 0x84(r1) -/* 03BB80 80041120 381E0018 */ addi r0, r30, 0x18 -/* 03BB84 80041124 7C9E0050 */ subf r4, r30, r0 -/* 03BB88 80041128 38030001 */ addi r0, r3, 1 -/* 03BB8C 8004112C 5484043E */ clrlwi r4, r4, 0x10 -/* 03BB90 80041130 90010084 */ stw r0, 0x84(r1) -/* 03BB94 80041134 648090A3 */ oris r0, r4, 0x90a3 -/* 03BB98 80041138 5463103A */ slwi r3, r3, 2 -/* 03BB9C 8004113C 7C1F192E */ stwx r0, r31, r3 -/* 03BBA0 80041140 48026DF4 */ b lbl_80067F34 -lbl_80041144: -/* 03BBA4 80041144 80610084 */ lwz r3, 0x84(r1) -/* 03BBA8 80041148 38030001 */ addi r0, r3, 1 -/* 03BBAC 8004114C 90010084 */ stw r0, 0x84(r1) -/* 03BBB0 80041150 48026DE4 */ b lbl_80067F34 -.global lbl_80041154 -lbl_80041154: -/* 03BBB4 80041154 3C7E0001 */ addis r3, r30, 1 -/* 03BBB8 80041158 5784AEFE */ rlwinm r4, r28, 0x15, 0x1b, 0x1f -/* 03BBBC 8004115C 80032058 */ lwz r0, 0x2058(r3) -/* 03BBC0 80041160 38A00001 */ li r5, 1 -/* 03BBC4 80041164 7CA52030 */ slw r5, r5, r4 -/* 03BBC8 80041168 7C002878 */ andc r0, r0, r5 -/* 03BBCC 8004116C 5785BE7A */ rlwinm r5, r28, 0x17, 0x19, 0x1d -/* 03BBD0 80041170 90032058 */ stw r0, 0x2058(r3) -/* 03BBD4 80041174 7C7A2A14 */ add r3, r26, r5 -/* 03BBD8 80041178 80030818 */ lwz r0, 0x818(r3) -/* 03BBDC 8004117C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03BBE0 80041180 41820110 */ beq lbl_80041290 -/* 03BBE4 80041184 281F0000 */ cmplwi r31, 0 -/* 03BBE8 80041188 41820030 */ beq lbl_800411B8 -/* 03BBEC 8004118C 80610084 */ lwz r3, 0x84(r1) -/* 03BBF0 80041190 381E0010 */ addi r0, r30, 0x10 -/* 03BBF4 80041194 7CBE0050 */ subf r5, r30, r0 -/* 03BBF8 80041198 38A50004 */ addi r5, r5, 4 -/* 03BBFC 8004119C 38030001 */ addi r0, r3, 1 -/* 03BC00 800411A0 54A5043E */ clrlwi r5, r5, 0x10 -/* 03BC04 800411A4 90010084 */ stw r0, 0x84(r1) -/* 03BC08 800411A8 64A080A3 */ oris r0, r5, 0x80a3 -/* 03BC0C 800411AC 5463103A */ slwi r3, r3, 2 -/* 03BC10 800411B0 7C1F192E */ stwx r0, r31, r3 -/* 03BC14 800411B4 48000010 */ b lbl_800411C4 -lbl_800411B8: -/* 03BC18 800411B8 80610084 */ lwz r3, 0x84(r1) -/* 03BC1C 800411BC 38030001 */ addi r0, r3, 1 -/* 03BC20 800411C0 90010084 */ stw r0, 0x84(r1) -lbl_800411C4: -/* 03BC24 800411C4 281F0000 */ cmplwi r31, 0 -/* 03BC28 800411C8 41820038 */ beq lbl_80041200 -/* 03BC2C 800411CC 54851838 */ slwi r5, r4, 3 -/* 03BC30 800411D0 80610084 */ lwz r3, 0x84(r1) -/* 03BC34 800411D4 38050040 */ addi r0, r5, 0x40 -/* 03BC38 800411D8 7C1E0214 */ add r0, r30, r0 -/* 03BC3C 800411DC 7CBE0050 */ subf r5, r30, r0 -/* 03BC40 800411E0 38A50004 */ addi r5, r5, 4 -/* 03BC44 800411E4 38030001 */ addi r0, r3, 1 -/* 03BC48 800411E8 54A5043E */ clrlwi r5, r5, 0x10 -/* 03BC4C 800411EC 90010084 */ stw r0, 0x84(r1) -/* 03BC50 800411F0 64A090A3 */ oris r0, r5, 0x90a3 -/* 03BC54 800411F4 5463103A */ slwi r3, r3, 2 -/* 03BC58 800411F8 7C1F192E */ stwx r0, r31, r3 -/* 03BC5C 800411FC 48000010 */ b lbl_8004120C -lbl_80041200: -/* 03BC60 80041200 80610084 */ lwz r3, 0x84(r1) -/* 03BC64 80041204 38030001 */ addi r0, r3, 1 -/* 03BC68 80041208 90010084 */ stw r0, 0x84(r1) -lbl_8004120C: -/* 03BC6C 8004120C 281F0000 */ cmplwi r31, 0 -/* 03BC70 80041210 4182002C */ beq lbl_8004123C -/* 03BC74 80041214 80610084 */ lwz r3, 0x84(r1) -/* 03BC78 80041218 381E0010 */ addi r0, r30, 0x10 -/* 03BC7C 8004121C 7CBE0050 */ subf r5, r30, r0 -/* 03BC80 80041220 38030001 */ addi r0, r3, 1 -/* 03BC84 80041224 54A5043E */ clrlwi r5, r5, 0x10 -/* 03BC88 80041228 90010084 */ stw r0, 0x84(r1) -/* 03BC8C 8004122C 64A080A3 */ oris r0, r5, 0x80a3 -/* 03BC90 80041230 5463103A */ slwi r3, r3, 2 -/* 03BC94 80041234 7C1F192E */ stwx r0, r31, r3 -/* 03BC98 80041238 48000010 */ b lbl_80041248 -lbl_8004123C: -/* 03BC9C 8004123C 80610084 */ lwz r3, 0x84(r1) -/* 03BCA0 80041240 38030001 */ addi r0, r3, 1 -/* 03BCA4 80041244 90010084 */ stw r0, 0x84(r1) -lbl_80041248: -/* 03BCA8 80041248 281F0000 */ cmplwi r31, 0 -/* 03BCAC 8004124C 41820034 */ beq lbl_80041280 -/* 03BCB0 80041250 54841838 */ slwi r4, r4, 3 -/* 03BCB4 80041254 80610084 */ lwz r3, 0x84(r1) -/* 03BCB8 80041258 38040040 */ addi r0, r4, 0x40 -/* 03BCBC 8004125C 7C1E0214 */ add r0, r30, r0 -/* 03BCC0 80041260 7C9E0050 */ subf r4, r30, r0 -/* 03BCC4 80041264 38030001 */ addi r0, r3, 1 -/* 03BCC8 80041268 5484043E */ clrlwi r4, r4, 0x10 -/* 03BCCC 8004126C 90010084 */ stw r0, 0x84(r1) -/* 03BCD0 80041270 648090A3 */ oris r0, r4, 0x90a3 -/* 03BCD4 80041274 5463103A */ slwi r3, r3, 2 -/* 03BCD8 80041278 7C1F192E */ stwx r0, r31, r3 -/* 03BCDC 8004127C 48026CB8 */ b lbl_80067F34 -lbl_80041280: -/* 03BCE0 80041280 80610084 */ lwz r3, 0x84(r1) -/* 03BCE4 80041284 38030001 */ addi r0, r3, 1 -/* 03BCE8 80041288 90010084 */ stw r0, 0x84(r1) -/* 03BCEC 8004128C 48026CA8 */ b lbl_80067F34 -lbl_80041290: -/* 03BCF0 80041290 281F0000 */ cmplwi r31, 0 -/* 03BCF4 80041294 41820034 */ beq lbl_800412C8 -/* 03BCF8 80041298 80610084 */ lwz r3, 0x84(r1) -/* 03BCFC 8004129C 5406A814 */ slwi r6, r0, 0x15 -/* 03BD00 800412A0 38BE0010 */ addi r5, r30, 0x10 -/* 03BD04 800412A4 38030001 */ addi r0, r3, 1 -/* 03BD08 800412A8 64C68003 */ oris r6, r6, 0x8003 -/* 03BD0C 800412AC 90010084 */ stw r0, 0x84(r1) -/* 03BD10 800412B0 7C1E2850 */ subf r0, r30, r5 -/* 03BD14 800412B4 7CA03214 */ add r5, r0, r6 -/* 03BD18 800412B8 38050004 */ addi r0, r5, 4 -/* 03BD1C 800412BC 5463103A */ slwi r3, r3, 2 -/* 03BD20 800412C0 7C1F192E */ stwx r0, r31, r3 -/* 03BD24 800412C4 48000010 */ b lbl_800412D4 -lbl_800412C8: -/* 03BD28 800412C8 80610084 */ lwz r3, 0x84(r1) -/* 03BD2C 800412CC 38030001 */ addi r0, r3, 1 -/* 03BD30 800412D0 90010084 */ stw r0, 0x84(r1) -lbl_800412D4: -/* 03BD34 800412D4 281F0000 */ cmplwi r31, 0 -/* 03BD38 800412D8 4182002C */ beq lbl_80041304 -/* 03BD3C 800412DC 80610084 */ lwz r3, 0x84(r1) -/* 03BD40 800412E0 381E0010 */ addi r0, r30, 0x10 -/* 03BD44 800412E4 7CBE0050 */ subf r5, r30, r0 -/* 03BD48 800412E8 38030001 */ addi r0, r3, 1 -/* 03BD4C 800412EC 54A5043E */ clrlwi r5, r5, 0x10 -/* 03BD50 800412F0 90010084 */ stw r0, 0x84(r1) -/* 03BD54 800412F4 64A080A3 */ oris r0, r5, 0x80a3 -/* 03BD58 800412F8 5463103A */ slwi r3, r3, 2 -/* 03BD5C 800412FC 7C1F192E */ stwx r0, r31, r3 -/* 03BD60 80041300 48000010 */ b lbl_80041310 -lbl_80041304: -/* 03BD64 80041304 80610084 */ lwz r3, 0x84(r1) -/* 03BD68 80041308 38030001 */ addi r0, r3, 1 -/* 03BD6C 8004130C 90010084 */ stw r0, 0x84(r1) -lbl_80041310: -/* 03BD70 80041310 281F0000 */ cmplwi r31, 0 -/* 03BD74 80041314 41820034 */ beq lbl_80041348 -/* 03BD78 80041318 54841838 */ slwi r4, r4, 3 -/* 03BD7C 8004131C 80610084 */ lwz r3, 0x84(r1) -/* 03BD80 80041320 38040040 */ addi r0, r4, 0x40 -/* 03BD84 80041324 7C1E0214 */ add r0, r30, r0 -/* 03BD88 80041328 7C9E0050 */ subf r4, r30, r0 -/* 03BD8C 8004132C 38030001 */ addi r0, r3, 1 -/* 03BD90 80041330 5484043E */ clrlwi r4, r4, 0x10 -/* 03BD94 80041334 90010084 */ stw r0, 0x84(r1) -/* 03BD98 80041338 648090A3 */ oris r0, r4, 0x90a3 -/* 03BD9C 8004133C 5463103A */ slwi r3, r3, 2 -/* 03BDA0 80041340 7C1F192E */ stwx r0, r31, r3 -/* 03BDA4 80041344 48026BF0 */ b lbl_80067F34 -lbl_80041348: -/* 03BDA8 80041348 80610084 */ lwz r3, 0x84(r1) -/* 03BDAC 8004134C 38030001 */ addi r0, r3, 1 -/* 03BDB0 80041350 90010084 */ stw r0, 0x84(r1) -/* 03BDB4 80041354 48026BE0 */ b lbl_80067F34 -.global lbl_80041358 -lbl_80041358: -/* 03BDB8 80041358 57836E7A */ rlwinm r3, r28, 0xd, 0x19, 0x1d -/* 03BDBC 8004135C 7C7A1A14 */ add r3, r26, r3 -/* 03BDC0 80041360 80630818 */ lwz r3, 0x818(r3) -/* 03BDC4 80041364 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 03BDC8 80041368 546405EF */ rlwinm. r4, r3, 0, 0x17, 0x17 -/* 03BDCC 8004136C 41820110 */ beq lbl_8004147C -/* 03BDD0 80041370 281F0000 */ cmplwi r31, 0 -/* 03BDD4 80041374 41820038 */ beq lbl_800413AC -/* 03BDD8 80041378 54031838 */ slwi r3, r0, 3 -/* 03BDDC 8004137C 80810084 */ lwz r4, 0x84(r1) -/* 03BDE0 80041380 38630040 */ addi r3, r3, 0x40 -/* 03BDE4 80041384 7C7E1A14 */ add r3, r30, r3 -/* 03BDE8 80041388 7C7E1850 */ subf r3, r30, r3 -/* 03BDEC 8004138C 38A30004 */ addi r5, r3, 4 -/* 03BDF0 80041390 38640001 */ addi r3, r4, 1 -/* 03BDF4 80041394 54A5043E */ clrlwi r5, r5, 0x10 -/* 03BDF8 80041398 90610084 */ stw r3, 0x84(r1) -/* 03BDFC 8004139C 64A380A3 */ oris r3, r5, 0x80a3 -/* 03BE00 800413A0 5484103A */ slwi r4, r4, 2 -/* 03BE04 800413A4 7C7F212E */ stwx r3, r31, r4 -/* 03BE08 800413A8 48000010 */ b lbl_800413B8 -lbl_800413AC: -/* 03BE0C 800413AC 80610084 */ lwz r3, 0x84(r1) -/* 03BE10 800413B0 38630001 */ addi r3, r3, 1 -/* 03BE14 800413B4 90610084 */ stw r3, 0x84(r1) -lbl_800413B8: -/* 03BE18 800413B8 281F0000 */ cmplwi r31, 0 -/* 03BE1C 800413BC 41820030 */ beq lbl_800413EC -/* 03BE20 800413C0 80810084 */ lwz r4, 0x84(r1) -/* 03BE24 800413C4 387E0010 */ addi r3, r30, 0x10 -/* 03BE28 800413C8 7C7E1850 */ subf r3, r30, r3 -/* 03BE2C 800413CC 38A30004 */ addi r5, r3, 4 -/* 03BE30 800413D0 38640001 */ addi r3, r4, 1 -/* 03BE34 800413D4 54A5043E */ clrlwi r5, r5, 0x10 -/* 03BE38 800413D8 90610084 */ stw r3, 0x84(r1) -/* 03BE3C 800413DC 64A390A3 */ oris r3, r5, 0x90a3 -/* 03BE40 800413E0 5484103A */ slwi r4, r4, 2 -/* 03BE44 800413E4 7C7F212E */ stwx r3, r31, r4 -/* 03BE48 800413E8 48000010 */ b lbl_800413F8 -lbl_800413EC: -/* 03BE4C 800413EC 80610084 */ lwz r3, 0x84(r1) -/* 03BE50 800413F0 38630001 */ addi r3, r3, 1 -/* 03BE54 800413F4 90610084 */ stw r3, 0x84(r1) -lbl_800413F8: -/* 03BE58 800413F8 281F0000 */ cmplwi r31, 0 -/* 03BE5C 800413FC 41820034 */ beq lbl_80041430 -/* 03BE60 80041400 54041838 */ slwi r4, r0, 3 -/* 03BE64 80041404 80610084 */ lwz r3, 0x84(r1) -/* 03BE68 80041408 38040040 */ addi r0, r4, 0x40 -/* 03BE6C 8004140C 7C1E0214 */ add r0, r30, r0 -/* 03BE70 80041410 7C9E0050 */ subf r4, r30, r0 -/* 03BE74 80041414 38030001 */ addi r0, r3, 1 -/* 03BE78 80041418 5484043E */ clrlwi r4, r4, 0x10 -/* 03BE7C 8004141C 90010084 */ stw r0, 0x84(r1) -/* 03BE80 80041420 648080A3 */ oris r0, r4, 0x80a3 -/* 03BE84 80041424 5463103A */ slwi r3, r3, 2 -/* 03BE88 80041428 7C1F192E */ stwx r0, r31, r3 -/* 03BE8C 8004142C 48000010 */ b lbl_8004143C -lbl_80041430: -/* 03BE90 80041430 80610084 */ lwz r3, 0x84(r1) -/* 03BE94 80041434 38030001 */ addi r0, r3, 1 -/* 03BE98 80041438 90010084 */ stw r0, 0x84(r1) -lbl_8004143C: -/* 03BE9C 8004143C 281F0000 */ cmplwi r31, 0 -/* 03BEA0 80041440 4182002C */ beq lbl_8004146C -/* 03BEA4 80041444 80610084 */ lwz r3, 0x84(r1) -/* 03BEA8 80041448 381E0010 */ addi r0, r30, 0x10 -/* 03BEAC 8004144C 7C9E0050 */ subf r4, r30, r0 -/* 03BEB0 80041450 38030001 */ addi r0, r3, 1 -/* 03BEB4 80041454 5484043E */ clrlwi r4, r4, 0x10 -/* 03BEB8 80041458 90010084 */ stw r0, 0x84(r1) -/* 03BEBC 8004145C 648090A3 */ oris r0, r4, 0x90a3 -/* 03BEC0 80041460 5463103A */ slwi r3, r3, 2 -/* 03BEC4 80041464 7C1F192E */ stwx r0, r31, r3 -/* 03BEC8 80041468 48026ACC */ b lbl_80067F34 -lbl_8004146C: -/* 03BECC 8004146C 80610084 */ lwz r3, 0x84(r1) -/* 03BED0 80041470 38030001 */ addi r0, r3, 1 -/* 03BED4 80041474 90010084 */ stw r0, 0x84(r1) -/* 03BED8 80041478 48026ABC */ b lbl_80067F34 -lbl_8004147C: -/* 03BEDC 8004147C 281F0000 */ cmplwi r31, 0 -/* 03BEE0 80041480 41820034 */ beq lbl_800414B4 -/* 03BEE4 80041484 80810084 */ lwz r4, 0x84(r1) -/* 03BEE8 80041488 5466A814 */ slwi r6, r3, 0x15 -/* 03BEEC 8004148C 38BE0010 */ addi r5, r30, 0x10 -/* 03BEF0 80041490 38640001 */ addi r3, r4, 1 -/* 03BEF4 80041494 64C69003 */ oris r6, r6, 0x9003 -/* 03BEF8 80041498 90610084 */ stw r3, 0x84(r1) -/* 03BEFC 8004149C 7C7E2850 */ subf r3, r30, r5 -/* 03BF00 800414A0 7C633214 */ add r3, r3, r6 -/* 03BF04 800414A4 38630004 */ addi r3, r3, 4 -/* 03BF08 800414A8 5484103A */ slwi r4, r4, 2 -/* 03BF0C 800414AC 7C7F212E */ stwx r3, r31, r4 -/* 03BF10 800414B0 48000010 */ b lbl_800414C0 -lbl_800414B4: -/* 03BF14 800414B4 80610084 */ lwz r3, 0x84(r1) -/* 03BF18 800414B8 38630001 */ addi r3, r3, 1 -/* 03BF1C 800414BC 90610084 */ stw r3, 0x84(r1) -lbl_800414C0: -/* 03BF20 800414C0 281F0000 */ cmplwi r31, 0 -/* 03BF24 800414C4 41820034 */ beq lbl_800414F8 -/* 03BF28 800414C8 54041838 */ slwi r4, r0, 3 -/* 03BF2C 800414CC 80610084 */ lwz r3, 0x84(r1) -/* 03BF30 800414D0 38040040 */ addi r0, r4, 0x40 -/* 03BF34 800414D4 7C1E0214 */ add r0, r30, r0 -/* 03BF38 800414D8 7C9E0050 */ subf r4, r30, r0 -/* 03BF3C 800414DC 38030001 */ addi r0, r3, 1 -/* 03BF40 800414E0 5484043E */ clrlwi r4, r4, 0x10 -/* 03BF44 800414E4 90010084 */ stw r0, 0x84(r1) -/* 03BF48 800414E8 648080A3 */ oris r0, r4, 0x80a3 -/* 03BF4C 800414EC 5463103A */ slwi r3, r3, 2 -/* 03BF50 800414F0 7C1F192E */ stwx r0, r31, r3 -/* 03BF54 800414F4 48000010 */ b lbl_80041504 -lbl_800414F8: -/* 03BF58 800414F8 80610084 */ lwz r3, 0x84(r1) -/* 03BF5C 800414FC 38030001 */ addi r0, r3, 1 -/* 03BF60 80041500 90010084 */ stw r0, 0x84(r1) -lbl_80041504: -/* 03BF64 80041504 281F0000 */ cmplwi r31, 0 -/* 03BF68 80041508 4182002C */ beq lbl_80041534 -/* 03BF6C 8004150C 80610084 */ lwz r3, 0x84(r1) -/* 03BF70 80041510 381E0010 */ addi r0, r30, 0x10 -/* 03BF74 80041514 7C9E0050 */ subf r4, r30, r0 -/* 03BF78 80041518 38030001 */ addi r0, r3, 1 -/* 03BF7C 8004151C 5484043E */ clrlwi r4, r4, 0x10 -/* 03BF80 80041520 90010084 */ stw r0, 0x84(r1) -/* 03BF84 80041524 648090A3 */ oris r0, r4, 0x90a3 -/* 03BF88 80041528 5463103A */ slwi r3, r3, 2 -/* 03BF8C 8004152C 7C1F192E */ stwx r0, r31, r3 -/* 03BF90 80041530 48026A04 */ b lbl_80067F34 -lbl_80041534: -/* 03BF94 80041534 80610084 */ lwz r3, 0x84(r1) -/* 03BF98 80041538 38030001 */ addi r0, r3, 1 -/* 03BF9C 8004153C 90010084 */ stw r0, 0x84(r1) -/* 03BFA0 80041540 480269F4 */ b lbl_80067F34 -.global lbl_80041544 -lbl_80041544: -/* 03BFA4 80041544 3C7E0001 */ addis r3, r30, 1 -/* 03BFA8 80041548 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 03BFAC 8004154C 80032058 */ lwz r0, 0x2058(r3) -/* 03BFB0 80041550 38800001 */ li r4, 1 -/* 03BFB4 80041554 7C842830 */ slw r4, r4, r5 -/* 03BFB8 80041558 7C002078 */ andc r0, r0, r4 -/* 03BFBC 8004155C 90032058 */ stw r0, 0x2058(r3) -/* 03BFC0 80041560 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 03BFC4 80041564 7C7A0214 */ add r3, r26, r0 -/* 03BFC8 80041568 80030818 */ lwz r0, 0x818(r3) -/* 03BFCC 8004156C 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 03BFD0 80041570 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03BFD4 80041574 40820050 */ bne lbl_800415C4 -/* 03BFD8 80041578 281F0000 */ cmplwi r31, 0 -/* 03BFDC 8004157C 4182003C */ beq lbl_800415B8 -/* 03BFE0 80041580 54861838 */ slwi r6, r4, 3 -/* 03BFE4 80041584 80610084 */ lwz r3, 0x84(r1) -/* 03BFE8 80041588 38C60040 */ addi r6, r6, 0x40 -/* 03BFEC 8004158C 5400A814 */ slwi r0, r0, 0x15 -/* 03BFF0 80041590 7CDE3214 */ add r6, r30, r6 -/* 03BFF4 80041594 38E30001 */ addi r7, r3, 1 -/* 03BFF8 80041598 64009003 */ oris r0, r0, 0x9003 -/* 03BFFC 8004159C 90E10084 */ stw r7, 0x84(r1) -/* 03C000 800415A0 7CDE3050 */ subf r6, r30, r6 -/* 03C004 800415A4 7CC60214 */ add r6, r6, r0 -/* 03C008 800415A8 38060004 */ addi r0, r6, 4 -/* 03C00C 800415AC 5463103A */ slwi r3, r3, 2 -/* 03C010 800415B0 7C1F192E */ stwx r0, r31, r3 -/* 03C014 800415B4 48000010 */ b lbl_800415C4 -lbl_800415B8: -/* 03C018 800415B8 80610084 */ lwz r3, 0x84(r1) -/* 03C01C 800415BC 38030001 */ addi r0, r3, 1 -/* 03C020 800415C0 90010084 */ stw r0, 0x84(r1) -lbl_800415C4: -/* 03C024 800415C4 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 03C028 800415C8 7C7A0214 */ add r3, r26, r0 -/* 03C02C 800415CC 80030818 */ lwz r0, 0x818(r3) -/* 03C030 800415D0 57885EFE */ rlwinm r8, r28, 0xb, 0x1b, 0x1f -/* 03C034 800415D4 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03C038 800415D8 40820050 */ bne lbl_80041628 -/* 03C03C 800415DC 281F0000 */ cmplwi r31, 0 -/* 03C040 800415E0 4182003C */ beq lbl_8004161C -/* 03C044 800415E4 55061838 */ slwi r6, r8, 3 -/* 03C048 800415E8 80610084 */ lwz r3, 0x84(r1) -/* 03C04C 800415EC 38C60040 */ addi r6, r6, 0x40 -/* 03C050 800415F0 5400A814 */ slwi r0, r0, 0x15 -/* 03C054 800415F4 7CDE3214 */ add r6, r30, r6 -/* 03C058 800415F8 38E30001 */ addi r7, r3, 1 -/* 03C05C 800415FC 64009003 */ oris r0, r0, 0x9003 -/* 03C060 80041600 90E10084 */ stw r7, 0x84(r1) -/* 03C064 80041604 7CDE3050 */ subf r6, r30, r6 -/* 03C068 80041608 7CC60214 */ add r6, r6, r0 -/* 03C06C 8004160C 38060004 */ addi r0, r6, 4 -/* 03C070 80041610 5463103A */ slwi r3, r3, 2 -/* 03C074 80041614 7C1F192E */ stwx r0, r31, r3 -/* 03C078 80041618 48000010 */ b lbl_80041628 -lbl_8004161C: -/* 03C07C 8004161C 80610084 */ lwz r3, 0x84(r1) -/* 03C080 80041620 38030001 */ addi r0, r3, 1 -/* 03C084 80041624 90010084 */ stw r0, 0x84(r1) -lbl_80041628: -/* 03C088 80041628 281F0000 */ cmplwi r31, 0 -/* 03C08C 8004162C 41820030 */ beq lbl_8004165C -/* 03C090 80041630 80610084 */ lwz r3, 0x84(r1) -/* 03C094 80041634 54861838 */ slwi r6, r4, 3 -/* 03C098 80041638 38060040 */ addi r0, r6, 0x40 -/* 03C09C 8004163C 7CDE0214 */ add r6, r30, r0 -/* 03C0A0 80041640 38030001 */ addi r0, r3, 1 -/* 03C0A4 80041644 7CDE3050 */ subf r6, r30, r6 -/* 03C0A8 80041648 90010084 */ stw r0, 0x84(r1) -/* 03C0AC 8004164C 3C0680A3 */ addis r0, r6, 0x80a3 -/* 03C0B0 80041650 5463103A */ slwi r3, r3, 2 -/* 03C0B4 80041654 7C1F192E */ stwx r0, r31, r3 -/* 03C0B8 80041658 48000010 */ b lbl_80041668 -lbl_8004165C: -/* 03C0BC 8004165C 80610084 */ lwz r3, 0x84(r1) -/* 03C0C0 80041660 38030001 */ addi r0, r3, 1 -/* 03C0C4 80041664 90010084 */ stw r0, 0x84(r1) -lbl_80041668: -/* 03C0C8 80041668 281F0000 */ cmplwi r31, 0 -/* 03C0CC 8004166C 41820034 */ beq lbl_800416A0 -/* 03C0D0 80041670 54841838 */ slwi r4, r4, 3 -/* 03C0D4 80041674 80610084 */ lwz r3, 0x84(r1) -/* 03C0D8 80041678 38040040 */ addi r0, r4, 0x40 -/* 03C0DC 8004167C 7C1E0214 */ add r0, r30, r0 -/* 03C0E0 80041680 7C9E0050 */ subf r4, r30, r0 -/* 03C0E4 80041684 38030001 */ addi r0, r3, 1 -/* 03C0E8 80041688 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03C0EC 8004168C 90010084 */ stw r0, 0x84(r1) -/* 03C0F0 80041690 38040004 */ addi r0, r4, 4 -/* 03C0F4 80041694 5463103A */ slwi r3, r3, 2 -/* 03C0F8 80041698 7C1F192E */ stwx r0, r31, r3 -/* 03C0FC 8004169C 48000010 */ b lbl_800416AC -lbl_800416A0: -/* 03C100 800416A0 80610084 */ lwz r3, 0x84(r1) -/* 03C104 800416A4 38030001 */ addi r0, r3, 1 -/* 03C108 800416A8 90010084 */ stw r0, 0x84(r1) -lbl_800416AC: -/* 03C10C 800416AC 281F0000 */ cmplwi r31, 0 -/* 03C110 800416B0 41820034 */ beq lbl_800416E4 -/* 03C114 800416B4 55041838 */ slwi r4, r8, 3 -/* 03C118 800416B8 80610084 */ lwz r3, 0x84(r1) -/* 03C11C 800416BC 38040040 */ addi r0, r4, 0x40 -/* 03C120 800416C0 7C1E0214 */ add r0, r30, r0 -/* 03C124 800416C4 7C9E0050 */ subf r4, r30, r0 -/* 03C128 800416C8 38030001 */ addi r0, r3, 1 -/* 03C12C 800416CC 3C8480E3 */ addis r4, r4, 0x80e3 -/* 03C130 800416D0 90010084 */ stw r0, 0x84(r1) -/* 03C134 800416D4 38040004 */ addi r0, r4, 4 -/* 03C138 800416D8 5463103A */ slwi r3, r3, 2 -/* 03C13C 800416DC 7C1F192E */ stwx r0, r31, r3 -/* 03C140 800416E0 48000010 */ b lbl_800416F0 -lbl_800416E4: -/* 03C144 800416E4 80610084 */ lwz r3, 0x84(r1) -/* 03C148 800416E8 38030001 */ addi r0, r3, 1 -/* 03C14C 800416EC 90010084 */ stw r0, 0x84(r1) -lbl_800416F0: -/* 03C150 800416F0 281F0000 */ cmplwi r31, 0 -/* 03C154 800416F4 41820034 */ beq lbl_80041728 -/* 03C158 800416F8 80610084 */ lwz r3, 0x84(r1) -/* 03C15C 800416FC 800D8A04 */ lwz r0, cpuCompile_DSLLV_function@sda21(r13) -/* 03C160 80041700 5466103A */ slwi r6, r3, 2 -/* 03C164 80041704 7C9F3214 */ add r4, r31, r6 -/* 03C168 80041708 7C040050 */ subf r0, r4, r0 -/* 03C16C 8004170C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 03C170 80041710 38630001 */ addi r3, r3, 1 -/* 03C174 80041714 64004800 */ oris r0, r0, 0x4800 -/* 03C178 80041718 90610084 */ stw r3, 0x84(r1) -/* 03C17C 8004171C 60000001 */ ori r0, r0, 1 -/* 03C180 80041720 7C1F312E */ stwx r0, r31, r6 -/* 03C184 80041724 48000010 */ b lbl_80041734 -lbl_80041728: -/* 03C188 80041728 80610084 */ lwz r3, 0x84(r1) -/* 03C18C 8004172C 38030001 */ addi r0, r3, 1 -/* 03C190 80041730 90010084 */ stw r0, 0x84(r1) -lbl_80041734: -/* 03C194 80041734 281F0000 */ cmplwi r31, 0 -/* 03C198 80041738 41820030 */ beq lbl_80041768 -/* 03C19C 8004173C 80610084 */ lwz r3, 0x84(r1) -/* 03C1A0 80041740 54A41838 */ slwi r4, r5, 3 -/* 03C1A4 80041744 38040040 */ addi r0, r4, 0x40 -/* 03C1A8 80041748 7C9E0214 */ add r4, r30, r0 -/* 03C1AC 8004174C 38030001 */ addi r0, r3, 1 -/* 03C1B0 80041750 7C9E2050 */ subf r4, r30, r4 -/* 03C1B4 80041754 90010084 */ stw r0, 0x84(r1) -/* 03C1B8 80041758 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03C1BC 8004175C 5463103A */ slwi r3, r3, 2 -/* 03C1C0 80041760 7C1F192E */ stwx r0, r31, r3 -/* 03C1C4 80041764 48000010 */ b lbl_80041774 -lbl_80041768: -/* 03C1C8 80041768 80610084 */ lwz r3, 0x84(r1) -/* 03C1CC 8004176C 38030001 */ addi r0, r3, 1 -/* 03C1D0 80041770 90010084 */ stw r0, 0x84(r1) -lbl_80041774: -/* 03C1D4 80041774 281F0000 */ cmplwi r31, 0 -/* 03C1D8 80041778 41820034 */ beq lbl_800417AC -/* 03C1DC 8004177C 54A41838 */ slwi r4, r5, 3 -/* 03C1E0 80041780 80610084 */ lwz r3, 0x84(r1) -/* 03C1E4 80041784 38040040 */ addi r0, r4, 0x40 -/* 03C1E8 80041788 7C1E0214 */ add r0, r30, r0 -/* 03C1EC 8004178C 7C9E0050 */ subf r4, r30, r0 -/* 03C1F0 80041790 38030001 */ addi r0, r3, 1 -/* 03C1F4 80041794 3C8490C3 */ addis r4, r4, 0x90c3 -/* 03C1F8 80041798 90010084 */ stw r0, 0x84(r1) -/* 03C1FC 8004179C 38040004 */ addi r0, r4, 4 -/* 03C200 800417A0 5463103A */ slwi r3, r3, 2 -/* 03C204 800417A4 7C1F192E */ stwx r0, r31, r3 -/* 03C208 800417A8 48000010 */ b lbl_800417B8 -lbl_800417AC: -/* 03C20C 800417AC 80610084 */ lwz r3, 0x84(r1) -/* 03C210 800417B0 38030001 */ addi r0, r3, 1 -/* 03C214 800417B4 90010084 */ stw r0, 0x84(r1) -lbl_800417B8: -/* 03C218 800417B8 54A0103A */ slwi r0, r5, 2 -/* 03C21C 800417BC 7C7A0214 */ add r3, r26, r0 -/* 03C220 800417C0 80030818 */ lwz r0, 0x818(r3) -/* 03C224 800417C4 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03C228 800417C8 41820008 */ beq lbl_800417D0 -/* 03C22C 800417CC 48026768 */ b lbl_80067F34 -lbl_800417D0: -/* 03C230 800417D0 281F0000 */ cmplwi r31, 0 -/* 03C234 800417D4 41820028 */ beq lbl_800417FC -/* 03C238 800417D8 80610084 */ lwz r3, 0x84(r1) -/* 03C23C 800417DC 5400801E */ slwi r0, r0, 0x10 -/* 03C240 800417E0 64047CC0 */ oris r4, r0, 0x7cc0 -/* 03C244 800417E4 38030001 */ addi r0, r3, 1 -/* 03C248 800417E8 90010084 */ stw r0, 0x84(r1) -/* 03C24C 800417EC 60843378 */ ori r4, r4, 0x3378 -/* 03C250 800417F0 5460103A */ slwi r0, r3, 2 -/* 03C254 800417F4 7C9F012E */ stwx r4, r31, r0 -/* 03C258 800417F8 4802673C */ b lbl_80067F34 -lbl_800417FC: -/* 03C25C 800417FC 80610084 */ lwz r3, 0x84(r1) -/* 03C260 80041800 38030001 */ addi r0, r3, 1 -/* 03C264 80041804 90010084 */ stw r0, 0x84(r1) -/* 03C268 80041808 4802672C */ b lbl_80067F34 -.global lbl_8004180C -lbl_8004180C: -/* 03C26C 8004180C 3C7E0001 */ addis r3, r30, 1 -/* 03C270 80041810 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 03C274 80041814 80032058 */ lwz r0, 0x2058(r3) -/* 03C278 80041818 38800001 */ li r4, 1 -/* 03C27C 8004181C 7C842830 */ slw r4, r4, r5 -/* 03C280 80041820 7C002078 */ andc r0, r0, r4 -/* 03C284 80041824 90032058 */ stw r0, 0x2058(r3) -/* 03C288 80041828 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 03C28C 8004182C 7C7A0214 */ add r3, r26, r0 -/* 03C290 80041830 80030818 */ lwz r0, 0x818(r3) -/* 03C294 80041834 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 03C298 80041838 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03C29C 8004183C 40820050 */ bne lbl_8004188C -/* 03C2A0 80041840 281F0000 */ cmplwi r31, 0 -/* 03C2A4 80041844 4182003C */ beq lbl_80041880 -/* 03C2A8 80041848 54861838 */ slwi r6, r4, 3 -/* 03C2AC 8004184C 80610084 */ lwz r3, 0x84(r1) -/* 03C2B0 80041850 38C60040 */ addi r6, r6, 0x40 -/* 03C2B4 80041854 5400A814 */ slwi r0, r0, 0x15 -/* 03C2B8 80041858 7CDE3214 */ add r6, r30, r6 -/* 03C2BC 8004185C 38E30001 */ addi r7, r3, 1 -/* 03C2C0 80041860 64009003 */ oris r0, r0, 0x9003 -/* 03C2C4 80041864 90E10084 */ stw r7, 0x84(r1) -/* 03C2C8 80041868 7CDE3050 */ subf r6, r30, r6 -/* 03C2CC 8004186C 7CC60214 */ add r6, r6, r0 -/* 03C2D0 80041870 38060004 */ addi r0, r6, 4 -/* 03C2D4 80041874 5463103A */ slwi r3, r3, 2 -/* 03C2D8 80041878 7C1F192E */ stwx r0, r31, r3 -/* 03C2DC 8004187C 48000010 */ b lbl_8004188C -lbl_80041880: -/* 03C2E0 80041880 80610084 */ lwz r3, 0x84(r1) -/* 03C2E4 80041884 38030001 */ addi r0, r3, 1 -/* 03C2E8 80041888 90010084 */ stw r0, 0x84(r1) -lbl_8004188C: -/* 03C2EC 8004188C 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 03C2F0 80041890 7C7A0214 */ add r3, r26, r0 -/* 03C2F4 80041894 80030818 */ lwz r0, 0x818(r3) -/* 03C2F8 80041898 57885EFE */ rlwinm r8, r28, 0xb, 0x1b, 0x1f -/* 03C2FC 8004189C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03C300 800418A0 40820050 */ bne lbl_800418F0 -/* 03C304 800418A4 281F0000 */ cmplwi r31, 0 -/* 03C308 800418A8 4182003C */ beq lbl_800418E4 -/* 03C30C 800418AC 55061838 */ slwi r6, r8, 3 -/* 03C310 800418B0 80610084 */ lwz r3, 0x84(r1) -/* 03C314 800418B4 38C60040 */ addi r6, r6, 0x40 -/* 03C318 800418B8 5400A814 */ slwi r0, r0, 0x15 -/* 03C31C 800418BC 7CDE3214 */ add r6, r30, r6 -/* 03C320 800418C0 38E30001 */ addi r7, r3, 1 -/* 03C324 800418C4 64009003 */ oris r0, r0, 0x9003 -/* 03C328 800418C8 90E10084 */ stw r7, 0x84(r1) -/* 03C32C 800418CC 7CDE3050 */ subf r6, r30, r6 -/* 03C330 800418D0 7CC60214 */ add r6, r6, r0 -/* 03C334 800418D4 38060004 */ addi r0, r6, 4 -/* 03C338 800418D8 5463103A */ slwi r3, r3, 2 -/* 03C33C 800418DC 7C1F192E */ stwx r0, r31, r3 -/* 03C340 800418E0 48000010 */ b lbl_800418F0 -lbl_800418E4: -/* 03C344 800418E4 80610084 */ lwz r3, 0x84(r1) -/* 03C348 800418E8 38030001 */ addi r0, r3, 1 -/* 03C34C 800418EC 90010084 */ stw r0, 0x84(r1) -lbl_800418F0: -/* 03C350 800418F0 281F0000 */ cmplwi r31, 0 -/* 03C354 800418F4 41820030 */ beq lbl_80041924 -/* 03C358 800418F8 80610084 */ lwz r3, 0x84(r1) -/* 03C35C 800418FC 54861838 */ slwi r6, r4, 3 -/* 03C360 80041900 38060040 */ addi r0, r6, 0x40 -/* 03C364 80041904 7CDE0214 */ add r6, r30, r0 -/* 03C368 80041908 38030001 */ addi r0, r3, 1 -/* 03C36C 8004190C 7CDE3050 */ subf r6, r30, r6 -/* 03C370 80041910 90010084 */ stw r0, 0x84(r1) -/* 03C374 80041914 3C0680A3 */ addis r0, r6, 0x80a3 -/* 03C378 80041918 5463103A */ slwi r3, r3, 2 -/* 03C37C 8004191C 7C1F192E */ stwx r0, r31, r3 -/* 03C380 80041920 48000010 */ b lbl_80041930 -lbl_80041924: -/* 03C384 80041924 80610084 */ lwz r3, 0x84(r1) -/* 03C388 80041928 38030001 */ addi r0, r3, 1 -/* 03C38C 8004192C 90010084 */ stw r0, 0x84(r1) -lbl_80041930: -/* 03C390 80041930 281F0000 */ cmplwi r31, 0 -/* 03C394 80041934 41820034 */ beq lbl_80041968 -/* 03C398 80041938 54841838 */ slwi r4, r4, 3 -/* 03C39C 8004193C 80610084 */ lwz r3, 0x84(r1) -/* 03C3A0 80041940 38040040 */ addi r0, r4, 0x40 -/* 03C3A4 80041944 7C1E0214 */ add r0, r30, r0 -/* 03C3A8 80041948 7C9E0050 */ subf r4, r30, r0 -/* 03C3AC 8004194C 38030001 */ addi r0, r3, 1 -/* 03C3B0 80041950 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03C3B4 80041954 90010084 */ stw r0, 0x84(r1) -/* 03C3B8 80041958 38040004 */ addi r0, r4, 4 -/* 03C3BC 8004195C 5463103A */ slwi r3, r3, 2 -/* 03C3C0 80041960 7C1F192E */ stwx r0, r31, r3 -/* 03C3C4 80041964 48000010 */ b lbl_80041974 -lbl_80041968: -/* 03C3C8 80041968 80610084 */ lwz r3, 0x84(r1) -/* 03C3CC 8004196C 38030001 */ addi r0, r3, 1 -/* 03C3D0 80041970 90010084 */ stw r0, 0x84(r1) -lbl_80041974: -/* 03C3D4 80041974 281F0000 */ cmplwi r31, 0 -/* 03C3D8 80041978 41820034 */ beq lbl_800419AC -/* 03C3DC 8004197C 55041838 */ slwi r4, r8, 3 -/* 03C3E0 80041980 80610084 */ lwz r3, 0x84(r1) -/* 03C3E4 80041984 38040040 */ addi r0, r4, 0x40 -/* 03C3E8 80041988 7C1E0214 */ add r0, r30, r0 -/* 03C3EC 8004198C 7C9E0050 */ subf r4, r30, r0 -/* 03C3F0 80041990 38030001 */ addi r0, r3, 1 -/* 03C3F4 80041994 3C8480E3 */ addis r4, r4, 0x80e3 -/* 03C3F8 80041998 90010084 */ stw r0, 0x84(r1) -/* 03C3FC 8004199C 38040004 */ addi r0, r4, 4 -/* 03C400 800419A0 5463103A */ slwi r3, r3, 2 -/* 03C404 800419A4 7C1F192E */ stwx r0, r31, r3 -/* 03C408 800419A8 48000010 */ b lbl_800419B8 -lbl_800419AC: -/* 03C40C 800419AC 80610084 */ lwz r3, 0x84(r1) -/* 03C410 800419B0 38030001 */ addi r0, r3, 1 -/* 03C414 800419B4 90010084 */ stw r0, 0x84(r1) -lbl_800419B8: -/* 03C418 800419B8 281F0000 */ cmplwi r31, 0 -/* 03C41C 800419BC 41820034 */ beq lbl_800419F0 -/* 03C420 800419C0 80610084 */ lwz r3, 0x84(r1) -/* 03C424 800419C4 800D8A08 */ lwz r0, cpuCompile_DSRLV_function@sda21(r13) -/* 03C428 800419C8 5466103A */ slwi r6, r3, 2 -/* 03C42C 800419CC 7C9F3214 */ add r4, r31, r6 -/* 03C430 800419D0 7C040050 */ subf r0, r4, r0 -/* 03C434 800419D4 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 03C438 800419D8 38630001 */ addi r3, r3, 1 -/* 03C43C 800419DC 64004800 */ oris r0, r0, 0x4800 -/* 03C440 800419E0 90610084 */ stw r3, 0x84(r1) -/* 03C444 800419E4 60000001 */ ori r0, r0, 1 -/* 03C448 800419E8 7C1F312E */ stwx r0, r31, r6 -/* 03C44C 800419EC 48000010 */ b lbl_800419FC -lbl_800419F0: -/* 03C450 800419F0 80610084 */ lwz r3, 0x84(r1) -/* 03C454 800419F4 38030001 */ addi r0, r3, 1 -/* 03C458 800419F8 90010084 */ stw r0, 0x84(r1) -lbl_800419FC: -/* 03C45C 800419FC 281F0000 */ cmplwi r31, 0 -/* 03C460 80041A00 41820030 */ beq lbl_80041A30 -/* 03C464 80041A04 80610084 */ lwz r3, 0x84(r1) -/* 03C468 80041A08 54A41838 */ slwi r4, r5, 3 -/* 03C46C 80041A0C 38040040 */ addi r0, r4, 0x40 -/* 03C470 80041A10 7C9E0214 */ add r4, r30, r0 -/* 03C474 80041A14 38030001 */ addi r0, r3, 1 -/* 03C478 80041A18 7C9E2050 */ subf r4, r30, r4 -/* 03C47C 80041A1C 90010084 */ stw r0, 0x84(r1) -/* 03C480 80041A20 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03C484 80041A24 5463103A */ slwi r3, r3, 2 -/* 03C488 80041A28 7C1F192E */ stwx r0, r31, r3 -/* 03C48C 80041A2C 48000010 */ b lbl_80041A3C -lbl_80041A30: -/* 03C490 80041A30 80610084 */ lwz r3, 0x84(r1) -/* 03C494 80041A34 38030001 */ addi r0, r3, 1 -/* 03C498 80041A38 90010084 */ stw r0, 0x84(r1) -lbl_80041A3C: -/* 03C49C 80041A3C 281F0000 */ cmplwi r31, 0 -/* 03C4A0 80041A40 41820034 */ beq lbl_80041A74 -/* 03C4A4 80041A44 54A41838 */ slwi r4, r5, 3 -/* 03C4A8 80041A48 80610084 */ lwz r3, 0x84(r1) -/* 03C4AC 80041A4C 38040040 */ addi r0, r4, 0x40 -/* 03C4B0 80041A50 7C1E0214 */ add r0, r30, r0 -/* 03C4B4 80041A54 7C9E0050 */ subf r4, r30, r0 -/* 03C4B8 80041A58 38030001 */ addi r0, r3, 1 -/* 03C4BC 80041A5C 3C8490C3 */ addis r4, r4, 0x90c3 -/* 03C4C0 80041A60 90010084 */ stw r0, 0x84(r1) -/* 03C4C4 80041A64 38040004 */ addi r0, r4, 4 -/* 03C4C8 80041A68 5463103A */ slwi r3, r3, 2 -/* 03C4CC 80041A6C 7C1F192E */ stwx r0, r31, r3 -/* 03C4D0 80041A70 48000010 */ b lbl_80041A80 -lbl_80041A74: -/* 03C4D4 80041A74 80610084 */ lwz r3, 0x84(r1) -/* 03C4D8 80041A78 38030001 */ addi r0, r3, 1 -/* 03C4DC 80041A7C 90010084 */ stw r0, 0x84(r1) -lbl_80041A80: -/* 03C4E0 80041A80 54A0103A */ slwi r0, r5, 2 -/* 03C4E4 80041A84 7C7A0214 */ add r3, r26, r0 -/* 03C4E8 80041A88 80030818 */ lwz r0, 0x818(r3) -/* 03C4EC 80041A8C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03C4F0 80041A90 41820008 */ beq lbl_80041A98 -/* 03C4F4 80041A94 480264A0 */ b lbl_80067F34 -lbl_80041A98: -/* 03C4F8 80041A98 281F0000 */ cmplwi r31, 0 -/* 03C4FC 80041A9C 41820028 */ beq lbl_80041AC4 -/* 03C500 80041AA0 80610084 */ lwz r3, 0x84(r1) -/* 03C504 80041AA4 5400801E */ slwi r0, r0, 0x10 -/* 03C508 80041AA8 64047CC0 */ oris r4, r0, 0x7cc0 -/* 03C50C 80041AAC 38030001 */ addi r0, r3, 1 -/* 03C510 80041AB0 90010084 */ stw r0, 0x84(r1) -/* 03C514 80041AB4 60843378 */ ori r4, r4, 0x3378 -/* 03C518 80041AB8 5460103A */ slwi r0, r3, 2 -/* 03C51C 80041ABC 7C9F012E */ stwx r4, r31, r0 -/* 03C520 80041AC0 48026474 */ b lbl_80067F34 -lbl_80041AC4: -/* 03C524 80041AC4 80610084 */ lwz r3, 0x84(r1) -/* 03C528 80041AC8 38030001 */ addi r0, r3, 1 -/* 03C52C 80041ACC 90010084 */ stw r0, 0x84(r1) -/* 03C530 80041AD0 48026464 */ b lbl_80067F34 -.global lbl_80041AD4 -lbl_80041AD4: -/* 03C534 80041AD4 3C7E0001 */ addis r3, r30, 1 -/* 03C538 80041AD8 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 03C53C 80041ADC 80032058 */ lwz r0, 0x2058(r3) -/* 03C540 80041AE0 38800001 */ li r4, 1 -/* 03C544 80041AE4 7C842830 */ slw r4, r4, r5 -/* 03C548 80041AE8 7C002078 */ andc r0, r0, r4 -/* 03C54C 80041AEC 90032058 */ stw r0, 0x2058(r3) -/* 03C550 80041AF0 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 03C554 80041AF4 7C7A0214 */ add r3, r26, r0 -/* 03C558 80041AF8 80030818 */ lwz r0, 0x818(r3) -/* 03C55C 80041AFC 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 03C560 80041B00 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03C564 80041B04 40820050 */ bne lbl_80041B54 -/* 03C568 80041B08 281F0000 */ cmplwi r31, 0 -/* 03C56C 80041B0C 4182003C */ beq lbl_80041B48 -/* 03C570 80041B10 54861838 */ slwi r6, r4, 3 -/* 03C574 80041B14 80610084 */ lwz r3, 0x84(r1) -/* 03C578 80041B18 38C60040 */ addi r6, r6, 0x40 -/* 03C57C 80041B1C 5400A814 */ slwi r0, r0, 0x15 -/* 03C580 80041B20 7CDE3214 */ add r6, r30, r6 -/* 03C584 80041B24 38E30001 */ addi r7, r3, 1 -/* 03C588 80041B28 64009003 */ oris r0, r0, 0x9003 -/* 03C58C 80041B2C 90E10084 */ stw r7, 0x84(r1) -/* 03C590 80041B30 7CDE3050 */ subf r6, r30, r6 -/* 03C594 80041B34 7CC60214 */ add r6, r6, r0 -/* 03C598 80041B38 38060004 */ addi r0, r6, 4 -/* 03C59C 80041B3C 5463103A */ slwi r3, r3, 2 -/* 03C5A0 80041B40 7C1F192E */ stwx r0, r31, r3 -/* 03C5A4 80041B44 48000010 */ b lbl_80041B54 -lbl_80041B48: -/* 03C5A8 80041B48 80610084 */ lwz r3, 0x84(r1) -/* 03C5AC 80041B4C 38030001 */ addi r0, r3, 1 -/* 03C5B0 80041B50 90010084 */ stw r0, 0x84(r1) -lbl_80041B54: -/* 03C5B4 80041B54 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 03C5B8 80041B58 7C7A0214 */ add r3, r26, r0 -/* 03C5BC 80041B5C 80030818 */ lwz r0, 0x818(r3) -/* 03C5C0 80041B60 57885EFE */ rlwinm r8, r28, 0xb, 0x1b, 0x1f -/* 03C5C4 80041B64 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03C5C8 80041B68 40820050 */ bne lbl_80041BB8 -/* 03C5CC 80041B6C 281F0000 */ cmplwi r31, 0 -/* 03C5D0 80041B70 4182003C */ beq lbl_80041BAC -/* 03C5D4 80041B74 55061838 */ slwi r6, r8, 3 -/* 03C5D8 80041B78 80610084 */ lwz r3, 0x84(r1) -/* 03C5DC 80041B7C 38C60040 */ addi r6, r6, 0x40 -/* 03C5E0 80041B80 5400A814 */ slwi r0, r0, 0x15 -/* 03C5E4 80041B84 7CDE3214 */ add r6, r30, r6 -/* 03C5E8 80041B88 38E30001 */ addi r7, r3, 1 -/* 03C5EC 80041B8C 64009003 */ oris r0, r0, 0x9003 -/* 03C5F0 80041B90 90E10084 */ stw r7, 0x84(r1) -/* 03C5F4 80041B94 7CDE3050 */ subf r6, r30, r6 -/* 03C5F8 80041B98 7CC60214 */ add r6, r6, r0 -/* 03C5FC 80041B9C 38060004 */ addi r0, r6, 4 -/* 03C600 80041BA0 5463103A */ slwi r3, r3, 2 -/* 03C604 80041BA4 7C1F192E */ stwx r0, r31, r3 -/* 03C608 80041BA8 48000010 */ b lbl_80041BB8 -lbl_80041BAC: -/* 03C60C 80041BAC 80610084 */ lwz r3, 0x84(r1) -/* 03C610 80041BB0 38030001 */ addi r0, r3, 1 -/* 03C614 80041BB4 90010084 */ stw r0, 0x84(r1) -lbl_80041BB8: -/* 03C618 80041BB8 281F0000 */ cmplwi r31, 0 -/* 03C61C 80041BBC 41820030 */ beq lbl_80041BEC -/* 03C620 80041BC0 80610084 */ lwz r3, 0x84(r1) -/* 03C624 80041BC4 54861838 */ slwi r6, r4, 3 -/* 03C628 80041BC8 38060040 */ addi r0, r6, 0x40 -/* 03C62C 80041BCC 7CDE0214 */ add r6, r30, r0 -/* 03C630 80041BD0 38030001 */ addi r0, r3, 1 -/* 03C634 80041BD4 7CDE3050 */ subf r6, r30, r6 -/* 03C638 80041BD8 90010084 */ stw r0, 0x84(r1) -/* 03C63C 80041BDC 3C0680A3 */ addis r0, r6, 0x80a3 -/* 03C640 80041BE0 5463103A */ slwi r3, r3, 2 -/* 03C644 80041BE4 7C1F192E */ stwx r0, r31, r3 -/* 03C648 80041BE8 48000010 */ b lbl_80041BF8 -lbl_80041BEC: -/* 03C64C 80041BEC 80610084 */ lwz r3, 0x84(r1) -/* 03C650 80041BF0 38030001 */ addi r0, r3, 1 -/* 03C654 80041BF4 90010084 */ stw r0, 0x84(r1) -lbl_80041BF8: -/* 03C658 80041BF8 281F0000 */ cmplwi r31, 0 -/* 03C65C 80041BFC 41820034 */ beq lbl_80041C30 -/* 03C660 80041C00 54841838 */ slwi r4, r4, 3 -/* 03C664 80041C04 80610084 */ lwz r3, 0x84(r1) -/* 03C668 80041C08 38040040 */ addi r0, r4, 0x40 -/* 03C66C 80041C0C 7C1E0214 */ add r0, r30, r0 -/* 03C670 80041C10 7C9E0050 */ subf r4, r30, r0 -/* 03C674 80041C14 38030001 */ addi r0, r3, 1 -/* 03C678 80041C18 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03C67C 80041C1C 90010084 */ stw r0, 0x84(r1) -/* 03C680 80041C20 38040004 */ addi r0, r4, 4 -/* 03C684 80041C24 5463103A */ slwi r3, r3, 2 -/* 03C688 80041C28 7C1F192E */ stwx r0, r31, r3 -/* 03C68C 80041C2C 48000010 */ b lbl_80041C3C -lbl_80041C30: -/* 03C690 80041C30 80610084 */ lwz r3, 0x84(r1) -/* 03C694 80041C34 38030001 */ addi r0, r3, 1 -/* 03C698 80041C38 90010084 */ stw r0, 0x84(r1) -lbl_80041C3C: -/* 03C69C 80041C3C 281F0000 */ cmplwi r31, 0 -/* 03C6A0 80041C40 41820034 */ beq lbl_80041C74 -/* 03C6A4 80041C44 55041838 */ slwi r4, r8, 3 -/* 03C6A8 80041C48 80610084 */ lwz r3, 0x84(r1) -/* 03C6AC 80041C4C 38040040 */ addi r0, r4, 0x40 -/* 03C6B0 80041C50 7C1E0214 */ add r0, r30, r0 -/* 03C6B4 80041C54 7C9E0050 */ subf r4, r30, r0 -/* 03C6B8 80041C58 38030001 */ addi r0, r3, 1 -/* 03C6BC 80041C5C 3C8480E3 */ addis r4, r4, 0x80e3 -/* 03C6C0 80041C60 90010084 */ stw r0, 0x84(r1) -/* 03C6C4 80041C64 38040004 */ addi r0, r4, 4 -/* 03C6C8 80041C68 5463103A */ slwi r3, r3, 2 -/* 03C6CC 80041C6C 7C1F192E */ stwx r0, r31, r3 -/* 03C6D0 80041C70 48000010 */ b lbl_80041C80 -lbl_80041C74: -/* 03C6D4 80041C74 80610084 */ lwz r3, 0x84(r1) -/* 03C6D8 80041C78 38030001 */ addi r0, r3, 1 -/* 03C6DC 80041C7C 90010084 */ stw r0, 0x84(r1) -lbl_80041C80: -/* 03C6E0 80041C80 281F0000 */ cmplwi r31, 0 -/* 03C6E4 80041C84 41820034 */ beq lbl_80041CB8 -/* 03C6E8 80041C88 80610084 */ lwz r3, 0x84(r1) -/* 03C6EC 80041C8C 800D8A0C */ lwz r0, cpuCompile_DSRAV_function@sda21(r13) -/* 03C6F0 80041C90 5466103A */ slwi r6, r3, 2 -/* 03C6F4 80041C94 7C9F3214 */ add r4, r31, r6 -/* 03C6F8 80041C98 7C040050 */ subf r0, r4, r0 -/* 03C6FC 80041C9C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 03C700 80041CA0 38630001 */ addi r3, r3, 1 -/* 03C704 80041CA4 64004800 */ oris r0, r0, 0x4800 -/* 03C708 80041CA8 90610084 */ stw r3, 0x84(r1) -/* 03C70C 80041CAC 60000001 */ ori r0, r0, 1 -/* 03C710 80041CB0 7C1F312E */ stwx r0, r31, r6 -/* 03C714 80041CB4 48000010 */ b lbl_80041CC4 -lbl_80041CB8: -/* 03C718 80041CB8 80610084 */ lwz r3, 0x84(r1) -/* 03C71C 80041CBC 38030001 */ addi r0, r3, 1 -/* 03C720 80041CC0 90010084 */ stw r0, 0x84(r1) -lbl_80041CC4: -/* 03C724 80041CC4 281F0000 */ cmplwi r31, 0 -/* 03C728 80041CC8 41820030 */ beq lbl_80041CF8 -/* 03C72C 80041CCC 80610084 */ lwz r3, 0x84(r1) -/* 03C730 80041CD0 54A41838 */ slwi r4, r5, 3 -/* 03C734 80041CD4 38040040 */ addi r0, r4, 0x40 -/* 03C738 80041CD8 7C9E0214 */ add r4, r30, r0 -/* 03C73C 80041CDC 38030001 */ addi r0, r3, 1 -/* 03C740 80041CE0 7C9E2050 */ subf r4, r30, r4 -/* 03C744 80041CE4 90010084 */ stw r0, 0x84(r1) -/* 03C748 80041CE8 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03C74C 80041CEC 5463103A */ slwi r3, r3, 2 -/* 03C750 80041CF0 7C1F192E */ stwx r0, r31, r3 -/* 03C754 80041CF4 48000010 */ b lbl_80041D04 -lbl_80041CF8: -/* 03C758 80041CF8 80610084 */ lwz r3, 0x84(r1) -/* 03C75C 80041CFC 38030001 */ addi r0, r3, 1 -/* 03C760 80041D00 90010084 */ stw r0, 0x84(r1) -lbl_80041D04: -/* 03C764 80041D04 281F0000 */ cmplwi r31, 0 -/* 03C768 80041D08 41820034 */ beq lbl_80041D3C -/* 03C76C 80041D0C 54A41838 */ slwi r4, r5, 3 -/* 03C770 80041D10 80610084 */ lwz r3, 0x84(r1) -/* 03C774 80041D14 38040040 */ addi r0, r4, 0x40 -/* 03C778 80041D18 7C1E0214 */ add r0, r30, r0 -/* 03C77C 80041D1C 7C9E0050 */ subf r4, r30, r0 -/* 03C780 80041D20 38030001 */ addi r0, r3, 1 -/* 03C784 80041D24 3C8490C3 */ addis r4, r4, 0x90c3 -/* 03C788 80041D28 90010084 */ stw r0, 0x84(r1) -/* 03C78C 80041D2C 38040004 */ addi r0, r4, 4 -/* 03C790 80041D30 5463103A */ slwi r3, r3, 2 -/* 03C794 80041D34 7C1F192E */ stwx r0, r31, r3 -/* 03C798 80041D38 48000010 */ b lbl_80041D48 -lbl_80041D3C: -/* 03C79C 80041D3C 80610084 */ lwz r3, 0x84(r1) -/* 03C7A0 80041D40 38030001 */ addi r0, r3, 1 -/* 03C7A4 80041D44 90010084 */ stw r0, 0x84(r1) -lbl_80041D48: -/* 03C7A8 80041D48 54A0103A */ slwi r0, r5, 2 -/* 03C7AC 80041D4C 7C7A0214 */ add r3, r26, r0 -/* 03C7B0 80041D50 80030818 */ lwz r0, 0x818(r3) -/* 03C7B4 80041D54 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03C7B8 80041D58 41820008 */ beq lbl_80041D60 -/* 03C7BC 80041D5C 480261D8 */ b lbl_80067F34 -lbl_80041D60: -/* 03C7C0 80041D60 281F0000 */ cmplwi r31, 0 -/* 03C7C4 80041D64 41820028 */ beq lbl_80041D8C -/* 03C7C8 80041D68 80610084 */ lwz r3, 0x84(r1) -/* 03C7CC 80041D6C 5400801E */ slwi r0, r0, 0x10 -/* 03C7D0 80041D70 64047CC0 */ oris r4, r0, 0x7cc0 -/* 03C7D4 80041D74 38030001 */ addi r0, r3, 1 -/* 03C7D8 80041D78 90010084 */ stw r0, 0x84(r1) -/* 03C7DC 80041D7C 60843378 */ ori r4, r4, 0x3378 -/* 03C7E0 80041D80 5460103A */ slwi r0, r3, 2 -/* 03C7E4 80041D84 7C9F012E */ stwx r4, r31, r0 -/* 03C7E8 80041D88 480261AC */ b lbl_80067F34 -lbl_80041D8C: -/* 03C7EC 80041D8C 80610084 */ lwz r3, 0x84(r1) -/* 03C7F0 80041D90 38030001 */ addi r0, r3, 1 -/* 03C7F4 80041D94 90010084 */ stw r0, 0x84(r1) -/* 03C7F8 80041D98 4802619C */ b lbl_80067F34 -.global lbl_80041D9C -lbl_80041D9C: -/* 03C7FC 80041D9C 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 03C800 80041DA0 7C9A0214 */ add r4, r26, r0 -/* 03C804 80041DA4 80040818 */ lwz r0, 0x818(r4) -/* 03C808 80041DA8 57835EFE */ rlwinm r3, r28, 0xb, 0x1b, 0x1f -/* 03C80C 80041DAC 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 03C810 80041DB0 41820050 */ beq lbl_80041E00 -/* 03C814 80041DB4 281F0000 */ cmplwi r31, 0 -/* 03C818 80041DB8 38000006 */ li r0, 6 -/* 03C81C 80041DBC 41820038 */ beq lbl_80041DF4 -/* 03C820 80041DC0 54641838 */ slwi r4, r3, 3 -/* 03C824 80041DC4 80610084 */ lwz r3, 0x84(r1) -/* 03C828 80041DC8 38840040 */ addi r4, r4, 0x40 -/* 03C82C 80041DCC 7C9E2214 */ add r4, r30, r4 -/* 03C830 80041DD0 7C9E2050 */ subf r4, r30, r4 -/* 03C834 80041DD4 38840004 */ addi r4, r4, 4 -/* 03C838 80041DD8 38A30001 */ addi r5, r3, 1 -/* 03C83C 80041DDC 5484043E */ clrlwi r4, r4, 0x10 -/* 03C840 80041DE0 90A10084 */ stw r5, 0x84(r1) -/* 03C844 80041DE4 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03C848 80041DE8 5463103A */ slwi r3, r3, 2 -/* 03C84C 80041DEC 7C9F192E */ stwx r4, r31, r3 -/* 03C850 80041DF0 48000010 */ b lbl_80041E00 -lbl_80041DF4: -/* 03C854 80041DF4 80610084 */ lwz r3, 0x84(r1) -/* 03C858 80041DF8 38630001 */ addi r3, r3, 1 -/* 03C85C 80041DFC 90610084 */ stw r3, 0x84(r1) -lbl_80041E00: -/* 03C860 80041E00 5784967A */ rlwinm r4, r28, 0x12, 0x19, 0x1d -/* 03C864 80041E04 7C9A2214 */ add r4, r26, r4 -/* 03C868 80041E08 80A40818 */ lwz r5, 0x818(r4) -/* 03C86C 80041E0C 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 03C870 80041E10 54A405EF */ rlwinm. r4, r5, 0, 0x17, 0x17 -/* 03C874 80041E14 41820050 */ beq lbl_80041E64 -/* 03C878 80041E18 281F0000 */ cmplwi r31, 0 -/* 03C87C 80041E1C 38A00007 */ li r5, 7 -/* 03C880 80041E20 41820038 */ beq lbl_80041E58 -/* 03C884 80041E24 54641838 */ slwi r4, r3, 3 -/* 03C888 80041E28 80610084 */ lwz r3, 0x84(r1) -/* 03C88C 80041E2C 38840040 */ addi r4, r4, 0x40 -/* 03C890 80041E30 7C9E2214 */ add r4, r30, r4 -/* 03C894 80041E34 7C9E2050 */ subf r4, r30, r4 -/* 03C898 80041E38 38840004 */ addi r4, r4, 4 -/* 03C89C 80041E3C 38C30001 */ addi r6, r3, 1 -/* 03C8A0 80041E40 5484043E */ clrlwi r4, r4, 0x10 -/* 03C8A4 80041E44 90C10084 */ stw r6, 0x84(r1) -/* 03C8A8 80041E48 3C8480E3 */ addis r4, r4, 0x80e3 -/* 03C8AC 80041E4C 5463103A */ slwi r3, r3, 2 -/* 03C8B0 80041E50 7C9F192E */ stwx r4, r31, r3 -/* 03C8B4 80041E54 48000010 */ b lbl_80041E64 -lbl_80041E58: -/* 03C8B8 80041E58 80610084 */ lwz r3, 0x84(r1) -/* 03C8BC 80041E5C 38630001 */ addi r3, r3, 1 -/* 03C8C0 80041E60 90610084 */ stw r3, 0x84(r1) -lbl_80041E64: -/* 03C8C4 80041E64 281F0000 */ cmplwi r31, 0 -/* 03C8C8 80041E68 41820030 */ beq lbl_80041E98 -/* 03C8CC 80041E6C 80810084 */ lwz r4, 0x84(r1) -/* 03C8D0 80041E70 5403801E */ slwi r3, r0, 0x10 -/* 03C8D4 80041E74 64667CA0 */ oris r6, r3, 0x7ca0 -/* 03C8D8 80041E78 38640001 */ addi r3, r4, 1 -/* 03C8DC 80041E7C 90610084 */ stw r3, 0x84(r1) -/* 03C8E0 80041E80 54A35828 */ slwi r3, r5, 0xb -/* 03C8E4 80041E84 60C601D6 */ ori r6, r6, 0x1d6 -/* 03C8E8 80041E88 7C633378 */ or r3, r3, r6 -/* 03C8EC 80041E8C 5484103A */ slwi r4, r4, 2 -/* 03C8F0 80041E90 7C7F212E */ stwx r3, r31, r4 -/* 03C8F4 80041E94 48000010 */ b lbl_80041EA4 -lbl_80041E98: -/* 03C8F8 80041E98 80610084 */ lwz r3, 0x84(r1) -/* 03C8FC 80041E9C 38630001 */ addi r3, r3, 1 -/* 03C900 80041EA0 90610084 */ stw r3, 0x84(r1) -lbl_80041EA4: -/* 03C904 80041EA4 281F0000 */ cmplwi r31, 0 -/* 03C908 80041EA8 41820030 */ beq lbl_80041ED8 -/* 03C90C 80041EAC 80810084 */ lwz r4, 0x84(r1) -/* 03C910 80041EB0 387E0010 */ addi r3, r30, 0x10 -/* 03C914 80041EB4 7C7E1850 */ subf r3, r30, r3 -/* 03C918 80041EB8 38C30004 */ addi r6, r3, 4 -/* 03C91C 80041EBC 38640001 */ addi r3, r4, 1 -/* 03C920 80041EC0 54C6043E */ clrlwi r6, r6, 0x10 -/* 03C924 80041EC4 90610084 */ stw r3, 0x84(r1) -/* 03C928 80041EC8 64C390A3 */ oris r3, r6, 0x90a3 -/* 03C92C 80041ECC 5484103A */ slwi r4, r4, 2 -/* 03C930 80041ED0 7C7F212E */ stwx r3, r31, r4 -/* 03C934 80041ED4 48000010 */ b lbl_80041EE4 -lbl_80041ED8: -/* 03C938 80041ED8 80610084 */ lwz r3, 0x84(r1) -/* 03C93C 80041EDC 38630001 */ addi r3, r3, 1 -/* 03C940 80041EE0 90610084 */ stw r3, 0x84(r1) -lbl_80041EE4: -/* 03C944 80041EE4 281F0000 */ cmplwi r31, 0 -/* 03C948 80041EE8 41820030 */ beq lbl_80041F18 -/* 03C94C 80041EEC 80610084 */ lwz r3, 0x84(r1) -/* 03C950 80041EF0 5400801E */ slwi r0, r0, 0x10 -/* 03C954 80041EF4 64047CA0 */ oris r4, r0, 0x7ca0 -/* 03C958 80041EF8 38030001 */ addi r0, r3, 1 -/* 03C95C 80041EFC 90010084 */ stw r0, 0x84(r1) -/* 03C960 80041F00 54A05828 */ slwi r0, r5, 0xb -/* 03C964 80041F04 60840096 */ ori r4, r4, 0x96 -/* 03C968 80041F08 7C002378 */ or r0, r0, r4 -/* 03C96C 80041F0C 5463103A */ slwi r3, r3, 2 -/* 03C970 80041F10 7C1F192E */ stwx r0, r31, r3 -/* 03C974 80041F14 48000010 */ b lbl_80041F24 -lbl_80041F18: -/* 03C978 80041F18 80610084 */ lwz r3, 0x84(r1) -/* 03C97C 80041F1C 38030001 */ addi r0, r3, 1 -/* 03C980 80041F20 90010084 */ stw r0, 0x84(r1) -lbl_80041F24: -/* 03C984 80041F24 281F0000 */ cmplwi r31, 0 -/* 03C988 80041F28 41820030 */ beq lbl_80041F58 -/* 03C98C 80041F2C 80610084 */ lwz r3, 0x84(r1) -/* 03C990 80041F30 381E0018 */ addi r0, r30, 0x18 -/* 03C994 80041F34 7C9E0050 */ subf r4, r30, r0 -/* 03C998 80041F38 38840004 */ addi r4, r4, 4 -/* 03C99C 80041F3C 38030001 */ addi r0, r3, 1 -/* 03C9A0 80041F40 5484043E */ clrlwi r4, r4, 0x10 -/* 03C9A4 80041F44 90010084 */ stw r0, 0x84(r1) -/* 03C9A8 80041F48 648090A3 */ oris r0, r4, 0x90a3 -/* 03C9AC 80041F4C 5463103A */ slwi r3, r3, 2 -/* 03C9B0 80041F50 7C1F192E */ stwx r0, r31, r3 -/* 03C9B4 80041F54 48025FE0 */ b lbl_80067F34 -lbl_80041F58: -/* 03C9B8 80041F58 80610084 */ lwz r3, 0x84(r1) -/* 03C9BC 80041F5C 38030001 */ addi r0, r3, 1 -/* 03C9C0 80041F60 90010084 */ stw r0, 0x84(r1) -/* 03C9C4 80041F64 48025FD0 */ b lbl_80067F34 -.global lbl_80041F68 -lbl_80041F68: -/* 03C9C8 80041F68 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 03C9CC 80041F6C 7C9A0214 */ add r4, r26, r0 -/* 03C9D0 80041F70 80040818 */ lwz r0, 0x818(r4) -/* 03C9D4 80041F74 57835EFE */ rlwinm r3, r28, 0xb, 0x1b, 0x1f -/* 03C9D8 80041F78 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 03C9DC 80041F7C 41820050 */ beq lbl_80041FCC -/* 03C9E0 80041F80 281F0000 */ cmplwi r31, 0 -/* 03C9E4 80041F84 38000006 */ li r0, 6 -/* 03C9E8 80041F88 41820038 */ beq lbl_80041FC0 -/* 03C9EC 80041F8C 54641838 */ slwi r4, r3, 3 -/* 03C9F0 80041F90 80610084 */ lwz r3, 0x84(r1) -/* 03C9F4 80041F94 38840040 */ addi r4, r4, 0x40 -/* 03C9F8 80041F98 7C9E2214 */ add r4, r30, r4 -/* 03C9FC 80041F9C 7C9E2050 */ subf r4, r30, r4 -/* 03CA00 80041FA0 38840004 */ addi r4, r4, 4 -/* 03CA04 80041FA4 38A30001 */ addi r5, r3, 1 -/* 03CA08 80041FA8 5484043E */ clrlwi r4, r4, 0x10 -/* 03CA0C 80041FAC 90A10084 */ stw r5, 0x84(r1) -/* 03CA10 80041FB0 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03CA14 80041FB4 5463103A */ slwi r3, r3, 2 -/* 03CA18 80041FB8 7C9F192E */ stwx r4, r31, r3 -/* 03CA1C 80041FBC 48000010 */ b lbl_80041FCC -lbl_80041FC0: -/* 03CA20 80041FC0 80610084 */ lwz r3, 0x84(r1) -/* 03CA24 80041FC4 38630001 */ addi r3, r3, 1 -/* 03CA28 80041FC8 90610084 */ stw r3, 0x84(r1) -lbl_80041FCC: -/* 03CA2C 80041FCC 5784967A */ rlwinm r4, r28, 0x12, 0x19, 0x1d -/* 03CA30 80041FD0 7C9A2214 */ add r4, r26, r4 -/* 03CA34 80041FD4 80A40818 */ lwz r5, 0x818(r4) -/* 03CA38 80041FD8 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 03CA3C 80041FDC 54A405EF */ rlwinm. r4, r5, 0, 0x17, 0x17 -/* 03CA40 80041FE0 41820050 */ beq lbl_80042030 -/* 03CA44 80041FE4 281F0000 */ cmplwi r31, 0 -/* 03CA48 80041FE8 38A00007 */ li r5, 7 -/* 03CA4C 80041FEC 41820038 */ beq lbl_80042024 -/* 03CA50 80041FF0 54641838 */ slwi r4, r3, 3 -/* 03CA54 80041FF4 80610084 */ lwz r3, 0x84(r1) -/* 03CA58 80041FF8 38840040 */ addi r4, r4, 0x40 -/* 03CA5C 80041FFC 7C9E2214 */ add r4, r30, r4 -/* 03CA60 80042000 7C9E2050 */ subf r4, r30, r4 -/* 03CA64 80042004 38840004 */ addi r4, r4, 4 -/* 03CA68 80042008 38C30001 */ addi r6, r3, 1 -/* 03CA6C 8004200C 5484043E */ clrlwi r4, r4, 0x10 -/* 03CA70 80042010 90C10084 */ stw r6, 0x84(r1) -/* 03CA74 80042014 3C8480E3 */ addis r4, r4, 0x80e3 -/* 03CA78 80042018 5463103A */ slwi r3, r3, 2 -/* 03CA7C 8004201C 7C9F192E */ stwx r4, r31, r3 -/* 03CA80 80042020 48000010 */ b lbl_80042030 -lbl_80042024: -/* 03CA84 80042024 80610084 */ lwz r3, 0x84(r1) -/* 03CA88 80042028 38630001 */ addi r3, r3, 1 -/* 03CA8C 8004202C 90610084 */ stw r3, 0x84(r1) -lbl_80042030: -/* 03CA90 80042030 281F0000 */ cmplwi r31, 0 -/* 03CA94 80042034 41820030 */ beq lbl_80042064 -/* 03CA98 80042038 80810084 */ lwz r4, 0x84(r1) -/* 03CA9C 8004203C 5403801E */ slwi r3, r0, 0x10 -/* 03CAA0 80042040 64667CA0 */ oris r6, r3, 0x7ca0 -/* 03CAA4 80042044 38640001 */ addi r3, r4, 1 -/* 03CAA8 80042048 90610084 */ stw r3, 0x84(r1) -/* 03CAAC 8004204C 54A35828 */ slwi r3, r5, 0xb -/* 03CAB0 80042050 60C601D6 */ ori r6, r6, 0x1d6 -/* 03CAB4 80042054 7C633378 */ or r3, r3, r6 -/* 03CAB8 80042058 5484103A */ slwi r4, r4, 2 -/* 03CABC 8004205C 7C7F212E */ stwx r3, r31, r4 -/* 03CAC0 80042060 48000010 */ b lbl_80042070 -lbl_80042064: -/* 03CAC4 80042064 80610084 */ lwz r3, 0x84(r1) -/* 03CAC8 80042068 38630001 */ addi r3, r3, 1 -/* 03CACC 8004206C 90610084 */ stw r3, 0x84(r1) -lbl_80042070: -/* 03CAD0 80042070 281F0000 */ cmplwi r31, 0 -/* 03CAD4 80042074 41820030 */ beq lbl_800420A4 -/* 03CAD8 80042078 80810084 */ lwz r4, 0x84(r1) -/* 03CADC 8004207C 387E0010 */ addi r3, r30, 0x10 -/* 03CAE0 80042080 7C7E1850 */ subf r3, r30, r3 -/* 03CAE4 80042084 38C30004 */ addi r6, r3, 4 -/* 03CAE8 80042088 38640001 */ addi r3, r4, 1 -/* 03CAEC 8004208C 54C6043E */ clrlwi r6, r6, 0x10 -/* 03CAF0 80042090 90610084 */ stw r3, 0x84(r1) -/* 03CAF4 80042094 64C390A3 */ oris r3, r6, 0x90a3 -/* 03CAF8 80042098 5484103A */ slwi r4, r4, 2 -/* 03CAFC 8004209C 7C7F212E */ stwx r3, r31, r4 -/* 03CB00 800420A0 48000010 */ b lbl_800420B0 -lbl_800420A4: -/* 03CB04 800420A4 80610084 */ lwz r3, 0x84(r1) -/* 03CB08 800420A8 38630001 */ addi r3, r3, 1 -/* 03CB0C 800420AC 90610084 */ stw r3, 0x84(r1) -lbl_800420B0: -/* 03CB10 800420B0 281F0000 */ cmplwi r31, 0 -/* 03CB14 800420B4 41820030 */ beq lbl_800420E4 -/* 03CB18 800420B8 80610084 */ lwz r3, 0x84(r1) -/* 03CB1C 800420BC 5400801E */ slwi r0, r0, 0x10 -/* 03CB20 800420C0 64047CA0 */ oris r4, r0, 0x7ca0 -/* 03CB24 800420C4 38030001 */ addi r0, r3, 1 -/* 03CB28 800420C8 90010084 */ stw r0, 0x84(r1) -/* 03CB2C 800420CC 54A05828 */ slwi r0, r5, 0xb -/* 03CB30 800420D0 60840016 */ ori r4, r4, 0x16 -/* 03CB34 800420D4 7C002378 */ or r0, r0, r4 -/* 03CB38 800420D8 5463103A */ slwi r3, r3, 2 -/* 03CB3C 800420DC 7C1F192E */ stwx r0, r31, r3 -/* 03CB40 800420E0 48000010 */ b lbl_800420F0 -lbl_800420E4: -/* 03CB44 800420E4 80610084 */ lwz r3, 0x84(r1) -/* 03CB48 800420E8 38030001 */ addi r0, r3, 1 -/* 03CB4C 800420EC 90010084 */ stw r0, 0x84(r1) -lbl_800420F0: -/* 03CB50 800420F0 281F0000 */ cmplwi r31, 0 -/* 03CB54 800420F4 41820030 */ beq lbl_80042124 -/* 03CB58 800420F8 80610084 */ lwz r3, 0x84(r1) -/* 03CB5C 800420FC 381E0018 */ addi r0, r30, 0x18 -/* 03CB60 80042100 7C9E0050 */ subf r4, r30, r0 -/* 03CB64 80042104 38840004 */ addi r4, r4, 4 -/* 03CB68 80042108 38030001 */ addi r0, r3, 1 -/* 03CB6C 8004210C 5484043E */ clrlwi r4, r4, 0x10 -/* 03CB70 80042110 90010084 */ stw r0, 0x84(r1) -/* 03CB74 80042114 648090A3 */ oris r0, r4, 0x90a3 -/* 03CB78 80042118 5463103A */ slwi r3, r3, 2 -/* 03CB7C 8004211C 7C1F192E */ stwx r0, r31, r3 -/* 03CB80 80042120 48025E14 */ b lbl_80067F34 -lbl_80042124: -/* 03CB84 80042124 80610084 */ lwz r3, 0x84(r1) -/* 03CB88 80042128 38030001 */ addi r0, r3, 1 -/* 03CB8C 8004212C 90010084 */ stw r0, 0x84(r1) -/* 03CB90 80042130 48025E04 */ b lbl_80067F34 -.global lbl_80042134 -lbl_80042134: -/* 03CB94 80042134 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 03CB98 80042138 7C9A0214 */ add r4, r26, r0 -/* 03CB9C 8004213C 80040818 */ lwz r0, 0x818(r4) -/* 03CBA0 80042140 57835EFE */ rlwinm r3, r28, 0xb, 0x1b, 0x1f -/* 03CBA4 80042144 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 03CBA8 80042148 41820050 */ beq lbl_80042198 -/* 03CBAC 8004214C 281F0000 */ cmplwi r31, 0 -/* 03CBB0 80042150 38000006 */ li r0, 6 -/* 03CBB4 80042154 41820038 */ beq lbl_8004218C -/* 03CBB8 80042158 54641838 */ slwi r4, r3, 3 -/* 03CBBC 8004215C 80610084 */ lwz r3, 0x84(r1) -/* 03CBC0 80042160 38840040 */ addi r4, r4, 0x40 -/* 03CBC4 80042164 7C9E2214 */ add r4, r30, r4 -/* 03CBC8 80042168 7C9E2050 */ subf r4, r30, r4 -/* 03CBCC 8004216C 38840004 */ addi r4, r4, 4 -/* 03CBD0 80042170 38A30001 */ addi r5, r3, 1 -/* 03CBD4 80042174 5484043E */ clrlwi r4, r4, 0x10 -/* 03CBD8 80042178 90A10084 */ stw r5, 0x84(r1) -/* 03CBDC 8004217C 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03CBE0 80042180 5463103A */ slwi r3, r3, 2 -/* 03CBE4 80042184 7C9F192E */ stwx r4, r31, r3 -/* 03CBE8 80042188 48000010 */ b lbl_80042198 -lbl_8004218C: -/* 03CBEC 8004218C 80610084 */ lwz r3, 0x84(r1) -/* 03CBF0 80042190 38630001 */ addi r3, r3, 1 -/* 03CBF4 80042194 90610084 */ stw r3, 0x84(r1) -lbl_80042198: -/* 03CBF8 80042198 5784967A */ rlwinm r4, r28, 0x12, 0x19, 0x1d -/* 03CBFC 8004219C 7C9A2214 */ add r4, r26, r4 -/* 03CC00 800421A0 80A40818 */ lwz r5, 0x818(r4) -/* 03CC04 800421A4 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 03CC08 800421A8 54A405EF */ rlwinm. r4, r5, 0, 0x17, 0x17 -/* 03CC0C 800421AC 41820050 */ beq lbl_800421FC -/* 03CC10 800421B0 281F0000 */ cmplwi r31, 0 -/* 03CC14 800421B4 38A00007 */ li r5, 7 -/* 03CC18 800421B8 41820038 */ beq lbl_800421F0 -/* 03CC1C 800421BC 54641838 */ slwi r4, r3, 3 -/* 03CC20 800421C0 80610084 */ lwz r3, 0x84(r1) -/* 03CC24 800421C4 38840040 */ addi r4, r4, 0x40 -/* 03CC28 800421C8 7C9E2214 */ add r4, r30, r4 -/* 03CC2C 800421CC 7C9E2050 */ subf r4, r30, r4 -/* 03CC30 800421D0 38840004 */ addi r4, r4, 4 -/* 03CC34 800421D4 38C30001 */ addi r6, r3, 1 -/* 03CC38 800421D8 5484043E */ clrlwi r4, r4, 0x10 -/* 03CC3C 800421DC 90C10084 */ stw r6, 0x84(r1) -/* 03CC40 800421E0 3C8480E3 */ addis r4, r4, 0x80e3 -/* 03CC44 800421E4 5463103A */ slwi r3, r3, 2 -/* 03CC48 800421E8 7C9F192E */ stwx r4, r31, r3 -/* 03CC4C 800421EC 48000010 */ b lbl_800421FC -lbl_800421F0: -/* 03CC50 800421F0 80610084 */ lwz r3, 0x84(r1) -/* 03CC54 800421F4 38630001 */ addi r3, r3, 1 -/* 03CC58 800421F8 90610084 */ stw r3, 0x84(r1) -lbl_800421FC: -/* 03CC5C 800421FC 281F0000 */ cmplwi r31, 0 -/* 03CC60 80042200 41820030 */ beq lbl_80042230 -/* 03CC64 80042204 80810084 */ lwz r4, 0x84(r1) -/* 03CC68 80042208 5403801E */ slwi r3, r0, 0x10 -/* 03CC6C 8004220C 64667CA0 */ oris r6, r3, 0x7ca0 -/* 03CC70 80042210 38640001 */ addi r3, r4, 1 -/* 03CC74 80042214 90610084 */ stw r3, 0x84(r1) -/* 03CC78 80042218 54A35828 */ slwi r3, r5, 0xb -/* 03CC7C 8004221C 60C603D6 */ ori r6, r6, 0x3d6 -/* 03CC80 80042220 7C633378 */ or r3, r3, r6 -/* 03CC84 80042224 5484103A */ slwi r4, r4, 2 -/* 03CC88 80042228 7C7F212E */ stwx r3, r31, r4 -/* 03CC8C 8004222C 48000010 */ b lbl_8004223C -lbl_80042230: -/* 03CC90 80042230 80610084 */ lwz r3, 0x84(r1) -/* 03CC94 80042234 38630001 */ addi r3, r3, 1 -/* 03CC98 80042238 90610084 */ stw r3, 0x84(r1) -lbl_8004223C: -/* 03CC9C 8004223C 281F0000 */ cmplwi r31, 0 -/* 03CCA0 80042240 41820030 */ beq lbl_80042270 -/* 03CCA4 80042244 80810084 */ lwz r4, 0x84(r1) -/* 03CCA8 80042248 387E0010 */ addi r3, r30, 0x10 -/* 03CCAC 8004224C 7C7E1850 */ subf r3, r30, r3 -/* 03CCB0 80042250 38C30004 */ addi r6, r3, 4 -/* 03CCB4 80042254 38640001 */ addi r3, r4, 1 -/* 03CCB8 80042258 54C6043E */ clrlwi r6, r6, 0x10 -/* 03CCBC 8004225C 90610084 */ stw r3, 0x84(r1) -/* 03CCC0 80042260 64C390A3 */ oris r3, r6, 0x90a3 -/* 03CCC4 80042264 5484103A */ slwi r4, r4, 2 -/* 03CCC8 80042268 7C7F212E */ stwx r3, r31, r4 -/* 03CCCC 8004226C 48000010 */ b lbl_8004227C -lbl_80042270: -/* 03CCD0 80042270 80610084 */ lwz r3, 0x84(r1) -/* 03CCD4 80042274 38630001 */ addi r3, r3, 1 -/* 03CCD8 80042278 90610084 */ stw r3, 0x84(r1) -lbl_8004227C: -/* 03CCDC 8004227C 281F0000 */ cmplwi r31, 0 -/* 03CCE0 80042280 41820028 */ beq lbl_800422A8 -/* 03CCE4 80042284 80610084 */ lwz r3, 0x84(r1) -/* 03CCE8 80042288 54A45828 */ slwi r4, r5, 0xb -/* 03CCEC 8004228C 64857CA5 */ oris r5, r4, 0x7ca5 -/* 03CCF0 80042290 38830001 */ addi r4, r3, 1 -/* 03CCF4 80042294 90810084 */ stw r4, 0x84(r1) -/* 03CCF8 80042298 60A501D6 */ ori r5, r5, 0x1d6 -/* 03CCFC 8004229C 5463103A */ slwi r3, r3, 2 -/* 03CD00 800422A0 7CBF192E */ stwx r5, r31, r3 -/* 03CD04 800422A4 48000010 */ b lbl_800422B4 -lbl_800422A8: -/* 03CD08 800422A8 80610084 */ lwz r3, 0x84(r1) -/* 03CD0C 800422AC 38630001 */ addi r3, r3, 1 -/* 03CD10 800422B0 90610084 */ stw r3, 0x84(r1) -lbl_800422B4: -/* 03CD14 800422B4 281F0000 */ cmplwi r31, 0 -/* 03CD18 800422B8 41820028 */ beq lbl_800422E0 -/* 03CD1C 800422BC 80610084 */ lwz r3, 0x84(r1) -/* 03CD20 800422C0 54005828 */ slwi r0, r0, 0xb -/* 03CD24 800422C4 64047CA5 */ oris r4, r0, 0x7ca5 -/* 03CD28 800422C8 38030001 */ addi r0, r3, 1 -/* 03CD2C 800422CC 90010084 */ stw r0, 0x84(r1) -/* 03CD30 800422D0 60840050 */ ori r4, r4, 0x50 -/* 03CD34 800422D4 5460103A */ slwi r0, r3, 2 -/* 03CD38 800422D8 7C9F012E */ stwx r4, r31, r0 -/* 03CD3C 800422DC 48000010 */ b lbl_800422EC -lbl_800422E0: -/* 03CD40 800422E0 80610084 */ lwz r3, 0x84(r1) -/* 03CD44 800422E4 38030001 */ addi r0, r3, 1 -/* 03CD48 800422E8 90010084 */ stw r0, 0x84(r1) -lbl_800422EC: -/* 03CD4C 800422EC 281F0000 */ cmplwi r31, 0 -/* 03CD50 800422F0 41820030 */ beq lbl_80042320 -/* 03CD54 800422F4 80610084 */ lwz r3, 0x84(r1) -/* 03CD58 800422F8 381E0018 */ addi r0, r30, 0x18 -/* 03CD5C 800422FC 7C9E0050 */ subf r4, r30, r0 -/* 03CD60 80042300 38840004 */ addi r4, r4, 4 -/* 03CD64 80042304 38030001 */ addi r0, r3, 1 -/* 03CD68 80042308 5484043E */ clrlwi r4, r4, 0x10 -/* 03CD6C 8004230C 90010084 */ stw r0, 0x84(r1) -/* 03CD70 80042310 648090A3 */ oris r0, r4, 0x90a3 -/* 03CD74 80042314 5463103A */ slwi r3, r3, 2 -/* 03CD78 80042318 7C1F192E */ stwx r0, r31, r3 -/* 03CD7C 8004231C 48025C18 */ b lbl_80067F34 -lbl_80042320: -/* 03CD80 80042320 80610084 */ lwz r3, 0x84(r1) -/* 03CD84 80042324 38030001 */ addi r0, r3, 1 -/* 03CD88 80042328 90010084 */ stw r0, 0x84(r1) -/* 03CD8C 8004232C 48025C08 */ b lbl_80067F34 -.global lbl_80042330 -lbl_80042330: -/* 03CD90 80042330 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 03CD94 80042334 7C9A0214 */ add r4, r26, r0 -/* 03CD98 80042338 80040818 */ lwz r0, 0x818(r4) -/* 03CD9C 8004233C 57835EFE */ rlwinm r3, r28, 0xb, 0x1b, 0x1f -/* 03CDA0 80042340 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 03CDA4 80042344 41820050 */ beq lbl_80042394 -/* 03CDA8 80042348 281F0000 */ cmplwi r31, 0 -/* 03CDAC 8004234C 38000006 */ li r0, 6 -/* 03CDB0 80042350 41820038 */ beq lbl_80042388 -/* 03CDB4 80042354 54641838 */ slwi r4, r3, 3 -/* 03CDB8 80042358 80610084 */ lwz r3, 0x84(r1) -/* 03CDBC 8004235C 38840040 */ addi r4, r4, 0x40 -/* 03CDC0 80042360 7C9E2214 */ add r4, r30, r4 -/* 03CDC4 80042364 7C9E2050 */ subf r4, r30, r4 -/* 03CDC8 80042368 38840004 */ addi r4, r4, 4 -/* 03CDCC 8004236C 38A30001 */ addi r5, r3, 1 -/* 03CDD0 80042370 5484043E */ clrlwi r4, r4, 0x10 -/* 03CDD4 80042374 90A10084 */ stw r5, 0x84(r1) -/* 03CDD8 80042378 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03CDDC 8004237C 5463103A */ slwi r3, r3, 2 -/* 03CDE0 80042380 7C9F192E */ stwx r4, r31, r3 -/* 03CDE4 80042384 48000010 */ b lbl_80042394 -lbl_80042388: -/* 03CDE8 80042388 80610084 */ lwz r3, 0x84(r1) -/* 03CDEC 8004238C 38630001 */ addi r3, r3, 1 -/* 03CDF0 80042390 90610084 */ stw r3, 0x84(r1) -lbl_80042394: -/* 03CDF4 80042394 5784967A */ rlwinm r4, r28, 0x12, 0x19, 0x1d -/* 03CDF8 80042398 7C9A2214 */ add r4, r26, r4 -/* 03CDFC 8004239C 80A40818 */ lwz r5, 0x818(r4) -/* 03CE00 800423A0 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 03CE04 800423A4 54A405EF */ rlwinm. r4, r5, 0, 0x17, 0x17 -/* 03CE08 800423A8 41820050 */ beq lbl_800423F8 -/* 03CE0C 800423AC 281F0000 */ cmplwi r31, 0 -/* 03CE10 800423B0 38A00007 */ li r5, 7 -/* 03CE14 800423B4 41820038 */ beq lbl_800423EC -/* 03CE18 800423B8 54641838 */ slwi r4, r3, 3 -/* 03CE1C 800423BC 80610084 */ lwz r3, 0x84(r1) -/* 03CE20 800423C0 38840040 */ addi r4, r4, 0x40 -/* 03CE24 800423C4 7C9E2214 */ add r4, r30, r4 -/* 03CE28 800423C8 7C9E2050 */ subf r4, r30, r4 -/* 03CE2C 800423CC 38840004 */ addi r4, r4, 4 -/* 03CE30 800423D0 38C30001 */ addi r6, r3, 1 -/* 03CE34 800423D4 5484043E */ clrlwi r4, r4, 0x10 -/* 03CE38 800423D8 90C10084 */ stw r6, 0x84(r1) -/* 03CE3C 800423DC 3C8480E3 */ addis r4, r4, 0x80e3 -/* 03CE40 800423E0 5463103A */ slwi r3, r3, 2 -/* 03CE44 800423E4 7C9F192E */ stwx r4, r31, r3 -/* 03CE48 800423E8 48000010 */ b lbl_800423F8 -lbl_800423EC: -/* 03CE4C 800423EC 80610084 */ lwz r3, 0x84(r1) -/* 03CE50 800423F0 38630001 */ addi r3, r3, 1 -/* 03CE54 800423F4 90610084 */ stw r3, 0x84(r1) -lbl_800423F8: -/* 03CE58 800423F8 281F0000 */ cmplwi r31, 0 -/* 03CE5C 800423FC 41820030 */ beq lbl_8004242C -/* 03CE60 80042400 80810084 */ lwz r4, 0x84(r1) -/* 03CE64 80042404 5403801E */ slwi r3, r0, 0x10 -/* 03CE68 80042408 64667CA0 */ oris r6, r3, 0x7ca0 -/* 03CE6C 8004240C 38640001 */ addi r3, r4, 1 -/* 03CE70 80042410 90610084 */ stw r3, 0x84(r1) -/* 03CE74 80042414 54A35828 */ slwi r3, r5, 0xb -/* 03CE78 80042418 60C60396 */ ori r6, r6, 0x396 -/* 03CE7C 8004241C 7C633378 */ or r3, r3, r6 -/* 03CE80 80042420 5484103A */ slwi r4, r4, 2 -/* 03CE84 80042424 7C7F212E */ stwx r3, r31, r4 -/* 03CE88 80042428 48000010 */ b lbl_80042438 -lbl_8004242C: -/* 03CE8C 8004242C 80610084 */ lwz r3, 0x84(r1) -/* 03CE90 80042430 38630001 */ addi r3, r3, 1 -/* 03CE94 80042434 90610084 */ stw r3, 0x84(r1) -lbl_80042438: -/* 03CE98 80042438 281F0000 */ cmplwi r31, 0 -/* 03CE9C 8004243C 41820030 */ beq lbl_8004246C -/* 03CEA0 80042440 80810084 */ lwz r4, 0x84(r1) -/* 03CEA4 80042444 387E0010 */ addi r3, r30, 0x10 -/* 03CEA8 80042448 7C7E1850 */ subf r3, r30, r3 -/* 03CEAC 8004244C 38C30004 */ addi r6, r3, 4 -/* 03CEB0 80042450 38640001 */ addi r3, r4, 1 -/* 03CEB4 80042454 54C6043E */ clrlwi r6, r6, 0x10 -/* 03CEB8 80042458 90610084 */ stw r3, 0x84(r1) -/* 03CEBC 8004245C 64C390A3 */ oris r3, r6, 0x90a3 -/* 03CEC0 80042460 5484103A */ slwi r4, r4, 2 -/* 03CEC4 80042464 7C7F212E */ stwx r3, r31, r4 -/* 03CEC8 80042468 48000010 */ b lbl_80042478 -lbl_8004246C: -/* 03CECC 8004246C 80610084 */ lwz r3, 0x84(r1) -/* 03CED0 80042470 38630001 */ addi r3, r3, 1 -/* 03CED4 80042474 90610084 */ stw r3, 0x84(r1) -lbl_80042478: -/* 03CED8 80042478 281F0000 */ cmplwi r31, 0 -/* 03CEDC 8004247C 41820028 */ beq lbl_800424A4 -/* 03CEE0 80042480 80610084 */ lwz r3, 0x84(r1) -/* 03CEE4 80042484 54A45828 */ slwi r4, r5, 0xb -/* 03CEE8 80042488 64857CA5 */ oris r5, r4, 0x7ca5 -/* 03CEEC 8004248C 38830001 */ addi r4, r3, 1 -/* 03CEF0 80042490 90810084 */ stw r4, 0x84(r1) -/* 03CEF4 80042494 60A501D6 */ ori r5, r5, 0x1d6 -/* 03CEF8 80042498 5463103A */ slwi r3, r3, 2 -/* 03CEFC 8004249C 7CBF192E */ stwx r5, r31, r3 -/* 03CF00 800424A0 48000010 */ b lbl_800424B0 -lbl_800424A4: -/* 03CF04 800424A4 80610084 */ lwz r3, 0x84(r1) -/* 03CF08 800424A8 38630001 */ addi r3, r3, 1 -/* 03CF0C 800424AC 90610084 */ stw r3, 0x84(r1) -lbl_800424B0: -/* 03CF10 800424B0 281F0000 */ cmplwi r31, 0 -/* 03CF14 800424B4 41820028 */ beq lbl_800424DC -/* 03CF18 800424B8 80610084 */ lwz r3, 0x84(r1) -/* 03CF1C 800424BC 54005828 */ slwi r0, r0, 0xb -/* 03CF20 800424C0 64047CA5 */ oris r4, r0, 0x7ca5 -/* 03CF24 800424C4 38030001 */ addi r0, r3, 1 -/* 03CF28 800424C8 90010084 */ stw r0, 0x84(r1) -/* 03CF2C 800424CC 60840050 */ ori r4, r4, 0x50 -/* 03CF30 800424D0 5460103A */ slwi r0, r3, 2 -/* 03CF34 800424D4 7C9F012E */ stwx r4, r31, r0 -/* 03CF38 800424D8 48000010 */ b lbl_800424E8 -lbl_800424DC: -/* 03CF3C 800424DC 80610084 */ lwz r3, 0x84(r1) -/* 03CF40 800424E0 38030001 */ addi r0, r3, 1 -/* 03CF44 800424E4 90010084 */ stw r0, 0x84(r1) -lbl_800424E8: -/* 03CF48 800424E8 281F0000 */ cmplwi r31, 0 -/* 03CF4C 800424EC 41820030 */ beq lbl_8004251C -/* 03CF50 800424F0 80610084 */ lwz r3, 0x84(r1) -/* 03CF54 800424F4 381E0018 */ addi r0, r30, 0x18 -/* 03CF58 800424F8 7C9E0050 */ subf r4, r30, r0 -/* 03CF5C 800424FC 38840004 */ addi r4, r4, 4 -/* 03CF60 80042500 38030001 */ addi r0, r3, 1 -/* 03CF64 80042504 5484043E */ clrlwi r4, r4, 0x10 -/* 03CF68 80042508 90010084 */ stw r0, 0x84(r1) -/* 03CF6C 8004250C 648090A3 */ oris r0, r4, 0x90a3 -/* 03CF70 80042510 5463103A */ slwi r3, r3, 2 -/* 03CF74 80042514 7C1F192E */ stwx r0, r31, r3 -/* 03CF78 80042518 48025A1C */ b lbl_80067F34 -lbl_8004251C: -/* 03CF7C 8004251C 80610084 */ lwz r3, 0x84(r1) -/* 03CF80 80042520 38030001 */ addi r0, r3, 1 -/* 03CF84 80042524 90010084 */ stw r0, 0x84(r1) -/* 03CF88 80042528 48025A0C */ b lbl_80067F34 -.global lbl_8004252C -lbl_8004252C: -/* 03CF8C 8004252C 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 03CF90 80042530 7C7A1A14 */ add r3, r26, r3 -/* 03CF94 80042534 80A30818 */ lwz r5, 0x818(r3) -/* 03CF98 80042538 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 03CF9C 8004253C 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 03CFA0 80042540 40820050 */ bne lbl_80042590 -/* 03CFA4 80042544 281F0000 */ cmplwi r31, 0 -/* 03CFA8 80042548 4182003C */ beq lbl_80042584 -/* 03CFAC 8004254C 54041838 */ slwi r4, r0, 3 -/* 03CFB0 80042550 80610084 */ lwz r3, 0x84(r1) -/* 03CFB4 80042554 38840040 */ addi r4, r4, 0x40 -/* 03CFB8 80042558 54A5A814 */ slwi r5, r5, 0x15 -/* 03CFBC 8004255C 7C9E2214 */ add r4, r30, r4 -/* 03CFC0 80042560 38C30001 */ addi r6, r3, 1 -/* 03CFC4 80042564 64A59003 */ oris r5, r5, 0x9003 -/* 03CFC8 80042568 90C10084 */ stw r6, 0x84(r1) -/* 03CFCC 8004256C 7C9E2050 */ subf r4, r30, r4 -/* 03CFD0 80042570 7C842A14 */ add r4, r4, r5 -/* 03CFD4 80042574 38840004 */ addi r4, r4, 4 -/* 03CFD8 80042578 5463103A */ slwi r3, r3, 2 -/* 03CFDC 8004257C 7C9F192E */ stwx r4, r31, r3 -/* 03CFE0 80042580 48000010 */ b lbl_80042590 -lbl_80042584: -/* 03CFE4 80042584 80610084 */ lwz r3, 0x84(r1) -/* 03CFE8 80042588 38630001 */ addi r3, r3, 1 -/* 03CFEC 8004258C 90610084 */ stw r3, 0x84(r1) -lbl_80042590: -/* 03CFF0 80042590 57836E7A */ rlwinm r3, r28, 0xd, 0x19, 0x1d -/* 03CFF4 80042594 7C7A1A14 */ add r3, r26, r3 -/* 03CFF8 80042598 80E30818 */ lwz r7, 0x818(r3) -/* 03CFFC 8004259C 57845EFE */ rlwinm r4, r28, 0xb, 0x1b, 0x1f -/* 03D000 800425A0 54E305EF */ rlwinm. r3, r7, 0, 0x17, 0x17 -/* 03D004 800425A4 40820050 */ bne lbl_800425F4 -/* 03D008 800425A8 281F0000 */ cmplwi r31, 0 -/* 03D00C 800425AC 4182003C */ beq lbl_800425E8 -/* 03D010 800425B0 54831838 */ slwi r3, r4, 3 -/* 03D014 800425B4 80C10084 */ lwz r6, 0x84(r1) -/* 03D018 800425B8 38A30040 */ addi r5, r3, 0x40 -/* 03D01C 800425BC 54E3A814 */ slwi r3, r7, 0x15 -/* 03D020 800425C0 7CFE2A14 */ add r7, r30, r5 -/* 03D024 800425C4 38A60001 */ addi r5, r6, 1 -/* 03D028 800425C8 64639003 */ oris r3, r3, 0x9003 -/* 03D02C 800425CC 90A10084 */ stw r5, 0x84(r1) -/* 03D030 800425D0 7CBE3850 */ subf r5, r30, r7 -/* 03D034 800425D4 7C651A14 */ add r3, r5, r3 -/* 03D038 800425D8 38630004 */ addi r3, r3, 4 -/* 03D03C 800425DC 54C5103A */ slwi r5, r6, 2 -/* 03D040 800425E0 7C7F292E */ stwx r3, r31, r5 -/* 03D044 800425E4 48000010 */ b lbl_800425F4 -lbl_800425E8: -/* 03D048 800425E8 80610084 */ lwz r3, 0x84(r1) -/* 03D04C 800425EC 38630001 */ addi r3, r3, 1 -/* 03D050 800425F0 90610084 */ stw r3, 0x84(r1) -lbl_800425F4: -/* 03D054 800425F4 281F0000 */ cmplwi r31, 0 -/* 03D058 800425F8 41820024 */ beq lbl_8004261C -/* 03D05C 800425FC 80A10084 */ lwz r5, 0x84(r1) -/* 03D060 80042600 3C609422 */ lis r3, 0x9422 -/* 03D064 80042604 38C3FFC0 */ addi r6, r3, -64 -/* 03D068 80042608 38650001 */ addi r3, r5, 1 -/* 03D06C 8004260C 90610084 */ stw r3, 0x84(r1) -/* 03D070 80042610 54A3103A */ slwi r3, r5, 2 -/* 03D074 80042614 7CDF192E */ stwx r6, r31, r3 -/* 03D078 80042618 48000010 */ b lbl_80042628 -lbl_8004261C: -/* 03D07C 8004261C 80610084 */ lwz r3, 0x84(r1) -/* 03D080 80042620 38630001 */ addi r3, r3, 1 -/* 03D084 80042624 90610084 */ stw r3, 0x84(r1) -lbl_80042628: -/* 03D088 80042628 281F0000 */ cmplwi r31, 0 -/* 03D08C 8004262C 41820024 */ beq lbl_80042650 -/* 03D090 80042630 80A10084 */ lwz r5, 0x84(r1) -/* 03D094 80042634 3C609101 */ lis r3, 0x9101 -/* 03D098 80042638 38C30008 */ addi r6, r3, 8 -/* 03D09C 8004263C 38650001 */ addi r3, r5, 1 -/* 03D0A0 80042640 90610084 */ stw r3, 0x84(r1) -/* 03D0A4 80042644 54A3103A */ slwi r3, r5, 2 -/* 03D0A8 80042648 7CDF192E */ stwx r6, r31, r3 -/* 03D0AC 8004264C 48000010 */ b lbl_8004265C -lbl_80042650: -/* 03D0B0 80042650 80610084 */ lwz r3, 0x84(r1) -/* 03D0B4 80042654 38630001 */ addi r3, r3, 1 -/* 03D0B8 80042658 90610084 */ stw r3, 0x84(r1) -lbl_8004265C: -/* 03D0BC 8004265C 281F0000 */ cmplwi r31, 0 -/* 03D0C0 80042660 41820024 */ beq lbl_80042684 -/* 03D0C4 80042664 80A10084 */ lwz r5, 0x84(r1) -/* 03D0C8 80042668 3C609121 */ lis r3, 0x9121 -/* 03D0CC 8004266C 38C30010 */ addi r6, r3, 0x10 -/* 03D0D0 80042670 38650001 */ addi r3, r5, 1 -/* 03D0D4 80042674 90610084 */ stw r3, 0x84(r1) -/* 03D0D8 80042678 54A3103A */ slwi r3, r5, 2 -/* 03D0DC 8004267C 7CDF192E */ stwx r6, r31, r3 -/* 03D0E0 80042680 48000010 */ b lbl_80042690 -lbl_80042684: -/* 03D0E4 80042684 80610084 */ lwz r3, 0x84(r1) -/* 03D0E8 80042688 38630001 */ addi r3, r3, 1 -/* 03D0EC 8004268C 90610084 */ stw r3, 0x84(r1) -lbl_80042690: -/* 03D0F0 80042690 281F0000 */ cmplwi r31, 0 -/* 03D0F4 80042694 41820024 */ beq lbl_800426B8 -/* 03D0F8 80042698 80A10084 */ lwz r5, 0x84(r1) -/* 03D0FC 8004269C 3C609141 */ lis r3, 0x9141 -/* 03D100 800426A0 38C30018 */ addi r6, r3, 0x18 -/* 03D104 800426A4 38650001 */ addi r3, r5, 1 -/* 03D108 800426A8 90610084 */ stw r3, 0x84(r1) -/* 03D10C 800426AC 54A3103A */ slwi r3, r5, 2 -/* 03D110 800426B0 7CDF192E */ stwx r6, r31, r3 -/* 03D114 800426B4 48000010 */ b lbl_800426C4 -lbl_800426B8: -/* 03D118 800426B8 80610084 */ lwz r3, 0x84(r1) -/* 03D11C 800426BC 38630001 */ addi r3, r3, 1 -/* 03D120 800426C0 90610084 */ stw r3, 0x84(r1) -lbl_800426C4: -/* 03D124 800426C4 281F0000 */ cmplwi r31, 0 -/* 03D128 800426C8 41820024 */ beq lbl_800426EC -/* 03D12C 800426CC 80A10084 */ lwz r5, 0x84(r1) -/* 03D130 800426D0 3C609161 */ lis r3, 0x9161 -/* 03D134 800426D4 38C30020 */ addi r6, r3, 0x20 -/* 03D138 800426D8 38650001 */ addi r3, r5, 1 -/* 03D13C 800426DC 90610084 */ stw r3, 0x84(r1) -/* 03D140 800426E0 54A3103A */ slwi r3, r5, 2 -/* 03D144 800426E4 7CDF192E */ stwx r6, r31, r3 -/* 03D148 800426E8 48000010 */ b lbl_800426F8 -lbl_800426EC: -/* 03D14C 800426EC 80610084 */ lwz r3, 0x84(r1) -/* 03D150 800426F0 38630001 */ addi r3, r3, 1 -/* 03D154 800426F4 90610084 */ stw r3, 0x84(r1) -lbl_800426F8: -/* 03D158 800426F8 281F0000 */ cmplwi r31, 0 -/* 03D15C 800426FC 41820024 */ beq lbl_80042720 -/* 03D160 80042700 80A10084 */ lwz r5, 0x84(r1) -/* 03D164 80042704 3C609181 */ lis r3, 0x9181 -/* 03D168 80042708 38C30028 */ addi r6, r3, 0x28 -/* 03D16C 8004270C 38650001 */ addi r3, r5, 1 -/* 03D170 80042710 90610084 */ stw r3, 0x84(r1) -/* 03D174 80042714 54A3103A */ slwi r3, r5, 2 -/* 03D178 80042718 7CDF192E */ stwx r6, r31, r3 -/* 03D17C 8004271C 48000010 */ b lbl_8004272C -lbl_80042720: -/* 03D180 80042720 80610084 */ lwz r3, 0x84(r1) -/* 03D184 80042724 38630001 */ addi r3, r3, 1 -/* 03D188 80042728 90610084 */ stw r3, 0x84(r1) -lbl_8004272C: -/* 03D18C 8004272C 281F0000 */ cmplwi r31, 0 -/* 03D190 80042730 41820024 */ beq lbl_80042754 -/* 03D194 80042734 80A10084 */ lwz r5, 0x84(r1) -/* 03D198 80042738 3C6091C1 */ lis r3, 0x91c1 -/* 03D19C 8004273C 38C30030 */ addi r6, r3, 0x30 -/* 03D1A0 80042740 38650001 */ addi r3, r5, 1 -/* 03D1A4 80042744 90610084 */ stw r3, 0x84(r1) -/* 03D1A8 80042748 54A3103A */ slwi r3, r5, 2 -/* 03D1AC 8004274C 7CDF192E */ stwx r6, r31, r3 -/* 03D1B0 80042750 48000010 */ b lbl_80042760 -lbl_80042754: -/* 03D1B4 80042754 80610084 */ lwz r3, 0x84(r1) -/* 03D1B8 80042758 38630001 */ addi r3, r3, 1 -/* 03D1BC 8004275C 90610084 */ stw r3, 0x84(r1) -lbl_80042760: -/* 03D1C0 80042760 281F0000 */ cmplwi r31, 0 -/* 03D1C4 80042764 41820024 */ beq lbl_80042788 -/* 03D1C8 80042768 80A10084 */ lwz r5, 0x84(r1) -/* 03D1CC 8004276C 3C6091E1 */ lis r3, 0x91e1 -/* 03D1D0 80042770 38C30038 */ addi r6, r3, 0x38 -/* 03D1D4 80042774 38650001 */ addi r3, r5, 1 -/* 03D1D8 80042778 90610084 */ stw r3, 0x84(r1) -/* 03D1DC 8004277C 54A3103A */ slwi r3, r5, 2 -/* 03D1E0 80042780 7CDF192E */ stwx r6, r31, r3 -/* 03D1E4 80042784 48000010 */ b lbl_80042794 -lbl_80042788: -/* 03D1E8 80042788 80610084 */ lwz r3, 0x84(r1) -/* 03D1EC 8004278C 38630001 */ addi r3, r3, 1 -/* 03D1F0 80042790 90610084 */ stw r3, 0x84(r1) -lbl_80042794: -/* 03D1F4 80042794 281F0000 */ cmplwi r31, 0 -/* 03D1F8 80042798 41820030 */ beq lbl_800427C8 -/* 03D1FC 8004279C 80610084 */ lwz r3, 0x84(r1) -/* 03D200 800427A0 54851838 */ slwi r5, r4, 3 -/* 03D204 800427A4 38A50040 */ addi r5, r5, 0x40 -/* 03D208 800427A8 7CBE2A14 */ add r5, r30, r5 -/* 03D20C 800427AC 38C30001 */ addi r6, r3, 1 -/* 03D210 800427B0 7CBE2850 */ subf r5, r30, r5 -/* 03D214 800427B4 90C10084 */ stw r6, 0x84(r1) -/* 03D218 800427B8 3CA580A3 */ addis r5, r5, 0x80a3 -/* 03D21C 800427BC 5463103A */ slwi r3, r3, 2 -/* 03D220 800427C0 7CBF192E */ stwx r5, r31, r3 -/* 03D224 800427C4 48000010 */ b lbl_800427D4 -lbl_800427C8: -/* 03D228 800427C8 80610084 */ lwz r3, 0x84(r1) -/* 03D22C 800427CC 38630001 */ addi r3, r3, 1 -/* 03D230 800427D0 90610084 */ stw r3, 0x84(r1) -lbl_800427D4: -/* 03D234 800427D4 281F0000 */ cmplwi r31, 0 -/* 03D238 800427D8 41820034 */ beq lbl_8004280C -/* 03D23C 800427DC 54831838 */ slwi r3, r4, 3 -/* 03D240 800427E0 80A10084 */ lwz r5, 0x84(r1) -/* 03D244 800427E4 38630040 */ addi r3, r3, 0x40 -/* 03D248 800427E8 7C7E1A14 */ add r3, r30, r3 -/* 03D24C 800427EC 7CDE1850 */ subf r6, r30, r3 -/* 03D250 800427F0 38650001 */ addi r3, r5, 1 -/* 03D254 800427F4 3CC680C3 */ addis r6, r6, 0x80c3 -/* 03D258 800427F8 90610084 */ stw r3, 0x84(r1) -/* 03D25C 800427FC 38660004 */ addi r3, r6, 4 -/* 03D260 80042800 54A5103A */ slwi r5, r5, 2 -/* 03D264 80042804 7C7F292E */ stwx r3, r31, r5 -/* 03D268 80042808 48000010 */ b lbl_80042818 -lbl_8004280C: -/* 03D26C 8004280C 80610084 */ lwz r3, 0x84(r1) -/* 03D270 80042810 38630001 */ addi r3, r3, 1 -/* 03D274 80042814 90610084 */ stw r3, 0x84(r1) -lbl_80042818: -/* 03D278 80042818 281F0000 */ cmplwi r31, 0 -/* 03D27C 8004281C 41820030 */ beq lbl_8004284C -/* 03D280 80042820 80610084 */ lwz r3, 0x84(r1) -/* 03D284 80042824 54051838 */ slwi r5, r0, 3 -/* 03D288 80042828 38A50040 */ addi r5, r5, 0x40 -/* 03D28C 8004282C 7CBE2A14 */ add r5, r30, r5 -/* 03D290 80042830 38C30001 */ addi r6, r3, 1 -/* 03D294 80042834 7CBE2850 */ subf r5, r30, r5 -/* 03D298 80042838 90C10084 */ stw r6, 0x84(r1) -/* 03D29C 8004283C 3CA580E3 */ addis r5, r5, 0x80e3 -/* 03D2A0 80042840 5463103A */ slwi r3, r3, 2 -/* 03D2A4 80042844 7CBF192E */ stwx r5, r31, r3 -/* 03D2A8 80042848 48000010 */ b lbl_80042858 -lbl_8004284C: -/* 03D2AC 8004284C 80610084 */ lwz r3, 0x84(r1) -/* 03D2B0 80042850 38630001 */ addi r3, r3, 1 -/* 03D2B4 80042854 90610084 */ stw r3, 0x84(r1) -lbl_80042858: -/* 03D2B8 80042858 281F0000 */ cmplwi r31, 0 -/* 03D2BC 8004285C 41820034 */ beq lbl_80042890 -/* 03D2C0 80042860 54031838 */ slwi r3, r0, 3 -/* 03D2C4 80042864 80A10084 */ lwz r5, 0x84(r1) -/* 03D2C8 80042868 38630040 */ addi r3, r3, 0x40 -/* 03D2CC 8004286C 7C7E1A14 */ add r3, r30, r3 -/* 03D2D0 80042870 7CDE1850 */ subf r6, r30, r3 -/* 03D2D4 80042874 38650001 */ addi r3, r5, 1 -/* 03D2D8 80042878 3CC68103 */ addis r6, r6, 0x8103 -/* 03D2DC 8004287C 90610084 */ stw r3, 0x84(r1) -/* 03D2E0 80042880 38660004 */ addi r3, r6, 4 -/* 03D2E4 80042884 54A5103A */ slwi r5, r5, 2 -/* 03D2E8 80042888 7C7F292E */ stwx r3, r31, r5 -/* 03D2EC 8004288C 48000010 */ b lbl_8004289C -lbl_80042890: -/* 03D2F0 80042890 80610084 */ lwz r3, 0x84(r1) -/* 03D2F4 80042894 38630001 */ addi r3, r3, 1 -/* 03D2F8 80042898 90610084 */ stw r3, 0x84(r1) -lbl_8004289C: -/* 03D2FC 8004289C 281F0000 */ cmplwi r31, 0 -/* 03D300 800428A0 41820030 */ beq lbl_800428D0 -/* 03D304 800428A4 80610084 */ lwz r3, 0x84(r1) -/* 03D308 800428A8 54841838 */ slwi r4, r4, 3 -/* 03D30C 800428AC 38840040 */ addi r4, r4, 0x40 -/* 03D310 800428B0 7C9E2214 */ add r4, r30, r4 -/* 03D314 800428B4 38A30001 */ addi r5, r3, 1 -/* 03D318 800428B8 7C9E2050 */ subf r4, r30, r4 -/* 03D31C 800428BC 90A10084 */ stw r5, 0x84(r1) -/* 03D320 800428C0 3C8481C3 */ addis r4, r4, 0x81c3 -/* 03D324 800428C4 5463103A */ slwi r3, r3, 2 -/* 03D328 800428C8 7C9F192E */ stwx r4, r31, r3 -/* 03D32C 800428CC 48000010 */ b lbl_800428DC -lbl_800428D0: -/* 03D330 800428D0 80610084 */ lwz r3, 0x84(r1) -/* 03D334 800428D4 38630001 */ addi r3, r3, 1 -/* 03D338 800428D8 90610084 */ stw r3, 0x84(r1) -lbl_800428DC: -/* 03D33C 800428DC 281F0000 */ cmplwi r31, 0 -/* 03D340 800428E0 41820030 */ beq lbl_80042910 -/* 03D344 800428E4 80610084 */ lwz r3, 0x84(r1) -/* 03D348 800428E8 54041838 */ slwi r4, r0, 3 -/* 03D34C 800428EC 38040040 */ addi r0, r4, 0x40 -/* 03D350 800428F0 7C9E0214 */ add r4, r30, r0 -/* 03D354 800428F4 38030001 */ addi r0, r3, 1 -/* 03D358 800428F8 7C9E2050 */ subf r4, r30, r4 -/* 03D35C 800428FC 90010084 */ stw r0, 0x84(r1) -/* 03D360 80042900 3C0481E3 */ addis r0, r4, 0x81e3 -/* 03D364 80042904 5463103A */ slwi r3, r3, 2 -/* 03D368 80042908 7C1F192E */ stwx r0, r31, r3 -/* 03D36C 8004290C 48000010 */ b lbl_8004291C -lbl_80042910: -/* 03D370 80042910 80610084 */ lwz r3, 0x84(r1) -/* 03D374 80042914 38030001 */ addi r0, r3, 1 -/* 03D378 80042918 90010084 */ stw r0, 0x84(r1) -lbl_8004291C: -/* 03D37C 8004291C 281F0000 */ cmplwi r31, 0 -/* 03D380 80042920 41820034 */ beq lbl_80042954 -/* 03D384 80042924 80610084 */ lwz r3, 0x84(r1) -/* 03D388 80042928 800D8A10 */ lwz r0, cpuCompile_DMULT_function@sda21(r13) -/* 03D38C 8004292C 5465103A */ slwi r5, r3, 2 -/* 03D390 80042930 7C9F2A14 */ add r4, r31, r5 -/* 03D394 80042934 7C040050 */ subf r0, r4, r0 -/* 03D398 80042938 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 03D39C 8004293C 38630001 */ addi r3, r3, 1 -/* 03D3A0 80042940 64004800 */ oris r0, r0, 0x4800 -/* 03D3A4 80042944 90610084 */ stw r3, 0x84(r1) -/* 03D3A8 80042948 60000001 */ ori r0, r0, 1 -/* 03D3AC 8004294C 7C1F292E */ stwx r0, r31, r5 -/* 03D3B0 80042950 48000010 */ b lbl_80042960 -lbl_80042954: -/* 03D3B4 80042954 80610084 */ lwz r3, 0x84(r1) -/* 03D3B8 80042958 38030001 */ addi r0, r3, 1 -/* 03D3BC 8004295C 90010084 */ stw r0, 0x84(r1) -lbl_80042960: -/* 03D3C0 80042960 281F0000 */ cmplwi r31, 0 -/* 03D3C4 80042964 41820024 */ beq lbl_80042988 -/* 03D3C8 80042968 80610084 */ lwz r3, 0x84(r1) -/* 03D3CC 8004296C 3C808101 */ lis r4, 0x8101 -/* 03D3D0 80042970 38840008 */ addi r4, r4, 8 -/* 03D3D4 80042974 38030001 */ addi r0, r3, 1 -/* 03D3D8 80042978 90010084 */ stw r0, 0x84(r1) -/* 03D3DC 8004297C 5460103A */ slwi r0, r3, 2 -/* 03D3E0 80042980 7C9F012E */ stwx r4, r31, r0 -/* 03D3E4 80042984 48000010 */ b lbl_80042994 -lbl_80042988: -/* 03D3E8 80042988 80610084 */ lwz r3, 0x84(r1) -/* 03D3EC 8004298C 38030001 */ addi r0, r3, 1 -/* 03D3F0 80042990 90010084 */ stw r0, 0x84(r1) -lbl_80042994: -/* 03D3F4 80042994 281F0000 */ cmplwi r31, 0 -/* 03D3F8 80042998 41820024 */ beq lbl_800429BC -/* 03D3FC 8004299C 80610084 */ lwz r3, 0x84(r1) -/* 03D400 800429A0 3C808121 */ lis r4, 0x8121 -/* 03D404 800429A4 38840010 */ addi r4, r4, 0x10 -/* 03D408 800429A8 38030001 */ addi r0, r3, 1 -/* 03D40C 800429AC 90010084 */ stw r0, 0x84(r1) -/* 03D410 800429B0 5460103A */ slwi r0, r3, 2 -/* 03D414 800429B4 7C9F012E */ stwx r4, r31, r0 -/* 03D418 800429B8 48000010 */ b lbl_800429C8 -lbl_800429BC: -/* 03D41C 800429BC 80610084 */ lwz r3, 0x84(r1) -/* 03D420 800429C0 38030001 */ addi r0, r3, 1 -/* 03D424 800429C4 90010084 */ stw r0, 0x84(r1) -lbl_800429C8: -/* 03D428 800429C8 281F0000 */ cmplwi r31, 0 -/* 03D42C 800429CC 41820024 */ beq lbl_800429F0 -/* 03D430 800429D0 80610084 */ lwz r3, 0x84(r1) -/* 03D434 800429D4 3C808141 */ lis r4, 0x8141 -/* 03D438 800429D8 38840018 */ addi r4, r4, 0x18 -/* 03D43C 800429DC 38030001 */ addi r0, r3, 1 -/* 03D440 800429E0 90010084 */ stw r0, 0x84(r1) -/* 03D444 800429E4 5460103A */ slwi r0, r3, 2 -/* 03D448 800429E8 7C9F012E */ stwx r4, r31, r0 -/* 03D44C 800429EC 48000010 */ b lbl_800429FC -lbl_800429F0: -/* 03D450 800429F0 80610084 */ lwz r3, 0x84(r1) -/* 03D454 800429F4 38030001 */ addi r0, r3, 1 -/* 03D458 800429F8 90010084 */ stw r0, 0x84(r1) -lbl_800429FC: -/* 03D45C 800429FC 281F0000 */ cmplwi r31, 0 -/* 03D460 80042A00 41820024 */ beq lbl_80042A24 -/* 03D464 80042A04 80610084 */ lwz r3, 0x84(r1) -/* 03D468 80042A08 3C808161 */ lis r4, 0x8161 -/* 03D46C 80042A0C 38840020 */ addi r4, r4, 0x20 -/* 03D470 80042A10 38030001 */ addi r0, r3, 1 -/* 03D474 80042A14 90010084 */ stw r0, 0x84(r1) -/* 03D478 80042A18 5460103A */ slwi r0, r3, 2 -/* 03D47C 80042A1C 7C9F012E */ stwx r4, r31, r0 -/* 03D480 80042A20 48000010 */ b lbl_80042A30 -lbl_80042A24: -/* 03D484 80042A24 80610084 */ lwz r3, 0x84(r1) -/* 03D488 80042A28 38030001 */ addi r0, r3, 1 -/* 03D48C 80042A2C 90010084 */ stw r0, 0x84(r1) -lbl_80042A30: -/* 03D490 80042A30 281F0000 */ cmplwi r31, 0 -/* 03D494 80042A34 41820024 */ beq lbl_80042A58 -/* 03D498 80042A38 80610084 */ lwz r3, 0x84(r1) -/* 03D49C 80042A3C 3C808181 */ lis r4, 0x8181 -/* 03D4A0 80042A40 38840028 */ addi r4, r4, 0x28 -/* 03D4A4 80042A44 38030001 */ addi r0, r3, 1 -/* 03D4A8 80042A48 90010084 */ stw r0, 0x84(r1) -/* 03D4AC 80042A4C 5460103A */ slwi r0, r3, 2 -/* 03D4B0 80042A50 7C9F012E */ stwx r4, r31, r0 -/* 03D4B4 80042A54 48000010 */ b lbl_80042A64 -lbl_80042A58: -/* 03D4B8 80042A58 80610084 */ lwz r3, 0x84(r1) -/* 03D4BC 80042A5C 38030001 */ addi r0, r3, 1 -/* 03D4C0 80042A60 90010084 */ stw r0, 0x84(r1) -lbl_80042A64: -/* 03D4C4 80042A64 281F0000 */ cmplwi r31, 0 -/* 03D4C8 80042A68 41820024 */ beq lbl_80042A8C -/* 03D4CC 80042A6C 80610084 */ lwz r3, 0x84(r1) -/* 03D4D0 80042A70 3C8081C1 */ lis r4, 0x81c1 -/* 03D4D4 80042A74 38840030 */ addi r4, r4, 0x30 -/* 03D4D8 80042A78 38030001 */ addi r0, r3, 1 -/* 03D4DC 80042A7C 90010084 */ stw r0, 0x84(r1) -/* 03D4E0 80042A80 5460103A */ slwi r0, r3, 2 -/* 03D4E4 80042A84 7C9F012E */ stwx r4, r31, r0 -/* 03D4E8 80042A88 48000010 */ b lbl_80042A98 -lbl_80042A8C: -/* 03D4EC 80042A8C 80610084 */ lwz r3, 0x84(r1) -/* 03D4F0 80042A90 38030001 */ addi r0, r3, 1 -/* 03D4F4 80042A94 90010084 */ stw r0, 0x84(r1) -lbl_80042A98: -/* 03D4F8 80042A98 281F0000 */ cmplwi r31, 0 -/* 03D4FC 80042A9C 41820024 */ beq lbl_80042AC0 -/* 03D500 80042AA0 80610084 */ lwz r3, 0x84(r1) -/* 03D504 80042AA4 3C8081E1 */ lis r4, 0x81e1 -/* 03D508 80042AA8 38840038 */ addi r4, r4, 0x38 -/* 03D50C 80042AAC 38030001 */ addi r0, r3, 1 -/* 03D510 80042AB0 90010084 */ stw r0, 0x84(r1) -/* 03D514 80042AB4 5460103A */ slwi r0, r3, 2 -/* 03D518 80042AB8 7C9F012E */ stwx r4, r31, r0 -/* 03D51C 80042ABC 48000010 */ b lbl_80042ACC -lbl_80042AC0: -/* 03D520 80042AC0 80610084 */ lwz r3, 0x84(r1) -/* 03D524 80042AC4 38030001 */ addi r0, r3, 1 -/* 03D528 80042AC8 90010084 */ stw r0, 0x84(r1) -lbl_80042ACC: -/* 03D52C 80042ACC 281F0000 */ cmplwi r31, 0 -/* 03D530 80042AD0 41820024 */ beq lbl_80042AF4 -/* 03D534 80042AD4 80610084 */ lwz r3, 0x84(r1) -/* 03D538 80042AD8 3C803821 */ lis r4, 0x3821 -/* 03D53C 80042ADC 38840040 */ addi r4, r4, 0x40 -/* 03D540 80042AE0 38030001 */ addi r0, r3, 1 -/* 03D544 80042AE4 90010084 */ stw r0, 0x84(r1) -/* 03D548 80042AE8 5460103A */ slwi r0, r3, 2 -/* 03D54C 80042AEC 7C9F012E */ stwx r4, r31, r0 -/* 03D550 80042AF0 48025444 */ b lbl_80067F34 -lbl_80042AF4: -/* 03D554 80042AF4 80610084 */ lwz r3, 0x84(r1) -/* 03D558 80042AF8 38030001 */ addi r0, r3, 1 -/* 03D55C 80042AFC 90010084 */ stw r0, 0x84(r1) -/* 03D560 80042B00 48025434 */ b lbl_80067F34 -.global lbl_80042B04 -lbl_80042B04: -/* 03D564 80042B04 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 03D568 80042B08 7C7A1A14 */ add r3, r26, r3 -/* 03D56C 80042B0C 80A30818 */ lwz r5, 0x818(r3) -/* 03D570 80042B10 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 03D574 80042B14 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 03D578 80042B18 40820050 */ bne lbl_80042B68 -/* 03D57C 80042B1C 281F0000 */ cmplwi r31, 0 -/* 03D580 80042B20 4182003C */ beq lbl_80042B5C -/* 03D584 80042B24 54041838 */ slwi r4, r0, 3 -/* 03D588 80042B28 80610084 */ lwz r3, 0x84(r1) -/* 03D58C 80042B2C 38840040 */ addi r4, r4, 0x40 -/* 03D590 80042B30 54A5A814 */ slwi r5, r5, 0x15 -/* 03D594 80042B34 7C9E2214 */ add r4, r30, r4 -/* 03D598 80042B38 38C30001 */ addi r6, r3, 1 -/* 03D59C 80042B3C 64A59003 */ oris r5, r5, 0x9003 -/* 03D5A0 80042B40 90C10084 */ stw r6, 0x84(r1) -/* 03D5A4 80042B44 7C9E2050 */ subf r4, r30, r4 -/* 03D5A8 80042B48 7C842A14 */ add r4, r4, r5 -/* 03D5AC 80042B4C 38840004 */ addi r4, r4, 4 -/* 03D5B0 80042B50 5463103A */ slwi r3, r3, 2 -/* 03D5B4 80042B54 7C9F192E */ stwx r4, r31, r3 -/* 03D5B8 80042B58 48000010 */ b lbl_80042B68 -lbl_80042B5C: -/* 03D5BC 80042B5C 80610084 */ lwz r3, 0x84(r1) -/* 03D5C0 80042B60 38630001 */ addi r3, r3, 1 -/* 03D5C4 80042B64 90610084 */ stw r3, 0x84(r1) -lbl_80042B68: -/* 03D5C8 80042B68 57836E7A */ rlwinm r3, r28, 0xd, 0x19, 0x1d -/* 03D5CC 80042B6C 7C7A1A14 */ add r3, r26, r3 -/* 03D5D0 80042B70 80E30818 */ lwz r7, 0x818(r3) -/* 03D5D4 80042B74 57845EFE */ rlwinm r4, r28, 0xb, 0x1b, 0x1f -/* 03D5D8 80042B78 54E305EF */ rlwinm. r3, r7, 0, 0x17, 0x17 -/* 03D5DC 80042B7C 40820050 */ bne lbl_80042BCC -/* 03D5E0 80042B80 281F0000 */ cmplwi r31, 0 -/* 03D5E4 80042B84 4182003C */ beq lbl_80042BC0 -/* 03D5E8 80042B88 54831838 */ slwi r3, r4, 3 -/* 03D5EC 80042B8C 80C10084 */ lwz r6, 0x84(r1) -/* 03D5F0 80042B90 38A30040 */ addi r5, r3, 0x40 -/* 03D5F4 80042B94 54E3A814 */ slwi r3, r7, 0x15 -/* 03D5F8 80042B98 7CFE2A14 */ add r7, r30, r5 -/* 03D5FC 80042B9C 38A60001 */ addi r5, r6, 1 -/* 03D600 80042BA0 64639003 */ oris r3, r3, 0x9003 -/* 03D604 80042BA4 90A10084 */ stw r5, 0x84(r1) -/* 03D608 80042BA8 7CBE3850 */ subf r5, r30, r7 -/* 03D60C 80042BAC 7C651A14 */ add r3, r5, r3 -/* 03D610 80042BB0 38630004 */ addi r3, r3, 4 -/* 03D614 80042BB4 54C5103A */ slwi r5, r6, 2 -/* 03D618 80042BB8 7C7F292E */ stwx r3, r31, r5 -/* 03D61C 80042BBC 48000010 */ b lbl_80042BCC -lbl_80042BC0: -/* 03D620 80042BC0 80610084 */ lwz r3, 0x84(r1) -/* 03D624 80042BC4 38630001 */ addi r3, r3, 1 -/* 03D628 80042BC8 90610084 */ stw r3, 0x84(r1) -lbl_80042BCC: -/* 03D62C 80042BCC 281F0000 */ cmplwi r31, 0 -/* 03D630 80042BD0 41820024 */ beq lbl_80042BF4 -/* 03D634 80042BD4 80A10084 */ lwz r5, 0x84(r1) -/* 03D638 80042BD8 3C609422 */ lis r3, 0x9422 -/* 03D63C 80042BDC 38C3FFD0 */ addi r6, r3, -48 -/* 03D640 80042BE0 38650001 */ addi r3, r5, 1 -/* 03D644 80042BE4 90610084 */ stw r3, 0x84(r1) -/* 03D648 80042BE8 54A3103A */ slwi r3, r5, 2 -/* 03D64C 80042BEC 7CDF192E */ stwx r6, r31, r3 -/* 03D650 80042BF0 48000010 */ b lbl_80042C00 -lbl_80042BF4: -/* 03D654 80042BF4 80610084 */ lwz r3, 0x84(r1) -/* 03D658 80042BF8 38630001 */ addi r3, r3, 1 -/* 03D65C 80042BFC 90610084 */ stw r3, 0x84(r1) -lbl_80042C00: -/* 03D660 80042C00 281F0000 */ cmplwi r31, 0 -/* 03D664 80042C04 41820024 */ beq lbl_80042C28 -/* 03D668 80042C08 80A10084 */ lwz r5, 0x84(r1) -/* 03D66C 80042C0C 3C609101 */ lis r3, 0x9101 -/* 03D670 80042C10 38C30008 */ addi r6, r3, 8 -/* 03D674 80042C14 38650001 */ addi r3, r5, 1 -/* 03D678 80042C18 90610084 */ stw r3, 0x84(r1) -/* 03D67C 80042C1C 54A3103A */ slwi r3, r5, 2 -/* 03D680 80042C20 7CDF192E */ stwx r6, r31, r3 -/* 03D684 80042C24 48000010 */ b lbl_80042C34 -lbl_80042C28: -/* 03D688 80042C28 80610084 */ lwz r3, 0x84(r1) -/* 03D68C 80042C2C 38630001 */ addi r3, r3, 1 -/* 03D690 80042C30 90610084 */ stw r3, 0x84(r1) -lbl_80042C34: -/* 03D694 80042C34 281F0000 */ cmplwi r31, 0 -/* 03D698 80042C38 41820024 */ beq lbl_80042C5C -/* 03D69C 80042C3C 80A10084 */ lwz r5, 0x84(r1) -/* 03D6A0 80042C40 3C609121 */ lis r3, 0x9121 -/* 03D6A4 80042C44 38C30010 */ addi r6, r3, 0x10 -/* 03D6A8 80042C48 38650001 */ addi r3, r5, 1 -/* 03D6AC 80042C4C 90610084 */ stw r3, 0x84(r1) -/* 03D6B0 80042C50 54A3103A */ slwi r3, r5, 2 -/* 03D6B4 80042C54 7CDF192E */ stwx r6, r31, r3 -/* 03D6B8 80042C58 48000010 */ b lbl_80042C68 -lbl_80042C5C: -/* 03D6BC 80042C5C 80610084 */ lwz r3, 0x84(r1) -/* 03D6C0 80042C60 38630001 */ addi r3, r3, 1 -/* 03D6C4 80042C64 90610084 */ stw r3, 0x84(r1) -lbl_80042C68: -/* 03D6C8 80042C68 281F0000 */ cmplwi r31, 0 -/* 03D6CC 80042C6C 41820024 */ beq lbl_80042C90 -/* 03D6D0 80042C70 80A10084 */ lwz r5, 0x84(r1) -/* 03D6D4 80042C74 3C609141 */ lis r3, 0x9141 -/* 03D6D8 80042C78 38C30018 */ addi r6, r3, 0x18 -/* 03D6DC 80042C7C 38650001 */ addi r3, r5, 1 -/* 03D6E0 80042C80 90610084 */ stw r3, 0x84(r1) -/* 03D6E4 80042C84 54A3103A */ slwi r3, r5, 2 -/* 03D6E8 80042C88 7CDF192E */ stwx r6, r31, r3 -/* 03D6EC 80042C8C 48000010 */ b lbl_80042C9C -lbl_80042C90: -/* 03D6F0 80042C90 80610084 */ lwz r3, 0x84(r1) -/* 03D6F4 80042C94 38630001 */ addi r3, r3, 1 -/* 03D6F8 80042C98 90610084 */ stw r3, 0x84(r1) -lbl_80042C9C: -/* 03D6FC 80042C9C 281F0000 */ cmplwi r31, 0 -/* 03D700 80042CA0 41820024 */ beq lbl_80042CC4 -/* 03D704 80042CA4 80A10084 */ lwz r5, 0x84(r1) -/* 03D708 80042CA8 3C609161 */ lis r3, 0x9161 -/* 03D70C 80042CAC 38C30020 */ addi r6, r3, 0x20 -/* 03D710 80042CB0 38650001 */ addi r3, r5, 1 -/* 03D714 80042CB4 90610084 */ stw r3, 0x84(r1) -/* 03D718 80042CB8 54A3103A */ slwi r3, r5, 2 -/* 03D71C 80042CBC 7CDF192E */ stwx r6, r31, r3 -/* 03D720 80042CC0 48000010 */ b lbl_80042CD0 -lbl_80042CC4: -/* 03D724 80042CC4 80610084 */ lwz r3, 0x84(r1) -/* 03D728 80042CC8 38630001 */ addi r3, r3, 1 -/* 03D72C 80042CCC 90610084 */ stw r3, 0x84(r1) -lbl_80042CD0: -/* 03D730 80042CD0 281F0000 */ cmplwi r31, 0 -/* 03D734 80042CD4 41820024 */ beq lbl_80042CF8 -/* 03D738 80042CD8 80A10084 */ lwz r5, 0x84(r1) -/* 03D73C 80042CDC 3C609181 */ lis r3, 0x9181 -/* 03D740 80042CE0 38C30028 */ addi r6, r3, 0x28 -/* 03D744 80042CE4 38650001 */ addi r3, r5, 1 -/* 03D748 80042CE8 90610084 */ stw r3, 0x84(r1) -/* 03D74C 80042CEC 54A3103A */ slwi r3, r5, 2 -/* 03D750 80042CF0 7CDF192E */ stwx r6, r31, r3 -/* 03D754 80042CF4 48000010 */ b lbl_80042D04 -lbl_80042CF8: -/* 03D758 80042CF8 80610084 */ lwz r3, 0x84(r1) -/* 03D75C 80042CFC 38630001 */ addi r3, r3, 1 -/* 03D760 80042D00 90610084 */ stw r3, 0x84(r1) -lbl_80042D04: -/* 03D764 80042D04 281F0000 */ cmplwi r31, 0 -/* 03D768 80042D08 41820030 */ beq lbl_80042D38 -/* 03D76C 80042D0C 80610084 */ lwz r3, 0x84(r1) -/* 03D770 80042D10 54851838 */ slwi r5, r4, 3 -/* 03D774 80042D14 38A50040 */ addi r5, r5, 0x40 -/* 03D778 80042D18 7CBE2A14 */ add r5, r30, r5 -/* 03D77C 80042D1C 38C30001 */ addi r6, r3, 1 -/* 03D780 80042D20 7CBE2850 */ subf r5, r30, r5 -/* 03D784 80042D24 90C10084 */ stw r6, 0x84(r1) -/* 03D788 80042D28 3CA580A3 */ addis r5, r5, 0x80a3 -/* 03D78C 80042D2C 5463103A */ slwi r3, r3, 2 -/* 03D790 80042D30 7CBF192E */ stwx r5, r31, r3 -/* 03D794 80042D34 48000010 */ b lbl_80042D44 -lbl_80042D38: -/* 03D798 80042D38 80610084 */ lwz r3, 0x84(r1) -/* 03D79C 80042D3C 38630001 */ addi r3, r3, 1 -/* 03D7A0 80042D40 90610084 */ stw r3, 0x84(r1) -lbl_80042D44: -/* 03D7A4 80042D44 281F0000 */ cmplwi r31, 0 -/* 03D7A8 80042D48 41820034 */ beq lbl_80042D7C -/* 03D7AC 80042D4C 54831838 */ slwi r3, r4, 3 -/* 03D7B0 80042D50 80810084 */ lwz r4, 0x84(r1) -/* 03D7B4 80042D54 38630040 */ addi r3, r3, 0x40 -/* 03D7B8 80042D58 7C7E1A14 */ add r3, r30, r3 -/* 03D7BC 80042D5C 7CBE1850 */ subf r5, r30, r3 -/* 03D7C0 80042D60 38640001 */ addi r3, r4, 1 -/* 03D7C4 80042D64 3CA580C3 */ addis r5, r5, 0x80c3 -/* 03D7C8 80042D68 90610084 */ stw r3, 0x84(r1) -/* 03D7CC 80042D6C 38650004 */ addi r3, r5, 4 -/* 03D7D0 80042D70 5484103A */ slwi r4, r4, 2 -/* 03D7D4 80042D74 7C7F212E */ stwx r3, r31, r4 -/* 03D7D8 80042D78 48000010 */ b lbl_80042D88 -lbl_80042D7C: -/* 03D7DC 80042D7C 80610084 */ lwz r3, 0x84(r1) -/* 03D7E0 80042D80 38630001 */ addi r3, r3, 1 -/* 03D7E4 80042D84 90610084 */ stw r3, 0x84(r1) -lbl_80042D88: -/* 03D7E8 80042D88 281F0000 */ cmplwi r31, 0 -/* 03D7EC 80042D8C 41820030 */ beq lbl_80042DBC -/* 03D7F0 80042D90 80610084 */ lwz r3, 0x84(r1) -/* 03D7F4 80042D94 54041838 */ slwi r4, r0, 3 -/* 03D7F8 80042D98 38840040 */ addi r4, r4, 0x40 -/* 03D7FC 80042D9C 7C9E2214 */ add r4, r30, r4 -/* 03D800 80042DA0 38A30001 */ addi r5, r3, 1 -/* 03D804 80042DA4 7C9E2050 */ subf r4, r30, r4 -/* 03D808 80042DA8 90A10084 */ stw r5, 0x84(r1) -/* 03D80C 80042DAC 3C8480E3 */ addis r4, r4, 0x80e3 -/* 03D810 80042DB0 5463103A */ slwi r3, r3, 2 -/* 03D814 80042DB4 7C9F192E */ stwx r4, r31, r3 -/* 03D818 80042DB8 48000010 */ b lbl_80042DC8 -lbl_80042DBC: -/* 03D81C 80042DBC 80610084 */ lwz r3, 0x84(r1) -/* 03D820 80042DC0 38630001 */ addi r3, r3, 1 -/* 03D824 80042DC4 90610084 */ stw r3, 0x84(r1) -lbl_80042DC8: -/* 03D828 80042DC8 281F0000 */ cmplwi r31, 0 -/* 03D82C 80042DCC 41820034 */ beq lbl_80042E00 -/* 03D830 80042DD0 54041838 */ slwi r4, r0, 3 -/* 03D834 80042DD4 80610084 */ lwz r3, 0x84(r1) -/* 03D838 80042DD8 38040040 */ addi r0, r4, 0x40 -/* 03D83C 80042DDC 7C1E0214 */ add r0, r30, r0 -/* 03D840 80042DE0 7C9E0050 */ subf r4, r30, r0 -/* 03D844 80042DE4 38030001 */ addi r0, r3, 1 -/* 03D848 80042DE8 3C848103 */ addis r4, r4, 0x8103 -/* 03D84C 80042DEC 90010084 */ stw r0, 0x84(r1) -/* 03D850 80042DF0 38040004 */ addi r0, r4, 4 -/* 03D854 80042DF4 5463103A */ slwi r3, r3, 2 -/* 03D858 80042DF8 7C1F192E */ stwx r0, r31, r3 -/* 03D85C 80042DFC 48000010 */ b lbl_80042E0C -lbl_80042E00: -/* 03D860 80042E00 80610084 */ lwz r3, 0x84(r1) -/* 03D864 80042E04 38030001 */ addi r0, r3, 1 -/* 03D868 80042E08 90010084 */ stw r0, 0x84(r1) -lbl_80042E0C: -/* 03D86C 80042E0C 281F0000 */ cmplwi r31, 0 -/* 03D870 80042E10 41820034 */ beq lbl_80042E44 -/* 03D874 80042E14 80610084 */ lwz r3, 0x84(r1) -/* 03D878 80042E18 800D8A14 */ lwz r0, cpuCompile_DMULTU_function@sda21(r13) -/* 03D87C 80042E1C 5465103A */ slwi r5, r3, 2 -/* 03D880 80042E20 7C9F2A14 */ add r4, r31, r5 -/* 03D884 80042E24 7C040050 */ subf r0, r4, r0 -/* 03D888 80042E28 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 03D88C 80042E2C 38630001 */ addi r3, r3, 1 -/* 03D890 80042E30 64004800 */ oris r0, r0, 0x4800 -/* 03D894 80042E34 90610084 */ stw r3, 0x84(r1) -/* 03D898 80042E38 60000001 */ ori r0, r0, 1 -/* 03D89C 80042E3C 7C1F292E */ stwx r0, r31, r5 -/* 03D8A0 80042E40 48000010 */ b lbl_80042E50 -lbl_80042E44: -/* 03D8A4 80042E44 80610084 */ lwz r3, 0x84(r1) -/* 03D8A8 80042E48 38030001 */ addi r0, r3, 1 -/* 03D8AC 80042E4C 90010084 */ stw r0, 0x84(r1) -lbl_80042E50: -/* 03D8B0 80042E50 281F0000 */ cmplwi r31, 0 -/* 03D8B4 80042E54 41820024 */ beq lbl_80042E78 -/* 03D8B8 80042E58 80610084 */ lwz r3, 0x84(r1) -/* 03D8BC 80042E5C 3C808101 */ lis r4, 0x8101 -/* 03D8C0 80042E60 38840008 */ addi r4, r4, 8 -/* 03D8C4 80042E64 38030001 */ addi r0, r3, 1 -/* 03D8C8 80042E68 90010084 */ stw r0, 0x84(r1) -/* 03D8CC 80042E6C 5460103A */ slwi r0, r3, 2 -/* 03D8D0 80042E70 7C9F012E */ stwx r4, r31, r0 -/* 03D8D4 80042E74 48000010 */ b lbl_80042E84 -lbl_80042E78: -/* 03D8D8 80042E78 80610084 */ lwz r3, 0x84(r1) -/* 03D8DC 80042E7C 38030001 */ addi r0, r3, 1 -/* 03D8E0 80042E80 90010084 */ stw r0, 0x84(r1) -lbl_80042E84: -/* 03D8E4 80042E84 281F0000 */ cmplwi r31, 0 -/* 03D8E8 80042E88 41820024 */ beq lbl_80042EAC -/* 03D8EC 80042E8C 80610084 */ lwz r3, 0x84(r1) -/* 03D8F0 80042E90 3C808121 */ lis r4, 0x8121 -/* 03D8F4 80042E94 38840010 */ addi r4, r4, 0x10 -/* 03D8F8 80042E98 38030001 */ addi r0, r3, 1 -/* 03D8FC 80042E9C 90010084 */ stw r0, 0x84(r1) -/* 03D900 80042EA0 5460103A */ slwi r0, r3, 2 -/* 03D904 80042EA4 7C9F012E */ stwx r4, r31, r0 -/* 03D908 80042EA8 48000010 */ b lbl_80042EB8 -lbl_80042EAC: -/* 03D90C 80042EAC 80610084 */ lwz r3, 0x84(r1) -/* 03D910 80042EB0 38030001 */ addi r0, r3, 1 -/* 03D914 80042EB4 90010084 */ stw r0, 0x84(r1) -lbl_80042EB8: -/* 03D918 80042EB8 281F0000 */ cmplwi r31, 0 -/* 03D91C 80042EBC 41820024 */ beq lbl_80042EE0 -/* 03D920 80042EC0 80610084 */ lwz r3, 0x84(r1) -/* 03D924 80042EC4 3C808141 */ lis r4, 0x8141 -/* 03D928 80042EC8 38840018 */ addi r4, r4, 0x18 -/* 03D92C 80042ECC 38030001 */ addi r0, r3, 1 -/* 03D930 80042ED0 90010084 */ stw r0, 0x84(r1) -/* 03D934 80042ED4 5460103A */ slwi r0, r3, 2 -/* 03D938 80042ED8 7C9F012E */ stwx r4, r31, r0 -/* 03D93C 80042EDC 48000010 */ b lbl_80042EEC -lbl_80042EE0: -/* 03D940 80042EE0 80610084 */ lwz r3, 0x84(r1) -/* 03D944 80042EE4 38030001 */ addi r0, r3, 1 -/* 03D948 80042EE8 90010084 */ stw r0, 0x84(r1) -lbl_80042EEC: -/* 03D94C 80042EEC 281F0000 */ cmplwi r31, 0 -/* 03D950 80042EF0 41820024 */ beq lbl_80042F14 -/* 03D954 80042EF4 80610084 */ lwz r3, 0x84(r1) -/* 03D958 80042EF8 3C808161 */ lis r4, 0x8161 -/* 03D95C 80042EFC 38840020 */ addi r4, r4, 0x20 -/* 03D960 80042F00 38030001 */ addi r0, r3, 1 -/* 03D964 80042F04 90010084 */ stw r0, 0x84(r1) -/* 03D968 80042F08 5460103A */ slwi r0, r3, 2 -/* 03D96C 80042F0C 7C9F012E */ stwx r4, r31, r0 -/* 03D970 80042F10 48000010 */ b lbl_80042F20 -lbl_80042F14: -/* 03D974 80042F14 80610084 */ lwz r3, 0x84(r1) -/* 03D978 80042F18 38030001 */ addi r0, r3, 1 -/* 03D97C 80042F1C 90010084 */ stw r0, 0x84(r1) -lbl_80042F20: -/* 03D980 80042F20 281F0000 */ cmplwi r31, 0 -/* 03D984 80042F24 41820024 */ beq lbl_80042F48 -/* 03D988 80042F28 80610084 */ lwz r3, 0x84(r1) -/* 03D98C 80042F2C 3C808181 */ lis r4, 0x8181 -/* 03D990 80042F30 38840028 */ addi r4, r4, 0x28 -/* 03D994 80042F34 38030001 */ addi r0, r3, 1 -/* 03D998 80042F38 90010084 */ stw r0, 0x84(r1) -/* 03D99C 80042F3C 5460103A */ slwi r0, r3, 2 -/* 03D9A0 80042F40 7C9F012E */ stwx r4, r31, r0 -/* 03D9A4 80042F44 48000010 */ b lbl_80042F54 -lbl_80042F48: -/* 03D9A8 80042F48 80610084 */ lwz r3, 0x84(r1) -/* 03D9AC 80042F4C 38030001 */ addi r0, r3, 1 -/* 03D9B0 80042F50 90010084 */ stw r0, 0x84(r1) -lbl_80042F54: -/* 03D9B4 80042F54 281F0000 */ cmplwi r31, 0 -/* 03D9B8 80042F58 41820024 */ beq lbl_80042F7C -/* 03D9BC 80042F5C 80610084 */ lwz r3, 0x84(r1) -/* 03D9C0 80042F60 3C803821 */ lis r4, 0x3821 -/* 03D9C4 80042F64 38840030 */ addi r4, r4, 0x30 -/* 03D9C8 80042F68 38030001 */ addi r0, r3, 1 -/* 03D9CC 80042F6C 90010084 */ stw r0, 0x84(r1) -/* 03D9D0 80042F70 5460103A */ slwi r0, r3, 2 -/* 03D9D4 80042F74 7C9F012E */ stwx r4, r31, r0 -/* 03D9D8 80042F78 48024FBC */ b lbl_80067F34 -lbl_80042F7C: -/* 03D9DC 80042F7C 80610084 */ lwz r3, 0x84(r1) -/* 03D9E0 80042F80 38030001 */ addi r0, r3, 1 -/* 03D9E4 80042F84 90010084 */ stw r0, 0x84(r1) -/* 03D9E8 80042F88 48024FAC */ b lbl_80067F34 -.global lbl_80042F8C -lbl_80042F8C: -/* 03D9EC 80042F8C 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 03D9F0 80042F90 7C7A1A14 */ add r3, r26, r3 -/* 03D9F4 80042F94 80A30818 */ lwz r5, 0x818(r3) -/* 03D9F8 80042F98 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 03D9FC 80042F9C 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 03DA00 80042FA0 40820050 */ bne lbl_80042FF0 -/* 03DA04 80042FA4 281F0000 */ cmplwi r31, 0 -/* 03DA08 80042FA8 4182003C */ beq lbl_80042FE4 -/* 03DA0C 80042FAC 54041838 */ slwi r4, r0, 3 -/* 03DA10 80042FB0 80610084 */ lwz r3, 0x84(r1) -/* 03DA14 80042FB4 38840040 */ addi r4, r4, 0x40 -/* 03DA18 80042FB8 54A5A814 */ slwi r5, r5, 0x15 -/* 03DA1C 80042FBC 7C9E2214 */ add r4, r30, r4 -/* 03DA20 80042FC0 38C30001 */ addi r6, r3, 1 -/* 03DA24 80042FC4 64A59003 */ oris r5, r5, 0x9003 -/* 03DA28 80042FC8 90C10084 */ stw r6, 0x84(r1) -/* 03DA2C 80042FCC 7C9E2050 */ subf r4, r30, r4 -/* 03DA30 80042FD0 7C842A14 */ add r4, r4, r5 -/* 03DA34 80042FD4 38840004 */ addi r4, r4, 4 -/* 03DA38 80042FD8 5463103A */ slwi r3, r3, 2 -/* 03DA3C 80042FDC 7C9F192E */ stwx r4, r31, r3 -/* 03DA40 80042FE0 48000010 */ b lbl_80042FF0 -lbl_80042FE4: -/* 03DA44 80042FE4 80610084 */ lwz r3, 0x84(r1) -/* 03DA48 80042FE8 38630001 */ addi r3, r3, 1 -/* 03DA4C 80042FEC 90610084 */ stw r3, 0x84(r1) -lbl_80042FF0: -/* 03DA50 80042FF0 57836E7A */ rlwinm r3, r28, 0xd, 0x19, 0x1d -/* 03DA54 80042FF4 7C7A1A14 */ add r3, r26, r3 -/* 03DA58 80042FF8 80E30818 */ lwz r7, 0x818(r3) -/* 03DA5C 80042FFC 57845EFE */ rlwinm r4, r28, 0xb, 0x1b, 0x1f -/* 03DA60 80043000 54E305EF */ rlwinm. r3, r7, 0, 0x17, 0x17 -/* 03DA64 80043004 40820050 */ bne lbl_80043054 -/* 03DA68 80043008 281F0000 */ cmplwi r31, 0 -/* 03DA6C 8004300C 4182003C */ beq lbl_80043048 -/* 03DA70 80043010 54831838 */ slwi r3, r4, 3 -/* 03DA74 80043014 80C10084 */ lwz r6, 0x84(r1) -/* 03DA78 80043018 38A30040 */ addi r5, r3, 0x40 -/* 03DA7C 8004301C 54E3A814 */ slwi r3, r7, 0x15 -/* 03DA80 80043020 7CFE2A14 */ add r7, r30, r5 -/* 03DA84 80043024 38A60001 */ addi r5, r6, 1 -/* 03DA88 80043028 64639003 */ oris r3, r3, 0x9003 -/* 03DA8C 8004302C 90A10084 */ stw r5, 0x84(r1) -/* 03DA90 80043030 7CBE3850 */ subf r5, r30, r7 -/* 03DA94 80043034 7C651A14 */ add r3, r5, r3 -/* 03DA98 80043038 38630004 */ addi r3, r3, 4 -/* 03DA9C 8004303C 54C5103A */ slwi r5, r6, 2 -/* 03DAA0 80043040 7C7F292E */ stwx r3, r31, r5 -/* 03DAA4 80043044 48000010 */ b lbl_80043054 -lbl_80043048: -/* 03DAA8 80043048 80610084 */ lwz r3, 0x84(r1) -/* 03DAAC 8004304C 38630001 */ addi r3, r3, 1 -/* 03DAB0 80043050 90610084 */ stw r3, 0x84(r1) -lbl_80043054: -/* 03DAB4 80043054 281F0000 */ cmplwi r31, 0 -/* 03DAB8 80043058 41820024 */ beq lbl_8004307C -/* 03DABC 8004305C 80A10084 */ lwz r5, 0x84(r1) -/* 03DAC0 80043060 3C609422 */ lis r3, 0x9422 -/* 03DAC4 80043064 38C3FFC0 */ addi r6, r3, -64 -/* 03DAC8 80043068 38650001 */ addi r3, r5, 1 -/* 03DACC 8004306C 90610084 */ stw r3, 0x84(r1) -/* 03DAD0 80043070 54A3103A */ slwi r3, r5, 2 -/* 03DAD4 80043074 7CDF192E */ stwx r6, r31, r3 -/* 03DAD8 80043078 48000010 */ b lbl_80043088 -lbl_8004307C: -/* 03DADC 8004307C 80610084 */ lwz r3, 0x84(r1) -/* 03DAE0 80043080 38630001 */ addi r3, r3, 1 -/* 03DAE4 80043084 90610084 */ stw r3, 0x84(r1) -lbl_80043088: -/* 03DAE8 80043088 281F0000 */ cmplwi r31, 0 -/* 03DAEC 8004308C 41820024 */ beq lbl_800430B0 -/* 03DAF0 80043090 80A10084 */ lwz r5, 0x84(r1) -/* 03DAF4 80043094 3C609101 */ lis r3, 0x9101 -/* 03DAF8 80043098 38C30008 */ addi r6, r3, 8 -/* 03DAFC 8004309C 38650001 */ addi r3, r5, 1 -/* 03DB00 800430A0 90610084 */ stw r3, 0x84(r1) -/* 03DB04 800430A4 54A3103A */ slwi r3, r5, 2 -/* 03DB08 800430A8 7CDF192E */ stwx r6, r31, r3 -/* 03DB0C 800430AC 48000010 */ b lbl_800430BC -lbl_800430B0: -/* 03DB10 800430B0 80610084 */ lwz r3, 0x84(r1) -/* 03DB14 800430B4 38630001 */ addi r3, r3, 1 -/* 03DB18 800430B8 90610084 */ stw r3, 0x84(r1) -lbl_800430BC: -/* 03DB1C 800430BC 281F0000 */ cmplwi r31, 0 -/* 03DB20 800430C0 41820024 */ beq lbl_800430E4 -/* 03DB24 800430C4 80A10084 */ lwz r5, 0x84(r1) -/* 03DB28 800430C8 3C609121 */ lis r3, 0x9121 -/* 03DB2C 800430CC 38C30010 */ addi r6, r3, 0x10 -/* 03DB30 800430D0 38650001 */ addi r3, r5, 1 -/* 03DB34 800430D4 90610084 */ stw r3, 0x84(r1) -/* 03DB38 800430D8 54A3103A */ slwi r3, r5, 2 -/* 03DB3C 800430DC 7CDF192E */ stwx r6, r31, r3 -/* 03DB40 800430E0 48000010 */ b lbl_800430F0 -lbl_800430E4: -/* 03DB44 800430E4 80610084 */ lwz r3, 0x84(r1) -/* 03DB48 800430E8 38630001 */ addi r3, r3, 1 -/* 03DB4C 800430EC 90610084 */ stw r3, 0x84(r1) -lbl_800430F0: -/* 03DB50 800430F0 281F0000 */ cmplwi r31, 0 -/* 03DB54 800430F4 41820024 */ beq lbl_80043118 -/* 03DB58 800430F8 80A10084 */ lwz r5, 0x84(r1) -/* 03DB5C 800430FC 3C609141 */ lis r3, 0x9141 -/* 03DB60 80043100 38C30018 */ addi r6, r3, 0x18 -/* 03DB64 80043104 38650001 */ addi r3, r5, 1 -/* 03DB68 80043108 90610084 */ stw r3, 0x84(r1) -/* 03DB6C 8004310C 54A3103A */ slwi r3, r5, 2 -/* 03DB70 80043110 7CDF192E */ stwx r6, r31, r3 -/* 03DB74 80043114 48000010 */ b lbl_80043124 -lbl_80043118: -/* 03DB78 80043118 80610084 */ lwz r3, 0x84(r1) -/* 03DB7C 8004311C 38630001 */ addi r3, r3, 1 -/* 03DB80 80043120 90610084 */ stw r3, 0x84(r1) -lbl_80043124: -/* 03DB84 80043124 281F0000 */ cmplwi r31, 0 -/* 03DB88 80043128 41820024 */ beq lbl_8004314C -/* 03DB8C 8004312C 80A10084 */ lwz r5, 0x84(r1) -/* 03DB90 80043130 3C609161 */ lis r3, 0x9161 -/* 03DB94 80043134 38C30020 */ addi r6, r3, 0x20 -/* 03DB98 80043138 38650001 */ addi r3, r5, 1 -/* 03DB9C 8004313C 90610084 */ stw r3, 0x84(r1) -/* 03DBA0 80043140 54A3103A */ slwi r3, r5, 2 -/* 03DBA4 80043144 7CDF192E */ stwx r6, r31, r3 -/* 03DBA8 80043148 48000010 */ b lbl_80043158 -lbl_8004314C: -/* 03DBAC 8004314C 80610084 */ lwz r3, 0x84(r1) -/* 03DBB0 80043150 38630001 */ addi r3, r3, 1 -/* 03DBB4 80043154 90610084 */ stw r3, 0x84(r1) -lbl_80043158: -/* 03DBB8 80043158 281F0000 */ cmplwi r31, 0 -/* 03DBBC 8004315C 41820024 */ beq lbl_80043180 -/* 03DBC0 80043160 80A10084 */ lwz r5, 0x84(r1) -/* 03DBC4 80043164 3C609181 */ lis r3, 0x9181 -/* 03DBC8 80043168 38C30028 */ addi r6, r3, 0x28 -/* 03DBCC 8004316C 38650001 */ addi r3, r5, 1 -/* 03DBD0 80043170 90610084 */ stw r3, 0x84(r1) -/* 03DBD4 80043174 54A3103A */ slwi r3, r5, 2 -/* 03DBD8 80043178 7CDF192E */ stwx r6, r31, r3 -/* 03DBDC 8004317C 48000010 */ b lbl_8004318C -lbl_80043180: -/* 03DBE0 80043180 80610084 */ lwz r3, 0x84(r1) -/* 03DBE4 80043184 38630001 */ addi r3, r3, 1 -/* 03DBE8 80043188 90610084 */ stw r3, 0x84(r1) -lbl_8004318C: -/* 03DBEC 8004318C 281F0000 */ cmplwi r31, 0 -/* 03DBF0 80043190 41820024 */ beq lbl_800431B4 -/* 03DBF4 80043194 80A10084 */ lwz r5, 0x84(r1) -/* 03DBF8 80043198 3C6091C1 */ lis r3, 0x91c1 -/* 03DBFC 8004319C 38C30030 */ addi r6, r3, 0x30 -/* 03DC00 800431A0 38650001 */ addi r3, r5, 1 -/* 03DC04 800431A4 90610084 */ stw r3, 0x84(r1) -/* 03DC08 800431A8 54A3103A */ slwi r3, r5, 2 -/* 03DC0C 800431AC 7CDF192E */ stwx r6, r31, r3 -/* 03DC10 800431B0 48000010 */ b lbl_800431C0 -lbl_800431B4: -/* 03DC14 800431B4 80610084 */ lwz r3, 0x84(r1) -/* 03DC18 800431B8 38630001 */ addi r3, r3, 1 -/* 03DC1C 800431BC 90610084 */ stw r3, 0x84(r1) -lbl_800431C0: -/* 03DC20 800431C0 281F0000 */ cmplwi r31, 0 -/* 03DC24 800431C4 41820024 */ beq lbl_800431E8 -/* 03DC28 800431C8 80A10084 */ lwz r5, 0x84(r1) -/* 03DC2C 800431CC 3C6091E1 */ lis r3, 0x91e1 -/* 03DC30 800431D0 38C30038 */ addi r6, r3, 0x38 -/* 03DC34 800431D4 38650001 */ addi r3, r5, 1 -/* 03DC38 800431D8 90610084 */ stw r3, 0x84(r1) -/* 03DC3C 800431DC 54A3103A */ slwi r3, r5, 2 -/* 03DC40 800431E0 7CDF192E */ stwx r6, r31, r3 -/* 03DC44 800431E4 48000010 */ b lbl_800431F4 -lbl_800431E8: -/* 03DC48 800431E8 80610084 */ lwz r3, 0x84(r1) -/* 03DC4C 800431EC 38630001 */ addi r3, r3, 1 -/* 03DC50 800431F0 90610084 */ stw r3, 0x84(r1) -lbl_800431F4: -/* 03DC54 800431F4 281F0000 */ cmplwi r31, 0 -/* 03DC58 800431F8 41820030 */ beq lbl_80043228 -/* 03DC5C 800431FC 80610084 */ lwz r3, 0x84(r1) -/* 03DC60 80043200 54851838 */ slwi r5, r4, 3 -/* 03DC64 80043204 38A50040 */ addi r5, r5, 0x40 -/* 03DC68 80043208 7CBE2A14 */ add r5, r30, r5 -/* 03DC6C 8004320C 38C30001 */ addi r6, r3, 1 -/* 03DC70 80043210 7CBE2850 */ subf r5, r30, r5 -/* 03DC74 80043214 90C10084 */ stw r6, 0x84(r1) -/* 03DC78 80043218 3CA58103 */ addis r5, r5, 0x8103 -/* 03DC7C 8004321C 5463103A */ slwi r3, r3, 2 -/* 03DC80 80043220 7CBF192E */ stwx r5, r31, r3 -/* 03DC84 80043224 48000010 */ b lbl_80043234 -lbl_80043228: -/* 03DC88 80043228 80610084 */ lwz r3, 0x84(r1) -/* 03DC8C 8004322C 38630001 */ addi r3, r3, 1 -/* 03DC90 80043230 90610084 */ stw r3, 0x84(r1) -lbl_80043234: -/* 03DC94 80043234 281F0000 */ cmplwi r31, 0 -/* 03DC98 80043238 41820034 */ beq lbl_8004326C -/* 03DC9C 8004323C 54831838 */ slwi r3, r4, 3 -/* 03DCA0 80043240 80A10084 */ lwz r5, 0x84(r1) -/* 03DCA4 80043244 38630040 */ addi r3, r3, 0x40 -/* 03DCA8 80043248 7C7E1A14 */ add r3, r30, r3 -/* 03DCAC 8004324C 7CDE1850 */ subf r6, r30, r3 -/* 03DCB0 80043250 38650001 */ addi r3, r5, 1 -/* 03DCB4 80043254 3CC68123 */ addis r6, r6, 0x8123 -/* 03DCB8 80043258 90610084 */ stw r3, 0x84(r1) -/* 03DCBC 8004325C 38660004 */ addi r3, r6, 4 -/* 03DCC0 80043260 54A5103A */ slwi r5, r5, 2 -/* 03DCC4 80043264 7C7F292E */ stwx r3, r31, r5 -/* 03DCC8 80043268 48000010 */ b lbl_80043278 -lbl_8004326C: -/* 03DCCC 8004326C 80610084 */ lwz r3, 0x84(r1) -/* 03DCD0 80043270 38630001 */ addi r3, r3, 1 -/* 03DCD4 80043274 90610084 */ stw r3, 0x84(r1) -lbl_80043278: -/* 03DCD8 80043278 281F0000 */ cmplwi r31, 0 -/* 03DCDC 8004327C 41820030 */ beq lbl_800432AC -/* 03DCE0 80043280 80610084 */ lwz r3, 0x84(r1) -/* 03DCE4 80043284 54051838 */ slwi r5, r0, 3 -/* 03DCE8 80043288 38A50040 */ addi r5, r5, 0x40 -/* 03DCEC 8004328C 7CBE2A14 */ add r5, r30, r5 -/* 03DCF0 80043290 38C30001 */ addi r6, r3, 1 -/* 03DCF4 80043294 7CBE2850 */ subf r5, r30, r5 -/* 03DCF8 80043298 90C10084 */ stw r6, 0x84(r1) -/* 03DCFC 8004329C 3CA58143 */ addis r5, r5, 0x8143 -/* 03DD00 800432A0 5463103A */ slwi r3, r3, 2 -/* 03DD04 800432A4 7CBF192E */ stwx r5, r31, r3 -/* 03DD08 800432A8 48000010 */ b lbl_800432B8 -lbl_800432AC: -/* 03DD0C 800432AC 80610084 */ lwz r3, 0x84(r1) -/* 03DD10 800432B0 38630001 */ addi r3, r3, 1 -/* 03DD14 800432B4 90610084 */ stw r3, 0x84(r1) -lbl_800432B8: -/* 03DD18 800432B8 281F0000 */ cmplwi r31, 0 -/* 03DD1C 800432BC 41820034 */ beq lbl_800432F0 -/* 03DD20 800432C0 54031838 */ slwi r3, r0, 3 -/* 03DD24 800432C4 80A10084 */ lwz r5, 0x84(r1) -/* 03DD28 800432C8 38630040 */ addi r3, r3, 0x40 -/* 03DD2C 800432CC 7C7E1A14 */ add r3, r30, r3 -/* 03DD30 800432D0 7CDE1850 */ subf r6, r30, r3 -/* 03DD34 800432D4 38650001 */ addi r3, r5, 1 -/* 03DD38 800432D8 3CC68163 */ addis r6, r6, 0x8163 -/* 03DD3C 800432DC 90610084 */ stw r3, 0x84(r1) -/* 03DD40 800432E0 38660004 */ addi r3, r6, 4 -/* 03DD44 800432E4 54A5103A */ slwi r5, r5, 2 -/* 03DD48 800432E8 7C7F292E */ stwx r3, r31, r5 -/* 03DD4C 800432EC 48000010 */ b lbl_800432FC -lbl_800432F0: -/* 03DD50 800432F0 80610084 */ lwz r3, 0x84(r1) -/* 03DD54 800432F4 38630001 */ addi r3, r3, 1 -/* 03DD58 800432F8 90610084 */ stw r3, 0x84(r1) -lbl_800432FC: -/* 03DD5C 800432FC 281F0000 */ cmplwi r31, 0 -/* 03DD60 80043300 41820030 */ beq lbl_80043330 -/* 03DD64 80043304 80610084 */ lwz r3, 0x84(r1) -/* 03DD68 80043308 54841838 */ slwi r4, r4, 3 -/* 03DD6C 8004330C 38840040 */ addi r4, r4, 0x40 -/* 03DD70 80043310 7C9E2214 */ add r4, r30, r4 -/* 03DD74 80043314 38A30001 */ addi r5, r3, 1 -/* 03DD78 80043318 7C9E2050 */ subf r4, r30, r4 -/* 03DD7C 8004331C 90A10084 */ stw r5, 0x84(r1) -/* 03DD80 80043320 3C8481C3 */ addis r4, r4, 0x81c3 -/* 03DD84 80043324 5463103A */ slwi r3, r3, 2 -/* 03DD88 80043328 7C9F192E */ stwx r4, r31, r3 -/* 03DD8C 8004332C 48000010 */ b lbl_8004333C -lbl_80043330: -/* 03DD90 80043330 80610084 */ lwz r3, 0x84(r1) -/* 03DD94 80043334 38630001 */ addi r3, r3, 1 -/* 03DD98 80043338 90610084 */ stw r3, 0x84(r1) -lbl_8004333C: -/* 03DD9C 8004333C 281F0000 */ cmplwi r31, 0 -/* 03DDA0 80043340 41820030 */ beq lbl_80043370 -/* 03DDA4 80043344 80610084 */ lwz r3, 0x84(r1) -/* 03DDA8 80043348 54041838 */ slwi r4, r0, 3 -/* 03DDAC 8004334C 38040040 */ addi r0, r4, 0x40 -/* 03DDB0 80043350 7C9E0214 */ add r4, r30, r0 -/* 03DDB4 80043354 38030001 */ addi r0, r3, 1 -/* 03DDB8 80043358 7C9E2050 */ subf r4, r30, r4 -/* 03DDBC 8004335C 90010084 */ stw r0, 0x84(r1) -/* 03DDC0 80043360 3C0481E3 */ addis r0, r4, 0x81e3 -/* 03DDC4 80043364 5463103A */ slwi r3, r3, 2 -/* 03DDC8 80043368 7C1F192E */ stwx r0, r31, r3 -/* 03DDCC 8004336C 48000010 */ b lbl_8004337C -lbl_80043370: -/* 03DDD0 80043370 80610084 */ lwz r3, 0x84(r1) -/* 03DDD4 80043374 38030001 */ addi r0, r3, 1 -/* 03DDD8 80043378 90010084 */ stw r0, 0x84(r1) -lbl_8004337C: -/* 03DDDC 8004337C 281F0000 */ cmplwi r31, 0 -/* 03DDE0 80043380 41820034 */ beq lbl_800433B4 -/* 03DDE4 80043384 80610084 */ lwz r3, 0x84(r1) -/* 03DDE8 80043388 800D8A18 */ lwz r0, cpuCompile_DDIV_function@sda21(r13) -/* 03DDEC 8004338C 5465103A */ slwi r5, r3, 2 -/* 03DDF0 80043390 7C9F2A14 */ add r4, r31, r5 -/* 03DDF4 80043394 7C040050 */ subf r0, r4, r0 -/* 03DDF8 80043398 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 03DDFC 8004339C 38630001 */ addi r3, r3, 1 -/* 03DE00 800433A0 64004800 */ oris r0, r0, 0x4800 -/* 03DE04 800433A4 90610084 */ stw r3, 0x84(r1) -/* 03DE08 800433A8 60000001 */ ori r0, r0, 1 -/* 03DE0C 800433AC 7C1F292E */ stwx r0, r31, r5 -/* 03DE10 800433B0 48000010 */ b lbl_800433C0 -lbl_800433B4: -/* 03DE14 800433B4 80610084 */ lwz r3, 0x84(r1) -/* 03DE18 800433B8 38030001 */ addi r0, r3, 1 -/* 03DE1C 800433BC 90010084 */ stw r0, 0x84(r1) -lbl_800433C0: -/* 03DE20 800433C0 281F0000 */ cmplwi r31, 0 -/* 03DE24 800433C4 41820024 */ beq lbl_800433E8 -/* 03DE28 800433C8 80610084 */ lwz r3, 0x84(r1) -/* 03DE2C 800433CC 3C808101 */ lis r4, 0x8101 -/* 03DE30 800433D0 38840008 */ addi r4, r4, 8 -/* 03DE34 800433D4 38030001 */ addi r0, r3, 1 -/* 03DE38 800433D8 90010084 */ stw r0, 0x84(r1) -/* 03DE3C 800433DC 5460103A */ slwi r0, r3, 2 -/* 03DE40 800433E0 7C9F012E */ stwx r4, r31, r0 -/* 03DE44 800433E4 48000010 */ b lbl_800433F4 -lbl_800433E8: -/* 03DE48 800433E8 80610084 */ lwz r3, 0x84(r1) -/* 03DE4C 800433EC 38030001 */ addi r0, r3, 1 -/* 03DE50 800433F0 90010084 */ stw r0, 0x84(r1) -lbl_800433F4: -/* 03DE54 800433F4 281F0000 */ cmplwi r31, 0 -/* 03DE58 800433F8 41820024 */ beq lbl_8004341C -/* 03DE5C 800433FC 80610084 */ lwz r3, 0x84(r1) -/* 03DE60 80043400 3C808121 */ lis r4, 0x8121 -/* 03DE64 80043404 38840010 */ addi r4, r4, 0x10 -/* 03DE68 80043408 38030001 */ addi r0, r3, 1 -/* 03DE6C 8004340C 90010084 */ stw r0, 0x84(r1) -/* 03DE70 80043410 5460103A */ slwi r0, r3, 2 -/* 03DE74 80043414 7C9F012E */ stwx r4, r31, r0 -/* 03DE78 80043418 48000010 */ b lbl_80043428 -lbl_8004341C: -/* 03DE7C 8004341C 80610084 */ lwz r3, 0x84(r1) -/* 03DE80 80043420 38030001 */ addi r0, r3, 1 -/* 03DE84 80043424 90010084 */ stw r0, 0x84(r1) -lbl_80043428: -/* 03DE88 80043428 281F0000 */ cmplwi r31, 0 -/* 03DE8C 8004342C 41820024 */ beq lbl_80043450 -/* 03DE90 80043430 80610084 */ lwz r3, 0x84(r1) -/* 03DE94 80043434 3C808141 */ lis r4, 0x8141 -/* 03DE98 80043438 38840018 */ addi r4, r4, 0x18 -/* 03DE9C 8004343C 38030001 */ addi r0, r3, 1 -/* 03DEA0 80043440 90010084 */ stw r0, 0x84(r1) -/* 03DEA4 80043444 5460103A */ slwi r0, r3, 2 -/* 03DEA8 80043448 7C9F012E */ stwx r4, r31, r0 -/* 03DEAC 8004344C 48000010 */ b lbl_8004345C -lbl_80043450: -/* 03DEB0 80043450 80610084 */ lwz r3, 0x84(r1) -/* 03DEB4 80043454 38030001 */ addi r0, r3, 1 -/* 03DEB8 80043458 90010084 */ stw r0, 0x84(r1) -lbl_8004345C: -/* 03DEBC 8004345C 281F0000 */ cmplwi r31, 0 -/* 03DEC0 80043460 41820024 */ beq lbl_80043484 -/* 03DEC4 80043464 80610084 */ lwz r3, 0x84(r1) -/* 03DEC8 80043468 3C808161 */ lis r4, 0x8161 -/* 03DECC 8004346C 38840020 */ addi r4, r4, 0x20 -/* 03DED0 80043470 38030001 */ addi r0, r3, 1 -/* 03DED4 80043474 90010084 */ stw r0, 0x84(r1) -/* 03DED8 80043478 5460103A */ slwi r0, r3, 2 -/* 03DEDC 8004347C 7C9F012E */ stwx r4, r31, r0 -/* 03DEE0 80043480 48000010 */ b lbl_80043490 -lbl_80043484: -/* 03DEE4 80043484 80610084 */ lwz r3, 0x84(r1) -/* 03DEE8 80043488 38030001 */ addi r0, r3, 1 -/* 03DEEC 8004348C 90010084 */ stw r0, 0x84(r1) -lbl_80043490: -/* 03DEF0 80043490 281F0000 */ cmplwi r31, 0 -/* 03DEF4 80043494 41820024 */ beq lbl_800434B8 -/* 03DEF8 80043498 80610084 */ lwz r3, 0x84(r1) -/* 03DEFC 8004349C 3C808181 */ lis r4, 0x8181 -/* 03DF00 800434A0 38840028 */ addi r4, r4, 0x28 -/* 03DF04 800434A4 38030001 */ addi r0, r3, 1 -/* 03DF08 800434A8 90010084 */ stw r0, 0x84(r1) -/* 03DF0C 800434AC 5460103A */ slwi r0, r3, 2 -/* 03DF10 800434B0 7C9F012E */ stwx r4, r31, r0 -/* 03DF14 800434B4 48000010 */ b lbl_800434C4 -lbl_800434B8: -/* 03DF18 800434B8 80610084 */ lwz r3, 0x84(r1) -/* 03DF1C 800434BC 38030001 */ addi r0, r3, 1 -/* 03DF20 800434C0 90010084 */ stw r0, 0x84(r1) -lbl_800434C4: -/* 03DF24 800434C4 281F0000 */ cmplwi r31, 0 -/* 03DF28 800434C8 41820024 */ beq lbl_800434EC -/* 03DF2C 800434CC 80610084 */ lwz r3, 0x84(r1) -/* 03DF30 800434D0 3C8081C1 */ lis r4, 0x81c1 -/* 03DF34 800434D4 38840030 */ addi r4, r4, 0x30 -/* 03DF38 800434D8 38030001 */ addi r0, r3, 1 -/* 03DF3C 800434DC 90010084 */ stw r0, 0x84(r1) -/* 03DF40 800434E0 5460103A */ slwi r0, r3, 2 -/* 03DF44 800434E4 7C9F012E */ stwx r4, r31, r0 -/* 03DF48 800434E8 48000010 */ b lbl_800434F8 -lbl_800434EC: -/* 03DF4C 800434EC 80610084 */ lwz r3, 0x84(r1) -/* 03DF50 800434F0 38030001 */ addi r0, r3, 1 -/* 03DF54 800434F4 90010084 */ stw r0, 0x84(r1) -lbl_800434F8: -/* 03DF58 800434F8 281F0000 */ cmplwi r31, 0 -/* 03DF5C 800434FC 41820024 */ beq lbl_80043520 -/* 03DF60 80043500 80610084 */ lwz r3, 0x84(r1) -/* 03DF64 80043504 3C8081E1 */ lis r4, 0x81e1 -/* 03DF68 80043508 38840038 */ addi r4, r4, 0x38 -/* 03DF6C 8004350C 38030001 */ addi r0, r3, 1 -/* 03DF70 80043510 90010084 */ stw r0, 0x84(r1) -/* 03DF74 80043514 5460103A */ slwi r0, r3, 2 -/* 03DF78 80043518 7C9F012E */ stwx r4, r31, r0 -/* 03DF7C 8004351C 48000010 */ b lbl_8004352C -lbl_80043520: -/* 03DF80 80043520 80610084 */ lwz r3, 0x84(r1) -/* 03DF84 80043524 38030001 */ addi r0, r3, 1 -/* 03DF88 80043528 90010084 */ stw r0, 0x84(r1) -lbl_8004352C: -/* 03DF8C 8004352C 281F0000 */ cmplwi r31, 0 -/* 03DF90 80043530 41820024 */ beq lbl_80043554 -/* 03DF94 80043534 80610084 */ lwz r3, 0x84(r1) -/* 03DF98 80043538 3C803821 */ lis r4, 0x3821 -/* 03DF9C 8004353C 38840040 */ addi r4, r4, 0x40 -/* 03DFA0 80043540 38030001 */ addi r0, r3, 1 -/* 03DFA4 80043544 90010084 */ stw r0, 0x84(r1) -/* 03DFA8 80043548 5460103A */ slwi r0, r3, 2 -/* 03DFAC 8004354C 7C9F012E */ stwx r4, r31, r0 -/* 03DFB0 80043550 480249E4 */ b lbl_80067F34 -lbl_80043554: -/* 03DFB4 80043554 80610084 */ lwz r3, 0x84(r1) -/* 03DFB8 80043558 38030001 */ addi r0, r3, 1 -/* 03DFBC 8004355C 90010084 */ stw r0, 0x84(r1) -/* 03DFC0 80043560 480249D4 */ b lbl_80067F34 -.global lbl_80043564 -lbl_80043564: -/* 03DFC4 80043564 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 03DFC8 80043568 7C7A1A14 */ add r3, r26, r3 -/* 03DFCC 8004356C 80A30818 */ lwz r5, 0x818(r3) -/* 03DFD0 80043570 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 03DFD4 80043574 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 03DFD8 80043578 40820050 */ bne lbl_800435C8 -/* 03DFDC 8004357C 281F0000 */ cmplwi r31, 0 -/* 03DFE0 80043580 4182003C */ beq lbl_800435BC -/* 03DFE4 80043584 54041838 */ slwi r4, r0, 3 -/* 03DFE8 80043588 80610084 */ lwz r3, 0x84(r1) -/* 03DFEC 8004358C 38840040 */ addi r4, r4, 0x40 -/* 03DFF0 80043590 54A5A814 */ slwi r5, r5, 0x15 -/* 03DFF4 80043594 7C9E2214 */ add r4, r30, r4 -/* 03DFF8 80043598 38C30001 */ addi r6, r3, 1 -/* 03DFFC 8004359C 64A59003 */ oris r5, r5, 0x9003 -/* 03E000 800435A0 90C10084 */ stw r6, 0x84(r1) -/* 03E004 800435A4 7C9E2050 */ subf r4, r30, r4 -/* 03E008 800435A8 7C842A14 */ add r4, r4, r5 -/* 03E00C 800435AC 38840004 */ addi r4, r4, 4 -/* 03E010 800435B0 5463103A */ slwi r3, r3, 2 -/* 03E014 800435B4 7C9F192E */ stwx r4, r31, r3 -/* 03E018 800435B8 48000010 */ b lbl_800435C8 -lbl_800435BC: -/* 03E01C 800435BC 80610084 */ lwz r3, 0x84(r1) -/* 03E020 800435C0 38630001 */ addi r3, r3, 1 -/* 03E024 800435C4 90610084 */ stw r3, 0x84(r1) -lbl_800435C8: -/* 03E028 800435C8 57836E7A */ rlwinm r3, r28, 0xd, 0x19, 0x1d -/* 03E02C 800435CC 7C7A1A14 */ add r3, r26, r3 -/* 03E030 800435D0 80E30818 */ lwz r7, 0x818(r3) -/* 03E034 800435D4 57845EFE */ rlwinm r4, r28, 0xb, 0x1b, 0x1f -/* 03E038 800435D8 54E305EF */ rlwinm. r3, r7, 0, 0x17, 0x17 -/* 03E03C 800435DC 40820050 */ bne lbl_8004362C -/* 03E040 800435E0 281F0000 */ cmplwi r31, 0 -/* 03E044 800435E4 4182003C */ beq lbl_80043620 -/* 03E048 800435E8 54831838 */ slwi r3, r4, 3 -/* 03E04C 800435EC 80C10084 */ lwz r6, 0x84(r1) -/* 03E050 800435F0 38A30040 */ addi r5, r3, 0x40 -/* 03E054 800435F4 54E3A814 */ slwi r3, r7, 0x15 -/* 03E058 800435F8 7CFE2A14 */ add r7, r30, r5 -/* 03E05C 800435FC 38A60001 */ addi r5, r6, 1 -/* 03E060 80043600 64639003 */ oris r3, r3, 0x9003 -/* 03E064 80043604 90A10084 */ stw r5, 0x84(r1) -/* 03E068 80043608 7CBE3850 */ subf r5, r30, r7 -/* 03E06C 8004360C 7C651A14 */ add r3, r5, r3 -/* 03E070 80043610 38630004 */ addi r3, r3, 4 -/* 03E074 80043614 54C5103A */ slwi r5, r6, 2 -/* 03E078 80043618 7C7F292E */ stwx r3, r31, r5 -/* 03E07C 8004361C 48000010 */ b lbl_8004362C -lbl_80043620: -/* 03E080 80043620 80610084 */ lwz r3, 0x84(r1) -/* 03E084 80043624 38630001 */ addi r3, r3, 1 -/* 03E088 80043628 90610084 */ stw r3, 0x84(r1) -lbl_8004362C: -/* 03E08C 8004362C 281F0000 */ cmplwi r31, 0 -/* 03E090 80043630 41820024 */ beq lbl_80043654 -/* 03E094 80043634 80A10084 */ lwz r5, 0x84(r1) -/* 03E098 80043638 3C609422 */ lis r3, 0x9422 -/* 03E09C 8004363C 38C3FFD0 */ addi r6, r3, -48 -/* 03E0A0 80043640 38650001 */ addi r3, r5, 1 -/* 03E0A4 80043644 90610084 */ stw r3, 0x84(r1) -/* 03E0A8 80043648 54A3103A */ slwi r3, r5, 2 -/* 03E0AC 8004364C 7CDF192E */ stwx r6, r31, r3 -/* 03E0B0 80043650 48000010 */ b lbl_80043660 -lbl_80043654: -/* 03E0B4 80043654 80610084 */ lwz r3, 0x84(r1) -/* 03E0B8 80043658 38630001 */ addi r3, r3, 1 -/* 03E0BC 8004365C 90610084 */ stw r3, 0x84(r1) -lbl_80043660: -/* 03E0C0 80043660 281F0000 */ cmplwi r31, 0 -/* 03E0C4 80043664 41820024 */ beq lbl_80043688 -/* 03E0C8 80043668 80A10084 */ lwz r5, 0x84(r1) -/* 03E0CC 8004366C 3C609101 */ lis r3, 0x9101 -/* 03E0D0 80043670 38C30008 */ addi r6, r3, 8 -/* 03E0D4 80043674 38650001 */ addi r3, r5, 1 -/* 03E0D8 80043678 90610084 */ stw r3, 0x84(r1) -/* 03E0DC 8004367C 54A3103A */ slwi r3, r5, 2 -/* 03E0E0 80043680 7CDF192E */ stwx r6, r31, r3 -/* 03E0E4 80043684 48000010 */ b lbl_80043694 -lbl_80043688: -/* 03E0E8 80043688 80610084 */ lwz r3, 0x84(r1) -/* 03E0EC 8004368C 38630001 */ addi r3, r3, 1 -/* 03E0F0 80043690 90610084 */ stw r3, 0x84(r1) -lbl_80043694: -/* 03E0F4 80043694 281F0000 */ cmplwi r31, 0 -/* 03E0F8 80043698 41820024 */ beq lbl_800436BC -/* 03E0FC 8004369C 80A10084 */ lwz r5, 0x84(r1) -/* 03E100 800436A0 3C609121 */ lis r3, 0x9121 -/* 03E104 800436A4 38C30010 */ addi r6, r3, 0x10 -/* 03E108 800436A8 38650001 */ addi r3, r5, 1 -/* 03E10C 800436AC 90610084 */ stw r3, 0x84(r1) -/* 03E110 800436B0 54A3103A */ slwi r3, r5, 2 -/* 03E114 800436B4 7CDF192E */ stwx r6, r31, r3 -/* 03E118 800436B8 48000010 */ b lbl_800436C8 -lbl_800436BC: -/* 03E11C 800436BC 80610084 */ lwz r3, 0x84(r1) -/* 03E120 800436C0 38630001 */ addi r3, r3, 1 -/* 03E124 800436C4 90610084 */ stw r3, 0x84(r1) -lbl_800436C8: -/* 03E128 800436C8 281F0000 */ cmplwi r31, 0 -/* 03E12C 800436CC 41820024 */ beq lbl_800436F0 -/* 03E130 800436D0 80A10084 */ lwz r5, 0x84(r1) -/* 03E134 800436D4 3C609141 */ lis r3, 0x9141 -/* 03E138 800436D8 38C30018 */ addi r6, r3, 0x18 -/* 03E13C 800436DC 38650001 */ addi r3, r5, 1 -/* 03E140 800436E0 90610084 */ stw r3, 0x84(r1) -/* 03E144 800436E4 54A3103A */ slwi r3, r5, 2 -/* 03E148 800436E8 7CDF192E */ stwx r6, r31, r3 -/* 03E14C 800436EC 48000010 */ b lbl_800436FC -lbl_800436F0: -/* 03E150 800436F0 80610084 */ lwz r3, 0x84(r1) -/* 03E154 800436F4 38630001 */ addi r3, r3, 1 -/* 03E158 800436F8 90610084 */ stw r3, 0x84(r1) -lbl_800436FC: -/* 03E15C 800436FC 281F0000 */ cmplwi r31, 0 -/* 03E160 80043700 41820024 */ beq lbl_80043724 -/* 03E164 80043704 80A10084 */ lwz r5, 0x84(r1) -/* 03E168 80043708 3C609161 */ lis r3, 0x9161 -/* 03E16C 8004370C 38C30020 */ addi r6, r3, 0x20 -/* 03E170 80043710 38650001 */ addi r3, r5, 1 -/* 03E174 80043714 90610084 */ stw r3, 0x84(r1) -/* 03E178 80043718 54A3103A */ slwi r3, r5, 2 -/* 03E17C 8004371C 7CDF192E */ stwx r6, r31, r3 -/* 03E180 80043720 48000010 */ b lbl_80043730 -lbl_80043724: -/* 03E184 80043724 80610084 */ lwz r3, 0x84(r1) -/* 03E188 80043728 38630001 */ addi r3, r3, 1 -/* 03E18C 8004372C 90610084 */ stw r3, 0x84(r1) -lbl_80043730: -/* 03E190 80043730 281F0000 */ cmplwi r31, 0 -/* 03E194 80043734 41820024 */ beq lbl_80043758 -/* 03E198 80043738 80A10084 */ lwz r5, 0x84(r1) -/* 03E19C 8004373C 3C609181 */ lis r3, 0x9181 -/* 03E1A0 80043740 38C30028 */ addi r6, r3, 0x28 -/* 03E1A4 80043744 38650001 */ addi r3, r5, 1 -/* 03E1A8 80043748 90610084 */ stw r3, 0x84(r1) -/* 03E1AC 8004374C 54A3103A */ slwi r3, r5, 2 -/* 03E1B0 80043750 7CDF192E */ stwx r6, r31, r3 -/* 03E1B4 80043754 48000010 */ b lbl_80043764 -lbl_80043758: -/* 03E1B8 80043758 80610084 */ lwz r3, 0x84(r1) -/* 03E1BC 8004375C 38630001 */ addi r3, r3, 1 -/* 03E1C0 80043760 90610084 */ stw r3, 0x84(r1) -lbl_80043764: -/* 03E1C4 80043764 281F0000 */ cmplwi r31, 0 -/* 03E1C8 80043768 41820030 */ beq lbl_80043798 -/* 03E1CC 8004376C 80610084 */ lwz r3, 0x84(r1) -/* 03E1D0 80043770 54851838 */ slwi r5, r4, 3 -/* 03E1D4 80043774 38A50040 */ addi r5, r5, 0x40 -/* 03E1D8 80043778 7CBE2A14 */ add r5, r30, r5 -/* 03E1DC 8004377C 38C30001 */ addi r6, r3, 1 -/* 03E1E0 80043780 7CBE2850 */ subf r5, r30, r5 -/* 03E1E4 80043784 90C10084 */ stw r6, 0x84(r1) -/* 03E1E8 80043788 3CA58103 */ addis r5, r5, 0x8103 -/* 03E1EC 8004378C 5463103A */ slwi r3, r3, 2 -/* 03E1F0 80043790 7CBF192E */ stwx r5, r31, r3 -/* 03E1F4 80043794 48000010 */ b lbl_800437A4 -lbl_80043798: -/* 03E1F8 80043798 80610084 */ lwz r3, 0x84(r1) -/* 03E1FC 8004379C 38630001 */ addi r3, r3, 1 -/* 03E200 800437A0 90610084 */ stw r3, 0x84(r1) -lbl_800437A4: -/* 03E204 800437A4 281F0000 */ cmplwi r31, 0 -/* 03E208 800437A8 41820034 */ beq lbl_800437DC -/* 03E20C 800437AC 54831838 */ slwi r3, r4, 3 -/* 03E210 800437B0 80810084 */ lwz r4, 0x84(r1) -/* 03E214 800437B4 38630040 */ addi r3, r3, 0x40 -/* 03E218 800437B8 7C7E1A14 */ add r3, r30, r3 -/* 03E21C 800437BC 7CBE1850 */ subf r5, r30, r3 -/* 03E220 800437C0 38640001 */ addi r3, r4, 1 -/* 03E224 800437C4 3CA58123 */ addis r5, r5, 0x8123 -/* 03E228 800437C8 90610084 */ stw r3, 0x84(r1) -/* 03E22C 800437CC 38650004 */ addi r3, r5, 4 -/* 03E230 800437D0 5484103A */ slwi r4, r4, 2 -/* 03E234 800437D4 7C7F212E */ stwx r3, r31, r4 -/* 03E238 800437D8 48000010 */ b lbl_800437E8 -lbl_800437DC: -/* 03E23C 800437DC 80610084 */ lwz r3, 0x84(r1) -/* 03E240 800437E0 38630001 */ addi r3, r3, 1 -/* 03E244 800437E4 90610084 */ stw r3, 0x84(r1) -lbl_800437E8: -/* 03E248 800437E8 281F0000 */ cmplwi r31, 0 -/* 03E24C 800437EC 41820030 */ beq lbl_8004381C -/* 03E250 800437F0 80610084 */ lwz r3, 0x84(r1) -/* 03E254 800437F4 54041838 */ slwi r4, r0, 3 -/* 03E258 800437F8 38840040 */ addi r4, r4, 0x40 -/* 03E25C 800437FC 7C9E2214 */ add r4, r30, r4 -/* 03E260 80043800 38A30001 */ addi r5, r3, 1 -/* 03E264 80043804 7C9E2050 */ subf r4, r30, r4 -/* 03E268 80043808 90A10084 */ stw r5, 0x84(r1) -/* 03E26C 8004380C 3C848143 */ addis r4, r4, 0x8143 -/* 03E270 80043810 5463103A */ slwi r3, r3, 2 -/* 03E274 80043814 7C9F192E */ stwx r4, r31, r3 -/* 03E278 80043818 48000010 */ b lbl_80043828 -lbl_8004381C: -/* 03E27C 8004381C 80610084 */ lwz r3, 0x84(r1) -/* 03E280 80043820 38630001 */ addi r3, r3, 1 -/* 03E284 80043824 90610084 */ stw r3, 0x84(r1) -lbl_80043828: -/* 03E288 80043828 281F0000 */ cmplwi r31, 0 -/* 03E28C 8004382C 41820034 */ beq lbl_80043860 -/* 03E290 80043830 54041838 */ slwi r4, r0, 3 -/* 03E294 80043834 80610084 */ lwz r3, 0x84(r1) -/* 03E298 80043838 38040040 */ addi r0, r4, 0x40 -/* 03E29C 8004383C 7C1E0214 */ add r0, r30, r0 -/* 03E2A0 80043840 7C9E0050 */ subf r4, r30, r0 -/* 03E2A4 80043844 38030001 */ addi r0, r3, 1 -/* 03E2A8 80043848 3C848163 */ addis r4, r4, 0x8163 -/* 03E2AC 8004384C 90010084 */ stw r0, 0x84(r1) -/* 03E2B0 80043850 38040004 */ addi r0, r4, 4 -/* 03E2B4 80043854 5463103A */ slwi r3, r3, 2 -/* 03E2B8 80043858 7C1F192E */ stwx r0, r31, r3 -/* 03E2BC 8004385C 48000010 */ b lbl_8004386C -lbl_80043860: -/* 03E2C0 80043860 80610084 */ lwz r3, 0x84(r1) -/* 03E2C4 80043864 38030001 */ addi r0, r3, 1 -/* 03E2C8 80043868 90010084 */ stw r0, 0x84(r1) -lbl_8004386C: -/* 03E2CC 8004386C 281F0000 */ cmplwi r31, 0 -/* 03E2D0 80043870 41820034 */ beq lbl_800438A4 -/* 03E2D4 80043874 80610084 */ lwz r3, 0x84(r1) -/* 03E2D8 80043878 800D8A1C */ lwz r0, cpuCompile_DDIVU_function@sda21(r13) -/* 03E2DC 8004387C 5465103A */ slwi r5, r3, 2 -/* 03E2E0 80043880 7C9F2A14 */ add r4, r31, r5 -/* 03E2E4 80043884 7C040050 */ subf r0, r4, r0 -/* 03E2E8 80043888 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 03E2EC 8004388C 38630001 */ addi r3, r3, 1 -/* 03E2F0 80043890 64004800 */ oris r0, r0, 0x4800 -/* 03E2F4 80043894 90610084 */ stw r3, 0x84(r1) -/* 03E2F8 80043898 60000001 */ ori r0, r0, 1 -/* 03E2FC 8004389C 7C1F292E */ stwx r0, r31, r5 -/* 03E300 800438A0 48000010 */ b lbl_800438B0 -lbl_800438A4: -/* 03E304 800438A4 80610084 */ lwz r3, 0x84(r1) -/* 03E308 800438A8 38030001 */ addi r0, r3, 1 -/* 03E30C 800438AC 90010084 */ stw r0, 0x84(r1) -lbl_800438B0: -/* 03E310 800438B0 281F0000 */ cmplwi r31, 0 -/* 03E314 800438B4 41820024 */ beq lbl_800438D8 -/* 03E318 800438B8 80610084 */ lwz r3, 0x84(r1) -/* 03E31C 800438BC 3C808101 */ lis r4, 0x8101 -/* 03E320 800438C0 38840008 */ addi r4, r4, 8 -/* 03E324 800438C4 38030001 */ addi r0, r3, 1 -/* 03E328 800438C8 90010084 */ stw r0, 0x84(r1) -/* 03E32C 800438CC 5460103A */ slwi r0, r3, 2 -/* 03E330 800438D0 7C9F012E */ stwx r4, r31, r0 -/* 03E334 800438D4 48000010 */ b lbl_800438E4 -lbl_800438D8: -/* 03E338 800438D8 80610084 */ lwz r3, 0x84(r1) -/* 03E33C 800438DC 38030001 */ addi r0, r3, 1 -/* 03E340 800438E0 90010084 */ stw r0, 0x84(r1) -lbl_800438E4: -/* 03E344 800438E4 281F0000 */ cmplwi r31, 0 -/* 03E348 800438E8 41820024 */ beq lbl_8004390C -/* 03E34C 800438EC 80610084 */ lwz r3, 0x84(r1) -/* 03E350 800438F0 3C808121 */ lis r4, 0x8121 -/* 03E354 800438F4 38840010 */ addi r4, r4, 0x10 -/* 03E358 800438F8 38030001 */ addi r0, r3, 1 -/* 03E35C 800438FC 90010084 */ stw r0, 0x84(r1) -/* 03E360 80043900 5460103A */ slwi r0, r3, 2 -/* 03E364 80043904 7C9F012E */ stwx r4, r31, r0 -/* 03E368 80043908 48000010 */ b lbl_80043918 -lbl_8004390C: -/* 03E36C 8004390C 80610084 */ lwz r3, 0x84(r1) -/* 03E370 80043910 38030001 */ addi r0, r3, 1 -/* 03E374 80043914 90010084 */ stw r0, 0x84(r1) -lbl_80043918: -/* 03E378 80043918 281F0000 */ cmplwi r31, 0 -/* 03E37C 8004391C 41820024 */ beq lbl_80043940 -/* 03E380 80043920 80610084 */ lwz r3, 0x84(r1) -/* 03E384 80043924 3C808141 */ lis r4, 0x8141 -/* 03E388 80043928 38840018 */ addi r4, r4, 0x18 -/* 03E38C 8004392C 38030001 */ addi r0, r3, 1 -/* 03E390 80043930 90010084 */ stw r0, 0x84(r1) -/* 03E394 80043934 5460103A */ slwi r0, r3, 2 -/* 03E398 80043938 7C9F012E */ stwx r4, r31, r0 -/* 03E39C 8004393C 48000010 */ b lbl_8004394C -lbl_80043940: -/* 03E3A0 80043940 80610084 */ lwz r3, 0x84(r1) -/* 03E3A4 80043944 38030001 */ addi r0, r3, 1 -/* 03E3A8 80043948 90010084 */ stw r0, 0x84(r1) -lbl_8004394C: -/* 03E3AC 8004394C 281F0000 */ cmplwi r31, 0 -/* 03E3B0 80043950 41820024 */ beq lbl_80043974 -/* 03E3B4 80043954 80610084 */ lwz r3, 0x84(r1) -/* 03E3B8 80043958 3C808161 */ lis r4, 0x8161 -/* 03E3BC 8004395C 38840020 */ addi r4, r4, 0x20 -/* 03E3C0 80043960 38030001 */ addi r0, r3, 1 -/* 03E3C4 80043964 90010084 */ stw r0, 0x84(r1) -/* 03E3C8 80043968 5460103A */ slwi r0, r3, 2 -/* 03E3CC 8004396C 7C9F012E */ stwx r4, r31, r0 -/* 03E3D0 80043970 48000010 */ b lbl_80043980 -lbl_80043974: -/* 03E3D4 80043974 80610084 */ lwz r3, 0x84(r1) -/* 03E3D8 80043978 38030001 */ addi r0, r3, 1 -/* 03E3DC 8004397C 90010084 */ stw r0, 0x84(r1) -lbl_80043980: -/* 03E3E0 80043980 281F0000 */ cmplwi r31, 0 -/* 03E3E4 80043984 41820024 */ beq lbl_800439A8 -/* 03E3E8 80043988 80610084 */ lwz r3, 0x84(r1) -/* 03E3EC 8004398C 3C808181 */ lis r4, 0x8181 -/* 03E3F0 80043990 38840028 */ addi r4, r4, 0x28 -/* 03E3F4 80043994 38030001 */ addi r0, r3, 1 -/* 03E3F8 80043998 90010084 */ stw r0, 0x84(r1) -/* 03E3FC 8004399C 5460103A */ slwi r0, r3, 2 -/* 03E400 800439A0 7C9F012E */ stwx r4, r31, r0 -/* 03E404 800439A4 48000010 */ b lbl_800439B4 -lbl_800439A8: -/* 03E408 800439A8 80610084 */ lwz r3, 0x84(r1) -/* 03E40C 800439AC 38030001 */ addi r0, r3, 1 -/* 03E410 800439B0 90010084 */ stw r0, 0x84(r1) -lbl_800439B4: -/* 03E414 800439B4 281F0000 */ cmplwi r31, 0 -/* 03E418 800439B8 41820024 */ beq lbl_800439DC -/* 03E41C 800439BC 80610084 */ lwz r3, 0x84(r1) -/* 03E420 800439C0 3C803821 */ lis r4, 0x3821 -/* 03E424 800439C4 38840030 */ addi r4, r4, 0x30 -/* 03E428 800439C8 38030001 */ addi r0, r3, 1 -/* 03E42C 800439CC 90010084 */ stw r0, 0x84(r1) -/* 03E430 800439D0 5460103A */ slwi r0, r3, 2 -/* 03E434 800439D4 7C9F012E */ stwx r4, r31, r0 -/* 03E438 800439D8 4802455C */ b lbl_80067F34 -lbl_800439DC: -/* 03E43C 800439DC 80610084 */ lwz r3, 0x84(r1) -/* 03E440 800439E0 38030001 */ addi r0, r3, 1 -/* 03E444 800439E4 90010084 */ stw r0, 0x84(r1) -/* 03E448 800439E8 4802454C */ b lbl_80067F34 -.global lbl_800439EC -lbl_800439EC: -/* 03E44C 800439EC 3C9E0001 */ addis r4, r30, 1 -/* 03E450 800439F0 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 03E454 800439F4 80A42058 */ lwz r5, 0x2058(r4) -/* 03E458 800439F8 38600001 */ li r3, 1 -/* 03E45C 800439FC 7C660030 */ slw r6, r3, r0 -/* 03E460 80043A00 7CA63039 */ and. r6, r5, r6 -/* 03E464 80043A04 40820014 */ bne lbl_80043A18 -/* 03E468 80043A08 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 03E46C 80043A0C 7C663030 */ slw r6, r3, r6 -/* 03E470 80043A10 7CA63039 */ and. r6, r5, r6 -/* 03E474 80043A14 41820024 */ beq lbl_80043A38 -lbl_80043A18: -/* 03E478 80043A18 3C7E0001 */ addis r3, r30, 1 -/* 03E47C 80043A1C 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 03E480 80043A20 80A32058 */ lwz r5, 0x2058(r3) -/* 03E484 80043A24 38800001 */ li r4, 1 -/* 03E488 80043A28 7C843030 */ slw r4, r4, r6 -/* 03E48C 80043A2C 7CA42378 */ or r4, r5, r4 -/* 03E490 80043A30 90832058 */ stw r4, 0x2058(r3) -/* 03E494 80043A34 48000014 */ b lbl_80043A48 -lbl_80043A38: -/* 03E498 80043A38 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 03E49C 80043A3C 7C633030 */ slw r3, r3, r6 -/* 03E4A0 80043A40 7CA31878 */ andc r3, r5, r3 -/* 03E4A4 80043A44 90642058 */ stw r3, 0x2058(r4) -lbl_80043A48: -/* 03E4A8 80043A48 5783BE7A */ rlwinm r3, r28, 0x17, 0x19, 0x1d -/* 03E4AC 80043A4C 7D7A1A14 */ add r11, r26, r3 -/* 03E4B0 80043A50 84AB0818 */ lwzu r5, 0x818(r11) -/* 03E4B4 80043A54 5789AEFE */ rlwinm r9, r28, 0x15, 0x1b, 0x1f -/* 03E4B8 80043A58 54A405EF */ rlwinm. r4, r5, 0, 0x17, 0x17 -/* 03E4BC 80043A5C 39400000 */ li r10, 0 -/* 03E4C0 80043A60 38600000 */ li r3, 0 -/* 03E4C4 80043A64 4182000C */ beq lbl_80043A70 -/* 03E4C8 80043A68 38A00005 */ li r5, 5 -/* 03E4CC 80043A6C 38600001 */ li r3, 1 -lbl_80043A70: -/* 03E4D0 80043A70 28000000 */ cmplwi r0, 0 -/* 03E4D4 80043A74 40820338 */ bne lbl_80043DAC -/* 03E4D8 80043A78 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 03E4DC 80043A7C 2804001F */ cmplwi r4, 0x1f -/* 03E4E0 80043A80 4082009C */ bne lbl_80043B1C -/* 03E4E4 80043A84 3CDE0001 */ addis r6, r30, 1 -/* 03E4E8 80043A88 8006205C */ lwz r0, 0x205c(r6) -/* 03E4EC 80043A8C 5400077B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 03E4F0 80043A90 4082008C */ bne lbl_80043B1C -/* 03E4F4 80043A94 281F0000 */ cmplwi r31, 0 -/* 03E4F8 80043A98 41820028 */ beq lbl_80043AC0 -/* 03E4FC 80043A9C 80610084 */ lwz r3, 0x84(r1) -/* 03E500 80043AA0 381E0038 */ addi r0, r30, 0x38 -/* 03E504 80043AA4 7CDE0050 */ subf r6, r30, r0 -/* 03E508 80043AA8 38030001 */ addi r0, r3, 1 -/* 03E50C 80043AAC 90010084 */ stw r0, 0x84(r1) -/* 03E510 80043AB0 3C0680C3 */ addis r0, r6, 0x80c3 -/* 03E514 80043AB4 5463103A */ slwi r3, r3, 2 -/* 03E518 80043AB8 7C1F192E */ stwx r0, r31, r3 -/* 03E51C 80043ABC 48000010 */ b lbl_80043ACC -lbl_80043AC0: -/* 03E520 80043AC0 80610084 */ lwz r3, 0x84(r1) -/* 03E524 80043AC4 38030001 */ addi r0, r3, 1 -/* 03E528 80043AC8 90010084 */ stw r0, 0x84(r1) -lbl_80043ACC: -/* 03E52C 80043ACC 281F0000 */ cmplwi r31, 0 -/* 03E530 80043AD0 41820028 */ beq lbl_80043AF8 -/* 03E534 80043AD4 80610084 */ lwz r3, 0x84(r1) -/* 03E538 80043AD8 54A0801E */ slwi r0, r5, 0x10 -/* 03E53C 80043ADC 64067CC0 */ oris r6, r0, 0x7cc0 -/* 03E540 80043AE0 38030001 */ addi r0, r3, 1 -/* 03E544 80043AE4 90010084 */ stw r0, 0x84(r1) -/* 03E548 80043AE8 60C63378 */ ori r6, r6, 0x3378 -/* 03E54C 80043AEC 5460103A */ slwi r0, r3, 2 -/* 03E550 80043AF0 7CDF012E */ stwx r6, r31, r0 -/* 03E554 80043AF4 48000010 */ b lbl_80043B04 -lbl_80043AF8: -/* 03E558 80043AF8 80610084 */ lwz r3, 0x84(r1) -/* 03E55C 80043AFC 38030001 */ addi r0, r3, 1 -/* 03E560 80043B00 90010084 */ stw r0, 0x84(r1) -lbl_80043B04: -/* 03E564 80043B04 3C7E0001 */ addis r3, r30, 1 -/* 03E568 80043B08 8003205C */ lwz r0, 0x205c(r3) -/* 03E56C 80043B0C 39400001 */ li r10, 1 -/* 03E570 80043B10 60000008 */ ori r0, r0, 8 -/* 03E574 80043B14 9003205C */ stw r0, 0x205c(r3) -/* 03E578 80043B18 480001CC */ b lbl_80043CE4 -lbl_80043B1C: -/* 03E57C 80043B1C 2C030000 */ cmpwi r3, 0 -/* 03E580 80043B20 408200B4 */ bne lbl_80043BD4 -/* 03E584 80043B24 5480103A */ slwi r0, r4, 2 -/* 03E588 80043B28 7C7A0214 */ add r3, r26, r0 -/* 03E58C 80043B2C 80C30818 */ lwz r6, 0x818(r3) -/* 03E590 80043B30 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 03E594 80043B34 41820054 */ beq lbl_80043B88 -/* 03E598 80043B38 281F0000 */ cmplwi r31, 0 -/* 03E59C 80043B3C 4182003C */ beq lbl_80043B78 -/* 03E5A0 80043B40 54861838 */ slwi r6, r4, 3 -/* 03E5A4 80043B44 80610084 */ lwz r3, 0x84(r1) -/* 03E5A8 80043B48 38060040 */ addi r0, r6, 0x40 -/* 03E5AC 80043B4C 54A6A814 */ slwi r6, r5, 0x15 -/* 03E5B0 80043B50 7C1E0214 */ add r0, r30, r0 -/* 03E5B4 80043B54 38E30001 */ addi r7, r3, 1 -/* 03E5B8 80043B58 64C68003 */ oris r6, r6, 0x8003 -/* 03E5BC 80043B5C 90E10084 */ stw r7, 0x84(r1) -/* 03E5C0 80043B60 7C1E0050 */ subf r0, r30, r0 -/* 03E5C4 80043B64 7CC03214 */ add r6, r0, r6 -/* 03E5C8 80043B68 38060004 */ addi r0, r6, 4 -/* 03E5CC 80043B6C 5463103A */ slwi r3, r3, 2 -/* 03E5D0 80043B70 7C1F192E */ stwx r0, r31, r3 -/* 03E5D4 80043B74 48000170 */ b lbl_80043CE4 -lbl_80043B78: -/* 03E5D8 80043B78 80610084 */ lwz r3, 0x84(r1) -/* 03E5DC 80043B7C 38030001 */ addi r0, r3, 1 -/* 03E5E0 80043B80 90010084 */ stw r0, 0x84(r1) -/* 03E5E4 80043B84 48000160 */ b lbl_80043CE4 -lbl_80043B88: -/* 03E5E8 80043B88 281F0000 */ cmplwi r31, 0 -/* 03E5EC 80043B8C 41820038 */ beq lbl_80043BC4 -/* 03E5F0 80043B90 80610084 */ lwz r3, 0x84(r1) -/* 03E5F4 80043B94 54C0A814 */ slwi r0, r6, 0x15 -/* 03E5F8 80043B98 64007C00 */ oris r0, r0, 0x7c00 -/* 03E5FC 80043B9C 38E30001 */ addi r7, r3, 1 -/* 03E600 80043BA0 60000378 */ ori r0, r0, 0x378 -/* 03E604 80043BA4 90E10084 */ stw r7, 0x84(r1) -/* 03E608 80043BA8 54A7801E */ slwi r7, r5, 0x10 -/* 03E60C 80043BAC 54C65828 */ slwi r6, r6, 0xb -/* 03E610 80043BB0 7C003B78 */ or r0, r0, r7 -/* 03E614 80043BB4 7CC00378 */ or r0, r6, r0 -/* 03E618 80043BB8 5463103A */ slwi r3, r3, 2 -/* 03E61C 80043BBC 7C1F192E */ stwx r0, r31, r3 -/* 03E620 80043BC0 48000124 */ b lbl_80043CE4 -lbl_80043BC4: -/* 03E624 80043BC4 80610084 */ lwz r3, 0x84(r1) -/* 03E628 80043BC8 38030001 */ addi r0, r3, 1 -/* 03E62C 80043BCC 90010084 */ stw r0, 0x84(r1) -/* 03E630 80043BD0 48000114 */ b lbl_80043CE4 -lbl_80043BD4: -/* 03E634 80043BD4 5480103A */ slwi r0, r4, 2 -/* 03E638 80043BD8 7C7A0214 */ add r3, r26, r0 -/* 03E63C 80043BDC 80030818 */ lwz r0, 0x818(r3) -/* 03E640 80043BE0 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03E644 80043BE4 418200B4 */ beq lbl_80043C98 -/* 03E648 80043BE8 281F0000 */ cmplwi r31, 0 -/* 03E64C 80043BEC 4182003C */ beq lbl_80043C28 -/* 03E650 80043BF0 54861838 */ slwi r6, r4, 3 -/* 03E654 80043BF4 80610084 */ lwz r3, 0x84(r1) -/* 03E658 80043BF8 38060040 */ addi r0, r6, 0x40 -/* 03E65C 80043BFC 54A6A814 */ slwi r6, r5, 0x15 -/* 03E660 80043C00 7C1E0214 */ add r0, r30, r0 -/* 03E664 80043C04 38E30001 */ addi r7, r3, 1 -/* 03E668 80043C08 64C68003 */ oris r6, r6, 0x8003 -/* 03E66C 80043C0C 90E10084 */ stw r7, 0x84(r1) -/* 03E670 80043C10 7C1E0050 */ subf r0, r30, r0 -/* 03E674 80043C14 7CC03214 */ add r6, r0, r6 -/* 03E678 80043C18 38060004 */ addi r0, r6, 4 -/* 03E67C 80043C1C 5463103A */ slwi r3, r3, 2 -/* 03E680 80043C20 7C1F192E */ stwx r0, r31, r3 -/* 03E684 80043C24 48000010 */ b lbl_80043C34 -lbl_80043C28: -/* 03E688 80043C28 80610084 */ lwz r3, 0x84(r1) -/* 03E68C 80043C2C 38030001 */ addi r0, r3, 1 -/* 03E690 80043C30 90010084 */ stw r0, 0x84(r1) -lbl_80043C34: -/* 03E694 80043C34 281F0000 */ cmplwi r31, 0 -/* 03E698 80043C38 4182003C */ beq lbl_80043C74 -/* 03E69C 80043C3C 55261838 */ slwi r6, r9, 3 -/* 03E6A0 80043C40 80610084 */ lwz r3, 0x84(r1) -/* 03E6A4 80043C44 38060040 */ addi r0, r6, 0x40 -/* 03E6A8 80043C48 54A6A814 */ slwi r6, r5, 0x15 -/* 03E6AC 80043C4C 7C1E0214 */ add r0, r30, r0 -/* 03E6B0 80043C50 38E30001 */ addi r7, r3, 1 -/* 03E6B4 80043C54 64C69003 */ oris r6, r6, 0x9003 -/* 03E6B8 80043C58 90E10084 */ stw r7, 0x84(r1) -/* 03E6BC 80043C5C 7C1E0050 */ subf r0, r30, r0 -/* 03E6C0 80043C60 7CC03214 */ add r6, r0, r6 -/* 03E6C4 80043C64 38060004 */ addi r0, r6, 4 -/* 03E6C8 80043C68 5463103A */ slwi r3, r3, 2 -/* 03E6CC 80043C6C 7C1F192E */ stwx r0, r31, r3 -/* 03E6D0 80043C70 48000010 */ b lbl_80043C80 -lbl_80043C74: -/* 03E6D4 80043C74 80610084 */ lwz r3, 0x84(r1) -/* 03E6D8 80043C78 38030001 */ addi r0, r3, 1 -/* 03E6DC 80043C7C 90010084 */ stw r0, 0x84(r1) -lbl_80043C80: -/* 03E6E0 80043C80 3C7E0001 */ addis r3, r30, 1 -/* 03E6E4 80043C84 38000002 */ li r0, 2 -/* 03E6E8 80043C88 90032068 */ stw r0, 0x2068(r3) -/* 03E6EC 80043C8C 9123206C */ stw r9, 0x206c(r3) -/* 03E6F0 80043C90 90A32070 */ stw r5, 0x2070(r3) -/* 03E6F4 80043C94 48000050 */ b lbl_80043CE4 -lbl_80043C98: -/* 03E6F8 80043C98 281F0000 */ cmplwi r31, 0 -/* 03E6FC 80043C9C 4182003C */ beq lbl_80043CD8 -/* 03E700 80043CA0 55261838 */ slwi r6, r9, 3 -/* 03E704 80043CA4 80610084 */ lwz r3, 0x84(r1) -/* 03E708 80043CA8 38C60040 */ addi r6, r6, 0x40 -/* 03E70C 80043CAC 5400A814 */ slwi r0, r0, 0x15 -/* 03E710 80043CB0 7CDE3214 */ add r6, r30, r6 -/* 03E714 80043CB4 38E30001 */ addi r7, r3, 1 -/* 03E718 80043CB8 64009003 */ oris r0, r0, 0x9003 -/* 03E71C 80043CBC 90E10084 */ stw r7, 0x84(r1) -/* 03E720 80043CC0 7CDE3050 */ subf r6, r30, r6 -/* 03E724 80043CC4 7CC60214 */ add r6, r6, r0 -/* 03E728 80043CC8 38060004 */ addi r0, r6, 4 -/* 03E72C 80043CCC 5463103A */ slwi r3, r3, 2 -/* 03E730 80043CD0 7C1F192E */ stwx r0, r31, r3 -/* 03E734 80043CD4 48000010 */ b lbl_80043CE4 -lbl_80043CD8: -/* 03E738 80043CD8 80610084 */ lwz r3, 0x84(r1) -/* 03E73C 80043CDC 38030001 */ addi r0, r3, 1 -/* 03E740 80043CE0 90010084 */ stw r0, 0x84(r1) -lbl_80043CE4: -/* 03E744 80043CE4 2809001F */ cmplwi r9, 0x1f -/* 03E748 80043CE8 40820700 */ bne lbl_800443E8 -/* 03E74C 80043CEC 3C7E0001 */ addis r3, r30, 1 -/* 03E750 80043CF0 8003205C */ lwz r0, 0x205c(r3) -/* 03E754 80043CF4 60000002 */ ori r0, r0, 2 -/* 03E758 80043CF8 9003205C */ stw r0, 0x205c(r3) -/* 03E75C 80043CFC 8003205C */ lwz r0, 0x205c(r3) -/* 03E760 80043D00 54000739 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 03E764 80043D04 418206E4 */ beq lbl_800443E8 -/* 03E768 80043D08 5480103A */ slwi r0, r4, 2 -/* 03E76C 80043D0C 7C7A0214 */ add r3, r26, r0 -/* 03E770 80043D10 80030818 */ lwz r0, 0x818(r3) -/* 03E774 80043D14 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03E778 80043D18 41820050 */ beq lbl_80043D68 -/* 03E77C 80043D1C 281F0000 */ cmplwi r31, 0 -/* 03E780 80043D20 38000006 */ li r0, 6 -/* 03E784 80043D24 41820038 */ beq lbl_80043D5C -/* 03E788 80043D28 54841838 */ slwi r4, r4, 3 -/* 03E78C 80043D2C 80610084 */ lwz r3, 0x84(r1) -/* 03E790 80043D30 38840040 */ addi r4, r4, 0x40 -/* 03E794 80043D34 7C9E2214 */ add r4, r30, r4 -/* 03E798 80043D38 7C9E2050 */ subf r4, r30, r4 -/* 03E79C 80043D3C 38840004 */ addi r4, r4, 4 -/* 03E7A0 80043D40 38C30001 */ addi r6, r3, 1 -/* 03E7A4 80043D44 5484043E */ clrlwi r4, r4, 0x10 -/* 03E7A8 80043D48 90C10084 */ stw r6, 0x84(r1) -/* 03E7AC 80043D4C 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03E7B0 80043D50 5463103A */ slwi r3, r3, 2 -/* 03E7B4 80043D54 7C9F192E */ stwx r4, r31, r3 -/* 03E7B8 80043D58 48000010 */ b lbl_80043D68 -lbl_80043D5C: -/* 03E7BC 80043D5C 80610084 */ lwz r3, 0x84(r1) -/* 03E7C0 80043D60 38630001 */ addi r3, r3, 1 -/* 03E7C4 80043D64 90610084 */ stw r3, 0x84(r1) -lbl_80043D68: -/* 03E7C8 80043D68 281F0000 */ cmplwi r31, 0 -/* 03E7CC 80043D6C 41820030 */ beq lbl_80043D9C -/* 03E7D0 80043D70 80610084 */ lwz r3, 0x84(r1) -/* 03E7D4 80043D74 5406A814 */ slwi r6, r0, 0x15 -/* 03E7D8 80043D78 389E0038 */ addi r4, r30, 0x38 -/* 03E7DC 80043D7C 38030001 */ addi r0, r3, 1 -/* 03E7E0 80043D80 90010084 */ stw r0, 0x84(r1) -/* 03E7E4 80043D84 64C09003 */ oris r0, r6, 0x9003 -/* 03E7E8 80043D88 7C9E2050 */ subf r4, r30, r4 -/* 03E7EC 80043D8C 7C002214 */ add r0, r0, r4 -/* 03E7F0 80043D90 5463103A */ slwi r3, r3, 2 -/* 03E7F4 80043D94 7C1F192E */ stwx r0, r31, r3 -/* 03E7F8 80043D98 48000650 */ b lbl_800443E8 -lbl_80043D9C: -/* 03E7FC 80043D9C 80610084 */ lwz r3, 0x84(r1) -/* 03E800 80043DA0 38030001 */ addi r0, r3, 1 -/* 03E804 80043DA4 90010084 */ stw r0, 0x84(r1) -/* 03E808 80043DA8 48000640 */ b lbl_800443E8 -lbl_80043DAC: -/* 03E80C 80043DAC 578886FF */ rlwinm. r8, r28, 0x10, 0x1b, 0x1f -/* 03E810 80043DB0 40820334 */ bne lbl_800440E4 -/* 03E814 80043DB4 2800001F */ cmplwi r0, 0x1f -/* 03E818 80043DB8 4082009C */ bne lbl_80043E54 -/* 03E81C 80043DBC 3C9E0001 */ addis r4, r30, 1 -/* 03E820 80043DC0 8084205C */ lwz r4, 0x205c(r4) -/* 03E824 80043DC4 5484077B */ rlwinm. r4, r4, 0, 0x1d, 0x1d -/* 03E828 80043DC8 4082008C */ bne lbl_80043E54 -/* 03E82C 80043DCC 281F0000 */ cmplwi r31, 0 -/* 03E830 80043DD0 41820028 */ beq lbl_80043DF8 -/* 03E834 80043DD4 80610084 */ lwz r3, 0x84(r1) -/* 03E838 80043DD8 389E0038 */ addi r4, r30, 0x38 -/* 03E83C 80043DDC 7C9E2050 */ subf r4, r30, r4 -/* 03E840 80043DE0 38C30001 */ addi r6, r3, 1 -/* 03E844 80043DE4 90C10084 */ stw r6, 0x84(r1) -/* 03E848 80043DE8 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03E84C 80043DEC 5463103A */ slwi r3, r3, 2 -/* 03E850 80043DF0 7C9F192E */ stwx r4, r31, r3 -/* 03E854 80043DF4 48000010 */ b lbl_80043E04 -lbl_80043DF8: -/* 03E858 80043DF8 80610084 */ lwz r3, 0x84(r1) -/* 03E85C 80043DFC 38630001 */ addi r3, r3, 1 -/* 03E860 80043E00 90610084 */ stw r3, 0x84(r1) -lbl_80043E04: -/* 03E864 80043E04 281F0000 */ cmplwi r31, 0 -/* 03E868 80043E08 41820028 */ beq lbl_80043E30 -/* 03E86C 80043E0C 80810084 */ lwz r4, 0x84(r1) -/* 03E870 80043E10 54A3801E */ slwi r3, r5, 0x10 -/* 03E874 80043E14 64667CC0 */ oris r6, r3, 0x7cc0 -/* 03E878 80043E18 38640001 */ addi r3, r4, 1 -/* 03E87C 80043E1C 90610084 */ stw r3, 0x84(r1) -/* 03E880 80043E20 60C63378 */ ori r6, r6, 0x3378 -/* 03E884 80043E24 5483103A */ slwi r3, r4, 2 -/* 03E888 80043E28 7CDF192E */ stwx r6, r31, r3 -/* 03E88C 80043E2C 48000010 */ b lbl_80043E3C -lbl_80043E30: -/* 03E890 80043E30 80610084 */ lwz r3, 0x84(r1) -/* 03E894 80043E34 38630001 */ addi r3, r3, 1 -/* 03E898 80043E38 90610084 */ stw r3, 0x84(r1) -lbl_80043E3C: -/* 03E89C 80043E3C 3C7E0001 */ addis r3, r30, 1 -/* 03E8A0 80043E40 8083205C */ lwz r4, 0x205c(r3) -/* 03E8A4 80043E44 39400001 */ li r10, 1 -/* 03E8A8 80043E48 60840008 */ ori r4, r4, 8 -/* 03E8AC 80043E4C 9083205C */ stw r4, 0x205c(r3) -/* 03E8B0 80043E50 480001CC */ b lbl_8004401C -lbl_80043E54: -/* 03E8B4 80043E54 2C030000 */ cmpwi r3, 0 -/* 03E8B8 80043E58 408200B4 */ bne lbl_80043F0C -/* 03E8BC 80043E5C 5403103A */ slwi r3, r0, 2 -/* 03E8C0 80043E60 7C7A1A14 */ add r3, r26, r3 -/* 03E8C4 80043E64 80C30818 */ lwz r6, 0x818(r3) -/* 03E8C8 80043E68 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 03E8CC 80043E6C 41820054 */ beq lbl_80043EC0 -/* 03E8D0 80043E70 281F0000 */ cmplwi r31, 0 -/* 03E8D4 80043E74 4182003C */ beq lbl_80043EB0 -/* 03E8D8 80043E78 54041838 */ slwi r4, r0, 3 -/* 03E8DC 80043E7C 80610084 */ lwz r3, 0x84(r1) -/* 03E8E0 80043E80 38840040 */ addi r4, r4, 0x40 -/* 03E8E4 80043E84 54A6A814 */ slwi r6, r5, 0x15 -/* 03E8E8 80043E88 7C9E2214 */ add r4, r30, r4 -/* 03E8EC 80043E8C 38E30001 */ addi r7, r3, 1 -/* 03E8F0 80043E90 64C68003 */ oris r6, r6, 0x8003 -/* 03E8F4 80043E94 90E10084 */ stw r7, 0x84(r1) -/* 03E8F8 80043E98 7C9E2050 */ subf r4, r30, r4 -/* 03E8FC 80043E9C 7C843214 */ add r4, r4, r6 -/* 03E900 80043EA0 38840004 */ addi r4, r4, 4 -/* 03E904 80043EA4 5463103A */ slwi r3, r3, 2 -/* 03E908 80043EA8 7C9F192E */ stwx r4, r31, r3 -/* 03E90C 80043EAC 48000170 */ b lbl_8004401C -lbl_80043EB0: -/* 03E910 80043EB0 80610084 */ lwz r3, 0x84(r1) -/* 03E914 80043EB4 38630001 */ addi r3, r3, 1 -/* 03E918 80043EB8 90610084 */ stw r3, 0x84(r1) -/* 03E91C 80043EBC 48000160 */ b lbl_8004401C -lbl_80043EC0: -/* 03E920 80043EC0 281F0000 */ cmplwi r31, 0 -/* 03E924 80043EC4 41820038 */ beq lbl_80043EFC -/* 03E928 80043EC8 80610084 */ lwz r3, 0x84(r1) -/* 03E92C 80043ECC 54C4A814 */ slwi r4, r6, 0x15 -/* 03E930 80043ED0 64847C00 */ oris r4, r4, 0x7c00 -/* 03E934 80043ED4 38E30001 */ addi r7, r3, 1 -/* 03E938 80043ED8 60840378 */ ori r4, r4, 0x378 -/* 03E93C 80043EDC 90E10084 */ stw r7, 0x84(r1) -/* 03E940 80043EE0 54A7801E */ slwi r7, r5, 0x10 -/* 03E944 80043EE4 54C65828 */ slwi r6, r6, 0xb -/* 03E948 80043EE8 7C843B78 */ or r4, r4, r7 -/* 03E94C 80043EEC 7CC42378 */ or r4, r6, r4 -/* 03E950 80043EF0 5463103A */ slwi r3, r3, 2 -/* 03E954 80043EF4 7C9F192E */ stwx r4, r31, r3 -/* 03E958 80043EF8 48000124 */ b lbl_8004401C -lbl_80043EFC: -/* 03E95C 80043EFC 80610084 */ lwz r3, 0x84(r1) -/* 03E960 80043F00 38630001 */ addi r3, r3, 1 -/* 03E964 80043F04 90610084 */ stw r3, 0x84(r1) -/* 03E968 80043F08 48000114 */ b lbl_8004401C -lbl_80043F0C: -/* 03E96C 80043F0C 5403103A */ slwi r3, r0, 2 -/* 03E970 80043F10 7C7A1A14 */ add r3, r26, r3 -/* 03E974 80043F14 80C30818 */ lwz r6, 0x818(r3) -/* 03E978 80043F18 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 03E97C 80043F1C 418200B4 */ beq lbl_80043FD0 -/* 03E980 80043F20 281F0000 */ cmplwi r31, 0 -/* 03E984 80043F24 4182003C */ beq lbl_80043F60 -/* 03E988 80043F28 54041838 */ slwi r4, r0, 3 -/* 03E98C 80043F2C 80610084 */ lwz r3, 0x84(r1) -/* 03E990 80043F30 38840040 */ addi r4, r4, 0x40 -/* 03E994 80043F34 54A6A814 */ slwi r6, r5, 0x15 -/* 03E998 80043F38 7C9E2214 */ add r4, r30, r4 -/* 03E99C 80043F3C 38E30001 */ addi r7, r3, 1 -/* 03E9A0 80043F40 64C68003 */ oris r6, r6, 0x8003 -/* 03E9A4 80043F44 90E10084 */ stw r7, 0x84(r1) -/* 03E9A8 80043F48 7C9E2050 */ subf r4, r30, r4 -/* 03E9AC 80043F4C 7C843214 */ add r4, r4, r6 -/* 03E9B0 80043F50 38840004 */ addi r4, r4, 4 -/* 03E9B4 80043F54 5463103A */ slwi r3, r3, 2 -/* 03E9B8 80043F58 7C9F192E */ stwx r4, r31, r3 -/* 03E9BC 80043F5C 48000010 */ b lbl_80043F6C -lbl_80043F60: -/* 03E9C0 80043F60 80610084 */ lwz r3, 0x84(r1) -/* 03E9C4 80043F64 38630001 */ addi r3, r3, 1 -/* 03E9C8 80043F68 90610084 */ stw r3, 0x84(r1) -lbl_80043F6C: -/* 03E9CC 80043F6C 281F0000 */ cmplwi r31, 0 -/* 03E9D0 80043F70 4182003C */ beq lbl_80043FAC -/* 03E9D4 80043F74 55241838 */ slwi r4, r9, 3 -/* 03E9D8 80043F78 80610084 */ lwz r3, 0x84(r1) -/* 03E9DC 80043F7C 38840040 */ addi r4, r4, 0x40 -/* 03E9E0 80043F80 54A6A814 */ slwi r6, r5, 0x15 -/* 03E9E4 80043F84 7C9E2214 */ add r4, r30, r4 -/* 03E9E8 80043F88 38E30001 */ addi r7, r3, 1 -/* 03E9EC 80043F8C 64C69003 */ oris r6, r6, 0x9003 -/* 03E9F0 80043F90 90E10084 */ stw r7, 0x84(r1) -/* 03E9F4 80043F94 7C9E2050 */ subf r4, r30, r4 -/* 03E9F8 80043F98 7C843214 */ add r4, r4, r6 -/* 03E9FC 80043F9C 38840004 */ addi r4, r4, 4 -/* 03EA00 80043FA0 5463103A */ slwi r3, r3, 2 -/* 03EA04 80043FA4 7C9F192E */ stwx r4, r31, r3 -/* 03EA08 80043FA8 48000010 */ b lbl_80043FB8 -lbl_80043FAC: -/* 03EA0C 80043FAC 80610084 */ lwz r3, 0x84(r1) -/* 03EA10 80043FB0 38630001 */ addi r3, r3, 1 -/* 03EA14 80043FB4 90610084 */ stw r3, 0x84(r1) -lbl_80043FB8: -/* 03EA18 80043FB8 3C7E0001 */ addis r3, r30, 1 -/* 03EA1C 80043FBC 38800002 */ li r4, 2 -/* 03EA20 80043FC0 90832068 */ stw r4, 0x2068(r3) -/* 03EA24 80043FC4 9123206C */ stw r9, 0x206c(r3) -/* 03EA28 80043FC8 90A32070 */ stw r5, 0x2070(r3) -/* 03EA2C 80043FCC 48000050 */ b lbl_8004401C -lbl_80043FD0: -/* 03EA30 80043FD0 281F0000 */ cmplwi r31, 0 -/* 03EA34 80043FD4 4182003C */ beq lbl_80044010 -/* 03EA38 80043FD8 55241838 */ slwi r4, r9, 3 -/* 03EA3C 80043FDC 80610084 */ lwz r3, 0x84(r1) -/* 03EA40 80043FE0 38840040 */ addi r4, r4, 0x40 -/* 03EA44 80043FE4 54C6A814 */ slwi r6, r6, 0x15 -/* 03EA48 80043FE8 7C9E2214 */ add r4, r30, r4 -/* 03EA4C 80043FEC 38E30001 */ addi r7, r3, 1 -/* 03EA50 80043FF0 64C69003 */ oris r6, r6, 0x9003 -/* 03EA54 80043FF4 90E10084 */ stw r7, 0x84(r1) -/* 03EA58 80043FF8 7C9E2050 */ subf r4, r30, r4 -/* 03EA5C 80043FFC 7C843214 */ add r4, r4, r6 -/* 03EA60 80044000 38840004 */ addi r4, r4, 4 -/* 03EA64 80044004 5463103A */ slwi r3, r3, 2 -/* 03EA68 80044008 7C9F192E */ stwx r4, r31, r3 -/* 03EA6C 8004400C 48000010 */ b lbl_8004401C -lbl_80044010: -/* 03EA70 80044010 80610084 */ lwz r3, 0x84(r1) -/* 03EA74 80044014 38630001 */ addi r3, r3, 1 -/* 03EA78 80044018 90610084 */ stw r3, 0x84(r1) -lbl_8004401C: -/* 03EA7C 8004401C 2809001F */ cmplwi r9, 0x1f -/* 03EA80 80044020 408203C8 */ bne lbl_800443E8 -/* 03EA84 80044024 3C7E0001 */ addis r3, r30, 1 -/* 03EA88 80044028 8083205C */ lwz r4, 0x205c(r3) -/* 03EA8C 8004402C 60840002 */ ori r4, r4, 2 -/* 03EA90 80044030 9083205C */ stw r4, 0x205c(r3) -/* 03EA94 80044034 8063205C */ lwz r3, 0x205c(r3) -/* 03EA98 80044038 54630739 */ rlwinm. r3, r3, 0, 0x1c, 0x1c -/* 03EA9C 8004403C 418203AC */ beq lbl_800443E8 -/* 03EAA0 80044040 5403103A */ slwi r3, r0, 2 -/* 03EAA4 80044044 7C7A1A14 */ add r3, r26, r3 -/* 03EAA8 80044048 80C30818 */ lwz r6, 0x818(r3) -/* 03EAAC 8004404C 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 03EAB0 80044050 41820050 */ beq lbl_800440A0 -/* 03EAB4 80044054 281F0000 */ cmplwi r31, 0 -/* 03EAB8 80044058 38C00006 */ li r6, 6 -/* 03EABC 8004405C 41820038 */ beq lbl_80044094 -/* 03EAC0 80044060 54041838 */ slwi r4, r0, 3 -/* 03EAC4 80044064 80610084 */ lwz r3, 0x84(r1) -/* 03EAC8 80044068 38040040 */ addi r0, r4, 0x40 -/* 03EACC 8004406C 7C1E0214 */ add r0, r30, r0 -/* 03EAD0 80044070 7C9E0050 */ subf r4, r30, r0 -/* 03EAD4 80044074 38840004 */ addi r4, r4, 4 -/* 03EAD8 80044078 38030001 */ addi r0, r3, 1 -/* 03EADC 8004407C 5484043E */ clrlwi r4, r4, 0x10 -/* 03EAE0 80044080 90010084 */ stw r0, 0x84(r1) -/* 03EAE4 80044084 3C0480C3 */ addis r0, r4, 0x80c3 -/* 03EAE8 80044088 5463103A */ slwi r3, r3, 2 -/* 03EAEC 8004408C 7C1F192E */ stwx r0, r31, r3 -/* 03EAF0 80044090 48000010 */ b lbl_800440A0 -lbl_80044094: -/* 03EAF4 80044094 80610084 */ lwz r3, 0x84(r1) -/* 03EAF8 80044098 38030001 */ addi r0, r3, 1 -/* 03EAFC 8004409C 90010084 */ stw r0, 0x84(r1) -lbl_800440A0: -/* 03EB00 800440A0 281F0000 */ cmplwi r31, 0 -/* 03EB04 800440A4 41820030 */ beq lbl_800440D4 -/* 03EB08 800440A8 80610084 */ lwz r3, 0x84(r1) -/* 03EB0C 800440AC 54C6A814 */ slwi r6, r6, 0x15 -/* 03EB10 800440B0 389E0038 */ addi r4, r30, 0x38 -/* 03EB14 800440B4 38030001 */ addi r0, r3, 1 -/* 03EB18 800440B8 90010084 */ stw r0, 0x84(r1) -/* 03EB1C 800440BC 64C09003 */ oris r0, r6, 0x9003 -/* 03EB20 800440C0 7C9E2050 */ subf r4, r30, r4 -/* 03EB24 800440C4 7C002214 */ add r0, r0, r4 -/* 03EB28 800440C8 5463103A */ slwi r3, r3, 2 -/* 03EB2C 800440CC 7C1F192E */ stwx r0, r31, r3 -/* 03EB30 800440D0 48000318 */ b lbl_800443E8 -lbl_800440D4: -/* 03EB34 800440D4 80610084 */ lwz r3, 0x84(r1) -/* 03EB38 800440D8 38030001 */ addi r0, r3, 1 -/* 03EB3C 800440DC 90010084 */ stw r0, 0x84(r1) -/* 03EB40 800440E0 48000308 */ b lbl_800443E8 -lbl_800440E4: -/* 03EB44 800440E4 5403103A */ slwi r3, r0, 2 -/* 03EB48 800440E8 7C7A1A14 */ add r3, r26, r3 -/* 03EB4C 800440EC 81430818 */ lwz r10, 0x818(r3) -/* 03EB50 800440F0 554305EF */ rlwinm. r3, r10, 0, 0x17, 0x17 -/* 03EB54 800440F4 4182014C */ beq lbl_80044240 -/* 03EB58 800440F8 3C7E0001 */ addis r3, r30, 1 -/* 03EB5C 800440FC 80832064 */ lwz r4, 0x2064(r3) -/* 03EB60 80044100 39400006 */ li r10, 6 -/* 03EB64 80044104 28040000 */ cmplwi r4, 0 -/* 03EB68 80044108 4082000C */ bne lbl_80044114 -/* 03EB6C 8004410C 38800000 */ li r4, 0 -/* 03EB70 80044110 48000094 */ b lbl_800441A4 -lbl_80044114: -/* 03EB74 80044114 80832068 */ lwz r4, 0x2068(r3) -/* 03EB78 80044118 28040000 */ cmplwi r4, 0 -/* 03EB7C 8004411C 4082000C */ bne lbl_80044128 -/* 03EB80 80044120 38800000 */ li r4, 0 -/* 03EB84 80044124 48000080 */ b lbl_800441A4 -lbl_80044128: -/* 03EB88 80044128 8063206C */ lwz r3, 0x206c(r3) -/* 03EB8C 8004412C 7C001800 */ cmpw r0, r3 -/* 03EB90 80044130 4182000C */ beq lbl_8004413C -/* 03EB94 80044134 38800000 */ li r4, 0 -/* 03EB98 80044138 4800006C */ b lbl_800441A4 -lbl_8004413C: -/* 03EB9C 8004413C 80FE0034 */ lwz r7, 0x34(r30) -/* 03EBA0 80044140 38800000 */ li r4, 0 -/* 03EBA4 80044144 80670008 */ lwz r3, 8(r7) -/* 03EBA8 80044148 2C030000 */ cmpwi r3, 0 -/* 03EBAC 8004414C 7C6903A6 */ mtctr r3 -/* 03EBB0 80044150 40810028 */ ble lbl_80044178 -lbl_80044154: -/* 03EBB4 80044154 8067000C */ lwz r3, 0xc(r7) -/* 03EBB8 80044158 38C40004 */ addi r6, r4, 4 -/* 03EBBC 8004415C 7C63302E */ lwzx r3, r3, r6 -/* 03EBC0 80044160 7C1D1800 */ cmpw r29, r3 -/* 03EBC4 80044164 4082000C */ bne lbl_80044170 -/* 03EBC8 80044168 38600000 */ li r3, 0 -/* 03EBCC 8004416C 48000010 */ b lbl_8004417C -lbl_80044170: -/* 03EBD0 80044170 38840008 */ addi r4, r4, 8 -/* 03EBD4 80044174 4200FFE0 */ bdnz lbl_80044154 -lbl_80044178: -/* 03EBD8 80044178 38600001 */ li r3, 1 -lbl_8004417C: -/* 03EBDC 8004417C 2C030000 */ cmpwi r3, 0 -/* 03EBE0 80044180 40820014 */ bne lbl_80044194 -/* 03EBE4 80044184 38800000 */ li r4, 0 -/* 03EBE8 80044188 3C7E0001 */ addis r3, r30, 1 -/* 03EBEC 8004418C 90832068 */ stw r4, 0x2068(r3) -/* 03EBF0 80044190 48000014 */ b lbl_800441A4 -lbl_80044194: -/* 03EBF4 80044194 3C7E0001 */ addis r3, r30, 1 -/* 03EBF8 80044198 38800000 */ li r4, 0 -/* 03EBFC 8004419C 90832068 */ stw r4, 0x2068(r3) -/* 03EC00 800441A0 38800001 */ li r4, 1 -lbl_800441A4: -/* 03EC04 800441A4 2C040000 */ cmpwi r4, 0 -/* 03EC08 800441A8 41820050 */ beq lbl_800441F8 -/* 03EC0C 800441AC 281F0000 */ cmplwi r31, 0 -/* 03EC10 800441B0 41820038 */ beq lbl_800441E8 -/* 03EC14 800441B4 3C9E0001 */ addis r4, r30, 1 -/* 03EC18 800441B8 80610084 */ lwz r3, 0x84(r1) -/* 03EC1C 800441BC 80842070 */ lwz r4, 0x2070(r4) -/* 03EC20 800441C0 38C30001 */ addi r6, r3, 1 -/* 03EC24 800441C4 5480A814 */ slwi r0, r4, 0x15 -/* 03EC28 800441C8 90C10084 */ stw r6, 0x84(r1) -/* 03EC2C 800441CC 64007C06 */ oris r0, r0, 0x7c06 -/* 03EC30 800441D0 54845828 */ slwi r4, r4, 0xb -/* 03EC34 800441D4 60000378 */ ori r0, r0, 0x378 -/* 03EC38 800441D8 7C800378 */ or r0, r4, r0 -/* 03EC3C 800441DC 5463103A */ slwi r3, r3, 2 -/* 03EC40 800441E0 7C1F192E */ stwx r0, r31, r3 -/* 03EC44 800441E4 4800005C */ b lbl_80044240 -lbl_800441E8: -/* 03EC48 800441E8 80610084 */ lwz r3, 0x84(r1) -/* 03EC4C 800441EC 38030001 */ addi r0, r3, 1 -/* 03EC50 800441F0 90010084 */ stw r0, 0x84(r1) -/* 03EC54 800441F4 4800004C */ b lbl_80044240 -lbl_800441F8: -/* 03EC58 800441F8 281F0000 */ cmplwi r31, 0 -/* 03EC5C 800441FC 41820038 */ beq lbl_80044234 -/* 03EC60 80044200 54041838 */ slwi r4, r0, 3 -/* 03EC64 80044204 80610084 */ lwz r3, 0x84(r1) -/* 03EC68 80044208 38040040 */ addi r0, r4, 0x40 -/* 03EC6C 8004420C 7C1E0214 */ add r0, r30, r0 -/* 03EC70 80044210 7C9E0050 */ subf r4, r30, r0 -/* 03EC74 80044214 38840004 */ addi r4, r4, 4 -/* 03EC78 80044218 38030001 */ addi r0, r3, 1 -/* 03EC7C 8004421C 5484043E */ clrlwi r4, r4, 0x10 -/* 03EC80 80044220 90010084 */ stw r0, 0x84(r1) -/* 03EC84 80044224 3C0480C3 */ addis r0, r4, 0x80c3 -/* 03EC88 80044228 5463103A */ slwi r3, r3, 2 -/* 03EC8C 8004422C 7C1F192E */ stwx r0, r31, r3 -/* 03EC90 80044230 48000010 */ b lbl_80044240 -lbl_80044234: -/* 03EC94 80044234 80610084 */ lwz r3, 0x84(r1) -/* 03EC98 80044238 38030001 */ addi r0, r3, 1 -/* 03EC9C 8004423C 90010084 */ stw r0, 0x84(r1) -lbl_80044240: -/* 03ECA0 80044240 5500103A */ slwi r0, r8, 2 -/* 03ECA4 80044244 7C7A0214 */ add r3, r26, r0 -/* 03ECA8 80044248 80E30818 */ lwz r7, 0x818(r3) -/* 03ECAC 8004424C 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 03ECB0 80044250 4182014C */ beq lbl_8004439C -/* 03ECB4 80044254 3C7E0001 */ addis r3, r30, 1 -/* 03ECB8 80044258 80032064 */ lwz r0, 0x2064(r3) -/* 03ECBC 8004425C 38E00007 */ li r7, 7 -/* 03ECC0 80044260 28000000 */ cmplwi r0, 0 -/* 03ECC4 80044264 4082000C */ bne lbl_80044270 -/* 03ECC8 80044268 38000000 */ li r0, 0 -/* 03ECCC 8004426C 48000094 */ b lbl_80044300 -lbl_80044270: -/* 03ECD0 80044270 80032068 */ lwz r0, 0x2068(r3) -/* 03ECD4 80044274 28000000 */ cmplwi r0, 0 -/* 03ECD8 80044278 4082000C */ bne lbl_80044284 -/* 03ECDC 8004427C 38000000 */ li r0, 0 -/* 03ECE0 80044280 48000080 */ b lbl_80044300 -lbl_80044284: -/* 03ECE4 80044284 8003206C */ lwz r0, 0x206c(r3) -/* 03ECE8 80044288 7C080000 */ cmpw r8, r0 -/* 03ECEC 8004428C 4182000C */ beq lbl_80044298 -/* 03ECF0 80044290 38000000 */ li r0, 0 -/* 03ECF4 80044294 4800006C */ b lbl_80044300 -lbl_80044298: -/* 03ECF8 80044298 80DE0034 */ lwz r6, 0x34(r30) -/* 03ECFC 8004429C 38800000 */ li r4, 0 -/* 03ED00 800442A0 80060008 */ lwz r0, 8(r6) -/* 03ED04 800442A4 2C000000 */ cmpwi r0, 0 -/* 03ED08 800442A8 7C0903A6 */ mtctr r0 -/* 03ED0C 800442AC 40810028 */ ble lbl_800442D4 -lbl_800442B0: -/* 03ED10 800442B0 8066000C */ lwz r3, 0xc(r6) -/* 03ED14 800442B4 38040004 */ addi r0, r4, 4 -/* 03ED18 800442B8 7C03002E */ lwzx r0, r3, r0 -/* 03ED1C 800442BC 7C1D0000 */ cmpw r29, r0 -/* 03ED20 800442C0 4082000C */ bne lbl_800442CC -/* 03ED24 800442C4 38000000 */ li r0, 0 -/* 03ED28 800442C8 48000010 */ b lbl_800442D8 -lbl_800442CC: -/* 03ED2C 800442CC 38840008 */ addi r4, r4, 8 -/* 03ED30 800442D0 4200FFE0 */ bdnz lbl_800442B0 -lbl_800442D4: -/* 03ED34 800442D4 38000001 */ li r0, 1 -lbl_800442D8: -/* 03ED38 800442D8 2C000000 */ cmpwi r0, 0 -/* 03ED3C 800442DC 40820014 */ bne lbl_800442F0 -/* 03ED40 800442E0 38000000 */ li r0, 0 -/* 03ED44 800442E4 3C7E0001 */ addis r3, r30, 1 -/* 03ED48 800442E8 90032068 */ stw r0, 0x2068(r3) -/* 03ED4C 800442EC 48000014 */ b lbl_80044300 -lbl_800442F0: -/* 03ED50 800442F0 3C7E0001 */ addis r3, r30, 1 -/* 03ED54 800442F4 38000000 */ li r0, 0 -/* 03ED58 800442F8 90032068 */ stw r0, 0x2068(r3) -/* 03ED5C 800442FC 38000001 */ li r0, 1 -lbl_80044300: -/* 03ED60 80044300 2C000000 */ cmpwi r0, 0 -/* 03ED64 80044304 41820050 */ beq lbl_80044354 -/* 03ED68 80044308 281F0000 */ cmplwi r31, 0 -/* 03ED6C 8004430C 41820038 */ beq lbl_80044344 -/* 03ED70 80044310 3C9E0001 */ addis r4, r30, 1 -/* 03ED74 80044314 80610084 */ lwz r3, 0x84(r1) -/* 03ED78 80044318 80C42070 */ lwz r6, 0x2070(r4) -/* 03ED7C 8004431C 38030001 */ addi r0, r3, 1 -/* 03ED80 80044320 54C4A814 */ slwi r4, r6, 0x15 -/* 03ED84 80044324 90010084 */ stw r0, 0x84(r1) -/* 03ED88 80044328 64807C07 */ oris r0, r4, 0x7c07 -/* 03ED8C 8004432C 54C45828 */ slwi r4, r6, 0xb -/* 03ED90 80044330 60000378 */ ori r0, r0, 0x378 -/* 03ED94 80044334 7C800378 */ or r0, r4, r0 -/* 03ED98 80044338 5463103A */ slwi r3, r3, 2 -/* 03ED9C 8004433C 7C1F192E */ stwx r0, r31, r3 -/* 03EDA0 80044340 4800005C */ b lbl_8004439C -lbl_80044344: -/* 03EDA4 80044344 80610084 */ lwz r3, 0x84(r1) -/* 03EDA8 80044348 38030001 */ addi r0, r3, 1 -/* 03EDAC 8004434C 90010084 */ stw r0, 0x84(r1) -/* 03EDB0 80044350 4800004C */ b lbl_8004439C -lbl_80044354: -/* 03EDB4 80044354 281F0000 */ cmplwi r31, 0 -/* 03EDB8 80044358 41820038 */ beq lbl_80044390 -/* 03EDBC 8004435C 55041838 */ slwi r4, r8, 3 -/* 03EDC0 80044360 80610084 */ lwz r3, 0x84(r1) -/* 03EDC4 80044364 38040040 */ addi r0, r4, 0x40 -/* 03EDC8 80044368 7C1E0214 */ add r0, r30, r0 -/* 03EDCC 8004436C 7C9E0050 */ subf r4, r30, r0 -/* 03EDD0 80044370 38840004 */ addi r4, r4, 4 -/* 03EDD4 80044374 38030001 */ addi r0, r3, 1 -/* 03EDD8 80044378 5484043E */ clrlwi r4, r4, 0x10 -/* 03EDDC 8004437C 90010084 */ stw r0, 0x84(r1) -/* 03EDE0 80044380 3C0480E3 */ addis r0, r4, 0x80e3 -/* 03EDE4 80044384 5463103A */ slwi r3, r3, 2 -/* 03EDE8 80044388 7C1F192E */ stwx r0, r31, r3 -/* 03EDEC 8004438C 48000010 */ b lbl_8004439C -lbl_80044390: -/* 03EDF0 80044390 80610084 */ lwz r3, 0x84(r1) -/* 03EDF4 80044394 38030001 */ addi r0, r3, 1 -/* 03EDF8 80044398 90010084 */ stw r0, 0x84(r1) -lbl_8004439C: -/* 03EDFC 8004439C 281F0000 */ cmplwi r31, 0 -/* 03EE00 800443A0 41820038 */ beq lbl_800443D8 -/* 03EE04 800443A4 80610084 */ lwz r3, 0x84(r1) -/* 03EE08 800443A8 54A0A814 */ slwi r0, r5, 0x15 -/* 03EE0C 800443AC 64047C00 */ oris r4, r0, 0x7c00 -/* 03EE10 800443B0 38030001 */ addi r0, r3, 1 -/* 03EE14 800443B4 60840214 */ ori r4, r4, 0x214 -/* 03EE18 800443B8 90010084 */ stw r0, 0x84(r1) -/* 03EE1C 800443BC 5540801E */ slwi r0, r10, 0x10 -/* 03EE20 800443C0 54E65828 */ slwi r6, r7, 0xb -/* 03EE24 800443C4 7C800378 */ or r0, r4, r0 -/* 03EE28 800443C8 7CC00378 */ or r0, r6, r0 -/* 03EE2C 800443CC 5463103A */ slwi r3, r3, 2 -/* 03EE30 800443D0 7C1F192E */ stwx r0, r31, r3 -/* 03EE34 800443D4 48000010 */ b lbl_800443E4 -lbl_800443D8: -/* 03EE38 800443D8 80610084 */ lwz r3, 0x84(r1) -/* 03EE3C 800443DC 38030001 */ addi r0, r3, 1 -/* 03EE40 800443E0 90010084 */ stw r0, 0x84(r1) -lbl_800443E4: -/* 03EE44 800443E4 39400001 */ li r10, 1 -lbl_800443E8: -/* 03EE48 800443E8 2C0A0000 */ cmpwi r10, 0 -/* 03EE4C 800443EC 40820008 */ bne lbl_800443F4 -/* 03EE50 800443F0 48023B44 */ b lbl_80067F34 -lbl_800443F4: -/* 03EE54 800443F4 800B0000 */ lwz r0, 0(r11) -/* 03EE58 800443F8 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 03EE5C 800443FC 40820008 */ bne lbl_80044404 -/* 03EE60 80044400 48023B34 */ b lbl_80067F34 -lbl_80044404: -/* 03EE64 80044404 3C7E0001 */ addis r3, r30, 1 -/* 03EE68 80044408 38000002 */ li r0, 2 -/* 03EE6C 8004440C 90032068 */ stw r0, 0x2068(r3) -/* 03EE70 80044410 281F0000 */ cmplwi r31, 0 -/* 03EE74 80044414 9123206C */ stw r9, 0x206c(r3) -/* 03EE78 80044418 90A32070 */ stw r5, 0x2070(r3) -/* 03EE7C 8004441C 41820038 */ beq lbl_80044454 -/* 03EE80 80044420 55241838 */ slwi r4, r9, 3 -/* 03EE84 80044424 80610084 */ lwz r3, 0x84(r1) -/* 03EE88 80044428 38040040 */ addi r0, r4, 0x40 -/* 03EE8C 8004442C 7C1E0214 */ add r0, r30, r0 -/* 03EE90 80044430 7C9E0050 */ subf r4, r30, r0 -/* 03EE94 80044434 38840004 */ addi r4, r4, 4 -/* 03EE98 80044438 38030001 */ addi r0, r3, 1 -/* 03EE9C 8004443C 5484043E */ clrlwi r4, r4, 0x10 -/* 03EEA0 80044440 90010084 */ stw r0, 0x84(r1) -/* 03EEA4 80044444 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03EEA8 80044448 5463103A */ slwi r3, r3, 2 -/* 03EEAC 8004444C 7C1F192E */ stwx r0, r31, r3 -/* 03EEB0 80044450 48023AE4 */ b lbl_80067F34 -lbl_80044454: -/* 03EEB4 80044454 80610084 */ lwz r3, 0x84(r1) -/* 03EEB8 80044458 38030001 */ addi r0, r3, 1 -/* 03EEBC 8004445C 90010084 */ stw r0, 0x84(r1) -/* 03EEC0 80044460 48023AD4 */ b lbl_80067F34 -.global lbl_80044464 -lbl_80044464: -/* 03EEC4 80044464 3C9E0001 */ addis r4, r30, 1 -/* 03EEC8 80044468 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 03EECC 8004446C 80A42058 */ lwz r5, 0x2058(r4) -/* 03EED0 80044470 38600001 */ li r3, 1 -/* 03EED4 80044474 7C660030 */ slw r6, r3, r0 -/* 03EED8 80044478 7CA63039 */ and. r6, r5, r6 -/* 03EEDC 8004447C 40820014 */ bne lbl_80044490 -/* 03EEE0 80044480 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 03EEE4 80044484 7C663030 */ slw r6, r3, r6 -/* 03EEE8 80044488 7CA63039 */ and. r6, r5, r6 -/* 03EEEC 8004448C 41820024 */ beq lbl_800444B0 -lbl_80044490: -/* 03EEF0 80044490 3C7E0001 */ addis r3, r30, 1 -/* 03EEF4 80044494 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 03EEF8 80044498 80A32058 */ lwz r5, 0x2058(r3) -/* 03EEFC 8004449C 38800001 */ li r4, 1 -/* 03EF00 800444A0 7C843030 */ slw r4, r4, r6 -/* 03EF04 800444A4 7CA42378 */ or r4, r5, r4 -/* 03EF08 800444A8 90832058 */ stw r4, 0x2058(r3) -/* 03EF0C 800444AC 48000014 */ b lbl_800444C0 -lbl_800444B0: -/* 03EF10 800444B0 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 03EF14 800444B4 7C633030 */ slw r3, r3, r6 -/* 03EF18 800444B8 7CA31878 */ andc r3, r5, r3 -/* 03EF1C 800444BC 90642058 */ stw r3, 0x2058(r4) -lbl_800444C0: -/* 03EF20 800444C0 5783BE7A */ rlwinm r3, r28, 0x17, 0x19, 0x1d -/* 03EF24 800444C4 7D7A1A14 */ add r11, r26, r3 -/* 03EF28 800444C8 84AB0818 */ lwzu r5, 0x818(r11) -/* 03EF2C 800444CC 5789AEFE */ rlwinm r9, r28, 0x15, 0x1b, 0x1f -/* 03EF30 800444D0 54A405EF */ rlwinm. r4, r5, 0, 0x17, 0x17 -/* 03EF34 800444D4 39400000 */ li r10, 0 -/* 03EF38 800444D8 38600000 */ li r3, 0 -/* 03EF3C 800444DC 4182000C */ beq lbl_800444E8 -/* 03EF40 800444E0 38A00005 */ li r5, 5 -/* 03EF44 800444E4 38600001 */ li r3, 1 -lbl_800444E8: -/* 03EF48 800444E8 28000000 */ cmplwi r0, 0 -/* 03EF4C 800444EC 40820338 */ bne lbl_80044824 -/* 03EF50 800444F0 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 03EF54 800444F4 2804001F */ cmplwi r4, 0x1f -/* 03EF58 800444F8 4082009C */ bne lbl_80044594 -/* 03EF5C 800444FC 3CDE0001 */ addis r6, r30, 1 -/* 03EF60 80044500 8006205C */ lwz r0, 0x205c(r6) -/* 03EF64 80044504 5400077B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 03EF68 80044508 4082008C */ bne lbl_80044594 -/* 03EF6C 8004450C 281F0000 */ cmplwi r31, 0 -/* 03EF70 80044510 41820028 */ beq lbl_80044538 -/* 03EF74 80044514 80610084 */ lwz r3, 0x84(r1) -/* 03EF78 80044518 381E0038 */ addi r0, r30, 0x38 -/* 03EF7C 8004451C 7CDE0050 */ subf r6, r30, r0 -/* 03EF80 80044520 38030001 */ addi r0, r3, 1 -/* 03EF84 80044524 90010084 */ stw r0, 0x84(r1) -/* 03EF88 80044528 3C0680C3 */ addis r0, r6, 0x80c3 -/* 03EF8C 8004452C 5463103A */ slwi r3, r3, 2 -/* 03EF90 80044530 7C1F192E */ stwx r0, r31, r3 -/* 03EF94 80044534 48000010 */ b lbl_80044544 -lbl_80044538: -/* 03EF98 80044538 80610084 */ lwz r3, 0x84(r1) -/* 03EF9C 8004453C 38030001 */ addi r0, r3, 1 -/* 03EFA0 80044540 90010084 */ stw r0, 0x84(r1) -lbl_80044544: -/* 03EFA4 80044544 281F0000 */ cmplwi r31, 0 -/* 03EFA8 80044548 41820028 */ beq lbl_80044570 -/* 03EFAC 8004454C 80610084 */ lwz r3, 0x84(r1) -/* 03EFB0 80044550 54A0801E */ slwi r0, r5, 0x10 -/* 03EFB4 80044554 64067CC0 */ oris r6, r0, 0x7cc0 -/* 03EFB8 80044558 38030001 */ addi r0, r3, 1 -/* 03EFBC 8004455C 90010084 */ stw r0, 0x84(r1) -/* 03EFC0 80044560 60C63378 */ ori r6, r6, 0x3378 -/* 03EFC4 80044564 5460103A */ slwi r0, r3, 2 -/* 03EFC8 80044568 7CDF012E */ stwx r6, r31, r0 -/* 03EFCC 8004456C 48000010 */ b lbl_8004457C -lbl_80044570: -/* 03EFD0 80044570 80610084 */ lwz r3, 0x84(r1) -/* 03EFD4 80044574 38030001 */ addi r0, r3, 1 -/* 03EFD8 80044578 90010084 */ stw r0, 0x84(r1) -lbl_8004457C: -/* 03EFDC 8004457C 3C7E0001 */ addis r3, r30, 1 -/* 03EFE0 80044580 8003205C */ lwz r0, 0x205c(r3) -/* 03EFE4 80044584 39400001 */ li r10, 1 -/* 03EFE8 80044588 60000008 */ ori r0, r0, 8 -/* 03EFEC 8004458C 9003205C */ stw r0, 0x205c(r3) -/* 03EFF0 80044590 480001CC */ b lbl_8004475C -lbl_80044594: -/* 03EFF4 80044594 2C030000 */ cmpwi r3, 0 -/* 03EFF8 80044598 408200B4 */ bne lbl_8004464C -/* 03EFFC 8004459C 5480103A */ slwi r0, r4, 2 -/* 03F000 800445A0 7C7A0214 */ add r3, r26, r0 -/* 03F004 800445A4 80C30818 */ lwz r6, 0x818(r3) -/* 03F008 800445A8 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 03F00C 800445AC 41820054 */ beq lbl_80044600 -/* 03F010 800445B0 281F0000 */ cmplwi r31, 0 -/* 03F014 800445B4 4182003C */ beq lbl_800445F0 -/* 03F018 800445B8 54861838 */ slwi r6, r4, 3 -/* 03F01C 800445BC 80610084 */ lwz r3, 0x84(r1) -/* 03F020 800445C0 38060040 */ addi r0, r6, 0x40 -/* 03F024 800445C4 54A6A814 */ slwi r6, r5, 0x15 -/* 03F028 800445C8 7C1E0214 */ add r0, r30, r0 -/* 03F02C 800445CC 38E30001 */ addi r7, r3, 1 -/* 03F030 800445D0 64C68003 */ oris r6, r6, 0x8003 -/* 03F034 800445D4 90E10084 */ stw r7, 0x84(r1) -/* 03F038 800445D8 7C1E0050 */ subf r0, r30, r0 -/* 03F03C 800445DC 7CC03214 */ add r6, r0, r6 -/* 03F040 800445E0 38060004 */ addi r0, r6, 4 -/* 03F044 800445E4 5463103A */ slwi r3, r3, 2 -/* 03F048 800445E8 7C1F192E */ stwx r0, r31, r3 -/* 03F04C 800445EC 48000170 */ b lbl_8004475C -lbl_800445F0: -/* 03F050 800445F0 80610084 */ lwz r3, 0x84(r1) -/* 03F054 800445F4 38030001 */ addi r0, r3, 1 -/* 03F058 800445F8 90010084 */ stw r0, 0x84(r1) -/* 03F05C 800445FC 48000160 */ b lbl_8004475C -lbl_80044600: -/* 03F060 80044600 281F0000 */ cmplwi r31, 0 -/* 03F064 80044604 41820038 */ beq lbl_8004463C -/* 03F068 80044608 80610084 */ lwz r3, 0x84(r1) -/* 03F06C 8004460C 54C0A814 */ slwi r0, r6, 0x15 -/* 03F070 80044610 64007C00 */ oris r0, r0, 0x7c00 -/* 03F074 80044614 38E30001 */ addi r7, r3, 1 -/* 03F078 80044618 60000378 */ ori r0, r0, 0x378 -/* 03F07C 8004461C 90E10084 */ stw r7, 0x84(r1) -/* 03F080 80044620 54A7801E */ slwi r7, r5, 0x10 -/* 03F084 80044624 54C65828 */ slwi r6, r6, 0xb -/* 03F088 80044628 7C003B78 */ or r0, r0, r7 -/* 03F08C 8004462C 7CC00378 */ or r0, r6, r0 -/* 03F090 80044630 5463103A */ slwi r3, r3, 2 -/* 03F094 80044634 7C1F192E */ stwx r0, r31, r3 -/* 03F098 80044638 48000124 */ b lbl_8004475C -lbl_8004463C: -/* 03F09C 8004463C 80610084 */ lwz r3, 0x84(r1) -/* 03F0A0 80044640 38030001 */ addi r0, r3, 1 -/* 03F0A4 80044644 90010084 */ stw r0, 0x84(r1) -/* 03F0A8 80044648 48000114 */ b lbl_8004475C -lbl_8004464C: -/* 03F0AC 8004464C 5480103A */ slwi r0, r4, 2 -/* 03F0B0 80044650 7C7A0214 */ add r3, r26, r0 -/* 03F0B4 80044654 80030818 */ lwz r0, 0x818(r3) -/* 03F0B8 80044658 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03F0BC 8004465C 418200B4 */ beq lbl_80044710 -/* 03F0C0 80044660 281F0000 */ cmplwi r31, 0 -/* 03F0C4 80044664 4182003C */ beq lbl_800446A0 -/* 03F0C8 80044668 54861838 */ slwi r6, r4, 3 -/* 03F0CC 8004466C 80610084 */ lwz r3, 0x84(r1) -/* 03F0D0 80044670 38060040 */ addi r0, r6, 0x40 -/* 03F0D4 80044674 54A6A814 */ slwi r6, r5, 0x15 -/* 03F0D8 80044678 7C1E0214 */ add r0, r30, r0 -/* 03F0DC 8004467C 38E30001 */ addi r7, r3, 1 -/* 03F0E0 80044680 64C68003 */ oris r6, r6, 0x8003 -/* 03F0E4 80044684 90E10084 */ stw r7, 0x84(r1) -/* 03F0E8 80044688 7C1E0050 */ subf r0, r30, r0 -/* 03F0EC 8004468C 7CC03214 */ add r6, r0, r6 -/* 03F0F0 80044690 38060004 */ addi r0, r6, 4 -/* 03F0F4 80044694 5463103A */ slwi r3, r3, 2 -/* 03F0F8 80044698 7C1F192E */ stwx r0, r31, r3 -/* 03F0FC 8004469C 48000010 */ b lbl_800446AC -lbl_800446A0: -/* 03F100 800446A0 80610084 */ lwz r3, 0x84(r1) -/* 03F104 800446A4 38030001 */ addi r0, r3, 1 -/* 03F108 800446A8 90010084 */ stw r0, 0x84(r1) -lbl_800446AC: -/* 03F10C 800446AC 281F0000 */ cmplwi r31, 0 -/* 03F110 800446B0 4182003C */ beq lbl_800446EC -/* 03F114 800446B4 55261838 */ slwi r6, r9, 3 -/* 03F118 800446B8 80610084 */ lwz r3, 0x84(r1) -/* 03F11C 800446BC 38060040 */ addi r0, r6, 0x40 -/* 03F120 800446C0 54A6A814 */ slwi r6, r5, 0x15 -/* 03F124 800446C4 7C1E0214 */ add r0, r30, r0 -/* 03F128 800446C8 38E30001 */ addi r7, r3, 1 -/* 03F12C 800446CC 64C69003 */ oris r6, r6, 0x9003 -/* 03F130 800446D0 90E10084 */ stw r7, 0x84(r1) -/* 03F134 800446D4 7C1E0050 */ subf r0, r30, r0 -/* 03F138 800446D8 7CC03214 */ add r6, r0, r6 -/* 03F13C 800446DC 38060004 */ addi r0, r6, 4 -/* 03F140 800446E0 5463103A */ slwi r3, r3, 2 -/* 03F144 800446E4 7C1F192E */ stwx r0, r31, r3 -/* 03F148 800446E8 48000010 */ b lbl_800446F8 -lbl_800446EC: -/* 03F14C 800446EC 80610084 */ lwz r3, 0x84(r1) -/* 03F150 800446F0 38030001 */ addi r0, r3, 1 -/* 03F154 800446F4 90010084 */ stw r0, 0x84(r1) -lbl_800446F8: -/* 03F158 800446F8 3C7E0001 */ addis r3, r30, 1 -/* 03F15C 800446FC 38000002 */ li r0, 2 -/* 03F160 80044700 90032068 */ stw r0, 0x2068(r3) -/* 03F164 80044704 9123206C */ stw r9, 0x206c(r3) -/* 03F168 80044708 90A32070 */ stw r5, 0x2070(r3) -/* 03F16C 8004470C 48000050 */ b lbl_8004475C -lbl_80044710: -/* 03F170 80044710 281F0000 */ cmplwi r31, 0 -/* 03F174 80044714 4182003C */ beq lbl_80044750 -/* 03F178 80044718 55261838 */ slwi r6, r9, 3 -/* 03F17C 8004471C 80610084 */ lwz r3, 0x84(r1) -/* 03F180 80044720 38C60040 */ addi r6, r6, 0x40 -/* 03F184 80044724 5400A814 */ slwi r0, r0, 0x15 -/* 03F188 80044728 7CDE3214 */ add r6, r30, r6 -/* 03F18C 8004472C 38E30001 */ addi r7, r3, 1 -/* 03F190 80044730 64009003 */ oris r0, r0, 0x9003 -/* 03F194 80044734 90E10084 */ stw r7, 0x84(r1) -/* 03F198 80044738 7CDE3050 */ subf r6, r30, r6 -/* 03F19C 8004473C 7CC60214 */ add r6, r6, r0 -/* 03F1A0 80044740 38060004 */ addi r0, r6, 4 -/* 03F1A4 80044744 5463103A */ slwi r3, r3, 2 -/* 03F1A8 80044748 7C1F192E */ stwx r0, r31, r3 -/* 03F1AC 8004474C 48000010 */ b lbl_8004475C -lbl_80044750: -/* 03F1B0 80044750 80610084 */ lwz r3, 0x84(r1) -/* 03F1B4 80044754 38030001 */ addi r0, r3, 1 -/* 03F1B8 80044758 90010084 */ stw r0, 0x84(r1) -lbl_8004475C: -/* 03F1BC 8004475C 2809001F */ cmplwi r9, 0x1f -/* 03F1C0 80044760 40820700 */ bne lbl_80044E60 -/* 03F1C4 80044764 3C7E0001 */ addis r3, r30, 1 -/* 03F1C8 80044768 8003205C */ lwz r0, 0x205c(r3) -/* 03F1CC 8004476C 60000002 */ ori r0, r0, 2 -/* 03F1D0 80044770 9003205C */ stw r0, 0x205c(r3) -/* 03F1D4 80044774 8003205C */ lwz r0, 0x205c(r3) -/* 03F1D8 80044778 54000739 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 03F1DC 8004477C 418206E4 */ beq lbl_80044E60 -/* 03F1E0 80044780 5480103A */ slwi r0, r4, 2 -/* 03F1E4 80044784 7C7A0214 */ add r3, r26, r0 -/* 03F1E8 80044788 80030818 */ lwz r0, 0x818(r3) -/* 03F1EC 8004478C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 03F1F0 80044790 41820050 */ beq lbl_800447E0 -/* 03F1F4 80044794 281F0000 */ cmplwi r31, 0 -/* 03F1F8 80044798 38000006 */ li r0, 6 -/* 03F1FC 8004479C 41820038 */ beq lbl_800447D4 -/* 03F200 800447A0 54841838 */ slwi r4, r4, 3 -/* 03F204 800447A4 80610084 */ lwz r3, 0x84(r1) -/* 03F208 800447A8 38840040 */ addi r4, r4, 0x40 -/* 03F20C 800447AC 7C9E2214 */ add r4, r30, r4 -/* 03F210 800447B0 7C9E2050 */ subf r4, r30, r4 -/* 03F214 800447B4 38840004 */ addi r4, r4, 4 -/* 03F218 800447B8 38C30001 */ addi r6, r3, 1 -/* 03F21C 800447BC 5484043E */ clrlwi r4, r4, 0x10 -/* 03F220 800447C0 90C10084 */ stw r6, 0x84(r1) -/* 03F224 800447C4 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03F228 800447C8 5463103A */ slwi r3, r3, 2 -/* 03F22C 800447CC 7C9F192E */ stwx r4, r31, r3 -/* 03F230 800447D0 48000010 */ b lbl_800447E0 -lbl_800447D4: -/* 03F234 800447D4 80610084 */ lwz r3, 0x84(r1) -/* 03F238 800447D8 38630001 */ addi r3, r3, 1 -/* 03F23C 800447DC 90610084 */ stw r3, 0x84(r1) -lbl_800447E0: -/* 03F240 800447E0 281F0000 */ cmplwi r31, 0 -/* 03F244 800447E4 41820030 */ beq lbl_80044814 -/* 03F248 800447E8 80610084 */ lwz r3, 0x84(r1) -/* 03F24C 800447EC 5406A814 */ slwi r6, r0, 0x15 -/* 03F250 800447F0 389E0038 */ addi r4, r30, 0x38 -/* 03F254 800447F4 38030001 */ addi r0, r3, 1 -/* 03F258 800447F8 90010084 */ stw r0, 0x84(r1) -/* 03F25C 800447FC 64C09003 */ oris r0, r6, 0x9003 -/* 03F260 80044800 7C9E2050 */ subf r4, r30, r4 -/* 03F264 80044804 7C002214 */ add r0, r0, r4 -/* 03F268 80044808 5463103A */ slwi r3, r3, 2 -/* 03F26C 8004480C 7C1F192E */ stwx r0, r31, r3 -/* 03F270 80044810 48000650 */ b lbl_80044E60 -lbl_80044814: -/* 03F274 80044814 80610084 */ lwz r3, 0x84(r1) -/* 03F278 80044818 38030001 */ addi r0, r3, 1 -/* 03F27C 8004481C 90010084 */ stw r0, 0x84(r1) -/* 03F280 80044820 48000640 */ b lbl_80044E60 -lbl_80044824: -/* 03F284 80044824 578886FF */ rlwinm. r8, r28, 0x10, 0x1b, 0x1f -/* 03F288 80044828 40820334 */ bne lbl_80044B5C -/* 03F28C 8004482C 2800001F */ cmplwi r0, 0x1f -/* 03F290 80044830 4082009C */ bne lbl_800448CC -/* 03F294 80044834 3C9E0001 */ addis r4, r30, 1 -/* 03F298 80044838 8084205C */ lwz r4, 0x205c(r4) -/* 03F29C 8004483C 5484077B */ rlwinm. r4, r4, 0, 0x1d, 0x1d -/* 03F2A0 80044840 4082008C */ bne lbl_800448CC -/* 03F2A4 80044844 281F0000 */ cmplwi r31, 0 -/* 03F2A8 80044848 41820028 */ beq lbl_80044870 -/* 03F2AC 8004484C 80610084 */ lwz r3, 0x84(r1) -/* 03F2B0 80044850 389E0038 */ addi r4, r30, 0x38 -/* 03F2B4 80044854 7C9E2050 */ subf r4, r30, r4 -/* 03F2B8 80044858 38C30001 */ addi r6, r3, 1 -/* 03F2BC 8004485C 90C10084 */ stw r6, 0x84(r1) -/* 03F2C0 80044860 3C8480C3 */ addis r4, r4, 0x80c3 -/* 03F2C4 80044864 5463103A */ slwi r3, r3, 2 -/* 03F2C8 80044868 7C9F192E */ stwx r4, r31, r3 -/* 03F2CC 8004486C 48000010 */ b lbl_8004487C -lbl_80044870: -/* 03F2D0 80044870 80610084 */ lwz r3, 0x84(r1) -/* 03F2D4 80044874 38630001 */ addi r3, r3, 1 -/* 03F2D8 80044878 90610084 */ stw r3, 0x84(r1) -lbl_8004487C: -/* 03F2DC 8004487C 281F0000 */ cmplwi r31, 0 -/* 03F2E0 80044880 41820028 */ beq lbl_800448A8 -/* 03F2E4 80044884 80810084 */ lwz r4, 0x84(r1) -/* 03F2E8 80044888 54A3801E */ slwi r3, r5, 0x10 -/* 03F2EC 8004488C 64667CC0 */ oris r6, r3, 0x7cc0 -/* 03F2F0 80044890 38640001 */ addi r3, r4, 1 -/* 03F2F4 80044894 90610084 */ stw r3, 0x84(r1) -/* 03F2F8 80044898 60C63378 */ ori r6, r6, 0x3378 -/* 03F2FC 8004489C 5483103A */ slwi r3, r4, 2 -/* 03F300 800448A0 7CDF192E */ stwx r6, r31, r3 -/* 03F304 800448A4 48000010 */ b lbl_800448B4 -lbl_800448A8: -/* 03F308 800448A8 80610084 */ lwz r3, 0x84(r1) -/* 03F30C 800448AC 38630001 */ addi r3, r3, 1 -/* 03F310 800448B0 90610084 */ stw r3, 0x84(r1) -lbl_800448B4: -/* 03F314 800448B4 3C7E0001 */ addis r3, r30, 1 -/* 03F318 800448B8 8083205C */ lwz r4, 0x205c(r3) -/* 03F31C 800448BC 39400001 */ li r10, 1 -/* 03F320 800448C0 60840008 */ ori r4, r4, 8 -/* 03F324 800448C4 9083205C */ stw r4, 0x205c(r3) -/* 03F328 800448C8 480001CC */ b lbl_80044A94 -lbl_800448CC: -/* 03F32C 800448CC 2C030000 */ cmpwi r3, 0 -/* 03F330 800448D0 408200B4 */ bne lbl_80044984 -/* 03F334 800448D4 5403103A */ slwi r3, r0, 2 -/* 03F338 800448D8 7C7A1A14 */ add r3, r26, r3 -/* 03F33C 800448DC 80C30818 */ lwz r6, 0x818(r3) -/* 03F340 800448E0 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 03F344 800448E4 41820054 */ beq lbl_80044938 -/* 03F348 800448E8 281F0000 */ cmplwi r31, 0 -/* 03F34C 800448EC 4182003C */ beq lbl_80044928 -/* 03F350 800448F0 54041838 */ slwi r4, r0, 3 -/* 03F354 800448F4 80610084 */ lwz r3, 0x84(r1) -/* 03F358 800448F8 38840040 */ addi r4, r4, 0x40 -/* 03F35C 800448FC 54A6A814 */ slwi r6, r5, 0x15 -/* 03F360 80044900 7C9E2214 */ add r4, r30, r4 -/* 03F364 80044904 38E30001 */ addi r7, r3, 1 -/* 03F368 80044908 64C68003 */ oris r6, r6, 0x8003 -/* 03F36C 8004490C 90E10084 */ stw r7, 0x84(r1) -/* 03F370 80044910 7C9E2050 */ subf r4, r30, r4 -/* 03F374 80044914 7C843214 */ add r4, r4, r6 -/* 03F378 80044918 38840004 */ addi r4, r4, 4 -/* 03F37C 8004491C 5463103A */ slwi r3, r3, 2 -/* 03F380 80044920 7C9F192E */ stwx r4, r31, r3 -/* 03F384 80044924 48000170 */ b lbl_80044A94 -lbl_80044928: -/* 03F388 80044928 80610084 */ lwz r3, 0x84(r1) -/* 03F38C 8004492C 38630001 */ addi r3, r3, 1 -/* 03F390 80044930 90610084 */ stw r3, 0x84(r1) -/* 03F394 80044934 48000160 */ b lbl_80044A94 -lbl_80044938: -/* 03F398 80044938 281F0000 */ cmplwi r31, 0 -/* 03F39C 8004493C 41820038 */ beq lbl_80044974 -/* 03F3A0 80044940 80610084 */ lwz r3, 0x84(r1) -/* 03F3A4 80044944 54C4A814 */ slwi r4, r6, 0x15 -/* 03F3A8 80044948 64847C00 */ oris r4, r4, 0x7c00 -/* 03F3AC 8004494C 38E30001 */ addi r7, r3, 1 -/* 03F3B0 80044950 60840378 */ ori r4, r4, 0x378 -/* 03F3B4 80044954 90E10084 */ stw r7, 0x84(r1) -/* 03F3B8 80044958 54A7801E */ slwi r7, r5, 0x10 -/* 03F3BC 8004495C 54C65828 */ slwi r6, r6, 0xb -/* 03F3C0 80044960 7C843B78 */ or r4, r4, r7 -/* 03F3C4 80044964 7CC42378 */ or r4, r6, r4 -/* 03F3C8 80044968 5463103A */ slwi r3, r3, 2 -/* 03F3CC 8004496C 7C9F192E */ stwx r4, r31, r3 -/* 03F3D0 80044970 48000124 */ b lbl_80044A94 -lbl_80044974: -/* 03F3D4 80044974 80610084 */ lwz r3, 0x84(r1) -/* 03F3D8 80044978 38630001 */ addi r3, r3, 1 -/* 03F3DC 8004497C 90610084 */ stw r3, 0x84(r1) -/* 03F3E0 80044980 48000114 */ b lbl_80044A94 -lbl_80044984: -/* 03F3E4 80044984 5403103A */ slwi r3, r0, 2 -/* 03F3E8 80044988 7C7A1A14 */ add r3, r26, r3 -/* 03F3EC 8004498C 80C30818 */ lwz r6, 0x818(r3) -/* 03F3F0 80044990 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 03F3F4 80044994 418200B4 */ beq lbl_80044A48 -/* 03F3F8 80044998 281F0000 */ cmplwi r31, 0 -/* 03F3FC 8004499C 4182003C */ beq lbl_800449D8 -/* 03F400 800449A0 54041838 */ slwi r4, r0, 3 -/* 03F404 800449A4 80610084 */ lwz r3, 0x84(r1) -/* 03F408 800449A8 38840040 */ addi r4, r4, 0x40 -/* 03F40C 800449AC 54A6A814 */ slwi r6, r5, 0x15 -/* 03F410 800449B0 7C9E2214 */ add r4, r30, r4 -/* 03F414 800449B4 38E30001 */ addi r7, r3, 1 -/* 03F418 800449B8 64C68003 */ oris r6, r6, 0x8003 -/* 03F41C 800449BC 90E10084 */ stw r7, 0x84(r1) -/* 03F420 800449C0 7C9E2050 */ subf r4, r30, r4 -/* 03F424 800449C4 7C843214 */ add r4, r4, r6 -/* 03F428 800449C8 38840004 */ addi r4, r4, 4 -/* 03F42C 800449CC 5463103A */ slwi r3, r3, 2 -/* 03F430 800449D0 7C9F192E */ stwx r4, r31, r3 -/* 03F434 800449D4 48000010 */ b lbl_800449E4 -lbl_800449D8: -/* 03F438 800449D8 80610084 */ lwz r3, 0x84(r1) -/* 03F43C 800449DC 38630001 */ addi r3, r3, 1 -/* 03F440 800449E0 90610084 */ stw r3, 0x84(r1) -lbl_800449E4: -/* 03F444 800449E4 281F0000 */ cmplwi r31, 0 -/* 03F448 800449E8 4182003C */ beq lbl_80044A24 -/* 03F44C 800449EC 55241838 */ slwi r4, r9, 3 -/* 03F450 800449F0 80610084 */ lwz r3, 0x84(r1) -/* 03F454 800449F4 38840040 */ addi r4, r4, 0x40 -/* 03F458 800449F8 54A6A814 */ slwi r6, r5, 0x15 -/* 03F45C 800449FC 7C9E2214 */ add r4, r30, r4 -/* 03F460 80044A00 38E30001 */ addi r7, r3, 1 -/* 03F464 80044A04 64C69003 */ oris r6, r6, 0x9003 -/* 03F468 80044A08 90E10084 */ stw r7, 0x84(r1) -/* 03F46C 80044A0C 7C9E2050 */ subf r4, r30, r4 -/* 03F470 80044A10 7C843214 */ add r4, r4, r6 -/* 03F474 80044A14 38840004 */ addi r4, r4, 4 -/* 03F478 80044A18 5463103A */ slwi r3, r3, 2 -/* 03F47C 80044A1C 7C9F192E */ stwx r4, r31, r3 -/* 03F480 80044A20 48000010 */ b lbl_80044A30 -lbl_80044A24: -/* 03F484 80044A24 80610084 */ lwz r3, 0x84(r1) -/* 03F488 80044A28 38630001 */ addi r3, r3, 1 -/* 03F48C 80044A2C 90610084 */ stw r3, 0x84(r1) -lbl_80044A30: -/* 03F490 80044A30 3C7E0001 */ addis r3, r30, 1 -/* 03F494 80044A34 38800002 */ li r4, 2 -/* 03F498 80044A38 90832068 */ stw r4, 0x2068(r3) -/* 03F49C 80044A3C 9123206C */ stw r9, 0x206c(r3) -/* 03F4A0 80044A40 90A32070 */ stw r5, 0x2070(r3) -/* 03F4A4 80044A44 48000050 */ b lbl_80044A94 -lbl_80044A48: -/* 03F4A8 80044A48 281F0000 */ cmplwi r31, 0 -/* 03F4AC 80044A4C 4182003C */ beq lbl_80044A88 -/* 03F4B0 80044A50 55241838 */ slwi r4, r9, 3 -/* 03F4B4 80044A54 80610084 */ lwz r3, 0x84(r1) -/* 03F4B8 80044A58 38840040 */ addi r4, r4, 0x40 -/* 03F4BC 80044A5C 54C6A814 */ slwi r6, r6, 0x15 -/* 03F4C0 80044A60 7C9E2214 */ add r4, r30, r4 -/* 03F4C4 80044A64 38E30001 */ addi r7, r3, 1 -/* 03F4C8 80044A68 64C69003 */ oris r6, r6, 0x9003 -/* 03F4CC 80044A6C 90E10084 */ stw r7, 0x84(r1) -/* 03F4D0 80044A70 7C9E2050 */ subf r4, r30, r4 -/* 03F4D4 80044A74 7C843214 */ add r4, r4, r6 -/* 03F4D8 80044A78 38840004 */ addi r4, r4, 4 -/* 03F4DC 80044A7C 5463103A */ slwi r3, r3, 2 -/* 03F4E0 80044A80 7C9F192E */ stwx r4, r31, r3 -/* 03F4E4 80044A84 48000010 */ b lbl_80044A94 -lbl_80044A88: -/* 03F4E8 80044A88 80610084 */ lwz r3, 0x84(r1) -/* 03F4EC 80044A8C 38630001 */ addi r3, r3, 1 -/* 03F4F0 80044A90 90610084 */ stw r3, 0x84(r1) -lbl_80044A94: -/* 03F4F4 80044A94 2809001F */ cmplwi r9, 0x1f -/* 03F4F8 80044A98 408203C8 */ bne lbl_80044E60 -/* 03F4FC 80044A9C 3C7E0001 */ addis r3, r30, 1 -/* 03F500 80044AA0 8083205C */ lwz r4, 0x205c(r3) -/* 03F504 80044AA4 60840002 */ ori r4, r4, 2 -/* 03F508 80044AA8 9083205C */ stw r4, 0x205c(r3) -/* 03F50C 80044AAC 8063205C */ lwz r3, 0x205c(r3) -/* 03F510 80044AB0 54630739 */ rlwinm. r3, r3, 0, 0x1c, 0x1c -/* 03F514 80044AB4 418203AC */ beq lbl_80044E60 -/* 03F518 80044AB8 5403103A */ slwi r3, r0, 2 -/* 03F51C 80044ABC 7C7A1A14 */ add r3, r26, r3 -/* 03F520 80044AC0 80C30818 */ lwz r6, 0x818(r3) -/* 03F524 80044AC4 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 03F528 80044AC8 41820050 */ beq lbl_80044B18 -/* 03F52C 80044ACC 281F0000 */ cmplwi r31, 0 -/* 03F530 80044AD0 38C00006 */ li r6, 6 -/* 03F534 80044AD4 41820038 */ beq lbl_80044B0C -/* 03F538 80044AD8 54041838 */ slwi r4, r0, 3 -/* 03F53C 80044ADC 80610084 */ lwz r3, 0x84(r1) -/* 03F540 80044AE0 38040040 */ addi r0, r4, 0x40 -/* 03F544 80044AE4 7C1E0214 */ add r0, r30, r0 -/* 03F548 80044AE8 7C9E0050 */ subf r4, r30, r0 -/* 03F54C 80044AEC 38840004 */ addi r4, r4, 4 -/* 03F550 80044AF0 38030001 */ addi r0, r3, 1 -/* 03F554 80044AF4 5484043E */ clrlwi r4, r4, 0x10 -/* 03F558 80044AF8 90010084 */ stw r0, 0x84(r1) -/* 03F55C 80044AFC 3C0480C3 */ addis r0, r4, 0x80c3 -/* 03F560 80044B00 5463103A */ slwi r3, r3, 2 -/* 03F564 80044B04 7C1F192E */ stwx r0, r31, r3 -/* 03F568 80044B08 48000010 */ b lbl_80044B18 -lbl_80044B0C: -/* 03F56C 80044B0C 80610084 */ lwz r3, 0x84(r1) -/* 03F570 80044B10 38030001 */ addi r0, r3, 1 -/* 03F574 80044B14 90010084 */ stw r0, 0x84(r1) -lbl_80044B18: -/* 03F578 80044B18 281F0000 */ cmplwi r31, 0 -/* 03F57C 80044B1C 41820030 */ beq lbl_80044B4C -/* 03F580 80044B20 80610084 */ lwz r3, 0x84(r1) -/* 03F584 80044B24 54C6A814 */ slwi r6, r6, 0x15 -/* 03F588 80044B28 389E0038 */ addi r4, r30, 0x38 -/* 03F58C 80044B2C 38030001 */ addi r0, r3, 1 -/* 03F590 80044B30 90010084 */ stw r0, 0x84(r1) -/* 03F594 80044B34 64C09003 */ oris r0, r6, 0x9003 -/* 03F598 80044B38 7C9E2050 */ subf r4, r30, r4 -/* 03F59C 80044B3C 7C002214 */ add r0, r0, r4 -/* 03F5A0 80044B40 5463103A */ slwi r3, r3, 2 -/* 03F5A4 80044B44 7C1F192E */ stwx r0, r31, r3 -/* 03F5A8 80044B48 48000318 */ b lbl_80044E60 -lbl_80044B4C: -/* 03F5AC 80044B4C 80610084 */ lwz r3, 0x84(r1) -/* 03F5B0 80044B50 38030001 */ addi r0, r3, 1 -/* 03F5B4 80044B54 90010084 */ stw r0, 0x84(r1) -/* 03F5B8 80044B58 48000308 */ b lbl_80044E60 -lbl_80044B5C: -/* 03F5BC 80044B5C 5403103A */ slwi r3, r0, 2 -/* 03F5C0 80044B60 7C7A1A14 */ add r3, r26, r3 -/* 03F5C4 80044B64 81430818 */ lwz r10, 0x818(r3) -/* 03F5C8 80044B68 554305EF */ rlwinm. r3, r10, 0, 0x17, 0x17 -/* 03F5CC 80044B6C 4182014C */ beq lbl_80044CB8 -/* 03F5D0 80044B70 3C7E0001 */ addis r3, r30, 1 -/* 03F5D4 80044B74 80832064 */ lwz r4, 0x2064(r3) -/* 03F5D8 80044B78 39400006 */ li r10, 6 -/* 03F5DC 80044B7C 28040000 */ cmplwi r4, 0 -/* 03F5E0 80044B80 4082000C */ bne lbl_80044B8C -/* 03F5E4 80044B84 38800000 */ li r4, 0 -/* 03F5E8 80044B88 48000094 */ b lbl_80044C1C -lbl_80044B8C: -/* 03F5EC 80044B8C 80832068 */ lwz r4, 0x2068(r3) -/* 03F5F0 80044B90 28040000 */ cmplwi r4, 0 -/* 03F5F4 80044B94 4082000C */ bne lbl_80044BA0 -/* 03F5F8 80044B98 38800000 */ li r4, 0 -/* 03F5FC 80044B9C 48000080 */ b lbl_80044C1C -lbl_80044BA0: -/* 03F600 80044BA0 8063206C */ lwz r3, 0x206c(r3) -/* 03F604 80044BA4 7C001800 */ cmpw r0, r3 -/* 03F608 80044BA8 4182000C */ beq lbl_80044BB4 -/* 03F60C 80044BAC 38800000 */ li r4, 0 -/* 03F610 80044BB0 4800006C */ b lbl_80044C1C -lbl_80044BB4: -/* 03F614 80044BB4 80FE0034 */ lwz r7, 0x34(r30) -/* 03F618 80044BB8 38800000 */ li r4, 0 -/* 03F61C 80044BBC 80670008 */ lwz r3, 8(r7) -/* 03F620 80044BC0 2C030000 */ cmpwi r3, 0 -/* 03F624 80044BC4 7C6903A6 */ mtctr r3 -/* 03F628 80044BC8 40810028 */ ble lbl_80044BF0 -lbl_80044BCC: -/* 03F62C 80044BCC 8067000C */ lwz r3, 0xc(r7) -/* 03F630 80044BD0 38C40004 */ addi r6, r4, 4 -/* 03F634 80044BD4 7C63302E */ lwzx r3, r3, r6 -/* 03F638 80044BD8 7C1D1800 */ cmpw r29, r3 -/* 03F63C 80044BDC 4082000C */ bne lbl_80044BE8 -/* 03F640 80044BE0 38600000 */ li r3, 0 -/* 03F644 80044BE4 48000010 */ b lbl_80044BF4 -lbl_80044BE8: -/* 03F648 80044BE8 38840008 */ addi r4, r4, 8 -/* 03F64C 80044BEC 4200FFE0 */ bdnz lbl_80044BCC -lbl_80044BF0: -/* 03F650 80044BF0 38600001 */ li r3, 1 -lbl_80044BF4: -/* 03F654 80044BF4 2C030000 */ cmpwi r3, 0 -/* 03F658 80044BF8 40820014 */ bne lbl_80044C0C -/* 03F65C 80044BFC 38800000 */ li r4, 0 -/* 03F660 80044C00 3C7E0001 */ addis r3, r30, 1 -/* 03F664 80044C04 90832068 */ stw r4, 0x2068(r3) -/* 03F668 80044C08 48000014 */ b lbl_80044C1C -lbl_80044C0C: -/* 03F66C 80044C0C 3C7E0001 */ addis r3, r30, 1 -/* 03F670 80044C10 38800000 */ li r4, 0 -/* 03F674 80044C14 90832068 */ stw r4, 0x2068(r3) -/* 03F678 80044C18 38800001 */ li r4, 1 -lbl_80044C1C: -/* 03F67C 80044C1C 2C040000 */ cmpwi r4, 0 -/* 03F680 80044C20 41820050 */ beq lbl_80044C70 -/* 03F684 80044C24 281F0000 */ cmplwi r31, 0 -/* 03F688 80044C28 41820038 */ beq lbl_80044C60 -/* 03F68C 80044C2C 3C9E0001 */ addis r4, r30, 1 -/* 03F690 80044C30 80610084 */ lwz r3, 0x84(r1) -/* 03F694 80044C34 80842070 */ lwz r4, 0x2070(r4) -/* 03F698 80044C38 38C30001 */ addi r6, r3, 1 -/* 03F69C 80044C3C 5480A814 */ slwi r0, r4, 0x15 -/* 03F6A0 80044C40 90C10084 */ stw r6, 0x84(r1) -/* 03F6A4 80044C44 64007C06 */ oris r0, r0, 0x7c06 -/* 03F6A8 80044C48 54845828 */ slwi r4, r4, 0xb -/* 03F6AC 80044C4C 60000378 */ ori r0, r0, 0x378 -/* 03F6B0 80044C50 7C800378 */ or r0, r4, r0 -/* 03F6B4 80044C54 5463103A */ slwi r3, r3, 2 -/* 03F6B8 80044C58 7C1F192E */ stwx r0, r31, r3 -/* 03F6BC 80044C5C 4800005C */ b lbl_80044CB8 -lbl_80044C60: -/* 03F6C0 80044C60 80610084 */ lwz r3, 0x84(r1) -/* 03F6C4 80044C64 38030001 */ addi r0, r3, 1 -/* 03F6C8 80044C68 90010084 */ stw r0, 0x84(r1) -/* 03F6CC 80044C6C 4800004C */ b lbl_80044CB8 -lbl_80044C70: -/* 03F6D0 80044C70 281F0000 */ cmplwi r31, 0 -/* 03F6D4 80044C74 41820038 */ beq lbl_80044CAC -/* 03F6D8 80044C78 54041838 */ slwi r4, r0, 3 -/* 03F6DC 80044C7C 80610084 */ lwz r3, 0x84(r1) -/* 03F6E0 80044C80 38040040 */ addi r0, r4, 0x40 -/* 03F6E4 80044C84 7C1E0214 */ add r0, r30, r0 -/* 03F6E8 80044C88 7C9E0050 */ subf r4, r30, r0 -/* 03F6EC 80044C8C 38840004 */ addi r4, r4, 4 -/* 03F6F0 80044C90 38030001 */ addi r0, r3, 1 -/* 03F6F4 80044C94 5484043E */ clrlwi r4, r4, 0x10 -/* 03F6F8 80044C98 90010084 */ stw r0, 0x84(r1) -/* 03F6FC 80044C9C 3C0480C3 */ addis r0, r4, 0x80c3 -/* 03F700 80044CA0 5463103A */ slwi r3, r3, 2 -/* 03F704 80044CA4 7C1F192E */ stwx r0, r31, r3 -/* 03F708 80044CA8 48000010 */ b lbl_80044CB8 -lbl_80044CAC: -/* 03F70C 80044CAC 80610084 */ lwz r3, 0x84(r1) -/* 03F710 80044CB0 38030001 */ addi r0, r3, 1 -/* 03F714 80044CB4 90010084 */ stw r0, 0x84(r1) -lbl_80044CB8: -/* 03F718 80044CB8 5500103A */ slwi r0, r8, 2 -/* 03F71C 80044CBC 7C7A0214 */ add r3, r26, r0 -/* 03F720 80044CC0 80E30818 */ lwz r7, 0x818(r3) -/* 03F724 80044CC4 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 03F728 80044CC8 4182014C */ beq lbl_80044E14 -/* 03F72C 80044CCC 3C7E0001 */ addis r3, r30, 1 -/* 03F730 80044CD0 80032064 */ lwz r0, 0x2064(r3) -/* 03F734 80044CD4 38E00007 */ li r7, 7 -/* 03F738 80044CD8 28000000 */ cmplwi r0, 0 -/* 03F73C 80044CDC 4082000C */ bne lbl_80044CE8 -/* 03F740 80044CE0 38000000 */ li r0, 0 -/* 03F744 80044CE4 48000094 */ b lbl_80044D78 -lbl_80044CE8: -/* 03F748 80044CE8 80032068 */ lwz r0, 0x2068(r3) -/* 03F74C 80044CEC 28000000 */ cmplwi r0, 0 -/* 03F750 80044CF0 4082000C */ bne lbl_80044CFC -/* 03F754 80044CF4 38000000 */ li r0, 0 -/* 03F758 80044CF8 48000080 */ b lbl_80044D78 -lbl_80044CFC: -/* 03F75C 80044CFC 8003206C */ lwz r0, 0x206c(r3) -/* 03F760 80044D00 7C080000 */ cmpw r8, r0 -/* 03F764 80044D04 4182000C */ beq lbl_80044D10 -/* 03F768 80044D08 38000000 */ li r0, 0 -/* 03F76C 80044D0C 4800006C */ b lbl_80044D78 -lbl_80044D10: -/* 03F770 80044D10 80DE0034 */ lwz r6, 0x34(r30) -/* 03F774 80044D14 38800000 */ li r4, 0 -/* 03F778 80044D18 80060008 */ lwz r0, 8(r6) -/* 03F77C 80044D1C 2C000000 */ cmpwi r0, 0 -/* 03F780 80044D20 7C0903A6 */ mtctr r0 -/* 03F784 80044D24 40810028 */ ble lbl_80044D4C -lbl_80044D28: -/* 03F788 80044D28 8066000C */ lwz r3, 0xc(r6) -/* 03F78C 80044D2C 38040004 */ addi r0, r4, 4 -/* 03F790 80044D30 7C03002E */ lwzx r0, r3, r0 -/* 03F794 80044D34 7C1D0000 */ cmpw r29, r0 -/* 03F798 80044D38 4082000C */ bne lbl_80044D44 -/* 03F79C 80044D3C 38000000 */ li r0, 0 -/* 03F7A0 80044D40 48000010 */ b lbl_80044D50 -lbl_80044D44: -/* 03F7A4 80044D44 38840008 */ addi r4, r4, 8 -/* 03F7A8 80044D48 4200FFE0 */ bdnz lbl_80044D28 -lbl_80044D4C: -/* 03F7AC 80044D4C 38000001 */ li r0, 1 -lbl_80044D50: -/* 03F7B0 80044D50 2C000000 */ cmpwi r0, 0 -/* 03F7B4 80044D54 40820014 */ bne lbl_80044D68 -/* 03F7B8 80044D58 38000000 */ li r0, 0 -/* 03F7BC 80044D5C 3C7E0001 */ addis r3, r30, 1 -/* 03F7C0 80044D60 90032068 */ stw r0, 0x2068(r3) -/* 03F7C4 80044D64 48000014 */ b lbl_80044D78 -lbl_80044D68: -/* 03F7C8 80044D68 3C7E0001 */ addis r3, r30, 1 -/* 03F7CC 80044D6C 38000000 */ li r0, 0 -/* 03F7D0 80044D70 90032068 */ stw r0, 0x2068(r3) -/* 03F7D4 80044D74 38000001 */ li r0, 1 -lbl_80044D78: -/* 03F7D8 80044D78 2C000000 */ cmpwi r0, 0 -/* 03F7DC 80044D7C 41820050 */ beq lbl_80044DCC -/* 03F7E0 80044D80 281F0000 */ cmplwi r31, 0 -/* 03F7E4 80044D84 41820038 */ beq lbl_80044DBC -/* 03F7E8 80044D88 3C9E0001 */ addis r4, r30, 1 -/* 03F7EC 80044D8C 80610084 */ lwz r3, 0x84(r1) -/* 03F7F0 80044D90 80C42070 */ lwz r6, 0x2070(r4) -/* 03F7F4 80044D94 38030001 */ addi r0, r3, 1 -/* 03F7F8 80044D98 54C4A814 */ slwi r4, r6, 0x15 -/* 03F7FC 80044D9C 90010084 */ stw r0, 0x84(r1) -/* 03F800 80044DA0 64807C07 */ oris r0, r4, 0x7c07 -/* 03F804 80044DA4 54C45828 */ slwi r4, r6, 0xb -/* 03F808 80044DA8 60000378 */ ori r0, r0, 0x378 -/* 03F80C 80044DAC 7C800378 */ or r0, r4, r0 -/* 03F810 80044DB0 5463103A */ slwi r3, r3, 2 -/* 03F814 80044DB4 7C1F192E */ stwx r0, r31, r3 -/* 03F818 80044DB8 4800005C */ b lbl_80044E14 -lbl_80044DBC: -/* 03F81C 80044DBC 80610084 */ lwz r3, 0x84(r1) -/* 03F820 80044DC0 38030001 */ addi r0, r3, 1 -/* 03F824 80044DC4 90010084 */ stw r0, 0x84(r1) -/* 03F828 80044DC8 4800004C */ b lbl_80044E14 -lbl_80044DCC: -/* 03F82C 80044DCC 281F0000 */ cmplwi r31, 0 -/* 03F830 80044DD0 41820038 */ beq lbl_80044E08 -/* 03F834 80044DD4 55041838 */ slwi r4, r8, 3 -/* 03F838 80044DD8 80610084 */ lwz r3, 0x84(r1) -/* 03F83C 80044DDC 38040040 */ addi r0, r4, 0x40 -/* 03F840 80044DE0 7C1E0214 */ add r0, r30, r0 -/* 03F844 80044DE4 7C9E0050 */ subf r4, r30, r0 -/* 03F848 80044DE8 38840004 */ addi r4, r4, 4 -/* 03F84C 80044DEC 38030001 */ addi r0, r3, 1 -/* 03F850 80044DF0 5484043E */ clrlwi r4, r4, 0x10 -/* 03F854 80044DF4 90010084 */ stw r0, 0x84(r1) -/* 03F858 80044DF8 3C0480E3 */ addis r0, r4, 0x80e3 -/* 03F85C 80044DFC 5463103A */ slwi r3, r3, 2 -/* 03F860 80044E00 7C1F192E */ stwx r0, r31, r3 -/* 03F864 80044E04 48000010 */ b lbl_80044E14 -lbl_80044E08: -/* 03F868 80044E08 80610084 */ lwz r3, 0x84(r1) -/* 03F86C 80044E0C 38030001 */ addi r0, r3, 1 -/* 03F870 80044E10 90010084 */ stw r0, 0x84(r1) -lbl_80044E14: -/* 03F874 80044E14 281F0000 */ cmplwi r31, 0 -/* 03F878 80044E18 41820038 */ beq lbl_80044E50 -/* 03F87C 80044E1C 80610084 */ lwz r3, 0x84(r1) -/* 03F880 80044E20 54A0A814 */ slwi r0, r5, 0x15 -/* 03F884 80044E24 64047C00 */ oris r4, r0, 0x7c00 -/* 03F888 80044E28 38030001 */ addi r0, r3, 1 -/* 03F88C 80044E2C 60840214 */ ori r4, r4, 0x214 -/* 03F890 80044E30 90010084 */ stw r0, 0x84(r1) -/* 03F894 80044E34 5540801E */ slwi r0, r10, 0x10 -/* 03F898 80044E38 54E65828 */ slwi r6, r7, 0xb -/* 03F89C 80044E3C 7C800378 */ or r0, r4, r0 -/* 03F8A0 80044E40 7CC00378 */ or r0, r6, r0 -/* 03F8A4 80044E44 5463103A */ slwi r3, r3, 2 -/* 03F8A8 80044E48 7C1F192E */ stwx r0, r31, r3 -/* 03F8AC 80044E4C 48000010 */ b lbl_80044E5C -lbl_80044E50: -/* 03F8B0 80044E50 80610084 */ lwz r3, 0x84(r1) -/* 03F8B4 80044E54 38030001 */ addi r0, r3, 1 -/* 03F8B8 80044E58 90010084 */ stw r0, 0x84(r1) -lbl_80044E5C: -/* 03F8BC 80044E5C 39400001 */ li r10, 1 -lbl_80044E60: -/* 03F8C0 80044E60 2C0A0000 */ cmpwi r10, 0 -/* 03F8C4 80044E64 40820008 */ bne lbl_80044E6C -/* 03F8C8 80044E68 480230CC */ b lbl_80067F34 -lbl_80044E6C: -/* 03F8CC 80044E6C 800B0000 */ lwz r0, 0(r11) -/* 03F8D0 80044E70 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 03F8D4 80044E74 40820008 */ bne lbl_80044E7C -/* 03F8D8 80044E78 480230BC */ b lbl_80067F34 -lbl_80044E7C: -/* 03F8DC 80044E7C 3C7E0001 */ addis r3, r30, 1 -/* 03F8E0 80044E80 38000002 */ li r0, 2 -/* 03F8E4 80044E84 90032068 */ stw r0, 0x2068(r3) -/* 03F8E8 80044E88 281F0000 */ cmplwi r31, 0 -/* 03F8EC 80044E8C 9123206C */ stw r9, 0x206c(r3) -/* 03F8F0 80044E90 90A32070 */ stw r5, 0x2070(r3) -/* 03F8F4 80044E94 41820038 */ beq lbl_80044ECC -/* 03F8F8 80044E98 55241838 */ slwi r4, r9, 3 -/* 03F8FC 80044E9C 80610084 */ lwz r3, 0x84(r1) -/* 03F900 80044EA0 38040040 */ addi r0, r4, 0x40 -/* 03F904 80044EA4 7C1E0214 */ add r0, r30, r0 -/* 03F908 80044EA8 7C9E0050 */ subf r4, r30, r0 -/* 03F90C 80044EAC 38840004 */ addi r4, r4, 4 -/* 03F910 80044EB0 38030001 */ addi r0, r3, 1 -/* 03F914 80044EB4 5484043E */ clrlwi r4, r4, 0x10 -/* 03F918 80044EB8 90010084 */ stw r0, 0x84(r1) -/* 03F91C 80044EBC 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03F920 80044EC0 5463103A */ slwi r3, r3, 2 -/* 03F924 80044EC4 7C1F192E */ stwx r0, r31, r3 -/* 03F928 80044EC8 4802306C */ b lbl_80067F34 -lbl_80044ECC: -/* 03F92C 80044ECC 80610084 */ lwz r3, 0x84(r1) -/* 03F930 80044ED0 38030001 */ addi r0, r3, 1 -/* 03F934 80044ED4 90010084 */ stw r0, 0x84(r1) -/* 03F938 80044ED8 4802305C */ b lbl_80067F34 -.global lbl_80044EDC -lbl_80044EDC: -/* 03F93C 80044EDC 3C7E0001 */ addis r3, r30, 1 -/* 03F940 80044EE0 57865EFE */ rlwinm r6, r28, 0xb, 0x1b, 0x1f -/* 03F944 80044EE4 80832058 */ lwz r4, 0x2058(r3) -/* 03F948 80044EE8 38000001 */ li r0, 1 -/* 03F94C 80044EEC 7C053030 */ slw r5, r0, r6 -/* 03F950 80044EF0 7C852839 */ and. r5, r4, r5 -/* 03F954 80044EF4 40820014 */ bne lbl_80044F08 -/* 03F958 80044EF8 578586FE */ rlwinm r5, r28, 0x10, 0x1b, 0x1f -/* 03F95C 80044EFC 7C052830 */ slw r5, r0, r5 -/* 03F960 80044F00 7C852839 */ and. r5, r4, r5 -/* 03F964 80044F04 41820024 */ beq lbl_80044F28 -lbl_80044F08: -/* 03F968 80044F08 3C7E0001 */ addis r3, r30, 1 -/* 03F96C 80044F0C 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 03F970 80044F10 80832058 */ lwz r4, 0x2058(r3) -/* 03F974 80044F14 38000001 */ li r0, 1 -/* 03F978 80044F18 7C002830 */ slw r0, r0, r5 -/* 03F97C 80044F1C 7C800378 */ or r0, r4, r0 -/* 03F980 80044F20 90032058 */ stw r0, 0x2058(r3) -/* 03F984 80044F24 48000014 */ b lbl_80044F38 -lbl_80044F28: -/* 03F988 80044F28 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 03F98C 80044F2C 7C002830 */ slw r0, r0, r5 -/* 03F990 80044F30 7C800078 */ andc r0, r4, r0 -/* 03F994 80044F34 90032058 */ stw r0, 0x2058(r3) -lbl_80044F38: -/* 03F998 80044F38 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 03F99C 80044F3C 7D3A0214 */ add r9, r26, r0 -/* 03F9A0 80044F40 84E90818 */ lwzu r7, 0x818(r9) -/* 03F9A4 80044F44 578BAEFE */ rlwinm r11, r28, 0x15, 0x1b, 0x1f -/* 03F9A8 80044F48 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 03F9AC 80044F4C 41820008 */ beq lbl_80044F54 -/* 03F9B0 80044F50 38E00005 */ li r7, 5 -lbl_80044F54: -/* 03F9B4 80044F54 54C0103A */ slwi r0, r6, 2 -/* 03F9B8 80044F58 7C7A0214 */ add r3, r26, r0 -/* 03F9BC 80044F5C 81430818 */ lwz r10, 0x818(r3) -/* 03F9C0 80044F60 554005EF */ rlwinm. r0, r10, 0, 0x17, 0x17 -/* 03F9C4 80044F64 4182014C */ beq lbl_800450B0 -/* 03F9C8 80044F68 3C7E0001 */ addis r3, r30, 1 -/* 03F9CC 80044F6C 80032064 */ lwz r0, 0x2064(r3) -/* 03F9D0 80044F70 39400006 */ li r10, 6 -/* 03F9D4 80044F74 28000000 */ cmplwi r0, 0 -/* 03F9D8 80044F78 4082000C */ bne lbl_80044F84 -/* 03F9DC 80044F7C 38000000 */ li r0, 0 -/* 03F9E0 80044F80 48000094 */ b lbl_80045014 -lbl_80044F84: -/* 03F9E4 80044F84 80032068 */ lwz r0, 0x2068(r3) -/* 03F9E8 80044F88 28000000 */ cmplwi r0, 0 -/* 03F9EC 80044F8C 4082000C */ bne lbl_80044F98 -/* 03F9F0 80044F90 38000000 */ li r0, 0 -/* 03F9F4 80044F94 48000080 */ b lbl_80045014 -lbl_80044F98: -/* 03F9F8 80044F98 8003206C */ lwz r0, 0x206c(r3) -/* 03F9FC 80044F9C 7C060000 */ cmpw r6, r0 -/* 03FA00 80044FA0 4182000C */ beq lbl_80044FAC -/* 03FA04 80044FA4 38000000 */ li r0, 0 -/* 03FA08 80044FA8 4800006C */ b lbl_80045014 -lbl_80044FAC: -/* 03FA0C 80044FAC 80BE0034 */ lwz r5, 0x34(r30) -/* 03FA10 80044FB0 38800000 */ li r4, 0 -/* 03FA14 80044FB4 80050008 */ lwz r0, 8(r5) -/* 03FA18 80044FB8 2C000000 */ cmpwi r0, 0 -/* 03FA1C 80044FBC 7C0903A6 */ mtctr r0 -/* 03FA20 80044FC0 40810028 */ ble lbl_80044FE8 -lbl_80044FC4: -/* 03FA24 80044FC4 8065000C */ lwz r3, 0xc(r5) -/* 03FA28 80044FC8 38040004 */ addi r0, r4, 4 -/* 03FA2C 80044FCC 7C03002E */ lwzx r0, r3, r0 -/* 03FA30 80044FD0 7C1D0000 */ cmpw r29, r0 -/* 03FA34 80044FD4 4082000C */ bne lbl_80044FE0 -/* 03FA38 80044FD8 38000000 */ li r0, 0 -/* 03FA3C 80044FDC 48000010 */ b lbl_80044FEC -lbl_80044FE0: -/* 03FA40 80044FE0 38840008 */ addi r4, r4, 8 -/* 03FA44 80044FE4 4200FFE0 */ bdnz lbl_80044FC4 -lbl_80044FE8: -/* 03FA48 80044FE8 38000001 */ li r0, 1 -lbl_80044FEC: -/* 03FA4C 80044FEC 2C000000 */ cmpwi r0, 0 -/* 03FA50 80044FF0 40820014 */ bne lbl_80045004 -/* 03FA54 80044FF4 38000000 */ li r0, 0 -/* 03FA58 80044FF8 3C7E0001 */ addis r3, r30, 1 -/* 03FA5C 80044FFC 90032068 */ stw r0, 0x2068(r3) -/* 03FA60 80045000 48000014 */ b lbl_80045014 -lbl_80045004: -/* 03FA64 80045004 3C7E0001 */ addis r3, r30, 1 -/* 03FA68 80045008 38000000 */ li r0, 0 -/* 03FA6C 8004500C 90032068 */ stw r0, 0x2068(r3) -/* 03FA70 80045010 38000001 */ li r0, 1 -lbl_80045014: -/* 03FA74 80045014 2C000000 */ cmpwi r0, 0 -/* 03FA78 80045018 41820050 */ beq lbl_80045068 -/* 03FA7C 8004501C 281F0000 */ cmplwi r31, 0 -/* 03FA80 80045020 41820038 */ beq lbl_80045058 -/* 03FA84 80045024 3C9E0001 */ addis r4, r30, 1 -/* 03FA88 80045028 80610084 */ lwz r3, 0x84(r1) -/* 03FA8C 8004502C 80842070 */ lwz r4, 0x2070(r4) -/* 03FA90 80045030 38A30001 */ addi r5, r3, 1 -/* 03FA94 80045034 5480A814 */ slwi r0, r4, 0x15 -/* 03FA98 80045038 90A10084 */ stw r5, 0x84(r1) -/* 03FA9C 8004503C 64007C06 */ oris r0, r0, 0x7c06 -/* 03FAA0 80045040 54845828 */ slwi r4, r4, 0xb -/* 03FAA4 80045044 60000378 */ ori r0, r0, 0x378 -/* 03FAA8 80045048 7C800378 */ or r0, r4, r0 -/* 03FAAC 8004504C 5463103A */ slwi r3, r3, 2 -/* 03FAB0 80045050 7C1F192E */ stwx r0, r31, r3 -/* 03FAB4 80045054 4800005C */ b lbl_800450B0 -lbl_80045058: -/* 03FAB8 80045058 80610084 */ lwz r3, 0x84(r1) -/* 03FABC 8004505C 38030001 */ addi r0, r3, 1 -/* 03FAC0 80045060 90010084 */ stw r0, 0x84(r1) -/* 03FAC4 80045064 4800004C */ b lbl_800450B0 -lbl_80045068: -/* 03FAC8 80045068 281F0000 */ cmplwi r31, 0 -/* 03FACC 8004506C 41820038 */ beq lbl_800450A4 -/* 03FAD0 80045070 54C41838 */ slwi r4, r6, 3 -/* 03FAD4 80045074 80610084 */ lwz r3, 0x84(r1) -/* 03FAD8 80045078 38040040 */ addi r0, r4, 0x40 -/* 03FADC 8004507C 7C1E0214 */ add r0, r30, r0 -/* 03FAE0 80045080 7C9E0050 */ subf r4, r30, r0 -/* 03FAE4 80045084 38840004 */ addi r4, r4, 4 -/* 03FAE8 80045088 38030001 */ addi r0, r3, 1 -/* 03FAEC 8004508C 5484043E */ clrlwi r4, r4, 0x10 -/* 03FAF0 80045090 90010084 */ stw r0, 0x84(r1) -/* 03FAF4 80045094 3C0480C3 */ addis r0, r4, 0x80c3 -/* 03FAF8 80045098 5463103A */ slwi r3, r3, 2 -/* 03FAFC 8004509C 7C1F192E */ stwx r0, r31, r3 -/* 03FB00 800450A0 48000010 */ b lbl_800450B0 -lbl_800450A4: -/* 03FB04 800450A4 80610084 */ lwz r3, 0x84(r1) -/* 03FB08 800450A8 38030001 */ addi r0, r3, 1 -/* 03FB0C 800450AC 90010084 */ stw r0, 0x84(r1) -lbl_800450B0: -/* 03FB10 800450B0 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 03FB14 800450B4 7C7A0214 */ add r3, r26, r0 -/* 03FB18 800450B8 80C30818 */ lwz r6, 0x818(r3) -/* 03FB1C 800450BC 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 03FB20 800450C0 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 03FB24 800450C4 4182014C */ beq lbl_80045210 -/* 03FB28 800450C8 3C7E0001 */ addis r3, r30, 1 -/* 03FB2C 800450CC 80032064 */ lwz r0, 0x2064(r3) -/* 03FB30 800450D0 38C00007 */ li r6, 7 -/* 03FB34 800450D4 28000000 */ cmplwi r0, 0 -/* 03FB38 800450D8 4082000C */ bne lbl_800450E4 -/* 03FB3C 800450DC 38000000 */ li r0, 0 -/* 03FB40 800450E0 48000094 */ b lbl_80045174 -lbl_800450E4: -/* 03FB44 800450E4 80032068 */ lwz r0, 0x2068(r3) -/* 03FB48 800450E8 28000000 */ cmplwi r0, 0 -/* 03FB4C 800450EC 4082000C */ bne lbl_800450F8 -/* 03FB50 800450F0 38000000 */ li r0, 0 -/* 03FB54 800450F4 48000080 */ b lbl_80045174 -lbl_800450F8: -/* 03FB58 800450F8 8003206C */ lwz r0, 0x206c(r3) -/* 03FB5C 800450FC 7C080000 */ cmpw r8, r0 -/* 03FB60 80045100 4182000C */ beq lbl_8004510C -/* 03FB64 80045104 38000000 */ li r0, 0 -/* 03FB68 80045108 4800006C */ b lbl_80045174 -lbl_8004510C: -/* 03FB6C 8004510C 80BE0034 */ lwz r5, 0x34(r30) -/* 03FB70 80045110 38800000 */ li r4, 0 -/* 03FB74 80045114 80050008 */ lwz r0, 8(r5) -/* 03FB78 80045118 2C000000 */ cmpwi r0, 0 -/* 03FB7C 8004511C 7C0903A6 */ mtctr r0 -/* 03FB80 80045120 40810028 */ ble lbl_80045148 -lbl_80045124: -/* 03FB84 80045124 8065000C */ lwz r3, 0xc(r5) -/* 03FB88 80045128 38040004 */ addi r0, r4, 4 -/* 03FB8C 8004512C 7C03002E */ lwzx r0, r3, r0 -/* 03FB90 80045130 7C1D0000 */ cmpw r29, r0 -/* 03FB94 80045134 4082000C */ bne lbl_80045140 -/* 03FB98 80045138 38000000 */ li r0, 0 -/* 03FB9C 8004513C 48000010 */ b lbl_8004514C -lbl_80045140: -/* 03FBA0 80045140 38840008 */ addi r4, r4, 8 -/* 03FBA4 80045144 4200FFE0 */ bdnz lbl_80045124 -lbl_80045148: -/* 03FBA8 80045148 38000001 */ li r0, 1 -lbl_8004514C: -/* 03FBAC 8004514C 2C000000 */ cmpwi r0, 0 -/* 03FBB0 80045150 40820014 */ bne lbl_80045164 -/* 03FBB4 80045154 38000000 */ li r0, 0 -/* 03FBB8 80045158 3C7E0001 */ addis r3, r30, 1 -/* 03FBBC 8004515C 90032068 */ stw r0, 0x2068(r3) -/* 03FBC0 80045160 48000014 */ b lbl_80045174 -lbl_80045164: -/* 03FBC4 80045164 3C7E0001 */ addis r3, r30, 1 -/* 03FBC8 80045168 38000000 */ li r0, 0 -/* 03FBCC 8004516C 90032068 */ stw r0, 0x2068(r3) -/* 03FBD0 80045170 38000001 */ li r0, 1 -lbl_80045174: -/* 03FBD4 80045174 2C000000 */ cmpwi r0, 0 -/* 03FBD8 80045178 41820050 */ beq lbl_800451C8 -/* 03FBDC 8004517C 281F0000 */ cmplwi r31, 0 -/* 03FBE0 80045180 41820038 */ beq lbl_800451B8 -/* 03FBE4 80045184 3C9E0001 */ addis r4, r30, 1 -/* 03FBE8 80045188 80610084 */ lwz r3, 0x84(r1) -/* 03FBEC 8004518C 80A42070 */ lwz r5, 0x2070(r4) -/* 03FBF0 80045190 38030001 */ addi r0, r3, 1 -/* 03FBF4 80045194 54A4A814 */ slwi r4, r5, 0x15 -/* 03FBF8 80045198 90010084 */ stw r0, 0x84(r1) -/* 03FBFC 8004519C 64807C07 */ oris r0, r4, 0x7c07 -/* 03FC00 800451A0 54A45828 */ slwi r4, r5, 0xb -/* 03FC04 800451A4 60000378 */ ori r0, r0, 0x378 -/* 03FC08 800451A8 7C800378 */ or r0, r4, r0 -/* 03FC0C 800451AC 5463103A */ slwi r3, r3, 2 -/* 03FC10 800451B0 7C1F192E */ stwx r0, r31, r3 -/* 03FC14 800451B4 4800005C */ b lbl_80045210 -lbl_800451B8: -/* 03FC18 800451B8 80610084 */ lwz r3, 0x84(r1) -/* 03FC1C 800451BC 38030001 */ addi r0, r3, 1 -/* 03FC20 800451C0 90010084 */ stw r0, 0x84(r1) -/* 03FC24 800451C4 4800004C */ b lbl_80045210 -lbl_800451C8: -/* 03FC28 800451C8 281F0000 */ cmplwi r31, 0 -/* 03FC2C 800451CC 41820038 */ beq lbl_80045204 -/* 03FC30 800451D0 55041838 */ slwi r4, r8, 3 -/* 03FC34 800451D4 80610084 */ lwz r3, 0x84(r1) -/* 03FC38 800451D8 38040040 */ addi r0, r4, 0x40 -/* 03FC3C 800451DC 7C1E0214 */ add r0, r30, r0 -/* 03FC40 800451E0 7C9E0050 */ subf r4, r30, r0 -/* 03FC44 800451E4 38840004 */ addi r4, r4, 4 -/* 03FC48 800451E8 38030001 */ addi r0, r3, 1 -/* 03FC4C 800451EC 5484043E */ clrlwi r4, r4, 0x10 -/* 03FC50 800451F0 90010084 */ stw r0, 0x84(r1) -/* 03FC54 800451F4 3C0480E3 */ addis r0, r4, 0x80e3 -/* 03FC58 800451F8 5463103A */ slwi r3, r3, 2 -/* 03FC5C 800451FC 7C1F192E */ stwx r0, r31, r3 -/* 03FC60 80045200 48000010 */ b lbl_80045210 -lbl_80045204: -/* 03FC64 80045204 80610084 */ lwz r3, 0x84(r1) -/* 03FC68 80045208 38030001 */ addi r0, r3, 1 -/* 03FC6C 8004520C 90010084 */ stw r0, 0x84(r1) -lbl_80045210: -/* 03FC70 80045210 281F0000 */ cmplwi r31, 0 -/* 03FC74 80045214 41820038 */ beq lbl_8004524C -/* 03FC78 80045218 80610084 */ lwz r3, 0x84(r1) -/* 03FC7C 8004521C 54E0A814 */ slwi r0, r7, 0x15 -/* 03FC80 80045220 64047C00 */ oris r4, r0, 0x7c00 -/* 03FC84 80045224 38030001 */ addi r0, r3, 1 -/* 03FC88 80045228 60840050 */ ori r4, r4, 0x50 -/* 03FC8C 8004522C 90010084 */ stw r0, 0x84(r1) -/* 03FC90 80045230 54C0801E */ slwi r0, r6, 0x10 -/* 03FC94 80045234 55455828 */ slwi r5, r10, 0xb -/* 03FC98 80045238 7C800378 */ or r0, r4, r0 -/* 03FC9C 8004523C 7CA00378 */ or r0, r5, r0 -/* 03FCA0 80045240 5463103A */ slwi r3, r3, 2 -/* 03FCA4 80045244 7C1F192E */ stwx r0, r31, r3 -/* 03FCA8 80045248 48000010 */ b lbl_80045258 -lbl_8004524C: -/* 03FCAC 8004524C 80610084 */ lwz r3, 0x84(r1) -/* 03FCB0 80045250 38030001 */ addi r0, r3, 1 -/* 03FCB4 80045254 90010084 */ stw r0, 0x84(r1) -lbl_80045258: -/* 03FCB8 80045258 80090000 */ lwz r0, 0(r9) -/* 03FCBC 8004525C 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 03FCC0 80045260 40820008 */ bne lbl_80045268 -/* 03FCC4 80045264 48022CD0 */ b lbl_80067F34 -lbl_80045268: -/* 03FCC8 80045268 3C7E0001 */ addis r3, r30, 1 -/* 03FCCC 8004526C 38000002 */ li r0, 2 -/* 03FCD0 80045270 90032068 */ stw r0, 0x2068(r3) -/* 03FCD4 80045274 281F0000 */ cmplwi r31, 0 -/* 03FCD8 80045278 9163206C */ stw r11, 0x206c(r3) -/* 03FCDC 8004527C 90E32070 */ stw r7, 0x2070(r3) -/* 03FCE0 80045280 41820038 */ beq lbl_800452B8 -/* 03FCE4 80045284 55641838 */ slwi r4, r11, 3 -/* 03FCE8 80045288 80610084 */ lwz r3, 0x84(r1) -/* 03FCEC 8004528C 38040040 */ addi r0, r4, 0x40 -/* 03FCF0 80045290 7C1E0214 */ add r0, r30, r0 -/* 03FCF4 80045294 7C9E0050 */ subf r4, r30, r0 -/* 03FCF8 80045298 38840004 */ addi r4, r4, 4 -/* 03FCFC 8004529C 38030001 */ addi r0, r3, 1 -/* 03FD00 800452A0 5484043E */ clrlwi r4, r4, 0x10 -/* 03FD04 800452A4 90010084 */ stw r0, 0x84(r1) -/* 03FD08 800452A8 3C0490A3 */ addis r0, r4, 0x90a3 -/* 03FD0C 800452AC 5463103A */ slwi r3, r3, 2 -/* 03FD10 800452B0 7C1F192E */ stwx r0, r31, r3 -/* 03FD14 800452B4 48022C80 */ b lbl_80067F34 -lbl_800452B8: -/* 03FD18 800452B8 80610084 */ lwz r3, 0x84(r1) -/* 03FD1C 800452BC 38030001 */ addi r0, r3, 1 -/* 03FD20 800452C0 90010084 */ stw r0, 0x84(r1) -/* 03FD24 800452C4 48022C70 */ b lbl_80067F34 -.global lbl_800452C8 -lbl_800452C8: -/* 03FD28 800452C8 3C7E0001 */ addis r3, r30, 1 -/* 03FD2C 800452CC 57865EFE */ rlwinm r6, r28, 0xb, 0x1b, 0x1f -/* 03FD30 800452D0 80832058 */ lwz r4, 0x2058(r3) -/* 03FD34 800452D4 38000001 */ li r0, 1 -/* 03FD38 800452D8 7C053030 */ slw r5, r0, r6 -/* 03FD3C 800452DC 7C852839 */ and. r5, r4, r5 -/* 03FD40 800452E0 40820014 */ bne lbl_800452F4 -/* 03FD44 800452E4 578586FE */ rlwinm r5, r28, 0x10, 0x1b, 0x1f -/* 03FD48 800452E8 7C052830 */ slw r5, r0, r5 -/* 03FD4C 800452EC 7C852839 */ and. r5, r4, r5 -/* 03FD50 800452F0 41820024 */ beq lbl_80045314 -lbl_800452F4: -/* 03FD54 800452F4 3C7E0001 */ addis r3, r30, 1 -/* 03FD58 800452F8 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 03FD5C 800452FC 80832058 */ lwz r4, 0x2058(r3) -/* 03FD60 80045300 38000001 */ li r0, 1 -/* 03FD64 80045304 7C002830 */ slw r0, r0, r5 -/* 03FD68 80045308 7C800378 */ or r0, r4, r0 -/* 03FD6C 8004530C 90032058 */ stw r0, 0x2058(r3) -/* 03FD70 80045310 48000014 */ b lbl_80045324 -lbl_80045314: -/* 03FD74 80045314 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 03FD78 80045318 7C002830 */ slw r0, r0, r5 -/* 03FD7C 8004531C 7C800078 */ andc r0, r4, r0 -/* 03FD80 80045320 90032058 */ stw r0, 0x2058(r3) -lbl_80045324: -/* 03FD84 80045324 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 03FD88 80045328 7D3A0214 */ add r9, r26, r0 -/* 03FD8C 8004532C 84E90818 */ lwzu r7, 0x818(r9) -/* 03FD90 80045330 578BAEFE */ rlwinm r11, r28, 0x15, 0x1b, 0x1f -/* 03FD94 80045334 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 03FD98 80045338 41820008 */ beq lbl_80045340 -/* 03FD9C 8004533C 38E00005 */ li r7, 5 -lbl_80045340: -/* 03FDA0 80045340 54C0103A */ slwi r0, r6, 2 -/* 03FDA4 80045344 7C7A0214 */ add r3, r26, r0 -/* 03FDA8 80045348 81430818 */ lwz r10, 0x818(r3) -/* 03FDAC 8004534C 554005EF */ rlwinm. r0, r10, 0, 0x17, 0x17 -/* 03FDB0 80045350 4182014C */ beq lbl_8004549C -/* 03FDB4 80045354 3C7E0001 */ addis r3, r30, 1 -/* 03FDB8 80045358 80032064 */ lwz r0, 0x2064(r3) -/* 03FDBC 8004535C 39400006 */ li r10, 6 -/* 03FDC0 80045360 28000000 */ cmplwi r0, 0 -/* 03FDC4 80045364 4082000C */ bne lbl_80045370 -/* 03FDC8 80045368 38000000 */ li r0, 0 -/* 03FDCC 8004536C 48000094 */ b lbl_80045400 -lbl_80045370: -/* 03FDD0 80045370 80032068 */ lwz r0, 0x2068(r3) -/* 03FDD4 80045374 28000000 */ cmplwi r0, 0 -/* 03FDD8 80045378 4082000C */ bne lbl_80045384 -/* 03FDDC 8004537C 38000000 */ li r0, 0 -/* 03FDE0 80045380 48000080 */ b lbl_80045400 -lbl_80045384: -/* 03FDE4 80045384 8003206C */ lwz r0, 0x206c(r3) -/* 03FDE8 80045388 7C060000 */ cmpw r6, r0 -/* 03FDEC 8004538C 4182000C */ beq lbl_80045398 -/* 03FDF0 80045390 38000000 */ li r0, 0 -/* 03FDF4 80045394 4800006C */ b lbl_80045400 -lbl_80045398: -/* 03FDF8 80045398 80BE0034 */ lwz r5, 0x34(r30) -/* 03FDFC 8004539C 38800000 */ li r4, 0 -/* 03FE00 800453A0 80050008 */ lwz r0, 8(r5) -/* 03FE04 800453A4 2C000000 */ cmpwi r0, 0 -/* 03FE08 800453A8 7C0903A6 */ mtctr r0 -/* 03FE0C 800453AC 40810028 */ ble lbl_800453D4 -lbl_800453B0: -/* 03FE10 800453B0 8065000C */ lwz r3, 0xc(r5) -/* 03FE14 800453B4 38040004 */ addi r0, r4, 4 -/* 03FE18 800453B8 7C03002E */ lwzx r0, r3, r0 -/* 03FE1C 800453BC 7C1D0000 */ cmpw r29, r0 -/* 03FE20 800453C0 4082000C */ bne lbl_800453CC -/* 03FE24 800453C4 38000000 */ li r0, 0 -/* 03FE28 800453C8 48000010 */ b lbl_800453D8 -lbl_800453CC: -/* 03FE2C 800453CC 38840008 */ addi r4, r4, 8 -/* 03FE30 800453D0 4200FFE0 */ bdnz lbl_800453B0 -lbl_800453D4: -/* 03FE34 800453D4 38000001 */ li r0, 1 -lbl_800453D8: -/* 03FE38 800453D8 2C000000 */ cmpwi r0, 0 -/* 03FE3C 800453DC 40820014 */ bne lbl_800453F0 -/* 03FE40 800453E0 38000000 */ li r0, 0 -/* 03FE44 800453E4 3C7E0001 */ addis r3, r30, 1 -/* 03FE48 800453E8 90032068 */ stw r0, 0x2068(r3) -/* 03FE4C 800453EC 48000014 */ b lbl_80045400 -lbl_800453F0: -/* 03FE50 800453F0 3C7E0001 */ addis r3, r30, 1 -/* 03FE54 800453F4 38000000 */ li r0, 0 -/* 03FE58 800453F8 90032068 */ stw r0, 0x2068(r3) -/* 03FE5C 800453FC 38000001 */ li r0, 1 -lbl_80045400: -/* 03FE60 80045400 2C000000 */ cmpwi r0, 0 -/* 03FE64 80045404 41820050 */ beq lbl_80045454 -/* 03FE68 80045408 281F0000 */ cmplwi r31, 0 -/* 03FE6C 8004540C 41820038 */ beq lbl_80045444 -/* 03FE70 80045410 3C9E0001 */ addis r4, r30, 1 -/* 03FE74 80045414 80610084 */ lwz r3, 0x84(r1) -/* 03FE78 80045418 80842070 */ lwz r4, 0x2070(r4) -/* 03FE7C 8004541C 38A30001 */ addi r5, r3, 1 -/* 03FE80 80045420 5480A814 */ slwi r0, r4, 0x15 -/* 03FE84 80045424 90A10084 */ stw r5, 0x84(r1) -/* 03FE88 80045428 64007C06 */ oris r0, r0, 0x7c06 -/* 03FE8C 8004542C 54845828 */ slwi r4, r4, 0xb -/* 03FE90 80045430 60000378 */ ori r0, r0, 0x378 -/* 03FE94 80045434 7C800378 */ or r0, r4, r0 -/* 03FE98 80045438 5463103A */ slwi r3, r3, 2 -/* 03FE9C 8004543C 7C1F192E */ stwx r0, r31, r3 -/* 03FEA0 80045440 4800005C */ b lbl_8004549C -lbl_80045444: -/* 03FEA4 80045444 80610084 */ lwz r3, 0x84(r1) -/* 03FEA8 80045448 38030001 */ addi r0, r3, 1 -/* 03FEAC 8004544C 90010084 */ stw r0, 0x84(r1) -/* 03FEB0 80045450 4800004C */ b lbl_8004549C -lbl_80045454: -/* 03FEB4 80045454 281F0000 */ cmplwi r31, 0 -/* 03FEB8 80045458 41820038 */ beq lbl_80045490 -/* 03FEBC 8004545C 54C41838 */ slwi r4, r6, 3 -/* 03FEC0 80045460 80610084 */ lwz r3, 0x84(r1) -/* 03FEC4 80045464 38040040 */ addi r0, r4, 0x40 -/* 03FEC8 80045468 7C1E0214 */ add r0, r30, r0 -/* 03FECC 8004546C 7C9E0050 */ subf r4, r30, r0 -/* 03FED0 80045470 38840004 */ addi r4, r4, 4 -/* 03FED4 80045474 38030001 */ addi r0, r3, 1 -/* 03FED8 80045478 5484043E */ clrlwi r4, r4, 0x10 -/* 03FEDC 8004547C 90010084 */ stw r0, 0x84(r1) -/* 03FEE0 80045480 3C0480C3 */ addis r0, r4, 0x80c3 -/* 03FEE4 80045484 5463103A */ slwi r3, r3, 2 -/* 03FEE8 80045488 7C1F192E */ stwx r0, r31, r3 -/* 03FEEC 8004548C 48000010 */ b lbl_8004549C -lbl_80045490: -/* 03FEF0 80045490 80610084 */ lwz r3, 0x84(r1) -/* 03FEF4 80045494 38030001 */ addi r0, r3, 1 -/* 03FEF8 80045498 90010084 */ stw r0, 0x84(r1) -lbl_8004549C: -/* 03FEFC 8004549C 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 03FF00 800454A0 7C7A0214 */ add r3, r26, r0 -/* 03FF04 800454A4 80C30818 */ lwz r6, 0x818(r3) -/* 03FF08 800454A8 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 03FF0C 800454AC 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 03FF10 800454B0 4182014C */ beq lbl_800455FC -/* 03FF14 800454B4 3C7E0001 */ addis r3, r30, 1 -/* 03FF18 800454B8 80032064 */ lwz r0, 0x2064(r3) -/* 03FF1C 800454BC 38C00007 */ li r6, 7 -/* 03FF20 800454C0 28000000 */ cmplwi r0, 0 -/* 03FF24 800454C4 4082000C */ bne lbl_800454D0 -/* 03FF28 800454C8 38000000 */ li r0, 0 -/* 03FF2C 800454CC 48000094 */ b lbl_80045560 -lbl_800454D0: -/* 03FF30 800454D0 80032068 */ lwz r0, 0x2068(r3) -/* 03FF34 800454D4 28000000 */ cmplwi r0, 0 -/* 03FF38 800454D8 4082000C */ bne lbl_800454E4 -/* 03FF3C 800454DC 38000000 */ li r0, 0 -/* 03FF40 800454E0 48000080 */ b lbl_80045560 -lbl_800454E4: -/* 03FF44 800454E4 8003206C */ lwz r0, 0x206c(r3) -/* 03FF48 800454E8 7C080000 */ cmpw r8, r0 -/* 03FF4C 800454EC 4182000C */ beq lbl_800454F8 -/* 03FF50 800454F0 38000000 */ li r0, 0 -/* 03FF54 800454F4 4800006C */ b lbl_80045560 -lbl_800454F8: -/* 03FF58 800454F8 80BE0034 */ lwz r5, 0x34(r30) -/* 03FF5C 800454FC 38800000 */ li r4, 0 -/* 03FF60 80045500 80050008 */ lwz r0, 8(r5) -/* 03FF64 80045504 2C000000 */ cmpwi r0, 0 -/* 03FF68 80045508 7C0903A6 */ mtctr r0 -/* 03FF6C 8004550C 40810028 */ ble lbl_80045534 -lbl_80045510: -/* 03FF70 80045510 8065000C */ lwz r3, 0xc(r5) -/* 03FF74 80045514 38040004 */ addi r0, r4, 4 -/* 03FF78 80045518 7C03002E */ lwzx r0, r3, r0 -/* 03FF7C 8004551C 7C1D0000 */ cmpw r29, r0 -/* 03FF80 80045520 4082000C */ bne lbl_8004552C -/* 03FF84 80045524 38000000 */ li r0, 0 -/* 03FF88 80045528 48000010 */ b lbl_80045538 -lbl_8004552C: -/* 03FF8C 8004552C 38840008 */ addi r4, r4, 8 -/* 03FF90 80045530 4200FFE0 */ bdnz lbl_80045510 -lbl_80045534: -/* 03FF94 80045534 38000001 */ li r0, 1 -lbl_80045538: -/* 03FF98 80045538 2C000000 */ cmpwi r0, 0 -/* 03FF9C 8004553C 40820014 */ bne lbl_80045550 -/* 03FFA0 80045540 38000000 */ li r0, 0 -/* 03FFA4 80045544 3C7E0001 */ addis r3, r30, 1 -/* 03FFA8 80045548 90032068 */ stw r0, 0x2068(r3) -/* 03FFAC 8004554C 48000014 */ b lbl_80045560 -lbl_80045550: -/* 03FFB0 80045550 3C7E0001 */ addis r3, r30, 1 -/* 03FFB4 80045554 38000000 */ li r0, 0 -/* 03FFB8 80045558 90032068 */ stw r0, 0x2068(r3) -/* 03FFBC 8004555C 38000001 */ li r0, 1 -lbl_80045560: -/* 03FFC0 80045560 2C000000 */ cmpwi r0, 0 -/* 03FFC4 80045564 41820050 */ beq lbl_800455B4 -/* 03FFC8 80045568 281F0000 */ cmplwi r31, 0 -/* 03FFCC 8004556C 41820038 */ beq lbl_800455A4 -/* 03FFD0 80045570 3C9E0001 */ addis r4, r30, 1 -/* 03FFD4 80045574 80610084 */ lwz r3, 0x84(r1) -/* 03FFD8 80045578 80A42070 */ lwz r5, 0x2070(r4) -/* 03FFDC 8004557C 38030001 */ addi r0, r3, 1 -/* 03FFE0 80045580 54A4A814 */ slwi r4, r5, 0x15 -/* 03FFE4 80045584 90010084 */ stw r0, 0x84(r1) -/* 03FFE8 80045588 64807C07 */ oris r0, r4, 0x7c07 -/* 03FFEC 8004558C 54A45828 */ slwi r4, r5, 0xb -/* 03FFF0 80045590 60000378 */ ori r0, r0, 0x378 -/* 03FFF4 80045594 7C800378 */ or r0, r4, r0 -/* 03FFF8 80045598 5463103A */ slwi r3, r3, 2 -/* 03FFFC 8004559C 7C1F192E */ stwx r0, r31, r3 -/* 040000 800455A0 4800005C */ b lbl_800455FC -lbl_800455A4: -/* 040004 800455A4 80610084 */ lwz r3, 0x84(r1) -/* 040008 800455A8 38030001 */ addi r0, r3, 1 -/* 04000C 800455AC 90010084 */ stw r0, 0x84(r1) -/* 040010 800455B0 4800004C */ b lbl_800455FC -lbl_800455B4: -/* 040014 800455B4 281F0000 */ cmplwi r31, 0 -/* 040018 800455B8 41820038 */ beq lbl_800455F0 -/* 04001C 800455BC 55041838 */ slwi r4, r8, 3 -/* 040020 800455C0 80610084 */ lwz r3, 0x84(r1) -/* 040024 800455C4 38040040 */ addi r0, r4, 0x40 -/* 040028 800455C8 7C1E0214 */ add r0, r30, r0 -/* 04002C 800455CC 7C9E0050 */ subf r4, r30, r0 -/* 040030 800455D0 38840004 */ addi r4, r4, 4 -/* 040034 800455D4 38030001 */ addi r0, r3, 1 -/* 040038 800455D8 5484043E */ clrlwi r4, r4, 0x10 -/* 04003C 800455DC 90010084 */ stw r0, 0x84(r1) -/* 040040 800455E0 3C0480E3 */ addis r0, r4, 0x80e3 -/* 040044 800455E4 5463103A */ slwi r3, r3, 2 -/* 040048 800455E8 7C1F192E */ stwx r0, r31, r3 -/* 04004C 800455EC 48000010 */ b lbl_800455FC -lbl_800455F0: -/* 040050 800455F0 80610084 */ lwz r3, 0x84(r1) -/* 040054 800455F4 38030001 */ addi r0, r3, 1 -/* 040058 800455F8 90010084 */ stw r0, 0x84(r1) -lbl_800455FC: -/* 04005C 800455FC 281F0000 */ cmplwi r31, 0 -/* 040060 80045600 41820038 */ beq lbl_80045638 -/* 040064 80045604 80610084 */ lwz r3, 0x84(r1) -/* 040068 80045608 54E0A814 */ slwi r0, r7, 0x15 -/* 04006C 8004560C 64047C00 */ oris r4, r0, 0x7c00 -/* 040070 80045610 38030001 */ addi r0, r3, 1 -/* 040074 80045614 60840050 */ ori r4, r4, 0x50 -/* 040078 80045618 90010084 */ stw r0, 0x84(r1) -/* 04007C 8004561C 54C0801E */ slwi r0, r6, 0x10 -/* 040080 80045620 55455828 */ slwi r5, r10, 0xb -/* 040084 80045624 7C800378 */ or r0, r4, r0 -/* 040088 80045628 7CA00378 */ or r0, r5, r0 -/* 04008C 8004562C 5463103A */ slwi r3, r3, 2 -/* 040090 80045630 7C1F192E */ stwx r0, r31, r3 -/* 040094 80045634 48000010 */ b lbl_80045644 -lbl_80045638: -/* 040098 80045638 80610084 */ lwz r3, 0x84(r1) -/* 04009C 8004563C 38030001 */ addi r0, r3, 1 -/* 0400A0 80045640 90010084 */ stw r0, 0x84(r1) -lbl_80045644: -/* 0400A4 80045644 80090000 */ lwz r0, 0(r9) -/* 0400A8 80045648 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 0400AC 8004564C 40820008 */ bne lbl_80045654 -/* 0400B0 80045650 480228E4 */ b lbl_80067F34 -lbl_80045654: -/* 0400B4 80045654 3C7E0001 */ addis r3, r30, 1 -/* 0400B8 80045658 38000002 */ li r0, 2 -/* 0400BC 8004565C 90032068 */ stw r0, 0x2068(r3) -/* 0400C0 80045660 281F0000 */ cmplwi r31, 0 -/* 0400C4 80045664 9163206C */ stw r11, 0x206c(r3) -/* 0400C8 80045668 90E32070 */ stw r7, 0x2070(r3) -/* 0400CC 8004566C 41820038 */ beq lbl_800456A4 -/* 0400D0 80045670 55641838 */ slwi r4, r11, 3 -/* 0400D4 80045674 80610084 */ lwz r3, 0x84(r1) -/* 0400D8 80045678 38040040 */ addi r0, r4, 0x40 -/* 0400DC 8004567C 7C1E0214 */ add r0, r30, r0 -/* 0400E0 80045680 7C9E0050 */ subf r4, r30, r0 -/* 0400E4 80045684 38840004 */ addi r4, r4, 4 -/* 0400E8 80045688 38030001 */ addi r0, r3, 1 -/* 0400EC 8004568C 5484043E */ clrlwi r4, r4, 0x10 -/* 0400F0 80045690 90010084 */ stw r0, 0x84(r1) -/* 0400F4 80045694 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0400F8 80045698 5463103A */ slwi r3, r3, 2 -/* 0400FC 8004569C 7C1F192E */ stwx r0, r31, r3 -/* 040100 800456A0 48022894 */ b lbl_80067F34 -lbl_800456A4: -/* 040104 800456A4 80610084 */ lwz r3, 0x84(r1) -/* 040108 800456A8 38030001 */ addi r0, r3, 1 -/* 04010C 800456AC 90010084 */ stw r0, 0x84(r1) -/* 040110 800456B0 48022884 */ b lbl_80067F34 -.global lbl_800456B4 -lbl_800456B4: -/* 040114 800456B4 3C7E0001 */ addis r3, r30, 1 -/* 040118 800456B8 57865EFE */ rlwinm r6, r28, 0xb, 0x1b, 0x1f -/* 04011C 800456BC 80832058 */ lwz r4, 0x2058(r3) -/* 040120 800456C0 38000001 */ li r0, 1 -/* 040124 800456C4 7C053030 */ slw r5, r0, r6 -/* 040128 800456C8 7C852839 */ and. r5, r4, r5 -/* 04012C 800456CC 40820014 */ bne lbl_800456E0 -/* 040130 800456D0 578586FE */ rlwinm r5, r28, 0x10, 0x1b, 0x1f -/* 040134 800456D4 7C052830 */ slw r5, r0, r5 -/* 040138 800456D8 7C852839 */ and. r5, r4, r5 -/* 04013C 800456DC 41820024 */ beq lbl_80045700 -lbl_800456E0: -/* 040140 800456E0 3C7E0001 */ addis r3, r30, 1 -/* 040144 800456E4 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 040148 800456E8 80832058 */ lwz r4, 0x2058(r3) -/* 04014C 800456EC 38000001 */ li r0, 1 -/* 040150 800456F0 7C002830 */ slw r0, r0, r5 -/* 040154 800456F4 7C800378 */ or r0, r4, r0 -/* 040158 800456F8 90032058 */ stw r0, 0x2058(r3) -/* 04015C 800456FC 48000014 */ b lbl_80045710 -lbl_80045700: -/* 040160 80045700 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 040164 80045704 7C002830 */ slw r0, r0, r5 -/* 040168 80045708 7C800078 */ andc r0, r4, r0 -/* 04016C 8004570C 90032058 */ stw r0, 0x2058(r3) -lbl_80045710: -/* 040170 80045710 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 040174 80045714 7D3A0214 */ add r9, r26, r0 -/* 040178 80045718 84E90818 */ lwzu r7, 0x818(r9) -/* 04017C 8004571C 578BAEFE */ rlwinm r11, r28, 0x15, 0x1b, 0x1f -/* 040180 80045720 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 040184 80045724 41820008 */ beq lbl_8004572C -/* 040188 80045728 38E00005 */ li r7, 5 -lbl_8004572C: -/* 04018C 8004572C 54C0103A */ slwi r0, r6, 2 -/* 040190 80045730 7C7A0214 */ add r3, r26, r0 -/* 040194 80045734 81430818 */ lwz r10, 0x818(r3) -/* 040198 80045738 554005EF */ rlwinm. r0, r10, 0, 0x17, 0x17 -/* 04019C 8004573C 4182014C */ beq lbl_80045888 -/* 0401A0 80045740 3C7E0001 */ addis r3, r30, 1 -/* 0401A4 80045744 80032064 */ lwz r0, 0x2064(r3) -/* 0401A8 80045748 39400006 */ li r10, 6 -/* 0401AC 8004574C 28000000 */ cmplwi r0, 0 -/* 0401B0 80045750 4082000C */ bne lbl_8004575C -/* 0401B4 80045754 38000000 */ li r0, 0 -/* 0401B8 80045758 48000094 */ b lbl_800457EC -lbl_8004575C: -/* 0401BC 8004575C 80032068 */ lwz r0, 0x2068(r3) -/* 0401C0 80045760 28000000 */ cmplwi r0, 0 -/* 0401C4 80045764 4082000C */ bne lbl_80045770 -/* 0401C8 80045768 38000000 */ li r0, 0 -/* 0401CC 8004576C 48000080 */ b lbl_800457EC -lbl_80045770: -/* 0401D0 80045770 8003206C */ lwz r0, 0x206c(r3) -/* 0401D4 80045774 7C060000 */ cmpw r6, r0 -/* 0401D8 80045778 4182000C */ beq lbl_80045784 -/* 0401DC 8004577C 38000000 */ li r0, 0 -/* 0401E0 80045780 4800006C */ b lbl_800457EC -lbl_80045784: -/* 0401E4 80045784 80BE0034 */ lwz r5, 0x34(r30) -/* 0401E8 80045788 38800000 */ li r4, 0 -/* 0401EC 8004578C 80050008 */ lwz r0, 8(r5) -/* 0401F0 80045790 2C000000 */ cmpwi r0, 0 -/* 0401F4 80045794 7C0903A6 */ mtctr r0 -/* 0401F8 80045798 40810028 */ ble lbl_800457C0 -lbl_8004579C: -/* 0401FC 8004579C 8065000C */ lwz r3, 0xc(r5) -/* 040200 800457A0 38040004 */ addi r0, r4, 4 -/* 040204 800457A4 7C03002E */ lwzx r0, r3, r0 -/* 040208 800457A8 7C1D0000 */ cmpw r29, r0 -/* 04020C 800457AC 4082000C */ bne lbl_800457B8 -/* 040210 800457B0 38000000 */ li r0, 0 -/* 040214 800457B4 48000010 */ b lbl_800457C4 -lbl_800457B8: -/* 040218 800457B8 38840008 */ addi r4, r4, 8 -/* 04021C 800457BC 4200FFE0 */ bdnz lbl_8004579C -lbl_800457C0: -/* 040220 800457C0 38000001 */ li r0, 1 -lbl_800457C4: -/* 040224 800457C4 2C000000 */ cmpwi r0, 0 -/* 040228 800457C8 40820014 */ bne lbl_800457DC -/* 04022C 800457CC 38000000 */ li r0, 0 -/* 040230 800457D0 3C7E0001 */ addis r3, r30, 1 -/* 040234 800457D4 90032068 */ stw r0, 0x2068(r3) -/* 040238 800457D8 48000014 */ b lbl_800457EC -lbl_800457DC: -/* 04023C 800457DC 3C7E0001 */ addis r3, r30, 1 -/* 040240 800457E0 38000000 */ li r0, 0 -/* 040244 800457E4 90032068 */ stw r0, 0x2068(r3) -/* 040248 800457E8 38000001 */ li r0, 1 -lbl_800457EC: -/* 04024C 800457EC 2C000000 */ cmpwi r0, 0 -/* 040250 800457F0 41820050 */ beq lbl_80045840 -/* 040254 800457F4 281F0000 */ cmplwi r31, 0 -/* 040258 800457F8 41820038 */ beq lbl_80045830 -/* 04025C 800457FC 3C9E0001 */ addis r4, r30, 1 -/* 040260 80045800 80610084 */ lwz r3, 0x84(r1) -/* 040264 80045804 80842070 */ lwz r4, 0x2070(r4) -/* 040268 80045808 38A30001 */ addi r5, r3, 1 -/* 04026C 8004580C 5480A814 */ slwi r0, r4, 0x15 -/* 040270 80045810 90A10084 */ stw r5, 0x84(r1) -/* 040274 80045814 64007C06 */ oris r0, r0, 0x7c06 -/* 040278 80045818 54845828 */ slwi r4, r4, 0xb -/* 04027C 8004581C 60000378 */ ori r0, r0, 0x378 -/* 040280 80045820 7C800378 */ or r0, r4, r0 -/* 040284 80045824 5463103A */ slwi r3, r3, 2 -/* 040288 80045828 7C1F192E */ stwx r0, r31, r3 -/* 04028C 8004582C 4800005C */ b lbl_80045888 -lbl_80045830: -/* 040290 80045830 80610084 */ lwz r3, 0x84(r1) -/* 040294 80045834 38030001 */ addi r0, r3, 1 -/* 040298 80045838 90010084 */ stw r0, 0x84(r1) -/* 04029C 8004583C 4800004C */ b lbl_80045888 -lbl_80045840: -/* 0402A0 80045840 281F0000 */ cmplwi r31, 0 -/* 0402A4 80045844 41820038 */ beq lbl_8004587C -/* 0402A8 80045848 54C41838 */ slwi r4, r6, 3 -/* 0402AC 8004584C 80610084 */ lwz r3, 0x84(r1) -/* 0402B0 80045850 38040040 */ addi r0, r4, 0x40 -/* 0402B4 80045854 7C1E0214 */ add r0, r30, r0 -/* 0402B8 80045858 7C9E0050 */ subf r4, r30, r0 -/* 0402BC 8004585C 38840004 */ addi r4, r4, 4 -/* 0402C0 80045860 38030001 */ addi r0, r3, 1 -/* 0402C4 80045864 5484043E */ clrlwi r4, r4, 0x10 -/* 0402C8 80045868 90010084 */ stw r0, 0x84(r1) -/* 0402CC 8004586C 3C0480C3 */ addis r0, r4, 0x80c3 -/* 0402D0 80045870 5463103A */ slwi r3, r3, 2 -/* 0402D4 80045874 7C1F192E */ stwx r0, r31, r3 -/* 0402D8 80045878 48000010 */ b lbl_80045888 -lbl_8004587C: -/* 0402DC 8004587C 80610084 */ lwz r3, 0x84(r1) -/* 0402E0 80045880 38030001 */ addi r0, r3, 1 -/* 0402E4 80045884 90010084 */ stw r0, 0x84(r1) -lbl_80045888: -/* 0402E8 80045888 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 0402EC 8004588C 7C7A0214 */ add r3, r26, r0 -/* 0402F0 80045890 80C30818 */ lwz r6, 0x818(r3) -/* 0402F4 80045894 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 0402F8 80045898 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 0402FC 8004589C 4182014C */ beq lbl_800459E8 -/* 040300 800458A0 3C7E0001 */ addis r3, r30, 1 -/* 040304 800458A4 80032064 */ lwz r0, 0x2064(r3) -/* 040308 800458A8 38C00007 */ li r6, 7 -/* 04030C 800458AC 28000000 */ cmplwi r0, 0 -/* 040310 800458B0 4082000C */ bne lbl_800458BC -/* 040314 800458B4 38000000 */ li r0, 0 -/* 040318 800458B8 48000094 */ b lbl_8004594C -lbl_800458BC: -/* 04031C 800458BC 80032068 */ lwz r0, 0x2068(r3) -/* 040320 800458C0 28000000 */ cmplwi r0, 0 -/* 040324 800458C4 4082000C */ bne lbl_800458D0 -/* 040328 800458C8 38000000 */ li r0, 0 -/* 04032C 800458CC 48000080 */ b lbl_8004594C -lbl_800458D0: -/* 040330 800458D0 8003206C */ lwz r0, 0x206c(r3) -/* 040334 800458D4 7C080000 */ cmpw r8, r0 -/* 040338 800458D8 4182000C */ beq lbl_800458E4 -/* 04033C 800458DC 38000000 */ li r0, 0 -/* 040340 800458E0 4800006C */ b lbl_8004594C -lbl_800458E4: -/* 040344 800458E4 80BE0034 */ lwz r5, 0x34(r30) -/* 040348 800458E8 38800000 */ li r4, 0 -/* 04034C 800458EC 80050008 */ lwz r0, 8(r5) -/* 040350 800458F0 2C000000 */ cmpwi r0, 0 -/* 040354 800458F4 7C0903A6 */ mtctr r0 -/* 040358 800458F8 40810028 */ ble lbl_80045920 -lbl_800458FC: -/* 04035C 800458FC 8065000C */ lwz r3, 0xc(r5) -/* 040360 80045900 38040004 */ addi r0, r4, 4 -/* 040364 80045904 7C03002E */ lwzx r0, r3, r0 -/* 040368 80045908 7C1D0000 */ cmpw r29, r0 -/* 04036C 8004590C 4082000C */ bne lbl_80045918 -/* 040370 80045910 38000000 */ li r0, 0 -/* 040374 80045914 48000010 */ b lbl_80045924 -lbl_80045918: -/* 040378 80045918 38840008 */ addi r4, r4, 8 -/* 04037C 8004591C 4200FFE0 */ bdnz lbl_800458FC -lbl_80045920: -/* 040380 80045920 38000001 */ li r0, 1 -lbl_80045924: -/* 040384 80045924 2C000000 */ cmpwi r0, 0 -/* 040388 80045928 40820014 */ bne lbl_8004593C -/* 04038C 8004592C 38000000 */ li r0, 0 -/* 040390 80045930 3C7E0001 */ addis r3, r30, 1 -/* 040394 80045934 90032068 */ stw r0, 0x2068(r3) -/* 040398 80045938 48000014 */ b lbl_8004594C -lbl_8004593C: -/* 04039C 8004593C 3C7E0001 */ addis r3, r30, 1 -/* 0403A0 80045940 38000000 */ li r0, 0 -/* 0403A4 80045944 90032068 */ stw r0, 0x2068(r3) -/* 0403A8 80045948 38000001 */ li r0, 1 -lbl_8004594C: -/* 0403AC 8004594C 2C000000 */ cmpwi r0, 0 -/* 0403B0 80045950 41820050 */ beq lbl_800459A0 -/* 0403B4 80045954 281F0000 */ cmplwi r31, 0 -/* 0403B8 80045958 41820038 */ beq lbl_80045990 -/* 0403BC 8004595C 3C9E0001 */ addis r4, r30, 1 -/* 0403C0 80045960 80610084 */ lwz r3, 0x84(r1) -/* 0403C4 80045964 80A42070 */ lwz r5, 0x2070(r4) -/* 0403C8 80045968 38030001 */ addi r0, r3, 1 -/* 0403CC 8004596C 54A4A814 */ slwi r4, r5, 0x15 -/* 0403D0 80045970 90010084 */ stw r0, 0x84(r1) -/* 0403D4 80045974 64807C07 */ oris r0, r4, 0x7c07 -/* 0403D8 80045978 54A45828 */ slwi r4, r5, 0xb -/* 0403DC 8004597C 60000378 */ ori r0, r0, 0x378 -/* 0403E0 80045980 7C800378 */ or r0, r4, r0 -/* 0403E4 80045984 5463103A */ slwi r3, r3, 2 -/* 0403E8 80045988 7C1F192E */ stwx r0, r31, r3 -/* 0403EC 8004598C 4800005C */ b lbl_800459E8 -lbl_80045990: -/* 0403F0 80045990 80610084 */ lwz r3, 0x84(r1) -/* 0403F4 80045994 38030001 */ addi r0, r3, 1 -/* 0403F8 80045998 90010084 */ stw r0, 0x84(r1) -/* 0403FC 8004599C 4800004C */ b lbl_800459E8 -lbl_800459A0: -/* 040400 800459A0 281F0000 */ cmplwi r31, 0 -/* 040404 800459A4 41820038 */ beq lbl_800459DC -/* 040408 800459A8 55041838 */ slwi r4, r8, 3 -/* 04040C 800459AC 80610084 */ lwz r3, 0x84(r1) -/* 040410 800459B0 38040040 */ addi r0, r4, 0x40 -/* 040414 800459B4 7C1E0214 */ add r0, r30, r0 -/* 040418 800459B8 7C9E0050 */ subf r4, r30, r0 -/* 04041C 800459BC 38840004 */ addi r4, r4, 4 -/* 040420 800459C0 38030001 */ addi r0, r3, 1 -/* 040424 800459C4 5484043E */ clrlwi r4, r4, 0x10 -/* 040428 800459C8 90010084 */ stw r0, 0x84(r1) -/* 04042C 800459CC 3C0480E3 */ addis r0, r4, 0x80e3 -/* 040430 800459D0 5463103A */ slwi r3, r3, 2 -/* 040434 800459D4 7C1F192E */ stwx r0, r31, r3 -/* 040438 800459D8 48000010 */ b lbl_800459E8 -lbl_800459DC: -/* 04043C 800459DC 80610084 */ lwz r3, 0x84(r1) -/* 040440 800459E0 38030001 */ addi r0, r3, 1 -/* 040444 800459E4 90010084 */ stw r0, 0x84(r1) -lbl_800459E8: -/* 040448 800459E8 281F0000 */ cmplwi r31, 0 -/* 04044C 800459EC 41820038 */ beq lbl_80045A24 -/* 040450 800459F0 80610084 */ lwz r3, 0x84(r1) -/* 040454 800459F4 5540A814 */ slwi r0, r10, 0x15 -/* 040458 800459F8 64007C00 */ oris r0, r0, 0x7c00 -/* 04045C 800459FC 38830001 */ addi r4, r3, 1 -/* 040460 80045A00 60000038 */ ori r0, r0, 0x38 -/* 040464 80045A04 90810084 */ stw r4, 0x84(r1) -/* 040468 80045A08 54E4801E */ slwi r4, r7, 0x10 -/* 04046C 80045A0C 54C55828 */ slwi r5, r6, 0xb -/* 040470 80045A10 7C002378 */ or r0, r0, r4 -/* 040474 80045A14 7CA00378 */ or r0, r5, r0 -/* 040478 80045A18 5463103A */ slwi r3, r3, 2 -/* 04047C 80045A1C 7C1F192E */ stwx r0, r31, r3 -/* 040480 80045A20 48000010 */ b lbl_80045A30 -lbl_80045A24: -/* 040484 80045A24 80610084 */ lwz r3, 0x84(r1) -/* 040488 80045A28 38030001 */ addi r0, r3, 1 -/* 04048C 80045A2C 90010084 */ stw r0, 0x84(r1) -lbl_80045A30: -/* 040490 80045A30 80090000 */ lwz r0, 0(r9) -/* 040494 80045A34 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 040498 80045A38 40820008 */ bne lbl_80045A40 -/* 04049C 80045A3C 480224F8 */ b lbl_80067F34 -lbl_80045A40: -/* 0404A0 80045A40 3C7E0001 */ addis r3, r30, 1 -/* 0404A4 80045A44 38000002 */ li r0, 2 -/* 0404A8 80045A48 90032068 */ stw r0, 0x2068(r3) -/* 0404AC 80045A4C 281F0000 */ cmplwi r31, 0 -/* 0404B0 80045A50 9163206C */ stw r11, 0x206c(r3) -/* 0404B4 80045A54 90E32070 */ stw r7, 0x2070(r3) -/* 0404B8 80045A58 41820038 */ beq lbl_80045A90 -/* 0404BC 80045A5C 55641838 */ slwi r4, r11, 3 -/* 0404C0 80045A60 80610084 */ lwz r3, 0x84(r1) -/* 0404C4 80045A64 38040040 */ addi r0, r4, 0x40 -/* 0404C8 80045A68 7C1E0214 */ add r0, r30, r0 -/* 0404CC 80045A6C 7C9E0050 */ subf r4, r30, r0 -/* 0404D0 80045A70 38840004 */ addi r4, r4, 4 -/* 0404D4 80045A74 38030001 */ addi r0, r3, 1 -/* 0404D8 80045A78 5484043E */ clrlwi r4, r4, 0x10 -/* 0404DC 80045A7C 90010084 */ stw r0, 0x84(r1) -/* 0404E0 80045A80 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0404E4 80045A84 5463103A */ slwi r3, r3, 2 -/* 0404E8 80045A88 7C1F192E */ stwx r0, r31, r3 -/* 0404EC 80045A8C 480224A8 */ b lbl_80067F34 -lbl_80045A90: -/* 0404F0 80045A90 80610084 */ lwz r3, 0x84(r1) -/* 0404F4 80045A94 38030001 */ addi r0, r3, 1 -/* 0404F8 80045A98 90010084 */ stw r0, 0x84(r1) -/* 0404FC 80045A9C 48022498 */ b lbl_80067F34 -.global lbl_80045AA0 -lbl_80045AA0: -/* 040500 80045AA0 3C9E0001 */ addis r4, r30, 1 -/* 040504 80045AA4 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 040508 80045AA8 80A42058 */ lwz r5, 0x2058(r4) -/* 04050C 80045AAC 38600001 */ li r3, 1 -/* 040510 80045AB0 7C660030 */ slw r6, r3, r0 -/* 040514 80045AB4 7CA63039 */ and. r6, r5, r6 -/* 040518 80045AB8 40820014 */ bne lbl_80045ACC -/* 04051C 80045ABC 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 040520 80045AC0 7C663030 */ slw r6, r3, r6 -/* 040524 80045AC4 7CA63039 */ and. r6, r5, r6 -/* 040528 80045AC8 41820024 */ beq lbl_80045AEC -lbl_80045ACC: -/* 04052C 80045ACC 3C7E0001 */ addis r3, r30, 1 -/* 040530 80045AD0 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 040534 80045AD4 80A32058 */ lwz r5, 0x2058(r3) -/* 040538 80045AD8 38800001 */ li r4, 1 -/* 04053C 80045ADC 7C843030 */ slw r4, r4, r6 -/* 040540 80045AE0 7CA42378 */ or r4, r5, r4 -/* 040544 80045AE4 90832058 */ stw r4, 0x2058(r3) -/* 040548 80045AE8 48000014 */ b lbl_80045AFC -lbl_80045AEC: -/* 04054C 80045AEC 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 040550 80045AF0 7C633030 */ slw r3, r3, r6 -/* 040554 80045AF4 7CA31878 */ andc r3, r5, r3 -/* 040558 80045AF8 90642058 */ stw r3, 0x2058(r4) -lbl_80045AFC: -/* 04055C 80045AFC 5783BE7A */ rlwinm r3, r28, 0x17, 0x19, 0x1d -/* 040560 80045B00 7D7A1A14 */ add r11, r26, r3 -/* 040564 80045B04 84AB0818 */ lwzu r5, 0x818(r11) -/* 040568 80045B08 5789AEFE */ rlwinm r9, r28, 0x15, 0x1b, 0x1f -/* 04056C 80045B0C 54A405EF */ rlwinm. r4, r5, 0, 0x17, 0x17 -/* 040570 80045B10 39400000 */ li r10, 0 -/* 040574 80045B14 38600000 */ li r3, 0 -/* 040578 80045B18 4182000C */ beq lbl_80045B24 -/* 04057C 80045B1C 38A00005 */ li r5, 5 -/* 040580 80045B20 38600001 */ li r3, 1 -lbl_80045B24: -/* 040584 80045B24 28000000 */ cmplwi r0, 0 -/* 040588 80045B28 40820338 */ bne lbl_80045E60 -/* 04058C 80045B2C 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 040590 80045B30 2804001F */ cmplwi r4, 0x1f -/* 040594 80045B34 4082009C */ bne lbl_80045BD0 -/* 040598 80045B38 3CDE0001 */ addis r6, r30, 1 -/* 04059C 80045B3C 8006205C */ lwz r0, 0x205c(r6) -/* 0405A0 80045B40 5400077B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 0405A4 80045B44 4082008C */ bne lbl_80045BD0 -/* 0405A8 80045B48 281F0000 */ cmplwi r31, 0 -/* 0405AC 80045B4C 41820028 */ beq lbl_80045B74 -/* 0405B0 80045B50 80610084 */ lwz r3, 0x84(r1) -/* 0405B4 80045B54 381E0038 */ addi r0, r30, 0x38 -/* 0405B8 80045B58 7CDE0050 */ subf r6, r30, r0 -/* 0405BC 80045B5C 38030001 */ addi r0, r3, 1 -/* 0405C0 80045B60 90010084 */ stw r0, 0x84(r1) -/* 0405C4 80045B64 3C0680C3 */ addis r0, r6, 0x80c3 -/* 0405C8 80045B68 5463103A */ slwi r3, r3, 2 -/* 0405CC 80045B6C 7C1F192E */ stwx r0, r31, r3 -/* 0405D0 80045B70 48000010 */ b lbl_80045B80 -lbl_80045B74: -/* 0405D4 80045B74 80610084 */ lwz r3, 0x84(r1) -/* 0405D8 80045B78 38030001 */ addi r0, r3, 1 -/* 0405DC 80045B7C 90010084 */ stw r0, 0x84(r1) -lbl_80045B80: -/* 0405E0 80045B80 281F0000 */ cmplwi r31, 0 -/* 0405E4 80045B84 41820028 */ beq lbl_80045BAC -/* 0405E8 80045B88 80610084 */ lwz r3, 0x84(r1) -/* 0405EC 80045B8C 54A0801E */ slwi r0, r5, 0x10 -/* 0405F0 80045B90 64067CC0 */ oris r6, r0, 0x7cc0 -/* 0405F4 80045B94 38030001 */ addi r0, r3, 1 -/* 0405F8 80045B98 90010084 */ stw r0, 0x84(r1) -/* 0405FC 80045B9C 60C63378 */ ori r6, r6, 0x3378 -/* 040600 80045BA0 5460103A */ slwi r0, r3, 2 -/* 040604 80045BA4 7CDF012E */ stwx r6, r31, r0 -/* 040608 80045BA8 48000010 */ b lbl_80045BB8 -lbl_80045BAC: -/* 04060C 80045BAC 80610084 */ lwz r3, 0x84(r1) -/* 040610 80045BB0 38030001 */ addi r0, r3, 1 -/* 040614 80045BB4 90010084 */ stw r0, 0x84(r1) -lbl_80045BB8: -/* 040618 80045BB8 3C7E0001 */ addis r3, r30, 1 -/* 04061C 80045BBC 8003205C */ lwz r0, 0x205c(r3) -/* 040620 80045BC0 39400001 */ li r10, 1 -/* 040624 80045BC4 60000008 */ ori r0, r0, 8 -/* 040628 80045BC8 9003205C */ stw r0, 0x205c(r3) -/* 04062C 80045BCC 480001CC */ b lbl_80045D98 -lbl_80045BD0: -/* 040630 80045BD0 2C030000 */ cmpwi r3, 0 -/* 040634 80045BD4 408200B4 */ bne lbl_80045C88 -/* 040638 80045BD8 5480103A */ slwi r0, r4, 2 -/* 04063C 80045BDC 7C7A0214 */ add r3, r26, r0 -/* 040640 80045BE0 80C30818 */ lwz r6, 0x818(r3) -/* 040644 80045BE4 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 040648 80045BE8 41820054 */ beq lbl_80045C3C -/* 04064C 80045BEC 281F0000 */ cmplwi r31, 0 -/* 040650 80045BF0 4182003C */ beq lbl_80045C2C -/* 040654 80045BF4 54861838 */ slwi r6, r4, 3 -/* 040658 80045BF8 80610084 */ lwz r3, 0x84(r1) -/* 04065C 80045BFC 38060040 */ addi r0, r6, 0x40 -/* 040660 80045C00 54A6A814 */ slwi r6, r5, 0x15 -/* 040664 80045C04 7C1E0214 */ add r0, r30, r0 -/* 040668 80045C08 38E30001 */ addi r7, r3, 1 -/* 04066C 80045C0C 64C68003 */ oris r6, r6, 0x8003 -/* 040670 80045C10 90E10084 */ stw r7, 0x84(r1) -/* 040674 80045C14 7C1E0050 */ subf r0, r30, r0 -/* 040678 80045C18 7CC03214 */ add r6, r0, r6 -/* 04067C 80045C1C 38060004 */ addi r0, r6, 4 -/* 040680 80045C20 5463103A */ slwi r3, r3, 2 -/* 040684 80045C24 7C1F192E */ stwx r0, r31, r3 -/* 040688 80045C28 48000170 */ b lbl_80045D98 -lbl_80045C2C: -/* 04068C 80045C2C 80610084 */ lwz r3, 0x84(r1) -/* 040690 80045C30 38030001 */ addi r0, r3, 1 -/* 040694 80045C34 90010084 */ stw r0, 0x84(r1) -/* 040698 80045C38 48000160 */ b lbl_80045D98 -lbl_80045C3C: -/* 04069C 80045C3C 281F0000 */ cmplwi r31, 0 -/* 0406A0 80045C40 41820038 */ beq lbl_80045C78 -/* 0406A4 80045C44 80610084 */ lwz r3, 0x84(r1) -/* 0406A8 80045C48 54C0A814 */ slwi r0, r6, 0x15 -/* 0406AC 80045C4C 64007C00 */ oris r0, r0, 0x7c00 -/* 0406B0 80045C50 38E30001 */ addi r7, r3, 1 -/* 0406B4 80045C54 60000378 */ ori r0, r0, 0x378 -/* 0406B8 80045C58 90E10084 */ stw r7, 0x84(r1) -/* 0406BC 80045C5C 54A7801E */ slwi r7, r5, 0x10 -/* 0406C0 80045C60 54C65828 */ slwi r6, r6, 0xb -/* 0406C4 80045C64 7C003B78 */ or r0, r0, r7 -/* 0406C8 80045C68 7CC00378 */ or r0, r6, r0 -/* 0406CC 80045C6C 5463103A */ slwi r3, r3, 2 -/* 0406D0 80045C70 7C1F192E */ stwx r0, r31, r3 -/* 0406D4 80045C74 48000124 */ b lbl_80045D98 -lbl_80045C78: -/* 0406D8 80045C78 80610084 */ lwz r3, 0x84(r1) -/* 0406DC 80045C7C 38030001 */ addi r0, r3, 1 -/* 0406E0 80045C80 90010084 */ stw r0, 0x84(r1) -/* 0406E4 80045C84 48000114 */ b lbl_80045D98 -lbl_80045C88: -/* 0406E8 80045C88 5480103A */ slwi r0, r4, 2 -/* 0406EC 80045C8C 7C7A0214 */ add r3, r26, r0 -/* 0406F0 80045C90 80030818 */ lwz r0, 0x818(r3) -/* 0406F4 80045C94 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0406F8 80045C98 418200B4 */ beq lbl_80045D4C -/* 0406FC 80045C9C 281F0000 */ cmplwi r31, 0 -/* 040700 80045CA0 4182003C */ beq lbl_80045CDC -/* 040704 80045CA4 54861838 */ slwi r6, r4, 3 -/* 040708 80045CA8 80610084 */ lwz r3, 0x84(r1) -/* 04070C 80045CAC 38060040 */ addi r0, r6, 0x40 -/* 040710 80045CB0 54A6A814 */ slwi r6, r5, 0x15 -/* 040714 80045CB4 7C1E0214 */ add r0, r30, r0 -/* 040718 80045CB8 38E30001 */ addi r7, r3, 1 -/* 04071C 80045CBC 64C68003 */ oris r6, r6, 0x8003 -/* 040720 80045CC0 90E10084 */ stw r7, 0x84(r1) -/* 040724 80045CC4 7C1E0050 */ subf r0, r30, r0 -/* 040728 80045CC8 7CC03214 */ add r6, r0, r6 -/* 04072C 80045CCC 38060004 */ addi r0, r6, 4 -/* 040730 80045CD0 5463103A */ slwi r3, r3, 2 -/* 040734 80045CD4 7C1F192E */ stwx r0, r31, r3 -/* 040738 80045CD8 48000010 */ b lbl_80045CE8 -lbl_80045CDC: -/* 04073C 80045CDC 80610084 */ lwz r3, 0x84(r1) -/* 040740 80045CE0 38030001 */ addi r0, r3, 1 -/* 040744 80045CE4 90010084 */ stw r0, 0x84(r1) -lbl_80045CE8: -/* 040748 80045CE8 281F0000 */ cmplwi r31, 0 -/* 04074C 80045CEC 4182003C */ beq lbl_80045D28 -/* 040750 80045CF0 55261838 */ slwi r6, r9, 3 -/* 040754 80045CF4 80610084 */ lwz r3, 0x84(r1) -/* 040758 80045CF8 38060040 */ addi r0, r6, 0x40 -/* 04075C 80045CFC 54A6A814 */ slwi r6, r5, 0x15 -/* 040760 80045D00 7C1E0214 */ add r0, r30, r0 -/* 040764 80045D04 38E30001 */ addi r7, r3, 1 -/* 040768 80045D08 64C69003 */ oris r6, r6, 0x9003 -/* 04076C 80045D0C 90E10084 */ stw r7, 0x84(r1) -/* 040770 80045D10 7C1E0050 */ subf r0, r30, r0 -/* 040774 80045D14 7CC03214 */ add r6, r0, r6 -/* 040778 80045D18 38060004 */ addi r0, r6, 4 -/* 04077C 80045D1C 5463103A */ slwi r3, r3, 2 -/* 040780 80045D20 7C1F192E */ stwx r0, r31, r3 -/* 040784 80045D24 48000010 */ b lbl_80045D34 -lbl_80045D28: -/* 040788 80045D28 80610084 */ lwz r3, 0x84(r1) -/* 04078C 80045D2C 38030001 */ addi r0, r3, 1 -/* 040790 80045D30 90010084 */ stw r0, 0x84(r1) -lbl_80045D34: -/* 040794 80045D34 3C7E0001 */ addis r3, r30, 1 -/* 040798 80045D38 38000002 */ li r0, 2 -/* 04079C 80045D3C 90032068 */ stw r0, 0x2068(r3) -/* 0407A0 80045D40 9123206C */ stw r9, 0x206c(r3) -/* 0407A4 80045D44 90A32070 */ stw r5, 0x2070(r3) -/* 0407A8 80045D48 48000050 */ b lbl_80045D98 -lbl_80045D4C: -/* 0407AC 80045D4C 281F0000 */ cmplwi r31, 0 -/* 0407B0 80045D50 4182003C */ beq lbl_80045D8C -/* 0407B4 80045D54 55261838 */ slwi r6, r9, 3 -/* 0407B8 80045D58 80610084 */ lwz r3, 0x84(r1) -/* 0407BC 80045D5C 38C60040 */ addi r6, r6, 0x40 -/* 0407C0 80045D60 5400A814 */ slwi r0, r0, 0x15 -/* 0407C4 80045D64 7CDE3214 */ add r6, r30, r6 -/* 0407C8 80045D68 38E30001 */ addi r7, r3, 1 -/* 0407CC 80045D6C 64009003 */ oris r0, r0, 0x9003 -/* 0407D0 80045D70 90E10084 */ stw r7, 0x84(r1) -/* 0407D4 80045D74 7CDE3050 */ subf r6, r30, r6 -/* 0407D8 80045D78 7CC60214 */ add r6, r6, r0 -/* 0407DC 80045D7C 38060004 */ addi r0, r6, 4 -/* 0407E0 80045D80 5463103A */ slwi r3, r3, 2 -/* 0407E4 80045D84 7C1F192E */ stwx r0, r31, r3 -/* 0407E8 80045D88 48000010 */ b lbl_80045D98 -lbl_80045D8C: -/* 0407EC 80045D8C 80610084 */ lwz r3, 0x84(r1) -/* 0407F0 80045D90 38030001 */ addi r0, r3, 1 -/* 0407F4 80045D94 90010084 */ stw r0, 0x84(r1) -lbl_80045D98: -/* 0407F8 80045D98 2809001F */ cmplwi r9, 0x1f -/* 0407FC 80045D9C 40820700 */ bne lbl_8004649C -/* 040800 80045DA0 3C7E0001 */ addis r3, r30, 1 -/* 040804 80045DA4 8003205C */ lwz r0, 0x205c(r3) -/* 040808 80045DA8 60000002 */ ori r0, r0, 2 -/* 04080C 80045DAC 9003205C */ stw r0, 0x205c(r3) -/* 040810 80045DB0 8003205C */ lwz r0, 0x205c(r3) -/* 040814 80045DB4 54000739 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 040818 80045DB8 418206E4 */ beq lbl_8004649C -/* 04081C 80045DBC 5480103A */ slwi r0, r4, 2 -/* 040820 80045DC0 7C7A0214 */ add r3, r26, r0 -/* 040824 80045DC4 80030818 */ lwz r0, 0x818(r3) -/* 040828 80045DC8 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 04082C 80045DCC 41820050 */ beq lbl_80045E1C -/* 040830 80045DD0 281F0000 */ cmplwi r31, 0 -/* 040834 80045DD4 38000006 */ li r0, 6 -/* 040838 80045DD8 41820038 */ beq lbl_80045E10 -/* 04083C 80045DDC 54841838 */ slwi r4, r4, 3 -/* 040840 80045DE0 80610084 */ lwz r3, 0x84(r1) -/* 040844 80045DE4 38840040 */ addi r4, r4, 0x40 -/* 040848 80045DE8 7C9E2214 */ add r4, r30, r4 -/* 04084C 80045DEC 7C9E2050 */ subf r4, r30, r4 -/* 040850 80045DF0 38840004 */ addi r4, r4, 4 -/* 040854 80045DF4 38C30001 */ addi r6, r3, 1 -/* 040858 80045DF8 5484043E */ clrlwi r4, r4, 0x10 -/* 04085C 80045DFC 90C10084 */ stw r6, 0x84(r1) -/* 040860 80045E00 3C8480C3 */ addis r4, r4, 0x80c3 -/* 040864 80045E04 5463103A */ slwi r3, r3, 2 -/* 040868 80045E08 7C9F192E */ stwx r4, r31, r3 -/* 04086C 80045E0C 48000010 */ b lbl_80045E1C -lbl_80045E10: -/* 040870 80045E10 80610084 */ lwz r3, 0x84(r1) -/* 040874 80045E14 38630001 */ addi r3, r3, 1 -/* 040878 80045E18 90610084 */ stw r3, 0x84(r1) -lbl_80045E1C: -/* 04087C 80045E1C 281F0000 */ cmplwi r31, 0 -/* 040880 80045E20 41820030 */ beq lbl_80045E50 -/* 040884 80045E24 80610084 */ lwz r3, 0x84(r1) -/* 040888 80045E28 5406A814 */ slwi r6, r0, 0x15 -/* 04088C 80045E2C 389E0038 */ addi r4, r30, 0x38 -/* 040890 80045E30 38030001 */ addi r0, r3, 1 -/* 040894 80045E34 90010084 */ stw r0, 0x84(r1) -/* 040898 80045E38 64C09003 */ oris r0, r6, 0x9003 -/* 04089C 80045E3C 7C9E2050 */ subf r4, r30, r4 -/* 0408A0 80045E40 7C002214 */ add r0, r0, r4 -/* 0408A4 80045E44 5463103A */ slwi r3, r3, 2 -/* 0408A8 80045E48 7C1F192E */ stwx r0, r31, r3 -/* 0408AC 80045E4C 48000650 */ b lbl_8004649C -lbl_80045E50: -/* 0408B0 80045E50 80610084 */ lwz r3, 0x84(r1) -/* 0408B4 80045E54 38030001 */ addi r0, r3, 1 -/* 0408B8 80045E58 90010084 */ stw r0, 0x84(r1) -/* 0408BC 80045E5C 48000640 */ b lbl_8004649C -lbl_80045E60: -/* 0408C0 80045E60 578886FF */ rlwinm. r8, r28, 0x10, 0x1b, 0x1f -/* 0408C4 80045E64 40820334 */ bne lbl_80046198 -/* 0408C8 80045E68 2800001F */ cmplwi r0, 0x1f -/* 0408CC 80045E6C 4082009C */ bne lbl_80045F08 -/* 0408D0 80045E70 3C9E0001 */ addis r4, r30, 1 -/* 0408D4 80045E74 8084205C */ lwz r4, 0x205c(r4) -/* 0408D8 80045E78 5484077B */ rlwinm. r4, r4, 0, 0x1d, 0x1d -/* 0408DC 80045E7C 4082008C */ bne lbl_80045F08 -/* 0408E0 80045E80 281F0000 */ cmplwi r31, 0 -/* 0408E4 80045E84 41820028 */ beq lbl_80045EAC -/* 0408E8 80045E88 80610084 */ lwz r3, 0x84(r1) -/* 0408EC 80045E8C 389E0038 */ addi r4, r30, 0x38 -/* 0408F0 80045E90 7C9E2050 */ subf r4, r30, r4 -/* 0408F4 80045E94 38C30001 */ addi r6, r3, 1 -/* 0408F8 80045E98 90C10084 */ stw r6, 0x84(r1) -/* 0408FC 80045E9C 3C8480C3 */ addis r4, r4, 0x80c3 -/* 040900 80045EA0 5463103A */ slwi r3, r3, 2 -/* 040904 80045EA4 7C9F192E */ stwx r4, r31, r3 -/* 040908 80045EA8 48000010 */ b lbl_80045EB8 -lbl_80045EAC: -/* 04090C 80045EAC 80610084 */ lwz r3, 0x84(r1) -/* 040910 80045EB0 38630001 */ addi r3, r3, 1 -/* 040914 80045EB4 90610084 */ stw r3, 0x84(r1) -lbl_80045EB8: -/* 040918 80045EB8 281F0000 */ cmplwi r31, 0 -/* 04091C 80045EBC 41820028 */ beq lbl_80045EE4 -/* 040920 80045EC0 80810084 */ lwz r4, 0x84(r1) -/* 040924 80045EC4 54A3801E */ slwi r3, r5, 0x10 -/* 040928 80045EC8 64667CC0 */ oris r6, r3, 0x7cc0 -/* 04092C 80045ECC 38640001 */ addi r3, r4, 1 -/* 040930 80045ED0 90610084 */ stw r3, 0x84(r1) -/* 040934 80045ED4 60C63378 */ ori r6, r6, 0x3378 -/* 040938 80045ED8 5483103A */ slwi r3, r4, 2 -/* 04093C 80045EDC 7CDF192E */ stwx r6, r31, r3 -/* 040940 80045EE0 48000010 */ b lbl_80045EF0 -lbl_80045EE4: -/* 040944 80045EE4 80610084 */ lwz r3, 0x84(r1) -/* 040948 80045EE8 38630001 */ addi r3, r3, 1 -/* 04094C 80045EEC 90610084 */ stw r3, 0x84(r1) -lbl_80045EF0: -/* 040950 80045EF0 3C7E0001 */ addis r3, r30, 1 -/* 040954 80045EF4 8083205C */ lwz r4, 0x205c(r3) -/* 040958 80045EF8 39400001 */ li r10, 1 -/* 04095C 80045EFC 60840008 */ ori r4, r4, 8 -/* 040960 80045F00 9083205C */ stw r4, 0x205c(r3) -/* 040964 80045F04 480001CC */ b lbl_800460D0 -lbl_80045F08: -/* 040968 80045F08 2C030000 */ cmpwi r3, 0 -/* 04096C 80045F0C 408200B4 */ bne lbl_80045FC0 -/* 040970 80045F10 5403103A */ slwi r3, r0, 2 -/* 040974 80045F14 7C7A1A14 */ add r3, r26, r3 -/* 040978 80045F18 80C30818 */ lwz r6, 0x818(r3) -/* 04097C 80045F1C 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 040980 80045F20 41820054 */ beq lbl_80045F74 -/* 040984 80045F24 281F0000 */ cmplwi r31, 0 -/* 040988 80045F28 4182003C */ beq lbl_80045F64 -/* 04098C 80045F2C 54041838 */ slwi r4, r0, 3 -/* 040990 80045F30 80610084 */ lwz r3, 0x84(r1) -/* 040994 80045F34 38840040 */ addi r4, r4, 0x40 -/* 040998 80045F38 54A6A814 */ slwi r6, r5, 0x15 -/* 04099C 80045F3C 7C9E2214 */ add r4, r30, r4 -/* 0409A0 80045F40 38E30001 */ addi r7, r3, 1 -/* 0409A4 80045F44 64C68003 */ oris r6, r6, 0x8003 -/* 0409A8 80045F48 90E10084 */ stw r7, 0x84(r1) -/* 0409AC 80045F4C 7C9E2050 */ subf r4, r30, r4 -/* 0409B0 80045F50 7C843214 */ add r4, r4, r6 -/* 0409B4 80045F54 38840004 */ addi r4, r4, 4 -/* 0409B8 80045F58 5463103A */ slwi r3, r3, 2 -/* 0409BC 80045F5C 7C9F192E */ stwx r4, r31, r3 -/* 0409C0 80045F60 48000170 */ b lbl_800460D0 -lbl_80045F64: -/* 0409C4 80045F64 80610084 */ lwz r3, 0x84(r1) -/* 0409C8 80045F68 38630001 */ addi r3, r3, 1 -/* 0409CC 80045F6C 90610084 */ stw r3, 0x84(r1) -/* 0409D0 80045F70 48000160 */ b lbl_800460D0 -lbl_80045F74: -/* 0409D4 80045F74 281F0000 */ cmplwi r31, 0 -/* 0409D8 80045F78 41820038 */ beq lbl_80045FB0 -/* 0409DC 80045F7C 80610084 */ lwz r3, 0x84(r1) -/* 0409E0 80045F80 54C4A814 */ slwi r4, r6, 0x15 -/* 0409E4 80045F84 64847C00 */ oris r4, r4, 0x7c00 -/* 0409E8 80045F88 38E30001 */ addi r7, r3, 1 -/* 0409EC 80045F8C 60840378 */ ori r4, r4, 0x378 -/* 0409F0 80045F90 90E10084 */ stw r7, 0x84(r1) -/* 0409F4 80045F94 54A7801E */ slwi r7, r5, 0x10 -/* 0409F8 80045F98 54C65828 */ slwi r6, r6, 0xb -/* 0409FC 80045F9C 7C843B78 */ or r4, r4, r7 -/* 040A00 80045FA0 7CC42378 */ or r4, r6, r4 -/* 040A04 80045FA4 5463103A */ slwi r3, r3, 2 -/* 040A08 80045FA8 7C9F192E */ stwx r4, r31, r3 -/* 040A0C 80045FAC 48000124 */ b lbl_800460D0 -lbl_80045FB0: -/* 040A10 80045FB0 80610084 */ lwz r3, 0x84(r1) -/* 040A14 80045FB4 38630001 */ addi r3, r3, 1 -/* 040A18 80045FB8 90610084 */ stw r3, 0x84(r1) -/* 040A1C 80045FBC 48000114 */ b lbl_800460D0 -lbl_80045FC0: -/* 040A20 80045FC0 5403103A */ slwi r3, r0, 2 -/* 040A24 80045FC4 7C7A1A14 */ add r3, r26, r3 -/* 040A28 80045FC8 80C30818 */ lwz r6, 0x818(r3) -/* 040A2C 80045FCC 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 040A30 80045FD0 418200B4 */ beq lbl_80046084 -/* 040A34 80045FD4 281F0000 */ cmplwi r31, 0 -/* 040A38 80045FD8 4182003C */ beq lbl_80046014 -/* 040A3C 80045FDC 54041838 */ slwi r4, r0, 3 -/* 040A40 80045FE0 80610084 */ lwz r3, 0x84(r1) -/* 040A44 80045FE4 38840040 */ addi r4, r4, 0x40 -/* 040A48 80045FE8 54A6A814 */ slwi r6, r5, 0x15 -/* 040A4C 80045FEC 7C9E2214 */ add r4, r30, r4 -/* 040A50 80045FF0 38E30001 */ addi r7, r3, 1 -/* 040A54 80045FF4 64C68003 */ oris r6, r6, 0x8003 -/* 040A58 80045FF8 90E10084 */ stw r7, 0x84(r1) -/* 040A5C 80045FFC 7C9E2050 */ subf r4, r30, r4 -/* 040A60 80046000 7C843214 */ add r4, r4, r6 -/* 040A64 80046004 38840004 */ addi r4, r4, 4 -/* 040A68 80046008 5463103A */ slwi r3, r3, 2 -/* 040A6C 8004600C 7C9F192E */ stwx r4, r31, r3 -/* 040A70 80046010 48000010 */ b lbl_80046020 -lbl_80046014: -/* 040A74 80046014 80610084 */ lwz r3, 0x84(r1) -/* 040A78 80046018 38630001 */ addi r3, r3, 1 -/* 040A7C 8004601C 90610084 */ stw r3, 0x84(r1) -lbl_80046020: -/* 040A80 80046020 281F0000 */ cmplwi r31, 0 -/* 040A84 80046024 4182003C */ beq lbl_80046060 -/* 040A88 80046028 55241838 */ slwi r4, r9, 3 -/* 040A8C 8004602C 80610084 */ lwz r3, 0x84(r1) -/* 040A90 80046030 38840040 */ addi r4, r4, 0x40 -/* 040A94 80046034 54A6A814 */ slwi r6, r5, 0x15 -/* 040A98 80046038 7C9E2214 */ add r4, r30, r4 -/* 040A9C 8004603C 38E30001 */ addi r7, r3, 1 -/* 040AA0 80046040 64C69003 */ oris r6, r6, 0x9003 -/* 040AA4 80046044 90E10084 */ stw r7, 0x84(r1) -/* 040AA8 80046048 7C9E2050 */ subf r4, r30, r4 -/* 040AAC 8004604C 7C843214 */ add r4, r4, r6 -/* 040AB0 80046050 38840004 */ addi r4, r4, 4 -/* 040AB4 80046054 5463103A */ slwi r3, r3, 2 -/* 040AB8 80046058 7C9F192E */ stwx r4, r31, r3 -/* 040ABC 8004605C 48000010 */ b lbl_8004606C -lbl_80046060: -/* 040AC0 80046060 80610084 */ lwz r3, 0x84(r1) -/* 040AC4 80046064 38630001 */ addi r3, r3, 1 -/* 040AC8 80046068 90610084 */ stw r3, 0x84(r1) -lbl_8004606C: -/* 040ACC 8004606C 3C7E0001 */ addis r3, r30, 1 -/* 040AD0 80046070 38800002 */ li r4, 2 -/* 040AD4 80046074 90832068 */ stw r4, 0x2068(r3) -/* 040AD8 80046078 9123206C */ stw r9, 0x206c(r3) -/* 040ADC 8004607C 90A32070 */ stw r5, 0x2070(r3) -/* 040AE0 80046080 48000050 */ b lbl_800460D0 -lbl_80046084: -/* 040AE4 80046084 281F0000 */ cmplwi r31, 0 -/* 040AE8 80046088 4182003C */ beq lbl_800460C4 -/* 040AEC 8004608C 55241838 */ slwi r4, r9, 3 -/* 040AF0 80046090 80610084 */ lwz r3, 0x84(r1) -/* 040AF4 80046094 38840040 */ addi r4, r4, 0x40 -/* 040AF8 80046098 54C6A814 */ slwi r6, r6, 0x15 -/* 040AFC 8004609C 7C9E2214 */ add r4, r30, r4 -/* 040B00 800460A0 38E30001 */ addi r7, r3, 1 -/* 040B04 800460A4 64C69003 */ oris r6, r6, 0x9003 -/* 040B08 800460A8 90E10084 */ stw r7, 0x84(r1) -/* 040B0C 800460AC 7C9E2050 */ subf r4, r30, r4 -/* 040B10 800460B0 7C843214 */ add r4, r4, r6 -/* 040B14 800460B4 38840004 */ addi r4, r4, 4 -/* 040B18 800460B8 5463103A */ slwi r3, r3, 2 -/* 040B1C 800460BC 7C9F192E */ stwx r4, r31, r3 -/* 040B20 800460C0 48000010 */ b lbl_800460D0 -lbl_800460C4: -/* 040B24 800460C4 80610084 */ lwz r3, 0x84(r1) -/* 040B28 800460C8 38630001 */ addi r3, r3, 1 -/* 040B2C 800460CC 90610084 */ stw r3, 0x84(r1) -lbl_800460D0: -/* 040B30 800460D0 2809001F */ cmplwi r9, 0x1f -/* 040B34 800460D4 408203C8 */ bne lbl_8004649C -/* 040B38 800460D8 3C7E0001 */ addis r3, r30, 1 -/* 040B3C 800460DC 8083205C */ lwz r4, 0x205c(r3) -/* 040B40 800460E0 60840002 */ ori r4, r4, 2 -/* 040B44 800460E4 9083205C */ stw r4, 0x205c(r3) -/* 040B48 800460E8 8063205C */ lwz r3, 0x205c(r3) -/* 040B4C 800460EC 54630739 */ rlwinm. r3, r3, 0, 0x1c, 0x1c -/* 040B50 800460F0 418203AC */ beq lbl_8004649C -/* 040B54 800460F4 5403103A */ slwi r3, r0, 2 -/* 040B58 800460F8 7C7A1A14 */ add r3, r26, r3 -/* 040B5C 800460FC 80C30818 */ lwz r6, 0x818(r3) -/* 040B60 80046100 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 040B64 80046104 41820050 */ beq lbl_80046154 -/* 040B68 80046108 281F0000 */ cmplwi r31, 0 -/* 040B6C 8004610C 38C00006 */ li r6, 6 -/* 040B70 80046110 41820038 */ beq lbl_80046148 -/* 040B74 80046114 54041838 */ slwi r4, r0, 3 -/* 040B78 80046118 80610084 */ lwz r3, 0x84(r1) -/* 040B7C 8004611C 38040040 */ addi r0, r4, 0x40 -/* 040B80 80046120 7C1E0214 */ add r0, r30, r0 -/* 040B84 80046124 7C9E0050 */ subf r4, r30, r0 -/* 040B88 80046128 38840004 */ addi r4, r4, 4 -/* 040B8C 8004612C 38030001 */ addi r0, r3, 1 -/* 040B90 80046130 5484043E */ clrlwi r4, r4, 0x10 -/* 040B94 80046134 90010084 */ stw r0, 0x84(r1) -/* 040B98 80046138 3C0480C3 */ addis r0, r4, 0x80c3 -/* 040B9C 8004613C 5463103A */ slwi r3, r3, 2 -/* 040BA0 80046140 7C1F192E */ stwx r0, r31, r3 -/* 040BA4 80046144 48000010 */ b lbl_80046154 -lbl_80046148: -/* 040BA8 80046148 80610084 */ lwz r3, 0x84(r1) -/* 040BAC 8004614C 38030001 */ addi r0, r3, 1 -/* 040BB0 80046150 90010084 */ stw r0, 0x84(r1) -lbl_80046154: -/* 040BB4 80046154 281F0000 */ cmplwi r31, 0 -/* 040BB8 80046158 41820030 */ beq lbl_80046188 -/* 040BBC 8004615C 80610084 */ lwz r3, 0x84(r1) -/* 040BC0 80046160 54C6A814 */ slwi r6, r6, 0x15 -/* 040BC4 80046164 389E0038 */ addi r4, r30, 0x38 -/* 040BC8 80046168 38030001 */ addi r0, r3, 1 -/* 040BCC 8004616C 90010084 */ stw r0, 0x84(r1) -/* 040BD0 80046170 64C09003 */ oris r0, r6, 0x9003 -/* 040BD4 80046174 7C9E2050 */ subf r4, r30, r4 -/* 040BD8 80046178 7C002214 */ add r0, r0, r4 -/* 040BDC 8004617C 5463103A */ slwi r3, r3, 2 -/* 040BE0 80046180 7C1F192E */ stwx r0, r31, r3 -/* 040BE4 80046184 48000318 */ b lbl_8004649C -lbl_80046188: -/* 040BE8 80046188 80610084 */ lwz r3, 0x84(r1) -/* 040BEC 8004618C 38030001 */ addi r0, r3, 1 -/* 040BF0 80046190 90010084 */ stw r0, 0x84(r1) -/* 040BF4 80046194 48000308 */ b lbl_8004649C -lbl_80046198: -/* 040BF8 80046198 5403103A */ slwi r3, r0, 2 -/* 040BFC 8004619C 7C7A1A14 */ add r3, r26, r3 -/* 040C00 800461A0 81430818 */ lwz r10, 0x818(r3) -/* 040C04 800461A4 554305EF */ rlwinm. r3, r10, 0, 0x17, 0x17 -/* 040C08 800461A8 4182014C */ beq lbl_800462F4 -/* 040C0C 800461AC 3C7E0001 */ addis r3, r30, 1 -/* 040C10 800461B0 80832064 */ lwz r4, 0x2064(r3) -/* 040C14 800461B4 39400006 */ li r10, 6 -/* 040C18 800461B8 28040000 */ cmplwi r4, 0 -/* 040C1C 800461BC 4082000C */ bne lbl_800461C8 -/* 040C20 800461C0 38800000 */ li r4, 0 -/* 040C24 800461C4 48000094 */ b lbl_80046258 -lbl_800461C8: -/* 040C28 800461C8 80832068 */ lwz r4, 0x2068(r3) -/* 040C2C 800461CC 28040000 */ cmplwi r4, 0 -/* 040C30 800461D0 4082000C */ bne lbl_800461DC -/* 040C34 800461D4 38800000 */ li r4, 0 -/* 040C38 800461D8 48000080 */ b lbl_80046258 -lbl_800461DC: -/* 040C3C 800461DC 8063206C */ lwz r3, 0x206c(r3) -/* 040C40 800461E0 7C001800 */ cmpw r0, r3 -/* 040C44 800461E4 4182000C */ beq lbl_800461F0 -/* 040C48 800461E8 38800000 */ li r4, 0 -/* 040C4C 800461EC 4800006C */ b lbl_80046258 -lbl_800461F0: -/* 040C50 800461F0 80FE0034 */ lwz r7, 0x34(r30) -/* 040C54 800461F4 38800000 */ li r4, 0 -/* 040C58 800461F8 80670008 */ lwz r3, 8(r7) -/* 040C5C 800461FC 2C030000 */ cmpwi r3, 0 -/* 040C60 80046200 7C6903A6 */ mtctr r3 -/* 040C64 80046204 40810028 */ ble lbl_8004622C -lbl_80046208: -/* 040C68 80046208 8067000C */ lwz r3, 0xc(r7) -/* 040C6C 8004620C 38C40004 */ addi r6, r4, 4 -/* 040C70 80046210 7C63302E */ lwzx r3, r3, r6 -/* 040C74 80046214 7C1D1800 */ cmpw r29, r3 -/* 040C78 80046218 4082000C */ bne lbl_80046224 -/* 040C7C 8004621C 38600000 */ li r3, 0 -/* 040C80 80046220 48000010 */ b lbl_80046230 -lbl_80046224: -/* 040C84 80046224 38840008 */ addi r4, r4, 8 -/* 040C88 80046228 4200FFE0 */ bdnz lbl_80046208 -lbl_8004622C: -/* 040C8C 8004622C 38600001 */ li r3, 1 -lbl_80046230: -/* 040C90 80046230 2C030000 */ cmpwi r3, 0 -/* 040C94 80046234 40820014 */ bne lbl_80046248 -/* 040C98 80046238 38800000 */ li r4, 0 -/* 040C9C 8004623C 3C7E0001 */ addis r3, r30, 1 -/* 040CA0 80046240 90832068 */ stw r4, 0x2068(r3) -/* 040CA4 80046244 48000014 */ b lbl_80046258 -lbl_80046248: -/* 040CA8 80046248 3C7E0001 */ addis r3, r30, 1 -/* 040CAC 8004624C 38800000 */ li r4, 0 -/* 040CB0 80046250 90832068 */ stw r4, 0x2068(r3) -/* 040CB4 80046254 38800001 */ li r4, 1 -lbl_80046258: -/* 040CB8 80046258 2C040000 */ cmpwi r4, 0 -/* 040CBC 8004625C 41820050 */ beq lbl_800462AC -/* 040CC0 80046260 281F0000 */ cmplwi r31, 0 -/* 040CC4 80046264 41820038 */ beq lbl_8004629C -/* 040CC8 80046268 3C9E0001 */ addis r4, r30, 1 -/* 040CCC 8004626C 80610084 */ lwz r3, 0x84(r1) -/* 040CD0 80046270 80842070 */ lwz r4, 0x2070(r4) -/* 040CD4 80046274 38C30001 */ addi r6, r3, 1 -/* 040CD8 80046278 5480A814 */ slwi r0, r4, 0x15 -/* 040CDC 8004627C 90C10084 */ stw r6, 0x84(r1) -/* 040CE0 80046280 64007C06 */ oris r0, r0, 0x7c06 -/* 040CE4 80046284 54845828 */ slwi r4, r4, 0xb -/* 040CE8 80046288 60000378 */ ori r0, r0, 0x378 -/* 040CEC 8004628C 7C800378 */ or r0, r4, r0 -/* 040CF0 80046290 5463103A */ slwi r3, r3, 2 -/* 040CF4 80046294 7C1F192E */ stwx r0, r31, r3 -/* 040CF8 80046298 4800005C */ b lbl_800462F4 -lbl_8004629C: -/* 040CFC 8004629C 80610084 */ lwz r3, 0x84(r1) -/* 040D00 800462A0 38030001 */ addi r0, r3, 1 -/* 040D04 800462A4 90010084 */ stw r0, 0x84(r1) -/* 040D08 800462A8 4800004C */ b lbl_800462F4 -lbl_800462AC: -/* 040D0C 800462AC 281F0000 */ cmplwi r31, 0 -/* 040D10 800462B0 41820038 */ beq lbl_800462E8 -/* 040D14 800462B4 54041838 */ slwi r4, r0, 3 -/* 040D18 800462B8 80610084 */ lwz r3, 0x84(r1) -/* 040D1C 800462BC 38040040 */ addi r0, r4, 0x40 -/* 040D20 800462C0 7C1E0214 */ add r0, r30, r0 -/* 040D24 800462C4 7C9E0050 */ subf r4, r30, r0 -/* 040D28 800462C8 38840004 */ addi r4, r4, 4 -/* 040D2C 800462CC 38030001 */ addi r0, r3, 1 -/* 040D30 800462D0 5484043E */ clrlwi r4, r4, 0x10 -/* 040D34 800462D4 90010084 */ stw r0, 0x84(r1) -/* 040D38 800462D8 3C0480C3 */ addis r0, r4, 0x80c3 -/* 040D3C 800462DC 5463103A */ slwi r3, r3, 2 -/* 040D40 800462E0 7C1F192E */ stwx r0, r31, r3 -/* 040D44 800462E4 48000010 */ b lbl_800462F4 -lbl_800462E8: -/* 040D48 800462E8 80610084 */ lwz r3, 0x84(r1) -/* 040D4C 800462EC 38030001 */ addi r0, r3, 1 -/* 040D50 800462F0 90010084 */ stw r0, 0x84(r1) -lbl_800462F4: -/* 040D54 800462F4 5500103A */ slwi r0, r8, 2 -/* 040D58 800462F8 7C7A0214 */ add r3, r26, r0 -/* 040D5C 800462FC 80E30818 */ lwz r7, 0x818(r3) -/* 040D60 80046300 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 040D64 80046304 4182014C */ beq lbl_80046450 -/* 040D68 80046308 3C7E0001 */ addis r3, r30, 1 -/* 040D6C 8004630C 80032064 */ lwz r0, 0x2064(r3) -/* 040D70 80046310 38E00007 */ li r7, 7 -/* 040D74 80046314 28000000 */ cmplwi r0, 0 -/* 040D78 80046318 4082000C */ bne lbl_80046324 -/* 040D7C 8004631C 38000000 */ li r0, 0 -/* 040D80 80046320 48000094 */ b lbl_800463B4 -lbl_80046324: -/* 040D84 80046324 80032068 */ lwz r0, 0x2068(r3) -/* 040D88 80046328 28000000 */ cmplwi r0, 0 -/* 040D8C 8004632C 4082000C */ bne lbl_80046338 -/* 040D90 80046330 38000000 */ li r0, 0 -/* 040D94 80046334 48000080 */ b lbl_800463B4 -lbl_80046338: -/* 040D98 80046338 8003206C */ lwz r0, 0x206c(r3) -/* 040D9C 8004633C 7C080000 */ cmpw r8, r0 -/* 040DA0 80046340 4182000C */ beq lbl_8004634C -/* 040DA4 80046344 38000000 */ li r0, 0 -/* 040DA8 80046348 4800006C */ b lbl_800463B4 -lbl_8004634C: -/* 040DAC 8004634C 80DE0034 */ lwz r6, 0x34(r30) -/* 040DB0 80046350 38800000 */ li r4, 0 -/* 040DB4 80046354 80060008 */ lwz r0, 8(r6) -/* 040DB8 80046358 2C000000 */ cmpwi r0, 0 -/* 040DBC 8004635C 7C0903A6 */ mtctr r0 -/* 040DC0 80046360 40810028 */ ble lbl_80046388 -lbl_80046364: -/* 040DC4 80046364 8066000C */ lwz r3, 0xc(r6) -/* 040DC8 80046368 38040004 */ addi r0, r4, 4 -/* 040DCC 8004636C 7C03002E */ lwzx r0, r3, r0 -/* 040DD0 80046370 7C1D0000 */ cmpw r29, r0 -/* 040DD4 80046374 4082000C */ bne lbl_80046380 -/* 040DD8 80046378 38000000 */ li r0, 0 -/* 040DDC 8004637C 48000010 */ b lbl_8004638C -lbl_80046380: -/* 040DE0 80046380 38840008 */ addi r4, r4, 8 -/* 040DE4 80046384 4200FFE0 */ bdnz lbl_80046364 -lbl_80046388: -/* 040DE8 80046388 38000001 */ li r0, 1 -lbl_8004638C: -/* 040DEC 8004638C 2C000000 */ cmpwi r0, 0 -/* 040DF0 80046390 40820014 */ bne lbl_800463A4 -/* 040DF4 80046394 38000000 */ li r0, 0 -/* 040DF8 80046398 3C7E0001 */ addis r3, r30, 1 -/* 040DFC 8004639C 90032068 */ stw r0, 0x2068(r3) -/* 040E00 800463A0 48000014 */ b lbl_800463B4 -lbl_800463A4: -/* 040E04 800463A4 3C7E0001 */ addis r3, r30, 1 -/* 040E08 800463A8 38000000 */ li r0, 0 -/* 040E0C 800463AC 90032068 */ stw r0, 0x2068(r3) -/* 040E10 800463B0 38000001 */ li r0, 1 -lbl_800463B4: -/* 040E14 800463B4 2C000000 */ cmpwi r0, 0 -/* 040E18 800463B8 41820050 */ beq lbl_80046408 -/* 040E1C 800463BC 281F0000 */ cmplwi r31, 0 -/* 040E20 800463C0 41820038 */ beq lbl_800463F8 -/* 040E24 800463C4 3C9E0001 */ addis r4, r30, 1 -/* 040E28 800463C8 80610084 */ lwz r3, 0x84(r1) -/* 040E2C 800463CC 80C42070 */ lwz r6, 0x2070(r4) -/* 040E30 800463D0 38030001 */ addi r0, r3, 1 -/* 040E34 800463D4 54C4A814 */ slwi r4, r6, 0x15 -/* 040E38 800463D8 90010084 */ stw r0, 0x84(r1) -/* 040E3C 800463DC 64807C07 */ oris r0, r4, 0x7c07 -/* 040E40 800463E0 54C45828 */ slwi r4, r6, 0xb -/* 040E44 800463E4 60000378 */ ori r0, r0, 0x378 -/* 040E48 800463E8 7C800378 */ or r0, r4, r0 -/* 040E4C 800463EC 5463103A */ slwi r3, r3, 2 -/* 040E50 800463F0 7C1F192E */ stwx r0, r31, r3 -/* 040E54 800463F4 4800005C */ b lbl_80046450 -lbl_800463F8: -/* 040E58 800463F8 80610084 */ lwz r3, 0x84(r1) -/* 040E5C 800463FC 38030001 */ addi r0, r3, 1 -/* 040E60 80046400 90010084 */ stw r0, 0x84(r1) -/* 040E64 80046404 4800004C */ b lbl_80046450 -lbl_80046408: -/* 040E68 80046408 281F0000 */ cmplwi r31, 0 -/* 040E6C 8004640C 41820038 */ beq lbl_80046444 -/* 040E70 80046410 55041838 */ slwi r4, r8, 3 -/* 040E74 80046414 80610084 */ lwz r3, 0x84(r1) -/* 040E78 80046418 38040040 */ addi r0, r4, 0x40 -/* 040E7C 8004641C 7C1E0214 */ add r0, r30, r0 -/* 040E80 80046420 7C9E0050 */ subf r4, r30, r0 -/* 040E84 80046424 38840004 */ addi r4, r4, 4 -/* 040E88 80046428 38030001 */ addi r0, r3, 1 -/* 040E8C 8004642C 5484043E */ clrlwi r4, r4, 0x10 -/* 040E90 80046430 90010084 */ stw r0, 0x84(r1) -/* 040E94 80046434 3C0480E3 */ addis r0, r4, 0x80e3 -/* 040E98 80046438 5463103A */ slwi r3, r3, 2 -/* 040E9C 8004643C 7C1F192E */ stwx r0, r31, r3 -/* 040EA0 80046440 48000010 */ b lbl_80046450 -lbl_80046444: -/* 040EA4 80046444 80610084 */ lwz r3, 0x84(r1) -/* 040EA8 80046448 38030001 */ addi r0, r3, 1 -/* 040EAC 8004644C 90010084 */ stw r0, 0x84(r1) -lbl_80046450: -/* 040EB0 80046450 281F0000 */ cmplwi r31, 0 -/* 040EB4 80046454 41820038 */ beq lbl_8004648C -/* 040EB8 80046458 80610084 */ lwz r3, 0x84(r1) -/* 040EBC 8004645C 5540A814 */ slwi r0, r10, 0x15 -/* 040EC0 80046460 64007C00 */ oris r0, r0, 0x7c00 -/* 040EC4 80046464 38830001 */ addi r4, r3, 1 -/* 040EC8 80046468 60000378 */ ori r0, r0, 0x378 -/* 040ECC 8004646C 90810084 */ stw r4, 0x84(r1) -/* 040ED0 80046470 54A4801E */ slwi r4, r5, 0x10 -/* 040ED4 80046474 54E65828 */ slwi r6, r7, 0xb -/* 040ED8 80046478 7C002378 */ or r0, r0, r4 -/* 040EDC 8004647C 7CC00378 */ or r0, r6, r0 -/* 040EE0 80046480 5463103A */ slwi r3, r3, 2 -/* 040EE4 80046484 7C1F192E */ stwx r0, r31, r3 -/* 040EE8 80046488 48000010 */ b lbl_80046498 -lbl_8004648C: -/* 040EEC 8004648C 80610084 */ lwz r3, 0x84(r1) -/* 040EF0 80046490 38030001 */ addi r0, r3, 1 -/* 040EF4 80046494 90010084 */ stw r0, 0x84(r1) -lbl_80046498: -/* 040EF8 80046498 39400001 */ li r10, 1 -lbl_8004649C: -/* 040EFC 8004649C 2C0A0000 */ cmpwi r10, 0 -/* 040F00 800464A0 40820008 */ bne lbl_800464A8 -/* 040F04 800464A4 48021A90 */ b lbl_80067F34 -lbl_800464A8: -/* 040F08 800464A8 800B0000 */ lwz r0, 0(r11) -/* 040F0C 800464AC 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 040F10 800464B0 40820008 */ bne lbl_800464B8 -/* 040F14 800464B4 48021A80 */ b lbl_80067F34 -lbl_800464B8: -/* 040F18 800464B8 3C7E0001 */ addis r3, r30, 1 -/* 040F1C 800464BC 38000002 */ li r0, 2 -/* 040F20 800464C0 90032068 */ stw r0, 0x2068(r3) -/* 040F24 800464C4 281F0000 */ cmplwi r31, 0 -/* 040F28 800464C8 9123206C */ stw r9, 0x206c(r3) -/* 040F2C 800464CC 90A32070 */ stw r5, 0x2070(r3) -/* 040F30 800464D0 41820038 */ beq lbl_80046508 -/* 040F34 800464D4 55241838 */ slwi r4, r9, 3 -/* 040F38 800464D8 80610084 */ lwz r3, 0x84(r1) -/* 040F3C 800464DC 38040040 */ addi r0, r4, 0x40 -/* 040F40 800464E0 7C1E0214 */ add r0, r30, r0 -/* 040F44 800464E4 7C9E0050 */ subf r4, r30, r0 -/* 040F48 800464E8 38840004 */ addi r4, r4, 4 -/* 040F4C 800464EC 38030001 */ addi r0, r3, 1 -/* 040F50 800464F0 5484043E */ clrlwi r4, r4, 0x10 -/* 040F54 800464F4 90010084 */ stw r0, 0x84(r1) -/* 040F58 800464F8 3C0490A3 */ addis r0, r4, 0x90a3 -/* 040F5C 800464FC 5463103A */ slwi r3, r3, 2 -/* 040F60 80046500 7C1F192E */ stwx r0, r31, r3 -/* 040F64 80046504 48021A30 */ b lbl_80067F34 -lbl_80046508: -/* 040F68 80046508 80610084 */ lwz r3, 0x84(r1) -/* 040F6C 8004650C 38030001 */ addi r0, r3, 1 -/* 040F70 80046510 90010084 */ stw r0, 0x84(r1) -/* 040F74 80046514 48021A20 */ b lbl_80067F34 -.global lbl_80046518 -lbl_80046518: -/* 040F78 80046518 3C7E0001 */ addis r3, r30, 1 -/* 040F7C 8004651C 57865EFE */ rlwinm r6, r28, 0xb, 0x1b, 0x1f -/* 040F80 80046520 80832058 */ lwz r4, 0x2058(r3) -/* 040F84 80046524 38000001 */ li r0, 1 -/* 040F88 80046528 7C053030 */ slw r5, r0, r6 -/* 040F8C 8004652C 7C852839 */ and. r5, r4, r5 -/* 040F90 80046530 40820014 */ bne lbl_80046544 -/* 040F94 80046534 578586FE */ rlwinm r5, r28, 0x10, 0x1b, 0x1f -/* 040F98 80046538 7C052830 */ slw r5, r0, r5 -/* 040F9C 8004653C 7C852839 */ and. r5, r4, r5 -/* 040FA0 80046540 41820024 */ beq lbl_80046564 -lbl_80046544: -/* 040FA4 80046544 3C7E0001 */ addis r3, r30, 1 -/* 040FA8 80046548 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 040FAC 8004654C 80832058 */ lwz r4, 0x2058(r3) -/* 040FB0 80046550 38000001 */ li r0, 1 -/* 040FB4 80046554 7C002830 */ slw r0, r0, r5 -/* 040FB8 80046558 7C800378 */ or r0, r4, r0 -/* 040FBC 8004655C 90032058 */ stw r0, 0x2058(r3) -/* 040FC0 80046560 48000014 */ b lbl_80046574 -lbl_80046564: -/* 040FC4 80046564 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 040FC8 80046568 7C002830 */ slw r0, r0, r5 -/* 040FCC 8004656C 7C800078 */ andc r0, r4, r0 -/* 040FD0 80046570 90032058 */ stw r0, 0x2058(r3) -lbl_80046574: -/* 040FD4 80046574 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 040FD8 80046578 7D3A0214 */ add r9, r26, r0 -/* 040FDC 8004657C 84E90818 */ lwzu r7, 0x818(r9) -/* 040FE0 80046580 578BAEFE */ rlwinm r11, r28, 0x15, 0x1b, 0x1f -/* 040FE4 80046584 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 040FE8 80046588 41820008 */ beq lbl_80046590 -/* 040FEC 8004658C 38E00005 */ li r7, 5 -lbl_80046590: -/* 040FF0 80046590 54C0103A */ slwi r0, r6, 2 -/* 040FF4 80046594 7C7A0214 */ add r3, r26, r0 -/* 040FF8 80046598 81430818 */ lwz r10, 0x818(r3) -/* 040FFC 8004659C 554005EF */ rlwinm. r0, r10, 0, 0x17, 0x17 -/* 041000 800465A0 4182014C */ beq lbl_800466EC -/* 041004 800465A4 3C7E0001 */ addis r3, r30, 1 -/* 041008 800465A8 80032064 */ lwz r0, 0x2064(r3) -/* 04100C 800465AC 39400006 */ li r10, 6 -/* 041010 800465B0 28000000 */ cmplwi r0, 0 -/* 041014 800465B4 4082000C */ bne lbl_800465C0 -/* 041018 800465B8 38000000 */ li r0, 0 -/* 04101C 800465BC 48000094 */ b lbl_80046650 -lbl_800465C0: -/* 041020 800465C0 80032068 */ lwz r0, 0x2068(r3) -/* 041024 800465C4 28000000 */ cmplwi r0, 0 -/* 041028 800465C8 4082000C */ bne lbl_800465D4 -/* 04102C 800465CC 38000000 */ li r0, 0 -/* 041030 800465D0 48000080 */ b lbl_80046650 -lbl_800465D4: -/* 041034 800465D4 8003206C */ lwz r0, 0x206c(r3) -/* 041038 800465D8 7C060000 */ cmpw r6, r0 -/* 04103C 800465DC 4182000C */ beq lbl_800465E8 -/* 041040 800465E0 38000000 */ li r0, 0 -/* 041044 800465E4 4800006C */ b lbl_80046650 -lbl_800465E8: -/* 041048 800465E8 80BE0034 */ lwz r5, 0x34(r30) -/* 04104C 800465EC 38800000 */ li r4, 0 -/* 041050 800465F0 80050008 */ lwz r0, 8(r5) -/* 041054 800465F4 2C000000 */ cmpwi r0, 0 -/* 041058 800465F8 7C0903A6 */ mtctr r0 -/* 04105C 800465FC 40810028 */ ble lbl_80046624 -lbl_80046600: -/* 041060 80046600 8065000C */ lwz r3, 0xc(r5) -/* 041064 80046604 38040004 */ addi r0, r4, 4 -/* 041068 80046608 7C03002E */ lwzx r0, r3, r0 -/* 04106C 8004660C 7C1D0000 */ cmpw r29, r0 -/* 041070 80046610 4082000C */ bne lbl_8004661C -/* 041074 80046614 38000000 */ li r0, 0 -/* 041078 80046618 48000010 */ b lbl_80046628 -lbl_8004661C: -/* 04107C 8004661C 38840008 */ addi r4, r4, 8 -/* 041080 80046620 4200FFE0 */ bdnz lbl_80046600 -lbl_80046624: -/* 041084 80046624 38000001 */ li r0, 1 -lbl_80046628: -/* 041088 80046628 2C000000 */ cmpwi r0, 0 -/* 04108C 8004662C 40820014 */ bne lbl_80046640 -/* 041090 80046630 38000000 */ li r0, 0 -/* 041094 80046634 3C7E0001 */ addis r3, r30, 1 -/* 041098 80046638 90032068 */ stw r0, 0x2068(r3) -/* 04109C 8004663C 48000014 */ b lbl_80046650 -lbl_80046640: -/* 0410A0 80046640 3C7E0001 */ addis r3, r30, 1 -/* 0410A4 80046644 38000000 */ li r0, 0 -/* 0410A8 80046648 90032068 */ stw r0, 0x2068(r3) -/* 0410AC 8004664C 38000001 */ li r0, 1 -lbl_80046650: -/* 0410B0 80046650 2C000000 */ cmpwi r0, 0 -/* 0410B4 80046654 41820050 */ beq lbl_800466A4 -/* 0410B8 80046658 281F0000 */ cmplwi r31, 0 -/* 0410BC 8004665C 41820038 */ beq lbl_80046694 -/* 0410C0 80046660 3C9E0001 */ addis r4, r30, 1 -/* 0410C4 80046664 80610084 */ lwz r3, 0x84(r1) -/* 0410C8 80046668 80842070 */ lwz r4, 0x2070(r4) -/* 0410CC 8004666C 38A30001 */ addi r5, r3, 1 -/* 0410D0 80046670 5480A814 */ slwi r0, r4, 0x15 -/* 0410D4 80046674 90A10084 */ stw r5, 0x84(r1) -/* 0410D8 80046678 64007C06 */ oris r0, r0, 0x7c06 -/* 0410DC 8004667C 54845828 */ slwi r4, r4, 0xb -/* 0410E0 80046680 60000378 */ ori r0, r0, 0x378 -/* 0410E4 80046684 7C800378 */ or r0, r4, r0 -/* 0410E8 80046688 5463103A */ slwi r3, r3, 2 -/* 0410EC 8004668C 7C1F192E */ stwx r0, r31, r3 -/* 0410F0 80046690 4800005C */ b lbl_800466EC -lbl_80046694: -/* 0410F4 80046694 80610084 */ lwz r3, 0x84(r1) -/* 0410F8 80046698 38030001 */ addi r0, r3, 1 -/* 0410FC 8004669C 90010084 */ stw r0, 0x84(r1) -/* 041100 800466A0 4800004C */ b lbl_800466EC -lbl_800466A4: -/* 041104 800466A4 281F0000 */ cmplwi r31, 0 -/* 041108 800466A8 41820038 */ beq lbl_800466E0 -/* 04110C 800466AC 54C41838 */ slwi r4, r6, 3 -/* 041110 800466B0 80610084 */ lwz r3, 0x84(r1) -/* 041114 800466B4 38040040 */ addi r0, r4, 0x40 -/* 041118 800466B8 7C1E0214 */ add r0, r30, r0 -/* 04111C 800466BC 7C9E0050 */ subf r4, r30, r0 -/* 041120 800466C0 38840004 */ addi r4, r4, 4 -/* 041124 800466C4 38030001 */ addi r0, r3, 1 -/* 041128 800466C8 5484043E */ clrlwi r4, r4, 0x10 -/* 04112C 800466CC 90010084 */ stw r0, 0x84(r1) -/* 041130 800466D0 3C0480C3 */ addis r0, r4, 0x80c3 -/* 041134 800466D4 5463103A */ slwi r3, r3, 2 -/* 041138 800466D8 7C1F192E */ stwx r0, r31, r3 -/* 04113C 800466DC 48000010 */ b lbl_800466EC -lbl_800466E0: -/* 041140 800466E0 80610084 */ lwz r3, 0x84(r1) -/* 041144 800466E4 38030001 */ addi r0, r3, 1 -/* 041148 800466E8 90010084 */ stw r0, 0x84(r1) -lbl_800466EC: -/* 04114C 800466EC 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 041150 800466F0 7C7A0214 */ add r3, r26, r0 -/* 041154 800466F4 80C30818 */ lwz r6, 0x818(r3) -/* 041158 800466F8 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 04115C 800466FC 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 041160 80046700 4182014C */ beq lbl_8004684C -/* 041164 80046704 3C7E0001 */ addis r3, r30, 1 -/* 041168 80046708 80032064 */ lwz r0, 0x2064(r3) -/* 04116C 8004670C 38C00007 */ li r6, 7 -/* 041170 80046710 28000000 */ cmplwi r0, 0 -/* 041174 80046714 4082000C */ bne lbl_80046720 -/* 041178 80046718 38000000 */ li r0, 0 -/* 04117C 8004671C 48000094 */ b lbl_800467B0 -lbl_80046720: -/* 041180 80046720 80032068 */ lwz r0, 0x2068(r3) -/* 041184 80046724 28000000 */ cmplwi r0, 0 -/* 041188 80046728 4082000C */ bne lbl_80046734 -/* 04118C 8004672C 38000000 */ li r0, 0 -/* 041190 80046730 48000080 */ b lbl_800467B0 -lbl_80046734: -/* 041194 80046734 8003206C */ lwz r0, 0x206c(r3) -/* 041198 80046738 7C080000 */ cmpw r8, r0 -/* 04119C 8004673C 4182000C */ beq lbl_80046748 -/* 0411A0 80046740 38000000 */ li r0, 0 -/* 0411A4 80046744 4800006C */ b lbl_800467B0 -lbl_80046748: -/* 0411A8 80046748 80BE0034 */ lwz r5, 0x34(r30) -/* 0411AC 8004674C 38800000 */ li r4, 0 -/* 0411B0 80046750 80050008 */ lwz r0, 8(r5) -/* 0411B4 80046754 2C000000 */ cmpwi r0, 0 -/* 0411B8 80046758 7C0903A6 */ mtctr r0 -/* 0411BC 8004675C 40810028 */ ble lbl_80046784 -lbl_80046760: -/* 0411C0 80046760 8065000C */ lwz r3, 0xc(r5) -/* 0411C4 80046764 38040004 */ addi r0, r4, 4 -/* 0411C8 80046768 7C03002E */ lwzx r0, r3, r0 -/* 0411CC 8004676C 7C1D0000 */ cmpw r29, r0 -/* 0411D0 80046770 4082000C */ bne lbl_8004677C -/* 0411D4 80046774 38000000 */ li r0, 0 -/* 0411D8 80046778 48000010 */ b lbl_80046788 -lbl_8004677C: -/* 0411DC 8004677C 38840008 */ addi r4, r4, 8 -/* 0411E0 80046780 4200FFE0 */ bdnz lbl_80046760 -lbl_80046784: -/* 0411E4 80046784 38000001 */ li r0, 1 -lbl_80046788: -/* 0411E8 80046788 2C000000 */ cmpwi r0, 0 -/* 0411EC 8004678C 40820014 */ bne lbl_800467A0 -/* 0411F0 80046790 38000000 */ li r0, 0 -/* 0411F4 80046794 3C7E0001 */ addis r3, r30, 1 -/* 0411F8 80046798 90032068 */ stw r0, 0x2068(r3) -/* 0411FC 8004679C 48000014 */ b lbl_800467B0 -lbl_800467A0: -/* 041200 800467A0 3C7E0001 */ addis r3, r30, 1 -/* 041204 800467A4 38000000 */ li r0, 0 -/* 041208 800467A8 90032068 */ stw r0, 0x2068(r3) -/* 04120C 800467AC 38000001 */ li r0, 1 -lbl_800467B0: -/* 041210 800467B0 2C000000 */ cmpwi r0, 0 -/* 041214 800467B4 41820050 */ beq lbl_80046804 -/* 041218 800467B8 281F0000 */ cmplwi r31, 0 -/* 04121C 800467BC 41820038 */ beq lbl_800467F4 -/* 041220 800467C0 3C9E0001 */ addis r4, r30, 1 -/* 041224 800467C4 80610084 */ lwz r3, 0x84(r1) -/* 041228 800467C8 80A42070 */ lwz r5, 0x2070(r4) -/* 04122C 800467CC 38030001 */ addi r0, r3, 1 -/* 041230 800467D0 54A4A814 */ slwi r4, r5, 0x15 -/* 041234 800467D4 90010084 */ stw r0, 0x84(r1) -/* 041238 800467D8 64807C07 */ oris r0, r4, 0x7c07 -/* 04123C 800467DC 54A45828 */ slwi r4, r5, 0xb -/* 041240 800467E0 60000378 */ ori r0, r0, 0x378 -/* 041244 800467E4 7C800378 */ or r0, r4, r0 -/* 041248 800467E8 5463103A */ slwi r3, r3, 2 -/* 04124C 800467EC 7C1F192E */ stwx r0, r31, r3 -/* 041250 800467F0 4800005C */ b lbl_8004684C -lbl_800467F4: -/* 041254 800467F4 80610084 */ lwz r3, 0x84(r1) -/* 041258 800467F8 38030001 */ addi r0, r3, 1 -/* 04125C 800467FC 90010084 */ stw r0, 0x84(r1) -/* 041260 80046800 4800004C */ b lbl_8004684C -lbl_80046804: -/* 041264 80046804 281F0000 */ cmplwi r31, 0 -/* 041268 80046808 41820038 */ beq lbl_80046840 -/* 04126C 8004680C 55041838 */ slwi r4, r8, 3 -/* 041270 80046810 80610084 */ lwz r3, 0x84(r1) -/* 041274 80046814 38040040 */ addi r0, r4, 0x40 -/* 041278 80046818 7C1E0214 */ add r0, r30, r0 -/* 04127C 8004681C 7C9E0050 */ subf r4, r30, r0 -/* 041280 80046820 38840004 */ addi r4, r4, 4 -/* 041284 80046824 38030001 */ addi r0, r3, 1 -/* 041288 80046828 5484043E */ clrlwi r4, r4, 0x10 -/* 04128C 8004682C 90010084 */ stw r0, 0x84(r1) -/* 041290 80046830 3C0480E3 */ addis r0, r4, 0x80e3 -/* 041294 80046834 5463103A */ slwi r3, r3, 2 -/* 041298 80046838 7C1F192E */ stwx r0, r31, r3 -/* 04129C 8004683C 48000010 */ b lbl_8004684C -lbl_80046840: -/* 0412A0 80046840 80610084 */ lwz r3, 0x84(r1) -/* 0412A4 80046844 38030001 */ addi r0, r3, 1 -/* 0412A8 80046848 90010084 */ stw r0, 0x84(r1) -lbl_8004684C: -/* 0412AC 8004684C 281F0000 */ cmplwi r31, 0 -/* 0412B0 80046850 41820038 */ beq lbl_80046888 -/* 0412B4 80046854 80610084 */ lwz r3, 0x84(r1) -/* 0412B8 80046858 5540A814 */ slwi r0, r10, 0x15 -/* 0412BC 8004685C 64007C00 */ oris r0, r0, 0x7c00 -/* 0412C0 80046860 38830001 */ addi r4, r3, 1 -/* 0412C4 80046864 60000278 */ ori r0, r0, 0x278 -/* 0412C8 80046868 90810084 */ stw r4, 0x84(r1) -/* 0412CC 8004686C 54E4801E */ slwi r4, r7, 0x10 -/* 0412D0 80046870 54C55828 */ slwi r5, r6, 0xb -/* 0412D4 80046874 7C002378 */ or r0, r0, r4 -/* 0412D8 80046878 7CA00378 */ or r0, r5, r0 -/* 0412DC 8004687C 5463103A */ slwi r3, r3, 2 -/* 0412E0 80046880 7C1F192E */ stwx r0, r31, r3 -/* 0412E4 80046884 48000010 */ b lbl_80046894 -lbl_80046888: -/* 0412E8 80046888 80610084 */ lwz r3, 0x84(r1) -/* 0412EC 8004688C 38030001 */ addi r0, r3, 1 -/* 0412F0 80046890 90010084 */ stw r0, 0x84(r1) -lbl_80046894: -/* 0412F4 80046894 80090000 */ lwz r0, 0(r9) -/* 0412F8 80046898 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 0412FC 8004689C 40820008 */ bne lbl_800468A4 -/* 041300 800468A0 48021694 */ b lbl_80067F34 -lbl_800468A4: -/* 041304 800468A4 3C7E0001 */ addis r3, r30, 1 -/* 041308 800468A8 38000002 */ li r0, 2 -/* 04130C 800468AC 90032068 */ stw r0, 0x2068(r3) -/* 041310 800468B0 281F0000 */ cmplwi r31, 0 -/* 041314 800468B4 9163206C */ stw r11, 0x206c(r3) -/* 041318 800468B8 90E32070 */ stw r7, 0x2070(r3) -/* 04131C 800468BC 41820038 */ beq lbl_800468F4 -/* 041320 800468C0 55641838 */ slwi r4, r11, 3 -/* 041324 800468C4 80610084 */ lwz r3, 0x84(r1) -/* 041328 800468C8 38040040 */ addi r0, r4, 0x40 -/* 04132C 800468CC 7C1E0214 */ add r0, r30, r0 -/* 041330 800468D0 7C9E0050 */ subf r4, r30, r0 -/* 041334 800468D4 38840004 */ addi r4, r4, 4 -/* 041338 800468D8 38030001 */ addi r0, r3, 1 -/* 04133C 800468DC 5484043E */ clrlwi r4, r4, 0x10 -/* 041340 800468E0 90010084 */ stw r0, 0x84(r1) -/* 041344 800468E4 3C0490A3 */ addis r0, r4, 0x90a3 -/* 041348 800468E8 5463103A */ slwi r3, r3, 2 -/* 04134C 800468EC 7C1F192E */ stwx r0, r31, r3 -/* 041350 800468F0 48021644 */ b lbl_80067F34 -lbl_800468F4: -/* 041354 800468F4 80610084 */ lwz r3, 0x84(r1) -/* 041358 800468F8 38030001 */ addi r0, r3, 1 -/* 04135C 800468FC 90010084 */ stw r0, 0x84(r1) -/* 041360 80046900 48021634 */ b lbl_80067F34 -.global lbl_80046904 -lbl_80046904: -/* 041364 80046904 3C7E0001 */ addis r3, r30, 1 -/* 041368 80046908 57865EFE */ rlwinm r6, r28, 0xb, 0x1b, 0x1f -/* 04136C 8004690C 80832058 */ lwz r4, 0x2058(r3) -/* 041370 80046910 38000001 */ li r0, 1 -/* 041374 80046914 7C053030 */ slw r5, r0, r6 -/* 041378 80046918 7C852839 */ and. r5, r4, r5 -/* 04137C 8004691C 40820014 */ bne lbl_80046930 -/* 041380 80046920 578586FE */ rlwinm r5, r28, 0x10, 0x1b, 0x1f -/* 041384 80046924 7C052830 */ slw r5, r0, r5 -/* 041388 80046928 7C852839 */ and. r5, r4, r5 -/* 04138C 8004692C 41820024 */ beq lbl_80046950 -lbl_80046930: -/* 041390 80046930 3C7E0001 */ addis r3, r30, 1 -/* 041394 80046934 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 041398 80046938 80832058 */ lwz r4, 0x2058(r3) -/* 04139C 8004693C 38000001 */ li r0, 1 -/* 0413A0 80046940 7C002830 */ slw r0, r0, r5 -/* 0413A4 80046944 7C800378 */ or r0, r4, r0 -/* 0413A8 80046948 90032058 */ stw r0, 0x2058(r3) -/* 0413AC 8004694C 48000014 */ b lbl_80046960 -lbl_80046950: -/* 0413B0 80046950 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 0413B4 80046954 7C002830 */ slw r0, r0, r5 -/* 0413B8 80046958 7C800078 */ andc r0, r4, r0 -/* 0413BC 8004695C 90032058 */ stw r0, 0x2058(r3) -lbl_80046960: -/* 0413C0 80046960 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 0413C4 80046964 7D3A0214 */ add r9, r26, r0 -/* 0413C8 80046968 84E90818 */ lwzu r7, 0x818(r9) -/* 0413CC 8004696C 578BAEFE */ rlwinm r11, r28, 0x15, 0x1b, 0x1f -/* 0413D0 80046970 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 0413D4 80046974 41820008 */ beq lbl_8004697C -/* 0413D8 80046978 38E00005 */ li r7, 5 -lbl_8004697C: -/* 0413DC 8004697C 54C0103A */ slwi r0, r6, 2 -/* 0413E0 80046980 7C7A0214 */ add r3, r26, r0 -/* 0413E4 80046984 81430818 */ lwz r10, 0x818(r3) -/* 0413E8 80046988 554005EF */ rlwinm. r0, r10, 0, 0x17, 0x17 -/* 0413EC 8004698C 4182014C */ beq lbl_80046AD8 -/* 0413F0 80046990 3C7E0001 */ addis r3, r30, 1 -/* 0413F4 80046994 80032064 */ lwz r0, 0x2064(r3) -/* 0413F8 80046998 39400006 */ li r10, 6 -/* 0413FC 8004699C 28000000 */ cmplwi r0, 0 -/* 041400 800469A0 4082000C */ bne lbl_800469AC -/* 041404 800469A4 38000000 */ li r0, 0 -/* 041408 800469A8 48000094 */ b lbl_80046A3C -lbl_800469AC: -/* 04140C 800469AC 80032068 */ lwz r0, 0x2068(r3) -/* 041410 800469B0 28000000 */ cmplwi r0, 0 -/* 041414 800469B4 4082000C */ bne lbl_800469C0 -/* 041418 800469B8 38000000 */ li r0, 0 -/* 04141C 800469BC 48000080 */ b lbl_80046A3C -lbl_800469C0: -/* 041420 800469C0 8003206C */ lwz r0, 0x206c(r3) -/* 041424 800469C4 7C060000 */ cmpw r6, r0 -/* 041428 800469C8 4182000C */ beq lbl_800469D4 -/* 04142C 800469CC 38000000 */ li r0, 0 -/* 041430 800469D0 4800006C */ b lbl_80046A3C -lbl_800469D4: -/* 041434 800469D4 80BE0034 */ lwz r5, 0x34(r30) -/* 041438 800469D8 38800000 */ li r4, 0 -/* 04143C 800469DC 80050008 */ lwz r0, 8(r5) -/* 041440 800469E0 2C000000 */ cmpwi r0, 0 -/* 041444 800469E4 7C0903A6 */ mtctr r0 -/* 041448 800469E8 40810028 */ ble lbl_80046A10 -lbl_800469EC: -/* 04144C 800469EC 8065000C */ lwz r3, 0xc(r5) -/* 041450 800469F0 38040004 */ addi r0, r4, 4 -/* 041454 800469F4 7C03002E */ lwzx r0, r3, r0 -/* 041458 800469F8 7C1D0000 */ cmpw r29, r0 -/* 04145C 800469FC 4082000C */ bne lbl_80046A08 -/* 041460 80046A00 38000000 */ li r0, 0 -/* 041464 80046A04 48000010 */ b lbl_80046A14 -lbl_80046A08: -/* 041468 80046A08 38840008 */ addi r4, r4, 8 -/* 04146C 80046A0C 4200FFE0 */ bdnz lbl_800469EC -lbl_80046A10: -/* 041470 80046A10 38000001 */ li r0, 1 -lbl_80046A14: -/* 041474 80046A14 2C000000 */ cmpwi r0, 0 -/* 041478 80046A18 40820014 */ bne lbl_80046A2C -/* 04147C 80046A1C 38000000 */ li r0, 0 -/* 041480 80046A20 3C7E0001 */ addis r3, r30, 1 -/* 041484 80046A24 90032068 */ stw r0, 0x2068(r3) -/* 041488 80046A28 48000014 */ b lbl_80046A3C -lbl_80046A2C: -/* 04148C 80046A2C 3C7E0001 */ addis r3, r30, 1 -/* 041490 80046A30 38000000 */ li r0, 0 -/* 041494 80046A34 90032068 */ stw r0, 0x2068(r3) -/* 041498 80046A38 38000001 */ li r0, 1 -lbl_80046A3C: -/* 04149C 80046A3C 2C000000 */ cmpwi r0, 0 -/* 0414A0 80046A40 41820050 */ beq lbl_80046A90 -/* 0414A4 80046A44 281F0000 */ cmplwi r31, 0 -/* 0414A8 80046A48 41820038 */ beq lbl_80046A80 -/* 0414AC 80046A4C 3C9E0001 */ addis r4, r30, 1 -/* 0414B0 80046A50 80610084 */ lwz r3, 0x84(r1) -/* 0414B4 80046A54 80842070 */ lwz r4, 0x2070(r4) -/* 0414B8 80046A58 38A30001 */ addi r5, r3, 1 -/* 0414BC 80046A5C 5480A814 */ slwi r0, r4, 0x15 -/* 0414C0 80046A60 90A10084 */ stw r5, 0x84(r1) -/* 0414C4 80046A64 64007C06 */ oris r0, r0, 0x7c06 -/* 0414C8 80046A68 54845828 */ slwi r4, r4, 0xb -/* 0414CC 80046A6C 60000378 */ ori r0, r0, 0x378 -/* 0414D0 80046A70 7C800378 */ or r0, r4, r0 -/* 0414D4 80046A74 5463103A */ slwi r3, r3, 2 -/* 0414D8 80046A78 7C1F192E */ stwx r0, r31, r3 -/* 0414DC 80046A7C 4800005C */ b lbl_80046AD8 -lbl_80046A80: -/* 0414E0 80046A80 80610084 */ lwz r3, 0x84(r1) -/* 0414E4 80046A84 38030001 */ addi r0, r3, 1 -/* 0414E8 80046A88 90010084 */ stw r0, 0x84(r1) -/* 0414EC 80046A8C 4800004C */ b lbl_80046AD8 -lbl_80046A90: -/* 0414F0 80046A90 281F0000 */ cmplwi r31, 0 -/* 0414F4 80046A94 41820038 */ beq lbl_80046ACC -/* 0414F8 80046A98 54C41838 */ slwi r4, r6, 3 -/* 0414FC 80046A9C 80610084 */ lwz r3, 0x84(r1) -/* 041500 80046AA0 38040040 */ addi r0, r4, 0x40 -/* 041504 80046AA4 7C1E0214 */ add r0, r30, r0 -/* 041508 80046AA8 7C9E0050 */ subf r4, r30, r0 -/* 04150C 80046AAC 38840004 */ addi r4, r4, 4 -/* 041510 80046AB0 38030001 */ addi r0, r3, 1 -/* 041514 80046AB4 5484043E */ clrlwi r4, r4, 0x10 -/* 041518 80046AB8 90010084 */ stw r0, 0x84(r1) -/* 04151C 80046ABC 3C0480C3 */ addis r0, r4, 0x80c3 -/* 041520 80046AC0 5463103A */ slwi r3, r3, 2 -/* 041524 80046AC4 7C1F192E */ stwx r0, r31, r3 -/* 041528 80046AC8 48000010 */ b lbl_80046AD8 -lbl_80046ACC: -/* 04152C 80046ACC 80610084 */ lwz r3, 0x84(r1) -/* 041530 80046AD0 38030001 */ addi r0, r3, 1 -/* 041534 80046AD4 90010084 */ stw r0, 0x84(r1) -lbl_80046AD8: -/* 041538 80046AD8 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 04153C 80046ADC 7C7A0214 */ add r3, r26, r0 -/* 041540 80046AE0 80C30818 */ lwz r6, 0x818(r3) -/* 041544 80046AE4 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 041548 80046AE8 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 04154C 80046AEC 4182014C */ beq lbl_80046C38 -/* 041550 80046AF0 3C7E0001 */ addis r3, r30, 1 -/* 041554 80046AF4 80032064 */ lwz r0, 0x2064(r3) -/* 041558 80046AF8 38C00007 */ li r6, 7 -/* 04155C 80046AFC 28000000 */ cmplwi r0, 0 -/* 041560 80046B00 4082000C */ bne lbl_80046B0C -/* 041564 80046B04 38000000 */ li r0, 0 -/* 041568 80046B08 48000094 */ b lbl_80046B9C -lbl_80046B0C: -/* 04156C 80046B0C 80032068 */ lwz r0, 0x2068(r3) -/* 041570 80046B10 28000000 */ cmplwi r0, 0 -/* 041574 80046B14 4082000C */ bne lbl_80046B20 -/* 041578 80046B18 38000000 */ li r0, 0 -/* 04157C 80046B1C 48000080 */ b lbl_80046B9C -lbl_80046B20: -/* 041580 80046B20 8003206C */ lwz r0, 0x206c(r3) -/* 041584 80046B24 7C080000 */ cmpw r8, r0 -/* 041588 80046B28 4182000C */ beq lbl_80046B34 -/* 04158C 80046B2C 38000000 */ li r0, 0 -/* 041590 80046B30 4800006C */ b lbl_80046B9C -lbl_80046B34: -/* 041594 80046B34 80BE0034 */ lwz r5, 0x34(r30) -/* 041598 80046B38 38800000 */ li r4, 0 -/* 04159C 80046B3C 80050008 */ lwz r0, 8(r5) -/* 0415A0 80046B40 2C000000 */ cmpwi r0, 0 -/* 0415A4 80046B44 7C0903A6 */ mtctr r0 -/* 0415A8 80046B48 40810028 */ ble lbl_80046B70 -lbl_80046B4C: -/* 0415AC 80046B4C 8065000C */ lwz r3, 0xc(r5) -/* 0415B0 80046B50 38040004 */ addi r0, r4, 4 -/* 0415B4 80046B54 7C03002E */ lwzx r0, r3, r0 -/* 0415B8 80046B58 7C1D0000 */ cmpw r29, r0 -/* 0415BC 80046B5C 4082000C */ bne lbl_80046B68 -/* 0415C0 80046B60 38000000 */ li r0, 0 -/* 0415C4 80046B64 48000010 */ b lbl_80046B74 -lbl_80046B68: -/* 0415C8 80046B68 38840008 */ addi r4, r4, 8 -/* 0415CC 80046B6C 4200FFE0 */ bdnz lbl_80046B4C -lbl_80046B70: -/* 0415D0 80046B70 38000001 */ li r0, 1 -lbl_80046B74: -/* 0415D4 80046B74 2C000000 */ cmpwi r0, 0 -/* 0415D8 80046B78 40820014 */ bne lbl_80046B8C -/* 0415DC 80046B7C 38000000 */ li r0, 0 -/* 0415E0 80046B80 3C7E0001 */ addis r3, r30, 1 -/* 0415E4 80046B84 90032068 */ stw r0, 0x2068(r3) -/* 0415E8 80046B88 48000014 */ b lbl_80046B9C -lbl_80046B8C: -/* 0415EC 80046B8C 3C7E0001 */ addis r3, r30, 1 -/* 0415F0 80046B90 38000000 */ li r0, 0 -/* 0415F4 80046B94 90032068 */ stw r0, 0x2068(r3) -/* 0415F8 80046B98 38000001 */ li r0, 1 -lbl_80046B9C: -/* 0415FC 80046B9C 2C000000 */ cmpwi r0, 0 -/* 041600 80046BA0 41820050 */ beq lbl_80046BF0 -/* 041604 80046BA4 281F0000 */ cmplwi r31, 0 -/* 041608 80046BA8 41820038 */ beq lbl_80046BE0 -/* 04160C 80046BAC 3C9E0001 */ addis r4, r30, 1 -/* 041610 80046BB0 80610084 */ lwz r3, 0x84(r1) -/* 041614 80046BB4 80A42070 */ lwz r5, 0x2070(r4) -/* 041618 80046BB8 38030001 */ addi r0, r3, 1 -/* 04161C 80046BBC 54A4A814 */ slwi r4, r5, 0x15 -/* 041620 80046BC0 90010084 */ stw r0, 0x84(r1) -/* 041624 80046BC4 64807C07 */ oris r0, r4, 0x7c07 -/* 041628 80046BC8 54A45828 */ slwi r4, r5, 0xb -/* 04162C 80046BCC 60000378 */ ori r0, r0, 0x378 -/* 041630 80046BD0 7C800378 */ or r0, r4, r0 -/* 041634 80046BD4 5463103A */ slwi r3, r3, 2 -/* 041638 80046BD8 7C1F192E */ stwx r0, r31, r3 -/* 04163C 80046BDC 4800005C */ b lbl_80046C38 -lbl_80046BE0: -/* 041640 80046BE0 80610084 */ lwz r3, 0x84(r1) -/* 041644 80046BE4 38030001 */ addi r0, r3, 1 -/* 041648 80046BE8 90010084 */ stw r0, 0x84(r1) -/* 04164C 80046BEC 4800004C */ b lbl_80046C38 -lbl_80046BF0: -/* 041650 80046BF0 281F0000 */ cmplwi r31, 0 -/* 041654 80046BF4 41820038 */ beq lbl_80046C2C -/* 041658 80046BF8 55041838 */ slwi r4, r8, 3 -/* 04165C 80046BFC 80610084 */ lwz r3, 0x84(r1) -/* 041660 80046C00 38040040 */ addi r0, r4, 0x40 -/* 041664 80046C04 7C1E0214 */ add r0, r30, r0 -/* 041668 80046C08 7C9E0050 */ subf r4, r30, r0 -/* 04166C 80046C0C 38840004 */ addi r4, r4, 4 -/* 041670 80046C10 38030001 */ addi r0, r3, 1 -/* 041674 80046C14 5484043E */ clrlwi r4, r4, 0x10 -/* 041678 80046C18 90010084 */ stw r0, 0x84(r1) -/* 04167C 80046C1C 3C0480E3 */ addis r0, r4, 0x80e3 -/* 041680 80046C20 5463103A */ slwi r3, r3, 2 -/* 041684 80046C24 7C1F192E */ stwx r0, r31, r3 -/* 041688 80046C28 48000010 */ b lbl_80046C38 -lbl_80046C2C: -/* 04168C 80046C2C 80610084 */ lwz r3, 0x84(r1) -/* 041690 80046C30 38030001 */ addi r0, r3, 1 -/* 041694 80046C34 90010084 */ stw r0, 0x84(r1) -lbl_80046C38: -/* 041698 80046C38 281F0000 */ cmplwi r31, 0 -/* 04169C 80046C3C 41820038 */ beq lbl_80046C74 -/* 0416A0 80046C40 80610084 */ lwz r3, 0x84(r1) -/* 0416A4 80046C44 5540A814 */ slwi r0, r10, 0x15 -/* 0416A8 80046C48 64007C00 */ oris r0, r0, 0x7c00 -/* 0416AC 80046C4C 38830001 */ addi r4, r3, 1 -/* 0416B0 80046C50 600000F8 */ ori r0, r0, 0xf8 -/* 0416B4 80046C54 90810084 */ stw r4, 0x84(r1) -/* 0416B8 80046C58 54E4801E */ slwi r4, r7, 0x10 -/* 0416BC 80046C5C 54C55828 */ slwi r5, r6, 0xb -/* 0416C0 80046C60 7C002378 */ or r0, r0, r4 -/* 0416C4 80046C64 7CA00378 */ or r0, r5, r0 -/* 0416C8 80046C68 5463103A */ slwi r3, r3, 2 -/* 0416CC 80046C6C 7C1F192E */ stwx r0, r31, r3 -/* 0416D0 80046C70 48000010 */ b lbl_80046C80 -lbl_80046C74: -/* 0416D4 80046C74 80610084 */ lwz r3, 0x84(r1) -/* 0416D8 80046C78 38030001 */ addi r0, r3, 1 -/* 0416DC 80046C7C 90010084 */ stw r0, 0x84(r1) -lbl_80046C80: -/* 0416E0 80046C80 80090000 */ lwz r0, 0(r9) -/* 0416E4 80046C84 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 0416E8 80046C88 40820008 */ bne lbl_80046C90 -/* 0416EC 80046C8C 480212A8 */ b lbl_80067F34 -lbl_80046C90: -/* 0416F0 80046C90 3C7E0001 */ addis r3, r30, 1 -/* 0416F4 80046C94 38000002 */ li r0, 2 -/* 0416F8 80046C98 90032068 */ stw r0, 0x2068(r3) -/* 0416FC 80046C9C 281F0000 */ cmplwi r31, 0 -/* 041700 80046CA0 9163206C */ stw r11, 0x206c(r3) -/* 041704 80046CA4 90E32070 */ stw r7, 0x2070(r3) -/* 041708 80046CA8 41820038 */ beq lbl_80046CE0 -/* 04170C 80046CAC 55641838 */ slwi r4, r11, 3 -/* 041710 80046CB0 80610084 */ lwz r3, 0x84(r1) -/* 041714 80046CB4 38040040 */ addi r0, r4, 0x40 -/* 041718 80046CB8 7C1E0214 */ add r0, r30, r0 -/* 04171C 80046CBC 7C9E0050 */ subf r4, r30, r0 -/* 041720 80046CC0 38840004 */ addi r4, r4, 4 -/* 041724 80046CC4 38030001 */ addi r0, r3, 1 -/* 041728 80046CC8 5484043E */ clrlwi r4, r4, 0x10 -/* 04172C 80046CCC 90010084 */ stw r0, 0x84(r1) -/* 041730 80046CD0 3C0490A3 */ addis r0, r4, 0x90a3 -/* 041734 80046CD4 5463103A */ slwi r3, r3, 2 -/* 041738 80046CD8 7C1F192E */ stwx r0, r31, r3 -/* 04173C 80046CDC 48021258 */ b lbl_80067F34 -lbl_80046CE0: -/* 041740 80046CE0 80610084 */ lwz r3, 0x84(r1) -/* 041744 80046CE4 38030001 */ addi r0, r3, 1 -/* 041748 80046CE8 90010084 */ stw r0, 0x84(r1) -/* 04174C 80046CEC 48021248 */ b lbl_80067F34 -.global lbl_80046CF0 -lbl_80046CF0: -/* 041750 80046CF0 3C7E0001 */ addis r3, r30, 1 -/* 041754 80046CF4 578AAEFE */ rlwinm r10, r28, 0x15, 0x1b, 0x1f -/* 041758 80046CF8 80032058 */ lwz r0, 0x2058(r3) -/* 04175C 80046CFC 38800001 */ li r4, 1 -/* 041760 80046D00 7C845030 */ slw r4, r4, r10 -/* 041764 80046D04 7C042078 */ andc r4, r0, r4 -/* 041768 80046D08 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 04176C 80046D0C 90832058 */ stw r4, 0x2058(r3) -/* 041770 80046D10 7D3A0214 */ add r9, r26, r0 -/* 041774 80046D14 84C90818 */ lwzu r6, 0x818(r9) -/* 041778 80046D18 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 04177C 80046D1C 41820008 */ beq lbl_80046D24 -/* 041780 80046D20 38C00005 */ li r6, 5 -lbl_80046D24: -/* 041784 80046D24 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 041788 80046D28 7C7A0214 */ add r3, r26, r0 -/* 04178C 80046D2C 81630818 */ lwz r11, 0x818(r3) -/* 041790 80046D30 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 041794 80046D34 556005EF */ rlwinm. r0, r11, 0, 0x17, 0x17 -/* 041798 80046D38 4182014C */ beq lbl_80046E84 -/* 04179C 80046D3C 3C7E0001 */ addis r3, r30, 1 -/* 0417A0 80046D40 80032064 */ lwz r0, 0x2064(r3) -/* 0417A4 80046D44 39600006 */ li r11, 6 -/* 0417A8 80046D48 28000000 */ cmplwi r0, 0 -/* 0417AC 80046D4C 4082000C */ bne lbl_80046D58 -/* 0417B0 80046D50 38000000 */ li r0, 0 -/* 0417B4 80046D54 48000094 */ b lbl_80046DE8 -lbl_80046D58: -/* 0417B8 80046D58 80032068 */ lwz r0, 0x2068(r3) -/* 0417BC 80046D5C 28000000 */ cmplwi r0, 0 -/* 0417C0 80046D60 4082000C */ bne lbl_80046D6C -/* 0417C4 80046D64 38000000 */ li r0, 0 -/* 0417C8 80046D68 48000080 */ b lbl_80046DE8 -lbl_80046D6C: -/* 0417CC 80046D6C 8003206C */ lwz r0, 0x206c(r3) -/* 0417D0 80046D70 7C070000 */ cmpw r7, r0 -/* 0417D4 80046D74 4182000C */ beq lbl_80046D80 -/* 0417D8 80046D78 38000000 */ li r0, 0 -/* 0417DC 80046D7C 4800006C */ b lbl_80046DE8 -lbl_80046D80: -/* 0417E0 80046D80 80BE0034 */ lwz r5, 0x34(r30) -/* 0417E4 80046D84 38800000 */ li r4, 0 -/* 0417E8 80046D88 80050008 */ lwz r0, 8(r5) -/* 0417EC 80046D8C 2C000000 */ cmpwi r0, 0 -/* 0417F0 80046D90 7C0903A6 */ mtctr r0 -/* 0417F4 80046D94 40810028 */ ble lbl_80046DBC -lbl_80046D98: -/* 0417F8 80046D98 8065000C */ lwz r3, 0xc(r5) -/* 0417FC 80046D9C 38040004 */ addi r0, r4, 4 -/* 041800 80046DA0 7C03002E */ lwzx r0, r3, r0 -/* 041804 80046DA4 7C1D0000 */ cmpw r29, r0 -/* 041808 80046DA8 4082000C */ bne lbl_80046DB4 -/* 04180C 80046DAC 38000000 */ li r0, 0 -/* 041810 80046DB0 48000010 */ b lbl_80046DC0 -lbl_80046DB4: -/* 041814 80046DB4 38840008 */ addi r4, r4, 8 -/* 041818 80046DB8 4200FFE0 */ bdnz lbl_80046D98 -lbl_80046DBC: -/* 04181C 80046DBC 38000001 */ li r0, 1 -lbl_80046DC0: -/* 041820 80046DC0 2C000000 */ cmpwi r0, 0 -/* 041824 80046DC4 40820014 */ bne lbl_80046DD8 -/* 041828 80046DC8 38000000 */ li r0, 0 -/* 04182C 80046DCC 3C7E0001 */ addis r3, r30, 1 -/* 041830 80046DD0 90032068 */ stw r0, 0x2068(r3) -/* 041834 80046DD4 48000014 */ b lbl_80046DE8 -lbl_80046DD8: -/* 041838 80046DD8 3C7E0001 */ addis r3, r30, 1 -/* 04183C 80046DDC 38000000 */ li r0, 0 -/* 041840 80046DE0 90032068 */ stw r0, 0x2068(r3) -/* 041844 80046DE4 38000001 */ li r0, 1 -lbl_80046DE8: -/* 041848 80046DE8 2C000000 */ cmpwi r0, 0 -/* 04184C 80046DEC 41820050 */ beq lbl_80046E3C -/* 041850 80046DF0 281F0000 */ cmplwi r31, 0 -/* 041854 80046DF4 41820038 */ beq lbl_80046E2C -/* 041858 80046DF8 3C9E0001 */ addis r4, r30, 1 -/* 04185C 80046DFC 80610084 */ lwz r3, 0x84(r1) -/* 041860 80046E00 80842070 */ lwz r4, 0x2070(r4) -/* 041864 80046E04 38A30001 */ addi r5, r3, 1 -/* 041868 80046E08 5480A814 */ slwi r0, r4, 0x15 -/* 04186C 80046E0C 90A10084 */ stw r5, 0x84(r1) -/* 041870 80046E10 64007C06 */ oris r0, r0, 0x7c06 -/* 041874 80046E14 54845828 */ slwi r4, r4, 0xb -/* 041878 80046E18 60000378 */ ori r0, r0, 0x378 -/* 04187C 80046E1C 7C800378 */ or r0, r4, r0 -/* 041880 80046E20 5463103A */ slwi r3, r3, 2 -/* 041884 80046E24 7C1F192E */ stwx r0, r31, r3 -/* 041888 80046E28 4800005C */ b lbl_80046E84 -lbl_80046E2C: -/* 04188C 80046E2C 80610084 */ lwz r3, 0x84(r1) -/* 041890 80046E30 38030001 */ addi r0, r3, 1 -/* 041894 80046E34 90010084 */ stw r0, 0x84(r1) -/* 041898 80046E38 4800004C */ b lbl_80046E84 -lbl_80046E3C: -/* 04189C 80046E3C 281F0000 */ cmplwi r31, 0 -/* 0418A0 80046E40 41820038 */ beq lbl_80046E78 -/* 0418A4 80046E44 54E41838 */ slwi r4, r7, 3 -/* 0418A8 80046E48 80610084 */ lwz r3, 0x84(r1) -/* 0418AC 80046E4C 38040040 */ addi r0, r4, 0x40 -/* 0418B0 80046E50 7C1E0214 */ add r0, r30, r0 -/* 0418B4 80046E54 7C9E0050 */ subf r4, r30, r0 -/* 0418B8 80046E58 38840004 */ addi r4, r4, 4 -/* 0418BC 80046E5C 38030001 */ addi r0, r3, 1 -/* 0418C0 80046E60 5484043E */ clrlwi r4, r4, 0x10 -/* 0418C4 80046E64 90010084 */ stw r0, 0x84(r1) -/* 0418C8 80046E68 3C0480C3 */ addis r0, r4, 0x80c3 -/* 0418CC 80046E6C 5463103A */ slwi r3, r3, 2 -/* 0418D0 80046E70 7C1F192E */ stwx r0, r31, r3 -/* 0418D4 80046E74 48000010 */ b lbl_80046E84 -lbl_80046E78: -/* 0418D8 80046E78 80610084 */ lwz r3, 0x84(r1) -/* 0418DC 80046E7C 38030001 */ addi r0, r3, 1 -/* 0418E0 80046E80 90010084 */ stw r0, 0x84(r1) -lbl_80046E84: -/* 0418E4 80046E84 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 0418E8 80046E88 7C7A0214 */ add r3, r26, r0 -/* 0418EC 80046E8C 80E30818 */ lwz r7, 0x818(r3) -/* 0418F0 80046E90 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 0418F4 80046E94 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 0418F8 80046E98 4182014C */ beq lbl_80046FE4 -/* 0418FC 80046E9C 3C7E0001 */ addis r3, r30, 1 -/* 041900 80046EA0 80032064 */ lwz r0, 0x2064(r3) -/* 041904 80046EA4 38E00007 */ li r7, 7 -/* 041908 80046EA8 28000000 */ cmplwi r0, 0 -/* 04190C 80046EAC 4082000C */ bne lbl_80046EB8 -/* 041910 80046EB0 38000000 */ li r0, 0 -/* 041914 80046EB4 48000094 */ b lbl_80046F48 -lbl_80046EB8: -/* 041918 80046EB8 80032068 */ lwz r0, 0x2068(r3) -/* 04191C 80046EBC 28000000 */ cmplwi r0, 0 -/* 041920 80046EC0 4082000C */ bne lbl_80046ECC -/* 041924 80046EC4 38000000 */ li r0, 0 -/* 041928 80046EC8 48000080 */ b lbl_80046F48 -lbl_80046ECC: -/* 04192C 80046ECC 8003206C */ lwz r0, 0x206c(r3) -/* 041930 80046ED0 7C080000 */ cmpw r8, r0 -/* 041934 80046ED4 4182000C */ beq lbl_80046EE0 -/* 041938 80046ED8 38000000 */ li r0, 0 -/* 04193C 80046EDC 4800006C */ b lbl_80046F48 -lbl_80046EE0: -/* 041940 80046EE0 80BE0034 */ lwz r5, 0x34(r30) -/* 041944 80046EE4 38800000 */ li r4, 0 -/* 041948 80046EE8 80050008 */ lwz r0, 8(r5) -/* 04194C 80046EEC 2C000000 */ cmpwi r0, 0 -/* 041950 80046EF0 7C0903A6 */ mtctr r0 -/* 041954 80046EF4 40810028 */ ble lbl_80046F1C -lbl_80046EF8: -/* 041958 80046EF8 8065000C */ lwz r3, 0xc(r5) -/* 04195C 80046EFC 38040004 */ addi r0, r4, 4 -/* 041960 80046F00 7C03002E */ lwzx r0, r3, r0 -/* 041964 80046F04 7C1D0000 */ cmpw r29, r0 -/* 041968 80046F08 4082000C */ bne lbl_80046F14 -/* 04196C 80046F0C 38000000 */ li r0, 0 -/* 041970 80046F10 48000010 */ b lbl_80046F20 -lbl_80046F14: -/* 041974 80046F14 38840008 */ addi r4, r4, 8 -/* 041978 80046F18 4200FFE0 */ bdnz lbl_80046EF8 -lbl_80046F1C: -/* 04197C 80046F1C 38000001 */ li r0, 1 -lbl_80046F20: -/* 041980 80046F20 2C000000 */ cmpwi r0, 0 -/* 041984 80046F24 40820014 */ bne lbl_80046F38 -/* 041988 80046F28 38000000 */ li r0, 0 -/* 04198C 80046F2C 3C7E0001 */ addis r3, r30, 1 -/* 041990 80046F30 90032068 */ stw r0, 0x2068(r3) -/* 041994 80046F34 48000014 */ b lbl_80046F48 -lbl_80046F38: -/* 041998 80046F38 3C7E0001 */ addis r3, r30, 1 -/* 04199C 80046F3C 38000000 */ li r0, 0 -/* 0419A0 80046F40 90032068 */ stw r0, 0x2068(r3) -/* 0419A4 80046F44 38000001 */ li r0, 1 -lbl_80046F48: -/* 0419A8 80046F48 2C000000 */ cmpwi r0, 0 -/* 0419AC 80046F4C 41820050 */ beq lbl_80046F9C -/* 0419B0 80046F50 281F0000 */ cmplwi r31, 0 -/* 0419B4 80046F54 41820038 */ beq lbl_80046F8C -/* 0419B8 80046F58 3C9E0001 */ addis r4, r30, 1 -/* 0419BC 80046F5C 80610084 */ lwz r3, 0x84(r1) -/* 0419C0 80046F60 80A42070 */ lwz r5, 0x2070(r4) -/* 0419C4 80046F64 38030001 */ addi r0, r3, 1 -/* 0419C8 80046F68 54A4A814 */ slwi r4, r5, 0x15 -/* 0419CC 80046F6C 90010084 */ stw r0, 0x84(r1) -/* 0419D0 80046F70 64807C07 */ oris r0, r4, 0x7c07 -/* 0419D4 80046F74 54A45828 */ slwi r4, r5, 0xb -/* 0419D8 80046F78 60000378 */ ori r0, r0, 0x378 -/* 0419DC 80046F7C 7C800378 */ or r0, r4, r0 -/* 0419E0 80046F80 5463103A */ slwi r3, r3, 2 -/* 0419E4 80046F84 7C1F192E */ stwx r0, r31, r3 -/* 0419E8 80046F88 4800005C */ b lbl_80046FE4 -lbl_80046F8C: -/* 0419EC 80046F8C 80610084 */ lwz r3, 0x84(r1) -/* 0419F0 80046F90 38030001 */ addi r0, r3, 1 -/* 0419F4 80046F94 90010084 */ stw r0, 0x84(r1) -/* 0419F8 80046F98 4800004C */ b lbl_80046FE4 -lbl_80046F9C: -/* 0419FC 80046F9C 281F0000 */ cmplwi r31, 0 -/* 041A00 80046FA0 41820038 */ beq lbl_80046FD8 -/* 041A04 80046FA4 55041838 */ slwi r4, r8, 3 -/* 041A08 80046FA8 80610084 */ lwz r3, 0x84(r1) -/* 041A0C 80046FAC 38040040 */ addi r0, r4, 0x40 -/* 041A10 80046FB0 7C1E0214 */ add r0, r30, r0 -/* 041A14 80046FB4 7C9E0050 */ subf r4, r30, r0 -/* 041A18 80046FB8 38840004 */ addi r4, r4, 4 -/* 041A1C 80046FBC 38030001 */ addi r0, r3, 1 -/* 041A20 80046FC0 5484043E */ clrlwi r4, r4, 0x10 -/* 041A24 80046FC4 90010084 */ stw r0, 0x84(r1) -/* 041A28 80046FC8 3C0480E3 */ addis r0, r4, 0x80e3 -/* 041A2C 80046FCC 5463103A */ slwi r3, r3, 2 -/* 041A30 80046FD0 7C1F192E */ stwx r0, r31, r3 -/* 041A34 80046FD4 48000010 */ b lbl_80046FE4 -lbl_80046FD8: -/* 041A38 80046FD8 80610084 */ lwz r3, 0x84(r1) -/* 041A3C 80046FDC 38030001 */ addi r0, r3, 1 -/* 041A40 80046FE0 90010084 */ stw r0, 0x84(r1) -lbl_80046FE4: -/* 041A44 80046FE4 281F0000 */ cmplwi r31, 0 -/* 041A48 80046FE8 4182002C */ beq lbl_80047014 -/* 041A4C 80046FEC 80610084 */ lwz r3, 0x84(r1) -/* 041A50 80046FF0 5560801E */ slwi r0, r11, 0x10 -/* 041A54 80046FF4 64007C00 */ oris r0, r0, 0x7c00 -/* 041A58 80046FF8 38830001 */ addi r4, r3, 1 -/* 041A5C 80046FFC 54E55828 */ slwi r5, r7, 0xb -/* 041A60 80047000 90810084 */ stw r4, 0x84(r1) -/* 041A64 80047004 7C002B78 */ or r0, r0, r5 -/* 041A68 80047008 5463103A */ slwi r3, r3, 2 -/* 041A6C 8004700C 7C1F192E */ stwx r0, r31, r3 -/* 041A70 80047010 48000010 */ b lbl_80047020 -lbl_80047014: -/* 041A74 80047014 80610084 */ lwz r3, 0x84(r1) -/* 041A78 80047018 38030001 */ addi r0, r3, 1 -/* 041A7C 8004701C 90010084 */ stw r0, 0x84(r1) -lbl_80047020: -/* 041A80 80047020 281F0000 */ cmplwi r31, 0 -/* 041A84 80047024 41820024 */ beq lbl_80047048 -/* 041A88 80047028 80610084 */ lwz r3, 0x84(r1) -/* 041A8C 8004702C 3C804180 */ lis r4, 0x4180 -/* 041A90 80047030 3884000C */ addi r4, r4, 0xc -/* 041A94 80047034 38030001 */ addi r0, r3, 1 -/* 041A98 80047038 90010084 */ stw r0, 0x84(r1) -/* 041A9C 8004703C 5460103A */ slwi r0, r3, 2 -/* 041AA0 80047040 7C9F012E */ stwx r4, r31, r0 -/* 041AA4 80047044 48000010 */ b lbl_80047054 -lbl_80047048: -/* 041AA8 80047048 80610084 */ lwz r3, 0x84(r1) -/* 041AAC 8004704C 38030001 */ addi r0, r3, 1 -/* 041AB0 80047050 90010084 */ stw r0, 0x84(r1) -lbl_80047054: -/* 041AB4 80047054 281F0000 */ cmplwi r31, 0 -/* 041AB8 80047058 41820024 */ beq lbl_8004707C -/* 041ABC 8004705C 80610084 */ lwz r3, 0x84(r1) -/* 041AC0 80047060 54C0A814 */ slwi r0, r6, 0x15 -/* 041AC4 80047064 64043800 */ oris r4, r0, 0x3800 -/* 041AC8 80047068 38030001 */ addi r0, r3, 1 -/* 041ACC 8004706C 90010084 */ stw r0, 0x84(r1) -/* 041AD0 80047070 5460103A */ slwi r0, r3, 2 -/* 041AD4 80047074 7C9F012E */ stwx r4, r31, r0 -/* 041AD8 80047078 48000010 */ b lbl_80047088 -lbl_8004707C: -/* 041ADC 8004707C 80610084 */ lwz r3, 0x84(r1) -/* 041AE0 80047080 38030001 */ addi r0, r3, 1 -/* 041AE4 80047084 90010084 */ stw r0, 0x84(r1) -lbl_80047088: -/* 041AE8 80047088 281F0000 */ cmplwi r31, 0 -/* 041AEC 8004708C 41820024 */ beq lbl_800470B0 -/* 041AF0 80047090 80610084 */ lwz r3, 0x84(r1) -/* 041AF4 80047094 3C804280 */ lis r4, 0x4280 -/* 041AF8 80047098 38840008 */ addi r4, r4, 8 -/* 041AFC 8004709C 38030001 */ addi r0, r3, 1 -/* 041B00 800470A0 90010084 */ stw r0, 0x84(r1) -/* 041B04 800470A4 5460103A */ slwi r0, r3, 2 -/* 041B08 800470A8 7C9F012E */ stwx r4, r31, r0 -/* 041B0C 800470AC 48000010 */ b lbl_800470BC -lbl_800470B0: -/* 041B10 800470B0 80610084 */ lwz r3, 0x84(r1) -/* 041B14 800470B4 38030001 */ addi r0, r3, 1 -/* 041B18 800470B8 90010084 */ stw r0, 0x84(r1) -lbl_800470BC: -/* 041B1C 800470BC 281F0000 */ cmplwi r31, 0 -/* 041B20 800470C0 41820028 */ beq lbl_800470E8 -/* 041B24 800470C4 80610084 */ lwz r3, 0x84(r1) -/* 041B28 800470C8 54C0A814 */ slwi r0, r6, 0x15 -/* 041B2C 800470CC 64043800 */ oris r4, r0, 0x3800 -/* 041B30 800470D0 38030001 */ addi r0, r3, 1 -/* 041B34 800470D4 90010084 */ stw r0, 0x84(r1) -/* 041B38 800470D8 60840001 */ ori r4, r4, 1 -/* 041B3C 800470DC 5460103A */ slwi r0, r3, 2 -/* 041B40 800470E0 7C9F012E */ stwx r4, r31, r0 -/* 041B44 800470E4 48000010 */ b lbl_800470F4 -lbl_800470E8: -/* 041B48 800470E8 80610084 */ lwz r3, 0x84(r1) -/* 041B4C 800470EC 38030001 */ addi r0, r3, 1 -/* 041B50 800470F0 90010084 */ stw r0, 0x84(r1) -lbl_800470F4: -/* 041B54 800470F4 80090000 */ lwz r0, 0(r9) -/* 041B58 800470F8 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 041B5C 800470FC 40820008 */ bne lbl_80047104 -/* 041B60 80047100 48020E34 */ b lbl_80067F34 -lbl_80047104: -/* 041B64 80047104 3C7E0001 */ addis r3, r30, 1 -/* 041B68 80047108 38000002 */ li r0, 2 -/* 041B6C 8004710C 90032068 */ stw r0, 0x2068(r3) -/* 041B70 80047110 281F0000 */ cmplwi r31, 0 -/* 041B74 80047114 9143206C */ stw r10, 0x206c(r3) -/* 041B78 80047118 90C32070 */ stw r6, 0x2070(r3) -/* 041B7C 8004711C 41820038 */ beq lbl_80047154 -/* 041B80 80047120 55441838 */ slwi r4, r10, 3 -/* 041B84 80047124 80610084 */ lwz r3, 0x84(r1) -/* 041B88 80047128 38040040 */ addi r0, r4, 0x40 -/* 041B8C 8004712C 7C1E0214 */ add r0, r30, r0 -/* 041B90 80047130 7C9E0050 */ subf r4, r30, r0 -/* 041B94 80047134 38840004 */ addi r4, r4, 4 -/* 041B98 80047138 38030001 */ addi r0, r3, 1 -/* 041B9C 8004713C 5484043E */ clrlwi r4, r4, 0x10 -/* 041BA0 80047140 90010084 */ stw r0, 0x84(r1) -/* 041BA4 80047144 3C0490A3 */ addis r0, r4, 0x90a3 -/* 041BA8 80047148 5463103A */ slwi r3, r3, 2 -/* 041BAC 8004714C 7C1F192E */ stwx r0, r31, r3 -/* 041BB0 80047150 48020DE4 */ b lbl_80067F34 -lbl_80047154: -/* 041BB4 80047154 80610084 */ lwz r3, 0x84(r1) -/* 041BB8 80047158 38030001 */ addi r0, r3, 1 -/* 041BBC 8004715C 90010084 */ stw r0, 0x84(r1) -/* 041BC0 80047160 48020DD4 */ b lbl_80067F34 -.global lbl_80047164 -lbl_80047164: -/* 041BC4 80047164 3C7E0001 */ addis r3, r30, 1 -/* 041BC8 80047168 578AAEFE */ rlwinm r10, r28, 0x15, 0x1b, 0x1f -/* 041BCC 8004716C 80032058 */ lwz r0, 0x2058(r3) -/* 041BD0 80047170 38800001 */ li r4, 1 -/* 041BD4 80047174 7C845030 */ slw r4, r4, r10 -/* 041BD8 80047178 7C042078 */ andc r4, r0, r4 -/* 041BDC 8004717C 5780BE7A */ rlwinm r0, r28, 0x17, 0x19, 0x1d -/* 041BE0 80047180 90832058 */ stw r4, 0x2058(r3) -/* 041BE4 80047184 7D3A0214 */ add r9, r26, r0 -/* 041BE8 80047188 84C90818 */ lwzu r6, 0x818(r9) -/* 041BEC 8004718C 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 041BF0 80047190 41820008 */ beq lbl_80047198 -/* 041BF4 80047194 38C00005 */ li r6, 5 -lbl_80047198: -/* 041BF8 80047198 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 041BFC 8004719C 7C7A0214 */ add r3, r26, r0 -/* 041C00 800471A0 81630818 */ lwz r11, 0x818(r3) -/* 041C04 800471A4 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 041C08 800471A8 556005EF */ rlwinm. r0, r11, 0, 0x17, 0x17 -/* 041C0C 800471AC 4182014C */ beq lbl_800472F8 -/* 041C10 800471B0 3C7E0001 */ addis r3, r30, 1 -/* 041C14 800471B4 80032064 */ lwz r0, 0x2064(r3) -/* 041C18 800471B8 39600006 */ li r11, 6 -/* 041C1C 800471BC 28000000 */ cmplwi r0, 0 -/* 041C20 800471C0 4082000C */ bne lbl_800471CC -/* 041C24 800471C4 38000000 */ li r0, 0 -/* 041C28 800471C8 48000094 */ b lbl_8004725C -lbl_800471CC: -/* 041C2C 800471CC 80032068 */ lwz r0, 0x2068(r3) -/* 041C30 800471D0 28000000 */ cmplwi r0, 0 -/* 041C34 800471D4 4082000C */ bne lbl_800471E0 -/* 041C38 800471D8 38000000 */ li r0, 0 -/* 041C3C 800471DC 48000080 */ b lbl_8004725C -lbl_800471E0: -/* 041C40 800471E0 8003206C */ lwz r0, 0x206c(r3) -/* 041C44 800471E4 7C070000 */ cmpw r7, r0 -/* 041C48 800471E8 4182000C */ beq lbl_800471F4 -/* 041C4C 800471EC 38000000 */ li r0, 0 -/* 041C50 800471F0 4800006C */ b lbl_8004725C -lbl_800471F4: -/* 041C54 800471F4 80BE0034 */ lwz r5, 0x34(r30) -/* 041C58 800471F8 38800000 */ li r4, 0 -/* 041C5C 800471FC 80050008 */ lwz r0, 8(r5) -/* 041C60 80047200 2C000000 */ cmpwi r0, 0 -/* 041C64 80047204 7C0903A6 */ mtctr r0 -/* 041C68 80047208 40810028 */ ble lbl_80047230 -lbl_8004720C: -/* 041C6C 8004720C 8065000C */ lwz r3, 0xc(r5) -/* 041C70 80047210 38040004 */ addi r0, r4, 4 -/* 041C74 80047214 7C03002E */ lwzx r0, r3, r0 -/* 041C78 80047218 7C1D0000 */ cmpw r29, r0 -/* 041C7C 8004721C 4082000C */ bne lbl_80047228 -/* 041C80 80047220 38000000 */ li r0, 0 -/* 041C84 80047224 48000010 */ b lbl_80047234 -lbl_80047228: -/* 041C88 80047228 38840008 */ addi r4, r4, 8 -/* 041C8C 8004722C 4200FFE0 */ bdnz lbl_8004720C -lbl_80047230: -/* 041C90 80047230 38000001 */ li r0, 1 -lbl_80047234: -/* 041C94 80047234 2C000000 */ cmpwi r0, 0 -/* 041C98 80047238 40820014 */ bne lbl_8004724C -/* 041C9C 8004723C 38000000 */ li r0, 0 -/* 041CA0 80047240 3C7E0001 */ addis r3, r30, 1 -/* 041CA4 80047244 90032068 */ stw r0, 0x2068(r3) -/* 041CA8 80047248 48000014 */ b lbl_8004725C -lbl_8004724C: -/* 041CAC 8004724C 3C7E0001 */ addis r3, r30, 1 -/* 041CB0 80047250 38000000 */ li r0, 0 -/* 041CB4 80047254 90032068 */ stw r0, 0x2068(r3) -/* 041CB8 80047258 38000001 */ li r0, 1 -lbl_8004725C: -/* 041CBC 8004725C 2C000000 */ cmpwi r0, 0 -/* 041CC0 80047260 41820050 */ beq lbl_800472B0 -/* 041CC4 80047264 281F0000 */ cmplwi r31, 0 -/* 041CC8 80047268 41820038 */ beq lbl_800472A0 -/* 041CCC 8004726C 3C9E0001 */ addis r4, r30, 1 -/* 041CD0 80047270 80610084 */ lwz r3, 0x84(r1) -/* 041CD4 80047274 80842070 */ lwz r4, 0x2070(r4) -/* 041CD8 80047278 38A30001 */ addi r5, r3, 1 -/* 041CDC 8004727C 5480A814 */ slwi r0, r4, 0x15 -/* 041CE0 80047280 90A10084 */ stw r5, 0x84(r1) -/* 041CE4 80047284 64007C06 */ oris r0, r0, 0x7c06 -/* 041CE8 80047288 54845828 */ slwi r4, r4, 0xb -/* 041CEC 8004728C 60000378 */ ori r0, r0, 0x378 -/* 041CF0 80047290 7C800378 */ or r0, r4, r0 -/* 041CF4 80047294 5463103A */ slwi r3, r3, 2 -/* 041CF8 80047298 7C1F192E */ stwx r0, r31, r3 -/* 041CFC 8004729C 4800005C */ b lbl_800472F8 -lbl_800472A0: -/* 041D00 800472A0 80610084 */ lwz r3, 0x84(r1) -/* 041D04 800472A4 38030001 */ addi r0, r3, 1 -/* 041D08 800472A8 90010084 */ stw r0, 0x84(r1) -/* 041D0C 800472AC 4800004C */ b lbl_800472F8 -lbl_800472B0: -/* 041D10 800472B0 281F0000 */ cmplwi r31, 0 -/* 041D14 800472B4 41820038 */ beq lbl_800472EC -/* 041D18 800472B8 54E41838 */ slwi r4, r7, 3 -/* 041D1C 800472BC 80610084 */ lwz r3, 0x84(r1) -/* 041D20 800472C0 38040040 */ addi r0, r4, 0x40 -/* 041D24 800472C4 7C1E0214 */ add r0, r30, r0 -/* 041D28 800472C8 7C9E0050 */ subf r4, r30, r0 -/* 041D2C 800472CC 38840004 */ addi r4, r4, 4 -/* 041D30 800472D0 38030001 */ addi r0, r3, 1 -/* 041D34 800472D4 5484043E */ clrlwi r4, r4, 0x10 -/* 041D38 800472D8 90010084 */ stw r0, 0x84(r1) -/* 041D3C 800472DC 3C0480C3 */ addis r0, r4, 0x80c3 -/* 041D40 800472E0 5463103A */ slwi r3, r3, 2 -/* 041D44 800472E4 7C1F192E */ stwx r0, r31, r3 -/* 041D48 800472E8 48000010 */ b lbl_800472F8 -lbl_800472EC: -/* 041D4C 800472EC 80610084 */ lwz r3, 0x84(r1) -/* 041D50 800472F0 38030001 */ addi r0, r3, 1 -/* 041D54 800472F4 90010084 */ stw r0, 0x84(r1) -lbl_800472F8: -/* 041D58 800472F8 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 041D5C 800472FC 7C7A0214 */ add r3, r26, r0 -/* 041D60 80047300 80E30818 */ lwz r7, 0x818(r3) -/* 041D64 80047304 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 041D68 80047308 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 041D6C 8004730C 4182014C */ beq lbl_80047458 -/* 041D70 80047310 3C7E0001 */ addis r3, r30, 1 -/* 041D74 80047314 80032064 */ lwz r0, 0x2064(r3) -/* 041D78 80047318 38E00007 */ li r7, 7 -/* 041D7C 8004731C 28000000 */ cmplwi r0, 0 -/* 041D80 80047320 4082000C */ bne lbl_8004732C -/* 041D84 80047324 38000000 */ li r0, 0 -/* 041D88 80047328 48000094 */ b lbl_800473BC -lbl_8004732C: -/* 041D8C 8004732C 80032068 */ lwz r0, 0x2068(r3) -/* 041D90 80047330 28000000 */ cmplwi r0, 0 -/* 041D94 80047334 4082000C */ bne lbl_80047340 -/* 041D98 80047338 38000000 */ li r0, 0 -/* 041D9C 8004733C 48000080 */ b lbl_800473BC -lbl_80047340: -/* 041DA0 80047340 8003206C */ lwz r0, 0x206c(r3) -/* 041DA4 80047344 7C080000 */ cmpw r8, r0 -/* 041DA8 80047348 4182000C */ beq lbl_80047354 -/* 041DAC 8004734C 38000000 */ li r0, 0 -/* 041DB0 80047350 4800006C */ b lbl_800473BC -lbl_80047354: -/* 041DB4 80047354 80BE0034 */ lwz r5, 0x34(r30) -/* 041DB8 80047358 38800000 */ li r4, 0 -/* 041DBC 8004735C 80050008 */ lwz r0, 8(r5) -/* 041DC0 80047360 2C000000 */ cmpwi r0, 0 -/* 041DC4 80047364 7C0903A6 */ mtctr r0 -/* 041DC8 80047368 40810028 */ ble lbl_80047390 -lbl_8004736C: -/* 041DCC 8004736C 8065000C */ lwz r3, 0xc(r5) -/* 041DD0 80047370 38040004 */ addi r0, r4, 4 -/* 041DD4 80047374 7C03002E */ lwzx r0, r3, r0 -/* 041DD8 80047378 7C1D0000 */ cmpw r29, r0 -/* 041DDC 8004737C 4082000C */ bne lbl_80047388 -/* 041DE0 80047380 38000000 */ li r0, 0 -/* 041DE4 80047384 48000010 */ b lbl_80047394 -lbl_80047388: -/* 041DE8 80047388 38840008 */ addi r4, r4, 8 -/* 041DEC 8004738C 4200FFE0 */ bdnz lbl_8004736C -lbl_80047390: -/* 041DF0 80047390 38000001 */ li r0, 1 -lbl_80047394: -/* 041DF4 80047394 2C000000 */ cmpwi r0, 0 -/* 041DF8 80047398 40820014 */ bne lbl_800473AC -/* 041DFC 8004739C 38000000 */ li r0, 0 -/* 041E00 800473A0 3C7E0001 */ addis r3, r30, 1 -/* 041E04 800473A4 90032068 */ stw r0, 0x2068(r3) -/* 041E08 800473A8 48000014 */ b lbl_800473BC -lbl_800473AC: -/* 041E0C 800473AC 3C7E0001 */ addis r3, r30, 1 -/* 041E10 800473B0 38000000 */ li r0, 0 -/* 041E14 800473B4 90032068 */ stw r0, 0x2068(r3) -/* 041E18 800473B8 38000001 */ li r0, 1 -lbl_800473BC: -/* 041E1C 800473BC 2C000000 */ cmpwi r0, 0 -/* 041E20 800473C0 41820050 */ beq lbl_80047410 -/* 041E24 800473C4 281F0000 */ cmplwi r31, 0 -/* 041E28 800473C8 41820038 */ beq lbl_80047400 -/* 041E2C 800473CC 3C9E0001 */ addis r4, r30, 1 -/* 041E30 800473D0 80610084 */ lwz r3, 0x84(r1) -/* 041E34 800473D4 80A42070 */ lwz r5, 0x2070(r4) -/* 041E38 800473D8 38030001 */ addi r0, r3, 1 -/* 041E3C 800473DC 54A4A814 */ slwi r4, r5, 0x15 -/* 041E40 800473E0 90010084 */ stw r0, 0x84(r1) -/* 041E44 800473E4 64807C07 */ oris r0, r4, 0x7c07 -/* 041E48 800473E8 54A45828 */ slwi r4, r5, 0xb -/* 041E4C 800473EC 60000378 */ ori r0, r0, 0x378 -/* 041E50 800473F0 7C800378 */ or r0, r4, r0 -/* 041E54 800473F4 5463103A */ slwi r3, r3, 2 -/* 041E58 800473F8 7C1F192E */ stwx r0, r31, r3 -/* 041E5C 800473FC 4800005C */ b lbl_80047458 -lbl_80047400: -/* 041E60 80047400 80610084 */ lwz r3, 0x84(r1) -/* 041E64 80047404 38030001 */ addi r0, r3, 1 -/* 041E68 80047408 90010084 */ stw r0, 0x84(r1) -/* 041E6C 8004740C 4800004C */ b lbl_80047458 -lbl_80047410: -/* 041E70 80047410 281F0000 */ cmplwi r31, 0 -/* 041E74 80047414 41820038 */ beq lbl_8004744C -/* 041E78 80047418 55041838 */ slwi r4, r8, 3 -/* 041E7C 8004741C 80610084 */ lwz r3, 0x84(r1) -/* 041E80 80047420 38040040 */ addi r0, r4, 0x40 -/* 041E84 80047424 7C1E0214 */ add r0, r30, r0 -/* 041E88 80047428 7C9E0050 */ subf r4, r30, r0 -/* 041E8C 8004742C 38840004 */ addi r4, r4, 4 -/* 041E90 80047430 38030001 */ addi r0, r3, 1 -/* 041E94 80047434 5484043E */ clrlwi r4, r4, 0x10 -/* 041E98 80047438 90010084 */ stw r0, 0x84(r1) -/* 041E9C 8004743C 3C0480E3 */ addis r0, r4, 0x80e3 -/* 041EA0 80047440 5463103A */ slwi r3, r3, 2 -/* 041EA4 80047444 7C1F192E */ stwx r0, r31, r3 -/* 041EA8 80047448 48000010 */ b lbl_80047458 -lbl_8004744C: -/* 041EAC 8004744C 80610084 */ lwz r3, 0x84(r1) -/* 041EB0 80047450 38030001 */ addi r0, r3, 1 -/* 041EB4 80047454 90010084 */ stw r0, 0x84(r1) -lbl_80047458: -/* 041EB8 80047458 281F0000 */ cmplwi r31, 0 -/* 041EBC 8004745C 41820030 */ beq lbl_8004748C -/* 041EC0 80047460 80610084 */ lwz r3, 0x84(r1) -/* 041EC4 80047464 5560801E */ slwi r0, r11, 0x10 -/* 041EC8 80047468 64047C00 */ oris r4, r0, 0x7c00 -/* 041ECC 8004746C 38030001 */ addi r0, r3, 1 -/* 041ED0 80047470 90010084 */ stw r0, 0x84(r1) -/* 041ED4 80047474 60840040 */ ori r4, r4, 0x40 -/* 041ED8 80047478 54E05828 */ slwi r0, r7, 0xb -/* 041EDC 8004747C 7C800378 */ or r0, r4, r0 -/* 041EE0 80047480 5463103A */ slwi r3, r3, 2 -/* 041EE4 80047484 7C1F192E */ stwx r0, r31, r3 -/* 041EE8 80047488 48000010 */ b lbl_80047498 -lbl_8004748C: -/* 041EEC 8004748C 80610084 */ lwz r3, 0x84(r1) -/* 041EF0 80047490 38030001 */ addi r0, r3, 1 -/* 041EF4 80047494 90010084 */ stw r0, 0x84(r1) -lbl_80047498: -/* 041EF8 80047498 281F0000 */ cmplwi r31, 0 -/* 041EFC 8004749C 41820024 */ beq lbl_800474C0 -/* 041F00 800474A0 80610084 */ lwz r3, 0x84(r1) -/* 041F04 800474A4 3C804180 */ lis r4, 0x4180 -/* 041F08 800474A8 3884000C */ addi r4, r4, 0xc -/* 041F0C 800474AC 38030001 */ addi r0, r3, 1 -/* 041F10 800474B0 90010084 */ stw r0, 0x84(r1) -/* 041F14 800474B4 5460103A */ slwi r0, r3, 2 -/* 041F18 800474B8 7C9F012E */ stwx r4, r31, r0 -/* 041F1C 800474BC 48000010 */ b lbl_800474CC -lbl_800474C0: -/* 041F20 800474C0 80610084 */ lwz r3, 0x84(r1) -/* 041F24 800474C4 38030001 */ addi r0, r3, 1 -/* 041F28 800474C8 90010084 */ stw r0, 0x84(r1) -lbl_800474CC: -/* 041F2C 800474CC 281F0000 */ cmplwi r31, 0 -/* 041F30 800474D0 41820024 */ beq lbl_800474F4 -/* 041F34 800474D4 80610084 */ lwz r3, 0x84(r1) -/* 041F38 800474D8 54C0A814 */ slwi r0, r6, 0x15 -/* 041F3C 800474DC 64043800 */ oris r4, r0, 0x3800 -/* 041F40 800474E0 38030001 */ addi r0, r3, 1 -/* 041F44 800474E4 90010084 */ stw r0, 0x84(r1) -/* 041F48 800474E8 5460103A */ slwi r0, r3, 2 -/* 041F4C 800474EC 7C9F012E */ stwx r4, r31, r0 -/* 041F50 800474F0 48000010 */ b lbl_80047500 -lbl_800474F4: -/* 041F54 800474F4 80610084 */ lwz r3, 0x84(r1) -/* 041F58 800474F8 38030001 */ addi r0, r3, 1 -/* 041F5C 800474FC 90010084 */ stw r0, 0x84(r1) -lbl_80047500: -/* 041F60 80047500 281F0000 */ cmplwi r31, 0 -/* 041F64 80047504 41820024 */ beq lbl_80047528 -/* 041F68 80047508 80610084 */ lwz r3, 0x84(r1) -/* 041F6C 8004750C 3C804280 */ lis r4, 0x4280 -/* 041F70 80047510 38840008 */ addi r4, r4, 8 -/* 041F74 80047514 38030001 */ addi r0, r3, 1 -/* 041F78 80047518 90010084 */ stw r0, 0x84(r1) -/* 041F7C 8004751C 5460103A */ slwi r0, r3, 2 -/* 041F80 80047520 7C9F012E */ stwx r4, r31, r0 -/* 041F84 80047524 48000010 */ b lbl_80047534 -lbl_80047528: -/* 041F88 80047528 80610084 */ lwz r3, 0x84(r1) -/* 041F8C 8004752C 38030001 */ addi r0, r3, 1 -/* 041F90 80047530 90010084 */ stw r0, 0x84(r1) -lbl_80047534: -/* 041F94 80047534 281F0000 */ cmplwi r31, 0 -/* 041F98 80047538 41820028 */ beq lbl_80047560 -/* 041F9C 8004753C 80610084 */ lwz r3, 0x84(r1) -/* 041FA0 80047540 54C0A814 */ slwi r0, r6, 0x15 -/* 041FA4 80047544 64043800 */ oris r4, r0, 0x3800 -/* 041FA8 80047548 38030001 */ addi r0, r3, 1 -/* 041FAC 8004754C 90010084 */ stw r0, 0x84(r1) -/* 041FB0 80047550 60840001 */ ori r4, r4, 1 -/* 041FB4 80047554 5460103A */ slwi r0, r3, 2 -/* 041FB8 80047558 7C9F012E */ stwx r4, r31, r0 -/* 041FBC 8004755C 48000010 */ b lbl_8004756C -lbl_80047560: -/* 041FC0 80047560 80610084 */ lwz r3, 0x84(r1) -/* 041FC4 80047564 38030001 */ addi r0, r3, 1 -/* 041FC8 80047568 90010084 */ stw r0, 0x84(r1) -lbl_8004756C: -/* 041FCC 8004756C 80090000 */ lwz r0, 0(r9) -/* 041FD0 80047570 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 041FD4 80047574 40820008 */ bne lbl_8004757C -/* 041FD8 80047578 480209BC */ b lbl_80067F34 -lbl_8004757C: -/* 041FDC 8004757C 3C7E0001 */ addis r3, r30, 1 -/* 041FE0 80047580 38000002 */ li r0, 2 -/* 041FE4 80047584 90032068 */ stw r0, 0x2068(r3) -/* 041FE8 80047588 281F0000 */ cmplwi r31, 0 -/* 041FEC 8004758C 9143206C */ stw r10, 0x206c(r3) -/* 041FF0 80047590 90C32070 */ stw r6, 0x2070(r3) -/* 041FF4 80047594 41820038 */ beq lbl_800475CC -/* 041FF8 80047598 55441838 */ slwi r4, r10, 3 -/* 041FFC 8004759C 80610084 */ lwz r3, 0x84(r1) -/* 042000 800475A0 38040040 */ addi r0, r4, 0x40 -/* 042004 800475A4 7C1E0214 */ add r0, r30, r0 -/* 042008 800475A8 7C9E0050 */ subf r4, r30, r0 -/* 04200C 800475AC 38840004 */ addi r4, r4, 4 -/* 042010 800475B0 38030001 */ addi r0, r3, 1 -/* 042014 800475B4 5484043E */ clrlwi r4, r4, 0x10 -/* 042018 800475B8 90010084 */ stw r0, 0x84(r1) -/* 04201C 800475BC 3C0490A3 */ addis r0, r4, 0x90a3 -/* 042020 800475C0 5463103A */ slwi r3, r3, 2 -/* 042024 800475C4 7C1F192E */ stwx r0, r31, r3 -/* 042028 800475C8 4802096C */ b lbl_80067F34 -lbl_800475CC: -/* 04202C 800475CC 80610084 */ lwz r3, 0x84(r1) -/* 042030 800475D0 38030001 */ addi r0, r3, 1 -/* 042034 800475D4 90010084 */ stw r0, 0x84(r1) -/* 042038 800475D8 4802095C */ b lbl_80067F34 -.global lbl_800475DC -lbl_800475DC: -/* 04203C 800475DC 3C7E0001 */ addis r3, r30, 1 -/* 042040 800475E0 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 042044 800475E4 80832058 */ lwz r4, 0x2058(r3) -/* 042048 800475E8 38000001 */ li r0, 1 -/* 04204C 800475EC 7C062830 */ slw r6, r0, r5 -/* 042050 800475F0 7C863039 */ and. r6, r4, r6 -/* 042054 800475F4 40820014 */ bne lbl_80047608 -/* 042058 800475F8 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 04205C 800475FC 7C063030 */ slw r6, r0, r6 -/* 042060 80047600 7C863039 */ and. r6, r4, r6 -/* 042064 80047604 41820024 */ beq lbl_80047628 -lbl_80047608: -/* 042068 80047608 3C7E0001 */ addis r3, r30, 1 -/* 04206C 8004760C 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 042070 80047610 80832058 */ lwz r4, 0x2058(r3) -/* 042074 80047614 38000001 */ li r0, 1 -/* 042078 80047618 7C003030 */ slw r0, r0, r6 -/* 04207C 8004761C 7C800378 */ or r0, r4, r0 -/* 042080 80047620 90032058 */ stw r0, 0x2058(r3) -/* 042084 80047624 48000014 */ b lbl_80047638 -lbl_80047628: -/* 042088 80047628 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 04208C 8004762C 7C003030 */ slw r0, r0, r6 -/* 042090 80047630 7C800078 */ andc r0, r4, r0 -/* 042094 80047634 90032058 */ stw r0, 0x2058(r3) -lbl_80047638: -/* 042098 80047638 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 04209C 8004763C 7C7A0214 */ add r3, r26, r0 -/* 0420A0 80047640 80030818 */ lwz r0, 0x818(r3) -/* 0420A4 80047644 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 0420A8 80047648 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0420AC 8004764C 40820050 */ bne lbl_8004769C -/* 0420B0 80047650 281F0000 */ cmplwi r31, 0 -/* 0420B4 80047654 4182003C */ beq lbl_80047690 -/* 0420B8 80047658 54E41838 */ slwi r4, r7, 3 -/* 0420BC 8004765C 80610084 */ lwz r3, 0x84(r1) -/* 0420C0 80047660 38840040 */ addi r4, r4, 0x40 -/* 0420C4 80047664 5400A814 */ slwi r0, r0, 0x15 -/* 0420C8 80047668 7C9E2214 */ add r4, r30, r4 -/* 0420CC 8004766C 38C30001 */ addi r6, r3, 1 -/* 0420D0 80047670 64009003 */ oris r0, r0, 0x9003 -/* 0420D4 80047674 90C10084 */ stw r6, 0x84(r1) -/* 0420D8 80047678 7C9E2050 */ subf r4, r30, r4 -/* 0420DC 8004767C 7C840214 */ add r4, r4, r0 -/* 0420E0 80047680 38040004 */ addi r0, r4, 4 -/* 0420E4 80047684 5463103A */ slwi r3, r3, 2 -/* 0420E8 80047688 7C1F192E */ stwx r0, r31, r3 -/* 0420EC 8004768C 48000010 */ b lbl_8004769C -lbl_80047690: -/* 0420F0 80047690 80610084 */ lwz r3, 0x84(r1) -/* 0420F4 80047694 38030001 */ addi r0, r3, 1 -/* 0420F8 80047698 90010084 */ stw r0, 0x84(r1) -lbl_8004769C: -/* 0420FC 8004769C 54A0103A */ slwi r0, r5, 2 -/* 042100 800476A0 7C7A0214 */ add r3, r26, r0 -/* 042104 800476A4 80030818 */ lwz r0, 0x818(r3) -/* 042108 800476A8 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 04210C 800476AC 40820050 */ bne lbl_800476FC -/* 042110 800476B0 281F0000 */ cmplwi r31, 0 -/* 042114 800476B4 4182003C */ beq lbl_800476F0 -/* 042118 800476B8 54A41838 */ slwi r4, r5, 3 -/* 04211C 800476BC 80610084 */ lwz r3, 0x84(r1) -/* 042120 800476C0 38840040 */ addi r4, r4, 0x40 -/* 042124 800476C4 5400A814 */ slwi r0, r0, 0x15 -/* 042128 800476C8 7C9E2214 */ add r4, r30, r4 -/* 04212C 800476CC 38C30001 */ addi r6, r3, 1 -/* 042130 800476D0 64009003 */ oris r0, r0, 0x9003 -/* 042134 800476D4 90C10084 */ stw r6, 0x84(r1) -/* 042138 800476D8 7C9E2050 */ subf r4, r30, r4 -/* 04213C 800476DC 7C840214 */ add r4, r4, r0 -/* 042140 800476E0 38040004 */ addi r0, r4, 4 -/* 042144 800476E4 5463103A */ slwi r3, r3, 2 -/* 042148 800476E8 7C1F192E */ stwx r0, r31, r3 -/* 04214C 800476EC 48000010 */ b lbl_800476FC -lbl_800476F0: -/* 042150 800476F0 80610084 */ lwz r3, 0x84(r1) -/* 042154 800476F4 38030001 */ addi r0, r3, 1 -/* 042158 800476F8 90010084 */ stw r0, 0x84(r1) -lbl_800476FC: -/* 04215C 800476FC 281F0000 */ cmplwi r31, 0 -/* 042160 80047700 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 042164 80047704 41820024 */ beq lbl_80047728 -/* 042168 80047708 80810084 */ lwz r4, 0x84(r1) -/* 04216C 8004770C 3C609422 */ lis r3, 0x9422 -/* 042170 80047710 38C3FFF0 */ addi r6, r3, -16 -/* 042174 80047714 38640001 */ addi r3, r4, 1 -/* 042178 80047718 90610084 */ stw r3, 0x84(r1) -/* 04217C 8004771C 5483103A */ slwi r3, r4, 2 -/* 042180 80047720 7CDF192E */ stwx r6, r31, r3 -/* 042184 80047724 48000010 */ b lbl_80047734 -lbl_80047728: -/* 042188 80047728 80610084 */ lwz r3, 0x84(r1) -/* 04218C 8004772C 38630001 */ addi r3, r3, 1 -/* 042190 80047730 90610084 */ stw r3, 0x84(r1) -lbl_80047734: -/* 042194 80047734 281F0000 */ cmplwi r31, 0 -/* 042198 80047738 41820024 */ beq lbl_8004775C -/* 04219C 8004773C 80810084 */ lwz r4, 0x84(r1) -/* 0421A0 80047740 3C609101 */ lis r3, 0x9101 -/* 0421A4 80047744 38C30008 */ addi r6, r3, 8 -/* 0421A8 80047748 38640001 */ addi r3, r4, 1 -/* 0421AC 8004774C 90610084 */ stw r3, 0x84(r1) -/* 0421B0 80047750 5483103A */ slwi r3, r4, 2 -/* 0421B4 80047754 7CDF192E */ stwx r6, r31, r3 -/* 0421B8 80047758 48000010 */ b lbl_80047768 -lbl_8004775C: -/* 0421BC 8004775C 80610084 */ lwz r3, 0x84(r1) -/* 0421C0 80047760 38630001 */ addi r3, r3, 1 -/* 0421C4 80047764 90610084 */ stw r3, 0x84(r1) -lbl_80047768: -/* 0421C8 80047768 281F0000 */ cmplwi r31, 0 -/* 0421CC 8004776C 41820034 */ beq lbl_800477A0 -/* 0421D0 80047770 54A41838 */ slwi r4, r5, 3 -/* 0421D4 80047774 80610084 */ lwz r3, 0x84(r1) -/* 0421D8 80047778 38840040 */ addi r4, r4, 0x40 -/* 0421DC 8004777C 7C9E2214 */ add r4, r30, r4 -/* 0421E0 80047780 7C9E2050 */ subf r4, r30, r4 -/* 0421E4 80047784 38C30001 */ addi r6, r3, 1 -/* 0421E8 80047788 3C8480A3 */ addis r4, r4, 0x80a3 -/* 0421EC 8004778C 90C10084 */ stw r6, 0x84(r1) -/* 0421F0 80047790 38840004 */ addi r4, r4, 4 -/* 0421F4 80047794 5463103A */ slwi r3, r3, 2 -/* 0421F8 80047798 7C9F192E */ stwx r4, r31, r3 -/* 0421FC 8004779C 48000010 */ b lbl_800477AC -lbl_800477A0: -/* 042200 800477A0 80610084 */ lwz r3, 0x84(r1) -/* 042204 800477A4 38630001 */ addi r3, r3, 1 -/* 042208 800477A8 90610084 */ stw r3, 0x84(r1) -lbl_800477AC: -/* 04220C 800477AC 281F0000 */ cmplwi r31, 0 -/* 042210 800477B0 41820030 */ beq lbl_800477E0 -/* 042214 800477B4 80610084 */ lwz r3, 0x84(r1) -/* 042218 800477B8 54A41838 */ slwi r4, r5, 3 -/* 04221C 800477BC 38840040 */ addi r4, r4, 0x40 -/* 042220 800477C0 7C9E2214 */ add r4, r30, r4 -/* 042224 800477C4 38A30001 */ addi r5, r3, 1 -/* 042228 800477C8 7C9E2050 */ subf r4, r30, r4 -/* 04222C 800477CC 90A10084 */ stw r5, 0x84(r1) -/* 042230 800477D0 3C8480C3 */ addis r4, r4, 0x80c3 -/* 042234 800477D4 5463103A */ slwi r3, r3, 2 -/* 042238 800477D8 7C9F192E */ stwx r4, r31, r3 -/* 04223C 800477DC 48000010 */ b lbl_800477EC -lbl_800477E0: -/* 042240 800477E0 80610084 */ lwz r3, 0x84(r1) -/* 042244 800477E4 38630001 */ addi r3, r3, 1 -/* 042248 800477E8 90610084 */ stw r3, 0x84(r1) -lbl_800477EC: -/* 04224C 800477EC 281F0000 */ cmplwi r31, 0 -/* 042250 800477F0 41820034 */ beq lbl_80047824 -/* 042254 800477F4 54E31838 */ slwi r3, r7, 3 -/* 042258 800477F8 80810084 */ lwz r4, 0x84(r1) -/* 04225C 800477FC 38630040 */ addi r3, r3, 0x40 -/* 042260 80047800 7C7E1A14 */ add r3, r30, r3 -/* 042264 80047804 7CBE1850 */ subf r5, r30, r3 -/* 042268 80047808 38640001 */ addi r3, r4, 1 -/* 04226C 8004780C 3CA580E3 */ addis r5, r5, 0x80e3 -/* 042270 80047810 90610084 */ stw r3, 0x84(r1) -/* 042274 80047814 38650004 */ addi r3, r5, 4 -/* 042278 80047818 5484103A */ slwi r4, r4, 2 -/* 04227C 8004781C 7C7F212E */ stwx r3, r31, r4 -/* 042280 80047820 48000010 */ b lbl_80047830 -lbl_80047824: -/* 042284 80047824 80610084 */ lwz r3, 0x84(r1) -/* 042288 80047828 38630001 */ addi r3, r3, 1 -/* 04228C 8004782C 90610084 */ stw r3, 0x84(r1) -lbl_80047830: -/* 042290 80047830 281F0000 */ cmplwi r31, 0 -/* 042294 80047834 41820030 */ beq lbl_80047864 -/* 042298 80047838 80610084 */ lwz r3, 0x84(r1) -/* 04229C 8004783C 54E41838 */ slwi r4, r7, 3 -/* 0422A0 80047840 38840040 */ addi r4, r4, 0x40 -/* 0422A4 80047844 7C9E2214 */ add r4, r30, r4 -/* 0422A8 80047848 38A30001 */ addi r5, r3, 1 -/* 0422AC 8004784C 7C9E2050 */ subf r4, r30, r4 -/* 0422B0 80047850 90A10084 */ stw r5, 0x84(r1) -/* 0422B4 80047854 3C848103 */ addis r4, r4, 0x8103 -/* 0422B8 80047858 5463103A */ slwi r3, r3, 2 -/* 0422BC 8004785C 7C9F192E */ stwx r4, r31, r3 -/* 0422C0 80047860 48000010 */ b lbl_80047870 -lbl_80047864: -/* 0422C4 80047864 80610084 */ lwz r3, 0x84(r1) -/* 0422C8 80047868 38630001 */ addi r3, r3, 1 -/* 0422CC 8004786C 90610084 */ stw r3, 0x84(r1) -lbl_80047870: -/* 0422D0 80047870 281F0000 */ cmplwi r31, 0 -/* 0422D4 80047874 41820034 */ beq lbl_800478A8 -/* 0422D8 80047878 80610084 */ lwz r3, 0x84(r1) -/* 0422DC 8004787C 808D8A20 */ lwz r4, cpuCompile_DADD_function@sda21(r13) -/* 0422E0 80047880 5466103A */ slwi r6, r3, 2 -/* 0422E4 80047884 7CBF3214 */ add r5, r31, r6 -/* 0422E8 80047888 7C852050 */ subf r4, r5, r4 -/* 0422EC 8004788C 548401BA */ rlwinm r4, r4, 0, 6, 0x1d -/* 0422F0 80047890 38630001 */ addi r3, r3, 1 -/* 0422F4 80047894 64844800 */ oris r4, r4, 0x4800 -/* 0422F8 80047898 90610084 */ stw r3, 0x84(r1) -/* 0422FC 8004789C 60840001 */ ori r4, r4, 1 -/* 042300 800478A0 7C9F312E */ stwx r4, r31, r6 -/* 042304 800478A4 48000010 */ b lbl_800478B4 -lbl_800478A8: -/* 042308 800478A8 80610084 */ lwz r3, 0x84(r1) -/* 04230C 800478AC 38630001 */ addi r3, r3, 1 -/* 042310 800478B0 90610084 */ stw r3, 0x84(r1) -lbl_800478B4: -/* 042314 800478B4 281F0000 */ cmplwi r31, 0 -/* 042318 800478B8 41820034 */ beq lbl_800478EC -/* 04231C 800478BC 54031838 */ slwi r3, r0, 3 -/* 042320 800478C0 80810084 */ lwz r4, 0x84(r1) -/* 042324 800478C4 38630040 */ addi r3, r3, 0x40 -/* 042328 800478C8 7C7E1A14 */ add r3, r30, r3 -/* 04232C 800478CC 7CBE1850 */ subf r5, r30, r3 -/* 042330 800478D0 38640001 */ addi r3, r4, 1 -/* 042334 800478D4 3CA590A3 */ addis r5, r5, 0x90a3 -/* 042338 800478D8 90610084 */ stw r3, 0x84(r1) -/* 04233C 800478DC 38650004 */ addi r3, r5, 4 -/* 042340 800478E0 5484103A */ slwi r4, r4, 2 -/* 042344 800478E4 7C7F212E */ stwx r3, r31, r4 -/* 042348 800478E8 48000010 */ b lbl_800478F8 -lbl_800478EC: -/* 04234C 800478EC 80610084 */ lwz r3, 0x84(r1) -/* 042350 800478F0 38630001 */ addi r3, r3, 1 -/* 042354 800478F4 90610084 */ stw r3, 0x84(r1) -lbl_800478F8: -/* 042358 800478F8 281F0000 */ cmplwi r31, 0 -/* 04235C 800478FC 41820030 */ beq lbl_8004792C -/* 042360 80047900 80610084 */ lwz r3, 0x84(r1) -/* 042364 80047904 54041838 */ slwi r4, r0, 3 -/* 042368 80047908 38840040 */ addi r4, r4, 0x40 -/* 04236C 8004790C 7C9E2214 */ add r4, r30, r4 -/* 042370 80047910 38A30001 */ addi r5, r3, 1 -/* 042374 80047914 7C9E2050 */ subf r4, r30, r4 -/* 042378 80047918 90A10084 */ stw r5, 0x84(r1) -/* 04237C 8004791C 3C8490C3 */ addis r4, r4, 0x90c3 -/* 042380 80047920 5463103A */ slwi r3, r3, 2 -/* 042384 80047924 7C9F192E */ stwx r4, r31, r3 -/* 042388 80047928 48000010 */ b lbl_80047938 -lbl_8004792C: -/* 04238C 8004792C 80610084 */ lwz r3, 0x84(r1) -/* 042390 80047930 38630001 */ addi r3, r3, 1 -/* 042394 80047934 90610084 */ stw r3, 0x84(r1) -lbl_80047938: -/* 042398 80047938 281F0000 */ cmplwi r31, 0 -/* 04239C 8004793C 41820024 */ beq lbl_80047960 -/* 0423A0 80047940 80810084 */ lwz r4, 0x84(r1) -/* 0423A4 80047944 3C608101 */ lis r3, 0x8101 -/* 0423A8 80047948 38A30008 */ addi r5, r3, 8 -/* 0423AC 8004794C 38640001 */ addi r3, r4, 1 -/* 0423B0 80047950 90610084 */ stw r3, 0x84(r1) -/* 0423B4 80047954 5483103A */ slwi r3, r4, 2 -/* 0423B8 80047958 7CBF192E */ stwx r5, r31, r3 -/* 0423BC 8004795C 48000010 */ b lbl_8004796C -lbl_80047960: -/* 0423C0 80047960 80610084 */ lwz r3, 0x84(r1) -/* 0423C4 80047964 38630001 */ addi r3, r3, 1 -/* 0423C8 80047968 90610084 */ stw r3, 0x84(r1) -lbl_8004796C: -/* 0423CC 8004796C 281F0000 */ cmplwi r31, 0 -/* 0423D0 80047970 41820024 */ beq lbl_80047994 -/* 0423D4 80047974 80810084 */ lwz r4, 0x84(r1) -/* 0423D8 80047978 3C603821 */ lis r3, 0x3821 -/* 0423DC 8004797C 38A30010 */ addi r5, r3, 0x10 -/* 0423E0 80047980 38640001 */ addi r3, r4, 1 -/* 0423E4 80047984 90610084 */ stw r3, 0x84(r1) -/* 0423E8 80047988 5483103A */ slwi r3, r4, 2 -/* 0423EC 8004798C 7CBF192E */ stwx r5, r31, r3 -/* 0423F0 80047990 48000010 */ b lbl_800479A0 -lbl_80047994: -/* 0423F4 80047994 80610084 */ lwz r3, 0x84(r1) -/* 0423F8 80047998 38630001 */ addi r3, r3, 1 -/* 0423FC 8004799C 90610084 */ stw r3, 0x84(r1) -lbl_800479A0: -/* 042400 800479A0 5400103A */ slwi r0, r0, 2 -/* 042404 800479A4 7C7A0214 */ add r3, r26, r0 -/* 042408 800479A8 80030818 */ lwz r0, 0x818(r3) -/* 04240C 800479AC 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 042410 800479B0 41820008 */ beq lbl_800479B8 -/* 042414 800479B4 48020580 */ b lbl_80067F34 -lbl_800479B8: -/* 042418 800479B8 281F0000 */ cmplwi r31, 0 -/* 04241C 800479BC 41820028 */ beq lbl_800479E4 -/* 042420 800479C0 80610084 */ lwz r3, 0x84(r1) -/* 042424 800479C4 5400801E */ slwi r0, r0, 0x10 -/* 042428 800479C8 64047CC0 */ oris r4, r0, 0x7cc0 -/* 04242C 800479CC 38030001 */ addi r0, r3, 1 -/* 042430 800479D0 90010084 */ stw r0, 0x84(r1) -/* 042434 800479D4 60843378 */ ori r4, r4, 0x3378 -/* 042438 800479D8 5460103A */ slwi r0, r3, 2 -/* 04243C 800479DC 7C9F012E */ stwx r4, r31, r0 -/* 042440 800479E0 48020554 */ b lbl_80067F34 -lbl_800479E4: -/* 042444 800479E4 80610084 */ lwz r3, 0x84(r1) -/* 042448 800479E8 38030001 */ addi r0, r3, 1 -/* 04244C 800479EC 90010084 */ stw r0, 0x84(r1) -/* 042450 800479F0 48020544 */ b lbl_80067F34 -.global lbl_800479F4 -lbl_800479F4: -/* 042454 800479F4 3C7E0001 */ addis r3, r30, 1 -/* 042458 800479F8 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 04245C 800479FC 80832058 */ lwz r4, 0x2058(r3) -/* 042460 80047A00 38000001 */ li r0, 1 -/* 042464 80047A04 7C062830 */ slw r6, r0, r5 -/* 042468 80047A08 7C863039 */ and. r6, r4, r6 -/* 04246C 80047A0C 40820014 */ bne lbl_80047A20 -/* 042470 80047A10 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 042474 80047A14 7C063030 */ slw r6, r0, r6 -/* 042478 80047A18 7C863039 */ and. r6, r4, r6 -/* 04247C 80047A1C 41820024 */ beq lbl_80047A40 -lbl_80047A20: -/* 042480 80047A20 3C7E0001 */ addis r3, r30, 1 -/* 042484 80047A24 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 042488 80047A28 80832058 */ lwz r4, 0x2058(r3) -/* 04248C 80047A2C 38000001 */ li r0, 1 -/* 042490 80047A30 7C003030 */ slw r0, r0, r6 -/* 042494 80047A34 7C800378 */ or r0, r4, r0 -/* 042498 80047A38 90032058 */ stw r0, 0x2058(r3) -/* 04249C 80047A3C 48000014 */ b lbl_80047A50 -lbl_80047A40: -/* 0424A0 80047A40 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 0424A4 80047A44 7C003030 */ slw r0, r0, r6 -/* 0424A8 80047A48 7C800078 */ andc r0, r4, r0 -/* 0424AC 80047A4C 90032058 */ stw r0, 0x2058(r3) -lbl_80047A50: -/* 0424B0 80047A50 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 0424B4 80047A54 7C7A0214 */ add r3, r26, r0 -/* 0424B8 80047A58 80030818 */ lwz r0, 0x818(r3) -/* 0424BC 80047A5C 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 0424C0 80047A60 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0424C4 80047A64 40820050 */ bne lbl_80047AB4 -/* 0424C8 80047A68 281F0000 */ cmplwi r31, 0 -/* 0424CC 80047A6C 4182003C */ beq lbl_80047AA8 -/* 0424D0 80047A70 54E41838 */ slwi r4, r7, 3 -/* 0424D4 80047A74 80610084 */ lwz r3, 0x84(r1) -/* 0424D8 80047A78 38840040 */ addi r4, r4, 0x40 -/* 0424DC 80047A7C 5400A814 */ slwi r0, r0, 0x15 -/* 0424E0 80047A80 7C9E2214 */ add r4, r30, r4 -/* 0424E4 80047A84 38C30001 */ addi r6, r3, 1 -/* 0424E8 80047A88 64009003 */ oris r0, r0, 0x9003 -/* 0424EC 80047A8C 90C10084 */ stw r6, 0x84(r1) -/* 0424F0 80047A90 7C9E2050 */ subf r4, r30, r4 -/* 0424F4 80047A94 7C840214 */ add r4, r4, r0 -/* 0424F8 80047A98 38040004 */ addi r0, r4, 4 -/* 0424FC 80047A9C 5463103A */ slwi r3, r3, 2 -/* 042500 80047AA0 7C1F192E */ stwx r0, r31, r3 -/* 042504 80047AA4 48000010 */ b lbl_80047AB4 -lbl_80047AA8: -/* 042508 80047AA8 80610084 */ lwz r3, 0x84(r1) -/* 04250C 80047AAC 38030001 */ addi r0, r3, 1 -/* 042510 80047AB0 90010084 */ stw r0, 0x84(r1) -lbl_80047AB4: -/* 042514 80047AB4 54A0103A */ slwi r0, r5, 2 -/* 042518 80047AB8 7C7A0214 */ add r3, r26, r0 -/* 04251C 80047ABC 80030818 */ lwz r0, 0x818(r3) -/* 042520 80047AC0 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 042524 80047AC4 40820050 */ bne lbl_80047B14 -/* 042528 80047AC8 281F0000 */ cmplwi r31, 0 -/* 04252C 80047ACC 4182003C */ beq lbl_80047B08 -/* 042530 80047AD0 54A41838 */ slwi r4, r5, 3 -/* 042534 80047AD4 80610084 */ lwz r3, 0x84(r1) -/* 042538 80047AD8 38840040 */ addi r4, r4, 0x40 -/* 04253C 80047ADC 5400A814 */ slwi r0, r0, 0x15 -/* 042540 80047AE0 7C9E2214 */ add r4, r30, r4 -/* 042544 80047AE4 38C30001 */ addi r6, r3, 1 -/* 042548 80047AE8 64009003 */ oris r0, r0, 0x9003 -/* 04254C 80047AEC 90C10084 */ stw r6, 0x84(r1) -/* 042550 80047AF0 7C9E2050 */ subf r4, r30, r4 -/* 042554 80047AF4 7C840214 */ add r4, r4, r0 -/* 042558 80047AF8 38040004 */ addi r0, r4, 4 -/* 04255C 80047AFC 5463103A */ slwi r3, r3, 2 -/* 042560 80047B00 7C1F192E */ stwx r0, r31, r3 -/* 042564 80047B04 48000010 */ b lbl_80047B14 -lbl_80047B08: -/* 042568 80047B08 80610084 */ lwz r3, 0x84(r1) -/* 04256C 80047B0C 38030001 */ addi r0, r3, 1 -/* 042570 80047B10 90010084 */ stw r0, 0x84(r1) -lbl_80047B14: -/* 042574 80047B14 281F0000 */ cmplwi r31, 0 -/* 042578 80047B18 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04257C 80047B1C 41820024 */ beq lbl_80047B40 -/* 042580 80047B20 80810084 */ lwz r4, 0x84(r1) -/* 042584 80047B24 3C609422 */ lis r3, 0x9422 -/* 042588 80047B28 38C3FFF0 */ addi r6, r3, -16 -/* 04258C 80047B2C 38640001 */ addi r3, r4, 1 -/* 042590 80047B30 90610084 */ stw r3, 0x84(r1) -/* 042594 80047B34 5483103A */ slwi r3, r4, 2 -/* 042598 80047B38 7CDF192E */ stwx r6, r31, r3 -/* 04259C 80047B3C 48000010 */ b lbl_80047B4C -lbl_80047B40: -/* 0425A0 80047B40 80610084 */ lwz r3, 0x84(r1) -/* 0425A4 80047B44 38630001 */ addi r3, r3, 1 -/* 0425A8 80047B48 90610084 */ stw r3, 0x84(r1) -lbl_80047B4C: -/* 0425AC 80047B4C 281F0000 */ cmplwi r31, 0 -/* 0425B0 80047B50 41820024 */ beq lbl_80047B74 -/* 0425B4 80047B54 80810084 */ lwz r4, 0x84(r1) -/* 0425B8 80047B58 3C609101 */ lis r3, 0x9101 -/* 0425BC 80047B5C 38C30008 */ addi r6, r3, 8 -/* 0425C0 80047B60 38640001 */ addi r3, r4, 1 -/* 0425C4 80047B64 90610084 */ stw r3, 0x84(r1) -/* 0425C8 80047B68 5483103A */ slwi r3, r4, 2 -/* 0425CC 80047B6C 7CDF192E */ stwx r6, r31, r3 -/* 0425D0 80047B70 48000010 */ b lbl_80047B80 -lbl_80047B74: -/* 0425D4 80047B74 80610084 */ lwz r3, 0x84(r1) -/* 0425D8 80047B78 38630001 */ addi r3, r3, 1 -/* 0425DC 80047B7C 90610084 */ stw r3, 0x84(r1) -lbl_80047B80: -/* 0425E0 80047B80 281F0000 */ cmplwi r31, 0 -/* 0425E4 80047B84 41820034 */ beq lbl_80047BB8 -/* 0425E8 80047B88 54A41838 */ slwi r4, r5, 3 -/* 0425EC 80047B8C 80610084 */ lwz r3, 0x84(r1) -/* 0425F0 80047B90 38840040 */ addi r4, r4, 0x40 -/* 0425F4 80047B94 7C9E2214 */ add r4, r30, r4 -/* 0425F8 80047B98 7C9E2050 */ subf r4, r30, r4 -/* 0425FC 80047B9C 38C30001 */ addi r6, r3, 1 -/* 042600 80047BA0 3C8480A3 */ addis r4, r4, 0x80a3 -/* 042604 80047BA4 90C10084 */ stw r6, 0x84(r1) -/* 042608 80047BA8 38840004 */ addi r4, r4, 4 -/* 04260C 80047BAC 5463103A */ slwi r3, r3, 2 -/* 042610 80047BB0 7C9F192E */ stwx r4, r31, r3 -/* 042614 80047BB4 48000010 */ b lbl_80047BC4 -lbl_80047BB8: -/* 042618 80047BB8 80610084 */ lwz r3, 0x84(r1) -/* 04261C 80047BBC 38630001 */ addi r3, r3, 1 -/* 042620 80047BC0 90610084 */ stw r3, 0x84(r1) -lbl_80047BC4: -/* 042624 80047BC4 281F0000 */ cmplwi r31, 0 -/* 042628 80047BC8 41820030 */ beq lbl_80047BF8 -/* 04262C 80047BCC 80610084 */ lwz r3, 0x84(r1) -/* 042630 80047BD0 54A41838 */ slwi r4, r5, 3 -/* 042634 80047BD4 38840040 */ addi r4, r4, 0x40 -/* 042638 80047BD8 7C9E2214 */ add r4, r30, r4 -/* 04263C 80047BDC 38A30001 */ addi r5, r3, 1 -/* 042640 80047BE0 7C9E2050 */ subf r4, r30, r4 -/* 042644 80047BE4 90A10084 */ stw r5, 0x84(r1) -/* 042648 80047BE8 3C8480C3 */ addis r4, r4, 0x80c3 -/* 04264C 80047BEC 5463103A */ slwi r3, r3, 2 -/* 042650 80047BF0 7C9F192E */ stwx r4, r31, r3 -/* 042654 80047BF4 48000010 */ b lbl_80047C04 -lbl_80047BF8: -/* 042658 80047BF8 80610084 */ lwz r3, 0x84(r1) -/* 04265C 80047BFC 38630001 */ addi r3, r3, 1 -/* 042660 80047C00 90610084 */ stw r3, 0x84(r1) -lbl_80047C04: -/* 042664 80047C04 281F0000 */ cmplwi r31, 0 -/* 042668 80047C08 41820034 */ beq lbl_80047C3C -/* 04266C 80047C0C 54E31838 */ slwi r3, r7, 3 -/* 042670 80047C10 80810084 */ lwz r4, 0x84(r1) -/* 042674 80047C14 38630040 */ addi r3, r3, 0x40 -/* 042678 80047C18 7C7E1A14 */ add r3, r30, r3 -/* 04267C 80047C1C 7CBE1850 */ subf r5, r30, r3 -/* 042680 80047C20 38640001 */ addi r3, r4, 1 -/* 042684 80047C24 3CA580E3 */ addis r5, r5, 0x80e3 -/* 042688 80047C28 90610084 */ stw r3, 0x84(r1) -/* 04268C 80047C2C 38650004 */ addi r3, r5, 4 -/* 042690 80047C30 5484103A */ slwi r4, r4, 2 -/* 042694 80047C34 7C7F212E */ stwx r3, r31, r4 -/* 042698 80047C38 48000010 */ b lbl_80047C48 -lbl_80047C3C: -/* 04269C 80047C3C 80610084 */ lwz r3, 0x84(r1) -/* 0426A0 80047C40 38630001 */ addi r3, r3, 1 -/* 0426A4 80047C44 90610084 */ stw r3, 0x84(r1) -lbl_80047C48: -/* 0426A8 80047C48 281F0000 */ cmplwi r31, 0 -/* 0426AC 80047C4C 41820030 */ beq lbl_80047C7C -/* 0426B0 80047C50 80610084 */ lwz r3, 0x84(r1) -/* 0426B4 80047C54 54E41838 */ slwi r4, r7, 3 -/* 0426B8 80047C58 38840040 */ addi r4, r4, 0x40 -/* 0426BC 80047C5C 7C9E2214 */ add r4, r30, r4 -/* 0426C0 80047C60 38A30001 */ addi r5, r3, 1 -/* 0426C4 80047C64 7C9E2050 */ subf r4, r30, r4 -/* 0426C8 80047C68 90A10084 */ stw r5, 0x84(r1) -/* 0426CC 80047C6C 3C848103 */ addis r4, r4, 0x8103 -/* 0426D0 80047C70 5463103A */ slwi r3, r3, 2 -/* 0426D4 80047C74 7C9F192E */ stwx r4, r31, r3 -/* 0426D8 80047C78 48000010 */ b lbl_80047C88 -lbl_80047C7C: -/* 0426DC 80047C7C 80610084 */ lwz r3, 0x84(r1) -/* 0426E0 80047C80 38630001 */ addi r3, r3, 1 -/* 0426E4 80047C84 90610084 */ stw r3, 0x84(r1) -lbl_80047C88: -/* 0426E8 80047C88 281F0000 */ cmplwi r31, 0 -/* 0426EC 80047C8C 41820034 */ beq lbl_80047CC0 -/* 0426F0 80047C90 80610084 */ lwz r3, 0x84(r1) -/* 0426F4 80047C94 808D8A24 */ lwz r4, cpuCompile_DADDU_function@sda21(r13) -/* 0426F8 80047C98 5466103A */ slwi r6, r3, 2 -/* 0426FC 80047C9C 7CBF3214 */ add r5, r31, r6 -/* 042700 80047CA0 7C852050 */ subf r4, r5, r4 -/* 042704 80047CA4 548401BA */ rlwinm r4, r4, 0, 6, 0x1d -/* 042708 80047CA8 38630001 */ addi r3, r3, 1 -/* 04270C 80047CAC 64844800 */ oris r4, r4, 0x4800 -/* 042710 80047CB0 90610084 */ stw r3, 0x84(r1) -/* 042714 80047CB4 60840001 */ ori r4, r4, 1 -/* 042718 80047CB8 7C9F312E */ stwx r4, r31, r6 -/* 04271C 80047CBC 48000010 */ b lbl_80047CCC -lbl_80047CC0: -/* 042720 80047CC0 80610084 */ lwz r3, 0x84(r1) -/* 042724 80047CC4 38630001 */ addi r3, r3, 1 -/* 042728 80047CC8 90610084 */ stw r3, 0x84(r1) -lbl_80047CCC: -/* 04272C 80047CCC 281F0000 */ cmplwi r31, 0 -/* 042730 80047CD0 41820034 */ beq lbl_80047D04 -/* 042734 80047CD4 54031838 */ slwi r3, r0, 3 -/* 042738 80047CD8 80810084 */ lwz r4, 0x84(r1) -/* 04273C 80047CDC 38630040 */ addi r3, r3, 0x40 -/* 042740 80047CE0 7C7E1A14 */ add r3, r30, r3 -/* 042744 80047CE4 7CBE1850 */ subf r5, r30, r3 -/* 042748 80047CE8 38640001 */ addi r3, r4, 1 -/* 04274C 80047CEC 3CA590A3 */ addis r5, r5, 0x90a3 -/* 042750 80047CF0 90610084 */ stw r3, 0x84(r1) -/* 042754 80047CF4 38650004 */ addi r3, r5, 4 -/* 042758 80047CF8 5484103A */ slwi r4, r4, 2 -/* 04275C 80047CFC 7C7F212E */ stwx r3, r31, r4 -/* 042760 80047D00 48000010 */ b lbl_80047D10 -lbl_80047D04: -/* 042764 80047D04 80610084 */ lwz r3, 0x84(r1) -/* 042768 80047D08 38630001 */ addi r3, r3, 1 -/* 04276C 80047D0C 90610084 */ stw r3, 0x84(r1) -lbl_80047D10: -/* 042770 80047D10 281F0000 */ cmplwi r31, 0 -/* 042774 80047D14 41820030 */ beq lbl_80047D44 -/* 042778 80047D18 80610084 */ lwz r3, 0x84(r1) -/* 04277C 80047D1C 54041838 */ slwi r4, r0, 3 -/* 042780 80047D20 38840040 */ addi r4, r4, 0x40 -/* 042784 80047D24 7C9E2214 */ add r4, r30, r4 -/* 042788 80047D28 38A30001 */ addi r5, r3, 1 -/* 04278C 80047D2C 7C9E2050 */ subf r4, r30, r4 -/* 042790 80047D30 90A10084 */ stw r5, 0x84(r1) -/* 042794 80047D34 3C8490C3 */ addis r4, r4, 0x90c3 -/* 042798 80047D38 5463103A */ slwi r3, r3, 2 -/* 04279C 80047D3C 7C9F192E */ stwx r4, r31, r3 -/* 0427A0 80047D40 48000010 */ b lbl_80047D50 -lbl_80047D44: -/* 0427A4 80047D44 80610084 */ lwz r3, 0x84(r1) -/* 0427A8 80047D48 38630001 */ addi r3, r3, 1 -/* 0427AC 80047D4C 90610084 */ stw r3, 0x84(r1) -lbl_80047D50: -/* 0427B0 80047D50 281F0000 */ cmplwi r31, 0 -/* 0427B4 80047D54 41820024 */ beq lbl_80047D78 -/* 0427B8 80047D58 80810084 */ lwz r4, 0x84(r1) -/* 0427BC 80047D5C 3C608101 */ lis r3, 0x8101 -/* 0427C0 80047D60 38A30008 */ addi r5, r3, 8 -/* 0427C4 80047D64 38640001 */ addi r3, r4, 1 -/* 0427C8 80047D68 90610084 */ stw r3, 0x84(r1) -/* 0427CC 80047D6C 5483103A */ slwi r3, r4, 2 -/* 0427D0 80047D70 7CBF192E */ stwx r5, r31, r3 -/* 0427D4 80047D74 48000010 */ b lbl_80047D84 -lbl_80047D78: -/* 0427D8 80047D78 80610084 */ lwz r3, 0x84(r1) -/* 0427DC 80047D7C 38630001 */ addi r3, r3, 1 -/* 0427E0 80047D80 90610084 */ stw r3, 0x84(r1) -lbl_80047D84: -/* 0427E4 80047D84 281F0000 */ cmplwi r31, 0 -/* 0427E8 80047D88 41820024 */ beq lbl_80047DAC -/* 0427EC 80047D8C 80810084 */ lwz r4, 0x84(r1) -/* 0427F0 80047D90 3C603821 */ lis r3, 0x3821 -/* 0427F4 80047D94 38A30010 */ addi r5, r3, 0x10 -/* 0427F8 80047D98 38640001 */ addi r3, r4, 1 -/* 0427FC 80047D9C 90610084 */ stw r3, 0x84(r1) -/* 042800 80047DA0 5483103A */ slwi r3, r4, 2 -/* 042804 80047DA4 7CBF192E */ stwx r5, r31, r3 -/* 042808 80047DA8 48000010 */ b lbl_80047DB8 -lbl_80047DAC: -/* 04280C 80047DAC 80610084 */ lwz r3, 0x84(r1) -/* 042810 80047DB0 38630001 */ addi r3, r3, 1 -/* 042814 80047DB4 90610084 */ stw r3, 0x84(r1) -lbl_80047DB8: -/* 042818 80047DB8 5400103A */ slwi r0, r0, 2 -/* 04281C 80047DBC 7C7A0214 */ add r3, r26, r0 -/* 042820 80047DC0 80030818 */ lwz r0, 0x818(r3) -/* 042824 80047DC4 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 042828 80047DC8 41820008 */ beq lbl_80047DD0 -/* 04282C 80047DCC 48020168 */ b lbl_80067F34 -lbl_80047DD0: -/* 042830 80047DD0 281F0000 */ cmplwi r31, 0 -/* 042834 80047DD4 41820028 */ beq lbl_80047DFC -/* 042838 80047DD8 80610084 */ lwz r3, 0x84(r1) -/* 04283C 80047DDC 5400801E */ slwi r0, r0, 0x10 -/* 042840 80047DE0 64047CC0 */ oris r4, r0, 0x7cc0 -/* 042844 80047DE4 38030001 */ addi r0, r3, 1 -/* 042848 80047DE8 90010084 */ stw r0, 0x84(r1) -/* 04284C 80047DEC 60843378 */ ori r4, r4, 0x3378 -/* 042850 80047DF0 5460103A */ slwi r0, r3, 2 -/* 042854 80047DF4 7C9F012E */ stwx r4, r31, r0 -/* 042858 80047DF8 4802013C */ b lbl_80067F34 -lbl_80047DFC: -/* 04285C 80047DFC 80610084 */ lwz r3, 0x84(r1) -/* 042860 80047E00 38030001 */ addi r0, r3, 1 -/* 042864 80047E04 90010084 */ stw r0, 0x84(r1) -/* 042868 80047E08 4802012C */ b lbl_80067F34 -.global lbl_80047E0C -lbl_80047E0C: -/* 04286C 80047E0C 3C7E0001 */ addis r3, r30, 1 -/* 042870 80047E10 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 042874 80047E14 80832058 */ lwz r4, 0x2058(r3) -/* 042878 80047E18 38000001 */ li r0, 1 -/* 04287C 80047E1C 7C062830 */ slw r6, r0, r5 -/* 042880 80047E20 7C863039 */ and. r6, r4, r6 -/* 042884 80047E24 40820014 */ bne lbl_80047E38 -/* 042888 80047E28 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 04288C 80047E2C 7C063030 */ slw r6, r0, r6 -/* 042890 80047E30 7C863039 */ and. r6, r4, r6 -/* 042894 80047E34 41820024 */ beq lbl_80047E58 -lbl_80047E38: -/* 042898 80047E38 3C7E0001 */ addis r3, r30, 1 -/* 04289C 80047E3C 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 0428A0 80047E40 80832058 */ lwz r4, 0x2058(r3) -/* 0428A4 80047E44 38000001 */ li r0, 1 -/* 0428A8 80047E48 7C003030 */ slw r0, r0, r6 -/* 0428AC 80047E4C 7C800378 */ or r0, r4, r0 -/* 0428B0 80047E50 90032058 */ stw r0, 0x2058(r3) -/* 0428B4 80047E54 48000014 */ b lbl_80047E68 -lbl_80047E58: -/* 0428B8 80047E58 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 0428BC 80047E5C 7C003030 */ slw r0, r0, r6 -/* 0428C0 80047E60 7C800078 */ andc r0, r4, r0 -/* 0428C4 80047E64 90032058 */ stw r0, 0x2058(r3) -lbl_80047E68: -/* 0428C8 80047E68 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 0428CC 80047E6C 7C7A0214 */ add r3, r26, r0 -/* 0428D0 80047E70 80030818 */ lwz r0, 0x818(r3) -/* 0428D4 80047E74 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 0428D8 80047E78 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0428DC 80047E7C 40820050 */ bne lbl_80047ECC -/* 0428E0 80047E80 281F0000 */ cmplwi r31, 0 -/* 0428E4 80047E84 4182003C */ beq lbl_80047EC0 -/* 0428E8 80047E88 54E41838 */ slwi r4, r7, 3 -/* 0428EC 80047E8C 80610084 */ lwz r3, 0x84(r1) -/* 0428F0 80047E90 38840040 */ addi r4, r4, 0x40 -/* 0428F4 80047E94 5400A814 */ slwi r0, r0, 0x15 -/* 0428F8 80047E98 7C9E2214 */ add r4, r30, r4 -/* 0428FC 80047E9C 38C30001 */ addi r6, r3, 1 -/* 042900 80047EA0 64009003 */ oris r0, r0, 0x9003 -/* 042904 80047EA4 90C10084 */ stw r6, 0x84(r1) -/* 042908 80047EA8 7C9E2050 */ subf r4, r30, r4 -/* 04290C 80047EAC 7C840214 */ add r4, r4, r0 -/* 042910 80047EB0 38040004 */ addi r0, r4, 4 -/* 042914 80047EB4 5463103A */ slwi r3, r3, 2 -/* 042918 80047EB8 7C1F192E */ stwx r0, r31, r3 -/* 04291C 80047EBC 48000010 */ b lbl_80047ECC -lbl_80047EC0: -/* 042920 80047EC0 80610084 */ lwz r3, 0x84(r1) -/* 042924 80047EC4 38030001 */ addi r0, r3, 1 -/* 042928 80047EC8 90010084 */ stw r0, 0x84(r1) -lbl_80047ECC: -/* 04292C 80047ECC 54A0103A */ slwi r0, r5, 2 -/* 042930 80047ED0 7C7A0214 */ add r3, r26, r0 -/* 042934 80047ED4 80030818 */ lwz r0, 0x818(r3) -/* 042938 80047ED8 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 04293C 80047EDC 40820050 */ bne lbl_80047F2C -/* 042940 80047EE0 281F0000 */ cmplwi r31, 0 -/* 042944 80047EE4 4182003C */ beq lbl_80047F20 -/* 042948 80047EE8 54A41838 */ slwi r4, r5, 3 -/* 04294C 80047EEC 80610084 */ lwz r3, 0x84(r1) -/* 042950 80047EF0 38840040 */ addi r4, r4, 0x40 -/* 042954 80047EF4 5400A814 */ slwi r0, r0, 0x15 -/* 042958 80047EF8 7C9E2214 */ add r4, r30, r4 -/* 04295C 80047EFC 38C30001 */ addi r6, r3, 1 -/* 042960 80047F00 64009003 */ oris r0, r0, 0x9003 -/* 042964 80047F04 90C10084 */ stw r6, 0x84(r1) -/* 042968 80047F08 7C9E2050 */ subf r4, r30, r4 -/* 04296C 80047F0C 7C840214 */ add r4, r4, r0 -/* 042970 80047F10 38040004 */ addi r0, r4, 4 -/* 042974 80047F14 5463103A */ slwi r3, r3, 2 -/* 042978 80047F18 7C1F192E */ stwx r0, r31, r3 -/* 04297C 80047F1C 48000010 */ b lbl_80047F2C -lbl_80047F20: -/* 042980 80047F20 80610084 */ lwz r3, 0x84(r1) -/* 042984 80047F24 38030001 */ addi r0, r3, 1 -/* 042988 80047F28 90010084 */ stw r0, 0x84(r1) -lbl_80047F2C: -/* 04298C 80047F2C 281F0000 */ cmplwi r31, 0 -/* 042990 80047F30 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 042994 80047F34 41820024 */ beq lbl_80047F58 -/* 042998 80047F38 80810084 */ lwz r4, 0x84(r1) -/* 04299C 80047F3C 3C609422 */ lis r3, 0x9422 -/* 0429A0 80047F40 38C3FFF0 */ addi r6, r3, -16 -/* 0429A4 80047F44 38640001 */ addi r3, r4, 1 -/* 0429A8 80047F48 90610084 */ stw r3, 0x84(r1) -/* 0429AC 80047F4C 5483103A */ slwi r3, r4, 2 -/* 0429B0 80047F50 7CDF192E */ stwx r6, r31, r3 -/* 0429B4 80047F54 48000010 */ b lbl_80047F64 -lbl_80047F58: -/* 0429B8 80047F58 80610084 */ lwz r3, 0x84(r1) -/* 0429BC 80047F5C 38630001 */ addi r3, r3, 1 -/* 0429C0 80047F60 90610084 */ stw r3, 0x84(r1) -lbl_80047F64: -/* 0429C4 80047F64 281F0000 */ cmplwi r31, 0 -/* 0429C8 80047F68 41820024 */ beq lbl_80047F8C -/* 0429CC 80047F6C 80810084 */ lwz r4, 0x84(r1) -/* 0429D0 80047F70 3C609101 */ lis r3, 0x9101 -/* 0429D4 80047F74 38C30008 */ addi r6, r3, 8 -/* 0429D8 80047F78 38640001 */ addi r3, r4, 1 -/* 0429DC 80047F7C 90610084 */ stw r3, 0x84(r1) -/* 0429E0 80047F80 5483103A */ slwi r3, r4, 2 -/* 0429E4 80047F84 7CDF192E */ stwx r6, r31, r3 -/* 0429E8 80047F88 48000010 */ b lbl_80047F98 -lbl_80047F8C: -/* 0429EC 80047F8C 80610084 */ lwz r3, 0x84(r1) -/* 0429F0 80047F90 38630001 */ addi r3, r3, 1 -/* 0429F4 80047F94 90610084 */ stw r3, 0x84(r1) -lbl_80047F98: -/* 0429F8 80047F98 281F0000 */ cmplwi r31, 0 -/* 0429FC 80047F9C 41820034 */ beq lbl_80047FD0 -/* 042A00 80047FA0 54A41838 */ slwi r4, r5, 3 -/* 042A04 80047FA4 80610084 */ lwz r3, 0x84(r1) -/* 042A08 80047FA8 38840040 */ addi r4, r4, 0x40 -/* 042A0C 80047FAC 7C9E2214 */ add r4, r30, r4 -/* 042A10 80047FB0 7C9E2050 */ subf r4, r30, r4 -/* 042A14 80047FB4 38C30001 */ addi r6, r3, 1 -/* 042A18 80047FB8 3C8480A3 */ addis r4, r4, 0x80a3 -/* 042A1C 80047FBC 90C10084 */ stw r6, 0x84(r1) -/* 042A20 80047FC0 38840004 */ addi r4, r4, 4 -/* 042A24 80047FC4 5463103A */ slwi r3, r3, 2 -/* 042A28 80047FC8 7C9F192E */ stwx r4, r31, r3 -/* 042A2C 80047FCC 48000010 */ b lbl_80047FDC -lbl_80047FD0: -/* 042A30 80047FD0 80610084 */ lwz r3, 0x84(r1) -/* 042A34 80047FD4 38630001 */ addi r3, r3, 1 -/* 042A38 80047FD8 90610084 */ stw r3, 0x84(r1) -lbl_80047FDC: -/* 042A3C 80047FDC 281F0000 */ cmplwi r31, 0 -/* 042A40 80047FE0 41820030 */ beq lbl_80048010 -/* 042A44 80047FE4 80610084 */ lwz r3, 0x84(r1) -/* 042A48 80047FE8 54A41838 */ slwi r4, r5, 3 -/* 042A4C 80047FEC 38840040 */ addi r4, r4, 0x40 -/* 042A50 80047FF0 7C9E2214 */ add r4, r30, r4 -/* 042A54 80047FF4 38A30001 */ addi r5, r3, 1 -/* 042A58 80047FF8 7C9E2050 */ subf r4, r30, r4 -/* 042A5C 80047FFC 90A10084 */ stw r5, 0x84(r1) -/* 042A60 80048000 3C8480C3 */ addis r4, r4, 0x80c3 -/* 042A64 80048004 5463103A */ slwi r3, r3, 2 -/* 042A68 80048008 7C9F192E */ stwx r4, r31, r3 -/* 042A6C 8004800C 48000010 */ b lbl_8004801C -lbl_80048010: -/* 042A70 80048010 80610084 */ lwz r3, 0x84(r1) -/* 042A74 80048014 38630001 */ addi r3, r3, 1 -/* 042A78 80048018 90610084 */ stw r3, 0x84(r1) -lbl_8004801C: -/* 042A7C 8004801C 281F0000 */ cmplwi r31, 0 -/* 042A80 80048020 41820034 */ beq lbl_80048054 -/* 042A84 80048024 54E31838 */ slwi r3, r7, 3 -/* 042A88 80048028 80810084 */ lwz r4, 0x84(r1) -/* 042A8C 8004802C 38630040 */ addi r3, r3, 0x40 -/* 042A90 80048030 7C7E1A14 */ add r3, r30, r3 -/* 042A94 80048034 7CBE1850 */ subf r5, r30, r3 -/* 042A98 80048038 38640001 */ addi r3, r4, 1 -/* 042A9C 8004803C 3CA580E3 */ addis r5, r5, 0x80e3 -/* 042AA0 80048040 90610084 */ stw r3, 0x84(r1) -/* 042AA4 80048044 38650004 */ addi r3, r5, 4 -/* 042AA8 80048048 5484103A */ slwi r4, r4, 2 -/* 042AAC 8004804C 7C7F212E */ stwx r3, r31, r4 -/* 042AB0 80048050 48000010 */ b lbl_80048060 -lbl_80048054: -/* 042AB4 80048054 80610084 */ lwz r3, 0x84(r1) -/* 042AB8 80048058 38630001 */ addi r3, r3, 1 -/* 042ABC 8004805C 90610084 */ stw r3, 0x84(r1) -lbl_80048060: -/* 042AC0 80048060 281F0000 */ cmplwi r31, 0 -/* 042AC4 80048064 41820030 */ beq lbl_80048094 -/* 042AC8 80048068 80610084 */ lwz r3, 0x84(r1) -/* 042ACC 8004806C 54E41838 */ slwi r4, r7, 3 -/* 042AD0 80048070 38840040 */ addi r4, r4, 0x40 -/* 042AD4 80048074 7C9E2214 */ add r4, r30, r4 -/* 042AD8 80048078 38A30001 */ addi r5, r3, 1 -/* 042ADC 8004807C 7C9E2050 */ subf r4, r30, r4 -/* 042AE0 80048080 90A10084 */ stw r5, 0x84(r1) -/* 042AE4 80048084 3C848103 */ addis r4, r4, 0x8103 -/* 042AE8 80048088 5463103A */ slwi r3, r3, 2 -/* 042AEC 8004808C 7C9F192E */ stwx r4, r31, r3 -/* 042AF0 80048090 48000010 */ b lbl_800480A0 -lbl_80048094: -/* 042AF4 80048094 80610084 */ lwz r3, 0x84(r1) -/* 042AF8 80048098 38630001 */ addi r3, r3, 1 -/* 042AFC 8004809C 90610084 */ stw r3, 0x84(r1) -lbl_800480A0: -/* 042B00 800480A0 281F0000 */ cmplwi r31, 0 -/* 042B04 800480A4 41820034 */ beq lbl_800480D8 -/* 042B08 800480A8 80610084 */ lwz r3, 0x84(r1) -/* 042B0C 800480AC 808D8A28 */ lwz r4, cpuCompile_DSUB_function@sda21(r13) -/* 042B10 800480B0 5466103A */ slwi r6, r3, 2 -/* 042B14 800480B4 7CBF3214 */ add r5, r31, r6 -/* 042B18 800480B8 7C852050 */ subf r4, r5, r4 -/* 042B1C 800480BC 548401BA */ rlwinm r4, r4, 0, 6, 0x1d -/* 042B20 800480C0 38630001 */ addi r3, r3, 1 -/* 042B24 800480C4 64844800 */ oris r4, r4, 0x4800 -/* 042B28 800480C8 90610084 */ stw r3, 0x84(r1) -/* 042B2C 800480CC 60840001 */ ori r4, r4, 1 -/* 042B30 800480D0 7C9F312E */ stwx r4, r31, r6 -/* 042B34 800480D4 48000010 */ b lbl_800480E4 -lbl_800480D8: -/* 042B38 800480D8 80610084 */ lwz r3, 0x84(r1) -/* 042B3C 800480DC 38630001 */ addi r3, r3, 1 -/* 042B40 800480E0 90610084 */ stw r3, 0x84(r1) -lbl_800480E4: -/* 042B44 800480E4 281F0000 */ cmplwi r31, 0 -/* 042B48 800480E8 41820034 */ beq lbl_8004811C -/* 042B4C 800480EC 54031838 */ slwi r3, r0, 3 -/* 042B50 800480F0 80810084 */ lwz r4, 0x84(r1) -/* 042B54 800480F4 38630040 */ addi r3, r3, 0x40 -/* 042B58 800480F8 7C7E1A14 */ add r3, r30, r3 -/* 042B5C 800480FC 7CBE1850 */ subf r5, r30, r3 -/* 042B60 80048100 38640001 */ addi r3, r4, 1 -/* 042B64 80048104 3CA590A3 */ addis r5, r5, 0x90a3 -/* 042B68 80048108 90610084 */ stw r3, 0x84(r1) -/* 042B6C 8004810C 38650004 */ addi r3, r5, 4 -/* 042B70 80048110 5484103A */ slwi r4, r4, 2 -/* 042B74 80048114 7C7F212E */ stwx r3, r31, r4 -/* 042B78 80048118 48000010 */ b lbl_80048128 -lbl_8004811C: -/* 042B7C 8004811C 80610084 */ lwz r3, 0x84(r1) -/* 042B80 80048120 38630001 */ addi r3, r3, 1 -/* 042B84 80048124 90610084 */ stw r3, 0x84(r1) -lbl_80048128: -/* 042B88 80048128 281F0000 */ cmplwi r31, 0 -/* 042B8C 8004812C 41820030 */ beq lbl_8004815C -/* 042B90 80048130 80610084 */ lwz r3, 0x84(r1) -/* 042B94 80048134 54041838 */ slwi r4, r0, 3 -/* 042B98 80048138 38840040 */ addi r4, r4, 0x40 -/* 042B9C 8004813C 7C9E2214 */ add r4, r30, r4 -/* 042BA0 80048140 38A30001 */ addi r5, r3, 1 -/* 042BA4 80048144 7C9E2050 */ subf r4, r30, r4 -/* 042BA8 80048148 90A10084 */ stw r5, 0x84(r1) -/* 042BAC 8004814C 3C8490C3 */ addis r4, r4, 0x90c3 -/* 042BB0 80048150 5463103A */ slwi r3, r3, 2 -/* 042BB4 80048154 7C9F192E */ stwx r4, r31, r3 -/* 042BB8 80048158 48000010 */ b lbl_80048168 -lbl_8004815C: -/* 042BBC 8004815C 80610084 */ lwz r3, 0x84(r1) -/* 042BC0 80048160 38630001 */ addi r3, r3, 1 -/* 042BC4 80048164 90610084 */ stw r3, 0x84(r1) -lbl_80048168: -/* 042BC8 80048168 281F0000 */ cmplwi r31, 0 -/* 042BCC 8004816C 41820024 */ beq lbl_80048190 -/* 042BD0 80048170 80810084 */ lwz r4, 0x84(r1) -/* 042BD4 80048174 3C608101 */ lis r3, 0x8101 -/* 042BD8 80048178 38A30008 */ addi r5, r3, 8 -/* 042BDC 8004817C 38640001 */ addi r3, r4, 1 -/* 042BE0 80048180 90610084 */ stw r3, 0x84(r1) -/* 042BE4 80048184 5483103A */ slwi r3, r4, 2 -/* 042BE8 80048188 7CBF192E */ stwx r5, r31, r3 -/* 042BEC 8004818C 48000010 */ b lbl_8004819C -lbl_80048190: -/* 042BF0 80048190 80610084 */ lwz r3, 0x84(r1) -/* 042BF4 80048194 38630001 */ addi r3, r3, 1 -/* 042BF8 80048198 90610084 */ stw r3, 0x84(r1) -lbl_8004819C: -/* 042BFC 8004819C 281F0000 */ cmplwi r31, 0 -/* 042C00 800481A0 41820024 */ beq lbl_800481C4 -/* 042C04 800481A4 80810084 */ lwz r4, 0x84(r1) -/* 042C08 800481A8 3C603821 */ lis r3, 0x3821 -/* 042C0C 800481AC 38A30010 */ addi r5, r3, 0x10 -/* 042C10 800481B0 38640001 */ addi r3, r4, 1 -/* 042C14 800481B4 90610084 */ stw r3, 0x84(r1) -/* 042C18 800481B8 5483103A */ slwi r3, r4, 2 -/* 042C1C 800481BC 7CBF192E */ stwx r5, r31, r3 -/* 042C20 800481C0 48000010 */ b lbl_800481D0 -lbl_800481C4: -/* 042C24 800481C4 80610084 */ lwz r3, 0x84(r1) -/* 042C28 800481C8 38630001 */ addi r3, r3, 1 -/* 042C2C 800481CC 90610084 */ stw r3, 0x84(r1) -lbl_800481D0: -/* 042C30 800481D0 5400103A */ slwi r0, r0, 2 -/* 042C34 800481D4 7C7A0214 */ add r3, r26, r0 -/* 042C38 800481D8 80030818 */ lwz r0, 0x818(r3) -/* 042C3C 800481DC 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 042C40 800481E0 41820008 */ beq lbl_800481E8 -/* 042C44 800481E4 4801FD50 */ b lbl_80067F34 -lbl_800481E8: -/* 042C48 800481E8 281F0000 */ cmplwi r31, 0 -/* 042C4C 800481EC 41820028 */ beq lbl_80048214 -/* 042C50 800481F0 80610084 */ lwz r3, 0x84(r1) -/* 042C54 800481F4 5400801E */ slwi r0, r0, 0x10 -/* 042C58 800481F8 64047CC0 */ oris r4, r0, 0x7cc0 -/* 042C5C 800481FC 38030001 */ addi r0, r3, 1 -/* 042C60 80048200 90010084 */ stw r0, 0x84(r1) -/* 042C64 80048204 60843378 */ ori r4, r4, 0x3378 -/* 042C68 80048208 5460103A */ slwi r0, r3, 2 -/* 042C6C 8004820C 7C9F012E */ stwx r4, r31, r0 -/* 042C70 80048210 4801FD24 */ b lbl_80067F34 -lbl_80048214: -/* 042C74 80048214 80610084 */ lwz r3, 0x84(r1) -/* 042C78 80048218 38030001 */ addi r0, r3, 1 -/* 042C7C 8004821C 90010084 */ stw r0, 0x84(r1) -/* 042C80 80048220 4801FD14 */ b lbl_80067F34 -.global lbl_80048224 -lbl_80048224: -/* 042C84 80048224 3C7E0001 */ addis r3, r30, 1 -/* 042C88 80048228 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 042C8C 8004822C 80832058 */ lwz r4, 0x2058(r3) -/* 042C90 80048230 38000001 */ li r0, 1 -/* 042C94 80048234 7C062830 */ slw r6, r0, r5 -/* 042C98 80048238 7C863039 */ and. r6, r4, r6 -/* 042C9C 8004823C 40820014 */ bne lbl_80048250 -/* 042CA0 80048240 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 042CA4 80048244 7C063030 */ slw r6, r0, r6 -/* 042CA8 80048248 7C863039 */ and. r6, r4, r6 -/* 042CAC 8004824C 41820024 */ beq lbl_80048270 -lbl_80048250: -/* 042CB0 80048250 3C7E0001 */ addis r3, r30, 1 -/* 042CB4 80048254 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 042CB8 80048258 80832058 */ lwz r4, 0x2058(r3) -/* 042CBC 8004825C 38000001 */ li r0, 1 -/* 042CC0 80048260 7C003030 */ slw r0, r0, r6 -/* 042CC4 80048264 7C800378 */ or r0, r4, r0 -/* 042CC8 80048268 90032058 */ stw r0, 0x2058(r3) -/* 042CCC 8004826C 48000014 */ b lbl_80048280 -lbl_80048270: -/* 042CD0 80048270 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 042CD4 80048274 7C003030 */ slw r0, r0, r6 -/* 042CD8 80048278 7C800078 */ andc r0, r4, r0 -/* 042CDC 8004827C 90032058 */ stw r0, 0x2058(r3) -lbl_80048280: -/* 042CE0 80048280 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 042CE4 80048284 7C7A0214 */ add r3, r26, r0 -/* 042CE8 80048288 80030818 */ lwz r0, 0x818(r3) -/* 042CEC 8004828C 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 042CF0 80048290 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 042CF4 80048294 40820050 */ bne lbl_800482E4 -/* 042CF8 80048298 281F0000 */ cmplwi r31, 0 -/* 042CFC 8004829C 4182003C */ beq lbl_800482D8 -/* 042D00 800482A0 54E41838 */ slwi r4, r7, 3 -/* 042D04 800482A4 80610084 */ lwz r3, 0x84(r1) -/* 042D08 800482A8 38840040 */ addi r4, r4, 0x40 -/* 042D0C 800482AC 5400A814 */ slwi r0, r0, 0x15 -/* 042D10 800482B0 7C9E2214 */ add r4, r30, r4 -/* 042D14 800482B4 38C30001 */ addi r6, r3, 1 -/* 042D18 800482B8 64009003 */ oris r0, r0, 0x9003 -/* 042D1C 800482BC 90C10084 */ stw r6, 0x84(r1) -/* 042D20 800482C0 7C9E2050 */ subf r4, r30, r4 -/* 042D24 800482C4 7C840214 */ add r4, r4, r0 -/* 042D28 800482C8 38040004 */ addi r0, r4, 4 -/* 042D2C 800482CC 5463103A */ slwi r3, r3, 2 -/* 042D30 800482D0 7C1F192E */ stwx r0, r31, r3 -/* 042D34 800482D4 48000010 */ b lbl_800482E4 -lbl_800482D8: -/* 042D38 800482D8 80610084 */ lwz r3, 0x84(r1) -/* 042D3C 800482DC 38030001 */ addi r0, r3, 1 -/* 042D40 800482E0 90010084 */ stw r0, 0x84(r1) -lbl_800482E4: -/* 042D44 800482E4 54A0103A */ slwi r0, r5, 2 -/* 042D48 800482E8 7C7A0214 */ add r3, r26, r0 -/* 042D4C 800482EC 80030818 */ lwz r0, 0x818(r3) -/* 042D50 800482F0 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 042D54 800482F4 40820050 */ bne lbl_80048344 -/* 042D58 800482F8 281F0000 */ cmplwi r31, 0 -/* 042D5C 800482FC 4182003C */ beq lbl_80048338 -/* 042D60 80048300 54A41838 */ slwi r4, r5, 3 -/* 042D64 80048304 80610084 */ lwz r3, 0x84(r1) -/* 042D68 80048308 38840040 */ addi r4, r4, 0x40 -/* 042D6C 8004830C 5400A814 */ slwi r0, r0, 0x15 -/* 042D70 80048310 7C9E2214 */ add r4, r30, r4 -/* 042D74 80048314 38C30001 */ addi r6, r3, 1 -/* 042D78 80048318 64009003 */ oris r0, r0, 0x9003 -/* 042D7C 8004831C 90C10084 */ stw r6, 0x84(r1) -/* 042D80 80048320 7C9E2050 */ subf r4, r30, r4 -/* 042D84 80048324 7C840214 */ add r4, r4, r0 -/* 042D88 80048328 38040004 */ addi r0, r4, 4 -/* 042D8C 8004832C 5463103A */ slwi r3, r3, 2 -/* 042D90 80048330 7C1F192E */ stwx r0, r31, r3 -/* 042D94 80048334 48000010 */ b lbl_80048344 -lbl_80048338: -/* 042D98 80048338 80610084 */ lwz r3, 0x84(r1) -/* 042D9C 8004833C 38030001 */ addi r0, r3, 1 -/* 042DA0 80048340 90010084 */ stw r0, 0x84(r1) -lbl_80048344: -/* 042DA4 80048344 281F0000 */ cmplwi r31, 0 -/* 042DA8 80048348 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 042DAC 8004834C 41820024 */ beq lbl_80048370 -/* 042DB0 80048350 80810084 */ lwz r4, 0x84(r1) -/* 042DB4 80048354 3C609422 */ lis r3, 0x9422 -/* 042DB8 80048358 38C3FFF0 */ addi r6, r3, -16 -/* 042DBC 8004835C 38640001 */ addi r3, r4, 1 -/* 042DC0 80048360 90610084 */ stw r3, 0x84(r1) -/* 042DC4 80048364 5483103A */ slwi r3, r4, 2 -/* 042DC8 80048368 7CDF192E */ stwx r6, r31, r3 -/* 042DCC 8004836C 48000010 */ b lbl_8004837C -lbl_80048370: -/* 042DD0 80048370 80610084 */ lwz r3, 0x84(r1) -/* 042DD4 80048374 38630001 */ addi r3, r3, 1 -/* 042DD8 80048378 90610084 */ stw r3, 0x84(r1) -lbl_8004837C: -/* 042DDC 8004837C 281F0000 */ cmplwi r31, 0 -/* 042DE0 80048380 41820024 */ beq lbl_800483A4 -/* 042DE4 80048384 80810084 */ lwz r4, 0x84(r1) -/* 042DE8 80048388 3C609101 */ lis r3, 0x9101 -/* 042DEC 8004838C 38C30008 */ addi r6, r3, 8 -/* 042DF0 80048390 38640001 */ addi r3, r4, 1 -/* 042DF4 80048394 90610084 */ stw r3, 0x84(r1) -/* 042DF8 80048398 5483103A */ slwi r3, r4, 2 -/* 042DFC 8004839C 7CDF192E */ stwx r6, r31, r3 -/* 042E00 800483A0 48000010 */ b lbl_800483B0 -lbl_800483A4: -/* 042E04 800483A4 80610084 */ lwz r3, 0x84(r1) -/* 042E08 800483A8 38630001 */ addi r3, r3, 1 -/* 042E0C 800483AC 90610084 */ stw r3, 0x84(r1) -lbl_800483B0: -/* 042E10 800483B0 281F0000 */ cmplwi r31, 0 -/* 042E14 800483B4 41820034 */ beq lbl_800483E8 -/* 042E18 800483B8 54A41838 */ slwi r4, r5, 3 -/* 042E1C 800483BC 80610084 */ lwz r3, 0x84(r1) -/* 042E20 800483C0 38840040 */ addi r4, r4, 0x40 -/* 042E24 800483C4 7C9E2214 */ add r4, r30, r4 -/* 042E28 800483C8 7C9E2050 */ subf r4, r30, r4 -/* 042E2C 800483CC 38C30001 */ addi r6, r3, 1 -/* 042E30 800483D0 3C8480A3 */ addis r4, r4, 0x80a3 -/* 042E34 800483D4 90C10084 */ stw r6, 0x84(r1) -/* 042E38 800483D8 38840004 */ addi r4, r4, 4 -/* 042E3C 800483DC 5463103A */ slwi r3, r3, 2 -/* 042E40 800483E0 7C9F192E */ stwx r4, r31, r3 -/* 042E44 800483E4 48000010 */ b lbl_800483F4 -lbl_800483E8: -/* 042E48 800483E8 80610084 */ lwz r3, 0x84(r1) -/* 042E4C 800483EC 38630001 */ addi r3, r3, 1 -/* 042E50 800483F0 90610084 */ stw r3, 0x84(r1) -lbl_800483F4: -/* 042E54 800483F4 281F0000 */ cmplwi r31, 0 -/* 042E58 800483F8 41820030 */ beq lbl_80048428 -/* 042E5C 800483FC 80610084 */ lwz r3, 0x84(r1) -/* 042E60 80048400 54A41838 */ slwi r4, r5, 3 -/* 042E64 80048404 38840040 */ addi r4, r4, 0x40 -/* 042E68 80048408 7C9E2214 */ add r4, r30, r4 -/* 042E6C 8004840C 38A30001 */ addi r5, r3, 1 -/* 042E70 80048410 7C9E2050 */ subf r4, r30, r4 -/* 042E74 80048414 90A10084 */ stw r5, 0x84(r1) -/* 042E78 80048418 3C8480C3 */ addis r4, r4, 0x80c3 -/* 042E7C 8004841C 5463103A */ slwi r3, r3, 2 -/* 042E80 80048420 7C9F192E */ stwx r4, r31, r3 -/* 042E84 80048424 48000010 */ b lbl_80048434 -lbl_80048428: -/* 042E88 80048428 80610084 */ lwz r3, 0x84(r1) -/* 042E8C 8004842C 38630001 */ addi r3, r3, 1 -/* 042E90 80048430 90610084 */ stw r3, 0x84(r1) -lbl_80048434: -/* 042E94 80048434 281F0000 */ cmplwi r31, 0 -/* 042E98 80048438 41820034 */ beq lbl_8004846C -/* 042E9C 8004843C 54E31838 */ slwi r3, r7, 3 -/* 042EA0 80048440 80810084 */ lwz r4, 0x84(r1) -/* 042EA4 80048444 38630040 */ addi r3, r3, 0x40 -/* 042EA8 80048448 7C7E1A14 */ add r3, r30, r3 -/* 042EAC 8004844C 7CBE1850 */ subf r5, r30, r3 -/* 042EB0 80048450 38640001 */ addi r3, r4, 1 -/* 042EB4 80048454 3CA580E3 */ addis r5, r5, 0x80e3 -/* 042EB8 80048458 90610084 */ stw r3, 0x84(r1) -/* 042EBC 8004845C 38650004 */ addi r3, r5, 4 -/* 042EC0 80048460 5484103A */ slwi r4, r4, 2 -/* 042EC4 80048464 7C7F212E */ stwx r3, r31, r4 -/* 042EC8 80048468 48000010 */ b lbl_80048478 -lbl_8004846C: -/* 042ECC 8004846C 80610084 */ lwz r3, 0x84(r1) -/* 042ED0 80048470 38630001 */ addi r3, r3, 1 -/* 042ED4 80048474 90610084 */ stw r3, 0x84(r1) -lbl_80048478: -/* 042ED8 80048478 281F0000 */ cmplwi r31, 0 -/* 042EDC 8004847C 41820030 */ beq lbl_800484AC -/* 042EE0 80048480 80610084 */ lwz r3, 0x84(r1) -/* 042EE4 80048484 54E41838 */ slwi r4, r7, 3 -/* 042EE8 80048488 38840040 */ addi r4, r4, 0x40 -/* 042EEC 8004848C 7C9E2214 */ add r4, r30, r4 -/* 042EF0 80048490 38A30001 */ addi r5, r3, 1 -/* 042EF4 80048494 7C9E2050 */ subf r4, r30, r4 -/* 042EF8 80048498 90A10084 */ stw r5, 0x84(r1) -/* 042EFC 8004849C 3C848103 */ addis r4, r4, 0x8103 -/* 042F00 800484A0 5463103A */ slwi r3, r3, 2 -/* 042F04 800484A4 7C9F192E */ stwx r4, r31, r3 -/* 042F08 800484A8 48000010 */ b lbl_800484B8 -lbl_800484AC: -/* 042F0C 800484AC 80610084 */ lwz r3, 0x84(r1) -/* 042F10 800484B0 38630001 */ addi r3, r3, 1 -/* 042F14 800484B4 90610084 */ stw r3, 0x84(r1) -lbl_800484B8: -/* 042F18 800484B8 281F0000 */ cmplwi r31, 0 -/* 042F1C 800484BC 41820034 */ beq lbl_800484F0 -/* 042F20 800484C0 80610084 */ lwz r3, 0x84(r1) -/* 042F24 800484C4 808D8A2C */ lwz r4, cpuCompile_DSUBU_function@sda21(r13) -/* 042F28 800484C8 5466103A */ slwi r6, r3, 2 -/* 042F2C 800484CC 7CBF3214 */ add r5, r31, r6 -/* 042F30 800484D0 7C852050 */ subf r4, r5, r4 -/* 042F34 800484D4 548401BA */ rlwinm r4, r4, 0, 6, 0x1d -/* 042F38 800484D8 38630001 */ addi r3, r3, 1 -/* 042F3C 800484DC 64844800 */ oris r4, r4, 0x4800 -/* 042F40 800484E0 90610084 */ stw r3, 0x84(r1) -/* 042F44 800484E4 60840001 */ ori r4, r4, 1 -/* 042F48 800484E8 7C9F312E */ stwx r4, r31, r6 -/* 042F4C 800484EC 48000010 */ b lbl_800484FC -lbl_800484F0: -/* 042F50 800484F0 80610084 */ lwz r3, 0x84(r1) -/* 042F54 800484F4 38630001 */ addi r3, r3, 1 -/* 042F58 800484F8 90610084 */ stw r3, 0x84(r1) -lbl_800484FC: -/* 042F5C 800484FC 281F0000 */ cmplwi r31, 0 -/* 042F60 80048500 41820034 */ beq lbl_80048534 -/* 042F64 80048504 54031838 */ slwi r3, r0, 3 -/* 042F68 80048508 80810084 */ lwz r4, 0x84(r1) -/* 042F6C 8004850C 38630040 */ addi r3, r3, 0x40 -/* 042F70 80048510 7C7E1A14 */ add r3, r30, r3 -/* 042F74 80048514 7CBE1850 */ subf r5, r30, r3 -/* 042F78 80048518 38640001 */ addi r3, r4, 1 -/* 042F7C 8004851C 3CA590A3 */ addis r5, r5, 0x90a3 -/* 042F80 80048520 90610084 */ stw r3, 0x84(r1) -/* 042F84 80048524 38650004 */ addi r3, r5, 4 -/* 042F88 80048528 5484103A */ slwi r4, r4, 2 -/* 042F8C 8004852C 7C7F212E */ stwx r3, r31, r4 -/* 042F90 80048530 48000010 */ b lbl_80048540 -lbl_80048534: -/* 042F94 80048534 80610084 */ lwz r3, 0x84(r1) -/* 042F98 80048538 38630001 */ addi r3, r3, 1 -/* 042F9C 8004853C 90610084 */ stw r3, 0x84(r1) -lbl_80048540: -/* 042FA0 80048540 281F0000 */ cmplwi r31, 0 -/* 042FA4 80048544 41820030 */ beq lbl_80048574 -/* 042FA8 80048548 80610084 */ lwz r3, 0x84(r1) -/* 042FAC 8004854C 54041838 */ slwi r4, r0, 3 -/* 042FB0 80048550 38840040 */ addi r4, r4, 0x40 -/* 042FB4 80048554 7C9E2214 */ add r4, r30, r4 -/* 042FB8 80048558 38A30001 */ addi r5, r3, 1 -/* 042FBC 8004855C 7C9E2050 */ subf r4, r30, r4 -/* 042FC0 80048560 90A10084 */ stw r5, 0x84(r1) -/* 042FC4 80048564 3C8490C3 */ addis r4, r4, 0x90c3 -/* 042FC8 80048568 5463103A */ slwi r3, r3, 2 -/* 042FCC 8004856C 7C9F192E */ stwx r4, r31, r3 -/* 042FD0 80048570 48000010 */ b lbl_80048580 -lbl_80048574: -/* 042FD4 80048574 80610084 */ lwz r3, 0x84(r1) -/* 042FD8 80048578 38630001 */ addi r3, r3, 1 -/* 042FDC 8004857C 90610084 */ stw r3, 0x84(r1) -lbl_80048580: -/* 042FE0 80048580 281F0000 */ cmplwi r31, 0 -/* 042FE4 80048584 41820024 */ beq lbl_800485A8 -/* 042FE8 80048588 80810084 */ lwz r4, 0x84(r1) -/* 042FEC 8004858C 3C608101 */ lis r3, 0x8101 -/* 042FF0 80048590 38A30008 */ addi r5, r3, 8 -/* 042FF4 80048594 38640001 */ addi r3, r4, 1 -/* 042FF8 80048598 90610084 */ stw r3, 0x84(r1) -/* 042FFC 8004859C 5483103A */ slwi r3, r4, 2 -/* 043000 800485A0 7CBF192E */ stwx r5, r31, r3 -/* 043004 800485A4 48000010 */ b lbl_800485B4 -lbl_800485A8: -/* 043008 800485A8 80610084 */ lwz r3, 0x84(r1) -/* 04300C 800485AC 38630001 */ addi r3, r3, 1 -/* 043010 800485B0 90610084 */ stw r3, 0x84(r1) -lbl_800485B4: -/* 043014 800485B4 281F0000 */ cmplwi r31, 0 -/* 043018 800485B8 41820024 */ beq lbl_800485DC -/* 04301C 800485BC 80810084 */ lwz r4, 0x84(r1) -/* 043020 800485C0 3C603821 */ lis r3, 0x3821 -/* 043024 800485C4 38A30010 */ addi r5, r3, 0x10 -/* 043028 800485C8 38640001 */ addi r3, r4, 1 -/* 04302C 800485CC 90610084 */ stw r3, 0x84(r1) -/* 043030 800485D0 5483103A */ slwi r3, r4, 2 -/* 043034 800485D4 7CBF192E */ stwx r5, r31, r3 -/* 043038 800485D8 48000010 */ b lbl_800485E8 -lbl_800485DC: -/* 04303C 800485DC 80610084 */ lwz r3, 0x84(r1) -/* 043040 800485E0 38630001 */ addi r3, r3, 1 -/* 043044 800485E4 90610084 */ stw r3, 0x84(r1) -lbl_800485E8: -/* 043048 800485E8 5400103A */ slwi r0, r0, 2 -/* 04304C 800485EC 7C7A0214 */ add r3, r26, r0 -/* 043050 800485F0 80030818 */ lwz r0, 0x818(r3) -/* 043054 800485F4 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 043058 800485F8 41820008 */ beq lbl_80048600 -/* 04305C 800485FC 4801F938 */ b lbl_80067F34 -lbl_80048600: -/* 043060 80048600 281F0000 */ cmplwi r31, 0 -/* 043064 80048604 41820028 */ beq lbl_8004862C -/* 043068 80048608 80610084 */ lwz r3, 0x84(r1) -/* 04306C 8004860C 5400801E */ slwi r0, r0, 0x10 -/* 043070 80048610 64047CC0 */ oris r4, r0, 0x7cc0 -/* 043074 80048614 38030001 */ addi r0, r3, 1 -/* 043078 80048618 90010084 */ stw r0, 0x84(r1) -/* 04307C 8004861C 60843378 */ ori r4, r4, 0x3378 -/* 043080 80048620 5460103A */ slwi r0, r3, 2 -/* 043084 80048624 7C9F012E */ stwx r4, r31, r0 -/* 043088 80048628 4801F90C */ b lbl_80067F34 -lbl_8004862C: -/* 04308C 8004862C 80610084 */ lwz r3, 0x84(r1) -/* 043090 80048630 38030001 */ addi r0, r3, 1 -/* 043094 80048634 90010084 */ stw r0, 0x84(r1) -/* 043098 80048638 4801F8FC */ b lbl_80067F34 -.global lbl_8004863C -lbl_8004863C: -/* 04309C 8004863C 3C7E0001 */ addis r3, r30, 1 -/* 0430A0 80048640 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 0430A4 80048644 80032058 */ lwz r0, 0x2058(r3) -/* 0430A8 80048648 38800001 */ li r4, 1 -/* 0430AC 8004864C 7C842830 */ slw r4, r4, r5 -/* 0430B0 80048650 7C002078 */ andc r0, r0, r4 -/* 0430B4 80048654 90032058 */ stw r0, 0x2058(r3) -/* 0430B8 80048658 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 0430BC 8004865C 7C7A0214 */ add r3, r26, r0 -/* 0430C0 80048660 80030818 */ lwz r0, 0x818(r3) -/* 0430C4 80048664 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 0430C8 80048668 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0430CC 8004866C 40820050 */ bne lbl_800486BC -/* 0430D0 80048670 281F0000 */ cmplwi r31, 0 -/* 0430D4 80048674 4182003C */ beq lbl_800486B0 -/* 0430D8 80048678 54861838 */ slwi r6, r4, 3 -/* 0430DC 8004867C 80610084 */ lwz r3, 0x84(r1) -/* 0430E0 80048680 38C60040 */ addi r6, r6, 0x40 -/* 0430E4 80048684 5400A814 */ slwi r0, r0, 0x15 -/* 0430E8 80048688 7CDE3214 */ add r6, r30, r6 -/* 0430EC 8004868C 38E30001 */ addi r7, r3, 1 -/* 0430F0 80048690 64009003 */ oris r0, r0, 0x9003 -/* 0430F4 80048694 90E10084 */ stw r7, 0x84(r1) -/* 0430F8 80048698 7CDE3050 */ subf r6, r30, r6 -/* 0430FC 8004869C 7CC60214 */ add r6, r6, r0 -/* 043100 800486A0 38060004 */ addi r0, r6, 4 -/* 043104 800486A4 5463103A */ slwi r3, r3, 2 -/* 043108 800486A8 7C1F192E */ stwx r0, r31, r3 -/* 04310C 800486AC 48000010 */ b lbl_800486BC -lbl_800486B0: -/* 043110 800486B0 80610084 */ lwz r3, 0x84(r1) -/* 043114 800486B4 38030001 */ addi r0, r3, 1 -/* 043118 800486B8 90010084 */ stw r0, 0x84(r1) -lbl_800486BC: -/* 04311C 800486BC 281F0000 */ cmplwi r31, 0 -/* 043120 800486C0 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 043124 800486C4 41820030 */ beq lbl_800486F4 -/* 043128 800486C8 80610084 */ lwz r3, 0x84(r1) -/* 04312C 800486CC 54861838 */ slwi r6, r4, 3 -/* 043130 800486D0 38C60040 */ addi r6, r6, 0x40 -/* 043134 800486D4 7CDE3214 */ add r6, r30, r6 -/* 043138 800486D8 38E30001 */ addi r7, r3, 1 -/* 04313C 800486DC 7CDE3050 */ subf r6, r30, r6 -/* 043140 800486E0 90E10084 */ stw r7, 0x84(r1) -/* 043144 800486E4 3CC680A3 */ addis r6, r6, 0x80a3 -/* 043148 800486E8 5463103A */ slwi r3, r3, 2 -/* 04314C 800486EC 7CDF192E */ stwx r6, r31, r3 -/* 043150 800486F0 48000010 */ b lbl_80048700 -lbl_800486F4: -/* 043154 800486F4 80610084 */ lwz r3, 0x84(r1) -/* 043158 800486F8 38630001 */ addi r3, r3, 1 -/* 04315C 800486FC 90610084 */ stw r3, 0x84(r1) -lbl_80048700: -/* 043160 80048700 281F0000 */ cmplwi r31, 0 -/* 043164 80048704 41820034 */ beq lbl_80048738 -/* 043168 80048708 54841838 */ slwi r4, r4, 3 -/* 04316C 8004870C 80610084 */ lwz r3, 0x84(r1) -/* 043170 80048710 38840040 */ addi r4, r4, 0x40 -/* 043174 80048714 7C9E2214 */ add r4, r30, r4 -/* 043178 80048718 7C9E2050 */ subf r4, r30, r4 -/* 04317C 8004871C 38C30001 */ addi r6, r3, 1 -/* 043180 80048720 3C8480C3 */ addis r4, r4, 0x80c3 -/* 043184 80048724 90C10084 */ stw r6, 0x84(r1) -/* 043188 80048728 38840004 */ addi r4, r4, 4 -/* 04318C 8004872C 5463103A */ slwi r3, r3, 2 -/* 043190 80048730 7C9F192E */ stwx r4, r31, r3 -/* 043194 80048734 48000010 */ b lbl_80048744 -lbl_80048738: -/* 043198 80048738 80610084 */ lwz r3, 0x84(r1) -/* 04319C 8004873C 38630001 */ addi r3, r3, 1 -/* 0431A0 80048740 90610084 */ stw r3, 0x84(r1) -lbl_80048744: -/* 0431A4 80048744 281F0000 */ cmplwi r31, 0 -/* 0431A8 80048748 41820030 */ beq lbl_80048778 -/* 0431AC 8004874C 80610084 */ lwz r3, 0x84(r1) -/* 0431B0 80048750 54065828 */ slwi r6, r0, 0xb -/* 0431B4 80048754 2080001F */ subfic r4, r0, 0x1f -/* 0431B8 80048758 38E30001 */ addi r7, r3, 1 -/* 0431BC 8004875C 90E10084 */ stw r7, 0x84(r1) -/* 0431C0 80048760 64C654A5 */ oris r6, r6, 0x54a5 -/* 0431C4 80048764 5484083C */ slwi r4, r4, 1 -/* 0431C8 80048768 7CC42378 */ or r4, r6, r4 -/* 0431CC 8004876C 5463103A */ slwi r3, r3, 2 -/* 0431D0 80048770 7C9F192E */ stwx r4, r31, r3 -/* 0431D4 80048774 48000010 */ b lbl_80048784 -lbl_80048778: -/* 0431D8 80048778 80610084 */ lwz r3, 0x84(r1) -/* 0431DC 8004877C 38630001 */ addi r3, r3, 1 -/* 0431E0 80048780 90610084 */ stw r3, 0x84(r1) -lbl_80048784: -/* 0431E4 80048784 281F0000 */ cmplwi r31, 0 -/* 0431E8 80048788 41820034 */ beq lbl_800487BC -/* 0431EC 8004878C 80610084 */ lwz r3, 0x84(r1) -/* 0431F0 80048790 54065828 */ slwi r6, r0, 0xb -/* 0431F4 80048794 20800020 */ subfic r4, r0, 0x20 -/* 0431F8 80048798 38E30001 */ addi r7, r3, 1 -/* 0431FC 8004879C 64C650C5 */ oris r6, r6, 0x50c5 -/* 043200 800487A0 90E10084 */ stw r7, 0x84(r1) -/* 043204 800487A4 54843032 */ slwi r4, r4, 6 -/* 043208 800487A8 7CC42378 */ or r4, r6, r4 -/* 04320C 800487AC 6084003E */ ori r4, r4, 0x3e -/* 043210 800487B0 5463103A */ slwi r3, r3, 2 -/* 043214 800487B4 7C9F192E */ stwx r4, r31, r3 -/* 043218 800487B8 48000010 */ b lbl_800487C8 -lbl_800487BC: -/* 04321C 800487BC 80610084 */ lwz r3, 0x84(r1) -/* 043220 800487C0 38630001 */ addi r3, r3, 1 -/* 043224 800487C4 90610084 */ stw r3, 0x84(r1) -lbl_800487C8: -/* 043228 800487C8 281F0000 */ cmplwi r31, 0 -/* 04322C 800487CC 41820030 */ beq lbl_800487FC -/* 043230 800487D0 80610084 */ lwz r3, 0x84(r1) -/* 043234 800487D4 54045828 */ slwi r4, r0, 0xb -/* 043238 800487D8 20C0001F */ subfic r6, r0, 0x1f -/* 04323C 800487DC 38030001 */ addi r0, r3, 1 -/* 043240 800487E0 90010084 */ stw r0, 0x84(r1) -/* 043244 800487E4 648054C6 */ oris r0, r4, 0x54c6 -/* 043248 800487E8 54C4083C */ slwi r4, r6, 1 -/* 04324C 800487EC 7C002378 */ or r0, r0, r4 -/* 043250 800487F0 5463103A */ slwi r3, r3, 2 -/* 043254 800487F4 7C1F192E */ stwx r0, r31, r3 -/* 043258 800487F8 48000010 */ b lbl_80048808 -lbl_800487FC: -/* 04325C 800487FC 80610084 */ lwz r3, 0x84(r1) -/* 043260 80048800 38030001 */ addi r0, r3, 1 -/* 043264 80048804 90010084 */ stw r0, 0x84(r1) -lbl_80048808: -/* 043268 80048808 281F0000 */ cmplwi r31, 0 -/* 04326C 8004880C 41820030 */ beq lbl_8004883C -/* 043270 80048810 80610084 */ lwz r3, 0x84(r1) -/* 043274 80048814 54A41838 */ slwi r4, r5, 3 -/* 043278 80048818 38040040 */ addi r0, r4, 0x40 -/* 04327C 8004881C 7C9E0214 */ add r4, r30, r0 -/* 043280 80048820 38030001 */ addi r0, r3, 1 -/* 043284 80048824 7C9E2050 */ subf r4, r30, r4 -/* 043288 80048828 90010084 */ stw r0, 0x84(r1) -/* 04328C 8004882C 3C0490A3 */ addis r0, r4, 0x90a3 -/* 043290 80048830 5463103A */ slwi r3, r3, 2 -/* 043294 80048834 7C1F192E */ stwx r0, r31, r3 -/* 043298 80048838 48000010 */ b lbl_80048848 -lbl_8004883C: -/* 04329C 8004883C 80610084 */ lwz r3, 0x84(r1) -/* 0432A0 80048840 38030001 */ addi r0, r3, 1 -/* 0432A4 80048844 90010084 */ stw r0, 0x84(r1) -lbl_80048848: -/* 0432A8 80048848 281F0000 */ cmplwi r31, 0 -/* 0432AC 8004884C 41820034 */ beq lbl_80048880 -/* 0432B0 80048850 54A41838 */ slwi r4, r5, 3 -/* 0432B4 80048854 80610084 */ lwz r3, 0x84(r1) -/* 0432B8 80048858 38040040 */ addi r0, r4, 0x40 -/* 0432BC 8004885C 7C1E0214 */ add r0, r30, r0 -/* 0432C0 80048860 7C9E0050 */ subf r4, r30, r0 -/* 0432C4 80048864 38030001 */ addi r0, r3, 1 -/* 0432C8 80048868 3C8490C3 */ addis r4, r4, 0x90c3 -/* 0432CC 8004886C 90010084 */ stw r0, 0x84(r1) -/* 0432D0 80048870 38040004 */ addi r0, r4, 4 -/* 0432D4 80048874 5463103A */ slwi r3, r3, 2 -/* 0432D8 80048878 7C1F192E */ stwx r0, r31, r3 -/* 0432DC 8004887C 48000010 */ b lbl_8004888C -lbl_80048880: -/* 0432E0 80048880 80610084 */ lwz r3, 0x84(r1) -/* 0432E4 80048884 38030001 */ addi r0, r3, 1 -/* 0432E8 80048888 90010084 */ stw r0, 0x84(r1) -lbl_8004888C: -/* 0432EC 8004888C 54A0103A */ slwi r0, r5, 2 -/* 0432F0 80048890 7C7A0214 */ add r3, r26, r0 -/* 0432F4 80048894 80030818 */ lwz r0, 0x818(r3) -/* 0432F8 80048898 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0432FC 8004889C 41820008 */ beq lbl_800488A4 -/* 043300 800488A0 4801F694 */ b lbl_80067F34 -lbl_800488A4: -/* 043304 800488A4 281F0000 */ cmplwi r31, 0 -/* 043308 800488A8 41820028 */ beq lbl_800488D0 -/* 04330C 800488AC 80610084 */ lwz r3, 0x84(r1) -/* 043310 800488B0 5400801E */ slwi r0, r0, 0x10 -/* 043314 800488B4 64047CC0 */ oris r4, r0, 0x7cc0 -/* 043318 800488B8 38030001 */ addi r0, r3, 1 -/* 04331C 800488BC 90010084 */ stw r0, 0x84(r1) -/* 043320 800488C0 60843378 */ ori r4, r4, 0x3378 -/* 043324 800488C4 5460103A */ slwi r0, r3, 2 -/* 043328 800488C8 7C9F012E */ stwx r4, r31, r0 -/* 04332C 800488CC 4801F668 */ b lbl_80067F34 -lbl_800488D0: -/* 043330 800488D0 80610084 */ lwz r3, 0x84(r1) -/* 043334 800488D4 38030001 */ addi r0, r3, 1 -/* 043338 800488D8 90010084 */ stw r0, 0x84(r1) -/* 04333C 800488DC 4801F658 */ b lbl_80067F34 -.global lbl_800488E0 -lbl_800488E0: -/* 043340 800488E0 3C7E0001 */ addis r3, r30, 1 -/* 043344 800488E4 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 043348 800488E8 80032058 */ lwz r0, 0x2058(r3) -/* 04334C 800488EC 38800001 */ li r4, 1 -/* 043350 800488F0 7C842830 */ slw r4, r4, r5 -/* 043354 800488F4 7C002078 */ andc r0, r0, r4 -/* 043358 800488F8 90032058 */ stw r0, 0x2058(r3) -/* 04335C 800488FC 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 043360 80048900 7C7A0214 */ add r3, r26, r0 -/* 043364 80048904 80030818 */ lwz r0, 0x818(r3) -/* 043368 80048908 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 04336C 8004890C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 043370 80048910 40820050 */ bne lbl_80048960 -/* 043374 80048914 281F0000 */ cmplwi r31, 0 -/* 043378 80048918 4182003C */ beq lbl_80048954 -/* 04337C 8004891C 54861838 */ slwi r6, r4, 3 -/* 043380 80048920 80610084 */ lwz r3, 0x84(r1) -/* 043384 80048924 38C60040 */ addi r6, r6, 0x40 -/* 043388 80048928 5400A814 */ slwi r0, r0, 0x15 -/* 04338C 8004892C 7CDE3214 */ add r6, r30, r6 -/* 043390 80048930 38E30001 */ addi r7, r3, 1 -/* 043394 80048934 64009003 */ oris r0, r0, 0x9003 -/* 043398 80048938 90E10084 */ stw r7, 0x84(r1) -/* 04339C 8004893C 7CDE3050 */ subf r6, r30, r6 -/* 0433A0 80048940 7CC60214 */ add r6, r6, r0 -/* 0433A4 80048944 38060004 */ addi r0, r6, 4 -/* 0433A8 80048948 5463103A */ slwi r3, r3, 2 -/* 0433AC 8004894C 7C1F192E */ stwx r0, r31, r3 -/* 0433B0 80048950 48000010 */ b lbl_80048960 -lbl_80048954: -/* 0433B4 80048954 80610084 */ lwz r3, 0x84(r1) -/* 0433B8 80048958 38030001 */ addi r0, r3, 1 -/* 0433BC 8004895C 90010084 */ stw r0, 0x84(r1) -lbl_80048960: -/* 0433C0 80048960 281F0000 */ cmplwi r31, 0 -/* 0433C4 80048964 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 0433C8 80048968 41820030 */ beq lbl_80048998 -/* 0433CC 8004896C 80610084 */ lwz r3, 0x84(r1) -/* 0433D0 80048970 54871838 */ slwi r7, r4, 3 -/* 0433D4 80048974 38070040 */ addi r0, r7, 0x40 -/* 0433D8 80048978 7C1E0214 */ add r0, r30, r0 -/* 0433DC 8004897C 39030001 */ addi r8, r3, 1 -/* 0433E0 80048980 7CFE0050 */ subf r7, r30, r0 -/* 0433E4 80048984 91010084 */ stw r8, 0x84(r1) -/* 0433E8 80048988 3C0780A3 */ addis r0, r7, 0x80a3 -/* 0433EC 8004898C 5463103A */ slwi r3, r3, 2 -/* 0433F0 80048990 7C1F192E */ stwx r0, r31, r3 -/* 0433F4 80048994 48000010 */ b lbl_800489A4 -lbl_80048998: -/* 0433F8 80048998 80610084 */ lwz r3, 0x84(r1) -/* 0433FC 8004899C 38030001 */ addi r0, r3, 1 -/* 043400 800489A0 90010084 */ stw r0, 0x84(r1) -lbl_800489A4: -/* 043404 800489A4 281F0000 */ cmplwi r31, 0 -/* 043408 800489A8 41820034 */ beq lbl_800489DC -/* 04340C 800489AC 54841838 */ slwi r4, r4, 3 -/* 043410 800489B0 80610084 */ lwz r3, 0x84(r1) -/* 043414 800489B4 38040040 */ addi r0, r4, 0x40 -/* 043418 800489B8 7C1E0214 */ add r0, r30, r0 -/* 04341C 800489BC 7C9E0050 */ subf r4, r30, r0 -/* 043420 800489C0 38030001 */ addi r0, r3, 1 -/* 043424 800489C4 3C8480C3 */ addis r4, r4, 0x80c3 -/* 043428 800489C8 90010084 */ stw r0, 0x84(r1) -/* 04342C 800489CC 38040004 */ addi r0, r4, 4 -/* 043430 800489D0 5463103A */ slwi r3, r3, 2 -/* 043434 800489D4 7C1F192E */ stwx r0, r31, r3 -/* 043438 800489D8 48000010 */ b lbl_800489E8 -lbl_800489DC: -/* 04343C 800489DC 80610084 */ lwz r3, 0x84(r1) -/* 043440 800489E0 38030001 */ addi r0, r3, 1 -/* 043444 800489E4 90010084 */ stw r0, 0x84(r1) -lbl_800489E8: -/* 043448 800489E8 281F0000 */ cmplwi r31, 0 -/* 04344C 800489EC 41820034 */ beq lbl_80048A20 -/* 043450 800489F0 80610084 */ lwz r3, 0x84(r1) -/* 043454 800489F4 20060020 */ subfic r0, r6, 0x20 -/* 043458 800489F8 54005828 */ slwi r0, r0, 0xb -/* 04345C 800489FC 38830001 */ addi r4, r3, 1 -/* 043460 80048A00 640054C6 */ oris r0, r0, 0x54c6 -/* 043464 80048A04 90810084 */ stw r4, 0x84(r1) -/* 043468 80048A08 54C43032 */ slwi r4, r6, 6 -/* 04346C 80048A0C 7C002378 */ or r0, r0, r4 -/* 043470 80048A10 6000003E */ ori r0, r0, 0x3e -/* 043474 80048A14 5463103A */ slwi r3, r3, 2 -/* 043478 80048A18 7C1F192E */ stwx r0, r31, r3 -/* 04347C 80048A1C 48000010 */ b lbl_80048A2C -lbl_80048A20: -/* 043480 80048A20 80610084 */ lwz r3, 0x84(r1) -/* 043484 80048A24 38030001 */ addi r0, r3, 1 -/* 043488 80048A28 90010084 */ stw r0, 0x84(r1) -lbl_80048A2C: -/* 04348C 80048A2C 281F0000 */ cmplwi r31, 0 -/* 043490 80048A30 41820034 */ beq lbl_80048A64 -/* 043494 80048A34 80610084 */ lwz r3, 0x84(r1) -/* 043498 80048A38 20060020 */ subfic r0, r6, 0x20 -/* 04349C 80048A3C 54045828 */ slwi r4, r0, 0xb -/* 0434A0 80048A40 3806FFFF */ addi r0, r6, -1 -/* 0434A4 80048A44 38E30001 */ addi r7, r3, 1 -/* 0434A8 80048A48 90E10084 */ stw r7, 0x84(r1) -/* 0434AC 80048A4C 648450A6 */ oris r4, r4, 0x50a6 -/* 0434B0 80048A50 5400083C */ slwi r0, r0, 1 -/* 0434B4 80048A54 7C800378 */ or r0, r4, r0 -/* 0434B8 80048A58 5463103A */ slwi r3, r3, 2 -/* 0434BC 80048A5C 7C1F192E */ stwx r0, r31, r3 -/* 0434C0 80048A60 48000010 */ b lbl_80048A70 -lbl_80048A64: -/* 0434C4 80048A64 80610084 */ lwz r3, 0x84(r1) -/* 0434C8 80048A68 38030001 */ addi r0, r3, 1 -/* 0434CC 80048A6C 90010084 */ stw r0, 0x84(r1) -lbl_80048A70: -/* 0434D0 80048A70 281F0000 */ cmplwi r31, 0 -/* 0434D4 80048A74 41820034 */ beq lbl_80048AA8 -/* 0434D8 80048A78 80610084 */ lwz r3, 0x84(r1) -/* 0434DC 80048A7C 20060020 */ subfic r0, r6, 0x20 -/* 0434E0 80048A80 54045828 */ slwi r4, r0, 0xb -/* 0434E4 80048A84 38030001 */ addi r0, r3, 1 -/* 0434E8 80048A88 648454A5 */ oris r4, r4, 0x54a5 -/* 0434EC 80048A8C 90010084 */ stw r0, 0x84(r1) -/* 0434F0 80048A90 54C03032 */ slwi r0, r6, 6 -/* 0434F4 80048A94 7C800378 */ or r0, r4, r0 -/* 0434F8 80048A98 6000003E */ ori r0, r0, 0x3e -/* 0434FC 80048A9C 5463103A */ slwi r3, r3, 2 -/* 043500 80048AA0 7C1F192E */ stwx r0, r31, r3 -/* 043504 80048AA4 48000010 */ b lbl_80048AB4 -lbl_80048AA8: -/* 043508 80048AA8 80610084 */ lwz r3, 0x84(r1) -/* 04350C 80048AAC 38030001 */ addi r0, r3, 1 -/* 043510 80048AB0 90010084 */ stw r0, 0x84(r1) -lbl_80048AB4: -/* 043514 80048AB4 281F0000 */ cmplwi r31, 0 -/* 043518 80048AB8 41820030 */ beq lbl_80048AE8 -/* 04351C 80048ABC 80610084 */ lwz r3, 0x84(r1) -/* 043520 80048AC0 54A41838 */ slwi r4, r5, 3 -/* 043524 80048AC4 38040040 */ addi r0, r4, 0x40 -/* 043528 80048AC8 7C9E0214 */ add r4, r30, r0 -/* 04352C 80048ACC 38030001 */ addi r0, r3, 1 -/* 043530 80048AD0 7C9E2050 */ subf r4, r30, r4 -/* 043534 80048AD4 90010084 */ stw r0, 0x84(r1) -/* 043538 80048AD8 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04353C 80048ADC 5463103A */ slwi r3, r3, 2 -/* 043540 80048AE0 7C1F192E */ stwx r0, r31, r3 -/* 043544 80048AE4 48000010 */ b lbl_80048AF4 -lbl_80048AE8: -/* 043548 80048AE8 80610084 */ lwz r3, 0x84(r1) -/* 04354C 80048AEC 38030001 */ addi r0, r3, 1 -/* 043550 80048AF0 90010084 */ stw r0, 0x84(r1) -lbl_80048AF4: -/* 043554 80048AF4 281F0000 */ cmplwi r31, 0 -/* 043558 80048AF8 41820034 */ beq lbl_80048B2C -/* 04355C 80048AFC 54A41838 */ slwi r4, r5, 3 -/* 043560 80048B00 80610084 */ lwz r3, 0x84(r1) -/* 043564 80048B04 38040040 */ addi r0, r4, 0x40 -/* 043568 80048B08 7C1E0214 */ add r0, r30, r0 -/* 04356C 80048B0C 7C9E0050 */ subf r4, r30, r0 -/* 043570 80048B10 38030001 */ addi r0, r3, 1 -/* 043574 80048B14 3C8490C3 */ addis r4, r4, 0x90c3 -/* 043578 80048B18 90010084 */ stw r0, 0x84(r1) -/* 04357C 80048B1C 38040004 */ addi r0, r4, 4 -/* 043580 80048B20 5463103A */ slwi r3, r3, 2 -/* 043584 80048B24 7C1F192E */ stwx r0, r31, r3 -/* 043588 80048B28 48000010 */ b lbl_80048B38 -lbl_80048B2C: -/* 04358C 80048B2C 80610084 */ lwz r3, 0x84(r1) -/* 043590 80048B30 38030001 */ addi r0, r3, 1 -/* 043594 80048B34 90010084 */ stw r0, 0x84(r1) -lbl_80048B38: -/* 043598 80048B38 54A0103A */ slwi r0, r5, 2 -/* 04359C 80048B3C 7C7A0214 */ add r3, r26, r0 -/* 0435A0 80048B40 80030818 */ lwz r0, 0x818(r3) -/* 0435A4 80048B44 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0435A8 80048B48 41820008 */ beq lbl_80048B50 -/* 0435AC 80048B4C 4801F3E8 */ b lbl_80067F34 -lbl_80048B50: -/* 0435B0 80048B50 281F0000 */ cmplwi r31, 0 -/* 0435B4 80048B54 41820028 */ beq lbl_80048B7C -/* 0435B8 80048B58 80610084 */ lwz r3, 0x84(r1) -/* 0435BC 80048B5C 5400801E */ slwi r0, r0, 0x10 -/* 0435C0 80048B60 64047CC0 */ oris r4, r0, 0x7cc0 -/* 0435C4 80048B64 38030001 */ addi r0, r3, 1 -/* 0435C8 80048B68 90010084 */ stw r0, 0x84(r1) -/* 0435CC 80048B6C 60843378 */ ori r4, r4, 0x3378 -/* 0435D0 80048B70 5460103A */ slwi r0, r3, 2 -/* 0435D4 80048B74 7C9F012E */ stwx r4, r31, r0 -/* 0435D8 80048B78 4801F3BC */ b lbl_80067F34 -lbl_80048B7C: -/* 0435DC 80048B7C 80610084 */ lwz r3, 0x84(r1) -/* 0435E0 80048B80 38030001 */ addi r0, r3, 1 -/* 0435E4 80048B84 90010084 */ stw r0, 0x84(r1) -/* 0435E8 80048B88 4801F3AC */ b lbl_80067F34 -.global lbl_80048B8C -lbl_80048B8C: -/* 0435EC 80048B8C 3C7E0001 */ addis r3, r30, 1 -/* 0435F0 80048B90 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 0435F4 80048B94 80032058 */ lwz r0, 0x2058(r3) -/* 0435F8 80048B98 38800001 */ li r4, 1 -/* 0435FC 80048B9C 7C842830 */ slw r4, r4, r5 -/* 043600 80048BA0 7C002078 */ andc r0, r0, r4 -/* 043604 80048BA4 90032058 */ stw r0, 0x2058(r3) -/* 043608 80048BA8 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 04360C 80048BAC 7C7A0214 */ add r3, r26, r0 -/* 043610 80048BB0 80030818 */ lwz r0, 0x818(r3) -/* 043614 80048BB4 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 043618 80048BB8 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 04361C 80048BBC 40820050 */ bne lbl_80048C0C -/* 043620 80048BC0 281F0000 */ cmplwi r31, 0 -/* 043624 80048BC4 4182003C */ beq lbl_80048C00 -/* 043628 80048BC8 54861838 */ slwi r6, r4, 3 -/* 04362C 80048BCC 80610084 */ lwz r3, 0x84(r1) -/* 043630 80048BD0 38C60040 */ addi r6, r6, 0x40 -/* 043634 80048BD4 5400A814 */ slwi r0, r0, 0x15 -/* 043638 80048BD8 7CDE3214 */ add r6, r30, r6 -/* 04363C 80048BDC 38E30001 */ addi r7, r3, 1 -/* 043640 80048BE0 64009003 */ oris r0, r0, 0x9003 -/* 043644 80048BE4 90E10084 */ stw r7, 0x84(r1) -/* 043648 80048BE8 7CDE3050 */ subf r6, r30, r6 -/* 04364C 80048BEC 7CC60214 */ add r6, r6, r0 -/* 043650 80048BF0 38060004 */ addi r0, r6, 4 -/* 043654 80048BF4 5463103A */ slwi r3, r3, 2 -/* 043658 80048BF8 7C1F192E */ stwx r0, r31, r3 -/* 04365C 80048BFC 48000010 */ b lbl_80048C0C -lbl_80048C00: -/* 043660 80048C00 80610084 */ lwz r3, 0x84(r1) -/* 043664 80048C04 38030001 */ addi r0, r3, 1 -/* 043668 80048C08 90010084 */ stw r0, 0x84(r1) -lbl_80048C0C: -/* 04366C 80048C0C 281F0000 */ cmplwi r31, 0 -/* 043670 80048C10 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 043674 80048C14 41820030 */ beq lbl_80048C44 -/* 043678 80048C18 80610084 */ lwz r3, 0x84(r1) -/* 04367C 80048C1C 54871838 */ slwi r7, r4, 3 -/* 043680 80048C20 38070040 */ addi r0, r7, 0x40 -/* 043684 80048C24 7C1E0214 */ add r0, r30, r0 -/* 043688 80048C28 39030001 */ addi r8, r3, 1 -/* 04368C 80048C2C 7CFE0050 */ subf r7, r30, r0 -/* 043690 80048C30 91010084 */ stw r8, 0x84(r1) -/* 043694 80048C34 3C0780A3 */ addis r0, r7, 0x80a3 -/* 043698 80048C38 5463103A */ slwi r3, r3, 2 -/* 04369C 80048C3C 7C1F192E */ stwx r0, r31, r3 -/* 0436A0 80048C40 48000010 */ b lbl_80048C50 -lbl_80048C44: -/* 0436A4 80048C44 80610084 */ lwz r3, 0x84(r1) -/* 0436A8 80048C48 38030001 */ addi r0, r3, 1 -/* 0436AC 80048C4C 90010084 */ stw r0, 0x84(r1) -lbl_80048C50: -/* 0436B0 80048C50 281F0000 */ cmplwi r31, 0 -/* 0436B4 80048C54 41820034 */ beq lbl_80048C88 -/* 0436B8 80048C58 54841838 */ slwi r4, r4, 3 -/* 0436BC 80048C5C 80610084 */ lwz r3, 0x84(r1) -/* 0436C0 80048C60 38040040 */ addi r0, r4, 0x40 -/* 0436C4 80048C64 7C1E0214 */ add r0, r30, r0 -/* 0436C8 80048C68 7C9E0050 */ subf r4, r30, r0 -/* 0436CC 80048C6C 38030001 */ addi r0, r3, 1 -/* 0436D0 80048C70 3C8480C3 */ addis r4, r4, 0x80c3 -/* 0436D4 80048C74 90010084 */ stw r0, 0x84(r1) -/* 0436D8 80048C78 38040004 */ addi r0, r4, 4 -/* 0436DC 80048C7C 5463103A */ slwi r3, r3, 2 -/* 0436E0 80048C80 7C1F192E */ stwx r0, r31, r3 -/* 0436E4 80048C84 48000010 */ b lbl_80048C94 -lbl_80048C88: -/* 0436E8 80048C88 80610084 */ lwz r3, 0x84(r1) -/* 0436EC 80048C8C 38030001 */ addi r0, r3, 1 -/* 0436F0 80048C90 90010084 */ stw r0, 0x84(r1) -lbl_80048C94: -/* 0436F4 80048C94 281F0000 */ cmplwi r31, 0 -/* 0436F8 80048C98 41820034 */ beq lbl_80048CCC -/* 0436FC 80048C9C 80610084 */ lwz r3, 0x84(r1) -/* 043700 80048CA0 20060020 */ subfic r0, r6, 0x20 -/* 043704 80048CA4 54005828 */ slwi r0, r0, 0xb -/* 043708 80048CA8 38830001 */ addi r4, r3, 1 -/* 04370C 80048CAC 640054C6 */ oris r0, r0, 0x54c6 -/* 043710 80048CB0 90810084 */ stw r4, 0x84(r1) -/* 043714 80048CB4 54C43032 */ slwi r4, r6, 6 -/* 043718 80048CB8 7C002378 */ or r0, r0, r4 -/* 04371C 80048CBC 6000003E */ ori r0, r0, 0x3e -/* 043720 80048CC0 5463103A */ slwi r3, r3, 2 -/* 043724 80048CC4 7C1F192E */ stwx r0, r31, r3 -/* 043728 80048CC8 48000010 */ b lbl_80048CD8 -lbl_80048CCC: -/* 04372C 80048CCC 80610084 */ lwz r3, 0x84(r1) -/* 043730 80048CD0 38030001 */ addi r0, r3, 1 -/* 043734 80048CD4 90010084 */ stw r0, 0x84(r1) -lbl_80048CD8: -/* 043738 80048CD8 281F0000 */ cmplwi r31, 0 -/* 04373C 80048CDC 41820034 */ beq lbl_80048D10 -/* 043740 80048CE0 80610084 */ lwz r3, 0x84(r1) -/* 043744 80048CE4 20060020 */ subfic r0, r6, 0x20 -/* 043748 80048CE8 54045828 */ slwi r4, r0, 0xb -/* 04374C 80048CEC 3806FFFF */ addi r0, r6, -1 -/* 043750 80048CF0 38E30001 */ addi r7, r3, 1 -/* 043754 80048CF4 90E10084 */ stw r7, 0x84(r1) -/* 043758 80048CF8 648450A6 */ oris r4, r4, 0x50a6 -/* 04375C 80048CFC 5400083C */ slwi r0, r0, 1 -/* 043760 80048D00 7C800378 */ or r0, r4, r0 -/* 043764 80048D04 5463103A */ slwi r3, r3, 2 -/* 043768 80048D08 7C1F192E */ stwx r0, r31, r3 -/* 04376C 80048D0C 48000010 */ b lbl_80048D1C -lbl_80048D10: -/* 043770 80048D10 80610084 */ lwz r3, 0x84(r1) -/* 043774 80048D14 38030001 */ addi r0, r3, 1 -/* 043778 80048D18 90010084 */ stw r0, 0x84(r1) -lbl_80048D1C: -/* 04377C 80048D1C 281F0000 */ cmplwi r31, 0 -/* 043780 80048D20 41820028 */ beq lbl_80048D48 -/* 043784 80048D24 80610084 */ lwz r3, 0x84(r1) -/* 043788 80048D28 54C05828 */ slwi r0, r6, 0xb -/* 04378C 80048D2C 64047CA5 */ oris r4, r0, 0x7ca5 -/* 043790 80048D30 38030001 */ addi r0, r3, 1 -/* 043794 80048D34 90010084 */ stw r0, 0x84(r1) -/* 043798 80048D38 60840670 */ ori r4, r4, 0x670 -/* 04379C 80048D3C 5460103A */ slwi r0, r3, 2 -/* 0437A0 80048D40 7C9F012E */ stwx r4, r31, r0 -/* 0437A4 80048D44 48000010 */ b lbl_80048D54 -lbl_80048D48: -/* 0437A8 80048D48 80610084 */ lwz r3, 0x84(r1) -/* 0437AC 80048D4C 38030001 */ addi r0, r3, 1 -/* 0437B0 80048D50 90010084 */ stw r0, 0x84(r1) -lbl_80048D54: -/* 0437B4 80048D54 281F0000 */ cmplwi r31, 0 -/* 0437B8 80048D58 41820030 */ beq lbl_80048D88 -/* 0437BC 80048D5C 80610084 */ lwz r3, 0x84(r1) -/* 0437C0 80048D60 54A41838 */ slwi r4, r5, 3 -/* 0437C4 80048D64 38040040 */ addi r0, r4, 0x40 -/* 0437C8 80048D68 7C9E0214 */ add r4, r30, r0 -/* 0437CC 80048D6C 38030001 */ addi r0, r3, 1 -/* 0437D0 80048D70 7C9E2050 */ subf r4, r30, r4 -/* 0437D4 80048D74 90010084 */ stw r0, 0x84(r1) -/* 0437D8 80048D78 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0437DC 80048D7C 5463103A */ slwi r3, r3, 2 -/* 0437E0 80048D80 7C1F192E */ stwx r0, r31, r3 -/* 0437E4 80048D84 48000010 */ b lbl_80048D94 -lbl_80048D88: -/* 0437E8 80048D88 80610084 */ lwz r3, 0x84(r1) -/* 0437EC 80048D8C 38030001 */ addi r0, r3, 1 -/* 0437F0 80048D90 90010084 */ stw r0, 0x84(r1) -lbl_80048D94: -/* 0437F4 80048D94 281F0000 */ cmplwi r31, 0 -/* 0437F8 80048D98 41820034 */ beq lbl_80048DCC -/* 0437FC 80048D9C 54A41838 */ slwi r4, r5, 3 -/* 043800 80048DA0 80610084 */ lwz r3, 0x84(r1) -/* 043804 80048DA4 38040040 */ addi r0, r4, 0x40 -/* 043808 80048DA8 7C1E0214 */ add r0, r30, r0 -/* 04380C 80048DAC 7C9E0050 */ subf r4, r30, r0 -/* 043810 80048DB0 38030001 */ addi r0, r3, 1 -/* 043814 80048DB4 3C8490C3 */ addis r4, r4, 0x90c3 -/* 043818 80048DB8 90010084 */ stw r0, 0x84(r1) -/* 04381C 80048DBC 38040004 */ addi r0, r4, 4 -/* 043820 80048DC0 5463103A */ slwi r3, r3, 2 -/* 043824 80048DC4 7C1F192E */ stwx r0, r31, r3 -/* 043828 80048DC8 48000010 */ b lbl_80048DD8 -lbl_80048DCC: -/* 04382C 80048DCC 80610084 */ lwz r3, 0x84(r1) -/* 043830 80048DD0 38030001 */ addi r0, r3, 1 -/* 043834 80048DD4 90010084 */ stw r0, 0x84(r1) -lbl_80048DD8: -/* 043838 80048DD8 54A0103A */ slwi r0, r5, 2 -/* 04383C 80048DDC 7C7A0214 */ add r3, r26, r0 -/* 043840 80048DE0 80030818 */ lwz r0, 0x818(r3) -/* 043844 80048DE4 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 043848 80048DE8 41820008 */ beq lbl_80048DF0 -/* 04384C 80048DEC 4801F148 */ b lbl_80067F34 -lbl_80048DF0: -/* 043850 80048DF0 281F0000 */ cmplwi r31, 0 -/* 043854 80048DF4 41820028 */ beq lbl_80048E1C -/* 043858 80048DF8 80610084 */ lwz r3, 0x84(r1) -/* 04385C 80048DFC 5400801E */ slwi r0, r0, 0x10 -/* 043860 80048E00 64047CC0 */ oris r4, r0, 0x7cc0 -/* 043864 80048E04 38030001 */ addi r0, r3, 1 -/* 043868 80048E08 90010084 */ stw r0, 0x84(r1) -/* 04386C 80048E0C 60843378 */ ori r4, r4, 0x3378 -/* 043870 80048E10 5460103A */ slwi r0, r3, 2 -/* 043874 80048E14 7C9F012E */ stwx r4, r31, r0 -/* 043878 80048E18 4801F11C */ b lbl_80067F34 -lbl_80048E1C: -/* 04387C 80048E1C 80610084 */ lwz r3, 0x84(r1) -/* 043880 80048E20 38030001 */ addi r0, r3, 1 -/* 043884 80048E24 90010084 */ stw r0, 0x84(r1) -/* 043888 80048E28 4801F10C */ b lbl_80067F34 -.global lbl_80048E2C -lbl_80048E2C: -/* 04388C 80048E2C 3C7E0001 */ addis r3, r30, 1 -/* 043890 80048E30 5788AEFE */ rlwinm r8, r28, 0x15, 0x1b, 0x1f -/* 043894 80048E34 80032058 */ lwz r0, 0x2058(r3) -/* 043898 80048E38 38800001 */ li r4, 1 -/* 04389C 80048E3C 7C844030 */ slw r4, r4, r8 -/* 0438A0 80048E40 7C042078 */ andc r4, r0, r4 -/* 0438A4 80048E44 90832058 */ stw r4, 0x2058(r3) -/* 0438A8 80048E48 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 0438AC 80048E4C 7C7A1A14 */ add r3, r26, r3 -/* 0438B0 80048E50 80A30818 */ lwz r5, 0x818(r3) -/* 0438B4 80048E54 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 0438B8 80048E58 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 0438BC 80048E5C 40820050 */ bne lbl_80048EAC -/* 0438C0 80048E60 281F0000 */ cmplwi r31, 0 -/* 0438C4 80048E64 4182003C */ beq lbl_80048EA0 -/* 0438C8 80048E68 54041838 */ slwi r4, r0, 3 -/* 0438CC 80048E6C 80610084 */ lwz r3, 0x84(r1) -/* 0438D0 80048E70 38840040 */ addi r4, r4, 0x40 -/* 0438D4 80048E74 54A5A814 */ slwi r5, r5, 0x15 -/* 0438D8 80048E78 7C9E2214 */ add r4, r30, r4 -/* 0438DC 80048E7C 38C30001 */ addi r6, r3, 1 -/* 0438E0 80048E80 64A59003 */ oris r5, r5, 0x9003 -/* 0438E4 80048E84 90C10084 */ stw r6, 0x84(r1) -/* 0438E8 80048E88 7C9E2050 */ subf r4, r30, r4 -/* 0438EC 80048E8C 7C842A14 */ add r4, r4, r5 -/* 0438F0 80048E90 38840004 */ addi r4, r4, 4 -/* 0438F4 80048E94 5463103A */ slwi r3, r3, 2 -/* 0438F8 80048E98 7C9F192E */ stwx r4, r31, r3 -/* 0438FC 80048E9C 48000010 */ b lbl_80048EAC -lbl_80048EA0: -/* 043900 80048EA0 80610084 */ lwz r3, 0x84(r1) -/* 043904 80048EA4 38630001 */ addi r3, r3, 1 -/* 043908 80048EA8 90610084 */ stw r3, 0x84(r1) -lbl_80048EAC: -/* 04390C 80048EAC 281F0000 */ cmplwi r31, 0 -/* 043910 80048EB0 5783D6FE */ rlwinm r3, r28, 0x1a, 0x1b, 0x1f -/* 043914 80048EB4 38A30020 */ addi r5, r3, 0x20 -/* 043918 80048EB8 41820030 */ beq lbl_80048EE8 -/* 04391C 80048EBC 80610084 */ lwz r3, 0x84(r1) -/* 043920 80048EC0 54041838 */ slwi r4, r0, 3 -/* 043924 80048EC4 38840040 */ addi r4, r4, 0x40 -/* 043928 80048EC8 7C9E2214 */ add r4, r30, r4 -/* 04392C 80048ECC 38C30001 */ addi r6, r3, 1 -/* 043930 80048ED0 7C9E2050 */ subf r4, r30, r4 -/* 043934 80048ED4 90C10084 */ stw r6, 0x84(r1) -/* 043938 80048ED8 3C8480A3 */ addis r4, r4, 0x80a3 -/* 04393C 80048EDC 5463103A */ slwi r3, r3, 2 -/* 043940 80048EE0 7C9F192E */ stwx r4, r31, r3 -/* 043944 80048EE4 48000010 */ b lbl_80048EF4 -lbl_80048EE8: -/* 043948 80048EE8 80610084 */ lwz r3, 0x84(r1) -/* 04394C 80048EEC 38630001 */ addi r3, r3, 1 -/* 043950 80048EF0 90610084 */ stw r3, 0x84(r1) -lbl_80048EF4: -/* 043954 80048EF4 281F0000 */ cmplwi r31, 0 -/* 043958 80048EF8 41820034 */ beq lbl_80048F2C -/* 04395C 80048EFC 54041838 */ slwi r4, r0, 3 -/* 043960 80048F00 80610084 */ lwz r3, 0x84(r1) -/* 043964 80048F04 38040040 */ addi r0, r4, 0x40 -/* 043968 80048F08 7C1E0214 */ add r0, r30, r0 -/* 04396C 80048F0C 7C9E0050 */ subf r4, r30, r0 -/* 043970 80048F10 38030001 */ addi r0, r3, 1 -/* 043974 80048F14 3C8480C3 */ addis r4, r4, 0x80c3 -/* 043978 80048F18 90010084 */ stw r0, 0x84(r1) -/* 04397C 80048F1C 38040004 */ addi r0, r4, 4 -/* 043980 80048F20 5463103A */ slwi r3, r3, 2 -/* 043984 80048F24 7C1F192E */ stwx r0, r31, r3 -/* 043988 80048F28 480000F4 */ b lbl_8004901C -lbl_80048F2C: -/* 04398C 80048F2C 80610084 */ lwz r3, 0x84(r1) -/* 043990 80048F30 38030001 */ addi r0, r3, 1 -/* 043994 80048F34 90010084 */ stw r0, 0x84(r1) -/* 043998 80048F38 480000E4 */ b lbl_8004901C -lbl_80048F3C: -/* 04399C 80048F3C 2C05001F */ cmpwi r5, 0x1f -/* 0439A0 80048F40 40810010 */ ble lbl_80048F50 -/* 0439A4 80048F44 38C0001F */ li r6, 0x1f -/* 0439A8 80048F48 38A5FFE1 */ addi r5, r5, -31 -/* 0439AC 80048F4C 4800000C */ b lbl_80048F58 -lbl_80048F50: -/* 0439B0 80048F50 38C50000 */ addi r6, r5, 0 -/* 0439B4 80048F54 38A00000 */ li r5, 0 -lbl_80048F58: -/* 0439B8 80048F58 281F0000 */ cmplwi r31, 0 -/* 0439BC 80048F5C 41820030 */ beq lbl_80048F8C -/* 0439C0 80048F60 80610084 */ lwz r3, 0x84(r1) -/* 0439C4 80048F64 54C45828 */ slwi r4, r6, 0xb -/* 0439C8 80048F68 2006001F */ subfic r0, r6, 0x1f -/* 0439CC 80048F6C 38E30001 */ addi r7, r3, 1 -/* 0439D0 80048F70 90E10084 */ stw r7, 0x84(r1) -/* 0439D4 80048F74 648454A5 */ oris r4, r4, 0x54a5 -/* 0439D8 80048F78 5400083C */ slwi r0, r0, 1 -/* 0439DC 80048F7C 7C800378 */ or r0, r4, r0 -/* 0439E0 80048F80 5463103A */ slwi r3, r3, 2 -/* 0439E4 80048F84 7C1F192E */ stwx r0, r31, r3 -/* 0439E8 80048F88 48000010 */ b lbl_80048F98 -lbl_80048F8C: -/* 0439EC 80048F8C 80610084 */ lwz r3, 0x84(r1) -/* 0439F0 80048F90 38030001 */ addi r0, r3, 1 -/* 0439F4 80048F94 90010084 */ stw r0, 0x84(r1) -lbl_80048F98: -/* 0439F8 80048F98 281F0000 */ cmplwi r31, 0 -/* 0439FC 80048F9C 41820034 */ beq lbl_80048FD0 -/* 043A00 80048FA0 80610084 */ lwz r3, 0x84(r1) -/* 043A04 80048FA4 54C45828 */ slwi r4, r6, 0xb -/* 043A08 80048FA8 20060020 */ subfic r0, r6, 0x20 -/* 043A0C 80048FAC 38E30001 */ addi r7, r3, 1 -/* 043A10 80048FB0 648450C5 */ oris r4, r4, 0x50c5 -/* 043A14 80048FB4 90E10084 */ stw r7, 0x84(r1) -/* 043A18 80048FB8 54003032 */ slwi r0, r0, 6 -/* 043A1C 80048FBC 7C800378 */ or r0, r4, r0 -/* 043A20 80048FC0 6000003E */ ori r0, r0, 0x3e -/* 043A24 80048FC4 5463103A */ slwi r3, r3, 2 -/* 043A28 80048FC8 7C1F192E */ stwx r0, r31, r3 -/* 043A2C 80048FCC 48000010 */ b lbl_80048FDC -lbl_80048FD0: -/* 043A30 80048FD0 80610084 */ lwz r3, 0x84(r1) -/* 043A34 80048FD4 38030001 */ addi r0, r3, 1 -/* 043A38 80048FD8 90010084 */ stw r0, 0x84(r1) -lbl_80048FDC: -/* 043A3C 80048FDC 281F0000 */ cmplwi r31, 0 -/* 043A40 80048FE0 41820030 */ beq lbl_80049010 -/* 043A44 80048FE4 80610084 */ lwz r3, 0x84(r1) -/* 043A48 80048FE8 54C05828 */ slwi r0, r6, 0xb -/* 043A4C 80048FEC 20C6001F */ subfic r6, r6, 0x1f -/* 043A50 80048FF0 38830001 */ addi r4, r3, 1 -/* 043A54 80048FF4 90810084 */ stw r4, 0x84(r1) -/* 043A58 80048FF8 640054C6 */ oris r0, r0, 0x54c6 -/* 043A5C 80048FFC 54C4083C */ slwi r4, r6, 1 -/* 043A60 80049000 7C002378 */ or r0, r0, r4 -/* 043A64 80049004 5463103A */ slwi r3, r3, 2 -/* 043A68 80049008 7C1F192E */ stwx r0, r31, r3 -/* 043A6C 8004900C 48000010 */ b lbl_8004901C -lbl_80049010: -/* 043A70 80049010 80610084 */ lwz r3, 0x84(r1) -/* 043A74 80049014 38030001 */ addi r0, r3, 1 -/* 043A78 80049018 90010084 */ stw r0, 0x84(r1) -lbl_8004901C: -/* 043A7C 8004901C 2C050000 */ cmpwi r5, 0 -/* 043A80 80049020 4181FF1C */ bgt lbl_80048F3C -/* 043A84 80049024 281F0000 */ cmplwi r31, 0 -/* 043A88 80049028 41820030 */ beq lbl_80049058 -/* 043A8C 8004902C 80610084 */ lwz r3, 0x84(r1) -/* 043A90 80049030 55041838 */ slwi r4, r8, 3 -/* 043A94 80049034 38040040 */ addi r0, r4, 0x40 -/* 043A98 80049038 7C9E0214 */ add r4, r30, r0 -/* 043A9C 8004903C 38030001 */ addi r0, r3, 1 -/* 043AA0 80049040 7C9E2050 */ subf r4, r30, r4 -/* 043AA4 80049044 90010084 */ stw r0, 0x84(r1) -/* 043AA8 80049048 3C0490A3 */ addis r0, r4, 0x90a3 -/* 043AAC 8004904C 5463103A */ slwi r3, r3, 2 -/* 043AB0 80049050 7C1F192E */ stwx r0, r31, r3 -/* 043AB4 80049054 48000010 */ b lbl_80049064 -lbl_80049058: -/* 043AB8 80049058 80610084 */ lwz r3, 0x84(r1) -/* 043ABC 8004905C 38030001 */ addi r0, r3, 1 -/* 043AC0 80049060 90010084 */ stw r0, 0x84(r1) -lbl_80049064: -/* 043AC4 80049064 281F0000 */ cmplwi r31, 0 -/* 043AC8 80049068 41820034 */ beq lbl_8004909C -/* 043ACC 8004906C 55041838 */ slwi r4, r8, 3 -/* 043AD0 80049070 80610084 */ lwz r3, 0x84(r1) -/* 043AD4 80049074 38040040 */ addi r0, r4, 0x40 -/* 043AD8 80049078 7C1E0214 */ add r0, r30, r0 -/* 043ADC 8004907C 7C9E0050 */ subf r4, r30, r0 -/* 043AE0 80049080 38030001 */ addi r0, r3, 1 -/* 043AE4 80049084 3C8490C3 */ addis r4, r4, 0x90c3 -/* 043AE8 80049088 90010084 */ stw r0, 0x84(r1) -/* 043AEC 8004908C 38040004 */ addi r0, r4, 4 -/* 043AF0 80049090 5463103A */ slwi r3, r3, 2 -/* 043AF4 80049094 7C1F192E */ stwx r0, r31, r3 -/* 043AF8 80049098 48000010 */ b lbl_800490A8 -lbl_8004909C: -/* 043AFC 8004909C 80610084 */ lwz r3, 0x84(r1) -/* 043B00 800490A0 38030001 */ addi r0, r3, 1 -/* 043B04 800490A4 90010084 */ stw r0, 0x84(r1) -lbl_800490A8: -/* 043B08 800490A8 5500103A */ slwi r0, r8, 2 -/* 043B0C 800490AC 7C7A0214 */ add r3, r26, r0 -/* 043B10 800490B0 80030818 */ lwz r0, 0x818(r3) -/* 043B14 800490B4 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 043B18 800490B8 41820008 */ beq lbl_800490C0 -/* 043B1C 800490BC 4801EE78 */ b lbl_80067F34 -lbl_800490C0: -/* 043B20 800490C0 281F0000 */ cmplwi r31, 0 -/* 043B24 800490C4 41820028 */ beq lbl_800490EC -/* 043B28 800490C8 80610084 */ lwz r3, 0x84(r1) -/* 043B2C 800490CC 5400801E */ slwi r0, r0, 0x10 -/* 043B30 800490D0 64047CC0 */ oris r4, r0, 0x7cc0 -/* 043B34 800490D4 38030001 */ addi r0, r3, 1 -/* 043B38 800490D8 90010084 */ stw r0, 0x84(r1) -/* 043B3C 800490DC 60843378 */ ori r4, r4, 0x3378 -/* 043B40 800490E0 5460103A */ slwi r0, r3, 2 -/* 043B44 800490E4 7C9F012E */ stwx r4, r31, r0 -/* 043B48 800490E8 4801EE4C */ b lbl_80067F34 -lbl_800490EC: -/* 043B4C 800490EC 80610084 */ lwz r3, 0x84(r1) -/* 043B50 800490F0 38030001 */ addi r0, r3, 1 -/* 043B54 800490F4 90010084 */ stw r0, 0x84(r1) -/* 043B58 800490F8 4801EE3C */ b lbl_80067F34 -.global lbl_800490FC -lbl_800490FC: -/* 043B5C 800490FC 3C7E0001 */ addis r3, r30, 1 -/* 043B60 80049100 5788AEFE */ rlwinm r8, r28, 0x15, 0x1b, 0x1f -/* 043B64 80049104 80032058 */ lwz r0, 0x2058(r3) -/* 043B68 80049108 38800001 */ li r4, 1 -/* 043B6C 8004910C 7C844030 */ slw r4, r4, r8 -/* 043B70 80049110 7C042078 */ andc r4, r0, r4 -/* 043B74 80049114 90832058 */ stw r4, 0x2058(r3) -/* 043B78 80049118 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 043B7C 8004911C 7C7A1A14 */ add r3, r26, r3 -/* 043B80 80049120 80A30818 */ lwz r5, 0x818(r3) -/* 043B84 80049124 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 043B88 80049128 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 043B8C 8004912C 40820050 */ bne lbl_8004917C -/* 043B90 80049130 281F0000 */ cmplwi r31, 0 -/* 043B94 80049134 4182003C */ beq lbl_80049170 -/* 043B98 80049138 54041838 */ slwi r4, r0, 3 -/* 043B9C 8004913C 80610084 */ lwz r3, 0x84(r1) -/* 043BA0 80049140 38840040 */ addi r4, r4, 0x40 -/* 043BA4 80049144 54A5A814 */ slwi r5, r5, 0x15 -/* 043BA8 80049148 7C9E2214 */ add r4, r30, r4 -/* 043BAC 8004914C 38C30001 */ addi r6, r3, 1 -/* 043BB0 80049150 64A59003 */ oris r5, r5, 0x9003 -/* 043BB4 80049154 90C10084 */ stw r6, 0x84(r1) -/* 043BB8 80049158 7C9E2050 */ subf r4, r30, r4 -/* 043BBC 8004915C 7C842A14 */ add r4, r4, r5 -/* 043BC0 80049160 38840004 */ addi r4, r4, 4 -/* 043BC4 80049164 5463103A */ slwi r3, r3, 2 -/* 043BC8 80049168 7C9F192E */ stwx r4, r31, r3 -/* 043BCC 8004916C 48000010 */ b lbl_8004917C -lbl_80049170: -/* 043BD0 80049170 80610084 */ lwz r3, 0x84(r1) -/* 043BD4 80049174 38630001 */ addi r3, r3, 1 -/* 043BD8 80049178 90610084 */ stw r3, 0x84(r1) -lbl_8004917C: -/* 043BDC 8004917C 281F0000 */ cmplwi r31, 0 -/* 043BE0 80049180 5783D6FE */ rlwinm r3, r28, 0x1a, 0x1b, 0x1f -/* 043BE4 80049184 38630020 */ addi r3, r3, 0x20 -/* 043BE8 80049188 41820030 */ beq lbl_800491B8 -/* 043BEC 8004918C 80810084 */ lwz r4, 0x84(r1) -/* 043BF0 80049190 54051838 */ slwi r5, r0, 3 -/* 043BF4 80049194 38A50040 */ addi r5, r5, 0x40 -/* 043BF8 80049198 7CBE2A14 */ add r5, r30, r5 -/* 043BFC 8004919C 38C40001 */ addi r6, r4, 1 -/* 043C00 800491A0 7CBE2850 */ subf r5, r30, r5 -/* 043C04 800491A4 90C10084 */ stw r6, 0x84(r1) -/* 043C08 800491A8 3CA580A3 */ addis r5, r5, 0x80a3 -/* 043C0C 800491AC 5484103A */ slwi r4, r4, 2 -/* 043C10 800491B0 7CBF212E */ stwx r5, r31, r4 -/* 043C14 800491B4 48000010 */ b lbl_800491C4 -lbl_800491B8: -/* 043C18 800491B8 80810084 */ lwz r4, 0x84(r1) -/* 043C1C 800491BC 38840001 */ addi r4, r4, 1 -/* 043C20 800491C0 90810084 */ stw r4, 0x84(r1) -lbl_800491C4: -/* 043C24 800491C4 281F0000 */ cmplwi r31, 0 -/* 043C28 800491C8 41820034 */ beq lbl_800491FC -/* 043C2C 800491CC 54051838 */ slwi r5, r0, 3 -/* 043C30 800491D0 80810084 */ lwz r4, 0x84(r1) -/* 043C34 800491D4 38050040 */ addi r0, r5, 0x40 -/* 043C38 800491D8 7C1E0214 */ add r0, r30, r0 -/* 043C3C 800491DC 7CBE0050 */ subf r5, r30, r0 -/* 043C40 800491E0 38040001 */ addi r0, r4, 1 -/* 043C44 800491E4 3CA580C3 */ addis r5, r5, 0x80c3 -/* 043C48 800491E8 90010084 */ stw r0, 0x84(r1) -/* 043C4C 800491EC 38050004 */ addi r0, r5, 4 -/* 043C50 800491F0 5484103A */ slwi r4, r4, 2 -/* 043C54 800491F4 7C1F212E */ stwx r0, r31, r4 -/* 043C58 800491F8 480000FC */ b lbl_800492F4 -lbl_800491FC: -/* 043C5C 800491FC 80810084 */ lwz r4, 0x84(r1) -/* 043C60 80049200 38040001 */ addi r0, r4, 1 -/* 043C64 80049204 90010084 */ stw r0, 0x84(r1) -/* 043C68 80049208 480000EC */ b lbl_800492F4 -lbl_8004920C: -/* 043C6C 8004920C 2C03001F */ cmpwi r3, 0x1f -/* 043C70 80049210 40810010 */ ble lbl_80049220 -/* 043C74 80049214 3880001F */ li r4, 0x1f -/* 043C78 80049218 3863FFE1 */ addi r3, r3, -31 -/* 043C7C 8004921C 4800000C */ b lbl_80049228 -lbl_80049220: -/* 043C80 80049220 38830000 */ addi r4, r3, 0 -/* 043C84 80049224 38600000 */ li r3, 0 -lbl_80049228: -/* 043C88 80049228 281F0000 */ cmplwi r31, 0 -/* 043C8C 8004922C 41820034 */ beq lbl_80049260 -/* 043C90 80049230 80A10084 */ lwz r5, 0x84(r1) -/* 043C94 80049234 20040020 */ subfic r0, r4, 0x20 -/* 043C98 80049238 54005828 */ slwi r0, r0, 0xb -/* 043C9C 8004923C 38C50001 */ addi r6, r5, 1 -/* 043CA0 80049240 640054C6 */ oris r0, r0, 0x54c6 -/* 043CA4 80049244 90C10084 */ stw r6, 0x84(r1) -/* 043CA8 80049248 54863032 */ slwi r6, r4, 6 -/* 043CAC 8004924C 7C003378 */ or r0, r0, r6 -/* 043CB0 80049250 6000003E */ ori r0, r0, 0x3e -/* 043CB4 80049254 54A5103A */ slwi r5, r5, 2 -/* 043CB8 80049258 7C1F292E */ stwx r0, r31, r5 -/* 043CBC 8004925C 48000010 */ b lbl_8004926C -lbl_80049260: -/* 043CC0 80049260 80A10084 */ lwz r5, 0x84(r1) -/* 043CC4 80049264 38050001 */ addi r0, r5, 1 -/* 043CC8 80049268 90010084 */ stw r0, 0x84(r1) -lbl_8004926C: -/* 043CCC 8004926C 281F0000 */ cmplwi r31, 0 -/* 043CD0 80049270 41820034 */ beq lbl_800492A4 -/* 043CD4 80049274 80A10084 */ lwz r5, 0x84(r1) -/* 043CD8 80049278 20040020 */ subfic r0, r4, 0x20 -/* 043CDC 8004927C 54065828 */ slwi r6, r0, 0xb -/* 043CE0 80049280 3804FFFF */ addi r0, r4, -1 -/* 043CE4 80049284 38E50001 */ addi r7, r5, 1 -/* 043CE8 80049288 90E10084 */ stw r7, 0x84(r1) -/* 043CEC 8004928C 64C650A6 */ oris r6, r6, 0x50a6 -/* 043CF0 80049290 5400083C */ slwi r0, r0, 1 -/* 043CF4 80049294 7CC00378 */ or r0, r6, r0 -/* 043CF8 80049298 54A5103A */ slwi r5, r5, 2 -/* 043CFC 8004929C 7C1F292E */ stwx r0, r31, r5 -/* 043D00 800492A0 48000010 */ b lbl_800492B0 -lbl_800492A4: -/* 043D04 800492A4 80A10084 */ lwz r5, 0x84(r1) -/* 043D08 800492A8 38050001 */ addi r0, r5, 1 -/* 043D0C 800492AC 90010084 */ stw r0, 0x84(r1) -lbl_800492B0: -/* 043D10 800492B0 281F0000 */ cmplwi r31, 0 -/* 043D14 800492B4 41820034 */ beq lbl_800492E8 -/* 043D18 800492B8 80A10084 */ lwz r5, 0x84(r1) -/* 043D1C 800492BC 20040020 */ subfic r0, r4, 0x20 -/* 043D20 800492C0 54065828 */ slwi r6, r0, 0xb -/* 043D24 800492C4 38050001 */ addi r0, r5, 1 -/* 043D28 800492C8 64C654A5 */ oris r6, r6, 0x54a5 -/* 043D2C 800492CC 90010084 */ stw r0, 0x84(r1) -/* 043D30 800492D0 54803032 */ slwi r0, r4, 6 -/* 043D34 800492D4 7CC00378 */ or r0, r6, r0 -/* 043D38 800492D8 6000003E */ ori r0, r0, 0x3e -/* 043D3C 800492DC 54A4103A */ slwi r4, r5, 2 -/* 043D40 800492E0 7C1F212E */ stwx r0, r31, r4 -/* 043D44 800492E4 48000010 */ b lbl_800492F4 -lbl_800492E8: -/* 043D48 800492E8 80810084 */ lwz r4, 0x84(r1) -/* 043D4C 800492EC 38040001 */ addi r0, r4, 1 -/* 043D50 800492F0 90010084 */ stw r0, 0x84(r1) -lbl_800492F4: -/* 043D54 800492F4 2C030000 */ cmpwi r3, 0 -/* 043D58 800492F8 4181FF14 */ bgt lbl_8004920C -/* 043D5C 800492FC 281F0000 */ cmplwi r31, 0 -/* 043D60 80049300 41820030 */ beq lbl_80049330 -/* 043D64 80049304 80610084 */ lwz r3, 0x84(r1) -/* 043D68 80049308 55041838 */ slwi r4, r8, 3 -/* 043D6C 8004930C 38040040 */ addi r0, r4, 0x40 -/* 043D70 80049310 7C9E0214 */ add r4, r30, r0 -/* 043D74 80049314 38030001 */ addi r0, r3, 1 -/* 043D78 80049318 7C9E2050 */ subf r4, r30, r4 -/* 043D7C 8004931C 90010084 */ stw r0, 0x84(r1) -/* 043D80 80049320 3C0490A3 */ addis r0, r4, 0x90a3 -/* 043D84 80049324 5463103A */ slwi r3, r3, 2 -/* 043D88 80049328 7C1F192E */ stwx r0, r31, r3 -/* 043D8C 8004932C 48000010 */ b lbl_8004933C -lbl_80049330: -/* 043D90 80049330 80610084 */ lwz r3, 0x84(r1) -/* 043D94 80049334 38030001 */ addi r0, r3, 1 -/* 043D98 80049338 90010084 */ stw r0, 0x84(r1) -lbl_8004933C: -/* 043D9C 8004933C 281F0000 */ cmplwi r31, 0 -/* 043DA0 80049340 41820034 */ beq lbl_80049374 -/* 043DA4 80049344 55041838 */ slwi r4, r8, 3 -/* 043DA8 80049348 80610084 */ lwz r3, 0x84(r1) -/* 043DAC 8004934C 38040040 */ addi r0, r4, 0x40 -/* 043DB0 80049350 7C1E0214 */ add r0, r30, r0 -/* 043DB4 80049354 7C9E0050 */ subf r4, r30, r0 -/* 043DB8 80049358 38030001 */ addi r0, r3, 1 -/* 043DBC 8004935C 3C8490C3 */ addis r4, r4, 0x90c3 -/* 043DC0 80049360 90010084 */ stw r0, 0x84(r1) -/* 043DC4 80049364 38040004 */ addi r0, r4, 4 -/* 043DC8 80049368 5463103A */ slwi r3, r3, 2 -/* 043DCC 8004936C 7C1F192E */ stwx r0, r31, r3 -/* 043DD0 80049370 48000010 */ b lbl_80049380 -lbl_80049374: -/* 043DD4 80049374 80610084 */ lwz r3, 0x84(r1) -/* 043DD8 80049378 38030001 */ addi r0, r3, 1 -/* 043DDC 8004937C 90010084 */ stw r0, 0x84(r1) -lbl_80049380: -/* 043DE0 80049380 5500103A */ slwi r0, r8, 2 -/* 043DE4 80049384 7C7A0214 */ add r3, r26, r0 -/* 043DE8 80049388 80030818 */ lwz r0, 0x818(r3) -/* 043DEC 8004938C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 043DF0 80049390 41820008 */ beq lbl_80049398 -/* 043DF4 80049394 4801EBA0 */ b lbl_80067F34 -lbl_80049398: -/* 043DF8 80049398 281F0000 */ cmplwi r31, 0 -/* 043DFC 8004939C 41820028 */ beq lbl_800493C4 -/* 043E00 800493A0 80610084 */ lwz r3, 0x84(r1) -/* 043E04 800493A4 5400801E */ slwi r0, r0, 0x10 -/* 043E08 800493A8 64047CC0 */ oris r4, r0, 0x7cc0 -/* 043E0C 800493AC 38030001 */ addi r0, r3, 1 -/* 043E10 800493B0 90010084 */ stw r0, 0x84(r1) -/* 043E14 800493B4 60843378 */ ori r4, r4, 0x3378 -/* 043E18 800493B8 5460103A */ slwi r0, r3, 2 -/* 043E1C 800493BC 7C9F012E */ stwx r4, r31, r0 -/* 043E20 800493C0 4801EB74 */ b lbl_80067F34 -lbl_800493C4: -/* 043E24 800493C4 80610084 */ lwz r3, 0x84(r1) -/* 043E28 800493C8 38030001 */ addi r0, r3, 1 -/* 043E2C 800493CC 90010084 */ stw r0, 0x84(r1) -/* 043E30 800493D0 4801EB64 */ b lbl_80067F34 -.global lbl_800493D4 -lbl_800493D4: -/* 043E34 800493D4 3C7E0001 */ addis r3, r30, 1 -/* 043E38 800493D8 5788AEFE */ rlwinm r8, r28, 0x15, 0x1b, 0x1f -/* 043E3C 800493DC 80032058 */ lwz r0, 0x2058(r3) -/* 043E40 800493E0 38800001 */ li r4, 1 -/* 043E44 800493E4 7C844030 */ slw r4, r4, r8 -/* 043E48 800493E8 7C042078 */ andc r4, r0, r4 -/* 043E4C 800493EC 90832058 */ stw r4, 0x2058(r3) -/* 043E50 800493F0 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 043E54 800493F4 7C7A1A14 */ add r3, r26, r3 -/* 043E58 800493F8 80A30818 */ lwz r5, 0x818(r3) -/* 043E5C 800493FC 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 043E60 80049400 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 043E64 80049404 40820050 */ bne lbl_80049454 -/* 043E68 80049408 281F0000 */ cmplwi r31, 0 -/* 043E6C 8004940C 4182003C */ beq lbl_80049448 -/* 043E70 80049410 54041838 */ slwi r4, r0, 3 -/* 043E74 80049414 80610084 */ lwz r3, 0x84(r1) -/* 043E78 80049418 38840040 */ addi r4, r4, 0x40 -/* 043E7C 8004941C 54A5A814 */ slwi r5, r5, 0x15 -/* 043E80 80049420 7C9E2214 */ add r4, r30, r4 -/* 043E84 80049424 38C30001 */ addi r6, r3, 1 -/* 043E88 80049428 64A59003 */ oris r5, r5, 0x9003 -/* 043E8C 8004942C 90C10084 */ stw r6, 0x84(r1) -/* 043E90 80049430 7C9E2050 */ subf r4, r30, r4 -/* 043E94 80049434 7C842A14 */ add r4, r4, r5 -/* 043E98 80049438 38840004 */ addi r4, r4, 4 -/* 043E9C 8004943C 5463103A */ slwi r3, r3, 2 -/* 043EA0 80049440 7C9F192E */ stwx r4, r31, r3 -/* 043EA4 80049444 48000010 */ b lbl_80049454 -lbl_80049448: -/* 043EA8 80049448 80610084 */ lwz r3, 0x84(r1) -/* 043EAC 8004944C 38630001 */ addi r3, r3, 1 -/* 043EB0 80049450 90610084 */ stw r3, 0x84(r1) -lbl_80049454: -/* 043EB4 80049454 281F0000 */ cmplwi r31, 0 -/* 043EB8 80049458 5783D6FE */ rlwinm r3, r28, 0x1a, 0x1b, 0x1f -/* 043EBC 8004945C 38630020 */ addi r3, r3, 0x20 -/* 043EC0 80049460 41820030 */ beq lbl_80049490 -/* 043EC4 80049464 80810084 */ lwz r4, 0x84(r1) -/* 043EC8 80049468 54051838 */ slwi r5, r0, 3 -/* 043ECC 8004946C 38A50040 */ addi r5, r5, 0x40 -/* 043ED0 80049470 7CBE2A14 */ add r5, r30, r5 -/* 043ED4 80049474 38C40001 */ addi r6, r4, 1 -/* 043ED8 80049478 7CBE2850 */ subf r5, r30, r5 -/* 043EDC 8004947C 90C10084 */ stw r6, 0x84(r1) -/* 043EE0 80049480 3CA580A3 */ addis r5, r5, 0x80a3 -/* 043EE4 80049484 5484103A */ slwi r4, r4, 2 -/* 043EE8 80049488 7CBF212E */ stwx r5, r31, r4 -/* 043EEC 8004948C 48000010 */ b lbl_8004949C -lbl_80049490: -/* 043EF0 80049490 80810084 */ lwz r4, 0x84(r1) -/* 043EF4 80049494 38840001 */ addi r4, r4, 1 -/* 043EF8 80049498 90810084 */ stw r4, 0x84(r1) -lbl_8004949C: -/* 043EFC 8004949C 281F0000 */ cmplwi r31, 0 -/* 043F00 800494A0 41820034 */ beq lbl_800494D4 -/* 043F04 800494A4 54051838 */ slwi r5, r0, 3 -/* 043F08 800494A8 80810084 */ lwz r4, 0x84(r1) -/* 043F0C 800494AC 38050040 */ addi r0, r5, 0x40 -/* 043F10 800494B0 7C1E0214 */ add r0, r30, r0 -/* 043F14 800494B4 7CBE0050 */ subf r5, r30, r0 -/* 043F18 800494B8 38040001 */ addi r0, r4, 1 -/* 043F1C 800494BC 3CA580C3 */ addis r5, r5, 0x80c3 -/* 043F20 800494C0 90010084 */ stw r0, 0x84(r1) -/* 043F24 800494C4 38050004 */ addi r0, r5, 4 -/* 043F28 800494C8 5484103A */ slwi r4, r4, 2 -/* 043F2C 800494CC 7C1F212E */ stwx r0, r31, r4 -/* 043F30 800494D0 480000F0 */ b lbl_800495C0 -lbl_800494D4: -/* 043F34 800494D4 80810084 */ lwz r4, 0x84(r1) -/* 043F38 800494D8 38040001 */ addi r0, r4, 1 -/* 043F3C 800494DC 90010084 */ stw r0, 0x84(r1) -/* 043F40 800494E0 480000E0 */ b lbl_800495C0 -lbl_800494E4: -/* 043F44 800494E4 2C03001F */ cmpwi r3, 0x1f -/* 043F48 800494E8 40810010 */ ble lbl_800494F8 -/* 043F4C 800494EC 3880001F */ li r4, 0x1f -/* 043F50 800494F0 3863FFE1 */ addi r3, r3, -31 -/* 043F54 800494F4 4800000C */ b lbl_80049500 -lbl_800494F8: -/* 043F58 800494F8 38830000 */ addi r4, r3, 0 -/* 043F5C 800494FC 38600000 */ li r3, 0 -lbl_80049500: -/* 043F60 80049500 281F0000 */ cmplwi r31, 0 -/* 043F64 80049504 41820034 */ beq lbl_80049538 -/* 043F68 80049508 80A10084 */ lwz r5, 0x84(r1) -/* 043F6C 8004950C 20040020 */ subfic r0, r4, 0x20 -/* 043F70 80049510 54005828 */ slwi r0, r0, 0xb -/* 043F74 80049514 38C50001 */ addi r6, r5, 1 -/* 043F78 80049518 640054C6 */ oris r0, r0, 0x54c6 -/* 043F7C 8004951C 90C10084 */ stw r6, 0x84(r1) -/* 043F80 80049520 54863032 */ slwi r6, r4, 6 -/* 043F84 80049524 7C003378 */ or r0, r0, r6 -/* 043F88 80049528 6000003E */ ori r0, r0, 0x3e -/* 043F8C 8004952C 54A5103A */ slwi r5, r5, 2 -/* 043F90 80049530 7C1F292E */ stwx r0, r31, r5 -/* 043F94 80049534 48000010 */ b lbl_80049544 -lbl_80049538: -/* 043F98 80049538 80A10084 */ lwz r5, 0x84(r1) -/* 043F9C 8004953C 38050001 */ addi r0, r5, 1 -/* 043FA0 80049540 90010084 */ stw r0, 0x84(r1) -lbl_80049544: -/* 043FA4 80049544 281F0000 */ cmplwi r31, 0 -/* 043FA8 80049548 41820034 */ beq lbl_8004957C -/* 043FAC 8004954C 80A10084 */ lwz r5, 0x84(r1) -/* 043FB0 80049550 20040020 */ subfic r0, r4, 0x20 -/* 043FB4 80049554 54065828 */ slwi r6, r0, 0xb -/* 043FB8 80049558 3804FFFF */ addi r0, r4, -1 -/* 043FBC 8004955C 38E50001 */ addi r7, r5, 1 -/* 043FC0 80049560 90E10084 */ stw r7, 0x84(r1) -/* 043FC4 80049564 64C650A6 */ oris r6, r6, 0x50a6 -/* 043FC8 80049568 5400083C */ slwi r0, r0, 1 -/* 043FCC 8004956C 7CC00378 */ or r0, r6, r0 -/* 043FD0 80049570 54A5103A */ slwi r5, r5, 2 -/* 043FD4 80049574 7C1F292E */ stwx r0, r31, r5 -/* 043FD8 80049578 48000010 */ b lbl_80049588 -lbl_8004957C: -/* 043FDC 8004957C 80A10084 */ lwz r5, 0x84(r1) -/* 043FE0 80049580 38050001 */ addi r0, r5, 1 -/* 043FE4 80049584 90010084 */ stw r0, 0x84(r1) -lbl_80049588: -/* 043FE8 80049588 281F0000 */ cmplwi r31, 0 -/* 043FEC 8004958C 41820028 */ beq lbl_800495B4 -/* 043FF0 80049590 80A10084 */ lwz r5, 0x84(r1) -/* 043FF4 80049594 54805828 */ slwi r0, r4, 0xb -/* 043FF8 80049598 64047CA5 */ oris r4, r0, 0x7ca5 -/* 043FFC 8004959C 38050001 */ addi r0, r5, 1 -/* 044000 800495A0 90010084 */ stw r0, 0x84(r1) -/* 044004 800495A4 60840670 */ ori r4, r4, 0x670 -/* 044008 800495A8 54A0103A */ slwi r0, r5, 2 -/* 04400C 800495AC 7C9F012E */ stwx r4, r31, r0 -/* 044010 800495B0 48000010 */ b lbl_800495C0 -lbl_800495B4: -/* 044014 800495B4 80810084 */ lwz r4, 0x84(r1) -/* 044018 800495B8 38040001 */ addi r0, r4, 1 -/* 04401C 800495BC 90010084 */ stw r0, 0x84(r1) -lbl_800495C0: -/* 044020 800495C0 2C030000 */ cmpwi r3, 0 -/* 044024 800495C4 4181FF20 */ bgt lbl_800494E4 -/* 044028 800495C8 281F0000 */ cmplwi r31, 0 -/* 04402C 800495CC 41820030 */ beq lbl_800495FC -/* 044030 800495D0 80610084 */ lwz r3, 0x84(r1) -/* 044034 800495D4 55041838 */ slwi r4, r8, 3 -/* 044038 800495D8 38040040 */ addi r0, r4, 0x40 -/* 04403C 800495DC 7C9E0214 */ add r4, r30, r0 -/* 044040 800495E0 38030001 */ addi r0, r3, 1 -/* 044044 800495E4 7C9E2050 */ subf r4, r30, r4 -/* 044048 800495E8 90010084 */ stw r0, 0x84(r1) -/* 04404C 800495EC 3C0490A3 */ addis r0, r4, 0x90a3 -/* 044050 800495F0 5463103A */ slwi r3, r3, 2 -/* 044054 800495F4 7C1F192E */ stwx r0, r31, r3 -/* 044058 800495F8 48000010 */ b lbl_80049608 -lbl_800495FC: -/* 04405C 800495FC 80610084 */ lwz r3, 0x84(r1) -/* 044060 80049600 38030001 */ addi r0, r3, 1 -/* 044064 80049604 90010084 */ stw r0, 0x84(r1) -lbl_80049608: -/* 044068 80049608 281F0000 */ cmplwi r31, 0 -/* 04406C 8004960C 41820034 */ beq lbl_80049640 -/* 044070 80049610 55041838 */ slwi r4, r8, 3 -/* 044074 80049614 80610084 */ lwz r3, 0x84(r1) -/* 044078 80049618 38040040 */ addi r0, r4, 0x40 -/* 04407C 8004961C 7C1E0214 */ add r0, r30, r0 -/* 044080 80049620 7C9E0050 */ subf r4, r30, r0 -/* 044084 80049624 38030001 */ addi r0, r3, 1 -/* 044088 80049628 3C8490C3 */ addis r4, r4, 0x90c3 -/* 04408C 8004962C 90010084 */ stw r0, 0x84(r1) -/* 044090 80049630 38040004 */ addi r0, r4, 4 -/* 044094 80049634 5463103A */ slwi r3, r3, 2 -/* 044098 80049638 7C1F192E */ stwx r0, r31, r3 -/* 04409C 8004963C 48000010 */ b lbl_8004964C -lbl_80049640: -/* 0440A0 80049640 80610084 */ lwz r3, 0x84(r1) -/* 0440A4 80049644 38030001 */ addi r0, r3, 1 -/* 0440A8 80049648 90010084 */ stw r0, 0x84(r1) -lbl_8004964C: -/* 0440AC 8004964C 5500103A */ slwi r0, r8, 2 -/* 0440B0 80049650 7C7A0214 */ add r3, r26, r0 -/* 0440B4 80049654 80030818 */ lwz r0, 0x818(r3) -/* 0440B8 80049658 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0440BC 8004965C 41820008 */ beq lbl_80049664 -/* 0440C0 80049660 4801E8D4 */ b lbl_80067F34 -lbl_80049664: -/* 0440C4 80049664 281F0000 */ cmplwi r31, 0 -/* 0440C8 80049668 41820028 */ beq lbl_80049690 -/* 0440CC 8004966C 80610084 */ lwz r3, 0x84(r1) -/* 0440D0 80049670 5400801E */ slwi r0, r0, 0x10 -/* 0440D4 80049674 64047CC0 */ oris r4, r0, 0x7cc0 -/* 0440D8 80049678 38030001 */ addi r0, r3, 1 -/* 0440DC 8004967C 90010084 */ stw r0, 0x84(r1) -/* 0440E0 80049680 60843378 */ ori r4, r4, 0x3378 -/* 0440E4 80049684 5460103A */ slwi r0, r3, 2 -/* 0440E8 80049688 7C9F012E */ stwx r4, r31, r0 -/* 0440EC 8004968C 4801E8A8 */ b lbl_80067F34 -lbl_80049690: -/* 0440F0 80049690 80610084 */ lwz r3, 0x84(r1) -/* 0440F4 80049694 38030001 */ addi r0, r3, 1 -/* 0440F8 80049698 90010084 */ stw r0, 0x84(r1) -/* 0440FC 8004969C 4801E898 */ b lbl_80067F34 -.global lbl_800496A0 -lbl_800496A0: -/* 044100 800496A0 39E00000 */ li r15, 0 -/* 044104 800496A4 4801E890 */ b lbl_80067F34 -.global lbl_800496A8 -lbl_800496A8: -/* 044108 800496A8 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 04410C 800496AC 28000013 */ cmplwi r0, 0x13 -/* 044110 800496B0 41811EAC */ bgt lbl_8004B55C -/* 044114 800496B4 3C60800F */ lis r3, jtbl_800ED260@ha -/* 044118 800496B8 3863D260 */ addi r3, r3, jtbl_800ED260@l -/* 04411C 800496BC 5400103A */ slwi r0, r0, 2 -/* 044120 800496C0 7C03002E */ lwzx r0, r3, r0 -/* 044124 800496C4 7C0903A6 */ mtctr r0 -/* 044128 800496C8 4E800420 */ bctr -.global lbl_800496CC -lbl_800496CC: -/* 04412C 800496CC 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 044130 800496D0 80720000 */ lwz r3, 0(r18) -/* 044134 800496D4 7C9A0214 */ add r4, r26, r0 -/* 044138 800496D8 80040818 */ lwz r0, 0x818(r4) -/* 04413C 800496DC 5784043E */ clrlwi r4, r28, 0x10 -/* 044140 800496E0 7C850734 */ extsh r5, r4 -/* 044144 800496E4 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 044148 800496E8 54A4103A */ slwi r4, r5, 2 -/* 04414C 800496EC 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 044150 800496F0 7E832214 */ add r20, r3, r4 -/* 044154 800496F4 4182014C */ beq lbl_80049840 -/* 044158 800496F8 3C7E0001 */ addis r3, r30, 1 -/* 04415C 800496FC 80832064 */ lwz r4, 0x2064(r3) -/* 044160 80049700 38000006 */ li r0, 6 -/* 044164 80049704 28040000 */ cmplwi r4, 0 -/* 044168 80049708 4082000C */ bne lbl_80049714 -/* 04416C 8004970C 38800000 */ li r4, 0 -/* 044170 80049710 48000094 */ b lbl_800497A4 -lbl_80049714: -/* 044174 80049714 80832068 */ lwz r4, 0x2068(r3) -/* 044178 80049718 28040000 */ cmplwi r4, 0 -/* 04417C 8004971C 4082000C */ bne lbl_80049728 -/* 044180 80049720 38800000 */ li r4, 0 -/* 044184 80049724 48000080 */ b lbl_800497A4 -lbl_80049728: -/* 044188 80049728 8063206C */ lwz r3, 0x206c(r3) -/* 04418C 8004972C 7C071800 */ cmpw r7, r3 -/* 044190 80049730 4182000C */ beq lbl_8004973C -/* 044194 80049734 38800000 */ li r4, 0 -/* 044198 80049738 4800006C */ b lbl_800497A4 -lbl_8004973C: -/* 04419C 8004973C 80BE0034 */ lwz r5, 0x34(r30) -/* 0441A0 80049740 38800000 */ li r4, 0 -/* 0441A4 80049744 80650008 */ lwz r3, 8(r5) -/* 0441A8 80049748 2C030000 */ cmpwi r3, 0 -/* 0441AC 8004974C 7C6903A6 */ mtctr r3 -/* 0441B0 80049750 40810028 */ ble lbl_80049778 -lbl_80049754: -/* 0441B4 80049754 8065000C */ lwz r3, 0xc(r5) -/* 0441B8 80049758 38C40004 */ addi r6, r4, 4 -/* 0441BC 8004975C 7C63302E */ lwzx r3, r3, r6 -/* 0441C0 80049760 7C1D1800 */ cmpw r29, r3 -/* 0441C4 80049764 4082000C */ bne lbl_80049770 -/* 0441C8 80049768 38600000 */ li r3, 0 -/* 0441CC 8004976C 48000010 */ b lbl_8004977C -lbl_80049770: -/* 0441D0 80049770 38840008 */ addi r4, r4, 8 -/* 0441D4 80049774 4200FFE0 */ bdnz lbl_80049754 -lbl_80049778: -/* 0441D8 80049778 38600001 */ li r3, 1 -lbl_8004977C: -/* 0441DC 8004977C 2C030000 */ cmpwi r3, 0 -/* 0441E0 80049780 40820014 */ bne lbl_80049794 -/* 0441E4 80049784 38800000 */ li r4, 0 -/* 0441E8 80049788 3C7E0001 */ addis r3, r30, 1 -/* 0441EC 8004978C 90832068 */ stw r4, 0x2068(r3) -/* 0441F0 80049790 48000014 */ b lbl_800497A4 -lbl_80049794: -/* 0441F4 80049794 3C7E0001 */ addis r3, r30, 1 -/* 0441F8 80049798 38800000 */ li r4, 0 -/* 0441FC 8004979C 90832068 */ stw r4, 0x2068(r3) -/* 044200 800497A0 38800001 */ li r4, 1 -lbl_800497A4: -/* 044204 800497A4 2C040000 */ cmpwi r4, 0 -/* 044208 800497A8 41820050 */ beq lbl_800497F8 -/* 04420C 800497AC 281F0000 */ cmplwi r31, 0 -/* 044210 800497B0 41820038 */ beq lbl_800497E8 -/* 044214 800497B4 3C7E0001 */ addis r3, r30, 1 -/* 044218 800497B8 80810084 */ lwz r4, 0x84(r1) -/* 04421C 800497BC 80C32070 */ lwz r6, 0x2070(r3) -/* 044220 800497C0 38640001 */ addi r3, r4, 1 -/* 044224 800497C4 54C5A814 */ slwi r5, r6, 0x15 -/* 044228 800497C8 90610084 */ stw r3, 0x84(r1) -/* 04422C 800497CC 64A37C06 */ oris r3, r5, 0x7c06 -/* 044230 800497D0 54C55828 */ slwi r5, r6, 0xb -/* 044234 800497D4 60630378 */ ori r3, r3, 0x378 -/* 044238 800497D8 7CA31B78 */ or r3, r5, r3 -/* 04423C 800497DC 5484103A */ slwi r4, r4, 2 -/* 044240 800497E0 7C7F212E */ stwx r3, r31, r4 -/* 044244 800497E4 4800005C */ b lbl_80049840 -lbl_800497E8: -/* 044248 800497E8 80610084 */ lwz r3, 0x84(r1) -/* 04424C 800497EC 38630001 */ addi r3, r3, 1 -/* 044250 800497F0 90610084 */ stw r3, 0x84(r1) -/* 044254 800497F4 4800004C */ b lbl_80049840 -lbl_800497F8: -/* 044258 800497F8 281F0000 */ cmplwi r31, 0 -/* 04425C 800497FC 41820038 */ beq lbl_80049834 -/* 044260 80049800 54E41838 */ slwi r4, r7, 3 -/* 044264 80049804 80610084 */ lwz r3, 0x84(r1) -/* 044268 80049808 38840040 */ addi r4, r4, 0x40 -/* 04426C 8004980C 7C9E2214 */ add r4, r30, r4 -/* 044270 80049810 7C9E2050 */ subf r4, r30, r4 -/* 044274 80049814 38840004 */ addi r4, r4, 4 -/* 044278 80049818 38A30001 */ addi r5, r3, 1 -/* 04427C 8004981C 5484043E */ clrlwi r4, r4, 0x10 -/* 044280 80049820 90A10084 */ stw r5, 0x84(r1) -/* 044284 80049824 3C8480C3 */ addis r4, r4, 0x80c3 -/* 044288 80049828 5463103A */ slwi r3, r3, 2 -/* 04428C 8004982C 7C9F192E */ stwx r4, r31, r3 -/* 044290 80049830 48000010 */ b lbl_80049840 -lbl_80049834: -/* 044294 80049834 80610084 */ lwz r3, 0x84(r1) -/* 044298 80049838 38630001 */ addi r3, r3, 1 -/* 04429C 8004983C 90610084 */ stw r3, 0x84(r1) -lbl_80049840: -/* 0442A0 80049840 281F0000 */ cmplwi r31, 0 -/* 0442A4 80049844 41820024 */ beq lbl_80049868 -/* 0442A8 80049848 80610084 */ lwz r3, 0x84(r1) -/* 0442AC 8004984C 5400801E */ slwi r0, r0, 0x10 -/* 0442B0 80049850 64042C00 */ oris r4, r0, 0x2c00 -/* 0442B4 80049854 38030001 */ addi r0, r3, 1 -/* 0442B8 80049858 90010084 */ stw r0, 0x84(r1) -/* 0442BC 8004985C 5460103A */ slwi r0, r3, 2 -/* 0442C0 80049860 7C9F012E */ stwx r4, r31, r0 -/* 0442C4 80049864 48000010 */ b lbl_80049874 -lbl_80049868: -/* 0442C8 80049868 80610084 */ lwz r3, 0x84(r1) -/* 0442CC 8004986C 38030001 */ addi r0, r3, 1 -/* 0442D0 80049870 90010084 */ stw r0, 0x84(r1) -lbl_80049874: -/* 0442D4 80049874 82E10084 */ lwz r23, 0x84(r1) -/* 0442D8 80049878 387E0000 */ addi r3, r30, 0 -/* 0442DC 8004987C 38920000 */ addi r4, r18, 0 -/* 0442E0 80049880 38170001 */ addi r0, r23, 1 -/* 0442E4 80049884 90010084 */ stw r0, 0x84(r1) -/* 0442E8 80049888 38BB0000 */ addi r5, r27, 0 -/* 0442EC 8004988C 38DF0000 */ addi r6, r31, 0 -/* 0442F0 80049890 38E10084 */ addi r7, r1, 0x84 -/* 0442F4 80049894 39000001 */ li r8, 1 -/* 0442F8 80049898 4BFF556D */ bl cpuGetPPC -/* 0442FC 8004989C 2C030000 */ cmpwi r3, 0 -/* 044300 800498A0 4082000C */ bne lbl_800498AC -/* 044304 800498A4 38600000 */ li r3, 0 -/* 044308 800498A8 4801E97C */ b lbl_80068224 -lbl_800498AC: -/* 04430C 800498AC 80720000 */ lwz r3, 0(r18) -/* 044310 800498B0 281F0000 */ cmplwi r31, 0 -/* 044314 800498B4 3803FFFC */ addi r0, r3, -4 -/* 044318 800498B8 90120000 */ stw r0, 0(r18) -/* 04431C 800498BC 40820010 */ bne lbl_800498CC -/* 044320 800498C0 3B200000 */ li r25, 0 -/* 044324 800498C4 38000001 */ li r0, 1 -/* 044328 800498C8 48000050 */ b lbl_80049918 -lbl_800498CC: -/* 04432C 800498CC 801B0008 */ lwz r0, 8(r27) -/* 044330 800498D0 38600000 */ li r3, 0 -/* 044334 800498D4 38830000 */ addi r4, r3, 0 -/* 044338 800498D8 2C000000 */ cmpwi r0, 0 -/* 04433C 800498DC 7C0903A6 */ mtctr r0 -/* 044340 800498E0 40810034 */ ble lbl_80049914 -lbl_800498E4: -/* 044344 800498E4 80BB000C */ lwz r5, 0xc(r27) -/* 044348 800498E8 38040004 */ addi r0, r4, 4 -/* 04434C 800498EC 7C05002E */ lwzx r0, r5, r0 -/* 044350 800498F0 7C140000 */ cmpw r20, r0 -/* 044354 800498F4 40820014 */ bne lbl_80049908 -/* 044358 800498F8 54601838 */ slwi r0, r3, 3 -/* 04435C 800498FC 7F25002E */ lwzx r25, r5, r0 -/* 044360 80049900 38000001 */ li r0, 1 -/* 044364 80049904 48000014 */ b lbl_80049918 -lbl_80049908: -/* 044368 80049908 38840008 */ addi r4, r4, 8 -/* 04436C 8004990C 38630001 */ addi r3, r3, 1 -/* 044370 80049910 4200FFD4 */ bdnz lbl_800498E4 -lbl_80049914: -/* 044374 80049914 38000000 */ li r0, 0 -lbl_80049918: -/* 044378 80049918 2C000000 */ cmpwi r0, 0 -/* 04437C 8004991C 4082000C */ bne lbl_80049928 -/* 044380 80049920 38600000 */ li r3, 0 -/* 044384 80049924 4801E900 */ b lbl_80068224 -lbl_80049928: -/* 044388 80049928 281F0000 */ cmplwi r31, 0 -/* 04438C 8004992C 41820010 */ beq lbl_8004993C -/* 044390 80049930 80010084 */ lwz r0, 0x84(r1) -/* 044394 80049934 7C00C850 */ subf r0, r0, r25 -/* 044398 80049938 5415103A */ slwi r21, r0, 2 -lbl_8004993C: -/* 04439C 8004993C 281F0000 */ cmplwi r31, 0 -/* 0443A0 80049940 41820024 */ beq lbl_80049964 -/* 0443A4 80049944 80610084 */ lwz r3, 0x84(r1) -/* 0443A8 80049948 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 0443AC 8004994C 64044800 */ oris r4, r0, 0x4800 -/* 0443B0 80049950 38030001 */ addi r0, r3, 1 -/* 0443B4 80049954 90010084 */ stw r0, 0x84(r1) -/* 0443B8 80049958 5460103A */ slwi r0, r3, 2 -/* 0443BC 8004995C 7C9F012E */ stwx r4, r31, r0 -/* 0443C0 80049960 48000010 */ b lbl_80049970 -lbl_80049964: -/* 0443C4 80049964 80610084 */ lwz r3, 0x84(r1) -/* 0443C8 80049968 38030001 */ addi r0, r3, 1 -/* 0443CC 8004996C 90010084 */ stw r0, 0x84(r1) -lbl_80049970: -/* 0443D0 80049970 281F0000 */ cmplwi r31, 0 -/* 0443D4 80049974 40820008 */ bne lbl_8004997C -/* 0443D8 80049978 4801E5BC */ b lbl_80067F34 -lbl_8004997C: -/* 0443DC 8004997C 80610084 */ lwz r3, 0x84(r1) -/* 0443E0 80049980 56E0103A */ slwi r0, r23, 2 -/* 0443E4 80049984 7C771850 */ subf r3, r23, r3 -/* 0443E8 80049988 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 0443EC 8004998C 64634080 */ oris r3, r3, 0x4080 -/* 0443F0 80049990 7C7F012E */ stwx r3, r31, r0 -/* 0443F4 80049994 4801E5A0 */ b lbl_80067F34 -.global lbl_80049998 -lbl_80049998: -/* 0443F8 80049998 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 0443FC 8004999C 80720000 */ lwz r3, 0(r18) -/* 044400 800499A0 7C9A0214 */ add r4, r26, r0 -/* 044404 800499A4 80040818 */ lwz r0, 0x818(r4) -/* 044408 800499A8 5784043E */ clrlwi r4, r28, 0x10 -/* 04440C 800499AC 7C850734 */ extsh r5, r4 -/* 044410 800499B0 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 044414 800499B4 54A4103A */ slwi r4, r5, 2 -/* 044418 800499B8 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 04441C 800499BC 7E832214 */ add r20, r3, r4 -/* 044420 800499C0 4182014C */ beq lbl_80049B0C -/* 044424 800499C4 3C7E0001 */ addis r3, r30, 1 -/* 044428 800499C8 80832064 */ lwz r4, 0x2064(r3) -/* 04442C 800499CC 38000006 */ li r0, 6 -/* 044430 800499D0 28040000 */ cmplwi r4, 0 -/* 044434 800499D4 4082000C */ bne lbl_800499E0 -/* 044438 800499D8 38800000 */ li r4, 0 -/* 04443C 800499DC 48000094 */ b lbl_80049A70 -lbl_800499E0: -/* 044440 800499E0 80832068 */ lwz r4, 0x2068(r3) -/* 044444 800499E4 28040000 */ cmplwi r4, 0 -/* 044448 800499E8 4082000C */ bne lbl_800499F4 -/* 04444C 800499EC 38800000 */ li r4, 0 -/* 044450 800499F0 48000080 */ b lbl_80049A70 -lbl_800499F4: -/* 044454 800499F4 8063206C */ lwz r3, 0x206c(r3) -/* 044458 800499F8 7C071800 */ cmpw r7, r3 -/* 04445C 800499FC 4182000C */ beq lbl_80049A08 -/* 044460 80049A00 38800000 */ li r4, 0 -/* 044464 80049A04 4800006C */ b lbl_80049A70 -lbl_80049A08: -/* 044468 80049A08 80BE0034 */ lwz r5, 0x34(r30) -/* 04446C 80049A0C 38800000 */ li r4, 0 -/* 044470 80049A10 80650008 */ lwz r3, 8(r5) -/* 044474 80049A14 2C030000 */ cmpwi r3, 0 -/* 044478 80049A18 7C6903A6 */ mtctr r3 -/* 04447C 80049A1C 40810028 */ ble lbl_80049A44 -lbl_80049A20: -/* 044480 80049A20 8065000C */ lwz r3, 0xc(r5) -/* 044484 80049A24 38C40004 */ addi r6, r4, 4 -/* 044488 80049A28 7C63302E */ lwzx r3, r3, r6 -/* 04448C 80049A2C 7C1D1800 */ cmpw r29, r3 -/* 044490 80049A30 4082000C */ bne lbl_80049A3C -/* 044494 80049A34 38600000 */ li r3, 0 -/* 044498 80049A38 48000010 */ b lbl_80049A48 -lbl_80049A3C: -/* 04449C 80049A3C 38840008 */ addi r4, r4, 8 -/* 0444A0 80049A40 4200FFE0 */ bdnz lbl_80049A20 -lbl_80049A44: -/* 0444A4 80049A44 38600001 */ li r3, 1 -lbl_80049A48: -/* 0444A8 80049A48 2C030000 */ cmpwi r3, 0 -/* 0444AC 80049A4C 40820014 */ bne lbl_80049A60 -/* 0444B0 80049A50 38800000 */ li r4, 0 -/* 0444B4 80049A54 3C7E0001 */ addis r3, r30, 1 -/* 0444B8 80049A58 90832068 */ stw r4, 0x2068(r3) -/* 0444BC 80049A5C 48000014 */ b lbl_80049A70 -lbl_80049A60: -/* 0444C0 80049A60 3C7E0001 */ addis r3, r30, 1 -/* 0444C4 80049A64 38800000 */ li r4, 0 -/* 0444C8 80049A68 90832068 */ stw r4, 0x2068(r3) -/* 0444CC 80049A6C 38800001 */ li r4, 1 -lbl_80049A70: -/* 0444D0 80049A70 2C040000 */ cmpwi r4, 0 -/* 0444D4 80049A74 41820050 */ beq lbl_80049AC4 -/* 0444D8 80049A78 281F0000 */ cmplwi r31, 0 -/* 0444DC 80049A7C 41820038 */ beq lbl_80049AB4 -/* 0444E0 80049A80 3C7E0001 */ addis r3, r30, 1 -/* 0444E4 80049A84 80810084 */ lwz r4, 0x84(r1) -/* 0444E8 80049A88 80C32070 */ lwz r6, 0x2070(r3) -/* 0444EC 80049A8C 38640001 */ addi r3, r4, 1 -/* 0444F0 80049A90 54C5A814 */ slwi r5, r6, 0x15 -/* 0444F4 80049A94 90610084 */ stw r3, 0x84(r1) -/* 0444F8 80049A98 64A37C06 */ oris r3, r5, 0x7c06 -/* 0444FC 80049A9C 54C55828 */ slwi r5, r6, 0xb -/* 044500 80049AA0 60630378 */ ori r3, r3, 0x378 -/* 044504 80049AA4 7CA31B78 */ or r3, r5, r3 -/* 044508 80049AA8 5484103A */ slwi r4, r4, 2 -/* 04450C 80049AAC 7C7F212E */ stwx r3, r31, r4 -/* 044510 80049AB0 4800005C */ b lbl_80049B0C -lbl_80049AB4: -/* 044514 80049AB4 80610084 */ lwz r3, 0x84(r1) -/* 044518 80049AB8 38630001 */ addi r3, r3, 1 -/* 04451C 80049ABC 90610084 */ stw r3, 0x84(r1) -/* 044520 80049AC0 4800004C */ b lbl_80049B0C -lbl_80049AC4: -/* 044524 80049AC4 281F0000 */ cmplwi r31, 0 -/* 044528 80049AC8 41820038 */ beq lbl_80049B00 -/* 04452C 80049ACC 54E41838 */ slwi r4, r7, 3 -/* 044530 80049AD0 80610084 */ lwz r3, 0x84(r1) -/* 044534 80049AD4 38840040 */ addi r4, r4, 0x40 -/* 044538 80049AD8 7C9E2214 */ add r4, r30, r4 -/* 04453C 80049ADC 7C9E2050 */ subf r4, r30, r4 -/* 044540 80049AE0 38840004 */ addi r4, r4, 4 -/* 044544 80049AE4 38A30001 */ addi r5, r3, 1 -/* 044548 80049AE8 5484043E */ clrlwi r4, r4, 0x10 -/* 04454C 80049AEC 90A10084 */ stw r5, 0x84(r1) -/* 044550 80049AF0 3C8480C3 */ addis r4, r4, 0x80c3 -/* 044554 80049AF4 5463103A */ slwi r3, r3, 2 -/* 044558 80049AF8 7C9F192E */ stwx r4, r31, r3 -/* 04455C 80049AFC 48000010 */ b lbl_80049B0C -lbl_80049B00: -/* 044560 80049B00 80610084 */ lwz r3, 0x84(r1) -/* 044564 80049B04 38630001 */ addi r3, r3, 1 -/* 044568 80049B08 90610084 */ stw r3, 0x84(r1) -lbl_80049B0C: -/* 04456C 80049B0C 281F0000 */ cmplwi r31, 0 -/* 044570 80049B10 41820024 */ beq lbl_80049B34 -/* 044574 80049B14 80610084 */ lwz r3, 0x84(r1) -/* 044578 80049B18 5400801E */ slwi r0, r0, 0x10 -/* 04457C 80049B1C 64042C00 */ oris r4, r0, 0x2c00 -/* 044580 80049B20 38030001 */ addi r0, r3, 1 -/* 044584 80049B24 90010084 */ stw r0, 0x84(r1) -/* 044588 80049B28 5460103A */ slwi r0, r3, 2 -/* 04458C 80049B2C 7C9F012E */ stwx r4, r31, r0 -/* 044590 80049B30 48000010 */ b lbl_80049B40 -lbl_80049B34: -/* 044594 80049B34 80610084 */ lwz r3, 0x84(r1) -/* 044598 80049B38 38030001 */ addi r0, r3, 1 -/* 04459C 80049B3C 90010084 */ stw r0, 0x84(r1) -lbl_80049B40: -/* 0445A0 80049B40 82E10084 */ lwz r23, 0x84(r1) -/* 0445A4 80049B44 387E0000 */ addi r3, r30, 0 -/* 0445A8 80049B48 38920000 */ addi r4, r18, 0 -/* 0445AC 80049B4C 38170001 */ addi r0, r23, 1 -/* 0445B0 80049B50 90010084 */ stw r0, 0x84(r1) -/* 0445B4 80049B54 38BB0000 */ addi r5, r27, 0 -/* 0445B8 80049B58 38DF0000 */ addi r6, r31, 0 -/* 0445BC 80049B5C 38E10084 */ addi r7, r1, 0x84 -/* 0445C0 80049B60 39000001 */ li r8, 1 -/* 0445C4 80049B64 4BFF52A1 */ bl cpuGetPPC -/* 0445C8 80049B68 2C030000 */ cmpwi r3, 0 -/* 0445CC 80049B6C 4082000C */ bne lbl_80049B78 -/* 0445D0 80049B70 38600000 */ li r3, 0 -/* 0445D4 80049B74 4801E6B0 */ b lbl_80068224 -lbl_80049B78: -/* 0445D8 80049B78 80720000 */ lwz r3, 0(r18) -/* 0445DC 80049B7C 281F0000 */ cmplwi r31, 0 -/* 0445E0 80049B80 3803FFFC */ addi r0, r3, -4 -/* 0445E4 80049B84 90120000 */ stw r0, 0(r18) -/* 0445E8 80049B88 40820010 */ bne lbl_80049B98 -/* 0445EC 80049B8C 3B200000 */ li r25, 0 -/* 0445F0 80049B90 38000001 */ li r0, 1 -/* 0445F4 80049B94 48000050 */ b lbl_80049BE4 -lbl_80049B98: -/* 0445F8 80049B98 801B0008 */ lwz r0, 8(r27) -/* 0445FC 80049B9C 38600000 */ li r3, 0 -/* 044600 80049BA0 38830000 */ addi r4, r3, 0 -/* 044604 80049BA4 2C000000 */ cmpwi r0, 0 -/* 044608 80049BA8 7C0903A6 */ mtctr r0 -/* 04460C 80049BAC 40810034 */ ble lbl_80049BE0 -lbl_80049BB0: -/* 044610 80049BB0 80BB000C */ lwz r5, 0xc(r27) -/* 044614 80049BB4 38040004 */ addi r0, r4, 4 -/* 044618 80049BB8 7C05002E */ lwzx r0, r5, r0 -/* 04461C 80049BBC 7C140000 */ cmpw r20, r0 -/* 044620 80049BC0 40820014 */ bne lbl_80049BD4 -/* 044624 80049BC4 54601838 */ slwi r0, r3, 3 -/* 044628 80049BC8 7F25002E */ lwzx r25, r5, r0 -/* 04462C 80049BCC 38000001 */ li r0, 1 -/* 044630 80049BD0 48000014 */ b lbl_80049BE4 -lbl_80049BD4: -/* 044634 80049BD4 38840008 */ addi r4, r4, 8 -/* 044638 80049BD8 38630001 */ addi r3, r3, 1 -/* 04463C 80049BDC 4200FFD4 */ bdnz lbl_80049BB0 -lbl_80049BE0: -/* 044640 80049BE0 38000000 */ li r0, 0 -lbl_80049BE4: -/* 044644 80049BE4 2C000000 */ cmpwi r0, 0 -/* 044648 80049BE8 4082000C */ bne lbl_80049BF4 -/* 04464C 80049BEC 38600000 */ li r3, 0 -/* 044650 80049BF0 4801E634 */ b lbl_80068224 -lbl_80049BF4: -/* 044654 80049BF4 281F0000 */ cmplwi r31, 0 -/* 044658 80049BF8 41820010 */ beq lbl_80049C08 -/* 04465C 80049BFC 80010084 */ lwz r0, 0x84(r1) -/* 044660 80049C00 7C00C850 */ subf r0, r0, r25 -/* 044664 80049C04 5415103A */ slwi r21, r0, 2 -lbl_80049C08: -/* 044668 80049C08 281F0000 */ cmplwi r31, 0 -/* 04466C 80049C0C 41820024 */ beq lbl_80049C30 -/* 044670 80049C10 80610084 */ lwz r3, 0x84(r1) -/* 044674 80049C14 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 044678 80049C18 64044800 */ oris r4, r0, 0x4800 -/* 04467C 80049C1C 38030001 */ addi r0, r3, 1 -/* 044680 80049C20 90010084 */ stw r0, 0x84(r1) -/* 044684 80049C24 5460103A */ slwi r0, r3, 2 -/* 044688 80049C28 7C9F012E */ stwx r4, r31, r0 -/* 04468C 80049C2C 48000010 */ b lbl_80049C3C -lbl_80049C30: -/* 044690 80049C30 80610084 */ lwz r3, 0x84(r1) -/* 044694 80049C34 38030001 */ addi r0, r3, 1 -/* 044698 80049C38 90010084 */ stw r0, 0x84(r1) -lbl_80049C3C: -/* 04469C 80049C3C 281F0000 */ cmplwi r31, 0 -/* 0446A0 80049C40 40820008 */ bne lbl_80049C48 -/* 0446A4 80049C44 4801E2F0 */ b lbl_80067F34 -lbl_80049C48: -/* 0446A8 80049C48 80610084 */ lwz r3, 0x84(r1) -/* 0446AC 80049C4C 56E0103A */ slwi r0, r23, 2 -/* 0446B0 80049C50 7C771850 */ subf r3, r23, r3 -/* 0446B4 80049C54 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 0446B8 80049C58 64634180 */ oris r3, r3, 0x4180 -/* 0446BC 80049C5C 7C7F012E */ stwx r3, r31, r0 -/* 0446C0 80049C60 4801E2D4 */ b lbl_80067F34 -.global lbl_80049C64 -lbl_80049C64: -/* 0446C4 80049C64 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 0446C8 80049C68 80720000 */ lwz r3, 0(r18) -/* 0446CC 80049C6C 7C9A0214 */ add r4, r26, r0 -/* 0446D0 80049C70 80040818 */ lwz r0, 0x818(r4) -/* 0446D4 80049C74 5784043E */ clrlwi r4, r28, 0x10 -/* 0446D8 80049C78 7C850734 */ extsh r5, r4 -/* 0446DC 80049C7C 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 0446E0 80049C80 54A4103A */ slwi r4, r5, 2 -/* 0446E4 80049C84 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 0446E8 80049C88 7E832214 */ add r20, r3, r4 -/* 0446EC 80049C8C 4182014C */ beq lbl_80049DD8 -/* 0446F0 80049C90 3C7E0001 */ addis r3, r30, 1 -/* 0446F4 80049C94 80832064 */ lwz r4, 0x2064(r3) -/* 0446F8 80049C98 38000006 */ li r0, 6 -/* 0446FC 80049C9C 28040000 */ cmplwi r4, 0 -/* 044700 80049CA0 4082000C */ bne lbl_80049CAC -/* 044704 80049CA4 38800000 */ li r4, 0 -/* 044708 80049CA8 48000094 */ b lbl_80049D3C -lbl_80049CAC: -/* 04470C 80049CAC 80832068 */ lwz r4, 0x2068(r3) -/* 044710 80049CB0 28040000 */ cmplwi r4, 0 -/* 044714 80049CB4 4082000C */ bne lbl_80049CC0 -/* 044718 80049CB8 38800000 */ li r4, 0 -/* 04471C 80049CBC 48000080 */ b lbl_80049D3C -lbl_80049CC0: -/* 044720 80049CC0 8063206C */ lwz r3, 0x206c(r3) -/* 044724 80049CC4 7C071800 */ cmpw r7, r3 -/* 044728 80049CC8 4182000C */ beq lbl_80049CD4 -/* 04472C 80049CCC 38800000 */ li r4, 0 -/* 044730 80049CD0 4800006C */ b lbl_80049D3C -lbl_80049CD4: -/* 044734 80049CD4 80BE0034 */ lwz r5, 0x34(r30) -/* 044738 80049CD8 38800000 */ li r4, 0 -/* 04473C 80049CDC 80650008 */ lwz r3, 8(r5) -/* 044740 80049CE0 2C030000 */ cmpwi r3, 0 -/* 044744 80049CE4 7C6903A6 */ mtctr r3 -/* 044748 80049CE8 40810028 */ ble lbl_80049D10 -lbl_80049CEC: -/* 04474C 80049CEC 8065000C */ lwz r3, 0xc(r5) -/* 044750 80049CF0 38C40004 */ addi r6, r4, 4 -/* 044754 80049CF4 7C63302E */ lwzx r3, r3, r6 -/* 044758 80049CF8 7C1D1800 */ cmpw r29, r3 -/* 04475C 80049CFC 4082000C */ bne lbl_80049D08 -/* 044760 80049D00 38600000 */ li r3, 0 -/* 044764 80049D04 48000010 */ b lbl_80049D14 -lbl_80049D08: -/* 044768 80049D08 38840008 */ addi r4, r4, 8 -/* 04476C 80049D0C 4200FFE0 */ bdnz lbl_80049CEC -lbl_80049D10: -/* 044770 80049D10 38600001 */ li r3, 1 -lbl_80049D14: -/* 044774 80049D14 2C030000 */ cmpwi r3, 0 -/* 044778 80049D18 40820014 */ bne lbl_80049D2C -/* 04477C 80049D1C 38800000 */ li r4, 0 -/* 044780 80049D20 3C7E0001 */ addis r3, r30, 1 -/* 044784 80049D24 90832068 */ stw r4, 0x2068(r3) -/* 044788 80049D28 48000014 */ b lbl_80049D3C -lbl_80049D2C: -/* 04478C 80049D2C 3C7E0001 */ addis r3, r30, 1 -/* 044790 80049D30 38800000 */ li r4, 0 -/* 044794 80049D34 90832068 */ stw r4, 0x2068(r3) -/* 044798 80049D38 38800001 */ li r4, 1 -lbl_80049D3C: -/* 04479C 80049D3C 2C040000 */ cmpwi r4, 0 -/* 0447A0 80049D40 41820050 */ beq lbl_80049D90 -/* 0447A4 80049D44 281F0000 */ cmplwi r31, 0 -/* 0447A8 80049D48 41820038 */ beq lbl_80049D80 -/* 0447AC 80049D4C 3C7E0001 */ addis r3, r30, 1 -/* 0447B0 80049D50 80810084 */ lwz r4, 0x84(r1) -/* 0447B4 80049D54 80C32070 */ lwz r6, 0x2070(r3) -/* 0447B8 80049D58 38640001 */ addi r3, r4, 1 -/* 0447BC 80049D5C 54C5A814 */ slwi r5, r6, 0x15 -/* 0447C0 80049D60 90610084 */ stw r3, 0x84(r1) -/* 0447C4 80049D64 64A37C06 */ oris r3, r5, 0x7c06 -/* 0447C8 80049D68 54C55828 */ slwi r5, r6, 0xb -/* 0447CC 80049D6C 60630378 */ ori r3, r3, 0x378 -/* 0447D0 80049D70 7CA31B78 */ or r3, r5, r3 -/* 0447D4 80049D74 5484103A */ slwi r4, r4, 2 -/* 0447D8 80049D78 7C7F212E */ stwx r3, r31, r4 -/* 0447DC 80049D7C 4800005C */ b lbl_80049DD8 -lbl_80049D80: -/* 0447E0 80049D80 80610084 */ lwz r3, 0x84(r1) -/* 0447E4 80049D84 38630001 */ addi r3, r3, 1 -/* 0447E8 80049D88 90610084 */ stw r3, 0x84(r1) -/* 0447EC 80049D8C 4800004C */ b lbl_80049DD8 -lbl_80049D90: -/* 0447F0 80049D90 281F0000 */ cmplwi r31, 0 -/* 0447F4 80049D94 41820038 */ beq lbl_80049DCC -/* 0447F8 80049D98 54E41838 */ slwi r4, r7, 3 -/* 0447FC 80049D9C 80610084 */ lwz r3, 0x84(r1) -/* 044800 80049DA0 38840040 */ addi r4, r4, 0x40 -/* 044804 80049DA4 7C9E2214 */ add r4, r30, r4 -/* 044808 80049DA8 7C9E2050 */ subf r4, r30, r4 -/* 04480C 80049DAC 38840004 */ addi r4, r4, 4 -/* 044810 80049DB0 38A30001 */ addi r5, r3, 1 -/* 044814 80049DB4 5484043E */ clrlwi r4, r4, 0x10 -/* 044818 80049DB8 90A10084 */ stw r5, 0x84(r1) -/* 04481C 80049DBC 3C8480C3 */ addis r4, r4, 0x80c3 -/* 044820 80049DC0 5463103A */ slwi r3, r3, 2 -/* 044824 80049DC4 7C9F192E */ stwx r4, r31, r3 -/* 044828 80049DC8 48000010 */ b lbl_80049DD8 -lbl_80049DCC: -/* 04482C 80049DCC 80610084 */ lwz r3, 0x84(r1) -/* 044830 80049DD0 38630001 */ addi r3, r3, 1 -/* 044834 80049DD4 90610084 */ stw r3, 0x84(r1) -lbl_80049DD8: -/* 044838 80049DD8 281F0000 */ cmplwi r31, 0 -/* 04483C 80049DDC 41820024 */ beq lbl_80049E00 -/* 044840 80049DE0 80610084 */ lwz r3, 0x84(r1) -/* 044844 80049DE4 5400801E */ slwi r0, r0, 0x10 -/* 044848 80049DE8 64042C00 */ oris r4, r0, 0x2c00 -/* 04484C 80049DEC 38030001 */ addi r0, r3, 1 -/* 044850 80049DF0 90010084 */ stw r0, 0x84(r1) -/* 044854 80049DF4 5460103A */ slwi r0, r3, 2 -/* 044858 80049DF8 7C9F012E */ stwx r4, r31, r0 -/* 04485C 80049DFC 48000010 */ b lbl_80049E0C -lbl_80049E00: -/* 044860 80049E00 80610084 */ lwz r3, 0x84(r1) -/* 044864 80049E04 38030001 */ addi r0, r3, 1 -/* 044868 80049E08 90010084 */ stw r0, 0x84(r1) -lbl_80049E0C: -/* 04486C 80049E0C 82E10084 */ lwz r23, 0x84(r1) -/* 044870 80049E10 387E0000 */ addi r3, r30, 0 -/* 044874 80049E14 38920000 */ addi r4, r18, 0 -/* 044878 80049E18 38170001 */ addi r0, r23, 1 -/* 04487C 80049E1C 90010084 */ stw r0, 0x84(r1) -/* 044880 80049E20 38BB0000 */ addi r5, r27, 0 -/* 044884 80049E24 38DF0000 */ addi r6, r31, 0 -/* 044888 80049E28 38E10084 */ addi r7, r1, 0x84 -/* 04488C 80049E2C 39000001 */ li r8, 1 -/* 044890 80049E30 4BFF4FD5 */ bl cpuGetPPC -/* 044894 80049E34 2C030000 */ cmpwi r3, 0 -/* 044898 80049E38 4082000C */ bne lbl_80049E44 -/* 04489C 80049E3C 38600000 */ li r3, 0 -/* 0448A0 80049E40 4801E3E4 */ b lbl_80068224 -lbl_80049E44: -/* 0448A4 80049E44 80720000 */ lwz r3, 0(r18) -/* 0448A8 80049E48 281F0000 */ cmplwi r31, 0 -/* 0448AC 80049E4C 3803FFFC */ addi r0, r3, -4 -/* 0448B0 80049E50 90120000 */ stw r0, 0(r18) -/* 0448B4 80049E54 40820010 */ bne lbl_80049E64 -/* 0448B8 80049E58 3B200000 */ li r25, 0 -/* 0448BC 80049E5C 38000001 */ li r0, 1 -/* 0448C0 80049E60 48000050 */ b lbl_80049EB0 -lbl_80049E64: -/* 0448C4 80049E64 801B0008 */ lwz r0, 8(r27) -/* 0448C8 80049E68 38600000 */ li r3, 0 -/* 0448CC 80049E6C 38830000 */ addi r4, r3, 0 -/* 0448D0 80049E70 2C000000 */ cmpwi r0, 0 -/* 0448D4 80049E74 7C0903A6 */ mtctr r0 -/* 0448D8 80049E78 40810034 */ ble lbl_80049EAC -lbl_80049E7C: -/* 0448DC 80049E7C 80BB000C */ lwz r5, 0xc(r27) -/* 0448E0 80049E80 38040004 */ addi r0, r4, 4 -/* 0448E4 80049E84 7C05002E */ lwzx r0, r5, r0 -/* 0448E8 80049E88 7C140000 */ cmpw r20, r0 -/* 0448EC 80049E8C 40820014 */ bne lbl_80049EA0 -/* 0448F0 80049E90 54601838 */ slwi r0, r3, 3 -/* 0448F4 80049E94 7F25002E */ lwzx r25, r5, r0 -/* 0448F8 80049E98 38000001 */ li r0, 1 -/* 0448FC 80049E9C 48000014 */ b lbl_80049EB0 -lbl_80049EA0: -/* 044900 80049EA0 38840008 */ addi r4, r4, 8 -/* 044904 80049EA4 38630001 */ addi r3, r3, 1 -/* 044908 80049EA8 4200FFD4 */ bdnz lbl_80049E7C -lbl_80049EAC: -/* 04490C 80049EAC 38000000 */ li r0, 0 -lbl_80049EB0: -/* 044910 80049EB0 2C000000 */ cmpwi r0, 0 -/* 044914 80049EB4 4082000C */ bne lbl_80049EC0 -/* 044918 80049EB8 38600000 */ li r3, 0 -/* 04491C 80049EBC 4801E368 */ b lbl_80068224 -lbl_80049EC0: -/* 044920 80049EC0 281F0000 */ cmplwi r31, 0 -/* 044924 80049EC4 41820010 */ beq lbl_80049ED4 -/* 044928 80049EC8 80010084 */ lwz r0, 0x84(r1) -/* 04492C 80049ECC 7C00C850 */ subf r0, r0, r25 -/* 044930 80049ED0 5415103A */ slwi r21, r0, 2 -lbl_80049ED4: -/* 044934 80049ED4 281F0000 */ cmplwi r31, 0 -/* 044938 80049ED8 41820024 */ beq lbl_80049EFC -/* 04493C 80049EDC 80610084 */ lwz r3, 0x84(r1) -/* 044940 80049EE0 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 044944 80049EE4 64044800 */ oris r4, r0, 0x4800 -/* 044948 80049EE8 38030001 */ addi r0, r3, 1 -/* 04494C 80049EEC 90010084 */ stw r0, 0x84(r1) -/* 044950 80049EF0 5460103A */ slwi r0, r3, 2 -/* 044954 80049EF4 7C9F012E */ stwx r4, r31, r0 -/* 044958 80049EF8 48000010 */ b lbl_80049F08 -lbl_80049EFC: -/* 04495C 80049EFC 80610084 */ lwz r3, 0x84(r1) -/* 044960 80049F00 38030001 */ addi r0, r3, 1 -/* 044964 80049F04 90010084 */ stw r0, 0x84(r1) -lbl_80049F08: -/* 044968 80049F08 387E0000 */ addi r3, r30, 0 -/* 04496C 80049F0C 38920000 */ addi r4, r18, 0 -/* 044970 80049F10 38BB0000 */ addi r5, r27, 0 -/* 044974 80049F14 38DF0000 */ addi r6, r31, 0 -/* 044978 80049F18 38E10084 */ addi r7, r1, 0x84 -/* 04497C 80049F1C 39000000 */ li r8, 0 -/* 044980 80049F20 4BFF4EE5 */ bl cpuGetPPC -/* 044984 80049F24 2C030000 */ cmpwi r3, 0 -/* 044988 80049F28 4082000C */ bne lbl_80049F34 -/* 04498C 80049F2C 38600000 */ li r3, 0 -/* 044990 80049F30 4801E2F4 */ b lbl_80068224 -lbl_80049F34: -/* 044994 80049F34 281F0000 */ cmplwi r31, 0 -/* 044998 80049F38 40820008 */ bne lbl_80049F40 -/* 04499C 80049F3C 4801DFF8 */ b lbl_80067F34 -lbl_80049F40: -/* 0449A0 80049F40 80610084 */ lwz r3, 0x84(r1) -/* 0449A4 80049F44 56E0103A */ slwi r0, r23, 2 -/* 0449A8 80049F48 7C771850 */ subf r3, r23, r3 -/* 0449AC 80049F4C 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 0449B0 80049F50 64634080 */ oris r3, r3, 0x4080 -/* 0449B4 80049F54 7C7F012E */ stwx r3, r31, r0 -/* 0449B8 80049F58 4801DFDC */ b lbl_80067F34 -.global lbl_80049F5C -lbl_80049F5C: -/* 0449BC 80049F5C 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 0449C0 80049F60 80720000 */ lwz r3, 0(r18) -/* 0449C4 80049F64 7C9A0214 */ add r4, r26, r0 -/* 0449C8 80049F68 80040818 */ lwz r0, 0x818(r4) -/* 0449CC 80049F6C 5784043E */ clrlwi r4, r28, 0x10 -/* 0449D0 80049F70 7C850734 */ extsh r5, r4 -/* 0449D4 80049F74 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 0449D8 80049F78 54A4103A */ slwi r4, r5, 2 -/* 0449DC 80049F7C 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 0449E0 80049F80 7E832214 */ add r20, r3, r4 -/* 0449E4 80049F84 4182014C */ beq lbl_8004A0D0 -/* 0449E8 80049F88 3C7E0001 */ addis r3, r30, 1 -/* 0449EC 80049F8C 80832064 */ lwz r4, 0x2064(r3) -/* 0449F0 80049F90 38000006 */ li r0, 6 -/* 0449F4 80049F94 28040000 */ cmplwi r4, 0 -/* 0449F8 80049F98 4082000C */ bne lbl_80049FA4 -/* 0449FC 80049F9C 38800000 */ li r4, 0 -/* 044A00 80049FA0 48000094 */ b lbl_8004A034 -lbl_80049FA4: -/* 044A04 80049FA4 80832068 */ lwz r4, 0x2068(r3) -/* 044A08 80049FA8 28040000 */ cmplwi r4, 0 -/* 044A0C 80049FAC 4082000C */ bne lbl_80049FB8 -/* 044A10 80049FB0 38800000 */ li r4, 0 -/* 044A14 80049FB4 48000080 */ b lbl_8004A034 -lbl_80049FB8: -/* 044A18 80049FB8 8063206C */ lwz r3, 0x206c(r3) -/* 044A1C 80049FBC 7C071800 */ cmpw r7, r3 -/* 044A20 80049FC0 4182000C */ beq lbl_80049FCC -/* 044A24 80049FC4 38800000 */ li r4, 0 -/* 044A28 80049FC8 4800006C */ b lbl_8004A034 -lbl_80049FCC: -/* 044A2C 80049FCC 80BE0034 */ lwz r5, 0x34(r30) -/* 044A30 80049FD0 38800000 */ li r4, 0 -/* 044A34 80049FD4 80650008 */ lwz r3, 8(r5) -/* 044A38 80049FD8 2C030000 */ cmpwi r3, 0 -/* 044A3C 80049FDC 7C6903A6 */ mtctr r3 -/* 044A40 80049FE0 40810028 */ ble lbl_8004A008 -lbl_80049FE4: -/* 044A44 80049FE4 8065000C */ lwz r3, 0xc(r5) -/* 044A48 80049FE8 38C40004 */ addi r6, r4, 4 -/* 044A4C 80049FEC 7C63302E */ lwzx r3, r3, r6 -/* 044A50 80049FF0 7C1D1800 */ cmpw r29, r3 -/* 044A54 80049FF4 4082000C */ bne lbl_8004A000 -/* 044A58 80049FF8 38600000 */ li r3, 0 -/* 044A5C 80049FFC 48000010 */ b lbl_8004A00C -lbl_8004A000: -/* 044A60 8004A000 38840008 */ addi r4, r4, 8 -/* 044A64 8004A004 4200FFE0 */ bdnz lbl_80049FE4 -lbl_8004A008: -/* 044A68 8004A008 38600001 */ li r3, 1 -lbl_8004A00C: -/* 044A6C 8004A00C 2C030000 */ cmpwi r3, 0 -/* 044A70 8004A010 40820014 */ bne lbl_8004A024 -/* 044A74 8004A014 38800000 */ li r4, 0 -/* 044A78 8004A018 3C7E0001 */ addis r3, r30, 1 -/* 044A7C 8004A01C 90832068 */ stw r4, 0x2068(r3) -/* 044A80 8004A020 48000014 */ b lbl_8004A034 -lbl_8004A024: -/* 044A84 8004A024 3C7E0001 */ addis r3, r30, 1 -/* 044A88 8004A028 38800000 */ li r4, 0 -/* 044A8C 8004A02C 90832068 */ stw r4, 0x2068(r3) -/* 044A90 8004A030 38800001 */ li r4, 1 -lbl_8004A034: -/* 044A94 8004A034 2C040000 */ cmpwi r4, 0 -/* 044A98 8004A038 41820050 */ beq lbl_8004A088 -/* 044A9C 8004A03C 281F0000 */ cmplwi r31, 0 -/* 044AA0 8004A040 41820038 */ beq lbl_8004A078 -/* 044AA4 8004A044 3C7E0001 */ addis r3, r30, 1 -/* 044AA8 8004A048 80810084 */ lwz r4, 0x84(r1) -/* 044AAC 8004A04C 80C32070 */ lwz r6, 0x2070(r3) -/* 044AB0 8004A050 38640001 */ addi r3, r4, 1 -/* 044AB4 8004A054 54C5A814 */ slwi r5, r6, 0x15 -/* 044AB8 8004A058 90610084 */ stw r3, 0x84(r1) -/* 044ABC 8004A05C 64A37C06 */ oris r3, r5, 0x7c06 -/* 044AC0 8004A060 54C55828 */ slwi r5, r6, 0xb -/* 044AC4 8004A064 60630378 */ ori r3, r3, 0x378 -/* 044AC8 8004A068 7CA31B78 */ or r3, r5, r3 -/* 044ACC 8004A06C 5484103A */ slwi r4, r4, 2 -/* 044AD0 8004A070 7C7F212E */ stwx r3, r31, r4 -/* 044AD4 8004A074 4800005C */ b lbl_8004A0D0 -lbl_8004A078: -/* 044AD8 8004A078 80610084 */ lwz r3, 0x84(r1) -/* 044ADC 8004A07C 38630001 */ addi r3, r3, 1 -/* 044AE0 8004A080 90610084 */ stw r3, 0x84(r1) -/* 044AE4 8004A084 4800004C */ b lbl_8004A0D0 -lbl_8004A088: -/* 044AE8 8004A088 281F0000 */ cmplwi r31, 0 -/* 044AEC 8004A08C 41820038 */ beq lbl_8004A0C4 -/* 044AF0 8004A090 54E41838 */ slwi r4, r7, 3 -/* 044AF4 8004A094 80610084 */ lwz r3, 0x84(r1) -/* 044AF8 8004A098 38840040 */ addi r4, r4, 0x40 -/* 044AFC 8004A09C 7C9E2214 */ add r4, r30, r4 -/* 044B00 8004A0A0 7C9E2050 */ subf r4, r30, r4 -/* 044B04 8004A0A4 38840004 */ addi r4, r4, 4 -/* 044B08 8004A0A8 38A30001 */ addi r5, r3, 1 -/* 044B0C 8004A0AC 5484043E */ clrlwi r4, r4, 0x10 -/* 044B10 8004A0B0 90A10084 */ stw r5, 0x84(r1) -/* 044B14 8004A0B4 3C8480C3 */ addis r4, r4, 0x80c3 -/* 044B18 8004A0B8 5463103A */ slwi r3, r3, 2 -/* 044B1C 8004A0BC 7C9F192E */ stwx r4, r31, r3 -/* 044B20 8004A0C0 48000010 */ b lbl_8004A0D0 -lbl_8004A0C4: -/* 044B24 8004A0C4 80610084 */ lwz r3, 0x84(r1) -/* 044B28 8004A0C8 38630001 */ addi r3, r3, 1 -/* 044B2C 8004A0CC 90610084 */ stw r3, 0x84(r1) -lbl_8004A0D0: -/* 044B30 8004A0D0 281F0000 */ cmplwi r31, 0 -/* 044B34 8004A0D4 41820024 */ beq lbl_8004A0F8 -/* 044B38 8004A0D8 80610084 */ lwz r3, 0x84(r1) -/* 044B3C 8004A0DC 5400801E */ slwi r0, r0, 0x10 -/* 044B40 8004A0E0 64042C00 */ oris r4, r0, 0x2c00 -/* 044B44 8004A0E4 38030001 */ addi r0, r3, 1 -/* 044B48 8004A0E8 90010084 */ stw r0, 0x84(r1) -/* 044B4C 8004A0EC 5460103A */ slwi r0, r3, 2 -/* 044B50 8004A0F0 7C9F012E */ stwx r4, r31, r0 -/* 044B54 8004A0F4 48000010 */ b lbl_8004A104 -lbl_8004A0F8: -/* 044B58 8004A0F8 80610084 */ lwz r3, 0x84(r1) -/* 044B5C 8004A0FC 38030001 */ addi r0, r3, 1 -/* 044B60 8004A100 90010084 */ stw r0, 0x84(r1) -lbl_8004A104: -/* 044B64 8004A104 82E10084 */ lwz r23, 0x84(r1) -/* 044B68 8004A108 387E0000 */ addi r3, r30, 0 -/* 044B6C 8004A10C 38920000 */ addi r4, r18, 0 -/* 044B70 8004A110 38170001 */ addi r0, r23, 1 -/* 044B74 8004A114 90010084 */ stw r0, 0x84(r1) -/* 044B78 8004A118 38BB0000 */ addi r5, r27, 0 -/* 044B7C 8004A11C 38DF0000 */ addi r6, r31, 0 -/* 044B80 8004A120 38E10084 */ addi r7, r1, 0x84 -/* 044B84 8004A124 39000001 */ li r8, 1 -/* 044B88 8004A128 4BFF4CDD */ bl cpuGetPPC -/* 044B8C 8004A12C 2C030000 */ cmpwi r3, 0 -/* 044B90 8004A130 4082000C */ bne lbl_8004A13C -/* 044B94 8004A134 38600000 */ li r3, 0 -/* 044B98 8004A138 4801E0EC */ b lbl_80068224 -lbl_8004A13C: -/* 044B9C 8004A13C 80720000 */ lwz r3, 0(r18) -/* 044BA0 8004A140 281F0000 */ cmplwi r31, 0 -/* 044BA4 8004A144 3803FFFC */ addi r0, r3, -4 -/* 044BA8 8004A148 90120000 */ stw r0, 0(r18) -/* 044BAC 8004A14C 40820010 */ bne lbl_8004A15C -/* 044BB0 8004A150 3B200000 */ li r25, 0 -/* 044BB4 8004A154 38000001 */ li r0, 1 -/* 044BB8 8004A158 48000050 */ b lbl_8004A1A8 -lbl_8004A15C: -/* 044BBC 8004A15C 801B0008 */ lwz r0, 8(r27) -/* 044BC0 8004A160 38600000 */ li r3, 0 -/* 044BC4 8004A164 38830000 */ addi r4, r3, 0 -/* 044BC8 8004A168 2C000000 */ cmpwi r0, 0 -/* 044BCC 8004A16C 7C0903A6 */ mtctr r0 -/* 044BD0 8004A170 40810034 */ ble lbl_8004A1A4 -lbl_8004A174: -/* 044BD4 8004A174 80BB000C */ lwz r5, 0xc(r27) -/* 044BD8 8004A178 38040004 */ addi r0, r4, 4 -/* 044BDC 8004A17C 7C05002E */ lwzx r0, r5, r0 -/* 044BE0 8004A180 7C140000 */ cmpw r20, r0 -/* 044BE4 8004A184 40820014 */ bne lbl_8004A198 -/* 044BE8 8004A188 54601838 */ slwi r0, r3, 3 -/* 044BEC 8004A18C 7F25002E */ lwzx r25, r5, r0 -/* 044BF0 8004A190 38000001 */ li r0, 1 -/* 044BF4 8004A194 48000014 */ b lbl_8004A1A8 -lbl_8004A198: -/* 044BF8 8004A198 38840008 */ addi r4, r4, 8 -/* 044BFC 8004A19C 38630001 */ addi r3, r3, 1 -/* 044C00 8004A1A0 4200FFD4 */ bdnz lbl_8004A174 -lbl_8004A1A4: -/* 044C04 8004A1A4 38000000 */ li r0, 0 -lbl_8004A1A8: -/* 044C08 8004A1A8 2C000000 */ cmpwi r0, 0 -/* 044C0C 8004A1AC 4082000C */ bne lbl_8004A1B8 -/* 044C10 8004A1B0 38600000 */ li r3, 0 -/* 044C14 8004A1B4 4801E070 */ b lbl_80068224 -lbl_8004A1B8: -/* 044C18 8004A1B8 281F0000 */ cmplwi r31, 0 -/* 044C1C 8004A1BC 41820010 */ beq lbl_8004A1CC -/* 044C20 8004A1C0 80010084 */ lwz r0, 0x84(r1) -/* 044C24 8004A1C4 7C00C850 */ subf r0, r0, r25 -/* 044C28 8004A1C8 5415103A */ slwi r21, r0, 2 -lbl_8004A1CC: -/* 044C2C 8004A1CC 281F0000 */ cmplwi r31, 0 -/* 044C30 8004A1D0 41820024 */ beq lbl_8004A1F4 -/* 044C34 8004A1D4 80610084 */ lwz r3, 0x84(r1) -/* 044C38 8004A1D8 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 044C3C 8004A1DC 64044800 */ oris r4, r0, 0x4800 -/* 044C40 8004A1E0 38030001 */ addi r0, r3, 1 -/* 044C44 8004A1E4 90010084 */ stw r0, 0x84(r1) -/* 044C48 8004A1E8 5460103A */ slwi r0, r3, 2 -/* 044C4C 8004A1EC 7C9F012E */ stwx r4, r31, r0 -/* 044C50 8004A1F0 48000010 */ b lbl_8004A200 -lbl_8004A1F4: -/* 044C54 8004A1F4 80610084 */ lwz r3, 0x84(r1) -/* 044C58 8004A1F8 38030001 */ addi r0, r3, 1 -/* 044C5C 8004A1FC 90010084 */ stw r0, 0x84(r1) -lbl_8004A200: -/* 044C60 8004A200 387E0000 */ addi r3, r30, 0 -/* 044C64 8004A204 38920000 */ addi r4, r18, 0 -/* 044C68 8004A208 38BB0000 */ addi r5, r27, 0 -/* 044C6C 8004A20C 38DF0000 */ addi r6, r31, 0 -/* 044C70 8004A210 38E10084 */ addi r7, r1, 0x84 -/* 044C74 8004A214 39000000 */ li r8, 0 -/* 044C78 8004A218 4BFF4BED */ bl cpuGetPPC -/* 044C7C 8004A21C 2C030000 */ cmpwi r3, 0 -/* 044C80 8004A220 4082000C */ bne lbl_8004A22C -/* 044C84 8004A224 38600000 */ li r3, 0 -/* 044C88 8004A228 4801DFFC */ b lbl_80068224 -lbl_8004A22C: -/* 044C8C 8004A22C 281F0000 */ cmplwi r31, 0 -/* 044C90 8004A230 40820008 */ bne lbl_8004A238 -/* 044C94 8004A234 4801DD00 */ b lbl_80067F34 -lbl_8004A238: -/* 044C98 8004A238 80610084 */ lwz r3, 0x84(r1) -/* 044C9C 8004A23C 56E0103A */ slwi r0, r23, 2 -/* 044CA0 8004A240 7C771850 */ subf r3, r23, r3 -/* 044CA4 8004A244 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 044CA8 8004A248 64634180 */ oris r3, r3, 0x4180 -/* 044CAC 8004A24C 7C7F012E */ stwx r3, r31, r0 -/* 044CB0 8004A250 4801DCE4 */ b lbl_80067F34 -.global lbl_8004A254 -lbl_8004A254: -/* 044CB4 8004A254 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 044CB8 8004A258 80920000 */ lwz r4, 0(r18) -/* 044CBC 8004A25C 7C7A0214 */ add r3, r26, r0 -/* 044CC0 8004A260 80C30818 */ lwz r6, 0x818(r3) -/* 044CC4 8004A264 5780043E */ clrlwi r0, r28, 0x10 -/* 044CC8 8004A268 7C030734 */ extsh r3, r0 -/* 044CCC 8004A26C 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 044CD0 8004A270 5460103A */ slwi r0, r3, 2 -/* 044CD4 8004A274 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 044CD8 8004A278 7E840214 */ add r20, r4, r0 -/* 044CDC 8004A27C 4182014C */ beq lbl_8004A3C8 -/* 044CE0 8004A280 3C7E0001 */ addis r3, r30, 1 -/* 044CE4 8004A284 80032064 */ lwz r0, 0x2064(r3) -/* 044CE8 8004A288 38C00006 */ li r6, 6 -/* 044CEC 8004A28C 28000000 */ cmplwi r0, 0 -/* 044CF0 8004A290 4082000C */ bne lbl_8004A29C -/* 044CF4 8004A294 38000000 */ li r0, 0 -/* 044CF8 8004A298 48000094 */ b lbl_8004A32C -lbl_8004A29C: -/* 044CFC 8004A29C 80032068 */ lwz r0, 0x2068(r3) -/* 044D00 8004A2A0 28000000 */ cmplwi r0, 0 -/* 044D04 8004A2A4 4082000C */ bne lbl_8004A2B0 -/* 044D08 8004A2A8 38000000 */ li r0, 0 -/* 044D0C 8004A2AC 48000080 */ b lbl_8004A32C -lbl_8004A2B0: -/* 044D10 8004A2B0 8003206C */ lwz r0, 0x206c(r3) -/* 044D14 8004A2B4 7C070000 */ cmpw r7, r0 -/* 044D18 8004A2B8 4182000C */ beq lbl_8004A2C4 -/* 044D1C 8004A2BC 38000000 */ li r0, 0 -/* 044D20 8004A2C0 4800006C */ b lbl_8004A32C -lbl_8004A2C4: -/* 044D24 8004A2C4 80BE0034 */ lwz r5, 0x34(r30) -/* 044D28 8004A2C8 38800000 */ li r4, 0 -/* 044D2C 8004A2CC 80050008 */ lwz r0, 8(r5) -/* 044D30 8004A2D0 2C000000 */ cmpwi r0, 0 -/* 044D34 8004A2D4 7C0903A6 */ mtctr r0 -/* 044D38 8004A2D8 40810028 */ ble lbl_8004A300 -lbl_8004A2DC: -/* 044D3C 8004A2DC 8065000C */ lwz r3, 0xc(r5) -/* 044D40 8004A2E0 38040004 */ addi r0, r4, 4 -/* 044D44 8004A2E4 7C03002E */ lwzx r0, r3, r0 -/* 044D48 8004A2E8 7C1D0000 */ cmpw r29, r0 -/* 044D4C 8004A2EC 4082000C */ bne lbl_8004A2F8 -/* 044D50 8004A2F0 38000000 */ li r0, 0 -/* 044D54 8004A2F4 48000010 */ b lbl_8004A304 -lbl_8004A2F8: -/* 044D58 8004A2F8 38840008 */ addi r4, r4, 8 -/* 044D5C 8004A2FC 4200FFE0 */ bdnz lbl_8004A2DC -lbl_8004A300: -/* 044D60 8004A300 38000001 */ li r0, 1 -lbl_8004A304: -/* 044D64 8004A304 2C000000 */ cmpwi r0, 0 -/* 044D68 8004A308 40820014 */ bne lbl_8004A31C -/* 044D6C 8004A30C 38000000 */ li r0, 0 -/* 044D70 8004A310 3C7E0001 */ addis r3, r30, 1 -/* 044D74 8004A314 90032068 */ stw r0, 0x2068(r3) -/* 044D78 8004A318 48000014 */ b lbl_8004A32C -lbl_8004A31C: -/* 044D7C 8004A31C 3C7E0001 */ addis r3, r30, 1 -/* 044D80 8004A320 38000000 */ li r0, 0 -/* 044D84 8004A324 90032068 */ stw r0, 0x2068(r3) -/* 044D88 8004A328 38000001 */ li r0, 1 -lbl_8004A32C: -/* 044D8C 8004A32C 2C000000 */ cmpwi r0, 0 -/* 044D90 8004A330 41820050 */ beq lbl_8004A380 -/* 044D94 8004A334 281F0000 */ cmplwi r31, 0 -/* 044D98 8004A338 41820038 */ beq lbl_8004A370 -/* 044D9C 8004A33C 3C9E0001 */ addis r4, r30, 1 -/* 044DA0 8004A340 80610084 */ lwz r3, 0x84(r1) -/* 044DA4 8004A344 80842070 */ lwz r4, 0x2070(r4) -/* 044DA8 8004A348 38A30001 */ addi r5, r3, 1 -/* 044DAC 8004A34C 5480A814 */ slwi r0, r4, 0x15 -/* 044DB0 8004A350 90A10084 */ stw r5, 0x84(r1) -/* 044DB4 8004A354 64007C06 */ oris r0, r0, 0x7c06 -/* 044DB8 8004A358 54845828 */ slwi r4, r4, 0xb -/* 044DBC 8004A35C 60000378 */ ori r0, r0, 0x378 -/* 044DC0 8004A360 7C800378 */ or r0, r4, r0 -/* 044DC4 8004A364 5463103A */ slwi r3, r3, 2 -/* 044DC8 8004A368 7C1F192E */ stwx r0, r31, r3 -/* 044DCC 8004A36C 4800005C */ b lbl_8004A3C8 -lbl_8004A370: -/* 044DD0 8004A370 80610084 */ lwz r3, 0x84(r1) -/* 044DD4 8004A374 38030001 */ addi r0, r3, 1 -/* 044DD8 8004A378 90010084 */ stw r0, 0x84(r1) -/* 044DDC 8004A37C 4800004C */ b lbl_8004A3C8 -lbl_8004A380: -/* 044DE0 8004A380 281F0000 */ cmplwi r31, 0 -/* 044DE4 8004A384 41820038 */ beq lbl_8004A3BC -/* 044DE8 8004A388 54E41838 */ slwi r4, r7, 3 -/* 044DEC 8004A38C 80610084 */ lwz r3, 0x84(r1) -/* 044DF0 8004A390 38040040 */ addi r0, r4, 0x40 -/* 044DF4 8004A394 7C1E0214 */ add r0, r30, r0 -/* 044DF8 8004A398 7C9E0050 */ subf r4, r30, r0 -/* 044DFC 8004A39C 38840004 */ addi r4, r4, 4 -/* 044E00 8004A3A0 38030001 */ addi r0, r3, 1 -/* 044E04 8004A3A4 5484043E */ clrlwi r4, r4, 0x10 -/* 044E08 8004A3A8 90010084 */ stw r0, 0x84(r1) -/* 044E0C 8004A3AC 3C0480C3 */ addis r0, r4, 0x80c3 -/* 044E10 8004A3B0 5463103A */ slwi r3, r3, 2 -/* 044E14 8004A3B4 7C1F192E */ stwx r0, r31, r3 -/* 044E18 8004A3B8 48000010 */ b lbl_8004A3C8 -lbl_8004A3BC: -/* 044E1C 8004A3BC 80610084 */ lwz r3, 0x84(r1) -/* 044E20 8004A3C0 38030001 */ addi r0, r3, 1 -/* 044E24 8004A3C4 90010084 */ stw r0, 0x84(r1) -lbl_8004A3C8: -/* 044E28 8004A3C8 281F0000 */ cmplwi r31, 0 -/* 044E2C 8004A3CC 41820024 */ beq lbl_8004A3F0 -/* 044E30 8004A3D0 80610084 */ lwz r3, 0x84(r1) -/* 044E34 8004A3D4 54C0801E */ slwi r0, r6, 0x10 -/* 044E38 8004A3D8 64042C00 */ oris r4, r0, 0x2c00 -/* 044E3C 8004A3DC 38030001 */ addi r0, r3, 1 -/* 044E40 8004A3E0 90010084 */ stw r0, 0x84(r1) -/* 044E44 8004A3E4 5460103A */ slwi r0, r3, 2 -/* 044E48 8004A3E8 7C9F012E */ stwx r4, r31, r0 -/* 044E4C 8004A3EC 48000010 */ b lbl_8004A3FC -lbl_8004A3F0: -/* 044E50 8004A3F0 80610084 */ lwz r3, 0x84(r1) -/* 044E54 8004A3F4 38030001 */ addi r0, r3, 1 -/* 044E58 8004A3F8 90010084 */ stw r0, 0x84(r1) -lbl_8004A3FC: -/* 044E5C 8004A3FC 83810084 */ lwz r28, 0x84(r1) -/* 044E60 8004A400 281F0000 */ cmplwi r31, 0 -/* 044E64 8004A404 381C0001 */ addi r0, r28, 1 -/* 044E68 8004A408 90010084 */ stw r0, 0x84(r1) -/* 044E6C 8004A40C 41820028 */ beq lbl_8004A434 -/* 044E70 8004A410 80610084 */ lwz r3, 0x84(r1) -/* 044E74 8004A414 381D0008 */ addi r0, r29, 8 -/* 044E78 8004A418 5404843E */ srwi r4, r0, 0x10 -/* 044E7C 8004A41C 38030001 */ addi r0, r3, 1 -/* 044E80 8004A420 90010084 */ stw r0, 0x84(r1) -/* 044E84 8004A424 64803CA0 */ oris r0, r4, 0x3ca0 -/* 044E88 8004A428 5463103A */ slwi r3, r3, 2 -/* 044E8C 8004A42C 7C1F192E */ stwx r0, r31, r3 -/* 044E90 8004A430 48000010 */ b lbl_8004A440 -lbl_8004A434: -/* 044E94 8004A434 80610084 */ lwz r3, 0x84(r1) -/* 044E98 8004A438 38030001 */ addi r0, r3, 1 -/* 044E9C 8004A43C 90010084 */ stw r0, 0x84(r1) -lbl_8004A440: -/* 044EA0 8004A440 281F0000 */ cmplwi r31, 0 -/* 044EA4 8004A444 41820028 */ beq lbl_8004A46C -/* 044EA8 8004A448 80610084 */ lwz r3, 0x84(r1) -/* 044EAC 8004A44C 381D0008 */ addi r0, r29, 8 -/* 044EB0 8004A450 5404043E */ clrlwi r4, r0, 0x10 -/* 044EB4 8004A454 38030001 */ addi r0, r3, 1 -/* 044EB8 8004A458 90010084 */ stw r0, 0x84(r1) -/* 044EBC 8004A45C 648060A5 */ oris r0, r4, 0x60a5 -/* 044EC0 8004A460 5463103A */ slwi r3, r3, 2 -/* 044EC4 8004A464 7C1F192E */ stwx r0, r31, r3 -/* 044EC8 8004A468 48000010 */ b lbl_8004A478 -lbl_8004A46C: -/* 044ECC 8004A46C 80610084 */ lwz r3, 0x84(r1) -/* 044ED0 8004A470 38030001 */ addi r0, r3, 1 -/* 044ED4 8004A474 90010084 */ stw r0, 0x84(r1) -lbl_8004A478: -/* 044ED8 8004A478 281F0000 */ cmplwi r31, 0 -/* 044EDC 8004A47C 41820028 */ beq lbl_8004A4A4 -/* 044EE0 8004A480 80610084 */ lwz r3, 0x84(r1) -/* 044EE4 8004A484 381E0038 */ addi r0, r30, 0x38 -/* 044EE8 8004A488 7C9E0050 */ subf r4, r30, r0 -/* 044EEC 8004A48C 38030001 */ addi r0, r3, 1 -/* 044EF0 8004A490 90010084 */ stw r0, 0x84(r1) -/* 044EF4 8004A494 3C0490A3 */ addis r0, r4, 0x90a3 -/* 044EF8 8004A498 5463103A */ slwi r3, r3, 2 -/* 044EFC 8004A49C 7C1F192E */ stwx r0, r31, r3 -/* 044F00 8004A4A0 48000010 */ b lbl_8004A4B0 -lbl_8004A4A4: -/* 044F04 8004A4A4 80610084 */ lwz r3, 0x84(r1) -/* 044F08 8004A4A8 38030001 */ addi r0, r3, 1 -/* 044F0C 8004A4AC 90010084 */ stw r0, 0x84(r1) -lbl_8004A4B0: -/* 044F10 8004A4B0 801A0894 */ lwz r0, 0x894(r26) -/* 044F14 8004A4B4 3AFA0894 */ addi r23, r26, 0x894 -/* 044F18 8004A4B8 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 044F1C 8004A4BC 41820014 */ beq lbl_8004A4D0 -/* 044F20 8004A4C0 80610084 */ lwz r3, 0x84(r1) -/* 044F24 8004A4C4 38030003 */ addi r0, r3, 3 -/* 044F28 8004A4C8 90010084 */ stw r0, 0x84(r1) -/* 044F2C 8004A4CC 48000010 */ b lbl_8004A4DC -lbl_8004A4D0: -/* 044F30 8004A4D0 80610084 */ lwz r3, 0x84(r1) -/* 044F34 8004A4D4 38030002 */ addi r0, r3, 2 -/* 044F38 8004A4D8 90010084 */ stw r0, 0x84(r1) -lbl_8004A4DC: -/* 044F3C 8004A4DC 80010084 */ lwz r0, 0x84(r1) -/* 044F40 8004A4E0 387E0000 */ addi r3, r30, 0 -/* 044F44 8004A4E4 38920000 */ addi r4, r18, 0 -/* 044F48 8004A4E8 5400103A */ slwi r0, r0, 2 -/* 044F4C 8004A4EC 38BB0000 */ addi r5, r27, 0 -/* 044F50 8004A4F0 38DF0000 */ addi r6, r31, 0 -/* 044F54 8004A4F4 7EDF0214 */ add r22, r31, r0 -/* 044F58 8004A4F8 38E10084 */ addi r7, r1, 0x84 -/* 044F5C 8004A4FC 39000001 */ li r8, 1 -/* 044F60 8004A500 4BFF4905 */ bl cpuGetPPC -/* 044F64 8004A504 2C030000 */ cmpwi r3, 0 -/* 044F68 8004A508 4082000C */ bne lbl_8004A514 -/* 044F6C 8004A50C 38600000 */ li r3, 0 -/* 044F70 8004A510 4801DD14 */ b lbl_80068224 -lbl_8004A514: -/* 044F74 8004A514 80720000 */ lwz r3, 0(r18) -/* 044F78 8004A518 281F0000 */ cmplwi r31, 0 -/* 044F7C 8004A51C 3803FFFC */ addi r0, r3, -4 -/* 044F80 8004A520 90120000 */ stw r0, 0(r18) -/* 044F84 8004A524 80C10084 */ lwz r6, 0x84(r1) -/* 044F88 8004A528 54C0103A */ slwi r0, r6, 2 -/* 044F8C 8004A52C 7CFF0214 */ add r7, r31, r0 -/* 044F90 8004A530 40820010 */ bne lbl_8004A540 -/* 044F94 8004A534 3B200000 */ li r25, 0 -/* 044F98 8004A538 38000001 */ li r0, 1 -/* 044F9C 8004A53C 48000050 */ b lbl_8004A58C -lbl_8004A540: -/* 044FA0 8004A540 801B0008 */ lwz r0, 8(r27) -/* 044FA4 8004A544 38600000 */ li r3, 0 -/* 044FA8 8004A548 38830000 */ addi r4, r3, 0 -/* 044FAC 8004A54C 2C000000 */ cmpwi r0, 0 -/* 044FB0 8004A550 7C0903A6 */ mtctr r0 -/* 044FB4 8004A554 40810034 */ ble lbl_8004A588 -lbl_8004A558: -/* 044FB8 8004A558 80BB000C */ lwz r5, 0xc(r27) -/* 044FBC 8004A55C 38040004 */ addi r0, r4, 4 -/* 044FC0 8004A560 7C05002E */ lwzx r0, r5, r0 -/* 044FC4 8004A564 7C140000 */ cmpw r20, r0 -/* 044FC8 8004A568 40820014 */ bne lbl_8004A57C -/* 044FCC 8004A56C 54601838 */ slwi r0, r3, 3 -/* 044FD0 8004A570 7F25002E */ lwzx r25, r5, r0 -/* 044FD4 8004A574 38000001 */ li r0, 1 -/* 044FD8 8004A578 48000014 */ b lbl_8004A58C -lbl_8004A57C: -/* 044FDC 8004A57C 38840008 */ addi r4, r4, 8 -/* 044FE0 8004A580 38630001 */ addi r3, r3, 1 -/* 044FE4 8004A584 4200FFD4 */ bdnz lbl_8004A558 -lbl_8004A588: -/* 044FE8 8004A588 38000000 */ li r0, 0 -lbl_8004A58C: -/* 044FEC 8004A58C 2C000000 */ cmpwi r0, 0 -/* 044FF0 8004A590 4082000C */ bne lbl_8004A59C -/* 044FF4 8004A594 38600000 */ li r3, 0 -/* 044FF8 8004A598 4801DC8C */ b lbl_80068224 -lbl_8004A59C: -/* 044FFC 8004A59C 281F0000 */ cmplwi r31, 0 -/* 045000 8004A5A0 4182000C */ beq lbl_8004A5AC -/* 045004 8004A5A4 7C06C850 */ subf r0, r6, r25 -/* 045008 8004A5A8 5415103A */ slwi r21, r0, 2 -lbl_8004A5AC: -/* 04500C 8004A5AC 281F0000 */ cmplwi r31, 0 -/* 045010 8004A5B0 41820024 */ beq lbl_8004A5D4 -/* 045014 8004A5B4 80610084 */ lwz r3, 0x84(r1) -/* 045018 8004A5B8 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 04501C 8004A5BC 64044800 */ oris r4, r0, 0x4800 -/* 045020 8004A5C0 38030001 */ addi r0, r3, 1 -/* 045024 8004A5C4 90010084 */ stw r0, 0x84(r1) -/* 045028 8004A5C8 5460103A */ slwi r0, r3, 2 -/* 04502C 8004A5CC 7C9F012E */ stwx r4, r31, r0 -/* 045030 8004A5D0 48000010 */ b lbl_8004A5E0 -lbl_8004A5D4: -/* 045034 8004A5D4 80610084 */ lwz r3, 0x84(r1) -/* 045038 8004A5D8 38030001 */ addi r0, r3, 1 -/* 04503C 8004A5DC 90010084 */ stw r0, 0x84(r1) -lbl_8004A5E0: -/* 045040 8004A5E0 281F0000 */ cmplwi r31, 0 -/* 045044 8004A5E4 41820024 */ beq lbl_8004A608 -/* 045048 8004A5E8 80610084 */ lwz r3, 0x84(r1) -/* 04504C 8004A5EC 5780103A */ slwi r0, r28, 2 -/* 045050 8004A5F0 7C7C1850 */ subf r3, r28, r3 -/* 045054 8004A5F4 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 045058 8004A5F8 64634080 */ oris r3, r3, 0x4080 -/* 04505C 8004A5FC 7C7F012E */ stwx r3, r31, r0 -/* 045060 8004A600 3B9C0001 */ addi r28, r28, 1 -/* 045064 8004A604 48000008 */ b lbl_8004A60C -lbl_8004A608: -/* 045068 8004A608 3B9C0001 */ addi r28, r28, 1 -lbl_8004A60C: -/* 04506C 8004A60C 80170000 */ lwz r0, 0(r23) -/* 045070 8004A610 7C763850 */ subf r3, r22, r7 -/* 045074 8004A614 80A10084 */ lwz r5, 0x84(r1) -/* 045078 8004A618 3B9C0003 */ addi r28, r28, 3 -/* 04507C 8004A61C 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 045080 8004A620 54A5103A */ slwi r5, r5, 2 -/* 045084 8004A624 7C651A14 */ add r3, r5, r3 -/* 045088 8004A628 7C7F1A14 */ add r3, r31, r3 -/* 04508C 8004A62C 41820078 */ beq lbl_8004A6A4 -/* 045090 8004A630 281F0000 */ cmplwi r31, 0 -/* 045094 8004A634 4182001C */ beq lbl_8004A650 -/* 045098 8004A638 5460843E */ srwi r0, r3, 0x10 -/* 04509C 8004A63C 64043CA0 */ oris r4, r0, 0x3ca0 -/* 0450A0 8004A640 5780103A */ slwi r0, r28, 2 -/* 0450A4 8004A644 7C9F012E */ stwx r4, r31, r0 -/* 0450A8 8004A648 3B9C0001 */ addi r28, r28, 1 -/* 0450AC 8004A64C 48000008 */ b lbl_8004A654 -lbl_8004A650: -/* 0450B0 8004A650 3B9C0001 */ addi r28, r28, 1 -lbl_8004A654: -/* 0450B4 8004A654 281F0000 */ cmplwi r31, 0 -/* 0450B8 8004A658 4182001C */ beq lbl_8004A674 -/* 0450BC 8004A65C 5460043E */ clrlwi r0, r3, 0x10 -/* 0450C0 8004A660 640360A5 */ oris r3, r0, 0x60a5 -/* 0450C4 8004A664 5780103A */ slwi r0, r28, 2 -/* 0450C8 8004A668 7C7F012E */ stwx r3, r31, r0 -/* 0450CC 8004A66C 3B9C0001 */ addi r28, r28, 1 -/* 0450D0 8004A670 48000008 */ b lbl_8004A678 -lbl_8004A674: -/* 0450D4 8004A674 3B9C0001 */ addi r28, r28, 1 -lbl_8004A678: -/* 0450D8 8004A678 281F0000 */ cmplwi r31, 0 -/* 0450DC 8004A67C 40820008 */ bne lbl_8004A684 -/* 0450E0 8004A680 4801D8B4 */ b lbl_80067F34 -lbl_8004A684: -/* 0450E4 8004A684 381E0138 */ addi r0, r30, 0x138 -/* 0450E8 8004A688 7C7E0050 */ subf r3, r30, r0 -/* 0450EC 8004A68C 38030004 */ addi r0, r3, 4 -/* 0450F0 8004A690 5403043E */ clrlwi r3, r0, 0x10 -/* 0450F4 8004A694 3C0390A3 */ addis r0, r3, 0x90a3 -/* 0450F8 8004A698 5783103A */ slwi r3, r28, 2 -/* 0450FC 8004A69C 7C1F192E */ stwx r0, r31, r3 -/* 045100 8004A6A0 4801D894 */ b lbl_80067F34 -lbl_8004A6A4: -/* 045104 8004A6A4 281F0000 */ cmplwi r31, 0 -/* 045108 8004A6A8 41820024 */ beq lbl_8004A6CC -/* 04510C 8004A6AC 5464843E */ srwi r4, r3, 0x10 -/* 045110 8004A6B0 64853C00 */ oris r5, r4, 0x3c00 -/* 045114 8004A6B4 5404A814 */ slwi r4, r0, 0x15 -/* 045118 8004A6B8 7CA52378 */ or r5, r5, r4 -/* 04511C 8004A6BC 5784103A */ slwi r4, r28, 2 -/* 045120 8004A6C0 7CBF212E */ stwx r5, r31, r4 -/* 045124 8004A6C4 3B9C0001 */ addi r28, r28, 1 -/* 045128 8004A6C8 48000008 */ b lbl_8004A6D0 -lbl_8004A6CC: -/* 04512C 8004A6CC 3B9C0001 */ addi r28, r28, 1 -lbl_8004A6D0: -/* 045130 8004A6D0 281F0000 */ cmplwi r31, 0 -/* 045134 8004A6D4 40820008 */ bne lbl_8004A6DC -/* 045138 8004A6D8 4801D85C */ b lbl_80067F34 -lbl_8004A6DC: -/* 04513C 8004A6DC 5463043E */ clrlwi r3, r3, 0x10 -/* 045140 8004A6E0 64646000 */ oris r4, r3, 0x6000 -/* 045144 8004A6E4 5403A814 */ slwi r3, r0, 0x15 -/* 045148 8004A6E8 5400801E */ slwi r0, r0, 0x10 -/* 04514C 8004A6EC 7C831B78 */ or r3, r4, r3 -/* 045150 8004A6F0 7C001B78 */ or r0, r0, r3 -/* 045154 8004A6F4 5783103A */ slwi r3, r28, 2 -/* 045158 8004A6F8 7C1F192E */ stwx r0, r31, r3 -/* 04515C 8004A6FC 4801D838 */ b lbl_80067F34 -.global lbl_8004A700 -lbl_8004A700: -/* 045160 8004A700 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 045164 8004A704 80920000 */ lwz r4, 0(r18) -/* 045168 8004A708 7C7A0214 */ add r3, r26, r0 -/* 04516C 8004A70C 80C30818 */ lwz r6, 0x818(r3) -/* 045170 8004A710 5780043E */ clrlwi r0, r28, 0x10 -/* 045174 8004A714 7C030734 */ extsh r3, r0 -/* 045178 8004A718 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 04517C 8004A71C 5460103A */ slwi r0, r3, 2 -/* 045180 8004A720 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 045184 8004A724 7E840214 */ add r20, r4, r0 -/* 045188 8004A728 4182014C */ beq lbl_8004A874 -/* 04518C 8004A72C 3C7E0001 */ addis r3, r30, 1 -/* 045190 8004A730 80032064 */ lwz r0, 0x2064(r3) -/* 045194 8004A734 38C00006 */ li r6, 6 -/* 045198 8004A738 28000000 */ cmplwi r0, 0 -/* 04519C 8004A73C 4082000C */ bne lbl_8004A748 -/* 0451A0 8004A740 38000000 */ li r0, 0 -/* 0451A4 8004A744 48000094 */ b lbl_8004A7D8 -lbl_8004A748: -/* 0451A8 8004A748 80032068 */ lwz r0, 0x2068(r3) -/* 0451AC 8004A74C 28000000 */ cmplwi r0, 0 -/* 0451B0 8004A750 4082000C */ bne lbl_8004A75C -/* 0451B4 8004A754 38000000 */ li r0, 0 -/* 0451B8 8004A758 48000080 */ b lbl_8004A7D8 -lbl_8004A75C: -/* 0451BC 8004A75C 8003206C */ lwz r0, 0x206c(r3) -/* 0451C0 8004A760 7C070000 */ cmpw r7, r0 -/* 0451C4 8004A764 4182000C */ beq lbl_8004A770 -/* 0451C8 8004A768 38000000 */ li r0, 0 -/* 0451CC 8004A76C 4800006C */ b lbl_8004A7D8 -lbl_8004A770: -/* 0451D0 8004A770 80BE0034 */ lwz r5, 0x34(r30) -/* 0451D4 8004A774 38800000 */ li r4, 0 -/* 0451D8 8004A778 80050008 */ lwz r0, 8(r5) -/* 0451DC 8004A77C 2C000000 */ cmpwi r0, 0 -/* 0451E0 8004A780 7C0903A6 */ mtctr r0 -/* 0451E4 8004A784 40810028 */ ble lbl_8004A7AC -lbl_8004A788: -/* 0451E8 8004A788 8065000C */ lwz r3, 0xc(r5) -/* 0451EC 8004A78C 38040004 */ addi r0, r4, 4 -/* 0451F0 8004A790 7C03002E */ lwzx r0, r3, r0 -/* 0451F4 8004A794 7C1D0000 */ cmpw r29, r0 -/* 0451F8 8004A798 4082000C */ bne lbl_8004A7A4 -/* 0451FC 8004A79C 38000000 */ li r0, 0 -/* 045200 8004A7A0 48000010 */ b lbl_8004A7B0 -lbl_8004A7A4: -/* 045204 8004A7A4 38840008 */ addi r4, r4, 8 -/* 045208 8004A7A8 4200FFE0 */ bdnz lbl_8004A788 -lbl_8004A7AC: -/* 04520C 8004A7AC 38000001 */ li r0, 1 -lbl_8004A7B0: -/* 045210 8004A7B0 2C000000 */ cmpwi r0, 0 -/* 045214 8004A7B4 40820014 */ bne lbl_8004A7C8 -/* 045218 8004A7B8 38000000 */ li r0, 0 -/* 04521C 8004A7BC 3C7E0001 */ addis r3, r30, 1 -/* 045220 8004A7C0 90032068 */ stw r0, 0x2068(r3) -/* 045224 8004A7C4 48000014 */ b lbl_8004A7D8 -lbl_8004A7C8: -/* 045228 8004A7C8 3C7E0001 */ addis r3, r30, 1 -/* 04522C 8004A7CC 38000000 */ li r0, 0 -/* 045230 8004A7D0 90032068 */ stw r0, 0x2068(r3) -/* 045234 8004A7D4 38000001 */ li r0, 1 -lbl_8004A7D8: -/* 045238 8004A7D8 2C000000 */ cmpwi r0, 0 -/* 04523C 8004A7DC 41820050 */ beq lbl_8004A82C -/* 045240 8004A7E0 281F0000 */ cmplwi r31, 0 -/* 045244 8004A7E4 41820038 */ beq lbl_8004A81C -/* 045248 8004A7E8 3C9E0001 */ addis r4, r30, 1 -/* 04524C 8004A7EC 80610084 */ lwz r3, 0x84(r1) -/* 045250 8004A7F0 80842070 */ lwz r4, 0x2070(r4) -/* 045254 8004A7F4 38A30001 */ addi r5, r3, 1 -/* 045258 8004A7F8 5480A814 */ slwi r0, r4, 0x15 -/* 04525C 8004A7FC 90A10084 */ stw r5, 0x84(r1) -/* 045260 8004A800 64007C06 */ oris r0, r0, 0x7c06 -/* 045264 8004A804 54845828 */ slwi r4, r4, 0xb -/* 045268 8004A808 60000378 */ ori r0, r0, 0x378 -/* 04526C 8004A80C 7C800378 */ or r0, r4, r0 -/* 045270 8004A810 5463103A */ slwi r3, r3, 2 -/* 045274 8004A814 7C1F192E */ stwx r0, r31, r3 -/* 045278 8004A818 4800005C */ b lbl_8004A874 -lbl_8004A81C: -/* 04527C 8004A81C 80610084 */ lwz r3, 0x84(r1) -/* 045280 8004A820 38030001 */ addi r0, r3, 1 -/* 045284 8004A824 90010084 */ stw r0, 0x84(r1) -/* 045288 8004A828 4800004C */ b lbl_8004A874 -lbl_8004A82C: -/* 04528C 8004A82C 281F0000 */ cmplwi r31, 0 -/* 045290 8004A830 41820038 */ beq lbl_8004A868 -/* 045294 8004A834 54E41838 */ slwi r4, r7, 3 -/* 045298 8004A838 80610084 */ lwz r3, 0x84(r1) -/* 04529C 8004A83C 38040040 */ addi r0, r4, 0x40 -/* 0452A0 8004A840 7C1E0214 */ add r0, r30, r0 -/* 0452A4 8004A844 7C9E0050 */ subf r4, r30, r0 -/* 0452A8 8004A848 38840004 */ addi r4, r4, 4 -/* 0452AC 8004A84C 38030001 */ addi r0, r3, 1 -/* 0452B0 8004A850 5484043E */ clrlwi r4, r4, 0x10 -/* 0452B4 8004A854 90010084 */ stw r0, 0x84(r1) -/* 0452B8 8004A858 3C0480C3 */ addis r0, r4, 0x80c3 -/* 0452BC 8004A85C 5463103A */ slwi r3, r3, 2 -/* 0452C0 8004A860 7C1F192E */ stwx r0, r31, r3 -/* 0452C4 8004A864 48000010 */ b lbl_8004A874 -lbl_8004A868: -/* 0452C8 8004A868 80610084 */ lwz r3, 0x84(r1) -/* 0452CC 8004A86C 38030001 */ addi r0, r3, 1 -/* 0452D0 8004A870 90010084 */ stw r0, 0x84(r1) -lbl_8004A874: -/* 0452D4 8004A874 281F0000 */ cmplwi r31, 0 -/* 0452D8 8004A878 41820024 */ beq lbl_8004A89C -/* 0452DC 8004A87C 80610084 */ lwz r3, 0x84(r1) -/* 0452E0 8004A880 54C0801E */ slwi r0, r6, 0x10 -/* 0452E4 8004A884 64042C00 */ oris r4, r0, 0x2c00 -/* 0452E8 8004A888 38030001 */ addi r0, r3, 1 -/* 0452EC 8004A88C 90010084 */ stw r0, 0x84(r1) -/* 0452F0 8004A890 5460103A */ slwi r0, r3, 2 -/* 0452F4 8004A894 7C9F012E */ stwx r4, r31, r0 -/* 0452F8 8004A898 48000010 */ b lbl_8004A8A8 -lbl_8004A89C: -/* 0452FC 8004A89C 80610084 */ lwz r3, 0x84(r1) -/* 045300 8004A8A0 38030001 */ addi r0, r3, 1 -/* 045304 8004A8A4 90010084 */ stw r0, 0x84(r1) -lbl_8004A8A8: -/* 045308 8004A8A8 83810084 */ lwz r28, 0x84(r1) -/* 04530C 8004A8AC 281F0000 */ cmplwi r31, 0 -/* 045310 8004A8B0 381C0001 */ addi r0, r28, 1 -/* 045314 8004A8B4 90010084 */ stw r0, 0x84(r1) -/* 045318 8004A8B8 41820028 */ beq lbl_8004A8E0 -/* 04531C 8004A8BC 80610084 */ lwz r3, 0x84(r1) -/* 045320 8004A8C0 381D0008 */ addi r0, r29, 8 -/* 045324 8004A8C4 5404843E */ srwi r4, r0, 0x10 -/* 045328 8004A8C8 38030001 */ addi r0, r3, 1 -/* 04532C 8004A8CC 90010084 */ stw r0, 0x84(r1) -/* 045330 8004A8D0 64803CA0 */ oris r0, r4, 0x3ca0 -/* 045334 8004A8D4 5463103A */ slwi r3, r3, 2 -/* 045338 8004A8D8 7C1F192E */ stwx r0, r31, r3 -/* 04533C 8004A8DC 48000010 */ b lbl_8004A8EC -lbl_8004A8E0: -/* 045340 8004A8E0 80610084 */ lwz r3, 0x84(r1) -/* 045344 8004A8E4 38030001 */ addi r0, r3, 1 -/* 045348 8004A8E8 90010084 */ stw r0, 0x84(r1) -lbl_8004A8EC: -/* 04534C 8004A8EC 281F0000 */ cmplwi r31, 0 -/* 045350 8004A8F0 41820028 */ beq lbl_8004A918 -/* 045354 8004A8F4 80610084 */ lwz r3, 0x84(r1) -/* 045358 8004A8F8 381D0008 */ addi r0, r29, 8 -/* 04535C 8004A8FC 5404043E */ clrlwi r4, r0, 0x10 -/* 045360 8004A900 38030001 */ addi r0, r3, 1 -/* 045364 8004A904 90010084 */ stw r0, 0x84(r1) -/* 045368 8004A908 648060A5 */ oris r0, r4, 0x60a5 -/* 04536C 8004A90C 5463103A */ slwi r3, r3, 2 -/* 045370 8004A910 7C1F192E */ stwx r0, r31, r3 -/* 045374 8004A914 48000010 */ b lbl_8004A924 -lbl_8004A918: -/* 045378 8004A918 80610084 */ lwz r3, 0x84(r1) -/* 04537C 8004A91C 38030001 */ addi r0, r3, 1 -/* 045380 8004A920 90010084 */ stw r0, 0x84(r1) -lbl_8004A924: -/* 045384 8004A924 281F0000 */ cmplwi r31, 0 -/* 045388 8004A928 41820028 */ beq lbl_8004A950 -/* 04538C 8004A92C 80610084 */ lwz r3, 0x84(r1) -/* 045390 8004A930 381E0038 */ addi r0, r30, 0x38 -/* 045394 8004A934 7C9E0050 */ subf r4, r30, r0 -/* 045398 8004A938 38030001 */ addi r0, r3, 1 -/* 04539C 8004A93C 90010084 */ stw r0, 0x84(r1) -/* 0453A0 8004A940 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0453A4 8004A944 5463103A */ slwi r3, r3, 2 -/* 0453A8 8004A948 7C1F192E */ stwx r0, r31, r3 -/* 0453AC 8004A94C 48000010 */ b lbl_8004A95C -lbl_8004A950: -/* 0453B0 8004A950 80610084 */ lwz r3, 0x84(r1) -/* 0453B4 8004A954 38030001 */ addi r0, r3, 1 -/* 0453B8 8004A958 90010084 */ stw r0, 0x84(r1) -lbl_8004A95C: -/* 0453BC 8004A95C 801A0894 */ lwz r0, 0x894(r26) -/* 0453C0 8004A960 3AFA0894 */ addi r23, r26, 0x894 -/* 0453C4 8004A964 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 0453C8 8004A968 41820014 */ beq lbl_8004A97C -/* 0453CC 8004A96C 80610084 */ lwz r3, 0x84(r1) -/* 0453D0 8004A970 38030003 */ addi r0, r3, 3 -/* 0453D4 8004A974 90010084 */ stw r0, 0x84(r1) -/* 0453D8 8004A978 48000010 */ b lbl_8004A988 -lbl_8004A97C: -/* 0453DC 8004A97C 80610084 */ lwz r3, 0x84(r1) -/* 0453E0 8004A980 38030002 */ addi r0, r3, 2 -/* 0453E4 8004A984 90010084 */ stw r0, 0x84(r1) -lbl_8004A988: -/* 0453E8 8004A988 80010084 */ lwz r0, 0x84(r1) -/* 0453EC 8004A98C 387E0000 */ addi r3, r30, 0 -/* 0453F0 8004A990 38920000 */ addi r4, r18, 0 -/* 0453F4 8004A994 5400103A */ slwi r0, r0, 2 -/* 0453F8 8004A998 38BB0000 */ addi r5, r27, 0 -/* 0453FC 8004A99C 38DF0000 */ addi r6, r31, 0 -/* 045400 8004A9A0 7EDF0214 */ add r22, r31, r0 -/* 045404 8004A9A4 38E10084 */ addi r7, r1, 0x84 -/* 045408 8004A9A8 39000001 */ li r8, 1 -/* 04540C 8004A9AC 4BFF4459 */ bl cpuGetPPC -/* 045410 8004A9B0 2C030000 */ cmpwi r3, 0 -/* 045414 8004A9B4 4082000C */ bne lbl_8004A9C0 -/* 045418 8004A9B8 38600000 */ li r3, 0 -/* 04541C 8004A9BC 4801D868 */ b lbl_80068224 -lbl_8004A9C0: -/* 045420 8004A9C0 80720000 */ lwz r3, 0(r18) -/* 045424 8004A9C4 281F0000 */ cmplwi r31, 0 -/* 045428 8004A9C8 3803FFFC */ addi r0, r3, -4 -/* 04542C 8004A9CC 90120000 */ stw r0, 0(r18) -/* 045430 8004A9D0 80C10084 */ lwz r6, 0x84(r1) -/* 045434 8004A9D4 54C0103A */ slwi r0, r6, 2 -/* 045438 8004A9D8 7CFF0214 */ add r7, r31, r0 -/* 04543C 8004A9DC 40820010 */ bne lbl_8004A9EC -/* 045440 8004A9E0 3B200000 */ li r25, 0 -/* 045444 8004A9E4 38000001 */ li r0, 1 -/* 045448 8004A9E8 48000050 */ b lbl_8004AA38 -lbl_8004A9EC: -/* 04544C 8004A9EC 801B0008 */ lwz r0, 8(r27) -/* 045450 8004A9F0 38600000 */ li r3, 0 -/* 045454 8004A9F4 38830000 */ addi r4, r3, 0 -/* 045458 8004A9F8 2C000000 */ cmpwi r0, 0 -/* 04545C 8004A9FC 7C0903A6 */ mtctr r0 -/* 045460 8004AA00 40810034 */ ble lbl_8004AA34 -lbl_8004AA04: -/* 045464 8004AA04 80BB000C */ lwz r5, 0xc(r27) -/* 045468 8004AA08 38040004 */ addi r0, r4, 4 -/* 04546C 8004AA0C 7C05002E */ lwzx r0, r5, r0 -/* 045470 8004AA10 7C140000 */ cmpw r20, r0 -/* 045474 8004AA14 40820014 */ bne lbl_8004AA28 -/* 045478 8004AA18 54601838 */ slwi r0, r3, 3 -/* 04547C 8004AA1C 7F25002E */ lwzx r25, r5, r0 -/* 045480 8004AA20 38000001 */ li r0, 1 -/* 045484 8004AA24 48000014 */ b lbl_8004AA38 -lbl_8004AA28: -/* 045488 8004AA28 38840008 */ addi r4, r4, 8 -/* 04548C 8004AA2C 38630001 */ addi r3, r3, 1 -/* 045490 8004AA30 4200FFD4 */ bdnz lbl_8004AA04 -lbl_8004AA34: -/* 045494 8004AA34 38000000 */ li r0, 0 -lbl_8004AA38: -/* 045498 8004AA38 2C000000 */ cmpwi r0, 0 -/* 04549C 8004AA3C 4082000C */ bne lbl_8004AA48 -/* 0454A0 8004AA40 38600000 */ li r3, 0 -/* 0454A4 8004AA44 4801D7E0 */ b lbl_80068224 -lbl_8004AA48: -/* 0454A8 8004AA48 281F0000 */ cmplwi r31, 0 -/* 0454AC 8004AA4C 4182000C */ beq lbl_8004AA58 -/* 0454B0 8004AA50 7C06C850 */ subf r0, r6, r25 -/* 0454B4 8004AA54 5415103A */ slwi r21, r0, 2 -lbl_8004AA58: -/* 0454B8 8004AA58 281F0000 */ cmplwi r31, 0 -/* 0454BC 8004AA5C 41820024 */ beq lbl_8004AA80 -/* 0454C0 8004AA60 80610084 */ lwz r3, 0x84(r1) -/* 0454C4 8004AA64 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 0454C8 8004AA68 64044800 */ oris r4, r0, 0x4800 -/* 0454CC 8004AA6C 38030001 */ addi r0, r3, 1 -/* 0454D0 8004AA70 90010084 */ stw r0, 0x84(r1) -/* 0454D4 8004AA74 5460103A */ slwi r0, r3, 2 -/* 0454D8 8004AA78 7C9F012E */ stwx r4, r31, r0 -/* 0454DC 8004AA7C 48000010 */ b lbl_8004AA8C -lbl_8004AA80: -/* 0454E0 8004AA80 80610084 */ lwz r3, 0x84(r1) -/* 0454E4 8004AA84 38030001 */ addi r0, r3, 1 -/* 0454E8 8004AA88 90010084 */ stw r0, 0x84(r1) -lbl_8004AA8C: -/* 0454EC 8004AA8C 281F0000 */ cmplwi r31, 0 -/* 0454F0 8004AA90 41820024 */ beq lbl_8004AAB4 -/* 0454F4 8004AA94 80610084 */ lwz r3, 0x84(r1) -/* 0454F8 8004AA98 5780103A */ slwi r0, r28, 2 -/* 0454FC 8004AA9C 7C7C1850 */ subf r3, r28, r3 -/* 045500 8004AAA0 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 045504 8004AAA4 64634180 */ oris r3, r3, 0x4180 -/* 045508 8004AAA8 7C7F012E */ stwx r3, r31, r0 -/* 04550C 8004AAAC 3B9C0001 */ addi r28, r28, 1 -/* 045510 8004AAB0 48000008 */ b lbl_8004AAB8 -lbl_8004AAB4: -/* 045514 8004AAB4 3B9C0001 */ addi r28, r28, 1 -lbl_8004AAB8: -/* 045518 8004AAB8 80170000 */ lwz r0, 0(r23) -/* 04551C 8004AABC 7C763850 */ subf r3, r22, r7 -/* 045520 8004AAC0 80A10084 */ lwz r5, 0x84(r1) -/* 045524 8004AAC4 3B9C0003 */ addi r28, r28, 3 -/* 045528 8004AAC8 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 04552C 8004AACC 54A5103A */ slwi r5, r5, 2 -/* 045530 8004AAD0 7C651A14 */ add r3, r5, r3 -/* 045534 8004AAD4 7C7F1A14 */ add r3, r31, r3 -/* 045538 8004AAD8 41820078 */ beq lbl_8004AB50 -/* 04553C 8004AADC 281F0000 */ cmplwi r31, 0 -/* 045540 8004AAE0 4182001C */ beq lbl_8004AAFC -/* 045544 8004AAE4 5460843E */ srwi r0, r3, 0x10 -/* 045548 8004AAE8 64043CA0 */ oris r4, r0, 0x3ca0 -/* 04554C 8004AAEC 5780103A */ slwi r0, r28, 2 -/* 045550 8004AAF0 7C9F012E */ stwx r4, r31, r0 -/* 045554 8004AAF4 3B9C0001 */ addi r28, r28, 1 -/* 045558 8004AAF8 48000008 */ b lbl_8004AB00 -lbl_8004AAFC: -/* 04555C 8004AAFC 3B9C0001 */ addi r28, r28, 1 -lbl_8004AB00: -/* 045560 8004AB00 281F0000 */ cmplwi r31, 0 -/* 045564 8004AB04 4182001C */ beq lbl_8004AB20 -/* 045568 8004AB08 5460043E */ clrlwi r0, r3, 0x10 -/* 04556C 8004AB0C 640360A5 */ oris r3, r0, 0x60a5 -/* 045570 8004AB10 5780103A */ slwi r0, r28, 2 -/* 045574 8004AB14 7C7F012E */ stwx r3, r31, r0 -/* 045578 8004AB18 3B9C0001 */ addi r28, r28, 1 -/* 04557C 8004AB1C 48000008 */ b lbl_8004AB24 -lbl_8004AB20: -/* 045580 8004AB20 3B9C0001 */ addi r28, r28, 1 -lbl_8004AB24: -/* 045584 8004AB24 281F0000 */ cmplwi r31, 0 -/* 045588 8004AB28 40820008 */ bne lbl_8004AB30 -/* 04558C 8004AB2C 4801D408 */ b lbl_80067F34 -lbl_8004AB30: -/* 045590 8004AB30 381E0138 */ addi r0, r30, 0x138 -/* 045594 8004AB34 7C7E0050 */ subf r3, r30, r0 -/* 045598 8004AB38 38030004 */ addi r0, r3, 4 -/* 04559C 8004AB3C 5403043E */ clrlwi r3, r0, 0x10 -/* 0455A0 8004AB40 3C0390A3 */ addis r0, r3, 0x90a3 -/* 0455A4 8004AB44 5783103A */ slwi r3, r28, 2 -/* 0455A8 8004AB48 7C1F192E */ stwx r0, r31, r3 -/* 0455AC 8004AB4C 4801D3E8 */ b lbl_80067F34 -lbl_8004AB50: -/* 0455B0 8004AB50 281F0000 */ cmplwi r31, 0 -/* 0455B4 8004AB54 41820024 */ beq lbl_8004AB78 -/* 0455B8 8004AB58 5464843E */ srwi r4, r3, 0x10 -/* 0455BC 8004AB5C 64853C00 */ oris r5, r4, 0x3c00 -/* 0455C0 8004AB60 5404A814 */ slwi r4, r0, 0x15 -/* 0455C4 8004AB64 7CA52378 */ or r5, r5, r4 -/* 0455C8 8004AB68 5784103A */ slwi r4, r28, 2 -/* 0455CC 8004AB6C 7CBF212E */ stwx r5, r31, r4 -/* 0455D0 8004AB70 3B9C0001 */ addi r28, r28, 1 -/* 0455D4 8004AB74 48000008 */ b lbl_8004AB7C -lbl_8004AB78: -/* 0455D8 8004AB78 3B9C0001 */ addi r28, r28, 1 -lbl_8004AB7C: -/* 0455DC 8004AB7C 281F0000 */ cmplwi r31, 0 -/* 0455E0 8004AB80 40820008 */ bne lbl_8004AB88 -/* 0455E4 8004AB84 4801D3B0 */ b lbl_80067F34 -lbl_8004AB88: -/* 0455E8 8004AB88 5463043E */ clrlwi r3, r3, 0x10 -/* 0455EC 8004AB8C 64646000 */ oris r4, r3, 0x6000 -/* 0455F0 8004AB90 5403A814 */ slwi r3, r0, 0x15 -/* 0455F4 8004AB94 5400801E */ slwi r0, r0, 0x10 -/* 0455F8 8004AB98 7C831B78 */ or r3, r4, r3 -/* 0455FC 8004AB9C 7C001B78 */ or r0, r0, r3 -/* 045600 8004ABA0 5783103A */ slwi r3, r28, 2 -/* 045604 8004ABA4 7C1F192E */ stwx r0, r31, r3 -/* 045608 8004ABA8 4801D38C */ b lbl_80067F34 -.global lbl_8004ABAC -lbl_8004ABAC: -/* 04560C 8004ABAC 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 045610 8004ABB0 80920000 */ lwz r4, 0(r18) -/* 045614 8004ABB4 7C7A0214 */ add r3, r26, r0 -/* 045618 8004ABB8 80C30818 */ lwz r6, 0x818(r3) -/* 04561C 8004ABBC 5780043E */ clrlwi r0, r28, 0x10 -/* 045620 8004ABC0 7C030734 */ extsh r3, r0 -/* 045624 8004ABC4 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 045628 8004ABC8 5460103A */ slwi r0, r3, 2 -/* 04562C 8004ABCC 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 045630 8004ABD0 7E840214 */ add r20, r4, r0 -/* 045634 8004ABD4 4182014C */ beq lbl_8004AD20 -/* 045638 8004ABD8 3C7E0001 */ addis r3, r30, 1 -/* 04563C 8004ABDC 80032064 */ lwz r0, 0x2064(r3) -/* 045640 8004ABE0 38C00006 */ li r6, 6 -/* 045644 8004ABE4 28000000 */ cmplwi r0, 0 -/* 045648 8004ABE8 4082000C */ bne lbl_8004ABF4 -/* 04564C 8004ABEC 38000000 */ li r0, 0 -/* 045650 8004ABF0 48000094 */ b lbl_8004AC84 -lbl_8004ABF4: -/* 045654 8004ABF4 80032068 */ lwz r0, 0x2068(r3) -/* 045658 8004ABF8 28000000 */ cmplwi r0, 0 -/* 04565C 8004ABFC 4082000C */ bne lbl_8004AC08 -/* 045660 8004AC00 38000000 */ li r0, 0 -/* 045664 8004AC04 48000080 */ b lbl_8004AC84 -lbl_8004AC08: -/* 045668 8004AC08 8003206C */ lwz r0, 0x206c(r3) -/* 04566C 8004AC0C 7C070000 */ cmpw r7, r0 -/* 045670 8004AC10 4182000C */ beq lbl_8004AC1C -/* 045674 8004AC14 38000000 */ li r0, 0 -/* 045678 8004AC18 4800006C */ b lbl_8004AC84 -lbl_8004AC1C: -/* 04567C 8004AC1C 80BE0034 */ lwz r5, 0x34(r30) -/* 045680 8004AC20 38800000 */ li r4, 0 -/* 045684 8004AC24 80050008 */ lwz r0, 8(r5) -/* 045688 8004AC28 2C000000 */ cmpwi r0, 0 -/* 04568C 8004AC2C 7C0903A6 */ mtctr r0 -/* 045690 8004AC30 40810028 */ ble lbl_8004AC58 -lbl_8004AC34: -/* 045694 8004AC34 8065000C */ lwz r3, 0xc(r5) -/* 045698 8004AC38 38040004 */ addi r0, r4, 4 -/* 04569C 8004AC3C 7C03002E */ lwzx r0, r3, r0 -/* 0456A0 8004AC40 7C1D0000 */ cmpw r29, r0 -/* 0456A4 8004AC44 4082000C */ bne lbl_8004AC50 -/* 0456A8 8004AC48 38000000 */ li r0, 0 -/* 0456AC 8004AC4C 48000010 */ b lbl_8004AC5C -lbl_8004AC50: -/* 0456B0 8004AC50 38840008 */ addi r4, r4, 8 -/* 0456B4 8004AC54 4200FFE0 */ bdnz lbl_8004AC34 -lbl_8004AC58: -/* 0456B8 8004AC58 38000001 */ li r0, 1 -lbl_8004AC5C: -/* 0456BC 8004AC5C 2C000000 */ cmpwi r0, 0 -/* 0456C0 8004AC60 40820014 */ bne lbl_8004AC74 -/* 0456C4 8004AC64 38000000 */ li r0, 0 -/* 0456C8 8004AC68 3C7E0001 */ addis r3, r30, 1 -/* 0456CC 8004AC6C 90032068 */ stw r0, 0x2068(r3) -/* 0456D0 8004AC70 48000014 */ b lbl_8004AC84 -lbl_8004AC74: -/* 0456D4 8004AC74 3C7E0001 */ addis r3, r30, 1 -/* 0456D8 8004AC78 38000000 */ li r0, 0 -/* 0456DC 8004AC7C 90032068 */ stw r0, 0x2068(r3) -/* 0456E0 8004AC80 38000001 */ li r0, 1 -lbl_8004AC84: -/* 0456E4 8004AC84 2C000000 */ cmpwi r0, 0 -/* 0456E8 8004AC88 41820050 */ beq lbl_8004ACD8 -/* 0456EC 8004AC8C 281F0000 */ cmplwi r31, 0 -/* 0456F0 8004AC90 41820038 */ beq lbl_8004ACC8 -/* 0456F4 8004AC94 3C9E0001 */ addis r4, r30, 1 -/* 0456F8 8004AC98 80610084 */ lwz r3, 0x84(r1) -/* 0456FC 8004AC9C 80842070 */ lwz r4, 0x2070(r4) -/* 045700 8004ACA0 38A30001 */ addi r5, r3, 1 -/* 045704 8004ACA4 5480A814 */ slwi r0, r4, 0x15 -/* 045708 8004ACA8 90A10084 */ stw r5, 0x84(r1) -/* 04570C 8004ACAC 64007C06 */ oris r0, r0, 0x7c06 -/* 045710 8004ACB0 54845828 */ slwi r4, r4, 0xb -/* 045714 8004ACB4 60000378 */ ori r0, r0, 0x378 -/* 045718 8004ACB8 7C800378 */ or r0, r4, r0 -/* 04571C 8004ACBC 5463103A */ slwi r3, r3, 2 -/* 045720 8004ACC0 7C1F192E */ stwx r0, r31, r3 -/* 045724 8004ACC4 4800005C */ b lbl_8004AD20 -lbl_8004ACC8: -/* 045728 8004ACC8 80610084 */ lwz r3, 0x84(r1) -/* 04572C 8004ACCC 38030001 */ addi r0, r3, 1 -/* 045730 8004ACD0 90010084 */ stw r0, 0x84(r1) -/* 045734 8004ACD4 4800004C */ b lbl_8004AD20 -lbl_8004ACD8: -/* 045738 8004ACD8 281F0000 */ cmplwi r31, 0 -/* 04573C 8004ACDC 41820038 */ beq lbl_8004AD14 -/* 045740 8004ACE0 54E41838 */ slwi r4, r7, 3 -/* 045744 8004ACE4 80610084 */ lwz r3, 0x84(r1) -/* 045748 8004ACE8 38040040 */ addi r0, r4, 0x40 -/* 04574C 8004ACEC 7C1E0214 */ add r0, r30, r0 -/* 045750 8004ACF0 7C9E0050 */ subf r4, r30, r0 -/* 045754 8004ACF4 38840004 */ addi r4, r4, 4 -/* 045758 8004ACF8 38030001 */ addi r0, r3, 1 -/* 04575C 8004ACFC 5484043E */ clrlwi r4, r4, 0x10 -/* 045760 8004AD00 90010084 */ stw r0, 0x84(r1) -/* 045764 8004AD04 3C0480C3 */ addis r0, r4, 0x80c3 -/* 045768 8004AD08 5463103A */ slwi r3, r3, 2 -/* 04576C 8004AD0C 7C1F192E */ stwx r0, r31, r3 -/* 045770 8004AD10 48000010 */ b lbl_8004AD20 -lbl_8004AD14: -/* 045774 8004AD14 80610084 */ lwz r3, 0x84(r1) -/* 045778 8004AD18 38030001 */ addi r0, r3, 1 -/* 04577C 8004AD1C 90010084 */ stw r0, 0x84(r1) -lbl_8004AD20: -/* 045780 8004AD20 281F0000 */ cmplwi r31, 0 -/* 045784 8004AD24 41820024 */ beq lbl_8004AD48 -/* 045788 8004AD28 80610084 */ lwz r3, 0x84(r1) -/* 04578C 8004AD2C 54C0801E */ slwi r0, r6, 0x10 -/* 045790 8004AD30 64042C00 */ oris r4, r0, 0x2c00 -/* 045794 8004AD34 38030001 */ addi r0, r3, 1 -/* 045798 8004AD38 90010084 */ stw r0, 0x84(r1) -/* 04579C 8004AD3C 5460103A */ slwi r0, r3, 2 -/* 0457A0 8004AD40 7C9F012E */ stwx r4, r31, r0 -/* 0457A4 8004AD44 48000010 */ b lbl_8004AD54 -lbl_8004AD48: -/* 0457A8 8004AD48 80610084 */ lwz r3, 0x84(r1) -/* 0457AC 8004AD4C 38030001 */ addi r0, r3, 1 -/* 0457B0 8004AD50 90010084 */ stw r0, 0x84(r1) -lbl_8004AD54: -/* 0457B4 8004AD54 83810084 */ lwz r28, 0x84(r1) -/* 0457B8 8004AD58 281F0000 */ cmplwi r31, 0 -/* 0457BC 8004AD5C 381C0001 */ addi r0, r28, 1 -/* 0457C0 8004AD60 90010084 */ stw r0, 0x84(r1) -/* 0457C4 8004AD64 41820028 */ beq lbl_8004AD8C -/* 0457C8 8004AD68 80610084 */ lwz r3, 0x84(r1) -/* 0457CC 8004AD6C 381D0008 */ addi r0, r29, 8 -/* 0457D0 8004AD70 5404843E */ srwi r4, r0, 0x10 -/* 0457D4 8004AD74 38030001 */ addi r0, r3, 1 -/* 0457D8 8004AD78 90010084 */ stw r0, 0x84(r1) -/* 0457DC 8004AD7C 64803CA0 */ oris r0, r4, 0x3ca0 -/* 0457E0 8004AD80 5463103A */ slwi r3, r3, 2 -/* 0457E4 8004AD84 7C1F192E */ stwx r0, r31, r3 -/* 0457E8 8004AD88 48000010 */ b lbl_8004AD98 -lbl_8004AD8C: -/* 0457EC 8004AD8C 80610084 */ lwz r3, 0x84(r1) -/* 0457F0 8004AD90 38030001 */ addi r0, r3, 1 -/* 0457F4 8004AD94 90010084 */ stw r0, 0x84(r1) -lbl_8004AD98: -/* 0457F8 8004AD98 281F0000 */ cmplwi r31, 0 -/* 0457FC 8004AD9C 41820028 */ beq lbl_8004ADC4 -/* 045800 8004ADA0 80610084 */ lwz r3, 0x84(r1) -/* 045804 8004ADA4 381D0008 */ addi r0, r29, 8 -/* 045808 8004ADA8 5404043E */ clrlwi r4, r0, 0x10 -/* 04580C 8004ADAC 38030001 */ addi r0, r3, 1 -/* 045810 8004ADB0 90010084 */ stw r0, 0x84(r1) -/* 045814 8004ADB4 648060A5 */ oris r0, r4, 0x60a5 -/* 045818 8004ADB8 5463103A */ slwi r3, r3, 2 -/* 04581C 8004ADBC 7C1F192E */ stwx r0, r31, r3 -/* 045820 8004ADC0 48000010 */ b lbl_8004ADD0 -lbl_8004ADC4: -/* 045824 8004ADC4 80610084 */ lwz r3, 0x84(r1) -/* 045828 8004ADC8 38030001 */ addi r0, r3, 1 -/* 04582C 8004ADCC 90010084 */ stw r0, 0x84(r1) -lbl_8004ADD0: -/* 045830 8004ADD0 281F0000 */ cmplwi r31, 0 -/* 045834 8004ADD4 41820028 */ beq lbl_8004ADFC -/* 045838 8004ADD8 80610084 */ lwz r3, 0x84(r1) -/* 04583C 8004ADDC 381E0038 */ addi r0, r30, 0x38 -/* 045840 8004ADE0 7C9E0050 */ subf r4, r30, r0 -/* 045844 8004ADE4 38030001 */ addi r0, r3, 1 -/* 045848 8004ADE8 90010084 */ stw r0, 0x84(r1) -/* 04584C 8004ADEC 3C0490A3 */ addis r0, r4, 0x90a3 -/* 045850 8004ADF0 5463103A */ slwi r3, r3, 2 -/* 045854 8004ADF4 7C1F192E */ stwx r0, r31, r3 -/* 045858 8004ADF8 48000010 */ b lbl_8004AE08 -lbl_8004ADFC: -/* 04585C 8004ADFC 80610084 */ lwz r3, 0x84(r1) -/* 045860 8004AE00 38030001 */ addi r0, r3, 1 -/* 045864 8004AE04 90010084 */ stw r0, 0x84(r1) -lbl_8004AE08: -/* 045868 8004AE08 801A0894 */ lwz r0, 0x894(r26) -/* 04586C 8004AE0C 3AFA0894 */ addi r23, r26, 0x894 -/* 045870 8004AE10 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 045874 8004AE14 41820014 */ beq lbl_8004AE28 -/* 045878 8004AE18 80610084 */ lwz r3, 0x84(r1) -/* 04587C 8004AE1C 38030003 */ addi r0, r3, 3 -/* 045880 8004AE20 90010084 */ stw r0, 0x84(r1) -/* 045884 8004AE24 48000010 */ b lbl_8004AE34 -lbl_8004AE28: -/* 045888 8004AE28 80610084 */ lwz r3, 0x84(r1) -/* 04588C 8004AE2C 38030002 */ addi r0, r3, 2 -/* 045890 8004AE30 90010084 */ stw r0, 0x84(r1) -lbl_8004AE34: -/* 045894 8004AE34 80010084 */ lwz r0, 0x84(r1) -/* 045898 8004AE38 387E0000 */ addi r3, r30, 0 -/* 04589C 8004AE3C 38920000 */ addi r4, r18, 0 -/* 0458A0 8004AE40 5400103A */ slwi r0, r0, 2 -/* 0458A4 8004AE44 38BB0000 */ addi r5, r27, 0 -/* 0458A8 8004AE48 38DF0000 */ addi r6, r31, 0 -/* 0458AC 8004AE4C 7F1F0214 */ add r24, r31, r0 -/* 0458B0 8004AE50 38E10084 */ addi r7, r1, 0x84 -/* 0458B4 8004AE54 39000001 */ li r8, 1 -/* 0458B8 8004AE58 4BFF3FAD */ bl cpuGetPPC -/* 0458BC 8004AE5C 2C030000 */ cmpwi r3, 0 -/* 0458C0 8004AE60 4082000C */ bne lbl_8004AE6C -/* 0458C4 8004AE64 38600000 */ li r3, 0 -/* 0458C8 8004AE68 4801D3BC */ b lbl_80068224 -lbl_8004AE6C: -/* 0458CC 8004AE6C 80720000 */ lwz r3, 0(r18) -/* 0458D0 8004AE70 281F0000 */ cmplwi r31, 0 -/* 0458D4 8004AE74 3803FFFC */ addi r0, r3, -4 -/* 0458D8 8004AE78 90120000 */ stw r0, 0(r18) -/* 0458DC 8004AE7C 80C10084 */ lwz r6, 0x84(r1) -/* 0458E0 8004AE80 54C0103A */ slwi r0, r6, 2 -/* 0458E4 8004AE84 7EDF0214 */ add r22, r31, r0 -/* 0458E8 8004AE88 40820010 */ bne lbl_8004AE98 -/* 0458EC 8004AE8C 3B200000 */ li r25, 0 -/* 0458F0 8004AE90 38000001 */ li r0, 1 -/* 0458F4 8004AE94 48000050 */ b lbl_8004AEE4 -lbl_8004AE98: -/* 0458F8 8004AE98 801B0008 */ lwz r0, 8(r27) -/* 0458FC 8004AE9C 38600000 */ li r3, 0 -/* 045900 8004AEA0 38830000 */ addi r4, r3, 0 -/* 045904 8004AEA4 2C000000 */ cmpwi r0, 0 -/* 045908 8004AEA8 7C0903A6 */ mtctr r0 -/* 04590C 8004AEAC 40810034 */ ble lbl_8004AEE0 -lbl_8004AEB0: -/* 045910 8004AEB0 80BB000C */ lwz r5, 0xc(r27) -/* 045914 8004AEB4 38040004 */ addi r0, r4, 4 -/* 045918 8004AEB8 7C05002E */ lwzx r0, r5, r0 -/* 04591C 8004AEBC 7C140000 */ cmpw r20, r0 -/* 045920 8004AEC0 40820014 */ bne lbl_8004AED4 -/* 045924 8004AEC4 54601838 */ slwi r0, r3, 3 -/* 045928 8004AEC8 7F25002E */ lwzx r25, r5, r0 -/* 04592C 8004AECC 38000001 */ li r0, 1 -/* 045930 8004AED0 48000014 */ b lbl_8004AEE4 -lbl_8004AED4: -/* 045934 8004AED4 38840008 */ addi r4, r4, 8 -/* 045938 8004AED8 38630001 */ addi r3, r3, 1 -/* 04593C 8004AEDC 4200FFD4 */ bdnz lbl_8004AEB0 -lbl_8004AEE0: -/* 045940 8004AEE0 38000000 */ li r0, 0 -lbl_8004AEE4: -/* 045944 8004AEE4 2C000000 */ cmpwi r0, 0 -/* 045948 8004AEE8 4082000C */ bne lbl_8004AEF4 -/* 04594C 8004AEEC 38600000 */ li r3, 0 -/* 045950 8004AEF0 4801D334 */ b lbl_80068224 -lbl_8004AEF4: -/* 045954 8004AEF4 281F0000 */ cmplwi r31, 0 -/* 045958 8004AEF8 4182000C */ beq lbl_8004AF04 -/* 04595C 8004AEFC 7C06C850 */ subf r0, r6, r25 -/* 045960 8004AF00 5415103A */ slwi r21, r0, 2 -lbl_8004AF04: -/* 045964 8004AF04 281F0000 */ cmplwi r31, 0 -/* 045968 8004AF08 41820024 */ beq lbl_8004AF2C -/* 04596C 8004AF0C 80610084 */ lwz r3, 0x84(r1) -/* 045970 8004AF10 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 045974 8004AF14 64044800 */ oris r4, r0, 0x4800 -/* 045978 8004AF18 38030001 */ addi r0, r3, 1 -/* 04597C 8004AF1C 90010084 */ stw r0, 0x84(r1) -/* 045980 8004AF20 5460103A */ slwi r0, r3, 2 -/* 045984 8004AF24 7C9F012E */ stwx r4, r31, r0 -/* 045988 8004AF28 48000010 */ b lbl_8004AF38 -lbl_8004AF2C: -/* 04598C 8004AF2C 80610084 */ lwz r3, 0x84(r1) -/* 045990 8004AF30 38030001 */ addi r0, r3, 1 -/* 045994 8004AF34 90010084 */ stw r0, 0x84(r1) -lbl_8004AF38: -/* 045998 8004AF38 387E0000 */ addi r3, r30, 0 -/* 04599C 8004AF3C 38920000 */ addi r4, r18, 0 -/* 0459A0 8004AF40 38BB0000 */ addi r5, r27, 0 -/* 0459A4 8004AF44 38DF0000 */ addi r6, r31, 0 -/* 0459A8 8004AF48 38E10084 */ addi r7, r1, 0x84 -/* 0459AC 8004AF4C 39000000 */ li r8, 0 -/* 0459B0 8004AF50 4BFF3EB5 */ bl cpuGetPPC -/* 0459B4 8004AF54 2C030000 */ cmpwi r3, 0 -/* 0459B8 8004AF58 4082000C */ bne lbl_8004AF64 -/* 0459BC 8004AF5C 38600000 */ li r3, 0 -/* 0459C0 8004AF60 4801D2C4 */ b lbl_80068224 -lbl_8004AF64: -/* 0459C4 8004AF64 281F0000 */ cmplwi r31, 0 -/* 0459C8 8004AF68 41820024 */ beq lbl_8004AF8C -/* 0459CC 8004AF6C 80610084 */ lwz r3, 0x84(r1) -/* 0459D0 8004AF70 5780103A */ slwi r0, r28, 2 -/* 0459D4 8004AF74 7C7C1850 */ subf r3, r28, r3 -/* 0459D8 8004AF78 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 0459DC 8004AF7C 64634080 */ oris r3, r3, 0x4080 -/* 0459E0 8004AF80 7C7F012E */ stwx r3, r31, r0 -/* 0459E4 8004AF84 3B9C0001 */ addi r28, r28, 1 -/* 0459E8 8004AF88 48000008 */ b lbl_8004AF90 -lbl_8004AF8C: -/* 0459EC 8004AF8C 3B9C0001 */ addi r28, r28, 1 -lbl_8004AF90: -/* 0459F0 8004AF90 80170000 */ lwz r0, 0(r23) -/* 0459F4 8004AF94 7C78B050 */ subf r3, r24, r22 -/* 0459F8 8004AF98 80A10084 */ lwz r5, 0x84(r1) -/* 0459FC 8004AF9C 3B9C0003 */ addi r28, r28, 3 -/* 045A00 8004AFA0 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 045A04 8004AFA4 54A5103A */ slwi r5, r5, 2 -/* 045A08 8004AFA8 7C651A14 */ add r3, r5, r3 -/* 045A0C 8004AFAC 7C7F1A14 */ add r3, r31, r3 -/* 045A10 8004AFB0 41820078 */ beq lbl_8004B028 -/* 045A14 8004AFB4 281F0000 */ cmplwi r31, 0 -/* 045A18 8004AFB8 4182001C */ beq lbl_8004AFD4 -/* 045A1C 8004AFBC 5460843E */ srwi r0, r3, 0x10 -/* 045A20 8004AFC0 64043CA0 */ oris r4, r0, 0x3ca0 -/* 045A24 8004AFC4 5780103A */ slwi r0, r28, 2 -/* 045A28 8004AFC8 7C9F012E */ stwx r4, r31, r0 -/* 045A2C 8004AFCC 3B9C0001 */ addi r28, r28, 1 -/* 045A30 8004AFD0 48000008 */ b lbl_8004AFD8 -lbl_8004AFD4: -/* 045A34 8004AFD4 3B9C0001 */ addi r28, r28, 1 -lbl_8004AFD8: -/* 045A38 8004AFD8 281F0000 */ cmplwi r31, 0 -/* 045A3C 8004AFDC 4182001C */ beq lbl_8004AFF8 -/* 045A40 8004AFE0 5460043E */ clrlwi r0, r3, 0x10 -/* 045A44 8004AFE4 640360A5 */ oris r3, r0, 0x60a5 -/* 045A48 8004AFE8 5780103A */ slwi r0, r28, 2 -/* 045A4C 8004AFEC 7C7F012E */ stwx r3, r31, r0 -/* 045A50 8004AFF0 3B9C0001 */ addi r28, r28, 1 -/* 045A54 8004AFF4 48000008 */ b lbl_8004AFFC -lbl_8004AFF8: -/* 045A58 8004AFF8 3B9C0001 */ addi r28, r28, 1 -lbl_8004AFFC: -/* 045A5C 8004AFFC 281F0000 */ cmplwi r31, 0 -/* 045A60 8004B000 40820008 */ bne lbl_8004B008 -/* 045A64 8004B004 4801CF30 */ b lbl_80067F34 -lbl_8004B008: -/* 045A68 8004B008 381E0138 */ addi r0, r30, 0x138 -/* 045A6C 8004B00C 7C7E0050 */ subf r3, r30, r0 -/* 045A70 8004B010 38030004 */ addi r0, r3, 4 -/* 045A74 8004B014 5403043E */ clrlwi r3, r0, 0x10 -/* 045A78 8004B018 3C0390A3 */ addis r0, r3, 0x90a3 -/* 045A7C 8004B01C 5783103A */ slwi r3, r28, 2 -/* 045A80 8004B020 7C1F192E */ stwx r0, r31, r3 -/* 045A84 8004B024 4801CF10 */ b lbl_80067F34 -lbl_8004B028: -/* 045A88 8004B028 281F0000 */ cmplwi r31, 0 -/* 045A8C 8004B02C 41820024 */ beq lbl_8004B050 -/* 045A90 8004B030 5464843E */ srwi r4, r3, 0x10 -/* 045A94 8004B034 64853C00 */ oris r5, r4, 0x3c00 -/* 045A98 8004B038 5404A814 */ slwi r4, r0, 0x15 -/* 045A9C 8004B03C 7CA52378 */ or r5, r5, r4 -/* 045AA0 8004B040 5784103A */ slwi r4, r28, 2 -/* 045AA4 8004B044 7CBF212E */ stwx r5, r31, r4 -/* 045AA8 8004B048 3B9C0001 */ addi r28, r28, 1 -/* 045AAC 8004B04C 48000008 */ b lbl_8004B054 -lbl_8004B050: -/* 045AB0 8004B050 3B9C0001 */ addi r28, r28, 1 -lbl_8004B054: -/* 045AB4 8004B054 281F0000 */ cmplwi r31, 0 -/* 045AB8 8004B058 40820008 */ bne lbl_8004B060 -/* 045ABC 8004B05C 4801CED8 */ b lbl_80067F34 -lbl_8004B060: -/* 045AC0 8004B060 5463043E */ clrlwi r3, r3, 0x10 -/* 045AC4 8004B064 64646000 */ oris r4, r3, 0x6000 -/* 045AC8 8004B068 5403A814 */ slwi r3, r0, 0x15 -/* 045ACC 8004B06C 5400801E */ slwi r0, r0, 0x10 -/* 045AD0 8004B070 7C831B78 */ or r3, r4, r3 -/* 045AD4 8004B074 7C001B78 */ or r0, r0, r3 -/* 045AD8 8004B078 5783103A */ slwi r3, r28, 2 -/* 045ADC 8004B07C 7C1F192E */ stwx r0, r31, r3 -/* 045AE0 8004B080 4801CEB4 */ b lbl_80067F34 -.global lbl_8004B084 -lbl_8004B084: -/* 045AE4 8004B084 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 045AE8 8004B088 80920000 */ lwz r4, 0(r18) -/* 045AEC 8004B08C 7C7A0214 */ add r3, r26, r0 -/* 045AF0 8004B090 80C30818 */ lwz r6, 0x818(r3) -/* 045AF4 8004B094 5780043E */ clrlwi r0, r28, 0x10 -/* 045AF8 8004B098 7C030734 */ extsh r3, r0 -/* 045AFC 8004B09C 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 045B00 8004B0A0 5460103A */ slwi r0, r3, 2 -/* 045B04 8004B0A4 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 045B08 8004B0A8 7E840214 */ add r20, r4, r0 -/* 045B0C 8004B0AC 4182014C */ beq lbl_8004B1F8 -/* 045B10 8004B0B0 3C7E0001 */ addis r3, r30, 1 -/* 045B14 8004B0B4 80032064 */ lwz r0, 0x2064(r3) -/* 045B18 8004B0B8 38C00006 */ li r6, 6 -/* 045B1C 8004B0BC 28000000 */ cmplwi r0, 0 -/* 045B20 8004B0C0 4082000C */ bne lbl_8004B0CC -/* 045B24 8004B0C4 38000000 */ li r0, 0 -/* 045B28 8004B0C8 48000094 */ b lbl_8004B15C -lbl_8004B0CC: -/* 045B2C 8004B0CC 80032068 */ lwz r0, 0x2068(r3) -/* 045B30 8004B0D0 28000000 */ cmplwi r0, 0 -/* 045B34 8004B0D4 4082000C */ bne lbl_8004B0E0 -/* 045B38 8004B0D8 38000000 */ li r0, 0 -/* 045B3C 8004B0DC 48000080 */ b lbl_8004B15C -lbl_8004B0E0: -/* 045B40 8004B0E0 8003206C */ lwz r0, 0x206c(r3) -/* 045B44 8004B0E4 7C070000 */ cmpw r7, r0 -/* 045B48 8004B0E8 4182000C */ beq lbl_8004B0F4 -/* 045B4C 8004B0EC 38000000 */ li r0, 0 -/* 045B50 8004B0F0 4800006C */ b lbl_8004B15C -lbl_8004B0F4: -/* 045B54 8004B0F4 80BE0034 */ lwz r5, 0x34(r30) -/* 045B58 8004B0F8 38800000 */ li r4, 0 -/* 045B5C 8004B0FC 80050008 */ lwz r0, 8(r5) -/* 045B60 8004B100 2C000000 */ cmpwi r0, 0 -/* 045B64 8004B104 7C0903A6 */ mtctr r0 -/* 045B68 8004B108 40810028 */ ble lbl_8004B130 -lbl_8004B10C: -/* 045B6C 8004B10C 8065000C */ lwz r3, 0xc(r5) -/* 045B70 8004B110 38040004 */ addi r0, r4, 4 -/* 045B74 8004B114 7C03002E */ lwzx r0, r3, r0 -/* 045B78 8004B118 7C1D0000 */ cmpw r29, r0 -/* 045B7C 8004B11C 4082000C */ bne lbl_8004B128 -/* 045B80 8004B120 38000000 */ li r0, 0 -/* 045B84 8004B124 48000010 */ b lbl_8004B134 -lbl_8004B128: -/* 045B88 8004B128 38840008 */ addi r4, r4, 8 -/* 045B8C 8004B12C 4200FFE0 */ bdnz lbl_8004B10C -lbl_8004B130: -/* 045B90 8004B130 38000001 */ li r0, 1 -lbl_8004B134: -/* 045B94 8004B134 2C000000 */ cmpwi r0, 0 -/* 045B98 8004B138 40820014 */ bne lbl_8004B14C -/* 045B9C 8004B13C 38000000 */ li r0, 0 -/* 045BA0 8004B140 3C7E0001 */ addis r3, r30, 1 -/* 045BA4 8004B144 90032068 */ stw r0, 0x2068(r3) -/* 045BA8 8004B148 48000014 */ b lbl_8004B15C -lbl_8004B14C: -/* 045BAC 8004B14C 3C7E0001 */ addis r3, r30, 1 -/* 045BB0 8004B150 38000000 */ li r0, 0 -/* 045BB4 8004B154 90032068 */ stw r0, 0x2068(r3) -/* 045BB8 8004B158 38000001 */ li r0, 1 -lbl_8004B15C: -/* 045BBC 8004B15C 2C000000 */ cmpwi r0, 0 -/* 045BC0 8004B160 41820050 */ beq lbl_8004B1B0 -/* 045BC4 8004B164 281F0000 */ cmplwi r31, 0 -/* 045BC8 8004B168 41820038 */ beq lbl_8004B1A0 -/* 045BCC 8004B16C 3C9E0001 */ addis r4, r30, 1 -/* 045BD0 8004B170 80610084 */ lwz r3, 0x84(r1) -/* 045BD4 8004B174 80842070 */ lwz r4, 0x2070(r4) -/* 045BD8 8004B178 38A30001 */ addi r5, r3, 1 -/* 045BDC 8004B17C 5480A814 */ slwi r0, r4, 0x15 -/* 045BE0 8004B180 90A10084 */ stw r5, 0x84(r1) -/* 045BE4 8004B184 64007C06 */ oris r0, r0, 0x7c06 -/* 045BE8 8004B188 54845828 */ slwi r4, r4, 0xb -/* 045BEC 8004B18C 60000378 */ ori r0, r0, 0x378 -/* 045BF0 8004B190 7C800378 */ or r0, r4, r0 -/* 045BF4 8004B194 5463103A */ slwi r3, r3, 2 -/* 045BF8 8004B198 7C1F192E */ stwx r0, r31, r3 -/* 045BFC 8004B19C 4800005C */ b lbl_8004B1F8 -lbl_8004B1A0: -/* 045C00 8004B1A0 80610084 */ lwz r3, 0x84(r1) -/* 045C04 8004B1A4 38030001 */ addi r0, r3, 1 -/* 045C08 8004B1A8 90010084 */ stw r0, 0x84(r1) -/* 045C0C 8004B1AC 4800004C */ b lbl_8004B1F8 -lbl_8004B1B0: -/* 045C10 8004B1B0 281F0000 */ cmplwi r31, 0 -/* 045C14 8004B1B4 41820038 */ beq lbl_8004B1EC -/* 045C18 8004B1B8 54E41838 */ slwi r4, r7, 3 -/* 045C1C 8004B1BC 80610084 */ lwz r3, 0x84(r1) -/* 045C20 8004B1C0 38040040 */ addi r0, r4, 0x40 -/* 045C24 8004B1C4 7C1E0214 */ add r0, r30, r0 -/* 045C28 8004B1C8 7C9E0050 */ subf r4, r30, r0 -/* 045C2C 8004B1CC 38840004 */ addi r4, r4, 4 -/* 045C30 8004B1D0 38030001 */ addi r0, r3, 1 -/* 045C34 8004B1D4 5484043E */ clrlwi r4, r4, 0x10 -/* 045C38 8004B1D8 90010084 */ stw r0, 0x84(r1) -/* 045C3C 8004B1DC 3C0480C3 */ addis r0, r4, 0x80c3 -/* 045C40 8004B1E0 5463103A */ slwi r3, r3, 2 -/* 045C44 8004B1E4 7C1F192E */ stwx r0, r31, r3 -/* 045C48 8004B1E8 48000010 */ b lbl_8004B1F8 -lbl_8004B1EC: -/* 045C4C 8004B1EC 80610084 */ lwz r3, 0x84(r1) -/* 045C50 8004B1F0 38030001 */ addi r0, r3, 1 -/* 045C54 8004B1F4 90010084 */ stw r0, 0x84(r1) -lbl_8004B1F8: -/* 045C58 8004B1F8 281F0000 */ cmplwi r31, 0 -/* 045C5C 8004B1FC 41820024 */ beq lbl_8004B220 -/* 045C60 8004B200 80610084 */ lwz r3, 0x84(r1) -/* 045C64 8004B204 54C0801E */ slwi r0, r6, 0x10 -/* 045C68 8004B208 64042C00 */ oris r4, r0, 0x2c00 -/* 045C6C 8004B20C 38030001 */ addi r0, r3, 1 -/* 045C70 8004B210 90010084 */ stw r0, 0x84(r1) -/* 045C74 8004B214 5460103A */ slwi r0, r3, 2 -/* 045C78 8004B218 7C9F012E */ stwx r4, r31, r0 -/* 045C7C 8004B21C 48000010 */ b lbl_8004B22C -lbl_8004B220: -/* 045C80 8004B220 80610084 */ lwz r3, 0x84(r1) -/* 045C84 8004B224 38030001 */ addi r0, r3, 1 -/* 045C88 8004B228 90010084 */ stw r0, 0x84(r1) -lbl_8004B22C: -/* 045C8C 8004B22C 83810084 */ lwz r28, 0x84(r1) -/* 045C90 8004B230 281F0000 */ cmplwi r31, 0 -/* 045C94 8004B234 381C0001 */ addi r0, r28, 1 -/* 045C98 8004B238 90010084 */ stw r0, 0x84(r1) -/* 045C9C 8004B23C 41820028 */ beq lbl_8004B264 -/* 045CA0 8004B240 80610084 */ lwz r3, 0x84(r1) -/* 045CA4 8004B244 381D0008 */ addi r0, r29, 8 -/* 045CA8 8004B248 5404843E */ srwi r4, r0, 0x10 -/* 045CAC 8004B24C 38030001 */ addi r0, r3, 1 -/* 045CB0 8004B250 90010084 */ stw r0, 0x84(r1) -/* 045CB4 8004B254 64803CA0 */ oris r0, r4, 0x3ca0 -/* 045CB8 8004B258 5463103A */ slwi r3, r3, 2 -/* 045CBC 8004B25C 7C1F192E */ stwx r0, r31, r3 -/* 045CC0 8004B260 48000010 */ b lbl_8004B270 -lbl_8004B264: -/* 045CC4 8004B264 80610084 */ lwz r3, 0x84(r1) -/* 045CC8 8004B268 38030001 */ addi r0, r3, 1 -/* 045CCC 8004B26C 90010084 */ stw r0, 0x84(r1) -lbl_8004B270: -/* 045CD0 8004B270 281F0000 */ cmplwi r31, 0 -/* 045CD4 8004B274 41820028 */ beq lbl_8004B29C -/* 045CD8 8004B278 80610084 */ lwz r3, 0x84(r1) -/* 045CDC 8004B27C 381D0008 */ addi r0, r29, 8 -/* 045CE0 8004B280 5404043E */ clrlwi r4, r0, 0x10 -/* 045CE4 8004B284 38030001 */ addi r0, r3, 1 -/* 045CE8 8004B288 90010084 */ stw r0, 0x84(r1) -/* 045CEC 8004B28C 648060A5 */ oris r0, r4, 0x60a5 -/* 045CF0 8004B290 5463103A */ slwi r3, r3, 2 -/* 045CF4 8004B294 7C1F192E */ stwx r0, r31, r3 -/* 045CF8 8004B298 48000010 */ b lbl_8004B2A8 -lbl_8004B29C: -/* 045CFC 8004B29C 80610084 */ lwz r3, 0x84(r1) -/* 045D00 8004B2A0 38030001 */ addi r0, r3, 1 -/* 045D04 8004B2A4 90010084 */ stw r0, 0x84(r1) -lbl_8004B2A8: -/* 045D08 8004B2A8 281F0000 */ cmplwi r31, 0 -/* 045D0C 8004B2AC 41820028 */ beq lbl_8004B2D4 -/* 045D10 8004B2B0 80610084 */ lwz r3, 0x84(r1) -/* 045D14 8004B2B4 381E0038 */ addi r0, r30, 0x38 -/* 045D18 8004B2B8 7C9E0050 */ subf r4, r30, r0 -/* 045D1C 8004B2BC 38030001 */ addi r0, r3, 1 -/* 045D20 8004B2C0 90010084 */ stw r0, 0x84(r1) -/* 045D24 8004B2C4 3C0490A3 */ addis r0, r4, 0x90a3 -/* 045D28 8004B2C8 5463103A */ slwi r3, r3, 2 -/* 045D2C 8004B2CC 7C1F192E */ stwx r0, r31, r3 -/* 045D30 8004B2D0 48000010 */ b lbl_8004B2E0 -lbl_8004B2D4: -/* 045D34 8004B2D4 80610084 */ lwz r3, 0x84(r1) -/* 045D38 8004B2D8 38030001 */ addi r0, r3, 1 -/* 045D3C 8004B2DC 90010084 */ stw r0, 0x84(r1) -lbl_8004B2E0: -/* 045D40 8004B2E0 801A0894 */ lwz r0, 0x894(r26) -/* 045D44 8004B2E4 3AFA0894 */ addi r23, r26, 0x894 -/* 045D48 8004B2E8 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 045D4C 8004B2EC 41820014 */ beq lbl_8004B300 -/* 045D50 8004B2F0 80610084 */ lwz r3, 0x84(r1) -/* 045D54 8004B2F4 38030003 */ addi r0, r3, 3 -/* 045D58 8004B2F8 90010084 */ stw r0, 0x84(r1) -/* 045D5C 8004B2FC 48000010 */ b lbl_8004B30C -lbl_8004B300: -/* 045D60 8004B300 80610084 */ lwz r3, 0x84(r1) -/* 045D64 8004B304 38030002 */ addi r0, r3, 2 -/* 045D68 8004B308 90010084 */ stw r0, 0x84(r1) -lbl_8004B30C: -/* 045D6C 8004B30C 80010084 */ lwz r0, 0x84(r1) -/* 045D70 8004B310 387E0000 */ addi r3, r30, 0 -/* 045D74 8004B314 38920000 */ addi r4, r18, 0 -/* 045D78 8004B318 5400103A */ slwi r0, r0, 2 -/* 045D7C 8004B31C 38BB0000 */ addi r5, r27, 0 -/* 045D80 8004B320 38DF0000 */ addi r6, r31, 0 -/* 045D84 8004B324 7F1F0214 */ add r24, r31, r0 -/* 045D88 8004B328 38E10084 */ addi r7, r1, 0x84 -/* 045D8C 8004B32C 39000001 */ li r8, 1 -/* 045D90 8004B330 4BFF3AD5 */ bl cpuGetPPC -/* 045D94 8004B334 2C030000 */ cmpwi r3, 0 -/* 045D98 8004B338 4082000C */ bne lbl_8004B344 -/* 045D9C 8004B33C 38600000 */ li r3, 0 -/* 045DA0 8004B340 4801CEE4 */ b lbl_80068224 -lbl_8004B344: -/* 045DA4 8004B344 80720000 */ lwz r3, 0(r18) -/* 045DA8 8004B348 281F0000 */ cmplwi r31, 0 -/* 045DAC 8004B34C 3803FFFC */ addi r0, r3, -4 -/* 045DB0 8004B350 90120000 */ stw r0, 0(r18) -/* 045DB4 8004B354 80C10084 */ lwz r6, 0x84(r1) -/* 045DB8 8004B358 54C0103A */ slwi r0, r6, 2 -/* 045DBC 8004B35C 7EDF0214 */ add r22, r31, r0 -/* 045DC0 8004B360 40820010 */ bne lbl_8004B370 -/* 045DC4 8004B364 3B200000 */ li r25, 0 -/* 045DC8 8004B368 38000001 */ li r0, 1 -/* 045DCC 8004B36C 48000050 */ b lbl_8004B3BC -lbl_8004B370: -/* 045DD0 8004B370 801B0008 */ lwz r0, 8(r27) -/* 045DD4 8004B374 38600000 */ li r3, 0 -/* 045DD8 8004B378 38830000 */ addi r4, r3, 0 -/* 045DDC 8004B37C 2C000000 */ cmpwi r0, 0 -/* 045DE0 8004B380 7C0903A6 */ mtctr r0 -/* 045DE4 8004B384 40810034 */ ble lbl_8004B3B8 -lbl_8004B388: -/* 045DE8 8004B388 80BB000C */ lwz r5, 0xc(r27) -/* 045DEC 8004B38C 38040004 */ addi r0, r4, 4 -/* 045DF0 8004B390 7C05002E */ lwzx r0, r5, r0 -/* 045DF4 8004B394 7C140000 */ cmpw r20, r0 -/* 045DF8 8004B398 40820014 */ bne lbl_8004B3AC -/* 045DFC 8004B39C 54601838 */ slwi r0, r3, 3 -/* 045E00 8004B3A0 7F25002E */ lwzx r25, r5, r0 -/* 045E04 8004B3A4 38000001 */ li r0, 1 -/* 045E08 8004B3A8 48000014 */ b lbl_8004B3BC -lbl_8004B3AC: -/* 045E0C 8004B3AC 38840008 */ addi r4, r4, 8 -/* 045E10 8004B3B0 38630001 */ addi r3, r3, 1 -/* 045E14 8004B3B4 4200FFD4 */ bdnz lbl_8004B388 -lbl_8004B3B8: -/* 045E18 8004B3B8 38000000 */ li r0, 0 -lbl_8004B3BC: -/* 045E1C 8004B3BC 2C000000 */ cmpwi r0, 0 -/* 045E20 8004B3C0 4082000C */ bne lbl_8004B3CC -/* 045E24 8004B3C4 38600000 */ li r3, 0 -/* 045E28 8004B3C8 4801CE5C */ b lbl_80068224 -lbl_8004B3CC: -/* 045E2C 8004B3CC 281F0000 */ cmplwi r31, 0 -/* 045E30 8004B3D0 4182000C */ beq lbl_8004B3DC -/* 045E34 8004B3D4 7C06C850 */ subf r0, r6, r25 -/* 045E38 8004B3D8 5415103A */ slwi r21, r0, 2 -lbl_8004B3DC: -/* 045E3C 8004B3DC 281F0000 */ cmplwi r31, 0 -/* 045E40 8004B3E0 41820024 */ beq lbl_8004B404 -/* 045E44 8004B3E4 80610084 */ lwz r3, 0x84(r1) -/* 045E48 8004B3E8 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 045E4C 8004B3EC 64044800 */ oris r4, r0, 0x4800 -/* 045E50 8004B3F0 38030001 */ addi r0, r3, 1 -/* 045E54 8004B3F4 90010084 */ stw r0, 0x84(r1) -/* 045E58 8004B3F8 5460103A */ slwi r0, r3, 2 -/* 045E5C 8004B3FC 7C9F012E */ stwx r4, r31, r0 -/* 045E60 8004B400 48000010 */ b lbl_8004B410 -lbl_8004B404: -/* 045E64 8004B404 80610084 */ lwz r3, 0x84(r1) -/* 045E68 8004B408 38030001 */ addi r0, r3, 1 -/* 045E6C 8004B40C 90010084 */ stw r0, 0x84(r1) -lbl_8004B410: -/* 045E70 8004B410 387E0000 */ addi r3, r30, 0 -/* 045E74 8004B414 38920000 */ addi r4, r18, 0 -/* 045E78 8004B418 38BB0000 */ addi r5, r27, 0 -/* 045E7C 8004B41C 38DF0000 */ addi r6, r31, 0 -/* 045E80 8004B420 38E10084 */ addi r7, r1, 0x84 -/* 045E84 8004B424 39000000 */ li r8, 0 -/* 045E88 8004B428 4BFF39DD */ bl cpuGetPPC -/* 045E8C 8004B42C 2C030000 */ cmpwi r3, 0 -/* 045E90 8004B430 4082000C */ bne lbl_8004B43C -/* 045E94 8004B434 38600000 */ li r3, 0 -/* 045E98 8004B438 4801CDEC */ b lbl_80068224 -lbl_8004B43C: -/* 045E9C 8004B43C 281F0000 */ cmplwi r31, 0 -/* 045EA0 8004B440 41820024 */ beq lbl_8004B464 -/* 045EA4 8004B444 80610084 */ lwz r3, 0x84(r1) -/* 045EA8 8004B448 5780103A */ slwi r0, r28, 2 -/* 045EAC 8004B44C 7C7C1850 */ subf r3, r28, r3 -/* 045EB0 8004B450 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 045EB4 8004B454 64634180 */ oris r3, r3, 0x4180 -/* 045EB8 8004B458 7C7F012E */ stwx r3, r31, r0 -/* 045EBC 8004B45C 3B9C0001 */ addi r28, r28, 1 -/* 045EC0 8004B460 48000008 */ b lbl_8004B468 -lbl_8004B464: -/* 045EC4 8004B464 3B9C0001 */ addi r28, r28, 1 -lbl_8004B468: -/* 045EC8 8004B468 80170000 */ lwz r0, 0(r23) -/* 045ECC 8004B46C 7C78B050 */ subf r3, r24, r22 -/* 045ED0 8004B470 80A10084 */ lwz r5, 0x84(r1) -/* 045ED4 8004B474 3B9C0003 */ addi r28, r28, 3 -/* 045ED8 8004B478 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 045EDC 8004B47C 54A5103A */ slwi r5, r5, 2 -/* 045EE0 8004B480 7C651A14 */ add r3, r5, r3 -/* 045EE4 8004B484 7C7F1A14 */ add r3, r31, r3 -/* 045EE8 8004B488 41820078 */ beq lbl_8004B500 -/* 045EEC 8004B48C 281F0000 */ cmplwi r31, 0 -/* 045EF0 8004B490 4182001C */ beq lbl_8004B4AC -/* 045EF4 8004B494 5460843E */ srwi r0, r3, 0x10 -/* 045EF8 8004B498 64043CA0 */ oris r4, r0, 0x3ca0 -/* 045EFC 8004B49C 5780103A */ slwi r0, r28, 2 -/* 045F00 8004B4A0 7C9F012E */ stwx r4, r31, r0 -/* 045F04 8004B4A4 3B9C0001 */ addi r28, r28, 1 -/* 045F08 8004B4A8 48000008 */ b lbl_8004B4B0 -lbl_8004B4AC: -/* 045F0C 8004B4AC 3B9C0001 */ addi r28, r28, 1 -lbl_8004B4B0: -/* 045F10 8004B4B0 281F0000 */ cmplwi r31, 0 -/* 045F14 8004B4B4 4182001C */ beq lbl_8004B4D0 -/* 045F18 8004B4B8 5460043E */ clrlwi r0, r3, 0x10 -/* 045F1C 8004B4BC 640360A5 */ oris r3, r0, 0x60a5 -/* 045F20 8004B4C0 5780103A */ slwi r0, r28, 2 -/* 045F24 8004B4C4 7C7F012E */ stwx r3, r31, r0 -/* 045F28 8004B4C8 3B9C0001 */ addi r28, r28, 1 -/* 045F2C 8004B4CC 48000008 */ b lbl_8004B4D4 -lbl_8004B4D0: -/* 045F30 8004B4D0 3B9C0001 */ addi r28, r28, 1 -lbl_8004B4D4: -/* 045F34 8004B4D4 281F0000 */ cmplwi r31, 0 -/* 045F38 8004B4D8 40820008 */ bne lbl_8004B4E0 -/* 045F3C 8004B4DC 4801CA58 */ b lbl_80067F34 -lbl_8004B4E0: -/* 045F40 8004B4E0 381E0138 */ addi r0, r30, 0x138 -/* 045F44 8004B4E4 7C7E0050 */ subf r3, r30, r0 -/* 045F48 8004B4E8 38030004 */ addi r0, r3, 4 -/* 045F4C 8004B4EC 5403043E */ clrlwi r3, r0, 0x10 -/* 045F50 8004B4F0 3C0390A3 */ addis r0, r3, 0x90a3 -/* 045F54 8004B4F4 5783103A */ slwi r3, r28, 2 -/* 045F58 8004B4F8 7C1F192E */ stwx r0, r31, r3 -/* 045F5C 8004B4FC 4801CA38 */ b lbl_80067F34 -lbl_8004B500: -/* 045F60 8004B500 281F0000 */ cmplwi r31, 0 -/* 045F64 8004B504 41820024 */ beq lbl_8004B528 -/* 045F68 8004B508 5464843E */ srwi r4, r3, 0x10 -/* 045F6C 8004B50C 64853C00 */ oris r5, r4, 0x3c00 -/* 045F70 8004B510 5404A814 */ slwi r4, r0, 0x15 -/* 045F74 8004B514 7CA52378 */ or r5, r5, r4 -/* 045F78 8004B518 5784103A */ slwi r4, r28, 2 -/* 045F7C 8004B51C 7CBF212E */ stwx r5, r31, r4 -/* 045F80 8004B520 3B9C0001 */ addi r28, r28, 1 -/* 045F84 8004B524 48000008 */ b lbl_8004B52C -lbl_8004B528: -/* 045F88 8004B528 3B9C0001 */ addi r28, r28, 1 -lbl_8004B52C: -/* 045F8C 8004B52C 281F0000 */ cmplwi r31, 0 -/* 045F90 8004B530 40820008 */ bne lbl_8004B538 -/* 045F94 8004B534 4801CA00 */ b lbl_80067F34 -lbl_8004B538: -/* 045F98 8004B538 5463043E */ clrlwi r3, r3, 0x10 -/* 045F9C 8004B53C 64646000 */ oris r4, r3, 0x6000 -/* 045FA0 8004B540 5403A814 */ slwi r3, r0, 0x15 -/* 045FA4 8004B544 5400801E */ slwi r0, r0, 0x10 -/* 045FA8 8004B548 7C831B78 */ or r3, r4, r3 -/* 045FAC 8004B54C 7C001B78 */ or r0, r0, r3 -/* 045FB0 8004B550 5783103A */ slwi r3, r28, 2 -/* 045FB4 8004B554 7C1F192E */ stwx r0, r31, r3 -/* 045FB8 8004B558 4801C9DC */ b lbl_80067F34 -.global lbl_8004B55C -lbl_8004B55C: -/* 045FBC 8004B55C 39E00000 */ li r15, 0 -/* 045FC0 8004B560 4801C9D4 */ b lbl_80067F34 -.global lbl_8004B564 -lbl_8004B564: -/* 045FC4 8004B564 80720000 */ lwz r3, 0(r18) -/* 045FC8 8004B568 801B0010 */ lwz r0, 0x10(r27) -/* 045FCC 8004B56C 54740006 */ rlwinm r20, r3, 0, 0, 3 -/* 045FD0 8004B570 5394113A */ rlwimi r20, r28, 2, 4, 0x1d -/* 045FD4 8004B574 7C00A000 */ cmpw r0, r20 -/* 045FD8 8004B578 418101A0 */ bgt lbl_8004B718 -/* 045FDC 8004B57C 801B0014 */ lwz r0, 0x14(r27) -/* 045FE0 8004B580 7C140000 */ cmpw r20, r0 -/* 045FE4 8004B584 40800194 */ bge lbl_8004B718 -/* 045FE8 8004B588 387E0000 */ addi r3, r30, 0 -/* 045FEC 8004B58C 38920000 */ addi r4, r18, 0 -/* 045FF0 8004B590 38BB0000 */ addi r5, r27, 0 -/* 045FF4 8004B594 38DF0000 */ addi r6, r31, 0 -/* 045FF8 8004B598 38E10084 */ addi r7, r1, 0x84 -/* 045FFC 8004B59C 39000001 */ li r8, 1 -/* 046000 8004B5A0 4BFF3865 */ bl cpuGetPPC -/* 046004 8004B5A4 2C030000 */ cmpwi r3, 0 -/* 046008 8004B5A8 4082000C */ bne lbl_8004B5B4 -/* 04600C 8004B5AC 38600000 */ li r3, 0 -/* 046010 8004B5B0 4801CC74 */ b lbl_80068224 -lbl_8004B5B4: -/* 046014 8004B5B4 80720000 */ lwz r3, 0(r18) -/* 046018 8004B5B8 7C14E800 */ cmpw r20, r29 -/* 04601C 8004B5BC 3803FFFC */ addi r0, r3, -4 -/* 046020 8004B5C0 90120000 */ stw r0, 0(r18) -/* 046024 8004B5C4 40820098 */ bne lbl_8004B65C -/* 046028 8004B5C8 281F0000 */ cmplwi r31, 0 -/* 04602C 8004B5CC 41820040 */ beq lbl_8004B60C -/* 046030 8004B5D0 80810084 */ lwz r4, 0x84(r1) -/* 046034 8004B5D4 57A5843E */ srwi r5, r29, 0x10 -/* 046038 8004B5D8 57A0043E */ clrlwi r0, r29, 0x10 -/* 04603C 8004B5DC 38640001 */ addi r3, r4, 1 -/* 046040 8004B5E0 90610084 */ stw r3, 0x84(r1) -/* 046044 8004B5E4 64A33CA0 */ oris r3, r5, 0x3ca0 -/* 046048 8004B5E8 5484103A */ slwi r4, r4, 2 -/* 04604C 8004B5EC 7C7F212E */ stwx r3, r31, r4 -/* 046050 8004B5F0 640460A5 */ oris r4, r0, 0x60a5 -/* 046054 8004B5F4 80610084 */ lwz r3, 0x84(r1) -/* 046058 8004B5F8 38030001 */ addi r0, r3, 1 -/* 04605C 8004B5FC 90010084 */ stw r0, 0x84(r1) -/* 046060 8004B600 5460103A */ slwi r0, r3, 2 -/* 046064 8004B604 7C9F012E */ stwx r4, r31, r0 -/* 046068 8004B608 48000010 */ b lbl_8004B618 -lbl_8004B60C: -/* 04606C 8004B60C 80610084 */ lwz r3, 0x84(r1) -/* 046070 8004B610 38030002 */ addi r0, r3, 2 -/* 046074 8004B614 90010084 */ stw r0, 0x84(r1) -lbl_8004B618: -/* 046078 8004B618 281F0000 */ cmplwi r31, 0 -/* 04607C 8004B61C 41820034 */ beq lbl_8004B650 -/* 046080 8004B620 80610084 */ lwz r3, 0x84(r1) -/* 046084 8004B624 801E0B4C */ lwz r0, 0xb4c(r30) -/* 046088 8004B628 5465103A */ slwi r5, r3, 2 -/* 04608C 8004B62C 7C9F2A14 */ add r4, r31, r5 -/* 046090 8004B630 7C040050 */ subf r0, r4, r0 -/* 046094 8004B634 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 046098 8004B638 38630001 */ addi r3, r3, 1 -/* 04609C 8004B63C 64004800 */ oris r0, r0, 0x4800 -/* 0460A0 8004B640 90610084 */ stw r3, 0x84(r1) -/* 0460A4 8004B644 60000001 */ ori r0, r0, 1 -/* 0460A8 8004B648 7C1F292E */ stwx r0, r31, r5 -/* 0460AC 8004B64C 48000010 */ b lbl_8004B65C -lbl_8004B650: -/* 0460B0 8004B650 80610084 */ lwz r3, 0x84(r1) -/* 0460B4 8004B654 38030001 */ addi r0, r3, 1 -/* 0460B8 8004B658 90010084 */ stw r0, 0x84(r1) -lbl_8004B65C: -/* 0460BC 8004B65C 281F0000 */ cmplwi r31, 0 -/* 0460C0 8004B660 40820010 */ bne lbl_8004B670 -/* 0460C4 8004B664 3B200000 */ li r25, 0 -/* 0460C8 8004B668 38000001 */ li r0, 1 -/* 0460CC 8004B66C 48000050 */ b lbl_8004B6BC -lbl_8004B670: -/* 0460D0 8004B670 801B0008 */ lwz r0, 8(r27) -/* 0460D4 8004B674 38600000 */ li r3, 0 -/* 0460D8 8004B678 38830000 */ addi r4, r3, 0 -/* 0460DC 8004B67C 2C000000 */ cmpwi r0, 0 -/* 0460E0 8004B680 7C0903A6 */ mtctr r0 -/* 0460E4 8004B684 40810034 */ ble lbl_8004B6B8 -lbl_8004B688: -/* 0460E8 8004B688 80BB000C */ lwz r5, 0xc(r27) -/* 0460EC 8004B68C 38040004 */ addi r0, r4, 4 -/* 0460F0 8004B690 7C05002E */ lwzx r0, r5, r0 -/* 0460F4 8004B694 7C140000 */ cmpw r20, r0 -/* 0460F8 8004B698 40820014 */ bne lbl_8004B6AC -/* 0460FC 8004B69C 54601838 */ slwi r0, r3, 3 -/* 046100 8004B6A0 7F25002E */ lwzx r25, r5, r0 -/* 046104 8004B6A4 38000001 */ li r0, 1 -/* 046108 8004B6A8 48000014 */ b lbl_8004B6BC -lbl_8004B6AC: -/* 04610C 8004B6AC 38840008 */ addi r4, r4, 8 -/* 046110 8004B6B0 38630001 */ addi r3, r3, 1 -/* 046114 8004B6B4 4200FFD4 */ bdnz lbl_8004B688 -lbl_8004B6B8: -/* 046118 8004B6B8 38000000 */ li r0, 0 -lbl_8004B6BC: -/* 04611C 8004B6BC 2C000000 */ cmpwi r0, 0 -/* 046120 8004B6C0 4082000C */ bne lbl_8004B6CC -/* 046124 8004B6C4 38600000 */ li r3, 0 -/* 046128 8004B6C8 4801CB5C */ b lbl_80068224 -lbl_8004B6CC: -/* 04612C 8004B6CC 281F0000 */ cmplwi r31, 0 -/* 046130 8004B6D0 41820010 */ beq lbl_8004B6E0 -/* 046134 8004B6D4 80010084 */ lwz r0, 0x84(r1) -/* 046138 8004B6D8 7C00C850 */ subf r0, r0, r25 -/* 04613C 8004B6DC 5415103A */ slwi r21, r0, 2 -lbl_8004B6E0: -/* 046140 8004B6E0 281F0000 */ cmplwi r31, 0 -/* 046144 8004B6E4 41820024 */ beq lbl_8004B708 -/* 046148 8004B6E8 80610084 */ lwz r3, 0x84(r1) -/* 04614C 8004B6EC 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 046150 8004B6F0 64044800 */ oris r4, r0, 0x4800 -/* 046154 8004B6F4 38030001 */ addi r0, r3, 1 -/* 046158 8004B6F8 90010084 */ stw r0, 0x84(r1) -/* 04615C 8004B6FC 5460103A */ slwi r0, r3, 2 -/* 046160 8004B700 7C9F012E */ stwx r4, r31, r0 -/* 046164 8004B704 4801C830 */ b lbl_80067F34 -lbl_8004B708: -/* 046168 8004B708 80610084 */ lwz r3, 0x84(r1) -/* 04616C 8004B70C 38030001 */ addi r0, r3, 1 -/* 046170 8004B710 90010084 */ stw r0, 0x84(r1) -/* 046174 8004B714 4801C820 */ b lbl_80067F34 -lbl_8004B718: -/* 046178 8004B718 28180000 */ cmplwi r24, 0 -/* 04617C 8004B71C 4182003C */ beq lbl_8004B758 -/* 046180 8004B720 387E0000 */ addi r3, r30, 0 -/* 046184 8004B724 38920000 */ addi r4, r18, 0 -/* 046188 8004B728 38BB0000 */ addi r5, r27, 0 -/* 04618C 8004B72C 38DF0000 */ addi r6, r31, 0 -/* 046190 8004B730 38E10084 */ addi r7, r1, 0x84 -/* 046194 8004B734 39000001 */ li r8, 1 -/* 046198 8004B738 4BFF36CD */ bl cpuGetPPC -/* 04619C 8004B73C 2C030000 */ cmpwi r3, 0 -/* 0461A0 8004B740 4082000C */ bne lbl_8004B74C -/* 0461A4 8004B744 38600000 */ li r3, 0 -/* 0461A8 8004B748 4801CADC */ b lbl_80068224 -lbl_8004B74C: -/* 0461AC 8004B74C 80720000 */ lwz r3, 0(r18) -/* 0461B0 8004B750 3803FFFC */ addi r0, r3, -4 -/* 0461B4 8004B754 90120000 */ stw r0, 0(r18) -lbl_8004B758: -/* 0461B8 8004B758 281F0000 */ cmplwi r31, 0 -/* 0461BC 8004B75C 41820024 */ beq lbl_8004B780 -/* 0461C0 8004B760 80610084 */ lwz r3, 0x84(r1) -/* 0461C4 8004B764 5680843E */ srwi r0, r20, 0x10 -/* 0461C8 8004B768 64043CA0 */ oris r4, r0, 0x3ca0 -/* 0461CC 8004B76C 38030001 */ addi r0, r3, 1 -/* 0461D0 8004B770 90010084 */ stw r0, 0x84(r1) -/* 0461D4 8004B774 5460103A */ slwi r0, r3, 2 -/* 0461D8 8004B778 7C9F012E */ stwx r4, r31, r0 -/* 0461DC 8004B77C 48000010 */ b lbl_8004B78C -lbl_8004B780: -/* 0461E0 8004B780 80610084 */ lwz r3, 0x84(r1) -/* 0461E4 8004B784 38030001 */ addi r0, r3, 1 -/* 0461E8 8004B788 90010084 */ stw r0, 0x84(r1) -lbl_8004B78C: -/* 0461EC 8004B78C 281F0000 */ cmplwi r31, 0 -/* 0461F0 8004B790 41820024 */ beq lbl_8004B7B4 -/* 0461F4 8004B794 80610084 */ lwz r3, 0x84(r1) -/* 0461F8 8004B798 5680043E */ clrlwi r0, r20, 0x10 -/* 0461FC 8004B79C 640460A5 */ oris r4, r0, 0x60a5 -/* 046200 8004B7A0 38030001 */ addi r0, r3, 1 -/* 046204 8004B7A4 90010084 */ stw r0, 0x84(r1) -/* 046208 8004B7A8 5460103A */ slwi r0, r3, 2 -/* 04620C 8004B7AC 7C9F012E */ stwx r4, r31, r0 -/* 046210 8004B7B0 48000010 */ b lbl_8004B7C0 -lbl_8004B7B4: -/* 046214 8004B7B4 80610084 */ lwz r3, 0x84(r1) -/* 046218 8004B7B8 38030001 */ addi r0, r3, 1 -/* 04621C 8004B7BC 90010084 */ stw r0, 0x84(r1) -lbl_8004B7C0: -/* 046220 8004B7C0 281F0000 */ cmplwi r31, 0 -/* 046224 8004B7C4 41820034 */ beq lbl_8004B7F8 -/* 046228 8004B7C8 80610084 */ lwz r3, 0x84(r1) -/* 04622C 8004B7CC 801E0B44 */ lwz r0, 0xb44(r30) -/* 046230 8004B7D0 5465103A */ slwi r5, r3, 2 -/* 046234 8004B7D4 7C9F2A14 */ add r4, r31, r5 -/* 046238 8004B7D8 7C040050 */ subf r0, r4, r0 -/* 04623C 8004B7DC 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 046240 8004B7E0 38630001 */ addi r3, r3, 1 -/* 046244 8004B7E4 64004800 */ oris r0, r0, 0x4800 -/* 046248 8004B7E8 90610084 */ stw r3, 0x84(r1) -/* 04624C 8004B7EC 60000001 */ ori r0, r0, 1 -/* 046250 8004B7F0 7C1F292E */ stwx r0, r31, r5 -/* 046254 8004B7F4 48000010 */ b lbl_8004B804 -lbl_8004B7F8: -/* 046258 8004B7F8 80610084 */ lwz r3, 0x84(r1) -/* 04625C 8004B7FC 38030001 */ addi r0, r3, 1 -/* 046260 8004B800 90010084 */ stw r0, 0x84(r1) -lbl_8004B804: -/* 046264 8004B804 3A80FFFF */ li r20, -1 -/* 046268 8004B808 4801C72C */ b lbl_80067F34 -.global lbl_8004B80C -lbl_8004B80C: -/* 04626C 8004B80C 28180000 */ cmplwi r24, 0 -/* 046270 8004B810 5797113A */ rlwinm r23, r28, 2, 4, 0x1d -/* 046274 8004B814 4182003C */ beq lbl_8004B850 -/* 046278 8004B818 387E0000 */ addi r3, r30, 0 -/* 04627C 8004B81C 38920000 */ addi r4, r18, 0 -/* 046280 8004B820 38BB0000 */ addi r5, r27, 0 -/* 046284 8004B824 38DF0000 */ addi r6, r31, 0 -/* 046288 8004B828 38E10084 */ addi r7, r1, 0x84 -/* 04628C 8004B82C 39000001 */ li r8, 1 -/* 046290 8004B830 4BFF35D5 */ bl cpuGetPPC -/* 046294 8004B834 2C030000 */ cmpwi r3, 0 -/* 046298 8004B838 4082000C */ bne lbl_8004B844 -/* 04629C 8004B83C 38600000 */ li r3, 0 -/* 0462A0 8004B840 4801C9E4 */ b lbl_80068224 -lbl_8004B844: -/* 0462A4 8004B844 80720000 */ lwz r3, 0(r18) -/* 0462A8 8004B848 3803FFFC */ addi r0, r3, -4 -/* 0462AC 8004B84C 90120000 */ stw r0, 0(r18) -lbl_8004B850: -/* 0462B0 8004B850 281F0000 */ cmplwi r31, 0 -/* 0462B4 8004B854 41820028 */ beq lbl_8004B87C -/* 0462B8 8004B858 80610084 */ lwz r3, 0x84(r1) -/* 0462BC 8004B85C 381E0034 */ addi r0, r30, 0x34 -/* 0462C0 8004B860 7C9E0050 */ subf r4, r30, r0 -/* 0462C4 8004B864 38030001 */ addi r0, r3, 1 -/* 0462C8 8004B868 90010084 */ stw r0, 0x84(r1) -/* 0462CC 8004B86C 3C0480A3 */ addis r0, r4, 0x80a3 -/* 0462D0 8004B870 5463103A */ slwi r3, r3, 2 -/* 0462D4 8004B874 7C1F192E */ stwx r0, r31, r3 -/* 0462D8 8004B878 48000010 */ b lbl_8004B888 -lbl_8004B87C: -/* 0462DC 8004B87C 80610084 */ lwz r3, 0x84(r1) -/* 0462E0 8004B880 38030001 */ addi r0, r3, 1 -/* 0462E4 8004B884 90010084 */ stw r0, 0x84(r1) -lbl_8004B888: -/* 0462E8 8004B888 281F0000 */ cmplwi r31, 0 -/* 0462EC 8004B88C 41820024 */ beq lbl_8004B8B0 -/* 0462F0 8004B890 80610084 */ lwz r3, 0x84(r1) -/* 0462F4 8004B894 3C803CE1 */ lis r4, 0x3ce1 -/* 0462F8 8004B898 38848000 */ addi r4, r4, -32768 -/* 0462FC 8004B89C 38030001 */ addi r0, r3, 1 -/* 046300 8004B8A0 90010084 */ stw r0, 0x84(r1) -/* 046304 8004B8A4 5460103A */ slwi r0, r3, 2 -/* 046308 8004B8A8 7C9F012E */ stwx r4, r31, r0 -/* 04630C 8004B8AC 48000010 */ b lbl_8004B8BC -lbl_8004B8B0: -/* 046310 8004B8B0 80610084 */ lwz r3, 0x84(r1) -/* 046314 8004B8B4 38030001 */ addi r0, r3, 1 -/* 046318 8004B8B8 90010084 */ stw r0, 0x84(r1) -lbl_8004B8BC: -/* 04631C 8004B8BC 281F0000 */ cmplwi r31, 0 -/* 046320 8004B8C0 41820028 */ beq lbl_8004B8E8 -/* 046324 8004B8C4 80610084 */ lwz r3, 0x84(r1) -/* 046328 8004B8C8 381B0028 */ addi r0, r27, 0x28 -/* 04632C 8004B8CC 7C9B0050 */ subf r4, r27, r0 -/* 046330 8004B8D0 38030001 */ addi r0, r3, 1 -/* 046334 8004B8D4 90010084 */ stw r0, 0x84(r1) -/* 046338 8004B8D8 3C0480C5 */ addis r0, r4, 0x80c5 -/* 04633C 8004B8DC 5463103A */ slwi r3, r3, 2 -/* 046340 8004B8E0 7C1F192E */ stwx r0, r31, r3 -/* 046344 8004B8E4 48000010 */ b lbl_8004B8F4 -lbl_8004B8E8: -/* 046348 8004B8E8 80610084 */ lwz r3, 0x84(r1) -/* 04634C 8004B8EC 38030001 */ addi r0, r3, 1 -/* 046350 8004B8F0 90010084 */ stw r0, 0x84(r1) -lbl_8004B8F4: -/* 046354 8004B8F4 281F0000 */ cmplwi r31, 0 -/* 046358 8004B8F8 41820024 */ beq lbl_8004B91C -/* 04635C 8004B8FC 80610084 */ lwz r3, 0x84(r1) -/* 046360 8004B900 3C807CC6 */ lis r4, 0x7cc6 -/* 046364 8004B904 38843B78 */ addi r4, r4, 0x3b78 -/* 046368 8004B908 38030001 */ addi r0, r3, 1 -/* 04636C 8004B90C 90010084 */ stw r0, 0x84(r1) -/* 046370 8004B910 5460103A */ slwi r0, r3, 2 -/* 046374 8004B914 7C9F012E */ stwx r4, r31, r0 -/* 046378 8004B918 48000010 */ b lbl_8004B928 -lbl_8004B91C: -/* 04637C 8004B91C 80610084 */ lwz r3, 0x84(r1) -/* 046380 8004B920 38030001 */ addi r0, r3, 1 -/* 046384 8004B924 90010084 */ stw r0, 0x84(r1) -lbl_8004B928: -/* 046388 8004B928 281F0000 */ cmplwi r31, 0 -/* 04638C 8004B92C 41820028 */ beq lbl_8004B954 -/* 046390 8004B930 80610084 */ lwz r3, 0x84(r1) -/* 046394 8004B934 381D0008 */ addi r0, r29, 8 -/* 046398 8004B938 5404843E */ srwi r4, r0, 0x10 -/* 04639C 8004B93C 38030001 */ addi r0, r3, 1 -/* 0463A0 8004B940 90010084 */ stw r0, 0x84(r1) -/* 0463A4 8004B944 64803CE0 */ oris r0, r4, 0x3ce0 -/* 0463A8 8004B948 5463103A */ slwi r3, r3, 2 -/* 0463AC 8004B94C 7C1F192E */ stwx r0, r31, r3 -/* 0463B0 8004B950 48000010 */ b lbl_8004B960 -lbl_8004B954: -/* 0463B4 8004B954 80610084 */ lwz r3, 0x84(r1) -/* 0463B8 8004B958 38030001 */ addi r0, r3, 1 -/* 0463BC 8004B95C 90010084 */ stw r0, 0x84(r1) -lbl_8004B960: -/* 0463C0 8004B960 281F0000 */ cmplwi r31, 0 -/* 0463C4 8004B964 41820028 */ beq lbl_8004B98C -/* 0463C8 8004B968 80610084 */ lwz r3, 0x84(r1) -/* 0463CC 8004B96C 381B0028 */ addi r0, r27, 0x28 -/* 0463D0 8004B970 7C9B0050 */ subf r4, r27, r0 -/* 0463D4 8004B974 38030001 */ addi r0, r3, 1 -/* 0463D8 8004B978 90010084 */ stw r0, 0x84(r1) -/* 0463DC 8004B97C 3C0490C5 */ addis r0, r4, 0x90c5 -/* 0463E0 8004B980 5463103A */ slwi r3, r3, 2 -/* 0463E4 8004B984 7C1F192E */ stwx r0, r31, r3 -/* 0463E8 8004B988 48000010 */ b lbl_8004B998 -lbl_8004B98C: -/* 0463EC 8004B98C 80610084 */ lwz r3, 0x84(r1) -/* 0463F0 8004B990 38030001 */ addi r0, r3, 1 -/* 0463F4 8004B994 90010084 */ stw r0, 0x84(r1) -lbl_8004B998: -/* 0463F8 8004B998 281F0000 */ cmplwi r31, 0 -/* 0463FC 8004B99C 41820028 */ beq lbl_8004B9C4 -/* 046400 8004B9A0 80610084 */ lwz r3, 0x84(r1) -/* 046404 8004B9A4 381D0008 */ addi r0, r29, 8 -/* 046408 8004B9A8 5404043E */ clrlwi r4, r0, 0x10 -/* 04640C 8004B9AC 38030001 */ addi r0, r3, 1 -/* 046410 8004B9B0 90010084 */ stw r0, 0x84(r1) -/* 046414 8004B9B4 648060E7 */ oris r0, r4, 0x60e7 -/* 046418 8004B9B8 5463103A */ slwi r3, r3, 2 -/* 04641C 8004B9BC 7C1F192E */ stwx r0, r31, r3 -/* 046420 8004B9C0 48000010 */ b lbl_8004B9D0 -lbl_8004B9C4: -/* 046424 8004B9C4 80610084 */ lwz r3, 0x84(r1) -/* 046428 8004B9C8 38030001 */ addi r0, r3, 1 -/* 04642C 8004B9CC 90010084 */ stw r0, 0x84(r1) -lbl_8004B9D0: -/* 046430 8004B9D0 281F0000 */ cmplwi r31, 0 -/* 046434 8004B9D4 41820028 */ beq lbl_8004B9FC -/* 046438 8004B9D8 80610084 */ lwz r3, 0x84(r1) -/* 04643C 8004B9DC 381E0038 */ addi r0, r30, 0x38 -/* 046440 8004B9E0 7C9E0050 */ subf r4, r30, r0 -/* 046444 8004B9E4 38030001 */ addi r0, r3, 1 -/* 046448 8004B9E8 90010084 */ stw r0, 0x84(r1) -/* 04644C 8004B9EC 3C0490E3 */ addis r0, r4, 0x90e3 -/* 046450 8004B9F0 5463103A */ slwi r3, r3, 2 -/* 046454 8004B9F4 7C1F192E */ stwx r0, r31, r3 -/* 046458 8004B9F8 48000010 */ b lbl_8004BA08 -lbl_8004B9FC: -/* 04645C 8004B9FC 80610084 */ lwz r3, 0x84(r1) -/* 046460 8004BA00 38030001 */ addi r0, r3, 1 -/* 046464 8004BA04 90010084 */ stw r0, 0x84(r1) -lbl_8004BA08: -/* 046468 8004BA08 801A0894 */ lwz r0, 0x894(r26) -/* 04646C 8004BA0C 80720000 */ lwz r3, 0(r18) -/* 046470 8004BA10 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 046474 8004BA14 54600006 */ rlwinm r0, r3, 0, 0, 3 -/* 046478 8004BA18 7C06BB78 */ or r6, r0, r23 -/* 04647C 8004BA1C 418200B0 */ beq lbl_8004BACC -/* 046480 8004BA20 281F0000 */ cmplwi r31, 0 -/* 046484 8004BA24 41820024 */ beq lbl_8004BA48 -/* 046488 8004BA28 80610084 */ lwz r3, 0x84(r1) -/* 04648C 8004BA2C 54C0843E */ srwi r0, r6, 0x10 -/* 046490 8004BA30 64043CA0 */ oris r4, r0, 0x3ca0 -/* 046494 8004BA34 38030001 */ addi r0, r3, 1 -/* 046498 8004BA38 90010084 */ stw r0, 0x84(r1) -/* 04649C 8004BA3C 5460103A */ slwi r0, r3, 2 -/* 0464A0 8004BA40 7C9F012E */ stwx r4, r31, r0 -/* 0464A4 8004BA44 48000010 */ b lbl_8004BA54 -lbl_8004BA48: -/* 0464A8 8004BA48 80610084 */ lwz r3, 0x84(r1) -/* 0464AC 8004BA4C 38030001 */ addi r0, r3, 1 -/* 0464B0 8004BA50 90010084 */ stw r0, 0x84(r1) -lbl_8004BA54: -/* 0464B4 8004BA54 281F0000 */ cmplwi r31, 0 -/* 0464B8 8004BA58 41820024 */ beq lbl_8004BA7C -/* 0464BC 8004BA5C 80610084 */ lwz r3, 0x84(r1) -/* 0464C0 8004BA60 54C0043E */ clrlwi r0, r6, 0x10 -/* 0464C4 8004BA64 640460A5 */ oris r4, r0, 0x60a5 -/* 0464C8 8004BA68 38030001 */ addi r0, r3, 1 -/* 0464CC 8004BA6C 90010084 */ stw r0, 0x84(r1) -/* 0464D0 8004BA70 5460103A */ slwi r0, r3, 2 -/* 0464D4 8004BA74 7C9F012E */ stwx r4, r31, r0 -/* 0464D8 8004BA78 48000010 */ b lbl_8004BA88 -lbl_8004BA7C: -/* 0464DC 8004BA7C 80610084 */ lwz r3, 0x84(r1) -/* 0464E0 8004BA80 38030001 */ addi r0, r3, 1 -/* 0464E4 8004BA84 90010084 */ stw r0, 0x84(r1) -lbl_8004BA88: -/* 0464E8 8004BA88 281F0000 */ cmplwi r31, 0 -/* 0464EC 8004BA8C 41820030 */ beq lbl_8004BABC -/* 0464F0 8004BA90 80610084 */ lwz r3, 0x84(r1) -/* 0464F4 8004BA94 381E0138 */ addi r0, r30, 0x138 -/* 0464F8 8004BA98 7C9E0050 */ subf r4, r30, r0 -/* 0464FC 8004BA9C 38840004 */ addi r4, r4, 4 -/* 046500 8004BAA0 38030001 */ addi r0, r3, 1 -/* 046504 8004BAA4 5484043E */ clrlwi r4, r4, 0x10 -/* 046508 8004BAA8 90010084 */ stw r0, 0x84(r1) -/* 04650C 8004BAAC 3C0490A3 */ addis r0, r4, 0x90a3 -/* 046510 8004BAB0 5463103A */ slwi r3, r3, 2 -/* 046514 8004BAB4 7C1F192E */ stwx r0, r31, r3 -/* 046518 8004BAB8 4800007C */ b lbl_8004BB34 -lbl_8004BABC: -/* 04651C 8004BABC 80610084 */ lwz r3, 0x84(r1) -/* 046520 8004BAC0 38030001 */ addi r0, r3, 1 -/* 046524 8004BAC4 90010084 */ stw r0, 0x84(r1) -/* 046528 8004BAC8 4800006C */ b lbl_8004BB34 -lbl_8004BACC: -/* 04652C 8004BACC 281F0000 */ cmplwi r31, 0 -/* 046530 8004BAD0 41820024 */ beq lbl_8004BAF4 -/* 046534 8004BAD4 80610084 */ lwz r3, 0x84(r1) -/* 046538 8004BAD8 54C0843E */ srwi r0, r6, 0x10 -/* 04653C 8004BADC 64043CA0 */ oris r4, r0, 0x3ca0 -/* 046540 8004BAE0 38030001 */ addi r0, r3, 1 -/* 046544 8004BAE4 90010084 */ stw r0, 0x84(r1) -/* 046548 8004BAE8 5460103A */ slwi r0, r3, 2 -/* 04654C 8004BAEC 7C9F012E */ stwx r4, r31, r0 -/* 046550 8004BAF0 48000010 */ b lbl_8004BB00 -lbl_8004BAF4: -/* 046554 8004BAF4 80610084 */ lwz r3, 0x84(r1) -/* 046558 8004BAF8 38030001 */ addi r0, r3, 1 -/* 04655C 8004BAFC 90010084 */ stw r0, 0x84(r1) -lbl_8004BB00: -/* 046560 8004BB00 281F0000 */ cmplwi r31, 0 -/* 046564 8004BB04 41820024 */ beq lbl_8004BB28 -/* 046568 8004BB08 80610084 */ lwz r3, 0x84(r1) -/* 04656C 8004BB0C 54C0043E */ clrlwi r0, r6, 0x10 -/* 046570 8004BB10 640460A5 */ oris r4, r0, 0x60a5 -/* 046574 8004BB14 38030001 */ addi r0, r3, 1 -/* 046578 8004BB18 90010084 */ stw r0, 0x84(r1) -/* 04657C 8004BB1C 5460103A */ slwi r0, r3, 2 -/* 046580 8004BB20 7C9F012E */ stwx r4, r31, r0 -/* 046584 8004BB24 48000010 */ b lbl_8004BB34 -lbl_8004BB28: -/* 046588 8004BB28 80610084 */ lwz r3, 0x84(r1) -/* 04658C 8004BB2C 38030001 */ addi r0, r3, 1 -/* 046590 8004BB30 90010084 */ stw r0, 0x84(r1) -lbl_8004BB34: -/* 046594 8004BB34 281F0000 */ cmplwi r31, 0 -/* 046598 8004BB38 41820034 */ beq lbl_8004BB6C -/* 04659C 8004BB3C 80A10084 */ lwz r5, 0x84(r1) -/* 0465A0 8004BB40 801E0B48 */ lwz r0, 0xb48(r30) -/* 0465A4 8004BB44 54A4103A */ slwi r4, r5, 2 -/* 0465A8 8004BB48 7C7F2214 */ add r3, r31, r4 -/* 0465AC 8004BB4C 7C030050 */ subf r0, r3, r0 -/* 0465B0 8004BB50 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 0465B4 8004BB54 38650001 */ addi r3, r5, 1 -/* 0465B8 8004BB58 64004800 */ oris r0, r0, 0x4800 -/* 0465BC 8004BB5C 90610084 */ stw r3, 0x84(r1) -/* 0465C0 8004BB60 60000001 */ ori r0, r0, 1 -/* 0465C4 8004BB64 7C1F212E */ stwx r0, r31, r4 -/* 0465C8 8004BB68 48000010 */ b lbl_8004BB78 -lbl_8004BB6C: -/* 0465CC 8004BB6C 80610084 */ lwz r3, 0x84(r1) -/* 0465D0 8004BB70 38030001 */ addi r0, r3, 1 -/* 0465D4 8004BB74 90010084 */ stw r0, 0x84(r1) -lbl_8004BB78: -/* 0465D8 8004BB78 801B0020 */ lwz r0, 0x20(r27) -/* 0465DC 8004BB7C 2C000016 */ cmpwi r0, 0x16 -/* 0465E0 8004BB80 40820014 */ bne lbl_8004BB94 -/* 0465E4 8004BB84 801B001C */ lwz r0, 0x1c(r27) -/* 0465E8 8004BB88 807B0018 */ lwz r3, 0x18(r27) -/* 0465EC 8004BB8C 54001838 */ slwi r0, r0, 3 -/* 0465F0 8004BB90 7CC3012E */ stwx r6, r3, r0 -lbl_8004BB94: -/* 0465F4 8004BB94 801B0020 */ lwz r0, 0x20(r27) -/* 0465F8 8004BB98 2C000021 */ cmpwi r0, 0x21 -/* 0465FC 8004BB9C 41820010 */ beq lbl_8004BBAC -/* 046600 8004BBA0 807B001C */ lwz r3, 0x1c(r27) -/* 046604 8004BBA4 38030001 */ addi r0, r3, 1 -/* 046608 8004BBA8 901B001C */ stw r0, 0x1c(r27) -lbl_8004BBAC: -/* 04660C 8004BBAC 281F0000 */ cmplwi r31, 0 -/* 046610 8004BBB0 41820108 */ beq lbl_8004BCB8 -/* 046614 8004BBB4 80610084 */ lwz r3, 0x84(r1) -/* 046618 8004BBB8 5764843E */ srwi r4, r27, 0x10 -/* 04661C 8004BBBC 5765043E */ clrlwi r5, r27, 0x10 -/* 046620 8004BBC0 38030001 */ addi r0, r3, 1 -/* 046624 8004BBC4 90010084 */ stw r0, 0x84(r1) -/* 046628 8004BBC8 381E0034 */ addi r0, r30, 0x34 -/* 04662C 8004BBCC 64843CA0 */ oris r4, r4, 0x3ca0 -/* 046630 8004BBD0 5463103A */ slwi r3, r3, 2 -/* 046634 8004BBD4 7C9F192E */ stwx r4, r31, r3 -/* 046638 8004BBD8 7C1E0050 */ subf r0, r30, r0 -/* 04663C 8004BBDC 5407043E */ clrlwi r7, r0, 0x10 -/* 046640 8004BBE0 80810084 */ lwz r4, 0x84(r1) -/* 046644 8004BBE4 3CC03CE1 */ lis r6, 0x3ce1 -/* 046648 8004BBE8 381B0028 */ addi r0, r27, 0x28 -/* 04664C 8004BBEC 38640001 */ addi r3, r4, 1 -/* 046650 8004BBF0 90610084 */ stw r3, 0x84(r1) -/* 046654 8004BBF4 64A360A5 */ oris r3, r5, 0x60a5 -/* 046658 8004BBF8 5484103A */ slwi r4, r4, 2 -/* 04665C 8004BBFC 7C7F212E */ stwx r3, r31, r4 -/* 046660 8004BC00 7C7B0050 */ subf r3, r27, r0 -/* 046664 8004BC04 3CA07CC6 */ lis r5, 0x7cc6 -/* 046668 8004BC08 80810084 */ lwz r4, 0x84(r1) -/* 04666C 8004BC0C 3D204182 */ lis r9, 0x4182 -/* 046670 8004BC10 3C0790A3 */ addis r0, r7, 0x90a3 -/* 046674 8004BC14 38E40001 */ addi r7, r4, 1 -/* 046678 8004BC18 90E10084 */ stw r7, 0x84(r1) -/* 04667C 8004BC1C 5484103A */ slwi r4, r4, 2 -/* 046680 8004BC20 38E68000 */ addi r7, r6, -32768 -/* 046684 8004BC24 7C1F212E */ stwx r0, r31, r4 -/* 046688 8004BC28 3C8380C5 */ addis r4, r3, 0x80c5 -/* 04668C 8004BC2C 38053878 */ addi r0, r5, 0x3878 -/* 046690 8004BC30 80C10084 */ lwz r6, 0x84(r1) -/* 046694 8004BC34 3D002C06 */ lis r8, 0x2c06 -/* 046698 8004BC38 39290008 */ addi r9, r9, 8 -/* 04669C 8004BC3C 38A60001 */ addi r5, r6, 1 -/* 0466A0 8004BC40 90A10084 */ stw r5, 0x84(r1) -/* 0466A4 8004BC44 54C5103A */ slwi r5, r6, 2 -/* 0466A8 8004BC48 3C639085 */ addis r3, r3, 0x9085 -/* 0466AC 8004BC4C 7CFF292E */ stwx r7, r31, r5 -/* 0466B0 8004BC50 80A10084 */ lwz r5, 0x84(r1) -/* 0466B4 8004BC54 38C50001 */ addi r6, r5, 1 -/* 0466B8 8004BC58 90C10084 */ stw r6, 0x84(r1) -/* 0466BC 8004BC5C 54A5103A */ slwi r5, r5, 2 -/* 0466C0 8004BC60 7C9F292E */ stwx r4, r31, r5 -/* 0466C4 8004BC64 80810084 */ lwz r4, 0x84(r1) -/* 0466C8 8004BC68 38A40001 */ addi r5, r4, 1 -/* 0466CC 8004BC6C 90A10084 */ stw r5, 0x84(r1) -/* 0466D0 8004BC70 5484103A */ slwi r4, r4, 2 -/* 0466D4 8004BC74 7C1F212E */ stwx r0, r31, r4 -/* 0466D8 8004BC78 80810084 */ lwz r4, 0x84(r1) -/* 0466DC 8004BC7C 38040001 */ addi r0, r4, 1 -/* 0466E0 8004BC80 90010084 */ stw r0, 0x84(r1) -/* 0466E4 8004BC84 5480103A */ slwi r0, r4, 2 -/* 0466E8 8004BC88 7D1F012E */ stwx r8, r31, r0 -/* 0466EC 8004BC8C 80810084 */ lwz r4, 0x84(r1) -/* 0466F0 8004BC90 38040001 */ addi r0, r4, 1 -/* 0466F4 8004BC94 90010084 */ stw r0, 0x84(r1) -/* 0466F8 8004BC98 5480103A */ slwi r0, r4, 2 -/* 0466FC 8004BC9C 7D3F012E */ stwx r9, r31, r0 -/* 046700 8004BCA0 80810084 */ lwz r4, 0x84(r1) -/* 046704 8004BCA4 38040001 */ addi r0, r4, 1 -/* 046708 8004BCA8 90010084 */ stw r0, 0x84(r1) -/* 04670C 8004BCAC 5480103A */ slwi r0, r4, 2 -/* 046710 8004BCB0 7C7F012E */ stwx r3, r31, r0 -/* 046714 8004BCB4 48000010 */ b lbl_8004BCC4 -lbl_8004BCB8: -/* 046718 8004BCB8 80610084 */ lwz r3, 0x84(r1) -/* 04671C 8004BCBC 38030009 */ addi r0, r3, 9 -/* 046720 8004BCC0 90010084 */ stw r0, 0x84(r1) -lbl_8004BCC4: -/* 046724 8004BCC4 82E10084 */ lwz r23, 0x84(r1) -/* 046728 8004BCC8 387E0000 */ addi r3, r30, 0 -/* 04672C 8004BCCC 38920000 */ addi r4, r18, 0 -/* 046730 8004BCD0 38170001 */ addi r0, r23, 1 -/* 046734 8004BCD4 90010084 */ stw r0, 0x84(r1) -/* 046738 8004BCD8 38BB0000 */ addi r5, r27, 0 -/* 04673C 8004BCDC 38DF0000 */ addi r6, r31, 0 -/* 046740 8004BCE0 38E10084 */ addi r7, r1, 0x84 -/* 046744 8004BCE4 39000000 */ li r8, 0 -/* 046748 8004BCE8 4BFF311D */ bl cpuGetPPC -/* 04674C 8004BCEC 2C030000 */ cmpwi r3, 0 -/* 046750 8004BCF0 4082000C */ bne lbl_8004BCFC -/* 046754 8004BCF4 38600000 */ li r3, 0 -/* 046758 8004BCF8 4801C52C */ b lbl_80068224 -lbl_8004BCFC: -/* 04675C 8004BCFC 281F0000 */ cmplwi r31, 0 -/* 046760 8004BD00 41820010 */ beq lbl_8004BD10 -/* 046764 8004BD04 80010084 */ lwz r0, 0x84(r1) -/* 046768 8004BD08 7C170050 */ subf r0, r23, r0 -/* 04676C 8004BD0C 5415103A */ slwi r21, r0, 2 -lbl_8004BD10: -/* 046770 8004BD10 281F0000 */ cmplwi r31, 0 -/* 046774 8004BD14 41820014 */ beq lbl_8004BD28 -/* 046778 8004BD18 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 04677C 8004BD1C 64004800 */ oris r0, r0, 0x4800 -/* 046780 8004BD20 56E3103A */ slwi r3, r23, 2 -/* 046784 8004BD24 7C1F192E */ stwx r0, r31, r3 -lbl_8004BD28: -/* 046788 8004BD28 3A80FFFF */ li r20, -1 -/* 04678C 8004BD2C 4801C208 */ b lbl_80067F34 -.global lbl_8004BD30 -lbl_8004BD30: -/* 046790 8004BD30 5783043E */ clrlwi r3, r28, 0x10 -/* 046794 8004BD34 80120000 */ lwz r0, 0(r18) -/* 046798 8004BD38 7C630734 */ extsh r3, r3 -/* 04679C 8004BD3C 5463103A */ slwi r3, r3, 2 -/* 0467A0 8004BD40 57865EFE */ rlwinm r6, r28, 0xb, 0x1b, 0x1f -/* 0467A4 8004BD44 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 0467A8 8004BD48 7C063840 */ cmplw r6, r7 -/* 0467AC 8004BD4C 7E801A14 */ add r20, r0, r3 -/* 0467B0 8004BD50 40820194 */ bne lbl_8004BEE4 -/* 0467B4 8004BD54 387E0000 */ addi r3, r30, 0 -/* 0467B8 8004BD58 38920000 */ addi r4, r18, 0 -/* 0467BC 8004BD5C 38BB0000 */ addi r5, r27, 0 -/* 0467C0 8004BD60 38DF0000 */ addi r6, r31, 0 -/* 0467C4 8004BD64 38E10084 */ addi r7, r1, 0x84 -/* 0467C8 8004BD68 39000001 */ li r8, 1 -/* 0467CC 8004BD6C 4BFF3099 */ bl cpuGetPPC -/* 0467D0 8004BD70 2C030000 */ cmpwi r3, 0 -/* 0467D4 8004BD74 4082000C */ bne lbl_8004BD80 -/* 0467D8 8004BD78 38600000 */ li r3, 0 -/* 0467DC 8004BD7C 4801C4A8 */ b lbl_80068224 -lbl_8004BD80: -/* 0467E0 8004BD80 80720000 */ lwz r3, 0(r18) -/* 0467E4 8004BD84 7C14E800 */ cmpw r20, r29 -/* 0467E8 8004BD88 3803FFFC */ addi r0, r3, -4 -/* 0467EC 8004BD8C 90120000 */ stw r0, 0(r18) -/* 0467F0 8004BD90 40820098 */ bne lbl_8004BE28 -/* 0467F4 8004BD94 281F0000 */ cmplwi r31, 0 -/* 0467F8 8004BD98 41820040 */ beq lbl_8004BDD8 -/* 0467FC 8004BD9C 80810084 */ lwz r4, 0x84(r1) -/* 046800 8004BDA0 57A5843E */ srwi r5, r29, 0x10 -/* 046804 8004BDA4 57A0043E */ clrlwi r0, r29, 0x10 -/* 046808 8004BDA8 38640001 */ addi r3, r4, 1 -/* 04680C 8004BDAC 90610084 */ stw r3, 0x84(r1) -/* 046810 8004BDB0 64A33CA0 */ oris r3, r5, 0x3ca0 -/* 046814 8004BDB4 5484103A */ slwi r4, r4, 2 -/* 046818 8004BDB8 7C7F212E */ stwx r3, r31, r4 -/* 04681C 8004BDBC 640460A5 */ oris r4, r0, 0x60a5 -/* 046820 8004BDC0 80610084 */ lwz r3, 0x84(r1) -/* 046824 8004BDC4 38030001 */ addi r0, r3, 1 -/* 046828 8004BDC8 90010084 */ stw r0, 0x84(r1) -/* 04682C 8004BDCC 5460103A */ slwi r0, r3, 2 -/* 046830 8004BDD0 7C9F012E */ stwx r4, r31, r0 -/* 046834 8004BDD4 48000010 */ b lbl_8004BDE4 -lbl_8004BDD8: -/* 046838 8004BDD8 80610084 */ lwz r3, 0x84(r1) -/* 04683C 8004BDDC 38030002 */ addi r0, r3, 2 -/* 046840 8004BDE0 90010084 */ stw r0, 0x84(r1) -lbl_8004BDE4: -/* 046844 8004BDE4 281F0000 */ cmplwi r31, 0 -/* 046848 8004BDE8 41820034 */ beq lbl_8004BE1C -/* 04684C 8004BDEC 80610084 */ lwz r3, 0x84(r1) -/* 046850 8004BDF0 801E0B4C */ lwz r0, 0xb4c(r30) -/* 046854 8004BDF4 5465103A */ slwi r5, r3, 2 -/* 046858 8004BDF8 7C9F2A14 */ add r4, r31, r5 -/* 04685C 8004BDFC 7C040050 */ subf r0, r4, r0 -/* 046860 8004BE00 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 046864 8004BE04 38630001 */ addi r3, r3, 1 -/* 046868 8004BE08 64004800 */ oris r0, r0, 0x4800 -/* 04686C 8004BE0C 90610084 */ stw r3, 0x84(r1) -/* 046870 8004BE10 60000001 */ ori r0, r0, 1 -/* 046874 8004BE14 7C1F292E */ stwx r0, r31, r5 -/* 046878 8004BE18 48000010 */ b lbl_8004BE28 -lbl_8004BE1C: -/* 04687C 8004BE1C 80610084 */ lwz r3, 0x84(r1) -/* 046880 8004BE20 38030001 */ addi r0, r3, 1 -/* 046884 8004BE24 90010084 */ stw r0, 0x84(r1) -lbl_8004BE28: -/* 046888 8004BE28 281F0000 */ cmplwi r31, 0 -/* 04688C 8004BE2C 40820010 */ bne lbl_8004BE3C -/* 046890 8004BE30 3B200000 */ li r25, 0 -/* 046894 8004BE34 38000001 */ li r0, 1 -/* 046898 8004BE38 48000050 */ b lbl_8004BE88 -lbl_8004BE3C: -/* 04689C 8004BE3C 801B0008 */ lwz r0, 8(r27) -/* 0468A0 8004BE40 38600000 */ li r3, 0 -/* 0468A4 8004BE44 38830000 */ addi r4, r3, 0 -/* 0468A8 8004BE48 2C000000 */ cmpwi r0, 0 -/* 0468AC 8004BE4C 7C0903A6 */ mtctr r0 -/* 0468B0 8004BE50 40810034 */ ble lbl_8004BE84 -lbl_8004BE54: -/* 0468B4 8004BE54 80BB000C */ lwz r5, 0xc(r27) -/* 0468B8 8004BE58 38040004 */ addi r0, r4, 4 -/* 0468BC 8004BE5C 7C05002E */ lwzx r0, r5, r0 -/* 0468C0 8004BE60 7C140000 */ cmpw r20, r0 -/* 0468C4 8004BE64 40820014 */ bne lbl_8004BE78 -/* 0468C8 8004BE68 54601838 */ slwi r0, r3, 3 -/* 0468CC 8004BE6C 7F25002E */ lwzx r25, r5, r0 -/* 0468D0 8004BE70 38000001 */ li r0, 1 -/* 0468D4 8004BE74 48000014 */ b lbl_8004BE88 -lbl_8004BE78: -/* 0468D8 8004BE78 38840008 */ addi r4, r4, 8 -/* 0468DC 8004BE7C 38630001 */ addi r3, r3, 1 -/* 0468E0 8004BE80 4200FFD4 */ bdnz lbl_8004BE54 -lbl_8004BE84: -/* 0468E4 8004BE84 38000000 */ li r0, 0 -lbl_8004BE88: -/* 0468E8 8004BE88 2C000000 */ cmpwi r0, 0 -/* 0468EC 8004BE8C 4082000C */ bne lbl_8004BE98 -/* 0468F0 8004BE90 38600000 */ li r3, 0 -/* 0468F4 8004BE94 4801C390 */ b lbl_80068224 -lbl_8004BE98: -/* 0468F8 8004BE98 281F0000 */ cmplwi r31, 0 -/* 0468FC 8004BE9C 41820010 */ beq lbl_8004BEAC -/* 046900 8004BEA0 80010084 */ lwz r0, 0x84(r1) -/* 046904 8004BEA4 7C00C850 */ subf r0, r0, r25 -/* 046908 8004BEA8 5415103A */ slwi r21, r0, 2 -lbl_8004BEAC: -/* 04690C 8004BEAC 281F0000 */ cmplwi r31, 0 -/* 046910 8004BEB0 41820024 */ beq lbl_8004BED4 -/* 046914 8004BEB4 80610084 */ lwz r3, 0x84(r1) -/* 046918 8004BEB8 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 04691C 8004BEBC 64044800 */ oris r4, r0, 0x4800 -/* 046920 8004BEC0 38030001 */ addi r0, r3, 1 -/* 046924 8004BEC4 90010084 */ stw r0, 0x84(r1) -/* 046928 8004BEC8 5460103A */ slwi r0, r3, 2 -/* 04692C 8004BECC 7C9F012E */ stwx r4, r31, r0 -/* 046930 8004BED0 4801C064 */ b lbl_80067F34 -lbl_8004BED4: -/* 046934 8004BED4 80610084 */ lwz r3, 0x84(r1) -/* 046938 8004BED8 38030001 */ addi r0, r3, 1 -/* 04693C 8004BEDC 90010084 */ stw r0, 0x84(r1) -/* 046940 8004BEE0 4801C054 */ b lbl_80067F34 -lbl_8004BEE4: -/* 046944 8004BEE4 54C0103A */ slwi r0, r6, 2 -/* 046948 8004BEE8 7C7A0214 */ add r3, r26, r0 -/* 04694C 8004BEEC 81030818 */ lwz r8, 0x818(r3) -/* 046950 8004BEF0 550005EF */ rlwinm. r0, r8, 0, 0x17, 0x17 -/* 046954 8004BEF4 4182014C */ beq lbl_8004C040 -/* 046958 8004BEF8 3C7E0001 */ addis r3, r30, 1 -/* 04695C 8004BEFC 80032064 */ lwz r0, 0x2064(r3) -/* 046960 8004BF00 39000006 */ li r8, 6 -/* 046964 8004BF04 28000000 */ cmplwi r0, 0 -/* 046968 8004BF08 4082000C */ bne lbl_8004BF14 -/* 04696C 8004BF0C 38000000 */ li r0, 0 -/* 046970 8004BF10 48000094 */ b lbl_8004BFA4 -lbl_8004BF14: -/* 046974 8004BF14 80032068 */ lwz r0, 0x2068(r3) -/* 046978 8004BF18 28000000 */ cmplwi r0, 0 -/* 04697C 8004BF1C 4082000C */ bne lbl_8004BF28 -/* 046980 8004BF20 38000000 */ li r0, 0 -/* 046984 8004BF24 48000080 */ b lbl_8004BFA4 -lbl_8004BF28: -/* 046988 8004BF28 8003206C */ lwz r0, 0x206c(r3) -/* 04698C 8004BF2C 7C060000 */ cmpw r6, r0 -/* 046990 8004BF30 4182000C */ beq lbl_8004BF3C -/* 046994 8004BF34 38000000 */ li r0, 0 -/* 046998 8004BF38 4800006C */ b lbl_8004BFA4 -lbl_8004BF3C: -/* 04699C 8004BF3C 80BE0034 */ lwz r5, 0x34(r30) -/* 0469A0 8004BF40 38800000 */ li r4, 0 -/* 0469A4 8004BF44 80050008 */ lwz r0, 8(r5) -/* 0469A8 8004BF48 2C000000 */ cmpwi r0, 0 -/* 0469AC 8004BF4C 7C0903A6 */ mtctr r0 -/* 0469B0 8004BF50 40810028 */ ble lbl_8004BF78 -lbl_8004BF54: -/* 0469B4 8004BF54 8065000C */ lwz r3, 0xc(r5) -/* 0469B8 8004BF58 38040004 */ addi r0, r4, 4 -/* 0469BC 8004BF5C 7C03002E */ lwzx r0, r3, r0 -/* 0469C0 8004BF60 7C1D0000 */ cmpw r29, r0 -/* 0469C4 8004BF64 4082000C */ bne lbl_8004BF70 -/* 0469C8 8004BF68 38000000 */ li r0, 0 -/* 0469CC 8004BF6C 48000010 */ b lbl_8004BF7C -lbl_8004BF70: -/* 0469D0 8004BF70 38840008 */ addi r4, r4, 8 -/* 0469D4 8004BF74 4200FFE0 */ bdnz lbl_8004BF54 -lbl_8004BF78: -/* 0469D8 8004BF78 38000001 */ li r0, 1 -lbl_8004BF7C: -/* 0469DC 8004BF7C 2C000000 */ cmpwi r0, 0 -/* 0469E0 8004BF80 40820014 */ bne lbl_8004BF94 -/* 0469E4 8004BF84 38000000 */ li r0, 0 -/* 0469E8 8004BF88 3C7E0001 */ addis r3, r30, 1 -/* 0469EC 8004BF8C 90032068 */ stw r0, 0x2068(r3) -/* 0469F0 8004BF90 48000014 */ b lbl_8004BFA4 -lbl_8004BF94: -/* 0469F4 8004BF94 3C7E0001 */ addis r3, r30, 1 -/* 0469F8 8004BF98 38000000 */ li r0, 0 -/* 0469FC 8004BF9C 90032068 */ stw r0, 0x2068(r3) -/* 046A00 8004BFA0 38000001 */ li r0, 1 -lbl_8004BFA4: -/* 046A04 8004BFA4 2C000000 */ cmpwi r0, 0 -/* 046A08 8004BFA8 41820050 */ beq lbl_8004BFF8 -/* 046A0C 8004BFAC 281F0000 */ cmplwi r31, 0 -/* 046A10 8004BFB0 41820038 */ beq lbl_8004BFE8 -/* 046A14 8004BFB4 3C9E0001 */ addis r4, r30, 1 -/* 046A18 8004BFB8 80610084 */ lwz r3, 0x84(r1) -/* 046A1C 8004BFBC 80842070 */ lwz r4, 0x2070(r4) -/* 046A20 8004BFC0 38A30001 */ addi r5, r3, 1 -/* 046A24 8004BFC4 5480A814 */ slwi r0, r4, 0x15 -/* 046A28 8004BFC8 90A10084 */ stw r5, 0x84(r1) -/* 046A2C 8004BFCC 64007C06 */ oris r0, r0, 0x7c06 -/* 046A30 8004BFD0 54845828 */ slwi r4, r4, 0xb -/* 046A34 8004BFD4 60000378 */ ori r0, r0, 0x378 -/* 046A38 8004BFD8 7C800378 */ or r0, r4, r0 -/* 046A3C 8004BFDC 5463103A */ slwi r3, r3, 2 -/* 046A40 8004BFE0 7C1F192E */ stwx r0, r31, r3 -/* 046A44 8004BFE4 4800005C */ b lbl_8004C040 -lbl_8004BFE8: -/* 046A48 8004BFE8 80610084 */ lwz r3, 0x84(r1) -/* 046A4C 8004BFEC 38030001 */ addi r0, r3, 1 -/* 046A50 8004BFF0 90010084 */ stw r0, 0x84(r1) -/* 046A54 8004BFF4 4800004C */ b lbl_8004C040 -lbl_8004BFF8: -/* 046A58 8004BFF8 281F0000 */ cmplwi r31, 0 -/* 046A5C 8004BFFC 41820038 */ beq lbl_8004C034 -/* 046A60 8004C000 54C41838 */ slwi r4, r6, 3 -/* 046A64 8004C004 80610084 */ lwz r3, 0x84(r1) -/* 046A68 8004C008 38040040 */ addi r0, r4, 0x40 -/* 046A6C 8004C00C 7C1E0214 */ add r0, r30, r0 -/* 046A70 8004C010 7C9E0050 */ subf r4, r30, r0 -/* 046A74 8004C014 38840004 */ addi r4, r4, 4 -/* 046A78 8004C018 38030001 */ addi r0, r3, 1 -/* 046A7C 8004C01C 5484043E */ clrlwi r4, r4, 0x10 -/* 046A80 8004C020 90010084 */ stw r0, 0x84(r1) -/* 046A84 8004C024 3C0480C3 */ addis r0, r4, 0x80c3 -/* 046A88 8004C028 5463103A */ slwi r3, r3, 2 -/* 046A8C 8004C02C 7C1F192E */ stwx r0, r31, r3 -/* 046A90 8004C030 48000010 */ b lbl_8004C040 -lbl_8004C034: -/* 046A94 8004C034 80610084 */ lwz r3, 0x84(r1) -/* 046A98 8004C038 38030001 */ addi r0, r3, 1 -/* 046A9C 8004C03C 90010084 */ stw r0, 0x84(r1) -lbl_8004C040: -/* 046AA0 8004C040 54E0103A */ slwi r0, r7, 2 -/* 046AA4 8004C044 7C7A0214 */ add r3, r26, r0 -/* 046AA8 8004C048 80C30818 */ lwz r6, 0x818(r3) -/* 046AAC 8004C04C 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 046AB0 8004C050 4182014C */ beq lbl_8004C19C -/* 046AB4 8004C054 3C7E0001 */ addis r3, r30, 1 -/* 046AB8 8004C058 80032064 */ lwz r0, 0x2064(r3) -/* 046ABC 8004C05C 38C00007 */ li r6, 7 -/* 046AC0 8004C060 28000000 */ cmplwi r0, 0 -/* 046AC4 8004C064 4082000C */ bne lbl_8004C070 -/* 046AC8 8004C068 38000000 */ li r0, 0 -/* 046ACC 8004C06C 48000094 */ b lbl_8004C100 -lbl_8004C070: -/* 046AD0 8004C070 80032068 */ lwz r0, 0x2068(r3) -/* 046AD4 8004C074 28000000 */ cmplwi r0, 0 -/* 046AD8 8004C078 4082000C */ bne lbl_8004C084 -/* 046ADC 8004C07C 38000000 */ li r0, 0 -/* 046AE0 8004C080 48000080 */ b lbl_8004C100 -lbl_8004C084: -/* 046AE4 8004C084 8003206C */ lwz r0, 0x206c(r3) -/* 046AE8 8004C088 7C070000 */ cmpw r7, r0 -/* 046AEC 8004C08C 4182000C */ beq lbl_8004C098 -/* 046AF0 8004C090 38000000 */ li r0, 0 -/* 046AF4 8004C094 4800006C */ b lbl_8004C100 -lbl_8004C098: -/* 046AF8 8004C098 80BE0034 */ lwz r5, 0x34(r30) -/* 046AFC 8004C09C 38800000 */ li r4, 0 -/* 046B00 8004C0A0 80050008 */ lwz r0, 8(r5) -/* 046B04 8004C0A4 2C000000 */ cmpwi r0, 0 -/* 046B08 8004C0A8 7C0903A6 */ mtctr r0 -/* 046B0C 8004C0AC 40810028 */ ble lbl_8004C0D4 -lbl_8004C0B0: -/* 046B10 8004C0B0 8065000C */ lwz r3, 0xc(r5) -/* 046B14 8004C0B4 38040004 */ addi r0, r4, 4 -/* 046B18 8004C0B8 7C03002E */ lwzx r0, r3, r0 -/* 046B1C 8004C0BC 7C1D0000 */ cmpw r29, r0 -/* 046B20 8004C0C0 4082000C */ bne lbl_8004C0CC -/* 046B24 8004C0C4 38000000 */ li r0, 0 -/* 046B28 8004C0C8 48000010 */ b lbl_8004C0D8 -lbl_8004C0CC: -/* 046B2C 8004C0CC 38840008 */ addi r4, r4, 8 -/* 046B30 8004C0D0 4200FFE0 */ bdnz lbl_8004C0B0 -lbl_8004C0D4: -/* 046B34 8004C0D4 38000001 */ li r0, 1 -lbl_8004C0D8: -/* 046B38 8004C0D8 2C000000 */ cmpwi r0, 0 -/* 046B3C 8004C0DC 40820014 */ bne lbl_8004C0F0 -/* 046B40 8004C0E0 38000000 */ li r0, 0 -/* 046B44 8004C0E4 3C7E0001 */ addis r3, r30, 1 -/* 046B48 8004C0E8 90032068 */ stw r0, 0x2068(r3) -/* 046B4C 8004C0EC 48000014 */ b lbl_8004C100 -lbl_8004C0F0: -/* 046B50 8004C0F0 3C7E0001 */ addis r3, r30, 1 -/* 046B54 8004C0F4 38000000 */ li r0, 0 -/* 046B58 8004C0F8 90032068 */ stw r0, 0x2068(r3) -/* 046B5C 8004C0FC 38000001 */ li r0, 1 -lbl_8004C100: -/* 046B60 8004C100 2C000000 */ cmpwi r0, 0 -/* 046B64 8004C104 41820050 */ beq lbl_8004C154 -/* 046B68 8004C108 281F0000 */ cmplwi r31, 0 -/* 046B6C 8004C10C 41820038 */ beq lbl_8004C144 -/* 046B70 8004C110 3C9E0001 */ addis r4, r30, 1 -/* 046B74 8004C114 80610084 */ lwz r3, 0x84(r1) -/* 046B78 8004C118 80A42070 */ lwz r5, 0x2070(r4) -/* 046B7C 8004C11C 38030001 */ addi r0, r3, 1 -/* 046B80 8004C120 54A4A814 */ slwi r4, r5, 0x15 -/* 046B84 8004C124 90010084 */ stw r0, 0x84(r1) -/* 046B88 8004C128 64807C07 */ oris r0, r4, 0x7c07 -/* 046B8C 8004C12C 54A45828 */ slwi r4, r5, 0xb -/* 046B90 8004C130 60000378 */ ori r0, r0, 0x378 -/* 046B94 8004C134 7C800378 */ or r0, r4, r0 -/* 046B98 8004C138 5463103A */ slwi r3, r3, 2 -/* 046B9C 8004C13C 7C1F192E */ stwx r0, r31, r3 -/* 046BA0 8004C140 4800005C */ b lbl_8004C19C -lbl_8004C144: -/* 046BA4 8004C144 80610084 */ lwz r3, 0x84(r1) -/* 046BA8 8004C148 38030001 */ addi r0, r3, 1 -/* 046BAC 8004C14C 90010084 */ stw r0, 0x84(r1) -/* 046BB0 8004C150 4800004C */ b lbl_8004C19C -lbl_8004C154: -/* 046BB4 8004C154 281F0000 */ cmplwi r31, 0 -/* 046BB8 8004C158 41820038 */ beq lbl_8004C190 -/* 046BBC 8004C15C 54E41838 */ slwi r4, r7, 3 -/* 046BC0 8004C160 80610084 */ lwz r3, 0x84(r1) -/* 046BC4 8004C164 38040040 */ addi r0, r4, 0x40 -/* 046BC8 8004C168 7C1E0214 */ add r0, r30, r0 -/* 046BCC 8004C16C 7C9E0050 */ subf r4, r30, r0 -/* 046BD0 8004C170 38840004 */ addi r4, r4, 4 -/* 046BD4 8004C174 38030001 */ addi r0, r3, 1 -/* 046BD8 8004C178 5484043E */ clrlwi r4, r4, 0x10 -/* 046BDC 8004C17C 90010084 */ stw r0, 0x84(r1) -/* 046BE0 8004C180 3C0480E3 */ addis r0, r4, 0x80e3 -/* 046BE4 8004C184 5463103A */ slwi r3, r3, 2 -/* 046BE8 8004C188 7C1F192E */ stwx r0, r31, r3 -/* 046BEC 8004C18C 48000010 */ b lbl_8004C19C -lbl_8004C190: -/* 046BF0 8004C190 80610084 */ lwz r3, 0x84(r1) -/* 046BF4 8004C194 38030001 */ addi r0, r3, 1 -/* 046BF8 8004C198 90010084 */ stw r0, 0x84(r1) -lbl_8004C19C: -/* 046BFC 8004C19C 281F0000 */ cmplwi r31, 0 -/* 046C00 8004C1A0 4182002C */ beq lbl_8004C1CC -/* 046C04 8004C1A4 80610084 */ lwz r3, 0x84(r1) -/* 046C08 8004C1A8 5500801E */ slwi r0, r8, 0x10 -/* 046C0C 8004C1AC 64007C00 */ oris r0, r0, 0x7c00 -/* 046C10 8004C1B0 38830001 */ addi r4, r3, 1 -/* 046C14 8004C1B4 54C55828 */ slwi r5, r6, 0xb -/* 046C18 8004C1B8 90810084 */ stw r4, 0x84(r1) -/* 046C1C 8004C1BC 7C002B78 */ or r0, r0, r5 -/* 046C20 8004C1C0 5463103A */ slwi r3, r3, 2 -/* 046C24 8004C1C4 7C1F192E */ stwx r0, r31, r3 -/* 046C28 8004C1C8 48000010 */ b lbl_8004C1D8 -lbl_8004C1CC: -/* 046C2C 8004C1CC 80610084 */ lwz r3, 0x84(r1) -/* 046C30 8004C1D0 38030001 */ addi r0, r3, 1 -/* 046C34 8004C1D4 90010084 */ stw r0, 0x84(r1) -lbl_8004C1D8: -/* 046C38 8004C1D8 82E10084 */ lwz r23, 0x84(r1) -/* 046C3C 8004C1DC 387E0000 */ addi r3, r30, 0 -/* 046C40 8004C1E0 38920000 */ addi r4, r18, 0 -/* 046C44 8004C1E4 38170001 */ addi r0, r23, 1 -/* 046C48 8004C1E8 90010084 */ stw r0, 0x84(r1) -/* 046C4C 8004C1EC 38BB0000 */ addi r5, r27, 0 -/* 046C50 8004C1F0 38DF0000 */ addi r6, r31, 0 -/* 046C54 8004C1F4 38E10084 */ addi r7, r1, 0x84 -/* 046C58 8004C1F8 39000001 */ li r8, 1 -/* 046C5C 8004C1FC 4BFF2C09 */ bl cpuGetPPC -/* 046C60 8004C200 2C030000 */ cmpwi r3, 0 -/* 046C64 8004C204 4082000C */ bne lbl_8004C210 -/* 046C68 8004C208 38600000 */ li r3, 0 -/* 046C6C 8004C20C 4801C018 */ b lbl_80068224 -lbl_8004C210: -/* 046C70 8004C210 80720000 */ lwz r3, 0(r18) -/* 046C74 8004C214 281F0000 */ cmplwi r31, 0 -/* 046C78 8004C218 3803FFFC */ addi r0, r3, -4 -/* 046C7C 8004C21C 90120000 */ stw r0, 0(r18) -/* 046C80 8004C220 40820010 */ bne lbl_8004C230 -/* 046C84 8004C224 3B200000 */ li r25, 0 -/* 046C88 8004C228 38000001 */ li r0, 1 -/* 046C8C 8004C22C 48000050 */ b lbl_8004C27C -lbl_8004C230: -/* 046C90 8004C230 801B0008 */ lwz r0, 8(r27) -/* 046C94 8004C234 38600000 */ li r3, 0 -/* 046C98 8004C238 38830000 */ addi r4, r3, 0 -/* 046C9C 8004C23C 2C000000 */ cmpwi r0, 0 -/* 046CA0 8004C240 7C0903A6 */ mtctr r0 -/* 046CA4 8004C244 40810034 */ ble lbl_8004C278 -lbl_8004C248: -/* 046CA8 8004C248 80BB000C */ lwz r5, 0xc(r27) -/* 046CAC 8004C24C 38040004 */ addi r0, r4, 4 -/* 046CB0 8004C250 7C05002E */ lwzx r0, r5, r0 -/* 046CB4 8004C254 7C140000 */ cmpw r20, r0 -/* 046CB8 8004C258 40820014 */ bne lbl_8004C26C -/* 046CBC 8004C25C 54601838 */ slwi r0, r3, 3 -/* 046CC0 8004C260 7F25002E */ lwzx r25, r5, r0 -/* 046CC4 8004C264 38000001 */ li r0, 1 -/* 046CC8 8004C268 48000014 */ b lbl_8004C27C -lbl_8004C26C: -/* 046CCC 8004C26C 38840008 */ addi r4, r4, 8 -/* 046CD0 8004C270 38630001 */ addi r3, r3, 1 -/* 046CD4 8004C274 4200FFD4 */ bdnz lbl_8004C248 -lbl_8004C278: -/* 046CD8 8004C278 38000000 */ li r0, 0 -lbl_8004C27C: -/* 046CDC 8004C27C 2C000000 */ cmpwi r0, 0 -/* 046CE0 8004C280 4082000C */ bne lbl_8004C28C -/* 046CE4 8004C284 38600000 */ li r3, 0 -/* 046CE8 8004C288 4801BF9C */ b lbl_80068224 -lbl_8004C28C: -/* 046CEC 8004C28C 281F0000 */ cmplwi r31, 0 -/* 046CF0 8004C290 41820010 */ beq lbl_8004C2A0 -/* 046CF4 8004C294 80010084 */ lwz r0, 0x84(r1) -/* 046CF8 8004C298 7C00C850 */ subf r0, r0, r25 -/* 046CFC 8004C29C 5415103A */ slwi r21, r0, 2 -lbl_8004C2A0: -/* 046D00 8004C2A0 281F0000 */ cmplwi r31, 0 -/* 046D04 8004C2A4 41820024 */ beq lbl_8004C2C8 -/* 046D08 8004C2A8 80610084 */ lwz r3, 0x84(r1) -/* 046D0C 8004C2AC 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 046D10 8004C2B0 64044800 */ oris r4, r0, 0x4800 -/* 046D14 8004C2B4 38030001 */ addi r0, r3, 1 -/* 046D18 8004C2B8 90010084 */ stw r0, 0x84(r1) -/* 046D1C 8004C2BC 5460103A */ slwi r0, r3, 2 -/* 046D20 8004C2C0 7C9F012E */ stwx r4, r31, r0 -/* 046D24 8004C2C4 48000010 */ b lbl_8004C2D4 -lbl_8004C2C8: -/* 046D28 8004C2C8 80610084 */ lwz r3, 0x84(r1) -/* 046D2C 8004C2CC 38030001 */ addi r0, r3, 1 -/* 046D30 8004C2D0 90010084 */ stw r0, 0x84(r1) -lbl_8004C2D4: -/* 046D34 8004C2D4 281F0000 */ cmplwi r31, 0 -/* 046D38 8004C2D8 40820008 */ bne lbl_8004C2E0 -/* 046D3C 8004C2DC 4801BC58 */ b lbl_80067F34 -lbl_8004C2E0: -/* 046D40 8004C2E0 80610084 */ lwz r3, 0x84(r1) -/* 046D44 8004C2E4 56E0103A */ slwi r0, r23, 2 -/* 046D48 8004C2E8 7C771850 */ subf r3, r23, r3 -/* 046D4C 8004C2EC 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 046D50 8004C2F0 64634082 */ oris r3, r3, 0x4082 -/* 046D54 8004C2F4 7C7F012E */ stwx r3, r31, r0 -/* 046D58 8004C2F8 4801BC3C */ b lbl_80067F34 -.global lbl_8004C2FC -lbl_8004C2FC: -/* 046D5C 8004C2FC 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 046D60 8004C300 80920000 */ lwz r4, 0(r18) -/* 046D64 8004C304 7C7A0214 */ add r3, r26, r0 -/* 046D68 8004C308 81030818 */ lwz r8, 0x818(r3) -/* 046D6C 8004C30C 5780043E */ clrlwi r0, r28, 0x10 -/* 046D70 8004C310 7C030734 */ extsh r3, r0 -/* 046D74 8004C314 550005EF */ rlwinm. r0, r8, 0, 0x17, 0x17 -/* 046D78 8004C318 5460103A */ slwi r0, r3, 2 -/* 046D7C 8004C31C 57865EFE */ rlwinm r6, r28, 0xb, 0x1b, 0x1f -/* 046D80 8004C320 7E840214 */ add r20, r4, r0 -/* 046D84 8004C324 4182014C */ beq lbl_8004C470 -/* 046D88 8004C328 3C7E0001 */ addis r3, r30, 1 -/* 046D8C 8004C32C 80032064 */ lwz r0, 0x2064(r3) -/* 046D90 8004C330 39000006 */ li r8, 6 -/* 046D94 8004C334 28000000 */ cmplwi r0, 0 -/* 046D98 8004C338 4082000C */ bne lbl_8004C344 -/* 046D9C 8004C33C 38000000 */ li r0, 0 -/* 046DA0 8004C340 48000094 */ b lbl_8004C3D4 -lbl_8004C344: -/* 046DA4 8004C344 80032068 */ lwz r0, 0x2068(r3) -/* 046DA8 8004C348 28000000 */ cmplwi r0, 0 -/* 046DAC 8004C34C 4082000C */ bne lbl_8004C358 -/* 046DB0 8004C350 38000000 */ li r0, 0 -/* 046DB4 8004C354 48000080 */ b lbl_8004C3D4 -lbl_8004C358: -/* 046DB8 8004C358 8003206C */ lwz r0, 0x206c(r3) -/* 046DBC 8004C35C 7C060000 */ cmpw r6, r0 -/* 046DC0 8004C360 4182000C */ beq lbl_8004C36C -/* 046DC4 8004C364 38000000 */ li r0, 0 -/* 046DC8 8004C368 4800006C */ b lbl_8004C3D4 -lbl_8004C36C: -/* 046DCC 8004C36C 80BE0034 */ lwz r5, 0x34(r30) -/* 046DD0 8004C370 38800000 */ li r4, 0 -/* 046DD4 8004C374 80050008 */ lwz r0, 8(r5) -/* 046DD8 8004C378 2C000000 */ cmpwi r0, 0 -/* 046DDC 8004C37C 7C0903A6 */ mtctr r0 -/* 046DE0 8004C380 40810028 */ ble lbl_8004C3A8 -lbl_8004C384: -/* 046DE4 8004C384 8065000C */ lwz r3, 0xc(r5) -/* 046DE8 8004C388 38040004 */ addi r0, r4, 4 -/* 046DEC 8004C38C 7C03002E */ lwzx r0, r3, r0 -/* 046DF0 8004C390 7C1D0000 */ cmpw r29, r0 -/* 046DF4 8004C394 4082000C */ bne lbl_8004C3A0 -/* 046DF8 8004C398 38000000 */ li r0, 0 -/* 046DFC 8004C39C 48000010 */ b lbl_8004C3AC -lbl_8004C3A0: -/* 046E00 8004C3A0 38840008 */ addi r4, r4, 8 -/* 046E04 8004C3A4 4200FFE0 */ bdnz lbl_8004C384 -lbl_8004C3A8: -/* 046E08 8004C3A8 38000001 */ li r0, 1 -lbl_8004C3AC: -/* 046E0C 8004C3AC 2C000000 */ cmpwi r0, 0 -/* 046E10 8004C3B0 40820014 */ bne lbl_8004C3C4 -/* 046E14 8004C3B4 38000000 */ li r0, 0 -/* 046E18 8004C3B8 3C7E0001 */ addis r3, r30, 1 -/* 046E1C 8004C3BC 90032068 */ stw r0, 0x2068(r3) -/* 046E20 8004C3C0 48000014 */ b lbl_8004C3D4 -lbl_8004C3C4: -/* 046E24 8004C3C4 3C7E0001 */ addis r3, r30, 1 -/* 046E28 8004C3C8 38000000 */ li r0, 0 -/* 046E2C 8004C3CC 90032068 */ stw r0, 0x2068(r3) -/* 046E30 8004C3D0 38000001 */ li r0, 1 -lbl_8004C3D4: -/* 046E34 8004C3D4 2C000000 */ cmpwi r0, 0 -/* 046E38 8004C3D8 41820050 */ beq lbl_8004C428 -/* 046E3C 8004C3DC 281F0000 */ cmplwi r31, 0 -/* 046E40 8004C3E0 41820038 */ beq lbl_8004C418 -/* 046E44 8004C3E4 3C9E0001 */ addis r4, r30, 1 -/* 046E48 8004C3E8 80610084 */ lwz r3, 0x84(r1) -/* 046E4C 8004C3EC 80842070 */ lwz r4, 0x2070(r4) -/* 046E50 8004C3F0 38A30001 */ addi r5, r3, 1 -/* 046E54 8004C3F4 5480A814 */ slwi r0, r4, 0x15 -/* 046E58 8004C3F8 90A10084 */ stw r5, 0x84(r1) -/* 046E5C 8004C3FC 64007C06 */ oris r0, r0, 0x7c06 -/* 046E60 8004C400 54845828 */ slwi r4, r4, 0xb -/* 046E64 8004C404 60000378 */ ori r0, r0, 0x378 -/* 046E68 8004C408 7C800378 */ or r0, r4, r0 -/* 046E6C 8004C40C 5463103A */ slwi r3, r3, 2 -/* 046E70 8004C410 7C1F192E */ stwx r0, r31, r3 -/* 046E74 8004C414 4800005C */ b lbl_8004C470 -lbl_8004C418: -/* 046E78 8004C418 80610084 */ lwz r3, 0x84(r1) -/* 046E7C 8004C41C 38030001 */ addi r0, r3, 1 -/* 046E80 8004C420 90010084 */ stw r0, 0x84(r1) -/* 046E84 8004C424 4800004C */ b lbl_8004C470 -lbl_8004C428: -/* 046E88 8004C428 281F0000 */ cmplwi r31, 0 -/* 046E8C 8004C42C 41820038 */ beq lbl_8004C464 -/* 046E90 8004C430 54C41838 */ slwi r4, r6, 3 -/* 046E94 8004C434 80610084 */ lwz r3, 0x84(r1) -/* 046E98 8004C438 38040040 */ addi r0, r4, 0x40 -/* 046E9C 8004C43C 7C1E0214 */ add r0, r30, r0 -/* 046EA0 8004C440 7C9E0050 */ subf r4, r30, r0 -/* 046EA4 8004C444 38840004 */ addi r4, r4, 4 -/* 046EA8 8004C448 38030001 */ addi r0, r3, 1 -/* 046EAC 8004C44C 5484043E */ clrlwi r4, r4, 0x10 -/* 046EB0 8004C450 90010084 */ stw r0, 0x84(r1) -/* 046EB4 8004C454 3C0480C3 */ addis r0, r4, 0x80c3 -/* 046EB8 8004C458 5463103A */ slwi r3, r3, 2 -/* 046EBC 8004C45C 7C1F192E */ stwx r0, r31, r3 -/* 046EC0 8004C460 48000010 */ b lbl_8004C470 -lbl_8004C464: -/* 046EC4 8004C464 80610084 */ lwz r3, 0x84(r1) -/* 046EC8 8004C468 38030001 */ addi r0, r3, 1 -/* 046ECC 8004C46C 90010084 */ stw r0, 0x84(r1) -lbl_8004C470: -/* 046ED0 8004C470 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 046ED4 8004C474 7C7A0214 */ add r3, r26, r0 -/* 046ED8 8004C478 80C30818 */ lwz r6, 0x818(r3) -/* 046EDC 8004C47C 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 046EE0 8004C480 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 046EE4 8004C484 4182014C */ beq lbl_8004C5D0 -/* 046EE8 8004C488 3C7E0001 */ addis r3, r30, 1 -/* 046EEC 8004C48C 80032064 */ lwz r0, 0x2064(r3) -/* 046EF0 8004C490 38C00007 */ li r6, 7 -/* 046EF4 8004C494 28000000 */ cmplwi r0, 0 -/* 046EF8 8004C498 4082000C */ bne lbl_8004C4A4 -/* 046EFC 8004C49C 38000000 */ li r0, 0 -/* 046F00 8004C4A0 48000094 */ b lbl_8004C534 -lbl_8004C4A4: -/* 046F04 8004C4A4 80032068 */ lwz r0, 0x2068(r3) -/* 046F08 8004C4A8 28000000 */ cmplwi r0, 0 -/* 046F0C 8004C4AC 4082000C */ bne lbl_8004C4B8 -/* 046F10 8004C4B0 38000000 */ li r0, 0 -/* 046F14 8004C4B4 48000080 */ b lbl_8004C534 -lbl_8004C4B8: -/* 046F18 8004C4B8 8003206C */ lwz r0, 0x206c(r3) -/* 046F1C 8004C4BC 7C070000 */ cmpw r7, r0 -/* 046F20 8004C4C0 4182000C */ beq lbl_8004C4CC -/* 046F24 8004C4C4 38000000 */ li r0, 0 -/* 046F28 8004C4C8 4800006C */ b lbl_8004C534 -lbl_8004C4CC: -/* 046F2C 8004C4CC 80BE0034 */ lwz r5, 0x34(r30) -/* 046F30 8004C4D0 38800000 */ li r4, 0 -/* 046F34 8004C4D4 80050008 */ lwz r0, 8(r5) -/* 046F38 8004C4D8 2C000000 */ cmpwi r0, 0 -/* 046F3C 8004C4DC 7C0903A6 */ mtctr r0 -/* 046F40 8004C4E0 40810028 */ ble lbl_8004C508 -lbl_8004C4E4: -/* 046F44 8004C4E4 8065000C */ lwz r3, 0xc(r5) -/* 046F48 8004C4E8 38040004 */ addi r0, r4, 4 -/* 046F4C 8004C4EC 7C03002E */ lwzx r0, r3, r0 -/* 046F50 8004C4F0 7C1D0000 */ cmpw r29, r0 -/* 046F54 8004C4F4 4082000C */ bne lbl_8004C500 -/* 046F58 8004C4F8 38000000 */ li r0, 0 -/* 046F5C 8004C4FC 48000010 */ b lbl_8004C50C -lbl_8004C500: -/* 046F60 8004C500 38840008 */ addi r4, r4, 8 -/* 046F64 8004C504 4200FFE0 */ bdnz lbl_8004C4E4 -lbl_8004C508: -/* 046F68 8004C508 38000001 */ li r0, 1 -lbl_8004C50C: -/* 046F6C 8004C50C 2C000000 */ cmpwi r0, 0 -/* 046F70 8004C510 40820014 */ bne lbl_8004C524 -/* 046F74 8004C514 38000000 */ li r0, 0 -/* 046F78 8004C518 3C7E0001 */ addis r3, r30, 1 -/* 046F7C 8004C51C 90032068 */ stw r0, 0x2068(r3) -/* 046F80 8004C520 48000014 */ b lbl_8004C534 -lbl_8004C524: -/* 046F84 8004C524 3C7E0001 */ addis r3, r30, 1 -/* 046F88 8004C528 38000000 */ li r0, 0 -/* 046F8C 8004C52C 90032068 */ stw r0, 0x2068(r3) -/* 046F90 8004C530 38000001 */ li r0, 1 -lbl_8004C534: -/* 046F94 8004C534 2C000000 */ cmpwi r0, 0 -/* 046F98 8004C538 41820050 */ beq lbl_8004C588 -/* 046F9C 8004C53C 281F0000 */ cmplwi r31, 0 -/* 046FA0 8004C540 41820038 */ beq lbl_8004C578 -/* 046FA4 8004C544 3C9E0001 */ addis r4, r30, 1 -/* 046FA8 8004C548 80610084 */ lwz r3, 0x84(r1) -/* 046FAC 8004C54C 80A42070 */ lwz r5, 0x2070(r4) -/* 046FB0 8004C550 38030001 */ addi r0, r3, 1 -/* 046FB4 8004C554 54A4A814 */ slwi r4, r5, 0x15 -/* 046FB8 8004C558 90010084 */ stw r0, 0x84(r1) -/* 046FBC 8004C55C 64807C07 */ oris r0, r4, 0x7c07 -/* 046FC0 8004C560 54A45828 */ slwi r4, r5, 0xb -/* 046FC4 8004C564 60000378 */ ori r0, r0, 0x378 -/* 046FC8 8004C568 7C800378 */ or r0, r4, r0 -/* 046FCC 8004C56C 5463103A */ slwi r3, r3, 2 -/* 046FD0 8004C570 7C1F192E */ stwx r0, r31, r3 -/* 046FD4 8004C574 4800005C */ b lbl_8004C5D0 -lbl_8004C578: -/* 046FD8 8004C578 80610084 */ lwz r3, 0x84(r1) -/* 046FDC 8004C57C 38030001 */ addi r0, r3, 1 -/* 046FE0 8004C580 90010084 */ stw r0, 0x84(r1) -/* 046FE4 8004C584 4800004C */ b lbl_8004C5D0 -lbl_8004C588: -/* 046FE8 8004C588 281F0000 */ cmplwi r31, 0 -/* 046FEC 8004C58C 41820038 */ beq lbl_8004C5C4 -/* 046FF0 8004C590 54E41838 */ slwi r4, r7, 3 -/* 046FF4 8004C594 80610084 */ lwz r3, 0x84(r1) -/* 046FF8 8004C598 38040040 */ addi r0, r4, 0x40 -/* 046FFC 8004C59C 7C1E0214 */ add r0, r30, r0 -/* 047000 8004C5A0 7C9E0050 */ subf r4, r30, r0 -/* 047004 8004C5A4 38840004 */ addi r4, r4, 4 -/* 047008 8004C5A8 38030001 */ addi r0, r3, 1 -/* 04700C 8004C5AC 5484043E */ clrlwi r4, r4, 0x10 -/* 047010 8004C5B0 90010084 */ stw r0, 0x84(r1) -/* 047014 8004C5B4 3C0480E3 */ addis r0, r4, 0x80e3 -/* 047018 8004C5B8 5463103A */ slwi r3, r3, 2 -/* 04701C 8004C5BC 7C1F192E */ stwx r0, r31, r3 -/* 047020 8004C5C0 48000010 */ b lbl_8004C5D0 -lbl_8004C5C4: -/* 047024 8004C5C4 80610084 */ lwz r3, 0x84(r1) -/* 047028 8004C5C8 38030001 */ addi r0, r3, 1 -/* 04702C 8004C5CC 90010084 */ stw r0, 0x84(r1) -lbl_8004C5D0: -/* 047030 8004C5D0 281F0000 */ cmplwi r31, 0 -/* 047034 8004C5D4 4182002C */ beq lbl_8004C600 -/* 047038 8004C5D8 80610084 */ lwz r3, 0x84(r1) -/* 04703C 8004C5DC 5500801E */ slwi r0, r8, 0x10 -/* 047040 8004C5E0 64007C00 */ oris r0, r0, 0x7c00 -/* 047044 8004C5E4 38830001 */ addi r4, r3, 1 -/* 047048 8004C5E8 54C55828 */ slwi r5, r6, 0xb -/* 04704C 8004C5EC 90810084 */ stw r4, 0x84(r1) -/* 047050 8004C5F0 7C002B78 */ or r0, r0, r5 -/* 047054 8004C5F4 5463103A */ slwi r3, r3, 2 -/* 047058 8004C5F8 7C1F192E */ stwx r0, r31, r3 -/* 04705C 8004C5FC 48000010 */ b lbl_8004C60C -lbl_8004C600: -/* 047060 8004C600 80610084 */ lwz r3, 0x84(r1) -/* 047064 8004C604 38030001 */ addi r0, r3, 1 -/* 047068 8004C608 90010084 */ stw r0, 0x84(r1) -lbl_8004C60C: -/* 04706C 8004C60C 82E10084 */ lwz r23, 0x84(r1) -/* 047070 8004C610 387E0000 */ addi r3, r30, 0 -/* 047074 8004C614 38920000 */ addi r4, r18, 0 -/* 047078 8004C618 38170001 */ addi r0, r23, 1 -/* 04707C 8004C61C 90010084 */ stw r0, 0x84(r1) -/* 047080 8004C620 38BB0000 */ addi r5, r27, 0 -/* 047084 8004C624 38DF0000 */ addi r6, r31, 0 -/* 047088 8004C628 38E10084 */ addi r7, r1, 0x84 -/* 04708C 8004C62C 39000001 */ li r8, 1 -/* 047090 8004C630 4BFF27D5 */ bl cpuGetPPC -/* 047094 8004C634 2C030000 */ cmpwi r3, 0 -/* 047098 8004C638 4082000C */ bne lbl_8004C644 -/* 04709C 8004C63C 38600000 */ li r3, 0 -/* 0470A0 8004C640 4801BBE4 */ b lbl_80068224 -lbl_8004C644: -/* 0470A4 8004C644 80720000 */ lwz r3, 0(r18) -/* 0470A8 8004C648 281F0000 */ cmplwi r31, 0 -/* 0470AC 8004C64C 3803FFFC */ addi r0, r3, -4 -/* 0470B0 8004C650 90120000 */ stw r0, 0(r18) -/* 0470B4 8004C654 40820010 */ bne lbl_8004C664 -/* 0470B8 8004C658 3B200000 */ li r25, 0 -/* 0470BC 8004C65C 38000001 */ li r0, 1 -/* 0470C0 8004C660 48000050 */ b lbl_8004C6B0 -lbl_8004C664: -/* 0470C4 8004C664 801B0008 */ lwz r0, 8(r27) -/* 0470C8 8004C668 38600000 */ li r3, 0 -/* 0470CC 8004C66C 38830000 */ addi r4, r3, 0 -/* 0470D0 8004C670 2C000000 */ cmpwi r0, 0 -/* 0470D4 8004C674 7C0903A6 */ mtctr r0 -/* 0470D8 8004C678 40810034 */ ble lbl_8004C6AC -lbl_8004C67C: -/* 0470DC 8004C67C 80BB000C */ lwz r5, 0xc(r27) -/* 0470E0 8004C680 38040004 */ addi r0, r4, 4 -/* 0470E4 8004C684 7C05002E */ lwzx r0, r5, r0 -/* 0470E8 8004C688 7C140000 */ cmpw r20, r0 -/* 0470EC 8004C68C 40820014 */ bne lbl_8004C6A0 -/* 0470F0 8004C690 54601838 */ slwi r0, r3, 3 -/* 0470F4 8004C694 7F25002E */ lwzx r25, r5, r0 -/* 0470F8 8004C698 38000001 */ li r0, 1 -/* 0470FC 8004C69C 48000014 */ b lbl_8004C6B0 -lbl_8004C6A0: -/* 047100 8004C6A0 38840008 */ addi r4, r4, 8 -/* 047104 8004C6A4 38630001 */ addi r3, r3, 1 -/* 047108 8004C6A8 4200FFD4 */ bdnz lbl_8004C67C -lbl_8004C6AC: -/* 04710C 8004C6AC 38000000 */ li r0, 0 -lbl_8004C6B0: -/* 047110 8004C6B0 2C000000 */ cmpwi r0, 0 -/* 047114 8004C6B4 4082000C */ bne lbl_8004C6C0 -/* 047118 8004C6B8 38600000 */ li r3, 0 -/* 04711C 8004C6BC 4801BB68 */ b lbl_80068224 -lbl_8004C6C0: -/* 047120 8004C6C0 281F0000 */ cmplwi r31, 0 -/* 047124 8004C6C4 41820010 */ beq lbl_8004C6D4 -/* 047128 8004C6C8 80010084 */ lwz r0, 0x84(r1) -/* 04712C 8004C6CC 7C00C850 */ subf r0, r0, r25 -/* 047130 8004C6D0 5415103A */ slwi r21, r0, 2 -lbl_8004C6D4: -/* 047134 8004C6D4 281F0000 */ cmplwi r31, 0 -/* 047138 8004C6D8 41820024 */ beq lbl_8004C6FC -/* 04713C 8004C6DC 80610084 */ lwz r3, 0x84(r1) -/* 047140 8004C6E0 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 047144 8004C6E4 64044800 */ oris r4, r0, 0x4800 -/* 047148 8004C6E8 38030001 */ addi r0, r3, 1 -/* 04714C 8004C6EC 90010084 */ stw r0, 0x84(r1) -/* 047150 8004C6F0 5460103A */ slwi r0, r3, 2 -/* 047154 8004C6F4 7C9F012E */ stwx r4, r31, r0 -/* 047158 8004C6F8 48000010 */ b lbl_8004C708 -lbl_8004C6FC: -/* 04715C 8004C6FC 80610084 */ lwz r3, 0x84(r1) -/* 047160 8004C700 38030001 */ addi r0, r3, 1 -/* 047164 8004C704 90010084 */ stw r0, 0x84(r1) -lbl_8004C708: -/* 047168 8004C708 281F0000 */ cmplwi r31, 0 -/* 04716C 8004C70C 40820008 */ bne lbl_8004C714 -/* 047170 8004C710 4801B824 */ b lbl_80067F34 -lbl_8004C714: -/* 047174 8004C714 80610084 */ lwz r3, 0x84(r1) -/* 047178 8004C718 56E0103A */ slwi r0, r23, 2 -/* 04717C 8004C71C 7C771850 */ subf r3, r23, r3 -/* 047180 8004C720 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 047184 8004C724 64634182 */ oris r3, r3, 0x4182 -/* 047188 8004C728 7C7F012E */ stwx r3, r31, r0 -/* 04718C 8004C72C 4801B808 */ b lbl_80067F34 -.global lbl_8004C730 -lbl_8004C730: -/* 047190 8004C730 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 047194 8004C734 80720000 */ lwz r3, 0(r18) -/* 047198 8004C738 7C9A0214 */ add r4, r26, r0 -/* 04719C 8004C73C 80040818 */ lwz r0, 0x818(r4) -/* 0471A0 8004C740 5784043E */ clrlwi r4, r28, 0x10 -/* 0471A4 8004C744 7C850734 */ extsh r5, r4 -/* 0471A8 8004C748 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 0471AC 8004C74C 54A4103A */ slwi r4, r5, 2 -/* 0471B0 8004C750 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 0471B4 8004C754 7E832214 */ add r20, r3, r4 -/* 0471B8 8004C758 4182014C */ beq lbl_8004C8A4 -/* 0471BC 8004C75C 3C7E0001 */ addis r3, r30, 1 -/* 0471C0 8004C760 80832064 */ lwz r4, 0x2064(r3) -/* 0471C4 8004C764 38000006 */ li r0, 6 -/* 0471C8 8004C768 28040000 */ cmplwi r4, 0 -/* 0471CC 8004C76C 4082000C */ bne lbl_8004C778 -/* 0471D0 8004C770 38800000 */ li r4, 0 -/* 0471D4 8004C774 48000094 */ b lbl_8004C808 -lbl_8004C778: -/* 0471D8 8004C778 80832068 */ lwz r4, 0x2068(r3) -/* 0471DC 8004C77C 28040000 */ cmplwi r4, 0 -/* 0471E0 8004C780 4082000C */ bne lbl_8004C78C -/* 0471E4 8004C784 38800000 */ li r4, 0 -/* 0471E8 8004C788 48000080 */ b lbl_8004C808 -lbl_8004C78C: -/* 0471EC 8004C78C 8063206C */ lwz r3, 0x206c(r3) -/* 0471F0 8004C790 7C071800 */ cmpw r7, r3 -/* 0471F4 8004C794 4182000C */ beq lbl_8004C7A0 -/* 0471F8 8004C798 38800000 */ li r4, 0 -/* 0471FC 8004C79C 4800006C */ b lbl_8004C808 -lbl_8004C7A0: -/* 047200 8004C7A0 80BE0034 */ lwz r5, 0x34(r30) -/* 047204 8004C7A4 38800000 */ li r4, 0 -/* 047208 8004C7A8 80650008 */ lwz r3, 8(r5) -/* 04720C 8004C7AC 2C030000 */ cmpwi r3, 0 -/* 047210 8004C7B0 7C6903A6 */ mtctr r3 -/* 047214 8004C7B4 40810028 */ ble lbl_8004C7DC -lbl_8004C7B8: -/* 047218 8004C7B8 8065000C */ lwz r3, 0xc(r5) -/* 04721C 8004C7BC 38C40004 */ addi r6, r4, 4 -/* 047220 8004C7C0 7C63302E */ lwzx r3, r3, r6 -/* 047224 8004C7C4 7C1D1800 */ cmpw r29, r3 -/* 047228 8004C7C8 4082000C */ bne lbl_8004C7D4 -/* 04722C 8004C7CC 38600000 */ li r3, 0 -/* 047230 8004C7D0 48000010 */ b lbl_8004C7E0 -lbl_8004C7D4: -/* 047234 8004C7D4 38840008 */ addi r4, r4, 8 -/* 047238 8004C7D8 4200FFE0 */ bdnz lbl_8004C7B8 -lbl_8004C7DC: -/* 04723C 8004C7DC 38600001 */ li r3, 1 -lbl_8004C7E0: -/* 047240 8004C7E0 2C030000 */ cmpwi r3, 0 -/* 047244 8004C7E4 40820014 */ bne lbl_8004C7F8 -/* 047248 8004C7E8 38800000 */ li r4, 0 -/* 04724C 8004C7EC 3C7E0001 */ addis r3, r30, 1 -/* 047250 8004C7F0 90832068 */ stw r4, 0x2068(r3) -/* 047254 8004C7F4 48000014 */ b lbl_8004C808 -lbl_8004C7F8: -/* 047258 8004C7F8 3C7E0001 */ addis r3, r30, 1 -/* 04725C 8004C7FC 38800000 */ li r4, 0 -/* 047260 8004C800 90832068 */ stw r4, 0x2068(r3) -/* 047264 8004C804 38800001 */ li r4, 1 -lbl_8004C808: -/* 047268 8004C808 2C040000 */ cmpwi r4, 0 -/* 04726C 8004C80C 41820050 */ beq lbl_8004C85C -/* 047270 8004C810 281F0000 */ cmplwi r31, 0 -/* 047274 8004C814 41820038 */ beq lbl_8004C84C -/* 047278 8004C818 3C7E0001 */ addis r3, r30, 1 -/* 04727C 8004C81C 80810084 */ lwz r4, 0x84(r1) -/* 047280 8004C820 80C32070 */ lwz r6, 0x2070(r3) -/* 047284 8004C824 38640001 */ addi r3, r4, 1 -/* 047288 8004C828 54C5A814 */ slwi r5, r6, 0x15 -/* 04728C 8004C82C 90610084 */ stw r3, 0x84(r1) -/* 047290 8004C830 64A37C06 */ oris r3, r5, 0x7c06 -/* 047294 8004C834 54C55828 */ slwi r5, r6, 0xb -/* 047298 8004C838 60630378 */ ori r3, r3, 0x378 -/* 04729C 8004C83C 7CA31B78 */ or r3, r5, r3 -/* 0472A0 8004C840 5484103A */ slwi r4, r4, 2 -/* 0472A4 8004C844 7C7F212E */ stwx r3, r31, r4 -/* 0472A8 8004C848 4800005C */ b lbl_8004C8A4 -lbl_8004C84C: -/* 0472AC 8004C84C 80610084 */ lwz r3, 0x84(r1) -/* 0472B0 8004C850 38630001 */ addi r3, r3, 1 -/* 0472B4 8004C854 90610084 */ stw r3, 0x84(r1) -/* 0472B8 8004C858 4800004C */ b lbl_8004C8A4 -lbl_8004C85C: -/* 0472BC 8004C85C 281F0000 */ cmplwi r31, 0 -/* 0472C0 8004C860 41820038 */ beq lbl_8004C898 -/* 0472C4 8004C864 54E41838 */ slwi r4, r7, 3 -/* 0472C8 8004C868 80610084 */ lwz r3, 0x84(r1) -/* 0472CC 8004C86C 38840040 */ addi r4, r4, 0x40 -/* 0472D0 8004C870 7C9E2214 */ add r4, r30, r4 -/* 0472D4 8004C874 7C9E2050 */ subf r4, r30, r4 -/* 0472D8 8004C878 38840004 */ addi r4, r4, 4 -/* 0472DC 8004C87C 38A30001 */ addi r5, r3, 1 -/* 0472E0 8004C880 5484043E */ clrlwi r4, r4, 0x10 -/* 0472E4 8004C884 90A10084 */ stw r5, 0x84(r1) -/* 0472E8 8004C888 3C8480C3 */ addis r4, r4, 0x80c3 -/* 0472EC 8004C88C 5463103A */ slwi r3, r3, 2 -/* 0472F0 8004C890 7C9F192E */ stwx r4, r31, r3 -/* 0472F4 8004C894 48000010 */ b lbl_8004C8A4 -lbl_8004C898: -/* 0472F8 8004C898 80610084 */ lwz r3, 0x84(r1) -/* 0472FC 8004C89C 38630001 */ addi r3, r3, 1 -/* 047300 8004C8A0 90610084 */ stw r3, 0x84(r1) -lbl_8004C8A4: -/* 047304 8004C8A4 281F0000 */ cmplwi r31, 0 -/* 047308 8004C8A8 41820024 */ beq lbl_8004C8CC -/* 04730C 8004C8AC 80610084 */ lwz r3, 0x84(r1) -/* 047310 8004C8B0 5400801E */ slwi r0, r0, 0x10 -/* 047314 8004C8B4 64042C00 */ oris r4, r0, 0x2c00 -/* 047318 8004C8B8 38030001 */ addi r0, r3, 1 -/* 04731C 8004C8BC 90010084 */ stw r0, 0x84(r1) -/* 047320 8004C8C0 5460103A */ slwi r0, r3, 2 -/* 047324 8004C8C4 7C9F012E */ stwx r4, r31, r0 -/* 047328 8004C8C8 48000010 */ b lbl_8004C8D8 -lbl_8004C8CC: -/* 04732C 8004C8CC 80610084 */ lwz r3, 0x84(r1) -/* 047330 8004C8D0 38030001 */ addi r0, r3, 1 -/* 047334 8004C8D4 90010084 */ stw r0, 0x84(r1) -lbl_8004C8D8: -/* 047338 8004C8D8 82E10084 */ lwz r23, 0x84(r1) -/* 04733C 8004C8DC 387E0000 */ addi r3, r30, 0 -/* 047340 8004C8E0 38920000 */ addi r4, r18, 0 -/* 047344 8004C8E4 38170001 */ addi r0, r23, 1 -/* 047348 8004C8E8 90010084 */ stw r0, 0x84(r1) -/* 04734C 8004C8EC 38BB0000 */ addi r5, r27, 0 -/* 047350 8004C8F0 38DF0000 */ addi r6, r31, 0 -/* 047354 8004C8F4 38E10084 */ addi r7, r1, 0x84 -/* 047358 8004C8F8 39000001 */ li r8, 1 -/* 04735C 8004C8FC 4BFF2509 */ bl cpuGetPPC -/* 047360 8004C900 2C030000 */ cmpwi r3, 0 -/* 047364 8004C904 4082000C */ bne lbl_8004C910 -/* 047368 8004C908 38600000 */ li r3, 0 -/* 04736C 8004C90C 4801B918 */ b lbl_80068224 -lbl_8004C910: -/* 047370 8004C910 80720000 */ lwz r3, 0(r18) -/* 047374 8004C914 281F0000 */ cmplwi r31, 0 -/* 047378 8004C918 3803FFFC */ addi r0, r3, -4 -/* 04737C 8004C91C 90120000 */ stw r0, 0(r18) -/* 047380 8004C920 40820010 */ bne lbl_8004C930 -/* 047384 8004C924 3B200000 */ li r25, 0 -/* 047388 8004C928 38000001 */ li r0, 1 -/* 04738C 8004C92C 48000050 */ b lbl_8004C97C -lbl_8004C930: -/* 047390 8004C930 801B0008 */ lwz r0, 8(r27) -/* 047394 8004C934 38600000 */ li r3, 0 -/* 047398 8004C938 38830000 */ addi r4, r3, 0 -/* 04739C 8004C93C 2C000000 */ cmpwi r0, 0 -/* 0473A0 8004C940 7C0903A6 */ mtctr r0 -/* 0473A4 8004C944 40810034 */ ble lbl_8004C978 -lbl_8004C948: -/* 0473A8 8004C948 80BB000C */ lwz r5, 0xc(r27) -/* 0473AC 8004C94C 38040004 */ addi r0, r4, 4 -/* 0473B0 8004C950 7C05002E */ lwzx r0, r5, r0 -/* 0473B4 8004C954 7C140000 */ cmpw r20, r0 -/* 0473B8 8004C958 40820014 */ bne lbl_8004C96C -/* 0473BC 8004C95C 54601838 */ slwi r0, r3, 3 -/* 0473C0 8004C960 7F25002E */ lwzx r25, r5, r0 -/* 0473C4 8004C964 38000001 */ li r0, 1 -/* 0473C8 8004C968 48000014 */ b lbl_8004C97C -lbl_8004C96C: -/* 0473CC 8004C96C 38840008 */ addi r4, r4, 8 -/* 0473D0 8004C970 38630001 */ addi r3, r3, 1 -/* 0473D4 8004C974 4200FFD4 */ bdnz lbl_8004C948 -lbl_8004C978: -/* 0473D8 8004C978 38000000 */ li r0, 0 -lbl_8004C97C: -/* 0473DC 8004C97C 2C000000 */ cmpwi r0, 0 -/* 0473E0 8004C980 4082000C */ bne lbl_8004C98C -/* 0473E4 8004C984 38600000 */ li r3, 0 -/* 0473E8 8004C988 4801B89C */ b lbl_80068224 -lbl_8004C98C: -/* 0473EC 8004C98C 281F0000 */ cmplwi r31, 0 -/* 0473F0 8004C990 41820010 */ beq lbl_8004C9A0 -/* 0473F4 8004C994 80010084 */ lwz r0, 0x84(r1) -/* 0473F8 8004C998 7C00C850 */ subf r0, r0, r25 -/* 0473FC 8004C99C 5415103A */ slwi r21, r0, 2 -lbl_8004C9A0: -/* 047400 8004C9A0 281F0000 */ cmplwi r31, 0 -/* 047404 8004C9A4 41820024 */ beq lbl_8004C9C8 -/* 047408 8004C9A8 80610084 */ lwz r3, 0x84(r1) -/* 04740C 8004C9AC 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 047410 8004C9B0 64044800 */ oris r4, r0, 0x4800 -/* 047414 8004C9B4 38030001 */ addi r0, r3, 1 -/* 047418 8004C9B8 90010084 */ stw r0, 0x84(r1) -/* 04741C 8004C9BC 5460103A */ slwi r0, r3, 2 -/* 047420 8004C9C0 7C9F012E */ stwx r4, r31, r0 -/* 047424 8004C9C4 48000010 */ b lbl_8004C9D4 -lbl_8004C9C8: -/* 047428 8004C9C8 80610084 */ lwz r3, 0x84(r1) -/* 04742C 8004C9CC 38030001 */ addi r0, r3, 1 -/* 047430 8004C9D0 90010084 */ stw r0, 0x84(r1) -lbl_8004C9D4: -/* 047434 8004C9D4 281F0000 */ cmplwi r31, 0 -/* 047438 8004C9D8 40820008 */ bne lbl_8004C9E0 -/* 04743C 8004C9DC 4801B558 */ b lbl_80067F34 -lbl_8004C9E0: -/* 047440 8004C9E0 80610084 */ lwz r3, 0x84(r1) -/* 047444 8004C9E4 56E0103A */ slwi r0, r23, 2 -/* 047448 8004C9E8 7C771850 */ subf r3, r23, r3 -/* 04744C 8004C9EC 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 047450 8004C9F0 64634181 */ oris r3, r3, 0x4181 -/* 047454 8004C9F4 7C7F012E */ stwx r3, r31, r0 -/* 047458 8004C9F8 4801B53C */ b lbl_80067F34 -.global lbl_8004C9FC -lbl_8004C9FC: -/* 04745C 8004C9FC 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 047460 8004CA00 80720000 */ lwz r3, 0(r18) -/* 047464 8004CA04 7C9A0214 */ add r4, r26, r0 -/* 047468 8004CA08 80040818 */ lwz r0, 0x818(r4) -/* 04746C 8004CA0C 5784043E */ clrlwi r4, r28, 0x10 -/* 047470 8004CA10 7C850734 */ extsh r5, r4 -/* 047474 8004CA14 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 047478 8004CA18 54A4103A */ slwi r4, r5, 2 -/* 04747C 8004CA1C 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 047480 8004CA20 7E832214 */ add r20, r3, r4 -/* 047484 8004CA24 4182014C */ beq lbl_8004CB70 -/* 047488 8004CA28 3C7E0001 */ addis r3, r30, 1 -/* 04748C 8004CA2C 80832064 */ lwz r4, 0x2064(r3) -/* 047490 8004CA30 38000006 */ li r0, 6 -/* 047494 8004CA34 28040000 */ cmplwi r4, 0 -/* 047498 8004CA38 4082000C */ bne lbl_8004CA44 -/* 04749C 8004CA3C 38800000 */ li r4, 0 -/* 0474A0 8004CA40 48000094 */ b lbl_8004CAD4 -lbl_8004CA44: -/* 0474A4 8004CA44 80832068 */ lwz r4, 0x2068(r3) -/* 0474A8 8004CA48 28040000 */ cmplwi r4, 0 -/* 0474AC 8004CA4C 4082000C */ bne lbl_8004CA58 -/* 0474B0 8004CA50 38800000 */ li r4, 0 -/* 0474B4 8004CA54 48000080 */ b lbl_8004CAD4 -lbl_8004CA58: -/* 0474B8 8004CA58 8063206C */ lwz r3, 0x206c(r3) -/* 0474BC 8004CA5C 7C071800 */ cmpw r7, r3 -/* 0474C0 8004CA60 4182000C */ beq lbl_8004CA6C -/* 0474C4 8004CA64 38800000 */ li r4, 0 -/* 0474C8 8004CA68 4800006C */ b lbl_8004CAD4 -lbl_8004CA6C: -/* 0474CC 8004CA6C 80BE0034 */ lwz r5, 0x34(r30) -/* 0474D0 8004CA70 38800000 */ li r4, 0 -/* 0474D4 8004CA74 80650008 */ lwz r3, 8(r5) -/* 0474D8 8004CA78 2C030000 */ cmpwi r3, 0 -/* 0474DC 8004CA7C 7C6903A6 */ mtctr r3 -/* 0474E0 8004CA80 40810028 */ ble lbl_8004CAA8 -lbl_8004CA84: -/* 0474E4 8004CA84 8065000C */ lwz r3, 0xc(r5) -/* 0474E8 8004CA88 38C40004 */ addi r6, r4, 4 -/* 0474EC 8004CA8C 7C63302E */ lwzx r3, r3, r6 -/* 0474F0 8004CA90 7C1D1800 */ cmpw r29, r3 -/* 0474F4 8004CA94 4082000C */ bne lbl_8004CAA0 -/* 0474F8 8004CA98 38600000 */ li r3, 0 -/* 0474FC 8004CA9C 48000010 */ b lbl_8004CAAC -lbl_8004CAA0: -/* 047500 8004CAA0 38840008 */ addi r4, r4, 8 -/* 047504 8004CAA4 4200FFE0 */ bdnz lbl_8004CA84 -lbl_8004CAA8: -/* 047508 8004CAA8 38600001 */ li r3, 1 -lbl_8004CAAC: -/* 04750C 8004CAAC 2C030000 */ cmpwi r3, 0 -/* 047510 8004CAB0 40820014 */ bne lbl_8004CAC4 -/* 047514 8004CAB4 38800000 */ li r4, 0 -/* 047518 8004CAB8 3C7E0001 */ addis r3, r30, 1 -/* 04751C 8004CABC 90832068 */ stw r4, 0x2068(r3) -/* 047520 8004CAC0 48000014 */ b lbl_8004CAD4 -lbl_8004CAC4: -/* 047524 8004CAC4 3C7E0001 */ addis r3, r30, 1 -/* 047528 8004CAC8 38800000 */ li r4, 0 -/* 04752C 8004CACC 90832068 */ stw r4, 0x2068(r3) -/* 047530 8004CAD0 38800001 */ li r4, 1 -lbl_8004CAD4: -/* 047534 8004CAD4 2C040000 */ cmpwi r4, 0 -/* 047538 8004CAD8 41820050 */ beq lbl_8004CB28 -/* 04753C 8004CADC 281F0000 */ cmplwi r31, 0 -/* 047540 8004CAE0 41820038 */ beq lbl_8004CB18 -/* 047544 8004CAE4 3C7E0001 */ addis r3, r30, 1 -/* 047548 8004CAE8 80810084 */ lwz r4, 0x84(r1) -/* 04754C 8004CAEC 80C32070 */ lwz r6, 0x2070(r3) -/* 047550 8004CAF0 38640001 */ addi r3, r4, 1 -/* 047554 8004CAF4 54C5A814 */ slwi r5, r6, 0x15 -/* 047558 8004CAF8 90610084 */ stw r3, 0x84(r1) -/* 04755C 8004CAFC 64A37C06 */ oris r3, r5, 0x7c06 -/* 047560 8004CB00 54C55828 */ slwi r5, r6, 0xb -/* 047564 8004CB04 60630378 */ ori r3, r3, 0x378 -/* 047568 8004CB08 7CA31B78 */ or r3, r5, r3 -/* 04756C 8004CB0C 5484103A */ slwi r4, r4, 2 -/* 047570 8004CB10 7C7F212E */ stwx r3, r31, r4 -/* 047574 8004CB14 4800005C */ b lbl_8004CB70 -lbl_8004CB18: -/* 047578 8004CB18 80610084 */ lwz r3, 0x84(r1) -/* 04757C 8004CB1C 38630001 */ addi r3, r3, 1 -/* 047580 8004CB20 90610084 */ stw r3, 0x84(r1) -/* 047584 8004CB24 4800004C */ b lbl_8004CB70 -lbl_8004CB28: -/* 047588 8004CB28 281F0000 */ cmplwi r31, 0 -/* 04758C 8004CB2C 41820038 */ beq lbl_8004CB64 -/* 047590 8004CB30 54E41838 */ slwi r4, r7, 3 -/* 047594 8004CB34 80610084 */ lwz r3, 0x84(r1) -/* 047598 8004CB38 38840040 */ addi r4, r4, 0x40 -/* 04759C 8004CB3C 7C9E2214 */ add r4, r30, r4 -/* 0475A0 8004CB40 7C9E2050 */ subf r4, r30, r4 -/* 0475A4 8004CB44 38840004 */ addi r4, r4, 4 -/* 0475A8 8004CB48 38A30001 */ addi r5, r3, 1 -/* 0475AC 8004CB4C 5484043E */ clrlwi r4, r4, 0x10 -/* 0475B0 8004CB50 90A10084 */ stw r5, 0x84(r1) -/* 0475B4 8004CB54 3C8480C3 */ addis r4, r4, 0x80c3 -/* 0475B8 8004CB58 5463103A */ slwi r3, r3, 2 -/* 0475BC 8004CB5C 7C9F192E */ stwx r4, r31, r3 -/* 0475C0 8004CB60 48000010 */ b lbl_8004CB70 -lbl_8004CB64: -/* 0475C4 8004CB64 80610084 */ lwz r3, 0x84(r1) -/* 0475C8 8004CB68 38630001 */ addi r3, r3, 1 -/* 0475CC 8004CB6C 90610084 */ stw r3, 0x84(r1) -lbl_8004CB70: -/* 0475D0 8004CB70 281F0000 */ cmplwi r31, 0 -/* 0475D4 8004CB74 41820024 */ beq lbl_8004CB98 -/* 0475D8 8004CB78 80610084 */ lwz r3, 0x84(r1) -/* 0475DC 8004CB7C 5400801E */ slwi r0, r0, 0x10 -/* 0475E0 8004CB80 64042C00 */ oris r4, r0, 0x2c00 -/* 0475E4 8004CB84 38030001 */ addi r0, r3, 1 -/* 0475E8 8004CB88 90010084 */ stw r0, 0x84(r1) -/* 0475EC 8004CB8C 5460103A */ slwi r0, r3, 2 -/* 0475F0 8004CB90 7C9F012E */ stwx r4, r31, r0 -/* 0475F4 8004CB94 48000010 */ b lbl_8004CBA4 -lbl_8004CB98: -/* 0475F8 8004CB98 80610084 */ lwz r3, 0x84(r1) -/* 0475FC 8004CB9C 38030001 */ addi r0, r3, 1 -/* 047600 8004CBA0 90010084 */ stw r0, 0x84(r1) -lbl_8004CBA4: -/* 047604 8004CBA4 82E10084 */ lwz r23, 0x84(r1) -/* 047608 8004CBA8 387E0000 */ addi r3, r30, 0 -/* 04760C 8004CBAC 38920000 */ addi r4, r18, 0 -/* 047610 8004CBB0 38170001 */ addi r0, r23, 1 -/* 047614 8004CBB4 90010084 */ stw r0, 0x84(r1) -/* 047618 8004CBB8 38BB0000 */ addi r5, r27, 0 -/* 04761C 8004CBBC 38DF0000 */ addi r6, r31, 0 -/* 047620 8004CBC0 38E10084 */ addi r7, r1, 0x84 -/* 047624 8004CBC4 39000001 */ li r8, 1 -/* 047628 8004CBC8 4BFF223D */ bl cpuGetPPC -/* 04762C 8004CBCC 2C030000 */ cmpwi r3, 0 -/* 047630 8004CBD0 4082000C */ bne lbl_8004CBDC -/* 047634 8004CBD4 38600000 */ li r3, 0 -/* 047638 8004CBD8 4801B64C */ b lbl_80068224 -lbl_8004CBDC: -/* 04763C 8004CBDC 80720000 */ lwz r3, 0(r18) -/* 047640 8004CBE0 281F0000 */ cmplwi r31, 0 -/* 047644 8004CBE4 3803FFFC */ addi r0, r3, -4 -/* 047648 8004CBE8 90120000 */ stw r0, 0(r18) -/* 04764C 8004CBEC 40820010 */ bne lbl_8004CBFC -/* 047650 8004CBF0 3B200000 */ li r25, 0 -/* 047654 8004CBF4 38000001 */ li r0, 1 -/* 047658 8004CBF8 48000050 */ b lbl_8004CC48 -lbl_8004CBFC: -/* 04765C 8004CBFC 801B0008 */ lwz r0, 8(r27) -/* 047660 8004CC00 38600000 */ li r3, 0 -/* 047664 8004CC04 38830000 */ addi r4, r3, 0 -/* 047668 8004CC08 2C000000 */ cmpwi r0, 0 -/* 04766C 8004CC0C 7C0903A6 */ mtctr r0 -/* 047670 8004CC10 40810034 */ ble lbl_8004CC44 -lbl_8004CC14: -/* 047674 8004CC14 80BB000C */ lwz r5, 0xc(r27) -/* 047678 8004CC18 38040004 */ addi r0, r4, 4 -/* 04767C 8004CC1C 7C05002E */ lwzx r0, r5, r0 -/* 047680 8004CC20 7C140000 */ cmpw r20, r0 -/* 047684 8004CC24 40820014 */ bne lbl_8004CC38 -/* 047688 8004CC28 54601838 */ slwi r0, r3, 3 -/* 04768C 8004CC2C 7F25002E */ lwzx r25, r5, r0 -/* 047690 8004CC30 38000001 */ li r0, 1 -/* 047694 8004CC34 48000014 */ b lbl_8004CC48 -lbl_8004CC38: -/* 047698 8004CC38 38840008 */ addi r4, r4, 8 -/* 04769C 8004CC3C 38630001 */ addi r3, r3, 1 -/* 0476A0 8004CC40 4200FFD4 */ bdnz lbl_8004CC14 -lbl_8004CC44: -/* 0476A4 8004CC44 38000000 */ li r0, 0 -lbl_8004CC48: -/* 0476A8 8004CC48 2C000000 */ cmpwi r0, 0 -/* 0476AC 8004CC4C 4082000C */ bne lbl_8004CC58 -/* 0476B0 8004CC50 38600000 */ li r3, 0 -/* 0476B4 8004CC54 4801B5D0 */ b lbl_80068224 -lbl_8004CC58: -/* 0476B8 8004CC58 281F0000 */ cmplwi r31, 0 -/* 0476BC 8004CC5C 41820010 */ beq lbl_8004CC6C -/* 0476C0 8004CC60 80010084 */ lwz r0, 0x84(r1) -/* 0476C4 8004CC64 7C00C850 */ subf r0, r0, r25 -/* 0476C8 8004CC68 5415103A */ slwi r21, r0, 2 -lbl_8004CC6C: -/* 0476CC 8004CC6C 281F0000 */ cmplwi r31, 0 -/* 0476D0 8004CC70 41820024 */ beq lbl_8004CC94 -/* 0476D4 8004CC74 80610084 */ lwz r3, 0x84(r1) -/* 0476D8 8004CC78 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 0476DC 8004CC7C 64044800 */ oris r4, r0, 0x4800 -/* 0476E0 8004CC80 38030001 */ addi r0, r3, 1 -/* 0476E4 8004CC84 90010084 */ stw r0, 0x84(r1) -/* 0476E8 8004CC88 5460103A */ slwi r0, r3, 2 -/* 0476EC 8004CC8C 7C9F012E */ stwx r4, r31, r0 -/* 0476F0 8004CC90 48000010 */ b lbl_8004CCA0 -lbl_8004CC94: -/* 0476F4 8004CC94 80610084 */ lwz r3, 0x84(r1) -/* 0476F8 8004CC98 38030001 */ addi r0, r3, 1 -/* 0476FC 8004CC9C 90010084 */ stw r0, 0x84(r1) -lbl_8004CCA0: -/* 047700 8004CCA0 281F0000 */ cmplwi r31, 0 -/* 047704 8004CCA4 40820008 */ bne lbl_8004CCAC -/* 047708 8004CCA8 4801B28C */ b lbl_80067F34 -lbl_8004CCAC: -/* 04770C 8004CCAC 80610084 */ lwz r3, 0x84(r1) -/* 047710 8004CCB0 56E0103A */ slwi r0, r23, 2 -/* 047714 8004CCB4 7C771850 */ subf r3, r23, r3 -/* 047718 8004CCB8 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 04771C 8004CCBC 64634081 */ oris r3, r3, 0x4081 -/* 047720 8004CCC0 7C7F012E */ stwx r3, r31, r0 -/* 047724 8004CCC4 4801B270 */ b lbl_80067F34 -.global lbl_8004CCC8 -lbl_8004CCC8: -/* 047728 8004CCC8 3C7E0001 */ addis r3, r30, 1 -/* 04772C 8004CCCC 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 047730 8004CCD0 80832058 */ lwz r4, 0x2058(r3) -/* 047734 8004CCD4 38000001 */ li r0, 1 -/* 047738 8004CCD8 7C062830 */ slw r6, r0, r5 -/* 04773C 8004CCDC 7C863039 */ and. r6, r4, r6 -/* 047740 8004CCE0 41820018 */ beq lbl_8004CCF8 -/* 047744 8004CCE4 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 047748 8004CCE8 7C003030 */ slw r0, r0, r6 -/* 04774C 8004CCEC 7C800378 */ or r0, r4, r0 -/* 047750 8004CCF0 90032058 */ stw r0, 0x2058(r3) -/* 047754 8004CCF4 48000014 */ b lbl_8004CD08 -lbl_8004CCF8: -/* 047758 8004CCF8 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 04775C 8004CCFC 7C003030 */ slw r0, r0, r6 -/* 047760 8004CD00 7C800078 */ andc r0, r4, r0 -/* 047764 8004CD04 90032058 */ stw r0, 0x2058(r3) -lbl_8004CD08: -/* 047768 8004CD08 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 04776C 8004CD0C 7D7A0214 */ add r11, r26, r0 -/* 047770 8004CD10 840B0818 */ lwzu r0, 0x818(r11) -/* 047774 8004CD14 578A86FE */ rlwinm r10, r28, 0x10, 0x1b, 0x1f -/* 047778 8004CD18 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 04777C 8004CD1C 39200000 */ li r9, 0 -/* 047780 8004CD20 38600000 */ li r3, 0 -/* 047784 8004CD24 4182000C */ beq lbl_8004CD30 -/* 047788 8004CD28 38000005 */ li r0, 5 -/* 04778C 8004CD2C 38600001 */ li r3, 1 -lbl_8004CD30: -/* 047790 8004CD30 5788043E */ clrlwi r8, r28, 0x10 -/* 047794 8004CD34 7D040734 */ extsh r4, r8 -/* 047798 8004CD38 7C840735 */ extsh. r4, r4 -/* 04779C 8004CD3C 40820334 */ bne lbl_8004D070 -/* 0477A0 8004CD40 2805001F */ cmplwi r5, 0x1f -/* 0477A4 8004CD44 4082009C */ bne lbl_8004CDE0 -/* 0477A8 8004CD48 3C9E0001 */ addis r4, r30, 1 -/* 0477AC 8004CD4C 8084205C */ lwz r4, 0x205c(r4) -/* 0477B0 8004CD50 5484077B */ rlwinm. r4, r4, 0, 0x1d, 0x1d -/* 0477B4 8004CD54 4082008C */ bne lbl_8004CDE0 -/* 0477B8 8004CD58 281F0000 */ cmplwi r31, 0 -/* 0477BC 8004CD5C 41820028 */ beq lbl_8004CD84 -/* 0477C0 8004CD60 80610084 */ lwz r3, 0x84(r1) -/* 0477C4 8004CD64 389E0038 */ addi r4, r30, 0x38 -/* 0477C8 8004CD68 7C9E2050 */ subf r4, r30, r4 -/* 0477CC 8004CD6C 38C30001 */ addi r6, r3, 1 -/* 0477D0 8004CD70 90C10084 */ stw r6, 0x84(r1) -/* 0477D4 8004CD74 3C8480C3 */ addis r4, r4, 0x80c3 -/* 0477D8 8004CD78 5463103A */ slwi r3, r3, 2 -/* 0477DC 8004CD7C 7C9F192E */ stwx r4, r31, r3 -/* 0477E0 8004CD80 48000010 */ b lbl_8004CD90 -lbl_8004CD84: -/* 0477E4 8004CD84 80610084 */ lwz r3, 0x84(r1) -/* 0477E8 8004CD88 38630001 */ addi r3, r3, 1 -/* 0477EC 8004CD8C 90610084 */ stw r3, 0x84(r1) -lbl_8004CD90: -/* 0477F0 8004CD90 281F0000 */ cmplwi r31, 0 -/* 0477F4 8004CD94 41820028 */ beq lbl_8004CDBC -/* 0477F8 8004CD98 80810084 */ lwz r4, 0x84(r1) -/* 0477FC 8004CD9C 5403801E */ slwi r3, r0, 0x10 -/* 047800 8004CDA0 64667CC0 */ oris r6, r3, 0x7cc0 -/* 047804 8004CDA4 38640001 */ addi r3, r4, 1 -/* 047808 8004CDA8 90610084 */ stw r3, 0x84(r1) -/* 04780C 8004CDAC 60C63378 */ ori r6, r6, 0x3378 -/* 047810 8004CDB0 5483103A */ slwi r3, r4, 2 -/* 047814 8004CDB4 7CDF192E */ stwx r6, r31, r3 -/* 047818 8004CDB8 48000010 */ b lbl_8004CDC8 -lbl_8004CDBC: -/* 04781C 8004CDBC 80610084 */ lwz r3, 0x84(r1) -/* 047820 8004CDC0 38630001 */ addi r3, r3, 1 -/* 047824 8004CDC4 90610084 */ stw r3, 0x84(r1) -lbl_8004CDC8: -/* 047828 8004CDC8 3C7E0001 */ addis r3, r30, 1 -/* 04782C 8004CDCC 8083205C */ lwz r4, 0x205c(r3) -/* 047830 8004CDD0 39200001 */ li r9, 1 -/* 047834 8004CDD4 60840008 */ ori r4, r4, 8 -/* 047838 8004CDD8 9083205C */ stw r4, 0x205c(r3) -/* 04783C 8004CDDC 480001CC */ b lbl_8004CFA8 -lbl_8004CDE0: -/* 047840 8004CDE0 2C030000 */ cmpwi r3, 0 -/* 047844 8004CDE4 408200B4 */ bne lbl_8004CE98 -/* 047848 8004CDE8 54A3103A */ slwi r3, r5, 2 -/* 04784C 8004CDEC 7C7A1A14 */ add r3, r26, r3 -/* 047850 8004CDF0 80C30818 */ lwz r6, 0x818(r3) -/* 047854 8004CDF4 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 047858 8004CDF8 41820054 */ beq lbl_8004CE4C -/* 04785C 8004CDFC 281F0000 */ cmplwi r31, 0 -/* 047860 8004CE00 4182003C */ beq lbl_8004CE3C -/* 047864 8004CE04 54A41838 */ slwi r4, r5, 3 -/* 047868 8004CE08 80610084 */ lwz r3, 0x84(r1) -/* 04786C 8004CE0C 38840040 */ addi r4, r4, 0x40 -/* 047870 8004CE10 5406A814 */ slwi r6, r0, 0x15 -/* 047874 8004CE14 7C9E2214 */ add r4, r30, r4 -/* 047878 8004CE18 38E30001 */ addi r7, r3, 1 -/* 04787C 8004CE1C 64C68003 */ oris r6, r6, 0x8003 -/* 047880 8004CE20 90E10084 */ stw r7, 0x84(r1) -/* 047884 8004CE24 7C9E2050 */ subf r4, r30, r4 -/* 047888 8004CE28 7C843214 */ add r4, r4, r6 -/* 04788C 8004CE2C 38840004 */ addi r4, r4, 4 -/* 047890 8004CE30 5463103A */ slwi r3, r3, 2 -/* 047894 8004CE34 7C9F192E */ stwx r4, r31, r3 -/* 047898 8004CE38 48000170 */ b lbl_8004CFA8 -lbl_8004CE3C: -/* 04789C 8004CE3C 80610084 */ lwz r3, 0x84(r1) -/* 0478A0 8004CE40 38630001 */ addi r3, r3, 1 -/* 0478A4 8004CE44 90610084 */ stw r3, 0x84(r1) -/* 0478A8 8004CE48 48000160 */ b lbl_8004CFA8 -lbl_8004CE4C: -/* 0478AC 8004CE4C 281F0000 */ cmplwi r31, 0 -/* 0478B0 8004CE50 41820038 */ beq lbl_8004CE88 -/* 0478B4 8004CE54 80610084 */ lwz r3, 0x84(r1) -/* 0478B8 8004CE58 54C4A814 */ slwi r4, r6, 0x15 -/* 0478BC 8004CE5C 64847C00 */ oris r4, r4, 0x7c00 -/* 0478C0 8004CE60 38E30001 */ addi r7, r3, 1 -/* 0478C4 8004CE64 60840378 */ ori r4, r4, 0x378 -/* 0478C8 8004CE68 90E10084 */ stw r7, 0x84(r1) -/* 0478CC 8004CE6C 5407801E */ slwi r7, r0, 0x10 -/* 0478D0 8004CE70 54C65828 */ slwi r6, r6, 0xb -/* 0478D4 8004CE74 7C843B78 */ or r4, r4, r7 -/* 0478D8 8004CE78 7CC42378 */ or r4, r6, r4 -/* 0478DC 8004CE7C 5463103A */ slwi r3, r3, 2 -/* 0478E0 8004CE80 7C9F192E */ stwx r4, r31, r3 -/* 0478E4 8004CE84 48000124 */ b lbl_8004CFA8 -lbl_8004CE88: -/* 0478E8 8004CE88 80610084 */ lwz r3, 0x84(r1) -/* 0478EC 8004CE8C 38630001 */ addi r3, r3, 1 -/* 0478F0 8004CE90 90610084 */ stw r3, 0x84(r1) -/* 0478F4 8004CE94 48000114 */ b lbl_8004CFA8 -lbl_8004CE98: -/* 0478F8 8004CE98 54A3103A */ slwi r3, r5, 2 -/* 0478FC 8004CE9C 7C7A1A14 */ add r3, r26, r3 -/* 047900 8004CEA0 80C30818 */ lwz r6, 0x818(r3) -/* 047904 8004CEA4 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 047908 8004CEA8 418200B4 */ beq lbl_8004CF5C -/* 04790C 8004CEAC 281F0000 */ cmplwi r31, 0 -/* 047910 8004CEB0 4182003C */ beq lbl_8004CEEC -/* 047914 8004CEB4 54A41838 */ slwi r4, r5, 3 -/* 047918 8004CEB8 80610084 */ lwz r3, 0x84(r1) -/* 04791C 8004CEBC 38840040 */ addi r4, r4, 0x40 -/* 047920 8004CEC0 5406A814 */ slwi r6, r0, 0x15 -/* 047924 8004CEC4 7C9E2214 */ add r4, r30, r4 -/* 047928 8004CEC8 38E30001 */ addi r7, r3, 1 -/* 04792C 8004CECC 64C68003 */ oris r6, r6, 0x8003 -/* 047930 8004CED0 90E10084 */ stw r7, 0x84(r1) -/* 047934 8004CED4 7C9E2050 */ subf r4, r30, r4 -/* 047938 8004CED8 7C843214 */ add r4, r4, r6 -/* 04793C 8004CEDC 38840004 */ addi r4, r4, 4 -/* 047940 8004CEE0 5463103A */ slwi r3, r3, 2 -/* 047944 8004CEE4 7C9F192E */ stwx r4, r31, r3 -/* 047948 8004CEE8 48000010 */ b lbl_8004CEF8 -lbl_8004CEEC: -/* 04794C 8004CEEC 80610084 */ lwz r3, 0x84(r1) -/* 047950 8004CEF0 38630001 */ addi r3, r3, 1 -/* 047954 8004CEF4 90610084 */ stw r3, 0x84(r1) -lbl_8004CEF8: -/* 047958 8004CEF8 281F0000 */ cmplwi r31, 0 -/* 04795C 8004CEFC 4182003C */ beq lbl_8004CF38 -/* 047960 8004CF00 55441838 */ slwi r4, r10, 3 -/* 047964 8004CF04 80610084 */ lwz r3, 0x84(r1) -/* 047968 8004CF08 38840040 */ addi r4, r4, 0x40 -/* 04796C 8004CF0C 5406A814 */ slwi r6, r0, 0x15 -/* 047970 8004CF10 7C9E2214 */ add r4, r30, r4 -/* 047974 8004CF14 38E30001 */ addi r7, r3, 1 -/* 047978 8004CF18 64C69003 */ oris r6, r6, 0x9003 -/* 04797C 8004CF1C 90E10084 */ stw r7, 0x84(r1) -/* 047980 8004CF20 7C9E2050 */ subf r4, r30, r4 -/* 047984 8004CF24 7C843214 */ add r4, r4, r6 -/* 047988 8004CF28 38840004 */ addi r4, r4, 4 -/* 04798C 8004CF2C 5463103A */ slwi r3, r3, 2 -/* 047990 8004CF30 7C9F192E */ stwx r4, r31, r3 -/* 047994 8004CF34 48000010 */ b lbl_8004CF44 -lbl_8004CF38: -/* 047998 8004CF38 80610084 */ lwz r3, 0x84(r1) -/* 04799C 8004CF3C 38630001 */ addi r3, r3, 1 -/* 0479A0 8004CF40 90610084 */ stw r3, 0x84(r1) -lbl_8004CF44: -/* 0479A4 8004CF44 3C7E0001 */ addis r3, r30, 1 -/* 0479A8 8004CF48 38800002 */ li r4, 2 -/* 0479AC 8004CF4C 90832068 */ stw r4, 0x2068(r3) -/* 0479B0 8004CF50 9143206C */ stw r10, 0x206c(r3) -/* 0479B4 8004CF54 90032070 */ stw r0, 0x2070(r3) -/* 0479B8 8004CF58 48000050 */ b lbl_8004CFA8 -lbl_8004CF5C: -/* 0479BC 8004CF5C 281F0000 */ cmplwi r31, 0 -/* 0479C0 8004CF60 4182003C */ beq lbl_8004CF9C -/* 0479C4 8004CF64 55441838 */ slwi r4, r10, 3 -/* 0479C8 8004CF68 80610084 */ lwz r3, 0x84(r1) -/* 0479CC 8004CF6C 38840040 */ addi r4, r4, 0x40 -/* 0479D0 8004CF70 54C6A814 */ slwi r6, r6, 0x15 -/* 0479D4 8004CF74 7C9E2214 */ add r4, r30, r4 -/* 0479D8 8004CF78 38E30001 */ addi r7, r3, 1 -/* 0479DC 8004CF7C 64C69003 */ oris r6, r6, 0x9003 -/* 0479E0 8004CF80 90E10084 */ stw r7, 0x84(r1) -/* 0479E4 8004CF84 7C9E2050 */ subf r4, r30, r4 -/* 0479E8 8004CF88 7C843214 */ add r4, r4, r6 -/* 0479EC 8004CF8C 38840004 */ addi r4, r4, 4 -/* 0479F0 8004CF90 5463103A */ slwi r3, r3, 2 -/* 0479F4 8004CF94 7C9F192E */ stwx r4, r31, r3 -/* 0479F8 8004CF98 48000010 */ b lbl_8004CFA8 -lbl_8004CF9C: -/* 0479FC 8004CF9C 80610084 */ lwz r3, 0x84(r1) -/* 047A00 8004CFA0 38630001 */ addi r3, r3, 1 -/* 047A04 8004CFA4 90610084 */ stw r3, 0x84(r1) -lbl_8004CFA8: -/* 047A08 8004CFA8 280A001F */ cmplwi r10, 0x1f -/* 047A0C 8004CFAC 408202AC */ bne lbl_8004D258 -/* 047A10 8004CFB0 3C7E0001 */ addis r3, r30, 1 -/* 047A14 8004CFB4 8083205C */ lwz r4, 0x205c(r3) -/* 047A18 8004CFB8 60840002 */ ori r4, r4, 2 -/* 047A1C 8004CFBC 9083205C */ stw r4, 0x205c(r3) -/* 047A20 8004CFC0 8063205C */ lwz r3, 0x205c(r3) -/* 047A24 8004CFC4 54630739 */ rlwinm. r3, r3, 0, 0x1c, 0x1c -/* 047A28 8004CFC8 41820290 */ beq lbl_8004D258 -/* 047A2C 8004CFCC 54A3103A */ slwi r3, r5, 2 -/* 047A30 8004CFD0 7C7A1A14 */ add r3, r26, r3 -/* 047A34 8004CFD4 80C30818 */ lwz r6, 0x818(r3) -/* 047A38 8004CFD8 54C305EF */ rlwinm. r3, r6, 0, 0x17, 0x17 -/* 047A3C 8004CFDC 41820050 */ beq lbl_8004D02C -/* 047A40 8004CFE0 281F0000 */ cmplwi r31, 0 -/* 047A44 8004CFE4 38C00006 */ li r6, 6 -/* 047A48 8004CFE8 41820038 */ beq lbl_8004D020 -/* 047A4C 8004CFEC 54A41838 */ slwi r4, r5, 3 -/* 047A50 8004CFF0 80610084 */ lwz r3, 0x84(r1) -/* 047A54 8004CFF4 38840040 */ addi r4, r4, 0x40 -/* 047A58 8004CFF8 7C9E2214 */ add r4, r30, r4 -/* 047A5C 8004CFFC 7C9E2050 */ subf r4, r30, r4 -/* 047A60 8004D000 38840004 */ addi r4, r4, 4 -/* 047A64 8004D004 38A30001 */ addi r5, r3, 1 -/* 047A68 8004D008 5484043E */ clrlwi r4, r4, 0x10 -/* 047A6C 8004D00C 90A10084 */ stw r5, 0x84(r1) -/* 047A70 8004D010 3C8480C3 */ addis r4, r4, 0x80c3 -/* 047A74 8004D014 5463103A */ slwi r3, r3, 2 -/* 047A78 8004D018 7C9F192E */ stwx r4, r31, r3 -/* 047A7C 8004D01C 48000010 */ b lbl_8004D02C -lbl_8004D020: -/* 047A80 8004D020 80610084 */ lwz r3, 0x84(r1) -/* 047A84 8004D024 38630001 */ addi r3, r3, 1 -/* 047A88 8004D028 90610084 */ stw r3, 0x84(r1) -lbl_8004D02C: -/* 047A8C 8004D02C 281F0000 */ cmplwi r31, 0 -/* 047A90 8004D030 41820030 */ beq lbl_8004D060 -/* 047A94 8004D034 80810084 */ lwz r4, 0x84(r1) -/* 047A98 8004D038 54C6A814 */ slwi r6, r6, 0x15 -/* 047A9C 8004D03C 38BE0038 */ addi r5, r30, 0x38 -/* 047AA0 8004D040 38640001 */ addi r3, r4, 1 -/* 047AA4 8004D044 90610084 */ stw r3, 0x84(r1) -/* 047AA8 8004D048 64C39003 */ oris r3, r6, 0x9003 -/* 047AAC 8004D04C 7CBE2850 */ subf r5, r30, r5 -/* 047AB0 8004D050 7C632A14 */ add r3, r3, r5 -/* 047AB4 8004D054 5484103A */ slwi r4, r4, 2 -/* 047AB8 8004D058 7C7F212E */ stwx r3, r31, r4 -/* 047ABC 8004D05C 480001FC */ b lbl_8004D258 -lbl_8004D060: -/* 047AC0 8004D060 80610084 */ lwz r3, 0x84(r1) -/* 047AC4 8004D064 38630001 */ addi r3, r3, 1 -/* 047AC8 8004D068 90610084 */ stw r3, 0x84(r1) -/* 047ACC 8004D06C 480001EC */ b lbl_8004D258 -lbl_8004D070: -/* 047AD0 8004D070 28050000 */ cmplwi r5, 0 -/* 047AD4 8004D074 40820044 */ bne lbl_8004D0B8 -/* 047AD8 8004D078 281F0000 */ cmplwi r31, 0 -/* 047ADC 8004D07C 41820028 */ beq lbl_8004D0A4 -/* 047AE0 8004D080 80810084 */ lwz r4, 0x84(r1) -/* 047AE4 8004D084 5403A814 */ slwi r3, r0, 0x15 -/* 047AE8 8004D088 64653800 */ oris r5, r3, 0x3800 -/* 047AEC 8004D08C 38640001 */ addi r3, r4, 1 -/* 047AF0 8004D090 90610084 */ stw r3, 0x84(r1) -/* 047AF4 8004D094 7CA34378 */ or r3, r5, r8 -/* 047AF8 8004D098 5484103A */ slwi r4, r4, 2 -/* 047AFC 8004D09C 7C7F212E */ stwx r3, r31, r4 -/* 047B00 8004D0A0 48000010 */ b lbl_8004D0B0 -lbl_8004D0A4: -/* 047B04 8004D0A4 80610084 */ lwz r3, 0x84(r1) -/* 047B08 8004D0A8 38630001 */ addi r3, r3, 1 -/* 047B0C 8004D0AC 90610084 */ stw r3, 0x84(r1) -lbl_8004D0B0: -/* 047B10 8004D0B0 39200001 */ li r9, 1 -/* 047B14 8004D0B4 480001A4 */ b lbl_8004D258 -lbl_8004D0B8: -/* 047B18 8004D0B8 54A3103A */ slwi r3, r5, 2 -/* 047B1C 8004D0BC 7C7A1A14 */ add r3, r26, r3 -/* 047B20 8004D0C0 81230818 */ lwz r9, 0x818(r3) -/* 047B24 8004D0C4 552305EF */ rlwinm. r3, r9, 0, 0x17, 0x17 -/* 047B28 8004D0C8 4182014C */ beq lbl_8004D214 -/* 047B2C 8004D0CC 3C7E0001 */ addis r3, r30, 1 -/* 047B30 8004D0D0 80832064 */ lwz r4, 0x2064(r3) -/* 047B34 8004D0D4 39200006 */ li r9, 6 -/* 047B38 8004D0D8 28040000 */ cmplwi r4, 0 -/* 047B3C 8004D0DC 4082000C */ bne lbl_8004D0E8 -/* 047B40 8004D0E0 38800000 */ li r4, 0 -/* 047B44 8004D0E4 48000094 */ b lbl_8004D178 -lbl_8004D0E8: -/* 047B48 8004D0E8 80832068 */ lwz r4, 0x2068(r3) -/* 047B4C 8004D0EC 28040000 */ cmplwi r4, 0 -/* 047B50 8004D0F0 4082000C */ bne lbl_8004D0FC -/* 047B54 8004D0F4 38800000 */ li r4, 0 -/* 047B58 8004D0F8 48000080 */ b lbl_8004D178 -lbl_8004D0FC: -/* 047B5C 8004D0FC 8063206C */ lwz r3, 0x206c(r3) -/* 047B60 8004D100 7C051800 */ cmpw r5, r3 -/* 047B64 8004D104 4182000C */ beq lbl_8004D110 -/* 047B68 8004D108 38800000 */ li r4, 0 -/* 047B6C 8004D10C 4800006C */ b lbl_8004D178 -lbl_8004D110: -/* 047B70 8004D110 80DE0034 */ lwz r6, 0x34(r30) -/* 047B74 8004D114 38800000 */ li r4, 0 -/* 047B78 8004D118 80660008 */ lwz r3, 8(r6) -/* 047B7C 8004D11C 2C030000 */ cmpwi r3, 0 -/* 047B80 8004D120 7C6903A6 */ mtctr r3 -/* 047B84 8004D124 40810028 */ ble lbl_8004D14C -lbl_8004D128: -/* 047B88 8004D128 8066000C */ lwz r3, 0xc(r6) -/* 047B8C 8004D12C 38E40004 */ addi r7, r4, 4 -/* 047B90 8004D130 7C63382E */ lwzx r3, r3, r7 -/* 047B94 8004D134 7C1D1800 */ cmpw r29, r3 -/* 047B98 8004D138 4082000C */ bne lbl_8004D144 -/* 047B9C 8004D13C 38600000 */ li r3, 0 -/* 047BA0 8004D140 48000010 */ b lbl_8004D150 -lbl_8004D144: -/* 047BA4 8004D144 38840008 */ addi r4, r4, 8 -/* 047BA8 8004D148 4200FFE0 */ bdnz lbl_8004D128 -lbl_8004D14C: -/* 047BAC 8004D14C 38600001 */ li r3, 1 -lbl_8004D150: -/* 047BB0 8004D150 2C030000 */ cmpwi r3, 0 -/* 047BB4 8004D154 40820014 */ bne lbl_8004D168 -/* 047BB8 8004D158 38800000 */ li r4, 0 -/* 047BBC 8004D15C 3C7E0001 */ addis r3, r30, 1 -/* 047BC0 8004D160 90832068 */ stw r4, 0x2068(r3) -/* 047BC4 8004D164 48000014 */ b lbl_8004D178 -lbl_8004D168: -/* 047BC8 8004D168 3C7E0001 */ addis r3, r30, 1 -/* 047BCC 8004D16C 38800000 */ li r4, 0 -/* 047BD0 8004D170 90832068 */ stw r4, 0x2068(r3) -/* 047BD4 8004D174 38800001 */ li r4, 1 -lbl_8004D178: -/* 047BD8 8004D178 2C040000 */ cmpwi r4, 0 -/* 047BDC 8004D17C 41820050 */ beq lbl_8004D1CC -/* 047BE0 8004D180 281F0000 */ cmplwi r31, 0 -/* 047BE4 8004D184 41820038 */ beq lbl_8004D1BC -/* 047BE8 8004D188 3C9E0001 */ addis r4, r30, 1 -/* 047BEC 8004D18C 80610084 */ lwz r3, 0x84(r1) -/* 047BF0 8004D190 80A42070 */ lwz r5, 0x2070(r4) -/* 047BF4 8004D194 38C30001 */ addi r6, r3, 1 -/* 047BF8 8004D198 54A4A814 */ slwi r4, r5, 0x15 -/* 047BFC 8004D19C 90C10084 */ stw r6, 0x84(r1) -/* 047C00 8004D1A0 64847C06 */ oris r4, r4, 0x7c06 -/* 047C04 8004D1A4 54A55828 */ slwi r5, r5, 0xb -/* 047C08 8004D1A8 60840378 */ ori r4, r4, 0x378 -/* 047C0C 8004D1AC 7CA42378 */ or r4, r5, r4 -/* 047C10 8004D1B0 5463103A */ slwi r3, r3, 2 -/* 047C14 8004D1B4 7C9F192E */ stwx r4, r31, r3 -/* 047C18 8004D1B8 4800005C */ b lbl_8004D214 -lbl_8004D1BC: -/* 047C1C 8004D1BC 80610084 */ lwz r3, 0x84(r1) -/* 047C20 8004D1C0 38630001 */ addi r3, r3, 1 -/* 047C24 8004D1C4 90610084 */ stw r3, 0x84(r1) -/* 047C28 8004D1C8 4800004C */ b lbl_8004D214 -lbl_8004D1CC: -/* 047C2C 8004D1CC 281F0000 */ cmplwi r31, 0 -/* 047C30 8004D1D0 41820038 */ beq lbl_8004D208 -/* 047C34 8004D1D4 54A41838 */ slwi r4, r5, 3 -/* 047C38 8004D1D8 80610084 */ lwz r3, 0x84(r1) -/* 047C3C 8004D1DC 38840040 */ addi r4, r4, 0x40 -/* 047C40 8004D1E0 7C9E2214 */ add r4, r30, r4 -/* 047C44 8004D1E4 7C9E2050 */ subf r4, r30, r4 -/* 047C48 8004D1E8 38840004 */ addi r4, r4, 4 -/* 047C4C 8004D1EC 38A30001 */ addi r5, r3, 1 -/* 047C50 8004D1F0 5484043E */ clrlwi r4, r4, 0x10 -/* 047C54 8004D1F4 90A10084 */ stw r5, 0x84(r1) -/* 047C58 8004D1F8 3C8480C3 */ addis r4, r4, 0x80c3 -/* 047C5C 8004D1FC 5463103A */ slwi r3, r3, 2 -/* 047C60 8004D200 7C9F192E */ stwx r4, r31, r3 -/* 047C64 8004D204 48000010 */ b lbl_8004D214 -lbl_8004D208: -/* 047C68 8004D208 80610084 */ lwz r3, 0x84(r1) -/* 047C6C 8004D20C 38630001 */ addi r3, r3, 1 -/* 047C70 8004D210 90610084 */ stw r3, 0x84(r1) -lbl_8004D214: -/* 047C74 8004D214 281F0000 */ cmplwi r31, 0 -/* 047C78 8004D218 41820030 */ beq lbl_8004D248 -/* 047C7C 8004D21C 80610084 */ lwz r3, 0x84(r1) -/* 047C80 8004D220 5404A814 */ slwi r4, r0, 0x15 -/* 047C84 8004D224 64843800 */ oris r4, r4, 0x3800 -/* 047C88 8004D228 5526801E */ slwi r6, r9, 0x10 -/* 047C8C 8004D22C 38A30001 */ addi r5, r3, 1 -/* 047C90 8004D230 7C843378 */ or r4, r4, r6 -/* 047C94 8004D234 90A10084 */ stw r5, 0x84(r1) -/* 047C98 8004D238 7D042378 */ or r4, r8, r4 -/* 047C9C 8004D23C 5463103A */ slwi r3, r3, 2 -/* 047CA0 8004D240 7C9F192E */ stwx r4, r31, r3 -/* 047CA4 8004D244 48000010 */ b lbl_8004D254 -lbl_8004D248: -/* 047CA8 8004D248 80610084 */ lwz r3, 0x84(r1) -/* 047CAC 8004D24C 38630001 */ addi r3, r3, 1 -/* 047CB0 8004D250 90610084 */ stw r3, 0x84(r1) -lbl_8004D254: -/* 047CB4 8004D254 39200001 */ li r9, 1 -lbl_8004D258: -/* 047CB8 8004D258 2C090000 */ cmpwi r9, 0 -/* 047CBC 8004D25C 40820008 */ bne lbl_8004D264 -/* 047CC0 8004D260 4801ACD4 */ b lbl_80067F34 -lbl_8004D264: -/* 047CC4 8004D264 806B0000 */ lwz r3, 0(r11) -/* 047CC8 8004D268 546305EF */ rlwinm. r3, r3, 0, 0x17, 0x17 -/* 047CCC 8004D26C 40820008 */ bne lbl_8004D274 -/* 047CD0 8004D270 4801ACC4 */ b lbl_80067F34 -lbl_8004D274: -/* 047CD4 8004D274 3C7E0001 */ addis r3, r30, 1 -/* 047CD8 8004D278 38800002 */ li r4, 2 -/* 047CDC 8004D27C 90832068 */ stw r4, 0x2068(r3) -/* 047CE0 8004D280 281F0000 */ cmplwi r31, 0 -/* 047CE4 8004D284 9143206C */ stw r10, 0x206c(r3) -/* 047CE8 8004D288 90032070 */ stw r0, 0x2070(r3) -/* 047CEC 8004D28C 41820038 */ beq lbl_8004D2C4 -/* 047CF0 8004D290 55441838 */ slwi r4, r10, 3 -/* 047CF4 8004D294 80610084 */ lwz r3, 0x84(r1) -/* 047CF8 8004D298 38040040 */ addi r0, r4, 0x40 -/* 047CFC 8004D29C 7C1E0214 */ add r0, r30, r0 -/* 047D00 8004D2A0 7C9E0050 */ subf r4, r30, r0 -/* 047D04 8004D2A4 38840004 */ addi r4, r4, 4 -/* 047D08 8004D2A8 38030001 */ addi r0, r3, 1 -/* 047D0C 8004D2AC 5484043E */ clrlwi r4, r4, 0x10 -/* 047D10 8004D2B0 90010084 */ stw r0, 0x84(r1) -/* 047D14 8004D2B4 3C0490A3 */ addis r0, r4, 0x90a3 -/* 047D18 8004D2B8 5463103A */ slwi r3, r3, 2 -/* 047D1C 8004D2BC 7C1F192E */ stwx r0, r31, r3 -/* 047D20 8004D2C0 4801AC74 */ b lbl_80067F34 -lbl_8004D2C4: -/* 047D24 8004D2C4 80610084 */ lwz r3, 0x84(r1) -/* 047D28 8004D2C8 38030001 */ addi r0, r3, 1 -/* 047D2C 8004D2CC 90010084 */ stw r0, 0x84(r1) -/* 047D30 8004D2D0 4801AC64 */ b lbl_80067F34 -.global lbl_8004D2D4 -lbl_8004D2D4: -/* 047D34 8004D2D4 3C7E0001 */ addis r3, r30, 1 -/* 047D38 8004D2D8 57985EFE */ rlwinm r24, r28, 0xb, 0x1b, 0x1f -/* 047D3C 8004D2DC 80832058 */ lwz r4, 0x2058(r3) -/* 047D40 8004D2E0 38000001 */ li r0, 1 -/* 047D44 8004D2E4 7C05C030 */ slw r5, r0, r24 -/* 047D48 8004D2E8 7C852839 */ and. r5, r4, r5 -/* 047D4C 8004D2EC 41820018 */ beq lbl_8004D304 -/* 047D50 8004D2F0 578586FE */ rlwinm r5, r28, 0x10, 0x1b, 0x1f -/* 047D54 8004D2F4 7C002830 */ slw r0, r0, r5 -/* 047D58 8004D2F8 7C800378 */ or r0, r4, r0 -/* 047D5C 8004D2FC 90032058 */ stw r0, 0x2058(r3) -/* 047D60 8004D300 48000014 */ b lbl_8004D314 -lbl_8004D304: -/* 047D64 8004D304 578586FE */ rlwinm r5, r28, 0x10, 0x1b, 0x1f -/* 047D68 8004D308 7C002830 */ slw r0, r0, r5 -/* 047D6C 8004D30C 7C800078 */ andc r0, r4, r0 -/* 047D70 8004D310 90032058 */ stw r0, 0x2058(r3) -lbl_8004D314: -/* 047D74 8004D314 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 047D78 8004D318 7E7A0214 */ add r19, r26, r0 -/* 047D7C 8004D31C 86F30818 */ lwzu r23, 0x818(r19) -/* 047D80 8004D320 579686FE */ rlwinm r22, r28, 0x10, 0x1b, 0x1f -/* 047D84 8004D324 56E005EF */ rlwinm. r0, r23, 0, 0x17, 0x17 -/* 047D88 8004D328 3AA00000 */ li r21, 0 -/* 047D8C 8004D32C 38600000 */ li r3, 0 -/* 047D90 8004D330 4182000C */ beq lbl_8004D33C -/* 047D94 8004D334 3AE00005 */ li r23, 5 -/* 047D98 8004D338 38600001 */ li r3, 1 -lbl_8004D33C: -/* 047D9C 8004D33C 5799043E */ clrlwi r25, r28, 0x10 -/* 047DA0 8004D340 7F200734 */ extsh r0, r25 -/* 047DA4 8004D344 7C000735 */ extsh. r0, r0 -/* 047DA8 8004D348 40820334 */ bne lbl_8004D67C -/* 047DAC 8004D34C 2818001F */ cmplwi r24, 0x1f -/* 047DB0 8004D350 4082009C */ bne lbl_8004D3EC -/* 047DB4 8004D354 3C9E0001 */ addis r4, r30, 1 -/* 047DB8 8004D358 8004205C */ lwz r0, 0x205c(r4) -/* 047DBC 8004D35C 5400077B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 047DC0 8004D360 4082008C */ bne lbl_8004D3EC -/* 047DC4 8004D364 281F0000 */ cmplwi r31, 0 -/* 047DC8 8004D368 41820028 */ beq lbl_8004D390 -/* 047DCC 8004D36C 80610084 */ lwz r3, 0x84(r1) -/* 047DD0 8004D370 381E0038 */ addi r0, r30, 0x38 -/* 047DD4 8004D374 7C9E0050 */ subf r4, r30, r0 -/* 047DD8 8004D378 38030001 */ addi r0, r3, 1 -/* 047DDC 8004D37C 90010084 */ stw r0, 0x84(r1) -/* 047DE0 8004D380 3C0480C3 */ addis r0, r4, 0x80c3 -/* 047DE4 8004D384 5463103A */ slwi r3, r3, 2 -/* 047DE8 8004D388 7C1F192E */ stwx r0, r31, r3 -/* 047DEC 8004D38C 48000010 */ b lbl_8004D39C -lbl_8004D390: -/* 047DF0 8004D390 80610084 */ lwz r3, 0x84(r1) -/* 047DF4 8004D394 38030001 */ addi r0, r3, 1 -/* 047DF8 8004D398 90010084 */ stw r0, 0x84(r1) -lbl_8004D39C: -/* 047DFC 8004D39C 281F0000 */ cmplwi r31, 0 -/* 047E00 8004D3A0 41820028 */ beq lbl_8004D3C8 -/* 047E04 8004D3A4 80610084 */ lwz r3, 0x84(r1) -/* 047E08 8004D3A8 56E0801E */ slwi r0, r23, 0x10 -/* 047E0C 8004D3AC 64047CC0 */ oris r4, r0, 0x7cc0 -/* 047E10 8004D3B0 38030001 */ addi r0, r3, 1 -/* 047E14 8004D3B4 90010084 */ stw r0, 0x84(r1) -/* 047E18 8004D3B8 60843378 */ ori r4, r4, 0x3378 -/* 047E1C 8004D3BC 5460103A */ slwi r0, r3, 2 -/* 047E20 8004D3C0 7C9F012E */ stwx r4, r31, r0 -/* 047E24 8004D3C4 48000010 */ b lbl_8004D3D4 -lbl_8004D3C8: -/* 047E28 8004D3C8 80610084 */ lwz r3, 0x84(r1) -/* 047E2C 8004D3CC 38030001 */ addi r0, r3, 1 -/* 047E30 8004D3D0 90010084 */ stw r0, 0x84(r1) -lbl_8004D3D4: -/* 047E34 8004D3D4 3C7E0001 */ addis r3, r30, 1 -/* 047E38 8004D3D8 8003205C */ lwz r0, 0x205c(r3) -/* 047E3C 8004D3DC 3AA00001 */ li r21, 1 -/* 047E40 8004D3E0 60000008 */ ori r0, r0, 8 -/* 047E44 8004D3E4 9003205C */ stw r0, 0x205c(r3) -/* 047E48 8004D3E8 480001CC */ b lbl_8004D5B4 -lbl_8004D3EC: -/* 047E4C 8004D3EC 2C030000 */ cmpwi r3, 0 -/* 047E50 8004D3F0 408200B4 */ bne lbl_8004D4A4 -/* 047E54 8004D3F4 5700103A */ slwi r0, r24, 2 -/* 047E58 8004D3F8 7C7A0214 */ add r3, r26, r0 -/* 047E5C 8004D3FC 80830818 */ lwz r4, 0x818(r3) -/* 047E60 8004D400 548005EF */ rlwinm. r0, r4, 0, 0x17, 0x17 -/* 047E64 8004D404 41820054 */ beq lbl_8004D458 -/* 047E68 8004D408 281F0000 */ cmplwi r31, 0 -/* 047E6C 8004D40C 4182003C */ beq lbl_8004D448 -/* 047E70 8004D410 57041838 */ slwi r4, r24, 3 -/* 047E74 8004D414 80610084 */ lwz r3, 0x84(r1) -/* 047E78 8004D418 38040040 */ addi r0, r4, 0x40 -/* 047E7C 8004D41C 56E4A814 */ slwi r4, r23, 0x15 -/* 047E80 8004D420 7C1E0214 */ add r0, r30, r0 -/* 047E84 8004D424 38A30001 */ addi r5, r3, 1 -/* 047E88 8004D428 64848003 */ oris r4, r4, 0x8003 -/* 047E8C 8004D42C 90A10084 */ stw r5, 0x84(r1) -/* 047E90 8004D430 7C1E0050 */ subf r0, r30, r0 -/* 047E94 8004D434 7C802214 */ add r4, r0, r4 -/* 047E98 8004D438 38040004 */ addi r0, r4, 4 -/* 047E9C 8004D43C 5463103A */ slwi r3, r3, 2 -/* 047EA0 8004D440 7C1F192E */ stwx r0, r31, r3 -/* 047EA4 8004D444 48000170 */ b lbl_8004D5B4 -lbl_8004D448: -/* 047EA8 8004D448 80610084 */ lwz r3, 0x84(r1) -/* 047EAC 8004D44C 38030001 */ addi r0, r3, 1 -/* 047EB0 8004D450 90010084 */ stw r0, 0x84(r1) -/* 047EB4 8004D454 48000160 */ b lbl_8004D5B4 -lbl_8004D458: -/* 047EB8 8004D458 281F0000 */ cmplwi r31, 0 -/* 047EBC 8004D45C 41820038 */ beq lbl_8004D494 -/* 047EC0 8004D460 80610084 */ lwz r3, 0x84(r1) -/* 047EC4 8004D464 5480A814 */ slwi r0, r4, 0x15 -/* 047EC8 8004D468 64007C00 */ oris r0, r0, 0x7c00 -/* 047ECC 8004D46C 38A30001 */ addi r5, r3, 1 -/* 047ED0 8004D470 60000378 */ ori r0, r0, 0x378 -/* 047ED4 8004D474 90A10084 */ stw r5, 0x84(r1) -/* 047ED8 8004D478 56E5801E */ slwi r5, r23, 0x10 -/* 047EDC 8004D47C 54845828 */ slwi r4, r4, 0xb -/* 047EE0 8004D480 7C002B78 */ or r0, r0, r5 -/* 047EE4 8004D484 7C800378 */ or r0, r4, r0 -/* 047EE8 8004D488 5463103A */ slwi r3, r3, 2 -/* 047EEC 8004D48C 7C1F192E */ stwx r0, r31, r3 -/* 047EF0 8004D490 48000124 */ b lbl_8004D5B4 -lbl_8004D494: -/* 047EF4 8004D494 80610084 */ lwz r3, 0x84(r1) -/* 047EF8 8004D498 38030001 */ addi r0, r3, 1 -/* 047EFC 8004D49C 90010084 */ stw r0, 0x84(r1) -/* 047F00 8004D4A0 48000114 */ b lbl_8004D5B4 -lbl_8004D4A4: -/* 047F04 8004D4A4 5700103A */ slwi r0, r24, 2 -/* 047F08 8004D4A8 7C7A0214 */ add r3, r26, r0 -/* 047F0C 8004D4AC 80030818 */ lwz r0, 0x818(r3) -/* 047F10 8004D4B0 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 047F14 8004D4B4 418200B4 */ beq lbl_8004D568 -/* 047F18 8004D4B8 281F0000 */ cmplwi r31, 0 -/* 047F1C 8004D4BC 4182003C */ beq lbl_8004D4F8 -/* 047F20 8004D4C0 57041838 */ slwi r4, r24, 3 -/* 047F24 8004D4C4 80610084 */ lwz r3, 0x84(r1) -/* 047F28 8004D4C8 38040040 */ addi r0, r4, 0x40 -/* 047F2C 8004D4CC 56E4A814 */ slwi r4, r23, 0x15 -/* 047F30 8004D4D0 7C1E0214 */ add r0, r30, r0 -/* 047F34 8004D4D4 38A30001 */ addi r5, r3, 1 -/* 047F38 8004D4D8 64848003 */ oris r4, r4, 0x8003 -/* 047F3C 8004D4DC 90A10084 */ stw r5, 0x84(r1) -/* 047F40 8004D4E0 7C1E0050 */ subf r0, r30, r0 -/* 047F44 8004D4E4 7C802214 */ add r4, r0, r4 -/* 047F48 8004D4E8 38040004 */ addi r0, r4, 4 -/* 047F4C 8004D4EC 5463103A */ slwi r3, r3, 2 -/* 047F50 8004D4F0 7C1F192E */ stwx r0, r31, r3 -/* 047F54 8004D4F4 48000010 */ b lbl_8004D504 -lbl_8004D4F8: -/* 047F58 8004D4F8 80610084 */ lwz r3, 0x84(r1) -/* 047F5C 8004D4FC 38030001 */ addi r0, r3, 1 -/* 047F60 8004D500 90010084 */ stw r0, 0x84(r1) -lbl_8004D504: -/* 047F64 8004D504 281F0000 */ cmplwi r31, 0 -/* 047F68 8004D508 4182003C */ beq lbl_8004D544 -/* 047F6C 8004D50C 56C41838 */ slwi r4, r22, 3 -/* 047F70 8004D510 80610084 */ lwz r3, 0x84(r1) -/* 047F74 8004D514 38040040 */ addi r0, r4, 0x40 -/* 047F78 8004D518 56E4A814 */ slwi r4, r23, 0x15 -/* 047F7C 8004D51C 7C1E0214 */ add r0, r30, r0 -/* 047F80 8004D520 38A30001 */ addi r5, r3, 1 -/* 047F84 8004D524 64849003 */ oris r4, r4, 0x9003 -/* 047F88 8004D528 90A10084 */ stw r5, 0x84(r1) -/* 047F8C 8004D52C 7C1E0050 */ subf r0, r30, r0 -/* 047F90 8004D530 7C802214 */ add r4, r0, r4 -/* 047F94 8004D534 38040004 */ addi r0, r4, 4 -/* 047F98 8004D538 5463103A */ slwi r3, r3, 2 -/* 047F9C 8004D53C 7C1F192E */ stwx r0, r31, r3 -/* 047FA0 8004D540 48000010 */ b lbl_8004D550 -lbl_8004D544: -/* 047FA4 8004D544 80610084 */ lwz r3, 0x84(r1) -/* 047FA8 8004D548 38030001 */ addi r0, r3, 1 -/* 047FAC 8004D54C 90010084 */ stw r0, 0x84(r1) -lbl_8004D550: -/* 047FB0 8004D550 3C7E0001 */ addis r3, r30, 1 -/* 047FB4 8004D554 38000002 */ li r0, 2 -/* 047FB8 8004D558 90032068 */ stw r0, 0x2068(r3) -/* 047FBC 8004D55C 92C3206C */ stw r22, 0x206c(r3) -/* 047FC0 8004D560 92E32070 */ stw r23, 0x2070(r3) -/* 047FC4 8004D564 48000050 */ b lbl_8004D5B4 -lbl_8004D568: -/* 047FC8 8004D568 281F0000 */ cmplwi r31, 0 -/* 047FCC 8004D56C 4182003C */ beq lbl_8004D5A8 -/* 047FD0 8004D570 56C41838 */ slwi r4, r22, 3 -/* 047FD4 8004D574 80610084 */ lwz r3, 0x84(r1) -/* 047FD8 8004D578 38840040 */ addi r4, r4, 0x40 -/* 047FDC 8004D57C 5400A814 */ slwi r0, r0, 0x15 -/* 047FE0 8004D580 7C9E2214 */ add r4, r30, r4 -/* 047FE4 8004D584 38A30001 */ addi r5, r3, 1 -/* 047FE8 8004D588 64009003 */ oris r0, r0, 0x9003 -/* 047FEC 8004D58C 90A10084 */ stw r5, 0x84(r1) -/* 047FF0 8004D590 7C9E2050 */ subf r4, r30, r4 -/* 047FF4 8004D594 7C840214 */ add r4, r4, r0 -/* 047FF8 8004D598 38040004 */ addi r0, r4, 4 -/* 047FFC 8004D59C 5463103A */ slwi r3, r3, 2 -/* 048000 8004D5A0 7C1F192E */ stwx r0, r31, r3 -/* 048004 8004D5A4 48000010 */ b lbl_8004D5B4 -lbl_8004D5A8: -/* 048008 8004D5A8 80610084 */ lwz r3, 0x84(r1) -/* 04800C 8004D5AC 38030001 */ addi r0, r3, 1 -/* 048010 8004D5B0 90010084 */ stw r0, 0x84(r1) -lbl_8004D5B4: -/* 048014 8004D5B4 2816001F */ cmplwi r22, 0x1f -/* 048018 8004D5B8 408202CC */ bne lbl_8004D884 -/* 04801C 8004D5BC 3C7E0001 */ addis r3, r30, 1 -/* 048020 8004D5C0 8003205C */ lwz r0, 0x205c(r3) -/* 048024 8004D5C4 60000002 */ ori r0, r0, 2 -/* 048028 8004D5C8 9003205C */ stw r0, 0x205c(r3) -/* 04802C 8004D5CC 8003205C */ lwz r0, 0x205c(r3) -/* 048030 8004D5D0 54000739 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 048034 8004D5D4 418202B0 */ beq lbl_8004D884 -/* 048038 8004D5D8 5700103A */ slwi r0, r24, 2 -/* 04803C 8004D5DC 7C7A0214 */ add r3, r26, r0 -/* 048040 8004D5E0 80030818 */ lwz r0, 0x818(r3) -/* 048044 8004D5E4 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 048048 8004D5E8 41820050 */ beq lbl_8004D638 -/* 04804C 8004D5EC 281F0000 */ cmplwi r31, 0 -/* 048050 8004D5F0 38000006 */ li r0, 6 -/* 048054 8004D5F4 41820038 */ beq lbl_8004D62C -/* 048058 8004D5F8 57041838 */ slwi r4, r24, 3 -/* 04805C 8004D5FC 80610084 */ lwz r3, 0x84(r1) -/* 048060 8004D600 38840040 */ addi r4, r4, 0x40 -/* 048064 8004D604 7C9E2214 */ add r4, r30, r4 -/* 048068 8004D608 7C9E2050 */ subf r4, r30, r4 -/* 04806C 8004D60C 38840004 */ addi r4, r4, 4 -/* 048070 8004D610 38A30001 */ addi r5, r3, 1 -/* 048074 8004D614 5484043E */ clrlwi r4, r4, 0x10 -/* 048078 8004D618 90A10084 */ stw r5, 0x84(r1) -/* 04807C 8004D61C 3C8480C3 */ addis r4, r4, 0x80c3 -/* 048080 8004D620 5463103A */ slwi r3, r3, 2 -/* 048084 8004D624 7C9F192E */ stwx r4, r31, r3 -/* 048088 8004D628 48000010 */ b lbl_8004D638 -lbl_8004D62C: -/* 04808C 8004D62C 80610084 */ lwz r3, 0x84(r1) -/* 048090 8004D630 38630001 */ addi r3, r3, 1 -/* 048094 8004D634 90610084 */ stw r3, 0x84(r1) -lbl_8004D638: -/* 048098 8004D638 281F0000 */ cmplwi r31, 0 -/* 04809C 8004D63C 41820030 */ beq lbl_8004D66C -/* 0480A0 8004D640 80610084 */ lwz r3, 0x84(r1) -/* 0480A4 8004D644 5405A814 */ slwi r5, r0, 0x15 -/* 0480A8 8004D648 389E0038 */ addi r4, r30, 0x38 -/* 0480AC 8004D64C 38030001 */ addi r0, r3, 1 -/* 0480B0 8004D650 90010084 */ stw r0, 0x84(r1) -/* 0480B4 8004D654 64A09003 */ oris r0, r5, 0x9003 -/* 0480B8 8004D658 7C9E2050 */ subf r4, r30, r4 -/* 0480BC 8004D65C 7C002214 */ add r0, r0, r4 -/* 0480C0 8004D660 5463103A */ slwi r3, r3, 2 -/* 0480C4 8004D664 7C1F192E */ stwx r0, r31, r3 -/* 0480C8 8004D668 4800021C */ b lbl_8004D884 -lbl_8004D66C: -/* 0480CC 8004D66C 80610084 */ lwz r3, 0x84(r1) -/* 0480D0 8004D670 38030001 */ addi r0, r3, 1 -/* 0480D4 8004D674 90010084 */ stw r0, 0x84(r1) -/* 0480D8 8004D678 4800020C */ b lbl_8004D884 -lbl_8004D67C: -/* 0480DC 8004D67C 28180000 */ cmplwi r24, 0 -/* 0480E0 8004D680 40820044 */ bne lbl_8004D6C4 -/* 0480E4 8004D684 281F0000 */ cmplwi r31, 0 -/* 0480E8 8004D688 41820028 */ beq lbl_8004D6B0 -/* 0480EC 8004D68C 80610084 */ lwz r3, 0x84(r1) -/* 0480F0 8004D690 56E0A814 */ slwi r0, r23, 0x15 -/* 0480F4 8004D694 64043800 */ oris r4, r0, 0x3800 -/* 0480F8 8004D698 38030001 */ addi r0, r3, 1 -/* 0480FC 8004D69C 90010084 */ stw r0, 0x84(r1) -/* 048100 8004D6A0 7C80CB78 */ or r0, r4, r25 -/* 048104 8004D6A4 5463103A */ slwi r3, r3, 2 -/* 048108 8004D6A8 7C1F192E */ stwx r0, r31, r3 -/* 04810C 8004D6AC 48000010 */ b lbl_8004D6BC -lbl_8004D6B0: -/* 048110 8004D6B0 80610084 */ lwz r3, 0x84(r1) -/* 048114 8004D6B4 38030001 */ addi r0, r3, 1 -/* 048118 8004D6B8 90010084 */ stw r0, 0x84(r1) -lbl_8004D6BC: -/* 04811C 8004D6BC 3AA00001 */ li r21, 1 -/* 048120 8004D6C0 480001C4 */ b lbl_8004D884 -lbl_8004D6C4: -/* 048124 8004D6C4 387E0000 */ addi r3, r30, 0 -/* 048128 8004D6C8 389D0000 */ addi r4, r29, 0 -/* 04812C 8004D6CC 38BC0000 */ addi r5, r28, 0 -/* 048130 8004D6D0 38DF0000 */ addi r6, r31, 0 -/* 048134 8004D6D4 38E10084 */ addi r7, r1, 0x84 -/* 048138 8004D6D8 4BFF0B3D */ bl cpuNextInstruction -/* 04813C 8004D6DC 2C030000 */ cmpwi r3, 0 -/* 048140 8004D6E0 408201A4 */ bne lbl_8004D884 -/* 048144 8004D6E4 5700103A */ slwi r0, r24, 2 -/* 048148 8004D6E8 7C7A0214 */ add r3, r26, r0 -/* 04814C 8004D6EC 80C30818 */ lwz r6, 0x818(r3) -/* 048150 8004D6F0 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 048154 8004D6F4 4182014C */ beq lbl_8004D840 -/* 048158 8004D6F8 3C7E0001 */ addis r3, r30, 1 -/* 04815C 8004D6FC 80032064 */ lwz r0, 0x2064(r3) -/* 048160 8004D700 38C00006 */ li r6, 6 -/* 048164 8004D704 28000000 */ cmplwi r0, 0 -/* 048168 8004D708 4082000C */ bne lbl_8004D714 -/* 04816C 8004D70C 38000000 */ li r0, 0 -/* 048170 8004D710 48000094 */ b lbl_8004D7A4 -lbl_8004D714: -/* 048174 8004D714 80032068 */ lwz r0, 0x2068(r3) -/* 048178 8004D718 28000000 */ cmplwi r0, 0 -/* 04817C 8004D71C 4082000C */ bne lbl_8004D728 -/* 048180 8004D720 38000000 */ li r0, 0 -/* 048184 8004D724 48000080 */ b lbl_8004D7A4 -lbl_8004D728: -/* 048188 8004D728 8003206C */ lwz r0, 0x206c(r3) -/* 04818C 8004D72C 7C180000 */ cmpw r24, r0 -/* 048190 8004D730 4182000C */ beq lbl_8004D73C -/* 048194 8004D734 38000000 */ li r0, 0 -/* 048198 8004D738 4800006C */ b lbl_8004D7A4 -lbl_8004D73C: -/* 04819C 8004D73C 80BE0034 */ lwz r5, 0x34(r30) -/* 0481A0 8004D740 38800000 */ li r4, 0 -/* 0481A4 8004D744 80050008 */ lwz r0, 8(r5) -/* 0481A8 8004D748 2C000000 */ cmpwi r0, 0 -/* 0481AC 8004D74C 7C0903A6 */ mtctr r0 -/* 0481B0 8004D750 40810028 */ ble lbl_8004D778 -lbl_8004D754: -/* 0481B4 8004D754 8065000C */ lwz r3, 0xc(r5) -/* 0481B8 8004D758 38040004 */ addi r0, r4, 4 -/* 0481BC 8004D75C 7C03002E */ lwzx r0, r3, r0 -/* 0481C0 8004D760 7C1D0000 */ cmpw r29, r0 -/* 0481C4 8004D764 4082000C */ bne lbl_8004D770 -/* 0481C8 8004D768 38000000 */ li r0, 0 -/* 0481CC 8004D76C 48000010 */ b lbl_8004D77C -lbl_8004D770: -/* 0481D0 8004D770 38840008 */ addi r4, r4, 8 -/* 0481D4 8004D774 4200FFE0 */ bdnz lbl_8004D754 -lbl_8004D778: -/* 0481D8 8004D778 38000001 */ li r0, 1 -lbl_8004D77C: -/* 0481DC 8004D77C 2C000000 */ cmpwi r0, 0 -/* 0481E0 8004D780 40820014 */ bne lbl_8004D794 -/* 0481E4 8004D784 38000000 */ li r0, 0 -/* 0481E8 8004D788 3C7E0001 */ addis r3, r30, 1 -/* 0481EC 8004D78C 90032068 */ stw r0, 0x2068(r3) -/* 0481F0 8004D790 48000014 */ b lbl_8004D7A4 -lbl_8004D794: -/* 0481F4 8004D794 3C7E0001 */ addis r3, r30, 1 -/* 0481F8 8004D798 38000000 */ li r0, 0 -/* 0481FC 8004D79C 90032068 */ stw r0, 0x2068(r3) -/* 048200 8004D7A0 38000001 */ li r0, 1 -lbl_8004D7A4: -/* 048204 8004D7A4 2C000000 */ cmpwi r0, 0 -/* 048208 8004D7A8 41820050 */ beq lbl_8004D7F8 -/* 04820C 8004D7AC 281F0000 */ cmplwi r31, 0 -/* 048210 8004D7B0 41820038 */ beq lbl_8004D7E8 -/* 048214 8004D7B4 3C9E0001 */ addis r4, r30, 1 -/* 048218 8004D7B8 80610084 */ lwz r3, 0x84(r1) -/* 04821C 8004D7BC 80A42070 */ lwz r5, 0x2070(r4) -/* 048220 8004D7C0 38030001 */ addi r0, r3, 1 -/* 048224 8004D7C4 54A4A814 */ slwi r4, r5, 0x15 -/* 048228 8004D7C8 90010084 */ stw r0, 0x84(r1) -/* 04822C 8004D7CC 64807C06 */ oris r0, r4, 0x7c06 -/* 048230 8004D7D0 54A45828 */ slwi r4, r5, 0xb -/* 048234 8004D7D4 60000378 */ ori r0, r0, 0x378 -/* 048238 8004D7D8 7C800378 */ or r0, r4, r0 -/* 04823C 8004D7DC 5463103A */ slwi r3, r3, 2 -/* 048240 8004D7E0 7C1F192E */ stwx r0, r31, r3 -/* 048244 8004D7E4 4800005C */ b lbl_8004D840 -lbl_8004D7E8: -/* 048248 8004D7E8 80610084 */ lwz r3, 0x84(r1) -/* 04824C 8004D7EC 38030001 */ addi r0, r3, 1 -/* 048250 8004D7F0 90010084 */ stw r0, 0x84(r1) -/* 048254 8004D7F4 4800004C */ b lbl_8004D840 -lbl_8004D7F8: -/* 048258 8004D7F8 281F0000 */ cmplwi r31, 0 -/* 04825C 8004D7FC 41820038 */ beq lbl_8004D834 -/* 048260 8004D800 57041838 */ slwi r4, r24, 3 -/* 048264 8004D804 80610084 */ lwz r3, 0x84(r1) -/* 048268 8004D808 38040040 */ addi r0, r4, 0x40 -/* 04826C 8004D80C 7C1E0214 */ add r0, r30, r0 -/* 048270 8004D810 7C9E0050 */ subf r4, r30, r0 -/* 048274 8004D814 38840004 */ addi r4, r4, 4 -/* 048278 8004D818 38030001 */ addi r0, r3, 1 -/* 04827C 8004D81C 5484043E */ clrlwi r4, r4, 0x10 -/* 048280 8004D820 90010084 */ stw r0, 0x84(r1) -/* 048284 8004D824 3C0480C3 */ addis r0, r4, 0x80c3 -/* 048288 8004D828 5463103A */ slwi r3, r3, 2 -/* 04828C 8004D82C 7C1F192E */ stwx r0, r31, r3 -/* 048290 8004D830 48000010 */ b lbl_8004D840 -lbl_8004D834: -/* 048294 8004D834 80610084 */ lwz r3, 0x84(r1) -/* 048298 8004D838 38030001 */ addi r0, r3, 1 -/* 04829C 8004D83C 90010084 */ stw r0, 0x84(r1) -lbl_8004D840: -/* 0482A0 8004D840 281F0000 */ cmplwi r31, 0 -/* 0482A4 8004D844 41820030 */ beq lbl_8004D874 -/* 0482A8 8004D848 80610084 */ lwz r3, 0x84(r1) -/* 0482AC 8004D84C 56E0A814 */ slwi r0, r23, 0x15 -/* 0482B0 8004D850 64003800 */ oris r0, r0, 0x3800 -/* 0482B4 8004D854 54C5801E */ slwi r5, r6, 0x10 -/* 0482B8 8004D858 38830001 */ addi r4, r3, 1 -/* 0482BC 8004D85C 7C002B78 */ or r0, r0, r5 -/* 0482C0 8004D860 90810084 */ stw r4, 0x84(r1) -/* 0482C4 8004D864 7F200378 */ or r0, r25, r0 -/* 0482C8 8004D868 5463103A */ slwi r3, r3, 2 -/* 0482CC 8004D86C 7C1F192E */ stwx r0, r31, r3 -/* 0482D0 8004D870 48000010 */ b lbl_8004D880 -lbl_8004D874: -/* 0482D4 8004D874 80610084 */ lwz r3, 0x84(r1) -/* 0482D8 8004D878 38030001 */ addi r0, r3, 1 -/* 0482DC 8004D87C 90010084 */ stw r0, 0x84(r1) -lbl_8004D880: -/* 0482E0 8004D880 3AA00001 */ li r21, 1 -lbl_8004D884: -/* 0482E4 8004D884 2C150000 */ cmpwi r21, 0 -/* 0482E8 8004D888 40820008 */ bne lbl_8004D890 -/* 0482EC 8004D88C 4801A6A8 */ b lbl_80067F34 -lbl_8004D890: -/* 0482F0 8004D890 80130000 */ lwz r0, 0(r19) -/* 0482F4 8004D894 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 0482F8 8004D898 40820008 */ bne lbl_8004D8A0 -/* 0482FC 8004D89C 4801A698 */ b lbl_80067F34 -lbl_8004D8A0: -/* 048300 8004D8A0 3C7E0001 */ addis r3, r30, 1 -/* 048304 8004D8A4 38000002 */ li r0, 2 -/* 048308 8004D8A8 90032068 */ stw r0, 0x2068(r3) -/* 04830C 8004D8AC 281F0000 */ cmplwi r31, 0 -/* 048310 8004D8B0 92C3206C */ stw r22, 0x206c(r3) -/* 048314 8004D8B4 92E32070 */ stw r23, 0x2070(r3) -/* 048318 8004D8B8 41820038 */ beq lbl_8004D8F0 -/* 04831C 8004D8BC 56C41838 */ slwi r4, r22, 3 -/* 048320 8004D8C0 80610084 */ lwz r3, 0x84(r1) -/* 048324 8004D8C4 38040040 */ addi r0, r4, 0x40 -/* 048328 8004D8C8 7C1E0214 */ add r0, r30, r0 -/* 04832C 8004D8CC 7C9E0050 */ subf r4, r30, r0 -/* 048330 8004D8D0 38840004 */ addi r4, r4, 4 -/* 048334 8004D8D4 38030001 */ addi r0, r3, 1 -/* 048338 8004D8D8 5484043E */ clrlwi r4, r4, 0x10 -/* 04833C 8004D8DC 90010084 */ stw r0, 0x84(r1) -/* 048340 8004D8E0 3C0490A3 */ addis r0, r4, 0x90a3 -/* 048344 8004D8E4 5463103A */ slwi r3, r3, 2 -/* 048348 8004D8E8 7C1F192E */ stwx r0, r31, r3 -/* 04834C 8004D8EC 4801A648 */ b lbl_80067F34 -lbl_8004D8F0: -/* 048350 8004D8F0 80610084 */ lwz r3, 0x84(r1) -/* 048354 8004D8F4 38030001 */ addi r0, r3, 1 -/* 048358 8004D8F8 90010084 */ stw r0, 0x84(r1) -/* 04835C 8004D8FC 4801A638 */ b lbl_80067F34 -.global lbl_8004D900 -lbl_8004D900: -/* 048360 8004D900 3C7E0001 */ addis r3, r30, 1 -/* 048364 8004D904 578986FE */ rlwinm r9, r28, 0x10, 0x1b, 0x1f -/* 048368 8004D908 80032058 */ lwz r0, 0x2058(r3) -/* 04836C 8004D90C 38800001 */ li r4, 1 -/* 048370 8004D910 7C844830 */ slw r4, r4, r9 -/* 048374 8004D914 7C042078 */ andc r4, r0, r4 -/* 048378 8004D918 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 04837C 8004D91C 90832058 */ stw r4, 0x2058(r3) -/* 048380 8004D920 7CFA0214 */ add r7, r26, r0 -/* 048384 8004D924 84070818 */ lwzu r0, 0x818(r7) -/* 048388 8004D928 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 04838C 8004D92C 41820008 */ beq lbl_8004D934 -/* 048390 8004D930 38000005 */ li r0, 5 -lbl_8004D934: -/* 048394 8004D934 57836E7A */ rlwinm r3, r28, 0xd, 0x19, 0x1d -/* 048398 8004D938 7C7A1A14 */ add r3, r26, r3 -/* 04839C 8004D93C 81430818 */ lwz r10, 0x818(r3) -/* 0483A0 8004D940 57885EFE */ rlwinm r8, r28, 0xb, 0x1b, 0x1f -/* 0483A4 8004D944 554305EF */ rlwinm. r3, r10, 0, 0x17, 0x17 -/* 0483A8 8004D948 4182014C */ beq lbl_8004DA94 -/* 0483AC 8004D94C 3C7E0001 */ addis r3, r30, 1 -/* 0483B0 8004D950 80832064 */ lwz r4, 0x2064(r3) -/* 0483B4 8004D954 39400006 */ li r10, 6 -/* 0483B8 8004D958 28040000 */ cmplwi r4, 0 -/* 0483BC 8004D95C 4082000C */ bne lbl_8004D968 -/* 0483C0 8004D960 38800000 */ li r4, 0 -/* 0483C4 8004D964 48000094 */ b lbl_8004D9F8 -lbl_8004D968: -/* 0483C8 8004D968 80832068 */ lwz r4, 0x2068(r3) -/* 0483CC 8004D96C 28040000 */ cmplwi r4, 0 -/* 0483D0 8004D970 4082000C */ bne lbl_8004D97C -/* 0483D4 8004D974 38800000 */ li r4, 0 -/* 0483D8 8004D978 48000080 */ b lbl_8004D9F8 -lbl_8004D97C: -/* 0483DC 8004D97C 8063206C */ lwz r3, 0x206c(r3) -/* 0483E0 8004D980 7C081800 */ cmpw r8, r3 -/* 0483E4 8004D984 4182000C */ beq lbl_8004D990 -/* 0483E8 8004D988 38800000 */ li r4, 0 -/* 0483EC 8004D98C 4800006C */ b lbl_8004D9F8 -lbl_8004D990: -/* 0483F0 8004D990 80BE0034 */ lwz r5, 0x34(r30) -/* 0483F4 8004D994 38800000 */ li r4, 0 -/* 0483F8 8004D998 80650008 */ lwz r3, 8(r5) -/* 0483FC 8004D99C 2C030000 */ cmpwi r3, 0 -/* 048400 8004D9A0 7C6903A6 */ mtctr r3 -/* 048404 8004D9A4 40810028 */ ble lbl_8004D9CC -lbl_8004D9A8: -/* 048408 8004D9A8 8065000C */ lwz r3, 0xc(r5) -/* 04840C 8004D9AC 38C40004 */ addi r6, r4, 4 -/* 048410 8004D9B0 7C63302E */ lwzx r3, r3, r6 -/* 048414 8004D9B4 7C1D1800 */ cmpw r29, r3 -/* 048418 8004D9B8 4082000C */ bne lbl_8004D9C4 -/* 04841C 8004D9BC 38600000 */ li r3, 0 -/* 048420 8004D9C0 48000010 */ b lbl_8004D9D0 -lbl_8004D9C4: -/* 048424 8004D9C4 38840008 */ addi r4, r4, 8 -/* 048428 8004D9C8 4200FFE0 */ bdnz lbl_8004D9A8 -lbl_8004D9CC: -/* 04842C 8004D9CC 38600001 */ li r3, 1 -lbl_8004D9D0: -/* 048430 8004D9D0 2C030000 */ cmpwi r3, 0 -/* 048434 8004D9D4 40820014 */ bne lbl_8004D9E8 -/* 048438 8004D9D8 38800000 */ li r4, 0 -/* 04843C 8004D9DC 3C7E0001 */ addis r3, r30, 1 -/* 048440 8004D9E0 90832068 */ stw r4, 0x2068(r3) -/* 048444 8004D9E4 48000014 */ b lbl_8004D9F8 -lbl_8004D9E8: -/* 048448 8004D9E8 3C7E0001 */ addis r3, r30, 1 -/* 04844C 8004D9EC 38800000 */ li r4, 0 -/* 048450 8004D9F0 90832068 */ stw r4, 0x2068(r3) -/* 048454 8004D9F4 38800001 */ li r4, 1 -lbl_8004D9F8: -/* 048458 8004D9F8 2C040000 */ cmpwi r4, 0 -/* 04845C 8004D9FC 41820050 */ beq lbl_8004DA4C -/* 048460 8004DA00 281F0000 */ cmplwi r31, 0 -/* 048464 8004DA04 41820038 */ beq lbl_8004DA3C -/* 048468 8004DA08 3C9E0001 */ addis r4, r30, 1 -/* 04846C 8004DA0C 80610084 */ lwz r3, 0x84(r1) -/* 048470 8004DA10 80A42070 */ lwz r5, 0x2070(r4) -/* 048474 8004DA14 38C30001 */ addi r6, r3, 1 -/* 048478 8004DA18 54A4A814 */ slwi r4, r5, 0x15 -/* 04847C 8004DA1C 90C10084 */ stw r6, 0x84(r1) -/* 048480 8004DA20 64847C06 */ oris r4, r4, 0x7c06 -/* 048484 8004DA24 54A55828 */ slwi r5, r5, 0xb -/* 048488 8004DA28 60840378 */ ori r4, r4, 0x378 -/* 04848C 8004DA2C 7CA42378 */ or r4, r5, r4 -/* 048490 8004DA30 5463103A */ slwi r3, r3, 2 -/* 048494 8004DA34 7C9F192E */ stwx r4, r31, r3 -/* 048498 8004DA38 4800005C */ b lbl_8004DA94 -lbl_8004DA3C: -/* 04849C 8004DA3C 80610084 */ lwz r3, 0x84(r1) -/* 0484A0 8004DA40 38630001 */ addi r3, r3, 1 -/* 0484A4 8004DA44 90610084 */ stw r3, 0x84(r1) -/* 0484A8 8004DA48 4800004C */ b lbl_8004DA94 -lbl_8004DA4C: -/* 0484AC 8004DA4C 281F0000 */ cmplwi r31, 0 -/* 0484B0 8004DA50 41820038 */ beq lbl_8004DA88 -/* 0484B4 8004DA54 55041838 */ slwi r4, r8, 3 -/* 0484B8 8004DA58 80610084 */ lwz r3, 0x84(r1) -/* 0484BC 8004DA5C 38840040 */ addi r4, r4, 0x40 -/* 0484C0 8004DA60 7C9E2214 */ add r4, r30, r4 -/* 0484C4 8004DA64 7C9E2050 */ subf r4, r30, r4 -/* 0484C8 8004DA68 38840004 */ addi r4, r4, 4 -/* 0484CC 8004DA6C 38A30001 */ addi r5, r3, 1 -/* 0484D0 8004DA70 5484043E */ clrlwi r4, r4, 0x10 -/* 0484D4 8004DA74 90A10084 */ stw r5, 0x84(r1) -/* 0484D8 8004DA78 3C8480C3 */ addis r4, r4, 0x80c3 -/* 0484DC 8004DA7C 5463103A */ slwi r3, r3, 2 -/* 0484E0 8004DA80 7C9F192E */ stwx r4, r31, r3 -/* 0484E4 8004DA84 48000010 */ b lbl_8004DA94 -lbl_8004DA88: -/* 0484E8 8004DA88 80610084 */ lwz r3, 0x84(r1) -/* 0484EC 8004DA8C 38630001 */ addi r3, r3, 1 -/* 0484F0 8004DA90 90610084 */ stw r3, 0x84(r1) -lbl_8004DA94: -/* 0484F4 8004DA94 281F0000 */ cmplwi r31, 0 -/* 0484F8 8004DA98 4182002C */ beq lbl_8004DAC4 -/* 0484FC 8004DA9C 80610084 */ lwz r3, 0x84(r1) -/* 048500 8004DAA0 5544801E */ slwi r4, r10, 0x10 -/* 048504 8004DAA4 64842C00 */ oris r4, r4, 0x2c00 -/* 048508 8004DAA8 38A30001 */ addi r5, r3, 1 -/* 04850C 8004DAAC 5786043E */ clrlwi r6, r28, 0x10 -/* 048510 8004DAB0 90A10084 */ stw r5, 0x84(r1) -/* 048514 8004DAB4 7C843378 */ or r4, r4, r6 -/* 048518 8004DAB8 5463103A */ slwi r3, r3, 2 -/* 04851C 8004DABC 7C9F192E */ stwx r4, r31, r3 -/* 048520 8004DAC0 48000010 */ b lbl_8004DAD0 -lbl_8004DAC4: -/* 048524 8004DAC4 80610084 */ lwz r3, 0x84(r1) -/* 048528 8004DAC8 38630001 */ addi r3, r3, 1 -/* 04852C 8004DACC 90610084 */ stw r3, 0x84(r1) -lbl_8004DAD0: -/* 048530 8004DAD0 281F0000 */ cmplwi r31, 0 -/* 048534 8004DAD4 41820024 */ beq lbl_8004DAF8 -/* 048538 8004DAD8 80810084 */ lwz r4, 0x84(r1) -/* 04853C 8004DADC 3C604180 */ lis r3, 0x4180 -/* 048540 8004DAE0 38A3000C */ addi r5, r3, 0xc -/* 048544 8004DAE4 38640001 */ addi r3, r4, 1 -/* 048548 8004DAE8 90610084 */ stw r3, 0x84(r1) -/* 04854C 8004DAEC 5483103A */ slwi r3, r4, 2 -/* 048550 8004DAF0 7CBF192E */ stwx r5, r31, r3 -/* 048554 8004DAF4 48000010 */ b lbl_8004DB04 -lbl_8004DAF8: -/* 048558 8004DAF8 80610084 */ lwz r3, 0x84(r1) -/* 04855C 8004DAFC 38630001 */ addi r3, r3, 1 -/* 048560 8004DB00 90610084 */ stw r3, 0x84(r1) -lbl_8004DB04: -/* 048564 8004DB04 281F0000 */ cmplwi r31, 0 -/* 048568 8004DB08 41820024 */ beq lbl_8004DB2C -/* 04856C 8004DB0C 80810084 */ lwz r4, 0x84(r1) -/* 048570 8004DB10 5403A814 */ slwi r3, r0, 0x15 -/* 048574 8004DB14 64653800 */ oris r5, r3, 0x3800 -/* 048578 8004DB18 38640001 */ addi r3, r4, 1 -/* 04857C 8004DB1C 90610084 */ stw r3, 0x84(r1) -/* 048580 8004DB20 5483103A */ slwi r3, r4, 2 -/* 048584 8004DB24 7CBF192E */ stwx r5, r31, r3 -/* 048588 8004DB28 48000010 */ b lbl_8004DB38 -lbl_8004DB2C: -/* 04858C 8004DB2C 80610084 */ lwz r3, 0x84(r1) -/* 048590 8004DB30 38630001 */ addi r3, r3, 1 -/* 048594 8004DB34 90610084 */ stw r3, 0x84(r1) -lbl_8004DB38: -/* 048598 8004DB38 281F0000 */ cmplwi r31, 0 -/* 04859C 8004DB3C 41820024 */ beq lbl_8004DB60 -/* 0485A0 8004DB40 80810084 */ lwz r4, 0x84(r1) -/* 0485A4 8004DB44 3C604280 */ lis r3, 0x4280 -/* 0485A8 8004DB48 38A30008 */ addi r5, r3, 8 -/* 0485AC 8004DB4C 38640001 */ addi r3, r4, 1 -/* 0485B0 8004DB50 90610084 */ stw r3, 0x84(r1) -/* 0485B4 8004DB54 5483103A */ slwi r3, r4, 2 -/* 0485B8 8004DB58 7CBF192E */ stwx r5, r31, r3 -/* 0485BC 8004DB5C 48000010 */ b lbl_8004DB6C -lbl_8004DB60: -/* 0485C0 8004DB60 80610084 */ lwz r3, 0x84(r1) -/* 0485C4 8004DB64 38630001 */ addi r3, r3, 1 -/* 0485C8 8004DB68 90610084 */ stw r3, 0x84(r1) -lbl_8004DB6C: -/* 0485CC 8004DB6C 281F0000 */ cmplwi r31, 0 -/* 0485D0 8004DB70 41820028 */ beq lbl_8004DB98 -/* 0485D4 8004DB74 80810084 */ lwz r4, 0x84(r1) -/* 0485D8 8004DB78 5403A814 */ slwi r3, r0, 0x15 -/* 0485DC 8004DB7C 64653800 */ oris r5, r3, 0x3800 -/* 0485E0 8004DB80 38640001 */ addi r3, r4, 1 -/* 0485E4 8004DB84 90610084 */ stw r3, 0x84(r1) -/* 0485E8 8004DB88 60A50001 */ ori r5, r5, 1 -/* 0485EC 8004DB8C 5483103A */ slwi r3, r4, 2 -/* 0485F0 8004DB90 7CBF192E */ stwx r5, r31, r3 -/* 0485F4 8004DB94 48000010 */ b lbl_8004DBA4 -lbl_8004DB98: -/* 0485F8 8004DB98 80610084 */ lwz r3, 0x84(r1) -/* 0485FC 8004DB9C 38630001 */ addi r3, r3, 1 -/* 048600 8004DBA0 90610084 */ stw r3, 0x84(r1) -lbl_8004DBA4: -/* 048604 8004DBA4 80670000 */ lwz r3, 0(r7) -/* 048608 8004DBA8 546305EF */ rlwinm. r3, r3, 0, 0x17, 0x17 -/* 04860C 8004DBAC 40820008 */ bne lbl_8004DBB4 -/* 048610 8004DBB0 4801A384 */ b lbl_80067F34 -lbl_8004DBB4: -/* 048614 8004DBB4 3C7E0001 */ addis r3, r30, 1 -/* 048618 8004DBB8 38800002 */ li r4, 2 -/* 04861C 8004DBBC 90832068 */ stw r4, 0x2068(r3) -/* 048620 8004DBC0 281F0000 */ cmplwi r31, 0 -/* 048624 8004DBC4 9123206C */ stw r9, 0x206c(r3) -/* 048628 8004DBC8 90032070 */ stw r0, 0x2070(r3) -/* 04862C 8004DBCC 41820038 */ beq lbl_8004DC04 -/* 048630 8004DBD0 55241838 */ slwi r4, r9, 3 -/* 048634 8004DBD4 80610084 */ lwz r3, 0x84(r1) -/* 048638 8004DBD8 38040040 */ addi r0, r4, 0x40 -/* 04863C 8004DBDC 7C1E0214 */ add r0, r30, r0 -/* 048640 8004DBE0 7C9E0050 */ subf r4, r30, r0 -/* 048644 8004DBE4 38840004 */ addi r4, r4, 4 -/* 048648 8004DBE8 38030001 */ addi r0, r3, 1 -/* 04864C 8004DBEC 5484043E */ clrlwi r4, r4, 0x10 -/* 048650 8004DBF0 90010084 */ stw r0, 0x84(r1) -/* 048654 8004DBF4 3C0490A3 */ addis r0, r4, 0x90a3 -/* 048658 8004DBF8 5463103A */ slwi r3, r3, 2 -/* 04865C 8004DBFC 7C1F192E */ stwx r0, r31, r3 -/* 048660 8004DC00 4801A334 */ b lbl_80067F34 -lbl_8004DC04: -/* 048664 8004DC04 80610084 */ lwz r3, 0x84(r1) -/* 048668 8004DC08 38030001 */ addi r0, r3, 1 -/* 04866C 8004DC0C 90010084 */ stw r0, 0x84(r1) -/* 048670 8004DC10 4801A324 */ b lbl_80067F34 -.global lbl_8004DC14 -lbl_8004DC14: -/* 048674 8004DC14 3C7E0001 */ addis r3, r30, 1 -/* 048678 8004DC18 578986FE */ rlwinm r9, r28, 0x10, 0x1b, 0x1f -/* 04867C 8004DC1C 80032058 */ lwz r0, 0x2058(r3) -/* 048680 8004DC20 38800001 */ li r4, 1 -/* 048684 8004DC24 7C844830 */ slw r4, r4, r9 -/* 048688 8004DC28 7C042078 */ andc r4, r0, r4 -/* 04868C 8004DC2C 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 048690 8004DC30 90832058 */ stw r4, 0x2058(r3) -/* 048694 8004DC34 7CFA0214 */ add r7, r26, r0 -/* 048698 8004DC38 84070818 */ lwzu r0, 0x818(r7) -/* 04869C 8004DC3C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0486A0 8004DC40 41820008 */ beq lbl_8004DC48 -/* 0486A4 8004DC44 38000005 */ li r0, 5 -lbl_8004DC48: -/* 0486A8 8004DC48 57836E7A */ rlwinm r3, r28, 0xd, 0x19, 0x1d -/* 0486AC 8004DC4C 7C7A1A14 */ add r3, r26, r3 -/* 0486B0 8004DC50 81430818 */ lwz r10, 0x818(r3) -/* 0486B4 8004DC54 57885EFE */ rlwinm r8, r28, 0xb, 0x1b, 0x1f -/* 0486B8 8004DC58 554305EF */ rlwinm. r3, r10, 0, 0x17, 0x17 -/* 0486BC 8004DC5C 4182014C */ beq lbl_8004DDA8 -/* 0486C0 8004DC60 3C7E0001 */ addis r3, r30, 1 -/* 0486C4 8004DC64 80832064 */ lwz r4, 0x2064(r3) -/* 0486C8 8004DC68 39400006 */ li r10, 6 -/* 0486CC 8004DC6C 28040000 */ cmplwi r4, 0 -/* 0486D0 8004DC70 4082000C */ bne lbl_8004DC7C -/* 0486D4 8004DC74 38800000 */ li r4, 0 -/* 0486D8 8004DC78 48000094 */ b lbl_8004DD0C -lbl_8004DC7C: -/* 0486DC 8004DC7C 80832068 */ lwz r4, 0x2068(r3) -/* 0486E0 8004DC80 28040000 */ cmplwi r4, 0 -/* 0486E4 8004DC84 4082000C */ bne lbl_8004DC90 -/* 0486E8 8004DC88 38800000 */ li r4, 0 -/* 0486EC 8004DC8C 48000080 */ b lbl_8004DD0C -lbl_8004DC90: -/* 0486F0 8004DC90 8063206C */ lwz r3, 0x206c(r3) -/* 0486F4 8004DC94 7C081800 */ cmpw r8, r3 -/* 0486F8 8004DC98 4182000C */ beq lbl_8004DCA4 -/* 0486FC 8004DC9C 38800000 */ li r4, 0 -/* 048700 8004DCA0 4800006C */ b lbl_8004DD0C -lbl_8004DCA4: -/* 048704 8004DCA4 80BE0034 */ lwz r5, 0x34(r30) -/* 048708 8004DCA8 38800000 */ li r4, 0 -/* 04870C 8004DCAC 80650008 */ lwz r3, 8(r5) -/* 048710 8004DCB0 2C030000 */ cmpwi r3, 0 -/* 048714 8004DCB4 7C6903A6 */ mtctr r3 -/* 048718 8004DCB8 40810028 */ ble lbl_8004DCE0 -lbl_8004DCBC: -/* 04871C 8004DCBC 8065000C */ lwz r3, 0xc(r5) -/* 048720 8004DCC0 38C40004 */ addi r6, r4, 4 -/* 048724 8004DCC4 7C63302E */ lwzx r3, r3, r6 -/* 048728 8004DCC8 7C1D1800 */ cmpw r29, r3 -/* 04872C 8004DCCC 4082000C */ bne lbl_8004DCD8 -/* 048730 8004DCD0 38600000 */ li r3, 0 -/* 048734 8004DCD4 48000010 */ b lbl_8004DCE4 -lbl_8004DCD8: -/* 048738 8004DCD8 38840008 */ addi r4, r4, 8 -/* 04873C 8004DCDC 4200FFE0 */ bdnz lbl_8004DCBC -lbl_8004DCE0: -/* 048740 8004DCE0 38600001 */ li r3, 1 -lbl_8004DCE4: -/* 048744 8004DCE4 2C030000 */ cmpwi r3, 0 -/* 048748 8004DCE8 40820014 */ bne lbl_8004DCFC -/* 04874C 8004DCEC 38800000 */ li r4, 0 -/* 048750 8004DCF0 3C7E0001 */ addis r3, r30, 1 -/* 048754 8004DCF4 90832068 */ stw r4, 0x2068(r3) -/* 048758 8004DCF8 48000014 */ b lbl_8004DD0C -lbl_8004DCFC: -/* 04875C 8004DCFC 3C7E0001 */ addis r3, r30, 1 -/* 048760 8004DD00 38800000 */ li r4, 0 -/* 048764 8004DD04 90832068 */ stw r4, 0x2068(r3) -/* 048768 8004DD08 38800001 */ li r4, 1 -lbl_8004DD0C: -/* 04876C 8004DD0C 2C040000 */ cmpwi r4, 0 -/* 048770 8004DD10 41820050 */ beq lbl_8004DD60 -/* 048774 8004DD14 281F0000 */ cmplwi r31, 0 -/* 048778 8004DD18 41820038 */ beq lbl_8004DD50 -/* 04877C 8004DD1C 3C9E0001 */ addis r4, r30, 1 -/* 048780 8004DD20 80610084 */ lwz r3, 0x84(r1) -/* 048784 8004DD24 80A42070 */ lwz r5, 0x2070(r4) -/* 048788 8004DD28 38C30001 */ addi r6, r3, 1 -/* 04878C 8004DD2C 54A4A814 */ slwi r4, r5, 0x15 -/* 048790 8004DD30 90C10084 */ stw r6, 0x84(r1) -/* 048794 8004DD34 64847C06 */ oris r4, r4, 0x7c06 -/* 048798 8004DD38 54A55828 */ slwi r5, r5, 0xb -/* 04879C 8004DD3C 60840378 */ ori r4, r4, 0x378 -/* 0487A0 8004DD40 7CA42378 */ or r4, r5, r4 -/* 0487A4 8004DD44 5463103A */ slwi r3, r3, 2 -/* 0487A8 8004DD48 7C9F192E */ stwx r4, r31, r3 -/* 0487AC 8004DD4C 4800005C */ b lbl_8004DDA8 -lbl_8004DD50: -/* 0487B0 8004DD50 80610084 */ lwz r3, 0x84(r1) -/* 0487B4 8004DD54 38630001 */ addi r3, r3, 1 -/* 0487B8 8004DD58 90610084 */ stw r3, 0x84(r1) -/* 0487BC 8004DD5C 4800004C */ b lbl_8004DDA8 -lbl_8004DD60: -/* 0487C0 8004DD60 281F0000 */ cmplwi r31, 0 -/* 0487C4 8004DD64 41820038 */ beq lbl_8004DD9C -/* 0487C8 8004DD68 55041838 */ slwi r4, r8, 3 -/* 0487CC 8004DD6C 80610084 */ lwz r3, 0x84(r1) -/* 0487D0 8004DD70 38840040 */ addi r4, r4, 0x40 -/* 0487D4 8004DD74 7C9E2214 */ add r4, r30, r4 -/* 0487D8 8004DD78 7C9E2050 */ subf r4, r30, r4 -/* 0487DC 8004DD7C 38840004 */ addi r4, r4, 4 -/* 0487E0 8004DD80 38A30001 */ addi r5, r3, 1 -/* 0487E4 8004DD84 5484043E */ clrlwi r4, r4, 0x10 -/* 0487E8 8004DD88 90A10084 */ stw r5, 0x84(r1) -/* 0487EC 8004DD8C 3C8480C3 */ addis r4, r4, 0x80c3 -/* 0487F0 8004DD90 5463103A */ slwi r3, r3, 2 -/* 0487F4 8004DD94 7C9F192E */ stwx r4, r31, r3 -/* 0487F8 8004DD98 48000010 */ b lbl_8004DDA8 -lbl_8004DD9C: -/* 0487FC 8004DD9C 80610084 */ lwz r3, 0x84(r1) -/* 048800 8004DDA0 38630001 */ addi r3, r3, 1 -/* 048804 8004DDA4 90610084 */ stw r3, 0x84(r1) -lbl_8004DDA8: -/* 048808 8004DDA8 281F0000 */ cmplwi r31, 0 -/* 04880C 8004DDAC 41820024 */ beq lbl_8004DDD0 -/* 048810 8004DDB0 80610084 */ lwz r3, 0x84(r1) -/* 048814 8004DDB4 5784043E */ clrlwi r4, r28, 0x10 -/* 048818 8004DDB8 648538E0 */ oris r5, r4, 0x38e0 -/* 04881C 8004DDBC 38830001 */ addi r4, r3, 1 -/* 048820 8004DDC0 90810084 */ stw r4, 0x84(r1) -/* 048824 8004DDC4 5463103A */ slwi r3, r3, 2 -/* 048828 8004DDC8 7CBF192E */ stwx r5, r31, r3 -/* 04882C 8004DDCC 48000010 */ b lbl_8004DDDC -lbl_8004DDD0: -/* 048830 8004DDD0 80610084 */ lwz r3, 0x84(r1) -/* 048834 8004DDD4 38630001 */ addi r3, r3, 1 -/* 048838 8004DDD8 90610084 */ stw r3, 0x84(r1) -lbl_8004DDDC: -/* 04883C 8004DDDC 281F0000 */ cmplwi r31, 0 -/* 048840 8004DDE0 41820028 */ beq lbl_8004DE08 -/* 048844 8004DDE4 80610084 */ lwz r3, 0x84(r1) -/* 048848 8004DDE8 5544801E */ slwi r4, r10, 0x10 -/* 04884C 8004DDEC 64857C00 */ oris r5, r4, 0x7c00 -/* 048850 8004DDF0 38830001 */ addi r4, r3, 1 -/* 048854 8004DDF4 90810084 */ stw r4, 0x84(r1) -/* 048858 8004DDF8 60A53840 */ ori r5, r5, 0x3840 -/* 04885C 8004DDFC 5463103A */ slwi r3, r3, 2 -/* 048860 8004DE00 7CBF192E */ stwx r5, r31, r3 -/* 048864 8004DE04 48000010 */ b lbl_8004DE14 -lbl_8004DE08: -/* 048868 8004DE08 80610084 */ lwz r3, 0x84(r1) -/* 04886C 8004DE0C 38630001 */ addi r3, r3, 1 -/* 048870 8004DE10 90610084 */ stw r3, 0x84(r1) -lbl_8004DE14: -/* 048874 8004DE14 281F0000 */ cmplwi r31, 0 -/* 048878 8004DE18 41820024 */ beq lbl_8004DE3C -/* 04887C 8004DE1C 80810084 */ lwz r4, 0x84(r1) -/* 048880 8004DE20 3C604180 */ lis r3, 0x4180 -/* 048884 8004DE24 38A3000C */ addi r5, r3, 0xc -/* 048888 8004DE28 38640001 */ addi r3, r4, 1 -/* 04888C 8004DE2C 90610084 */ stw r3, 0x84(r1) -/* 048890 8004DE30 5483103A */ slwi r3, r4, 2 -/* 048894 8004DE34 7CBF192E */ stwx r5, r31, r3 -/* 048898 8004DE38 48000010 */ b lbl_8004DE48 -lbl_8004DE3C: -/* 04889C 8004DE3C 80610084 */ lwz r3, 0x84(r1) -/* 0488A0 8004DE40 38630001 */ addi r3, r3, 1 -/* 0488A4 8004DE44 90610084 */ stw r3, 0x84(r1) -lbl_8004DE48: -/* 0488A8 8004DE48 281F0000 */ cmplwi r31, 0 -/* 0488AC 8004DE4C 41820024 */ beq lbl_8004DE70 -/* 0488B0 8004DE50 80810084 */ lwz r4, 0x84(r1) -/* 0488B4 8004DE54 5403A814 */ slwi r3, r0, 0x15 -/* 0488B8 8004DE58 64653800 */ oris r5, r3, 0x3800 -/* 0488BC 8004DE5C 38640001 */ addi r3, r4, 1 -/* 0488C0 8004DE60 90610084 */ stw r3, 0x84(r1) -/* 0488C4 8004DE64 5483103A */ slwi r3, r4, 2 -/* 0488C8 8004DE68 7CBF192E */ stwx r5, r31, r3 -/* 0488CC 8004DE6C 48000010 */ b lbl_8004DE7C -lbl_8004DE70: -/* 0488D0 8004DE70 80610084 */ lwz r3, 0x84(r1) -/* 0488D4 8004DE74 38630001 */ addi r3, r3, 1 -/* 0488D8 8004DE78 90610084 */ stw r3, 0x84(r1) -lbl_8004DE7C: -/* 0488DC 8004DE7C 281F0000 */ cmplwi r31, 0 -/* 0488E0 8004DE80 41820024 */ beq lbl_8004DEA4 -/* 0488E4 8004DE84 80810084 */ lwz r4, 0x84(r1) -/* 0488E8 8004DE88 3C604280 */ lis r3, 0x4280 -/* 0488EC 8004DE8C 38A30008 */ addi r5, r3, 8 -/* 0488F0 8004DE90 38640001 */ addi r3, r4, 1 -/* 0488F4 8004DE94 90610084 */ stw r3, 0x84(r1) -/* 0488F8 8004DE98 5483103A */ slwi r3, r4, 2 -/* 0488FC 8004DE9C 7CBF192E */ stwx r5, r31, r3 -/* 048900 8004DEA0 48000010 */ b lbl_8004DEB0 -lbl_8004DEA4: -/* 048904 8004DEA4 80610084 */ lwz r3, 0x84(r1) -/* 048908 8004DEA8 38630001 */ addi r3, r3, 1 -/* 04890C 8004DEAC 90610084 */ stw r3, 0x84(r1) -lbl_8004DEB0: -/* 048910 8004DEB0 281F0000 */ cmplwi r31, 0 -/* 048914 8004DEB4 41820028 */ beq lbl_8004DEDC -/* 048918 8004DEB8 80810084 */ lwz r4, 0x84(r1) -/* 04891C 8004DEBC 5403A814 */ slwi r3, r0, 0x15 -/* 048920 8004DEC0 64653800 */ oris r5, r3, 0x3800 -/* 048924 8004DEC4 38640001 */ addi r3, r4, 1 -/* 048928 8004DEC8 90610084 */ stw r3, 0x84(r1) -/* 04892C 8004DECC 60A50001 */ ori r5, r5, 1 -/* 048930 8004DED0 5483103A */ slwi r3, r4, 2 -/* 048934 8004DED4 7CBF192E */ stwx r5, r31, r3 -/* 048938 8004DED8 48000010 */ b lbl_8004DEE8 -lbl_8004DEDC: -/* 04893C 8004DEDC 80610084 */ lwz r3, 0x84(r1) -/* 048940 8004DEE0 38630001 */ addi r3, r3, 1 -/* 048944 8004DEE4 90610084 */ stw r3, 0x84(r1) -lbl_8004DEE8: -/* 048948 8004DEE8 80670000 */ lwz r3, 0(r7) -/* 04894C 8004DEEC 546305EF */ rlwinm. r3, r3, 0, 0x17, 0x17 -/* 048950 8004DEF0 40820008 */ bne lbl_8004DEF8 -/* 048954 8004DEF4 4801A040 */ b lbl_80067F34 -lbl_8004DEF8: -/* 048958 8004DEF8 3C7E0001 */ addis r3, r30, 1 -/* 04895C 8004DEFC 38800002 */ li r4, 2 -/* 048960 8004DF00 90832068 */ stw r4, 0x2068(r3) -/* 048964 8004DF04 281F0000 */ cmplwi r31, 0 -/* 048968 8004DF08 9123206C */ stw r9, 0x206c(r3) -/* 04896C 8004DF0C 90032070 */ stw r0, 0x2070(r3) -/* 048970 8004DF10 41820038 */ beq lbl_8004DF48 -/* 048974 8004DF14 55241838 */ slwi r4, r9, 3 -/* 048978 8004DF18 80610084 */ lwz r3, 0x84(r1) -/* 04897C 8004DF1C 38040040 */ addi r0, r4, 0x40 -/* 048980 8004DF20 7C1E0214 */ add r0, r30, r0 -/* 048984 8004DF24 7C9E0050 */ subf r4, r30, r0 -/* 048988 8004DF28 38840004 */ addi r4, r4, 4 -/* 04898C 8004DF2C 38030001 */ addi r0, r3, 1 -/* 048990 8004DF30 5484043E */ clrlwi r4, r4, 0x10 -/* 048994 8004DF34 90010084 */ stw r0, 0x84(r1) -/* 048998 8004DF38 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04899C 8004DF3C 5463103A */ slwi r3, r3, 2 -/* 0489A0 8004DF40 7C1F192E */ stwx r0, r31, r3 -/* 0489A4 8004DF44 48019FF0 */ b lbl_80067F34 -lbl_8004DF48: -/* 0489A8 8004DF48 80610084 */ lwz r3, 0x84(r1) -/* 0489AC 8004DF4C 38030001 */ addi r0, r3, 1 -/* 0489B0 8004DF50 90010084 */ stw r0, 0x84(r1) -/* 0489B4 8004DF54 48019FE0 */ b lbl_80067F34 -.global lbl_8004DF58 -lbl_8004DF58: -/* 0489B8 8004DF58 3C7E0001 */ addis r3, r30, 1 -/* 0489BC 8004DF5C 578986FE */ rlwinm r9, r28, 0x10, 0x1b, 0x1f -/* 0489C0 8004DF60 80032058 */ lwz r0, 0x2058(r3) -/* 0489C4 8004DF64 38800001 */ li r4, 1 -/* 0489C8 8004DF68 7C844830 */ slw r4, r4, r9 -/* 0489CC 8004DF6C 7C042078 */ andc r4, r0, r4 -/* 0489D0 8004DF70 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 0489D4 8004DF74 90832058 */ stw r4, 0x2058(r3) -/* 0489D8 8004DF78 7CFA0214 */ add r7, r26, r0 -/* 0489DC 8004DF7C 84070818 */ lwzu r0, 0x818(r7) -/* 0489E0 8004DF80 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0489E4 8004DF84 41820008 */ beq lbl_8004DF8C -/* 0489E8 8004DF88 38000005 */ li r0, 5 -lbl_8004DF8C: -/* 0489EC 8004DF8C 57836E7A */ rlwinm r3, r28, 0xd, 0x19, 0x1d -/* 0489F0 8004DF90 7C7A1A14 */ add r3, r26, r3 -/* 0489F4 8004DF94 81430818 */ lwz r10, 0x818(r3) -/* 0489F8 8004DF98 57885EFE */ rlwinm r8, r28, 0xb, 0x1b, 0x1f -/* 0489FC 8004DF9C 554305EF */ rlwinm. r3, r10, 0, 0x17, 0x17 -/* 048A00 8004DFA0 4182014C */ beq lbl_8004E0EC -/* 048A04 8004DFA4 3C7E0001 */ addis r3, r30, 1 -/* 048A08 8004DFA8 80832064 */ lwz r4, 0x2064(r3) -/* 048A0C 8004DFAC 39400006 */ li r10, 6 -/* 048A10 8004DFB0 28040000 */ cmplwi r4, 0 -/* 048A14 8004DFB4 4082000C */ bne lbl_8004DFC0 -/* 048A18 8004DFB8 38800000 */ li r4, 0 -/* 048A1C 8004DFBC 48000094 */ b lbl_8004E050 -lbl_8004DFC0: -/* 048A20 8004DFC0 80832068 */ lwz r4, 0x2068(r3) -/* 048A24 8004DFC4 28040000 */ cmplwi r4, 0 -/* 048A28 8004DFC8 4082000C */ bne lbl_8004DFD4 -/* 048A2C 8004DFCC 38800000 */ li r4, 0 -/* 048A30 8004DFD0 48000080 */ b lbl_8004E050 -lbl_8004DFD4: -/* 048A34 8004DFD4 8063206C */ lwz r3, 0x206c(r3) -/* 048A38 8004DFD8 7C081800 */ cmpw r8, r3 -/* 048A3C 8004DFDC 4182000C */ beq lbl_8004DFE8 -/* 048A40 8004DFE0 38800000 */ li r4, 0 -/* 048A44 8004DFE4 4800006C */ b lbl_8004E050 -lbl_8004DFE8: -/* 048A48 8004DFE8 80BE0034 */ lwz r5, 0x34(r30) -/* 048A4C 8004DFEC 38800000 */ li r4, 0 -/* 048A50 8004DFF0 80650008 */ lwz r3, 8(r5) -/* 048A54 8004DFF4 2C030000 */ cmpwi r3, 0 -/* 048A58 8004DFF8 7C6903A6 */ mtctr r3 -/* 048A5C 8004DFFC 40810028 */ ble lbl_8004E024 -lbl_8004E000: -/* 048A60 8004E000 8065000C */ lwz r3, 0xc(r5) -/* 048A64 8004E004 38C40004 */ addi r6, r4, 4 -/* 048A68 8004E008 7C63302E */ lwzx r3, r3, r6 -/* 048A6C 8004E00C 7C1D1800 */ cmpw r29, r3 -/* 048A70 8004E010 4082000C */ bne lbl_8004E01C -/* 048A74 8004E014 38600000 */ li r3, 0 -/* 048A78 8004E018 48000010 */ b lbl_8004E028 -lbl_8004E01C: -/* 048A7C 8004E01C 38840008 */ addi r4, r4, 8 -/* 048A80 8004E020 4200FFE0 */ bdnz lbl_8004E000 -lbl_8004E024: -/* 048A84 8004E024 38600001 */ li r3, 1 -lbl_8004E028: -/* 048A88 8004E028 2C030000 */ cmpwi r3, 0 -/* 048A8C 8004E02C 40820014 */ bne lbl_8004E040 -/* 048A90 8004E030 38800000 */ li r4, 0 -/* 048A94 8004E034 3C7E0001 */ addis r3, r30, 1 -/* 048A98 8004E038 90832068 */ stw r4, 0x2068(r3) -/* 048A9C 8004E03C 48000014 */ b lbl_8004E050 -lbl_8004E040: -/* 048AA0 8004E040 3C7E0001 */ addis r3, r30, 1 -/* 048AA4 8004E044 38800000 */ li r4, 0 -/* 048AA8 8004E048 90832068 */ stw r4, 0x2068(r3) -/* 048AAC 8004E04C 38800001 */ li r4, 1 -lbl_8004E050: -/* 048AB0 8004E050 2C040000 */ cmpwi r4, 0 -/* 048AB4 8004E054 41820050 */ beq lbl_8004E0A4 -/* 048AB8 8004E058 281F0000 */ cmplwi r31, 0 -/* 048ABC 8004E05C 41820038 */ beq lbl_8004E094 -/* 048AC0 8004E060 3C9E0001 */ addis r4, r30, 1 -/* 048AC4 8004E064 80610084 */ lwz r3, 0x84(r1) -/* 048AC8 8004E068 80A42070 */ lwz r5, 0x2070(r4) -/* 048ACC 8004E06C 38C30001 */ addi r6, r3, 1 -/* 048AD0 8004E070 54A4A814 */ slwi r4, r5, 0x15 -/* 048AD4 8004E074 90C10084 */ stw r6, 0x84(r1) -/* 048AD8 8004E078 64847C06 */ oris r4, r4, 0x7c06 -/* 048ADC 8004E07C 54A55828 */ slwi r5, r5, 0xb -/* 048AE0 8004E080 60840378 */ ori r4, r4, 0x378 -/* 048AE4 8004E084 7CA42378 */ or r4, r5, r4 -/* 048AE8 8004E088 5463103A */ slwi r3, r3, 2 -/* 048AEC 8004E08C 7C9F192E */ stwx r4, r31, r3 -/* 048AF0 8004E090 4800005C */ b lbl_8004E0EC -lbl_8004E094: -/* 048AF4 8004E094 80610084 */ lwz r3, 0x84(r1) -/* 048AF8 8004E098 38630001 */ addi r3, r3, 1 -/* 048AFC 8004E09C 90610084 */ stw r3, 0x84(r1) -/* 048B00 8004E0A0 4800004C */ b lbl_8004E0EC -lbl_8004E0A4: -/* 048B04 8004E0A4 281F0000 */ cmplwi r31, 0 -/* 048B08 8004E0A8 41820038 */ beq lbl_8004E0E0 -/* 048B0C 8004E0AC 55041838 */ slwi r4, r8, 3 -/* 048B10 8004E0B0 80610084 */ lwz r3, 0x84(r1) -/* 048B14 8004E0B4 38840040 */ addi r4, r4, 0x40 -/* 048B18 8004E0B8 7C9E2214 */ add r4, r30, r4 -/* 048B1C 8004E0BC 7C9E2050 */ subf r4, r30, r4 -/* 048B20 8004E0C0 38840004 */ addi r4, r4, 4 -/* 048B24 8004E0C4 38A30001 */ addi r5, r3, 1 -/* 048B28 8004E0C8 5484043E */ clrlwi r4, r4, 0x10 -/* 048B2C 8004E0CC 90A10084 */ stw r5, 0x84(r1) -/* 048B30 8004E0D0 3C8480C3 */ addis r4, r4, 0x80c3 -/* 048B34 8004E0D4 5463103A */ slwi r3, r3, 2 -/* 048B38 8004E0D8 7C9F192E */ stwx r4, r31, r3 -/* 048B3C 8004E0DC 48000010 */ b lbl_8004E0EC -lbl_8004E0E0: -/* 048B40 8004E0E0 80610084 */ lwz r3, 0x84(r1) -/* 048B44 8004E0E4 38630001 */ addi r3, r3, 1 -/* 048B48 8004E0E8 90610084 */ stw r3, 0x84(r1) -lbl_8004E0EC: -/* 048B4C 8004E0EC 281F0000 */ cmplwi r31, 0 -/* 048B50 8004E0F0 41820034 */ beq lbl_8004E124 -/* 048B54 8004E0F4 80610084 */ lwz r3, 0x84(r1) -/* 048B58 8004E0F8 5544A814 */ slwi r4, r10, 0x15 -/* 048B5C 8004E0FC 64857000 */ oris r5, r4, 0x7000 -/* 048B60 8004E100 5404801E */ slwi r4, r0, 0x10 -/* 048B64 8004E104 38C30001 */ addi r6, r3, 1 -/* 048B68 8004E108 90C10084 */ stw r6, 0x84(r1) -/* 048B6C 8004E10C 5786043E */ clrlwi r6, r28, 0x10 -/* 048B70 8004E110 7CA42378 */ or r4, r5, r4 -/* 048B74 8004E114 7CC42378 */ or r4, r6, r4 -/* 048B78 8004E118 5463103A */ slwi r3, r3, 2 -/* 048B7C 8004E11C 7C9F192E */ stwx r4, r31, r3 -/* 048B80 8004E120 48000010 */ b lbl_8004E130 -lbl_8004E124: -/* 048B84 8004E124 80610084 */ lwz r3, 0x84(r1) -/* 048B88 8004E128 38630001 */ addi r3, r3, 1 -/* 048B8C 8004E12C 90610084 */ stw r3, 0x84(r1) -lbl_8004E130: -/* 048B90 8004E130 80670000 */ lwz r3, 0(r7) -/* 048B94 8004E134 546305EF */ rlwinm. r3, r3, 0, 0x17, 0x17 -/* 048B98 8004E138 40820008 */ bne lbl_8004E140 -/* 048B9C 8004E13C 48019DF8 */ b lbl_80067F34 -lbl_8004E140: -/* 048BA0 8004E140 3C7E0001 */ addis r3, r30, 1 -/* 048BA4 8004E144 38800002 */ li r4, 2 -/* 048BA8 8004E148 90832068 */ stw r4, 0x2068(r3) -/* 048BAC 8004E14C 281F0000 */ cmplwi r31, 0 -/* 048BB0 8004E150 9123206C */ stw r9, 0x206c(r3) -/* 048BB4 8004E154 90032070 */ stw r0, 0x2070(r3) -/* 048BB8 8004E158 41820038 */ beq lbl_8004E190 -/* 048BBC 8004E15C 55241838 */ slwi r4, r9, 3 -/* 048BC0 8004E160 80610084 */ lwz r3, 0x84(r1) -/* 048BC4 8004E164 38040040 */ addi r0, r4, 0x40 -/* 048BC8 8004E168 7C1E0214 */ add r0, r30, r0 -/* 048BCC 8004E16C 7C9E0050 */ subf r4, r30, r0 -/* 048BD0 8004E170 38840004 */ addi r4, r4, 4 -/* 048BD4 8004E174 38030001 */ addi r0, r3, 1 -/* 048BD8 8004E178 5484043E */ clrlwi r4, r4, 0x10 -/* 048BDC 8004E17C 90010084 */ stw r0, 0x84(r1) -/* 048BE0 8004E180 3C0490A3 */ addis r0, r4, 0x90a3 -/* 048BE4 8004E184 5463103A */ slwi r3, r3, 2 -/* 048BE8 8004E188 7C1F192E */ stwx r0, r31, r3 -/* 048BEC 8004E18C 48019DA8 */ b lbl_80067F34 -lbl_8004E190: -/* 048BF0 8004E190 80610084 */ lwz r3, 0x84(r1) -/* 048BF4 8004E194 38030001 */ addi r0, r3, 1 -/* 048BF8 8004E198 90010084 */ stw r0, 0x84(r1) -/* 048BFC 8004E19C 48019D98 */ b lbl_80067F34 -.global lbl_8004E1A0 -lbl_8004E1A0: -/* 048C00 8004E1A0 3C7E0001 */ addis r3, r30, 1 -/* 048C04 8004E1A4 57975EFE */ rlwinm r23, r28, 0xb, 0x1b, 0x1f -/* 048C08 8004E1A8 80832058 */ lwz r4, 0x2058(r3) -/* 048C0C 8004E1AC 38000001 */ li r0, 1 -/* 048C10 8004E1B0 7C05B830 */ slw r5, r0, r23 -/* 048C14 8004E1B4 7C852839 */ and. r5, r4, r5 -/* 048C18 8004E1B8 41820018 */ beq lbl_8004E1D0 -/* 048C1C 8004E1BC 578586FE */ rlwinm r5, r28, 0x10, 0x1b, 0x1f -/* 048C20 8004E1C0 7C002830 */ slw r0, r0, r5 -/* 048C24 8004E1C4 7C800378 */ or r0, r4, r0 -/* 048C28 8004E1C8 90032058 */ stw r0, 0x2058(r3) -/* 048C2C 8004E1CC 48000014 */ b lbl_8004E1E0 -lbl_8004E1D0: -/* 048C30 8004E1D0 578586FE */ rlwinm r5, r28, 0x10, 0x1b, 0x1f -/* 048C34 8004E1D4 7C002830 */ slw r0, r0, r5 -/* 048C38 8004E1D8 7C800078 */ andc r0, r4, r0 -/* 048C3C 8004E1DC 90032058 */ stw r0, 0x2058(r3) -lbl_8004E1E0: -/* 048C40 8004E1E0 387E0000 */ addi r3, r30, 0 -/* 048C44 8004E1E4 389D0000 */ addi r4, r29, 0 -/* 048C48 8004E1E8 38BC0000 */ addi r5, r28, 0 -/* 048C4C 8004E1EC 38DF0000 */ addi r6, r31, 0 -/* 048C50 8004E1F0 38E10084 */ addi r7, r1, 0x84 -/* 048C54 8004E1F4 4BFF0021 */ bl cpuNextInstruction -/* 048C58 8004E1F8 2C030000 */ cmpwi r3, 0 -/* 048C5C 8004E1FC 41820008 */ beq lbl_8004E204 -/* 048C60 8004E200 48019D34 */ b lbl_80067F34 -lbl_8004E204: -/* 048C64 8004E204 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 048C68 8004E208 7CFA0214 */ add r7, r26, r0 -/* 048C6C 8004E20C 84070818 */ lwzu r0, 0x818(r7) -/* 048C70 8004E210 578986FE */ rlwinm r9, r28, 0x10, 0x1b, 0x1f -/* 048C74 8004E214 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 048C78 8004E218 41820008 */ beq lbl_8004E220 -/* 048C7C 8004E21C 38000005 */ li r0, 5 -lbl_8004E220: -/* 048C80 8004E220 56E3103A */ slwi r3, r23, 2 -/* 048C84 8004E224 7C7A1A14 */ add r3, r26, r3 -/* 048C88 8004E228 81030818 */ lwz r8, 0x818(r3) -/* 048C8C 8004E22C 550305EF */ rlwinm. r3, r8, 0, 0x17, 0x17 -/* 048C90 8004E230 4182014C */ beq lbl_8004E37C -/* 048C94 8004E234 3C7E0001 */ addis r3, r30, 1 -/* 048C98 8004E238 80832064 */ lwz r4, 0x2064(r3) -/* 048C9C 8004E23C 39000006 */ li r8, 6 -/* 048CA0 8004E240 28040000 */ cmplwi r4, 0 -/* 048CA4 8004E244 4082000C */ bne lbl_8004E250 -/* 048CA8 8004E248 38800000 */ li r4, 0 -/* 048CAC 8004E24C 48000094 */ b lbl_8004E2E0 -lbl_8004E250: -/* 048CB0 8004E250 80832068 */ lwz r4, 0x2068(r3) -/* 048CB4 8004E254 28040000 */ cmplwi r4, 0 -/* 048CB8 8004E258 4082000C */ bne lbl_8004E264 -/* 048CBC 8004E25C 38800000 */ li r4, 0 -/* 048CC0 8004E260 48000080 */ b lbl_8004E2E0 -lbl_8004E264: -/* 048CC4 8004E264 8063206C */ lwz r3, 0x206c(r3) -/* 048CC8 8004E268 7C171800 */ cmpw r23, r3 -/* 048CCC 8004E26C 4182000C */ beq lbl_8004E278 -/* 048CD0 8004E270 38800000 */ li r4, 0 -/* 048CD4 8004E274 4800006C */ b lbl_8004E2E0 -lbl_8004E278: -/* 048CD8 8004E278 80BE0034 */ lwz r5, 0x34(r30) -/* 048CDC 8004E27C 38800000 */ li r4, 0 -/* 048CE0 8004E280 80650008 */ lwz r3, 8(r5) -/* 048CE4 8004E284 2C030000 */ cmpwi r3, 0 -/* 048CE8 8004E288 7C6903A6 */ mtctr r3 -/* 048CEC 8004E28C 40810028 */ ble lbl_8004E2B4 -lbl_8004E290: -/* 048CF0 8004E290 8065000C */ lwz r3, 0xc(r5) -/* 048CF4 8004E294 38C40004 */ addi r6, r4, 4 -/* 048CF8 8004E298 7C63302E */ lwzx r3, r3, r6 -/* 048CFC 8004E29C 7C1D1800 */ cmpw r29, r3 -/* 048D00 8004E2A0 4082000C */ bne lbl_8004E2AC -/* 048D04 8004E2A4 38600000 */ li r3, 0 -/* 048D08 8004E2A8 48000010 */ b lbl_8004E2B8 -lbl_8004E2AC: -/* 048D0C 8004E2AC 38840008 */ addi r4, r4, 8 -/* 048D10 8004E2B0 4200FFE0 */ bdnz lbl_8004E290 -lbl_8004E2B4: -/* 048D14 8004E2B4 38600001 */ li r3, 1 -lbl_8004E2B8: -/* 048D18 8004E2B8 2C030000 */ cmpwi r3, 0 -/* 048D1C 8004E2BC 40820014 */ bne lbl_8004E2D0 -/* 048D20 8004E2C0 38800000 */ li r4, 0 -/* 048D24 8004E2C4 3C7E0001 */ addis r3, r30, 1 -/* 048D28 8004E2C8 90832068 */ stw r4, 0x2068(r3) -/* 048D2C 8004E2CC 48000014 */ b lbl_8004E2E0 -lbl_8004E2D0: -/* 048D30 8004E2D0 3C7E0001 */ addis r3, r30, 1 -/* 048D34 8004E2D4 38800000 */ li r4, 0 -/* 048D38 8004E2D8 90832068 */ stw r4, 0x2068(r3) -/* 048D3C 8004E2DC 38800001 */ li r4, 1 -lbl_8004E2E0: -/* 048D40 8004E2E0 2C040000 */ cmpwi r4, 0 -/* 048D44 8004E2E4 41820050 */ beq lbl_8004E334 -/* 048D48 8004E2E8 281F0000 */ cmplwi r31, 0 -/* 048D4C 8004E2EC 41820038 */ beq lbl_8004E324 -/* 048D50 8004E2F0 3C9E0001 */ addis r4, r30, 1 -/* 048D54 8004E2F4 80610084 */ lwz r3, 0x84(r1) -/* 048D58 8004E2F8 80A42070 */ lwz r5, 0x2070(r4) -/* 048D5C 8004E2FC 38C30001 */ addi r6, r3, 1 -/* 048D60 8004E300 54A4A814 */ slwi r4, r5, 0x15 -/* 048D64 8004E304 90C10084 */ stw r6, 0x84(r1) -/* 048D68 8004E308 64847C06 */ oris r4, r4, 0x7c06 -/* 048D6C 8004E30C 54A55828 */ slwi r5, r5, 0xb -/* 048D70 8004E310 60840378 */ ori r4, r4, 0x378 -/* 048D74 8004E314 7CA42378 */ or r4, r5, r4 -/* 048D78 8004E318 5463103A */ slwi r3, r3, 2 -/* 048D7C 8004E31C 7C9F192E */ stwx r4, r31, r3 -/* 048D80 8004E320 4800005C */ b lbl_8004E37C -lbl_8004E324: -/* 048D84 8004E324 80610084 */ lwz r3, 0x84(r1) -/* 048D88 8004E328 38630001 */ addi r3, r3, 1 -/* 048D8C 8004E32C 90610084 */ stw r3, 0x84(r1) -/* 048D90 8004E330 4800004C */ b lbl_8004E37C -lbl_8004E334: -/* 048D94 8004E334 281F0000 */ cmplwi r31, 0 -/* 048D98 8004E338 41820038 */ beq lbl_8004E370 -/* 048D9C 8004E33C 56E41838 */ slwi r4, r23, 3 -/* 048DA0 8004E340 80610084 */ lwz r3, 0x84(r1) -/* 048DA4 8004E344 38840040 */ addi r4, r4, 0x40 -/* 048DA8 8004E348 7C9E2214 */ add r4, r30, r4 -/* 048DAC 8004E34C 7C9E2050 */ subf r4, r30, r4 -/* 048DB0 8004E350 38840004 */ addi r4, r4, 4 -/* 048DB4 8004E354 38A30001 */ addi r5, r3, 1 -/* 048DB8 8004E358 5484043E */ clrlwi r4, r4, 0x10 -/* 048DBC 8004E35C 90A10084 */ stw r5, 0x84(r1) -/* 048DC0 8004E360 3C8480C3 */ addis r4, r4, 0x80c3 -/* 048DC4 8004E364 5463103A */ slwi r3, r3, 2 -/* 048DC8 8004E368 7C9F192E */ stwx r4, r31, r3 -/* 048DCC 8004E36C 48000010 */ b lbl_8004E37C -lbl_8004E370: -/* 048DD0 8004E370 80610084 */ lwz r3, 0x84(r1) -/* 048DD4 8004E374 38630001 */ addi r3, r3, 1 -/* 048DD8 8004E378 90610084 */ stw r3, 0x84(r1) -lbl_8004E37C: -/* 048DDC 8004E37C 281F0000 */ cmplwi r31, 0 -/* 048DE0 8004E380 41820034 */ beq lbl_8004E3B4 -/* 048DE4 8004E384 80610084 */ lwz r3, 0x84(r1) -/* 048DE8 8004E388 5504A814 */ slwi r4, r8, 0x15 -/* 048DEC 8004E38C 64856000 */ oris r5, r4, 0x6000 -/* 048DF0 8004E390 5404801E */ slwi r4, r0, 0x10 -/* 048DF4 8004E394 38C30001 */ addi r6, r3, 1 -/* 048DF8 8004E398 90C10084 */ stw r6, 0x84(r1) -/* 048DFC 8004E39C 5786043E */ clrlwi r6, r28, 0x10 -/* 048E00 8004E3A0 7CA42378 */ or r4, r5, r4 -/* 048E04 8004E3A4 7CC42378 */ or r4, r6, r4 -/* 048E08 8004E3A8 5463103A */ slwi r3, r3, 2 -/* 048E0C 8004E3AC 7C9F192E */ stwx r4, r31, r3 -/* 048E10 8004E3B0 48000010 */ b lbl_8004E3C0 -lbl_8004E3B4: -/* 048E14 8004E3B4 80610084 */ lwz r3, 0x84(r1) -/* 048E18 8004E3B8 38630001 */ addi r3, r3, 1 -/* 048E1C 8004E3BC 90610084 */ stw r3, 0x84(r1) -lbl_8004E3C0: -/* 048E20 8004E3C0 80670000 */ lwz r3, 0(r7) -/* 048E24 8004E3C4 546305EF */ rlwinm. r3, r3, 0, 0x17, 0x17 -/* 048E28 8004E3C8 40820008 */ bne lbl_8004E3D0 -/* 048E2C 8004E3CC 48019B68 */ b lbl_80067F34 -lbl_8004E3D0: -/* 048E30 8004E3D0 3C7E0001 */ addis r3, r30, 1 -/* 048E34 8004E3D4 38800002 */ li r4, 2 -/* 048E38 8004E3D8 90832068 */ stw r4, 0x2068(r3) -/* 048E3C 8004E3DC 281F0000 */ cmplwi r31, 0 -/* 048E40 8004E3E0 9123206C */ stw r9, 0x206c(r3) -/* 048E44 8004E3E4 90032070 */ stw r0, 0x2070(r3) -/* 048E48 8004E3E8 41820038 */ beq lbl_8004E420 -/* 048E4C 8004E3EC 55241838 */ slwi r4, r9, 3 -/* 048E50 8004E3F0 80610084 */ lwz r3, 0x84(r1) -/* 048E54 8004E3F4 38040040 */ addi r0, r4, 0x40 -/* 048E58 8004E3F8 7C1E0214 */ add r0, r30, r0 -/* 048E5C 8004E3FC 7C9E0050 */ subf r4, r30, r0 -/* 048E60 8004E400 38840004 */ addi r4, r4, 4 -/* 048E64 8004E404 38030001 */ addi r0, r3, 1 -/* 048E68 8004E408 5484043E */ clrlwi r4, r4, 0x10 -/* 048E6C 8004E40C 90010084 */ stw r0, 0x84(r1) -/* 048E70 8004E410 3C0490A3 */ addis r0, r4, 0x90a3 -/* 048E74 8004E414 5463103A */ slwi r3, r3, 2 -/* 048E78 8004E418 7C1F192E */ stwx r0, r31, r3 -/* 048E7C 8004E41C 48019B18 */ b lbl_80067F34 -lbl_8004E420: -/* 048E80 8004E420 80610084 */ lwz r3, 0x84(r1) -/* 048E84 8004E424 38030001 */ addi r0, r3, 1 -/* 048E88 8004E428 90010084 */ stw r0, 0x84(r1) -/* 048E8C 8004E42C 48019B08 */ b lbl_80067F34 -.global lbl_8004E430 -lbl_8004E430: -/* 048E90 8004E430 3C7E0001 */ addis r3, r30, 1 -/* 048E94 8004E434 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 048E98 8004E438 80A32058 */ lwz r5, 0x2058(r3) -/* 048E9C 8004E43C 38800001 */ li r4, 1 -/* 048EA0 8004E440 7C860030 */ slw r6, r4, r0 -/* 048EA4 8004E444 7CA63039 */ and. r6, r5, r6 -/* 048EA8 8004E448 41820018 */ beq lbl_8004E460 -/* 048EAC 8004E44C 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 048EB0 8004E450 7C843030 */ slw r4, r4, r6 -/* 048EB4 8004E454 7CA42378 */ or r4, r5, r4 -/* 048EB8 8004E458 90832058 */ stw r4, 0x2058(r3) -/* 048EBC 8004E45C 48000014 */ b lbl_8004E470 -lbl_8004E460: -/* 048EC0 8004E460 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 048EC4 8004E464 7C843030 */ slw r4, r4, r6 -/* 048EC8 8004E468 7CA42078 */ andc r4, r5, r4 -/* 048ECC 8004E46C 90832058 */ stw r4, 0x2058(r3) -lbl_8004E470: -/* 048ED0 8004E470 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 048ED4 8004E474 7D1A1A14 */ add r8, r26, r3 -/* 048ED8 8004E478 84E80818 */ lwzu r7, 0x818(r8) -/* 048EDC 8004E47C 578A86FE */ rlwinm r10, r28, 0x10, 0x1b, 0x1f -/* 048EE0 8004E480 54E305EF */ rlwinm. r3, r7, 0, 0x17, 0x17 -/* 048EE4 8004E484 41820008 */ beq lbl_8004E48C -/* 048EE8 8004E488 38E00005 */ li r7, 5 -lbl_8004E48C: -/* 048EEC 8004E48C 5403103A */ slwi r3, r0, 2 -/* 048EF0 8004E490 7C7A1A14 */ add r3, r26, r3 -/* 048EF4 8004E494 81230818 */ lwz r9, 0x818(r3) -/* 048EF8 8004E498 552305EF */ rlwinm. r3, r9, 0, 0x17, 0x17 -/* 048EFC 8004E49C 4182014C */ beq lbl_8004E5E8 -/* 048F00 8004E4A0 3C7E0001 */ addis r3, r30, 1 -/* 048F04 8004E4A4 80832064 */ lwz r4, 0x2064(r3) -/* 048F08 8004E4A8 39200006 */ li r9, 6 -/* 048F0C 8004E4AC 28040000 */ cmplwi r4, 0 -/* 048F10 8004E4B0 4082000C */ bne lbl_8004E4BC -/* 048F14 8004E4B4 38800000 */ li r4, 0 -/* 048F18 8004E4B8 48000094 */ b lbl_8004E54C -lbl_8004E4BC: -/* 048F1C 8004E4BC 80832068 */ lwz r4, 0x2068(r3) -/* 048F20 8004E4C0 28040000 */ cmplwi r4, 0 -/* 048F24 8004E4C4 4082000C */ bne lbl_8004E4D0 -/* 048F28 8004E4C8 38800000 */ li r4, 0 -/* 048F2C 8004E4CC 48000080 */ b lbl_8004E54C -lbl_8004E4D0: -/* 048F30 8004E4D0 8063206C */ lwz r3, 0x206c(r3) -/* 048F34 8004E4D4 7C001800 */ cmpw r0, r3 -/* 048F38 8004E4D8 4182000C */ beq lbl_8004E4E4 -/* 048F3C 8004E4DC 38800000 */ li r4, 0 -/* 048F40 8004E4E0 4800006C */ b lbl_8004E54C -lbl_8004E4E4: -/* 048F44 8004E4E4 80BE0034 */ lwz r5, 0x34(r30) -/* 048F48 8004E4E8 38800000 */ li r4, 0 -/* 048F4C 8004E4EC 80650008 */ lwz r3, 8(r5) -/* 048F50 8004E4F0 2C030000 */ cmpwi r3, 0 -/* 048F54 8004E4F4 7C6903A6 */ mtctr r3 -/* 048F58 8004E4F8 40810028 */ ble lbl_8004E520 -lbl_8004E4FC: -/* 048F5C 8004E4FC 8065000C */ lwz r3, 0xc(r5) -/* 048F60 8004E500 38C40004 */ addi r6, r4, 4 -/* 048F64 8004E504 7C63302E */ lwzx r3, r3, r6 -/* 048F68 8004E508 7C1D1800 */ cmpw r29, r3 -/* 048F6C 8004E50C 4082000C */ bne lbl_8004E518 -/* 048F70 8004E510 38600000 */ li r3, 0 -/* 048F74 8004E514 48000010 */ b lbl_8004E524 -lbl_8004E518: -/* 048F78 8004E518 38840008 */ addi r4, r4, 8 -/* 048F7C 8004E51C 4200FFE0 */ bdnz lbl_8004E4FC -lbl_8004E520: -/* 048F80 8004E520 38600001 */ li r3, 1 -lbl_8004E524: -/* 048F84 8004E524 2C030000 */ cmpwi r3, 0 -/* 048F88 8004E528 40820014 */ bne lbl_8004E53C -/* 048F8C 8004E52C 38800000 */ li r4, 0 -/* 048F90 8004E530 3C7E0001 */ addis r3, r30, 1 -/* 048F94 8004E534 90832068 */ stw r4, 0x2068(r3) -/* 048F98 8004E538 48000014 */ b lbl_8004E54C -lbl_8004E53C: -/* 048F9C 8004E53C 3C7E0001 */ addis r3, r30, 1 -/* 048FA0 8004E540 38800000 */ li r4, 0 -/* 048FA4 8004E544 90832068 */ stw r4, 0x2068(r3) -/* 048FA8 8004E548 38800001 */ li r4, 1 -lbl_8004E54C: -/* 048FAC 8004E54C 2C040000 */ cmpwi r4, 0 -/* 048FB0 8004E550 41820050 */ beq lbl_8004E5A0 -/* 048FB4 8004E554 281F0000 */ cmplwi r31, 0 -/* 048FB8 8004E558 41820038 */ beq lbl_8004E590 -/* 048FBC 8004E55C 3C9E0001 */ addis r4, r30, 1 -/* 048FC0 8004E560 80610084 */ lwz r3, 0x84(r1) -/* 048FC4 8004E564 80842070 */ lwz r4, 0x2070(r4) -/* 048FC8 8004E568 38A30001 */ addi r5, r3, 1 -/* 048FCC 8004E56C 5480A814 */ slwi r0, r4, 0x15 -/* 048FD0 8004E570 90A10084 */ stw r5, 0x84(r1) -/* 048FD4 8004E574 64007C06 */ oris r0, r0, 0x7c06 -/* 048FD8 8004E578 54845828 */ slwi r4, r4, 0xb -/* 048FDC 8004E57C 60000378 */ ori r0, r0, 0x378 -/* 048FE0 8004E580 7C800378 */ or r0, r4, r0 -/* 048FE4 8004E584 5463103A */ slwi r3, r3, 2 -/* 048FE8 8004E588 7C1F192E */ stwx r0, r31, r3 -/* 048FEC 8004E58C 4800005C */ b lbl_8004E5E8 -lbl_8004E590: -/* 048FF0 8004E590 80610084 */ lwz r3, 0x84(r1) -/* 048FF4 8004E594 38030001 */ addi r0, r3, 1 -/* 048FF8 8004E598 90010084 */ stw r0, 0x84(r1) -/* 048FFC 8004E59C 4800004C */ b lbl_8004E5E8 -lbl_8004E5A0: -/* 049000 8004E5A0 281F0000 */ cmplwi r31, 0 -/* 049004 8004E5A4 41820038 */ beq lbl_8004E5DC -/* 049008 8004E5A8 54041838 */ slwi r4, r0, 3 -/* 04900C 8004E5AC 80610084 */ lwz r3, 0x84(r1) -/* 049010 8004E5B0 38040040 */ addi r0, r4, 0x40 -/* 049014 8004E5B4 7C1E0214 */ add r0, r30, r0 -/* 049018 8004E5B8 7C9E0050 */ subf r4, r30, r0 -/* 04901C 8004E5BC 38840004 */ addi r4, r4, 4 -/* 049020 8004E5C0 38030001 */ addi r0, r3, 1 -/* 049024 8004E5C4 5484043E */ clrlwi r4, r4, 0x10 -/* 049028 8004E5C8 90010084 */ stw r0, 0x84(r1) -/* 04902C 8004E5CC 3C0480C3 */ addis r0, r4, 0x80c3 -/* 049030 8004E5D0 5463103A */ slwi r3, r3, 2 -/* 049034 8004E5D4 7C1F192E */ stwx r0, r31, r3 -/* 049038 8004E5D8 48000010 */ b lbl_8004E5E8 -lbl_8004E5DC: -/* 04903C 8004E5DC 80610084 */ lwz r3, 0x84(r1) -/* 049040 8004E5E0 38030001 */ addi r0, r3, 1 -/* 049044 8004E5E4 90010084 */ stw r0, 0x84(r1) -lbl_8004E5E8: -/* 049048 8004E5E8 281F0000 */ cmplwi r31, 0 -/* 04904C 8004E5EC 41820034 */ beq lbl_8004E620 -/* 049050 8004E5F0 80610084 */ lwz r3, 0x84(r1) -/* 049054 8004E5F4 5520A814 */ slwi r0, r9, 0x15 -/* 049058 8004E5F8 64046800 */ oris r4, r0, 0x6800 -/* 04905C 8004E5FC 54E0801E */ slwi r0, r7, 0x10 -/* 049060 8004E600 38A30001 */ addi r5, r3, 1 -/* 049064 8004E604 90A10084 */ stw r5, 0x84(r1) -/* 049068 8004E608 5785043E */ clrlwi r5, r28, 0x10 -/* 04906C 8004E60C 7C800378 */ or r0, r4, r0 -/* 049070 8004E610 7CA00378 */ or r0, r5, r0 -/* 049074 8004E614 5463103A */ slwi r3, r3, 2 -/* 049078 8004E618 7C1F192E */ stwx r0, r31, r3 -/* 04907C 8004E61C 48000010 */ b lbl_8004E62C -lbl_8004E620: -/* 049080 8004E620 80610084 */ lwz r3, 0x84(r1) -/* 049084 8004E624 38030001 */ addi r0, r3, 1 -/* 049088 8004E628 90010084 */ stw r0, 0x84(r1) -lbl_8004E62C: -/* 04908C 8004E62C 80080000 */ lwz r0, 0(r8) -/* 049090 8004E630 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 049094 8004E634 40820008 */ bne lbl_8004E63C -/* 049098 8004E638 480198FC */ b lbl_80067F34 -lbl_8004E63C: -/* 04909C 8004E63C 3C7E0001 */ addis r3, r30, 1 -/* 0490A0 8004E640 38000002 */ li r0, 2 -/* 0490A4 8004E644 90032068 */ stw r0, 0x2068(r3) -/* 0490A8 8004E648 281F0000 */ cmplwi r31, 0 -/* 0490AC 8004E64C 9143206C */ stw r10, 0x206c(r3) -/* 0490B0 8004E650 90E32070 */ stw r7, 0x2070(r3) -/* 0490B4 8004E654 41820038 */ beq lbl_8004E68C -/* 0490B8 8004E658 55441838 */ slwi r4, r10, 3 -/* 0490BC 8004E65C 80610084 */ lwz r3, 0x84(r1) -/* 0490C0 8004E660 38040040 */ addi r0, r4, 0x40 -/* 0490C4 8004E664 7C1E0214 */ add r0, r30, r0 -/* 0490C8 8004E668 7C9E0050 */ subf r4, r30, r0 -/* 0490CC 8004E66C 38840004 */ addi r4, r4, 4 -/* 0490D0 8004E670 38030001 */ addi r0, r3, 1 -/* 0490D4 8004E674 5484043E */ clrlwi r4, r4, 0x10 -/* 0490D8 8004E678 90010084 */ stw r0, 0x84(r1) -/* 0490DC 8004E67C 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0490E0 8004E680 5463103A */ slwi r3, r3, 2 -/* 0490E4 8004E684 7C1F192E */ stwx r0, r31, r3 -/* 0490E8 8004E688 480198AC */ b lbl_80067F34 -lbl_8004E68C: -/* 0490EC 8004E68C 80610084 */ lwz r3, 0x84(r1) -/* 0490F0 8004E690 38030001 */ addi r0, r3, 1 -/* 0490F4 8004E694 90010084 */ stw r0, 0x84(r1) -/* 0490F8 8004E698 4801989C */ b lbl_80067F34 -.global lbl_8004E69C -lbl_8004E69C: -/* 0490FC 8004E69C 807E0008 */ lwz r3, 8(r30) -/* 049100 8004E6A0 38810088 */ addi r4, r1, 0x88 -/* 049104 8004E6A4 8063002C */ lwz r3, 0x2c(r3) -/* 049108 8004E6A8 4801E929 */ bl ramGetSize -/* 04910C 8004E6AC 2C030000 */ cmpwi r3, 0 -/* 049110 8004E6B0 4082000C */ bne lbl_8004E6BC -/* 049114 8004E6B4 38600000 */ li r3, 0 -/* 049118 8004E6B8 48019B6C */ b lbl_80068224 -lbl_8004E6BC: -/* 04911C 8004E6BC 5785043E */ clrlwi r5, r28, 0x10 -/* 049120 8004E6C0 28058000 */ cmplwi r5, 0x8000 -/* 049124 8004E6C4 41800038 */ blt lbl_8004E6FC -/* 049128 8004E6C8 80010088 */ lwz r0, 0x88(r1) -/* 04912C 8004E6CC 7C008670 */ srawi r0, r0, 0x10 -/* 049130 8004E6D0 60008000 */ ori r0, r0, 0x8000 -/* 049134 8004E6D4 7C050040 */ cmplw r5, r0 -/* 049138 8004E6D8 41810024 */ bgt lbl_8004E6FC -/* 04913C 8004E6DC 3C9E0001 */ addis r4, r30, 1 -/* 049140 8004E6E0 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 049144 8004E6E4 80642058 */ lwz r3, 0x2058(r4) -/* 049148 8004E6E8 38000001 */ li r0, 1 -/* 04914C 8004E6EC 7C003030 */ slw r0, r0, r6 -/* 049150 8004E6F0 7C600378 */ or r0, r3, r0 -/* 049154 8004E6F4 90042058 */ stw r0, 0x2058(r4) -/* 049158 8004E6F8 48000020 */ b lbl_8004E718 -lbl_8004E6FC: -/* 04915C 8004E6FC 3C7E0001 */ addis r3, r30, 1 -/* 049160 8004E700 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 049164 8004E704 80832058 */ lwz r4, 0x2058(r3) -/* 049168 8004E708 38000001 */ li r0, 1 -/* 04916C 8004E70C 7C003030 */ slw r0, r0, r6 -/* 049170 8004E710 7C800078 */ andc r0, r4, r0 -/* 049174 8004E714 90032058 */ stw r0, 0x2058(r3) -lbl_8004E718: -/* 049178 8004E718 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 04917C 8004E71C 7CDA1A14 */ add r6, r26, r3 -/* 049180 8004E720 84E60818 */ lwzu r7, 0x818(r6) -/* 049184 8004E724 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 049188 8004E728 54E305EF */ rlwinm. r3, r7, 0, 0x17, 0x17 -/* 04918C 8004E72C 41820008 */ beq lbl_8004E734 -/* 049190 8004E730 38E00005 */ li r7, 5 -lbl_8004E734: -/* 049194 8004E734 281F0000 */ cmplwi r31, 0 -/* 049198 8004E738 41820028 */ beq lbl_8004E760 -/* 04919C 8004E73C 80610084 */ lwz r3, 0x84(r1) -/* 0491A0 8004E740 54E4A814 */ slwi r4, r7, 0x15 -/* 0491A4 8004E744 64843C00 */ oris r4, r4, 0x3c00 -/* 0491A8 8004E748 39030001 */ addi r8, r3, 1 -/* 0491AC 8004E74C 91010084 */ stw r8, 0x84(r1) -/* 0491B0 8004E750 7C842B78 */ or r4, r4, r5 -/* 0491B4 8004E754 5463103A */ slwi r3, r3, 2 -/* 0491B8 8004E758 7C9F192E */ stwx r4, r31, r3 -/* 0491BC 8004E75C 48000010 */ b lbl_8004E76C -lbl_8004E760: -/* 0491C0 8004E760 80610084 */ lwz r3, 0x84(r1) -/* 0491C4 8004E764 38630001 */ addi r3, r3, 1 -/* 0491C8 8004E768 90610084 */ stw r3, 0x84(r1) -lbl_8004E76C: -/* 0491CC 8004E76C 80660000 */ lwz r3, 0(r6) -/* 0491D0 8004E770 546305EF */ rlwinm. r3, r3, 0, 0x17, 0x17 -/* 0491D4 8004E774 40820008 */ bne lbl_8004E77C -/* 0491D8 8004E778 480197BC */ b lbl_80067F34 -lbl_8004E77C: -/* 0491DC 8004E77C 3C7E0001 */ addis r3, r30, 1 -/* 0491E0 8004E780 38800002 */ li r4, 2 -/* 0491E4 8004E784 90832068 */ stw r4, 0x2068(r3) -/* 0491E8 8004E788 281F0000 */ cmplwi r31, 0 -/* 0491EC 8004E78C 9003206C */ stw r0, 0x206c(r3) -/* 0491F0 8004E790 90E32070 */ stw r7, 0x2070(r3) -/* 0491F4 8004E794 41820038 */ beq lbl_8004E7CC -/* 0491F8 8004E798 54041838 */ slwi r4, r0, 3 -/* 0491FC 8004E79C 80610084 */ lwz r3, 0x84(r1) -/* 049200 8004E7A0 38040040 */ addi r0, r4, 0x40 -/* 049204 8004E7A4 7C1E0214 */ add r0, r30, r0 -/* 049208 8004E7A8 7C9E0050 */ subf r4, r30, r0 -/* 04920C 8004E7AC 38840004 */ addi r4, r4, 4 -/* 049210 8004E7B0 38030001 */ addi r0, r3, 1 -/* 049214 8004E7B4 5484043E */ clrlwi r4, r4, 0x10 -/* 049218 8004E7B8 90010084 */ stw r0, 0x84(r1) -/* 04921C 8004E7BC 3C0490A3 */ addis r0, r4, 0x90a3 -/* 049220 8004E7C0 5463103A */ slwi r3, r3, 2 -/* 049224 8004E7C4 7C1F192E */ stwx r0, r31, r3 -/* 049228 8004E7C8 48000010 */ b lbl_8004E7D8 -lbl_8004E7CC: -/* 04922C 8004E7CC 80610084 */ lwz r3, 0x84(r1) -/* 049230 8004E7D0 38030001 */ addi r0, r3, 1 -/* 049234 8004E7D4 90010084 */ stw r0, 0x84(r1) -lbl_8004E7D8: -/* 049238 8004E7D8 3C7E0001 */ addis r3, r30, 1 -/* 04923C 8004E7DC 380003E8 */ li r0, 0x3e8 -/* 049240 8004E7E0 90032084 */ stw r0, 0x2084(r3) -/* 049244 8004E7E4 93A32088 */ stw r29, 0x2088(r3) -/* 049248 8004E7E8 4801974C */ b lbl_80067F34 -.global lbl_8004E7EC -lbl_8004E7EC: -/* 04924C 8004E7EC 578006BE */ clrlwi r0, r28, 0x1a -/* 049250 8004E7F0 28000018 */ cmplwi r0, 0x18 -/* 049254 8004E7F4 4181001C */ bgt lbl_8004E810 -/* 049258 8004E7F8 3C60800F */ lis r3, jtbl_800ED1FC@ha -/* 04925C 8004E7FC 3863D1FC */ addi r3, r3, jtbl_800ED1FC@l -/* 049260 8004E800 5400103A */ slwi r0, r0, 2 -/* 049264 8004E804 7C03002E */ lwzx r0, r3, r0 -/* 049268 8004E808 7C0903A6 */ mtctr r0 -/* 04926C 8004E80C 4E800420 */ bctr -.global lbl_8004E810 -lbl_8004E810: -/* 049270 8004E810 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 049274 8004E814 2C000004 */ cmpwi r0, 4 -/* 049278 8004E818 4080001C */ bge lbl_8004E834 -/* 04927C 8004E81C 2C000001 */ cmpwi r0, 1 -/* 049280 8004E820 4182004C */ beq lbl_8004E86C -/* 049284 8004E824 40800084 */ bge lbl_8004E8A8 -/* 049288 8004E828 2C000000 */ cmpwi r0, 0 -/* 04928C 8004E82C 40800020 */ bge lbl_8004E84C -/* 049290 8004E830 48000078 */ b lbl_8004E8A8 -lbl_8004E834: -/* 049294 8004E834 2C000008 */ cmpwi r0, 8 -/* 049298 8004E838 41820054 */ beq lbl_8004E88C -/* 04929C 8004E83C 4080006C */ bge lbl_8004E8A8 -/* 0492A0 8004E840 2C000006 */ cmpwi r0, 6 -/* 0492A4 8004E844 40800064 */ bge lbl_8004E8A8 -/* 0492A8 8004E848 480196EC */ b lbl_80067F34 -lbl_8004E84C: -/* 0492AC 8004E84C 3C7E0001 */ addis r3, r30, 1 -/* 0492B0 8004E850 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 0492B4 8004E854 80A32058 */ lwz r5, 0x2058(r3) -/* 0492B8 8004E858 38800001 */ li r4, 1 -/* 0492BC 8004E85C 7C800030 */ slw r0, r4, r0 -/* 0492C0 8004E860 7CA00078 */ andc r0, r5, r0 -/* 0492C4 8004E864 90032058 */ stw r0, 0x2058(r3) -/* 0492C8 8004E868 480196CC */ b lbl_80067F34 -lbl_8004E86C: -/* 0492CC 8004E86C 3C7E0001 */ addis r3, r30, 1 -/* 0492D0 8004E870 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 0492D4 8004E874 80A32058 */ lwz r5, 0x2058(r3) -/* 0492D8 8004E878 38800001 */ li r4, 1 -/* 0492DC 8004E87C 7C800030 */ slw r0, r4, r0 -/* 0492E0 8004E880 7CA00078 */ andc r0, r5, r0 -/* 0492E4 8004E884 90032058 */ stw r0, 0x2058(r3) -/* 0492E8 8004E888 480196AC */ b lbl_80067F34 -lbl_8004E88C: -/* 0492EC 8004E88C 2C000004 */ cmpwi r0, 4 -/* 0492F0 8004E890 40800010 */ bge lbl_8004E8A0 -/* 0492F4 8004E894 2C000000 */ cmpwi r0, 0 -/* 0492F8 8004E898 41800008 */ blt lbl_8004E8A0 -/* 0492FC 8004E89C 48019698 */ b lbl_80067F34 -lbl_8004E8A0: -/* 049300 8004E8A0 39E00000 */ li r15, 0 -/* 049304 8004E8A4 48019690 */ b lbl_80067F34 -lbl_8004E8A8: -/* 049308 8004E8A8 39E00000 */ li r15, 0 -/* 04930C 8004E8AC 48019688 */ b lbl_80067F34 -.global lbl_8004E8B0 -lbl_8004E8B0: -/* 049310 8004E8B0 5780057F */ clrlwi. r0, r28, 0x15 -/* 049314 8004E8B4 408207FC */ bne lbl_8004F0B0 -/* 049318 8004E8B8 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 04931C 8004E8BC 28000010 */ cmplwi r0, 0x10 -/* 049320 8004E8C0 408007F0 */ bge lbl_8004F0B0 -/* 049324 8004E8C4 5400063E */ clrlwi r0, r0, 0x18 -/* 049328 8004E8C8 28000006 */ cmplwi r0, 6 -/* 04932C 8004E8CC 418107DC */ bgt lbl_8004F0A8 -/* 049330 8004E8D0 3C60800F */ lis r3, jtbl_800ED1E0@ha -/* 049334 8004E8D4 3863D1E0 */ addi r3, r3, jtbl_800ED1E0@l -/* 049338 8004E8D8 5400103A */ slwi r0, r0, 2 -/* 04933C 8004E8DC 7C03002E */ lwzx r0, r3, r0 -/* 049340 8004E8E0 7C0903A6 */ mtctr r0 -/* 049344 8004E8E4 4E800420 */ bctr -.global lbl_8004E8E8 -lbl_8004E8E8: -/* 049348 8004E8E8 3C9E0001 */ addis r4, r30, 1 -/* 04934C 8004E8EC 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 049350 8004E8F0 80642058 */ lwz r3, 0x2058(r4) -/* 049354 8004E8F4 38A00001 */ li r5, 1 -/* 049358 8004E8F8 7CA50030 */ slw r5, r5, r0 -/* 04935C 8004E8FC 7C652878 */ andc r5, r3, r5 -/* 049360 8004E900 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 049364 8004E904 90A42058 */ stw r5, 0x2058(r4) -/* 049368 8004E908 7C7A1A14 */ add r3, r26, r3 -/* 04936C 8004E90C 84830818 */ lwzu r4, 0x818(r3) -/* 049370 8004E910 548505EF */ rlwinm. r5, r4, 0, 0x17, 0x17 -/* 049374 8004E914 41820008 */ beq lbl_8004E91C -/* 049378 8004E918 38800005 */ li r4, 5 -lbl_8004E91C: -/* 04937C 8004E91C 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 049380 8004E920 7CA60E70 */ srawi r6, r5, 1 -/* 049384 8004E924 7CC60194 */ addze r6, r6 -/* 049388 8004E928 54C6083C */ slwi r6, r6, 1 -/* 04938C 8004E92C 7CC62810 */ subfc r6, r6, r5 -/* 049390 8004E930 2C060001 */ cmpwi r6, 1 -/* 049394 8004E934 40820054 */ bne lbl_8004E988 -/* 049398 8004E938 281F0000 */ cmplwi r31, 0 -/* 04939C 8004E93C 4182003C */ beq lbl_8004E978 -/* 0493A0 8004E940 38C5FFFF */ addi r6, r5, -1 -/* 0493A4 8004E944 80A10084 */ lwz r5, 0x84(r1) -/* 0493A8 8004E948 54C61838 */ slwi r6, r6, 3 -/* 0493AC 8004E94C 38C60140 */ addi r6, r6, 0x140 -/* 0493B0 8004E950 5487A814 */ slwi r7, r4, 0x15 -/* 0493B4 8004E954 7CDE3214 */ add r6, r30, r6 -/* 0493B8 8004E958 39050001 */ addi r8, r5, 1 -/* 0493BC 8004E95C 91010084 */ stw r8, 0x84(r1) -/* 0493C0 8004E960 64E78003 */ oris r7, r7, 0x8003 -/* 0493C4 8004E964 7CDE3050 */ subf r6, r30, r6 -/* 0493C8 8004E968 7CC73214 */ add r6, r7, r6 -/* 0493CC 8004E96C 54A5103A */ slwi r5, r5, 2 -/* 0493D0 8004E970 7CDF292E */ stwx r6, r31, r5 -/* 0493D4 8004E974 48000060 */ b lbl_8004E9D4 -lbl_8004E978: -/* 0493D8 8004E978 80A10084 */ lwz r5, 0x84(r1) -/* 0493DC 8004E97C 38A50001 */ addi r5, r5, 1 -/* 0493E0 8004E980 90A10084 */ stw r5, 0x84(r1) -/* 0493E4 8004E984 48000050 */ b lbl_8004E9D4 -lbl_8004E988: -/* 0493E8 8004E988 281F0000 */ cmplwi r31, 0 -/* 0493EC 8004E98C 4182003C */ beq lbl_8004E9C8 -/* 0493F0 8004E990 54A61838 */ slwi r6, r5, 3 -/* 0493F4 8004E994 80A10084 */ lwz r5, 0x84(r1) -/* 0493F8 8004E998 38C60140 */ addi r6, r6, 0x140 -/* 0493FC 8004E99C 5487A814 */ slwi r7, r4, 0x15 -/* 049400 8004E9A0 7CDE3214 */ add r6, r30, r6 -/* 049404 8004E9A4 39050001 */ addi r8, r5, 1 -/* 049408 8004E9A8 64E78003 */ oris r7, r7, 0x8003 -/* 04940C 8004E9AC 91010084 */ stw r8, 0x84(r1) -/* 049410 8004E9B0 7CDE3050 */ subf r6, r30, r6 -/* 049414 8004E9B4 7CC63A14 */ add r6, r6, r7 -/* 049418 8004E9B8 38C60004 */ addi r6, r6, 4 -/* 04941C 8004E9BC 54A5103A */ slwi r5, r5, 2 -/* 049420 8004E9C0 7CDF292E */ stwx r6, r31, r5 -/* 049424 8004E9C4 48000010 */ b lbl_8004E9D4 -lbl_8004E9C8: -/* 049428 8004E9C8 80A10084 */ lwz r5, 0x84(r1) -/* 04942C 8004E9CC 38A50001 */ addi r5, r5, 1 -/* 049430 8004E9D0 90A10084 */ stw r5, 0x84(r1) -lbl_8004E9D4: -/* 049434 8004E9D4 80630000 */ lwz r3, 0(r3) -/* 049438 8004E9D8 546305EF */ rlwinm. r3, r3, 0, 0x17, 0x17 -/* 04943C 8004E9DC 40820008 */ bne lbl_8004E9E4 -/* 049440 8004E9E0 48019554 */ b lbl_80067F34 -lbl_8004E9E4: -/* 049444 8004E9E4 3C7E0001 */ addis r3, r30, 1 -/* 049448 8004E9E8 38A00002 */ li r5, 2 -/* 04944C 8004E9EC 90A32068 */ stw r5, 0x2068(r3) -/* 049450 8004E9F0 281F0000 */ cmplwi r31, 0 -/* 049454 8004E9F4 9003206C */ stw r0, 0x206c(r3) -/* 049458 8004E9F8 90832070 */ stw r4, 0x2070(r3) -/* 04945C 8004E9FC 41820038 */ beq lbl_8004EA34 -/* 049460 8004EA00 54041838 */ slwi r4, r0, 3 -/* 049464 8004EA04 80610084 */ lwz r3, 0x84(r1) -/* 049468 8004EA08 38040040 */ addi r0, r4, 0x40 -/* 04946C 8004EA0C 7C1E0214 */ add r0, r30, r0 -/* 049470 8004EA10 7C9E0050 */ subf r4, r30, r0 -/* 049474 8004EA14 38840004 */ addi r4, r4, 4 -/* 049478 8004EA18 38030001 */ addi r0, r3, 1 -/* 04947C 8004EA1C 5484043E */ clrlwi r4, r4, 0x10 -/* 049480 8004EA20 90010084 */ stw r0, 0x84(r1) -/* 049484 8004EA24 3C0490A3 */ addis r0, r4, 0x90a3 -/* 049488 8004EA28 5463103A */ slwi r3, r3, 2 -/* 04948C 8004EA2C 7C1F192E */ stwx r0, r31, r3 -/* 049490 8004EA30 48019504 */ b lbl_80067F34 -lbl_8004EA34: -/* 049494 8004EA34 80610084 */ lwz r3, 0x84(r1) -/* 049498 8004EA38 38030001 */ addi r0, r3, 1 -/* 04949C 8004EA3C 90010084 */ stw r0, 0x84(r1) -/* 0494A0 8004EA40 480194F4 */ b lbl_80067F34 -.global lbl_8004EA44 -lbl_8004EA44: -/* 0494A4 8004EA44 3C9E0001 */ addis r4, r30, 1 -/* 0494A8 8004EA48 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 0494AC 8004EA4C 80642058 */ lwz r3, 0x2058(r4) -/* 0494B0 8004EA50 38A00001 */ li r5, 1 -/* 0494B4 8004EA54 7CA50030 */ slw r5, r5, r0 -/* 0494B8 8004EA58 7C632878 */ andc r3, r3, r5 -/* 0494BC 8004EA5C 90642058 */ stw r3, 0x2058(r4) -/* 0494C0 8004EA60 281F0000 */ cmplwi r31, 0 -/* 0494C4 8004EA64 5783AEFE */ rlwinm r3, r28, 0x15, 0x1b, 0x1f -/* 0494C8 8004EA68 41820030 */ beq lbl_8004EA98 -/* 0494CC 8004EA6C 80810084 */ lwz r4, 0x84(r1) -/* 0494D0 8004EA70 54651838 */ slwi r5, r3, 3 -/* 0494D4 8004EA74 38A50140 */ addi r5, r5, 0x140 -/* 0494D8 8004EA78 7CBE2A14 */ add r5, r30, r5 -/* 0494DC 8004EA7C 38C40001 */ addi r6, r4, 1 -/* 0494E0 8004EA80 7CBE2850 */ subf r5, r30, r5 -/* 0494E4 8004EA84 90C10084 */ stw r6, 0x84(r1) -/* 0494E8 8004EA88 3CA580A3 */ addis r5, r5, 0x80a3 -/* 0494EC 8004EA8C 5484103A */ slwi r4, r4, 2 -/* 0494F0 8004EA90 7CBF212E */ stwx r5, r31, r4 -/* 0494F4 8004EA94 48000010 */ b lbl_8004EAA4 -lbl_8004EA98: -/* 0494F8 8004EA98 80810084 */ lwz r4, 0x84(r1) -/* 0494FC 8004EA9C 38840001 */ addi r4, r4, 1 -/* 049500 8004EAA0 90810084 */ stw r4, 0x84(r1) -lbl_8004EAA4: -/* 049504 8004EAA4 281F0000 */ cmplwi r31, 0 -/* 049508 8004EAA8 41820030 */ beq lbl_8004EAD8 -/* 04950C 8004EAAC 80810084 */ lwz r4, 0x84(r1) -/* 049510 8004EAB0 54051838 */ slwi r5, r0, 3 -/* 049514 8004EAB4 38A50040 */ addi r5, r5, 0x40 -/* 049518 8004EAB8 7CBE2A14 */ add r5, r30, r5 -/* 04951C 8004EABC 38C40001 */ addi r6, r4, 1 -/* 049520 8004EAC0 7CBE2850 */ subf r5, r30, r5 -/* 049524 8004EAC4 90C10084 */ stw r6, 0x84(r1) -/* 049528 8004EAC8 3CA590A3 */ addis r5, r5, 0x90a3 -/* 04952C 8004EACC 5484103A */ slwi r4, r4, 2 -/* 049530 8004EAD0 7CBF212E */ stwx r5, r31, r4 -/* 049534 8004EAD4 48000010 */ b lbl_8004EAE4 -lbl_8004EAD8: -/* 049538 8004EAD8 80810084 */ lwz r4, 0x84(r1) -/* 04953C 8004EADC 38840001 */ addi r4, r4, 1 -/* 049540 8004EAE0 90810084 */ stw r4, 0x84(r1) -lbl_8004EAE4: -/* 049544 8004EAE4 281F0000 */ cmplwi r31, 0 -/* 049548 8004EAE8 41820034 */ beq lbl_8004EB1C -/* 04954C 8004EAEC 54631838 */ slwi r3, r3, 3 -/* 049550 8004EAF0 80810084 */ lwz r4, 0x84(r1) -/* 049554 8004EAF4 38630140 */ addi r3, r3, 0x140 -/* 049558 8004EAF8 7C7E1A14 */ add r3, r30, r3 -/* 04955C 8004EAFC 7CBE1850 */ subf r5, r30, r3 -/* 049560 8004EB00 38640001 */ addi r3, r4, 1 -/* 049564 8004EB04 3CA580C3 */ addis r5, r5, 0x80c3 -/* 049568 8004EB08 90610084 */ stw r3, 0x84(r1) -/* 04956C 8004EB0C 38650004 */ addi r3, r5, 4 -/* 049570 8004EB10 5484103A */ slwi r4, r4, 2 -/* 049574 8004EB14 7C7F212E */ stwx r3, r31, r4 -/* 049578 8004EB18 48000010 */ b lbl_8004EB28 -lbl_8004EB1C: -/* 04957C 8004EB1C 80610084 */ lwz r3, 0x84(r1) -/* 049580 8004EB20 38630001 */ addi r3, r3, 1 -/* 049584 8004EB24 90610084 */ stw r3, 0x84(r1) -lbl_8004EB28: -/* 049588 8004EB28 281F0000 */ cmplwi r31, 0 -/* 04958C 8004EB2C 41820034 */ beq lbl_8004EB60 -/* 049590 8004EB30 54031838 */ slwi r3, r0, 3 -/* 049594 8004EB34 80810084 */ lwz r4, 0x84(r1) -/* 049598 8004EB38 38630040 */ addi r3, r3, 0x40 -/* 04959C 8004EB3C 7C7E1A14 */ add r3, r30, r3 -/* 0495A0 8004EB40 7CBE1850 */ subf r5, r30, r3 -/* 0495A4 8004EB44 38640001 */ addi r3, r4, 1 -/* 0495A8 8004EB48 3CA590C3 */ addis r5, r5, 0x90c3 -/* 0495AC 8004EB4C 90610084 */ stw r3, 0x84(r1) -/* 0495B0 8004EB50 38650004 */ addi r3, r5, 4 -/* 0495B4 8004EB54 5484103A */ slwi r4, r4, 2 -/* 0495B8 8004EB58 7C7F212E */ stwx r3, r31, r4 -/* 0495BC 8004EB5C 48000010 */ b lbl_8004EB6C -lbl_8004EB60: -/* 0495C0 8004EB60 80610084 */ lwz r3, 0x84(r1) -/* 0495C4 8004EB64 38630001 */ addi r3, r3, 1 -/* 0495C8 8004EB68 90610084 */ stw r3, 0x84(r1) -lbl_8004EB6C: -/* 0495CC 8004EB6C 5400103A */ slwi r0, r0, 2 -/* 0495D0 8004EB70 7C7A0214 */ add r3, r26, r0 -/* 0495D4 8004EB74 80030818 */ lwz r0, 0x818(r3) -/* 0495D8 8004EB78 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0495DC 8004EB7C 41820008 */ beq lbl_8004EB84 -/* 0495E0 8004EB80 480193B4 */ b lbl_80067F34 -lbl_8004EB84: -/* 0495E4 8004EB84 281F0000 */ cmplwi r31, 0 -/* 0495E8 8004EB88 41820028 */ beq lbl_8004EBB0 -/* 0495EC 8004EB8C 80610084 */ lwz r3, 0x84(r1) -/* 0495F0 8004EB90 5400801E */ slwi r0, r0, 0x10 -/* 0495F4 8004EB94 64047CC0 */ oris r4, r0, 0x7cc0 -/* 0495F8 8004EB98 38030001 */ addi r0, r3, 1 -/* 0495FC 8004EB9C 90010084 */ stw r0, 0x84(r1) -/* 049600 8004EBA0 60843378 */ ori r4, r4, 0x3378 -/* 049604 8004EBA4 5460103A */ slwi r0, r3, 2 -/* 049608 8004EBA8 7C9F012E */ stwx r4, r31, r0 -/* 04960C 8004EBAC 48019388 */ b lbl_80067F34 -lbl_8004EBB0: -/* 049610 8004EBB0 80610084 */ lwz r3, 0x84(r1) -/* 049614 8004EBB4 38030001 */ addi r0, r3, 1 -/* 049618 8004EBB8 90010084 */ stw r0, 0x84(r1) -/* 04961C 8004EBBC 48019378 */ b lbl_80067F34 -.global lbl_8004EBC0 -lbl_8004EBC0: -/* 049620 8004EBC0 3C9E0001 */ addis r4, r30, 1 -/* 049624 8004EBC4 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 049628 8004EBC8 80642058 */ lwz r3, 0x2058(r4) -/* 04962C 8004EBCC 38A00001 */ li r5, 1 -/* 049630 8004EBD0 7CA50030 */ slw r5, r5, r0 -/* 049634 8004EBD4 7C652878 */ andc r5, r3, r5 -/* 049638 8004EBD8 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 04963C 8004EBDC 90A42058 */ stw r5, 0x2058(r4) -/* 049640 8004EBE0 7C7A1A14 */ add r3, r26, r3 -/* 049644 8004EBE4 84830818 */ lwzu r4, 0x818(r3) -/* 049648 8004EBE8 548505EF */ rlwinm. r5, r4, 0, 0x17, 0x17 -/* 04964C 8004EBEC 41820008 */ beq lbl_8004EBF4 -/* 049650 8004EBF0 38800005 */ li r4, 5 -lbl_8004EBF4: -/* 049654 8004EBF4 281F0000 */ cmplwi r31, 0 -/* 049658 8004EBF8 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 04965C 8004EBFC 41820038 */ beq lbl_8004EC34 -/* 049660 8004EC00 80A10084 */ lwz r5, 0x84(r1) -/* 049664 8004EC04 54C6103A */ slwi r6, r6, 2 -/* 049668 8004EC08 38C609C0 */ addi r6, r6, 0x9c0 -/* 04966C 8004EC0C 5487A814 */ slwi r7, r4, 0x15 -/* 049670 8004EC10 7CDE3214 */ add r6, r30, r6 -/* 049674 8004EC14 39050001 */ addi r8, r5, 1 -/* 049678 8004EC18 91010084 */ stw r8, 0x84(r1) -/* 04967C 8004EC1C 64E78003 */ oris r7, r7, 0x8003 -/* 049680 8004EC20 7CDE3050 */ subf r6, r30, r6 -/* 049684 8004EC24 7CC73214 */ add r6, r7, r6 -/* 049688 8004EC28 54A5103A */ slwi r5, r5, 2 -/* 04968C 8004EC2C 7CDF292E */ stwx r6, r31, r5 -/* 049690 8004EC30 48000010 */ b lbl_8004EC40 -lbl_8004EC34: -/* 049694 8004EC34 80A10084 */ lwz r5, 0x84(r1) -/* 049698 8004EC38 38A50001 */ addi r5, r5, 1 -/* 04969C 8004EC3C 90A10084 */ stw r5, 0x84(r1) -lbl_8004EC40: -/* 0496A0 8004EC40 80630000 */ lwz r3, 0(r3) -/* 0496A4 8004EC44 546305EF */ rlwinm. r3, r3, 0, 0x17, 0x17 -/* 0496A8 8004EC48 40820008 */ bne lbl_8004EC50 -/* 0496AC 8004EC4C 480192E8 */ b lbl_80067F34 -lbl_8004EC50: -/* 0496B0 8004EC50 3C7E0001 */ addis r3, r30, 1 -/* 0496B4 8004EC54 38A00002 */ li r5, 2 -/* 0496B8 8004EC58 90A32068 */ stw r5, 0x2068(r3) -/* 0496BC 8004EC5C 281F0000 */ cmplwi r31, 0 -/* 0496C0 8004EC60 9003206C */ stw r0, 0x206c(r3) -/* 0496C4 8004EC64 90832070 */ stw r4, 0x2070(r3) -/* 0496C8 8004EC68 41820038 */ beq lbl_8004ECA0 -/* 0496CC 8004EC6C 54041838 */ slwi r4, r0, 3 -/* 0496D0 8004EC70 80610084 */ lwz r3, 0x84(r1) -/* 0496D4 8004EC74 38040040 */ addi r0, r4, 0x40 -/* 0496D8 8004EC78 7C1E0214 */ add r0, r30, r0 -/* 0496DC 8004EC7C 7C9E0050 */ subf r4, r30, r0 -/* 0496E0 8004EC80 38840004 */ addi r4, r4, 4 -/* 0496E4 8004EC84 38030001 */ addi r0, r3, 1 -/* 0496E8 8004EC88 5484043E */ clrlwi r4, r4, 0x10 -/* 0496EC 8004EC8C 90010084 */ stw r0, 0x84(r1) -/* 0496F0 8004EC90 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0496F4 8004EC94 5463103A */ slwi r3, r3, 2 -/* 0496F8 8004EC98 7C1F192E */ stwx r0, r31, r3 -/* 0496FC 8004EC9C 48019298 */ b lbl_80067F34 -lbl_8004ECA0: -/* 049700 8004ECA0 80610084 */ lwz r3, 0x84(r1) -/* 049704 8004ECA4 38030001 */ addi r0, r3, 1 -/* 049708 8004ECA8 90010084 */ stw r0, 0x84(r1) -/* 04970C 8004ECAC 48019288 */ b lbl_80067F34 -.global lbl_8004ECB0 -lbl_8004ECB0: -/* 049710 8004ECB0 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 049714 8004ECB4 7C7A1A14 */ add r3, r26, r3 -/* 049718 8004ECB8 80830818 */ lwz r4, 0x818(r3) -/* 04971C 8004ECBC 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 049720 8004ECC0 5783AEFE */ rlwinm r3, r28, 0x15, 0x1b, 0x1f -/* 049724 8004ECC4 548505EF */ rlwinm. r5, r4, 0, 0x17, 0x17 -/* 049728 8004ECC8 418200F0 */ beq lbl_8004EDB8 -/* 04972C 8004ECCC 281F0000 */ cmplwi r31, 0 -/* 049730 8004ECD0 41820034 */ beq lbl_8004ED04 -/* 049734 8004ECD4 54051838 */ slwi r5, r0, 3 -/* 049738 8004ECD8 80810084 */ lwz r4, 0x84(r1) -/* 04973C 8004ECDC 38050040 */ addi r0, r5, 0x40 -/* 049740 8004ECE0 7C1E0214 */ add r0, r30, r0 -/* 049744 8004ECE4 7CBE0050 */ subf r5, r30, r0 -/* 049748 8004ECE8 38040001 */ addi r0, r4, 1 -/* 04974C 8004ECEC 3CA580A3 */ addis r5, r5, 0x80a3 -/* 049750 8004ECF0 90010084 */ stw r0, 0x84(r1) -/* 049754 8004ECF4 38050004 */ addi r0, r5, 4 -/* 049758 8004ECF8 5484103A */ slwi r4, r4, 2 -/* 04975C 8004ECFC 7C1F212E */ stwx r0, r31, r4 -/* 049760 8004ED00 48000010 */ b lbl_8004ED10 -lbl_8004ED04: -/* 049764 8004ED04 80810084 */ lwz r4, 0x84(r1) -/* 049768 8004ED08 38040001 */ addi r0, r4, 1 -/* 04976C 8004ED0C 90010084 */ stw r0, 0x84(r1) -lbl_8004ED10: -/* 049770 8004ED10 7C600E70 */ srawi r0, r3, 1 -/* 049774 8004ED14 7C000194 */ addze r0, r0 -/* 049778 8004ED18 5400083C */ slwi r0, r0, 1 -/* 04977C 8004ED1C 7C001810 */ subfc r0, r0, r3 -/* 049780 8004ED20 2C000001 */ cmpwi r0, 1 -/* 049784 8004ED24 4082004C */ bne lbl_8004ED70 -/* 049788 8004ED28 281F0000 */ cmplwi r31, 0 -/* 04978C 8004ED2C 41820034 */ beq lbl_8004ED60 -/* 049790 8004ED30 3803FFFF */ addi r0, r3, -1 -/* 049794 8004ED34 80610084 */ lwz r3, 0x84(r1) -/* 049798 8004ED38 54041838 */ slwi r4, r0, 3 -/* 04979C 8004ED3C 38040140 */ addi r0, r4, 0x140 -/* 0497A0 8004ED40 7C9E0214 */ add r4, r30, r0 -/* 0497A4 8004ED44 38030001 */ addi r0, r3, 1 -/* 0497A8 8004ED48 7C9E2050 */ subf r4, r30, r4 -/* 0497AC 8004ED4C 90010084 */ stw r0, 0x84(r1) -/* 0497B0 8004ED50 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0497B4 8004ED54 5463103A */ slwi r3, r3, 2 -/* 0497B8 8004ED58 7C1F192E */ stwx r0, r31, r3 -/* 0497BC 8004ED5C 480191D8 */ b lbl_80067F34 -lbl_8004ED60: -/* 0497C0 8004ED60 80610084 */ lwz r3, 0x84(r1) -/* 0497C4 8004ED64 38030001 */ addi r0, r3, 1 -/* 0497C8 8004ED68 90010084 */ stw r0, 0x84(r1) -/* 0497CC 8004ED6C 480191C8 */ b lbl_80067F34 -lbl_8004ED70: -/* 0497D0 8004ED70 281F0000 */ cmplwi r31, 0 -/* 0497D4 8004ED74 41820034 */ beq lbl_8004EDA8 -/* 0497D8 8004ED78 54641838 */ slwi r4, r3, 3 -/* 0497DC 8004ED7C 80610084 */ lwz r3, 0x84(r1) -/* 0497E0 8004ED80 38040140 */ addi r0, r4, 0x140 -/* 0497E4 8004ED84 7C1E0214 */ add r0, r30, r0 -/* 0497E8 8004ED88 7C9E0050 */ subf r4, r30, r0 -/* 0497EC 8004ED8C 38030001 */ addi r0, r3, 1 -/* 0497F0 8004ED90 3C8490A3 */ addis r4, r4, 0x90a3 -/* 0497F4 8004ED94 90010084 */ stw r0, 0x84(r1) -/* 0497F8 8004ED98 38040004 */ addi r0, r4, 4 -/* 0497FC 8004ED9C 5463103A */ slwi r3, r3, 2 -/* 049800 8004EDA0 7C1F192E */ stwx r0, r31, r3 -/* 049804 8004EDA4 48019190 */ b lbl_80067F34 -lbl_8004EDA8: -/* 049808 8004EDA8 80610084 */ lwz r3, 0x84(r1) -/* 04980C 8004EDAC 38030001 */ addi r0, r3, 1 -/* 049810 8004EDB0 90010084 */ stw r0, 0x84(r1) -/* 049814 8004EDB4 48019180 */ b lbl_80067F34 -lbl_8004EDB8: -/* 049818 8004EDB8 7C600E70 */ srawi r0, r3, 1 -/* 04981C 8004EDBC 7C000194 */ addze r0, r0 -/* 049820 8004EDC0 5400083C */ slwi r0, r0, 1 -/* 049824 8004EDC4 7C001810 */ subfc r0, r0, r3 -/* 049828 8004EDC8 2C000001 */ cmpwi r0, 1 -/* 04982C 8004EDCC 40820054 */ bne lbl_8004EE20 -/* 049830 8004EDD0 281F0000 */ cmplwi r31, 0 -/* 049834 8004EDD4 4182003C */ beq lbl_8004EE10 -/* 049838 8004EDD8 3803FFFF */ addi r0, r3, -1 -/* 04983C 8004EDDC 80610084 */ lwz r3, 0x84(r1) -/* 049840 8004EDE0 54051838 */ slwi r5, r0, 3 -/* 049844 8004EDE4 38A50140 */ addi r5, r5, 0x140 -/* 049848 8004EDE8 5480A814 */ slwi r0, r4, 0x15 -/* 04984C 8004EDEC 7CBE2A14 */ add r5, r30, r5 -/* 049850 8004EDF0 38830001 */ addi r4, r3, 1 -/* 049854 8004EDF4 90810084 */ stw r4, 0x84(r1) -/* 049858 8004EDF8 64009003 */ oris r0, r0, 0x9003 -/* 04985C 8004EDFC 7C9E2850 */ subf r4, r30, r5 -/* 049860 8004EE00 7C002214 */ add r0, r0, r4 -/* 049864 8004EE04 5463103A */ slwi r3, r3, 2 -/* 049868 8004EE08 7C1F192E */ stwx r0, r31, r3 -/* 04986C 8004EE0C 48019128 */ b lbl_80067F34 -lbl_8004EE10: -/* 049870 8004EE10 80610084 */ lwz r3, 0x84(r1) -/* 049874 8004EE14 38030001 */ addi r0, r3, 1 -/* 049878 8004EE18 90010084 */ stw r0, 0x84(r1) -/* 04987C 8004EE1C 48019118 */ b lbl_80067F34 -lbl_8004EE20: -/* 049880 8004EE20 281F0000 */ cmplwi r31, 0 -/* 049884 8004EE24 4182003C */ beq lbl_8004EE60 -/* 049888 8004EE28 54651838 */ slwi r5, r3, 3 -/* 04988C 8004EE2C 80610084 */ lwz r3, 0x84(r1) -/* 049890 8004EE30 38A50140 */ addi r5, r5, 0x140 -/* 049894 8004EE34 5480A814 */ slwi r0, r4, 0x15 -/* 049898 8004EE38 7CBE2A14 */ add r5, r30, r5 -/* 04989C 8004EE3C 38830001 */ addi r4, r3, 1 -/* 0498A0 8004EE40 64009003 */ oris r0, r0, 0x9003 -/* 0498A4 8004EE44 90810084 */ stw r4, 0x84(r1) -/* 0498A8 8004EE48 7C9E2850 */ subf r4, r30, r5 -/* 0498AC 8004EE4C 7C840214 */ add r4, r4, r0 -/* 0498B0 8004EE50 38040004 */ addi r0, r4, 4 -/* 0498B4 8004EE54 5463103A */ slwi r3, r3, 2 -/* 0498B8 8004EE58 7C1F192E */ stwx r0, r31, r3 -/* 0498BC 8004EE5C 480190D8 */ b lbl_80067F34 -lbl_8004EE60: -/* 0498C0 8004EE60 80610084 */ lwz r3, 0x84(r1) -/* 0498C4 8004EE64 38030001 */ addi r0, r3, 1 -/* 0498C8 8004EE68 90010084 */ stw r0, 0x84(r1) -/* 0498CC 8004EE6C 480190C8 */ b lbl_80067F34 -.global lbl_8004EE70 -lbl_8004EE70: -/* 0498D0 8004EE70 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 0498D4 8004EE74 7C9A0214 */ add r4, r26, r0 -/* 0498D8 8004EE78 80040818 */ lwz r0, 0x818(r4) -/* 0498DC 8004EE7C 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 0498E0 8004EE80 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 0498E4 8004EE84 40820050 */ bne lbl_8004EED4 -/* 0498E8 8004EE88 281F0000 */ cmplwi r31, 0 -/* 0498EC 8004EE8C 4182003C */ beq lbl_8004EEC8 -/* 0498F0 8004EE90 54641838 */ slwi r4, r3, 3 -/* 0498F4 8004EE94 80A10084 */ lwz r5, 0x84(r1) -/* 0498F8 8004EE98 38840040 */ addi r4, r4, 0x40 -/* 0498FC 8004EE9C 5400A814 */ slwi r0, r0, 0x15 -/* 049900 8004EEA0 7CDE2214 */ add r6, r30, r4 -/* 049904 8004EEA4 38850001 */ addi r4, r5, 1 -/* 049908 8004EEA8 64009003 */ oris r0, r0, 0x9003 -/* 04990C 8004EEAC 90810084 */ stw r4, 0x84(r1) -/* 049910 8004EEB0 7C9E3050 */ subf r4, r30, r6 -/* 049914 8004EEB4 7C840214 */ add r4, r4, r0 -/* 049918 8004EEB8 38040004 */ addi r0, r4, 4 -/* 04991C 8004EEBC 54A4103A */ slwi r4, r5, 2 -/* 049920 8004EEC0 7C1F212E */ stwx r0, r31, r4 -/* 049924 8004EEC4 48000010 */ b lbl_8004EED4 -lbl_8004EEC8: -/* 049928 8004EEC8 80810084 */ lwz r4, 0x84(r1) -/* 04992C 8004EECC 38040001 */ addi r0, r4, 1 -/* 049930 8004EED0 90010084 */ stw r0, 0x84(r1) -lbl_8004EED4: -/* 049934 8004EED4 281F0000 */ cmplwi r31, 0 -/* 049938 8004EED8 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04993C 8004EEDC 41820030 */ beq lbl_8004EF0C -/* 049940 8004EEE0 80810084 */ lwz r4, 0x84(r1) -/* 049944 8004EEE4 54651838 */ slwi r5, r3, 3 -/* 049948 8004EEE8 38A50040 */ addi r5, r5, 0x40 -/* 04994C 8004EEEC 7CBE2A14 */ add r5, r30, r5 -/* 049950 8004EEF0 38C40001 */ addi r6, r4, 1 -/* 049954 8004EEF4 7CBE2850 */ subf r5, r30, r5 -/* 049958 8004EEF8 90C10084 */ stw r6, 0x84(r1) -/* 04995C 8004EEFC 3CA580A3 */ addis r5, r5, 0x80a3 -/* 049960 8004EF00 5484103A */ slwi r4, r4, 2 -/* 049964 8004EF04 7CBF212E */ stwx r5, r31, r4 -/* 049968 8004EF08 48000010 */ b lbl_8004EF18 -lbl_8004EF0C: -/* 04996C 8004EF0C 80810084 */ lwz r4, 0x84(r1) -/* 049970 8004EF10 38840001 */ addi r4, r4, 1 -/* 049974 8004EF14 90810084 */ stw r4, 0x84(r1) -lbl_8004EF18: -/* 049978 8004EF18 281F0000 */ cmplwi r31, 0 -/* 04997C 8004EF1C 41820030 */ beq lbl_8004EF4C -/* 049980 8004EF20 80810084 */ lwz r4, 0x84(r1) -/* 049984 8004EF24 54051838 */ slwi r5, r0, 3 -/* 049988 8004EF28 38A50140 */ addi r5, r5, 0x140 -/* 04998C 8004EF2C 7CBE2A14 */ add r5, r30, r5 -/* 049990 8004EF30 38C40001 */ addi r6, r4, 1 -/* 049994 8004EF34 7CBE2850 */ subf r5, r30, r5 -/* 049998 8004EF38 90C10084 */ stw r6, 0x84(r1) -/* 04999C 8004EF3C 3CA590A3 */ addis r5, r5, 0x90a3 -/* 0499A0 8004EF40 5484103A */ slwi r4, r4, 2 -/* 0499A4 8004EF44 7CBF212E */ stwx r5, r31, r4 -/* 0499A8 8004EF48 48000010 */ b lbl_8004EF58 -lbl_8004EF4C: -/* 0499AC 8004EF4C 80810084 */ lwz r4, 0x84(r1) -/* 0499B0 8004EF50 38840001 */ addi r4, r4, 1 -/* 0499B4 8004EF54 90810084 */ stw r4, 0x84(r1) -lbl_8004EF58: -/* 0499B8 8004EF58 281F0000 */ cmplwi r31, 0 -/* 0499BC 8004EF5C 41820034 */ beq lbl_8004EF90 -/* 0499C0 8004EF60 54631838 */ slwi r3, r3, 3 -/* 0499C4 8004EF64 80810084 */ lwz r4, 0x84(r1) -/* 0499C8 8004EF68 38630040 */ addi r3, r3, 0x40 -/* 0499CC 8004EF6C 7C7E1A14 */ add r3, r30, r3 -/* 0499D0 8004EF70 7CBE1850 */ subf r5, r30, r3 -/* 0499D4 8004EF74 38640001 */ addi r3, r4, 1 -/* 0499D8 8004EF78 3CA580C3 */ addis r5, r5, 0x80c3 -/* 0499DC 8004EF7C 90610084 */ stw r3, 0x84(r1) -/* 0499E0 8004EF80 38650004 */ addi r3, r5, 4 -/* 0499E4 8004EF84 5484103A */ slwi r4, r4, 2 -/* 0499E8 8004EF88 7C7F212E */ stwx r3, r31, r4 -/* 0499EC 8004EF8C 48000010 */ b lbl_8004EF9C -lbl_8004EF90: -/* 0499F0 8004EF90 80610084 */ lwz r3, 0x84(r1) -/* 0499F4 8004EF94 38630001 */ addi r3, r3, 1 -/* 0499F8 8004EF98 90610084 */ stw r3, 0x84(r1) -lbl_8004EF9C: -/* 0499FC 8004EF9C 281F0000 */ cmplwi r31, 0 -/* 049A00 8004EFA0 41820034 */ beq lbl_8004EFD4 -/* 049A04 8004EFA4 54041838 */ slwi r4, r0, 3 -/* 049A08 8004EFA8 80610084 */ lwz r3, 0x84(r1) -/* 049A0C 8004EFAC 38040140 */ addi r0, r4, 0x140 -/* 049A10 8004EFB0 7C1E0214 */ add r0, r30, r0 -/* 049A14 8004EFB4 7C9E0050 */ subf r4, r30, r0 -/* 049A18 8004EFB8 38030001 */ addi r0, r3, 1 -/* 049A1C 8004EFBC 3C8490C3 */ addis r4, r4, 0x90c3 -/* 049A20 8004EFC0 90010084 */ stw r0, 0x84(r1) -/* 049A24 8004EFC4 38040004 */ addi r0, r4, 4 -/* 049A28 8004EFC8 5463103A */ slwi r3, r3, 2 -/* 049A2C 8004EFCC 7C1F192E */ stwx r0, r31, r3 -/* 049A30 8004EFD0 48018F64 */ b lbl_80067F34 -lbl_8004EFD4: -/* 049A34 8004EFD4 80610084 */ lwz r3, 0x84(r1) -/* 049A38 8004EFD8 38030001 */ addi r0, r3, 1 -/* 049A3C 8004EFDC 90010084 */ stw r0, 0x84(r1) -/* 049A40 8004EFE0 48018F54 */ b lbl_80067F34 -.global lbl_8004EFE4 -lbl_8004EFE4: -/* 049A44 8004EFE4 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 049A48 8004EFE8 7C7A0214 */ add r3, r26, r0 -/* 049A4C 8004EFEC 80A30818 */ lwz r5, 0x818(r3) -/* 049A50 8004EFF0 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 049A54 8004EFF4 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 049A58 8004EFF8 38050000 */ addi r0, r5, 0 -/* 049A5C 8004EFFC 41820008 */ beq lbl_8004F004 -/* 049A60 8004F000 38000005 */ li r0, 5 -lbl_8004F004: -/* 049A64 8004F004 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 049A68 8004F008 5783AEFE */ rlwinm r3, r28, 0x15, 0x1b, 0x1f -/* 049A6C 8004F00C 41820050 */ beq lbl_8004F05C -/* 049A70 8004F010 281F0000 */ cmplwi r31, 0 -/* 049A74 8004F014 4182003C */ beq lbl_8004F050 -/* 049A78 8004F018 54841838 */ slwi r4, r4, 3 -/* 049A7C 8004F01C 80A10084 */ lwz r5, 0x84(r1) -/* 049A80 8004F020 38840040 */ addi r4, r4, 0x40 -/* 049A84 8004F024 5407A814 */ slwi r7, r0, 0x15 -/* 049A88 8004F028 7CDE2214 */ add r6, r30, r4 -/* 049A8C 8004F02C 38850001 */ addi r4, r5, 1 -/* 049A90 8004F030 64E78003 */ oris r7, r7, 0x8003 -/* 049A94 8004F034 90810084 */ stw r4, 0x84(r1) -/* 049A98 8004F038 7C9E3050 */ subf r4, r30, r6 -/* 049A9C 8004F03C 7C843A14 */ add r4, r4, r7 -/* 049AA0 8004F040 38840004 */ addi r4, r4, 4 -/* 049AA4 8004F044 54A5103A */ slwi r5, r5, 2 -/* 049AA8 8004F048 7C9F292E */ stwx r4, r31, r5 -/* 049AAC 8004F04C 48000010 */ b lbl_8004F05C -lbl_8004F050: -/* 049AB0 8004F050 80810084 */ lwz r4, 0x84(r1) -/* 049AB4 8004F054 38840001 */ addi r4, r4, 1 -/* 049AB8 8004F058 90810084 */ stw r4, 0x84(r1) -lbl_8004F05C: -/* 049ABC 8004F05C 281F0000 */ cmplwi r31, 0 -/* 049AC0 8004F060 41820038 */ beq lbl_8004F098 -/* 049AC4 8004F064 80810084 */ lwz r4, 0x84(r1) -/* 049AC8 8004F068 5463103A */ slwi r3, r3, 2 -/* 049ACC 8004F06C 386309C0 */ addi r3, r3, 0x9c0 -/* 049AD0 8004F070 5400A814 */ slwi r0, r0, 0x15 -/* 049AD4 8004F074 7CBE1A14 */ add r5, r30, r3 -/* 049AD8 8004F078 38640001 */ addi r3, r4, 1 -/* 049ADC 8004F07C 90610084 */ stw r3, 0x84(r1) -/* 049AE0 8004F080 64009003 */ oris r0, r0, 0x9003 -/* 049AE4 8004F084 7C7E2850 */ subf r3, r30, r5 -/* 049AE8 8004F088 7C001A14 */ add r0, r0, r3 -/* 049AEC 8004F08C 5483103A */ slwi r3, r4, 2 -/* 049AF0 8004F090 7C1F192E */ stwx r0, r31, r3 -/* 049AF4 8004F094 48018EA0 */ b lbl_80067F34 -lbl_8004F098: -/* 049AF8 8004F098 80610084 */ lwz r3, 0x84(r1) -/* 049AFC 8004F09C 38030001 */ addi r0, r3, 1 -/* 049B00 8004F0A0 90010084 */ stw r0, 0x84(r1) -/* 049B04 8004F0A4 48018E90 */ b lbl_80067F34 -.global lbl_8004F0A8 -lbl_8004F0A8: -/* 049B08 8004F0A8 39E00000 */ li r15, 0 -/* 049B0C 8004F0AC 48018E88 */ b lbl_80067F34 -lbl_8004F0B0: -/* 049B10 8004F0B0 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 049B14 8004F0B4 28000008 */ cmplwi r0, 8 -/* 049B18 8004F0B8 40820800 */ bne lbl_8004F8B8 -/* 049B1C 8004F0BC 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 049B20 8004F0C0 2C000002 */ cmpwi r0, 2 -/* 049B24 8004F0C4 418203DC */ beq lbl_8004F4A0 -/* 049B28 8004F0C8 40800014 */ bge lbl_8004F0DC -/* 049B2C 8004F0CC 2C000000 */ cmpwi r0, 0 -/* 049B30 8004F0D0 41820018 */ beq lbl_8004F0E8 -/* 049B34 8004F0D4 408001F0 */ bge lbl_8004F2C4 -/* 049B38 8004F0D8 480007D8 */ b lbl_8004F8B0 -lbl_8004F0DC: -/* 049B3C 8004F0DC 2C000004 */ cmpwi r0, 4 -/* 049B40 8004F0E0 408007D0 */ bge lbl_8004F8B0 -/* 049B44 8004F0E4 480005C4 */ b lbl_8004F6A8 -lbl_8004F0E8: -/* 049B48 8004F0E8 5783043E */ clrlwi r3, r28, 0x10 -/* 049B4C 8004F0EC 80120000 */ lwz r0, 0(r18) -/* 049B50 8004F0F0 7C630734 */ extsh r3, r3 -/* 049B54 8004F0F4 5463103A */ slwi r3, r3, 2 -/* 049B58 8004F0F8 281F0000 */ cmplwi r31, 0 -/* 049B5C 8004F0FC 7E801A14 */ add r20, r0, r3 -/* 049B60 8004F100 41820024 */ beq lbl_8004F124 -/* 049B64 8004F104 80610084 */ lwz r3, 0x84(r1) -/* 049B68 8004F108 3C803CA0 */ lis r4, 0x3ca0 -/* 049B6C 8004F10C 38840080 */ addi r4, r4, 0x80 -/* 049B70 8004F110 38030001 */ addi r0, r3, 1 -/* 049B74 8004F114 90010084 */ stw r0, 0x84(r1) -/* 049B78 8004F118 5460103A */ slwi r0, r3, 2 -/* 049B7C 8004F11C 7C9F012E */ stwx r4, r31, r0 -/* 049B80 8004F120 48000010 */ b lbl_8004F130 -lbl_8004F124: -/* 049B84 8004F124 80610084 */ lwz r3, 0x84(r1) -/* 049B88 8004F128 38030001 */ addi r0, r3, 1 -/* 049B8C 8004F12C 90010084 */ stw r0, 0x84(r1) -lbl_8004F130: -/* 049B90 8004F130 281F0000 */ cmplwi r31, 0 -/* 049B94 8004F134 4182002C */ beq lbl_8004F160 -/* 049B98 8004F138 80610084 */ lwz r3, 0x84(r1) -/* 049B9C 8004F13C 381E0A3C */ addi r0, r30, 0xa3c -/* 049BA0 8004F140 7C9E0050 */ subf r4, r30, r0 -/* 049BA4 8004F144 38030001 */ addi r0, r3, 1 -/* 049BA8 8004F148 5484043E */ clrlwi r4, r4, 0x10 -/* 049BAC 8004F14C 90010084 */ stw r0, 0x84(r1) -/* 049BB0 8004F150 3C0480C3 */ addis r0, r4, 0x80c3 -/* 049BB4 8004F154 5463103A */ slwi r3, r3, 2 -/* 049BB8 8004F158 7C1F192E */ stwx r0, r31, r3 -/* 049BBC 8004F15C 48000010 */ b lbl_8004F16C -lbl_8004F160: -/* 049BC0 8004F160 80610084 */ lwz r3, 0x84(r1) -/* 049BC4 8004F164 38030001 */ addi r0, r3, 1 -/* 049BC8 8004F168 90010084 */ stw r0, 0x84(r1) -lbl_8004F16C: -/* 049BCC 8004F16C 281F0000 */ cmplwi r31, 0 -/* 049BD0 8004F170 41820024 */ beq lbl_8004F194 -/* 049BD4 8004F174 80610084 */ lwz r3, 0x84(r1) -/* 049BD8 8004F178 3C807CC6 */ lis r4, 0x7cc6 -/* 049BDC 8004F17C 38842839 */ addi r4, r4, 0x2839 -/* 049BE0 8004F180 38030001 */ addi r0, r3, 1 -/* 049BE4 8004F184 90010084 */ stw r0, 0x84(r1) -/* 049BE8 8004F188 5460103A */ slwi r0, r3, 2 -/* 049BEC 8004F18C 7C9F012E */ stwx r4, r31, r0 -/* 049BF0 8004F190 48000010 */ b lbl_8004F1A0 -lbl_8004F194: -/* 049BF4 8004F194 80610084 */ lwz r3, 0x84(r1) -/* 049BF8 8004F198 38030001 */ addi r0, r3, 1 -/* 049BFC 8004F19C 90010084 */ stw r0, 0x84(r1) -lbl_8004F1A0: -/* 049C00 8004F1A0 82E10084 */ lwz r23, 0x84(r1) -/* 049C04 8004F1A4 387E0000 */ addi r3, r30, 0 -/* 049C08 8004F1A8 38920000 */ addi r4, r18, 0 -/* 049C0C 8004F1AC 38170001 */ addi r0, r23, 1 -/* 049C10 8004F1B0 90010084 */ stw r0, 0x84(r1) -/* 049C14 8004F1B4 38BB0000 */ addi r5, r27, 0 -/* 049C18 8004F1B8 38DF0000 */ addi r6, r31, 0 -/* 049C1C 8004F1BC 38E10084 */ addi r7, r1, 0x84 -/* 049C20 8004F1C0 39000001 */ li r8, 1 -/* 049C24 8004F1C4 4BFEFC41 */ bl cpuGetPPC -/* 049C28 8004F1C8 2C030000 */ cmpwi r3, 0 -/* 049C2C 8004F1CC 4082000C */ bne lbl_8004F1D8 -/* 049C30 8004F1D0 38600000 */ li r3, 0 -/* 049C34 8004F1D4 48019050 */ b lbl_80068224 -lbl_8004F1D8: -/* 049C38 8004F1D8 80720000 */ lwz r3, 0(r18) -/* 049C3C 8004F1DC 281F0000 */ cmplwi r31, 0 -/* 049C40 8004F1E0 3803FFFC */ addi r0, r3, -4 -/* 049C44 8004F1E4 90120000 */ stw r0, 0(r18) -/* 049C48 8004F1E8 40820010 */ bne lbl_8004F1F8 -/* 049C4C 8004F1EC 3B200000 */ li r25, 0 -/* 049C50 8004F1F0 38000001 */ li r0, 1 -/* 049C54 8004F1F4 48000050 */ b lbl_8004F244 -lbl_8004F1F8: -/* 049C58 8004F1F8 801B0008 */ lwz r0, 8(r27) -/* 049C5C 8004F1FC 38600000 */ li r3, 0 -/* 049C60 8004F200 38830000 */ addi r4, r3, 0 -/* 049C64 8004F204 2C000000 */ cmpwi r0, 0 -/* 049C68 8004F208 7C0903A6 */ mtctr r0 -/* 049C6C 8004F20C 40810034 */ ble lbl_8004F240 -lbl_8004F210: -/* 049C70 8004F210 80BB000C */ lwz r5, 0xc(r27) -/* 049C74 8004F214 38040004 */ addi r0, r4, 4 -/* 049C78 8004F218 7C05002E */ lwzx r0, r5, r0 -/* 049C7C 8004F21C 7C140000 */ cmpw r20, r0 -/* 049C80 8004F220 40820014 */ bne lbl_8004F234 -/* 049C84 8004F224 54601838 */ slwi r0, r3, 3 -/* 049C88 8004F228 7F25002E */ lwzx r25, r5, r0 -/* 049C8C 8004F22C 38000001 */ li r0, 1 -/* 049C90 8004F230 48000014 */ b lbl_8004F244 -lbl_8004F234: -/* 049C94 8004F234 38840008 */ addi r4, r4, 8 -/* 049C98 8004F238 38630001 */ addi r3, r3, 1 -/* 049C9C 8004F23C 4200FFD4 */ bdnz lbl_8004F210 -lbl_8004F240: -/* 049CA0 8004F240 38000000 */ li r0, 0 -lbl_8004F244: -/* 049CA4 8004F244 2C000000 */ cmpwi r0, 0 -/* 049CA8 8004F248 4082000C */ bne lbl_8004F254 -/* 049CAC 8004F24C 38600000 */ li r3, 0 -/* 049CB0 8004F250 48018FD4 */ b lbl_80068224 -lbl_8004F254: -/* 049CB4 8004F254 281F0000 */ cmplwi r31, 0 -/* 049CB8 8004F258 41820010 */ beq lbl_8004F268 -/* 049CBC 8004F25C 80010084 */ lwz r0, 0x84(r1) -/* 049CC0 8004F260 7C00C850 */ subf r0, r0, r25 -/* 049CC4 8004F264 5415103A */ slwi r21, r0, 2 -lbl_8004F268: -/* 049CC8 8004F268 281F0000 */ cmplwi r31, 0 -/* 049CCC 8004F26C 41820024 */ beq lbl_8004F290 -/* 049CD0 8004F270 80610084 */ lwz r3, 0x84(r1) -/* 049CD4 8004F274 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 049CD8 8004F278 64044800 */ oris r4, r0, 0x4800 -/* 049CDC 8004F27C 38030001 */ addi r0, r3, 1 -/* 049CE0 8004F280 90010084 */ stw r0, 0x84(r1) -/* 049CE4 8004F284 5460103A */ slwi r0, r3, 2 -/* 049CE8 8004F288 7C9F012E */ stwx r4, r31, r0 -/* 049CEC 8004F28C 48000010 */ b lbl_8004F29C -lbl_8004F290: -/* 049CF0 8004F290 80610084 */ lwz r3, 0x84(r1) -/* 049CF4 8004F294 38030001 */ addi r0, r3, 1 -/* 049CF8 8004F298 90010084 */ stw r0, 0x84(r1) -lbl_8004F29C: -/* 049CFC 8004F29C 281F0000 */ cmplwi r31, 0 -/* 049D00 8004F2A0 40820008 */ bne lbl_8004F2A8 -/* 049D04 8004F2A4 48018C90 */ b lbl_80067F34 -lbl_8004F2A8: -/* 049D08 8004F2A8 80610084 */ lwz r3, 0x84(r1) -/* 049D0C 8004F2AC 56E0103A */ slwi r0, r23, 2 -/* 049D10 8004F2B0 7C771850 */ subf r3, r23, r3 -/* 049D14 8004F2B4 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 049D18 8004F2B8 64634082 */ oris r3, r3, 0x4082 -/* 049D1C 8004F2BC 7C7F012E */ stwx r3, r31, r0 -/* 049D20 8004F2C0 48018C74 */ b lbl_80067F34 -lbl_8004F2C4: -/* 049D24 8004F2C4 5783043E */ clrlwi r3, r28, 0x10 -/* 049D28 8004F2C8 80120000 */ lwz r0, 0(r18) -/* 049D2C 8004F2CC 7C630734 */ extsh r3, r3 -/* 049D30 8004F2D0 5463103A */ slwi r3, r3, 2 -/* 049D34 8004F2D4 281F0000 */ cmplwi r31, 0 -/* 049D38 8004F2D8 7E801A14 */ add r20, r0, r3 -/* 049D3C 8004F2DC 41820024 */ beq lbl_8004F300 -/* 049D40 8004F2E0 80610084 */ lwz r3, 0x84(r1) -/* 049D44 8004F2E4 3C803CA0 */ lis r4, 0x3ca0 -/* 049D48 8004F2E8 38840080 */ addi r4, r4, 0x80 -/* 049D4C 8004F2EC 38030001 */ addi r0, r3, 1 -/* 049D50 8004F2F0 90010084 */ stw r0, 0x84(r1) -/* 049D54 8004F2F4 5460103A */ slwi r0, r3, 2 -/* 049D58 8004F2F8 7C9F012E */ stwx r4, r31, r0 -/* 049D5C 8004F2FC 48000010 */ b lbl_8004F30C -lbl_8004F300: -/* 049D60 8004F300 80610084 */ lwz r3, 0x84(r1) -/* 049D64 8004F304 38030001 */ addi r0, r3, 1 -/* 049D68 8004F308 90010084 */ stw r0, 0x84(r1) -lbl_8004F30C: -/* 049D6C 8004F30C 281F0000 */ cmplwi r31, 0 -/* 049D70 8004F310 4182002C */ beq lbl_8004F33C -/* 049D74 8004F314 80610084 */ lwz r3, 0x84(r1) -/* 049D78 8004F318 381E0A3C */ addi r0, r30, 0xa3c -/* 049D7C 8004F31C 7C9E0050 */ subf r4, r30, r0 -/* 049D80 8004F320 38030001 */ addi r0, r3, 1 -/* 049D84 8004F324 5484043E */ clrlwi r4, r4, 0x10 -/* 049D88 8004F328 90010084 */ stw r0, 0x84(r1) -/* 049D8C 8004F32C 3C0480C3 */ addis r0, r4, 0x80c3 -/* 049D90 8004F330 5463103A */ slwi r3, r3, 2 -/* 049D94 8004F334 7C1F192E */ stwx r0, r31, r3 -/* 049D98 8004F338 48000010 */ b lbl_8004F348 -lbl_8004F33C: -/* 049D9C 8004F33C 80610084 */ lwz r3, 0x84(r1) -/* 049DA0 8004F340 38030001 */ addi r0, r3, 1 -/* 049DA4 8004F344 90010084 */ stw r0, 0x84(r1) -lbl_8004F348: -/* 049DA8 8004F348 281F0000 */ cmplwi r31, 0 -/* 049DAC 8004F34C 41820024 */ beq lbl_8004F370 -/* 049DB0 8004F350 80610084 */ lwz r3, 0x84(r1) -/* 049DB4 8004F354 3C807CC6 */ lis r4, 0x7cc6 -/* 049DB8 8004F358 38842839 */ addi r4, r4, 0x2839 -/* 049DBC 8004F35C 38030001 */ addi r0, r3, 1 -/* 049DC0 8004F360 90010084 */ stw r0, 0x84(r1) -/* 049DC4 8004F364 5460103A */ slwi r0, r3, 2 -/* 049DC8 8004F368 7C9F012E */ stwx r4, r31, r0 -/* 049DCC 8004F36C 48000010 */ b lbl_8004F37C -lbl_8004F370: -/* 049DD0 8004F370 80610084 */ lwz r3, 0x84(r1) -/* 049DD4 8004F374 38030001 */ addi r0, r3, 1 -/* 049DD8 8004F378 90010084 */ stw r0, 0x84(r1) -lbl_8004F37C: -/* 049DDC 8004F37C 82E10084 */ lwz r23, 0x84(r1) -/* 049DE0 8004F380 387E0000 */ addi r3, r30, 0 -/* 049DE4 8004F384 38920000 */ addi r4, r18, 0 -/* 049DE8 8004F388 38170001 */ addi r0, r23, 1 -/* 049DEC 8004F38C 90010084 */ stw r0, 0x84(r1) -/* 049DF0 8004F390 38BB0000 */ addi r5, r27, 0 -/* 049DF4 8004F394 38DF0000 */ addi r6, r31, 0 -/* 049DF8 8004F398 38E10084 */ addi r7, r1, 0x84 -/* 049DFC 8004F39C 39000001 */ li r8, 1 -/* 049E00 8004F3A0 4BFEFA65 */ bl cpuGetPPC -/* 049E04 8004F3A4 2C030000 */ cmpwi r3, 0 -/* 049E08 8004F3A8 4082000C */ bne lbl_8004F3B4 -/* 049E0C 8004F3AC 38600000 */ li r3, 0 -/* 049E10 8004F3B0 48018E74 */ b lbl_80068224 -lbl_8004F3B4: -/* 049E14 8004F3B4 80720000 */ lwz r3, 0(r18) -/* 049E18 8004F3B8 281F0000 */ cmplwi r31, 0 -/* 049E1C 8004F3BC 3803FFFC */ addi r0, r3, -4 -/* 049E20 8004F3C0 90120000 */ stw r0, 0(r18) -/* 049E24 8004F3C4 40820010 */ bne lbl_8004F3D4 -/* 049E28 8004F3C8 3B200000 */ li r25, 0 -/* 049E2C 8004F3CC 38000001 */ li r0, 1 -/* 049E30 8004F3D0 48000050 */ b lbl_8004F420 -lbl_8004F3D4: -/* 049E34 8004F3D4 801B0008 */ lwz r0, 8(r27) -/* 049E38 8004F3D8 38600000 */ li r3, 0 -/* 049E3C 8004F3DC 38830000 */ addi r4, r3, 0 -/* 049E40 8004F3E0 2C000000 */ cmpwi r0, 0 -/* 049E44 8004F3E4 7C0903A6 */ mtctr r0 -/* 049E48 8004F3E8 40810034 */ ble lbl_8004F41C -lbl_8004F3EC: -/* 049E4C 8004F3EC 80BB000C */ lwz r5, 0xc(r27) -/* 049E50 8004F3F0 38040004 */ addi r0, r4, 4 -/* 049E54 8004F3F4 7C05002E */ lwzx r0, r5, r0 -/* 049E58 8004F3F8 7C140000 */ cmpw r20, r0 -/* 049E5C 8004F3FC 40820014 */ bne lbl_8004F410 -/* 049E60 8004F400 54601838 */ slwi r0, r3, 3 -/* 049E64 8004F404 7F25002E */ lwzx r25, r5, r0 -/* 049E68 8004F408 38000001 */ li r0, 1 -/* 049E6C 8004F40C 48000014 */ b lbl_8004F420 -lbl_8004F410: -/* 049E70 8004F410 38840008 */ addi r4, r4, 8 -/* 049E74 8004F414 38630001 */ addi r3, r3, 1 -/* 049E78 8004F418 4200FFD4 */ bdnz lbl_8004F3EC -lbl_8004F41C: -/* 049E7C 8004F41C 38000000 */ li r0, 0 -lbl_8004F420: -/* 049E80 8004F420 2C000000 */ cmpwi r0, 0 -/* 049E84 8004F424 4082000C */ bne lbl_8004F430 -/* 049E88 8004F428 38600000 */ li r3, 0 -/* 049E8C 8004F42C 48018DF8 */ b lbl_80068224 -lbl_8004F430: -/* 049E90 8004F430 281F0000 */ cmplwi r31, 0 -/* 049E94 8004F434 41820010 */ beq lbl_8004F444 -/* 049E98 8004F438 80010084 */ lwz r0, 0x84(r1) -/* 049E9C 8004F43C 7C00C850 */ subf r0, r0, r25 -/* 049EA0 8004F440 5415103A */ slwi r21, r0, 2 -lbl_8004F444: -/* 049EA4 8004F444 281F0000 */ cmplwi r31, 0 -/* 049EA8 8004F448 41820024 */ beq lbl_8004F46C -/* 049EAC 8004F44C 80610084 */ lwz r3, 0x84(r1) -/* 049EB0 8004F450 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 049EB4 8004F454 64044800 */ oris r4, r0, 0x4800 -/* 049EB8 8004F458 38030001 */ addi r0, r3, 1 -/* 049EBC 8004F45C 90010084 */ stw r0, 0x84(r1) -/* 049EC0 8004F460 5460103A */ slwi r0, r3, 2 -/* 049EC4 8004F464 7C9F012E */ stwx r4, r31, r0 -/* 049EC8 8004F468 48000010 */ b lbl_8004F478 -lbl_8004F46C: -/* 049ECC 8004F46C 80610084 */ lwz r3, 0x84(r1) -/* 049ED0 8004F470 38030001 */ addi r0, r3, 1 -/* 049ED4 8004F474 90010084 */ stw r0, 0x84(r1) -lbl_8004F478: -/* 049ED8 8004F478 281F0000 */ cmplwi r31, 0 -/* 049EDC 8004F47C 40820008 */ bne lbl_8004F484 -/* 049EE0 8004F480 48018AB4 */ b lbl_80067F34 -lbl_8004F484: -/* 049EE4 8004F484 80610084 */ lwz r3, 0x84(r1) -/* 049EE8 8004F488 56E0103A */ slwi r0, r23, 2 -/* 049EEC 8004F48C 7C771850 */ subf r3, r23, r3 -/* 049EF0 8004F490 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 049EF4 8004F494 64634182 */ oris r3, r3, 0x4182 -/* 049EF8 8004F498 7C7F012E */ stwx r3, r31, r0 -/* 049EFC 8004F49C 48018A98 */ b lbl_80067F34 -lbl_8004F4A0: -/* 049F00 8004F4A0 5783043E */ clrlwi r3, r28, 0x10 -/* 049F04 8004F4A4 80120000 */ lwz r0, 0(r18) -/* 049F08 8004F4A8 7C630734 */ extsh r3, r3 -/* 049F0C 8004F4AC 5463103A */ slwi r3, r3, 2 -/* 049F10 8004F4B0 281F0000 */ cmplwi r31, 0 -/* 049F14 8004F4B4 7E801A14 */ add r20, r0, r3 -/* 049F18 8004F4B8 41820024 */ beq lbl_8004F4DC -/* 049F1C 8004F4BC 80610084 */ lwz r3, 0x84(r1) -/* 049F20 8004F4C0 3C803CA0 */ lis r4, 0x3ca0 -/* 049F24 8004F4C4 38840080 */ addi r4, r4, 0x80 -/* 049F28 8004F4C8 38030001 */ addi r0, r3, 1 -/* 049F2C 8004F4CC 90010084 */ stw r0, 0x84(r1) -/* 049F30 8004F4D0 5460103A */ slwi r0, r3, 2 -/* 049F34 8004F4D4 7C9F012E */ stwx r4, r31, r0 -/* 049F38 8004F4D8 48000010 */ b lbl_8004F4E8 -lbl_8004F4DC: -/* 049F3C 8004F4DC 80610084 */ lwz r3, 0x84(r1) -/* 049F40 8004F4E0 38030001 */ addi r0, r3, 1 -/* 049F44 8004F4E4 90010084 */ stw r0, 0x84(r1) -lbl_8004F4E8: -/* 049F48 8004F4E8 281F0000 */ cmplwi r31, 0 -/* 049F4C 8004F4EC 4182002C */ beq lbl_8004F518 -/* 049F50 8004F4F0 80610084 */ lwz r3, 0x84(r1) -/* 049F54 8004F4F4 381E0A3C */ addi r0, r30, 0xa3c -/* 049F58 8004F4F8 7C9E0050 */ subf r4, r30, r0 -/* 049F5C 8004F4FC 38030001 */ addi r0, r3, 1 -/* 049F60 8004F500 5484043E */ clrlwi r4, r4, 0x10 -/* 049F64 8004F504 90010084 */ stw r0, 0x84(r1) -/* 049F68 8004F508 3C0480C3 */ addis r0, r4, 0x80c3 -/* 049F6C 8004F50C 5463103A */ slwi r3, r3, 2 -/* 049F70 8004F510 7C1F192E */ stwx r0, r31, r3 -/* 049F74 8004F514 48000010 */ b lbl_8004F524 -lbl_8004F518: -/* 049F78 8004F518 80610084 */ lwz r3, 0x84(r1) -/* 049F7C 8004F51C 38030001 */ addi r0, r3, 1 -/* 049F80 8004F520 90010084 */ stw r0, 0x84(r1) -lbl_8004F524: -/* 049F84 8004F524 281F0000 */ cmplwi r31, 0 -/* 049F88 8004F528 41820024 */ beq lbl_8004F54C -/* 049F8C 8004F52C 80610084 */ lwz r3, 0x84(r1) -/* 049F90 8004F530 3C807CC6 */ lis r4, 0x7cc6 -/* 049F94 8004F534 38842839 */ addi r4, r4, 0x2839 -/* 049F98 8004F538 38030001 */ addi r0, r3, 1 -/* 049F9C 8004F53C 90010084 */ stw r0, 0x84(r1) -/* 049FA0 8004F540 5460103A */ slwi r0, r3, 2 -/* 049FA4 8004F544 7C9F012E */ stwx r4, r31, r0 -/* 049FA8 8004F548 48000010 */ b lbl_8004F558 -lbl_8004F54C: -/* 049FAC 8004F54C 80610084 */ lwz r3, 0x84(r1) -/* 049FB0 8004F550 38030001 */ addi r0, r3, 1 -/* 049FB4 8004F554 90010084 */ stw r0, 0x84(r1) -lbl_8004F558: -/* 049FB8 8004F558 82E10084 */ lwz r23, 0x84(r1) -/* 049FBC 8004F55C 387E0000 */ addi r3, r30, 0 -/* 049FC0 8004F560 38920000 */ addi r4, r18, 0 -/* 049FC4 8004F564 38170001 */ addi r0, r23, 1 -/* 049FC8 8004F568 90010084 */ stw r0, 0x84(r1) -/* 049FCC 8004F56C 38BB0000 */ addi r5, r27, 0 -/* 049FD0 8004F570 38DF0000 */ addi r6, r31, 0 -/* 049FD4 8004F574 38E10084 */ addi r7, r1, 0x84 -/* 049FD8 8004F578 39000001 */ li r8, 1 -/* 049FDC 8004F57C 4BFEF889 */ bl cpuGetPPC -/* 049FE0 8004F580 2C030000 */ cmpwi r3, 0 -/* 049FE4 8004F584 4082000C */ bne lbl_8004F590 -/* 049FE8 8004F588 38600000 */ li r3, 0 -/* 049FEC 8004F58C 48018C98 */ b lbl_80068224 -lbl_8004F590: -/* 049FF0 8004F590 80720000 */ lwz r3, 0(r18) -/* 049FF4 8004F594 281F0000 */ cmplwi r31, 0 -/* 049FF8 8004F598 3803FFFC */ addi r0, r3, -4 -/* 049FFC 8004F59C 90120000 */ stw r0, 0(r18) -/* 04A000 8004F5A0 40820010 */ bne lbl_8004F5B0 -/* 04A004 8004F5A4 3B200000 */ li r25, 0 -/* 04A008 8004F5A8 38000001 */ li r0, 1 -/* 04A00C 8004F5AC 48000050 */ b lbl_8004F5FC -lbl_8004F5B0: -/* 04A010 8004F5B0 801B0008 */ lwz r0, 8(r27) -/* 04A014 8004F5B4 38600000 */ li r3, 0 -/* 04A018 8004F5B8 38830000 */ addi r4, r3, 0 -/* 04A01C 8004F5BC 2C000000 */ cmpwi r0, 0 -/* 04A020 8004F5C0 7C0903A6 */ mtctr r0 -/* 04A024 8004F5C4 40810034 */ ble lbl_8004F5F8 -lbl_8004F5C8: -/* 04A028 8004F5C8 80BB000C */ lwz r5, 0xc(r27) -/* 04A02C 8004F5CC 38040004 */ addi r0, r4, 4 -/* 04A030 8004F5D0 7C05002E */ lwzx r0, r5, r0 -/* 04A034 8004F5D4 7C140000 */ cmpw r20, r0 -/* 04A038 8004F5D8 40820014 */ bne lbl_8004F5EC -/* 04A03C 8004F5DC 54601838 */ slwi r0, r3, 3 -/* 04A040 8004F5E0 7F25002E */ lwzx r25, r5, r0 -/* 04A044 8004F5E4 38000001 */ li r0, 1 -/* 04A048 8004F5E8 48000014 */ b lbl_8004F5FC -lbl_8004F5EC: -/* 04A04C 8004F5EC 38840008 */ addi r4, r4, 8 -/* 04A050 8004F5F0 38630001 */ addi r3, r3, 1 -/* 04A054 8004F5F4 4200FFD4 */ bdnz lbl_8004F5C8 -lbl_8004F5F8: -/* 04A058 8004F5F8 38000000 */ li r0, 0 -lbl_8004F5FC: -/* 04A05C 8004F5FC 2C000000 */ cmpwi r0, 0 -/* 04A060 8004F600 4082000C */ bne lbl_8004F60C -/* 04A064 8004F604 38600000 */ li r3, 0 -/* 04A068 8004F608 48018C1C */ b lbl_80068224 -lbl_8004F60C: -/* 04A06C 8004F60C 281F0000 */ cmplwi r31, 0 -/* 04A070 8004F610 41820010 */ beq lbl_8004F620 -/* 04A074 8004F614 80010084 */ lwz r0, 0x84(r1) -/* 04A078 8004F618 7C00C850 */ subf r0, r0, r25 -/* 04A07C 8004F61C 5415103A */ slwi r21, r0, 2 -lbl_8004F620: -/* 04A080 8004F620 281F0000 */ cmplwi r31, 0 -/* 04A084 8004F624 41820024 */ beq lbl_8004F648 -/* 04A088 8004F628 80610084 */ lwz r3, 0x84(r1) -/* 04A08C 8004F62C 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 04A090 8004F630 64044800 */ oris r4, r0, 0x4800 -/* 04A094 8004F634 38030001 */ addi r0, r3, 1 -/* 04A098 8004F638 90010084 */ stw r0, 0x84(r1) -/* 04A09C 8004F63C 5460103A */ slwi r0, r3, 2 -/* 04A0A0 8004F640 7C9F012E */ stwx r4, r31, r0 -/* 04A0A4 8004F644 48000010 */ b lbl_8004F654 -lbl_8004F648: -/* 04A0A8 8004F648 80610084 */ lwz r3, 0x84(r1) -/* 04A0AC 8004F64C 38030001 */ addi r0, r3, 1 -/* 04A0B0 8004F650 90010084 */ stw r0, 0x84(r1) -lbl_8004F654: -/* 04A0B4 8004F654 387E0000 */ addi r3, r30, 0 -/* 04A0B8 8004F658 38920000 */ addi r4, r18, 0 -/* 04A0BC 8004F65C 38BB0000 */ addi r5, r27, 0 -/* 04A0C0 8004F660 38DF0000 */ addi r6, r31, 0 -/* 04A0C4 8004F664 38E10084 */ addi r7, r1, 0x84 -/* 04A0C8 8004F668 39000000 */ li r8, 0 -/* 04A0CC 8004F66C 4BFEF799 */ bl cpuGetPPC -/* 04A0D0 8004F670 2C030000 */ cmpwi r3, 0 -/* 04A0D4 8004F674 4082000C */ bne lbl_8004F680 -/* 04A0D8 8004F678 38600000 */ li r3, 0 -/* 04A0DC 8004F67C 48018BA8 */ b lbl_80068224 -lbl_8004F680: -/* 04A0E0 8004F680 281F0000 */ cmplwi r31, 0 -/* 04A0E4 8004F684 40820008 */ bne lbl_8004F68C -/* 04A0E8 8004F688 480188AC */ b lbl_80067F34 -lbl_8004F68C: -/* 04A0EC 8004F68C 80610084 */ lwz r3, 0x84(r1) -/* 04A0F0 8004F690 56E0103A */ slwi r0, r23, 2 -/* 04A0F4 8004F694 7C771850 */ subf r3, r23, r3 -/* 04A0F8 8004F698 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 04A0FC 8004F69C 64634082 */ oris r3, r3, 0x4082 -/* 04A100 8004F6A0 7C7F012E */ stwx r3, r31, r0 -/* 04A104 8004F6A4 48018890 */ b lbl_80067F34 -lbl_8004F6A8: -/* 04A108 8004F6A8 5783043E */ clrlwi r3, r28, 0x10 -/* 04A10C 8004F6AC 80120000 */ lwz r0, 0(r18) -/* 04A110 8004F6B0 7C630734 */ extsh r3, r3 -/* 04A114 8004F6B4 5463103A */ slwi r3, r3, 2 -/* 04A118 8004F6B8 281F0000 */ cmplwi r31, 0 -/* 04A11C 8004F6BC 7E801A14 */ add r20, r0, r3 -/* 04A120 8004F6C0 41820024 */ beq lbl_8004F6E4 -/* 04A124 8004F6C4 80610084 */ lwz r3, 0x84(r1) -/* 04A128 8004F6C8 3C803CA0 */ lis r4, 0x3ca0 -/* 04A12C 8004F6CC 38840080 */ addi r4, r4, 0x80 -/* 04A130 8004F6D0 38030001 */ addi r0, r3, 1 -/* 04A134 8004F6D4 90010084 */ stw r0, 0x84(r1) -/* 04A138 8004F6D8 5460103A */ slwi r0, r3, 2 -/* 04A13C 8004F6DC 7C9F012E */ stwx r4, r31, r0 -/* 04A140 8004F6E0 48000010 */ b lbl_8004F6F0 -lbl_8004F6E4: -/* 04A144 8004F6E4 80610084 */ lwz r3, 0x84(r1) -/* 04A148 8004F6E8 38030001 */ addi r0, r3, 1 -/* 04A14C 8004F6EC 90010084 */ stw r0, 0x84(r1) -lbl_8004F6F0: -/* 04A150 8004F6F0 281F0000 */ cmplwi r31, 0 -/* 04A154 8004F6F4 4182002C */ beq lbl_8004F720 -/* 04A158 8004F6F8 80610084 */ lwz r3, 0x84(r1) -/* 04A15C 8004F6FC 381E0A3C */ addi r0, r30, 0xa3c -/* 04A160 8004F700 7C9E0050 */ subf r4, r30, r0 -/* 04A164 8004F704 38030001 */ addi r0, r3, 1 -/* 04A168 8004F708 5484043E */ clrlwi r4, r4, 0x10 -/* 04A16C 8004F70C 90010084 */ stw r0, 0x84(r1) -/* 04A170 8004F710 3C0480C3 */ addis r0, r4, 0x80c3 -/* 04A174 8004F714 5463103A */ slwi r3, r3, 2 -/* 04A178 8004F718 7C1F192E */ stwx r0, r31, r3 -/* 04A17C 8004F71C 48000010 */ b lbl_8004F72C -lbl_8004F720: -/* 04A180 8004F720 80610084 */ lwz r3, 0x84(r1) -/* 04A184 8004F724 38030001 */ addi r0, r3, 1 -/* 04A188 8004F728 90010084 */ stw r0, 0x84(r1) -lbl_8004F72C: -/* 04A18C 8004F72C 281F0000 */ cmplwi r31, 0 -/* 04A190 8004F730 41820024 */ beq lbl_8004F754 -/* 04A194 8004F734 80610084 */ lwz r3, 0x84(r1) -/* 04A198 8004F738 3C807CC6 */ lis r4, 0x7cc6 -/* 04A19C 8004F73C 38842839 */ addi r4, r4, 0x2839 -/* 04A1A0 8004F740 38030001 */ addi r0, r3, 1 -/* 04A1A4 8004F744 90010084 */ stw r0, 0x84(r1) -/* 04A1A8 8004F748 5460103A */ slwi r0, r3, 2 -/* 04A1AC 8004F74C 7C9F012E */ stwx r4, r31, r0 -/* 04A1B0 8004F750 48000010 */ b lbl_8004F760 -lbl_8004F754: -/* 04A1B4 8004F754 80610084 */ lwz r3, 0x84(r1) -/* 04A1B8 8004F758 38030001 */ addi r0, r3, 1 -/* 04A1BC 8004F75C 90010084 */ stw r0, 0x84(r1) -lbl_8004F760: -/* 04A1C0 8004F760 82E10084 */ lwz r23, 0x84(r1) -/* 04A1C4 8004F764 387E0000 */ addi r3, r30, 0 -/* 04A1C8 8004F768 38920000 */ addi r4, r18, 0 -/* 04A1CC 8004F76C 38170001 */ addi r0, r23, 1 -/* 04A1D0 8004F770 90010084 */ stw r0, 0x84(r1) -/* 04A1D4 8004F774 38BB0000 */ addi r5, r27, 0 -/* 04A1D8 8004F778 38DF0000 */ addi r6, r31, 0 -/* 04A1DC 8004F77C 38E10084 */ addi r7, r1, 0x84 -/* 04A1E0 8004F780 39000001 */ li r8, 1 -/* 04A1E4 8004F784 4BFEF681 */ bl cpuGetPPC -/* 04A1E8 8004F788 2C030000 */ cmpwi r3, 0 -/* 04A1EC 8004F78C 4082000C */ bne lbl_8004F798 -/* 04A1F0 8004F790 38600000 */ li r3, 0 -/* 04A1F4 8004F794 48018A90 */ b lbl_80068224 -lbl_8004F798: -/* 04A1F8 8004F798 80720000 */ lwz r3, 0(r18) -/* 04A1FC 8004F79C 281F0000 */ cmplwi r31, 0 -/* 04A200 8004F7A0 3803FFFC */ addi r0, r3, -4 -/* 04A204 8004F7A4 90120000 */ stw r0, 0(r18) -/* 04A208 8004F7A8 40820010 */ bne lbl_8004F7B8 -/* 04A20C 8004F7AC 3B200000 */ li r25, 0 -/* 04A210 8004F7B0 38000001 */ li r0, 1 -/* 04A214 8004F7B4 48000050 */ b lbl_8004F804 -lbl_8004F7B8: -/* 04A218 8004F7B8 801B0008 */ lwz r0, 8(r27) -/* 04A21C 8004F7BC 38600000 */ li r3, 0 -/* 04A220 8004F7C0 38830000 */ addi r4, r3, 0 -/* 04A224 8004F7C4 2C000000 */ cmpwi r0, 0 -/* 04A228 8004F7C8 7C0903A6 */ mtctr r0 -/* 04A22C 8004F7CC 40810034 */ ble lbl_8004F800 -lbl_8004F7D0: -/* 04A230 8004F7D0 80BB000C */ lwz r5, 0xc(r27) -/* 04A234 8004F7D4 38040004 */ addi r0, r4, 4 -/* 04A238 8004F7D8 7C05002E */ lwzx r0, r5, r0 -/* 04A23C 8004F7DC 7C140000 */ cmpw r20, r0 -/* 04A240 8004F7E0 40820014 */ bne lbl_8004F7F4 -/* 04A244 8004F7E4 54601838 */ slwi r0, r3, 3 -/* 04A248 8004F7E8 7F25002E */ lwzx r25, r5, r0 -/* 04A24C 8004F7EC 38000001 */ li r0, 1 -/* 04A250 8004F7F0 48000014 */ b lbl_8004F804 -lbl_8004F7F4: -/* 04A254 8004F7F4 38840008 */ addi r4, r4, 8 -/* 04A258 8004F7F8 38630001 */ addi r3, r3, 1 -/* 04A25C 8004F7FC 4200FFD4 */ bdnz lbl_8004F7D0 -lbl_8004F800: -/* 04A260 8004F800 38000000 */ li r0, 0 -lbl_8004F804: -/* 04A264 8004F804 2C000000 */ cmpwi r0, 0 -/* 04A268 8004F808 4082000C */ bne lbl_8004F814 -/* 04A26C 8004F80C 38600000 */ li r3, 0 -/* 04A270 8004F810 48018A14 */ b lbl_80068224 -lbl_8004F814: -/* 04A274 8004F814 281F0000 */ cmplwi r31, 0 -/* 04A278 8004F818 41820010 */ beq lbl_8004F828 -/* 04A27C 8004F81C 80010084 */ lwz r0, 0x84(r1) -/* 04A280 8004F820 7C00C850 */ subf r0, r0, r25 -/* 04A284 8004F824 5415103A */ slwi r21, r0, 2 -lbl_8004F828: -/* 04A288 8004F828 281F0000 */ cmplwi r31, 0 -/* 04A28C 8004F82C 41820024 */ beq lbl_8004F850 -/* 04A290 8004F830 80610084 */ lwz r3, 0x84(r1) -/* 04A294 8004F834 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 04A298 8004F838 64044800 */ oris r4, r0, 0x4800 -/* 04A29C 8004F83C 38030001 */ addi r0, r3, 1 -/* 04A2A0 8004F840 90010084 */ stw r0, 0x84(r1) -/* 04A2A4 8004F844 5460103A */ slwi r0, r3, 2 -/* 04A2A8 8004F848 7C9F012E */ stwx r4, r31, r0 -/* 04A2AC 8004F84C 48000010 */ b lbl_8004F85C -lbl_8004F850: -/* 04A2B0 8004F850 80610084 */ lwz r3, 0x84(r1) -/* 04A2B4 8004F854 38030001 */ addi r0, r3, 1 -/* 04A2B8 8004F858 90010084 */ stw r0, 0x84(r1) -lbl_8004F85C: -/* 04A2BC 8004F85C 387E0000 */ addi r3, r30, 0 -/* 04A2C0 8004F860 38920000 */ addi r4, r18, 0 -/* 04A2C4 8004F864 38BB0000 */ addi r5, r27, 0 -/* 04A2C8 8004F868 38DF0000 */ addi r6, r31, 0 -/* 04A2CC 8004F86C 38E10084 */ addi r7, r1, 0x84 -/* 04A2D0 8004F870 39000000 */ li r8, 0 -/* 04A2D4 8004F874 4BFEF591 */ bl cpuGetPPC -/* 04A2D8 8004F878 2C030000 */ cmpwi r3, 0 -/* 04A2DC 8004F87C 4082000C */ bne lbl_8004F888 -/* 04A2E0 8004F880 38600000 */ li r3, 0 -/* 04A2E4 8004F884 480189A0 */ b lbl_80068224 -lbl_8004F888: -/* 04A2E8 8004F888 281F0000 */ cmplwi r31, 0 -/* 04A2EC 8004F88C 40820008 */ bne lbl_8004F894 -/* 04A2F0 8004F890 480186A4 */ b lbl_80067F34 -lbl_8004F894: -/* 04A2F4 8004F894 80610084 */ lwz r3, 0x84(r1) -/* 04A2F8 8004F898 56E0103A */ slwi r0, r23, 2 -/* 04A2FC 8004F89C 7C771850 */ subf r3, r23, r3 -/* 04A300 8004F8A0 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 04A304 8004F8A4 64634182 */ oris r3, r3, 0x4182 -/* 04A308 8004F8A8 7C7F012E */ stwx r3, r31, r0 -/* 04A30C 8004F8AC 48018688 */ b lbl_80067F34 -lbl_8004F8B0: -/* 04A310 8004F8B0 39E00000 */ li r15, 0 -/* 04A314 8004F8B4 48018680 */ b lbl_80067F34 -lbl_8004F8B8: -/* 04A318 8004F8B8 5400063E */ clrlwi r0, r0, 0x18 -/* 04A31C 8004F8BC 2C000014 */ cmpwi r0, 0x14 -/* 04A320 8004F8C0 40820008 */ bne lbl_8004F8C8 -/* 04A324 8004F8C4 4800A4D8 */ b lbl_80059D9C -lbl_8004F8C8: -/* 04A328 8004F8C8 40800020 */ bge lbl_8004F8E8 -/* 04A32C 8004F8CC 2C000011 */ cmpwi r0, 0x11 -/* 04A330 8004F8D0 418252E0 */ beq lbl_80054BB0 -/* 04A334 8004F8D4 41800008 */ blt lbl_8004F8DC -/* 04A338 8004F8D8 4801865C */ b lbl_80067F34 -lbl_8004F8DC: -/* 04A33C 8004F8DC 2C000010 */ cmpwi r0, 0x10 -/* 04A340 8004F8E0 40800018 */ bge lbl_8004F8F8 -/* 04A344 8004F8E4 48018650 */ b lbl_80067F34 -lbl_8004F8E8: -/* 04A348 8004F8E8 2C000016 */ cmpwi r0, 0x16 -/* 04A34C 8004F8EC 41800008 */ blt lbl_8004F8F4 -/* 04A350 8004F8F0 48018644 */ b lbl_80067F34 -lbl_8004F8F4: -/* 04A354 8004F8F4 4800A8C8 */ b lbl_8005A1BC -lbl_8004F8F8: -/* 04A358 8004F8F8 578006BE */ clrlwi r0, r28, 0x1a -/* 04A35C 8004F8FC 2800003F */ cmplwi r0, 0x3f -/* 04A360 8004F900 418152A8 */ bgt lbl_80054BA8 -/* 04A364 8004F904 3C60800F */ lis r3, jtbl_800ED0E0@ha -/* 04A368 8004F908 3863D0E0 */ addi r3, r3, jtbl_800ED0E0@l -/* 04A36C 8004F90C 5400103A */ slwi r0, r0, 2 -/* 04A370 8004F910 7C03002E */ lwzx r0, r3, r0 -/* 04A374 8004F914 7C0903A6 */ mtctr r0 -/* 04A378 8004F918 4E800420 */ bctr -.global lbl_8004F91C -lbl_8004F91C: -/* 04A37C 8004F91C 3C9E0001 */ addis r4, r30, 1 -/* 04A380 8004F920 80642064 */ lwz r3, 0x2064(r4) -/* 04A384 8004F924 5788D6FE */ rlwinm r8, r28, 0x1a, 0x1b, 0x1f -/* 04A388 8004F928 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04A38C 8004F92C 28030000 */ cmplwi r3, 0 -/* 04A390 8004F930 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04A394 8004F934 4082000C */ bne lbl_8004F940 -/* 04A398 8004F938 38A00000 */ li r5, 0 -/* 04A39C 8004F93C 48000094 */ b lbl_8004F9D0 -lbl_8004F940: -/* 04A3A0 8004F940 80A42074 */ lwz r5, 0x2074(r4) -/* 04A3A4 8004F944 28050000 */ cmplwi r5, 0 -/* 04A3A8 8004F948 4082000C */ bne lbl_8004F954 -/* 04A3AC 8004F94C 38A00000 */ li r5, 0 -/* 04A3B0 8004F950 48000080 */ b lbl_8004F9D0 -lbl_8004F954: -/* 04A3B4 8004F954 80842078 */ lwz r4, 0x2078(r4) -/* 04A3B8 8004F958 7C002000 */ cmpw r0, r4 -/* 04A3BC 8004F95C 4182000C */ beq lbl_8004F968 -/* 04A3C0 8004F960 38A00000 */ li r5, 0 -/* 04A3C4 8004F964 4800006C */ b lbl_8004F9D0 -lbl_8004F968: -/* 04A3C8 8004F968 80DE0034 */ lwz r6, 0x34(r30) -/* 04A3CC 8004F96C 38A00000 */ li r5, 0 -/* 04A3D0 8004F970 80860008 */ lwz r4, 8(r6) -/* 04A3D4 8004F974 2C040000 */ cmpwi r4, 0 -/* 04A3D8 8004F978 7C8903A6 */ mtctr r4 -/* 04A3DC 8004F97C 40810028 */ ble lbl_8004F9A4 -lbl_8004F980: -/* 04A3E0 8004F980 8086000C */ lwz r4, 0xc(r6) -/* 04A3E4 8004F984 38E50004 */ addi r7, r5, 4 -/* 04A3E8 8004F988 7C84382E */ lwzx r4, r4, r7 -/* 04A3EC 8004F98C 7C1D2000 */ cmpw r29, r4 -/* 04A3F0 8004F990 4082000C */ bne lbl_8004F99C -/* 04A3F4 8004F994 38800000 */ li r4, 0 -/* 04A3F8 8004F998 48000010 */ b lbl_8004F9A8 -lbl_8004F99C: -/* 04A3FC 8004F99C 38A50008 */ addi r5, r5, 8 -/* 04A400 8004F9A0 4200FFE0 */ bdnz lbl_8004F980 -lbl_8004F9A4: -/* 04A404 8004F9A4 38800001 */ li r4, 1 -lbl_8004F9A8: -/* 04A408 8004F9A8 2C040000 */ cmpwi r4, 0 -/* 04A40C 8004F9AC 40820014 */ bne lbl_8004F9C0 -/* 04A410 8004F9B0 38A00000 */ li r5, 0 -/* 04A414 8004F9B4 3C9E0001 */ addis r4, r30, 1 -/* 04A418 8004F9B8 90A42074 */ stw r5, 0x2074(r4) -/* 04A41C 8004F9BC 48000014 */ b lbl_8004F9D0 -lbl_8004F9C0: -/* 04A420 8004F9C0 3C9E0001 */ addis r4, r30, 1 -/* 04A424 8004F9C4 38A00000 */ li r5, 0 -/* 04A428 8004F9C8 90A42074 */ stw r5, 0x2074(r4) -/* 04A42C 8004F9CC 38A00001 */ li r5, 1 -lbl_8004F9D0: -/* 04A430 8004F9D0 2C050000 */ cmpwi r5, 0 -/* 04A434 8004F9D4 41820038 */ beq lbl_8004FA0C -/* 04A438 8004F9D8 281F0000 */ cmplwi r31, 0 -/* 04A43C 8004F9DC 41820020 */ beq lbl_8004F9FC -/* 04A440 8004F9E0 80A10084 */ lwz r5, 0x84(r1) -/* 04A444 8004F9E4 3CC06000 */ lis r6, 0x6000 -/* 04A448 8004F9E8 38850001 */ addi r4, r5, 1 -/* 04A44C 8004F9EC 90810084 */ stw r4, 0x84(r1) -/* 04A450 8004F9F0 54A4103A */ slwi r4, r5, 2 -/* 04A454 8004F9F4 7CDF212E */ stwx r6, r31, r4 -/* 04A458 8004F9F8 48000064 */ b lbl_8004FA5C -lbl_8004F9FC: -/* 04A45C 8004F9FC 80810084 */ lwz r4, 0x84(r1) -/* 04A460 8004FA00 38840001 */ addi r4, r4, 1 -/* 04A464 8004FA04 90810084 */ stw r4, 0x84(r1) -/* 04A468 8004FA08 48000054 */ b lbl_8004FA5C -lbl_8004FA0C: -/* 04A46C 8004FA0C 281F0000 */ cmplwi r31, 0 -/* 04A470 8004FA10 41820040 */ beq lbl_8004FA50 -/* 04A474 8004FA14 54041838 */ slwi r4, r0, 3 -/* 04A478 8004FA18 80A10084 */ lwz r5, 0x84(r1) -/* 04A47C 8004FA1C 38840140 */ addi r4, r4, 0x140 -/* 04A480 8004FA20 7C9E2214 */ add r4, r30, r4 -/* 04A484 8004FA24 7C9E2050 */ subf r4, r30, r4 -/* 04A488 8004FA28 5407A814 */ slwi r7, r0, 0x15 -/* 04A48C 8004FA2C 38C40004 */ addi r6, r4, 4 -/* 04A490 8004FA30 38850001 */ addi r4, r5, 1 -/* 04A494 8004FA34 90810084 */ stw r4, 0x84(r1) -/* 04A498 8004FA38 64E4C003 */ oris r4, r7, 0xc003 -/* 04A49C 8004FA3C 54C6043E */ clrlwi r6, r6, 0x10 -/* 04A4A0 8004FA40 7C843214 */ add r4, r4, r6 -/* 04A4A4 8004FA44 54A5103A */ slwi r5, r5, 2 -/* 04A4A8 8004FA48 7C9F292E */ stwx r4, r31, r5 -/* 04A4AC 8004FA4C 48000010 */ b lbl_8004FA5C -lbl_8004FA50: -/* 04A4B0 8004FA50 80810084 */ lwz r4, 0x84(r1) -/* 04A4B4 8004FA54 38840001 */ addi r4, r4, 1 -/* 04A4B8 8004FA58 90810084 */ stw r4, 0x84(r1) -lbl_8004FA5C: -/* 04A4BC 8004FA5C 7C001800 */ cmpw r0, r3 -/* 04A4C0 8004FA60 41820138 */ beq lbl_8004FB98 -/* 04A4C4 8004FA64 3C9E0001 */ addis r4, r30, 1 -/* 04A4C8 8004FA68 80A42064 */ lwz r5, 0x2064(r4) -/* 04A4CC 8004FA6C 28050000 */ cmplwi r5, 0 -/* 04A4D0 8004FA70 4082000C */ bne lbl_8004FA7C -/* 04A4D4 8004FA74 38A00000 */ li r5, 0 -/* 04A4D8 8004FA78 48000094 */ b lbl_8004FB0C -lbl_8004FA7C: -/* 04A4DC 8004FA7C 80A42074 */ lwz r5, 0x2074(r4) -/* 04A4E0 8004FA80 28050000 */ cmplwi r5, 0 -/* 04A4E4 8004FA84 4082000C */ bne lbl_8004FA90 -/* 04A4E8 8004FA88 38A00000 */ li r5, 0 -/* 04A4EC 8004FA8C 48000080 */ b lbl_8004FB0C -lbl_8004FA90: -/* 04A4F0 8004FA90 80842078 */ lwz r4, 0x2078(r4) -/* 04A4F4 8004FA94 7C032000 */ cmpw r3, r4 -/* 04A4F8 8004FA98 4182000C */ beq lbl_8004FAA4 -/* 04A4FC 8004FA9C 38A00000 */ li r5, 0 -/* 04A500 8004FAA0 4800006C */ b lbl_8004FB0C -lbl_8004FAA4: -/* 04A504 8004FAA4 80DE0034 */ lwz r6, 0x34(r30) -/* 04A508 8004FAA8 38A00000 */ li r5, 0 -/* 04A50C 8004FAAC 80860008 */ lwz r4, 8(r6) -/* 04A510 8004FAB0 2C040000 */ cmpwi r4, 0 -/* 04A514 8004FAB4 7C8903A6 */ mtctr r4 -/* 04A518 8004FAB8 40810028 */ ble lbl_8004FAE0 -lbl_8004FABC: -/* 04A51C 8004FABC 8086000C */ lwz r4, 0xc(r6) -/* 04A520 8004FAC0 38E50004 */ addi r7, r5, 4 -/* 04A524 8004FAC4 7C84382E */ lwzx r4, r4, r7 -/* 04A528 8004FAC8 7C1D2000 */ cmpw r29, r4 -/* 04A52C 8004FACC 4082000C */ bne lbl_8004FAD8 -/* 04A530 8004FAD0 38800000 */ li r4, 0 -/* 04A534 8004FAD4 48000010 */ b lbl_8004FAE4 -lbl_8004FAD8: -/* 04A538 8004FAD8 38A50008 */ addi r5, r5, 8 -/* 04A53C 8004FADC 4200FFE0 */ bdnz lbl_8004FABC -lbl_8004FAE0: -/* 04A540 8004FAE0 38800001 */ li r4, 1 -lbl_8004FAE4: -/* 04A544 8004FAE4 2C040000 */ cmpwi r4, 0 -/* 04A548 8004FAE8 40820014 */ bne lbl_8004FAFC -/* 04A54C 8004FAEC 38A00000 */ li r5, 0 -/* 04A550 8004FAF0 3C9E0001 */ addis r4, r30, 1 -/* 04A554 8004FAF4 90A42074 */ stw r5, 0x2074(r4) -/* 04A558 8004FAF8 48000014 */ b lbl_8004FB0C -lbl_8004FAFC: -/* 04A55C 8004FAFC 3C9E0001 */ addis r4, r30, 1 -/* 04A560 8004FB00 38A00000 */ li r5, 0 -/* 04A564 8004FB04 90A42074 */ stw r5, 0x2074(r4) -/* 04A568 8004FB08 38A00001 */ li r5, 1 -lbl_8004FB0C: -/* 04A56C 8004FB0C 2C050000 */ cmpwi r5, 0 -/* 04A570 8004FB10 41820038 */ beq lbl_8004FB48 -/* 04A574 8004FB14 281F0000 */ cmplwi r31, 0 -/* 04A578 8004FB18 41820020 */ beq lbl_8004FB38 -/* 04A57C 8004FB1C 80A10084 */ lwz r5, 0x84(r1) -/* 04A580 8004FB20 3CC06000 */ lis r6, 0x6000 -/* 04A584 8004FB24 38850001 */ addi r4, r5, 1 -/* 04A588 8004FB28 90810084 */ stw r4, 0x84(r1) -/* 04A58C 8004FB2C 54A4103A */ slwi r4, r5, 2 -/* 04A590 8004FB30 7CDF212E */ stwx r6, r31, r4 -/* 04A594 8004FB34 48000064 */ b lbl_8004FB98 -lbl_8004FB38: -/* 04A598 8004FB38 80810084 */ lwz r4, 0x84(r1) -/* 04A59C 8004FB3C 38840001 */ addi r4, r4, 1 -/* 04A5A0 8004FB40 90810084 */ stw r4, 0x84(r1) -/* 04A5A4 8004FB44 48000054 */ b lbl_8004FB98 -lbl_8004FB48: -/* 04A5A8 8004FB48 281F0000 */ cmplwi r31, 0 -/* 04A5AC 8004FB4C 41820040 */ beq lbl_8004FB8C -/* 04A5B0 8004FB50 54641838 */ slwi r4, r3, 3 -/* 04A5B4 8004FB54 80A10084 */ lwz r5, 0x84(r1) -/* 04A5B8 8004FB58 38840140 */ addi r4, r4, 0x140 -/* 04A5BC 8004FB5C 7C9E2214 */ add r4, r30, r4 -/* 04A5C0 8004FB60 7C9E2050 */ subf r4, r30, r4 -/* 04A5C4 8004FB64 5467A814 */ slwi r7, r3, 0x15 -/* 04A5C8 8004FB68 38C40004 */ addi r6, r4, 4 -/* 04A5CC 8004FB6C 38850001 */ addi r4, r5, 1 -/* 04A5D0 8004FB70 90810084 */ stw r4, 0x84(r1) -/* 04A5D4 8004FB74 64E4C003 */ oris r4, r7, 0xc003 -/* 04A5D8 8004FB78 54C6043E */ clrlwi r6, r6, 0x10 -/* 04A5DC 8004FB7C 7C843214 */ add r4, r4, r6 -/* 04A5E0 8004FB80 54A5103A */ slwi r5, r5, 2 -/* 04A5E4 8004FB84 7C9F292E */ stwx r4, r31, r5 -/* 04A5E8 8004FB88 48000010 */ b lbl_8004FB98 -lbl_8004FB8C: -/* 04A5EC 8004FB8C 80810084 */ lwz r4, 0x84(r1) -/* 04A5F0 8004FB90 38840001 */ addi r4, r4, 1 -/* 04A5F4 8004FB94 90810084 */ stw r4, 0x84(r1) -lbl_8004FB98: -/* 04A5F8 8004FB98 281F0000 */ cmplwi r31, 0 -/* 04A5FC 8004FB9C 41820038 */ beq lbl_8004FBD4 -/* 04A600 8004FBA0 80A10084 */ lwz r5, 0x84(r1) -/* 04A604 8004FBA4 5504A814 */ slwi r4, r8, 0x15 -/* 04A608 8004FBA8 6486EC00 */ oris r6, r4, 0xec00 -/* 04A60C 8004FBAC 38850001 */ addi r4, r5, 1 -/* 04A610 8004FBB0 60C6002A */ ori r6, r6, 0x2a -/* 04A614 8004FBB4 90810084 */ stw r4, 0x84(r1) -/* 04A618 8004FBB8 5400801E */ slwi r0, r0, 0x10 -/* 04A61C 8004FBBC 54635828 */ slwi r3, r3, 0xb -/* 04A620 8004FBC0 7CC00378 */ or r0, r6, r0 -/* 04A624 8004FBC4 7C600378 */ or r0, r3, r0 -/* 04A628 8004FBC8 54A3103A */ slwi r3, r5, 2 -/* 04A62C 8004FBCC 7C1F192E */ stwx r0, r31, r3 -/* 04A630 8004FBD0 48000010 */ b lbl_8004FBE0 -lbl_8004FBD4: -/* 04A634 8004FBD4 80610084 */ lwz r3, 0x84(r1) -/* 04A638 8004FBD8 38030001 */ addi r0, r3, 1 -/* 04A63C 8004FBDC 90010084 */ stw r0, 0x84(r1) -lbl_8004FBE0: -/* 04A640 8004FBE0 281F0000 */ cmplwi r31, 0 -/* 04A644 8004FBE4 41820040 */ beq lbl_8004FC24 -/* 04A648 8004FBE8 55031838 */ slwi r3, r8, 3 -/* 04A64C 8004FBEC 80810084 */ lwz r4, 0x84(r1) -/* 04A650 8004FBF0 38030140 */ addi r0, r3, 0x140 -/* 04A654 8004FBF4 7C1E0214 */ add r0, r30, r0 -/* 04A658 8004FBF8 7C7E0050 */ subf r3, r30, r0 -/* 04A65C 8004FBFC 5500A814 */ slwi r0, r8, 0x15 -/* 04A660 8004FC00 38A30004 */ addi r5, r3, 4 -/* 04A664 8004FC04 38640001 */ addi r3, r4, 1 -/* 04A668 8004FC08 90610084 */ stw r3, 0x84(r1) -/* 04A66C 8004FC0C 6400D003 */ oris r0, r0, 0xd003 -/* 04A670 8004FC10 54A3043E */ clrlwi r3, r5, 0x10 -/* 04A674 8004FC14 7C001A14 */ add r0, r0, r3 -/* 04A678 8004FC18 5483103A */ slwi r3, r4, 2 -/* 04A67C 8004FC1C 7C1F192E */ stwx r0, r31, r3 -/* 04A680 8004FC20 48000010 */ b lbl_8004FC30 -lbl_8004FC24: -/* 04A684 8004FC24 80610084 */ lwz r3, 0x84(r1) -/* 04A688 8004FC28 38030001 */ addi r0, r3, 1 -/* 04A68C 8004FC2C 90010084 */ stw r0, 0x84(r1) -lbl_8004FC30: -/* 04A690 8004FC30 3C7E0001 */ addis r3, r30, 1 -/* 04A694 8004FC34 38000002 */ li r0, 2 -/* 04A698 8004FC38 90032074 */ stw r0, 0x2074(r3) -/* 04A69C 8004FC3C 91032078 */ stw r8, 0x2078(r3) -/* 04A6A0 8004FC40 480182F4 */ b lbl_80067F34 -.global lbl_8004FC44 -lbl_8004FC44: -/* 04A6A4 8004FC44 3C9E0001 */ addis r4, r30, 1 -/* 04A6A8 8004FC48 80642064 */ lwz r3, 0x2064(r4) -/* 04A6AC 8004FC4C 5788D6FE */ rlwinm r8, r28, 0x1a, 0x1b, 0x1f -/* 04A6B0 8004FC50 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04A6B4 8004FC54 28030000 */ cmplwi r3, 0 -/* 04A6B8 8004FC58 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04A6BC 8004FC5C 4082000C */ bne lbl_8004FC68 -/* 04A6C0 8004FC60 38A00000 */ li r5, 0 -/* 04A6C4 8004FC64 48000094 */ b lbl_8004FCF8 -lbl_8004FC68: -/* 04A6C8 8004FC68 80A42074 */ lwz r5, 0x2074(r4) -/* 04A6CC 8004FC6C 28050000 */ cmplwi r5, 0 -/* 04A6D0 8004FC70 4082000C */ bne lbl_8004FC7C -/* 04A6D4 8004FC74 38A00000 */ li r5, 0 -/* 04A6D8 8004FC78 48000080 */ b lbl_8004FCF8 -lbl_8004FC7C: -/* 04A6DC 8004FC7C 80842078 */ lwz r4, 0x2078(r4) -/* 04A6E0 8004FC80 7C002000 */ cmpw r0, r4 -/* 04A6E4 8004FC84 4182000C */ beq lbl_8004FC90 -/* 04A6E8 8004FC88 38A00000 */ li r5, 0 -/* 04A6EC 8004FC8C 4800006C */ b lbl_8004FCF8 -lbl_8004FC90: -/* 04A6F0 8004FC90 80DE0034 */ lwz r6, 0x34(r30) -/* 04A6F4 8004FC94 38A00000 */ li r5, 0 -/* 04A6F8 8004FC98 80860008 */ lwz r4, 8(r6) -/* 04A6FC 8004FC9C 2C040000 */ cmpwi r4, 0 -/* 04A700 8004FCA0 7C8903A6 */ mtctr r4 -/* 04A704 8004FCA4 40810028 */ ble lbl_8004FCCC -lbl_8004FCA8: -/* 04A708 8004FCA8 8086000C */ lwz r4, 0xc(r6) -/* 04A70C 8004FCAC 38E50004 */ addi r7, r5, 4 -/* 04A710 8004FCB0 7C84382E */ lwzx r4, r4, r7 -/* 04A714 8004FCB4 7C1D2000 */ cmpw r29, r4 -/* 04A718 8004FCB8 4082000C */ bne lbl_8004FCC4 -/* 04A71C 8004FCBC 38800000 */ li r4, 0 -/* 04A720 8004FCC0 48000010 */ b lbl_8004FCD0 -lbl_8004FCC4: -/* 04A724 8004FCC4 38A50008 */ addi r5, r5, 8 -/* 04A728 8004FCC8 4200FFE0 */ bdnz lbl_8004FCA8 -lbl_8004FCCC: -/* 04A72C 8004FCCC 38800001 */ li r4, 1 -lbl_8004FCD0: -/* 04A730 8004FCD0 2C040000 */ cmpwi r4, 0 -/* 04A734 8004FCD4 40820014 */ bne lbl_8004FCE8 -/* 04A738 8004FCD8 38A00000 */ li r5, 0 -/* 04A73C 8004FCDC 3C9E0001 */ addis r4, r30, 1 -/* 04A740 8004FCE0 90A42074 */ stw r5, 0x2074(r4) -/* 04A744 8004FCE4 48000014 */ b lbl_8004FCF8 -lbl_8004FCE8: -/* 04A748 8004FCE8 3C9E0001 */ addis r4, r30, 1 -/* 04A74C 8004FCEC 38A00000 */ li r5, 0 -/* 04A750 8004FCF0 90A42074 */ stw r5, 0x2074(r4) -/* 04A754 8004FCF4 38A00001 */ li r5, 1 -lbl_8004FCF8: -/* 04A758 8004FCF8 2C050000 */ cmpwi r5, 0 -/* 04A75C 8004FCFC 41820038 */ beq lbl_8004FD34 -/* 04A760 8004FD00 281F0000 */ cmplwi r31, 0 -/* 04A764 8004FD04 41820020 */ beq lbl_8004FD24 -/* 04A768 8004FD08 80A10084 */ lwz r5, 0x84(r1) -/* 04A76C 8004FD0C 3CC06000 */ lis r6, 0x6000 -/* 04A770 8004FD10 38850001 */ addi r4, r5, 1 -/* 04A774 8004FD14 90810084 */ stw r4, 0x84(r1) -/* 04A778 8004FD18 54A4103A */ slwi r4, r5, 2 -/* 04A77C 8004FD1C 7CDF212E */ stwx r6, r31, r4 -/* 04A780 8004FD20 48000064 */ b lbl_8004FD84 -lbl_8004FD24: -/* 04A784 8004FD24 80810084 */ lwz r4, 0x84(r1) -/* 04A788 8004FD28 38840001 */ addi r4, r4, 1 -/* 04A78C 8004FD2C 90810084 */ stw r4, 0x84(r1) -/* 04A790 8004FD30 48000054 */ b lbl_8004FD84 -lbl_8004FD34: -/* 04A794 8004FD34 281F0000 */ cmplwi r31, 0 -/* 04A798 8004FD38 41820040 */ beq lbl_8004FD78 -/* 04A79C 8004FD3C 54041838 */ slwi r4, r0, 3 -/* 04A7A0 8004FD40 80A10084 */ lwz r5, 0x84(r1) -/* 04A7A4 8004FD44 38840140 */ addi r4, r4, 0x140 -/* 04A7A8 8004FD48 7C9E2214 */ add r4, r30, r4 -/* 04A7AC 8004FD4C 7C9E2050 */ subf r4, r30, r4 -/* 04A7B0 8004FD50 5407A814 */ slwi r7, r0, 0x15 -/* 04A7B4 8004FD54 38C40004 */ addi r6, r4, 4 -/* 04A7B8 8004FD58 38850001 */ addi r4, r5, 1 -/* 04A7BC 8004FD5C 90810084 */ stw r4, 0x84(r1) -/* 04A7C0 8004FD60 64E4C003 */ oris r4, r7, 0xc003 -/* 04A7C4 8004FD64 54C6043E */ clrlwi r6, r6, 0x10 -/* 04A7C8 8004FD68 7C843214 */ add r4, r4, r6 -/* 04A7CC 8004FD6C 54A5103A */ slwi r5, r5, 2 -/* 04A7D0 8004FD70 7C9F292E */ stwx r4, r31, r5 -/* 04A7D4 8004FD74 48000010 */ b lbl_8004FD84 -lbl_8004FD78: -/* 04A7D8 8004FD78 80810084 */ lwz r4, 0x84(r1) -/* 04A7DC 8004FD7C 38840001 */ addi r4, r4, 1 -/* 04A7E0 8004FD80 90810084 */ stw r4, 0x84(r1) -lbl_8004FD84: -/* 04A7E4 8004FD84 3C9E0001 */ addis r4, r30, 1 -/* 04A7E8 8004FD88 80A42064 */ lwz r5, 0x2064(r4) -/* 04A7EC 8004FD8C 28050000 */ cmplwi r5, 0 -/* 04A7F0 8004FD90 4082000C */ bne lbl_8004FD9C -/* 04A7F4 8004FD94 38A00000 */ li r5, 0 -/* 04A7F8 8004FD98 48000094 */ b lbl_8004FE2C -lbl_8004FD9C: -/* 04A7FC 8004FD9C 80A42074 */ lwz r5, 0x2074(r4) -/* 04A800 8004FDA0 28050000 */ cmplwi r5, 0 -/* 04A804 8004FDA4 4082000C */ bne lbl_8004FDB0 -/* 04A808 8004FDA8 38A00000 */ li r5, 0 -/* 04A80C 8004FDAC 48000080 */ b lbl_8004FE2C -lbl_8004FDB0: -/* 04A810 8004FDB0 80842078 */ lwz r4, 0x2078(r4) -/* 04A814 8004FDB4 7C032000 */ cmpw r3, r4 -/* 04A818 8004FDB8 4182000C */ beq lbl_8004FDC4 -/* 04A81C 8004FDBC 38A00000 */ li r5, 0 -/* 04A820 8004FDC0 4800006C */ b lbl_8004FE2C -lbl_8004FDC4: -/* 04A824 8004FDC4 80DE0034 */ lwz r6, 0x34(r30) -/* 04A828 8004FDC8 38A00000 */ li r5, 0 -/* 04A82C 8004FDCC 80860008 */ lwz r4, 8(r6) -/* 04A830 8004FDD0 2C040000 */ cmpwi r4, 0 -/* 04A834 8004FDD4 7C8903A6 */ mtctr r4 -/* 04A838 8004FDD8 40810028 */ ble lbl_8004FE00 -lbl_8004FDDC: -/* 04A83C 8004FDDC 8086000C */ lwz r4, 0xc(r6) -/* 04A840 8004FDE0 38E50004 */ addi r7, r5, 4 -/* 04A844 8004FDE4 7C84382E */ lwzx r4, r4, r7 -/* 04A848 8004FDE8 7C1D2000 */ cmpw r29, r4 -/* 04A84C 8004FDEC 4082000C */ bne lbl_8004FDF8 -/* 04A850 8004FDF0 38800000 */ li r4, 0 -/* 04A854 8004FDF4 48000010 */ b lbl_8004FE04 -lbl_8004FDF8: -/* 04A858 8004FDF8 38A50008 */ addi r5, r5, 8 -/* 04A85C 8004FDFC 4200FFE0 */ bdnz lbl_8004FDDC -lbl_8004FE00: -/* 04A860 8004FE00 38800001 */ li r4, 1 -lbl_8004FE04: -/* 04A864 8004FE04 2C040000 */ cmpwi r4, 0 -/* 04A868 8004FE08 40820014 */ bne lbl_8004FE1C -/* 04A86C 8004FE0C 38A00000 */ li r5, 0 -/* 04A870 8004FE10 3C9E0001 */ addis r4, r30, 1 -/* 04A874 8004FE14 90A42074 */ stw r5, 0x2074(r4) -/* 04A878 8004FE18 48000014 */ b lbl_8004FE2C -lbl_8004FE1C: -/* 04A87C 8004FE1C 3C9E0001 */ addis r4, r30, 1 -/* 04A880 8004FE20 38A00000 */ li r5, 0 -/* 04A884 8004FE24 90A42074 */ stw r5, 0x2074(r4) -/* 04A888 8004FE28 38A00001 */ li r5, 1 -lbl_8004FE2C: -/* 04A88C 8004FE2C 2C050000 */ cmpwi r5, 0 -/* 04A890 8004FE30 41820038 */ beq lbl_8004FE68 -/* 04A894 8004FE34 281F0000 */ cmplwi r31, 0 -/* 04A898 8004FE38 41820020 */ beq lbl_8004FE58 -/* 04A89C 8004FE3C 80A10084 */ lwz r5, 0x84(r1) -/* 04A8A0 8004FE40 3CC06000 */ lis r6, 0x6000 -/* 04A8A4 8004FE44 38850001 */ addi r4, r5, 1 -/* 04A8A8 8004FE48 90810084 */ stw r4, 0x84(r1) -/* 04A8AC 8004FE4C 54A4103A */ slwi r4, r5, 2 -/* 04A8B0 8004FE50 7CDF212E */ stwx r6, r31, r4 -/* 04A8B4 8004FE54 48000064 */ b lbl_8004FEB8 -lbl_8004FE58: -/* 04A8B8 8004FE58 80810084 */ lwz r4, 0x84(r1) -/* 04A8BC 8004FE5C 38840001 */ addi r4, r4, 1 -/* 04A8C0 8004FE60 90810084 */ stw r4, 0x84(r1) -/* 04A8C4 8004FE64 48000054 */ b lbl_8004FEB8 -lbl_8004FE68: -/* 04A8C8 8004FE68 281F0000 */ cmplwi r31, 0 -/* 04A8CC 8004FE6C 41820040 */ beq lbl_8004FEAC -/* 04A8D0 8004FE70 54641838 */ slwi r4, r3, 3 -/* 04A8D4 8004FE74 80A10084 */ lwz r5, 0x84(r1) -/* 04A8D8 8004FE78 38840140 */ addi r4, r4, 0x140 -/* 04A8DC 8004FE7C 7C9E2214 */ add r4, r30, r4 -/* 04A8E0 8004FE80 7C9E2050 */ subf r4, r30, r4 -/* 04A8E4 8004FE84 5467A814 */ slwi r7, r3, 0x15 -/* 04A8E8 8004FE88 38C40004 */ addi r6, r4, 4 -/* 04A8EC 8004FE8C 38850001 */ addi r4, r5, 1 -/* 04A8F0 8004FE90 90810084 */ stw r4, 0x84(r1) -/* 04A8F4 8004FE94 64E4C003 */ oris r4, r7, 0xc003 -/* 04A8F8 8004FE98 54C6043E */ clrlwi r6, r6, 0x10 -/* 04A8FC 8004FE9C 7C843214 */ add r4, r4, r6 -/* 04A900 8004FEA0 54A5103A */ slwi r5, r5, 2 -/* 04A904 8004FEA4 7C9F292E */ stwx r4, r31, r5 -/* 04A908 8004FEA8 48000010 */ b lbl_8004FEB8 -lbl_8004FEAC: -/* 04A90C 8004FEAC 80810084 */ lwz r4, 0x84(r1) -/* 04A910 8004FEB0 38840001 */ addi r4, r4, 1 -/* 04A914 8004FEB4 90810084 */ stw r4, 0x84(r1) -lbl_8004FEB8: -/* 04A918 8004FEB8 281F0000 */ cmplwi r31, 0 -/* 04A91C 8004FEBC 41820038 */ beq lbl_8004FEF4 -/* 04A920 8004FEC0 80A10084 */ lwz r5, 0x84(r1) -/* 04A924 8004FEC4 5504A814 */ slwi r4, r8, 0x15 -/* 04A928 8004FEC8 6486EC00 */ oris r6, r4, 0xec00 -/* 04A92C 8004FECC 38850001 */ addi r4, r5, 1 -/* 04A930 8004FED0 60C60028 */ ori r6, r6, 0x28 -/* 04A934 8004FED4 90810084 */ stw r4, 0x84(r1) -/* 04A938 8004FED8 5400801E */ slwi r0, r0, 0x10 -/* 04A93C 8004FEDC 54635828 */ slwi r3, r3, 0xb -/* 04A940 8004FEE0 7CC00378 */ or r0, r6, r0 -/* 04A944 8004FEE4 7C600378 */ or r0, r3, r0 -/* 04A948 8004FEE8 54A3103A */ slwi r3, r5, 2 -/* 04A94C 8004FEEC 7C1F192E */ stwx r0, r31, r3 -/* 04A950 8004FEF0 48000010 */ b lbl_8004FF00 -lbl_8004FEF4: -/* 04A954 8004FEF4 80610084 */ lwz r3, 0x84(r1) -/* 04A958 8004FEF8 38030001 */ addi r0, r3, 1 -/* 04A95C 8004FEFC 90010084 */ stw r0, 0x84(r1) -lbl_8004FF00: -/* 04A960 8004FF00 281F0000 */ cmplwi r31, 0 -/* 04A964 8004FF04 41820040 */ beq lbl_8004FF44 -/* 04A968 8004FF08 55031838 */ slwi r3, r8, 3 -/* 04A96C 8004FF0C 80810084 */ lwz r4, 0x84(r1) -/* 04A970 8004FF10 38030140 */ addi r0, r3, 0x140 -/* 04A974 8004FF14 7C1E0214 */ add r0, r30, r0 -/* 04A978 8004FF18 7C7E0050 */ subf r3, r30, r0 -/* 04A97C 8004FF1C 5500A814 */ slwi r0, r8, 0x15 -/* 04A980 8004FF20 38A30004 */ addi r5, r3, 4 -/* 04A984 8004FF24 38640001 */ addi r3, r4, 1 -/* 04A988 8004FF28 90610084 */ stw r3, 0x84(r1) -/* 04A98C 8004FF2C 6400D003 */ oris r0, r0, 0xd003 -/* 04A990 8004FF30 54A3043E */ clrlwi r3, r5, 0x10 -/* 04A994 8004FF34 7C001A14 */ add r0, r0, r3 -/* 04A998 8004FF38 5483103A */ slwi r3, r4, 2 -/* 04A99C 8004FF3C 7C1F192E */ stwx r0, r31, r3 -/* 04A9A0 8004FF40 48000010 */ b lbl_8004FF50 -lbl_8004FF44: -/* 04A9A4 8004FF44 80610084 */ lwz r3, 0x84(r1) -/* 04A9A8 8004FF48 38030001 */ addi r0, r3, 1 -/* 04A9AC 8004FF4C 90010084 */ stw r0, 0x84(r1) -lbl_8004FF50: -/* 04A9B0 8004FF50 3C7E0001 */ addis r3, r30, 1 -/* 04A9B4 8004FF54 38000002 */ li r0, 2 -/* 04A9B8 8004FF58 90032074 */ stw r0, 0x2074(r3) -/* 04A9BC 8004FF5C 91032078 */ stw r8, 0x2078(r3) -/* 04A9C0 8004FF60 48017FD4 */ b lbl_80067F34 -.global lbl_8004FF64 -lbl_8004FF64: -/* 04A9C4 8004FF64 3C9E0001 */ addis r4, r30, 1 -/* 04A9C8 8004FF68 80642064 */ lwz r3, 0x2064(r4) -/* 04A9CC 8004FF6C 5788D6FE */ rlwinm r8, r28, 0x1a, 0x1b, 0x1f -/* 04A9D0 8004FF70 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04A9D4 8004FF74 28030000 */ cmplwi r3, 0 -/* 04A9D8 8004FF78 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04A9DC 8004FF7C 4082000C */ bne lbl_8004FF88 -/* 04A9E0 8004FF80 38A00000 */ li r5, 0 -/* 04A9E4 8004FF84 48000094 */ b lbl_80050018 -lbl_8004FF88: -/* 04A9E8 8004FF88 80A42074 */ lwz r5, 0x2074(r4) -/* 04A9EC 8004FF8C 28050000 */ cmplwi r5, 0 -/* 04A9F0 8004FF90 4082000C */ bne lbl_8004FF9C -/* 04A9F4 8004FF94 38A00000 */ li r5, 0 -/* 04A9F8 8004FF98 48000080 */ b lbl_80050018 -lbl_8004FF9C: -/* 04A9FC 8004FF9C 80842078 */ lwz r4, 0x2078(r4) -/* 04AA00 8004FFA0 7C002000 */ cmpw r0, r4 -/* 04AA04 8004FFA4 4182000C */ beq lbl_8004FFB0 -/* 04AA08 8004FFA8 38A00000 */ li r5, 0 -/* 04AA0C 8004FFAC 4800006C */ b lbl_80050018 -lbl_8004FFB0: -/* 04AA10 8004FFB0 80DE0034 */ lwz r6, 0x34(r30) -/* 04AA14 8004FFB4 38A00000 */ li r5, 0 -/* 04AA18 8004FFB8 80860008 */ lwz r4, 8(r6) -/* 04AA1C 8004FFBC 2C040000 */ cmpwi r4, 0 -/* 04AA20 8004FFC0 7C8903A6 */ mtctr r4 -/* 04AA24 8004FFC4 40810028 */ ble lbl_8004FFEC -lbl_8004FFC8: -/* 04AA28 8004FFC8 8086000C */ lwz r4, 0xc(r6) -/* 04AA2C 8004FFCC 38E50004 */ addi r7, r5, 4 -/* 04AA30 8004FFD0 7C84382E */ lwzx r4, r4, r7 -/* 04AA34 8004FFD4 7C1D2000 */ cmpw r29, r4 -/* 04AA38 8004FFD8 4082000C */ bne lbl_8004FFE4 -/* 04AA3C 8004FFDC 38800000 */ li r4, 0 -/* 04AA40 8004FFE0 48000010 */ b lbl_8004FFF0 -lbl_8004FFE4: -/* 04AA44 8004FFE4 38A50008 */ addi r5, r5, 8 -/* 04AA48 8004FFE8 4200FFE0 */ bdnz lbl_8004FFC8 -lbl_8004FFEC: -/* 04AA4C 8004FFEC 38800001 */ li r4, 1 -lbl_8004FFF0: -/* 04AA50 8004FFF0 2C040000 */ cmpwi r4, 0 -/* 04AA54 8004FFF4 40820014 */ bne lbl_80050008 -/* 04AA58 8004FFF8 38A00000 */ li r5, 0 -/* 04AA5C 8004FFFC 3C9E0001 */ addis r4, r30, 1 -/* 04AA60 80050000 90A42074 */ stw r5, 0x2074(r4) -/* 04AA64 80050004 48000014 */ b lbl_80050018 -lbl_80050008: -/* 04AA68 80050008 3C9E0001 */ addis r4, r30, 1 -/* 04AA6C 8005000C 38A00000 */ li r5, 0 -/* 04AA70 80050010 90A42074 */ stw r5, 0x2074(r4) -/* 04AA74 80050014 38A00001 */ li r5, 1 -lbl_80050018: -/* 04AA78 80050018 2C050000 */ cmpwi r5, 0 -/* 04AA7C 8005001C 41820038 */ beq lbl_80050054 -/* 04AA80 80050020 281F0000 */ cmplwi r31, 0 -/* 04AA84 80050024 41820020 */ beq lbl_80050044 -/* 04AA88 80050028 80A10084 */ lwz r5, 0x84(r1) -/* 04AA8C 8005002C 3CC06000 */ lis r6, 0x6000 -/* 04AA90 80050030 38850001 */ addi r4, r5, 1 -/* 04AA94 80050034 90810084 */ stw r4, 0x84(r1) -/* 04AA98 80050038 54A4103A */ slwi r4, r5, 2 -/* 04AA9C 8005003C 7CDF212E */ stwx r6, r31, r4 -/* 04AAA0 80050040 48000064 */ b lbl_800500A4 -lbl_80050044: -/* 04AAA4 80050044 80810084 */ lwz r4, 0x84(r1) -/* 04AAA8 80050048 38840001 */ addi r4, r4, 1 -/* 04AAAC 8005004C 90810084 */ stw r4, 0x84(r1) -/* 04AAB0 80050050 48000054 */ b lbl_800500A4 -lbl_80050054: -/* 04AAB4 80050054 281F0000 */ cmplwi r31, 0 -/* 04AAB8 80050058 41820040 */ beq lbl_80050098 -/* 04AABC 8005005C 54041838 */ slwi r4, r0, 3 -/* 04AAC0 80050060 80A10084 */ lwz r5, 0x84(r1) -/* 04AAC4 80050064 38840140 */ addi r4, r4, 0x140 -/* 04AAC8 80050068 7C9E2214 */ add r4, r30, r4 -/* 04AACC 8005006C 7C9E2050 */ subf r4, r30, r4 -/* 04AAD0 80050070 5407A814 */ slwi r7, r0, 0x15 -/* 04AAD4 80050074 38C40004 */ addi r6, r4, 4 -/* 04AAD8 80050078 38850001 */ addi r4, r5, 1 -/* 04AADC 8005007C 90810084 */ stw r4, 0x84(r1) -/* 04AAE0 80050080 64E4C003 */ oris r4, r7, 0xc003 -/* 04AAE4 80050084 54C6043E */ clrlwi r6, r6, 0x10 -/* 04AAE8 80050088 7C843214 */ add r4, r4, r6 -/* 04AAEC 8005008C 54A5103A */ slwi r5, r5, 2 -/* 04AAF0 80050090 7C9F292E */ stwx r4, r31, r5 -/* 04AAF4 80050094 48000010 */ b lbl_800500A4 -lbl_80050098: -/* 04AAF8 80050098 80810084 */ lwz r4, 0x84(r1) -/* 04AAFC 8005009C 38840001 */ addi r4, r4, 1 -/* 04AB00 800500A0 90810084 */ stw r4, 0x84(r1) -lbl_800500A4: -/* 04AB04 800500A4 7C001800 */ cmpw r0, r3 -/* 04AB08 800500A8 41820138 */ beq lbl_800501E0 -/* 04AB0C 800500AC 3C9E0001 */ addis r4, r30, 1 -/* 04AB10 800500B0 80A42064 */ lwz r5, 0x2064(r4) -/* 04AB14 800500B4 28050000 */ cmplwi r5, 0 -/* 04AB18 800500B8 4082000C */ bne lbl_800500C4 -/* 04AB1C 800500BC 38A00000 */ li r5, 0 -/* 04AB20 800500C0 48000094 */ b lbl_80050154 -lbl_800500C4: -/* 04AB24 800500C4 80A42074 */ lwz r5, 0x2074(r4) -/* 04AB28 800500C8 28050000 */ cmplwi r5, 0 -/* 04AB2C 800500CC 4082000C */ bne lbl_800500D8 -/* 04AB30 800500D0 38A00000 */ li r5, 0 -/* 04AB34 800500D4 48000080 */ b lbl_80050154 -lbl_800500D8: -/* 04AB38 800500D8 80842078 */ lwz r4, 0x2078(r4) -/* 04AB3C 800500DC 7C032000 */ cmpw r3, r4 -/* 04AB40 800500E0 4182000C */ beq lbl_800500EC -/* 04AB44 800500E4 38A00000 */ li r5, 0 -/* 04AB48 800500E8 4800006C */ b lbl_80050154 -lbl_800500EC: -/* 04AB4C 800500EC 80DE0034 */ lwz r6, 0x34(r30) -/* 04AB50 800500F0 38A00000 */ li r5, 0 -/* 04AB54 800500F4 80860008 */ lwz r4, 8(r6) -/* 04AB58 800500F8 2C040000 */ cmpwi r4, 0 -/* 04AB5C 800500FC 7C8903A6 */ mtctr r4 -/* 04AB60 80050100 40810028 */ ble lbl_80050128 -lbl_80050104: -/* 04AB64 80050104 8086000C */ lwz r4, 0xc(r6) -/* 04AB68 80050108 38E50004 */ addi r7, r5, 4 -/* 04AB6C 8005010C 7C84382E */ lwzx r4, r4, r7 -/* 04AB70 80050110 7C1D2000 */ cmpw r29, r4 -/* 04AB74 80050114 4082000C */ bne lbl_80050120 -/* 04AB78 80050118 38800000 */ li r4, 0 -/* 04AB7C 8005011C 48000010 */ b lbl_8005012C -lbl_80050120: -/* 04AB80 80050120 38A50008 */ addi r5, r5, 8 -/* 04AB84 80050124 4200FFE0 */ bdnz lbl_80050104 -lbl_80050128: -/* 04AB88 80050128 38800001 */ li r4, 1 -lbl_8005012C: -/* 04AB8C 8005012C 2C040000 */ cmpwi r4, 0 -/* 04AB90 80050130 40820014 */ bne lbl_80050144 -/* 04AB94 80050134 38A00000 */ li r5, 0 -/* 04AB98 80050138 3C9E0001 */ addis r4, r30, 1 -/* 04AB9C 8005013C 90A42074 */ stw r5, 0x2074(r4) -/* 04ABA0 80050140 48000014 */ b lbl_80050154 -lbl_80050144: -/* 04ABA4 80050144 3C9E0001 */ addis r4, r30, 1 -/* 04ABA8 80050148 38A00000 */ li r5, 0 -/* 04ABAC 8005014C 90A42074 */ stw r5, 0x2074(r4) -/* 04ABB0 80050150 38A00001 */ li r5, 1 -lbl_80050154: -/* 04ABB4 80050154 2C050000 */ cmpwi r5, 0 -/* 04ABB8 80050158 41820038 */ beq lbl_80050190 -/* 04ABBC 8005015C 281F0000 */ cmplwi r31, 0 -/* 04ABC0 80050160 41820020 */ beq lbl_80050180 -/* 04ABC4 80050164 80A10084 */ lwz r5, 0x84(r1) -/* 04ABC8 80050168 3CC06000 */ lis r6, 0x6000 -/* 04ABCC 8005016C 38850001 */ addi r4, r5, 1 -/* 04ABD0 80050170 90810084 */ stw r4, 0x84(r1) -/* 04ABD4 80050174 54A4103A */ slwi r4, r5, 2 -/* 04ABD8 80050178 7CDF212E */ stwx r6, r31, r4 -/* 04ABDC 8005017C 48000064 */ b lbl_800501E0 -lbl_80050180: -/* 04ABE0 80050180 80810084 */ lwz r4, 0x84(r1) -/* 04ABE4 80050184 38840001 */ addi r4, r4, 1 -/* 04ABE8 80050188 90810084 */ stw r4, 0x84(r1) -/* 04ABEC 8005018C 48000054 */ b lbl_800501E0 -lbl_80050190: -/* 04ABF0 80050190 281F0000 */ cmplwi r31, 0 -/* 04ABF4 80050194 41820040 */ beq lbl_800501D4 -/* 04ABF8 80050198 54641838 */ slwi r4, r3, 3 -/* 04ABFC 8005019C 80A10084 */ lwz r5, 0x84(r1) -/* 04AC00 800501A0 38840140 */ addi r4, r4, 0x140 -/* 04AC04 800501A4 7C9E2214 */ add r4, r30, r4 -/* 04AC08 800501A8 7C9E2050 */ subf r4, r30, r4 -/* 04AC0C 800501AC 5467A814 */ slwi r7, r3, 0x15 -/* 04AC10 800501B0 38C40004 */ addi r6, r4, 4 -/* 04AC14 800501B4 38850001 */ addi r4, r5, 1 -/* 04AC18 800501B8 90810084 */ stw r4, 0x84(r1) -/* 04AC1C 800501BC 64E4C003 */ oris r4, r7, 0xc003 -/* 04AC20 800501C0 54C6043E */ clrlwi r6, r6, 0x10 -/* 04AC24 800501C4 7C843214 */ add r4, r4, r6 -/* 04AC28 800501C8 54A5103A */ slwi r5, r5, 2 -/* 04AC2C 800501CC 7C9F292E */ stwx r4, r31, r5 -/* 04AC30 800501D0 48000010 */ b lbl_800501E0 -lbl_800501D4: -/* 04AC34 800501D4 80810084 */ lwz r4, 0x84(r1) -/* 04AC38 800501D8 38840001 */ addi r4, r4, 1 -/* 04AC3C 800501DC 90810084 */ stw r4, 0x84(r1) -lbl_800501E0: -/* 04AC40 800501E0 281F0000 */ cmplwi r31, 0 -/* 04AC44 800501E4 41820038 */ beq lbl_8005021C -/* 04AC48 800501E8 80A10084 */ lwz r5, 0x84(r1) -/* 04AC4C 800501EC 5504A814 */ slwi r4, r8, 0x15 -/* 04AC50 800501F0 6486EC00 */ oris r6, r4, 0xec00 -/* 04AC54 800501F4 38850001 */ addi r4, r5, 1 -/* 04AC58 800501F8 60C60032 */ ori r6, r6, 0x32 -/* 04AC5C 800501FC 90810084 */ stw r4, 0x84(r1) -/* 04AC60 80050200 5400801E */ slwi r0, r0, 0x10 -/* 04AC64 80050204 54633032 */ slwi r3, r3, 6 -/* 04AC68 80050208 7CC00378 */ or r0, r6, r0 -/* 04AC6C 8005020C 7C600378 */ or r0, r3, r0 -/* 04AC70 80050210 54A3103A */ slwi r3, r5, 2 -/* 04AC74 80050214 7C1F192E */ stwx r0, r31, r3 -/* 04AC78 80050218 48000010 */ b lbl_80050228 -lbl_8005021C: -/* 04AC7C 8005021C 80610084 */ lwz r3, 0x84(r1) -/* 04AC80 80050220 38030001 */ addi r0, r3, 1 -/* 04AC84 80050224 90010084 */ stw r0, 0x84(r1) -lbl_80050228: -/* 04AC88 80050228 281F0000 */ cmplwi r31, 0 -/* 04AC8C 8005022C 41820040 */ beq lbl_8005026C -/* 04AC90 80050230 55031838 */ slwi r3, r8, 3 -/* 04AC94 80050234 80810084 */ lwz r4, 0x84(r1) -/* 04AC98 80050238 38030140 */ addi r0, r3, 0x140 -/* 04AC9C 8005023C 7C1E0214 */ add r0, r30, r0 -/* 04ACA0 80050240 7C7E0050 */ subf r3, r30, r0 -/* 04ACA4 80050244 5500A814 */ slwi r0, r8, 0x15 -/* 04ACA8 80050248 38A30004 */ addi r5, r3, 4 -/* 04ACAC 8005024C 38640001 */ addi r3, r4, 1 -/* 04ACB0 80050250 90610084 */ stw r3, 0x84(r1) -/* 04ACB4 80050254 6400D003 */ oris r0, r0, 0xd003 -/* 04ACB8 80050258 54A3043E */ clrlwi r3, r5, 0x10 -/* 04ACBC 8005025C 7C001A14 */ add r0, r0, r3 -/* 04ACC0 80050260 5483103A */ slwi r3, r4, 2 -/* 04ACC4 80050264 7C1F192E */ stwx r0, r31, r3 -/* 04ACC8 80050268 48000010 */ b lbl_80050278 -lbl_8005026C: -/* 04ACCC 8005026C 80610084 */ lwz r3, 0x84(r1) -/* 04ACD0 80050270 38030001 */ addi r0, r3, 1 -/* 04ACD4 80050274 90010084 */ stw r0, 0x84(r1) -lbl_80050278: -/* 04ACD8 80050278 3C7E0001 */ addis r3, r30, 1 -/* 04ACDC 8005027C 38000002 */ li r0, 2 -/* 04ACE0 80050280 90032074 */ stw r0, 0x2074(r3) -/* 04ACE4 80050284 91032078 */ stw r8, 0x2078(r3) -/* 04ACE8 80050288 48017CAC */ b lbl_80067F34 -.global lbl_8005028C -lbl_8005028C: -/* 04ACEC 8005028C 3C9E0001 */ addis r4, r30, 1 -/* 04ACF0 80050290 80642064 */ lwz r3, 0x2064(r4) -/* 04ACF4 80050294 5788D6FE */ rlwinm r8, r28, 0x1a, 0x1b, 0x1f -/* 04ACF8 80050298 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04ACFC 8005029C 28030000 */ cmplwi r3, 0 -/* 04AD00 800502A0 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04AD04 800502A4 4082000C */ bne lbl_800502B0 -/* 04AD08 800502A8 38A00000 */ li r5, 0 -/* 04AD0C 800502AC 48000094 */ b lbl_80050340 -lbl_800502B0: -/* 04AD10 800502B0 80A42074 */ lwz r5, 0x2074(r4) -/* 04AD14 800502B4 28050000 */ cmplwi r5, 0 -/* 04AD18 800502B8 4082000C */ bne lbl_800502C4 -/* 04AD1C 800502BC 38A00000 */ li r5, 0 -/* 04AD20 800502C0 48000080 */ b lbl_80050340 -lbl_800502C4: -/* 04AD24 800502C4 80842078 */ lwz r4, 0x2078(r4) -/* 04AD28 800502C8 7C002000 */ cmpw r0, r4 -/* 04AD2C 800502CC 4182000C */ beq lbl_800502D8 -/* 04AD30 800502D0 38A00000 */ li r5, 0 -/* 04AD34 800502D4 4800006C */ b lbl_80050340 -lbl_800502D8: -/* 04AD38 800502D8 80DE0034 */ lwz r6, 0x34(r30) -/* 04AD3C 800502DC 38A00000 */ li r5, 0 -/* 04AD40 800502E0 80860008 */ lwz r4, 8(r6) -/* 04AD44 800502E4 2C040000 */ cmpwi r4, 0 -/* 04AD48 800502E8 7C8903A6 */ mtctr r4 -/* 04AD4C 800502EC 40810028 */ ble lbl_80050314 -lbl_800502F0: -/* 04AD50 800502F0 8086000C */ lwz r4, 0xc(r6) -/* 04AD54 800502F4 38E50004 */ addi r7, r5, 4 -/* 04AD58 800502F8 7C84382E */ lwzx r4, r4, r7 -/* 04AD5C 800502FC 7C1D2000 */ cmpw r29, r4 -/* 04AD60 80050300 4082000C */ bne lbl_8005030C -/* 04AD64 80050304 38800000 */ li r4, 0 -/* 04AD68 80050308 48000010 */ b lbl_80050318 -lbl_8005030C: -/* 04AD6C 8005030C 38A50008 */ addi r5, r5, 8 -/* 04AD70 80050310 4200FFE0 */ bdnz lbl_800502F0 -lbl_80050314: -/* 04AD74 80050314 38800001 */ li r4, 1 -lbl_80050318: -/* 04AD78 80050318 2C040000 */ cmpwi r4, 0 -/* 04AD7C 8005031C 40820014 */ bne lbl_80050330 -/* 04AD80 80050320 38A00000 */ li r5, 0 -/* 04AD84 80050324 3C9E0001 */ addis r4, r30, 1 -/* 04AD88 80050328 90A42074 */ stw r5, 0x2074(r4) -/* 04AD8C 8005032C 48000014 */ b lbl_80050340 -lbl_80050330: -/* 04AD90 80050330 3C9E0001 */ addis r4, r30, 1 -/* 04AD94 80050334 38A00000 */ li r5, 0 -/* 04AD98 80050338 90A42074 */ stw r5, 0x2074(r4) -/* 04AD9C 8005033C 38A00001 */ li r5, 1 -lbl_80050340: -/* 04ADA0 80050340 2C050000 */ cmpwi r5, 0 -/* 04ADA4 80050344 41820038 */ beq lbl_8005037C -/* 04ADA8 80050348 281F0000 */ cmplwi r31, 0 -/* 04ADAC 8005034C 41820020 */ beq lbl_8005036C -/* 04ADB0 80050350 80A10084 */ lwz r5, 0x84(r1) -/* 04ADB4 80050354 3CC06000 */ lis r6, 0x6000 -/* 04ADB8 80050358 38850001 */ addi r4, r5, 1 -/* 04ADBC 8005035C 90810084 */ stw r4, 0x84(r1) -/* 04ADC0 80050360 54A4103A */ slwi r4, r5, 2 -/* 04ADC4 80050364 7CDF212E */ stwx r6, r31, r4 -/* 04ADC8 80050368 48000064 */ b lbl_800503CC -lbl_8005036C: -/* 04ADCC 8005036C 80810084 */ lwz r4, 0x84(r1) -/* 04ADD0 80050370 38840001 */ addi r4, r4, 1 -/* 04ADD4 80050374 90810084 */ stw r4, 0x84(r1) -/* 04ADD8 80050378 48000054 */ b lbl_800503CC -lbl_8005037C: -/* 04ADDC 8005037C 281F0000 */ cmplwi r31, 0 -/* 04ADE0 80050380 41820040 */ beq lbl_800503C0 -/* 04ADE4 80050384 54041838 */ slwi r4, r0, 3 -/* 04ADE8 80050388 80A10084 */ lwz r5, 0x84(r1) -/* 04ADEC 8005038C 38840140 */ addi r4, r4, 0x140 -/* 04ADF0 80050390 7C9E2214 */ add r4, r30, r4 -/* 04ADF4 80050394 7C9E2050 */ subf r4, r30, r4 -/* 04ADF8 80050398 5407A814 */ slwi r7, r0, 0x15 -/* 04ADFC 8005039C 38C40004 */ addi r6, r4, 4 -/* 04AE00 800503A0 38850001 */ addi r4, r5, 1 -/* 04AE04 800503A4 90810084 */ stw r4, 0x84(r1) -/* 04AE08 800503A8 64E4C003 */ oris r4, r7, 0xc003 -/* 04AE0C 800503AC 54C6043E */ clrlwi r6, r6, 0x10 -/* 04AE10 800503B0 7C843214 */ add r4, r4, r6 -/* 04AE14 800503B4 54A5103A */ slwi r5, r5, 2 -/* 04AE18 800503B8 7C9F292E */ stwx r4, r31, r5 -/* 04AE1C 800503BC 48000010 */ b lbl_800503CC -lbl_800503C0: -/* 04AE20 800503C0 80810084 */ lwz r4, 0x84(r1) -/* 04AE24 800503C4 38840001 */ addi r4, r4, 1 -/* 04AE28 800503C8 90810084 */ stw r4, 0x84(r1) -lbl_800503CC: -/* 04AE2C 800503CC 3C9E0001 */ addis r4, r30, 1 -/* 04AE30 800503D0 80A42064 */ lwz r5, 0x2064(r4) -/* 04AE34 800503D4 28050000 */ cmplwi r5, 0 -/* 04AE38 800503D8 4082000C */ bne lbl_800503E4 -/* 04AE3C 800503DC 38A00000 */ li r5, 0 -/* 04AE40 800503E0 48000094 */ b lbl_80050474 -lbl_800503E4: -/* 04AE44 800503E4 80A42074 */ lwz r5, 0x2074(r4) -/* 04AE48 800503E8 28050000 */ cmplwi r5, 0 -/* 04AE4C 800503EC 4082000C */ bne lbl_800503F8 -/* 04AE50 800503F0 38A00000 */ li r5, 0 -/* 04AE54 800503F4 48000080 */ b lbl_80050474 -lbl_800503F8: -/* 04AE58 800503F8 80842078 */ lwz r4, 0x2078(r4) -/* 04AE5C 800503FC 7C032000 */ cmpw r3, r4 -/* 04AE60 80050400 4182000C */ beq lbl_8005040C -/* 04AE64 80050404 38A00000 */ li r5, 0 -/* 04AE68 80050408 4800006C */ b lbl_80050474 -lbl_8005040C: -/* 04AE6C 8005040C 80DE0034 */ lwz r6, 0x34(r30) -/* 04AE70 80050410 38A00000 */ li r5, 0 -/* 04AE74 80050414 80860008 */ lwz r4, 8(r6) -/* 04AE78 80050418 2C040000 */ cmpwi r4, 0 -/* 04AE7C 8005041C 7C8903A6 */ mtctr r4 -/* 04AE80 80050420 40810028 */ ble lbl_80050448 -lbl_80050424: -/* 04AE84 80050424 8086000C */ lwz r4, 0xc(r6) -/* 04AE88 80050428 38E50004 */ addi r7, r5, 4 -/* 04AE8C 8005042C 7C84382E */ lwzx r4, r4, r7 -/* 04AE90 80050430 7C1D2000 */ cmpw r29, r4 -/* 04AE94 80050434 4082000C */ bne lbl_80050440 -/* 04AE98 80050438 38800000 */ li r4, 0 -/* 04AE9C 8005043C 48000010 */ b lbl_8005044C -lbl_80050440: -/* 04AEA0 80050440 38A50008 */ addi r5, r5, 8 -/* 04AEA4 80050444 4200FFE0 */ bdnz lbl_80050424 -lbl_80050448: -/* 04AEA8 80050448 38800001 */ li r4, 1 -lbl_8005044C: -/* 04AEAC 8005044C 2C040000 */ cmpwi r4, 0 -/* 04AEB0 80050450 40820014 */ bne lbl_80050464 -/* 04AEB4 80050454 38A00000 */ li r5, 0 -/* 04AEB8 80050458 3C9E0001 */ addis r4, r30, 1 -/* 04AEBC 8005045C 90A42074 */ stw r5, 0x2074(r4) -/* 04AEC0 80050460 48000014 */ b lbl_80050474 -lbl_80050464: -/* 04AEC4 80050464 3C9E0001 */ addis r4, r30, 1 -/* 04AEC8 80050468 38A00000 */ li r5, 0 -/* 04AECC 8005046C 90A42074 */ stw r5, 0x2074(r4) -/* 04AED0 80050470 38A00001 */ li r5, 1 -lbl_80050474: -/* 04AED4 80050474 2C050000 */ cmpwi r5, 0 -/* 04AED8 80050478 41820038 */ beq lbl_800504B0 -/* 04AEDC 8005047C 281F0000 */ cmplwi r31, 0 -/* 04AEE0 80050480 41820020 */ beq lbl_800504A0 -/* 04AEE4 80050484 80A10084 */ lwz r5, 0x84(r1) -/* 04AEE8 80050488 3CC06000 */ lis r6, 0x6000 -/* 04AEEC 8005048C 38850001 */ addi r4, r5, 1 -/* 04AEF0 80050490 90810084 */ stw r4, 0x84(r1) -/* 04AEF4 80050494 54A4103A */ slwi r4, r5, 2 -/* 04AEF8 80050498 7CDF212E */ stwx r6, r31, r4 -/* 04AEFC 8005049C 48000064 */ b lbl_80050500 -lbl_800504A0: -/* 04AF00 800504A0 80810084 */ lwz r4, 0x84(r1) -/* 04AF04 800504A4 38840001 */ addi r4, r4, 1 -/* 04AF08 800504A8 90810084 */ stw r4, 0x84(r1) -/* 04AF0C 800504AC 48000054 */ b lbl_80050500 -lbl_800504B0: -/* 04AF10 800504B0 281F0000 */ cmplwi r31, 0 -/* 04AF14 800504B4 41820040 */ beq lbl_800504F4 -/* 04AF18 800504B8 54641838 */ slwi r4, r3, 3 -/* 04AF1C 800504BC 80A10084 */ lwz r5, 0x84(r1) -/* 04AF20 800504C0 38840140 */ addi r4, r4, 0x140 -/* 04AF24 800504C4 7C9E2214 */ add r4, r30, r4 -/* 04AF28 800504C8 7C9E2050 */ subf r4, r30, r4 -/* 04AF2C 800504CC 5467A814 */ slwi r7, r3, 0x15 -/* 04AF30 800504D0 38C40004 */ addi r6, r4, 4 -/* 04AF34 800504D4 38850001 */ addi r4, r5, 1 -/* 04AF38 800504D8 90810084 */ stw r4, 0x84(r1) -/* 04AF3C 800504DC 64E4C003 */ oris r4, r7, 0xc003 -/* 04AF40 800504E0 54C6043E */ clrlwi r6, r6, 0x10 -/* 04AF44 800504E4 7C843214 */ add r4, r4, r6 -/* 04AF48 800504E8 54A5103A */ slwi r5, r5, 2 -/* 04AF4C 800504EC 7C9F292E */ stwx r4, r31, r5 -/* 04AF50 800504F0 48000010 */ b lbl_80050500 -lbl_800504F4: -/* 04AF54 800504F4 80810084 */ lwz r4, 0x84(r1) -/* 04AF58 800504F8 38840001 */ addi r4, r4, 1 -/* 04AF5C 800504FC 90810084 */ stw r4, 0x84(r1) -lbl_80050500: -/* 04AF60 80050500 281F0000 */ cmplwi r31, 0 -/* 04AF64 80050504 41820038 */ beq lbl_8005053C -/* 04AF68 80050508 80A10084 */ lwz r5, 0x84(r1) -/* 04AF6C 8005050C 5504A814 */ slwi r4, r8, 0x15 -/* 04AF70 80050510 6486EC00 */ oris r6, r4, 0xec00 -/* 04AF74 80050514 38850001 */ addi r4, r5, 1 -/* 04AF78 80050518 60C60024 */ ori r6, r6, 0x24 -/* 04AF7C 8005051C 90810084 */ stw r4, 0x84(r1) -/* 04AF80 80050520 5400801E */ slwi r0, r0, 0x10 -/* 04AF84 80050524 54635828 */ slwi r3, r3, 0xb -/* 04AF88 80050528 7CC00378 */ or r0, r6, r0 -/* 04AF8C 8005052C 7C600378 */ or r0, r3, r0 -/* 04AF90 80050530 54A3103A */ slwi r3, r5, 2 -/* 04AF94 80050534 7C1F192E */ stwx r0, r31, r3 -/* 04AF98 80050538 48000010 */ b lbl_80050548 -lbl_8005053C: -/* 04AF9C 8005053C 80610084 */ lwz r3, 0x84(r1) -/* 04AFA0 80050540 38030001 */ addi r0, r3, 1 -/* 04AFA4 80050544 90010084 */ stw r0, 0x84(r1) -lbl_80050548: -/* 04AFA8 80050548 281F0000 */ cmplwi r31, 0 -/* 04AFAC 8005054C 41820040 */ beq lbl_8005058C -/* 04AFB0 80050550 55031838 */ slwi r3, r8, 3 -/* 04AFB4 80050554 80810084 */ lwz r4, 0x84(r1) -/* 04AFB8 80050558 38030140 */ addi r0, r3, 0x140 -/* 04AFBC 8005055C 7C1E0214 */ add r0, r30, r0 -/* 04AFC0 80050560 7C7E0050 */ subf r3, r30, r0 -/* 04AFC4 80050564 5500A814 */ slwi r0, r8, 0x15 -/* 04AFC8 80050568 38A30004 */ addi r5, r3, 4 -/* 04AFCC 8005056C 38640001 */ addi r3, r4, 1 -/* 04AFD0 80050570 90610084 */ stw r3, 0x84(r1) -/* 04AFD4 80050574 6400D003 */ oris r0, r0, 0xd003 -/* 04AFD8 80050578 54A3043E */ clrlwi r3, r5, 0x10 -/* 04AFDC 8005057C 7C001A14 */ add r0, r0, r3 -/* 04AFE0 80050580 5483103A */ slwi r3, r4, 2 -/* 04AFE4 80050584 7C1F192E */ stwx r0, r31, r3 -/* 04AFE8 80050588 48000010 */ b lbl_80050598 -lbl_8005058C: -/* 04AFEC 8005058C 80610084 */ lwz r3, 0x84(r1) -/* 04AFF0 80050590 38030001 */ addi r0, r3, 1 -/* 04AFF4 80050594 90010084 */ stw r0, 0x84(r1) -lbl_80050598: -/* 04AFF8 80050598 3C7E0001 */ addis r3, r30, 1 -/* 04AFFC 8005059C 38000002 */ li r0, 2 -/* 04B000 800505A0 90032074 */ stw r0, 0x2074(r3) -/* 04B004 800505A4 91032078 */ stw r8, 0x2078(r3) -/* 04B008 800505A8 4801798C */ b lbl_80067F34 -.global lbl_800505AC -lbl_800505AC: -/* 04B00C 800505AC 3C7E0001 */ addis r3, r30, 1 -/* 04B010 800505B0 80032064 */ lwz r0, 0x2064(r3) -/* 04B014 800505B4 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 04B018 800505B8 5787AEFE */ rlwinm r7, r28, 0x15, 0x1b, 0x1f -/* 04B01C 800505BC 28000000 */ cmplwi r0, 0 -/* 04B020 800505C0 4082000C */ bne lbl_800505CC -/* 04B024 800505C4 38000000 */ li r0, 0 -/* 04B028 800505C8 48000094 */ b lbl_8005065C -lbl_800505CC: -/* 04B02C 800505CC 80032074 */ lwz r0, 0x2074(r3) -/* 04B030 800505D0 28000000 */ cmplwi r0, 0 -/* 04B034 800505D4 4082000C */ bne lbl_800505E0 -/* 04B038 800505D8 38000000 */ li r0, 0 -/* 04B03C 800505DC 48000080 */ b lbl_8005065C -lbl_800505E0: -/* 04B040 800505E0 80032078 */ lwz r0, 0x2078(r3) -/* 04B044 800505E4 7C070000 */ cmpw r7, r0 -/* 04B048 800505E8 4182000C */ beq lbl_800505F4 -/* 04B04C 800505EC 38000000 */ li r0, 0 -/* 04B050 800505F0 4800006C */ b lbl_8005065C -lbl_800505F4: -/* 04B054 800505F4 80BE0034 */ lwz r5, 0x34(r30) -/* 04B058 800505F8 38800000 */ li r4, 0 -/* 04B05C 800505FC 80050008 */ lwz r0, 8(r5) -/* 04B060 80050600 2C000000 */ cmpwi r0, 0 -/* 04B064 80050604 7C0903A6 */ mtctr r0 -/* 04B068 80050608 40810028 */ ble lbl_80050630 -lbl_8005060C: -/* 04B06C 8005060C 8065000C */ lwz r3, 0xc(r5) -/* 04B070 80050610 38040004 */ addi r0, r4, 4 -/* 04B074 80050614 7C03002E */ lwzx r0, r3, r0 -/* 04B078 80050618 7C1D0000 */ cmpw r29, r0 -/* 04B07C 8005061C 4082000C */ bne lbl_80050628 -/* 04B080 80050620 38000000 */ li r0, 0 -/* 04B084 80050624 48000010 */ b lbl_80050634 -lbl_80050628: -/* 04B088 80050628 38840008 */ addi r4, r4, 8 -/* 04B08C 8005062C 4200FFE0 */ bdnz lbl_8005060C -lbl_80050630: -/* 04B090 80050630 38000001 */ li r0, 1 -lbl_80050634: -/* 04B094 80050634 2C000000 */ cmpwi r0, 0 -/* 04B098 80050638 40820014 */ bne lbl_8005064C -/* 04B09C 8005063C 38000000 */ li r0, 0 -/* 04B0A0 80050640 3C7E0001 */ addis r3, r30, 1 -/* 04B0A4 80050644 90032074 */ stw r0, 0x2074(r3) -/* 04B0A8 80050648 48000014 */ b lbl_8005065C -lbl_8005064C: -/* 04B0AC 8005064C 3C7E0001 */ addis r3, r30, 1 -/* 04B0B0 80050650 38000000 */ li r0, 0 -/* 04B0B4 80050654 90032074 */ stw r0, 0x2074(r3) -/* 04B0B8 80050658 38000001 */ li r0, 1 -lbl_8005065C: -/* 04B0BC 8005065C 2C000000 */ cmpwi r0, 0 -/* 04B0C0 80050660 41820040 */ beq lbl_800506A0 -/* 04B0C4 80050664 281F0000 */ cmplwi r31, 0 -/* 04B0C8 80050668 41820028 */ beq lbl_80050690 -/* 04B0CC 8005066C 80610084 */ lwz r3, 0x84(r1) -/* 04B0D0 80050670 54E05828 */ slwi r0, r7, 0xb -/* 04B0D4 80050674 6404FC20 */ oris r4, r0, 0xfc20 -/* 04B0D8 80050678 38030001 */ addi r0, r3, 1 -/* 04B0DC 8005067C 90010084 */ stw r0, 0x84(r1) -/* 04B0E0 80050680 60840090 */ ori r4, r4, 0x90 -/* 04B0E4 80050684 5460103A */ slwi r0, r3, 2 -/* 04B0E8 80050688 7C9F012E */ stwx r4, r31, r0 -/* 04B0EC 8005068C 48000058 */ b lbl_800506E4 -lbl_80050690: -/* 04B0F0 80050690 80610084 */ lwz r3, 0x84(r1) -/* 04B0F4 80050694 38030001 */ addi r0, r3, 1 -/* 04B0F8 80050698 90010084 */ stw r0, 0x84(r1) -/* 04B0FC 8005069C 48000048 */ b lbl_800506E4 -lbl_800506A0: -/* 04B100 800506A0 281F0000 */ cmplwi r31, 0 -/* 04B104 800506A4 41820034 */ beq lbl_800506D8 -/* 04B108 800506A8 54E41838 */ slwi r4, r7, 3 -/* 04B10C 800506AC 80610084 */ lwz r3, 0x84(r1) -/* 04B110 800506B0 38040140 */ addi r0, r4, 0x140 -/* 04B114 800506B4 7C1E0214 */ add r0, r30, r0 -/* 04B118 800506B8 7C9E0050 */ subf r4, r30, r0 -/* 04B11C 800506BC 38030001 */ addi r0, r3, 1 -/* 04B120 800506C0 3C84C023 */ addis r4, r4, 0xc023 -/* 04B124 800506C4 90010084 */ stw r0, 0x84(r1) -/* 04B128 800506C8 38040004 */ addi r0, r4, 4 -/* 04B12C 800506CC 5463103A */ slwi r3, r3, 2 -/* 04B130 800506D0 7C1F192E */ stwx r0, r31, r3 -/* 04B134 800506D4 48000010 */ b lbl_800506E4 -lbl_800506D8: -/* 04B138 800506D8 80610084 */ lwz r3, 0x84(r1) -/* 04B13C 800506DC 38030001 */ addi r0, r3, 1 -/* 04B140 800506E0 90010084 */ stw r0, 0x84(r1) -lbl_800506E4: -/* 04B144 800506E4 281F0000 */ cmplwi r31, 0 -/* 04B148 800506E8 41820034 */ beq lbl_8005071C -/* 04B14C 800506EC 80610084 */ lwz r3, 0x84(r1) -/* 04B150 800506F0 800D8A30 */ lwz r0, cpuCompile_S_SQRT_function@sda21(r13) -/* 04B154 800506F4 5465103A */ slwi r5, r3, 2 -/* 04B158 800506F8 7C9F2A14 */ add r4, r31, r5 -/* 04B15C 800506FC 7C040050 */ subf r0, r4, r0 -/* 04B160 80050700 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 04B164 80050704 38630001 */ addi r3, r3, 1 -/* 04B168 80050708 64004800 */ oris r0, r0, 0x4800 -/* 04B16C 8005070C 90610084 */ stw r3, 0x84(r1) -/* 04B170 80050710 60000001 */ ori r0, r0, 1 -/* 04B174 80050714 7C1F292E */ stwx r0, r31, r5 -/* 04B178 80050718 48000010 */ b lbl_80050728 -lbl_8005071C: -/* 04B17C 8005071C 80610084 */ lwz r3, 0x84(r1) -/* 04B180 80050720 38030001 */ addi r0, r3, 1 -/* 04B184 80050724 90010084 */ stw r0, 0x84(r1) -lbl_80050728: -/* 04B188 80050728 281F0000 */ cmplwi r31, 0 -/* 04B18C 8005072C 41820034 */ beq lbl_80050760 -/* 04B190 80050730 54C41838 */ slwi r4, r6, 3 -/* 04B194 80050734 80610084 */ lwz r3, 0x84(r1) -/* 04B198 80050738 38040140 */ addi r0, r4, 0x140 -/* 04B19C 8005073C 7C1E0214 */ add r0, r30, r0 -/* 04B1A0 80050740 7C9E0050 */ subf r4, r30, r0 -/* 04B1A4 80050744 38030001 */ addi r0, r3, 1 -/* 04B1A8 80050748 3C84D023 */ addis r4, r4, 0xd023 -/* 04B1AC 8005074C 90010084 */ stw r0, 0x84(r1) -/* 04B1B0 80050750 38040004 */ addi r0, r4, 4 -/* 04B1B4 80050754 5463103A */ slwi r3, r3, 2 -/* 04B1B8 80050758 7C1F192E */ stwx r0, r31, r3 -/* 04B1BC 8005075C 480177D8 */ b lbl_80067F34 -lbl_80050760: -/* 04B1C0 80050760 80610084 */ lwz r3, 0x84(r1) -/* 04B1C4 80050764 38030001 */ addi r0, r3, 1 -/* 04B1C8 80050768 90010084 */ stw r0, 0x84(r1) -/* 04B1CC 8005076C 480177C8 */ b lbl_80067F34 -.global lbl_80050770 -lbl_80050770: -/* 04B1D0 80050770 3C7E0001 */ addis r3, r30, 1 -/* 04B1D4 80050774 80032064 */ lwz r0, 0x2064(r3) -/* 04B1D8 80050778 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 04B1DC 8005077C 5787AEFE */ rlwinm r7, r28, 0x15, 0x1b, 0x1f -/* 04B1E0 80050780 28000000 */ cmplwi r0, 0 -/* 04B1E4 80050784 4082000C */ bne lbl_80050790 -/* 04B1E8 80050788 38000000 */ li r0, 0 -/* 04B1EC 8005078C 48000094 */ b lbl_80050820 -lbl_80050790: -/* 04B1F0 80050790 80032074 */ lwz r0, 0x2074(r3) -/* 04B1F4 80050794 28000000 */ cmplwi r0, 0 -/* 04B1F8 80050798 4082000C */ bne lbl_800507A4 -/* 04B1FC 8005079C 38000000 */ li r0, 0 -/* 04B200 800507A0 48000080 */ b lbl_80050820 -lbl_800507A4: -/* 04B204 800507A4 80032078 */ lwz r0, 0x2078(r3) -/* 04B208 800507A8 7C070000 */ cmpw r7, r0 -/* 04B20C 800507AC 4182000C */ beq lbl_800507B8 -/* 04B210 800507B0 38000000 */ li r0, 0 -/* 04B214 800507B4 4800006C */ b lbl_80050820 -lbl_800507B8: -/* 04B218 800507B8 80BE0034 */ lwz r5, 0x34(r30) -/* 04B21C 800507BC 38800000 */ li r4, 0 -/* 04B220 800507C0 80050008 */ lwz r0, 8(r5) -/* 04B224 800507C4 2C000000 */ cmpwi r0, 0 -/* 04B228 800507C8 7C0903A6 */ mtctr r0 -/* 04B22C 800507CC 40810028 */ ble lbl_800507F4 -lbl_800507D0: -/* 04B230 800507D0 8065000C */ lwz r3, 0xc(r5) -/* 04B234 800507D4 38040004 */ addi r0, r4, 4 -/* 04B238 800507D8 7C03002E */ lwzx r0, r3, r0 -/* 04B23C 800507DC 7C1D0000 */ cmpw r29, r0 -/* 04B240 800507E0 4082000C */ bne lbl_800507EC -/* 04B244 800507E4 38000000 */ li r0, 0 -/* 04B248 800507E8 48000010 */ b lbl_800507F8 -lbl_800507EC: -/* 04B24C 800507EC 38840008 */ addi r4, r4, 8 -/* 04B250 800507F0 4200FFE0 */ bdnz lbl_800507D0 -lbl_800507F4: -/* 04B254 800507F4 38000001 */ li r0, 1 -lbl_800507F8: -/* 04B258 800507F8 2C000000 */ cmpwi r0, 0 -/* 04B25C 800507FC 40820014 */ bne lbl_80050810 -/* 04B260 80050800 38000000 */ li r0, 0 -/* 04B264 80050804 3C7E0001 */ addis r3, r30, 1 -/* 04B268 80050808 90032074 */ stw r0, 0x2074(r3) -/* 04B26C 8005080C 48000014 */ b lbl_80050820 -lbl_80050810: -/* 04B270 80050810 3C7E0001 */ addis r3, r30, 1 -/* 04B274 80050814 38000000 */ li r0, 0 -/* 04B278 80050818 90032074 */ stw r0, 0x2074(r3) -/* 04B27C 8005081C 38000001 */ li r0, 1 -lbl_80050820: -/* 04B280 80050820 2C000000 */ cmpwi r0, 0 -/* 04B284 80050824 41820038 */ beq lbl_8005085C -/* 04B288 80050828 281F0000 */ cmplwi r31, 0 -/* 04B28C 8005082C 41820020 */ beq lbl_8005084C -/* 04B290 80050830 80610084 */ lwz r3, 0x84(r1) -/* 04B294 80050834 3C806000 */ lis r4, 0x6000 -/* 04B298 80050838 38030001 */ addi r0, r3, 1 -/* 04B29C 8005083C 90010084 */ stw r0, 0x84(r1) -/* 04B2A0 80050840 5460103A */ slwi r0, r3, 2 -/* 04B2A4 80050844 7C9F012E */ stwx r4, r31, r0 -/* 04B2A8 80050848 48000064 */ b lbl_800508AC -lbl_8005084C: -/* 04B2AC 8005084C 80610084 */ lwz r3, 0x84(r1) -/* 04B2B0 80050850 38030001 */ addi r0, r3, 1 -/* 04B2B4 80050854 90010084 */ stw r0, 0x84(r1) -/* 04B2B8 80050858 48000054 */ b lbl_800508AC -lbl_8005085C: -/* 04B2BC 8005085C 281F0000 */ cmplwi r31, 0 -/* 04B2C0 80050860 41820040 */ beq lbl_800508A0 -/* 04B2C4 80050864 54E31838 */ slwi r3, r7, 3 -/* 04B2C8 80050868 80810084 */ lwz r4, 0x84(r1) -/* 04B2CC 8005086C 38030140 */ addi r0, r3, 0x140 -/* 04B2D0 80050870 7C1E0214 */ add r0, r30, r0 -/* 04B2D4 80050874 7C7E0050 */ subf r3, r30, r0 -/* 04B2D8 80050878 54E0A814 */ slwi r0, r7, 0x15 -/* 04B2DC 8005087C 38A30004 */ addi r5, r3, 4 -/* 04B2E0 80050880 38640001 */ addi r3, r4, 1 -/* 04B2E4 80050884 90610084 */ stw r3, 0x84(r1) -/* 04B2E8 80050888 6400C003 */ oris r0, r0, 0xc003 -/* 04B2EC 8005088C 54A3043E */ clrlwi r3, r5, 0x10 -/* 04B2F0 80050890 7C001A14 */ add r0, r0, r3 -/* 04B2F4 80050894 5483103A */ slwi r3, r4, 2 -/* 04B2F8 80050898 7C1F192E */ stwx r0, r31, r3 -/* 04B2FC 8005089C 48000010 */ b lbl_800508AC -lbl_800508A0: -/* 04B300 800508A0 80610084 */ lwz r3, 0x84(r1) -/* 04B304 800508A4 38030001 */ addi r0, r3, 1 -/* 04B308 800508A8 90010084 */ stw r0, 0x84(r1) -lbl_800508AC: -/* 04B30C 800508AC 281F0000 */ cmplwi r31, 0 -/* 04B310 800508B0 41820030 */ beq lbl_800508E0 -/* 04B314 800508B4 80610084 */ lwz r3, 0x84(r1) -/* 04B318 800508B8 54C0A814 */ slwi r0, r6, 0x15 -/* 04B31C 800508BC 6404FC00 */ oris r4, r0, 0xfc00 -/* 04B320 800508C0 38030001 */ addi r0, r3, 1 -/* 04B324 800508C4 90010084 */ stw r0, 0x84(r1) -/* 04B328 800508C8 60840210 */ ori r4, r4, 0x210 -/* 04B32C 800508CC 54E05828 */ slwi r0, r7, 0xb -/* 04B330 800508D0 7C800378 */ or r0, r4, r0 -/* 04B334 800508D4 5463103A */ slwi r3, r3, 2 -/* 04B338 800508D8 7C1F192E */ stwx r0, r31, r3 -/* 04B33C 800508DC 48000010 */ b lbl_800508EC -lbl_800508E0: -/* 04B340 800508E0 80610084 */ lwz r3, 0x84(r1) -/* 04B344 800508E4 38030001 */ addi r0, r3, 1 -/* 04B348 800508E8 90010084 */ stw r0, 0x84(r1) -lbl_800508EC: -/* 04B34C 800508EC 281F0000 */ cmplwi r31, 0 -/* 04B350 800508F0 41820040 */ beq lbl_80050930 -/* 04B354 800508F4 54C31838 */ slwi r3, r6, 3 -/* 04B358 800508F8 80810084 */ lwz r4, 0x84(r1) -/* 04B35C 800508FC 38030140 */ addi r0, r3, 0x140 -/* 04B360 80050900 7C1E0214 */ add r0, r30, r0 -/* 04B364 80050904 7C7E0050 */ subf r3, r30, r0 -/* 04B368 80050908 54C0A814 */ slwi r0, r6, 0x15 -/* 04B36C 8005090C 38A30004 */ addi r5, r3, 4 -/* 04B370 80050910 38640001 */ addi r3, r4, 1 -/* 04B374 80050914 90610084 */ stw r3, 0x84(r1) -/* 04B378 80050918 6400D003 */ oris r0, r0, 0xd003 -/* 04B37C 8005091C 54A3043E */ clrlwi r3, r5, 0x10 -/* 04B380 80050920 7C001A14 */ add r0, r0, r3 -/* 04B384 80050924 5483103A */ slwi r3, r4, 2 -/* 04B388 80050928 7C1F192E */ stwx r0, r31, r3 -/* 04B38C 8005092C 48000010 */ b lbl_8005093C -lbl_80050930: -/* 04B390 80050930 80610084 */ lwz r3, 0x84(r1) -/* 04B394 80050934 38030001 */ addi r0, r3, 1 -/* 04B398 80050938 90010084 */ stw r0, 0x84(r1) -lbl_8005093C: -/* 04B39C 8005093C 3C7E0001 */ addis r3, r30, 1 -/* 04B3A0 80050940 38000002 */ li r0, 2 -/* 04B3A4 80050944 90032074 */ stw r0, 0x2074(r3) -/* 04B3A8 80050948 90C32078 */ stw r6, 0x2078(r3) -/* 04B3AC 8005094C 480175E8 */ b lbl_80067F34 -.global lbl_80050950 -lbl_80050950: -/* 04B3B0 80050950 281F0000 */ cmplwi r31, 0 -/* 04B3B4 80050954 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 04B3B8 80050958 5783AEFE */ rlwinm r3, r28, 0x15, 0x1b, 0x1f -/* 04B3BC 8005095C 41820034 */ beq lbl_80050990 -/* 04B3C0 80050960 54631838 */ slwi r3, r3, 3 -/* 04B3C4 80050964 80810084 */ lwz r4, 0x84(r1) -/* 04B3C8 80050968 38630140 */ addi r3, r3, 0x140 -/* 04B3CC 8005096C 7C7E1A14 */ add r3, r30, r3 -/* 04B3D0 80050970 7CBE1850 */ subf r5, r30, r3 -/* 04B3D4 80050974 38640001 */ addi r3, r4, 1 -/* 04B3D8 80050978 3CA5C023 */ addis r5, r5, 0xc023 -/* 04B3DC 8005097C 90610084 */ stw r3, 0x84(r1) -/* 04B3E0 80050980 38650004 */ addi r3, r5, 4 -/* 04B3E4 80050984 5484103A */ slwi r4, r4, 2 -/* 04B3E8 80050988 7C7F212E */ stwx r3, r31, r4 -/* 04B3EC 8005098C 48000010 */ b lbl_8005099C -lbl_80050990: -/* 04B3F0 80050990 80610084 */ lwz r3, 0x84(r1) -/* 04B3F4 80050994 38630001 */ addi r3, r3, 1 -/* 04B3F8 80050998 90610084 */ stw r3, 0x84(r1) -lbl_8005099C: -/* 04B3FC 8005099C 281F0000 */ cmplwi r31, 0 -/* 04B400 800509A0 41820034 */ beq lbl_800509D4 -/* 04B404 800509A4 54041838 */ slwi r4, r0, 3 -/* 04B408 800509A8 80610084 */ lwz r3, 0x84(r1) -/* 04B40C 800509AC 38040140 */ addi r0, r4, 0x140 -/* 04B410 800509B0 7C1E0214 */ add r0, r30, r0 -/* 04B414 800509B4 7C9E0050 */ subf r4, r30, r0 -/* 04B418 800509B8 38030001 */ addi r0, r3, 1 -/* 04B41C 800509BC 3C84D023 */ addis r4, r4, 0xd023 -/* 04B420 800509C0 90010084 */ stw r0, 0x84(r1) -/* 04B424 800509C4 38040004 */ addi r0, r4, 4 -/* 04B428 800509C8 5463103A */ slwi r3, r3, 2 -/* 04B42C 800509CC 7C1F192E */ stwx r0, r31, r3 -/* 04B430 800509D0 48017564 */ b lbl_80067F34 -lbl_800509D4: -/* 04B434 800509D4 80610084 */ lwz r3, 0x84(r1) -/* 04B438 800509D8 38030001 */ addi r0, r3, 1 -/* 04B43C 800509DC 90010084 */ stw r0, 0x84(r1) -/* 04B440 800509E0 48017554 */ b lbl_80067F34 -.global lbl_800509E4 -lbl_800509E4: -/* 04B444 800509E4 3C7E0001 */ addis r3, r30, 1 -/* 04B448 800509E8 80032064 */ lwz r0, 0x2064(r3) -/* 04B44C 800509EC 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 04B450 800509F0 5787AEFE */ rlwinm r7, r28, 0x15, 0x1b, 0x1f -/* 04B454 800509F4 28000000 */ cmplwi r0, 0 -/* 04B458 800509F8 4082000C */ bne lbl_80050A04 -/* 04B45C 800509FC 38000000 */ li r0, 0 -/* 04B460 80050A00 48000094 */ b lbl_80050A94 -lbl_80050A04: -/* 04B464 80050A04 80032074 */ lwz r0, 0x2074(r3) -/* 04B468 80050A08 28000000 */ cmplwi r0, 0 -/* 04B46C 80050A0C 4082000C */ bne lbl_80050A18 -/* 04B470 80050A10 38000000 */ li r0, 0 -/* 04B474 80050A14 48000080 */ b lbl_80050A94 -lbl_80050A18: -/* 04B478 80050A18 80032078 */ lwz r0, 0x2078(r3) -/* 04B47C 80050A1C 7C070000 */ cmpw r7, r0 -/* 04B480 80050A20 4182000C */ beq lbl_80050A2C -/* 04B484 80050A24 38000000 */ li r0, 0 -/* 04B488 80050A28 4800006C */ b lbl_80050A94 -lbl_80050A2C: -/* 04B48C 80050A2C 80BE0034 */ lwz r5, 0x34(r30) -/* 04B490 80050A30 38800000 */ li r4, 0 -/* 04B494 80050A34 80050008 */ lwz r0, 8(r5) -/* 04B498 80050A38 2C000000 */ cmpwi r0, 0 -/* 04B49C 80050A3C 7C0903A6 */ mtctr r0 -/* 04B4A0 80050A40 40810028 */ ble lbl_80050A68 -lbl_80050A44: -/* 04B4A4 80050A44 8065000C */ lwz r3, 0xc(r5) -/* 04B4A8 80050A48 38040004 */ addi r0, r4, 4 -/* 04B4AC 80050A4C 7C03002E */ lwzx r0, r3, r0 -/* 04B4B0 80050A50 7C1D0000 */ cmpw r29, r0 -/* 04B4B4 80050A54 4082000C */ bne lbl_80050A60 -/* 04B4B8 80050A58 38000000 */ li r0, 0 -/* 04B4BC 80050A5C 48000010 */ b lbl_80050A6C -lbl_80050A60: -/* 04B4C0 80050A60 38840008 */ addi r4, r4, 8 -/* 04B4C4 80050A64 4200FFE0 */ bdnz lbl_80050A44 -lbl_80050A68: -/* 04B4C8 80050A68 38000001 */ li r0, 1 -lbl_80050A6C: -/* 04B4CC 80050A6C 2C000000 */ cmpwi r0, 0 -/* 04B4D0 80050A70 40820014 */ bne lbl_80050A84 -/* 04B4D4 80050A74 38000000 */ li r0, 0 -/* 04B4D8 80050A78 3C7E0001 */ addis r3, r30, 1 -/* 04B4DC 80050A7C 90032074 */ stw r0, 0x2074(r3) -/* 04B4E0 80050A80 48000014 */ b lbl_80050A94 -lbl_80050A84: -/* 04B4E4 80050A84 3C7E0001 */ addis r3, r30, 1 -/* 04B4E8 80050A88 38000000 */ li r0, 0 -/* 04B4EC 80050A8C 90032074 */ stw r0, 0x2074(r3) -/* 04B4F0 80050A90 38000001 */ li r0, 1 -lbl_80050A94: -/* 04B4F4 80050A94 2C000000 */ cmpwi r0, 0 -/* 04B4F8 80050A98 41820038 */ beq lbl_80050AD0 -/* 04B4FC 80050A9C 281F0000 */ cmplwi r31, 0 -/* 04B500 80050AA0 41820020 */ beq lbl_80050AC0 -/* 04B504 80050AA4 80610084 */ lwz r3, 0x84(r1) -/* 04B508 80050AA8 3C806000 */ lis r4, 0x6000 -/* 04B50C 80050AAC 38030001 */ addi r0, r3, 1 -/* 04B510 80050AB0 90010084 */ stw r0, 0x84(r1) -/* 04B514 80050AB4 5460103A */ slwi r0, r3, 2 -/* 04B518 80050AB8 7C9F012E */ stwx r4, r31, r0 -/* 04B51C 80050ABC 48000064 */ b lbl_80050B20 -lbl_80050AC0: -/* 04B520 80050AC0 80610084 */ lwz r3, 0x84(r1) -/* 04B524 80050AC4 38030001 */ addi r0, r3, 1 -/* 04B528 80050AC8 90010084 */ stw r0, 0x84(r1) -/* 04B52C 80050ACC 48000054 */ b lbl_80050B20 -lbl_80050AD0: -/* 04B530 80050AD0 281F0000 */ cmplwi r31, 0 -/* 04B534 80050AD4 41820040 */ beq lbl_80050B14 -/* 04B538 80050AD8 54E31838 */ slwi r3, r7, 3 -/* 04B53C 80050ADC 80810084 */ lwz r4, 0x84(r1) -/* 04B540 80050AE0 38030140 */ addi r0, r3, 0x140 -/* 04B544 80050AE4 7C1E0214 */ add r0, r30, r0 -/* 04B548 80050AE8 7C7E0050 */ subf r3, r30, r0 -/* 04B54C 80050AEC 54E0A814 */ slwi r0, r7, 0x15 -/* 04B550 80050AF0 38A30004 */ addi r5, r3, 4 -/* 04B554 80050AF4 38640001 */ addi r3, r4, 1 -/* 04B558 80050AF8 90610084 */ stw r3, 0x84(r1) -/* 04B55C 80050AFC 6400C003 */ oris r0, r0, 0xc003 -/* 04B560 80050B00 54A3043E */ clrlwi r3, r5, 0x10 -/* 04B564 80050B04 7C001A14 */ add r0, r0, r3 -/* 04B568 80050B08 5483103A */ slwi r3, r4, 2 -/* 04B56C 80050B0C 7C1F192E */ stwx r0, r31, r3 -/* 04B570 80050B10 48000010 */ b lbl_80050B20 -lbl_80050B14: -/* 04B574 80050B14 80610084 */ lwz r3, 0x84(r1) -/* 04B578 80050B18 38030001 */ addi r0, r3, 1 -/* 04B57C 80050B1C 90010084 */ stw r0, 0x84(r1) -lbl_80050B20: -/* 04B580 80050B20 281F0000 */ cmplwi r31, 0 -/* 04B584 80050B24 41820030 */ beq lbl_80050B54 -/* 04B588 80050B28 80610084 */ lwz r3, 0x84(r1) -/* 04B58C 80050B2C 54C0A814 */ slwi r0, r6, 0x15 -/* 04B590 80050B30 6404FC00 */ oris r4, r0, 0xfc00 -/* 04B594 80050B34 38030001 */ addi r0, r3, 1 -/* 04B598 80050B38 90010084 */ stw r0, 0x84(r1) -/* 04B59C 80050B3C 60840050 */ ori r4, r4, 0x50 -/* 04B5A0 80050B40 54E05828 */ slwi r0, r7, 0xb -/* 04B5A4 80050B44 7C800378 */ or r0, r4, r0 -/* 04B5A8 80050B48 5463103A */ slwi r3, r3, 2 -/* 04B5AC 80050B4C 7C1F192E */ stwx r0, r31, r3 -/* 04B5B0 80050B50 48000010 */ b lbl_80050B60 -lbl_80050B54: -/* 04B5B4 80050B54 80610084 */ lwz r3, 0x84(r1) -/* 04B5B8 80050B58 38030001 */ addi r0, r3, 1 -/* 04B5BC 80050B5C 90010084 */ stw r0, 0x84(r1) -lbl_80050B60: -/* 04B5C0 80050B60 281F0000 */ cmplwi r31, 0 -/* 04B5C4 80050B64 41820040 */ beq lbl_80050BA4 -/* 04B5C8 80050B68 54C31838 */ slwi r3, r6, 3 -/* 04B5CC 80050B6C 80810084 */ lwz r4, 0x84(r1) -/* 04B5D0 80050B70 38030140 */ addi r0, r3, 0x140 -/* 04B5D4 80050B74 7C1E0214 */ add r0, r30, r0 -/* 04B5D8 80050B78 7C7E0050 */ subf r3, r30, r0 -/* 04B5DC 80050B7C 54C0A814 */ slwi r0, r6, 0x15 -/* 04B5E0 80050B80 38A30004 */ addi r5, r3, 4 -/* 04B5E4 80050B84 38640001 */ addi r3, r4, 1 -/* 04B5E8 80050B88 90610084 */ stw r3, 0x84(r1) -/* 04B5EC 80050B8C 6400D003 */ oris r0, r0, 0xd003 -/* 04B5F0 80050B90 54A3043E */ clrlwi r3, r5, 0x10 -/* 04B5F4 80050B94 7C001A14 */ add r0, r0, r3 -/* 04B5F8 80050B98 5483103A */ slwi r3, r4, 2 -/* 04B5FC 80050B9C 7C1F192E */ stwx r0, r31, r3 -/* 04B600 80050BA0 48000010 */ b lbl_80050BB0 -lbl_80050BA4: -/* 04B604 80050BA4 80610084 */ lwz r3, 0x84(r1) -/* 04B608 80050BA8 38030001 */ addi r0, r3, 1 -/* 04B60C 80050BAC 90010084 */ stw r0, 0x84(r1) -lbl_80050BB0: -/* 04B610 80050BB0 3C7E0001 */ addis r3, r30, 1 -/* 04B614 80050BB4 38000002 */ li r0, 2 -/* 04B618 80050BB8 90032074 */ stw r0, 0x2074(r3) -/* 04B61C 80050BBC 90C32078 */ stw r6, 0x2078(r3) -/* 04B620 80050BC0 48017374 */ b lbl_80067F34 -.global lbl_80050BC4 -lbl_80050BC4: -/* 04B624 80050BC4 3C7E0001 */ addis r3, r30, 1 -/* 04B628 80050BC8 80032064 */ lwz r0, 0x2064(r3) -/* 04B62C 80050BCC 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 04B630 80050BD0 5787AEFE */ rlwinm r7, r28, 0x15, 0x1b, 0x1f -/* 04B634 80050BD4 28000000 */ cmplwi r0, 0 -/* 04B638 80050BD8 4082000C */ bne lbl_80050BE4 -/* 04B63C 80050BDC 38000000 */ li r0, 0 -/* 04B640 80050BE0 48000094 */ b lbl_80050C74 -lbl_80050BE4: -/* 04B644 80050BE4 80032074 */ lwz r0, 0x2074(r3) -/* 04B648 80050BE8 28000000 */ cmplwi r0, 0 -/* 04B64C 80050BEC 4082000C */ bne lbl_80050BF8 -/* 04B650 80050BF0 38000000 */ li r0, 0 -/* 04B654 80050BF4 48000080 */ b lbl_80050C74 -lbl_80050BF8: -/* 04B658 80050BF8 80032078 */ lwz r0, 0x2078(r3) -/* 04B65C 80050BFC 7C070000 */ cmpw r7, r0 -/* 04B660 80050C00 4182000C */ beq lbl_80050C0C -/* 04B664 80050C04 38000000 */ li r0, 0 -/* 04B668 80050C08 4800006C */ b lbl_80050C74 -lbl_80050C0C: -/* 04B66C 80050C0C 80BE0034 */ lwz r5, 0x34(r30) -/* 04B670 80050C10 38800000 */ li r4, 0 -/* 04B674 80050C14 80050008 */ lwz r0, 8(r5) -/* 04B678 80050C18 2C000000 */ cmpwi r0, 0 -/* 04B67C 80050C1C 7C0903A6 */ mtctr r0 -/* 04B680 80050C20 40810028 */ ble lbl_80050C48 -lbl_80050C24: -/* 04B684 80050C24 8065000C */ lwz r3, 0xc(r5) -/* 04B688 80050C28 38040004 */ addi r0, r4, 4 -/* 04B68C 80050C2C 7C03002E */ lwzx r0, r3, r0 -/* 04B690 80050C30 7C1D0000 */ cmpw r29, r0 -/* 04B694 80050C34 4082000C */ bne lbl_80050C40 -/* 04B698 80050C38 38000000 */ li r0, 0 -/* 04B69C 80050C3C 48000010 */ b lbl_80050C4C -lbl_80050C40: -/* 04B6A0 80050C40 38840008 */ addi r4, r4, 8 -/* 04B6A4 80050C44 4200FFE0 */ bdnz lbl_80050C24 -lbl_80050C48: -/* 04B6A8 80050C48 38000001 */ li r0, 1 -lbl_80050C4C: -/* 04B6AC 80050C4C 2C000000 */ cmpwi r0, 0 -/* 04B6B0 80050C50 40820014 */ bne lbl_80050C64 -/* 04B6B4 80050C54 38000000 */ li r0, 0 -/* 04B6B8 80050C58 3C7E0001 */ addis r3, r30, 1 -/* 04B6BC 80050C5C 90032074 */ stw r0, 0x2074(r3) -/* 04B6C0 80050C60 48000014 */ b lbl_80050C74 -lbl_80050C64: -/* 04B6C4 80050C64 3C7E0001 */ addis r3, r30, 1 -/* 04B6C8 80050C68 38000000 */ li r0, 0 -/* 04B6CC 80050C6C 90032074 */ stw r0, 0x2074(r3) -/* 04B6D0 80050C70 38000001 */ li r0, 1 -lbl_80050C74: -/* 04B6D4 80050C74 2C000000 */ cmpwi r0, 0 -/* 04B6D8 80050C78 41820040 */ beq lbl_80050CB8 -/* 04B6DC 80050C7C 281F0000 */ cmplwi r31, 0 -/* 04B6E0 80050C80 41820028 */ beq lbl_80050CA8 -/* 04B6E4 80050C84 80610084 */ lwz r3, 0x84(r1) -/* 04B6E8 80050C88 54E05828 */ slwi r0, r7, 0xb -/* 04B6EC 80050C8C 6404FC20 */ oris r4, r0, 0xfc20 -/* 04B6F0 80050C90 38030001 */ addi r0, r3, 1 -/* 04B6F4 80050C94 90010084 */ stw r0, 0x84(r1) -/* 04B6F8 80050C98 60840090 */ ori r4, r4, 0x90 -/* 04B6FC 80050C9C 5460103A */ slwi r0, r3, 2 -/* 04B700 80050CA0 7C9F012E */ stwx r4, r31, r0 -/* 04B704 80050CA4 48000058 */ b lbl_80050CFC -lbl_80050CA8: -/* 04B708 80050CA8 80610084 */ lwz r3, 0x84(r1) -/* 04B70C 80050CAC 38030001 */ addi r0, r3, 1 -/* 04B710 80050CB0 90010084 */ stw r0, 0x84(r1) -/* 04B714 80050CB4 48000048 */ b lbl_80050CFC -lbl_80050CB8: -/* 04B718 80050CB8 281F0000 */ cmplwi r31, 0 -/* 04B71C 80050CBC 41820034 */ beq lbl_80050CF0 -/* 04B720 80050CC0 54E41838 */ slwi r4, r7, 3 -/* 04B724 80050CC4 80610084 */ lwz r3, 0x84(r1) -/* 04B728 80050CC8 38040140 */ addi r0, r4, 0x140 -/* 04B72C 80050CCC 7C1E0214 */ add r0, r30, r0 -/* 04B730 80050CD0 7C9E0050 */ subf r4, r30, r0 -/* 04B734 80050CD4 38030001 */ addi r0, r3, 1 -/* 04B738 80050CD8 3C84C023 */ addis r4, r4, 0xc023 -/* 04B73C 80050CDC 90010084 */ stw r0, 0x84(r1) -/* 04B740 80050CE0 38040004 */ addi r0, r4, 4 -/* 04B744 80050CE4 5463103A */ slwi r3, r3, 2 -/* 04B748 80050CE8 7C1F192E */ stwx r0, r31, r3 -/* 04B74C 80050CEC 48000010 */ b lbl_80050CFC -lbl_80050CF0: -/* 04B750 80050CF0 80610084 */ lwz r3, 0x84(r1) -/* 04B754 80050CF4 38030001 */ addi r0, r3, 1 -/* 04B758 80050CF8 90010084 */ stw r0, 0x84(r1) -lbl_80050CFC: -/* 04B75C 80050CFC 281F0000 */ cmplwi r31, 0 -/* 04B760 80050D00 41820034 */ beq lbl_80050D34 -/* 04B764 80050D04 54C41838 */ slwi r4, r6, 3 -/* 04B768 80050D08 80610084 */ lwz r3, 0x84(r1) -/* 04B76C 80050D0C 38040140 */ addi r0, r4, 0x140 -/* 04B770 80050D10 7C1E0214 */ add r0, r30, r0 -/* 04B774 80050D14 7C9E0050 */ subf r4, r30, r0 -/* 04B778 80050D18 38030001 */ addi r0, r3, 1 -/* 04B77C 80050D1C 3C8438A0 */ addis r4, r4, 0x38a0 -/* 04B780 80050D20 90010084 */ stw r0, 0x84(r1) -/* 04B784 80050D24 38040004 */ addi r0, r4, 4 -/* 04B788 80050D28 5463103A */ slwi r3, r3, 2 -/* 04B78C 80050D2C 7C1F192E */ stwx r0, r31, r3 -/* 04B790 80050D30 48000010 */ b lbl_80050D40 -lbl_80050D34: -/* 04B794 80050D34 80610084 */ lwz r3, 0x84(r1) -/* 04B798 80050D38 38030001 */ addi r0, r3, 1 -/* 04B79C 80050D3C 90010084 */ stw r0, 0x84(r1) -lbl_80050D40: -/* 04B7A0 80050D40 281F0000 */ cmplwi r31, 0 -/* 04B7A4 80050D44 41820034 */ beq lbl_80050D78 -/* 04B7A8 80050D48 80610084 */ lwz r3, 0x84(r1) -/* 04B7AC 80050D4C 800D8A48 */ lwz r0, cpuCompile_ROUND_W_function@sda21(r13) -/* 04B7B0 80050D50 5465103A */ slwi r5, r3, 2 -/* 04B7B4 80050D54 7C9F2A14 */ add r4, r31, r5 -/* 04B7B8 80050D58 7C040050 */ subf r0, r4, r0 -/* 04B7BC 80050D5C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 04B7C0 80050D60 38630001 */ addi r3, r3, 1 -/* 04B7C4 80050D64 64004800 */ oris r0, r0, 0x4800 -/* 04B7C8 80050D68 90610084 */ stw r3, 0x84(r1) -/* 04B7CC 80050D6C 60000001 */ ori r0, r0, 1 -/* 04B7D0 80050D70 7C1F292E */ stwx r0, r31, r5 -/* 04B7D4 80050D74 480171C0 */ b lbl_80067F34 -lbl_80050D78: -/* 04B7D8 80050D78 80610084 */ lwz r3, 0x84(r1) -/* 04B7DC 80050D7C 38030001 */ addi r0, r3, 1 -/* 04B7E0 80050D80 90010084 */ stw r0, 0x84(r1) -/* 04B7E4 80050D84 480171B0 */ b lbl_80067F34 -.global lbl_80050D88 -lbl_80050D88: -/* 04B7E8 80050D88 3C7E0001 */ addis r3, r30, 1 -/* 04B7EC 80050D8C 80032064 */ lwz r0, 0x2064(r3) -/* 04B7F0 80050D90 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 04B7F4 80050D94 5787AEFE */ rlwinm r7, r28, 0x15, 0x1b, 0x1f -/* 04B7F8 80050D98 28000000 */ cmplwi r0, 0 -/* 04B7FC 80050D9C 4082000C */ bne lbl_80050DA8 -/* 04B800 80050DA0 38000000 */ li r0, 0 -/* 04B804 80050DA4 48000094 */ b lbl_80050E38 -lbl_80050DA8: -/* 04B808 80050DA8 80032074 */ lwz r0, 0x2074(r3) -/* 04B80C 80050DAC 28000000 */ cmplwi r0, 0 -/* 04B810 80050DB0 4082000C */ bne lbl_80050DBC -/* 04B814 80050DB4 38000000 */ li r0, 0 -/* 04B818 80050DB8 48000080 */ b lbl_80050E38 -lbl_80050DBC: -/* 04B81C 80050DBC 80032078 */ lwz r0, 0x2078(r3) -/* 04B820 80050DC0 7C070000 */ cmpw r7, r0 -/* 04B824 80050DC4 4182000C */ beq lbl_80050DD0 -/* 04B828 80050DC8 38000000 */ li r0, 0 -/* 04B82C 80050DCC 4800006C */ b lbl_80050E38 -lbl_80050DD0: -/* 04B830 80050DD0 80BE0034 */ lwz r5, 0x34(r30) -/* 04B834 80050DD4 38800000 */ li r4, 0 -/* 04B838 80050DD8 80050008 */ lwz r0, 8(r5) -/* 04B83C 80050DDC 2C000000 */ cmpwi r0, 0 -/* 04B840 80050DE0 7C0903A6 */ mtctr r0 -/* 04B844 80050DE4 40810028 */ ble lbl_80050E0C -lbl_80050DE8: -/* 04B848 80050DE8 8065000C */ lwz r3, 0xc(r5) -/* 04B84C 80050DEC 38040004 */ addi r0, r4, 4 -/* 04B850 80050DF0 7C03002E */ lwzx r0, r3, r0 -/* 04B854 80050DF4 7C1D0000 */ cmpw r29, r0 -/* 04B858 80050DF8 4082000C */ bne lbl_80050E04 -/* 04B85C 80050DFC 38000000 */ li r0, 0 -/* 04B860 80050E00 48000010 */ b lbl_80050E10 -lbl_80050E04: -/* 04B864 80050E04 38840008 */ addi r4, r4, 8 -/* 04B868 80050E08 4200FFE0 */ bdnz lbl_80050DE8 -lbl_80050E0C: -/* 04B86C 80050E0C 38000001 */ li r0, 1 -lbl_80050E10: -/* 04B870 80050E10 2C000000 */ cmpwi r0, 0 -/* 04B874 80050E14 40820014 */ bne lbl_80050E28 -/* 04B878 80050E18 38000000 */ li r0, 0 -/* 04B87C 80050E1C 3C7E0001 */ addis r3, r30, 1 -/* 04B880 80050E20 90032074 */ stw r0, 0x2074(r3) -/* 04B884 80050E24 48000014 */ b lbl_80050E38 -lbl_80050E28: -/* 04B888 80050E28 3C7E0001 */ addis r3, r30, 1 -/* 04B88C 80050E2C 38000000 */ li r0, 0 -/* 04B890 80050E30 90032074 */ stw r0, 0x2074(r3) -/* 04B894 80050E34 38000001 */ li r0, 1 -lbl_80050E38: -/* 04B898 80050E38 2C000000 */ cmpwi r0, 0 -/* 04B89C 80050E3C 41820040 */ beq lbl_80050E7C -/* 04B8A0 80050E40 281F0000 */ cmplwi r31, 0 -/* 04B8A4 80050E44 41820028 */ beq lbl_80050E6C -/* 04B8A8 80050E48 80610084 */ lwz r3, 0x84(r1) -/* 04B8AC 80050E4C 54E05828 */ slwi r0, r7, 0xb -/* 04B8B0 80050E50 6404FC20 */ oris r4, r0, 0xfc20 -/* 04B8B4 80050E54 38030001 */ addi r0, r3, 1 -/* 04B8B8 80050E58 90010084 */ stw r0, 0x84(r1) -/* 04B8BC 80050E5C 60840090 */ ori r4, r4, 0x90 -/* 04B8C0 80050E60 5460103A */ slwi r0, r3, 2 -/* 04B8C4 80050E64 7C9F012E */ stwx r4, r31, r0 -/* 04B8C8 80050E68 48000058 */ b lbl_80050EC0 -lbl_80050E6C: -/* 04B8CC 80050E6C 80610084 */ lwz r3, 0x84(r1) -/* 04B8D0 80050E70 38030001 */ addi r0, r3, 1 -/* 04B8D4 80050E74 90010084 */ stw r0, 0x84(r1) -/* 04B8D8 80050E78 48000048 */ b lbl_80050EC0 -lbl_80050E7C: -/* 04B8DC 80050E7C 281F0000 */ cmplwi r31, 0 -/* 04B8E0 80050E80 41820034 */ beq lbl_80050EB4 -/* 04B8E4 80050E84 54E41838 */ slwi r4, r7, 3 -/* 04B8E8 80050E88 80610084 */ lwz r3, 0x84(r1) -/* 04B8EC 80050E8C 38040140 */ addi r0, r4, 0x140 -/* 04B8F0 80050E90 7C1E0214 */ add r0, r30, r0 -/* 04B8F4 80050E94 7C9E0050 */ subf r4, r30, r0 -/* 04B8F8 80050E98 38030001 */ addi r0, r3, 1 -/* 04B8FC 80050E9C 3C84C023 */ addis r4, r4, 0xc023 -/* 04B900 80050EA0 90010084 */ stw r0, 0x84(r1) -/* 04B904 80050EA4 38040004 */ addi r0, r4, 4 -/* 04B908 80050EA8 5463103A */ slwi r3, r3, 2 -/* 04B90C 80050EAC 7C1F192E */ stwx r0, r31, r3 -/* 04B910 80050EB0 48000010 */ b lbl_80050EC0 -lbl_80050EB4: -/* 04B914 80050EB4 80610084 */ lwz r3, 0x84(r1) -/* 04B918 80050EB8 38030001 */ addi r0, r3, 1 -/* 04B91C 80050EBC 90010084 */ stw r0, 0x84(r1) -lbl_80050EC0: -/* 04B920 80050EC0 281F0000 */ cmplwi r31, 0 -/* 04B924 80050EC4 41820034 */ beq lbl_80050EF8 -/* 04B928 80050EC8 54C41838 */ slwi r4, r6, 3 -/* 04B92C 80050ECC 80610084 */ lwz r3, 0x84(r1) -/* 04B930 80050ED0 38040140 */ addi r0, r4, 0x140 -/* 04B934 80050ED4 7C1E0214 */ add r0, r30, r0 -/* 04B938 80050ED8 7C9E0050 */ subf r4, r30, r0 -/* 04B93C 80050EDC 38030001 */ addi r0, r3, 1 -/* 04B940 80050EE0 3C8438A0 */ addis r4, r4, 0x38a0 -/* 04B944 80050EE4 90010084 */ stw r0, 0x84(r1) -/* 04B948 80050EE8 38040004 */ addi r0, r4, 4 -/* 04B94C 80050EEC 5463103A */ slwi r3, r3, 2 -/* 04B950 80050EF0 7C1F192E */ stwx r0, r31, r3 -/* 04B954 80050EF4 48000010 */ b lbl_80050F04 -lbl_80050EF8: -/* 04B958 80050EF8 80610084 */ lwz r3, 0x84(r1) -/* 04B95C 80050EFC 38030001 */ addi r0, r3, 1 -/* 04B960 80050F00 90010084 */ stw r0, 0x84(r1) -lbl_80050F04: -/* 04B964 80050F04 281F0000 */ cmplwi r31, 0 -/* 04B968 80050F08 41820034 */ beq lbl_80050F3C -/* 04B96C 80050F0C 80610084 */ lwz r3, 0x84(r1) -/* 04B970 80050F10 800D8A4C */ lwz r0, cpuCompile_TRUNC_W_function@sda21(r13) -/* 04B974 80050F14 5465103A */ slwi r5, r3, 2 -/* 04B978 80050F18 7C9F2A14 */ add r4, r31, r5 -/* 04B97C 80050F1C 7C040050 */ subf r0, r4, r0 -/* 04B980 80050F20 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 04B984 80050F24 38630001 */ addi r3, r3, 1 -/* 04B988 80050F28 64004800 */ oris r0, r0, 0x4800 -/* 04B98C 80050F2C 90610084 */ stw r3, 0x84(r1) -/* 04B990 80050F30 60000001 */ ori r0, r0, 1 -/* 04B994 80050F34 7C1F292E */ stwx r0, r31, r5 -/* 04B998 80050F38 48016FFC */ b lbl_80067F34 -lbl_80050F3C: -/* 04B99C 80050F3C 80610084 */ lwz r3, 0x84(r1) -/* 04B9A0 80050F40 38030001 */ addi r0, r3, 1 -/* 04B9A4 80050F44 90010084 */ stw r0, 0x84(r1) -/* 04B9A8 80050F48 48016FEC */ b lbl_80067F34 -.global lbl_80050F4C -lbl_80050F4C: -/* 04B9AC 80050F4C 389D0000 */ addi r4, r29, 0 -/* 04B9B0 80050F50 4CC63182 */ crclr 6 -/* 04B9B4 80050F54 5798D6FE */ rlwinm r24, r28, 0x1a, 0x1b, 0x1f -/* 04B9B8 80050F58 5797AEFE */ rlwinm r23, r28, 0x15, 0x1b, 0x1f -/* 04B9BC 80050F5C 387A1328 */ addi r3, r26, 0x1328 -/* 04B9C0 80050F60 4804D699 */ bl OSReport -/* 04B9C4 80050F64 3C7E0001 */ addis r3, r30, 1 -/* 04B9C8 80050F68 80032064 */ lwz r0, 0x2064(r3) -/* 04B9CC 80050F6C 28000000 */ cmplwi r0, 0 -/* 04B9D0 80050F70 4082000C */ bne lbl_80050F7C -/* 04B9D4 80050F74 38000000 */ li r0, 0 -/* 04B9D8 80050F78 48000094 */ b lbl_8005100C -lbl_80050F7C: -/* 04B9DC 80050F7C 80032074 */ lwz r0, 0x2074(r3) -/* 04B9E0 80050F80 28000000 */ cmplwi r0, 0 -/* 04B9E4 80050F84 4082000C */ bne lbl_80050F90 -/* 04B9E8 80050F88 38000000 */ li r0, 0 -/* 04B9EC 80050F8C 48000080 */ b lbl_8005100C -lbl_80050F90: -/* 04B9F0 80050F90 80032078 */ lwz r0, 0x2078(r3) -/* 04B9F4 80050F94 7C170000 */ cmpw r23, r0 -/* 04B9F8 80050F98 4182000C */ beq lbl_80050FA4 -/* 04B9FC 80050F9C 38000000 */ li r0, 0 -/* 04BA00 80050FA0 4800006C */ b lbl_8005100C -lbl_80050FA4: -/* 04BA04 80050FA4 80BE0034 */ lwz r5, 0x34(r30) -/* 04BA08 80050FA8 38800000 */ li r4, 0 -/* 04BA0C 80050FAC 80050008 */ lwz r0, 8(r5) -/* 04BA10 80050FB0 2C000000 */ cmpwi r0, 0 -/* 04BA14 80050FB4 7C0903A6 */ mtctr r0 -/* 04BA18 80050FB8 40810028 */ ble lbl_80050FE0 -lbl_80050FBC: -/* 04BA1C 80050FBC 8065000C */ lwz r3, 0xc(r5) -/* 04BA20 80050FC0 38040004 */ addi r0, r4, 4 -/* 04BA24 80050FC4 7C03002E */ lwzx r0, r3, r0 -/* 04BA28 80050FC8 7C1D0000 */ cmpw r29, r0 -/* 04BA2C 80050FCC 4082000C */ bne lbl_80050FD8 -/* 04BA30 80050FD0 38000000 */ li r0, 0 -/* 04BA34 80050FD4 48000010 */ b lbl_80050FE4 -lbl_80050FD8: -/* 04BA38 80050FD8 38840008 */ addi r4, r4, 8 -/* 04BA3C 80050FDC 4200FFE0 */ bdnz lbl_80050FBC -lbl_80050FE0: -/* 04BA40 80050FE0 38000001 */ li r0, 1 -lbl_80050FE4: -/* 04BA44 80050FE4 2C000000 */ cmpwi r0, 0 -/* 04BA48 80050FE8 40820014 */ bne lbl_80050FFC -/* 04BA4C 80050FEC 38000000 */ li r0, 0 -/* 04BA50 80050FF0 3C7E0001 */ addis r3, r30, 1 -/* 04BA54 80050FF4 90032074 */ stw r0, 0x2074(r3) -/* 04BA58 80050FF8 48000014 */ b lbl_8005100C -lbl_80050FFC: -/* 04BA5C 80050FFC 3C7E0001 */ addis r3, r30, 1 -/* 04BA60 80051000 38000000 */ li r0, 0 -/* 04BA64 80051004 90032074 */ stw r0, 0x2074(r3) -/* 04BA68 80051008 38000001 */ li r0, 1 -lbl_8005100C: -/* 04BA6C 8005100C 2C000000 */ cmpwi r0, 0 -/* 04BA70 80051010 41820040 */ beq lbl_80051050 -/* 04BA74 80051014 281F0000 */ cmplwi r31, 0 -/* 04BA78 80051018 41820028 */ beq lbl_80051040 -/* 04BA7C 8005101C 80610084 */ lwz r3, 0x84(r1) -/* 04BA80 80051020 56E05828 */ slwi r0, r23, 0xb -/* 04BA84 80051024 6404FC20 */ oris r4, r0, 0xfc20 -/* 04BA88 80051028 38030001 */ addi r0, r3, 1 -/* 04BA8C 8005102C 90010084 */ stw r0, 0x84(r1) -/* 04BA90 80051030 60840090 */ ori r4, r4, 0x90 -/* 04BA94 80051034 5460103A */ slwi r0, r3, 2 -/* 04BA98 80051038 7C9F012E */ stwx r4, r31, r0 -/* 04BA9C 8005103C 48000058 */ b lbl_80051094 -lbl_80051040: -/* 04BAA0 80051040 80610084 */ lwz r3, 0x84(r1) -/* 04BAA4 80051044 38030001 */ addi r0, r3, 1 -/* 04BAA8 80051048 90010084 */ stw r0, 0x84(r1) -/* 04BAAC 8005104C 48000048 */ b lbl_80051094 -lbl_80051050: -/* 04BAB0 80051050 281F0000 */ cmplwi r31, 0 -/* 04BAB4 80051054 41820034 */ beq lbl_80051088 -/* 04BAB8 80051058 56E41838 */ slwi r4, r23, 3 -/* 04BABC 8005105C 80610084 */ lwz r3, 0x84(r1) -/* 04BAC0 80051060 38040140 */ addi r0, r4, 0x140 -/* 04BAC4 80051064 7C1E0214 */ add r0, r30, r0 -/* 04BAC8 80051068 7C9E0050 */ subf r4, r30, r0 -/* 04BACC 8005106C 38030001 */ addi r0, r3, 1 -/* 04BAD0 80051070 3C84C023 */ addis r4, r4, 0xc023 -/* 04BAD4 80051074 90010084 */ stw r0, 0x84(r1) -/* 04BAD8 80051078 38040004 */ addi r0, r4, 4 -/* 04BADC 8005107C 5463103A */ slwi r3, r3, 2 -/* 04BAE0 80051080 7C1F192E */ stwx r0, r31, r3 -/* 04BAE4 80051084 48000010 */ b lbl_80051094 -lbl_80051088: -/* 04BAE8 80051088 80610084 */ lwz r3, 0x84(r1) -/* 04BAEC 8005108C 38030001 */ addi r0, r3, 1 -/* 04BAF0 80051090 90010084 */ stw r0, 0x84(r1) -lbl_80051094: -/* 04BAF4 80051094 281F0000 */ cmplwi r31, 0 -/* 04BAF8 80051098 41820034 */ beq lbl_800510CC -/* 04BAFC 8005109C 80610084 */ lwz r3, 0x84(r1) -/* 04BB00 800510A0 800D8A40 */ lwz r0, cpuCompile_CEIL_W_function@sda21(r13) -/* 04BB04 800510A4 5465103A */ slwi r5, r3, 2 -/* 04BB08 800510A8 7C9F2A14 */ add r4, r31, r5 -/* 04BB0C 800510AC 7C040050 */ subf r0, r4, r0 -/* 04BB10 800510B0 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 04BB14 800510B4 38630001 */ addi r3, r3, 1 -/* 04BB18 800510B8 64004800 */ oris r0, r0, 0x4800 -/* 04BB1C 800510BC 90610084 */ stw r3, 0x84(r1) -/* 04BB20 800510C0 60000001 */ ori r0, r0, 1 -/* 04BB24 800510C4 7C1F292E */ stwx r0, r31, r5 -/* 04BB28 800510C8 48000010 */ b lbl_800510D8 -lbl_800510CC: -/* 04BB2C 800510CC 80610084 */ lwz r3, 0x84(r1) -/* 04BB30 800510D0 38030001 */ addi r0, r3, 1 -/* 04BB34 800510D4 90010084 */ stw r0, 0x84(r1) -lbl_800510D8: -/* 04BB38 800510D8 281F0000 */ cmplwi r31, 0 -/* 04BB3C 800510DC 41820034 */ beq lbl_80051110 -/* 04BB40 800510E0 57041838 */ slwi r4, r24, 3 -/* 04BB44 800510E4 80610084 */ lwz r3, 0x84(r1) -/* 04BB48 800510E8 38040140 */ addi r0, r4, 0x140 -/* 04BB4C 800510EC 7C1E0214 */ add r0, r30, r0 -/* 04BB50 800510F0 7C9E0050 */ subf r4, r30, r0 -/* 04BB54 800510F4 38030001 */ addi r0, r3, 1 -/* 04BB58 800510F8 3C8490A3 */ addis r4, r4, 0x90a3 -/* 04BB5C 800510FC 90010084 */ stw r0, 0x84(r1) -/* 04BB60 80051100 38040004 */ addi r0, r4, 4 -/* 04BB64 80051104 5463103A */ slwi r3, r3, 2 -/* 04BB68 80051108 7C1F192E */ stwx r0, r31, r3 -/* 04BB6C 8005110C 48016E28 */ b lbl_80067F34 -lbl_80051110: -/* 04BB70 80051110 80610084 */ lwz r3, 0x84(r1) -/* 04BB74 80051114 38030001 */ addi r0, r3, 1 -/* 04BB78 80051118 90010084 */ stw r0, 0x84(r1) -/* 04BB7C 8005111C 48016E18 */ b lbl_80067F34 -.global lbl_80051120 -lbl_80051120: -/* 04BB80 80051120 389D0000 */ addi r4, r29, 0 -/* 04BB84 80051124 4CC63182 */ crclr 6 -/* 04BB88 80051128 5798D6FE */ rlwinm r24, r28, 0x1a, 0x1b, 0x1f -/* 04BB8C 8005112C 5797AEFE */ rlwinm r23, r28, 0x15, 0x1b, 0x1f -/* 04BB90 80051130 387A1344 */ addi r3, r26, 0x1344 -/* 04BB94 80051134 4804D4C5 */ bl OSReport -/* 04BB98 80051138 3C7E0001 */ addis r3, r30, 1 -/* 04BB9C 8005113C 80032064 */ lwz r0, 0x2064(r3) -/* 04BBA0 80051140 28000000 */ cmplwi r0, 0 -/* 04BBA4 80051144 4082000C */ bne lbl_80051150 -/* 04BBA8 80051148 38000000 */ li r0, 0 -/* 04BBAC 8005114C 48000094 */ b lbl_800511E0 -lbl_80051150: -/* 04BBB0 80051150 80032074 */ lwz r0, 0x2074(r3) -/* 04BBB4 80051154 28000000 */ cmplwi r0, 0 -/* 04BBB8 80051158 4082000C */ bne lbl_80051164 -/* 04BBBC 8005115C 38000000 */ li r0, 0 -/* 04BBC0 80051160 48000080 */ b lbl_800511E0 -lbl_80051164: -/* 04BBC4 80051164 80032078 */ lwz r0, 0x2078(r3) -/* 04BBC8 80051168 7C170000 */ cmpw r23, r0 -/* 04BBCC 8005116C 4182000C */ beq lbl_80051178 -/* 04BBD0 80051170 38000000 */ li r0, 0 -/* 04BBD4 80051174 4800006C */ b lbl_800511E0 -lbl_80051178: -/* 04BBD8 80051178 80BE0034 */ lwz r5, 0x34(r30) -/* 04BBDC 8005117C 38800000 */ li r4, 0 -/* 04BBE0 80051180 80050008 */ lwz r0, 8(r5) -/* 04BBE4 80051184 2C000000 */ cmpwi r0, 0 -/* 04BBE8 80051188 7C0903A6 */ mtctr r0 -/* 04BBEC 8005118C 40810028 */ ble lbl_800511B4 -lbl_80051190: -/* 04BBF0 80051190 8065000C */ lwz r3, 0xc(r5) -/* 04BBF4 80051194 38040004 */ addi r0, r4, 4 -/* 04BBF8 80051198 7C03002E */ lwzx r0, r3, r0 -/* 04BBFC 8005119C 7C1D0000 */ cmpw r29, r0 -/* 04BC00 800511A0 4082000C */ bne lbl_800511AC -/* 04BC04 800511A4 38000000 */ li r0, 0 -/* 04BC08 800511A8 48000010 */ b lbl_800511B8 -lbl_800511AC: -/* 04BC0C 800511AC 38840008 */ addi r4, r4, 8 -/* 04BC10 800511B0 4200FFE0 */ bdnz lbl_80051190 -lbl_800511B4: -/* 04BC14 800511B4 38000001 */ li r0, 1 -lbl_800511B8: -/* 04BC18 800511B8 2C000000 */ cmpwi r0, 0 -/* 04BC1C 800511BC 40820014 */ bne lbl_800511D0 -/* 04BC20 800511C0 38000000 */ li r0, 0 -/* 04BC24 800511C4 3C7E0001 */ addis r3, r30, 1 -/* 04BC28 800511C8 90032074 */ stw r0, 0x2074(r3) -/* 04BC2C 800511CC 48000014 */ b lbl_800511E0 -lbl_800511D0: -/* 04BC30 800511D0 3C7E0001 */ addis r3, r30, 1 -/* 04BC34 800511D4 38000000 */ li r0, 0 -/* 04BC38 800511D8 90032074 */ stw r0, 0x2074(r3) -/* 04BC3C 800511DC 38000001 */ li r0, 1 -lbl_800511E0: -/* 04BC40 800511E0 2C000000 */ cmpwi r0, 0 -/* 04BC44 800511E4 41820040 */ beq lbl_80051224 -/* 04BC48 800511E8 281F0000 */ cmplwi r31, 0 -/* 04BC4C 800511EC 41820028 */ beq lbl_80051214 -/* 04BC50 800511F0 80610084 */ lwz r3, 0x84(r1) -/* 04BC54 800511F4 56E05828 */ slwi r0, r23, 0xb -/* 04BC58 800511F8 6404FC20 */ oris r4, r0, 0xfc20 -/* 04BC5C 800511FC 38030001 */ addi r0, r3, 1 -/* 04BC60 80051200 90010084 */ stw r0, 0x84(r1) -/* 04BC64 80051204 60840090 */ ori r4, r4, 0x90 -/* 04BC68 80051208 5460103A */ slwi r0, r3, 2 -/* 04BC6C 8005120C 7C9F012E */ stwx r4, r31, r0 -/* 04BC70 80051210 48000058 */ b lbl_80051268 -lbl_80051214: -/* 04BC74 80051214 80610084 */ lwz r3, 0x84(r1) -/* 04BC78 80051218 38030001 */ addi r0, r3, 1 -/* 04BC7C 8005121C 90010084 */ stw r0, 0x84(r1) -/* 04BC80 80051220 48000048 */ b lbl_80051268 -lbl_80051224: -/* 04BC84 80051224 281F0000 */ cmplwi r31, 0 -/* 04BC88 80051228 41820034 */ beq lbl_8005125C -/* 04BC8C 8005122C 56E41838 */ slwi r4, r23, 3 -/* 04BC90 80051230 80610084 */ lwz r3, 0x84(r1) -/* 04BC94 80051234 38040140 */ addi r0, r4, 0x140 -/* 04BC98 80051238 7C1E0214 */ add r0, r30, r0 -/* 04BC9C 8005123C 7C9E0050 */ subf r4, r30, r0 -/* 04BCA0 80051240 38030001 */ addi r0, r3, 1 -/* 04BCA4 80051244 3C84C023 */ addis r4, r4, 0xc023 -/* 04BCA8 80051248 90010084 */ stw r0, 0x84(r1) -/* 04BCAC 8005124C 38040004 */ addi r0, r4, 4 -/* 04BCB0 80051250 5463103A */ slwi r3, r3, 2 -/* 04BCB4 80051254 7C1F192E */ stwx r0, r31, r3 -/* 04BCB8 80051258 48000010 */ b lbl_80051268 -lbl_8005125C: -/* 04BCBC 8005125C 80610084 */ lwz r3, 0x84(r1) -/* 04BCC0 80051260 38030001 */ addi r0, r3, 1 -/* 04BCC4 80051264 90010084 */ stw r0, 0x84(r1) -lbl_80051268: -/* 04BCC8 80051268 281F0000 */ cmplwi r31, 0 -/* 04BCCC 8005126C 41820034 */ beq lbl_800512A0 -/* 04BCD0 80051270 80610084 */ lwz r3, 0x84(r1) -/* 04BCD4 80051274 800D8A44 */ lwz r0, cpuCompile_FLOOR_W_function@sda21(r13) -/* 04BCD8 80051278 5465103A */ slwi r5, r3, 2 -/* 04BCDC 8005127C 7C9F2A14 */ add r4, r31, r5 -/* 04BCE0 80051280 7C040050 */ subf r0, r4, r0 -/* 04BCE4 80051284 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 04BCE8 80051288 38630001 */ addi r3, r3, 1 -/* 04BCEC 8005128C 64004800 */ oris r0, r0, 0x4800 -/* 04BCF0 80051290 90610084 */ stw r3, 0x84(r1) -/* 04BCF4 80051294 60000001 */ ori r0, r0, 1 -/* 04BCF8 80051298 7C1F292E */ stwx r0, r31, r5 -/* 04BCFC 8005129C 48000010 */ b lbl_800512AC -lbl_800512A0: -/* 04BD00 800512A0 80610084 */ lwz r3, 0x84(r1) -/* 04BD04 800512A4 38030001 */ addi r0, r3, 1 -/* 04BD08 800512A8 90010084 */ stw r0, 0x84(r1) -lbl_800512AC: -/* 04BD0C 800512AC 281F0000 */ cmplwi r31, 0 -/* 04BD10 800512B0 41820034 */ beq lbl_800512E4 -/* 04BD14 800512B4 57041838 */ slwi r4, r24, 3 -/* 04BD18 800512B8 80610084 */ lwz r3, 0x84(r1) -/* 04BD1C 800512BC 38040140 */ addi r0, r4, 0x140 -/* 04BD20 800512C0 7C1E0214 */ add r0, r30, r0 -/* 04BD24 800512C4 7C9E0050 */ subf r4, r30, r0 -/* 04BD28 800512C8 38030001 */ addi r0, r3, 1 -/* 04BD2C 800512CC 3C8490A3 */ addis r4, r4, 0x90a3 -/* 04BD30 800512D0 90010084 */ stw r0, 0x84(r1) -/* 04BD34 800512D4 38040004 */ addi r0, r4, 4 -/* 04BD38 800512D8 5463103A */ slwi r3, r3, 2 -/* 04BD3C 800512DC 7C1F192E */ stwx r0, r31, r3 -/* 04BD40 800512E0 48016C54 */ b lbl_80067F34 -lbl_800512E4: -/* 04BD44 800512E4 80610084 */ lwz r3, 0x84(r1) -/* 04BD48 800512E8 38030001 */ addi r0, r3, 1 -/* 04BD4C 800512EC 90010084 */ stw r0, 0x84(r1) -/* 04BD50 800512F0 48016C44 */ b lbl_80067F34 -.global lbl_800512F4 -lbl_800512F4: -/* 04BD54 800512F4 387A1364 */ addi r3, r26, 0x1364 -/* 04BD58 800512F8 4CC63182 */ crclr 6 -/* 04BD5C 800512FC 4804D2FD */ bl OSReport -/* 04BD60 80051300 48016C34 */ b lbl_80067F34 -.global lbl_80051304 -lbl_80051304: -/* 04BD64 80051304 281F0000 */ cmplwi r31, 0 -/* 04BD68 80051308 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 04BD6C 8005130C 5783AEFE */ rlwinm r3, r28, 0x15, 0x1b, 0x1f -/* 04BD70 80051310 41820034 */ beq lbl_80051344 -/* 04BD74 80051314 54631838 */ slwi r3, r3, 3 -/* 04BD78 80051318 80810084 */ lwz r4, 0x84(r1) -/* 04BD7C 8005131C 38630140 */ addi r3, r3, 0x140 -/* 04BD80 80051320 7C7E1A14 */ add r3, r30, r3 -/* 04BD84 80051324 7CBE1850 */ subf r5, r30, r3 -/* 04BD88 80051328 38640001 */ addi r3, r4, 1 -/* 04BD8C 8005132C 3CA5C023 */ addis r5, r5, 0xc023 -/* 04BD90 80051330 90610084 */ stw r3, 0x84(r1) -/* 04BD94 80051334 38650004 */ addi r3, r5, 4 -/* 04BD98 80051338 5484103A */ slwi r4, r4, 2 -/* 04BD9C 8005133C 7C7F212E */ stwx r3, r31, r4 -/* 04BDA0 80051340 48000010 */ b lbl_80051350 -lbl_80051344: -/* 04BDA4 80051344 80610084 */ lwz r3, 0x84(r1) -/* 04BDA8 80051348 38630001 */ addi r3, r3, 1 -/* 04BDAC 8005134C 90610084 */ stw r3, 0x84(r1) -lbl_80051350: -/* 04BDB0 80051350 281F0000 */ cmplwi r31, 0 -/* 04BDB4 80051354 41820030 */ beq lbl_80051384 -/* 04BDB8 80051358 80610084 */ lwz r3, 0x84(r1) -/* 04BDBC 8005135C 54041838 */ slwi r4, r0, 3 -/* 04BDC0 80051360 38040140 */ addi r0, r4, 0x140 -/* 04BDC4 80051364 7C9E0214 */ add r4, r30, r0 -/* 04BDC8 80051368 38030001 */ addi r0, r3, 1 -/* 04BDCC 8005136C 7C9E2050 */ subf r4, r30, r4 -/* 04BDD0 80051370 90010084 */ stw r0, 0x84(r1) -/* 04BDD4 80051374 3C04D823 */ addis r0, r4, 0xd823 -/* 04BDD8 80051378 5463103A */ slwi r3, r3, 2 -/* 04BDDC 8005137C 7C1F192E */ stwx r0, r31, r3 -/* 04BDE0 80051380 48016BB4 */ b lbl_80067F34 -lbl_80051384: -/* 04BDE4 80051384 80610084 */ lwz r3, 0x84(r1) -/* 04BDE8 80051388 38030001 */ addi r0, r3, 1 -/* 04BDEC 8005138C 90010084 */ stw r0, 0x84(r1) -/* 04BDF0 80051390 48016BA4 */ b lbl_80067F34 -.global lbl_80051394 -lbl_80051394: -/* 04BDF4 80051394 3C7E0001 */ addis r3, r30, 1 -/* 04BDF8 80051398 80032064 */ lwz r0, 0x2064(r3) -/* 04BDFC 8005139C 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 04BE00 800513A0 5787AEFE */ rlwinm r7, r28, 0x15, 0x1b, 0x1f -/* 04BE04 800513A4 28000000 */ cmplwi r0, 0 -/* 04BE08 800513A8 4082000C */ bne lbl_800513B4 -/* 04BE0C 800513AC 38000000 */ li r0, 0 -/* 04BE10 800513B0 48000094 */ b lbl_80051444 -lbl_800513B4: -/* 04BE14 800513B4 80032074 */ lwz r0, 0x2074(r3) -/* 04BE18 800513B8 28000000 */ cmplwi r0, 0 -/* 04BE1C 800513BC 4082000C */ bne lbl_800513C8 -/* 04BE20 800513C0 38000000 */ li r0, 0 -/* 04BE24 800513C4 48000080 */ b lbl_80051444 -lbl_800513C8: -/* 04BE28 800513C8 80032078 */ lwz r0, 0x2078(r3) -/* 04BE2C 800513CC 7C070000 */ cmpw r7, r0 -/* 04BE30 800513D0 4182000C */ beq lbl_800513DC -/* 04BE34 800513D4 38000000 */ li r0, 0 -/* 04BE38 800513D8 4800006C */ b lbl_80051444 -lbl_800513DC: -/* 04BE3C 800513DC 80BE0034 */ lwz r5, 0x34(r30) -/* 04BE40 800513E0 38800000 */ li r4, 0 -/* 04BE44 800513E4 80050008 */ lwz r0, 8(r5) -/* 04BE48 800513E8 2C000000 */ cmpwi r0, 0 -/* 04BE4C 800513EC 7C0903A6 */ mtctr r0 -/* 04BE50 800513F0 40810028 */ ble lbl_80051418 -lbl_800513F4: -/* 04BE54 800513F4 8065000C */ lwz r3, 0xc(r5) -/* 04BE58 800513F8 38040004 */ addi r0, r4, 4 -/* 04BE5C 800513FC 7C03002E */ lwzx r0, r3, r0 -/* 04BE60 80051400 7C1D0000 */ cmpw r29, r0 -/* 04BE64 80051404 4082000C */ bne lbl_80051410 -/* 04BE68 80051408 38000000 */ li r0, 0 -/* 04BE6C 8005140C 48000010 */ b lbl_8005141C -lbl_80051410: -/* 04BE70 80051410 38840008 */ addi r4, r4, 8 -/* 04BE74 80051414 4200FFE0 */ bdnz lbl_800513F4 -lbl_80051418: -/* 04BE78 80051418 38000001 */ li r0, 1 -lbl_8005141C: -/* 04BE7C 8005141C 2C000000 */ cmpwi r0, 0 -/* 04BE80 80051420 40820014 */ bne lbl_80051434 -/* 04BE84 80051424 38000000 */ li r0, 0 -/* 04BE88 80051428 3C7E0001 */ addis r3, r30, 1 -/* 04BE8C 8005142C 90032074 */ stw r0, 0x2074(r3) -/* 04BE90 80051430 48000014 */ b lbl_80051444 -lbl_80051434: -/* 04BE94 80051434 3C7E0001 */ addis r3, r30, 1 -/* 04BE98 80051438 38000000 */ li r0, 0 -/* 04BE9C 8005143C 90032074 */ stw r0, 0x2074(r3) -/* 04BEA0 80051440 38000001 */ li r0, 1 -lbl_80051444: -/* 04BEA4 80051444 2C000000 */ cmpwi r0, 0 -/* 04BEA8 80051448 41820040 */ beq lbl_80051488 -/* 04BEAC 8005144C 281F0000 */ cmplwi r31, 0 -/* 04BEB0 80051450 41820028 */ beq lbl_80051478 -/* 04BEB4 80051454 80610084 */ lwz r3, 0x84(r1) -/* 04BEB8 80051458 54E05828 */ slwi r0, r7, 0xb -/* 04BEBC 8005145C 6404FC20 */ oris r4, r0, 0xfc20 -/* 04BEC0 80051460 38030001 */ addi r0, r3, 1 -/* 04BEC4 80051464 90010084 */ stw r0, 0x84(r1) -/* 04BEC8 80051468 60840090 */ ori r4, r4, 0x90 -/* 04BECC 8005146C 5460103A */ slwi r0, r3, 2 -/* 04BED0 80051470 7C9F012E */ stwx r4, r31, r0 -/* 04BED4 80051474 48000058 */ b lbl_800514CC -lbl_80051478: -/* 04BED8 80051478 80610084 */ lwz r3, 0x84(r1) -/* 04BEDC 8005147C 38030001 */ addi r0, r3, 1 -/* 04BEE0 80051480 90010084 */ stw r0, 0x84(r1) -/* 04BEE4 80051484 48000048 */ b lbl_800514CC -lbl_80051488: -/* 04BEE8 80051488 281F0000 */ cmplwi r31, 0 -/* 04BEEC 8005148C 41820034 */ beq lbl_800514C0 -/* 04BEF0 80051490 54E41838 */ slwi r4, r7, 3 -/* 04BEF4 80051494 80610084 */ lwz r3, 0x84(r1) -/* 04BEF8 80051498 38040140 */ addi r0, r4, 0x140 -/* 04BEFC 8005149C 7C1E0214 */ add r0, r30, r0 -/* 04BF00 800514A0 7C9E0050 */ subf r4, r30, r0 -/* 04BF04 800514A4 38030001 */ addi r0, r3, 1 -/* 04BF08 800514A8 3C84C023 */ addis r4, r4, 0xc023 -/* 04BF0C 800514AC 90010084 */ stw r0, 0x84(r1) -/* 04BF10 800514B0 38040004 */ addi r0, r4, 4 -/* 04BF14 800514B4 5463103A */ slwi r3, r3, 2 -/* 04BF18 800514B8 7C1F192E */ stwx r0, r31, r3 -/* 04BF1C 800514BC 48000010 */ b lbl_800514CC -lbl_800514C0: -/* 04BF20 800514C0 80610084 */ lwz r3, 0x84(r1) -/* 04BF24 800514C4 38030001 */ addi r0, r3, 1 -/* 04BF28 800514C8 90010084 */ stw r0, 0x84(r1) -lbl_800514CC: -/* 04BF2C 800514CC 281F0000 */ cmplwi r31, 0 -/* 04BF30 800514D0 41820034 */ beq lbl_80051504 -/* 04BF34 800514D4 54C41838 */ slwi r4, r6, 3 -/* 04BF38 800514D8 80610084 */ lwz r3, 0x84(r1) -/* 04BF3C 800514DC 38040140 */ addi r0, r4, 0x140 -/* 04BF40 800514E0 7C1E0214 */ add r0, r30, r0 -/* 04BF44 800514E4 7C9E0050 */ subf r4, r30, r0 -/* 04BF48 800514E8 38030001 */ addi r0, r3, 1 -/* 04BF4C 800514EC 3C8438A0 */ addis r4, r4, 0x38a0 -/* 04BF50 800514F0 90010084 */ stw r0, 0x84(r1) -/* 04BF54 800514F4 38040004 */ addi r0, r4, 4 -/* 04BF58 800514F8 5463103A */ slwi r3, r3, 2 -/* 04BF5C 800514FC 7C1F192E */ stwx r0, r31, r3 -/* 04BF60 80051500 48000010 */ b lbl_80051510 -lbl_80051504: -/* 04BF64 80051504 80610084 */ lwz r3, 0x84(r1) -/* 04BF68 80051508 38030001 */ addi r0, r3, 1 -/* 04BF6C 8005150C 90010084 */ stw r0, 0x84(r1) -lbl_80051510: -/* 04BF70 80051510 281F0000 */ cmplwi r31, 0 -/* 04BF74 80051514 41820034 */ beq lbl_80051548 -/* 04BF78 80051518 80610084 */ lwz r3, 0x84(r1) -/* 04BF7C 8005151C 800D8A4C */ lwz r0, cpuCompile_TRUNC_W_function@sda21(r13) -/* 04BF80 80051520 5465103A */ slwi r5, r3, 2 -/* 04BF84 80051524 7C9F2A14 */ add r4, r31, r5 -/* 04BF88 80051528 7C040050 */ subf r0, r4, r0 -/* 04BF8C 8005152C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 04BF90 80051530 38630001 */ addi r3, r3, 1 -/* 04BF94 80051534 64004800 */ oris r0, r0, 0x4800 -/* 04BF98 80051538 90610084 */ stw r3, 0x84(r1) -/* 04BF9C 8005153C 60000001 */ ori r0, r0, 1 -/* 04BFA0 80051540 7C1F292E */ stwx r0, r31, r5 -/* 04BFA4 80051544 480169F0 */ b lbl_80067F34 -lbl_80051548: -/* 04BFA8 80051548 80610084 */ lwz r3, 0x84(r1) -/* 04BFAC 8005154C 38030001 */ addi r0, r3, 1 -/* 04BFB0 80051550 90010084 */ stw r0, 0x84(r1) -/* 04BFB4 80051554 480169E0 */ b lbl_80067F34 -.global lbl_80051558 -lbl_80051558: -/* 04BFB8 80051558 281F0000 */ cmplwi r31, 0 -/* 04BFBC 8005155C 41820028 */ beq lbl_80051584 -/* 04BFC0 80051560 80610084 */ lwz r3, 0x84(r1) -/* 04BFC4 80051564 381E0A3C */ addi r0, r30, 0xa3c -/* 04BFC8 80051568 7C9E0050 */ subf r4, r30, r0 -/* 04BFCC 8005156C 38030001 */ addi r0, r3, 1 -/* 04BFD0 80051570 90010084 */ stw r0, 0x84(r1) -/* 04BFD4 80051574 3C0480A3 */ addis r0, r4, 0x80a3 -/* 04BFD8 80051578 5463103A */ slwi r3, r3, 2 -/* 04BFDC 8005157C 7C1F192E */ stwx r0, r31, r3 -/* 04BFE0 80051580 48000010 */ b lbl_80051590 -lbl_80051584: -/* 04BFE4 80051584 80610084 */ lwz r3, 0x84(r1) -/* 04BFE8 80051588 38030001 */ addi r0, r3, 1 -/* 04BFEC 8005158C 90010084 */ stw r0, 0x84(r1) -lbl_80051590: -/* 04BFF0 80051590 281F0000 */ cmplwi r31, 0 -/* 04BFF4 80051594 41820024 */ beq lbl_800515B8 -/* 04BFF8 80051598 80610084 */ lwz r3, 0x84(r1) -/* 04BFFC 8005159C 3C8054A5 */ lis r4, 0x54a5 -/* 04C000 800515A0 3884024E */ addi r4, r4, 0x24e -/* 04C004 800515A4 38030001 */ addi r0, r3, 1 -/* 04C008 800515A8 90010084 */ stw r0, 0x84(r1) -/* 04C00C 800515AC 5460103A */ slwi r0, r3, 2 -/* 04C010 800515B0 7C9F012E */ stwx r4, r31, r0 -/* 04C014 800515B4 48000010 */ b lbl_800515C4 -lbl_800515B8: -/* 04C018 800515B8 80610084 */ lwz r3, 0x84(r1) -/* 04C01C 800515BC 38030001 */ addi r0, r3, 1 -/* 04C020 800515C0 90010084 */ stw r0, 0x84(r1) -lbl_800515C4: -/* 04C024 800515C4 281F0000 */ cmplwi r31, 0 -/* 04C028 800515C8 41820028 */ beq lbl_800515F0 -/* 04C02C 800515CC 80610084 */ lwz r3, 0x84(r1) -/* 04C030 800515D0 381E0A3C */ addi r0, r30, 0xa3c -/* 04C034 800515D4 7C9E0050 */ subf r4, r30, r0 -/* 04C038 800515D8 38030001 */ addi r0, r3, 1 -/* 04C03C 800515DC 90010084 */ stw r0, 0x84(r1) -/* 04C040 800515E0 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04C044 800515E4 5463103A */ slwi r3, r3, 2 -/* 04C048 800515E8 7C1F192E */ stwx r0, r31, r3 -/* 04C04C 800515EC 48016948 */ b lbl_80067F34 -lbl_800515F0: -/* 04C050 800515F0 80610084 */ lwz r3, 0x84(r1) -/* 04C054 800515F4 38030001 */ addi r0, r3, 1 -/* 04C058 800515F8 90010084 */ stw r0, 0x84(r1) -/* 04C05C 800515FC 48016938 */ b lbl_80067F34 -.global lbl_80051600 -lbl_80051600: -/* 04C060 80051600 281F0000 */ cmplwi r31, 0 -/* 04C064 80051604 41820028 */ beq lbl_8005162C -/* 04C068 80051608 80610084 */ lwz r3, 0x84(r1) -/* 04C06C 8005160C 381E0A3C */ addi r0, r30, 0xa3c -/* 04C070 80051610 7C9E0050 */ subf r4, r30, r0 -/* 04C074 80051614 38030001 */ addi r0, r3, 1 -/* 04C078 80051618 90010084 */ stw r0, 0x84(r1) -/* 04C07C 8005161C 3C0480A3 */ addis r0, r4, 0x80a3 -/* 04C080 80051620 5463103A */ slwi r3, r3, 2 -/* 04C084 80051624 7C1F192E */ stwx r0, r31, r3 -/* 04C088 80051628 48000010 */ b lbl_80051638 -lbl_8005162C: -/* 04C08C 8005162C 80610084 */ lwz r3, 0x84(r1) -/* 04C090 80051630 38030001 */ addi r0, r3, 1 -/* 04C094 80051634 90010084 */ stw r0, 0x84(r1) -lbl_80051638: -/* 04C098 80051638 281F0000 */ cmplwi r31, 0 -/* 04C09C 8005163C 41820024 */ beq lbl_80051660 -/* 04C0A0 80051640 80610084 */ lwz r3, 0x84(r1) -/* 04C0A4 80051644 3C8054A5 */ lis r4, 0x54a5 -/* 04C0A8 80051648 3884024E */ addi r4, r4, 0x24e -/* 04C0AC 8005164C 38030001 */ addi r0, r3, 1 -/* 04C0B0 80051650 90010084 */ stw r0, 0x84(r1) -/* 04C0B4 80051654 5460103A */ slwi r0, r3, 2 -/* 04C0B8 80051658 7C9F012E */ stwx r4, r31, r0 -/* 04C0BC 8005165C 48000010 */ b lbl_8005166C -lbl_80051660: -/* 04C0C0 80051660 80610084 */ lwz r3, 0x84(r1) -/* 04C0C4 80051664 38030001 */ addi r0, r3, 1 -/* 04C0C8 80051668 90010084 */ stw r0, 0x84(r1) -lbl_8005166C: -/* 04C0CC 8005166C 281F0000 */ cmplwi r31, 0 -/* 04C0D0 80051670 41820028 */ beq lbl_80051698 -/* 04C0D4 80051674 80610084 */ lwz r3, 0x84(r1) -/* 04C0D8 80051678 381E0A3C */ addi r0, r30, 0xa3c -/* 04C0DC 8005167C 7C9E0050 */ subf r4, r30, r0 -/* 04C0E0 80051680 38030001 */ addi r0, r3, 1 -/* 04C0E4 80051684 90010084 */ stw r0, 0x84(r1) -/* 04C0E8 80051688 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04C0EC 8005168C 5463103A */ slwi r3, r3, 2 -/* 04C0F0 80051690 7C1F192E */ stwx r0, r31, r3 -/* 04C0F4 80051694 480168A0 */ b lbl_80067F34 -lbl_80051698: -/* 04C0F8 80051698 80610084 */ lwz r3, 0x84(r1) -/* 04C0FC 8005169C 38030001 */ addi r0, r3, 1 -/* 04C100 800516A0 90010084 */ stw r0, 0x84(r1) -/* 04C104 800516A4 48016890 */ b lbl_80067F34 -.global lbl_800516A8 -lbl_800516A8: -/* 04C108 800516A8 281F0000 */ cmplwi r31, 0 -/* 04C10C 800516AC 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04C110 800516B0 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04C114 800516B4 41820028 */ beq lbl_800516DC -/* 04C118 800516B8 80810084 */ lwz r4, 0x84(r1) -/* 04C11C 800516BC 38BE0A3C */ addi r5, r30, 0xa3c -/* 04C120 800516C0 7CBE2850 */ subf r5, r30, r5 -/* 04C124 800516C4 38C40001 */ addi r6, r4, 1 -/* 04C128 800516C8 90C10084 */ stw r6, 0x84(r1) -/* 04C12C 800516CC 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04C130 800516D0 5484103A */ slwi r4, r4, 2 -/* 04C134 800516D4 7CBF212E */ stwx r5, r31, r4 -/* 04C138 800516D8 48000010 */ b lbl_800516E8 -lbl_800516DC: -/* 04C13C 800516DC 80810084 */ lwz r4, 0x84(r1) -/* 04C140 800516E0 38840001 */ addi r4, r4, 1 -/* 04C144 800516E4 90810084 */ stw r4, 0x84(r1) -lbl_800516E8: -/* 04C148 800516E8 3C9E0001 */ addis r4, r30, 1 -/* 04C14C 800516EC 80A42064 */ lwz r5, 0x2064(r4) -/* 04C150 800516F0 28050000 */ cmplwi r5, 0 -/* 04C154 800516F4 4082000C */ bne lbl_80051700 -/* 04C158 800516F8 38A00000 */ li r5, 0 -/* 04C15C 800516FC 48000094 */ b lbl_80051790 -lbl_80051700: -/* 04C160 80051700 80A42074 */ lwz r5, 0x2074(r4) -/* 04C164 80051704 28050000 */ cmplwi r5, 0 -/* 04C168 80051708 4082000C */ bne lbl_80051714 -/* 04C16C 8005170C 38A00000 */ li r5, 0 -/* 04C170 80051710 48000080 */ b lbl_80051790 -lbl_80051714: -/* 04C174 80051714 80842078 */ lwz r4, 0x2078(r4) -/* 04C178 80051718 7C002000 */ cmpw r0, r4 -/* 04C17C 8005171C 4182000C */ beq lbl_80051728 -/* 04C180 80051720 38A00000 */ li r5, 0 -/* 04C184 80051724 4800006C */ b lbl_80051790 -lbl_80051728: -/* 04C188 80051728 80DE0034 */ lwz r6, 0x34(r30) -/* 04C18C 8005172C 38A00000 */ li r5, 0 -/* 04C190 80051730 80860008 */ lwz r4, 8(r6) -/* 04C194 80051734 2C040000 */ cmpwi r4, 0 -/* 04C198 80051738 7C8903A6 */ mtctr r4 -/* 04C19C 8005173C 40810028 */ ble lbl_80051764 -lbl_80051740: -/* 04C1A0 80051740 8086000C */ lwz r4, 0xc(r6) -/* 04C1A4 80051744 38E50004 */ addi r7, r5, 4 -/* 04C1A8 80051748 7C84382E */ lwzx r4, r4, r7 -/* 04C1AC 8005174C 7C1D2000 */ cmpw r29, r4 -/* 04C1B0 80051750 4082000C */ bne lbl_8005175C -/* 04C1B4 80051754 38800000 */ li r4, 0 -/* 04C1B8 80051758 48000010 */ b lbl_80051768 -lbl_8005175C: -/* 04C1BC 8005175C 38A50008 */ addi r5, r5, 8 -/* 04C1C0 80051760 4200FFE0 */ bdnz lbl_80051740 -lbl_80051764: -/* 04C1C4 80051764 38800001 */ li r4, 1 -lbl_80051768: -/* 04C1C8 80051768 2C040000 */ cmpwi r4, 0 -/* 04C1CC 8005176C 40820014 */ bne lbl_80051780 -/* 04C1D0 80051770 38A00000 */ li r5, 0 -/* 04C1D4 80051774 3C9E0001 */ addis r4, r30, 1 -/* 04C1D8 80051778 90A42074 */ stw r5, 0x2074(r4) -/* 04C1DC 8005177C 48000014 */ b lbl_80051790 -lbl_80051780: -/* 04C1E0 80051780 3C9E0001 */ addis r4, r30, 1 -/* 04C1E4 80051784 38A00000 */ li r5, 0 -/* 04C1E8 80051788 90A42074 */ stw r5, 0x2074(r4) -/* 04C1EC 8005178C 38A00001 */ li r5, 1 -lbl_80051790: -/* 04C1F0 80051790 2C050000 */ cmpwi r5, 0 -/* 04C1F4 80051794 41820038 */ beq lbl_800517CC -/* 04C1F8 80051798 281F0000 */ cmplwi r31, 0 -/* 04C1FC 8005179C 41820020 */ beq lbl_800517BC -/* 04C200 800517A0 80A10084 */ lwz r5, 0x84(r1) -/* 04C204 800517A4 3CC06000 */ lis r6, 0x6000 -/* 04C208 800517A8 38850001 */ addi r4, r5, 1 -/* 04C20C 800517AC 90810084 */ stw r4, 0x84(r1) -/* 04C210 800517B0 54A4103A */ slwi r4, r5, 2 -/* 04C214 800517B4 7CDF212E */ stwx r6, r31, r4 -/* 04C218 800517B8 48000064 */ b lbl_8005181C -lbl_800517BC: -/* 04C21C 800517BC 80810084 */ lwz r4, 0x84(r1) -/* 04C220 800517C0 38840001 */ addi r4, r4, 1 -/* 04C224 800517C4 90810084 */ stw r4, 0x84(r1) -/* 04C228 800517C8 48000054 */ b lbl_8005181C -lbl_800517CC: -/* 04C22C 800517CC 281F0000 */ cmplwi r31, 0 -/* 04C230 800517D0 41820040 */ beq lbl_80051810 -/* 04C234 800517D4 54041838 */ slwi r4, r0, 3 -/* 04C238 800517D8 80C10084 */ lwz r6, 0x84(r1) -/* 04C23C 800517DC 38840140 */ addi r4, r4, 0x140 -/* 04C240 800517E0 7C9E2214 */ add r4, r30, r4 -/* 04C244 800517E4 7CBE2050 */ subf r5, r30, r4 -/* 04C248 800517E8 5404A814 */ slwi r4, r0, 0x15 -/* 04C24C 800517EC 38E50004 */ addi r7, r5, 4 -/* 04C250 800517F0 38A60001 */ addi r5, r6, 1 -/* 04C254 800517F4 90A10084 */ stw r5, 0x84(r1) -/* 04C258 800517F8 6484C003 */ oris r4, r4, 0xc003 -/* 04C25C 800517FC 54E5043E */ clrlwi r5, r7, 0x10 -/* 04C260 80051800 7C842A14 */ add r4, r4, r5 -/* 04C264 80051804 54C5103A */ slwi r5, r6, 2 -/* 04C268 80051808 7C9F292E */ stwx r4, r31, r5 -/* 04C26C 8005180C 48000010 */ b lbl_8005181C -lbl_80051810: -/* 04C270 80051810 80810084 */ lwz r4, 0x84(r1) -/* 04C274 80051814 38840001 */ addi r4, r4, 1 -/* 04C278 80051818 90810084 */ stw r4, 0x84(r1) -lbl_8005181C: -/* 04C27C 8005181C 3C9E0001 */ addis r4, r30, 1 -/* 04C280 80051820 80A42064 */ lwz r5, 0x2064(r4) -/* 04C284 80051824 28050000 */ cmplwi r5, 0 -/* 04C288 80051828 4082000C */ bne lbl_80051834 -/* 04C28C 8005182C 38A00000 */ li r5, 0 -/* 04C290 80051830 48000094 */ b lbl_800518C4 -lbl_80051834: -/* 04C294 80051834 80A42074 */ lwz r5, 0x2074(r4) -/* 04C298 80051838 28050000 */ cmplwi r5, 0 -/* 04C29C 8005183C 4082000C */ bne lbl_80051848 -/* 04C2A0 80051840 38A00000 */ li r5, 0 -/* 04C2A4 80051844 48000080 */ b lbl_800518C4 -lbl_80051848: -/* 04C2A8 80051848 80842078 */ lwz r4, 0x2078(r4) -/* 04C2AC 8005184C 7C032000 */ cmpw r3, r4 -/* 04C2B0 80051850 4182000C */ beq lbl_8005185C -/* 04C2B4 80051854 38A00000 */ li r5, 0 -/* 04C2B8 80051858 4800006C */ b lbl_800518C4 -lbl_8005185C: -/* 04C2BC 8005185C 80DE0034 */ lwz r6, 0x34(r30) -/* 04C2C0 80051860 38A00000 */ li r5, 0 -/* 04C2C4 80051864 80860008 */ lwz r4, 8(r6) -/* 04C2C8 80051868 2C040000 */ cmpwi r4, 0 -/* 04C2CC 8005186C 7C8903A6 */ mtctr r4 -/* 04C2D0 80051870 40810028 */ ble lbl_80051898 -lbl_80051874: -/* 04C2D4 80051874 8086000C */ lwz r4, 0xc(r6) -/* 04C2D8 80051878 38E50004 */ addi r7, r5, 4 -/* 04C2DC 8005187C 7C84382E */ lwzx r4, r4, r7 -/* 04C2E0 80051880 7C1D2000 */ cmpw r29, r4 -/* 04C2E4 80051884 4082000C */ bne lbl_80051890 -/* 04C2E8 80051888 38800000 */ li r4, 0 -/* 04C2EC 8005188C 48000010 */ b lbl_8005189C -lbl_80051890: -/* 04C2F0 80051890 38A50008 */ addi r5, r5, 8 -/* 04C2F4 80051894 4200FFE0 */ bdnz lbl_80051874 -lbl_80051898: -/* 04C2F8 80051898 38800001 */ li r4, 1 -lbl_8005189C: -/* 04C2FC 8005189C 2C040000 */ cmpwi r4, 0 -/* 04C300 800518A0 40820014 */ bne lbl_800518B4 -/* 04C304 800518A4 38A00000 */ li r5, 0 -/* 04C308 800518A8 3C9E0001 */ addis r4, r30, 1 -/* 04C30C 800518AC 90A42074 */ stw r5, 0x2074(r4) -/* 04C310 800518B0 48000014 */ b lbl_800518C4 -lbl_800518B4: -/* 04C314 800518B4 3C9E0001 */ addis r4, r30, 1 -/* 04C318 800518B8 38A00000 */ li r5, 0 -/* 04C31C 800518BC 90A42074 */ stw r5, 0x2074(r4) -/* 04C320 800518C0 38A00001 */ li r5, 1 -lbl_800518C4: -/* 04C324 800518C4 2C050000 */ cmpwi r5, 0 -/* 04C328 800518C8 41820038 */ beq lbl_80051900 -/* 04C32C 800518CC 281F0000 */ cmplwi r31, 0 -/* 04C330 800518D0 41820020 */ beq lbl_800518F0 -/* 04C334 800518D4 80A10084 */ lwz r5, 0x84(r1) -/* 04C338 800518D8 3CC06000 */ lis r6, 0x6000 -/* 04C33C 800518DC 38850001 */ addi r4, r5, 1 -/* 04C340 800518E0 90810084 */ stw r4, 0x84(r1) -/* 04C344 800518E4 54A4103A */ slwi r4, r5, 2 -/* 04C348 800518E8 7CDF212E */ stwx r6, r31, r4 -/* 04C34C 800518EC 48000064 */ b lbl_80051950 -lbl_800518F0: -/* 04C350 800518F0 80810084 */ lwz r4, 0x84(r1) -/* 04C354 800518F4 38840001 */ addi r4, r4, 1 -/* 04C358 800518F8 90810084 */ stw r4, 0x84(r1) -/* 04C35C 800518FC 48000054 */ b lbl_80051950 -lbl_80051900: -/* 04C360 80051900 281F0000 */ cmplwi r31, 0 -/* 04C364 80051904 41820040 */ beq lbl_80051944 -/* 04C368 80051908 54641838 */ slwi r4, r3, 3 -/* 04C36C 8005190C 80C10084 */ lwz r6, 0x84(r1) -/* 04C370 80051910 38840140 */ addi r4, r4, 0x140 -/* 04C374 80051914 7C9E2214 */ add r4, r30, r4 -/* 04C378 80051918 7CBE2050 */ subf r5, r30, r4 -/* 04C37C 8005191C 5464A814 */ slwi r4, r3, 0x15 -/* 04C380 80051920 38E50004 */ addi r7, r5, 4 -/* 04C384 80051924 38A60001 */ addi r5, r6, 1 -/* 04C388 80051928 90A10084 */ stw r5, 0x84(r1) -/* 04C38C 8005192C 6484C003 */ oris r4, r4, 0xc003 -/* 04C390 80051930 54E5043E */ clrlwi r5, r7, 0x10 -/* 04C394 80051934 7C842A14 */ add r4, r4, r5 -/* 04C398 80051938 54C5103A */ slwi r5, r6, 2 -/* 04C39C 8005193C 7C9F292E */ stwx r4, r31, r5 -/* 04C3A0 80051940 48000010 */ b lbl_80051950 -lbl_80051944: -/* 04C3A4 80051944 80810084 */ lwz r4, 0x84(r1) -/* 04C3A8 80051948 38840001 */ addi r4, r4, 1 -/* 04C3AC 8005194C 90810084 */ stw r4, 0x84(r1) -lbl_80051950: -/* 04C3B0 80051950 281F0000 */ cmplwi r31, 0 -/* 04C3B4 80051954 4182002C */ beq lbl_80051980 -/* 04C3B8 80051958 80810084 */ lwz r4, 0x84(r1) -/* 04C3BC 8005195C 5400801E */ slwi r0, r0, 0x10 -/* 04C3C0 80051960 6400FC00 */ oris r0, r0, 0xfc00 -/* 04C3C4 80051964 38A40001 */ addi r5, r4, 1 -/* 04C3C8 80051968 54635828 */ slwi r3, r3, 0xb -/* 04C3CC 8005196C 90A10084 */ stw r5, 0x84(r1) -/* 04C3D0 80051970 7C001B78 */ or r0, r0, r3 -/* 04C3D4 80051974 5483103A */ slwi r3, r4, 2 -/* 04C3D8 80051978 7C1F192E */ stwx r0, r31, r3 -/* 04C3DC 8005197C 48000010 */ b lbl_8005198C -lbl_80051980: -/* 04C3E0 80051980 80610084 */ lwz r3, 0x84(r1) -/* 04C3E4 80051984 38030001 */ addi r0, r3, 1 -/* 04C3E8 80051988 90010084 */ stw r0, 0x84(r1) -lbl_8005198C: -/* 04C3EC 8005198C 281F0000 */ cmplwi r31, 0 -/* 04C3F0 80051990 41820024 */ beq lbl_800519B4 -/* 04C3F4 80051994 80610084 */ lwz r3, 0x84(r1) -/* 04C3F8 80051998 3C804082 */ lis r4, 0x4082 -/* 04C3FC 8005199C 3884000C */ addi r4, r4, 0xc -/* 04C400 800519A0 38030001 */ addi r0, r3, 1 -/* 04C404 800519A4 90010084 */ stw r0, 0x84(r1) -/* 04C408 800519A8 5460103A */ slwi r0, r3, 2 -/* 04C40C 800519AC 7C9F012E */ stwx r4, r31, r0 -/* 04C410 800519B0 48000010 */ b lbl_800519C0 -lbl_800519B4: -/* 04C414 800519B4 80610084 */ lwz r3, 0x84(r1) -/* 04C418 800519B8 38030001 */ addi r0, r3, 1 -/* 04C41C 800519BC 90010084 */ stw r0, 0x84(r1) -lbl_800519C0: -/* 04C420 800519C0 281F0000 */ cmplwi r31, 0 -/* 04C424 800519C4 41820024 */ beq lbl_800519E8 -/* 04C428 800519C8 80610084 */ lwz r3, 0x84(r1) -/* 04C42C 800519CC 3C8064A5 */ lis r4, 0x64a5 -/* 04C430 800519D0 38840080 */ addi r4, r4, 0x80 -/* 04C434 800519D4 38030001 */ addi r0, r3, 1 -/* 04C438 800519D8 90010084 */ stw r0, 0x84(r1) -/* 04C43C 800519DC 5460103A */ slwi r0, r3, 2 -/* 04C440 800519E0 7C9F012E */ stwx r4, r31, r0 -/* 04C444 800519E4 48000010 */ b lbl_800519F4 -lbl_800519E8: -/* 04C448 800519E8 80610084 */ lwz r3, 0x84(r1) -/* 04C44C 800519EC 38030001 */ addi r0, r3, 1 -/* 04C450 800519F0 90010084 */ stw r0, 0x84(r1) -lbl_800519F4: -/* 04C454 800519F4 281F0000 */ cmplwi r31, 0 -/* 04C458 800519F8 41820024 */ beq lbl_80051A1C -/* 04C45C 800519FC 80610084 */ lwz r3, 0x84(r1) -/* 04C460 80051A00 3C804280 */ lis r4, 0x4280 -/* 04C464 80051A04 38840008 */ addi r4, r4, 8 -/* 04C468 80051A08 38030001 */ addi r0, r3, 1 -/* 04C46C 80051A0C 90010084 */ stw r0, 0x84(r1) -/* 04C470 80051A10 5460103A */ slwi r0, r3, 2 -/* 04C474 80051A14 7C9F012E */ stwx r4, r31, r0 -/* 04C478 80051A18 48000010 */ b lbl_80051A28 -lbl_80051A1C: -/* 04C47C 80051A1C 80610084 */ lwz r3, 0x84(r1) -/* 04C480 80051A20 38030001 */ addi r0, r3, 1 -/* 04C484 80051A24 90010084 */ stw r0, 0x84(r1) -lbl_80051A28: -/* 04C488 80051A28 281F0000 */ cmplwi r31, 0 -/* 04C48C 80051A2C 41820024 */ beq lbl_80051A50 -/* 04C490 80051A30 80610084 */ lwz r3, 0x84(r1) -/* 04C494 80051A34 3C8054A5 */ lis r4, 0x54a5 -/* 04C498 80051A38 3884024E */ addi r4, r4, 0x24e -/* 04C49C 80051A3C 38030001 */ addi r0, r3, 1 -/* 04C4A0 80051A40 90010084 */ stw r0, 0x84(r1) -/* 04C4A4 80051A44 5460103A */ slwi r0, r3, 2 -/* 04C4A8 80051A48 7C9F012E */ stwx r4, r31, r0 -/* 04C4AC 80051A4C 48000010 */ b lbl_80051A5C -lbl_80051A50: -/* 04C4B0 80051A50 80610084 */ lwz r3, 0x84(r1) -/* 04C4B4 80051A54 38030001 */ addi r0, r3, 1 -/* 04C4B8 80051A58 90010084 */ stw r0, 0x84(r1) -lbl_80051A5C: -/* 04C4BC 80051A5C 281F0000 */ cmplwi r31, 0 -/* 04C4C0 80051A60 41820028 */ beq lbl_80051A88 -/* 04C4C4 80051A64 80610084 */ lwz r3, 0x84(r1) -/* 04C4C8 80051A68 381E0A3C */ addi r0, r30, 0xa3c -/* 04C4CC 80051A6C 7C9E0050 */ subf r4, r30, r0 -/* 04C4D0 80051A70 38030001 */ addi r0, r3, 1 -/* 04C4D4 80051A74 90010084 */ stw r0, 0x84(r1) -/* 04C4D8 80051A78 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04C4DC 80051A7C 5463103A */ slwi r3, r3, 2 -/* 04C4E0 80051A80 7C1F192E */ stwx r0, r31, r3 -/* 04C4E4 80051A84 480164B0 */ b lbl_80067F34 -lbl_80051A88: -/* 04C4E8 80051A88 80610084 */ lwz r3, 0x84(r1) -/* 04C4EC 80051A8C 38030001 */ addi r0, r3, 1 -/* 04C4F0 80051A90 90010084 */ stw r0, 0x84(r1) -/* 04C4F4 80051A94 480164A0 */ b lbl_80067F34 -.global lbl_80051A98 -lbl_80051A98: -/* 04C4F8 80051A98 281F0000 */ cmplwi r31, 0 -/* 04C4FC 80051A9C 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04C500 80051AA0 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04C504 80051AA4 41820028 */ beq lbl_80051ACC -/* 04C508 80051AA8 80810084 */ lwz r4, 0x84(r1) -/* 04C50C 80051AAC 38BE0A3C */ addi r5, r30, 0xa3c -/* 04C510 80051AB0 7CBE2850 */ subf r5, r30, r5 -/* 04C514 80051AB4 38C40001 */ addi r6, r4, 1 -/* 04C518 80051AB8 90C10084 */ stw r6, 0x84(r1) -/* 04C51C 80051ABC 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04C520 80051AC0 5484103A */ slwi r4, r4, 2 -/* 04C524 80051AC4 7CBF212E */ stwx r5, r31, r4 -/* 04C528 80051AC8 48000010 */ b lbl_80051AD8 -lbl_80051ACC: -/* 04C52C 80051ACC 80810084 */ lwz r4, 0x84(r1) -/* 04C530 80051AD0 38840001 */ addi r4, r4, 1 -/* 04C534 80051AD4 90810084 */ stw r4, 0x84(r1) -lbl_80051AD8: -/* 04C538 80051AD8 3C9E0001 */ addis r4, r30, 1 -/* 04C53C 80051ADC 80A42064 */ lwz r5, 0x2064(r4) -/* 04C540 80051AE0 28050000 */ cmplwi r5, 0 -/* 04C544 80051AE4 4082000C */ bne lbl_80051AF0 -/* 04C548 80051AE8 38A00000 */ li r5, 0 -/* 04C54C 80051AEC 48000094 */ b lbl_80051B80 -lbl_80051AF0: -/* 04C550 80051AF0 80A42074 */ lwz r5, 0x2074(r4) -/* 04C554 80051AF4 28050000 */ cmplwi r5, 0 -/* 04C558 80051AF8 4082000C */ bne lbl_80051B04 -/* 04C55C 80051AFC 38A00000 */ li r5, 0 -/* 04C560 80051B00 48000080 */ b lbl_80051B80 -lbl_80051B04: -/* 04C564 80051B04 80842078 */ lwz r4, 0x2078(r4) -/* 04C568 80051B08 7C002000 */ cmpw r0, r4 -/* 04C56C 80051B0C 4182000C */ beq lbl_80051B18 -/* 04C570 80051B10 38A00000 */ li r5, 0 -/* 04C574 80051B14 4800006C */ b lbl_80051B80 -lbl_80051B18: -/* 04C578 80051B18 80DE0034 */ lwz r6, 0x34(r30) -/* 04C57C 80051B1C 38A00000 */ li r5, 0 -/* 04C580 80051B20 80860008 */ lwz r4, 8(r6) -/* 04C584 80051B24 2C040000 */ cmpwi r4, 0 -/* 04C588 80051B28 7C8903A6 */ mtctr r4 -/* 04C58C 80051B2C 40810028 */ ble lbl_80051B54 -lbl_80051B30: -/* 04C590 80051B30 8086000C */ lwz r4, 0xc(r6) -/* 04C594 80051B34 38E50004 */ addi r7, r5, 4 -/* 04C598 80051B38 7C84382E */ lwzx r4, r4, r7 -/* 04C59C 80051B3C 7C1D2000 */ cmpw r29, r4 -/* 04C5A0 80051B40 4082000C */ bne lbl_80051B4C -/* 04C5A4 80051B44 38800000 */ li r4, 0 -/* 04C5A8 80051B48 48000010 */ b lbl_80051B58 -lbl_80051B4C: -/* 04C5AC 80051B4C 38A50008 */ addi r5, r5, 8 -/* 04C5B0 80051B50 4200FFE0 */ bdnz lbl_80051B30 -lbl_80051B54: -/* 04C5B4 80051B54 38800001 */ li r4, 1 -lbl_80051B58: -/* 04C5B8 80051B58 2C040000 */ cmpwi r4, 0 -/* 04C5BC 80051B5C 40820014 */ bne lbl_80051B70 -/* 04C5C0 80051B60 38A00000 */ li r5, 0 -/* 04C5C4 80051B64 3C9E0001 */ addis r4, r30, 1 -/* 04C5C8 80051B68 90A42074 */ stw r5, 0x2074(r4) -/* 04C5CC 80051B6C 48000014 */ b lbl_80051B80 -lbl_80051B70: -/* 04C5D0 80051B70 3C9E0001 */ addis r4, r30, 1 -/* 04C5D4 80051B74 38A00000 */ li r5, 0 -/* 04C5D8 80051B78 90A42074 */ stw r5, 0x2074(r4) -/* 04C5DC 80051B7C 38A00001 */ li r5, 1 -lbl_80051B80: -/* 04C5E0 80051B80 2C050000 */ cmpwi r5, 0 -/* 04C5E4 80051B84 41820038 */ beq lbl_80051BBC -/* 04C5E8 80051B88 281F0000 */ cmplwi r31, 0 -/* 04C5EC 80051B8C 41820020 */ beq lbl_80051BAC -/* 04C5F0 80051B90 80A10084 */ lwz r5, 0x84(r1) -/* 04C5F4 80051B94 3CC06000 */ lis r6, 0x6000 -/* 04C5F8 80051B98 38850001 */ addi r4, r5, 1 -/* 04C5FC 80051B9C 90810084 */ stw r4, 0x84(r1) -/* 04C600 80051BA0 54A4103A */ slwi r4, r5, 2 -/* 04C604 80051BA4 7CDF212E */ stwx r6, r31, r4 -/* 04C608 80051BA8 48000064 */ b lbl_80051C0C -lbl_80051BAC: -/* 04C60C 80051BAC 80810084 */ lwz r4, 0x84(r1) -/* 04C610 80051BB0 38840001 */ addi r4, r4, 1 -/* 04C614 80051BB4 90810084 */ stw r4, 0x84(r1) -/* 04C618 80051BB8 48000054 */ b lbl_80051C0C -lbl_80051BBC: -/* 04C61C 80051BBC 281F0000 */ cmplwi r31, 0 -/* 04C620 80051BC0 41820040 */ beq lbl_80051C00 -/* 04C624 80051BC4 54041838 */ slwi r4, r0, 3 -/* 04C628 80051BC8 80C10084 */ lwz r6, 0x84(r1) -/* 04C62C 80051BCC 38840140 */ addi r4, r4, 0x140 -/* 04C630 80051BD0 7C9E2214 */ add r4, r30, r4 -/* 04C634 80051BD4 7CBE2050 */ subf r5, r30, r4 -/* 04C638 80051BD8 5404A814 */ slwi r4, r0, 0x15 -/* 04C63C 80051BDC 38E50004 */ addi r7, r5, 4 -/* 04C640 80051BE0 38A60001 */ addi r5, r6, 1 -/* 04C644 80051BE4 90A10084 */ stw r5, 0x84(r1) -/* 04C648 80051BE8 6484C003 */ oris r4, r4, 0xc003 -/* 04C64C 80051BEC 54E5043E */ clrlwi r5, r7, 0x10 -/* 04C650 80051BF0 7C842A14 */ add r4, r4, r5 -/* 04C654 80051BF4 54C5103A */ slwi r5, r6, 2 -/* 04C658 80051BF8 7C9F292E */ stwx r4, r31, r5 -/* 04C65C 80051BFC 48000010 */ b lbl_80051C0C -lbl_80051C00: -/* 04C660 80051C00 80810084 */ lwz r4, 0x84(r1) -/* 04C664 80051C04 38840001 */ addi r4, r4, 1 -/* 04C668 80051C08 90810084 */ stw r4, 0x84(r1) -lbl_80051C0C: -/* 04C66C 80051C0C 3C9E0001 */ addis r4, r30, 1 -/* 04C670 80051C10 80A42064 */ lwz r5, 0x2064(r4) -/* 04C674 80051C14 28050000 */ cmplwi r5, 0 -/* 04C678 80051C18 4082000C */ bne lbl_80051C24 -/* 04C67C 80051C1C 38A00000 */ li r5, 0 -/* 04C680 80051C20 48000094 */ b lbl_80051CB4 -lbl_80051C24: -/* 04C684 80051C24 80A42074 */ lwz r5, 0x2074(r4) -/* 04C688 80051C28 28050000 */ cmplwi r5, 0 -/* 04C68C 80051C2C 4082000C */ bne lbl_80051C38 -/* 04C690 80051C30 38A00000 */ li r5, 0 -/* 04C694 80051C34 48000080 */ b lbl_80051CB4 -lbl_80051C38: -/* 04C698 80051C38 80842078 */ lwz r4, 0x2078(r4) -/* 04C69C 80051C3C 7C032000 */ cmpw r3, r4 -/* 04C6A0 80051C40 4182000C */ beq lbl_80051C4C -/* 04C6A4 80051C44 38A00000 */ li r5, 0 -/* 04C6A8 80051C48 4800006C */ b lbl_80051CB4 -lbl_80051C4C: -/* 04C6AC 80051C4C 80DE0034 */ lwz r6, 0x34(r30) -/* 04C6B0 80051C50 38A00000 */ li r5, 0 -/* 04C6B4 80051C54 80860008 */ lwz r4, 8(r6) -/* 04C6B8 80051C58 2C040000 */ cmpwi r4, 0 -/* 04C6BC 80051C5C 7C8903A6 */ mtctr r4 -/* 04C6C0 80051C60 40810028 */ ble lbl_80051C88 -lbl_80051C64: -/* 04C6C4 80051C64 8086000C */ lwz r4, 0xc(r6) -/* 04C6C8 80051C68 38E50004 */ addi r7, r5, 4 -/* 04C6CC 80051C6C 7C84382E */ lwzx r4, r4, r7 -/* 04C6D0 80051C70 7C1D2000 */ cmpw r29, r4 -/* 04C6D4 80051C74 4082000C */ bne lbl_80051C80 -/* 04C6D8 80051C78 38800000 */ li r4, 0 -/* 04C6DC 80051C7C 48000010 */ b lbl_80051C8C -lbl_80051C80: -/* 04C6E0 80051C80 38A50008 */ addi r5, r5, 8 -/* 04C6E4 80051C84 4200FFE0 */ bdnz lbl_80051C64 -lbl_80051C88: -/* 04C6E8 80051C88 38800001 */ li r4, 1 -lbl_80051C8C: -/* 04C6EC 80051C8C 2C040000 */ cmpwi r4, 0 -/* 04C6F0 80051C90 40820014 */ bne lbl_80051CA4 -/* 04C6F4 80051C94 38A00000 */ li r5, 0 -/* 04C6F8 80051C98 3C9E0001 */ addis r4, r30, 1 -/* 04C6FC 80051C9C 90A42074 */ stw r5, 0x2074(r4) -/* 04C700 80051CA0 48000014 */ b lbl_80051CB4 -lbl_80051CA4: -/* 04C704 80051CA4 3C9E0001 */ addis r4, r30, 1 -/* 04C708 80051CA8 38A00000 */ li r5, 0 -/* 04C70C 80051CAC 90A42074 */ stw r5, 0x2074(r4) -/* 04C710 80051CB0 38A00001 */ li r5, 1 -lbl_80051CB4: -/* 04C714 80051CB4 2C050000 */ cmpwi r5, 0 -/* 04C718 80051CB8 41820038 */ beq lbl_80051CF0 -/* 04C71C 80051CBC 281F0000 */ cmplwi r31, 0 -/* 04C720 80051CC0 41820020 */ beq lbl_80051CE0 -/* 04C724 80051CC4 80A10084 */ lwz r5, 0x84(r1) -/* 04C728 80051CC8 3CC06000 */ lis r6, 0x6000 -/* 04C72C 80051CCC 38850001 */ addi r4, r5, 1 -/* 04C730 80051CD0 90810084 */ stw r4, 0x84(r1) -/* 04C734 80051CD4 54A4103A */ slwi r4, r5, 2 -/* 04C738 80051CD8 7CDF212E */ stwx r6, r31, r4 -/* 04C73C 80051CDC 48000064 */ b lbl_80051D40 -lbl_80051CE0: -/* 04C740 80051CE0 80810084 */ lwz r4, 0x84(r1) -/* 04C744 80051CE4 38840001 */ addi r4, r4, 1 -/* 04C748 80051CE8 90810084 */ stw r4, 0x84(r1) -/* 04C74C 80051CEC 48000054 */ b lbl_80051D40 -lbl_80051CF0: -/* 04C750 80051CF0 281F0000 */ cmplwi r31, 0 -/* 04C754 80051CF4 41820040 */ beq lbl_80051D34 -/* 04C758 80051CF8 54641838 */ slwi r4, r3, 3 -/* 04C75C 80051CFC 80C10084 */ lwz r6, 0x84(r1) -/* 04C760 80051D00 38840140 */ addi r4, r4, 0x140 -/* 04C764 80051D04 7C9E2214 */ add r4, r30, r4 -/* 04C768 80051D08 7CBE2050 */ subf r5, r30, r4 -/* 04C76C 80051D0C 5464A814 */ slwi r4, r3, 0x15 -/* 04C770 80051D10 38E50004 */ addi r7, r5, 4 -/* 04C774 80051D14 38A60001 */ addi r5, r6, 1 -/* 04C778 80051D18 90A10084 */ stw r5, 0x84(r1) -/* 04C77C 80051D1C 6484C003 */ oris r4, r4, 0xc003 -/* 04C780 80051D20 54E5043E */ clrlwi r5, r7, 0x10 -/* 04C784 80051D24 7C842A14 */ add r4, r4, r5 -/* 04C788 80051D28 54C5103A */ slwi r5, r6, 2 -/* 04C78C 80051D2C 7C9F292E */ stwx r4, r31, r5 -/* 04C790 80051D30 48000010 */ b lbl_80051D40 -lbl_80051D34: -/* 04C794 80051D34 80810084 */ lwz r4, 0x84(r1) -/* 04C798 80051D38 38840001 */ addi r4, r4, 1 -/* 04C79C 80051D3C 90810084 */ stw r4, 0x84(r1) -lbl_80051D40: -/* 04C7A0 80051D40 281F0000 */ cmplwi r31, 0 -/* 04C7A4 80051D44 4182002C */ beq lbl_80051D70 -/* 04C7A8 80051D48 80810084 */ lwz r4, 0x84(r1) -/* 04C7AC 80051D4C 5400801E */ slwi r0, r0, 0x10 -/* 04C7B0 80051D50 6400FC00 */ oris r0, r0, 0xfc00 -/* 04C7B4 80051D54 38A40001 */ addi r5, r4, 1 -/* 04C7B8 80051D58 54635828 */ slwi r3, r3, 0xb -/* 04C7BC 80051D5C 90A10084 */ stw r5, 0x84(r1) -/* 04C7C0 80051D60 7C001B78 */ or r0, r0, r3 -/* 04C7C4 80051D64 5483103A */ slwi r3, r4, 2 -/* 04C7C8 80051D68 7C1F192E */ stwx r0, r31, r3 -/* 04C7CC 80051D6C 48000010 */ b lbl_80051D7C -lbl_80051D70: -/* 04C7D0 80051D70 80610084 */ lwz r3, 0x84(r1) -/* 04C7D4 80051D74 38030001 */ addi r0, r3, 1 -/* 04C7D8 80051D78 90010084 */ stw r0, 0x84(r1) -lbl_80051D7C: -/* 04C7DC 80051D7C 281F0000 */ cmplwi r31, 0 -/* 04C7E0 80051D80 41820024 */ beq lbl_80051DA4 -/* 04C7E4 80051D84 80610084 */ lwz r3, 0x84(r1) -/* 04C7E8 80051D88 3C804082 */ lis r4, 0x4082 -/* 04C7EC 80051D8C 3884000C */ addi r4, r4, 0xc -/* 04C7F0 80051D90 38030001 */ addi r0, r3, 1 -/* 04C7F4 80051D94 90010084 */ stw r0, 0x84(r1) -/* 04C7F8 80051D98 5460103A */ slwi r0, r3, 2 -/* 04C7FC 80051D9C 7C9F012E */ stwx r4, r31, r0 -/* 04C800 80051DA0 48000010 */ b lbl_80051DB0 -lbl_80051DA4: -/* 04C804 80051DA4 80610084 */ lwz r3, 0x84(r1) -/* 04C808 80051DA8 38030001 */ addi r0, r3, 1 -/* 04C80C 80051DAC 90010084 */ stw r0, 0x84(r1) -lbl_80051DB0: -/* 04C810 80051DB0 281F0000 */ cmplwi r31, 0 -/* 04C814 80051DB4 41820024 */ beq lbl_80051DD8 -/* 04C818 80051DB8 80610084 */ lwz r3, 0x84(r1) -/* 04C81C 80051DBC 3C8064A5 */ lis r4, 0x64a5 -/* 04C820 80051DC0 38840080 */ addi r4, r4, 0x80 -/* 04C824 80051DC4 38030001 */ addi r0, r3, 1 -/* 04C828 80051DC8 90010084 */ stw r0, 0x84(r1) -/* 04C82C 80051DCC 5460103A */ slwi r0, r3, 2 -/* 04C830 80051DD0 7C9F012E */ stwx r4, r31, r0 -/* 04C834 80051DD4 48000010 */ b lbl_80051DE4 -lbl_80051DD8: -/* 04C838 80051DD8 80610084 */ lwz r3, 0x84(r1) -/* 04C83C 80051DDC 38030001 */ addi r0, r3, 1 -/* 04C840 80051DE0 90010084 */ stw r0, 0x84(r1) -lbl_80051DE4: -/* 04C844 80051DE4 281F0000 */ cmplwi r31, 0 -/* 04C848 80051DE8 41820024 */ beq lbl_80051E0C -/* 04C84C 80051DEC 80610084 */ lwz r3, 0x84(r1) -/* 04C850 80051DF0 3C804280 */ lis r4, 0x4280 -/* 04C854 80051DF4 38840008 */ addi r4, r4, 8 -/* 04C858 80051DF8 38030001 */ addi r0, r3, 1 -/* 04C85C 80051DFC 90010084 */ stw r0, 0x84(r1) -/* 04C860 80051E00 5460103A */ slwi r0, r3, 2 -/* 04C864 80051E04 7C9F012E */ stwx r4, r31, r0 -/* 04C868 80051E08 48000010 */ b lbl_80051E18 -lbl_80051E0C: -/* 04C86C 80051E0C 80610084 */ lwz r3, 0x84(r1) -/* 04C870 80051E10 38030001 */ addi r0, r3, 1 -/* 04C874 80051E14 90010084 */ stw r0, 0x84(r1) -lbl_80051E18: -/* 04C878 80051E18 281F0000 */ cmplwi r31, 0 -/* 04C87C 80051E1C 41820024 */ beq lbl_80051E40 -/* 04C880 80051E20 80610084 */ lwz r3, 0x84(r1) -/* 04C884 80051E24 3C8054A5 */ lis r4, 0x54a5 -/* 04C888 80051E28 3884024E */ addi r4, r4, 0x24e -/* 04C88C 80051E2C 38030001 */ addi r0, r3, 1 -/* 04C890 80051E30 90010084 */ stw r0, 0x84(r1) -/* 04C894 80051E34 5460103A */ slwi r0, r3, 2 -/* 04C898 80051E38 7C9F012E */ stwx r4, r31, r0 -/* 04C89C 80051E3C 48000010 */ b lbl_80051E4C -lbl_80051E40: -/* 04C8A0 80051E40 80610084 */ lwz r3, 0x84(r1) -/* 04C8A4 80051E44 38030001 */ addi r0, r3, 1 -/* 04C8A8 80051E48 90010084 */ stw r0, 0x84(r1) -lbl_80051E4C: -/* 04C8AC 80051E4C 281F0000 */ cmplwi r31, 0 -/* 04C8B0 80051E50 41820028 */ beq lbl_80051E78 -/* 04C8B4 80051E54 80610084 */ lwz r3, 0x84(r1) -/* 04C8B8 80051E58 381E0A3C */ addi r0, r30, 0xa3c -/* 04C8BC 80051E5C 7C9E0050 */ subf r4, r30, r0 -/* 04C8C0 80051E60 38030001 */ addi r0, r3, 1 -/* 04C8C4 80051E64 90010084 */ stw r0, 0x84(r1) -/* 04C8C8 80051E68 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04C8CC 80051E6C 5463103A */ slwi r3, r3, 2 -/* 04C8D0 80051E70 7C1F192E */ stwx r0, r31, r3 -/* 04C8D4 80051E74 480160C0 */ b lbl_80067F34 -lbl_80051E78: -/* 04C8D8 80051E78 80610084 */ lwz r3, 0x84(r1) -/* 04C8DC 80051E7C 38030001 */ addi r0, r3, 1 -/* 04C8E0 80051E80 90010084 */ stw r0, 0x84(r1) -/* 04C8E4 80051E84 480160B0 */ b lbl_80067F34 -.global lbl_80051E88 -lbl_80051E88: -/* 04C8E8 80051E88 281F0000 */ cmplwi r31, 0 -/* 04C8EC 80051E8C 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04C8F0 80051E90 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04C8F4 80051E94 41820028 */ beq lbl_80051EBC -/* 04C8F8 80051E98 80810084 */ lwz r4, 0x84(r1) -/* 04C8FC 80051E9C 38BE0A3C */ addi r5, r30, 0xa3c -/* 04C900 80051EA0 7CBE2850 */ subf r5, r30, r5 -/* 04C904 80051EA4 38C40001 */ addi r6, r4, 1 -/* 04C908 80051EA8 90C10084 */ stw r6, 0x84(r1) -/* 04C90C 80051EAC 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04C910 80051EB0 5484103A */ slwi r4, r4, 2 -/* 04C914 80051EB4 7CBF212E */ stwx r5, r31, r4 -/* 04C918 80051EB8 48000010 */ b lbl_80051EC8 -lbl_80051EBC: -/* 04C91C 80051EBC 80810084 */ lwz r4, 0x84(r1) -/* 04C920 80051EC0 38840001 */ addi r4, r4, 1 -/* 04C924 80051EC4 90810084 */ stw r4, 0x84(r1) -lbl_80051EC8: -/* 04C928 80051EC8 3C9E0001 */ addis r4, r30, 1 -/* 04C92C 80051ECC 80A42064 */ lwz r5, 0x2064(r4) -/* 04C930 80051ED0 28050000 */ cmplwi r5, 0 -/* 04C934 80051ED4 4082000C */ bne lbl_80051EE0 -/* 04C938 80051ED8 38A00000 */ li r5, 0 -/* 04C93C 80051EDC 48000094 */ b lbl_80051F70 -lbl_80051EE0: -/* 04C940 80051EE0 80A42074 */ lwz r5, 0x2074(r4) -/* 04C944 80051EE4 28050000 */ cmplwi r5, 0 -/* 04C948 80051EE8 4082000C */ bne lbl_80051EF4 -/* 04C94C 80051EEC 38A00000 */ li r5, 0 -/* 04C950 80051EF0 48000080 */ b lbl_80051F70 -lbl_80051EF4: -/* 04C954 80051EF4 80842078 */ lwz r4, 0x2078(r4) -/* 04C958 80051EF8 7C002000 */ cmpw r0, r4 -/* 04C95C 80051EFC 4182000C */ beq lbl_80051F08 -/* 04C960 80051F00 38A00000 */ li r5, 0 -/* 04C964 80051F04 4800006C */ b lbl_80051F70 -lbl_80051F08: -/* 04C968 80051F08 80DE0034 */ lwz r6, 0x34(r30) -/* 04C96C 80051F0C 38A00000 */ li r5, 0 -/* 04C970 80051F10 80860008 */ lwz r4, 8(r6) -/* 04C974 80051F14 2C040000 */ cmpwi r4, 0 -/* 04C978 80051F18 7C8903A6 */ mtctr r4 -/* 04C97C 80051F1C 40810028 */ ble lbl_80051F44 -lbl_80051F20: -/* 04C980 80051F20 8086000C */ lwz r4, 0xc(r6) -/* 04C984 80051F24 38E50004 */ addi r7, r5, 4 -/* 04C988 80051F28 7C84382E */ lwzx r4, r4, r7 -/* 04C98C 80051F2C 7C1D2000 */ cmpw r29, r4 -/* 04C990 80051F30 4082000C */ bne lbl_80051F3C -/* 04C994 80051F34 38800000 */ li r4, 0 -/* 04C998 80051F38 48000010 */ b lbl_80051F48 -lbl_80051F3C: -/* 04C99C 80051F3C 38A50008 */ addi r5, r5, 8 -/* 04C9A0 80051F40 4200FFE0 */ bdnz lbl_80051F20 -lbl_80051F44: -/* 04C9A4 80051F44 38800001 */ li r4, 1 -lbl_80051F48: -/* 04C9A8 80051F48 2C040000 */ cmpwi r4, 0 -/* 04C9AC 80051F4C 40820014 */ bne lbl_80051F60 -/* 04C9B0 80051F50 38A00000 */ li r5, 0 -/* 04C9B4 80051F54 3C9E0001 */ addis r4, r30, 1 -/* 04C9B8 80051F58 90A42074 */ stw r5, 0x2074(r4) -/* 04C9BC 80051F5C 48000014 */ b lbl_80051F70 -lbl_80051F60: -/* 04C9C0 80051F60 3C9E0001 */ addis r4, r30, 1 -/* 04C9C4 80051F64 38A00000 */ li r5, 0 -/* 04C9C8 80051F68 90A42074 */ stw r5, 0x2074(r4) -/* 04C9CC 80051F6C 38A00001 */ li r5, 1 -lbl_80051F70: -/* 04C9D0 80051F70 2C050000 */ cmpwi r5, 0 -/* 04C9D4 80051F74 41820038 */ beq lbl_80051FAC -/* 04C9D8 80051F78 281F0000 */ cmplwi r31, 0 -/* 04C9DC 80051F7C 41820020 */ beq lbl_80051F9C -/* 04C9E0 80051F80 80A10084 */ lwz r5, 0x84(r1) -/* 04C9E4 80051F84 3CC06000 */ lis r6, 0x6000 -/* 04C9E8 80051F88 38850001 */ addi r4, r5, 1 -/* 04C9EC 80051F8C 90810084 */ stw r4, 0x84(r1) -/* 04C9F0 80051F90 54A4103A */ slwi r4, r5, 2 -/* 04C9F4 80051F94 7CDF212E */ stwx r6, r31, r4 -/* 04C9F8 80051F98 48000064 */ b lbl_80051FFC -lbl_80051F9C: -/* 04C9FC 80051F9C 80810084 */ lwz r4, 0x84(r1) -/* 04CA00 80051FA0 38840001 */ addi r4, r4, 1 -/* 04CA04 80051FA4 90810084 */ stw r4, 0x84(r1) -/* 04CA08 80051FA8 48000054 */ b lbl_80051FFC -lbl_80051FAC: -/* 04CA0C 80051FAC 281F0000 */ cmplwi r31, 0 -/* 04CA10 80051FB0 41820040 */ beq lbl_80051FF0 -/* 04CA14 80051FB4 54041838 */ slwi r4, r0, 3 -/* 04CA18 80051FB8 80C10084 */ lwz r6, 0x84(r1) -/* 04CA1C 80051FBC 38840140 */ addi r4, r4, 0x140 -/* 04CA20 80051FC0 7C9E2214 */ add r4, r30, r4 -/* 04CA24 80051FC4 7CBE2050 */ subf r5, r30, r4 -/* 04CA28 80051FC8 5404A814 */ slwi r4, r0, 0x15 -/* 04CA2C 80051FCC 38E50004 */ addi r7, r5, 4 -/* 04CA30 80051FD0 38A60001 */ addi r5, r6, 1 -/* 04CA34 80051FD4 90A10084 */ stw r5, 0x84(r1) -/* 04CA38 80051FD8 6484C003 */ oris r4, r4, 0xc003 -/* 04CA3C 80051FDC 54E5043E */ clrlwi r5, r7, 0x10 -/* 04CA40 80051FE0 7C842A14 */ add r4, r4, r5 -/* 04CA44 80051FE4 54C5103A */ slwi r5, r6, 2 -/* 04CA48 80051FE8 7C9F292E */ stwx r4, r31, r5 -/* 04CA4C 80051FEC 48000010 */ b lbl_80051FFC -lbl_80051FF0: -/* 04CA50 80051FF0 80810084 */ lwz r4, 0x84(r1) -/* 04CA54 80051FF4 38840001 */ addi r4, r4, 1 -/* 04CA58 80051FF8 90810084 */ stw r4, 0x84(r1) -lbl_80051FFC: -/* 04CA5C 80051FFC 3C9E0001 */ addis r4, r30, 1 -/* 04CA60 80052000 80A42064 */ lwz r5, 0x2064(r4) -/* 04CA64 80052004 28050000 */ cmplwi r5, 0 -/* 04CA68 80052008 4082000C */ bne lbl_80052014 -/* 04CA6C 8005200C 38A00000 */ li r5, 0 -/* 04CA70 80052010 48000094 */ b lbl_800520A4 -lbl_80052014: -/* 04CA74 80052014 80A42074 */ lwz r5, 0x2074(r4) -/* 04CA78 80052018 28050000 */ cmplwi r5, 0 -/* 04CA7C 8005201C 4082000C */ bne lbl_80052028 -/* 04CA80 80052020 38A00000 */ li r5, 0 -/* 04CA84 80052024 48000080 */ b lbl_800520A4 -lbl_80052028: -/* 04CA88 80052028 80842078 */ lwz r4, 0x2078(r4) -/* 04CA8C 8005202C 7C032000 */ cmpw r3, r4 -/* 04CA90 80052030 4182000C */ beq lbl_8005203C -/* 04CA94 80052034 38A00000 */ li r5, 0 -/* 04CA98 80052038 4800006C */ b lbl_800520A4 -lbl_8005203C: -/* 04CA9C 8005203C 80DE0034 */ lwz r6, 0x34(r30) -/* 04CAA0 80052040 38A00000 */ li r5, 0 -/* 04CAA4 80052044 80860008 */ lwz r4, 8(r6) -/* 04CAA8 80052048 2C040000 */ cmpwi r4, 0 -/* 04CAAC 8005204C 7C8903A6 */ mtctr r4 -/* 04CAB0 80052050 40810028 */ ble lbl_80052078 -lbl_80052054: -/* 04CAB4 80052054 8086000C */ lwz r4, 0xc(r6) -/* 04CAB8 80052058 38E50004 */ addi r7, r5, 4 -/* 04CABC 8005205C 7C84382E */ lwzx r4, r4, r7 -/* 04CAC0 80052060 7C1D2000 */ cmpw r29, r4 -/* 04CAC4 80052064 4082000C */ bne lbl_80052070 -/* 04CAC8 80052068 38800000 */ li r4, 0 -/* 04CACC 8005206C 48000010 */ b lbl_8005207C -lbl_80052070: -/* 04CAD0 80052070 38A50008 */ addi r5, r5, 8 -/* 04CAD4 80052074 4200FFE0 */ bdnz lbl_80052054 -lbl_80052078: -/* 04CAD8 80052078 38800001 */ li r4, 1 -lbl_8005207C: -/* 04CADC 8005207C 2C040000 */ cmpwi r4, 0 -/* 04CAE0 80052080 40820014 */ bne lbl_80052094 -/* 04CAE4 80052084 38A00000 */ li r5, 0 -/* 04CAE8 80052088 3C9E0001 */ addis r4, r30, 1 -/* 04CAEC 8005208C 90A42074 */ stw r5, 0x2074(r4) -/* 04CAF0 80052090 48000014 */ b lbl_800520A4 -lbl_80052094: -/* 04CAF4 80052094 3C9E0001 */ addis r4, r30, 1 -/* 04CAF8 80052098 38A00000 */ li r5, 0 -/* 04CAFC 8005209C 90A42074 */ stw r5, 0x2074(r4) -/* 04CB00 800520A0 38A00001 */ li r5, 1 -lbl_800520A4: -/* 04CB04 800520A4 2C050000 */ cmpwi r5, 0 -/* 04CB08 800520A8 41820038 */ beq lbl_800520E0 -/* 04CB0C 800520AC 281F0000 */ cmplwi r31, 0 -/* 04CB10 800520B0 41820020 */ beq lbl_800520D0 -/* 04CB14 800520B4 80A10084 */ lwz r5, 0x84(r1) -/* 04CB18 800520B8 3CC06000 */ lis r6, 0x6000 -/* 04CB1C 800520BC 38850001 */ addi r4, r5, 1 -/* 04CB20 800520C0 90810084 */ stw r4, 0x84(r1) -/* 04CB24 800520C4 54A4103A */ slwi r4, r5, 2 -/* 04CB28 800520C8 7CDF212E */ stwx r6, r31, r4 -/* 04CB2C 800520CC 48000064 */ b lbl_80052130 -lbl_800520D0: -/* 04CB30 800520D0 80810084 */ lwz r4, 0x84(r1) -/* 04CB34 800520D4 38840001 */ addi r4, r4, 1 -/* 04CB38 800520D8 90810084 */ stw r4, 0x84(r1) -/* 04CB3C 800520DC 48000054 */ b lbl_80052130 -lbl_800520E0: -/* 04CB40 800520E0 281F0000 */ cmplwi r31, 0 -/* 04CB44 800520E4 41820040 */ beq lbl_80052124 -/* 04CB48 800520E8 54641838 */ slwi r4, r3, 3 -/* 04CB4C 800520EC 80C10084 */ lwz r6, 0x84(r1) -/* 04CB50 800520F0 38840140 */ addi r4, r4, 0x140 -/* 04CB54 800520F4 7C9E2214 */ add r4, r30, r4 -/* 04CB58 800520F8 7CBE2050 */ subf r5, r30, r4 -/* 04CB5C 800520FC 5464A814 */ slwi r4, r3, 0x15 -/* 04CB60 80052100 38E50004 */ addi r7, r5, 4 -/* 04CB64 80052104 38A60001 */ addi r5, r6, 1 -/* 04CB68 80052108 90A10084 */ stw r5, 0x84(r1) -/* 04CB6C 8005210C 6484C003 */ oris r4, r4, 0xc003 -/* 04CB70 80052110 54E5043E */ clrlwi r5, r7, 0x10 -/* 04CB74 80052114 7C842A14 */ add r4, r4, r5 -/* 04CB78 80052118 54C5103A */ slwi r5, r6, 2 -/* 04CB7C 8005211C 7C9F292E */ stwx r4, r31, r5 -/* 04CB80 80052120 48000010 */ b lbl_80052130 -lbl_80052124: -/* 04CB84 80052124 80810084 */ lwz r4, 0x84(r1) -/* 04CB88 80052128 38840001 */ addi r4, r4, 1 -/* 04CB8C 8005212C 90810084 */ stw r4, 0x84(r1) -lbl_80052130: -/* 04CB90 80052130 281F0000 */ cmplwi r31, 0 -/* 04CB94 80052134 41820030 */ beq lbl_80052164 -/* 04CB98 80052138 80810084 */ lwz r4, 0x84(r1) -/* 04CB9C 8005213C 5400801E */ slwi r0, r0, 0x10 -/* 04CBA0 80052140 6405FC00 */ oris r5, r0, 0xfc00 -/* 04CBA4 80052144 38040001 */ addi r0, r4, 1 -/* 04CBA8 80052148 90010084 */ stw r0, 0x84(r1) -/* 04CBAC 8005214C 60A50040 */ ori r5, r5, 0x40 -/* 04CBB0 80052150 54605828 */ slwi r0, r3, 0xb -/* 04CBB4 80052154 7CA00378 */ or r0, r5, r0 -/* 04CBB8 80052158 5483103A */ slwi r3, r4, 2 -/* 04CBBC 8005215C 7C1F192E */ stwx r0, r31, r3 -/* 04CBC0 80052160 48000010 */ b lbl_80052170 -lbl_80052164: -/* 04CBC4 80052164 80610084 */ lwz r3, 0x84(r1) -/* 04CBC8 80052168 38030001 */ addi r0, r3, 1 -/* 04CBCC 8005216C 90010084 */ stw r0, 0x84(r1) -lbl_80052170: -/* 04CBD0 80052170 281F0000 */ cmplwi r31, 0 -/* 04CBD4 80052174 41820024 */ beq lbl_80052198 -/* 04CBD8 80052178 80610084 */ lwz r3, 0x84(r1) -/* 04CBDC 8005217C 3C804080 */ lis r4, 0x4080 -/* 04CBE0 80052180 3884000C */ addi r4, r4, 0xc -/* 04CBE4 80052184 38030001 */ addi r0, r3, 1 -/* 04CBE8 80052188 90010084 */ stw r0, 0x84(r1) -/* 04CBEC 8005218C 5460103A */ slwi r0, r3, 2 -/* 04CBF0 80052190 7C9F012E */ stwx r4, r31, r0 -/* 04CBF4 80052194 48000010 */ b lbl_800521A4 -lbl_80052198: -/* 04CBF8 80052198 80610084 */ lwz r3, 0x84(r1) -/* 04CBFC 8005219C 38030001 */ addi r0, r3, 1 -/* 04CC00 800521A0 90010084 */ stw r0, 0x84(r1) -lbl_800521A4: -/* 04CC04 800521A4 281F0000 */ cmplwi r31, 0 -/* 04CC08 800521A8 41820024 */ beq lbl_800521CC -/* 04CC0C 800521AC 80610084 */ lwz r3, 0x84(r1) -/* 04CC10 800521B0 3C8064A5 */ lis r4, 0x64a5 -/* 04CC14 800521B4 38840080 */ addi r4, r4, 0x80 -/* 04CC18 800521B8 38030001 */ addi r0, r3, 1 -/* 04CC1C 800521BC 90010084 */ stw r0, 0x84(r1) -/* 04CC20 800521C0 5460103A */ slwi r0, r3, 2 -/* 04CC24 800521C4 7C9F012E */ stwx r4, r31, r0 -/* 04CC28 800521C8 48000010 */ b lbl_800521D8 -lbl_800521CC: -/* 04CC2C 800521CC 80610084 */ lwz r3, 0x84(r1) -/* 04CC30 800521D0 38030001 */ addi r0, r3, 1 -/* 04CC34 800521D4 90010084 */ stw r0, 0x84(r1) -lbl_800521D8: -/* 04CC38 800521D8 281F0000 */ cmplwi r31, 0 -/* 04CC3C 800521DC 41820024 */ beq lbl_80052200 -/* 04CC40 800521E0 80610084 */ lwz r3, 0x84(r1) -/* 04CC44 800521E4 3C804280 */ lis r4, 0x4280 -/* 04CC48 800521E8 38840008 */ addi r4, r4, 8 -/* 04CC4C 800521EC 38030001 */ addi r0, r3, 1 -/* 04CC50 800521F0 90010084 */ stw r0, 0x84(r1) -/* 04CC54 800521F4 5460103A */ slwi r0, r3, 2 -/* 04CC58 800521F8 7C9F012E */ stwx r4, r31, r0 -/* 04CC5C 800521FC 48000010 */ b lbl_8005220C -lbl_80052200: -/* 04CC60 80052200 80610084 */ lwz r3, 0x84(r1) -/* 04CC64 80052204 38030001 */ addi r0, r3, 1 -/* 04CC68 80052208 90010084 */ stw r0, 0x84(r1) -lbl_8005220C: -/* 04CC6C 8005220C 281F0000 */ cmplwi r31, 0 -/* 04CC70 80052210 41820024 */ beq lbl_80052234 -/* 04CC74 80052214 80610084 */ lwz r3, 0x84(r1) -/* 04CC78 80052218 3C8054A5 */ lis r4, 0x54a5 -/* 04CC7C 8005221C 3884024E */ addi r4, r4, 0x24e -/* 04CC80 80052220 38030001 */ addi r0, r3, 1 -/* 04CC84 80052224 90010084 */ stw r0, 0x84(r1) -/* 04CC88 80052228 5460103A */ slwi r0, r3, 2 -/* 04CC8C 8005222C 7C9F012E */ stwx r4, r31, r0 -/* 04CC90 80052230 48000010 */ b lbl_80052240 -lbl_80052234: -/* 04CC94 80052234 80610084 */ lwz r3, 0x84(r1) -/* 04CC98 80052238 38030001 */ addi r0, r3, 1 -/* 04CC9C 8005223C 90010084 */ stw r0, 0x84(r1) -lbl_80052240: -/* 04CCA0 80052240 281F0000 */ cmplwi r31, 0 -/* 04CCA4 80052244 41820028 */ beq lbl_8005226C -/* 04CCA8 80052248 80610084 */ lwz r3, 0x84(r1) -/* 04CCAC 8005224C 381E0A3C */ addi r0, r30, 0xa3c -/* 04CCB0 80052250 7C9E0050 */ subf r4, r30, r0 -/* 04CCB4 80052254 38030001 */ addi r0, r3, 1 -/* 04CCB8 80052258 90010084 */ stw r0, 0x84(r1) -/* 04CCBC 8005225C 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04CCC0 80052260 5463103A */ slwi r3, r3, 2 -/* 04CCC4 80052264 7C1F192E */ stwx r0, r31, r3 -/* 04CCC8 80052268 48015CCC */ b lbl_80067F34 -lbl_8005226C: -/* 04CCCC 8005226C 80610084 */ lwz r3, 0x84(r1) -/* 04CCD0 80052270 38030001 */ addi r0, r3, 1 -/* 04CCD4 80052274 90010084 */ stw r0, 0x84(r1) -/* 04CCD8 80052278 48015CBC */ b lbl_80067F34 -.global lbl_8005227C -lbl_8005227C: -/* 04CCDC 8005227C 281F0000 */ cmplwi r31, 0 -/* 04CCE0 80052280 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04CCE4 80052284 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04CCE8 80052288 41820028 */ beq lbl_800522B0 -/* 04CCEC 8005228C 80810084 */ lwz r4, 0x84(r1) -/* 04CCF0 80052290 38BE0A3C */ addi r5, r30, 0xa3c -/* 04CCF4 80052294 7CBE2850 */ subf r5, r30, r5 -/* 04CCF8 80052298 38C40001 */ addi r6, r4, 1 -/* 04CCFC 8005229C 90C10084 */ stw r6, 0x84(r1) -/* 04CD00 800522A0 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04CD04 800522A4 5484103A */ slwi r4, r4, 2 -/* 04CD08 800522A8 7CBF212E */ stwx r5, r31, r4 -/* 04CD0C 800522AC 48000010 */ b lbl_800522BC -lbl_800522B0: -/* 04CD10 800522B0 80810084 */ lwz r4, 0x84(r1) -/* 04CD14 800522B4 38840001 */ addi r4, r4, 1 -/* 04CD18 800522B8 90810084 */ stw r4, 0x84(r1) -lbl_800522BC: -/* 04CD1C 800522BC 3C9E0001 */ addis r4, r30, 1 -/* 04CD20 800522C0 80A42064 */ lwz r5, 0x2064(r4) -/* 04CD24 800522C4 28050000 */ cmplwi r5, 0 -/* 04CD28 800522C8 4082000C */ bne lbl_800522D4 -/* 04CD2C 800522CC 38A00000 */ li r5, 0 -/* 04CD30 800522D0 48000094 */ b lbl_80052364 -lbl_800522D4: -/* 04CD34 800522D4 80A42074 */ lwz r5, 0x2074(r4) -/* 04CD38 800522D8 28050000 */ cmplwi r5, 0 -/* 04CD3C 800522DC 4082000C */ bne lbl_800522E8 -/* 04CD40 800522E0 38A00000 */ li r5, 0 -/* 04CD44 800522E4 48000080 */ b lbl_80052364 -lbl_800522E8: -/* 04CD48 800522E8 80842078 */ lwz r4, 0x2078(r4) -/* 04CD4C 800522EC 7C002000 */ cmpw r0, r4 -/* 04CD50 800522F0 4182000C */ beq lbl_800522FC -/* 04CD54 800522F4 38A00000 */ li r5, 0 -/* 04CD58 800522F8 4800006C */ b lbl_80052364 -lbl_800522FC: -/* 04CD5C 800522FC 80DE0034 */ lwz r6, 0x34(r30) -/* 04CD60 80052300 38A00000 */ li r5, 0 -/* 04CD64 80052304 80860008 */ lwz r4, 8(r6) -/* 04CD68 80052308 2C040000 */ cmpwi r4, 0 -/* 04CD6C 8005230C 7C8903A6 */ mtctr r4 -/* 04CD70 80052310 40810028 */ ble lbl_80052338 -lbl_80052314: -/* 04CD74 80052314 8086000C */ lwz r4, 0xc(r6) -/* 04CD78 80052318 38E50004 */ addi r7, r5, 4 -/* 04CD7C 8005231C 7C84382E */ lwzx r4, r4, r7 -/* 04CD80 80052320 7C1D2000 */ cmpw r29, r4 -/* 04CD84 80052324 4082000C */ bne lbl_80052330 -/* 04CD88 80052328 38800000 */ li r4, 0 -/* 04CD8C 8005232C 48000010 */ b lbl_8005233C -lbl_80052330: -/* 04CD90 80052330 38A50008 */ addi r5, r5, 8 -/* 04CD94 80052334 4200FFE0 */ bdnz lbl_80052314 -lbl_80052338: -/* 04CD98 80052338 38800001 */ li r4, 1 -lbl_8005233C: -/* 04CD9C 8005233C 2C040000 */ cmpwi r4, 0 -/* 04CDA0 80052340 40820014 */ bne lbl_80052354 -/* 04CDA4 80052344 38A00000 */ li r5, 0 -/* 04CDA8 80052348 3C9E0001 */ addis r4, r30, 1 -/* 04CDAC 8005234C 90A42074 */ stw r5, 0x2074(r4) -/* 04CDB0 80052350 48000014 */ b lbl_80052364 -lbl_80052354: -/* 04CDB4 80052354 3C9E0001 */ addis r4, r30, 1 -/* 04CDB8 80052358 38A00000 */ li r5, 0 -/* 04CDBC 8005235C 90A42074 */ stw r5, 0x2074(r4) -/* 04CDC0 80052360 38A00001 */ li r5, 1 -lbl_80052364: -/* 04CDC4 80052364 2C050000 */ cmpwi r5, 0 -/* 04CDC8 80052368 41820038 */ beq lbl_800523A0 -/* 04CDCC 8005236C 281F0000 */ cmplwi r31, 0 -/* 04CDD0 80052370 41820020 */ beq lbl_80052390 -/* 04CDD4 80052374 80A10084 */ lwz r5, 0x84(r1) -/* 04CDD8 80052378 3CC06000 */ lis r6, 0x6000 -/* 04CDDC 8005237C 38850001 */ addi r4, r5, 1 -/* 04CDE0 80052380 90810084 */ stw r4, 0x84(r1) -/* 04CDE4 80052384 54A4103A */ slwi r4, r5, 2 -/* 04CDE8 80052388 7CDF212E */ stwx r6, r31, r4 -/* 04CDEC 8005238C 48000064 */ b lbl_800523F0 -lbl_80052390: -/* 04CDF0 80052390 80810084 */ lwz r4, 0x84(r1) -/* 04CDF4 80052394 38840001 */ addi r4, r4, 1 -/* 04CDF8 80052398 90810084 */ stw r4, 0x84(r1) -/* 04CDFC 8005239C 48000054 */ b lbl_800523F0 -lbl_800523A0: -/* 04CE00 800523A0 281F0000 */ cmplwi r31, 0 -/* 04CE04 800523A4 41820040 */ beq lbl_800523E4 -/* 04CE08 800523A8 54041838 */ slwi r4, r0, 3 -/* 04CE0C 800523AC 80C10084 */ lwz r6, 0x84(r1) -/* 04CE10 800523B0 38840140 */ addi r4, r4, 0x140 -/* 04CE14 800523B4 7C9E2214 */ add r4, r30, r4 -/* 04CE18 800523B8 7CBE2050 */ subf r5, r30, r4 -/* 04CE1C 800523BC 5404A814 */ slwi r4, r0, 0x15 -/* 04CE20 800523C0 38E50004 */ addi r7, r5, 4 -/* 04CE24 800523C4 38A60001 */ addi r5, r6, 1 -/* 04CE28 800523C8 90A10084 */ stw r5, 0x84(r1) -/* 04CE2C 800523CC 6484C003 */ oris r4, r4, 0xc003 -/* 04CE30 800523D0 54E5043E */ clrlwi r5, r7, 0x10 -/* 04CE34 800523D4 7C842A14 */ add r4, r4, r5 -/* 04CE38 800523D8 54C5103A */ slwi r5, r6, 2 -/* 04CE3C 800523DC 7C9F292E */ stwx r4, r31, r5 -/* 04CE40 800523E0 48000010 */ b lbl_800523F0 -lbl_800523E4: -/* 04CE44 800523E4 80810084 */ lwz r4, 0x84(r1) -/* 04CE48 800523E8 38840001 */ addi r4, r4, 1 -/* 04CE4C 800523EC 90810084 */ stw r4, 0x84(r1) -lbl_800523F0: -/* 04CE50 800523F0 3C9E0001 */ addis r4, r30, 1 -/* 04CE54 800523F4 80A42064 */ lwz r5, 0x2064(r4) -/* 04CE58 800523F8 28050000 */ cmplwi r5, 0 -/* 04CE5C 800523FC 4082000C */ bne lbl_80052408 -/* 04CE60 80052400 38A00000 */ li r5, 0 -/* 04CE64 80052404 48000094 */ b lbl_80052498 -lbl_80052408: -/* 04CE68 80052408 80A42074 */ lwz r5, 0x2074(r4) -/* 04CE6C 8005240C 28050000 */ cmplwi r5, 0 -/* 04CE70 80052410 4082000C */ bne lbl_8005241C -/* 04CE74 80052414 38A00000 */ li r5, 0 -/* 04CE78 80052418 48000080 */ b lbl_80052498 -lbl_8005241C: -/* 04CE7C 8005241C 80842078 */ lwz r4, 0x2078(r4) -/* 04CE80 80052420 7C032000 */ cmpw r3, r4 -/* 04CE84 80052424 4182000C */ beq lbl_80052430 -/* 04CE88 80052428 38A00000 */ li r5, 0 -/* 04CE8C 8005242C 4800006C */ b lbl_80052498 -lbl_80052430: -/* 04CE90 80052430 80DE0034 */ lwz r6, 0x34(r30) -/* 04CE94 80052434 38A00000 */ li r5, 0 -/* 04CE98 80052438 80860008 */ lwz r4, 8(r6) -/* 04CE9C 8005243C 2C040000 */ cmpwi r4, 0 -/* 04CEA0 80052440 7C8903A6 */ mtctr r4 -/* 04CEA4 80052444 40810028 */ ble lbl_8005246C -lbl_80052448: -/* 04CEA8 80052448 8086000C */ lwz r4, 0xc(r6) -/* 04CEAC 8005244C 38E50004 */ addi r7, r5, 4 -/* 04CEB0 80052450 7C84382E */ lwzx r4, r4, r7 -/* 04CEB4 80052454 7C1D2000 */ cmpw r29, r4 -/* 04CEB8 80052458 4082000C */ bne lbl_80052464 -/* 04CEBC 8005245C 38800000 */ li r4, 0 -/* 04CEC0 80052460 48000010 */ b lbl_80052470 -lbl_80052464: -/* 04CEC4 80052464 38A50008 */ addi r5, r5, 8 -/* 04CEC8 80052468 4200FFE0 */ bdnz lbl_80052448 -lbl_8005246C: -/* 04CECC 8005246C 38800001 */ li r4, 1 -lbl_80052470: -/* 04CED0 80052470 2C040000 */ cmpwi r4, 0 -/* 04CED4 80052474 40820014 */ bne lbl_80052488 -/* 04CED8 80052478 38A00000 */ li r5, 0 -/* 04CEDC 8005247C 3C9E0001 */ addis r4, r30, 1 -/* 04CEE0 80052480 90A42074 */ stw r5, 0x2074(r4) -/* 04CEE4 80052484 48000014 */ b lbl_80052498 -lbl_80052488: -/* 04CEE8 80052488 3C9E0001 */ addis r4, r30, 1 -/* 04CEEC 8005248C 38A00000 */ li r5, 0 -/* 04CEF0 80052490 90A42074 */ stw r5, 0x2074(r4) -/* 04CEF4 80052494 38A00001 */ li r5, 1 -lbl_80052498: -/* 04CEF8 80052498 2C050000 */ cmpwi r5, 0 -/* 04CEFC 8005249C 41820038 */ beq lbl_800524D4 -/* 04CF00 800524A0 281F0000 */ cmplwi r31, 0 -/* 04CF04 800524A4 41820020 */ beq lbl_800524C4 -/* 04CF08 800524A8 80A10084 */ lwz r5, 0x84(r1) -/* 04CF0C 800524AC 3CC06000 */ lis r6, 0x6000 -/* 04CF10 800524B0 38850001 */ addi r4, r5, 1 -/* 04CF14 800524B4 90810084 */ stw r4, 0x84(r1) -/* 04CF18 800524B8 54A4103A */ slwi r4, r5, 2 -/* 04CF1C 800524BC 7CDF212E */ stwx r6, r31, r4 -/* 04CF20 800524C0 48000064 */ b lbl_80052524 -lbl_800524C4: -/* 04CF24 800524C4 80810084 */ lwz r4, 0x84(r1) -/* 04CF28 800524C8 38840001 */ addi r4, r4, 1 -/* 04CF2C 800524CC 90810084 */ stw r4, 0x84(r1) -/* 04CF30 800524D0 48000054 */ b lbl_80052524 -lbl_800524D4: -/* 04CF34 800524D4 281F0000 */ cmplwi r31, 0 -/* 04CF38 800524D8 41820040 */ beq lbl_80052518 -/* 04CF3C 800524DC 54641838 */ slwi r4, r3, 3 -/* 04CF40 800524E0 80C10084 */ lwz r6, 0x84(r1) -/* 04CF44 800524E4 38840140 */ addi r4, r4, 0x140 -/* 04CF48 800524E8 7C9E2214 */ add r4, r30, r4 -/* 04CF4C 800524EC 7CBE2050 */ subf r5, r30, r4 -/* 04CF50 800524F0 5464A814 */ slwi r4, r3, 0x15 -/* 04CF54 800524F4 38E50004 */ addi r7, r5, 4 -/* 04CF58 800524F8 38A60001 */ addi r5, r6, 1 -/* 04CF5C 800524FC 90A10084 */ stw r5, 0x84(r1) -/* 04CF60 80052500 6484C003 */ oris r4, r4, 0xc003 -/* 04CF64 80052504 54E5043E */ clrlwi r5, r7, 0x10 -/* 04CF68 80052508 7C842A14 */ add r4, r4, r5 -/* 04CF6C 8005250C 54C5103A */ slwi r5, r6, 2 -/* 04CF70 80052510 7C9F292E */ stwx r4, r31, r5 -/* 04CF74 80052514 48000010 */ b lbl_80052524 -lbl_80052518: -/* 04CF78 80052518 80810084 */ lwz r4, 0x84(r1) -/* 04CF7C 8005251C 38840001 */ addi r4, r4, 1 -/* 04CF80 80052520 90810084 */ stw r4, 0x84(r1) -lbl_80052524: -/* 04CF84 80052524 281F0000 */ cmplwi r31, 0 -/* 04CF88 80052528 41820030 */ beq lbl_80052558 -/* 04CF8C 8005252C 80810084 */ lwz r4, 0x84(r1) -/* 04CF90 80052530 5400801E */ slwi r0, r0, 0x10 -/* 04CF94 80052534 6405FC00 */ oris r5, r0, 0xfc00 -/* 04CF98 80052538 38040001 */ addi r0, r4, 1 -/* 04CF9C 8005253C 90010084 */ stw r0, 0x84(r1) -/* 04CFA0 80052540 60A50040 */ ori r5, r5, 0x40 -/* 04CFA4 80052544 54605828 */ slwi r0, r3, 0xb -/* 04CFA8 80052548 7CA00378 */ or r0, r5, r0 -/* 04CFAC 8005254C 5483103A */ slwi r3, r4, 2 -/* 04CFB0 80052550 7C1F192E */ stwx r0, r31, r3 -/* 04CFB4 80052554 48000010 */ b lbl_80052564 -lbl_80052558: -/* 04CFB8 80052558 80610084 */ lwz r3, 0x84(r1) -/* 04CFBC 8005255C 38030001 */ addi r0, r3, 1 -/* 04CFC0 80052560 90010084 */ stw r0, 0x84(r1) -lbl_80052564: -/* 04CFC4 80052564 281F0000 */ cmplwi r31, 0 -/* 04CFC8 80052568 41820024 */ beq lbl_8005258C -/* 04CFCC 8005256C 80610084 */ lwz r3, 0x84(r1) -/* 04CFD0 80052570 3C804080 */ lis r4, 0x4080 -/* 04CFD4 80052574 3884000C */ addi r4, r4, 0xc -/* 04CFD8 80052578 38030001 */ addi r0, r3, 1 -/* 04CFDC 8005257C 90010084 */ stw r0, 0x84(r1) -/* 04CFE0 80052580 5460103A */ slwi r0, r3, 2 -/* 04CFE4 80052584 7C9F012E */ stwx r4, r31, r0 -/* 04CFE8 80052588 48000010 */ b lbl_80052598 -lbl_8005258C: -/* 04CFEC 8005258C 80610084 */ lwz r3, 0x84(r1) -/* 04CFF0 80052590 38030001 */ addi r0, r3, 1 -/* 04CFF4 80052594 90010084 */ stw r0, 0x84(r1) -lbl_80052598: -/* 04CFF8 80052598 281F0000 */ cmplwi r31, 0 -/* 04CFFC 8005259C 41820024 */ beq lbl_800525C0 -/* 04D000 800525A0 80610084 */ lwz r3, 0x84(r1) -/* 04D004 800525A4 3C8064A5 */ lis r4, 0x64a5 -/* 04D008 800525A8 38840080 */ addi r4, r4, 0x80 -/* 04D00C 800525AC 38030001 */ addi r0, r3, 1 -/* 04D010 800525B0 90010084 */ stw r0, 0x84(r1) -/* 04D014 800525B4 5460103A */ slwi r0, r3, 2 -/* 04D018 800525B8 7C9F012E */ stwx r4, r31, r0 -/* 04D01C 800525BC 48000010 */ b lbl_800525CC -lbl_800525C0: -/* 04D020 800525C0 80610084 */ lwz r3, 0x84(r1) -/* 04D024 800525C4 38030001 */ addi r0, r3, 1 -/* 04D028 800525C8 90010084 */ stw r0, 0x84(r1) -lbl_800525CC: -/* 04D02C 800525CC 281F0000 */ cmplwi r31, 0 -/* 04D030 800525D0 41820024 */ beq lbl_800525F4 -/* 04D034 800525D4 80610084 */ lwz r3, 0x84(r1) -/* 04D038 800525D8 3C804280 */ lis r4, 0x4280 -/* 04D03C 800525DC 38840008 */ addi r4, r4, 8 -/* 04D040 800525E0 38030001 */ addi r0, r3, 1 -/* 04D044 800525E4 90010084 */ stw r0, 0x84(r1) -/* 04D048 800525E8 5460103A */ slwi r0, r3, 2 -/* 04D04C 800525EC 7C9F012E */ stwx r4, r31, r0 -/* 04D050 800525F0 48000010 */ b lbl_80052600 -lbl_800525F4: -/* 04D054 800525F4 80610084 */ lwz r3, 0x84(r1) -/* 04D058 800525F8 38030001 */ addi r0, r3, 1 -/* 04D05C 800525FC 90010084 */ stw r0, 0x84(r1) -lbl_80052600: -/* 04D060 80052600 281F0000 */ cmplwi r31, 0 -/* 04D064 80052604 41820024 */ beq lbl_80052628 -/* 04D068 80052608 80610084 */ lwz r3, 0x84(r1) -/* 04D06C 8005260C 3C8054A5 */ lis r4, 0x54a5 -/* 04D070 80052610 3884024E */ addi r4, r4, 0x24e -/* 04D074 80052614 38030001 */ addi r0, r3, 1 -/* 04D078 80052618 90010084 */ stw r0, 0x84(r1) -/* 04D07C 8005261C 5460103A */ slwi r0, r3, 2 -/* 04D080 80052620 7C9F012E */ stwx r4, r31, r0 -/* 04D084 80052624 48000010 */ b lbl_80052634 -lbl_80052628: -/* 04D088 80052628 80610084 */ lwz r3, 0x84(r1) -/* 04D08C 8005262C 38030001 */ addi r0, r3, 1 -/* 04D090 80052630 90010084 */ stw r0, 0x84(r1) -lbl_80052634: -/* 04D094 80052634 281F0000 */ cmplwi r31, 0 -/* 04D098 80052638 41820028 */ beq lbl_80052660 -/* 04D09C 8005263C 80610084 */ lwz r3, 0x84(r1) -/* 04D0A0 80052640 381E0A3C */ addi r0, r30, 0xa3c -/* 04D0A4 80052644 7C9E0050 */ subf r4, r30, r0 -/* 04D0A8 80052648 38030001 */ addi r0, r3, 1 -/* 04D0AC 8005264C 90010084 */ stw r0, 0x84(r1) -/* 04D0B0 80052650 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04D0B4 80052654 5463103A */ slwi r3, r3, 2 -/* 04D0B8 80052658 7C1F192E */ stwx r0, r31, r3 -/* 04D0BC 8005265C 480158D8 */ b lbl_80067F34 -lbl_80052660: -/* 04D0C0 80052660 80610084 */ lwz r3, 0x84(r1) -/* 04D0C4 80052664 38030001 */ addi r0, r3, 1 -/* 04D0C8 80052668 90010084 */ stw r0, 0x84(r1) -/* 04D0CC 8005266C 480158C8 */ b lbl_80067F34 -.global lbl_80052670 -lbl_80052670: -/* 04D0D0 80052670 281F0000 */ cmplwi r31, 0 -/* 04D0D4 80052674 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04D0D8 80052678 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04D0DC 8005267C 41820028 */ beq lbl_800526A4 -/* 04D0E0 80052680 80810084 */ lwz r4, 0x84(r1) -/* 04D0E4 80052684 38BE0A3C */ addi r5, r30, 0xa3c -/* 04D0E8 80052688 7CBE2850 */ subf r5, r30, r5 -/* 04D0EC 8005268C 38C40001 */ addi r6, r4, 1 -/* 04D0F0 80052690 90C10084 */ stw r6, 0x84(r1) -/* 04D0F4 80052694 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04D0F8 80052698 5484103A */ slwi r4, r4, 2 -/* 04D0FC 8005269C 7CBF212E */ stwx r5, r31, r4 -/* 04D100 800526A0 48000010 */ b lbl_800526B0 -lbl_800526A4: -/* 04D104 800526A4 80810084 */ lwz r4, 0x84(r1) -/* 04D108 800526A8 38840001 */ addi r4, r4, 1 -/* 04D10C 800526AC 90810084 */ stw r4, 0x84(r1) -lbl_800526B0: -/* 04D110 800526B0 3C9E0001 */ addis r4, r30, 1 -/* 04D114 800526B4 80A42064 */ lwz r5, 0x2064(r4) -/* 04D118 800526B8 28050000 */ cmplwi r5, 0 -/* 04D11C 800526BC 4082000C */ bne lbl_800526C8 -/* 04D120 800526C0 38A00000 */ li r5, 0 -/* 04D124 800526C4 48000094 */ b lbl_80052758 -lbl_800526C8: -/* 04D128 800526C8 80A42074 */ lwz r5, 0x2074(r4) -/* 04D12C 800526CC 28050000 */ cmplwi r5, 0 -/* 04D130 800526D0 4082000C */ bne lbl_800526DC -/* 04D134 800526D4 38A00000 */ li r5, 0 -/* 04D138 800526D8 48000080 */ b lbl_80052758 -lbl_800526DC: -/* 04D13C 800526DC 80842078 */ lwz r4, 0x2078(r4) -/* 04D140 800526E0 7C002000 */ cmpw r0, r4 -/* 04D144 800526E4 4182000C */ beq lbl_800526F0 -/* 04D148 800526E8 38A00000 */ li r5, 0 -/* 04D14C 800526EC 4800006C */ b lbl_80052758 -lbl_800526F0: -/* 04D150 800526F0 80DE0034 */ lwz r6, 0x34(r30) -/* 04D154 800526F4 38A00000 */ li r5, 0 -/* 04D158 800526F8 80860008 */ lwz r4, 8(r6) -/* 04D15C 800526FC 2C040000 */ cmpwi r4, 0 -/* 04D160 80052700 7C8903A6 */ mtctr r4 -/* 04D164 80052704 40810028 */ ble lbl_8005272C -lbl_80052708: -/* 04D168 80052708 8086000C */ lwz r4, 0xc(r6) -/* 04D16C 8005270C 38E50004 */ addi r7, r5, 4 -/* 04D170 80052710 7C84382E */ lwzx r4, r4, r7 -/* 04D174 80052714 7C1D2000 */ cmpw r29, r4 -/* 04D178 80052718 4082000C */ bne lbl_80052724 -/* 04D17C 8005271C 38800000 */ li r4, 0 -/* 04D180 80052720 48000010 */ b lbl_80052730 -lbl_80052724: -/* 04D184 80052724 38A50008 */ addi r5, r5, 8 -/* 04D188 80052728 4200FFE0 */ bdnz lbl_80052708 -lbl_8005272C: -/* 04D18C 8005272C 38800001 */ li r4, 1 -lbl_80052730: -/* 04D190 80052730 2C040000 */ cmpwi r4, 0 -/* 04D194 80052734 40820014 */ bne lbl_80052748 -/* 04D198 80052738 38A00000 */ li r5, 0 -/* 04D19C 8005273C 3C9E0001 */ addis r4, r30, 1 -/* 04D1A0 80052740 90A42074 */ stw r5, 0x2074(r4) -/* 04D1A4 80052744 48000014 */ b lbl_80052758 -lbl_80052748: -/* 04D1A8 80052748 3C9E0001 */ addis r4, r30, 1 -/* 04D1AC 8005274C 38A00000 */ li r5, 0 -/* 04D1B0 80052750 90A42074 */ stw r5, 0x2074(r4) -/* 04D1B4 80052754 38A00001 */ li r5, 1 -lbl_80052758: -/* 04D1B8 80052758 2C050000 */ cmpwi r5, 0 -/* 04D1BC 8005275C 41820038 */ beq lbl_80052794 -/* 04D1C0 80052760 281F0000 */ cmplwi r31, 0 -/* 04D1C4 80052764 41820020 */ beq lbl_80052784 -/* 04D1C8 80052768 80A10084 */ lwz r5, 0x84(r1) -/* 04D1CC 8005276C 3CC06000 */ lis r6, 0x6000 -/* 04D1D0 80052770 38850001 */ addi r4, r5, 1 -/* 04D1D4 80052774 90810084 */ stw r4, 0x84(r1) -/* 04D1D8 80052778 54A4103A */ slwi r4, r5, 2 -/* 04D1DC 8005277C 7CDF212E */ stwx r6, r31, r4 -/* 04D1E0 80052780 48000064 */ b lbl_800527E4 -lbl_80052784: -/* 04D1E4 80052784 80810084 */ lwz r4, 0x84(r1) -/* 04D1E8 80052788 38840001 */ addi r4, r4, 1 -/* 04D1EC 8005278C 90810084 */ stw r4, 0x84(r1) -/* 04D1F0 80052790 48000054 */ b lbl_800527E4 -lbl_80052794: -/* 04D1F4 80052794 281F0000 */ cmplwi r31, 0 -/* 04D1F8 80052798 41820040 */ beq lbl_800527D8 -/* 04D1FC 8005279C 54041838 */ slwi r4, r0, 3 -/* 04D200 800527A0 80C10084 */ lwz r6, 0x84(r1) -/* 04D204 800527A4 38840140 */ addi r4, r4, 0x140 -/* 04D208 800527A8 7C9E2214 */ add r4, r30, r4 -/* 04D20C 800527AC 7CBE2050 */ subf r5, r30, r4 -/* 04D210 800527B0 5404A814 */ slwi r4, r0, 0x15 -/* 04D214 800527B4 38E50004 */ addi r7, r5, 4 -/* 04D218 800527B8 38A60001 */ addi r5, r6, 1 -/* 04D21C 800527BC 90A10084 */ stw r5, 0x84(r1) -/* 04D220 800527C0 6484C003 */ oris r4, r4, 0xc003 -/* 04D224 800527C4 54E5043E */ clrlwi r5, r7, 0x10 -/* 04D228 800527C8 7C842A14 */ add r4, r4, r5 -/* 04D22C 800527CC 54C5103A */ slwi r5, r6, 2 -/* 04D230 800527D0 7C9F292E */ stwx r4, r31, r5 -/* 04D234 800527D4 48000010 */ b lbl_800527E4 -lbl_800527D8: -/* 04D238 800527D8 80810084 */ lwz r4, 0x84(r1) -/* 04D23C 800527DC 38840001 */ addi r4, r4, 1 -/* 04D240 800527E0 90810084 */ stw r4, 0x84(r1) -lbl_800527E4: -/* 04D244 800527E4 3C9E0001 */ addis r4, r30, 1 -/* 04D248 800527E8 80A42064 */ lwz r5, 0x2064(r4) -/* 04D24C 800527EC 28050000 */ cmplwi r5, 0 -/* 04D250 800527F0 4082000C */ bne lbl_800527FC -/* 04D254 800527F4 38A00000 */ li r5, 0 -/* 04D258 800527F8 48000094 */ b lbl_8005288C -lbl_800527FC: -/* 04D25C 800527FC 80A42074 */ lwz r5, 0x2074(r4) -/* 04D260 80052800 28050000 */ cmplwi r5, 0 -/* 04D264 80052804 4082000C */ bne lbl_80052810 -/* 04D268 80052808 38A00000 */ li r5, 0 -/* 04D26C 8005280C 48000080 */ b lbl_8005288C -lbl_80052810: -/* 04D270 80052810 80842078 */ lwz r4, 0x2078(r4) -/* 04D274 80052814 7C032000 */ cmpw r3, r4 -/* 04D278 80052818 4182000C */ beq lbl_80052824 -/* 04D27C 8005281C 38A00000 */ li r5, 0 -/* 04D280 80052820 4800006C */ b lbl_8005288C -lbl_80052824: -/* 04D284 80052824 80DE0034 */ lwz r6, 0x34(r30) -/* 04D288 80052828 38A00000 */ li r5, 0 -/* 04D28C 8005282C 80860008 */ lwz r4, 8(r6) -/* 04D290 80052830 2C040000 */ cmpwi r4, 0 -/* 04D294 80052834 7C8903A6 */ mtctr r4 -/* 04D298 80052838 40810028 */ ble lbl_80052860 -lbl_8005283C: -/* 04D29C 8005283C 8086000C */ lwz r4, 0xc(r6) -/* 04D2A0 80052840 38E50004 */ addi r7, r5, 4 -/* 04D2A4 80052844 7C84382E */ lwzx r4, r4, r7 -/* 04D2A8 80052848 7C1D2000 */ cmpw r29, r4 -/* 04D2AC 8005284C 4082000C */ bne lbl_80052858 -/* 04D2B0 80052850 38800000 */ li r4, 0 -/* 04D2B4 80052854 48000010 */ b lbl_80052864 -lbl_80052858: -/* 04D2B8 80052858 38A50008 */ addi r5, r5, 8 -/* 04D2BC 8005285C 4200FFE0 */ bdnz lbl_8005283C -lbl_80052860: -/* 04D2C0 80052860 38800001 */ li r4, 1 -lbl_80052864: -/* 04D2C4 80052864 2C040000 */ cmpwi r4, 0 -/* 04D2C8 80052868 40820014 */ bne lbl_8005287C -/* 04D2CC 8005286C 38A00000 */ li r5, 0 -/* 04D2D0 80052870 3C9E0001 */ addis r4, r30, 1 -/* 04D2D4 80052874 90A42074 */ stw r5, 0x2074(r4) -/* 04D2D8 80052878 48000014 */ b lbl_8005288C -lbl_8005287C: -/* 04D2DC 8005287C 3C9E0001 */ addis r4, r30, 1 -/* 04D2E0 80052880 38A00000 */ li r5, 0 -/* 04D2E4 80052884 90A42074 */ stw r5, 0x2074(r4) -/* 04D2E8 80052888 38A00001 */ li r5, 1 -lbl_8005288C: -/* 04D2EC 8005288C 2C050000 */ cmpwi r5, 0 -/* 04D2F0 80052890 41820038 */ beq lbl_800528C8 -/* 04D2F4 80052894 281F0000 */ cmplwi r31, 0 -/* 04D2F8 80052898 41820020 */ beq lbl_800528B8 -/* 04D2FC 8005289C 80A10084 */ lwz r5, 0x84(r1) -/* 04D300 800528A0 3CC06000 */ lis r6, 0x6000 -/* 04D304 800528A4 38850001 */ addi r4, r5, 1 -/* 04D308 800528A8 90810084 */ stw r4, 0x84(r1) -/* 04D30C 800528AC 54A4103A */ slwi r4, r5, 2 -/* 04D310 800528B0 7CDF212E */ stwx r6, r31, r4 -/* 04D314 800528B4 48000064 */ b lbl_80052918 -lbl_800528B8: -/* 04D318 800528B8 80810084 */ lwz r4, 0x84(r1) -/* 04D31C 800528BC 38840001 */ addi r4, r4, 1 -/* 04D320 800528C0 90810084 */ stw r4, 0x84(r1) -/* 04D324 800528C4 48000054 */ b lbl_80052918 -lbl_800528C8: -/* 04D328 800528C8 281F0000 */ cmplwi r31, 0 -/* 04D32C 800528CC 41820040 */ beq lbl_8005290C -/* 04D330 800528D0 54641838 */ slwi r4, r3, 3 -/* 04D334 800528D4 80C10084 */ lwz r6, 0x84(r1) -/* 04D338 800528D8 38840140 */ addi r4, r4, 0x140 -/* 04D33C 800528DC 7C9E2214 */ add r4, r30, r4 -/* 04D340 800528E0 7CBE2050 */ subf r5, r30, r4 -/* 04D344 800528E4 5464A814 */ slwi r4, r3, 0x15 -/* 04D348 800528E8 38E50004 */ addi r7, r5, 4 -/* 04D34C 800528EC 38A60001 */ addi r5, r6, 1 -/* 04D350 800528F0 90A10084 */ stw r5, 0x84(r1) -/* 04D354 800528F4 6484C003 */ oris r4, r4, 0xc003 -/* 04D358 800528F8 54E5043E */ clrlwi r5, r7, 0x10 -/* 04D35C 800528FC 7C842A14 */ add r4, r4, r5 -/* 04D360 80052900 54C5103A */ slwi r5, r6, 2 -/* 04D364 80052904 7C9F292E */ stwx r4, r31, r5 -/* 04D368 80052908 48000010 */ b lbl_80052918 -lbl_8005290C: -/* 04D36C 8005290C 80810084 */ lwz r4, 0x84(r1) -/* 04D370 80052910 38840001 */ addi r4, r4, 1 -/* 04D374 80052914 90810084 */ stw r4, 0x84(r1) -lbl_80052918: -/* 04D378 80052918 281F0000 */ cmplwi r31, 0 -/* 04D37C 8005291C 41820030 */ beq lbl_8005294C -/* 04D380 80052920 80810084 */ lwz r4, 0x84(r1) -/* 04D384 80052924 5400801E */ slwi r0, r0, 0x10 -/* 04D388 80052928 6405FC00 */ oris r5, r0, 0xfc00 -/* 04D38C 8005292C 38040001 */ addi r0, r4, 1 -/* 04D390 80052930 90010084 */ stw r0, 0x84(r1) -/* 04D394 80052934 60A50040 */ ori r5, r5, 0x40 -/* 04D398 80052938 54605828 */ slwi r0, r3, 0xb -/* 04D39C 8005293C 7CA00378 */ or r0, r5, r0 -/* 04D3A0 80052940 5483103A */ slwi r3, r4, 2 -/* 04D3A4 80052944 7C1F192E */ stwx r0, r31, r3 -/* 04D3A8 80052948 48000010 */ b lbl_80052958 -lbl_8005294C: -/* 04D3AC 8005294C 80610084 */ lwz r3, 0x84(r1) -/* 04D3B0 80052950 38030001 */ addi r0, r3, 1 -/* 04D3B4 80052954 90010084 */ stw r0, 0x84(r1) -lbl_80052958: -/* 04D3B8 80052958 281F0000 */ cmplwi r31, 0 -/* 04D3BC 8005295C 41820024 */ beq lbl_80052980 -/* 04D3C0 80052960 80610084 */ lwz r3, 0x84(r1) -/* 04D3C4 80052964 3C804C40 */ lis r4, 0x4c40 -/* 04D3C8 80052968 38841382 */ addi r4, r4, 0x1382 -/* 04D3CC 8005296C 38030001 */ addi r0, r3, 1 -/* 04D3D0 80052970 90010084 */ stw r0, 0x84(r1) -/* 04D3D4 80052974 5460103A */ slwi r0, r3, 2 -/* 04D3D8 80052978 7C9F012E */ stwx r4, r31, r0 -/* 04D3DC 8005297C 48000010 */ b lbl_8005298C -lbl_80052980: -/* 04D3E0 80052980 80610084 */ lwz r3, 0x84(r1) -/* 04D3E4 80052984 38030001 */ addi r0, r3, 1 -/* 04D3E8 80052988 90010084 */ stw r0, 0x84(r1) -lbl_8005298C: -/* 04D3EC 8005298C 281F0000 */ cmplwi r31, 0 -/* 04D3F0 80052990 41820024 */ beq lbl_800529B4 -/* 04D3F4 80052994 80610084 */ lwz r3, 0x84(r1) -/* 04D3F8 80052998 3C804082 */ lis r4, 0x4082 -/* 04D3FC 8005299C 3884000C */ addi r4, r4, 0xc -/* 04D400 800529A0 38030001 */ addi r0, r3, 1 -/* 04D404 800529A4 90010084 */ stw r0, 0x84(r1) -/* 04D408 800529A8 5460103A */ slwi r0, r3, 2 -/* 04D40C 800529AC 7C9F012E */ stwx r4, r31, r0 -/* 04D410 800529B0 48000010 */ b lbl_800529C0 -lbl_800529B4: -/* 04D414 800529B4 80610084 */ lwz r3, 0x84(r1) -/* 04D418 800529B8 38030001 */ addi r0, r3, 1 -/* 04D41C 800529BC 90010084 */ stw r0, 0x84(r1) -lbl_800529C0: -/* 04D420 800529C0 281F0000 */ cmplwi r31, 0 -/* 04D424 800529C4 41820024 */ beq lbl_800529E8 -/* 04D428 800529C8 80610084 */ lwz r3, 0x84(r1) -/* 04D42C 800529CC 3C8064A5 */ lis r4, 0x64a5 -/* 04D430 800529D0 38840080 */ addi r4, r4, 0x80 -/* 04D434 800529D4 38030001 */ addi r0, r3, 1 -/* 04D438 800529D8 90010084 */ stw r0, 0x84(r1) -/* 04D43C 800529DC 5460103A */ slwi r0, r3, 2 -/* 04D440 800529E0 7C9F012E */ stwx r4, r31, r0 -/* 04D444 800529E4 48000010 */ b lbl_800529F4 -lbl_800529E8: -/* 04D448 800529E8 80610084 */ lwz r3, 0x84(r1) -/* 04D44C 800529EC 38030001 */ addi r0, r3, 1 -/* 04D450 800529F0 90010084 */ stw r0, 0x84(r1) -lbl_800529F4: -/* 04D454 800529F4 281F0000 */ cmplwi r31, 0 -/* 04D458 800529F8 41820024 */ beq lbl_80052A1C -/* 04D45C 800529FC 80610084 */ lwz r3, 0x84(r1) -/* 04D460 80052A00 3C804280 */ lis r4, 0x4280 -/* 04D464 80052A04 38840008 */ addi r4, r4, 8 -/* 04D468 80052A08 38030001 */ addi r0, r3, 1 -/* 04D46C 80052A0C 90010084 */ stw r0, 0x84(r1) -/* 04D470 80052A10 5460103A */ slwi r0, r3, 2 -/* 04D474 80052A14 7C9F012E */ stwx r4, r31, r0 -/* 04D478 80052A18 48000010 */ b lbl_80052A28 -lbl_80052A1C: -/* 04D47C 80052A1C 80610084 */ lwz r3, 0x84(r1) -/* 04D480 80052A20 38030001 */ addi r0, r3, 1 -/* 04D484 80052A24 90010084 */ stw r0, 0x84(r1) -lbl_80052A28: -/* 04D488 80052A28 281F0000 */ cmplwi r31, 0 -/* 04D48C 80052A2C 41820024 */ beq lbl_80052A50 -/* 04D490 80052A30 80610084 */ lwz r3, 0x84(r1) -/* 04D494 80052A34 3C8054A5 */ lis r4, 0x54a5 -/* 04D498 80052A38 3884024E */ addi r4, r4, 0x24e -/* 04D49C 80052A3C 38030001 */ addi r0, r3, 1 -/* 04D4A0 80052A40 90010084 */ stw r0, 0x84(r1) -/* 04D4A4 80052A44 5460103A */ slwi r0, r3, 2 -/* 04D4A8 80052A48 7C9F012E */ stwx r4, r31, r0 -/* 04D4AC 80052A4C 48000010 */ b lbl_80052A5C -lbl_80052A50: -/* 04D4B0 80052A50 80610084 */ lwz r3, 0x84(r1) -/* 04D4B4 80052A54 38030001 */ addi r0, r3, 1 -/* 04D4B8 80052A58 90010084 */ stw r0, 0x84(r1) -lbl_80052A5C: -/* 04D4BC 80052A5C 281F0000 */ cmplwi r31, 0 -/* 04D4C0 80052A60 41820028 */ beq lbl_80052A88 -/* 04D4C4 80052A64 80610084 */ lwz r3, 0x84(r1) -/* 04D4C8 80052A68 381E0A3C */ addi r0, r30, 0xa3c -/* 04D4CC 80052A6C 7C9E0050 */ subf r4, r30, r0 -/* 04D4D0 80052A70 38030001 */ addi r0, r3, 1 -/* 04D4D4 80052A74 90010084 */ stw r0, 0x84(r1) -/* 04D4D8 80052A78 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04D4DC 80052A7C 5463103A */ slwi r3, r3, 2 -/* 04D4E0 80052A80 7C1F192E */ stwx r0, r31, r3 -/* 04D4E4 80052A84 480154B0 */ b lbl_80067F34 -lbl_80052A88: -/* 04D4E8 80052A88 80610084 */ lwz r3, 0x84(r1) -/* 04D4EC 80052A8C 38030001 */ addi r0, r3, 1 -/* 04D4F0 80052A90 90010084 */ stw r0, 0x84(r1) -/* 04D4F4 80052A94 480154A0 */ b lbl_80067F34 -.global lbl_80052A98 -lbl_80052A98: -/* 04D4F8 80052A98 281F0000 */ cmplwi r31, 0 -/* 04D4FC 80052A9C 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04D500 80052AA0 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04D504 80052AA4 41820028 */ beq lbl_80052ACC -/* 04D508 80052AA8 80810084 */ lwz r4, 0x84(r1) -/* 04D50C 80052AAC 38BE0A3C */ addi r5, r30, 0xa3c -/* 04D510 80052AB0 7CBE2850 */ subf r5, r30, r5 -/* 04D514 80052AB4 38C40001 */ addi r6, r4, 1 -/* 04D518 80052AB8 90C10084 */ stw r6, 0x84(r1) -/* 04D51C 80052ABC 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04D520 80052AC0 5484103A */ slwi r4, r4, 2 -/* 04D524 80052AC4 7CBF212E */ stwx r5, r31, r4 -/* 04D528 80052AC8 48000010 */ b lbl_80052AD8 -lbl_80052ACC: -/* 04D52C 80052ACC 80810084 */ lwz r4, 0x84(r1) -/* 04D530 80052AD0 38840001 */ addi r4, r4, 1 -/* 04D534 80052AD4 90810084 */ stw r4, 0x84(r1) -lbl_80052AD8: -/* 04D538 80052AD8 3C9E0001 */ addis r4, r30, 1 -/* 04D53C 80052ADC 80A42064 */ lwz r5, 0x2064(r4) -/* 04D540 80052AE0 28050000 */ cmplwi r5, 0 -/* 04D544 80052AE4 4082000C */ bne lbl_80052AF0 -/* 04D548 80052AE8 38A00000 */ li r5, 0 -/* 04D54C 80052AEC 48000094 */ b lbl_80052B80 -lbl_80052AF0: -/* 04D550 80052AF0 80A42074 */ lwz r5, 0x2074(r4) -/* 04D554 80052AF4 28050000 */ cmplwi r5, 0 -/* 04D558 80052AF8 4082000C */ bne lbl_80052B04 -/* 04D55C 80052AFC 38A00000 */ li r5, 0 -/* 04D560 80052B00 48000080 */ b lbl_80052B80 -lbl_80052B04: -/* 04D564 80052B04 80842078 */ lwz r4, 0x2078(r4) -/* 04D568 80052B08 7C002000 */ cmpw r0, r4 -/* 04D56C 80052B0C 4182000C */ beq lbl_80052B18 -/* 04D570 80052B10 38A00000 */ li r5, 0 -/* 04D574 80052B14 4800006C */ b lbl_80052B80 -lbl_80052B18: -/* 04D578 80052B18 80DE0034 */ lwz r6, 0x34(r30) -/* 04D57C 80052B1C 38A00000 */ li r5, 0 -/* 04D580 80052B20 80860008 */ lwz r4, 8(r6) -/* 04D584 80052B24 2C040000 */ cmpwi r4, 0 -/* 04D588 80052B28 7C8903A6 */ mtctr r4 -/* 04D58C 80052B2C 40810028 */ ble lbl_80052B54 -lbl_80052B30: -/* 04D590 80052B30 8086000C */ lwz r4, 0xc(r6) -/* 04D594 80052B34 38E50004 */ addi r7, r5, 4 -/* 04D598 80052B38 7C84382E */ lwzx r4, r4, r7 -/* 04D59C 80052B3C 7C1D2000 */ cmpw r29, r4 -/* 04D5A0 80052B40 4082000C */ bne lbl_80052B4C -/* 04D5A4 80052B44 38800000 */ li r4, 0 -/* 04D5A8 80052B48 48000010 */ b lbl_80052B58 -lbl_80052B4C: -/* 04D5AC 80052B4C 38A50008 */ addi r5, r5, 8 -/* 04D5B0 80052B50 4200FFE0 */ bdnz lbl_80052B30 -lbl_80052B54: -/* 04D5B4 80052B54 38800001 */ li r4, 1 -lbl_80052B58: -/* 04D5B8 80052B58 2C040000 */ cmpwi r4, 0 -/* 04D5BC 80052B5C 40820014 */ bne lbl_80052B70 -/* 04D5C0 80052B60 38A00000 */ li r5, 0 -/* 04D5C4 80052B64 3C9E0001 */ addis r4, r30, 1 -/* 04D5C8 80052B68 90A42074 */ stw r5, 0x2074(r4) -/* 04D5CC 80052B6C 48000014 */ b lbl_80052B80 -lbl_80052B70: -/* 04D5D0 80052B70 3C9E0001 */ addis r4, r30, 1 -/* 04D5D4 80052B74 38A00000 */ li r5, 0 -/* 04D5D8 80052B78 90A42074 */ stw r5, 0x2074(r4) -/* 04D5DC 80052B7C 38A00001 */ li r5, 1 -lbl_80052B80: -/* 04D5E0 80052B80 2C050000 */ cmpwi r5, 0 -/* 04D5E4 80052B84 41820038 */ beq lbl_80052BBC -/* 04D5E8 80052B88 281F0000 */ cmplwi r31, 0 -/* 04D5EC 80052B8C 41820020 */ beq lbl_80052BAC -/* 04D5F0 80052B90 80A10084 */ lwz r5, 0x84(r1) -/* 04D5F4 80052B94 3CC06000 */ lis r6, 0x6000 -/* 04D5F8 80052B98 38850001 */ addi r4, r5, 1 -/* 04D5FC 80052B9C 90810084 */ stw r4, 0x84(r1) -/* 04D600 80052BA0 54A4103A */ slwi r4, r5, 2 -/* 04D604 80052BA4 7CDF212E */ stwx r6, r31, r4 -/* 04D608 80052BA8 48000064 */ b lbl_80052C0C -lbl_80052BAC: -/* 04D60C 80052BAC 80810084 */ lwz r4, 0x84(r1) -/* 04D610 80052BB0 38840001 */ addi r4, r4, 1 -/* 04D614 80052BB4 90810084 */ stw r4, 0x84(r1) -/* 04D618 80052BB8 48000054 */ b lbl_80052C0C -lbl_80052BBC: -/* 04D61C 80052BBC 281F0000 */ cmplwi r31, 0 -/* 04D620 80052BC0 41820040 */ beq lbl_80052C00 -/* 04D624 80052BC4 54041838 */ slwi r4, r0, 3 -/* 04D628 80052BC8 80C10084 */ lwz r6, 0x84(r1) -/* 04D62C 80052BCC 38840140 */ addi r4, r4, 0x140 -/* 04D630 80052BD0 7C9E2214 */ add r4, r30, r4 -/* 04D634 80052BD4 7CBE2050 */ subf r5, r30, r4 -/* 04D638 80052BD8 5404A814 */ slwi r4, r0, 0x15 -/* 04D63C 80052BDC 38E50004 */ addi r7, r5, 4 -/* 04D640 80052BE0 38A60001 */ addi r5, r6, 1 -/* 04D644 80052BE4 90A10084 */ stw r5, 0x84(r1) -/* 04D648 80052BE8 6484C003 */ oris r4, r4, 0xc003 -/* 04D64C 80052BEC 54E5043E */ clrlwi r5, r7, 0x10 -/* 04D650 80052BF0 7C842A14 */ add r4, r4, r5 -/* 04D654 80052BF4 54C5103A */ slwi r5, r6, 2 -/* 04D658 80052BF8 7C9F292E */ stwx r4, r31, r5 -/* 04D65C 80052BFC 48000010 */ b lbl_80052C0C -lbl_80052C00: -/* 04D660 80052C00 80810084 */ lwz r4, 0x84(r1) -/* 04D664 80052C04 38840001 */ addi r4, r4, 1 -/* 04D668 80052C08 90810084 */ stw r4, 0x84(r1) -lbl_80052C0C: -/* 04D66C 80052C0C 3C9E0001 */ addis r4, r30, 1 -/* 04D670 80052C10 80A42064 */ lwz r5, 0x2064(r4) -/* 04D674 80052C14 28050000 */ cmplwi r5, 0 -/* 04D678 80052C18 4082000C */ bne lbl_80052C24 -/* 04D67C 80052C1C 38A00000 */ li r5, 0 -/* 04D680 80052C20 48000094 */ b lbl_80052CB4 -lbl_80052C24: -/* 04D684 80052C24 80A42074 */ lwz r5, 0x2074(r4) -/* 04D688 80052C28 28050000 */ cmplwi r5, 0 -/* 04D68C 80052C2C 4082000C */ bne lbl_80052C38 -/* 04D690 80052C30 38A00000 */ li r5, 0 -/* 04D694 80052C34 48000080 */ b lbl_80052CB4 -lbl_80052C38: -/* 04D698 80052C38 80842078 */ lwz r4, 0x2078(r4) -/* 04D69C 80052C3C 7C032000 */ cmpw r3, r4 -/* 04D6A0 80052C40 4182000C */ beq lbl_80052C4C -/* 04D6A4 80052C44 38A00000 */ li r5, 0 -/* 04D6A8 80052C48 4800006C */ b lbl_80052CB4 -lbl_80052C4C: -/* 04D6AC 80052C4C 80DE0034 */ lwz r6, 0x34(r30) -/* 04D6B0 80052C50 38A00000 */ li r5, 0 -/* 04D6B4 80052C54 80860008 */ lwz r4, 8(r6) -/* 04D6B8 80052C58 2C040000 */ cmpwi r4, 0 -/* 04D6BC 80052C5C 7C8903A6 */ mtctr r4 -/* 04D6C0 80052C60 40810028 */ ble lbl_80052C88 -lbl_80052C64: -/* 04D6C4 80052C64 8086000C */ lwz r4, 0xc(r6) -/* 04D6C8 80052C68 38E50004 */ addi r7, r5, 4 -/* 04D6CC 80052C6C 7C84382E */ lwzx r4, r4, r7 -/* 04D6D0 80052C70 7C1D2000 */ cmpw r29, r4 -/* 04D6D4 80052C74 4082000C */ bne lbl_80052C80 -/* 04D6D8 80052C78 38800000 */ li r4, 0 -/* 04D6DC 80052C7C 48000010 */ b lbl_80052C8C -lbl_80052C80: -/* 04D6E0 80052C80 38A50008 */ addi r5, r5, 8 -/* 04D6E4 80052C84 4200FFE0 */ bdnz lbl_80052C64 -lbl_80052C88: -/* 04D6E8 80052C88 38800001 */ li r4, 1 -lbl_80052C8C: -/* 04D6EC 80052C8C 2C040000 */ cmpwi r4, 0 -/* 04D6F0 80052C90 40820014 */ bne lbl_80052CA4 -/* 04D6F4 80052C94 38A00000 */ li r5, 0 -/* 04D6F8 80052C98 3C9E0001 */ addis r4, r30, 1 -/* 04D6FC 80052C9C 90A42074 */ stw r5, 0x2074(r4) -/* 04D700 80052CA0 48000014 */ b lbl_80052CB4 -lbl_80052CA4: -/* 04D704 80052CA4 3C9E0001 */ addis r4, r30, 1 -/* 04D708 80052CA8 38A00000 */ li r5, 0 -/* 04D70C 80052CAC 90A42074 */ stw r5, 0x2074(r4) -/* 04D710 80052CB0 38A00001 */ li r5, 1 -lbl_80052CB4: -/* 04D714 80052CB4 2C050000 */ cmpwi r5, 0 -/* 04D718 80052CB8 41820038 */ beq lbl_80052CF0 -/* 04D71C 80052CBC 281F0000 */ cmplwi r31, 0 -/* 04D720 80052CC0 41820020 */ beq lbl_80052CE0 -/* 04D724 80052CC4 80A10084 */ lwz r5, 0x84(r1) -/* 04D728 80052CC8 3CC06000 */ lis r6, 0x6000 -/* 04D72C 80052CCC 38850001 */ addi r4, r5, 1 -/* 04D730 80052CD0 90810084 */ stw r4, 0x84(r1) -/* 04D734 80052CD4 54A4103A */ slwi r4, r5, 2 -/* 04D738 80052CD8 7CDF212E */ stwx r6, r31, r4 -/* 04D73C 80052CDC 48000064 */ b lbl_80052D40 -lbl_80052CE0: -/* 04D740 80052CE0 80810084 */ lwz r4, 0x84(r1) -/* 04D744 80052CE4 38840001 */ addi r4, r4, 1 -/* 04D748 80052CE8 90810084 */ stw r4, 0x84(r1) -/* 04D74C 80052CEC 48000054 */ b lbl_80052D40 -lbl_80052CF0: -/* 04D750 80052CF0 281F0000 */ cmplwi r31, 0 -/* 04D754 80052CF4 41820040 */ beq lbl_80052D34 -/* 04D758 80052CF8 54641838 */ slwi r4, r3, 3 -/* 04D75C 80052CFC 80C10084 */ lwz r6, 0x84(r1) -/* 04D760 80052D00 38840140 */ addi r4, r4, 0x140 -/* 04D764 80052D04 7C9E2214 */ add r4, r30, r4 -/* 04D768 80052D08 7CBE2050 */ subf r5, r30, r4 -/* 04D76C 80052D0C 5464A814 */ slwi r4, r3, 0x15 -/* 04D770 80052D10 38E50004 */ addi r7, r5, 4 -/* 04D774 80052D14 38A60001 */ addi r5, r6, 1 -/* 04D778 80052D18 90A10084 */ stw r5, 0x84(r1) -/* 04D77C 80052D1C 6484C003 */ oris r4, r4, 0xc003 -/* 04D780 80052D20 54E5043E */ clrlwi r5, r7, 0x10 -/* 04D784 80052D24 7C842A14 */ add r4, r4, r5 -/* 04D788 80052D28 54C5103A */ slwi r5, r6, 2 -/* 04D78C 80052D2C 7C9F292E */ stwx r4, r31, r5 -/* 04D790 80052D30 48000010 */ b lbl_80052D40 -lbl_80052D34: -/* 04D794 80052D34 80810084 */ lwz r4, 0x84(r1) -/* 04D798 80052D38 38840001 */ addi r4, r4, 1 -/* 04D79C 80052D3C 90810084 */ stw r4, 0x84(r1) -lbl_80052D40: -/* 04D7A0 80052D40 281F0000 */ cmplwi r31, 0 -/* 04D7A4 80052D44 41820030 */ beq lbl_80052D74 -/* 04D7A8 80052D48 80810084 */ lwz r4, 0x84(r1) -/* 04D7AC 80052D4C 5400801E */ slwi r0, r0, 0x10 -/* 04D7B0 80052D50 6405FC00 */ oris r5, r0, 0xfc00 -/* 04D7B4 80052D54 38040001 */ addi r0, r4, 1 -/* 04D7B8 80052D58 90010084 */ stw r0, 0x84(r1) -/* 04D7BC 80052D5C 60A50040 */ ori r5, r5, 0x40 -/* 04D7C0 80052D60 54605828 */ slwi r0, r3, 0xb -/* 04D7C4 80052D64 7CA00378 */ or r0, r5, r0 -/* 04D7C8 80052D68 5483103A */ slwi r3, r4, 2 -/* 04D7CC 80052D6C 7C1F192E */ stwx r0, r31, r3 -/* 04D7D0 80052D70 48000010 */ b lbl_80052D80 -lbl_80052D74: -/* 04D7D4 80052D74 80610084 */ lwz r3, 0x84(r1) -/* 04D7D8 80052D78 38030001 */ addi r0, r3, 1 -/* 04D7DC 80052D7C 90010084 */ stw r0, 0x84(r1) -lbl_80052D80: -/* 04D7E0 80052D80 281F0000 */ cmplwi r31, 0 -/* 04D7E4 80052D84 41820024 */ beq lbl_80052DA8 -/* 04D7E8 80052D88 80610084 */ lwz r3, 0x84(r1) -/* 04D7EC 80052D8C 3C804C40 */ lis r4, 0x4c40 -/* 04D7F0 80052D90 38841382 */ addi r4, r4, 0x1382 -/* 04D7F4 80052D94 38030001 */ addi r0, r3, 1 -/* 04D7F8 80052D98 90010084 */ stw r0, 0x84(r1) -/* 04D7FC 80052D9C 5460103A */ slwi r0, r3, 2 -/* 04D800 80052DA0 7C9F012E */ stwx r4, r31, r0 -/* 04D804 80052DA4 48000010 */ b lbl_80052DB4 -lbl_80052DA8: -/* 04D808 80052DA8 80610084 */ lwz r3, 0x84(r1) -/* 04D80C 80052DAC 38030001 */ addi r0, r3, 1 -/* 04D810 80052DB0 90010084 */ stw r0, 0x84(r1) -lbl_80052DB4: -/* 04D814 80052DB4 281F0000 */ cmplwi r31, 0 -/* 04D818 80052DB8 41820024 */ beq lbl_80052DDC -/* 04D81C 80052DBC 80610084 */ lwz r3, 0x84(r1) -/* 04D820 80052DC0 3C804082 */ lis r4, 0x4082 -/* 04D824 80052DC4 3884000C */ addi r4, r4, 0xc -/* 04D828 80052DC8 38030001 */ addi r0, r3, 1 -/* 04D82C 80052DCC 90010084 */ stw r0, 0x84(r1) -/* 04D830 80052DD0 5460103A */ slwi r0, r3, 2 -/* 04D834 80052DD4 7C9F012E */ stwx r4, r31, r0 -/* 04D838 80052DD8 48000010 */ b lbl_80052DE8 -lbl_80052DDC: -/* 04D83C 80052DDC 80610084 */ lwz r3, 0x84(r1) -/* 04D840 80052DE0 38030001 */ addi r0, r3, 1 -/* 04D844 80052DE4 90010084 */ stw r0, 0x84(r1) -lbl_80052DE8: -/* 04D848 80052DE8 281F0000 */ cmplwi r31, 0 -/* 04D84C 80052DEC 41820024 */ beq lbl_80052E10 -/* 04D850 80052DF0 80610084 */ lwz r3, 0x84(r1) -/* 04D854 80052DF4 3C8064A5 */ lis r4, 0x64a5 -/* 04D858 80052DF8 38840080 */ addi r4, r4, 0x80 -/* 04D85C 80052DFC 38030001 */ addi r0, r3, 1 -/* 04D860 80052E00 90010084 */ stw r0, 0x84(r1) -/* 04D864 80052E04 5460103A */ slwi r0, r3, 2 -/* 04D868 80052E08 7C9F012E */ stwx r4, r31, r0 -/* 04D86C 80052E0C 48000010 */ b lbl_80052E1C -lbl_80052E10: -/* 04D870 80052E10 80610084 */ lwz r3, 0x84(r1) -/* 04D874 80052E14 38030001 */ addi r0, r3, 1 -/* 04D878 80052E18 90010084 */ stw r0, 0x84(r1) -lbl_80052E1C: -/* 04D87C 80052E1C 281F0000 */ cmplwi r31, 0 -/* 04D880 80052E20 41820024 */ beq lbl_80052E44 -/* 04D884 80052E24 80610084 */ lwz r3, 0x84(r1) -/* 04D888 80052E28 3C804280 */ lis r4, 0x4280 -/* 04D88C 80052E2C 38840008 */ addi r4, r4, 8 -/* 04D890 80052E30 38030001 */ addi r0, r3, 1 -/* 04D894 80052E34 90010084 */ stw r0, 0x84(r1) -/* 04D898 80052E38 5460103A */ slwi r0, r3, 2 -/* 04D89C 80052E3C 7C9F012E */ stwx r4, r31, r0 -/* 04D8A0 80052E40 48000010 */ b lbl_80052E50 -lbl_80052E44: -/* 04D8A4 80052E44 80610084 */ lwz r3, 0x84(r1) -/* 04D8A8 80052E48 38030001 */ addi r0, r3, 1 -/* 04D8AC 80052E4C 90010084 */ stw r0, 0x84(r1) -lbl_80052E50: -/* 04D8B0 80052E50 281F0000 */ cmplwi r31, 0 -/* 04D8B4 80052E54 41820024 */ beq lbl_80052E78 -/* 04D8B8 80052E58 80610084 */ lwz r3, 0x84(r1) -/* 04D8BC 80052E5C 3C8054A5 */ lis r4, 0x54a5 -/* 04D8C0 80052E60 3884024E */ addi r4, r4, 0x24e -/* 04D8C4 80052E64 38030001 */ addi r0, r3, 1 -/* 04D8C8 80052E68 90010084 */ stw r0, 0x84(r1) -/* 04D8CC 80052E6C 5460103A */ slwi r0, r3, 2 -/* 04D8D0 80052E70 7C9F012E */ stwx r4, r31, r0 -/* 04D8D4 80052E74 48000010 */ b lbl_80052E84 -lbl_80052E78: -/* 04D8D8 80052E78 80610084 */ lwz r3, 0x84(r1) -/* 04D8DC 80052E7C 38030001 */ addi r0, r3, 1 -/* 04D8E0 80052E80 90010084 */ stw r0, 0x84(r1) -lbl_80052E84: -/* 04D8E4 80052E84 281F0000 */ cmplwi r31, 0 -/* 04D8E8 80052E88 41820028 */ beq lbl_80052EB0 -/* 04D8EC 80052E8C 80610084 */ lwz r3, 0x84(r1) -/* 04D8F0 80052E90 381E0A3C */ addi r0, r30, 0xa3c -/* 04D8F4 80052E94 7C9E0050 */ subf r4, r30, r0 -/* 04D8F8 80052E98 38030001 */ addi r0, r3, 1 -/* 04D8FC 80052E9C 90010084 */ stw r0, 0x84(r1) -/* 04D900 80052EA0 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04D904 80052EA4 5463103A */ slwi r3, r3, 2 -/* 04D908 80052EA8 7C1F192E */ stwx r0, r31, r3 -/* 04D90C 80052EAC 48015088 */ b lbl_80067F34 -lbl_80052EB0: -/* 04D910 80052EB0 80610084 */ lwz r3, 0x84(r1) -/* 04D914 80052EB4 38030001 */ addi r0, r3, 1 -/* 04D918 80052EB8 90010084 */ stw r0, 0x84(r1) -/* 04D91C 80052EBC 48015078 */ b lbl_80067F34 -.global lbl_80052EC0 -lbl_80052EC0: -/* 04D920 80052EC0 281F0000 */ cmplwi r31, 0 -/* 04D924 80052EC4 41820028 */ beq lbl_80052EEC -/* 04D928 80052EC8 80610084 */ lwz r3, 0x84(r1) -/* 04D92C 80052ECC 381E0A3C */ addi r0, r30, 0xa3c -/* 04D930 80052ED0 7C9E0050 */ subf r4, r30, r0 -/* 04D934 80052ED4 38030001 */ addi r0, r3, 1 -/* 04D938 80052ED8 90010084 */ stw r0, 0x84(r1) -/* 04D93C 80052EDC 3C0480A3 */ addis r0, r4, 0x80a3 -/* 04D940 80052EE0 5463103A */ slwi r3, r3, 2 -/* 04D944 80052EE4 7C1F192E */ stwx r0, r31, r3 -/* 04D948 80052EE8 48000010 */ b lbl_80052EF8 -lbl_80052EEC: -/* 04D94C 80052EEC 80610084 */ lwz r3, 0x84(r1) -/* 04D950 80052EF0 38030001 */ addi r0, r3, 1 -/* 04D954 80052EF4 90010084 */ stw r0, 0x84(r1) -lbl_80052EF8: -/* 04D958 80052EF8 281F0000 */ cmplwi r31, 0 -/* 04D95C 80052EFC 41820024 */ beq lbl_80052F20 -/* 04D960 80052F00 80610084 */ lwz r3, 0x84(r1) -/* 04D964 80052F04 3C8054A5 */ lis r4, 0x54a5 -/* 04D968 80052F08 3884024E */ addi r4, r4, 0x24e -/* 04D96C 80052F0C 38030001 */ addi r0, r3, 1 -/* 04D970 80052F10 90010084 */ stw r0, 0x84(r1) -/* 04D974 80052F14 5460103A */ slwi r0, r3, 2 -/* 04D978 80052F18 7C9F012E */ stwx r4, r31, r0 -/* 04D97C 80052F1C 48000010 */ b lbl_80052F2C -lbl_80052F20: -/* 04D980 80052F20 80610084 */ lwz r3, 0x84(r1) -/* 04D984 80052F24 38030001 */ addi r0, r3, 1 -/* 04D988 80052F28 90010084 */ stw r0, 0x84(r1) -lbl_80052F2C: -/* 04D98C 80052F2C 281F0000 */ cmplwi r31, 0 -/* 04D990 80052F30 41820028 */ beq lbl_80052F58 -/* 04D994 80052F34 80610084 */ lwz r3, 0x84(r1) -/* 04D998 80052F38 381E0A3C */ addi r0, r30, 0xa3c -/* 04D99C 80052F3C 7C9E0050 */ subf r4, r30, r0 -/* 04D9A0 80052F40 38030001 */ addi r0, r3, 1 -/* 04D9A4 80052F44 90010084 */ stw r0, 0x84(r1) -/* 04D9A8 80052F48 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04D9AC 80052F4C 5463103A */ slwi r3, r3, 2 -/* 04D9B0 80052F50 7C1F192E */ stwx r0, r31, r3 -/* 04D9B4 80052F54 48014FE0 */ b lbl_80067F34 -lbl_80052F58: -/* 04D9B8 80052F58 80610084 */ lwz r3, 0x84(r1) -/* 04D9BC 80052F5C 38030001 */ addi r0, r3, 1 -/* 04D9C0 80052F60 90010084 */ stw r0, 0x84(r1) -/* 04D9C4 80052F64 48014FD0 */ b lbl_80067F34 -.global lbl_80052F68 -lbl_80052F68: -/* 04D9C8 80052F68 281F0000 */ cmplwi r31, 0 -/* 04D9CC 80052F6C 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04D9D0 80052F70 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04D9D4 80052F74 41820028 */ beq lbl_80052F9C -/* 04D9D8 80052F78 80810084 */ lwz r4, 0x84(r1) -/* 04D9DC 80052F7C 38BE0A3C */ addi r5, r30, 0xa3c -/* 04D9E0 80052F80 7CBE2850 */ subf r5, r30, r5 -/* 04D9E4 80052F84 38C40001 */ addi r6, r4, 1 -/* 04D9E8 80052F88 90C10084 */ stw r6, 0x84(r1) -/* 04D9EC 80052F8C 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04D9F0 80052F90 5484103A */ slwi r4, r4, 2 -/* 04D9F4 80052F94 7CBF212E */ stwx r5, r31, r4 -/* 04D9F8 80052F98 48000010 */ b lbl_80052FA8 -lbl_80052F9C: -/* 04D9FC 80052F9C 80810084 */ lwz r4, 0x84(r1) -/* 04DA00 80052FA0 38840001 */ addi r4, r4, 1 -/* 04DA04 80052FA4 90810084 */ stw r4, 0x84(r1) -lbl_80052FA8: -/* 04DA08 80052FA8 3C9E0001 */ addis r4, r30, 1 -/* 04DA0C 80052FAC 80A42064 */ lwz r5, 0x2064(r4) -/* 04DA10 80052FB0 28050000 */ cmplwi r5, 0 -/* 04DA14 80052FB4 4082000C */ bne lbl_80052FC0 -/* 04DA18 80052FB8 38A00000 */ li r5, 0 -/* 04DA1C 80052FBC 48000094 */ b lbl_80053050 -lbl_80052FC0: -/* 04DA20 80052FC0 80A42074 */ lwz r5, 0x2074(r4) -/* 04DA24 80052FC4 28050000 */ cmplwi r5, 0 -/* 04DA28 80052FC8 4082000C */ bne lbl_80052FD4 -/* 04DA2C 80052FCC 38A00000 */ li r5, 0 -/* 04DA30 80052FD0 48000080 */ b lbl_80053050 -lbl_80052FD4: -/* 04DA34 80052FD4 80842078 */ lwz r4, 0x2078(r4) -/* 04DA38 80052FD8 7C002000 */ cmpw r0, r4 -/* 04DA3C 80052FDC 4182000C */ beq lbl_80052FE8 -/* 04DA40 80052FE0 38A00000 */ li r5, 0 -/* 04DA44 80052FE4 4800006C */ b lbl_80053050 -lbl_80052FE8: -/* 04DA48 80052FE8 80DE0034 */ lwz r6, 0x34(r30) -/* 04DA4C 80052FEC 38A00000 */ li r5, 0 -/* 04DA50 80052FF0 80860008 */ lwz r4, 8(r6) -/* 04DA54 80052FF4 2C040000 */ cmpwi r4, 0 -/* 04DA58 80052FF8 7C8903A6 */ mtctr r4 -/* 04DA5C 80052FFC 40810028 */ ble lbl_80053024 -lbl_80053000: -/* 04DA60 80053000 8086000C */ lwz r4, 0xc(r6) -/* 04DA64 80053004 38E50004 */ addi r7, r5, 4 -/* 04DA68 80053008 7C84382E */ lwzx r4, r4, r7 -/* 04DA6C 8005300C 7C1D2000 */ cmpw r29, r4 -/* 04DA70 80053010 4082000C */ bne lbl_8005301C -/* 04DA74 80053014 38800000 */ li r4, 0 -/* 04DA78 80053018 48000010 */ b lbl_80053028 -lbl_8005301C: -/* 04DA7C 8005301C 38A50008 */ addi r5, r5, 8 -/* 04DA80 80053020 4200FFE0 */ bdnz lbl_80053000 -lbl_80053024: -/* 04DA84 80053024 38800001 */ li r4, 1 -lbl_80053028: -/* 04DA88 80053028 2C040000 */ cmpwi r4, 0 -/* 04DA8C 8005302C 40820014 */ bne lbl_80053040 -/* 04DA90 80053030 38A00000 */ li r5, 0 -/* 04DA94 80053034 3C9E0001 */ addis r4, r30, 1 -/* 04DA98 80053038 90A42074 */ stw r5, 0x2074(r4) -/* 04DA9C 8005303C 48000014 */ b lbl_80053050 -lbl_80053040: -/* 04DAA0 80053040 3C9E0001 */ addis r4, r30, 1 -/* 04DAA4 80053044 38A00000 */ li r5, 0 -/* 04DAA8 80053048 90A42074 */ stw r5, 0x2074(r4) -/* 04DAAC 8005304C 38A00001 */ li r5, 1 -lbl_80053050: -/* 04DAB0 80053050 2C050000 */ cmpwi r5, 0 -/* 04DAB4 80053054 41820038 */ beq lbl_8005308C -/* 04DAB8 80053058 281F0000 */ cmplwi r31, 0 -/* 04DABC 8005305C 41820020 */ beq lbl_8005307C -/* 04DAC0 80053060 80A10084 */ lwz r5, 0x84(r1) -/* 04DAC4 80053064 3CC06000 */ lis r6, 0x6000 -/* 04DAC8 80053068 38850001 */ addi r4, r5, 1 -/* 04DACC 8005306C 90810084 */ stw r4, 0x84(r1) -/* 04DAD0 80053070 54A4103A */ slwi r4, r5, 2 -/* 04DAD4 80053074 7CDF212E */ stwx r6, r31, r4 -/* 04DAD8 80053078 48000064 */ b lbl_800530DC -lbl_8005307C: -/* 04DADC 8005307C 80810084 */ lwz r4, 0x84(r1) -/* 04DAE0 80053080 38840001 */ addi r4, r4, 1 -/* 04DAE4 80053084 90810084 */ stw r4, 0x84(r1) -/* 04DAE8 80053088 48000054 */ b lbl_800530DC -lbl_8005308C: -/* 04DAEC 8005308C 281F0000 */ cmplwi r31, 0 -/* 04DAF0 80053090 41820040 */ beq lbl_800530D0 -/* 04DAF4 80053094 54041838 */ slwi r4, r0, 3 -/* 04DAF8 80053098 80C10084 */ lwz r6, 0x84(r1) -/* 04DAFC 8005309C 38840140 */ addi r4, r4, 0x140 -/* 04DB00 800530A0 7C9E2214 */ add r4, r30, r4 -/* 04DB04 800530A4 7CBE2050 */ subf r5, r30, r4 -/* 04DB08 800530A8 5404A814 */ slwi r4, r0, 0x15 -/* 04DB0C 800530AC 38E50004 */ addi r7, r5, 4 -/* 04DB10 800530B0 38A60001 */ addi r5, r6, 1 -/* 04DB14 800530B4 90A10084 */ stw r5, 0x84(r1) -/* 04DB18 800530B8 6484C003 */ oris r4, r4, 0xc003 -/* 04DB1C 800530BC 54E5043E */ clrlwi r5, r7, 0x10 -/* 04DB20 800530C0 7C842A14 */ add r4, r4, r5 -/* 04DB24 800530C4 54C5103A */ slwi r5, r6, 2 -/* 04DB28 800530C8 7C9F292E */ stwx r4, r31, r5 -/* 04DB2C 800530CC 48000010 */ b lbl_800530DC -lbl_800530D0: -/* 04DB30 800530D0 80810084 */ lwz r4, 0x84(r1) -/* 04DB34 800530D4 38840001 */ addi r4, r4, 1 -/* 04DB38 800530D8 90810084 */ stw r4, 0x84(r1) -lbl_800530DC: -/* 04DB3C 800530DC 3C9E0001 */ addis r4, r30, 1 -/* 04DB40 800530E0 80A42064 */ lwz r5, 0x2064(r4) -/* 04DB44 800530E4 28050000 */ cmplwi r5, 0 -/* 04DB48 800530E8 4082000C */ bne lbl_800530F4 -/* 04DB4C 800530EC 38A00000 */ li r5, 0 -/* 04DB50 800530F0 48000094 */ b lbl_80053184 -lbl_800530F4: -/* 04DB54 800530F4 80A42074 */ lwz r5, 0x2074(r4) -/* 04DB58 800530F8 28050000 */ cmplwi r5, 0 -/* 04DB5C 800530FC 4082000C */ bne lbl_80053108 -/* 04DB60 80053100 38A00000 */ li r5, 0 -/* 04DB64 80053104 48000080 */ b lbl_80053184 -lbl_80053108: -/* 04DB68 80053108 80842078 */ lwz r4, 0x2078(r4) -/* 04DB6C 8005310C 7C032000 */ cmpw r3, r4 -/* 04DB70 80053110 4182000C */ beq lbl_8005311C -/* 04DB74 80053114 38A00000 */ li r5, 0 -/* 04DB78 80053118 4800006C */ b lbl_80053184 -lbl_8005311C: -/* 04DB7C 8005311C 80DE0034 */ lwz r6, 0x34(r30) -/* 04DB80 80053120 38A00000 */ li r5, 0 -/* 04DB84 80053124 80860008 */ lwz r4, 8(r6) -/* 04DB88 80053128 2C040000 */ cmpwi r4, 0 -/* 04DB8C 8005312C 7C8903A6 */ mtctr r4 -/* 04DB90 80053130 40810028 */ ble lbl_80053158 -lbl_80053134: -/* 04DB94 80053134 8086000C */ lwz r4, 0xc(r6) -/* 04DB98 80053138 38E50004 */ addi r7, r5, 4 -/* 04DB9C 8005313C 7C84382E */ lwzx r4, r4, r7 -/* 04DBA0 80053140 7C1D2000 */ cmpw r29, r4 -/* 04DBA4 80053144 4082000C */ bne lbl_80053150 -/* 04DBA8 80053148 38800000 */ li r4, 0 -/* 04DBAC 8005314C 48000010 */ b lbl_8005315C -lbl_80053150: -/* 04DBB0 80053150 38A50008 */ addi r5, r5, 8 -/* 04DBB4 80053154 4200FFE0 */ bdnz lbl_80053134 -lbl_80053158: -/* 04DBB8 80053158 38800001 */ li r4, 1 -lbl_8005315C: -/* 04DBBC 8005315C 2C040000 */ cmpwi r4, 0 -/* 04DBC0 80053160 40820014 */ bne lbl_80053174 -/* 04DBC4 80053164 38A00000 */ li r5, 0 -/* 04DBC8 80053168 3C9E0001 */ addis r4, r30, 1 -/* 04DBCC 8005316C 90A42074 */ stw r5, 0x2074(r4) -/* 04DBD0 80053170 48000014 */ b lbl_80053184 -lbl_80053174: -/* 04DBD4 80053174 3C9E0001 */ addis r4, r30, 1 -/* 04DBD8 80053178 38A00000 */ li r5, 0 -/* 04DBDC 8005317C 90A42074 */ stw r5, 0x2074(r4) -/* 04DBE0 80053180 38A00001 */ li r5, 1 -lbl_80053184: -/* 04DBE4 80053184 2C050000 */ cmpwi r5, 0 -/* 04DBE8 80053188 41820038 */ beq lbl_800531C0 -/* 04DBEC 8005318C 281F0000 */ cmplwi r31, 0 -/* 04DBF0 80053190 41820020 */ beq lbl_800531B0 -/* 04DBF4 80053194 80A10084 */ lwz r5, 0x84(r1) -/* 04DBF8 80053198 3CC06000 */ lis r6, 0x6000 -/* 04DBFC 8005319C 38850001 */ addi r4, r5, 1 -/* 04DC00 800531A0 90810084 */ stw r4, 0x84(r1) -/* 04DC04 800531A4 54A4103A */ slwi r4, r5, 2 -/* 04DC08 800531A8 7CDF212E */ stwx r6, r31, r4 -/* 04DC0C 800531AC 48000064 */ b lbl_80053210 -lbl_800531B0: -/* 04DC10 800531B0 80810084 */ lwz r4, 0x84(r1) -/* 04DC14 800531B4 38840001 */ addi r4, r4, 1 -/* 04DC18 800531B8 90810084 */ stw r4, 0x84(r1) -/* 04DC1C 800531BC 48000054 */ b lbl_80053210 -lbl_800531C0: -/* 04DC20 800531C0 281F0000 */ cmplwi r31, 0 -/* 04DC24 800531C4 41820040 */ beq lbl_80053204 -/* 04DC28 800531C8 54641838 */ slwi r4, r3, 3 -/* 04DC2C 800531CC 80C10084 */ lwz r6, 0x84(r1) -/* 04DC30 800531D0 38840140 */ addi r4, r4, 0x140 -/* 04DC34 800531D4 7C9E2214 */ add r4, r30, r4 -/* 04DC38 800531D8 7CBE2050 */ subf r5, r30, r4 -/* 04DC3C 800531DC 5464A814 */ slwi r4, r3, 0x15 -/* 04DC40 800531E0 38E50004 */ addi r7, r5, 4 -/* 04DC44 800531E4 38A60001 */ addi r5, r6, 1 -/* 04DC48 800531E8 90A10084 */ stw r5, 0x84(r1) -/* 04DC4C 800531EC 6484C003 */ oris r4, r4, 0xc003 -/* 04DC50 800531F0 54E5043E */ clrlwi r5, r7, 0x10 -/* 04DC54 800531F4 7C842A14 */ add r4, r4, r5 -/* 04DC58 800531F8 54C5103A */ slwi r5, r6, 2 -/* 04DC5C 800531FC 7C9F292E */ stwx r4, r31, r5 -/* 04DC60 80053200 48000010 */ b lbl_80053210 -lbl_80053204: -/* 04DC64 80053204 80810084 */ lwz r4, 0x84(r1) -/* 04DC68 80053208 38840001 */ addi r4, r4, 1 -/* 04DC6C 8005320C 90810084 */ stw r4, 0x84(r1) -lbl_80053210: -/* 04DC70 80053210 281F0000 */ cmplwi r31, 0 -/* 04DC74 80053214 41820030 */ beq lbl_80053244 -/* 04DC78 80053218 80810084 */ lwz r4, 0x84(r1) -/* 04DC7C 8005321C 5400801E */ slwi r0, r0, 0x10 -/* 04DC80 80053220 6405FC00 */ oris r5, r0, 0xfc00 -/* 04DC84 80053224 38040001 */ addi r0, r4, 1 -/* 04DC88 80053228 90010084 */ stw r0, 0x84(r1) -/* 04DC8C 8005322C 60A50040 */ ori r5, r5, 0x40 -/* 04DC90 80053230 54605828 */ slwi r0, r3, 0xb -/* 04DC94 80053234 7CA00378 */ or r0, r5, r0 -/* 04DC98 80053238 5483103A */ slwi r3, r4, 2 -/* 04DC9C 8005323C 7C1F192E */ stwx r0, r31, r3 -/* 04DCA0 80053240 48000010 */ b lbl_80053250 -lbl_80053244: -/* 04DCA4 80053244 80610084 */ lwz r3, 0x84(r1) -/* 04DCA8 80053248 38030001 */ addi r0, r3, 1 -/* 04DCAC 8005324C 90010084 */ stw r0, 0x84(r1) -lbl_80053250: -/* 04DCB0 80053250 281F0000 */ cmplwi r31, 0 -/* 04DCB4 80053254 41820024 */ beq lbl_80053278 -/* 04DCB8 80053258 80610084 */ lwz r3, 0x84(r1) -/* 04DCBC 8005325C 3C804C40 */ lis r4, 0x4c40 -/* 04DCC0 80053260 38841382 */ addi r4, r4, 0x1382 -/* 04DCC4 80053264 38030001 */ addi r0, r3, 1 -/* 04DCC8 80053268 90010084 */ stw r0, 0x84(r1) -/* 04DCCC 8005326C 5460103A */ slwi r0, r3, 2 -/* 04DCD0 80053270 7C9F012E */ stwx r4, r31, r0 -/* 04DCD4 80053274 48000010 */ b lbl_80053284 -lbl_80053278: -/* 04DCD8 80053278 80610084 */ lwz r3, 0x84(r1) -/* 04DCDC 8005327C 38030001 */ addi r0, r3, 1 -/* 04DCE0 80053280 90010084 */ stw r0, 0x84(r1) -lbl_80053284: -/* 04DCE4 80053284 281F0000 */ cmplwi r31, 0 -/* 04DCE8 80053288 41820024 */ beq lbl_800532AC -/* 04DCEC 8005328C 80610084 */ lwz r3, 0x84(r1) -/* 04DCF0 80053290 3C804082 */ lis r4, 0x4082 -/* 04DCF4 80053294 3884000C */ addi r4, r4, 0xc -/* 04DCF8 80053298 38030001 */ addi r0, r3, 1 -/* 04DCFC 8005329C 90010084 */ stw r0, 0x84(r1) -/* 04DD00 800532A0 5460103A */ slwi r0, r3, 2 -/* 04DD04 800532A4 7C9F012E */ stwx r4, r31, r0 -/* 04DD08 800532A8 48000010 */ b lbl_800532B8 -lbl_800532AC: -/* 04DD0C 800532AC 80610084 */ lwz r3, 0x84(r1) -/* 04DD10 800532B0 38030001 */ addi r0, r3, 1 -/* 04DD14 800532B4 90010084 */ stw r0, 0x84(r1) -lbl_800532B8: -/* 04DD18 800532B8 281F0000 */ cmplwi r31, 0 -/* 04DD1C 800532BC 41820024 */ beq lbl_800532E0 -/* 04DD20 800532C0 80610084 */ lwz r3, 0x84(r1) -/* 04DD24 800532C4 3C8064A5 */ lis r4, 0x64a5 -/* 04DD28 800532C8 38840080 */ addi r4, r4, 0x80 -/* 04DD2C 800532CC 38030001 */ addi r0, r3, 1 -/* 04DD30 800532D0 90010084 */ stw r0, 0x84(r1) -/* 04DD34 800532D4 5460103A */ slwi r0, r3, 2 -/* 04DD38 800532D8 7C9F012E */ stwx r4, r31, r0 -/* 04DD3C 800532DC 48000010 */ b lbl_800532EC -lbl_800532E0: -/* 04DD40 800532E0 80610084 */ lwz r3, 0x84(r1) -/* 04DD44 800532E4 38030001 */ addi r0, r3, 1 -/* 04DD48 800532E8 90010084 */ stw r0, 0x84(r1) -lbl_800532EC: -/* 04DD4C 800532EC 281F0000 */ cmplwi r31, 0 -/* 04DD50 800532F0 41820024 */ beq lbl_80053314 -/* 04DD54 800532F4 80610084 */ lwz r3, 0x84(r1) -/* 04DD58 800532F8 3C804280 */ lis r4, 0x4280 -/* 04DD5C 800532FC 38840008 */ addi r4, r4, 8 -/* 04DD60 80053300 38030001 */ addi r0, r3, 1 -/* 04DD64 80053304 90010084 */ stw r0, 0x84(r1) -/* 04DD68 80053308 5460103A */ slwi r0, r3, 2 -/* 04DD6C 8005330C 7C9F012E */ stwx r4, r31, r0 -/* 04DD70 80053310 48000010 */ b lbl_80053320 -lbl_80053314: -/* 04DD74 80053314 80610084 */ lwz r3, 0x84(r1) -/* 04DD78 80053318 38030001 */ addi r0, r3, 1 -/* 04DD7C 8005331C 90010084 */ stw r0, 0x84(r1) -lbl_80053320: -/* 04DD80 80053320 281F0000 */ cmplwi r31, 0 -/* 04DD84 80053324 41820024 */ beq lbl_80053348 -/* 04DD88 80053328 80610084 */ lwz r3, 0x84(r1) -/* 04DD8C 8005332C 3C8054A5 */ lis r4, 0x54a5 -/* 04DD90 80053330 3884024E */ addi r4, r4, 0x24e -/* 04DD94 80053334 38030001 */ addi r0, r3, 1 -/* 04DD98 80053338 90010084 */ stw r0, 0x84(r1) -/* 04DD9C 8005333C 5460103A */ slwi r0, r3, 2 -/* 04DDA0 80053340 7C9F012E */ stwx r4, r31, r0 -/* 04DDA4 80053344 48000010 */ b lbl_80053354 -lbl_80053348: -/* 04DDA8 80053348 80610084 */ lwz r3, 0x84(r1) -/* 04DDAC 8005334C 38030001 */ addi r0, r3, 1 -/* 04DDB0 80053350 90010084 */ stw r0, 0x84(r1) -lbl_80053354: -/* 04DDB4 80053354 281F0000 */ cmplwi r31, 0 -/* 04DDB8 80053358 41820028 */ beq lbl_80053380 -/* 04DDBC 8005335C 80610084 */ lwz r3, 0x84(r1) -/* 04DDC0 80053360 381E0A3C */ addi r0, r30, 0xa3c -/* 04DDC4 80053364 7C9E0050 */ subf r4, r30, r0 -/* 04DDC8 80053368 38030001 */ addi r0, r3, 1 -/* 04DDCC 8005336C 90010084 */ stw r0, 0x84(r1) -/* 04DDD0 80053370 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04DDD4 80053374 5463103A */ slwi r3, r3, 2 -/* 04DDD8 80053378 7C1F192E */ stwx r0, r31, r3 -/* 04DDDC 8005337C 48014BB8 */ b lbl_80067F34 -lbl_80053380: -/* 04DDE0 80053380 80610084 */ lwz r3, 0x84(r1) -/* 04DDE4 80053384 38030001 */ addi r0, r3, 1 -/* 04DDE8 80053388 90010084 */ stw r0, 0x84(r1) -/* 04DDEC 8005338C 48014BA8 */ b lbl_80067F34 -.global lbl_80053390 -lbl_80053390: -/* 04DDF0 80053390 281F0000 */ cmplwi r31, 0 -/* 04DDF4 80053394 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04DDF8 80053398 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04DDFC 8005339C 41820028 */ beq lbl_800533C4 -/* 04DE00 800533A0 80810084 */ lwz r4, 0x84(r1) -/* 04DE04 800533A4 38BE0A3C */ addi r5, r30, 0xa3c -/* 04DE08 800533A8 7CBE2850 */ subf r5, r30, r5 -/* 04DE0C 800533AC 38C40001 */ addi r6, r4, 1 -/* 04DE10 800533B0 90C10084 */ stw r6, 0x84(r1) -/* 04DE14 800533B4 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04DE18 800533B8 5484103A */ slwi r4, r4, 2 -/* 04DE1C 800533BC 7CBF212E */ stwx r5, r31, r4 -/* 04DE20 800533C0 48000010 */ b lbl_800533D0 -lbl_800533C4: -/* 04DE24 800533C4 80810084 */ lwz r4, 0x84(r1) -/* 04DE28 800533C8 38840001 */ addi r4, r4, 1 -/* 04DE2C 800533CC 90810084 */ stw r4, 0x84(r1) -lbl_800533D0: -/* 04DE30 800533D0 3C9E0001 */ addis r4, r30, 1 -/* 04DE34 800533D4 80A42064 */ lwz r5, 0x2064(r4) -/* 04DE38 800533D8 28050000 */ cmplwi r5, 0 -/* 04DE3C 800533DC 4082000C */ bne lbl_800533E8 -/* 04DE40 800533E0 38A00000 */ li r5, 0 -/* 04DE44 800533E4 48000094 */ b lbl_80053478 -lbl_800533E8: -/* 04DE48 800533E8 80A42074 */ lwz r5, 0x2074(r4) -/* 04DE4C 800533EC 28050000 */ cmplwi r5, 0 -/* 04DE50 800533F0 4082000C */ bne lbl_800533FC -/* 04DE54 800533F4 38A00000 */ li r5, 0 -/* 04DE58 800533F8 48000080 */ b lbl_80053478 -lbl_800533FC: -/* 04DE5C 800533FC 80842078 */ lwz r4, 0x2078(r4) -/* 04DE60 80053400 7C002000 */ cmpw r0, r4 -/* 04DE64 80053404 4182000C */ beq lbl_80053410 -/* 04DE68 80053408 38A00000 */ li r5, 0 -/* 04DE6C 8005340C 4800006C */ b lbl_80053478 -lbl_80053410: -/* 04DE70 80053410 80DE0034 */ lwz r6, 0x34(r30) -/* 04DE74 80053414 38A00000 */ li r5, 0 -/* 04DE78 80053418 80860008 */ lwz r4, 8(r6) -/* 04DE7C 8005341C 2C040000 */ cmpwi r4, 0 -/* 04DE80 80053420 7C8903A6 */ mtctr r4 -/* 04DE84 80053424 40810028 */ ble lbl_8005344C -lbl_80053428: -/* 04DE88 80053428 8086000C */ lwz r4, 0xc(r6) -/* 04DE8C 8005342C 38E50004 */ addi r7, r5, 4 -/* 04DE90 80053430 7C84382E */ lwzx r4, r4, r7 -/* 04DE94 80053434 7C1D2000 */ cmpw r29, r4 -/* 04DE98 80053438 4082000C */ bne lbl_80053444 -/* 04DE9C 8005343C 38800000 */ li r4, 0 -/* 04DEA0 80053440 48000010 */ b lbl_80053450 -lbl_80053444: -/* 04DEA4 80053444 38A50008 */ addi r5, r5, 8 -/* 04DEA8 80053448 4200FFE0 */ bdnz lbl_80053428 -lbl_8005344C: -/* 04DEAC 8005344C 38800001 */ li r4, 1 -lbl_80053450: -/* 04DEB0 80053450 2C040000 */ cmpwi r4, 0 -/* 04DEB4 80053454 40820014 */ bne lbl_80053468 -/* 04DEB8 80053458 38A00000 */ li r5, 0 -/* 04DEBC 8005345C 3C9E0001 */ addis r4, r30, 1 -/* 04DEC0 80053460 90A42074 */ stw r5, 0x2074(r4) -/* 04DEC4 80053464 48000014 */ b lbl_80053478 -lbl_80053468: -/* 04DEC8 80053468 3C9E0001 */ addis r4, r30, 1 -/* 04DECC 8005346C 38A00000 */ li r5, 0 -/* 04DED0 80053470 90A42074 */ stw r5, 0x2074(r4) -/* 04DED4 80053474 38A00001 */ li r5, 1 -lbl_80053478: -/* 04DED8 80053478 2C050000 */ cmpwi r5, 0 -/* 04DEDC 8005347C 41820038 */ beq lbl_800534B4 -/* 04DEE0 80053480 281F0000 */ cmplwi r31, 0 -/* 04DEE4 80053484 41820020 */ beq lbl_800534A4 -/* 04DEE8 80053488 80A10084 */ lwz r5, 0x84(r1) -/* 04DEEC 8005348C 3CC06000 */ lis r6, 0x6000 -/* 04DEF0 80053490 38850001 */ addi r4, r5, 1 -/* 04DEF4 80053494 90810084 */ stw r4, 0x84(r1) -/* 04DEF8 80053498 54A4103A */ slwi r4, r5, 2 -/* 04DEFC 8005349C 7CDF212E */ stwx r6, r31, r4 -/* 04DF00 800534A0 48000064 */ b lbl_80053504 -lbl_800534A4: -/* 04DF04 800534A4 80810084 */ lwz r4, 0x84(r1) -/* 04DF08 800534A8 38840001 */ addi r4, r4, 1 -/* 04DF0C 800534AC 90810084 */ stw r4, 0x84(r1) -/* 04DF10 800534B0 48000054 */ b lbl_80053504 -lbl_800534B4: -/* 04DF14 800534B4 281F0000 */ cmplwi r31, 0 -/* 04DF18 800534B8 41820040 */ beq lbl_800534F8 -/* 04DF1C 800534BC 54041838 */ slwi r4, r0, 3 -/* 04DF20 800534C0 80C10084 */ lwz r6, 0x84(r1) -/* 04DF24 800534C4 38840140 */ addi r4, r4, 0x140 -/* 04DF28 800534C8 7C9E2214 */ add r4, r30, r4 -/* 04DF2C 800534CC 7CBE2050 */ subf r5, r30, r4 -/* 04DF30 800534D0 5404A814 */ slwi r4, r0, 0x15 -/* 04DF34 800534D4 38E50004 */ addi r7, r5, 4 -/* 04DF38 800534D8 38A60001 */ addi r5, r6, 1 -/* 04DF3C 800534DC 90A10084 */ stw r5, 0x84(r1) -/* 04DF40 800534E0 6484C003 */ oris r4, r4, 0xc003 -/* 04DF44 800534E4 54E5043E */ clrlwi r5, r7, 0x10 -/* 04DF48 800534E8 7C842A14 */ add r4, r4, r5 -/* 04DF4C 800534EC 54C5103A */ slwi r5, r6, 2 -/* 04DF50 800534F0 7C9F292E */ stwx r4, r31, r5 -/* 04DF54 800534F4 48000010 */ b lbl_80053504 -lbl_800534F8: -/* 04DF58 800534F8 80810084 */ lwz r4, 0x84(r1) -/* 04DF5C 800534FC 38840001 */ addi r4, r4, 1 -/* 04DF60 80053500 90810084 */ stw r4, 0x84(r1) -lbl_80053504: -/* 04DF64 80053504 3C9E0001 */ addis r4, r30, 1 -/* 04DF68 80053508 80A42064 */ lwz r5, 0x2064(r4) -/* 04DF6C 8005350C 28050000 */ cmplwi r5, 0 -/* 04DF70 80053510 4082000C */ bne lbl_8005351C -/* 04DF74 80053514 38A00000 */ li r5, 0 -/* 04DF78 80053518 48000094 */ b lbl_800535AC -lbl_8005351C: -/* 04DF7C 8005351C 80A42074 */ lwz r5, 0x2074(r4) -/* 04DF80 80053520 28050000 */ cmplwi r5, 0 -/* 04DF84 80053524 4082000C */ bne lbl_80053530 -/* 04DF88 80053528 38A00000 */ li r5, 0 -/* 04DF8C 8005352C 48000080 */ b lbl_800535AC -lbl_80053530: -/* 04DF90 80053530 80842078 */ lwz r4, 0x2078(r4) -/* 04DF94 80053534 7C032000 */ cmpw r3, r4 -/* 04DF98 80053538 4182000C */ beq lbl_80053544 -/* 04DF9C 8005353C 38A00000 */ li r5, 0 -/* 04DFA0 80053540 4800006C */ b lbl_800535AC -lbl_80053544: -/* 04DFA4 80053544 80DE0034 */ lwz r6, 0x34(r30) -/* 04DFA8 80053548 38A00000 */ li r5, 0 -/* 04DFAC 8005354C 80860008 */ lwz r4, 8(r6) -/* 04DFB0 80053550 2C040000 */ cmpwi r4, 0 -/* 04DFB4 80053554 7C8903A6 */ mtctr r4 -/* 04DFB8 80053558 40810028 */ ble lbl_80053580 -lbl_8005355C: -/* 04DFBC 8005355C 8086000C */ lwz r4, 0xc(r6) -/* 04DFC0 80053560 38E50004 */ addi r7, r5, 4 -/* 04DFC4 80053564 7C84382E */ lwzx r4, r4, r7 -/* 04DFC8 80053568 7C1D2000 */ cmpw r29, r4 -/* 04DFCC 8005356C 4082000C */ bne lbl_80053578 -/* 04DFD0 80053570 38800000 */ li r4, 0 -/* 04DFD4 80053574 48000010 */ b lbl_80053584 -lbl_80053578: -/* 04DFD8 80053578 38A50008 */ addi r5, r5, 8 -/* 04DFDC 8005357C 4200FFE0 */ bdnz lbl_8005355C -lbl_80053580: -/* 04DFE0 80053580 38800001 */ li r4, 1 -lbl_80053584: -/* 04DFE4 80053584 2C040000 */ cmpwi r4, 0 -/* 04DFE8 80053588 40820014 */ bne lbl_8005359C -/* 04DFEC 8005358C 38A00000 */ li r5, 0 -/* 04DFF0 80053590 3C9E0001 */ addis r4, r30, 1 -/* 04DFF4 80053594 90A42074 */ stw r5, 0x2074(r4) -/* 04DFF8 80053598 48000014 */ b lbl_800535AC -lbl_8005359C: -/* 04DFFC 8005359C 3C9E0001 */ addis r4, r30, 1 -/* 04E000 800535A0 38A00000 */ li r5, 0 -/* 04E004 800535A4 90A42074 */ stw r5, 0x2074(r4) -/* 04E008 800535A8 38A00001 */ li r5, 1 -lbl_800535AC: -/* 04E00C 800535AC 2C050000 */ cmpwi r5, 0 -/* 04E010 800535B0 41820038 */ beq lbl_800535E8 -/* 04E014 800535B4 281F0000 */ cmplwi r31, 0 -/* 04E018 800535B8 41820020 */ beq lbl_800535D8 -/* 04E01C 800535BC 80A10084 */ lwz r5, 0x84(r1) -/* 04E020 800535C0 3CC06000 */ lis r6, 0x6000 -/* 04E024 800535C4 38850001 */ addi r4, r5, 1 -/* 04E028 800535C8 90810084 */ stw r4, 0x84(r1) -/* 04E02C 800535CC 54A4103A */ slwi r4, r5, 2 -/* 04E030 800535D0 7CDF212E */ stwx r6, r31, r4 -/* 04E034 800535D4 48000064 */ b lbl_80053638 -lbl_800535D8: -/* 04E038 800535D8 80810084 */ lwz r4, 0x84(r1) -/* 04E03C 800535DC 38840001 */ addi r4, r4, 1 -/* 04E040 800535E0 90810084 */ stw r4, 0x84(r1) -/* 04E044 800535E4 48000054 */ b lbl_80053638 -lbl_800535E8: -/* 04E048 800535E8 281F0000 */ cmplwi r31, 0 -/* 04E04C 800535EC 41820040 */ beq lbl_8005362C -/* 04E050 800535F0 54641838 */ slwi r4, r3, 3 -/* 04E054 800535F4 80C10084 */ lwz r6, 0x84(r1) -/* 04E058 800535F8 38840140 */ addi r4, r4, 0x140 -/* 04E05C 800535FC 7C9E2214 */ add r4, r30, r4 -/* 04E060 80053600 7CBE2050 */ subf r5, r30, r4 -/* 04E064 80053604 5464A814 */ slwi r4, r3, 0x15 -/* 04E068 80053608 38E50004 */ addi r7, r5, 4 -/* 04E06C 8005360C 38A60001 */ addi r5, r6, 1 -/* 04E070 80053610 90A10084 */ stw r5, 0x84(r1) -/* 04E074 80053614 6484C003 */ oris r4, r4, 0xc003 -/* 04E078 80053618 54E5043E */ clrlwi r5, r7, 0x10 -/* 04E07C 8005361C 7C842A14 */ add r4, r4, r5 -/* 04E080 80053620 54C5103A */ slwi r5, r6, 2 -/* 04E084 80053624 7C9F292E */ stwx r4, r31, r5 -/* 04E088 80053628 48000010 */ b lbl_80053638 -lbl_8005362C: -/* 04E08C 8005362C 80810084 */ lwz r4, 0x84(r1) -/* 04E090 80053630 38840001 */ addi r4, r4, 1 -/* 04E094 80053634 90810084 */ stw r4, 0x84(r1) -lbl_80053638: -/* 04E098 80053638 281F0000 */ cmplwi r31, 0 -/* 04E09C 8005363C 4182002C */ beq lbl_80053668 -/* 04E0A0 80053640 80810084 */ lwz r4, 0x84(r1) -/* 04E0A4 80053644 5400801E */ slwi r0, r0, 0x10 -/* 04E0A8 80053648 6400FC00 */ oris r0, r0, 0xfc00 -/* 04E0AC 8005364C 38A40001 */ addi r5, r4, 1 -/* 04E0B0 80053650 54635828 */ slwi r3, r3, 0xb -/* 04E0B4 80053654 90A10084 */ stw r5, 0x84(r1) -/* 04E0B8 80053658 7C001B78 */ or r0, r0, r3 -/* 04E0BC 8005365C 5483103A */ slwi r3, r4, 2 -/* 04E0C0 80053660 7C1F192E */ stwx r0, r31, r3 -/* 04E0C4 80053664 48000010 */ b lbl_80053674 -lbl_80053668: -/* 04E0C8 80053668 80610084 */ lwz r3, 0x84(r1) -/* 04E0CC 8005366C 38030001 */ addi r0, r3, 1 -/* 04E0D0 80053670 90010084 */ stw r0, 0x84(r1) -lbl_80053674: -/* 04E0D4 80053674 281F0000 */ cmplwi r31, 0 -/* 04E0D8 80053678 41820024 */ beq lbl_8005369C -/* 04E0DC 8005367C 80610084 */ lwz r3, 0x84(r1) -/* 04E0E0 80053680 3C804082 */ lis r4, 0x4082 -/* 04E0E4 80053684 3884000C */ addi r4, r4, 0xc -/* 04E0E8 80053688 38030001 */ addi r0, r3, 1 -/* 04E0EC 8005368C 90010084 */ stw r0, 0x84(r1) -/* 04E0F0 80053690 5460103A */ slwi r0, r3, 2 -/* 04E0F4 80053694 7C9F012E */ stwx r4, r31, r0 -/* 04E0F8 80053698 48000010 */ b lbl_800536A8 -lbl_8005369C: -/* 04E0FC 8005369C 80610084 */ lwz r3, 0x84(r1) -/* 04E100 800536A0 38030001 */ addi r0, r3, 1 -/* 04E104 800536A4 90010084 */ stw r0, 0x84(r1) -lbl_800536A8: -/* 04E108 800536A8 281F0000 */ cmplwi r31, 0 -/* 04E10C 800536AC 41820024 */ beq lbl_800536D0 -/* 04E110 800536B0 80610084 */ lwz r3, 0x84(r1) -/* 04E114 800536B4 3C8064A5 */ lis r4, 0x64a5 -/* 04E118 800536B8 38840080 */ addi r4, r4, 0x80 -/* 04E11C 800536BC 38030001 */ addi r0, r3, 1 -/* 04E120 800536C0 90010084 */ stw r0, 0x84(r1) -/* 04E124 800536C4 5460103A */ slwi r0, r3, 2 -/* 04E128 800536C8 7C9F012E */ stwx r4, r31, r0 -/* 04E12C 800536CC 48000010 */ b lbl_800536DC -lbl_800536D0: -/* 04E130 800536D0 80610084 */ lwz r3, 0x84(r1) -/* 04E134 800536D4 38030001 */ addi r0, r3, 1 -/* 04E138 800536D8 90010084 */ stw r0, 0x84(r1) -lbl_800536DC: -/* 04E13C 800536DC 281F0000 */ cmplwi r31, 0 -/* 04E140 800536E0 41820024 */ beq lbl_80053704 -/* 04E144 800536E4 80610084 */ lwz r3, 0x84(r1) -/* 04E148 800536E8 3C804280 */ lis r4, 0x4280 -/* 04E14C 800536EC 38840008 */ addi r4, r4, 8 -/* 04E150 800536F0 38030001 */ addi r0, r3, 1 -/* 04E154 800536F4 90010084 */ stw r0, 0x84(r1) -/* 04E158 800536F8 5460103A */ slwi r0, r3, 2 -/* 04E15C 800536FC 7C9F012E */ stwx r4, r31, r0 -/* 04E160 80053700 48000010 */ b lbl_80053710 -lbl_80053704: -/* 04E164 80053704 80610084 */ lwz r3, 0x84(r1) -/* 04E168 80053708 38030001 */ addi r0, r3, 1 -/* 04E16C 8005370C 90010084 */ stw r0, 0x84(r1) -lbl_80053710: -/* 04E170 80053710 281F0000 */ cmplwi r31, 0 -/* 04E174 80053714 41820024 */ beq lbl_80053738 -/* 04E178 80053718 80610084 */ lwz r3, 0x84(r1) -/* 04E17C 8005371C 3C8054A5 */ lis r4, 0x54a5 -/* 04E180 80053720 3884024E */ addi r4, r4, 0x24e -/* 04E184 80053724 38030001 */ addi r0, r3, 1 -/* 04E188 80053728 90010084 */ stw r0, 0x84(r1) -/* 04E18C 8005372C 5460103A */ slwi r0, r3, 2 -/* 04E190 80053730 7C9F012E */ stwx r4, r31, r0 -/* 04E194 80053734 48000010 */ b lbl_80053744 -lbl_80053738: -/* 04E198 80053738 80610084 */ lwz r3, 0x84(r1) -/* 04E19C 8005373C 38030001 */ addi r0, r3, 1 -/* 04E1A0 80053740 90010084 */ stw r0, 0x84(r1) -lbl_80053744: -/* 04E1A4 80053744 281F0000 */ cmplwi r31, 0 -/* 04E1A8 80053748 41820028 */ beq lbl_80053770 -/* 04E1AC 8005374C 80610084 */ lwz r3, 0x84(r1) -/* 04E1B0 80053750 381E0A3C */ addi r0, r30, 0xa3c -/* 04E1B4 80053754 7C9E0050 */ subf r4, r30, r0 -/* 04E1B8 80053758 38030001 */ addi r0, r3, 1 -/* 04E1BC 8005375C 90010084 */ stw r0, 0x84(r1) -/* 04E1C0 80053760 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04E1C4 80053764 5463103A */ slwi r3, r3, 2 -/* 04E1C8 80053768 7C1F192E */ stwx r0, r31, r3 -/* 04E1CC 8005376C 480147C8 */ b lbl_80067F34 -lbl_80053770: -/* 04E1D0 80053770 80610084 */ lwz r3, 0x84(r1) -/* 04E1D4 80053774 38030001 */ addi r0, r3, 1 -/* 04E1D8 80053778 90010084 */ stw r0, 0x84(r1) -/* 04E1DC 8005377C 480147B8 */ b lbl_80067F34 -.global lbl_80053780 -lbl_80053780: -/* 04E1E0 80053780 281F0000 */ cmplwi r31, 0 -/* 04E1E4 80053784 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04E1E8 80053788 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04E1EC 8005378C 41820028 */ beq lbl_800537B4 -/* 04E1F0 80053790 80810084 */ lwz r4, 0x84(r1) -/* 04E1F4 80053794 38BE0A3C */ addi r5, r30, 0xa3c -/* 04E1F8 80053798 7CBE2850 */ subf r5, r30, r5 -/* 04E1FC 8005379C 38C40001 */ addi r6, r4, 1 -/* 04E200 800537A0 90C10084 */ stw r6, 0x84(r1) -/* 04E204 800537A4 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04E208 800537A8 5484103A */ slwi r4, r4, 2 -/* 04E20C 800537AC 7CBF212E */ stwx r5, r31, r4 -/* 04E210 800537B0 48000010 */ b lbl_800537C0 -lbl_800537B4: -/* 04E214 800537B4 80810084 */ lwz r4, 0x84(r1) -/* 04E218 800537B8 38840001 */ addi r4, r4, 1 -/* 04E21C 800537BC 90810084 */ stw r4, 0x84(r1) -lbl_800537C0: -/* 04E220 800537C0 3C9E0001 */ addis r4, r30, 1 -/* 04E224 800537C4 80A42064 */ lwz r5, 0x2064(r4) -/* 04E228 800537C8 28050000 */ cmplwi r5, 0 -/* 04E22C 800537CC 4082000C */ bne lbl_800537D8 -/* 04E230 800537D0 38A00000 */ li r5, 0 -/* 04E234 800537D4 48000094 */ b lbl_80053868 -lbl_800537D8: -/* 04E238 800537D8 80A42074 */ lwz r5, 0x2074(r4) -/* 04E23C 800537DC 28050000 */ cmplwi r5, 0 -/* 04E240 800537E0 4082000C */ bne lbl_800537EC -/* 04E244 800537E4 38A00000 */ li r5, 0 -/* 04E248 800537E8 48000080 */ b lbl_80053868 -lbl_800537EC: -/* 04E24C 800537EC 80842078 */ lwz r4, 0x2078(r4) -/* 04E250 800537F0 7C002000 */ cmpw r0, r4 -/* 04E254 800537F4 4182000C */ beq lbl_80053800 -/* 04E258 800537F8 38A00000 */ li r5, 0 -/* 04E25C 800537FC 4800006C */ b lbl_80053868 -lbl_80053800: -/* 04E260 80053800 80DE0034 */ lwz r6, 0x34(r30) -/* 04E264 80053804 38A00000 */ li r5, 0 -/* 04E268 80053808 80860008 */ lwz r4, 8(r6) -/* 04E26C 8005380C 2C040000 */ cmpwi r4, 0 -/* 04E270 80053810 7C8903A6 */ mtctr r4 -/* 04E274 80053814 40810028 */ ble lbl_8005383C -lbl_80053818: -/* 04E278 80053818 8086000C */ lwz r4, 0xc(r6) -/* 04E27C 8005381C 38E50004 */ addi r7, r5, 4 -/* 04E280 80053820 7C84382E */ lwzx r4, r4, r7 -/* 04E284 80053824 7C1D2000 */ cmpw r29, r4 -/* 04E288 80053828 4082000C */ bne lbl_80053834 -/* 04E28C 8005382C 38800000 */ li r4, 0 -/* 04E290 80053830 48000010 */ b lbl_80053840 -lbl_80053834: -/* 04E294 80053834 38A50008 */ addi r5, r5, 8 -/* 04E298 80053838 4200FFE0 */ bdnz lbl_80053818 -lbl_8005383C: -/* 04E29C 8005383C 38800001 */ li r4, 1 -lbl_80053840: -/* 04E2A0 80053840 2C040000 */ cmpwi r4, 0 -/* 04E2A4 80053844 40820014 */ bne lbl_80053858 -/* 04E2A8 80053848 38A00000 */ li r5, 0 -/* 04E2AC 8005384C 3C9E0001 */ addis r4, r30, 1 -/* 04E2B0 80053850 90A42074 */ stw r5, 0x2074(r4) -/* 04E2B4 80053854 48000014 */ b lbl_80053868 -lbl_80053858: -/* 04E2B8 80053858 3C9E0001 */ addis r4, r30, 1 -/* 04E2BC 8005385C 38A00000 */ li r5, 0 -/* 04E2C0 80053860 90A42074 */ stw r5, 0x2074(r4) -/* 04E2C4 80053864 38A00001 */ li r5, 1 -lbl_80053868: -/* 04E2C8 80053868 2C050000 */ cmpwi r5, 0 -/* 04E2CC 8005386C 41820038 */ beq lbl_800538A4 -/* 04E2D0 80053870 281F0000 */ cmplwi r31, 0 -/* 04E2D4 80053874 41820020 */ beq lbl_80053894 -/* 04E2D8 80053878 80A10084 */ lwz r5, 0x84(r1) -/* 04E2DC 8005387C 3CC06000 */ lis r6, 0x6000 -/* 04E2E0 80053880 38850001 */ addi r4, r5, 1 -/* 04E2E4 80053884 90810084 */ stw r4, 0x84(r1) -/* 04E2E8 80053888 54A4103A */ slwi r4, r5, 2 -/* 04E2EC 8005388C 7CDF212E */ stwx r6, r31, r4 -/* 04E2F0 80053890 48000064 */ b lbl_800538F4 -lbl_80053894: -/* 04E2F4 80053894 80810084 */ lwz r4, 0x84(r1) -/* 04E2F8 80053898 38840001 */ addi r4, r4, 1 -/* 04E2FC 8005389C 90810084 */ stw r4, 0x84(r1) -/* 04E300 800538A0 48000054 */ b lbl_800538F4 -lbl_800538A4: -/* 04E304 800538A4 281F0000 */ cmplwi r31, 0 -/* 04E308 800538A8 41820040 */ beq lbl_800538E8 -/* 04E30C 800538AC 54041838 */ slwi r4, r0, 3 -/* 04E310 800538B0 80C10084 */ lwz r6, 0x84(r1) -/* 04E314 800538B4 38840140 */ addi r4, r4, 0x140 -/* 04E318 800538B8 7C9E2214 */ add r4, r30, r4 -/* 04E31C 800538BC 7CBE2050 */ subf r5, r30, r4 -/* 04E320 800538C0 5404A814 */ slwi r4, r0, 0x15 -/* 04E324 800538C4 38E50004 */ addi r7, r5, 4 -/* 04E328 800538C8 38A60001 */ addi r5, r6, 1 -/* 04E32C 800538CC 90A10084 */ stw r5, 0x84(r1) -/* 04E330 800538D0 6484C003 */ oris r4, r4, 0xc003 -/* 04E334 800538D4 54E5043E */ clrlwi r5, r7, 0x10 -/* 04E338 800538D8 7C842A14 */ add r4, r4, r5 -/* 04E33C 800538DC 54C5103A */ slwi r5, r6, 2 -/* 04E340 800538E0 7C9F292E */ stwx r4, r31, r5 -/* 04E344 800538E4 48000010 */ b lbl_800538F4 -lbl_800538E8: -/* 04E348 800538E8 80810084 */ lwz r4, 0x84(r1) -/* 04E34C 800538EC 38840001 */ addi r4, r4, 1 -/* 04E350 800538F0 90810084 */ stw r4, 0x84(r1) -lbl_800538F4: -/* 04E354 800538F4 3C9E0001 */ addis r4, r30, 1 -/* 04E358 800538F8 80A42064 */ lwz r5, 0x2064(r4) -/* 04E35C 800538FC 28050000 */ cmplwi r5, 0 -/* 04E360 80053900 4082000C */ bne lbl_8005390C -/* 04E364 80053904 38A00000 */ li r5, 0 -/* 04E368 80053908 48000094 */ b lbl_8005399C -lbl_8005390C: -/* 04E36C 8005390C 80A42074 */ lwz r5, 0x2074(r4) -/* 04E370 80053910 28050000 */ cmplwi r5, 0 -/* 04E374 80053914 4082000C */ bne lbl_80053920 -/* 04E378 80053918 38A00000 */ li r5, 0 -/* 04E37C 8005391C 48000080 */ b lbl_8005399C -lbl_80053920: -/* 04E380 80053920 80842078 */ lwz r4, 0x2078(r4) -/* 04E384 80053924 7C032000 */ cmpw r3, r4 -/* 04E388 80053928 4182000C */ beq lbl_80053934 -/* 04E38C 8005392C 38A00000 */ li r5, 0 -/* 04E390 80053930 4800006C */ b lbl_8005399C -lbl_80053934: -/* 04E394 80053934 80DE0034 */ lwz r6, 0x34(r30) -/* 04E398 80053938 38A00000 */ li r5, 0 -/* 04E39C 8005393C 80860008 */ lwz r4, 8(r6) -/* 04E3A0 80053940 2C040000 */ cmpwi r4, 0 -/* 04E3A4 80053944 7C8903A6 */ mtctr r4 -/* 04E3A8 80053948 40810028 */ ble lbl_80053970 -lbl_8005394C: -/* 04E3AC 8005394C 8086000C */ lwz r4, 0xc(r6) -/* 04E3B0 80053950 38E50004 */ addi r7, r5, 4 -/* 04E3B4 80053954 7C84382E */ lwzx r4, r4, r7 -/* 04E3B8 80053958 7C1D2000 */ cmpw r29, r4 -/* 04E3BC 8005395C 4082000C */ bne lbl_80053968 -/* 04E3C0 80053960 38800000 */ li r4, 0 -/* 04E3C4 80053964 48000010 */ b lbl_80053974 -lbl_80053968: -/* 04E3C8 80053968 38A50008 */ addi r5, r5, 8 -/* 04E3CC 8005396C 4200FFE0 */ bdnz lbl_8005394C -lbl_80053970: -/* 04E3D0 80053970 38800001 */ li r4, 1 -lbl_80053974: -/* 04E3D4 80053974 2C040000 */ cmpwi r4, 0 -/* 04E3D8 80053978 40820014 */ bne lbl_8005398C -/* 04E3DC 8005397C 38A00000 */ li r5, 0 -/* 04E3E0 80053980 3C9E0001 */ addis r4, r30, 1 -/* 04E3E4 80053984 90A42074 */ stw r5, 0x2074(r4) -/* 04E3E8 80053988 48000014 */ b lbl_8005399C -lbl_8005398C: -/* 04E3EC 8005398C 3C9E0001 */ addis r4, r30, 1 -/* 04E3F0 80053990 38A00000 */ li r5, 0 -/* 04E3F4 80053994 90A42074 */ stw r5, 0x2074(r4) -/* 04E3F8 80053998 38A00001 */ li r5, 1 -lbl_8005399C: -/* 04E3FC 8005399C 2C050000 */ cmpwi r5, 0 -/* 04E400 800539A0 41820038 */ beq lbl_800539D8 -/* 04E404 800539A4 281F0000 */ cmplwi r31, 0 -/* 04E408 800539A8 41820020 */ beq lbl_800539C8 -/* 04E40C 800539AC 80A10084 */ lwz r5, 0x84(r1) -/* 04E410 800539B0 3CC06000 */ lis r6, 0x6000 -/* 04E414 800539B4 38850001 */ addi r4, r5, 1 -/* 04E418 800539B8 90810084 */ stw r4, 0x84(r1) -/* 04E41C 800539BC 54A4103A */ slwi r4, r5, 2 -/* 04E420 800539C0 7CDF212E */ stwx r6, r31, r4 -/* 04E424 800539C4 48000064 */ b lbl_80053A28 -lbl_800539C8: -/* 04E428 800539C8 80810084 */ lwz r4, 0x84(r1) -/* 04E42C 800539CC 38840001 */ addi r4, r4, 1 -/* 04E430 800539D0 90810084 */ stw r4, 0x84(r1) -/* 04E434 800539D4 48000054 */ b lbl_80053A28 -lbl_800539D8: -/* 04E438 800539D8 281F0000 */ cmplwi r31, 0 -/* 04E43C 800539DC 41820040 */ beq lbl_80053A1C -/* 04E440 800539E0 54641838 */ slwi r4, r3, 3 -/* 04E444 800539E4 80C10084 */ lwz r6, 0x84(r1) -/* 04E448 800539E8 38840140 */ addi r4, r4, 0x140 -/* 04E44C 800539EC 7C9E2214 */ add r4, r30, r4 -/* 04E450 800539F0 7CBE2050 */ subf r5, r30, r4 -/* 04E454 800539F4 5464A814 */ slwi r4, r3, 0x15 -/* 04E458 800539F8 38E50004 */ addi r7, r5, 4 -/* 04E45C 800539FC 38A60001 */ addi r5, r6, 1 -/* 04E460 80053A00 90A10084 */ stw r5, 0x84(r1) -/* 04E464 80053A04 6484C003 */ oris r4, r4, 0xc003 -/* 04E468 80053A08 54E5043E */ clrlwi r5, r7, 0x10 -/* 04E46C 80053A0C 7C842A14 */ add r4, r4, r5 -/* 04E470 80053A10 54C5103A */ slwi r5, r6, 2 -/* 04E474 80053A14 7C9F292E */ stwx r4, r31, r5 -/* 04E478 80053A18 48000010 */ b lbl_80053A28 -lbl_80053A1C: -/* 04E47C 80053A1C 80810084 */ lwz r4, 0x84(r1) -/* 04E480 80053A20 38840001 */ addi r4, r4, 1 -/* 04E484 80053A24 90810084 */ stw r4, 0x84(r1) -lbl_80053A28: -/* 04E488 80053A28 281F0000 */ cmplwi r31, 0 -/* 04E48C 80053A2C 4182002C */ beq lbl_80053A58 -/* 04E490 80053A30 80810084 */ lwz r4, 0x84(r1) -/* 04E494 80053A34 5400801E */ slwi r0, r0, 0x10 -/* 04E498 80053A38 6400FC00 */ oris r0, r0, 0xfc00 -/* 04E49C 80053A3C 38A40001 */ addi r5, r4, 1 -/* 04E4A0 80053A40 54635828 */ slwi r3, r3, 0xb -/* 04E4A4 80053A44 90A10084 */ stw r5, 0x84(r1) -/* 04E4A8 80053A48 7C001B78 */ or r0, r0, r3 -/* 04E4AC 80053A4C 5483103A */ slwi r3, r4, 2 -/* 04E4B0 80053A50 7C1F192E */ stwx r0, r31, r3 -/* 04E4B4 80053A54 48000010 */ b lbl_80053A64 -lbl_80053A58: -/* 04E4B8 80053A58 80610084 */ lwz r3, 0x84(r1) -/* 04E4BC 80053A5C 38030001 */ addi r0, r3, 1 -/* 04E4C0 80053A60 90010084 */ stw r0, 0x84(r1) -lbl_80053A64: -/* 04E4C4 80053A64 281F0000 */ cmplwi r31, 0 -/* 04E4C8 80053A68 41820024 */ beq lbl_80053A8C -/* 04E4CC 80053A6C 80610084 */ lwz r3, 0x84(r1) -/* 04E4D0 80053A70 3C804082 */ lis r4, 0x4082 -/* 04E4D4 80053A74 3884000C */ addi r4, r4, 0xc -/* 04E4D8 80053A78 38030001 */ addi r0, r3, 1 -/* 04E4DC 80053A7C 90010084 */ stw r0, 0x84(r1) -/* 04E4E0 80053A80 5460103A */ slwi r0, r3, 2 -/* 04E4E4 80053A84 7C9F012E */ stwx r4, r31, r0 -/* 04E4E8 80053A88 48000010 */ b lbl_80053A98 -lbl_80053A8C: -/* 04E4EC 80053A8C 80610084 */ lwz r3, 0x84(r1) -/* 04E4F0 80053A90 38030001 */ addi r0, r3, 1 -/* 04E4F4 80053A94 90010084 */ stw r0, 0x84(r1) -lbl_80053A98: -/* 04E4F8 80053A98 281F0000 */ cmplwi r31, 0 -/* 04E4FC 80053A9C 41820024 */ beq lbl_80053AC0 -/* 04E500 80053AA0 80610084 */ lwz r3, 0x84(r1) -/* 04E504 80053AA4 3C8064A5 */ lis r4, 0x64a5 -/* 04E508 80053AA8 38840080 */ addi r4, r4, 0x80 -/* 04E50C 80053AAC 38030001 */ addi r0, r3, 1 -/* 04E510 80053AB0 90010084 */ stw r0, 0x84(r1) -/* 04E514 80053AB4 5460103A */ slwi r0, r3, 2 -/* 04E518 80053AB8 7C9F012E */ stwx r4, r31, r0 -/* 04E51C 80053ABC 48000010 */ b lbl_80053ACC -lbl_80053AC0: -/* 04E520 80053AC0 80610084 */ lwz r3, 0x84(r1) -/* 04E524 80053AC4 38030001 */ addi r0, r3, 1 -/* 04E528 80053AC8 90010084 */ stw r0, 0x84(r1) -lbl_80053ACC: -/* 04E52C 80053ACC 281F0000 */ cmplwi r31, 0 -/* 04E530 80053AD0 41820024 */ beq lbl_80053AF4 -/* 04E534 80053AD4 80610084 */ lwz r3, 0x84(r1) -/* 04E538 80053AD8 3C804280 */ lis r4, 0x4280 -/* 04E53C 80053ADC 38840008 */ addi r4, r4, 8 -/* 04E540 80053AE0 38030001 */ addi r0, r3, 1 -/* 04E544 80053AE4 90010084 */ stw r0, 0x84(r1) -/* 04E548 80053AE8 5460103A */ slwi r0, r3, 2 -/* 04E54C 80053AEC 7C9F012E */ stwx r4, r31, r0 -/* 04E550 80053AF0 48000010 */ b lbl_80053B00 -lbl_80053AF4: -/* 04E554 80053AF4 80610084 */ lwz r3, 0x84(r1) -/* 04E558 80053AF8 38030001 */ addi r0, r3, 1 -/* 04E55C 80053AFC 90010084 */ stw r0, 0x84(r1) -lbl_80053B00: -/* 04E560 80053B00 281F0000 */ cmplwi r31, 0 -/* 04E564 80053B04 41820024 */ beq lbl_80053B28 -/* 04E568 80053B08 80610084 */ lwz r3, 0x84(r1) -/* 04E56C 80053B0C 3C8054A5 */ lis r4, 0x54a5 -/* 04E570 80053B10 3884024E */ addi r4, r4, 0x24e -/* 04E574 80053B14 38030001 */ addi r0, r3, 1 -/* 04E578 80053B18 90010084 */ stw r0, 0x84(r1) -/* 04E57C 80053B1C 5460103A */ slwi r0, r3, 2 -/* 04E580 80053B20 7C9F012E */ stwx r4, r31, r0 -/* 04E584 80053B24 48000010 */ b lbl_80053B34 -lbl_80053B28: -/* 04E588 80053B28 80610084 */ lwz r3, 0x84(r1) -/* 04E58C 80053B2C 38030001 */ addi r0, r3, 1 -/* 04E590 80053B30 90010084 */ stw r0, 0x84(r1) -lbl_80053B34: -/* 04E594 80053B34 281F0000 */ cmplwi r31, 0 -/* 04E598 80053B38 41820028 */ beq lbl_80053B60 -/* 04E59C 80053B3C 80610084 */ lwz r3, 0x84(r1) -/* 04E5A0 80053B40 381E0A3C */ addi r0, r30, 0xa3c -/* 04E5A4 80053B44 7C9E0050 */ subf r4, r30, r0 -/* 04E5A8 80053B48 38030001 */ addi r0, r3, 1 -/* 04E5AC 80053B4C 90010084 */ stw r0, 0x84(r1) -/* 04E5B0 80053B50 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04E5B4 80053B54 5463103A */ slwi r3, r3, 2 -/* 04E5B8 80053B58 7C1F192E */ stwx r0, r31, r3 -/* 04E5BC 80053B5C 480143D8 */ b lbl_80067F34 -lbl_80053B60: -/* 04E5C0 80053B60 80610084 */ lwz r3, 0x84(r1) -/* 04E5C4 80053B64 38030001 */ addi r0, r3, 1 -/* 04E5C8 80053B68 90010084 */ stw r0, 0x84(r1) -/* 04E5CC 80053B6C 480143C8 */ b lbl_80067F34 -.global lbl_80053B70 -lbl_80053B70: -/* 04E5D0 80053B70 281F0000 */ cmplwi r31, 0 -/* 04E5D4 80053B74 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04E5D8 80053B78 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04E5DC 80053B7C 41820028 */ beq lbl_80053BA4 -/* 04E5E0 80053B80 80810084 */ lwz r4, 0x84(r1) -/* 04E5E4 80053B84 38BE0A3C */ addi r5, r30, 0xa3c -/* 04E5E8 80053B88 7CBE2850 */ subf r5, r30, r5 -/* 04E5EC 80053B8C 38C40001 */ addi r6, r4, 1 -/* 04E5F0 80053B90 90C10084 */ stw r6, 0x84(r1) -/* 04E5F4 80053B94 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04E5F8 80053B98 5484103A */ slwi r4, r4, 2 -/* 04E5FC 80053B9C 7CBF212E */ stwx r5, r31, r4 -/* 04E600 80053BA0 48000010 */ b lbl_80053BB0 -lbl_80053BA4: -/* 04E604 80053BA4 80810084 */ lwz r4, 0x84(r1) -/* 04E608 80053BA8 38840001 */ addi r4, r4, 1 -/* 04E60C 80053BAC 90810084 */ stw r4, 0x84(r1) -lbl_80053BB0: -/* 04E610 80053BB0 3C9E0001 */ addis r4, r30, 1 -/* 04E614 80053BB4 80A42064 */ lwz r5, 0x2064(r4) -/* 04E618 80053BB8 28050000 */ cmplwi r5, 0 -/* 04E61C 80053BBC 4082000C */ bne lbl_80053BC8 -/* 04E620 80053BC0 38A00000 */ li r5, 0 -/* 04E624 80053BC4 48000094 */ b lbl_80053C58 -lbl_80053BC8: -/* 04E628 80053BC8 80A42074 */ lwz r5, 0x2074(r4) -/* 04E62C 80053BCC 28050000 */ cmplwi r5, 0 -/* 04E630 80053BD0 4082000C */ bne lbl_80053BDC -/* 04E634 80053BD4 38A00000 */ li r5, 0 -/* 04E638 80053BD8 48000080 */ b lbl_80053C58 -lbl_80053BDC: -/* 04E63C 80053BDC 80842078 */ lwz r4, 0x2078(r4) -/* 04E640 80053BE0 7C002000 */ cmpw r0, r4 -/* 04E644 80053BE4 4182000C */ beq lbl_80053BF0 -/* 04E648 80053BE8 38A00000 */ li r5, 0 -/* 04E64C 80053BEC 4800006C */ b lbl_80053C58 -lbl_80053BF0: -/* 04E650 80053BF0 80DE0034 */ lwz r6, 0x34(r30) -/* 04E654 80053BF4 38A00000 */ li r5, 0 -/* 04E658 80053BF8 80860008 */ lwz r4, 8(r6) -/* 04E65C 80053BFC 2C040000 */ cmpwi r4, 0 -/* 04E660 80053C00 7C8903A6 */ mtctr r4 -/* 04E664 80053C04 40810028 */ ble lbl_80053C2C -lbl_80053C08: -/* 04E668 80053C08 8086000C */ lwz r4, 0xc(r6) -/* 04E66C 80053C0C 38E50004 */ addi r7, r5, 4 -/* 04E670 80053C10 7C84382E */ lwzx r4, r4, r7 -/* 04E674 80053C14 7C1D2000 */ cmpw r29, r4 -/* 04E678 80053C18 4082000C */ bne lbl_80053C24 -/* 04E67C 80053C1C 38800000 */ li r4, 0 -/* 04E680 80053C20 48000010 */ b lbl_80053C30 -lbl_80053C24: -/* 04E684 80053C24 38A50008 */ addi r5, r5, 8 -/* 04E688 80053C28 4200FFE0 */ bdnz lbl_80053C08 -lbl_80053C2C: -/* 04E68C 80053C2C 38800001 */ li r4, 1 -lbl_80053C30: -/* 04E690 80053C30 2C040000 */ cmpwi r4, 0 -/* 04E694 80053C34 40820014 */ bne lbl_80053C48 -/* 04E698 80053C38 38A00000 */ li r5, 0 -/* 04E69C 80053C3C 3C9E0001 */ addis r4, r30, 1 -/* 04E6A0 80053C40 90A42074 */ stw r5, 0x2074(r4) -/* 04E6A4 80053C44 48000014 */ b lbl_80053C58 -lbl_80053C48: -/* 04E6A8 80053C48 3C9E0001 */ addis r4, r30, 1 -/* 04E6AC 80053C4C 38A00000 */ li r5, 0 -/* 04E6B0 80053C50 90A42074 */ stw r5, 0x2074(r4) -/* 04E6B4 80053C54 38A00001 */ li r5, 1 -lbl_80053C58: -/* 04E6B8 80053C58 2C050000 */ cmpwi r5, 0 -/* 04E6BC 80053C5C 41820038 */ beq lbl_80053C94 -/* 04E6C0 80053C60 281F0000 */ cmplwi r31, 0 -/* 04E6C4 80053C64 41820020 */ beq lbl_80053C84 -/* 04E6C8 80053C68 80A10084 */ lwz r5, 0x84(r1) -/* 04E6CC 80053C6C 3CC06000 */ lis r6, 0x6000 -/* 04E6D0 80053C70 38850001 */ addi r4, r5, 1 -/* 04E6D4 80053C74 90810084 */ stw r4, 0x84(r1) -/* 04E6D8 80053C78 54A4103A */ slwi r4, r5, 2 -/* 04E6DC 80053C7C 7CDF212E */ stwx r6, r31, r4 -/* 04E6E0 80053C80 48000064 */ b lbl_80053CE4 -lbl_80053C84: -/* 04E6E4 80053C84 80810084 */ lwz r4, 0x84(r1) -/* 04E6E8 80053C88 38840001 */ addi r4, r4, 1 -/* 04E6EC 80053C8C 90810084 */ stw r4, 0x84(r1) -/* 04E6F0 80053C90 48000054 */ b lbl_80053CE4 -lbl_80053C94: -/* 04E6F4 80053C94 281F0000 */ cmplwi r31, 0 -/* 04E6F8 80053C98 41820040 */ beq lbl_80053CD8 -/* 04E6FC 80053C9C 54041838 */ slwi r4, r0, 3 -/* 04E700 80053CA0 80C10084 */ lwz r6, 0x84(r1) -/* 04E704 80053CA4 38840140 */ addi r4, r4, 0x140 -/* 04E708 80053CA8 7C9E2214 */ add r4, r30, r4 -/* 04E70C 80053CAC 7CBE2050 */ subf r5, r30, r4 -/* 04E710 80053CB0 5404A814 */ slwi r4, r0, 0x15 -/* 04E714 80053CB4 38E50004 */ addi r7, r5, 4 -/* 04E718 80053CB8 38A60001 */ addi r5, r6, 1 -/* 04E71C 80053CBC 90A10084 */ stw r5, 0x84(r1) -/* 04E720 80053CC0 6484C003 */ oris r4, r4, 0xc003 -/* 04E724 80053CC4 54E5043E */ clrlwi r5, r7, 0x10 -/* 04E728 80053CC8 7C842A14 */ add r4, r4, r5 -/* 04E72C 80053CCC 54C5103A */ slwi r5, r6, 2 -/* 04E730 80053CD0 7C9F292E */ stwx r4, r31, r5 -/* 04E734 80053CD4 48000010 */ b lbl_80053CE4 -lbl_80053CD8: -/* 04E738 80053CD8 80810084 */ lwz r4, 0x84(r1) -/* 04E73C 80053CDC 38840001 */ addi r4, r4, 1 -/* 04E740 80053CE0 90810084 */ stw r4, 0x84(r1) -lbl_80053CE4: -/* 04E744 80053CE4 3C9E0001 */ addis r4, r30, 1 -/* 04E748 80053CE8 80A42064 */ lwz r5, 0x2064(r4) -/* 04E74C 80053CEC 28050000 */ cmplwi r5, 0 -/* 04E750 80053CF0 4082000C */ bne lbl_80053CFC -/* 04E754 80053CF4 38A00000 */ li r5, 0 -/* 04E758 80053CF8 48000094 */ b lbl_80053D8C -lbl_80053CFC: -/* 04E75C 80053CFC 80A42074 */ lwz r5, 0x2074(r4) -/* 04E760 80053D00 28050000 */ cmplwi r5, 0 -/* 04E764 80053D04 4082000C */ bne lbl_80053D10 -/* 04E768 80053D08 38A00000 */ li r5, 0 -/* 04E76C 80053D0C 48000080 */ b lbl_80053D8C -lbl_80053D10: -/* 04E770 80053D10 80842078 */ lwz r4, 0x2078(r4) -/* 04E774 80053D14 7C032000 */ cmpw r3, r4 -/* 04E778 80053D18 4182000C */ beq lbl_80053D24 -/* 04E77C 80053D1C 38A00000 */ li r5, 0 -/* 04E780 80053D20 4800006C */ b lbl_80053D8C -lbl_80053D24: -/* 04E784 80053D24 80DE0034 */ lwz r6, 0x34(r30) -/* 04E788 80053D28 38A00000 */ li r5, 0 -/* 04E78C 80053D2C 80860008 */ lwz r4, 8(r6) -/* 04E790 80053D30 2C040000 */ cmpwi r4, 0 -/* 04E794 80053D34 7C8903A6 */ mtctr r4 -/* 04E798 80053D38 40810028 */ ble lbl_80053D60 -lbl_80053D3C: -/* 04E79C 80053D3C 8086000C */ lwz r4, 0xc(r6) -/* 04E7A0 80053D40 38E50004 */ addi r7, r5, 4 -/* 04E7A4 80053D44 7C84382E */ lwzx r4, r4, r7 -/* 04E7A8 80053D48 7C1D2000 */ cmpw r29, r4 -/* 04E7AC 80053D4C 4082000C */ bne lbl_80053D58 -/* 04E7B0 80053D50 38800000 */ li r4, 0 -/* 04E7B4 80053D54 48000010 */ b lbl_80053D64 -lbl_80053D58: -/* 04E7B8 80053D58 38A50008 */ addi r5, r5, 8 -/* 04E7BC 80053D5C 4200FFE0 */ bdnz lbl_80053D3C -lbl_80053D60: -/* 04E7C0 80053D60 38800001 */ li r4, 1 -lbl_80053D64: -/* 04E7C4 80053D64 2C040000 */ cmpwi r4, 0 -/* 04E7C8 80053D68 40820014 */ bne lbl_80053D7C -/* 04E7CC 80053D6C 38A00000 */ li r5, 0 -/* 04E7D0 80053D70 3C9E0001 */ addis r4, r30, 1 -/* 04E7D4 80053D74 90A42074 */ stw r5, 0x2074(r4) -/* 04E7D8 80053D78 48000014 */ b lbl_80053D8C -lbl_80053D7C: -/* 04E7DC 80053D7C 3C9E0001 */ addis r4, r30, 1 -/* 04E7E0 80053D80 38A00000 */ li r5, 0 -/* 04E7E4 80053D84 90A42074 */ stw r5, 0x2074(r4) -/* 04E7E8 80053D88 38A00001 */ li r5, 1 -lbl_80053D8C: -/* 04E7EC 80053D8C 2C050000 */ cmpwi r5, 0 -/* 04E7F0 80053D90 41820038 */ beq lbl_80053DC8 -/* 04E7F4 80053D94 281F0000 */ cmplwi r31, 0 -/* 04E7F8 80053D98 41820020 */ beq lbl_80053DB8 -/* 04E7FC 80053D9C 80A10084 */ lwz r5, 0x84(r1) -/* 04E800 80053DA0 3CC06000 */ lis r6, 0x6000 -/* 04E804 80053DA4 38850001 */ addi r4, r5, 1 -/* 04E808 80053DA8 90810084 */ stw r4, 0x84(r1) -/* 04E80C 80053DAC 54A4103A */ slwi r4, r5, 2 -/* 04E810 80053DB0 7CDF212E */ stwx r6, r31, r4 -/* 04E814 80053DB4 48000064 */ b lbl_80053E18 -lbl_80053DB8: -/* 04E818 80053DB8 80810084 */ lwz r4, 0x84(r1) -/* 04E81C 80053DBC 38840001 */ addi r4, r4, 1 -/* 04E820 80053DC0 90810084 */ stw r4, 0x84(r1) -/* 04E824 80053DC4 48000054 */ b lbl_80053E18 -lbl_80053DC8: -/* 04E828 80053DC8 281F0000 */ cmplwi r31, 0 -/* 04E82C 80053DCC 41820040 */ beq lbl_80053E0C -/* 04E830 80053DD0 54641838 */ slwi r4, r3, 3 -/* 04E834 80053DD4 80C10084 */ lwz r6, 0x84(r1) -/* 04E838 80053DD8 38840140 */ addi r4, r4, 0x140 -/* 04E83C 80053DDC 7C9E2214 */ add r4, r30, r4 -/* 04E840 80053DE0 7CBE2050 */ subf r5, r30, r4 -/* 04E844 80053DE4 5464A814 */ slwi r4, r3, 0x15 -/* 04E848 80053DE8 38E50004 */ addi r7, r5, 4 -/* 04E84C 80053DEC 38A60001 */ addi r5, r6, 1 -/* 04E850 80053DF0 90A10084 */ stw r5, 0x84(r1) -/* 04E854 80053DF4 6484C003 */ oris r4, r4, 0xc003 -/* 04E858 80053DF8 54E5043E */ clrlwi r5, r7, 0x10 -/* 04E85C 80053DFC 7C842A14 */ add r4, r4, r5 -/* 04E860 80053E00 54C5103A */ slwi r5, r6, 2 -/* 04E864 80053E04 7C9F292E */ stwx r4, r31, r5 -/* 04E868 80053E08 48000010 */ b lbl_80053E18 -lbl_80053E0C: -/* 04E86C 80053E0C 80810084 */ lwz r4, 0x84(r1) -/* 04E870 80053E10 38840001 */ addi r4, r4, 1 -/* 04E874 80053E14 90810084 */ stw r4, 0x84(r1) -lbl_80053E18: -/* 04E878 80053E18 281F0000 */ cmplwi r31, 0 -/* 04E87C 80053E1C 41820030 */ beq lbl_80053E4C -/* 04E880 80053E20 80810084 */ lwz r4, 0x84(r1) -/* 04E884 80053E24 5400801E */ slwi r0, r0, 0x10 -/* 04E888 80053E28 6405FC00 */ oris r5, r0, 0xfc00 -/* 04E88C 80053E2C 38040001 */ addi r0, r4, 1 -/* 04E890 80053E30 90010084 */ stw r0, 0x84(r1) -/* 04E894 80053E34 60A50040 */ ori r5, r5, 0x40 -/* 04E898 80053E38 54605828 */ slwi r0, r3, 0xb -/* 04E89C 80053E3C 7CA00378 */ or r0, r5, r0 -/* 04E8A0 80053E40 5483103A */ slwi r3, r4, 2 -/* 04E8A4 80053E44 7C1F192E */ stwx r0, r31, r3 -/* 04E8A8 80053E48 48000010 */ b lbl_80053E58 -lbl_80053E4C: -/* 04E8AC 80053E4C 80610084 */ lwz r3, 0x84(r1) -/* 04E8B0 80053E50 38030001 */ addi r0, r3, 1 -/* 04E8B4 80053E54 90010084 */ stw r0, 0x84(r1) -lbl_80053E58: -/* 04E8B8 80053E58 281F0000 */ cmplwi r31, 0 -/* 04E8BC 80053E5C 41820024 */ beq lbl_80053E80 -/* 04E8C0 80053E60 80610084 */ lwz r3, 0x84(r1) -/* 04E8C4 80053E64 3C804080 */ lis r4, 0x4080 -/* 04E8C8 80053E68 3884000C */ addi r4, r4, 0xc -/* 04E8CC 80053E6C 38030001 */ addi r0, r3, 1 -/* 04E8D0 80053E70 90010084 */ stw r0, 0x84(r1) -/* 04E8D4 80053E74 5460103A */ slwi r0, r3, 2 -/* 04E8D8 80053E78 7C9F012E */ stwx r4, r31, r0 -/* 04E8DC 80053E7C 48000010 */ b lbl_80053E8C -lbl_80053E80: -/* 04E8E0 80053E80 80610084 */ lwz r3, 0x84(r1) -/* 04E8E4 80053E84 38030001 */ addi r0, r3, 1 -/* 04E8E8 80053E88 90010084 */ stw r0, 0x84(r1) -lbl_80053E8C: -/* 04E8EC 80053E8C 281F0000 */ cmplwi r31, 0 -/* 04E8F0 80053E90 41820024 */ beq lbl_80053EB4 -/* 04E8F4 80053E94 80610084 */ lwz r3, 0x84(r1) -/* 04E8F8 80053E98 3C8064A5 */ lis r4, 0x64a5 -/* 04E8FC 80053E9C 38840080 */ addi r4, r4, 0x80 -/* 04E900 80053EA0 38030001 */ addi r0, r3, 1 -/* 04E904 80053EA4 90010084 */ stw r0, 0x84(r1) -/* 04E908 80053EA8 5460103A */ slwi r0, r3, 2 -/* 04E90C 80053EAC 7C9F012E */ stwx r4, r31, r0 -/* 04E910 80053EB0 48000010 */ b lbl_80053EC0 -lbl_80053EB4: -/* 04E914 80053EB4 80610084 */ lwz r3, 0x84(r1) -/* 04E918 80053EB8 38030001 */ addi r0, r3, 1 -/* 04E91C 80053EBC 90010084 */ stw r0, 0x84(r1) -lbl_80053EC0: -/* 04E920 80053EC0 281F0000 */ cmplwi r31, 0 -/* 04E924 80053EC4 41820024 */ beq lbl_80053EE8 -/* 04E928 80053EC8 80610084 */ lwz r3, 0x84(r1) -/* 04E92C 80053ECC 3C804280 */ lis r4, 0x4280 -/* 04E930 80053ED0 38840008 */ addi r4, r4, 8 -/* 04E934 80053ED4 38030001 */ addi r0, r3, 1 -/* 04E938 80053ED8 90010084 */ stw r0, 0x84(r1) -/* 04E93C 80053EDC 5460103A */ slwi r0, r3, 2 -/* 04E940 80053EE0 7C9F012E */ stwx r4, r31, r0 -/* 04E944 80053EE4 48000010 */ b lbl_80053EF4 -lbl_80053EE8: -/* 04E948 80053EE8 80610084 */ lwz r3, 0x84(r1) -/* 04E94C 80053EEC 38030001 */ addi r0, r3, 1 -/* 04E950 80053EF0 90010084 */ stw r0, 0x84(r1) -lbl_80053EF4: -/* 04E954 80053EF4 281F0000 */ cmplwi r31, 0 -/* 04E958 80053EF8 41820024 */ beq lbl_80053F1C -/* 04E95C 80053EFC 80610084 */ lwz r3, 0x84(r1) -/* 04E960 80053F00 3C8054A5 */ lis r4, 0x54a5 -/* 04E964 80053F04 3884024E */ addi r4, r4, 0x24e -/* 04E968 80053F08 38030001 */ addi r0, r3, 1 -/* 04E96C 80053F0C 90010084 */ stw r0, 0x84(r1) -/* 04E970 80053F10 5460103A */ slwi r0, r3, 2 -/* 04E974 80053F14 7C9F012E */ stwx r4, r31, r0 -/* 04E978 80053F18 48000010 */ b lbl_80053F28 -lbl_80053F1C: -/* 04E97C 80053F1C 80610084 */ lwz r3, 0x84(r1) -/* 04E980 80053F20 38030001 */ addi r0, r3, 1 -/* 04E984 80053F24 90010084 */ stw r0, 0x84(r1) -lbl_80053F28: -/* 04E988 80053F28 281F0000 */ cmplwi r31, 0 -/* 04E98C 80053F2C 41820028 */ beq lbl_80053F54 -/* 04E990 80053F30 80610084 */ lwz r3, 0x84(r1) -/* 04E994 80053F34 381E0A3C */ addi r0, r30, 0xa3c -/* 04E998 80053F38 7C9E0050 */ subf r4, r30, r0 -/* 04E99C 80053F3C 38030001 */ addi r0, r3, 1 -/* 04E9A0 80053F40 90010084 */ stw r0, 0x84(r1) -/* 04E9A4 80053F44 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04E9A8 80053F48 5463103A */ slwi r3, r3, 2 -/* 04E9AC 80053F4C 7C1F192E */ stwx r0, r31, r3 -/* 04E9B0 80053F50 48013FE4 */ b lbl_80067F34 -lbl_80053F54: -/* 04E9B4 80053F54 80610084 */ lwz r3, 0x84(r1) -/* 04E9B8 80053F58 38030001 */ addi r0, r3, 1 -/* 04E9BC 80053F5C 90010084 */ stw r0, 0x84(r1) -/* 04E9C0 80053F60 48013FD4 */ b lbl_80067F34 -.global lbl_80053F64 -lbl_80053F64: -/* 04E9C4 80053F64 281F0000 */ cmplwi r31, 0 -/* 04E9C8 80053F68 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04E9CC 80053F6C 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04E9D0 80053F70 41820028 */ beq lbl_80053F98 -/* 04E9D4 80053F74 80810084 */ lwz r4, 0x84(r1) -/* 04E9D8 80053F78 38BE0A3C */ addi r5, r30, 0xa3c -/* 04E9DC 80053F7C 7CBE2850 */ subf r5, r30, r5 -/* 04E9E0 80053F80 38C40001 */ addi r6, r4, 1 -/* 04E9E4 80053F84 90C10084 */ stw r6, 0x84(r1) -/* 04E9E8 80053F88 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04E9EC 80053F8C 5484103A */ slwi r4, r4, 2 -/* 04E9F0 80053F90 7CBF212E */ stwx r5, r31, r4 -/* 04E9F4 80053F94 48000010 */ b lbl_80053FA4 -lbl_80053F98: -/* 04E9F8 80053F98 80810084 */ lwz r4, 0x84(r1) -/* 04E9FC 80053F9C 38840001 */ addi r4, r4, 1 -/* 04EA00 80053FA0 90810084 */ stw r4, 0x84(r1) -lbl_80053FA4: -/* 04EA04 80053FA4 3C9E0001 */ addis r4, r30, 1 -/* 04EA08 80053FA8 80A42064 */ lwz r5, 0x2064(r4) -/* 04EA0C 80053FAC 28050000 */ cmplwi r5, 0 -/* 04EA10 80053FB0 4082000C */ bne lbl_80053FBC -/* 04EA14 80053FB4 38A00000 */ li r5, 0 -/* 04EA18 80053FB8 48000094 */ b lbl_8005404C -lbl_80053FBC: -/* 04EA1C 80053FBC 80A42074 */ lwz r5, 0x2074(r4) -/* 04EA20 80053FC0 28050000 */ cmplwi r5, 0 -/* 04EA24 80053FC4 4082000C */ bne lbl_80053FD0 -/* 04EA28 80053FC8 38A00000 */ li r5, 0 -/* 04EA2C 80053FCC 48000080 */ b lbl_8005404C -lbl_80053FD0: -/* 04EA30 80053FD0 80842078 */ lwz r4, 0x2078(r4) -/* 04EA34 80053FD4 7C002000 */ cmpw r0, r4 -/* 04EA38 80053FD8 4182000C */ beq lbl_80053FE4 -/* 04EA3C 80053FDC 38A00000 */ li r5, 0 -/* 04EA40 80053FE0 4800006C */ b lbl_8005404C -lbl_80053FE4: -/* 04EA44 80053FE4 80DE0034 */ lwz r6, 0x34(r30) -/* 04EA48 80053FE8 38A00000 */ li r5, 0 -/* 04EA4C 80053FEC 80860008 */ lwz r4, 8(r6) -/* 04EA50 80053FF0 2C040000 */ cmpwi r4, 0 -/* 04EA54 80053FF4 7C8903A6 */ mtctr r4 -/* 04EA58 80053FF8 40810028 */ ble lbl_80054020 -lbl_80053FFC: -/* 04EA5C 80053FFC 8086000C */ lwz r4, 0xc(r6) -/* 04EA60 80054000 38E50004 */ addi r7, r5, 4 -/* 04EA64 80054004 7C84382E */ lwzx r4, r4, r7 -/* 04EA68 80054008 7C1D2000 */ cmpw r29, r4 -/* 04EA6C 8005400C 4082000C */ bne lbl_80054018 -/* 04EA70 80054010 38800000 */ li r4, 0 -/* 04EA74 80054014 48000010 */ b lbl_80054024 -lbl_80054018: -/* 04EA78 80054018 38A50008 */ addi r5, r5, 8 -/* 04EA7C 8005401C 4200FFE0 */ bdnz lbl_80053FFC -lbl_80054020: -/* 04EA80 80054020 38800001 */ li r4, 1 -lbl_80054024: -/* 04EA84 80054024 2C040000 */ cmpwi r4, 0 -/* 04EA88 80054028 40820014 */ bne lbl_8005403C -/* 04EA8C 8005402C 38A00000 */ li r5, 0 -/* 04EA90 80054030 3C9E0001 */ addis r4, r30, 1 -/* 04EA94 80054034 90A42074 */ stw r5, 0x2074(r4) -/* 04EA98 80054038 48000014 */ b lbl_8005404C -lbl_8005403C: -/* 04EA9C 8005403C 3C9E0001 */ addis r4, r30, 1 -/* 04EAA0 80054040 38A00000 */ li r5, 0 -/* 04EAA4 80054044 90A42074 */ stw r5, 0x2074(r4) -/* 04EAA8 80054048 38A00001 */ li r5, 1 -lbl_8005404C: -/* 04EAAC 8005404C 2C050000 */ cmpwi r5, 0 -/* 04EAB0 80054050 41820038 */ beq lbl_80054088 -/* 04EAB4 80054054 281F0000 */ cmplwi r31, 0 -/* 04EAB8 80054058 41820020 */ beq lbl_80054078 -/* 04EABC 8005405C 80A10084 */ lwz r5, 0x84(r1) -/* 04EAC0 80054060 3CC06000 */ lis r6, 0x6000 -/* 04EAC4 80054064 38850001 */ addi r4, r5, 1 -/* 04EAC8 80054068 90810084 */ stw r4, 0x84(r1) -/* 04EACC 8005406C 54A4103A */ slwi r4, r5, 2 -/* 04EAD0 80054070 7CDF212E */ stwx r6, r31, r4 -/* 04EAD4 80054074 48000064 */ b lbl_800540D8 -lbl_80054078: -/* 04EAD8 80054078 80810084 */ lwz r4, 0x84(r1) -/* 04EADC 8005407C 38840001 */ addi r4, r4, 1 -/* 04EAE0 80054080 90810084 */ stw r4, 0x84(r1) -/* 04EAE4 80054084 48000054 */ b lbl_800540D8 -lbl_80054088: -/* 04EAE8 80054088 281F0000 */ cmplwi r31, 0 -/* 04EAEC 8005408C 41820040 */ beq lbl_800540CC -/* 04EAF0 80054090 54041838 */ slwi r4, r0, 3 -/* 04EAF4 80054094 80C10084 */ lwz r6, 0x84(r1) -/* 04EAF8 80054098 38840140 */ addi r4, r4, 0x140 -/* 04EAFC 8005409C 7C9E2214 */ add r4, r30, r4 -/* 04EB00 800540A0 7CBE2050 */ subf r5, r30, r4 -/* 04EB04 800540A4 5404A814 */ slwi r4, r0, 0x15 -/* 04EB08 800540A8 38E50004 */ addi r7, r5, 4 -/* 04EB0C 800540AC 38A60001 */ addi r5, r6, 1 -/* 04EB10 800540B0 90A10084 */ stw r5, 0x84(r1) -/* 04EB14 800540B4 6484C003 */ oris r4, r4, 0xc003 -/* 04EB18 800540B8 54E5043E */ clrlwi r5, r7, 0x10 -/* 04EB1C 800540BC 7C842A14 */ add r4, r4, r5 -/* 04EB20 800540C0 54C5103A */ slwi r5, r6, 2 -/* 04EB24 800540C4 7C9F292E */ stwx r4, r31, r5 -/* 04EB28 800540C8 48000010 */ b lbl_800540D8 -lbl_800540CC: -/* 04EB2C 800540CC 80810084 */ lwz r4, 0x84(r1) -/* 04EB30 800540D0 38840001 */ addi r4, r4, 1 -/* 04EB34 800540D4 90810084 */ stw r4, 0x84(r1) -lbl_800540D8: -/* 04EB38 800540D8 3C9E0001 */ addis r4, r30, 1 -/* 04EB3C 800540DC 80A42064 */ lwz r5, 0x2064(r4) -/* 04EB40 800540E0 28050000 */ cmplwi r5, 0 -/* 04EB44 800540E4 4082000C */ bne lbl_800540F0 -/* 04EB48 800540E8 38A00000 */ li r5, 0 -/* 04EB4C 800540EC 48000094 */ b lbl_80054180 -lbl_800540F0: -/* 04EB50 800540F0 80A42074 */ lwz r5, 0x2074(r4) -/* 04EB54 800540F4 28050000 */ cmplwi r5, 0 -/* 04EB58 800540F8 4082000C */ bne lbl_80054104 -/* 04EB5C 800540FC 38A00000 */ li r5, 0 -/* 04EB60 80054100 48000080 */ b lbl_80054180 -lbl_80054104: -/* 04EB64 80054104 80842078 */ lwz r4, 0x2078(r4) -/* 04EB68 80054108 7C032000 */ cmpw r3, r4 -/* 04EB6C 8005410C 4182000C */ beq lbl_80054118 -/* 04EB70 80054110 38A00000 */ li r5, 0 -/* 04EB74 80054114 4800006C */ b lbl_80054180 -lbl_80054118: -/* 04EB78 80054118 80DE0034 */ lwz r6, 0x34(r30) -/* 04EB7C 8005411C 38A00000 */ li r5, 0 -/* 04EB80 80054120 80860008 */ lwz r4, 8(r6) -/* 04EB84 80054124 2C040000 */ cmpwi r4, 0 -/* 04EB88 80054128 7C8903A6 */ mtctr r4 -/* 04EB8C 8005412C 40810028 */ ble lbl_80054154 -lbl_80054130: -/* 04EB90 80054130 8086000C */ lwz r4, 0xc(r6) -/* 04EB94 80054134 38E50004 */ addi r7, r5, 4 -/* 04EB98 80054138 7C84382E */ lwzx r4, r4, r7 -/* 04EB9C 8005413C 7C1D2000 */ cmpw r29, r4 -/* 04EBA0 80054140 4082000C */ bne lbl_8005414C -/* 04EBA4 80054144 38800000 */ li r4, 0 -/* 04EBA8 80054148 48000010 */ b lbl_80054158 -lbl_8005414C: -/* 04EBAC 8005414C 38A50008 */ addi r5, r5, 8 -/* 04EBB0 80054150 4200FFE0 */ bdnz lbl_80054130 -lbl_80054154: -/* 04EBB4 80054154 38800001 */ li r4, 1 -lbl_80054158: -/* 04EBB8 80054158 2C040000 */ cmpwi r4, 0 -/* 04EBBC 8005415C 40820014 */ bne lbl_80054170 -/* 04EBC0 80054160 38A00000 */ li r5, 0 -/* 04EBC4 80054164 3C9E0001 */ addis r4, r30, 1 -/* 04EBC8 80054168 90A42074 */ stw r5, 0x2074(r4) -/* 04EBCC 8005416C 48000014 */ b lbl_80054180 -lbl_80054170: -/* 04EBD0 80054170 3C9E0001 */ addis r4, r30, 1 -/* 04EBD4 80054174 38A00000 */ li r5, 0 -/* 04EBD8 80054178 90A42074 */ stw r5, 0x2074(r4) -/* 04EBDC 8005417C 38A00001 */ li r5, 1 -lbl_80054180: -/* 04EBE0 80054180 2C050000 */ cmpwi r5, 0 -/* 04EBE4 80054184 41820038 */ beq lbl_800541BC -/* 04EBE8 80054188 281F0000 */ cmplwi r31, 0 -/* 04EBEC 8005418C 41820020 */ beq lbl_800541AC -/* 04EBF0 80054190 80A10084 */ lwz r5, 0x84(r1) -/* 04EBF4 80054194 3CC06000 */ lis r6, 0x6000 -/* 04EBF8 80054198 38850001 */ addi r4, r5, 1 -/* 04EBFC 8005419C 90810084 */ stw r4, 0x84(r1) -/* 04EC00 800541A0 54A4103A */ slwi r4, r5, 2 -/* 04EC04 800541A4 7CDF212E */ stwx r6, r31, r4 -/* 04EC08 800541A8 48000064 */ b lbl_8005420C -lbl_800541AC: -/* 04EC0C 800541AC 80810084 */ lwz r4, 0x84(r1) -/* 04EC10 800541B0 38840001 */ addi r4, r4, 1 -/* 04EC14 800541B4 90810084 */ stw r4, 0x84(r1) -/* 04EC18 800541B8 48000054 */ b lbl_8005420C -lbl_800541BC: -/* 04EC1C 800541BC 281F0000 */ cmplwi r31, 0 -/* 04EC20 800541C0 41820040 */ beq lbl_80054200 -/* 04EC24 800541C4 54641838 */ slwi r4, r3, 3 -/* 04EC28 800541C8 80C10084 */ lwz r6, 0x84(r1) -/* 04EC2C 800541CC 38840140 */ addi r4, r4, 0x140 -/* 04EC30 800541D0 7C9E2214 */ add r4, r30, r4 -/* 04EC34 800541D4 7CBE2050 */ subf r5, r30, r4 -/* 04EC38 800541D8 5464A814 */ slwi r4, r3, 0x15 -/* 04EC3C 800541DC 38E50004 */ addi r7, r5, 4 -/* 04EC40 800541E0 38A60001 */ addi r5, r6, 1 -/* 04EC44 800541E4 90A10084 */ stw r5, 0x84(r1) -/* 04EC48 800541E8 6484C003 */ oris r4, r4, 0xc003 -/* 04EC4C 800541EC 54E5043E */ clrlwi r5, r7, 0x10 -/* 04EC50 800541F0 7C842A14 */ add r4, r4, r5 -/* 04EC54 800541F4 54C5103A */ slwi r5, r6, 2 -/* 04EC58 800541F8 7C9F292E */ stwx r4, r31, r5 -/* 04EC5C 800541FC 48000010 */ b lbl_8005420C -lbl_80054200: -/* 04EC60 80054200 80810084 */ lwz r4, 0x84(r1) -/* 04EC64 80054204 38840001 */ addi r4, r4, 1 -/* 04EC68 80054208 90810084 */ stw r4, 0x84(r1) -lbl_8005420C: -/* 04EC6C 8005420C 281F0000 */ cmplwi r31, 0 -/* 04EC70 80054210 41820030 */ beq lbl_80054240 -/* 04EC74 80054214 80810084 */ lwz r4, 0x84(r1) -/* 04EC78 80054218 5400801E */ slwi r0, r0, 0x10 -/* 04EC7C 8005421C 6405FC00 */ oris r5, r0, 0xfc00 -/* 04EC80 80054220 38040001 */ addi r0, r4, 1 -/* 04EC84 80054224 90010084 */ stw r0, 0x84(r1) -/* 04EC88 80054228 60A50040 */ ori r5, r5, 0x40 -/* 04EC8C 8005422C 54605828 */ slwi r0, r3, 0xb -/* 04EC90 80054230 7CA00378 */ or r0, r5, r0 -/* 04EC94 80054234 5483103A */ slwi r3, r4, 2 -/* 04EC98 80054238 7C1F192E */ stwx r0, r31, r3 -/* 04EC9C 8005423C 48000010 */ b lbl_8005424C -lbl_80054240: -/* 04ECA0 80054240 80610084 */ lwz r3, 0x84(r1) -/* 04ECA4 80054244 38030001 */ addi r0, r3, 1 -/* 04ECA8 80054248 90010084 */ stw r0, 0x84(r1) -lbl_8005424C: -/* 04ECAC 8005424C 281F0000 */ cmplwi r31, 0 -/* 04ECB0 80054250 41820024 */ beq lbl_80054274 -/* 04ECB4 80054254 80610084 */ lwz r3, 0x84(r1) -/* 04ECB8 80054258 3C804080 */ lis r4, 0x4080 -/* 04ECBC 8005425C 3884000C */ addi r4, r4, 0xc -/* 04ECC0 80054260 38030001 */ addi r0, r3, 1 -/* 04ECC4 80054264 90010084 */ stw r0, 0x84(r1) -/* 04ECC8 80054268 5460103A */ slwi r0, r3, 2 -/* 04ECCC 8005426C 7C9F012E */ stwx r4, r31, r0 -/* 04ECD0 80054270 48000010 */ b lbl_80054280 -lbl_80054274: -/* 04ECD4 80054274 80610084 */ lwz r3, 0x84(r1) -/* 04ECD8 80054278 38030001 */ addi r0, r3, 1 -/* 04ECDC 8005427C 90010084 */ stw r0, 0x84(r1) -lbl_80054280: -/* 04ECE0 80054280 281F0000 */ cmplwi r31, 0 -/* 04ECE4 80054284 41820024 */ beq lbl_800542A8 -/* 04ECE8 80054288 80610084 */ lwz r3, 0x84(r1) -/* 04ECEC 8005428C 3C8064A5 */ lis r4, 0x64a5 -/* 04ECF0 80054290 38840080 */ addi r4, r4, 0x80 -/* 04ECF4 80054294 38030001 */ addi r0, r3, 1 -/* 04ECF8 80054298 90010084 */ stw r0, 0x84(r1) -/* 04ECFC 8005429C 5460103A */ slwi r0, r3, 2 -/* 04ED00 800542A0 7C9F012E */ stwx r4, r31, r0 -/* 04ED04 800542A4 48000010 */ b lbl_800542B4 -lbl_800542A8: -/* 04ED08 800542A8 80610084 */ lwz r3, 0x84(r1) -/* 04ED0C 800542AC 38030001 */ addi r0, r3, 1 -/* 04ED10 800542B0 90010084 */ stw r0, 0x84(r1) -lbl_800542B4: -/* 04ED14 800542B4 281F0000 */ cmplwi r31, 0 -/* 04ED18 800542B8 41820024 */ beq lbl_800542DC -/* 04ED1C 800542BC 80610084 */ lwz r3, 0x84(r1) -/* 04ED20 800542C0 3C804280 */ lis r4, 0x4280 -/* 04ED24 800542C4 38840008 */ addi r4, r4, 8 -/* 04ED28 800542C8 38030001 */ addi r0, r3, 1 -/* 04ED2C 800542CC 90010084 */ stw r0, 0x84(r1) -/* 04ED30 800542D0 5460103A */ slwi r0, r3, 2 -/* 04ED34 800542D4 7C9F012E */ stwx r4, r31, r0 -/* 04ED38 800542D8 48000010 */ b lbl_800542E8 -lbl_800542DC: -/* 04ED3C 800542DC 80610084 */ lwz r3, 0x84(r1) -/* 04ED40 800542E0 38030001 */ addi r0, r3, 1 -/* 04ED44 800542E4 90010084 */ stw r0, 0x84(r1) -lbl_800542E8: -/* 04ED48 800542E8 281F0000 */ cmplwi r31, 0 -/* 04ED4C 800542EC 41820024 */ beq lbl_80054310 -/* 04ED50 800542F0 80610084 */ lwz r3, 0x84(r1) -/* 04ED54 800542F4 3C8054A5 */ lis r4, 0x54a5 -/* 04ED58 800542F8 3884024E */ addi r4, r4, 0x24e -/* 04ED5C 800542FC 38030001 */ addi r0, r3, 1 -/* 04ED60 80054300 90010084 */ stw r0, 0x84(r1) -/* 04ED64 80054304 5460103A */ slwi r0, r3, 2 -/* 04ED68 80054308 7C9F012E */ stwx r4, r31, r0 -/* 04ED6C 8005430C 48000010 */ b lbl_8005431C -lbl_80054310: -/* 04ED70 80054310 80610084 */ lwz r3, 0x84(r1) -/* 04ED74 80054314 38030001 */ addi r0, r3, 1 -/* 04ED78 80054318 90010084 */ stw r0, 0x84(r1) -lbl_8005431C: -/* 04ED7C 8005431C 281F0000 */ cmplwi r31, 0 -/* 04ED80 80054320 41820028 */ beq lbl_80054348 -/* 04ED84 80054324 80610084 */ lwz r3, 0x84(r1) -/* 04ED88 80054328 381E0A3C */ addi r0, r30, 0xa3c -/* 04ED8C 8005432C 7C9E0050 */ subf r4, r30, r0 -/* 04ED90 80054330 38030001 */ addi r0, r3, 1 -/* 04ED94 80054334 90010084 */ stw r0, 0x84(r1) -/* 04ED98 80054338 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04ED9C 8005433C 5463103A */ slwi r3, r3, 2 -/* 04EDA0 80054340 7C1F192E */ stwx r0, r31, r3 -/* 04EDA4 80054344 48013BF0 */ b lbl_80067F34 -lbl_80054348: -/* 04EDA8 80054348 80610084 */ lwz r3, 0x84(r1) -/* 04EDAC 8005434C 38030001 */ addi r0, r3, 1 -/* 04EDB0 80054350 90010084 */ stw r0, 0x84(r1) -/* 04EDB4 80054354 48013BE0 */ b lbl_80067F34 -.global lbl_80054358 -lbl_80054358: -/* 04EDB8 80054358 281F0000 */ cmplwi r31, 0 -/* 04EDBC 8005435C 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04EDC0 80054360 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04EDC4 80054364 41820028 */ beq lbl_8005438C -/* 04EDC8 80054368 80810084 */ lwz r4, 0x84(r1) -/* 04EDCC 8005436C 38BE0A3C */ addi r5, r30, 0xa3c -/* 04EDD0 80054370 7CBE2850 */ subf r5, r30, r5 -/* 04EDD4 80054374 38C40001 */ addi r6, r4, 1 -/* 04EDD8 80054378 90C10084 */ stw r6, 0x84(r1) -/* 04EDDC 8005437C 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04EDE0 80054380 5484103A */ slwi r4, r4, 2 -/* 04EDE4 80054384 7CBF212E */ stwx r5, r31, r4 -/* 04EDE8 80054388 48000010 */ b lbl_80054398 -lbl_8005438C: -/* 04EDEC 8005438C 80810084 */ lwz r4, 0x84(r1) -/* 04EDF0 80054390 38840001 */ addi r4, r4, 1 -/* 04EDF4 80054394 90810084 */ stw r4, 0x84(r1) -lbl_80054398: -/* 04EDF8 80054398 3C9E0001 */ addis r4, r30, 1 -/* 04EDFC 8005439C 80A42064 */ lwz r5, 0x2064(r4) -/* 04EE00 800543A0 28050000 */ cmplwi r5, 0 -/* 04EE04 800543A4 4082000C */ bne lbl_800543B0 -/* 04EE08 800543A8 38A00000 */ li r5, 0 -/* 04EE0C 800543AC 48000094 */ b lbl_80054440 -lbl_800543B0: -/* 04EE10 800543B0 80A42074 */ lwz r5, 0x2074(r4) -/* 04EE14 800543B4 28050000 */ cmplwi r5, 0 -/* 04EE18 800543B8 4082000C */ bne lbl_800543C4 -/* 04EE1C 800543BC 38A00000 */ li r5, 0 -/* 04EE20 800543C0 48000080 */ b lbl_80054440 -lbl_800543C4: -/* 04EE24 800543C4 80842078 */ lwz r4, 0x2078(r4) -/* 04EE28 800543C8 7C002000 */ cmpw r0, r4 -/* 04EE2C 800543CC 4182000C */ beq lbl_800543D8 -/* 04EE30 800543D0 38A00000 */ li r5, 0 -/* 04EE34 800543D4 4800006C */ b lbl_80054440 -lbl_800543D8: -/* 04EE38 800543D8 80DE0034 */ lwz r6, 0x34(r30) -/* 04EE3C 800543DC 38A00000 */ li r5, 0 -/* 04EE40 800543E0 80860008 */ lwz r4, 8(r6) -/* 04EE44 800543E4 2C040000 */ cmpwi r4, 0 -/* 04EE48 800543E8 7C8903A6 */ mtctr r4 -/* 04EE4C 800543EC 40810028 */ ble lbl_80054414 -lbl_800543F0: -/* 04EE50 800543F0 8086000C */ lwz r4, 0xc(r6) -/* 04EE54 800543F4 38E50004 */ addi r7, r5, 4 -/* 04EE58 800543F8 7C84382E */ lwzx r4, r4, r7 -/* 04EE5C 800543FC 7C1D2000 */ cmpw r29, r4 -/* 04EE60 80054400 4082000C */ bne lbl_8005440C -/* 04EE64 80054404 38800000 */ li r4, 0 -/* 04EE68 80054408 48000010 */ b lbl_80054418 -lbl_8005440C: -/* 04EE6C 8005440C 38A50008 */ addi r5, r5, 8 -/* 04EE70 80054410 4200FFE0 */ bdnz lbl_800543F0 -lbl_80054414: -/* 04EE74 80054414 38800001 */ li r4, 1 -lbl_80054418: -/* 04EE78 80054418 2C040000 */ cmpwi r4, 0 -/* 04EE7C 8005441C 40820014 */ bne lbl_80054430 -/* 04EE80 80054420 38A00000 */ li r5, 0 -/* 04EE84 80054424 3C9E0001 */ addis r4, r30, 1 -/* 04EE88 80054428 90A42074 */ stw r5, 0x2074(r4) -/* 04EE8C 8005442C 48000014 */ b lbl_80054440 -lbl_80054430: -/* 04EE90 80054430 3C9E0001 */ addis r4, r30, 1 -/* 04EE94 80054434 38A00000 */ li r5, 0 -/* 04EE98 80054438 90A42074 */ stw r5, 0x2074(r4) -/* 04EE9C 8005443C 38A00001 */ li r5, 1 -lbl_80054440: -/* 04EEA0 80054440 2C050000 */ cmpwi r5, 0 -/* 04EEA4 80054444 41820038 */ beq lbl_8005447C -/* 04EEA8 80054448 281F0000 */ cmplwi r31, 0 -/* 04EEAC 8005444C 41820020 */ beq lbl_8005446C -/* 04EEB0 80054450 80A10084 */ lwz r5, 0x84(r1) -/* 04EEB4 80054454 3CC06000 */ lis r6, 0x6000 -/* 04EEB8 80054458 38850001 */ addi r4, r5, 1 -/* 04EEBC 8005445C 90810084 */ stw r4, 0x84(r1) -/* 04EEC0 80054460 54A4103A */ slwi r4, r5, 2 -/* 04EEC4 80054464 7CDF212E */ stwx r6, r31, r4 -/* 04EEC8 80054468 48000064 */ b lbl_800544CC -lbl_8005446C: -/* 04EECC 8005446C 80810084 */ lwz r4, 0x84(r1) -/* 04EED0 80054470 38840001 */ addi r4, r4, 1 -/* 04EED4 80054474 90810084 */ stw r4, 0x84(r1) -/* 04EED8 80054478 48000054 */ b lbl_800544CC -lbl_8005447C: -/* 04EEDC 8005447C 281F0000 */ cmplwi r31, 0 -/* 04EEE0 80054480 41820040 */ beq lbl_800544C0 -/* 04EEE4 80054484 54041838 */ slwi r4, r0, 3 -/* 04EEE8 80054488 80C10084 */ lwz r6, 0x84(r1) -/* 04EEEC 8005448C 38840140 */ addi r4, r4, 0x140 -/* 04EEF0 80054490 7C9E2214 */ add r4, r30, r4 -/* 04EEF4 80054494 7CBE2050 */ subf r5, r30, r4 -/* 04EEF8 80054498 5404A814 */ slwi r4, r0, 0x15 -/* 04EEFC 8005449C 38E50004 */ addi r7, r5, 4 -/* 04EF00 800544A0 38A60001 */ addi r5, r6, 1 -/* 04EF04 800544A4 90A10084 */ stw r5, 0x84(r1) -/* 04EF08 800544A8 6484C003 */ oris r4, r4, 0xc003 -/* 04EF0C 800544AC 54E5043E */ clrlwi r5, r7, 0x10 -/* 04EF10 800544B0 7C842A14 */ add r4, r4, r5 -/* 04EF14 800544B4 54C5103A */ slwi r5, r6, 2 -/* 04EF18 800544B8 7C9F292E */ stwx r4, r31, r5 -/* 04EF1C 800544BC 48000010 */ b lbl_800544CC -lbl_800544C0: -/* 04EF20 800544C0 80810084 */ lwz r4, 0x84(r1) -/* 04EF24 800544C4 38840001 */ addi r4, r4, 1 -/* 04EF28 800544C8 90810084 */ stw r4, 0x84(r1) -lbl_800544CC: -/* 04EF2C 800544CC 3C9E0001 */ addis r4, r30, 1 -/* 04EF30 800544D0 80A42064 */ lwz r5, 0x2064(r4) -/* 04EF34 800544D4 28050000 */ cmplwi r5, 0 -/* 04EF38 800544D8 4082000C */ bne lbl_800544E4 -/* 04EF3C 800544DC 38A00000 */ li r5, 0 -/* 04EF40 800544E0 48000094 */ b lbl_80054574 -lbl_800544E4: -/* 04EF44 800544E4 80A42074 */ lwz r5, 0x2074(r4) -/* 04EF48 800544E8 28050000 */ cmplwi r5, 0 -/* 04EF4C 800544EC 4082000C */ bne lbl_800544F8 -/* 04EF50 800544F0 38A00000 */ li r5, 0 -/* 04EF54 800544F4 48000080 */ b lbl_80054574 -lbl_800544F8: -/* 04EF58 800544F8 80842078 */ lwz r4, 0x2078(r4) -/* 04EF5C 800544FC 7C032000 */ cmpw r3, r4 -/* 04EF60 80054500 4182000C */ beq lbl_8005450C -/* 04EF64 80054504 38A00000 */ li r5, 0 -/* 04EF68 80054508 4800006C */ b lbl_80054574 -lbl_8005450C: -/* 04EF6C 8005450C 80DE0034 */ lwz r6, 0x34(r30) -/* 04EF70 80054510 38A00000 */ li r5, 0 -/* 04EF74 80054514 80860008 */ lwz r4, 8(r6) -/* 04EF78 80054518 2C040000 */ cmpwi r4, 0 -/* 04EF7C 8005451C 7C8903A6 */ mtctr r4 -/* 04EF80 80054520 40810028 */ ble lbl_80054548 -lbl_80054524: -/* 04EF84 80054524 8086000C */ lwz r4, 0xc(r6) -/* 04EF88 80054528 38E50004 */ addi r7, r5, 4 -/* 04EF8C 8005452C 7C84382E */ lwzx r4, r4, r7 -/* 04EF90 80054530 7C1D2000 */ cmpw r29, r4 -/* 04EF94 80054534 4082000C */ bne lbl_80054540 -/* 04EF98 80054538 38800000 */ li r4, 0 -/* 04EF9C 8005453C 48000010 */ b lbl_8005454C -lbl_80054540: -/* 04EFA0 80054540 38A50008 */ addi r5, r5, 8 -/* 04EFA4 80054544 4200FFE0 */ bdnz lbl_80054524 -lbl_80054548: -/* 04EFA8 80054548 38800001 */ li r4, 1 -lbl_8005454C: -/* 04EFAC 8005454C 2C040000 */ cmpwi r4, 0 -/* 04EFB0 80054550 40820014 */ bne lbl_80054564 -/* 04EFB4 80054554 38A00000 */ li r5, 0 -/* 04EFB8 80054558 3C9E0001 */ addis r4, r30, 1 -/* 04EFBC 8005455C 90A42074 */ stw r5, 0x2074(r4) -/* 04EFC0 80054560 48000014 */ b lbl_80054574 -lbl_80054564: -/* 04EFC4 80054564 3C9E0001 */ addis r4, r30, 1 -/* 04EFC8 80054568 38A00000 */ li r5, 0 -/* 04EFCC 8005456C 90A42074 */ stw r5, 0x2074(r4) -/* 04EFD0 80054570 38A00001 */ li r5, 1 -lbl_80054574: -/* 04EFD4 80054574 2C050000 */ cmpwi r5, 0 -/* 04EFD8 80054578 41820038 */ beq lbl_800545B0 -/* 04EFDC 8005457C 281F0000 */ cmplwi r31, 0 -/* 04EFE0 80054580 41820020 */ beq lbl_800545A0 -/* 04EFE4 80054584 80A10084 */ lwz r5, 0x84(r1) -/* 04EFE8 80054588 3CC06000 */ lis r6, 0x6000 -/* 04EFEC 8005458C 38850001 */ addi r4, r5, 1 -/* 04EFF0 80054590 90810084 */ stw r4, 0x84(r1) -/* 04EFF4 80054594 54A4103A */ slwi r4, r5, 2 -/* 04EFF8 80054598 7CDF212E */ stwx r6, r31, r4 -/* 04EFFC 8005459C 48000064 */ b lbl_80054600 -lbl_800545A0: -/* 04F000 800545A0 80810084 */ lwz r4, 0x84(r1) -/* 04F004 800545A4 38840001 */ addi r4, r4, 1 -/* 04F008 800545A8 90810084 */ stw r4, 0x84(r1) -/* 04F00C 800545AC 48000054 */ b lbl_80054600 -lbl_800545B0: -/* 04F010 800545B0 281F0000 */ cmplwi r31, 0 -/* 04F014 800545B4 41820040 */ beq lbl_800545F4 -/* 04F018 800545B8 54641838 */ slwi r4, r3, 3 -/* 04F01C 800545BC 80C10084 */ lwz r6, 0x84(r1) -/* 04F020 800545C0 38840140 */ addi r4, r4, 0x140 -/* 04F024 800545C4 7C9E2214 */ add r4, r30, r4 -/* 04F028 800545C8 7CBE2050 */ subf r5, r30, r4 -/* 04F02C 800545CC 5464A814 */ slwi r4, r3, 0x15 -/* 04F030 800545D0 38E50004 */ addi r7, r5, 4 -/* 04F034 800545D4 38A60001 */ addi r5, r6, 1 -/* 04F038 800545D8 90A10084 */ stw r5, 0x84(r1) -/* 04F03C 800545DC 6484C003 */ oris r4, r4, 0xc003 -/* 04F040 800545E0 54E5043E */ clrlwi r5, r7, 0x10 -/* 04F044 800545E4 7C842A14 */ add r4, r4, r5 -/* 04F048 800545E8 54C5103A */ slwi r5, r6, 2 -/* 04F04C 800545EC 7C9F292E */ stwx r4, r31, r5 -/* 04F050 800545F0 48000010 */ b lbl_80054600 -lbl_800545F4: -/* 04F054 800545F4 80810084 */ lwz r4, 0x84(r1) -/* 04F058 800545F8 38840001 */ addi r4, r4, 1 -/* 04F05C 800545FC 90810084 */ stw r4, 0x84(r1) -lbl_80054600: -/* 04F060 80054600 281F0000 */ cmplwi r31, 0 -/* 04F064 80054604 41820030 */ beq lbl_80054634 -/* 04F068 80054608 80810084 */ lwz r4, 0x84(r1) -/* 04F06C 8005460C 5400801E */ slwi r0, r0, 0x10 -/* 04F070 80054610 6405FC00 */ oris r5, r0, 0xfc00 -/* 04F074 80054614 38040001 */ addi r0, r4, 1 -/* 04F078 80054618 90010084 */ stw r0, 0x84(r1) -/* 04F07C 8005461C 60A50040 */ ori r5, r5, 0x40 -/* 04F080 80054620 54605828 */ slwi r0, r3, 0xb -/* 04F084 80054624 7CA00378 */ or r0, r5, r0 -/* 04F088 80054628 5483103A */ slwi r3, r4, 2 -/* 04F08C 8005462C 7C1F192E */ stwx r0, r31, r3 -/* 04F090 80054630 48000010 */ b lbl_80054640 -lbl_80054634: -/* 04F094 80054634 80610084 */ lwz r3, 0x84(r1) -/* 04F098 80054638 38030001 */ addi r0, r3, 1 -/* 04F09C 8005463C 90010084 */ stw r0, 0x84(r1) -lbl_80054640: -/* 04F0A0 80054640 281F0000 */ cmplwi r31, 0 -/* 04F0A4 80054644 41820024 */ beq lbl_80054668 -/* 04F0A8 80054648 80610084 */ lwz r3, 0x84(r1) -/* 04F0AC 8005464C 3C804C40 */ lis r4, 0x4c40 -/* 04F0B0 80054650 38841382 */ addi r4, r4, 0x1382 -/* 04F0B4 80054654 38030001 */ addi r0, r3, 1 -/* 04F0B8 80054658 90010084 */ stw r0, 0x84(r1) -/* 04F0BC 8005465C 5460103A */ slwi r0, r3, 2 -/* 04F0C0 80054660 7C9F012E */ stwx r4, r31, r0 -/* 04F0C4 80054664 48000010 */ b lbl_80054674 -lbl_80054668: -/* 04F0C8 80054668 80610084 */ lwz r3, 0x84(r1) -/* 04F0CC 8005466C 38030001 */ addi r0, r3, 1 -/* 04F0D0 80054670 90010084 */ stw r0, 0x84(r1) -lbl_80054674: -/* 04F0D4 80054674 281F0000 */ cmplwi r31, 0 -/* 04F0D8 80054678 41820024 */ beq lbl_8005469C -/* 04F0DC 8005467C 80610084 */ lwz r3, 0x84(r1) -/* 04F0E0 80054680 3C804082 */ lis r4, 0x4082 -/* 04F0E4 80054684 3884000C */ addi r4, r4, 0xc -/* 04F0E8 80054688 38030001 */ addi r0, r3, 1 -/* 04F0EC 8005468C 90010084 */ stw r0, 0x84(r1) -/* 04F0F0 80054690 5460103A */ slwi r0, r3, 2 -/* 04F0F4 80054694 7C9F012E */ stwx r4, r31, r0 -/* 04F0F8 80054698 48000010 */ b lbl_800546A8 -lbl_8005469C: -/* 04F0FC 8005469C 80610084 */ lwz r3, 0x84(r1) -/* 04F100 800546A0 38030001 */ addi r0, r3, 1 -/* 04F104 800546A4 90010084 */ stw r0, 0x84(r1) -lbl_800546A8: -/* 04F108 800546A8 281F0000 */ cmplwi r31, 0 -/* 04F10C 800546AC 41820024 */ beq lbl_800546D0 -/* 04F110 800546B0 80610084 */ lwz r3, 0x84(r1) -/* 04F114 800546B4 3C8064A5 */ lis r4, 0x64a5 -/* 04F118 800546B8 38840080 */ addi r4, r4, 0x80 -/* 04F11C 800546BC 38030001 */ addi r0, r3, 1 -/* 04F120 800546C0 90010084 */ stw r0, 0x84(r1) -/* 04F124 800546C4 5460103A */ slwi r0, r3, 2 -/* 04F128 800546C8 7C9F012E */ stwx r4, r31, r0 -/* 04F12C 800546CC 48000010 */ b lbl_800546DC -lbl_800546D0: -/* 04F130 800546D0 80610084 */ lwz r3, 0x84(r1) -/* 04F134 800546D4 38030001 */ addi r0, r3, 1 -/* 04F138 800546D8 90010084 */ stw r0, 0x84(r1) -lbl_800546DC: -/* 04F13C 800546DC 281F0000 */ cmplwi r31, 0 -/* 04F140 800546E0 41820024 */ beq lbl_80054704 -/* 04F144 800546E4 80610084 */ lwz r3, 0x84(r1) -/* 04F148 800546E8 3C804280 */ lis r4, 0x4280 -/* 04F14C 800546EC 38840008 */ addi r4, r4, 8 -/* 04F150 800546F0 38030001 */ addi r0, r3, 1 -/* 04F154 800546F4 90010084 */ stw r0, 0x84(r1) -/* 04F158 800546F8 5460103A */ slwi r0, r3, 2 -/* 04F15C 800546FC 7C9F012E */ stwx r4, r31, r0 -/* 04F160 80054700 48000010 */ b lbl_80054710 -lbl_80054704: -/* 04F164 80054704 80610084 */ lwz r3, 0x84(r1) -/* 04F168 80054708 38030001 */ addi r0, r3, 1 -/* 04F16C 8005470C 90010084 */ stw r0, 0x84(r1) -lbl_80054710: -/* 04F170 80054710 281F0000 */ cmplwi r31, 0 -/* 04F174 80054714 41820024 */ beq lbl_80054738 -/* 04F178 80054718 80610084 */ lwz r3, 0x84(r1) -/* 04F17C 8005471C 3C8054A5 */ lis r4, 0x54a5 -/* 04F180 80054720 3884024E */ addi r4, r4, 0x24e -/* 04F184 80054724 38030001 */ addi r0, r3, 1 -/* 04F188 80054728 90010084 */ stw r0, 0x84(r1) -/* 04F18C 8005472C 5460103A */ slwi r0, r3, 2 -/* 04F190 80054730 7C9F012E */ stwx r4, r31, r0 -/* 04F194 80054734 48000010 */ b lbl_80054744 -lbl_80054738: -/* 04F198 80054738 80610084 */ lwz r3, 0x84(r1) -/* 04F19C 8005473C 38030001 */ addi r0, r3, 1 -/* 04F1A0 80054740 90010084 */ stw r0, 0x84(r1) -lbl_80054744: -/* 04F1A4 80054744 281F0000 */ cmplwi r31, 0 -/* 04F1A8 80054748 41820028 */ beq lbl_80054770 -/* 04F1AC 8005474C 80610084 */ lwz r3, 0x84(r1) -/* 04F1B0 80054750 381E0A3C */ addi r0, r30, 0xa3c -/* 04F1B4 80054754 7C9E0050 */ subf r4, r30, r0 -/* 04F1B8 80054758 38030001 */ addi r0, r3, 1 -/* 04F1BC 8005475C 90010084 */ stw r0, 0x84(r1) -/* 04F1C0 80054760 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04F1C4 80054764 5463103A */ slwi r3, r3, 2 -/* 04F1C8 80054768 7C1F192E */ stwx r0, r31, r3 -/* 04F1CC 8005476C 480137C8 */ b lbl_80067F34 -lbl_80054770: -/* 04F1D0 80054770 80610084 */ lwz r3, 0x84(r1) -/* 04F1D4 80054774 38030001 */ addi r0, r3, 1 -/* 04F1D8 80054778 90010084 */ stw r0, 0x84(r1) -/* 04F1DC 8005477C 480137B8 */ b lbl_80067F34 -.global lbl_80054780 -lbl_80054780: -/* 04F1E0 80054780 281F0000 */ cmplwi r31, 0 -/* 04F1E4 80054784 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04F1E8 80054788 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04F1EC 8005478C 41820028 */ beq lbl_800547B4 -/* 04F1F0 80054790 80810084 */ lwz r4, 0x84(r1) -/* 04F1F4 80054794 38BE0A3C */ addi r5, r30, 0xa3c -/* 04F1F8 80054798 7CBE2850 */ subf r5, r30, r5 -/* 04F1FC 8005479C 38C40001 */ addi r6, r4, 1 -/* 04F200 800547A0 90C10084 */ stw r6, 0x84(r1) -/* 04F204 800547A4 3CA580A3 */ addis r5, r5, 0x80a3 -/* 04F208 800547A8 5484103A */ slwi r4, r4, 2 -/* 04F20C 800547AC 7CBF212E */ stwx r5, r31, r4 -/* 04F210 800547B0 48000010 */ b lbl_800547C0 -lbl_800547B4: -/* 04F214 800547B4 80810084 */ lwz r4, 0x84(r1) -/* 04F218 800547B8 38840001 */ addi r4, r4, 1 -/* 04F21C 800547BC 90810084 */ stw r4, 0x84(r1) -lbl_800547C0: -/* 04F220 800547C0 3C9E0001 */ addis r4, r30, 1 -/* 04F224 800547C4 80A42064 */ lwz r5, 0x2064(r4) -/* 04F228 800547C8 28050000 */ cmplwi r5, 0 -/* 04F22C 800547CC 4082000C */ bne lbl_800547D8 -/* 04F230 800547D0 38A00000 */ li r5, 0 -/* 04F234 800547D4 48000094 */ b lbl_80054868 -lbl_800547D8: -/* 04F238 800547D8 80A42074 */ lwz r5, 0x2074(r4) -/* 04F23C 800547DC 28050000 */ cmplwi r5, 0 -/* 04F240 800547E0 4082000C */ bne lbl_800547EC -/* 04F244 800547E4 38A00000 */ li r5, 0 -/* 04F248 800547E8 48000080 */ b lbl_80054868 -lbl_800547EC: -/* 04F24C 800547EC 80842078 */ lwz r4, 0x2078(r4) -/* 04F250 800547F0 7C002000 */ cmpw r0, r4 -/* 04F254 800547F4 4182000C */ beq lbl_80054800 -/* 04F258 800547F8 38A00000 */ li r5, 0 -/* 04F25C 800547FC 4800006C */ b lbl_80054868 -lbl_80054800: -/* 04F260 80054800 80DE0034 */ lwz r6, 0x34(r30) -/* 04F264 80054804 38A00000 */ li r5, 0 -/* 04F268 80054808 80860008 */ lwz r4, 8(r6) -/* 04F26C 8005480C 2C040000 */ cmpwi r4, 0 -/* 04F270 80054810 7C8903A6 */ mtctr r4 -/* 04F274 80054814 40810028 */ ble lbl_8005483C -lbl_80054818: -/* 04F278 80054818 8086000C */ lwz r4, 0xc(r6) -/* 04F27C 8005481C 38E50004 */ addi r7, r5, 4 -/* 04F280 80054820 7C84382E */ lwzx r4, r4, r7 -/* 04F284 80054824 7C1D2000 */ cmpw r29, r4 -/* 04F288 80054828 4082000C */ bne lbl_80054834 -/* 04F28C 8005482C 38800000 */ li r4, 0 -/* 04F290 80054830 48000010 */ b lbl_80054840 -lbl_80054834: -/* 04F294 80054834 38A50008 */ addi r5, r5, 8 -/* 04F298 80054838 4200FFE0 */ bdnz lbl_80054818 -lbl_8005483C: -/* 04F29C 8005483C 38800001 */ li r4, 1 -lbl_80054840: -/* 04F2A0 80054840 2C040000 */ cmpwi r4, 0 -/* 04F2A4 80054844 40820014 */ bne lbl_80054858 -/* 04F2A8 80054848 38A00000 */ li r5, 0 -/* 04F2AC 8005484C 3C9E0001 */ addis r4, r30, 1 -/* 04F2B0 80054850 90A42074 */ stw r5, 0x2074(r4) -/* 04F2B4 80054854 48000014 */ b lbl_80054868 -lbl_80054858: -/* 04F2B8 80054858 3C9E0001 */ addis r4, r30, 1 -/* 04F2BC 8005485C 38A00000 */ li r5, 0 -/* 04F2C0 80054860 90A42074 */ stw r5, 0x2074(r4) -/* 04F2C4 80054864 38A00001 */ li r5, 1 -lbl_80054868: -/* 04F2C8 80054868 2C050000 */ cmpwi r5, 0 -/* 04F2CC 8005486C 41820038 */ beq lbl_800548A4 -/* 04F2D0 80054870 281F0000 */ cmplwi r31, 0 -/* 04F2D4 80054874 41820020 */ beq lbl_80054894 -/* 04F2D8 80054878 80A10084 */ lwz r5, 0x84(r1) -/* 04F2DC 8005487C 3CC06000 */ lis r6, 0x6000 -/* 04F2E0 80054880 38850001 */ addi r4, r5, 1 -/* 04F2E4 80054884 90810084 */ stw r4, 0x84(r1) -/* 04F2E8 80054888 54A4103A */ slwi r4, r5, 2 -/* 04F2EC 8005488C 7CDF212E */ stwx r6, r31, r4 -/* 04F2F0 80054890 48000064 */ b lbl_800548F4 -lbl_80054894: -/* 04F2F4 80054894 80810084 */ lwz r4, 0x84(r1) -/* 04F2F8 80054898 38840001 */ addi r4, r4, 1 -/* 04F2FC 8005489C 90810084 */ stw r4, 0x84(r1) -/* 04F300 800548A0 48000054 */ b lbl_800548F4 -lbl_800548A4: -/* 04F304 800548A4 281F0000 */ cmplwi r31, 0 -/* 04F308 800548A8 41820040 */ beq lbl_800548E8 -/* 04F30C 800548AC 54041838 */ slwi r4, r0, 3 -/* 04F310 800548B0 80C10084 */ lwz r6, 0x84(r1) -/* 04F314 800548B4 38840140 */ addi r4, r4, 0x140 -/* 04F318 800548B8 7C9E2214 */ add r4, r30, r4 -/* 04F31C 800548BC 7CBE2050 */ subf r5, r30, r4 -/* 04F320 800548C0 5404A814 */ slwi r4, r0, 0x15 -/* 04F324 800548C4 38E50004 */ addi r7, r5, 4 -/* 04F328 800548C8 38A60001 */ addi r5, r6, 1 -/* 04F32C 800548CC 90A10084 */ stw r5, 0x84(r1) -/* 04F330 800548D0 6484C003 */ oris r4, r4, 0xc003 -/* 04F334 800548D4 54E5043E */ clrlwi r5, r7, 0x10 -/* 04F338 800548D8 7C842A14 */ add r4, r4, r5 -/* 04F33C 800548DC 54C5103A */ slwi r5, r6, 2 -/* 04F340 800548E0 7C9F292E */ stwx r4, r31, r5 -/* 04F344 800548E4 48000010 */ b lbl_800548F4 -lbl_800548E8: -/* 04F348 800548E8 80810084 */ lwz r4, 0x84(r1) -/* 04F34C 800548EC 38840001 */ addi r4, r4, 1 -/* 04F350 800548F0 90810084 */ stw r4, 0x84(r1) -lbl_800548F4: -/* 04F354 800548F4 3C9E0001 */ addis r4, r30, 1 -/* 04F358 800548F8 80A42064 */ lwz r5, 0x2064(r4) -/* 04F35C 800548FC 28050000 */ cmplwi r5, 0 -/* 04F360 80054900 4082000C */ bne lbl_8005490C -/* 04F364 80054904 38A00000 */ li r5, 0 -/* 04F368 80054908 48000094 */ b lbl_8005499C -lbl_8005490C: -/* 04F36C 8005490C 80A42074 */ lwz r5, 0x2074(r4) -/* 04F370 80054910 28050000 */ cmplwi r5, 0 -/* 04F374 80054914 4082000C */ bne lbl_80054920 -/* 04F378 80054918 38A00000 */ li r5, 0 -/* 04F37C 8005491C 48000080 */ b lbl_8005499C -lbl_80054920: -/* 04F380 80054920 80842078 */ lwz r4, 0x2078(r4) -/* 04F384 80054924 7C032000 */ cmpw r3, r4 -/* 04F388 80054928 4182000C */ beq lbl_80054934 -/* 04F38C 8005492C 38A00000 */ li r5, 0 -/* 04F390 80054930 4800006C */ b lbl_8005499C -lbl_80054934: -/* 04F394 80054934 80DE0034 */ lwz r6, 0x34(r30) -/* 04F398 80054938 38A00000 */ li r5, 0 -/* 04F39C 8005493C 80860008 */ lwz r4, 8(r6) -/* 04F3A0 80054940 2C040000 */ cmpwi r4, 0 -/* 04F3A4 80054944 7C8903A6 */ mtctr r4 -/* 04F3A8 80054948 40810028 */ ble lbl_80054970 -lbl_8005494C: -/* 04F3AC 8005494C 8086000C */ lwz r4, 0xc(r6) -/* 04F3B0 80054950 38E50004 */ addi r7, r5, 4 -/* 04F3B4 80054954 7C84382E */ lwzx r4, r4, r7 -/* 04F3B8 80054958 7C1D2000 */ cmpw r29, r4 -/* 04F3BC 8005495C 4082000C */ bne lbl_80054968 -/* 04F3C0 80054960 38800000 */ li r4, 0 -/* 04F3C4 80054964 48000010 */ b lbl_80054974 -lbl_80054968: -/* 04F3C8 80054968 38A50008 */ addi r5, r5, 8 -/* 04F3CC 8005496C 4200FFE0 */ bdnz lbl_8005494C -lbl_80054970: -/* 04F3D0 80054970 38800001 */ li r4, 1 -lbl_80054974: -/* 04F3D4 80054974 2C040000 */ cmpwi r4, 0 -/* 04F3D8 80054978 40820014 */ bne lbl_8005498C -/* 04F3DC 8005497C 38A00000 */ li r5, 0 -/* 04F3E0 80054980 3C9E0001 */ addis r4, r30, 1 -/* 04F3E4 80054984 90A42074 */ stw r5, 0x2074(r4) -/* 04F3E8 80054988 48000014 */ b lbl_8005499C -lbl_8005498C: -/* 04F3EC 8005498C 3C9E0001 */ addis r4, r30, 1 -/* 04F3F0 80054990 38A00000 */ li r5, 0 -/* 04F3F4 80054994 90A42074 */ stw r5, 0x2074(r4) -/* 04F3F8 80054998 38A00001 */ li r5, 1 -lbl_8005499C: -/* 04F3FC 8005499C 2C050000 */ cmpwi r5, 0 -/* 04F400 800549A0 41820038 */ beq lbl_800549D8 -/* 04F404 800549A4 281F0000 */ cmplwi r31, 0 -/* 04F408 800549A8 41820020 */ beq lbl_800549C8 -/* 04F40C 800549AC 80A10084 */ lwz r5, 0x84(r1) -/* 04F410 800549B0 3CC06000 */ lis r6, 0x6000 -/* 04F414 800549B4 38850001 */ addi r4, r5, 1 -/* 04F418 800549B8 90810084 */ stw r4, 0x84(r1) -/* 04F41C 800549BC 54A4103A */ slwi r4, r5, 2 -/* 04F420 800549C0 7CDF212E */ stwx r6, r31, r4 -/* 04F424 800549C4 48000064 */ b lbl_80054A28 -lbl_800549C8: -/* 04F428 800549C8 80810084 */ lwz r4, 0x84(r1) -/* 04F42C 800549CC 38840001 */ addi r4, r4, 1 -/* 04F430 800549D0 90810084 */ stw r4, 0x84(r1) -/* 04F434 800549D4 48000054 */ b lbl_80054A28 -lbl_800549D8: -/* 04F438 800549D8 281F0000 */ cmplwi r31, 0 -/* 04F43C 800549DC 41820040 */ beq lbl_80054A1C -/* 04F440 800549E0 54641838 */ slwi r4, r3, 3 -/* 04F444 800549E4 80C10084 */ lwz r6, 0x84(r1) -/* 04F448 800549E8 38840140 */ addi r4, r4, 0x140 -/* 04F44C 800549EC 7C9E2214 */ add r4, r30, r4 -/* 04F450 800549F0 7CBE2050 */ subf r5, r30, r4 -/* 04F454 800549F4 5464A814 */ slwi r4, r3, 0x15 -/* 04F458 800549F8 38E50004 */ addi r7, r5, 4 -/* 04F45C 800549FC 38A60001 */ addi r5, r6, 1 -/* 04F460 80054A00 90A10084 */ stw r5, 0x84(r1) -/* 04F464 80054A04 6484C003 */ oris r4, r4, 0xc003 -/* 04F468 80054A08 54E5043E */ clrlwi r5, r7, 0x10 -/* 04F46C 80054A0C 7C842A14 */ add r4, r4, r5 -/* 04F470 80054A10 54C5103A */ slwi r5, r6, 2 -/* 04F474 80054A14 7C9F292E */ stwx r4, r31, r5 -/* 04F478 80054A18 48000010 */ b lbl_80054A28 -lbl_80054A1C: -/* 04F47C 80054A1C 80810084 */ lwz r4, 0x84(r1) -/* 04F480 80054A20 38840001 */ addi r4, r4, 1 -/* 04F484 80054A24 90810084 */ stw r4, 0x84(r1) -lbl_80054A28: -/* 04F488 80054A28 281F0000 */ cmplwi r31, 0 -/* 04F48C 80054A2C 41820030 */ beq lbl_80054A5C -/* 04F490 80054A30 80810084 */ lwz r4, 0x84(r1) -/* 04F494 80054A34 5400801E */ slwi r0, r0, 0x10 -/* 04F498 80054A38 6405FC00 */ oris r5, r0, 0xfc00 -/* 04F49C 80054A3C 38040001 */ addi r0, r4, 1 -/* 04F4A0 80054A40 90010084 */ stw r0, 0x84(r1) -/* 04F4A4 80054A44 60A50040 */ ori r5, r5, 0x40 -/* 04F4A8 80054A48 54605828 */ slwi r0, r3, 0xb -/* 04F4AC 80054A4C 7CA00378 */ or r0, r5, r0 -/* 04F4B0 80054A50 5483103A */ slwi r3, r4, 2 -/* 04F4B4 80054A54 7C1F192E */ stwx r0, r31, r3 -/* 04F4B8 80054A58 48000010 */ b lbl_80054A68 -lbl_80054A5C: -/* 04F4BC 80054A5C 80610084 */ lwz r3, 0x84(r1) -/* 04F4C0 80054A60 38030001 */ addi r0, r3, 1 -/* 04F4C4 80054A64 90010084 */ stw r0, 0x84(r1) -lbl_80054A68: -/* 04F4C8 80054A68 281F0000 */ cmplwi r31, 0 -/* 04F4CC 80054A6C 41820024 */ beq lbl_80054A90 -/* 04F4D0 80054A70 80610084 */ lwz r3, 0x84(r1) -/* 04F4D4 80054A74 3C804C40 */ lis r4, 0x4c40 -/* 04F4D8 80054A78 38841382 */ addi r4, r4, 0x1382 -/* 04F4DC 80054A7C 38030001 */ addi r0, r3, 1 -/* 04F4E0 80054A80 90010084 */ stw r0, 0x84(r1) -/* 04F4E4 80054A84 5460103A */ slwi r0, r3, 2 -/* 04F4E8 80054A88 7C9F012E */ stwx r4, r31, r0 -/* 04F4EC 80054A8C 48000010 */ b lbl_80054A9C -lbl_80054A90: -/* 04F4F0 80054A90 80610084 */ lwz r3, 0x84(r1) -/* 04F4F4 80054A94 38030001 */ addi r0, r3, 1 -/* 04F4F8 80054A98 90010084 */ stw r0, 0x84(r1) -lbl_80054A9C: -/* 04F4FC 80054A9C 281F0000 */ cmplwi r31, 0 -/* 04F500 80054AA0 41820024 */ beq lbl_80054AC4 -/* 04F504 80054AA4 80610084 */ lwz r3, 0x84(r1) -/* 04F508 80054AA8 3C804082 */ lis r4, 0x4082 -/* 04F50C 80054AAC 3884000C */ addi r4, r4, 0xc -/* 04F510 80054AB0 38030001 */ addi r0, r3, 1 -/* 04F514 80054AB4 90010084 */ stw r0, 0x84(r1) -/* 04F518 80054AB8 5460103A */ slwi r0, r3, 2 -/* 04F51C 80054ABC 7C9F012E */ stwx r4, r31, r0 -/* 04F520 80054AC0 48000010 */ b lbl_80054AD0 -lbl_80054AC4: -/* 04F524 80054AC4 80610084 */ lwz r3, 0x84(r1) -/* 04F528 80054AC8 38030001 */ addi r0, r3, 1 -/* 04F52C 80054ACC 90010084 */ stw r0, 0x84(r1) -lbl_80054AD0: -/* 04F530 80054AD0 281F0000 */ cmplwi r31, 0 -/* 04F534 80054AD4 41820024 */ beq lbl_80054AF8 -/* 04F538 80054AD8 80610084 */ lwz r3, 0x84(r1) -/* 04F53C 80054ADC 3C8064A5 */ lis r4, 0x64a5 -/* 04F540 80054AE0 38840080 */ addi r4, r4, 0x80 -/* 04F544 80054AE4 38030001 */ addi r0, r3, 1 -/* 04F548 80054AE8 90010084 */ stw r0, 0x84(r1) -/* 04F54C 80054AEC 5460103A */ slwi r0, r3, 2 -/* 04F550 80054AF0 7C9F012E */ stwx r4, r31, r0 -/* 04F554 80054AF4 48000010 */ b lbl_80054B04 -lbl_80054AF8: -/* 04F558 80054AF8 80610084 */ lwz r3, 0x84(r1) -/* 04F55C 80054AFC 38030001 */ addi r0, r3, 1 -/* 04F560 80054B00 90010084 */ stw r0, 0x84(r1) -lbl_80054B04: -/* 04F564 80054B04 281F0000 */ cmplwi r31, 0 -/* 04F568 80054B08 41820024 */ beq lbl_80054B2C -/* 04F56C 80054B0C 80610084 */ lwz r3, 0x84(r1) -/* 04F570 80054B10 3C804280 */ lis r4, 0x4280 -/* 04F574 80054B14 38840008 */ addi r4, r4, 8 -/* 04F578 80054B18 38030001 */ addi r0, r3, 1 -/* 04F57C 80054B1C 90010084 */ stw r0, 0x84(r1) -/* 04F580 80054B20 5460103A */ slwi r0, r3, 2 -/* 04F584 80054B24 7C9F012E */ stwx r4, r31, r0 -/* 04F588 80054B28 48000010 */ b lbl_80054B38 -lbl_80054B2C: -/* 04F58C 80054B2C 80610084 */ lwz r3, 0x84(r1) -/* 04F590 80054B30 38030001 */ addi r0, r3, 1 -/* 04F594 80054B34 90010084 */ stw r0, 0x84(r1) -lbl_80054B38: -/* 04F598 80054B38 281F0000 */ cmplwi r31, 0 -/* 04F59C 80054B3C 41820024 */ beq lbl_80054B60 -/* 04F5A0 80054B40 80610084 */ lwz r3, 0x84(r1) -/* 04F5A4 80054B44 3C8054A5 */ lis r4, 0x54a5 -/* 04F5A8 80054B48 3884024E */ addi r4, r4, 0x24e -/* 04F5AC 80054B4C 38030001 */ addi r0, r3, 1 -/* 04F5B0 80054B50 90010084 */ stw r0, 0x84(r1) -/* 04F5B4 80054B54 5460103A */ slwi r0, r3, 2 -/* 04F5B8 80054B58 7C9F012E */ stwx r4, r31, r0 -/* 04F5BC 80054B5C 48000010 */ b lbl_80054B6C -lbl_80054B60: -/* 04F5C0 80054B60 80610084 */ lwz r3, 0x84(r1) -/* 04F5C4 80054B64 38030001 */ addi r0, r3, 1 -/* 04F5C8 80054B68 90010084 */ stw r0, 0x84(r1) -lbl_80054B6C: -/* 04F5CC 80054B6C 281F0000 */ cmplwi r31, 0 -/* 04F5D0 80054B70 41820028 */ beq lbl_80054B98 -/* 04F5D4 80054B74 80610084 */ lwz r3, 0x84(r1) -/* 04F5D8 80054B78 381E0A3C */ addi r0, r30, 0xa3c -/* 04F5DC 80054B7C 7C9E0050 */ subf r4, r30, r0 -/* 04F5E0 80054B80 38030001 */ addi r0, r3, 1 -/* 04F5E4 80054B84 90010084 */ stw r0, 0x84(r1) -/* 04F5E8 80054B88 3C0490A3 */ addis r0, r4, 0x90a3 -/* 04F5EC 80054B8C 5463103A */ slwi r3, r3, 2 -/* 04F5F0 80054B90 7C1F192E */ stwx r0, r31, r3 -/* 04F5F4 80054B94 480133A0 */ b lbl_80067F34 -lbl_80054B98: -/* 04F5F8 80054B98 80610084 */ lwz r3, 0x84(r1) -/* 04F5FC 80054B9C 38030001 */ addi r0, r3, 1 -/* 04F600 80054BA0 90010084 */ stw r0, 0x84(r1) -/* 04F604 80054BA4 48013390 */ b lbl_80067F34 -.global lbl_80054BA8 -lbl_80054BA8: -/* 04F608 80054BA8 39E00000 */ li r15, 0 -/* 04F60C 80054BAC 48013388 */ b lbl_80067F34 -lbl_80054BB0: -/* 04F610 80054BB0 578006BE */ clrlwi r0, r28, 0x1a -/* 04F614 80054BB4 2800003F */ cmplwi r0, 0x3f -/* 04F618 80054BB8 418151DC */ bgt lbl_80059D94 -/* 04F61C 80054BBC 3C60800F */ lis r3, jtbl_800ECFE0@ha -/* 04F620 80054BC0 3863CFE0 */ addi r3, r3, jtbl_800ECFE0@l -/* 04F624 80054BC4 5400103A */ slwi r0, r0, 2 -/* 04F628 80054BC8 7C03002E */ lwzx r0, r3, r0 -/* 04F62C 80054BCC 7C0903A6 */ mtctr r0 -/* 04F630 80054BD0 4E800420 */ bctr -.global lbl_80054BD4 -lbl_80054BD4: -/* 04F634 80054BD4 3C9E0001 */ addis r4, r30, 1 -/* 04F638 80054BD8 80642064 */ lwz r3, 0x2064(r4) -/* 04F63C 80054BDC 5788D6FE */ rlwinm r8, r28, 0x1a, 0x1b, 0x1f -/* 04F640 80054BE0 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04F644 80054BE4 28030000 */ cmplwi r3, 0 -/* 04F648 80054BE8 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04F64C 80054BEC 4082000C */ bne lbl_80054BF8 -/* 04F650 80054BF0 38A00000 */ li r5, 0 -/* 04F654 80054BF4 48000094 */ b lbl_80054C88 -lbl_80054BF8: -/* 04F658 80054BF8 80A42074 */ lwz r5, 0x2074(r4) -/* 04F65C 80054BFC 28050000 */ cmplwi r5, 0 -/* 04F660 80054C00 4082000C */ bne lbl_80054C0C -/* 04F664 80054C04 38A00000 */ li r5, 0 -/* 04F668 80054C08 48000080 */ b lbl_80054C88 -lbl_80054C0C: -/* 04F66C 80054C0C 80842078 */ lwz r4, 0x2078(r4) -/* 04F670 80054C10 7C002000 */ cmpw r0, r4 -/* 04F674 80054C14 4182000C */ beq lbl_80054C20 -/* 04F678 80054C18 38A00000 */ li r5, 0 -/* 04F67C 80054C1C 4800006C */ b lbl_80054C88 -lbl_80054C20: -/* 04F680 80054C20 80DE0034 */ lwz r6, 0x34(r30) -/* 04F684 80054C24 38A00000 */ li r5, 0 -/* 04F688 80054C28 80860008 */ lwz r4, 8(r6) -/* 04F68C 80054C2C 2C040000 */ cmpwi r4, 0 -/* 04F690 80054C30 7C8903A6 */ mtctr r4 -/* 04F694 80054C34 40810028 */ ble lbl_80054C5C -lbl_80054C38: -/* 04F698 80054C38 8086000C */ lwz r4, 0xc(r6) -/* 04F69C 80054C3C 38E50004 */ addi r7, r5, 4 -/* 04F6A0 80054C40 7C84382E */ lwzx r4, r4, r7 -/* 04F6A4 80054C44 7C1D2000 */ cmpw r29, r4 -/* 04F6A8 80054C48 4082000C */ bne lbl_80054C54 -/* 04F6AC 80054C4C 38800000 */ li r4, 0 -/* 04F6B0 80054C50 48000010 */ b lbl_80054C60 -lbl_80054C54: -/* 04F6B4 80054C54 38A50008 */ addi r5, r5, 8 -/* 04F6B8 80054C58 4200FFE0 */ bdnz lbl_80054C38 -lbl_80054C5C: -/* 04F6BC 80054C5C 38800001 */ li r4, 1 -lbl_80054C60: -/* 04F6C0 80054C60 2C040000 */ cmpwi r4, 0 -/* 04F6C4 80054C64 40820014 */ bne lbl_80054C78 -/* 04F6C8 80054C68 38A00000 */ li r5, 0 -/* 04F6CC 80054C6C 3C9E0001 */ addis r4, r30, 1 -/* 04F6D0 80054C70 90A42074 */ stw r5, 0x2074(r4) -/* 04F6D4 80054C74 48000014 */ b lbl_80054C88 -lbl_80054C78: -/* 04F6D8 80054C78 3C9E0001 */ addis r4, r30, 1 -/* 04F6DC 80054C7C 38A00000 */ li r5, 0 -/* 04F6E0 80054C80 90A42074 */ stw r5, 0x2074(r4) -/* 04F6E4 80054C84 38A00001 */ li r5, 1 -lbl_80054C88: -/* 04F6E8 80054C88 2C050000 */ cmpwi r5, 0 -/* 04F6EC 80054C8C 41820038 */ beq lbl_80054CC4 -/* 04F6F0 80054C90 281F0000 */ cmplwi r31, 0 -/* 04F6F4 80054C94 41820020 */ beq lbl_80054CB4 -/* 04F6F8 80054C98 80A10084 */ lwz r5, 0x84(r1) -/* 04F6FC 80054C9C 3CC06000 */ lis r6, 0x6000 -/* 04F700 80054CA0 38850001 */ addi r4, r5, 1 -/* 04F704 80054CA4 90810084 */ stw r4, 0x84(r1) -/* 04F708 80054CA8 54A4103A */ slwi r4, r5, 2 -/* 04F70C 80054CAC 7CDF212E */ stwx r6, r31, r4 -/* 04F710 80054CB0 48000060 */ b lbl_80054D10 -lbl_80054CB4: -/* 04F714 80054CB4 80810084 */ lwz r4, 0x84(r1) -/* 04F718 80054CB8 38840001 */ addi r4, r4, 1 -/* 04F71C 80054CBC 90810084 */ stw r4, 0x84(r1) -/* 04F720 80054CC0 48000050 */ b lbl_80054D10 -lbl_80054CC4: -/* 04F724 80054CC4 281F0000 */ cmplwi r31, 0 -/* 04F728 80054CC8 4182003C */ beq lbl_80054D04 -/* 04F72C 80054CCC 54051838 */ slwi r5, r0, 3 -/* 04F730 80054CD0 80810084 */ lwz r4, 0x84(r1) -/* 04F734 80054CD4 38A50140 */ addi r5, r5, 0x140 -/* 04F738 80054CD8 7CBE2A14 */ add r5, r30, r5 -/* 04F73C 80054CDC 5406A814 */ slwi r6, r0, 0x15 -/* 04F740 80054CE0 7CBE2850 */ subf r5, r30, r5 -/* 04F744 80054CE4 38E40001 */ addi r7, r4, 1 -/* 04F748 80054CE8 90E10084 */ stw r7, 0x84(r1) -/* 04F74C 80054CEC 64C6C803 */ oris r6, r6, 0xc803 -/* 04F750 80054CF0 54A5043E */ clrlwi r5, r5, 0x10 -/* 04F754 80054CF4 7CA62A14 */ add r5, r6, r5 -/* 04F758 80054CF8 5484103A */ slwi r4, r4, 2 -/* 04F75C 80054CFC 7CBF212E */ stwx r5, r31, r4 -/* 04F760 80054D00 48000010 */ b lbl_80054D10 -lbl_80054D04: -/* 04F764 80054D04 80810084 */ lwz r4, 0x84(r1) -/* 04F768 80054D08 38840001 */ addi r4, r4, 1 -/* 04F76C 80054D0C 90810084 */ stw r4, 0x84(r1) -lbl_80054D10: -/* 04F770 80054D10 7C001800 */ cmpw r0, r3 -/* 04F774 80054D14 41820134 */ beq lbl_80054E48 -/* 04F778 80054D18 3C9E0001 */ addis r4, r30, 1 -/* 04F77C 80054D1C 80A42064 */ lwz r5, 0x2064(r4) -/* 04F780 80054D20 28050000 */ cmplwi r5, 0 -/* 04F784 80054D24 4082000C */ bne lbl_80054D30 -/* 04F788 80054D28 38A00000 */ li r5, 0 -/* 04F78C 80054D2C 48000094 */ b lbl_80054DC0 -lbl_80054D30: -/* 04F790 80054D30 80A42074 */ lwz r5, 0x2074(r4) -/* 04F794 80054D34 28050000 */ cmplwi r5, 0 -/* 04F798 80054D38 4082000C */ bne lbl_80054D44 -/* 04F79C 80054D3C 38A00000 */ li r5, 0 -/* 04F7A0 80054D40 48000080 */ b lbl_80054DC0 -lbl_80054D44: -/* 04F7A4 80054D44 80842078 */ lwz r4, 0x2078(r4) -/* 04F7A8 80054D48 7C032000 */ cmpw r3, r4 -/* 04F7AC 80054D4C 4182000C */ beq lbl_80054D58 -/* 04F7B0 80054D50 38A00000 */ li r5, 0 -/* 04F7B4 80054D54 4800006C */ b lbl_80054DC0 -lbl_80054D58: -/* 04F7B8 80054D58 80DE0034 */ lwz r6, 0x34(r30) -/* 04F7BC 80054D5C 38A00000 */ li r5, 0 -/* 04F7C0 80054D60 80860008 */ lwz r4, 8(r6) -/* 04F7C4 80054D64 2C040000 */ cmpwi r4, 0 -/* 04F7C8 80054D68 7C8903A6 */ mtctr r4 -/* 04F7CC 80054D6C 40810028 */ ble lbl_80054D94 -lbl_80054D70: -/* 04F7D0 80054D70 8086000C */ lwz r4, 0xc(r6) -/* 04F7D4 80054D74 38E50004 */ addi r7, r5, 4 -/* 04F7D8 80054D78 7C84382E */ lwzx r4, r4, r7 -/* 04F7DC 80054D7C 7C1D2000 */ cmpw r29, r4 -/* 04F7E0 80054D80 4082000C */ bne lbl_80054D8C -/* 04F7E4 80054D84 38800000 */ li r4, 0 -/* 04F7E8 80054D88 48000010 */ b lbl_80054D98 -lbl_80054D8C: -/* 04F7EC 80054D8C 38A50008 */ addi r5, r5, 8 -/* 04F7F0 80054D90 4200FFE0 */ bdnz lbl_80054D70 -lbl_80054D94: -/* 04F7F4 80054D94 38800001 */ li r4, 1 -lbl_80054D98: -/* 04F7F8 80054D98 2C040000 */ cmpwi r4, 0 -/* 04F7FC 80054D9C 40820014 */ bne lbl_80054DB0 -/* 04F800 80054DA0 38A00000 */ li r5, 0 -/* 04F804 80054DA4 3C9E0001 */ addis r4, r30, 1 -/* 04F808 80054DA8 90A42074 */ stw r5, 0x2074(r4) -/* 04F80C 80054DAC 48000014 */ b lbl_80054DC0 -lbl_80054DB0: -/* 04F810 80054DB0 3C9E0001 */ addis r4, r30, 1 -/* 04F814 80054DB4 38A00000 */ li r5, 0 -/* 04F818 80054DB8 90A42074 */ stw r5, 0x2074(r4) -/* 04F81C 80054DBC 38A00001 */ li r5, 1 -lbl_80054DC0: -/* 04F820 80054DC0 2C050000 */ cmpwi r5, 0 -/* 04F824 80054DC4 41820038 */ beq lbl_80054DFC -/* 04F828 80054DC8 281F0000 */ cmplwi r31, 0 -/* 04F82C 80054DCC 41820020 */ beq lbl_80054DEC -/* 04F830 80054DD0 80A10084 */ lwz r5, 0x84(r1) -/* 04F834 80054DD4 3CC06000 */ lis r6, 0x6000 -/* 04F838 80054DD8 38850001 */ addi r4, r5, 1 -/* 04F83C 80054DDC 90810084 */ stw r4, 0x84(r1) -/* 04F840 80054DE0 54A4103A */ slwi r4, r5, 2 -/* 04F844 80054DE4 7CDF212E */ stwx r6, r31, r4 -/* 04F848 80054DE8 48000060 */ b lbl_80054E48 -lbl_80054DEC: -/* 04F84C 80054DEC 80810084 */ lwz r4, 0x84(r1) -/* 04F850 80054DF0 38840001 */ addi r4, r4, 1 -/* 04F854 80054DF4 90810084 */ stw r4, 0x84(r1) -/* 04F858 80054DF8 48000050 */ b lbl_80054E48 -lbl_80054DFC: -/* 04F85C 80054DFC 281F0000 */ cmplwi r31, 0 -/* 04F860 80054E00 4182003C */ beq lbl_80054E3C -/* 04F864 80054E04 54651838 */ slwi r5, r3, 3 -/* 04F868 80054E08 80810084 */ lwz r4, 0x84(r1) -/* 04F86C 80054E0C 38A50140 */ addi r5, r5, 0x140 -/* 04F870 80054E10 7CBE2A14 */ add r5, r30, r5 -/* 04F874 80054E14 5466A814 */ slwi r6, r3, 0x15 -/* 04F878 80054E18 7CBE2850 */ subf r5, r30, r5 -/* 04F87C 80054E1C 38E40001 */ addi r7, r4, 1 -/* 04F880 80054E20 90E10084 */ stw r7, 0x84(r1) -/* 04F884 80054E24 64C6C803 */ oris r6, r6, 0xc803 -/* 04F888 80054E28 54A5043E */ clrlwi r5, r5, 0x10 -/* 04F88C 80054E2C 7CA62A14 */ add r5, r6, r5 -/* 04F890 80054E30 5484103A */ slwi r4, r4, 2 -/* 04F894 80054E34 7CBF212E */ stwx r5, r31, r4 -/* 04F898 80054E38 48000010 */ b lbl_80054E48 -lbl_80054E3C: -/* 04F89C 80054E3C 80810084 */ lwz r4, 0x84(r1) -/* 04F8A0 80054E40 38840001 */ addi r4, r4, 1 -/* 04F8A4 80054E44 90810084 */ stw r4, 0x84(r1) -lbl_80054E48: -/* 04F8A8 80054E48 281F0000 */ cmplwi r31, 0 -/* 04F8AC 80054E4C 41820038 */ beq lbl_80054E84 -/* 04F8B0 80054E50 80A10084 */ lwz r5, 0x84(r1) -/* 04F8B4 80054E54 5504A814 */ slwi r4, r8, 0x15 -/* 04F8B8 80054E58 6486FC00 */ oris r6, r4, 0xfc00 -/* 04F8BC 80054E5C 38850001 */ addi r4, r5, 1 -/* 04F8C0 80054E60 60C6002A */ ori r6, r6, 0x2a -/* 04F8C4 80054E64 90810084 */ stw r4, 0x84(r1) -/* 04F8C8 80054E68 5400801E */ slwi r0, r0, 0x10 -/* 04F8CC 80054E6C 54635828 */ slwi r3, r3, 0xb -/* 04F8D0 80054E70 7CC00378 */ or r0, r6, r0 -/* 04F8D4 80054E74 7C600378 */ or r0, r3, r0 -/* 04F8D8 80054E78 54A3103A */ slwi r3, r5, 2 -/* 04F8DC 80054E7C 7C1F192E */ stwx r0, r31, r3 -/* 04F8E0 80054E80 48000010 */ b lbl_80054E90 -lbl_80054E84: -/* 04F8E4 80054E84 80610084 */ lwz r3, 0x84(r1) -/* 04F8E8 80054E88 38030001 */ addi r0, r3, 1 -/* 04F8EC 80054E8C 90010084 */ stw r0, 0x84(r1) -lbl_80054E90: -/* 04F8F0 80054E90 281F0000 */ cmplwi r31, 0 -/* 04F8F4 80054E94 4182003C */ beq lbl_80054ED0 -/* 04F8F8 80054E98 55041838 */ slwi r4, r8, 3 -/* 04F8FC 80054E9C 80610084 */ lwz r3, 0x84(r1) -/* 04F900 80054EA0 38040140 */ addi r0, r4, 0x140 -/* 04F904 80054EA4 7C1E0214 */ add r0, r30, r0 -/* 04F908 80054EA8 5505A814 */ slwi r5, r8, 0x15 -/* 04F90C 80054EAC 7C9E0050 */ subf r4, r30, r0 -/* 04F910 80054EB0 38030001 */ addi r0, r3, 1 -/* 04F914 80054EB4 90010084 */ stw r0, 0x84(r1) -/* 04F918 80054EB8 64A0D803 */ oris r0, r5, 0xd803 -/* 04F91C 80054EBC 5484043E */ clrlwi r4, r4, 0x10 -/* 04F920 80054EC0 7C002214 */ add r0, r0, r4 -/* 04F924 80054EC4 5463103A */ slwi r3, r3, 2 -/* 04F928 80054EC8 7C1F192E */ stwx r0, r31, r3 -/* 04F92C 80054ECC 48000010 */ b lbl_80054EDC -lbl_80054ED0: -/* 04F930 80054ED0 80610084 */ lwz r3, 0x84(r1) -/* 04F934 80054ED4 38030001 */ addi r0, r3, 1 -/* 04F938 80054ED8 90010084 */ stw r0, 0x84(r1) -lbl_80054EDC: -/* 04F93C 80054EDC 3C7E0001 */ addis r3, r30, 1 -/* 04F940 80054EE0 38000002 */ li r0, 2 -/* 04F944 80054EE4 90032074 */ stw r0, 0x2074(r3) -/* 04F948 80054EE8 91032078 */ stw r8, 0x2078(r3) -/* 04F94C 80054EEC 48013048 */ b lbl_80067F34 -.global lbl_80054EF0 -lbl_80054EF0: -/* 04F950 80054EF0 3C9E0001 */ addis r4, r30, 1 -/* 04F954 80054EF4 80642064 */ lwz r3, 0x2064(r4) -/* 04F958 80054EF8 5788D6FE */ rlwinm r8, r28, 0x1a, 0x1b, 0x1f -/* 04F95C 80054EFC 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04F960 80054F00 28030000 */ cmplwi r3, 0 -/* 04F964 80054F04 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04F968 80054F08 4082000C */ bne lbl_80054F14 -/* 04F96C 80054F0C 38A00000 */ li r5, 0 -/* 04F970 80054F10 48000094 */ b lbl_80054FA4 -lbl_80054F14: -/* 04F974 80054F14 80A42074 */ lwz r5, 0x2074(r4) -/* 04F978 80054F18 28050000 */ cmplwi r5, 0 -/* 04F97C 80054F1C 4082000C */ bne lbl_80054F28 -/* 04F980 80054F20 38A00000 */ li r5, 0 -/* 04F984 80054F24 48000080 */ b lbl_80054FA4 -lbl_80054F28: -/* 04F988 80054F28 80842078 */ lwz r4, 0x2078(r4) -/* 04F98C 80054F2C 7C002000 */ cmpw r0, r4 -/* 04F990 80054F30 4182000C */ beq lbl_80054F3C -/* 04F994 80054F34 38A00000 */ li r5, 0 -/* 04F998 80054F38 4800006C */ b lbl_80054FA4 -lbl_80054F3C: -/* 04F99C 80054F3C 80DE0034 */ lwz r6, 0x34(r30) -/* 04F9A0 80054F40 38A00000 */ li r5, 0 -/* 04F9A4 80054F44 80860008 */ lwz r4, 8(r6) -/* 04F9A8 80054F48 2C040000 */ cmpwi r4, 0 -/* 04F9AC 80054F4C 7C8903A6 */ mtctr r4 -/* 04F9B0 80054F50 40810028 */ ble lbl_80054F78 -lbl_80054F54: -/* 04F9B4 80054F54 8086000C */ lwz r4, 0xc(r6) -/* 04F9B8 80054F58 38E50004 */ addi r7, r5, 4 -/* 04F9BC 80054F5C 7C84382E */ lwzx r4, r4, r7 -/* 04F9C0 80054F60 7C1D2000 */ cmpw r29, r4 -/* 04F9C4 80054F64 4082000C */ bne lbl_80054F70 -/* 04F9C8 80054F68 38800000 */ li r4, 0 -/* 04F9CC 80054F6C 48000010 */ b lbl_80054F7C -lbl_80054F70: -/* 04F9D0 80054F70 38A50008 */ addi r5, r5, 8 -/* 04F9D4 80054F74 4200FFE0 */ bdnz lbl_80054F54 -lbl_80054F78: -/* 04F9D8 80054F78 38800001 */ li r4, 1 -lbl_80054F7C: -/* 04F9DC 80054F7C 2C040000 */ cmpwi r4, 0 -/* 04F9E0 80054F80 40820014 */ bne lbl_80054F94 -/* 04F9E4 80054F84 38A00000 */ li r5, 0 -/* 04F9E8 80054F88 3C9E0001 */ addis r4, r30, 1 -/* 04F9EC 80054F8C 90A42074 */ stw r5, 0x2074(r4) -/* 04F9F0 80054F90 48000014 */ b lbl_80054FA4 -lbl_80054F94: -/* 04F9F4 80054F94 3C9E0001 */ addis r4, r30, 1 -/* 04F9F8 80054F98 38A00000 */ li r5, 0 -/* 04F9FC 80054F9C 90A42074 */ stw r5, 0x2074(r4) -/* 04FA00 80054FA0 38A00001 */ li r5, 1 -lbl_80054FA4: -/* 04FA04 80054FA4 2C050000 */ cmpwi r5, 0 -/* 04FA08 80054FA8 41820038 */ beq lbl_80054FE0 -/* 04FA0C 80054FAC 281F0000 */ cmplwi r31, 0 -/* 04FA10 80054FB0 41820020 */ beq lbl_80054FD0 -/* 04FA14 80054FB4 80A10084 */ lwz r5, 0x84(r1) -/* 04FA18 80054FB8 3CC06000 */ lis r6, 0x6000 -/* 04FA1C 80054FBC 38850001 */ addi r4, r5, 1 -/* 04FA20 80054FC0 90810084 */ stw r4, 0x84(r1) -/* 04FA24 80054FC4 54A4103A */ slwi r4, r5, 2 -/* 04FA28 80054FC8 7CDF212E */ stwx r6, r31, r4 -/* 04FA2C 80054FCC 48000060 */ b lbl_8005502C -lbl_80054FD0: -/* 04FA30 80054FD0 80810084 */ lwz r4, 0x84(r1) -/* 04FA34 80054FD4 38840001 */ addi r4, r4, 1 -/* 04FA38 80054FD8 90810084 */ stw r4, 0x84(r1) -/* 04FA3C 80054FDC 48000050 */ b lbl_8005502C -lbl_80054FE0: -/* 04FA40 80054FE0 281F0000 */ cmplwi r31, 0 -/* 04FA44 80054FE4 4182003C */ beq lbl_80055020 -/* 04FA48 80054FE8 54051838 */ slwi r5, r0, 3 -/* 04FA4C 80054FEC 80810084 */ lwz r4, 0x84(r1) -/* 04FA50 80054FF0 38A50140 */ addi r5, r5, 0x140 -/* 04FA54 80054FF4 7CBE2A14 */ add r5, r30, r5 -/* 04FA58 80054FF8 5406A814 */ slwi r6, r0, 0x15 -/* 04FA5C 80054FFC 7CBE2850 */ subf r5, r30, r5 -/* 04FA60 80055000 38E40001 */ addi r7, r4, 1 -/* 04FA64 80055004 90E10084 */ stw r7, 0x84(r1) -/* 04FA68 80055008 64C6C803 */ oris r6, r6, 0xc803 -/* 04FA6C 8005500C 54A5043E */ clrlwi r5, r5, 0x10 -/* 04FA70 80055010 7CA62A14 */ add r5, r6, r5 -/* 04FA74 80055014 5484103A */ slwi r4, r4, 2 -/* 04FA78 80055018 7CBF212E */ stwx r5, r31, r4 -/* 04FA7C 8005501C 48000010 */ b lbl_8005502C -lbl_80055020: -/* 04FA80 80055020 80810084 */ lwz r4, 0x84(r1) -/* 04FA84 80055024 38840001 */ addi r4, r4, 1 -/* 04FA88 80055028 90810084 */ stw r4, 0x84(r1) -lbl_8005502C: -/* 04FA8C 8005502C 3C9E0001 */ addis r4, r30, 1 -/* 04FA90 80055030 80A42064 */ lwz r5, 0x2064(r4) -/* 04FA94 80055034 28050000 */ cmplwi r5, 0 -/* 04FA98 80055038 4082000C */ bne lbl_80055044 -/* 04FA9C 8005503C 38A00000 */ li r5, 0 -/* 04FAA0 80055040 48000094 */ b lbl_800550D4 -lbl_80055044: -/* 04FAA4 80055044 80A42074 */ lwz r5, 0x2074(r4) -/* 04FAA8 80055048 28050000 */ cmplwi r5, 0 -/* 04FAAC 8005504C 4082000C */ bne lbl_80055058 -/* 04FAB0 80055050 38A00000 */ li r5, 0 -/* 04FAB4 80055054 48000080 */ b lbl_800550D4 -lbl_80055058: -/* 04FAB8 80055058 80842078 */ lwz r4, 0x2078(r4) -/* 04FABC 8005505C 7C032000 */ cmpw r3, r4 -/* 04FAC0 80055060 4182000C */ beq lbl_8005506C -/* 04FAC4 80055064 38A00000 */ li r5, 0 -/* 04FAC8 80055068 4800006C */ b lbl_800550D4 -lbl_8005506C: -/* 04FACC 8005506C 80DE0034 */ lwz r6, 0x34(r30) -/* 04FAD0 80055070 38A00000 */ li r5, 0 -/* 04FAD4 80055074 80860008 */ lwz r4, 8(r6) -/* 04FAD8 80055078 2C040000 */ cmpwi r4, 0 -/* 04FADC 8005507C 7C8903A6 */ mtctr r4 -/* 04FAE0 80055080 40810028 */ ble lbl_800550A8 -lbl_80055084: -/* 04FAE4 80055084 8086000C */ lwz r4, 0xc(r6) -/* 04FAE8 80055088 38E50004 */ addi r7, r5, 4 -/* 04FAEC 8005508C 7C84382E */ lwzx r4, r4, r7 -/* 04FAF0 80055090 7C1D2000 */ cmpw r29, r4 -/* 04FAF4 80055094 4082000C */ bne lbl_800550A0 -/* 04FAF8 80055098 38800000 */ li r4, 0 -/* 04FAFC 8005509C 48000010 */ b lbl_800550AC -lbl_800550A0: -/* 04FB00 800550A0 38A50008 */ addi r5, r5, 8 -/* 04FB04 800550A4 4200FFE0 */ bdnz lbl_80055084 -lbl_800550A8: -/* 04FB08 800550A8 38800001 */ li r4, 1 -lbl_800550AC: -/* 04FB0C 800550AC 2C040000 */ cmpwi r4, 0 -/* 04FB10 800550B0 40820014 */ bne lbl_800550C4 -/* 04FB14 800550B4 38A00000 */ li r5, 0 -/* 04FB18 800550B8 3C9E0001 */ addis r4, r30, 1 -/* 04FB1C 800550BC 90A42074 */ stw r5, 0x2074(r4) -/* 04FB20 800550C0 48000014 */ b lbl_800550D4 -lbl_800550C4: -/* 04FB24 800550C4 3C9E0001 */ addis r4, r30, 1 -/* 04FB28 800550C8 38A00000 */ li r5, 0 -/* 04FB2C 800550CC 90A42074 */ stw r5, 0x2074(r4) -/* 04FB30 800550D0 38A00001 */ li r5, 1 -lbl_800550D4: -/* 04FB34 800550D4 2C050000 */ cmpwi r5, 0 -/* 04FB38 800550D8 41820038 */ beq lbl_80055110 -/* 04FB3C 800550DC 281F0000 */ cmplwi r31, 0 -/* 04FB40 800550E0 41820020 */ beq lbl_80055100 -/* 04FB44 800550E4 80A10084 */ lwz r5, 0x84(r1) -/* 04FB48 800550E8 3CC06000 */ lis r6, 0x6000 -/* 04FB4C 800550EC 38850001 */ addi r4, r5, 1 -/* 04FB50 800550F0 90810084 */ stw r4, 0x84(r1) -/* 04FB54 800550F4 54A4103A */ slwi r4, r5, 2 -/* 04FB58 800550F8 7CDF212E */ stwx r6, r31, r4 -/* 04FB5C 800550FC 48000060 */ b lbl_8005515C -lbl_80055100: -/* 04FB60 80055100 80810084 */ lwz r4, 0x84(r1) -/* 04FB64 80055104 38840001 */ addi r4, r4, 1 -/* 04FB68 80055108 90810084 */ stw r4, 0x84(r1) -/* 04FB6C 8005510C 48000050 */ b lbl_8005515C -lbl_80055110: -/* 04FB70 80055110 281F0000 */ cmplwi r31, 0 -/* 04FB74 80055114 4182003C */ beq lbl_80055150 -/* 04FB78 80055118 54651838 */ slwi r5, r3, 3 -/* 04FB7C 8005511C 80810084 */ lwz r4, 0x84(r1) -/* 04FB80 80055120 38A50140 */ addi r5, r5, 0x140 -/* 04FB84 80055124 7CBE2A14 */ add r5, r30, r5 -/* 04FB88 80055128 5466A814 */ slwi r6, r3, 0x15 -/* 04FB8C 8005512C 7CBE2850 */ subf r5, r30, r5 -/* 04FB90 80055130 38E40001 */ addi r7, r4, 1 -/* 04FB94 80055134 90E10084 */ stw r7, 0x84(r1) -/* 04FB98 80055138 64C6C803 */ oris r6, r6, 0xc803 -/* 04FB9C 8005513C 54A5043E */ clrlwi r5, r5, 0x10 -/* 04FBA0 80055140 7CA62A14 */ add r5, r6, r5 -/* 04FBA4 80055144 5484103A */ slwi r4, r4, 2 -/* 04FBA8 80055148 7CBF212E */ stwx r5, r31, r4 -/* 04FBAC 8005514C 48000010 */ b lbl_8005515C -lbl_80055150: -/* 04FBB0 80055150 80810084 */ lwz r4, 0x84(r1) -/* 04FBB4 80055154 38840001 */ addi r4, r4, 1 -/* 04FBB8 80055158 90810084 */ stw r4, 0x84(r1) -lbl_8005515C: -/* 04FBBC 8005515C 281F0000 */ cmplwi r31, 0 -/* 04FBC0 80055160 41820038 */ beq lbl_80055198 -/* 04FBC4 80055164 80A10084 */ lwz r5, 0x84(r1) -/* 04FBC8 80055168 5504A814 */ slwi r4, r8, 0x15 -/* 04FBCC 8005516C 6486FC00 */ oris r6, r4, 0xfc00 -/* 04FBD0 80055170 38850001 */ addi r4, r5, 1 -/* 04FBD4 80055174 60C60028 */ ori r6, r6, 0x28 -/* 04FBD8 80055178 90810084 */ stw r4, 0x84(r1) -/* 04FBDC 8005517C 5400801E */ slwi r0, r0, 0x10 -/* 04FBE0 80055180 54635828 */ slwi r3, r3, 0xb -/* 04FBE4 80055184 7CC00378 */ or r0, r6, r0 -/* 04FBE8 80055188 7C600378 */ or r0, r3, r0 -/* 04FBEC 8005518C 54A3103A */ slwi r3, r5, 2 -/* 04FBF0 80055190 7C1F192E */ stwx r0, r31, r3 -/* 04FBF4 80055194 48000010 */ b lbl_800551A4 -lbl_80055198: -/* 04FBF8 80055198 80610084 */ lwz r3, 0x84(r1) -/* 04FBFC 8005519C 38030001 */ addi r0, r3, 1 -/* 04FC00 800551A0 90010084 */ stw r0, 0x84(r1) -lbl_800551A4: -/* 04FC04 800551A4 281F0000 */ cmplwi r31, 0 -/* 04FC08 800551A8 4182003C */ beq lbl_800551E4 -/* 04FC0C 800551AC 55041838 */ slwi r4, r8, 3 -/* 04FC10 800551B0 80610084 */ lwz r3, 0x84(r1) -/* 04FC14 800551B4 38040140 */ addi r0, r4, 0x140 -/* 04FC18 800551B8 7C1E0214 */ add r0, r30, r0 -/* 04FC1C 800551BC 5505A814 */ slwi r5, r8, 0x15 -/* 04FC20 800551C0 7C9E0050 */ subf r4, r30, r0 -/* 04FC24 800551C4 38030001 */ addi r0, r3, 1 -/* 04FC28 800551C8 90010084 */ stw r0, 0x84(r1) -/* 04FC2C 800551CC 64A0D803 */ oris r0, r5, 0xd803 -/* 04FC30 800551D0 5484043E */ clrlwi r4, r4, 0x10 -/* 04FC34 800551D4 7C002214 */ add r0, r0, r4 -/* 04FC38 800551D8 5463103A */ slwi r3, r3, 2 -/* 04FC3C 800551DC 7C1F192E */ stwx r0, r31, r3 -/* 04FC40 800551E0 48000010 */ b lbl_800551F0 -lbl_800551E4: -/* 04FC44 800551E4 80610084 */ lwz r3, 0x84(r1) -/* 04FC48 800551E8 38030001 */ addi r0, r3, 1 -/* 04FC4C 800551EC 90010084 */ stw r0, 0x84(r1) -lbl_800551F0: -/* 04FC50 800551F0 3C7E0001 */ addis r3, r30, 1 -/* 04FC54 800551F4 38000002 */ li r0, 2 -/* 04FC58 800551F8 90032074 */ stw r0, 0x2074(r3) -/* 04FC5C 800551FC 91032078 */ stw r8, 0x2078(r3) -/* 04FC60 80055200 48012D34 */ b lbl_80067F34 -.global lbl_80055204 -lbl_80055204: -/* 04FC64 80055204 3C9E0001 */ addis r4, r30, 1 -/* 04FC68 80055208 80642064 */ lwz r3, 0x2064(r4) -/* 04FC6C 8005520C 5788D6FE */ rlwinm r8, r28, 0x1a, 0x1b, 0x1f -/* 04FC70 80055210 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04FC74 80055214 28030000 */ cmplwi r3, 0 -/* 04FC78 80055218 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04FC7C 8005521C 4082000C */ bne lbl_80055228 -/* 04FC80 80055220 38A00000 */ li r5, 0 -/* 04FC84 80055224 48000094 */ b lbl_800552B8 -lbl_80055228: -/* 04FC88 80055228 80A42074 */ lwz r5, 0x2074(r4) -/* 04FC8C 8005522C 28050000 */ cmplwi r5, 0 -/* 04FC90 80055230 4082000C */ bne lbl_8005523C -/* 04FC94 80055234 38A00000 */ li r5, 0 -/* 04FC98 80055238 48000080 */ b lbl_800552B8 -lbl_8005523C: -/* 04FC9C 8005523C 80842078 */ lwz r4, 0x2078(r4) -/* 04FCA0 80055240 7C002000 */ cmpw r0, r4 -/* 04FCA4 80055244 4182000C */ beq lbl_80055250 -/* 04FCA8 80055248 38A00000 */ li r5, 0 -/* 04FCAC 8005524C 4800006C */ b lbl_800552B8 -lbl_80055250: -/* 04FCB0 80055250 80DE0034 */ lwz r6, 0x34(r30) -/* 04FCB4 80055254 38A00000 */ li r5, 0 -/* 04FCB8 80055258 80860008 */ lwz r4, 8(r6) -/* 04FCBC 8005525C 2C040000 */ cmpwi r4, 0 -/* 04FCC0 80055260 7C8903A6 */ mtctr r4 -/* 04FCC4 80055264 40810028 */ ble lbl_8005528C -lbl_80055268: -/* 04FCC8 80055268 8086000C */ lwz r4, 0xc(r6) -/* 04FCCC 8005526C 38E50004 */ addi r7, r5, 4 -/* 04FCD0 80055270 7C84382E */ lwzx r4, r4, r7 -/* 04FCD4 80055274 7C1D2000 */ cmpw r29, r4 -/* 04FCD8 80055278 4082000C */ bne lbl_80055284 -/* 04FCDC 8005527C 38800000 */ li r4, 0 -/* 04FCE0 80055280 48000010 */ b lbl_80055290 -lbl_80055284: -/* 04FCE4 80055284 38A50008 */ addi r5, r5, 8 -/* 04FCE8 80055288 4200FFE0 */ bdnz lbl_80055268 -lbl_8005528C: -/* 04FCEC 8005528C 38800001 */ li r4, 1 -lbl_80055290: -/* 04FCF0 80055290 2C040000 */ cmpwi r4, 0 -/* 04FCF4 80055294 40820014 */ bne lbl_800552A8 -/* 04FCF8 80055298 38A00000 */ li r5, 0 -/* 04FCFC 8005529C 3C9E0001 */ addis r4, r30, 1 -/* 04FD00 800552A0 90A42074 */ stw r5, 0x2074(r4) -/* 04FD04 800552A4 48000014 */ b lbl_800552B8 -lbl_800552A8: -/* 04FD08 800552A8 3C9E0001 */ addis r4, r30, 1 -/* 04FD0C 800552AC 38A00000 */ li r5, 0 -/* 04FD10 800552B0 90A42074 */ stw r5, 0x2074(r4) -/* 04FD14 800552B4 38A00001 */ li r5, 1 -lbl_800552B8: -/* 04FD18 800552B8 2C050000 */ cmpwi r5, 0 -/* 04FD1C 800552BC 41820038 */ beq lbl_800552F4 -/* 04FD20 800552C0 281F0000 */ cmplwi r31, 0 -/* 04FD24 800552C4 41820020 */ beq lbl_800552E4 -/* 04FD28 800552C8 80A10084 */ lwz r5, 0x84(r1) -/* 04FD2C 800552CC 3CC06000 */ lis r6, 0x6000 -/* 04FD30 800552D0 38850001 */ addi r4, r5, 1 -/* 04FD34 800552D4 90810084 */ stw r4, 0x84(r1) -/* 04FD38 800552D8 54A4103A */ slwi r4, r5, 2 -/* 04FD3C 800552DC 7CDF212E */ stwx r6, r31, r4 -/* 04FD40 800552E0 48000060 */ b lbl_80055340 -lbl_800552E4: -/* 04FD44 800552E4 80810084 */ lwz r4, 0x84(r1) -/* 04FD48 800552E8 38840001 */ addi r4, r4, 1 -/* 04FD4C 800552EC 90810084 */ stw r4, 0x84(r1) -/* 04FD50 800552F0 48000050 */ b lbl_80055340 -lbl_800552F4: -/* 04FD54 800552F4 281F0000 */ cmplwi r31, 0 -/* 04FD58 800552F8 4182003C */ beq lbl_80055334 -/* 04FD5C 800552FC 54051838 */ slwi r5, r0, 3 -/* 04FD60 80055300 80810084 */ lwz r4, 0x84(r1) -/* 04FD64 80055304 38A50140 */ addi r5, r5, 0x140 -/* 04FD68 80055308 7CBE2A14 */ add r5, r30, r5 -/* 04FD6C 8005530C 5406A814 */ slwi r6, r0, 0x15 -/* 04FD70 80055310 7CBE2850 */ subf r5, r30, r5 -/* 04FD74 80055314 38E40001 */ addi r7, r4, 1 -/* 04FD78 80055318 90E10084 */ stw r7, 0x84(r1) -/* 04FD7C 8005531C 64C6C803 */ oris r6, r6, 0xc803 -/* 04FD80 80055320 54A5043E */ clrlwi r5, r5, 0x10 -/* 04FD84 80055324 7CA62A14 */ add r5, r6, r5 -/* 04FD88 80055328 5484103A */ slwi r4, r4, 2 -/* 04FD8C 8005532C 7CBF212E */ stwx r5, r31, r4 -/* 04FD90 80055330 48000010 */ b lbl_80055340 -lbl_80055334: -/* 04FD94 80055334 80810084 */ lwz r4, 0x84(r1) -/* 04FD98 80055338 38840001 */ addi r4, r4, 1 -/* 04FD9C 8005533C 90810084 */ stw r4, 0x84(r1) -lbl_80055340: -/* 04FDA0 80055340 7C001800 */ cmpw r0, r3 -/* 04FDA4 80055344 41820134 */ beq lbl_80055478 -/* 04FDA8 80055348 3C9E0001 */ addis r4, r30, 1 -/* 04FDAC 8005534C 80A42064 */ lwz r5, 0x2064(r4) -/* 04FDB0 80055350 28050000 */ cmplwi r5, 0 -/* 04FDB4 80055354 4082000C */ bne lbl_80055360 -/* 04FDB8 80055358 38A00000 */ li r5, 0 -/* 04FDBC 8005535C 48000094 */ b lbl_800553F0 -lbl_80055360: -/* 04FDC0 80055360 80A42074 */ lwz r5, 0x2074(r4) -/* 04FDC4 80055364 28050000 */ cmplwi r5, 0 -/* 04FDC8 80055368 4082000C */ bne lbl_80055374 -/* 04FDCC 8005536C 38A00000 */ li r5, 0 -/* 04FDD0 80055370 48000080 */ b lbl_800553F0 -lbl_80055374: -/* 04FDD4 80055374 80842078 */ lwz r4, 0x2078(r4) -/* 04FDD8 80055378 7C032000 */ cmpw r3, r4 -/* 04FDDC 8005537C 4182000C */ beq lbl_80055388 -/* 04FDE0 80055380 38A00000 */ li r5, 0 -/* 04FDE4 80055384 4800006C */ b lbl_800553F0 -lbl_80055388: -/* 04FDE8 80055388 80DE0034 */ lwz r6, 0x34(r30) -/* 04FDEC 8005538C 38A00000 */ li r5, 0 -/* 04FDF0 80055390 80860008 */ lwz r4, 8(r6) -/* 04FDF4 80055394 2C040000 */ cmpwi r4, 0 -/* 04FDF8 80055398 7C8903A6 */ mtctr r4 -/* 04FDFC 8005539C 40810028 */ ble lbl_800553C4 -lbl_800553A0: -/* 04FE00 800553A0 8086000C */ lwz r4, 0xc(r6) -/* 04FE04 800553A4 38E50004 */ addi r7, r5, 4 -/* 04FE08 800553A8 7C84382E */ lwzx r4, r4, r7 -/* 04FE0C 800553AC 7C1D2000 */ cmpw r29, r4 -/* 04FE10 800553B0 4082000C */ bne lbl_800553BC -/* 04FE14 800553B4 38800000 */ li r4, 0 -/* 04FE18 800553B8 48000010 */ b lbl_800553C8 -lbl_800553BC: -/* 04FE1C 800553BC 38A50008 */ addi r5, r5, 8 -/* 04FE20 800553C0 4200FFE0 */ bdnz lbl_800553A0 -lbl_800553C4: -/* 04FE24 800553C4 38800001 */ li r4, 1 -lbl_800553C8: -/* 04FE28 800553C8 2C040000 */ cmpwi r4, 0 -/* 04FE2C 800553CC 40820014 */ bne lbl_800553E0 -/* 04FE30 800553D0 38A00000 */ li r5, 0 -/* 04FE34 800553D4 3C9E0001 */ addis r4, r30, 1 -/* 04FE38 800553D8 90A42074 */ stw r5, 0x2074(r4) -/* 04FE3C 800553DC 48000014 */ b lbl_800553F0 -lbl_800553E0: -/* 04FE40 800553E0 3C9E0001 */ addis r4, r30, 1 -/* 04FE44 800553E4 38A00000 */ li r5, 0 -/* 04FE48 800553E8 90A42074 */ stw r5, 0x2074(r4) -/* 04FE4C 800553EC 38A00001 */ li r5, 1 -lbl_800553F0: -/* 04FE50 800553F0 2C050000 */ cmpwi r5, 0 -/* 04FE54 800553F4 41820038 */ beq lbl_8005542C -/* 04FE58 800553F8 281F0000 */ cmplwi r31, 0 -/* 04FE5C 800553FC 41820020 */ beq lbl_8005541C -/* 04FE60 80055400 80A10084 */ lwz r5, 0x84(r1) -/* 04FE64 80055404 3CC06000 */ lis r6, 0x6000 -/* 04FE68 80055408 38850001 */ addi r4, r5, 1 -/* 04FE6C 8005540C 90810084 */ stw r4, 0x84(r1) -/* 04FE70 80055410 54A4103A */ slwi r4, r5, 2 -/* 04FE74 80055414 7CDF212E */ stwx r6, r31, r4 -/* 04FE78 80055418 48000060 */ b lbl_80055478 -lbl_8005541C: -/* 04FE7C 8005541C 80810084 */ lwz r4, 0x84(r1) -/* 04FE80 80055420 38840001 */ addi r4, r4, 1 -/* 04FE84 80055424 90810084 */ stw r4, 0x84(r1) -/* 04FE88 80055428 48000050 */ b lbl_80055478 -lbl_8005542C: -/* 04FE8C 8005542C 281F0000 */ cmplwi r31, 0 -/* 04FE90 80055430 4182003C */ beq lbl_8005546C -/* 04FE94 80055434 54651838 */ slwi r5, r3, 3 -/* 04FE98 80055438 80810084 */ lwz r4, 0x84(r1) -/* 04FE9C 8005543C 38A50140 */ addi r5, r5, 0x140 -/* 04FEA0 80055440 7CBE2A14 */ add r5, r30, r5 -/* 04FEA4 80055444 5466A814 */ slwi r6, r3, 0x15 -/* 04FEA8 80055448 7CBE2850 */ subf r5, r30, r5 -/* 04FEAC 8005544C 38E40001 */ addi r7, r4, 1 -/* 04FEB0 80055450 90E10084 */ stw r7, 0x84(r1) -/* 04FEB4 80055454 64C6C803 */ oris r6, r6, 0xc803 -/* 04FEB8 80055458 54A5043E */ clrlwi r5, r5, 0x10 -/* 04FEBC 8005545C 7CA62A14 */ add r5, r6, r5 -/* 04FEC0 80055460 5484103A */ slwi r4, r4, 2 -/* 04FEC4 80055464 7CBF212E */ stwx r5, r31, r4 -/* 04FEC8 80055468 48000010 */ b lbl_80055478 -lbl_8005546C: -/* 04FECC 8005546C 80810084 */ lwz r4, 0x84(r1) -/* 04FED0 80055470 38840001 */ addi r4, r4, 1 -/* 04FED4 80055474 90810084 */ stw r4, 0x84(r1) -lbl_80055478: -/* 04FED8 80055478 281F0000 */ cmplwi r31, 0 -/* 04FEDC 8005547C 41820038 */ beq lbl_800554B4 -/* 04FEE0 80055480 80A10084 */ lwz r5, 0x84(r1) -/* 04FEE4 80055484 5504A814 */ slwi r4, r8, 0x15 -/* 04FEE8 80055488 6486FC00 */ oris r6, r4, 0xfc00 -/* 04FEEC 8005548C 38850001 */ addi r4, r5, 1 -/* 04FEF0 80055490 60C60032 */ ori r6, r6, 0x32 -/* 04FEF4 80055494 90810084 */ stw r4, 0x84(r1) -/* 04FEF8 80055498 5400801E */ slwi r0, r0, 0x10 -/* 04FEFC 8005549C 54633032 */ slwi r3, r3, 6 -/* 04FF00 800554A0 7CC00378 */ or r0, r6, r0 -/* 04FF04 800554A4 7C600378 */ or r0, r3, r0 -/* 04FF08 800554A8 54A3103A */ slwi r3, r5, 2 -/* 04FF0C 800554AC 7C1F192E */ stwx r0, r31, r3 -/* 04FF10 800554B0 48000010 */ b lbl_800554C0 -lbl_800554B4: -/* 04FF14 800554B4 80610084 */ lwz r3, 0x84(r1) -/* 04FF18 800554B8 38030001 */ addi r0, r3, 1 -/* 04FF1C 800554BC 90010084 */ stw r0, 0x84(r1) -lbl_800554C0: -/* 04FF20 800554C0 281F0000 */ cmplwi r31, 0 -/* 04FF24 800554C4 4182003C */ beq lbl_80055500 -/* 04FF28 800554C8 55041838 */ slwi r4, r8, 3 -/* 04FF2C 800554CC 80610084 */ lwz r3, 0x84(r1) -/* 04FF30 800554D0 38040140 */ addi r0, r4, 0x140 -/* 04FF34 800554D4 7C1E0214 */ add r0, r30, r0 -/* 04FF38 800554D8 5505A814 */ slwi r5, r8, 0x15 -/* 04FF3C 800554DC 7C9E0050 */ subf r4, r30, r0 -/* 04FF40 800554E0 38030001 */ addi r0, r3, 1 -/* 04FF44 800554E4 90010084 */ stw r0, 0x84(r1) -/* 04FF48 800554E8 64A0D803 */ oris r0, r5, 0xd803 -/* 04FF4C 800554EC 5484043E */ clrlwi r4, r4, 0x10 -/* 04FF50 800554F0 7C002214 */ add r0, r0, r4 -/* 04FF54 800554F4 5463103A */ slwi r3, r3, 2 -/* 04FF58 800554F8 7C1F192E */ stwx r0, r31, r3 -/* 04FF5C 800554FC 48000010 */ b lbl_8005550C -lbl_80055500: -/* 04FF60 80055500 80610084 */ lwz r3, 0x84(r1) -/* 04FF64 80055504 38030001 */ addi r0, r3, 1 -/* 04FF68 80055508 90010084 */ stw r0, 0x84(r1) -lbl_8005550C: -/* 04FF6C 8005550C 3C7E0001 */ addis r3, r30, 1 -/* 04FF70 80055510 38000002 */ li r0, 2 -/* 04FF74 80055514 90032074 */ stw r0, 0x2074(r3) -/* 04FF78 80055518 91032078 */ stw r8, 0x2078(r3) -/* 04FF7C 8005551C 48012A18 */ b lbl_80067F34 -.global lbl_80055520 -lbl_80055520: -/* 04FF80 80055520 3C9E0001 */ addis r4, r30, 1 -/* 04FF84 80055524 80642064 */ lwz r3, 0x2064(r4) -/* 04FF88 80055528 5788D6FE */ rlwinm r8, r28, 0x1a, 0x1b, 0x1f -/* 04FF8C 8005552C 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 04FF90 80055530 28030000 */ cmplwi r3, 0 -/* 04FF94 80055534 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 04FF98 80055538 4082000C */ bne lbl_80055544 -/* 04FF9C 8005553C 38A00000 */ li r5, 0 -/* 04FFA0 80055540 48000094 */ b lbl_800555D4 -lbl_80055544: -/* 04FFA4 80055544 80A42074 */ lwz r5, 0x2074(r4) -/* 04FFA8 80055548 28050000 */ cmplwi r5, 0 -/* 04FFAC 8005554C 4082000C */ bne lbl_80055558 -/* 04FFB0 80055550 38A00000 */ li r5, 0 -/* 04FFB4 80055554 48000080 */ b lbl_800555D4 -lbl_80055558: -/* 04FFB8 80055558 80842078 */ lwz r4, 0x2078(r4) -/* 04FFBC 8005555C 7C002000 */ cmpw r0, r4 -/* 04FFC0 80055560 4182000C */ beq lbl_8005556C -/* 04FFC4 80055564 38A00000 */ li r5, 0 -/* 04FFC8 80055568 4800006C */ b lbl_800555D4 -lbl_8005556C: -/* 04FFCC 8005556C 80DE0034 */ lwz r6, 0x34(r30) -/* 04FFD0 80055570 38A00000 */ li r5, 0 -/* 04FFD4 80055574 80860008 */ lwz r4, 8(r6) -/* 04FFD8 80055578 2C040000 */ cmpwi r4, 0 -/* 04FFDC 8005557C 7C8903A6 */ mtctr r4 -/* 04FFE0 80055580 40810028 */ ble lbl_800555A8 -lbl_80055584: -/* 04FFE4 80055584 8086000C */ lwz r4, 0xc(r6) -/* 04FFE8 80055588 38E50004 */ addi r7, r5, 4 -/* 04FFEC 8005558C 7C84382E */ lwzx r4, r4, r7 -/* 04FFF0 80055590 7C1D2000 */ cmpw r29, r4 -/* 04FFF4 80055594 4082000C */ bne lbl_800555A0 -/* 04FFF8 80055598 38800000 */ li r4, 0 -/* 04FFFC 8005559C 48000010 */ b lbl_800555AC -lbl_800555A0: -/* 050000 800555A0 38A50008 */ addi r5, r5, 8 -/* 050004 800555A4 4200FFE0 */ bdnz lbl_80055584 -lbl_800555A8: -/* 050008 800555A8 38800001 */ li r4, 1 -lbl_800555AC: -/* 05000C 800555AC 2C040000 */ cmpwi r4, 0 -/* 050010 800555B0 40820014 */ bne lbl_800555C4 -/* 050014 800555B4 38A00000 */ li r5, 0 -/* 050018 800555B8 3C9E0001 */ addis r4, r30, 1 -/* 05001C 800555BC 90A42074 */ stw r5, 0x2074(r4) -/* 050020 800555C0 48000014 */ b lbl_800555D4 -lbl_800555C4: -/* 050024 800555C4 3C9E0001 */ addis r4, r30, 1 -/* 050028 800555C8 38A00000 */ li r5, 0 -/* 05002C 800555CC 90A42074 */ stw r5, 0x2074(r4) -/* 050030 800555D0 38A00001 */ li r5, 1 -lbl_800555D4: -/* 050034 800555D4 2C050000 */ cmpwi r5, 0 -/* 050038 800555D8 41820038 */ beq lbl_80055610 -/* 05003C 800555DC 281F0000 */ cmplwi r31, 0 -/* 050040 800555E0 41820020 */ beq lbl_80055600 -/* 050044 800555E4 80A10084 */ lwz r5, 0x84(r1) -/* 050048 800555E8 3CC06000 */ lis r6, 0x6000 -/* 05004C 800555EC 38850001 */ addi r4, r5, 1 -/* 050050 800555F0 90810084 */ stw r4, 0x84(r1) -/* 050054 800555F4 54A4103A */ slwi r4, r5, 2 -/* 050058 800555F8 7CDF212E */ stwx r6, r31, r4 -/* 05005C 800555FC 48000060 */ b lbl_8005565C -lbl_80055600: -/* 050060 80055600 80810084 */ lwz r4, 0x84(r1) -/* 050064 80055604 38840001 */ addi r4, r4, 1 -/* 050068 80055608 90810084 */ stw r4, 0x84(r1) -/* 05006C 8005560C 48000050 */ b lbl_8005565C -lbl_80055610: -/* 050070 80055610 281F0000 */ cmplwi r31, 0 -/* 050074 80055614 4182003C */ beq lbl_80055650 -/* 050078 80055618 54051838 */ slwi r5, r0, 3 -/* 05007C 8005561C 80810084 */ lwz r4, 0x84(r1) -/* 050080 80055620 38A50140 */ addi r5, r5, 0x140 -/* 050084 80055624 7CBE2A14 */ add r5, r30, r5 -/* 050088 80055628 5406A814 */ slwi r6, r0, 0x15 -/* 05008C 8005562C 7CBE2850 */ subf r5, r30, r5 -/* 050090 80055630 38E40001 */ addi r7, r4, 1 -/* 050094 80055634 90E10084 */ stw r7, 0x84(r1) -/* 050098 80055638 64C6C803 */ oris r6, r6, 0xc803 -/* 05009C 8005563C 54A5043E */ clrlwi r5, r5, 0x10 -/* 0500A0 80055640 7CA62A14 */ add r5, r6, r5 -/* 0500A4 80055644 5484103A */ slwi r4, r4, 2 -/* 0500A8 80055648 7CBF212E */ stwx r5, r31, r4 -/* 0500AC 8005564C 48000010 */ b lbl_8005565C -lbl_80055650: -/* 0500B0 80055650 80810084 */ lwz r4, 0x84(r1) -/* 0500B4 80055654 38840001 */ addi r4, r4, 1 -/* 0500B8 80055658 90810084 */ stw r4, 0x84(r1) -lbl_8005565C: -/* 0500BC 8005565C 3C9E0001 */ addis r4, r30, 1 -/* 0500C0 80055660 80A42064 */ lwz r5, 0x2064(r4) -/* 0500C4 80055664 28050000 */ cmplwi r5, 0 -/* 0500C8 80055668 4082000C */ bne lbl_80055674 -/* 0500CC 8005566C 38A00000 */ li r5, 0 -/* 0500D0 80055670 48000094 */ b lbl_80055704 -lbl_80055674: -/* 0500D4 80055674 80A42074 */ lwz r5, 0x2074(r4) -/* 0500D8 80055678 28050000 */ cmplwi r5, 0 -/* 0500DC 8005567C 4082000C */ bne lbl_80055688 -/* 0500E0 80055680 38A00000 */ li r5, 0 -/* 0500E4 80055684 48000080 */ b lbl_80055704 -lbl_80055688: -/* 0500E8 80055688 80842078 */ lwz r4, 0x2078(r4) -/* 0500EC 8005568C 7C032000 */ cmpw r3, r4 -/* 0500F0 80055690 4182000C */ beq lbl_8005569C -/* 0500F4 80055694 38A00000 */ li r5, 0 -/* 0500F8 80055698 4800006C */ b lbl_80055704 -lbl_8005569C: -/* 0500FC 8005569C 80DE0034 */ lwz r6, 0x34(r30) -/* 050100 800556A0 38A00000 */ li r5, 0 -/* 050104 800556A4 80860008 */ lwz r4, 8(r6) -/* 050108 800556A8 2C040000 */ cmpwi r4, 0 -/* 05010C 800556AC 7C8903A6 */ mtctr r4 -/* 050110 800556B0 40810028 */ ble lbl_800556D8 -lbl_800556B4: -/* 050114 800556B4 8086000C */ lwz r4, 0xc(r6) -/* 050118 800556B8 38E50004 */ addi r7, r5, 4 -/* 05011C 800556BC 7C84382E */ lwzx r4, r4, r7 -/* 050120 800556C0 7C1D2000 */ cmpw r29, r4 -/* 050124 800556C4 4082000C */ bne lbl_800556D0 -/* 050128 800556C8 38800000 */ li r4, 0 -/* 05012C 800556CC 48000010 */ b lbl_800556DC -lbl_800556D0: -/* 050130 800556D0 38A50008 */ addi r5, r5, 8 -/* 050134 800556D4 4200FFE0 */ bdnz lbl_800556B4 -lbl_800556D8: -/* 050138 800556D8 38800001 */ li r4, 1 -lbl_800556DC: -/* 05013C 800556DC 2C040000 */ cmpwi r4, 0 -/* 050140 800556E0 40820014 */ bne lbl_800556F4 -/* 050144 800556E4 38A00000 */ li r5, 0 -/* 050148 800556E8 3C9E0001 */ addis r4, r30, 1 -/* 05014C 800556EC 90A42074 */ stw r5, 0x2074(r4) -/* 050150 800556F0 48000014 */ b lbl_80055704 -lbl_800556F4: -/* 050154 800556F4 3C9E0001 */ addis r4, r30, 1 -/* 050158 800556F8 38A00000 */ li r5, 0 -/* 05015C 800556FC 90A42074 */ stw r5, 0x2074(r4) -/* 050160 80055700 38A00001 */ li r5, 1 -lbl_80055704: -/* 050164 80055704 2C050000 */ cmpwi r5, 0 -/* 050168 80055708 41820038 */ beq lbl_80055740 -/* 05016C 8005570C 281F0000 */ cmplwi r31, 0 -/* 050170 80055710 41820020 */ beq lbl_80055730 -/* 050174 80055714 80A10084 */ lwz r5, 0x84(r1) -/* 050178 80055718 3CC06000 */ lis r6, 0x6000 -/* 05017C 8005571C 38850001 */ addi r4, r5, 1 -/* 050180 80055720 90810084 */ stw r4, 0x84(r1) -/* 050184 80055724 54A4103A */ slwi r4, r5, 2 -/* 050188 80055728 7CDF212E */ stwx r6, r31, r4 -/* 05018C 8005572C 48000060 */ b lbl_8005578C -lbl_80055730: -/* 050190 80055730 80810084 */ lwz r4, 0x84(r1) -/* 050194 80055734 38840001 */ addi r4, r4, 1 -/* 050198 80055738 90810084 */ stw r4, 0x84(r1) -/* 05019C 8005573C 48000050 */ b lbl_8005578C -lbl_80055740: -/* 0501A0 80055740 281F0000 */ cmplwi r31, 0 -/* 0501A4 80055744 4182003C */ beq lbl_80055780 -/* 0501A8 80055748 54651838 */ slwi r5, r3, 3 -/* 0501AC 8005574C 80810084 */ lwz r4, 0x84(r1) -/* 0501B0 80055750 38A50140 */ addi r5, r5, 0x140 -/* 0501B4 80055754 7CBE2A14 */ add r5, r30, r5 -/* 0501B8 80055758 5466A814 */ slwi r6, r3, 0x15 -/* 0501BC 8005575C 7CBE2850 */ subf r5, r30, r5 -/* 0501C0 80055760 38E40001 */ addi r7, r4, 1 -/* 0501C4 80055764 90E10084 */ stw r7, 0x84(r1) -/* 0501C8 80055768 64C6C803 */ oris r6, r6, 0xc803 -/* 0501CC 8005576C 54A5043E */ clrlwi r5, r5, 0x10 -/* 0501D0 80055770 7CA62A14 */ add r5, r6, r5 -/* 0501D4 80055774 5484103A */ slwi r4, r4, 2 -/* 0501D8 80055778 7CBF212E */ stwx r5, r31, r4 -/* 0501DC 8005577C 48000010 */ b lbl_8005578C -lbl_80055780: -/* 0501E0 80055780 80810084 */ lwz r4, 0x84(r1) -/* 0501E4 80055784 38840001 */ addi r4, r4, 1 -/* 0501E8 80055788 90810084 */ stw r4, 0x84(r1) -lbl_8005578C: -/* 0501EC 8005578C 281F0000 */ cmplwi r31, 0 -/* 0501F0 80055790 41820038 */ beq lbl_800557C8 -/* 0501F4 80055794 80A10084 */ lwz r5, 0x84(r1) -/* 0501F8 80055798 5504A814 */ slwi r4, r8, 0x15 -/* 0501FC 8005579C 6486FC00 */ oris r6, r4, 0xfc00 -/* 050200 800557A0 38850001 */ addi r4, r5, 1 -/* 050204 800557A4 60C60024 */ ori r6, r6, 0x24 -/* 050208 800557A8 90810084 */ stw r4, 0x84(r1) -/* 05020C 800557AC 5400801E */ slwi r0, r0, 0x10 -/* 050210 800557B0 54635828 */ slwi r3, r3, 0xb -/* 050214 800557B4 7CC00378 */ or r0, r6, r0 -/* 050218 800557B8 7C600378 */ or r0, r3, r0 -/* 05021C 800557BC 54A3103A */ slwi r3, r5, 2 -/* 050220 800557C0 7C1F192E */ stwx r0, r31, r3 -/* 050224 800557C4 48000010 */ b lbl_800557D4 -lbl_800557C8: -/* 050228 800557C8 80610084 */ lwz r3, 0x84(r1) -/* 05022C 800557CC 38030001 */ addi r0, r3, 1 -/* 050230 800557D0 90010084 */ stw r0, 0x84(r1) -lbl_800557D4: -/* 050234 800557D4 281F0000 */ cmplwi r31, 0 -/* 050238 800557D8 4182003C */ beq lbl_80055814 -/* 05023C 800557DC 55041838 */ slwi r4, r8, 3 -/* 050240 800557E0 80610084 */ lwz r3, 0x84(r1) -/* 050244 800557E4 38040140 */ addi r0, r4, 0x140 -/* 050248 800557E8 7C1E0214 */ add r0, r30, r0 -/* 05024C 800557EC 5505A814 */ slwi r5, r8, 0x15 -/* 050250 800557F0 7C9E0050 */ subf r4, r30, r0 -/* 050254 800557F4 38030001 */ addi r0, r3, 1 -/* 050258 800557F8 90010084 */ stw r0, 0x84(r1) -/* 05025C 800557FC 64A0D803 */ oris r0, r5, 0xd803 -/* 050260 80055800 5484043E */ clrlwi r4, r4, 0x10 -/* 050264 80055804 7C002214 */ add r0, r0, r4 -/* 050268 80055808 5463103A */ slwi r3, r3, 2 -/* 05026C 8005580C 7C1F192E */ stwx r0, r31, r3 -/* 050270 80055810 48000010 */ b lbl_80055820 -lbl_80055814: -/* 050274 80055814 80610084 */ lwz r3, 0x84(r1) -/* 050278 80055818 38030001 */ addi r0, r3, 1 -/* 05027C 8005581C 90010084 */ stw r0, 0x84(r1) -lbl_80055820: -/* 050280 80055820 3C7E0001 */ addis r3, r30, 1 -/* 050284 80055824 38000002 */ li r0, 2 -/* 050288 80055828 90032074 */ stw r0, 0x2074(r3) -/* 05028C 8005582C 91032078 */ stw r8, 0x2078(r3) -/* 050290 80055830 48012704 */ b lbl_80067F34 -.global lbl_80055834 -lbl_80055834: -/* 050294 80055834 3C7E0001 */ addis r3, r30, 1 -/* 050298 80055838 80032064 */ lwz r0, 0x2064(r3) -/* 05029C 8005583C 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 0502A0 80055840 5787AEFE */ rlwinm r7, r28, 0x15, 0x1b, 0x1f -/* 0502A4 80055844 28000000 */ cmplwi r0, 0 -/* 0502A8 80055848 4082000C */ bne lbl_80055854 -/* 0502AC 8005584C 38000000 */ li r0, 0 -/* 0502B0 80055850 48000094 */ b lbl_800558E4 -lbl_80055854: -/* 0502B4 80055854 80032074 */ lwz r0, 0x2074(r3) -/* 0502B8 80055858 28000000 */ cmplwi r0, 0 -/* 0502BC 8005585C 4082000C */ bne lbl_80055868 -/* 0502C0 80055860 38000000 */ li r0, 0 -/* 0502C4 80055864 48000080 */ b lbl_800558E4 -lbl_80055868: -/* 0502C8 80055868 80032078 */ lwz r0, 0x2078(r3) -/* 0502CC 8005586C 7C070000 */ cmpw r7, r0 -/* 0502D0 80055870 4182000C */ beq lbl_8005587C -/* 0502D4 80055874 38000000 */ li r0, 0 -/* 0502D8 80055878 4800006C */ b lbl_800558E4 -lbl_8005587C: -/* 0502DC 8005587C 80BE0034 */ lwz r5, 0x34(r30) -/* 0502E0 80055880 38800000 */ li r4, 0 -/* 0502E4 80055884 80050008 */ lwz r0, 8(r5) -/* 0502E8 80055888 2C000000 */ cmpwi r0, 0 -/* 0502EC 8005588C 7C0903A6 */ mtctr r0 -/* 0502F0 80055890 40810028 */ ble lbl_800558B8 -lbl_80055894: -/* 0502F4 80055894 8065000C */ lwz r3, 0xc(r5) -/* 0502F8 80055898 38040004 */ addi r0, r4, 4 -/* 0502FC 8005589C 7C03002E */ lwzx r0, r3, r0 -/* 050300 800558A0 7C1D0000 */ cmpw r29, r0 -/* 050304 800558A4 4082000C */ bne lbl_800558B0 -/* 050308 800558A8 38000000 */ li r0, 0 -/* 05030C 800558AC 48000010 */ b lbl_800558BC -lbl_800558B0: -/* 050310 800558B0 38840008 */ addi r4, r4, 8 -/* 050314 800558B4 4200FFE0 */ bdnz lbl_80055894 -lbl_800558B8: -/* 050318 800558B8 38000001 */ li r0, 1 -lbl_800558BC: -/* 05031C 800558BC 2C000000 */ cmpwi r0, 0 -/* 050320 800558C0 40820014 */ bne lbl_800558D4 -/* 050324 800558C4 38000000 */ li r0, 0 -/* 050328 800558C8 3C7E0001 */ addis r3, r30, 1 -/* 05032C 800558CC 90032074 */ stw r0, 0x2074(r3) -/* 050330 800558D0 48000014 */ b lbl_800558E4 -lbl_800558D4: -/* 050334 800558D4 3C7E0001 */ addis r3, r30, 1 -/* 050338 800558D8 38000000 */ li r0, 0 -/* 05033C 800558DC 90032074 */ stw r0, 0x2074(r3) -/* 050340 800558E0 38000001 */ li r0, 1 -lbl_800558E4: -/* 050344 800558E4 2C000000 */ cmpwi r0, 0 -/* 050348 800558E8 41820040 */ beq lbl_80055928 -/* 05034C 800558EC 281F0000 */ cmplwi r31, 0 -/* 050350 800558F0 41820028 */ beq lbl_80055918 -/* 050354 800558F4 80610084 */ lwz r3, 0x84(r1) -/* 050358 800558F8 54E05828 */ slwi r0, r7, 0xb -/* 05035C 800558FC 6404FC20 */ oris r4, r0, 0xfc20 -/* 050360 80055900 38030001 */ addi r0, r3, 1 -/* 050364 80055904 90010084 */ stw r0, 0x84(r1) -/* 050368 80055908 60840090 */ ori r4, r4, 0x90 -/* 05036C 8005590C 5460103A */ slwi r0, r3, 2 -/* 050370 80055910 7C9F012E */ stwx r4, r31, r0 -/* 050374 80055914 48000054 */ b lbl_80055968 -lbl_80055918: -/* 050378 80055918 80610084 */ lwz r3, 0x84(r1) -/* 05037C 8005591C 38030001 */ addi r0, r3, 1 -/* 050380 80055920 90010084 */ stw r0, 0x84(r1) -/* 050384 80055924 48000044 */ b lbl_80055968 -lbl_80055928: -/* 050388 80055928 281F0000 */ cmplwi r31, 0 -/* 05038C 8005592C 41820030 */ beq lbl_8005595C -/* 050390 80055930 80610084 */ lwz r3, 0x84(r1) -/* 050394 80055934 54E41838 */ slwi r4, r7, 3 -/* 050398 80055938 38040140 */ addi r0, r4, 0x140 -/* 05039C 8005593C 7C9E0214 */ add r4, r30, r0 -/* 0503A0 80055940 38030001 */ addi r0, r3, 1 -/* 0503A4 80055944 7C9E2050 */ subf r4, r30, r4 -/* 0503A8 80055948 90010084 */ stw r0, 0x84(r1) -/* 0503AC 8005594C 3C04C823 */ addis r0, r4, 0xc823 -/* 0503B0 80055950 5463103A */ slwi r3, r3, 2 -/* 0503B4 80055954 7C1F192E */ stwx r0, r31, r3 -/* 0503B8 80055958 48000010 */ b lbl_80055968 -lbl_8005595C: -/* 0503BC 8005595C 80610084 */ lwz r3, 0x84(r1) -/* 0503C0 80055960 38030001 */ addi r0, r3, 1 -/* 0503C4 80055964 90010084 */ stw r0, 0x84(r1) -lbl_80055968: -/* 0503C8 80055968 281F0000 */ cmplwi r31, 0 -/* 0503CC 8005596C 41820034 */ beq lbl_800559A0 -/* 0503D0 80055970 80610084 */ lwz r3, 0x84(r1) -/* 0503D4 80055974 800D8A34 */ lwz r0, cpuCompile_D_SQRT_function@sda21(r13) -/* 0503D8 80055978 5465103A */ slwi r5, r3, 2 -/* 0503DC 8005597C 7C9F2A14 */ add r4, r31, r5 -/* 0503E0 80055980 7C040050 */ subf r0, r4, r0 -/* 0503E4 80055984 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 0503E8 80055988 38630001 */ addi r3, r3, 1 -/* 0503EC 8005598C 64004800 */ oris r0, r0, 0x4800 -/* 0503F0 80055990 90610084 */ stw r3, 0x84(r1) -/* 0503F4 80055994 60000001 */ ori r0, r0, 1 -/* 0503F8 80055998 7C1F292E */ stwx r0, r31, r5 -/* 0503FC 8005599C 48000010 */ b lbl_800559AC -lbl_800559A0: -/* 050400 800559A0 80610084 */ lwz r3, 0x84(r1) -/* 050404 800559A4 38030001 */ addi r0, r3, 1 -/* 050408 800559A8 90010084 */ stw r0, 0x84(r1) -lbl_800559AC: -/* 05040C 800559AC 281F0000 */ cmplwi r31, 0 -/* 050410 800559B0 41820030 */ beq lbl_800559E0 -/* 050414 800559B4 80610084 */ lwz r3, 0x84(r1) -/* 050418 800559B8 54C41838 */ slwi r4, r6, 3 -/* 05041C 800559BC 38040140 */ addi r0, r4, 0x140 -/* 050420 800559C0 7C9E0214 */ add r4, r30, r0 -/* 050424 800559C4 38030001 */ addi r0, r3, 1 -/* 050428 800559C8 7C9E2050 */ subf r4, r30, r4 -/* 05042C 800559CC 90010084 */ stw r0, 0x84(r1) -/* 050430 800559D0 3C04D823 */ addis r0, r4, 0xd823 -/* 050434 800559D4 5463103A */ slwi r3, r3, 2 -/* 050438 800559D8 7C1F192E */ stwx r0, r31, r3 -/* 05043C 800559DC 48012558 */ b lbl_80067F34 -lbl_800559E0: -/* 050440 800559E0 80610084 */ lwz r3, 0x84(r1) -/* 050444 800559E4 38030001 */ addi r0, r3, 1 -/* 050448 800559E8 90010084 */ stw r0, 0x84(r1) -/* 05044C 800559EC 48012548 */ b lbl_80067F34 -.global lbl_800559F0 -lbl_800559F0: -/* 050450 800559F0 3C7E0001 */ addis r3, r30, 1 -/* 050454 800559F4 80832064 */ lwz r4, 0x2064(r3) -/* 050458 800559F8 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 05045C 800559FC 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 050460 80055A00 28040000 */ cmplwi r4, 0 -/* 050464 80055A04 4082000C */ bne lbl_80055A10 -/* 050468 80055A08 38800000 */ li r4, 0 -/* 05046C 80055A0C 48000094 */ b lbl_80055AA0 -lbl_80055A10: -/* 050470 80055A10 80832074 */ lwz r4, 0x2074(r3) -/* 050474 80055A14 28040000 */ cmplwi r4, 0 -/* 050478 80055A18 4082000C */ bne lbl_80055A24 -/* 05047C 80055A1C 38800000 */ li r4, 0 -/* 050480 80055A20 48000080 */ b lbl_80055AA0 -lbl_80055A24: -/* 050484 80055A24 80632078 */ lwz r3, 0x2078(r3) -/* 050488 80055A28 7C061800 */ cmpw r6, r3 -/* 05048C 80055A2C 4182000C */ beq lbl_80055A38 -/* 050490 80055A30 38800000 */ li r4, 0 -/* 050494 80055A34 4800006C */ b lbl_80055AA0 -lbl_80055A38: -/* 050498 80055A38 80BE0034 */ lwz r5, 0x34(r30) -/* 05049C 80055A3C 38800000 */ li r4, 0 -/* 0504A0 80055A40 80650008 */ lwz r3, 8(r5) -/* 0504A4 80055A44 2C030000 */ cmpwi r3, 0 -/* 0504A8 80055A48 7C6903A6 */ mtctr r3 -/* 0504AC 80055A4C 40810028 */ ble lbl_80055A74 -lbl_80055A50: -/* 0504B0 80055A50 8065000C */ lwz r3, 0xc(r5) -/* 0504B4 80055A54 38E40004 */ addi r7, r4, 4 -/* 0504B8 80055A58 7C63382E */ lwzx r3, r3, r7 -/* 0504BC 80055A5C 7C1D1800 */ cmpw r29, r3 -/* 0504C0 80055A60 4082000C */ bne lbl_80055A6C -/* 0504C4 80055A64 38600000 */ li r3, 0 -/* 0504C8 80055A68 48000010 */ b lbl_80055A78 -lbl_80055A6C: -/* 0504CC 80055A6C 38840008 */ addi r4, r4, 8 -/* 0504D0 80055A70 4200FFE0 */ bdnz lbl_80055A50 -lbl_80055A74: -/* 0504D4 80055A74 38600001 */ li r3, 1 -lbl_80055A78: -/* 0504D8 80055A78 2C030000 */ cmpwi r3, 0 -/* 0504DC 80055A7C 40820014 */ bne lbl_80055A90 -/* 0504E0 80055A80 38800000 */ li r4, 0 -/* 0504E4 80055A84 3C7E0001 */ addis r3, r30, 1 -/* 0504E8 80055A88 90832074 */ stw r4, 0x2074(r3) -/* 0504EC 80055A8C 48000014 */ b lbl_80055AA0 -lbl_80055A90: -/* 0504F0 80055A90 3C7E0001 */ addis r3, r30, 1 -/* 0504F4 80055A94 38800000 */ li r4, 0 -/* 0504F8 80055A98 90832074 */ stw r4, 0x2074(r3) -/* 0504FC 80055A9C 38800001 */ li r4, 1 -lbl_80055AA0: -/* 050500 80055AA0 2C040000 */ cmpwi r4, 0 -/* 050504 80055AA4 41820038 */ beq lbl_80055ADC -/* 050508 80055AA8 281F0000 */ cmplwi r31, 0 -/* 05050C 80055AAC 41820020 */ beq lbl_80055ACC -/* 050510 80055AB0 80810084 */ lwz r4, 0x84(r1) -/* 050514 80055AB4 3CA06000 */ lis r5, 0x6000 -/* 050518 80055AB8 38640001 */ addi r3, r4, 1 -/* 05051C 80055ABC 90610084 */ stw r3, 0x84(r1) -/* 050520 80055AC0 5483103A */ slwi r3, r4, 2 -/* 050524 80055AC4 7CBF192E */ stwx r5, r31, r3 -/* 050528 80055AC8 48000060 */ b lbl_80055B28 -lbl_80055ACC: -/* 05052C 80055ACC 80610084 */ lwz r3, 0x84(r1) -/* 050530 80055AD0 38630001 */ addi r3, r3, 1 -/* 050534 80055AD4 90610084 */ stw r3, 0x84(r1) -/* 050538 80055AD8 48000050 */ b lbl_80055B28 -lbl_80055ADC: -/* 05053C 80055ADC 281F0000 */ cmplwi r31, 0 -/* 050540 80055AE0 4182003C */ beq lbl_80055B1C -/* 050544 80055AE4 54C31838 */ slwi r3, r6, 3 -/* 050548 80055AE8 80810084 */ lwz r4, 0x84(r1) -/* 05054C 80055AEC 38630140 */ addi r3, r3, 0x140 -/* 050550 80055AF0 7C7E1A14 */ add r3, r30, r3 -/* 050554 80055AF4 54C7A814 */ slwi r7, r6, 0x15 -/* 050558 80055AF8 7CBE1850 */ subf r5, r30, r3 -/* 05055C 80055AFC 38640001 */ addi r3, r4, 1 -/* 050560 80055B00 90610084 */ stw r3, 0x84(r1) -/* 050564 80055B04 64E3C803 */ oris r3, r7, 0xc803 -/* 050568 80055B08 54A5043E */ clrlwi r5, r5, 0x10 -/* 05056C 80055B0C 7C632A14 */ add r3, r3, r5 -/* 050570 80055B10 5484103A */ slwi r4, r4, 2 -/* 050574 80055B14 7C7F212E */ stwx r3, r31, r4 -/* 050578 80055B18 48000010 */ b lbl_80055B28 -lbl_80055B1C: -/* 05057C 80055B1C 80610084 */ lwz r3, 0x84(r1) -/* 050580 80055B20 38630001 */ addi r3, r3, 1 -/* 050584 80055B24 90610084 */ stw r3, 0x84(r1) -lbl_80055B28: -/* 050588 80055B28 281F0000 */ cmplwi r31, 0 -/* 05058C 80055B2C 41820030 */ beq lbl_80055B5C -/* 050590 80055B30 80810084 */ lwz r4, 0x84(r1) -/* 050594 80055B34 5403A814 */ slwi r3, r0, 0x15 -/* 050598 80055B38 6465FC00 */ oris r5, r3, 0xfc00 -/* 05059C 80055B3C 38640001 */ addi r3, r4, 1 -/* 0505A0 80055B40 90610084 */ stw r3, 0x84(r1) -/* 0505A4 80055B44 60A50210 */ ori r5, r5, 0x210 -/* 0505A8 80055B48 54C35828 */ slwi r3, r6, 0xb -/* 0505AC 80055B4C 7CA31B78 */ or r3, r5, r3 -/* 0505B0 80055B50 5484103A */ slwi r4, r4, 2 -/* 0505B4 80055B54 7C7F212E */ stwx r3, r31, r4 -/* 0505B8 80055B58 48000010 */ b lbl_80055B68 -lbl_80055B5C: -/* 0505BC 80055B5C 80610084 */ lwz r3, 0x84(r1) -/* 0505C0 80055B60 38630001 */ addi r3, r3, 1 -/* 0505C4 80055B64 90610084 */ stw r3, 0x84(r1) -lbl_80055B68: -/* 0505C8 80055B68 281F0000 */ cmplwi r31, 0 -/* 0505CC 80055B6C 4182003C */ beq lbl_80055BA8 -/* 0505D0 80055B70 54031838 */ slwi r3, r0, 3 -/* 0505D4 80055B74 80810084 */ lwz r4, 0x84(r1) -/* 0505D8 80055B78 38630140 */ addi r3, r3, 0x140 -/* 0505DC 80055B7C 7C7E1A14 */ add r3, r30, r3 -/* 0505E0 80055B80 5406A814 */ slwi r6, r0, 0x15 -/* 0505E4 80055B84 7CBE1850 */ subf r5, r30, r3 -/* 0505E8 80055B88 38640001 */ addi r3, r4, 1 -/* 0505EC 80055B8C 90610084 */ stw r3, 0x84(r1) -/* 0505F0 80055B90 64C3D803 */ oris r3, r6, 0xd803 -/* 0505F4 80055B94 54A5043E */ clrlwi r5, r5, 0x10 -/* 0505F8 80055B98 7C632A14 */ add r3, r3, r5 -/* 0505FC 80055B9C 5484103A */ slwi r4, r4, 2 -/* 050600 80055BA0 7C7F212E */ stwx r3, r31, r4 -/* 050604 80055BA4 48000010 */ b lbl_80055BB4 -lbl_80055BA8: -/* 050608 80055BA8 80610084 */ lwz r3, 0x84(r1) -/* 05060C 80055BAC 38630001 */ addi r3, r3, 1 -/* 050610 80055BB0 90610084 */ stw r3, 0x84(r1) -lbl_80055BB4: -/* 050614 80055BB4 3C7E0001 */ addis r3, r30, 1 -/* 050618 80055BB8 38800002 */ li r4, 2 -/* 05061C 80055BBC 90832074 */ stw r4, 0x2074(r3) -/* 050620 80055BC0 90032078 */ stw r0, 0x2078(r3) -/* 050624 80055BC4 48012370 */ b lbl_80067F34 -.global lbl_80055BC8 -lbl_80055BC8: -/* 050628 80055BC8 281F0000 */ cmplwi r31, 0 -/* 05062C 80055BCC 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 050630 80055BD0 5784AEFE */ rlwinm r4, r28, 0x15, 0x1b, 0x1f -/* 050634 80055BD4 41820030 */ beq lbl_80055C04 -/* 050638 80055BD8 80610084 */ lwz r3, 0x84(r1) -/* 05063C 80055BDC 54841838 */ slwi r4, r4, 3 -/* 050640 80055BE0 38840140 */ addi r4, r4, 0x140 -/* 050644 80055BE4 7C9E2214 */ add r4, r30, r4 -/* 050648 80055BE8 38A30001 */ addi r5, r3, 1 -/* 05064C 80055BEC 7C9E2050 */ subf r4, r30, r4 -/* 050650 80055BF0 90A10084 */ stw r5, 0x84(r1) -/* 050654 80055BF4 3C84C823 */ addis r4, r4, 0xc823 -/* 050658 80055BF8 5463103A */ slwi r3, r3, 2 -/* 05065C 80055BFC 7C9F192E */ stwx r4, r31, r3 -/* 050660 80055C00 48000010 */ b lbl_80055C10 -lbl_80055C04: -/* 050664 80055C04 80610084 */ lwz r3, 0x84(r1) -/* 050668 80055C08 38630001 */ addi r3, r3, 1 -/* 05066C 80055C0C 90610084 */ stw r3, 0x84(r1) -lbl_80055C10: -/* 050670 80055C10 281F0000 */ cmplwi r31, 0 -/* 050674 80055C14 41820030 */ beq lbl_80055C44 -/* 050678 80055C18 80610084 */ lwz r3, 0x84(r1) -/* 05067C 80055C1C 54041838 */ slwi r4, r0, 3 -/* 050680 80055C20 38040140 */ addi r0, r4, 0x140 -/* 050684 80055C24 7C9E0214 */ add r4, r30, r0 -/* 050688 80055C28 38030001 */ addi r0, r3, 1 -/* 05068C 80055C2C 7C9E2050 */ subf r4, r30, r4 -/* 050690 80055C30 90010084 */ stw r0, 0x84(r1) -/* 050694 80055C34 3C04D823 */ addis r0, r4, 0xd823 -/* 050698 80055C38 5463103A */ slwi r3, r3, 2 -/* 05069C 80055C3C 7C1F192E */ stwx r0, r31, r3 -/* 0506A0 80055C40 480122F4 */ b lbl_80067F34 -lbl_80055C44: -/* 0506A4 80055C44 80610084 */ lwz r3, 0x84(r1) -/* 0506A8 80055C48 38030001 */ addi r0, r3, 1 -/* 0506AC 80055C4C 90010084 */ stw r0, 0x84(r1) -/* 0506B0 80055C50 480122E4 */ b lbl_80067F34 -.global lbl_80055C54 -lbl_80055C54: -/* 0506B4 80055C54 3C7E0001 */ addis r3, r30, 1 -/* 0506B8 80055C58 80832064 */ lwz r4, 0x2064(r3) -/* 0506BC 80055C5C 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 0506C0 80055C60 5786AEFE */ rlwinm r6, r28, 0x15, 0x1b, 0x1f -/* 0506C4 80055C64 28040000 */ cmplwi r4, 0 -/* 0506C8 80055C68 4082000C */ bne lbl_80055C74 -/* 0506CC 80055C6C 38800000 */ li r4, 0 -/* 0506D0 80055C70 48000094 */ b lbl_80055D04 -lbl_80055C74: -/* 0506D4 80055C74 80832074 */ lwz r4, 0x2074(r3) -/* 0506D8 80055C78 28040000 */ cmplwi r4, 0 -/* 0506DC 80055C7C 4082000C */ bne lbl_80055C88 -/* 0506E0 80055C80 38800000 */ li r4, 0 -/* 0506E4 80055C84 48000080 */ b lbl_80055D04 -lbl_80055C88: -/* 0506E8 80055C88 80632078 */ lwz r3, 0x2078(r3) -/* 0506EC 80055C8C 7C061800 */ cmpw r6, r3 -/* 0506F0 80055C90 4182000C */ beq lbl_80055C9C -/* 0506F4 80055C94 38800000 */ li r4, 0 -/* 0506F8 80055C98 4800006C */ b lbl_80055D04 -lbl_80055C9C: -/* 0506FC 80055C9C 80BE0034 */ lwz r5, 0x34(r30) -/* 050700 80055CA0 38800000 */ li r4, 0 -/* 050704 80055CA4 80650008 */ lwz r3, 8(r5) -/* 050708 80055CA8 2C030000 */ cmpwi r3, 0 -/* 05070C 80055CAC 7C6903A6 */ mtctr r3 -/* 050710 80055CB0 40810028 */ ble lbl_80055CD8 -lbl_80055CB4: -/* 050714 80055CB4 8065000C */ lwz r3, 0xc(r5) -/* 050718 80055CB8 38E40004 */ addi r7, r4, 4 -/* 05071C 80055CBC 7C63382E */ lwzx r3, r3, r7 -/* 050720 80055CC0 7C1D1800 */ cmpw r29, r3 -/* 050724 80055CC4 4082000C */ bne lbl_80055CD0 -/* 050728 80055CC8 38600000 */ li r3, 0 -/* 05072C 80055CCC 48000010 */ b lbl_80055CDC -lbl_80055CD0: -/* 050730 80055CD0 38840008 */ addi r4, r4, 8 -/* 050734 80055CD4 4200FFE0 */ bdnz lbl_80055CB4 -lbl_80055CD8: -/* 050738 80055CD8 38600001 */ li r3, 1 -lbl_80055CDC: -/* 05073C 80055CDC 2C030000 */ cmpwi r3, 0 -/* 050740 80055CE0 40820014 */ bne lbl_80055CF4 -/* 050744 80055CE4 38800000 */ li r4, 0 -/* 050748 80055CE8 3C7E0001 */ addis r3, r30, 1 -/* 05074C 80055CEC 90832074 */ stw r4, 0x2074(r3) -/* 050750 80055CF0 48000014 */ b lbl_80055D04 -lbl_80055CF4: -/* 050754 80055CF4 3C7E0001 */ addis r3, r30, 1 -/* 050758 80055CF8 38800000 */ li r4, 0 -/* 05075C 80055CFC 90832074 */ stw r4, 0x2074(r3) -/* 050760 80055D00 38800001 */ li r4, 1 -lbl_80055D04: -/* 050764 80055D04 2C040000 */ cmpwi r4, 0 -/* 050768 80055D08 41820038 */ beq lbl_80055D40 -/* 05076C 80055D0C 281F0000 */ cmplwi r31, 0 -/* 050770 80055D10 41820020 */ beq lbl_80055D30 -/* 050774 80055D14 80810084 */ lwz r4, 0x84(r1) -/* 050778 80055D18 3CA06000 */ lis r5, 0x6000 -/* 05077C 80055D1C 38640001 */ addi r3, r4, 1 -/* 050780 80055D20 90610084 */ stw r3, 0x84(r1) -/* 050784 80055D24 5483103A */ slwi r3, r4, 2 -/* 050788 80055D28 7CBF192E */ stwx r5, r31, r3 -/* 05078C 80055D2C 48000060 */ b lbl_80055D8C -lbl_80055D30: -/* 050790 80055D30 80610084 */ lwz r3, 0x84(r1) -/* 050794 80055D34 38630001 */ addi r3, r3, 1 -/* 050798 80055D38 90610084 */ stw r3, 0x84(r1) -/* 05079C 80055D3C 48000050 */ b lbl_80055D8C -lbl_80055D40: -/* 0507A0 80055D40 281F0000 */ cmplwi r31, 0 -/* 0507A4 80055D44 4182003C */ beq lbl_80055D80 -/* 0507A8 80055D48 54C31838 */ slwi r3, r6, 3 -/* 0507AC 80055D4C 80810084 */ lwz r4, 0x84(r1) -/* 0507B0 80055D50 38630140 */ addi r3, r3, 0x140 -/* 0507B4 80055D54 7C7E1A14 */ add r3, r30, r3 -/* 0507B8 80055D58 54C7A814 */ slwi r7, r6, 0x15 -/* 0507BC 80055D5C 7CBE1850 */ subf r5, r30, r3 -/* 0507C0 80055D60 38640001 */ addi r3, r4, 1 -/* 0507C4 80055D64 90610084 */ stw r3, 0x84(r1) -/* 0507C8 80055D68 64E3C803 */ oris r3, r7, 0xc803 -/* 0507CC 80055D6C 54A5043E */ clrlwi r5, r5, 0x10 -/* 0507D0 80055D70 7C632A14 */ add r3, r3, r5 -/* 0507D4 80055D74 5484103A */ slwi r4, r4, 2 -/* 0507D8 80055D78 7C7F212E */ stwx r3, r31, r4 -/* 0507DC 80055D7C 48000010 */ b lbl_80055D8C -lbl_80055D80: -/* 0507E0 80055D80 80610084 */ lwz r3, 0x84(r1) -/* 0507E4 80055D84 38630001 */ addi r3, r3, 1 -/* 0507E8 80055D88 90610084 */ stw r3, 0x84(r1) -lbl_80055D8C: -/* 0507EC 80055D8C 281F0000 */ cmplwi r31, 0 -/* 0507F0 80055D90 41820030 */ beq lbl_80055DC0 -/* 0507F4 80055D94 80810084 */ lwz r4, 0x84(r1) -/* 0507F8 80055D98 5403A814 */ slwi r3, r0, 0x15 -/* 0507FC 80055D9C 6465FC00 */ oris r5, r3, 0xfc00 -/* 050800 80055DA0 38640001 */ addi r3, r4, 1 -/* 050804 80055DA4 90610084 */ stw r3, 0x84(r1) -/* 050808 80055DA8 60A50050 */ ori r5, r5, 0x50 -/* 05080C 80055DAC 54C35828 */ slwi r3, r6, 0xb -/* 050810 80055DB0 7CA31B78 */ or r3, r5, r3 -/* 050814 80055DB4 5484103A */ slwi r4, r4, 2 -/* 050818 80055DB8 7C7F212E */ stwx r3, r31, r4 -/* 05081C 80055DBC 48000010 */ b lbl_80055DCC -lbl_80055DC0: -/* 050820 80055DC0 80610084 */ lwz r3, 0x84(r1) -/* 050824 80055DC4 38630001 */ addi r3, r3, 1 -/* 050828 80055DC8 90610084 */ stw r3, 0x84(r1) -lbl_80055DCC: -/* 05082C 80055DCC 281F0000 */ cmplwi r31, 0 -/* 050830 80055DD0 4182003C */ beq lbl_80055E0C -/* 050834 80055DD4 54031838 */ slwi r3, r0, 3 -/* 050838 80055DD8 80810084 */ lwz r4, 0x84(r1) -/* 05083C 80055DDC 38630140 */ addi r3, r3, 0x140 -/* 050840 80055DE0 7C7E1A14 */ add r3, r30, r3 -/* 050844 80055DE4 5406A814 */ slwi r6, r0, 0x15 -/* 050848 80055DE8 7CBE1850 */ subf r5, r30, r3 -/* 05084C 80055DEC 38640001 */ addi r3, r4, 1 -/* 050850 80055DF0 90610084 */ stw r3, 0x84(r1) -/* 050854 80055DF4 64C3D803 */ oris r3, r6, 0xd803 -/* 050858 80055DF8 54A5043E */ clrlwi r5, r5, 0x10 -/* 05085C 80055DFC 7C632A14 */ add r3, r3, r5 -/* 050860 80055E00 5484103A */ slwi r4, r4, 2 -/* 050864 80055E04 7C7F212E */ stwx r3, r31, r4 -/* 050868 80055E08 48000010 */ b lbl_80055E18 -lbl_80055E0C: -/* 05086C 80055E0C 80610084 */ lwz r3, 0x84(r1) -/* 050870 80055E10 38630001 */ addi r3, r3, 1 -/* 050874 80055E14 90610084 */ stw r3, 0x84(r1) -lbl_80055E18: -/* 050878 80055E18 3C7E0001 */ addis r3, r30, 1 -/* 05087C 80055E1C 38800002 */ li r4, 2 -/* 050880 80055E20 90832074 */ stw r4, 0x2074(r3) -/* 050884 80055E24 90032078 */ stw r0, 0x2078(r3) -/* 050888 80055E28 4801210C */ b lbl_80067F34 -.global lbl_80055E2C -lbl_80055E2C: -/* 05088C 80055E2C 3C7E0001 */ addis r3, r30, 1 -/* 050890 80055E30 80032064 */ lwz r0, 0x2064(r3) -/* 050894 80055E34 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 050898 80055E38 5787AEFE */ rlwinm r7, r28, 0x15, 0x1b, 0x1f -/* 05089C 80055E3C 28000000 */ cmplwi r0, 0 -/* 0508A0 80055E40 4082000C */ bne lbl_80055E4C -/* 0508A4 80055E44 38000000 */ li r0, 0 -/* 0508A8 80055E48 48000094 */ b lbl_80055EDC -lbl_80055E4C: -/* 0508AC 80055E4C 80032074 */ lwz r0, 0x2074(r3) -/* 0508B0 80055E50 28000000 */ cmplwi r0, 0 -/* 0508B4 80055E54 4082000C */ bne lbl_80055E60 -/* 0508B8 80055E58 38000000 */ li r0, 0 -/* 0508BC 80055E5C 48000080 */ b lbl_80055EDC -lbl_80055E60: -/* 0508C0 80055E60 80032078 */ lwz r0, 0x2078(r3) -/* 0508C4 80055E64 7C070000 */ cmpw r7, r0 -/* 0508C8 80055E68 4182000C */ beq lbl_80055E74 -/* 0508CC 80055E6C 38000000 */ li r0, 0 -/* 0508D0 80055E70 4800006C */ b lbl_80055EDC -lbl_80055E74: -/* 0508D4 80055E74 80BE0034 */ lwz r5, 0x34(r30) -/* 0508D8 80055E78 38800000 */ li r4, 0 -/* 0508DC 80055E7C 80050008 */ lwz r0, 8(r5) -/* 0508E0 80055E80 2C000000 */ cmpwi r0, 0 -/* 0508E4 80055E84 7C0903A6 */ mtctr r0 -/* 0508E8 80055E88 40810028 */ ble lbl_80055EB0 -lbl_80055E8C: -/* 0508EC 80055E8C 8065000C */ lwz r3, 0xc(r5) -/* 0508F0 80055E90 38040004 */ addi r0, r4, 4 -/* 0508F4 80055E94 7C03002E */ lwzx r0, r3, r0 -/* 0508F8 80055E98 7C1D0000 */ cmpw r29, r0 -/* 0508FC 80055E9C 4082000C */ bne lbl_80055EA8 -/* 050900 80055EA0 38000000 */ li r0, 0 -/* 050904 80055EA4 48000010 */ b lbl_80055EB4 -lbl_80055EA8: -/* 050908 80055EA8 38840008 */ addi r4, r4, 8 -/* 05090C 80055EAC 4200FFE0 */ bdnz lbl_80055E8C -lbl_80055EB0: -/* 050910 80055EB0 38000001 */ li r0, 1 -lbl_80055EB4: -/* 050914 80055EB4 2C000000 */ cmpwi r0, 0 -/* 050918 80055EB8 40820014 */ bne lbl_80055ECC -/* 05091C 80055EBC 38000000 */ li r0, 0 -/* 050920 80055EC0 3C7E0001 */ addis r3, r30, 1 -/* 050924 80055EC4 90032074 */ stw r0, 0x2074(r3) -/* 050928 80055EC8 48000014 */ b lbl_80055EDC -lbl_80055ECC: -/* 05092C 80055ECC 3C7E0001 */ addis r3, r30, 1 -/* 050930 80055ED0 38000000 */ li r0, 0 -/* 050934 80055ED4 90032074 */ stw r0, 0x2074(r3) -/* 050938 80055ED8 38000001 */ li r0, 1 -lbl_80055EDC: -/* 05093C 80055EDC 2C000000 */ cmpwi r0, 0 -/* 050940 80055EE0 41820040 */ beq lbl_80055F20 -/* 050944 80055EE4 281F0000 */ cmplwi r31, 0 -/* 050948 80055EE8 41820028 */ beq lbl_80055F10 -/* 05094C 80055EEC 80610084 */ lwz r3, 0x84(r1) -/* 050950 80055EF0 54E05828 */ slwi r0, r7, 0xb -/* 050954 80055EF4 6404FC20 */ oris r4, r0, 0xfc20 -/* 050958 80055EF8 38030001 */ addi r0, r3, 1 -/* 05095C 80055EFC 90010084 */ stw r0, 0x84(r1) -/* 050960 80055F00 60840090 */ ori r4, r4, 0x90 -/* 050964 80055F04 5460103A */ slwi r0, r3, 2 -/* 050968 80055F08 7C9F012E */ stwx r4, r31, r0 -/* 05096C 80055F0C 48000054 */ b lbl_80055F60 -lbl_80055F10: -/* 050970 80055F10 80610084 */ lwz r3, 0x84(r1) -/* 050974 80055F14 38030001 */ addi r0, r3, 1 -/* 050978 80055F18 90010084 */ stw r0, 0x84(r1) -/* 05097C 80055F1C 48000044 */ b lbl_80055F60 -lbl_80055F20: -/* 050980 80055F20 281F0000 */ cmplwi r31, 0 -/* 050984 80055F24 41820030 */ beq lbl_80055F54 -/* 050988 80055F28 80610084 */ lwz r3, 0x84(r1) -/* 05098C 80055F2C 54E41838 */ slwi r4, r7, 3 -/* 050990 80055F30 38040140 */ addi r0, r4, 0x140 -/* 050994 80055F34 7C9E0214 */ add r4, r30, r0 -/* 050998 80055F38 38030001 */ addi r0, r3, 1 -/* 05099C 80055F3C 7C9E2050 */ subf r4, r30, r4 -/* 0509A0 80055F40 90010084 */ stw r0, 0x84(r1) -/* 0509A4 80055F44 3C04C823 */ addis r0, r4, 0xc823 -/* 0509A8 80055F48 5463103A */ slwi r3, r3, 2 -/* 0509AC 80055F4C 7C1F192E */ stwx r0, r31, r3 -/* 0509B0 80055F50 48000010 */ b lbl_80055F60 -lbl_80055F54: -/* 0509B4 80055F54 80610084 */ lwz r3, 0x84(r1) -/* 0509B8 80055F58 38030001 */ addi r0, r3, 1 -/* 0509BC 80055F5C 90010084 */ stw r0, 0x84(r1) -lbl_80055F60: -/* 0509C0 80055F60 281F0000 */ cmplwi r31, 0 -/* 0509C4 80055F64 41820034 */ beq lbl_80055F98 -/* 0509C8 80055F68 54C41838 */ slwi r4, r6, 3 -/* 0509CC 80055F6C 80610084 */ lwz r3, 0x84(r1) -/* 0509D0 80055F70 38040140 */ addi r0, r4, 0x140 -/* 0509D4 80055F74 7C1E0214 */ add r0, r30, r0 -/* 0509D8 80055F78 7C9E0050 */ subf r4, r30, r0 -/* 0509DC 80055F7C 38030001 */ addi r0, r3, 1 -/* 0509E0 80055F80 3C8438A0 */ addis r4, r4, 0x38a0 -/* 0509E4 80055F84 90010084 */ stw r0, 0x84(r1) -/* 0509E8 80055F88 38040004 */ addi r0, r4, 4 -/* 0509EC 80055F8C 5463103A */ slwi r3, r3, 2 -/* 0509F0 80055F90 7C1F192E */ stwx r0, r31, r3 -/* 0509F4 80055F94 48000010 */ b lbl_80055FA4 -lbl_80055F98: -/* 0509F8 80055F98 80610084 */ lwz r3, 0x84(r1) -/* 0509FC 80055F9C 38030001 */ addi r0, r3, 1 -/* 050A00 80055FA0 90010084 */ stw r0, 0x84(r1) -lbl_80055FA4: -/* 050A04 80055FA4 281F0000 */ cmplwi r31, 0 -/* 050A08 80055FA8 41820034 */ beq lbl_80055FDC -/* 050A0C 80055FAC 80610084 */ lwz r3, 0x84(r1) -/* 050A10 80055FB0 800D8A48 */ lwz r0, cpuCompile_ROUND_W_function@sda21(r13) -/* 050A14 80055FB4 5465103A */ slwi r5, r3, 2 -/* 050A18 80055FB8 7C9F2A14 */ add r4, r31, r5 -/* 050A1C 80055FBC 7C040050 */ subf r0, r4, r0 -/* 050A20 80055FC0 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 050A24 80055FC4 38630001 */ addi r3, r3, 1 -/* 050A28 80055FC8 64004800 */ oris r0, r0, 0x4800 -/* 050A2C 80055FCC 90610084 */ stw r3, 0x84(r1) -/* 050A30 80055FD0 60000001 */ ori r0, r0, 1 -/* 050A34 80055FD4 7C1F292E */ stwx r0, r31, r5 -/* 050A38 80055FD8 48011F5C */ b lbl_80067F34 -lbl_80055FDC: -/* 050A3C 80055FDC 80610084 */ lwz r3, 0x84(r1) -/* 050A40 80055FE0 38030001 */ addi r0, r3, 1 -/* 050A44 80055FE4 90010084 */ stw r0, 0x84(r1) -/* 050A48 80055FE8 48011F4C */ b lbl_80067F34 -.global lbl_80055FEC -lbl_80055FEC: -/* 050A4C 80055FEC 3C7E0001 */ addis r3, r30, 1 -/* 050A50 80055FF0 80032064 */ lwz r0, 0x2064(r3) -/* 050A54 80055FF4 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 050A58 80055FF8 5787AEFE */ rlwinm r7, r28, 0x15, 0x1b, 0x1f -/* 050A5C 80055FFC 28000000 */ cmplwi r0, 0 -/* 050A60 80056000 4082000C */ bne lbl_8005600C -/* 050A64 80056004 38000000 */ li r0, 0 -/* 050A68 80056008 48000094 */ b lbl_8005609C -lbl_8005600C: -/* 050A6C 8005600C 80032074 */ lwz r0, 0x2074(r3) -/* 050A70 80056010 28000000 */ cmplwi r0, 0 -/* 050A74 80056014 4082000C */ bne lbl_80056020 -/* 050A78 80056018 38000000 */ li r0, 0 -/* 050A7C 8005601C 48000080 */ b lbl_8005609C -lbl_80056020: -/* 050A80 80056020 80032078 */ lwz r0, 0x2078(r3) -/* 050A84 80056024 7C070000 */ cmpw r7, r0 -/* 050A88 80056028 4182000C */ beq lbl_80056034 -/* 050A8C 8005602C 38000000 */ li r0, 0 -/* 050A90 80056030 4800006C */ b lbl_8005609C -lbl_80056034: -/* 050A94 80056034 80BE0034 */ lwz r5, 0x34(r30) -/* 050A98 80056038 38800000 */ li r4, 0 -/* 050A9C 8005603C 80050008 */ lwz r0, 8(r5) -/* 050AA0 80056040 2C000000 */ cmpwi r0, 0 -/* 050AA4 80056044 7C0903A6 */ mtctr r0 -/* 050AA8 80056048 40810028 */ ble lbl_80056070 -lbl_8005604C: -/* 050AAC 8005604C 8065000C */ lwz r3, 0xc(r5) -/* 050AB0 80056050 38040004 */ addi r0, r4, 4 -/* 050AB4 80056054 7C03002E */ lwzx r0, r3, r0 -/* 050AB8 80056058 7C1D0000 */ cmpw r29, r0 -/* 050ABC 8005605C 4082000C */ bne lbl_80056068 -/* 050AC0 80056060 38000000 */ li r0, 0 -/* 050AC4 80056064 48000010 */ b lbl_80056074 -lbl_80056068: -/* 050AC8 80056068 38840008 */ addi r4, r4, 8 -/* 050ACC 8005606C 4200FFE0 */ bdnz lbl_8005604C -lbl_80056070: -/* 050AD0 80056070 38000001 */ li r0, 1 -lbl_80056074: -/* 050AD4 80056074 2C000000 */ cmpwi r0, 0 -/* 050AD8 80056078 40820014 */ bne lbl_8005608C -/* 050ADC 8005607C 38000000 */ li r0, 0 -/* 050AE0 80056080 3C7E0001 */ addis r3, r30, 1 -/* 050AE4 80056084 90032074 */ stw r0, 0x2074(r3) -/* 050AE8 80056088 48000014 */ b lbl_8005609C -lbl_8005608C: -/* 050AEC 8005608C 3C7E0001 */ addis r3, r30, 1 -/* 050AF0 80056090 38000000 */ li r0, 0 -/* 050AF4 80056094 90032074 */ stw r0, 0x2074(r3) -/* 050AF8 80056098 38000001 */ li r0, 1 -lbl_8005609C: -/* 050AFC 8005609C 2C000000 */ cmpwi r0, 0 -/* 050B00 800560A0 41820040 */ beq lbl_800560E0 -/* 050B04 800560A4 281F0000 */ cmplwi r31, 0 -/* 050B08 800560A8 41820028 */ beq lbl_800560D0 -/* 050B0C 800560AC 80610084 */ lwz r3, 0x84(r1) -/* 050B10 800560B0 54E05828 */ slwi r0, r7, 0xb -/* 050B14 800560B4 6404FC20 */ oris r4, r0, 0xfc20 -/* 050B18 800560B8 38030001 */ addi r0, r3, 1 -/* 050B1C 800560BC 90010084 */ stw r0, 0x84(r1) -/* 050B20 800560C0 60840090 */ ori r4, r4, 0x90 -/* 050B24 800560C4 5460103A */ slwi r0, r3, 2 -/* 050B28 800560C8 7C9F012E */ stwx r4, r31, r0 -/* 050B2C 800560CC 48000054 */ b lbl_80056120 -lbl_800560D0: -/* 050B30 800560D0 80610084 */ lwz r3, 0x84(r1) -/* 050B34 800560D4 38030001 */ addi r0, r3, 1 -/* 050B38 800560D8 90010084 */ stw r0, 0x84(r1) -/* 050B3C 800560DC 48000044 */ b lbl_80056120 -lbl_800560E0: -/* 050B40 800560E0 281F0000 */ cmplwi r31, 0 -/* 050B44 800560E4 41820030 */ beq lbl_80056114 -/* 050B48 800560E8 80610084 */ lwz r3, 0x84(r1) -/* 050B4C 800560EC 54E41838 */ slwi r4, r7, 3 -/* 050B50 800560F0 38040140 */ addi r0, r4, 0x140 -/* 050B54 800560F4 7C9E0214 */ add r4, r30, r0 -/* 050B58 800560F8 38030001 */ addi r0, r3, 1 -/* 050B5C 800560FC 7C9E2050 */ subf r4, r30, r4 -/* 050B60 80056100 90010084 */ stw r0, 0x84(r1) -/* 050B64 80056104 3C04C823 */ addis r0, r4, 0xc823 -/* 050B68 80056108 5463103A */ slwi r3, r3, 2 -/* 050B6C 8005610C 7C1F192E */ stwx r0, r31, r3 -/* 050B70 80056110 48000010 */ b lbl_80056120 -lbl_80056114: -/* 050B74 80056114 80610084 */ lwz r3, 0x84(r1) -/* 050B78 80056118 38030001 */ addi r0, r3, 1 -/* 050B7C 8005611C 90010084 */ stw r0, 0x84(r1) -lbl_80056120: -/* 050B80 80056120 281F0000 */ cmplwi r31, 0 -/* 050B84 80056124 41820034 */ beq lbl_80056158 -/* 050B88 80056128 54C41838 */ slwi r4, r6, 3 -/* 050B8C 8005612C 80610084 */ lwz r3, 0x84(r1) -/* 050B90 80056130 38040140 */ addi r0, r4, 0x140 -/* 050B94 80056134 7C1E0214 */ add r0, r30, r0 -/* 050B98 80056138 7C9E0050 */ subf r4, r30, r0 -/* 050B9C 8005613C 38030001 */ addi r0, r3, 1 -/* 050BA0 80056140 3C8438A0 */ addis r4, r4, 0x38a0 -/* 050BA4 80056144 90010084 */ stw r0, 0x84(r1) -/* 050BA8 80056148 38040004 */ addi r0, r4, 4 -/* 050BAC 8005614C 5463103A */ slwi r3, r3, 2 -/* 050BB0 80056150 7C1F192E */ stwx r0, r31, r3 -/* 050BB4 80056154 48000010 */ b lbl_80056164 -lbl_80056158: -/* 050BB8 80056158 80610084 */ lwz r3, 0x84(r1) -/* 050BBC 8005615C 38030001 */ addi r0, r3, 1 -/* 050BC0 80056160 90010084 */ stw r0, 0x84(r1) -lbl_80056164: -/* 050BC4 80056164 281F0000 */ cmplwi r31, 0 -/* 050BC8 80056168 41820034 */ beq lbl_8005619C -/* 050BCC 8005616C 80610084 */ lwz r3, 0x84(r1) -/* 050BD0 80056170 800D8A4C */ lwz r0, cpuCompile_TRUNC_W_function@sda21(r13) -/* 050BD4 80056174 5465103A */ slwi r5, r3, 2 -/* 050BD8 80056178 7C9F2A14 */ add r4, r31, r5 -/* 050BDC 8005617C 7C040050 */ subf r0, r4, r0 -/* 050BE0 80056180 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 050BE4 80056184 38630001 */ addi r3, r3, 1 -/* 050BE8 80056188 64004800 */ oris r0, r0, 0x4800 -/* 050BEC 8005618C 90610084 */ stw r3, 0x84(r1) -/* 050BF0 80056190 60000001 */ ori r0, r0, 1 -/* 050BF4 80056194 7C1F292E */ stwx r0, r31, r5 -/* 050BF8 80056198 48011D9C */ b lbl_80067F34 -lbl_8005619C: -/* 050BFC 8005619C 80610084 */ lwz r3, 0x84(r1) -/* 050C00 800561A0 38030001 */ addi r0, r3, 1 -/* 050C04 800561A4 90010084 */ stw r0, 0x84(r1) -/* 050C08 800561A8 48011D8C */ b lbl_80067F34 -.global lbl_800561AC -lbl_800561AC: -/* 050C0C 800561AC 389D0000 */ addi r4, r29, 0 -/* 050C10 800561B0 4CC63182 */ crclr 6 -/* 050C14 800561B4 5798D6FE */ rlwinm r24, r28, 0x1a, 0x1b, 0x1f -/* 050C18 800561B8 5797AEFE */ rlwinm r23, r28, 0x15, 0x1b, 0x1f -/* 050C1C 800561BC 387A1374 */ addi r3, r26, 0x1374 -/* 050C20 800561C0 48048439 */ bl OSReport -/* 050C24 800561C4 3C7E0001 */ addis r3, r30, 1 -/* 050C28 800561C8 80032064 */ lwz r0, 0x2064(r3) -/* 050C2C 800561CC 28000000 */ cmplwi r0, 0 -/* 050C30 800561D0 4082000C */ bne lbl_800561DC -/* 050C34 800561D4 38000000 */ li r0, 0 -/* 050C38 800561D8 48000094 */ b lbl_8005626C -lbl_800561DC: -/* 050C3C 800561DC 80032074 */ lwz r0, 0x2074(r3) -/* 050C40 800561E0 28000000 */ cmplwi r0, 0 -/* 050C44 800561E4 4082000C */ bne lbl_800561F0 -/* 050C48 800561E8 38000000 */ li r0, 0 -/* 050C4C 800561EC 48000080 */ b lbl_8005626C -lbl_800561F0: -/* 050C50 800561F0 80032078 */ lwz r0, 0x2078(r3) -/* 050C54 800561F4 7C170000 */ cmpw r23, r0 -/* 050C58 800561F8 4182000C */ beq lbl_80056204 -/* 050C5C 800561FC 38000000 */ li r0, 0 -/* 050C60 80056200 4800006C */ b lbl_8005626C -lbl_80056204: -/* 050C64 80056204 80BE0034 */ lwz r5, 0x34(r30) -/* 050C68 80056208 38800000 */ li r4, 0 -/* 050C6C 8005620C 80050008 */ lwz r0, 8(r5) -/* 050C70 80056210 2C000000 */ cmpwi r0, 0 -/* 050C74 80056214 7C0903A6 */ mtctr r0 -/* 050C78 80056218 40810028 */ ble lbl_80056240 -lbl_8005621C: -/* 050C7C 8005621C 8065000C */ lwz r3, 0xc(r5) -/* 050C80 80056220 38040004 */ addi r0, r4, 4 -/* 050C84 80056224 7C03002E */ lwzx r0, r3, r0 -/* 050C88 80056228 7C1D0000 */ cmpw r29, r0 -/* 050C8C 8005622C 4082000C */ bne lbl_80056238 -/* 050C90 80056230 38000000 */ li r0, 0 -/* 050C94 80056234 48000010 */ b lbl_80056244 -lbl_80056238: -/* 050C98 80056238 38840008 */ addi r4, r4, 8 -/* 050C9C 8005623C 4200FFE0 */ bdnz lbl_8005621C -lbl_80056240: -/* 050CA0 80056240 38000001 */ li r0, 1 -lbl_80056244: -/* 050CA4 80056244 2C000000 */ cmpwi r0, 0 -/* 050CA8 80056248 40820014 */ bne lbl_8005625C -/* 050CAC 8005624C 38000000 */ li r0, 0 -/* 050CB0 80056250 3C7E0001 */ addis r3, r30, 1 -/* 050CB4 80056254 90032074 */ stw r0, 0x2074(r3) -/* 050CB8 80056258 48000014 */ b lbl_8005626C -lbl_8005625C: -/* 050CBC 8005625C 3C7E0001 */ addis r3, r30, 1 -/* 050CC0 80056260 38000000 */ li r0, 0 -/* 050CC4 80056264 90032074 */ stw r0, 0x2074(r3) -/* 050CC8 80056268 38000001 */ li r0, 1 -lbl_8005626C: -/* 050CCC 8005626C 2C000000 */ cmpwi r0, 0 -/* 050CD0 80056270 41820040 */ beq lbl_800562B0 -/* 050CD4 80056274 281F0000 */ cmplwi r31, 0 -/* 050CD8 80056278 41820028 */ beq lbl_800562A0 -/* 050CDC 8005627C 80610084 */ lwz r3, 0x84(r1) -/* 050CE0 80056280 56E05828 */ slwi r0, r23, 0xb -/* 050CE4 80056284 6404FC20 */ oris r4, r0, 0xfc20 -/* 050CE8 80056288 38030001 */ addi r0, r3, 1 -/* 050CEC 8005628C 90010084 */ stw r0, 0x84(r1) -/* 050CF0 80056290 60840090 */ ori r4, r4, 0x90 -/* 050CF4 80056294 5460103A */ slwi r0, r3, 2 -/* 050CF8 80056298 7C9F012E */ stwx r4, r31, r0 -/* 050CFC 8005629C 48000054 */ b lbl_800562F0 -lbl_800562A0: -/* 050D00 800562A0 80610084 */ lwz r3, 0x84(r1) -/* 050D04 800562A4 38030001 */ addi r0, r3, 1 -/* 050D08 800562A8 90010084 */ stw r0, 0x84(r1) -/* 050D0C 800562AC 48000044 */ b lbl_800562F0 -lbl_800562B0: -/* 050D10 800562B0 281F0000 */ cmplwi r31, 0 -/* 050D14 800562B4 41820030 */ beq lbl_800562E4 -/* 050D18 800562B8 80610084 */ lwz r3, 0x84(r1) -/* 050D1C 800562BC 56E41838 */ slwi r4, r23, 3 -/* 050D20 800562C0 38040140 */ addi r0, r4, 0x140 -/* 050D24 800562C4 7C9E0214 */ add r4, r30, r0 -/* 050D28 800562C8 38030001 */ addi r0, r3, 1 -/* 050D2C 800562CC 7C9E2050 */ subf r4, r30, r4 -/* 050D30 800562D0 90010084 */ stw r0, 0x84(r1) -/* 050D34 800562D4 3C04C823 */ addis r0, r4, 0xc823 -/* 050D38 800562D8 5463103A */ slwi r3, r3, 2 -/* 050D3C 800562DC 7C1F192E */ stwx r0, r31, r3 -/* 050D40 800562E0 48000010 */ b lbl_800562F0 -lbl_800562E4: -/* 050D44 800562E4 80610084 */ lwz r3, 0x84(r1) -/* 050D48 800562E8 38030001 */ addi r0, r3, 1 -/* 050D4C 800562EC 90010084 */ stw r0, 0x84(r1) -lbl_800562F0: -/* 050D50 800562F0 281F0000 */ cmplwi r31, 0 -/* 050D54 800562F4 41820034 */ beq lbl_80056328 -/* 050D58 800562F8 80610084 */ lwz r3, 0x84(r1) -/* 050D5C 800562FC 800D8A40 */ lwz r0, cpuCompile_CEIL_W_function@sda21(r13) -/* 050D60 80056300 5465103A */ slwi r5, r3, 2 -/* 050D64 80056304 7C9F2A14 */ add r4, r31, r5 -/* 050D68 80056308 7C040050 */ subf r0, r4, r0 -/* 050D6C 8005630C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 050D70 80056310 38630001 */ addi r3, r3, 1 -/* 050D74 80056314 64004800 */ oris r0, r0, 0x4800 -/* 050D78 80056318 90610084 */ stw r3, 0x84(r1) -/* 050D7C 8005631C 60000001 */ ori r0, r0, 1 -/* 050D80 80056320 7C1F292E */ stwx r0, r31, r5 -/* 050D84 80056324 48000010 */ b lbl_80056334 -lbl_80056328: -/* 050D88 80056328 80610084 */ lwz r3, 0x84(r1) -/* 050D8C 8005632C 38030001 */ addi r0, r3, 1 -/* 050D90 80056330 90010084 */ stw r0, 0x84(r1) -lbl_80056334: -/* 050D94 80056334 281F0000 */ cmplwi r31, 0 -/* 050D98 80056338 41820034 */ beq lbl_8005636C -/* 050D9C 8005633C 57041838 */ slwi r4, r24, 3 -/* 050DA0 80056340 80610084 */ lwz r3, 0x84(r1) -/* 050DA4 80056344 38040140 */ addi r0, r4, 0x140 -/* 050DA8 80056348 7C1E0214 */ add r0, r30, r0 -/* 050DAC 8005634C 7C9E0050 */ subf r4, r30, r0 -/* 050DB0 80056350 38030001 */ addi r0, r3, 1 -/* 050DB4 80056354 3C8490A3 */ addis r4, r4, 0x90a3 -/* 050DB8 80056358 90010084 */ stw r0, 0x84(r1) -/* 050DBC 8005635C 38040004 */ addi r0, r4, 4 -/* 050DC0 80056360 5463103A */ slwi r3, r3, 2 -/* 050DC4 80056364 7C1F192E */ stwx r0, r31, r3 -/* 050DC8 80056368 48011BCC */ b lbl_80067F34 -lbl_8005636C: -/* 050DCC 8005636C 80610084 */ lwz r3, 0x84(r1) -/* 050DD0 80056370 38030001 */ addi r0, r3, 1 -/* 050DD4 80056374 90010084 */ stw r0, 0x84(r1) -/* 050DD8 80056378 48011BBC */ b lbl_80067F34 -.global lbl_8005637C -lbl_8005637C: -/* 050DDC 8005637C 389D0000 */ addi r4, r29, 0 -/* 050DE0 80056380 4CC63182 */ crclr 6 -/* 050DE4 80056384 5798D6FE */ rlwinm r24, r28, 0x1a, 0x1b, 0x1f -/* 050DE8 80056388 5797AEFE */ rlwinm r23, r28, 0x15, 0x1b, 0x1f -/* 050DEC 8005638C 387A1390 */ addi r3, r26, 0x1390 -/* 050DF0 80056390 48048269 */ bl OSReport -/* 050DF4 80056394 3C7E0001 */ addis r3, r30, 1 -/* 050DF8 80056398 80032064 */ lwz r0, 0x2064(r3) -/* 050DFC 8005639C 28000000 */ cmplwi r0, 0 -/* 050E00 800563A0 4082000C */ bne lbl_800563AC -/* 050E04 800563A4 38000000 */ li r0, 0 -/* 050E08 800563A8 48000094 */ b lbl_8005643C -lbl_800563AC: -/* 050E0C 800563AC 80032074 */ lwz r0, 0x2074(r3) -/* 050E10 800563B0 28000000 */ cmplwi r0, 0 -/* 050E14 800563B4 4082000C */ bne lbl_800563C0 -/* 050E18 800563B8 38000000 */ li r0, 0 -/* 050E1C 800563BC 48000080 */ b lbl_8005643C -lbl_800563C0: -/* 050E20 800563C0 80032078 */ lwz r0, 0x2078(r3) -/* 050E24 800563C4 7C170000 */ cmpw r23, r0 -/* 050E28 800563C8 4182000C */ beq lbl_800563D4 -/* 050E2C 800563CC 38000000 */ li r0, 0 -/* 050E30 800563D0 4800006C */ b lbl_8005643C -lbl_800563D4: -/* 050E34 800563D4 80BE0034 */ lwz r5, 0x34(r30) -/* 050E38 800563D8 38800000 */ li r4, 0 -/* 050E3C 800563DC 80050008 */ lwz r0, 8(r5) -/* 050E40 800563E0 2C000000 */ cmpwi r0, 0 -/* 050E44 800563E4 7C0903A6 */ mtctr r0 -/* 050E48 800563E8 40810028 */ ble lbl_80056410 -lbl_800563EC: -/* 050E4C 800563EC 8065000C */ lwz r3, 0xc(r5) -/* 050E50 800563F0 38040004 */ addi r0, r4, 4 -/* 050E54 800563F4 7C03002E */ lwzx r0, r3, r0 -/* 050E58 800563F8 7C1D0000 */ cmpw r29, r0 -/* 050E5C 800563FC 4082000C */ bne lbl_80056408 -/* 050E60 80056400 38000000 */ li r0, 0 -/* 050E64 80056404 48000010 */ b lbl_80056414 -lbl_80056408: -/* 050E68 80056408 38840008 */ addi r4, r4, 8 -/* 050E6C 8005640C 4200FFE0 */ bdnz lbl_800563EC -lbl_80056410: -/* 050E70 80056410 38000001 */ li r0, 1 -lbl_80056414: -/* 050E74 80056414 2C000000 */ cmpwi r0, 0 -/* 050E78 80056418 40820014 */ bne lbl_8005642C -/* 050E7C 8005641C 38000000 */ li r0, 0 -/* 050E80 80056420 3C7E0001 */ addis r3, r30, 1 -/* 050E84 80056424 90032074 */ stw r0, 0x2074(r3) -/* 050E88 80056428 48000014 */ b lbl_8005643C -lbl_8005642C: -/* 050E8C 8005642C 3C7E0001 */ addis r3, r30, 1 -/* 050E90 80056430 38000000 */ li r0, 0 -/* 050E94 80056434 90032074 */ stw r0, 0x2074(r3) -/* 050E98 80056438 38000001 */ li r0, 1 -lbl_8005643C: -/* 050E9C 8005643C 2C000000 */ cmpwi r0, 0 -/* 050EA0 80056440 41820040 */ beq lbl_80056480 -/* 050EA4 80056444 281F0000 */ cmplwi r31, 0 -/* 050EA8 80056448 41820028 */ beq lbl_80056470 -/* 050EAC 8005644C 80610084 */ lwz r3, 0x84(r1) -/* 050EB0 80056450 56E05828 */ slwi r0, r23, 0xb -/* 050EB4 80056454 6404FC20 */ oris r4, r0, 0xfc20 -/* 050EB8 80056458 38030001 */ addi r0, r3, 1 -/* 050EBC 8005645C 90010084 */ stw r0, 0x84(r1) -/* 050EC0 80056460 60840090 */ ori r4, r4, 0x90 -/* 050EC4 80056464 5460103A */ slwi r0, r3, 2 -/* 050EC8 80056468 7C9F012E */ stwx r4, r31, r0 -/* 050ECC 8005646C 48000054 */ b lbl_800564C0 -lbl_80056470: -/* 050ED0 80056470 80610084 */ lwz r3, 0x84(r1) -/* 050ED4 80056474 38030001 */ addi r0, r3, 1 -/* 050ED8 80056478 90010084 */ stw r0, 0x84(r1) -/* 050EDC 8005647C 48000044 */ b lbl_800564C0 -lbl_80056480: -/* 050EE0 80056480 281F0000 */ cmplwi r31, 0 -/* 050EE4 80056484 41820030 */ beq lbl_800564B4 -/* 050EE8 80056488 80610084 */ lwz r3, 0x84(r1) -/* 050EEC 8005648C 56E41838 */ slwi r4, r23, 3 -/* 050EF0 80056490 38040140 */ addi r0, r4, 0x140 -/* 050EF4 80056494 7C9E0214 */ add r4, r30, r0 -/* 050EF8 80056498 38030001 */ addi r0, r3, 1 -/* 050EFC 8005649C 7C9E2050 */ subf r4, r30, r4 -/* 050F00 800564A0 90010084 */ stw r0, 0x84(r1) -/* 050F04 800564A4 3C04C823 */ addis r0, r4, 0xc823 -/* 050F08 800564A8 5463103A */ slwi r3, r3, 2 -/* 050F0C 800564AC 7C1F192E */ stwx r0, r31, r3 -/* 050F10 800564B0 48000010 */ b lbl_800564C0 -lbl_800564B4: -/* 050F14 800564B4 80610084 */ lwz r3, 0x84(r1) -/* 050F18 800564B8 38030001 */ addi r0, r3, 1 -/* 050F1C 800564BC 90010084 */ stw r0, 0x84(r1) -lbl_800564C0: -/* 050F20 800564C0 281F0000 */ cmplwi r31, 0 -/* 050F24 800564C4 41820034 */ beq lbl_800564F8 -/* 050F28 800564C8 80610084 */ lwz r3, 0x84(r1) -/* 050F2C 800564CC 800D8A44 */ lwz r0, cpuCompile_FLOOR_W_function@sda21(r13) -/* 050F30 800564D0 5465103A */ slwi r5, r3, 2 -/* 050F34 800564D4 7C9F2A14 */ add r4, r31, r5 -/* 050F38 800564D8 7C040050 */ subf r0, r4, r0 -/* 050F3C 800564DC 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 050F40 800564E0 38630001 */ addi r3, r3, 1 -/* 050F44 800564E4 64004800 */ oris r0, r0, 0x4800 -/* 050F48 800564E8 90610084 */ stw r3, 0x84(r1) -/* 050F4C 800564EC 60000001 */ ori r0, r0, 1 -/* 050F50 800564F0 7C1F292E */ stwx r0, r31, r5 -/* 050F54 800564F4 48000010 */ b lbl_80056504 -lbl_800564F8: -/* 050F58 800564F8 80610084 */ lwz r3, 0x84(r1) -/* 050F5C 800564FC 38030001 */ addi r0, r3, 1 -/* 050F60 80056500 90010084 */ stw r0, 0x84(r1) -lbl_80056504: -/* 050F64 80056504 281F0000 */ cmplwi r31, 0 -/* 050F68 80056508 41820034 */ beq lbl_8005653C -/* 050F6C 8005650C 57041838 */ slwi r4, r24, 3 -/* 050F70 80056510 80610084 */ lwz r3, 0x84(r1) -/* 050F74 80056514 38040140 */ addi r0, r4, 0x140 -/* 050F78 80056518 7C1E0214 */ add r0, r30, r0 -/* 050F7C 8005651C 7C9E0050 */ subf r4, r30, r0 -/* 050F80 80056520 38030001 */ addi r0, r3, 1 -/* 050F84 80056524 3C8490A3 */ addis r4, r4, 0x90a3 -/* 050F88 80056528 90010084 */ stw r0, 0x84(r1) -/* 050F8C 8005652C 38040004 */ addi r0, r4, 4 -/* 050F90 80056530 5463103A */ slwi r3, r3, 2 -/* 050F94 80056534 7C1F192E */ stwx r0, r31, r3 -/* 050F98 80056538 480119FC */ b lbl_80067F34 -lbl_8005653C: -/* 050F9C 8005653C 80610084 */ lwz r3, 0x84(r1) -/* 050FA0 80056540 38030001 */ addi r0, r3, 1 -/* 050FA4 80056544 90010084 */ stw r0, 0x84(r1) -/* 050FA8 80056548 480119EC */ b lbl_80067F34 -.global lbl_8005654C -lbl_8005654C: -/* 050FAC 8005654C 281F0000 */ cmplwi r31, 0 -/* 050FB0 80056550 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 050FB4 80056554 5784AEFE */ rlwinm r4, r28, 0x15, 0x1b, 0x1f -/* 050FB8 80056558 41820030 */ beq lbl_80056588 -/* 050FBC 8005655C 80610084 */ lwz r3, 0x84(r1) -/* 050FC0 80056560 54841838 */ slwi r4, r4, 3 -/* 050FC4 80056564 38840140 */ addi r4, r4, 0x140 -/* 050FC8 80056568 7C9E2214 */ add r4, r30, r4 -/* 050FCC 8005656C 38A30001 */ addi r5, r3, 1 -/* 050FD0 80056570 7C9E2050 */ subf r4, r30, r4 -/* 050FD4 80056574 90A10084 */ stw r5, 0x84(r1) -/* 050FD8 80056578 3C84C823 */ addis r4, r4, 0xc823 -/* 050FDC 8005657C 5463103A */ slwi r3, r3, 2 -/* 050FE0 80056580 7C9F192E */ stwx r4, r31, r3 -/* 050FE4 80056584 48000010 */ b lbl_80056594 -lbl_80056588: -/* 050FE8 80056588 80610084 */ lwz r3, 0x84(r1) -/* 050FEC 8005658C 38630001 */ addi r3, r3, 1 -/* 050FF0 80056590 90610084 */ stw r3, 0x84(r1) -lbl_80056594: -/* 050FF4 80056594 281F0000 */ cmplwi r31, 0 -/* 050FF8 80056598 41820034 */ beq lbl_800565CC -/* 050FFC 8005659C 54041838 */ slwi r4, r0, 3 -/* 051000 800565A0 80610084 */ lwz r3, 0x84(r1) -/* 051004 800565A4 38040140 */ addi r0, r4, 0x140 -/* 051008 800565A8 7C1E0214 */ add r0, r30, r0 -/* 05100C 800565AC 7C9E0050 */ subf r4, r30, r0 -/* 051010 800565B0 38030001 */ addi r0, r3, 1 -/* 051014 800565B4 3C84D023 */ addis r4, r4, 0xd023 -/* 051018 800565B8 90010084 */ stw r0, 0x84(r1) -/* 05101C 800565BC 38040004 */ addi r0, r4, 4 -/* 051020 800565C0 5463103A */ slwi r3, r3, 2 -/* 051024 800565C4 7C1F192E */ stwx r0, r31, r3 -/* 051028 800565C8 4801196C */ b lbl_80067F34 -lbl_800565CC: -/* 05102C 800565CC 80610084 */ lwz r3, 0x84(r1) -/* 051030 800565D0 38030001 */ addi r0, r3, 1 -/* 051034 800565D4 90010084 */ stw r0, 0x84(r1) -/* 051038 800565D8 4801195C */ b lbl_80067F34 -.global lbl_800565DC -lbl_800565DC: -/* 05103C 800565DC 387A13B0 */ addi r3, r26, 0x13b0 -/* 051040 800565E0 4CC63182 */ crclr 6 -/* 051044 800565E4 48048015 */ bl OSReport -/* 051048 800565E8 4801194C */ b lbl_80067F34 -.global lbl_800565EC -lbl_800565EC: -/* 05104C 800565EC 3C7E0001 */ addis r3, r30, 1 -/* 051050 800565F0 80032064 */ lwz r0, 0x2064(r3) -/* 051054 800565F4 5786D6FE */ rlwinm r6, r28, 0x1a, 0x1b, 0x1f -/* 051058 800565F8 5787AEFE */ rlwinm r7, r28, 0x15, 0x1b, 0x1f -/* 05105C 800565FC 28000000 */ cmplwi r0, 0 -/* 051060 80056600 4082000C */ bne lbl_8005660C -/* 051064 80056604 38000000 */ li r0, 0 -/* 051068 80056608 48000094 */ b lbl_8005669C -lbl_8005660C: -/* 05106C 8005660C 80032074 */ lwz r0, 0x2074(r3) -/* 051070 80056610 28000000 */ cmplwi r0, 0 -/* 051074 80056614 4082000C */ bne lbl_80056620 -/* 051078 80056618 38000000 */ li r0, 0 -/* 05107C 8005661C 48000080 */ b lbl_8005669C -lbl_80056620: -/* 051080 80056620 80032078 */ lwz r0, 0x2078(r3) -/* 051084 80056624 7C070000 */ cmpw r7, r0 -/* 051088 80056628 4182000C */ beq lbl_80056634 -/* 05108C 8005662C 38000000 */ li r0, 0 -/* 051090 80056630 4800006C */ b lbl_8005669C -lbl_80056634: -/* 051094 80056634 80BE0034 */ lwz r5, 0x34(r30) -/* 051098 80056638 38800000 */ li r4, 0 -/* 05109C 8005663C 80050008 */ lwz r0, 8(r5) -/* 0510A0 80056640 2C000000 */ cmpwi r0, 0 -/* 0510A4 80056644 7C0903A6 */ mtctr r0 -/* 0510A8 80056648 40810028 */ ble lbl_80056670 -lbl_8005664C: -/* 0510AC 8005664C 8065000C */ lwz r3, 0xc(r5) -/* 0510B0 80056650 38040004 */ addi r0, r4, 4 -/* 0510B4 80056654 7C03002E */ lwzx r0, r3, r0 -/* 0510B8 80056658 7C1D0000 */ cmpw r29, r0 -/* 0510BC 8005665C 4082000C */ bne lbl_80056668 -/* 0510C0 80056660 38000000 */ li r0, 0 -/* 0510C4 80056664 48000010 */ b lbl_80056674 -lbl_80056668: -/* 0510C8 80056668 38840008 */ addi r4, r4, 8 -/* 0510CC 8005666C 4200FFE0 */ bdnz lbl_8005664C -lbl_80056670: -/* 0510D0 80056670 38000001 */ li r0, 1 -lbl_80056674: -/* 0510D4 80056674 2C000000 */ cmpwi r0, 0 -/* 0510D8 80056678 40820014 */ bne lbl_8005668C -/* 0510DC 8005667C 38000000 */ li r0, 0 -/* 0510E0 80056680 3C7E0001 */ addis r3, r30, 1 -/* 0510E4 80056684 90032074 */ stw r0, 0x2074(r3) -/* 0510E8 80056688 48000014 */ b lbl_8005669C -lbl_8005668C: -/* 0510EC 8005668C 3C7E0001 */ addis r3, r30, 1 -/* 0510F0 80056690 38000000 */ li r0, 0 -/* 0510F4 80056694 90032074 */ stw r0, 0x2074(r3) -/* 0510F8 80056698 38000001 */ li r0, 1 -lbl_8005669C: -/* 0510FC 8005669C 2C000000 */ cmpwi r0, 0 -/* 051100 800566A0 41820040 */ beq lbl_800566E0 -/* 051104 800566A4 281F0000 */ cmplwi r31, 0 -/* 051108 800566A8 41820028 */ beq lbl_800566D0 -/* 05110C 800566AC 80610084 */ lwz r3, 0x84(r1) -/* 051110 800566B0 54E05828 */ slwi r0, r7, 0xb -/* 051114 800566B4 6404FC20 */ oris r4, r0, 0xfc20 -/* 051118 800566B8 38030001 */ addi r0, r3, 1 -/* 05111C 800566BC 90010084 */ stw r0, 0x84(r1) -/* 051120 800566C0 60840090 */ ori r4, r4, 0x90 -/* 051124 800566C4 5460103A */ slwi r0, r3, 2 -/* 051128 800566C8 7C9F012E */ stwx r4, r31, r0 -/* 05112C 800566CC 48000054 */ b lbl_80056720 -lbl_800566D0: -/* 051130 800566D0 80610084 */ lwz r3, 0x84(r1) -/* 051134 800566D4 38030001 */ addi r0, r3, 1 -/* 051138 800566D8 90010084 */ stw r0, 0x84(r1) -/* 05113C 800566DC 48000044 */ b lbl_80056720 -lbl_800566E0: -/* 051140 800566E0 281F0000 */ cmplwi r31, 0 -/* 051144 800566E4 41820030 */ beq lbl_80056714 -/* 051148 800566E8 80610084 */ lwz r3, 0x84(r1) -/* 05114C 800566EC 54E41838 */ slwi r4, r7, 3 -/* 051150 800566F0 38040140 */ addi r0, r4, 0x140 -/* 051154 800566F4 7C9E0214 */ add r4, r30, r0 -/* 051158 800566F8 38030001 */ addi r0, r3, 1 -/* 05115C 800566FC 7C9E2050 */ subf r4, r30, r4 -/* 051160 80056700 90010084 */ stw r0, 0x84(r1) -/* 051164 80056704 3C04C823 */ addis r0, r4, 0xc823 -/* 051168 80056708 5463103A */ slwi r3, r3, 2 -/* 05116C 8005670C 7C1F192E */ stwx r0, r31, r3 -/* 051170 80056710 48000010 */ b lbl_80056720 -lbl_80056714: -/* 051174 80056714 80610084 */ lwz r3, 0x84(r1) -/* 051178 80056718 38030001 */ addi r0, r3, 1 -/* 05117C 8005671C 90010084 */ stw r0, 0x84(r1) -lbl_80056720: -/* 051180 80056720 281F0000 */ cmplwi r31, 0 -/* 051184 80056724 41820034 */ beq lbl_80056758 -/* 051188 80056728 54C41838 */ slwi r4, r6, 3 -/* 05118C 8005672C 80610084 */ lwz r3, 0x84(r1) -/* 051190 80056730 38040140 */ addi r0, r4, 0x140 -/* 051194 80056734 7C1E0214 */ add r0, r30, r0 -/* 051198 80056738 7C9E0050 */ subf r4, r30, r0 -/* 05119C 8005673C 38030001 */ addi r0, r3, 1 -/* 0511A0 80056740 3C8438A0 */ addis r4, r4, 0x38a0 -/* 0511A4 80056744 90010084 */ stw r0, 0x84(r1) -/* 0511A8 80056748 38040004 */ addi r0, r4, 4 -/* 0511AC 8005674C 5463103A */ slwi r3, r3, 2 -/* 0511B0 80056750 7C1F192E */ stwx r0, r31, r3 -/* 0511B4 80056754 48000010 */ b lbl_80056764 -lbl_80056758: -/* 0511B8 80056758 80610084 */ lwz r3, 0x84(r1) -/* 0511BC 8005675C 38030001 */ addi r0, r3, 1 -/* 0511C0 80056760 90010084 */ stw r0, 0x84(r1) -lbl_80056764: -/* 0511C4 80056764 281F0000 */ cmplwi r31, 0 -/* 0511C8 80056768 41820034 */ beq lbl_8005679C -/* 0511CC 8005676C 80610084 */ lwz r3, 0x84(r1) -/* 0511D0 80056770 800D8A4C */ lwz r0, cpuCompile_TRUNC_W_function@sda21(r13) -/* 0511D4 80056774 5465103A */ slwi r5, r3, 2 -/* 0511D8 80056778 7C9F2A14 */ add r4, r31, r5 -/* 0511DC 8005677C 7C040050 */ subf r0, r4, r0 -/* 0511E0 80056780 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 0511E4 80056784 38630001 */ addi r3, r3, 1 -/* 0511E8 80056788 64004800 */ oris r0, r0, 0x4800 -/* 0511EC 8005678C 90610084 */ stw r3, 0x84(r1) -/* 0511F0 80056790 60000001 */ ori r0, r0, 1 -/* 0511F4 80056794 7C1F292E */ stwx r0, r31, r5 -/* 0511F8 80056798 4801179C */ b lbl_80067F34 -lbl_8005679C: -/* 0511FC 8005679C 80610084 */ lwz r3, 0x84(r1) -/* 051200 800567A0 38030001 */ addi r0, r3, 1 -/* 051204 800567A4 90010084 */ stw r0, 0x84(r1) -/* 051208 800567A8 4801178C */ b lbl_80067F34 -.global lbl_800567AC -lbl_800567AC: -/* 05120C 800567AC 281F0000 */ cmplwi r31, 0 -/* 051210 800567B0 41820028 */ beq lbl_800567D8 -/* 051214 800567B4 80610084 */ lwz r3, 0x84(r1) -/* 051218 800567B8 381E0A3C */ addi r0, r30, 0xa3c -/* 05121C 800567BC 7C9E0050 */ subf r4, r30, r0 -/* 051220 800567C0 38030001 */ addi r0, r3, 1 -/* 051224 800567C4 90010084 */ stw r0, 0x84(r1) -/* 051228 800567C8 3C0480A3 */ addis r0, r4, 0x80a3 -/* 05122C 800567CC 5463103A */ slwi r3, r3, 2 -/* 051230 800567D0 7C1F192E */ stwx r0, r31, r3 -/* 051234 800567D4 48000010 */ b lbl_800567E4 -lbl_800567D8: -/* 051238 800567D8 80610084 */ lwz r3, 0x84(r1) -/* 05123C 800567DC 38030001 */ addi r0, r3, 1 -/* 051240 800567E0 90010084 */ stw r0, 0x84(r1) -lbl_800567E4: -/* 051244 800567E4 281F0000 */ cmplwi r31, 0 -/* 051248 800567E8 41820024 */ beq lbl_8005680C -/* 05124C 800567EC 80610084 */ lwz r3, 0x84(r1) -/* 051250 800567F0 3C8054A5 */ lis r4, 0x54a5 -/* 051254 800567F4 3884024E */ addi r4, r4, 0x24e -/* 051258 800567F8 38030001 */ addi r0, r3, 1 -/* 05125C 800567FC 90010084 */ stw r0, 0x84(r1) -/* 051260 80056800 5460103A */ slwi r0, r3, 2 -/* 051264 80056804 7C9F012E */ stwx r4, r31, r0 -/* 051268 80056808 48000010 */ b lbl_80056818 -lbl_8005680C: -/* 05126C 8005680C 80610084 */ lwz r3, 0x84(r1) -/* 051270 80056810 38030001 */ addi r0, r3, 1 -/* 051274 80056814 90010084 */ stw r0, 0x84(r1) -lbl_80056818: -/* 051278 80056818 281F0000 */ cmplwi r31, 0 -/* 05127C 8005681C 41820028 */ beq lbl_80056844 -/* 051280 80056820 80610084 */ lwz r3, 0x84(r1) -/* 051284 80056824 381E0A3C */ addi r0, r30, 0xa3c -/* 051288 80056828 7C9E0050 */ subf r4, r30, r0 -/* 05128C 8005682C 38030001 */ addi r0, r3, 1 -/* 051290 80056830 90010084 */ stw r0, 0x84(r1) -/* 051294 80056834 3C0490A3 */ addis r0, r4, 0x90a3 -/* 051298 80056838 5463103A */ slwi r3, r3, 2 -/* 05129C 8005683C 7C1F192E */ stwx r0, r31, r3 -/* 0512A0 80056840 480116F4 */ b lbl_80067F34 -lbl_80056844: -/* 0512A4 80056844 80610084 */ lwz r3, 0x84(r1) -/* 0512A8 80056848 38030001 */ addi r0, r3, 1 -/* 0512AC 8005684C 90010084 */ stw r0, 0x84(r1) -/* 0512B0 80056850 480116E4 */ b lbl_80067F34 -.global lbl_80056854 -lbl_80056854: -/* 0512B4 80056854 281F0000 */ cmplwi r31, 0 -/* 0512B8 80056858 41820028 */ beq lbl_80056880 -/* 0512BC 8005685C 80610084 */ lwz r3, 0x84(r1) -/* 0512C0 80056860 381E0A3C */ addi r0, r30, 0xa3c -/* 0512C4 80056864 7C9E0050 */ subf r4, r30, r0 -/* 0512C8 80056868 38030001 */ addi r0, r3, 1 -/* 0512CC 8005686C 90010084 */ stw r0, 0x84(r1) -/* 0512D0 80056870 3C0480A3 */ addis r0, r4, 0x80a3 -/* 0512D4 80056874 5463103A */ slwi r3, r3, 2 -/* 0512D8 80056878 7C1F192E */ stwx r0, r31, r3 -/* 0512DC 8005687C 48000010 */ b lbl_8005688C -lbl_80056880: -/* 0512E0 80056880 80610084 */ lwz r3, 0x84(r1) -/* 0512E4 80056884 38030001 */ addi r0, r3, 1 -/* 0512E8 80056888 90010084 */ stw r0, 0x84(r1) -lbl_8005688C: -/* 0512EC 8005688C 281F0000 */ cmplwi r31, 0 -/* 0512F0 80056890 41820024 */ beq lbl_800568B4 -/* 0512F4 80056894 80610084 */ lwz r3, 0x84(r1) -/* 0512F8 80056898 3C8054A5 */ lis r4, 0x54a5 -/* 0512FC 8005689C 3884024E */ addi r4, r4, 0x24e -/* 051300 800568A0 38030001 */ addi r0, r3, 1 -/* 051304 800568A4 90010084 */ stw r0, 0x84(r1) -/* 051308 800568A8 5460103A */ slwi r0, r3, 2 -/* 05130C 800568AC 7C9F012E */ stwx r4, r31, r0 -/* 051310 800568B0 48000010 */ b lbl_800568C0 -lbl_800568B4: -/* 051314 800568B4 80610084 */ lwz r3, 0x84(r1) -/* 051318 800568B8 38030001 */ addi r0, r3, 1 -/* 05131C 800568BC 90010084 */ stw r0, 0x84(r1) -lbl_800568C0: -/* 051320 800568C0 281F0000 */ cmplwi r31, 0 -/* 051324 800568C4 41820028 */ beq lbl_800568EC -/* 051328 800568C8 80610084 */ lwz r3, 0x84(r1) -/* 05132C 800568CC 381E0A3C */ addi r0, r30, 0xa3c -/* 051330 800568D0 7C9E0050 */ subf r4, r30, r0 -/* 051334 800568D4 38030001 */ addi r0, r3, 1 -/* 051338 800568D8 90010084 */ stw r0, 0x84(r1) -/* 05133C 800568DC 3C0490A3 */ addis r0, r4, 0x90a3 -/* 051340 800568E0 5463103A */ slwi r3, r3, 2 -/* 051344 800568E4 7C1F192E */ stwx r0, r31, r3 -/* 051348 800568E8 4801164C */ b lbl_80067F34 -lbl_800568EC: -/* 05134C 800568EC 80610084 */ lwz r3, 0x84(r1) -/* 051350 800568F0 38030001 */ addi r0, r3, 1 -/* 051354 800568F4 90010084 */ stw r0, 0x84(r1) -/* 051358 800568F8 4801163C */ b lbl_80067F34 -.global lbl_800568FC -lbl_800568FC: -/* 05135C 800568FC 281F0000 */ cmplwi r31, 0 -/* 051360 80056900 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 051364 80056904 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 051368 80056908 41820028 */ beq lbl_80056930 -/* 05136C 8005690C 80810084 */ lwz r4, 0x84(r1) -/* 051370 80056910 38BE0A3C */ addi r5, r30, 0xa3c -/* 051374 80056914 7CBE2850 */ subf r5, r30, r5 -/* 051378 80056918 38C40001 */ addi r6, r4, 1 -/* 05137C 8005691C 90C10084 */ stw r6, 0x84(r1) -/* 051380 80056920 3CA580A3 */ addis r5, r5, 0x80a3 -/* 051384 80056924 5484103A */ slwi r4, r4, 2 -/* 051388 80056928 7CBF212E */ stwx r5, r31, r4 -/* 05138C 8005692C 48000010 */ b lbl_8005693C -lbl_80056930: -/* 051390 80056930 80810084 */ lwz r4, 0x84(r1) -/* 051394 80056934 38840001 */ addi r4, r4, 1 -/* 051398 80056938 90810084 */ stw r4, 0x84(r1) -lbl_8005693C: -/* 05139C 8005693C 3C9E0001 */ addis r4, r30, 1 -/* 0513A0 80056940 80A42064 */ lwz r5, 0x2064(r4) -/* 0513A4 80056944 28050000 */ cmplwi r5, 0 -/* 0513A8 80056948 4082000C */ bne lbl_80056954 -/* 0513AC 8005694C 38A00000 */ li r5, 0 -/* 0513B0 80056950 48000094 */ b lbl_800569E4 -lbl_80056954: -/* 0513B4 80056954 80A42074 */ lwz r5, 0x2074(r4) -/* 0513B8 80056958 28050000 */ cmplwi r5, 0 -/* 0513BC 8005695C 4082000C */ bne lbl_80056968 -/* 0513C0 80056960 38A00000 */ li r5, 0 -/* 0513C4 80056964 48000080 */ b lbl_800569E4 -lbl_80056968: -/* 0513C8 80056968 80842078 */ lwz r4, 0x2078(r4) -/* 0513CC 8005696C 7C002000 */ cmpw r0, r4 -/* 0513D0 80056970 4182000C */ beq lbl_8005697C -/* 0513D4 80056974 38A00000 */ li r5, 0 -/* 0513D8 80056978 4800006C */ b lbl_800569E4 -lbl_8005697C: -/* 0513DC 8005697C 80DE0034 */ lwz r6, 0x34(r30) -/* 0513E0 80056980 38A00000 */ li r5, 0 -/* 0513E4 80056984 80860008 */ lwz r4, 8(r6) -/* 0513E8 80056988 2C040000 */ cmpwi r4, 0 -/* 0513EC 8005698C 7C8903A6 */ mtctr r4 -/* 0513F0 80056990 40810028 */ ble lbl_800569B8 -lbl_80056994: -/* 0513F4 80056994 8086000C */ lwz r4, 0xc(r6) -/* 0513F8 80056998 38E50004 */ addi r7, r5, 4 -/* 0513FC 8005699C 7C84382E */ lwzx r4, r4, r7 -/* 051400 800569A0 7C1D2000 */ cmpw r29, r4 -/* 051404 800569A4 4082000C */ bne lbl_800569B0 -/* 051408 800569A8 38800000 */ li r4, 0 -/* 05140C 800569AC 48000010 */ b lbl_800569BC -lbl_800569B0: -/* 051410 800569B0 38A50008 */ addi r5, r5, 8 -/* 051414 800569B4 4200FFE0 */ bdnz lbl_80056994 -lbl_800569B8: -/* 051418 800569B8 38800001 */ li r4, 1 -lbl_800569BC: -/* 05141C 800569BC 2C040000 */ cmpwi r4, 0 -/* 051420 800569C0 40820014 */ bne lbl_800569D4 -/* 051424 800569C4 38A00000 */ li r5, 0 -/* 051428 800569C8 3C9E0001 */ addis r4, r30, 1 -/* 05142C 800569CC 90A42074 */ stw r5, 0x2074(r4) -/* 051430 800569D0 48000014 */ b lbl_800569E4 -lbl_800569D4: -/* 051434 800569D4 3C9E0001 */ addis r4, r30, 1 -/* 051438 800569D8 38A00000 */ li r5, 0 -/* 05143C 800569DC 90A42074 */ stw r5, 0x2074(r4) -/* 051440 800569E0 38A00001 */ li r5, 1 -lbl_800569E4: -/* 051444 800569E4 2C050000 */ cmpwi r5, 0 -/* 051448 800569E8 41820038 */ beq lbl_80056A20 -/* 05144C 800569EC 281F0000 */ cmplwi r31, 0 -/* 051450 800569F0 41820020 */ beq lbl_80056A10 -/* 051454 800569F4 80A10084 */ lwz r5, 0x84(r1) -/* 051458 800569F8 3CC06000 */ lis r6, 0x6000 -/* 05145C 800569FC 38850001 */ addi r4, r5, 1 -/* 051460 80056A00 90810084 */ stw r4, 0x84(r1) -/* 051464 80056A04 54A4103A */ slwi r4, r5, 2 -/* 051468 80056A08 7CDF212E */ stwx r6, r31, r4 -/* 05146C 80056A0C 48000060 */ b lbl_80056A6C -lbl_80056A10: -/* 051470 80056A10 80810084 */ lwz r4, 0x84(r1) -/* 051474 80056A14 38840001 */ addi r4, r4, 1 -/* 051478 80056A18 90810084 */ stw r4, 0x84(r1) -/* 05147C 80056A1C 48000050 */ b lbl_80056A6C -lbl_80056A20: -/* 051480 80056A20 281F0000 */ cmplwi r31, 0 -/* 051484 80056A24 4182003C */ beq lbl_80056A60 -/* 051488 80056A28 54041838 */ slwi r4, r0, 3 -/* 05148C 80056A2C 80A10084 */ lwz r5, 0x84(r1) -/* 051490 80056A30 38840140 */ addi r4, r4, 0x140 -/* 051494 80056A34 7C9E2214 */ add r4, r30, r4 -/* 051498 80056A38 5407A814 */ slwi r7, r0, 0x15 -/* 05149C 80056A3C 7CDE2050 */ subf r6, r30, r4 -/* 0514A0 80056A40 38850001 */ addi r4, r5, 1 -/* 0514A4 80056A44 90810084 */ stw r4, 0x84(r1) -/* 0514A8 80056A48 64E4C803 */ oris r4, r7, 0xc803 -/* 0514AC 80056A4C 54C6043E */ clrlwi r6, r6, 0x10 -/* 0514B0 80056A50 7C843214 */ add r4, r4, r6 -/* 0514B4 80056A54 54A5103A */ slwi r5, r5, 2 -/* 0514B8 80056A58 7C9F292E */ stwx r4, r31, r5 -/* 0514BC 80056A5C 48000010 */ b lbl_80056A6C -lbl_80056A60: -/* 0514C0 80056A60 80810084 */ lwz r4, 0x84(r1) -/* 0514C4 80056A64 38840001 */ addi r4, r4, 1 -/* 0514C8 80056A68 90810084 */ stw r4, 0x84(r1) -lbl_80056A6C: -/* 0514CC 80056A6C 3C9E0001 */ addis r4, r30, 1 -/* 0514D0 80056A70 80A42064 */ lwz r5, 0x2064(r4) -/* 0514D4 80056A74 28050000 */ cmplwi r5, 0 -/* 0514D8 80056A78 4082000C */ bne lbl_80056A84 -/* 0514DC 80056A7C 38A00000 */ li r5, 0 -/* 0514E0 80056A80 48000094 */ b lbl_80056B14 -lbl_80056A84: -/* 0514E4 80056A84 80A42074 */ lwz r5, 0x2074(r4) -/* 0514E8 80056A88 28050000 */ cmplwi r5, 0 -/* 0514EC 80056A8C 4082000C */ bne lbl_80056A98 -/* 0514F0 80056A90 38A00000 */ li r5, 0 -/* 0514F4 80056A94 48000080 */ b lbl_80056B14 -lbl_80056A98: -/* 0514F8 80056A98 80842078 */ lwz r4, 0x2078(r4) -/* 0514FC 80056A9C 7C032000 */ cmpw r3, r4 -/* 051500 80056AA0 4182000C */ beq lbl_80056AAC -/* 051504 80056AA4 38A00000 */ li r5, 0 -/* 051508 80056AA8 4800006C */ b lbl_80056B14 -lbl_80056AAC: -/* 05150C 80056AAC 80DE0034 */ lwz r6, 0x34(r30) -/* 051510 80056AB0 38A00000 */ li r5, 0 -/* 051514 80056AB4 80860008 */ lwz r4, 8(r6) -/* 051518 80056AB8 2C040000 */ cmpwi r4, 0 -/* 05151C 80056ABC 7C8903A6 */ mtctr r4 -/* 051520 80056AC0 40810028 */ ble lbl_80056AE8 -lbl_80056AC4: -/* 051524 80056AC4 8086000C */ lwz r4, 0xc(r6) -/* 051528 80056AC8 38E50004 */ addi r7, r5, 4 -/* 05152C 80056ACC 7C84382E */ lwzx r4, r4, r7 -/* 051530 80056AD0 7C1D2000 */ cmpw r29, r4 -/* 051534 80056AD4 4082000C */ bne lbl_80056AE0 -/* 051538 80056AD8 38800000 */ li r4, 0 -/* 05153C 80056ADC 48000010 */ b lbl_80056AEC -lbl_80056AE0: -/* 051540 80056AE0 38A50008 */ addi r5, r5, 8 -/* 051544 80056AE4 4200FFE0 */ bdnz lbl_80056AC4 -lbl_80056AE8: -/* 051548 80056AE8 38800001 */ li r4, 1 -lbl_80056AEC: -/* 05154C 80056AEC 2C040000 */ cmpwi r4, 0 -/* 051550 80056AF0 40820014 */ bne lbl_80056B04 -/* 051554 80056AF4 38A00000 */ li r5, 0 -/* 051558 80056AF8 3C9E0001 */ addis r4, r30, 1 -/* 05155C 80056AFC 90A42074 */ stw r5, 0x2074(r4) -/* 051560 80056B00 48000014 */ b lbl_80056B14 -lbl_80056B04: -/* 051564 80056B04 3C9E0001 */ addis r4, r30, 1 -/* 051568 80056B08 38A00000 */ li r5, 0 -/* 05156C 80056B0C 90A42074 */ stw r5, 0x2074(r4) -/* 051570 80056B10 38A00001 */ li r5, 1 -lbl_80056B14: -/* 051574 80056B14 2C050000 */ cmpwi r5, 0 -/* 051578 80056B18 41820038 */ beq lbl_80056B50 -/* 05157C 80056B1C 281F0000 */ cmplwi r31, 0 -/* 051580 80056B20 41820020 */ beq lbl_80056B40 -/* 051584 80056B24 80A10084 */ lwz r5, 0x84(r1) -/* 051588 80056B28 3CC06000 */ lis r6, 0x6000 -/* 05158C 80056B2C 38850001 */ addi r4, r5, 1 -/* 051590 80056B30 90810084 */ stw r4, 0x84(r1) -/* 051594 80056B34 54A4103A */ slwi r4, r5, 2 -/* 051598 80056B38 7CDF212E */ stwx r6, r31, r4 -/* 05159C 80056B3C 48000060 */ b lbl_80056B9C -lbl_80056B40: -/* 0515A0 80056B40 80810084 */ lwz r4, 0x84(r1) -/* 0515A4 80056B44 38840001 */ addi r4, r4, 1 -/* 0515A8 80056B48 90810084 */ stw r4, 0x84(r1) -/* 0515AC 80056B4C 48000050 */ b lbl_80056B9C -lbl_80056B50: -/* 0515B0 80056B50 281F0000 */ cmplwi r31, 0 -/* 0515B4 80056B54 4182003C */ beq lbl_80056B90 -/* 0515B8 80056B58 54641838 */ slwi r4, r3, 3 -/* 0515BC 80056B5C 80A10084 */ lwz r5, 0x84(r1) -/* 0515C0 80056B60 38840140 */ addi r4, r4, 0x140 -/* 0515C4 80056B64 7C9E2214 */ add r4, r30, r4 -/* 0515C8 80056B68 5467A814 */ slwi r7, r3, 0x15 -/* 0515CC 80056B6C 7CDE2050 */ subf r6, r30, r4 -/* 0515D0 80056B70 38850001 */ addi r4, r5, 1 -/* 0515D4 80056B74 90810084 */ stw r4, 0x84(r1) -/* 0515D8 80056B78 64E4C803 */ oris r4, r7, 0xc803 -/* 0515DC 80056B7C 54C6043E */ clrlwi r6, r6, 0x10 -/* 0515E0 80056B80 7C843214 */ add r4, r4, r6 -/* 0515E4 80056B84 54A5103A */ slwi r5, r5, 2 -/* 0515E8 80056B88 7C9F292E */ stwx r4, r31, r5 -/* 0515EC 80056B8C 48000010 */ b lbl_80056B9C -lbl_80056B90: -/* 0515F0 80056B90 80810084 */ lwz r4, 0x84(r1) -/* 0515F4 80056B94 38840001 */ addi r4, r4, 1 -/* 0515F8 80056B98 90810084 */ stw r4, 0x84(r1) -lbl_80056B9C: -/* 0515FC 80056B9C 281F0000 */ cmplwi r31, 0 -/* 051600 80056BA0 4182002C */ beq lbl_80056BCC -/* 051604 80056BA4 80810084 */ lwz r4, 0x84(r1) -/* 051608 80056BA8 5400801E */ slwi r0, r0, 0x10 -/* 05160C 80056BAC 6400FC00 */ oris r0, r0, 0xfc00 -/* 051610 80056BB0 38A40001 */ addi r5, r4, 1 -/* 051614 80056BB4 54635828 */ slwi r3, r3, 0xb -/* 051618 80056BB8 90A10084 */ stw r5, 0x84(r1) -/* 05161C 80056BBC 7C001B78 */ or r0, r0, r3 -/* 051620 80056BC0 5483103A */ slwi r3, r4, 2 -/* 051624 80056BC4 7C1F192E */ stwx r0, r31, r3 -/* 051628 80056BC8 48000010 */ b lbl_80056BD8 -lbl_80056BCC: -/* 05162C 80056BCC 80610084 */ lwz r3, 0x84(r1) -/* 051630 80056BD0 38030001 */ addi r0, r3, 1 -/* 051634 80056BD4 90010084 */ stw r0, 0x84(r1) -lbl_80056BD8: -/* 051638 80056BD8 281F0000 */ cmplwi r31, 0 -/* 05163C 80056BDC 41820024 */ beq lbl_80056C00 -/* 051640 80056BE0 80610084 */ lwz r3, 0x84(r1) -/* 051644 80056BE4 3C804082 */ lis r4, 0x4082 -/* 051648 80056BE8 3884000C */ addi r4, r4, 0xc -/* 05164C 80056BEC 38030001 */ addi r0, r3, 1 -/* 051650 80056BF0 90010084 */ stw r0, 0x84(r1) -/* 051654 80056BF4 5460103A */ slwi r0, r3, 2 -/* 051658 80056BF8 7C9F012E */ stwx r4, r31, r0 -/* 05165C 80056BFC 48000010 */ b lbl_80056C0C -lbl_80056C00: -/* 051660 80056C00 80610084 */ lwz r3, 0x84(r1) -/* 051664 80056C04 38030001 */ addi r0, r3, 1 -/* 051668 80056C08 90010084 */ stw r0, 0x84(r1) -lbl_80056C0C: -/* 05166C 80056C0C 281F0000 */ cmplwi r31, 0 -/* 051670 80056C10 41820024 */ beq lbl_80056C34 -/* 051674 80056C14 80610084 */ lwz r3, 0x84(r1) -/* 051678 80056C18 3C8064A5 */ lis r4, 0x64a5 -/* 05167C 80056C1C 38840080 */ addi r4, r4, 0x80 -/* 051680 80056C20 38030001 */ addi r0, r3, 1 -/* 051684 80056C24 90010084 */ stw r0, 0x84(r1) -/* 051688 80056C28 5460103A */ slwi r0, r3, 2 -/* 05168C 80056C2C 7C9F012E */ stwx r4, r31, r0 -/* 051690 80056C30 48000010 */ b lbl_80056C40 -lbl_80056C34: -/* 051694 80056C34 80610084 */ lwz r3, 0x84(r1) -/* 051698 80056C38 38030001 */ addi r0, r3, 1 -/* 05169C 80056C3C 90010084 */ stw r0, 0x84(r1) -lbl_80056C40: -/* 0516A0 80056C40 281F0000 */ cmplwi r31, 0 -/* 0516A4 80056C44 41820024 */ beq lbl_80056C68 -/* 0516A8 80056C48 80610084 */ lwz r3, 0x84(r1) -/* 0516AC 80056C4C 3C804280 */ lis r4, 0x4280 -/* 0516B0 80056C50 38840008 */ addi r4, r4, 8 -/* 0516B4 80056C54 38030001 */ addi r0, r3, 1 -/* 0516B8 80056C58 90010084 */ stw r0, 0x84(r1) -/* 0516BC 80056C5C 5460103A */ slwi r0, r3, 2 -/* 0516C0 80056C60 7C9F012E */ stwx r4, r31, r0 -/* 0516C4 80056C64 48000010 */ b lbl_80056C74 -lbl_80056C68: -/* 0516C8 80056C68 80610084 */ lwz r3, 0x84(r1) -/* 0516CC 80056C6C 38030001 */ addi r0, r3, 1 -/* 0516D0 80056C70 90010084 */ stw r0, 0x84(r1) -lbl_80056C74: -/* 0516D4 80056C74 281F0000 */ cmplwi r31, 0 -/* 0516D8 80056C78 41820024 */ beq lbl_80056C9C -/* 0516DC 80056C7C 80610084 */ lwz r3, 0x84(r1) -/* 0516E0 80056C80 3C8054A5 */ lis r4, 0x54a5 -/* 0516E4 80056C84 3884024E */ addi r4, r4, 0x24e -/* 0516E8 80056C88 38030001 */ addi r0, r3, 1 -/* 0516EC 80056C8C 90010084 */ stw r0, 0x84(r1) -/* 0516F0 80056C90 5460103A */ slwi r0, r3, 2 -/* 0516F4 80056C94 7C9F012E */ stwx r4, r31, r0 -/* 0516F8 80056C98 48000010 */ b lbl_80056CA8 -lbl_80056C9C: -/* 0516FC 80056C9C 80610084 */ lwz r3, 0x84(r1) -/* 051700 80056CA0 38030001 */ addi r0, r3, 1 -/* 051704 80056CA4 90010084 */ stw r0, 0x84(r1) -lbl_80056CA8: -/* 051708 80056CA8 281F0000 */ cmplwi r31, 0 -/* 05170C 80056CAC 41820028 */ beq lbl_80056CD4 -/* 051710 80056CB0 80610084 */ lwz r3, 0x84(r1) -/* 051714 80056CB4 381E0A3C */ addi r0, r30, 0xa3c -/* 051718 80056CB8 7C9E0050 */ subf r4, r30, r0 -/* 05171C 80056CBC 38030001 */ addi r0, r3, 1 -/* 051720 80056CC0 90010084 */ stw r0, 0x84(r1) -/* 051724 80056CC4 3C0490A3 */ addis r0, r4, 0x90a3 -/* 051728 80056CC8 5463103A */ slwi r3, r3, 2 -/* 05172C 80056CCC 7C1F192E */ stwx r0, r31, r3 -/* 051730 80056CD0 48011264 */ b lbl_80067F34 -lbl_80056CD4: -/* 051734 80056CD4 80610084 */ lwz r3, 0x84(r1) -/* 051738 80056CD8 38030001 */ addi r0, r3, 1 -/* 05173C 80056CDC 90010084 */ stw r0, 0x84(r1) -/* 051740 80056CE0 48011254 */ b lbl_80067F34 -.global lbl_80056CE4 -lbl_80056CE4: -/* 051744 80056CE4 281F0000 */ cmplwi r31, 0 -/* 051748 80056CE8 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 05174C 80056CEC 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 051750 80056CF0 41820028 */ beq lbl_80056D18 -/* 051754 80056CF4 80810084 */ lwz r4, 0x84(r1) -/* 051758 80056CF8 38BE0A3C */ addi r5, r30, 0xa3c -/* 05175C 80056CFC 7CBE2850 */ subf r5, r30, r5 -/* 051760 80056D00 38C40001 */ addi r6, r4, 1 -/* 051764 80056D04 90C10084 */ stw r6, 0x84(r1) -/* 051768 80056D08 3CA580A3 */ addis r5, r5, 0x80a3 -/* 05176C 80056D0C 5484103A */ slwi r4, r4, 2 -/* 051770 80056D10 7CBF212E */ stwx r5, r31, r4 -/* 051774 80056D14 48000010 */ b lbl_80056D24 -lbl_80056D18: -/* 051778 80056D18 80810084 */ lwz r4, 0x84(r1) -/* 05177C 80056D1C 38840001 */ addi r4, r4, 1 -/* 051780 80056D20 90810084 */ stw r4, 0x84(r1) -lbl_80056D24: -/* 051784 80056D24 3C9E0001 */ addis r4, r30, 1 -/* 051788 80056D28 80A42064 */ lwz r5, 0x2064(r4) -/* 05178C 80056D2C 28050000 */ cmplwi r5, 0 -/* 051790 80056D30 4082000C */ bne lbl_80056D3C -/* 051794 80056D34 38A00000 */ li r5, 0 -/* 051798 80056D38 48000094 */ b lbl_80056DCC -lbl_80056D3C: -/* 05179C 80056D3C 80A42074 */ lwz r5, 0x2074(r4) -/* 0517A0 80056D40 28050000 */ cmplwi r5, 0 -/* 0517A4 80056D44 4082000C */ bne lbl_80056D50 -/* 0517A8 80056D48 38A00000 */ li r5, 0 -/* 0517AC 80056D4C 48000080 */ b lbl_80056DCC -lbl_80056D50: -/* 0517B0 80056D50 80842078 */ lwz r4, 0x2078(r4) -/* 0517B4 80056D54 7C002000 */ cmpw r0, r4 -/* 0517B8 80056D58 4182000C */ beq lbl_80056D64 -/* 0517BC 80056D5C 38A00000 */ li r5, 0 -/* 0517C0 80056D60 4800006C */ b lbl_80056DCC -lbl_80056D64: -/* 0517C4 80056D64 80DE0034 */ lwz r6, 0x34(r30) -/* 0517C8 80056D68 38A00000 */ li r5, 0 -/* 0517CC 80056D6C 80860008 */ lwz r4, 8(r6) -/* 0517D0 80056D70 2C040000 */ cmpwi r4, 0 -/* 0517D4 80056D74 7C8903A6 */ mtctr r4 -/* 0517D8 80056D78 40810028 */ ble lbl_80056DA0 -lbl_80056D7C: -/* 0517DC 80056D7C 8086000C */ lwz r4, 0xc(r6) -/* 0517E0 80056D80 38E50004 */ addi r7, r5, 4 -/* 0517E4 80056D84 7C84382E */ lwzx r4, r4, r7 -/* 0517E8 80056D88 7C1D2000 */ cmpw r29, r4 -/* 0517EC 80056D8C 4082000C */ bne lbl_80056D98 -/* 0517F0 80056D90 38800000 */ li r4, 0 -/* 0517F4 80056D94 48000010 */ b lbl_80056DA4 -lbl_80056D98: -/* 0517F8 80056D98 38A50008 */ addi r5, r5, 8 -/* 0517FC 80056D9C 4200FFE0 */ bdnz lbl_80056D7C -lbl_80056DA0: -/* 051800 80056DA0 38800001 */ li r4, 1 -lbl_80056DA4: -/* 051804 80056DA4 2C040000 */ cmpwi r4, 0 -/* 051808 80056DA8 40820014 */ bne lbl_80056DBC -/* 05180C 80056DAC 38A00000 */ li r5, 0 -/* 051810 80056DB0 3C9E0001 */ addis r4, r30, 1 -/* 051814 80056DB4 90A42074 */ stw r5, 0x2074(r4) -/* 051818 80056DB8 48000014 */ b lbl_80056DCC -lbl_80056DBC: -/* 05181C 80056DBC 3C9E0001 */ addis r4, r30, 1 -/* 051820 80056DC0 38A00000 */ li r5, 0 -/* 051824 80056DC4 90A42074 */ stw r5, 0x2074(r4) -/* 051828 80056DC8 38A00001 */ li r5, 1 -lbl_80056DCC: -/* 05182C 80056DCC 2C050000 */ cmpwi r5, 0 -/* 051830 80056DD0 41820038 */ beq lbl_80056E08 -/* 051834 80056DD4 281F0000 */ cmplwi r31, 0 -/* 051838 80056DD8 41820020 */ beq lbl_80056DF8 -/* 05183C 80056DDC 80A10084 */ lwz r5, 0x84(r1) -/* 051840 80056DE0 3CC06000 */ lis r6, 0x6000 -/* 051844 80056DE4 38850001 */ addi r4, r5, 1 -/* 051848 80056DE8 90810084 */ stw r4, 0x84(r1) -/* 05184C 80056DEC 54A4103A */ slwi r4, r5, 2 -/* 051850 80056DF0 7CDF212E */ stwx r6, r31, r4 -/* 051854 80056DF4 48000060 */ b lbl_80056E54 -lbl_80056DF8: -/* 051858 80056DF8 80810084 */ lwz r4, 0x84(r1) -/* 05185C 80056DFC 38840001 */ addi r4, r4, 1 -/* 051860 80056E00 90810084 */ stw r4, 0x84(r1) -/* 051864 80056E04 48000050 */ b lbl_80056E54 -lbl_80056E08: -/* 051868 80056E08 281F0000 */ cmplwi r31, 0 -/* 05186C 80056E0C 4182003C */ beq lbl_80056E48 -/* 051870 80056E10 54041838 */ slwi r4, r0, 3 -/* 051874 80056E14 80A10084 */ lwz r5, 0x84(r1) -/* 051878 80056E18 38840140 */ addi r4, r4, 0x140 -/* 05187C 80056E1C 7C9E2214 */ add r4, r30, r4 -/* 051880 80056E20 5407A814 */ slwi r7, r0, 0x15 -/* 051884 80056E24 7CDE2050 */ subf r6, r30, r4 -/* 051888 80056E28 38850001 */ addi r4, r5, 1 -/* 05188C 80056E2C 90810084 */ stw r4, 0x84(r1) -/* 051890 80056E30 64E4C803 */ oris r4, r7, 0xc803 -/* 051894 80056E34 54C6043E */ clrlwi r6, r6, 0x10 -/* 051898 80056E38 7C843214 */ add r4, r4, r6 -/* 05189C 80056E3C 54A5103A */ slwi r5, r5, 2 -/* 0518A0 80056E40 7C9F292E */ stwx r4, r31, r5 -/* 0518A4 80056E44 48000010 */ b lbl_80056E54 -lbl_80056E48: -/* 0518A8 80056E48 80810084 */ lwz r4, 0x84(r1) -/* 0518AC 80056E4C 38840001 */ addi r4, r4, 1 -/* 0518B0 80056E50 90810084 */ stw r4, 0x84(r1) -lbl_80056E54: -/* 0518B4 80056E54 3C9E0001 */ addis r4, r30, 1 -/* 0518B8 80056E58 80A42064 */ lwz r5, 0x2064(r4) -/* 0518BC 80056E5C 28050000 */ cmplwi r5, 0 -/* 0518C0 80056E60 4082000C */ bne lbl_80056E6C -/* 0518C4 80056E64 38A00000 */ li r5, 0 -/* 0518C8 80056E68 48000094 */ b lbl_80056EFC -lbl_80056E6C: -/* 0518CC 80056E6C 80A42074 */ lwz r5, 0x2074(r4) -/* 0518D0 80056E70 28050000 */ cmplwi r5, 0 -/* 0518D4 80056E74 4082000C */ bne lbl_80056E80 -/* 0518D8 80056E78 38A00000 */ li r5, 0 -/* 0518DC 80056E7C 48000080 */ b lbl_80056EFC -lbl_80056E80: -/* 0518E0 80056E80 80842078 */ lwz r4, 0x2078(r4) -/* 0518E4 80056E84 7C032000 */ cmpw r3, r4 -/* 0518E8 80056E88 4182000C */ beq lbl_80056E94 -/* 0518EC 80056E8C 38A00000 */ li r5, 0 -/* 0518F0 80056E90 4800006C */ b lbl_80056EFC -lbl_80056E94: -/* 0518F4 80056E94 80DE0034 */ lwz r6, 0x34(r30) -/* 0518F8 80056E98 38A00000 */ li r5, 0 -/* 0518FC 80056E9C 80860008 */ lwz r4, 8(r6) -/* 051900 80056EA0 2C040000 */ cmpwi r4, 0 -/* 051904 80056EA4 7C8903A6 */ mtctr r4 -/* 051908 80056EA8 40810028 */ ble lbl_80056ED0 -lbl_80056EAC: -/* 05190C 80056EAC 8086000C */ lwz r4, 0xc(r6) -/* 051910 80056EB0 38E50004 */ addi r7, r5, 4 -/* 051914 80056EB4 7C84382E */ lwzx r4, r4, r7 -/* 051918 80056EB8 7C1D2000 */ cmpw r29, r4 -/* 05191C 80056EBC 4082000C */ bne lbl_80056EC8 -/* 051920 80056EC0 38800000 */ li r4, 0 -/* 051924 80056EC4 48000010 */ b lbl_80056ED4 -lbl_80056EC8: -/* 051928 80056EC8 38A50008 */ addi r5, r5, 8 -/* 05192C 80056ECC 4200FFE0 */ bdnz lbl_80056EAC -lbl_80056ED0: -/* 051930 80056ED0 38800001 */ li r4, 1 -lbl_80056ED4: -/* 051934 80056ED4 2C040000 */ cmpwi r4, 0 -/* 051938 80056ED8 40820014 */ bne lbl_80056EEC -/* 05193C 80056EDC 38A00000 */ li r5, 0 -/* 051940 80056EE0 3C9E0001 */ addis r4, r30, 1 -/* 051944 80056EE4 90A42074 */ stw r5, 0x2074(r4) -/* 051948 80056EE8 48000014 */ b lbl_80056EFC -lbl_80056EEC: -/* 05194C 80056EEC 3C9E0001 */ addis r4, r30, 1 -/* 051950 80056EF0 38A00000 */ li r5, 0 -/* 051954 80056EF4 90A42074 */ stw r5, 0x2074(r4) -/* 051958 80056EF8 38A00001 */ li r5, 1 -lbl_80056EFC: -/* 05195C 80056EFC 2C050000 */ cmpwi r5, 0 -/* 051960 80056F00 41820038 */ beq lbl_80056F38 -/* 051964 80056F04 281F0000 */ cmplwi r31, 0 -/* 051968 80056F08 41820020 */ beq lbl_80056F28 -/* 05196C 80056F0C 80A10084 */ lwz r5, 0x84(r1) -/* 051970 80056F10 3CC06000 */ lis r6, 0x6000 -/* 051974 80056F14 38850001 */ addi r4, r5, 1 -/* 051978 80056F18 90810084 */ stw r4, 0x84(r1) -/* 05197C 80056F1C 54A4103A */ slwi r4, r5, 2 -/* 051980 80056F20 7CDF212E */ stwx r6, r31, r4 -/* 051984 80056F24 48000060 */ b lbl_80056F84 -lbl_80056F28: -/* 051988 80056F28 80810084 */ lwz r4, 0x84(r1) -/* 05198C 80056F2C 38840001 */ addi r4, r4, 1 -/* 051990 80056F30 90810084 */ stw r4, 0x84(r1) -/* 051994 80056F34 48000050 */ b lbl_80056F84 -lbl_80056F38: -/* 051998 80056F38 281F0000 */ cmplwi r31, 0 -/* 05199C 80056F3C 4182003C */ beq lbl_80056F78 -/* 0519A0 80056F40 54641838 */ slwi r4, r3, 3 -/* 0519A4 80056F44 80A10084 */ lwz r5, 0x84(r1) -/* 0519A8 80056F48 38840140 */ addi r4, r4, 0x140 -/* 0519AC 80056F4C 7C9E2214 */ add r4, r30, r4 -/* 0519B0 80056F50 5467A814 */ slwi r7, r3, 0x15 -/* 0519B4 80056F54 7CDE2050 */ subf r6, r30, r4 -/* 0519B8 80056F58 38850001 */ addi r4, r5, 1 -/* 0519BC 80056F5C 90810084 */ stw r4, 0x84(r1) -/* 0519C0 80056F60 64E4C803 */ oris r4, r7, 0xc803 -/* 0519C4 80056F64 54C6043E */ clrlwi r6, r6, 0x10 -/* 0519C8 80056F68 7C843214 */ add r4, r4, r6 -/* 0519CC 80056F6C 54A5103A */ slwi r5, r5, 2 -/* 0519D0 80056F70 7C9F292E */ stwx r4, r31, r5 -/* 0519D4 80056F74 48000010 */ b lbl_80056F84 -lbl_80056F78: -/* 0519D8 80056F78 80810084 */ lwz r4, 0x84(r1) -/* 0519DC 80056F7C 38840001 */ addi r4, r4, 1 -/* 0519E0 80056F80 90810084 */ stw r4, 0x84(r1) -lbl_80056F84: -/* 0519E4 80056F84 281F0000 */ cmplwi r31, 0 -/* 0519E8 80056F88 4182002C */ beq lbl_80056FB4 -/* 0519EC 80056F8C 80810084 */ lwz r4, 0x84(r1) -/* 0519F0 80056F90 5400801E */ slwi r0, r0, 0x10 -/* 0519F4 80056F94 6400FC00 */ oris r0, r0, 0xfc00 -/* 0519F8 80056F98 38A40001 */ addi r5, r4, 1 -/* 0519FC 80056F9C 54635828 */ slwi r3, r3, 0xb -/* 051A00 80056FA0 90A10084 */ stw r5, 0x84(r1) -/* 051A04 80056FA4 7C001B78 */ or r0, r0, r3 -/* 051A08 80056FA8 5483103A */ slwi r3, r4, 2 -/* 051A0C 80056FAC 7C1F192E */ stwx r0, r31, r3 -/* 051A10 80056FB0 48000010 */ b lbl_80056FC0 -lbl_80056FB4: -/* 051A14 80056FB4 80610084 */ lwz r3, 0x84(r1) -/* 051A18 80056FB8 38030001 */ addi r0, r3, 1 -/* 051A1C 80056FBC 90010084 */ stw r0, 0x84(r1) -lbl_80056FC0: -/* 051A20 80056FC0 281F0000 */ cmplwi r31, 0 -/* 051A24 80056FC4 41820024 */ beq lbl_80056FE8 -/* 051A28 80056FC8 80610084 */ lwz r3, 0x84(r1) -/* 051A2C 80056FCC 3C804082 */ lis r4, 0x4082 -/* 051A30 80056FD0 3884000C */ addi r4, r4, 0xc -/* 051A34 80056FD4 38030001 */ addi r0, r3, 1 -/* 051A38 80056FD8 90010084 */ stw r0, 0x84(r1) -/* 051A3C 80056FDC 5460103A */ slwi r0, r3, 2 -/* 051A40 80056FE0 7C9F012E */ stwx r4, r31, r0 -/* 051A44 80056FE4 48000010 */ b lbl_80056FF4 -lbl_80056FE8: -/* 051A48 80056FE8 80610084 */ lwz r3, 0x84(r1) -/* 051A4C 80056FEC 38030001 */ addi r0, r3, 1 -/* 051A50 80056FF0 90010084 */ stw r0, 0x84(r1) -lbl_80056FF4: -/* 051A54 80056FF4 281F0000 */ cmplwi r31, 0 -/* 051A58 80056FF8 41820024 */ beq lbl_8005701C -/* 051A5C 80056FFC 80610084 */ lwz r3, 0x84(r1) -/* 051A60 80057000 3C8064A5 */ lis r4, 0x64a5 -/* 051A64 80057004 38840080 */ addi r4, r4, 0x80 -/* 051A68 80057008 38030001 */ addi r0, r3, 1 -/* 051A6C 8005700C 90010084 */ stw r0, 0x84(r1) -/* 051A70 80057010 5460103A */ slwi r0, r3, 2 -/* 051A74 80057014 7C9F012E */ stwx r4, r31, r0 -/* 051A78 80057018 48000010 */ b lbl_80057028 -lbl_8005701C: -/* 051A7C 8005701C 80610084 */ lwz r3, 0x84(r1) -/* 051A80 80057020 38030001 */ addi r0, r3, 1 -/* 051A84 80057024 90010084 */ stw r0, 0x84(r1) -lbl_80057028: -/* 051A88 80057028 281F0000 */ cmplwi r31, 0 -/* 051A8C 8005702C 41820024 */ beq lbl_80057050 -/* 051A90 80057030 80610084 */ lwz r3, 0x84(r1) -/* 051A94 80057034 3C804280 */ lis r4, 0x4280 -/* 051A98 80057038 38840008 */ addi r4, r4, 8 -/* 051A9C 8005703C 38030001 */ addi r0, r3, 1 -/* 051AA0 80057040 90010084 */ stw r0, 0x84(r1) -/* 051AA4 80057044 5460103A */ slwi r0, r3, 2 -/* 051AA8 80057048 7C9F012E */ stwx r4, r31, r0 -/* 051AAC 8005704C 48000010 */ b lbl_8005705C -lbl_80057050: -/* 051AB0 80057050 80610084 */ lwz r3, 0x84(r1) -/* 051AB4 80057054 38030001 */ addi r0, r3, 1 -/* 051AB8 80057058 90010084 */ stw r0, 0x84(r1) -lbl_8005705C: -/* 051ABC 8005705C 281F0000 */ cmplwi r31, 0 -/* 051AC0 80057060 41820024 */ beq lbl_80057084 -/* 051AC4 80057064 80610084 */ lwz r3, 0x84(r1) -/* 051AC8 80057068 3C8054A5 */ lis r4, 0x54a5 -/* 051ACC 8005706C 3884024E */ addi r4, r4, 0x24e -/* 051AD0 80057070 38030001 */ addi r0, r3, 1 -/* 051AD4 80057074 90010084 */ stw r0, 0x84(r1) -/* 051AD8 80057078 5460103A */ slwi r0, r3, 2 -/* 051ADC 8005707C 7C9F012E */ stwx r4, r31, r0 -/* 051AE0 80057080 48000010 */ b lbl_80057090 -lbl_80057084: -/* 051AE4 80057084 80610084 */ lwz r3, 0x84(r1) -/* 051AE8 80057088 38030001 */ addi r0, r3, 1 -/* 051AEC 8005708C 90010084 */ stw r0, 0x84(r1) -lbl_80057090: -/* 051AF0 80057090 281F0000 */ cmplwi r31, 0 -/* 051AF4 80057094 41820028 */ beq lbl_800570BC -/* 051AF8 80057098 80610084 */ lwz r3, 0x84(r1) -/* 051AFC 8005709C 381E0A3C */ addi r0, r30, 0xa3c -/* 051B00 800570A0 7C9E0050 */ subf r4, r30, r0 -/* 051B04 800570A4 38030001 */ addi r0, r3, 1 -/* 051B08 800570A8 90010084 */ stw r0, 0x84(r1) -/* 051B0C 800570AC 3C0490A3 */ addis r0, r4, 0x90a3 -/* 051B10 800570B0 5463103A */ slwi r3, r3, 2 -/* 051B14 800570B4 7C1F192E */ stwx r0, r31, r3 -/* 051B18 800570B8 48010E7C */ b lbl_80067F34 -lbl_800570BC: -/* 051B1C 800570BC 80610084 */ lwz r3, 0x84(r1) -/* 051B20 800570C0 38030001 */ addi r0, r3, 1 -/* 051B24 800570C4 90010084 */ stw r0, 0x84(r1) -/* 051B28 800570C8 48010E6C */ b lbl_80067F34 -.global lbl_800570CC -lbl_800570CC: -/* 051B2C 800570CC 281F0000 */ cmplwi r31, 0 -/* 051B30 800570D0 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 051B34 800570D4 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 051B38 800570D8 41820028 */ beq lbl_80057100 -/* 051B3C 800570DC 80810084 */ lwz r4, 0x84(r1) -/* 051B40 800570E0 38BE0A3C */ addi r5, r30, 0xa3c -/* 051B44 800570E4 7CBE2850 */ subf r5, r30, r5 -/* 051B48 800570E8 38C40001 */ addi r6, r4, 1 -/* 051B4C 800570EC 90C10084 */ stw r6, 0x84(r1) -/* 051B50 800570F0 3CA580A3 */ addis r5, r5, 0x80a3 -/* 051B54 800570F4 5484103A */ slwi r4, r4, 2 -/* 051B58 800570F8 7CBF212E */ stwx r5, r31, r4 -/* 051B5C 800570FC 48000010 */ b lbl_8005710C -lbl_80057100: -/* 051B60 80057100 80810084 */ lwz r4, 0x84(r1) -/* 051B64 80057104 38840001 */ addi r4, r4, 1 -/* 051B68 80057108 90810084 */ stw r4, 0x84(r1) -lbl_8005710C: -/* 051B6C 8005710C 3C9E0001 */ addis r4, r30, 1 -/* 051B70 80057110 80A42064 */ lwz r5, 0x2064(r4) -/* 051B74 80057114 28050000 */ cmplwi r5, 0 -/* 051B78 80057118 4082000C */ bne lbl_80057124 -/* 051B7C 8005711C 38A00000 */ li r5, 0 -/* 051B80 80057120 48000094 */ b lbl_800571B4 -lbl_80057124: -/* 051B84 80057124 80A42074 */ lwz r5, 0x2074(r4) -/* 051B88 80057128 28050000 */ cmplwi r5, 0 -/* 051B8C 8005712C 4082000C */ bne lbl_80057138 -/* 051B90 80057130 38A00000 */ li r5, 0 -/* 051B94 80057134 48000080 */ b lbl_800571B4 -lbl_80057138: -/* 051B98 80057138 80842078 */ lwz r4, 0x2078(r4) -/* 051B9C 8005713C 7C002000 */ cmpw r0, r4 -/* 051BA0 80057140 4182000C */ beq lbl_8005714C -/* 051BA4 80057144 38A00000 */ li r5, 0 -/* 051BA8 80057148 4800006C */ b lbl_800571B4 -lbl_8005714C: -/* 051BAC 8005714C 80DE0034 */ lwz r6, 0x34(r30) -/* 051BB0 80057150 38A00000 */ li r5, 0 -/* 051BB4 80057154 80860008 */ lwz r4, 8(r6) -/* 051BB8 80057158 2C040000 */ cmpwi r4, 0 -/* 051BBC 8005715C 7C8903A6 */ mtctr r4 -/* 051BC0 80057160 40810028 */ ble lbl_80057188 -lbl_80057164: -/* 051BC4 80057164 8086000C */ lwz r4, 0xc(r6) -/* 051BC8 80057168 38E50004 */ addi r7, r5, 4 -/* 051BCC 8005716C 7C84382E */ lwzx r4, r4, r7 -/* 051BD0 80057170 7C1D2000 */ cmpw r29, r4 -/* 051BD4 80057174 4082000C */ bne lbl_80057180 -/* 051BD8 80057178 38800000 */ li r4, 0 -/* 051BDC 8005717C 48000010 */ b lbl_8005718C -lbl_80057180: -/* 051BE0 80057180 38A50008 */ addi r5, r5, 8 -/* 051BE4 80057184 4200FFE0 */ bdnz lbl_80057164 -lbl_80057188: -/* 051BE8 80057188 38800001 */ li r4, 1 -lbl_8005718C: -/* 051BEC 8005718C 2C040000 */ cmpwi r4, 0 -/* 051BF0 80057190 40820014 */ bne lbl_800571A4 -/* 051BF4 80057194 38A00000 */ li r5, 0 -/* 051BF8 80057198 3C9E0001 */ addis r4, r30, 1 -/* 051BFC 8005719C 90A42074 */ stw r5, 0x2074(r4) -/* 051C00 800571A0 48000014 */ b lbl_800571B4 -lbl_800571A4: -/* 051C04 800571A4 3C9E0001 */ addis r4, r30, 1 -/* 051C08 800571A8 38A00000 */ li r5, 0 -/* 051C0C 800571AC 90A42074 */ stw r5, 0x2074(r4) -/* 051C10 800571B0 38A00001 */ li r5, 1 -lbl_800571B4: -/* 051C14 800571B4 2C050000 */ cmpwi r5, 0 -/* 051C18 800571B8 41820038 */ beq lbl_800571F0 -/* 051C1C 800571BC 281F0000 */ cmplwi r31, 0 -/* 051C20 800571C0 41820020 */ beq lbl_800571E0 -/* 051C24 800571C4 80A10084 */ lwz r5, 0x84(r1) -/* 051C28 800571C8 3CC06000 */ lis r6, 0x6000 -/* 051C2C 800571CC 38850001 */ addi r4, r5, 1 -/* 051C30 800571D0 90810084 */ stw r4, 0x84(r1) -/* 051C34 800571D4 54A4103A */ slwi r4, r5, 2 -/* 051C38 800571D8 7CDF212E */ stwx r6, r31, r4 -/* 051C3C 800571DC 48000060 */ b lbl_8005723C -lbl_800571E0: -/* 051C40 800571E0 80810084 */ lwz r4, 0x84(r1) -/* 051C44 800571E4 38840001 */ addi r4, r4, 1 -/* 051C48 800571E8 90810084 */ stw r4, 0x84(r1) -/* 051C4C 800571EC 48000050 */ b lbl_8005723C -lbl_800571F0: -/* 051C50 800571F0 281F0000 */ cmplwi r31, 0 -/* 051C54 800571F4 4182003C */ beq lbl_80057230 -/* 051C58 800571F8 54041838 */ slwi r4, r0, 3 -/* 051C5C 800571FC 80A10084 */ lwz r5, 0x84(r1) -/* 051C60 80057200 38840140 */ addi r4, r4, 0x140 -/* 051C64 80057204 7C9E2214 */ add r4, r30, r4 -/* 051C68 80057208 5407A814 */ slwi r7, r0, 0x15 -/* 051C6C 8005720C 7CDE2050 */ subf r6, r30, r4 -/* 051C70 80057210 38850001 */ addi r4, r5, 1 -/* 051C74 80057214 90810084 */ stw r4, 0x84(r1) -/* 051C78 80057218 64E4C803 */ oris r4, r7, 0xc803 -/* 051C7C 8005721C 54C6043E */ clrlwi r6, r6, 0x10 -/* 051C80 80057220 7C843214 */ add r4, r4, r6 -/* 051C84 80057224 54A5103A */ slwi r5, r5, 2 -/* 051C88 80057228 7C9F292E */ stwx r4, r31, r5 -/* 051C8C 8005722C 48000010 */ b lbl_8005723C -lbl_80057230: -/* 051C90 80057230 80810084 */ lwz r4, 0x84(r1) -/* 051C94 80057234 38840001 */ addi r4, r4, 1 -/* 051C98 80057238 90810084 */ stw r4, 0x84(r1) -lbl_8005723C: -/* 051C9C 8005723C 3C9E0001 */ addis r4, r30, 1 -/* 051CA0 80057240 80A42064 */ lwz r5, 0x2064(r4) -/* 051CA4 80057244 28050000 */ cmplwi r5, 0 -/* 051CA8 80057248 4082000C */ bne lbl_80057254 -/* 051CAC 8005724C 38A00000 */ li r5, 0 -/* 051CB0 80057250 48000094 */ b lbl_800572E4 -lbl_80057254: -/* 051CB4 80057254 80A42074 */ lwz r5, 0x2074(r4) -/* 051CB8 80057258 28050000 */ cmplwi r5, 0 -/* 051CBC 8005725C 4082000C */ bne lbl_80057268 -/* 051CC0 80057260 38A00000 */ li r5, 0 -/* 051CC4 80057264 48000080 */ b lbl_800572E4 -lbl_80057268: -/* 051CC8 80057268 80842078 */ lwz r4, 0x2078(r4) -/* 051CCC 8005726C 7C032000 */ cmpw r3, r4 -/* 051CD0 80057270 4182000C */ beq lbl_8005727C -/* 051CD4 80057274 38A00000 */ li r5, 0 -/* 051CD8 80057278 4800006C */ b lbl_800572E4 -lbl_8005727C: -/* 051CDC 8005727C 80DE0034 */ lwz r6, 0x34(r30) -/* 051CE0 80057280 38A00000 */ li r5, 0 -/* 051CE4 80057284 80860008 */ lwz r4, 8(r6) -/* 051CE8 80057288 2C040000 */ cmpwi r4, 0 -/* 051CEC 8005728C 7C8903A6 */ mtctr r4 -/* 051CF0 80057290 40810028 */ ble lbl_800572B8 -lbl_80057294: -/* 051CF4 80057294 8086000C */ lwz r4, 0xc(r6) -/* 051CF8 80057298 38E50004 */ addi r7, r5, 4 -/* 051CFC 8005729C 7C84382E */ lwzx r4, r4, r7 -/* 051D00 800572A0 7C1D2000 */ cmpw r29, r4 -/* 051D04 800572A4 4082000C */ bne lbl_800572B0 -/* 051D08 800572A8 38800000 */ li r4, 0 -/* 051D0C 800572AC 48000010 */ b lbl_800572BC -lbl_800572B0: -/* 051D10 800572B0 38A50008 */ addi r5, r5, 8 -/* 051D14 800572B4 4200FFE0 */ bdnz lbl_80057294 -lbl_800572B8: -/* 051D18 800572B8 38800001 */ li r4, 1 -lbl_800572BC: -/* 051D1C 800572BC 2C040000 */ cmpwi r4, 0 -/* 051D20 800572C0 40820014 */ bne lbl_800572D4 -/* 051D24 800572C4 38A00000 */ li r5, 0 -/* 051D28 800572C8 3C9E0001 */ addis r4, r30, 1 -/* 051D2C 800572CC 90A42074 */ stw r5, 0x2074(r4) -/* 051D30 800572D0 48000014 */ b lbl_800572E4 -lbl_800572D4: -/* 051D34 800572D4 3C9E0001 */ addis r4, r30, 1 -/* 051D38 800572D8 38A00000 */ li r5, 0 -/* 051D3C 800572DC 90A42074 */ stw r5, 0x2074(r4) -/* 051D40 800572E0 38A00001 */ li r5, 1 -lbl_800572E4: -/* 051D44 800572E4 2C050000 */ cmpwi r5, 0 -/* 051D48 800572E8 41820038 */ beq lbl_80057320 -/* 051D4C 800572EC 281F0000 */ cmplwi r31, 0 -/* 051D50 800572F0 41820020 */ beq lbl_80057310 -/* 051D54 800572F4 80A10084 */ lwz r5, 0x84(r1) -/* 051D58 800572F8 3CC06000 */ lis r6, 0x6000 -/* 051D5C 800572FC 38850001 */ addi r4, r5, 1 -/* 051D60 80057300 90810084 */ stw r4, 0x84(r1) -/* 051D64 80057304 54A4103A */ slwi r4, r5, 2 -/* 051D68 80057308 7CDF212E */ stwx r6, r31, r4 -/* 051D6C 8005730C 48000060 */ b lbl_8005736C -lbl_80057310: -/* 051D70 80057310 80810084 */ lwz r4, 0x84(r1) -/* 051D74 80057314 38840001 */ addi r4, r4, 1 -/* 051D78 80057318 90810084 */ stw r4, 0x84(r1) -/* 051D7C 8005731C 48000050 */ b lbl_8005736C -lbl_80057320: -/* 051D80 80057320 281F0000 */ cmplwi r31, 0 -/* 051D84 80057324 4182003C */ beq lbl_80057360 -/* 051D88 80057328 54641838 */ slwi r4, r3, 3 -/* 051D8C 8005732C 80A10084 */ lwz r5, 0x84(r1) -/* 051D90 80057330 38840140 */ addi r4, r4, 0x140 -/* 051D94 80057334 7C9E2214 */ add r4, r30, r4 -/* 051D98 80057338 5467A814 */ slwi r7, r3, 0x15 -/* 051D9C 8005733C 7CDE2050 */ subf r6, r30, r4 -/* 051DA0 80057340 38850001 */ addi r4, r5, 1 -/* 051DA4 80057344 90810084 */ stw r4, 0x84(r1) -/* 051DA8 80057348 64E4C803 */ oris r4, r7, 0xc803 -/* 051DAC 8005734C 54C6043E */ clrlwi r6, r6, 0x10 -/* 051DB0 80057350 7C843214 */ add r4, r4, r6 -/* 051DB4 80057354 54A5103A */ slwi r5, r5, 2 -/* 051DB8 80057358 7C9F292E */ stwx r4, r31, r5 -/* 051DBC 8005735C 48000010 */ b lbl_8005736C -lbl_80057360: -/* 051DC0 80057360 80810084 */ lwz r4, 0x84(r1) -/* 051DC4 80057364 38840001 */ addi r4, r4, 1 -/* 051DC8 80057368 90810084 */ stw r4, 0x84(r1) -lbl_8005736C: -/* 051DCC 8005736C 281F0000 */ cmplwi r31, 0 -/* 051DD0 80057370 41820030 */ beq lbl_800573A0 -/* 051DD4 80057374 80810084 */ lwz r4, 0x84(r1) -/* 051DD8 80057378 5400801E */ slwi r0, r0, 0x10 -/* 051DDC 8005737C 6405FC00 */ oris r5, r0, 0xfc00 -/* 051DE0 80057380 38040001 */ addi r0, r4, 1 -/* 051DE4 80057384 90010084 */ stw r0, 0x84(r1) -/* 051DE8 80057388 60A50040 */ ori r5, r5, 0x40 -/* 051DEC 8005738C 54605828 */ slwi r0, r3, 0xb -/* 051DF0 80057390 7CA00378 */ or r0, r5, r0 -/* 051DF4 80057394 5483103A */ slwi r3, r4, 2 -/* 051DF8 80057398 7C1F192E */ stwx r0, r31, r3 -/* 051DFC 8005739C 48000010 */ b lbl_800573AC -lbl_800573A0: -/* 051E00 800573A0 80610084 */ lwz r3, 0x84(r1) -/* 051E04 800573A4 38030001 */ addi r0, r3, 1 -/* 051E08 800573A8 90010084 */ stw r0, 0x84(r1) -lbl_800573AC: -/* 051E0C 800573AC 281F0000 */ cmplwi r31, 0 -/* 051E10 800573B0 41820024 */ beq lbl_800573D4 -/* 051E14 800573B4 80610084 */ lwz r3, 0x84(r1) -/* 051E18 800573B8 3C804080 */ lis r4, 0x4080 -/* 051E1C 800573BC 3884000C */ addi r4, r4, 0xc -/* 051E20 800573C0 38030001 */ addi r0, r3, 1 -/* 051E24 800573C4 90010084 */ stw r0, 0x84(r1) -/* 051E28 800573C8 5460103A */ slwi r0, r3, 2 -/* 051E2C 800573CC 7C9F012E */ stwx r4, r31, r0 -/* 051E30 800573D0 48000010 */ b lbl_800573E0 -lbl_800573D4: -/* 051E34 800573D4 80610084 */ lwz r3, 0x84(r1) -/* 051E38 800573D8 38030001 */ addi r0, r3, 1 -/* 051E3C 800573DC 90010084 */ stw r0, 0x84(r1) -lbl_800573E0: -/* 051E40 800573E0 281F0000 */ cmplwi r31, 0 -/* 051E44 800573E4 41820024 */ beq lbl_80057408 -/* 051E48 800573E8 80610084 */ lwz r3, 0x84(r1) -/* 051E4C 800573EC 3C8064A5 */ lis r4, 0x64a5 -/* 051E50 800573F0 38840080 */ addi r4, r4, 0x80 -/* 051E54 800573F4 38030001 */ addi r0, r3, 1 -/* 051E58 800573F8 90010084 */ stw r0, 0x84(r1) -/* 051E5C 800573FC 5460103A */ slwi r0, r3, 2 -/* 051E60 80057400 7C9F012E */ stwx r4, r31, r0 -/* 051E64 80057404 48000010 */ b lbl_80057414 -lbl_80057408: -/* 051E68 80057408 80610084 */ lwz r3, 0x84(r1) -/* 051E6C 8005740C 38030001 */ addi r0, r3, 1 -/* 051E70 80057410 90010084 */ stw r0, 0x84(r1) -lbl_80057414: -/* 051E74 80057414 281F0000 */ cmplwi r31, 0 -/* 051E78 80057418 41820024 */ beq lbl_8005743C -/* 051E7C 8005741C 80610084 */ lwz r3, 0x84(r1) -/* 051E80 80057420 3C804280 */ lis r4, 0x4280 -/* 051E84 80057424 38840008 */ addi r4, r4, 8 -/* 051E88 80057428 38030001 */ addi r0, r3, 1 -/* 051E8C 8005742C 90010084 */ stw r0, 0x84(r1) -/* 051E90 80057430 5460103A */ slwi r0, r3, 2 -/* 051E94 80057434 7C9F012E */ stwx r4, r31, r0 -/* 051E98 80057438 48000010 */ b lbl_80057448 -lbl_8005743C: -/* 051E9C 8005743C 80610084 */ lwz r3, 0x84(r1) -/* 051EA0 80057440 38030001 */ addi r0, r3, 1 -/* 051EA4 80057444 90010084 */ stw r0, 0x84(r1) -lbl_80057448: -/* 051EA8 80057448 281F0000 */ cmplwi r31, 0 -/* 051EAC 8005744C 41820024 */ beq lbl_80057470 -/* 051EB0 80057450 80610084 */ lwz r3, 0x84(r1) -/* 051EB4 80057454 3C8054A5 */ lis r4, 0x54a5 -/* 051EB8 80057458 3884024E */ addi r4, r4, 0x24e -/* 051EBC 8005745C 38030001 */ addi r0, r3, 1 -/* 051EC0 80057460 90010084 */ stw r0, 0x84(r1) -/* 051EC4 80057464 5460103A */ slwi r0, r3, 2 -/* 051EC8 80057468 7C9F012E */ stwx r4, r31, r0 -/* 051ECC 8005746C 48000010 */ b lbl_8005747C -lbl_80057470: -/* 051ED0 80057470 80610084 */ lwz r3, 0x84(r1) -/* 051ED4 80057474 38030001 */ addi r0, r3, 1 -/* 051ED8 80057478 90010084 */ stw r0, 0x84(r1) -lbl_8005747C: -/* 051EDC 8005747C 281F0000 */ cmplwi r31, 0 -/* 051EE0 80057480 41820028 */ beq lbl_800574A8 -/* 051EE4 80057484 80610084 */ lwz r3, 0x84(r1) -/* 051EE8 80057488 381E0A3C */ addi r0, r30, 0xa3c -/* 051EEC 8005748C 7C9E0050 */ subf r4, r30, r0 -/* 051EF0 80057490 38030001 */ addi r0, r3, 1 -/* 051EF4 80057494 90010084 */ stw r0, 0x84(r1) -/* 051EF8 80057498 3C0490A3 */ addis r0, r4, 0x90a3 -/* 051EFC 8005749C 5463103A */ slwi r3, r3, 2 -/* 051F00 800574A0 7C1F192E */ stwx r0, r31, r3 -/* 051F04 800574A4 48010A90 */ b lbl_80067F34 -lbl_800574A8: -/* 051F08 800574A8 80610084 */ lwz r3, 0x84(r1) -/* 051F0C 800574AC 38030001 */ addi r0, r3, 1 -/* 051F10 800574B0 90010084 */ stw r0, 0x84(r1) -/* 051F14 800574B4 48010A80 */ b lbl_80067F34 -.global lbl_800574B8 -lbl_800574B8: -/* 051F18 800574B8 281F0000 */ cmplwi r31, 0 -/* 051F1C 800574BC 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 051F20 800574C0 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 051F24 800574C4 41820028 */ beq lbl_800574EC -/* 051F28 800574C8 80810084 */ lwz r4, 0x84(r1) -/* 051F2C 800574CC 38BE0A3C */ addi r5, r30, 0xa3c -/* 051F30 800574D0 7CBE2850 */ subf r5, r30, r5 -/* 051F34 800574D4 38C40001 */ addi r6, r4, 1 -/* 051F38 800574D8 90C10084 */ stw r6, 0x84(r1) -/* 051F3C 800574DC 3CA580A3 */ addis r5, r5, 0x80a3 -/* 051F40 800574E0 5484103A */ slwi r4, r4, 2 -/* 051F44 800574E4 7CBF212E */ stwx r5, r31, r4 -/* 051F48 800574E8 48000010 */ b lbl_800574F8 -lbl_800574EC: -/* 051F4C 800574EC 80810084 */ lwz r4, 0x84(r1) -/* 051F50 800574F0 38840001 */ addi r4, r4, 1 -/* 051F54 800574F4 90810084 */ stw r4, 0x84(r1) -lbl_800574F8: -/* 051F58 800574F8 3C9E0001 */ addis r4, r30, 1 -/* 051F5C 800574FC 80A42064 */ lwz r5, 0x2064(r4) -/* 051F60 80057500 28050000 */ cmplwi r5, 0 -/* 051F64 80057504 4082000C */ bne lbl_80057510 -/* 051F68 80057508 38A00000 */ li r5, 0 -/* 051F6C 8005750C 48000094 */ b lbl_800575A0 -lbl_80057510: -/* 051F70 80057510 80A42074 */ lwz r5, 0x2074(r4) -/* 051F74 80057514 28050000 */ cmplwi r5, 0 -/* 051F78 80057518 4082000C */ bne lbl_80057524 -/* 051F7C 8005751C 38A00000 */ li r5, 0 -/* 051F80 80057520 48000080 */ b lbl_800575A0 -lbl_80057524: -/* 051F84 80057524 80842078 */ lwz r4, 0x2078(r4) -/* 051F88 80057528 7C002000 */ cmpw r0, r4 -/* 051F8C 8005752C 4182000C */ beq lbl_80057538 -/* 051F90 80057530 38A00000 */ li r5, 0 -/* 051F94 80057534 4800006C */ b lbl_800575A0 -lbl_80057538: -/* 051F98 80057538 80DE0034 */ lwz r6, 0x34(r30) -/* 051F9C 8005753C 38A00000 */ li r5, 0 -/* 051FA0 80057540 80860008 */ lwz r4, 8(r6) -/* 051FA4 80057544 2C040000 */ cmpwi r4, 0 -/* 051FA8 80057548 7C8903A6 */ mtctr r4 -/* 051FAC 8005754C 40810028 */ ble lbl_80057574 -lbl_80057550: -/* 051FB0 80057550 8086000C */ lwz r4, 0xc(r6) -/* 051FB4 80057554 38E50004 */ addi r7, r5, 4 -/* 051FB8 80057558 7C84382E */ lwzx r4, r4, r7 -/* 051FBC 8005755C 7C1D2000 */ cmpw r29, r4 -/* 051FC0 80057560 4082000C */ bne lbl_8005756C -/* 051FC4 80057564 38800000 */ li r4, 0 -/* 051FC8 80057568 48000010 */ b lbl_80057578 -lbl_8005756C: -/* 051FCC 8005756C 38A50008 */ addi r5, r5, 8 -/* 051FD0 80057570 4200FFE0 */ bdnz lbl_80057550 -lbl_80057574: -/* 051FD4 80057574 38800001 */ li r4, 1 -lbl_80057578: -/* 051FD8 80057578 2C040000 */ cmpwi r4, 0 -/* 051FDC 8005757C 40820014 */ bne lbl_80057590 -/* 051FE0 80057580 38A00000 */ li r5, 0 -/* 051FE4 80057584 3C9E0001 */ addis r4, r30, 1 -/* 051FE8 80057588 90A42074 */ stw r5, 0x2074(r4) -/* 051FEC 8005758C 48000014 */ b lbl_800575A0 -lbl_80057590: -/* 051FF0 80057590 3C9E0001 */ addis r4, r30, 1 -/* 051FF4 80057594 38A00000 */ li r5, 0 -/* 051FF8 80057598 90A42074 */ stw r5, 0x2074(r4) -/* 051FFC 8005759C 38A00001 */ li r5, 1 -lbl_800575A0: -/* 052000 800575A0 2C050000 */ cmpwi r5, 0 -/* 052004 800575A4 41820038 */ beq lbl_800575DC -/* 052008 800575A8 281F0000 */ cmplwi r31, 0 -/* 05200C 800575AC 41820020 */ beq lbl_800575CC -/* 052010 800575B0 80A10084 */ lwz r5, 0x84(r1) -/* 052014 800575B4 3CC06000 */ lis r6, 0x6000 -/* 052018 800575B8 38850001 */ addi r4, r5, 1 -/* 05201C 800575BC 90810084 */ stw r4, 0x84(r1) -/* 052020 800575C0 54A4103A */ slwi r4, r5, 2 -/* 052024 800575C4 7CDF212E */ stwx r6, r31, r4 -/* 052028 800575C8 48000060 */ b lbl_80057628 -lbl_800575CC: -/* 05202C 800575CC 80810084 */ lwz r4, 0x84(r1) -/* 052030 800575D0 38840001 */ addi r4, r4, 1 -/* 052034 800575D4 90810084 */ stw r4, 0x84(r1) -/* 052038 800575D8 48000050 */ b lbl_80057628 -lbl_800575DC: -/* 05203C 800575DC 281F0000 */ cmplwi r31, 0 -/* 052040 800575E0 4182003C */ beq lbl_8005761C -/* 052044 800575E4 54041838 */ slwi r4, r0, 3 -/* 052048 800575E8 80A10084 */ lwz r5, 0x84(r1) -/* 05204C 800575EC 38840140 */ addi r4, r4, 0x140 -/* 052050 800575F0 7C9E2214 */ add r4, r30, r4 -/* 052054 800575F4 5407A814 */ slwi r7, r0, 0x15 -/* 052058 800575F8 7CDE2050 */ subf r6, r30, r4 -/* 05205C 800575FC 38850001 */ addi r4, r5, 1 -/* 052060 80057600 90810084 */ stw r4, 0x84(r1) -/* 052064 80057604 64E4C803 */ oris r4, r7, 0xc803 -/* 052068 80057608 54C6043E */ clrlwi r6, r6, 0x10 -/* 05206C 8005760C 7C843214 */ add r4, r4, r6 -/* 052070 80057610 54A5103A */ slwi r5, r5, 2 -/* 052074 80057614 7C9F292E */ stwx r4, r31, r5 -/* 052078 80057618 48000010 */ b lbl_80057628 -lbl_8005761C: -/* 05207C 8005761C 80810084 */ lwz r4, 0x84(r1) -/* 052080 80057620 38840001 */ addi r4, r4, 1 -/* 052084 80057624 90810084 */ stw r4, 0x84(r1) -lbl_80057628: -/* 052088 80057628 3C9E0001 */ addis r4, r30, 1 -/* 05208C 8005762C 80A42064 */ lwz r5, 0x2064(r4) -/* 052090 80057630 28050000 */ cmplwi r5, 0 -/* 052094 80057634 4082000C */ bne lbl_80057640 -/* 052098 80057638 38A00000 */ li r5, 0 -/* 05209C 8005763C 48000094 */ b lbl_800576D0 -lbl_80057640: -/* 0520A0 80057640 80A42074 */ lwz r5, 0x2074(r4) -/* 0520A4 80057644 28050000 */ cmplwi r5, 0 -/* 0520A8 80057648 4082000C */ bne lbl_80057654 -/* 0520AC 8005764C 38A00000 */ li r5, 0 -/* 0520B0 80057650 48000080 */ b lbl_800576D0 -lbl_80057654: -/* 0520B4 80057654 80842078 */ lwz r4, 0x2078(r4) -/* 0520B8 80057658 7C032000 */ cmpw r3, r4 -/* 0520BC 8005765C 4182000C */ beq lbl_80057668 -/* 0520C0 80057660 38A00000 */ li r5, 0 -/* 0520C4 80057664 4800006C */ b lbl_800576D0 -lbl_80057668: -/* 0520C8 80057668 80DE0034 */ lwz r6, 0x34(r30) -/* 0520CC 8005766C 38A00000 */ li r5, 0 -/* 0520D0 80057670 80860008 */ lwz r4, 8(r6) -/* 0520D4 80057674 2C040000 */ cmpwi r4, 0 -/* 0520D8 80057678 7C8903A6 */ mtctr r4 -/* 0520DC 8005767C 40810028 */ ble lbl_800576A4 -lbl_80057680: -/* 0520E0 80057680 8086000C */ lwz r4, 0xc(r6) -/* 0520E4 80057684 38E50004 */ addi r7, r5, 4 -/* 0520E8 80057688 7C84382E */ lwzx r4, r4, r7 -/* 0520EC 8005768C 7C1D2000 */ cmpw r29, r4 -/* 0520F0 80057690 4082000C */ bne lbl_8005769C -/* 0520F4 80057694 38800000 */ li r4, 0 -/* 0520F8 80057698 48000010 */ b lbl_800576A8 -lbl_8005769C: -/* 0520FC 8005769C 38A50008 */ addi r5, r5, 8 -/* 052100 800576A0 4200FFE0 */ bdnz lbl_80057680 -lbl_800576A4: -/* 052104 800576A4 38800001 */ li r4, 1 -lbl_800576A8: -/* 052108 800576A8 2C040000 */ cmpwi r4, 0 -/* 05210C 800576AC 40820014 */ bne lbl_800576C0 -/* 052110 800576B0 38A00000 */ li r5, 0 -/* 052114 800576B4 3C9E0001 */ addis r4, r30, 1 -/* 052118 800576B8 90A42074 */ stw r5, 0x2074(r4) -/* 05211C 800576BC 48000014 */ b lbl_800576D0 -lbl_800576C0: -/* 052120 800576C0 3C9E0001 */ addis r4, r30, 1 -/* 052124 800576C4 38A00000 */ li r5, 0 -/* 052128 800576C8 90A42074 */ stw r5, 0x2074(r4) -/* 05212C 800576CC 38A00001 */ li r5, 1 -lbl_800576D0: -/* 052130 800576D0 2C050000 */ cmpwi r5, 0 -/* 052134 800576D4 41820038 */ beq lbl_8005770C -/* 052138 800576D8 281F0000 */ cmplwi r31, 0 -/* 05213C 800576DC 41820020 */ beq lbl_800576FC -/* 052140 800576E0 80A10084 */ lwz r5, 0x84(r1) -/* 052144 800576E4 3CC06000 */ lis r6, 0x6000 -/* 052148 800576E8 38850001 */ addi r4, r5, 1 -/* 05214C 800576EC 90810084 */ stw r4, 0x84(r1) -/* 052150 800576F0 54A4103A */ slwi r4, r5, 2 -/* 052154 800576F4 7CDF212E */ stwx r6, r31, r4 -/* 052158 800576F8 48000060 */ b lbl_80057758 -lbl_800576FC: -/* 05215C 800576FC 80810084 */ lwz r4, 0x84(r1) -/* 052160 80057700 38840001 */ addi r4, r4, 1 -/* 052164 80057704 90810084 */ stw r4, 0x84(r1) -/* 052168 80057708 48000050 */ b lbl_80057758 -lbl_8005770C: -/* 05216C 8005770C 281F0000 */ cmplwi r31, 0 -/* 052170 80057710 4182003C */ beq lbl_8005774C -/* 052174 80057714 54641838 */ slwi r4, r3, 3 -/* 052178 80057718 80A10084 */ lwz r5, 0x84(r1) -/* 05217C 8005771C 38840140 */ addi r4, r4, 0x140 -/* 052180 80057720 7C9E2214 */ add r4, r30, r4 -/* 052184 80057724 5467A814 */ slwi r7, r3, 0x15 -/* 052188 80057728 7CDE2050 */ subf r6, r30, r4 -/* 05218C 8005772C 38850001 */ addi r4, r5, 1 -/* 052190 80057730 90810084 */ stw r4, 0x84(r1) -/* 052194 80057734 64E4C803 */ oris r4, r7, 0xc803 -/* 052198 80057738 54C6043E */ clrlwi r6, r6, 0x10 -/* 05219C 8005773C 7C843214 */ add r4, r4, r6 -/* 0521A0 80057740 54A5103A */ slwi r5, r5, 2 -/* 0521A4 80057744 7C9F292E */ stwx r4, r31, r5 -/* 0521A8 80057748 48000010 */ b lbl_80057758 -lbl_8005774C: -/* 0521AC 8005774C 80810084 */ lwz r4, 0x84(r1) -/* 0521B0 80057750 38840001 */ addi r4, r4, 1 -/* 0521B4 80057754 90810084 */ stw r4, 0x84(r1) -lbl_80057758: -/* 0521B8 80057758 281F0000 */ cmplwi r31, 0 -/* 0521BC 8005775C 41820030 */ beq lbl_8005778C -/* 0521C0 80057760 80810084 */ lwz r4, 0x84(r1) -/* 0521C4 80057764 5400801E */ slwi r0, r0, 0x10 -/* 0521C8 80057768 6405FC00 */ oris r5, r0, 0xfc00 -/* 0521CC 8005776C 38040001 */ addi r0, r4, 1 -/* 0521D0 80057770 90010084 */ stw r0, 0x84(r1) -/* 0521D4 80057774 60A50040 */ ori r5, r5, 0x40 -/* 0521D8 80057778 54605828 */ slwi r0, r3, 0xb -/* 0521DC 8005777C 7CA00378 */ or r0, r5, r0 -/* 0521E0 80057780 5483103A */ slwi r3, r4, 2 -/* 0521E4 80057784 7C1F192E */ stwx r0, r31, r3 -/* 0521E8 80057788 48000010 */ b lbl_80057798 -lbl_8005778C: -/* 0521EC 8005778C 80610084 */ lwz r3, 0x84(r1) -/* 0521F0 80057790 38030001 */ addi r0, r3, 1 -/* 0521F4 80057794 90010084 */ stw r0, 0x84(r1) -lbl_80057798: -/* 0521F8 80057798 281F0000 */ cmplwi r31, 0 -/* 0521FC 8005779C 41820024 */ beq lbl_800577C0 -/* 052200 800577A0 80610084 */ lwz r3, 0x84(r1) -/* 052204 800577A4 3C804080 */ lis r4, 0x4080 -/* 052208 800577A8 3884000C */ addi r4, r4, 0xc -/* 05220C 800577AC 38030001 */ addi r0, r3, 1 -/* 052210 800577B0 90010084 */ stw r0, 0x84(r1) -/* 052214 800577B4 5460103A */ slwi r0, r3, 2 -/* 052218 800577B8 7C9F012E */ stwx r4, r31, r0 -/* 05221C 800577BC 48000010 */ b lbl_800577CC -lbl_800577C0: -/* 052220 800577C0 80610084 */ lwz r3, 0x84(r1) -/* 052224 800577C4 38030001 */ addi r0, r3, 1 -/* 052228 800577C8 90010084 */ stw r0, 0x84(r1) -lbl_800577CC: -/* 05222C 800577CC 281F0000 */ cmplwi r31, 0 -/* 052230 800577D0 41820024 */ beq lbl_800577F4 -/* 052234 800577D4 80610084 */ lwz r3, 0x84(r1) -/* 052238 800577D8 3C8064A5 */ lis r4, 0x64a5 -/* 05223C 800577DC 38840080 */ addi r4, r4, 0x80 -/* 052240 800577E0 38030001 */ addi r0, r3, 1 -/* 052244 800577E4 90010084 */ stw r0, 0x84(r1) -/* 052248 800577E8 5460103A */ slwi r0, r3, 2 -/* 05224C 800577EC 7C9F012E */ stwx r4, r31, r0 -/* 052250 800577F0 48000010 */ b lbl_80057800 -lbl_800577F4: -/* 052254 800577F4 80610084 */ lwz r3, 0x84(r1) -/* 052258 800577F8 38030001 */ addi r0, r3, 1 -/* 05225C 800577FC 90010084 */ stw r0, 0x84(r1) -lbl_80057800: -/* 052260 80057800 281F0000 */ cmplwi r31, 0 -/* 052264 80057804 41820024 */ beq lbl_80057828 -/* 052268 80057808 80610084 */ lwz r3, 0x84(r1) -/* 05226C 8005780C 3C804280 */ lis r4, 0x4280 -/* 052270 80057810 38840008 */ addi r4, r4, 8 -/* 052274 80057814 38030001 */ addi r0, r3, 1 -/* 052278 80057818 90010084 */ stw r0, 0x84(r1) -/* 05227C 8005781C 5460103A */ slwi r0, r3, 2 -/* 052280 80057820 7C9F012E */ stwx r4, r31, r0 -/* 052284 80057824 48000010 */ b lbl_80057834 -lbl_80057828: -/* 052288 80057828 80610084 */ lwz r3, 0x84(r1) -/* 05228C 8005782C 38030001 */ addi r0, r3, 1 -/* 052290 80057830 90010084 */ stw r0, 0x84(r1) -lbl_80057834: -/* 052294 80057834 281F0000 */ cmplwi r31, 0 -/* 052298 80057838 41820024 */ beq lbl_8005785C -/* 05229C 8005783C 80610084 */ lwz r3, 0x84(r1) -/* 0522A0 80057840 3C8054A5 */ lis r4, 0x54a5 -/* 0522A4 80057844 3884024E */ addi r4, r4, 0x24e -/* 0522A8 80057848 38030001 */ addi r0, r3, 1 -/* 0522AC 8005784C 90010084 */ stw r0, 0x84(r1) -/* 0522B0 80057850 5460103A */ slwi r0, r3, 2 -/* 0522B4 80057854 7C9F012E */ stwx r4, r31, r0 -/* 0522B8 80057858 48000010 */ b lbl_80057868 -lbl_8005785C: -/* 0522BC 8005785C 80610084 */ lwz r3, 0x84(r1) -/* 0522C0 80057860 38030001 */ addi r0, r3, 1 -/* 0522C4 80057864 90010084 */ stw r0, 0x84(r1) -lbl_80057868: -/* 0522C8 80057868 281F0000 */ cmplwi r31, 0 -/* 0522CC 8005786C 41820028 */ beq lbl_80057894 -/* 0522D0 80057870 80610084 */ lwz r3, 0x84(r1) -/* 0522D4 80057874 381E0A3C */ addi r0, r30, 0xa3c -/* 0522D8 80057878 7C9E0050 */ subf r4, r30, r0 -/* 0522DC 8005787C 38030001 */ addi r0, r3, 1 -/* 0522E0 80057880 90010084 */ stw r0, 0x84(r1) -/* 0522E4 80057884 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0522E8 80057888 5463103A */ slwi r3, r3, 2 -/* 0522EC 8005788C 7C1F192E */ stwx r0, r31, r3 -/* 0522F0 80057890 480106A4 */ b lbl_80067F34 -lbl_80057894: -/* 0522F4 80057894 80610084 */ lwz r3, 0x84(r1) -/* 0522F8 80057898 38030001 */ addi r0, r3, 1 -/* 0522FC 8005789C 90010084 */ stw r0, 0x84(r1) -/* 052300 800578A0 48010694 */ b lbl_80067F34 -.global lbl_800578A4 -lbl_800578A4: -/* 052304 800578A4 281F0000 */ cmplwi r31, 0 -/* 052308 800578A8 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 05230C 800578AC 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 052310 800578B0 41820028 */ beq lbl_800578D8 -/* 052314 800578B4 80810084 */ lwz r4, 0x84(r1) -/* 052318 800578B8 38BE0A3C */ addi r5, r30, 0xa3c -/* 05231C 800578BC 7CBE2850 */ subf r5, r30, r5 -/* 052320 800578C0 38C40001 */ addi r6, r4, 1 -/* 052324 800578C4 90C10084 */ stw r6, 0x84(r1) -/* 052328 800578C8 3CA580A3 */ addis r5, r5, 0x80a3 -/* 05232C 800578CC 5484103A */ slwi r4, r4, 2 -/* 052330 800578D0 7CBF212E */ stwx r5, r31, r4 -/* 052334 800578D4 48000010 */ b lbl_800578E4 -lbl_800578D8: -/* 052338 800578D8 80810084 */ lwz r4, 0x84(r1) -/* 05233C 800578DC 38840001 */ addi r4, r4, 1 -/* 052340 800578E0 90810084 */ stw r4, 0x84(r1) -lbl_800578E4: -/* 052344 800578E4 3C9E0001 */ addis r4, r30, 1 -/* 052348 800578E8 80A42064 */ lwz r5, 0x2064(r4) -/* 05234C 800578EC 28050000 */ cmplwi r5, 0 -/* 052350 800578F0 4082000C */ bne lbl_800578FC -/* 052354 800578F4 38A00000 */ li r5, 0 -/* 052358 800578F8 48000094 */ b lbl_8005798C -lbl_800578FC: -/* 05235C 800578FC 80A42074 */ lwz r5, 0x2074(r4) -/* 052360 80057900 28050000 */ cmplwi r5, 0 -/* 052364 80057904 4082000C */ bne lbl_80057910 -/* 052368 80057908 38A00000 */ li r5, 0 -/* 05236C 8005790C 48000080 */ b lbl_8005798C -lbl_80057910: -/* 052370 80057910 80842078 */ lwz r4, 0x2078(r4) -/* 052374 80057914 7C002000 */ cmpw r0, r4 -/* 052378 80057918 4182000C */ beq lbl_80057924 -/* 05237C 8005791C 38A00000 */ li r5, 0 -/* 052380 80057920 4800006C */ b lbl_8005798C -lbl_80057924: -/* 052384 80057924 80DE0034 */ lwz r6, 0x34(r30) -/* 052388 80057928 38A00000 */ li r5, 0 -/* 05238C 8005792C 80860008 */ lwz r4, 8(r6) -/* 052390 80057930 2C040000 */ cmpwi r4, 0 -/* 052394 80057934 7C8903A6 */ mtctr r4 -/* 052398 80057938 40810028 */ ble lbl_80057960 -lbl_8005793C: -/* 05239C 8005793C 8086000C */ lwz r4, 0xc(r6) -/* 0523A0 80057940 38E50004 */ addi r7, r5, 4 -/* 0523A4 80057944 7C84382E */ lwzx r4, r4, r7 -/* 0523A8 80057948 7C1D2000 */ cmpw r29, r4 -/* 0523AC 8005794C 4082000C */ bne lbl_80057958 -/* 0523B0 80057950 38800000 */ li r4, 0 -/* 0523B4 80057954 48000010 */ b lbl_80057964 -lbl_80057958: -/* 0523B8 80057958 38A50008 */ addi r5, r5, 8 -/* 0523BC 8005795C 4200FFE0 */ bdnz lbl_8005793C -lbl_80057960: -/* 0523C0 80057960 38800001 */ li r4, 1 -lbl_80057964: -/* 0523C4 80057964 2C040000 */ cmpwi r4, 0 -/* 0523C8 80057968 40820014 */ bne lbl_8005797C -/* 0523CC 8005796C 38A00000 */ li r5, 0 -/* 0523D0 80057970 3C9E0001 */ addis r4, r30, 1 -/* 0523D4 80057974 90A42074 */ stw r5, 0x2074(r4) -/* 0523D8 80057978 48000014 */ b lbl_8005798C -lbl_8005797C: -/* 0523DC 8005797C 3C9E0001 */ addis r4, r30, 1 -/* 0523E0 80057980 38A00000 */ li r5, 0 -/* 0523E4 80057984 90A42074 */ stw r5, 0x2074(r4) -/* 0523E8 80057988 38A00001 */ li r5, 1 -lbl_8005798C: -/* 0523EC 8005798C 2C050000 */ cmpwi r5, 0 -/* 0523F0 80057990 41820038 */ beq lbl_800579C8 -/* 0523F4 80057994 281F0000 */ cmplwi r31, 0 -/* 0523F8 80057998 41820020 */ beq lbl_800579B8 -/* 0523FC 8005799C 80A10084 */ lwz r5, 0x84(r1) -/* 052400 800579A0 3CC06000 */ lis r6, 0x6000 -/* 052404 800579A4 38850001 */ addi r4, r5, 1 -/* 052408 800579A8 90810084 */ stw r4, 0x84(r1) -/* 05240C 800579AC 54A4103A */ slwi r4, r5, 2 -/* 052410 800579B0 7CDF212E */ stwx r6, r31, r4 -/* 052414 800579B4 48000060 */ b lbl_80057A14 -lbl_800579B8: -/* 052418 800579B8 80810084 */ lwz r4, 0x84(r1) -/* 05241C 800579BC 38840001 */ addi r4, r4, 1 -/* 052420 800579C0 90810084 */ stw r4, 0x84(r1) -/* 052424 800579C4 48000050 */ b lbl_80057A14 -lbl_800579C8: -/* 052428 800579C8 281F0000 */ cmplwi r31, 0 -/* 05242C 800579CC 4182003C */ beq lbl_80057A08 -/* 052430 800579D0 54041838 */ slwi r4, r0, 3 -/* 052434 800579D4 80A10084 */ lwz r5, 0x84(r1) -/* 052438 800579D8 38840140 */ addi r4, r4, 0x140 -/* 05243C 800579DC 7C9E2214 */ add r4, r30, r4 -/* 052440 800579E0 5407A814 */ slwi r7, r0, 0x15 -/* 052444 800579E4 7CDE2050 */ subf r6, r30, r4 -/* 052448 800579E8 38850001 */ addi r4, r5, 1 -/* 05244C 800579EC 90810084 */ stw r4, 0x84(r1) -/* 052450 800579F0 64E4C803 */ oris r4, r7, 0xc803 -/* 052454 800579F4 54C6043E */ clrlwi r6, r6, 0x10 -/* 052458 800579F8 7C843214 */ add r4, r4, r6 -/* 05245C 800579FC 54A5103A */ slwi r5, r5, 2 -/* 052460 80057A00 7C9F292E */ stwx r4, r31, r5 -/* 052464 80057A04 48000010 */ b lbl_80057A14 -lbl_80057A08: -/* 052468 80057A08 80810084 */ lwz r4, 0x84(r1) -/* 05246C 80057A0C 38840001 */ addi r4, r4, 1 -/* 052470 80057A10 90810084 */ stw r4, 0x84(r1) -lbl_80057A14: -/* 052474 80057A14 3C9E0001 */ addis r4, r30, 1 -/* 052478 80057A18 80A42064 */ lwz r5, 0x2064(r4) -/* 05247C 80057A1C 28050000 */ cmplwi r5, 0 -/* 052480 80057A20 4082000C */ bne lbl_80057A2C -/* 052484 80057A24 38A00000 */ li r5, 0 -/* 052488 80057A28 48000094 */ b lbl_80057ABC -lbl_80057A2C: -/* 05248C 80057A2C 80A42074 */ lwz r5, 0x2074(r4) -/* 052490 80057A30 28050000 */ cmplwi r5, 0 -/* 052494 80057A34 4082000C */ bne lbl_80057A40 -/* 052498 80057A38 38A00000 */ li r5, 0 -/* 05249C 80057A3C 48000080 */ b lbl_80057ABC -lbl_80057A40: -/* 0524A0 80057A40 80842078 */ lwz r4, 0x2078(r4) -/* 0524A4 80057A44 7C032000 */ cmpw r3, r4 -/* 0524A8 80057A48 4182000C */ beq lbl_80057A54 -/* 0524AC 80057A4C 38A00000 */ li r5, 0 -/* 0524B0 80057A50 4800006C */ b lbl_80057ABC -lbl_80057A54: -/* 0524B4 80057A54 80DE0034 */ lwz r6, 0x34(r30) -/* 0524B8 80057A58 38A00000 */ li r5, 0 -/* 0524BC 80057A5C 80860008 */ lwz r4, 8(r6) -/* 0524C0 80057A60 2C040000 */ cmpwi r4, 0 -/* 0524C4 80057A64 7C8903A6 */ mtctr r4 -/* 0524C8 80057A68 40810028 */ ble lbl_80057A90 -lbl_80057A6C: -/* 0524CC 80057A6C 8086000C */ lwz r4, 0xc(r6) -/* 0524D0 80057A70 38E50004 */ addi r7, r5, 4 -/* 0524D4 80057A74 7C84382E */ lwzx r4, r4, r7 -/* 0524D8 80057A78 7C1D2000 */ cmpw r29, r4 -/* 0524DC 80057A7C 4082000C */ bne lbl_80057A88 -/* 0524E0 80057A80 38800000 */ li r4, 0 -/* 0524E4 80057A84 48000010 */ b lbl_80057A94 -lbl_80057A88: -/* 0524E8 80057A88 38A50008 */ addi r5, r5, 8 -/* 0524EC 80057A8C 4200FFE0 */ bdnz lbl_80057A6C -lbl_80057A90: -/* 0524F0 80057A90 38800001 */ li r4, 1 -lbl_80057A94: -/* 0524F4 80057A94 2C040000 */ cmpwi r4, 0 -/* 0524F8 80057A98 40820014 */ bne lbl_80057AAC -/* 0524FC 80057A9C 38A00000 */ li r5, 0 -/* 052500 80057AA0 3C9E0001 */ addis r4, r30, 1 -/* 052504 80057AA4 90A42074 */ stw r5, 0x2074(r4) -/* 052508 80057AA8 48000014 */ b lbl_80057ABC -lbl_80057AAC: -/* 05250C 80057AAC 3C9E0001 */ addis r4, r30, 1 -/* 052510 80057AB0 38A00000 */ li r5, 0 -/* 052514 80057AB4 90A42074 */ stw r5, 0x2074(r4) -/* 052518 80057AB8 38A00001 */ li r5, 1 -lbl_80057ABC: -/* 05251C 80057ABC 2C050000 */ cmpwi r5, 0 -/* 052520 80057AC0 41820038 */ beq lbl_80057AF8 -/* 052524 80057AC4 281F0000 */ cmplwi r31, 0 -/* 052528 80057AC8 41820020 */ beq lbl_80057AE8 -/* 05252C 80057ACC 80A10084 */ lwz r5, 0x84(r1) -/* 052530 80057AD0 3CC06000 */ lis r6, 0x6000 -/* 052534 80057AD4 38850001 */ addi r4, r5, 1 -/* 052538 80057AD8 90810084 */ stw r4, 0x84(r1) -/* 05253C 80057ADC 54A4103A */ slwi r4, r5, 2 -/* 052540 80057AE0 7CDF212E */ stwx r6, r31, r4 -/* 052544 80057AE4 48000060 */ b lbl_80057B44 -lbl_80057AE8: -/* 052548 80057AE8 80810084 */ lwz r4, 0x84(r1) -/* 05254C 80057AEC 38840001 */ addi r4, r4, 1 -/* 052550 80057AF0 90810084 */ stw r4, 0x84(r1) -/* 052554 80057AF4 48000050 */ b lbl_80057B44 -lbl_80057AF8: -/* 052558 80057AF8 281F0000 */ cmplwi r31, 0 -/* 05255C 80057AFC 4182003C */ beq lbl_80057B38 -/* 052560 80057B00 54641838 */ slwi r4, r3, 3 -/* 052564 80057B04 80A10084 */ lwz r5, 0x84(r1) -/* 052568 80057B08 38840140 */ addi r4, r4, 0x140 -/* 05256C 80057B0C 7C9E2214 */ add r4, r30, r4 -/* 052570 80057B10 5467A814 */ slwi r7, r3, 0x15 -/* 052574 80057B14 7CDE2050 */ subf r6, r30, r4 -/* 052578 80057B18 38850001 */ addi r4, r5, 1 -/* 05257C 80057B1C 90810084 */ stw r4, 0x84(r1) -/* 052580 80057B20 64E4C803 */ oris r4, r7, 0xc803 -/* 052584 80057B24 54C6043E */ clrlwi r6, r6, 0x10 -/* 052588 80057B28 7C843214 */ add r4, r4, r6 -/* 05258C 80057B2C 54A5103A */ slwi r5, r5, 2 -/* 052590 80057B30 7C9F292E */ stwx r4, r31, r5 -/* 052594 80057B34 48000010 */ b lbl_80057B44 -lbl_80057B38: -/* 052598 80057B38 80810084 */ lwz r4, 0x84(r1) -/* 05259C 80057B3C 38840001 */ addi r4, r4, 1 -/* 0525A0 80057B40 90810084 */ stw r4, 0x84(r1) -lbl_80057B44: -/* 0525A4 80057B44 281F0000 */ cmplwi r31, 0 -/* 0525A8 80057B48 41820030 */ beq lbl_80057B78 -/* 0525AC 80057B4C 80810084 */ lwz r4, 0x84(r1) -/* 0525B0 80057B50 5400801E */ slwi r0, r0, 0x10 -/* 0525B4 80057B54 6405FC00 */ oris r5, r0, 0xfc00 -/* 0525B8 80057B58 38040001 */ addi r0, r4, 1 -/* 0525BC 80057B5C 90010084 */ stw r0, 0x84(r1) -/* 0525C0 80057B60 60A50040 */ ori r5, r5, 0x40 -/* 0525C4 80057B64 54605828 */ slwi r0, r3, 0xb -/* 0525C8 80057B68 7CA00378 */ or r0, r5, r0 -/* 0525CC 80057B6C 5483103A */ slwi r3, r4, 2 -/* 0525D0 80057B70 7C1F192E */ stwx r0, r31, r3 -/* 0525D4 80057B74 48000010 */ b lbl_80057B84 -lbl_80057B78: -/* 0525D8 80057B78 80610084 */ lwz r3, 0x84(r1) -/* 0525DC 80057B7C 38030001 */ addi r0, r3, 1 -/* 0525E0 80057B80 90010084 */ stw r0, 0x84(r1) -lbl_80057B84: -/* 0525E4 80057B84 281F0000 */ cmplwi r31, 0 -/* 0525E8 80057B88 41820024 */ beq lbl_80057BAC -/* 0525EC 80057B8C 80610084 */ lwz r3, 0x84(r1) -/* 0525F0 80057B90 3C804C40 */ lis r4, 0x4c40 -/* 0525F4 80057B94 38841382 */ addi r4, r4, 0x1382 -/* 0525F8 80057B98 38030001 */ addi r0, r3, 1 -/* 0525FC 80057B9C 90010084 */ stw r0, 0x84(r1) -/* 052600 80057BA0 5460103A */ slwi r0, r3, 2 -/* 052604 80057BA4 7C9F012E */ stwx r4, r31, r0 -/* 052608 80057BA8 48000010 */ b lbl_80057BB8 -lbl_80057BAC: -/* 05260C 80057BAC 80610084 */ lwz r3, 0x84(r1) -/* 052610 80057BB0 38030001 */ addi r0, r3, 1 -/* 052614 80057BB4 90010084 */ stw r0, 0x84(r1) -lbl_80057BB8: -/* 052618 80057BB8 281F0000 */ cmplwi r31, 0 -/* 05261C 80057BBC 41820024 */ beq lbl_80057BE0 -/* 052620 80057BC0 80610084 */ lwz r3, 0x84(r1) -/* 052624 80057BC4 3C804082 */ lis r4, 0x4082 -/* 052628 80057BC8 3884000C */ addi r4, r4, 0xc -/* 05262C 80057BCC 38030001 */ addi r0, r3, 1 -/* 052630 80057BD0 90010084 */ stw r0, 0x84(r1) -/* 052634 80057BD4 5460103A */ slwi r0, r3, 2 -/* 052638 80057BD8 7C9F012E */ stwx r4, r31, r0 -/* 05263C 80057BDC 48000010 */ b lbl_80057BEC -lbl_80057BE0: -/* 052640 80057BE0 80610084 */ lwz r3, 0x84(r1) -/* 052644 80057BE4 38030001 */ addi r0, r3, 1 -/* 052648 80057BE8 90010084 */ stw r0, 0x84(r1) -lbl_80057BEC: -/* 05264C 80057BEC 281F0000 */ cmplwi r31, 0 -/* 052650 80057BF0 41820024 */ beq lbl_80057C14 -/* 052654 80057BF4 80610084 */ lwz r3, 0x84(r1) -/* 052658 80057BF8 3C8064A5 */ lis r4, 0x64a5 -/* 05265C 80057BFC 38840080 */ addi r4, r4, 0x80 -/* 052660 80057C00 38030001 */ addi r0, r3, 1 -/* 052664 80057C04 90010084 */ stw r0, 0x84(r1) -/* 052668 80057C08 5460103A */ slwi r0, r3, 2 -/* 05266C 80057C0C 7C9F012E */ stwx r4, r31, r0 -/* 052670 80057C10 48000010 */ b lbl_80057C20 -lbl_80057C14: -/* 052674 80057C14 80610084 */ lwz r3, 0x84(r1) -/* 052678 80057C18 38030001 */ addi r0, r3, 1 -/* 05267C 80057C1C 90010084 */ stw r0, 0x84(r1) -lbl_80057C20: -/* 052680 80057C20 281F0000 */ cmplwi r31, 0 -/* 052684 80057C24 41820024 */ beq lbl_80057C48 -/* 052688 80057C28 80610084 */ lwz r3, 0x84(r1) -/* 05268C 80057C2C 3C804280 */ lis r4, 0x4280 -/* 052690 80057C30 38840008 */ addi r4, r4, 8 -/* 052694 80057C34 38030001 */ addi r0, r3, 1 -/* 052698 80057C38 90010084 */ stw r0, 0x84(r1) -/* 05269C 80057C3C 5460103A */ slwi r0, r3, 2 -/* 0526A0 80057C40 7C9F012E */ stwx r4, r31, r0 -/* 0526A4 80057C44 48000010 */ b lbl_80057C54 -lbl_80057C48: -/* 0526A8 80057C48 80610084 */ lwz r3, 0x84(r1) -/* 0526AC 80057C4C 38030001 */ addi r0, r3, 1 -/* 0526B0 80057C50 90010084 */ stw r0, 0x84(r1) -lbl_80057C54: -/* 0526B4 80057C54 281F0000 */ cmplwi r31, 0 -/* 0526B8 80057C58 41820024 */ beq lbl_80057C7C -/* 0526BC 80057C5C 80610084 */ lwz r3, 0x84(r1) -/* 0526C0 80057C60 3C8054A5 */ lis r4, 0x54a5 -/* 0526C4 80057C64 3884024E */ addi r4, r4, 0x24e -/* 0526C8 80057C68 38030001 */ addi r0, r3, 1 -/* 0526CC 80057C6C 90010084 */ stw r0, 0x84(r1) -/* 0526D0 80057C70 5460103A */ slwi r0, r3, 2 -/* 0526D4 80057C74 7C9F012E */ stwx r4, r31, r0 -/* 0526D8 80057C78 48000010 */ b lbl_80057C88 -lbl_80057C7C: -/* 0526DC 80057C7C 80610084 */ lwz r3, 0x84(r1) -/* 0526E0 80057C80 38030001 */ addi r0, r3, 1 -/* 0526E4 80057C84 90010084 */ stw r0, 0x84(r1) -lbl_80057C88: -/* 0526E8 80057C88 281F0000 */ cmplwi r31, 0 -/* 0526EC 80057C8C 41820028 */ beq lbl_80057CB4 -/* 0526F0 80057C90 80610084 */ lwz r3, 0x84(r1) -/* 0526F4 80057C94 381E0A3C */ addi r0, r30, 0xa3c -/* 0526F8 80057C98 7C9E0050 */ subf r4, r30, r0 -/* 0526FC 80057C9C 38030001 */ addi r0, r3, 1 -/* 052700 80057CA0 90010084 */ stw r0, 0x84(r1) -/* 052704 80057CA4 3C0490A3 */ addis r0, r4, 0x90a3 -/* 052708 80057CA8 5463103A */ slwi r3, r3, 2 -/* 05270C 80057CAC 7C1F192E */ stwx r0, r31, r3 -/* 052710 80057CB0 48010284 */ b lbl_80067F34 -lbl_80057CB4: -/* 052714 80057CB4 80610084 */ lwz r3, 0x84(r1) -/* 052718 80057CB8 38030001 */ addi r0, r3, 1 -/* 05271C 80057CBC 90010084 */ stw r0, 0x84(r1) -/* 052720 80057CC0 48010274 */ b lbl_80067F34 -.global lbl_80057CC4 -lbl_80057CC4: -/* 052724 80057CC4 281F0000 */ cmplwi r31, 0 -/* 052728 80057CC8 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 05272C 80057CCC 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 052730 80057CD0 41820028 */ beq lbl_80057CF8 -/* 052734 80057CD4 80810084 */ lwz r4, 0x84(r1) -/* 052738 80057CD8 38BE0A3C */ addi r5, r30, 0xa3c -/* 05273C 80057CDC 7CBE2850 */ subf r5, r30, r5 -/* 052740 80057CE0 38C40001 */ addi r6, r4, 1 -/* 052744 80057CE4 90C10084 */ stw r6, 0x84(r1) -/* 052748 80057CE8 3CA580A3 */ addis r5, r5, 0x80a3 -/* 05274C 80057CEC 5484103A */ slwi r4, r4, 2 -/* 052750 80057CF0 7CBF212E */ stwx r5, r31, r4 -/* 052754 80057CF4 48000010 */ b lbl_80057D04 -lbl_80057CF8: -/* 052758 80057CF8 80810084 */ lwz r4, 0x84(r1) -/* 05275C 80057CFC 38840001 */ addi r4, r4, 1 -/* 052760 80057D00 90810084 */ stw r4, 0x84(r1) -lbl_80057D04: -/* 052764 80057D04 3C9E0001 */ addis r4, r30, 1 -/* 052768 80057D08 80A42064 */ lwz r5, 0x2064(r4) -/* 05276C 80057D0C 28050000 */ cmplwi r5, 0 -/* 052770 80057D10 4082000C */ bne lbl_80057D1C -/* 052774 80057D14 38A00000 */ li r5, 0 -/* 052778 80057D18 48000094 */ b lbl_80057DAC -lbl_80057D1C: -/* 05277C 80057D1C 80A42074 */ lwz r5, 0x2074(r4) -/* 052780 80057D20 28050000 */ cmplwi r5, 0 -/* 052784 80057D24 4082000C */ bne lbl_80057D30 -/* 052788 80057D28 38A00000 */ li r5, 0 -/* 05278C 80057D2C 48000080 */ b lbl_80057DAC -lbl_80057D30: -/* 052790 80057D30 80842078 */ lwz r4, 0x2078(r4) -/* 052794 80057D34 7C002000 */ cmpw r0, r4 -/* 052798 80057D38 4182000C */ beq lbl_80057D44 -/* 05279C 80057D3C 38A00000 */ li r5, 0 -/* 0527A0 80057D40 4800006C */ b lbl_80057DAC -lbl_80057D44: -/* 0527A4 80057D44 80DE0034 */ lwz r6, 0x34(r30) -/* 0527A8 80057D48 38A00000 */ li r5, 0 -/* 0527AC 80057D4C 80860008 */ lwz r4, 8(r6) -/* 0527B0 80057D50 2C040000 */ cmpwi r4, 0 -/* 0527B4 80057D54 7C8903A6 */ mtctr r4 -/* 0527B8 80057D58 40810028 */ ble lbl_80057D80 -lbl_80057D5C: -/* 0527BC 80057D5C 8086000C */ lwz r4, 0xc(r6) -/* 0527C0 80057D60 38E50004 */ addi r7, r5, 4 -/* 0527C4 80057D64 7C84382E */ lwzx r4, r4, r7 -/* 0527C8 80057D68 7C1D2000 */ cmpw r29, r4 -/* 0527CC 80057D6C 4082000C */ bne lbl_80057D78 -/* 0527D0 80057D70 38800000 */ li r4, 0 -/* 0527D4 80057D74 48000010 */ b lbl_80057D84 -lbl_80057D78: -/* 0527D8 80057D78 38A50008 */ addi r5, r5, 8 -/* 0527DC 80057D7C 4200FFE0 */ bdnz lbl_80057D5C -lbl_80057D80: -/* 0527E0 80057D80 38800001 */ li r4, 1 -lbl_80057D84: -/* 0527E4 80057D84 2C040000 */ cmpwi r4, 0 -/* 0527E8 80057D88 40820014 */ bne lbl_80057D9C -/* 0527EC 80057D8C 38A00000 */ li r5, 0 -/* 0527F0 80057D90 3C9E0001 */ addis r4, r30, 1 -/* 0527F4 80057D94 90A42074 */ stw r5, 0x2074(r4) -/* 0527F8 80057D98 48000014 */ b lbl_80057DAC -lbl_80057D9C: -/* 0527FC 80057D9C 3C9E0001 */ addis r4, r30, 1 -/* 052800 80057DA0 38A00000 */ li r5, 0 -/* 052804 80057DA4 90A42074 */ stw r5, 0x2074(r4) -/* 052808 80057DA8 38A00001 */ li r5, 1 -lbl_80057DAC: -/* 05280C 80057DAC 2C050000 */ cmpwi r5, 0 -/* 052810 80057DB0 41820038 */ beq lbl_80057DE8 -/* 052814 80057DB4 281F0000 */ cmplwi r31, 0 -/* 052818 80057DB8 41820020 */ beq lbl_80057DD8 -/* 05281C 80057DBC 80A10084 */ lwz r5, 0x84(r1) -/* 052820 80057DC0 3CC06000 */ lis r6, 0x6000 -/* 052824 80057DC4 38850001 */ addi r4, r5, 1 -/* 052828 80057DC8 90810084 */ stw r4, 0x84(r1) -/* 05282C 80057DCC 54A4103A */ slwi r4, r5, 2 -/* 052830 80057DD0 7CDF212E */ stwx r6, r31, r4 -/* 052834 80057DD4 48000060 */ b lbl_80057E34 -lbl_80057DD8: -/* 052838 80057DD8 80810084 */ lwz r4, 0x84(r1) -/* 05283C 80057DDC 38840001 */ addi r4, r4, 1 -/* 052840 80057DE0 90810084 */ stw r4, 0x84(r1) -/* 052844 80057DE4 48000050 */ b lbl_80057E34 -lbl_80057DE8: -/* 052848 80057DE8 281F0000 */ cmplwi r31, 0 -/* 05284C 80057DEC 4182003C */ beq lbl_80057E28 -/* 052850 80057DF0 54041838 */ slwi r4, r0, 3 -/* 052854 80057DF4 80A10084 */ lwz r5, 0x84(r1) -/* 052858 80057DF8 38840140 */ addi r4, r4, 0x140 -/* 05285C 80057DFC 7C9E2214 */ add r4, r30, r4 -/* 052860 80057E00 5407A814 */ slwi r7, r0, 0x15 -/* 052864 80057E04 7CDE2050 */ subf r6, r30, r4 -/* 052868 80057E08 38850001 */ addi r4, r5, 1 -/* 05286C 80057E0C 90810084 */ stw r4, 0x84(r1) -/* 052870 80057E10 64E4C803 */ oris r4, r7, 0xc803 -/* 052874 80057E14 54C6043E */ clrlwi r6, r6, 0x10 -/* 052878 80057E18 7C843214 */ add r4, r4, r6 -/* 05287C 80057E1C 54A5103A */ slwi r5, r5, 2 -/* 052880 80057E20 7C9F292E */ stwx r4, r31, r5 -/* 052884 80057E24 48000010 */ b lbl_80057E34 -lbl_80057E28: -/* 052888 80057E28 80810084 */ lwz r4, 0x84(r1) -/* 05288C 80057E2C 38840001 */ addi r4, r4, 1 -/* 052890 80057E30 90810084 */ stw r4, 0x84(r1) -lbl_80057E34: -/* 052894 80057E34 3C9E0001 */ addis r4, r30, 1 -/* 052898 80057E38 80A42064 */ lwz r5, 0x2064(r4) -/* 05289C 80057E3C 28050000 */ cmplwi r5, 0 -/* 0528A0 80057E40 4082000C */ bne lbl_80057E4C -/* 0528A4 80057E44 38A00000 */ li r5, 0 -/* 0528A8 80057E48 48000094 */ b lbl_80057EDC -lbl_80057E4C: -/* 0528AC 80057E4C 80A42074 */ lwz r5, 0x2074(r4) -/* 0528B0 80057E50 28050000 */ cmplwi r5, 0 -/* 0528B4 80057E54 4082000C */ bne lbl_80057E60 -/* 0528B8 80057E58 38A00000 */ li r5, 0 -/* 0528BC 80057E5C 48000080 */ b lbl_80057EDC -lbl_80057E60: -/* 0528C0 80057E60 80842078 */ lwz r4, 0x2078(r4) -/* 0528C4 80057E64 7C032000 */ cmpw r3, r4 -/* 0528C8 80057E68 4182000C */ beq lbl_80057E74 -/* 0528CC 80057E6C 38A00000 */ li r5, 0 -/* 0528D0 80057E70 4800006C */ b lbl_80057EDC -lbl_80057E74: -/* 0528D4 80057E74 80DE0034 */ lwz r6, 0x34(r30) -/* 0528D8 80057E78 38A00000 */ li r5, 0 -/* 0528DC 80057E7C 80860008 */ lwz r4, 8(r6) -/* 0528E0 80057E80 2C040000 */ cmpwi r4, 0 -/* 0528E4 80057E84 7C8903A6 */ mtctr r4 -/* 0528E8 80057E88 40810028 */ ble lbl_80057EB0 -lbl_80057E8C: -/* 0528EC 80057E8C 8086000C */ lwz r4, 0xc(r6) -/* 0528F0 80057E90 38E50004 */ addi r7, r5, 4 -/* 0528F4 80057E94 7C84382E */ lwzx r4, r4, r7 -/* 0528F8 80057E98 7C1D2000 */ cmpw r29, r4 -/* 0528FC 80057E9C 4082000C */ bne lbl_80057EA8 -/* 052900 80057EA0 38800000 */ li r4, 0 -/* 052904 80057EA4 48000010 */ b lbl_80057EB4 -lbl_80057EA8: -/* 052908 80057EA8 38A50008 */ addi r5, r5, 8 -/* 05290C 80057EAC 4200FFE0 */ bdnz lbl_80057E8C -lbl_80057EB0: -/* 052910 80057EB0 38800001 */ li r4, 1 -lbl_80057EB4: -/* 052914 80057EB4 2C040000 */ cmpwi r4, 0 -/* 052918 80057EB8 40820014 */ bne lbl_80057ECC -/* 05291C 80057EBC 38A00000 */ li r5, 0 -/* 052920 80057EC0 3C9E0001 */ addis r4, r30, 1 -/* 052924 80057EC4 90A42074 */ stw r5, 0x2074(r4) -/* 052928 80057EC8 48000014 */ b lbl_80057EDC -lbl_80057ECC: -/* 05292C 80057ECC 3C9E0001 */ addis r4, r30, 1 -/* 052930 80057ED0 38A00000 */ li r5, 0 -/* 052934 80057ED4 90A42074 */ stw r5, 0x2074(r4) -/* 052938 80057ED8 38A00001 */ li r5, 1 -lbl_80057EDC: -/* 05293C 80057EDC 2C050000 */ cmpwi r5, 0 -/* 052940 80057EE0 41820038 */ beq lbl_80057F18 -/* 052944 80057EE4 281F0000 */ cmplwi r31, 0 -/* 052948 80057EE8 41820020 */ beq lbl_80057F08 -/* 05294C 80057EEC 80A10084 */ lwz r5, 0x84(r1) -/* 052950 80057EF0 3CC06000 */ lis r6, 0x6000 -/* 052954 80057EF4 38850001 */ addi r4, r5, 1 -/* 052958 80057EF8 90810084 */ stw r4, 0x84(r1) -/* 05295C 80057EFC 54A4103A */ slwi r4, r5, 2 -/* 052960 80057F00 7CDF212E */ stwx r6, r31, r4 -/* 052964 80057F04 48000060 */ b lbl_80057F64 -lbl_80057F08: -/* 052968 80057F08 80810084 */ lwz r4, 0x84(r1) -/* 05296C 80057F0C 38840001 */ addi r4, r4, 1 -/* 052970 80057F10 90810084 */ stw r4, 0x84(r1) -/* 052974 80057F14 48000050 */ b lbl_80057F64 -lbl_80057F18: -/* 052978 80057F18 281F0000 */ cmplwi r31, 0 -/* 05297C 80057F1C 4182003C */ beq lbl_80057F58 -/* 052980 80057F20 54641838 */ slwi r4, r3, 3 -/* 052984 80057F24 80A10084 */ lwz r5, 0x84(r1) -/* 052988 80057F28 38840140 */ addi r4, r4, 0x140 -/* 05298C 80057F2C 7C9E2214 */ add r4, r30, r4 -/* 052990 80057F30 5467A814 */ slwi r7, r3, 0x15 -/* 052994 80057F34 7CDE2050 */ subf r6, r30, r4 -/* 052998 80057F38 38850001 */ addi r4, r5, 1 -/* 05299C 80057F3C 90810084 */ stw r4, 0x84(r1) -/* 0529A0 80057F40 64E4C803 */ oris r4, r7, 0xc803 -/* 0529A4 80057F44 54C6043E */ clrlwi r6, r6, 0x10 -/* 0529A8 80057F48 7C843214 */ add r4, r4, r6 -/* 0529AC 80057F4C 54A5103A */ slwi r5, r5, 2 -/* 0529B0 80057F50 7C9F292E */ stwx r4, r31, r5 -/* 0529B4 80057F54 48000010 */ b lbl_80057F64 -lbl_80057F58: -/* 0529B8 80057F58 80810084 */ lwz r4, 0x84(r1) -/* 0529BC 80057F5C 38840001 */ addi r4, r4, 1 -/* 0529C0 80057F60 90810084 */ stw r4, 0x84(r1) -lbl_80057F64: -/* 0529C4 80057F64 281F0000 */ cmplwi r31, 0 -/* 0529C8 80057F68 41820030 */ beq lbl_80057F98 -/* 0529CC 80057F6C 80810084 */ lwz r4, 0x84(r1) -/* 0529D0 80057F70 5400801E */ slwi r0, r0, 0x10 -/* 0529D4 80057F74 6405FC00 */ oris r5, r0, 0xfc00 -/* 0529D8 80057F78 38040001 */ addi r0, r4, 1 -/* 0529DC 80057F7C 90010084 */ stw r0, 0x84(r1) -/* 0529E0 80057F80 60A50040 */ ori r5, r5, 0x40 -/* 0529E4 80057F84 54605828 */ slwi r0, r3, 0xb -/* 0529E8 80057F88 7CA00378 */ or r0, r5, r0 -/* 0529EC 80057F8C 5483103A */ slwi r3, r4, 2 -/* 0529F0 80057F90 7C1F192E */ stwx r0, r31, r3 -/* 0529F4 80057F94 48000010 */ b lbl_80057FA4 -lbl_80057F98: -/* 0529F8 80057F98 80610084 */ lwz r3, 0x84(r1) -/* 0529FC 80057F9C 38030001 */ addi r0, r3, 1 -/* 052A00 80057FA0 90010084 */ stw r0, 0x84(r1) -lbl_80057FA4: -/* 052A04 80057FA4 281F0000 */ cmplwi r31, 0 -/* 052A08 80057FA8 41820024 */ beq lbl_80057FCC -/* 052A0C 80057FAC 80610084 */ lwz r3, 0x84(r1) -/* 052A10 80057FB0 3C804C40 */ lis r4, 0x4c40 -/* 052A14 80057FB4 38841382 */ addi r4, r4, 0x1382 -/* 052A18 80057FB8 38030001 */ addi r0, r3, 1 -/* 052A1C 80057FBC 90010084 */ stw r0, 0x84(r1) -/* 052A20 80057FC0 5460103A */ slwi r0, r3, 2 -/* 052A24 80057FC4 7C9F012E */ stwx r4, r31, r0 -/* 052A28 80057FC8 48000010 */ b lbl_80057FD8 -lbl_80057FCC: -/* 052A2C 80057FCC 80610084 */ lwz r3, 0x84(r1) -/* 052A30 80057FD0 38030001 */ addi r0, r3, 1 -/* 052A34 80057FD4 90010084 */ stw r0, 0x84(r1) -lbl_80057FD8: -/* 052A38 80057FD8 281F0000 */ cmplwi r31, 0 -/* 052A3C 80057FDC 41820024 */ beq lbl_80058000 -/* 052A40 80057FE0 80610084 */ lwz r3, 0x84(r1) -/* 052A44 80057FE4 3C804082 */ lis r4, 0x4082 -/* 052A48 80057FE8 3884000C */ addi r4, r4, 0xc -/* 052A4C 80057FEC 38030001 */ addi r0, r3, 1 -/* 052A50 80057FF0 90010084 */ stw r0, 0x84(r1) -/* 052A54 80057FF4 5460103A */ slwi r0, r3, 2 -/* 052A58 80057FF8 7C9F012E */ stwx r4, r31, r0 -/* 052A5C 80057FFC 48000010 */ b lbl_8005800C -lbl_80058000: -/* 052A60 80058000 80610084 */ lwz r3, 0x84(r1) -/* 052A64 80058004 38030001 */ addi r0, r3, 1 -/* 052A68 80058008 90010084 */ stw r0, 0x84(r1) -lbl_8005800C: -/* 052A6C 8005800C 281F0000 */ cmplwi r31, 0 -/* 052A70 80058010 41820024 */ beq lbl_80058034 -/* 052A74 80058014 80610084 */ lwz r3, 0x84(r1) -/* 052A78 80058018 3C8064A5 */ lis r4, 0x64a5 -/* 052A7C 8005801C 38840080 */ addi r4, r4, 0x80 -/* 052A80 80058020 38030001 */ addi r0, r3, 1 -/* 052A84 80058024 90010084 */ stw r0, 0x84(r1) -/* 052A88 80058028 5460103A */ slwi r0, r3, 2 -/* 052A8C 8005802C 7C9F012E */ stwx r4, r31, r0 -/* 052A90 80058030 48000010 */ b lbl_80058040 -lbl_80058034: -/* 052A94 80058034 80610084 */ lwz r3, 0x84(r1) -/* 052A98 80058038 38030001 */ addi r0, r3, 1 -/* 052A9C 8005803C 90010084 */ stw r0, 0x84(r1) -lbl_80058040: -/* 052AA0 80058040 281F0000 */ cmplwi r31, 0 -/* 052AA4 80058044 41820024 */ beq lbl_80058068 -/* 052AA8 80058048 80610084 */ lwz r3, 0x84(r1) -/* 052AAC 8005804C 3C804280 */ lis r4, 0x4280 -/* 052AB0 80058050 38840008 */ addi r4, r4, 8 -/* 052AB4 80058054 38030001 */ addi r0, r3, 1 -/* 052AB8 80058058 90010084 */ stw r0, 0x84(r1) -/* 052ABC 8005805C 5460103A */ slwi r0, r3, 2 -/* 052AC0 80058060 7C9F012E */ stwx r4, r31, r0 -/* 052AC4 80058064 48000010 */ b lbl_80058074 -lbl_80058068: -/* 052AC8 80058068 80610084 */ lwz r3, 0x84(r1) -/* 052ACC 8005806C 38030001 */ addi r0, r3, 1 -/* 052AD0 80058070 90010084 */ stw r0, 0x84(r1) -lbl_80058074: -/* 052AD4 80058074 281F0000 */ cmplwi r31, 0 -/* 052AD8 80058078 41820024 */ beq lbl_8005809C -/* 052ADC 8005807C 80610084 */ lwz r3, 0x84(r1) -/* 052AE0 80058080 3C8054A5 */ lis r4, 0x54a5 -/* 052AE4 80058084 3884024E */ addi r4, r4, 0x24e -/* 052AE8 80058088 38030001 */ addi r0, r3, 1 -/* 052AEC 8005808C 90010084 */ stw r0, 0x84(r1) -/* 052AF0 80058090 5460103A */ slwi r0, r3, 2 -/* 052AF4 80058094 7C9F012E */ stwx r4, r31, r0 -/* 052AF8 80058098 48000010 */ b lbl_800580A8 -lbl_8005809C: -/* 052AFC 8005809C 80610084 */ lwz r3, 0x84(r1) -/* 052B00 800580A0 38030001 */ addi r0, r3, 1 -/* 052B04 800580A4 90010084 */ stw r0, 0x84(r1) -lbl_800580A8: -/* 052B08 800580A8 281F0000 */ cmplwi r31, 0 -/* 052B0C 800580AC 41820028 */ beq lbl_800580D4 -/* 052B10 800580B0 80610084 */ lwz r3, 0x84(r1) -/* 052B14 800580B4 381E0A3C */ addi r0, r30, 0xa3c -/* 052B18 800580B8 7C9E0050 */ subf r4, r30, r0 -/* 052B1C 800580BC 38030001 */ addi r0, r3, 1 -/* 052B20 800580C0 90010084 */ stw r0, 0x84(r1) -/* 052B24 800580C4 3C0490A3 */ addis r0, r4, 0x90a3 -/* 052B28 800580C8 5463103A */ slwi r3, r3, 2 -/* 052B2C 800580CC 7C1F192E */ stwx r0, r31, r3 -/* 052B30 800580D0 4800FE64 */ b lbl_80067F34 -lbl_800580D4: -/* 052B34 800580D4 80610084 */ lwz r3, 0x84(r1) -/* 052B38 800580D8 38030001 */ addi r0, r3, 1 -/* 052B3C 800580DC 90010084 */ stw r0, 0x84(r1) -/* 052B40 800580E0 4800FE54 */ b lbl_80067F34 -.global lbl_800580E4 -lbl_800580E4: -/* 052B44 800580E4 281F0000 */ cmplwi r31, 0 -/* 052B48 800580E8 41820028 */ beq lbl_80058110 -/* 052B4C 800580EC 80610084 */ lwz r3, 0x84(r1) -/* 052B50 800580F0 381E0A3C */ addi r0, r30, 0xa3c -/* 052B54 800580F4 7C9E0050 */ subf r4, r30, r0 -/* 052B58 800580F8 38030001 */ addi r0, r3, 1 -/* 052B5C 800580FC 90010084 */ stw r0, 0x84(r1) -/* 052B60 80058100 3C0480A3 */ addis r0, r4, 0x80a3 -/* 052B64 80058104 5463103A */ slwi r3, r3, 2 -/* 052B68 80058108 7C1F192E */ stwx r0, r31, r3 -/* 052B6C 8005810C 48000010 */ b lbl_8005811C -lbl_80058110: -/* 052B70 80058110 80610084 */ lwz r3, 0x84(r1) -/* 052B74 80058114 38030001 */ addi r0, r3, 1 -/* 052B78 80058118 90010084 */ stw r0, 0x84(r1) -lbl_8005811C: -/* 052B7C 8005811C 281F0000 */ cmplwi r31, 0 -/* 052B80 80058120 41820024 */ beq lbl_80058144 -/* 052B84 80058124 80610084 */ lwz r3, 0x84(r1) -/* 052B88 80058128 3C8054A5 */ lis r4, 0x54a5 -/* 052B8C 8005812C 3884024E */ addi r4, r4, 0x24e -/* 052B90 80058130 38030001 */ addi r0, r3, 1 -/* 052B94 80058134 90010084 */ stw r0, 0x84(r1) -/* 052B98 80058138 5460103A */ slwi r0, r3, 2 -/* 052B9C 8005813C 7C9F012E */ stwx r4, r31, r0 -/* 052BA0 80058140 48000010 */ b lbl_80058150 -lbl_80058144: -/* 052BA4 80058144 80610084 */ lwz r3, 0x84(r1) -/* 052BA8 80058148 38030001 */ addi r0, r3, 1 -/* 052BAC 8005814C 90010084 */ stw r0, 0x84(r1) -lbl_80058150: -/* 052BB0 80058150 281F0000 */ cmplwi r31, 0 -/* 052BB4 80058154 41820028 */ beq lbl_8005817C -/* 052BB8 80058158 80610084 */ lwz r3, 0x84(r1) -/* 052BBC 8005815C 381E0A3C */ addi r0, r30, 0xa3c -/* 052BC0 80058160 7C9E0050 */ subf r4, r30, r0 -/* 052BC4 80058164 38030001 */ addi r0, r3, 1 -/* 052BC8 80058168 90010084 */ stw r0, 0x84(r1) -/* 052BCC 8005816C 3C0490A3 */ addis r0, r4, 0x90a3 -/* 052BD0 80058170 5463103A */ slwi r3, r3, 2 -/* 052BD4 80058174 7C1F192E */ stwx r0, r31, r3 -/* 052BD8 80058178 4800FDBC */ b lbl_80067F34 -lbl_8005817C: -/* 052BDC 8005817C 80610084 */ lwz r3, 0x84(r1) -/* 052BE0 80058180 38030001 */ addi r0, r3, 1 -/* 052BE4 80058184 90010084 */ stw r0, 0x84(r1) -/* 052BE8 80058188 4800FDAC */ b lbl_80067F34 -.global lbl_8005818C -lbl_8005818C: -/* 052BEC 8005818C 281F0000 */ cmplwi r31, 0 -/* 052BF0 80058190 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 052BF4 80058194 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 052BF8 80058198 41820028 */ beq lbl_800581C0 -/* 052BFC 8005819C 80810084 */ lwz r4, 0x84(r1) -/* 052C00 800581A0 38BE0A3C */ addi r5, r30, 0xa3c -/* 052C04 800581A4 7CBE2850 */ subf r5, r30, r5 -/* 052C08 800581A8 38C40001 */ addi r6, r4, 1 -/* 052C0C 800581AC 90C10084 */ stw r6, 0x84(r1) -/* 052C10 800581B0 3CA580A3 */ addis r5, r5, 0x80a3 -/* 052C14 800581B4 5484103A */ slwi r4, r4, 2 -/* 052C18 800581B8 7CBF212E */ stwx r5, r31, r4 -/* 052C1C 800581BC 48000010 */ b lbl_800581CC -lbl_800581C0: -/* 052C20 800581C0 80810084 */ lwz r4, 0x84(r1) -/* 052C24 800581C4 38840001 */ addi r4, r4, 1 -/* 052C28 800581C8 90810084 */ stw r4, 0x84(r1) -lbl_800581CC: -/* 052C2C 800581CC 3C9E0001 */ addis r4, r30, 1 -/* 052C30 800581D0 80A42064 */ lwz r5, 0x2064(r4) -/* 052C34 800581D4 28050000 */ cmplwi r5, 0 -/* 052C38 800581D8 4082000C */ bne lbl_800581E4 -/* 052C3C 800581DC 38A00000 */ li r5, 0 -/* 052C40 800581E0 48000094 */ b lbl_80058274 -lbl_800581E4: -/* 052C44 800581E4 80A42074 */ lwz r5, 0x2074(r4) -/* 052C48 800581E8 28050000 */ cmplwi r5, 0 -/* 052C4C 800581EC 4082000C */ bne lbl_800581F8 -/* 052C50 800581F0 38A00000 */ li r5, 0 -/* 052C54 800581F4 48000080 */ b lbl_80058274 -lbl_800581F8: -/* 052C58 800581F8 80842078 */ lwz r4, 0x2078(r4) -/* 052C5C 800581FC 7C002000 */ cmpw r0, r4 -/* 052C60 80058200 4182000C */ beq lbl_8005820C -/* 052C64 80058204 38A00000 */ li r5, 0 -/* 052C68 80058208 4800006C */ b lbl_80058274 -lbl_8005820C: -/* 052C6C 8005820C 80DE0034 */ lwz r6, 0x34(r30) -/* 052C70 80058210 38A00000 */ li r5, 0 -/* 052C74 80058214 80860008 */ lwz r4, 8(r6) -/* 052C78 80058218 2C040000 */ cmpwi r4, 0 -/* 052C7C 8005821C 7C8903A6 */ mtctr r4 -/* 052C80 80058220 40810028 */ ble lbl_80058248 -lbl_80058224: -/* 052C84 80058224 8086000C */ lwz r4, 0xc(r6) -/* 052C88 80058228 38E50004 */ addi r7, r5, 4 -/* 052C8C 8005822C 7C84382E */ lwzx r4, r4, r7 -/* 052C90 80058230 7C1D2000 */ cmpw r29, r4 -/* 052C94 80058234 4082000C */ bne lbl_80058240 -/* 052C98 80058238 38800000 */ li r4, 0 -/* 052C9C 8005823C 48000010 */ b lbl_8005824C -lbl_80058240: -/* 052CA0 80058240 38A50008 */ addi r5, r5, 8 -/* 052CA4 80058244 4200FFE0 */ bdnz lbl_80058224 -lbl_80058248: -/* 052CA8 80058248 38800001 */ li r4, 1 -lbl_8005824C: -/* 052CAC 8005824C 2C040000 */ cmpwi r4, 0 -/* 052CB0 80058250 40820014 */ bne lbl_80058264 -/* 052CB4 80058254 38A00000 */ li r5, 0 -/* 052CB8 80058258 3C9E0001 */ addis r4, r30, 1 -/* 052CBC 8005825C 90A42074 */ stw r5, 0x2074(r4) -/* 052CC0 80058260 48000014 */ b lbl_80058274 -lbl_80058264: -/* 052CC4 80058264 3C9E0001 */ addis r4, r30, 1 -/* 052CC8 80058268 38A00000 */ li r5, 0 -/* 052CCC 8005826C 90A42074 */ stw r5, 0x2074(r4) -/* 052CD0 80058270 38A00001 */ li r5, 1 -lbl_80058274: -/* 052CD4 80058274 2C050000 */ cmpwi r5, 0 -/* 052CD8 80058278 41820038 */ beq lbl_800582B0 -/* 052CDC 8005827C 281F0000 */ cmplwi r31, 0 -/* 052CE0 80058280 41820020 */ beq lbl_800582A0 -/* 052CE4 80058284 80A10084 */ lwz r5, 0x84(r1) -/* 052CE8 80058288 3CC06000 */ lis r6, 0x6000 -/* 052CEC 8005828C 38850001 */ addi r4, r5, 1 -/* 052CF0 80058290 90810084 */ stw r4, 0x84(r1) -/* 052CF4 80058294 54A4103A */ slwi r4, r5, 2 -/* 052CF8 80058298 7CDF212E */ stwx r6, r31, r4 -/* 052CFC 8005829C 48000060 */ b lbl_800582FC -lbl_800582A0: -/* 052D00 800582A0 80810084 */ lwz r4, 0x84(r1) -/* 052D04 800582A4 38840001 */ addi r4, r4, 1 -/* 052D08 800582A8 90810084 */ stw r4, 0x84(r1) -/* 052D0C 800582AC 48000050 */ b lbl_800582FC -lbl_800582B0: -/* 052D10 800582B0 281F0000 */ cmplwi r31, 0 -/* 052D14 800582B4 4182003C */ beq lbl_800582F0 -/* 052D18 800582B8 54041838 */ slwi r4, r0, 3 -/* 052D1C 800582BC 80A10084 */ lwz r5, 0x84(r1) -/* 052D20 800582C0 38840140 */ addi r4, r4, 0x140 -/* 052D24 800582C4 7C9E2214 */ add r4, r30, r4 -/* 052D28 800582C8 5407A814 */ slwi r7, r0, 0x15 -/* 052D2C 800582CC 7CDE2050 */ subf r6, r30, r4 -/* 052D30 800582D0 38850001 */ addi r4, r5, 1 -/* 052D34 800582D4 90810084 */ stw r4, 0x84(r1) -/* 052D38 800582D8 64E4C803 */ oris r4, r7, 0xc803 -/* 052D3C 800582DC 54C6043E */ clrlwi r6, r6, 0x10 -/* 052D40 800582E0 7C843214 */ add r4, r4, r6 -/* 052D44 800582E4 54A5103A */ slwi r5, r5, 2 -/* 052D48 800582E8 7C9F292E */ stwx r4, r31, r5 -/* 052D4C 800582EC 48000010 */ b lbl_800582FC -lbl_800582F0: -/* 052D50 800582F0 80810084 */ lwz r4, 0x84(r1) -/* 052D54 800582F4 38840001 */ addi r4, r4, 1 -/* 052D58 800582F8 90810084 */ stw r4, 0x84(r1) -lbl_800582FC: -/* 052D5C 800582FC 3C9E0001 */ addis r4, r30, 1 -/* 052D60 80058300 80A42064 */ lwz r5, 0x2064(r4) -/* 052D64 80058304 28050000 */ cmplwi r5, 0 -/* 052D68 80058308 4082000C */ bne lbl_80058314 -/* 052D6C 8005830C 38A00000 */ li r5, 0 -/* 052D70 80058310 48000094 */ b lbl_800583A4 -lbl_80058314: -/* 052D74 80058314 80A42074 */ lwz r5, 0x2074(r4) -/* 052D78 80058318 28050000 */ cmplwi r5, 0 -/* 052D7C 8005831C 4082000C */ bne lbl_80058328 -/* 052D80 80058320 38A00000 */ li r5, 0 -/* 052D84 80058324 48000080 */ b lbl_800583A4 -lbl_80058328: -/* 052D88 80058328 80842078 */ lwz r4, 0x2078(r4) -/* 052D8C 8005832C 7C032000 */ cmpw r3, r4 -/* 052D90 80058330 4182000C */ beq lbl_8005833C -/* 052D94 80058334 38A00000 */ li r5, 0 -/* 052D98 80058338 4800006C */ b lbl_800583A4 -lbl_8005833C: -/* 052D9C 8005833C 80DE0034 */ lwz r6, 0x34(r30) -/* 052DA0 80058340 38A00000 */ li r5, 0 -/* 052DA4 80058344 80860008 */ lwz r4, 8(r6) -/* 052DA8 80058348 2C040000 */ cmpwi r4, 0 -/* 052DAC 8005834C 7C8903A6 */ mtctr r4 -/* 052DB0 80058350 40810028 */ ble lbl_80058378 -lbl_80058354: -/* 052DB4 80058354 8086000C */ lwz r4, 0xc(r6) -/* 052DB8 80058358 38E50004 */ addi r7, r5, 4 -/* 052DBC 8005835C 7C84382E */ lwzx r4, r4, r7 -/* 052DC0 80058360 7C1D2000 */ cmpw r29, r4 -/* 052DC4 80058364 4082000C */ bne lbl_80058370 -/* 052DC8 80058368 38800000 */ li r4, 0 -/* 052DCC 8005836C 48000010 */ b lbl_8005837C -lbl_80058370: -/* 052DD0 80058370 38A50008 */ addi r5, r5, 8 -/* 052DD4 80058374 4200FFE0 */ bdnz lbl_80058354 -lbl_80058378: -/* 052DD8 80058378 38800001 */ li r4, 1 -lbl_8005837C: -/* 052DDC 8005837C 2C040000 */ cmpwi r4, 0 -/* 052DE0 80058380 40820014 */ bne lbl_80058394 -/* 052DE4 80058384 38A00000 */ li r5, 0 -/* 052DE8 80058388 3C9E0001 */ addis r4, r30, 1 -/* 052DEC 8005838C 90A42074 */ stw r5, 0x2074(r4) -/* 052DF0 80058390 48000014 */ b lbl_800583A4 -lbl_80058394: -/* 052DF4 80058394 3C9E0001 */ addis r4, r30, 1 -/* 052DF8 80058398 38A00000 */ li r5, 0 -/* 052DFC 8005839C 90A42074 */ stw r5, 0x2074(r4) -/* 052E00 800583A0 38A00001 */ li r5, 1 -lbl_800583A4: -/* 052E04 800583A4 2C050000 */ cmpwi r5, 0 -/* 052E08 800583A8 41820038 */ beq lbl_800583E0 -/* 052E0C 800583AC 281F0000 */ cmplwi r31, 0 -/* 052E10 800583B0 41820020 */ beq lbl_800583D0 -/* 052E14 800583B4 80A10084 */ lwz r5, 0x84(r1) -/* 052E18 800583B8 3CC06000 */ lis r6, 0x6000 -/* 052E1C 800583BC 38850001 */ addi r4, r5, 1 -/* 052E20 800583C0 90810084 */ stw r4, 0x84(r1) -/* 052E24 800583C4 54A4103A */ slwi r4, r5, 2 -/* 052E28 800583C8 7CDF212E */ stwx r6, r31, r4 -/* 052E2C 800583CC 48000060 */ b lbl_8005842C -lbl_800583D0: -/* 052E30 800583D0 80810084 */ lwz r4, 0x84(r1) -/* 052E34 800583D4 38840001 */ addi r4, r4, 1 -/* 052E38 800583D8 90810084 */ stw r4, 0x84(r1) -/* 052E3C 800583DC 48000050 */ b lbl_8005842C -lbl_800583E0: -/* 052E40 800583E0 281F0000 */ cmplwi r31, 0 -/* 052E44 800583E4 4182003C */ beq lbl_80058420 -/* 052E48 800583E8 54641838 */ slwi r4, r3, 3 -/* 052E4C 800583EC 80A10084 */ lwz r5, 0x84(r1) -/* 052E50 800583F0 38840140 */ addi r4, r4, 0x140 -/* 052E54 800583F4 7C9E2214 */ add r4, r30, r4 -/* 052E58 800583F8 5467A814 */ slwi r7, r3, 0x15 -/* 052E5C 800583FC 7CDE2050 */ subf r6, r30, r4 -/* 052E60 80058400 38850001 */ addi r4, r5, 1 -/* 052E64 80058404 90810084 */ stw r4, 0x84(r1) -/* 052E68 80058408 64E4C803 */ oris r4, r7, 0xc803 -/* 052E6C 8005840C 54C6043E */ clrlwi r6, r6, 0x10 -/* 052E70 80058410 7C843214 */ add r4, r4, r6 -/* 052E74 80058414 54A5103A */ slwi r5, r5, 2 -/* 052E78 80058418 7C9F292E */ stwx r4, r31, r5 -/* 052E7C 8005841C 48000010 */ b lbl_8005842C -lbl_80058420: -/* 052E80 80058420 80810084 */ lwz r4, 0x84(r1) -/* 052E84 80058424 38840001 */ addi r4, r4, 1 -/* 052E88 80058428 90810084 */ stw r4, 0x84(r1) -lbl_8005842C: -/* 052E8C 8005842C 281F0000 */ cmplwi r31, 0 -/* 052E90 80058430 41820030 */ beq lbl_80058460 -/* 052E94 80058434 80810084 */ lwz r4, 0x84(r1) -/* 052E98 80058438 5400801E */ slwi r0, r0, 0x10 -/* 052E9C 8005843C 6405FC00 */ oris r5, r0, 0xfc00 -/* 052EA0 80058440 38040001 */ addi r0, r4, 1 -/* 052EA4 80058444 90010084 */ stw r0, 0x84(r1) -/* 052EA8 80058448 60A50040 */ ori r5, r5, 0x40 -/* 052EAC 8005844C 54605828 */ slwi r0, r3, 0xb -/* 052EB0 80058450 7CA00378 */ or r0, r5, r0 -/* 052EB4 80058454 5483103A */ slwi r3, r4, 2 -/* 052EB8 80058458 7C1F192E */ stwx r0, r31, r3 -/* 052EBC 8005845C 48000010 */ b lbl_8005846C -lbl_80058460: -/* 052EC0 80058460 80610084 */ lwz r3, 0x84(r1) -/* 052EC4 80058464 38030001 */ addi r0, r3, 1 -/* 052EC8 80058468 90010084 */ stw r0, 0x84(r1) -lbl_8005846C: -/* 052ECC 8005846C 281F0000 */ cmplwi r31, 0 -/* 052ED0 80058470 41820024 */ beq lbl_80058494 -/* 052ED4 80058474 80610084 */ lwz r3, 0x84(r1) -/* 052ED8 80058478 3C804C40 */ lis r4, 0x4c40 -/* 052EDC 8005847C 38841382 */ addi r4, r4, 0x1382 -/* 052EE0 80058480 38030001 */ addi r0, r3, 1 -/* 052EE4 80058484 90010084 */ stw r0, 0x84(r1) -/* 052EE8 80058488 5460103A */ slwi r0, r3, 2 -/* 052EEC 8005848C 7C9F012E */ stwx r4, r31, r0 -/* 052EF0 80058490 48000010 */ b lbl_800584A0 -lbl_80058494: -/* 052EF4 80058494 80610084 */ lwz r3, 0x84(r1) -/* 052EF8 80058498 38030001 */ addi r0, r3, 1 -/* 052EFC 8005849C 90010084 */ stw r0, 0x84(r1) -lbl_800584A0: -/* 052F00 800584A0 281F0000 */ cmplwi r31, 0 -/* 052F04 800584A4 41820024 */ beq lbl_800584C8 -/* 052F08 800584A8 80610084 */ lwz r3, 0x84(r1) -/* 052F0C 800584AC 3C804082 */ lis r4, 0x4082 -/* 052F10 800584B0 3884000C */ addi r4, r4, 0xc -/* 052F14 800584B4 38030001 */ addi r0, r3, 1 -/* 052F18 800584B8 90010084 */ stw r0, 0x84(r1) -/* 052F1C 800584BC 5460103A */ slwi r0, r3, 2 -/* 052F20 800584C0 7C9F012E */ stwx r4, r31, r0 -/* 052F24 800584C4 48000010 */ b lbl_800584D4 -lbl_800584C8: -/* 052F28 800584C8 80610084 */ lwz r3, 0x84(r1) -/* 052F2C 800584CC 38030001 */ addi r0, r3, 1 -/* 052F30 800584D0 90010084 */ stw r0, 0x84(r1) -lbl_800584D4: -/* 052F34 800584D4 281F0000 */ cmplwi r31, 0 -/* 052F38 800584D8 41820024 */ beq lbl_800584FC -/* 052F3C 800584DC 80610084 */ lwz r3, 0x84(r1) -/* 052F40 800584E0 3C8064A5 */ lis r4, 0x64a5 -/* 052F44 800584E4 38840080 */ addi r4, r4, 0x80 -/* 052F48 800584E8 38030001 */ addi r0, r3, 1 -/* 052F4C 800584EC 90010084 */ stw r0, 0x84(r1) -/* 052F50 800584F0 5460103A */ slwi r0, r3, 2 -/* 052F54 800584F4 7C9F012E */ stwx r4, r31, r0 -/* 052F58 800584F8 48000010 */ b lbl_80058508 -lbl_800584FC: -/* 052F5C 800584FC 80610084 */ lwz r3, 0x84(r1) -/* 052F60 80058500 38030001 */ addi r0, r3, 1 -/* 052F64 80058504 90010084 */ stw r0, 0x84(r1) -lbl_80058508: -/* 052F68 80058508 281F0000 */ cmplwi r31, 0 -/* 052F6C 8005850C 41820024 */ beq lbl_80058530 -/* 052F70 80058510 80610084 */ lwz r3, 0x84(r1) -/* 052F74 80058514 3C804280 */ lis r4, 0x4280 -/* 052F78 80058518 38840008 */ addi r4, r4, 8 -/* 052F7C 8005851C 38030001 */ addi r0, r3, 1 -/* 052F80 80058520 90010084 */ stw r0, 0x84(r1) -/* 052F84 80058524 5460103A */ slwi r0, r3, 2 -/* 052F88 80058528 7C9F012E */ stwx r4, r31, r0 -/* 052F8C 8005852C 48000010 */ b lbl_8005853C -lbl_80058530: -/* 052F90 80058530 80610084 */ lwz r3, 0x84(r1) -/* 052F94 80058534 38030001 */ addi r0, r3, 1 -/* 052F98 80058538 90010084 */ stw r0, 0x84(r1) -lbl_8005853C: -/* 052F9C 8005853C 281F0000 */ cmplwi r31, 0 -/* 052FA0 80058540 41820024 */ beq lbl_80058564 -/* 052FA4 80058544 80610084 */ lwz r3, 0x84(r1) -/* 052FA8 80058548 3C8054A5 */ lis r4, 0x54a5 -/* 052FAC 8005854C 3884024E */ addi r4, r4, 0x24e -/* 052FB0 80058550 38030001 */ addi r0, r3, 1 -/* 052FB4 80058554 90010084 */ stw r0, 0x84(r1) -/* 052FB8 80058558 5460103A */ slwi r0, r3, 2 -/* 052FBC 8005855C 7C9F012E */ stwx r4, r31, r0 -/* 052FC0 80058560 48000010 */ b lbl_80058570 -lbl_80058564: -/* 052FC4 80058564 80610084 */ lwz r3, 0x84(r1) -/* 052FC8 80058568 38030001 */ addi r0, r3, 1 -/* 052FCC 8005856C 90010084 */ stw r0, 0x84(r1) -lbl_80058570: -/* 052FD0 80058570 281F0000 */ cmplwi r31, 0 -/* 052FD4 80058574 41820028 */ beq lbl_8005859C -/* 052FD8 80058578 80610084 */ lwz r3, 0x84(r1) -/* 052FDC 8005857C 381E0A3C */ addi r0, r30, 0xa3c -/* 052FE0 80058580 7C9E0050 */ subf r4, r30, r0 -/* 052FE4 80058584 38030001 */ addi r0, r3, 1 -/* 052FE8 80058588 90010084 */ stw r0, 0x84(r1) -/* 052FEC 8005858C 3C0490A3 */ addis r0, r4, 0x90a3 -/* 052FF0 80058590 5463103A */ slwi r3, r3, 2 -/* 052FF4 80058594 7C1F192E */ stwx r0, r31, r3 -/* 052FF8 80058598 4800F99C */ b lbl_80067F34 -lbl_8005859C: -/* 052FFC 8005859C 80610084 */ lwz r3, 0x84(r1) -/* 053000 800585A0 38030001 */ addi r0, r3, 1 -/* 053004 800585A4 90010084 */ stw r0, 0x84(r1) -/* 053008 800585A8 4800F98C */ b lbl_80067F34 -.global lbl_800585AC -lbl_800585AC: -/* 05300C 800585AC 281F0000 */ cmplwi r31, 0 -/* 053010 800585B0 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 053014 800585B4 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 053018 800585B8 41820028 */ beq lbl_800585E0 -/* 05301C 800585BC 80810084 */ lwz r4, 0x84(r1) -/* 053020 800585C0 38BE0A3C */ addi r5, r30, 0xa3c -/* 053024 800585C4 7CBE2850 */ subf r5, r30, r5 -/* 053028 800585C8 38C40001 */ addi r6, r4, 1 -/* 05302C 800585CC 90C10084 */ stw r6, 0x84(r1) -/* 053030 800585D0 3CA580A3 */ addis r5, r5, 0x80a3 -/* 053034 800585D4 5484103A */ slwi r4, r4, 2 -/* 053038 800585D8 7CBF212E */ stwx r5, r31, r4 -/* 05303C 800585DC 48000010 */ b lbl_800585EC -lbl_800585E0: -/* 053040 800585E0 80810084 */ lwz r4, 0x84(r1) -/* 053044 800585E4 38840001 */ addi r4, r4, 1 -/* 053048 800585E8 90810084 */ stw r4, 0x84(r1) -lbl_800585EC: -/* 05304C 800585EC 3C9E0001 */ addis r4, r30, 1 -/* 053050 800585F0 80A42064 */ lwz r5, 0x2064(r4) -/* 053054 800585F4 28050000 */ cmplwi r5, 0 -/* 053058 800585F8 4082000C */ bne lbl_80058604 -/* 05305C 800585FC 38A00000 */ li r5, 0 -/* 053060 80058600 48000094 */ b lbl_80058694 -lbl_80058604: -/* 053064 80058604 80A42074 */ lwz r5, 0x2074(r4) -/* 053068 80058608 28050000 */ cmplwi r5, 0 -/* 05306C 8005860C 4082000C */ bne lbl_80058618 -/* 053070 80058610 38A00000 */ li r5, 0 -/* 053074 80058614 48000080 */ b lbl_80058694 -lbl_80058618: -/* 053078 80058618 80842078 */ lwz r4, 0x2078(r4) -/* 05307C 8005861C 7C002000 */ cmpw r0, r4 -/* 053080 80058620 4182000C */ beq lbl_8005862C -/* 053084 80058624 38A00000 */ li r5, 0 -/* 053088 80058628 4800006C */ b lbl_80058694 -lbl_8005862C: -/* 05308C 8005862C 80DE0034 */ lwz r6, 0x34(r30) -/* 053090 80058630 38A00000 */ li r5, 0 -/* 053094 80058634 80860008 */ lwz r4, 8(r6) -/* 053098 80058638 2C040000 */ cmpwi r4, 0 -/* 05309C 8005863C 7C8903A6 */ mtctr r4 -/* 0530A0 80058640 40810028 */ ble lbl_80058668 -lbl_80058644: -/* 0530A4 80058644 8086000C */ lwz r4, 0xc(r6) -/* 0530A8 80058648 38E50004 */ addi r7, r5, 4 -/* 0530AC 8005864C 7C84382E */ lwzx r4, r4, r7 -/* 0530B0 80058650 7C1D2000 */ cmpw r29, r4 -/* 0530B4 80058654 4082000C */ bne lbl_80058660 -/* 0530B8 80058658 38800000 */ li r4, 0 -/* 0530BC 8005865C 48000010 */ b lbl_8005866C -lbl_80058660: -/* 0530C0 80058660 38A50008 */ addi r5, r5, 8 -/* 0530C4 80058664 4200FFE0 */ bdnz lbl_80058644 -lbl_80058668: -/* 0530C8 80058668 38800001 */ li r4, 1 -lbl_8005866C: -/* 0530CC 8005866C 2C040000 */ cmpwi r4, 0 -/* 0530D0 80058670 40820014 */ bne lbl_80058684 -/* 0530D4 80058674 38A00000 */ li r5, 0 -/* 0530D8 80058678 3C9E0001 */ addis r4, r30, 1 -/* 0530DC 8005867C 90A42074 */ stw r5, 0x2074(r4) -/* 0530E0 80058680 48000014 */ b lbl_80058694 -lbl_80058684: -/* 0530E4 80058684 3C9E0001 */ addis r4, r30, 1 -/* 0530E8 80058688 38A00000 */ li r5, 0 -/* 0530EC 8005868C 90A42074 */ stw r5, 0x2074(r4) -/* 0530F0 80058690 38A00001 */ li r5, 1 -lbl_80058694: -/* 0530F4 80058694 2C050000 */ cmpwi r5, 0 -/* 0530F8 80058698 41820038 */ beq lbl_800586D0 -/* 0530FC 8005869C 281F0000 */ cmplwi r31, 0 -/* 053100 800586A0 41820020 */ beq lbl_800586C0 -/* 053104 800586A4 80A10084 */ lwz r5, 0x84(r1) -/* 053108 800586A8 3CC06000 */ lis r6, 0x6000 -/* 05310C 800586AC 38850001 */ addi r4, r5, 1 -/* 053110 800586B0 90810084 */ stw r4, 0x84(r1) -/* 053114 800586B4 54A4103A */ slwi r4, r5, 2 -/* 053118 800586B8 7CDF212E */ stwx r6, r31, r4 -/* 05311C 800586BC 48000060 */ b lbl_8005871C -lbl_800586C0: -/* 053120 800586C0 80810084 */ lwz r4, 0x84(r1) -/* 053124 800586C4 38840001 */ addi r4, r4, 1 -/* 053128 800586C8 90810084 */ stw r4, 0x84(r1) -/* 05312C 800586CC 48000050 */ b lbl_8005871C -lbl_800586D0: -/* 053130 800586D0 281F0000 */ cmplwi r31, 0 -/* 053134 800586D4 4182003C */ beq lbl_80058710 -/* 053138 800586D8 54041838 */ slwi r4, r0, 3 -/* 05313C 800586DC 80A10084 */ lwz r5, 0x84(r1) -/* 053140 800586E0 38840140 */ addi r4, r4, 0x140 -/* 053144 800586E4 7C9E2214 */ add r4, r30, r4 -/* 053148 800586E8 5407A814 */ slwi r7, r0, 0x15 -/* 05314C 800586EC 7CDE2050 */ subf r6, r30, r4 -/* 053150 800586F0 38850001 */ addi r4, r5, 1 -/* 053154 800586F4 90810084 */ stw r4, 0x84(r1) -/* 053158 800586F8 64E4C803 */ oris r4, r7, 0xc803 -/* 05315C 800586FC 54C6043E */ clrlwi r6, r6, 0x10 -/* 053160 80058700 7C843214 */ add r4, r4, r6 -/* 053164 80058704 54A5103A */ slwi r5, r5, 2 -/* 053168 80058708 7C9F292E */ stwx r4, r31, r5 -/* 05316C 8005870C 48000010 */ b lbl_8005871C -lbl_80058710: -/* 053170 80058710 80810084 */ lwz r4, 0x84(r1) -/* 053174 80058714 38840001 */ addi r4, r4, 1 -/* 053178 80058718 90810084 */ stw r4, 0x84(r1) -lbl_8005871C: -/* 05317C 8005871C 3C9E0001 */ addis r4, r30, 1 -/* 053180 80058720 80A42064 */ lwz r5, 0x2064(r4) -/* 053184 80058724 28050000 */ cmplwi r5, 0 -/* 053188 80058728 4082000C */ bne lbl_80058734 -/* 05318C 8005872C 38A00000 */ li r5, 0 -/* 053190 80058730 48000094 */ b lbl_800587C4 -lbl_80058734: -/* 053194 80058734 80A42074 */ lwz r5, 0x2074(r4) -/* 053198 80058738 28050000 */ cmplwi r5, 0 -/* 05319C 8005873C 4082000C */ bne lbl_80058748 -/* 0531A0 80058740 38A00000 */ li r5, 0 -/* 0531A4 80058744 48000080 */ b lbl_800587C4 -lbl_80058748: -/* 0531A8 80058748 80842078 */ lwz r4, 0x2078(r4) -/* 0531AC 8005874C 7C032000 */ cmpw r3, r4 -/* 0531B0 80058750 4182000C */ beq lbl_8005875C -/* 0531B4 80058754 38A00000 */ li r5, 0 -/* 0531B8 80058758 4800006C */ b lbl_800587C4 -lbl_8005875C: -/* 0531BC 8005875C 80DE0034 */ lwz r6, 0x34(r30) -/* 0531C0 80058760 38A00000 */ li r5, 0 -/* 0531C4 80058764 80860008 */ lwz r4, 8(r6) -/* 0531C8 80058768 2C040000 */ cmpwi r4, 0 -/* 0531CC 8005876C 7C8903A6 */ mtctr r4 -/* 0531D0 80058770 40810028 */ ble lbl_80058798 -lbl_80058774: -/* 0531D4 80058774 8086000C */ lwz r4, 0xc(r6) -/* 0531D8 80058778 38E50004 */ addi r7, r5, 4 -/* 0531DC 8005877C 7C84382E */ lwzx r4, r4, r7 -/* 0531E0 80058780 7C1D2000 */ cmpw r29, r4 -/* 0531E4 80058784 4082000C */ bne lbl_80058790 -/* 0531E8 80058788 38800000 */ li r4, 0 -/* 0531EC 8005878C 48000010 */ b lbl_8005879C -lbl_80058790: -/* 0531F0 80058790 38A50008 */ addi r5, r5, 8 -/* 0531F4 80058794 4200FFE0 */ bdnz lbl_80058774 -lbl_80058798: -/* 0531F8 80058798 38800001 */ li r4, 1 -lbl_8005879C: -/* 0531FC 8005879C 2C040000 */ cmpwi r4, 0 -/* 053200 800587A0 40820014 */ bne lbl_800587B4 -/* 053204 800587A4 38A00000 */ li r5, 0 -/* 053208 800587A8 3C9E0001 */ addis r4, r30, 1 -/* 05320C 800587AC 90A42074 */ stw r5, 0x2074(r4) -/* 053210 800587B0 48000014 */ b lbl_800587C4 -lbl_800587B4: -/* 053214 800587B4 3C9E0001 */ addis r4, r30, 1 -/* 053218 800587B8 38A00000 */ li r5, 0 -/* 05321C 800587BC 90A42074 */ stw r5, 0x2074(r4) -/* 053220 800587C0 38A00001 */ li r5, 1 -lbl_800587C4: -/* 053224 800587C4 2C050000 */ cmpwi r5, 0 -/* 053228 800587C8 41820038 */ beq lbl_80058800 -/* 05322C 800587CC 281F0000 */ cmplwi r31, 0 -/* 053230 800587D0 41820020 */ beq lbl_800587F0 -/* 053234 800587D4 80A10084 */ lwz r5, 0x84(r1) -/* 053238 800587D8 3CC06000 */ lis r6, 0x6000 -/* 05323C 800587DC 38850001 */ addi r4, r5, 1 -/* 053240 800587E0 90810084 */ stw r4, 0x84(r1) -/* 053244 800587E4 54A4103A */ slwi r4, r5, 2 -/* 053248 800587E8 7CDF212E */ stwx r6, r31, r4 -/* 05324C 800587EC 48000060 */ b lbl_8005884C -lbl_800587F0: -/* 053250 800587F0 80810084 */ lwz r4, 0x84(r1) -/* 053254 800587F4 38840001 */ addi r4, r4, 1 -/* 053258 800587F8 90810084 */ stw r4, 0x84(r1) -/* 05325C 800587FC 48000050 */ b lbl_8005884C -lbl_80058800: -/* 053260 80058800 281F0000 */ cmplwi r31, 0 -/* 053264 80058804 4182003C */ beq lbl_80058840 -/* 053268 80058808 54641838 */ slwi r4, r3, 3 -/* 05326C 8005880C 80A10084 */ lwz r5, 0x84(r1) -/* 053270 80058810 38840140 */ addi r4, r4, 0x140 -/* 053274 80058814 7C9E2214 */ add r4, r30, r4 -/* 053278 80058818 5467A814 */ slwi r7, r3, 0x15 -/* 05327C 8005881C 7CDE2050 */ subf r6, r30, r4 -/* 053280 80058820 38850001 */ addi r4, r5, 1 -/* 053284 80058824 90810084 */ stw r4, 0x84(r1) -/* 053288 80058828 64E4C803 */ oris r4, r7, 0xc803 -/* 05328C 8005882C 54C6043E */ clrlwi r6, r6, 0x10 -/* 053290 80058830 7C843214 */ add r4, r4, r6 -/* 053294 80058834 54A5103A */ slwi r5, r5, 2 -/* 053298 80058838 7C9F292E */ stwx r4, r31, r5 -/* 05329C 8005883C 48000010 */ b lbl_8005884C -lbl_80058840: -/* 0532A0 80058840 80810084 */ lwz r4, 0x84(r1) -/* 0532A4 80058844 38840001 */ addi r4, r4, 1 -/* 0532A8 80058848 90810084 */ stw r4, 0x84(r1) -lbl_8005884C: -/* 0532AC 8005884C 281F0000 */ cmplwi r31, 0 -/* 0532B0 80058850 4182002C */ beq lbl_8005887C -/* 0532B4 80058854 80810084 */ lwz r4, 0x84(r1) -/* 0532B8 80058858 5400801E */ slwi r0, r0, 0x10 -/* 0532BC 8005885C 6400FC00 */ oris r0, r0, 0xfc00 -/* 0532C0 80058860 38A40001 */ addi r5, r4, 1 -/* 0532C4 80058864 54635828 */ slwi r3, r3, 0xb -/* 0532C8 80058868 90A10084 */ stw r5, 0x84(r1) -/* 0532CC 8005886C 7C001B78 */ or r0, r0, r3 -/* 0532D0 80058870 5483103A */ slwi r3, r4, 2 -/* 0532D4 80058874 7C1F192E */ stwx r0, r31, r3 -/* 0532D8 80058878 48000010 */ b lbl_80058888 -lbl_8005887C: -/* 0532DC 8005887C 80610084 */ lwz r3, 0x84(r1) -/* 0532E0 80058880 38030001 */ addi r0, r3, 1 -/* 0532E4 80058884 90010084 */ stw r0, 0x84(r1) -lbl_80058888: -/* 0532E8 80058888 281F0000 */ cmplwi r31, 0 -/* 0532EC 8005888C 41820024 */ beq lbl_800588B0 -/* 0532F0 80058890 80610084 */ lwz r3, 0x84(r1) -/* 0532F4 80058894 3C804082 */ lis r4, 0x4082 -/* 0532F8 80058898 3884000C */ addi r4, r4, 0xc -/* 0532FC 8005889C 38030001 */ addi r0, r3, 1 -/* 053300 800588A0 90010084 */ stw r0, 0x84(r1) -/* 053304 800588A4 5460103A */ slwi r0, r3, 2 -/* 053308 800588A8 7C9F012E */ stwx r4, r31, r0 -/* 05330C 800588AC 48000010 */ b lbl_800588BC -lbl_800588B0: -/* 053310 800588B0 80610084 */ lwz r3, 0x84(r1) -/* 053314 800588B4 38030001 */ addi r0, r3, 1 -/* 053318 800588B8 90010084 */ stw r0, 0x84(r1) -lbl_800588BC: -/* 05331C 800588BC 281F0000 */ cmplwi r31, 0 -/* 053320 800588C0 41820024 */ beq lbl_800588E4 -/* 053324 800588C4 80610084 */ lwz r3, 0x84(r1) -/* 053328 800588C8 3C8064A5 */ lis r4, 0x64a5 -/* 05332C 800588CC 38840080 */ addi r4, r4, 0x80 -/* 053330 800588D0 38030001 */ addi r0, r3, 1 -/* 053334 800588D4 90010084 */ stw r0, 0x84(r1) -/* 053338 800588D8 5460103A */ slwi r0, r3, 2 -/* 05333C 800588DC 7C9F012E */ stwx r4, r31, r0 -/* 053340 800588E0 48000010 */ b lbl_800588F0 -lbl_800588E4: -/* 053344 800588E4 80610084 */ lwz r3, 0x84(r1) -/* 053348 800588E8 38030001 */ addi r0, r3, 1 -/* 05334C 800588EC 90010084 */ stw r0, 0x84(r1) -lbl_800588F0: -/* 053350 800588F0 281F0000 */ cmplwi r31, 0 -/* 053354 800588F4 41820024 */ beq lbl_80058918 -/* 053358 800588F8 80610084 */ lwz r3, 0x84(r1) -/* 05335C 800588FC 3C804280 */ lis r4, 0x4280 -/* 053360 80058900 38840008 */ addi r4, r4, 8 -/* 053364 80058904 38030001 */ addi r0, r3, 1 -/* 053368 80058908 90010084 */ stw r0, 0x84(r1) -/* 05336C 8005890C 5460103A */ slwi r0, r3, 2 -/* 053370 80058910 7C9F012E */ stwx r4, r31, r0 -/* 053374 80058914 48000010 */ b lbl_80058924 -lbl_80058918: -/* 053378 80058918 80610084 */ lwz r3, 0x84(r1) -/* 05337C 8005891C 38030001 */ addi r0, r3, 1 -/* 053380 80058920 90010084 */ stw r0, 0x84(r1) -lbl_80058924: -/* 053384 80058924 281F0000 */ cmplwi r31, 0 -/* 053388 80058928 41820024 */ beq lbl_8005894C -/* 05338C 8005892C 80610084 */ lwz r3, 0x84(r1) -/* 053390 80058930 3C8054A5 */ lis r4, 0x54a5 -/* 053394 80058934 3884024E */ addi r4, r4, 0x24e -/* 053398 80058938 38030001 */ addi r0, r3, 1 -/* 05339C 8005893C 90010084 */ stw r0, 0x84(r1) -/* 0533A0 80058940 5460103A */ slwi r0, r3, 2 -/* 0533A4 80058944 7C9F012E */ stwx r4, r31, r0 -/* 0533A8 80058948 48000010 */ b lbl_80058958 -lbl_8005894C: -/* 0533AC 8005894C 80610084 */ lwz r3, 0x84(r1) -/* 0533B0 80058950 38030001 */ addi r0, r3, 1 -/* 0533B4 80058954 90010084 */ stw r0, 0x84(r1) -lbl_80058958: -/* 0533B8 80058958 281F0000 */ cmplwi r31, 0 -/* 0533BC 8005895C 41820028 */ beq lbl_80058984 -/* 0533C0 80058960 80610084 */ lwz r3, 0x84(r1) -/* 0533C4 80058964 381E0A3C */ addi r0, r30, 0xa3c -/* 0533C8 80058968 7C9E0050 */ subf r4, r30, r0 -/* 0533CC 8005896C 38030001 */ addi r0, r3, 1 -/* 0533D0 80058970 90010084 */ stw r0, 0x84(r1) -/* 0533D4 80058974 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0533D8 80058978 5463103A */ slwi r3, r3, 2 -/* 0533DC 8005897C 7C1F192E */ stwx r0, r31, r3 -/* 0533E0 80058980 4800F5B4 */ b lbl_80067F34 -lbl_80058984: -/* 0533E4 80058984 80610084 */ lwz r3, 0x84(r1) -/* 0533E8 80058988 38030001 */ addi r0, r3, 1 -/* 0533EC 8005898C 90010084 */ stw r0, 0x84(r1) -/* 0533F0 80058990 4800F5A4 */ b lbl_80067F34 -.global lbl_80058994 -lbl_80058994: -/* 0533F4 80058994 281F0000 */ cmplwi r31, 0 -/* 0533F8 80058998 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 0533FC 8005899C 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 053400 800589A0 41820028 */ beq lbl_800589C8 -/* 053404 800589A4 80810084 */ lwz r4, 0x84(r1) -/* 053408 800589A8 38BE0A3C */ addi r5, r30, 0xa3c -/* 05340C 800589AC 7CBE2850 */ subf r5, r30, r5 -/* 053410 800589B0 38C40001 */ addi r6, r4, 1 -/* 053414 800589B4 90C10084 */ stw r6, 0x84(r1) -/* 053418 800589B8 3CA580A3 */ addis r5, r5, 0x80a3 -/* 05341C 800589BC 5484103A */ slwi r4, r4, 2 -/* 053420 800589C0 7CBF212E */ stwx r5, r31, r4 -/* 053424 800589C4 48000010 */ b lbl_800589D4 -lbl_800589C8: -/* 053428 800589C8 80810084 */ lwz r4, 0x84(r1) -/* 05342C 800589CC 38840001 */ addi r4, r4, 1 -/* 053430 800589D0 90810084 */ stw r4, 0x84(r1) -lbl_800589D4: -/* 053434 800589D4 3C9E0001 */ addis r4, r30, 1 -/* 053438 800589D8 80A42064 */ lwz r5, 0x2064(r4) -/* 05343C 800589DC 28050000 */ cmplwi r5, 0 -/* 053440 800589E0 4082000C */ bne lbl_800589EC -/* 053444 800589E4 38A00000 */ li r5, 0 -/* 053448 800589E8 48000094 */ b lbl_80058A7C -lbl_800589EC: -/* 05344C 800589EC 80A42074 */ lwz r5, 0x2074(r4) -/* 053450 800589F0 28050000 */ cmplwi r5, 0 -/* 053454 800589F4 4082000C */ bne lbl_80058A00 -/* 053458 800589F8 38A00000 */ li r5, 0 -/* 05345C 800589FC 48000080 */ b lbl_80058A7C -lbl_80058A00: -/* 053460 80058A00 80842078 */ lwz r4, 0x2078(r4) -/* 053464 80058A04 7C002000 */ cmpw r0, r4 -/* 053468 80058A08 4182000C */ beq lbl_80058A14 -/* 05346C 80058A0C 38A00000 */ li r5, 0 -/* 053470 80058A10 4800006C */ b lbl_80058A7C -lbl_80058A14: -/* 053474 80058A14 80DE0034 */ lwz r6, 0x34(r30) -/* 053478 80058A18 38A00000 */ li r5, 0 -/* 05347C 80058A1C 80860008 */ lwz r4, 8(r6) -/* 053480 80058A20 2C040000 */ cmpwi r4, 0 -/* 053484 80058A24 7C8903A6 */ mtctr r4 -/* 053488 80058A28 40810028 */ ble lbl_80058A50 -lbl_80058A2C: -/* 05348C 80058A2C 8086000C */ lwz r4, 0xc(r6) -/* 053490 80058A30 38E50004 */ addi r7, r5, 4 -/* 053494 80058A34 7C84382E */ lwzx r4, r4, r7 -/* 053498 80058A38 7C1D2000 */ cmpw r29, r4 -/* 05349C 80058A3C 4082000C */ bne lbl_80058A48 -/* 0534A0 80058A40 38800000 */ li r4, 0 -/* 0534A4 80058A44 48000010 */ b lbl_80058A54 -lbl_80058A48: -/* 0534A8 80058A48 38A50008 */ addi r5, r5, 8 -/* 0534AC 80058A4C 4200FFE0 */ bdnz lbl_80058A2C -lbl_80058A50: -/* 0534B0 80058A50 38800001 */ li r4, 1 -lbl_80058A54: -/* 0534B4 80058A54 2C040000 */ cmpwi r4, 0 -/* 0534B8 80058A58 40820014 */ bne lbl_80058A6C -/* 0534BC 80058A5C 38A00000 */ li r5, 0 -/* 0534C0 80058A60 3C9E0001 */ addis r4, r30, 1 -/* 0534C4 80058A64 90A42074 */ stw r5, 0x2074(r4) -/* 0534C8 80058A68 48000014 */ b lbl_80058A7C -lbl_80058A6C: -/* 0534CC 80058A6C 3C9E0001 */ addis r4, r30, 1 -/* 0534D0 80058A70 38A00000 */ li r5, 0 -/* 0534D4 80058A74 90A42074 */ stw r5, 0x2074(r4) -/* 0534D8 80058A78 38A00001 */ li r5, 1 -lbl_80058A7C: -/* 0534DC 80058A7C 2C050000 */ cmpwi r5, 0 -/* 0534E0 80058A80 41820038 */ beq lbl_80058AB8 -/* 0534E4 80058A84 281F0000 */ cmplwi r31, 0 -/* 0534E8 80058A88 41820020 */ beq lbl_80058AA8 -/* 0534EC 80058A8C 80A10084 */ lwz r5, 0x84(r1) -/* 0534F0 80058A90 3CC06000 */ lis r6, 0x6000 -/* 0534F4 80058A94 38850001 */ addi r4, r5, 1 -/* 0534F8 80058A98 90810084 */ stw r4, 0x84(r1) -/* 0534FC 80058A9C 54A4103A */ slwi r4, r5, 2 -/* 053500 80058AA0 7CDF212E */ stwx r6, r31, r4 -/* 053504 80058AA4 48000060 */ b lbl_80058B04 -lbl_80058AA8: -/* 053508 80058AA8 80810084 */ lwz r4, 0x84(r1) -/* 05350C 80058AAC 38840001 */ addi r4, r4, 1 -/* 053510 80058AB0 90810084 */ stw r4, 0x84(r1) -/* 053514 80058AB4 48000050 */ b lbl_80058B04 -lbl_80058AB8: -/* 053518 80058AB8 281F0000 */ cmplwi r31, 0 -/* 05351C 80058ABC 4182003C */ beq lbl_80058AF8 -/* 053520 80058AC0 54041838 */ slwi r4, r0, 3 -/* 053524 80058AC4 80A10084 */ lwz r5, 0x84(r1) -/* 053528 80058AC8 38840140 */ addi r4, r4, 0x140 -/* 05352C 80058ACC 7C9E2214 */ add r4, r30, r4 -/* 053530 80058AD0 5407A814 */ slwi r7, r0, 0x15 -/* 053534 80058AD4 7CDE2050 */ subf r6, r30, r4 -/* 053538 80058AD8 38850001 */ addi r4, r5, 1 -/* 05353C 80058ADC 90810084 */ stw r4, 0x84(r1) -/* 053540 80058AE0 64E4C803 */ oris r4, r7, 0xc803 -/* 053544 80058AE4 54C6043E */ clrlwi r6, r6, 0x10 -/* 053548 80058AE8 7C843214 */ add r4, r4, r6 -/* 05354C 80058AEC 54A5103A */ slwi r5, r5, 2 -/* 053550 80058AF0 7C9F292E */ stwx r4, r31, r5 -/* 053554 80058AF4 48000010 */ b lbl_80058B04 -lbl_80058AF8: -/* 053558 80058AF8 80810084 */ lwz r4, 0x84(r1) -/* 05355C 80058AFC 38840001 */ addi r4, r4, 1 -/* 053560 80058B00 90810084 */ stw r4, 0x84(r1) -lbl_80058B04: -/* 053564 80058B04 3C9E0001 */ addis r4, r30, 1 -/* 053568 80058B08 80A42064 */ lwz r5, 0x2064(r4) -/* 05356C 80058B0C 28050000 */ cmplwi r5, 0 -/* 053570 80058B10 4082000C */ bne lbl_80058B1C -/* 053574 80058B14 38A00000 */ li r5, 0 -/* 053578 80058B18 48000094 */ b lbl_80058BAC -lbl_80058B1C: -/* 05357C 80058B1C 80A42074 */ lwz r5, 0x2074(r4) -/* 053580 80058B20 28050000 */ cmplwi r5, 0 -/* 053584 80058B24 4082000C */ bne lbl_80058B30 -/* 053588 80058B28 38A00000 */ li r5, 0 -/* 05358C 80058B2C 48000080 */ b lbl_80058BAC -lbl_80058B30: -/* 053590 80058B30 80842078 */ lwz r4, 0x2078(r4) -/* 053594 80058B34 7C032000 */ cmpw r3, r4 -/* 053598 80058B38 4182000C */ beq lbl_80058B44 -/* 05359C 80058B3C 38A00000 */ li r5, 0 -/* 0535A0 80058B40 4800006C */ b lbl_80058BAC -lbl_80058B44: -/* 0535A4 80058B44 80DE0034 */ lwz r6, 0x34(r30) -/* 0535A8 80058B48 38A00000 */ li r5, 0 -/* 0535AC 80058B4C 80860008 */ lwz r4, 8(r6) -/* 0535B0 80058B50 2C040000 */ cmpwi r4, 0 -/* 0535B4 80058B54 7C8903A6 */ mtctr r4 -/* 0535B8 80058B58 40810028 */ ble lbl_80058B80 -lbl_80058B5C: -/* 0535BC 80058B5C 8086000C */ lwz r4, 0xc(r6) -/* 0535C0 80058B60 38E50004 */ addi r7, r5, 4 -/* 0535C4 80058B64 7C84382E */ lwzx r4, r4, r7 -/* 0535C8 80058B68 7C1D2000 */ cmpw r29, r4 -/* 0535CC 80058B6C 4082000C */ bne lbl_80058B78 -/* 0535D0 80058B70 38800000 */ li r4, 0 -/* 0535D4 80058B74 48000010 */ b lbl_80058B84 -lbl_80058B78: -/* 0535D8 80058B78 38A50008 */ addi r5, r5, 8 -/* 0535DC 80058B7C 4200FFE0 */ bdnz lbl_80058B5C -lbl_80058B80: -/* 0535E0 80058B80 38800001 */ li r4, 1 -lbl_80058B84: -/* 0535E4 80058B84 2C040000 */ cmpwi r4, 0 -/* 0535E8 80058B88 40820014 */ bne lbl_80058B9C -/* 0535EC 80058B8C 38A00000 */ li r5, 0 -/* 0535F0 80058B90 3C9E0001 */ addis r4, r30, 1 -/* 0535F4 80058B94 90A42074 */ stw r5, 0x2074(r4) -/* 0535F8 80058B98 48000014 */ b lbl_80058BAC -lbl_80058B9C: -/* 0535FC 80058B9C 3C9E0001 */ addis r4, r30, 1 -/* 053600 80058BA0 38A00000 */ li r5, 0 -/* 053604 80058BA4 90A42074 */ stw r5, 0x2074(r4) -/* 053608 80058BA8 38A00001 */ li r5, 1 -lbl_80058BAC: -/* 05360C 80058BAC 2C050000 */ cmpwi r5, 0 -/* 053610 80058BB0 41820038 */ beq lbl_80058BE8 -/* 053614 80058BB4 281F0000 */ cmplwi r31, 0 -/* 053618 80058BB8 41820020 */ beq lbl_80058BD8 -/* 05361C 80058BBC 80A10084 */ lwz r5, 0x84(r1) -/* 053620 80058BC0 3CC06000 */ lis r6, 0x6000 -/* 053624 80058BC4 38850001 */ addi r4, r5, 1 -/* 053628 80058BC8 90810084 */ stw r4, 0x84(r1) -/* 05362C 80058BCC 54A4103A */ slwi r4, r5, 2 -/* 053630 80058BD0 7CDF212E */ stwx r6, r31, r4 -/* 053634 80058BD4 48000060 */ b lbl_80058C34 -lbl_80058BD8: -/* 053638 80058BD8 80810084 */ lwz r4, 0x84(r1) -/* 05363C 80058BDC 38840001 */ addi r4, r4, 1 -/* 053640 80058BE0 90810084 */ stw r4, 0x84(r1) -/* 053644 80058BE4 48000050 */ b lbl_80058C34 -lbl_80058BE8: -/* 053648 80058BE8 281F0000 */ cmplwi r31, 0 -/* 05364C 80058BEC 4182003C */ beq lbl_80058C28 -/* 053650 80058BF0 54641838 */ slwi r4, r3, 3 -/* 053654 80058BF4 80A10084 */ lwz r5, 0x84(r1) -/* 053658 80058BF8 38840140 */ addi r4, r4, 0x140 -/* 05365C 80058BFC 7C9E2214 */ add r4, r30, r4 -/* 053660 80058C00 5467A814 */ slwi r7, r3, 0x15 -/* 053664 80058C04 7CDE2050 */ subf r6, r30, r4 -/* 053668 80058C08 38850001 */ addi r4, r5, 1 -/* 05366C 80058C0C 90810084 */ stw r4, 0x84(r1) -/* 053670 80058C10 64E4C803 */ oris r4, r7, 0xc803 -/* 053674 80058C14 54C6043E */ clrlwi r6, r6, 0x10 -/* 053678 80058C18 7C843214 */ add r4, r4, r6 -/* 05367C 80058C1C 54A5103A */ slwi r5, r5, 2 -/* 053680 80058C20 7C9F292E */ stwx r4, r31, r5 -/* 053684 80058C24 48000010 */ b lbl_80058C34 -lbl_80058C28: -/* 053688 80058C28 80810084 */ lwz r4, 0x84(r1) -/* 05368C 80058C2C 38840001 */ addi r4, r4, 1 -/* 053690 80058C30 90810084 */ stw r4, 0x84(r1) -lbl_80058C34: -/* 053694 80058C34 281F0000 */ cmplwi r31, 0 -/* 053698 80058C38 4182002C */ beq lbl_80058C64 -/* 05369C 80058C3C 80810084 */ lwz r4, 0x84(r1) -/* 0536A0 80058C40 5400801E */ slwi r0, r0, 0x10 -/* 0536A4 80058C44 6400FC00 */ oris r0, r0, 0xfc00 -/* 0536A8 80058C48 38A40001 */ addi r5, r4, 1 -/* 0536AC 80058C4C 54635828 */ slwi r3, r3, 0xb -/* 0536B0 80058C50 90A10084 */ stw r5, 0x84(r1) -/* 0536B4 80058C54 7C001B78 */ or r0, r0, r3 -/* 0536B8 80058C58 5483103A */ slwi r3, r4, 2 -/* 0536BC 80058C5C 7C1F192E */ stwx r0, r31, r3 -/* 0536C0 80058C60 48000010 */ b lbl_80058C70 -lbl_80058C64: -/* 0536C4 80058C64 80610084 */ lwz r3, 0x84(r1) -/* 0536C8 80058C68 38030001 */ addi r0, r3, 1 -/* 0536CC 80058C6C 90010084 */ stw r0, 0x84(r1) -lbl_80058C70: -/* 0536D0 80058C70 281F0000 */ cmplwi r31, 0 -/* 0536D4 80058C74 41820024 */ beq lbl_80058C98 -/* 0536D8 80058C78 80610084 */ lwz r3, 0x84(r1) -/* 0536DC 80058C7C 3C804082 */ lis r4, 0x4082 -/* 0536E0 80058C80 3884000C */ addi r4, r4, 0xc -/* 0536E4 80058C84 38030001 */ addi r0, r3, 1 -/* 0536E8 80058C88 90010084 */ stw r0, 0x84(r1) -/* 0536EC 80058C8C 5460103A */ slwi r0, r3, 2 -/* 0536F0 80058C90 7C9F012E */ stwx r4, r31, r0 -/* 0536F4 80058C94 48000010 */ b lbl_80058CA4 -lbl_80058C98: -/* 0536F8 80058C98 80610084 */ lwz r3, 0x84(r1) -/* 0536FC 80058C9C 38030001 */ addi r0, r3, 1 -/* 053700 80058CA0 90010084 */ stw r0, 0x84(r1) -lbl_80058CA4: -/* 053704 80058CA4 281F0000 */ cmplwi r31, 0 -/* 053708 80058CA8 41820024 */ beq lbl_80058CCC -/* 05370C 80058CAC 80610084 */ lwz r3, 0x84(r1) -/* 053710 80058CB0 3C8064A5 */ lis r4, 0x64a5 -/* 053714 80058CB4 38840080 */ addi r4, r4, 0x80 -/* 053718 80058CB8 38030001 */ addi r0, r3, 1 -/* 05371C 80058CBC 90010084 */ stw r0, 0x84(r1) -/* 053720 80058CC0 5460103A */ slwi r0, r3, 2 -/* 053724 80058CC4 7C9F012E */ stwx r4, r31, r0 -/* 053728 80058CC8 48000010 */ b lbl_80058CD8 -lbl_80058CCC: -/* 05372C 80058CCC 80610084 */ lwz r3, 0x84(r1) -/* 053730 80058CD0 38030001 */ addi r0, r3, 1 -/* 053734 80058CD4 90010084 */ stw r0, 0x84(r1) -lbl_80058CD8: -/* 053738 80058CD8 281F0000 */ cmplwi r31, 0 -/* 05373C 80058CDC 41820024 */ beq lbl_80058D00 -/* 053740 80058CE0 80610084 */ lwz r3, 0x84(r1) -/* 053744 80058CE4 3C804280 */ lis r4, 0x4280 -/* 053748 80058CE8 38840008 */ addi r4, r4, 8 -/* 05374C 80058CEC 38030001 */ addi r0, r3, 1 -/* 053750 80058CF0 90010084 */ stw r0, 0x84(r1) -/* 053754 80058CF4 5460103A */ slwi r0, r3, 2 -/* 053758 80058CF8 7C9F012E */ stwx r4, r31, r0 -/* 05375C 80058CFC 48000010 */ b lbl_80058D0C -lbl_80058D00: -/* 053760 80058D00 80610084 */ lwz r3, 0x84(r1) -/* 053764 80058D04 38030001 */ addi r0, r3, 1 -/* 053768 80058D08 90010084 */ stw r0, 0x84(r1) -lbl_80058D0C: -/* 05376C 80058D0C 281F0000 */ cmplwi r31, 0 -/* 053770 80058D10 41820024 */ beq lbl_80058D34 -/* 053774 80058D14 80610084 */ lwz r3, 0x84(r1) -/* 053778 80058D18 3C8054A5 */ lis r4, 0x54a5 -/* 05377C 80058D1C 3884024E */ addi r4, r4, 0x24e -/* 053780 80058D20 38030001 */ addi r0, r3, 1 -/* 053784 80058D24 90010084 */ stw r0, 0x84(r1) -/* 053788 80058D28 5460103A */ slwi r0, r3, 2 -/* 05378C 80058D2C 7C9F012E */ stwx r4, r31, r0 -/* 053790 80058D30 48000010 */ b lbl_80058D40 -lbl_80058D34: -/* 053794 80058D34 80610084 */ lwz r3, 0x84(r1) -/* 053798 80058D38 38030001 */ addi r0, r3, 1 -/* 05379C 80058D3C 90010084 */ stw r0, 0x84(r1) -lbl_80058D40: -/* 0537A0 80058D40 281F0000 */ cmplwi r31, 0 -/* 0537A4 80058D44 41820028 */ beq lbl_80058D6C -/* 0537A8 80058D48 80610084 */ lwz r3, 0x84(r1) -/* 0537AC 80058D4C 381E0A3C */ addi r0, r30, 0xa3c -/* 0537B0 80058D50 7C9E0050 */ subf r4, r30, r0 -/* 0537B4 80058D54 38030001 */ addi r0, r3, 1 -/* 0537B8 80058D58 90010084 */ stw r0, 0x84(r1) -/* 0537BC 80058D5C 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0537C0 80058D60 5463103A */ slwi r3, r3, 2 -/* 0537C4 80058D64 7C1F192E */ stwx r0, r31, r3 -/* 0537C8 80058D68 4800F1CC */ b lbl_80067F34 -lbl_80058D6C: -/* 0537CC 80058D6C 80610084 */ lwz r3, 0x84(r1) -/* 0537D0 80058D70 38030001 */ addi r0, r3, 1 -/* 0537D4 80058D74 90010084 */ stw r0, 0x84(r1) -/* 0537D8 80058D78 4800F1BC */ b lbl_80067F34 -.global lbl_80058D7C -lbl_80058D7C: -/* 0537DC 80058D7C 281F0000 */ cmplwi r31, 0 -/* 0537E0 80058D80 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 0537E4 80058D84 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 0537E8 80058D88 41820028 */ beq lbl_80058DB0 -/* 0537EC 80058D8C 80810084 */ lwz r4, 0x84(r1) -/* 0537F0 80058D90 38BE0A3C */ addi r5, r30, 0xa3c -/* 0537F4 80058D94 7CBE2850 */ subf r5, r30, r5 -/* 0537F8 80058D98 38C40001 */ addi r6, r4, 1 -/* 0537FC 80058D9C 90C10084 */ stw r6, 0x84(r1) -/* 053800 80058DA0 3CA580A3 */ addis r5, r5, 0x80a3 -/* 053804 80058DA4 5484103A */ slwi r4, r4, 2 -/* 053808 80058DA8 7CBF212E */ stwx r5, r31, r4 -/* 05380C 80058DAC 48000010 */ b lbl_80058DBC -lbl_80058DB0: -/* 053810 80058DB0 80810084 */ lwz r4, 0x84(r1) -/* 053814 80058DB4 38840001 */ addi r4, r4, 1 -/* 053818 80058DB8 90810084 */ stw r4, 0x84(r1) -lbl_80058DBC: -/* 05381C 80058DBC 3C9E0001 */ addis r4, r30, 1 -/* 053820 80058DC0 80A42064 */ lwz r5, 0x2064(r4) -/* 053824 80058DC4 28050000 */ cmplwi r5, 0 -/* 053828 80058DC8 4082000C */ bne lbl_80058DD4 -/* 05382C 80058DCC 38A00000 */ li r5, 0 -/* 053830 80058DD0 48000094 */ b lbl_80058E64 -lbl_80058DD4: -/* 053834 80058DD4 80A42074 */ lwz r5, 0x2074(r4) -/* 053838 80058DD8 28050000 */ cmplwi r5, 0 -/* 05383C 80058DDC 4082000C */ bne lbl_80058DE8 -/* 053840 80058DE0 38A00000 */ li r5, 0 -/* 053844 80058DE4 48000080 */ b lbl_80058E64 -lbl_80058DE8: -/* 053848 80058DE8 80842078 */ lwz r4, 0x2078(r4) -/* 05384C 80058DEC 7C002000 */ cmpw r0, r4 -/* 053850 80058DF0 4182000C */ beq lbl_80058DFC -/* 053854 80058DF4 38A00000 */ li r5, 0 -/* 053858 80058DF8 4800006C */ b lbl_80058E64 -lbl_80058DFC: -/* 05385C 80058DFC 80DE0034 */ lwz r6, 0x34(r30) -/* 053860 80058E00 38A00000 */ li r5, 0 -/* 053864 80058E04 80860008 */ lwz r4, 8(r6) -/* 053868 80058E08 2C040000 */ cmpwi r4, 0 -/* 05386C 80058E0C 7C8903A6 */ mtctr r4 -/* 053870 80058E10 40810028 */ ble lbl_80058E38 -lbl_80058E14: -/* 053874 80058E14 8086000C */ lwz r4, 0xc(r6) -/* 053878 80058E18 38E50004 */ addi r7, r5, 4 -/* 05387C 80058E1C 7C84382E */ lwzx r4, r4, r7 -/* 053880 80058E20 7C1D2000 */ cmpw r29, r4 -/* 053884 80058E24 4082000C */ bne lbl_80058E30 -/* 053888 80058E28 38800000 */ li r4, 0 -/* 05388C 80058E2C 48000010 */ b lbl_80058E3C -lbl_80058E30: -/* 053890 80058E30 38A50008 */ addi r5, r5, 8 -/* 053894 80058E34 4200FFE0 */ bdnz lbl_80058E14 -lbl_80058E38: -/* 053898 80058E38 38800001 */ li r4, 1 -lbl_80058E3C: -/* 05389C 80058E3C 2C040000 */ cmpwi r4, 0 -/* 0538A0 80058E40 40820014 */ bne lbl_80058E54 -/* 0538A4 80058E44 38A00000 */ li r5, 0 -/* 0538A8 80058E48 3C9E0001 */ addis r4, r30, 1 -/* 0538AC 80058E4C 90A42074 */ stw r5, 0x2074(r4) -/* 0538B0 80058E50 48000014 */ b lbl_80058E64 -lbl_80058E54: -/* 0538B4 80058E54 3C9E0001 */ addis r4, r30, 1 -/* 0538B8 80058E58 38A00000 */ li r5, 0 -/* 0538BC 80058E5C 90A42074 */ stw r5, 0x2074(r4) -/* 0538C0 80058E60 38A00001 */ li r5, 1 -lbl_80058E64: -/* 0538C4 80058E64 2C050000 */ cmpwi r5, 0 -/* 0538C8 80058E68 41820038 */ beq lbl_80058EA0 -/* 0538CC 80058E6C 281F0000 */ cmplwi r31, 0 -/* 0538D0 80058E70 41820020 */ beq lbl_80058E90 -/* 0538D4 80058E74 80A10084 */ lwz r5, 0x84(r1) -/* 0538D8 80058E78 3CC06000 */ lis r6, 0x6000 -/* 0538DC 80058E7C 38850001 */ addi r4, r5, 1 -/* 0538E0 80058E80 90810084 */ stw r4, 0x84(r1) -/* 0538E4 80058E84 54A4103A */ slwi r4, r5, 2 -/* 0538E8 80058E88 7CDF212E */ stwx r6, r31, r4 -/* 0538EC 80058E8C 48000060 */ b lbl_80058EEC -lbl_80058E90: -/* 0538F0 80058E90 80810084 */ lwz r4, 0x84(r1) -/* 0538F4 80058E94 38840001 */ addi r4, r4, 1 -/* 0538F8 80058E98 90810084 */ stw r4, 0x84(r1) -/* 0538FC 80058E9C 48000050 */ b lbl_80058EEC -lbl_80058EA0: -/* 053900 80058EA0 281F0000 */ cmplwi r31, 0 -/* 053904 80058EA4 4182003C */ beq lbl_80058EE0 -/* 053908 80058EA8 54041838 */ slwi r4, r0, 3 -/* 05390C 80058EAC 80A10084 */ lwz r5, 0x84(r1) -/* 053910 80058EB0 38840140 */ addi r4, r4, 0x140 -/* 053914 80058EB4 7C9E2214 */ add r4, r30, r4 -/* 053918 80058EB8 5407A814 */ slwi r7, r0, 0x15 -/* 05391C 80058EBC 7CDE2050 */ subf r6, r30, r4 -/* 053920 80058EC0 38850001 */ addi r4, r5, 1 -/* 053924 80058EC4 90810084 */ stw r4, 0x84(r1) -/* 053928 80058EC8 64E4C803 */ oris r4, r7, 0xc803 -/* 05392C 80058ECC 54C6043E */ clrlwi r6, r6, 0x10 -/* 053930 80058ED0 7C843214 */ add r4, r4, r6 -/* 053934 80058ED4 54A5103A */ slwi r5, r5, 2 -/* 053938 80058ED8 7C9F292E */ stwx r4, r31, r5 -/* 05393C 80058EDC 48000010 */ b lbl_80058EEC -lbl_80058EE0: -/* 053940 80058EE0 80810084 */ lwz r4, 0x84(r1) -/* 053944 80058EE4 38840001 */ addi r4, r4, 1 -/* 053948 80058EE8 90810084 */ stw r4, 0x84(r1) -lbl_80058EEC: -/* 05394C 80058EEC 3C9E0001 */ addis r4, r30, 1 -/* 053950 80058EF0 80A42064 */ lwz r5, 0x2064(r4) -/* 053954 80058EF4 28050000 */ cmplwi r5, 0 -/* 053958 80058EF8 4082000C */ bne lbl_80058F04 -/* 05395C 80058EFC 38A00000 */ li r5, 0 -/* 053960 80058F00 48000094 */ b lbl_80058F94 -lbl_80058F04: -/* 053964 80058F04 80A42074 */ lwz r5, 0x2074(r4) -/* 053968 80058F08 28050000 */ cmplwi r5, 0 -/* 05396C 80058F0C 4082000C */ bne lbl_80058F18 -/* 053970 80058F10 38A00000 */ li r5, 0 -/* 053974 80058F14 48000080 */ b lbl_80058F94 -lbl_80058F18: -/* 053978 80058F18 80842078 */ lwz r4, 0x2078(r4) -/* 05397C 80058F1C 7C032000 */ cmpw r3, r4 -/* 053980 80058F20 4182000C */ beq lbl_80058F2C -/* 053984 80058F24 38A00000 */ li r5, 0 -/* 053988 80058F28 4800006C */ b lbl_80058F94 -lbl_80058F2C: -/* 05398C 80058F2C 80DE0034 */ lwz r6, 0x34(r30) -/* 053990 80058F30 38A00000 */ li r5, 0 -/* 053994 80058F34 80860008 */ lwz r4, 8(r6) -/* 053998 80058F38 2C040000 */ cmpwi r4, 0 -/* 05399C 80058F3C 7C8903A6 */ mtctr r4 -/* 0539A0 80058F40 40810028 */ ble lbl_80058F68 -lbl_80058F44: -/* 0539A4 80058F44 8086000C */ lwz r4, 0xc(r6) -/* 0539A8 80058F48 38E50004 */ addi r7, r5, 4 -/* 0539AC 80058F4C 7C84382E */ lwzx r4, r4, r7 -/* 0539B0 80058F50 7C1D2000 */ cmpw r29, r4 -/* 0539B4 80058F54 4082000C */ bne lbl_80058F60 -/* 0539B8 80058F58 38800000 */ li r4, 0 -/* 0539BC 80058F5C 48000010 */ b lbl_80058F6C -lbl_80058F60: -/* 0539C0 80058F60 38A50008 */ addi r5, r5, 8 -/* 0539C4 80058F64 4200FFE0 */ bdnz lbl_80058F44 -lbl_80058F68: -/* 0539C8 80058F68 38800001 */ li r4, 1 -lbl_80058F6C: -/* 0539CC 80058F6C 2C040000 */ cmpwi r4, 0 -/* 0539D0 80058F70 40820014 */ bne lbl_80058F84 -/* 0539D4 80058F74 38A00000 */ li r5, 0 -/* 0539D8 80058F78 3C9E0001 */ addis r4, r30, 1 -/* 0539DC 80058F7C 90A42074 */ stw r5, 0x2074(r4) -/* 0539E0 80058F80 48000014 */ b lbl_80058F94 -lbl_80058F84: -/* 0539E4 80058F84 3C9E0001 */ addis r4, r30, 1 -/* 0539E8 80058F88 38A00000 */ li r5, 0 -/* 0539EC 80058F8C 90A42074 */ stw r5, 0x2074(r4) -/* 0539F0 80058F90 38A00001 */ li r5, 1 -lbl_80058F94: -/* 0539F4 80058F94 2C050000 */ cmpwi r5, 0 -/* 0539F8 80058F98 41820038 */ beq lbl_80058FD0 -/* 0539FC 80058F9C 281F0000 */ cmplwi r31, 0 -/* 053A00 80058FA0 41820020 */ beq lbl_80058FC0 -/* 053A04 80058FA4 80A10084 */ lwz r5, 0x84(r1) -/* 053A08 80058FA8 3CC06000 */ lis r6, 0x6000 -/* 053A0C 80058FAC 38850001 */ addi r4, r5, 1 -/* 053A10 80058FB0 90810084 */ stw r4, 0x84(r1) -/* 053A14 80058FB4 54A4103A */ slwi r4, r5, 2 -/* 053A18 80058FB8 7CDF212E */ stwx r6, r31, r4 -/* 053A1C 80058FBC 48000060 */ b lbl_8005901C -lbl_80058FC0: -/* 053A20 80058FC0 80810084 */ lwz r4, 0x84(r1) -/* 053A24 80058FC4 38840001 */ addi r4, r4, 1 -/* 053A28 80058FC8 90810084 */ stw r4, 0x84(r1) -/* 053A2C 80058FCC 48000050 */ b lbl_8005901C -lbl_80058FD0: -/* 053A30 80058FD0 281F0000 */ cmplwi r31, 0 -/* 053A34 80058FD4 4182003C */ beq lbl_80059010 -/* 053A38 80058FD8 54641838 */ slwi r4, r3, 3 -/* 053A3C 80058FDC 80A10084 */ lwz r5, 0x84(r1) -/* 053A40 80058FE0 38840140 */ addi r4, r4, 0x140 -/* 053A44 80058FE4 7C9E2214 */ add r4, r30, r4 -/* 053A48 80058FE8 5467A814 */ slwi r7, r3, 0x15 -/* 053A4C 80058FEC 7CDE2050 */ subf r6, r30, r4 -/* 053A50 80058FF0 38850001 */ addi r4, r5, 1 -/* 053A54 80058FF4 90810084 */ stw r4, 0x84(r1) -/* 053A58 80058FF8 64E4C803 */ oris r4, r7, 0xc803 -/* 053A5C 80058FFC 54C6043E */ clrlwi r6, r6, 0x10 -/* 053A60 80059000 7C843214 */ add r4, r4, r6 -/* 053A64 80059004 54A5103A */ slwi r5, r5, 2 -/* 053A68 80059008 7C9F292E */ stwx r4, r31, r5 -/* 053A6C 8005900C 48000010 */ b lbl_8005901C -lbl_80059010: -/* 053A70 80059010 80810084 */ lwz r4, 0x84(r1) -/* 053A74 80059014 38840001 */ addi r4, r4, 1 -/* 053A78 80059018 90810084 */ stw r4, 0x84(r1) -lbl_8005901C: -/* 053A7C 8005901C 281F0000 */ cmplwi r31, 0 -/* 053A80 80059020 41820030 */ beq lbl_80059050 -/* 053A84 80059024 80810084 */ lwz r4, 0x84(r1) -/* 053A88 80059028 5400801E */ slwi r0, r0, 0x10 -/* 053A8C 8005902C 6405FC00 */ oris r5, r0, 0xfc00 -/* 053A90 80059030 38040001 */ addi r0, r4, 1 -/* 053A94 80059034 90010084 */ stw r0, 0x84(r1) -/* 053A98 80059038 60A50040 */ ori r5, r5, 0x40 -/* 053A9C 8005903C 54605828 */ slwi r0, r3, 0xb -/* 053AA0 80059040 7CA00378 */ or r0, r5, r0 -/* 053AA4 80059044 5483103A */ slwi r3, r4, 2 -/* 053AA8 80059048 7C1F192E */ stwx r0, r31, r3 -/* 053AAC 8005904C 48000010 */ b lbl_8005905C -lbl_80059050: -/* 053AB0 80059050 80610084 */ lwz r3, 0x84(r1) -/* 053AB4 80059054 38030001 */ addi r0, r3, 1 -/* 053AB8 80059058 90010084 */ stw r0, 0x84(r1) -lbl_8005905C: -/* 053ABC 8005905C 281F0000 */ cmplwi r31, 0 -/* 053AC0 80059060 41820024 */ beq lbl_80059084 -/* 053AC4 80059064 80610084 */ lwz r3, 0x84(r1) -/* 053AC8 80059068 3C804080 */ lis r4, 0x4080 -/* 053ACC 8005906C 3884000C */ addi r4, r4, 0xc -/* 053AD0 80059070 38030001 */ addi r0, r3, 1 -/* 053AD4 80059074 90010084 */ stw r0, 0x84(r1) -/* 053AD8 80059078 5460103A */ slwi r0, r3, 2 -/* 053ADC 8005907C 7C9F012E */ stwx r4, r31, r0 -/* 053AE0 80059080 48000010 */ b lbl_80059090 -lbl_80059084: -/* 053AE4 80059084 80610084 */ lwz r3, 0x84(r1) -/* 053AE8 80059088 38030001 */ addi r0, r3, 1 -/* 053AEC 8005908C 90010084 */ stw r0, 0x84(r1) -lbl_80059090: -/* 053AF0 80059090 281F0000 */ cmplwi r31, 0 -/* 053AF4 80059094 41820024 */ beq lbl_800590B8 -/* 053AF8 80059098 80610084 */ lwz r3, 0x84(r1) -/* 053AFC 8005909C 3C8064A5 */ lis r4, 0x64a5 -/* 053B00 800590A0 38840080 */ addi r4, r4, 0x80 -/* 053B04 800590A4 38030001 */ addi r0, r3, 1 -/* 053B08 800590A8 90010084 */ stw r0, 0x84(r1) -/* 053B0C 800590AC 5460103A */ slwi r0, r3, 2 -/* 053B10 800590B0 7C9F012E */ stwx r4, r31, r0 -/* 053B14 800590B4 48000010 */ b lbl_800590C4 -lbl_800590B8: -/* 053B18 800590B8 80610084 */ lwz r3, 0x84(r1) -/* 053B1C 800590BC 38030001 */ addi r0, r3, 1 -/* 053B20 800590C0 90010084 */ stw r0, 0x84(r1) -lbl_800590C4: -/* 053B24 800590C4 281F0000 */ cmplwi r31, 0 -/* 053B28 800590C8 41820024 */ beq lbl_800590EC -/* 053B2C 800590CC 80610084 */ lwz r3, 0x84(r1) -/* 053B30 800590D0 3C804280 */ lis r4, 0x4280 -/* 053B34 800590D4 38840008 */ addi r4, r4, 8 -/* 053B38 800590D8 38030001 */ addi r0, r3, 1 -/* 053B3C 800590DC 90010084 */ stw r0, 0x84(r1) -/* 053B40 800590E0 5460103A */ slwi r0, r3, 2 -/* 053B44 800590E4 7C9F012E */ stwx r4, r31, r0 -/* 053B48 800590E8 48000010 */ b lbl_800590F8 -lbl_800590EC: -/* 053B4C 800590EC 80610084 */ lwz r3, 0x84(r1) -/* 053B50 800590F0 38030001 */ addi r0, r3, 1 -/* 053B54 800590F4 90010084 */ stw r0, 0x84(r1) -lbl_800590F8: -/* 053B58 800590F8 281F0000 */ cmplwi r31, 0 -/* 053B5C 800590FC 41820024 */ beq lbl_80059120 -/* 053B60 80059100 80610084 */ lwz r3, 0x84(r1) -/* 053B64 80059104 3C8054A5 */ lis r4, 0x54a5 -/* 053B68 80059108 3884024E */ addi r4, r4, 0x24e -/* 053B6C 8005910C 38030001 */ addi r0, r3, 1 -/* 053B70 80059110 90010084 */ stw r0, 0x84(r1) -/* 053B74 80059114 5460103A */ slwi r0, r3, 2 -/* 053B78 80059118 7C9F012E */ stwx r4, r31, r0 -/* 053B7C 8005911C 48000010 */ b lbl_8005912C -lbl_80059120: -/* 053B80 80059120 80610084 */ lwz r3, 0x84(r1) -/* 053B84 80059124 38030001 */ addi r0, r3, 1 -/* 053B88 80059128 90010084 */ stw r0, 0x84(r1) -lbl_8005912C: -/* 053B8C 8005912C 281F0000 */ cmplwi r31, 0 -/* 053B90 80059130 41820028 */ beq lbl_80059158 -/* 053B94 80059134 80610084 */ lwz r3, 0x84(r1) -/* 053B98 80059138 381E0A3C */ addi r0, r30, 0xa3c -/* 053B9C 8005913C 7C9E0050 */ subf r4, r30, r0 -/* 053BA0 80059140 38030001 */ addi r0, r3, 1 -/* 053BA4 80059144 90010084 */ stw r0, 0x84(r1) -/* 053BA8 80059148 3C0490A3 */ addis r0, r4, 0x90a3 -/* 053BAC 8005914C 5463103A */ slwi r3, r3, 2 -/* 053BB0 80059150 7C1F192E */ stwx r0, r31, r3 -/* 053BB4 80059154 4800EDE0 */ b lbl_80067F34 -lbl_80059158: -/* 053BB8 80059158 80610084 */ lwz r3, 0x84(r1) -/* 053BBC 8005915C 38030001 */ addi r0, r3, 1 -/* 053BC0 80059160 90010084 */ stw r0, 0x84(r1) -/* 053BC4 80059164 4800EDD0 */ b lbl_80067F34 -.global lbl_80059168 -lbl_80059168: -/* 053BC8 80059168 281F0000 */ cmplwi r31, 0 -/* 053BCC 8005916C 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 053BD0 80059170 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 053BD4 80059174 41820028 */ beq lbl_8005919C -/* 053BD8 80059178 80810084 */ lwz r4, 0x84(r1) -/* 053BDC 8005917C 38BE0A3C */ addi r5, r30, 0xa3c -/* 053BE0 80059180 7CBE2850 */ subf r5, r30, r5 -/* 053BE4 80059184 38C40001 */ addi r6, r4, 1 -/* 053BE8 80059188 90C10084 */ stw r6, 0x84(r1) -/* 053BEC 8005918C 3CA580A3 */ addis r5, r5, 0x80a3 -/* 053BF0 80059190 5484103A */ slwi r4, r4, 2 -/* 053BF4 80059194 7CBF212E */ stwx r5, r31, r4 -/* 053BF8 80059198 48000010 */ b lbl_800591A8 -lbl_8005919C: -/* 053BFC 8005919C 80810084 */ lwz r4, 0x84(r1) -/* 053C00 800591A0 38840001 */ addi r4, r4, 1 -/* 053C04 800591A4 90810084 */ stw r4, 0x84(r1) -lbl_800591A8: -/* 053C08 800591A8 3C9E0001 */ addis r4, r30, 1 -/* 053C0C 800591AC 80A42064 */ lwz r5, 0x2064(r4) -/* 053C10 800591B0 28050000 */ cmplwi r5, 0 -/* 053C14 800591B4 4082000C */ bne lbl_800591C0 -/* 053C18 800591B8 38A00000 */ li r5, 0 -/* 053C1C 800591BC 48000094 */ b lbl_80059250 -lbl_800591C0: -/* 053C20 800591C0 80A42074 */ lwz r5, 0x2074(r4) -/* 053C24 800591C4 28050000 */ cmplwi r5, 0 -/* 053C28 800591C8 4082000C */ bne lbl_800591D4 -/* 053C2C 800591CC 38A00000 */ li r5, 0 -/* 053C30 800591D0 48000080 */ b lbl_80059250 -lbl_800591D4: -/* 053C34 800591D4 80842078 */ lwz r4, 0x2078(r4) -/* 053C38 800591D8 7C002000 */ cmpw r0, r4 -/* 053C3C 800591DC 4182000C */ beq lbl_800591E8 -/* 053C40 800591E0 38A00000 */ li r5, 0 -/* 053C44 800591E4 4800006C */ b lbl_80059250 -lbl_800591E8: -/* 053C48 800591E8 80DE0034 */ lwz r6, 0x34(r30) -/* 053C4C 800591EC 38A00000 */ li r5, 0 -/* 053C50 800591F0 80860008 */ lwz r4, 8(r6) -/* 053C54 800591F4 2C040000 */ cmpwi r4, 0 -/* 053C58 800591F8 7C8903A6 */ mtctr r4 -/* 053C5C 800591FC 40810028 */ ble lbl_80059224 -lbl_80059200: -/* 053C60 80059200 8086000C */ lwz r4, 0xc(r6) -/* 053C64 80059204 38E50004 */ addi r7, r5, 4 -/* 053C68 80059208 7C84382E */ lwzx r4, r4, r7 -/* 053C6C 8005920C 7C1D2000 */ cmpw r29, r4 -/* 053C70 80059210 4082000C */ bne lbl_8005921C -/* 053C74 80059214 38800000 */ li r4, 0 -/* 053C78 80059218 48000010 */ b lbl_80059228 -lbl_8005921C: -/* 053C7C 8005921C 38A50008 */ addi r5, r5, 8 -/* 053C80 80059220 4200FFE0 */ bdnz lbl_80059200 -lbl_80059224: -/* 053C84 80059224 38800001 */ li r4, 1 -lbl_80059228: -/* 053C88 80059228 2C040000 */ cmpwi r4, 0 -/* 053C8C 8005922C 40820014 */ bne lbl_80059240 -/* 053C90 80059230 38A00000 */ li r5, 0 -/* 053C94 80059234 3C9E0001 */ addis r4, r30, 1 -/* 053C98 80059238 90A42074 */ stw r5, 0x2074(r4) -/* 053C9C 8005923C 48000014 */ b lbl_80059250 -lbl_80059240: -/* 053CA0 80059240 3C9E0001 */ addis r4, r30, 1 -/* 053CA4 80059244 38A00000 */ li r5, 0 -/* 053CA8 80059248 90A42074 */ stw r5, 0x2074(r4) -/* 053CAC 8005924C 38A00001 */ li r5, 1 -lbl_80059250: -/* 053CB0 80059250 2C050000 */ cmpwi r5, 0 -/* 053CB4 80059254 41820038 */ beq lbl_8005928C -/* 053CB8 80059258 281F0000 */ cmplwi r31, 0 -/* 053CBC 8005925C 41820020 */ beq lbl_8005927C -/* 053CC0 80059260 80A10084 */ lwz r5, 0x84(r1) -/* 053CC4 80059264 3CC06000 */ lis r6, 0x6000 -/* 053CC8 80059268 38850001 */ addi r4, r5, 1 -/* 053CCC 8005926C 90810084 */ stw r4, 0x84(r1) -/* 053CD0 80059270 54A4103A */ slwi r4, r5, 2 -/* 053CD4 80059274 7CDF212E */ stwx r6, r31, r4 -/* 053CD8 80059278 48000060 */ b lbl_800592D8 -lbl_8005927C: -/* 053CDC 8005927C 80810084 */ lwz r4, 0x84(r1) -/* 053CE0 80059280 38840001 */ addi r4, r4, 1 -/* 053CE4 80059284 90810084 */ stw r4, 0x84(r1) -/* 053CE8 80059288 48000050 */ b lbl_800592D8 -lbl_8005928C: -/* 053CEC 8005928C 281F0000 */ cmplwi r31, 0 -/* 053CF0 80059290 4182003C */ beq lbl_800592CC -/* 053CF4 80059294 54041838 */ slwi r4, r0, 3 -/* 053CF8 80059298 80A10084 */ lwz r5, 0x84(r1) -/* 053CFC 8005929C 38840140 */ addi r4, r4, 0x140 -/* 053D00 800592A0 7C9E2214 */ add r4, r30, r4 -/* 053D04 800592A4 5407A814 */ slwi r7, r0, 0x15 -/* 053D08 800592A8 7CDE2050 */ subf r6, r30, r4 -/* 053D0C 800592AC 38850001 */ addi r4, r5, 1 -/* 053D10 800592B0 90810084 */ stw r4, 0x84(r1) -/* 053D14 800592B4 64E4C803 */ oris r4, r7, 0xc803 -/* 053D18 800592B8 54C6043E */ clrlwi r6, r6, 0x10 -/* 053D1C 800592BC 7C843214 */ add r4, r4, r6 -/* 053D20 800592C0 54A5103A */ slwi r5, r5, 2 -/* 053D24 800592C4 7C9F292E */ stwx r4, r31, r5 -/* 053D28 800592C8 48000010 */ b lbl_800592D8 -lbl_800592CC: -/* 053D2C 800592CC 80810084 */ lwz r4, 0x84(r1) -/* 053D30 800592D0 38840001 */ addi r4, r4, 1 -/* 053D34 800592D4 90810084 */ stw r4, 0x84(r1) -lbl_800592D8: -/* 053D38 800592D8 3C9E0001 */ addis r4, r30, 1 -/* 053D3C 800592DC 80A42064 */ lwz r5, 0x2064(r4) -/* 053D40 800592E0 28050000 */ cmplwi r5, 0 -/* 053D44 800592E4 4082000C */ bne lbl_800592F0 -/* 053D48 800592E8 38A00000 */ li r5, 0 -/* 053D4C 800592EC 48000094 */ b lbl_80059380 -lbl_800592F0: -/* 053D50 800592F0 80A42074 */ lwz r5, 0x2074(r4) -/* 053D54 800592F4 28050000 */ cmplwi r5, 0 -/* 053D58 800592F8 4082000C */ bne lbl_80059304 -/* 053D5C 800592FC 38A00000 */ li r5, 0 -/* 053D60 80059300 48000080 */ b lbl_80059380 -lbl_80059304: -/* 053D64 80059304 80842078 */ lwz r4, 0x2078(r4) -/* 053D68 80059308 7C032000 */ cmpw r3, r4 -/* 053D6C 8005930C 4182000C */ beq lbl_80059318 -/* 053D70 80059310 38A00000 */ li r5, 0 -/* 053D74 80059314 4800006C */ b lbl_80059380 -lbl_80059318: -/* 053D78 80059318 80DE0034 */ lwz r6, 0x34(r30) -/* 053D7C 8005931C 38A00000 */ li r5, 0 -/* 053D80 80059320 80860008 */ lwz r4, 8(r6) -/* 053D84 80059324 2C040000 */ cmpwi r4, 0 -/* 053D88 80059328 7C8903A6 */ mtctr r4 -/* 053D8C 8005932C 40810028 */ ble lbl_80059354 -lbl_80059330: -/* 053D90 80059330 8086000C */ lwz r4, 0xc(r6) -/* 053D94 80059334 38E50004 */ addi r7, r5, 4 -/* 053D98 80059338 7C84382E */ lwzx r4, r4, r7 -/* 053D9C 8005933C 7C1D2000 */ cmpw r29, r4 -/* 053DA0 80059340 4082000C */ bne lbl_8005934C -/* 053DA4 80059344 38800000 */ li r4, 0 -/* 053DA8 80059348 48000010 */ b lbl_80059358 -lbl_8005934C: -/* 053DAC 8005934C 38A50008 */ addi r5, r5, 8 -/* 053DB0 80059350 4200FFE0 */ bdnz lbl_80059330 -lbl_80059354: -/* 053DB4 80059354 38800001 */ li r4, 1 -lbl_80059358: -/* 053DB8 80059358 2C040000 */ cmpwi r4, 0 -/* 053DBC 8005935C 40820014 */ bne lbl_80059370 -/* 053DC0 80059360 38A00000 */ li r5, 0 -/* 053DC4 80059364 3C9E0001 */ addis r4, r30, 1 -/* 053DC8 80059368 90A42074 */ stw r5, 0x2074(r4) -/* 053DCC 8005936C 48000014 */ b lbl_80059380 -lbl_80059370: -/* 053DD0 80059370 3C9E0001 */ addis r4, r30, 1 -/* 053DD4 80059374 38A00000 */ li r5, 0 -/* 053DD8 80059378 90A42074 */ stw r5, 0x2074(r4) -/* 053DDC 8005937C 38A00001 */ li r5, 1 -lbl_80059380: -/* 053DE0 80059380 2C050000 */ cmpwi r5, 0 -/* 053DE4 80059384 41820038 */ beq lbl_800593BC -/* 053DE8 80059388 281F0000 */ cmplwi r31, 0 -/* 053DEC 8005938C 41820020 */ beq lbl_800593AC -/* 053DF0 80059390 80A10084 */ lwz r5, 0x84(r1) -/* 053DF4 80059394 3CC06000 */ lis r6, 0x6000 -/* 053DF8 80059398 38850001 */ addi r4, r5, 1 -/* 053DFC 8005939C 90810084 */ stw r4, 0x84(r1) -/* 053E00 800593A0 54A4103A */ slwi r4, r5, 2 -/* 053E04 800593A4 7CDF212E */ stwx r6, r31, r4 -/* 053E08 800593A8 48000060 */ b lbl_80059408 -lbl_800593AC: -/* 053E0C 800593AC 80810084 */ lwz r4, 0x84(r1) -/* 053E10 800593B0 38840001 */ addi r4, r4, 1 -/* 053E14 800593B4 90810084 */ stw r4, 0x84(r1) -/* 053E18 800593B8 48000050 */ b lbl_80059408 -lbl_800593BC: -/* 053E1C 800593BC 281F0000 */ cmplwi r31, 0 -/* 053E20 800593C0 4182003C */ beq lbl_800593FC -/* 053E24 800593C4 54641838 */ slwi r4, r3, 3 -/* 053E28 800593C8 80A10084 */ lwz r5, 0x84(r1) -/* 053E2C 800593CC 38840140 */ addi r4, r4, 0x140 -/* 053E30 800593D0 7C9E2214 */ add r4, r30, r4 -/* 053E34 800593D4 5467A814 */ slwi r7, r3, 0x15 -/* 053E38 800593D8 7CDE2050 */ subf r6, r30, r4 -/* 053E3C 800593DC 38850001 */ addi r4, r5, 1 -/* 053E40 800593E0 90810084 */ stw r4, 0x84(r1) -/* 053E44 800593E4 64E4C803 */ oris r4, r7, 0xc803 -/* 053E48 800593E8 54C6043E */ clrlwi r6, r6, 0x10 -/* 053E4C 800593EC 7C843214 */ add r4, r4, r6 -/* 053E50 800593F0 54A5103A */ slwi r5, r5, 2 -/* 053E54 800593F4 7C9F292E */ stwx r4, r31, r5 -/* 053E58 800593F8 48000010 */ b lbl_80059408 -lbl_800593FC: -/* 053E5C 800593FC 80810084 */ lwz r4, 0x84(r1) -/* 053E60 80059400 38840001 */ addi r4, r4, 1 -/* 053E64 80059404 90810084 */ stw r4, 0x84(r1) -lbl_80059408: -/* 053E68 80059408 281F0000 */ cmplwi r31, 0 -/* 053E6C 8005940C 41820030 */ beq lbl_8005943C -/* 053E70 80059410 80810084 */ lwz r4, 0x84(r1) -/* 053E74 80059414 5400801E */ slwi r0, r0, 0x10 -/* 053E78 80059418 6405FC00 */ oris r5, r0, 0xfc00 -/* 053E7C 8005941C 38040001 */ addi r0, r4, 1 -/* 053E80 80059420 90010084 */ stw r0, 0x84(r1) -/* 053E84 80059424 60A50040 */ ori r5, r5, 0x40 -/* 053E88 80059428 54605828 */ slwi r0, r3, 0xb -/* 053E8C 8005942C 7CA00378 */ or r0, r5, r0 -/* 053E90 80059430 5483103A */ slwi r3, r4, 2 -/* 053E94 80059434 7C1F192E */ stwx r0, r31, r3 -/* 053E98 80059438 48000010 */ b lbl_80059448 -lbl_8005943C: -/* 053E9C 8005943C 80610084 */ lwz r3, 0x84(r1) -/* 053EA0 80059440 38030001 */ addi r0, r3, 1 -/* 053EA4 80059444 90010084 */ stw r0, 0x84(r1) -lbl_80059448: -/* 053EA8 80059448 281F0000 */ cmplwi r31, 0 -/* 053EAC 8005944C 41820024 */ beq lbl_80059470 -/* 053EB0 80059450 80610084 */ lwz r3, 0x84(r1) -/* 053EB4 80059454 3C804080 */ lis r4, 0x4080 -/* 053EB8 80059458 3884000C */ addi r4, r4, 0xc -/* 053EBC 8005945C 38030001 */ addi r0, r3, 1 -/* 053EC0 80059460 90010084 */ stw r0, 0x84(r1) -/* 053EC4 80059464 5460103A */ slwi r0, r3, 2 -/* 053EC8 80059468 7C9F012E */ stwx r4, r31, r0 -/* 053ECC 8005946C 48000010 */ b lbl_8005947C -lbl_80059470: -/* 053ED0 80059470 80610084 */ lwz r3, 0x84(r1) -/* 053ED4 80059474 38030001 */ addi r0, r3, 1 -/* 053ED8 80059478 90010084 */ stw r0, 0x84(r1) -lbl_8005947C: -/* 053EDC 8005947C 281F0000 */ cmplwi r31, 0 -/* 053EE0 80059480 41820024 */ beq lbl_800594A4 -/* 053EE4 80059484 80610084 */ lwz r3, 0x84(r1) -/* 053EE8 80059488 3C8064A5 */ lis r4, 0x64a5 -/* 053EEC 8005948C 38840080 */ addi r4, r4, 0x80 -/* 053EF0 80059490 38030001 */ addi r0, r3, 1 -/* 053EF4 80059494 90010084 */ stw r0, 0x84(r1) -/* 053EF8 80059498 5460103A */ slwi r0, r3, 2 -/* 053EFC 8005949C 7C9F012E */ stwx r4, r31, r0 -/* 053F00 800594A0 48000010 */ b lbl_800594B0 -lbl_800594A4: -/* 053F04 800594A4 80610084 */ lwz r3, 0x84(r1) -/* 053F08 800594A8 38030001 */ addi r0, r3, 1 -/* 053F0C 800594AC 90010084 */ stw r0, 0x84(r1) -lbl_800594B0: -/* 053F10 800594B0 281F0000 */ cmplwi r31, 0 -/* 053F14 800594B4 41820024 */ beq lbl_800594D8 -/* 053F18 800594B8 80610084 */ lwz r3, 0x84(r1) -/* 053F1C 800594BC 3C804280 */ lis r4, 0x4280 -/* 053F20 800594C0 38840008 */ addi r4, r4, 8 -/* 053F24 800594C4 38030001 */ addi r0, r3, 1 -/* 053F28 800594C8 90010084 */ stw r0, 0x84(r1) -/* 053F2C 800594CC 5460103A */ slwi r0, r3, 2 -/* 053F30 800594D0 7C9F012E */ stwx r4, r31, r0 -/* 053F34 800594D4 48000010 */ b lbl_800594E4 -lbl_800594D8: -/* 053F38 800594D8 80610084 */ lwz r3, 0x84(r1) -/* 053F3C 800594DC 38030001 */ addi r0, r3, 1 -/* 053F40 800594E0 90010084 */ stw r0, 0x84(r1) -lbl_800594E4: -/* 053F44 800594E4 281F0000 */ cmplwi r31, 0 -/* 053F48 800594E8 41820024 */ beq lbl_8005950C -/* 053F4C 800594EC 80610084 */ lwz r3, 0x84(r1) -/* 053F50 800594F0 3C8054A5 */ lis r4, 0x54a5 -/* 053F54 800594F4 3884024E */ addi r4, r4, 0x24e -/* 053F58 800594F8 38030001 */ addi r0, r3, 1 -/* 053F5C 800594FC 90010084 */ stw r0, 0x84(r1) -/* 053F60 80059500 5460103A */ slwi r0, r3, 2 -/* 053F64 80059504 7C9F012E */ stwx r4, r31, r0 -/* 053F68 80059508 48000010 */ b lbl_80059518 -lbl_8005950C: -/* 053F6C 8005950C 80610084 */ lwz r3, 0x84(r1) -/* 053F70 80059510 38030001 */ addi r0, r3, 1 -/* 053F74 80059514 90010084 */ stw r0, 0x84(r1) -lbl_80059518: -/* 053F78 80059518 281F0000 */ cmplwi r31, 0 -/* 053F7C 8005951C 41820028 */ beq lbl_80059544 -/* 053F80 80059520 80610084 */ lwz r3, 0x84(r1) -/* 053F84 80059524 381E0A3C */ addi r0, r30, 0xa3c -/* 053F88 80059528 7C9E0050 */ subf r4, r30, r0 -/* 053F8C 8005952C 38030001 */ addi r0, r3, 1 -/* 053F90 80059530 90010084 */ stw r0, 0x84(r1) -/* 053F94 80059534 3C0490A3 */ addis r0, r4, 0x90a3 -/* 053F98 80059538 5463103A */ slwi r3, r3, 2 -/* 053F9C 8005953C 7C1F192E */ stwx r0, r31, r3 -/* 053FA0 80059540 4800E9F4 */ b lbl_80067F34 -lbl_80059544: -/* 053FA4 80059544 80610084 */ lwz r3, 0x84(r1) -/* 053FA8 80059548 38030001 */ addi r0, r3, 1 -/* 053FAC 8005954C 90010084 */ stw r0, 0x84(r1) -/* 053FB0 80059550 4800E9E4 */ b lbl_80067F34 -.global lbl_80059554 -lbl_80059554: -/* 053FB4 80059554 281F0000 */ cmplwi r31, 0 -/* 053FB8 80059558 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 053FBC 8005955C 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 053FC0 80059560 41820028 */ beq lbl_80059588 -/* 053FC4 80059564 80810084 */ lwz r4, 0x84(r1) -/* 053FC8 80059568 38BE0A3C */ addi r5, r30, 0xa3c -/* 053FCC 8005956C 7CBE2850 */ subf r5, r30, r5 -/* 053FD0 80059570 38C40001 */ addi r6, r4, 1 -/* 053FD4 80059574 90C10084 */ stw r6, 0x84(r1) -/* 053FD8 80059578 3CA580A3 */ addis r5, r5, 0x80a3 -/* 053FDC 8005957C 5484103A */ slwi r4, r4, 2 -/* 053FE0 80059580 7CBF212E */ stwx r5, r31, r4 -/* 053FE4 80059584 48000010 */ b lbl_80059594 -lbl_80059588: -/* 053FE8 80059588 80810084 */ lwz r4, 0x84(r1) -/* 053FEC 8005958C 38840001 */ addi r4, r4, 1 -/* 053FF0 80059590 90810084 */ stw r4, 0x84(r1) -lbl_80059594: -/* 053FF4 80059594 3C9E0001 */ addis r4, r30, 1 -/* 053FF8 80059598 80A42064 */ lwz r5, 0x2064(r4) -/* 053FFC 8005959C 28050000 */ cmplwi r5, 0 -/* 054000 800595A0 4082000C */ bne lbl_800595AC -/* 054004 800595A4 38A00000 */ li r5, 0 -/* 054008 800595A8 48000094 */ b lbl_8005963C -lbl_800595AC: -/* 05400C 800595AC 80A42074 */ lwz r5, 0x2074(r4) -/* 054010 800595B0 28050000 */ cmplwi r5, 0 -/* 054014 800595B4 4082000C */ bne lbl_800595C0 -/* 054018 800595B8 38A00000 */ li r5, 0 -/* 05401C 800595BC 48000080 */ b lbl_8005963C -lbl_800595C0: -/* 054020 800595C0 80842078 */ lwz r4, 0x2078(r4) -/* 054024 800595C4 7C002000 */ cmpw r0, r4 -/* 054028 800595C8 4182000C */ beq lbl_800595D4 -/* 05402C 800595CC 38A00000 */ li r5, 0 -/* 054030 800595D0 4800006C */ b lbl_8005963C -lbl_800595D4: -/* 054034 800595D4 80DE0034 */ lwz r6, 0x34(r30) -/* 054038 800595D8 38A00000 */ li r5, 0 -/* 05403C 800595DC 80860008 */ lwz r4, 8(r6) -/* 054040 800595E0 2C040000 */ cmpwi r4, 0 -/* 054044 800595E4 7C8903A6 */ mtctr r4 -/* 054048 800595E8 40810028 */ ble lbl_80059610 -lbl_800595EC: -/* 05404C 800595EC 8086000C */ lwz r4, 0xc(r6) -/* 054050 800595F0 38E50004 */ addi r7, r5, 4 -/* 054054 800595F4 7C84382E */ lwzx r4, r4, r7 -/* 054058 800595F8 7C1D2000 */ cmpw r29, r4 -/* 05405C 800595FC 4082000C */ bne lbl_80059608 -/* 054060 80059600 38800000 */ li r4, 0 -/* 054064 80059604 48000010 */ b lbl_80059614 -lbl_80059608: -/* 054068 80059608 38A50008 */ addi r5, r5, 8 -/* 05406C 8005960C 4200FFE0 */ bdnz lbl_800595EC -lbl_80059610: -/* 054070 80059610 38800001 */ li r4, 1 -lbl_80059614: -/* 054074 80059614 2C040000 */ cmpwi r4, 0 -/* 054078 80059618 40820014 */ bne lbl_8005962C -/* 05407C 8005961C 38A00000 */ li r5, 0 -/* 054080 80059620 3C9E0001 */ addis r4, r30, 1 -/* 054084 80059624 90A42074 */ stw r5, 0x2074(r4) -/* 054088 80059628 48000014 */ b lbl_8005963C -lbl_8005962C: -/* 05408C 8005962C 3C9E0001 */ addis r4, r30, 1 -/* 054090 80059630 38A00000 */ li r5, 0 -/* 054094 80059634 90A42074 */ stw r5, 0x2074(r4) -/* 054098 80059638 38A00001 */ li r5, 1 -lbl_8005963C: -/* 05409C 8005963C 2C050000 */ cmpwi r5, 0 -/* 0540A0 80059640 41820038 */ beq lbl_80059678 -/* 0540A4 80059644 281F0000 */ cmplwi r31, 0 -/* 0540A8 80059648 41820020 */ beq lbl_80059668 -/* 0540AC 8005964C 80A10084 */ lwz r5, 0x84(r1) -/* 0540B0 80059650 3CC06000 */ lis r6, 0x6000 -/* 0540B4 80059654 38850001 */ addi r4, r5, 1 -/* 0540B8 80059658 90810084 */ stw r4, 0x84(r1) -/* 0540BC 8005965C 54A4103A */ slwi r4, r5, 2 -/* 0540C0 80059660 7CDF212E */ stwx r6, r31, r4 -/* 0540C4 80059664 48000060 */ b lbl_800596C4 -lbl_80059668: -/* 0540C8 80059668 80810084 */ lwz r4, 0x84(r1) -/* 0540CC 8005966C 38840001 */ addi r4, r4, 1 -/* 0540D0 80059670 90810084 */ stw r4, 0x84(r1) -/* 0540D4 80059674 48000050 */ b lbl_800596C4 -lbl_80059678: -/* 0540D8 80059678 281F0000 */ cmplwi r31, 0 -/* 0540DC 8005967C 4182003C */ beq lbl_800596B8 -/* 0540E0 80059680 54041838 */ slwi r4, r0, 3 -/* 0540E4 80059684 80A10084 */ lwz r5, 0x84(r1) -/* 0540E8 80059688 38840140 */ addi r4, r4, 0x140 -/* 0540EC 8005968C 7C9E2214 */ add r4, r30, r4 -/* 0540F0 80059690 5407A814 */ slwi r7, r0, 0x15 -/* 0540F4 80059694 7CDE2050 */ subf r6, r30, r4 -/* 0540F8 80059698 38850001 */ addi r4, r5, 1 -/* 0540FC 8005969C 90810084 */ stw r4, 0x84(r1) -/* 054100 800596A0 64E4C803 */ oris r4, r7, 0xc803 -/* 054104 800596A4 54C6043E */ clrlwi r6, r6, 0x10 -/* 054108 800596A8 7C843214 */ add r4, r4, r6 -/* 05410C 800596AC 54A5103A */ slwi r5, r5, 2 -/* 054110 800596B0 7C9F292E */ stwx r4, r31, r5 -/* 054114 800596B4 48000010 */ b lbl_800596C4 -lbl_800596B8: -/* 054118 800596B8 80810084 */ lwz r4, 0x84(r1) -/* 05411C 800596BC 38840001 */ addi r4, r4, 1 -/* 054120 800596C0 90810084 */ stw r4, 0x84(r1) -lbl_800596C4: -/* 054124 800596C4 3C9E0001 */ addis r4, r30, 1 -/* 054128 800596C8 80A42064 */ lwz r5, 0x2064(r4) -/* 05412C 800596CC 28050000 */ cmplwi r5, 0 -/* 054130 800596D0 4082000C */ bne lbl_800596DC -/* 054134 800596D4 38A00000 */ li r5, 0 -/* 054138 800596D8 48000094 */ b lbl_8005976C -lbl_800596DC: -/* 05413C 800596DC 80A42074 */ lwz r5, 0x2074(r4) -/* 054140 800596E0 28050000 */ cmplwi r5, 0 -/* 054144 800596E4 4082000C */ bne lbl_800596F0 -/* 054148 800596E8 38A00000 */ li r5, 0 -/* 05414C 800596EC 48000080 */ b lbl_8005976C -lbl_800596F0: -/* 054150 800596F0 80842078 */ lwz r4, 0x2078(r4) -/* 054154 800596F4 7C032000 */ cmpw r3, r4 -/* 054158 800596F8 4182000C */ beq lbl_80059704 -/* 05415C 800596FC 38A00000 */ li r5, 0 -/* 054160 80059700 4800006C */ b lbl_8005976C -lbl_80059704: -/* 054164 80059704 80DE0034 */ lwz r6, 0x34(r30) -/* 054168 80059708 38A00000 */ li r5, 0 -/* 05416C 8005970C 80860008 */ lwz r4, 8(r6) -/* 054170 80059710 2C040000 */ cmpwi r4, 0 -/* 054174 80059714 7C8903A6 */ mtctr r4 -/* 054178 80059718 40810028 */ ble lbl_80059740 -lbl_8005971C: -/* 05417C 8005971C 8086000C */ lwz r4, 0xc(r6) -/* 054180 80059720 38E50004 */ addi r7, r5, 4 -/* 054184 80059724 7C84382E */ lwzx r4, r4, r7 -/* 054188 80059728 7C1D2000 */ cmpw r29, r4 -/* 05418C 8005972C 4082000C */ bne lbl_80059738 -/* 054190 80059730 38800000 */ li r4, 0 -/* 054194 80059734 48000010 */ b lbl_80059744 -lbl_80059738: -/* 054198 80059738 38A50008 */ addi r5, r5, 8 -/* 05419C 8005973C 4200FFE0 */ bdnz lbl_8005971C -lbl_80059740: -/* 0541A0 80059740 38800001 */ li r4, 1 -lbl_80059744: -/* 0541A4 80059744 2C040000 */ cmpwi r4, 0 -/* 0541A8 80059748 40820014 */ bne lbl_8005975C -/* 0541AC 8005974C 38A00000 */ li r5, 0 -/* 0541B0 80059750 3C9E0001 */ addis r4, r30, 1 -/* 0541B4 80059754 90A42074 */ stw r5, 0x2074(r4) -/* 0541B8 80059758 48000014 */ b lbl_8005976C -lbl_8005975C: -/* 0541BC 8005975C 3C9E0001 */ addis r4, r30, 1 -/* 0541C0 80059760 38A00000 */ li r5, 0 -/* 0541C4 80059764 90A42074 */ stw r5, 0x2074(r4) -/* 0541C8 80059768 38A00001 */ li r5, 1 -lbl_8005976C: -/* 0541CC 8005976C 2C050000 */ cmpwi r5, 0 -/* 0541D0 80059770 41820038 */ beq lbl_800597A8 -/* 0541D4 80059774 281F0000 */ cmplwi r31, 0 -/* 0541D8 80059778 41820020 */ beq lbl_80059798 -/* 0541DC 8005977C 80A10084 */ lwz r5, 0x84(r1) -/* 0541E0 80059780 3CC06000 */ lis r6, 0x6000 -/* 0541E4 80059784 38850001 */ addi r4, r5, 1 -/* 0541E8 80059788 90810084 */ stw r4, 0x84(r1) -/* 0541EC 8005978C 54A4103A */ slwi r4, r5, 2 -/* 0541F0 80059790 7CDF212E */ stwx r6, r31, r4 -/* 0541F4 80059794 48000060 */ b lbl_800597F4 -lbl_80059798: -/* 0541F8 80059798 80810084 */ lwz r4, 0x84(r1) -/* 0541FC 8005979C 38840001 */ addi r4, r4, 1 -/* 054200 800597A0 90810084 */ stw r4, 0x84(r1) -/* 054204 800597A4 48000050 */ b lbl_800597F4 -lbl_800597A8: -/* 054208 800597A8 281F0000 */ cmplwi r31, 0 -/* 05420C 800597AC 4182003C */ beq lbl_800597E8 -/* 054210 800597B0 54641838 */ slwi r4, r3, 3 -/* 054214 800597B4 80A10084 */ lwz r5, 0x84(r1) -/* 054218 800597B8 38840140 */ addi r4, r4, 0x140 -/* 05421C 800597BC 7C9E2214 */ add r4, r30, r4 -/* 054220 800597C0 5467A814 */ slwi r7, r3, 0x15 -/* 054224 800597C4 7CDE2050 */ subf r6, r30, r4 -/* 054228 800597C8 38850001 */ addi r4, r5, 1 -/* 05422C 800597CC 90810084 */ stw r4, 0x84(r1) -/* 054230 800597D0 64E4C803 */ oris r4, r7, 0xc803 -/* 054234 800597D4 54C6043E */ clrlwi r6, r6, 0x10 -/* 054238 800597D8 7C843214 */ add r4, r4, r6 -/* 05423C 800597DC 54A5103A */ slwi r5, r5, 2 -/* 054240 800597E0 7C9F292E */ stwx r4, r31, r5 -/* 054244 800597E4 48000010 */ b lbl_800597F4 -lbl_800597E8: -/* 054248 800597E8 80810084 */ lwz r4, 0x84(r1) -/* 05424C 800597EC 38840001 */ addi r4, r4, 1 -/* 054250 800597F0 90810084 */ stw r4, 0x84(r1) -lbl_800597F4: -/* 054254 800597F4 281F0000 */ cmplwi r31, 0 -/* 054258 800597F8 41820030 */ beq lbl_80059828 -/* 05425C 800597FC 80810084 */ lwz r4, 0x84(r1) -/* 054260 80059800 5400801E */ slwi r0, r0, 0x10 -/* 054264 80059804 6405FC00 */ oris r5, r0, 0xfc00 -/* 054268 80059808 38040001 */ addi r0, r4, 1 -/* 05426C 8005980C 90010084 */ stw r0, 0x84(r1) -/* 054270 80059810 60A50040 */ ori r5, r5, 0x40 -/* 054274 80059814 54605828 */ slwi r0, r3, 0xb -/* 054278 80059818 7CA00378 */ or r0, r5, r0 -/* 05427C 8005981C 5483103A */ slwi r3, r4, 2 -/* 054280 80059820 7C1F192E */ stwx r0, r31, r3 -/* 054284 80059824 48000010 */ b lbl_80059834 -lbl_80059828: -/* 054288 80059828 80610084 */ lwz r3, 0x84(r1) -/* 05428C 8005982C 38030001 */ addi r0, r3, 1 -/* 054290 80059830 90010084 */ stw r0, 0x84(r1) -lbl_80059834: -/* 054294 80059834 281F0000 */ cmplwi r31, 0 -/* 054298 80059838 41820024 */ beq lbl_8005985C -/* 05429C 8005983C 80610084 */ lwz r3, 0x84(r1) -/* 0542A0 80059840 3C804C40 */ lis r4, 0x4c40 -/* 0542A4 80059844 38841382 */ addi r4, r4, 0x1382 -/* 0542A8 80059848 38030001 */ addi r0, r3, 1 -/* 0542AC 8005984C 90010084 */ stw r0, 0x84(r1) -/* 0542B0 80059850 5460103A */ slwi r0, r3, 2 -/* 0542B4 80059854 7C9F012E */ stwx r4, r31, r0 -/* 0542B8 80059858 48000010 */ b lbl_80059868 -lbl_8005985C: -/* 0542BC 8005985C 80610084 */ lwz r3, 0x84(r1) -/* 0542C0 80059860 38030001 */ addi r0, r3, 1 -/* 0542C4 80059864 90010084 */ stw r0, 0x84(r1) -lbl_80059868: -/* 0542C8 80059868 281F0000 */ cmplwi r31, 0 -/* 0542CC 8005986C 41820024 */ beq lbl_80059890 -/* 0542D0 80059870 80610084 */ lwz r3, 0x84(r1) -/* 0542D4 80059874 3C804082 */ lis r4, 0x4082 -/* 0542D8 80059878 3884000C */ addi r4, r4, 0xc -/* 0542DC 8005987C 38030001 */ addi r0, r3, 1 -/* 0542E0 80059880 90010084 */ stw r0, 0x84(r1) -/* 0542E4 80059884 5460103A */ slwi r0, r3, 2 -/* 0542E8 80059888 7C9F012E */ stwx r4, r31, r0 -/* 0542EC 8005988C 48000010 */ b lbl_8005989C -lbl_80059890: -/* 0542F0 80059890 80610084 */ lwz r3, 0x84(r1) -/* 0542F4 80059894 38030001 */ addi r0, r3, 1 -/* 0542F8 80059898 90010084 */ stw r0, 0x84(r1) -lbl_8005989C: -/* 0542FC 8005989C 281F0000 */ cmplwi r31, 0 -/* 054300 800598A0 41820024 */ beq lbl_800598C4 -/* 054304 800598A4 80610084 */ lwz r3, 0x84(r1) -/* 054308 800598A8 3C8064A5 */ lis r4, 0x64a5 -/* 05430C 800598AC 38840080 */ addi r4, r4, 0x80 -/* 054310 800598B0 38030001 */ addi r0, r3, 1 -/* 054314 800598B4 90010084 */ stw r0, 0x84(r1) -/* 054318 800598B8 5460103A */ slwi r0, r3, 2 -/* 05431C 800598BC 7C9F012E */ stwx r4, r31, r0 -/* 054320 800598C0 48000010 */ b lbl_800598D0 -lbl_800598C4: -/* 054324 800598C4 80610084 */ lwz r3, 0x84(r1) -/* 054328 800598C8 38030001 */ addi r0, r3, 1 -/* 05432C 800598CC 90010084 */ stw r0, 0x84(r1) -lbl_800598D0: -/* 054330 800598D0 281F0000 */ cmplwi r31, 0 -/* 054334 800598D4 41820024 */ beq lbl_800598F8 -/* 054338 800598D8 80610084 */ lwz r3, 0x84(r1) -/* 05433C 800598DC 3C804280 */ lis r4, 0x4280 -/* 054340 800598E0 38840008 */ addi r4, r4, 8 -/* 054344 800598E4 38030001 */ addi r0, r3, 1 -/* 054348 800598E8 90010084 */ stw r0, 0x84(r1) -/* 05434C 800598EC 5460103A */ slwi r0, r3, 2 -/* 054350 800598F0 7C9F012E */ stwx r4, r31, r0 -/* 054354 800598F4 48000010 */ b lbl_80059904 -lbl_800598F8: -/* 054358 800598F8 80610084 */ lwz r3, 0x84(r1) -/* 05435C 800598FC 38030001 */ addi r0, r3, 1 -/* 054360 80059900 90010084 */ stw r0, 0x84(r1) -lbl_80059904: -/* 054364 80059904 281F0000 */ cmplwi r31, 0 -/* 054368 80059908 41820024 */ beq lbl_8005992C -/* 05436C 8005990C 80610084 */ lwz r3, 0x84(r1) -/* 054370 80059910 3C8054A5 */ lis r4, 0x54a5 -/* 054374 80059914 3884024E */ addi r4, r4, 0x24e -/* 054378 80059918 38030001 */ addi r0, r3, 1 -/* 05437C 8005991C 90010084 */ stw r0, 0x84(r1) -/* 054380 80059920 5460103A */ slwi r0, r3, 2 -/* 054384 80059924 7C9F012E */ stwx r4, r31, r0 -/* 054388 80059928 48000010 */ b lbl_80059938 -lbl_8005992C: -/* 05438C 8005992C 80610084 */ lwz r3, 0x84(r1) -/* 054390 80059930 38030001 */ addi r0, r3, 1 -/* 054394 80059934 90010084 */ stw r0, 0x84(r1) -lbl_80059938: -/* 054398 80059938 281F0000 */ cmplwi r31, 0 -/* 05439C 8005993C 41820028 */ beq lbl_80059964 -/* 0543A0 80059940 80610084 */ lwz r3, 0x84(r1) -/* 0543A4 80059944 381E0A3C */ addi r0, r30, 0xa3c -/* 0543A8 80059948 7C9E0050 */ subf r4, r30, r0 -/* 0543AC 8005994C 38030001 */ addi r0, r3, 1 -/* 0543B0 80059950 90010084 */ stw r0, 0x84(r1) -/* 0543B4 80059954 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0543B8 80059958 5463103A */ slwi r3, r3, 2 -/* 0543BC 8005995C 7C1F192E */ stwx r0, r31, r3 -/* 0543C0 80059960 4800E5D4 */ b lbl_80067F34 -lbl_80059964: -/* 0543C4 80059964 80610084 */ lwz r3, 0x84(r1) -/* 0543C8 80059968 38030001 */ addi r0, r3, 1 -/* 0543CC 8005996C 90010084 */ stw r0, 0x84(r1) -/* 0543D0 80059970 4800E5C4 */ b lbl_80067F34 -.global lbl_80059974 -lbl_80059974: -/* 0543D4 80059974 281F0000 */ cmplwi r31, 0 -/* 0543D8 80059978 5780AEFE */ rlwinm r0, r28, 0x15, 0x1b, 0x1f -/* 0543DC 8005997C 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 0543E0 80059980 41820028 */ beq lbl_800599A8 -/* 0543E4 80059984 80810084 */ lwz r4, 0x84(r1) -/* 0543E8 80059988 38BE0A3C */ addi r5, r30, 0xa3c -/* 0543EC 8005998C 7CBE2850 */ subf r5, r30, r5 -/* 0543F0 80059990 38C40001 */ addi r6, r4, 1 -/* 0543F4 80059994 90C10084 */ stw r6, 0x84(r1) -/* 0543F8 80059998 3CA580A3 */ addis r5, r5, 0x80a3 -/* 0543FC 8005999C 5484103A */ slwi r4, r4, 2 -/* 054400 800599A0 7CBF212E */ stwx r5, r31, r4 -/* 054404 800599A4 48000010 */ b lbl_800599B4 -lbl_800599A8: -/* 054408 800599A8 80810084 */ lwz r4, 0x84(r1) -/* 05440C 800599AC 38840001 */ addi r4, r4, 1 -/* 054410 800599B0 90810084 */ stw r4, 0x84(r1) -lbl_800599B4: -/* 054414 800599B4 3C9E0001 */ addis r4, r30, 1 -/* 054418 800599B8 80A42064 */ lwz r5, 0x2064(r4) -/* 05441C 800599BC 28050000 */ cmplwi r5, 0 -/* 054420 800599C0 4082000C */ bne lbl_800599CC -/* 054424 800599C4 38A00000 */ li r5, 0 -/* 054428 800599C8 48000094 */ b lbl_80059A5C -lbl_800599CC: -/* 05442C 800599CC 80A42074 */ lwz r5, 0x2074(r4) -/* 054430 800599D0 28050000 */ cmplwi r5, 0 -/* 054434 800599D4 4082000C */ bne lbl_800599E0 -/* 054438 800599D8 38A00000 */ li r5, 0 -/* 05443C 800599DC 48000080 */ b lbl_80059A5C -lbl_800599E0: -/* 054440 800599E0 80842078 */ lwz r4, 0x2078(r4) -/* 054444 800599E4 7C002000 */ cmpw r0, r4 -/* 054448 800599E8 4182000C */ beq lbl_800599F4 -/* 05444C 800599EC 38A00000 */ li r5, 0 -/* 054450 800599F0 4800006C */ b lbl_80059A5C -lbl_800599F4: -/* 054454 800599F4 80DE0034 */ lwz r6, 0x34(r30) -/* 054458 800599F8 38A00000 */ li r5, 0 -/* 05445C 800599FC 80860008 */ lwz r4, 8(r6) -/* 054460 80059A00 2C040000 */ cmpwi r4, 0 -/* 054464 80059A04 7C8903A6 */ mtctr r4 -/* 054468 80059A08 40810028 */ ble lbl_80059A30 -lbl_80059A0C: -/* 05446C 80059A0C 8086000C */ lwz r4, 0xc(r6) -/* 054470 80059A10 38E50004 */ addi r7, r5, 4 -/* 054474 80059A14 7C84382E */ lwzx r4, r4, r7 -/* 054478 80059A18 7C1D2000 */ cmpw r29, r4 -/* 05447C 80059A1C 4082000C */ bne lbl_80059A28 -/* 054480 80059A20 38800000 */ li r4, 0 -/* 054484 80059A24 48000010 */ b lbl_80059A34 -lbl_80059A28: -/* 054488 80059A28 38A50008 */ addi r5, r5, 8 -/* 05448C 80059A2C 4200FFE0 */ bdnz lbl_80059A0C -lbl_80059A30: -/* 054490 80059A30 38800001 */ li r4, 1 -lbl_80059A34: -/* 054494 80059A34 2C040000 */ cmpwi r4, 0 -/* 054498 80059A38 40820014 */ bne lbl_80059A4C -/* 05449C 80059A3C 38A00000 */ li r5, 0 -/* 0544A0 80059A40 3C9E0001 */ addis r4, r30, 1 -/* 0544A4 80059A44 90A42074 */ stw r5, 0x2074(r4) -/* 0544A8 80059A48 48000014 */ b lbl_80059A5C -lbl_80059A4C: -/* 0544AC 80059A4C 3C9E0001 */ addis r4, r30, 1 -/* 0544B0 80059A50 38A00000 */ li r5, 0 -/* 0544B4 80059A54 90A42074 */ stw r5, 0x2074(r4) -/* 0544B8 80059A58 38A00001 */ li r5, 1 -lbl_80059A5C: -/* 0544BC 80059A5C 2C050000 */ cmpwi r5, 0 -/* 0544C0 80059A60 41820038 */ beq lbl_80059A98 -/* 0544C4 80059A64 281F0000 */ cmplwi r31, 0 -/* 0544C8 80059A68 41820020 */ beq lbl_80059A88 -/* 0544CC 80059A6C 80A10084 */ lwz r5, 0x84(r1) -/* 0544D0 80059A70 3CC06000 */ lis r6, 0x6000 -/* 0544D4 80059A74 38850001 */ addi r4, r5, 1 -/* 0544D8 80059A78 90810084 */ stw r4, 0x84(r1) -/* 0544DC 80059A7C 54A4103A */ slwi r4, r5, 2 -/* 0544E0 80059A80 7CDF212E */ stwx r6, r31, r4 -/* 0544E4 80059A84 48000060 */ b lbl_80059AE4 -lbl_80059A88: -/* 0544E8 80059A88 80810084 */ lwz r4, 0x84(r1) -/* 0544EC 80059A8C 38840001 */ addi r4, r4, 1 -/* 0544F0 80059A90 90810084 */ stw r4, 0x84(r1) -/* 0544F4 80059A94 48000050 */ b lbl_80059AE4 -lbl_80059A98: -/* 0544F8 80059A98 281F0000 */ cmplwi r31, 0 -/* 0544FC 80059A9C 4182003C */ beq lbl_80059AD8 -/* 054500 80059AA0 54041838 */ slwi r4, r0, 3 -/* 054504 80059AA4 80A10084 */ lwz r5, 0x84(r1) -/* 054508 80059AA8 38840140 */ addi r4, r4, 0x140 -/* 05450C 80059AAC 7C9E2214 */ add r4, r30, r4 -/* 054510 80059AB0 5407A814 */ slwi r7, r0, 0x15 -/* 054514 80059AB4 7CDE2050 */ subf r6, r30, r4 -/* 054518 80059AB8 38850001 */ addi r4, r5, 1 -/* 05451C 80059ABC 90810084 */ stw r4, 0x84(r1) -/* 054520 80059AC0 64E4C803 */ oris r4, r7, 0xc803 -/* 054524 80059AC4 54C6043E */ clrlwi r6, r6, 0x10 -/* 054528 80059AC8 7C843214 */ add r4, r4, r6 -/* 05452C 80059ACC 54A5103A */ slwi r5, r5, 2 -/* 054530 80059AD0 7C9F292E */ stwx r4, r31, r5 -/* 054534 80059AD4 48000010 */ b lbl_80059AE4 -lbl_80059AD8: -/* 054538 80059AD8 80810084 */ lwz r4, 0x84(r1) -/* 05453C 80059ADC 38840001 */ addi r4, r4, 1 -/* 054540 80059AE0 90810084 */ stw r4, 0x84(r1) -lbl_80059AE4: -/* 054544 80059AE4 3C9E0001 */ addis r4, r30, 1 -/* 054548 80059AE8 80A42064 */ lwz r5, 0x2064(r4) -/* 05454C 80059AEC 28050000 */ cmplwi r5, 0 -/* 054550 80059AF0 4082000C */ bne lbl_80059AFC -/* 054554 80059AF4 38A00000 */ li r5, 0 -/* 054558 80059AF8 48000094 */ b lbl_80059B8C -lbl_80059AFC: -/* 05455C 80059AFC 80A42074 */ lwz r5, 0x2074(r4) -/* 054560 80059B00 28050000 */ cmplwi r5, 0 -/* 054564 80059B04 4082000C */ bne lbl_80059B10 -/* 054568 80059B08 38A00000 */ li r5, 0 -/* 05456C 80059B0C 48000080 */ b lbl_80059B8C -lbl_80059B10: -/* 054570 80059B10 80842078 */ lwz r4, 0x2078(r4) -/* 054574 80059B14 7C032000 */ cmpw r3, r4 -/* 054578 80059B18 4182000C */ beq lbl_80059B24 -/* 05457C 80059B1C 38A00000 */ li r5, 0 -/* 054580 80059B20 4800006C */ b lbl_80059B8C -lbl_80059B24: -/* 054584 80059B24 80DE0034 */ lwz r6, 0x34(r30) -/* 054588 80059B28 38A00000 */ li r5, 0 -/* 05458C 80059B2C 80860008 */ lwz r4, 8(r6) -/* 054590 80059B30 2C040000 */ cmpwi r4, 0 -/* 054594 80059B34 7C8903A6 */ mtctr r4 -/* 054598 80059B38 40810028 */ ble lbl_80059B60 -lbl_80059B3C: -/* 05459C 80059B3C 8086000C */ lwz r4, 0xc(r6) -/* 0545A0 80059B40 38E50004 */ addi r7, r5, 4 -/* 0545A4 80059B44 7C84382E */ lwzx r4, r4, r7 -/* 0545A8 80059B48 7C1D2000 */ cmpw r29, r4 -/* 0545AC 80059B4C 4082000C */ bne lbl_80059B58 -/* 0545B0 80059B50 38800000 */ li r4, 0 -/* 0545B4 80059B54 48000010 */ b lbl_80059B64 -lbl_80059B58: -/* 0545B8 80059B58 38A50008 */ addi r5, r5, 8 -/* 0545BC 80059B5C 4200FFE0 */ bdnz lbl_80059B3C -lbl_80059B60: -/* 0545C0 80059B60 38800001 */ li r4, 1 -lbl_80059B64: -/* 0545C4 80059B64 2C040000 */ cmpwi r4, 0 -/* 0545C8 80059B68 40820014 */ bne lbl_80059B7C -/* 0545CC 80059B6C 38A00000 */ li r5, 0 -/* 0545D0 80059B70 3C9E0001 */ addis r4, r30, 1 -/* 0545D4 80059B74 90A42074 */ stw r5, 0x2074(r4) -/* 0545D8 80059B78 48000014 */ b lbl_80059B8C -lbl_80059B7C: -/* 0545DC 80059B7C 3C9E0001 */ addis r4, r30, 1 -/* 0545E0 80059B80 38A00000 */ li r5, 0 -/* 0545E4 80059B84 90A42074 */ stw r5, 0x2074(r4) -/* 0545E8 80059B88 38A00001 */ li r5, 1 -lbl_80059B8C: -/* 0545EC 80059B8C 2C050000 */ cmpwi r5, 0 -/* 0545F0 80059B90 41820038 */ beq lbl_80059BC8 -/* 0545F4 80059B94 281F0000 */ cmplwi r31, 0 -/* 0545F8 80059B98 41820020 */ beq lbl_80059BB8 -/* 0545FC 80059B9C 80A10084 */ lwz r5, 0x84(r1) -/* 054600 80059BA0 3CC06000 */ lis r6, 0x6000 -/* 054604 80059BA4 38850001 */ addi r4, r5, 1 -/* 054608 80059BA8 90810084 */ stw r4, 0x84(r1) -/* 05460C 80059BAC 54A4103A */ slwi r4, r5, 2 -/* 054610 80059BB0 7CDF212E */ stwx r6, r31, r4 -/* 054614 80059BB4 48000060 */ b lbl_80059C14 -lbl_80059BB8: -/* 054618 80059BB8 80810084 */ lwz r4, 0x84(r1) -/* 05461C 80059BBC 38840001 */ addi r4, r4, 1 -/* 054620 80059BC0 90810084 */ stw r4, 0x84(r1) -/* 054624 80059BC4 48000050 */ b lbl_80059C14 -lbl_80059BC8: -/* 054628 80059BC8 281F0000 */ cmplwi r31, 0 -/* 05462C 80059BCC 4182003C */ beq lbl_80059C08 -/* 054630 80059BD0 54641838 */ slwi r4, r3, 3 -/* 054634 80059BD4 80A10084 */ lwz r5, 0x84(r1) -/* 054638 80059BD8 38840140 */ addi r4, r4, 0x140 -/* 05463C 80059BDC 7C9E2214 */ add r4, r30, r4 -/* 054640 80059BE0 5467A814 */ slwi r7, r3, 0x15 -/* 054644 80059BE4 7CDE2050 */ subf r6, r30, r4 -/* 054648 80059BE8 38850001 */ addi r4, r5, 1 -/* 05464C 80059BEC 90810084 */ stw r4, 0x84(r1) -/* 054650 80059BF0 64E4C803 */ oris r4, r7, 0xc803 -/* 054654 80059BF4 54C6043E */ clrlwi r6, r6, 0x10 -/* 054658 80059BF8 7C843214 */ add r4, r4, r6 -/* 05465C 80059BFC 54A5103A */ slwi r5, r5, 2 -/* 054660 80059C00 7C9F292E */ stwx r4, r31, r5 -/* 054664 80059C04 48000010 */ b lbl_80059C14 -lbl_80059C08: -/* 054668 80059C08 80810084 */ lwz r4, 0x84(r1) -/* 05466C 80059C0C 38840001 */ addi r4, r4, 1 -/* 054670 80059C10 90810084 */ stw r4, 0x84(r1) -lbl_80059C14: -/* 054674 80059C14 281F0000 */ cmplwi r31, 0 -/* 054678 80059C18 41820030 */ beq lbl_80059C48 -/* 05467C 80059C1C 80810084 */ lwz r4, 0x84(r1) -/* 054680 80059C20 5400801E */ slwi r0, r0, 0x10 -/* 054684 80059C24 6405FC00 */ oris r5, r0, 0xfc00 -/* 054688 80059C28 38040001 */ addi r0, r4, 1 -/* 05468C 80059C2C 90010084 */ stw r0, 0x84(r1) -/* 054690 80059C30 60A50040 */ ori r5, r5, 0x40 -/* 054694 80059C34 54605828 */ slwi r0, r3, 0xb -/* 054698 80059C38 7CA00378 */ or r0, r5, r0 -/* 05469C 80059C3C 5483103A */ slwi r3, r4, 2 -/* 0546A0 80059C40 7C1F192E */ stwx r0, r31, r3 -/* 0546A4 80059C44 48000010 */ b lbl_80059C54 -lbl_80059C48: -/* 0546A8 80059C48 80610084 */ lwz r3, 0x84(r1) -/* 0546AC 80059C4C 38030001 */ addi r0, r3, 1 -/* 0546B0 80059C50 90010084 */ stw r0, 0x84(r1) -lbl_80059C54: -/* 0546B4 80059C54 281F0000 */ cmplwi r31, 0 -/* 0546B8 80059C58 41820024 */ beq lbl_80059C7C -/* 0546BC 80059C5C 80610084 */ lwz r3, 0x84(r1) -/* 0546C0 80059C60 3C804C40 */ lis r4, 0x4c40 -/* 0546C4 80059C64 38841382 */ addi r4, r4, 0x1382 -/* 0546C8 80059C68 38030001 */ addi r0, r3, 1 -/* 0546CC 80059C6C 90010084 */ stw r0, 0x84(r1) -/* 0546D0 80059C70 5460103A */ slwi r0, r3, 2 -/* 0546D4 80059C74 7C9F012E */ stwx r4, r31, r0 -/* 0546D8 80059C78 48000010 */ b lbl_80059C88 -lbl_80059C7C: -/* 0546DC 80059C7C 80610084 */ lwz r3, 0x84(r1) -/* 0546E0 80059C80 38030001 */ addi r0, r3, 1 -/* 0546E4 80059C84 90010084 */ stw r0, 0x84(r1) -lbl_80059C88: -/* 0546E8 80059C88 281F0000 */ cmplwi r31, 0 -/* 0546EC 80059C8C 41820024 */ beq lbl_80059CB0 -/* 0546F0 80059C90 80610084 */ lwz r3, 0x84(r1) -/* 0546F4 80059C94 3C804082 */ lis r4, 0x4082 -/* 0546F8 80059C98 3884000C */ addi r4, r4, 0xc -/* 0546FC 80059C9C 38030001 */ addi r0, r3, 1 -/* 054700 80059CA0 90010084 */ stw r0, 0x84(r1) -/* 054704 80059CA4 5460103A */ slwi r0, r3, 2 -/* 054708 80059CA8 7C9F012E */ stwx r4, r31, r0 -/* 05470C 80059CAC 48000010 */ b lbl_80059CBC -lbl_80059CB0: -/* 054710 80059CB0 80610084 */ lwz r3, 0x84(r1) -/* 054714 80059CB4 38030001 */ addi r0, r3, 1 -/* 054718 80059CB8 90010084 */ stw r0, 0x84(r1) -lbl_80059CBC: -/* 05471C 80059CBC 281F0000 */ cmplwi r31, 0 -/* 054720 80059CC0 41820024 */ beq lbl_80059CE4 -/* 054724 80059CC4 80610084 */ lwz r3, 0x84(r1) -/* 054728 80059CC8 3C8064A5 */ lis r4, 0x64a5 -/* 05472C 80059CCC 38840080 */ addi r4, r4, 0x80 -/* 054730 80059CD0 38030001 */ addi r0, r3, 1 -/* 054734 80059CD4 90010084 */ stw r0, 0x84(r1) -/* 054738 80059CD8 5460103A */ slwi r0, r3, 2 -/* 05473C 80059CDC 7C9F012E */ stwx r4, r31, r0 -/* 054740 80059CE0 48000010 */ b lbl_80059CF0 -lbl_80059CE4: -/* 054744 80059CE4 80610084 */ lwz r3, 0x84(r1) -/* 054748 80059CE8 38030001 */ addi r0, r3, 1 -/* 05474C 80059CEC 90010084 */ stw r0, 0x84(r1) -lbl_80059CF0: -/* 054750 80059CF0 281F0000 */ cmplwi r31, 0 -/* 054754 80059CF4 41820024 */ beq lbl_80059D18 -/* 054758 80059CF8 80610084 */ lwz r3, 0x84(r1) -/* 05475C 80059CFC 3C804280 */ lis r4, 0x4280 -/* 054760 80059D00 38840008 */ addi r4, r4, 8 -/* 054764 80059D04 38030001 */ addi r0, r3, 1 -/* 054768 80059D08 90010084 */ stw r0, 0x84(r1) -/* 05476C 80059D0C 5460103A */ slwi r0, r3, 2 -/* 054770 80059D10 7C9F012E */ stwx r4, r31, r0 -/* 054774 80059D14 48000010 */ b lbl_80059D24 -lbl_80059D18: -/* 054778 80059D18 80610084 */ lwz r3, 0x84(r1) -/* 05477C 80059D1C 38030001 */ addi r0, r3, 1 -/* 054780 80059D20 90010084 */ stw r0, 0x84(r1) -lbl_80059D24: -/* 054784 80059D24 281F0000 */ cmplwi r31, 0 -/* 054788 80059D28 41820024 */ beq lbl_80059D4C -/* 05478C 80059D2C 80610084 */ lwz r3, 0x84(r1) -/* 054790 80059D30 3C8054A5 */ lis r4, 0x54a5 -/* 054794 80059D34 3884024E */ addi r4, r4, 0x24e -/* 054798 80059D38 38030001 */ addi r0, r3, 1 -/* 05479C 80059D3C 90010084 */ stw r0, 0x84(r1) -/* 0547A0 80059D40 5460103A */ slwi r0, r3, 2 -/* 0547A4 80059D44 7C9F012E */ stwx r4, r31, r0 -/* 0547A8 80059D48 48000010 */ b lbl_80059D58 -lbl_80059D4C: -/* 0547AC 80059D4C 80610084 */ lwz r3, 0x84(r1) -/* 0547B0 80059D50 38030001 */ addi r0, r3, 1 -/* 0547B4 80059D54 90010084 */ stw r0, 0x84(r1) -lbl_80059D58: -/* 0547B8 80059D58 281F0000 */ cmplwi r31, 0 -/* 0547BC 80059D5C 41820028 */ beq lbl_80059D84 -/* 0547C0 80059D60 80610084 */ lwz r3, 0x84(r1) -/* 0547C4 80059D64 381E0A3C */ addi r0, r30, 0xa3c -/* 0547C8 80059D68 7C9E0050 */ subf r4, r30, r0 -/* 0547CC 80059D6C 38030001 */ addi r0, r3, 1 -/* 0547D0 80059D70 90010084 */ stw r0, 0x84(r1) -/* 0547D4 80059D74 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0547D8 80059D78 5463103A */ slwi r3, r3, 2 -/* 0547DC 80059D7C 7C1F192E */ stwx r0, r31, r3 -/* 0547E0 80059D80 4800E1B4 */ b lbl_80067F34 -lbl_80059D84: -/* 0547E4 80059D84 80610084 */ lwz r3, 0x84(r1) -/* 0547E8 80059D88 38030001 */ addi r0, r3, 1 -/* 0547EC 80059D8C 90010084 */ stw r0, 0x84(r1) -/* 0547F0 80059D90 4800E1A4 */ b lbl_80067F34 -.global lbl_80059D94 -lbl_80059D94: -/* 0547F4 80059D94 39E00000 */ li r15, 0 -/* 0547F8 80059D98 4800E19C */ b lbl_80067F34 -lbl_80059D9C: -/* 0547FC 80059D9C 578006BE */ clrlwi r0, r28, 0x1a -/* 054800 80059DA0 2800003F */ cmplwi r0, 0x3f -/* 054804 80059DA4 41810410 */ bgt lbl_8005A1B4 -/* 054808 80059DA8 3C60800F */ lis r3, jtbl_800ECEE0@ha -/* 05480C 80059DAC 3863CEE0 */ addi r3, r3, jtbl_800ECEE0@l -/* 054810 80059DB0 5400103A */ slwi r0, r0, 2 -/* 054814 80059DB4 7C03002E */ lwzx r0, r3, r0 -/* 054818 80059DB8 7C0903A6 */ mtctr r0 -/* 05481C 80059DBC 4E800420 */ bctr -.global lbl_80059DC0 -lbl_80059DC0: -/* 054820 80059DC0 387A13C0 */ addi r3, r26, 0x13c0 -/* 054824 80059DC4 4CC63182 */ crclr 6 -/* 054828 80059DC8 48044831 */ bl OSReport -/* 05482C 80059DCC 3C7E0001 */ addis r3, r30, 1 -/* 054830 80059DD0 38000002 */ li r0, 2 -/* 054834 80059DD4 90032074 */ stw r0, 0x2074(r3) -/* 054838 80059DD8 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 05483C 80059DDC 90032078 */ stw r0, 0x2078(r3) -/* 054840 80059DE0 4800E154 */ b lbl_80067F34 -.global lbl_80059DE4 -lbl_80059DE4: -/* 054844 80059DE4 387A13D0 */ addi r3, r26, 0x13d0 -/* 054848 80059DE8 4CC63182 */ crclr 6 -/* 05484C 80059DEC 4804480D */ bl OSReport -/* 054850 80059DF0 3C7E0001 */ addis r3, r30, 1 -/* 054854 80059DF4 38000002 */ li r0, 2 -/* 054858 80059DF8 90032074 */ stw r0, 0x2074(r3) -/* 05485C 80059DFC 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054860 80059E00 90032078 */ stw r0, 0x2078(r3) -/* 054864 80059E04 4800E130 */ b lbl_80067F34 -.global lbl_80059E08 -lbl_80059E08: -/* 054868 80059E08 387A13E0 */ addi r3, r26, 0x13e0 -/* 05486C 80059E0C 4CC63182 */ crclr 6 -/* 054870 80059E10 480447E9 */ bl OSReport -/* 054874 80059E14 3C7E0001 */ addis r3, r30, 1 -/* 054878 80059E18 38000002 */ li r0, 2 -/* 05487C 80059E1C 90032074 */ stw r0, 0x2074(r3) -/* 054880 80059E20 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054884 80059E24 90032078 */ stw r0, 0x2078(r3) -/* 054888 80059E28 4800E10C */ b lbl_80067F34 -.global lbl_80059E2C -lbl_80059E2C: -/* 05488C 80059E2C 387A13F0 */ addi r3, r26, 0x13f0 -/* 054890 80059E30 4CC63182 */ crclr 6 -/* 054894 80059E34 480447C5 */ bl OSReport -/* 054898 80059E38 3C7E0001 */ addis r3, r30, 1 -/* 05489C 80059E3C 38000002 */ li r0, 2 -/* 0548A0 80059E40 90032074 */ stw r0, 0x2074(r3) -/* 0548A4 80059E44 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 0548A8 80059E48 90032078 */ stw r0, 0x2078(r3) -/* 0548AC 80059E4C 4800E0E8 */ b lbl_80067F34 -.global lbl_80059E50 -lbl_80059E50: -/* 0548B0 80059E50 387A1400 */ addi r3, r26, 0x1400 -/* 0548B4 80059E54 4CC63182 */ crclr 6 -/* 0548B8 80059E58 480447A1 */ bl OSReport -/* 0548BC 80059E5C 4800E0D8 */ b lbl_80067F34 -.global lbl_80059E60 -lbl_80059E60: -/* 0548C0 80059E60 387A1410 */ addi r3, r26, 0x1410 -/* 0548C4 80059E64 4CC63182 */ crclr 6 -/* 0548C8 80059E68 48044791 */ bl OSReport -/* 0548CC 80059E6C 3C7E0001 */ addis r3, r30, 1 -/* 0548D0 80059E70 38000002 */ li r0, 2 -/* 0548D4 80059E74 90032074 */ stw r0, 0x2074(r3) -/* 0548D8 80059E78 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 0548DC 80059E7C 90032078 */ stw r0, 0x2078(r3) -/* 0548E0 80059E80 4800E0B4 */ b lbl_80067F34 -.global lbl_80059E84 -lbl_80059E84: -/* 0548E4 80059E84 387A1420 */ addi r3, r26, 0x1420 -/* 0548E8 80059E88 4CC63182 */ crclr 6 -/* 0548EC 80059E8C 4804476D */ bl OSReport -/* 0548F0 80059E90 4800E0A4 */ b lbl_80067F34 -.global lbl_80059E94 -lbl_80059E94: -/* 0548F4 80059E94 387A1430 */ addi r3, r26, 0x1430 -/* 0548F8 80059E98 4CC63182 */ crclr 6 -/* 0548FC 80059E9C 4804475D */ bl OSReport -/* 054900 80059EA0 3C7E0001 */ addis r3, r30, 1 -/* 054904 80059EA4 38000002 */ li r0, 2 -/* 054908 80059EA8 90032074 */ stw r0, 0x2074(r3) -/* 05490C 80059EAC 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054910 80059EB0 90032078 */ stw r0, 0x2078(r3) -/* 054914 80059EB4 4800E080 */ b lbl_80067F34 -.global lbl_80059EB8 -lbl_80059EB8: -/* 054918 80059EB8 387A1440 */ addi r3, r26, 0x1440 -/* 05491C 80059EBC 4CC63182 */ crclr 6 -/* 054920 80059EC0 48044739 */ bl OSReport -/* 054924 80059EC4 4800E070 */ b lbl_80067F34 -.global lbl_80059EC8 -lbl_80059EC8: -/* 054928 80059EC8 387A1454 */ addi r3, r26, 0x1454 -/* 05492C 80059ECC 4CC63182 */ crclr 6 -/* 054930 80059ED0 48044729 */ bl OSReport -/* 054934 80059ED4 4800E060 */ b lbl_80067F34 -.global lbl_80059ED8 -lbl_80059ED8: -/* 054938 80059ED8 387A1468 */ addi r3, r26, 0x1468 -/* 05493C 80059EDC 4CC63182 */ crclr 6 -/* 054940 80059EE0 48044719 */ bl OSReport -/* 054944 80059EE4 4800E050 */ b lbl_80067F34 -.global lbl_80059EE8 -lbl_80059EE8: -/* 054948 80059EE8 387A147C */ addi r3, r26, 0x147c -/* 05494C 80059EEC 4CC63182 */ crclr 6 -/* 054950 80059EF0 48044709 */ bl OSReport -/* 054954 80059EF4 4800E040 */ b lbl_80067F34 -.global lbl_80059EF8 -lbl_80059EF8: -/* 054958 80059EF8 281F0000 */ cmplwi r31, 0 -/* 05495C 80059EFC 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054960 80059F00 5783AEFE */ rlwinm r3, r28, 0x15, 0x1b, 0x1f -/* 054964 80059F04 41820034 */ beq lbl_80059F38 -/* 054968 80059F08 54631838 */ slwi r3, r3, 3 -/* 05496C 80059F0C 80810084 */ lwz r4, 0x84(r1) -/* 054970 80059F10 38630140 */ addi r3, r3, 0x140 -/* 054974 80059F14 7C7E1A14 */ add r3, r30, r3 -/* 054978 80059F18 7CBE1850 */ subf r5, r30, r3 -/* 05497C 80059F1C 38640001 */ addi r3, r4, 1 -/* 054980 80059F20 3CA580A3 */ addis r5, r5, 0x80a3 -/* 054984 80059F24 90610084 */ stw r3, 0x84(r1) -/* 054988 80059F28 38650004 */ addi r3, r5, 4 -/* 05498C 80059F2C 5484103A */ slwi r4, r4, 2 -/* 054990 80059F30 7C7F212E */ stwx r3, r31, r4 -/* 054994 80059F34 48000010 */ b lbl_80059F44 -lbl_80059F38: -/* 054998 80059F38 80610084 */ lwz r3, 0x84(r1) -/* 05499C 80059F3C 38630001 */ addi r3, r3, 1 -/* 0549A0 80059F40 90610084 */ stw r3, 0x84(r1) -lbl_80059F44: -/* 0549A4 80059F44 281F0000 */ cmplwi r31, 0 -/* 0549A8 80059F48 41820034 */ beq lbl_80059F7C -/* 0549AC 80059F4C 80610084 */ lwz r3, 0x84(r1) -/* 0549B0 80059F50 808D8A38 */ lwz r4, cpuCompile_W_CVT_SD_function@sda21(r13) -/* 0549B4 80059F54 5466103A */ slwi r6, r3, 2 -/* 0549B8 80059F58 7CBF3214 */ add r5, r31, r6 -/* 0549BC 80059F5C 7C852050 */ subf r4, r5, r4 -/* 0549C0 80059F60 548401BA */ rlwinm r4, r4, 0, 6, 0x1d -/* 0549C4 80059F64 38630001 */ addi r3, r3, 1 -/* 0549C8 80059F68 64844800 */ oris r4, r4, 0x4800 -/* 0549CC 80059F6C 90610084 */ stw r3, 0x84(r1) -/* 0549D0 80059F70 60840001 */ ori r4, r4, 1 -/* 0549D4 80059F74 7C9F312E */ stwx r4, r31, r6 -/* 0549D8 80059F78 48000010 */ b lbl_80059F88 -lbl_80059F7C: -/* 0549DC 80059F7C 80610084 */ lwz r3, 0x84(r1) -/* 0549E0 80059F80 38630001 */ addi r3, r3, 1 -/* 0549E4 80059F84 90610084 */ stw r3, 0x84(r1) -lbl_80059F88: -/* 0549E8 80059F88 281F0000 */ cmplwi r31, 0 -/* 0549EC 80059F8C 41820034 */ beq lbl_80059FC0 -/* 0549F0 80059F90 54041838 */ slwi r4, r0, 3 -/* 0549F4 80059F94 80610084 */ lwz r3, 0x84(r1) -/* 0549F8 80059F98 38040140 */ addi r0, r4, 0x140 -/* 0549FC 80059F9C 7C1E0214 */ add r0, r30, r0 -/* 054A00 80059FA0 7C9E0050 */ subf r4, r30, r0 -/* 054A04 80059FA4 38030001 */ addi r0, r3, 1 -/* 054A08 80059FA8 3C84D023 */ addis r4, r4, 0xd023 -/* 054A0C 80059FAC 90010084 */ stw r0, 0x84(r1) -/* 054A10 80059FB0 38040004 */ addi r0, r4, 4 -/* 054A14 80059FB4 5463103A */ slwi r3, r3, 2 -/* 054A18 80059FB8 7C1F192E */ stwx r0, r31, r3 -/* 054A1C 80059FBC 4800DF78 */ b lbl_80067F34 -lbl_80059FC0: -/* 054A20 80059FC0 80610084 */ lwz r3, 0x84(r1) -/* 054A24 80059FC4 38030001 */ addi r0, r3, 1 -/* 054A28 80059FC8 90010084 */ stw r0, 0x84(r1) -/* 054A2C 80059FCC 4800DF68 */ b lbl_80067F34 -.global lbl_80059FD0 -lbl_80059FD0: -/* 054A30 80059FD0 281F0000 */ cmplwi r31, 0 -/* 054A34 80059FD4 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054A38 80059FD8 5783AEFE */ rlwinm r3, r28, 0x15, 0x1b, 0x1f -/* 054A3C 80059FDC 41820034 */ beq lbl_8005A010 -/* 054A40 80059FE0 54631838 */ slwi r3, r3, 3 -/* 054A44 80059FE4 80810084 */ lwz r4, 0x84(r1) -/* 054A48 80059FE8 38630140 */ addi r3, r3, 0x140 -/* 054A4C 80059FEC 7C7E1A14 */ add r3, r30, r3 -/* 054A50 80059FF0 7CBE1850 */ subf r5, r30, r3 -/* 054A54 80059FF4 38640001 */ addi r3, r4, 1 -/* 054A58 80059FF8 3CA580A3 */ addis r5, r5, 0x80a3 -/* 054A5C 80059FFC 90610084 */ stw r3, 0x84(r1) -/* 054A60 8005A000 38650004 */ addi r3, r5, 4 -/* 054A64 8005A004 5484103A */ slwi r4, r4, 2 -/* 054A68 8005A008 7C7F212E */ stwx r3, r31, r4 -/* 054A6C 8005A00C 48000010 */ b lbl_8005A01C -lbl_8005A010: -/* 054A70 8005A010 80610084 */ lwz r3, 0x84(r1) -/* 054A74 8005A014 38630001 */ addi r3, r3, 1 -/* 054A78 8005A018 90610084 */ stw r3, 0x84(r1) -lbl_8005A01C: -/* 054A7C 8005A01C 281F0000 */ cmplwi r31, 0 -/* 054A80 8005A020 41820034 */ beq lbl_8005A054 -/* 054A84 8005A024 80610084 */ lwz r3, 0x84(r1) -/* 054A88 8005A028 808D8A38 */ lwz r4, cpuCompile_W_CVT_SD_function@sda21(r13) -/* 054A8C 8005A02C 5466103A */ slwi r6, r3, 2 -/* 054A90 8005A030 7CBF3214 */ add r5, r31, r6 -/* 054A94 8005A034 7C852050 */ subf r4, r5, r4 -/* 054A98 8005A038 548401BA */ rlwinm r4, r4, 0, 6, 0x1d -/* 054A9C 8005A03C 38630001 */ addi r3, r3, 1 -/* 054AA0 8005A040 64844800 */ oris r4, r4, 0x4800 -/* 054AA4 8005A044 90610084 */ stw r3, 0x84(r1) -/* 054AA8 8005A048 60840001 */ ori r4, r4, 1 -/* 054AAC 8005A04C 7C9F312E */ stwx r4, r31, r6 -/* 054AB0 8005A050 48000010 */ b lbl_8005A060 -lbl_8005A054: -/* 054AB4 8005A054 80610084 */ lwz r3, 0x84(r1) -/* 054AB8 8005A058 38630001 */ addi r3, r3, 1 -/* 054ABC 8005A05C 90610084 */ stw r3, 0x84(r1) -lbl_8005A060: -/* 054AC0 8005A060 281F0000 */ cmplwi r31, 0 -/* 054AC4 8005A064 41820030 */ beq lbl_8005A094 -/* 054AC8 8005A068 80610084 */ lwz r3, 0x84(r1) -/* 054ACC 8005A06C 54041838 */ slwi r4, r0, 3 -/* 054AD0 8005A070 38040140 */ addi r0, r4, 0x140 -/* 054AD4 8005A074 7C9E0214 */ add r4, r30, r0 -/* 054AD8 8005A078 38030001 */ addi r0, r3, 1 -/* 054ADC 8005A07C 7C9E2050 */ subf r4, r30, r4 -/* 054AE0 8005A080 90010084 */ stw r0, 0x84(r1) -/* 054AE4 8005A084 3C04D823 */ addis r0, r4, 0xd823 -/* 054AE8 8005A088 5463103A */ slwi r3, r3, 2 -/* 054AEC 8005A08C 7C1F192E */ stwx r0, r31, r3 -/* 054AF0 8005A090 4800DEA4 */ b lbl_80067F34 -lbl_8005A094: -/* 054AF4 8005A094 80610084 */ lwz r3, 0x84(r1) -/* 054AF8 8005A098 38030001 */ addi r0, r3, 1 -/* 054AFC 8005A09C 90010084 */ stw r0, 0x84(r1) -/* 054B00 8005A0A0 4800DE94 */ b lbl_80067F34 -.global lbl_8005A0A4 -lbl_8005A0A4: -/* 054B04 8005A0A4 387A1490 */ addi r3, r26, 0x1490 -/* 054B08 8005A0A8 4CC63182 */ crclr 6 -/* 054B0C 8005A0AC 4804454D */ bl OSReport -/* 054B10 8005A0B0 4800DE84 */ b lbl_80067F34 -.global lbl_8005A0B4 -lbl_8005A0B4: -/* 054B14 8005A0B4 387A14A0 */ addi r3, r26, 0x14a0 -/* 054B18 8005A0B8 4CC63182 */ crclr 6 -/* 054B1C 8005A0BC 4804453D */ bl OSReport -/* 054B20 8005A0C0 4800DE74 */ b lbl_80067F34 -.global lbl_8005A0C4 -lbl_8005A0C4: -/* 054B24 8005A0C4 387A14B0 */ addi r3, r26, 0x14b0 -/* 054B28 8005A0C8 4CC63182 */ crclr 6 -/* 054B2C 8005A0CC 4804452D */ bl OSReport -/* 054B30 8005A0D0 4800DE64 */ b lbl_80067F34 -.global lbl_8005A0D4 -lbl_8005A0D4: -/* 054B34 8005A0D4 387A14C0 */ addi r3, r26, 0x14c0 -/* 054B38 8005A0D8 4CC63182 */ crclr 6 -/* 054B3C 8005A0DC 4804451D */ bl OSReport -/* 054B40 8005A0E0 4800DE54 */ b lbl_80067F34 -.global lbl_8005A0E4 -lbl_8005A0E4: -/* 054B44 8005A0E4 387A14D0 */ addi r3, r26, 0x14d0 -/* 054B48 8005A0E8 4CC63182 */ crclr 6 -/* 054B4C 8005A0EC 4804450D */ bl OSReport -/* 054B50 8005A0F0 4800DE44 */ b lbl_80067F34 -.global lbl_8005A0F4 -lbl_8005A0F4: -/* 054B54 8005A0F4 387A14E0 */ addi r3, r26, 0x14e0 -/* 054B58 8005A0F8 4CC63182 */ crclr 6 -/* 054B5C 8005A0FC 480444FD */ bl OSReport -/* 054B60 8005A100 4800DE34 */ b lbl_80067F34 -.global lbl_8005A104 -lbl_8005A104: -/* 054B64 8005A104 387A14F0 */ addi r3, r26, 0x14f0 -/* 054B68 8005A108 4CC63182 */ crclr 6 -/* 054B6C 8005A10C 480444ED */ bl OSReport -/* 054B70 8005A110 4800DE24 */ b lbl_80067F34 -.global lbl_8005A114 -lbl_8005A114: -/* 054B74 8005A114 387A1500 */ addi r3, r26, 0x1500 -/* 054B78 8005A118 4CC63182 */ crclr 6 -/* 054B7C 8005A11C 480444DD */ bl OSReport -/* 054B80 8005A120 4800DE14 */ b lbl_80067F34 -.global lbl_8005A124 -lbl_8005A124: -/* 054B84 8005A124 387A1510 */ addi r3, r26, 0x1510 -/* 054B88 8005A128 4CC63182 */ crclr 6 -/* 054B8C 8005A12C 480444CD */ bl OSReport -/* 054B90 8005A130 4800DE04 */ b lbl_80067F34 -.global lbl_8005A134 -lbl_8005A134: -/* 054B94 8005A134 387A1520 */ addi r3, r26, 0x1520 -/* 054B98 8005A138 4CC63182 */ crclr 6 -/* 054B9C 8005A13C 480444BD */ bl OSReport -/* 054BA0 8005A140 4800DDF4 */ b lbl_80067F34 -.global lbl_8005A144 -lbl_8005A144: -/* 054BA4 8005A144 387A1530 */ addi r3, r26, 0x1530 -/* 054BA8 8005A148 4CC63182 */ crclr 6 -/* 054BAC 8005A14C 480444AD */ bl OSReport -/* 054BB0 8005A150 4800DDE4 */ b lbl_80067F34 -.global lbl_8005A154 -lbl_8005A154: -/* 054BB4 8005A154 387A1544 */ addi r3, r26, 0x1544 -/* 054BB8 8005A158 4CC63182 */ crclr 6 -/* 054BBC 8005A15C 4804449D */ bl OSReport -/* 054BC0 8005A160 4800DDD4 */ b lbl_80067F34 -.global lbl_8005A164 -lbl_8005A164: -/* 054BC4 8005A164 387A1554 */ addi r3, r26, 0x1554 -/* 054BC8 8005A168 4CC63182 */ crclr 6 -/* 054BCC 8005A16C 4804448D */ bl OSReport -/* 054BD0 8005A170 4800DDC4 */ b lbl_80067F34 -.global lbl_8005A174 -lbl_8005A174: -/* 054BD4 8005A174 387A1564 */ addi r3, r26, 0x1564 -/* 054BD8 8005A178 4CC63182 */ crclr 6 -/* 054BDC 8005A17C 4804447D */ bl OSReport -/* 054BE0 8005A180 4800DDB4 */ b lbl_80067F34 -.global lbl_8005A184 -lbl_8005A184: -/* 054BE4 8005A184 387A1574 */ addi r3, r26, 0x1574 -/* 054BE8 8005A188 4CC63182 */ crclr 6 -/* 054BEC 8005A18C 4804446D */ bl OSReport -/* 054BF0 8005A190 4800DDA4 */ b lbl_80067F34 -.global lbl_8005A194 -lbl_8005A194: -/* 054BF4 8005A194 387A1584 */ addi r3, r26, 0x1584 -/* 054BF8 8005A198 4CC63182 */ crclr 6 -/* 054BFC 8005A19C 4804445D */ bl OSReport -/* 054C00 8005A1A0 4800DD94 */ b lbl_80067F34 -.global lbl_8005A1A4 -lbl_8005A1A4: -/* 054C04 8005A1A4 387A1594 */ addi r3, r26, 0x1594 -/* 054C08 8005A1A8 4CC63182 */ crclr 6 -/* 054C0C 8005A1AC 4804444D */ bl OSReport -/* 054C10 8005A1B0 4800DD84 */ b lbl_80067F34 -.global lbl_8005A1B4 -lbl_8005A1B4: -/* 054C14 8005A1B4 39E00000 */ li r15, 0 -/* 054C18 8005A1B8 4800DD7C */ b lbl_80067F34 -lbl_8005A1BC: -/* 054C1C 8005A1BC 578006BE */ clrlwi r0, r28, 0x1a -/* 054C20 8005A1C0 2800003F */ cmplwi r0, 0x3f -/* 054C24 8005A1C4 418104C4 */ bgt lbl_8005A688 -/* 054C28 8005A1C8 3C60800F */ lis r3, jtbl_800ECDE0@ha -/* 054C2C 8005A1CC 3863CDE0 */ addi r3, r3, jtbl_800ECDE0@l -/* 054C30 8005A1D0 5400103A */ slwi r0, r0, 2 -/* 054C34 8005A1D4 7C03002E */ lwzx r0, r3, r0 -/* 054C38 8005A1D8 7C0903A6 */ mtctr r0 -/* 054C3C 8005A1DC 4E800420 */ bctr -.global lbl_8005A1E0 -lbl_8005A1E0: -/* 054C40 8005A1E0 387A15A4 */ addi r3, r26, 0x15a4 -/* 054C44 8005A1E4 4CC63182 */ crclr 6 -/* 054C48 8005A1E8 48044411 */ bl OSReport -/* 054C4C 8005A1EC 3C7E0001 */ addis r3, r30, 1 -/* 054C50 8005A1F0 38000002 */ li r0, 2 -/* 054C54 8005A1F4 90032074 */ stw r0, 0x2074(r3) -/* 054C58 8005A1F8 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054C5C 8005A1FC 90032078 */ stw r0, 0x2078(r3) -/* 054C60 8005A200 4800DD34 */ b lbl_80067F34 -.global lbl_8005A204 -lbl_8005A204: -/* 054C64 8005A204 387A15B4 */ addi r3, r26, 0x15b4 -/* 054C68 8005A208 4CC63182 */ crclr 6 -/* 054C6C 8005A20C 480443ED */ bl OSReport -/* 054C70 8005A210 3C7E0001 */ addis r3, r30, 1 -/* 054C74 8005A214 38000002 */ li r0, 2 -/* 054C78 8005A218 90032074 */ stw r0, 0x2074(r3) -/* 054C7C 8005A21C 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054C80 8005A220 90032078 */ stw r0, 0x2078(r3) -/* 054C84 8005A224 4800DD10 */ b lbl_80067F34 -.global lbl_8005A228 -lbl_8005A228: -/* 054C88 8005A228 387A15C4 */ addi r3, r26, 0x15c4 -/* 054C8C 8005A22C 4CC63182 */ crclr 6 -/* 054C90 8005A230 480443C9 */ bl OSReport -/* 054C94 8005A234 3C7E0001 */ addis r3, r30, 1 -/* 054C98 8005A238 38000002 */ li r0, 2 -/* 054C9C 8005A23C 90032074 */ stw r0, 0x2074(r3) -/* 054CA0 8005A240 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054CA4 8005A244 90032078 */ stw r0, 0x2078(r3) -/* 054CA8 8005A248 4800DCEC */ b lbl_80067F34 -.global lbl_8005A24C -lbl_8005A24C: -/* 054CAC 8005A24C 387A15D4 */ addi r3, r26, 0x15d4 -/* 054CB0 8005A250 4CC63182 */ crclr 6 -/* 054CB4 8005A254 480443A5 */ bl OSReport -/* 054CB8 8005A258 3C7E0001 */ addis r3, r30, 1 -/* 054CBC 8005A25C 38000002 */ li r0, 2 -/* 054CC0 8005A260 90032074 */ stw r0, 0x2074(r3) -/* 054CC4 8005A264 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054CC8 8005A268 90032078 */ stw r0, 0x2078(r3) -/* 054CCC 8005A26C 4800DCC8 */ b lbl_80067F34 -.global lbl_8005A270 -lbl_8005A270: -/* 054CD0 8005A270 387A15E4 */ addi r3, r26, 0x15e4 -/* 054CD4 8005A274 4CC63182 */ crclr 6 -/* 054CD8 8005A278 48044381 */ bl OSReport -/* 054CDC 8005A27C 4800DCB8 */ b lbl_80067F34 -.global lbl_8005A280 -lbl_8005A280: -/* 054CE0 8005A280 387A15F4 */ addi r3, r26, 0x15f4 -/* 054CE4 8005A284 4CC63182 */ crclr 6 -/* 054CE8 8005A288 48044371 */ bl OSReport -/* 054CEC 8005A28C 3C7E0001 */ addis r3, r30, 1 -/* 054CF0 8005A290 38000002 */ li r0, 2 -/* 054CF4 8005A294 90032074 */ stw r0, 0x2074(r3) -/* 054CF8 8005A298 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054CFC 8005A29C 90032078 */ stw r0, 0x2078(r3) -/* 054D00 8005A2A0 4800DC94 */ b lbl_80067F34 -.global lbl_8005A2A4 -lbl_8005A2A4: -/* 054D04 8005A2A4 387A1604 */ addi r3, r26, 0x1604 -/* 054D08 8005A2A8 4CC63182 */ crclr 6 -/* 054D0C 8005A2AC 4804434D */ bl OSReport -/* 054D10 8005A2B0 4800DC84 */ b lbl_80067F34 -.global lbl_8005A2B4 -lbl_8005A2B4: -/* 054D14 8005A2B4 387A1614 */ addi r3, r26, 0x1614 -/* 054D18 8005A2B8 4CC63182 */ crclr 6 -/* 054D1C 8005A2BC 4804433D */ bl OSReport -/* 054D20 8005A2C0 3C7E0001 */ addis r3, r30, 1 -/* 054D24 8005A2C4 38000002 */ li r0, 2 -/* 054D28 8005A2C8 90032074 */ stw r0, 0x2074(r3) -/* 054D2C 8005A2CC 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054D30 8005A2D0 90032078 */ stw r0, 0x2078(r3) -/* 054D34 8005A2D4 4800DC60 */ b lbl_80067F34 -.global lbl_8005A2D8 -lbl_8005A2D8: -/* 054D38 8005A2D8 387A1624 */ addi r3, r26, 0x1624 -/* 054D3C 8005A2DC 4CC63182 */ crclr 6 -/* 054D40 8005A2E0 48044319 */ bl OSReport -/* 054D44 8005A2E4 4800DC50 */ b lbl_80067F34 -.global lbl_8005A2E8 -lbl_8005A2E8: -/* 054D48 8005A2E8 387A1638 */ addi r3, r26, 0x1638 -/* 054D4C 8005A2EC 4CC63182 */ crclr 6 -/* 054D50 8005A2F0 48044309 */ bl OSReport -/* 054D54 8005A2F4 4800DC40 */ b lbl_80067F34 -.global lbl_8005A2F8 -lbl_8005A2F8: -/* 054D58 8005A2F8 387A164C */ addi r3, r26, 0x164c -/* 054D5C 8005A2FC 4CC63182 */ crclr 6 -/* 054D60 8005A300 480442F9 */ bl OSReport -/* 054D64 8005A304 4800DC30 */ b lbl_80067F34 -.global lbl_8005A308 -lbl_8005A308: -/* 054D68 8005A308 387A1660 */ addi r3, r26, 0x1660 -/* 054D6C 8005A30C 4CC63182 */ crclr 6 -/* 054D70 8005A310 480442E9 */ bl OSReport -/* 054D74 8005A314 4800DC20 */ b lbl_80067F34 -.global lbl_8005A318 -lbl_8005A318: -/* 054D78 8005A318 281F0000 */ cmplwi r31, 0 -/* 054D7C 8005A31C 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054D80 8005A320 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 054D84 8005A324 41820030 */ beq lbl_8005A354 -/* 054D88 8005A328 80610084 */ lwz r3, 0x84(r1) -/* 054D8C 8005A32C 54A41838 */ slwi r4, r5, 3 -/* 054D90 8005A330 38840140 */ addi r4, r4, 0x140 -/* 054D94 8005A334 7C9E2214 */ add r4, r30, r4 -/* 054D98 8005A338 38C30001 */ addi r6, r3, 1 -/* 054D9C 8005A33C 7C9E2050 */ subf r4, r30, r4 -/* 054DA0 8005A340 90C10084 */ stw r6, 0x84(r1) -/* 054DA4 8005A344 3C8480A3 */ addis r4, r4, 0x80a3 -/* 054DA8 8005A348 5463103A */ slwi r3, r3, 2 -/* 054DAC 8005A34C 7C9F192E */ stwx r4, r31, r3 -/* 054DB0 8005A350 48000010 */ b lbl_8005A360 -lbl_8005A354: -/* 054DB4 8005A354 80610084 */ lwz r3, 0x84(r1) -/* 054DB8 8005A358 38630001 */ addi r3, r3, 1 -/* 054DBC 8005A35C 90610084 */ stw r3, 0x84(r1) -lbl_8005A360: -/* 054DC0 8005A360 281F0000 */ cmplwi r31, 0 -/* 054DC4 8005A364 41820034 */ beq lbl_8005A398 -/* 054DC8 8005A368 54A31838 */ slwi r3, r5, 3 -/* 054DCC 8005A36C 80810084 */ lwz r4, 0x84(r1) -/* 054DD0 8005A370 38630140 */ addi r3, r3, 0x140 -/* 054DD4 8005A374 7C7E1A14 */ add r3, r30, r3 -/* 054DD8 8005A378 7CBE1850 */ subf r5, r30, r3 -/* 054DDC 8005A37C 38640001 */ addi r3, r4, 1 -/* 054DE0 8005A380 3CA580C3 */ addis r5, r5, 0x80c3 -/* 054DE4 8005A384 90610084 */ stw r3, 0x84(r1) -/* 054DE8 8005A388 38650004 */ addi r3, r5, 4 -/* 054DEC 8005A38C 5484103A */ slwi r4, r4, 2 -/* 054DF0 8005A390 7C7F212E */ stwx r3, r31, r4 -/* 054DF4 8005A394 48000010 */ b lbl_8005A3A4 -lbl_8005A398: -/* 054DF8 8005A398 80610084 */ lwz r3, 0x84(r1) -/* 054DFC 8005A39C 38630001 */ addi r3, r3, 1 -/* 054E00 8005A3A0 90610084 */ stw r3, 0x84(r1) -lbl_8005A3A4: -/* 054E04 8005A3A4 281F0000 */ cmplwi r31, 0 -/* 054E08 8005A3A8 41820034 */ beq lbl_8005A3DC -/* 054E0C 8005A3AC 80610084 */ lwz r3, 0x84(r1) -/* 054E10 8005A3B0 808D8A3C */ lwz r4, cpuCompile_L_CVT_SD_function@sda21(r13) -/* 054E14 8005A3B4 5466103A */ slwi r6, r3, 2 -/* 054E18 8005A3B8 7CBF3214 */ add r5, r31, r6 -/* 054E1C 8005A3BC 7C852050 */ subf r4, r5, r4 -/* 054E20 8005A3C0 548401BA */ rlwinm r4, r4, 0, 6, 0x1d -/* 054E24 8005A3C4 38630001 */ addi r3, r3, 1 -/* 054E28 8005A3C8 64844800 */ oris r4, r4, 0x4800 -/* 054E2C 8005A3CC 90610084 */ stw r3, 0x84(r1) -/* 054E30 8005A3D0 60840001 */ ori r4, r4, 1 -/* 054E34 8005A3D4 7C9F312E */ stwx r4, r31, r6 -/* 054E38 8005A3D8 48000010 */ b lbl_8005A3E8 -lbl_8005A3DC: -/* 054E3C 8005A3DC 80610084 */ lwz r3, 0x84(r1) -/* 054E40 8005A3E0 38630001 */ addi r3, r3, 1 -/* 054E44 8005A3E4 90610084 */ stw r3, 0x84(r1) -lbl_8005A3E8: -/* 054E48 8005A3E8 281F0000 */ cmplwi r31, 0 -/* 054E4C 8005A3EC 41820024 */ beq lbl_8005A410 -/* 054E50 8005A3F0 80810084 */ lwz r4, 0x84(r1) -/* 054E54 8005A3F4 3C60FC20 */ lis r3, 0xfc20 -/* 054E58 8005A3F8 38A30818 */ addi r5, r3, 0x818 -/* 054E5C 8005A3FC 38640001 */ addi r3, r4, 1 -/* 054E60 8005A400 90610084 */ stw r3, 0x84(r1) -/* 054E64 8005A404 5483103A */ slwi r3, r4, 2 -/* 054E68 8005A408 7CBF192E */ stwx r5, r31, r3 -/* 054E6C 8005A40C 48000010 */ b lbl_8005A41C -lbl_8005A410: -/* 054E70 8005A410 80610084 */ lwz r3, 0x84(r1) -/* 054E74 8005A414 38630001 */ addi r3, r3, 1 -/* 054E78 8005A418 90610084 */ stw r3, 0x84(r1) -lbl_8005A41C: -/* 054E7C 8005A41C 281F0000 */ cmplwi r31, 0 -/* 054E80 8005A420 41820034 */ beq lbl_8005A454 -/* 054E84 8005A424 54041838 */ slwi r4, r0, 3 -/* 054E88 8005A428 80610084 */ lwz r3, 0x84(r1) -/* 054E8C 8005A42C 38040140 */ addi r0, r4, 0x140 -/* 054E90 8005A430 7C1E0214 */ add r0, r30, r0 -/* 054E94 8005A434 7C9E0050 */ subf r4, r30, r0 -/* 054E98 8005A438 38030001 */ addi r0, r3, 1 -/* 054E9C 8005A43C 3C84D023 */ addis r4, r4, 0xd023 -/* 054EA0 8005A440 90010084 */ stw r0, 0x84(r1) -/* 054EA4 8005A444 38040004 */ addi r0, r4, 4 -/* 054EA8 8005A448 5463103A */ slwi r3, r3, 2 -/* 054EAC 8005A44C 7C1F192E */ stwx r0, r31, r3 -/* 054EB0 8005A450 4800DAE4 */ b lbl_80067F34 -lbl_8005A454: -/* 054EB4 8005A454 80610084 */ lwz r3, 0x84(r1) -/* 054EB8 8005A458 38030001 */ addi r0, r3, 1 -/* 054EBC 8005A45C 90010084 */ stw r0, 0x84(r1) -/* 054EC0 8005A460 4800DAD4 */ b lbl_80067F34 -.global lbl_8005A464 -lbl_8005A464: -/* 054EC4 8005A464 281F0000 */ cmplwi r31, 0 -/* 054EC8 8005A468 5780D6FE */ rlwinm r0, r28, 0x1a, 0x1b, 0x1f -/* 054ECC 8005A46C 5785AEFE */ rlwinm r5, r28, 0x15, 0x1b, 0x1f -/* 054ED0 8005A470 41820030 */ beq lbl_8005A4A0 -/* 054ED4 8005A474 80610084 */ lwz r3, 0x84(r1) -/* 054ED8 8005A478 54A41838 */ slwi r4, r5, 3 -/* 054EDC 8005A47C 38840140 */ addi r4, r4, 0x140 -/* 054EE0 8005A480 7C9E2214 */ add r4, r30, r4 -/* 054EE4 8005A484 38C30001 */ addi r6, r3, 1 -/* 054EE8 8005A488 7C9E2050 */ subf r4, r30, r4 -/* 054EEC 8005A48C 90C10084 */ stw r6, 0x84(r1) -/* 054EF0 8005A490 3C8480A3 */ addis r4, r4, 0x80a3 -/* 054EF4 8005A494 5463103A */ slwi r3, r3, 2 -/* 054EF8 8005A498 7C9F192E */ stwx r4, r31, r3 -/* 054EFC 8005A49C 48000010 */ b lbl_8005A4AC -lbl_8005A4A0: -/* 054F00 8005A4A0 80610084 */ lwz r3, 0x84(r1) -/* 054F04 8005A4A4 38630001 */ addi r3, r3, 1 -/* 054F08 8005A4A8 90610084 */ stw r3, 0x84(r1) -lbl_8005A4AC: -/* 054F0C 8005A4AC 281F0000 */ cmplwi r31, 0 -/* 054F10 8005A4B0 41820034 */ beq lbl_8005A4E4 -/* 054F14 8005A4B4 54A31838 */ slwi r3, r5, 3 -/* 054F18 8005A4B8 80810084 */ lwz r4, 0x84(r1) -/* 054F1C 8005A4BC 38630140 */ addi r3, r3, 0x140 -/* 054F20 8005A4C0 7C7E1A14 */ add r3, r30, r3 -/* 054F24 8005A4C4 7CBE1850 */ subf r5, r30, r3 -/* 054F28 8005A4C8 38640001 */ addi r3, r4, 1 -/* 054F2C 8005A4CC 3CA580C3 */ addis r5, r5, 0x80c3 -/* 054F30 8005A4D0 90610084 */ stw r3, 0x84(r1) -/* 054F34 8005A4D4 38650004 */ addi r3, r5, 4 -/* 054F38 8005A4D8 5484103A */ slwi r4, r4, 2 -/* 054F3C 8005A4DC 7C7F212E */ stwx r3, r31, r4 -/* 054F40 8005A4E0 48000010 */ b lbl_8005A4F0 -lbl_8005A4E4: -/* 054F44 8005A4E4 80610084 */ lwz r3, 0x84(r1) -/* 054F48 8005A4E8 38630001 */ addi r3, r3, 1 -/* 054F4C 8005A4EC 90610084 */ stw r3, 0x84(r1) -lbl_8005A4F0: -/* 054F50 8005A4F0 281F0000 */ cmplwi r31, 0 -/* 054F54 8005A4F4 41820034 */ beq lbl_8005A528 -/* 054F58 8005A4F8 80610084 */ lwz r3, 0x84(r1) -/* 054F5C 8005A4FC 808D8A3C */ lwz r4, cpuCompile_L_CVT_SD_function@sda21(r13) -/* 054F60 8005A500 5466103A */ slwi r6, r3, 2 -/* 054F64 8005A504 7CBF3214 */ add r5, r31, r6 -/* 054F68 8005A508 7C852050 */ subf r4, r5, r4 -/* 054F6C 8005A50C 548401BA */ rlwinm r4, r4, 0, 6, 0x1d -/* 054F70 8005A510 38630001 */ addi r3, r3, 1 -/* 054F74 8005A514 64844800 */ oris r4, r4, 0x4800 -/* 054F78 8005A518 90610084 */ stw r3, 0x84(r1) -/* 054F7C 8005A51C 60840001 */ ori r4, r4, 1 -/* 054F80 8005A520 7C9F312E */ stwx r4, r31, r6 -/* 054F84 8005A524 48000010 */ b lbl_8005A534 -lbl_8005A528: -/* 054F88 8005A528 80610084 */ lwz r3, 0x84(r1) -/* 054F8C 8005A52C 38630001 */ addi r3, r3, 1 -/* 054F90 8005A530 90610084 */ stw r3, 0x84(r1) -lbl_8005A534: -/* 054F94 8005A534 281F0000 */ cmplwi r31, 0 -/* 054F98 8005A538 41820030 */ beq lbl_8005A568 -/* 054F9C 8005A53C 80610084 */ lwz r3, 0x84(r1) -/* 054FA0 8005A540 54041838 */ slwi r4, r0, 3 -/* 054FA4 8005A544 38040140 */ addi r0, r4, 0x140 -/* 054FA8 8005A548 7C9E0214 */ add r4, r30, r0 -/* 054FAC 8005A54C 38030001 */ addi r0, r3, 1 -/* 054FB0 8005A550 7C9E2050 */ subf r4, r30, r4 -/* 054FB4 8005A554 90010084 */ stw r0, 0x84(r1) -/* 054FB8 8005A558 3C04D823 */ addis r0, r4, 0xd823 -/* 054FBC 8005A55C 5463103A */ slwi r3, r3, 2 -/* 054FC0 8005A560 7C1F192E */ stwx r0, r31, r3 -/* 054FC4 8005A564 4800D9D0 */ b lbl_80067F34 -lbl_8005A568: -/* 054FC8 8005A568 80610084 */ lwz r3, 0x84(r1) -/* 054FCC 8005A56C 38030001 */ addi r0, r3, 1 -/* 054FD0 8005A570 90010084 */ stw r0, 0x84(r1) -/* 054FD4 8005A574 4800D9C0 */ b lbl_80067F34 -.global lbl_8005A578 -lbl_8005A578: -/* 054FD8 8005A578 387A1674 */ addi r3, r26, 0x1674 -/* 054FDC 8005A57C 4CC63182 */ crclr 6 -/* 054FE0 8005A580 48044079 */ bl OSReport -/* 054FE4 8005A584 4800D9B0 */ b lbl_80067F34 -.global lbl_8005A588 -lbl_8005A588: -/* 054FE8 8005A588 387A1684 */ addi r3, r26, 0x1684 -/* 054FEC 8005A58C 4CC63182 */ crclr 6 -/* 054FF0 8005A590 48044069 */ bl OSReport -/* 054FF4 8005A594 4800D9A0 */ b lbl_80067F34 -.global lbl_8005A598 -lbl_8005A598: -/* 054FF8 8005A598 387A1694 */ addi r3, r26, 0x1694 -/* 054FFC 8005A59C 4CC63182 */ crclr 6 -/* 055000 8005A5A0 48044059 */ bl OSReport -/* 055004 8005A5A4 4800D990 */ b lbl_80067F34 -.global lbl_8005A5A8 -lbl_8005A5A8: -/* 055008 8005A5A8 387A16A4 */ addi r3, r26, 0x16a4 -/* 05500C 8005A5AC 4CC63182 */ crclr 6 -/* 055010 8005A5B0 48044049 */ bl OSReport -/* 055014 8005A5B4 4800D980 */ b lbl_80067F34 -.global lbl_8005A5B8 -lbl_8005A5B8: -/* 055018 8005A5B8 387A16B4 */ addi r3, r26, 0x16b4 -/* 05501C 8005A5BC 4CC63182 */ crclr 6 -/* 055020 8005A5C0 48044039 */ bl OSReport -/* 055024 8005A5C4 4800D970 */ b lbl_80067F34 -.global lbl_8005A5C8 -lbl_8005A5C8: -/* 055028 8005A5C8 387A16C4 */ addi r3, r26, 0x16c4 -/* 05502C 8005A5CC 4CC63182 */ crclr 6 -/* 055030 8005A5D0 48044029 */ bl OSReport -/* 055034 8005A5D4 4800D960 */ b lbl_80067F34 -.global lbl_8005A5D8 -lbl_8005A5D8: -/* 055038 8005A5D8 387A16D4 */ addi r3, r26, 0x16d4 -/* 05503C 8005A5DC 4CC63182 */ crclr 6 -/* 055040 8005A5E0 48044019 */ bl OSReport -/* 055044 8005A5E4 4800D950 */ b lbl_80067F34 -.global lbl_8005A5E8 -lbl_8005A5E8: -/* 055048 8005A5E8 387A16E4 */ addi r3, r26, 0x16e4 -/* 05504C 8005A5EC 4CC63182 */ crclr 6 -/* 055050 8005A5F0 48044009 */ bl OSReport -/* 055054 8005A5F4 4800D940 */ b lbl_80067F34 -.global lbl_8005A5F8 -lbl_8005A5F8: -/* 055058 8005A5F8 387A16F4 */ addi r3, r26, 0x16f4 -/* 05505C 8005A5FC 4CC63182 */ crclr 6 -/* 055060 8005A600 48043FF9 */ bl OSReport -/* 055064 8005A604 4800D930 */ b lbl_80067F34 -.global lbl_8005A608 -lbl_8005A608: -/* 055068 8005A608 387A1704 */ addi r3, r26, 0x1704 -/* 05506C 8005A60C 4CC63182 */ crclr 6 -/* 055070 8005A610 48043FE9 */ bl OSReport -/* 055074 8005A614 4800D920 */ b lbl_80067F34 -.global lbl_8005A618 -lbl_8005A618: -/* 055078 8005A618 387A1714 */ addi r3, r26, 0x1714 -/* 05507C 8005A61C 4CC63182 */ crclr 6 -/* 055080 8005A620 48043FD9 */ bl OSReport -/* 055084 8005A624 4800D910 */ b lbl_80067F34 -.global lbl_8005A628 -lbl_8005A628: -/* 055088 8005A628 387A1728 */ addi r3, r26, 0x1728 -/* 05508C 8005A62C 4CC63182 */ crclr 6 -/* 055090 8005A630 48043FC9 */ bl OSReport -/* 055094 8005A634 4800D900 */ b lbl_80067F34 -.global lbl_8005A638 -lbl_8005A638: -/* 055098 8005A638 387A1738 */ addi r3, r26, 0x1738 -/* 05509C 8005A63C 4CC63182 */ crclr 6 -/* 0550A0 8005A640 48043FB9 */ bl OSReport -/* 0550A4 8005A644 4800D8F0 */ b lbl_80067F34 -.global lbl_8005A648 -lbl_8005A648: -/* 0550A8 8005A648 387A1748 */ addi r3, r26, 0x1748 -/* 0550AC 8005A64C 4CC63182 */ crclr 6 -/* 0550B0 8005A650 48043FA9 */ bl OSReport -/* 0550B4 8005A654 4800D8E0 */ b lbl_80067F34 -.global lbl_8005A658 -lbl_8005A658: -/* 0550B8 8005A658 387A1758 */ addi r3, r26, 0x1758 -/* 0550BC 8005A65C 4CC63182 */ crclr 6 -/* 0550C0 8005A660 48043F99 */ bl OSReport -/* 0550C4 8005A664 4800D8D0 */ b lbl_80067F34 -.global lbl_8005A668 -lbl_8005A668: -/* 0550C8 8005A668 387A1768 */ addi r3, r26, 0x1768 -/* 0550CC 8005A66C 4CC63182 */ crclr 6 -/* 0550D0 8005A670 48043F89 */ bl OSReport -/* 0550D4 8005A674 4800D8C0 */ b lbl_80067F34 -.global lbl_8005A678 -lbl_8005A678: -/* 0550D8 8005A678 387A1778 */ addi r3, r26, 0x1778 -/* 0550DC 8005A67C 4CC63182 */ crclr 6 -/* 0550E0 8005A680 48043F79 */ bl OSReport -/* 0550E4 8005A684 4800D8B0 */ b lbl_80067F34 -.global lbl_8005A688 -lbl_8005A688: -/* 0550E8 8005A688 39E00000 */ li r15, 0 -/* 0550EC 8005A68C 4800D8A8 */ b lbl_80067F34 -.global lbl_8005A690 -lbl_8005A690: -/* 0550F0 8005A690 39E00000 */ li r15, 0 -/* 0550F4 8005A694 4800D8A0 */ b lbl_80067F34 -.global lbl_8005A698 -lbl_8005A698: -/* 0550F8 8005A698 39E00000 */ li r15, 0 -/* 0550FC 8005A69C 4800D898 */ b lbl_80067F34 -.global lbl_8005A6A0 -lbl_8005A6A0: -/* 055100 8005A6A0 5783043E */ clrlwi r3, r28, 0x10 -/* 055104 8005A6A4 80120000 */ lwz r0, 0(r18) -/* 055108 8005A6A8 7C630734 */ extsh r3, r3 -/* 05510C 8005A6AC 5463103A */ slwi r3, r3, 2 -/* 055110 8005A6B0 57865EFE */ rlwinm r6, r28, 0xb, 0x1b, 0x1f -/* 055114 8005A6B4 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 055118 8005A6B8 7C063840 */ cmplw r6, r7 -/* 05511C 8005A6BC 7E801A14 */ add r20, r0, r3 -/* 055120 8005A6C0 408200F8 */ bne lbl_8005A7B8 -/* 055124 8005A6C4 387E0000 */ addi r3, r30, 0 -/* 055128 8005A6C8 38920000 */ addi r4, r18, 0 -/* 05512C 8005A6CC 38BB0000 */ addi r5, r27, 0 -/* 055130 8005A6D0 38DF0000 */ addi r6, r31, 0 -/* 055134 8005A6D4 38E10084 */ addi r7, r1, 0x84 -/* 055138 8005A6D8 39000001 */ li r8, 1 -/* 05513C 8005A6DC 4BFE4729 */ bl cpuGetPPC -/* 055140 8005A6E0 2C030000 */ cmpwi r3, 0 -/* 055144 8005A6E4 4082000C */ bne lbl_8005A6F0 -/* 055148 8005A6E8 38600000 */ li r3, 0 -/* 05514C 8005A6EC 4800DB38 */ b lbl_80068224 -lbl_8005A6F0: -/* 055150 8005A6F0 80720000 */ lwz r3, 0(r18) -/* 055154 8005A6F4 281F0000 */ cmplwi r31, 0 -/* 055158 8005A6F8 3803FFFC */ addi r0, r3, -4 -/* 05515C 8005A6FC 90120000 */ stw r0, 0(r18) -/* 055160 8005A700 40820010 */ bne lbl_8005A710 -/* 055164 8005A704 3B200000 */ li r25, 0 -/* 055168 8005A708 38000001 */ li r0, 1 -/* 05516C 8005A70C 48000050 */ b lbl_8005A75C -lbl_8005A710: -/* 055170 8005A710 801B0008 */ lwz r0, 8(r27) -/* 055174 8005A714 38600000 */ li r3, 0 -/* 055178 8005A718 38830000 */ addi r4, r3, 0 -/* 05517C 8005A71C 2C000000 */ cmpwi r0, 0 -/* 055180 8005A720 7C0903A6 */ mtctr r0 -/* 055184 8005A724 40810034 */ ble lbl_8005A758 -lbl_8005A728: -/* 055188 8005A728 80BB000C */ lwz r5, 0xc(r27) -/* 05518C 8005A72C 38040004 */ addi r0, r4, 4 -/* 055190 8005A730 7C05002E */ lwzx r0, r5, r0 -/* 055194 8005A734 7C140000 */ cmpw r20, r0 -/* 055198 8005A738 40820014 */ bne lbl_8005A74C -/* 05519C 8005A73C 54601838 */ slwi r0, r3, 3 -/* 0551A0 8005A740 7F25002E */ lwzx r25, r5, r0 -/* 0551A4 8005A744 38000001 */ li r0, 1 -/* 0551A8 8005A748 48000014 */ b lbl_8005A75C -lbl_8005A74C: -/* 0551AC 8005A74C 38840008 */ addi r4, r4, 8 -/* 0551B0 8005A750 38630001 */ addi r3, r3, 1 -/* 0551B4 8005A754 4200FFD4 */ bdnz lbl_8005A728 -lbl_8005A758: -/* 0551B8 8005A758 38000000 */ li r0, 0 -lbl_8005A75C: -/* 0551BC 8005A75C 2C000000 */ cmpwi r0, 0 -/* 0551C0 8005A760 4082000C */ bne lbl_8005A76C -/* 0551C4 8005A764 38600000 */ li r3, 0 -/* 0551C8 8005A768 4800DABC */ b lbl_80068224 -lbl_8005A76C: -/* 0551CC 8005A76C 281F0000 */ cmplwi r31, 0 -/* 0551D0 8005A770 41820010 */ beq lbl_8005A780 -/* 0551D4 8005A774 80010084 */ lwz r0, 0x84(r1) -/* 0551D8 8005A778 7C00C850 */ subf r0, r0, r25 -/* 0551DC 8005A77C 5415103A */ slwi r21, r0, 2 -lbl_8005A780: -/* 0551E0 8005A780 281F0000 */ cmplwi r31, 0 -/* 0551E4 8005A784 41820024 */ beq lbl_8005A7A8 -/* 0551E8 8005A788 80610084 */ lwz r3, 0x84(r1) -/* 0551EC 8005A78C 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 0551F0 8005A790 64044800 */ oris r4, r0, 0x4800 -/* 0551F4 8005A794 38030001 */ addi r0, r3, 1 -/* 0551F8 8005A798 90010084 */ stw r0, 0x84(r1) -/* 0551FC 8005A79C 5460103A */ slwi r0, r3, 2 -/* 055200 8005A7A0 7C9F012E */ stwx r4, r31, r0 -/* 055204 8005A7A4 4800D790 */ b lbl_80067F34 -lbl_8005A7A8: -/* 055208 8005A7A8 80610084 */ lwz r3, 0x84(r1) -/* 05520C 8005A7AC 38030001 */ addi r0, r3, 1 -/* 055210 8005A7B0 90010084 */ stw r0, 0x84(r1) -/* 055214 8005A7B4 4800D780 */ b lbl_80067F34 -lbl_8005A7B8: -/* 055218 8005A7B8 54C0103A */ slwi r0, r6, 2 -/* 05521C 8005A7BC 7C7A0214 */ add r3, r26, r0 -/* 055220 8005A7C0 81030818 */ lwz r8, 0x818(r3) -/* 055224 8005A7C4 550005EF */ rlwinm. r0, r8, 0, 0x17, 0x17 -/* 055228 8005A7C8 4182014C */ beq lbl_8005A914 -/* 05522C 8005A7CC 3C7E0001 */ addis r3, r30, 1 -/* 055230 8005A7D0 80032064 */ lwz r0, 0x2064(r3) -/* 055234 8005A7D4 39000006 */ li r8, 6 -/* 055238 8005A7D8 28000000 */ cmplwi r0, 0 -/* 05523C 8005A7DC 4082000C */ bne lbl_8005A7E8 -/* 055240 8005A7E0 38000000 */ li r0, 0 -/* 055244 8005A7E4 48000094 */ b lbl_8005A878 -lbl_8005A7E8: -/* 055248 8005A7E8 80032068 */ lwz r0, 0x2068(r3) -/* 05524C 8005A7EC 28000000 */ cmplwi r0, 0 -/* 055250 8005A7F0 4082000C */ bne lbl_8005A7FC -/* 055254 8005A7F4 38000000 */ li r0, 0 -/* 055258 8005A7F8 48000080 */ b lbl_8005A878 -lbl_8005A7FC: -/* 05525C 8005A7FC 8003206C */ lwz r0, 0x206c(r3) -/* 055260 8005A800 7C060000 */ cmpw r6, r0 -/* 055264 8005A804 4182000C */ beq lbl_8005A810 -/* 055268 8005A808 38000000 */ li r0, 0 -/* 05526C 8005A80C 4800006C */ b lbl_8005A878 -lbl_8005A810: -/* 055270 8005A810 80BE0034 */ lwz r5, 0x34(r30) -/* 055274 8005A814 38800000 */ li r4, 0 -/* 055278 8005A818 80050008 */ lwz r0, 8(r5) -/* 05527C 8005A81C 2C000000 */ cmpwi r0, 0 -/* 055280 8005A820 7C0903A6 */ mtctr r0 -/* 055284 8005A824 40810028 */ ble lbl_8005A84C -lbl_8005A828: -/* 055288 8005A828 8065000C */ lwz r3, 0xc(r5) -/* 05528C 8005A82C 38040004 */ addi r0, r4, 4 -/* 055290 8005A830 7C03002E */ lwzx r0, r3, r0 -/* 055294 8005A834 7C1D0000 */ cmpw r29, r0 -/* 055298 8005A838 4082000C */ bne lbl_8005A844 -/* 05529C 8005A83C 38000000 */ li r0, 0 -/* 0552A0 8005A840 48000010 */ b lbl_8005A850 -lbl_8005A844: -/* 0552A4 8005A844 38840008 */ addi r4, r4, 8 -/* 0552A8 8005A848 4200FFE0 */ bdnz lbl_8005A828 -lbl_8005A84C: -/* 0552AC 8005A84C 38000001 */ li r0, 1 -lbl_8005A850: -/* 0552B0 8005A850 2C000000 */ cmpwi r0, 0 -/* 0552B4 8005A854 40820014 */ bne lbl_8005A868 -/* 0552B8 8005A858 38000000 */ li r0, 0 -/* 0552BC 8005A85C 3C7E0001 */ addis r3, r30, 1 -/* 0552C0 8005A860 90032068 */ stw r0, 0x2068(r3) -/* 0552C4 8005A864 48000014 */ b lbl_8005A878 -lbl_8005A868: -/* 0552C8 8005A868 3C7E0001 */ addis r3, r30, 1 -/* 0552CC 8005A86C 38000000 */ li r0, 0 -/* 0552D0 8005A870 90032068 */ stw r0, 0x2068(r3) -/* 0552D4 8005A874 38000001 */ li r0, 1 -lbl_8005A878: -/* 0552D8 8005A878 2C000000 */ cmpwi r0, 0 -/* 0552DC 8005A87C 41820050 */ beq lbl_8005A8CC -/* 0552E0 8005A880 281F0000 */ cmplwi r31, 0 -/* 0552E4 8005A884 41820038 */ beq lbl_8005A8BC -/* 0552E8 8005A888 3C9E0001 */ addis r4, r30, 1 -/* 0552EC 8005A88C 80610084 */ lwz r3, 0x84(r1) -/* 0552F0 8005A890 80842070 */ lwz r4, 0x2070(r4) -/* 0552F4 8005A894 38A30001 */ addi r5, r3, 1 -/* 0552F8 8005A898 5480A814 */ slwi r0, r4, 0x15 -/* 0552FC 8005A89C 90A10084 */ stw r5, 0x84(r1) -/* 055300 8005A8A0 64007C06 */ oris r0, r0, 0x7c06 -/* 055304 8005A8A4 54845828 */ slwi r4, r4, 0xb -/* 055308 8005A8A8 60000378 */ ori r0, r0, 0x378 -/* 05530C 8005A8AC 7C800378 */ or r0, r4, r0 -/* 055310 8005A8B0 5463103A */ slwi r3, r3, 2 -/* 055314 8005A8B4 7C1F192E */ stwx r0, r31, r3 -/* 055318 8005A8B8 4800005C */ b lbl_8005A914 -lbl_8005A8BC: -/* 05531C 8005A8BC 80610084 */ lwz r3, 0x84(r1) -/* 055320 8005A8C0 38030001 */ addi r0, r3, 1 -/* 055324 8005A8C4 90010084 */ stw r0, 0x84(r1) -/* 055328 8005A8C8 4800004C */ b lbl_8005A914 -lbl_8005A8CC: -/* 05532C 8005A8CC 281F0000 */ cmplwi r31, 0 -/* 055330 8005A8D0 41820038 */ beq lbl_8005A908 -/* 055334 8005A8D4 54C41838 */ slwi r4, r6, 3 -/* 055338 8005A8D8 80610084 */ lwz r3, 0x84(r1) -/* 05533C 8005A8DC 38040040 */ addi r0, r4, 0x40 -/* 055340 8005A8E0 7C1E0214 */ add r0, r30, r0 -/* 055344 8005A8E4 7C9E0050 */ subf r4, r30, r0 -/* 055348 8005A8E8 38840004 */ addi r4, r4, 4 -/* 05534C 8005A8EC 38030001 */ addi r0, r3, 1 -/* 055350 8005A8F0 5484043E */ clrlwi r4, r4, 0x10 -/* 055354 8005A8F4 90010084 */ stw r0, 0x84(r1) -/* 055358 8005A8F8 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05535C 8005A8FC 5463103A */ slwi r3, r3, 2 -/* 055360 8005A900 7C1F192E */ stwx r0, r31, r3 -/* 055364 8005A904 48000010 */ b lbl_8005A914 -lbl_8005A908: -/* 055368 8005A908 80610084 */ lwz r3, 0x84(r1) -/* 05536C 8005A90C 38030001 */ addi r0, r3, 1 -/* 055370 8005A910 90010084 */ stw r0, 0x84(r1) -lbl_8005A914: -/* 055374 8005A914 54E0103A */ slwi r0, r7, 2 -/* 055378 8005A918 7C7A0214 */ add r3, r26, r0 -/* 05537C 8005A91C 80C30818 */ lwz r6, 0x818(r3) -/* 055380 8005A920 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 055384 8005A924 4182014C */ beq lbl_8005AA70 -/* 055388 8005A928 3C7E0001 */ addis r3, r30, 1 -/* 05538C 8005A92C 80032064 */ lwz r0, 0x2064(r3) -/* 055390 8005A930 38C00007 */ li r6, 7 -/* 055394 8005A934 28000000 */ cmplwi r0, 0 -/* 055398 8005A938 4082000C */ bne lbl_8005A944 -/* 05539C 8005A93C 38000000 */ li r0, 0 -/* 0553A0 8005A940 48000094 */ b lbl_8005A9D4 -lbl_8005A944: -/* 0553A4 8005A944 80032068 */ lwz r0, 0x2068(r3) -/* 0553A8 8005A948 28000000 */ cmplwi r0, 0 -/* 0553AC 8005A94C 4082000C */ bne lbl_8005A958 -/* 0553B0 8005A950 38000000 */ li r0, 0 -/* 0553B4 8005A954 48000080 */ b lbl_8005A9D4 -lbl_8005A958: -/* 0553B8 8005A958 8003206C */ lwz r0, 0x206c(r3) -/* 0553BC 8005A95C 7C070000 */ cmpw r7, r0 -/* 0553C0 8005A960 4182000C */ beq lbl_8005A96C -/* 0553C4 8005A964 38000000 */ li r0, 0 -/* 0553C8 8005A968 4800006C */ b lbl_8005A9D4 -lbl_8005A96C: -/* 0553CC 8005A96C 80BE0034 */ lwz r5, 0x34(r30) -/* 0553D0 8005A970 38800000 */ li r4, 0 -/* 0553D4 8005A974 80050008 */ lwz r0, 8(r5) -/* 0553D8 8005A978 2C000000 */ cmpwi r0, 0 -/* 0553DC 8005A97C 7C0903A6 */ mtctr r0 -/* 0553E0 8005A980 40810028 */ ble lbl_8005A9A8 -lbl_8005A984: -/* 0553E4 8005A984 8065000C */ lwz r3, 0xc(r5) -/* 0553E8 8005A988 38040004 */ addi r0, r4, 4 -/* 0553EC 8005A98C 7C03002E */ lwzx r0, r3, r0 -/* 0553F0 8005A990 7C1D0000 */ cmpw r29, r0 -/* 0553F4 8005A994 4082000C */ bne lbl_8005A9A0 -/* 0553F8 8005A998 38000000 */ li r0, 0 -/* 0553FC 8005A99C 48000010 */ b lbl_8005A9AC -lbl_8005A9A0: -/* 055400 8005A9A0 38840008 */ addi r4, r4, 8 -/* 055404 8005A9A4 4200FFE0 */ bdnz lbl_8005A984 -lbl_8005A9A8: -/* 055408 8005A9A8 38000001 */ li r0, 1 -lbl_8005A9AC: -/* 05540C 8005A9AC 2C000000 */ cmpwi r0, 0 -/* 055410 8005A9B0 40820014 */ bne lbl_8005A9C4 -/* 055414 8005A9B4 38000000 */ li r0, 0 -/* 055418 8005A9B8 3C7E0001 */ addis r3, r30, 1 -/* 05541C 8005A9BC 90032068 */ stw r0, 0x2068(r3) -/* 055420 8005A9C0 48000014 */ b lbl_8005A9D4 -lbl_8005A9C4: -/* 055424 8005A9C4 3C7E0001 */ addis r3, r30, 1 -/* 055428 8005A9C8 38000000 */ li r0, 0 -/* 05542C 8005A9CC 90032068 */ stw r0, 0x2068(r3) -/* 055430 8005A9D0 38000001 */ li r0, 1 -lbl_8005A9D4: -/* 055434 8005A9D4 2C000000 */ cmpwi r0, 0 -/* 055438 8005A9D8 41820050 */ beq lbl_8005AA28 -/* 05543C 8005A9DC 281F0000 */ cmplwi r31, 0 -/* 055440 8005A9E0 41820038 */ beq lbl_8005AA18 -/* 055444 8005A9E4 3C9E0001 */ addis r4, r30, 1 -/* 055448 8005A9E8 80610084 */ lwz r3, 0x84(r1) -/* 05544C 8005A9EC 80A42070 */ lwz r5, 0x2070(r4) -/* 055450 8005A9F0 38030001 */ addi r0, r3, 1 -/* 055454 8005A9F4 54A4A814 */ slwi r4, r5, 0x15 -/* 055458 8005A9F8 90010084 */ stw r0, 0x84(r1) -/* 05545C 8005A9FC 64807C07 */ oris r0, r4, 0x7c07 -/* 055460 8005AA00 54A45828 */ slwi r4, r5, 0xb -/* 055464 8005AA04 60000378 */ ori r0, r0, 0x378 -/* 055468 8005AA08 7C800378 */ or r0, r4, r0 -/* 05546C 8005AA0C 5463103A */ slwi r3, r3, 2 -/* 055470 8005AA10 7C1F192E */ stwx r0, r31, r3 -/* 055474 8005AA14 4800005C */ b lbl_8005AA70 -lbl_8005AA18: -/* 055478 8005AA18 80610084 */ lwz r3, 0x84(r1) -/* 05547C 8005AA1C 38030001 */ addi r0, r3, 1 -/* 055480 8005AA20 90010084 */ stw r0, 0x84(r1) -/* 055484 8005AA24 4800004C */ b lbl_8005AA70 -lbl_8005AA28: -/* 055488 8005AA28 281F0000 */ cmplwi r31, 0 -/* 05548C 8005AA2C 41820038 */ beq lbl_8005AA64 -/* 055490 8005AA30 54E41838 */ slwi r4, r7, 3 -/* 055494 8005AA34 80610084 */ lwz r3, 0x84(r1) -/* 055498 8005AA38 38040040 */ addi r0, r4, 0x40 -/* 05549C 8005AA3C 7C1E0214 */ add r0, r30, r0 -/* 0554A0 8005AA40 7C9E0050 */ subf r4, r30, r0 -/* 0554A4 8005AA44 38840004 */ addi r4, r4, 4 -/* 0554A8 8005AA48 38030001 */ addi r0, r3, 1 -/* 0554AC 8005AA4C 5484043E */ clrlwi r4, r4, 0x10 -/* 0554B0 8005AA50 90010084 */ stw r0, 0x84(r1) -/* 0554B4 8005AA54 3C0480E3 */ addis r0, r4, 0x80e3 -/* 0554B8 8005AA58 5463103A */ slwi r3, r3, 2 -/* 0554BC 8005AA5C 7C1F192E */ stwx r0, r31, r3 -/* 0554C0 8005AA60 48000010 */ b lbl_8005AA70 -lbl_8005AA64: -/* 0554C4 8005AA64 80610084 */ lwz r3, 0x84(r1) -/* 0554C8 8005AA68 38030001 */ addi r0, r3, 1 -/* 0554CC 8005AA6C 90010084 */ stw r0, 0x84(r1) -lbl_8005AA70: -/* 0554D0 8005AA70 281F0000 */ cmplwi r31, 0 -/* 0554D4 8005AA74 4182002C */ beq lbl_8005AAA0 -/* 0554D8 8005AA78 80610084 */ lwz r3, 0x84(r1) -/* 0554DC 8005AA7C 5500801E */ slwi r0, r8, 0x10 -/* 0554E0 8005AA80 64007C00 */ oris r0, r0, 0x7c00 -/* 0554E4 8005AA84 38830001 */ addi r4, r3, 1 -/* 0554E8 8005AA88 54C55828 */ slwi r5, r6, 0xb -/* 0554EC 8005AA8C 90810084 */ stw r4, 0x84(r1) -/* 0554F0 8005AA90 7C002B78 */ or r0, r0, r5 -/* 0554F4 8005AA94 5463103A */ slwi r3, r3, 2 -/* 0554F8 8005AA98 7C1F192E */ stwx r0, r31, r3 -/* 0554FC 8005AA9C 48000010 */ b lbl_8005AAAC -lbl_8005AAA0: -/* 055500 8005AAA0 80610084 */ lwz r3, 0x84(r1) -/* 055504 8005AAA4 38030001 */ addi r0, r3, 1 -/* 055508 8005AAA8 90010084 */ stw r0, 0x84(r1) -lbl_8005AAAC: -/* 05550C 8005AAAC 82E10084 */ lwz r23, 0x84(r1) -/* 055510 8005AAB0 387E0000 */ addi r3, r30, 0 -/* 055514 8005AAB4 38920000 */ addi r4, r18, 0 -/* 055518 8005AAB8 38170001 */ addi r0, r23, 1 -/* 05551C 8005AABC 90010084 */ stw r0, 0x84(r1) -/* 055520 8005AAC0 38BB0000 */ addi r5, r27, 0 -/* 055524 8005AAC4 38DF0000 */ addi r6, r31, 0 -/* 055528 8005AAC8 38E10084 */ addi r7, r1, 0x84 -/* 05552C 8005AACC 39000001 */ li r8, 1 -/* 055530 8005AAD0 4BFE4335 */ bl cpuGetPPC -/* 055534 8005AAD4 2C030000 */ cmpwi r3, 0 -/* 055538 8005AAD8 4082000C */ bne lbl_8005AAE4 -/* 05553C 8005AADC 38600000 */ li r3, 0 -/* 055540 8005AAE0 4800D744 */ b lbl_80068224 -lbl_8005AAE4: -/* 055544 8005AAE4 80720000 */ lwz r3, 0(r18) -/* 055548 8005AAE8 281F0000 */ cmplwi r31, 0 -/* 05554C 8005AAEC 3803FFFC */ addi r0, r3, -4 -/* 055550 8005AAF0 90120000 */ stw r0, 0(r18) -/* 055554 8005AAF4 40820010 */ bne lbl_8005AB04 -/* 055558 8005AAF8 3B200000 */ li r25, 0 -/* 05555C 8005AAFC 38000001 */ li r0, 1 -/* 055560 8005AB00 48000050 */ b lbl_8005AB50 -lbl_8005AB04: -/* 055564 8005AB04 801B0008 */ lwz r0, 8(r27) -/* 055568 8005AB08 38600000 */ li r3, 0 -/* 05556C 8005AB0C 38830000 */ addi r4, r3, 0 -/* 055570 8005AB10 2C000000 */ cmpwi r0, 0 -/* 055574 8005AB14 7C0903A6 */ mtctr r0 -/* 055578 8005AB18 40810034 */ ble lbl_8005AB4C -lbl_8005AB1C: -/* 05557C 8005AB1C 80BB000C */ lwz r5, 0xc(r27) -/* 055580 8005AB20 38040004 */ addi r0, r4, 4 -/* 055584 8005AB24 7C05002E */ lwzx r0, r5, r0 -/* 055588 8005AB28 7C140000 */ cmpw r20, r0 -/* 05558C 8005AB2C 40820014 */ bne lbl_8005AB40 -/* 055590 8005AB30 54601838 */ slwi r0, r3, 3 -/* 055594 8005AB34 7F25002E */ lwzx r25, r5, r0 -/* 055598 8005AB38 38000001 */ li r0, 1 -/* 05559C 8005AB3C 48000014 */ b lbl_8005AB50 -lbl_8005AB40: -/* 0555A0 8005AB40 38840008 */ addi r4, r4, 8 -/* 0555A4 8005AB44 38630001 */ addi r3, r3, 1 -/* 0555A8 8005AB48 4200FFD4 */ bdnz lbl_8005AB1C -lbl_8005AB4C: -/* 0555AC 8005AB4C 38000000 */ li r0, 0 -lbl_8005AB50: -/* 0555B0 8005AB50 2C000000 */ cmpwi r0, 0 -/* 0555B4 8005AB54 4082000C */ bne lbl_8005AB60 -/* 0555B8 8005AB58 38600000 */ li r3, 0 -/* 0555BC 8005AB5C 4800D6C8 */ b lbl_80068224 -lbl_8005AB60: -/* 0555C0 8005AB60 281F0000 */ cmplwi r31, 0 -/* 0555C4 8005AB64 41820010 */ beq lbl_8005AB74 -/* 0555C8 8005AB68 80010084 */ lwz r0, 0x84(r1) -/* 0555CC 8005AB6C 7C00C850 */ subf r0, r0, r25 -/* 0555D0 8005AB70 5415103A */ slwi r21, r0, 2 -lbl_8005AB74: -/* 0555D4 8005AB74 281F0000 */ cmplwi r31, 0 -/* 0555D8 8005AB78 41820024 */ beq lbl_8005AB9C -/* 0555DC 8005AB7C 80610084 */ lwz r3, 0x84(r1) -/* 0555E0 8005AB80 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 0555E4 8005AB84 64044800 */ oris r4, r0, 0x4800 -/* 0555E8 8005AB88 38030001 */ addi r0, r3, 1 -/* 0555EC 8005AB8C 90010084 */ stw r0, 0x84(r1) -/* 0555F0 8005AB90 5460103A */ slwi r0, r3, 2 -/* 0555F4 8005AB94 7C9F012E */ stwx r4, r31, r0 -/* 0555F8 8005AB98 48000010 */ b lbl_8005ABA8 -lbl_8005AB9C: -/* 0555FC 8005AB9C 80610084 */ lwz r3, 0x84(r1) -/* 055600 8005ABA0 38030001 */ addi r0, r3, 1 -/* 055604 8005ABA4 90010084 */ stw r0, 0x84(r1) -lbl_8005ABA8: -/* 055608 8005ABA8 387E0000 */ addi r3, r30, 0 -/* 05560C 8005ABAC 38920000 */ addi r4, r18, 0 -/* 055610 8005ABB0 38BB0000 */ addi r5, r27, 0 -/* 055614 8005ABB4 38DF0000 */ addi r6, r31, 0 -/* 055618 8005ABB8 38E10084 */ addi r7, r1, 0x84 -/* 05561C 8005ABBC 39000000 */ li r8, 0 -/* 055620 8005ABC0 4BFE4245 */ bl cpuGetPPC -/* 055624 8005ABC4 2C030000 */ cmpwi r3, 0 -/* 055628 8005ABC8 4082000C */ bne lbl_8005ABD4 -/* 05562C 8005ABCC 38600000 */ li r3, 0 -/* 055630 8005ABD0 4800D654 */ b lbl_80068224 -lbl_8005ABD4: -/* 055634 8005ABD4 281F0000 */ cmplwi r31, 0 -/* 055638 8005ABD8 40820008 */ bne lbl_8005ABE0 -/* 05563C 8005ABDC 4800D358 */ b lbl_80067F34 -lbl_8005ABE0: -/* 055640 8005ABE0 80610084 */ lwz r3, 0x84(r1) -/* 055644 8005ABE4 56E0103A */ slwi r0, r23, 2 -/* 055648 8005ABE8 7C771850 */ subf r3, r23, r3 -/* 05564C 8005ABEC 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 055650 8005ABF0 64634082 */ oris r3, r3, 0x4082 -/* 055654 8005ABF4 7C7F012E */ stwx r3, r31, r0 -/* 055658 8005ABF8 4800D33C */ b lbl_80067F34 -.global lbl_8005ABFC -lbl_8005ABFC: -/* 05565C 8005ABFC 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 055660 8005AC00 80920000 */ lwz r4, 0(r18) -/* 055664 8005AC04 7C7A0214 */ add r3, r26, r0 -/* 055668 8005AC08 81030818 */ lwz r8, 0x818(r3) -/* 05566C 8005AC0C 5780043E */ clrlwi r0, r28, 0x10 -/* 055670 8005AC10 7C030734 */ extsh r3, r0 -/* 055674 8005AC14 550005EF */ rlwinm. r0, r8, 0, 0x17, 0x17 -/* 055678 8005AC18 5460103A */ slwi r0, r3, 2 -/* 05567C 8005AC1C 57865EFE */ rlwinm r6, r28, 0xb, 0x1b, 0x1f -/* 055680 8005AC20 7E840214 */ add r20, r4, r0 -/* 055684 8005AC24 4182014C */ beq lbl_8005AD70 -/* 055688 8005AC28 3C7E0001 */ addis r3, r30, 1 -/* 05568C 8005AC2C 80032064 */ lwz r0, 0x2064(r3) -/* 055690 8005AC30 39000006 */ li r8, 6 -/* 055694 8005AC34 28000000 */ cmplwi r0, 0 -/* 055698 8005AC38 4082000C */ bne lbl_8005AC44 -/* 05569C 8005AC3C 38000000 */ li r0, 0 -/* 0556A0 8005AC40 48000094 */ b lbl_8005ACD4 -lbl_8005AC44: -/* 0556A4 8005AC44 80032068 */ lwz r0, 0x2068(r3) -/* 0556A8 8005AC48 28000000 */ cmplwi r0, 0 -/* 0556AC 8005AC4C 4082000C */ bne lbl_8005AC58 -/* 0556B0 8005AC50 38000000 */ li r0, 0 -/* 0556B4 8005AC54 48000080 */ b lbl_8005ACD4 -lbl_8005AC58: -/* 0556B8 8005AC58 8003206C */ lwz r0, 0x206c(r3) -/* 0556BC 8005AC5C 7C060000 */ cmpw r6, r0 -/* 0556C0 8005AC60 4182000C */ beq lbl_8005AC6C -/* 0556C4 8005AC64 38000000 */ li r0, 0 -/* 0556C8 8005AC68 4800006C */ b lbl_8005ACD4 -lbl_8005AC6C: -/* 0556CC 8005AC6C 80BE0034 */ lwz r5, 0x34(r30) -/* 0556D0 8005AC70 38800000 */ li r4, 0 -/* 0556D4 8005AC74 80050008 */ lwz r0, 8(r5) -/* 0556D8 8005AC78 2C000000 */ cmpwi r0, 0 -/* 0556DC 8005AC7C 7C0903A6 */ mtctr r0 -/* 0556E0 8005AC80 40810028 */ ble lbl_8005ACA8 -lbl_8005AC84: -/* 0556E4 8005AC84 8065000C */ lwz r3, 0xc(r5) -/* 0556E8 8005AC88 38040004 */ addi r0, r4, 4 -/* 0556EC 8005AC8C 7C03002E */ lwzx r0, r3, r0 -/* 0556F0 8005AC90 7C1D0000 */ cmpw r29, r0 -/* 0556F4 8005AC94 4082000C */ bne lbl_8005ACA0 -/* 0556F8 8005AC98 38000000 */ li r0, 0 -/* 0556FC 8005AC9C 48000010 */ b lbl_8005ACAC -lbl_8005ACA0: -/* 055700 8005ACA0 38840008 */ addi r4, r4, 8 -/* 055704 8005ACA4 4200FFE0 */ bdnz lbl_8005AC84 -lbl_8005ACA8: -/* 055708 8005ACA8 38000001 */ li r0, 1 -lbl_8005ACAC: -/* 05570C 8005ACAC 2C000000 */ cmpwi r0, 0 -/* 055710 8005ACB0 40820014 */ bne lbl_8005ACC4 -/* 055714 8005ACB4 38000000 */ li r0, 0 -/* 055718 8005ACB8 3C7E0001 */ addis r3, r30, 1 -/* 05571C 8005ACBC 90032068 */ stw r0, 0x2068(r3) -/* 055720 8005ACC0 48000014 */ b lbl_8005ACD4 -lbl_8005ACC4: -/* 055724 8005ACC4 3C7E0001 */ addis r3, r30, 1 -/* 055728 8005ACC8 38000000 */ li r0, 0 -/* 05572C 8005ACCC 90032068 */ stw r0, 0x2068(r3) -/* 055730 8005ACD0 38000001 */ li r0, 1 -lbl_8005ACD4: -/* 055734 8005ACD4 2C000000 */ cmpwi r0, 0 -/* 055738 8005ACD8 41820050 */ beq lbl_8005AD28 -/* 05573C 8005ACDC 281F0000 */ cmplwi r31, 0 -/* 055740 8005ACE0 41820038 */ beq lbl_8005AD18 -/* 055744 8005ACE4 3C9E0001 */ addis r4, r30, 1 -/* 055748 8005ACE8 80610084 */ lwz r3, 0x84(r1) -/* 05574C 8005ACEC 80842070 */ lwz r4, 0x2070(r4) -/* 055750 8005ACF0 38A30001 */ addi r5, r3, 1 -/* 055754 8005ACF4 5480A814 */ slwi r0, r4, 0x15 -/* 055758 8005ACF8 90A10084 */ stw r5, 0x84(r1) -/* 05575C 8005ACFC 64007C06 */ oris r0, r0, 0x7c06 -/* 055760 8005AD00 54845828 */ slwi r4, r4, 0xb -/* 055764 8005AD04 60000378 */ ori r0, r0, 0x378 -/* 055768 8005AD08 7C800378 */ or r0, r4, r0 -/* 05576C 8005AD0C 5463103A */ slwi r3, r3, 2 -/* 055770 8005AD10 7C1F192E */ stwx r0, r31, r3 -/* 055774 8005AD14 4800005C */ b lbl_8005AD70 -lbl_8005AD18: -/* 055778 8005AD18 80610084 */ lwz r3, 0x84(r1) -/* 05577C 8005AD1C 38030001 */ addi r0, r3, 1 -/* 055780 8005AD20 90010084 */ stw r0, 0x84(r1) -/* 055784 8005AD24 4800004C */ b lbl_8005AD70 -lbl_8005AD28: -/* 055788 8005AD28 281F0000 */ cmplwi r31, 0 -/* 05578C 8005AD2C 41820038 */ beq lbl_8005AD64 -/* 055790 8005AD30 54C41838 */ slwi r4, r6, 3 -/* 055794 8005AD34 80610084 */ lwz r3, 0x84(r1) -/* 055798 8005AD38 38040040 */ addi r0, r4, 0x40 -/* 05579C 8005AD3C 7C1E0214 */ add r0, r30, r0 -/* 0557A0 8005AD40 7C9E0050 */ subf r4, r30, r0 -/* 0557A4 8005AD44 38840004 */ addi r4, r4, 4 -/* 0557A8 8005AD48 38030001 */ addi r0, r3, 1 -/* 0557AC 8005AD4C 5484043E */ clrlwi r4, r4, 0x10 -/* 0557B0 8005AD50 90010084 */ stw r0, 0x84(r1) -/* 0557B4 8005AD54 3C0480C3 */ addis r0, r4, 0x80c3 -/* 0557B8 8005AD58 5463103A */ slwi r3, r3, 2 -/* 0557BC 8005AD5C 7C1F192E */ stwx r0, r31, r3 -/* 0557C0 8005AD60 48000010 */ b lbl_8005AD70 -lbl_8005AD64: -/* 0557C4 8005AD64 80610084 */ lwz r3, 0x84(r1) -/* 0557C8 8005AD68 38030001 */ addi r0, r3, 1 -/* 0557CC 8005AD6C 90010084 */ stw r0, 0x84(r1) -lbl_8005AD70: -/* 0557D0 8005AD70 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 0557D4 8005AD74 7C7A0214 */ add r3, r26, r0 -/* 0557D8 8005AD78 80C30818 */ lwz r6, 0x818(r3) -/* 0557DC 8005AD7C 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 0557E0 8005AD80 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 0557E4 8005AD84 4182014C */ beq lbl_8005AED0 -/* 0557E8 8005AD88 3C7E0001 */ addis r3, r30, 1 -/* 0557EC 8005AD8C 80032064 */ lwz r0, 0x2064(r3) -/* 0557F0 8005AD90 38C00007 */ li r6, 7 -/* 0557F4 8005AD94 28000000 */ cmplwi r0, 0 -/* 0557F8 8005AD98 4082000C */ bne lbl_8005ADA4 -/* 0557FC 8005AD9C 38000000 */ li r0, 0 -/* 055800 8005ADA0 48000094 */ b lbl_8005AE34 -lbl_8005ADA4: -/* 055804 8005ADA4 80032068 */ lwz r0, 0x2068(r3) -/* 055808 8005ADA8 28000000 */ cmplwi r0, 0 -/* 05580C 8005ADAC 4082000C */ bne lbl_8005ADB8 -/* 055810 8005ADB0 38000000 */ li r0, 0 -/* 055814 8005ADB4 48000080 */ b lbl_8005AE34 -lbl_8005ADB8: -/* 055818 8005ADB8 8003206C */ lwz r0, 0x206c(r3) -/* 05581C 8005ADBC 7C070000 */ cmpw r7, r0 -/* 055820 8005ADC0 4182000C */ beq lbl_8005ADCC -/* 055824 8005ADC4 38000000 */ li r0, 0 -/* 055828 8005ADC8 4800006C */ b lbl_8005AE34 -lbl_8005ADCC: -/* 05582C 8005ADCC 80BE0034 */ lwz r5, 0x34(r30) -/* 055830 8005ADD0 38800000 */ li r4, 0 -/* 055834 8005ADD4 80050008 */ lwz r0, 8(r5) -/* 055838 8005ADD8 2C000000 */ cmpwi r0, 0 -/* 05583C 8005ADDC 7C0903A6 */ mtctr r0 -/* 055840 8005ADE0 40810028 */ ble lbl_8005AE08 -lbl_8005ADE4: -/* 055844 8005ADE4 8065000C */ lwz r3, 0xc(r5) -/* 055848 8005ADE8 38040004 */ addi r0, r4, 4 -/* 05584C 8005ADEC 7C03002E */ lwzx r0, r3, r0 -/* 055850 8005ADF0 7C1D0000 */ cmpw r29, r0 -/* 055854 8005ADF4 4082000C */ bne lbl_8005AE00 -/* 055858 8005ADF8 38000000 */ li r0, 0 -/* 05585C 8005ADFC 48000010 */ b lbl_8005AE0C -lbl_8005AE00: -/* 055860 8005AE00 38840008 */ addi r4, r4, 8 -/* 055864 8005AE04 4200FFE0 */ bdnz lbl_8005ADE4 -lbl_8005AE08: -/* 055868 8005AE08 38000001 */ li r0, 1 -lbl_8005AE0C: -/* 05586C 8005AE0C 2C000000 */ cmpwi r0, 0 -/* 055870 8005AE10 40820014 */ bne lbl_8005AE24 -/* 055874 8005AE14 38000000 */ li r0, 0 -/* 055878 8005AE18 3C7E0001 */ addis r3, r30, 1 -/* 05587C 8005AE1C 90032068 */ stw r0, 0x2068(r3) -/* 055880 8005AE20 48000014 */ b lbl_8005AE34 -lbl_8005AE24: -/* 055884 8005AE24 3C7E0001 */ addis r3, r30, 1 -/* 055888 8005AE28 38000000 */ li r0, 0 -/* 05588C 8005AE2C 90032068 */ stw r0, 0x2068(r3) -/* 055890 8005AE30 38000001 */ li r0, 1 -lbl_8005AE34: -/* 055894 8005AE34 2C000000 */ cmpwi r0, 0 -/* 055898 8005AE38 41820050 */ beq lbl_8005AE88 -/* 05589C 8005AE3C 281F0000 */ cmplwi r31, 0 -/* 0558A0 8005AE40 41820038 */ beq lbl_8005AE78 -/* 0558A4 8005AE44 3C9E0001 */ addis r4, r30, 1 -/* 0558A8 8005AE48 80610084 */ lwz r3, 0x84(r1) -/* 0558AC 8005AE4C 80A42070 */ lwz r5, 0x2070(r4) -/* 0558B0 8005AE50 38030001 */ addi r0, r3, 1 -/* 0558B4 8005AE54 54A4A814 */ slwi r4, r5, 0x15 -/* 0558B8 8005AE58 90010084 */ stw r0, 0x84(r1) -/* 0558BC 8005AE5C 64807C07 */ oris r0, r4, 0x7c07 -/* 0558C0 8005AE60 54A45828 */ slwi r4, r5, 0xb -/* 0558C4 8005AE64 60000378 */ ori r0, r0, 0x378 -/* 0558C8 8005AE68 7C800378 */ or r0, r4, r0 -/* 0558CC 8005AE6C 5463103A */ slwi r3, r3, 2 -/* 0558D0 8005AE70 7C1F192E */ stwx r0, r31, r3 -/* 0558D4 8005AE74 4800005C */ b lbl_8005AED0 -lbl_8005AE78: -/* 0558D8 8005AE78 80610084 */ lwz r3, 0x84(r1) -/* 0558DC 8005AE7C 38030001 */ addi r0, r3, 1 -/* 0558E0 8005AE80 90010084 */ stw r0, 0x84(r1) -/* 0558E4 8005AE84 4800004C */ b lbl_8005AED0 -lbl_8005AE88: -/* 0558E8 8005AE88 281F0000 */ cmplwi r31, 0 -/* 0558EC 8005AE8C 41820038 */ beq lbl_8005AEC4 -/* 0558F0 8005AE90 54E41838 */ slwi r4, r7, 3 -/* 0558F4 8005AE94 80610084 */ lwz r3, 0x84(r1) -/* 0558F8 8005AE98 38040040 */ addi r0, r4, 0x40 -/* 0558FC 8005AE9C 7C1E0214 */ add r0, r30, r0 -/* 055900 8005AEA0 7C9E0050 */ subf r4, r30, r0 -/* 055904 8005AEA4 38840004 */ addi r4, r4, 4 -/* 055908 8005AEA8 38030001 */ addi r0, r3, 1 -/* 05590C 8005AEAC 5484043E */ clrlwi r4, r4, 0x10 -/* 055910 8005AEB0 90010084 */ stw r0, 0x84(r1) -/* 055914 8005AEB4 3C0480E3 */ addis r0, r4, 0x80e3 -/* 055918 8005AEB8 5463103A */ slwi r3, r3, 2 -/* 05591C 8005AEBC 7C1F192E */ stwx r0, r31, r3 -/* 055920 8005AEC0 48000010 */ b lbl_8005AED0 -lbl_8005AEC4: -/* 055924 8005AEC4 80610084 */ lwz r3, 0x84(r1) -/* 055928 8005AEC8 38030001 */ addi r0, r3, 1 -/* 05592C 8005AECC 90010084 */ stw r0, 0x84(r1) -lbl_8005AED0: -/* 055930 8005AED0 281F0000 */ cmplwi r31, 0 -/* 055934 8005AED4 4182002C */ beq lbl_8005AF00 -/* 055938 8005AED8 80610084 */ lwz r3, 0x84(r1) -/* 05593C 8005AEDC 5500801E */ slwi r0, r8, 0x10 -/* 055940 8005AEE0 64007C00 */ oris r0, r0, 0x7c00 -/* 055944 8005AEE4 38830001 */ addi r4, r3, 1 -/* 055948 8005AEE8 54C55828 */ slwi r5, r6, 0xb -/* 05594C 8005AEEC 90810084 */ stw r4, 0x84(r1) -/* 055950 8005AEF0 7C002B78 */ or r0, r0, r5 -/* 055954 8005AEF4 5463103A */ slwi r3, r3, 2 -/* 055958 8005AEF8 7C1F192E */ stwx r0, r31, r3 -/* 05595C 8005AEFC 48000010 */ b lbl_8005AF0C -lbl_8005AF00: -/* 055960 8005AF00 80610084 */ lwz r3, 0x84(r1) -/* 055964 8005AF04 38030001 */ addi r0, r3, 1 -/* 055968 8005AF08 90010084 */ stw r0, 0x84(r1) -lbl_8005AF0C: -/* 05596C 8005AF0C 82E10084 */ lwz r23, 0x84(r1) -/* 055970 8005AF10 387E0000 */ addi r3, r30, 0 -/* 055974 8005AF14 38920000 */ addi r4, r18, 0 -/* 055978 8005AF18 38170001 */ addi r0, r23, 1 -/* 05597C 8005AF1C 90010084 */ stw r0, 0x84(r1) -/* 055980 8005AF20 38BB0000 */ addi r5, r27, 0 -/* 055984 8005AF24 38DF0000 */ addi r6, r31, 0 -/* 055988 8005AF28 38E10084 */ addi r7, r1, 0x84 -/* 05598C 8005AF2C 39000001 */ li r8, 1 -/* 055990 8005AF30 4BFE3ED5 */ bl cpuGetPPC -/* 055994 8005AF34 2C030000 */ cmpwi r3, 0 -/* 055998 8005AF38 4082000C */ bne lbl_8005AF44 -/* 05599C 8005AF3C 38600000 */ li r3, 0 -/* 0559A0 8005AF40 4800D2E4 */ b lbl_80068224 -lbl_8005AF44: -/* 0559A4 8005AF44 80720000 */ lwz r3, 0(r18) -/* 0559A8 8005AF48 281F0000 */ cmplwi r31, 0 -/* 0559AC 8005AF4C 3803FFFC */ addi r0, r3, -4 -/* 0559B0 8005AF50 90120000 */ stw r0, 0(r18) -/* 0559B4 8005AF54 40820010 */ bne lbl_8005AF64 -/* 0559B8 8005AF58 3B200000 */ li r25, 0 -/* 0559BC 8005AF5C 38000001 */ li r0, 1 -/* 0559C0 8005AF60 48000050 */ b lbl_8005AFB0 -lbl_8005AF64: -/* 0559C4 8005AF64 801B0008 */ lwz r0, 8(r27) -/* 0559C8 8005AF68 38600000 */ li r3, 0 -/* 0559CC 8005AF6C 38830000 */ addi r4, r3, 0 -/* 0559D0 8005AF70 2C000000 */ cmpwi r0, 0 -/* 0559D4 8005AF74 7C0903A6 */ mtctr r0 -/* 0559D8 8005AF78 40810034 */ ble lbl_8005AFAC -lbl_8005AF7C: -/* 0559DC 8005AF7C 80BB000C */ lwz r5, 0xc(r27) -/* 0559E0 8005AF80 38040004 */ addi r0, r4, 4 -/* 0559E4 8005AF84 7C05002E */ lwzx r0, r5, r0 -/* 0559E8 8005AF88 7C140000 */ cmpw r20, r0 -/* 0559EC 8005AF8C 40820014 */ bne lbl_8005AFA0 -/* 0559F0 8005AF90 54601838 */ slwi r0, r3, 3 -/* 0559F4 8005AF94 7F25002E */ lwzx r25, r5, r0 -/* 0559F8 8005AF98 38000001 */ li r0, 1 -/* 0559FC 8005AF9C 48000014 */ b lbl_8005AFB0 -lbl_8005AFA0: -/* 055A00 8005AFA0 38840008 */ addi r4, r4, 8 -/* 055A04 8005AFA4 38630001 */ addi r3, r3, 1 -/* 055A08 8005AFA8 4200FFD4 */ bdnz lbl_8005AF7C -lbl_8005AFAC: -/* 055A0C 8005AFAC 38000000 */ li r0, 0 -lbl_8005AFB0: -/* 055A10 8005AFB0 2C000000 */ cmpwi r0, 0 -/* 055A14 8005AFB4 4082000C */ bne lbl_8005AFC0 -/* 055A18 8005AFB8 38600000 */ li r3, 0 -/* 055A1C 8005AFBC 4800D268 */ b lbl_80068224 -lbl_8005AFC0: -/* 055A20 8005AFC0 281F0000 */ cmplwi r31, 0 -/* 055A24 8005AFC4 41820010 */ beq lbl_8005AFD4 -/* 055A28 8005AFC8 80010084 */ lwz r0, 0x84(r1) -/* 055A2C 8005AFCC 7C00C850 */ subf r0, r0, r25 -/* 055A30 8005AFD0 5415103A */ slwi r21, r0, 2 -lbl_8005AFD4: -/* 055A34 8005AFD4 281F0000 */ cmplwi r31, 0 -/* 055A38 8005AFD8 41820024 */ beq lbl_8005AFFC -/* 055A3C 8005AFDC 80610084 */ lwz r3, 0x84(r1) -/* 055A40 8005AFE0 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 055A44 8005AFE4 64044800 */ oris r4, r0, 0x4800 -/* 055A48 8005AFE8 38030001 */ addi r0, r3, 1 -/* 055A4C 8005AFEC 90010084 */ stw r0, 0x84(r1) -/* 055A50 8005AFF0 5460103A */ slwi r0, r3, 2 -/* 055A54 8005AFF4 7C9F012E */ stwx r4, r31, r0 -/* 055A58 8005AFF8 48000010 */ b lbl_8005B008 -lbl_8005AFFC: -/* 055A5C 8005AFFC 80610084 */ lwz r3, 0x84(r1) -/* 055A60 8005B000 38030001 */ addi r0, r3, 1 -/* 055A64 8005B004 90010084 */ stw r0, 0x84(r1) -lbl_8005B008: -/* 055A68 8005B008 387E0000 */ addi r3, r30, 0 -/* 055A6C 8005B00C 38920000 */ addi r4, r18, 0 -/* 055A70 8005B010 38BB0000 */ addi r5, r27, 0 -/* 055A74 8005B014 38DF0000 */ addi r6, r31, 0 -/* 055A78 8005B018 38E10084 */ addi r7, r1, 0x84 -/* 055A7C 8005B01C 39000000 */ li r8, 0 -/* 055A80 8005B020 4BFE3DE5 */ bl cpuGetPPC -/* 055A84 8005B024 2C030000 */ cmpwi r3, 0 -/* 055A88 8005B028 4082000C */ bne lbl_8005B034 -/* 055A8C 8005B02C 38600000 */ li r3, 0 -/* 055A90 8005B030 4800D1F4 */ b lbl_80068224 -lbl_8005B034: -/* 055A94 8005B034 281F0000 */ cmplwi r31, 0 -/* 055A98 8005B038 40820008 */ bne lbl_8005B040 -/* 055A9C 8005B03C 4800CEF8 */ b lbl_80067F34 -lbl_8005B040: -/* 055AA0 8005B040 80610084 */ lwz r3, 0x84(r1) -/* 055AA4 8005B044 56E0103A */ slwi r0, r23, 2 -/* 055AA8 8005B048 7C771850 */ subf r3, r23, r3 -/* 055AAC 8005B04C 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 055AB0 8005B050 64634182 */ oris r3, r3, 0x4182 -/* 055AB4 8005B054 7C7F012E */ stwx r3, r31, r0 -/* 055AB8 8005B058 4800CEDC */ b lbl_80067F34 -.global lbl_8005B05C -lbl_8005B05C: -/* 055ABC 8005B05C 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 055AC0 8005B060 80720000 */ lwz r3, 0(r18) -/* 055AC4 8005B064 7C9A0214 */ add r4, r26, r0 -/* 055AC8 8005B068 80040818 */ lwz r0, 0x818(r4) -/* 055ACC 8005B06C 5784043E */ clrlwi r4, r28, 0x10 -/* 055AD0 8005B070 7C850734 */ extsh r5, r4 -/* 055AD4 8005B074 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 055AD8 8005B078 54A4103A */ slwi r4, r5, 2 -/* 055ADC 8005B07C 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 055AE0 8005B080 7E832214 */ add r20, r3, r4 -/* 055AE4 8005B084 4182014C */ beq lbl_8005B1D0 -/* 055AE8 8005B088 3C7E0001 */ addis r3, r30, 1 -/* 055AEC 8005B08C 80832064 */ lwz r4, 0x2064(r3) -/* 055AF0 8005B090 38000006 */ li r0, 6 -/* 055AF4 8005B094 28040000 */ cmplwi r4, 0 -/* 055AF8 8005B098 4082000C */ bne lbl_8005B0A4 -/* 055AFC 8005B09C 38800000 */ li r4, 0 -/* 055B00 8005B0A0 48000094 */ b lbl_8005B134 -lbl_8005B0A4: -/* 055B04 8005B0A4 80832068 */ lwz r4, 0x2068(r3) -/* 055B08 8005B0A8 28040000 */ cmplwi r4, 0 -/* 055B0C 8005B0AC 4082000C */ bne lbl_8005B0B8 -/* 055B10 8005B0B0 38800000 */ li r4, 0 -/* 055B14 8005B0B4 48000080 */ b lbl_8005B134 -lbl_8005B0B8: -/* 055B18 8005B0B8 8063206C */ lwz r3, 0x206c(r3) -/* 055B1C 8005B0BC 7C071800 */ cmpw r7, r3 -/* 055B20 8005B0C0 4182000C */ beq lbl_8005B0CC -/* 055B24 8005B0C4 38800000 */ li r4, 0 -/* 055B28 8005B0C8 4800006C */ b lbl_8005B134 -lbl_8005B0CC: -/* 055B2C 8005B0CC 80BE0034 */ lwz r5, 0x34(r30) -/* 055B30 8005B0D0 38800000 */ li r4, 0 -/* 055B34 8005B0D4 80650008 */ lwz r3, 8(r5) -/* 055B38 8005B0D8 2C030000 */ cmpwi r3, 0 -/* 055B3C 8005B0DC 7C6903A6 */ mtctr r3 -/* 055B40 8005B0E0 40810028 */ ble lbl_8005B108 -lbl_8005B0E4: -/* 055B44 8005B0E4 8065000C */ lwz r3, 0xc(r5) -/* 055B48 8005B0E8 38C40004 */ addi r6, r4, 4 -/* 055B4C 8005B0EC 7C63302E */ lwzx r3, r3, r6 -/* 055B50 8005B0F0 7C1D1800 */ cmpw r29, r3 -/* 055B54 8005B0F4 4082000C */ bne lbl_8005B100 -/* 055B58 8005B0F8 38600000 */ li r3, 0 -/* 055B5C 8005B0FC 48000010 */ b lbl_8005B10C -lbl_8005B100: -/* 055B60 8005B100 38840008 */ addi r4, r4, 8 -/* 055B64 8005B104 4200FFE0 */ bdnz lbl_8005B0E4 -lbl_8005B108: -/* 055B68 8005B108 38600001 */ li r3, 1 -lbl_8005B10C: -/* 055B6C 8005B10C 2C030000 */ cmpwi r3, 0 -/* 055B70 8005B110 40820014 */ bne lbl_8005B124 -/* 055B74 8005B114 38800000 */ li r4, 0 -/* 055B78 8005B118 3C7E0001 */ addis r3, r30, 1 -/* 055B7C 8005B11C 90832068 */ stw r4, 0x2068(r3) -/* 055B80 8005B120 48000014 */ b lbl_8005B134 -lbl_8005B124: -/* 055B84 8005B124 3C7E0001 */ addis r3, r30, 1 -/* 055B88 8005B128 38800000 */ li r4, 0 -/* 055B8C 8005B12C 90832068 */ stw r4, 0x2068(r3) -/* 055B90 8005B130 38800001 */ li r4, 1 -lbl_8005B134: -/* 055B94 8005B134 2C040000 */ cmpwi r4, 0 -/* 055B98 8005B138 41820050 */ beq lbl_8005B188 -/* 055B9C 8005B13C 281F0000 */ cmplwi r31, 0 -/* 055BA0 8005B140 41820038 */ beq lbl_8005B178 -/* 055BA4 8005B144 3C7E0001 */ addis r3, r30, 1 -/* 055BA8 8005B148 80810084 */ lwz r4, 0x84(r1) -/* 055BAC 8005B14C 80C32070 */ lwz r6, 0x2070(r3) -/* 055BB0 8005B150 38640001 */ addi r3, r4, 1 -/* 055BB4 8005B154 54C5A814 */ slwi r5, r6, 0x15 -/* 055BB8 8005B158 90610084 */ stw r3, 0x84(r1) -/* 055BBC 8005B15C 64A37C06 */ oris r3, r5, 0x7c06 -/* 055BC0 8005B160 54C55828 */ slwi r5, r6, 0xb -/* 055BC4 8005B164 60630378 */ ori r3, r3, 0x378 -/* 055BC8 8005B168 7CA31B78 */ or r3, r5, r3 -/* 055BCC 8005B16C 5484103A */ slwi r4, r4, 2 -/* 055BD0 8005B170 7C7F212E */ stwx r3, r31, r4 -/* 055BD4 8005B174 4800005C */ b lbl_8005B1D0 -lbl_8005B178: -/* 055BD8 8005B178 80610084 */ lwz r3, 0x84(r1) -/* 055BDC 8005B17C 38630001 */ addi r3, r3, 1 -/* 055BE0 8005B180 90610084 */ stw r3, 0x84(r1) -/* 055BE4 8005B184 4800004C */ b lbl_8005B1D0 -lbl_8005B188: -/* 055BE8 8005B188 281F0000 */ cmplwi r31, 0 -/* 055BEC 8005B18C 41820038 */ beq lbl_8005B1C4 -/* 055BF0 8005B190 54E41838 */ slwi r4, r7, 3 -/* 055BF4 8005B194 80610084 */ lwz r3, 0x84(r1) -/* 055BF8 8005B198 38840040 */ addi r4, r4, 0x40 -/* 055BFC 8005B19C 7C9E2214 */ add r4, r30, r4 -/* 055C00 8005B1A0 7C9E2050 */ subf r4, r30, r4 -/* 055C04 8005B1A4 38840004 */ addi r4, r4, 4 -/* 055C08 8005B1A8 38A30001 */ addi r5, r3, 1 -/* 055C0C 8005B1AC 5484043E */ clrlwi r4, r4, 0x10 -/* 055C10 8005B1B0 90A10084 */ stw r5, 0x84(r1) -/* 055C14 8005B1B4 3C8480C3 */ addis r4, r4, 0x80c3 -/* 055C18 8005B1B8 5463103A */ slwi r3, r3, 2 -/* 055C1C 8005B1BC 7C9F192E */ stwx r4, r31, r3 -/* 055C20 8005B1C0 48000010 */ b lbl_8005B1D0 -lbl_8005B1C4: -/* 055C24 8005B1C4 80610084 */ lwz r3, 0x84(r1) -/* 055C28 8005B1C8 38630001 */ addi r3, r3, 1 -/* 055C2C 8005B1CC 90610084 */ stw r3, 0x84(r1) -lbl_8005B1D0: -/* 055C30 8005B1D0 281F0000 */ cmplwi r31, 0 -/* 055C34 8005B1D4 41820024 */ beq lbl_8005B1F8 -/* 055C38 8005B1D8 80610084 */ lwz r3, 0x84(r1) -/* 055C3C 8005B1DC 5400801E */ slwi r0, r0, 0x10 -/* 055C40 8005B1E0 64042C00 */ oris r4, r0, 0x2c00 -/* 055C44 8005B1E4 38030001 */ addi r0, r3, 1 -/* 055C48 8005B1E8 90010084 */ stw r0, 0x84(r1) -/* 055C4C 8005B1EC 5460103A */ slwi r0, r3, 2 -/* 055C50 8005B1F0 7C9F012E */ stwx r4, r31, r0 -/* 055C54 8005B1F4 48000010 */ b lbl_8005B204 -lbl_8005B1F8: -/* 055C58 8005B1F8 80610084 */ lwz r3, 0x84(r1) -/* 055C5C 8005B1FC 38030001 */ addi r0, r3, 1 -/* 055C60 8005B200 90010084 */ stw r0, 0x84(r1) -lbl_8005B204: -/* 055C64 8005B204 82E10084 */ lwz r23, 0x84(r1) -/* 055C68 8005B208 387E0000 */ addi r3, r30, 0 -/* 055C6C 8005B20C 38920000 */ addi r4, r18, 0 -/* 055C70 8005B210 38170001 */ addi r0, r23, 1 -/* 055C74 8005B214 90010084 */ stw r0, 0x84(r1) -/* 055C78 8005B218 38BB0000 */ addi r5, r27, 0 -/* 055C7C 8005B21C 38DF0000 */ addi r6, r31, 0 -/* 055C80 8005B220 38E10084 */ addi r7, r1, 0x84 -/* 055C84 8005B224 39000001 */ li r8, 1 -/* 055C88 8005B228 4BFE3BDD */ bl cpuGetPPC -/* 055C8C 8005B22C 2C030000 */ cmpwi r3, 0 -/* 055C90 8005B230 4082000C */ bne lbl_8005B23C -/* 055C94 8005B234 38600000 */ li r3, 0 -/* 055C98 8005B238 4800CFEC */ b lbl_80068224 -lbl_8005B23C: -/* 055C9C 8005B23C 80720000 */ lwz r3, 0(r18) -/* 055CA0 8005B240 281F0000 */ cmplwi r31, 0 -/* 055CA4 8005B244 3803FFFC */ addi r0, r3, -4 -/* 055CA8 8005B248 90120000 */ stw r0, 0(r18) -/* 055CAC 8005B24C 40820010 */ bne lbl_8005B25C -/* 055CB0 8005B250 3B200000 */ li r25, 0 -/* 055CB4 8005B254 38000001 */ li r0, 1 -/* 055CB8 8005B258 48000050 */ b lbl_8005B2A8 -lbl_8005B25C: -/* 055CBC 8005B25C 801B0008 */ lwz r0, 8(r27) -/* 055CC0 8005B260 38600000 */ li r3, 0 -/* 055CC4 8005B264 38830000 */ addi r4, r3, 0 -/* 055CC8 8005B268 2C000000 */ cmpwi r0, 0 -/* 055CCC 8005B26C 7C0903A6 */ mtctr r0 -/* 055CD0 8005B270 40810034 */ ble lbl_8005B2A4 -lbl_8005B274: -/* 055CD4 8005B274 80BB000C */ lwz r5, 0xc(r27) -/* 055CD8 8005B278 38040004 */ addi r0, r4, 4 -/* 055CDC 8005B27C 7C05002E */ lwzx r0, r5, r0 -/* 055CE0 8005B280 7C140000 */ cmpw r20, r0 -/* 055CE4 8005B284 40820014 */ bne lbl_8005B298 -/* 055CE8 8005B288 54601838 */ slwi r0, r3, 3 -/* 055CEC 8005B28C 7F25002E */ lwzx r25, r5, r0 -/* 055CF0 8005B290 38000001 */ li r0, 1 -/* 055CF4 8005B294 48000014 */ b lbl_8005B2A8 -lbl_8005B298: -/* 055CF8 8005B298 38840008 */ addi r4, r4, 8 -/* 055CFC 8005B29C 38630001 */ addi r3, r3, 1 -/* 055D00 8005B2A0 4200FFD4 */ bdnz lbl_8005B274 -lbl_8005B2A4: -/* 055D04 8005B2A4 38000000 */ li r0, 0 -lbl_8005B2A8: -/* 055D08 8005B2A8 2C000000 */ cmpwi r0, 0 -/* 055D0C 8005B2AC 4082000C */ bne lbl_8005B2B8 -/* 055D10 8005B2B0 38600000 */ li r3, 0 -/* 055D14 8005B2B4 4800CF70 */ b lbl_80068224 -lbl_8005B2B8: -/* 055D18 8005B2B8 281F0000 */ cmplwi r31, 0 -/* 055D1C 8005B2BC 41820010 */ beq lbl_8005B2CC -/* 055D20 8005B2C0 80010084 */ lwz r0, 0x84(r1) -/* 055D24 8005B2C4 7C00C850 */ subf r0, r0, r25 -/* 055D28 8005B2C8 5415103A */ slwi r21, r0, 2 -lbl_8005B2CC: -/* 055D2C 8005B2CC 281F0000 */ cmplwi r31, 0 -/* 055D30 8005B2D0 41820024 */ beq lbl_8005B2F4 -/* 055D34 8005B2D4 80610084 */ lwz r3, 0x84(r1) -/* 055D38 8005B2D8 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 055D3C 8005B2DC 64044800 */ oris r4, r0, 0x4800 -/* 055D40 8005B2E0 38030001 */ addi r0, r3, 1 -/* 055D44 8005B2E4 90010084 */ stw r0, 0x84(r1) -/* 055D48 8005B2E8 5460103A */ slwi r0, r3, 2 -/* 055D4C 8005B2EC 7C9F012E */ stwx r4, r31, r0 -/* 055D50 8005B2F0 48000010 */ b lbl_8005B300 -lbl_8005B2F4: -/* 055D54 8005B2F4 80610084 */ lwz r3, 0x84(r1) -/* 055D58 8005B2F8 38030001 */ addi r0, r3, 1 -/* 055D5C 8005B2FC 90010084 */ stw r0, 0x84(r1) -lbl_8005B300: -/* 055D60 8005B300 387E0000 */ addi r3, r30, 0 -/* 055D64 8005B304 38920000 */ addi r4, r18, 0 -/* 055D68 8005B308 38BB0000 */ addi r5, r27, 0 -/* 055D6C 8005B30C 38DF0000 */ addi r6, r31, 0 -/* 055D70 8005B310 38E10084 */ addi r7, r1, 0x84 -/* 055D74 8005B314 39000000 */ li r8, 0 -/* 055D78 8005B318 4BFE3AED */ bl cpuGetPPC -/* 055D7C 8005B31C 2C030000 */ cmpwi r3, 0 -/* 055D80 8005B320 4082000C */ bne lbl_8005B32C -/* 055D84 8005B324 38600000 */ li r3, 0 -/* 055D88 8005B328 4800CEFC */ b lbl_80068224 -lbl_8005B32C: -/* 055D8C 8005B32C 281F0000 */ cmplwi r31, 0 -/* 055D90 8005B330 40820008 */ bne lbl_8005B338 -/* 055D94 8005B334 4800CC00 */ b lbl_80067F34 -lbl_8005B338: -/* 055D98 8005B338 80610084 */ lwz r3, 0x84(r1) -/* 055D9C 8005B33C 56E0103A */ slwi r0, r23, 2 -/* 055DA0 8005B340 7C771850 */ subf r3, r23, r3 -/* 055DA4 8005B344 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 055DA8 8005B348 64634181 */ oris r3, r3, 0x4181 -/* 055DAC 8005B34C 7C7F012E */ stwx r3, r31, r0 -/* 055DB0 8005B350 4800CBE4 */ b lbl_80067F34 -.global lbl_8005B354 -lbl_8005B354: -/* 055DB4 8005B354 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 055DB8 8005B358 80720000 */ lwz r3, 0(r18) -/* 055DBC 8005B35C 7C9A0214 */ add r4, r26, r0 -/* 055DC0 8005B360 80040818 */ lwz r0, 0x818(r4) -/* 055DC4 8005B364 5784043E */ clrlwi r4, r28, 0x10 -/* 055DC8 8005B368 7C850734 */ extsh r5, r4 -/* 055DCC 8005B36C 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 055DD0 8005B370 54A4103A */ slwi r4, r5, 2 -/* 055DD4 8005B374 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 055DD8 8005B378 7E832214 */ add r20, r3, r4 -/* 055DDC 8005B37C 4182014C */ beq lbl_8005B4C8 -/* 055DE0 8005B380 3C7E0001 */ addis r3, r30, 1 -/* 055DE4 8005B384 80832064 */ lwz r4, 0x2064(r3) -/* 055DE8 8005B388 38000006 */ li r0, 6 -/* 055DEC 8005B38C 28040000 */ cmplwi r4, 0 -/* 055DF0 8005B390 4082000C */ bne lbl_8005B39C -/* 055DF4 8005B394 38800000 */ li r4, 0 -/* 055DF8 8005B398 48000094 */ b lbl_8005B42C -lbl_8005B39C: -/* 055DFC 8005B39C 80832068 */ lwz r4, 0x2068(r3) -/* 055E00 8005B3A0 28040000 */ cmplwi r4, 0 -/* 055E04 8005B3A4 4082000C */ bne lbl_8005B3B0 -/* 055E08 8005B3A8 38800000 */ li r4, 0 -/* 055E0C 8005B3AC 48000080 */ b lbl_8005B42C -lbl_8005B3B0: -/* 055E10 8005B3B0 8063206C */ lwz r3, 0x206c(r3) -/* 055E14 8005B3B4 7C071800 */ cmpw r7, r3 -/* 055E18 8005B3B8 4182000C */ beq lbl_8005B3C4 -/* 055E1C 8005B3BC 38800000 */ li r4, 0 -/* 055E20 8005B3C0 4800006C */ b lbl_8005B42C -lbl_8005B3C4: -/* 055E24 8005B3C4 80BE0034 */ lwz r5, 0x34(r30) -/* 055E28 8005B3C8 38800000 */ li r4, 0 -/* 055E2C 8005B3CC 80650008 */ lwz r3, 8(r5) -/* 055E30 8005B3D0 2C030000 */ cmpwi r3, 0 -/* 055E34 8005B3D4 7C6903A6 */ mtctr r3 -/* 055E38 8005B3D8 40810028 */ ble lbl_8005B400 -lbl_8005B3DC: -/* 055E3C 8005B3DC 8065000C */ lwz r3, 0xc(r5) -/* 055E40 8005B3E0 38C40004 */ addi r6, r4, 4 -/* 055E44 8005B3E4 7C63302E */ lwzx r3, r3, r6 -/* 055E48 8005B3E8 7C1D1800 */ cmpw r29, r3 -/* 055E4C 8005B3EC 4082000C */ bne lbl_8005B3F8 -/* 055E50 8005B3F0 38600000 */ li r3, 0 -/* 055E54 8005B3F4 48000010 */ b lbl_8005B404 -lbl_8005B3F8: -/* 055E58 8005B3F8 38840008 */ addi r4, r4, 8 -/* 055E5C 8005B3FC 4200FFE0 */ bdnz lbl_8005B3DC -lbl_8005B400: -/* 055E60 8005B400 38600001 */ li r3, 1 -lbl_8005B404: -/* 055E64 8005B404 2C030000 */ cmpwi r3, 0 -/* 055E68 8005B408 40820014 */ bne lbl_8005B41C -/* 055E6C 8005B40C 38800000 */ li r4, 0 -/* 055E70 8005B410 3C7E0001 */ addis r3, r30, 1 -/* 055E74 8005B414 90832068 */ stw r4, 0x2068(r3) -/* 055E78 8005B418 48000014 */ b lbl_8005B42C -lbl_8005B41C: -/* 055E7C 8005B41C 3C7E0001 */ addis r3, r30, 1 -/* 055E80 8005B420 38800000 */ li r4, 0 -/* 055E84 8005B424 90832068 */ stw r4, 0x2068(r3) -/* 055E88 8005B428 38800001 */ li r4, 1 -lbl_8005B42C: -/* 055E8C 8005B42C 2C040000 */ cmpwi r4, 0 -/* 055E90 8005B430 41820050 */ beq lbl_8005B480 -/* 055E94 8005B434 281F0000 */ cmplwi r31, 0 -/* 055E98 8005B438 41820038 */ beq lbl_8005B470 -/* 055E9C 8005B43C 3C7E0001 */ addis r3, r30, 1 -/* 055EA0 8005B440 80810084 */ lwz r4, 0x84(r1) -/* 055EA4 8005B444 80C32070 */ lwz r6, 0x2070(r3) -/* 055EA8 8005B448 38640001 */ addi r3, r4, 1 -/* 055EAC 8005B44C 54C5A814 */ slwi r5, r6, 0x15 -/* 055EB0 8005B450 90610084 */ stw r3, 0x84(r1) -/* 055EB4 8005B454 64A37C06 */ oris r3, r5, 0x7c06 -/* 055EB8 8005B458 54C55828 */ slwi r5, r6, 0xb -/* 055EBC 8005B45C 60630378 */ ori r3, r3, 0x378 -/* 055EC0 8005B460 7CA31B78 */ or r3, r5, r3 -/* 055EC4 8005B464 5484103A */ slwi r4, r4, 2 -/* 055EC8 8005B468 7C7F212E */ stwx r3, r31, r4 -/* 055ECC 8005B46C 4800005C */ b lbl_8005B4C8 -lbl_8005B470: -/* 055ED0 8005B470 80610084 */ lwz r3, 0x84(r1) -/* 055ED4 8005B474 38630001 */ addi r3, r3, 1 -/* 055ED8 8005B478 90610084 */ stw r3, 0x84(r1) -/* 055EDC 8005B47C 4800004C */ b lbl_8005B4C8 -lbl_8005B480: -/* 055EE0 8005B480 281F0000 */ cmplwi r31, 0 -/* 055EE4 8005B484 41820038 */ beq lbl_8005B4BC -/* 055EE8 8005B488 54E41838 */ slwi r4, r7, 3 -/* 055EEC 8005B48C 80610084 */ lwz r3, 0x84(r1) -/* 055EF0 8005B490 38840040 */ addi r4, r4, 0x40 -/* 055EF4 8005B494 7C9E2214 */ add r4, r30, r4 -/* 055EF8 8005B498 7C9E2050 */ subf r4, r30, r4 -/* 055EFC 8005B49C 38840004 */ addi r4, r4, 4 -/* 055F00 8005B4A0 38A30001 */ addi r5, r3, 1 -/* 055F04 8005B4A4 5484043E */ clrlwi r4, r4, 0x10 -/* 055F08 8005B4A8 90A10084 */ stw r5, 0x84(r1) -/* 055F0C 8005B4AC 3C8480C3 */ addis r4, r4, 0x80c3 -/* 055F10 8005B4B0 5463103A */ slwi r3, r3, 2 -/* 055F14 8005B4B4 7C9F192E */ stwx r4, r31, r3 -/* 055F18 8005B4B8 48000010 */ b lbl_8005B4C8 -lbl_8005B4BC: -/* 055F1C 8005B4BC 80610084 */ lwz r3, 0x84(r1) -/* 055F20 8005B4C0 38630001 */ addi r3, r3, 1 -/* 055F24 8005B4C4 90610084 */ stw r3, 0x84(r1) -lbl_8005B4C8: -/* 055F28 8005B4C8 281F0000 */ cmplwi r31, 0 -/* 055F2C 8005B4CC 41820024 */ beq lbl_8005B4F0 -/* 055F30 8005B4D0 80610084 */ lwz r3, 0x84(r1) -/* 055F34 8005B4D4 5400801E */ slwi r0, r0, 0x10 -/* 055F38 8005B4D8 64042C00 */ oris r4, r0, 0x2c00 -/* 055F3C 8005B4DC 38030001 */ addi r0, r3, 1 -/* 055F40 8005B4E0 90010084 */ stw r0, 0x84(r1) -/* 055F44 8005B4E4 5460103A */ slwi r0, r3, 2 -/* 055F48 8005B4E8 7C9F012E */ stwx r4, r31, r0 -/* 055F4C 8005B4EC 48000010 */ b lbl_8005B4FC -lbl_8005B4F0: -/* 055F50 8005B4F0 80610084 */ lwz r3, 0x84(r1) -/* 055F54 8005B4F4 38030001 */ addi r0, r3, 1 -/* 055F58 8005B4F8 90010084 */ stw r0, 0x84(r1) -lbl_8005B4FC: -/* 055F5C 8005B4FC 82E10084 */ lwz r23, 0x84(r1) -/* 055F60 8005B500 387E0000 */ addi r3, r30, 0 -/* 055F64 8005B504 38920000 */ addi r4, r18, 0 -/* 055F68 8005B508 38170001 */ addi r0, r23, 1 -/* 055F6C 8005B50C 90010084 */ stw r0, 0x84(r1) -/* 055F70 8005B510 38BB0000 */ addi r5, r27, 0 -/* 055F74 8005B514 38DF0000 */ addi r6, r31, 0 -/* 055F78 8005B518 38E10084 */ addi r7, r1, 0x84 -/* 055F7C 8005B51C 39000001 */ li r8, 1 -/* 055F80 8005B520 4BFE38E5 */ bl cpuGetPPC -/* 055F84 8005B524 2C030000 */ cmpwi r3, 0 -/* 055F88 8005B528 4082000C */ bne lbl_8005B534 -/* 055F8C 8005B52C 38600000 */ li r3, 0 -/* 055F90 8005B530 4800CCF4 */ b lbl_80068224 -lbl_8005B534: -/* 055F94 8005B534 80720000 */ lwz r3, 0(r18) -/* 055F98 8005B538 281F0000 */ cmplwi r31, 0 -/* 055F9C 8005B53C 3803FFFC */ addi r0, r3, -4 -/* 055FA0 8005B540 90120000 */ stw r0, 0(r18) -/* 055FA4 8005B544 40820010 */ bne lbl_8005B554 -/* 055FA8 8005B548 3B200000 */ li r25, 0 -/* 055FAC 8005B54C 38000001 */ li r0, 1 -/* 055FB0 8005B550 48000050 */ b lbl_8005B5A0 -lbl_8005B554: -/* 055FB4 8005B554 801B0008 */ lwz r0, 8(r27) -/* 055FB8 8005B558 38600000 */ li r3, 0 -/* 055FBC 8005B55C 38830000 */ addi r4, r3, 0 -/* 055FC0 8005B560 2C000000 */ cmpwi r0, 0 -/* 055FC4 8005B564 7C0903A6 */ mtctr r0 -/* 055FC8 8005B568 40810034 */ ble lbl_8005B59C -lbl_8005B56C: -/* 055FCC 8005B56C 80BB000C */ lwz r5, 0xc(r27) -/* 055FD0 8005B570 38040004 */ addi r0, r4, 4 -/* 055FD4 8005B574 7C05002E */ lwzx r0, r5, r0 -/* 055FD8 8005B578 7C140000 */ cmpw r20, r0 -/* 055FDC 8005B57C 40820014 */ bne lbl_8005B590 -/* 055FE0 8005B580 54601838 */ slwi r0, r3, 3 -/* 055FE4 8005B584 7F25002E */ lwzx r25, r5, r0 -/* 055FE8 8005B588 38000001 */ li r0, 1 -/* 055FEC 8005B58C 48000014 */ b lbl_8005B5A0 -lbl_8005B590: -/* 055FF0 8005B590 38840008 */ addi r4, r4, 8 -/* 055FF4 8005B594 38630001 */ addi r3, r3, 1 -/* 055FF8 8005B598 4200FFD4 */ bdnz lbl_8005B56C -lbl_8005B59C: -/* 055FFC 8005B59C 38000000 */ li r0, 0 -lbl_8005B5A0: -/* 056000 8005B5A0 2C000000 */ cmpwi r0, 0 -/* 056004 8005B5A4 4082000C */ bne lbl_8005B5B0 -/* 056008 8005B5A8 38600000 */ li r3, 0 -/* 05600C 8005B5AC 4800CC78 */ b lbl_80068224 -lbl_8005B5B0: -/* 056010 8005B5B0 281F0000 */ cmplwi r31, 0 -/* 056014 8005B5B4 41820010 */ beq lbl_8005B5C4 -/* 056018 8005B5B8 80010084 */ lwz r0, 0x84(r1) -/* 05601C 8005B5BC 7C00C850 */ subf r0, r0, r25 -/* 056020 8005B5C0 5415103A */ slwi r21, r0, 2 -lbl_8005B5C4: -/* 056024 8005B5C4 281F0000 */ cmplwi r31, 0 -/* 056028 8005B5C8 41820024 */ beq lbl_8005B5EC -/* 05602C 8005B5CC 80610084 */ lwz r3, 0x84(r1) -/* 056030 8005B5D0 56A001BA */ rlwinm r0, r21, 0, 6, 0x1d -/* 056034 8005B5D4 64044800 */ oris r4, r0, 0x4800 -/* 056038 8005B5D8 38030001 */ addi r0, r3, 1 -/* 05603C 8005B5DC 90010084 */ stw r0, 0x84(r1) -/* 056040 8005B5E0 5460103A */ slwi r0, r3, 2 -/* 056044 8005B5E4 7C9F012E */ stwx r4, r31, r0 -/* 056048 8005B5E8 48000010 */ b lbl_8005B5F8 -lbl_8005B5EC: -/* 05604C 8005B5EC 80610084 */ lwz r3, 0x84(r1) -/* 056050 8005B5F0 38030001 */ addi r0, r3, 1 -/* 056054 8005B5F4 90010084 */ stw r0, 0x84(r1) -lbl_8005B5F8: -/* 056058 8005B5F8 387E0000 */ addi r3, r30, 0 -/* 05605C 8005B5FC 38920000 */ addi r4, r18, 0 -/* 056060 8005B600 38BB0000 */ addi r5, r27, 0 -/* 056064 8005B604 38DF0000 */ addi r6, r31, 0 -/* 056068 8005B608 38E10084 */ addi r7, r1, 0x84 -/* 05606C 8005B60C 39000000 */ li r8, 0 -/* 056070 8005B610 4BFE37F5 */ bl cpuGetPPC -/* 056074 8005B614 2C030000 */ cmpwi r3, 0 -/* 056078 8005B618 4082000C */ bne lbl_8005B624 -/* 05607C 8005B61C 38600000 */ li r3, 0 -/* 056080 8005B620 4800CC04 */ b lbl_80068224 -lbl_8005B624: -/* 056084 8005B624 281F0000 */ cmplwi r31, 0 -/* 056088 8005B628 40820008 */ bne lbl_8005B630 -/* 05608C 8005B62C 4800C908 */ b lbl_80067F34 -lbl_8005B630: -/* 056090 8005B630 80610084 */ lwz r3, 0x84(r1) -/* 056094 8005B634 56E0103A */ slwi r0, r23, 2 -/* 056098 8005B638 7C771850 */ subf r3, r23, r3 -/* 05609C 8005B63C 5463143A */ rlwinm r3, r3, 2, 0x10, 0x1d -/* 0560A0 8005B640 64634081 */ oris r3, r3, 0x4081 -/* 0560A4 8005B644 7C7F012E */ stwx r3, r31, r0 -/* 0560A8 8005B648 4800C8EC */ b lbl_80067F34 -.global lbl_8005B64C -lbl_8005B64C: -/* 0560AC 8005B64C 3C9E0001 */ addis r4, r30, 1 -/* 0560B0 8005B650 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 0560B4 8005B654 80642058 */ lwz r3, 0x2058(r4) -/* 0560B8 8005B658 38000001 */ li r0, 1 -/* 0560BC 8005B65C 7C062830 */ slw r6, r0, r5 -/* 0560C0 8005B660 7C663039 */ and. r6, r3, r6 -/* 0560C4 8005B664 41820018 */ beq lbl_8005B67C -/* 0560C8 8005B668 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 0560CC 8005B66C 7C003030 */ slw r0, r0, r6 -/* 0560D0 8005B670 7C600378 */ or r0, r3, r0 -/* 0560D4 8005B674 90042058 */ stw r0, 0x2058(r4) -/* 0560D8 8005B678 48000014 */ b lbl_8005B68C -lbl_8005B67C: -/* 0560DC 8005B67C 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 0560E0 8005B680 7C003030 */ slw r0, r0, r6 -/* 0560E4 8005B684 7C600078 */ andc r0, r3, r0 -/* 0560E8 8005B688 90042058 */ stw r0, 0x2058(r4) -lbl_8005B68C: -/* 0560EC 8005B68C 54A0103A */ slwi r0, r5, 2 -/* 0560F0 8005B690 7C7A0214 */ add r3, r26, r0 -/* 0560F4 8005B694 80030818 */ lwz r0, 0x818(r3) -/* 0560F8 8005B698 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0560FC 8005B69C 40820050 */ bne lbl_8005B6EC -/* 056100 8005B6A0 281F0000 */ cmplwi r31, 0 -/* 056104 8005B6A4 4182003C */ beq lbl_8005B6E0 -/* 056108 8005B6A8 54A41838 */ slwi r4, r5, 3 -/* 05610C 8005B6AC 80610084 */ lwz r3, 0x84(r1) -/* 056110 8005B6B0 38840040 */ addi r4, r4, 0x40 -/* 056114 8005B6B4 5400A814 */ slwi r0, r0, 0x15 -/* 056118 8005B6B8 7C9E2214 */ add r4, r30, r4 -/* 05611C 8005B6BC 38C30001 */ addi r6, r3, 1 -/* 056120 8005B6C0 64009003 */ oris r0, r0, 0x9003 -/* 056124 8005B6C4 90C10084 */ stw r6, 0x84(r1) -/* 056128 8005B6C8 7C9E2050 */ subf r4, r30, r4 -/* 05612C 8005B6CC 7C840214 */ add r4, r4, r0 -/* 056130 8005B6D0 38040004 */ addi r0, r4, 4 -/* 056134 8005B6D4 5463103A */ slwi r3, r3, 2 -/* 056138 8005B6D8 7C1F192E */ stwx r0, r31, r3 -/* 05613C 8005B6DC 48000010 */ b lbl_8005B6EC -lbl_8005B6E0: -/* 056140 8005B6E0 80610084 */ lwz r3, 0x84(r1) -/* 056144 8005B6E4 38030001 */ addi r0, r3, 1 -/* 056148 8005B6E8 90010084 */ stw r0, 0x84(r1) -lbl_8005B6EC: -/* 05614C 8005B6EC 281F0000 */ cmplwi r31, 0 -/* 056150 8005B6F0 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 056154 8005B6F4 41820024 */ beq lbl_8005B718 -/* 056158 8005B6F8 80610084 */ lwz r3, 0x84(r1) -/* 05615C 8005B6FC 3C809422 */ lis r4, 0x9422 -/* 056160 8005B700 3884FFF0 */ addi r4, r4, -16 -/* 056164 8005B704 38C30001 */ addi r6, r3, 1 -/* 056168 8005B708 90C10084 */ stw r6, 0x84(r1) -/* 05616C 8005B70C 5463103A */ slwi r3, r3, 2 -/* 056170 8005B710 7C9F192E */ stwx r4, r31, r3 -/* 056174 8005B714 48000010 */ b lbl_8005B724 -lbl_8005B718: -/* 056178 8005B718 80610084 */ lwz r3, 0x84(r1) -/* 05617C 8005B71C 38630001 */ addi r3, r3, 1 -/* 056180 8005B720 90610084 */ stw r3, 0x84(r1) -lbl_8005B724: -/* 056184 8005B724 281F0000 */ cmplwi r31, 0 -/* 056188 8005B728 41820024 */ beq lbl_8005B74C -/* 05618C 8005B72C 80610084 */ lwz r3, 0x84(r1) -/* 056190 8005B730 3C809101 */ lis r4, 0x9101 -/* 056194 8005B734 38840008 */ addi r4, r4, 8 -/* 056198 8005B738 38C30001 */ addi r6, r3, 1 -/* 05619C 8005B73C 90C10084 */ stw r6, 0x84(r1) -/* 0561A0 8005B740 5463103A */ slwi r3, r3, 2 -/* 0561A4 8005B744 7C9F192E */ stwx r4, r31, r3 -/* 0561A8 8005B748 48000010 */ b lbl_8005B758 -lbl_8005B74C: -/* 0561AC 8005B74C 80610084 */ lwz r3, 0x84(r1) -/* 0561B0 8005B750 38630001 */ addi r3, r3, 1 -/* 0561B4 8005B754 90610084 */ stw r3, 0x84(r1) -lbl_8005B758: -/* 0561B8 8005B758 281F0000 */ cmplwi r31, 0 -/* 0561BC 8005B75C 41820034 */ beq lbl_8005B790 -/* 0561C0 8005B760 54A41838 */ slwi r4, r5, 3 -/* 0561C4 8005B764 80610084 */ lwz r3, 0x84(r1) -/* 0561C8 8005B768 38840040 */ addi r4, r4, 0x40 -/* 0561CC 8005B76C 7C9E2214 */ add r4, r30, r4 -/* 0561D0 8005B770 7C9E2050 */ subf r4, r30, r4 -/* 0561D4 8005B774 38C30001 */ addi r6, r3, 1 -/* 0561D8 8005B778 3C8480A3 */ addis r4, r4, 0x80a3 -/* 0561DC 8005B77C 90C10084 */ stw r6, 0x84(r1) -/* 0561E0 8005B780 38840004 */ addi r4, r4, 4 -/* 0561E4 8005B784 5463103A */ slwi r3, r3, 2 -/* 0561E8 8005B788 7C9F192E */ stwx r4, r31, r3 -/* 0561EC 8005B78C 48000010 */ b lbl_8005B79C -lbl_8005B790: -/* 0561F0 8005B790 80610084 */ lwz r3, 0x84(r1) -/* 0561F4 8005B794 38630001 */ addi r3, r3, 1 -/* 0561F8 8005B798 90610084 */ stw r3, 0x84(r1) -lbl_8005B79C: -/* 0561FC 8005B79C 281F0000 */ cmplwi r31, 0 -/* 056200 8005B7A0 41820030 */ beq lbl_8005B7D0 -/* 056204 8005B7A4 80610084 */ lwz r3, 0x84(r1) -/* 056208 8005B7A8 54A41838 */ slwi r4, r5, 3 -/* 05620C 8005B7AC 38840040 */ addi r4, r4, 0x40 -/* 056210 8005B7B0 7C9E2214 */ add r4, r30, r4 -/* 056214 8005B7B4 38A30001 */ addi r5, r3, 1 -/* 056218 8005B7B8 7C9E2050 */ subf r4, r30, r4 -/* 05621C 8005B7BC 90A10084 */ stw r5, 0x84(r1) -/* 056220 8005B7C0 3C8480C3 */ addis r4, r4, 0x80c3 -/* 056224 8005B7C4 5463103A */ slwi r3, r3, 2 -/* 056228 8005B7C8 7C9F192E */ stwx r4, r31, r3 -/* 05622C 8005B7CC 48000010 */ b lbl_8005B7DC -lbl_8005B7D0: -/* 056230 8005B7D0 80610084 */ lwz r3, 0x84(r1) -/* 056234 8005B7D4 38630001 */ addi r3, r3, 1 -/* 056238 8005B7D8 90610084 */ stw r3, 0x84(r1) -lbl_8005B7DC: -/* 05623C 8005B7DC 281F0000 */ cmplwi r31, 0 -/* 056240 8005B7E0 41820024 */ beq lbl_8005B804 -/* 056244 8005B7E4 80610084 */ lwz r3, 0x84(r1) -/* 056248 8005B7E8 5784043E */ clrlwi r4, r28, 0x10 -/* 05624C 8005B7EC 648538E0 */ oris r5, r4, 0x38e0 -/* 056250 8005B7F0 38830001 */ addi r4, r3, 1 -/* 056254 8005B7F4 90810084 */ stw r4, 0x84(r1) -/* 056258 8005B7F8 5463103A */ slwi r3, r3, 2 -/* 05625C 8005B7FC 7CBF192E */ stwx r5, r31, r3 -/* 056260 8005B800 48000010 */ b lbl_8005B810 -lbl_8005B804: -/* 056264 8005B804 80610084 */ lwz r3, 0x84(r1) -/* 056268 8005B808 38630001 */ addi r3, r3, 1 -/* 05626C 8005B80C 90610084 */ stw r3, 0x84(r1) -lbl_8005B810: -/* 056270 8005B810 281F0000 */ cmplwi r31, 0 -/* 056274 8005B814 41820020 */ beq lbl_8005B834 -/* 056278 8005B818 80810084 */ lwz r4, 0x84(r1) -/* 05627C 8005B81C 3CA03900 */ lis r5, 0x3900 -/* 056280 8005B820 38640001 */ addi r3, r4, 1 -/* 056284 8005B824 90610084 */ stw r3, 0x84(r1) -/* 056288 8005B828 5483103A */ slwi r3, r4, 2 -/* 05628C 8005B82C 7CBF192E */ stwx r5, r31, r3 -/* 056290 8005B830 48000010 */ b lbl_8005B840 -lbl_8005B834: -/* 056294 8005B834 80610084 */ lwz r3, 0x84(r1) -/* 056298 8005B838 38630001 */ addi r3, r3, 1 -/* 05629C 8005B83C 90610084 */ stw r3, 0x84(r1) -lbl_8005B840: -/* 0562A0 8005B840 281F0000 */ cmplwi r31, 0 -/* 0562A4 8005B844 41820024 */ beq lbl_8005B868 -/* 0562A8 8005B848 80810084 */ lwz r4, 0x84(r1) -/* 0562AC 8005B84C 3C607CE7 */ lis r3, 0x7ce7 -/* 0562B0 8005B850 38A30734 */ addi r5, r3, 0x734 -/* 0562B4 8005B854 38640001 */ addi r3, r4, 1 -/* 0562B8 8005B858 90610084 */ stw r3, 0x84(r1) -/* 0562BC 8005B85C 5483103A */ slwi r3, r4, 2 -/* 0562C0 8005B860 7CBF192E */ stwx r5, r31, r3 -/* 0562C4 8005B864 48000010 */ b lbl_8005B874 -lbl_8005B868: -/* 0562C8 8005B868 80610084 */ lwz r3, 0x84(r1) -/* 0562CC 8005B86C 38630001 */ addi r3, r3, 1 -/* 0562D0 8005B870 90610084 */ stw r3, 0x84(r1) -lbl_8005B874: -/* 0562D4 8005B874 281F0000 */ cmplwi r31, 0 -/* 0562D8 8005B878 41820020 */ beq lbl_8005B898 -/* 0562DC 8005B87C 80810084 */ lwz r4, 0x84(r1) -/* 0562E0 8005B880 3CA02C07 */ lis r5, 0x2c07 -/* 0562E4 8005B884 38640001 */ addi r3, r4, 1 -/* 0562E8 8005B888 90610084 */ stw r3, 0x84(r1) -/* 0562EC 8005B88C 5483103A */ slwi r3, r4, 2 -/* 0562F0 8005B890 7CBF192E */ stwx r5, r31, r3 -/* 0562F4 8005B894 48000010 */ b lbl_8005B8A4 -lbl_8005B898: -/* 0562F8 8005B898 80610084 */ lwz r3, 0x84(r1) -/* 0562FC 8005B89C 38630001 */ addi r3, r3, 1 -/* 056300 8005B8A0 90610084 */ stw r3, 0x84(r1) -lbl_8005B8A4: -/* 056304 8005B8A4 281F0000 */ cmplwi r31, 0 -/* 056308 8005B8A8 41820024 */ beq lbl_8005B8CC -/* 05630C 8005B8AC 80810084 */ lwz r4, 0x84(r1) -/* 056310 8005B8B0 3C604080 */ lis r3, 0x4080 -/* 056314 8005B8B4 38A3000C */ addi r5, r3, 0xc -/* 056318 8005B8B8 38640001 */ addi r3, r4, 1 -/* 05631C 8005B8BC 90610084 */ stw r3, 0x84(r1) -/* 056320 8005B8C0 5483103A */ slwi r3, r4, 2 -/* 056324 8005B8C4 7CBF192E */ stwx r5, r31, r3 -/* 056328 8005B8C8 48000010 */ b lbl_8005B8D8 -lbl_8005B8CC: -/* 05632C 8005B8CC 80610084 */ lwz r3, 0x84(r1) -/* 056330 8005B8D0 38630001 */ addi r3, r3, 1 -/* 056334 8005B8D4 90610084 */ stw r3, 0x84(r1) -lbl_8005B8D8: -/* 056338 8005B8D8 281F0000 */ cmplwi r31, 0 -/* 05633C 8005B8DC 41820024 */ beq lbl_8005B900 -/* 056340 8005B8E0 80810084 */ lwz r4, 0x84(r1) -/* 056344 8005B8E4 3C603901 */ lis r3, 0x3901 -/* 056348 8005B8E8 38A3FFFF */ addi r5, r3, -1 -/* 05634C 8005B8EC 38640001 */ addi r3, r4, 1 -/* 056350 8005B8F0 90610084 */ stw r3, 0x84(r1) -/* 056354 8005B8F4 5483103A */ slwi r3, r4, 2 -/* 056358 8005B8F8 7CBF192E */ stwx r5, r31, r3 -/* 05635C 8005B8FC 48000010 */ b lbl_8005B90C -lbl_8005B900: -/* 056360 8005B900 80610084 */ lwz r3, 0x84(r1) -/* 056364 8005B904 38630001 */ addi r3, r3, 1 -/* 056368 8005B908 90610084 */ stw r3, 0x84(r1) -lbl_8005B90C: -/* 05636C 8005B90C 281F0000 */ cmplwi r31, 0 -/* 056370 8005B910 41820024 */ beq lbl_8005B934 -/* 056374 8005B914 80810084 */ lwz r4, 0x84(r1) -/* 056378 8005B918 3C607D08 */ lis r3, 0x7d08 -/* 05637C 8005B91C 38A30734 */ addi r5, r3, 0x734 -/* 056380 8005B920 38640001 */ addi r3, r4, 1 -/* 056384 8005B924 90610084 */ stw r3, 0x84(r1) -/* 056388 8005B928 5483103A */ slwi r3, r4, 2 -/* 05638C 8005B92C 7CBF192E */ stwx r5, r31, r3 -/* 056390 8005B930 48000010 */ b lbl_8005B940 -lbl_8005B934: -/* 056394 8005B934 80610084 */ lwz r3, 0x84(r1) -/* 056398 8005B938 38630001 */ addi r3, r3, 1 -/* 05639C 8005B93C 90610084 */ stw r3, 0x84(r1) -lbl_8005B940: -/* 0563A0 8005B940 281F0000 */ cmplwi r31, 0 -/* 0563A4 8005B944 41820024 */ beq lbl_8005B968 -/* 0563A8 8005B948 80810084 */ lwz r4, 0x84(r1) -/* 0563AC 8005B94C 3C607CA5 */ lis r3, 0x7ca5 -/* 0563B0 8005B950 38A33814 */ addi r5, r3, 0x3814 -/* 0563B4 8005B954 38640001 */ addi r3, r4, 1 -/* 0563B8 8005B958 90610084 */ stw r3, 0x84(r1) -/* 0563BC 8005B95C 5483103A */ slwi r3, r4, 2 -/* 0563C0 8005B960 7CBF192E */ stwx r5, r31, r3 -/* 0563C4 8005B964 48000010 */ b lbl_8005B974 -lbl_8005B968: -/* 0563C8 8005B968 80610084 */ lwz r3, 0x84(r1) -/* 0563CC 8005B96C 38630001 */ addi r3, r3, 1 -/* 0563D0 8005B970 90610084 */ stw r3, 0x84(r1) -lbl_8005B974: -/* 0563D4 8005B974 281F0000 */ cmplwi r31, 0 -/* 0563D8 8005B978 41820024 */ beq lbl_8005B99C -/* 0563DC 8005B97C 80810084 */ lwz r4, 0x84(r1) -/* 0563E0 8005B980 3C607CC6 */ lis r3, 0x7cc6 -/* 0563E4 8005B984 38A34114 */ addi r5, r3, 0x4114 -/* 0563E8 8005B988 38640001 */ addi r3, r4, 1 -/* 0563EC 8005B98C 90610084 */ stw r3, 0x84(r1) -/* 0563F0 8005B990 5483103A */ slwi r3, r4, 2 -/* 0563F4 8005B994 7CBF192E */ stwx r5, r31, r3 -/* 0563F8 8005B998 48000010 */ b lbl_8005B9A8 -lbl_8005B99C: -/* 0563FC 8005B99C 80610084 */ lwz r3, 0x84(r1) -/* 056400 8005B9A0 38630001 */ addi r3, r3, 1 -/* 056404 8005B9A4 90610084 */ stw r3, 0x84(r1) -lbl_8005B9A8: -/* 056408 8005B9A8 281F0000 */ cmplwi r31, 0 -/* 05640C 8005B9AC 41820034 */ beq lbl_8005B9E0 -/* 056410 8005B9B0 54031838 */ slwi r3, r0, 3 -/* 056414 8005B9B4 80810084 */ lwz r4, 0x84(r1) -/* 056418 8005B9B8 38630040 */ addi r3, r3, 0x40 -/* 05641C 8005B9BC 7C7E1A14 */ add r3, r30, r3 -/* 056420 8005B9C0 7CBE1850 */ subf r5, r30, r3 -/* 056424 8005B9C4 38640001 */ addi r3, r4, 1 -/* 056428 8005B9C8 3CA590A3 */ addis r5, r5, 0x90a3 -/* 05642C 8005B9CC 90610084 */ stw r3, 0x84(r1) -/* 056430 8005B9D0 38650004 */ addi r3, r5, 4 -/* 056434 8005B9D4 5484103A */ slwi r4, r4, 2 -/* 056438 8005B9D8 7C7F212E */ stwx r3, r31, r4 -/* 05643C 8005B9DC 48000010 */ b lbl_8005B9EC -lbl_8005B9E0: -/* 056440 8005B9E0 80610084 */ lwz r3, 0x84(r1) -/* 056444 8005B9E4 38630001 */ addi r3, r3, 1 -/* 056448 8005B9E8 90610084 */ stw r3, 0x84(r1) -lbl_8005B9EC: -/* 05644C 8005B9EC 281F0000 */ cmplwi r31, 0 -/* 056450 8005B9F0 41820030 */ beq lbl_8005BA20 -/* 056454 8005B9F4 80610084 */ lwz r3, 0x84(r1) -/* 056458 8005B9F8 54041838 */ slwi r4, r0, 3 -/* 05645C 8005B9FC 38840040 */ addi r4, r4, 0x40 -/* 056460 8005BA00 7C9E2214 */ add r4, r30, r4 -/* 056464 8005BA04 38A30001 */ addi r5, r3, 1 -/* 056468 8005BA08 7C9E2050 */ subf r4, r30, r4 -/* 05646C 8005BA0C 90A10084 */ stw r5, 0x84(r1) -/* 056470 8005BA10 3C8490C3 */ addis r4, r4, 0x90c3 -/* 056474 8005BA14 5463103A */ slwi r3, r3, 2 -/* 056478 8005BA18 7C9F192E */ stwx r4, r31, r3 -/* 05647C 8005BA1C 48000010 */ b lbl_8005BA2C -lbl_8005BA20: -/* 056480 8005BA20 80610084 */ lwz r3, 0x84(r1) -/* 056484 8005BA24 38630001 */ addi r3, r3, 1 -/* 056488 8005BA28 90610084 */ stw r3, 0x84(r1) -lbl_8005BA2C: -/* 05648C 8005BA2C 281F0000 */ cmplwi r31, 0 -/* 056490 8005BA30 41820024 */ beq lbl_8005BA54 -/* 056494 8005BA34 80810084 */ lwz r4, 0x84(r1) -/* 056498 8005BA38 3C608101 */ lis r3, 0x8101 -/* 05649C 8005BA3C 38A30008 */ addi r5, r3, 8 -/* 0564A0 8005BA40 38640001 */ addi r3, r4, 1 -/* 0564A4 8005BA44 90610084 */ stw r3, 0x84(r1) -/* 0564A8 8005BA48 5483103A */ slwi r3, r4, 2 -/* 0564AC 8005BA4C 7CBF192E */ stwx r5, r31, r3 -/* 0564B0 8005BA50 48000010 */ b lbl_8005BA60 -lbl_8005BA54: -/* 0564B4 8005BA54 80610084 */ lwz r3, 0x84(r1) -/* 0564B8 8005BA58 38630001 */ addi r3, r3, 1 -/* 0564BC 8005BA5C 90610084 */ stw r3, 0x84(r1) -lbl_8005BA60: -/* 0564C0 8005BA60 281F0000 */ cmplwi r31, 0 -/* 0564C4 8005BA64 41820024 */ beq lbl_8005BA88 -/* 0564C8 8005BA68 80810084 */ lwz r4, 0x84(r1) -/* 0564CC 8005BA6C 3C603821 */ lis r3, 0x3821 -/* 0564D0 8005BA70 38A30010 */ addi r5, r3, 0x10 -/* 0564D4 8005BA74 38640001 */ addi r3, r4, 1 -/* 0564D8 8005BA78 90610084 */ stw r3, 0x84(r1) -/* 0564DC 8005BA7C 5483103A */ slwi r3, r4, 2 -/* 0564E0 8005BA80 7CBF192E */ stwx r5, r31, r3 -/* 0564E4 8005BA84 48000010 */ b lbl_8005BA94 -lbl_8005BA88: -/* 0564E8 8005BA88 80610084 */ lwz r3, 0x84(r1) -/* 0564EC 8005BA8C 38630001 */ addi r3, r3, 1 -/* 0564F0 8005BA90 90610084 */ stw r3, 0x84(r1) -lbl_8005BA94: -/* 0564F4 8005BA94 5400103A */ slwi r0, r0, 2 -/* 0564F8 8005BA98 7C7A0214 */ add r3, r26, r0 -/* 0564FC 8005BA9C 80030818 */ lwz r0, 0x818(r3) -/* 056500 8005BAA0 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 056504 8005BAA4 41820008 */ beq lbl_8005BAAC -/* 056508 8005BAA8 4800C48C */ b lbl_80067F34 -lbl_8005BAAC: -/* 05650C 8005BAAC 281F0000 */ cmplwi r31, 0 -/* 056510 8005BAB0 41820028 */ beq lbl_8005BAD8 -/* 056514 8005BAB4 80610084 */ lwz r3, 0x84(r1) -/* 056518 8005BAB8 5400801E */ slwi r0, r0, 0x10 -/* 05651C 8005BABC 64047CA0 */ oris r4, r0, 0x7ca0 -/* 056520 8005BAC0 38030001 */ addi r0, r3, 1 -/* 056524 8005BAC4 90010084 */ stw r0, 0x84(r1) -/* 056528 8005BAC8 60842B78 */ ori r4, r4, 0x2b78 -/* 05652C 8005BACC 5460103A */ slwi r0, r3, 2 -/* 056530 8005BAD0 7C9F012E */ stwx r4, r31, r0 -/* 056534 8005BAD4 4800C460 */ b lbl_80067F34 -lbl_8005BAD8: -/* 056538 8005BAD8 80610084 */ lwz r3, 0x84(r1) -/* 05653C 8005BADC 38030001 */ addi r0, r3, 1 -/* 056540 8005BAE0 90010084 */ stw r0, 0x84(r1) -/* 056544 8005BAE4 4800C450 */ b lbl_80067F34 -.global lbl_8005BAE8 -lbl_8005BAE8: -/* 056548 8005BAE8 3C9E0001 */ addis r4, r30, 1 -/* 05654C 8005BAEC 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 056550 8005BAF0 80642058 */ lwz r3, 0x2058(r4) -/* 056554 8005BAF4 38000001 */ li r0, 1 -/* 056558 8005BAF8 7C062830 */ slw r6, r0, r5 -/* 05655C 8005BAFC 7C663039 */ and. r6, r3, r6 -/* 056560 8005BB00 41820018 */ beq lbl_8005BB18 -/* 056564 8005BB04 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 056568 8005BB08 7C003030 */ slw r0, r0, r6 -/* 05656C 8005BB0C 7C600378 */ or r0, r3, r0 -/* 056570 8005BB10 90042058 */ stw r0, 0x2058(r4) -/* 056574 8005BB14 48000014 */ b lbl_8005BB28 -lbl_8005BB18: -/* 056578 8005BB18 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 05657C 8005BB1C 7C003030 */ slw r0, r0, r6 -/* 056580 8005BB20 7C600078 */ andc r0, r3, r0 -/* 056584 8005BB24 90042058 */ stw r0, 0x2058(r4) -lbl_8005BB28: -/* 056588 8005BB28 54A0103A */ slwi r0, r5, 2 -/* 05658C 8005BB2C 7C7A0214 */ add r3, r26, r0 -/* 056590 8005BB30 80030818 */ lwz r0, 0x818(r3) -/* 056594 8005BB34 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 056598 8005BB38 40820050 */ bne lbl_8005BB88 -/* 05659C 8005BB3C 281F0000 */ cmplwi r31, 0 -/* 0565A0 8005BB40 4182003C */ beq lbl_8005BB7C -/* 0565A4 8005BB44 54A41838 */ slwi r4, r5, 3 -/* 0565A8 8005BB48 80610084 */ lwz r3, 0x84(r1) -/* 0565AC 8005BB4C 38840040 */ addi r4, r4, 0x40 -/* 0565B0 8005BB50 5400A814 */ slwi r0, r0, 0x15 -/* 0565B4 8005BB54 7C9E2214 */ add r4, r30, r4 -/* 0565B8 8005BB58 38C30001 */ addi r6, r3, 1 -/* 0565BC 8005BB5C 64009003 */ oris r0, r0, 0x9003 -/* 0565C0 8005BB60 90C10084 */ stw r6, 0x84(r1) -/* 0565C4 8005BB64 7C9E2050 */ subf r4, r30, r4 -/* 0565C8 8005BB68 7C840214 */ add r4, r4, r0 -/* 0565CC 8005BB6C 38040004 */ addi r0, r4, 4 -/* 0565D0 8005BB70 5463103A */ slwi r3, r3, 2 -/* 0565D4 8005BB74 7C1F192E */ stwx r0, r31, r3 -/* 0565D8 8005BB78 48000010 */ b lbl_8005BB88 -lbl_8005BB7C: -/* 0565DC 8005BB7C 80610084 */ lwz r3, 0x84(r1) -/* 0565E0 8005BB80 38030001 */ addi r0, r3, 1 -/* 0565E4 8005BB84 90010084 */ stw r0, 0x84(r1) -lbl_8005BB88: -/* 0565E8 8005BB88 281F0000 */ cmplwi r31, 0 -/* 0565EC 8005BB8C 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 0565F0 8005BB90 41820024 */ beq lbl_8005BBB4 -/* 0565F4 8005BB94 80610084 */ lwz r3, 0x84(r1) -/* 0565F8 8005BB98 3C809422 */ lis r4, 0x9422 -/* 0565FC 8005BB9C 3884FFF0 */ addi r4, r4, -16 -/* 056600 8005BBA0 38C30001 */ addi r6, r3, 1 -/* 056604 8005BBA4 90C10084 */ stw r6, 0x84(r1) -/* 056608 8005BBA8 5463103A */ slwi r3, r3, 2 -/* 05660C 8005BBAC 7C9F192E */ stwx r4, r31, r3 -/* 056610 8005BBB0 48000010 */ b lbl_8005BBC0 -lbl_8005BBB4: -/* 056614 8005BBB4 80610084 */ lwz r3, 0x84(r1) -/* 056618 8005BBB8 38630001 */ addi r3, r3, 1 -/* 05661C 8005BBBC 90610084 */ stw r3, 0x84(r1) -lbl_8005BBC0: -/* 056620 8005BBC0 281F0000 */ cmplwi r31, 0 -/* 056624 8005BBC4 41820024 */ beq lbl_8005BBE8 -/* 056628 8005BBC8 80610084 */ lwz r3, 0x84(r1) -/* 05662C 8005BBCC 3C809101 */ lis r4, 0x9101 -/* 056630 8005BBD0 38840008 */ addi r4, r4, 8 -/* 056634 8005BBD4 38C30001 */ addi r6, r3, 1 -/* 056638 8005BBD8 90C10084 */ stw r6, 0x84(r1) -/* 05663C 8005BBDC 5463103A */ slwi r3, r3, 2 -/* 056640 8005BBE0 7C9F192E */ stwx r4, r31, r3 -/* 056644 8005BBE4 48000010 */ b lbl_8005BBF4 -lbl_8005BBE8: -/* 056648 8005BBE8 80610084 */ lwz r3, 0x84(r1) -/* 05664C 8005BBEC 38630001 */ addi r3, r3, 1 -/* 056650 8005BBF0 90610084 */ stw r3, 0x84(r1) -lbl_8005BBF4: -/* 056654 8005BBF4 281F0000 */ cmplwi r31, 0 -/* 056658 8005BBF8 41820034 */ beq lbl_8005BC2C -/* 05665C 8005BBFC 54A41838 */ slwi r4, r5, 3 -/* 056660 8005BC00 80610084 */ lwz r3, 0x84(r1) -/* 056664 8005BC04 38840040 */ addi r4, r4, 0x40 -/* 056668 8005BC08 7C9E2214 */ add r4, r30, r4 -/* 05666C 8005BC0C 7C9E2050 */ subf r4, r30, r4 -/* 056670 8005BC10 38C30001 */ addi r6, r3, 1 -/* 056674 8005BC14 3C8480A3 */ addis r4, r4, 0x80a3 -/* 056678 8005BC18 90C10084 */ stw r6, 0x84(r1) -/* 05667C 8005BC1C 38840004 */ addi r4, r4, 4 -/* 056680 8005BC20 5463103A */ slwi r3, r3, 2 -/* 056684 8005BC24 7C9F192E */ stwx r4, r31, r3 -/* 056688 8005BC28 48000010 */ b lbl_8005BC38 -lbl_8005BC2C: -/* 05668C 8005BC2C 80610084 */ lwz r3, 0x84(r1) -/* 056690 8005BC30 38630001 */ addi r3, r3, 1 -/* 056694 8005BC34 90610084 */ stw r3, 0x84(r1) -lbl_8005BC38: -/* 056698 8005BC38 281F0000 */ cmplwi r31, 0 -/* 05669C 8005BC3C 41820030 */ beq lbl_8005BC6C -/* 0566A0 8005BC40 80610084 */ lwz r3, 0x84(r1) -/* 0566A4 8005BC44 54A41838 */ slwi r4, r5, 3 -/* 0566A8 8005BC48 38840040 */ addi r4, r4, 0x40 -/* 0566AC 8005BC4C 7C9E2214 */ add r4, r30, r4 -/* 0566B0 8005BC50 38A30001 */ addi r5, r3, 1 -/* 0566B4 8005BC54 7C9E2050 */ subf r4, r30, r4 -/* 0566B8 8005BC58 90A10084 */ stw r5, 0x84(r1) -/* 0566BC 8005BC5C 3C8480C3 */ addis r4, r4, 0x80c3 -/* 0566C0 8005BC60 5463103A */ slwi r3, r3, 2 -/* 0566C4 8005BC64 7C9F192E */ stwx r4, r31, r3 -/* 0566C8 8005BC68 48000010 */ b lbl_8005BC78 -lbl_8005BC6C: -/* 0566CC 8005BC6C 80610084 */ lwz r3, 0x84(r1) -/* 0566D0 8005BC70 38630001 */ addi r3, r3, 1 -/* 0566D4 8005BC74 90610084 */ stw r3, 0x84(r1) -lbl_8005BC78: -/* 0566D8 8005BC78 281F0000 */ cmplwi r31, 0 -/* 0566DC 8005BC7C 41820024 */ beq lbl_8005BCA0 -/* 0566E0 8005BC80 80610084 */ lwz r3, 0x84(r1) -/* 0566E4 8005BC84 5784043E */ clrlwi r4, r28, 0x10 -/* 0566E8 8005BC88 648538E0 */ oris r5, r4, 0x38e0 -/* 0566EC 8005BC8C 38830001 */ addi r4, r3, 1 -/* 0566F0 8005BC90 90810084 */ stw r4, 0x84(r1) -/* 0566F4 8005BC94 5463103A */ slwi r3, r3, 2 -/* 0566F8 8005BC98 7CBF192E */ stwx r5, r31, r3 -/* 0566FC 8005BC9C 48000010 */ b lbl_8005BCAC -lbl_8005BCA0: -/* 056700 8005BCA0 80610084 */ lwz r3, 0x84(r1) -/* 056704 8005BCA4 38630001 */ addi r3, r3, 1 -/* 056708 8005BCA8 90610084 */ stw r3, 0x84(r1) -lbl_8005BCAC: -/* 05670C 8005BCAC 281F0000 */ cmplwi r31, 0 -/* 056710 8005BCB0 41820020 */ beq lbl_8005BCD0 -/* 056714 8005BCB4 80810084 */ lwz r4, 0x84(r1) -/* 056718 8005BCB8 3CA03900 */ lis r5, 0x3900 -/* 05671C 8005BCBC 38640001 */ addi r3, r4, 1 -/* 056720 8005BCC0 90610084 */ stw r3, 0x84(r1) -/* 056724 8005BCC4 5483103A */ slwi r3, r4, 2 -/* 056728 8005BCC8 7CBF192E */ stwx r5, r31, r3 -/* 05672C 8005BCCC 48000010 */ b lbl_8005BCDC -lbl_8005BCD0: -/* 056730 8005BCD0 80610084 */ lwz r3, 0x84(r1) -/* 056734 8005BCD4 38630001 */ addi r3, r3, 1 -/* 056738 8005BCD8 90610084 */ stw r3, 0x84(r1) -lbl_8005BCDC: -/* 05673C 8005BCDC 281F0000 */ cmplwi r31, 0 -/* 056740 8005BCE0 41820024 */ beq lbl_8005BD04 -/* 056744 8005BCE4 80810084 */ lwz r4, 0x84(r1) -/* 056748 8005BCE8 3C607CE7 */ lis r3, 0x7ce7 -/* 05674C 8005BCEC 38A30734 */ addi r5, r3, 0x734 -/* 056750 8005BCF0 38640001 */ addi r3, r4, 1 -/* 056754 8005BCF4 90610084 */ stw r3, 0x84(r1) -/* 056758 8005BCF8 5483103A */ slwi r3, r4, 2 -/* 05675C 8005BCFC 7CBF192E */ stwx r5, r31, r3 -/* 056760 8005BD00 48000010 */ b lbl_8005BD10 -lbl_8005BD04: -/* 056764 8005BD04 80610084 */ lwz r3, 0x84(r1) -/* 056768 8005BD08 38630001 */ addi r3, r3, 1 -/* 05676C 8005BD0C 90610084 */ stw r3, 0x84(r1) -lbl_8005BD10: -/* 056770 8005BD10 281F0000 */ cmplwi r31, 0 -/* 056774 8005BD14 41820020 */ beq lbl_8005BD34 -/* 056778 8005BD18 80810084 */ lwz r4, 0x84(r1) -/* 05677C 8005BD1C 3CA02C07 */ lis r5, 0x2c07 -/* 056780 8005BD20 38640001 */ addi r3, r4, 1 -/* 056784 8005BD24 90610084 */ stw r3, 0x84(r1) -/* 056788 8005BD28 5483103A */ slwi r3, r4, 2 -/* 05678C 8005BD2C 7CBF192E */ stwx r5, r31, r3 -/* 056790 8005BD30 48000010 */ b lbl_8005BD40 -lbl_8005BD34: -/* 056794 8005BD34 80610084 */ lwz r3, 0x84(r1) -/* 056798 8005BD38 38630001 */ addi r3, r3, 1 -/* 05679C 8005BD3C 90610084 */ stw r3, 0x84(r1) -lbl_8005BD40: -/* 0567A0 8005BD40 281F0000 */ cmplwi r31, 0 -/* 0567A4 8005BD44 41820024 */ beq lbl_8005BD68 -/* 0567A8 8005BD48 80810084 */ lwz r4, 0x84(r1) -/* 0567AC 8005BD4C 3C604080 */ lis r3, 0x4080 -/* 0567B0 8005BD50 38A3000C */ addi r5, r3, 0xc -/* 0567B4 8005BD54 38640001 */ addi r3, r4, 1 -/* 0567B8 8005BD58 90610084 */ stw r3, 0x84(r1) -/* 0567BC 8005BD5C 5483103A */ slwi r3, r4, 2 -/* 0567C0 8005BD60 7CBF192E */ stwx r5, r31, r3 -/* 0567C4 8005BD64 48000010 */ b lbl_8005BD74 -lbl_8005BD68: -/* 0567C8 8005BD68 80610084 */ lwz r3, 0x84(r1) -/* 0567CC 8005BD6C 38630001 */ addi r3, r3, 1 -/* 0567D0 8005BD70 90610084 */ stw r3, 0x84(r1) -lbl_8005BD74: -/* 0567D4 8005BD74 281F0000 */ cmplwi r31, 0 -/* 0567D8 8005BD78 41820024 */ beq lbl_8005BD9C -/* 0567DC 8005BD7C 80810084 */ lwz r4, 0x84(r1) -/* 0567E0 8005BD80 3C603901 */ lis r3, 0x3901 -/* 0567E4 8005BD84 38A3FFFF */ addi r5, r3, -1 -/* 0567E8 8005BD88 38640001 */ addi r3, r4, 1 -/* 0567EC 8005BD8C 90610084 */ stw r3, 0x84(r1) -/* 0567F0 8005BD90 5483103A */ slwi r3, r4, 2 -/* 0567F4 8005BD94 7CBF192E */ stwx r5, r31, r3 -/* 0567F8 8005BD98 48000010 */ b lbl_8005BDA8 -lbl_8005BD9C: -/* 0567FC 8005BD9C 80610084 */ lwz r3, 0x84(r1) -/* 056800 8005BDA0 38630001 */ addi r3, r3, 1 -/* 056804 8005BDA4 90610084 */ stw r3, 0x84(r1) -lbl_8005BDA8: -/* 056808 8005BDA8 281F0000 */ cmplwi r31, 0 -/* 05680C 8005BDAC 41820024 */ beq lbl_8005BDD0 -/* 056810 8005BDB0 80810084 */ lwz r4, 0x84(r1) -/* 056814 8005BDB4 3C607D08 */ lis r3, 0x7d08 -/* 056818 8005BDB8 38A30734 */ addi r5, r3, 0x734 -/* 05681C 8005BDBC 38640001 */ addi r3, r4, 1 -/* 056820 8005BDC0 90610084 */ stw r3, 0x84(r1) -/* 056824 8005BDC4 5483103A */ slwi r3, r4, 2 -/* 056828 8005BDC8 7CBF192E */ stwx r5, r31, r3 -/* 05682C 8005BDCC 48000010 */ b lbl_8005BDDC -lbl_8005BDD0: -/* 056830 8005BDD0 80610084 */ lwz r3, 0x84(r1) -/* 056834 8005BDD4 38630001 */ addi r3, r3, 1 -/* 056838 8005BDD8 90610084 */ stw r3, 0x84(r1) -lbl_8005BDDC: -/* 05683C 8005BDDC 281F0000 */ cmplwi r31, 0 -/* 056840 8005BDE0 41820024 */ beq lbl_8005BE04 -/* 056844 8005BDE4 80810084 */ lwz r4, 0x84(r1) -/* 056848 8005BDE8 3C607CA5 */ lis r3, 0x7ca5 -/* 05684C 8005BDEC 38A33814 */ addi r5, r3, 0x3814 -/* 056850 8005BDF0 38640001 */ addi r3, r4, 1 -/* 056854 8005BDF4 90610084 */ stw r3, 0x84(r1) -/* 056858 8005BDF8 5483103A */ slwi r3, r4, 2 -/* 05685C 8005BDFC 7CBF192E */ stwx r5, r31, r3 -/* 056860 8005BE00 48000010 */ b lbl_8005BE10 -lbl_8005BE04: -/* 056864 8005BE04 80610084 */ lwz r3, 0x84(r1) -/* 056868 8005BE08 38630001 */ addi r3, r3, 1 -/* 05686C 8005BE0C 90610084 */ stw r3, 0x84(r1) -lbl_8005BE10: -/* 056870 8005BE10 281F0000 */ cmplwi r31, 0 -/* 056874 8005BE14 41820024 */ beq lbl_8005BE38 -/* 056878 8005BE18 80810084 */ lwz r4, 0x84(r1) -/* 05687C 8005BE1C 3C607CC6 */ lis r3, 0x7cc6 -/* 056880 8005BE20 38A34114 */ addi r5, r3, 0x4114 -/* 056884 8005BE24 38640001 */ addi r3, r4, 1 -/* 056888 8005BE28 90610084 */ stw r3, 0x84(r1) -/* 05688C 8005BE2C 5483103A */ slwi r3, r4, 2 -/* 056890 8005BE30 7CBF192E */ stwx r5, r31, r3 -/* 056894 8005BE34 48000010 */ b lbl_8005BE44 -lbl_8005BE38: -/* 056898 8005BE38 80610084 */ lwz r3, 0x84(r1) -/* 05689C 8005BE3C 38630001 */ addi r3, r3, 1 -/* 0568A0 8005BE40 90610084 */ stw r3, 0x84(r1) -lbl_8005BE44: -/* 0568A4 8005BE44 281F0000 */ cmplwi r31, 0 -/* 0568A8 8005BE48 41820034 */ beq lbl_8005BE7C -/* 0568AC 8005BE4C 54031838 */ slwi r3, r0, 3 -/* 0568B0 8005BE50 80810084 */ lwz r4, 0x84(r1) -/* 0568B4 8005BE54 38630040 */ addi r3, r3, 0x40 -/* 0568B8 8005BE58 7C7E1A14 */ add r3, r30, r3 -/* 0568BC 8005BE5C 7CBE1850 */ subf r5, r30, r3 -/* 0568C0 8005BE60 38640001 */ addi r3, r4, 1 -/* 0568C4 8005BE64 3CA590A3 */ addis r5, r5, 0x90a3 -/* 0568C8 8005BE68 90610084 */ stw r3, 0x84(r1) -/* 0568CC 8005BE6C 38650004 */ addi r3, r5, 4 -/* 0568D0 8005BE70 5484103A */ slwi r4, r4, 2 -/* 0568D4 8005BE74 7C7F212E */ stwx r3, r31, r4 -/* 0568D8 8005BE78 48000010 */ b lbl_8005BE88 -lbl_8005BE7C: -/* 0568DC 8005BE7C 80610084 */ lwz r3, 0x84(r1) -/* 0568E0 8005BE80 38630001 */ addi r3, r3, 1 -/* 0568E4 8005BE84 90610084 */ stw r3, 0x84(r1) -lbl_8005BE88: -/* 0568E8 8005BE88 281F0000 */ cmplwi r31, 0 -/* 0568EC 8005BE8C 41820030 */ beq lbl_8005BEBC -/* 0568F0 8005BE90 80610084 */ lwz r3, 0x84(r1) -/* 0568F4 8005BE94 54041838 */ slwi r4, r0, 3 -/* 0568F8 8005BE98 38840040 */ addi r4, r4, 0x40 -/* 0568FC 8005BE9C 7C9E2214 */ add r4, r30, r4 -/* 056900 8005BEA0 38A30001 */ addi r5, r3, 1 -/* 056904 8005BEA4 7C9E2050 */ subf r4, r30, r4 -/* 056908 8005BEA8 90A10084 */ stw r5, 0x84(r1) -/* 05690C 8005BEAC 3C8490C3 */ addis r4, r4, 0x90c3 -/* 056910 8005BEB0 5463103A */ slwi r3, r3, 2 -/* 056914 8005BEB4 7C9F192E */ stwx r4, r31, r3 -/* 056918 8005BEB8 48000010 */ b lbl_8005BEC8 -lbl_8005BEBC: -/* 05691C 8005BEBC 80610084 */ lwz r3, 0x84(r1) -/* 056920 8005BEC0 38630001 */ addi r3, r3, 1 -/* 056924 8005BEC4 90610084 */ stw r3, 0x84(r1) -lbl_8005BEC8: -/* 056928 8005BEC8 281F0000 */ cmplwi r31, 0 -/* 05692C 8005BECC 41820024 */ beq lbl_8005BEF0 -/* 056930 8005BED0 80810084 */ lwz r4, 0x84(r1) -/* 056934 8005BED4 3C608101 */ lis r3, 0x8101 -/* 056938 8005BED8 38A30008 */ addi r5, r3, 8 -/* 05693C 8005BEDC 38640001 */ addi r3, r4, 1 -/* 056940 8005BEE0 90610084 */ stw r3, 0x84(r1) -/* 056944 8005BEE4 5483103A */ slwi r3, r4, 2 -/* 056948 8005BEE8 7CBF192E */ stwx r5, r31, r3 -/* 05694C 8005BEEC 48000010 */ b lbl_8005BEFC -lbl_8005BEF0: -/* 056950 8005BEF0 80610084 */ lwz r3, 0x84(r1) -/* 056954 8005BEF4 38630001 */ addi r3, r3, 1 -/* 056958 8005BEF8 90610084 */ stw r3, 0x84(r1) -lbl_8005BEFC: -/* 05695C 8005BEFC 281F0000 */ cmplwi r31, 0 -/* 056960 8005BF00 41820024 */ beq lbl_8005BF24 -/* 056964 8005BF04 80810084 */ lwz r4, 0x84(r1) -/* 056968 8005BF08 3C603821 */ lis r3, 0x3821 -/* 05696C 8005BF0C 38A30010 */ addi r5, r3, 0x10 -/* 056970 8005BF10 38640001 */ addi r3, r4, 1 -/* 056974 8005BF14 90610084 */ stw r3, 0x84(r1) -/* 056978 8005BF18 5483103A */ slwi r3, r4, 2 -/* 05697C 8005BF1C 7CBF192E */ stwx r5, r31, r3 -/* 056980 8005BF20 48000010 */ b lbl_8005BF30 -lbl_8005BF24: -/* 056984 8005BF24 80610084 */ lwz r3, 0x84(r1) -/* 056988 8005BF28 38630001 */ addi r3, r3, 1 -/* 05698C 8005BF2C 90610084 */ stw r3, 0x84(r1) -lbl_8005BF30: -/* 056990 8005BF30 5400103A */ slwi r0, r0, 2 -/* 056994 8005BF34 7C7A0214 */ add r3, r26, r0 -/* 056998 8005BF38 80030818 */ lwz r0, 0x818(r3) -/* 05699C 8005BF3C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 0569A0 8005BF40 41820008 */ beq lbl_8005BF48 -/* 0569A4 8005BF44 4800BFF0 */ b lbl_80067F34 -lbl_8005BF48: -/* 0569A8 8005BF48 281F0000 */ cmplwi r31, 0 -/* 0569AC 8005BF4C 41820028 */ beq lbl_8005BF74 -/* 0569B0 8005BF50 80610084 */ lwz r3, 0x84(r1) -/* 0569B4 8005BF54 5400801E */ slwi r0, r0, 0x10 -/* 0569B8 8005BF58 64047CA0 */ oris r4, r0, 0x7ca0 -/* 0569BC 8005BF5C 38030001 */ addi r0, r3, 1 -/* 0569C0 8005BF60 90010084 */ stw r0, 0x84(r1) -/* 0569C4 8005BF64 60842B78 */ ori r4, r4, 0x2b78 -/* 0569C8 8005BF68 5460103A */ slwi r0, r3, 2 -/* 0569CC 8005BF6C 7C9F012E */ stwx r4, r31, r0 -/* 0569D0 8005BF70 4800BFC4 */ b lbl_80067F34 -lbl_8005BF74: -/* 0569D4 8005BF74 80610084 */ lwz r3, 0x84(r1) -/* 0569D8 8005BF78 38030001 */ addi r0, r3, 1 -/* 0569DC 8005BF7C 90010084 */ stw r0, 0x84(r1) -/* 0569E0 8005BF80 4800BFB4 */ b lbl_80067F34 -.global lbl_8005BF84 -lbl_8005BF84: -/* 0569E4 8005BF84 807E0008 */ lwz r3, 8(r30) -/* 0569E8 8005BF88 5784043E */ clrlwi r4, r28, 0x10 -/* 0569EC 8005BF8C 80630058 */ lwz r3, 0x58(r3) -/* 0569F0 8005BF90 4803339D */ bl libraryFunctionReplaced -/* 0569F4 8005BF94 2C030000 */ cmpwi r3, 0 -/* 0569F8 8005BF98 40820008 */ bne lbl_8005BFA0 -/* 0569FC 8005BF9C 4800BF98 */ b lbl_80067F34 -lbl_8005BFA0: -/* 056A00 8005BFA0 3C7E0001 */ addis r3, r30, 1 -/* 056A04 8005BFA4 8083205C */ lwz r4, 0x205c(r3) -/* 056A08 8005BFA8 381D0008 */ addi r0, r29, 8 -/* 056A0C 8005BFAC 60840001 */ ori r4, r4, 1 -/* 056A10 8005BFB0 9083205C */ stw r4, 0x205c(r3) -/* 056A14 8005BFB4 901B0014 */ stw r0, 0x14(r27) -/* 056A18 8005BFB8 4800BF7C */ b lbl_80067F34 -.global lbl_8005BFBC -lbl_8005BFBC: -/* 056A1C 8005BFBC 3C7E0001 */ addis r3, r30, 1 -/* 056A20 8005BFC0 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 056A24 8005BFC4 80A32058 */ lwz r5, 0x2058(r3) -/* 056A28 8005BFC8 38800001 */ li r4, 1 -/* 056A2C 8005BFCC 7C800030 */ slw r0, r4, r0 -/* 056A30 8005BFD0 7CA00078 */ andc r0, r5, r0 -/* 056A34 8005BFD4 90032058 */ stw r0, 0x2058(r3) -/* 056A38 8005BFD8 4800BF5C */ b lbl_80067F34 -.global lbl_8005BFDC -lbl_8005BFDC: -/* 056A3C 8005BFDC 3C7E0001 */ addis r3, r30, 1 -/* 056A40 8005BFE0 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 056A44 8005BFE4 80A32058 */ lwz r5, 0x2058(r3) -/* 056A48 8005BFE8 38800001 */ li r4, 1 -/* 056A4C 8005BFEC 7C800030 */ slw r0, r4, r0 -/* 056A50 8005BFF0 7CA00078 */ andc r0, r5, r0 -/* 056A54 8005BFF4 90032058 */ stw r0, 0x2058(r3) -/* 056A58 8005BFF8 4800BF3C */ b lbl_80067F34 -.global lbl_8005BFFC -lbl_8005BFFC: -/* 056A5C 8005BFFC 3C7E0001 */ addis r3, r30, 1 -/* 056A60 8005C000 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 056A64 8005C004 80A32058 */ lwz r5, 0x2058(r3) -/* 056A68 8005C008 38800001 */ li r4, 1 -/* 056A6C 8005C00C 7C800030 */ slw r0, r4, r0 -/* 056A70 8005C010 7CA00078 */ andc r0, r5, r0 -/* 056A74 8005C014 90032058 */ stw r0, 0x2058(r3) -/* 056A78 8005C018 4800BF1C */ b lbl_80067F34 -.global lbl_8005C01C -lbl_8005C01C: -/* 056A7C 8005C01C 3C7E0001 */ addis r3, r30, 1 -/* 056A80 8005C020 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 056A84 8005C024 80032058 */ lwz r0, 0x2058(r3) -/* 056A88 8005C028 38800001 */ li r4, 1 -/* 056A8C 8005C02C 7C842830 */ slw r4, r4, r5 -/* 056A90 8005C030 7C002039 */ and. r0, r0, r4 -/* 056A94 8005C034 41820388 */ beq lbl_8005C3BC -/* 056A98 8005C038 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 056A9C 8005C03C 7D1A0214 */ add r8, r26, r0 -/* 056AA0 8005C040 84E80818 */ lwzu r7, 0x818(r8) -/* 056AA4 8005C044 578A86FE */ rlwinm r10, r28, 0x10, 0x1b, 0x1f -/* 056AA8 8005C048 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 056AAC 8005C04C 41820008 */ beq lbl_8005C054 -/* 056AB0 8005C050 38E00005 */ li r7, 5 -lbl_8005C054: -/* 056AB4 8005C054 54A0103A */ slwi r0, r5, 2 -/* 056AB8 8005C058 7C7A0214 */ add r3, r26, r0 -/* 056ABC 8005C05C 81230818 */ lwz r9, 0x818(r3) -/* 056AC0 8005C060 552005EF */ rlwinm. r0, r9, 0, 0x17, 0x17 -/* 056AC4 8005C064 4182014C */ beq lbl_8005C1B0 -/* 056AC8 8005C068 3C7E0001 */ addis r3, r30, 1 -/* 056ACC 8005C06C 80032064 */ lwz r0, 0x2064(r3) -/* 056AD0 8005C070 39200006 */ li r9, 6 -/* 056AD4 8005C074 28000000 */ cmplwi r0, 0 -/* 056AD8 8005C078 4082000C */ bne lbl_8005C084 -/* 056ADC 8005C07C 38000000 */ li r0, 0 -/* 056AE0 8005C080 48000094 */ b lbl_8005C114 -lbl_8005C084: -/* 056AE4 8005C084 80032068 */ lwz r0, 0x2068(r3) -/* 056AE8 8005C088 28000000 */ cmplwi r0, 0 -/* 056AEC 8005C08C 4082000C */ bne lbl_8005C098 -/* 056AF0 8005C090 38000000 */ li r0, 0 -/* 056AF4 8005C094 48000080 */ b lbl_8005C114 -lbl_8005C098: -/* 056AF8 8005C098 8003206C */ lwz r0, 0x206c(r3) -/* 056AFC 8005C09C 7C050000 */ cmpw r5, r0 -/* 056B00 8005C0A0 4182000C */ beq lbl_8005C0AC -/* 056B04 8005C0A4 38000000 */ li r0, 0 -/* 056B08 8005C0A8 4800006C */ b lbl_8005C114 -lbl_8005C0AC: -/* 056B0C 8005C0AC 80DE0034 */ lwz r6, 0x34(r30) -/* 056B10 8005C0B0 38800000 */ li r4, 0 -/* 056B14 8005C0B4 80060008 */ lwz r0, 8(r6) -/* 056B18 8005C0B8 2C000000 */ cmpwi r0, 0 -/* 056B1C 8005C0BC 7C0903A6 */ mtctr r0 -/* 056B20 8005C0C0 40810028 */ ble lbl_8005C0E8 -lbl_8005C0C4: -/* 056B24 8005C0C4 8066000C */ lwz r3, 0xc(r6) -/* 056B28 8005C0C8 38040004 */ addi r0, r4, 4 -/* 056B2C 8005C0CC 7C03002E */ lwzx r0, r3, r0 -/* 056B30 8005C0D0 7C1D0000 */ cmpw r29, r0 -/* 056B34 8005C0D4 4082000C */ bne lbl_8005C0E0 -/* 056B38 8005C0D8 38000000 */ li r0, 0 -/* 056B3C 8005C0DC 48000010 */ b lbl_8005C0EC -lbl_8005C0E0: -/* 056B40 8005C0E0 38840008 */ addi r4, r4, 8 -/* 056B44 8005C0E4 4200FFE0 */ bdnz lbl_8005C0C4 -lbl_8005C0E8: -/* 056B48 8005C0E8 38000001 */ li r0, 1 -lbl_8005C0EC: -/* 056B4C 8005C0EC 2C000000 */ cmpwi r0, 0 -/* 056B50 8005C0F0 40820014 */ bne lbl_8005C104 -/* 056B54 8005C0F4 38000000 */ li r0, 0 -/* 056B58 8005C0F8 3C7E0001 */ addis r3, r30, 1 -/* 056B5C 8005C0FC 90032068 */ stw r0, 0x2068(r3) -/* 056B60 8005C100 48000014 */ b lbl_8005C114 -lbl_8005C104: -/* 056B64 8005C104 3C7E0001 */ addis r3, r30, 1 -/* 056B68 8005C108 38000000 */ li r0, 0 -/* 056B6C 8005C10C 90032068 */ stw r0, 0x2068(r3) -/* 056B70 8005C110 38000001 */ li r0, 1 -lbl_8005C114: -/* 056B74 8005C114 2C000000 */ cmpwi r0, 0 -/* 056B78 8005C118 41820050 */ beq lbl_8005C168 -/* 056B7C 8005C11C 281F0000 */ cmplwi r31, 0 -/* 056B80 8005C120 41820038 */ beq lbl_8005C158 -/* 056B84 8005C124 3C9E0001 */ addis r4, r30, 1 -/* 056B88 8005C128 80610084 */ lwz r3, 0x84(r1) -/* 056B8C 8005C12C 80842070 */ lwz r4, 0x2070(r4) -/* 056B90 8005C130 38C30001 */ addi r6, r3, 1 -/* 056B94 8005C134 5480A814 */ slwi r0, r4, 0x15 -/* 056B98 8005C138 90C10084 */ stw r6, 0x84(r1) -/* 056B9C 8005C13C 64007C06 */ oris r0, r0, 0x7c06 -/* 056BA0 8005C140 54845828 */ slwi r4, r4, 0xb -/* 056BA4 8005C144 60000378 */ ori r0, r0, 0x378 -/* 056BA8 8005C148 7C800378 */ or r0, r4, r0 -/* 056BAC 8005C14C 5463103A */ slwi r3, r3, 2 -/* 056BB0 8005C150 7C1F192E */ stwx r0, r31, r3 -/* 056BB4 8005C154 4800005C */ b lbl_8005C1B0 -lbl_8005C158: -/* 056BB8 8005C158 80610084 */ lwz r3, 0x84(r1) -/* 056BBC 8005C15C 38030001 */ addi r0, r3, 1 -/* 056BC0 8005C160 90010084 */ stw r0, 0x84(r1) -/* 056BC4 8005C164 4800004C */ b lbl_8005C1B0 -lbl_8005C168: -/* 056BC8 8005C168 281F0000 */ cmplwi r31, 0 -/* 056BCC 8005C16C 41820038 */ beq lbl_8005C1A4 -/* 056BD0 8005C170 54A41838 */ slwi r4, r5, 3 -/* 056BD4 8005C174 80610084 */ lwz r3, 0x84(r1) -/* 056BD8 8005C178 38040040 */ addi r0, r4, 0x40 -/* 056BDC 8005C17C 7C1E0214 */ add r0, r30, r0 -/* 056BE0 8005C180 7C9E0050 */ subf r4, r30, r0 -/* 056BE4 8005C184 38840004 */ addi r4, r4, 4 -/* 056BE8 8005C188 38030001 */ addi r0, r3, 1 -/* 056BEC 8005C18C 5484043E */ clrlwi r4, r4, 0x10 -/* 056BF0 8005C190 90010084 */ stw r0, 0x84(r1) -/* 056BF4 8005C194 3C0480C3 */ addis r0, r4, 0x80c3 -/* 056BF8 8005C198 5463103A */ slwi r3, r3, 2 -/* 056BFC 8005C19C 7C1F192E */ stwx r0, r31, r3 -/* 056C00 8005C1A0 48000010 */ b lbl_8005C1B0 -lbl_8005C1A4: -/* 056C04 8005C1A4 80610084 */ lwz r3, 0x84(r1) -/* 056C08 8005C1A8 38030001 */ addi r0, r3, 1 -/* 056C0C 8005C1AC 90010084 */ stw r0, 0x84(r1) -lbl_8005C1B0: -/* 056C10 8005C1B0 281F0000 */ cmplwi r31, 0 -/* 056C14 8005C1B4 4082000C */ bne lbl_8005C1C0 -/* 056C18 8005C1B8 38800000 */ li r4, 0 -/* 056C1C 8005C1BC 480000A4 */ b lbl_8005C260 -lbl_8005C1C0: -/* 056C20 8005C1C0 3C7E0001 */ addis r3, r30, 1 -/* 056C24 8005C1C4 80032064 */ lwz r0, 0x2064(r3) -/* 056C28 8005C1C8 28000000 */ cmplwi r0, 0 -/* 056C2C 8005C1CC 4082000C */ bne lbl_8005C1D8 -/* 056C30 8005C1D0 38800000 */ li r4, 0 -/* 056C34 8005C1D4 4800008C */ b lbl_8005C260 -lbl_8005C1D8: -/* 056C38 8005C1D8 80DE0034 */ lwz r6, 0x34(r30) -/* 056C3C 8005C1DC 38800000 */ li r4, 0 -/* 056C40 8005C1E0 80060008 */ lwz r0, 8(r6) -/* 056C44 8005C1E4 2C000000 */ cmpwi r0, 0 -/* 056C48 8005C1E8 7C0903A6 */ mtctr r0 -/* 056C4C 8005C1EC 40810028 */ ble lbl_8005C214 -lbl_8005C1F0: -/* 056C50 8005C1F0 8066000C */ lwz r3, 0xc(r6) -/* 056C54 8005C1F4 38040004 */ addi r0, r4, 4 -/* 056C58 8005C1F8 7C03002E */ lwzx r0, r3, r0 -/* 056C5C 8005C1FC 7C1D0000 */ cmpw r29, r0 -/* 056C60 8005C200 4082000C */ bne lbl_8005C20C -/* 056C64 8005C204 38000000 */ li r0, 0 -/* 056C68 8005C208 48000010 */ b lbl_8005C218 -lbl_8005C20C: -/* 056C6C 8005C20C 38840008 */ addi r4, r4, 8 -/* 056C70 8005C210 4200FFE0 */ bdnz lbl_8005C1F0 -lbl_8005C214: -/* 056C74 8005C214 38000001 */ li r0, 1 -lbl_8005C218: -/* 056C78 8005C218 2C000000 */ cmpwi r0, 0 -/* 056C7C 8005C21C 4082000C */ bne lbl_8005C228 -/* 056C80 8005C220 38800000 */ li r4, 0 -/* 056C84 8005C224 4800003C */ b lbl_8005C260 -lbl_8005C228: -/* 056C88 8005C228 7C055000 */ cmpw r5, r10 -/* 056C8C 8005C22C 3C7E0001 */ addis r3, r30, 1 -/* 056C90 8005C230 38800001 */ li r4, 1 -/* 056C94 8005C234 9083207C */ stw r4, 0x207c(r3) -/* 056C98 8005C238 40820014 */ bne lbl_8005C24C -/* 056C9C 8005C23C 3800FFFF */ li r0, -1 -/* 056CA0 8005C240 90032080 */ stw r0, 0x2080(r3) -/* 056CA4 8005C244 38800000 */ li r4, 0 -/* 056CA8 8005C248 48000018 */ b lbl_8005C260 -lbl_8005C24C: -/* 056CAC 8005C24C 80032080 */ lwz r0, 0x2080(r3) -/* 056CB0 8005C250 7C002800 */ cmpw r0, r5 -/* 056CB4 8005C254 4182000C */ beq lbl_8005C260 -/* 056CB8 8005C258 90A32080 */ stw r5, 0x2080(r3) -/* 056CBC 8005C25C 38800000 */ li r4, 0 -lbl_8005C260: -/* 056CC0 8005C260 2C040000 */ cmpwi r4, 0 -/* 056CC4 8005C264 40820040 */ bne lbl_8005C2A4 -/* 056CC8 8005C268 281F0000 */ cmplwi r31, 0 -/* 056CCC 8005C26C 41820028 */ beq lbl_8005C294 -/* 056CD0 8005C270 80610084 */ lwz r3, 0x84(r1) -/* 056CD4 8005C274 5520801E */ slwi r0, r9, 0x10 -/* 056CD8 8005C278 64047CE0 */ oris r4, r0, 0x7ce0 -/* 056CDC 8005C27C 38030001 */ addi r0, r3, 1 -/* 056CE0 8005C280 90010084 */ stw r0, 0x84(r1) -/* 056CE4 8005C284 60844214 */ ori r4, r4, 0x4214 -/* 056CE8 8005C288 5460103A */ slwi r0, r3, 2 -/* 056CEC 8005C28C 7C9F012E */ stwx r4, r31, r0 -/* 056CF0 8005C290 48000044 */ b lbl_8005C2D4 -lbl_8005C294: -/* 056CF4 8005C294 80610084 */ lwz r3, 0x84(r1) -/* 056CF8 8005C298 38030001 */ addi r0, r3, 1 -/* 056CFC 8005C29C 90010084 */ stw r0, 0x84(r1) -/* 056D00 8005C2A0 48000034 */ b lbl_8005C2D4 -lbl_8005C2A4: -/* 056D04 8005C2A4 281F0000 */ cmplwi r31, 0 -/* 056D08 8005C2A8 41820020 */ beq lbl_8005C2C8 -/* 056D0C 8005C2AC 80610084 */ lwz r3, 0x84(r1) -/* 056D10 8005C2B0 3C806000 */ lis r4, 0x6000 -/* 056D14 8005C2B4 38030001 */ addi r0, r3, 1 -/* 056D18 8005C2B8 90010084 */ stw r0, 0x84(r1) -/* 056D1C 8005C2BC 5460103A */ slwi r0, r3, 2 -/* 056D20 8005C2C0 7C9F012E */ stwx r4, r31, r0 -/* 056D24 8005C2C4 48000010 */ b lbl_8005C2D4 -lbl_8005C2C8: -/* 056D28 8005C2C8 80610084 */ lwz r3, 0x84(r1) -/* 056D2C 8005C2CC 38030001 */ addi r0, r3, 1 -/* 056D30 8005C2D0 90010084 */ stw r0, 0x84(r1) -lbl_8005C2D4: -/* 056D34 8005C2D4 281F0000 */ cmplwi r31, 0 -/* 056D38 8005C2D8 4182002C */ beq lbl_8005C304 -/* 056D3C 8005C2DC 80610084 */ lwz r3, 0x84(r1) -/* 056D40 8005C2E0 54E0A814 */ slwi r0, r7, 0x15 -/* 056D44 8005C2E4 64058807 */ oris r5, r0, 0x8807 -/* 056D48 8005C2E8 38030001 */ addi r0, r3, 1 -/* 056D4C 8005C2EC 5784043E */ clrlwi r4, r28, 0x10 -/* 056D50 8005C2F0 90010084 */ stw r0, 0x84(r1) -/* 056D54 8005C2F4 7CA02378 */ or r0, r5, r4 -/* 056D58 8005C2F8 5463103A */ slwi r3, r3, 2 -/* 056D5C 8005C2FC 7C1F192E */ stwx r0, r31, r3 -/* 056D60 8005C300 48000010 */ b lbl_8005C310 -lbl_8005C304: -/* 056D64 8005C304 80610084 */ lwz r3, 0x84(r1) -/* 056D68 8005C308 38030001 */ addi r0, r3, 1 -/* 056D6C 8005C30C 90010084 */ stw r0, 0x84(r1) -lbl_8005C310: -/* 056D70 8005C310 281F0000 */ cmplwi r31, 0 -/* 056D74 8005C314 41820030 */ beq lbl_8005C344 -/* 056D78 8005C318 80610084 */ lwz r3, 0x84(r1) -/* 056D7C 8005C31C 54E0A814 */ slwi r0, r7, 0x15 -/* 056D80 8005C320 64007C00 */ oris r0, r0, 0x7c00 -/* 056D84 8005C324 38830001 */ addi r4, r3, 1 -/* 056D88 8005C328 90810084 */ stw r4, 0x84(r1) -/* 056D8C 8005C32C 60000774 */ ori r0, r0, 0x774 -/* 056D90 8005C330 54E4801E */ slwi r4, r7, 0x10 -/* 056D94 8005C334 7C002378 */ or r0, r0, r4 -/* 056D98 8005C338 5463103A */ slwi r3, r3, 2 -/* 056D9C 8005C33C 7C1F192E */ stwx r0, r31, r3 -/* 056DA0 8005C340 48000010 */ b lbl_8005C350 -lbl_8005C344: -/* 056DA4 8005C344 80610084 */ lwz r3, 0x84(r1) -/* 056DA8 8005C348 38030001 */ addi r0, r3, 1 -/* 056DAC 8005C34C 90010084 */ stw r0, 0x84(r1) -lbl_8005C350: -/* 056DB0 8005C350 80080000 */ lwz r0, 0(r8) -/* 056DB4 8005C354 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 056DB8 8005C358 4182089C */ beq lbl_8005CBF4 -/* 056DBC 8005C35C 3C7E0001 */ addis r3, r30, 1 -/* 056DC0 8005C360 38000002 */ li r0, 2 -/* 056DC4 8005C364 90032068 */ stw r0, 0x2068(r3) -/* 056DC8 8005C368 281F0000 */ cmplwi r31, 0 -/* 056DCC 8005C36C 9143206C */ stw r10, 0x206c(r3) -/* 056DD0 8005C370 90E32070 */ stw r7, 0x2070(r3) -/* 056DD4 8005C374 41820038 */ beq lbl_8005C3AC -/* 056DD8 8005C378 55441838 */ slwi r4, r10, 3 -/* 056DDC 8005C37C 80610084 */ lwz r3, 0x84(r1) -/* 056DE0 8005C380 38040040 */ addi r0, r4, 0x40 -/* 056DE4 8005C384 7C1E0214 */ add r0, r30, r0 -/* 056DE8 8005C388 7C9E0050 */ subf r4, r30, r0 -/* 056DEC 8005C38C 38840004 */ addi r4, r4, 4 -/* 056DF0 8005C390 38030001 */ addi r0, r3, 1 -/* 056DF4 8005C394 5484043E */ clrlwi r4, r4, 0x10 -/* 056DF8 8005C398 90010084 */ stw r0, 0x84(r1) -/* 056DFC 8005C39C 3C0490A3 */ addis r0, r4, 0x90a3 -/* 056E00 8005C3A0 5463103A */ slwi r3, r3, 2 -/* 056E04 8005C3A4 7C1F192E */ stwx r0, r31, r3 -/* 056E08 8005C3A8 4800084C */ b lbl_8005CBF4 -lbl_8005C3AC: -/* 056E0C 8005C3AC 80610084 */ lwz r3, 0x84(r1) -/* 056E10 8005C3B0 38030001 */ addi r0, r3, 1 -/* 056E14 8005C3B4 90010084 */ stw r0, 0x84(r1) -/* 056E18 8005C3B8 4800083C */ b lbl_8005CBF4 -lbl_8005C3BC: -/* 056E1C 8005C3BC 80832060 */ lwz r4, 0x2060(r3) -/* 056E20 8005C3C0 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 056E24 8005C3C4 41820248 */ beq lbl_8005C60C -/* 056E28 8005C3C8 2C110000 */ cmpwi r17, 0 -/* 056E2C 8005C3CC 4182006C */ beq lbl_8005C438 -/* 056E30 8005C3D0 281F0000 */ cmplwi r31, 0 -/* 056E34 8005C3D4 41820020 */ beq lbl_8005C3F4 -/* 056E38 8005C3D8 80610084 */ lwz r3, 0x84(r1) -/* 056E3C 8005C3DC 3C8038C0 */ lis r4, 0x38c0 -/* 056E40 8005C3E0 38030001 */ addi r0, r3, 1 -/* 056E44 8005C3E4 90010084 */ stw r0, 0x84(r1) -/* 056E48 8005C3E8 5460103A */ slwi r0, r3, 2 -/* 056E4C 8005C3EC 7C9F012E */ stwx r4, r31, r0 -/* 056E50 8005C3F0 48000010 */ b lbl_8005C400 -lbl_8005C3F4: -/* 056E54 8005C3F4 80610084 */ lwz r3, 0x84(r1) -/* 056E58 8005C3F8 38030001 */ addi r0, r3, 1 -/* 056E5C 8005C3FC 90010084 */ stw r0, 0x84(r1) -lbl_8005C400: -/* 056E60 8005C400 281F0000 */ cmplwi r31, 0 -/* 056E64 8005C404 41820028 */ beq lbl_8005C42C -/* 056E68 8005C408 80610084 */ lwz r3, 0x84(r1) -/* 056E6C 8005C40C 381E002C */ addi r0, r30, 0x2c -/* 056E70 8005C410 7C9E0050 */ subf r4, r30, r0 -/* 056E74 8005C414 38030001 */ addi r0, r3, 1 -/* 056E78 8005C418 90010084 */ stw r0, 0x84(r1) -/* 056E7C 8005C41C 3C0490C3 */ addis r0, r4, 0x90c3 -/* 056E80 8005C420 5463103A */ slwi r3, r3, 2 -/* 056E84 8005C424 7C1F192E */ stwx r0, r31, r3 -/* 056E88 8005C428 48000010 */ b lbl_8005C438 -lbl_8005C42C: -/* 056E8C 8005C42C 80610084 */ lwz r3, 0x84(r1) -/* 056E90 8005C430 38030001 */ addi r0, r3, 1 -/* 056E94 8005C434 90010084 */ stw r0, 0x84(r1) -lbl_8005C438: -/* 056E98 8005C438 281F0000 */ cmplwi r31, 0 -/* 056E9C 8005C43C 41820024 */ beq lbl_8005C460 -/* 056EA0 8005C440 80610084 */ lwz r3, 0x84(r1) -/* 056EA4 8005C444 57A0843E */ srwi r0, r29, 0x10 -/* 056EA8 8005C448 64043CA0 */ oris r4, r0, 0x3ca0 -/* 056EAC 8005C44C 38030001 */ addi r0, r3, 1 -/* 056EB0 8005C450 90010084 */ stw r0, 0x84(r1) -/* 056EB4 8005C454 5460103A */ slwi r0, r3, 2 -/* 056EB8 8005C458 7C9F012E */ stwx r4, r31, r0 -/* 056EBC 8005C45C 48000010 */ b lbl_8005C46C -lbl_8005C460: -/* 056EC0 8005C460 80610084 */ lwz r3, 0x84(r1) -/* 056EC4 8005C464 38030001 */ addi r0, r3, 1 -/* 056EC8 8005C468 90010084 */ stw r0, 0x84(r1) -lbl_8005C46C: -/* 056ECC 8005C46C 281F0000 */ cmplwi r31, 0 -/* 056ED0 8005C470 41820024 */ beq lbl_8005C494 -/* 056ED4 8005C474 80610084 */ lwz r3, 0x84(r1) -/* 056ED8 8005C478 57A0043E */ clrlwi r0, r29, 0x10 -/* 056EDC 8005C47C 640460A5 */ oris r4, r0, 0x60a5 -/* 056EE0 8005C480 38030001 */ addi r0, r3, 1 -/* 056EE4 8005C484 90010084 */ stw r0, 0x84(r1) -/* 056EE8 8005C488 5460103A */ slwi r0, r3, 2 -/* 056EEC 8005C48C 7C9F012E */ stwx r4, r31, r0 -/* 056EF0 8005C490 48000010 */ b lbl_8005C4A0 -lbl_8005C494: -/* 056EF4 8005C494 80610084 */ lwz r3, 0x84(r1) -/* 056EF8 8005C498 38030001 */ addi r0, r3, 1 -/* 056EFC 8005C49C 90010084 */ stw r0, 0x84(r1) -lbl_8005C4A0: -/* 056F00 8005C4A0 281F0000 */ cmplwi r31, 0 -/* 056F04 8005C4A4 41820034 */ beq lbl_8005C4D8 -/* 056F08 8005C4A8 80610084 */ lwz r3, 0x84(r1) -/* 056F0C 8005C4AC 801E0B50 */ lwz r0, 0xb50(r30) -/* 056F10 8005C4B0 5465103A */ slwi r5, r3, 2 -/* 056F14 8005C4B4 7C9F2A14 */ add r4, r31, r5 -/* 056F18 8005C4B8 7C040050 */ subf r0, r4, r0 -/* 056F1C 8005C4BC 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 056F20 8005C4C0 38630001 */ addi r3, r3, 1 -/* 056F24 8005C4C4 64004800 */ oris r0, r0, 0x4800 -/* 056F28 8005C4C8 90610084 */ stw r3, 0x84(r1) -/* 056F2C 8005C4CC 60000001 */ ori r0, r0, 1 -/* 056F30 8005C4D0 7C1F292E */ stwx r0, r31, r5 -/* 056F34 8005C4D4 48000010 */ b lbl_8005C4E4 -lbl_8005C4D8: -/* 056F38 8005C4D8 80610084 */ lwz r3, 0x84(r1) -/* 056F3C 8005C4DC 38030001 */ addi r0, r3, 1 -/* 056F40 8005C4E0 90010084 */ stw r0, 0x84(r1) -lbl_8005C4E4: -/* 056F44 8005C4E4 3C7E0001 */ addis r3, r30, 1 -/* 056F48 8005C4E8 80032060 */ lwz r0, 0x2060(r3) -/* 056F4C 8005C4EC 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 056F50 8005C4F0 41820060 */ beq lbl_8005C550 -/* 056F54 8005C4F4 281F0000 */ cmplwi r31, 0 -/* 056F58 8005C4F8 40820014 */ bne lbl_8005C50C -/* 056F5C 8005C4FC 80610084 */ lwz r3, 0x84(r1) -/* 056F60 8005C500 38030003 */ addi r0, r3, 3 -/* 056F64 8005C504 90010084 */ stw r0, 0x84(r1) -/* 056F68 8005C508 4800008C */ b lbl_8005C594 -lbl_8005C50C: -/* 056F6C 8005C50C 80610084 */ lwz r3, 0x84(r1) -/* 056F70 8005C510 3C806000 */ lis r4, 0x6000 -/* 056F74 8005C514 38030001 */ addi r0, r3, 1 -/* 056F78 8005C518 90010084 */ stw r0, 0x84(r1) -/* 056F7C 8005C51C 5460103A */ slwi r0, r3, 2 -/* 056F80 8005C520 7C9F012E */ stwx r4, r31, r0 -/* 056F84 8005C524 80610084 */ lwz r3, 0x84(r1) -/* 056F88 8005C528 38030001 */ addi r0, r3, 1 -/* 056F8C 8005C52C 90010084 */ stw r0, 0x84(r1) -/* 056F90 8005C530 5460103A */ slwi r0, r3, 2 -/* 056F94 8005C534 7C9F012E */ stwx r4, r31, r0 -/* 056F98 8005C538 80610084 */ lwz r3, 0x84(r1) -/* 056F9C 8005C53C 38030001 */ addi r0, r3, 1 -/* 056FA0 8005C540 90010084 */ stw r0, 0x84(r1) -/* 056FA4 8005C544 5460103A */ slwi r0, r3, 2 -/* 056FA8 8005C548 7C9F012E */ stwx r4, r31, r0 -/* 056FAC 8005C54C 48000048 */ b lbl_8005C594 -lbl_8005C550: -/* 056FB0 8005C550 281F0000 */ cmplwi r31, 0 -/* 056FB4 8005C554 40820014 */ bne lbl_8005C568 -/* 056FB8 8005C558 80610084 */ lwz r3, 0x84(r1) -/* 056FBC 8005C55C 38030002 */ addi r0, r3, 2 -/* 056FC0 8005C560 90010084 */ stw r0, 0x84(r1) -/* 056FC4 8005C564 48000030 */ b lbl_8005C594 -lbl_8005C568: -/* 056FC8 8005C568 80610084 */ lwz r3, 0x84(r1) -/* 056FCC 8005C56C 3C806000 */ lis r4, 0x6000 -/* 056FD0 8005C570 38030001 */ addi r0, r3, 1 -/* 056FD4 8005C574 90010084 */ stw r0, 0x84(r1) -/* 056FD8 8005C578 5460103A */ slwi r0, r3, 2 -/* 056FDC 8005C57C 7C9F012E */ stwx r4, r31, r0 -/* 056FE0 8005C580 80610084 */ lwz r3, 0x84(r1) -/* 056FE4 8005C584 38030001 */ addi r0, r3, 1 -/* 056FE8 8005C588 90010084 */ stw r0, 0x84(r1) -/* 056FEC 8005C58C 5460103A */ slwi r0, r3, 2 -/* 056FF0 8005C590 7C9F012E */ stwx r4, r31, r0 -lbl_8005C594: -/* 056FF4 8005C594 2C110000 */ cmpwi r17, 0 -/* 056FF8 8005C598 4182065C */ beq lbl_8005CBF4 -/* 056FFC 8005C59C 281F0000 */ cmplwi r31, 0 -/* 057000 8005C5A0 41820024 */ beq lbl_8005C5C4 -/* 057004 8005C5A4 80610084 */ lwz r3, 0x84(r1) -/* 057008 8005C5A8 3C8038C1 */ lis r4, 0x38c1 -/* 05700C 8005C5AC 3884FFFF */ addi r4, r4, -1 -/* 057010 8005C5B0 38030001 */ addi r0, r3, 1 -/* 057014 8005C5B4 90010084 */ stw r0, 0x84(r1) -/* 057018 8005C5B8 5460103A */ slwi r0, r3, 2 -/* 05701C 8005C5BC 7C9F012E */ stwx r4, r31, r0 -/* 057020 8005C5C0 48000010 */ b lbl_8005C5D0 -lbl_8005C5C4: -/* 057024 8005C5C4 80610084 */ lwz r3, 0x84(r1) -/* 057028 8005C5C8 38030001 */ addi r0, r3, 1 -/* 05702C 8005C5CC 90010084 */ stw r0, 0x84(r1) -lbl_8005C5D0: -/* 057030 8005C5D0 281F0000 */ cmplwi r31, 0 -/* 057034 8005C5D4 41820028 */ beq lbl_8005C5FC -/* 057038 8005C5D8 80610084 */ lwz r3, 0x84(r1) -/* 05703C 8005C5DC 381E002C */ addi r0, r30, 0x2c -/* 057040 8005C5E0 7C9E0050 */ subf r4, r30, r0 -/* 057044 8005C5E4 38030001 */ addi r0, r3, 1 -/* 057048 8005C5E8 90010084 */ stw r0, 0x84(r1) -/* 05704C 8005C5EC 3C0490C3 */ addis r0, r4, 0x90c3 -/* 057050 8005C5F0 5463103A */ slwi r3, r3, 2 -/* 057054 8005C5F4 7C1F192E */ stwx r0, r31, r3 -/* 057058 8005C5F8 480005FC */ b lbl_8005CBF4 -lbl_8005C5FC: -/* 05705C 8005C5FC 80610084 */ lwz r3, 0x84(r1) -/* 057060 8005C600 38030001 */ addi r0, r3, 1 -/* 057064 8005C604 90010084 */ stw r0, 0x84(r1) -/* 057068 8005C608 480005EC */ b lbl_8005CBF4 -lbl_8005C60C: -/* 05706C 8005C60C 548007FF */ clrlwi. r0, r4, 0x1f -/* 057070 8005C610 418205E4 */ beq lbl_8005CBF4 -/* 057074 8005C614 54A0103A */ slwi r0, r5, 2 -/* 057078 8005C618 7C9A0214 */ add r4, r26, r0 -/* 05707C 8005C61C 80E40818 */ lwz r7, 0x818(r4) -/* 057080 8005C620 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 057084 8005C624 41820148 */ beq lbl_8005C76C -/* 057088 8005C628 80032064 */ lwz r0, 0x2064(r3) -/* 05708C 8005C62C 38E00006 */ li r7, 6 -/* 057090 8005C630 28000000 */ cmplwi r0, 0 -/* 057094 8005C634 4082000C */ bne lbl_8005C640 -/* 057098 8005C638 38000000 */ li r0, 0 -/* 05709C 8005C63C 48000094 */ b lbl_8005C6D0 -lbl_8005C640: -/* 0570A0 8005C640 80032068 */ lwz r0, 0x2068(r3) -/* 0570A4 8005C644 28000000 */ cmplwi r0, 0 -/* 0570A8 8005C648 4082000C */ bne lbl_8005C654 -/* 0570AC 8005C64C 38000000 */ li r0, 0 -/* 0570B0 8005C650 48000080 */ b lbl_8005C6D0 -lbl_8005C654: -/* 0570B4 8005C654 8003206C */ lwz r0, 0x206c(r3) -/* 0570B8 8005C658 7C050000 */ cmpw r5, r0 -/* 0570BC 8005C65C 4182000C */ beq lbl_8005C668 -/* 0570C0 8005C660 38000000 */ li r0, 0 -/* 0570C4 8005C664 4800006C */ b lbl_8005C6D0 -lbl_8005C668: -/* 0570C8 8005C668 80DE0034 */ lwz r6, 0x34(r30) -/* 0570CC 8005C66C 38800000 */ li r4, 0 -/* 0570D0 8005C670 80060008 */ lwz r0, 8(r6) -/* 0570D4 8005C674 2C000000 */ cmpwi r0, 0 -/* 0570D8 8005C678 7C0903A6 */ mtctr r0 -/* 0570DC 8005C67C 40810028 */ ble lbl_8005C6A4 -lbl_8005C680: -/* 0570E0 8005C680 8066000C */ lwz r3, 0xc(r6) -/* 0570E4 8005C684 38040004 */ addi r0, r4, 4 -/* 0570E8 8005C688 7C03002E */ lwzx r0, r3, r0 -/* 0570EC 8005C68C 7C1D0000 */ cmpw r29, r0 -/* 0570F0 8005C690 4082000C */ bne lbl_8005C69C -/* 0570F4 8005C694 38000000 */ li r0, 0 -/* 0570F8 8005C698 48000010 */ b lbl_8005C6A8 -lbl_8005C69C: -/* 0570FC 8005C69C 38840008 */ addi r4, r4, 8 -/* 057100 8005C6A0 4200FFE0 */ bdnz lbl_8005C680 -lbl_8005C6A4: -/* 057104 8005C6A4 38000001 */ li r0, 1 -lbl_8005C6A8: -/* 057108 8005C6A8 2C000000 */ cmpwi r0, 0 -/* 05710C 8005C6AC 40820014 */ bne lbl_8005C6C0 -/* 057110 8005C6B0 38000000 */ li r0, 0 -/* 057114 8005C6B4 3C7E0001 */ addis r3, r30, 1 -/* 057118 8005C6B8 90032068 */ stw r0, 0x2068(r3) -/* 05711C 8005C6BC 48000014 */ b lbl_8005C6D0 -lbl_8005C6C0: -/* 057120 8005C6C0 3C7E0001 */ addis r3, r30, 1 -/* 057124 8005C6C4 38000000 */ li r0, 0 -/* 057128 8005C6C8 90032068 */ stw r0, 0x2068(r3) -/* 05712C 8005C6CC 38000001 */ li r0, 1 -lbl_8005C6D0: -/* 057130 8005C6D0 2C000000 */ cmpwi r0, 0 -/* 057134 8005C6D4 41820050 */ beq lbl_8005C724 -/* 057138 8005C6D8 281F0000 */ cmplwi r31, 0 -/* 05713C 8005C6DC 41820038 */ beq lbl_8005C714 -/* 057140 8005C6E0 3C9E0001 */ addis r4, r30, 1 -/* 057144 8005C6E4 80610084 */ lwz r3, 0x84(r1) -/* 057148 8005C6E8 80842070 */ lwz r4, 0x2070(r4) -/* 05714C 8005C6EC 38A30001 */ addi r5, r3, 1 -/* 057150 8005C6F0 5480A814 */ slwi r0, r4, 0x15 -/* 057154 8005C6F4 90A10084 */ stw r5, 0x84(r1) -/* 057158 8005C6F8 64007C06 */ oris r0, r0, 0x7c06 -/* 05715C 8005C6FC 54845828 */ slwi r4, r4, 0xb -/* 057160 8005C700 60000378 */ ori r0, r0, 0x378 -/* 057164 8005C704 7C800378 */ or r0, r4, r0 -/* 057168 8005C708 5463103A */ slwi r3, r3, 2 -/* 05716C 8005C70C 7C1F192E */ stwx r0, r31, r3 -/* 057170 8005C710 4800005C */ b lbl_8005C76C -lbl_8005C714: -/* 057174 8005C714 80610084 */ lwz r3, 0x84(r1) -/* 057178 8005C718 38030001 */ addi r0, r3, 1 -/* 05717C 8005C71C 90010084 */ stw r0, 0x84(r1) -/* 057180 8005C720 4800004C */ b lbl_8005C76C -lbl_8005C724: -/* 057184 8005C724 281F0000 */ cmplwi r31, 0 -/* 057188 8005C728 41820038 */ beq lbl_8005C760 -/* 05718C 8005C72C 54A41838 */ slwi r4, r5, 3 -/* 057190 8005C730 80610084 */ lwz r3, 0x84(r1) -/* 057194 8005C734 38040040 */ addi r0, r4, 0x40 -/* 057198 8005C738 7C1E0214 */ add r0, r30, r0 -/* 05719C 8005C73C 7C9E0050 */ subf r4, r30, r0 -/* 0571A0 8005C740 38840004 */ addi r4, r4, 4 -/* 0571A4 8005C744 38030001 */ addi r0, r3, 1 -/* 0571A8 8005C748 5484043E */ clrlwi r4, r4, 0x10 -/* 0571AC 8005C74C 90010084 */ stw r0, 0x84(r1) -/* 0571B0 8005C750 3C0480C3 */ addis r0, r4, 0x80c3 -/* 0571B4 8005C754 5463103A */ slwi r3, r3, 2 -/* 0571B8 8005C758 7C1F192E */ stwx r0, r31, r3 -/* 0571BC 8005C75C 48000010 */ b lbl_8005C76C -lbl_8005C760: -/* 0571C0 8005C760 80610084 */ lwz r3, 0x84(r1) -/* 0571C4 8005C764 38030001 */ addi r0, r3, 1 -/* 0571C8 8005C768 90010084 */ stw r0, 0x84(r1) -lbl_8005C76C: -/* 0571CC 8005C76C 281F0000 */ cmplwi r31, 0 -/* 0571D0 8005C770 4182002C */ beq lbl_8005C79C -/* 0571D4 8005C774 80610084 */ lwz r3, 0x84(r1) -/* 0571D8 8005C778 54E0801E */ slwi r0, r7, 0x10 -/* 0571DC 8005C77C 640538A0 */ oris r5, r0, 0x38a0 -/* 0571E0 8005C780 38030001 */ addi r0, r3, 1 -/* 0571E4 8005C784 5784043E */ clrlwi r4, r28, 0x10 -/* 0571E8 8005C788 90010084 */ stw r0, 0x84(r1) -/* 0571EC 8005C78C 7CA02378 */ or r0, r5, r4 -/* 0571F0 8005C790 5463103A */ slwi r3, r3, 2 -/* 0571F4 8005C794 7C1F192E */ stwx r0, r31, r3 -/* 0571F8 8005C798 48000010 */ b lbl_8005C7A8 -lbl_8005C79C: -/* 0571FC 8005C79C 80610084 */ lwz r3, 0x84(r1) -/* 057200 8005C7A0 38030001 */ addi r0, r3, 1 -/* 057204 8005C7A4 90010084 */ stw r0, 0x84(r1) -lbl_8005C7A8: -/* 057208 8005C7A8 281F0000 */ cmplwi r31, 0 -/* 05720C 8005C7AC 41820024 */ beq lbl_8005C7D0 -/* 057210 8005C7B0 80610084 */ lwz r3, 0x84(r1) -/* 057214 8005C7B4 3C8054A7 */ lis r4, 0x54a7 -/* 057218 8005C7B8 3884843E */ addi r4, r4, -31682 -/* 05721C 8005C7BC 38030001 */ addi r0, r3, 1 -/* 057220 8005C7C0 90010084 */ stw r0, 0x84(r1) -/* 057224 8005C7C4 5460103A */ slwi r0, r3, 2 -/* 057228 8005C7C8 7C9F012E */ stwx r4, r31, r0 -/* 05722C 8005C7CC 48000010 */ b lbl_8005C7DC -lbl_8005C7D0: -/* 057230 8005C7D0 80610084 */ lwz r3, 0x84(r1) -/* 057234 8005C7D4 38030001 */ addi r0, r3, 1 -/* 057238 8005C7D8 90010084 */ stw r0, 0x84(r1) -lbl_8005C7DC: -/* 05723C 8005C7DC 281F0000 */ cmplwi r31, 0 -/* 057240 8005C7E0 41820024 */ beq lbl_8005C804 -/* 057244 8005C7E4 80610084 */ lwz r3, 0x84(r1) -/* 057248 8005C7E8 3C807CC6 */ lis r4, 0x7cc6 -/* 05724C 8005C7EC 388448AE */ addi r4, r4, 0x48ae -/* 057250 8005C7F0 38030001 */ addi r0, r3, 1 -/* 057254 8005C7F4 90010084 */ stw r0, 0x84(r1) -/* 057258 8005C7F8 5460103A */ slwi r0, r3, 2 -/* 05725C 8005C7FC 7C9F012E */ stwx r4, r31, r0 -/* 057260 8005C800 48000010 */ b lbl_8005C810 -lbl_8005C804: -/* 057264 8005C804 80610084 */ lwz r3, 0x84(r1) -/* 057268 8005C808 38030001 */ addi r0, r3, 1 -/* 05726C 8005C80C 90010084 */ stw r0, 0x84(r1) -lbl_8005C810: -/* 057270 8005C810 281F0000 */ cmplwi r31, 0 -/* 057274 8005C814 41820024 */ beq lbl_8005C838 -/* 057278 8005C818 80610084 */ lwz r3, 0x84(r1) -/* 05727C 8005C81C 3C802C06 */ lis r4, 0x2c06 -/* 057280 8005C820 38840080 */ addi r4, r4, 0x80 -/* 057284 8005C824 38030001 */ addi r0, r3, 1 -/* 057288 8005C828 90010084 */ stw r0, 0x84(r1) -/* 05728C 8005C82C 5460103A */ slwi r0, r3, 2 -/* 057290 8005C830 7C9F012E */ stwx r4, r31, r0 -/* 057294 8005C834 48000010 */ b lbl_8005C844 -lbl_8005C838: -/* 057298 8005C838 80610084 */ lwz r3, 0x84(r1) -/* 05729C 8005C83C 38030001 */ addi r0, r3, 1 -/* 0572A0 8005C840 90010084 */ stw r0, 0x84(r1) -lbl_8005C844: -/* 0572A4 8005C844 281F0000 */ cmplwi r31, 0 -/* 0572A8 8005C848 41820024 */ beq lbl_8005C86C -/* 0572AC 8005C84C 80610084 */ lwz r3, 0x84(r1) -/* 0572B0 8005C850 3C804180 */ lis r4, 0x4180 -/* 0572B4 8005C854 38840010 */ addi r4, r4, 0x10 -/* 0572B8 8005C858 38030001 */ addi r0, r3, 1 -/* 0572BC 8005C85C 90010084 */ stw r0, 0x84(r1) -/* 0572C0 8005C860 5460103A */ slwi r0, r3, 2 -/* 0572C4 8005C864 7C9F012E */ stwx r4, r31, r0 -/* 0572C8 8005C868 48000010 */ b lbl_8005C878 -lbl_8005C86C: -/* 0572CC 8005C86C 80610084 */ lwz r3, 0x84(r1) -/* 0572D0 8005C870 38030001 */ addi r0, r3, 1 -/* 0572D4 8005C874 90010084 */ stw r0, 0x84(r1) -lbl_8005C878: -/* 0572D8 8005C878 281F0000 */ cmplwi r31, 0 -/* 0572DC 8005C87C 41820034 */ beq lbl_8005C8B0 -/* 0572E0 8005C880 80610084 */ lwz r3, 0x84(r1) -/* 0572E4 8005C884 800D8A50 */ lwz r0, cpuCompile_LB_function@sda21(r13) -/* 0572E8 8005C888 5465103A */ slwi r5, r3, 2 -/* 0572EC 8005C88C 7C9F2A14 */ add r4, r31, r5 -/* 0572F0 8005C890 7C040050 */ subf r0, r4, r0 -/* 0572F4 8005C894 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 0572F8 8005C898 38630001 */ addi r3, r3, 1 -/* 0572FC 8005C89C 64004800 */ oris r0, r0, 0x4800 -/* 057300 8005C8A0 90610084 */ stw r3, 0x84(r1) -/* 057304 8005C8A4 60000001 */ ori r0, r0, 1 -/* 057308 8005C8A8 7C1F292E */ stwx r0, r31, r5 -/* 05730C 8005C8AC 48000010 */ b lbl_8005C8BC -lbl_8005C8B0: -/* 057310 8005C8B0 80610084 */ lwz r3, 0x84(r1) -/* 057314 8005C8B4 38030001 */ addi r0, r3, 1 -/* 057318 8005C8B8 90010084 */ stw r0, 0x84(r1) -lbl_8005C8BC: -/* 05731C 8005C8BC 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 057320 8005C8C0 7C7A1A14 */ add r3, r26, r3 -/* 057324 8005C8C4 80830818 */ lwz r4, 0x818(r3) -/* 057328 8005C8C8 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 05732C 8005C8CC 548305EF */ rlwinm. r3, r4, 0, 0x17, 0x17 -/* 057330 8005C8D0 4182004C */ beq lbl_8005C91C -/* 057334 8005C8D4 281F0000 */ cmplwi r31, 0 -/* 057338 8005C8D8 41820034 */ beq lbl_8005C90C -/* 05733C 8005C8DC 54041838 */ slwi r4, r0, 3 -/* 057340 8005C8E0 80610084 */ lwz r3, 0x84(r1) -/* 057344 8005C8E4 38040040 */ addi r0, r4, 0x40 -/* 057348 8005C8E8 7C1E0214 */ add r0, r30, r0 -/* 05734C 8005C8EC 7C9E0050 */ subf r4, r30, r0 -/* 057350 8005C8F0 38030001 */ addi r0, r3, 1 -/* 057354 8005C8F4 3C8490A3 */ addis r4, r4, 0x90a3 -/* 057358 8005C8F8 90010084 */ stw r0, 0x84(r1) -/* 05735C 8005C8FC 38040004 */ addi r0, r4, 4 -/* 057360 8005C900 5463103A */ slwi r3, r3, 2 -/* 057364 8005C904 7C1F192E */ stwx r0, r31, r3 -/* 057368 8005C908 4800004C */ b lbl_8005C954 -lbl_8005C90C: -/* 05736C 8005C90C 80610084 */ lwz r3, 0x84(r1) -/* 057370 8005C910 38030001 */ addi r0, r3, 1 -/* 057374 8005C914 90010084 */ stw r0, 0x84(r1) -/* 057378 8005C918 4800003C */ b lbl_8005C954 -lbl_8005C91C: -/* 05737C 8005C91C 281F0000 */ cmplwi r31, 0 -/* 057380 8005C920 41820028 */ beq lbl_8005C948 -/* 057384 8005C924 80610084 */ lwz r3, 0x84(r1) -/* 057388 8005C928 5480801E */ slwi r0, r4, 0x10 -/* 05738C 8005C92C 64047CA0 */ oris r4, r0, 0x7ca0 -/* 057390 8005C930 38030001 */ addi r0, r3, 1 -/* 057394 8005C934 90010084 */ stw r0, 0x84(r1) -/* 057398 8005C938 60842B78 */ ori r4, r4, 0x2b78 -/* 05739C 8005C93C 5460103A */ slwi r0, r3, 2 -/* 0573A0 8005C940 7C9F012E */ stwx r4, r31, r0 -/* 0573A4 8005C944 48000010 */ b lbl_8005C954 -lbl_8005C948: -/* 0573A8 8005C948 80610084 */ lwz r3, 0x84(r1) -/* 0573AC 8005C94C 38030001 */ addi r0, r3, 1 -/* 0573B0 8005C950 90010084 */ stw r0, 0x84(r1) -lbl_8005C954: -/* 0573B4 8005C954 2C110000 */ cmpwi r17, 0 -/* 0573B8 8005C958 418201BC */ beq lbl_8005CB14 -/* 0573BC 8005C95C 281F0000 */ cmplwi r31, 0 -/* 0573C0 8005C960 41820024 */ beq lbl_8005C984 -/* 0573C4 8005C964 80610084 */ lwz r3, 0x84(r1) -/* 0573C8 8005C968 3C804280 */ lis r4, 0x4280 -/* 0573CC 8005C96C 38840020 */ addi r4, r4, 0x20 -/* 0573D0 8005C970 38030001 */ addi r0, r3, 1 -/* 0573D4 8005C974 90010084 */ stw r0, 0x84(r1) -/* 0573D8 8005C978 5460103A */ slwi r0, r3, 2 -/* 0573DC 8005C97C 7C9F012E */ stwx r4, r31, r0 -/* 0573E0 8005C980 48000010 */ b lbl_8005C990 -lbl_8005C984: -/* 0573E4 8005C984 80610084 */ lwz r3, 0x84(r1) -/* 0573E8 8005C988 38030001 */ addi r0, r3, 1 -/* 0573EC 8005C98C 90010084 */ stw r0, 0x84(r1) -lbl_8005C990: -/* 0573F0 8005C990 281F0000 */ cmplwi r31, 0 -/* 0573F4 8005C994 41820020 */ beq lbl_8005C9B4 -/* 0573F8 8005C998 80610084 */ lwz r3, 0x84(r1) -/* 0573FC 8005C99C 3C8038C0 */ lis r4, 0x38c0 -/* 057400 8005C9A0 38030001 */ addi r0, r3, 1 -/* 057404 8005C9A4 90010084 */ stw r0, 0x84(r1) -/* 057408 8005C9A8 5460103A */ slwi r0, r3, 2 -/* 05740C 8005C9AC 7C9F012E */ stwx r4, r31, r0 -/* 057410 8005C9B0 48000010 */ b lbl_8005C9C0 -lbl_8005C9B4: -/* 057414 8005C9B4 80610084 */ lwz r3, 0x84(r1) -/* 057418 8005C9B8 38030001 */ addi r0, r3, 1 -/* 05741C 8005C9BC 90010084 */ stw r0, 0x84(r1) -lbl_8005C9C0: -/* 057420 8005C9C0 281F0000 */ cmplwi r31, 0 -/* 057424 8005C9C4 41820028 */ beq lbl_8005C9EC -/* 057428 8005C9C8 80610084 */ lwz r3, 0x84(r1) -/* 05742C 8005C9CC 381E002C */ addi r0, r30, 0x2c -/* 057430 8005C9D0 7C9E0050 */ subf r4, r30, r0 -/* 057434 8005C9D4 38030001 */ addi r0, r3, 1 -/* 057438 8005C9D8 90010084 */ stw r0, 0x84(r1) -/* 05743C 8005C9DC 3C0490C3 */ addis r0, r4, 0x90c3 -/* 057440 8005C9E0 5463103A */ slwi r3, r3, 2 -/* 057444 8005C9E4 7C1F192E */ stwx r0, r31, r3 -/* 057448 8005C9E8 48000010 */ b lbl_8005C9F8 -lbl_8005C9EC: -/* 05744C 8005C9EC 80610084 */ lwz r3, 0x84(r1) -/* 057450 8005C9F0 38030001 */ addi r0, r3, 1 -/* 057454 8005C9F4 90010084 */ stw r0, 0x84(r1) -lbl_8005C9F8: -/* 057458 8005C9F8 281F0000 */ cmplwi r31, 0 -/* 05745C 8005C9FC 41820024 */ beq lbl_8005CA20 -/* 057460 8005CA00 80610084 */ lwz r3, 0x84(r1) -/* 057464 8005CA04 57A0843E */ srwi r0, r29, 0x10 -/* 057468 8005CA08 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05746C 8005CA0C 38030001 */ addi r0, r3, 1 -/* 057470 8005CA10 90010084 */ stw r0, 0x84(r1) -/* 057474 8005CA14 5460103A */ slwi r0, r3, 2 -/* 057478 8005CA18 7C9F012E */ stwx r4, r31, r0 -/* 05747C 8005CA1C 48000010 */ b lbl_8005CA2C -lbl_8005CA20: -/* 057480 8005CA20 80610084 */ lwz r3, 0x84(r1) -/* 057484 8005CA24 38030001 */ addi r0, r3, 1 -/* 057488 8005CA28 90010084 */ stw r0, 0x84(r1) -lbl_8005CA2C: -/* 05748C 8005CA2C 281F0000 */ cmplwi r31, 0 -/* 057490 8005CA30 41820024 */ beq lbl_8005CA54 -/* 057494 8005CA34 80610084 */ lwz r3, 0x84(r1) -/* 057498 8005CA38 57A0043E */ clrlwi r0, r29, 0x10 -/* 05749C 8005CA3C 640460A5 */ oris r4, r0, 0x60a5 -/* 0574A0 8005CA40 38030001 */ addi r0, r3, 1 -/* 0574A4 8005CA44 90010084 */ stw r0, 0x84(r1) -/* 0574A8 8005CA48 5460103A */ slwi r0, r3, 2 -/* 0574AC 8005CA4C 7C9F012E */ stwx r4, r31, r0 -/* 0574B0 8005CA50 48000010 */ b lbl_8005CA60 -lbl_8005CA54: -/* 0574B4 8005CA54 80610084 */ lwz r3, 0x84(r1) -/* 0574B8 8005CA58 38030001 */ addi r0, r3, 1 -/* 0574BC 8005CA5C 90010084 */ stw r0, 0x84(r1) -lbl_8005CA60: -/* 0574C0 8005CA60 281F0000 */ cmplwi r31, 0 -/* 0574C4 8005CA64 41820034 */ beq lbl_8005CA98 -/* 0574C8 8005CA68 80610084 */ lwz r3, 0x84(r1) -/* 0574CC 8005CA6C 801E0B40 */ lwz r0, 0xb40(r30) -/* 0574D0 8005CA70 5465103A */ slwi r5, r3, 2 -/* 0574D4 8005CA74 7C9F2A14 */ add r4, r31, r5 -/* 0574D8 8005CA78 7C040050 */ subf r0, r4, r0 -/* 0574DC 8005CA7C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 0574E0 8005CA80 38630001 */ addi r3, r3, 1 -/* 0574E4 8005CA84 64004800 */ oris r0, r0, 0x4800 -/* 0574E8 8005CA88 90610084 */ stw r3, 0x84(r1) -/* 0574EC 8005CA8C 60000001 */ ori r0, r0, 1 -/* 0574F0 8005CA90 7C1F292E */ stwx r0, r31, r5 -/* 0574F4 8005CA94 48000010 */ b lbl_8005CAA4 -lbl_8005CA98: -/* 0574F8 8005CA98 80610084 */ lwz r3, 0x84(r1) -/* 0574FC 8005CA9C 38030001 */ addi r0, r3, 1 -/* 057500 8005CAA0 90010084 */ stw r0, 0x84(r1) -lbl_8005CAA4: -/* 057504 8005CAA4 281F0000 */ cmplwi r31, 0 -/* 057508 8005CAA8 41820024 */ beq lbl_8005CACC -/* 05750C 8005CAAC 80610084 */ lwz r3, 0x84(r1) -/* 057510 8005CAB0 3C8038C1 */ lis r4, 0x38c1 -/* 057514 8005CAB4 3884FFFF */ addi r4, r4, -1 -/* 057518 8005CAB8 38030001 */ addi r0, r3, 1 -/* 05751C 8005CABC 90010084 */ stw r0, 0x84(r1) -/* 057520 8005CAC0 5460103A */ slwi r0, r3, 2 -/* 057524 8005CAC4 7C9F012E */ stwx r4, r31, r0 -/* 057528 8005CAC8 48000010 */ b lbl_8005CAD8 -lbl_8005CACC: -/* 05752C 8005CACC 80610084 */ lwz r3, 0x84(r1) -/* 057530 8005CAD0 38030001 */ addi r0, r3, 1 -/* 057534 8005CAD4 90010084 */ stw r0, 0x84(r1) -lbl_8005CAD8: -/* 057538 8005CAD8 281F0000 */ cmplwi r31, 0 -/* 05753C 8005CADC 41820028 */ beq lbl_8005CB04 -/* 057540 8005CAE0 80610084 */ lwz r3, 0x84(r1) -/* 057544 8005CAE4 381E002C */ addi r0, r30, 0x2c -/* 057548 8005CAE8 7C9E0050 */ subf r4, r30, r0 -/* 05754C 8005CAEC 38030001 */ addi r0, r3, 1 -/* 057550 8005CAF0 90010084 */ stw r0, 0x84(r1) -/* 057554 8005CAF4 3C0490C3 */ addis r0, r4, 0x90c3 -/* 057558 8005CAF8 5463103A */ slwi r3, r3, 2 -/* 05755C 8005CAFC 7C1F192E */ stwx r0, r31, r3 -/* 057560 8005CB00 480000F4 */ b lbl_8005CBF4 -lbl_8005CB04: -/* 057564 8005CB04 80610084 */ lwz r3, 0x84(r1) -/* 057568 8005CB08 38030001 */ addi r0, r3, 1 -/* 05756C 8005CB0C 90010084 */ stw r0, 0x84(r1) -/* 057570 8005CB10 480000E4 */ b lbl_8005CBF4 -lbl_8005CB14: -/* 057574 8005CB14 281F0000 */ cmplwi r31, 0 -/* 057578 8005CB18 41820024 */ beq lbl_8005CB3C -/* 05757C 8005CB1C 80610084 */ lwz r3, 0x84(r1) -/* 057580 8005CB20 3C804280 */ lis r4, 0x4280 -/* 057584 8005CB24 38840010 */ addi r4, r4, 0x10 -/* 057588 8005CB28 38030001 */ addi r0, r3, 1 -/* 05758C 8005CB2C 90010084 */ stw r0, 0x84(r1) -/* 057590 8005CB30 5460103A */ slwi r0, r3, 2 -/* 057594 8005CB34 7C9F012E */ stwx r4, r31, r0 -/* 057598 8005CB38 48000010 */ b lbl_8005CB48 -lbl_8005CB3C: -/* 05759C 8005CB3C 80610084 */ lwz r3, 0x84(r1) -/* 0575A0 8005CB40 38030001 */ addi r0, r3, 1 -/* 0575A4 8005CB44 90010084 */ stw r0, 0x84(r1) -lbl_8005CB48: -/* 0575A8 8005CB48 281F0000 */ cmplwi r31, 0 -/* 0575AC 8005CB4C 41820024 */ beq lbl_8005CB70 -/* 0575B0 8005CB50 80610084 */ lwz r3, 0x84(r1) -/* 0575B4 8005CB54 57A0843E */ srwi r0, r29, 0x10 -/* 0575B8 8005CB58 64043CA0 */ oris r4, r0, 0x3ca0 -/* 0575BC 8005CB5C 38030001 */ addi r0, r3, 1 -/* 0575C0 8005CB60 90010084 */ stw r0, 0x84(r1) -/* 0575C4 8005CB64 5460103A */ slwi r0, r3, 2 -/* 0575C8 8005CB68 7C9F012E */ stwx r4, r31, r0 -/* 0575CC 8005CB6C 48000010 */ b lbl_8005CB7C -lbl_8005CB70: -/* 0575D0 8005CB70 80610084 */ lwz r3, 0x84(r1) -/* 0575D4 8005CB74 38030001 */ addi r0, r3, 1 -/* 0575D8 8005CB78 90010084 */ stw r0, 0x84(r1) -lbl_8005CB7C: -/* 0575DC 8005CB7C 281F0000 */ cmplwi r31, 0 -/* 0575E0 8005CB80 41820024 */ beq lbl_8005CBA4 -/* 0575E4 8005CB84 80610084 */ lwz r3, 0x84(r1) -/* 0575E8 8005CB88 57A0043E */ clrlwi r0, r29, 0x10 -/* 0575EC 8005CB8C 640460A5 */ oris r4, r0, 0x60a5 -/* 0575F0 8005CB90 38030001 */ addi r0, r3, 1 -/* 0575F4 8005CB94 90010084 */ stw r0, 0x84(r1) -/* 0575F8 8005CB98 5460103A */ slwi r0, r3, 2 -/* 0575FC 8005CB9C 7C9F012E */ stwx r4, r31, r0 -/* 057600 8005CBA0 48000010 */ b lbl_8005CBB0 -lbl_8005CBA4: -/* 057604 8005CBA4 80610084 */ lwz r3, 0x84(r1) -/* 057608 8005CBA8 38030001 */ addi r0, r3, 1 -/* 05760C 8005CBAC 90010084 */ stw r0, 0x84(r1) -lbl_8005CBB0: -/* 057610 8005CBB0 281F0000 */ cmplwi r31, 0 -/* 057614 8005CBB4 41820034 */ beq lbl_8005CBE8 -/* 057618 8005CBB8 80610084 */ lwz r3, 0x84(r1) -/* 05761C 8005CBBC 801E0B40 */ lwz r0, 0xb40(r30) -/* 057620 8005CBC0 5465103A */ slwi r5, r3, 2 -/* 057624 8005CBC4 7C9F2A14 */ add r4, r31, r5 -/* 057628 8005CBC8 7C040050 */ subf r0, r4, r0 -/* 05762C 8005CBCC 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 057630 8005CBD0 38630001 */ addi r3, r3, 1 -/* 057634 8005CBD4 64004800 */ oris r0, r0, 0x4800 -/* 057638 8005CBD8 90610084 */ stw r3, 0x84(r1) -/* 05763C 8005CBDC 60000001 */ ori r0, r0, 1 -/* 057640 8005CBE0 7C1F292E */ stwx r0, r31, r5 -/* 057644 8005CBE4 48000010 */ b lbl_8005CBF4 -lbl_8005CBE8: -/* 057648 8005CBE8 80610084 */ lwz r3, 0x84(r1) -/* 05764C 8005CBEC 38030001 */ addi r0, r3, 1 -/* 057650 8005CBF0 90010084 */ stw r0, 0x84(r1) -lbl_8005CBF4: -/* 057654 8005CBF4 3C7E0001 */ addis r3, r30, 1 -/* 057658 8005CBF8 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 05765C 8005CBFC 80A32058 */ lwz r5, 0x2058(r3) -/* 057660 8005CC00 38800001 */ li r4, 1 -/* 057664 8005CC04 7C800030 */ slw r0, r4, r0 -/* 057668 8005CC08 7CA00078 */ andc r0, r5, r0 -/* 05766C 8005CC0C 90032058 */ stw r0, 0x2058(r3) -/* 057670 8005CC10 4800B324 */ b lbl_80067F34 -.global lbl_8005CC14 -lbl_8005CC14: -/* 057674 8005CC14 3C7E0001 */ addis r3, r30, 1 -/* 057678 8005CC18 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 05767C 8005CC1C 80032058 */ lwz r0, 0x2058(r3) -/* 057680 8005CC20 38800001 */ li r4, 1 -/* 057684 8005CC24 7C842830 */ slw r4, r4, r5 -/* 057688 8005CC28 7C002039 */ and. r0, r0, r4 -/* 05768C 8005CC2C 41820388 */ beq lbl_8005CFB4 -/* 057690 8005CC30 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 057694 8005CC34 7D1A0214 */ add r8, r26, r0 -/* 057698 8005CC38 84E80818 */ lwzu r7, 0x818(r8) -/* 05769C 8005CC3C 578A86FE */ rlwinm r10, r28, 0x10, 0x1b, 0x1f -/* 0576A0 8005CC40 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 0576A4 8005CC44 41820008 */ beq lbl_8005CC4C -/* 0576A8 8005CC48 38E00005 */ li r7, 5 -lbl_8005CC4C: -/* 0576AC 8005CC4C 54A0103A */ slwi r0, r5, 2 -/* 0576B0 8005CC50 7C7A0214 */ add r3, r26, r0 -/* 0576B4 8005CC54 81230818 */ lwz r9, 0x818(r3) -/* 0576B8 8005CC58 552005EF */ rlwinm. r0, r9, 0, 0x17, 0x17 -/* 0576BC 8005CC5C 4182014C */ beq lbl_8005CDA8 -/* 0576C0 8005CC60 3C7E0001 */ addis r3, r30, 1 -/* 0576C4 8005CC64 80032064 */ lwz r0, 0x2064(r3) -/* 0576C8 8005CC68 39200006 */ li r9, 6 -/* 0576CC 8005CC6C 28000000 */ cmplwi r0, 0 -/* 0576D0 8005CC70 4082000C */ bne lbl_8005CC7C -/* 0576D4 8005CC74 38000000 */ li r0, 0 -/* 0576D8 8005CC78 48000094 */ b lbl_8005CD0C -lbl_8005CC7C: -/* 0576DC 8005CC7C 80032068 */ lwz r0, 0x2068(r3) -/* 0576E0 8005CC80 28000000 */ cmplwi r0, 0 -/* 0576E4 8005CC84 4082000C */ bne lbl_8005CC90 -/* 0576E8 8005CC88 38000000 */ li r0, 0 -/* 0576EC 8005CC8C 48000080 */ b lbl_8005CD0C -lbl_8005CC90: -/* 0576F0 8005CC90 8003206C */ lwz r0, 0x206c(r3) -/* 0576F4 8005CC94 7C050000 */ cmpw r5, r0 -/* 0576F8 8005CC98 4182000C */ beq lbl_8005CCA4 -/* 0576FC 8005CC9C 38000000 */ li r0, 0 -/* 057700 8005CCA0 4800006C */ b lbl_8005CD0C -lbl_8005CCA4: -/* 057704 8005CCA4 80DE0034 */ lwz r6, 0x34(r30) -/* 057708 8005CCA8 38800000 */ li r4, 0 -/* 05770C 8005CCAC 80060008 */ lwz r0, 8(r6) -/* 057710 8005CCB0 2C000000 */ cmpwi r0, 0 -/* 057714 8005CCB4 7C0903A6 */ mtctr r0 -/* 057718 8005CCB8 40810028 */ ble lbl_8005CCE0 -lbl_8005CCBC: -/* 05771C 8005CCBC 8066000C */ lwz r3, 0xc(r6) -/* 057720 8005CCC0 38040004 */ addi r0, r4, 4 -/* 057724 8005CCC4 7C03002E */ lwzx r0, r3, r0 -/* 057728 8005CCC8 7C1D0000 */ cmpw r29, r0 -/* 05772C 8005CCCC 4082000C */ bne lbl_8005CCD8 -/* 057730 8005CCD0 38000000 */ li r0, 0 -/* 057734 8005CCD4 48000010 */ b lbl_8005CCE4 -lbl_8005CCD8: -/* 057738 8005CCD8 38840008 */ addi r4, r4, 8 -/* 05773C 8005CCDC 4200FFE0 */ bdnz lbl_8005CCBC -lbl_8005CCE0: -/* 057740 8005CCE0 38000001 */ li r0, 1 -lbl_8005CCE4: -/* 057744 8005CCE4 2C000000 */ cmpwi r0, 0 -/* 057748 8005CCE8 40820014 */ bne lbl_8005CCFC -/* 05774C 8005CCEC 38000000 */ li r0, 0 -/* 057750 8005CCF0 3C7E0001 */ addis r3, r30, 1 -/* 057754 8005CCF4 90032068 */ stw r0, 0x2068(r3) -/* 057758 8005CCF8 48000014 */ b lbl_8005CD0C -lbl_8005CCFC: -/* 05775C 8005CCFC 3C7E0001 */ addis r3, r30, 1 -/* 057760 8005CD00 38000000 */ li r0, 0 -/* 057764 8005CD04 90032068 */ stw r0, 0x2068(r3) -/* 057768 8005CD08 38000001 */ li r0, 1 -lbl_8005CD0C: -/* 05776C 8005CD0C 2C000000 */ cmpwi r0, 0 -/* 057770 8005CD10 41820050 */ beq lbl_8005CD60 -/* 057774 8005CD14 281F0000 */ cmplwi r31, 0 -/* 057778 8005CD18 41820038 */ beq lbl_8005CD50 -/* 05777C 8005CD1C 3C9E0001 */ addis r4, r30, 1 -/* 057780 8005CD20 80610084 */ lwz r3, 0x84(r1) -/* 057784 8005CD24 80842070 */ lwz r4, 0x2070(r4) -/* 057788 8005CD28 38C30001 */ addi r6, r3, 1 -/* 05778C 8005CD2C 5480A814 */ slwi r0, r4, 0x15 -/* 057790 8005CD30 90C10084 */ stw r6, 0x84(r1) -/* 057794 8005CD34 64007C06 */ oris r0, r0, 0x7c06 -/* 057798 8005CD38 54845828 */ slwi r4, r4, 0xb -/* 05779C 8005CD3C 60000378 */ ori r0, r0, 0x378 -/* 0577A0 8005CD40 7C800378 */ or r0, r4, r0 -/* 0577A4 8005CD44 5463103A */ slwi r3, r3, 2 -/* 0577A8 8005CD48 7C1F192E */ stwx r0, r31, r3 -/* 0577AC 8005CD4C 4800005C */ b lbl_8005CDA8 -lbl_8005CD50: -/* 0577B0 8005CD50 80610084 */ lwz r3, 0x84(r1) -/* 0577B4 8005CD54 38030001 */ addi r0, r3, 1 -/* 0577B8 8005CD58 90010084 */ stw r0, 0x84(r1) -/* 0577BC 8005CD5C 4800004C */ b lbl_8005CDA8 -lbl_8005CD60: -/* 0577C0 8005CD60 281F0000 */ cmplwi r31, 0 -/* 0577C4 8005CD64 41820038 */ beq lbl_8005CD9C -/* 0577C8 8005CD68 54A41838 */ slwi r4, r5, 3 -/* 0577CC 8005CD6C 80610084 */ lwz r3, 0x84(r1) -/* 0577D0 8005CD70 38040040 */ addi r0, r4, 0x40 -/* 0577D4 8005CD74 7C1E0214 */ add r0, r30, r0 -/* 0577D8 8005CD78 7C9E0050 */ subf r4, r30, r0 -/* 0577DC 8005CD7C 38840004 */ addi r4, r4, 4 -/* 0577E0 8005CD80 38030001 */ addi r0, r3, 1 -/* 0577E4 8005CD84 5484043E */ clrlwi r4, r4, 0x10 -/* 0577E8 8005CD88 90010084 */ stw r0, 0x84(r1) -/* 0577EC 8005CD8C 3C0480C3 */ addis r0, r4, 0x80c3 -/* 0577F0 8005CD90 5463103A */ slwi r3, r3, 2 -/* 0577F4 8005CD94 7C1F192E */ stwx r0, r31, r3 -/* 0577F8 8005CD98 48000010 */ b lbl_8005CDA8 -lbl_8005CD9C: -/* 0577FC 8005CD9C 80610084 */ lwz r3, 0x84(r1) -/* 057800 8005CDA0 38030001 */ addi r0, r3, 1 -/* 057804 8005CDA4 90010084 */ stw r0, 0x84(r1) -lbl_8005CDA8: -/* 057808 8005CDA8 281F0000 */ cmplwi r31, 0 -/* 05780C 8005CDAC 4082000C */ bne lbl_8005CDB8 -/* 057810 8005CDB0 38800000 */ li r4, 0 -/* 057814 8005CDB4 480000A4 */ b lbl_8005CE58 -lbl_8005CDB8: -/* 057818 8005CDB8 3C7E0001 */ addis r3, r30, 1 -/* 05781C 8005CDBC 80032064 */ lwz r0, 0x2064(r3) -/* 057820 8005CDC0 28000000 */ cmplwi r0, 0 -/* 057824 8005CDC4 4082000C */ bne lbl_8005CDD0 -/* 057828 8005CDC8 38800000 */ li r4, 0 -/* 05782C 8005CDCC 4800008C */ b lbl_8005CE58 -lbl_8005CDD0: -/* 057830 8005CDD0 80DE0034 */ lwz r6, 0x34(r30) -/* 057834 8005CDD4 38800000 */ li r4, 0 -/* 057838 8005CDD8 80060008 */ lwz r0, 8(r6) -/* 05783C 8005CDDC 2C000000 */ cmpwi r0, 0 -/* 057840 8005CDE0 7C0903A6 */ mtctr r0 -/* 057844 8005CDE4 40810028 */ ble lbl_8005CE0C -lbl_8005CDE8: -/* 057848 8005CDE8 8066000C */ lwz r3, 0xc(r6) -/* 05784C 8005CDEC 38040004 */ addi r0, r4, 4 -/* 057850 8005CDF0 7C03002E */ lwzx r0, r3, r0 -/* 057854 8005CDF4 7C1D0000 */ cmpw r29, r0 -/* 057858 8005CDF8 4082000C */ bne lbl_8005CE04 -/* 05785C 8005CDFC 38000000 */ li r0, 0 -/* 057860 8005CE00 48000010 */ b lbl_8005CE10 -lbl_8005CE04: -/* 057864 8005CE04 38840008 */ addi r4, r4, 8 -/* 057868 8005CE08 4200FFE0 */ bdnz lbl_8005CDE8 -lbl_8005CE0C: -/* 05786C 8005CE0C 38000001 */ li r0, 1 -lbl_8005CE10: -/* 057870 8005CE10 2C000000 */ cmpwi r0, 0 -/* 057874 8005CE14 4082000C */ bne lbl_8005CE20 -/* 057878 8005CE18 38800000 */ li r4, 0 -/* 05787C 8005CE1C 4800003C */ b lbl_8005CE58 -lbl_8005CE20: -/* 057880 8005CE20 7C055000 */ cmpw r5, r10 -/* 057884 8005CE24 3C7E0001 */ addis r3, r30, 1 -/* 057888 8005CE28 38800001 */ li r4, 1 -/* 05788C 8005CE2C 9083207C */ stw r4, 0x207c(r3) -/* 057890 8005CE30 40820014 */ bne lbl_8005CE44 -/* 057894 8005CE34 3800FFFF */ li r0, -1 -/* 057898 8005CE38 90032080 */ stw r0, 0x2080(r3) -/* 05789C 8005CE3C 38800000 */ li r4, 0 -/* 0578A0 8005CE40 48000018 */ b lbl_8005CE58 -lbl_8005CE44: -/* 0578A4 8005CE44 80032080 */ lwz r0, 0x2080(r3) -/* 0578A8 8005CE48 7C002800 */ cmpw r0, r5 -/* 0578AC 8005CE4C 4182000C */ beq lbl_8005CE58 -/* 0578B0 8005CE50 90A32080 */ stw r5, 0x2080(r3) -/* 0578B4 8005CE54 38800000 */ li r4, 0 -lbl_8005CE58: -/* 0578B8 8005CE58 2C040000 */ cmpwi r4, 0 -/* 0578BC 8005CE5C 40820040 */ bne lbl_8005CE9C -/* 0578C0 8005CE60 281F0000 */ cmplwi r31, 0 -/* 0578C4 8005CE64 41820028 */ beq lbl_8005CE8C -/* 0578C8 8005CE68 80610084 */ lwz r3, 0x84(r1) -/* 0578CC 8005CE6C 5520801E */ slwi r0, r9, 0x10 -/* 0578D0 8005CE70 64047CE0 */ oris r4, r0, 0x7ce0 -/* 0578D4 8005CE74 38030001 */ addi r0, r3, 1 -/* 0578D8 8005CE78 90010084 */ stw r0, 0x84(r1) -/* 0578DC 8005CE7C 60844214 */ ori r4, r4, 0x4214 -/* 0578E0 8005CE80 5460103A */ slwi r0, r3, 2 -/* 0578E4 8005CE84 7C9F012E */ stwx r4, r31, r0 -/* 0578E8 8005CE88 48000044 */ b lbl_8005CECC -lbl_8005CE8C: -/* 0578EC 8005CE8C 80610084 */ lwz r3, 0x84(r1) -/* 0578F0 8005CE90 38030001 */ addi r0, r3, 1 -/* 0578F4 8005CE94 90010084 */ stw r0, 0x84(r1) -/* 0578F8 8005CE98 48000034 */ b lbl_8005CECC -lbl_8005CE9C: -/* 0578FC 8005CE9C 281F0000 */ cmplwi r31, 0 -/* 057900 8005CEA0 41820020 */ beq lbl_8005CEC0 -/* 057904 8005CEA4 80610084 */ lwz r3, 0x84(r1) -/* 057908 8005CEA8 3C806000 */ lis r4, 0x6000 -/* 05790C 8005CEAC 38030001 */ addi r0, r3, 1 -/* 057910 8005CEB0 90010084 */ stw r0, 0x84(r1) -/* 057914 8005CEB4 5460103A */ slwi r0, r3, 2 -/* 057918 8005CEB8 7C9F012E */ stwx r4, r31, r0 -/* 05791C 8005CEBC 48000010 */ b lbl_8005CECC -lbl_8005CEC0: -/* 057920 8005CEC0 80610084 */ lwz r3, 0x84(r1) -/* 057924 8005CEC4 38030001 */ addi r0, r3, 1 -/* 057928 8005CEC8 90010084 */ stw r0, 0x84(r1) -lbl_8005CECC: -/* 05792C 8005CECC 281F0000 */ cmplwi r31, 0 -/* 057930 8005CED0 4182002C */ beq lbl_8005CEFC -/* 057934 8005CED4 80610084 */ lwz r3, 0x84(r1) -/* 057938 8005CED8 54E0A814 */ slwi r0, r7, 0x15 -/* 05793C 8005CEDC 6405A007 */ oris r5, r0, 0xa007 -/* 057940 8005CEE0 38030001 */ addi r0, r3, 1 -/* 057944 8005CEE4 5784043E */ clrlwi r4, r28, 0x10 -/* 057948 8005CEE8 90010084 */ stw r0, 0x84(r1) -/* 05794C 8005CEEC 7CA02378 */ or r0, r5, r4 -/* 057950 8005CEF0 5463103A */ slwi r3, r3, 2 -/* 057954 8005CEF4 7C1F192E */ stwx r0, r31, r3 -/* 057958 8005CEF8 48000010 */ b lbl_8005CF08 -lbl_8005CEFC: -/* 05795C 8005CEFC 80610084 */ lwz r3, 0x84(r1) -/* 057960 8005CF00 38030001 */ addi r0, r3, 1 -/* 057964 8005CF04 90010084 */ stw r0, 0x84(r1) -lbl_8005CF08: -/* 057968 8005CF08 281F0000 */ cmplwi r31, 0 -/* 05796C 8005CF0C 41820030 */ beq lbl_8005CF3C -/* 057970 8005CF10 80610084 */ lwz r3, 0x84(r1) -/* 057974 8005CF14 54E0A814 */ slwi r0, r7, 0x15 -/* 057978 8005CF18 64007C00 */ oris r0, r0, 0x7c00 -/* 05797C 8005CF1C 38830001 */ addi r4, r3, 1 -/* 057980 8005CF20 90810084 */ stw r4, 0x84(r1) -/* 057984 8005CF24 60000734 */ ori r0, r0, 0x734 -/* 057988 8005CF28 54E4801E */ slwi r4, r7, 0x10 -/* 05798C 8005CF2C 7C002378 */ or r0, r0, r4 -/* 057990 8005CF30 5463103A */ slwi r3, r3, 2 -/* 057994 8005CF34 7C1F192E */ stwx r0, r31, r3 -/* 057998 8005CF38 48000010 */ b lbl_8005CF48 -lbl_8005CF3C: -/* 05799C 8005CF3C 80610084 */ lwz r3, 0x84(r1) -/* 0579A0 8005CF40 38030001 */ addi r0, r3, 1 -/* 0579A4 8005CF44 90010084 */ stw r0, 0x84(r1) -lbl_8005CF48: -/* 0579A8 8005CF48 80080000 */ lwz r0, 0(r8) -/* 0579AC 8005CF4C 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 0579B0 8005CF50 4182089C */ beq lbl_8005D7EC -/* 0579B4 8005CF54 3C7E0001 */ addis r3, r30, 1 -/* 0579B8 8005CF58 38000002 */ li r0, 2 -/* 0579BC 8005CF5C 90032068 */ stw r0, 0x2068(r3) -/* 0579C0 8005CF60 281F0000 */ cmplwi r31, 0 -/* 0579C4 8005CF64 9143206C */ stw r10, 0x206c(r3) -/* 0579C8 8005CF68 90E32070 */ stw r7, 0x2070(r3) -/* 0579CC 8005CF6C 41820038 */ beq lbl_8005CFA4 -/* 0579D0 8005CF70 55441838 */ slwi r4, r10, 3 -/* 0579D4 8005CF74 80610084 */ lwz r3, 0x84(r1) -/* 0579D8 8005CF78 38040040 */ addi r0, r4, 0x40 -/* 0579DC 8005CF7C 7C1E0214 */ add r0, r30, r0 -/* 0579E0 8005CF80 7C9E0050 */ subf r4, r30, r0 -/* 0579E4 8005CF84 38840004 */ addi r4, r4, 4 -/* 0579E8 8005CF88 38030001 */ addi r0, r3, 1 -/* 0579EC 8005CF8C 5484043E */ clrlwi r4, r4, 0x10 -/* 0579F0 8005CF90 90010084 */ stw r0, 0x84(r1) -/* 0579F4 8005CF94 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0579F8 8005CF98 5463103A */ slwi r3, r3, 2 -/* 0579FC 8005CF9C 7C1F192E */ stwx r0, r31, r3 -/* 057A00 8005CFA0 4800084C */ b lbl_8005D7EC -lbl_8005CFA4: -/* 057A04 8005CFA4 80610084 */ lwz r3, 0x84(r1) -/* 057A08 8005CFA8 38030001 */ addi r0, r3, 1 -/* 057A0C 8005CFAC 90010084 */ stw r0, 0x84(r1) -/* 057A10 8005CFB0 4800083C */ b lbl_8005D7EC -lbl_8005CFB4: -/* 057A14 8005CFB4 80832060 */ lwz r4, 0x2060(r3) -/* 057A18 8005CFB8 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 057A1C 8005CFBC 41820248 */ beq lbl_8005D204 -/* 057A20 8005CFC0 2C110000 */ cmpwi r17, 0 -/* 057A24 8005CFC4 4182006C */ beq lbl_8005D030 -/* 057A28 8005CFC8 281F0000 */ cmplwi r31, 0 -/* 057A2C 8005CFCC 41820020 */ beq lbl_8005CFEC -/* 057A30 8005CFD0 80610084 */ lwz r3, 0x84(r1) -/* 057A34 8005CFD4 3C8038C0 */ lis r4, 0x38c0 -/* 057A38 8005CFD8 38030001 */ addi r0, r3, 1 -/* 057A3C 8005CFDC 90010084 */ stw r0, 0x84(r1) -/* 057A40 8005CFE0 5460103A */ slwi r0, r3, 2 -/* 057A44 8005CFE4 7C9F012E */ stwx r4, r31, r0 -/* 057A48 8005CFE8 48000010 */ b lbl_8005CFF8 -lbl_8005CFEC: -/* 057A4C 8005CFEC 80610084 */ lwz r3, 0x84(r1) -/* 057A50 8005CFF0 38030001 */ addi r0, r3, 1 -/* 057A54 8005CFF4 90010084 */ stw r0, 0x84(r1) -lbl_8005CFF8: -/* 057A58 8005CFF8 281F0000 */ cmplwi r31, 0 -/* 057A5C 8005CFFC 41820028 */ beq lbl_8005D024 -/* 057A60 8005D000 80610084 */ lwz r3, 0x84(r1) -/* 057A64 8005D004 381E002C */ addi r0, r30, 0x2c -/* 057A68 8005D008 7C9E0050 */ subf r4, r30, r0 -/* 057A6C 8005D00C 38030001 */ addi r0, r3, 1 -/* 057A70 8005D010 90010084 */ stw r0, 0x84(r1) -/* 057A74 8005D014 3C0490C3 */ addis r0, r4, 0x90c3 -/* 057A78 8005D018 5463103A */ slwi r3, r3, 2 -/* 057A7C 8005D01C 7C1F192E */ stwx r0, r31, r3 -/* 057A80 8005D020 48000010 */ b lbl_8005D030 -lbl_8005D024: -/* 057A84 8005D024 80610084 */ lwz r3, 0x84(r1) -/* 057A88 8005D028 38030001 */ addi r0, r3, 1 -/* 057A8C 8005D02C 90010084 */ stw r0, 0x84(r1) -lbl_8005D030: -/* 057A90 8005D030 281F0000 */ cmplwi r31, 0 -/* 057A94 8005D034 41820024 */ beq lbl_8005D058 -/* 057A98 8005D038 80610084 */ lwz r3, 0x84(r1) -/* 057A9C 8005D03C 57A0843E */ srwi r0, r29, 0x10 -/* 057AA0 8005D040 64043CA0 */ oris r4, r0, 0x3ca0 -/* 057AA4 8005D044 38030001 */ addi r0, r3, 1 -/* 057AA8 8005D048 90010084 */ stw r0, 0x84(r1) -/* 057AAC 8005D04C 5460103A */ slwi r0, r3, 2 -/* 057AB0 8005D050 7C9F012E */ stwx r4, r31, r0 -/* 057AB4 8005D054 48000010 */ b lbl_8005D064 -lbl_8005D058: -/* 057AB8 8005D058 80610084 */ lwz r3, 0x84(r1) -/* 057ABC 8005D05C 38030001 */ addi r0, r3, 1 -/* 057AC0 8005D060 90010084 */ stw r0, 0x84(r1) -lbl_8005D064: -/* 057AC4 8005D064 281F0000 */ cmplwi r31, 0 -/* 057AC8 8005D068 41820024 */ beq lbl_8005D08C -/* 057ACC 8005D06C 80610084 */ lwz r3, 0x84(r1) -/* 057AD0 8005D070 57A0043E */ clrlwi r0, r29, 0x10 -/* 057AD4 8005D074 640460A5 */ oris r4, r0, 0x60a5 -/* 057AD8 8005D078 38030001 */ addi r0, r3, 1 -/* 057ADC 8005D07C 90010084 */ stw r0, 0x84(r1) -/* 057AE0 8005D080 5460103A */ slwi r0, r3, 2 -/* 057AE4 8005D084 7C9F012E */ stwx r4, r31, r0 -/* 057AE8 8005D088 48000010 */ b lbl_8005D098 -lbl_8005D08C: -/* 057AEC 8005D08C 80610084 */ lwz r3, 0x84(r1) -/* 057AF0 8005D090 38030001 */ addi r0, r3, 1 -/* 057AF4 8005D094 90010084 */ stw r0, 0x84(r1) -lbl_8005D098: -/* 057AF8 8005D098 281F0000 */ cmplwi r31, 0 -/* 057AFC 8005D09C 41820034 */ beq lbl_8005D0D0 -/* 057B00 8005D0A0 80610084 */ lwz r3, 0x84(r1) -/* 057B04 8005D0A4 801E0B50 */ lwz r0, 0xb50(r30) -/* 057B08 8005D0A8 5465103A */ slwi r5, r3, 2 -/* 057B0C 8005D0AC 7C9F2A14 */ add r4, r31, r5 -/* 057B10 8005D0B0 7C040050 */ subf r0, r4, r0 -/* 057B14 8005D0B4 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 057B18 8005D0B8 38630001 */ addi r3, r3, 1 -/* 057B1C 8005D0BC 64004800 */ oris r0, r0, 0x4800 -/* 057B20 8005D0C0 90610084 */ stw r3, 0x84(r1) -/* 057B24 8005D0C4 60000001 */ ori r0, r0, 1 -/* 057B28 8005D0C8 7C1F292E */ stwx r0, r31, r5 -/* 057B2C 8005D0CC 48000010 */ b lbl_8005D0DC -lbl_8005D0D0: -/* 057B30 8005D0D0 80610084 */ lwz r3, 0x84(r1) -/* 057B34 8005D0D4 38030001 */ addi r0, r3, 1 -/* 057B38 8005D0D8 90010084 */ stw r0, 0x84(r1) -lbl_8005D0DC: -/* 057B3C 8005D0DC 3C7E0001 */ addis r3, r30, 1 -/* 057B40 8005D0E0 80032060 */ lwz r0, 0x2060(r3) -/* 057B44 8005D0E4 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 057B48 8005D0E8 41820060 */ beq lbl_8005D148 -/* 057B4C 8005D0EC 281F0000 */ cmplwi r31, 0 -/* 057B50 8005D0F0 40820014 */ bne lbl_8005D104 -/* 057B54 8005D0F4 80610084 */ lwz r3, 0x84(r1) -/* 057B58 8005D0F8 38030003 */ addi r0, r3, 3 -/* 057B5C 8005D0FC 90010084 */ stw r0, 0x84(r1) -/* 057B60 8005D100 4800008C */ b lbl_8005D18C -lbl_8005D104: -/* 057B64 8005D104 80610084 */ lwz r3, 0x84(r1) -/* 057B68 8005D108 3C806000 */ lis r4, 0x6000 -/* 057B6C 8005D10C 38030001 */ addi r0, r3, 1 -/* 057B70 8005D110 90010084 */ stw r0, 0x84(r1) -/* 057B74 8005D114 5460103A */ slwi r0, r3, 2 -/* 057B78 8005D118 7C9F012E */ stwx r4, r31, r0 -/* 057B7C 8005D11C 80610084 */ lwz r3, 0x84(r1) -/* 057B80 8005D120 38030001 */ addi r0, r3, 1 -/* 057B84 8005D124 90010084 */ stw r0, 0x84(r1) -/* 057B88 8005D128 5460103A */ slwi r0, r3, 2 -/* 057B8C 8005D12C 7C9F012E */ stwx r4, r31, r0 -/* 057B90 8005D130 80610084 */ lwz r3, 0x84(r1) -/* 057B94 8005D134 38030001 */ addi r0, r3, 1 -/* 057B98 8005D138 90010084 */ stw r0, 0x84(r1) -/* 057B9C 8005D13C 5460103A */ slwi r0, r3, 2 -/* 057BA0 8005D140 7C9F012E */ stwx r4, r31, r0 -/* 057BA4 8005D144 48000048 */ b lbl_8005D18C -lbl_8005D148: -/* 057BA8 8005D148 281F0000 */ cmplwi r31, 0 -/* 057BAC 8005D14C 40820014 */ bne lbl_8005D160 -/* 057BB0 8005D150 80610084 */ lwz r3, 0x84(r1) -/* 057BB4 8005D154 38030002 */ addi r0, r3, 2 -/* 057BB8 8005D158 90010084 */ stw r0, 0x84(r1) -/* 057BBC 8005D15C 48000030 */ b lbl_8005D18C -lbl_8005D160: -/* 057BC0 8005D160 80610084 */ lwz r3, 0x84(r1) -/* 057BC4 8005D164 3C806000 */ lis r4, 0x6000 -/* 057BC8 8005D168 38030001 */ addi r0, r3, 1 -/* 057BCC 8005D16C 90010084 */ stw r0, 0x84(r1) -/* 057BD0 8005D170 5460103A */ slwi r0, r3, 2 -/* 057BD4 8005D174 7C9F012E */ stwx r4, r31, r0 -/* 057BD8 8005D178 80610084 */ lwz r3, 0x84(r1) -/* 057BDC 8005D17C 38030001 */ addi r0, r3, 1 -/* 057BE0 8005D180 90010084 */ stw r0, 0x84(r1) -/* 057BE4 8005D184 5460103A */ slwi r0, r3, 2 -/* 057BE8 8005D188 7C9F012E */ stwx r4, r31, r0 -lbl_8005D18C: -/* 057BEC 8005D18C 2C110000 */ cmpwi r17, 0 -/* 057BF0 8005D190 4182065C */ beq lbl_8005D7EC -/* 057BF4 8005D194 281F0000 */ cmplwi r31, 0 -/* 057BF8 8005D198 41820024 */ beq lbl_8005D1BC -/* 057BFC 8005D19C 80610084 */ lwz r3, 0x84(r1) -/* 057C00 8005D1A0 3C8038C1 */ lis r4, 0x38c1 -/* 057C04 8005D1A4 3884FFFF */ addi r4, r4, -1 -/* 057C08 8005D1A8 38030001 */ addi r0, r3, 1 -/* 057C0C 8005D1AC 90010084 */ stw r0, 0x84(r1) -/* 057C10 8005D1B0 5460103A */ slwi r0, r3, 2 -/* 057C14 8005D1B4 7C9F012E */ stwx r4, r31, r0 -/* 057C18 8005D1B8 48000010 */ b lbl_8005D1C8 -lbl_8005D1BC: -/* 057C1C 8005D1BC 80610084 */ lwz r3, 0x84(r1) -/* 057C20 8005D1C0 38030001 */ addi r0, r3, 1 -/* 057C24 8005D1C4 90010084 */ stw r0, 0x84(r1) -lbl_8005D1C8: -/* 057C28 8005D1C8 281F0000 */ cmplwi r31, 0 -/* 057C2C 8005D1CC 41820028 */ beq lbl_8005D1F4 -/* 057C30 8005D1D0 80610084 */ lwz r3, 0x84(r1) -/* 057C34 8005D1D4 381E002C */ addi r0, r30, 0x2c -/* 057C38 8005D1D8 7C9E0050 */ subf r4, r30, r0 -/* 057C3C 8005D1DC 38030001 */ addi r0, r3, 1 -/* 057C40 8005D1E0 90010084 */ stw r0, 0x84(r1) -/* 057C44 8005D1E4 3C0490C3 */ addis r0, r4, 0x90c3 -/* 057C48 8005D1E8 5463103A */ slwi r3, r3, 2 -/* 057C4C 8005D1EC 7C1F192E */ stwx r0, r31, r3 -/* 057C50 8005D1F0 480005FC */ b lbl_8005D7EC -lbl_8005D1F4: -/* 057C54 8005D1F4 80610084 */ lwz r3, 0x84(r1) -/* 057C58 8005D1F8 38030001 */ addi r0, r3, 1 -/* 057C5C 8005D1FC 90010084 */ stw r0, 0x84(r1) -/* 057C60 8005D200 480005EC */ b lbl_8005D7EC -lbl_8005D204: -/* 057C64 8005D204 548007FF */ clrlwi. r0, r4, 0x1f -/* 057C68 8005D208 418205E4 */ beq lbl_8005D7EC -/* 057C6C 8005D20C 54A0103A */ slwi r0, r5, 2 -/* 057C70 8005D210 7C9A0214 */ add r4, r26, r0 -/* 057C74 8005D214 80E40818 */ lwz r7, 0x818(r4) -/* 057C78 8005D218 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 057C7C 8005D21C 41820148 */ beq lbl_8005D364 -/* 057C80 8005D220 80032064 */ lwz r0, 0x2064(r3) -/* 057C84 8005D224 38E00006 */ li r7, 6 -/* 057C88 8005D228 28000000 */ cmplwi r0, 0 -/* 057C8C 8005D22C 4082000C */ bne lbl_8005D238 -/* 057C90 8005D230 38000000 */ li r0, 0 -/* 057C94 8005D234 48000094 */ b lbl_8005D2C8 -lbl_8005D238: -/* 057C98 8005D238 80032068 */ lwz r0, 0x2068(r3) -/* 057C9C 8005D23C 28000000 */ cmplwi r0, 0 -/* 057CA0 8005D240 4082000C */ bne lbl_8005D24C -/* 057CA4 8005D244 38000000 */ li r0, 0 -/* 057CA8 8005D248 48000080 */ b lbl_8005D2C8 -lbl_8005D24C: -/* 057CAC 8005D24C 8003206C */ lwz r0, 0x206c(r3) -/* 057CB0 8005D250 7C050000 */ cmpw r5, r0 -/* 057CB4 8005D254 4182000C */ beq lbl_8005D260 -/* 057CB8 8005D258 38000000 */ li r0, 0 -/* 057CBC 8005D25C 4800006C */ b lbl_8005D2C8 -lbl_8005D260: -/* 057CC0 8005D260 80DE0034 */ lwz r6, 0x34(r30) -/* 057CC4 8005D264 38800000 */ li r4, 0 -/* 057CC8 8005D268 80060008 */ lwz r0, 8(r6) -/* 057CCC 8005D26C 2C000000 */ cmpwi r0, 0 -/* 057CD0 8005D270 7C0903A6 */ mtctr r0 -/* 057CD4 8005D274 40810028 */ ble lbl_8005D29C -lbl_8005D278: -/* 057CD8 8005D278 8066000C */ lwz r3, 0xc(r6) -/* 057CDC 8005D27C 38040004 */ addi r0, r4, 4 -/* 057CE0 8005D280 7C03002E */ lwzx r0, r3, r0 -/* 057CE4 8005D284 7C1D0000 */ cmpw r29, r0 -/* 057CE8 8005D288 4082000C */ bne lbl_8005D294 -/* 057CEC 8005D28C 38000000 */ li r0, 0 -/* 057CF0 8005D290 48000010 */ b lbl_8005D2A0 -lbl_8005D294: -/* 057CF4 8005D294 38840008 */ addi r4, r4, 8 -/* 057CF8 8005D298 4200FFE0 */ bdnz lbl_8005D278 -lbl_8005D29C: -/* 057CFC 8005D29C 38000001 */ li r0, 1 -lbl_8005D2A0: -/* 057D00 8005D2A0 2C000000 */ cmpwi r0, 0 -/* 057D04 8005D2A4 40820014 */ bne lbl_8005D2B8 -/* 057D08 8005D2A8 38000000 */ li r0, 0 -/* 057D0C 8005D2AC 3C7E0001 */ addis r3, r30, 1 -/* 057D10 8005D2B0 90032068 */ stw r0, 0x2068(r3) -/* 057D14 8005D2B4 48000014 */ b lbl_8005D2C8 -lbl_8005D2B8: -/* 057D18 8005D2B8 3C7E0001 */ addis r3, r30, 1 -/* 057D1C 8005D2BC 38000000 */ li r0, 0 -/* 057D20 8005D2C0 90032068 */ stw r0, 0x2068(r3) -/* 057D24 8005D2C4 38000001 */ li r0, 1 -lbl_8005D2C8: -/* 057D28 8005D2C8 2C000000 */ cmpwi r0, 0 -/* 057D2C 8005D2CC 41820050 */ beq lbl_8005D31C -/* 057D30 8005D2D0 281F0000 */ cmplwi r31, 0 -/* 057D34 8005D2D4 41820038 */ beq lbl_8005D30C -/* 057D38 8005D2D8 3C9E0001 */ addis r4, r30, 1 -/* 057D3C 8005D2DC 80610084 */ lwz r3, 0x84(r1) -/* 057D40 8005D2E0 80842070 */ lwz r4, 0x2070(r4) -/* 057D44 8005D2E4 38A30001 */ addi r5, r3, 1 -/* 057D48 8005D2E8 5480A814 */ slwi r0, r4, 0x15 -/* 057D4C 8005D2EC 90A10084 */ stw r5, 0x84(r1) -/* 057D50 8005D2F0 64007C06 */ oris r0, r0, 0x7c06 -/* 057D54 8005D2F4 54845828 */ slwi r4, r4, 0xb -/* 057D58 8005D2F8 60000378 */ ori r0, r0, 0x378 -/* 057D5C 8005D2FC 7C800378 */ or r0, r4, r0 -/* 057D60 8005D300 5463103A */ slwi r3, r3, 2 -/* 057D64 8005D304 7C1F192E */ stwx r0, r31, r3 -/* 057D68 8005D308 4800005C */ b lbl_8005D364 -lbl_8005D30C: -/* 057D6C 8005D30C 80610084 */ lwz r3, 0x84(r1) -/* 057D70 8005D310 38030001 */ addi r0, r3, 1 -/* 057D74 8005D314 90010084 */ stw r0, 0x84(r1) -/* 057D78 8005D318 4800004C */ b lbl_8005D364 -lbl_8005D31C: -/* 057D7C 8005D31C 281F0000 */ cmplwi r31, 0 -/* 057D80 8005D320 41820038 */ beq lbl_8005D358 -/* 057D84 8005D324 54A41838 */ slwi r4, r5, 3 -/* 057D88 8005D328 80610084 */ lwz r3, 0x84(r1) -/* 057D8C 8005D32C 38040040 */ addi r0, r4, 0x40 -/* 057D90 8005D330 7C1E0214 */ add r0, r30, r0 -/* 057D94 8005D334 7C9E0050 */ subf r4, r30, r0 -/* 057D98 8005D338 38840004 */ addi r4, r4, 4 -/* 057D9C 8005D33C 38030001 */ addi r0, r3, 1 -/* 057DA0 8005D340 5484043E */ clrlwi r4, r4, 0x10 -/* 057DA4 8005D344 90010084 */ stw r0, 0x84(r1) -/* 057DA8 8005D348 3C0480C3 */ addis r0, r4, 0x80c3 -/* 057DAC 8005D34C 5463103A */ slwi r3, r3, 2 -/* 057DB0 8005D350 7C1F192E */ stwx r0, r31, r3 -/* 057DB4 8005D354 48000010 */ b lbl_8005D364 -lbl_8005D358: -/* 057DB8 8005D358 80610084 */ lwz r3, 0x84(r1) -/* 057DBC 8005D35C 38030001 */ addi r0, r3, 1 -/* 057DC0 8005D360 90010084 */ stw r0, 0x84(r1) -lbl_8005D364: -/* 057DC4 8005D364 281F0000 */ cmplwi r31, 0 -/* 057DC8 8005D368 4182002C */ beq lbl_8005D394 -/* 057DCC 8005D36C 80610084 */ lwz r3, 0x84(r1) -/* 057DD0 8005D370 54E0801E */ slwi r0, r7, 0x10 -/* 057DD4 8005D374 640538A0 */ oris r5, r0, 0x38a0 -/* 057DD8 8005D378 38030001 */ addi r0, r3, 1 -/* 057DDC 8005D37C 5784043E */ clrlwi r4, r28, 0x10 -/* 057DE0 8005D380 90010084 */ stw r0, 0x84(r1) -/* 057DE4 8005D384 7CA02378 */ or r0, r5, r4 -/* 057DE8 8005D388 5463103A */ slwi r3, r3, 2 -/* 057DEC 8005D38C 7C1F192E */ stwx r0, r31, r3 -/* 057DF0 8005D390 48000010 */ b lbl_8005D3A0 -lbl_8005D394: -/* 057DF4 8005D394 80610084 */ lwz r3, 0x84(r1) -/* 057DF8 8005D398 38030001 */ addi r0, r3, 1 -/* 057DFC 8005D39C 90010084 */ stw r0, 0x84(r1) -lbl_8005D3A0: -/* 057E00 8005D3A0 281F0000 */ cmplwi r31, 0 -/* 057E04 8005D3A4 41820024 */ beq lbl_8005D3C8 -/* 057E08 8005D3A8 80610084 */ lwz r3, 0x84(r1) -/* 057E0C 8005D3AC 3C8054A7 */ lis r4, 0x54a7 -/* 057E10 8005D3B0 3884843E */ addi r4, r4, -31682 -/* 057E14 8005D3B4 38030001 */ addi r0, r3, 1 -/* 057E18 8005D3B8 90010084 */ stw r0, 0x84(r1) -/* 057E1C 8005D3BC 5460103A */ slwi r0, r3, 2 -/* 057E20 8005D3C0 7C9F012E */ stwx r4, r31, r0 -/* 057E24 8005D3C4 48000010 */ b lbl_8005D3D4 -lbl_8005D3C8: -/* 057E28 8005D3C8 80610084 */ lwz r3, 0x84(r1) -/* 057E2C 8005D3CC 38030001 */ addi r0, r3, 1 -/* 057E30 8005D3D0 90010084 */ stw r0, 0x84(r1) -lbl_8005D3D4: -/* 057E34 8005D3D4 281F0000 */ cmplwi r31, 0 -/* 057E38 8005D3D8 41820024 */ beq lbl_8005D3FC -/* 057E3C 8005D3DC 80610084 */ lwz r3, 0x84(r1) -/* 057E40 8005D3E0 3C807CC6 */ lis r4, 0x7cc6 -/* 057E44 8005D3E4 388448AE */ addi r4, r4, 0x48ae -/* 057E48 8005D3E8 38030001 */ addi r0, r3, 1 -/* 057E4C 8005D3EC 90010084 */ stw r0, 0x84(r1) -/* 057E50 8005D3F0 5460103A */ slwi r0, r3, 2 -/* 057E54 8005D3F4 7C9F012E */ stwx r4, r31, r0 -/* 057E58 8005D3F8 48000010 */ b lbl_8005D408 -lbl_8005D3FC: -/* 057E5C 8005D3FC 80610084 */ lwz r3, 0x84(r1) -/* 057E60 8005D400 38030001 */ addi r0, r3, 1 -/* 057E64 8005D404 90010084 */ stw r0, 0x84(r1) -lbl_8005D408: -/* 057E68 8005D408 281F0000 */ cmplwi r31, 0 -/* 057E6C 8005D40C 41820024 */ beq lbl_8005D430 -/* 057E70 8005D410 80610084 */ lwz r3, 0x84(r1) -/* 057E74 8005D414 3C802C06 */ lis r4, 0x2c06 -/* 057E78 8005D418 38840080 */ addi r4, r4, 0x80 -/* 057E7C 8005D41C 38030001 */ addi r0, r3, 1 -/* 057E80 8005D420 90010084 */ stw r0, 0x84(r1) -/* 057E84 8005D424 5460103A */ slwi r0, r3, 2 -/* 057E88 8005D428 7C9F012E */ stwx r4, r31, r0 -/* 057E8C 8005D42C 48000010 */ b lbl_8005D43C -lbl_8005D430: -/* 057E90 8005D430 80610084 */ lwz r3, 0x84(r1) -/* 057E94 8005D434 38030001 */ addi r0, r3, 1 -/* 057E98 8005D438 90010084 */ stw r0, 0x84(r1) -lbl_8005D43C: -/* 057E9C 8005D43C 281F0000 */ cmplwi r31, 0 -/* 057EA0 8005D440 41820024 */ beq lbl_8005D464 -/* 057EA4 8005D444 80610084 */ lwz r3, 0x84(r1) -/* 057EA8 8005D448 3C804180 */ lis r4, 0x4180 -/* 057EAC 8005D44C 38840010 */ addi r4, r4, 0x10 -/* 057EB0 8005D450 38030001 */ addi r0, r3, 1 -/* 057EB4 8005D454 90010084 */ stw r0, 0x84(r1) -/* 057EB8 8005D458 5460103A */ slwi r0, r3, 2 -/* 057EBC 8005D45C 7C9F012E */ stwx r4, r31, r0 -/* 057EC0 8005D460 48000010 */ b lbl_8005D470 -lbl_8005D464: -/* 057EC4 8005D464 80610084 */ lwz r3, 0x84(r1) -/* 057EC8 8005D468 38030001 */ addi r0, r3, 1 -/* 057ECC 8005D46C 90010084 */ stw r0, 0x84(r1) -lbl_8005D470: -/* 057ED0 8005D470 281F0000 */ cmplwi r31, 0 -/* 057ED4 8005D474 41820034 */ beq lbl_8005D4A8 -/* 057ED8 8005D478 80610084 */ lwz r3, 0x84(r1) -/* 057EDC 8005D47C 800D8A54 */ lwz r0, cpuCompile_LH_function@sda21(r13) -/* 057EE0 8005D480 5465103A */ slwi r5, r3, 2 -/* 057EE4 8005D484 7C9F2A14 */ add r4, r31, r5 -/* 057EE8 8005D488 7C040050 */ subf r0, r4, r0 -/* 057EEC 8005D48C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 057EF0 8005D490 38630001 */ addi r3, r3, 1 -/* 057EF4 8005D494 64004800 */ oris r0, r0, 0x4800 -/* 057EF8 8005D498 90610084 */ stw r3, 0x84(r1) -/* 057EFC 8005D49C 60000001 */ ori r0, r0, 1 -/* 057F00 8005D4A0 7C1F292E */ stwx r0, r31, r5 -/* 057F04 8005D4A4 48000010 */ b lbl_8005D4B4 -lbl_8005D4A8: -/* 057F08 8005D4A8 80610084 */ lwz r3, 0x84(r1) -/* 057F0C 8005D4AC 38030001 */ addi r0, r3, 1 -/* 057F10 8005D4B0 90010084 */ stw r0, 0x84(r1) -lbl_8005D4B4: -/* 057F14 8005D4B4 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 057F18 8005D4B8 7C7A1A14 */ add r3, r26, r3 -/* 057F1C 8005D4BC 80830818 */ lwz r4, 0x818(r3) -/* 057F20 8005D4C0 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 057F24 8005D4C4 548305EF */ rlwinm. r3, r4, 0, 0x17, 0x17 -/* 057F28 8005D4C8 4182004C */ beq lbl_8005D514 -/* 057F2C 8005D4CC 281F0000 */ cmplwi r31, 0 -/* 057F30 8005D4D0 41820034 */ beq lbl_8005D504 -/* 057F34 8005D4D4 54041838 */ slwi r4, r0, 3 -/* 057F38 8005D4D8 80610084 */ lwz r3, 0x84(r1) -/* 057F3C 8005D4DC 38040040 */ addi r0, r4, 0x40 -/* 057F40 8005D4E0 7C1E0214 */ add r0, r30, r0 -/* 057F44 8005D4E4 7C9E0050 */ subf r4, r30, r0 -/* 057F48 8005D4E8 38030001 */ addi r0, r3, 1 -/* 057F4C 8005D4EC 3C8490A3 */ addis r4, r4, 0x90a3 -/* 057F50 8005D4F0 90010084 */ stw r0, 0x84(r1) -/* 057F54 8005D4F4 38040004 */ addi r0, r4, 4 -/* 057F58 8005D4F8 5463103A */ slwi r3, r3, 2 -/* 057F5C 8005D4FC 7C1F192E */ stwx r0, r31, r3 -/* 057F60 8005D500 4800004C */ b lbl_8005D54C -lbl_8005D504: -/* 057F64 8005D504 80610084 */ lwz r3, 0x84(r1) -/* 057F68 8005D508 38030001 */ addi r0, r3, 1 -/* 057F6C 8005D50C 90010084 */ stw r0, 0x84(r1) -/* 057F70 8005D510 4800003C */ b lbl_8005D54C -lbl_8005D514: -/* 057F74 8005D514 281F0000 */ cmplwi r31, 0 -/* 057F78 8005D518 41820028 */ beq lbl_8005D540 -/* 057F7C 8005D51C 80610084 */ lwz r3, 0x84(r1) -/* 057F80 8005D520 5480801E */ slwi r0, r4, 0x10 -/* 057F84 8005D524 64047CA0 */ oris r4, r0, 0x7ca0 -/* 057F88 8005D528 38030001 */ addi r0, r3, 1 -/* 057F8C 8005D52C 90010084 */ stw r0, 0x84(r1) -/* 057F90 8005D530 60842B78 */ ori r4, r4, 0x2b78 -/* 057F94 8005D534 5460103A */ slwi r0, r3, 2 -/* 057F98 8005D538 7C9F012E */ stwx r4, r31, r0 -/* 057F9C 8005D53C 48000010 */ b lbl_8005D54C -lbl_8005D540: -/* 057FA0 8005D540 80610084 */ lwz r3, 0x84(r1) -/* 057FA4 8005D544 38030001 */ addi r0, r3, 1 -/* 057FA8 8005D548 90010084 */ stw r0, 0x84(r1) -lbl_8005D54C: -/* 057FAC 8005D54C 2C110000 */ cmpwi r17, 0 -/* 057FB0 8005D550 418201BC */ beq lbl_8005D70C -/* 057FB4 8005D554 281F0000 */ cmplwi r31, 0 -/* 057FB8 8005D558 41820024 */ beq lbl_8005D57C -/* 057FBC 8005D55C 80610084 */ lwz r3, 0x84(r1) -/* 057FC0 8005D560 3C804280 */ lis r4, 0x4280 -/* 057FC4 8005D564 38840020 */ addi r4, r4, 0x20 -/* 057FC8 8005D568 38030001 */ addi r0, r3, 1 -/* 057FCC 8005D56C 90010084 */ stw r0, 0x84(r1) -/* 057FD0 8005D570 5460103A */ slwi r0, r3, 2 -/* 057FD4 8005D574 7C9F012E */ stwx r4, r31, r0 -/* 057FD8 8005D578 48000010 */ b lbl_8005D588 -lbl_8005D57C: -/* 057FDC 8005D57C 80610084 */ lwz r3, 0x84(r1) -/* 057FE0 8005D580 38030001 */ addi r0, r3, 1 -/* 057FE4 8005D584 90010084 */ stw r0, 0x84(r1) -lbl_8005D588: -/* 057FE8 8005D588 281F0000 */ cmplwi r31, 0 -/* 057FEC 8005D58C 41820020 */ beq lbl_8005D5AC -/* 057FF0 8005D590 80610084 */ lwz r3, 0x84(r1) -/* 057FF4 8005D594 3C8038C0 */ lis r4, 0x38c0 -/* 057FF8 8005D598 38030001 */ addi r0, r3, 1 -/* 057FFC 8005D59C 90010084 */ stw r0, 0x84(r1) -/* 058000 8005D5A0 5460103A */ slwi r0, r3, 2 -/* 058004 8005D5A4 7C9F012E */ stwx r4, r31, r0 -/* 058008 8005D5A8 48000010 */ b lbl_8005D5B8 -lbl_8005D5AC: -/* 05800C 8005D5AC 80610084 */ lwz r3, 0x84(r1) -/* 058010 8005D5B0 38030001 */ addi r0, r3, 1 -/* 058014 8005D5B4 90010084 */ stw r0, 0x84(r1) -lbl_8005D5B8: -/* 058018 8005D5B8 281F0000 */ cmplwi r31, 0 -/* 05801C 8005D5BC 41820028 */ beq lbl_8005D5E4 -/* 058020 8005D5C0 80610084 */ lwz r3, 0x84(r1) -/* 058024 8005D5C4 381E002C */ addi r0, r30, 0x2c -/* 058028 8005D5C8 7C9E0050 */ subf r4, r30, r0 -/* 05802C 8005D5CC 38030001 */ addi r0, r3, 1 -/* 058030 8005D5D0 90010084 */ stw r0, 0x84(r1) -/* 058034 8005D5D4 3C0490C3 */ addis r0, r4, 0x90c3 -/* 058038 8005D5D8 5463103A */ slwi r3, r3, 2 -/* 05803C 8005D5DC 7C1F192E */ stwx r0, r31, r3 -/* 058040 8005D5E0 48000010 */ b lbl_8005D5F0 -lbl_8005D5E4: -/* 058044 8005D5E4 80610084 */ lwz r3, 0x84(r1) -/* 058048 8005D5E8 38030001 */ addi r0, r3, 1 -/* 05804C 8005D5EC 90010084 */ stw r0, 0x84(r1) -lbl_8005D5F0: -/* 058050 8005D5F0 281F0000 */ cmplwi r31, 0 -/* 058054 8005D5F4 41820024 */ beq lbl_8005D618 -/* 058058 8005D5F8 80610084 */ lwz r3, 0x84(r1) -/* 05805C 8005D5FC 57A0843E */ srwi r0, r29, 0x10 -/* 058060 8005D600 64043CA0 */ oris r4, r0, 0x3ca0 -/* 058064 8005D604 38030001 */ addi r0, r3, 1 -/* 058068 8005D608 90010084 */ stw r0, 0x84(r1) -/* 05806C 8005D60C 5460103A */ slwi r0, r3, 2 -/* 058070 8005D610 7C9F012E */ stwx r4, r31, r0 -/* 058074 8005D614 48000010 */ b lbl_8005D624 -lbl_8005D618: -/* 058078 8005D618 80610084 */ lwz r3, 0x84(r1) -/* 05807C 8005D61C 38030001 */ addi r0, r3, 1 -/* 058080 8005D620 90010084 */ stw r0, 0x84(r1) -lbl_8005D624: -/* 058084 8005D624 281F0000 */ cmplwi r31, 0 -/* 058088 8005D628 41820024 */ beq lbl_8005D64C -/* 05808C 8005D62C 80610084 */ lwz r3, 0x84(r1) -/* 058090 8005D630 57A0043E */ clrlwi r0, r29, 0x10 -/* 058094 8005D634 640460A5 */ oris r4, r0, 0x60a5 -/* 058098 8005D638 38030001 */ addi r0, r3, 1 -/* 05809C 8005D63C 90010084 */ stw r0, 0x84(r1) -/* 0580A0 8005D640 5460103A */ slwi r0, r3, 2 -/* 0580A4 8005D644 7C9F012E */ stwx r4, r31, r0 -/* 0580A8 8005D648 48000010 */ b lbl_8005D658 -lbl_8005D64C: -/* 0580AC 8005D64C 80610084 */ lwz r3, 0x84(r1) -/* 0580B0 8005D650 38030001 */ addi r0, r3, 1 -/* 0580B4 8005D654 90010084 */ stw r0, 0x84(r1) -lbl_8005D658: -/* 0580B8 8005D658 281F0000 */ cmplwi r31, 0 -/* 0580BC 8005D65C 41820034 */ beq lbl_8005D690 -/* 0580C0 8005D660 80610084 */ lwz r3, 0x84(r1) -/* 0580C4 8005D664 801E0B40 */ lwz r0, 0xb40(r30) -/* 0580C8 8005D668 5465103A */ slwi r5, r3, 2 -/* 0580CC 8005D66C 7C9F2A14 */ add r4, r31, r5 -/* 0580D0 8005D670 7C040050 */ subf r0, r4, r0 -/* 0580D4 8005D674 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 0580D8 8005D678 38630001 */ addi r3, r3, 1 -/* 0580DC 8005D67C 64004800 */ oris r0, r0, 0x4800 -/* 0580E0 8005D680 90610084 */ stw r3, 0x84(r1) -/* 0580E4 8005D684 60000001 */ ori r0, r0, 1 -/* 0580E8 8005D688 7C1F292E */ stwx r0, r31, r5 -/* 0580EC 8005D68C 48000010 */ b lbl_8005D69C -lbl_8005D690: -/* 0580F0 8005D690 80610084 */ lwz r3, 0x84(r1) -/* 0580F4 8005D694 38030001 */ addi r0, r3, 1 -/* 0580F8 8005D698 90010084 */ stw r0, 0x84(r1) -lbl_8005D69C: -/* 0580FC 8005D69C 281F0000 */ cmplwi r31, 0 -/* 058100 8005D6A0 41820024 */ beq lbl_8005D6C4 -/* 058104 8005D6A4 80610084 */ lwz r3, 0x84(r1) -/* 058108 8005D6A8 3C8038C1 */ lis r4, 0x38c1 -/* 05810C 8005D6AC 3884FFFF */ addi r4, r4, -1 -/* 058110 8005D6B0 38030001 */ addi r0, r3, 1 -/* 058114 8005D6B4 90010084 */ stw r0, 0x84(r1) -/* 058118 8005D6B8 5460103A */ slwi r0, r3, 2 -/* 05811C 8005D6BC 7C9F012E */ stwx r4, r31, r0 -/* 058120 8005D6C0 48000010 */ b lbl_8005D6D0 -lbl_8005D6C4: -/* 058124 8005D6C4 80610084 */ lwz r3, 0x84(r1) -/* 058128 8005D6C8 38030001 */ addi r0, r3, 1 -/* 05812C 8005D6CC 90010084 */ stw r0, 0x84(r1) -lbl_8005D6D0: -/* 058130 8005D6D0 281F0000 */ cmplwi r31, 0 -/* 058134 8005D6D4 41820028 */ beq lbl_8005D6FC -/* 058138 8005D6D8 80610084 */ lwz r3, 0x84(r1) -/* 05813C 8005D6DC 381E002C */ addi r0, r30, 0x2c -/* 058140 8005D6E0 7C9E0050 */ subf r4, r30, r0 -/* 058144 8005D6E4 38030001 */ addi r0, r3, 1 -/* 058148 8005D6E8 90010084 */ stw r0, 0x84(r1) -/* 05814C 8005D6EC 3C0490C3 */ addis r0, r4, 0x90c3 -/* 058150 8005D6F0 5463103A */ slwi r3, r3, 2 -/* 058154 8005D6F4 7C1F192E */ stwx r0, r31, r3 -/* 058158 8005D6F8 480000F4 */ b lbl_8005D7EC -lbl_8005D6FC: -/* 05815C 8005D6FC 80610084 */ lwz r3, 0x84(r1) -/* 058160 8005D700 38030001 */ addi r0, r3, 1 -/* 058164 8005D704 90010084 */ stw r0, 0x84(r1) -/* 058168 8005D708 480000E4 */ b lbl_8005D7EC -lbl_8005D70C: -/* 05816C 8005D70C 281F0000 */ cmplwi r31, 0 -/* 058170 8005D710 41820024 */ beq lbl_8005D734 -/* 058174 8005D714 80610084 */ lwz r3, 0x84(r1) -/* 058178 8005D718 3C804280 */ lis r4, 0x4280 -/* 05817C 8005D71C 38840010 */ addi r4, r4, 0x10 -/* 058180 8005D720 38030001 */ addi r0, r3, 1 -/* 058184 8005D724 90010084 */ stw r0, 0x84(r1) -/* 058188 8005D728 5460103A */ slwi r0, r3, 2 -/* 05818C 8005D72C 7C9F012E */ stwx r4, r31, r0 -/* 058190 8005D730 48000010 */ b lbl_8005D740 -lbl_8005D734: -/* 058194 8005D734 80610084 */ lwz r3, 0x84(r1) -/* 058198 8005D738 38030001 */ addi r0, r3, 1 -/* 05819C 8005D73C 90010084 */ stw r0, 0x84(r1) -lbl_8005D740: -/* 0581A0 8005D740 281F0000 */ cmplwi r31, 0 -/* 0581A4 8005D744 41820024 */ beq lbl_8005D768 -/* 0581A8 8005D748 80610084 */ lwz r3, 0x84(r1) -/* 0581AC 8005D74C 57A0843E */ srwi r0, r29, 0x10 -/* 0581B0 8005D750 64043CA0 */ oris r4, r0, 0x3ca0 -/* 0581B4 8005D754 38030001 */ addi r0, r3, 1 -/* 0581B8 8005D758 90010084 */ stw r0, 0x84(r1) -/* 0581BC 8005D75C 5460103A */ slwi r0, r3, 2 -/* 0581C0 8005D760 7C9F012E */ stwx r4, r31, r0 -/* 0581C4 8005D764 48000010 */ b lbl_8005D774 -lbl_8005D768: -/* 0581C8 8005D768 80610084 */ lwz r3, 0x84(r1) -/* 0581CC 8005D76C 38030001 */ addi r0, r3, 1 -/* 0581D0 8005D770 90010084 */ stw r0, 0x84(r1) -lbl_8005D774: -/* 0581D4 8005D774 281F0000 */ cmplwi r31, 0 -/* 0581D8 8005D778 41820024 */ beq lbl_8005D79C -/* 0581DC 8005D77C 80610084 */ lwz r3, 0x84(r1) -/* 0581E0 8005D780 57A0043E */ clrlwi r0, r29, 0x10 -/* 0581E4 8005D784 640460A5 */ oris r4, r0, 0x60a5 -/* 0581E8 8005D788 38030001 */ addi r0, r3, 1 -/* 0581EC 8005D78C 90010084 */ stw r0, 0x84(r1) -/* 0581F0 8005D790 5460103A */ slwi r0, r3, 2 -/* 0581F4 8005D794 7C9F012E */ stwx r4, r31, r0 -/* 0581F8 8005D798 48000010 */ b lbl_8005D7A8 -lbl_8005D79C: -/* 0581FC 8005D79C 80610084 */ lwz r3, 0x84(r1) -/* 058200 8005D7A0 38030001 */ addi r0, r3, 1 -/* 058204 8005D7A4 90010084 */ stw r0, 0x84(r1) -lbl_8005D7A8: -/* 058208 8005D7A8 281F0000 */ cmplwi r31, 0 -/* 05820C 8005D7AC 41820034 */ beq lbl_8005D7E0 -/* 058210 8005D7B0 80610084 */ lwz r3, 0x84(r1) -/* 058214 8005D7B4 801E0B40 */ lwz r0, 0xb40(r30) -/* 058218 8005D7B8 5465103A */ slwi r5, r3, 2 -/* 05821C 8005D7BC 7C9F2A14 */ add r4, r31, r5 -/* 058220 8005D7C0 7C040050 */ subf r0, r4, r0 -/* 058224 8005D7C4 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 058228 8005D7C8 38630001 */ addi r3, r3, 1 -/* 05822C 8005D7CC 64004800 */ oris r0, r0, 0x4800 -/* 058230 8005D7D0 90610084 */ stw r3, 0x84(r1) -/* 058234 8005D7D4 60000001 */ ori r0, r0, 1 -/* 058238 8005D7D8 7C1F292E */ stwx r0, r31, r5 -/* 05823C 8005D7DC 48000010 */ b lbl_8005D7EC -lbl_8005D7E0: -/* 058240 8005D7E0 80610084 */ lwz r3, 0x84(r1) -/* 058244 8005D7E4 38030001 */ addi r0, r3, 1 -/* 058248 8005D7E8 90010084 */ stw r0, 0x84(r1) -lbl_8005D7EC: -/* 05824C 8005D7EC 3C7E0001 */ addis r3, r30, 1 -/* 058250 8005D7F0 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 058254 8005D7F4 80A32058 */ lwz r5, 0x2058(r3) -/* 058258 8005D7F8 38800001 */ li r4, 1 -/* 05825C 8005D7FC 7C800030 */ slw r0, r4, r0 -/* 058260 8005D800 7CA00078 */ andc r0, r5, r0 -/* 058264 8005D804 90032058 */ stw r0, 0x2058(r3) -/* 058268 8005D808 4800A72C */ b lbl_80067F34 -.global lbl_8005D80C -lbl_8005D80C: -/* 05826C 8005D80C 3C7E0001 */ addis r3, r30, 1 -/* 058270 8005D810 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 058274 8005D814 80632058 */ lwz r3, 0x2058(r3) -/* 058278 8005D818 38800001 */ li r4, 1 -/* 05827C 8005D81C 7C840030 */ slw r4, r4, r0 -/* 058280 8005D820 7C632039 */ and. r3, r3, r4 -/* 058284 8005D824 418203B0 */ beq lbl_8005DBD4 -/* 058288 8005D828 281F0000 */ cmplwi r31, 0 -/* 05828C 8005D82C 41820024 */ beq lbl_8005D850 -/* 058290 8005D830 80810084 */ lwz r4, 0x84(r1) -/* 058294 8005D834 3C609422 */ lis r3, 0x9422 -/* 058298 8005D838 38A3FFE8 */ addi r5, r3, -24 -/* 05829C 8005D83C 38640001 */ addi r3, r4, 1 -/* 0582A0 8005D840 90610084 */ stw r3, 0x84(r1) -/* 0582A4 8005D844 5483103A */ slwi r3, r4, 2 -/* 0582A8 8005D848 7CBF192E */ stwx r5, r31, r3 -/* 0582AC 8005D84C 48000010 */ b lbl_8005D85C -lbl_8005D850: -/* 0582B0 8005D850 80610084 */ lwz r3, 0x84(r1) -/* 0582B4 8005D854 38630001 */ addi r3, r3, 1 -/* 0582B8 8005D858 90610084 */ stw r3, 0x84(r1) -lbl_8005D85C: -/* 0582BC 8005D85C 281F0000 */ cmplwi r31, 0 -/* 0582C0 8005D860 41820024 */ beq lbl_8005D884 -/* 0582C4 8005D864 80810084 */ lwz r4, 0x84(r1) -/* 0582C8 8005D868 3C609121 */ lis r3, 0x9121 -/* 0582CC 8005D86C 38A30008 */ addi r5, r3, 8 -/* 0582D0 8005D870 38640001 */ addi r3, r4, 1 -/* 0582D4 8005D874 90610084 */ stw r3, 0x84(r1) -/* 0582D8 8005D878 5483103A */ slwi r3, r4, 2 -/* 0582DC 8005D87C 7CBF192E */ stwx r5, r31, r3 -/* 0582E0 8005D880 48000010 */ b lbl_8005D890 -lbl_8005D884: -/* 0582E4 8005D884 80610084 */ lwz r3, 0x84(r1) -/* 0582E8 8005D888 38630001 */ addi r3, r3, 1 -/* 0582EC 8005D88C 90610084 */ stw r3, 0x84(r1) -lbl_8005D890: -/* 0582F0 8005D890 281F0000 */ cmplwi r31, 0 -/* 0582F4 8005D894 41820024 */ beq lbl_8005D8B8 -/* 0582F8 8005D898 80810084 */ lwz r4, 0x84(r1) -/* 0582FC 8005D89C 3C609141 */ lis r3, 0x9141 -/* 058300 8005D8A0 38A30010 */ addi r5, r3, 0x10 -/* 058304 8005D8A4 38640001 */ addi r3, r4, 1 -/* 058308 8005D8A8 90610084 */ stw r3, 0x84(r1) -/* 05830C 8005D8AC 5483103A */ slwi r3, r4, 2 -/* 058310 8005D8B0 7CBF192E */ stwx r5, r31, r3 -/* 058314 8005D8B4 48000010 */ b lbl_8005D8C4 -lbl_8005D8B8: -/* 058318 8005D8B8 80610084 */ lwz r3, 0x84(r1) -/* 05831C 8005D8BC 38630001 */ addi r3, r3, 1 -/* 058320 8005D8C0 90610084 */ stw r3, 0x84(r1) -lbl_8005D8C4: -/* 058324 8005D8C4 5403103A */ slwi r3, r0, 2 -/* 058328 8005D8C8 7C7A1A14 */ add r3, r26, r3 -/* 05832C 8005D8CC 80630818 */ lwz r3, 0x818(r3) -/* 058330 8005D8D0 546405EF */ rlwinm. r4, r3, 0, 0x17, 0x17 -/* 058334 8005D8D4 4182004C */ beq lbl_8005D920 -/* 058338 8005D8D8 281F0000 */ cmplwi r31, 0 -/* 05833C 8005D8DC 41820034 */ beq lbl_8005D910 -/* 058340 8005D8E0 54041838 */ slwi r4, r0, 3 -/* 058344 8005D8E4 80610084 */ lwz r3, 0x84(r1) -/* 058348 8005D8E8 38040040 */ addi r0, r4, 0x40 -/* 05834C 8005D8EC 7C1E0214 */ add r0, r30, r0 -/* 058350 8005D8F0 7C9E0050 */ subf r4, r30, r0 -/* 058354 8005D8F4 38030001 */ addi r0, r3, 1 -/* 058358 8005D8F8 3C8480A3 */ addis r4, r4, 0x80a3 -/* 05835C 8005D8FC 90010084 */ stw r0, 0x84(r1) -/* 058360 8005D900 38040004 */ addi r0, r4, 4 -/* 058364 8005D904 5463103A */ slwi r3, r3, 2 -/* 058368 8005D908 7C1F192E */ stwx r0, r31, r3 -/* 05836C 8005D90C 48000054 */ b lbl_8005D960 -lbl_8005D910: -/* 058370 8005D910 80610084 */ lwz r3, 0x84(r1) -/* 058374 8005D914 38030001 */ addi r0, r3, 1 -/* 058378 8005D918 90010084 */ stw r0, 0x84(r1) -/* 05837C 8005D91C 48000044 */ b lbl_8005D960 -lbl_8005D920: -/* 058380 8005D920 281F0000 */ cmplwi r31, 0 -/* 058384 8005D924 41820030 */ beq lbl_8005D954 -/* 058388 8005D928 80810084 */ lwz r4, 0x84(r1) -/* 05838C 8005D92C 5460A814 */ slwi r0, r3, 0x15 -/* 058390 8005D930 64057C05 */ oris r5, r0, 0x7c05 -/* 058394 8005D934 38040001 */ addi r0, r4, 1 -/* 058398 8005D938 90010084 */ stw r0, 0x84(r1) -/* 05839C 8005D93C 60A50378 */ ori r5, r5, 0x378 -/* 0583A0 8005D940 54605828 */ slwi r0, r3, 0xb -/* 0583A4 8005D944 7CA00378 */ or r0, r5, r0 -/* 0583A8 8005D948 5483103A */ slwi r3, r4, 2 -/* 0583AC 8005D94C 7C1F192E */ stwx r0, r31, r3 -/* 0583B0 8005D950 48000010 */ b lbl_8005D960 -lbl_8005D954: -/* 0583B4 8005D954 80610084 */ lwz r3, 0x84(r1) -/* 0583B8 8005D958 38030001 */ addi r0, r3, 1 -/* 0583BC 8005D95C 90010084 */ stw r0, 0x84(r1) -lbl_8005D960: -/* 0583C0 8005D960 281F0000 */ cmplwi r31, 0 -/* 0583C4 8005D964 41820024 */ beq lbl_8005D988 -/* 0583C8 8005D968 80610084 */ lwz r3, 0x84(r1) -/* 0583CC 8005D96C 3C807CE5 */ lis r4, 0x7ce5 -/* 0583D0 8005D970 38844214 */ addi r4, r4, 0x4214 -/* 0583D4 8005D974 38030001 */ addi r0, r3, 1 -/* 0583D8 8005D978 90010084 */ stw r0, 0x84(r1) -/* 0583DC 8005D97C 5460103A */ slwi r0, r3, 2 -/* 0583E0 8005D980 7C9F012E */ stwx r4, r31, r0 -/* 0583E4 8005D984 48000010 */ b lbl_8005D994 -lbl_8005D988: -/* 0583E8 8005D988 80610084 */ lwz r3, 0x84(r1) -/* 0583EC 8005D98C 38030001 */ addi r0, r3, 1 -/* 0583F0 8005D990 90010084 */ stw r0, 0x84(r1) -lbl_8005D994: -/* 0583F4 8005D994 281F0000 */ cmplwi r31, 0 -/* 0583F8 8005D998 41820024 */ beq lbl_8005D9BC -/* 0583FC 8005D99C 80610084 */ lwz r3, 0x84(r1) -/* 058400 8005D9A0 5780043E */ clrlwi r0, r28, 0x10 -/* 058404 8005D9A4 640438E7 */ oris r4, r0, 0x38e7 -/* 058408 8005D9A8 38030001 */ addi r0, r3, 1 -/* 05840C 8005D9AC 90010084 */ stw r0, 0x84(r1) -/* 058410 8005D9B0 5460103A */ slwi r0, r3, 2 -/* 058414 8005D9B4 7C9F012E */ stwx r4, r31, r0 -/* 058418 8005D9B8 48000010 */ b lbl_8005D9C8 -lbl_8005D9BC: -/* 05841C 8005D9BC 80610084 */ lwz r3, 0x84(r1) -/* 058420 8005D9C0 38030001 */ addi r0, r3, 1 -/* 058424 8005D9C4 90010084 */ stw r0, 0x84(r1) -lbl_8005D9C8: -/* 058428 8005D9C8 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 05842C 8005D9CC 7C9A0214 */ add r4, r26, r0 -/* 058430 8005D9D0 84C40818 */ lwzu r6, 0x818(r4) -/* 058434 8005D9D4 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 058438 8005D9D8 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 05843C 8005D9DC 4182004C */ beq lbl_8005DA28 -/* 058440 8005D9E0 281F0000 */ cmplwi r31, 0 -/* 058444 8005D9E4 41820034 */ beq lbl_8005DA18 -/* 058448 8005D9E8 54E51838 */ slwi r5, r7, 3 -/* 05844C 8005D9EC 80610084 */ lwz r3, 0x84(r1) -/* 058450 8005D9F0 38050040 */ addi r0, r5, 0x40 -/* 058454 8005D9F4 7C1E0214 */ add r0, r30, r0 -/* 058458 8005D9F8 7CBE0050 */ subf r5, r30, r0 -/* 05845C 8005D9FC 38030001 */ addi r0, r3, 1 -/* 058460 8005DA00 3CA58123 */ addis r5, r5, 0x8123 -/* 058464 8005DA04 90010084 */ stw r0, 0x84(r1) -/* 058468 8005DA08 38050004 */ addi r0, r5, 4 -/* 05846C 8005DA0C 5463103A */ slwi r3, r3, 2 -/* 058470 8005DA10 7C1F192E */ stwx r0, r31, r3 -/* 058474 8005DA14 48000054 */ b lbl_8005DA68 -lbl_8005DA18: -/* 058478 8005DA18 80610084 */ lwz r3, 0x84(r1) -/* 05847C 8005DA1C 38030001 */ addi r0, r3, 1 -/* 058480 8005DA20 90010084 */ stw r0, 0x84(r1) -/* 058484 8005DA24 48000044 */ b lbl_8005DA68 -lbl_8005DA28: -/* 058488 8005DA28 281F0000 */ cmplwi r31, 0 -/* 05848C 8005DA2C 41820030 */ beq lbl_8005DA5C -/* 058490 8005DA30 80610084 */ lwz r3, 0x84(r1) -/* 058494 8005DA34 54C0A814 */ slwi r0, r6, 0x15 -/* 058498 8005DA38 64057C09 */ oris r5, r0, 0x7c09 -/* 05849C 8005DA3C 38030001 */ addi r0, r3, 1 -/* 0584A0 8005DA40 90010084 */ stw r0, 0x84(r1) -/* 0584A4 8005DA44 60A50378 */ ori r5, r5, 0x378 -/* 0584A8 8005DA48 54C05828 */ slwi r0, r6, 0xb -/* 0584AC 8005DA4C 7CA00378 */ or r0, r5, r0 -/* 0584B0 8005DA50 5463103A */ slwi r3, r3, 2 -/* 0584B4 8005DA54 7C1F192E */ stwx r0, r31, r3 -/* 0584B8 8005DA58 48000010 */ b lbl_8005DA68 -lbl_8005DA5C: -/* 0584BC 8005DA5C 80610084 */ lwz r3, 0x84(r1) -/* 0584C0 8005DA60 38030001 */ addi r0, r3, 1 -/* 0584C4 8005DA64 90010084 */ stw r0, 0x84(r1) -lbl_8005DA68: -/* 0584C8 8005DA68 281F0000 */ cmplwi r31, 0 -/* 0584CC 8005DA6C 41820034 */ beq lbl_8005DAA0 -/* 0584D0 8005DA70 80610084 */ lwz r3, 0x84(r1) -/* 0584D4 8005DA74 800D8A78 */ lwz r0, cpuCompile_LWL_function@sda21(r13) -/* 0584D8 8005DA78 5466103A */ slwi r6, r3, 2 -/* 0584DC 8005DA7C 7CBF3214 */ add r5, r31, r6 -/* 0584E0 8005DA80 7C050050 */ subf r0, r5, r0 -/* 0584E4 8005DA84 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 0584E8 8005DA88 38630001 */ addi r3, r3, 1 -/* 0584EC 8005DA8C 64004800 */ oris r0, r0, 0x4800 -/* 0584F0 8005DA90 90610084 */ stw r3, 0x84(r1) -/* 0584F4 8005DA94 60000001 */ ori r0, r0, 1 -/* 0584F8 8005DA98 7C1F312E */ stwx r0, r31, r6 -/* 0584FC 8005DA9C 48000010 */ b lbl_8005DAAC -lbl_8005DAA0: -/* 058500 8005DAA0 80610084 */ lwz r3, 0x84(r1) -/* 058504 8005DAA4 38030001 */ addi r0, r3, 1 -/* 058508 8005DAA8 90010084 */ stw r0, 0x84(r1) -lbl_8005DAAC: -/* 05850C 8005DAAC 80040000 */ lwz r0, 0(r4) -/* 058510 8005DAB0 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 058514 8005DAB4 4182004C */ beq lbl_8005DB00 -/* 058518 8005DAB8 281F0000 */ cmplwi r31, 0 -/* 05851C 8005DABC 41820034 */ beq lbl_8005DAF0 -/* 058520 8005DAC0 54E41838 */ slwi r4, r7, 3 -/* 058524 8005DAC4 80610084 */ lwz r3, 0x84(r1) -/* 058528 8005DAC8 38040040 */ addi r0, r4, 0x40 -/* 05852C 8005DACC 7C1E0214 */ add r0, r30, r0 -/* 058530 8005DAD0 7C9E0050 */ subf r4, r30, r0 -/* 058534 8005DAD4 38030001 */ addi r0, r3, 1 -/* 058538 8005DAD8 3C849123 */ addis r4, r4, 0x9123 -/* 05853C 8005DADC 90010084 */ stw r0, 0x84(r1) -/* 058540 8005DAE0 38040004 */ addi r0, r4, 4 -/* 058544 8005DAE4 5463103A */ slwi r3, r3, 2 -/* 058548 8005DAE8 7C1F192E */ stwx r0, r31, r3 -/* 05854C 8005DAEC 4800004C */ b lbl_8005DB38 -lbl_8005DAF0: -/* 058550 8005DAF0 80610084 */ lwz r3, 0x84(r1) -/* 058554 8005DAF4 38030001 */ addi r0, r3, 1 -/* 058558 8005DAF8 90010084 */ stw r0, 0x84(r1) -/* 05855C 8005DAFC 4800003C */ b lbl_8005DB38 -lbl_8005DB00: -/* 058560 8005DB00 281F0000 */ cmplwi r31, 0 -/* 058564 8005DB04 41820028 */ beq lbl_8005DB2C -/* 058568 8005DB08 80610084 */ lwz r3, 0x84(r1) -/* 05856C 8005DB0C 5400801E */ slwi r0, r0, 0x10 -/* 058570 8005DB10 64047D20 */ oris r4, r0, 0x7d20 -/* 058574 8005DB14 38030001 */ addi r0, r3, 1 -/* 058578 8005DB18 90010084 */ stw r0, 0x84(r1) -/* 05857C 8005DB1C 60844B78 */ ori r4, r4, 0x4b78 -/* 058580 8005DB20 5460103A */ slwi r0, r3, 2 -/* 058584 8005DB24 7C9F012E */ stwx r4, r31, r0 -/* 058588 8005DB28 48000010 */ b lbl_8005DB38 -lbl_8005DB2C: -/* 05858C 8005DB2C 80610084 */ lwz r3, 0x84(r1) -/* 058590 8005DB30 38030001 */ addi r0, r3, 1 -/* 058594 8005DB34 90010084 */ stw r0, 0x84(r1) -lbl_8005DB38: -/* 058598 8005DB38 281F0000 */ cmplwi r31, 0 -/* 05859C 8005DB3C 41820024 */ beq lbl_8005DB60 -/* 0585A0 8005DB40 80610084 */ lwz r3, 0x84(r1) -/* 0585A4 8005DB44 3C808121 */ lis r4, 0x8121 -/* 0585A8 8005DB48 38840008 */ addi r4, r4, 8 -/* 0585AC 8005DB4C 38030001 */ addi r0, r3, 1 -/* 0585B0 8005DB50 90010084 */ stw r0, 0x84(r1) -/* 0585B4 8005DB54 5460103A */ slwi r0, r3, 2 -/* 0585B8 8005DB58 7C9F012E */ stwx r4, r31, r0 -/* 0585BC 8005DB5C 48000010 */ b lbl_8005DB6C -lbl_8005DB60: -/* 0585C0 8005DB60 80610084 */ lwz r3, 0x84(r1) -/* 0585C4 8005DB64 38030001 */ addi r0, r3, 1 -/* 0585C8 8005DB68 90010084 */ stw r0, 0x84(r1) -lbl_8005DB6C: -/* 0585CC 8005DB6C 281F0000 */ cmplwi r31, 0 -/* 0585D0 8005DB70 41820024 */ beq lbl_8005DB94 -/* 0585D4 8005DB74 80610084 */ lwz r3, 0x84(r1) -/* 0585D8 8005DB78 3C808141 */ lis r4, 0x8141 -/* 0585DC 8005DB7C 38840010 */ addi r4, r4, 0x10 -/* 0585E0 8005DB80 38030001 */ addi r0, r3, 1 -/* 0585E4 8005DB84 90010084 */ stw r0, 0x84(r1) -/* 0585E8 8005DB88 5460103A */ slwi r0, r3, 2 -/* 0585EC 8005DB8C 7C9F012E */ stwx r4, r31, r0 -/* 0585F0 8005DB90 48000010 */ b lbl_8005DBA0 -lbl_8005DB94: -/* 0585F4 8005DB94 80610084 */ lwz r3, 0x84(r1) -/* 0585F8 8005DB98 38030001 */ addi r0, r3, 1 -/* 0585FC 8005DB9C 90010084 */ stw r0, 0x84(r1) -lbl_8005DBA0: -/* 058600 8005DBA0 281F0000 */ cmplwi r31, 0 -/* 058604 8005DBA4 41820024 */ beq lbl_8005DBC8 -/* 058608 8005DBA8 80610084 */ lwz r3, 0x84(r1) -/* 05860C 8005DBAC 3C803821 */ lis r4, 0x3821 -/* 058610 8005DBB0 38840018 */ addi r4, r4, 0x18 -/* 058614 8005DBB4 38030001 */ addi r0, r3, 1 -/* 058618 8005DBB8 90010084 */ stw r0, 0x84(r1) -/* 05861C 8005DBBC 5460103A */ slwi r0, r3, 2 -/* 058620 8005DBC0 7C9F012E */ stwx r4, r31, r0 -/* 058624 8005DBC4 48000010 */ b lbl_8005DBD4 -lbl_8005DBC8: -/* 058628 8005DBC8 80610084 */ lwz r3, 0x84(r1) -/* 05862C 8005DBCC 38030001 */ addi r0, r3, 1 -/* 058630 8005DBD0 90010084 */ stw r0, 0x84(r1) -lbl_8005DBD4: -/* 058634 8005DBD4 3C7E0001 */ addis r3, r30, 1 -/* 058638 8005DBD8 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 05863C 8005DBDC 80A32058 */ lwz r5, 0x2058(r3) -/* 058640 8005DBE0 38800001 */ li r4, 1 -/* 058644 8005DBE4 7C800030 */ slw r0, r4, r0 -/* 058648 8005DBE8 7CA00078 */ andc r0, r5, r0 -/* 05864C 8005DBEC 90032058 */ stw r0, 0x2058(r3) -/* 058650 8005DBF0 4800A344 */ b lbl_80067F34 -.global lbl_8005DBF4 -lbl_8005DBF4: -/* 058654 8005DBF4 5783001E */ rlwinm r3, r28, 0, 0, 0xf -/* 058658 8005DBF8 3C037041 */ addis r0, r3, 0x7041 -/* 05865C 8005DBFC 28000000 */ cmplwi r0, 0 -/* 058660 8005DC00 4082004C */ bne lbl_8005DC4C -/* 058664 8005DC04 3C7E0001 */ addis r3, r30, 1 -/* 058668 8005DC08 8003205C */ lwz r0, 0x205c(r3) -/* 05866C 8005DC0C 5404077B */ rlwinm. r4, r0, 0, 0x1d, 0x1d -/* 058670 8005DC10 4182003C */ beq lbl_8005DC4C -/* 058674 8005DC14 5404843E */ srwi r4, r0, 0x10 -/* 058678 8005DC18 5785043E */ clrlwi r5, r28, 0x10 -/* 05867C 8005DC1C 7C042840 */ cmplw r4, r5 -/* 058680 8005DC20 4082002C */ bne lbl_8005DC4C -/* 058684 8005DC24 540007FA */ rlwinm r0, r0, 0, 0x1f, 0x1d -/* 058688 8005DC28 2C130457 */ cmpwi r19, 0x457 -/* 05868C 8005DC2C 9003205C */ stw r0, 0x205c(r3) -/* 058690 8005DC30 4182001C */ beq lbl_8005DC4C -/* 058694 8005DC34 8003205C */ lwz r0, 0x205c(r3) -/* 058698 8005DC38 540007B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 05869C 8005DC3C 9003205C */ stw r0, 0x205c(r3) -/* 0586A0 8005DC40 8003205C */ lwz r0, 0x205c(r3) -/* 0586A4 8005DC44 5400043E */ clrlwi r0, r0, 0x10 -/* 0586A8 8005DC48 9003205C */ stw r0, 0x205c(r3) -lbl_8005DC4C: -/* 0586AC 8005DC4C 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 0586B0 8005DC50 80030020 */ lwz r0, 0x20(r3) -/* 0586B4 8005DC54 2C000005 */ cmpwi r0, 5 -/* 0586B8 8005DC58 40820128 */ bne lbl_8005DD80 -/* 0586BC 8005DC5C 3C1C7041 */ addis r0, r28, 0x7041 -/* 0586C0 8005DC60 28000014 */ cmplwi r0, 0x14 -/* 0586C4 8005DC64 40820074 */ bne lbl_8005DCD8 -/* 0586C8 8005DC68 28170000 */ cmplwi r23, 0 -/* 0586CC 8005DC6C 4082006C */ bne lbl_8005DCD8 -/* 0586D0 8005DC70 3C18D843 */ addis r0, r24, 0xd843 -/* 0586D4 8005DC74 28000018 */ cmplwi r0, 0x18 -/* 0586D8 8005DC78 40820060 */ bne lbl_8005DCD8 -/* 0586DC 8005DC7C 3C7D7FE8 */ addis r3, r29, 0x7fe8 -/* 0586E0 8005DC80 2803570C */ cmplwi r3, 0x570c -/* 0586E4 8005DC84 41820040 */ beq lbl_8005DCC4 -/* 0586E8 8005DC88 2803628C */ cmplwi r3, 0x628c -/* 0586EC 8005DC8C 41820038 */ beq lbl_8005DCC4 -/* 0586F0 8005DC90 3C1D7FE9 */ addis r0, r29, 0x7fe9 -/* 0586F4 8005DC94 2800FB5C */ cmplwi r0, 0xfb5c -/* 0586F8 8005DC98 4182002C */ beq lbl_8005DCC4 -/* 0586FC 8005DC9C 2803624C */ cmplwi r3, 0x624c -/* 058700 8005DCA0 41820024 */ beq lbl_8005DCC4 -/* 058704 8005DCA4 3C1D7FE4 */ addis r0, r29, 0x7fe4 -/* 058708 8005DCA8 28000F14 */ cmplwi r0, 0xf14 -/* 05870C 8005DCAC 41820018 */ beq lbl_8005DCC4 -/* 058710 8005DCB0 3C1D7FE5 */ addis r0, r29, 0x7fe5 -/* 058714 8005DCB4 28009DF4 */ cmplwi r0, 0x9df4 -/* 058718 8005DCB8 4182000C */ beq lbl_8005DCC4 -/* 05871C 8005DCBC 28009D94 */ cmplwi r0, 0x9d94 -/* 058720 8005DCC0 40820138 */ bne lbl_8005DDF8 -lbl_8005DCC4: -/* 058724 8005DCC4 3C7E0001 */ addis r3, r30, 1 -/* 058728 8005DCC8 8003205C */ lwz r0, 0x205c(r3) -/* 05872C 8005DCCC 60000002 */ ori r0, r0, 2 -/* 058730 8005DCD0 9003205C */ stw r0, 0x205c(r3) -/* 058734 8005DCD4 48000124 */ b lbl_8005DDF8 -lbl_8005DCD8: -/* 058738 8005DCD8 3C1C7041 */ addis r0, r28, 0x7041 -/* 05873C 8005DCDC 28000014 */ cmplwi r0, 0x14 -/* 058740 8005DCE0 40820030 */ bne lbl_8005DD10 -/* 058744 8005DCE4 3C17DB1C */ addis r0, r23, 0xdb1c -/* 058748 8005DCE8 28000014 */ cmplwi r0, 0x14 -/* 05874C 8005DCEC 40820024 */ bne lbl_8005DD10 -/* 058750 8005DCF0 3C18D843 */ addis r0, r24, 0xd843 -/* 058754 8005DCF4 28000018 */ cmplwi r0, 0x18 -/* 058758 8005DCF8 40820018 */ bne lbl_8005DD10 -/* 05875C 8005DCFC 3C7E0001 */ addis r3, r30, 1 -/* 058760 8005DD00 8003205C */ lwz r0, 0x205c(r3) -/* 058764 8005DD04 60000002 */ ori r0, r0, 2 -/* 058768 8005DD08 9003205C */ stw r0, 0x205c(r3) -/* 05876C 8005DD0C 480000EC */ b lbl_8005DDF8 -lbl_8005DD10: -/* 058770 8005DD10 3C1C7041 */ addis r0, r28, 0x7041 -/* 058774 8005DD14 28000014 */ cmplwi r0, 0x14 -/* 058778 8005DD18 40820030 */ bne lbl_8005DD48 -/* 05877C 8005DD1C 3C17FFA0 */ addis r0, r23, 0xffa0 -/* 058780 8005DD20 28003025 */ cmplwi r0, 0x3025 -/* 058784 8005DD24 40820024 */ bne lbl_8005DD48 -/* 058788 8005DD28 3C18D843 */ addis r0, r24, 0xd843 -/* 05878C 8005DD2C 28000050 */ cmplwi r0, 0x50 -/* 058790 8005DD30 40820018 */ bne lbl_8005DD48 -/* 058794 8005DD34 3C7E0001 */ addis r3, r30, 1 -/* 058798 8005DD38 8003205C */ lwz r0, 0x205c(r3) -/* 05879C 8005DD3C 60000002 */ ori r0, r0, 2 -/* 0587A0 8005DD40 9003205C */ stw r0, 0x205c(r3) -/* 0587A4 8005DD44 480000B4 */ b lbl_8005DDF8 -lbl_8005DD48: -/* 0587A8 8005DD48 3C1C7041 */ addis r0, r28, 0x7041 -/* 0587AC 8005DD4C 2800001C */ cmplwi r0, 0x1c -/* 0587B0 8005DD50 408200A8 */ bne lbl_8005DDF8 -/* 0587B4 8005DD54 3C17DB7C */ addis r0, r23, 0xdb7c -/* 0587B8 8005DD58 280019C4 */ cmplwi r0, 0x19c4 -/* 0587BC 8005DD5C 4082009C */ bne lbl_8005DDF8 -/* 0587C0 8005DD60 3C187050 */ addis r0, r24, 0x7050 -/* 0587C4 8005DD64 28000018 */ cmplwi r0, 0x18 -/* 0587C8 8005DD68 40820090 */ bne lbl_8005DDF8 -/* 0587CC 8005DD6C 3C7E0001 */ addis r3, r30, 1 -/* 0587D0 8005DD70 8003205C */ lwz r0, 0x205c(r3) -/* 0587D4 8005DD74 60000002 */ ori r0, r0, 2 -/* 0587D8 8005DD78 9003205C */ stw r0, 0x205c(r3) -/* 0587DC 8005DD7C 4800007C */ b lbl_8005DDF8 -lbl_8005DD80: -/* 0587E0 8005DD80 2C000008 */ cmpwi r0, 8 -/* 0587E4 8005DD84 4082003C */ bne lbl_8005DDC0 -/* 0587E8 8005DD88 3C1C7361 */ addis r0, r28, 0x7361 -/* 0587EC 8005DD8C 28000004 */ cmplwi r0, 4 -/* 0587F0 8005DD90 40820068 */ bne lbl_8005DDF8 -/* 0587F4 8005DD94 3C177363 */ addis r0, r23, 0x7363 -/* 0587F8 8005DD98 28000000 */ cmplwi r0, 0 -/* 0587FC 8005DD9C 4082005C */ bne lbl_8005DDF8 -/* 058800 8005DDA0 3C187370 */ addis r0, r24, 0x7370 -/* 058804 8005DDA4 28000008 */ cmplwi r0, 8 -/* 058808 8005DDA8 40820050 */ bne lbl_8005DDF8 -/* 05880C 8005DDAC 3C7E0001 */ addis r3, r30, 1 -/* 058810 8005DDB0 8003205C */ lwz r0, 0x205c(r3) -/* 058814 8005DDB4 60000002 */ ori r0, r0, 2 -/* 058818 8005DDB8 9003205C */ stw r0, 0x205c(r3) -/* 05881C 8005DDBC 4800003C */ b lbl_8005DDF8 -lbl_8005DDC0: -/* 058820 8005DDC0 2C000003 */ cmpwi r0, 3 -/* 058824 8005DDC4 40820034 */ bne lbl_8005DDF8 -/* 058828 8005DDC8 3C1C7041 */ addis r0, r28, 0x7041 -/* 05882C 8005DDCC 2800003C */ cmplwi r0, 0x3c -/* 058830 8005DDD0 40820028 */ bne lbl_8005DDF8 -/* 058834 8005DDD4 28170000 */ cmplwi r23, 0 -/* 058838 8005DDD8 40820020 */ bne lbl_8005DDF8 -/* 05883C 8005DDDC 3C18504E */ addis r0, r24, 0x504e -/* 058840 8005DDE0 28000040 */ cmplwi r0, 0x40 -/* 058844 8005DDE4 40820014 */ bne lbl_8005DDF8 -/* 058848 8005DDE8 3C7E0001 */ addis r3, r30, 1 -/* 05884C 8005DDEC 8003205C */ lwz r0, 0x205c(r3) -/* 058850 8005DDF0 60000002 */ ori r0, r0, 2 -/* 058854 8005DDF4 9003205C */ stw r0, 0x205c(r3) -lbl_8005DDF8: -/* 058858 8005DDF8 3C7E0001 */ addis r3, r30, 1 -/* 05885C 8005DDFC 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 058860 8005DE00 80032058 */ lwz r0, 0x2058(r3) -/* 058864 8005DE04 38800001 */ li r4, 1 -/* 058868 8005DE08 7C842830 */ slw r4, r4, r5 -/* 05886C 8005DE0C 7C002039 */ and. r0, r0, r4 -/* 058870 8005DE10 41820348 */ beq lbl_8005E158 -/* 058874 8005DE14 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 058878 8005DE18 7D1A0214 */ add r8, r26, r0 -/* 05887C 8005DE1C 84E80818 */ lwzu r7, 0x818(r8) -/* 058880 8005DE20 578A86FE */ rlwinm r10, r28, 0x10, 0x1b, 0x1f -/* 058884 8005DE24 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 058888 8005DE28 41820008 */ beq lbl_8005DE30 -/* 05888C 8005DE2C 38E00005 */ li r7, 5 -lbl_8005DE30: -/* 058890 8005DE30 54A0103A */ slwi r0, r5, 2 -/* 058894 8005DE34 7C7A0214 */ add r3, r26, r0 -/* 058898 8005DE38 81230818 */ lwz r9, 0x818(r3) -/* 05889C 8005DE3C 552005EF */ rlwinm. r0, r9, 0, 0x17, 0x17 -/* 0588A0 8005DE40 4182014C */ beq lbl_8005DF8C -/* 0588A4 8005DE44 3C7E0001 */ addis r3, r30, 1 -/* 0588A8 8005DE48 80032064 */ lwz r0, 0x2064(r3) -/* 0588AC 8005DE4C 39200006 */ li r9, 6 -/* 0588B0 8005DE50 28000000 */ cmplwi r0, 0 -/* 0588B4 8005DE54 4082000C */ bne lbl_8005DE60 -/* 0588B8 8005DE58 38000000 */ li r0, 0 -/* 0588BC 8005DE5C 48000094 */ b lbl_8005DEF0 -lbl_8005DE60: -/* 0588C0 8005DE60 80032068 */ lwz r0, 0x2068(r3) -/* 0588C4 8005DE64 28000000 */ cmplwi r0, 0 -/* 0588C8 8005DE68 4082000C */ bne lbl_8005DE74 -/* 0588CC 8005DE6C 38000000 */ li r0, 0 -/* 0588D0 8005DE70 48000080 */ b lbl_8005DEF0 -lbl_8005DE74: -/* 0588D4 8005DE74 8003206C */ lwz r0, 0x206c(r3) -/* 0588D8 8005DE78 7C050000 */ cmpw r5, r0 -/* 0588DC 8005DE7C 4182000C */ beq lbl_8005DE88 -/* 0588E0 8005DE80 38000000 */ li r0, 0 -/* 0588E4 8005DE84 4800006C */ b lbl_8005DEF0 -lbl_8005DE88: -/* 0588E8 8005DE88 80DE0034 */ lwz r6, 0x34(r30) -/* 0588EC 8005DE8C 38800000 */ li r4, 0 -/* 0588F0 8005DE90 80060008 */ lwz r0, 8(r6) -/* 0588F4 8005DE94 2C000000 */ cmpwi r0, 0 -/* 0588F8 8005DE98 7C0903A6 */ mtctr r0 -/* 0588FC 8005DE9C 40810028 */ ble lbl_8005DEC4 -lbl_8005DEA0: -/* 058900 8005DEA0 8066000C */ lwz r3, 0xc(r6) -/* 058904 8005DEA4 38040004 */ addi r0, r4, 4 -/* 058908 8005DEA8 7C03002E */ lwzx r0, r3, r0 -/* 05890C 8005DEAC 7C1D0000 */ cmpw r29, r0 -/* 058910 8005DEB0 4082000C */ bne lbl_8005DEBC -/* 058914 8005DEB4 38000000 */ li r0, 0 -/* 058918 8005DEB8 48000010 */ b lbl_8005DEC8 -lbl_8005DEBC: -/* 05891C 8005DEBC 38840008 */ addi r4, r4, 8 -/* 058920 8005DEC0 4200FFE0 */ bdnz lbl_8005DEA0 -lbl_8005DEC4: -/* 058924 8005DEC4 38000001 */ li r0, 1 -lbl_8005DEC8: -/* 058928 8005DEC8 2C000000 */ cmpwi r0, 0 -/* 05892C 8005DECC 40820014 */ bne lbl_8005DEE0 -/* 058930 8005DED0 38000000 */ li r0, 0 -/* 058934 8005DED4 3C7E0001 */ addis r3, r30, 1 -/* 058938 8005DED8 90032068 */ stw r0, 0x2068(r3) -/* 05893C 8005DEDC 48000014 */ b lbl_8005DEF0 -lbl_8005DEE0: -/* 058940 8005DEE0 3C7E0001 */ addis r3, r30, 1 -/* 058944 8005DEE4 38000000 */ li r0, 0 -/* 058948 8005DEE8 90032068 */ stw r0, 0x2068(r3) -/* 05894C 8005DEEC 38000001 */ li r0, 1 -lbl_8005DEF0: -/* 058950 8005DEF0 2C000000 */ cmpwi r0, 0 -/* 058954 8005DEF4 41820050 */ beq lbl_8005DF44 -/* 058958 8005DEF8 281F0000 */ cmplwi r31, 0 -/* 05895C 8005DEFC 41820038 */ beq lbl_8005DF34 -/* 058960 8005DF00 3C9E0001 */ addis r4, r30, 1 -/* 058964 8005DF04 80610084 */ lwz r3, 0x84(r1) -/* 058968 8005DF08 80842070 */ lwz r4, 0x2070(r4) -/* 05896C 8005DF0C 38C30001 */ addi r6, r3, 1 -/* 058970 8005DF10 5480A814 */ slwi r0, r4, 0x15 -/* 058974 8005DF14 90C10084 */ stw r6, 0x84(r1) -/* 058978 8005DF18 64007C06 */ oris r0, r0, 0x7c06 -/* 05897C 8005DF1C 54845828 */ slwi r4, r4, 0xb -/* 058980 8005DF20 60000378 */ ori r0, r0, 0x378 -/* 058984 8005DF24 7C800378 */ or r0, r4, r0 -/* 058988 8005DF28 5463103A */ slwi r3, r3, 2 -/* 05898C 8005DF2C 7C1F192E */ stwx r0, r31, r3 -/* 058990 8005DF30 4800005C */ b lbl_8005DF8C -lbl_8005DF34: -/* 058994 8005DF34 80610084 */ lwz r3, 0x84(r1) -/* 058998 8005DF38 38030001 */ addi r0, r3, 1 -/* 05899C 8005DF3C 90010084 */ stw r0, 0x84(r1) -/* 0589A0 8005DF40 4800004C */ b lbl_8005DF8C -lbl_8005DF44: -/* 0589A4 8005DF44 281F0000 */ cmplwi r31, 0 -/* 0589A8 8005DF48 41820038 */ beq lbl_8005DF80 -/* 0589AC 8005DF4C 54A41838 */ slwi r4, r5, 3 -/* 0589B0 8005DF50 80610084 */ lwz r3, 0x84(r1) -/* 0589B4 8005DF54 38040040 */ addi r0, r4, 0x40 -/* 0589B8 8005DF58 7C1E0214 */ add r0, r30, r0 -/* 0589BC 8005DF5C 7C9E0050 */ subf r4, r30, r0 -/* 0589C0 8005DF60 38840004 */ addi r4, r4, 4 -/* 0589C4 8005DF64 38030001 */ addi r0, r3, 1 -/* 0589C8 8005DF68 5484043E */ clrlwi r4, r4, 0x10 -/* 0589CC 8005DF6C 90010084 */ stw r0, 0x84(r1) -/* 0589D0 8005DF70 3C0480C3 */ addis r0, r4, 0x80c3 -/* 0589D4 8005DF74 5463103A */ slwi r3, r3, 2 -/* 0589D8 8005DF78 7C1F192E */ stwx r0, r31, r3 -/* 0589DC 8005DF7C 48000010 */ b lbl_8005DF8C -lbl_8005DF80: -/* 0589E0 8005DF80 80610084 */ lwz r3, 0x84(r1) -/* 0589E4 8005DF84 38030001 */ addi r0, r3, 1 -/* 0589E8 8005DF88 90010084 */ stw r0, 0x84(r1) -lbl_8005DF8C: -/* 0589EC 8005DF8C 281F0000 */ cmplwi r31, 0 -/* 0589F0 8005DF90 4082000C */ bne lbl_8005DF9C -/* 0589F4 8005DF94 38800000 */ li r4, 0 -/* 0589F8 8005DF98 480000A4 */ b lbl_8005E03C -lbl_8005DF9C: -/* 0589FC 8005DF9C 3C7E0001 */ addis r3, r30, 1 -/* 058A00 8005DFA0 80032064 */ lwz r0, 0x2064(r3) -/* 058A04 8005DFA4 28000000 */ cmplwi r0, 0 -/* 058A08 8005DFA8 4082000C */ bne lbl_8005DFB4 -/* 058A0C 8005DFAC 38800000 */ li r4, 0 -/* 058A10 8005DFB0 4800008C */ b lbl_8005E03C -lbl_8005DFB4: -/* 058A14 8005DFB4 80DE0034 */ lwz r6, 0x34(r30) -/* 058A18 8005DFB8 38800000 */ li r4, 0 -/* 058A1C 8005DFBC 80060008 */ lwz r0, 8(r6) -/* 058A20 8005DFC0 2C000000 */ cmpwi r0, 0 -/* 058A24 8005DFC4 7C0903A6 */ mtctr r0 -/* 058A28 8005DFC8 40810028 */ ble lbl_8005DFF0 -lbl_8005DFCC: -/* 058A2C 8005DFCC 8066000C */ lwz r3, 0xc(r6) -/* 058A30 8005DFD0 38040004 */ addi r0, r4, 4 -/* 058A34 8005DFD4 7C03002E */ lwzx r0, r3, r0 -/* 058A38 8005DFD8 7C1D0000 */ cmpw r29, r0 -/* 058A3C 8005DFDC 4082000C */ bne lbl_8005DFE8 -/* 058A40 8005DFE0 38000000 */ li r0, 0 -/* 058A44 8005DFE4 48000010 */ b lbl_8005DFF4 -lbl_8005DFE8: -/* 058A48 8005DFE8 38840008 */ addi r4, r4, 8 -/* 058A4C 8005DFEC 4200FFE0 */ bdnz lbl_8005DFCC -lbl_8005DFF0: -/* 058A50 8005DFF0 38000001 */ li r0, 1 -lbl_8005DFF4: -/* 058A54 8005DFF4 2C000000 */ cmpwi r0, 0 -/* 058A58 8005DFF8 4082000C */ bne lbl_8005E004 -/* 058A5C 8005DFFC 38800000 */ li r4, 0 -/* 058A60 8005E000 4800003C */ b lbl_8005E03C -lbl_8005E004: -/* 058A64 8005E004 7C055000 */ cmpw r5, r10 -/* 058A68 8005E008 3C7E0001 */ addis r3, r30, 1 -/* 058A6C 8005E00C 38800001 */ li r4, 1 -/* 058A70 8005E010 9083207C */ stw r4, 0x207c(r3) -/* 058A74 8005E014 40820014 */ bne lbl_8005E028 -/* 058A78 8005E018 3800FFFF */ li r0, -1 -/* 058A7C 8005E01C 90032080 */ stw r0, 0x2080(r3) -/* 058A80 8005E020 38800000 */ li r4, 0 -/* 058A84 8005E024 48000018 */ b lbl_8005E03C -lbl_8005E028: -/* 058A88 8005E028 80032080 */ lwz r0, 0x2080(r3) -/* 058A8C 8005E02C 7C002800 */ cmpw r0, r5 -/* 058A90 8005E030 4182000C */ beq lbl_8005E03C -/* 058A94 8005E034 90A32080 */ stw r5, 0x2080(r3) -/* 058A98 8005E038 38800000 */ li r4, 0 -lbl_8005E03C: -/* 058A9C 8005E03C 2C040000 */ cmpwi r4, 0 -/* 058AA0 8005E040 40820040 */ bne lbl_8005E080 -/* 058AA4 8005E044 281F0000 */ cmplwi r31, 0 -/* 058AA8 8005E048 41820028 */ beq lbl_8005E070 -/* 058AAC 8005E04C 80610084 */ lwz r3, 0x84(r1) -/* 058AB0 8005E050 5520801E */ slwi r0, r9, 0x10 -/* 058AB4 8005E054 64047CE0 */ oris r4, r0, 0x7ce0 -/* 058AB8 8005E058 38030001 */ addi r0, r3, 1 -/* 058ABC 8005E05C 90010084 */ stw r0, 0x84(r1) -/* 058AC0 8005E060 60844214 */ ori r4, r4, 0x4214 -/* 058AC4 8005E064 5460103A */ slwi r0, r3, 2 -/* 058AC8 8005E068 7C9F012E */ stwx r4, r31, r0 -/* 058ACC 8005E06C 48000044 */ b lbl_8005E0B0 -lbl_8005E070: -/* 058AD0 8005E070 80610084 */ lwz r3, 0x84(r1) -/* 058AD4 8005E074 38030001 */ addi r0, r3, 1 -/* 058AD8 8005E078 90010084 */ stw r0, 0x84(r1) -/* 058ADC 8005E07C 48000034 */ b lbl_8005E0B0 -lbl_8005E080: -/* 058AE0 8005E080 281F0000 */ cmplwi r31, 0 -/* 058AE4 8005E084 41820020 */ beq lbl_8005E0A4 -/* 058AE8 8005E088 80610084 */ lwz r3, 0x84(r1) -/* 058AEC 8005E08C 3C806000 */ lis r4, 0x6000 -/* 058AF0 8005E090 38030001 */ addi r0, r3, 1 -/* 058AF4 8005E094 90010084 */ stw r0, 0x84(r1) -/* 058AF8 8005E098 5460103A */ slwi r0, r3, 2 -/* 058AFC 8005E09C 7C9F012E */ stwx r4, r31, r0 -/* 058B00 8005E0A0 48000010 */ b lbl_8005E0B0 -lbl_8005E0A4: -/* 058B04 8005E0A4 80610084 */ lwz r3, 0x84(r1) -/* 058B08 8005E0A8 38030001 */ addi r0, r3, 1 -/* 058B0C 8005E0AC 90010084 */ stw r0, 0x84(r1) -lbl_8005E0B0: -/* 058B10 8005E0B0 281F0000 */ cmplwi r31, 0 -/* 058B14 8005E0B4 4182002C */ beq lbl_8005E0E0 -/* 058B18 8005E0B8 80610084 */ lwz r3, 0x84(r1) -/* 058B1C 8005E0BC 54E0A814 */ slwi r0, r7, 0x15 -/* 058B20 8005E0C0 64058007 */ oris r5, r0, 0x8007 -/* 058B24 8005E0C4 38030001 */ addi r0, r3, 1 -/* 058B28 8005E0C8 5784043E */ clrlwi r4, r28, 0x10 -/* 058B2C 8005E0CC 90010084 */ stw r0, 0x84(r1) -/* 058B30 8005E0D0 7CA02378 */ or r0, r5, r4 -/* 058B34 8005E0D4 5463103A */ slwi r3, r3, 2 -/* 058B38 8005E0D8 7C1F192E */ stwx r0, r31, r3 -/* 058B3C 8005E0DC 48000010 */ b lbl_8005E0EC -lbl_8005E0E0: -/* 058B40 8005E0E0 80610084 */ lwz r3, 0x84(r1) -/* 058B44 8005E0E4 38030001 */ addi r0, r3, 1 -/* 058B48 8005E0E8 90010084 */ stw r0, 0x84(r1) -lbl_8005E0EC: -/* 058B4C 8005E0EC 80080000 */ lwz r0, 0(r8) -/* 058B50 8005E0F0 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 058B54 8005E0F4 4182089C */ beq lbl_8005E990 -/* 058B58 8005E0F8 3C7E0001 */ addis r3, r30, 1 -/* 058B5C 8005E0FC 38000002 */ li r0, 2 -/* 058B60 8005E100 90032068 */ stw r0, 0x2068(r3) -/* 058B64 8005E104 281F0000 */ cmplwi r31, 0 -/* 058B68 8005E108 9143206C */ stw r10, 0x206c(r3) -/* 058B6C 8005E10C 90E32070 */ stw r7, 0x2070(r3) -/* 058B70 8005E110 41820038 */ beq lbl_8005E148 -/* 058B74 8005E114 55441838 */ slwi r4, r10, 3 -/* 058B78 8005E118 80610084 */ lwz r3, 0x84(r1) -/* 058B7C 8005E11C 38040040 */ addi r0, r4, 0x40 -/* 058B80 8005E120 7C1E0214 */ add r0, r30, r0 -/* 058B84 8005E124 7C9E0050 */ subf r4, r30, r0 -/* 058B88 8005E128 38840004 */ addi r4, r4, 4 -/* 058B8C 8005E12C 38030001 */ addi r0, r3, 1 -/* 058B90 8005E130 5484043E */ clrlwi r4, r4, 0x10 -/* 058B94 8005E134 90010084 */ stw r0, 0x84(r1) -/* 058B98 8005E138 3C0490A3 */ addis r0, r4, 0x90a3 -/* 058B9C 8005E13C 5463103A */ slwi r3, r3, 2 -/* 058BA0 8005E140 7C1F192E */ stwx r0, r31, r3 -/* 058BA4 8005E144 4800084C */ b lbl_8005E990 -lbl_8005E148: -/* 058BA8 8005E148 80610084 */ lwz r3, 0x84(r1) -/* 058BAC 8005E14C 38030001 */ addi r0, r3, 1 -/* 058BB0 8005E150 90010084 */ stw r0, 0x84(r1) -/* 058BB4 8005E154 4800083C */ b lbl_8005E990 -lbl_8005E158: -/* 058BB8 8005E158 80832060 */ lwz r4, 0x2060(r3) -/* 058BBC 8005E15C 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 058BC0 8005E160 41820248 */ beq lbl_8005E3A8 -/* 058BC4 8005E164 2C110000 */ cmpwi r17, 0 -/* 058BC8 8005E168 4182006C */ beq lbl_8005E1D4 -/* 058BCC 8005E16C 281F0000 */ cmplwi r31, 0 -/* 058BD0 8005E170 41820020 */ beq lbl_8005E190 -/* 058BD4 8005E174 80610084 */ lwz r3, 0x84(r1) -/* 058BD8 8005E178 3C8038C0 */ lis r4, 0x38c0 -/* 058BDC 8005E17C 38030001 */ addi r0, r3, 1 -/* 058BE0 8005E180 90010084 */ stw r0, 0x84(r1) -/* 058BE4 8005E184 5460103A */ slwi r0, r3, 2 -/* 058BE8 8005E188 7C9F012E */ stwx r4, r31, r0 -/* 058BEC 8005E18C 48000010 */ b lbl_8005E19C -lbl_8005E190: -/* 058BF0 8005E190 80610084 */ lwz r3, 0x84(r1) -/* 058BF4 8005E194 38030001 */ addi r0, r3, 1 -/* 058BF8 8005E198 90010084 */ stw r0, 0x84(r1) -lbl_8005E19C: -/* 058BFC 8005E19C 281F0000 */ cmplwi r31, 0 -/* 058C00 8005E1A0 41820028 */ beq lbl_8005E1C8 -/* 058C04 8005E1A4 80610084 */ lwz r3, 0x84(r1) -/* 058C08 8005E1A8 381E002C */ addi r0, r30, 0x2c -/* 058C0C 8005E1AC 7C9E0050 */ subf r4, r30, r0 -/* 058C10 8005E1B0 38030001 */ addi r0, r3, 1 -/* 058C14 8005E1B4 90010084 */ stw r0, 0x84(r1) -/* 058C18 8005E1B8 3C0490C3 */ addis r0, r4, 0x90c3 -/* 058C1C 8005E1BC 5463103A */ slwi r3, r3, 2 -/* 058C20 8005E1C0 7C1F192E */ stwx r0, r31, r3 -/* 058C24 8005E1C4 48000010 */ b lbl_8005E1D4 -lbl_8005E1C8: -/* 058C28 8005E1C8 80610084 */ lwz r3, 0x84(r1) -/* 058C2C 8005E1CC 38030001 */ addi r0, r3, 1 -/* 058C30 8005E1D0 90010084 */ stw r0, 0x84(r1) -lbl_8005E1D4: -/* 058C34 8005E1D4 281F0000 */ cmplwi r31, 0 -/* 058C38 8005E1D8 41820024 */ beq lbl_8005E1FC -/* 058C3C 8005E1DC 80610084 */ lwz r3, 0x84(r1) -/* 058C40 8005E1E0 57A0843E */ srwi r0, r29, 0x10 -/* 058C44 8005E1E4 64043CA0 */ oris r4, r0, 0x3ca0 -/* 058C48 8005E1E8 38030001 */ addi r0, r3, 1 -/* 058C4C 8005E1EC 90010084 */ stw r0, 0x84(r1) -/* 058C50 8005E1F0 5460103A */ slwi r0, r3, 2 -/* 058C54 8005E1F4 7C9F012E */ stwx r4, r31, r0 -/* 058C58 8005E1F8 48000010 */ b lbl_8005E208 -lbl_8005E1FC: -/* 058C5C 8005E1FC 80610084 */ lwz r3, 0x84(r1) -/* 058C60 8005E200 38030001 */ addi r0, r3, 1 -/* 058C64 8005E204 90010084 */ stw r0, 0x84(r1) -lbl_8005E208: -/* 058C68 8005E208 281F0000 */ cmplwi r31, 0 -/* 058C6C 8005E20C 41820024 */ beq lbl_8005E230 -/* 058C70 8005E210 80610084 */ lwz r3, 0x84(r1) -/* 058C74 8005E214 57A0043E */ clrlwi r0, r29, 0x10 -/* 058C78 8005E218 640460A5 */ oris r4, r0, 0x60a5 -/* 058C7C 8005E21C 38030001 */ addi r0, r3, 1 -/* 058C80 8005E220 90010084 */ stw r0, 0x84(r1) -/* 058C84 8005E224 5460103A */ slwi r0, r3, 2 -/* 058C88 8005E228 7C9F012E */ stwx r4, r31, r0 -/* 058C8C 8005E22C 48000010 */ b lbl_8005E23C -lbl_8005E230: -/* 058C90 8005E230 80610084 */ lwz r3, 0x84(r1) -/* 058C94 8005E234 38030001 */ addi r0, r3, 1 -/* 058C98 8005E238 90010084 */ stw r0, 0x84(r1) -lbl_8005E23C: -/* 058C9C 8005E23C 281F0000 */ cmplwi r31, 0 -/* 058CA0 8005E240 41820034 */ beq lbl_8005E274 -/* 058CA4 8005E244 80610084 */ lwz r3, 0x84(r1) -/* 058CA8 8005E248 801E0B50 */ lwz r0, 0xb50(r30) -/* 058CAC 8005E24C 5465103A */ slwi r5, r3, 2 -/* 058CB0 8005E250 7C9F2A14 */ add r4, r31, r5 -/* 058CB4 8005E254 7C040050 */ subf r0, r4, r0 -/* 058CB8 8005E258 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 058CBC 8005E25C 38630001 */ addi r3, r3, 1 -/* 058CC0 8005E260 64004800 */ oris r0, r0, 0x4800 -/* 058CC4 8005E264 90610084 */ stw r3, 0x84(r1) -/* 058CC8 8005E268 60000001 */ ori r0, r0, 1 -/* 058CCC 8005E26C 7C1F292E */ stwx r0, r31, r5 -/* 058CD0 8005E270 48000010 */ b lbl_8005E280 -lbl_8005E274: -/* 058CD4 8005E274 80610084 */ lwz r3, 0x84(r1) -/* 058CD8 8005E278 38030001 */ addi r0, r3, 1 -/* 058CDC 8005E27C 90010084 */ stw r0, 0x84(r1) -lbl_8005E280: -/* 058CE0 8005E280 3C7E0001 */ addis r3, r30, 1 -/* 058CE4 8005E284 80032060 */ lwz r0, 0x2060(r3) -/* 058CE8 8005E288 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 058CEC 8005E28C 41820060 */ beq lbl_8005E2EC -/* 058CF0 8005E290 281F0000 */ cmplwi r31, 0 -/* 058CF4 8005E294 40820014 */ bne lbl_8005E2A8 -/* 058CF8 8005E298 80610084 */ lwz r3, 0x84(r1) -/* 058CFC 8005E29C 38030003 */ addi r0, r3, 3 -/* 058D00 8005E2A0 90010084 */ stw r0, 0x84(r1) -/* 058D04 8005E2A4 4800008C */ b lbl_8005E330 -lbl_8005E2A8: -/* 058D08 8005E2A8 80610084 */ lwz r3, 0x84(r1) -/* 058D0C 8005E2AC 3C806000 */ lis r4, 0x6000 -/* 058D10 8005E2B0 38030001 */ addi r0, r3, 1 -/* 058D14 8005E2B4 90010084 */ stw r0, 0x84(r1) -/* 058D18 8005E2B8 5460103A */ slwi r0, r3, 2 -/* 058D1C 8005E2BC 7C9F012E */ stwx r4, r31, r0 -/* 058D20 8005E2C0 80610084 */ lwz r3, 0x84(r1) -/* 058D24 8005E2C4 38030001 */ addi r0, r3, 1 -/* 058D28 8005E2C8 90010084 */ stw r0, 0x84(r1) -/* 058D2C 8005E2CC 5460103A */ slwi r0, r3, 2 -/* 058D30 8005E2D0 7C9F012E */ stwx r4, r31, r0 -/* 058D34 8005E2D4 80610084 */ lwz r3, 0x84(r1) -/* 058D38 8005E2D8 38030001 */ addi r0, r3, 1 -/* 058D3C 8005E2DC 90010084 */ stw r0, 0x84(r1) -/* 058D40 8005E2E0 5460103A */ slwi r0, r3, 2 -/* 058D44 8005E2E4 7C9F012E */ stwx r4, r31, r0 -/* 058D48 8005E2E8 48000048 */ b lbl_8005E330 -lbl_8005E2EC: -/* 058D4C 8005E2EC 281F0000 */ cmplwi r31, 0 -/* 058D50 8005E2F0 40820014 */ bne lbl_8005E304 -/* 058D54 8005E2F4 80610084 */ lwz r3, 0x84(r1) -/* 058D58 8005E2F8 38030002 */ addi r0, r3, 2 -/* 058D5C 8005E2FC 90010084 */ stw r0, 0x84(r1) -/* 058D60 8005E300 48000030 */ b lbl_8005E330 -lbl_8005E304: -/* 058D64 8005E304 80610084 */ lwz r3, 0x84(r1) -/* 058D68 8005E308 3C806000 */ lis r4, 0x6000 -/* 058D6C 8005E30C 38030001 */ addi r0, r3, 1 -/* 058D70 8005E310 90010084 */ stw r0, 0x84(r1) -/* 058D74 8005E314 5460103A */ slwi r0, r3, 2 -/* 058D78 8005E318 7C9F012E */ stwx r4, r31, r0 -/* 058D7C 8005E31C 80610084 */ lwz r3, 0x84(r1) -/* 058D80 8005E320 38030001 */ addi r0, r3, 1 -/* 058D84 8005E324 90010084 */ stw r0, 0x84(r1) -/* 058D88 8005E328 5460103A */ slwi r0, r3, 2 -/* 058D8C 8005E32C 7C9F012E */ stwx r4, r31, r0 -lbl_8005E330: -/* 058D90 8005E330 2C110000 */ cmpwi r17, 0 -/* 058D94 8005E334 4182065C */ beq lbl_8005E990 -/* 058D98 8005E338 281F0000 */ cmplwi r31, 0 -/* 058D9C 8005E33C 41820024 */ beq lbl_8005E360 -/* 058DA0 8005E340 80610084 */ lwz r3, 0x84(r1) -/* 058DA4 8005E344 3C8038C1 */ lis r4, 0x38c1 -/* 058DA8 8005E348 3884FFFF */ addi r4, r4, -1 -/* 058DAC 8005E34C 38030001 */ addi r0, r3, 1 -/* 058DB0 8005E350 90010084 */ stw r0, 0x84(r1) -/* 058DB4 8005E354 5460103A */ slwi r0, r3, 2 -/* 058DB8 8005E358 7C9F012E */ stwx r4, r31, r0 -/* 058DBC 8005E35C 48000010 */ b lbl_8005E36C -lbl_8005E360: -/* 058DC0 8005E360 80610084 */ lwz r3, 0x84(r1) -/* 058DC4 8005E364 38030001 */ addi r0, r3, 1 -/* 058DC8 8005E368 90010084 */ stw r0, 0x84(r1) -lbl_8005E36C: -/* 058DCC 8005E36C 281F0000 */ cmplwi r31, 0 -/* 058DD0 8005E370 41820028 */ beq lbl_8005E398 -/* 058DD4 8005E374 80610084 */ lwz r3, 0x84(r1) -/* 058DD8 8005E378 381E002C */ addi r0, r30, 0x2c -/* 058DDC 8005E37C 7C9E0050 */ subf r4, r30, r0 -/* 058DE0 8005E380 38030001 */ addi r0, r3, 1 -/* 058DE4 8005E384 90010084 */ stw r0, 0x84(r1) -/* 058DE8 8005E388 3C0490C3 */ addis r0, r4, 0x90c3 -/* 058DEC 8005E38C 5463103A */ slwi r3, r3, 2 -/* 058DF0 8005E390 7C1F192E */ stwx r0, r31, r3 -/* 058DF4 8005E394 480005FC */ b lbl_8005E990 -lbl_8005E398: -/* 058DF8 8005E398 80610084 */ lwz r3, 0x84(r1) -/* 058DFC 8005E39C 38030001 */ addi r0, r3, 1 -/* 058E00 8005E3A0 90010084 */ stw r0, 0x84(r1) -/* 058E04 8005E3A4 480005EC */ b lbl_8005E990 -lbl_8005E3A8: -/* 058E08 8005E3A8 548007FF */ clrlwi. r0, r4, 0x1f -/* 058E0C 8005E3AC 418205E4 */ beq lbl_8005E990 -/* 058E10 8005E3B0 54A0103A */ slwi r0, r5, 2 -/* 058E14 8005E3B4 7C9A0214 */ add r4, r26, r0 -/* 058E18 8005E3B8 80E40818 */ lwz r7, 0x818(r4) -/* 058E1C 8005E3BC 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 058E20 8005E3C0 41820148 */ beq lbl_8005E508 -/* 058E24 8005E3C4 80032064 */ lwz r0, 0x2064(r3) -/* 058E28 8005E3C8 38E00006 */ li r7, 6 -/* 058E2C 8005E3CC 28000000 */ cmplwi r0, 0 -/* 058E30 8005E3D0 4082000C */ bne lbl_8005E3DC -/* 058E34 8005E3D4 38000000 */ li r0, 0 -/* 058E38 8005E3D8 48000094 */ b lbl_8005E46C -lbl_8005E3DC: -/* 058E3C 8005E3DC 80032068 */ lwz r0, 0x2068(r3) -/* 058E40 8005E3E0 28000000 */ cmplwi r0, 0 -/* 058E44 8005E3E4 4082000C */ bne lbl_8005E3F0 -/* 058E48 8005E3E8 38000000 */ li r0, 0 -/* 058E4C 8005E3EC 48000080 */ b lbl_8005E46C -lbl_8005E3F0: -/* 058E50 8005E3F0 8003206C */ lwz r0, 0x206c(r3) -/* 058E54 8005E3F4 7C050000 */ cmpw r5, r0 -/* 058E58 8005E3F8 4182000C */ beq lbl_8005E404 -/* 058E5C 8005E3FC 38000000 */ li r0, 0 -/* 058E60 8005E400 4800006C */ b lbl_8005E46C -lbl_8005E404: -/* 058E64 8005E404 80DE0034 */ lwz r6, 0x34(r30) -/* 058E68 8005E408 38800000 */ li r4, 0 -/* 058E6C 8005E40C 80060008 */ lwz r0, 8(r6) -/* 058E70 8005E410 2C000000 */ cmpwi r0, 0 -/* 058E74 8005E414 7C0903A6 */ mtctr r0 -/* 058E78 8005E418 40810028 */ ble lbl_8005E440 -lbl_8005E41C: -/* 058E7C 8005E41C 8066000C */ lwz r3, 0xc(r6) -/* 058E80 8005E420 38040004 */ addi r0, r4, 4 -/* 058E84 8005E424 7C03002E */ lwzx r0, r3, r0 -/* 058E88 8005E428 7C1D0000 */ cmpw r29, r0 -/* 058E8C 8005E42C 4082000C */ bne lbl_8005E438 -/* 058E90 8005E430 38000000 */ li r0, 0 -/* 058E94 8005E434 48000010 */ b lbl_8005E444 -lbl_8005E438: -/* 058E98 8005E438 38840008 */ addi r4, r4, 8 -/* 058E9C 8005E43C 4200FFE0 */ bdnz lbl_8005E41C -lbl_8005E440: -/* 058EA0 8005E440 38000001 */ li r0, 1 -lbl_8005E444: -/* 058EA4 8005E444 2C000000 */ cmpwi r0, 0 -/* 058EA8 8005E448 40820014 */ bne lbl_8005E45C -/* 058EAC 8005E44C 38000000 */ li r0, 0 -/* 058EB0 8005E450 3C7E0001 */ addis r3, r30, 1 -/* 058EB4 8005E454 90032068 */ stw r0, 0x2068(r3) -/* 058EB8 8005E458 48000014 */ b lbl_8005E46C -lbl_8005E45C: -/* 058EBC 8005E45C 3C7E0001 */ addis r3, r30, 1 -/* 058EC0 8005E460 38000000 */ li r0, 0 -/* 058EC4 8005E464 90032068 */ stw r0, 0x2068(r3) -/* 058EC8 8005E468 38000001 */ li r0, 1 -lbl_8005E46C: -/* 058ECC 8005E46C 2C000000 */ cmpwi r0, 0 -/* 058ED0 8005E470 41820050 */ beq lbl_8005E4C0 -/* 058ED4 8005E474 281F0000 */ cmplwi r31, 0 -/* 058ED8 8005E478 41820038 */ beq lbl_8005E4B0 -/* 058EDC 8005E47C 3C9E0001 */ addis r4, r30, 1 -/* 058EE0 8005E480 80610084 */ lwz r3, 0x84(r1) -/* 058EE4 8005E484 80842070 */ lwz r4, 0x2070(r4) -/* 058EE8 8005E488 38A30001 */ addi r5, r3, 1 -/* 058EEC 8005E48C 5480A814 */ slwi r0, r4, 0x15 -/* 058EF0 8005E490 90A10084 */ stw r5, 0x84(r1) -/* 058EF4 8005E494 64007C06 */ oris r0, r0, 0x7c06 -/* 058EF8 8005E498 54845828 */ slwi r4, r4, 0xb -/* 058EFC 8005E49C 60000378 */ ori r0, r0, 0x378 -/* 058F00 8005E4A0 7C800378 */ or r0, r4, r0 -/* 058F04 8005E4A4 5463103A */ slwi r3, r3, 2 -/* 058F08 8005E4A8 7C1F192E */ stwx r0, r31, r3 -/* 058F0C 8005E4AC 4800005C */ b lbl_8005E508 -lbl_8005E4B0: -/* 058F10 8005E4B0 80610084 */ lwz r3, 0x84(r1) -/* 058F14 8005E4B4 38030001 */ addi r0, r3, 1 -/* 058F18 8005E4B8 90010084 */ stw r0, 0x84(r1) -/* 058F1C 8005E4BC 4800004C */ b lbl_8005E508 -lbl_8005E4C0: -/* 058F20 8005E4C0 281F0000 */ cmplwi r31, 0 -/* 058F24 8005E4C4 41820038 */ beq lbl_8005E4FC -/* 058F28 8005E4C8 54A41838 */ slwi r4, r5, 3 -/* 058F2C 8005E4CC 80610084 */ lwz r3, 0x84(r1) -/* 058F30 8005E4D0 38040040 */ addi r0, r4, 0x40 -/* 058F34 8005E4D4 7C1E0214 */ add r0, r30, r0 -/* 058F38 8005E4D8 7C9E0050 */ subf r4, r30, r0 -/* 058F3C 8005E4DC 38840004 */ addi r4, r4, 4 -/* 058F40 8005E4E0 38030001 */ addi r0, r3, 1 -/* 058F44 8005E4E4 5484043E */ clrlwi r4, r4, 0x10 -/* 058F48 8005E4E8 90010084 */ stw r0, 0x84(r1) -/* 058F4C 8005E4EC 3C0480C3 */ addis r0, r4, 0x80c3 -/* 058F50 8005E4F0 5463103A */ slwi r3, r3, 2 -/* 058F54 8005E4F4 7C1F192E */ stwx r0, r31, r3 -/* 058F58 8005E4F8 48000010 */ b lbl_8005E508 -lbl_8005E4FC: -/* 058F5C 8005E4FC 80610084 */ lwz r3, 0x84(r1) -/* 058F60 8005E500 38030001 */ addi r0, r3, 1 -/* 058F64 8005E504 90010084 */ stw r0, 0x84(r1) -lbl_8005E508: -/* 058F68 8005E508 281F0000 */ cmplwi r31, 0 -/* 058F6C 8005E50C 4182002C */ beq lbl_8005E538 -/* 058F70 8005E510 80610084 */ lwz r3, 0x84(r1) -/* 058F74 8005E514 54E0801E */ slwi r0, r7, 0x10 -/* 058F78 8005E518 640538A0 */ oris r5, r0, 0x38a0 -/* 058F7C 8005E51C 38030001 */ addi r0, r3, 1 -/* 058F80 8005E520 5784043E */ clrlwi r4, r28, 0x10 -/* 058F84 8005E524 90010084 */ stw r0, 0x84(r1) -/* 058F88 8005E528 7CA02378 */ or r0, r5, r4 -/* 058F8C 8005E52C 5463103A */ slwi r3, r3, 2 -/* 058F90 8005E530 7C1F192E */ stwx r0, r31, r3 -/* 058F94 8005E534 48000010 */ b lbl_8005E544 -lbl_8005E538: -/* 058F98 8005E538 80610084 */ lwz r3, 0x84(r1) -/* 058F9C 8005E53C 38030001 */ addi r0, r3, 1 -/* 058FA0 8005E540 90010084 */ stw r0, 0x84(r1) -lbl_8005E544: -/* 058FA4 8005E544 281F0000 */ cmplwi r31, 0 -/* 058FA8 8005E548 41820024 */ beq lbl_8005E56C -/* 058FAC 8005E54C 80610084 */ lwz r3, 0x84(r1) -/* 058FB0 8005E550 3C8054A7 */ lis r4, 0x54a7 -/* 058FB4 8005E554 3884843E */ addi r4, r4, -31682 -/* 058FB8 8005E558 38030001 */ addi r0, r3, 1 -/* 058FBC 8005E55C 90010084 */ stw r0, 0x84(r1) -/* 058FC0 8005E560 5460103A */ slwi r0, r3, 2 -/* 058FC4 8005E564 7C9F012E */ stwx r4, r31, r0 -/* 058FC8 8005E568 48000010 */ b lbl_8005E578 -lbl_8005E56C: -/* 058FCC 8005E56C 80610084 */ lwz r3, 0x84(r1) -/* 058FD0 8005E570 38030001 */ addi r0, r3, 1 -/* 058FD4 8005E574 90010084 */ stw r0, 0x84(r1) -lbl_8005E578: -/* 058FD8 8005E578 281F0000 */ cmplwi r31, 0 -/* 058FDC 8005E57C 41820024 */ beq lbl_8005E5A0 -/* 058FE0 8005E580 80610084 */ lwz r3, 0x84(r1) -/* 058FE4 8005E584 3C807CC6 */ lis r4, 0x7cc6 -/* 058FE8 8005E588 388448AE */ addi r4, r4, 0x48ae -/* 058FEC 8005E58C 38030001 */ addi r0, r3, 1 -/* 058FF0 8005E590 90010084 */ stw r0, 0x84(r1) -/* 058FF4 8005E594 5460103A */ slwi r0, r3, 2 -/* 058FF8 8005E598 7C9F012E */ stwx r4, r31, r0 -/* 058FFC 8005E59C 48000010 */ b lbl_8005E5AC -lbl_8005E5A0: -/* 059000 8005E5A0 80610084 */ lwz r3, 0x84(r1) -/* 059004 8005E5A4 38030001 */ addi r0, r3, 1 -/* 059008 8005E5A8 90010084 */ stw r0, 0x84(r1) -lbl_8005E5AC: -/* 05900C 8005E5AC 281F0000 */ cmplwi r31, 0 -/* 059010 8005E5B0 41820024 */ beq lbl_8005E5D4 -/* 059014 8005E5B4 80610084 */ lwz r3, 0x84(r1) -/* 059018 8005E5B8 3C802C06 */ lis r4, 0x2c06 -/* 05901C 8005E5BC 38840080 */ addi r4, r4, 0x80 -/* 059020 8005E5C0 38030001 */ addi r0, r3, 1 -/* 059024 8005E5C4 90010084 */ stw r0, 0x84(r1) -/* 059028 8005E5C8 5460103A */ slwi r0, r3, 2 -/* 05902C 8005E5CC 7C9F012E */ stwx r4, r31, r0 -/* 059030 8005E5D0 48000010 */ b lbl_8005E5E0 -lbl_8005E5D4: -/* 059034 8005E5D4 80610084 */ lwz r3, 0x84(r1) -/* 059038 8005E5D8 38030001 */ addi r0, r3, 1 -/* 05903C 8005E5DC 90010084 */ stw r0, 0x84(r1) -lbl_8005E5E0: -/* 059040 8005E5E0 281F0000 */ cmplwi r31, 0 -/* 059044 8005E5E4 41820024 */ beq lbl_8005E608 -/* 059048 8005E5E8 80610084 */ lwz r3, 0x84(r1) -/* 05904C 8005E5EC 3C804180 */ lis r4, 0x4180 -/* 059050 8005E5F0 38840010 */ addi r4, r4, 0x10 -/* 059054 8005E5F4 38030001 */ addi r0, r3, 1 -/* 059058 8005E5F8 90010084 */ stw r0, 0x84(r1) -/* 05905C 8005E5FC 5460103A */ slwi r0, r3, 2 -/* 059060 8005E600 7C9F012E */ stwx r4, r31, r0 -/* 059064 8005E604 48000010 */ b lbl_8005E614 -lbl_8005E608: -/* 059068 8005E608 80610084 */ lwz r3, 0x84(r1) -/* 05906C 8005E60C 38030001 */ addi r0, r3, 1 -/* 059070 8005E610 90010084 */ stw r0, 0x84(r1) -lbl_8005E614: -/* 059074 8005E614 281F0000 */ cmplwi r31, 0 -/* 059078 8005E618 41820034 */ beq lbl_8005E64C -/* 05907C 8005E61C 80610084 */ lwz r3, 0x84(r1) -/* 059080 8005E620 800D8A58 */ lwz r0, cpuCompile_LW_function@sda21(r13) -/* 059084 8005E624 5465103A */ slwi r5, r3, 2 -/* 059088 8005E628 7C9F2A14 */ add r4, r31, r5 -/* 05908C 8005E62C 7C040050 */ subf r0, r4, r0 -/* 059090 8005E630 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 059094 8005E634 38630001 */ addi r3, r3, 1 -/* 059098 8005E638 64004800 */ oris r0, r0, 0x4800 -/* 05909C 8005E63C 90610084 */ stw r3, 0x84(r1) -/* 0590A0 8005E640 60000001 */ ori r0, r0, 1 -/* 0590A4 8005E644 7C1F292E */ stwx r0, r31, r5 -/* 0590A8 8005E648 48000010 */ b lbl_8005E658 -lbl_8005E64C: -/* 0590AC 8005E64C 80610084 */ lwz r3, 0x84(r1) -/* 0590B0 8005E650 38030001 */ addi r0, r3, 1 -/* 0590B4 8005E654 90010084 */ stw r0, 0x84(r1) -lbl_8005E658: -/* 0590B8 8005E658 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 0590BC 8005E65C 7C7A1A14 */ add r3, r26, r3 -/* 0590C0 8005E660 80830818 */ lwz r4, 0x818(r3) -/* 0590C4 8005E664 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 0590C8 8005E668 548305EF */ rlwinm. r3, r4, 0, 0x17, 0x17 -/* 0590CC 8005E66C 4182004C */ beq lbl_8005E6B8 -/* 0590D0 8005E670 281F0000 */ cmplwi r31, 0 -/* 0590D4 8005E674 41820034 */ beq lbl_8005E6A8 -/* 0590D8 8005E678 54041838 */ slwi r4, r0, 3 -/* 0590DC 8005E67C 80610084 */ lwz r3, 0x84(r1) -/* 0590E0 8005E680 38040040 */ addi r0, r4, 0x40 -/* 0590E4 8005E684 7C1E0214 */ add r0, r30, r0 -/* 0590E8 8005E688 7C9E0050 */ subf r4, r30, r0 -/* 0590EC 8005E68C 38030001 */ addi r0, r3, 1 -/* 0590F0 8005E690 3C8490A3 */ addis r4, r4, 0x90a3 -/* 0590F4 8005E694 90010084 */ stw r0, 0x84(r1) -/* 0590F8 8005E698 38040004 */ addi r0, r4, 4 -/* 0590FC 8005E69C 5463103A */ slwi r3, r3, 2 -/* 059100 8005E6A0 7C1F192E */ stwx r0, r31, r3 -/* 059104 8005E6A4 4800004C */ b lbl_8005E6F0 -lbl_8005E6A8: -/* 059108 8005E6A8 80610084 */ lwz r3, 0x84(r1) -/* 05910C 8005E6AC 38030001 */ addi r0, r3, 1 -/* 059110 8005E6B0 90010084 */ stw r0, 0x84(r1) -/* 059114 8005E6B4 4800003C */ b lbl_8005E6F0 -lbl_8005E6B8: -/* 059118 8005E6B8 281F0000 */ cmplwi r31, 0 -/* 05911C 8005E6BC 41820028 */ beq lbl_8005E6E4 -/* 059120 8005E6C0 80610084 */ lwz r3, 0x84(r1) -/* 059124 8005E6C4 5480801E */ slwi r0, r4, 0x10 -/* 059128 8005E6C8 64047CA0 */ oris r4, r0, 0x7ca0 -/* 05912C 8005E6CC 38030001 */ addi r0, r3, 1 -/* 059130 8005E6D0 90010084 */ stw r0, 0x84(r1) -/* 059134 8005E6D4 60842B78 */ ori r4, r4, 0x2b78 -/* 059138 8005E6D8 5460103A */ slwi r0, r3, 2 -/* 05913C 8005E6DC 7C9F012E */ stwx r4, r31, r0 -/* 059140 8005E6E0 48000010 */ b lbl_8005E6F0 -lbl_8005E6E4: -/* 059144 8005E6E4 80610084 */ lwz r3, 0x84(r1) -/* 059148 8005E6E8 38030001 */ addi r0, r3, 1 -/* 05914C 8005E6EC 90010084 */ stw r0, 0x84(r1) -lbl_8005E6F0: -/* 059150 8005E6F0 2C110000 */ cmpwi r17, 0 -/* 059154 8005E6F4 418201BC */ beq lbl_8005E8B0 -/* 059158 8005E6F8 281F0000 */ cmplwi r31, 0 -/* 05915C 8005E6FC 41820024 */ beq lbl_8005E720 -/* 059160 8005E700 80610084 */ lwz r3, 0x84(r1) -/* 059164 8005E704 3C804280 */ lis r4, 0x4280 -/* 059168 8005E708 38840020 */ addi r4, r4, 0x20 -/* 05916C 8005E70C 38030001 */ addi r0, r3, 1 -/* 059170 8005E710 90010084 */ stw r0, 0x84(r1) -/* 059174 8005E714 5460103A */ slwi r0, r3, 2 -/* 059178 8005E718 7C9F012E */ stwx r4, r31, r0 -/* 05917C 8005E71C 48000010 */ b lbl_8005E72C -lbl_8005E720: -/* 059180 8005E720 80610084 */ lwz r3, 0x84(r1) -/* 059184 8005E724 38030001 */ addi r0, r3, 1 -/* 059188 8005E728 90010084 */ stw r0, 0x84(r1) -lbl_8005E72C: -/* 05918C 8005E72C 281F0000 */ cmplwi r31, 0 -/* 059190 8005E730 41820020 */ beq lbl_8005E750 -/* 059194 8005E734 80610084 */ lwz r3, 0x84(r1) -/* 059198 8005E738 3C8038C0 */ lis r4, 0x38c0 -/* 05919C 8005E73C 38030001 */ addi r0, r3, 1 -/* 0591A0 8005E740 90010084 */ stw r0, 0x84(r1) -/* 0591A4 8005E744 5460103A */ slwi r0, r3, 2 -/* 0591A8 8005E748 7C9F012E */ stwx r4, r31, r0 -/* 0591AC 8005E74C 48000010 */ b lbl_8005E75C -lbl_8005E750: -/* 0591B0 8005E750 80610084 */ lwz r3, 0x84(r1) -/* 0591B4 8005E754 38030001 */ addi r0, r3, 1 -/* 0591B8 8005E758 90010084 */ stw r0, 0x84(r1) -lbl_8005E75C: -/* 0591BC 8005E75C 281F0000 */ cmplwi r31, 0 -/* 0591C0 8005E760 41820028 */ beq lbl_8005E788 -/* 0591C4 8005E764 80610084 */ lwz r3, 0x84(r1) -/* 0591C8 8005E768 381E002C */ addi r0, r30, 0x2c -/* 0591CC 8005E76C 7C9E0050 */ subf r4, r30, r0 -/* 0591D0 8005E770 38030001 */ addi r0, r3, 1 -/* 0591D4 8005E774 90010084 */ stw r0, 0x84(r1) -/* 0591D8 8005E778 3C0490C3 */ addis r0, r4, 0x90c3 -/* 0591DC 8005E77C 5463103A */ slwi r3, r3, 2 -/* 0591E0 8005E780 7C1F192E */ stwx r0, r31, r3 -/* 0591E4 8005E784 48000010 */ b lbl_8005E794 -lbl_8005E788: -/* 0591E8 8005E788 80610084 */ lwz r3, 0x84(r1) -/* 0591EC 8005E78C 38030001 */ addi r0, r3, 1 -/* 0591F0 8005E790 90010084 */ stw r0, 0x84(r1) -lbl_8005E794: -/* 0591F4 8005E794 281F0000 */ cmplwi r31, 0 -/* 0591F8 8005E798 41820024 */ beq lbl_8005E7BC -/* 0591FC 8005E79C 80610084 */ lwz r3, 0x84(r1) -/* 059200 8005E7A0 57A0843E */ srwi r0, r29, 0x10 -/* 059204 8005E7A4 64043CA0 */ oris r4, r0, 0x3ca0 -/* 059208 8005E7A8 38030001 */ addi r0, r3, 1 -/* 05920C 8005E7AC 90010084 */ stw r0, 0x84(r1) -/* 059210 8005E7B0 5460103A */ slwi r0, r3, 2 -/* 059214 8005E7B4 7C9F012E */ stwx r4, r31, r0 -/* 059218 8005E7B8 48000010 */ b lbl_8005E7C8 -lbl_8005E7BC: -/* 05921C 8005E7BC 80610084 */ lwz r3, 0x84(r1) -/* 059220 8005E7C0 38030001 */ addi r0, r3, 1 -/* 059224 8005E7C4 90010084 */ stw r0, 0x84(r1) -lbl_8005E7C8: -/* 059228 8005E7C8 281F0000 */ cmplwi r31, 0 -/* 05922C 8005E7CC 41820024 */ beq lbl_8005E7F0 -/* 059230 8005E7D0 80610084 */ lwz r3, 0x84(r1) -/* 059234 8005E7D4 57A0043E */ clrlwi r0, r29, 0x10 -/* 059238 8005E7D8 640460A5 */ oris r4, r0, 0x60a5 -/* 05923C 8005E7DC 38030001 */ addi r0, r3, 1 -/* 059240 8005E7E0 90010084 */ stw r0, 0x84(r1) -/* 059244 8005E7E4 5460103A */ slwi r0, r3, 2 -/* 059248 8005E7E8 7C9F012E */ stwx r4, r31, r0 -/* 05924C 8005E7EC 48000010 */ b lbl_8005E7FC -lbl_8005E7F0: -/* 059250 8005E7F0 80610084 */ lwz r3, 0x84(r1) -/* 059254 8005E7F4 38030001 */ addi r0, r3, 1 -/* 059258 8005E7F8 90010084 */ stw r0, 0x84(r1) -lbl_8005E7FC: -/* 05925C 8005E7FC 281F0000 */ cmplwi r31, 0 -/* 059260 8005E800 41820034 */ beq lbl_8005E834 -/* 059264 8005E804 80610084 */ lwz r3, 0x84(r1) -/* 059268 8005E808 801E0B40 */ lwz r0, 0xb40(r30) -/* 05926C 8005E80C 5465103A */ slwi r5, r3, 2 -/* 059270 8005E810 7C9F2A14 */ add r4, r31, r5 -/* 059274 8005E814 7C040050 */ subf r0, r4, r0 -/* 059278 8005E818 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05927C 8005E81C 38630001 */ addi r3, r3, 1 -/* 059280 8005E820 64004800 */ oris r0, r0, 0x4800 -/* 059284 8005E824 90610084 */ stw r3, 0x84(r1) -/* 059288 8005E828 60000001 */ ori r0, r0, 1 -/* 05928C 8005E82C 7C1F292E */ stwx r0, r31, r5 -/* 059290 8005E830 48000010 */ b lbl_8005E840 -lbl_8005E834: -/* 059294 8005E834 80610084 */ lwz r3, 0x84(r1) -/* 059298 8005E838 38030001 */ addi r0, r3, 1 -/* 05929C 8005E83C 90010084 */ stw r0, 0x84(r1) -lbl_8005E840: -/* 0592A0 8005E840 281F0000 */ cmplwi r31, 0 -/* 0592A4 8005E844 41820024 */ beq lbl_8005E868 -/* 0592A8 8005E848 80610084 */ lwz r3, 0x84(r1) -/* 0592AC 8005E84C 3C8038C1 */ lis r4, 0x38c1 -/* 0592B0 8005E850 3884FFFF */ addi r4, r4, -1 -/* 0592B4 8005E854 38030001 */ addi r0, r3, 1 -/* 0592B8 8005E858 90010084 */ stw r0, 0x84(r1) -/* 0592BC 8005E85C 5460103A */ slwi r0, r3, 2 -/* 0592C0 8005E860 7C9F012E */ stwx r4, r31, r0 -/* 0592C4 8005E864 48000010 */ b lbl_8005E874 -lbl_8005E868: -/* 0592C8 8005E868 80610084 */ lwz r3, 0x84(r1) -/* 0592CC 8005E86C 38030001 */ addi r0, r3, 1 -/* 0592D0 8005E870 90010084 */ stw r0, 0x84(r1) -lbl_8005E874: -/* 0592D4 8005E874 281F0000 */ cmplwi r31, 0 -/* 0592D8 8005E878 41820028 */ beq lbl_8005E8A0 -/* 0592DC 8005E87C 80610084 */ lwz r3, 0x84(r1) -/* 0592E0 8005E880 381E002C */ addi r0, r30, 0x2c -/* 0592E4 8005E884 7C9E0050 */ subf r4, r30, r0 -/* 0592E8 8005E888 38030001 */ addi r0, r3, 1 -/* 0592EC 8005E88C 90010084 */ stw r0, 0x84(r1) -/* 0592F0 8005E890 3C0490C3 */ addis r0, r4, 0x90c3 -/* 0592F4 8005E894 5463103A */ slwi r3, r3, 2 -/* 0592F8 8005E898 7C1F192E */ stwx r0, r31, r3 -/* 0592FC 8005E89C 480000F4 */ b lbl_8005E990 -lbl_8005E8A0: -/* 059300 8005E8A0 80610084 */ lwz r3, 0x84(r1) -/* 059304 8005E8A4 38030001 */ addi r0, r3, 1 -/* 059308 8005E8A8 90010084 */ stw r0, 0x84(r1) -/* 05930C 8005E8AC 480000E4 */ b lbl_8005E990 -lbl_8005E8B0: -/* 059310 8005E8B0 281F0000 */ cmplwi r31, 0 -/* 059314 8005E8B4 41820024 */ beq lbl_8005E8D8 -/* 059318 8005E8B8 80610084 */ lwz r3, 0x84(r1) -/* 05931C 8005E8BC 3C804280 */ lis r4, 0x4280 -/* 059320 8005E8C0 38840010 */ addi r4, r4, 0x10 -/* 059324 8005E8C4 38030001 */ addi r0, r3, 1 -/* 059328 8005E8C8 90010084 */ stw r0, 0x84(r1) -/* 05932C 8005E8CC 5460103A */ slwi r0, r3, 2 -/* 059330 8005E8D0 7C9F012E */ stwx r4, r31, r0 -/* 059334 8005E8D4 48000010 */ b lbl_8005E8E4 -lbl_8005E8D8: -/* 059338 8005E8D8 80610084 */ lwz r3, 0x84(r1) -/* 05933C 8005E8DC 38030001 */ addi r0, r3, 1 -/* 059340 8005E8E0 90010084 */ stw r0, 0x84(r1) -lbl_8005E8E4: -/* 059344 8005E8E4 281F0000 */ cmplwi r31, 0 -/* 059348 8005E8E8 41820024 */ beq lbl_8005E90C -/* 05934C 8005E8EC 80610084 */ lwz r3, 0x84(r1) -/* 059350 8005E8F0 57A0843E */ srwi r0, r29, 0x10 -/* 059354 8005E8F4 64043CA0 */ oris r4, r0, 0x3ca0 -/* 059358 8005E8F8 38030001 */ addi r0, r3, 1 -/* 05935C 8005E8FC 90010084 */ stw r0, 0x84(r1) -/* 059360 8005E900 5460103A */ slwi r0, r3, 2 -/* 059364 8005E904 7C9F012E */ stwx r4, r31, r0 -/* 059368 8005E908 48000010 */ b lbl_8005E918 -lbl_8005E90C: -/* 05936C 8005E90C 80610084 */ lwz r3, 0x84(r1) -/* 059370 8005E910 38030001 */ addi r0, r3, 1 -/* 059374 8005E914 90010084 */ stw r0, 0x84(r1) -lbl_8005E918: -/* 059378 8005E918 281F0000 */ cmplwi r31, 0 -/* 05937C 8005E91C 41820024 */ beq lbl_8005E940 -/* 059380 8005E920 80610084 */ lwz r3, 0x84(r1) -/* 059384 8005E924 57A0043E */ clrlwi r0, r29, 0x10 -/* 059388 8005E928 640460A5 */ oris r4, r0, 0x60a5 -/* 05938C 8005E92C 38030001 */ addi r0, r3, 1 -/* 059390 8005E930 90010084 */ stw r0, 0x84(r1) -/* 059394 8005E934 5460103A */ slwi r0, r3, 2 -/* 059398 8005E938 7C9F012E */ stwx r4, r31, r0 -/* 05939C 8005E93C 48000010 */ b lbl_8005E94C -lbl_8005E940: -/* 0593A0 8005E940 80610084 */ lwz r3, 0x84(r1) -/* 0593A4 8005E944 38030001 */ addi r0, r3, 1 -/* 0593A8 8005E948 90010084 */ stw r0, 0x84(r1) -lbl_8005E94C: -/* 0593AC 8005E94C 281F0000 */ cmplwi r31, 0 -/* 0593B0 8005E950 41820034 */ beq lbl_8005E984 -/* 0593B4 8005E954 80610084 */ lwz r3, 0x84(r1) -/* 0593B8 8005E958 801E0B40 */ lwz r0, 0xb40(r30) -/* 0593BC 8005E95C 5465103A */ slwi r5, r3, 2 -/* 0593C0 8005E960 7C9F2A14 */ add r4, r31, r5 -/* 0593C4 8005E964 7C040050 */ subf r0, r4, r0 -/* 0593C8 8005E968 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 0593CC 8005E96C 38630001 */ addi r3, r3, 1 -/* 0593D0 8005E970 64004800 */ oris r0, r0, 0x4800 -/* 0593D4 8005E974 90610084 */ stw r3, 0x84(r1) -/* 0593D8 8005E978 60000001 */ ori r0, r0, 1 -/* 0593DC 8005E97C 7C1F292E */ stwx r0, r31, r5 -/* 0593E0 8005E980 48000010 */ b lbl_8005E990 -lbl_8005E984: -/* 0593E4 8005E984 80610084 */ lwz r3, 0x84(r1) -/* 0593E8 8005E988 38030001 */ addi r0, r3, 1 -/* 0593EC 8005E98C 90010084 */ stw r0, 0x84(r1) -lbl_8005E990: -/* 0593F0 8005E990 3C7E0001 */ addis r3, r30, 1 -/* 0593F4 8005E994 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 0593F8 8005E998 80A32058 */ lwz r5, 0x2058(r3) -/* 0593FC 8005E99C 38800001 */ li r4, 1 -/* 059400 8005E9A0 7C800030 */ slw r0, r4, r0 -/* 059404 8005E9A4 7CA00078 */ andc r0, r5, r0 -/* 059408 8005E9A8 90032058 */ stw r0, 0x2058(r3) -/* 05940C 8005E9AC 48009588 */ b lbl_80067F34 -.global lbl_8005E9B0 -lbl_8005E9B0: -/* 059410 8005E9B0 3C7E0001 */ addis r3, r30, 1 -/* 059414 8005E9B4 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 059418 8005E9B8 80032058 */ lwz r0, 0x2058(r3) -/* 05941C 8005E9BC 38800001 */ li r4, 1 -/* 059420 8005E9C0 7C842830 */ slw r4, r4, r5 -/* 059424 8005E9C4 7C002039 */ and. r0, r0, r4 -/* 059428 8005E9C8 41820348 */ beq lbl_8005ED10 -/* 05942C 8005E9CC 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 059430 8005E9D0 7D1A0214 */ add r8, r26, r0 -/* 059434 8005E9D4 84E80818 */ lwzu r7, 0x818(r8) -/* 059438 8005E9D8 578A86FE */ rlwinm r10, r28, 0x10, 0x1b, 0x1f -/* 05943C 8005E9DC 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 059440 8005E9E0 41820008 */ beq lbl_8005E9E8 -/* 059444 8005E9E4 38E00005 */ li r7, 5 -lbl_8005E9E8: -/* 059448 8005E9E8 54A0103A */ slwi r0, r5, 2 -/* 05944C 8005E9EC 7C7A0214 */ add r3, r26, r0 -/* 059450 8005E9F0 81230818 */ lwz r9, 0x818(r3) -/* 059454 8005E9F4 552005EF */ rlwinm. r0, r9, 0, 0x17, 0x17 -/* 059458 8005E9F8 4182014C */ beq lbl_8005EB44 -/* 05945C 8005E9FC 3C7E0001 */ addis r3, r30, 1 -/* 059460 8005EA00 80032064 */ lwz r0, 0x2064(r3) -/* 059464 8005EA04 39200006 */ li r9, 6 -/* 059468 8005EA08 28000000 */ cmplwi r0, 0 -/* 05946C 8005EA0C 4082000C */ bne lbl_8005EA18 -/* 059470 8005EA10 38000000 */ li r0, 0 -/* 059474 8005EA14 48000094 */ b lbl_8005EAA8 -lbl_8005EA18: -/* 059478 8005EA18 80032068 */ lwz r0, 0x2068(r3) -/* 05947C 8005EA1C 28000000 */ cmplwi r0, 0 -/* 059480 8005EA20 4082000C */ bne lbl_8005EA2C -/* 059484 8005EA24 38000000 */ li r0, 0 -/* 059488 8005EA28 48000080 */ b lbl_8005EAA8 -lbl_8005EA2C: -/* 05948C 8005EA2C 8003206C */ lwz r0, 0x206c(r3) -/* 059490 8005EA30 7C050000 */ cmpw r5, r0 -/* 059494 8005EA34 4182000C */ beq lbl_8005EA40 -/* 059498 8005EA38 38000000 */ li r0, 0 -/* 05949C 8005EA3C 4800006C */ b lbl_8005EAA8 -lbl_8005EA40: -/* 0594A0 8005EA40 80DE0034 */ lwz r6, 0x34(r30) -/* 0594A4 8005EA44 38800000 */ li r4, 0 -/* 0594A8 8005EA48 80060008 */ lwz r0, 8(r6) -/* 0594AC 8005EA4C 2C000000 */ cmpwi r0, 0 -/* 0594B0 8005EA50 7C0903A6 */ mtctr r0 -/* 0594B4 8005EA54 40810028 */ ble lbl_8005EA7C -lbl_8005EA58: -/* 0594B8 8005EA58 8066000C */ lwz r3, 0xc(r6) -/* 0594BC 8005EA5C 38040004 */ addi r0, r4, 4 -/* 0594C0 8005EA60 7C03002E */ lwzx r0, r3, r0 -/* 0594C4 8005EA64 7C1D0000 */ cmpw r29, r0 -/* 0594C8 8005EA68 4082000C */ bne lbl_8005EA74 -/* 0594CC 8005EA6C 38000000 */ li r0, 0 -/* 0594D0 8005EA70 48000010 */ b lbl_8005EA80 -lbl_8005EA74: -/* 0594D4 8005EA74 38840008 */ addi r4, r4, 8 -/* 0594D8 8005EA78 4200FFE0 */ bdnz lbl_8005EA58 -lbl_8005EA7C: -/* 0594DC 8005EA7C 38000001 */ li r0, 1 -lbl_8005EA80: -/* 0594E0 8005EA80 2C000000 */ cmpwi r0, 0 -/* 0594E4 8005EA84 40820014 */ bne lbl_8005EA98 -/* 0594E8 8005EA88 38000000 */ li r0, 0 -/* 0594EC 8005EA8C 3C7E0001 */ addis r3, r30, 1 -/* 0594F0 8005EA90 90032068 */ stw r0, 0x2068(r3) -/* 0594F4 8005EA94 48000014 */ b lbl_8005EAA8 -lbl_8005EA98: -/* 0594F8 8005EA98 3C7E0001 */ addis r3, r30, 1 -/* 0594FC 8005EA9C 38000000 */ li r0, 0 -/* 059500 8005EAA0 90032068 */ stw r0, 0x2068(r3) -/* 059504 8005EAA4 38000001 */ li r0, 1 -lbl_8005EAA8: -/* 059508 8005EAA8 2C000000 */ cmpwi r0, 0 -/* 05950C 8005EAAC 41820050 */ beq lbl_8005EAFC -/* 059510 8005EAB0 281F0000 */ cmplwi r31, 0 -/* 059514 8005EAB4 41820038 */ beq lbl_8005EAEC -/* 059518 8005EAB8 3C9E0001 */ addis r4, r30, 1 -/* 05951C 8005EABC 80610084 */ lwz r3, 0x84(r1) -/* 059520 8005EAC0 80842070 */ lwz r4, 0x2070(r4) -/* 059524 8005EAC4 38C30001 */ addi r6, r3, 1 -/* 059528 8005EAC8 5480A814 */ slwi r0, r4, 0x15 -/* 05952C 8005EACC 90C10084 */ stw r6, 0x84(r1) -/* 059530 8005EAD0 64007C06 */ oris r0, r0, 0x7c06 -/* 059534 8005EAD4 54845828 */ slwi r4, r4, 0xb -/* 059538 8005EAD8 60000378 */ ori r0, r0, 0x378 -/* 05953C 8005EADC 7C800378 */ or r0, r4, r0 -/* 059540 8005EAE0 5463103A */ slwi r3, r3, 2 -/* 059544 8005EAE4 7C1F192E */ stwx r0, r31, r3 -/* 059548 8005EAE8 4800005C */ b lbl_8005EB44 -lbl_8005EAEC: -/* 05954C 8005EAEC 80610084 */ lwz r3, 0x84(r1) -/* 059550 8005EAF0 38030001 */ addi r0, r3, 1 -/* 059554 8005EAF4 90010084 */ stw r0, 0x84(r1) -/* 059558 8005EAF8 4800004C */ b lbl_8005EB44 -lbl_8005EAFC: -/* 05955C 8005EAFC 281F0000 */ cmplwi r31, 0 -/* 059560 8005EB00 41820038 */ beq lbl_8005EB38 -/* 059564 8005EB04 54A41838 */ slwi r4, r5, 3 -/* 059568 8005EB08 80610084 */ lwz r3, 0x84(r1) -/* 05956C 8005EB0C 38040040 */ addi r0, r4, 0x40 -/* 059570 8005EB10 7C1E0214 */ add r0, r30, r0 -/* 059574 8005EB14 7C9E0050 */ subf r4, r30, r0 -/* 059578 8005EB18 38840004 */ addi r4, r4, 4 -/* 05957C 8005EB1C 38030001 */ addi r0, r3, 1 -/* 059580 8005EB20 5484043E */ clrlwi r4, r4, 0x10 -/* 059584 8005EB24 90010084 */ stw r0, 0x84(r1) -/* 059588 8005EB28 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05958C 8005EB2C 5463103A */ slwi r3, r3, 2 -/* 059590 8005EB30 7C1F192E */ stwx r0, r31, r3 -/* 059594 8005EB34 48000010 */ b lbl_8005EB44 -lbl_8005EB38: -/* 059598 8005EB38 80610084 */ lwz r3, 0x84(r1) -/* 05959C 8005EB3C 38030001 */ addi r0, r3, 1 -/* 0595A0 8005EB40 90010084 */ stw r0, 0x84(r1) -lbl_8005EB44: -/* 0595A4 8005EB44 281F0000 */ cmplwi r31, 0 -/* 0595A8 8005EB48 4082000C */ bne lbl_8005EB54 -/* 0595AC 8005EB4C 38800000 */ li r4, 0 -/* 0595B0 8005EB50 480000A4 */ b lbl_8005EBF4 -lbl_8005EB54: -/* 0595B4 8005EB54 3C7E0001 */ addis r3, r30, 1 -/* 0595B8 8005EB58 80032064 */ lwz r0, 0x2064(r3) -/* 0595BC 8005EB5C 28000000 */ cmplwi r0, 0 -/* 0595C0 8005EB60 4082000C */ bne lbl_8005EB6C -/* 0595C4 8005EB64 38800000 */ li r4, 0 -/* 0595C8 8005EB68 4800008C */ b lbl_8005EBF4 -lbl_8005EB6C: -/* 0595CC 8005EB6C 80DE0034 */ lwz r6, 0x34(r30) -/* 0595D0 8005EB70 38800000 */ li r4, 0 -/* 0595D4 8005EB74 80060008 */ lwz r0, 8(r6) -/* 0595D8 8005EB78 2C000000 */ cmpwi r0, 0 -/* 0595DC 8005EB7C 7C0903A6 */ mtctr r0 -/* 0595E0 8005EB80 40810028 */ ble lbl_8005EBA8 -lbl_8005EB84: -/* 0595E4 8005EB84 8066000C */ lwz r3, 0xc(r6) -/* 0595E8 8005EB88 38040004 */ addi r0, r4, 4 -/* 0595EC 8005EB8C 7C03002E */ lwzx r0, r3, r0 -/* 0595F0 8005EB90 7C1D0000 */ cmpw r29, r0 -/* 0595F4 8005EB94 4082000C */ bne lbl_8005EBA0 -/* 0595F8 8005EB98 38000000 */ li r0, 0 -/* 0595FC 8005EB9C 48000010 */ b lbl_8005EBAC -lbl_8005EBA0: -/* 059600 8005EBA0 38840008 */ addi r4, r4, 8 -/* 059604 8005EBA4 4200FFE0 */ bdnz lbl_8005EB84 -lbl_8005EBA8: -/* 059608 8005EBA8 38000001 */ li r0, 1 -lbl_8005EBAC: -/* 05960C 8005EBAC 2C000000 */ cmpwi r0, 0 -/* 059610 8005EBB0 4082000C */ bne lbl_8005EBBC -/* 059614 8005EBB4 38800000 */ li r4, 0 -/* 059618 8005EBB8 4800003C */ b lbl_8005EBF4 -lbl_8005EBBC: -/* 05961C 8005EBBC 7C055000 */ cmpw r5, r10 -/* 059620 8005EBC0 3C7E0001 */ addis r3, r30, 1 -/* 059624 8005EBC4 38800001 */ li r4, 1 -/* 059628 8005EBC8 9083207C */ stw r4, 0x207c(r3) -/* 05962C 8005EBCC 40820014 */ bne lbl_8005EBE0 -/* 059630 8005EBD0 3800FFFF */ li r0, -1 -/* 059634 8005EBD4 90032080 */ stw r0, 0x2080(r3) -/* 059638 8005EBD8 38800000 */ li r4, 0 -/* 05963C 8005EBDC 48000018 */ b lbl_8005EBF4 -lbl_8005EBE0: -/* 059640 8005EBE0 80032080 */ lwz r0, 0x2080(r3) -/* 059644 8005EBE4 7C002800 */ cmpw r0, r5 -/* 059648 8005EBE8 4182000C */ beq lbl_8005EBF4 -/* 05964C 8005EBEC 90A32080 */ stw r5, 0x2080(r3) -/* 059650 8005EBF0 38800000 */ li r4, 0 -lbl_8005EBF4: -/* 059654 8005EBF4 2C040000 */ cmpwi r4, 0 -/* 059658 8005EBF8 40820040 */ bne lbl_8005EC38 -/* 05965C 8005EBFC 281F0000 */ cmplwi r31, 0 -/* 059660 8005EC00 41820028 */ beq lbl_8005EC28 -/* 059664 8005EC04 80610084 */ lwz r3, 0x84(r1) -/* 059668 8005EC08 5520801E */ slwi r0, r9, 0x10 -/* 05966C 8005EC0C 64047CE0 */ oris r4, r0, 0x7ce0 -/* 059670 8005EC10 38030001 */ addi r0, r3, 1 -/* 059674 8005EC14 90010084 */ stw r0, 0x84(r1) -/* 059678 8005EC18 60844214 */ ori r4, r4, 0x4214 -/* 05967C 8005EC1C 5460103A */ slwi r0, r3, 2 -/* 059680 8005EC20 7C9F012E */ stwx r4, r31, r0 -/* 059684 8005EC24 48000044 */ b lbl_8005EC68 -lbl_8005EC28: -/* 059688 8005EC28 80610084 */ lwz r3, 0x84(r1) -/* 05968C 8005EC2C 38030001 */ addi r0, r3, 1 -/* 059690 8005EC30 90010084 */ stw r0, 0x84(r1) -/* 059694 8005EC34 48000034 */ b lbl_8005EC68 -lbl_8005EC38: -/* 059698 8005EC38 281F0000 */ cmplwi r31, 0 -/* 05969C 8005EC3C 41820020 */ beq lbl_8005EC5C -/* 0596A0 8005EC40 80610084 */ lwz r3, 0x84(r1) -/* 0596A4 8005EC44 3C806000 */ lis r4, 0x6000 -/* 0596A8 8005EC48 38030001 */ addi r0, r3, 1 -/* 0596AC 8005EC4C 90010084 */ stw r0, 0x84(r1) -/* 0596B0 8005EC50 5460103A */ slwi r0, r3, 2 -/* 0596B4 8005EC54 7C9F012E */ stwx r4, r31, r0 -/* 0596B8 8005EC58 48000010 */ b lbl_8005EC68 -lbl_8005EC5C: -/* 0596BC 8005EC5C 80610084 */ lwz r3, 0x84(r1) -/* 0596C0 8005EC60 38030001 */ addi r0, r3, 1 -/* 0596C4 8005EC64 90010084 */ stw r0, 0x84(r1) -lbl_8005EC68: -/* 0596C8 8005EC68 281F0000 */ cmplwi r31, 0 -/* 0596CC 8005EC6C 4182002C */ beq lbl_8005EC98 -/* 0596D0 8005EC70 80610084 */ lwz r3, 0x84(r1) -/* 0596D4 8005EC74 54E0A814 */ slwi r0, r7, 0x15 -/* 0596D8 8005EC78 64058807 */ oris r5, r0, 0x8807 -/* 0596DC 8005EC7C 38030001 */ addi r0, r3, 1 -/* 0596E0 8005EC80 5784043E */ clrlwi r4, r28, 0x10 -/* 0596E4 8005EC84 90010084 */ stw r0, 0x84(r1) -/* 0596E8 8005EC88 7CA02378 */ or r0, r5, r4 -/* 0596EC 8005EC8C 5463103A */ slwi r3, r3, 2 -/* 0596F0 8005EC90 7C1F192E */ stwx r0, r31, r3 -/* 0596F4 8005EC94 48000010 */ b lbl_8005ECA4 -lbl_8005EC98: -/* 0596F8 8005EC98 80610084 */ lwz r3, 0x84(r1) -/* 0596FC 8005EC9C 38030001 */ addi r0, r3, 1 -/* 059700 8005ECA0 90010084 */ stw r0, 0x84(r1) -lbl_8005ECA4: -/* 059704 8005ECA4 80080000 */ lwz r0, 0(r8) -/* 059708 8005ECA8 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 05970C 8005ECAC 4182089C */ beq lbl_8005F548 -/* 059710 8005ECB0 3C7E0001 */ addis r3, r30, 1 -/* 059714 8005ECB4 38000002 */ li r0, 2 -/* 059718 8005ECB8 90032068 */ stw r0, 0x2068(r3) -/* 05971C 8005ECBC 281F0000 */ cmplwi r31, 0 -/* 059720 8005ECC0 9143206C */ stw r10, 0x206c(r3) -/* 059724 8005ECC4 90E32070 */ stw r7, 0x2070(r3) -/* 059728 8005ECC8 41820038 */ beq lbl_8005ED00 -/* 05972C 8005ECCC 55441838 */ slwi r4, r10, 3 -/* 059730 8005ECD0 80610084 */ lwz r3, 0x84(r1) -/* 059734 8005ECD4 38040040 */ addi r0, r4, 0x40 -/* 059738 8005ECD8 7C1E0214 */ add r0, r30, r0 -/* 05973C 8005ECDC 7C9E0050 */ subf r4, r30, r0 -/* 059740 8005ECE0 38840004 */ addi r4, r4, 4 -/* 059744 8005ECE4 38030001 */ addi r0, r3, 1 -/* 059748 8005ECE8 5484043E */ clrlwi r4, r4, 0x10 -/* 05974C 8005ECEC 90010084 */ stw r0, 0x84(r1) -/* 059750 8005ECF0 3C0490A3 */ addis r0, r4, 0x90a3 -/* 059754 8005ECF4 5463103A */ slwi r3, r3, 2 -/* 059758 8005ECF8 7C1F192E */ stwx r0, r31, r3 -/* 05975C 8005ECFC 4800084C */ b lbl_8005F548 -lbl_8005ED00: -/* 059760 8005ED00 80610084 */ lwz r3, 0x84(r1) -/* 059764 8005ED04 38030001 */ addi r0, r3, 1 -/* 059768 8005ED08 90010084 */ stw r0, 0x84(r1) -/* 05976C 8005ED0C 4800083C */ b lbl_8005F548 -lbl_8005ED10: -/* 059770 8005ED10 80832060 */ lwz r4, 0x2060(r3) -/* 059774 8005ED14 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 059778 8005ED18 41820248 */ beq lbl_8005EF60 -/* 05977C 8005ED1C 2C110000 */ cmpwi r17, 0 -/* 059780 8005ED20 4182006C */ beq lbl_8005ED8C -/* 059784 8005ED24 281F0000 */ cmplwi r31, 0 -/* 059788 8005ED28 41820020 */ beq lbl_8005ED48 -/* 05978C 8005ED2C 80610084 */ lwz r3, 0x84(r1) -/* 059790 8005ED30 3C8038C0 */ lis r4, 0x38c0 -/* 059794 8005ED34 38030001 */ addi r0, r3, 1 -/* 059798 8005ED38 90010084 */ stw r0, 0x84(r1) -/* 05979C 8005ED3C 5460103A */ slwi r0, r3, 2 -/* 0597A0 8005ED40 7C9F012E */ stwx r4, r31, r0 -/* 0597A4 8005ED44 48000010 */ b lbl_8005ED54 -lbl_8005ED48: -/* 0597A8 8005ED48 80610084 */ lwz r3, 0x84(r1) -/* 0597AC 8005ED4C 38030001 */ addi r0, r3, 1 -/* 0597B0 8005ED50 90010084 */ stw r0, 0x84(r1) -lbl_8005ED54: -/* 0597B4 8005ED54 281F0000 */ cmplwi r31, 0 -/* 0597B8 8005ED58 41820028 */ beq lbl_8005ED80 -/* 0597BC 8005ED5C 80610084 */ lwz r3, 0x84(r1) -/* 0597C0 8005ED60 381E002C */ addi r0, r30, 0x2c -/* 0597C4 8005ED64 7C9E0050 */ subf r4, r30, r0 -/* 0597C8 8005ED68 38030001 */ addi r0, r3, 1 -/* 0597CC 8005ED6C 90010084 */ stw r0, 0x84(r1) -/* 0597D0 8005ED70 3C0490C3 */ addis r0, r4, 0x90c3 -/* 0597D4 8005ED74 5463103A */ slwi r3, r3, 2 -/* 0597D8 8005ED78 7C1F192E */ stwx r0, r31, r3 -/* 0597DC 8005ED7C 48000010 */ b lbl_8005ED8C -lbl_8005ED80: -/* 0597E0 8005ED80 80610084 */ lwz r3, 0x84(r1) -/* 0597E4 8005ED84 38030001 */ addi r0, r3, 1 -/* 0597E8 8005ED88 90010084 */ stw r0, 0x84(r1) -lbl_8005ED8C: -/* 0597EC 8005ED8C 281F0000 */ cmplwi r31, 0 -/* 0597F0 8005ED90 41820024 */ beq lbl_8005EDB4 -/* 0597F4 8005ED94 80610084 */ lwz r3, 0x84(r1) -/* 0597F8 8005ED98 57A0843E */ srwi r0, r29, 0x10 -/* 0597FC 8005ED9C 64043CA0 */ oris r4, r0, 0x3ca0 -/* 059800 8005EDA0 38030001 */ addi r0, r3, 1 -/* 059804 8005EDA4 90010084 */ stw r0, 0x84(r1) -/* 059808 8005EDA8 5460103A */ slwi r0, r3, 2 -/* 05980C 8005EDAC 7C9F012E */ stwx r4, r31, r0 -/* 059810 8005EDB0 48000010 */ b lbl_8005EDC0 -lbl_8005EDB4: -/* 059814 8005EDB4 80610084 */ lwz r3, 0x84(r1) -/* 059818 8005EDB8 38030001 */ addi r0, r3, 1 -/* 05981C 8005EDBC 90010084 */ stw r0, 0x84(r1) -lbl_8005EDC0: -/* 059820 8005EDC0 281F0000 */ cmplwi r31, 0 -/* 059824 8005EDC4 41820024 */ beq lbl_8005EDE8 -/* 059828 8005EDC8 80610084 */ lwz r3, 0x84(r1) -/* 05982C 8005EDCC 57A0043E */ clrlwi r0, r29, 0x10 -/* 059830 8005EDD0 640460A5 */ oris r4, r0, 0x60a5 -/* 059834 8005EDD4 38030001 */ addi r0, r3, 1 -/* 059838 8005EDD8 90010084 */ stw r0, 0x84(r1) -/* 05983C 8005EDDC 5460103A */ slwi r0, r3, 2 -/* 059840 8005EDE0 7C9F012E */ stwx r4, r31, r0 -/* 059844 8005EDE4 48000010 */ b lbl_8005EDF4 -lbl_8005EDE8: -/* 059848 8005EDE8 80610084 */ lwz r3, 0x84(r1) -/* 05984C 8005EDEC 38030001 */ addi r0, r3, 1 -/* 059850 8005EDF0 90010084 */ stw r0, 0x84(r1) -lbl_8005EDF4: -/* 059854 8005EDF4 281F0000 */ cmplwi r31, 0 -/* 059858 8005EDF8 41820034 */ beq lbl_8005EE2C -/* 05985C 8005EDFC 80610084 */ lwz r3, 0x84(r1) -/* 059860 8005EE00 801E0B50 */ lwz r0, 0xb50(r30) -/* 059864 8005EE04 5465103A */ slwi r5, r3, 2 -/* 059868 8005EE08 7C9F2A14 */ add r4, r31, r5 -/* 05986C 8005EE0C 7C040050 */ subf r0, r4, r0 -/* 059870 8005EE10 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 059874 8005EE14 38630001 */ addi r3, r3, 1 -/* 059878 8005EE18 64004800 */ oris r0, r0, 0x4800 -/* 05987C 8005EE1C 90610084 */ stw r3, 0x84(r1) -/* 059880 8005EE20 60000001 */ ori r0, r0, 1 -/* 059884 8005EE24 7C1F292E */ stwx r0, r31, r5 -/* 059888 8005EE28 48000010 */ b lbl_8005EE38 -lbl_8005EE2C: -/* 05988C 8005EE2C 80610084 */ lwz r3, 0x84(r1) -/* 059890 8005EE30 38030001 */ addi r0, r3, 1 -/* 059894 8005EE34 90010084 */ stw r0, 0x84(r1) -lbl_8005EE38: -/* 059898 8005EE38 3C7E0001 */ addis r3, r30, 1 -/* 05989C 8005EE3C 80032060 */ lwz r0, 0x2060(r3) -/* 0598A0 8005EE40 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 0598A4 8005EE44 41820060 */ beq lbl_8005EEA4 -/* 0598A8 8005EE48 281F0000 */ cmplwi r31, 0 -/* 0598AC 8005EE4C 40820014 */ bne lbl_8005EE60 -/* 0598B0 8005EE50 80610084 */ lwz r3, 0x84(r1) -/* 0598B4 8005EE54 38030003 */ addi r0, r3, 3 -/* 0598B8 8005EE58 90010084 */ stw r0, 0x84(r1) -/* 0598BC 8005EE5C 4800008C */ b lbl_8005EEE8 -lbl_8005EE60: -/* 0598C0 8005EE60 80610084 */ lwz r3, 0x84(r1) -/* 0598C4 8005EE64 3C806000 */ lis r4, 0x6000 -/* 0598C8 8005EE68 38030001 */ addi r0, r3, 1 -/* 0598CC 8005EE6C 90010084 */ stw r0, 0x84(r1) -/* 0598D0 8005EE70 5460103A */ slwi r0, r3, 2 -/* 0598D4 8005EE74 7C9F012E */ stwx r4, r31, r0 -/* 0598D8 8005EE78 80610084 */ lwz r3, 0x84(r1) -/* 0598DC 8005EE7C 38030001 */ addi r0, r3, 1 -/* 0598E0 8005EE80 90010084 */ stw r0, 0x84(r1) -/* 0598E4 8005EE84 5460103A */ slwi r0, r3, 2 -/* 0598E8 8005EE88 7C9F012E */ stwx r4, r31, r0 -/* 0598EC 8005EE8C 80610084 */ lwz r3, 0x84(r1) -/* 0598F0 8005EE90 38030001 */ addi r0, r3, 1 -/* 0598F4 8005EE94 90010084 */ stw r0, 0x84(r1) -/* 0598F8 8005EE98 5460103A */ slwi r0, r3, 2 -/* 0598FC 8005EE9C 7C9F012E */ stwx r4, r31, r0 -/* 059900 8005EEA0 48000048 */ b lbl_8005EEE8 -lbl_8005EEA4: -/* 059904 8005EEA4 281F0000 */ cmplwi r31, 0 -/* 059908 8005EEA8 40820014 */ bne lbl_8005EEBC -/* 05990C 8005EEAC 80610084 */ lwz r3, 0x84(r1) -/* 059910 8005EEB0 38030002 */ addi r0, r3, 2 -/* 059914 8005EEB4 90010084 */ stw r0, 0x84(r1) -/* 059918 8005EEB8 48000030 */ b lbl_8005EEE8 -lbl_8005EEBC: -/* 05991C 8005EEBC 80610084 */ lwz r3, 0x84(r1) -/* 059920 8005EEC0 3C806000 */ lis r4, 0x6000 -/* 059924 8005EEC4 38030001 */ addi r0, r3, 1 -/* 059928 8005EEC8 90010084 */ stw r0, 0x84(r1) -/* 05992C 8005EECC 5460103A */ slwi r0, r3, 2 -/* 059930 8005EED0 7C9F012E */ stwx r4, r31, r0 -/* 059934 8005EED4 80610084 */ lwz r3, 0x84(r1) -/* 059938 8005EED8 38030001 */ addi r0, r3, 1 -/* 05993C 8005EEDC 90010084 */ stw r0, 0x84(r1) -/* 059940 8005EEE0 5460103A */ slwi r0, r3, 2 -/* 059944 8005EEE4 7C9F012E */ stwx r4, r31, r0 -lbl_8005EEE8: -/* 059948 8005EEE8 2C110000 */ cmpwi r17, 0 -/* 05994C 8005EEEC 4182065C */ beq lbl_8005F548 -/* 059950 8005EEF0 281F0000 */ cmplwi r31, 0 -/* 059954 8005EEF4 41820024 */ beq lbl_8005EF18 -/* 059958 8005EEF8 80610084 */ lwz r3, 0x84(r1) -/* 05995C 8005EEFC 3C8038C1 */ lis r4, 0x38c1 -/* 059960 8005EF00 3884FFFF */ addi r4, r4, -1 -/* 059964 8005EF04 38030001 */ addi r0, r3, 1 -/* 059968 8005EF08 90010084 */ stw r0, 0x84(r1) -/* 05996C 8005EF0C 5460103A */ slwi r0, r3, 2 -/* 059970 8005EF10 7C9F012E */ stwx r4, r31, r0 -/* 059974 8005EF14 48000010 */ b lbl_8005EF24 -lbl_8005EF18: -/* 059978 8005EF18 80610084 */ lwz r3, 0x84(r1) -/* 05997C 8005EF1C 38030001 */ addi r0, r3, 1 -/* 059980 8005EF20 90010084 */ stw r0, 0x84(r1) -lbl_8005EF24: -/* 059984 8005EF24 281F0000 */ cmplwi r31, 0 -/* 059988 8005EF28 41820028 */ beq lbl_8005EF50 -/* 05998C 8005EF2C 80610084 */ lwz r3, 0x84(r1) -/* 059990 8005EF30 381E002C */ addi r0, r30, 0x2c -/* 059994 8005EF34 7C9E0050 */ subf r4, r30, r0 -/* 059998 8005EF38 38030001 */ addi r0, r3, 1 -/* 05999C 8005EF3C 90010084 */ stw r0, 0x84(r1) -/* 0599A0 8005EF40 3C0490C3 */ addis r0, r4, 0x90c3 -/* 0599A4 8005EF44 5463103A */ slwi r3, r3, 2 -/* 0599A8 8005EF48 7C1F192E */ stwx r0, r31, r3 -/* 0599AC 8005EF4C 480005FC */ b lbl_8005F548 -lbl_8005EF50: -/* 0599B0 8005EF50 80610084 */ lwz r3, 0x84(r1) -/* 0599B4 8005EF54 38030001 */ addi r0, r3, 1 -/* 0599B8 8005EF58 90010084 */ stw r0, 0x84(r1) -/* 0599BC 8005EF5C 480005EC */ b lbl_8005F548 -lbl_8005EF60: -/* 0599C0 8005EF60 548007FF */ clrlwi. r0, r4, 0x1f -/* 0599C4 8005EF64 418205E4 */ beq lbl_8005F548 -/* 0599C8 8005EF68 54A0103A */ slwi r0, r5, 2 -/* 0599CC 8005EF6C 7C9A0214 */ add r4, r26, r0 -/* 0599D0 8005EF70 80E40818 */ lwz r7, 0x818(r4) -/* 0599D4 8005EF74 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 0599D8 8005EF78 41820148 */ beq lbl_8005F0C0 -/* 0599DC 8005EF7C 80032064 */ lwz r0, 0x2064(r3) -/* 0599E0 8005EF80 38E00006 */ li r7, 6 -/* 0599E4 8005EF84 28000000 */ cmplwi r0, 0 -/* 0599E8 8005EF88 4082000C */ bne lbl_8005EF94 -/* 0599EC 8005EF8C 38000000 */ li r0, 0 -/* 0599F0 8005EF90 48000094 */ b lbl_8005F024 -lbl_8005EF94: -/* 0599F4 8005EF94 80032068 */ lwz r0, 0x2068(r3) -/* 0599F8 8005EF98 28000000 */ cmplwi r0, 0 -/* 0599FC 8005EF9C 4082000C */ bne lbl_8005EFA8 -/* 059A00 8005EFA0 38000000 */ li r0, 0 -/* 059A04 8005EFA4 48000080 */ b lbl_8005F024 -lbl_8005EFA8: -/* 059A08 8005EFA8 8003206C */ lwz r0, 0x206c(r3) -/* 059A0C 8005EFAC 7C050000 */ cmpw r5, r0 -/* 059A10 8005EFB0 4182000C */ beq lbl_8005EFBC -/* 059A14 8005EFB4 38000000 */ li r0, 0 -/* 059A18 8005EFB8 4800006C */ b lbl_8005F024 -lbl_8005EFBC: -/* 059A1C 8005EFBC 80DE0034 */ lwz r6, 0x34(r30) -/* 059A20 8005EFC0 38800000 */ li r4, 0 -/* 059A24 8005EFC4 80060008 */ lwz r0, 8(r6) -/* 059A28 8005EFC8 2C000000 */ cmpwi r0, 0 -/* 059A2C 8005EFCC 7C0903A6 */ mtctr r0 -/* 059A30 8005EFD0 40810028 */ ble lbl_8005EFF8 -lbl_8005EFD4: -/* 059A34 8005EFD4 8066000C */ lwz r3, 0xc(r6) -/* 059A38 8005EFD8 38040004 */ addi r0, r4, 4 -/* 059A3C 8005EFDC 7C03002E */ lwzx r0, r3, r0 -/* 059A40 8005EFE0 7C1D0000 */ cmpw r29, r0 -/* 059A44 8005EFE4 4082000C */ bne lbl_8005EFF0 -/* 059A48 8005EFE8 38000000 */ li r0, 0 -/* 059A4C 8005EFEC 48000010 */ b lbl_8005EFFC -lbl_8005EFF0: -/* 059A50 8005EFF0 38840008 */ addi r4, r4, 8 -/* 059A54 8005EFF4 4200FFE0 */ bdnz lbl_8005EFD4 -lbl_8005EFF8: -/* 059A58 8005EFF8 38000001 */ li r0, 1 -lbl_8005EFFC: -/* 059A5C 8005EFFC 2C000000 */ cmpwi r0, 0 -/* 059A60 8005F000 40820014 */ bne lbl_8005F014 -/* 059A64 8005F004 38000000 */ li r0, 0 -/* 059A68 8005F008 3C7E0001 */ addis r3, r30, 1 -/* 059A6C 8005F00C 90032068 */ stw r0, 0x2068(r3) -/* 059A70 8005F010 48000014 */ b lbl_8005F024 -lbl_8005F014: -/* 059A74 8005F014 3C7E0001 */ addis r3, r30, 1 -/* 059A78 8005F018 38000000 */ li r0, 0 -/* 059A7C 8005F01C 90032068 */ stw r0, 0x2068(r3) -/* 059A80 8005F020 38000001 */ li r0, 1 -lbl_8005F024: -/* 059A84 8005F024 2C000000 */ cmpwi r0, 0 -/* 059A88 8005F028 41820050 */ beq lbl_8005F078 -/* 059A8C 8005F02C 281F0000 */ cmplwi r31, 0 -/* 059A90 8005F030 41820038 */ beq lbl_8005F068 -/* 059A94 8005F034 3C9E0001 */ addis r4, r30, 1 -/* 059A98 8005F038 80610084 */ lwz r3, 0x84(r1) -/* 059A9C 8005F03C 80842070 */ lwz r4, 0x2070(r4) -/* 059AA0 8005F040 38A30001 */ addi r5, r3, 1 -/* 059AA4 8005F044 5480A814 */ slwi r0, r4, 0x15 -/* 059AA8 8005F048 90A10084 */ stw r5, 0x84(r1) -/* 059AAC 8005F04C 64007C06 */ oris r0, r0, 0x7c06 -/* 059AB0 8005F050 54845828 */ slwi r4, r4, 0xb -/* 059AB4 8005F054 60000378 */ ori r0, r0, 0x378 -/* 059AB8 8005F058 7C800378 */ or r0, r4, r0 -/* 059ABC 8005F05C 5463103A */ slwi r3, r3, 2 -/* 059AC0 8005F060 7C1F192E */ stwx r0, r31, r3 -/* 059AC4 8005F064 4800005C */ b lbl_8005F0C0 -lbl_8005F068: -/* 059AC8 8005F068 80610084 */ lwz r3, 0x84(r1) -/* 059ACC 8005F06C 38030001 */ addi r0, r3, 1 -/* 059AD0 8005F070 90010084 */ stw r0, 0x84(r1) -/* 059AD4 8005F074 4800004C */ b lbl_8005F0C0 -lbl_8005F078: -/* 059AD8 8005F078 281F0000 */ cmplwi r31, 0 -/* 059ADC 8005F07C 41820038 */ beq lbl_8005F0B4 -/* 059AE0 8005F080 54A41838 */ slwi r4, r5, 3 -/* 059AE4 8005F084 80610084 */ lwz r3, 0x84(r1) -/* 059AE8 8005F088 38040040 */ addi r0, r4, 0x40 -/* 059AEC 8005F08C 7C1E0214 */ add r0, r30, r0 -/* 059AF0 8005F090 7C9E0050 */ subf r4, r30, r0 -/* 059AF4 8005F094 38840004 */ addi r4, r4, 4 -/* 059AF8 8005F098 38030001 */ addi r0, r3, 1 -/* 059AFC 8005F09C 5484043E */ clrlwi r4, r4, 0x10 -/* 059B00 8005F0A0 90010084 */ stw r0, 0x84(r1) -/* 059B04 8005F0A4 3C0480C3 */ addis r0, r4, 0x80c3 -/* 059B08 8005F0A8 5463103A */ slwi r3, r3, 2 -/* 059B0C 8005F0AC 7C1F192E */ stwx r0, r31, r3 -/* 059B10 8005F0B0 48000010 */ b lbl_8005F0C0 -lbl_8005F0B4: -/* 059B14 8005F0B4 80610084 */ lwz r3, 0x84(r1) -/* 059B18 8005F0B8 38030001 */ addi r0, r3, 1 -/* 059B1C 8005F0BC 90010084 */ stw r0, 0x84(r1) -lbl_8005F0C0: -/* 059B20 8005F0C0 281F0000 */ cmplwi r31, 0 -/* 059B24 8005F0C4 4182002C */ beq lbl_8005F0F0 -/* 059B28 8005F0C8 80610084 */ lwz r3, 0x84(r1) -/* 059B2C 8005F0CC 54E0801E */ slwi r0, r7, 0x10 -/* 059B30 8005F0D0 640538A0 */ oris r5, r0, 0x38a0 -/* 059B34 8005F0D4 38030001 */ addi r0, r3, 1 -/* 059B38 8005F0D8 5784043E */ clrlwi r4, r28, 0x10 -/* 059B3C 8005F0DC 90010084 */ stw r0, 0x84(r1) -/* 059B40 8005F0E0 7CA02378 */ or r0, r5, r4 -/* 059B44 8005F0E4 5463103A */ slwi r3, r3, 2 -/* 059B48 8005F0E8 7C1F192E */ stwx r0, r31, r3 -/* 059B4C 8005F0EC 48000010 */ b lbl_8005F0FC -lbl_8005F0F0: -/* 059B50 8005F0F0 80610084 */ lwz r3, 0x84(r1) -/* 059B54 8005F0F4 38030001 */ addi r0, r3, 1 -/* 059B58 8005F0F8 90010084 */ stw r0, 0x84(r1) -lbl_8005F0FC: -/* 059B5C 8005F0FC 281F0000 */ cmplwi r31, 0 -/* 059B60 8005F100 41820024 */ beq lbl_8005F124 -/* 059B64 8005F104 80610084 */ lwz r3, 0x84(r1) -/* 059B68 8005F108 3C8054A7 */ lis r4, 0x54a7 -/* 059B6C 8005F10C 3884843E */ addi r4, r4, -31682 -/* 059B70 8005F110 38030001 */ addi r0, r3, 1 -/* 059B74 8005F114 90010084 */ stw r0, 0x84(r1) -/* 059B78 8005F118 5460103A */ slwi r0, r3, 2 -/* 059B7C 8005F11C 7C9F012E */ stwx r4, r31, r0 -/* 059B80 8005F120 48000010 */ b lbl_8005F130 -lbl_8005F124: -/* 059B84 8005F124 80610084 */ lwz r3, 0x84(r1) -/* 059B88 8005F128 38030001 */ addi r0, r3, 1 -/* 059B8C 8005F12C 90010084 */ stw r0, 0x84(r1) -lbl_8005F130: -/* 059B90 8005F130 281F0000 */ cmplwi r31, 0 -/* 059B94 8005F134 41820024 */ beq lbl_8005F158 -/* 059B98 8005F138 80610084 */ lwz r3, 0x84(r1) -/* 059B9C 8005F13C 3C807CC6 */ lis r4, 0x7cc6 -/* 059BA0 8005F140 388448AE */ addi r4, r4, 0x48ae -/* 059BA4 8005F144 38030001 */ addi r0, r3, 1 -/* 059BA8 8005F148 90010084 */ stw r0, 0x84(r1) -/* 059BAC 8005F14C 5460103A */ slwi r0, r3, 2 -/* 059BB0 8005F150 7C9F012E */ stwx r4, r31, r0 -/* 059BB4 8005F154 48000010 */ b lbl_8005F164 -lbl_8005F158: -/* 059BB8 8005F158 80610084 */ lwz r3, 0x84(r1) -/* 059BBC 8005F15C 38030001 */ addi r0, r3, 1 -/* 059BC0 8005F160 90010084 */ stw r0, 0x84(r1) -lbl_8005F164: -/* 059BC4 8005F164 281F0000 */ cmplwi r31, 0 -/* 059BC8 8005F168 41820024 */ beq lbl_8005F18C -/* 059BCC 8005F16C 80610084 */ lwz r3, 0x84(r1) -/* 059BD0 8005F170 3C802C06 */ lis r4, 0x2c06 -/* 059BD4 8005F174 38840080 */ addi r4, r4, 0x80 -/* 059BD8 8005F178 38030001 */ addi r0, r3, 1 -/* 059BDC 8005F17C 90010084 */ stw r0, 0x84(r1) -/* 059BE0 8005F180 5460103A */ slwi r0, r3, 2 -/* 059BE4 8005F184 7C9F012E */ stwx r4, r31, r0 -/* 059BE8 8005F188 48000010 */ b lbl_8005F198 -lbl_8005F18C: -/* 059BEC 8005F18C 80610084 */ lwz r3, 0x84(r1) -/* 059BF0 8005F190 38030001 */ addi r0, r3, 1 -/* 059BF4 8005F194 90010084 */ stw r0, 0x84(r1) -lbl_8005F198: -/* 059BF8 8005F198 281F0000 */ cmplwi r31, 0 -/* 059BFC 8005F19C 41820024 */ beq lbl_8005F1C0 -/* 059C00 8005F1A0 80610084 */ lwz r3, 0x84(r1) -/* 059C04 8005F1A4 3C804180 */ lis r4, 0x4180 -/* 059C08 8005F1A8 38840010 */ addi r4, r4, 0x10 -/* 059C0C 8005F1AC 38030001 */ addi r0, r3, 1 -/* 059C10 8005F1B0 90010084 */ stw r0, 0x84(r1) -/* 059C14 8005F1B4 5460103A */ slwi r0, r3, 2 -/* 059C18 8005F1B8 7C9F012E */ stwx r4, r31, r0 -/* 059C1C 8005F1BC 48000010 */ b lbl_8005F1CC -lbl_8005F1C0: -/* 059C20 8005F1C0 80610084 */ lwz r3, 0x84(r1) -/* 059C24 8005F1C4 38030001 */ addi r0, r3, 1 -/* 059C28 8005F1C8 90010084 */ stw r0, 0x84(r1) -lbl_8005F1CC: -/* 059C2C 8005F1CC 281F0000 */ cmplwi r31, 0 -/* 059C30 8005F1D0 41820034 */ beq lbl_8005F204 -/* 059C34 8005F1D4 80610084 */ lwz r3, 0x84(r1) -/* 059C38 8005F1D8 800D8A5C */ lwz r0, cpuCompile_LBU_function@sda21(r13) -/* 059C3C 8005F1DC 5465103A */ slwi r5, r3, 2 -/* 059C40 8005F1E0 7C9F2A14 */ add r4, r31, r5 -/* 059C44 8005F1E4 7C040050 */ subf r0, r4, r0 -/* 059C48 8005F1E8 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 059C4C 8005F1EC 38630001 */ addi r3, r3, 1 -/* 059C50 8005F1F0 64004800 */ oris r0, r0, 0x4800 -/* 059C54 8005F1F4 90610084 */ stw r3, 0x84(r1) -/* 059C58 8005F1F8 60000001 */ ori r0, r0, 1 -/* 059C5C 8005F1FC 7C1F292E */ stwx r0, r31, r5 -/* 059C60 8005F200 48000010 */ b lbl_8005F210 -lbl_8005F204: -/* 059C64 8005F204 80610084 */ lwz r3, 0x84(r1) -/* 059C68 8005F208 38030001 */ addi r0, r3, 1 -/* 059C6C 8005F20C 90010084 */ stw r0, 0x84(r1) -lbl_8005F210: -/* 059C70 8005F210 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 059C74 8005F214 7C7A1A14 */ add r3, r26, r3 -/* 059C78 8005F218 80830818 */ lwz r4, 0x818(r3) -/* 059C7C 8005F21C 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 059C80 8005F220 548305EF */ rlwinm. r3, r4, 0, 0x17, 0x17 -/* 059C84 8005F224 4182004C */ beq lbl_8005F270 -/* 059C88 8005F228 281F0000 */ cmplwi r31, 0 -/* 059C8C 8005F22C 41820034 */ beq lbl_8005F260 -/* 059C90 8005F230 54041838 */ slwi r4, r0, 3 -/* 059C94 8005F234 80610084 */ lwz r3, 0x84(r1) -/* 059C98 8005F238 38040040 */ addi r0, r4, 0x40 -/* 059C9C 8005F23C 7C1E0214 */ add r0, r30, r0 -/* 059CA0 8005F240 7C9E0050 */ subf r4, r30, r0 -/* 059CA4 8005F244 38030001 */ addi r0, r3, 1 -/* 059CA8 8005F248 3C8490A3 */ addis r4, r4, 0x90a3 -/* 059CAC 8005F24C 90010084 */ stw r0, 0x84(r1) -/* 059CB0 8005F250 38040004 */ addi r0, r4, 4 -/* 059CB4 8005F254 5463103A */ slwi r3, r3, 2 -/* 059CB8 8005F258 7C1F192E */ stwx r0, r31, r3 -/* 059CBC 8005F25C 4800004C */ b lbl_8005F2A8 -lbl_8005F260: -/* 059CC0 8005F260 80610084 */ lwz r3, 0x84(r1) -/* 059CC4 8005F264 38030001 */ addi r0, r3, 1 -/* 059CC8 8005F268 90010084 */ stw r0, 0x84(r1) -/* 059CCC 8005F26C 4800003C */ b lbl_8005F2A8 -lbl_8005F270: -/* 059CD0 8005F270 281F0000 */ cmplwi r31, 0 -/* 059CD4 8005F274 41820028 */ beq lbl_8005F29C -/* 059CD8 8005F278 80610084 */ lwz r3, 0x84(r1) -/* 059CDC 8005F27C 5480801E */ slwi r0, r4, 0x10 -/* 059CE0 8005F280 64047CA0 */ oris r4, r0, 0x7ca0 -/* 059CE4 8005F284 38030001 */ addi r0, r3, 1 -/* 059CE8 8005F288 90010084 */ stw r0, 0x84(r1) -/* 059CEC 8005F28C 60842B78 */ ori r4, r4, 0x2b78 -/* 059CF0 8005F290 5460103A */ slwi r0, r3, 2 -/* 059CF4 8005F294 7C9F012E */ stwx r4, r31, r0 -/* 059CF8 8005F298 48000010 */ b lbl_8005F2A8 -lbl_8005F29C: -/* 059CFC 8005F29C 80610084 */ lwz r3, 0x84(r1) -/* 059D00 8005F2A0 38030001 */ addi r0, r3, 1 -/* 059D04 8005F2A4 90010084 */ stw r0, 0x84(r1) -lbl_8005F2A8: -/* 059D08 8005F2A8 2C110000 */ cmpwi r17, 0 -/* 059D0C 8005F2AC 418201BC */ beq lbl_8005F468 -/* 059D10 8005F2B0 281F0000 */ cmplwi r31, 0 -/* 059D14 8005F2B4 41820024 */ beq lbl_8005F2D8 -/* 059D18 8005F2B8 80610084 */ lwz r3, 0x84(r1) -/* 059D1C 8005F2BC 3C804280 */ lis r4, 0x4280 -/* 059D20 8005F2C0 38840020 */ addi r4, r4, 0x20 -/* 059D24 8005F2C4 38030001 */ addi r0, r3, 1 -/* 059D28 8005F2C8 90010084 */ stw r0, 0x84(r1) -/* 059D2C 8005F2CC 5460103A */ slwi r0, r3, 2 -/* 059D30 8005F2D0 7C9F012E */ stwx r4, r31, r0 -/* 059D34 8005F2D4 48000010 */ b lbl_8005F2E4 -lbl_8005F2D8: -/* 059D38 8005F2D8 80610084 */ lwz r3, 0x84(r1) -/* 059D3C 8005F2DC 38030001 */ addi r0, r3, 1 -/* 059D40 8005F2E0 90010084 */ stw r0, 0x84(r1) -lbl_8005F2E4: -/* 059D44 8005F2E4 281F0000 */ cmplwi r31, 0 -/* 059D48 8005F2E8 41820020 */ beq lbl_8005F308 -/* 059D4C 8005F2EC 80610084 */ lwz r3, 0x84(r1) -/* 059D50 8005F2F0 3C8038C0 */ lis r4, 0x38c0 -/* 059D54 8005F2F4 38030001 */ addi r0, r3, 1 -/* 059D58 8005F2F8 90010084 */ stw r0, 0x84(r1) -/* 059D5C 8005F2FC 5460103A */ slwi r0, r3, 2 -/* 059D60 8005F300 7C9F012E */ stwx r4, r31, r0 -/* 059D64 8005F304 48000010 */ b lbl_8005F314 -lbl_8005F308: -/* 059D68 8005F308 80610084 */ lwz r3, 0x84(r1) -/* 059D6C 8005F30C 38030001 */ addi r0, r3, 1 -/* 059D70 8005F310 90010084 */ stw r0, 0x84(r1) -lbl_8005F314: -/* 059D74 8005F314 281F0000 */ cmplwi r31, 0 -/* 059D78 8005F318 41820028 */ beq lbl_8005F340 -/* 059D7C 8005F31C 80610084 */ lwz r3, 0x84(r1) -/* 059D80 8005F320 381E002C */ addi r0, r30, 0x2c -/* 059D84 8005F324 7C9E0050 */ subf r4, r30, r0 -/* 059D88 8005F328 38030001 */ addi r0, r3, 1 -/* 059D8C 8005F32C 90010084 */ stw r0, 0x84(r1) -/* 059D90 8005F330 3C0490C3 */ addis r0, r4, 0x90c3 -/* 059D94 8005F334 5463103A */ slwi r3, r3, 2 -/* 059D98 8005F338 7C1F192E */ stwx r0, r31, r3 -/* 059D9C 8005F33C 48000010 */ b lbl_8005F34C -lbl_8005F340: -/* 059DA0 8005F340 80610084 */ lwz r3, 0x84(r1) -/* 059DA4 8005F344 38030001 */ addi r0, r3, 1 -/* 059DA8 8005F348 90010084 */ stw r0, 0x84(r1) -lbl_8005F34C: -/* 059DAC 8005F34C 281F0000 */ cmplwi r31, 0 -/* 059DB0 8005F350 41820024 */ beq lbl_8005F374 -/* 059DB4 8005F354 80610084 */ lwz r3, 0x84(r1) -/* 059DB8 8005F358 57A0843E */ srwi r0, r29, 0x10 -/* 059DBC 8005F35C 64043CA0 */ oris r4, r0, 0x3ca0 -/* 059DC0 8005F360 38030001 */ addi r0, r3, 1 -/* 059DC4 8005F364 90010084 */ stw r0, 0x84(r1) -/* 059DC8 8005F368 5460103A */ slwi r0, r3, 2 -/* 059DCC 8005F36C 7C9F012E */ stwx r4, r31, r0 -/* 059DD0 8005F370 48000010 */ b lbl_8005F380 -lbl_8005F374: -/* 059DD4 8005F374 80610084 */ lwz r3, 0x84(r1) -/* 059DD8 8005F378 38030001 */ addi r0, r3, 1 -/* 059DDC 8005F37C 90010084 */ stw r0, 0x84(r1) -lbl_8005F380: -/* 059DE0 8005F380 281F0000 */ cmplwi r31, 0 -/* 059DE4 8005F384 41820024 */ beq lbl_8005F3A8 -/* 059DE8 8005F388 80610084 */ lwz r3, 0x84(r1) -/* 059DEC 8005F38C 57A0043E */ clrlwi r0, r29, 0x10 -/* 059DF0 8005F390 640460A5 */ oris r4, r0, 0x60a5 -/* 059DF4 8005F394 38030001 */ addi r0, r3, 1 -/* 059DF8 8005F398 90010084 */ stw r0, 0x84(r1) -/* 059DFC 8005F39C 5460103A */ slwi r0, r3, 2 -/* 059E00 8005F3A0 7C9F012E */ stwx r4, r31, r0 -/* 059E04 8005F3A4 48000010 */ b lbl_8005F3B4 -lbl_8005F3A8: -/* 059E08 8005F3A8 80610084 */ lwz r3, 0x84(r1) -/* 059E0C 8005F3AC 38030001 */ addi r0, r3, 1 -/* 059E10 8005F3B0 90010084 */ stw r0, 0x84(r1) -lbl_8005F3B4: -/* 059E14 8005F3B4 281F0000 */ cmplwi r31, 0 -/* 059E18 8005F3B8 41820034 */ beq lbl_8005F3EC -/* 059E1C 8005F3BC 80610084 */ lwz r3, 0x84(r1) -/* 059E20 8005F3C0 801E0B40 */ lwz r0, 0xb40(r30) -/* 059E24 8005F3C4 5465103A */ slwi r5, r3, 2 -/* 059E28 8005F3C8 7C9F2A14 */ add r4, r31, r5 -/* 059E2C 8005F3CC 7C040050 */ subf r0, r4, r0 -/* 059E30 8005F3D0 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 059E34 8005F3D4 38630001 */ addi r3, r3, 1 -/* 059E38 8005F3D8 64004800 */ oris r0, r0, 0x4800 -/* 059E3C 8005F3DC 90610084 */ stw r3, 0x84(r1) -/* 059E40 8005F3E0 60000001 */ ori r0, r0, 1 -/* 059E44 8005F3E4 7C1F292E */ stwx r0, r31, r5 -/* 059E48 8005F3E8 48000010 */ b lbl_8005F3F8 -lbl_8005F3EC: -/* 059E4C 8005F3EC 80610084 */ lwz r3, 0x84(r1) -/* 059E50 8005F3F0 38030001 */ addi r0, r3, 1 -/* 059E54 8005F3F4 90010084 */ stw r0, 0x84(r1) -lbl_8005F3F8: -/* 059E58 8005F3F8 281F0000 */ cmplwi r31, 0 -/* 059E5C 8005F3FC 41820024 */ beq lbl_8005F420 -/* 059E60 8005F400 80610084 */ lwz r3, 0x84(r1) -/* 059E64 8005F404 3C8038C1 */ lis r4, 0x38c1 -/* 059E68 8005F408 3884FFFF */ addi r4, r4, -1 -/* 059E6C 8005F40C 38030001 */ addi r0, r3, 1 -/* 059E70 8005F410 90010084 */ stw r0, 0x84(r1) -/* 059E74 8005F414 5460103A */ slwi r0, r3, 2 -/* 059E78 8005F418 7C9F012E */ stwx r4, r31, r0 -/* 059E7C 8005F41C 48000010 */ b lbl_8005F42C -lbl_8005F420: -/* 059E80 8005F420 80610084 */ lwz r3, 0x84(r1) -/* 059E84 8005F424 38030001 */ addi r0, r3, 1 -/* 059E88 8005F428 90010084 */ stw r0, 0x84(r1) -lbl_8005F42C: -/* 059E8C 8005F42C 281F0000 */ cmplwi r31, 0 -/* 059E90 8005F430 41820028 */ beq lbl_8005F458 -/* 059E94 8005F434 80610084 */ lwz r3, 0x84(r1) -/* 059E98 8005F438 381E002C */ addi r0, r30, 0x2c -/* 059E9C 8005F43C 7C9E0050 */ subf r4, r30, r0 -/* 059EA0 8005F440 38030001 */ addi r0, r3, 1 -/* 059EA4 8005F444 90010084 */ stw r0, 0x84(r1) -/* 059EA8 8005F448 3C0490C3 */ addis r0, r4, 0x90c3 -/* 059EAC 8005F44C 5463103A */ slwi r3, r3, 2 -/* 059EB0 8005F450 7C1F192E */ stwx r0, r31, r3 -/* 059EB4 8005F454 480000F4 */ b lbl_8005F548 -lbl_8005F458: -/* 059EB8 8005F458 80610084 */ lwz r3, 0x84(r1) -/* 059EBC 8005F45C 38030001 */ addi r0, r3, 1 -/* 059EC0 8005F460 90010084 */ stw r0, 0x84(r1) -/* 059EC4 8005F464 480000E4 */ b lbl_8005F548 -lbl_8005F468: -/* 059EC8 8005F468 281F0000 */ cmplwi r31, 0 -/* 059ECC 8005F46C 41820024 */ beq lbl_8005F490 -/* 059ED0 8005F470 80610084 */ lwz r3, 0x84(r1) -/* 059ED4 8005F474 3C804280 */ lis r4, 0x4280 -/* 059ED8 8005F478 38840010 */ addi r4, r4, 0x10 -/* 059EDC 8005F47C 38030001 */ addi r0, r3, 1 -/* 059EE0 8005F480 90010084 */ stw r0, 0x84(r1) -/* 059EE4 8005F484 5460103A */ slwi r0, r3, 2 -/* 059EE8 8005F488 7C9F012E */ stwx r4, r31, r0 -/* 059EEC 8005F48C 48000010 */ b lbl_8005F49C -lbl_8005F490: -/* 059EF0 8005F490 80610084 */ lwz r3, 0x84(r1) -/* 059EF4 8005F494 38030001 */ addi r0, r3, 1 -/* 059EF8 8005F498 90010084 */ stw r0, 0x84(r1) -lbl_8005F49C: -/* 059EFC 8005F49C 281F0000 */ cmplwi r31, 0 -/* 059F00 8005F4A0 41820024 */ beq lbl_8005F4C4 -/* 059F04 8005F4A4 80610084 */ lwz r3, 0x84(r1) -/* 059F08 8005F4A8 57A0843E */ srwi r0, r29, 0x10 -/* 059F0C 8005F4AC 64043CA0 */ oris r4, r0, 0x3ca0 -/* 059F10 8005F4B0 38030001 */ addi r0, r3, 1 -/* 059F14 8005F4B4 90010084 */ stw r0, 0x84(r1) -/* 059F18 8005F4B8 5460103A */ slwi r0, r3, 2 -/* 059F1C 8005F4BC 7C9F012E */ stwx r4, r31, r0 -/* 059F20 8005F4C0 48000010 */ b lbl_8005F4D0 -lbl_8005F4C4: -/* 059F24 8005F4C4 80610084 */ lwz r3, 0x84(r1) -/* 059F28 8005F4C8 38030001 */ addi r0, r3, 1 -/* 059F2C 8005F4CC 90010084 */ stw r0, 0x84(r1) -lbl_8005F4D0: -/* 059F30 8005F4D0 281F0000 */ cmplwi r31, 0 -/* 059F34 8005F4D4 41820024 */ beq lbl_8005F4F8 -/* 059F38 8005F4D8 80610084 */ lwz r3, 0x84(r1) -/* 059F3C 8005F4DC 57A0043E */ clrlwi r0, r29, 0x10 -/* 059F40 8005F4E0 640460A5 */ oris r4, r0, 0x60a5 -/* 059F44 8005F4E4 38030001 */ addi r0, r3, 1 -/* 059F48 8005F4E8 90010084 */ stw r0, 0x84(r1) -/* 059F4C 8005F4EC 5460103A */ slwi r0, r3, 2 -/* 059F50 8005F4F0 7C9F012E */ stwx r4, r31, r0 -/* 059F54 8005F4F4 48000010 */ b lbl_8005F504 -lbl_8005F4F8: -/* 059F58 8005F4F8 80610084 */ lwz r3, 0x84(r1) -/* 059F5C 8005F4FC 38030001 */ addi r0, r3, 1 -/* 059F60 8005F500 90010084 */ stw r0, 0x84(r1) -lbl_8005F504: -/* 059F64 8005F504 281F0000 */ cmplwi r31, 0 -/* 059F68 8005F508 41820034 */ beq lbl_8005F53C -/* 059F6C 8005F50C 80610084 */ lwz r3, 0x84(r1) -/* 059F70 8005F510 801E0B40 */ lwz r0, 0xb40(r30) -/* 059F74 8005F514 5465103A */ slwi r5, r3, 2 -/* 059F78 8005F518 7C9F2A14 */ add r4, r31, r5 -/* 059F7C 8005F51C 7C040050 */ subf r0, r4, r0 -/* 059F80 8005F520 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 059F84 8005F524 38630001 */ addi r3, r3, 1 -/* 059F88 8005F528 64004800 */ oris r0, r0, 0x4800 -/* 059F8C 8005F52C 90610084 */ stw r3, 0x84(r1) -/* 059F90 8005F530 60000001 */ ori r0, r0, 1 -/* 059F94 8005F534 7C1F292E */ stwx r0, r31, r5 -/* 059F98 8005F538 48000010 */ b lbl_8005F548 -lbl_8005F53C: -/* 059F9C 8005F53C 80610084 */ lwz r3, 0x84(r1) -/* 059FA0 8005F540 38030001 */ addi r0, r3, 1 -/* 059FA4 8005F544 90010084 */ stw r0, 0x84(r1) -lbl_8005F548: -/* 059FA8 8005F548 3C7E0001 */ addis r3, r30, 1 -/* 059FAC 8005F54C 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 059FB0 8005F550 80A32058 */ lwz r5, 0x2058(r3) -/* 059FB4 8005F554 38800001 */ li r4, 1 -/* 059FB8 8005F558 7C800030 */ slw r0, r4, r0 -/* 059FBC 8005F55C 7CA00078 */ andc r0, r5, r0 -/* 059FC0 8005F560 90032058 */ stw r0, 0x2058(r3) -/* 059FC4 8005F564 480089D0 */ b lbl_80067F34 -.global lbl_8005F568 -lbl_8005F568: -/* 059FC8 8005F568 3C7E0001 */ addis r3, r30, 1 -/* 059FCC 8005F56C 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 059FD0 8005F570 80032058 */ lwz r0, 0x2058(r3) -/* 059FD4 8005F574 38800001 */ li r4, 1 -/* 059FD8 8005F578 7C842830 */ slw r4, r4, r5 -/* 059FDC 8005F57C 7C002039 */ and. r0, r0, r4 -/* 059FE0 8005F580 41820348 */ beq lbl_8005F8C8 -/* 059FE4 8005F584 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 059FE8 8005F588 7D1A0214 */ add r8, r26, r0 -/* 059FEC 8005F58C 84E80818 */ lwzu r7, 0x818(r8) -/* 059FF0 8005F590 578A86FE */ rlwinm r10, r28, 0x10, 0x1b, 0x1f -/* 059FF4 8005F594 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 059FF8 8005F598 41820008 */ beq lbl_8005F5A0 -/* 059FFC 8005F59C 38E00005 */ li r7, 5 -lbl_8005F5A0: -/* 05A000 8005F5A0 54A0103A */ slwi r0, r5, 2 -/* 05A004 8005F5A4 7C7A0214 */ add r3, r26, r0 -/* 05A008 8005F5A8 81230818 */ lwz r9, 0x818(r3) -/* 05A00C 8005F5AC 552005EF */ rlwinm. r0, r9, 0, 0x17, 0x17 -/* 05A010 8005F5B0 4182014C */ beq lbl_8005F6FC -/* 05A014 8005F5B4 3C7E0001 */ addis r3, r30, 1 -/* 05A018 8005F5B8 80032064 */ lwz r0, 0x2064(r3) -/* 05A01C 8005F5BC 39200006 */ li r9, 6 -/* 05A020 8005F5C0 28000000 */ cmplwi r0, 0 -/* 05A024 8005F5C4 4082000C */ bne lbl_8005F5D0 -/* 05A028 8005F5C8 38000000 */ li r0, 0 -/* 05A02C 8005F5CC 48000094 */ b lbl_8005F660 -lbl_8005F5D0: -/* 05A030 8005F5D0 80032068 */ lwz r0, 0x2068(r3) -/* 05A034 8005F5D4 28000000 */ cmplwi r0, 0 -/* 05A038 8005F5D8 4082000C */ bne lbl_8005F5E4 -/* 05A03C 8005F5DC 38000000 */ li r0, 0 -/* 05A040 8005F5E0 48000080 */ b lbl_8005F660 -lbl_8005F5E4: -/* 05A044 8005F5E4 8003206C */ lwz r0, 0x206c(r3) -/* 05A048 8005F5E8 7C050000 */ cmpw r5, r0 -/* 05A04C 8005F5EC 4182000C */ beq lbl_8005F5F8 -/* 05A050 8005F5F0 38000000 */ li r0, 0 -/* 05A054 8005F5F4 4800006C */ b lbl_8005F660 -lbl_8005F5F8: -/* 05A058 8005F5F8 80DE0034 */ lwz r6, 0x34(r30) -/* 05A05C 8005F5FC 38800000 */ li r4, 0 -/* 05A060 8005F600 80060008 */ lwz r0, 8(r6) -/* 05A064 8005F604 2C000000 */ cmpwi r0, 0 -/* 05A068 8005F608 7C0903A6 */ mtctr r0 -/* 05A06C 8005F60C 40810028 */ ble lbl_8005F634 -lbl_8005F610: -/* 05A070 8005F610 8066000C */ lwz r3, 0xc(r6) -/* 05A074 8005F614 38040004 */ addi r0, r4, 4 -/* 05A078 8005F618 7C03002E */ lwzx r0, r3, r0 -/* 05A07C 8005F61C 7C1D0000 */ cmpw r29, r0 -/* 05A080 8005F620 4082000C */ bne lbl_8005F62C -/* 05A084 8005F624 38000000 */ li r0, 0 -/* 05A088 8005F628 48000010 */ b lbl_8005F638 -lbl_8005F62C: -/* 05A08C 8005F62C 38840008 */ addi r4, r4, 8 -/* 05A090 8005F630 4200FFE0 */ bdnz lbl_8005F610 -lbl_8005F634: -/* 05A094 8005F634 38000001 */ li r0, 1 -lbl_8005F638: -/* 05A098 8005F638 2C000000 */ cmpwi r0, 0 -/* 05A09C 8005F63C 40820014 */ bne lbl_8005F650 -/* 05A0A0 8005F640 38000000 */ li r0, 0 -/* 05A0A4 8005F644 3C7E0001 */ addis r3, r30, 1 -/* 05A0A8 8005F648 90032068 */ stw r0, 0x2068(r3) -/* 05A0AC 8005F64C 48000014 */ b lbl_8005F660 -lbl_8005F650: -/* 05A0B0 8005F650 3C7E0001 */ addis r3, r30, 1 -/* 05A0B4 8005F654 38000000 */ li r0, 0 -/* 05A0B8 8005F658 90032068 */ stw r0, 0x2068(r3) -/* 05A0BC 8005F65C 38000001 */ li r0, 1 -lbl_8005F660: -/* 05A0C0 8005F660 2C000000 */ cmpwi r0, 0 -/* 05A0C4 8005F664 41820050 */ beq lbl_8005F6B4 -/* 05A0C8 8005F668 281F0000 */ cmplwi r31, 0 -/* 05A0CC 8005F66C 41820038 */ beq lbl_8005F6A4 -/* 05A0D0 8005F670 3C9E0001 */ addis r4, r30, 1 -/* 05A0D4 8005F674 80610084 */ lwz r3, 0x84(r1) -/* 05A0D8 8005F678 80842070 */ lwz r4, 0x2070(r4) -/* 05A0DC 8005F67C 38C30001 */ addi r6, r3, 1 -/* 05A0E0 8005F680 5480A814 */ slwi r0, r4, 0x15 -/* 05A0E4 8005F684 90C10084 */ stw r6, 0x84(r1) -/* 05A0E8 8005F688 64007C06 */ oris r0, r0, 0x7c06 -/* 05A0EC 8005F68C 54845828 */ slwi r4, r4, 0xb -/* 05A0F0 8005F690 60000378 */ ori r0, r0, 0x378 -/* 05A0F4 8005F694 7C800378 */ or r0, r4, r0 -/* 05A0F8 8005F698 5463103A */ slwi r3, r3, 2 -/* 05A0FC 8005F69C 7C1F192E */ stwx r0, r31, r3 -/* 05A100 8005F6A0 4800005C */ b lbl_8005F6FC -lbl_8005F6A4: -/* 05A104 8005F6A4 80610084 */ lwz r3, 0x84(r1) -/* 05A108 8005F6A8 38030001 */ addi r0, r3, 1 -/* 05A10C 8005F6AC 90010084 */ stw r0, 0x84(r1) -/* 05A110 8005F6B0 4800004C */ b lbl_8005F6FC -lbl_8005F6B4: -/* 05A114 8005F6B4 281F0000 */ cmplwi r31, 0 -/* 05A118 8005F6B8 41820038 */ beq lbl_8005F6F0 -/* 05A11C 8005F6BC 54A41838 */ slwi r4, r5, 3 -/* 05A120 8005F6C0 80610084 */ lwz r3, 0x84(r1) -/* 05A124 8005F6C4 38040040 */ addi r0, r4, 0x40 -/* 05A128 8005F6C8 7C1E0214 */ add r0, r30, r0 -/* 05A12C 8005F6CC 7C9E0050 */ subf r4, r30, r0 -/* 05A130 8005F6D0 38840004 */ addi r4, r4, 4 -/* 05A134 8005F6D4 38030001 */ addi r0, r3, 1 -/* 05A138 8005F6D8 5484043E */ clrlwi r4, r4, 0x10 -/* 05A13C 8005F6DC 90010084 */ stw r0, 0x84(r1) -/* 05A140 8005F6E0 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05A144 8005F6E4 5463103A */ slwi r3, r3, 2 -/* 05A148 8005F6E8 7C1F192E */ stwx r0, r31, r3 -/* 05A14C 8005F6EC 48000010 */ b lbl_8005F6FC -lbl_8005F6F0: -/* 05A150 8005F6F0 80610084 */ lwz r3, 0x84(r1) -/* 05A154 8005F6F4 38030001 */ addi r0, r3, 1 -/* 05A158 8005F6F8 90010084 */ stw r0, 0x84(r1) -lbl_8005F6FC: -/* 05A15C 8005F6FC 281F0000 */ cmplwi r31, 0 -/* 05A160 8005F700 4082000C */ bne lbl_8005F70C -/* 05A164 8005F704 38800000 */ li r4, 0 -/* 05A168 8005F708 480000A4 */ b lbl_8005F7AC -lbl_8005F70C: -/* 05A16C 8005F70C 3C7E0001 */ addis r3, r30, 1 -/* 05A170 8005F710 80032064 */ lwz r0, 0x2064(r3) -/* 05A174 8005F714 28000000 */ cmplwi r0, 0 -/* 05A178 8005F718 4082000C */ bne lbl_8005F724 -/* 05A17C 8005F71C 38800000 */ li r4, 0 -/* 05A180 8005F720 4800008C */ b lbl_8005F7AC -lbl_8005F724: -/* 05A184 8005F724 80DE0034 */ lwz r6, 0x34(r30) -/* 05A188 8005F728 38800000 */ li r4, 0 -/* 05A18C 8005F72C 80060008 */ lwz r0, 8(r6) -/* 05A190 8005F730 2C000000 */ cmpwi r0, 0 -/* 05A194 8005F734 7C0903A6 */ mtctr r0 -/* 05A198 8005F738 40810028 */ ble lbl_8005F760 -lbl_8005F73C: -/* 05A19C 8005F73C 8066000C */ lwz r3, 0xc(r6) -/* 05A1A0 8005F740 38040004 */ addi r0, r4, 4 -/* 05A1A4 8005F744 7C03002E */ lwzx r0, r3, r0 -/* 05A1A8 8005F748 7C1D0000 */ cmpw r29, r0 -/* 05A1AC 8005F74C 4082000C */ bne lbl_8005F758 -/* 05A1B0 8005F750 38000000 */ li r0, 0 -/* 05A1B4 8005F754 48000010 */ b lbl_8005F764 -lbl_8005F758: -/* 05A1B8 8005F758 38840008 */ addi r4, r4, 8 -/* 05A1BC 8005F75C 4200FFE0 */ bdnz lbl_8005F73C -lbl_8005F760: -/* 05A1C0 8005F760 38000001 */ li r0, 1 -lbl_8005F764: -/* 05A1C4 8005F764 2C000000 */ cmpwi r0, 0 -/* 05A1C8 8005F768 4082000C */ bne lbl_8005F774 -/* 05A1CC 8005F76C 38800000 */ li r4, 0 -/* 05A1D0 8005F770 4800003C */ b lbl_8005F7AC -lbl_8005F774: -/* 05A1D4 8005F774 7C055000 */ cmpw r5, r10 -/* 05A1D8 8005F778 3C7E0001 */ addis r3, r30, 1 -/* 05A1DC 8005F77C 38800001 */ li r4, 1 -/* 05A1E0 8005F780 9083207C */ stw r4, 0x207c(r3) -/* 05A1E4 8005F784 40820014 */ bne lbl_8005F798 -/* 05A1E8 8005F788 3800FFFF */ li r0, -1 -/* 05A1EC 8005F78C 90032080 */ stw r0, 0x2080(r3) -/* 05A1F0 8005F790 38800000 */ li r4, 0 -/* 05A1F4 8005F794 48000018 */ b lbl_8005F7AC -lbl_8005F798: -/* 05A1F8 8005F798 80032080 */ lwz r0, 0x2080(r3) -/* 05A1FC 8005F79C 7C002800 */ cmpw r0, r5 -/* 05A200 8005F7A0 4182000C */ beq lbl_8005F7AC -/* 05A204 8005F7A4 90A32080 */ stw r5, 0x2080(r3) -/* 05A208 8005F7A8 38800000 */ li r4, 0 -lbl_8005F7AC: -/* 05A20C 8005F7AC 2C040000 */ cmpwi r4, 0 -/* 05A210 8005F7B0 40820040 */ bne lbl_8005F7F0 -/* 05A214 8005F7B4 281F0000 */ cmplwi r31, 0 -/* 05A218 8005F7B8 41820028 */ beq lbl_8005F7E0 -/* 05A21C 8005F7BC 80610084 */ lwz r3, 0x84(r1) -/* 05A220 8005F7C0 5520801E */ slwi r0, r9, 0x10 -/* 05A224 8005F7C4 64047CE0 */ oris r4, r0, 0x7ce0 -/* 05A228 8005F7C8 38030001 */ addi r0, r3, 1 -/* 05A22C 8005F7CC 90010084 */ stw r0, 0x84(r1) -/* 05A230 8005F7D0 60844214 */ ori r4, r4, 0x4214 -/* 05A234 8005F7D4 5460103A */ slwi r0, r3, 2 -/* 05A238 8005F7D8 7C9F012E */ stwx r4, r31, r0 -/* 05A23C 8005F7DC 48000044 */ b lbl_8005F820 -lbl_8005F7E0: -/* 05A240 8005F7E0 80610084 */ lwz r3, 0x84(r1) -/* 05A244 8005F7E4 38030001 */ addi r0, r3, 1 -/* 05A248 8005F7E8 90010084 */ stw r0, 0x84(r1) -/* 05A24C 8005F7EC 48000034 */ b lbl_8005F820 -lbl_8005F7F0: -/* 05A250 8005F7F0 281F0000 */ cmplwi r31, 0 -/* 05A254 8005F7F4 41820020 */ beq lbl_8005F814 -/* 05A258 8005F7F8 80610084 */ lwz r3, 0x84(r1) -/* 05A25C 8005F7FC 3C806000 */ lis r4, 0x6000 -/* 05A260 8005F800 38030001 */ addi r0, r3, 1 -/* 05A264 8005F804 90010084 */ stw r0, 0x84(r1) -/* 05A268 8005F808 5460103A */ slwi r0, r3, 2 -/* 05A26C 8005F80C 7C9F012E */ stwx r4, r31, r0 -/* 05A270 8005F810 48000010 */ b lbl_8005F820 -lbl_8005F814: -/* 05A274 8005F814 80610084 */ lwz r3, 0x84(r1) -/* 05A278 8005F818 38030001 */ addi r0, r3, 1 -/* 05A27C 8005F81C 90010084 */ stw r0, 0x84(r1) -lbl_8005F820: -/* 05A280 8005F820 281F0000 */ cmplwi r31, 0 -/* 05A284 8005F824 4182002C */ beq lbl_8005F850 -/* 05A288 8005F828 80610084 */ lwz r3, 0x84(r1) -/* 05A28C 8005F82C 54E0A814 */ slwi r0, r7, 0x15 -/* 05A290 8005F830 6405A007 */ oris r5, r0, 0xa007 -/* 05A294 8005F834 38030001 */ addi r0, r3, 1 -/* 05A298 8005F838 5784043E */ clrlwi r4, r28, 0x10 -/* 05A29C 8005F83C 90010084 */ stw r0, 0x84(r1) -/* 05A2A0 8005F840 7CA02378 */ or r0, r5, r4 -/* 05A2A4 8005F844 5463103A */ slwi r3, r3, 2 -/* 05A2A8 8005F848 7C1F192E */ stwx r0, r31, r3 -/* 05A2AC 8005F84C 48000010 */ b lbl_8005F85C -lbl_8005F850: -/* 05A2B0 8005F850 80610084 */ lwz r3, 0x84(r1) -/* 05A2B4 8005F854 38030001 */ addi r0, r3, 1 -/* 05A2B8 8005F858 90010084 */ stw r0, 0x84(r1) -lbl_8005F85C: -/* 05A2BC 8005F85C 80080000 */ lwz r0, 0(r8) -/* 05A2C0 8005F860 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 05A2C4 8005F864 4182089C */ beq lbl_80060100 -/* 05A2C8 8005F868 3C7E0001 */ addis r3, r30, 1 -/* 05A2CC 8005F86C 38000002 */ li r0, 2 -/* 05A2D0 8005F870 90032068 */ stw r0, 0x2068(r3) -/* 05A2D4 8005F874 281F0000 */ cmplwi r31, 0 -/* 05A2D8 8005F878 9143206C */ stw r10, 0x206c(r3) -/* 05A2DC 8005F87C 90E32070 */ stw r7, 0x2070(r3) -/* 05A2E0 8005F880 41820038 */ beq lbl_8005F8B8 -/* 05A2E4 8005F884 55441838 */ slwi r4, r10, 3 -/* 05A2E8 8005F888 80610084 */ lwz r3, 0x84(r1) -/* 05A2EC 8005F88C 38040040 */ addi r0, r4, 0x40 -/* 05A2F0 8005F890 7C1E0214 */ add r0, r30, r0 -/* 05A2F4 8005F894 7C9E0050 */ subf r4, r30, r0 -/* 05A2F8 8005F898 38840004 */ addi r4, r4, 4 -/* 05A2FC 8005F89C 38030001 */ addi r0, r3, 1 -/* 05A300 8005F8A0 5484043E */ clrlwi r4, r4, 0x10 -/* 05A304 8005F8A4 90010084 */ stw r0, 0x84(r1) -/* 05A308 8005F8A8 3C0490A3 */ addis r0, r4, 0x90a3 -/* 05A30C 8005F8AC 5463103A */ slwi r3, r3, 2 -/* 05A310 8005F8B0 7C1F192E */ stwx r0, r31, r3 -/* 05A314 8005F8B4 4800084C */ b lbl_80060100 -lbl_8005F8B8: -/* 05A318 8005F8B8 80610084 */ lwz r3, 0x84(r1) -/* 05A31C 8005F8BC 38030001 */ addi r0, r3, 1 -/* 05A320 8005F8C0 90010084 */ stw r0, 0x84(r1) -/* 05A324 8005F8C4 4800083C */ b lbl_80060100 -lbl_8005F8C8: -/* 05A328 8005F8C8 80832060 */ lwz r4, 0x2060(r3) -/* 05A32C 8005F8CC 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 05A330 8005F8D0 41820248 */ beq lbl_8005FB18 -/* 05A334 8005F8D4 2C110000 */ cmpwi r17, 0 -/* 05A338 8005F8D8 4182006C */ beq lbl_8005F944 -/* 05A33C 8005F8DC 281F0000 */ cmplwi r31, 0 -/* 05A340 8005F8E0 41820020 */ beq lbl_8005F900 -/* 05A344 8005F8E4 80610084 */ lwz r3, 0x84(r1) -/* 05A348 8005F8E8 3C8038C0 */ lis r4, 0x38c0 -/* 05A34C 8005F8EC 38030001 */ addi r0, r3, 1 -/* 05A350 8005F8F0 90010084 */ stw r0, 0x84(r1) -/* 05A354 8005F8F4 5460103A */ slwi r0, r3, 2 -/* 05A358 8005F8F8 7C9F012E */ stwx r4, r31, r0 -/* 05A35C 8005F8FC 48000010 */ b lbl_8005F90C -lbl_8005F900: -/* 05A360 8005F900 80610084 */ lwz r3, 0x84(r1) -/* 05A364 8005F904 38030001 */ addi r0, r3, 1 -/* 05A368 8005F908 90010084 */ stw r0, 0x84(r1) -lbl_8005F90C: -/* 05A36C 8005F90C 281F0000 */ cmplwi r31, 0 -/* 05A370 8005F910 41820028 */ beq lbl_8005F938 -/* 05A374 8005F914 80610084 */ lwz r3, 0x84(r1) -/* 05A378 8005F918 381E002C */ addi r0, r30, 0x2c -/* 05A37C 8005F91C 7C9E0050 */ subf r4, r30, r0 -/* 05A380 8005F920 38030001 */ addi r0, r3, 1 -/* 05A384 8005F924 90010084 */ stw r0, 0x84(r1) -/* 05A388 8005F928 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05A38C 8005F92C 5463103A */ slwi r3, r3, 2 -/* 05A390 8005F930 7C1F192E */ stwx r0, r31, r3 -/* 05A394 8005F934 48000010 */ b lbl_8005F944 -lbl_8005F938: -/* 05A398 8005F938 80610084 */ lwz r3, 0x84(r1) -/* 05A39C 8005F93C 38030001 */ addi r0, r3, 1 -/* 05A3A0 8005F940 90010084 */ stw r0, 0x84(r1) -lbl_8005F944: -/* 05A3A4 8005F944 281F0000 */ cmplwi r31, 0 -/* 05A3A8 8005F948 41820024 */ beq lbl_8005F96C -/* 05A3AC 8005F94C 80610084 */ lwz r3, 0x84(r1) -/* 05A3B0 8005F950 57A0843E */ srwi r0, r29, 0x10 -/* 05A3B4 8005F954 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05A3B8 8005F958 38030001 */ addi r0, r3, 1 -/* 05A3BC 8005F95C 90010084 */ stw r0, 0x84(r1) -/* 05A3C0 8005F960 5460103A */ slwi r0, r3, 2 -/* 05A3C4 8005F964 7C9F012E */ stwx r4, r31, r0 -/* 05A3C8 8005F968 48000010 */ b lbl_8005F978 -lbl_8005F96C: -/* 05A3CC 8005F96C 80610084 */ lwz r3, 0x84(r1) -/* 05A3D0 8005F970 38030001 */ addi r0, r3, 1 -/* 05A3D4 8005F974 90010084 */ stw r0, 0x84(r1) -lbl_8005F978: -/* 05A3D8 8005F978 281F0000 */ cmplwi r31, 0 -/* 05A3DC 8005F97C 41820024 */ beq lbl_8005F9A0 -/* 05A3E0 8005F980 80610084 */ lwz r3, 0x84(r1) -/* 05A3E4 8005F984 57A0043E */ clrlwi r0, r29, 0x10 -/* 05A3E8 8005F988 640460A5 */ oris r4, r0, 0x60a5 -/* 05A3EC 8005F98C 38030001 */ addi r0, r3, 1 -/* 05A3F0 8005F990 90010084 */ stw r0, 0x84(r1) -/* 05A3F4 8005F994 5460103A */ slwi r0, r3, 2 -/* 05A3F8 8005F998 7C9F012E */ stwx r4, r31, r0 -/* 05A3FC 8005F99C 48000010 */ b lbl_8005F9AC -lbl_8005F9A0: -/* 05A400 8005F9A0 80610084 */ lwz r3, 0x84(r1) -/* 05A404 8005F9A4 38030001 */ addi r0, r3, 1 -/* 05A408 8005F9A8 90010084 */ stw r0, 0x84(r1) -lbl_8005F9AC: -/* 05A40C 8005F9AC 281F0000 */ cmplwi r31, 0 -/* 05A410 8005F9B0 41820034 */ beq lbl_8005F9E4 -/* 05A414 8005F9B4 80610084 */ lwz r3, 0x84(r1) -/* 05A418 8005F9B8 801E0B50 */ lwz r0, 0xb50(r30) -/* 05A41C 8005F9BC 5465103A */ slwi r5, r3, 2 -/* 05A420 8005F9C0 7C9F2A14 */ add r4, r31, r5 -/* 05A424 8005F9C4 7C040050 */ subf r0, r4, r0 -/* 05A428 8005F9C8 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05A42C 8005F9CC 38630001 */ addi r3, r3, 1 -/* 05A430 8005F9D0 64004800 */ oris r0, r0, 0x4800 -/* 05A434 8005F9D4 90610084 */ stw r3, 0x84(r1) -/* 05A438 8005F9D8 60000001 */ ori r0, r0, 1 -/* 05A43C 8005F9DC 7C1F292E */ stwx r0, r31, r5 -/* 05A440 8005F9E0 48000010 */ b lbl_8005F9F0 -lbl_8005F9E4: -/* 05A444 8005F9E4 80610084 */ lwz r3, 0x84(r1) -/* 05A448 8005F9E8 38030001 */ addi r0, r3, 1 -/* 05A44C 8005F9EC 90010084 */ stw r0, 0x84(r1) -lbl_8005F9F0: -/* 05A450 8005F9F0 3C7E0001 */ addis r3, r30, 1 -/* 05A454 8005F9F4 80032060 */ lwz r0, 0x2060(r3) -/* 05A458 8005F9F8 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 05A45C 8005F9FC 41820060 */ beq lbl_8005FA5C -/* 05A460 8005FA00 281F0000 */ cmplwi r31, 0 -/* 05A464 8005FA04 40820014 */ bne lbl_8005FA18 -/* 05A468 8005FA08 80610084 */ lwz r3, 0x84(r1) -/* 05A46C 8005FA0C 38030003 */ addi r0, r3, 3 -/* 05A470 8005FA10 90010084 */ stw r0, 0x84(r1) -/* 05A474 8005FA14 4800008C */ b lbl_8005FAA0 -lbl_8005FA18: -/* 05A478 8005FA18 80610084 */ lwz r3, 0x84(r1) -/* 05A47C 8005FA1C 3C806000 */ lis r4, 0x6000 -/* 05A480 8005FA20 38030001 */ addi r0, r3, 1 -/* 05A484 8005FA24 90010084 */ stw r0, 0x84(r1) -/* 05A488 8005FA28 5460103A */ slwi r0, r3, 2 -/* 05A48C 8005FA2C 7C9F012E */ stwx r4, r31, r0 -/* 05A490 8005FA30 80610084 */ lwz r3, 0x84(r1) -/* 05A494 8005FA34 38030001 */ addi r0, r3, 1 -/* 05A498 8005FA38 90010084 */ stw r0, 0x84(r1) -/* 05A49C 8005FA3C 5460103A */ slwi r0, r3, 2 -/* 05A4A0 8005FA40 7C9F012E */ stwx r4, r31, r0 -/* 05A4A4 8005FA44 80610084 */ lwz r3, 0x84(r1) -/* 05A4A8 8005FA48 38030001 */ addi r0, r3, 1 -/* 05A4AC 8005FA4C 90010084 */ stw r0, 0x84(r1) -/* 05A4B0 8005FA50 5460103A */ slwi r0, r3, 2 -/* 05A4B4 8005FA54 7C9F012E */ stwx r4, r31, r0 -/* 05A4B8 8005FA58 48000048 */ b lbl_8005FAA0 -lbl_8005FA5C: -/* 05A4BC 8005FA5C 281F0000 */ cmplwi r31, 0 -/* 05A4C0 8005FA60 40820014 */ bne lbl_8005FA74 -/* 05A4C4 8005FA64 80610084 */ lwz r3, 0x84(r1) -/* 05A4C8 8005FA68 38030002 */ addi r0, r3, 2 -/* 05A4CC 8005FA6C 90010084 */ stw r0, 0x84(r1) -/* 05A4D0 8005FA70 48000030 */ b lbl_8005FAA0 -lbl_8005FA74: -/* 05A4D4 8005FA74 80610084 */ lwz r3, 0x84(r1) -/* 05A4D8 8005FA78 3C806000 */ lis r4, 0x6000 -/* 05A4DC 8005FA7C 38030001 */ addi r0, r3, 1 -/* 05A4E0 8005FA80 90010084 */ stw r0, 0x84(r1) -/* 05A4E4 8005FA84 5460103A */ slwi r0, r3, 2 -/* 05A4E8 8005FA88 7C9F012E */ stwx r4, r31, r0 -/* 05A4EC 8005FA8C 80610084 */ lwz r3, 0x84(r1) -/* 05A4F0 8005FA90 38030001 */ addi r0, r3, 1 -/* 05A4F4 8005FA94 90010084 */ stw r0, 0x84(r1) -/* 05A4F8 8005FA98 5460103A */ slwi r0, r3, 2 -/* 05A4FC 8005FA9C 7C9F012E */ stwx r4, r31, r0 -lbl_8005FAA0: -/* 05A500 8005FAA0 2C110000 */ cmpwi r17, 0 -/* 05A504 8005FAA4 4182065C */ beq lbl_80060100 -/* 05A508 8005FAA8 281F0000 */ cmplwi r31, 0 -/* 05A50C 8005FAAC 41820024 */ beq lbl_8005FAD0 -/* 05A510 8005FAB0 80610084 */ lwz r3, 0x84(r1) -/* 05A514 8005FAB4 3C8038C1 */ lis r4, 0x38c1 -/* 05A518 8005FAB8 3884FFFF */ addi r4, r4, -1 -/* 05A51C 8005FABC 38030001 */ addi r0, r3, 1 -/* 05A520 8005FAC0 90010084 */ stw r0, 0x84(r1) -/* 05A524 8005FAC4 5460103A */ slwi r0, r3, 2 -/* 05A528 8005FAC8 7C9F012E */ stwx r4, r31, r0 -/* 05A52C 8005FACC 48000010 */ b lbl_8005FADC -lbl_8005FAD0: -/* 05A530 8005FAD0 80610084 */ lwz r3, 0x84(r1) -/* 05A534 8005FAD4 38030001 */ addi r0, r3, 1 -/* 05A538 8005FAD8 90010084 */ stw r0, 0x84(r1) -lbl_8005FADC: -/* 05A53C 8005FADC 281F0000 */ cmplwi r31, 0 -/* 05A540 8005FAE0 41820028 */ beq lbl_8005FB08 -/* 05A544 8005FAE4 80610084 */ lwz r3, 0x84(r1) -/* 05A548 8005FAE8 381E002C */ addi r0, r30, 0x2c -/* 05A54C 8005FAEC 7C9E0050 */ subf r4, r30, r0 -/* 05A550 8005FAF0 38030001 */ addi r0, r3, 1 -/* 05A554 8005FAF4 90010084 */ stw r0, 0x84(r1) -/* 05A558 8005FAF8 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05A55C 8005FAFC 5463103A */ slwi r3, r3, 2 -/* 05A560 8005FB00 7C1F192E */ stwx r0, r31, r3 -/* 05A564 8005FB04 480005FC */ b lbl_80060100 -lbl_8005FB08: -/* 05A568 8005FB08 80610084 */ lwz r3, 0x84(r1) -/* 05A56C 8005FB0C 38030001 */ addi r0, r3, 1 -/* 05A570 8005FB10 90010084 */ stw r0, 0x84(r1) -/* 05A574 8005FB14 480005EC */ b lbl_80060100 -lbl_8005FB18: -/* 05A578 8005FB18 548007FF */ clrlwi. r0, r4, 0x1f -/* 05A57C 8005FB1C 418205E4 */ beq lbl_80060100 -/* 05A580 8005FB20 54A0103A */ slwi r0, r5, 2 -/* 05A584 8005FB24 7C9A0214 */ add r4, r26, r0 -/* 05A588 8005FB28 80E40818 */ lwz r7, 0x818(r4) -/* 05A58C 8005FB2C 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 05A590 8005FB30 41820148 */ beq lbl_8005FC78 -/* 05A594 8005FB34 80032064 */ lwz r0, 0x2064(r3) -/* 05A598 8005FB38 38E00006 */ li r7, 6 -/* 05A59C 8005FB3C 28000000 */ cmplwi r0, 0 -/* 05A5A0 8005FB40 4082000C */ bne lbl_8005FB4C -/* 05A5A4 8005FB44 38000000 */ li r0, 0 -/* 05A5A8 8005FB48 48000094 */ b lbl_8005FBDC -lbl_8005FB4C: -/* 05A5AC 8005FB4C 80032068 */ lwz r0, 0x2068(r3) -/* 05A5B0 8005FB50 28000000 */ cmplwi r0, 0 -/* 05A5B4 8005FB54 4082000C */ bne lbl_8005FB60 -/* 05A5B8 8005FB58 38000000 */ li r0, 0 -/* 05A5BC 8005FB5C 48000080 */ b lbl_8005FBDC -lbl_8005FB60: -/* 05A5C0 8005FB60 8003206C */ lwz r0, 0x206c(r3) -/* 05A5C4 8005FB64 7C050000 */ cmpw r5, r0 -/* 05A5C8 8005FB68 4182000C */ beq lbl_8005FB74 -/* 05A5CC 8005FB6C 38000000 */ li r0, 0 -/* 05A5D0 8005FB70 4800006C */ b lbl_8005FBDC -lbl_8005FB74: -/* 05A5D4 8005FB74 80DE0034 */ lwz r6, 0x34(r30) -/* 05A5D8 8005FB78 38800000 */ li r4, 0 -/* 05A5DC 8005FB7C 80060008 */ lwz r0, 8(r6) -/* 05A5E0 8005FB80 2C000000 */ cmpwi r0, 0 -/* 05A5E4 8005FB84 7C0903A6 */ mtctr r0 -/* 05A5E8 8005FB88 40810028 */ ble lbl_8005FBB0 -lbl_8005FB8C: -/* 05A5EC 8005FB8C 8066000C */ lwz r3, 0xc(r6) -/* 05A5F0 8005FB90 38040004 */ addi r0, r4, 4 -/* 05A5F4 8005FB94 7C03002E */ lwzx r0, r3, r0 -/* 05A5F8 8005FB98 7C1D0000 */ cmpw r29, r0 -/* 05A5FC 8005FB9C 4082000C */ bne lbl_8005FBA8 -/* 05A600 8005FBA0 38000000 */ li r0, 0 -/* 05A604 8005FBA4 48000010 */ b lbl_8005FBB4 -lbl_8005FBA8: -/* 05A608 8005FBA8 38840008 */ addi r4, r4, 8 -/* 05A60C 8005FBAC 4200FFE0 */ bdnz lbl_8005FB8C -lbl_8005FBB0: -/* 05A610 8005FBB0 38000001 */ li r0, 1 -lbl_8005FBB4: -/* 05A614 8005FBB4 2C000000 */ cmpwi r0, 0 -/* 05A618 8005FBB8 40820014 */ bne lbl_8005FBCC -/* 05A61C 8005FBBC 38000000 */ li r0, 0 -/* 05A620 8005FBC0 3C7E0001 */ addis r3, r30, 1 -/* 05A624 8005FBC4 90032068 */ stw r0, 0x2068(r3) -/* 05A628 8005FBC8 48000014 */ b lbl_8005FBDC -lbl_8005FBCC: -/* 05A62C 8005FBCC 3C7E0001 */ addis r3, r30, 1 -/* 05A630 8005FBD0 38000000 */ li r0, 0 -/* 05A634 8005FBD4 90032068 */ stw r0, 0x2068(r3) -/* 05A638 8005FBD8 38000001 */ li r0, 1 -lbl_8005FBDC: -/* 05A63C 8005FBDC 2C000000 */ cmpwi r0, 0 -/* 05A640 8005FBE0 41820050 */ beq lbl_8005FC30 -/* 05A644 8005FBE4 281F0000 */ cmplwi r31, 0 -/* 05A648 8005FBE8 41820038 */ beq lbl_8005FC20 -/* 05A64C 8005FBEC 3C9E0001 */ addis r4, r30, 1 -/* 05A650 8005FBF0 80610084 */ lwz r3, 0x84(r1) -/* 05A654 8005FBF4 80842070 */ lwz r4, 0x2070(r4) -/* 05A658 8005FBF8 38A30001 */ addi r5, r3, 1 -/* 05A65C 8005FBFC 5480A814 */ slwi r0, r4, 0x15 -/* 05A660 8005FC00 90A10084 */ stw r5, 0x84(r1) -/* 05A664 8005FC04 64007C06 */ oris r0, r0, 0x7c06 -/* 05A668 8005FC08 54845828 */ slwi r4, r4, 0xb -/* 05A66C 8005FC0C 60000378 */ ori r0, r0, 0x378 -/* 05A670 8005FC10 7C800378 */ or r0, r4, r0 -/* 05A674 8005FC14 5463103A */ slwi r3, r3, 2 -/* 05A678 8005FC18 7C1F192E */ stwx r0, r31, r3 -/* 05A67C 8005FC1C 4800005C */ b lbl_8005FC78 -lbl_8005FC20: -/* 05A680 8005FC20 80610084 */ lwz r3, 0x84(r1) -/* 05A684 8005FC24 38030001 */ addi r0, r3, 1 -/* 05A688 8005FC28 90010084 */ stw r0, 0x84(r1) -/* 05A68C 8005FC2C 4800004C */ b lbl_8005FC78 -lbl_8005FC30: -/* 05A690 8005FC30 281F0000 */ cmplwi r31, 0 -/* 05A694 8005FC34 41820038 */ beq lbl_8005FC6C -/* 05A698 8005FC38 54A41838 */ slwi r4, r5, 3 -/* 05A69C 8005FC3C 80610084 */ lwz r3, 0x84(r1) -/* 05A6A0 8005FC40 38040040 */ addi r0, r4, 0x40 -/* 05A6A4 8005FC44 7C1E0214 */ add r0, r30, r0 -/* 05A6A8 8005FC48 7C9E0050 */ subf r4, r30, r0 -/* 05A6AC 8005FC4C 38840004 */ addi r4, r4, 4 -/* 05A6B0 8005FC50 38030001 */ addi r0, r3, 1 -/* 05A6B4 8005FC54 5484043E */ clrlwi r4, r4, 0x10 -/* 05A6B8 8005FC58 90010084 */ stw r0, 0x84(r1) -/* 05A6BC 8005FC5C 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05A6C0 8005FC60 5463103A */ slwi r3, r3, 2 -/* 05A6C4 8005FC64 7C1F192E */ stwx r0, r31, r3 -/* 05A6C8 8005FC68 48000010 */ b lbl_8005FC78 -lbl_8005FC6C: -/* 05A6CC 8005FC6C 80610084 */ lwz r3, 0x84(r1) -/* 05A6D0 8005FC70 38030001 */ addi r0, r3, 1 -/* 05A6D4 8005FC74 90010084 */ stw r0, 0x84(r1) -lbl_8005FC78: -/* 05A6D8 8005FC78 281F0000 */ cmplwi r31, 0 -/* 05A6DC 8005FC7C 4182002C */ beq lbl_8005FCA8 -/* 05A6E0 8005FC80 80610084 */ lwz r3, 0x84(r1) -/* 05A6E4 8005FC84 54E0801E */ slwi r0, r7, 0x10 -/* 05A6E8 8005FC88 640538A0 */ oris r5, r0, 0x38a0 -/* 05A6EC 8005FC8C 38030001 */ addi r0, r3, 1 -/* 05A6F0 8005FC90 5784043E */ clrlwi r4, r28, 0x10 -/* 05A6F4 8005FC94 90010084 */ stw r0, 0x84(r1) -/* 05A6F8 8005FC98 7CA02378 */ or r0, r5, r4 -/* 05A6FC 8005FC9C 5463103A */ slwi r3, r3, 2 -/* 05A700 8005FCA0 7C1F192E */ stwx r0, r31, r3 -/* 05A704 8005FCA4 48000010 */ b lbl_8005FCB4 -lbl_8005FCA8: -/* 05A708 8005FCA8 80610084 */ lwz r3, 0x84(r1) -/* 05A70C 8005FCAC 38030001 */ addi r0, r3, 1 -/* 05A710 8005FCB0 90010084 */ stw r0, 0x84(r1) -lbl_8005FCB4: -/* 05A714 8005FCB4 281F0000 */ cmplwi r31, 0 -/* 05A718 8005FCB8 41820024 */ beq lbl_8005FCDC -/* 05A71C 8005FCBC 80610084 */ lwz r3, 0x84(r1) -/* 05A720 8005FCC0 3C8054A7 */ lis r4, 0x54a7 -/* 05A724 8005FCC4 3884843E */ addi r4, r4, -31682 -/* 05A728 8005FCC8 38030001 */ addi r0, r3, 1 -/* 05A72C 8005FCCC 90010084 */ stw r0, 0x84(r1) -/* 05A730 8005FCD0 5460103A */ slwi r0, r3, 2 -/* 05A734 8005FCD4 7C9F012E */ stwx r4, r31, r0 -/* 05A738 8005FCD8 48000010 */ b lbl_8005FCE8 -lbl_8005FCDC: -/* 05A73C 8005FCDC 80610084 */ lwz r3, 0x84(r1) -/* 05A740 8005FCE0 38030001 */ addi r0, r3, 1 -/* 05A744 8005FCE4 90010084 */ stw r0, 0x84(r1) -lbl_8005FCE8: -/* 05A748 8005FCE8 281F0000 */ cmplwi r31, 0 -/* 05A74C 8005FCEC 41820024 */ beq lbl_8005FD10 -/* 05A750 8005FCF0 80610084 */ lwz r3, 0x84(r1) -/* 05A754 8005FCF4 3C807CC6 */ lis r4, 0x7cc6 -/* 05A758 8005FCF8 388448AE */ addi r4, r4, 0x48ae -/* 05A75C 8005FCFC 38030001 */ addi r0, r3, 1 -/* 05A760 8005FD00 90010084 */ stw r0, 0x84(r1) -/* 05A764 8005FD04 5460103A */ slwi r0, r3, 2 -/* 05A768 8005FD08 7C9F012E */ stwx r4, r31, r0 -/* 05A76C 8005FD0C 48000010 */ b lbl_8005FD1C -lbl_8005FD10: -/* 05A770 8005FD10 80610084 */ lwz r3, 0x84(r1) -/* 05A774 8005FD14 38030001 */ addi r0, r3, 1 -/* 05A778 8005FD18 90010084 */ stw r0, 0x84(r1) -lbl_8005FD1C: -/* 05A77C 8005FD1C 281F0000 */ cmplwi r31, 0 -/* 05A780 8005FD20 41820024 */ beq lbl_8005FD44 -/* 05A784 8005FD24 80610084 */ lwz r3, 0x84(r1) -/* 05A788 8005FD28 3C802C06 */ lis r4, 0x2c06 -/* 05A78C 8005FD2C 38840080 */ addi r4, r4, 0x80 -/* 05A790 8005FD30 38030001 */ addi r0, r3, 1 -/* 05A794 8005FD34 90010084 */ stw r0, 0x84(r1) -/* 05A798 8005FD38 5460103A */ slwi r0, r3, 2 -/* 05A79C 8005FD3C 7C9F012E */ stwx r4, r31, r0 -/* 05A7A0 8005FD40 48000010 */ b lbl_8005FD50 -lbl_8005FD44: -/* 05A7A4 8005FD44 80610084 */ lwz r3, 0x84(r1) -/* 05A7A8 8005FD48 38030001 */ addi r0, r3, 1 -/* 05A7AC 8005FD4C 90010084 */ stw r0, 0x84(r1) -lbl_8005FD50: -/* 05A7B0 8005FD50 281F0000 */ cmplwi r31, 0 -/* 05A7B4 8005FD54 41820024 */ beq lbl_8005FD78 -/* 05A7B8 8005FD58 80610084 */ lwz r3, 0x84(r1) -/* 05A7BC 8005FD5C 3C804180 */ lis r4, 0x4180 -/* 05A7C0 8005FD60 38840010 */ addi r4, r4, 0x10 -/* 05A7C4 8005FD64 38030001 */ addi r0, r3, 1 -/* 05A7C8 8005FD68 90010084 */ stw r0, 0x84(r1) -/* 05A7CC 8005FD6C 5460103A */ slwi r0, r3, 2 -/* 05A7D0 8005FD70 7C9F012E */ stwx r4, r31, r0 -/* 05A7D4 8005FD74 48000010 */ b lbl_8005FD84 -lbl_8005FD78: -/* 05A7D8 8005FD78 80610084 */ lwz r3, 0x84(r1) -/* 05A7DC 8005FD7C 38030001 */ addi r0, r3, 1 -/* 05A7E0 8005FD80 90010084 */ stw r0, 0x84(r1) -lbl_8005FD84: -/* 05A7E4 8005FD84 281F0000 */ cmplwi r31, 0 -/* 05A7E8 8005FD88 41820034 */ beq lbl_8005FDBC -/* 05A7EC 8005FD8C 80610084 */ lwz r3, 0x84(r1) -/* 05A7F0 8005FD90 800D8A60 */ lwz r0, cpuCompile_LHU_function@sda21(r13) -/* 05A7F4 8005FD94 5465103A */ slwi r5, r3, 2 -/* 05A7F8 8005FD98 7C9F2A14 */ add r4, r31, r5 -/* 05A7FC 8005FD9C 7C040050 */ subf r0, r4, r0 -/* 05A800 8005FDA0 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05A804 8005FDA4 38630001 */ addi r3, r3, 1 -/* 05A808 8005FDA8 64004800 */ oris r0, r0, 0x4800 -/* 05A80C 8005FDAC 90610084 */ stw r3, 0x84(r1) -/* 05A810 8005FDB0 60000001 */ ori r0, r0, 1 -/* 05A814 8005FDB4 7C1F292E */ stwx r0, r31, r5 -/* 05A818 8005FDB8 48000010 */ b lbl_8005FDC8 -lbl_8005FDBC: -/* 05A81C 8005FDBC 80610084 */ lwz r3, 0x84(r1) -/* 05A820 8005FDC0 38030001 */ addi r0, r3, 1 -/* 05A824 8005FDC4 90010084 */ stw r0, 0x84(r1) -lbl_8005FDC8: -/* 05A828 8005FDC8 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 05A82C 8005FDCC 7C7A1A14 */ add r3, r26, r3 -/* 05A830 8005FDD0 80830818 */ lwz r4, 0x818(r3) -/* 05A834 8005FDD4 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 05A838 8005FDD8 548305EF */ rlwinm. r3, r4, 0, 0x17, 0x17 -/* 05A83C 8005FDDC 4182004C */ beq lbl_8005FE28 -/* 05A840 8005FDE0 281F0000 */ cmplwi r31, 0 -/* 05A844 8005FDE4 41820034 */ beq lbl_8005FE18 -/* 05A848 8005FDE8 54041838 */ slwi r4, r0, 3 -/* 05A84C 8005FDEC 80610084 */ lwz r3, 0x84(r1) -/* 05A850 8005FDF0 38040040 */ addi r0, r4, 0x40 -/* 05A854 8005FDF4 7C1E0214 */ add r0, r30, r0 -/* 05A858 8005FDF8 7C9E0050 */ subf r4, r30, r0 -/* 05A85C 8005FDFC 38030001 */ addi r0, r3, 1 -/* 05A860 8005FE00 3C8490A3 */ addis r4, r4, 0x90a3 -/* 05A864 8005FE04 90010084 */ stw r0, 0x84(r1) -/* 05A868 8005FE08 38040004 */ addi r0, r4, 4 -/* 05A86C 8005FE0C 5463103A */ slwi r3, r3, 2 -/* 05A870 8005FE10 7C1F192E */ stwx r0, r31, r3 -/* 05A874 8005FE14 4800004C */ b lbl_8005FE60 -lbl_8005FE18: -/* 05A878 8005FE18 80610084 */ lwz r3, 0x84(r1) -/* 05A87C 8005FE1C 38030001 */ addi r0, r3, 1 -/* 05A880 8005FE20 90010084 */ stw r0, 0x84(r1) -/* 05A884 8005FE24 4800003C */ b lbl_8005FE60 -lbl_8005FE28: -/* 05A888 8005FE28 281F0000 */ cmplwi r31, 0 -/* 05A88C 8005FE2C 41820028 */ beq lbl_8005FE54 -/* 05A890 8005FE30 80610084 */ lwz r3, 0x84(r1) -/* 05A894 8005FE34 5480801E */ slwi r0, r4, 0x10 -/* 05A898 8005FE38 64047CA0 */ oris r4, r0, 0x7ca0 -/* 05A89C 8005FE3C 38030001 */ addi r0, r3, 1 -/* 05A8A0 8005FE40 90010084 */ stw r0, 0x84(r1) -/* 05A8A4 8005FE44 60842B78 */ ori r4, r4, 0x2b78 -/* 05A8A8 8005FE48 5460103A */ slwi r0, r3, 2 -/* 05A8AC 8005FE4C 7C9F012E */ stwx r4, r31, r0 -/* 05A8B0 8005FE50 48000010 */ b lbl_8005FE60 -lbl_8005FE54: -/* 05A8B4 8005FE54 80610084 */ lwz r3, 0x84(r1) -/* 05A8B8 8005FE58 38030001 */ addi r0, r3, 1 -/* 05A8BC 8005FE5C 90010084 */ stw r0, 0x84(r1) -lbl_8005FE60: -/* 05A8C0 8005FE60 2C110000 */ cmpwi r17, 0 -/* 05A8C4 8005FE64 418201BC */ beq lbl_80060020 -/* 05A8C8 8005FE68 281F0000 */ cmplwi r31, 0 -/* 05A8CC 8005FE6C 41820024 */ beq lbl_8005FE90 -/* 05A8D0 8005FE70 80610084 */ lwz r3, 0x84(r1) -/* 05A8D4 8005FE74 3C804280 */ lis r4, 0x4280 -/* 05A8D8 8005FE78 38840020 */ addi r4, r4, 0x20 -/* 05A8DC 8005FE7C 38030001 */ addi r0, r3, 1 -/* 05A8E0 8005FE80 90010084 */ stw r0, 0x84(r1) -/* 05A8E4 8005FE84 5460103A */ slwi r0, r3, 2 -/* 05A8E8 8005FE88 7C9F012E */ stwx r4, r31, r0 -/* 05A8EC 8005FE8C 48000010 */ b lbl_8005FE9C -lbl_8005FE90: -/* 05A8F0 8005FE90 80610084 */ lwz r3, 0x84(r1) -/* 05A8F4 8005FE94 38030001 */ addi r0, r3, 1 -/* 05A8F8 8005FE98 90010084 */ stw r0, 0x84(r1) -lbl_8005FE9C: -/* 05A8FC 8005FE9C 281F0000 */ cmplwi r31, 0 -/* 05A900 8005FEA0 41820020 */ beq lbl_8005FEC0 -/* 05A904 8005FEA4 80610084 */ lwz r3, 0x84(r1) -/* 05A908 8005FEA8 3C8038C0 */ lis r4, 0x38c0 -/* 05A90C 8005FEAC 38030001 */ addi r0, r3, 1 -/* 05A910 8005FEB0 90010084 */ stw r0, 0x84(r1) -/* 05A914 8005FEB4 5460103A */ slwi r0, r3, 2 -/* 05A918 8005FEB8 7C9F012E */ stwx r4, r31, r0 -/* 05A91C 8005FEBC 48000010 */ b lbl_8005FECC -lbl_8005FEC0: -/* 05A920 8005FEC0 80610084 */ lwz r3, 0x84(r1) -/* 05A924 8005FEC4 38030001 */ addi r0, r3, 1 -/* 05A928 8005FEC8 90010084 */ stw r0, 0x84(r1) -lbl_8005FECC: -/* 05A92C 8005FECC 281F0000 */ cmplwi r31, 0 -/* 05A930 8005FED0 41820028 */ beq lbl_8005FEF8 -/* 05A934 8005FED4 80610084 */ lwz r3, 0x84(r1) -/* 05A938 8005FED8 381E002C */ addi r0, r30, 0x2c -/* 05A93C 8005FEDC 7C9E0050 */ subf r4, r30, r0 -/* 05A940 8005FEE0 38030001 */ addi r0, r3, 1 -/* 05A944 8005FEE4 90010084 */ stw r0, 0x84(r1) -/* 05A948 8005FEE8 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05A94C 8005FEEC 5463103A */ slwi r3, r3, 2 -/* 05A950 8005FEF0 7C1F192E */ stwx r0, r31, r3 -/* 05A954 8005FEF4 48000010 */ b lbl_8005FF04 -lbl_8005FEF8: -/* 05A958 8005FEF8 80610084 */ lwz r3, 0x84(r1) -/* 05A95C 8005FEFC 38030001 */ addi r0, r3, 1 -/* 05A960 8005FF00 90010084 */ stw r0, 0x84(r1) -lbl_8005FF04: -/* 05A964 8005FF04 281F0000 */ cmplwi r31, 0 -/* 05A968 8005FF08 41820024 */ beq lbl_8005FF2C -/* 05A96C 8005FF0C 80610084 */ lwz r3, 0x84(r1) -/* 05A970 8005FF10 57A0843E */ srwi r0, r29, 0x10 -/* 05A974 8005FF14 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05A978 8005FF18 38030001 */ addi r0, r3, 1 -/* 05A97C 8005FF1C 90010084 */ stw r0, 0x84(r1) -/* 05A980 8005FF20 5460103A */ slwi r0, r3, 2 -/* 05A984 8005FF24 7C9F012E */ stwx r4, r31, r0 -/* 05A988 8005FF28 48000010 */ b lbl_8005FF38 -lbl_8005FF2C: -/* 05A98C 8005FF2C 80610084 */ lwz r3, 0x84(r1) -/* 05A990 8005FF30 38030001 */ addi r0, r3, 1 -/* 05A994 8005FF34 90010084 */ stw r0, 0x84(r1) -lbl_8005FF38: -/* 05A998 8005FF38 281F0000 */ cmplwi r31, 0 -/* 05A99C 8005FF3C 41820024 */ beq lbl_8005FF60 -/* 05A9A0 8005FF40 80610084 */ lwz r3, 0x84(r1) -/* 05A9A4 8005FF44 57A0043E */ clrlwi r0, r29, 0x10 -/* 05A9A8 8005FF48 640460A5 */ oris r4, r0, 0x60a5 -/* 05A9AC 8005FF4C 38030001 */ addi r0, r3, 1 -/* 05A9B0 8005FF50 90010084 */ stw r0, 0x84(r1) -/* 05A9B4 8005FF54 5460103A */ slwi r0, r3, 2 -/* 05A9B8 8005FF58 7C9F012E */ stwx r4, r31, r0 -/* 05A9BC 8005FF5C 48000010 */ b lbl_8005FF6C -lbl_8005FF60: -/* 05A9C0 8005FF60 80610084 */ lwz r3, 0x84(r1) -/* 05A9C4 8005FF64 38030001 */ addi r0, r3, 1 -/* 05A9C8 8005FF68 90010084 */ stw r0, 0x84(r1) -lbl_8005FF6C: -/* 05A9CC 8005FF6C 281F0000 */ cmplwi r31, 0 -/* 05A9D0 8005FF70 41820034 */ beq lbl_8005FFA4 -/* 05A9D4 8005FF74 80610084 */ lwz r3, 0x84(r1) -/* 05A9D8 8005FF78 801E0B40 */ lwz r0, 0xb40(r30) -/* 05A9DC 8005FF7C 5465103A */ slwi r5, r3, 2 -/* 05A9E0 8005FF80 7C9F2A14 */ add r4, r31, r5 -/* 05A9E4 8005FF84 7C040050 */ subf r0, r4, r0 -/* 05A9E8 8005FF88 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05A9EC 8005FF8C 38630001 */ addi r3, r3, 1 -/* 05A9F0 8005FF90 64004800 */ oris r0, r0, 0x4800 -/* 05A9F4 8005FF94 90610084 */ stw r3, 0x84(r1) -/* 05A9F8 8005FF98 60000001 */ ori r0, r0, 1 -/* 05A9FC 8005FF9C 7C1F292E */ stwx r0, r31, r5 -/* 05AA00 8005FFA0 48000010 */ b lbl_8005FFB0 -lbl_8005FFA4: -/* 05AA04 8005FFA4 80610084 */ lwz r3, 0x84(r1) -/* 05AA08 8005FFA8 38030001 */ addi r0, r3, 1 -/* 05AA0C 8005FFAC 90010084 */ stw r0, 0x84(r1) -lbl_8005FFB0: -/* 05AA10 8005FFB0 281F0000 */ cmplwi r31, 0 -/* 05AA14 8005FFB4 41820024 */ beq lbl_8005FFD8 -/* 05AA18 8005FFB8 80610084 */ lwz r3, 0x84(r1) -/* 05AA1C 8005FFBC 3C8038C1 */ lis r4, 0x38c1 -/* 05AA20 8005FFC0 3884FFFF */ addi r4, r4, -1 -/* 05AA24 8005FFC4 38030001 */ addi r0, r3, 1 -/* 05AA28 8005FFC8 90010084 */ stw r0, 0x84(r1) -/* 05AA2C 8005FFCC 5460103A */ slwi r0, r3, 2 -/* 05AA30 8005FFD0 7C9F012E */ stwx r4, r31, r0 -/* 05AA34 8005FFD4 48000010 */ b lbl_8005FFE4 -lbl_8005FFD8: -/* 05AA38 8005FFD8 80610084 */ lwz r3, 0x84(r1) -/* 05AA3C 8005FFDC 38030001 */ addi r0, r3, 1 -/* 05AA40 8005FFE0 90010084 */ stw r0, 0x84(r1) -lbl_8005FFE4: -/* 05AA44 8005FFE4 281F0000 */ cmplwi r31, 0 -/* 05AA48 8005FFE8 41820028 */ beq lbl_80060010 -/* 05AA4C 8005FFEC 80610084 */ lwz r3, 0x84(r1) -/* 05AA50 8005FFF0 381E002C */ addi r0, r30, 0x2c -/* 05AA54 8005FFF4 7C9E0050 */ subf r4, r30, r0 -/* 05AA58 8005FFF8 38030001 */ addi r0, r3, 1 -/* 05AA5C 8005FFFC 90010084 */ stw r0, 0x84(r1) -/* 05AA60 80060000 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05AA64 80060004 5463103A */ slwi r3, r3, 2 -/* 05AA68 80060008 7C1F192E */ stwx r0, r31, r3 -/* 05AA6C 8006000C 480000F4 */ b lbl_80060100 -lbl_80060010: -/* 05AA70 80060010 80610084 */ lwz r3, 0x84(r1) -/* 05AA74 80060014 38030001 */ addi r0, r3, 1 -/* 05AA78 80060018 90010084 */ stw r0, 0x84(r1) -/* 05AA7C 8006001C 480000E4 */ b lbl_80060100 -lbl_80060020: -/* 05AA80 80060020 281F0000 */ cmplwi r31, 0 -/* 05AA84 80060024 41820024 */ beq lbl_80060048 -/* 05AA88 80060028 80610084 */ lwz r3, 0x84(r1) -/* 05AA8C 8006002C 3C804280 */ lis r4, 0x4280 -/* 05AA90 80060030 38840010 */ addi r4, r4, 0x10 -/* 05AA94 80060034 38030001 */ addi r0, r3, 1 -/* 05AA98 80060038 90010084 */ stw r0, 0x84(r1) -/* 05AA9C 8006003C 5460103A */ slwi r0, r3, 2 -/* 05AAA0 80060040 7C9F012E */ stwx r4, r31, r0 -/* 05AAA4 80060044 48000010 */ b lbl_80060054 -lbl_80060048: -/* 05AAA8 80060048 80610084 */ lwz r3, 0x84(r1) -/* 05AAAC 8006004C 38030001 */ addi r0, r3, 1 -/* 05AAB0 80060050 90010084 */ stw r0, 0x84(r1) -lbl_80060054: -/* 05AAB4 80060054 281F0000 */ cmplwi r31, 0 -/* 05AAB8 80060058 41820024 */ beq lbl_8006007C -/* 05AABC 8006005C 80610084 */ lwz r3, 0x84(r1) -/* 05AAC0 80060060 57A0843E */ srwi r0, r29, 0x10 -/* 05AAC4 80060064 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05AAC8 80060068 38030001 */ addi r0, r3, 1 -/* 05AACC 8006006C 90010084 */ stw r0, 0x84(r1) -/* 05AAD0 80060070 5460103A */ slwi r0, r3, 2 -/* 05AAD4 80060074 7C9F012E */ stwx r4, r31, r0 -/* 05AAD8 80060078 48000010 */ b lbl_80060088 -lbl_8006007C: -/* 05AADC 8006007C 80610084 */ lwz r3, 0x84(r1) -/* 05AAE0 80060080 38030001 */ addi r0, r3, 1 -/* 05AAE4 80060084 90010084 */ stw r0, 0x84(r1) -lbl_80060088: -/* 05AAE8 80060088 281F0000 */ cmplwi r31, 0 -/* 05AAEC 8006008C 41820024 */ beq lbl_800600B0 -/* 05AAF0 80060090 80610084 */ lwz r3, 0x84(r1) -/* 05AAF4 80060094 57A0043E */ clrlwi r0, r29, 0x10 -/* 05AAF8 80060098 640460A5 */ oris r4, r0, 0x60a5 -/* 05AAFC 8006009C 38030001 */ addi r0, r3, 1 -/* 05AB00 800600A0 90010084 */ stw r0, 0x84(r1) -/* 05AB04 800600A4 5460103A */ slwi r0, r3, 2 -/* 05AB08 800600A8 7C9F012E */ stwx r4, r31, r0 -/* 05AB0C 800600AC 48000010 */ b lbl_800600BC -lbl_800600B0: -/* 05AB10 800600B0 80610084 */ lwz r3, 0x84(r1) -/* 05AB14 800600B4 38030001 */ addi r0, r3, 1 -/* 05AB18 800600B8 90010084 */ stw r0, 0x84(r1) -lbl_800600BC: -/* 05AB1C 800600BC 281F0000 */ cmplwi r31, 0 -/* 05AB20 800600C0 41820034 */ beq lbl_800600F4 -/* 05AB24 800600C4 80610084 */ lwz r3, 0x84(r1) -/* 05AB28 800600C8 801E0B40 */ lwz r0, 0xb40(r30) -/* 05AB2C 800600CC 5465103A */ slwi r5, r3, 2 -/* 05AB30 800600D0 7C9F2A14 */ add r4, r31, r5 -/* 05AB34 800600D4 7C040050 */ subf r0, r4, r0 -/* 05AB38 800600D8 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05AB3C 800600DC 38630001 */ addi r3, r3, 1 -/* 05AB40 800600E0 64004800 */ oris r0, r0, 0x4800 -/* 05AB44 800600E4 90610084 */ stw r3, 0x84(r1) -/* 05AB48 800600E8 60000001 */ ori r0, r0, 1 -/* 05AB4C 800600EC 7C1F292E */ stwx r0, r31, r5 -/* 05AB50 800600F0 48000010 */ b lbl_80060100 -lbl_800600F4: -/* 05AB54 800600F4 80610084 */ lwz r3, 0x84(r1) -/* 05AB58 800600F8 38030001 */ addi r0, r3, 1 -/* 05AB5C 800600FC 90010084 */ stw r0, 0x84(r1) -lbl_80060100: -/* 05AB60 80060100 3C7E0001 */ addis r3, r30, 1 -/* 05AB64 80060104 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 05AB68 80060108 80A32058 */ lwz r5, 0x2058(r3) -/* 05AB6C 8006010C 38800001 */ li r4, 1 -/* 05AB70 80060110 7C800030 */ slw r0, r4, r0 -/* 05AB74 80060114 7CA00078 */ andc r0, r5, r0 -/* 05AB78 80060118 90032058 */ stw r0, 0x2058(r3) -/* 05AB7C 8006011C 48007E18 */ b lbl_80067F34 -.global lbl_80060120 -lbl_80060120: -/* 05AB80 80060120 3C7E0001 */ addis r3, r30, 1 -/* 05AB84 80060124 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 05AB88 80060128 80632058 */ lwz r3, 0x2058(r3) -/* 05AB8C 8006012C 38800001 */ li r4, 1 -/* 05AB90 80060130 7C840030 */ slw r4, r4, r0 -/* 05AB94 80060134 7C632039 */ and. r3, r3, r4 -/* 05AB98 80060138 418203B0 */ beq lbl_800604E8 -/* 05AB9C 8006013C 281F0000 */ cmplwi r31, 0 -/* 05ABA0 80060140 41820024 */ beq lbl_80060164 -/* 05ABA4 80060144 80810084 */ lwz r4, 0x84(r1) -/* 05ABA8 80060148 3C609422 */ lis r3, 0x9422 -/* 05ABAC 8006014C 38A3FFE8 */ addi r5, r3, -24 -/* 05ABB0 80060150 38640001 */ addi r3, r4, 1 -/* 05ABB4 80060154 90610084 */ stw r3, 0x84(r1) -/* 05ABB8 80060158 5483103A */ slwi r3, r4, 2 -/* 05ABBC 8006015C 7CBF192E */ stwx r5, r31, r3 -/* 05ABC0 80060160 48000010 */ b lbl_80060170 -lbl_80060164: -/* 05ABC4 80060164 80610084 */ lwz r3, 0x84(r1) -/* 05ABC8 80060168 38630001 */ addi r3, r3, 1 -/* 05ABCC 8006016C 90610084 */ stw r3, 0x84(r1) -lbl_80060170: -/* 05ABD0 80060170 281F0000 */ cmplwi r31, 0 -/* 05ABD4 80060174 41820024 */ beq lbl_80060198 -/* 05ABD8 80060178 80810084 */ lwz r4, 0x84(r1) -/* 05ABDC 8006017C 3C609121 */ lis r3, 0x9121 -/* 05ABE0 80060180 38A30008 */ addi r5, r3, 8 -/* 05ABE4 80060184 38640001 */ addi r3, r4, 1 -/* 05ABE8 80060188 90610084 */ stw r3, 0x84(r1) -/* 05ABEC 8006018C 5483103A */ slwi r3, r4, 2 -/* 05ABF0 80060190 7CBF192E */ stwx r5, r31, r3 -/* 05ABF4 80060194 48000010 */ b lbl_800601A4 -lbl_80060198: -/* 05ABF8 80060198 80610084 */ lwz r3, 0x84(r1) -/* 05ABFC 8006019C 38630001 */ addi r3, r3, 1 -/* 05AC00 800601A0 90610084 */ stw r3, 0x84(r1) -lbl_800601A4: -/* 05AC04 800601A4 281F0000 */ cmplwi r31, 0 -/* 05AC08 800601A8 41820024 */ beq lbl_800601CC -/* 05AC0C 800601AC 80810084 */ lwz r4, 0x84(r1) -/* 05AC10 800601B0 3C609141 */ lis r3, 0x9141 -/* 05AC14 800601B4 38A30010 */ addi r5, r3, 0x10 -/* 05AC18 800601B8 38640001 */ addi r3, r4, 1 -/* 05AC1C 800601BC 90610084 */ stw r3, 0x84(r1) -/* 05AC20 800601C0 5483103A */ slwi r3, r4, 2 -/* 05AC24 800601C4 7CBF192E */ stwx r5, r31, r3 -/* 05AC28 800601C8 48000010 */ b lbl_800601D8 -lbl_800601CC: -/* 05AC2C 800601CC 80610084 */ lwz r3, 0x84(r1) -/* 05AC30 800601D0 38630001 */ addi r3, r3, 1 -/* 05AC34 800601D4 90610084 */ stw r3, 0x84(r1) -lbl_800601D8: -/* 05AC38 800601D8 5403103A */ slwi r3, r0, 2 -/* 05AC3C 800601DC 7C7A1A14 */ add r3, r26, r3 -/* 05AC40 800601E0 80630818 */ lwz r3, 0x818(r3) -/* 05AC44 800601E4 546405EF */ rlwinm. r4, r3, 0, 0x17, 0x17 -/* 05AC48 800601E8 4182004C */ beq lbl_80060234 -/* 05AC4C 800601EC 281F0000 */ cmplwi r31, 0 -/* 05AC50 800601F0 41820034 */ beq lbl_80060224 -/* 05AC54 800601F4 54041838 */ slwi r4, r0, 3 -/* 05AC58 800601F8 80610084 */ lwz r3, 0x84(r1) -/* 05AC5C 800601FC 38040040 */ addi r0, r4, 0x40 -/* 05AC60 80060200 7C1E0214 */ add r0, r30, r0 -/* 05AC64 80060204 7C9E0050 */ subf r4, r30, r0 -/* 05AC68 80060208 38030001 */ addi r0, r3, 1 -/* 05AC6C 8006020C 3C8480A3 */ addis r4, r4, 0x80a3 -/* 05AC70 80060210 90010084 */ stw r0, 0x84(r1) -/* 05AC74 80060214 38040004 */ addi r0, r4, 4 -/* 05AC78 80060218 5463103A */ slwi r3, r3, 2 -/* 05AC7C 8006021C 7C1F192E */ stwx r0, r31, r3 -/* 05AC80 80060220 48000054 */ b lbl_80060274 -lbl_80060224: -/* 05AC84 80060224 80610084 */ lwz r3, 0x84(r1) -/* 05AC88 80060228 38030001 */ addi r0, r3, 1 -/* 05AC8C 8006022C 90010084 */ stw r0, 0x84(r1) -/* 05AC90 80060230 48000044 */ b lbl_80060274 -lbl_80060234: -/* 05AC94 80060234 281F0000 */ cmplwi r31, 0 -/* 05AC98 80060238 41820030 */ beq lbl_80060268 -/* 05AC9C 8006023C 80810084 */ lwz r4, 0x84(r1) -/* 05ACA0 80060240 5460A814 */ slwi r0, r3, 0x15 -/* 05ACA4 80060244 64057C05 */ oris r5, r0, 0x7c05 -/* 05ACA8 80060248 38040001 */ addi r0, r4, 1 -/* 05ACAC 8006024C 90010084 */ stw r0, 0x84(r1) -/* 05ACB0 80060250 60A50378 */ ori r5, r5, 0x378 -/* 05ACB4 80060254 54605828 */ slwi r0, r3, 0xb -/* 05ACB8 80060258 7CA00378 */ or r0, r5, r0 -/* 05ACBC 8006025C 5483103A */ slwi r3, r4, 2 -/* 05ACC0 80060260 7C1F192E */ stwx r0, r31, r3 -/* 05ACC4 80060264 48000010 */ b lbl_80060274 -lbl_80060268: -/* 05ACC8 80060268 80610084 */ lwz r3, 0x84(r1) -/* 05ACCC 8006026C 38030001 */ addi r0, r3, 1 -/* 05ACD0 80060270 90010084 */ stw r0, 0x84(r1) -lbl_80060274: -/* 05ACD4 80060274 281F0000 */ cmplwi r31, 0 -/* 05ACD8 80060278 41820024 */ beq lbl_8006029C -/* 05ACDC 8006027C 80610084 */ lwz r3, 0x84(r1) -/* 05ACE0 80060280 3C807CE5 */ lis r4, 0x7ce5 -/* 05ACE4 80060284 38844214 */ addi r4, r4, 0x4214 -/* 05ACE8 80060288 38030001 */ addi r0, r3, 1 -/* 05ACEC 8006028C 90010084 */ stw r0, 0x84(r1) -/* 05ACF0 80060290 5460103A */ slwi r0, r3, 2 -/* 05ACF4 80060294 7C9F012E */ stwx r4, r31, r0 -/* 05ACF8 80060298 48000010 */ b lbl_800602A8 -lbl_8006029C: -/* 05ACFC 8006029C 80610084 */ lwz r3, 0x84(r1) -/* 05AD00 800602A0 38030001 */ addi r0, r3, 1 -/* 05AD04 800602A4 90010084 */ stw r0, 0x84(r1) -lbl_800602A8: -/* 05AD08 800602A8 281F0000 */ cmplwi r31, 0 -/* 05AD0C 800602AC 41820024 */ beq lbl_800602D0 -/* 05AD10 800602B0 80610084 */ lwz r3, 0x84(r1) -/* 05AD14 800602B4 5780043E */ clrlwi r0, r28, 0x10 -/* 05AD18 800602B8 640438E7 */ oris r4, r0, 0x38e7 -/* 05AD1C 800602BC 38030001 */ addi r0, r3, 1 -/* 05AD20 800602C0 90010084 */ stw r0, 0x84(r1) -/* 05AD24 800602C4 5460103A */ slwi r0, r3, 2 -/* 05AD28 800602C8 7C9F012E */ stwx r4, r31, r0 -/* 05AD2C 800602CC 48000010 */ b lbl_800602DC -lbl_800602D0: -/* 05AD30 800602D0 80610084 */ lwz r3, 0x84(r1) -/* 05AD34 800602D4 38030001 */ addi r0, r3, 1 -/* 05AD38 800602D8 90010084 */ stw r0, 0x84(r1) -lbl_800602DC: -/* 05AD3C 800602DC 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 05AD40 800602E0 7C9A0214 */ add r4, r26, r0 -/* 05AD44 800602E4 84C40818 */ lwzu r6, 0x818(r4) -/* 05AD48 800602E8 578786FE */ rlwinm r7, r28, 0x10, 0x1b, 0x1f -/* 05AD4C 800602EC 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 05AD50 800602F0 4182004C */ beq lbl_8006033C -/* 05AD54 800602F4 281F0000 */ cmplwi r31, 0 -/* 05AD58 800602F8 41820034 */ beq lbl_8006032C -/* 05AD5C 800602FC 54E51838 */ slwi r5, r7, 3 -/* 05AD60 80060300 80610084 */ lwz r3, 0x84(r1) -/* 05AD64 80060304 38050040 */ addi r0, r5, 0x40 -/* 05AD68 80060308 7C1E0214 */ add r0, r30, r0 -/* 05AD6C 8006030C 7CBE0050 */ subf r5, r30, r0 -/* 05AD70 80060310 38030001 */ addi r0, r3, 1 -/* 05AD74 80060314 3CA58123 */ addis r5, r5, 0x8123 -/* 05AD78 80060318 90010084 */ stw r0, 0x84(r1) -/* 05AD7C 8006031C 38050004 */ addi r0, r5, 4 -/* 05AD80 80060320 5463103A */ slwi r3, r3, 2 -/* 05AD84 80060324 7C1F192E */ stwx r0, r31, r3 -/* 05AD88 80060328 48000054 */ b lbl_8006037C -lbl_8006032C: -/* 05AD8C 8006032C 80610084 */ lwz r3, 0x84(r1) -/* 05AD90 80060330 38030001 */ addi r0, r3, 1 -/* 05AD94 80060334 90010084 */ stw r0, 0x84(r1) -/* 05AD98 80060338 48000044 */ b lbl_8006037C -lbl_8006033C: -/* 05AD9C 8006033C 281F0000 */ cmplwi r31, 0 -/* 05ADA0 80060340 41820030 */ beq lbl_80060370 -/* 05ADA4 80060344 80610084 */ lwz r3, 0x84(r1) -/* 05ADA8 80060348 54C0A814 */ slwi r0, r6, 0x15 -/* 05ADAC 8006034C 64057C09 */ oris r5, r0, 0x7c09 -/* 05ADB0 80060350 38030001 */ addi r0, r3, 1 -/* 05ADB4 80060354 90010084 */ stw r0, 0x84(r1) -/* 05ADB8 80060358 60A50378 */ ori r5, r5, 0x378 -/* 05ADBC 8006035C 54C05828 */ slwi r0, r6, 0xb -/* 05ADC0 80060360 7CA00378 */ or r0, r5, r0 -/* 05ADC4 80060364 5463103A */ slwi r3, r3, 2 -/* 05ADC8 80060368 7C1F192E */ stwx r0, r31, r3 -/* 05ADCC 8006036C 48000010 */ b lbl_8006037C -lbl_80060370: -/* 05ADD0 80060370 80610084 */ lwz r3, 0x84(r1) -/* 05ADD4 80060374 38030001 */ addi r0, r3, 1 -/* 05ADD8 80060378 90010084 */ stw r0, 0x84(r1) -lbl_8006037C: -/* 05ADDC 8006037C 281F0000 */ cmplwi r31, 0 -/* 05ADE0 80060380 41820034 */ beq lbl_800603B4 -/* 05ADE4 80060384 80610084 */ lwz r3, 0x84(r1) -/* 05ADE8 80060388 800D8A7C */ lwz r0, cpuCompile_LWR_function@sda21(r13) -/* 05ADEC 8006038C 5466103A */ slwi r6, r3, 2 -/* 05ADF0 80060390 7CBF3214 */ add r5, r31, r6 -/* 05ADF4 80060394 7C050050 */ subf r0, r5, r0 -/* 05ADF8 80060398 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05ADFC 8006039C 38630001 */ addi r3, r3, 1 -/* 05AE00 800603A0 64004800 */ oris r0, r0, 0x4800 -/* 05AE04 800603A4 90610084 */ stw r3, 0x84(r1) -/* 05AE08 800603A8 60000001 */ ori r0, r0, 1 -/* 05AE0C 800603AC 7C1F312E */ stwx r0, r31, r6 -/* 05AE10 800603B0 48000010 */ b lbl_800603C0 -lbl_800603B4: -/* 05AE14 800603B4 80610084 */ lwz r3, 0x84(r1) -/* 05AE18 800603B8 38030001 */ addi r0, r3, 1 -/* 05AE1C 800603BC 90010084 */ stw r0, 0x84(r1) -lbl_800603C0: -/* 05AE20 800603C0 80040000 */ lwz r0, 0(r4) -/* 05AE24 800603C4 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 05AE28 800603C8 4182004C */ beq lbl_80060414 -/* 05AE2C 800603CC 281F0000 */ cmplwi r31, 0 -/* 05AE30 800603D0 41820034 */ beq lbl_80060404 -/* 05AE34 800603D4 54E41838 */ slwi r4, r7, 3 -/* 05AE38 800603D8 80610084 */ lwz r3, 0x84(r1) -/* 05AE3C 800603DC 38040040 */ addi r0, r4, 0x40 -/* 05AE40 800603E0 7C1E0214 */ add r0, r30, r0 -/* 05AE44 800603E4 7C9E0050 */ subf r4, r30, r0 -/* 05AE48 800603E8 38030001 */ addi r0, r3, 1 -/* 05AE4C 800603EC 3C849123 */ addis r4, r4, 0x9123 -/* 05AE50 800603F0 90010084 */ stw r0, 0x84(r1) -/* 05AE54 800603F4 38040004 */ addi r0, r4, 4 -/* 05AE58 800603F8 5463103A */ slwi r3, r3, 2 -/* 05AE5C 800603FC 7C1F192E */ stwx r0, r31, r3 -/* 05AE60 80060400 4800004C */ b lbl_8006044C -lbl_80060404: -/* 05AE64 80060404 80610084 */ lwz r3, 0x84(r1) -/* 05AE68 80060408 38030001 */ addi r0, r3, 1 -/* 05AE6C 8006040C 90010084 */ stw r0, 0x84(r1) -/* 05AE70 80060410 4800003C */ b lbl_8006044C -lbl_80060414: -/* 05AE74 80060414 281F0000 */ cmplwi r31, 0 -/* 05AE78 80060418 41820028 */ beq lbl_80060440 -/* 05AE7C 8006041C 80610084 */ lwz r3, 0x84(r1) -/* 05AE80 80060420 5400801E */ slwi r0, r0, 0x10 -/* 05AE84 80060424 64047D20 */ oris r4, r0, 0x7d20 -/* 05AE88 80060428 38030001 */ addi r0, r3, 1 -/* 05AE8C 8006042C 90010084 */ stw r0, 0x84(r1) -/* 05AE90 80060430 60844B78 */ ori r4, r4, 0x4b78 -/* 05AE94 80060434 5460103A */ slwi r0, r3, 2 -/* 05AE98 80060438 7C9F012E */ stwx r4, r31, r0 -/* 05AE9C 8006043C 48000010 */ b lbl_8006044C -lbl_80060440: -/* 05AEA0 80060440 80610084 */ lwz r3, 0x84(r1) -/* 05AEA4 80060444 38030001 */ addi r0, r3, 1 -/* 05AEA8 80060448 90010084 */ stw r0, 0x84(r1) -lbl_8006044C: -/* 05AEAC 8006044C 281F0000 */ cmplwi r31, 0 -/* 05AEB0 80060450 41820024 */ beq lbl_80060474 -/* 05AEB4 80060454 80610084 */ lwz r3, 0x84(r1) -/* 05AEB8 80060458 3C808121 */ lis r4, 0x8121 -/* 05AEBC 8006045C 38840008 */ addi r4, r4, 8 -/* 05AEC0 80060460 38030001 */ addi r0, r3, 1 -/* 05AEC4 80060464 90010084 */ stw r0, 0x84(r1) -/* 05AEC8 80060468 5460103A */ slwi r0, r3, 2 -/* 05AECC 8006046C 7C9F012E */ stwx r4, r31, r0 -/* 05AED0 80060470 48000010 */ b lbl_80060480 -lbl_80060474: -/* 05AED4 80060474 80610084 */ lwz r3, 0x84(r1) -/* 05AED8 80060478 38030001 */ addi r0, r3, 1 -/* 05AEDC 8006047C 90010084 */ stw r0, 0x84(r1) -lbl_80060480: -/* 05AEE0 80060480 281F0000 */ cmplwi r31, 0 -/* 05AEE4 80060484 41820024 */ beq lbl_800604A8 -/* 05AEE8 80060488 80610084 */ lwz r3, 0x84(r1) -/* 05AEEC 8006048C 3C808141 */ lis r4, 0x8141 -/* 05AEF0 80060490 38840010 */ addi r4, r4, 0x10 -/* 05AEF4 80060494 38030001 */ addi r0, r3, 1 -/* 05AEF8 80060498 90010084 */ stw r0, 0x84(r1) -/* 05AEFC 8006049C 5460103A */ slwi r0, r3, 2 -/* 05AF00 800604A0 7C9F012E */ stwx r4, r31, r0 -/* 05AF04 800604A4 48000010 */ b lbl_800604B4 -lbl_800604A8: -/* 05AF08 800604A8 80610084 */ lwz r3, 0x84(r1) -/* 05AF0C 800604AC 38030001 */ addi r0, r3, 1 -/* 05AF10 800604B0 90010084 */ stw r0, 0x84(r1) -lbl_800604B4: -/* 05AF14 800604B4 281F0000 */ cmplwi r31, 0 -/* 05AF18 800604B8 41820024 */ beq lbl_800604DC -/* 05AF1C 800604BC 80610084 */ lwz r3, 0x84(r1) -/* 05AF20 800604C0 3C803821 */ lis r4, 0x3821 -/* 05AF24 800604C4 38840018 */ addi r4, r4, 0x18 -/* 05AF28 800604C8 38030001 */ addi r0, r3, 1 -/* 05AF2C 800604CC 90010084 */ stw r0, 0x84(r1) -/* 05AF30 800604D0 5460103A */ slwi r0, r3, 2 -/* 05AF34 800604D4 7C9F012E */ stwx r4, r31, r0 -/* 05AF38 800604D8 48000010 */ b lbl_800604E8 -lbl_800604DC: -/* 05AF3C 800604DC 80610084 */ lwz r3, 0x84(r1) -/* 05AF40 800604E0 38030001 */ addi r0, r3, 1 -/* 05AF44 800604E4 90010084 */ stw r0, 0x84(r1) -lbl_800604E8: -/* 05AF48 800604E8 3C7E0001 */ addis r3, r30, 1 -/* 05AF4C 800604EC 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 05AF50 800604F0 80A32058 */ lwz r5, 0x2058(r3) -/* 05AF54 800604F4 38800001 */ li r4, 1 -/* 05AF58 800604F8 7C800030 */ slw r0, r4, r0 -/* 05AF5C 800604FC 7CA00078 */ andc r0, r5, r0 -/* 05AF60 80060500 90032058 */ stw r0, 0x2058(r3) -/* 05AF64 80060504 48007A30 */ b lbl_80067F34 -.global lbl_80060508 -lbl_80060508: -/* 05AF68 80060508 3C7E0001 */ addis r3, r30, 1 -/* 05AF6C 8006050C 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 05AF70 80060510 80032058 */ lwz r0, 0x2058(r3) -/* 05AF74 80060514 38800001 */ li r4, 1 -/* 05AF78 80060518 7C843830 */ slw r4, r4, r7 -/* 05AF7C 8006051C 7C002039 */ and. r0, r0, r4 -/* 05AF80 80060520 41820430 */ beq lbl_80060950 -/* 05AF84 80060524 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 05AF88 80060528 7C9A0214 */ add r4, r26, r0 -/* 05AF8C 8006052C 81240818 */ lwz r9, 0x818(r4) -/* 05AF90 80060530 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 05AF94 80060534 552005EF */ rlwinm. r0, r9, 0, 0x17, 0x17 -/* 05AF98 80060538 41820148 */ beq lbl_80060680 -/* 05AF9C 8006053C 80032064 */ lwz r0, 0x2064(r3) -/* 05AFA0 80060540 39200006 */ li r9, 6 -/* 05AFA4 80060544 28000000 */ cmplwi r0, 0 -/* 05AFA8 80060548 4082000C */ bne lbl_80060554 -/* 05AFAC 8006054C 38000000 */ li r0, 0 -/* 05AFB0 80060550 48000094 */ b lbl_800605E4 -lbl_80060554: -/* 05AFB4 80060554 80032068 */ lwz r0, 0x2068(r3) -/* 05AFB8 80060558 28000000 */ cmplwi r0, 0 -/* 05AFBC 8006055C 4082000C */ bne lbl_80060568 -/* 05AFC0 80060560 38000000 */ li r0, 0 -/* 05AFC4 80060564 48000080 */ b lbl_800605E4 -lbl_80060568: -/* 05AFC8 80060568 8003206C */ lwz r0, 0x206c(r3) -/* 05AFCC 8006056C 7C060000 */ cmpw r6, r0 -/* 05AFD0 80060570 4182000C */ beq lbl_8006057C -/* 05AFD4 80060574 38000000 */ li r0, 0 -/* 05AFD8 80060578 4800006C */ b lbl_800605E4 -lbl_8006057C: -/* 05AFDC 8006057C 80BE0034 */ lwz r5, 0x34(r30) -/* 05AFE0 80060580 38800000 */ li r4, 0 -/* 05AFE4 80060584 80050008 */ lwz r0, 8(r5) -/* 05AFE8 80060588 2C000000 */ cmpwi r0, 0 -/* 05AFEC 8006058C 7C0903A6 */ mtctr r0 -/* 05AFF0 80060590 40810028 */ ble lbl_800605B8 -lbl_80060594: -/* 05AFF4 80060594 8065000C */ lwz r3, 0xc(r5) -/* 05AFF8 80060598 38040004 */ addi r0, r4, 4 -/* 05AFFC 8006059C 7C03002E */ lwzx r0, r3, r0 -/* 05B000 800605A0 7C1D0000 */ cmpw r29, r0 -/* 05B004 800605A4 4082000C */ bne lbl_800605B0 -/* 05B008 800605A8 38000000 */ li r0, 0 -/* 05B00C 800605AC 48000010 */ b lbl_800605BC -lbl_800605B0: -/* 05B010 800605B0 38840008 */ addi r4, r4, 8 -/* 05B014 800605B4 4200FFE0 */ bdnz lbl_80060594 -lbl_800605B8: -/* 05B018 800605B8 38000001 */ li r0, 1 -lbl_800605BC: -/* 05B01C 800605BC 2C000000 */ cmpwi r0, 0 -/* 05B020 800605C0 40820014 */ bne lbl_800605D4 -/* 05B024 800605C4 38000000 */ li r0, 0 -/* 05B028 800605C8 3C7E0001 */ addis r3, r30, 1 -/* 05B02C 800605CC 90032068 */ stw r0, 0x2068(r3) -/* 05B030 800605D0 48000014 */ b lbl_800605E4 -lbl_800605D4: -/* 05B034 800605D4 3C7E0001 */ addis r3, r30, 1 -/* 05B038 800605D8 38000000 */ li r0, 0 -/* 05B03C 800605DC 90032068 */ stw r0, 0x2068(r3) -/* 05B040 800605E0 38000001 */ li r0, 1 -lbl_800605E4: -/* 05B044 800605E4 2C000000 */ cmpwi r0, 0 -/* 05B048 800605E8 41820050 */ beq lbl_80060638 -/* 05B04C 800605EC 281F0000 */ cmplwi r31, 0 -/* 05B050 800605F0 41820038 */ beq lbl_80060628 -/* 05B054 800605F4 3C9E0001 */ addis r4, r30, 1 -/* 05B058 800605F8 80610084 */ lwz r3, 0x84(r1) -/* 05B05C 800605FC 80842070 */ lwz r4, 0x2070(r4) -/* 05B060 80060600 38A30001 */ addi r5, r3, 1 -/* 05B064 80060604 5480A814 */ slwi r0, r4, 0x15 -/* 05B068 80060608 90A10084 */ stw r5, 0x84(r1) -/* 05B06C 8006060C 64007C06 */ oris r0, r0, 0x7c06 -/* 05B070 80060610 54845828 */ slwi r4, r4, 0xb -/* 05B074 80060614 60000378 */ ori r0, r0, 0x378 -/* 05B078 80060618 7C800378 */ or r0, r4, r0 -/* 05B07C 8006061C 5463103A */ slwi r3, r3, 2 -/* 05B080 80060620 7C1F192E */ stwx r0, r31, r3 -/* 05B084 80060624 4800005C */ b lbl_80060680 -lbl_80060628: -/* 05B088 80060628 80610084 */ lwz r3, 0x84(r1) -/* 05B08C 8006062C 38030001 */ addi r0, r3, 1 -/* 05B090 80060630 90010084 */ stw r0, 0x84(r1) -/* 05B094 80060634 4800004C */ b lbl_80060680 -lbl_80060638: -/* 05B098 80060638 281F0000 */ cmplwi r31, 0 -/* 05B09C 8006063C 41820038 */ beq lbl_80060674 -/* 05B0A0 80060640 54C41838 */ slwi r4, r6, 3 -/* 05B0A4 80060644 80610084 */ lwz r3, 0x84(r1) -/* 05B0A8 80060648 38040040 */ addi r0, r4, 0x40 -/* 05B0AC 8006064C 7C1E0214 */ add r0, r30, r0 -/* 05B0B0 80060650 7C9E0050 */ subf r4, r30, r0 -/* 05B0B4 80060654 38840004 */ addi r4, r4, 4 -/* 05B0B8 80060658 38030001 */ addi r0, r3, 1 -/* 05B0BC 8006065C 5484043E */ clrlwi r4, r4, 0x10 -/* 05B0C0 80060660 90010084 */ stw r0, 0x84(r1) -/* 05B0C4 80060664 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05B0C8 80060668 5463103A */ slwi r3, r3, 2 -/* 05B0CC 8006066C 7C1F192E */ stwx r0, r31, r3 -/* 05B0D0 80060670 48000010 */ b lbl_80060680 -lbl_80060674: -/* 05B0D4 80060674 80610084 */ lwz r3, 0x84(r1) -/* 05B0D8 80060678 38030001 */ addi r0, r3, 1 -/* 05B0DC 8006067C 90010084 */ stw r0, 0x84(r1) -lbl_80060680: -/* 05B0E0 80060680 54E0103A */ slwi r0, r7, 2 -/* 05B0E4 80060684 7C7A0214 */ add r3, r26, r0 -/* 05B0E8 80060688 81030818 */ lwz r8, 0x818(r3) -/* 05B0EC 8006068C 38C00001 */ li r6, 1 -/* 05B0F0 80060690 550005EF */ rlwinm. r0, r8, 0, 0x17, 0x17 -/* 05B0F4 80060694 41820150 */ beq lbl_800607E4 -/* 05B0F8 80060698 3C7E0001 */ addis r3, r30, 1 -/* 05B0FC 8006069C 80032064 */ lwz r0, 0x2064(r3) -/* 05B100 800606A0 39000007 */ li r8, 7 -/* 05B104 800606A4 38C00000 */ li r6, 0 -/* 05B108 800606A8 28000000 */ cmplwi r0, 0 -/* 05B10C 800606AC 4082000C */ bne lbl_800606B8 -/* 05B110 800606B0 7CC03378 */ mr r0, r6 -/* 05B114 800606B4 48000094 */ b lbl_80060748 -lbl_800606B8: -/* 05B118 800606B8 80032068 */ lwz r0, 0x2068(r3) -/* 05B11C 800606BC 28000000 */ cmplwi r0, 0 -/* 05B120 800606C0 4082000C */ bne lbl_800606CC -/* 05B124 800606C4 7CC03378 */ mr r0, r6 -/* 05B128 800606C8 48000080 */ b lbl_80060748 -lbl_800606CC: -/* 05B12C 800606CC 8003206C */ lwz r0, 0x206c(r3) -/* 05B130 800606D0 7C070000 */ cmpw r7, r0 -/* 05B134 800606D4 4182000C */ beq lbl_800606E0 -/* 05B138 800606D8 7CC03378 */ mr r0, r6 -/* 05B13C 800606DC 4800006C */ b lbl_80060748 -lbl_800606E0: -/* 05B140 800606E0 80BE0034 */ lwz r5, 0x34(r30) -/* 05B144 800606E4 7CC43378 */ mr r4, r6 -/* 05B148 800606E8 80050008 */ lwz r0, 8(r5) -/* 05B14C 800606EC 2C000000 */ cmpwi r0, 0 -/* 05B150 800606F0 7C0903A6 */ mtctr r0 -/* 05B154 800606F4 40810028 */ ble lbl_8006071C -lbl_800606F8: -/* 05B158 800606F8 8065000C */ lwz r3, 0xc(r5) -/* 05B15C 800606FC 38040004 */ addi r0, r4, 4 -/* 05B160 80060700 7C03002E */ lwzx r0, r3, r0 -/* 05B164 80060704 7C1D0000 */ cmpw r29, r0 -/* 05B168 80060708 4082000C */ bne lbl_80060714 -/* 05B16C 8006070C 38000000 */ li r0, 0 -/* 05B170 80060710 48000010 */ b lbl_80060720 -lbl_80060714: -/* 05B174 80060714 38840008 */ addi r4, r4, 8 -/* 05B178 80060718 4200FFE0 */ bdnz lbl_800606F8 -lbl_8006071C: -/* 05B17C 8006071C 38000001 */ li r0, 1 -lbl_80060720: -/* 05B180 80060720 2C000000 */ cmpwi r0, 0 -/* 05B184 80060724 40820014 */ bne lbl_80060738 -/* 05B188 80060728 38000000 */ li r0, 0 -/* 05B18C 8006072C 3C7E0001 */ addis r3, r30, 1 -/* 05B190 80060730 90032068 */ stw r0, 0x2068(r3) -/* 05B194 80060734 48000014 */ b lbl_80060748 -lbl_80060738: -/* 05B198 80060738 3C7E0001 */ addis r3, r30, 1 -/* 05B19C 8006073C 38000000 */ li r0, 0 -/* 05B1A0 80060740 90032068 */ stw r0, 0x2068(r3) -/* 05B1A4 80060744 38000001 */ li r0, 1 -lbl_80060748: -/* 05B1A8 80060748 2C000000 */ cmpwi r0, 0 -/* 05B1AC 8006074C 41820050 */ beq lbl_8006079C -/* 05B1B0 80060750 281F0000 */ cmplwi r31, 0 -/* 05B1B4 80060754 41820038 */ beq lbl_8006078C -/* 05B1B8 80060758 3C9E0001 */ addis r4, r30, 1 -/* 05B1BC 8006075C 80610084 */ lwz r3, 0x84(r1) -/* 05B1C0 80060760 80842070 */ lwz r4, 0x2070(r4) -/* 05B1C4 80060764 38A30001 */ addi r5, r3, 1 -/* 05B1C8 80060768 5480A814 */ slwi r0, r4, 0x15 -/* 05B1CC 8006076C 90A10084 */ stw r5, 0x84(r1) -/* 05B1D0 80060770 64007C07 */ oris r0, r0, 0x7c07 -/* 05B1D4 80060774 54845828 */ slwi r4, r4, 0xb -/* 05B1D8 80060778 60000378 */ ori r0, r0, 0x378 -/* 05B1DC 8006077C 7C800378 */ or r0, r4, r0 -/* 05B1E0 80060780 5463103A */ slwi r3, r3, 2 -/* 05B1E4 80060784 7C1F192E */ stwx r0, r31, r3 -/* 05B1E8 80060788 4800005C */ b lbl_800607E4 -lbl_8006078C: -/* 05B1EC 8006078C 80610084 */ lwz r3, 0x84(r1) -/* 05B1F0 80060790 38030001 */ addi r0, r3, 1 -/* 05B1F4 80060794 90010084 */ stw r0, 0x84(r1) -/* 05B1F8 80060798 4800004C */ b lbl_800607E4 -lbl_8006079C: -/* 05B1FC 8006079C 281F0000 */ cmplwi r31, 0 -/* 05B200 800607A0 41820038 */ beq lbl_800607D8 -/* 05B204 800607A4 54E41838 */ slwi r4, r7, 3 -/* 05B208 800607A8 80610084 */ lwz r3, 0x84(r1) -/* 05B20C 800607AC 38040040 */ addi r0, r4, 0x40 -/* 05B210 800607B0 7C1E0214 */ add r0, r30, r0 -/* 05B214 800607B4 7C9E0050 */ subf r4, r30, r0 -/* 05B218 800607B8 38840004 */ addi r4, r4, 4 -/* 05B21C 800607BC 38030001 */ addi r0, r3, 1 -/* 05B220 800607C0 5484043E */ clrlwi r4, r4, 0x10 -/* 05B224 800607C4 90010084 */ stw r0, 0x84(r1) -/* 05B228 800607C8 3C0480E3 */ addis r0, r4, 0x80e3 -/* 05B22C 800607CC 5463103A */ slwi r3, r3, 2 -/* 05B230 800607D0 7C1F192E */ stwx r0, r31, r3 -/* 05B234 800607D4 48000010 */ b lbl_800607E4 -lbl_800607D8: -/* 05B238 800607D8 80610084 */ lwz r3, 0x84(r1) -/* 05B23C 800607DC 38030001 */ addi r0, r3, 1 -/* 05B240 800607E0 90010084 */ stw r0, 0x84(r1) -lbl_800607E4: -/* 05B244 800607E4 2C060000 */ cmpwi r6, 0 -/* 05B248 800607E8 418200BC */ beq lbl_800608A4 -/* 05B24C 800607EC 281F0000 */ cmplwi r31, 0 -/* 05B250 800607F0 4082000C */ bne lbl_800607FC -/* 05B254 800607F4 38800000 */ li r4, 0 -/* 05B258 800607F8 480000A4 */ b lbl_8006089C -lbl_800607FC: -/* 05B25C 800607FC 3C7E0001 */ addis r3, r30, 1 -/* 05B260 80060800 80032064 */ lwz r0, 0x2064(r3) -/* 05B264 80060804 28000000 */ cmplwi r0, 0 -/* 05B268 80060808 4082000C */ bne lbl_80060814 -/* 05B26C 8006080C 38800000 */ li r4, 0 -/* 05B270 80060810 4800008C */ b lbl_8006089C -lbl_80060814: -/* 05B274 80060814 80BE0034 */ lwz r5, 0x34(r30) -/* 05B278 80060818 38800000 */ li r4, 0 -/* 05B27C 8006081C 80050008 */ lwz r0, 8(r5) -/* 05B280 80060820 2C000000 */ cmpwi r0, 0 -/* 05B284 80060824 7C0903A6 */ mtctr r0 -/* 05B288 80060828 40810028 */ ble lbl_80060850 -lbl_8006082C: -/* 05B28C 8006082C 8065000C */ lwz r3, 0xc(r5) -/* 05B290 80060830 38040004 */ addi r0, r4, 4 -/* 05B294 80060834 7C03002E */ lwzx r0, r3, r0 -/* 05B298 80060838 7C1D0000 */ cmpw r29, r0 -/* 05B29C 8006083C 4082000C */ bne lbl_80060848 -/* 05B2A0 80060840 38000000 */ li r0, 0 -/* 05B2A4 80060844 48000010 */ b lbl_80060854 -lbl_80060848: -/* 05B2A8 80060848 38840008 */ addi r4, r4, 8 -/* 05B2AC 8006084C 4200FFE0 */ bdnz lbl_8006082C -lbl_80060850: -/* 05B2B0 80060850 38000001 */ li r0, 1 -lbl_80060854: -/* 05B2B4 80060854 2C000000 */ cmpwi r0, 0 -/* 05B2B8 80060858 4082000C */ bne lbl_80060864 -/* 05B2BC 8006085C 38800000 */ li r4, 0 -/* 05B2C0 80060860 4800003C */ b lbl_8006089C -lbl_80060864: -/* 05B2C4 80060864 2C07FFFF */ cmpwi r7, -1 -/* 05B2C8 80060868 3C7E0001 */ addis r3, r30, 1 -/* 05B2CC 8006086C 38800001 */ li r4, 1 -/* 05B2D0 80060870 9083207C */ stw r4, 0x207c(r3) -/* 05B2D4 80060874 40820014 */ bne lbl_80060888 -/* 05B2D8 80060878 3800FFFF */ li r0, -1 -/* 05B2DC 8006087C 90032080 */ stw r0, 0x2080(r3) -/* 05B2E0 80060880 38800000 */ li r4, 0 -/* 05B2E4 80060884 48000018 */ b lbl_8006089C -lbl_80060888: -/* 05B2E8 80060888 80032080 */ lwz r0, 0x2080(r3) -/* 05B2EC 8006088C 7C003800 */ cmpw r0, r7 -/* 05B2F0 80060890 4182000C */ beq lbl_8006089C -/* 05B2F4 80060894 90E32080 */ stw r7, 0x2080(r3) -/* 05B2F8 80060898 38800000 */ li r4, 0 -lbl_8006089C: -/* 05B2FC 8006089C 2C040000 */ cmpwi r4, 0 -/* 05B300 800608A0 40820040 */ bne lbl_800608E0 -lbl_800608A4: -/* 05B304 800608A4 281F0000 */ cmplwi r31, 0 -/* 05B308 800608A8 41820028 */ beq lbl_800608D0 -/* 05B30C 800608AC 80610084 */ lwz r3, 0x84(r1) -/* 05B310 800608B0 5500801E */ slwi r0, r8, 0x10 -/* 05B314 800608B4 64047CE0 */ oris r4, r0, 0x7ce0 -/* 05B318 800608B8 38030001 */ addi r0, r3, 1 -/* 05B31C 800608BC 90010084 */ stw r0, 0x84(r1) -/* 05B320 800608C0 60844214 */ ori r4, r4, 0x4214 -/* 05B324 800608C4 5460103A */ slwi r0, r3, 2 -/* 05B328 800608C8 7C9F012E */ stwx r4, r31, r0 -/* 05B32C 800608CC 48000044 */ b lbl_80060910 -lbl_800608D0: -/* 05B330 800608D0 80610084 */ lwz r3, 0x84(r1) -/* 05B334 800608D4 38030001 */ addi r0, r3, 1 -/* 05B338 800608D8 90010084 */ stw r0, 0x84(r1) -/* 05B33C 800608DC 48000034 */ b lbl_80060910 -lbl_800608E0: -/* 05B340 800608E0 281F0000 */ cmplwi r31, 0 -/* 05B344 800608E4 41820020 */ beq lbl_80060904 -/* 05B348 800608E8 80610084 */ lwz r3, 0x84(r1) -/* 05B34C 800608EC 3C806000 */ lis r4, 0x6000 -/* 05B350 800608F0 38030001 */ addi r0, r3, 1 -/* 05B354 800608F4 90010084 */ stw r0, 0x84(r1) -/* 05B358 800608F8 5460103A */ slwi r0, r3, 2 -/* 05B35C 800608FC 7C9F012E */ stwx r4, r31, r0 -/* 05B360 80060900 48000010 */ b lbl_80060910 -lbl_80060904: -/* 05B364 80060904 80610084 */ lwz r3, 0x84(r1) -/* 05B368 80060908 38030001 */ addi r0, r3, 1 -/* 05B36C 8006090C 90010084 */ stw r0, 0x84(r1) -lbl_80060910: -/* 05B370 80060910 281F0000 */ cmplwi r31, 0 -/* 05B374 80060914 4182002C */ beq lbl_80060940 -/* 05B378 80060918 80610084 */ lwz r3, 0x84(r1) -/* 05B37C 8006091C 5520A814 */ slwi r0, r9, 0x15 -/* 05B380 80060920 64009807 */ oris r0, r0, 0x9807 -/* 05B384 80060924 38830001 */ addi r4, r3, 1 -/* 05B388 80060928 5785043E */ clrlwi r5, r28, 0x10 -/* 05B38C 8006092C 90810084 */ stw r4, 0x84(r1) -/* 05B390 80060930 7C002B78 */ or r0, r0, r5 -/* 05B394 80060934 5463103A */ slwi r3, r3, 2 -/* 05B398 80060938 7C1F192E */ stwx r0, r31, r3 -/* 05B39C 8006093C 480075F8 */ b lbl_80067F34 -lbl_80060940: -/* 05B3A0 80060940 80610084 */ lwz r3, 0x84(r1) -/* 05B3A4 80060944 38030001 */ addi r0, r3, 1 -/* 05B3A8 80060948 90010084 */ stw r0, 0x84(r1) -/* 05B3AC 8006094C 480075E8 */ b lbl_80067F34 -lbl_80060950: -/* 05B3B0 80060950 80832060 */ lwz r4, 0x2060(r3) -/* 05B3B4 80060954 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 05B3B8 80060958 41820248 */ beq lbl_80060BA0 -/* 05B3BC 8006095C 2C110000 */ cmpwi r17, 0 -/* 05B3C0 80060960 4182006C */ beq lbl_800609CC -/* 05B3C4 80060964 281F0000 */ cmplwi r31, 0 -/* 05B3C8 80060968 41820020 */ beq lbl_80060988 -/* 05B3CC 8006096C 80610084 */ lwz r3, 0x84(r1) -/* 05B3D0 80060970 3C8038C0 */ lis r4, 0x38c0 -/* 05B3D4 80060974 38030001 */ addi r0, r3, 1 -/* 05B3D8 80060978 90010084 */ stw r0, 0x84(r1) -/* 05B3DC 8006097C 5460103A */ slwi r0, r3, 2 -/* 05B3E0 80060980 7C9F012E */ stwx r4, r31, r0 -/* 05B3E4 80060984 48000010 */ b lbl_80060994 -lbl_80060988: -/* 05B3E8 80060988 80610084 */ lwz r3, 0x84(r1) -/* 05B3EC 8006098C 38030001 */ addi r0, r3, 1 -/* 05B3F0 80060990 90010084 */ stw r0, 0x84(r1) -lbl_80060994: -/* 05B3F4 80060994 281F0000 */ cmplwi r31, 0 -/* 05B3F8 80060998 41820028 */ beq lbl_800609C0 -/* 05B3FC 8006099C 80610084 */ lwz r3, 0x84(r1) -/* 05B400 800609A0 381E002C */ addi r0, r30, 0x2c -/* 05B404 800609A4 7C9E0050 */ subf r4, r30, r0 -/* 05B408 800609A8 38030001 */ addi r0, r3, 1 -/* 05B40C 800609AC 90010084 */ stw r0, 0x84(r1) -/* 05B410 800609B0 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05B414 800609B4 5463103A */ slwi r3, r3, 2 -/* 05B418 800609B8 7C1F192E */ stwx r0, r31, r3 -/* 05B41C 800609BC 48000010 */ b lbl_800609CC -lbl_800609C0: -/* 05B420 800609C0 80610084 */ lwz r3, 0x84(r1) -/* 05B424 800609C4 38030001 */ addi r0, r3, 1 -/* 05B428 800609C8 90010084 */ stw r0, 0x84(r1) -lbl_800609CC: -/* 05B42C 800609CC 281F0000 */ cmplwi r31, 0 -/* 05B430 800609D0 41820024 */ beq lbl_800609F4 -/* 05B434 800609D4 80610084 */ lwz r3, 0x84(r1) -/* 05B438 800609D8 57A0843E */ srwi r0, r29, 0x10 -/* 05B43C 800609DC 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05B440 800609E0 38030001 */ addi r0, r3, 1 -/* 05B444 800609E4 90010084 */ stw r0, 0x84(r1) -/* 05B448 800609E8 5460103A */ slwi r0, r3, 2 -/* 05B44C 800609EC 7C9F012E */ stwx r4, r31, r0 -/* 05B450 800609F0 48000010 */ b lbl_80060A00 -lbl_800609F4: -/* 05B454 800609F4 80610084 */ lwz r3, 0x84(r1) -/* 05B458 800609F8 38030001 */ addi r0, r3, 1 -/* 05B45C 800609FC 90010084 */ stw r0, 0x84(r1) -lbl_80060A00: -/* 05B460 80060A00 281F0000 */ cmplwi r31, 0 -/* 05B464 80060A04 41820024 */ beq lbl_80060A28 -/* 05B468 80060A08 80610084 */ lwz r3, 0x84(r1) -/* 05B46C 80060A0C 57A0043E */ clrlwi r0, r29, 0x10 -/* 05B470 80060A10 640460A5 */ oris r4, r0, 0x60a5 -/* 05B474 80060A14 38030001 */ addi r0, r3, 1 -/* 05B478 80060A18 90010084 */ stw r0, 0x84(r1) -/* 05B47C 80060A1C 5460103A */ slwi r0, r3, 2 -/* 05B480 80060A20 7C9F012E */ stwx r4, r31, r0 -/* 05B484 80060A24 48000010 */ b lbl_80060A34 -lbl_80060A28: -/* 05B488 80060A28 80610084 */ lwz r3, 0x84(r1) -/* 05B48C 80060A2C 38030001 */ addi r0, r3, 1 -/* 05B490 80060A30 90010084 */ stw r0, 0x84(r1) -lbl_80060A34: -/* 05B494 80060A34 281F0000 */ cmplwi r31, 0 -/* 05B498 80060A38 41820034 */ beq lbl_80060A6C -/* 05B49C 80060A3C 80610084 */ lwz r3, 0x84(r1) -/* 05B4A0 80060A40 801E0B50 */ lwz r0, 0xb50(r30) -/* 05B4A4 80060A44 5465103A */ slwi r5, r3, 2 -/* 05B4A8 80060A48 7C9F2A14 */ add r4, r31, r5 -/* 05B4AC 80060A4C 7C040050 */ subf r0, r4, r0 -/* 05B4B0 80060A50 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05B4B4 80060A54 38630001 */ addi r3, r3, 1 -/* 05B4B8 80060A58 64004800 */ oris r0, r0, 0x4800 -/* 05B4BC 80060A5C 90610084 */ stw r3, 0x84(r1) -/* 05B4C0 80060A60 60000001 */ ori r0, r0, 1 -/* 05B4C4 80060A64 7C1F292E */ stwx r0, r31, r5 -/* 05B4C8 80060A68 48000010 */ b lbl_80060A78 -lbl_80060A6C: -/* 05B4CC 80060A6C 80610084 */ lwz r3, 0x84(r1) -/* 05B4D0 80060A70 38030001 */ addi r0, r3, 1 -/* 05B4D4 80060A74 90010084 */ stw r0, 0x84(r1) -lbl_80060A78: -/* 05B4D8 80060A78 3C7E0001 */ addis r3, r30, 1 -/* 05B4DC 80060A7C 80032060 */ lwz r0, 0x2060(r3) -/* 05B4E0 80060A80 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 05B4E4 80060A84 41820060 */ beq lbl_80060AE4 -/* 05B4E8 80060A88 281F0000 */ cmplwi r31, 0 -/* 05B4EC 80060A8C 40820014 */ bne lbl_80060AA0 -/* 05B4F0 80060A90 80610084 */ lwz r3, 0x84(r1) -/* 05B4F4 80060A94 38030003 */ addi r0, r3, 3 -/* 05B4F8 80060A98 90010084 */ stw r0, 0x84(r1) -/* 05B4FC 80060A9C 4800008C */ b lbl_80060B28 -lbl_80060AA0: -/* 05B500 80060AA0 80610084 */ lwz r3, 0x84(r1) -/* 05B504 80060AA4 3C806000 */ lis r4, 0x6000 -/* 05B508 80060AA8 38030001 */ addi r0, r3, 1 -/* 05B50C 80060AAC 90010084 */ stw r0, 0x84(r1) -/* 05B510 80060AB0 5460103A */ slwi r0, r3, 2 -/* 05B514 80060AB4 7C9F012E */ stwx r4, r31, r0 -/* 05B518 80060AB8 80610084 */ lwz r3, 0x84(r1) -/* 05B51C 80060ABC 38030001 */ addi r0, r3, 1 -/* 05B520 80060AC0 90010084 */ stw r0, 0x84(r1) -/* 05B524 80060AC4 5460103A */ slwi r0, r3, 2 -/* 05B528 80060AC8 7C9F012E */ stwx r4, r31, r0 -/* 05B52C 80060ACC 80610084 */ lwz r3, 0x84(r1) -/* 05B530 80060AD0 38030001 */ addi r0, r3, 1 -/* 05B534 80060AD4 90010084 */ stw r0, 0x84(r1) -/* 05B538 80060AD8 5460103A */ slwi r0, r3, 2 -/* 05B53C 80060ADC 7C9F012E */ stwx r4, r31, r0 -/* 05B540 80060AE0 48000048 */ b lbl_80060B28 -lbl_80060AE4: -/* 05B544 80060AE4 281F0000 */ cmplwi r31, 0 -/* 05B548 80060AE8 40820014 */ bne lbl_80060AFC -/* 05B54C 80060AEC 80610084 */ lwz r3, 0x84(r1) -/* 05B550 80060AF0 38030002 */ addi r0, r3, 2 -/* 05B554 80060AF4 90010084 */ stw r0, 0x84(r1) -/* 05B558 80060AF8 48000030 */ b lbl_80060B28 -lbl_80060AFC: -/* 05B55C 80060AFC 80610084 */ lwz r3, 0x84(r1) -/* 05B560 80060B00 3C806000 */ lis r4, 0x6000 -/* 05B564 80060B04 38030001 */ addi r0, r3, 1 -/* 05B568 80060B08 90010084 */ stw r0, 0x84(r1) -/* 05B56C 80060B0C 5460103A */ slwi r0, r3, 2 -/* 05B570 80060B10 7C9F012E */ stwx r4, r31, r0 -/* 05B574 80060B14 80610084 */ lwz r3, 0x84(r1) -/* 05B578 80060B18 38030001 */ addi r0, r3, 1 -/* 05B57C 80060B1C 90010084 */ stw r0, 0x84(r1) -/* 05B580 80060B20 5460103A */ slwi r0, r3, 2 -/* 05B584 80060B24 7C9F012E */ stwx r4, r31, r0 -lbl_80060B28: -/* 05B588 80060B28 2C110000 */ cmpwi r17, 0 -/* 05B58C 80060B2C 41827408 */ beq lbl_80067F34 -/* 05B590 80060B30 281F0000 */ cmplwi r31, 0 -/* 05B594 80060B34 41820024 */ beq lbl_80060B58 -/* 05B598 80060B38 80610084 */ lwz r3, 0x84(r1) -/* 05B59C 80060B3C 3C8038C1 */ lis r4, 0x38c1 -/* 05B5A0 80060B40 3884FFFF */ addi r4, r4, -1 -/* 05B5A4 80060B44 38030001 */ addi r0, r3, 1 -/* 05B5A8 80060B48 90010084 */ stw r0, 0x84(r1) -/* 05B5AC 80060B4C 5460103A */ slwi r0, r3, 2 -/* 05B5B0 80060B50 7C9F012E */ stwx r4, r31, r0 -/* 05B5B4 80060B54 48000010 */ b lbl_80060B64 -lbl_80060B58: -/* 05B5B8 80060B58 80610084 */ lwz r3, 0x84(r1) -/* 05B5BC 80060B5C 38030001 */ addi r0, r3, 1 -/* 05B5C0 80060B60 90010084 */ stw r0, 0x84(r1) -lbl_80060B64: -/* 05B5C4 80060B64 281F0000 */ cmplwi r31, 0 -/* 05B5C8 80060B68 41820028 */ beq lbl_80060B90 -/* 05B5CC 80060B6C 80610084 */ lwz r3, 0x84(r1) -/* 05B5D0 80060B70 381E002C */ addi r0, r30, 0x2c -/* 05B5D4 80060B74 7C9E0050 */ subf r4, r30, r0 -/* 05B5D8 80060B78 38030001 */ addi r0, r3, 1 -/* 05B5DC 80060B7C 90010084 */ stw r0, 0x84(r1) -/* 05B5E0 80060B80 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05B5E4 80060B84 5463103A */ slwi r3, r3, 2 -/* 05B5E8 80060B88 7C1F192E */ stwx r0, r31, r3 -/* 05B5EC 80060B8C 480073A8 */ b lbl_80067F34 -lbl_80060B90: -/* 05B5F0 80060B90 80610084 */ lwz r3, 0x84(r1) -/* 05B5F4 80060B94 38030001 */ addi r0, r3, 1 -/* 05B5F8 80060B98 90010084 */ stw r0, 0x84(r1) -/* 05B5FC 80060B9C 48007398 */ b lbl_80067F34 -lbl_80060BA0: -/* 05B600 80060BA0 548007FF */ clrlwi. r0, r4, 0x1f -/* 05B604 80060BA4 41827390 */ beq lbl_80067F34 -/* 05B608 80060BA8 54E0103A */ slwi r0, r7, 2 -/* 05B60C 80060BAC 7C9A0214 */ add r4, r26, r0 -/* 05B610 80060BB0 80C40818 */ lwz r6, 0x818(r4) -/* 05B614 80060BB4 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 05B618 80060BB8 41820148 */ beq lbl_80060D00 -/* 05B61C 80060BBC 80032064 */ lwz r0, 0x2064(r3) -/* 05B620 80060BC0 38C00006 */ li r6, 6 -/* 05B624 80060BC4 28000000 */ cmplwi r0, 0 -/* 05B628 80060BC8 4082000C */ bne lbl_80060BD4 -/* 05B62C 80060BCC 38000000 */ li r0, 0 -/* 05B630 80060BD0 48000094 */ b lbl_80060C64 -lbl_80060BD4: -/* 05B634 80060BD4 80032068 */ lwz r0, 0x2068(r3) -/* 05B638 80060BD8 28000000 */ cmplwi r0, 0 -/* 05B63C 80060BDC 4082000C */ bne lbl_80060BE8 -/* 05B640 80060BE0 38000000 */ li r0, 0 -/* 05B644 80060BE4 48000080 */ b lbl_80060C64 -lbl_80060BE8: -/* 05B648 80060BE8 8003206C */ lwz r0, 0x206c(r3) -/* 05B64C 80060BEC 7C070000 */ cmpw r7, r0 -/* 05B650 80060BF0 4182000C */ beq lbl_80060BFC -/* 05B654 80060BF4 38000000 */ li r0, 0 -/* 05B658 80060BF8 4800006C */ b lbl_80060C64 -lbl_80060BFC: -/* 05B65C 80060BFC 80BE0034 */ lwz r5, 0x34(r30) -/* 05B660 80060C00 38800000 */ li r4, 0 -/* 05B664 80060C04 80050008 */ lwz r0, 8(r5) -/* 05B668 80060C08 2C000000 */ cmpwi r0, 0 -/* 05B66C 80060C0C 7C0903A6 */ mtctr r0 -/* 05B670 80060C10 40810028 */ ble lbl_80060C38 -lbl_80060C14: -/* 05B674 80060C14 8065000C */ lwz r3, 0xc(r5) -/* 05B678 80060C18 38040004 */ addi r0, r4, 4 -/* 05B67C 80060C1C 7C03002E */ lwzx r0, r3, r0 -/* 05B680 80060C20 7C1D0000 */ cmpw r29, r0 -/* 05B684 80060C24 4082000C */ bne lbl_80060C30 -/* 05B688 80060C28 38000000 */ li r0, 0 -/* 05B68C 80060C2C 48000010 */ b lbl_80060C3C -lbl_80060C30: -/* 05B690 80060C30 38840008 */ addi r4, r4, 8 -/* 05B694 80060C34 4200FFE0 */ bdnz lbl_80060C14 -lbl_80060C38: -/* 05B698 80060C38 38000001 */ li r0, 1 -lbl_80060C3C: -/* 05B69C 80060C3C 2C000000 */ cmpwi r0, 0 -/* 05B6A0 80060C40 40820014 */ bne lbl_80060C54 -/* 05B6A4 80060C44 38000000 */ li r0, 0 -/* 05B6A8 80060C48 3C7E0001 */ addis r3, r30, 1 -/* 05B6AC 80060C4C 90032068 */ stw r0, 0x2068(r3) -/* 05B6B0 80060C50 48000014 */ b lbl_80060C64 -lbl_80060C54: -/* 05B6B4 80060C54 3C7E0001 */ addis r3, r30, 1 -/* 05B6B8 80060C58 38000000 */ li r0, 0 -/* 05B6BC 80060C5C 90032068 */ stw r0, 0x2068(r3) -/* 05B6C0 80060C60 38000001 */ li r0, 1 -lbl_80060C64: -/* 05B6C4 80060C64 2C000000 */ cmpwi r0, 0 -/* 05B6C8 80060C68 41820050 */ beq lbl_80060CB8 -/* 05B6CC 80060C6C 281F0000 */ cmplwi r31, 0 -/* 05B6D0 80060C70 41820038 */ beq lbl_80060CA8 -/* 05B6D4 80060C74 3C9E0001 */ addis r4, r30, 1 -/* 05B6D8 80060C78 80610084 */ lwz r3, 0x84(r1) -/* 05B6DC 80060C7C 80842070 */ lwz r4, 0x2070(r4) -/* 05B6E0 80060C80 38A30001 */ addi r5, r3, 1 -/* 05B6E4 80060C84 5480A814 */ slwi r0, r4, 0x15 -/* 05B6E8 80060C88 90A10084 */ stw r5, 0x84(r1) -/* 05B6EC 80060C8C 64007C06 */ oris r0, r0, 0x7c06 -/* 05B6F0 80060C90 54845828 */ slwi r4, r4, 0xb -/* 05B6F4 80060C94 60000378 */ ori r0, r0, 0x378 -/* 05B6F8 80060C98 7C800378 */ or r0, r4, r0 -/* 05B6FC 80060C9C 5463103A */ slwi r3, r3, 2 -/* 05B700 80060CA0 7C1F192E */ stwx r0, r31, r3 -/* 05B704 80060CA4 4800005C */ b lbl_80060D00 -lbl_80060CA8: -/* 05B708 80060CA8 80610084 */ lwz r3, 0x84(r1) -/* 05B70C 80060CAC 38030001 */ addi r0, r3, 1 -/* 05B710 80060CB0 90010084 */ stw r0, 0x84(r1) -/* 05B714 80060CB4 4800004C */ b lbl_80060D00 -lbl_80060CB8: -/* 05B718 80060CB8 281F0000 */ cmplwi r31, 0 -/* 05B71C 80060CBC 41820038 */ beq lbl_80060CF4 -/* 05B720 80060CC0 54E41838 */ slwi r4, r7, 3 -/* 05B724 80060CC4 80610084 */ lwz r3, 0x84(r1) -/* 05B728 80060CC8 38040040 */ addi r0, r4, 0x40 -/* 05B72C 80060CCC 7C1E0214 */ add r0, r30, r0 -/* 05B730 80060CD0 7C9E0050 */ subf r4, r30, r0 -/* 05B734 80060CD4 38840004 */ addi r4, r4, 4 -/* 05B738 80060CD8 38030001 */ addi r0, r3, 1 -/* 05B73C 80060CDC 5484043E */ clrlwi r4, r4, 0x10 -/* 05B740 80060CE0 90010084 */ stw r0, 0x84(r1) -/* 05B744 80060CE4 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05B748 80060CE8 5463103A */ slwi r3, r3, 2 -/* 05B74C 80060CEC 7C1F192E */ stwx r0, r31, r3 -/* 05B750 80060CF0 48000010 */ b lbl_80060D00 -lbl_80060CF4: -/* 05B754 80060CF4 80610084 */ lwz r3, 0x84(r1) -/* 05B758 80060CF8 38030001 */ addi r0, r3, 1 -/* 05B75C 80060CFC 90010084 */ stw r0, 0x84(r1) -lbl_80060D00: -/* 05B760 80060D00 281F0000 */ cmplwi r31, 0 -/* 05B764 80060D04 4182002C */ beq lbl_80060D30 -/* 05B768 80060D08 80610084 */ lwz r3, 0x84(r1) -/* 05B76C 80060D0C 54C0801E */ slwi r0, r6, 0x10 -/* 05B770 80060D10 640538A0 */ oris r5, r0, 0x38a0 -/* 05B774 80060D14 38030001 */ addi r0, r3, 1 -/* 05B778 80060D18 5784043E */ clrlwi r4, r28, 0x10 -/* 05B77C 80060D1C 90010084 */ stw r0, 0x84(r1) -/* 05B780 80060D20 7CA02378 */ or r0, r5, r4 -/* 05B784 80060D24 5463103A */ slwi r3, r3, 2 -/* 05B788 80060D28 7C1F192E */ stwx r0, r31, r3 -/* 05B78C 80060D2C 48000010 */ b lbl_80060D3C -lbl_80060D30: -/* 05B790 80060D30 80610084 */ lwz r3, 0x84(r1) -/* 05B794 80060D34 38030001 */ addi r0, r3, 1 -/* 05B798 80060D38 90010084 */ stw r0, 0x84(r1) -lbl_80060D3C: -/* 05B79C 80060D3C 281F0000 */ cmplwi r31, 0 -/* 05B7A0 80060D40 41820024 */ beq lbl_80060D64 -/* 05B7A4 80060D44 80610084 */ lwz r3, 0x84(r1) -/* 05B7A8 80060D48 3C8054A7 */ lis r4, 0x54a7 -/* 05B7AC 80060D4C 3884843E */ addi r4, r4, -31682 -/* 05B7B0 80060D50 38030001 */ addi r0, r3, 1 -/* 05B7B4 80060D54 90010084 */ stw r0, 0x84(r1) -/* 05B7B8 80060D58 5460103A */ slwi r0, r3, 2 -/* 05B7BC 80060D5C 7C9F012E */ stwx r4, r31, r0 -/* 05B7C0 80060D60 48000010 */ b lbl_80060D70 -lbl_80060D64: -/* 05B7C4 80060D64 80610084 */ lwz r3, 0x84(r1) -/* 05B7C8 80060D68 38030001 */ addi r0, r3, 1 -/* 05B7CC 80060D6C 90010084 */ stw r0, 0x84(r1) -lbl_80060D70: -/* 05B7D0 80060D70 281F0000 */ cmplwi r31, 0 -/* 05B7D4 80060D74 41820024 */ beq lbl_80060D98 -/* 05B7D8 80060D78 80610084 */ lwz r3, 0x84(r1) -/* 05B7DC 80060D7C 3C807CC6 */ lis r4, 0x7cc6 -/* 05B7E0 80060D80 388448AE */ addi r4, r4, 0x48ae -/* 05B7E4 80060D84 38030001 */ addi r0, r3, 1 -/* 05B7E8 80060D88 90010084 */ stw r0, 0x84(r1) -/* 05B7EC 80060D8C 5460103A */ slwi r0, r3, 2 -/* 05B7F0 80060D90 7C9F012E */ stwx r4, r31, r0 -/* 05B7F4 80060D94 48000010 */ b lbl_80060DA4 -lbl_80060D98: -/* 05B7F8 80060D98 80610084 */ lwz r3, 0x84(r1) -/* 05B7FC 80060D9C 38030001 */ addi r0, r3, 1 -/* 05B800 80060DA0 90010084 */ stw r0, 0x84(r1) -lbl_80060DA4: -/* 05B804 80060DA4 281F0000 */ cmplwi r31, 0 -/* 05B808 80060DA8 41820024 */ beq lbl_80060DCC -/* 05B80C 80060DAC 80610084 */ lwz r3, 0x84(r1) -/* 05B810 80060DB0 3C802C06 */ lis r4, 0x2c06 -/* 05B814 80060DB4 38840080 */ addi r4, r4, 0x80 -/* 05B818 80060DB8 38030001 */ addi r0, r3, 1 -/* 05B81C 80060DBC 90010084 */ stw r0, 0x84(r1) -/* 05B820 80060DC0 5460103A */ slwi r0, r3, 2 -/* 05B824 80060DC4 7C9F012E */ stwx r4, r31, r0 -/* 05B828 80060DC8 48000010 */ b lbl_80060DD8 -lbl_80060DCC: -/* 05B82C 80060DCC 80610084 */ lwz r3, 0x84(r1) -/* 05B830 80060DD0 38030001 */ addi r0, r3, 1 -/* 05B834 80060DD4 90010084 */ stw r0, 0x84(r1) -lbl_80060DD8: -/* 05B838 80060DD8 281F0000 */ cmplwi r31, 0 -/* 05B83C 80060DDC 41820024 */ beq lbl_80060E00 -/* 05B840 80060DE0 80610084 */ lwz r3, 0x84(r1) -/* 05B844 80060DE4 3C804180 */ lis r4, 0x4180 -/* 05B848 80060DE8 38840020 */ addi r4, r4, 0x20 -/* 05B84C 80060DEC 38030001 */ addi r0, r3, 1 -/* 05B850 80060DF0 90010084 */ stw r0, 0x84(r1) -/* 05B854 80060DF4 5460103A */ slwi r0, r3, 2 -/* 05B858 80060DF8 7C9F012E */ stwx r4, r31, r0 -/* 05B85C 80060DFC 48000010 */ b lbl_80060E0C -lbl_80060E00: -/* 05B860 80060E00 80610084 */ lwz r3, 0x84(r1) -/* 05B864 80060E04 38030001 */ addi r0, r3, 1 -/* 05B868 80060E08 90010084 */ stw r0, 0x84(r1) -lbl_80060E0C: -/* 05B86C 80060E0C 281F0000 */ cmplwi r31, 0 -/* 05B870 80060E10 41820024 */ beq lbl_80060E34 -/* 05B874 80060E14 80610084 */ lwz r3, 0x84(r1) -/* 05B878 80060E18 3C809422 */ lis r4, 0x9422 -/* 05B87C 80060E1C 3884FFF0 */ addi r4, r4, -16 -/* 05B880 80060E20 38030001 */ addi r0, r3, 1 -/* 05B884 80060E24 90010084 */ stw r0, 0x84(r1) -/* 05B888 80060E28 5460103A */ slwi r0, r3, 2 -/* 05B88C 80060E2C 7C9F012E */ stwx r4, r31, r0 -/* 05B890 80060E30 48000010 */ b lbl_80060E40 -lbl_80060E34: -/* 05B894 80060E34 80610084 */ lwz r3, 0x84(r1) -/* 05B898 80060E38 38030001 */ addi r0, r3, 1 -/* 05B89C 80060E3C 90010084 */ stw r0, 0x84(r1) -lbl_80060E40: -/* 05B8A0 80060E40 281F0000 */ cmplwi r31, 0 -/* 05B8A4 80060E44 41820024 */ beq lbl_80060E68 -/* 05B8A8 80060E48 80610084 */ lwz r3, 0x84(r1) -/* 05B8AC 80060E4C 3C809101 */ lis r4, 0x9101 -/* 05B8B0 80060E50 38840008 */ addi r4, r4, 8 -/* 05B8B4 80060E54 38030001 */ addi r0, r3, 1 -/* 05B8B8 80060E58 90010084 */ stw r0, 0x84(r1) -/* 05B8BC 80060E5C 5460103A */ slwi r0, r3, 2 -/* 05B8C0 80060E60 7C9F012E */ stwx r4, r31, r0 -/* 05B8C4 80060E64 48000010 */ b lbl_80060E74 -lbl_80060E68: -/* 05B8C8 80060E68 80610084 */ lwz r3, 0x84(r1) -/* 05B8CC 80060E6C 38030001 */ addi r0, r3, 1 -/* 05B8D0 80060E70 90010084 */ stw r0, 0x84(r1) -lbl_80060E74: -/* 05B8D4 80060E74 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 05B8D8 80060E78 7C9A0214 */ add r4, r26, r0 -/* 05B8DC 80060E7C 80040818 */ lwz r0, 0x818(r4) -/* 05B8E0 80060E80 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 05B8E4 80060E84 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 05B8E8 80060E88 4182004C */ beq lbl_80060ED4 -/* 05B8EC 80060E8C 281F0000 */ cmplwi r31, 0 -/* 05B8F0 80060E90 41820034 */ beq lbl_80060EC4 -/* 05B8F4 80060E94 54641838 */ slwi r4, r3, 3 -/* 05B8F8 80060E98 80610084 */ lwz r3, 0x84(r1) -/* 05B8FC 80060E9C 38040040 */ addi r0, r4, 0x40 -/* 05B900 80060EA0 7C1E0214 */ add r0, r30, r0 -/* 05B904 80060EA4 7C9E0050 */ subf r4, r30, r0 -/* 05B908 80060EA8 38030001 */ addi r0, r3, 1 -/* 05B90C 80060EAC 3C848103 */ addis r4, r4, 0x8103 -/* 05B910 80060EB0 90010084 */ stw r0, 0x84(r1) -/* 05B914 80060EB4 38040004 */ addi r0, r4, 4 -/* 05B918 80060EB8 5463103A */ slwi r3, r3, 2 -/* 05B91C 80060EBC 7C1F192E */ stwx r0, r31, r3 -/* 05B920 80060EC0 48000054 */ b lbl_80060F14 -lbl_80060EC4: -/* 05B924 80060EC4 80610084 */ lwz r3, 0x84(r1) -/* 05B928 80060EC8 38030001 */ addi r0, r3, 1 -/* 05B92C 80060ECC 90010084 */ stw r0, 0x84(r1) -/* 05B930 80060ED0 48000044 */ b lbl_80060F14 -lbl_80060ED4: -/* 05B934 80060ED4 281F0000 */ cmplwi r31, 0 -/* 05B938 80060ED8 41820030 */ beq lbl_80060F08 -/* 05B93C 80060EDC 80810084 */ lwz r4, 0x84(r1) -/* 05B940 80060EE0 5403A814 */ slwi r3, r0, 0x15 -/* 05B944 80060EE4 64657C08 */ oris r5, r3, 0x7c08 -/* 05B948 80060EE8 38640001 */ addi r3, r4, 1 -/* 05B94C 80060EEC 90610084 */ stw r3, 0x84(r1) -/* 05B950 80060EF0 60A50378 */ ori r5, r5, 0x378 -/* 05B954 80060EF4 54005828 */ slwi r0, r0, 0xb -/* 05B958 80060EF8 7CA00378 */ or r0, r5, r0 -/* 05B95C 80060EFC 5483103A */ slwi r3, r4, 2 -/* 05B960 80060F00 7C1F192E */ stwx r0, r31, r3 -/* 05B964 80060F04 48000010 */ b lbl_80060F14 -lbl_80060F08: -/* 05B968 80060F08 80610084 */ lwz r3, 0x84(r1) -/* 05B96C 80060F0C 38030001 */ addi r0, r3, 1 -/* 05B970 80060F10 90010084 */ stw r0, 0x84(r1) -lbl_80060F14: -/* 05B974 80060F14 281F0000 */ cmplwi r31, 0 -/* 05B978 80060F18 41820034 */ beq lbl_80060F4C -/* 05B97C 80060F1C 80610084 */ lwz r3, 0x84(r1) -/* 05B980 80060F20 800D8A64 */ lwz r0, cpuCompile_SB_function@sda21(r13) -/* 05B984 80060F24 5465103A */ slwi r5, r3, 2 -/* 05B988 80060F28 7C9F2A14 */ add r4, r31, r5 -/* 05B98C 80060F2C 7C040050 */ subf r0, r4, r0 -/* 05B990 80060F30 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05B994 80060F34 38630001 */ addi r3, r3, 1 -/* 05B998 80060F38 64004800 */ oris r0, r0, 0x4800 -/* 05B99C 80060F3C 90610084 */ stw r3, 0x84(r1) -/* 05B9A0 80060F40 60000001 */ ori r0, r0, 1 -/* 05B9A4 80060F44 7C1F292E */ stwx r0, r31, r5 -/* 05B9A8 80060F48 48000010 */ b lbl_80060F58 -lbl_80060F4C: -/* 05B9AC 80060F4C 80610084 */ lwz r3, 0x84(r1) -/* 05B9B0 80060F50 38030001 */ addi r0, r3, 1 -/* 05B9B4 80060F54 90010084 */ stw r0, 0x84(r1) -lbl_80060F58: -/* 05B9B8 80060F58 281F0000 */ cmplwi r31, 0 -/* 05B9BC 80060F5C 41820024 */ beq lbl_80060F80 -/* 05B9C0 80060F60 80610084 */ lwz r3, 0x84(r1) -/* 05B9C4 80060F64 3C808101 */ lis r4, 0x8101 -/* 05B9C8 80060F68 38840008 */ addi r4, r4, 8 -/* 05B9CC 80060F6C 38030001 */ addi r0, r3, 1 -/* 05B9D0 80060F70 90010084 */ stw r0, 0x84(r1) -/* 05B9D4 80060F74 5460103A */ slwi r0, r3, 2 -/* 05B9D8 80060F78 7C9F012E */ stwx r4, r31, r0 -/* 05B9DC 80060F7C 48000010 */ b lbl_80060F8C -lbl_80060F80: -/* 05B9E0 80060F80 80610084 */ lwz r3, 0x84(r1) -/* 05B9E4 80060F84 38030001 */ addi r0, r3, 1 -/* 05B9E8 80060F88 90010084 */ stw r0, 0x84(r1) -lbl_80060F8C: -/* 05B9EC 80060F8C 281F0000 */ cmplwi r31, 0 -/* 05B9F0 80060F90 41820024 */ beq lbl_80060FB4 -/* 05B9F4 80060F94 80610084 */ lwz r3, 0x84(r1) -/* 05B9F8 80060F98 3C803821 */ lis r4, 0x3821 -/* 05B9FC 80060F9C 38840010 */ addi r4, r4, 0x10 -/* 05BA00 80060FA0 38030001 */ addi r0, r3, 1 -/* 05BA04 80060FA4 90010084 */ stw r0, 0x84(r1) -/* 05BA08 80060FA8 5460103A */ slwi r0, r3, 2 -/* 05BA0C 80060FAC 7C9F012E */ stwx r4, r31, r0 -/* 05BA10 80060FB0 48000010 */ b lbl_80060FC0 -lbl_80060FB4: -/* 05BA14 80060FB4 80610084 */ lwz r3, 0x84(r1) -/* 05BA18 80060FB8 38030001 */ addi r0, r3, 1 -/* 05BA1C 80060FBC 90010084 */ stw r0, 0x84(r1) -lbl_80060FC0: -/* 05BA20 80060FC0 2C110000 */ cmpwi r17, 0 -/* 05BA24 80060FC4 418201BC */ beq lbl_80061180 -/* 05BA28 80060FC8 281F0000 */ cmplwi r31, 0 -/* 05BA2C 80060FCC 41820024 */ beq lbl_80060FF0 -/* 05BA30 80060FD0 80610084 */ lwz r3, 0x84(r1) -/* 05BA34 80060FD4 3C804280 */ lis r4, 0x4280 -/* 05BA38 80060FD8 38840020 */ addi r4, r4, 0x20 -/* 05BA3C 80060FDC 38030001 */ addi r0, r3, 1 -/* 05BA40 80060FE0 90010084 */ stw r0, 0x84(r1) -/* 05BA44 80060FE4 5460103A */ slwi r0, r3, 2 -/* 05BA48 80060FE8 7C9F012E */ stwx r4, r31, r0 -/* 05BA4C 80060FEC 48000010 */ b lbl_80060FFC -lbl_80060FF0: -/* 05BA50 80060FF0 80610084 */ lwz r3, 0x84(r1) -/* 05BA54 80060FF4 38030001 */ addi r0, r3, 1 -/* 05BA58 80060FF8 90010084 */ stw r0, 0x84(r1) -lbl_80060FFC: -/* 05BA5C 80060FFC 281F0000 */ cmplwi r31, 0 -/* 05BA60 80061000 41820020 */ beq lbl_80061020 -/* 05BA64 80061004 80610084 */ lwz r3, 0x84(r1) -/* 05BA68 80061008 3C8038C0 */ lis r4, 0x38c0 -/* 05BA6C 8006100C 38030001 */ addi r0, r3, 1 -/* 05BA70 80061010 90010084 */ stw r0, 0x84(r1) -/* 05BA74 80061014 5460103A */ slwi r0, r3, 2 -/* 05BA78 80061018 7C9F012E */ stwx r4, r31, r0 -/* 05BA7C 8006101C 48000010 */ b lbl_8006102C -lbl_80061020: -/* 05BA80 80061020 80610084 */ lwz r3, 0x84(r1) -/* 05BA84 80061024 38030001 */ addi r0, r3, 1 -/* 05BA88 80061028 90010084 */ stw r0, 0x84(r1) -lbl_8006102C: -/* 05BA8C 8006102C 281F0000 */ cmplwi r31, 0 -/* 05BA90 80061030 41820028 */ beq lbl_80061058 -/* 05BA94 80061034 80610084 */ lwz r3, 0x84(r1) -/* 05BA98 80061038 381E002C */ addi r0, r30, 0x2c -/* 05BA9C 8006103C 7C9E0050 */ subf r4, r30, r0 -/* 05BAA0 80061040 38030001 */ addi r0, r3, 1 -/* 05BAA4 80061044 90010084 */ stw r0, 0x84(r1) -/* 05BAA8 80061048 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05BAAC 8006104C 5463103A */ slwi r3, r3, 2 -/* 05BAB0 80061050 7C1F192E */ stwx r0, r31, r3 -/* 05BAB4 80061054 48000010 */ b lbl_80061064 -lbl_80061058: -/* 05BAB8 80061058 80610084 */ lwz r3, 0x84(r1) -/* 05BABC 8006105C 38030001 */ addi r0, r3, 1 -/* 05BAC0 80061060 90010084 */ stw r0, 0x84(r1) -lbl_80061064: -/* 05BAC4 80061064 281F0000 */ cmplwi r31, 0 -/* 05BAC8 80061068 41820024 */ beq lbl_8006108C -/* 05BACC 8006106C 80610084 */ lwz r3, 0x84(r1) -/* 05BAD0 80061070 57A0843E */ srwi r0, r29, 0x10 -/* 05BAD4 80061074 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05BAD8 80061078 38030001 */ addi r0, r3, 1 -/* 05BADC 8006107C 90010084 */ stw r0, 0x84(r1) -/* 05BAE0 80061080 5460103A */ slwi r0, r3, 2 -/* 05BAE4 80061084 7C9F012E */ stwx r4, r31, r0 -/* 05BAE8 80061088 48000010 */ b lbl_80061098 -lbl_8006108C: -/* 05BAEC 8006108C 80610084 */ lwz r3, 0x84(r1) -/* 05BAF0 80061090 38030001 */ addi r0, r3, 1 -/* 05BAF4 80061094 90010084 */ stw r0, 0x84(r1) -lbl_80061098: -/* 05BAF8 80061098 281F0000 */ cmplwi r31, 0 -/* 05BAFC 8006109C 41820024 */ beq lbl_800610C0 -/* 05BB00 800610A0 80610084 */ lwz r3, 0x84(r1) -/* 05BB04 800610A4 57A0043E */ clrlwi r0, r29, 0x10 -/* 05BB08 800610A8 640460A5 */ oris r4, r0, 0x60a5 -/* 05BB0C 800610AC 38030001 */ addi r0, r3, 1 -/* 05BB10 800610B0 90010084 */ stw r0, 0x84(r1) -/* 05BB14 800610B4 5460103A */ slwi r0, r3, 2 -/* 05BB18 800610B8 7C9F012E */ stwx r4, r31, r0 -/* 05BB1C 800610BC 48000010 */ b lbl_800610CC -lbl_800610C0: -/* 05BB20 800610C0 80610084 */ lwz r3, 0x84(r1) -/* 05BB24 800610C4 38030001 */ addi r0, r3, 1 -/* 05BB28 800610C8 90010084 */ stw r0, 0x84(r1) -lbl_800610CC: -/* 05BB2C 800610CC 281F0000 */ cmplwi r31, 0 -/* 05BB30 800610D0 41820034 */ beq lbl_80061104 -/* 05BB34 800610D4 80610084 */ lwz r3, 0x84(r1) -/* 05BB38 800610D8 801E0B40 */ lwz r0, 0xb40(r30) -/* 05BB3C 800610DC 5465103A */ slwi r5, r3, 2 -/* 05BB40 800610E0 7C9F2A14 */ add r4, r31, r5 -/* 05BB44 800610E4 7C040050 */ subf r0, r4, r0 -/* 05BB48 800610E8 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05BB4C 800610EC 38630001 */ addi r3, r3, 1 -/* 05BB50 800610F0 64004800 */ oris r0, r0, 0x4800 -/* 05BB54 800610F4 90610084 */ stw r3, 0x84(r1) -/* 05BB58 800610F8 60000001 */ ori r0, r0, 1 -/* 05BB5C 800610FC 7C1F292E */ stwx r0, r31, r5 -/* 05BB60 80061100 48000010 */ b lbl_80061110 -lbl_80061104: -/* 05BB64 80061104 80610084 */ lwz r3, 0x84(r1) -/* 05BB68 80061108 38030001 */ addi r0, r3, 1 -/* 05BB6C 8006110C 90010084 */ stw r0, 0x84(r1) -lbl_80061110: -/* 05BB70 80061110 281F0000 */ cmplwi r31, 0 -/* 05BB74 80061114 41820024 */ beq lbl_80061138 -/* 05BB78 80061118 80610084 */ lwz r3, 0x84(r1) -/* 05BB7C 8006111C 3C8038C1 */ lis r4, 0x38c1 -/* 05BB80 80061120 3884FFFF */ addi r4, r4, -1 -/* 05BB84 80061124 38030001 */ addi r0, r3, 1 -/* 05BB88 80061128 90010084 */ stw r0, 0x84(r1) -/* 05BB8C 8006112C 5460103A */ slwi r0, r3, 2 -/* 05BB90 80061130 7C9F012E */ stwx r4, r31, r0 -/* 05BB94 80061134 48000010 */ b lbl_80061144 -lbl_80061138: -/* 05BB98 80061138 80610084 */ lwz r3, 0x84(r1) -/* 05BB9C 8006113C 38030001 */ addi r0, r3, 1 -/* 05BBA0 80061140 90010084 */ stw r0, 0x84(r1) -lbl_80061144: -/* 05BBA4 80061144 281F0000 */ cmplwi r31, 0 -/* 05BBA8 80061148 41820028 */ beq lbl_80061170 -/* 05BBAC 8006114C 80610084 */ lwz r3, 0x84(r1) -/* 05BBB0 80061150 381E002C */ addi r0, r30, 0x2c -/* 05BBB4 80061154 7C9E0050 */ subf r4, r30, r0 -/* 05BBB8 80061158 38030001 */ addi r0, r3, 1 -/* 05BBBC 8006115C 90010084 */ stw r0, 0x84(r1) -/* 05BBC0 80061160 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05BBC4 80061164 5463103A */ slwi r3, r3, 2 -/* 05BBC8 80061168 7C1F192E */ stwx r0, r31, r3 -/* 05BBCC 8006116C 48006DC8 */ b lbl_80067F34 -lbl_80061170: -/* 05BBD0 80061170 80610084 */ lwz r3, 0x84(r1) -/* 05BBD4 80061174 38030001 */ addi r0, r3, 1 -/* 05BBD8 80061178 90010084 */ stw r0, 0x84(r1) -/* 05BBDC 8006117C 48006DB8 */ b lbl_80067F34 -lbl_80061180: -/* 05BBE0 80061180 281F0000 */ cmplwi r31, 0 -/* 05BBE4 80061184 41820024 */ beq lbl_800611A8 -/* 05BBE8 80061188 80610084 */ lwz r3, 0x84(r1) -/* 05BBEC 8006118C 3C804280 */ lis r4, 0x4280 -/* 05BBF0 80061190 38840010 */ addi r4, r4, 0x10 -/* 05BBF4 80061194 38030001 */ addi r0, r3, 1 -/* 05BBF8 80061198 90010084 */ stw r0, 0x84(r1) -/* 05BBFC 8006119C 5460103A */ slwi r0, r3, 2 -/* 05BC00 800611A0 7C9F012E */ stwx r4, r31, r0 -/* 05BC04 800611A4 48000010 */ b lbl_800611B4 -lbl_800611A8: -/* 05BC08 800611A8 80610084 */ lwz r3, 0x84(r1) -/* 05BC0C 800611AC 38030001 */ addi r0, r3, 1 -/* 05BC10 800611B0 90010084 */ stw r0, 0x84(r1) -lbl_800611B4: -/* 05BC14 800611B4 281F0000 */ cmplwi r31, 0 -/* 05BC18 800611B8 41820024 */ beq lbl_800611DC -/* 05BC1C 800611BC 80610084 */ lwz r3, 0x84(r1) -/* 05BC20 800611C0 57A0843E */ srwi r0, r29, 0x10 -/* 05BC24 800611C4 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05BC28 800611C8 38030001 */ addi r0, r3, 1 -/* 05BC2C 800611CC 90010084 */ stw r0, 0x84(r1) -/* 05BC30 800611D0 5460103A */ slwi r0, r3, 2 -/* 05BC34 800611D4 7C9F012E */ stwx r4, r31, r0 -/* 05BC38 800611D8 48000010 */ b lbl_800611E8 -lbl_800611DC: -/* 05BC3C 800611DC 80610084 */ lwz r3, 0x84(r1) -/* 05BC40 800611E0 38030001 */ addi r0, r3, 1 -/* 05BC44 800611E4 90010084 */ stw r0, 0x84(r1) -lbl_800611E8: -/* 05BC48 800611E8 281F0000 */ cmplwi r31, 0 -/* 05BC4C 800611EC 41820024 */ beq lbl_80061210 -/* 05BC50 800611F0 80610084 */ lwz r3, 0x84(r1) -/* 05BC54 800611F4 57A0043E */ clrlwi r0, r29, 0x10 -/* 05BC58 800611F8 640460A5 */ oris r4, r0, 0x60a5 -/* 05BC5C 800611FC 38030001 */ addi r0, r3, 1 -/* 05BC60 80061200 90010084 */ stw r0, 0x84(r1) -/* 05BC64 80061204 5460103A */ slwi r0, r3, 2 -/* 05BC68 80061208 7C9F012E */ stwx r4, r31, r0 -/* 05BC6C 8006120C 48000010 */ b lbl_8006121C -lbl_80061210: -/* 05BC70 80061210 80610084 */ lwz r3, 0x84(r1) -/* 05BC74 80061214 38030001 */ addi r0, r3, 1 -/* 05BC78 80061218 90010084 */ stw r0, 0x84(r1) -lbl_8006121C: -/* 05BC7C 8006121C 281F0000 */ cmplwi r31, 0 -/* 05BC80 80061220 41820034 */ beq lbl_80061254 -/* 05BC84 80061224 80610084 */ lwz r3, 0x84(r1) -/* 05BC88 80061228 801E0B40 */ lwz r0, 0xb40(r30) -/* 05BC8C 8006122C 5465103A */ slwi r5, r3, 2 -/* 05BC90 80061230 7C9F2A14 */ add r4, r31, r5 -/* 05BC94 80061234 7C040050 */ subf r0, r4, r0 -/* 05BC98 80061238 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05BC9C 8006123C 38630001 */ addi r3, r3, 1 -/* 05BCA0 80061240 64004800 */ oris r0, r0, 0x4800 -/* 05BCA4 80061244 90610084 */ stw r3, 0x84(r1) -/* 05BCA8 80061248 60000001 */ ori r0, r0, 1 -/* 05BCAC 8006124C 7C1F292E */ stwx r0, r31, r5 -/* 05BCB0 80061250 48006CE4 */ b lbl_80067F34 -lbl_80061254: -/* 05BCB4 80061254 80610084 */ lwz r3, 0x84(r1) -/* 05BCB8 80061258 38030001 */ addi r0, r3, 1 -/* 05BCBC 8006125C 90010084 */ stw r0, 0x84(r1) -/* 05BCC0 80061260 48006CD4 */ b lbl_80067F34 -.global lbl_80061264 -lbl_80061264: -/* 05BCC4 80061264 3C7E0001 */ addis r3, r30, 1 -/* 05BCC8 80061268 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 05BCCC 8006126C 80032058 */ lwz r0, 0x2058(r3) -/* 05BCD0 80061270 38800001 */ li r4, 1 -/* 05BCD4 80061274 7C843830 */ slw r4, r4, r7 -/* 05BCD8 80061278 7C002039 */ and. r0, r0, r4 -/* 05BCDC 8006127C 41820430 */ beq lbl_800616AC -/* 05BCE0 80061280 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 05BCE4 80061284 7C9A0214 */ add r4, r26, r0 -/* 05BCE8 80061288 81240818 */ lwz r9, 0x818(r4) -/* 05BCEC 8006128C 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 05BCF0 80061290 552005EF */ rlwinm. r0, r9, 0, 0x17, 0x17 -/* 05BCF4 80061294 41820148 */ beq lbl_800613DC -/* 05BCF8 80061298 80032064 */ lwz r0, 0x2064(r3) -/* 05BCFC 8006129C 39200006 */ li r9, 6 -/* 05BD00 800612A0 28000000 */ cmplwi r0, 0 -/* 05BD04 800612A4 4082000C */ bne lbl_800612B0 -/* 05BD08 800612A8 38000000 */ li r0, 0 -/* 05BD0C 800612AC 48000094 */ b lbl_80061340 -lbl_800612B0: -/* 05BD10 800612B0 80032068 */ lwz r0, 0x2068(r3) -/* 05BD14 800612B4 28000000 */ cmplwi r0, 0 -/* 05BD18 800612B8 4082000C */ bne lbl_800612C4 -/* 05BD1C 800612BC 38000000 */ li r0, 0 -/* 05BD20 800612C0 48000080 */ b lbl_80061340 -lbl_800612C4: -/* 05BD24 800612C4 8003206C */ lwz r0, 0x206c(r3) -/* 05BD28 800612C8 7C060000 */ cmpw r6, r0 -/* 05BD2C 800612CC 4182000C */ beq lbl_800612D8 -/* 05BD30 800612D0 38000000 */ li r0, 0 -/* 05BD34 800612D4 4800006C */ b lbl_80061340 -lbl_800612D8: -/* 05BD38 800612D8 80BE0034 */ lwz r5, 0x34(r30) -/* 05BD3C 800612DC 38800000 */ li r4, 0 -/* 05BD40 800612E0 80050008 */ lwz r0, 8(r5) -/* 05BD44 800612E4 2C000000 */ cmpwi r0, 0 -/* 05BD48 800612E8 7C0903A6 */ mtctr r0 -/* 05BD4C 800612EC 40810028 */ ble lbl_80061314 -lbl_800612F0: -/* 05BD50 800612F0 8065000C */ lwz r3, 0xc(r5) -/* 05BD54 800612F4 38040004 */ addi r0, r4, 4 -/* 05BD58 800612F8 7C03002E */ lwzx r0, r3, r0 -/* 05BD5C 800612FC 7C1D0000 */ cmpw r29, r0 -/* 05BD60 80061300 4082000C */ bne lbl_8006130C -/* 05BD64 80061304 38000000 */ li r0, 0 -/* 05BD68 80061308 48000010 */ b lbl_80061318 -lbl_8006130C: -/* 05BD6C 8006130C 38840008 */ addi r4, r4, 8 -/* 05BD70 80061310 4200FFE0 */ bdnz lbl_800612F0 -lbl_80061314: -/* 05BD74 80061314 38000001 */ li r0, 1 -lbl_80061318: -/* 05BD78 80061318 2C000000 */ cmpwi r0, 0 -/* 05BD7C 8006131C 40820014 */ bne lbl_80061330 -/* 05BD80 80061320 38000000 */ li r0, 0 -/* 05BD84 80061324 3C7E0001 */ addis r3, r30, 1 -/* 05BD88 80061328 90032068 */ stw r0, 0x2068(r3) -/* 05BD8C 8006132C 48000014 */ b lbl_80061340 -lbl_80061330: -/* 05BD90 80061330 3C7E0001 */ addis r3, r30, 1 -/* 05BD94 80061334 38000000 */ li r0, 0 -/* 05BD98 80061338 90032068 */ stw r0, 0x2068(r3) -/* 05BD9C 8006133C 38000001 */ li r0, 1 -lbl_80061340: -/* 05BDA0 80061340 2C000000 */ cmpwi r0, 0 -/* 05BDA4 80061344 41820050 */ beq lbl_80061394 -/* 05BDA8 80061348 281F0000 */ cmplwi r31, 0 -/* 05BDAC 8006134C 41820038 */ beq lbl_80061384 -/* 05BDB0 80061350 3C9E0001 */ addis r4, r30, 1 -/* 05BDB4 80061354 80610084 */ lwz r3, 0x84(r1) -/* 05BDB8 80061358 80842070 */ lwz r4, 0x2070(r4) -/* 05BDBC 8006135C 38A30001 */ addi r5, r3, 1 -/* 05BDC0 80061360 5480A814 */ slwi r0, r4, 0x15 -/* 05BDC4 80061364 90A10084 */ stw r5, 0x84(r1) -/* 05BDC8 80061368 64007C06 */ oris r0, r0, 0x7c06 -/* 05BDCC 8006136C 54845828 */ slwi r4, r4, 0xb -/* 05BDD0 80061370 60000378 */ ori r0, r0, 0x378 -/* 05BDD4 80061374 7C800378 */ or r0, r4, r0 -/* 05BDD8 80061378 5463103A */ slwi r3, r3, 2 -/* 05BDDC 8006137C 7C1F192E */ stwx r0, r31, r3 -/* 05BDE0 80061380 4800005C */ b lbl_800613DC -lbl_80061384: -/* 05BDE4 80061384 80610084 */ lwz r3, 0x84(r1) -/* 05BDE8 80061388 38030001 */ addi r0, r3, 1 -/* 05BDEC 8006138C 90010084 */ stw r0, 0x84(r1) -/* 05BDF0 80061390 4800004C */ b lbl_800613DC -lbl_80061394: -/* 05BDF4 80061394 281F0000 */ cmplwi r31, 0 -/* 05BDF8 80061398 41820038 */ beq lbl_800613D0 -/* 05BDFC 8006139C 54C41838 */ slwi r4, r6, 3 -/* 05BE00 800613A0 80610084 */ lwz r3, 0x84(r1) -/* 05BE04 800613A4 38040040 */ addi r0, r4, 0x40 -/* 05BE08 800613A8 7C1E0214 */ add r0, r30, r0 -/* 05BE0C 800613AC 7C9E0050 */ subf r4, r30, r0 -/* 05BE10 800613B0 38840004 */ addi r4, r4, 4 -/* 05BE14 800613B4 38030001 */ addi r0, r3, 1 -/* 05BE18 800613B8 5484043E */ clrlwi r4, r4, 0x10 -/* 05BE1C 800613BC 90010084 */ stw r0, 0x84(r1) -/* 05BE20 800613C0 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05BE24 800613C4 5463103A */ slwi r3, r3, 2 -/* 05BE28 800613C8 7C1F192E */ stwx r0, r31, r3 -/* 05BE2C 800613CC 48000010 */ b lbl_800613DC -lbl_800613D0: -/* 05BE30 800613D0 80610084 */ lwz r3, 0x84(r1) -/* 05BE34 800613D4 38030001 */ addi r0, r3, 1 -/* 05BE38 800613D8 90010084 */ stw r0, 0x84(r1) -lbl_800613DC: -/* 05BE3C 800613DC 54E0103A */ slwi r0, r7, 2 -/* 05BE40 800613E0 7C7A0214 */ add r3, r26, r0 -/* 05BE44 800613E4 81030818 */ lwz r8, 0x818(r3) -/* 05BE48 800613E8 38C00001 */ li r6, 1 -/* 05BE4C 800613EC 550005EF */ rlwinm. r0, r8, 0, 0x17, 0x17 -/* 05BE50 800613F0 41820150 */ beq lbl_80061540 -/* 05BE54 800613F4 3C7E0001 */ addis r3, r30, 1 -/* 05BE58 800613F8 80032064 */ lwz r0, 0x2064(r3) -/* 05BE5C 800613FC 39000007 */ li r8, 7 -/* 05BE60 80061400 38C00000 */ li r6, 0 -/* 05BE64 80061404 28000000 */ cmplwi r0, 0 -/* 05BE68 80061408 4082000C */ bne lbl_80061414 -/* 05BE6C 8006140C 7CC03378 */ mr r0, r6 -/* 05BE70 80061410 48000094 */ b lbl_800614A4 -lbl_80061414: -/* 05BE74 80061414 80032068 */ lwz r0, 0x2068(r3) -/* 05BE78 80061418 28000000 */ cmplwi r0, 0 -/* 05BE7C 8006141C 4082000C */ bne lbl_80061428 -/* 05BE80 80061420 7CC03378 */ mr r0, r6 -/* 05BE84 80061424 48000080 */ b lbl_800614A4 -lbl_80061428: -/* 05BE88 80061428 8003206C */ lwz r0, 0x206c(r3) -/* 05BE8C 8006142C 7C070000 */ cmpw r7, r0 -/* 05BE90 80061430 4182000C */ beq lbl_8006143C -/* 05BE94 80061434 7CC03378 */ mr r0, r6 -/* 05BE98 80061438 4800006C */ b lbl_800614A4 -lbl_8006143C: -/* 05BE9C 8006143C 80BE0034 */ lwz r5, 0x34(r30) -/* 05BEA0 80061440 7CC43378 */ mr r4, r6 -/* 05BEA4 80061444 80050008 */ lwz r0, 8(r5) -/* 05BEA8 80061448 2C000000 */ cmpwi r0, 0 -/* 05BEAC 8006144C 7C0903A6 */ mtctr r0 -/* 05BEB0 80061450 40810028 */ ble lbl_80061478 -lbl_80061454: -/* 05BEB4 80061454 8065000C */ lwz r3, 0xc(r5) -/* 05BEB8 80061458 38040004 */ addi r0, r4, 4 -/* 05BEBC 8006145C 7C03002E */ lwzx r0, r3, r0 -/* 05BEC0 80061460 7C1D0000 */ cmpw r29, r0 -/* 05BEC4 80061464 4082000C */ bne lbl_80061470 -/* 05BEC8 80061468 38000000 */ li r0, 0 -/* 05BECC 8006146C 48000010 */ b lbl_8006147C -lbl_80061470: -/* 05BED0 80061470 38840008 */ addi r4, r4, 8 -/* 05BED4 80061474 4200FFE0 */ bdnz lbl_80061454 -lbl_80061478: -/* 05BED8 80061478 38000001 */ li r0, 1 -lbl_8006147C: -/* 05BEDC 8006147C 2C000000 */ cmpwi r0, 0 -/* 05BEE0 80061480 40820014 */ bne lbl_80061494 -/* 05BEE4 80061484 38000000 */ li r0, 0 -/* 05BEE8 80061488 3C7E0001 */ addis r3, r30, 1 -/* 05BEEC 8006148C 90032068 */ stw r0, 0x2068(r3) -/* 05BEF0 80061490 48000014 */ b lbl_800614A4 -lbl_80061494: -/* 05BEF4 80061494 3C7E0001 */ addis r3, r30, 1 -/* 05BEF8 80061498 38000000 */ li r0, 0 -/* 05BEFC 8006149C 90032068 */ stw r0, 0x2068(r3) -/* 05BF00 800614A0 38000001 */ li r0, 1 -lbl_800614A4: -/* 05BF04 800614A4 2C000000 */ cmpwi r0, 0 -/* 05BF08 800614A8 41820050 */ beq lbl_800614F8 -/* 05BF0C 800614AC 281F0000 */ cmplwi r31, 0 -/* 05BF10 800614B0 41820038 */ beq lbl_800614E8 -/* 05BF14 800614B4 3C9E0001 */ addis r4, r30, 1 -/* 05BF18 800614B8 80610084 */ lwz r3, 0x84(r1) -/* 05BF1C 800614BC 80842070 */ lwz r4, 0x2070(r4) -/* 05BF20 800614C0 38A30001 */ addi r5, r3, 1 -/* 05BF24 800614C4 5480A814 */ slwi r0, r4, 0x15 -/* 05BF28 800614C8 90A10084 */ stw r5, 0x84(r1) -/* 05BF2C 800614CC 64007C07 */ oris r0, r0, 0x7c07 -/* 05BF30 800614D0 54845828 */ slwi r4, r4, 0xb -/* 05BF34 800614D4 60000378 */ ori r0, r0, 0x378 -/* 05BF38 800614D8 7C800378 */ or r0, r4, r0 -/* 05BF3C 800614DC 5463103A */ slwi r3, r3, 2 -/* 05BF40 800614E0 7C1F192E */ stwx r0, r31, r3 -/* 05BF44 800614E4 4800005C */ b lbl_80061540 -lbl_800614E8: -/* 05BF48 800614E8 80610084 */ lwz r3, 0x84(r1) -/* 05BF4C 800614EC 38030001 */ addi r0, r3, 1 -/* 05BF50 800614F0 90010084 */ stw r0, 0x84(r1) -/* 05BF54 800614F4 4800004C */ b lbl_80061540 -lbl_800614F8: -/* 05BF58 800614F8 281F0000 */ cmplwi r31, 0 -/* 05BF5C 800614FC 41820038 */ beq lbl_80061534 -/* 05BF60 80061500 54E41838 */ slwi r4, r7, 3 -/* 05BF64 80061504 80610084 */ lwz r3, 0x84(r1) -/* 05BF68 80061508 38040040 */ addi r0, r4, 0x40 -/* 05BF6C 8006150C 7C1E0214 */ add r0, r30, r0 -/* 05BF70 80061510 7C9E0050 */ subf r4, r30, r0 -/* 05BF74 80061514 38840004 */ addi r4, r4, 4 -/* 05BF78 80061518 38030001 */ addi r0, r3, 1 -/* 05BF7C 8006151C 5484043E */ clrlwi r4, r4, 0x10 -/* 05BF80 80061520 90010084 */ stw r0, 0x84(r1) -/* 05BF84 80061524 3C0480E3 */ addis r0, r4, 0x80e3 -/* 05BF88 80061528 5463103A */ slwi r3, r3, 2 -/* 05BF8C 8006152C 7C1F192E */ stwx r0, r31, r3 -/* 05BF90 80061530 48000010 */ b lbl_80061540 -lbl_80061534: -/* 05BF94 80061534 80610084 */ lwz r3, 0x84(r1) -/* 05BF98 80061538 38030001 */ addi r0, r3, 1 -/* 05BF9C 8006153C 90010084 */ stw r0, 0x84(r1) -lbl_80061540: -/* 05BFA0 80061540 2C060000 */ cmpwi r6, 0 -/* 05BFA4 80061544 418200BC */ beq lbl_80061600 -/* 05BFA8 80061548 281F0000 */ cmplwi r31, 0 -/* 05BFAC 8006154C 4082000C */ bne lbl_80061558 -/* 05BFB0 80061550 38800000 */ li r4, 0 -/* 05BFB4 80061554 480000A4 */ b lbl_800615F8 -lbl_80061558: -/* 05BFB8 80061558 3C7E0001 */ addis r3, r30, 1 -/* 05BFBC 8006155C 80032064 */ lwz r0, 0x2064(r3) -/* 05BFC0 80061560 28000000 */ cmplwi r0, 0 -/* 05BFC4 80061564 4082000C */ bne lbl_80061570 -/* 05BFC8 80061568 38800000 */ li r4, 0 -/* 05BFCC 8006156C 4800008C */ b lbl_800615F8 -lbl_80061570: -/* 05BFD0 80061570 80BE0034 */ lwz r5, 0x34(r30) -/* 05BFD4 80061574 38800000 */ li r4, 0 -/* 05BFD8 80061578 80050008 */ lwz r0, 8(r5) -/* 05BFDC 8006157C 2C000000 */ cmpwi r0, 0 -/* 05BFE0 80061580 7C0903A6 */ mtctr r0 -/* 05BFE4 80061584 40810028 */ ble lbl_800615AC -lbl_80061588: -/* 05BFE8 80061588 8065000C */ lwz r3, 0xc(r5) -/* 05BFEC 8006158C 38040004 */ addi r0, r4, 4 -/* 05BFF0 80061590 7C03002E */ lwzx r0, r3, r0 -/* 05BFF4 80061594 7C1D0000 */ cmpw r29, r0 -/* 05BFF8 80061598 4082000C */ bne lbl_800615A4 -/* 05BFFC 8006159C 38000000 */ li r0, 0 -/* 05C000 800615A0 48000010 */ b lbl_800615B0 -lbl_800615A4: -/* 05C004 800615A4 38840008 */ addi r4, r4, 8 -/* 05C008 800615A8 4200FFE0 */ bdnz lbl_80061588 -lbl_800615AC: -/* 05C00C 800615AC 38000001 */ li r0, 1 -lbl_800615B0: -/* 05C010 800615B0 2C000000 */ cmpwi r0, 0 -/* 05C014 800615B4 4082000C */ bne lbl_800615C0 -/* 05C018 800615B8 38800000 */ li r4, 0 -/* 05C01C 800615BC 4800003C */ b lbl_800615F8 -lbl_800615C0: -/* 05C020 800615C0 2C07FFFF */ cmpwi r7, -1 -/* 05C024 800615C4 3C7E0001 */ addis r3, r30, 1 -/* 05C028 800615C8 38800001 */ li r4, 1 -/* 05C02C 800615CC 9083207C */ stw r4, 0x207c(r3) -/* 05C030 800615D0 40820014 */ bne lbl_800615E4 -/* 05C034 800615D4 3800FFFF */ li r0, -1 -/* 05C038 800615D8 90032080 */ stw r0, 0x2080(r3) -/* 05C03C 800615DC 38800000 */ li r4, 0 -/* 05C040 800615E0 48000018 */ b lbl_800615F8 -lbl_800615E4: -/* 05C044 800615E4 80032080 */ lwz r0, 0x2080(r3) -/* 05C048 800615E8 7C003800 */ cmpw r0, r7 -/* 05C04C 800615EC 4182000C */ beq lbl_800615F8 -/* 05C050 800615F0 90E32080 */ stw r7, 0x2080(r3) -/* 05C054 800615F4 38800000 */ li r4, 0 -lbl_800615F8: -/* 05C058 800615F8 2C040000 */ cmpwi r4, 0 -/* 05C05C 800615FC 40820040 */ bne lbl_8006163C -lbl_80061600: -/* 05C060 80061600 281F0000 */ cmplwi r31, 0 -/* 05C064 80061604 41820028 */ beq lbl_8006162C -/* 05C068 80061608 80610084 */ lwz r3, 0x84(r1) -/* 05C06C 8006160C 5500801E */ slwi r0, r8, 0x10 -/* 05C070 80061610 64047CE0 */ oris r4, r0, 0x7ce0 -/* 05C074 80061614 38030001 */ addi r0, r3, 1 -/* 05C078 80061618 90010084 */ stw r0, 0x84(r1) -/* 05C07C 8006161C 60844214 */ ori r4, r4, 0x4214 -/* 05C080 80061620 5460103A */ slwi r0, r3, 2 -/* 05C084 80061624 7C9F012E */ stwx r4, r31, r0 -/* 05C088 80061628 48000044 */ b lbl_8006166C -lbl_8006162C: -/* 05C08C 8006162C 80610084 */ lwz r3, 0x84(r1) -/* 05C090 80061630 38030001 */ addi r0, r3, 1 -/* 05C094 80061634 90010084 */ stw r0, 0x84(r1) -/* 05C098 80061638 48000034 */ b lbl_8006166C -lbl_8006163C: -/* 05C09C 8006163C 281F0000 */ cmplwi r31, 0 -/* 05C0A0 80061640 41820020 */ beq lbl_80061660 -/* 05C0A4 80061644 80610084 */ lwz r3, 0x84(r1) -/* 05C0A8 80061648 3C806000 */ lis r4, 0x6000 -/* 05C0AC 8006164C 38030001 */ addi r0, r3, 1 -/* 05C0B0 80061650 90010084 */ stw r0, 0x84(r1) -/* 05C0B4 80061654 5460103A */ slwi r0, r3, 2 -/* 05C0B8 80061658 7C9F012E */ stwx r4, r31, r0 -/* 05C0BC 8006165C 48000010 */ b lbl_8006166C -lbl_80061660: -/* 05C0C0 80061660 80610084 */ lwz r3, 0x84(r1) -/* 05C0C4 80061664 38030001 */ addi r0, r3, 1 -/* 05C0C8 80061668 90010084 */ stw r0, 0x84(r1) -lbl_8006166C: -/* 05C0CC 8006166C 281F0000 */ cmplwi r31, 0 -/* 05C0D0 80061670 4182002C */ beq lbl_8006169C -/* 05C0D4 80061674 80610084 */ lwz r3, 0x84(r1) -/* 05C0D8 80061678 5520A814 */ slwi r0, r9, 0x15 -/* 05C0DC 8006167C 6400B007 */ oris r0, r0, 0xb007 -/* 05C0E0 80061680 38830001 */ addi r4, r3, 1 -/* 05C0E4 80061684 5785043E */ clrlwi r5, r28, 0x10 -/* 05C0E8 80061688 90810084 */ stw r4, 0x84(r1) -/* 05C0EC 8006168C 7C002B78 */ or r0, r0, r5 -/* 05C0F0 80061690 5463103A */ slwi r3, r3, 2 -/* 05C0F4 80061694 7C1F192E */ stwx r0, r31, r3 -/* 05C0F8 80061698 4800689C */ b lbl_80067F34 -lbl_8006169C: -/* 05C0FC 8006169C 80610084 */ lwz r3, 0x84(r1) -/* 05C100 800616A0 38030001 */ addi r0, r3, 1 -/* 05C104 800616A4 90010084 */ stw r0, 0x84(r1) -/* 05C108 800616A8 4800688C */ b lbl_80067F34 -lbl_800616AC: -/* 05C10C 800616AC 80832060 */ lwz r4, 0x2060(r3) -/* 05C110 800616B0 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 05C114 800616B4 41820248 */ beq lbl_800618FC -/* 05C118 800616B8 2C110000 */ cmpwi r17, 0 -/* 05C11C 800616BC 4182006C */ beq lbl_80061728 -/* 05C120 800616C0 281F0000 */ cmplwi r31, 0 -/* 05C124 800616C4 41820020 */ beq lbl_800616E4 -/* 05C128 800616C8 80610084 */ lwz r3, 0x84(r1) -/* 05C12C 800616CC 3C8038C0 */ lis r4, 0x38c0 -/* 05C130 800616D0 38030001 */ addi r0, r3, 1 -/* 05C134 800616D4 90010084 */ stw r0, 0x84(r1) -/* 05C138 800616D8 5460103A */ slwi r0, r3, 2 -/* 05C13C 800616DC 7C9F012E */ stwx r4, r31, r0 -/* 05C140 800616E0 48000010 */ b lbl_800616F0 -lbl_800616E4: -/* 05C144 800616E4 80610084 */ lwz r3, 0x84(r1) -/* 05C148 800616E8 38030001 */ addi r0, r3, 1 -/* 05C14C 800616EC 90010084 */ stw r0, 0x84(r1) -lbl_800616F0: -/* 05C150 800616F0 281F0000 */ cmplwi r31, 0 -/* 05C154 800616F4 41820028 */ beq lbl_8006171C -/* 05C158 800616F8 80610084 */ lwz r3, 0x84(r1) -/* 05C15C 800616FC 381E002C */ addi r0, r30, 0x2c -/* 05C160 80061700 7C9E0050 */ subf r4, r30, r0 -/* 05C164 80061704 38030001 */ addi r0, r3, 1 -/* 05C168 80061708 90010084 */ stw r0, 0x84(r1) -/* 05C16C 8006170C 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05C170 80061710 5463103A */ slwi r3, r3, 2 -/* 05C174 80061714 7C1F192E */ stwx r0, r31, r3 -/* 05C178 80061718 48000010 */ b lbl_80061728 -lbl_8006171C: -/* 05C17C 8006171C 80610084 */ lwz r3, 0x84(r1) -/* 05C180 80061720 38030001 */ addi r0, r3, 1 -/* 05C184 80061724 90010084 */ stw r0, 0x84(r1) -lbl_80061728: -/* 05C188 80061728 281F0000 */ cmplwi r31, 0 -/* 05C18C 8006172C 41820024 */ beq lbl_80061750 -/* 05C190 80061730 80610084 */ lwz r3, 0x84(r1) -/* 05C194 80061734 57A0843E */ srwi r0, r29, 0x10 -/* 05C198 80061738 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05C19C 8006173C 38030001 */ addi r0, r3, 1 -/* 05C1A0 80061740 90010084 */ stw r0, 0x84(r1) -/* 05C1A4 80061744 5460103A */ slwi r0, r3, 2 -/* 05C1A8 80061748 7C9F012E */ stwx r4, r31, r0 -/* 05C1AC 8006174C 48000010 */ b lbl_8006175C -lbl_80061750: -/* 05C1B0 80061750 80610084 */ lwz r3, 0x84(r1) -/* 05C1B4 80061754 38030001 */ addi r0, r3, 1 -/* 05C1B8 80061758 90010084 */ stw r0, 0x84(r1) -lbl_8006175C: -/* 05C1BC 8006175C 281F0000 */ cmplwi r31, 0 -/* 05C1C0 80061760 41820024 */ beq lbl_80061784 -/* 05C1C4 80061764 80610084 */ lwz r3, 0x84(r1) -/* 05C1C8 80061768 57A0043E */ clrlwi r0, r29, 0x10 -/* 05C1CC 8006176C 640460A5 */ oris r4, r0, 0x60a5 -/* 05C1D0 80061770 38030001 */ addi r0, r3, 1 -/* 05C1D4 80061774 90010084 */ stw r0, 0x84(r1) -/* 05C1D8 80061778 5460103A */ slwi r0, r3, 2 -/* 05C1DC 8006177C 7C9F012E */ stwx r4, r31, r0 -/* 05C1E0 80061780 48000010 */ b lbl_80061790 -lbl_80061784: -/* 05C1E4 80061784 80610084 */ lwz r3, 0x84(r1) -/* 05C1E8 80061788 38030001 */ addi r0, r3, 1 -/* 05C1EC 8006178C 90010084 */ stw r0, 0x84(r1) -lbl_80061790: -/* 05C1F0 80061790 281F0000 */ cmplwi r31, 0 -/* 05C1F4 80061794 41820034 */ beq lbl_800617C8 -/* 05C1F8 80061798 80610084 */ lwz r3, 0x84(r1) -/* 05C1FC 8006179C 801E0B50 */ lwz r0, 0xb50(r30) -/* 05C200 800617A0 5465103A */ slwi r5, r3, 2 -/* 05C204 800617A4 7C9F2A14 */ add r4, r31, r5 -/* 05C208 800617A8 7C040050 */ subf r0, r4, r0 -/* 05C20C 800617AC 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05C210 800617B0 38630001 */ addi r3, r3, 1 -/* 05C214 800617B4 64004800 */ oris r0, r0, 0x4800 -/* 05C218 800617B8 90610084 */ stw r3, 0x84(r1) -/* 05C21C 800617BC 60000001 */ ori r0, r0, 1 -/* 05C220 800617C0 7C1F292E */ stwx r0, r31, r5 -/* 05C224 800617C4 48000010 */ b lbl_800617D4 -lbl_800617C8: -/* 05C228 800617C8 80610084 */ lwz r3, 0x84(r1) -/* 05C22C 800617CC 38030001 */ addi r0, r3, 1 -/* 05C230 800617D0 90010084 */ stw r0, 0x84(r1) -lbl_800617D4: -/* 05C234 800617D4 3C7E0001 */ addis r3, r30, 1 -/* 05C238 800617D8 80032060 */ lwz r0, 0x2060(r3) -/* 05C23C 800617DC 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 05C240 800617E0 41820060 */ beq lbl_80061840 -/* 05C244 800617E4 281F0000 */ cmplwi r31, 0 -/* 05C248 800617E8 40820014 */ bne lbl_800617FC -/* 05C24C 800617EC 80610084 */ lwz r3, 0x84(r1) -/* 05C250 800617F0 38030003 */ addi r0, r3, 3 -/* 05C254 800617F4 90010084 */ stw r0, 0x84(r1) -/* 05C258 800617F8 4800008C */ b lbl_80061884 -lbl_800617FC: -/* 05C25C 800617FC 80610084 */ lwz r3, 0x84(r1) -/* 05C260 80061800 3C806000 */ lis r4, 0x6000 -/* 05C264 80061804 38030001 */ addi r0, r3, 1 -/* 05C268 80061808 90010084 */ stw r0, 0x84(r1) -/* 05C26C 8006180C 5460103A */ slwi r0, r3, 2 -/* 05C270 80061810 7C9F012E */ stwx r4, r31, r0 -/* 05C274 80061814 80610084 */ lwz r3, 0x84(r1) -/* 05C278 80061818 38030001 */ addi r0, r3, 1 -/* 05C27C 8006181C 90010084 */ stw r0, 0x84(r1) -/* 05C280 80061820 5460103A */ slwi r0, r3, 2 -/* 05C284 80061824 7C9F012E */ stwx r4, r31, r0 -/* 05C288 80061828 80610084 */ lwz r3, 0x84(r1) -/* 05C28C 8006182C 38030001 */ addi r0, r3, 1 -/* 05C290 80061830 90010084 */ stw r0, 0x84(r1) -/* 05C294 80061834 5460103A */ slwi r0, r3, 2 -/* 05C298 80061838 7C9F012E */ stwx r4, r31, r0 -/* 05C29C 8006183C 48000048 */ b lbl_80061884 -lbl_80061840: -/* 05C2A0 80061840 281F0000 */ cmplwi r31, 0 -/* 05C2A4 80061844 40820014 */ bne lbl_80061858 -/* 05C2A8 80061848 80610084 */ lwz r3, 0x84(r1) -/* 05C2AC 8006184C 38030002 */ addi r0, r3, 2 -/* 05C2B0 80061850 90010084 */ stw r0, 0x84(r1) -/* 05C2B4 80061854 48000030 */ b lbl_80061884 -lbl_80061858: -/* 05C2B8 80061858 80610084 */ lwz r3, 0x84(r1) -/* 05C2BC 8006185C 3C806000 */ lis r4, 0x6000 -/* 05C2C0 80061860 38030001 */ addi r0, r3, 1 -/* 05C2C4 80061864 90010084 */ stw r0, 0x84(r1) -/* 05C2C8 80061868 5460103A */ slwi r0, r3, 2 -/* 05C2CC 8006186C 7C9F012E */ stwx r4, r31, r0 -/* 05C2D0 80061870 80610084 */ lwz r3, 0x84(r1) -/* 05C2D4 80061874 38030001 */ addi r0, r3, 1 -/* 05C2D8 80061878 90010084 */ stw r0, 0x84(r1) -/* 05C2DC 8006187C 5460103A */ slwi r0, r3, 2 -/* 05C2E0 80061880 7C9F012E */ stwx r4, r31, r0 -lbl_80061884: -/* 05C2E4 80061884 2C110000 */ cmpwi r17, 0 -/* 05C2E8 80061888 418266AC */ beq lbl_80067F34 -/* 05C2EC 8006188C 281F0000 */ cmplwi r31, 0 -/* 05C2F0 80061890 41820024 */ beq lbl_800618B4 -/* 05C2F4 80061894 80610084 */ lwz r3, 0x84(r1) -/* 05C2F8 80061898 3C8038C1 */ lis r4, 0x38c1 -/* 05C2FC 8006189C 3884FFFF */ addi r4, r4, -1 -/* 05C300 800618A0 38030001 */ addi r0, r3, 1 -/* 05C304 800618A4 90010084 */ stw r0, 0x84(r1) -/* 05C308 800618A8 5460103A */ slwi r0, r3, 2 -/* 05C30C 800618AC 7C9F012E */ stwx r4, r31, r0 -/* 05C310 800618B0 48000010 */ b lbl_800618C0 -lbl_800618B4: -/* 05C314 800618B4 80610084 */ lwz r3, 0x84(r1) -/* 05C318 800618B8 38030001 */ addi r0, r3, 1 -/* 05C31C 800618BC 90010084 */ stw r0, 0x84(r1) -lbl_800618C0: -/* 05C320 800618C0 281F0000 */ cmplwi r31, 0 -/* 05C324 800618C4 41820028 */ beq lbl_800618EC -/* 05C328 800618C8 80610084 */ lwz r3, 0x84(r1) -/* 05C32C 800618CC 381E002C */ addi r0, r30, 0x2c -/* 05C330 800618D0 7C9E0050 */ subf r4, r30, r0 -/* 05C334 800618D4 38030001 */ addi r0, r3, 1 -/* 05C338 800618D8 90010084 */ stw r0, 0x84(r1) -/* 05C33C 800618DC 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05C340 800618E0 5463103A */ slwi r3, r3, 2 -/* 05C344 800618E4 7C1F192E */ stwx r0, r31, r3 -/* 05C348 800618E8 4800664C */ b lbl_80067F34 -lbl_800618EC: -/* 05C34C 800618EC 80610084 */ lwz r3, 0x84(r1) -/* 05C350 800618F0 38030001 */ addi r0, r3, 1 -/* 05C354 800618F4 90010084 */ stw r0, 0x84(r1) -/* 05C358 800618F8 4800663C */ b lbl_80067F34 -lbl_800618FC: -/* 05C35C 800618FC 548007FF */ clrlwi. r0, r4, 0x1f -/* 05C360 80061900 41826634 */ beq lbl_80067F34 -/* 05C364 80061904 54E0103A */ slwi r0, r7, 2 -/* 05C368 80061908 7C9A0214 */ add r4, r26, r0 -/* 05C36C 8006190C 80C40818 */ lwz r6, 0x818(r4) -/* 05C370 80061910 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 05C374 80061914 41820148 */ beq lbl_80061A5C -/* 05C378 80061918 80032064 */ lwz r0, 0x2064(r3) -/* 05C37C 8006191C 38C00006 */ li r6, 6 -/* 05C380 80061920 28000000 */ cmplwi r0, 0 -/* 05C384 80061924 4082000C */ bne lbl_80061930 -/* 05C388 80061928 38000000 */ li r0, 0 -/* 05C38C 8006192C 48000094 */ b lbl_800619C0 -lbl_80061930: -/* 05C390 80061930 80032068 */ lwz r0, 0x2068(r3) -/* 05C394 80061934 28000000 */ cmplwi r0, 0 -/* 05C398 80061938 4082000C */ bne lbl_80061944 -/* 05C39C 8006193C 38000000 */ li r0, 0 -/* 05C3A0 80061940 48000080 */ b lbl_800619C0 -lbl_80061944: -/* 05C3A4 80061944 8003206C */ lwz r0, 0x206c(r3) -/* 05C3A8 80061948 7C070000 */ cmpw r7, r0 -/* 05C3AC 8006194C 4182000C */ beq lbl_80061958 -/* 05C3B0 80061950 38000000 */ li r0, 0 -/* 05C3B4 80061954 4800006C */ b lbl_800619C0 -lbl_80061958: -/* 05C3B8 80061958 80BE0034 */ lwz r5, 0x34(r30) -/* 05C3BC 8006195C 38800000 */ li r4, 0 -/* 05C3C0 80061960 80050008 */ lwz r0, 8(r5) -/* 05C3C4 80061964 2C000000 */ cmpwi r0, 0 -/* 05C3C8 80061968 7C0903A6 */ mtctr r0 -/* 05C3CC 8006196C 40810028 */ ble lbl_80061994 -lbl_80061970: -/* 05C3D0 80061970 8065000C */ lwz r3, 0xc(r5) -/* 05C3D4 80061974 38040004 */ addi r0, r4, 4 -/* 05C3D8 80061978 7C03002E */ lwzx r0, r3, r0 -/* 05C3DC 8006197C 7C1D0000 */ cmpw r29, r0 -/* 05C3E0 80061980 4082000C */ bne lbl_8006198C -/* 05C3E4 80061984 38000000 */ li r0, 0 -/* 05C3E8 80061988 48000010 */ b lbl_80061998 -lbl_8006198C: -/* 05C3EC 8006198C 38840008 */ addi r4, r4, 8 -/* 05C3F0 80061990 4200FFE0 */ bdnz lbl_80061970 -lbl_80061994: -/* 05C3F4 80061994 38000001 */ li r0, 1 -lbl_80061998: -/* 05C3F8 80061998 2C000000 */ cmpwi r0, 0 -/* 05C3FC 8006199C 40820014 */ bne lbl_800619B0 -/* 05C400 800619A0 38000000 */ li r0, 0 -/* 05C404 800619A4 3C7E0001 */ addis r3, r30, 1 -/* 05C408 800619A8 90032068 */ stw r0, 0x2068(r3) -/* 05C40C 800619AC 48000014 */ b lbl_800619C0 -lbl_800619B0: -/* 05C410 800619B0 3C7E0001 */ addis r3, r30, 1 -/* 05C414 800619B4 38000000 */ li r0, 0 -/* 05C418 800619B8 90032068 */ stw r0, 0x2068(r3) -/* 05C41C 800619BC 38000001 */ li r0, 1 -lbl_800619C0: -/* 05C420 800619C0 2C000000 */ cmpwi r0, 0 -/* 05C424 800619C4 41820050 */ beq lbl_80061A14 -/* 05C428 800619C8 281F0000 */ cmplwi r31, 0 -/* 05C42C 800619CC 41820038 */ beq lbl_80061A04 -/* 05C430 800619D0 3C9E0001 */ addis r4, r30, 1 -/* 05C434 800619D4 80610084 */ lwz r3, 0x84(r1) -/* 05C438 800619D8 80842070 */ lwz r4, 0x2070(r4) -/* 05C43C 800619DC 38A30001 */ addi r5, r3, 1 -/* 05C440 800619E0 5480A814 */ slwi r0, r4, 0x15 -/* 05C444 800619E4 90A10084 */ stw r5, 0x84(r1) -/* 05C448 800619E8 64007C06 */ oris r0, r0, 0x7c06 -/* 05C44C 800619EC 54845828 */ slwi r4, r4, 0xb -/* 05C450 800619F0 60000378 */ ori r0, r0, 0x378 -/* 05C454 800619F4 7C800378 */ or r0, r4, r0 -/* 05C458 800619F8 5463103A */ slwi r3, r3, 2 -/* 05C45C 800619FC 7C1F192E */ stwx r0, r31, r3 -/* 05C460 80061A00 4800005C */ b lbl_80061A5C -lbl_80061A04: -/* 05C464 80061A04 80610084 */ lwz r3, 0x84(r1) -/* 05C468 80061A08 38030001 */ addi r0, r3, 1 -/* 05C46C 80061A0C 90010084 */ stw r0, 0x84(r1) -/* 05C470 80061A10 4800004C */ b lbl_80061A5C -lbl_80061A14: -/* 05C474 80061A14 281F0000 */ cmplwi r31, 0 -/* 05C478 80061A18 41820038 */ beq lbl_80061A50 -/* 05C47C 80061A1C 54E41838 */ slwi r4, r7, 3 -/* 05C480 80061A20 80610084 */ lwz r3, 0x84(r1) -/* 05C484 80061A24 38040040 */ addi r0, r4, 0x40 -/* 05C488 80061A28 7C1E0214 */ add r0, r30, r0 -/* 05C48C 80061A2C 7C9E0050 */ subf r4, r30, r0 -/* 05C490 80061A30 38840004 */ addi r4, r4, 4 -/* 05C494 80061A34 38030001 */ addi r0, r3, 1 -/* 05C498 80061A38 5484043E */ clrlwi r4, r4, 0x10 -/* 05C49C 80061A3C 90010084 */ stw r0, 0x84(r1) -/* 05C4A0 80061A40 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05C4A4 80061A44 5463103A */ slwi r3, r3, 2 -/* 05C4A8 80061A48 7C1F192E */ stwx r0, r31, r3 -/* 05C4AC 80061A4C 48000010 */ b lbl_80061A5C -lbl_80061A50: -/* 05C4B0 80061A50 80610084 */ lwz r3, 0x84(r1) -/* 05C4B4 80061A54 38030001 */ addi r0, r3, 1 -/* 05C4B8 80061A58 90010084 */ stw r0, 0x84(r1) -lbl_80061A5C: -/* 05C4BC 80061A5C 281F0000 */ cmplwi r31, 0 -/* 05C4C0 80061A60 4182002C */ beq lbl_80061A8C -/* 05C4C4 80061A64 80610084 */ lwz r3, 0x84(r1) -/* 05C4C8 80061A68 54C0801E */ slwi r0, r6, 0x10 -/* 05C4CC 80061A6C 640538A0 */ oris r5, r0, 0x38a0 -/* 05C4D0 80061A70 38030001 */ addi r0, r3, 1 -/* 05C4D4 80061A74 5784043E */ clrlwi r4, r28, 0x10 -/* 05C4D8 80061A78 90010084 */ stw r0, 0x84(r1) -/* 05C4DC 80061A7C 7CA02378 */ or r0, r5, r4 -/* 05C4E0 80061A80 5463103A */ slwi r3, r3, 2 -/* 05C4E4 80061A84 7C1F192E */ stwx r0, r31, r3 -/* 05C4E8 80061A88 48000010 */ b lbl_80061A98 -lbl_80061A8C: -/* 05C4EC 80061A8C 80610084 */ lwz r3, 0x84(r1) -/* 05C4F0 80061A90 38030001 */ addi r0, r3, 1 -/* 05C4F4 80061A94 90010084 */ stw r0, 0x84(r1) -lbl_80061A98: -/* 05C4F8 80061A98 281F0000 */ cmplwi r31, 0 -/* 05C4FC 80061A9C 41820024 */ beq lbl_80061AC0 -/* 05C500 80061AA0 80610084 */ lwz r3, 0x84(r1) -/* 05C504 80061AA4 3C8054A7 */ lis r4, 0x54a7 -/* 05C508 80061AA8 3884843E */ addi r4, r4, -31682 -/* 05C50C 80061AAC 38030001 */ addi r0, r3, 1 -/* 05C510 80061AB0 90010084 */ stw r0, 0x84(r1) -/* 05C514 80061AB4 5460103A */ slwi r0, r3, 2 -/* 05C518 80061AB8 7C9F012E */ stwx r4, r31, r0 -/* 05C51C 80061ABC 48000010 */ b lbl_80061ACC -lbl_80061AC0: -/* 05C520 80061AC0 80610084 */ lwz r3, 0x84(r1) -/* 05C524 80061AC4 38030001 */ addi r0, r3, 1 -/* 05C528 80061AC8 90010084 */ stw r0, 0x84(r1) -lbl_80061ACC: -/* 05C52C 80061ACC 281F0000 */ cmplwi r31, 0 -/* 05C530 80061AD0 41820024 */ beq lbl_80061AF4 -/* 05C534 80061AD4 80610084 */ lwz r3, 0x84(r1) -/* 05C538 80061AD8 3C807CC6 */ lis r4, 0x7cc6 -/* 05C53C 80061ADC 388448AE */ addi r4, r4, 0x48ae -/* 05C540 80061AE0 38030001 */ addi r0, r3, 1 -/* 05C544 80061AE4 90010084 */ stw r0, 0x84(r1) -/* 05C548 80061AE8 5460103A */ slwi r0, r3, 2 -/* 05C54C 80061AEC 7C9F012E */ stwx r4, r31, r0 -/* 05C550 80061AF0 48000010 */ b lbl_80061B00 -lbl_80061AF4: -/* 05C554 80061AF4 80610084 */ lwz r3, 0x84(r1) -/* 05C558 80061AF8 38030001 */ addi r0, r3, 1 -/* 05C55C 80061AFC 90010084 */ stw r0, 0x84(r1) -lbl_80061B00: -/* 05C560 80061B00 281F0000 */ cmplwi r31, 0 -/* 05C564 80061B04 41820024 */ beq lbl_80061B28 -/* 05C568 80061B08 80610084 */ lwz r3, 0x84(r1) -/* 05C56C 80061B0C 3C802C06 */ lis r4, 0x2c06 -/* 05C570 80061B10 38840080 */ addi r4, r4, 0x80 -/* 05C574 80061B14 38030001 */ addi r0, r3, 1 -/* 05C578 80061B18 90010084 */ stw r0, 0x84(r1) -/* 05C57C 80061B1C 5460103A */ slwi r0, r3, 2 -/* 05C580 80061B20 7C9F012E */ stwx r4, r31, r0 -/* 05C584 80061B24 48000010 */ b lbl_80061B34 -lbl_80061B28: -/* 05C588 80061B28 80610084 */ lwz r3, 0x84(r1) -/* 05C58C 80061B2C 38030001 */ addi r0, r3, 1 -/* 05C590 80061B30 90010084 */ stw r0, 0x84(r1) -lbl_80061B34: -/* 05C594 80061B34 281F0000 */ cmplwi r31, 0 -/* 05C598 80061B38 41820024 */ beq lbl_80061B5C -/* 05C59C 80061B3C 80610084 */ lwz r3, 0x84(r1) -/* 05C5A0 80061B40 3C804180 */ lis r4, 0x4180 -/* 05C5A4 80061B44 38840020 */ addi r4, r4, 0x20 -/* 05C5A8 80061B48 38030001 */ addi r0, r3, 1 -/* 05C5AC 80061B4C 90010084 */ stw r0, 0x84(r1) -/* 05C5B0 80061B50 5460103A */ slwi r0, r3, 2 -/* 05C5B4 80061B54 7C9F012E */ stwx r4, r31, r0 -/* 05C5B8 80061B58 48000010 */ b lbl_80061B68 -lbl_80061B5C: -/* 05C5BC 80061B5C 80610084 */ lwz r3, 0x84(r1) -/* 05C5C0 80061B60 38030001 */ addi r0, r3, 1 -/* 05C5C4 80061B64 90010084 */ stw r0, 0x84(r1) -lbl_80061B68: -/* 05C5C8 80061B68 281F0000 */ cmplwi r31, 0 -/* 05C5CC 80061B6C 41820024 */ beq lbl_80061B90 -/* 05C5D0 80061B70 80610084 */ lwz r3, 0x84(r1) -/* 05C5D4 80061B74 3C809422 */ lis r4, 0x9422 -/* 05C5D8 80061B78 3884FFF0 */ addi r4, r4, -16 -/* 05C5DC 80061B7C 38030001 */ addi r0, r3, 1 -/* 05C5E0 80061B80 90010084 */ stw r0, 0x84(r1) -/* 05C5E4 80061B84 5460103A */ slwi r0, r3, 2 -/* 05C5E8 80061B88 7C9F012E */ stwx r4, r31, r0 -/* 05C5EC 80061B8C 48000010 */ b lbl_80061B9C -lbl_80061B90: -/* 05C5F0 80061B90 80610084 */ lwz r3, 0x84(r1) -/* 05C5F4 80061B94 38030001 */ addi r0, r3, 1 -/* 05C5F8 80061B98 90010084 */ stw r0, 0x84(r1) -lbl_80061B9C: -/* 05C5FC 80061B9C 281F0000 */ cmplwi r31, 0 -/* 05C600 80061BA0 41820024 */ beq lbl_80061BC4 -/* 05C604 80061BA4 80610084 */ lwz r3, 0x84(r1) -/* 05C608 80061BA8 3C809101 */ lis r4, 0x9101 -/* 05C60C 80061BAC 38840008 */ addi r4, r4, 8 -/* 05C610 80061BB0 38030001 */ addi r0, r3, 1 -/* 05C614 80061BB4 90010084 */ stw r0, 0x84(r1) -/* 05C618 80061BB8 5460103A */ slwi r0, r3, 2 -/* 05C61C 80061BBC 7C9F012E */ stwx r4, r31, r0 -/* 05C620 80061BC0 48000010 */ b lbl_80061BD0 -lbl_80061BC4: -/* 05C624 80061BC4 80610084 */ lwz r3, 0x84(r1) -/* 05C628 80061BC8 38030001 */ addi r0, r3, 1 -/* 05C62C 80061BCC 90010084 */ stw r0, 0x84(r1) -lbl_80061BD0: -/* 05C630 80061BD0 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 05C634 80061BD4 7C9A0214 */ add r4, r26, r0 -/* 05C638 80061BD8 80040818 */ lwz r0, 0x818(r4) -/* 05C63C 80061BDC 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 05C640 80061BE0 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 05C644 80061BE4 4182004C */ beq lbl_80061C30 -/* 05C648 80061BE8 281F0000 */ cmplwi r31, 0 -/* 05C64C 80061BEC 41820034 */ beq lbl_80061C20 -/* 05C650 80061BF0 54641838 */ slwi r4, r3, 3 -/* 05C654 80061BF4 80610084 */ lwz r3, 0x84(r1) -/* 05C658 80061BF8 38040040 */ addi r0, r4, 0x40 -/* 05C65C 80061BFC 7C1E0214 */ add r0, r30, r0 -/* 05C660 80061C00 7C9E0050 */ subf r4, r30, r0 -/* 05C664 80061C04 38030001 */ addi r0, r3, 1 -/* 05C668 80061C08 3C848103 */ addis r4, r4, 0x8103 -/* 05C66C 80061C0C 90010084 */ stw r0, 0x84(r1) -/* 05C670 80061C10 38040004 */ addi r0, r4, 4 -/* 05C674 80061C14 5463103A */ slwi r3, r3, 2 -/* 05C678 80061C18 7C1F192E */ stwx r0, r31, r3 -/* 05C67C 80061C1C 48000054 */ b lbl_80061C70 -lbl_80061C20: -/* 05C680 80061C20 80610084 */ lwz r3, 0x84(r1) -/* 05C684 80061C24 38030001 */ addi r0, r3, 1 -/* 05C688 80061C28 90010084 */ stw r0, 0x84(r1) -/* 05C68C 80061C2C 48000044 */ b lbl_80061C70 -lbl_80061C30: -/* 05C690 80061C30 281F0000 */ cmplwi r31, 0 -/* 05C694 80061C34 41820030 */ beq lbl_80061C64 -/* 05C698 80061C38 80810084 */ lwz r4, 0x84(r1) -/* 05C69C 80061C3C 5403A814 */ slwi r3, r0, 0x15 -/* 05C6A0 80061C40 64657C08 */ oris r5, r3, 0x7c08 -/* 05C6A4 80061C44 38640001 */ addi r3, r4, 1 -/* 05C6A8 80061C48 90610084 */ stw r3, 0x84(r1) -/* 05C6AC 80061C4C 60A50378 */ ori r5, r5, 0x378 -/* 05C6B0 80061C50 54005828 */ slwi r0, r0, 0xb -/* 05C6B4 80061C54 7CA00378 */ or r0, r5, r0 -/* 05C6B8 80061C58 5483103A */ slwi r3, r4, 2 -/* 05C6BC 80061C5C 7C1F192E */ stwx r0, r31, r3 -/* 05C6C0 80061C60 48000010 */ b lbl_80061C70 -lbl_80061C64: -/* 05C6C4 80061C64 80610084 */ lwz r3, 0x84(r1) -/* 05C6C8 80061C68 38030001 */ addi r0, r3, 1 -/* 05C6CC 80061C6C 90010084 */ stw r0, 0x84(r1) -lbl_80061C70: -/* 05C6D0 80061C70 281F0000 */ cmplwi r31, 0 -/* 05C6D4 80061C74 41820034 */ beq lbl_80061CA8 -/* 05C6D8 80061C78 80610084 */ lwz r3, 0x84(r1) -/* 05C6DC 80061C7C 800D8A68 */ lwz r0, cpuCompile_SH_function@sda21(r13) -/* 05C6E0 80061C80 5465103A */ slwi r5, r3, 2 -/* 05C6E4 80061C84 7C9F2A14 */ add r4, r31, r5 -/* 05C6E8 80061C88 7C040050 */ subf r0, r4, r0 -/* 05C6EC 80061C8C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05C6F0 80061C90 38630001 */ addi r3, r3, 1 -/* 05C6F4 80061C94 64004800 */ oris r0, r0, 0x4800 -/* 05C6F8 80061C98 90610084 */ stw r3, 0x84(r1) -/* 05C6FC 80061C9C 60000001 */ ori r0, r0, 1 -/* 05C700 80061CA0 7C1F292E */ stwx r0, r31, r5 -/* 05C704 80061CA4 48000010 */ b lbl_80061CB4 -lbl_80061CA8: -/* 05C708 80061CA8 80610084 */ lwz r3, 0x84(r1) -/* 05C70C 80061CAC 38030001 */ addi r0, r3, 1 -/* 05C710 80061CB0 90010084 */ stw r0, 0x84(r1) -lbl_80061CB4: -/* 05C714 80061CB4 281F0000 */ cmplwi r31, 0 -/* 05C718 80061CB8 41820024 */ beq lbl_80061CDC -/* 05C71C 80061CBC 80610084 */ lwz r3, 0x84(r1) -/* 05C720 80061CC0 3C808101 */ lis r4, 0x8101 -/* 05C724 80061CC4 38840008 */ addi r4, r4, 8 -/* 05C728 80061CC8 38030001 */ addi r0, r3, 1 -/* 05C72C 80061CCC 90010084 */ stw r0, 0x84(r1) -/* 05C730 80061CD0 5460103A */ slwi r0, r3, 2 -/* 05C734 80061CD4 7C9F012E */ stwx r4, r31, r0 -/* 05C738 80061CD8 48000010 */ b lbl_80061CE8 -lbl_80061CDC: -/* 05C73C 80061CDC 80610084 */ lwz r3, 0x84(r1) -/* 05C740 80061CE0 38030001 */ addi r0, r3, 1 -/* 05C744 80061CE4 90010084 */ stw r0, 0x84(r1) -lbl_80061CE8: -/* 05C748 80061CE8 281F0000 */ cmplwi r31, 0 -/* 05C74C 80061CEC 41820024 */ beq lbl_80061D10 -/* 05C750 80061CF0 80610084 */ lwz r3, 0x84(r1) -/* 05C754 80061CF4 3C803821 */ lis r4, 0x3821 -/* 05C758 80061CF8 38840010 */ addi r4, r4, 0x10 -/* 05C75C 80061CFC 38030001 */ addi r0, r3, 1 -/* 05C760 80061D00 90010084 */ stw r0, 0x84(r1) -/* 05C764 80061D04 5460103A */ slwi r0, r3, 2 -/* 05C768 80061D08 7C9F012E */ stwx r4, r31, r0 -/* 05C76C 80061D0C 48000010 */ b lbl_80061D1C -lbl_80061D10: -/* 05C770 80061D10 80610084 */ lwz r3, 0x84(r1) -/* 05C774 80061D14 38030001 */ addi r0, r3, 1 -/* 05C778 80061D18 90010084 */ stw r0, 0x84(r1) -lbl_80061D1C: -/* 05C77C 80061D1C 2C110000 */ cmpwi r17, 0 -/* 05C780 80061D20 418201BC */ beq lbl_80061EDC -/* 05C784 80061D24 281F0000 */ cmplwi r31, 0 -/* 05C788 80061D28 41820024 */ beq lbl_80061D4C -/* 05C78C 80061D2C 80610084 */ lwz r3, 0x84(r1) -/* 05C790 80061D30 3C804280 */ lis r4, 0x4280 -/* 05C794 80061D34 38840020 */ addi r4, r4, 0x20 -/* 05C798 80061D38 38030001 */ addi r0, r3, 1 -/* 05C79C 80061D3C 90010084 */ stw r0, 0x84(r1) -/* 05C7A0 80061D40 5460103A */ slwi r0, r3, 2 -/* 05C7A4 80061D44 7C9F012E */ stwx r4, r31, r0 -/* 05C7A8 80061D48 48000010 */ b lbl_80061D58 -lbl_80061D4C: -/* 05C7AC 80061D4C 80610084 */ lwz r3, 0x84(r1) -/* 05C7B0 80061D50 38030001 */ addi r0, r3, 1 -/* 05C7B4 80061D54 90010084 */ stw r0, 0x84(r1) -lbl_80061D58: -/* 05C7B8 80061D58 281F0000 */ cmplwi r31, 0 -/* 05C7BC 80061D5C 41820020 */ beq lbl_80061D7C -/* 05C7C0 80061D60 80610084 */ lwz r3, 0x84(r1) -/* 05C7C4 80061D64 3C8038C0 */ lis r4, 0x38c0 -/* 05C7C8 80061D68 38030001 */ addi r0, r3, 1 -/* 05C7CC 80061D6C 90010084 */ stw r0, 0x84(r1) -/* 05C7D0 80061D70 5460103A */ slwi r0, r3, 2 -/* 05C7D4 80061D74 7C9F012E */ stwx r4, r31, r0 -/* 05C7D8 80061D78 48000010 */ b lbl_80061D88 -lbl_80061D7C: -/* 05C7DC 80061D7C 80610084 */ lwz r3, 0x84(r1) -/* 05C7E0 80061D80 38030001 */ addi r0, r3, 1 -/* 05C7E4 80061D84 90010084 */ stw r0, 0x84(r1) -lbl_80061D88: -/* 05C7E8 80061D88 281F0000 */ cmplwi r31, 0 -/* 05C7EC 80061D8C 41820028 */ beq lbl_80061DB4 -/* 05C7F0 80061D90 80610084 */ lwz r3, 0x84(r1) -/* 05C7F4 80061D94 381E002C */ addi r0, r30, 0x2c -/* 05C7F8 80061D98 7C9E0050 */ subf r4, r30, r0 -/* 05C7FC 80061D9C 38030001 */ addi r0, r3, 1 -/* 05C800 80061DA0 90010084 */ stw r0, 0x84(r1) -/* 05C804 80061DA4 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05C808 80061DA8 5463103A */ slwi r3, r3, 2 -/* 05C80C 80061DAC 7C1F192E */ stwx r0, r31, r3 -/* 05C810 80061DB0 48000010 */ b lbl_80061DC0 -lbl_80061DB4: -/* 05C814 80061DB4 80610084 */ lwz r3, 0x84(r1) -/* 05C818 80061DB8 38030001 */ addi r0, r3, 1 -/* 05C81C 80061DBC 90010084 */ stw r0, 0x84(r1) -lbl_80061DC0: -/* 05C820 80061DC0 281F0000 */ cmplwi r31, 0 -/* 05C824 80061DC4 41820024 */ beq lbl_80061DE8 -/* 05C828 80061DC8 80610084 */ lwz r3, 0x84(r1) -/* 05C82C 80061DCC 57A0843E */ srwi r0, r29, 0x10 -/* 05C830 80061DD0 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05C834 80061DD4 38030001 */ addi r0, r3, 1 -/* 05C838 80061DD8 90010084 */ stw r0, 0x84(r1) -/* 05C83C 80061DDC 5460103A */ slwi r0, r3, 2 -/* 05C840 80061DE0 7C9F012E */ stwx r4, r31, r0 -/* 05C844 80061DE4 48000010 */ b lbl_80061DF4 -lbl_80061DE8: -/* 05C848 80061DE8 80610084 */ lwz r3, 0x84(r1) -/* 05C84C 80061DEC 38030001 */ addi r0, r3, 1 -/* 05C850 80061DF0 90010084 */ stw r0, 0x84(r1) -lbl_80061DF4: -/* 05C854 80061DF4 281F0000 */ cmplwi r31, 0 -/* 05C858 80061DF8 41820024 */ beq lbl_80061E1C -/* 05C85C 80061DFC 80610084 */ lwz r3, 0x84(r1) -/* 05C860 80061E00 57A0043E */ clrlwi r0, r29, 0x10 -/* 05C864 80061E04 640460A5 */ oris r4, r0, 0x60a5 -/* 05C868 80061E08 38030001 */ addi r0, r3, 1 -/* 05C86C 80061E0C 90010084 */ stw r0, 0x84(r1) -/* 05C870 80061E10 5460103A */ slwi r0, r3, 2 -/* 05C874 80061E14 7C9F012E */ stwx r4, r31, r0 -/* 05C878 80061E18 48000010 */ b lbl_80061E28 -lbl_80061E1C: -/* 05C87C 80061E1C 80610084 */ lwz r3, 0x84(r1) -/* 05C880 80061E20 38030001 */ addi r0, r3, 1 -/* 05C884 80061E24 90010084 */ stw r0, 0x84(r1) -lbl_80061E28: -/* 05C888 80061E28 281F0000 */ cmplwi r31, 0 -/* 05C88C 80061E2C 41820034 */ beq lbl_80061E60 -/* 05C890 80061E30 80610084 */ lwz r3, 0x84(r1) -/* 05C894 80061E34 801E0B40 */ lwz r0, 0xb40(r30) -/* 05C898 80061E38 5465103A */ slwi r5, r3, 2 -/* 05C89C 80061E3C 7C9F2A14 */ add r4, r31, r5 -/* 05C8A0 80061E40 7C040050 */ subf r0, r4, r0 -/* 05C8A4 80061E44 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05C8A8 80061E48 38630001 */ addi r3, r3, 1 -/* 05C8AC 80061E4C 64004800 */ oris r0, r0, 0x4800 -/* 05C8B0 80061E50 90610084 */ stw r3, 0x84(r1) -/* 05C8B4 80061E54 60000001 */ ori r0, r0, 1 -/* 05C8B8 80061E58 7C1F292E */ stwx r0, r31, r5 -/* 05C8BC 80061E5C 48000010 */ b lbl_80061E6C -lbl_80061E60: -/* 05C8C0 80061E60 80610084 */ lwz r3, 0x84(r1) -/* 05C8C4 80061E64 38030001 */ addi r0, r3, 1 -/* 05C8C8 80061E68 90010084 */ stw r0, 0x84(r1) -lbl_80061E6C: -/* 05C8CC 80061E6C 281F0000 */ cmplwi r31, 0 -/* 05C8D0 80061E70 41820024 */ beq lbl_80061E94 -/* 05C8D4 80061E74 80610084 */ lwz r3, 0x84(r1) -/* 05C8D8 80061E78 3C8038C1 */ lis r4, 0x38c1 -/* 05C8DC 80061E7C 3884FFFF */ addi r4, r4, -1 -/* 05C8E0 80061E80 38030001 */ addi r0, r3, 1 -/* 05C8E4 80061E84 90010084 */ stw r0, 0x84(r1) -/* 05C8E8 80061E88 5460103A */ slwi r0, r3, 2 -/* 05C8EC 80061E8C 7C9F012E */ stwx r4, r31, r0 -/* 05C8F0 80061E90 48000010 */ b lbl_80061EA0 -lbl_80061E94: -/* 05C8F4 80061E94 80610084 */ lwz r3, 0x84(r1) -/* 05C8F8 80061E98 38030001 */ addi r0, r3, 1 -/* 05C8FC 80061E9C 90010084 */ stw r0, 0x84(r1) -lbl_80061EA0: -/* 05C900 80061EA0 281F0000 */ cmplwi r31, 0 -/* 05C904 80061EA4 41820028 */ beq lbl_80061ECC -/* 05C908 80061EA8 80610084 */ lwz r3, 0x84(r1) -/* 05C90C 80061EAC 381E002C */ addi r0, r30, 0x2c -/* 05C910 80061EB0 7C9E0050 */ subf r4, r30, r0 -/* 05C914 80061EB4 38030001 */ addi r0, r3, 1 -/* 05C918 80061EB8 90010084 */ stw r0, 0x84(r1) -/* 05C91C 80061EBC 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05C920 80061EC0 5463103A */ slwi r3, r3, 2 -/* 05C924 80061EC4 7C1F192E */ stwx r0, r31, r3 -/* 05C928 80061EC8 4800606C */ b lbl_80067F34 -lbl_80061ECC: -/* 05C92C 80061ECC 80610084 */ lwz r3, 0x84(r1) -/* 05C930 80061ED0 38030001 */ addi r0, r3, 1 -/* 05C934 80061ED4 90010084 */ stw r0, 0x84(r1) -/* 05C938 80061ED8 4800605C */ b lbl_80067F34 -lbl_80061EDC: -/* 05C93C 80061EDC 281F0000 */ cmplwi r31, 0 -/* 05C940 80061EE0 41820024 */ beq lbl_80061F04 -/* 05C944 80061EE4 80610084 */ lwz r3, 0x84(r1) -/* 05C948 80061EE8 3C804280 */ lis r4, 0x4280 -/* 05C94C 80061EEC 38840010 */ addi r4, r4, 0x10 -/* 05C950 80061EF0 38030001 */ addi r0, r3, 1 -/* 05C954 80061EF4 90010084 */ stw r0, 0x84(r1) -/* 05C958 80061EF8 5460103A */ slwi r0, r3, 2 -/* 05C95C 80061EFC 7C9F012E */ stwx r4, r31, r0 -/* 05C960 80061F00 48000010 */ b lbl_80061F10 -lbl_80061F04: -/* 05C964 80061F04 80610084 */ lwz r3, 0x84(r1) -/* 05C968 80061F08 38030001 */ addi r0, r3, 1 -/* 05C96C 80061F0C 90010084 */ stw r0, 0x84(r1) -lbl_80061F10: -/* 05C970 80061F10 281F0000 */ cmplwi r31, 0 -/* 05C974 80061F14 41820024 */ beq lbl_80061F38 -/* 05C978 80061F18 80610084 */ lwz r3, 0x84(r1) -/* 05C97C 80061F1C 57A0843E */ srwi r0, r29, 0x10 -/* 05C980 80061F20 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05C984 80061F24 38030001 */ addi r0, r3, 1 -/* 05C988 80061F28 90010084 */ stw r0, 0x84(r1) -/* 05C98C 80061F2C 5460103A */ slwi r0, r3, 2 -/* 05C990 80061F30 7C9F012E */ stwx r4, r31, r0 -/* 05C994 80061F34 48000010 */ b lbl_80061F44 -lbl_80061F38: -/* 05C998 80061F38 80610084 */ lwz r3, 0x84(r1) -/* 05C99C 80061F3C 38030001 */ addi r0, r3, 1 -/* 05C9A0 80061F40 90010084 */ stw r0, 0x84(r1) -lbl_80061F44: -/* 05C9A4 80061F44 281F0000 */ cmplwi r31, 0 -/* 05C9A8 80061F48 41820024 */ beq lbl_80061F6C -/* 05C9AC 80061F4C 80610084 */ lwz r3, 0x84(r1) -/* 05C9B0 80061F50 57A0043E */ clrlwi r0, r29, 0x10 -/* 05C9B4 80061F54 640460A5 */ oris r4, r0, 0x60a5 -/* 05C9B8 80061F58 38030001 */ addi r0, r3, 1 -/* 05C9BC 80061F5C 90010084 */ stw r0, 0x84(r1) -/* 05C9C0 80061F60 5460103A */ slwi r0, r3, 2 -/* 05C9C4 80061F64 7C9F012E */ stwx r4, r31, r0 -/* 05C9C8 80061F68 48000010 */ b lbl_80061F78 -lbl_80061F6C: -/* 05C9CC 80061F6C 80610084 */ lwz r3, 0x84(r1) -/* 05C9D0 80061F70 38030001 */ addi r0, r3, 1 -/* 05C9D4 80061F74 90010084 */ stw r0, 0x84(r1) -lbl_80061F78: -/* 05C9D8 80061F78 281F0000 */ cmplwi r31, 0 -/* 05C9DC 80061F7C 41820034 */ beq lbl_80061FB0 -/* 05C9E0 80061F80 80610084 */ lwz r3, 0x84(r1) -/* 05C9E4 80061F84 801E0B40 */ lwz r0, 0xb40(r30) -/* 05C9E8 80061F88 5465103A */ slwi r5, r3, 2 -/* 05C9EC 80061F8C 7C9F2A14 */ add r4, r31, r5 -/* 05C9F0 80061F90 7C040050 */ subf r0, r4, r0 -/* 05C9F4 80061F94 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05C9F8 80061F98 38630001 */ addi r3, r3, 1 -/* 05C9FC 80061F9C 64004800 */ oris r0, r0, 0x4800 -/* 05CA00 80061FA0 90610084 */ stw r3, 0x84(r1) -/* 05CA04 80061FA4 60000001 */ ori r0, r0, 1 -/* 05CA08 80061FA8 7C1F292E */ stwx r0, r31, r5 -/* 05CA0C 80061FAC 48005F88 */ b lbl_80067F34 -lbl_80061FB0: -/* 05CA10 80061FB0 80610084 */ lwz r3, 0x84(r1) -/* 05CA14 80061FB4 38030001 */ addi r0, r3, 1 -/* 05CA18 80061FB8 90010084 */ stw r0, 0x84(r1) -/* 05CA1C 80061FBC 48005F78 */ b lbl_80067F34 -.global lbl_80061FC0 -lbl_80061FC0: -/* 05CA20 80061FC0 3C7E0001 */ addis r3, r30, 1 -/* 05CA24 80061FC4 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 05CA28 80061FC8 80032058 */ lwz r0, 0x2058(r3) -/* 05CA2C 80061FCC 38600001 */ li r3, 1 -/* 05CA30 80061FD0 7C632830 */ slw r3, r3, r5 -/* 05CA34 80061FD4 7C001839 */ and. r0, r0, r3 -/* 05CA38 80061FD8 41825F5C */ beq lbl_80067F34 -/* 05CA3C 80061FDC 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 05CA40 80061FE0 7C7A0214 */ add r3, r26, r0 -/* 05CA44 80061FE4 80030818 */ lwz r0, 0x818(r3) -/* 05CA48 80061FE8 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 05CA4C 80061FEC 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 05CA50 80061FF0 40820050 */ bne lbl_80062040 -/* 05CA54 80061FF4 281F0000 */ cmplwi r31, 0 -/* 05CA58 80061FF8 4182003C */ beq lbl_80062034 -/* 05CA5C 80061FFC 54861838 */ slwi r6, r4, 3 -/* 05CA60 80062000 80610084 */ lwz r3, 0x84(r1) -/* 05CA64 80062004 38C60040 */ addi r6, r6, 0x40 -/* 05CA68 80062008 5400A814 */ slwi r0, r0, 0x15 -/* 05CA6C 8006200C 7CDE3214 */ add r6, r30, r6 -/* 05CA70 80062010 38E30001 */ addi r7, r3, 1 -/* 05CA74 80062014 64009003 */ oris r0, r0, 0x9003 -/* 05CA78 80062018 90E10084 */ stw r7, 0x84(r1) -/* 05CA7C 8006201C 7CDE3050 */ subf r6, r30, r6 -/* 05CA80 80062020 7CC60214 */ add r6, r6, r0 -/* 05CA84 80062024 38060004 */ addi r0, r6, 4 -/* 05CA88 80062028 5463103A */ slwi r3, r3, 2 -/* 05CA8C 8006202C 7C1F192E */ stwx r0, r31, r3 -/* 05CA90 80062030 48000010 */ b lbl_80062040 -lbl_80062034: -/* 05CA94 80062034 80610084 */ lwz r3, 0x84(r1) -/* 05CA98 80062038 38030001 */ addi r0, r3, 1 -/* 05CA9C 8006203C 90010084 */ stw r0, 0x84(r1) -lbl_80062040: -/* 05CAA0 80062040 54A0103A */ slwi r0, r5, 2 -/* 05CAA4 80062044 7C7A0214 */ add r3, r26, r0 -/* 05CAA8 80062048 80030818 */ lwz r0, 0x818(r3) -/* 05CAAC 8006204C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 05CAB0 80062050 4182004C */ beq lbl_8006209C -/* 05CAB4 80062054 281F0000 */ cmplwi r31, 0 -/* 05CAB8 80062058 41820034 */ beq lbl_8006208C -/* 05CABC 8006205C 54A51838 */ slwi r5, r5, 3 -/* 05CAC0 80062060 80610084 */ lwz r3, 0x84(r1) -/* 05CAC4 80062064 38050040 */ addi r0, r5, 0x40 -/* 05CAC8 80062068 7C1E0214 */ add r0, r30, r0 -/* 05CACC 8006206C 7CBE0050 */ subf r5, r30, r0 -/* 05CAD0 80062070 38030001 */ addi r0, r3, 1 -/* 05CAD4 80062074 3CA580A3 */ addis r5, r5, 0x80a3 -/* 05CAD8 80062078 90010084 */ stw r0, 0x84(r1) -/* 05CADC 8006207C 38050004 */ addi r0, r5, 4 -/* 05CAE0 80062080 5463103A */ slwi r3, r3, 2 -/* 05CAE4 80062084 7C1F192E */ stwx r0, r31, r3 -/* 05CAE8 80062088 48000054 */ b lbl_800620DC -lbl_8006208C: -/* 05CAEC 8006208C 80610084 */ lwz r3, 0x84(r1) -/* 05CAF0 80062090 38030001 */ addi r0, r3, 1 -/* 05CAF4 80062094 90010084 */ stw r0, 0x84(r1) -/* 05CAF8 80062098 48000044 */ b lbl_800620DC -lbl_8006209C: -/* 05CAFC 8006209C 281F0000 */ cmplwi r31, 0 -/* 05CB00 800620A0 41820030 */ beq lbl_800620D0 -/* 05CB04 800620A4 80A10084 */ lwz r5, 0x84(r1) -/* 05CB08 800620A8 5403A814 */ slwi r3, r0, 0x15 -/* 05CB0C 800620AC 64667C05 */ oris r6, r3, 0x7c05 -/* 05CB10 800620B0 38650001 */ addi r3, r5, 1 -/* 05CB14 800620B4 90610084 */ stw r3, 0x84(r1) -/* 05CB18 800620B8 60C60378 */ ori r6, r6, 0x378 -/* 05CB1C 800620BC 54005828 */ slwi r0, r0, 0xb -/* 05CB20 800620C0 7CC00378 */ or r0, r6, r0 -/* 05CB24 800620C4 54A3103A */ slwi r3, r5, 2 -/* 05CB28 800620C8 7C1F192E */ stwx r0, r31, r3 -/* 05CB2C 800620CC 48000010 */ b lbl_800620DC -lbl_800620D0: -/* 05CB30 800620D0 80610084 */ lwz r3, 0x84(r1) -/* 05CB34 800620D4 38030001 */ addi r0, r3, 1 -/* 05CB38 800620D8 90010084 */ stw r0, 0x84(r1) -lbl_800620DC: -/* 05CB3C 800620DC 281F0000 */ cmplwi r31, 0 -/* 05CB40 800620E0 41820024 */ beq lbl_80062104 -/* 05CB44 800620E4 80610084 */ lwz r3, 0x84(r1) -/* 05CB48 800620E8 3CA07CE5 */ lis r5, 0x7ce5 -/* 05CB4C 800620EC 38A54214 */ addi r5, r5, 0x4214 -/* 05CB50 800620F0 38030001 */ addi r0, r3, 1 -/* 05CB54 800620F4 90010084 */ stw r0, 0x84(r1) -/* 05CB58 800620F8 5460103A */ slwi r0, r3, 2 -/* 05CB5C 800620FC 7CBF012E */ stwx r5, r31, r0 -/* 05CB60 80062100 48000010 */ b lbl_80062110 -lbl_80062104: -/* 05CB64 80062104 80610084 */ lwz r3, 0x84(r1) -/* 05CB68 80062108 38030001 */ addi r0, r3, 1 -/* 05CB6C 8006210C 90010084 */ stw r0, 0x84(r1) -lbl_80062110: -/* 05CB70 80062110 281F0000 */ cmplwi r31, 0 -/* 05CB74 80062114 41820024 */ beq lbl_80062138 -/* 05CB78 80062118 80610084 */ lwz r3, 0x84(r1) -/* 05CB7C 8006211C 5780043E */ clrlwi r0, r28, 0x10 -/* 05CB80 80062120 640538E7 */ oris r5, r0, 0x38e7 -/* 05CB84 80062124 38030001 */ addi r0, r3, 1 -/* 05CB88 80062128 90010084 */ stw r0, 0x84(r1) -/* 05CB8C 8006212C 5460103A */ slwi r0, r3, 2 -/* 05CB90 80062130 7CBF012E */ stwx r5, r31, r0 -/* 05CB94 80062134 48000010 */ b lbl_80062144 -lbl_80062138: -/* 05CB98 80062138 80610084 */ lwz r3, 0x84(r1) -/* 05CB9C 8006213C 38030001 */ addi r0, r3, 1 -/* 05CBA0 80062140 90010084 */ stw r0, 0x84(r1) -lbl_80062144: -/* 05CBA4 80062144 281F0000 */ cmplwi r31, 0 -/* 05CBA8 80062148 41820024 */ beq lbl_8006216C -/* 05CBAC 8006214C 80610084 */ lwz r3, 0x84(r1) -/* 05CBB0 80062150 3CA038C0 */ lis r5, 0x38c0 -/* 05CBB4 80062154 38A50018 */ addi r5, r5, 0x18 -/* 05CBB8 80062158 38030001 */ addi r0, r3, 1 -/* 05CBBC 8006215C 90010084 */ stw r0, 0x84(r1) -/* 05CBC0 80062160 5460103A */ slwi r0, r3, 2 -/* 05CBC4 80062164 7CBF012E */ stwx r5, r31, r0 -/* 05CBC8 80062168 48000010 */ b lbl_80062178 -lbl_8006216C: -/* 05CBCC 8006216C 80610084 */ lwz r3, 0x84(r1) -/* 05CBD0 80062170 38030001 */ addi r0, r3, 1 -/* 05CBD4 80062174 90010084 */ stw r0, 0x84(r1) -lbl_80062178: -/* 05CBD8 80062178 281F0000 */ cmplwi r31, 0 -/* 05CBDC 8006217C 41820034 */ beq lbl_800621B0 -/* 05CBE0 80062180 54841838 */ slwi r4, r4, 3 -/* 05CBE4 80062184 80610084 */ lwz r3, 0x84(r1) -/* 05CBE8 80062188 38040040 */ addi r0, r4, 0x40 -/* 05CBEC 8006218C 7C1E0214 */ add r0, r30, r0 -/* 05CBF0 80062190 7C9E0050 */ subf r4, r30, r0 -/* 05CBF4 80062194 38030001 */ addi r0, r3, 1 -/* 05CBF8 80062198 3C8480A3 */ addis r4, r4, 0x80a3 -/* 05CBFC 8006219C 90010084 */ stw r0, 0x84(r1) -/* 05CC00 800621A0 38040004 */ addi r0, r4, 4 -/* 05CC04 800621A4 5463103A */ slwi r3, r3, 2 -/* 05CC08 800621A8 7C1F192E */ stwx r0, r31, r3 -/* 05CC0C 800621AC 48000010 */ b lbl_800621BC -lbl_800621B0: -/* 05CC10 800621B0 80610084 */ lwz r3, 0x84(r1) -/* 05CC14 800621B4 38030001 */ addi r0, r3, 1 -/* 05CC18 800621B8 90010084 */ stw r0, 0x84(r1) -lbl_800621BC: -/* 05CC1C 800621BC 281F0000 */ cmplwi r31, 0 -/* 05CC20 800621C0 41820024 */ beq lbl_800621E4 -/* 05CC24 800621C4 80610084 */ lwz r3, 0x84(r1) -/* 05CC28 800621C8 3C807CA5 */ lis r4, 0x7ca5 -/* 05CC2C 800621CC 38843430 */ addi r4, r4, 0x3430 -/* 05CC30 800621D0 38030001 */ addi r0, r3, 1 -/* 05CC34 800621D4 90010084 */ stw r0, 0x84(r1) -/* 05CC38 800621D8 5460103A */ slwi r0, r3, 2 -/* 05CC3C 800621DC 7C9F012E */ stwx r4, r31, r0 -/* 05CC40 800621E0 48000010 */ b lbl_800621F0 -lbl_800621E4: -/* 05CC44 800621E4 80610084 */ lwz r3, 0x84(r1) -/* 05CC48 800621E8 38030001 */ addi r0, r3, 1 -/* 05CC4C 800621EC 90010084 */ stw r0, 0x84(r1) -lbl_800621F0: -/* 05CC50 800621F0 281F0000 */ cmplwi r31, 0 -/* 05CC54 800621F4 41820020 */ beq lbl_80062214 -/* 05CC58 800621F8 80610084 */ lwz r3, 0x84(r1) -/* 05CC5C 800621FC 3C8098A7 */ lis r4, 0x98a7 -/* 05CC60 80062200 38030001 */ addi r0, r3, 1 -/* 05CC64 80062204 90010084 */ stw r0, 0x84(r1) -/* 05CC68 80062208 5460103A */ slwi r0, r3, 2 -/* 05CC6C 8006220C 7C9F012E */ stwx r4, r31, r0 -/* 05CC70 80062210 48000010 */ b lbl_80062220 -lbl_80062214: -/* 05CC74 80062214 80610084 */ lwz r3, 0x84(r1) -/* 05CC78 80062218 38030001 */ addi r0, r3, 1 -/* 05CC7C 8006221C 90010084 */ stw r0, 0x84(r1) -lbl_80062220: -/* 05CC80 80062220 281F0000 */ cmplwi r31, 0 -/* 05CC84 80062224 41820024 */ beq lbl_80062248 -/* 05CC88 80062228 80610084 */ lwz r3, 0x84(r1) -/* 05CC8C 8006222C 3C8038C7 */ lis r4, 0x38c7 -/* 05CC90 80062230 3884FFF8 */ addi r4, r4, -8 -/* 05CC94 80062234 38030001 */ addi r0, r3, 1 -/* 05CC98 80062238 90010084 */ stw r0, 0x84(r1) -/* 05CC9C 8006223C 5460103A */ slwi r0, r3, 2 -/* 05CCA0 80062240 7C9F012E */ stwx r4, r31, r0 -/* 05CCA4 80062244 48000010 */ b lbl_80062254 -lbl_80062248: -/* 05CCA8 80062248 80610084 */ lwz r3, 0x84(r1) -/* 05CCAC 8006224C 38030001 */ addi r0, r3, 1 -/* 05CCB0 80062250 90010084 */ stw r0, 0x84(r1) -lbl_80062254: -/* 05CCB4 80062254 281F0000 */ cmplwi r31, 0 -/* 05CCB8 80062258 41820024 */ beq lbl_8006227C -/* 05CCBC 8006225C 80610084 */ lwz r3, 0x84(r1) -/* 05CCC0 80062260 3C8054E5 */ lis r4, 0x54e5 -/* 05CCC4 80062264 388407BF */ addi r4, r4, 0x7bf -/* 05CCC8 80062268 38030001 */ addi r0, r3, 1 -/* 05CCCC 8006226C 90010084 */ stw r0, 0x84(r1) -/* 05CCD0 80062270 5460103A */ slwi r0, r3, 2 -/* 05CCD4 80062274 7C9F012E */ stwx r4, r31, r0 -/* 05CCD8 80062278 48000010 */ b lbl_80062288 -lbl_8006227C: -/* 05CCDC 8006227C 80610084 */ lwz r3, 0x84(r1) -/* 05CCE0 80062280 38030001 */ addi r0, r3, 1 -/* 05CCE4 80062284 90010084 */ stw r0, 0x84(r1) -lbl_80062288: -/* 05CCE8 80062288 281F0000 */ cmplwi r31, 0 -/* 05CCEC 8006228C 41820024 */ beq lbl_800622B0 -/* 05CCF0 80062290 80610084 */ lwz r3, 0x84(r1) -/* 05CCF4 80062294 3C8038E7 */ lis r4, 0x38e7 -/* 05CCF8 80062298 38840001 */ addi r4, r4, 1 -/* 05CCFC 8006229C 38030001 */ addi r0, r3, 1 -/* 05CD00 800622A0 90010084 */ stw r0, 0x84(r1) -/* 05CD04 800622A4 5460103A */ slwi r0, r3, 2 -/* 05CD08 800622A8 7C9F012E */ stwx r4, r31, r0 -/* 05CD0C 800622AC 48000010 */ b lbl_800622BC -lbl_800622B0: -/* 05CD10 800622B0 80610084 */ lwz r3, 0x84(r1) -/* 05CD14 800622B4 38030001 */ addi r0, r3, 1 -/* 05CD18 800622B8 90010084 */ stw r0, 0x84(r1) -lbl_800622BC: -/* 05CD1C 800622BC 281F0000 */ cmplwi r31, 0 -/* 05CD20 800622C0 41820024 */ beq lbl_800622E4 -/* 05CD24 800622C4 80610084 */ lwz r3, 0x84(r1) -/* 05CD28 800622C8 3C804083 */ lis r4, 0x4083 -/* 05CD2C 800622CC 3884FFE8 */ addi r4, r4, -24 -/* 05CD30 800622D0 38030001 */ addi r0, r3, 1 -/* 05CD34 800622D4 90010084 */ stw r0, 0x84(r1) -/* 05CD38 800622D8 5460103A */ slwi r0, r3, 2 -/* 05CD3C 800622DC 7C9F012E */ stwx r4, r31, r0 -/* 05CD40 800622E0 48005C54 */ b lbl_80067F34 -lbl_800622E4: -/* 05CD44 800622E4 80610084 */ lwz r3, 0x84(r1) -/* 05CD48 800622E8 38030001 */ addi r0, r3, 1 -/* 05CD4C 800622EC 90010084 */ stw r0, 0x84(r1) -/* 05CD50 800622F0 48005C44 */ b lbl_80067F34 -.global lbl_800622F4 -lbl_800622F4: -/* 05CD54 800622F4 5783001E */ rlwinm r3, r28, 0, 0, 0xf -/* 05CD58 800622F8 3C035041 */ addis r0, r3, 0x5041 -/* 05CD5C 800622FC 28000000 */ cmplwi r0, 0 -/* 05CD60 80062300 4082002C */ bne lbl_8006232C -/* 05CD64 80062304 3C7E0001 */ addis r3, r30, 1 -/* 05CD68 80062308 8003205C */ lwz r0, 0x205c(r3) -/* 05CD6C 8006230C 5404077B */ rlwinm. r4, r0, 0, 0x1d, 0x1d -/* 05CD70 80062310 4082001C */ bne lbl_8006232C -/* 05CD74 80062314 60000004 */ ori r0, r0, 4 -/* 05CD78 80062318 9003205C */ stw r0, 0x205c(r3) -/* 05CD7C 8006231C 5784801E */ slwi r4, r28, 0x10 -/* 05CD80 80062320 8003205C */ lwz r0, 0x205c(r3) -/* 05CD84 80062324 7C002378 */ or r0, r0, r4 -/* 05CD88 80062328 9003205C */ stw r0, 0x205c(r3) -lbl_8006232C: -/* 05CD8C 8006232C 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 05CD90 80062330 80030020 */ lwz r0, 0x20(r3) -/* 05CD94 80062334 2C000008 */ cmpwi r0, 8 -/* 05CD98 80062338 408200FC */ bne lbl_80062434 -/* 05CD9C 8006233C 3C1C5361 */ addis r0, r28, 0x5361 -/* 05CDA0 80062340 28000004 */ cmplwi r0, 4 -/* 05CDA4 80062344 408201EC */ bne lbl_80062530 -/* 05CDA8 80062348 3C175363 */ addis r0, r23, 0x5363 -/* 05CDAC 8006234C 28000000 */ cmplwi r0, 0 -/* 05CDB0 80062350 408201E0 */ bne lbl_80062530 -/* 05CDB4 80062354 3C185370 */ addis r0, r24, 0x5370 -/* 05CDB8 80062358 28000008 */ cmplwi r0, 8 -/* 05CDBC 8006235C 408201D4 */ bne lbl_80062530 -/* 05CDC0 80062360 281F0000 */ cmplwi r31, 0 -/* 05CDC4 80062364 41820028 */ beq lbl_8006238C -/* 05CDC8 80062368 80610084 */ lwz r3, 0x84(r1) -/* 05CDCC 8006236C 381E0038 */ addi r0, r30, 0x38 -/* 05CDD0 80062370 7C9E0050 */ subf r4, r30, r0 -/* 05CDD4 80062374 38030001 */ addi r0, r3, 1 -/* 05CDD8 80062378 90010084 */ stw r0, 0x84(r1) -/* 05CDDC 8006237C 3C0480A3 */ addis r0, r4, 0x80a3 -/* 05CDE0 80062380 5463103A */ slwi r3, r3, 2 -/* 05CDE4 80062384 7C1F192E */ stwx r0, r31, r3 -/* 05CDE8 80062388 48000010 */ b lbl_80062398 -lbl_8006238C: -/* 05CDEC 8006238C 80610084 */ lwz r3, 0x84(r1) -/* 05CDF0 80062390 38030001 */ addi r0, r3, 1 -/* 05CDF4 80062394 90010084 */ stw r0, 0x84(r1) -lbl_80062398: -/* 05CDF8 80062398 801A0894 */ lwz r0, 0x894(r26) -/* 05CDFC 8006239C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 05CE00 800623A0 41820048 */ beq lbl_800623E8 -/* 05CE04 800623A4 281F0000 */ cmplwi r31, 0 -/* 05CE08 800623A8 41820030 */ beq lbl_800623D8 -/* 05CE0C 800623AC 80610084 */ lwz r3, 0x84(r1) -/* 05CE10 800623B0 381E0138 */ addi r0, r30, 0x138 -/* 05CE14 800623B4 7C9E0050 */ subf r4, r30, r0 -/* 05CE18 800623B8 38840004 */ addi r4, r4, 4 -/* 05CE1C 800623BC 38030001 */ addi r0, r3, 1 -/* 05CE20 800623C0 5484043E */ clrlwi r4, r4, 0x10 -/* 05CE24 800623C4 90010084 */ stw r0, 0x84(r1) -/* 05CE28 800623C8 3C0490A3 */ addis r0, r4, 0x90a3 -/* 05CE2C 800623CC 5463103A */ slwi r3, r3, 2 -/* 05CE30 800623D0 7C1F192E */ stwx r0, r31, r3 -/* 05CE34 800623D4 4800004C */ b lbl_80062420 -lbl_800623D8: -/* 05CE38 800623D8 80610084 */ lwz r3, 0x84(r1) -/* 05CE3C 800623DC 38030001 */ addi r0, r3, 1 -/* 05CE40 800623E0 90010084 */ stw r0, 0x84(r1) -/* 05CE44 800623E4 4800003C */ b lbl_80062420 -lbl_800623E8: -/* 05CE48 800623E8 281F0000 */ cmplwi r31, 0 -/* 05CE4C 800623EC 41820028 */ beq lbl_80062414 -/* 05CE50 800623F0 80610084 */ lwz r3, 0x84(r1) -/* 05CE54 800623F4 5400801E */ slwi r0, r0, 0x10 -/* 05CE58 800623F8 64047CA0 */ oris r4, r0, 0x7ca0 -/* 05CE5C 800623FC 38030001 */ addi r0, r3, 1 -/* 05CE60 80062400 90010084 */ stw r0, 0x84(r1) -/* 05CE64 80062404 60842B78 */ ori r4, r4, 0x2b78 -/* 05CE68 80062408 5460103A */ slwi r0, r3, 2 -/* 05CE6C 8006240C 7C9F012E */ stwx r4, r31, r0 -/* 05CE70 80062410 48000010 */ b lbl_80062420 -lbl_80062414: -/* 05CE74 80062414 80610084 */ lwz r3, 0x84(r1) -/* 05CE78 80062418 38030001 */ addi r0, r3, 1 -/* 05CE7C 8006241C 90010084 */ stw r0, 0x84(r1) -lbl_80062420: -/* 05CE80 80062420 3C7E0001 */ addis r3, r30, 1 -/* 05CE84 80062424 8003205C */ lwz r0, 0x205c(r3) -/* 05CE88 80062428 60000002 */ ori r0, r0, 2 -/* 05CE8C 8006242C 9003205C */ stw r0, 0x205c(r3) -/* 05CE90 80062430 48000100 */ b lbl_80062530 -lbl_80062434: -/* 05CE94 80062434 2C000003 */ cmpwi r0, 3 -/* 05CE98 80062438 408200F8 */ bne lbl_80062530 -/* 05CE9C 8006243C 3C1C5041 */ addis r0, r28, 0x5041 -/* 05CEA0 80062440 2800003C */ cmplwi r0, 0x3c -/* 05CEA4 80062444 408200EC */ bne lbl_80062530 -/* 05CEA8 80062448 3C17FF80 */ addis r0, r23, 0xff80 -/* 05CEAC 8006244C 2800A025 */ cmplwi r0, 0xa025 -/* 05CEB0 80062450 408200E0 */ bne lbl_80062530 -/* 05CEB4 80062454 3C185050 */ addis r0, r24, 0x5050 -/* 05CEB8 80062458 28000018 */ cmplwi r0, 0x18 -/* 05CEBC 8006245C 408200D4 */ bne lbl_80062530 -/* 05CEC0 80062460 281F0000 */ cmplwi r31, 0 -/* 05CEC4 80062464 41820028 */ beq lbl_8006248C -/* 05CEC8 80062468 80610084 */ lwz r3, 0x84(r1) -/* 05CECC 8006246C 381E0038 */ addi r0, r30, 0x38 -/* 05CED0 80062470 7C9E0050 */ subf r4, r30, r0 -/* 05CED4 80062474 38030001 */ addi r0, r3, 1 -/* 05CED8 80062478 90010084 */ stw r0, 0x84(r1) -/* 05CEDC 8006247C 3C0480A3 */ addis r0, r4, 0x80a3 -/* 05CEE0 80062480 5463103A */ slwi r3, r3, 2 -/* 05CEE4 80062484 7C1F192E */ stwx r0, r31, r3 -/* 05CEE8 80062488 48000010 */ b lbl_80062498 -lbl_8006248C: -/* 05CEEC 8006248C 80610084 */ lwz r3, 0x84(r1) -/* 05CEF0 80062490 38030001 */ addi r0, r3, 1 -/* 05CEF4 80062494 90010084 */ stw r0, 0x84(r1) -lbl_80062498: -/* 05CEF8 80062498 801A0894 */ lwz r0, 0x894(r26) -/* 05CEFC 8006249C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 05CF00 800624A0 41820048 */ beq lbl_800624E8 -/* 05CF04 800624A4 281F0000 */ cmplwi r31, 0 -/* 05CF08 800624A8 41820030 */ beq lbl_800624D8 -/* 05CF0C 800624AC 80610084 */ lwz r3, 0x84(r1) -/* 05CF10 800624B0 381E0138 */ addi r0, r30, 0x138 -/* 05CF14 800624B4 7C9E0050 */ subf r4, r30, r0 -/* 05CF18 800624B8 38840004 */ addi r4, r4, 4 -/* 05CF1C 800624BC 38030001 */ addi r0, r3, 1 -/* 05CF20 800624C0 5484043E */ clrlwi r4, r4, 0x10 -/* 05CF24 800624C4 90010084 */ stw r0, 0x84(r1) -/* 05CF28 800624C8 3C0490A3 */ addis r0, r4, 0x90a3 -/* 05CF2C 800624CC 5463103A */ slwi r3, r3, 2 -/* 05CF30 800624D0 7C1F192E */ stwx r0, r31, r3 -/* 05CF34 800624D4 4800004C */ b lbl_80062520 -lbl_800624D8: -/* 05CF38 800624D8 80610084 */ lwz r3, 0x84(r1) -/* 05CF3C 800624DC 38030001 */ addi r0, r3, 1 -/* 05CF40 800624E0 90010084 */ stw r0, 0x84(r1) -/* 05CF44 800624E4 4800003C */ b lbl_80062520 -lbl_800624E8: -/* 05CF48 800624E8 281F0000 */ cmplwi r31, 0 -/* 05CF4C 800624EC 41820028 */ beq lbl_80062514 -/* 05CF50 800624F0 80610084 */ lwz r3, 0x84(r1) -/* 05CF54 800624F4 5400801E */ slwi r0, r0, 0x10 -/* 05CF58 800624F8 64047CA0 */ oris r4, r0, 0x7ca0 -/* 05CF5C 800624FC 38030001 */ addi r0, r3, 1 -/* 05CF60 80062500 90010084 */ stw r0, 0x84(r1) -/* 05CF64 80062504 60842B78 */ ori r4, r4, 0x2b78 -/* 05CF68 80062508 5460103A */ slwi r0, r3, 2 -/* 05CF6C 8006250C 7C9F012E */ stwx r4, r31, r0 -/* 05CF70 80062510 48000010 */ b lbl_80062520 -lbl_80062514: -/* 05CF74 80062514 80610084 */ lwz r3, 0x84(r1) -/* 05CF78 80062518 38030001 */ addi r0, r3, 1 -/* 05CF7C 8006251C 90010084 */ stw r0, 0x84(r1) -lbl_80062520: -/* 05CF80 80062520 3C7E0001 */ addis r3, r30, 1 -/* 05CF84 80062524 8003205C */ lwz r0, 0x205c(r3) -/* 05CF88 80062528 60000002 */ ori r0, r0, 2 -/* 05CF8C 8006252C 9003205C */ stw r0, 0x205c(r3) -lbl_80062530: -/* 05CF90 80062530 3C1C5341 */ addis r0, r28, 0x5341 -/* 05CF94 80062534 2800011C */ cmplwi r0, 0x11c -/* 05CF98 80062538 40820198 */ bne lbl_800626D0 -/* 05CF9C 8006253C 2C110000 */ cmpwi r17, 0 -/* 05CFA0 80062540 4182006C */ beq lbl_800625AC -/* 05CFA4 80062544 281F0000 */ cmplwi r31, 0 -/* 05CFA8 80062548 41820020 */ beq lbl_80062568 -/* 05CFAC 8006254C 80610084 */ lwz r3, 0x84(r1) -/* 05CFB0 80062550 3C8038C0 */ lis r4, 0x38c0 -/* 05CFB4 80062554 38030001 */ addi r0, r3, 1 -/* 05CFB8 80062558 90010084 */ stw r0, 0x84(r1) -/* 05CFBC 8006255C 5460103A */ slwi r0, r3, 2 -/* 05CFC0 80062560 7C9F012E */ stwx r4, r31, r0 -/* 05CFC4 80062564 48000010 */ b lbl_80062574 -lbl_80062568: -/* 05CFC8 80062568 80610084 */ lwz r3, 0x84(r1) -/* 05CFCC 8006256C 38030001 */ addi r0, r3, 1 -/* 05CFD0 80062570 90010084 */ stw r0, 0x84(r1) -lbl_80062574: -/* 05CFD4 80062574 281F0000 */ cmplwi r31, 0 -/* 05CFD8 80062578 41820028 */ beq lbl_800625A0 -/* 05CFDC 8006257C 80610084 */ lwz r3, 0x84(r1) -/* 05CFE0 80062580 381E002C */ addi r0, r30, 0x2c -/* 05CFE4 80062584 7C9E0050 */ subf r4, r30, r0 -/* 05CFE8 80062588 38030001 */ addi r0, r3, 1 -/* 05CFEC 8006258C 90010084 */ stw r0, 0x84(r1) -/* 05CFF0 80062590 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05CFF4 80062594 5463103A */ slwi r3, r3, 2 -/* 05CFF8 80062598 7C1F192E */ stwx r0, r31, r3 -/* 05CFFC 8006259C 48000010 */ b lbl_800625AC -lbl_800625A0: -/* 05D000 800625A0 80610084 */ lwz r3, 0x84(r1) -/* 05D004 800625A4 38030001 */ addi r0, r3, 1 -/* 05D008 800625A8 90010084 */ stw r0, 0x84(r1) -lbl_800625AC: -/* 05D00C 800625AC 281F0000 */ cmplwi r31, 0 -/* 05D010 800625B0 41820024 */ beq lbl_800625D4 -/* 05D014 800625B4 80610084 */ lwz r3, 0x84(r1) -/* 05D018 800625B8 57A0843E */ srwi r0, r29, 0x10 -/* 05D01C 800625BC 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05D020 800625C0 38030001 */ addi r0, r3, 1 -/* 05D024 800625C4 90010084 */ stw r0, 0x84(r1) -/* 05D028 800625C8 5460103A */ slwi r0, r3, 2 -/* 05D02C 800625CC 7C9F012E */ stwx r4, r31, r0 -/* 05D030 800625D0 48000010 */ b lbl_800625E0 -lbl_800625D4: -/* 05D034 800625D4 80610084 */ lwz r3, 0x84(r1) -/* 05D038 800625D8 38030001 */ addi r0, r3, 1 -/* 05D03C 800625DC 90010084 */ stw r0, 0x84(r1) -lbl_800625E0: -/* 05D040 800625E0 281F0000 */ cmplwi r31, 0 -/* 05D044 800625E4 41820024 */ beq lbl_80062608 -/* 05D048 800625E8 80610084 */ lwz r3, 0x84(r1) -/* 05D04C 800625EC 57A0043E */ clrlwi r0, r29, 0x10 -/* 05D050 800625F0 640460A5 */ oris r4, r0, 0x60a5 -/* 05D054 800625F4 38030001 */ addi r0, r3, 1 -/* 05D058 800625F8 90010084 */ stw r0, 0x84(r1) -/* 05D05C 800625FC 5460103A */ slwi r0, r3, 2 -/* 05D060 80062600 7C9F012E */ stwx r4, r31, r0 -/* 05D064 80062604 48000010 */ b lbl_80062614 -lbl_80062608: -/* 05D068 80062608 80610084 */ lwz r3, 0x84(r1) -/* 05D06C 8006260C 38030001 */ addi r0, r3, 1 -/* 05D070 80062610 90010084 */ stw r0, 0x84(r1) -lbl_80062614: -/* 05D074 80062614 281F0000 */ cmplwi r31, 0 -/* 05D078 80062618 41820034 */ beq lbl_8006264C -/* 05D07C 8006261C 80610084 */ lwz r3, 0x84(r1) -/* 05D080 80062620 801E0B40 */ lwz r0, 0xb40(r30) -/* 05D084 80062624 5465103A */ slwi r5, r3, 2 -/* 05D088 80062628 7C9F2A14 */ add r4, r31, r5 -/* 05D08C 8006262C 7C040050 */ subf r0, r4, r0 -/* 05D090 80062630 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05D094 80062634 38630001 */ addi r3, r3, 1 -/* 05D098 80062638 64004800 */ oris r0, r0, 0x4800 -/* 05D09C 8006263C 90610084 */ stw r3, 0x84(r1) -/* 05D0A0 80062640 60000001 */ ori r0, r0, 1 -/* 05D0A4 80062644 7C1F292E */ stwx r0, r31, r5 -/* 05D0A8 80062648 48000010 */ b lbl_80062658 -lbl_8006264C: -/* 05D0AC 8006264C 80610084 */ lwz r3, 0x84(r1) -/* 05D0B0 80062650 38030001 */ addi r0, r3, 1 -/* 05D0B4 80062654 90010084 */ stw r0, 0x84(r1) -lbl_80062658: -/* 05D0B8 80062658 2C110000 */ cmpwi r17, 0 -/* 05D0BC 8006265C 418258D8 */ beq lbl_80067F34 -/* 05D0C0 80062660 281F0000 */ cmplwi r31, 0 -/* 05D0C4 80062664 41820024 */ beq lbl_80062688 -/* 05D0C8 80062668 80610084 */ lwz r3, 0x84(r1) -/* 05D0CC 8006266C 3C8038C1 */ lis r4, 0x38c1 -/* 05D0D0 80062670 3884FFFF */ addi r4, r4, -1 -/* 05D0D4 80062674 38030001 */ addi r0, r3, 1 -/* 05D0D8 80062678 90010084 */ stw r0, 0x84(r1) -/* 05D0DC 8006267C 5460103A */ slwi r0, r3, 2 -/* 05D0E0 80062680 7C9F012E */ stwx r4, r31, r0 -/* 05D0E4 80062684 48000010 */ b lbl_80062694 -lbl_80062688: -/* 05D0E8 80062688 80610084 */ lwz r3, 0x84(r1) -/* 05D0EC 8006268C 38030001 */ addi r0, r3, 1 -/* 05D0F0 80062690 90010084 */ stw r0, 0x84(r1) -lbl_80062694: -/* 05D0F4 80062694 281F0000 */ cmplwi r31, 0 -/* 05D0F8 80062698 41820028 */ beq lbl_800626C0 -/* 05D0FC 8006269C 80610084 */ lwz r3, 0x84(r1) -/* 05D100 800626A0 381E002C */ addi r0, r30, 0x2c -/* 05D104 800626A4 7C9E0050 */ subf r4, r30, r0 -/* 05D108 800626A8 38030001 */ addi r0, r3, 1 -/* 05D10C 800626AC 90010084 */ stw r0, 0x84(r1) -/* 05D110 800626B0 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05D114 800626B4 5463103A */ slwi r3, r3, 2 -/* 05D118 800626B8 7C1F192E */ stwx r0, r31, r3 -/* 05D11C 800626BC 48005878 */ b lbl_80067F34 -lbl_800626C0: -/* 05D120 800626C0 80610084 */ lwz r3, 0x84(r1) -/* 05D124 800626C4 38030001 */ addi r0, r3, 1 -/* 05D128 800626C8 90010084 */ stw r0, 0x84(r1) -/* 05D12C 800626CC 48005868 */ b lbl_80067F34 -lbl_800626D0: -/* 05D130 800626D0 3C7E0001 */ addis r3, r30, 1 -/* 05D134 800626D4 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 05D138 800626D8 80032058 */ lwz r0, 0x2058(r3) -/* 05D13C 800626DC 38800001 */ li r4, 1 -/* 05D140 800626E0 7C843830 */ slw r4, r4, r7 -/* 05D144 800626E4 7C002039 */ and. r0, r0, r4 -/* 05D148 800626E8 41820430 */ beq lbl_80062B18 -/* 05D14C 800626EC 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 05D150 800626F0 7C9A0214 */ add r4, r26, r0 -/* 05D154 800626F4 81240818 */ lwz r9, 0x818(r4) -/* 05D158 800626F8 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 05D15C 800626FC 552005EF */ rlwinm. r0, r9, 0, 0x17, 0x17 -/* 05D160 80062700 41820148 */ beq lbl_80062848 -/* 05D164 80062704 80032064 */ lwz r0, 0x2064(r3) -/* 05D168 80062708 39200006 */ li r9, 6 -/* 05D16C 8006270C 28000000 */ cmplwi r0, 0 -/* 05D170 80062710 4082000C */ bne lbl_8006271C -/* 05D174 80062714 38000000 */ li r0, 0 -/* 05D178 80062718 48000094 */ b lbl_800627AC -lbl_8006271C: -/* 05D17C 8006271C 80032068 */ lwz r0, 0x2068(r3) -/* 05D180 80062720 28000000 */ cmplwi r0, 0 -/* 05D184 80062724 4082000C */ bne lbl_80062730 -/* 05D188 80062728 38000000 */ li r0, 0 -/* 05D18C 8006272C 48000080 */ b lbl_800627AC -lbl_80062730: -/* 05D190 80062730 8003206C */ lwz r0, 0x206c(r3) -/* 05D194 80062734 7C060000 */ cmpw r6, r0 -/* 05D198 80062738 4182000C */ beq lbl_80062744 -/* 05D19C 8006273C 38000000 */ li r0, 0 -/* 05D1A0 80062740 4800006C */ b lbl_800627AC -lbl_80062744: -/* 05D1A4 80062744 80BE0034 */ lwz r5, 0x34(r30) -/* 05D1A8 80062748 38800000 */ li r4, 0 -/* 05D1AC 8006274C 80050008 */ lwz r0, 8(r5) -/* 05D1B0 80062750 2C000000 */ cmpwi r0, 0 -/* 05D1B4 80062754 7C0903A6 */ mtctr r0 -/* 05D1B8 80062758 40810028 */ ble lbl_80062780 -lbl_8006275C: -/* 05D1BC 8006275C 8065000C */ lwz r3, 0xc(r5) -/* 05D1C0 80062760 38040004 */ addi r0, r4, 4 -/* 05D1C4 80062764 7C03002E */ lwzx r0, r3, r0 -/* 05D1C8 80062768 7C1D0000 */ cmpw r29, r0 -/* 05D1CC 8006276C 4082000C */ bne lbl_80062778 -/* 05D1D0 80062770 38000000 */ li r0, 0 -/* 05D1D4 80062774 48000010 */ b lbl_80062784 -lbl_80062778: -/* 05D1D8 80062778 38840008 */ addi r4, r4, 8 -/* 05D1DC 8006277C 4200FFE0 */ bdnz lbl_8006275C -lbl_80062780: -/* 05D1E0 80062780 38000001 */ li r0, 1 -lbl_80062784: -/* 05D1E4 80062784 2C000000 */ cmpwi r0, 0 -/* 05D1E8 80062788 40820014 */ bne lbl_8006279C -/* 05D1EC 8006278C 38000000 */ li r0, 0 -/* 05D1F0 80062790 3C7E0001 */ addis r3, r30, 1 -/* 05D1F4 80062794 90032068 */ stw r0, 0x2068(r3) -/* 05D1F8 80062798 48000014 */ b lbl_800627AC -lbl_8006279C: -/* 05D1FC 8006279C 3C7E0001 */ addis r3, r30, 1 -/* 05D200 800627A0 38000000 */ li r0, 0 -/* 05D204 800627A4 90032068 */ stw r0, 0x2068(r3) -/* 05D208 800627A8 38000001 */ li r0, 1 -lbl_800627AC: -/* 05D20C 800627AC 2C000000 */ cmpwi r0, 0 -/* 05D210 800627B0 41820050 */ beq lbl_80062800 -/* 05D214 800627B4 281F0000 */ cmplwi r31, 0 -/* 05D218 800627B8 41820038 */ beq lbl_800627F0 -/* 05D21C 800627BC 3C9E0001 */ addis r4, r30, 1 -/* 05D220 800627C0 80610084 */ lwz r3, 0x84(r1) -/* 05D224 800627C4 80842070 */ lwz r4, 0x2070(r4) -/* 05D228 800627C8 38A30001 */ addi r5, r3, 1 -/* 05D22C 800627CC 5480A814 */ slwi r0, r4, 0x15 -/* 05D230 800627D0 90A10084 */ stw r5, 0x84(r1) -/* 05D234 800627D4 64007C06 */ oris r0, r0, 0x7c06 -/* 05D238 800627D8 54845828 */ slwi r4, r4, 0xb -/* 05D23C 800627DC 60000378 */ ori r0, r0, 0x378 -/* 05D240 800627E0 7C800378 */ or r0, r4, r0 -/* 05D244 800627E4 5463103A */ slwi r3, r3, 2 -/* 05D248 800627E8 7C1F192E */ stwx r0, r31, r3 -/* 05D24C 800627EC 4800005C */ b lbl_80062848 -lbl_800627F0: -/* 05D250 800627F0 80610084 */ lwz r3, 0x84(r1) -/* 05D254 800627F4 38030001 */ addi r0, r3, 1 -/* 05D258 800627F8 90010084 */ stw r0, 0x84(r1) -/* 05D25C 800627FC 4800004C */ b lbl_80062848 -lbl_80062800: -/* 05D260 80062800 281F0000 */ cmplwi r31, 0 -/* 05D264 80062804 41820038 */ beq lbl_8006283C -/* 05D268 80062808 54C41838 */ slwi r4, r6, 3 -/* 05D26C 8006280C 80610084 */ lwz r3, 0x84(r1) -/* 05D270 80062810 38040040 */ addi r0, r4, 0x40 -/* 05D274 80062814 7C1E0214 */ add r0, r30, r0 -/* 05D278 80062818 7C9E0050 */ subf r4, r30, r0 -/* 05D27C 8006281C 38840004 */ addi r4, r4, 4 -/* 05D280 80062820 38030001 */ addi r0, r3, 1 -/* 05D284 80062824 5484043E */ clrlwi r4, r4, 0x10 -/* 05D288 80062828 90010084 */ stw r0, 0x84(r1) -/* 05D28C 8006282C 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05D290 80062830 5463103A */ slwi r3, r3, 2 -/* 05D294 80062834 7C1F192E */ stwx r0, r31, r3 -/* 05D298 80062838 48000010 */ b lbl_80062848 -lbl_8006283C: -/* 05D29C 8006283C 80610084 */ lwz r3, 0x84(r1) -/* 05D2A0 80062840 38030001 */ addi r0, r3, 1 -/* 05D2A4 80062844 90010084 */ stw r0, 0x84(r1) -lbl_80062848: -/* 05D2A8 80062848 54E0103A */ slwi r0, r7, 2 -/* 05D2AC 8006284C 7C7A0214 */ add r3, r26, r0 -/* 05D2B0 80062850 81030818 */ lwz r8, 0x818(r3) -/* 05D2B4 80062854 38C00001 */ li r6, 1 -/* 05D2B8 80062858 550005EF */ rlwinm. r0, r8, 0, 0x17, 0x17 -/* 05D2BC 8006285C 41820150 */ beq lbl_800629AC -/* 05D2C0 80062860 3C7E0001 */ addis r3, r30, 1 -/* 05D2C4 80062864 80032064 */ lwz r0, 0x2064(r3) -/* 05D2C8 80062868 39000007 */ li r8, 7 -/* 05D2CC 8006286C 38C00000 */ li r6, 0 -/* 05D2D0 80062870 28000000 */ cmplwi r0, 0 -/* 05D2D4 80062874 4082000C */ bne lbl_80062880 -/* 05D2D8 80062878 7CC03378 */ mr r0, r6 -/* 05D2DC 8006287C 48000094 */ b lbl_80062910 -lbl_80062880: -/* 05D2E0 80062880 80032068 */ lwz r0, 0x2068(r3) -/* 05D2E4 80062884 28000000 */ cmplwi r0, 0 -/* 05D2E8 80062888 4082000C */ bne lbl_80062894 -/* 05D2EC 8006288C 7CC03378 */ mr r0, r6 -/* 05D2F0 80062890 48000080 */ b lbl_80062910 -lbl_80062894: -/* 05D2F4 80062894 8003206C */ lwz r0, 0x206c(r3) -/* 05D2F8 80062898 7C070000 */ cmpw r7, r0 -/* 05D2FC 8006289C 4182000C */ beq lbl_800628A8 -/* 05D300 800628A0 7CC03378 */ mr r0, r6 -/* 05D304 800628A4 4800006C */ b lbl_80062910 -lbl_800628A8: -/* 05D308 800628A8 80BE0034 */ lwz r5, 0x34(r30) -/* 05D30C 800628AC 7CC43378 */ mr r4, r6 -/* 05D310 800628B0 80050008 */ lwz r0, 8(r5) -/* 05D314 800628B4 2C000000 */ cmpwi r0, 0 -/* 05D318 800628B8 7C0903A6 */ mtctr r0 -/* 05D31C 800628BC 40810028 */ ble lbl_800628E4 -lbl_800628C0: -/* 05D320 800628C0 8065000C */ lwz r3, 0xc(r5) -/* 05D324 800628C4 38040004 */ addi r0, r4, 4 -/* 05D328 800628C8 7C03002E */ lwzx r0, r3, r0 -/* 05D32C 800628CC 7C1D0000 */ cmpw r29, r0 -/* 05D330 800628D0 4082000C */ bne lbl_800628DC -/* 05D334 800628D4 38000000 */ li r0, 0 -/* 05D338 800628D8 48000010 */ b lbl_800628E8 -lbl_800628DC: -/* 05D33C 800628DC 38840008 */ addi r4, r4, 8 -/* 05D340 800628E0 4200FFE0 */ bdnz lbl_800628C0 -lbl_800628E4: -/* 05D344 800628E4 38000001 */ li r0, 1 -lbl_800628E8: -/* 05D348 800628E8 2C000000 */ cmpwi r0, 0 -/* 05D34C 800628EC 40820014 */ bne lbl_80062900 -/* 05D350 800628F0 38000000 */ li r0, 0 -/* 05D354 800628F4 3C7E0001 */ addis r3, r30, 1 -/* 05D358 800628F8 90032068 */ stw r0, 0x2068(r3) -/* 05D35C 800628FC 48000014 */ b lbl_80062910 -lbl_80062900: -/* 05D360 80062900 3C7E0001 */ addis r3, r30, 1 -/* 05D364 80062904 38000000 */ li r0, 0 -/* 05D368 80062908 90032068 */ stw r0, 0x2068(r3) -/* 05D36C 8006290C 38000001 */ li r0, 1 -lbl_80062910: -/* 05D370 80062910 2C000000 */ cmpwi r0, 0 -/* 05D374 80062914 41820050 */ beq lbl_80062964 -/* 05D378 80062918 281F0000 */ cmplwi r31, 0 -/* 05D37C 8006291C 41820038 */ beq lbl_80062954 -/* 05D380 80062920 3C9E0001 */ addis r4, r30, 1 -/* 05D384 80062924 80610084 */ lwz r3, 0x84(r1) -/* 05D388 80062928 80842070 */ lwz r4, 0x2070(r4) -/* 05D38C 8006292C 38A30001 */ addi r5, r3, 1 -/* 05D390 80062930 5480A814 */ slwi r0, r4, 0x15 -/* 05D394 80062934 90A10084 */ stw r5, 0x84(r1) -/* 05D398 80062938 64007C07 */ oris r0, r0, 0x7c07 -/* 05D39C 8006293C 54845828 */ slwi r4, r4, 0xb -/* 05D3A0 80062940 60000378 */ ori r0, r0, 0x378 -/* 05D3A4 80062944 7C800378 */ or r0, r4, r0 -/* 05D3A8 80062948 5463103A */ slwi r3, r3, 2 -/* 05D3AC 8006294C 7C1F192E */ stwx r0, r31, r3 -/* 05D3B0 80062950 4800005C */ b lbl_800629AC -lbl_80062954: -/* 05D3B4 80062954 80610084 */ lwz r3, 0x84(r1) -/* 05D3B8 80062958 38030001 */ addi r0, r3, 1 -/* 05D3BC 8006295C 90010084 */ stw r0, 0x84(r1) -/* 05D3C0 80062960 4800004C */ b lbl_800629AC -lbl_80062964: -/* 05D3C4 80062964 281F0000 */ cmplwi r31, 0 -/* 05D3C8 80062968 41820038 */ beq lbl_800629A0 -/* 05D3CC 8006296C 54E41838 */ slwi r4, r7, 3 -/* 05D3D0 80062970 80610084 */ lwz r3, 0x84(r1) -/* 05D3D4 80062974 38040040 */ addi r0, r4, 0x40 -/* 05D3D8 80062978 7C1E0214 */ add r0, r30, r0 -/* 05D3DC 8006297C 7C9E0050 */ subf r4, r30, r0 -/* 05D3E0 80062980 38840004 */ addi r4, r4, 4 -/* 05D3E4 80062984 38030001 */ addi r0, r3, 1 -/* 05D3E8 80062988 5484043E */ clrlwi r4, r4, 0x10 -/* 05D3EC 8006298C 90010084 */ stw r0, 0x84(r1) -/* 05D3F0 80062990 3C0480E3 */ addis r0, r4, 0x80e3 -/* 05D3F4 80062994 5463103A */ slwi r3, r3, 2 -/* 05D3F8 80062998 7C1F192E */ stwx r0, r31, r3 -/* 05D3FC 8006299C 48000010 */ b lbl_800629AC -lbl_800629A0: -/* 05D400 800629A0 80610084 */ lwz r3, 0x84(r1) -/* 05D404 800629A4 38030001 */ addi r0, r3, 1 -/* 05D408 800629A8 90010084 */ stw r0, 0x84(r1) -lbl_800629AC: -/* 05D40C 800629AC 2C060000 */ cmpwi r6, 0 -/* 05D410 800629B0 418200BC */ beq lbl_80062A6C -/* 05D414 800629B4 281F0000 */ cmplwi r31, 0 -/* 05D418 800629B8 4082000C */ bne lbl_800629C4 -/* 05D41C 800629BC 38800000 */ li r4, 0 -/* 05D420 800629C0 480000A4 */ b lbl_80062A64 -lbl_800629C4: -/* 05D424 800629C4 3C7E0001 */ addis r3, r30, 1 -/* 05D428 800629C8 80032064 */ lwz r0, 0x2064(r3) -/* 05D42C 800629CC 28000000 */ cmplwi r0, 0 -/* 05D430 800629D0 4082000C */ bne lbl_800629DC -/* 05D434 800629D4 38800000 */ li r4, 0 -/* 05D438 800629D8 4800008C */ b lbl_80062A64 -lbl_800629DC: -/* 05D43C 800629DC 80BE0034 */ lwz r5, 0x34(r30) -/* 05D440 800629E0 38800000 */ li r4, 0 -/* 05D444 800629E4 80050008 */ lwz r0, 8(r5) -/* 05D448 800629E8 2C000000 */ cmpwi r0, 0 -/* 05D44C 800629EC 7C0903A6 */ mtctr r0 -/* 05D450 800629F0 40810028 */ ble lbl_80062A18 -lbl_800629F4: -/* 05D454 800629F4 8065000C */ lwz r3, 0xc(r5) -/* 05D458 800629F8 38040004 */ addi r0, r4, 4 -/* 05D45C 800629FC 7C03002E */ lwzx r0, r3, r0 -/* 05D460 80062A00 7C1D0000 */ cmpw r29, r0 -/* 05D464 80062A04 4082000C */ bne lbl_80062A10 -/* 05D468 80062A08 38000000 */ li r0, 0 -/* 05D46C 80062A0C 48000010 */ b lbl_80062A1C -lbl_80062A10: -/* 05D470 80062A10 38840008 */ addi r4, r4, 8 -/* 05D474 80062A14 4200FFE0 */ bdnz lbl_800629F4 -lbl_80062A18: -/* 05D478 80062A18 38000001 */ li r0, 1 -lbl_80062A1C: -/* 05D47C 80062A1C 2C000000 */ cmpwi r0, 0 -/* 05D480 80062A20 4082000C */ bne lbl_80062A2C -/* 05D484 80062A24 38800000 */ li r4, 0 -/* 05D488 80062A28 4800003C */ b lbl_80062A64 -lbl_80062A2C: -/* 05D48C 80062A2C 2C07FFFF */ cmpwi r7, -1 -/* 05D490 80062A30 3C7E0001 */ addis r3, r30, 1 -/* 05D494 80062A34 38800001 */ li r4, 1 -/* 05D498 80062A38 9083207C */ stw r4, 0x207c(r3) -/* 05D49C 80062A3C 40820014 */ bne lbl_80062A50 -/* 05D4A0 80062A40 3800FFFF */ li r0, -1 -/* 05D4A4 80062A44 90032080 */ stw r0, 0x2080(r3) -/* 05D4A8 80062A48 38800000 */ li r4, 0 -/* 05D4AC 80062A4C 48000018 */ b lbl_80062A64 -lbl_80062A50: -/* 05D4B0 80062A50 80032080 */ lwz r0, 0x2080(r3) -/* 05D4B4 80062A54 7C003800 */ cmpw r0, r7 -/* 05D4B8 80062A58 4182000C */ beq lbl_80062A64 -/* 05D4BC 80062A5C 90E32080 */ stw r7, 0x2080(r3) -/* 05D4C0 80062A60 38800000 */ li r4, 0 -lbl_80062A64: -/* 05D4C4 80062A64 2C040000 */ cmpwi r4, 0 -/* 05D4C8 80062A68 40820040 */ bne lbl_80062AA8 -lbl_80062A6C: -/* 05D4CC 80062A6C 281F0000 */ cmplwi r31, 0 -/* 05D4D0 80062A70 41820028 */ beq lbl_80062A98 -/* 05D4D4 80062A74 80610084 */ lwz r3, 0x84(r1) -/* 05D4D8 80062A78 5500801E */ slwi r0, r8, 0x10 -/* 05D4DC 80062A7C 64047CE0 */ oris r4, r0, 0x7ce0 -/* 05D4E0 80062A80 38030001 */ addi r0, r3, 1 -/* 05D4E4 80062A84 90010084 */ stw r0, 0x84(r1) -/* 05D4E8 80062A88 60844214 */ ori r4, r4, 0x4214 -/* 05D4EC 80062A8C 5460103A */ slwi r0, r3, 2 -/* 05D4F0 80062A90 7C9F012E */ stwx r4, r31, r0 -/* 05D4F4 80062A94 48000044 */ b lbl_80062AD8 -lbl_80062A98: -/* 05D4F8 80062A98 80610084 */ lwz r3, 0x84(r1) -/* 05D4FC 80062A9C 38030001 */ addi r0, r3, 1 -/* 05D500 80062AA0 90010084 */ stw r0, 0x84(r1) -/* 05D504 80062AA4 48000034 */ b lbl_80062AD8 -lbl_80062AA8: -/* 05D508 80062AA8 281F0000 */ cmplwi r31, 0 -/* 05D50C 80062AAC 41820020 */ beq lbl_80062ACC -/* 05D510 80062AB0 80610084 */ lwz r3, 0x84(r1) -/* 05D514 80062AB4 3C806000 */ lis r4, 0x6000 -/* 05D518 80062AB8 38030001 */ addi r0, r3, 1 -/* 05D51C 80062ABC 90010084 */ stw r0, 0x84(r1) -/* 05D520 80062AC0 5460103A */ slwi r0, r3, 2 -/* 05D524 80062AC4 7C9F012E */ stwx r4, r31, r0 -/* 05D528 80062AC8 48000010 */ b lbl_80062AD8 -lbl_80062ACC: -/* 05D52C 80062ACC 80610084 */ lwz r3, 0x84(r1) -/* 05D530 80062AD0 38030001 */ addi r0, r3, 1 -/* 05D534 80062AD4 90010084 */ stw r0, 0x84(r1) -lbl_80062AD8: -/* 05D538 80062AD8 281F0000 */ cmplwi r31, 0 -/* 05D53C 80062ADC 4182002C */ beq lbl_80062B08 -/* 05D540 80062AE0 80610084 */ lwz r3, 0x84(r1) -/* 05D544 80062AE4 5520A814 */ slwi r0, r9, 0x15 -/* 05D548 80062AE8 64009007 */ oris r0, r0, 0x9007 -/* 05D54C 80062AEC 38830001 */ addi r4, r3, 1 -/* 05D550 80062AF0 5785043E */ clrlwi r5, r28, 0x10 -/* 05D554 80062AF4 90810084 */ stw r4, 0x84(r1) -/* 05D558 80062AF8 7C002B78 */ or r0, r0, r5 -/* 05D55C 80062AFC 5463103A */ slwi r3, r3, 2 -/* 05D560 80062B00 7C1F192E */ stwx r0, r31, r3 -/* 05D564 80062B04 48005430 */ b lbl_80067F34 -lbl_80062B08: -/* 05D568 80062B08 80610084 */ lwz r3, 0x84(r1) -/* 05D56C 80062B0C 38030001 */ addi r0, r3, 1 -/* 05D570 80062B10 90010084 */ stw r0, 0x84(r1) -/* 05D574 80062B14 48005420 */ b lbl_80067F34 -lbl_80062B18: -/* 05D578 80062B18 80832060 */ lwz r4, 0x2060(r3) -/* 05D57C 80062B1C 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 05D580 80062B20 41820248 */ beq lbl_80062D68 -/* 05D584 80062B24 2C110000 */ cmpwi r17, 0 -/* 05D588 80062B28 4182006C */ beq lbl_80062B94 -/* 05D58C 80062B2C 281F0000 */ cmplwi r31, 0 -/* 05D590 80062B30 41820020 */ beq lbl_80062B50 -/* 05D594 80062B34 80610084 */ lwz r3, 0x84(r1) -/* 05D598 80062B38 3C8038C0 */ lis r4, 0x38c0 -/* 05D59C 80062B3C 38030001 */ addi r0, r3, 1 -/* 05D5A0 80062B40 90010084 */ stw r0, 0x84(r1) -/* 05D5A4 80062B44 5460103A */ slwi r0, r3, 2 -/* 05D5A8 80062B48 7C9F012E */ stwx r4, r31, r0 -/* 05D5AC 80062B4C 48000010 */ b lbl_80062B5C -lbl_80062B50: -/* 05D5B0 80062B50 80610084 */ lwz r3, 0x84(r1) -/* 05D5B4 80062B54 38030001 */ addi r0, r3, 1 -/* 05D5B8 80062B58 90010084 */ stw r0, 0x84(r1) -lbl_80062B5C: -/* 05D5BC 80062B5C 281F0000 */ cmplwi r31, 0 -/* 05D5C0 80062B60 41820028 */ beq lbl_80062B88 -/* 05D5C4 80062B64 80610084 */ lwz r3, 0x84(r1) -/* 05D5C8 80062B68 381E002C */ addi r0, r30, 0x2c -/* 05D5CC 80062B6C 7C9E0050 */ subf r4, r30, r0 -/* 05D5D0 80062B70 38030001 */ addi r0, r3, 1 -/* 05D5D4 80062B74 90010084 */ stw r0, 0x84(r1) -/* 05D5D8 80062B78 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05D5DC 80062B7C 5463103A */ slwi r3, r3, 2 -/* 05D5E0 80062B80 7C1F192E */ stwx r0, r31, r3 -/* 05D5E4 80062B84 48000010 */ b lbl_80062B94 -lbl_80062B88: -/* 05D5E8 80062B88 80610084 */ lwz r3, 0x84(r1) -/* 05D5EC 80062B8C 38030001 */ addi r0, r3, 1 -/* 05D5F0 80062B90 90010084 */ stw r0, 0x84(r1) -lbl_80062B94: -/* 05D5F4 80062B94 281F0000 */ cmplwi r31, 0 -/* 05D5F8 80062B98 41820024 */ beq lbl_80062BBC -/* 05D5FC 80062B9C 80610084 */ lwz r3, 0x84(r1) -/* 05D600 80062BA0 57A0843E */ srwi r0, r29, 0x10 -/* 05D604 80062BA4 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05D608 80062BA8 38030001 */ addi r0, r3, 1 -/* 05D60C 80062BAC 90010084 */ stw r0, 0x84(r1) -/* 05D610 80062BB0 5460103A */ slwi r0, r3, 2 -/* 05D614 80062BB4 7C9F012E */ stwx r4, r31, r0 -/* 05D618 80062BB8 48000010 */ b lbl_80062BC8 -lbl_80062BBC: -/* 05D61C 80062BBC 80610084 */ lwz r3, 0x84(r1) -/* 05D620 80062BC0 38030001 */ addi r0, r3, 1 -/* 05D624 80062BC4 90010084 */ stw r0, 0x84(r1) -lbl_80062BC8: -/* 05D628 80062BC8 281F0000 */ cmplwi r31, 0 -/* 05D62C 80062BCC 41820024 */ beq lbl_80062BF0 -/* 05D630 80062BD0 80610084 */ lwz r3, 0x84(r1) -/* 05D634 80062BD4 57A0043E */ clrlwi r0, r29, 0x10 -/* 05D638 80062BD8 640460A5 */ oris r4, r0, 0x60a5 -/* 05D63C 80062BDC 38030001 */ addi r0, r3, 1 -/* 05D640 80062BE0 90010084 */ stw r0, 0x84(r1) -/* 05D644 80062BE4 5460103A */ slwi r0, r3, 2 -/* 05D648 80062BE8 7C9F012E */ stwx r4, r31, r0 -/* 05D64C 80062BEC 48000010 */ b lbl_80062BFC -lbl_80062BF0: -/* 05D650 80062BF0 80610084 */ lwz r3, 0x84(r1) -/* 05D654 80062BF4 38030001 */ addi r0, r3, 1 -/* 05D658 80062BF8 90010084 */ stw r0, 0x84(r1) -lbl_80062BFC: -/* 05D65C 80062BFC 281F0000 */ cmplwi r31, 0 -/* 05D660 80062C00 41820034 */ beq lbl_80062C34 -/* 05D664 80062C04 80610084 */ lwz r3, 0x84(r1) -/* 05D668 80062C08 801E0B50 */ lwz r0, 0xb50(r30) -/* 05D66C 80062C0C 5465103A */ slwi r5, r3, 2 -/* 05D670 80062C10 7C9F2A14 */ add r4, r31, r5 -/* 05D674 80062C14 7C040050 */ subf r0, r4, r0 -/* 05D678 80062C18 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05D67C 80062C1C 38630001 */ addi r3, r3, 1 -/* 05D680 80062C20 64004800 */ oris r0, r0, 0x4800 -/* 05D684 80062C24 90610084 */ stw r3, 0x84(r1) -/* 05D688 80062C28 60000001 */ ori r0, r0, 1 -/* 05D68C 80062C2C 7C1F292E */ stwx r0, r31, r5 -/* 05D690 80062C30 48000010 */ b lbl_80062C40 -lbl_80062C34: -/* 05D694 80062C34 80610084 */ lwz r3, 0x84(r1) -/* 05D698 80062C38 38030001 */ addi r0, r3, 1 -/* 05D69C 80062C3C 90010084 */ stw r0, 0x84(r1) -lbl_80062C40: -/* 05D6A0 80062C40 3C7E0001 */ addis r3, r30, 1 -/* 05D6A4 80062C44 80032060 */ lwz r0, 0x2060(r3) -/* 05D6A8 80062C48 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 05D6AC 80062C4C 41820060 */ beq lbl_80062CAC -/* 05D6B0 80062C50 281F0000 */ cmplwi r31, 0 -/* 05D6B4 80062C54 40820014 */ bne lbl_80062C68 -/* 05D6B8 80062C58 80610084 */ lwz r3, 0x84(r1) -/* 05D6BC 80062C5C 38030003 */ addi r0, r3, 3 -/* 05D6C0 80062C60 90010084 */ stw r0, 0x84(r1) -/* 05D6C4 80062C64 4800008C */ b lbl_80062CF0 -lbl_80062C68: -/* 05D6C8 80062C68 80610084 */ lwz r3, 0x84(r1) -/* 05D6CC 80062C6C 3C806000 */ lis r4, 0x6000 -/* 05D6D0 80062C70 38030001 */ addi r0, r3, 1 -/* 05D6D4 80062C74 90010084 */ stw r0, 0x84(r1) -/* 05D6D8 80062C78 5460103A */ slwi r0, r3, 2 -/* 05D6DC 80062C7C 7C9F012E */ stwx r4, r31, r0 -/* 05D6E0 80062C80 80610084 */ lwz r3, 0x84(r1) -/* 05D6E4 80062C84 38030001 */ addi r0, r3, 1 -/* 05D6E8 80062C88 90010084 */ stw r0, 0x84(r1) -/* 05D6EC 80062C8C 5460103A */ slwi r0, r3, 2 -/* 05D6F0 80062C90 7C9F012E */ stwx r4, r31, r0 -/* 05D6F4 80062C94 80610084 */ lwz r3, 0x84(r1) -/* 05D6F8 80062C98 38030001 */ addi r0, r3, 1 -/* 05D6FC 80062C9C 90010084 */ stw r0, 0x84(r1) -/* 05D700 80062CA0 5460103A */ slwi r0, r3, 2 -/* 05D704 80062CA4 7C9F012E */ stwx r4, r31, r0 -/* 05D708 80062CA8 48000048 */ b lbl_80062CF0 -lbl_80062CAC: -/* 05D70C 80062CAC 281F0000 */ cmplwi r31, 0 -/* 05D710 80062CB0 40820014 */ bne lbl_80062CC4 -/* 05D714 80062CB4 80610084 */ lwz r3, 0x84(r1) -/* 05D718 80062CB8 38030002 */ addi r0, r3, 2 -/* 05D71C 80062CBC 90010084 */ stw r0, 0x84(r1) -/* 05D720 80062CC0 48000030 */ b lbl_80062CF0 -lbl_80062CC4: -/* 05D724 80062CC4 80610084 */ lwz r3, 0x84(r1) -/* 05D728 80062CC8 3C806000 */ lis r4, 0x6000 -/* 05D72C 80062CCC 38030001 */ addi r0, r3, 1 -/* 05D730 80062CD0 90010084 */ stw r0, 0x84(r1) -/* 05D734 80062CD4 5460103A */ slwi r0, r3, 2 -/* 05D738 80062CD8 7C9F012E */ stwx r4, r31, r0 -/* 05D73C 80062CDC 80610084 */ lwz r3, 0x84(r1) -/* 05D740 80062CE0 38030001 */ addi r0, r3, 1 -/* 05D744 80062CE4 90010084 */ stw r0, 0x84(r1) -/* 05D748 80062CE8 5460103A */ slwi r0, r3, 2 -/* 05D74C 80062CEC 7C9F012E */ stwx r4, r31, r0 -lbl_80062CF0: -/* 05D750 80062CF0 2C110000 */ cmpwi r17, 0 -/* 05D754 80062CF4 41825240 */ beq lbl_80067F34 -/* 05D758 80062CF8 281F0000 */ cmplwi r31, 0 -/* 05D75C 80062CFC 41820024 */ beq lbl_80062D20 -/* 05D760 80062D00 80610084 */ lwz r3, 0x84(r1) -/* 05D764 80062D04 3C8038C1 */ lis r4, 0x38c1 -/* 05D768 80062D08 3884FFFF */ addi r4, r4, -1 -/* 05D76C 80062D0C 38030001 */ addi r0, r3, 1 -/* 05D770 80062D10 90010084 */ stw r0, 0x84(r1) -/* 05D774 80062D14 5460103A */ slwi r0, r3, 2 -/* 05D778 80062D18 7C9F012E */ stwx r4, r31, r0 -/* 05D77C 80062D1C 48000010 */ b lbl_80062D2C -lbl_80062D20: -/* 05D780 80062D20 80610084 */ lwz r3, 0x84(r1) -/* 05D784 80062D24 38030001 */ addi r0, r3, 1 -/* 05D788 80062D28 90010084 */ stw r0, 0x84(r1) -lbl_80062D2C: -/* 05D78C 80062D2C 281F0000 */ cmplwi r31, 0 -/* 05D790 80062D30 41820028 */ beq lbl_80062D58 -/* 05D794 80062D34 80610084 */ lwz r3, 0x84(r1) -/* 05D798 80062D38 381E002C */ addi r0, r30, 0x2c -/* 05D79C 80062D3C 7C9E0050 */ subf r4, r30, r0 -/* 05D7A0 80062D40 38030001 */ addi r0, r3, 1 -/* 05D7A4 80062D44 90010084 */ stw r0, 0x84(r1) -/* 05D7A8 80062D48 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05D7AC 80062D4C 5463103A */ slwi r3, r3, 2 -/* 05D7B0 80062D50 7C1F192E */ stwx r0, r31, r3 -/* 05D7B4 80062D54 480051E0 */ b lbl_80067F34 -lbl_80062D58: -/* 05D7B8 80062D58 80610084 */ lwz r3, 0x84(r1) -/* 05D7BC 80062D5C 38030001 */ addi r0, r3, 1 -/* 05D7C0 80062D60 90010084 */ stw r0, 0x84(r1) -/* 05D7C4 80062D64 480051D0 */ b lbl_80067F34 -lbl_80062D68: -/* 05D7C8 80062D68 548007FF */ clrlwi. r0, r4, 0x1f -/* 05D7CC 80062D6C 418251C8 */ beq lbl_80067F34 -/* 05D7D0 80062D70 54E0103A */ slwi r0, r7, 2 -/* 05D7D4 80062D74 7C9A0214 */ add r4, r26, r0 -/* 05D7D8 80062D78 80C40818 */ lwz r6, 0x818(r4) -/* 05D7DC 80062D7C 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 05D7E0 80062D80 41820148 */ beq lbl_80062EC8 -/* 05D7E4 80062D84 80032064 */ lwz r0, 0x2064(r3) -/* 05D7E8 80062D88 38C00006 */ li r6, 6 -/* 05D7EC 80062D8C 28000000 */ cmplwi r0, 0 -/* 05D7F0 80062D90 4082000C */ bne lbl_80062D9C -/* 05D7F4 80062D94 38000000 */ li r0, 0 -/* 05D7F8 80062D98 48000094 */ b lbl_80062E2C -lbl_80062D9C: -/* 05D7FC 80062D9C 80032068 */ lwz r0, 0x2068(r3) -/* 05D800 80062DA0 28000000 */ cmplwi r0, 0 -/* 05D804 80062DA4 4082000C */ bne lbl_80062DB0 -/* 05D808 80062DA8 38000000 */ li r0, 0 -/* 05D80C 80062DAC 48000080 */ b lbl_80062E2C -lbl_80062DB0: -/* 05D810 80062DB0 8003206C */ lwz r0, 0x206c(r3) -/* 05D814 80062DB4 7C070000 */ cmpw r7, r0 -/* 05D818 80062DB8 4182000C */ beq lbl_80062DC4 -/* 05D81C 80062DBC 38000000 */ li r0, 0 -/* 05D820 80062DC0 4800006C */ b lbl_80062E2C -lbl_80062DC4: -/* 05D824 80062DC4 80BE0034 */ lwz r5, 0x34(r30) -/* 05D828 80062DC8 38800000 */ li r4, 0 -/* 05D82C 80062DCC 80050008 */ lwz r0, 8(r5) -/* 05D830 80062DD0 2C000000 */ cmpwi r0, 0 -/* 05D834 80062DD4 7C0903A6 */ mtctr r0 -/* 05D838 80062DD8 40810028 */ ble lbl_80062E00 -lbl_80062DDC: -/* 05D83C 80062DDC 8065000C */ lwz r3, 0xc(r5) -/* 05D840 80062DE0 38040004 */ addi r0, r4, 4 -/* 05D844 80062DE4 7C03002E */ lwzx r0, r3, r0 -/* 05D848 80062DE8 7C1D0000 */ cmpw r29, r0 -/* 05D84C 80062DEC 4082000C */ bne lbl_80062DF8 -/* 05D850 80062DF0 38000000 */ li r0, 0 -/* 05D854 80062DF4 48000010 */ b lbl_80062E04 -lbl_80062DF8: -/* 05D858 80062DF8 38840008 */ addi r4, r4, 8 -/* 05D85C 80062DFC 4200FFE0 */ bdnz lbl_80062DDC -lbl_80062E00: -/* 05D860 80062E00 38000001 */ li r0, 1 -lbl_80062E04: -/* 05D864 80062E04 2C000000 */ cmpwi r0, 0 -/* 05D868 80062E08 40820014 */ bne lbl_80062E1C -/* 05D86C 80062E0C 38000000 */ li r0, 0 -/* 05D870 80062E10 3C7E0001 */ addis r3, r30, 1 -/* 05D874 80062E14 90032068 */ stw r0, 0x2068(r3) -/* 05D878 80062E18 48000014 */ b lbl_80062E2C -lbl_80062E1C: -/* 05D87C 80062E1C 3C7E0001 */ addis r3, r30, 1 -/* 05D880 80062E20 38000000 */ li r0, 0 -/* 05D884 80062E24 90032068 */ stw r0, 0x2068(r3) -/* 05D888 80062E28 38000001 */ li r0, 1 -lbl_80062E2C: -/* 05D88C 80062E2C 2C000000 */ cmpwi r0, 0 -/* 05D890 80062E30 41820050 */ beq lbl_80062E80 -/* 05D894 80062E34 281F0000 */ cmplwi r31, 0 -/* 05D898 80062E38 41820038 */ beq lbl_80062E70 -/* 05D89C 80062E3C 3C9E0001 */ addis r4, r30, 1 -/* 05D8A0 80062E40 80610084 */ lwz r3, 0x84(r1) -/* 05D8A4 80062E44 80842070 */ lwz r4, 0x2070(r4) -/* 05D8A8 80062E48 38A30001 */ addi r5, r3, 1 -/* 05D8AC 80062E4C 5480A814 */ slwi r0, r4, 0x15 -/* 05D8B0 80062E50 90A10084 */ stw r5, 0x84(r1) -/* 05D8B4 80062E54 64007C06 */ oris r0, r0, 0x7c06 -/* 05D8B8 80062E58 54845828 */ slwi r4, r4, 0xb -/* 05D8BC 80062E5C 60000378 */ ori r0, r0, 0x378 -/* 05D8C0 80062E60 7C800378 */ or r0, r4, r0 -/* 05D8C4 80062E64 5463103A */ slwi r3, r3, 2 -/* 05D8C8 80062E68 7C1F192E */ stwx r0, r31, r3 -/* 05D8CC 80062E6C 4800005C */ b lbl_80062EC8 -lbl_80062E70: -/* 05D8D0 80062E70 80610084 */ lwz r3, 0x84(r1) -/* 05D8D4 80062E74 38030001 */ addi r0, r3, 1 -/* 05D8D8 80062E78 90010084 */ stw r0, 0x84(r1) -/* 05D8DC 80062E7C 4800004C */ b lbl_80062EC8 -lbl_80062E80: -/* 05D8E0 80062E80 281F0000 */ cmplwi r31, 0 -/* 05D8E4 80062E84 41820038 */ beq lbl_80062EBC -/* 05D8E8 80062E88 54E41838 */ slwi r4, r7, 3 -/* 05D8EC 80062E8C 80610084 */ lwz r3, 0x84(r1) -/* 05D8F0 80062E90 38040040 */ addi r0, r4, 0x40 -/* 05D8F4 80062E94 7C1E0214 */ add r0, r30, r0 -/* 05D8F8 80062E98 7C9E0050 */ subf r4, r30, r0 -/* 05D8FC 80062E9C 38840004 */ addi r4, r4, 4 -/* 05D900 80062EA0 38030001 */ addi r0, r3, 1 -/* 05D904 80062EA4 5484043E */ clrlwi r4, r4, 0x10 -/* 05D908 80062EA8 90010084 */ stw r0, 0x84(r1) -/* 05D90C 80062EAC 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05D910 80062EB0 5463103A */ slwi r3, r3, 2 -/* 05D914 80062EB4 7C1F192E */ stwx r0, r31, r3 -/* 05D918 80062EB8 48000010 */ b lbl_80062EC8 -lbl_80062EBC: -/* 05D91C 80062EBC 80610084 */ lwz r3, 0x84(r1) -/* 05D920 80062EC0 38030001 */ addi r0, r3, 1 -/* 05D924 80062EC4 90010084 */ stw r0, 0x84(r1) -lbl_80062EC8: -/* 05D928 80062EC8 281F0000 */ cmplwi r31, 0 -/* 05D92C 80062ECC 4182002C */ beq lbl_80062EF8 -/* 05D930 80062ED0 80610084 */ lwz r3, 0x84(r1) -/* 05D934 80062ED4 54C0801E */ slwi r0, r6, 0x10 -/* 05D938 80062ED8 640538A0 */ oris r5, r0, 0x38a0 -/* 05D93C 80062EDC 38030001 */ addi r0, r3, 1 -/* 05D940 80062EE0 5784043E */ clrlwi r4, r28, 0x10 -/* 05D944 80062EE4 90010084 */ stw r0, 0x84(r1) -/* 05D948 80062EE8 7CA02378 */ or r0, r5, r4 -/* 05D94C 80062EEC 5463103A */ slwi r3, r3, 2 -/* 05D950 80062EF0 7C1F192E */ stwx r0, r31, r3 -/* 05D954 80062EF4 48000010 */ b lbl_80062F04 -lbl_80062EF8: -/* 05D958 80062EF8 80610084 */ lwz r3, 0x84(r1) -/* 05D95C 80062EFC 38030001 */ addi r0, r3, 1 -/* 05D960 80062F00 90010084 */ stw r0, 0x84(r1) -lbl_80062F04: -/* 05D964 80062F04 281F0000 */ cmplwi r31, 0 -/* 05D968 80062F08 41820024 */ beq lbl_80062F2C -/* 05D96C 80062F0C 80610084 */ lwz r3, 0x84(r1) -/* 05D970 80062F10 3C8054A7 */ lis r4, 0x54a7 -/* 05D974 80062F14 3884843E */ addi r4, r4, -31682 -/* 05D978 80062F18 38030001 */ addi r0, r3, 1 -/* 05D97C 80062F1C 90010084 */ stw r0, 0x84(r1) -/* 05D980 80062F20 5460103A */ slwi r0, r3, 2 -/* 05D984 80062F24 7C9F012E */ stwx r4, r31, r0 -/* 05D988 80062F28 48000010 */ b lbl_80062F38 -lbl_80062F2C: -/* 05D98C 80062F2C 80610084 */ lwz r3, 0x84(r1) -/* 05D990 80062F30 38030001 */ addi r0, r3, 1 -/* 05D994 80062F34 90010084 */ stw r0, 0x84(r1) -lbl_80062F38: -/* 05D998 80062F38 281F0000 */ cmplwi r31, 0 -/* 05D99C 80062F3C 41820024 */ beq lbl_80062F60 -/* 05D9A0 80062F40 80610084 */ lwz r3, 0x84(r1) -/* 05D9A4 80062F44 3C807CC6 */ lis r4, 0x7cc6 -/* 05D9A8 80062F48 388448AE */ addi r4, r4, 0x48ae -/* 05D9AC 80062F4C 38030001 */ addi r0, r3, 1 -/* 05D9B0 80062F50 90010084 */ stw r0, 0x84(r1) -/* 05D9B4 80062F54 5460103A */ slwi r0, r3, 2 -/* 05D9B8 80062F58 7C9F012E */ stwx r4, r31, r0 -/* 05D9BC 80062F5C 48000010 */ b lbl_80062F6C -lbl_80062F60: -/* 05D9C0 80062F60 80610084 */ lwz r3, 0x84(r1) -/* 05D9C4 80062F64 38030001 */ addi r0, r3, 1 -/* 05D9C8 80062F68 90010084 */ stw r0, 0x84(r1) -lbl_80062F6C: -/* 05D9CC 80062F6C 281F0000 */ cmplwi r31, 0 -/* 05D9D0 80062F70 41820024 */ beq lbl_80062F94 -/* 05D9D4 80062F74 80610084 */ lwz r3, 0x84(r1) -/* 05D9D8 80062F78 3C802C06 */ lis r4, 0x2c06 -/* 05D9DC 80062F7C 38840080 */ addi r4, r4, 0x80 -/* 05D9E0 80062F80 38030001 */ addi r0, r3, 1 -/* 05D9E4 80062F84 90010084 */ stw r0, 0x84(r1) -/* 05D9E8 80062F88 5460103A */ slwi r0, r3, 2 -/* 05D9EC 80062F8C 7C9F012E */ stwx r4, r31, r0 -/* 05D9F0 80062F90 48000010 */ b lbl_80062FA0 -lbl_80062F94: -/* 05D9F4 80062F94 80610084 */ lwz r3, 0x84(r1) -/* 05D9F8 80062F98 38030001 */ addi r0, r3, 1 -/* 05D9FC 80062F9C 90010084 */ stw r0, 0x84(r1) -lbl_80062FA0: -/* 05DA00 80062FA0 281F0000 */ cmplwi r31, 0 -/* 05DA04 80062FA4 41820024 */ beq lbl_80062FC8 -/* 05DA08 80062FA8 80610084 */ lwz r3, 0x84(r1) -/* 05DA0C 80062FAC 3C804180 */ lis r4, 0x4180 -/* 05DA10 80062FB0 38840020 */ addi r4, r4, 0x20 -/* 05DA14 80062FB4 38030001 */ addi r0, r3, 1 -/* 05DA18 80062FB8 90010084 */ stw r0, 0x84(r1) -/* 05DA1C 80062FBC 5460103A */ slwi r0, r3, 2 -/* 05DA20 80062FC0 7C9F012E */ stwx r4, r31, r0 -/* 05DA24 80062FC4 48000010 */ b lbl_80062FD4 -lbl_80062FC8: -/* 05DA28 80062FC8 80610084 */ lwz r3, 0x84(r1) -/* 05DA2C 80062FCC 38030001 */ addi r0, r3, 1 -/* 05DA30 80062FD0 90010084 */ stw r0, 0x84(r1) -lbl_80062FD4: -/* 05DA34 80062FD4 281F0000 */ cmplwi r31, 0 -/* 05DA38 80062FD8 41820024 */ beq lbl_80062FFC -/* 05DA3C 80062FDC 80610084 */ lwz r3, 0x84(r1) -/* 05DA40 80062FE0 3C809422 */ lis r4, 0x9422 -/* 05DA44 80062FE4 3884FFF0 */ addi r4, r4, -16 -/* 05DA48 80062FE8 38030001 */ addi r0, r3, 1 -/* 05DA4C 80062FEC 90010084 */ stw r0, 0x84(r1) -/* 05DA50 80062FF0 5460103A */ slwi r0, r3, 2 -/* 05DA54 80062FF4 7C9F012E */ stwx r4, r31, r0 -/* 05DA58 80062FF8 48000010 */ b lbl_80063008 -lbl_80062FFC: -/* 05DA5C 80062FFC 80610084 */ lwz r3, 0x84(r1) -/* 05DA60 80063000 38030001 */ addi r0, r3, 1 -/* 05DA64 80063004 90010084 */ stw r0, 0x84(r1) -lbl_80063008: -/* 05DA68 80063008 281F0000 */ cmplwi r31, 0 -/* 05DA6C 8006300C 41820024 */ beq lbl_80063030 -/* 05DA70 80063010 80610084 */ lwz r3, 0x84(r1) -/* 05DA74 80063014 3C809101 */ lis r4, 0x9101 -/* 05DA78 80063018 38840008 */ addi r4, r4, 8 -/* 05DA7C 8006301C 38030001 */ addi r0, r3, 1 -/* 05DA80 80063020 90010084 */ stw r0, 0x84(r1) -/* 05DA84 80063024 5460103A */ slwi r0, r3, 2 -/* 05DA88 80063028 7C9F012E */ stwx r4, r31, r0 -/* 05DA8C 8006302C 48000010 */ b lbl_8006303C -lbl_80063030: -/* 05DA90 80063030 80610084 */ lwz r3, 0x84(r1) -/* 05DA94 80063034 38030001 */ addi r0, r3, 1 -/* 05DA98 80063038 90010084 */ stw r0, 0x84(r1) -lbl_8006303C: -/* 05DA9C 8006303C 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 05DAA0 80063040 7C9A0214 */ add r4, r26, r0 -/* 05DAA4 80063044 80040818 */ lwz r0, 0x818(r4) -/* 05DAA8 80063048 578386FE */ rlwinm r3, r28, 0x10, 0x1b, 0x1f -/* 05DAAC 8006304C 540405EF */ rlwinm. r4, r0, 0, 0x17, 0x17 -/* 05DAB0 80063050 4182004C */ beq lbl_8006309C -/* 05DAB4 80063054 281F0000 */ cmplwi r31, 0 -/* 05DAB8 80063058 41820034 */ beq lbl_8006308C -/* 05DABC 8006305C 54641838 */ slwi r4, r3, 3 -/* 05DAC0 80063060 80610084 */ lwz r3, 0x84(r1) -/* 05DAC4 80063064 38040040 */ addi r0, r4, 0x40 -/* 05DAC8 80063068 7C1E0214 */ add r0, r30, r0 -/* 05DACC 8006306C 7C9E0050 */ subf r4, r30, r0 -/* 05DAD0 80063070 38030001 */ addi r0, r3, 1 -/* 05DAD4 80063074 3C848103 */ addis r4, r4, 0x8103 -/* 05DAD8 80063078 90010084 */ stw r0, 0x84(r1) -/* 05DADC 8006307C 38040004 */ addi r0, r4, 4 -/* 05DAE0 80063080 5463103A */ slwi r3, r3, 2 -/* 05DAE4 80063084 7C1F192E */ stwx r0, r31, r3 -/* 05DAE8 80063088 48000054 */ b lbl_800630DC -lbl_8006308C: -/* 05DAEC 8006308C 80610084 */ lwz r3, 0x84(r1) -/* 05DAF0 80063090 38030001 */ addi r0, r3, 1 -/* 05DAF4 80063094 90010084 */ stw r0, 0x84(r1) -/* 05DAF8 80063098 48000044 */ b lbl_800630DC -lbl_8006309C: -/* 05DAFC 8006309C 281F0000 */ cmplwi r31, 0 -/* 05DB00 800630A0 41820030 */ beq lbl_800630D0 -/* 05DB04 800630A4 80810084 */ lwz r4, 0x84(r1) -/* 05DB08 800630A8 5403A814 */ slwi r3, r0, 0x15 -/* 05DB0C 800630AC 64657C08 */ oris r5, r3, 0x7c08 -/* 05DB10 800630B0 38640001 */ addi r3, r4, 1 -/* 05DB14 800630B4 90610084 */ stw r3, 0x84(r1) -/* 05DB18 800630B8 60A50378 */ ori r5, r5, 0x378 -/* 05DB1C 800630BC 54005828 */ slwi r0, r0, 0xb -/* 05DB20 800630C0 7CA00378 */ or r0, r5, r0 -/* 05DB24 800630C4 5483103A */ slwi r3, r4, 2 -/* 05DB28 800630C8 7C1F192E */ stwx r0, r31, r3 -/* 05DB2C 800630CC 48000010 */ b lbl_800630DC -lbl_800630D0: -/* 05DB30 800630D0 80610084 */ lwz r3, 0x84(r1) -/* 05DB34 800630D4 38030001 */ addi r0, r3, 1 -/* 05DB38 800630D8 90010084 */ stw r0, 0x84(r1) -lbl_800630DC: -/* 05DB3C 800630DC 281F0000 */ cmplwi r31, 0 -/* 05DB40 800630E0 41820034 */ beq lbl_80063114 -/* 05DB44 800630E4 80610084 */ lwz r3, 0x84(r1) -/* 05DB48 800630E8 800D8A6C */ lwz r0, cpuCompile_SW_function@sda21(r13) -/* 05DB4C 800630EC 5465103A */ slwi r5, r3, 2 -/* 05DB50 800630F0 7C9F2A14 */ add r4, r31, r5 -/* 05DB54 800630F4 7C040050 */ subf r0, r4, r0 -/* 05DB58 800630F8 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05DB5C 800630FC 38630001 */ addi r3, r3, 1 -/* 05DB60 80063100 64004800 */ oris r0, r0, 0x4800 -/* 05DB64 80063104 90610084 */ stw r3, 0x84(r1) -/* 05DB68 80063108 60000001 */ ori r0, r0, 1 -/* 05DB6C 8006310C 7C1F292E */ stwx r0, r31, r5 -/* 05DB70 80063110 48000010 */ b lbl_80063120 -lbl_80063114: -/* 05DB74 80063114 80610084 */ lwz r3, 0x84(r1) -/* 05DB78 80063118 38030001 */ addi r0, r3, 1 -/* 05DB7C 8006311C 90010084 */ stw r0, 0x84(r1) -lbl_80063120: -/* 05DB80 80063120 281F0000 */ cmplwi r31, 0 -/* 05DB84 80063124 41820024 */ beq lbl_80063148 -/* 05DB88 80063128 80610084 */ lwz r3, 0x84(r1) -/* 05DB8C 8006312C 3C808101 */ lis r4, 0x8101 -/* 05DB90 80063130 38840008 */ addi r4, r4, 8 -/* 05DB94 80063134 38030001 */ addi r0, r3, 1 -/* 05DB98 80063138 90010084 */ stw r0, 0x84(r1) -/* 05DB9C 8006313C 5460103A */ slwi r0, r3, 2 -/* 05DBA0 80063140 7C9F012E */ stwx r4, r31, r0 -/* 05DBA4 80063144 48000010 */ b lbl_80063154 -lbl_80063148: -/* 05DBA8 80063148 80610084 */ lwz r3, 0x84(r1) -/* 05DBAC 8006314C 38030001 */ addi r0, r3, 1 -/* 05DBB0 80063150 90010084 */ stw r0, 0x84(r1) -lbl_80063154: -/* 05DBB4 80063154 281F0000 */ cmplwi r31, 0 -/* 05DBB8 80063158 41820024 */ beq lbl_8006317C -/* 05DBBC 8006315C 80610084 */ lwz r3, 0x84(r1) -/* 05DBC0 80063160 3C803821 */ lis r4, 0x3821 -/* 05DBC4 80063164 38840010 */ addi r4, r4, 0x10 -/* 05DBC8 80063168 38030001 */ addi r0, r3, 1 -/* 05DBCC 8006316C 90010084 */ stw r0, 0x84(r1) -/* 05DBD0 80063170 5460103A */ slwi r0, r3, 2 -/* 05DBD4 80063174 7C9F012E */ stwx r4, r31, r0 -/* 05DBD8 80063178 48000010 */ b lbl_80063188 -lbl_8006317C: -/* 05DBDC 8006317C 80610084 */ lwz r3, 0x84(r1) -/* 05DBE0 80063180 38030001 */ addi r0, r3, 1 -/* 05DBE4 80063184 90010084 */ stw r0, 0x84(r1) -lbl_80063188: -/* 05DBE8 80063188 2C110000 */ cmpwi r17, 0 -/* 05DBEC 8006318C 418201BC */ beq lbl_80063348 -/* 05DBF0 80063190 281F0000 */ cmplwi r31, 0 -/* 05DBF4 80063194 41820024 */ beq lbl_800631B8 -/* 05DBF8 80063198 80610084 */ lwz r3, 0x84(r1) -/* 05DBFC 8006319C 3C804280 */ lis r4, 0x4280 -/* 05DC00 800631A0 38840020 */ addi r4, r4, 0x20 -/* 05DC04 800631A4 38030001 */ addi r0, r3, 1 -/* 05DC08 800631A8 90010084 */ stw r0, 0x84(r1) -/* 05DC0C 800631AC 5460103A */ slwi r0, r3, 2 -/* 05DC10 800631B0 7C9F012E */ stwx r4, r31, r0 -/* 05DC14 800631B4 48000010 */ b lbl_800631C4 -lbl_800631B8: -/* 05DC18 800631B8 80610084 */ lwz r3, 0x84(r1) -/* 05DC1C 800631BC 38030001 */ addi r0, r3, 1 -/* 05DC20 800631C0 90010084 */ stw r0, 0x84(r1) -lbl_800631C4: -/* 05DC24 800631C4 281F0000 */ cmplwi r31, 0 -/* 05DC28 800631C8 41820020 */ beq lbl_800631E8 -/* 05DC2C 800631CC 80610084 */ lwz r3, 0x84(r1) -/* 05DC30 800631D0 3C8038C0 */ lis r4, 0x38c0 -/* 05DC34 800631D4 38030001 */ addi r0, r3, 1 -/* 05DC38 800631D8 90010084 */ stw r0, 0x84(r1) -/* 05DC3C 800631DC 5460103A */ slwi r0, r3, 2 -/* 05DC40 800631E0 7C9F012E */ stwx r4, r31, r0 -/* 05DC44 800631E4 48000010 */ b lbl_800631F4 -lbl_800631E8: -/* 05DC48 800631E8 80610084 */ lwz r3, 0x84(r1) -/* 05DC4C 800631EC 38030001 */ addi r0, r3, 1 -/* 05DC50 800631F0 90010084 */ stw r0, 0x84(r1) -lbl_800631F4: -/* 05DC54 800631F4 281F0000 */ cmplwi r31, 0 -/* 05DC58 800631F8 41820028 */ beq lbl_80063220 -/* 05DC5C 800631FC 80610084 */ lwz r3, 0x84(r1) -/* 05DC60 80063200 381E002C */ addi r0, r30, 0x2c -/* 05DC64 80063204 7C9E0050 */ subf r4, r30, r0 -/* 05DC68 80063208 38030001 */ addi r0, r3, 1 -/* 05DC6C 8006320C 90010084 */ stw r0, 0x84(r1) -/* 05DC70 80063210 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05DC74 80063214 5463103A */ slwi r3, r3, 2 -/* 05DC78 80063218 7C1F192E */ stwx r0, r31, r3 -/* 05DC7C 8006321C 48000010 */ b lbl_8006322C -lbl_80063220: -/* 05DC80 80063220 80610084 */ lwz r3, 0x84(r1) -/* 05DC84 80063224 38030001 */ addi r0, r3, 1 -/* 05DC88 80063228 90010084 */ stw r0, 0x84(r1) -lbl_8006322C: -/* 05DC8C 8006322C 281F0000 */ cmplwi r31, 0 -/* 05DC90 80063230 41820024 */ beq lbl_80063254 -/* 05DC94 80063234 80610084 */ lwz r3, 0x84(r1) -/* 05DC98 80063238 57A0843E */ srwi r0, r29, 0x10 -/* 05DC9C 8006323C 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05DCA0 80063240 38030001 */ addi r0, r3, 1 -/* 05DCA4 80063244 90010084 */ stw r0, 0x84(r1) -/* 05DCA8 80063248 5460103A */ slwi r0, r3, 2 -/* 05DCAC 8006324C 7C9F012E */ stwx r4, r31, r0 -/* 05DCB0 80063250 48000010 */ b lbl_80063260 -lbl_80063254: -/* 05DCB4 80063254 80610084 */ lwz r3, 0x84(r1) -/* 05DCB8 80063258 38030001 */ addi r0, r3, 1 -/* 05DCBC 8006325C 90010084 */ stw r0, 0x84(r1) -lbl_80063260: -/* 05DCC0 80063260 281F0000 */ cmplwi r31, 0 -/* 05DCC4 80063264 41820024 */ beq lbl_80063288 -/* 05DCC8 80063268 80610084 */ lwz r3, 0x84(r1) -/* 05DCCC 8006326C 57A0043E */ clrlwi r0, r29, 0x10 -/* 05DCD0 80063270 640460A5 */ oris r4, r0, 0x60a5 -/* 05DCD4 80063274 38030001 */ addi r0, r3, 1 -/* 05DCD8 80063278 90010084 */ stw r0, 0x84(r1) -/* 05DCDC 8006327C 5460103A */ slwi r0, r3, 2 -/* 05DCE0 80063280 7C9F012E */ stwx r4, r31, r0 -/* 05DCE4 80063284 48000010 */ b lbl_80063294 -lbl_80063288: -/* 05DCE8 80063288 80610084 */ lwz r3, 0x84(r1) -/* 05DCEC 8006328C 38030001 */ addi r0, r3, 1 -/* 05DCF0 80063290 90010084 */ stw r0, 0x84(r1) -lbl_80063294: -/* 05DCF4 80063294 281F0000 */ cmplwi r31, 0 -/* 05DCF8 80063298 41820034 */ beq lbl_800632CC -/* 05DCFC 8006329C 80610084 */ lwz r3, 0x84(r1) -/* 05DD00 800632A0 801E0B40 */ lwz r0, 0xb40(r30) -/* 05DD04 800632A4 5465103A */ slwi r5, r3, 2 -/* 05DD08 800632A8 7C9F2A14 */ add r4, r31, r5 -/* 05DD0C 800632AC 7C040050 */ subf r0, r4, r0 -/* 05DD10 800632B0 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05DD14 800632B4 38630001 */ addi r3, r3, 1 -/* 05DD18 800632B8 64004800 */ oris r0, r0, 0x4800 -/* 05DD1C 800632BC 90610084 */ stw r3, 0x84(r1) -/* 05DD20 800632C0 60000001 */ ori r0, r0, 1 -/* 05DD24 800632C4 7C1F292E */ stwx r0, r31, r5 -/* 05DD28 800632C8 48000010 */ b lbl_800632D8 -lbl_800632CC: -/* 05DD2C 800632CC 80610084 */ lwz r3, 0x84(r1) -/* 05DD30 800632D0 38030001 */ addi r0, r3, 1 -/* 05DD34 800632D4 90010084 */ stw r0, 0x84(r1) -lbl_800632D8: -/* 05DD38 800632D8 281F0000 */ cmplwi r31, 0 -/* 05DD3C 800632DC 41820024 */ beq lbl_80063300 -/* 05DD40 800632E0 80610084 */ lwz r3, 0x84(r1) -/* 05DD44 800632E4 3C8038C1 */ lis r4, 0x38c1 -/* 05DD48 800632E8 3884FFFF */ addi r4, r4, -1 -/* 05DD4C 800632EC 38030001 */ addi r0, r3, 1 -/* 05DD50 800632F0 90010084 */ stw r0, 0x84(r1) -/* 05DD54 800632F4 5460103A */ slwi r0, r3, 2 -/* 05DD58 800632F8 7C9F012E */ stwx r4, r31, r0 -/* 05DD5C 800632FC 48000010 */ b lbl_8006330C -lbl_80063300: -/* 05DD60 80063300 80610084 */ lwz r3, 0x84(r1) -/* 05DD64 80063304 38030001 */ addi r0, r3, 1 -/* 05DD68 80063308 90010084 */ stw r0, 0x84(r1) -lbl_8006330C: -/* 05DD6C 8006330C 281F0000 */ cmplwi r31, 0 -/* 05DD70 80063310 41820028 */ beq lbl_80063338 -/* 05DD74 80063314 80610084 */ lwz r3, 0x84(r1) -/* 05DD78 80063318 381E002C */ addi r0, r30, 0x2c -/* 05DD7C 8006331C 7C9E0050 */ subf r4, r30, r0 -/* 05DD80 80063320 38030001 */ addi r0, r3, 1 -/* 05DD84 80063324 90010084 */ stw r0, 0x84(r1) -/* 05DD88 80063328 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05DD8C 8006332C 5463103A */ slwi r3, r3, 2 -/* 05DD90 80063330 7C1F192E */ stwx r0, r31, r3 -/* 05DD94 80063334 48004C00 */ b lbl_80067F34 -lbl_80063338: -/* 05DD98 80063338 80610084 */ lwz r3, 0x84(r1) -/* 05DD9C 8006333C 38030001 */ addi r0, r3, 1 -/* 05DDA0 80063340 90010084 */ stw r0, 0x84(r1) -/* 05DDA4 80063344 48004BF0 */ b lbl_80067F34 -lbl_80063348: -/* 05DDA8 80063348 281F0000 */ cmplwi r31, 0 -/* 05DDAC 8006334C 41820024 */ beq lbl_80063370 -/* 05DDB0 80063350 80610084 */ lwz r3, 0x84(r1) -/* 05DDB4 80063354 3C804280 */ lis r4, 0x4280 -/* 05DDB8 80063358 38840010 */ addi r4, r4, 0x10 -/* 05DDBC 8006335C 38030001 */ addi r0, r3, 1 -/* 05DDC0 80063360 90010084 */ stw r0, 0x84(r1) -/* 05DDC4 80063364 5460103A */ slwi r0, r3, 2 -/* 05DDC8 80063368 7C9F012E */ stwx r4, r31, r0 -/* 05DDCC 8006336C 48000010 */ b lbl_8006337C -lbl_80063370: -/* 05DDD0 80063370 80610084 */ lwz r3, 0x84(r1) -/* 05DDD4 80063374 38030001 */ addi r0, r3, 1 -/* 05DDD8 80063378 90010084 */ stw r0, 0x84(r1) -lbl_8006337C: -/* 05DDDC 8006337C 281F0000 */ cmplwi r31, 0 -/* 05DDE0 80063380 41820024 */ beq lbl_800633A4 -/* 05DDE4 80063384 80610084 */ lwz r3, 0x84(r1) -/* 05DDE8 80063388 57A0843E */ srwi r0, r29, 0x10 -/* 05DDEC 8006338C 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05DDF0 80063390 38030001 */ addi r0, r3, 1 -/* 05DDF4 80063394 90010084 */ stw r0, 0x84(r1) -/* 05DDF8 80063398 5460103A */ slwi r0, r3, 2 -/* 05DDFC 8006339C 7C9F012E */ stwx r4, r31, r0 -/* 05DE00 800633A0 48000010 */ b lbl_800633B0 -lbl_800633A4: -/* 05DE04 800633A4 80610084 */ lwz r3, 0x84(r1) -/* 05DE08 800633A8 38030001 */ addi r0, r3, 1 -/* 05DE0C 800633AC 90010084 */ stw r0, 0x84(r1) -lbl_800633B0: -/* 05DE10 800633B0 281F0000 */ cmplwi r31, 0 -/* 05DE14 800633B4 41820024 */ beq lbl_800633D8 -/* 05DE18 800633B8 80610084 */ lwz r3, 0x84(r1) -/* 05DE1C 800633BC 57A0043E */ clrlwi r0, r29, 0x10 -/* 05DE20 800633C0 640460A5 */ oris r4, r0, 0x60a5 -/* 05DE24 800633C4 38030001 */ addi r0, r3, 1 -/* 05DE28 800633C8 90010084 */ stw r0, 0x84(r1) -/* 05DE2C 800633CC 5460103A */ slwi r0, r3, 2 -/* 05DE30 800633D0 7C9F012E */ stwx r4, r31, r0 -/* 05DE34 800633D4 48000010 */ b lbl_800633E4 -lbl_800633D8: -/* 05DE38 800633D8 80610084 */ lwz r3, 0x84(r1) -/* 05DE3C 800633DC 38030001 */ addi r0, r3, 1 -/* 05DE40 800633E0 90010084 */ stw r0, 0x84(r1) -lbl_800633E4: -/* 05DE44 800633E4 281F0000 */ cmplwi r31, 0 -/* 05DE48 800633E8 41820034 */ beq lbl_8006341C -/* 05DE4C 800633EC 80610084 */ lwz r3, 0x84(r1) -/* 05DE50 800633F0 801E0B40 */ lwz r0, 0xb40(r30) -/* 05DE54 800633F4 5465103A */ slwi r5, r3, 2 -/* 05DE58 800633F8 7C9F2A14 */ add r4, r31, r5 -/* 05DE5C 800633FC 7C040050 */ subf r0, r4, r0 -/* 05DE60 80063400 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05DE64 80063404 38630001 */ addi r3, r3, 1 -/* 05DE68 80063408 64004800 */ oris r0, r0, 0x4800 -/* 05DE6C 8006340C 90610084 */ stw r3, 0x84(r1) -/* 05DE70 80063410 60000001 */ ori r0, r0, 1 -/* 05DE74 80063414 7C1F292E */ stwx r0, r31, r5 -/* 05DE78 80063418 48004B1C */ b lbl_80067F34 -lbl_8006341C: -/* 05DE7C 8006341C 80610084 */ lwz r3, 0x84(r1) -/* 05DE80 80063420 38030001 */ addi r0, r3, 1 -/* 05DE84 80063424 90010084 */ stw r0, 0x84(r1) -/* 05DE88 80063428 48004B0C */ b lbl_80067F34 -.global lbl_8006342C -lbl_8006342C: -/* 05DE8C 8006342C 3C7E0001 */ addis r3, r30, 1 -/* 05DE90 80063430 57855EFE */ rlwinm r5, r28, 0xb, 0x1b, 0x1f -/* 05DE94 80063434 80032058 */ lwz r0, 0x2058(r3) -/* 05DE98 80063438 38600001 */ li r3, 1 -/* 05DE9C 8006343C 7C632830 */ slw r3, r3, r5 -/* 05DEA0 80063440 7C001839 */ and. r0, r0, r3 -/* 05DEA4 80063444 41824AF0 */ beq lbl_80067F34 -/* 05DEA8 80063448 5780967A */ rlwinm r0, r28, 0x12, 0x19, 0x1d -/* 05DEAC 8006344C 7C7A0214 */ add r3, r26, r0 -/* 05DEB0 80063450 80030818 */ lwz r0, 0x818(r3) -/* 05DEB4 80063454 578486FE */ rlwinm r4, r28, 0x10, 0x1b, 0x1f -/* 05DEB8 80063458 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 05DEBC 8006345C 40820050 */ bne lbl_800634AC -/* 05DEC0 80063460 281F0000 */ cmplwi r31, 0 -/* 05DEC4 80063464 4182003C */ beq lbl_800634A0 -/* 05DEC8 80063468 54861838 */ slwi r6, r4, 3 -/* 05DECC 8006346C 80610084 */ lwz r3, 0x84(r1) -/* 05DED0 80063470 38C60040 */ addi r6, r6, 0x40 -/* 05DED4 80063474 5400A814 */ slwi r0, r0, 0x15 -/* 05DED8 80063478 7CDE3214 */ add r6, r30, r6 -/* 05DEDC 8006347C 38E30001 */ addi r7, r3, 1 -/* 05DEE0 80063480 64009003 */ oris r0, r0, 0x9003 -/* 05DEE4 80063484 90E10084 */ stw r7, 0x84(r1) -/* 05DEE8 80063488 7CDE3050 */ subf r6, r30, r6 -/* 05DEEC 8006348C 7CC60214 */ add r6, r6, r0 -/* 05DEF0 80063490 38060004 */ addi r0, r6, 4 -/* 05DEF4 80063494 5463103A */ slwi r3, r3, 2 -/* 05DEF8 80063498 7C1F192E */ stwx r0, r31, r3 -/* 05DEFC 8006349C 48000010 */ b lbl_800634AC -lbl_800634A0: -/* 05DF00 800634A0 80610084 */ lwz r3, 0x84(r1) -/* 05DF04 800634A4 38030001 */ addi r0, r3, 1 -/* 05DF08 800634A8 90010084 */ stw r0, 0x84(r1) -lbl_800634AC: -/* 05DF0C 800634AC 54A0103A */ slwi r0, r5, 2 -/* 05DF10 800634B0 7C7A0214 */ add r3, r26, r0 -/* 05DF14 800634B4 80030818 */ lwz r0, 0x818(r3) -/* 05DF18 800634B8 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 05DF1C 800634BC 4182004C */ beq lbl_80063508 -/* 05DF20 800634C0 281F0000 */ cmplwi r31, 0 -/* 05DF24 800634C4 41820034 */ beq lbl_800634F8 -/* 05DF28 800634C8 54A51838 */ slwi r5, r5, 3 -/* 05DF2C 800634CC 80610084 */ lwz r3, 0x84(r1) -/* 05DF30 800634D0 38050040 */ addi r0, r5, 0x40 -/* 05DF34 800634D4 7C1E0214 */ add r0, r30, r0 -/* 05DF38 800634D8 7CBE0050 */ subf r5, r30, r0 -/* 05DF3C 800634DC 38030001 */ addi r0, r3, 1 -/* 05DF40 800634E0 3CA580A3 */ addis r5, r5, 0x80a3 -/* 05DF44 800634E4 90010084 */ stw r0, 0x84(r1) -/* 05DF48 800634E8 38050004 */ addi r0, r5, 4 -/* 05DF4C 800634EC 5463103A */ slwi r3, r3, 2 -/* 05DF50 800634F0 7C1F192E */ stwx r0, r31, r3 -/* 05DF54 800634F4 48000054 */ b lbl_80063548 -lbl_800634F8: -/* 05DF58 800634F8 80610084 */ lwz r3, 0x84(r1) -/* 05DF5C 800634FC 38030001 */ addi r0, r3, 1 -/* 05DF60 80063500 90010084 */ stw r0, 0x84(r1) -/* 05DF64 80063504 48000044 */ b lbl_80063548 -lbl_80063508: -/* 05DF68 80063508 281F0000 */ cmplwi r31, 0 -/* 05DF6C 8006350C 41820030 */ beq lbl_8006353C -/* 05DF70 80063510 80A10084 */ lwz r5, 0x84(r1) -/* 05DF74 80063514 5403A814 */ slwi r3, r0, 0x15 -/* 05DF78 80063518 64667C05 */ oris r6, r3, 0x7c05 -/* 05DF7C 8006351C 38650001 */ addi r3, r5, 1 -/* 05DF80 80063520 90610084 */ stw r3, 0x84(r1) -/* 05DF84 80063524 60C60378 */ ori r6, r6, 0x378 -/* 05DF88 80063528 54005828 */ slwi r0, r0, 0xb -/* 05DF8C 8006352C 7CC00378 */ or r0, r6, r0 -/* 05DF90 80063530 54A3103A */ slwi r3, r5, 2 -/* 05DF94 80063534 7C1F192E */ stwx r0, r31, r3 -/* 05DF98 80063538 48000010 */ b lbl_80063548 -lbl_8006353C: -/* 05DF9C 8006353C 80610084 */ lwz r3, 0x84(r1) -/* 05DFA0 80063540 38030001 */ addi r0, r3, 1 -/* 05DFA4 80063544 90010084 */ stw r0, 0x84(r1) -lbl_80063548: -/* 05DFA8 80063548 281F0000 */ cmplwi r31, 0 -/* 05DFAC 8006354C 41820024 */ beq lbl_80063570 -/* 05DFB0 80063550 80610084 */ lwz r3, 0x84(r1) -/* 05DFB4 80063554 3CA07CE5 */ lis r5, 0x7ce5 -/* 05DFB8 80063558 38A54214 */ addi r5, r5, 0x4214 -/* 05DFBC 8006355C 38030001 */ addi r0, r3, 1 -/* 05DFC0 80063560 90010084 */ stw r0, 0x84(r1) -/* 05DFC4 80063564 5460103A */ slwi r0, r3, 2 -/* 05DFC8 80063568 7CBF012E */ stwx r5, r31, r0 -/* 05DFCC 8006356C 48000010 */ b lbl_8006357C -lbl_80063570: -/* 05DFD0 80063570 80610084 */ lwz r3, 0x84(r1) -/* 05DFD4 80063574 38030001 */ addi r0, r3, 1 -/* 05DFD8 80063578 90010084 */ stw r0, 0x84(r1) -lbl_8006357C: -/* 05DFDC 8006357C 281F0000 */ cmplwi r31, 0 -/* 05DFE0 80063580 41820024 */ beq lbl_800635A4 -/* 05DFE4 80063584 80610084 */ lwz r3, 0x84(r1) -/* 05DFE8 80063588 5780043E */ clrlwi r0, r28, 0x10 -/* 05DFEC 8006358C 640538E7 */ oris r5, r0, 0x38e7 -/* 05DFF0 80063590 38030001 */ addi r0, r3, 1 -/* 05DFF4 80063594 90010084 */ stw r0, 0x84(r1) -/* 05DFF8 80063598 5460103A */ slwi r0, r3, 2 -/* 05DFFC 8006359C 7CBF012E */ stwx r5, r31, r0 -/* 05E000 800635A0 48000010 */ b lbl_800635B0 -lbl_800635A4: -/* 05E004 800635A4 80610084 */ lwz r3, 0x84(r1) -/* 05E008 800635A8 38030001 */ addi r0, r3, 1 -/* 05E00C 800635AC 90010084 */ stw r0, 0x84(r1) -lbl_800635B0: -/* 05E010 800635B0 281F0000 */ cmplwi r31, 0 -/* 05E014 800635B4 41820020 */ beq lbl_800635D4 -/* 05E018 800635B8 80610084 */ lwz r3, 0x84(r1) -/* 05E01C 800635BC 3CA038C0 */ lis r5, 0x38c0 -/* 05E020 800635C0 38030001 */ addi r0, r3, 1 -/* 05E024 800635C4 90010084 */ stw r0, 0x84(r1) -/* 05E028 800635C8 5460103A */ slwi r0, r3, 2 -/* 05E02C 800635CC 7CBF012E */ stwx r5, r31, r0 -/* 05E030 800635D0 48000010 */ b lbl_800635E0 -lbl_800635D4: -/* 05E034 800635D4 80610084 */ lwz r3, 0x84(r1) -/* 05E038 800635D8 38030001 */ addi r0, r3, 1 -/* 05E03C 800635DC 90010084 */ stw r0, 0x84(r1) -lbl_800635E0: -/* 05E040 800635E0 281F0000 */ cmplwi r31, 0 -/* 05E044 800635E4 41820034 */ beq lbl_80063618 -/* 05E048 800635E8 54841838 */ slwi r4, r4, 3 -/* 05E04C 800635EC 80610084 */ lwz r3, 0x84(r1) -/* 05E050 800635F0 38040040 */ addi r0, r4, 0x40 -/* 05E054 800635F4 7C1E0214 */ add r0, r30, r0 -/* 05E058 800635F8 7C9E0050 */ subf r4, r30, r0 -/* 05E05C 800635FC 38030001 */ addi r0, r3, 1 -/* 05E060 80063600 3C8480A3 */ addis r4, r4, 0x80a3 -/* 05E064 80063604 90010084 */ stw r0, 0x84(r1) -/* 05E068 80063608 38040004 */ addi r0, r4, 4 -/* 05E06C 8006360C 5463103A */ slwi r3, r3, 2 -/* 05E070 80063610 7C1F192E */ stwx r0, r31, r3 -/* 05E074 80063614 48000010 */ b lbl_80063624 -lbl_80063618: -/* 05E078 80063618 80610084 */ lwz r3, 0x84(r1) -/* 05E07C 8006361C 38030001 */ addi r0, r3, 1 -/* 05E080 80063620 90010084 */ stw r0, 0x84(r1) -lbl_80063624: -/* 05E084 80063624 281F0000 */ cmplwi r31, 0 -/* 05E088 80063628 41820024 */ beq lbl_8006364C -/* 05E08C 8006362C 80610084 */ lwz r3, 0x84(r1) -/* 05E090 80063630 3C807CA5 */ lis r4, 0x7ca5 -/* 05E094 80063634 38843430 */ addi r4, r4, 0x3430 -/* 05E098 80063638 38030001 */ addi r0, r3, 1 -/* 05E09C 8006363C 90010084 */ stw r0, 0x84(r1) -/* 05E0A0 80063640 5460103A */ slwi r0, r3, 2 -/* 05E0A4 80063644 7C9F012E */ stwx r4, r31, r0 -/* 05E0A8 80063648 48000010 */ b lbl_80063658 -lbl_8006364C: -/* 05E0AC 8006364C 80610084 */ lwz r3, 0x84(r1) -/* 05E0B0 80063650 38030001 */ addi r0, r3, 1 -/* 05E0B4 80063654 90010084 */ stw r0, 0x84(r1) -lbl_80063658: -/* 05E0B8 80063658 281F0000 */ cmplwi r31, 0 -/* 05E0BC 8006365C 41820020 */ beq lbl_8006367C -/* 05E0C0 80063660 80610084 */ lwz r3, 0x84(r1) -/* 05E0C4 80063664 3C8098A7 */ lis r4, 0x98a7 -/* 05E0C8 80063668 38030001 */ addi r0, r3, 1 -/* 05E0CC 8006366C 90010084 */ stw r0, 0x84(r1) -/* 05E0D0 80063670 5460103A */ slwi r0, r3, 2 -/* 05E0D4 80063674 7C9F012E */ stwx r4, r31, r0 -/* 05E0D8 80063678 48000010 */ b lbl_80063688 -lbl_8006367C: -/* 05E0DC 8006367C 80610084 */ lwz r3, 0x84(r1) -/* 05E0E0 80063680 38030001 */ addi r0, r3, 1 -/* 05E0E4 80063684 90010084 */ stw r0, 0x84(r1) -lbl_80063688: -/* 05E0E8 80063688 281F0000 */ cmplwi r31, 0 -/* 05E0EC 8006368C 41820024 */ beq lbl_800636B0 -/* 05E0F0 80063690 80610084 */ lwz r3, 0x84(r1) -/* 05E0F4 80063694 3C8038C6 */ lis r4, 0x38c6 -/* 05E0F8 80063698 38840008 */ addi r4, r4, 8 -/* 05E0FC 8006369C 38030001 */ addi r0, r3, 1 -/* 05E100 800636A0 90010084 */ stw r0, 0x84(r1) -/* 05E104 800636A4 5460103A */ slwi r0, r3, 2 -/* 05E108 800636A8 7C9F012E */ stwx r4, r31, r0 -/* 05E10C 800636AC 48000010 */ b lbl_800636BC -lbl_800636B0: -/* 05E110 800636B0 80610084 */ lwz r3, 0x84(r1) -/* 05E114 800636B4 38030001 */ addi r0, r3, 1 -/* 05E118 800636B8 90010084 */ stw r0, 0x84(r1) -lbl_800636BC: -/* 05E11C 800636BC 281F0000 */ cmplwi r31, 0 -/* 05E120 800636C0 41820024 */ beq lbl_800636E4 -/* 05E124 800636C4 80610084 */ lwz r3, 0x84(r1) -/* 05E128 800636C8 3C8054E5 */ lis r4, 0x54e5 -/* 05E12C 800636CC 388407BF */ addi r4, r4, 0x7bf -/* 05E130 800636D0 38030001 */ addi r0, r3, 1 -/* 05E134 800636D4 90010084 */ stw r0, 0x84(r1) -/* 05E138 800636D8 5460103A */ slwi r0, r3, 2 -/* 05E13C 800636DC 7C9F012E */ stwx r4, r31, r0 -/* 05E140 800636E0 48000010 */ b lbl_800636F0 -lbl_800636E4: -/* 05E144 800636E4 80610084 */ lwz r3, 0x84(r1) -/* 05E148 800636E8 38030001 */ addi r0, r3, 1 -/* 05E14C 800636EC 90010084 */ stw r0, 0x84(r1) -lbl_800636F0: -/* 05E150 800636F0 281F0000 */ cmplwi r31, 0 -/* 05E154 800636F4 41820024 */ beq lbl_80063718 -/* 05E158 800636F8 80610084 */ lwz r3, 0x84(r1) -/* 05E15C 800636FC 3C8038E8 */ lis r4, 0x38e8 -/* 05E160 80063700 3884FFFF */ addi r4, r4, -1 -/* 05E164 80063704 38030001 */ addi r0, r3, 1 -/* 05E168 80063708 90010084 */ stw r0, 0x84(r1) -/* 05E16C 8006370C 5460103A */ slwi r0, r3, 2 -/* 05E170 80063710 7C9F012E */ stwx r4, r31, r0 -/* 05E174 80063714 48000010 */ b lbl_80063724 -lbl_80063718: -/* 05E178 80063718 80610084 */ lwz r3, 0x84(r1) -/* 05E17C 8006371C 38030001 */ addi r0, r3, 1 -/* 05E180 80063720 90010084 */ stw r0, 0x84(r1) -lbl_80063724: -/* 05E184 80063724 281F0000 */ cmplwi r31, 0 -/* 05E188 80063728 41820024 */ beq lbl_8006374C -/* 05E18C 8006372C 80610084 */ lwz r3, 0x84(r1) -/* 05E190 80063730 3C804083 */ lis r4, 0x4083 -/* 05E194 80063734 3884FFE8 */ addi r4, r4, -24 -/* 05E198 80063738 38030001 */ addi r0, r3, 1 -/* 05E19C 8006373C 90010084 */ stw r0, 0x84(r1) -/* 05E1A0 80063740 5460103A */ slwi r0, r3, 2 -/* 05E1A4 80063744 7C9F012E */ stwx r4, r31, r0 -/* 05E1A8 80063748 480047EC */ b lbl_80067F34 -lbl_8006374C: -/* 05E1AC 8006374C 80610084 */ lwz r3, 0x84(r1) -/* 05E1B0 80063750 38030001 */ addi r0, r3, 1 -/* 05E1B4 80063754 90010084 */ stw r0, 0x84(r1) -/* 05E1B8 80063758 480047DC */ b lbl_80067F34 -.global lbl_8006375C -lbl_8006375C: -/* 05E1BC 8006375C 281F0000 */ cmplwi r31, 0 -/* 05E1C0 80063760 41820020 */ beq lbl_80063780 -/* 05E1C4 80063764 80610084 */ lwz r3, 0x84(r1) -/* 05E1C8 80063768 3C806000 */ lis r4, 0x6000 -/* 05E1CC 8006376C 38030001 */ addi r0, r3, 1 -/* 05E1D0 80063770 90010084 */ stw r0, 0x84(r1) -/* 05E1D4 80063774 5460103A */ slwi r0, r3, 2 -/* 05E1D8 80063778 7C9F012E */ stwx r4, r31, r0 -/* 05E1DC 8006377C 480047B8 */ b lbl_80067F34 -lbl_80063780: -/* 05E1E0 80063780 80610084 */ lwz r3, 0x84(r1) -/* 05E1E4 80063784 38030001 */ addi r0, r3, 1 -/* 05E1E8 80063788 90010084 */ stw r0, 0x84(r1) -/* 05E1EC 8006378C 480047A8 */ b lbl_80067F34 -.global lbl_80063790 -lbl_80063790: -/* 05E1F0 80063790 3C7E0001 */ addis r3, r30, 1 -/* 05E1F4 80063794 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 05E1F8 80063798 80A32058 */ lwz r5, 0x2058(r3) -/* 05E1FC 8006379C 38800001 */ li r4, 1 -/* 05E200 800637A0 7C800030 */ slw r0, r4, r0 -/* 05E204 800637A4 7CA00078 */ andc r0, r5, r0 -/* 05E208 800637A8 90032058 */ stw r0, 0x2058(r3) -/* 05E20C 800637AC 48004788 */ b lbl_80067F34 -.global lbl_800637B0 -lbl_800637B0: -/* 05E210 800637B0 3C7E0001 */ addis r3, r30, 1 -/* 05E214 800637B4 80832060 */ lwz r4, 0x2060(r3) -/* 05E218 800637B8 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 05E21C 800637BC 41820270 */ beq lbl_80063A2C -/* 05E220 800637C0 2C110000 */ cmpwi r17, 0 -/* 05E224 800637C4 4182006C */ beq lbl_80063830 -/* 05E228 800637C8 281F0000 */ cmplwi r31, 0 -/* 05E22C 800637CC 41820020 */ beq lbl_800637EC -/* 05E230 800637D0 80610084 */ lwz r3, 0x84(r1) -/* 05E234 800637D4 3C8038C0 */ lis r4, 0x38c0 -/* 05E238 800637D8 38030001 */ addi r0, r3, 1 -/* 05E23C 800637DC 90010084 */ stw r0, 0x84(r1) -/* 05E240 800637E0 5460103A */ slwi r0, r3, 2 -/* 05E244 800637E4 7C9F012E */ stwx r4, r31, r0 -/* 05E248 800637E8 48000010 */ b lbl_800637F8 -lbl_800637EC: -/* 05E24C 800637EC 80610084 */ lwz r3, 0x84(r1) -/* 05E250 800637F0 38030001 */ addi r0, r3, 1 -/* 05E254 800637F4 90010084 */ stw r0, 0x84(r1) -lbl_800637F8: -/* 05E258 800637F8 281F0000 */ cmplwi r31, 0 -/* 05E25C 800637FC 41820028 */ beq lbl_80063824 -/* 05E260 80063800 80610084 */ lwz r3, 0x84(r1) -/* 05E264 80063804 381E002C */ addi r0, r30, 0x2c -/* 05E268 80063808 7C9E0050 */ subf r4, r30, r0 -/* 05E26C 8006380C 38030001 */ addi r0, r3, 1 -/* 05E270 80063810 90010084 */ stw r0, 0x84(r1) -/* 05E274 80063814 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05E278 80063818 5463103A */ slwi r3, r3, 2 -/* 05E27C 8006381C 7C1F192E */ stwx r0, r31, r3 -/* 05E280 80063820 48000010 */ b lbl_80063830 -lbl_80063824: -/* 05E284 80063824 80610084 */ lwz r3, 0x84(r1) -/* 05E288 80063828 38030001 */ addi r0, r3, 1 -/* 05E28C 8006382C 90010084 */ stw r0, 0x84(r1) -lbl_80063830: -/* 05E290 80063830 281F0000 */ cmplwi r31, 0 -/* 05E294 80063834 41820024 */ beq lbl_80063858 -/* 05E298 80063838 80610084 */ lwz r3, 0x84(r1) -/* 05E29C 8006383C 57A0843E */ srwi r0, r29, 0x10 -/* 05E2A0 80063840 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05E2A4 80063844 38030001 */ addi r0, r3, 1 -/* 05E2A8 80063848 90010084 */ stw r0, 0x84(r1) -/* 05E2AC 8006384C 5460103A */ slwi r0, r3, 2 -/* 05E2B0 80063850 7C9F012E */ stwx r4, r31, r0 -/* 05E2B4 80063854 48000010 */ b lbl_80063864 -lbl_80063858: -/* 05E2B8 80063858 80610084 */ lwz r3, 0x84(r1) -/* 05E2BC 8006385C 38030001 */ addi r0, r3, 1 -/* 05E2C0 80063860 90010084 */ stw r0, 0x84(r1) -lbl_80063864: -/* 05E2C4 80063864 281F0000 */ cmplwi r31, 0 -/* 05E2C8 80063868 41820024 */ beq lbl_8006388C -/* 05E2CC 8006386C 80610084 */ lwz r3, 0x84(r1) -/* 05E2D0 80063870 57A0043E */ clrlwi r0, r29, 0x10 -/* 05E2D4 80063874 640460A5 */ oris r4, r0, 0x60a5 -/* 05E2D8 80063878 38030001 */ addi r0, r3, 1 -/* 05E2DC 8006387C 90010084 */ stw r0, 0x84(r1) -/* 05E2E0 80063880 5460103A */ slwi r0, r3, 2 -/* 05E2E4 80063884 7C9F012E */ stwx r4, r31, r0 -/* 05E2E8 80063888 48000010 */ b lbl_80063898 -lbl_8006388C: -/* 05E2EC 8006388C 80610084 */ lwz r3, 0x84(r1) -/* 05E2F0 80063890 38030001 */ addi r0, r3, 1 -/* 05E2F4 80063894 90010084 */ stw r0, 0x84(r1) -lbl_80063898: -/* 05E2F8 80063898 281F0000 */ cmplwi r31, 0 -/* 05E2FC 8006389C 41820034 */ beq lbl_800638D0 -/* 05E300 800638A0 80610084 */ lwz r3, 0x84(r1) -/* 05E304 800638A4 801E0B54 */ lwz r0, 0xb54(r30) -/* 05E308 800638A8 5465103A */ slwi r5, r3, 2 -/* 05E30C 800638AC 7C9F2A14 */ add r4, r31, r5 -/* 05E310 800638B0 7C040050 */ subf r0, r4, r0 -/* 05E314 800638B4 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05E318 800638B8 38630001 */ addi r3, r3, 1 -/* 05E31C 800638BC 64004800 */ oris r0, r0, 0x4800 -/* 05E320 800638C0 90610084 */ stw r3, 0x84(r1) -/* 05E324 800638C4 60000001 */ ori r0, r0, 1 -/* 05E328 800638C8 7C1F292E */ stwx r0, r31, r5 -/* 05E32C 800638CC 48000010 */ b lbl_800638DC -lbl_800638D0: -/* 05E330 800638D0 80610084 */ lwz r3, 0x84(r1) -/* 05E334 800638D4 38030001 */ addi r0, r3, 1 -/* 05E338 800638D8 90010084 */ stw r0, 0x84(r1) -lbl_800638DC: -/* 05E33C 800638DC 3C7E0001 */ addis r3, r30, 1 -/* 05E340 800638E0 80032060 */ lwz r0, 0x2060(r3) -/* 05E344 800638E4 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 05E348 800638E8 41820074 */ beq lbl_8006395C -/* 05E34C 800638EC 281F0000 */ cmplwi r31, 0 -/* 05E350 800638F0 40820014 */ bne lbl_80063904 -/* 05E354 800638F4 80610084 */ lwz r3, 0x84(r1) -/* 05E358 800638F8 38030004 */ addi r0, r3, 4 -/* 05E35C 800638FC 90010084 */ stw r0, 0x84(r1) -/* 05E360 80063900 480000B4 */ b lbl_800639B4 -lbl_80063904: -/* 05E364 80063904 80610084 */ lwz r3, 0x84(r1) -/* 05E368 80063908 3C806000 */ lis r4, 0x6000 -/* 05E36C 8006390C 38030001 */ addi r0, r3, 1 -/* 05E370 80063910 90010084 */ stw r0, 0x84(r1) -/* 05E374 80063914 5460103A */ slwi r0, r3, 2 -/* 05E378 80063918 7C9F012E */ stwx r4, r31, r0 -/* 05E37C 8006391C 80610084 */ lwz r3, 0x84(r1) -/* 05E380 80063920 38030001 */ addi r0, r3, 1 -/* 05E384 80063924 90010084 */ stw r0, 0x84(r1) -/* 05E388 80063928 5460103A */ slwi r0, r3, 2 -/* 05E38C 8006392C 7C9F012E */ stwx r4, r31, r0 -/* 05E390 80063930 80610084 */ lwz r3, 0x84(r1) -/* 05E394 80063934 38030001 */ addi r0, r3, 1 -/* 05E398 80063938 90010084 */ stw r0, 0x84(r1) -/* 05E39C 8006393C 5460103A */ slwi r0, r3, 2 -/* 05E3A0 80063940 7C9F012E */ stwx r4, r31, r0 -/* 05E3A4 80063944 80610084 */ lwz r3, 0x84(r1) -/* 05E3A8 80063948 38030001 */ addi r0, r3, 1 -/* 05E3AC 8006394C 90010084 */ stw r0, 0x84(r1) -/* 05E3B0 80063950 5460103A */ slwi r0, r3, 2 -/* 05E3B4 80063954 7C9F012E */ stwx r4, r31, r0 -/* 05E3B8 80063958 4800005C */ b lbl_800639B4 -lbl_8006395C: -/* 05E3BC 8006395C 281F0000 */ cmplwi r31, 0 -/* 05E3C0 80063960 40820014 */ bne lbl_80063974 -/* 05E3C4 80063964 80610084 */ lwz r3, 0x84(r1) -/* 05E3C8 80063968 38030003 */ addi r0, r3, 3 -/* 05E3CC 8006396C 90010084 */ stw r0, 0x84(r1) -/* 05E3D0 80063970 48000044 */ b lbl_800639B4 -lbl_80063974: -/* 05E3D4 80063974 80610084 */ lwz r3, 0x84(r1) -/* 05E3D8 80063978 3C806000 */ lis r4, 0x6000 -/* 05E3DC 8006397C 38030001 */ addi r0, r3, 1 -/* 05E3E0 80063980 90010084 */ stw r0, 0x84(r1) -/* 05E3E4 80063984 5460103A */ slwi r0, r3, 2 -/* 05E3E8 80063988 7C9F012E */ stwx r4, r31, r0 -/* 05E3EC 8006398C 80610084 */ lwz r3, 0x84(r1) -/* 05E3F0 80063990 38030001 */ addi r0, r3, 1 -/* 05E3F4 80063994 90010084 */ stw r0, 0x84(r1) -/* 05E3F8 80063998 5460103A */ slwi r0, r3, 2 -/* 05E3FC 8006399C 7C9F012E */ stwx r4, r31, r0 -/* 05E400 800639A0 80610084 */ lwz r3, 0x84(r1) -/* 05E404 800639A4 38030001 */ addi r0, r3, 1 -/* 05E408 800639A8 90010084 */ stw r0, 0x84(r1) -/* 05E40C 800639AC 5460103A */ slwi r0, r3, 2 -/* 05E410 800639B0 7C9F012E */ stwx r4, r31, r0 -lbl_800639B4: -/* 05E414 800639B4 2C110000 */ cmpwi r17, 0 -/* 05E418 800639B8 4182457C */ beq lbl_80067F34 -/* 05E41C 800639BC 281F0000 */ cmplwi r31, 0 -/* 05E420 800639C0 41820024 */ beq lbl_800639E4 -/* 05E424 800639C4 80610084 */ lwz r3, 0x84(r1) -/* 05E428 800639C8 3C8038C1 */ lis r4, 0x38c1 -/* 05E42C 800639CC 3884FFFF */ addi r4, r4, -1 -/* 05E430 800639D0 38030001 */ addi r0, r3, 1 -/* 05E434 800639D4 90010084 */ stw r0, 0x84(r1) -/* 05E438 800639D8 5460103A */ slwi r0, r3, 2 -/* 05E43C 800639DC 7C9F012E */ stwx r4, r31, r0 -/* 05E440 800639E0 48000010 */ b lbl_800639F0 -lbl_800639E4: -/* 05E444 800639E4 80610084 */ lwz r3, 0x84(r1) -/* 05E448 800639E8 38030001 */ addi r0, r3, 1 -/* 05E44C 800639EC 90010084 */ stw r0, 0x84(r1) -lbl_800639F0: -/* 05E450 800639F0 281F0000 */ cmplwi r31, 0 -/* 05E454 800639F4 41820028 */ beq lbl_80063A1C -/* 05E458 800639F8 80610084 */ lwz r3, 0x84(r1) -/* 05E45C 800639FC 381E002C */ addi r0, r30, 0x2c -/* 05E460 80063A00 7C9E0050 */ subf r4, r30, r0 -/* 05E464 80063A04 38030001 */ addi r0, r3, 1 -/* 05E468 80063A08 90010084 */ stw r0, 0x84(r1) -/* 05E46C 80063A0C 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05E470 80063A10 5463103A */ slwi r3, r3, 2 -/* 05E474 80063A14 7C1F192E */ stwx r0, r31, r3 -/* 05E478 80063A18 4800451C */ b lbl_80067F34 -lbl_80063A1C: -/* 05E47C 80063A1C 80610084 */ lwz r3, 0x84(r1) -/* 05E480 80063A20 38030001 */ addi r0, r3, 1 -/* 05E484 80063A24 90010084 */ stw r0, 0x84(r1) -/* 05E488 80063A28 4800450C */ b lbl_80067F34 -lbl_80063A2C: -/* 05E48C 80063A2C 548007FF */ clrlwi. r0, r4, 0x1f -/* 05E490 80063A30 418205FC */ beq lbl_8006402C -/* 05E494 80063A34 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 05E498 80063A38 7C9A0214 */ add r4, r26, r0 -/* 05E49C 80063A3C 80E40818 */ lwz r7, 0x818(r4) -/* 05E4A0 80063A40 57885EFE */ rlwinm r8, r28, 0xb, 0x1b, 0x1f -/* 05E4A4 80063A44 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 05E4A8 80063A48 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 05E4AC 80063A4C 41820148 */ beq lbl_80063B94 -/* 05E4B0 80063A50 80032064 */ lwz r0, 0x2064(r3) -/* 05E4B4 80063A54 38E00006 */ li r7, 6 -/* 05E4B8 80063A58 28000000 */ cmplwi r0, 0 -/* 05E4BC 80063A5C 4082000C */ bne lbl_80063A68 -/* 05E4C0 80063A60 38000000 */ li r0, 0 -/* 05E4C4 80063A64 48000094 */ b lbl_80063AF8 -lbl_80063A68: -/* 05E4C8 80063A68 80032068 */ lwz r0, 0x2068(r3) -/* 05E4CC 80063A6C 28000000 */ cmplwi r0, 0 -/* 05E4D0 80063A70 4082000C */ bne lbl_80063A7C -/* 05E4D4 80063A74 38000000 */ li r0, 0 -/* 05E4D8 80063A78 48000080 */ b lbl_80063AF8 -lbl_80063A7C: -/* 05E4DC 80063A7C 8003206C */ lwz r0, 0x206c(r3) -/* 05E4E0 80063A80 7C080000 */ cmpw r8, r0 -/* 05E4E4 80063A84 4182000C */ beq lbl_80063A90 -/* 05E4E8 80063A88 38000000 */ li r0, 0 -/* 05E4EC 80063A8C 4800006C */ b lbl_80063AF8 -lbl_80063A90: -/* 05E4F0 80063A90 80BE0034 */ lwz r5, 0x34(r30) -/* 05E4F4 80063A94 38800000 */ li r4, 0 -/* 05E4F8 80063A98 80050008 */ lwz r0, 8(r5) -/* 05E4FC 80063A9C 2C000000 */ cmpwi r0, 0 -/* 05E500 80063AA0 7C0903A6 */ mtctr r0 -/* 05E504 80063AA4 40810028 */ ble lbl_80063ACC -lbl_80063AA8: -/* 05E508 80063AA8 8065000C */ lwz r3, 0xc(r5) -/* 05E50C 80063AAC 38040004 */ addi r0, r4, 4 -/* 05E510 80063AB0 7C03002E */ lwzx r0, r3, r0 -/* 05E514 80063AB4 7C1D0000 */ cmpw r29, r0 -/* 05E518 80063AB8 4082000C */ bne lbl_80063AC4 -/* 05E51C 80063ABC 38000000 */ li r0, 0 -/* 05E520 80063AC0 48000010 */ b lbl_80063AD0 -lbl_80063AC4: -/* 05E524 80063AC4 38840008 */ addi r4, r4, 8 -/* 05E528 80063AC8 4200FFE0 */ bdnz lbl_80063AA8 -lbl_80063ACC: -/* 05E52C 80063ACC 38000001 */ li r0, 1 -lbl_80063AD0: -/* 05E530 80063AD0 2C000000 */ cmpwi r0, 0 -/* 05E534 80063AD4 40820014 */ bne lbl_80063AE8 -/* 05E538 80063AD8 38000000 */ li r0, 0 -/* 05E53C 80063ADC 3C7E0001 */ addis r3, r30, 1 -/* 05E540 80063AE0 90032068 */ stw r0, 0x2068(r3) -/* 05E544 80063AE4 48000014 */ b lbl_80063AF8 -lbl_80063AE8: -/* 05E548 80063AE8 3C7E0001 */ addis r3, r30, 1 -/* 05E54C 80063AEC 38000000 */ li r0, 0 -/* 05E550 80063AF0 90032068 */ stw r0, 0x2068(r3) -/* 05E554 80063AF4 38000001 */ li r0, 1 -lbl_80063AF8: -/* 05E558 80063AF8 2C000000 */ cmpwi r0, 0 -/* 05E55C 80063AFC 41820050 */ beq lbl_80063B4C -/* 05E560 80063B00 281F0000 */ cmplwi r31, 0 -/* 05E564 80063B04 41820038 */ beq lbl_80063B3C -/* 05E568 80063B08 3C9E0001 */ addis r4, r30, 1 -/* 05E56C 80063B0C 80610084 */ lwz r3, 0x84(r1) -/* 05E570 80063B10 80842070 */ lwz r4, 0x2070(r4) -/* 05E574 80063B14 38A30001 */ addi r5, r3, 1 -/* 05E578 80063B18 5480A814 */ slwi r0, r4, 0x15 -/* 05E57C 80063B1C 90A10084 */ stw r5, 0x84(r1) -/* 05E580 80063B20 64007C06 */ oris r0, r0, 0x7c06 -/* 05E584 80063B24 54845828 */ slwi r4, r4, 0xb -/* 05E588 80063B28 60000378 */ ori r0, r0, 0x378 -/* 05E58C 80063B2C 7C800378 */ or r0, r4, r0 -/* 05E590 80063B30 5463103A */ slwi r3, r3, 2 -/* 05E594 80063B34 7C1F192E */ stwx r0, r31, r3 -/* 05E598 80063B38 4800005C */ b lbl_80063B94 -lbl_80063B3C: -/* 05E59C 80063B3C 80610084 */ lwz r3, 0x84(r1) -/* 05E5A0 80063B40 38030001 */ addi r0, r3, 1 -/* 05E5A4 80063B44 90010084 */ stw r0, 0x84(r1) -/* 05E5A8 80063B48 4800004C */ b lbl_80063B94 -lbl_80063B4C: -/* 05E5AC 80063B4C 281F0000 */ cmplwi r31, 0 -/* 05E5B0 80063B50 41820038 */ beq lbl_80063B88 -/* 05E5B4 80063B54 55041838 */ slwi r4, r8, 3 -/* 05E5B8 80063B58 80610084 */ lwz r3, 0x84(r1) -/* 05E5BC 80063B5C 38040040 */ addi r0, r4, 0x40 -/* 05E5C0 80063B60 7C1E0214 */ add r0, r30, r0 -/* 05E5C4 80063B64 7C9E0050 */ subf r4, r30, r0 -/* 05E5C8 80063B68 38840004 */ addi r4, r4, 4 -/* 05E5CC 80063B6C 38030001 */ addi r0, r3, 1 -/* 05E5D0 80063B70 5484043E */ clrlwi r4, r4, 0x10 -/* 05E5D4 80063B74 90010084 */ stw r0, 0x84(r1) -/* 05E5D8 80063B78 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05E5DC 80063B7C 5463103A */ slwi r3, r3, 2 -/* 05E5E0 80063B80 7C1F192E */ stwx r0, r31, r3 -/* 05E5E4 80063B84 48000010 */ b lbl_80063B94 -lbl_80063B88: -/* 05E5E8 80063B88 80610084 */ lwz r3, 0x84(r1) -/* 05E5EC 80063B8C 38030001 */ addi r0, r3, 1 -/* 05E5F0 80063B90 90010084 */ stw r0, 0x84(r1) -lbl_80063B94: -/* 05E5F4 80063B94 281F0000 */ cmplwi r31, 0 -/* 05E5F8 80063B98 4182002C */ beq lbl_80063BC4 -/* 05E5FC 80063B9C 80610084 */ lwz r3, 0x84(r1) -/* 05E600 80063BA0 54E0801E */ slwi r0, r7, 0x10 -/* 05E604 80063BA4 640038A0 */ oris r0, r0, 0x38a0 -/* 05E608 80063BA8 38830001 */ addi r4, r3, 1 -/* 05E60C 80063BAC 5785043E */ clrlwi r5, r28, 0x10 -/* 05E610 80063BB0 90810084 */ stw r4, 0x84(r1) -/* 05E614 80063BB4 7C002B78 */ or r0, r0, r5 -/* 05E618 80063BB8 5463103A */ slwi r3, r3, 2 -/* 05E61C 80063BBC 7C1F192E */ stwx r0, r31, r3 -/* 05E620 80063BC0 48000010 */ b lbl_80063BD0 -lbl_80063BC4: -/* 05E624 80063BC4 80610084 */ lwz r3, 0x84(r1) -/* 05E628 80063BC8 38030001 */ addi r0, r3, 1 -/* 05E62C 80063BCC 90010084 */ stw r0, 0x84(r1) -lbl_80063BD0: -/* 05E630 80063BD0 281F0000 */ cmplwi r31, 0 -/* 05E634 80063BD4 41820024 */ beq lbl_80063BF8 -/* 05E638 80063BD8 80610084 */ lwz r3, 0x84(r1) -/* 05E63C 80063BDC 3C8054A7 */ lis r4, 0x54a7 -/* 05E640 80063BE0 3884843E */ addi r4, r4, -31682 -/* 05E644 80063BE4 38030001 */ addi r0, r3, 1 -/* 05E648 80063BE8 90010084 */ stw r0, 0x84(r1) -/* 05E64C 80063BEC 5460103A */ slwi r0, r3, 2 -/* 05E650 80063BF0 7C9F012E */ stwx r4, r31, r0 -/* 05E654 80063BF4 48000010 */ b lbl_80063C04 -lbl_80063BF8: -/* 05E658 80063BF8 80610084 */ lwz r3, 0x84(r1) -/* 05E65C 80063BFC 38030001 */ addi r0, r3, 1 -/* 05E660 80063C00 90010084 */ stw r0, 0x84(r1) -lbl_80063C04: -/* 05E664 80063C04 281F0000 */ cmplwi r31, 0 -/* 05E668 80063C08 41820024 */ beq lbl_80063C2C -/* 05E66C 80063C0C 80610084 */ lwz r3, 0x84(r1) -/* 05E670 80063C10 3C807CC6 */ lis r4, 0x7cc6 -/* 05E674 80063C14 388448AE */ addi r4, r4, 0x48ae -/* 05E678 80063C18 38030001 */ addi r0, r3, 1 -/* 05E67C 80063C1C 90010084 */ stw r0, 0x84(r1) -/* 05E680 80063C20 5460103A */ slwi r0, r3, 2 -/* 05E684 80063C24 7C9F012E */ stwx r4, r31, r0 -/* 05E688 80063C28 48000010 */ b lbl_80063C38 -lbl_80063C2C: -/* 05E68C 80063C2C 80610084 */ lwz r3, 0x84(r1) -/* 05E690 80063C30 38030001 */ addi r0, r3, 1 -/* 05E694 80063C34 90010084 */ stw r0, 0x84(r1) -lbl_80063C38: -/* 05E698 80063C38 281F0000 */ cmplwi r31, 0 -/* 05E69C 80063C3C 41820024 */ beq lbl_80063C60 -/* 05E6A0 80063C40 80610084 */ lwz r3, 0x84(r1) -/* 05E6A4 80063C44 3C802C06 */ lis r4, 0x2c06 -/* 05E6A8 80063C48 38840080 */ addi r4, r4, 0x80 -/* 05E6AC 80063C4C 38030001 */ addi r0, r3, 1 -/* 05E6B0 80063C50 90010084 */ stw r0, 0x84(r1) -/* 05E6B4 80063C54 5460103A */ slwi r0, r3, 2 -/* 05E6B8 80063C58 7C9F012E */ stwx r4, r31, r0 -/* 05E6BC 80063C5C 48000010 */ b lbl_80063C6C -lbl_80063C60: -/* 05E6C0 80063C60 80610084 */ lwz r3, 0x84(r1) -/* 05E6C4 80063C64 38030001 */ addi r0, r3, 1 -/* 05E6C8 80063C68 90010084 */ stw r0, 0x84(r1) -lbl_80063C6C: -/* 05E6CC 80063C6C 281F0000 */ cmplwi r31, 0 -/* 05E6D0 80063C70 41820024 */ beq lbl_80063C94 -/* 05E6D4 80063C74 80610084 */ lwz r3, 0x84(r1) -/* 05E6D8 80063C78 3C804180 */ lis r4, 0x4180 -/* 05E6DC 80063C7C 38840010 */ addi r4, r4, 0x10 -/* 05E6E0 80063C80 38030001 */ addi r0, r3, 1 -/* 05E6E4 80063C84 90010084 */ stw r0, 0x84(r1) -/* 05E6E8 80063C88 5460103A */ slwi r0, r3, 2 -/* 05E6EC 80063C8C 7C9F012E */ stwx r4, r31, r0 -/* 05E6F0 80063C90 48000010 */ b lbl_80063CA0 -lbl_80063C94: -/* 05E6F4 80063C94 80610084 */ lwz r3, 0x84(r1) -/* 05E6F8 80063C98 38030001 */ addi r0, r3, 1 -/* 05E6FC 80063C9C 90010084 */ stw r0, 0x84(r1) -lbl_80063CA0: -/* 05E700 80063CA0 281F0000 */ cmplwi r31, 0 -/* 05E704 80063CA4 41820034 */ beq lbl_80063CD8 -/* 05E708 80063CA8 80610084 */ lwz r3, 0x84(r1) -/* 05E70C 80063CAC 800D8A58 */ lwz r0, cpuCompile_LW_function@sda21(r13) -/* 05E710 80063CB0 5465103A */ slwi r5, r3, 2 -/* 05E714 80063CB4 7C9F2A14 */ add r4, r31, r5 -/* 05E718 80063CB8 7C040050 */ subf r0, r4, r0 -/* 05E71C 80063CBC 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05E720 80063CC0 38630001 */ addi r3, r3, 1 -/* 05E724 80063CC4 64004800 */ oris r0, r0, 0x4800 -/* 05E728 80063CC8 90610084 */ stw r3, 0x84(r1) -/* 05E72C 80063CCC 60000001 */ ori r0, r0, 1 -/* 05E730 80063CD0 7C1F292E */ stwx r0, r31, r5 -/* 05E734 80063CD4 48000010 */ b lbl_80063CE4 -lbl_80063CD8: -/* 05E738 80063CD8 80610084 */ lwz r3, 0x84(r1) -/* 05E73C 80063CDC 38030001 */ addi r0, r3, 1 -/* 05E740 80063CE0 90010084 */ stw r0, 0x84(r1) -lbl_80063CE4: -/* 05E744 80063CE4 7CC00E70 */ srawi r0, r6, 1 -/* 05E748 80063CE8 7C000194 */ addze r0, r0 -/* 05E74C 80063CEC 5400083C */ slwi r0, r0, 1 -/* 05E750 80063CF0 7C003010 */ subfc r0, r0, r6 -/* 05E754 80063CF4 2C000001 */ cmpwi r0, 1 -/* 05E758 80063CF8 4082004C */ bne lbl_80063D44 -/* 05E75C 80063CFC 281F0000 */ cmplwi r31, 0 -/* 05E760 80063D00 41820034 */ beq lbl_80063D34 -/* 05E764 80063D04 3806FFFF */ addi r0, r6, -1 -/* 05E768 80063D08 80610084 */ lwz r3, 0x84(r1) -/* 05E76C 80063D0C 54041838 */ slwi r4, r0, 3 -/* 05E770 80063D10 38040140 */ addi r0, r4, 0x140 -/* 05E774 80063D14 7C9E0214 */ add r4, r30, r0 -/* 05E778 80063D18 38030001 */ addi r0, r3, 1 -/* 05E77C 80063D1C 7C9E2050 */ subf r4, r30, r4 -/* 05E780 80063D20 90010084 */ stw r0, 0x84(r1) -/* 05E784 80063D24 3C0490A3 */ addis r0, r4, 0x90a3 -/* 05E788 80063D28 5463103A */ slwi r3, r3, 2 -/* 05E78C 80063D2C 7C1F192E */ stwx r0, r31, r3 -/* 05E790 80063D30 48000058 */ b lbl_80063D88 -lbl_80063D34: -/* 05E794 80063D34 80610084 */ lwz r3, 0x84(r1) -/* 05E798 80063D38 38030001 */ addi r0, r3, 1 -/* 05E79C 80063D3C 90010084 */ stw r0, 0x84(r1) -/* 05E7A0 80063D40 48000048 */ b lbl_80063D88 -lbl_80063D44: -/* 05E7A4 80063D44 281F0000 */ cmplwi r31, 0 -/* 05E7A8 80063D48 41820034 */ beq lbl_80063D7C -/* 05E7AC 80063D4C 54C41838 */ slwi r4, r6, 3 -/* 05E7B0 80063D50 80610084 */ lwz r3, 0x84(r1) -/* 05E7B4 80063D54 38040140 */ addi r0, r4, 0x140 -/* 05E7B8 80063D58 7C1E0214 */ add r0, r30, r0 -/* 05E7BC 80063D5C 7C9E0050 */ subf r4, r30, r0 -/* 05E7C0 80063D60 38030001 */ addi r0, r3, 1 -/* 05E7C4 80063D64 3C8490A3 */ addis r4, r4, 0x90a3 -/* 05E7C8 80063D68 90010084 */ stw r0, 0x84(r1) -/* 05E7CC 80063D6C 38040004 */ addi r0, r4, 4 -/* 05E7D0 80063D70 5463103A */ slwi r3, r3, 2 -/* 05E7D4 80063D74 7C1F192E */ stwx r0, r31, r3 -/* 05E7D8 80063D78 48000010 */ b lbl_80063D88 -lbl_80063D7C: -/* 05E7DC 80063D7C 80610084 */ lwz r3, 0x84(r1) -/* 05E7E0 80063D80 38030001 */ addi r0, r3, 1 -/* 05E7E4 80063D84 90010084 */ stw r0, 0x84(r1) -lbl_80063D88: -/* 05E7E8 80063D88 2C110000 */ cmpwi r17, 0 -/* 05E7EC 80063D8C 418201BC */ beq lbl_80063F48 -/* 05E7F0 80063D90 281F0000 */ cmplwi r31, 0 -/* 05E7F4 80063D94 41820024 */ beq lbl_80063DB8 -/* 05E7F8 80063D98 80610084 */ lwz r3, 0x84(r1) -/* 05E7FC 80063D9C 3C804280 */ lis r4, 0x4280 -/* 05E800 80063DA0 38840020 */ addi r4, r4, 0x20 -/* 05E804 80063DA4 38030001 */ addi r0, r3, 1 -/* 05E808 80063DA8 90010084 */ stw r0, 0x84(r1) -/* 05E80C 80063DAC 5460103A */ slwi r0, r3, 2 -/* 05E810 80063DB0 7C9F012E */ stwx r4, r31, r0 -/* 05E814 80063DB4 48000010 */ b lbl_80063DC4 -lbl_80063DB8: -/* 05E818 80063DB8 80610084 */ lwz r3, 0x84(r1) -/* 05E81C 80063DBC 38030001 */ addi r0, r3, 1 -/* 05E820 80063DC0 90010084 */ stw r0, 0x84(r1) -lbl_80063DC4: -/* 05E824 80063DC4 281F0000 */ cmplwi r31, 0 -/* 05E828 80063DC8 41820020 */ beq lbl_80063DE8 -/* 05E82C 80063DCC 80610084 */ lwz r3, 0x84(r1) -/* 05E830 80063DD0 3C8038C0 */ lis r4, 0x38c0 -/* 05E834 80063DD4 38030001 */ addi r0, r3, 1 -/* 05E838 80063DD8 90010084 */ stw r0, 0x84(r1) -/* 05E83C 80063DDC 5460103A */ slwi r0, r3, 2 -/* 05E840 80063DE0 7C9F012E */ stwx r4, r31, r0 -/* 05E844 80063DE4 48000010 */ b lbl_80063DF4 -lbl_80063DE8: -/* 05E848 80063DE8 80610084 */ lwz r3, 0x84(r1) -/* 05E84C 80063DEC 38030001 */ addi r0, r3, 1 -/* 05E850 80063DF0 90010084 */ stw r0, 0x84(r1) -lbl_80063DF4: -/* 05E854 80063DF4 281F0000 */ cmplwi r31, 0 -/* 05E858 80063DF8 41820028 */ beq lbl_80063E20 -/* 05E85C 80063DFC 80610084 */ lwz r3, 0x84(r1) -/* 05E860 80063E00 381E002C */ addi r0, r30, 0x2c -/* 05E864 80063E04 7C9E0050 */ subf r4, r30, r0 -/* 05E868 80063E08 38030001 */ addi r0, r3, 1 -/* 05E86C 80063E0C 90010084 */ stw r0, 0x84(r1) -/* 05E870 80063E10 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05E874 80063E14 5463103A */ slwi r3, r3, 2 -/* 05E878 80063E18 7C1F192E */ stwx r0, r31, r3 -/* 05E87C 80063E1C 48000010 */ b lbl_80063E2C -lbl_80063E20: -/* 05E880 80063E20 80610084 */ lwz r3, 0x84(r1) -/* 05E884 80063E24 38030001 */ addi r0, r3, 1 -/* 05E888 80063E28 90010084 */ stw r0, 0x84(r1) -lbl_80063E2C: -/* 05E88C 80063E2C 281F0000 */ cmplwi r31, 0 -/* 05E890 80063E30 41820024 */ beq lbl_80063E54 -/* 05E894 80063E34 80610084 */ lwz r3, 0x84(r1) -/* 05E898 80063E38 57A0843E */ srwi r0, r29, 0x10 -/* 05E89C 80063E3C 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05E8A0 80063E40 38030001 */ addi r0, r3, 1 -/* 05E8A4 80063E44 90010084 */ stw r0, 0x84(r1) -/* 05E8A8 80063E48 5460103A */ slwi r0, r3, 2 -/* 05E8AC 80063E4C 7C9F012E */ stwx r4, r31, r0 -/* 05E8B0 80063E50 48000010 */ b lbl_80063E60 -lbl_80063E54: -/* 05E8B4 80063E54 80610084 */ lwz r3, 0x84(r1) -/* 05E8B8 80063E58 38030001 */ addi r0, r3, 1 -/* 05E8BC 80063E5C 90010084 */ stw r0, 0x84(r1) -lbl_80063E60: -/* 05E8C0 80063E60 281F0000 */ cmplwi r31, 0 -/* 05E8C4 80063E64 41820024 */ beq lbl_80063E88 -/* 05E8C8 80063E68 80610084 */ lwz r3, 0x84(r1) -/* 05E8CC 80063E6C 57A0043E */ clrlwi r0, r29, 0x10 -/* 05E8D0 80063E70 640460A5 */ oris r4, r0, 0x60a5 -/* 05E8D4 80063E74 38030001 */ addi r0, r3, 1 -/* 05E8D8 80063E78 90010084 */ stw r0, 0x84(r1) -/* 05E8DC 80063E7C 5460103A */ slwi r0, r3, 2 -/* 05E8E0 80063E80 7C9F012E */ stwx r4, r31, r0 -/* 05E8E4 80063E84 48000010 */ b lbl_80063E94 -lbl_80063E88: -/* 05E8E8 80063E88 80610084 */ lwz r3, 0x84(r1) -/* 05E8EC 80063E8C 38030001 */ addi r0, r3, 1 -/* 05E8F0 80063E90 90010084 */ stw r0, 0x84(r1) -lbl_80063E94: -/* 05E8F4 80063E94 281F0000 */ cmplwi r31, 0 -/* 05E8F8 80063E98 41820034 */ beq lbl_80063ECC -/* 05E8FC 80063E9C 80610084 */ lwz r3, 0x84(r1) -/* 05E900 80063EA0 801E0B40 */ lwz r0, 0xb40(r30) -/* 05E904 80063EA4 5465103A */ slwi r5, r3, 2 -/* 05E908 80063EA8 7C9F2A14 */ add r4, r31, r5 -/* 05E90C 80063EAC 7C040050 */ subf r0, r4, r0 -/* 05E910 80063EB0 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05E914 80063EB4 38630001 */ addi r3, r3, 1 -/* 05E918 80063EB8 64004800 */ oris r0, r0, 0x4800 -/* 05E91C 80063EBC 90610084 */ stw r3, 0x84(r1) -/* 05E920 80063EC0 60000001 */ ori r0, r0, 1 -/* 05E924 80063EC4 7C1F292E */ stwx r0, r31, r5 -/* 05E928 80063EC8 48000010 */ b lbl_80063ED8 -lbl_80063ECC: -/* 05E92C 80063ECC 80610084 */ lwz r3, 0x84(r1) -/* 05E930 80063ED0 38030001 */ addi r0, r3, 1 -/* 05E934 80063ED4 90010084 */ stw r0, 0x84(r1) -lbl_80063ED8: -/* 05E938 80063ED8 281F0000 */ cmplwi r31, 0 -/* 05E93C 80063EDC 41820024 */ beq lbl_80063F00 -/* 05E940 80063EE0 80610084 */ lwz r3, 0x84(r1) -/* 05E944 80063EE4 3C8038C1 */ lis r4, 0x38c1 -/* 05E948 80063EE8 3884FFFF */ addi r4, r4, -1 -/* 05E94C 80063EEC 38030001 */ addi r0, r3, 1 -/* 05E950 80063EF0 90010084 */ stw r0, 0x84(r1) -/* 05E954 80063EF4 5460103A */ slwi r0, r3, 2 -/* 05E958 80063EF8 7C9F012E */ stwx r4, r31, r0 -/* 05E95C 80063EFC 48000010 */ b lbl_80063F0C -lbl_80063F00: -/* 05E960 80063F00 80610084 */ lwz r3, 0x84(r1) -/* 05E964 80063F04 38030001 */ addi r0, r3, 1 -/* 05E968 80063F08 90010084 */ stw r0, 0x84(r1) -lbl_80063F0C: -/* 05E96C 80063F0C 281F0000 */ cmplwi r31, 0 -/* 05E970 80063F10 41820028 */ beq lbl_80063F38 -/* 05E974 80063F14 80610084 */ lwz r3, 0x84(r1) -/* 05E978 80063F18 381E002C */ addi r0, r30, 0x2c -/* 05E97C 80063F1C 7C9E0050 */ subf r4, r30, r0 -/* 05E980 80063F20 38030001 */ addi r0, r3, 1 -/* 05E984 80063F24 90010084 */ stw r0, 0x84(r1) -/* 05E988 80063F28 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05E98C 80063F2C 5463103A */ slwi r3, r3, 2 -/* 05E990 80063F30 7C1F192E */ stwx r0, r31, r3 -/* 05E994 80063F34 48004000 */ b lbl_80067F34 -lbl_80063F38: -/* 05E998 80063F38 80610084 */ lwz r3, 0x84(r1) -/* 05E99C 80063F3C 38030001 */ addi r0, r3, 1 -/* 05E9A0 80063F40 90010084 */ stw r0, 0x84(r1) -/* 05E9A4 80063F44 48003FF0 */ b lbl_80067F34 -lbl_80063F48: -/* 05E9A8 80063F48 281F0000 */ cmplwi r31, 0 -/* 05E9AC 80063F4C 41820024 */ beq lbl_80063F70 -/* 05E9B0 80063F50 80610084 */ lwz r3, 0x84(r1) -/* 05E9B4 80063F54 3C804280 */ lis r4, 0x4280 -/* 05E9B8 80063F58 38840010 */ addi r4, r4, 0x10 -/* 05E9BC 80063F5C 38030001 */ addi r0, r3, 1 -/* 05E9C0 80063F60 90010084 */ stw r0, 0x84(r1) -/* 05E9C4 80063F64 5460103A */ slwi r0, r3, 2 -/* 05E9C8 80063F68 7C9F012E */ stwx r4, r31, r0 -/* 05E9CC 80063F6C 48000010 */ b lbl_80063F7C -lbl_80063F70: -/* 05E9D0 80063F70 80610084 */ lwz r3, 0x84(r1) -/* 05E9D4 80063F74 38030001 */ addi r0, r3, 1 -/* 05E9D8 80063F78 90010084 */ stw r0, 0x84(r1) -lbl_80063F7C: -/* 05E9DC 80063F7C 281F0000 */ cmplwi r31, 0 -/* 05E9E0 80063F80 41820024 */ beq lbl_80063FA4 -/* 05E9E4 80063F84 80610084 */ lwz r3, 0x84(r1) -/* 05E9E8 80063F88 57A0843E */ srwi r0, r29, 0x10 -/* 05E9EC 80063F8C 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05E9F0 80063F90 38030001 */ addi r0, r3, 1 -/* 05E9F4 80063F94 90010084 */ stw r0, 0x84(r1) -/* 05E9F8 80063F98 5460103A */ slwi r0, r3, 2 -/* 05E9FC 80063F9C 7C9F012E */ stwx r4, r31, r0 -/* 05EA00 80063FA0 48000010 */ b lbl_80063FB0 -lbl_80063FA4: -/* 05EA04 80063FA4 80610084 */ lwz r3, 0x84(r1) -/* 05EA08 80063FA8 38030001 */ addi r0, r3, 1 -/* 05EA0C 80063FAC 90010084 */ stw r0, 0x84(r1) -lbl_80063FB0: -/* 05EA10 80063FB0 281F0000 */ cmplwi r31, 0 -/* 05EA14 80063FB4 41820024 */ beq lbl_80063FD8 -/* 05EA18 80063FB8 80610084 */ lwz r3, 0x84(r1) -/* 05EA1C 80063FBC 57A0043E */ clrlwi r0, r29, 0x10 -/* 05EA20 80063FC0 640460A5 */ oris r4, r0, 0x60a5 -/* 05EA24 80063FC4 38030001 */ addi r0, r3, 1 -/* 05EA28 80063FC8 90010084 */ stw r0, 0x84(r1) -/* 05EA2C 80063FCC 5460103A */ slwi r0, r3, 2 -/* 05EA30 80063FD0 7C9F012E */ stwx r4, r31, r0 -/* 05EA34 80063FD4 48000010 */ b lbl_80063FE4 -lbl_80063FD8: -/* 05EA38 80063FD8 80610084 */ lwz r3, 0x84(r1) -/* 05EA3C 80063FDC 38030001 */ addi r0, r3, 1 -/* 05EA40 80063FE0 90010084 */ stw r0, 0x84(r1) -lbl_80063FE4: -/* 05EA44 80063FE4 281F0000 */ cmplwi r31, 0 -/* 05EA48 80063FE8 41820034 */ beq lbl_8006401C -/* 05EA4C 80063FEC 80610084 */ lwz r3, 0x84(r1) -/* 05EA50 80063FF0 801E0B40 */ lwz r0, 0xb40(r30) -/* 05EA54 80063FF4 5465103A */ slwi r5, r3, 2 -/* 05EA58 80063FF8 7C9F2A14 */ add r4, r31, r5 -/* 05EA5C 80063FFC 7C040050 */ subf r0, r4, r0 -/* 05EA60 80064000 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05EA64 80064004 38630001 */ addi r3, r3, 1 -/* 05EA68 80064008 64004800 */ oris r0, r0, 0x4800 -/* 05EA6C 8006400C 90610084 */ stw r3, 0x84(r1) -/* 05EA70 80064010 60000001 */ ori r0, r0, 1 -/* 05EA74 80064014 7C1F292E */ stwx r0, r31, r5 -/* 05EA78 80064018 48003F1C */ b lbl_80067F34 -lbl_8006401C: -/* 05EA7C 8006401C 80610084 */ lwz r3, 0x84(r1) -/* 05EA80 80064020 38030001 */ addi r0, r3, 1 -/* 05EA84 80064024 90010084 */ stw r0, 0x84(r1) -/* 05EA88 80064028 48003F0C */ b lbl_80067F34 -lbl_8006402C: -/* 05EA8C 8006402C 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 05EA90 80064030 7C7A0214 */ add r3, r26, r0 -/* 05EA94 80064034 80030818 */ lwz r0, 0x818(r3) -/* 05EA98 80064038 57985EFE */ rlwinm r24, r28, 0xb, 0x1b, 0x1f -/* 05EA9C 8006403C 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 05EAA0 80064040 40820050 */ bne lbl_80064090 -/* 05EAA4 80064044 281F0000 */ cmplwi r31, 0 -/* 05EAA8 80064048 4182003C */ beq lbl_80064084 -/* 05EAAC 8006404C 57031838 */ slwi r3, r24, 3 -/* 05EAB0 80064050 80810084 */ lwz r4, 0x84(r1) -/* 05EAB4 80064054 38630040 */ addi r3, r3, 0x40 -/* 05EAB8 80064058 5400A814 */ slwi r0, r0, 0x15 -/* 05EABC 8006405C 7CBE1A14 */ add r5, r30, r3 -/* 05EAC0 80064060 38640001 */ addi r3, r4, 1 -/* 05EAC4 80064064 64009003 */ oris r0, r0, 0x9003 -/* 05EAC8 80064068 90610084 */ stw r3, 0x84(r1) -/* 05EACC 8006406C 7C7E2850 */ subf r3, r30, r5 -/* 05EAD0 80064070 7C630214 */ add r3, r3, r0 -/* 05EAD4 80064074 38030004 */ addi r0, r3, 4 -/* 05EAD8 80064078 5483103A */ slwi r3, r4, 2 -/* 05EADC 8006407C 7C1F192E */ stwx r0, r31, r3 -/* 05EAE0 80064080 48000010 */ b lbl_80064090 -lbl_80064084: -/* 05EAE4 80064084 80610084 */ lwz r3, 0x84(r1) -/* 05EAE8 80064088 38030001 */ addi r0, r3, 1 -/* 05EAEC 8006408C 90010084 */ stw r0, 0x84(r1) -lbl_80064090: -/* 05EAF0 80064090 807E0008 */ lwz r3, 8(r30) -/* 05EAF4 80064094 579786FE */ rlwinm r23, r28, 0x10, 0x1b, 0x1f -/* 05EAF8 80064098 38810088 */ addi r4, r1, 0x88 -/* 05EAFC 8006409C 8063002C */ lwz r3, 0x2c(r3) -/* 05EB00 800640A0 48008F31 */ bl ramGetSize -/* 05EB04 800640A4 2C030000 */ cmpwi r3, 0 -/* 05EB08 800640A8 4082000C */ bne lbl_800640B4 -/* 05EB0C 800640AC 38600000 */ li r3, 0 -/* 05EB10 800640B0 48004174 */ b lbl_80068224 -lbl_800640B4: -/* 05EB14 800640B4 281F0000 */ cmplwi r31, 0 -/* 05EB18 800640B8 41820034 */ beq lbl_800640EC -/* 05EB1C 800640BC 57041838 */ slwi r4, r24, 3 -/* 05EB20 800640C0 80610084 */ lwz r3, 0x84(r1) -/* 05EB24 800640C4 38040040 */ addi r0, r4, 0x40 -/* 05EB28 800640C8 7C1E0214 */ add r0, r30, r0 -/* 05EB2C 800640CC 7C9E0050 */ subf r4, r30, r0 -/* 05EB30 800640D0 38030001 */ addi r0, r3, 1 -/* 05EB34 800640D4 3C8480A3 */ addis r4, r4, 0x80a3 -/* 05EB38 800640D8 90010084 */ stw r0, 0x84(r1) -/* 05EB3C 800640DC 38040004 */ addi r0, r4, 4 -/* 05EB40 800640E0 5463103A */ slwi r3, r3, 2 -/* 05EB44 800640E4 7C1F192E */ stwx r0, r31, r3 -/* 05EB48 800640E8 48000010 */ b lbl_800640F8 -lbl_800640EC: -/* 05EB4C 800640EC 80610084 */ lwz r3, 0x84(r1) -/* 05EB50 800640F0 38030001 */ addi r0, r3, 1 -/* 05EB54 800640F4 90010084 */ stw r0, 0x84(r1) -lbl_800640F8: -/* 05EB58 800640F8 281F0000 */ cmplwi r31, 0 -/* 05EB5C 800640FC 41820024 */ beq lbl_80064120 -/* 05EB60 80064100 80610084 */ lwz r3, 0x84(r1) -/* 05EB64 80064104 3C803CE1 */ lis r4, 0x3ce1 -/* 05EB68 80064108 38848000 */ addi r4, r4, -32768 -/* 05EB6C 8006410C 38030001 */ addi r0, r3, 1 -/* 05EB70 80064110 90010084 */ stw r0, 0x84(r1) -/* 05EB74 80064114 5460103A */ slwi r0, r3, 2 -/* 05EB78 80064118 7C9F012E */ stwx r4, r31, r0 -/* 05EB7C 8006411C 48000010 */ b lbl_8006412C -lbl_80064120: -/* 05EB80 80064120 80610084 */ lwz r3, 0x84(r1) -/* 05EB84 80064124 38030001 */ addi r0, r3, 1 -/* 05EB88 80064128 90010084 */ stw r0, 0x84(r1) -lbl_8006412C: -/* 05EB8C 8006412C 281F0000 */ cmplwi r31, 0 -/* 05EB90 80064130 41820024 */ beq lbl_80064154 -/* 05EB94 80064134 80610084 */ lwz r3, 0x84(r1) -/* 05EB98 80064138 3C807C07 */ lis r4, 0x7c07 -/* 05EB9C 8006413C 38842840 */ addi r4, r4, 0x2840 -/* 05EBA0 80064140 38030001 */ addi r0, r3, 1 -/* 05EBA4 80064144 90010084 */ stw r0, 0x84(r1) -/* 05EBA8 80064148 5460103A */ slwi r0, r3, 2 -/* 05EBAC 8006414C 7C9F012E */ stwx r4, r31, r0 -/* 05EBB0 80064150 48000010 */ b lbl_80064160 -lbl_80064154: -/* 05EBB4 80064154 80610084 */ lwz r3, 0x84(r1) -/* 05EBB8 80064158 38030001 */ addi r0, r3, 1 -/* 05EBBC 8006415C 90010084 */ stw r0, 0x84(r1) -lbl_80064160: -/* 05EBC0 80064160 281F0000 */ cmplwi r31, 0 -/* 05EBC4 80064164 41820024 */ beq lbl_80064188 -/* 05EBC8 80064168 80610084 */ lwz r3, 0x84(r1) -/* 05EBCC 8006416C 3C804181 */ lis r4, 0x4181 -/* 05EBD0 80064170 38840014 */ addi r4, r4, 0x14 -/* 05EBD4 80064174 38030001 */ addi r0, r3, 1 -/* 05EBD8 80064178 90010084 */ stw r0, 0x84(r1) -/* 05EBDC 8006417C 5460103A */ slwi r0, r3, 2 -/* 05EBE0 80064180 7C9F012E */ stwx r4, r31, r0 -/* 05EBE4 80064184 48000010 */ b lbl_80064194 -lbl_80064188: -/* 05EBE8 80064188 80610084 */ lwz r3, 0x84(r1) -/* 05EBEC 8006418C 38030001 */ addi r0, r3, 1 -/* 05EBF0 80064190 90010084 */ stw r0, 0x84(r1) -lbl_80064194: -/* 05EBF4 80064194 281F0000 */ cmplwi r31, 0 -/* 05EBF8 80064198 41820030 */ beq lbl_800641C8 -/* 05EBFC 8006419C 80010088 */ lwz r0, 0x88(r1) -/* 05EC00 800641A0 80610084 */ lwz r3, 0x84(r1) -/* 05EC04 800641A4 7C048670 */ srawi r4, r0, 0x10 -/* 05EC08 800641A8 3884FFFF */ addi r4, r4, -1 -/* 05EC0C 800641AC 38030001 */ addi r0, r3, 1 -/* 05EC10 800641B0 64843CE0 */ oris r4, r4, 0x3ce0 -/* 05EC14 800641B4 90010084 */ stw r0, 0x84(r1) -/* 05EC18 800641B8 60848000 */ ori r4, r4, 0x8000 -/* 05EC1C 800641BC 5460103A */ slwi r0, r3, 2 -/* 05EC20 800641C0 7C9F012E */ stwx r4, r31, r0 -/* 05EC24 800641C4 48000010 */ b lbl_800641D4 -lbl_800641C8: -/* 05EC28 800641C8 80610084 */ lwz r3, 0x84(r1) -/* 05EC2C 800641CC 38030001 */ addi r0, r3, 1 -/* 05EC30 800641D0 90010084 */ stw r0, 0x84(r1) -lbl_800641D4: -/* 05EC34 800641D4 281F0000 */ cmplwi r31, 0 -/* 05EC38 800641D8 41820024 */ beq lbl_800641FC -/* 05EC3C 800641DC 80610084 */ lwz r3, 0x84(r1) -/* 05EC40 800641E0 3C8060E8 */ lis r4, 0x60e8 -/* 05EC44 800641E4 3884FFFF */ addi r4, r4, -1 -/* 05EC48 800641E8 38030001 */ addi r0, r3, 1 -/* 05EC4C 800641EC 90010084 */ stw r0, 0x84(r1) -/* 05EC50 800641F0 5460103A */ slwi r0, r3, 2 -/* 05EC54 800641F4 7C9F012E */ stwx r4, r31, r0 -/* 05EC58 800641F8 48000010 */ b lbl_80064208 -lbl_800641FC: -/* 05EC5C 800641FC 80610084 */ lwz r3, 0x84(r1) -/* 05EC60 80064200 38030001 */ addi r0, r3, 1 -/* 05EC64 80064204 90010084 */ stw r0, 0x84(r1) -lbl_80064208: -/* 05EC68 80064208 281F0000 */ cmplwi r31, 0 -/* 05EC6C 8006420C 41820024 */ beq lbl_80064230 -/* 05EC70 80064210 80610084 */ lwz r3, 0x84(r1) -/* 05EC74 80064214 3C807C07 */ lis r4, 0x7c07 -/* 05EC78 80064218 38842840 */ addi r4, r4, 0x2840 -/* 05EC7C 8006421C 38030001 */ addi r0, r3, 1 -/* 05EC80 80064220 90010084 */ stw r0, 0x84(r1) -/* 05EC84 80064224 5460103A */ slwi r0, r3, 2 -/* 05EC88 80064228 7C9F012E */ stwx r4, r31, r0 -/* 05EC8C 8006422C 48000010 */ b lbl_8006423C -lbl_80064230: -/* 05EC90 80064230 80610084 */ lwz r3, 0x84(r1) -/* 05EC94 80064234 38030001 */ addi r0, r3, 1 -/* 05EC98 80064238 90010084 */ stw r0, 0x84(r1) -lbl_8006423C: -/* 05EC9C 8006423C 2C110000 */ cmpwi r17, 0 -/* 05ECA0 80064240 418200A4 */ beq lbl_800642E4 -/* 05ECA4 80064244 281F0000 */ cmplwi r31, 0 -/* 05ECA8 80064248 41820024 */ beq lbl_8006426C -/* 05ECAC 8006424C 80610084 */ lwz r3, 0x84(r1) -/* 05ECB0 80064250 3C804181 */ lis r4, 0x4181 -/* 05ECB4 80064254 38840024 */ addi r4, r4, 0x24 -/* 05ECB8 80064258 38030001 */ addi r0, r3, 1 -/* 05ECBC 8006425C 90010084 */ stw r0, 0x84(r1) -/* 05ECC0 80064260 5460103A */ slwi r0, r3, 2 -/* 05ECC4 80064264 7C9F012E */ stwx r4, r31, r0 -/* 05ECC8 80064268 48000010 */ b lbl_80064278 -lbl_8006426C: -/* 05ECCC 8006426C 80610084 */ lwz r3, 0x84(r1) -/* 05ECD0 80064270 38030001 */ addi r0, r3, 1 -/* 05ECD4 80064274 90010084 */ stw r0, 0x84(r1) -lbl_80064278: -/* 05ECD8 80064278 281F0000 */ cmplwi r31, 0 -/* 05ECDC 8006427C 41820020 */ beq lbl_8006429C -/* 05ECE0 80064280 80610084 */ lwz r3, 0x84(r1) -/* 05ECE4 80064284 3C8038C0 */ lis r4, 0x38c0 -/* 05ECE8 80064288 38030001 */ addi r0, r3, 1 -/* 05ECEC 8006428C 90010084 */ stw r0, 0x84(r1) -/* 05ECF0 80064290 5460103A */ slwi r0, r3, 2 -/* 05ECF4 80064294 7C9F012E */ stwx r4, r31, r0 -/* 05ECF8 80064298 48000010 */ b lbl_800642A8 -lbl_8006429C: -/* 05ECFC 8006429C 80610084 */ lwz r3, 0x84(r1) -/* 05ED00 800642A0 38030001 */ addi r0, r3, 1 -/* 05ED04 800642A4 90010084 */ stw r0, 0x84(r1) -lbl_800642A8: -/* 05ED08 800642A8 281F0000 */ cmplwi r31, 0 -/* 05ED0C 800642AC 41820028 */ beq lbl_800642D4 -/* 05ED10 800642B0 80610084 */ lwz r3, 0x84(r1) -/* 05ED14 800642B4 381E002C */ addi r0, r30, 0x2c -/* 05ED18 800642B8 7C9E0050 */ subf r4, r30, r0 -/* 05ED1C 800642BC 38030001 */ addi r0, r3, 1 -/* 05ED20 800642C0 90010084 */ stw r0, 0x84(r1) -/* 05ED24 800642C4 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05ED28 800642C8 5463103A */ slwi r3, r3, 2 -/* 05ED2C 800642CC 7C1F192E */ stwx r0, r31, r3 -/* 05ED30 800642D0 48000048 */ b lbl_80064318 -lbl_800642D4: -/* 05ED34 800642D4 80610084 */ lwz r3, 0x84(r1) -/* 05ED38 800642D8 38030001 */ addi r0, r3, 1 -/* 05ED3C 800642DC 90010084 */ stw r0, 0x84(r1) -/* 05ED40 800642E0 48000038 */ b lbl_80064318 -lbl_800642E4: -/* 05ED44 800642E4 281F0000 */ cmplwi r31, 0 -/* 05ED48 800642E8 41820024 */ beq lbl_8006430C -/* 05ED4C 800642EC 80610084 */ lwz r3, 0x84(r1) -/* 05ED50 800642F0 3C804181 */ lis r4, 0x4181 -/* 05ED54 800642F4 38840014 */ addi r4, r4, 0x14 -/* 05ED58 800642F8 38030001 */ addi r0, r3, 1 -/* 05ED5C 800642FC 90010084 */ stw r0, 0x84(r1) -/* 05ED60 80064300 5460103A */ slwi r0, r3, 2 -/* 05ED64 80064304 7C9F012E */ stwx r4, r31, r0 -/* 05ED68 80064308 48000010 */ b lbl_80064318 -lbl_8006430C: -/* 05ED6C 8006430C 80610084 */ lwz r3, 0x84(r1) -/* 05ED70 80064310 38030001 */ addi r0, r3, 1 -/* 05ED74 80064314 90010084 */ stw r0, 0x84(r1) -lbl_80064318: -/* 05ED78 80064318 281F0000 */ cmplwi r31, 0 -/* 05ED7C 8006431C 41820024 */ beq lbl_80064340 -/* 05ED80 80064320 80610084 */ lwz r3, 0x84(r1) -/* 05ED84 80064324 57A0843E */ srwi r0, r29, 0x10 -/* 05ED88 80064328 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05ED8C 8006432C 38030001 */ addi r0, r3, 1 -/* 05ED90 80064330 90010084 */ stw r0, 0x84(r1) -/* 05ED94 80064334 5460103A */ slwi r0, r3, 2 -/* 05ED98 80064338 7C9F012E */ stwx r4, r31, r0 -/* 05ED9C 8006433C 48000010 */ b lbl_8006434C -lbl_80064340: -/* 05EDA0 80064340 80610084 */ lwz r3, 0x84(r1) -/* 05EDA4 80064344 38030001 */ addi r0, r3, 1 -/* 05EDA8 80064348 90010084 */ stw r0, 0x84(r1) -lbl_8006434C: -/* 05EDAC 8006434C 281F0000 */ cmplwi r31, 0 -/* 05EDB0 80064350 41820024 */ beq lbl_80064374 -/* 05EDB4 80064354 80610084 */ lwz r3, 0x84(r1) -/* 05EDB8 80064358 57A0043E */ clrlwi r0, r29, 0x10 -/* 05EDBC 8006435C 640460A5 */ oris r4, r0, 0x60a5 -/* 05EDC0 80064360 38030001 */ addi r0, r3, 1 -/* 05EDC4 80064364 90010084 */ stw r0, 0x84(r1) -/* 05EDC8 80064368 5460103A */ slwi r0, r3, 2 -/* 05EDCC 8006436C 7C9F012E */ stwx r4, r31, r0 -/* 05EDD0 80064370 48000010 */ b lbl_80064380 -lbl_80064374: -/* 05EDD4 80064374 80610084 */ lwz r3, 0x84(r1) -/* 05EDD8 80064378 38030001 */ addi r0, r3, 1 -/* 05EDDC 8006437C 90010084 */ stw r0, 0x84(r1) -lbl_80064380: -/* 05EDE0 80064380 281F0000 */ cmplwi r31, 0 -/* 05EDE4 80064384 41820034 */ beq lbl_800643B8 -/* 05EDE8 80064388 80610084 */ lwz r3, 0x84(r1) -/* 05EDEC 8006438C 801E0B40 */ lwz r0, 0xb40(r30) -/* 05EDF0 80064390 5465103A */ slwi r5, r3, 2 -/* 05EDF4 80064394 7C9F2A14 */ add r4, r31, r5 -/* 05EDF8 80064398 7C040050 */ subf r0, r4, r0 -/* 05EDFC 8006439C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05EE00 800643A0 38630001 */ addi r3, r3, 1 -/* 05EE04 800643A4 64004800 */ oris r0, r0, 0x4800 -/* 05EE08 800643A8 90610084 */ stw r3, 0x84(r1) -/* 05EE0C 800643AC 60000001 */ ori r0, r0, 1 -/* 05EE10 800643B0 7C1F292E */ stwx r0, r31, r5 -/* 05EE14 800643B4 48000010 */ b lbl_800643C4 -lbl_800643B8: -/* 05EE18 800643B8 80610084 */ lwz r3, 0x84(r1) -/* 05EE1C 800643BC 38030001 */ addi r0, r3, 1 -/* 05EE20 800643C0 90010084 */ stw r0, 0x84(r1) -lbl_800643C4: -/* 05EE24 800643C4 2C110000 */ cmpwi r17, 0 -/* 05EE28 800643C8 41820070 */ beq lbl_80064438 -/* 05EE2C 800643CC 281F0000 */ cmplwi r31, 0 -/* 05EE30 800643D0 41820024 */ beq lbl_800643F4 -/* 05EE34 800643D4 80610084 */ lwz r3, 0x84(r1) -/* 05EE38 800643D8 3C8038C1 */ lis r4, 0x38c1 -/* 05EE3C 800643DC 3884FFFF */ addi r4, r4, -1 -/* 05EE40 800643E0 38030001 */ addi r0, r3, 1 -/* 05EE44 800643E4 90010084 */ stw r0, 0x84(r1) -/* 05EE48 800643E8 5460103A */ slwi r0, r3, 2 -/* 05EE4C 800643EC 7C9F012E */ stwx r4, r31, r0 -/* 05EE50 800643F0 48000010 */ b lbl_80064400 -lbl_800643F4: -/* 05EE54 800643F4 80610084 */ lwz r3, 0x84(r1) -/* 05EE58 800643F8 38030001 */ addi r0, r3, 1 -/* 05EE5C 800643FC 90010084 */ stw r0, 0x84(r1) -lbl_80064400: -/* 05EE60 80064400 281F0000 */ cmplwi r31, 0 -/* 05EE64 80064404 41820028 */ beq lbl_8006442C -/* 05EE68 80064408 80610084 */ lwz r3, 0x84(r1) -/* 05EE6C 8006440C 381E002C */ addi r0, r30, 0x2c -/* 05EE70 80064410 7C9E0050 */ subf r4, r30, r0 -/* 05EE74 80064414 38030001 */ addi r0, r3, 1 -/* 05EE78 80064418 90010084 */ stw r0, 0x84(r1) -/* 05EE7C 8006441C 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05EE80 80064420 5463103A */ slwi r3, r3, 2 -/* 05EE84 80064424 7C1F192E */ stwx r0, r31, r3 -/* 05EE88 80064428 48000010 */ b lbl_80064438 -lbl_8006442C: -/* 05EE8C 8006442C 80610084 */ lwz r3, 0x84(r1) -/* 05EE90 80064430 38030001 */ addi r0, r3, 1 -/* 05EE94 80064434 90010084 */ stw r0, 0x84(r1) -lbl_80064438: -/* 05EE98 80064438 281F0000 */ cmplwi r31, 0 -/* 05EE9C 8006443C 41820024 */ beq lbl_80064460 -/* 05EEA0 80064440 80610084 */ lwz r3, 0x84(r1) -/* 05EEA4 80064444 3C804280 */ lis r4, 0x4280 -/* 05EEA8 80064448 38840028 */ addi r4, r4, 0x28 -/* 05EEAC 8006444C 38030001 */ addi r0, r3, 1 -/* 05EEB0 80064450 90010084 */ stw r0, 0x84(r1) -/* 05EEB4 80064454 5460103A */ slwi r0, r3, 2 -/* 05EEB8 80064458 7C9F012E */ stwx r4, r31, r0 -/* 05EEBC 8006445C 48000010 */ b lbl_8006446C -lbl_80064460: -/* 05EEC0 80064460 80610084 */ lwz r3, 0x84(r1) -/* 05EEC4 80064464 38030001 */ addi r0, r3, 1 -/* 05EEC8 80064468 90010084 */ stw r0, 0x84(r1) -lbl_8006446C: -/* 05EECC 8006446C 281F0000 */ cmplwi r31, 0 -/* 05EED0 80064470 41820024 */ beq lbl_80064494 -/* 05EED4 80064474 80610084 */ lwz r3, 0x84(r1) -/* 05EED8 80064478 3C807CE5 */ lis r4, 0x7ce5 -/* 05EEDC 8006447C 38844214 */ addi r4, r4, 0x4214 -/* 05EEE0 80064480 38030001 */ addi r0, r3, 1 -/* 05EEE4 80064484 90010084 */ stw r0, 0x84(r1) -/* 05EEE8 80064488 5460103A */ slwi r0, r3, 2 -/* 05EEEC 8006448C 7C9F012E */ stwx r4, r31, r0 -/* 05EEF0 80064490 48000010 */ b lbl_800644A0 -lbl_80064494: -/* 05EEF4 80064494 80610084 */ lwz r3, 0x84(r1) -/* 05EEF8 80064498 38030001 */ addi r0, r3, 1 -/* 05EEFC 8006449C 90010084 */ stw r0, 0x84(r1) -lbl_800644A0: -/* 05EF00 800644A0 281F0000 */ cmplwi r31, 0 -/* 05EF04 800644A4 41820020 */ beq lbl_800644C4 -/* 05EF08 800644A8 80610084 */ lwz r3, 0x84(r1) -/* 05EF0C 800644AC 66E438A0 */ oris r4, r23, 0x38a0 -/* 05EF10 800644B0 38030001 */ addi r0, r3, 1 -/* 05EF14 800644B4 90010084 */ stw r0, 0x84(r1) -/* 05EF18 800644B8 5460103A */ slwi r0, r3, 2 -/* 05EF1C 800644BC 7C9F012E */ stwx r4, r31, r0 -/* 05EF20 800644C0 48000010 */ b lbl_800644D0 -lbl_800644C4: -/* 05EF24 800644C4 80610084 */ lwz r3, 0x84(r1) -/* 05EF28 800644C8 38030001 */ addi r0, r3, 1 -/* 05EF2C 800644CC 90010084 */ stw r0, 0x84(r1) -lbl_800644D0: -/* 05EF30 800644D0 281F0000 */ cmplwi r31, 0 -/* 05EF34 800644D4 41820024 */ beq lbl_800644F8 -/* 05EF38 800644D8 80610084 */ lwz r3, 0x84(r1) -/* 05EF3C 800644DC 3C8070A5 */ lis r4, 0x70a5 -/* 05EF40 800644E0 38840001 */ addi r4, r4, 1 -/* 05EF44 800644E4 38030001 */ addi r0, r3, 1 -/* 05EF48 800644E8 90010084 */ stw r0, 0x84(r1) -/* 05EF4C 800644EC 5460103A */ slwi r0, r3, 2 -/* 05EF50 800644F0 7C9F012E */ stwx r4, r31, r0 -/* 05EF54 800644F4 48000010 */ b lbl_80064504 -lbl_800644F8: -/* 05EF58 800644F8 80610084 */ lwz r3, 0x84(r1) -/* 05EF5C 800644FC 38030001 */ addi r0, r3, 1 -/* 05EF60 80064500 90010084 */ stw r0, 0x84(r1) -lbl_80064504: -/* 05EF64 80064504 281F0000 */ cmplwi r31, 0 -/* 05EF68 80064508 41820024 */ beq lbl_8006452C -/* 05EF6C 8006450C 80610084 */ lwz r3, 0x84(r1) -/* 05EF70 80064510 3C804182 */ lis r4, 0x4182 -/* 05EF74 80064514 38840010 */ addi r4, r4, 0x10 -/* 05EF78 80064518 38030001 */ addi r0, r3, 1 -/* 05EF7C 8006451C 90010084 */ stw r0, 0x84(r1) -/* 05EF80 80064520 5460103A */ slwi r0, r3, 2 -/* 05EF84 80064524 7C9F012E */ stwx r4, r31, r0 -/* 05EF88 80064528 48000010 */ b lbl_80064538 -lbl_8006452C: -/* 05EF8C 8006452C 80610084 */ lwz r3, 0x84(r1) -/* 05EF90 80064530 38030001 */ addi r0, r3, 1 -/* 05EF94 80064534 90010084 */ stw r0, 0x84(r1) -lbl_80064538: -/* 05EF98 80064538 281F0000 */ cmplwi r31, 0 -/* 05EF9C 8006453C 41820024 */ beq lbl_80064560 -/* 05EFA0 80064540 80610084 */ lwz r3, 0x84(r1) -/* 05EFA4 80064544 5780043E */ clrlwi r0, r28, 0x10 -/* 05EFA8 80064548 640480A7 */ oris r4, r0, 0x80a7 -/* 05EFAC 8006454C 38030001 */ addi r0, r3, 1 -/* 05EFB0 80064550 90010084 */ stw r0, 0x84(r1) -/* 05EFB4 80064554 5460103A */ slwi r0, r3, 2 -/* 05EFB8 80064558 7C9F012E */ stwx r4, r31, r0 -/* 05EFBC 8006455C 48000010 */ b lbl_8006456C -lbl_80064560: -/* 05EFC0 80064560 80610084 */ lwz r3, 0x84(r1) -/* 05EFC4 80064564 38030001 */ addi r0, r3, 1 -/* 05EFC8 80064568 90010084 */ stw r0, 0x84(r1) -lbl_8006456C: -/* 05EFCC 8006456C 281F0000 */ cmplwi r31, 0 -/* 05EFD0 80064570 41820034 */ beq lbl_800645A4 -/* 05EFD4 80064574 3817FFFF */ addi r0, r23, -1 -/* 05EFD8 80064578 80610084 */ lwz r3, 0x84(r1) -/* 05EFDC 8006457C 54041838 */ slwi r4, r0, 3 -/* 05EFE0 80064580 38040140 */ addi r0, r4, 0x140 -/* 05EFE4 80064584 7C9E0214 */ add r4, r30, r0 -/* 05EFE8 80064588 38030001 */ addi r0, r3, 1 -/* 05EFEC 8006458C 7C9E2050 */ subf r4, r30, r4 -/* 05EFF0 80064590 90010084 */ stw r0, 0x84(r1) -/* 05EFF4 80064594 3C0490A3 */ addis r0, r4, 0x90a3 -/* 05EFF8 80064598 5463103A */ slwi r3, r3, 2 -/* 05EFFC 8006459C 7C1F192E */ stwx r0, r31, r3 -/* 05F000 800645A0 48000010 */ b lbl_800645B0 -lbl_800645A4: -/* 05F004 800645A4 80610084 */ lwz r3, 0x84(r1) -/* 05F008 800645A8 38030001 */ addi r0, r3, 1 -/* 05F00C 800645AC 90010084 */ stw r0, 0x84(r1) -lbl_800645B0: -/* 05F010 800645B0 281F0000 */ cmplwi r31, 0 -/* 05F014 800645B4 41820024 */ beq lbl_800645D8 -/* 05F018 800645B8 80610084 */ lwz r3, 0x84(r1) -/* 05F01C 800645BC 3C804280 */ lis r4, 0x4280 -/* 05F020 800645C0 3884000C */ addi r4, r4, 0xc -/* 05F024 800645C4 38030001 */ addi r0, r3, 1 -/* 05F028 800645C8 90010084 */ stw r0, 0x84(r1) -/* 05F02C 800645CC 5460103A */ slwi r0, r3, 2 -/* 05F030 800645D0 7C9F012E */ stwx r4, r31, r0 -/* 05F034 800645D4 48000010 */ b lbl_800645E4 -lbl_800645D8: -/* 05F038 800645D8 80610084 */ lwz r3, 0x84(r1) -/* 05F03C 800645DC 38030001 */ addi r0, r3, 1 -/* 05F040 800645E0 90010084 */ stw r0, 0x84(r1) -lbl_800645E4: -/* 05F044 800645E4 281F0000 */ cmplwi r31, 0 -/* 05F048 800645E8 41820024 */ beq lbl_8006460C -/* 05F04C 800645EC 80610084 */ lwz r3, 0x84(r1) -/* 05F050 800645F0 5780043E */ clrlwi r0, r28, 0x10 -/* 05F054 800645F4 640480A7 */ oris r4, r0, 0x80a7 -/* 05F058 800645F8 38030001 */ addi r0, r3, 1 -/* 05F05C 800645FC 90010084 */ stw r0, 0x84(r1) -/* 05F060 80064600 5460103A */ slwi r0, r3, 2 -/* 05F064 80064604 7C9F012E */ stwx r4, r31, r0 -/* 05F068 80064608 48000010 */ b lbl_80064618 -lbl_8006460C: -/* 05F06C 8006460C 80610084 */ lwz r3, 0x84(r1) -/* 05F070 80064610 38030001 */ addi r0, r3, 1 -/* 05F074 80064614 90010084 */ stw r0, 0x84(r1) -lbl_80064618: -/* 05F078 80064618 281F0000 */ cmplwi r31, 0 -/* 05F07C 8006461C 41820034 */ beq lbl_80064650 -/* 05F080 80064620 56E41838 */ slwi r4, r23, 3 -/* 05F084 80064624 80610084 */ lwz r3, 0x84(r1) -/* 05F088 80064628 38040140 */ addi r0, r4, 0x140 -/* 05F08C 8006462C 7C1E0214 */ add r0, r30, r0 -/* 05F090 80064630 7C9E0050 */ subf r4, r30, r0 -/* 05F094 80064634 38030001 */ addi r0, r3, 1 -/* 05F098 80064638 3C8490A3 */ addis r4, r4, 0x90a3 -/* 05F09C 8006463C 90010084 */ stw r0, 0x84(r1) -/* 05F0A0 80064640 38040004 */ addi r0, r4, 4 -/* 05F0A4 80064644 5463103A */ slwi r3, r3, 2 -/* 05F0A8 80064648 7C1F192E */ stwx r0, r31, r3 -/* 05F0AC 8006464C 480038E8 */ b lbl_80067F34 -lbl_80064650: -/* 05F0B0 80064650 80610084 */ lwz r3, 0x84(r1) -/* 05F0B4 80064654 38030001 */ addi r0, r3, 1 -/* 05F0B8 80064658 90010084 */ stw r0, 0x84(r1) -/* 05F0BC 8006465C 480038D8 */ b lbl_80067F34 -.global lbl_80064660 -lbl_80064660: -/* 05F0C0 80064660 3C7E0001 */ addis r3, r30, 1 -/* 05F0C4 80064664 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 05F0C8 80064668 80A32058 */ lwz r5, 0x2058(r3) -/* 05F0CC 8006466C 38800001 */ li r4, 1 -/* 05F0D0 80064670 7C800030 */ slw r0, r4, r0 -/* 05F0D4 80064674 7CA00078 */ andc r0, r5, r0 -/* 05F0D8 80064678 90032058 */ stw r0, 0x2058(r3) -/* 05F0DC 8006467C 480038B8 */ b lbl_80067F34 -.global lbl_80064680 -lbl_80064680: -/* 05F0E0 80064680 3C7E0001 */ addis r3, r30, 1 -/* 05F0E4 80064684 80832060 */ lwz r4, 0x2060(r3) -/* 05F0E8 80064688 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 05F0EC 8006468C 41820270 */ beq lbl_800648FC -/* 05F0F0 80064690 2C110000 */ cmpwi r17, 0 -/* 05F0F4 80064694 4182006C */ beq lbl_80064700 -/* 05F0F8 80064698 281F0000 */ cmplwi r31, 0 -/* 05F0FC 8006469C 41820020 */ beq lbl_800646BC -/* 05F100 800646A0 80610084 */ lwz r3, 0x84(r1) -/* 05F104 800646A4 3C8038C0 */ lis r4, 0x38c0 -/* 05F108 800646A8 38030001 */ addi r0, r3, 1 -/* 05F10C 800646AC 90010084 */ stw r0, 0x84(r1) -/* 05F110 800646B0 5460103A */ slwi r0, r3, 2 -/* 05F114 800646B4 7C9F012E */ stwx r4, r31, r0 -/* 05F118 800646B8 48000010 */ b lbl_800646C8 -lbl_800646BC: -/* 05F11C 800646BC 80610084 */ lwz r3, 0x84(r1) -/* 05F120 800646C0 38030001 */ addi r0, r3, 1 -/* 05F124 800646C4 90010084 */ stw r0, 0x84(r1) -lbl_800646C8: -/* 05F128 800646C8 281F0000 */ cmplwi r31, 0 -/* 05F12C 800646CC 41820028 */ beq lbl_800646F4 -/* 05F130 800646D0 80610084 */ lwz r3, 0x84(r1) -/* 05F134 800646D4 381E002C */ addi r0, r30, 0x2c -/* 05F138 800646D8 7C9E0050 */ subf r4, r30, r0 -/* 05F13C 800646DC 38030001 */ addi r0, r3, 1 -/* 05F140 800646E0 90010084 */ stw r0, 0x84(r1) -/* 05F144 800646E4 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05F148 800646E8 5463103A */ slwi r3, r3, 2 -/* 05F14C 800646EC 7C1F192E */ stwx r0, r31, r3 -/* 05F150 800646F0 48000010 */ b lbl_80064700 -lbl_800646F4: -/* 05F154 800646F4 80610084 */ lwz r3, 0x84(r1) -/* 05F158 800646F8 38030001 */ addi r0, r3, 1 -/* 05F15C 800646FC 90010084 */ stw r0, 0x84(r1) -lbl_80064700: -/* 05F160 80064700 281F0000 */ cmplwi r31, 0 -/* 05F164 80064704 41820024 */ beq lbl_80064728 -/* 05F168 80064708 80610084 */ lwz r3, 0x84(r1) -/* 05F16C 8006470C 57A0843E */ srwi r0, r29, 0x10 -/* 05F170 80064710 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05F174 80064714 38030001 */ addi r0, r3, 1 -/* 05F178 80064718 90010084 */ stw r0, 0x84(r1) -/* 05F17C 8006471C 5460103A */ slwi r0, r3, 2 -/* 05F180 80064720 7C9F012E */ stwx r4, r31, r0 -/* 05F184 80064724 48000010 */ b lbl_80064734 -lbl_80064728: -/* 05F188 80064728 80610084 */ lwz r3, 0x84(r1) -/* 05F18C 8006472C 38030001 */ addi r0, r3, 1 -/* 05F190 80064730 90010084 */ stw r0, 0x84(r1) -lbl_80064734: -/* 05F194 80064734 281F0000 */ cmplwi r31, 0 -/* 05F198 80064738 41820024 */ beq lbl_8006475C -/* 05F19C 8006473C 80610084 */ lwz r3, 0x84(r1) -/* 05F1A0 80064740 57A0043E */ clrlwi r0, r29, 0x10 -/* 05F1A4 80064744 640460A5 */ oris r4, r0, 0x60a5 -/* 05F1A8 80064748 38030001 */ addi r0, r3, 1 -/* 05F1AC 8006474C 90010084 */ stw r0, 0x84(r1) -/* 05F1B0 80064750 5460103A */ slwi r0, r3, 2 -/* 05F1B4 80064754 7C9F012E */ stwx r4, r31, r0 -/* 05F1B8 80064758 48000010 */ b lbl_80064768 -lbl_8006475C: -/* 05F1BC 8006475C 80610084 */ lwz r3, 0x84(r1) -/* 05F1C0 80064760 38030001 */ addi r0, r3, 1 -/* 05F1C4 80064764 90010084 */ stw r0, 0x84(r1) -lbl_80064768: -/* 05F1C8 80064768 281F0000 */ cmplwi r31, 0 -/* 05F1CC 8006476C 41820034 */ beq lbl_800647A0 -/* 05F1D0 80064770 80610084 */ lwz r3, 0x84(r1) -/* 05F1D4 80064774 801E0B54 */ lwz r0, 0xb54(r30) -/* 05F1D8 80064778 5465103A */ slwi r5, r3, 2 -/* 05F1DC 8006477C 7C9F2A14 */ add r4, r31, r5 -/* 05F1E0 80064780 7C040050 */ subf r0, r4, r0 -/* 05F1E4 80064784 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05F1E8 80064788 38630001 */ addi r3, r3, 1 -/* 05F1EC 8006478C 64004800 */ oris r0, r0, 0x4800 -/* 05F1F0 80064790 90610084 */ stw r3, 0x84(r1) -/* 05F1F4 80064794 60000001 */ ori r0, r0, 1 -/* 05F1F8 80064798 7C1F292E */ stwx r0, r31, r5 -/* 05F1FC 8006479C 48000010 */ b lbl_800647AC -lbl_800647A0: -/* 05F200 800647A0 80610084 */ lwz r3, 0x84(r1) -/* 05F204 800647A4 38030001 */ addi r0, r3, 1 -/* 05F208 800647A8 90010084 */ stw r0, 0x84(r1) -lbl_800647AC: -/* 05F20C 800647AC 3C7E0001 */ addis r3, r30, 1 -/* 05F210 800647B0 80032060 */ lwz r0, 0x2060(r3) -/* 05F214 800647B4 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 05F218 800647B8 41820074 */ beq lbl_8006482C -/* 05F21C 800647BC 281F0000 */ cmplwi r31, 0 -/* 05F220 800647C0 40820014 */ bne lbl_800647D4 -/* 05F224 800647C4 80610084 */ lwz r3, 0x84(r1) -/* 05F228 800647C8 38030004 */ addi r0, r3, 4 -/* 05F22C 800647CC 90010084 */ stw r0, 0x84(r1) -/* 05F230 800647D0 480000B4 */ b lbl_80064884 -lbl_800647D4: -/* 05F234 800647D4 80610084 */ lwz r3, 0x84(r1) -/* 05F238 800647D8 3C806000 */ lis r4, 0x6000 -/* 05F23C 800647DC 38030001 */ addi r0, r3, 1 -/* 05F240 800647E0 90010084 */ stw r0, 0x84(r1) -/* 05F244 800647E4 5460103A */ slwi r0, r3, 2 -/* 05F248 800647E8 7C9F012E */ stwx r4, r31, r0 -/* 05F24C 800647EC 80610084 */ lwz r3, 0x84(r1) -/* 05F250 800647F0 38030001 */ addi r0, r3, 1 -/* 05F254 800647F4 90010084 */ stw r0, 0x84(r1) -/* 05F258 800647F8 5460103A */ slwi r0, r3, 2 -/* 05F25C 800647FC 7C9F012E */ stwx r4, r31, r0 -/* 05F260 80064800 80610084 */ lwz r3, 0x84(r1) -/* 05F264 80064804 38030001 */ addi r0, r3, 1 -/* 05F268 80064808 90010084 */ stw r0, 0x84(r1) -/* 05F26C 8006480C 5460103A */ slwi r0, r3, 2 -/* 05F270 80064810 7C9F012E */ stwx r4, r31, r0 -/* 05F274 80064814 80610084 */ lwz r3, 0x84(r1) -/* 05F278 80064818 38030001 */ addi r0, r3, 1 -/* 05F27C 8006481C 90010084 */ stw r0, 0x84(r1) -/* 05F280 80064820 5460103A */ slwi r0, r3, 2 -/* 05F284 80064824 7C9F012E */ stwx r4, r31, r0 -/* 05F288 80064828 4800005C */ b lbl_80064884 -lbl_8006482C: -/* 05F28C 8006482C 281F0000 */ cmplwi r31, 0 -/* 05F290 80064830 40820014 */ bne lbl_80064844 -/* 05F294 80064834 80610084 */ lwz r3, 0x84(r1) -/* 05F298 80064838 38030003 */ addi r0, r3, 3 -/* 05F29C 8006483C 90010084 */ stw r0, 0x84(r1) -/* 05F2A0 80064840 48000044 */ b lbl_80064884 -lbl_80064844: -/* 05F2A4 80064844 80610084 */ lwz r3, 0x84(r1) -/* 05F2A8 80064848 3C806000 */ lis r4, 0x6000 -/* 05F2AC 8006484C 38030001 */ addi r0, r3, 1 -/* 05F2B0 80064850 90010084 */ stw r0, 0x84(r1) -/* 05F2B4 80064854 5460103A */ slwi r0, r3, 2 -/* 05F2B8 80064858 7C9F012E */ stwx r4, r31, r0 -/* 05F2BC 8006485C 80610084 */ lwz r3, 0x84(r1) -/* 05F2C0 80064860 38030001 */ addi r0, r3, 1 -/* 05F2C4 80064864 90010084 */ stw r0, 0x84(r1) -/* 05F2C8 80064868 5460103A */ slwi r0, r3, 2 -/* 05F2CC 8006486C 7C9F012E */ stwx r4, r31, r0 -/* 05F2D0 80064870 80610084 */ lwz r3, 0x84(r1) -/* 05F2D4 80064874 38030001 */ addi r0, r3, 1 -/* 05F2D8 80064878 90010084 */ stw r0, 0x84(r1) -/* 05F2DC 8006487C 5460103A */ slwi r0, r3, 2 -/* 05F2E0 80064880 7C9F012E */ stwx r4, r31, r0 -lbl_80064884: -/* 05F2E4 80064884 2C110000 */ cmpwi r17, 0 -/* 05F2E8 80064888 418236AC */ beq lbl_80067F34 -/* 05F2EC 8006488C 281F0000 */ cmplwi r31, 0 -/* 05F2F0 80064890 41820024 */ beq lbl_800648B4 -/* 05F2F4 80064894 80610084 */ lwz r3, 0x84(r1) -/* 05F2F8 80064898 3C8038C1 */ lis r4, 0x38c1 -/* 05F2FC 8006489C 3884FFFF */ addi r4, r4, -1 -/* 05F300 800648A0 38030001 */ addi r0, r3, 1 -/* 05F304 800648A4 90010084 */ stw r0, 0x84(r1) -/* 05F308 800648A8 5460103A */ slwi r0, r3, 2 -/* 05F30C 800648AC 7C9F012E */ stwx r4, r31, r0 -/* 05F310 800648B0 48000010 */ b lbl_800648C0 -lbl_800648B4: -/* 05F314 800648B4 80610084 */ lwz r3, 0x84(r1) -/* 05F318 800648B8 38030001 */ addi r0, r3, 1 -/* 05F31C 800648BC 90010084 */ stw r0, 0x84(r1) -lbl_800648C0: -/* 05F320 800648C0 281F0000 */ cmplwi r31, 0 -/* 05F324 800648C4 41820028 */ beq lbl_800648EC -/* 05F328 800648C8 80610084 */ lwz r3, 0x84(r1) -/* 05F32C 800648CC 381E002C */ addi r0, r30, 0x2c -/* 05F330 800648D0 7C9E0050 */ subf r4, r30, r0 -/* 05F334 800648D4 38030001 */ addi r0, r3, 1 -/* 05F338 800648D8 90010084 */ stw r0, 0x84(r1) -/* 05F33C 800648DC 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05F340 800648E0 5463103A */ slwi r3, r3, 2 -/* 05F344 800648E4 7C1F192E */ stwx r0, r31, r3 -/* 05F348 800648E8 4800364C */ b lbl_80067F34 -lbl_800648EC: -/* 05F34C 800648EC 80610084 */ lwz r3, 0x84(r1) -/* 05F350 800648F0 38030001 */ addi r0, r3, 1 -/* 05F354 800648F4 90010084 */ stw r0, 0x84(r1) -/* 05F358 800648F8 4800363C */ b lbl_80067F34 -lbl_800648FC: -/* 05F35C 800648FC 548007FF */ clrlwi. r0, r4, 0x1f -/* 05F360 80064900 418205DC */ beq lbl_80064EDC -/* 05F364 80064904 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 05F368 80064908 7C9A0214 */ add r4, r26, r0 -/* 05F36C 8006490C 80C40818 */ lwz r6, 0x818(r4) -/* 05F370 80064910 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 05F374 80064914 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 05F378 80064918 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 05F37C 8006491C 41820148 */ beq lbl_80064A64 -/* 05F380 80064920 80032064 */ lwz r0, 0x2064(r3) -/* 05F384 80064924 38C00006 */ li r6, 6 -/* 05F388 80064928 28000000 */ cmplwi r0, 0 -/* 05F38C 8006492C 4082000C */ bne lbl_80064938 -/* 05F390 80064930 38000000 */ li r0, 0 -/* 05F394 80064934 48000094 */ b lbl_800649C8 -lbl_80064938: -/* 05F398 80064938 80032068 */ lwz r0, 0x2068(r3) -/* 05F39C 8006493C 28000000 */ cmplwi r0, 0 -/* 05F3A0 80064940 4082000C */ bne lbl_8006494C -/* 05F3A4 80064944 38000000 */ li r0, 0 -/* 05F3A8 80064948 48000080 */ b lbl_800649C8 -lbl_8006494C: -/* 05F3AC 8006494C 8003206C */ lwz r0, 0x206c(r3) -/* 05F3B0 80064950 7C070000 */ cmpw r7, r0 -/* 05F3B4 80064954 4182000C */ beq lbl_80064960 -/* 05F3B8 80064958 38000000 */ li r0, 0 -/* 05F3BC 8006495C 4800006C */ b lbl_800649C8 -lbl_80064960: -/* 05F3C0 80064960 80BE0034 */ lwz r5, 0x34(r30) -/* 05F3C4 80064964 38800000 */ li r4, 0 -/* 05F3C8 80064968 80050008 */ lwz r0, 8(r5) -/* 05F3CC 8006496C 2C000000 */ cmpwi r0, 0 -/* 05F3D0 80064970 7C0903A6 */ mtctr r0 -/* 05F3D4 80064974 40810028 */ ble lbl_8006499C -lbl_80064978: -/* 05F3D8 80064978 8065000C */ lwz r3, 0xc(r5) -/* 05F3DC 8006497C 38040004 */ addi r0, r4, 4 -/* 05F3E0 80064980 7C03002E */ lwzx r0, r3, r0 -/* 05F3E4 80064984 7C1D0000 */ cmpw r29, r0 -/* 05F3E8 80064988 4082000C */ bne lbl_80064994 -/* 05F3EC 8006498C 38000000 */ li r0, 0 -/* 05F3F0 80064990 48000010 */ b lbl_800649A0 -lbl_80064994: -/* 05F3F4 80064994 38840008 */ addi r4, r4, 8 -/* 05F3F8 80064998 4200FFE0 */ bdnz lbl_80064978 -lbl_8006499C: -/* 05F3FC 8006499C 38000001 */ li r0, 1 -lbl_800649A0: -/* 05F400 800649A0 2C000000 */ cmpwi r0, 0 -/* 05F404 800649A4 40820014 */ bne lbl_800649B8 -/* 05F408 800649A8 38000000 */ li r0, 0 -/* 05F40C 800649AC 3C7E0001 */ addis r3, r30, 1 -/* 05F410 800649B0 90032068 */ stw r0, 0x2068(r3) -/* 05F414 800649B4 48000014 */ b lbl_800649C8 -lbl_800649B8: -/* 05F418 800649B8 3C7E0001 */ addis r3, r30, 1 -/* 05F41C 800649BC 38000000 */ li r0, 0 -/* 05F420 800649C0 90032068 */ stw r0, 0x2068(r3) -/* 05F424 800649C4 38000001 */ li r0, 1 -lbl_800649C8: -/* 05F428 800649C8 2C000000 */ cmpwi r0, 0 -/* 05F42C 800649CC 41820050 */ beq lbl_80064A1C -/* 05F430 800649D0 281F0000 */ cmplwi r31, 0 -/* 05F434 800649D4 41820038 */ beq lbl_80064A0C -/* 05F438 800649D8 3C9E0001 */ addis r4, r30, 1 -/* 05F43C 800649DC 80610084 */ lwz r3, 0x84(r1) -/* 05F440 800649E0 80A42070 */ lwz r5, 0x2070(r4) -/* 05F444 800649E4 38030001 */ addi r0, r3, 1 -/* 05F448 800649E8 54A4A814 */ slwi r4, r5, 0x15 -/* 05F44C 800649EC 90010084 */ stw r0, 0x84(r1) -/* 05F450 800649F0 64807C06 */ oris r0, r4, 0x7c06 -/* 05F454 800649F4 54A45828 */ slwi r4, r5, 0xb -/* 05F458 800649F8 60000378 */ ori r0, r0, 0x378 -/* 05F45C 800649FC 7C800378 */ or r0, r4, r0 -/* 05F460 80064A00 5463103A */ slwi r3, r3, 2 -/* 05F464 80064A04 7C1F192E */ stwx r0, r31, r3 -/* 05F468 80064A08 4800005C */ b lbl_80064A64 -lbl_80064A0C: -/* 05F46C 80064A0C 80610084 */ lwz r3, 0x84(r1) -/* 05F470 80064A10 38030001 */ addi r0, r3, 1 -/* 05F474 80064A14 90010084 */ stw r0, 0x84(r1) -/* 05F478 80064A18 4800004C */ b lbl_80064A64 -lbl_80064A1C: -/* 05F47C 80064A1C 281F0000 */ cmplwi r31, 0 -/* 05F480 80064A20 41820038 */ beq lbl_80064A58 -/* 05F484 80064A24 54E41838 */ slwi r4, r7, 3 -/* 05F488 80064A28 80610084 */ lwz r3, 0x84(r1) -/* 05F48C 80064A2C 38040040 */ addi r0, r4, 0x40 -/* 05F490 80064A30 7C1E0214 */ add r0, r30, r0 -/* 05F494 80064A34 7C9E0050 */ subf r4, r30, r0 -/* 05F498 80064A38 38840004 */ addi r4, r4, 4 -/* 05F49C 80064A3C 38030001 */ addi r0, r3, 1 -/* 05F4A0 80064A40 5484043E */ clrlwi r4, r4, 0x10 -/* 05F4A4 80064A44 90010084 */ stw r0, 0x84(r1) -/* 05F4A8 80064A48 3C0480C3 */ addis r0, r4, 0x80c3 -/* 05F4AC 80064A4C 5463103A */ slwi r3, r3, 2 -/* 05F4B0 80064A50 7C1F192E */ stwx r0, r31, r3 -/* 05F4B4 80064A54 48000010 */ b lbl_80064A64 -lbl_80064A58: -/* 05F4B8 80064A58 80610084 */ lwz r3, 0x84(r1) -/* 05F4BC 80064A5C 38030001 */ addi r0, r3, 1 -/* 05F4C0 80064A60 90010084 */ stw r0, 0x84(r1) -lbl_80064A64: -/* 05F4C4 80064A64 281F0000 */ cmplwi r31, 0 -/* 05F4C8 80064A68 4182002C */ beq lbl_80064A94 -/* 05F4CC 80064A6C 80610084 */ lwz r3, 0x84(r1) -/* 05F4D0 80064A70 54C0801E */ slwi r0, r6, 0x10 -/* 05F4D4 80064A74 640038A0 */ oris r0, r0, 0x38a0 -/* 05F4D8 80064A78 38830001 */ addi r4, r3, 1 -/* 05F4DC 80064A7C 5785043E */ clrlwi r5, r28, 0x10 -/* 05F4E0 80064A80 90810084 */ stw r4, 0x84(r1) -/* 05F4E4 80064A84 7C002B78 */ or r0, r0, r5 -/* 05F4E8 80064A88 5463103A */ slwi r3, r3, 2 -/* 05F4EC 80064A8C 7C1F192E */ stwx r0, r31, r3 -/* 05F4F0 80064A90 48000010 */ b lbl_80064AA0 -lbl_80064A94: -/* 05F4F4 80064A94 80610084 */ lwz r3, 0x84(r1) -/* 05F4F8 80064A98 38030001 */ addi r0, r3, 1 -/* 05F4FC 80064A9C 90010084 */ stw r0, 0x84(r1) -lbl_80064AA0: -/* 05F500 80064AA0 281F0000 */ cmplwi r31, 0 -/* 05F504 80064AA4 41820024 */ beq lbl_80064AC8 -/* 05F508 80064AA8 80610084 */ lwz r3, 0x84(r1) -/* 05F50C 80064AAC 3C8054A7 */ lis r4, 0x54a7 -/* 05F510 80064AB0 3884843E */ addi r4, r4, -31682 -/* 05F514 80064AB4 38030001 */ addi r0, r3, 1 -/* 05F518 80064AB8 90010084 */ stw r0, 0x84(r1) -/* 05F51C 80064ABC 5460103A */ slwi r0, r3, 2 -/* 05F520 80064AC0 7C9F012E */ stwx r4, r31, r0 -/* 05F524 80064AC4 48000010 */ b lbl_80064AD4 -lbl_80064AC8: -/* 05F528 80064AC8 80610084 */ lwz r3, 0x84(r1) -/* 05F52C 80064ACC 38030001 */ addi r0, r3, 1 -/* 05F530 80064AD0 90010084 */ stw r0, 0x84(r1) -lbl_80064AD4: -/* 05F534 80064AD4 281F0000 */ cmplwi r31, 0 -/* 05F538 80064AD8 41820024 */ beq lbl_80064AFC -/* 05F53C 80064ADC 80610084 */ lwz r3, 0x84(r1) -/* 05F540 80064AE0 3C807CC6 */ lis r4, 0x7cc6 -/* 05F544 80064AE4 388448AE */ addi r4, r4, 0x48ae -/* 05F548 80064AE8 38030001 */ addi r0, r3, 1 -/* 05F54C 80064AEC 90010084 */ stw r0, 0x84(r1) -/* 05F550 80064AF0 5460103A */ slwi r0, r3, 2 -/* 05F554 80064AF4 7C9F012E */ stwx r4, r31, r0 -/* 05F558 80064AF8 48000010 */ b lbl_80064B08 -lbl_80064AFC: -/* 05F55C 80064AFC 80610084 */ lwz r3, 0x84(r1) -/* 05F560 80064B00 38030001 */ addi r0, r3, 1 -/* 05F564 80064B04 90010084 */ stw r0, 0x84(r1) -lbl_80064B08: -/* 05F568 80064B08 281F0000 */ cmplwi r31, 0 -/* 05F56C 80064B0C 41820024 */ beq lbl_80064B30 -/* 05F570 80064B10 80610084 */ lwz r3, 0x84(r1) -/* 05F574 80064B14 3C802C06 */ lis r4, 0x2c06 -/* 05F578 80064B18 38840080 */ addi r4, r4, 0x80 -/* 05F57C 80064B1C 38030001 */ addi r0, r3, 1 -/* 05F580 80064B20 90010084 */ stw r0, 0x84(r1) -/* 05F584 80064B24 5460103A */ slwi r0, r3, 2 -/* 05F588 80064B28 7C9F012E */ stwx r4, r31, r0 -/* 05F58C 80064B2C 48000010 */ b lbl_80064B3C -lbl_80064B30: -/* 05F590 80064B30 80610084 */ lwz r3, 0x84(r1) -/* 05F594 80064B34 38030001 */ addi r0, r3, 1 -/* 05F598 80064B38 90010084 */ stw r0, 0x84(r1) -lbl_80064B3C: -/* 05F59C 80064B3C 281F0000 */ cmplwi r31, 0 -/* 05F5A0 80064B40 41820024 */ beq lbl_80064B64 -/* 05F5A4 80064B44 80610084 */ lwz r3, 0x84(r1) -/* 05F5A8 80064B48 3C804180 */ lis r4, 0x4180 -/* 05F5AC 80064B4C 38840014 */ addi r4, r4, 0x14 -/* 05F5B0 80064B50 38030001 */ addi r0, r3, 1 -/* 05F5B4 80064B54 90010084 */ stw r0, 0x84(r1) -/* 05F5B8 80064B58 5460103A */ slwi r0, r3, 2 -/* 05F5BC 80064B5C 7C9F012E */ stwx r4, r31, r0 -/* 05F5C0 80064B60 48000010 */ b lbl_80064B70 -lbl_80064B64: -/* 05F5C4 80064B64 80610084 */ lwz r3, 0x84(r1) -/* 05F5C8 80064B68 38030001 */ addi r0, r3, 1 -/* 05F5CC 80064B6C 90010084 */ stw r0, 0x84(r1) -lbl_80064B70: -/* 05F5D0 80064B70 281F0000 */ cmplwi r31, 0 -/* 05F5D4 80064B74 41820034 */ beq lbl_80064BA8 -/* 05F5D8 80064B78 80610084 */ lwz r3, 0x84(r1) -/* 05F5DC 80064B7C 800D8A70 */ lwz r0, cpuCompile_LDC_function@sda21(r13) -/* 05F5E0 80064B80 5465103A */ slwi r5, r3, 2 -/* 05F5E4 80064B84 7C9F2A14 */ add r4, r31, r5 -/* 05F5E8 80064B88 7C040050 */ subf r0, r4, r0 -/* 05F5EC 80064B8C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05F5F0 80064B90 38630001 */ addi r3, r3, 1 -/* 05F5F4 80064B94 64004800 */ oris r0, r0, 0x4800 -/* 05F5F8 80064B98 90610084 */ stw r3, 0x84(r1) -/* 05F5FC 80064B9C 60000001 */ ori r0, r0, 1 -/* 05F600 80064BA0 7C1F292E */ stwx r0, r31, r5 -/* 05F604 80064BA4 48000010 */ b lbl_80064BB4 -lbl_80064BA8: -/* 05F608 80064BA8 80610084 */ lwz r3, 0x84(r1) -/* 05F60C 80064BAC 38030001 */ addi r0, r3, 1 -/* 05F610 80064BB0 90010084 */ stw r0, 0x84(r1) -lbl_80064BB4: -/* 05F614 80064BB4 281F0000 */ cmplwi r31, 0 -/* 05F618 80064BB8 41820030 */ beq lbl_80064BE8 -/* 05F61C 80064BBC 80610084 */ lwz r3, 0x84(r1) -/* 05F620 80064BC0 55041838 */ slwi r4, r8, 3 -/* 05F624 80064BC4 38040140 */ addi r0, r4, 0x140 -/* 05F628 80064BC8 7C9E0214 */ add r4, r30, r0 -/* 05F62C 80064BCC 38030001 */ addi r0, r3, 1 -/* 05F630 80064BD0 7C9E2050 */ subf r4, r30, r4 -/* 05F634 80064BD4 90010084 */ stw r0, 0x84(r1) -/* 05F638 80064BD8 3C0490A3 */ addis r0, r4, 0x90a3 -/* 05F63C 80064BDC 5463103A */ slwi r3, r3, 2 -/* 05F640 80064BE0 7C1F192E */ stwx r0, r31, r3 -/* 05F644 80064BE4 48000010 */ b lbl_80064BF4 -lbl_80064BE8: -/* 05F648 80064BE8 80610084 */ lwz r3, 0x84(r1) -/* 05F64C 80064BEC 38030001 */ addi r0, r3, 1 -/* 05F650 80064BF0 90010084 */ stw r0, 0x84(r1) -lbl_80064BF4: -/* 05F654 80064BF4 281F0000 */ cmplwi r31, 0 -/* 05F658 80064BF8 41820034 */ beq lbl_80064C2C -/* 05F65C 80064BFC 55041838 */ slwi r4, r8, 3 -/* 05F660 80064C00 80610084 */ lwz r3, 0x84(r1) -/* 05F664 80064C04 38040140 */ addi r0, r4, 0x140 -/* 05F668 80064C08 7C1E0214 */ add r0, r30, r0 -/* 05F66C 80064C0C 7C9E0050 */ subf r4, r30, r0 -/* 05F670 80064C10 38030001 */ addi r0, r3, 1 -/* 05F674 80064C14 3C8490C3 */ addis r4, r4, 0x90c3 -/* 05F678 80064C18 90010084 */ stw r0, 0x84(r1) -/* 05F67C 80064C1C 38040004 */ addi r0, r4, 4 -/* 05F680 80064C20 5463103A */ slwi r3, r3, 2 -/* 05F684 80064C24 7C1F192E */ stwx r0, r31, r3 -/* 05F688 80064C28 48000010 */ b lbl_80064C38 -lbl_80064C2C: -/* 05F68C 80064C2C 80610084 */ lwz r3, 0x84(r1) -/* 05F690 80064C30 38030001 */ addi r0, r3, 1 -/* 05F694 80064C34 90010084 */ stw r0, 0x84(r1) -lbl_80064C38: -/* 05F698 80064C38 2C110000 */ cmpwi r17, 0 -/* 05F69C 80064C3C 418201BC */ beq lbl_80064DF8 -/* 05F6A0 80064C40 281F0000 */ cmplwi r31, 0 -/* 05F6A4 80064C44 41820024 */ beq lbl_80064C68 -/* 05F6A8 80064C48 80610084 */ lwz r3, 0x84(r1) -/* 05F6AC 80064C4C 3C804280 */ lis r4, 0x4280 -/* 05F6B0 80064C50 38840020 */ addi r4, r4, 0x20 -/* 05F6B4 80064C54 38030001 */ addi r0, r3, 1 -/* 05F6B8 80064C58 90010084 */ stw r0, 0x84(r1) -/* 05F6BC 80064C5C 5460103A */ slwi r0, r3, 2 -/* 05F6C0 80064C60 7C9F012E */ stwx r4, r31, r0 -/* 05F6C4 80064C64 48000010 */ b lbl_80064C74 -lbl_80064C68: -/* 05F6C8 80064C68 80610084 */ lwz r3, 0x84(r1) -/* 05F6CC 80064C6C 38030001 */ addi r0, r3, 1 -/* 05F6D0 80064C70 90010084 */ stw r0, 0x84(r1) -lbl_80064C74: -/* 05F6D4 80064C74 281F0000 */ cmplwi r31, 0 -/* 05F6D8 80064C78 41820020 */ beq lbl_80064C98 -/* 05F6DC 80064C7C 80610084 */ lwz r3, 0x84(r1) -/* 05F6E0 80064C80 3C8038C0 */ lis r4, 0x38c0 -/* 05F6E4 80064C84 38030001 */ addi r0, r3, 1 -/* 05F6E8 80064C88 90010084 */ stw r0, 0x84(r1) -/* 05F6EC 80064C8C 5460103A */ slwi r0, r3, 2 -/* 05F6F0 80064C90 7C9F012E */ stwx r4, r31, r0 -/* 05F6F4 80064C94 48000010 */ b lbl_80064CA4 -lbl_80064C98: -/* 05F6F8 80064C98 80610084 */ lwz r3, 0x84(r1) -/* 05F6FC 80064C9C 38030001 */ addi r0, r3, 1 -/* 05F700 80064CA0 90010084 */ stw r0, 0x84(r1) -lbl_80064CA4: -/* 05F704 80064CA4 281F0000 */ cmplwi r31, 0 -/* 05F708 80064CA8 41820028 */ beq lbl_80064CD0 -/* 05F70C 80064CAC 80610084 */ lwz r3, 0x84(r1) -/* 05F710 80064CB0 381E002C */ addi r0, r30, 0x2c -/* 05F714 80064CB4 7C9E0050 */ subf r4, r30, r0 -/* 05F718 80064CB8 38030001 */ addi r0, r3, 1 -/* 05F71C 80064CBC 90010084 */ stw r0, 0x84(r1) -/* 05F720 80064CC0 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05F724 80064CC4 5463103A */ slwi r3, r3, 2 -/* 05F728 80064CC8 7C1F192E */ stwx r0, r31, r3 -/* 05F72C 80064CCC 48000010 */ b lbl_80064CDC -lbl_80064CD0: -/* 05F730 80064CD0 80610084 */ lwz r3, 0x84(r1) -/* 05F734 80064CD4 38030001 */ addi r0, r3, 1 -/* 05F738 80064CD8 90010084 */ stw r0, 0x84(r1) -lbl_80064CDC: -/* 05F73C 80064CDC 281F0000 */ cmplwi r31, 0 -/* 05F740 80064CE0 41820024 */ beq lbl_80064D04 -/* 05F744 80064CE4 80610084 */ lwz r3, 0x84(r1) -/* 05F748 80064CE8 57A0843E */ srwi r0, r29, 0x10 -/* 05F74C 80064CEC 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05F750 80064CF0 38030001 */ addi r0, r3, 1 -/* 05F754 80064CF4 90010084 */ stw r0, 0x84(r1) -/* 05F758 80064CF8 5460103A */ slwi r0, r3, 2 -/* 05F75C 80064CFC 7C9F012E */ stwx r4, r31, r0 -/* 05F760 80064D00 48000010 */ b lbl_80064D10 -lbl_80064D04: -/* 05F764 80064D04 80610084 */ lwz r3, 0x84(r1) -/* 05F768 80064D08 38030001 */ addi r0, r3, 1 -/* 05F76C 80064D0C 90010084 */ stw r0, 0x84(r1) -lbl_80064D10: -/* 05F770 80064D10 281F0000 */ cmplwi r31, 0 -/* 05F774 80064D14 41820024 */ beq lbl_80064D38 -/* 05F778 80064D18 80610084 */ lwz r3, 0x84(r1) -/* 05F77C 80064D1C 57A0043E */ clrlwi r0, r29, 0x10 -/* 05F780 80064D20 640460A5 */ oris r4, r0, 0x60a5 -/* 05F784 80064D24 38030001 */ addi r0, r3, 1 -/* 05F788 80064D28 90010084 */ stw r0, 0x84(r1) -/* 05F78C 80064D2C 5460103A */ slwi r0, r3, 2 -/* 05F790 80064D30 7C9F012E */ stwx r4, r31, r0 -/* 05F794 80064D34 48000010 */ b lbl_80064D44 -lbl_80064D38: -/* 05F798 80064D38 80610084 */ lwz r3, 0x84(r1) -/* 05F79C 80064D3C 38030001 */ addi r0, r3, 1 -/* 05F7A0 80064D40 90010084 */ stw r0, 0x84(r1) -lbl_80064D44: -/* 05F7A4 80064D44 281F0000 */ cmplwi r31, 0 -/* 05F7A8 80064D48 41820034 */ beq lbl_80064D7C -/* 05F7AC 80064D4C 80610084 */ lwz r3, 0x84(r1) -/* 05F7B0 80064D50 801E0B40 */ lwz r0, 0xb40(r30) -/* 05F7B4 80064D54 5465103A */ slwi r5, r3, 2 -/* 05F7B8 80064D58 7C9F2A14 */ add r4, r31, r5 -/* 05F7BC 80064D5C 7C040050 */ subf r0, r4, r0 -/* 05F7C0 80064D60 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05F7C4 80064D64 38630001 */ addi r3, r3, 1 -/* 05F7C8 80064D68 64004800 */ oris r0, r0, 0x4800 -/* 05F7CC 80064D6C 90610084 */ stw r3, 0x84(r1) -/* 05F7D0 80064D70 60000001 */ ori r0, r0, 1 -/* 05F7D4 80064D74 7C1F292E */ stwx r0, r31, r5 -/* 05F7D8 80064D78 48000010 */ b lbl_80064D88 -lbl_80064D7C: -/* 05F7DC 80064D7C 80610084 */ lwz r3, 0x84(r1) -/* 05F7E0 80064D80 38030001 */ addi r0, r3, 1 -/* 05F7E4 80064D84 90010084 */ stw r0, 0x84(r1) -lbl_80064D88: -/* 05F7E8 80064D88 281F0000 */ cmplwi r31, 0 -/* 05F7EC 80064D8C 41820024 */ beq lbl_80064DB0 -/* 05F7F0 80064D90 80610084 */ lwz r3, 0x84(r1) -/* 05F7F4 80064D94 3C8038C1 */ lis r4, 0x38c1 -/* 05F7F8 80064D98 3884FFFF */ addi r4, r4, -1 -/* 05F7FC 80064D9C 38030001 */ addi r0, r3, 1 -/* 05F800 80064DA0 90010084 */ stw r0, 0x84(r1) -/* 05F804 80064DA4 5460103A */ slwi r0, r3, 2 -/* 05F808 80064DA8 7C9F012E */ stwx r4, r31, r0 -/* 05F80C 80064DAC 48000010 */ b lbl_80064DBC -lbl_80064DB0: -/* 05F810 80064DB0 80610084 */ lwz r3, 0x84(r1) -/* 05F814 80064DB4 38030001 */ addi r0, r3, 1 -/* 05F818 80064DB8 90010084 */ stw r0, 0x84(r1) -lbl_80064DBC: -/* 05F81C 80064DBC 281F0000 */ cmplwi r31, 0 -/* 05F820 80064DC0 41820028 */ beq lbl_80064DE8 -/* 05F824 80064DC4 80610084 */ lwz r3, 0x84(r1) -/* 05F828 80064DC8 381E002C */ addi r0, r30, 0x2c -/* 05F82C 80064DCC 7C9E0050 */ subf r4, r30, r0 -/* 05F830 80064DD0 38030001 */ addi r0, r3, 1 -/* 05F834 80064DD4 90010084 */ stw r0, 0x84(r1) -/* 05F838 80064DD8 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05F83C 80064DDC 5463103A */ slwi r3, r3, 2 -/* 05F840 80064DE0 7C1F192E */ stwx r0, r31, r3 -/* 05F844 80064DE4 48003150 */ b lbl_80067F34 -lbl_80064DE8: -/* 05F848 80064DE8 80610084 */ lwz r3, 0x84(r1) -/* 05F84C 80064DEC 38030001 */ addi r0, r3, 1 -/* 05F850 80064DF0 90010084 */ stw r0, 0x84(r1) -/* 05F854 80064DF4 48003140 */ b lbl_80067F34 -lbl_80064DF8: -/* 05F858 80064DF8 281F0000 */ cmplwi r31, 0 -/* 05F85C 80064DFC 41820024 */ beq lbl_80064E20 -/* 05F860 80064E00 80610084 */ lwz r3, 0x84(r1) -/* 05F864 80064E04 3C804280 */ lis r4, 0x4280 -/* 05F868 80064E08 38840010 */ addi r4, r4, 0x10 -/* 05F86C 80064E0C 38030001 */ addi r0, r3, 1 -/* 05F870 80064E10 90010084 */ stw r0, 0x84(r1) -/* 05F874 80064E14 5460103A */ slwi r0, r3, 2 -/* 05F878 80064E18 7C9F012E */ stwx r4, r31, r0 -/* 05F87C 80064E1C 48000010 */ b lbl_80064E2C -lbl_80064E20: -/* 05F880 80064E20 80610084 */ lwz r3, 0x84(r1) -/* 05F884 80064E24 38030001 */ addi r0, r3, 1 -/* 05F888 80064E28 90010084 */ stw r0, 0x84(r1) -lbl_80064E2C: -/* 05F88C 80064E2C 281F0000 */ cmplwi r31, 0 -/* 05F890 80064E30 41820024 */ beq lbl_80064E54 -/* 05F894 80064E34 80610084 */ lwz r3, 0x84(r1) -/* 05F898 80064E38 57A0843E */ srwi r0, r29, 0x10 -/* 05F89C 80064E3C 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05F8A0 80064E40 38030001 */ addi r0, r3, 1 -/* 05F8A4 80064E44 90010084 */ stw r0, 0x84(r1) -/* 05F8A8 80064E48 5460103A */ slwi r0, r3, 2 -/* 05F8AC 80064E4C 7C9F012E */ stwx r4, r31, r0 -/* 05F8B0 80064E50 48000010 */ b lbl_80064E60 -lbl_80064E54: -/* 05F8B4 80064E54 80610084 */ lwz r3, 0x84(r1) -/* 05F8B8 80064E58 38030001 */ addi r0, r3, 1 -/* 05F8BC 80064E5C 90010084 */ stw r0, 0x84(r1) -lbl_80064E60: -/* 05F8C0 80064E60 281F0000 */ cmplwi r31, 0 -/* 05F8C4 80064E64 41820024 */ beq lbl_80064E88 -/* 05F8C8 80064E68 80610084 */ lwz r3, 0x84(r1) -/* 05F8CC 80064E6C 57A0043E */ clrlwi r0, r29, 0x10 -/* 05F8D0 80064E70 640460A5 */ oris r4, r0, 0x60a5 -/* 05F8D4 80064E74 38030001 */ addi r0, r3, 1 -/* 05F8D8 80064E78 90010084 */ stw r0, 0x84(r1) -/* 05F8DC 80064E7C 5460103A */ slwi r0, r3, 2 -/* 05F8E0 80064E80 7C9F012E */ stwx r4, r31, r0 -/* 05F8E4 80064E84 48000010 */ b lbl_80064E94 -lbl_80064E88: -/* 05F8E8 80064E88 80610084 */ lwz r3, 0x84(r1) -/* 05F8EC 80064E8C 38030001 */ addi r0, r3, 1 -/* 05F8F0 80064E90 90010084 */ stw r0, 0x84(r1) -lbl_80064E94: -/* 05F8F4 80064E94 281F0000 */ cmplwi r31, 0 -/* 05F8F8 80064E98 41820034 */ beq lbl_80064ECC -/* 05F8FC 80064E9C 80610084 */ lwz r3, 0x84(r1) -/* 05F900 80064EA0 801E0B40 */ lwz r0, 0xb40(r30) -/* 05F904 80064EA4 5465103A */ slwi r5, r3, 2 -/* 05F908 80064EA8 7C9F2A14 */ add r4, r31, r5 -/* 05F90C 80064EAC 7C040050 */ subf r0, r4, r0 -/* 05F910 80064EB0 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05F914 80064EB4 38630001 */ addi r3, r3, 1 -/* 05F918 80064EB8 64004800 */ oris r0, r0, 0x4800 -/* 05F91C 80064EBC 90610084 */ stw r3, 0x84(r1) -/* 05F920 80064EC0 60000001 */ ori r0, r0, 1 -/* 05F924 80064EC4 7C1F292E */ stwx r0, r31, r5 -/* 05F928 80064EC8 4800306C */ b lbl_80067F34 -lbl_80064ECC: -/* 05F92C 80064ECC 80610084 */ lwz r3, 0x84(r1) -/* 05F930 80064ED0 38030001 */ addi r0, r3, 1 -/* 05F934 80064ED4 90010084 */ stw r0, 0x84(r1) -/* 05F938 80064ED8 4800305C */ b lbl_80067F34 -lbl_80064EDC: -/* 05F93C 80064EDC 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 05F940 80064EE0 7C7A0214 */ add r3, r26, r0 -/* 05F944 80064EE4 80030818 */ lwz r0, 0x818(r3) -/* 05F948 80064EE8 57985EFE */ rlwinm r24, r28, 0xb, 0x1b, 0x1f -/* 05F94C 80064EEC 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 05F950 80064EF0 40820050 */ bne lbl_80064F40 -/* 05F954 80064EF4 281F0000 */ cmplwi r31, 0 -/* 05F958 80064EF8 4182003C */ beq lbl_80064F34 -/* 05F95C 80064EFC 57031838 */ slwi r3, r24, 3 -/* 05F960 80064F00 80810084 */ lwz r4, 0x84(r1) -/* 05F964 80064F04 38630040 */ addi r3, r3, 0x40 -/* 05F968 80064F08 5400A814 */ slwi r0, r0, 0x15 -/* 05F96C 80064F0C 7CBE1A14 */ add r5, r30, r3 -/* 05F970 80064F10 38640001 */ addi r3, r4, 1 -/* 05F974 80064F14 64009003 */ oris r0, r0, 0x9003 -/* 05F978 80064F18 90610084 */ stw r3, 0x84(r1) -/* 05F97C 80064F1C 7C7E2850 */ subf r3, r30, r5 -/* 05F980 80064F20 7C630214 */ add r3, r3, r0 -/* 05F984 80064F24 38030004 */ addi r0, r3, 4 -/* 05F988 80064F28 5483103A */ slwi r3, r4, 2 -/* 05F98C 80064F2C 7C1F192E */ stwx r0, r31, r3 -/* 05F990 80064F30 48000010 */ b lbl_80064F40 -lbl_80064F34: -/* 05F994 80064F34 80610084 */ lwz r3, 0x84(r1) -/* 05F998 80064F38 38030001 */ addi r0, r3, 1 -/* 05F99C 80064F3C 90010084 */ stw r0, 0x84(r1) -lbl_80064F40: -/* 05F9A0 80064F40 807E0008 */ lwz r3, 8(r30) -/* 05F9A4 80064F44 579786FE */ rlwinm r23, r28, 0x10, 0x1b, 0x1f -/* 05F9A8 80064F48 38810088 */ addi r4, r1, 0x88 -/* 05F9AC 80064F4C 8063002C */ lwz r3, 0x2c(r3) -/* 05F9B0 80064F50 48008081 */ bl ramGetSize -/* 05F9B4 80064F54 2C030000 */ cmpwi r3, 0 -/* 05F9B8 80064F58 4082000C */ bne lbl_80064F64 -/* 05F9BC 80064F5C 38600000 */ li r3, 0 -/* 05F9C0 80064F60 480032C4 */ b lbl_80068224 -lbl_80064F64: -/* 05F9C4 80064F64 281F0000 */ cmplwi r31, 0 -/* 05F9C8 80064F68 41820034 */ beq lbl_80064F9C -/* 05F9CC 80064F6C 57041838 */ slwi r4, r24, 3 -/* 05F9D0 80064F70 80610084 */ lwz r3, 0x84(r1) -/* 05F9D4 80064F74 38040040 */ addi r0, r4, 0x40 -/* 05F9D8 80064F78 7C1E0214 */ add r0, r30, r0 -/* 05F9DC 80064F7C 7C9E0050 */ subf r4, r30, r0 -/* 05F9E0 80064F80 38030001 */ addi r0, r3, 1 -/* 05F9E4 80064F84 3C8480A3 */ addis r4, r4, 0x80a3 -/* 05F9E8 80064F88 90010084 */ stw r0, 0x84(r1) -/* 05F9EC 80064F8C 38040004 */ addi r0, r4, 4 -/* 05F9F0 80064F90 5463103A */ slwi r3, r3, 2 -/* 05F9F4 80064F94 7C1F192E */ stwx r0, r31, r3 -/* 05F9F8 80064F98 48000010 */ b lbl_80064FA8 -lbl_80064F9C: -/* 05F9FC 80064F9C 80610084 */ lwz r3, 0x84(r1) -/* 05FA00 80064FA0 38030001 */ addi r0, r3, 1 -/* 05FA04 80064FA4 90010084 */ stw r0, 0x84(r1) -lbl_80064FA8: -/* 05FA08 80064FA8 281F0000 */ cmplwi r31, 0 -/* 05FA0C 80064FAC 41820024 */ beq lbl_80064FD0 -/* 05FA10 80064FB0 80610084 */ lwz r3, 0x84(r1) -/* 05FA14 80064FB4 3C803CE1 */ lis r4, 0x3ce1 -/* 05FA18 80064FB8 38848000 */ addi r4, r4, -32768 -/* 05FA1C 80064FBC 38030001 */ addi r0, r3, 1 -/* 05FA20 80064FC0 90010084 */ stw r0, 0x84(r1) -/* 05FA24 80064FC4 5460103A */ slwi r0, r3, 2 -/* 05FA28 80064FC8 7C9F012E */ stwx r4, r31, r0 -/* 05FA2C 80064FCC 48000010 */ b lbl_80064FDC -lbl_80064FD0: -/* 05FA30 80064FD0 80610084 */ lwz r3, 0x84(r1) -/* 05FA34 80064FD4 38030001 */ addi r0, r3, 1 -/* 05FA38 80064FD8 90010084 */ stw r0, 0x84(r1) -lbl_80064FDC: -/* 05FA3C 80064FDC 281F0000 */ cmplwi r31, 0 -/* 05FA40 80064FE0 41820024 */ beq lbl_80065004 -/* 05FA44 80064FE4 80610084 */ lwz r3, 0x84(r1) -/* 05FA48 80064FE8 3C807C07 */ lis r4, 0x7c07 -/* 05FA4C 80064FEC 38842840 */ addi r4, r4, 0x2840 -/* 05FA50 80064FF0 38030001 */ addi r0, r3, 1 -/* 05FA54 80064FF4 90010084 */ stw r0, 0x84(r1) -/* 05FA58 80064FF8 5460103A */ slwi r0, r3, 2 -/* 05FA5C 80064FFC 7C9F012E */ stwx r4, r31, r0 -/* 05FA60 80065000 48000010 */ b lbl_80065010 -lbl_80065004: -/* 05FA64 80065004 80610084 */ lwz r3, 0x84(r1) -/* 05FA68 80065008 38030001 */ addi r0, r3, 1 -/* 05FA6C 8006500C 90010084 */ stw r0, 0x84(r1) -lbl_80065010: -/* 05FA70 80065010 281F0000 */ cmplwi r31, 0 -/* 05FA74 80065014 41820024 */ beq lbl_80065038 -/* 05FA78 80065018 80610084 */ lwz r3, 0x84(r1) -/* 05FA7C 8006501C 3C804181 */ lis r4, 0x4181 -/* 05FA80 80065020 38840014 */ addi r4, r4, 0x14 -/* 05FA84 80065024 38030001 */ addi r0, r3, 1 -/* 05FA88 80065028 90010084 */ stw r0, 0x84(r1) -/* 05FA8C 8006502C 5460103A */ slwi r0, r3, 2 -/* 05FA90 80065030 7C9F012E */ stwx r4, r31, r0 -/* 05FA94 80065034 48000010 */ b lbl_80065044 -lbl_80065038: -/* 05FA98 80065038 80610084 */ lwz r3, 0x84(r1) -/* 05FA9C 8006503C 38030001 */ addi r0, r3, 1 -/* 05FAA0 80065040 90010084 */ stw r0, 0x84(r1) -lbl_80065044: -/* 05FAA4 80065044 281F0000 */ cmplwi r31, 0 -/* 05FAA8 80065048 41820030 */ beq lbl_80065078 -/* 05FAAC 8006504C 80010088 */ lwz r0, 0x88(r1) -/* 05FAB0 80065050 80610084 */ lwz r3, 0x84(r1) -/* 05FAB4 80065054 7C048670 */ srawi r4, r0, 0x10 -/* 05FAB8 80065058 3884FFFF */ addi r4, r4, -1 -/* 05FABC 8006505C 38030001 */ addi r0, r3, 1 -/* 05FAC0 80065060 64843CE0 */ oris r4, r4, 0x3ce0 -/* 05FAC4 80065064 90010084 */ stw r0, 0x84(r1) -/* 05FAC8 80065068 60848000 */ ori r4, r4, 0x8000 -/* 05FACC 8006506C 5460103A */ slwi r0, r3, 2 -/* 05FAD0 80065070 7C9F012E */ stwx r4, r31, r0 -/* 05FAD4 80065074 48000010 */ b lbl_80065084 -lbl_80065078: -/* 05FAD8 80065078 80610084 */ lwz r3, 0x84(r1) -/* 05FADC 8006507C 38030001 */ addi r0, r3, 1 -/* 05FAE0 80065080 90010084 */ stw r0, 0x84(r1) -lbl_80065084: -/* 05FAE4 80065084 281F0000 */ cmplwi r31, 0 -/* 05FAE8 80065088 41820024 */ beq lbl_800650AC -/* 05FAEC 8006508C 80610084 */ lwz r3, 0x84(r1) -/* 05FAF0 80065090 3C8060E8 */ lis r4, 0x60e8 -/* 05FAF4 80065094 3884FFFF */ addi r4, r4, -1 -/* 05FAF8 80065098 38030001 */ addi r0, r3, 1 -/* 05FAFC 8006509C 90010084 */ stw r0, 0x84(r1) -/* 05FB00 800650A0 5460103A */ slwi r0, r3, 2 -/* 05FB04 800650A4 7C9F012E */ stwx r4, r31, r0 -/* 05FB08 800650A8 48000010 */ b lbl_800650B8 -lbl_800650AC: -/* 05FB0C 800650AC 80610084 */ lwz r3, 0x84(r1) -/* 05FB10 800650B0 38030001 */ addi r0, r3, 1 -/* 05FB14 800650B4 90010084 */ stw r0, 0x84(r1) -lbl_800650B8: -/* 05FB18 800650B8 281F0000 */ cmplwi r31, 0 -/* 05FB1C 800650BC 41820024 */ beq lbl_800650E0 -/* 05FB20 800650C0 80610084 */ lwz r3, 0x84(r1) -/* 05FB24 800650C4 3C807C07 */ lis r4, 0x7c07 -/* 05FB28 800650C8 38842840 */ addi r4, r4, 0x2840 -/* 05FB2C 800650CC 38030001 */ addi r0, r3, 1 -/* 05FB30 800650D0 90010084 */ stw r0, 0x84(r1) -/* 05FB34 800650D4 5460103A */ slwi r0, r3, 2 -/* 05FB38 800650D8 7C9F012E */ stwx r4, r31, r0 -/* 05FB3C 800650DC 48000010 */ b lbl_800650EC -lbl_800650E0: -/* 05FB40 800650E0 80610084 */ lwz r3, 0x84(r1) -/* 05FB44 800650E4 38030001 */ addi r0, r3, 1 -/* 05FB48 800650E8 90010084 */ stw r0, 0x84(r1) -lbl_800650EC: -/* 05FB4C 800650EC 2C110000 */ cmpwi r17, 0 -/* 05FB50 800650F0 418200A4 */ beq lbl_80065194 -/* 05FB54 800650F4 281F0000 */ cmplwi r31, 0 -/* 05FB58 800650F8 41820024 */ beq lbl_8006511C -/* 05FB5C 800650FC 80610084 */ lwz r3, 0x84(r1) -/* 05FB60 80065100 3C804181 */ lis r4, 0x4181 -/* 05FB64 80065104 38840024 */ addi r4, r4, 0x24 -/* 05FB68 80065108 38030001 */ addi r0, r3, 1 -/* 05FB6C 8006510C 90010084 */ stw r0, 0x84(r1) -/* 05FB70 80065110 5460103A */ slwi r0, r3, 2 -/* 05FB74 80065114 7C9F012E */ stwx r4, r31, r0 -/* 05FB78 80065118 48000010 */ b lbl_80065128 -lbl_8006511C: -/* 05FB7C 8006511C 80610084 */ lwz r3, 0x84(r1) -/* 05FB80 80065120 38030001 */ addi r0, r3, 1 -/* 05FB84 80065124 90010084 */ stw r0, 0x84(r1) -lbl_80065128: -/* 05FB88 80065128 281F0000 */ cmplwi r31, 0 -/* 05FB8C 8006512C 41820020 */ beq lbl_8006514C -/* 05FB90 80065130 80610084 */ lwz r3, 0x84(r1) -/* 05FB94 80065134 3C8038C0 */ lis r4, 0x38c0 -/* 05FB98 80065138 38030001 */ addi r0, r3, 1 -/* 05FB9C 8006513C 90010084 */ stw r0, 0x84(r1) -/* 05FBA0 80065140 5460103A */ slwi r0, r3, 2 -/* 05FBA4 80065144 7C9F012E */ stwx r4, r31, r0 -/* 05FBA8 80065148 48000010 */ b lbl_80065158 -lbl_8006514C: -/* 05FBAC 8006514C 80610084 */ lwz r3, 0x84(r1) -/* 05FBB0 80065150 38030001 */ addi r0, r3, 1 -/* 05FBB4 80065154 90010084 */ stw r0, 0x84(r1) -lbl_80065158: -/* 05FBB8 80065158 281F0000 */ cmplwi r31, 0 -/* 05FBBC 8006515C 41820028 */ beq lbl_80065184 -/* 05FBC0 80065160 80610084 */ lwz r3, 0x84(r1) -/* 05FBC4 80065164 381E002C */ addi r0, r30, 0x2c -/* 05FBC8 80065168 7C9E0050 */ subf r4, r30, r0 -/* 05FBCC 8006516C 38030001 */ addi r0, r3, 1 -/* 05FBD0 80065170 90010084 */ stw r0, 0x84(r1) -/* 05FBD4 80065174 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05FBD8 80065178 5463103A */ slwi r3, r3, 2 -/* 05FBDC 8006517C 7C1F192E */ stwx r0, r31, r3 -/* 05FBE0 80065180 48000048 */ b lbl_800651C8 -lbl_80065184: -/* 05FBE4 80065184 80610084 */ lwz r3, 0x84(r1) -/* 05FBE8 80065188 38030001 */ addi r0, r3, 1 -/* 05FBEC 8006518C 90010084 */ stw r0, 0x84(r1) -/* 05FBF0 80065190 48000038 */ b lbl_800651C8 -lbl_80065194: -/* 05FBF4 80065194 281F0000 */ cmplwi r31, 0 -/* 05FBF8 80065198 41820024 */ beq lbl_800651BC -/* 05FBFC 8006519C 80610084 */ lwz r3, 0x84(r1) -/* 05FC00 800651A0 3C804181 */ lis r4, 0x4181 -/* 05FC04 800651A4 38840014 */ addi r4, r4, 0x14 -/* 05FC08 800651A8 38030001 */ addi r0, r3, 1 -/* 05FC0C 800651AC 90010084 */ stw r0, 0x84(r1) -/* 05FC10 800651B0 5460103A */ slwi r0, r3, 2 -/* 05FC14 800651B4 7C9F012E */ stwx r4, r31, r0 -/* 05FC18 800651B8 48000010 */ b lbl_800651C8 -lbl_800651BC: -/* 05FC1C 800651BC 80610084 */ lwz r3, 0x84(r1) -/* 05FC20 800651C0 38030001 */ addi r0, r3, 1 -/* 05FC24 800651C4 90010084 */ stw r0, 0x84(r1) -lbl_800651C8: -/* 05FC28 800651C8 281F0000 */ cmplwi r31, 0 -/* 05FC2C 800651CC 41820024 */ beq lbl_800651F0 -/* 05FC30 800651D0 80610084 */ lwz r3, 0x84(r1) -/* 05FC34 800651D4 57A0843E */ srwi r0, r29, 0x10 -/* 05FC38 800651D8 64043CA0 */ oris r4, r0, 0x3ca0 -/* 05FC3C 800651DC 38030001 */ addi r0, r3, 1 -/* 05FC40 800651E0 90010084 */ stw r0, 0x84(r1) -/* 05FC44 800651E4 5460103A */ slwi r0, r3, 2 -/* 05FC48 800651E8 7C9F012E */ stwx r4, r31, r0 -/* 05FC4C 800651EC 48000010 */ b lbl_800651FC -lbl_800651F0: -/* 05FC50 800651F0 80610084 */ lwz r3, 0x84(r1) -/* 05FC54 800651F4 38030001 */ addi r0, r3, 1 -/* 05FC58 800651F8 90010084 */ stw r0, 0x84(r1) -lbl_800651FC: -/* 05FC5C 800651FC 281F0000 */ cmplwi r31, 0 -/* 05FC60 80065200 41820024 */ beq lbl_80065224 -/* 05FC64 80065204 80610084 */ lwz r3, 0x84(r1) -/* 05FC68 80065208 57A0043E */ clrlwi r0, r29, 0x10 -/* 05FC6C 8006520C 640460A5 */ oris r4, r0, 0x60a5 -/* 05FC70 80065210 38030001 */ addi r0, r3, 1 -/* 05FC74 80065214 90010084 */ stw r0, 0x84(r1) -/* 05FC78 80065218 5460103A */ slwi r0, r3, 2 -/* 05FC7C 8006521C 7C9F012E */ stwx r4, r31, r0 -/* 05FC80 80065220 48000010 */ b lbl_80065230 -lbl_80065224: -/* 05FC84 80065224 80610084 */ lwz r3, 0x84(r1) -/* 05FC88 80065228 38030001 */ addi r0, r3, 1 -/* 05FC8C 8006522C 90010084 */ stw r0, 0x84(r1) -lbl_80065230: -/* 05FC90 80065230 281F0000 */ cmplwi r31, 0 -/* 05FC94 80065234 41820034 */ beq lbl_80065268 -/* 05FC98 80065238 80610084 */ lwz r3, 0x84(r1) -/* 05FC9C 8006523C 801E0B40 */ lwz r0, 0xb40(r30) -/* 05FCA0 80065240 5465103A */ slwi r5, r3, 2 -/* 05FCA4 80065244 7C9F2A14 */ add r4, r31, r5 -/* 05FCA8 80065248 7C040050 */ subf r0, r4, r0 -/* 05FCAC 8006524C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 05FCB0 80065250 38630001 */ addi r3, r3, 1 -/* 05FCB4 80065254 64004800 */ oris r0, r0, 0x4800 -/* 05FCB8 80065258 90610084 */ stw r3, 0x84(r1) -/* 05FCBC 8006525C 60000001 */ ori r0, r0, 1 -/* 05FCC0 80065260 7C1F292E */ stwx r0, r31, r5 -/* 05FCC4 80065264 48000010 */ b lbl_80065274 -lbl_80065268: -/* 05FCC8 80065268 80610084 */ lwz r3, 0x84(r1) -/* 05FCCC 8006526C 38030001 */ addi r0, r3, 1 -/* 05FCD0 80065270 90010084 */ stw r0, 0x84(r1) -lbl_80065274: -/* 05FCD4 80065274 2C110000 */ cmpwi r17, 0 -/* 05FCD8 80065278 41820070 */ beq lbl_800652E8 -/* 05FCDC 8006527C 281F0000 */ cmplwi r31, 0 -/* 05FCE0 80065280 41820024 */ beq lbl_800652A4 -/* 05FCE4 80065284 80610084 */ lwz r3, 0x84(r1) -/* 05FCE8 80065288 3C8038C1 */ lis r4, 0x38c1 -/* 05FCEC 8006528C 3884FFFF */ addi r4, r4, -1 -/* 05FCF0 80065290 38030001 */ addi r0, r3, 1 -/* 05FCF4 80065294 90010084 */ stw r0, 0x84(r1) -/* 05FCF8 80065298 5460103A */ slwi r0, r3, 2 -/* 05FCFC 8006529C 7C9F012E */ stwx r4, r31, r0 -/* 05FD00 800652A0 48000010 */ b lbl_800652B0 -lbl_800652A4: -/* 05FD04 800652A4 80610084 */ lwz r3, 0x84(r1) -/* 05FD08 800652A8 38030001 */ addi r0, r3, 1 -/* 05FD0C 800652AC 90010084 */ stw r0, 0x84(r1) -lbl_800652B0: -/* 05FD10 800652B0 281F0000 */ cmplwi r31, 0 -/* 05FD14 800652B4 41820028 */ beq lbl_800652DC -/* 05FD18 800652B8 80610084 */ lwz r3, 0x84(r1) -/* 05FD1C 800652BC 381E002C */ addi r0, r30, 0x2c -/* 05FD20 800652C0 7C9E0050 */ subf r4, r30, r0 -/* 05FD24 800652C4 38030001 */ addi r0, r3, 1 -/* 05FD28 800652C8 90010084 */ stw r0, 0x84(r1) -/* 05FD2C 800652CC 3C0490C3 */ addis r0, r4, 0x90c3 -/* 05FD30 800652D0 5463103A */ slwi r3, r3, 2 -/* 05FD34 800652D4 7C1F192E */ stwx r0, r31, r3 -/* 05FD38 800652D8 48000010 */ b lbl_800652E8 -lbl_800652DC: -/* 05FD3C 800652DC 80610084 */ lwz r3, 0x84(r1) -/* 05FD40 800652E0 38030001 */ addi r0, r3, 1 -/* 05FD44 800652E4 90010084 */ stw r0, 0x84(r1) -lbl_800652E8: -/* 05FD48 800652E8 281F0000 */ cmplwi r31, 0 -/* 05FD4C 800652EC 41820024 */ beq lbl_80065310 -/* 05FD50 800652F0 80610084 */ lwz r3, 0x84(r1) -/* 05FD54 800652F4 3C804280 */ lis r4, 0x4280 -/* 05FD58 800652F8 38840018 */ addi r4, r4, 0x18 -/* 05FD5C 800652FC 38030001 */ addi r0, r3, 1 -/* 05FD60 80065300 90010084 */ stw r0, 0x84(r1) -/* 05FD64 80065304 5460103A */ slwi r0, r3, 2 -/* 05FD68 80065308 7C9F012E */ stwx r4, r31, r0 -/* 05FD6C 8006530C 48000010 */ b lbl_8006531C -lbl_80065310: -/* 05FD70 80065310 80610084 */ lwz r3, 0x84(r1) -/* 05FD74 80065314 38030001 */ addi r0, r3, 1 -/* 05FD78 80065318 90010084 */ stw r0, 0x84(r1) -lbl_8006531C: -/* 05FD7C 8006531C 281F0000 */ cmplwi r31, 0 -/* 05FD80 80065320 41820024 */ beq lbl_80065344 -/* 05FD84 80065324 80610084 */ lwz r3, 0x84(r1) -/* 05FD88 80065328 3C807CE5 */ lis r4, 0x7ce5 -/* 05FD8C 8006532C 38844214 */ addi r4, r4, 0x4214 -/* 05FD90 80065330 38030001 */ addi r0, r3, 1 -/* 05FD94 80065334 90010084 */ stw r0, 0x84(r1) -/* 05FD98 80065338 5460103A */ slwi r0, r3, 2 -/* 05FD9C 8006533C 7C9F012E */ stwx r4, r31, r0 -/* 05FDA0 80065340 48000010 */ b lbl_80065350 -lbl_80065344: -/* 05FDA4 80065344 80610084 */ lwz r3, 0x84(r1) -/* 05FDA8 80065348 38030001 */ addi r0, r3, 1 -/* 05FDAC 8006534C 90010084 */ stw r0, 0x84(r1) -lbl_80065350: -/* 05FDB0 80065350 281F0000 */ cmplwi r31, 0 -/* 05FDB4 80065354 41820024 */ beq lbl_80065378 -/* 05FDB8 80065358 80610084 */ lwz r3, 0x84(r1) -/* 05FDBC 8006535C 5780043E */ clrlwi r0, r28, 0x10 -/* 05FDC0 80065360 640480A7 */ oris r4, r0, 0x80a7 -/* 05FDC4 80065364 38030001 */ addi r0, r3, 1 -/* 05FDC8 80065368 90010084 */ stw r0, 0x84(r1) -/* 05FDCC 8006536C 5460103A */ slwi r0, r3, 2 -/* 05FDD0 80065370 7C9F012E */ stwx r4, r31, r0 -/* 05FDD4 80065374 48000010 */ b lbl_80065384 -lbl_80065378: -/* 05FDD8 80065378 80610084 */ lwz r3, 0x84(r1) -/* 05FDDC 8006537C 38030001 */ addi r0, r3, 1 -/* 05FDE0 80065380 90010084 */ stw r0, 0x84(r1) -lbl_80065384: -/* 05FDE4 80065384 281F0000 */ cmplwi r31, 0 -/* 05FDE8 80065388 41820030 */ beq lbl_800653B8 -/* 05FDEC 8006538C 80610084 */ lwz r3, 0x84(r1) -/* 05FDF0 80065390 56E41838 */ slwi r4, r23, 3 -/* 05FDF4 80065394 38040140 */ addi r0, r4, 0x140 -/* 05FDF8 80065398 7C9E0214 */ add r4, r30, r0 -/* 05FDFC 8006539C 38030001 */ addi r0, r3, 1 -/* 05FE00 800653A0 7C9E2050 */ subf r4, r30, r4 -/* 05FE04 800653A4 90010084 */ stw r0, 0x84(r1) -/* 05FE08 800653A8 3C0490A3 */ addis r0, r4, 0x90a3 -/* 05FE0C 800653AC 5463103A */ slwi r3, r3, 2 -/* 05FE10 800653B0 7C1F192E */ stwx r0, r31, r3 -/* 05FE14 800653B4 48000010 */ b lbl_800653C4 -lbl_800653B8: -/* 05FE18 800653B8 80610084 */ lwz r3, 0x84(r1) -/* 05FE1C 800653BC 38030001 */ addi r0, r3, 1 -/* 05FE20 800653C0 90010084 */ stw r0, 0x84(r1) -lbl_800653C4: -/* 05FE24 800653C4 281F0000 */ cmplwi r31, 0 -/* 05FE28 800653C8 41820028 */ beq lbl_800653F0 -/* 05FE2C 800653CC 80610084 */ lwz r3, 0x84(r1) -/* 05FE30 800653D0 5784043E */ clrlwi r4, r28, 0x10 -/* 05FE34 800653D4 38840004 */ addi r4, r4, 4 -/* 05FE38 800653D8 38030001 */ addi r0, r3, 1 -/* 05FE3C 800653DC 90010084 */ stw r0, 0x84(r1) -/* 05FE40 800653E0 648080A7 */ oris r0, r4, 0x80a7 -/* 05FE44 800653E4 5463103A */ slwi r3, r3, 2 -/* 05FE48 800653E8 7C1F192E */ stwx r0, r31, r3 -/* 05FE4C 800653EC 48000010 */ b lbl_800653FC -lbl_800653F0: -/* 05FE50 800653F0 80610084 */ lwz r3, 0x84(r1) -/* 05FE54 800653F4 38030001 */ addi r0, r3, 1 -/* 05FE58 800653F8 90010084 */ stw r0, 0x84(r1) -lbl_800653FC: -/* 05FE5C 800653FC 281F0000 */ cmplwi r31, 0 -/* 05FE60 80065400 41820034 */ beq lbl_80065434 -/* 05FE64 80065404 56E41838 */ slwi r4, r23, 3 -/* 05FE68 80065408 80610084 */ lwz r3, 0x84(r1) -/* 05FE6C 8006540C 38040140 */ addi r0, r4, 0x140 -/* 05FE70 80065410 7C1E0214 */ add r0, r30, r0 -/* 05FE74 80065414 7C9E0050 */ subf r4, r30, r0 -/* 05FE78 80065418 38030001 */ addi r0, r3, 1 -/* 05FE7C 8006541C 3C8490A3 */ addis r4, r4, 0x90a3 -/* 05FE80 80065420 90010084 */ stw r0, 0x84(r1) -/* 05FE84 80065424 38040004 */ addi r0, r4, 4 -/* 05FE88 80065428 5463103A */ slwi r3, r3, 2 -/* 05FE8C 8006542C 7C1F192E */ stwx r0, r31, r3 -/* 05FE90 80065430 48002B04 */ b lbl_80067F34 -lbl_80065434: -/* 05FE94 80065434 80610084 */ lwz r3, 0x84(r1) -/* 05FE98 80065438 38030001 */ addi r0, r3, 1 -/* 05FE9C 8006543C 90010084 */ stw r0, 0x84(r1) -/* 05FEA0 80065440 48002AF4 */ b lbl_80067F34 -.global lbl_80065444 -lbl_80065444: -/* 05FEA4 80065444 3C9E0001 */ addis r4, r30, 1 -/* 05FEA8 80065448 57805EFE */ rlwinm r0, r28, 0xb, 0x1b, 0x1f -/* 05FEAC 8006544C 80642058 */ lwz r3, 0x2058(r4) -/* 05FEB0 80065450 38A00001 */ li r5, 1 -/* 05FEB4 80065454 7CA50030 */ slw r5, r5, r0 -/* 05FEB8 80065458 7C632839 */ and. r3, r3, r5 -/* 05FEBC 8006545C 418203A4 */ beq lbl_80065800 -/* 05FEC0 80065460 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 05FEC4 80065464 7C7A1A14 */ add r3, r26, r3 -/* 05FEC8 80065468 80E30818 */ lwz r7, 0x818(r3) -/* 05FECC 8006546C 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 05FED0 80065470 54E305EF */ rlwinm. r3, r7, 0, 0x17, 0x17 -/* 05FED4 80065474 41820008 */ beq lbl_8006547C -/* 05FED8 80065478 38E00005 */ li r7, 5 -lbl_8006547C: -/* 05FEDC 8006547C 5403103A */ slwi r3, r0, 2 -/* 05FEE0 80065480 7C7A1A14 */ add r3, r26, r3 -/* 05FEE4 80065484 81230818 */ lwz r9, 0x818(r3) -/* 05FEE8 80065488 552305EF */ rlwinm. r3, r9, 0, 0x17, 0x17 -/* 05FEEC 8006548C 4182014C */ beq lbl_800655D8 -/* 05FEF0 80065490 3C7E0001 */ addis r3, r30, 1 -/* 05FEF4 80065494 80832064 */ lwz r4, 0x2064(r3) -/* 05FEF8 80065498 39200006 */ li r9, 6 -/* 05FEFC 8006549C 28040000 */ cmplwi r4, 0 -/* 05FF00 800654A0 4082000C */ bne lbl_800654AC -/* 05FF04 800654A4 38800000 */ li r4, 0 -/* 05FF08 800654A8 48000094 */ b lbl_8006553C -lbl_800654AC: -/* 05FF0C 800654AC 80832068 */ lwz r4, 0x2068(r3) -/* 05FF10 800654B0 28040000 */ cmplwi r4, 0 -/* 05FF14 800654B4 4082000C */ bne lbl_800654C0 -/* 05FF18 800654B8 38800000 */ li r4, 0 -/* 05FF1C 800654BC 48000080 */ b lbl_8006553C -lbl_800654C0: -/* 05FF20 800654C0 8063206C */ lwz r3, 0x206c(r3) -/* 05FF24 800654C4 7C001800 */ cmpw r0, r3 -/* 05FF28 800654C8 4182000C */ beq lbl_800654D4 -/* 05FF2C 800654CC 38800000 */ li r4, 0 -/* 05FF30 800654D0 4800006C */ b lbl_8006553C -lbl_800654D4: -/* 05FF34 800654D4 80BE0034 */ lwz r5, 0x34(r30) -/* 05FF38 800654D8 38800000 */ li r4, 0 -/* 05FF3C 800654DC 80650008 */ lwz r3, 8(r5) -/* 05FF40 800654E0 2C030000 */ cmpwi r3, 0 -/* 05FF44 800654E4 7C6903A6 */ mtctr r3 -/* 05FF48 800654E8 40810028 */ ble lbl_80065510 -lbl_800654EC: -/* 05FF4C 800654EC 8065000C */ lwz r3, 0xc(r5) -/* 05FF50 800654F0 38C40004 */ addi r6, r4, 4 -/* 05FF54 800654F4 7C63302E */ lwzx r3, r3, r6 -/* 05FF58 800654F8 7C1D1800 */ cmpw r29, r3 -/* 05FF5C 800654FC 4082000C */ bne lbl_80065508 -/* 05FF60 80065500 38600000 */ li r3, 0 -/* 05FF64 80065504 48000010 */ b lbl_80065514 -lbl_80065508: -/* 05FF68 80065508 38840008 */ addi r4, r4, 8 -/* 05FF6C 8006550C 4200FFE0 */ bdnz lbl_800654EC -lbl_80065510: -/* 05FF70 80065510 38600001 */ li r3, 1 -lbl_80065514: -/* 05FF74 80065514 2C030000 */ cmpwi r3, 0 -/* 05FF78 80065518 40820014 */ bne lbl_8006552C -/* 05FF7C 8006551C 38800000 */ li r4, 0 -/* 05FF80 80065520 3C7E0001 */ addis r3, r30, 1 -/* 05FF84 80065524 90832068 */ stw r4, 0x2068(r3) -/* 05FF88 80065528 48000014 */ b lbl_8006553C -lbl_8006552C: -/* 05FF8C 8006552C 3C7E0001 */ addis r3, r30, 1 -/* 05FF90 80065530 38800000 */ li r4, 0 -/* 05FF94 80065534 90832068 */ stw r4, 0x2068(r3) -/* 05FF98 80065538 38800001 */ li r4, 1 -lbl_8006553C: -/* 05FF9C 8006553C 2C040000 */ cmpwi r4, 0 -/* 05FFA0 80065540 41820050 */ beq lbl_80065590 -/* 05FFA4 80065544 281F0000 */ cmplwi r31, 0 -/* 05FFA8 80065548 41820038 */ beq lbl_80065580 -/* 05FFAC 8006554C 3C9E0001 */ addis r4, r30, 1 -/* 05FFB0 80065550 80610084 */ lwz r3, 0x84(r1) -/* 05FFB4 80065554 80A42070 */ lwz r5, 0x2070(r4) -/* 05FFB8 80065558 38C30001 */ addi r6, r3, 1 -/* 05FFBC 8006555C 54A4A814 */ slwi r4, r5, 0x15 -/* 05FFC0 80065560 90C10084 */ stw r6, 0x84(r1) -/* 05FFC4 80065564 64847C06 */ oris r4, r4, 0x7c06 -/* 05FFC8 80065568 54A55828 */ slwi r5, r5, 0xb -/* 05FFCC 8006556C 60840378 */ ori r4, r4, 0x378 -/* 05FFD0 80065570 7CA42378 */ or r4, r5, r4 -/* 05FFD4 80065574 5463103A */ slwi r3, r3, 2 -/* 05FFD8 80065578 7C9F192E */ stwx r4, r31, r3 -/* 05FFDC 8006557C 4800005C */ b lbl_800655D8 -lbl_80065580: -/* 05FFE0 80065580 80610084 */ lwz r3, 0x84(r1) -/* 05FFE4 80065584 38630001 */ addi r3, r3, 1 -/* 05FFE8 80065588 90610084 */ stw r3, 0x84(r1) -/* 05FFEC 8006558C 4800004C */ b lbl_800655D8 -lbl_80065590: -/* 05FFF0 80065590 281F0000 */ cmplwi r31, 0 -/* 05FFF4 80065594 41820038 */ beq lbl_800655CC -/* 05FFF8 80065598 54041838 */ slwi r4, r0, 3 -/* 05FFFC 8006559C 80610084 */ lwz r3, 0x84(r1) -/* 060000 800655A0 38840040 */ addi r4, r4, 0x40 -/* 060004 800655A4 7C9E2214 */ add r4, r30, r4 -/* 060008 800655A8 7C9E2050 */ subf r4, r30, r4 -/* 06000C 800655AC 38840004 */ addi r4, r4, 4 -/* 060010 800655B0 38A30001 */ addi r5, r3, 1 -/* 060014 800655B4 5484043E */ clrlwi r4, r4, 0x10 -/* 060018 800655B8 90A10084 */ stw r5, 0x84(r1) -/* 06001C 800655BC 3C8480C3 */ addis r4, r4, 0x80c3 -/* 060020 800655C0 5463103A */ slwi r3, r3, 2 -/* 060024 800655C4 7C9F192E */ stwx r4, r31, r3 -/* 060028 800655C8 48000010 */ b lbl_800655D8 -lbl_800655CC: -/* 06002C 800655CC 80610084 */ lwz r3, 0x84(r1) -/* 060030 800655D0 38630001 */ addi r3, r3, 1 -/* 060034 800655D4 90610084 */ stw r3, 0x84(r1) -lbl_800655D8: -/* 060038 800655D8 281F0000 */ cmplwi r31, 0 -/* 06003C 800655DC 4082000C */ bne lbl_800655E8 -/* 060040 800655E0 38A00000 */ li r5, 0 -/* 060044 800655E4 480000A4 */ b lbl_80065688 -lbl_800655E8: -/* 060048 800655E8 3C7E0001 */ addis r3, r30, 1 -/* 06004C 800655EC 80632064 */ lwz r3, 0x2064(r3) -/* 060050 800655F0 28030000 */ cmplwi r3, 0 -/* 060054 800655F4 4082000C */ bne lbl_80065600 -/* 060058 800655F8 38A00000 */ li r5, 0 -/* 06005C 800655FC 4800008C */ b lbl_80065688 -lbl_80065600: -/* 060060 80065600 80BE0034 */ lwz r5, 0x34(r30) -/* 060064 80065604 38800000 */ li r4, 0 -/* 060068 80065608 80650008 */ lwz r3, 8(r5) -/* 06006C 8006560C 2C030000 */ cmpwi r3, 0 -/* 060070 80065610 7C6903A6 */ mtctr r3 -/* 060074 80065614 40810028 */ ble lbl_8006563C -lbl_80065618: -/* 060078 80065618 8065000C */ lwz r3, 0xc(r5) -/* 06007C 8006561C 38C40004 */ addi r6, r4, 4 -/* 060080 80065620 7C63302E */ lwzx r3, r3, r6 -/* 060084 80065624 7C1D1800 */ cmpw r29, r3 -/* 060088 80065628 4082000C */ bne lbl_80065634 -/* 06008C 8006562C 38600000 */ li r3, 0 -/* 060090 80065630 48000010 */ b lbl_80065640 -lbl_80065634: -/* 060094 80065634 38840008 */ addi r4, r4, 8 -/* 060098 80065638 4200FFE0 */ bdnz lbl_80065618 -lbl_8006563C: -/* 06009C 8006563C 38600001 */ li r3, 1 -lbl_80065640: -/* 0600A0 80065640 2C030000 */ cmpwi r3, 0 -/* 0600A4 80065644 4082000C */ bne lbl_80065650 -/* 0600A8 80065648 38A00000 */ li r5, 0 -/* 0600AC 8006564C 4800003C */ b lbl_80065688 -lbl_80065650: -/* 0600B0 80065650 7C004000 */ cmpw r0, r8 -/* 0600B4 80065654 3C9E0001 */ addis r4, r30, 1 -/* 0600B8 80065658 38A00001 */ li r5, 1 -/* 0600BC 8006565C 90A4207C */ stw r5, 0x207c(r4) -/* 0600C0 80065660 40820014 */ bne lbl_80065674 -/* 0600C4 80065664 3800FFFF */ li r0, -1 -/* 0600C8 80065668 90042080 */ stw r0, 0x2080(r4) -/* 0600CC 8006566C 38A00000 */ li r5, 0 -/* 0600D0 80065670 48000018 */ b lbl_80065688 -lbl_80065674: -/* 0600D4 80065674 80642080 */ lwz r3, 0x2080(r4) -/* 0600D8 80065678 7C030000 */ cmpw r3, r0 -/* 0600DC 8006567C 4182000C */ beq lbl_80065688 -/* 0600E0 80065680 90042080 */ stw r0, 0x2080(r4) -/* 0600E4 80065684 38A00000 */ li r5, 0 -lbl_80065688: -/* 0600E8 80065688 2C050000 */ cmpwi r5, 0 -/* 0600EC 8006568C 40820040 */ bne lbl_800656CC -/* 0600F0 80065690 281F0000 */ cmplwi r31, 0 -/* 0600F4 80065694 41820028 */ beq lbl_800656BC -/* 0600F8 80065698 80610084 */ lwz r3, 0x84(r1) -/* 0600FC 8006569C 5520801E */ slwi r0, r9, 0x10 -/* 060100 800656A0 64047CE0 */ oris r4, r0, 0x7ce0 -/* 060104 800656A4 38030001 */ addi r0, r3, 1 -/* 060108 800656A8 90010084 */ stw r0, 0x84(r1) -/* 06010C 800656AC 60844214 */ ori r4, r4, 0x4214 -/* 060110 800656B0 5460103A */ slwi r0, r3, 2 -/* 060114 800656B4 7C9F012E */ stwx r4, r31, r0 -/* 060118 800656B8 48000044 */ b lbl_800656FC -lbl_800656BC: -/* 06011C 800656BC 80610084 */ lwz r3, 0x84(r1) -/* 060120 800656C0 38030001 */ addi r0, r3, 1 -/* 060124 800656C4 90010084 */ stw r0, 0x84(r1) -/* 060128 800656C8 48000034 */ b lbl_800656FC -lbl_800656CC: -/* 06012C 800656CC 281F0000 */ cmplwi r31, 0 -/* 060130 800656D0 41820020 */ beq lbl_800656F0 -/* 060134 800656D4 80610084 */ lwz r3, 0x84(r1) -/* 060138 800656D8 3C806000 */ lis r4, 0x6000 -/* 06013C 800656DC 38030001 */ addi r0, r3, 1 -/* 060140 800656E0 90010084 */ stw r0, 0x84(r1) -/* 060144 800656E4 5460103A */ slwi r0, r3, 2 -/* 060148 800656E8 7C9F012E */ stwx r4, r31, r0 -/* 06014C 800656EC 48000010 */ b lbl_800656FC -lbl_800656F0: -/* 060150 800656F0 80610084 */ lwz r3, 0x84(r1) -/* 060154 800656F4 38030001 */ addi r0, r3, 1 -/* 060158 800656F8 90010084 */ stw r0, 0x84(r1) -lbl_800656FC: -/* 06015C 800656FC 281F0000 */ cmplwi r31, 0 -/* 060160 80065700 41820024 */ beq lbl_80065724 -/* 060164 80065704 80610084 */ lwz r3, 0x84(r1) -/* 060168 80065708 5780043E */ clrlwi r0, r28, 0x10 -/* 06016C 8006570C 640480A7 */ oris r4, r0, 0x80a7 -/* 060170 80065710 38030001 */ addi r0, r3, 1 -/* 060174 80065714 90010084 */ stw r0, 0x84(r1) -/* 060178 80065718 5460103A */ slwi r0, r3, 2 -/* 06017C 8006571C 7C9F012E */ stwx r4, r31, r0 -/* 060180 80065720 48000010 */ b lbl_80065730 -lbl_80065724: -/* 060184 80065724 80610084 */ lwz r3, 0x84(r1) -/* 060188 80065728 38030001 */ addi r0, r3, 1 -/* 06018C 8006572C 90010084 */ stw r0, 0x84(r1) -lbl_80065730: -/* 060190 80065730 281F0000 */ cmplwi r31, 0 -/* 060194 80065734 41820030 */ beq lbl_80065764 -/* 060198 80065738 80610084 */ lwz r3, 0x84(r1) -/* 06019C 8006573C 55041838 */ slwi r4, r8, 3 -/* 0601A0 80065740 38040040 */ addi r0, r4, 0x40 -/* 0601A4 80065744 7C9E0214 */ add r4, r30, r0 -/* 0601A8 80065748 38030001 */ addi r0, r3, 1 -/* 0601AC 8006574C 7C9E2050 */ subf r4, r30, r4 -/* 0601B0 80065750 90010084 */ stw r0, 0x84(r1) -/* 0601B4 80065754 3C0490A3 */ addis r0, r4, 0x90a3 -/* 0601B8 80065758 5463103A */ slwi r3, r3, 2 -/* 0601BC 8006575C 7C1F192E */ stwx r0, r31, r3 -/* 0601C0 80065760 48000010 */ b lbl_80065770 -lbl_80065764: -/* 0601C4 80065764 80610084 */ lwz r3, 0x84(r1) -/* 0601C8 80065768 38030001 */ addi r0, r3, 1 -/* 0601CC 8006576C 90010084 */ stw r0, 0x84(r1) -lbl_80065770: -/* 0601D0 80065770 281F0000 */ cmplwi r31, 0 -/* 0601D4 80065774 41820030 */ beq lbl_800657A4 -/* 0601D8 80065778 80610084 */ lwz r3, 0x84(r1) -/* 0601DC 8006577C 54E5A814 */ slwi r5, r7, 0x15 -/* 0601E0 80065780 5784043E */ clrlwi r4, r28, 0x10 -/* 0601E4 80065784 38030001 */ addi r0, r3, 1 -/* 0601E8 80065788 90010084 */ stw r0, 0x84(r1) -/* 0601EC 8006578C 64A08007 */ oris r0, r5, 0x8007 -/* 0601F0 80065790 38840004 */ addi r4, r4, 4 -/* 0601F4 80065794 7C002378 */ or r0, r0, r4 -/* 0601F8 80065798 5463103A */ slwi r3, r3, 2 -/* 0601FC 8006579C 7C1F192E */ stwx r0, r31, r3 -/* 060200 800657A0 48000010 */ b lbl_800657B0 -lbl_800657A4: -/* 060204 800657A4 80610084 */ lwz r3, 0x84(r1) -/* 060208 800657A8 38030001 */ addi r0, r3, 1 -/* 06020C 800657AC 90010084 */ stw r0, 0x84(r1) -lbl_800657B0: -/* 060210 800657B0 281F0000 */ cmplwi r31, 0 -/* 060214 800657B4 4182003C */ beq lbl_800657F0 -/* 060218 800657B8 55041838 */ slwi r4, r8, 3 -/* 06021C 800657BC 80610084 */ lwz r3, 0x84(r1) -/* 060220 800657C0 38840040 */ addi r4, r4, 0x40 -/* 060224 800657C4 54E0A814 */ slwi r0, r7, 0x15 -/* 060228 800657C8 7CBE2214 */ add r5, r30, r4 -/* 06022C 800657CC 38830001 */ addi r4, r3, 1 -/* 060230 800657D0 64009003 */ oris r0, r0, 0x9003 -/* 060234 800657D4 90810084 */ stw r4, 0x84(r1) -/* 060238 800657D8 7C9E2850 */ subf r4, r30, r5 -/* 06023C 800657DC 7C840214 */ add r4, r4, r0 -/* 060240 800657E0 38040004 */ addi r0, r4, 4 -/* 060244 800657E4 5463103A */ slwi r3, r3, 2 -/* 060248 800657E8 7C1F192E */ stwx r0, r31, r3 -/* 06024C 800657EC 48000288 */ b lbl_80065A74 -lbl_800657F0: -/* 060250 800657F0 80610084 */ lwz r3, 0x84(r1) -/* 060254 800657F4 38030001 */ addi r0, r3, 1 -/* 060258 800657F8 90010084 */ stw r0, 0x84(r1) -/* 06025C 800657FC 48000278 */ b lbl_80065A74 -lbl_80065800: -/* 060260 80065800 80042060 */ lwz r0, 0x2060(r4) -/* 060264 80065804 540006F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 060268 80065808 4182026C */ beq lbl_80065A74 -/* 06026C 8006580C 2C110000 */ cmpwi r17, 0 -/* 060270 80065810 4182006C */ beq lbl_8006587C -/* 060274 80065814 281F0000 */ cmplwi r31, 0 -/* 060278 80065818 41820020 */ beq lbl_80065838 -/* 06027C 8006581C 80610084 */ lwz r3, 0x84(r1) -/* 060280 80065820 3C8038C0 */ lis r4, 0x38c0 -/* 060284 80065824 38030001 */ addi r0, r3, 1 -/* 060288 80065828 90010084 */ stw r0, 0x84(r1) -/* 06028C 8006582C 5460103A */ slwi r0, r3, 2 -/* 060290 80065830 7C9F012E */ stwx r4, r31, r0 -/* 060294 80065834 48000010 */ b lbl_80065844 -lbl_80065838: -/* 060298 80065838 80610084 */ lwz r3, 0x84(r1) -/* 06029C 8006583C 38030001 */ addi r0, r3, 1 -/* 0602A0 80065840 90010084 */ stw r0, 0x84(r1) -lbl_80065844: -/* 0602A4 80065844 281F0000 */ cmplwi r31, 0 -/* 0602A8 80065848 41820028 */ beq lbl_80065870 -/* 0602AC 8006584C 80610084 */ lwz r3, 0x84(r1) -/* 0602B0 80065850 381E002C */ addi r0, r30, 0x2c -/* 0602B4 80065854 7C9E0050 */ subf r4, r30, r0 -/* 0602B8 80065858 38030001 */ addi r0, r3, 1 -/* 0602BC 8006585C 90010084 */ stw r0, 0x84(r1) -/* 0602C0 80065860 3C0490C3 */ addis r0, r4, 0x90c3 -/* 0602C4 80065864 5463103A */ slwi r3, r3, 2 -/* 0602C8 80065868 7C1F192E */ stwx r0, r31, r3 -/* 0602CC 8006586C 48000010 */ b lbl_8006587C -lbl_80065870: -/* 0602D0 80065870 80610084 */ lwz r3, 0x84(r1) -/* 0602D4 80065874 38030001 */ addi r0, r3, 1 -/* 0602D8 80065878 90010084 */ stw r0, 0x84(r1) -lbl_8006587C: -/* 0602DC 8006587C 281F0000 */ cmplwi r31, 0 -/* 0602E0 80065880 41820024 */ beq lbl_800658A4 -/* 0602E4 80065884 80610084 */ lwz r3, 0x84(r1) -/* 0602E8 80065888 57A0843E */ srwi r0, r29, 0x10 -/* 0602EC 8006588C 64043CA0 */ oris r4, r0, 0x3ca0 -/* 0602F0 80065890 38030001 */ addi r0, r3, 1 -/* 0602F4 80065894 90010084 */ stw r0, 0x84(r1) -/* 0602F8 80065898 5460103A */ slwi r0, r3, 2 -/* 0602FC 8006589C 7C9F012E */ stwx r4, r31, r0 -/* 060300 800658A0 48000010 */ b lbl_800658B0 -lbl_800658A4: -/* 060304 800658A4 80610084 */ lwz r3, 0x84(r1) -/* 060308 800658A8 38030001 */ addi r0, r3, 1 -/* 06030C 800658AC 90010084 */ stw r0, 0x84(r1) -lbl_800658B0: -/* 060310 800658B0 281F0000 */ cmplwi r31, 0 -/* 060314 800658B4 41820024 */ beq lbl_800658D8 -/* 060318 800658B8 80610084 */ lwz r3, 0x84(r1) -/* 06031C 800658BC 57A0043E */ clrlwi r0, r29, 0x10 -/* 060320 800658C0 640460A5 */ oris r4, r0, 0x60a5 -/* 060324 800658C4 38030001 */ addi r0, r3, 1 -/* 060328 800658C8 90010084 */ stw r0, 0x84(r1) -/* 06032C 800658CC 5460103A */ slwi r0, r3, 2 -/* 060330 800658D0 7C9F012E */ stwx r4, r31, r0 -/* 060334 800658D4 48000010 */ b lbl_800658E4 -lbl_800658D8: -/* 060338 800658D8 80610084 */ lwz r3, 0x84(r1) -/* 06033C 800658DC 38030001 */ addi r0, r3, 1 -/* 060340 800658E0 90010084 */ stw r0, 0x84(r1) -lbl_800658E4: -/* 060344 800658E4 281F0000 */ cmplwi r31, 0 -/* 060348 800658E8 41820034 */ beq lbl_8006591C -/* 06034C 800658EC 80610084 */ lwz r3, 0x84(r1) -/* 060350 800658F0 801E0B54 */ lwz r0, 0xb54(r30) -/* 060354 800658F4 5465103A */ slwi r5, r3, 2 -/* 060358 800658F8 7C9F2A14 */ add r4, r31, r5 -/* 06035C 800658FC 7C040050 */ subf r0, r4, r0 -/* 060360 80065900 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 060364 80065904 38630001 */ addi r3, r3, 1 -/* 060368 80065908 64004800 */ oris r0, r0, 0x4800 -/* 06036C 8006590C 90610084 */ stw r3, 0x84(r1) -/* 060370 80065910 60000001 */ ori r0, r0, 1 -/* 060374 80065914 7C1F292E */ stwx r0, r31, r5 -/* 060378 80065918 48000010 */ b lbl_80065928 -lbl_8006591C: -/* 06037C 8006591C 80610084 */ lwz r3, 0x84(r1) -/* 060380 80065920 38030001 */ addi r0, r3, 1 -/* 060384 80065924 90010084 */ stw r0, 0x84(r1) -lbl_80065928: -/* 060388 80065928 3C7E0001 */ addis r3, r30, 1 -/* 06038C 8006592C 80032060 */ lwz r0, 0x2060(r3) -/* 060390 80065930 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 060394 80065934 41820074 */ beq lbl_800659A8 -/* 060398 80065938 281F0000 */ cmplwi r31, 0 -/* 06039C 8006593C 40820014 */ bne lbl_80065950 -/* 0603A0 80065940 80610084 */ lwz r3, 0x84(r1) -/* 0603A4 80065944 38030004 */ addi r0, r3, 4 -/* 0603A8 80065948 90010084 */ stw r0, 0x84(r1) -/* 0603AC 8006594C 480000B4 */ b lbl_80065A00 -lbl_80065950: -/* 0603B0 80065950 80610084 */ lwz r3, 0x84(r1) -/* 0603B4 80065954 3C806000 */ lis r4, 0x6000 -/* 0603B8 80065958 38030001 */ addi r0, r3, 1 -/* 0603BC 8006595C 90010084 */ stw r0, 0x84(r1) -/* 0603C0 80065960 5460103A */ slwi r0, r3, 2 -/* 0603C4 80065964 7C9F012E */ stwx r4, r31, r0 -/* 0603C8 80065968 80610084 */ lwz r3, 0x84(r1) -/* 0603CC 8006596C 38030001 */ addi r0, r3, 1 -/* 0603D0 80065970 90010084 */ stw r0, 0x84(r1) -/* 0603D4 80065974 5460103A */ slwi r0, r3, 2 -/* 0603D8 80065978 7C9F012E */ stwx r4, r31, r0 -/* 0603DC 8006597C 80610084 */ lwz r3, 0x84(r1) -/* 0603E0 80065980 38030001 */ addi r0, r3, 1 -/* 0603E4 80065984 90010084 */ stw r0, 0x84(r1) -/* 0603E8 80065988 5460103A */ slwi r0, r3, 2 -/* 0603EC 8006598C 7C9F012E */ stwx r4, r31, r0 -/* 0603F0 80065990 80610084 */ lwz r3, 0x84(r1) -/* 0603F4 80065994 38030001 */ addi r0, r3, 1 -/* 0603F8 80065998 90010084 */ stw r0, 0x84(r1) -/* 0603FC 8006599C 5460103A */ slwi r0, r3, 2 -/* 060400 800659A0 7C9F012E */ stwx r4, r31, r0 -/* 060404 800659A4 4800005C */ b lbl_80065A00 -lbl_800659A8: -/* 060408 800659A8 281F0000 */ cmplwi r31, 0 -/* 06040C 800659AC 40820014 */ bne lbl_800659C0 -/* 060410 800659B0 80610084 */ lwz r3, 0x84(r1) -/* 060414 800659B4 38030003 */ addi r0, r3, 3 -/* 060418 800659B8 90010084 */ stw r0, 0x84(r1) -/* 06041C 800659BC 48000044 */ b lbl_80065A00 -lbl_800659C0: -/* 060420 800659C0 80610084 */ lwz r3, 0x84(r1) -/* 060424 800659C4 3C806000 */ lis r4, 0x6000 -/* 060428 800659C8 38030001 */ addi r0, r3, 1 -/* 06042C 800659CC 90010084 */ stw r0, 0x84(r1) -/* 060430 800659D0 5460103A */ slwi r0, r3, 2 -/* 060434 800659D4 7C9F012E */ stwx r4, r31, r0 -/* 060438 800659D8 80610084 */ lwz r3, 0x84(r1) -/* 06043C 800659DC 38030001 */ addi r0, r3, 1 -/* 060440 800659E0 90010084 */ stw r0, 0x84(r1) -/* 060444 800659E4 5460103A */ slwi r0, r3, 2 -/* 060448 800659E8 7C9F012E */ stwx r4, r31, r0 -/* 06044C 800659EC 80610084 */ lwz r3, 0x84(r1) -/* 060450 800659F0 38030001 */ addi r0, r3, 1 -/* 060454 800659F4 90010084 */ stw r0, 0x84(r1) -/* 060458 800659F8 5460103A */ slwi r0, r3, 2 -/* 06045C 800659FC 7C9F012E */ stwx r4, r31, r0 -lbl_80065A00: -/* 060460 80065A00 2C110000 */ cmpwi r17, 0 -/* 060464 80065A04 41820070 */ beq lbl_80065A74 -/* 060468 80065A08 281F0000 */ cmplwi r31, 0 -/* 06046C 80065A0C 41820024 */ beq lbl_80065A30 -/* 060470 80065A10 80610084 */ lwz r3, 0x84(r1) -/* 060474 80065A14 3C8038C1 */ lis r4, 0x38c1 -/* 060478 80065A18 3884FFFF */ addi r4, r4, -1 -/* 06047C 80065A1C 38030001 */ addi r0, r3, 1 -/* 060480 80065A20 90010084 */ stw r0, 0x84(r1) -/* 060484 80065A24 5460103A */ slwi r0, r3, 2 -/* 060488 80065A28 7C9F012E */ stwx r4, r31, r0 -/* 06048C 80065A2C 48000010 */ b lbl_80065A3C -lbl_80065A30: -/* 060490 80065A30 80610084 */ lwz r3, 0x84(r1) -/* 060494 80065A34 38030001 */ addi r0, r3, 1 -/* 060498 80065A38 90010084 */ stw r0, 0x84(r1) -lbl_80065A3C: -/* 06049C 80065A3C 281F0000 */ cmplwi r31, 0 -/* 0604A0 80065A40 41820028 */ beq lbl_80065A68 -/* 0604A4 80065A44 80610084 */ lwz r3, 0x84(r1) -/* 0604A8 80065A48 381E002C */ addi r0, r30, 0x2c -/* 0604AC 80065A4C 7C9E0050 */ subf r4, r30, r0 -/* 0604B0 80065A50 38030001 */ addi r0, r3, 1 -/* 0604B4 80065A54 90010084 */ stw r0, 0x84(r1) -/* 0604B8 80065A58 3C0490C3 */ addis r0, r4, 0x90c3 -/* 0604BC 80065A5C 5463103A */ slwi r3, r3, 2 -/* 0604C0 80065A60 7C1F192E */ stwx r0, r31, r3 -/* 0604C4 80065A64 48000010 */ b lbl_80065A74 -lbl_80065A68: -/* 0604C8 80065A68 80610084 */ lwz r3, 0x84(r1) -/* 0604CC 80065A6C 38030001 */ addi r0, r3, 1 -/* 0604D0 80065A70 90010084 */ stw r0, 0x84(r1) -lbl_80065A74: -/* 0604D4 80065A74 3C7E0001 */ addis r3, r30, 1 -/* 0604D8 80065A78 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 0604DC 80065A7C 80A32058 */ lwz r5, 0x2058(r3) -/* 0604E0 80065A80 38800001 */ li r4, 1 -/* 0604E4 80065A84 7C800030 */ slw r0, r4, r0 -/* 0604E8 80065A88 7CA00078 */ andc r0, r5, r0 -/* 0604EC 80065A8C 90032058 */ stw r0, 0x2058(r3) -/* 0604F0 80065A90 480024A4 */ b lbl_80067F34 -.global lbl_80065A94 -lbl_80065A94: -/* 0604F4 80065A94 3C7E0001 */ addis r3, r30, 1 -/* 0604F8 80065A98 80832060 */ lwz r4, 0x2060(r3) -/* 0604FC 80065A9C 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 060500 80065AA0 41820270 */ beq lbl_80065D10 -/* 060504 80065AA4 2C110000 */ cmpwi r17, 0 -/* 060508 80065AA8 4182006C */ beq lbl_80065B14 -/* 06050C 80065AAC 281F0000 */ cmplwi r31, 0 -/* 060510 80065AB0 41820020 */ beq lbl_80065AD0 -/* 060514 80065AB4 80610084 */ lwz r3, 0x84(r1) -/* 060518 80065AB8 3C8038C0 */ lis r4, 0x38c0 -/* 06051C 80065ABC 38030001 */ addi r0, r3, 1 -/* 060520 80065AC0 90010084 */ stw r0, 0x84(r1) -/* 060524 80065AC4 5460103A */ slwi r0, r3, 2 -/* 060528 80065AC8 7C9F012E */ stwx r4, r31, r0 -/* 06052C 80065ACC 48000010 */ b lbl_80065ADC -lbl_80065AD0: -/* 060530 80065AD0 80610084 */ lwz r3, 0x84(r1) -/* 060534 80065AD4 38030001 */ addi r0, r3, 1 -/* 060538 80065AD8 90010084 */ stw r0, 0x84(r1) -lbl_80065ADC: -/* 06053C 80065ADC 281F0000 */ cmplwi r31, 0 -/* 060540 80065AE0 41820028 */ beq lbl_80065B08 -/* 060544 80065AE4 80610084 */ lwz r3, 0x84(r1) -/* 060548 80065AE8 381E002C */ addi r0, r30, 0x2c -/* 06054C 80065AEC 7C9E0050 */ subf r4, r30, r0 -/* 060550 80065AF0 38030001 */ addi r0, r3, 1 -/* 060554 80065AF4 90010084 */ stw r0, 0x84(r1) -/* 060558 80065AF8 3C0490C3 */ addis r0, r4, 0x90c3 -/* 06055C 80065AFC 5463103A */ slwi r3, r3, 2 -/* 060560 80065B00 7C1F192E */ stwx r0, r31, r3 -/* 060564 80065B04 48000010 */ b lbl_80065B14 -lbl_80065B08: -/* 060568 80065B08 80610084 */ lwz r3, 0x84(r1) -/* 06056C 80065B0C 38030001 */ addi r0, r3, 1 -/* 060570 80065B10 90010084 */ stw r0, 0x84(r1) -lbl_80065B14: -/* 060574 80065B14 281F0000 */ cmplwi r31, 0 -/* 060578 80065B18 41820024 */ beq lbl_80065B3C -/* 06057C 80065B1C 80610084 */ lwz r3, 0x84(r1) -/* 060580 80065B20 57A0843E */ srwi r0, r29, 0x10 -/* 060584 80065B24 64043CA0 */ oris r4, r0, 0x3ca0 -/* 060588 80065B28 38030001 */ addi r0, r3, 1 -/* 06058C 80065B2C 90010084 */ stw r0, 0x84(r1) -/* 060590 80065B30 5460103A */ slwi r0, r3, 2 -/* 060594 80065B34 7C9F012E */ stwx r4, r31, r0 -/* 060598 80065B38 48000010 */ b lbl_80065B48 -lbl_80065B3C: -/* 06059C 80065B3C 80610084 */ lwz r3, 0x84(r1) -/* 0605A0 80065B40 38030001 */ addi r0, r3, 1 -/* 0605A4 80065B44 90010084 */ stw r0, 0x84(r1) -lbl_80065B48: -/* 0605A8 80065B48 281F0000 */ cmplwi r31, 0 -/* 0605AC 80065B4C 41820024 */ beq lbl_80065B70 -/* 0605B0 80065B50 80610084 */ lwz r3, 0x84(r1) -/* 0605B4 80065B54 57A0043E */ clrlwi r0, r29, 0x10 -/* 0605B8 80065B58 640460A5 */ oris r4, r0, 0x60a5 -/* 0605BC 80065B5C 38030001 */ addi r0, r3, 1 -/* 0605C0 80065B60 90010084 */ stw r0, 0x84(r1) -/* 0605C4 80065B64 5460103A */ slwi r0, r3, 2 -/* 0605C8 80065B68 7C9F012E */ stwx r4, r31, r0 -/* 0605CC 80065B6C 48000010 */ b lbl_80065B7C -lbl_80065B70: -/* 0605D0 80065B70 80610084 */ lwz r3, 0x84(r1) -/* 0605D4 80065B74 38030001 */ addi r0, r3, 1 -/* 0605D8 80065B78 90010084 */ stw r0, 0x84(r1) -lbl_80065B7C: -/* 0605DC 80065B7C 281F0000 */ cmplwi r31, 0 -/* 0605E0 80065B80 41820034 */ beq lbl_80065BB4 -/* 0605E4 80065B84 80610084 */ lwz r3, 0x84(r1) -/* 0605E8 80065B88 801E0B54 */ lwz r0, 0xb54(r30) -/* 0605EC 80065B8C 5465103A */ slwi r5, r3, 2 -/* 0605F0 80065B90 7C9F2A14 */ add r4, r31, r5 -/* 0605F4 80065B94 7C040050 */ subf r0, r4, r0 -/* 0605F8 80065B98 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 0605FC 80065B9C 38630001 */ addi r3, r3, 1 -/* 060600 80065BA0 64004800 */ oris r0, r0, 0x4800 -/* 060604 80065BA4 90610084 */ stw r3, 0x84(r1) -/* 060608 80065BA8 60000001 */ ori r0, r0, 1 -/* 06060C 80065BAC 7C1F292E */ stwx r0, r31, r5 -/* 060610 80065BB0 48000010 */ b lbl_80065BC0 -lbl_80065BB4: -/* 060614 80065BB4 80610084 */ lwz r3, 0x84(r1) -/* 060618 80065BB8 38030001 */ addi r0, r3, 1 -/* 06061C 80065BBC 90010084 */ stw r0, 0x84(r1) -lbl_80065BC0: -/* 060620 80065BC0 3C7E0001 */ addis r3, r30, 1 -/* 060624 80065BC4 80032060 */ lwz r0, 0x2060(r3) -/* 060628 80065BC8 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 06062C 80065BCC 41820074 */ beq lbl_80065C40 -/* 060630 80065BD0 281F0000 */ cmplwi r31, 0 -/* 060634 80065BD4 40820014 */ bne lbl_80065BE8 -/* 060638 80065BD8 80610084 */ lwz r3, 0x84(r1) -/* 06063C 80065BDC 38030004 */ addi r0, r3, 4 -/* 060640 80065BE0 90010084 */ stw r0, 0x84(r1) -/* 060644 80065BE4 480000B4 */ b lbl_80065C98 -lbl_80065BE8: -/* 060648 80065BE8 80610084 */ lwz r3, 0x84(r1) -/* 06064C 80065BEC 3C806000 */ lis r4, 0x6000 -/* 060650 80065BF0 38030001 */ addi r0, r3, 1 -/* 060654 80065BF4 90010084 */ stw r0, 0x84(r1) -/* 060658 80065BF8 5460103A */ slwi r0, r3, 2 -/* 06065C 80065BFC 7C9F012E */ stwx r4, r31, r0 -/* 060660 80065C00 80610084 */ lwz r3, 0x84(r1) -/* 060664 80065C04 38030001 */ addi r0, r3, 1 -/* 060668 80065C08 90010084 */ stw r0, 0x84(r1) -/* 06066C 80065C0C 5460103A */ slwi r0, r3, 2 -/* 060670 80065C10 7C9F012E */ stwx r4, r31, r0 -/* 060674 80065C14 80610084 */ lwz r3, 0x84(r1) -/* 060678 80065C18 38030001 */ addi r0, r3, 1 -/* 06067C 80065C1C 90010084 */ stw r0, 0x84(r1) -/* 060680 80065C20 5460103A */ slwi r0, r3, 2 -/* 060684 80065C24 7C9F012E */ stwx r4, r31, r0 -/* 060688 80065C28 80610084 */ lwz r3, 0x84(r1) -/* 06068C 80065C2C 38030001 */ addi r0, r3, 1 -/* 060690 80065C30 90010084 */ stw r0, 0x84(r1) -/* 060694 80065C34 5460103A */ slwi r0, r3, 2 -/* 060698 80065C38 7C9F012E */ stwx r4, r31, r0 -/* 06069C 80065C3C 4800005C */ b lbl_80065C98 -lbl_80065C40: -/* 0606A0 80065C40 281F0000 */ cmplwi r31, 0 -/* 0606A4 80065C44 40820014 */ bne lbl_80065C58 -/* 0606A8 80065C48 80610084 */ lwz r3, 0x84(r1) -/* 0606AC 80065C4C 38030003 */ addi r0, r3, 3 -/* 0606B0 80065C50 90010084 */ stw r0, 0x84(r1) -/* 0606B4 80065C54 48000044 */ b lbl_80065C98 -lbl_80065C58: -/* 0606B8 80065C58 80610084 */ lwz r3, 0x84(r1) -/* 0606BC 80065C5C 3C806000 */ lis r4, 0x6000 -/* 0606C0 80065C60 38030001 */ addi r0, r3, 1 -/* 0606C4 80065C64 90010084 */ stw r0, 0x84(r1) -/* 0606C8 80065C68 5460103A */ slwi r0, r3, 2 -/* 0606CC 80065C6C 7C9F012E */ stwx r4, r31, r0 -/* 0606D0 80065C70 80610084 */ lwz r3, 0x84(r1) -/* 0606D4 80065C74 38030001 */ addi r0, r3, 1 -/* 0606D8 80065C78 90010084 */ stw r0, 0x84(r1) -/* 0606DC 80065C7C 5460103A */ slwi r0, r3, 2 -/* 0606E0 80065C80 7C9F012E */ stwx r4, r31, r0 -/* 0606E4 80065C84 80610084 */ lwz r3, 0x84(r1) -/* 0606E8 80065C88 38030001 */ addi r0, r3, 1 -/* 0606EC 80065C8C 90010084 */ stw r0, 0x84(r1) -/* 0606F0 80065C90 5460103A */ slwi r0, r3, 2 -/* 0606F4 80065C94 7C9F012E */ stwx r4, r31, r0 -lbl_80065C98: -/* 0606F8 80065C98 2C110000 */ cmpwi r17, 0 -/* 0606FC 80065C9C 41822298 */ beq lbl_80067F34 -/* 060700 80065CA0 281F0000 */ cmplwi r31, 0 -/* 060704 80065CA4 41820024 */ beq lbl_80065CC8 -/* 060708 80065CA8 80610084 */ lwz r3, 0x84(r1) -/* 06070C 80065CAC 3C8038C1 */ lis r4, 0x38c1 -/* 060710 80065CB0 3884FFFF */ addi r4, r4, -1 -/* 060714 80065CB4 38030001 */ addi r0, r3, 1 -/* 060718 80065CB8 90010084 */ stw r0, 0x84(r1) -/* 06071C 80065CBC 5460103A */ slwi r0, r3, 2 -/* 060720 80065CC0 7C9F012E */ stwx r4, r31, r0 -/* 060724 80065CC4 48000010 */ b lbl_80065CD4 -lbl_80065CC8: -/* 060728 80065CC8 80610084 */ lwz r3, 0x84(r1) -/* 06072C 80065CCC 38030001 */ addi r0, r3, 1 -/* 060730 80065CD0 90010084 */ stw r0, 0x84(r1) -lbl_80065CD4: -/* 060734 80065CD4 281F0000 */ cmplwi r31, 0 -/* 060738 80065CD8 41820028 */ beq lbl_80065D00 -/* 06073C 80065CDC 80610084 */ lwz r3, 0x84(r1) -/* 060740 80065CE0 381E002C */ addi r0, r30, 0x2c -/* 060744 80065CE4 7C9E0050 */ subf r4, r30, r0 -/* 060748 80065CE8 38030001 */ addi r0, r3, 1 -/* 06074C 80065CEC 90010084 */ stw r0, 0x84(r1) -/* 060750 80065CF0 3C0490C3 */ addis r0, r4, 0x90c3 -/* 060754 80065CF4 5463103A */ slwi r3, r3, 2 -/* 060758 80065CF8 7C1F192E */ stwx r0, r31, r3 -/* 06075C 80065CFC 48002238 */ b lbl_80067F34 -lbl_80065D00: -/* 060760 80065D00 80610084 */ lwz r3, 0x84(r1) -/* 060764 80065D04 38030001 */ addi r0, r3, 1 -/* 060768 80065D08 90010084 */ stw r0, 0x84(r1) -/* 06076C 80065D0C 48002228 */ b lbl_80067F34 -lbl_80065D10: -/* 060770 80065D10 548007FF */ clrlwi. r0, r4, 0x1f -/* 060774 80065D14 418206CC */ beq lbl_800663E0 -/* 060778 80065D18 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 06077C 80065D1C 7C9A0214 */ add r4, r26, r0 -/* 060780 80065D20 80E40818 */ lwz r7, 0x818(r4) -/* 060784 80065D24 57885EFE */ rlwinm r8, r28, 0xb, 0x1b, 0x1f -/* 060788 80065D28 578686FE */ rlwinm r6, r28, 0x10, 0x1b, 0x1f -/* 06078C 80065D2C 54E005EF */ rlwinm. r0, r7, 0, 0x17, 0x17 -/* 060790 80065D30 41820148 */ beq lbl_80065E78 -/* 060794 80065D34 80032064 */ lwz r0, 0x2064(r3) -/* 060798 80065D38 38E00006 */ li r7, 6 -/* 06079C 80065D3C 28000000 */ cmplwi r0, 0 -/* 0607A0 80065D40 4082000C */ bne lbl_80065D4C -/* 0607A4 80065D44 38000000 */ li r0, 0 -/* 0607A8 80065D48 48000094 */ b lbl_80065DDC -lbl_80065D4C: -/* 0607AC 80065D4C 80032068 */ lwz r0, 0x2068(r3) -/* 0607B0 80065D50 28000000 */ cmplwi r0, 0 -/* 0607B4 80065D54 4082000C */ bne lbl_80065D60 -/* 0607B8 80065D58 38000000 */ li r0, 0 -/* 0607BC 80065D5C 48000080 */ b lbl_80065DDC -lbl_80065D60: -/* 0607C0 80065D60 8003206C */ lwz r0, 0x206c(r3) -/* 0607C4 80065D64 7C080000 */ cmpw r8, r0 -/* 0607C8 80065D68 4182000C */ beq lbl_80065D74 -/* 0607CC 80065D6C 38000000 */ li r0, 0 -/* 0607D0 80065D70 4800006C */ b lbl_80065DDC -lbl_80065D74: -/* 0607D4 80065D74 80BE0034 */ lwz r5, 0x34(r30) -/* 0607D8 80065D78 38800000 */ li r4, 0 -/* 0607DC 80065D7C 80050008 */ lwz r0, 8(r5) -/* 0607E0 80065D80 2C000000 */ cmpwi r0, 0 -/* 0607E4 80065D84 7C0903A6 */ mtctr r0 -/* 0607E8 80065D88 40810028 */ ble lbl_80065DB0 -lbl_80065D8C: -/* 0607EC 80065D8C 8065000C */ lwz r3, 0xc(r5) -/* 0607F0 80065D90 38040004 */ addi r0, r4, 4 -/* 0607F4 80065D94 7C03002E */ lwzx r0, r3, r0 -/* 0607F8 80065D98 7C1D0000 */ cmpw r29, r0 -/* 0607FC 80065D9C 4082000C */ bne lbl_80065DA8 -/* 060800 80065DA0 38000000 */ li r0, 0 -/* 060804 80065DA4 48000010 */ b lbl_80065DB4 -lbl_80065DA8: -/* 060808 80065DA8 38840008 */ addi r4, r4, 8 -/* 06080C 80065DAC 4200FFE0 */ bdnz lbl_80065D8C -lbl_80065DB0: -/* 060810 80065DB0 38000001 */ li r0, 1 -lbl_80065DB4: -/* 060814 80065DB4 2C000000 */ cmpwi r0, 0 -/* 060818 80065DB8 40820014 */ bne lbl_80065DCC -/* 06081C 80065DBC 38000000 */ li r0, 0 -/* 060820 80065DC0 3C7E0001 */ addis r3, r30, 1 -/* 060824 80065DC4 90032068 */ stw r0, 0x2068(r3) -/* 060828 80065DC8 48000014 */ b lbl_80065DDC -lbl_80065DCC: -/* 06082C 80065DCC 3C7E0001 */ addis r3, r30, 1 -/* 060830 80065DD0 38000000 */ li r0, 0 -/* 060834 80065DD4 90032068 */ stw r0, 0x2068(r3) -/* 060838 80065DD8 38000001 */ li r0, 1 -lbl_80065DDC: -/* 06083C 80065DDC 2C000000 */ cmpwi r0, 0 -/* 060840 80065DE0 41820050 */ beq lbl_80065E30 -/* 060844 80065DE4 281F0000 */ cmplwi r31, 0 -/* 060848 80065DE8 41820038 */ beq lbl_80065E20 -/* 06084C 80065DEC 3C9E0001 */ addis r4, r30, 1 -/* 060850 80065DF0 80610084 */ lwz r3, 0x84(r1) -/* 060854 80065DF4 80842070 */ lwz r4, 0x2070(r4) -/* 060858 80065DF8 38A30001 */ addi r5, r3, 1 -/* 06085C 80065DFC 5480A814 */ slwi r0, r4, 0x15 -/* 060860 80065E00 90A10084 */ stw r5, 0x84(r1) -/* 060864 80065E04 64007C06 */ oris r0, r0, 0x7c06 -/* 060868 80065E08 54845828 */ slwi r4, r4, 0xb -/* 06086C 80065E0C 60000378 */ ori r0, r0, 0x378 -/* 060870 80065E10 7C800378 */ or r0, r4, r0 -/* 060874 80065E14 5463103A */ slwi r3, r3, 2 -/* 060878 80065E18 7C1F192E */ stwx r0, r31, r3 -/* 06087C 80065E1C 4800005C */ b lbl_80065E78 -lbl_80065E20: -/* 060880 80065E20 80610084 */ lwz r3, 0x84(r1) -/* 060884 80065E24 38030001 */ addi r0, r3, 1 -/* 060888 80065E28 90010084 */ stw r0, 0x84(r1) -/* 06088C 80065E2C 4800004C */ b lbl_80065E78 -lbl_80065E30: -/* 060890 80065E30 281F0000 */ cmplwi r31, 0 -/* 060894 80065E34 41820038 */ beq lbl_80065E6C -/* 060898 80065E38 55041838 */ slwi r4, r8, 3 -/* 06089C 80065E3C 80610084 */ lwz r3, 0x84(r1) -/* 0608A0 80065E40 38040040 */ addi r0, r4, 0x40 -/* 0608A4 80065E44 7C1E0214 */ add r0, r30, r0 -/* 0608A8 80065E48 7C9E0050 */ subf r4, r30, r0 -/* 0608AC 80065E4C 38840004 */ addi r4, r4, 4 -/* 0608B0 80065E50 38030001 */ addi r0, r3, 1 -/* 0608B4 80065E54 5484043E */ clrlwi r4, r4, 0x10 -/* 0608B8 80065E58 90010084 */ stw r0, 0x84(r1) -/* 0608BC 80065E5C 3C0480C3 */ addis r0, r4, 0x80c3 -/* 0608C0 80065E60 5463103A */ slwi r3, r3, 2 -/* 0608C4 80065E64 7C1F192E */ stwx r0, r31, r3 -/* 0608C8 80065E68 48000010 */ b lbl_80065E78 -lbl_80065E6C: -/* 0608CC 80065E6C 80610084 */ lwz r3, 0x84(r1) -/* 0608D0 80065E70 38030001 */ addi r0, r3, 1 -/* 0608D4 80065E74 90010084 */ stw r0, 0x84(r1) -lbl_80065E78: -/* 0608D8 80065E78 281F0000 */ cmplwi r31, 0 -/* 0608DC 80065E7C 4182002C */ beq lbl_80065EA8 -/* 0608E0 80065E80 80610084 */ lwz r3, 0x84(r1) -/* 0608E4 80065E84 54E0801E */ slwi r0, r7, 0x10 -/* 0608E8 80065E88 640038A0 */ oris r0, r0, 0x38a0 -/* 0608EC 80065E8C 38830001 */ addi r4, r3, 1 -/* 0608F0 80065E90 5785043E */ clrlwi r5, r28, 0x10 -/* 0608F4 80065E94 90810084 */ stw r4, 0x84(r1) -/* 0608F8 80065E98 7C002B78 */ or r0, r0, r5 -/* 0608FC 80065E9C 5463103A */ slwi r3, r3, 2 -/* 060900 80065EA0 7C1F192E */ stwx r0, r31, r3 -/* 060904 80065EA4 48000010 */ b lbl_80065EB4 -lbl_80065EA8: -/* 060908 80065EA8 80610084 */ lwz r3, 0x84(r1) -/* 06090C 80065EAC 38030001 */ addi r0, r3, 1 -/* 060910 80065EB0 90010084 */ stw r0, 0x84(r1) -lbl_80065EB4: -/* 060914 80065EB4 281F0000 */ cmplwi r31, 0 -/* 060918 80065EB8 41820024 */ beq lbl_80065EDC -/* 06091C 80065EBC 80610084 */ lwz r3, 0x84(r1) -/* 060920 80065EC0 3C8054A7 */ lis r4, 0x54a7 -/* 060924 80065EC4 3884843E */ addi r4, r4, -31682 -/* 060928 80065EC8 38030001 */ addi r0, r3, 1 -/* 06092C 80065ECC 90010084 */ stw r0, 0x84(r1) -/* 060930 80065ED0 5460103A */ slwi r0, r3, 2 -/* 060934 80065ED4 7C9F012E */ stwx r4, r31, r0 -/* 060938 80065ED8 48000010 */ b lbl_80065EE8 -lbl_80065EDC: -/* 06093C 80065EDC 80610084 */ lwz r3, 0x84(r1) -/* 060940 80065EE0 38030001 */ addi r0, r3, 1 -/* 060944 80065EE4 90010084 */ stw r0, 0x84(r1) -lbl_80065EE8: -/* 060948 80065EE8 281F0000 */ cmplwi r31, 0 -/* 06094C 80065EEC 41820024 */ beq lbl_80065F10 -/* 060950 80065EF0 80610084 */ lwz r3, 0x84(r1) -/* 060954 80065EF4 3C807CC6 */ lis r4, 0x7cc6 -/* 060958 80065EF8 388448AE */ addi r4, r4, 0x48ae -/* 06095C 80065EFC 38030001 */ addi r0, r3, 1 -/* 060960 80065F00 90010084 */ stw r0, 0x84(r1) -/* 060964 80065F04 5460103A */ slwi r0, r3, 2 -/* 060968 80065F08 7C9F012E */ stwx r4, r31, r0 -/* 06096C 80065F0C 48000010 */ b lbl_80065F1C -lbl_80065F10: -/* 060970 80065F10 80610084 */ lwz r3, 0x84(r1) -/* 060974 80065F14 38030001 */ addi r0, r3, 1 -/* 060978 80065F18 90010084 */ stw r0, 0x84(r1) -lbl_80065F1C: -/* 06097C 80065F1C 281F0000 */ cmplwi r31, 0 -/* 060980 80065F20 41820024 */ beq lbl_80065F44 -/* 060984 80065F24 80610084 */ lwz r3, 0x84(r1) -/* 060988 80065F28 3C802C06 */ lis r4, 0x2c06 -/* 06098C 80065F2C 38840080 */ addi r4, r4, 0x80 -/* 060990 80065F30 38030001 */ addi r0, r3, 1 -/* 060994 80065F34 90010084 */ stw r0, 0x84(r1) -/* 060998 80065F38 5460103A */ slwi r0, r3, 2 -/* 06099C 80065F3C 7C9F012E */ stwx r4, r31, r0 -/* 0609A0 80065F40 48000010 */ b lbl_80065F50 -lbl_80065F44: -/* 0609A4 80065F44 80610084 */ lwz r3, 0x84(r1) -/* 0609A8 80065F48 38030001 */ addi r0, r3, 1 -/* 0609AC 80065F4C 90010084 */ stw r0, 0x84(r1) -lbl_80065F50: -/* 0609B0 80065F50 281F0000 */ cmplwi r31, 0 -/* 0609B4 80065F54 41820024 */ beq lbl_80065F78 -/* 0609B8 80065F58 80610084 */ lwz r3, 0x84(r1) -/* 0609BC 80065F5C 3C804180 */ lis r4, 0x4180 -/* 0609C0 80065F60 38840020 */ addi r4, r4, 0x20 -/* 0609C4 80065F64 38030001 */ addi r0, r3, 1 -/* 0609C8 80065F68 90010084 */ stw r0, 0x84(r1) -/* 0609CC 80065F6C 5460103A */ slwi r0, r3, 2 -/* 0609D0 80065F70 7C9F012E */ stwx r4, r31, r0 -/* 0609D4 80065F74 48000010 */ b lbl_80065F84 -lbl_80065F78: -/* 0609D8 80065F78 80610084 */ lwz r3, 0x84(r1) -/* 0609DC 80065F7C 38030001 */ addi r0, r3, 1 -/* 0609E0 80065F80 90010084 */ stw r0, 0x84(r1) -lbl_80065F84: -/* 0609E4 80065F84 281F0000 */ cmplwi r31, 0 -/* 0609E8 80065F88 41820024 */ beq lbl_80065FAC -/* 0609EC 80065F8C 80610084 */ lwz r3, 0x84(r1) -/* 0609F0 80065F90 3C809422 */ lis r4, 0x9422 -/* 0609F4 80065F94 3884FFF0 */ addi r4, r4, -16 -/* 0609F8 80065F98 38030001 */ addi r0, r3, 1 -/* 0609FC 80065F9C 90010084 */ stw r0, 0x84(r1) -/* 060A00 80065FA0 5460103A */ slwi r0, r3, 2 -/* 060A04 80065FA4 7C9F012E */ stwx r4, r31, r0 -/* 060A08 80065FA8 48000010 */ b lbl_80065FB8 -lbl_80065FAC: -/* 060A0C 80065FAC 80610084 */ lwz r3, 0x84(r1) -/* 060A10 80065FB0 38030001 */ addi r0, r3, 1 -/* 060A14 80065FB4 90010084 */ stw r0, 0x84(r1) -lbl_80065FB8: -/* 060A18 80065FB8 281F0000 */ cmplwi r31, 0 -/* 060A1C 80065FBC 41820024 */ beq lbl_80065FE0 -/* 060A20 80065FC0 80610084 */ lwz r3, 0x84(r1) -/* 060A24 80065FC4 3C809101 */ lis r4, 0x9101 -/* 060A28 80065FC8 38840008 */ addi r4, r4, 8 -/* 060A2C 80065FCC 38030001 */ addi r0, r3, 1 -/* 060A30 80065FD0 90010084 */ stw r0, 0x84(r1) -/* 060A34 80065FD4 5460103A */ slwi r0, r3, 2 -/* 060A38 80065FD8 7C9F012E */ stwx r4, r31, r0 -/* 060A3C 80065FDC 48000010 */ b lbl_80065FEC -lbl_80065FE0: -/* 060A40 80065FE0 80610084 */ lwz r3, 0x84(r1) -/* 060A44 80065FE4 38030001 */ addi r0, r3, 1 -/* 060A48 80065FE8 90010084 */ stw r0, 0x84(r1) -lbl_80065FEC: -/* 060A4C 80065FEC 7CC00E70 */ srawi r0, r6, 1 -/* 060A50 80065FF0 7C000194 */ addze r0, r0 -/* 060A54 80065FF4 5400083C */ slwi r0, r0, 1 -/* 060A58 80065FF8 7C003010 */ subfc r0, r0, r6 -/* 060A5C 80065FFC 2C000001 */ cmpwi r0, 1 -/* 060A60 80066000 4082004C */ bne lbl_8006604C -/* 060A64 80066004 281F0000 */ cmplwi r31, 0 -/* 060A68 80066008 41820034 */ beq lbl_8006603C -/* 060A6C 8006600C 3806FFFF */ addi r0, r6, -1 -/* 060A70 80066010 80610084 */ lwz r3, 0x84(r1) -/* 060A74 80066014 54041838 */ slwi r4, r0, 3 -/* 060A78 80066018 38040140 */ addi r0, r4, 0x140 -/* 060A7C 8006601C 7C9E0214 */ add r4, r30, r0 -/* 060A80 80066020 38030001 */ addi r0, r3, 1 -/* 060A84 80066024 7C9E2050 */ subf r4, r30, r4 -/* 060A88 80066028 90010084 */ stw r0, 0x84(r1) -/* 060A8C 8006602C 3C048103 */ addis r0, r4, 0x8103 -/* 060A90 80066030 5463103A */ slwi r3, r3, 2 -/* 060A94 80066034 7C1F192E */ stwx r0, r31, r3 -/* 060A98 80066038 48000058 */ b lbl_80066090 -lbl_8006603C: -/* 060A9C 8006603C 80610084 */ lwz r3, 0x84(r1) -/* 060AA0 80066040 38030001 */ addi r0, r3, 1 -/* 060AA4 80066044 90010084 */ stw r0, 0x84(r1) -/* 060AA8 80066048 48000048 */ b lbl_80066090 -lbl_8006604C: -/* 060AAC 8006604C 281F0000 */ cmplwi r31, 0 -/* 060AB0 80066050 41820034 */ beq lbl_80066084 -/* 060AB4 80066054 54C41838 */ slwi r4, r6, 3 -/* 060AB8 80066058 80610084 */ lwz r3, 0x84(r1) -/* 060ABC 8006605C 38040140 */ addi r0, r4, 0x140 -/* 060AC0 80066060 7C1E0214 */ add r0, r30, r0 -/* 060AC4 80066064 7C9E0050 */ subf r4, r30, r0 -/* 060AC8 80066068 38030001 */ addi r0, r3, 1 -/* 060ACC 8006606C 3C848103 */ addis r4, r4, 0x8103 -/* 060AD0 80066070 90010084 */ stw r0, 0x84(r1) -/* 060AD4 80066074 38040004 */ addi r0, r4, 4 -/* 060AD8 80066078 5463103A */ slwi r3, r3, 2 -/* 060ADC 8006607C 7C1F192E */ stwx r0, r31, r3 -/* 060AE0 80066080 48000010 */ b lbl_80066090 -lbl_80066084: -/* 060AE4 80066084 80610084 */ lwz r3, 0x84(r1) -/* 060AE8 80066088 38030001 */ addi r0, r3, 1 -/* 060AEC 8006608C 90010084 */ stw r0, 0x84(r1) -lbl_80066090: -/* 060AF0 80066090 281F0000 */ cmplwi r31, 0 -/* 060AF4 80066094 41820034 */ beq lbl_800660C8 -/* 060AF8 80066098 80610084 */ lwz r3, 0x84(r1) -/* 060AFC 8006609C 800D8A6C */ lwz r0, cpuCompile_SW_function@sda21(r13) -/* 060B00 800660A0 5465103A */ slwi r5, r3, 2 -/* 060B04 800660A4 7C9F2A14 */ add r4, r31, r5 -/* 060B08 800660A8 7C040050 */ subf r0, r4, r0 -/* 060B0C 800660AC 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 060B10 800660B0 38630001 */ addi r3, r3, 1 -/* 060B14 800660B4 64004800 */ oris r0, r0, 0x4800 -/* 060B18 800660B8 90610084 */ stw r3, 0x84(r1) -/* 060B1C 800660BC 60000001 */ ori r0, r0, 1 -/* 060B20 800660C0 7C1F292E */ stwx r0, r31, r5 -/* 060B24 800660C4 48000010 */ b lbl_800660D4 -lbl_800660C8: -/* 060B28 800660C8 80610084 */ lwz r3, 0x84(r1) -/* 060B2C 800660CC 38030001 */ addi r0, r3, 1 -/* 060B30 800660D0 90010084 */ stw r0, 0x84(r1) -lbl_800660D4: -/* 060B34 800660D4 281F0000 */ cmplwi r31, 0 -/* 060B38 800660D8 41820024 */ beq lbl_800660FC -/* 060B3C 800660DC 80610084 */ lwz r3, 0x84(r1) -/* 060B40 800660E0 3C808101 */ lis r4, 0x8101 -/* 060B44 800660E4 38840008 */ addi r4, r4, 8 -/* 060B48 800660E8 38030001 */ addi r0, r3, 1 -/* 060B4C 800660EC 90010084 */ stw r0, 0x84(r1) -/* 060B50 800660F0 5460103A */ slwi r0, r3, 2 -/* 060B54 800660F4 7C9F012E */ stwx r4, r31, r0 -/* 060B58 800660F8 48000010 */ b lbl_80066108 -lbl_800660FC: -/* 060B5C 800660FC 80610084 */ lwz r3, 0x84(r1) -/* 060B60 80066100 38030001 */ addi r0, r3, 1 -/* 060B64 80066104 90010084 */ stw r0, 0x84(r1) -lbl_80066108: -/* 060B68 80066108 281F0000 */ cmplwi r31, 0 -/* 060B6C 8006610C 41820024 */ beq lbl_80066130 -/* 060B70 80066110 80610084 */ lwz r3, 0x84(r1) -/* 060B74 80066114 3C803821 */ lis r4, 0x3821 -/* 060B78 80066118 38840010 */ addi r4, r4, 0x10 -/* 060B7C 8006611C 38030001 */ addi r0, r3, 1 -/* 060B80 80066120 90010084 */ stw r0, 0x84(r1) -/* 060B84 80066124 5460103A */ slwi r0, r3, 2 -/* 060B88 80066128 7C9F012E */ stwx r4, r31, r0 -/* 060B8C 8006612C 48000010 */ b lbl_8006613C -lbl_80066130: -/* 060B90 80066130 80610084 */ lwz r3, 0x84(r1) -/* 060B94 80066134 38030001 */ addi r0, r3, 1 -/* 060B98 80066138 90010084 */ stw r0, 0x84(r1) -lbl_8006613C: -/* 060B9C 8006613C 2C110000 */ cmpwi r17, 0 -/* 060BA0 80066140 418201BC */ beq lbl_800662FC -/* 060BA4 80066144 281F0000 */ cmplwi r31, 0 -/* 060BA8 80066148 41820024 */ beq lbl_8006616C -/* 060BAC 8006614C 80610084 */ lwz r3, 0x84(r1) -/* 060BB0 80066150 3C804280 */ lis r4, 0x4280 -/* 060BB4 80066154 38840020 */ addi r4, r4, 0x20 -/* 060BB8 80066158 38030001 */ addi r0, r3, 1 -/* 060BBC 8006615C 90010084 */ stw r0, 0x84(r1) -/* 060BC0 80066160 5460103A */ slwi r0, r3, 2 -/* 060BC4 80066164 7C9F012E */ stwx r4, r31, r0 -/* 060BC8 80066168 48000010 */ b lbl_80066178 -lbl_8006616C: -/* 060BCC 8006616C 80610084 */ lwz r3, 0x84(r1) -/* 060BD0 80066170 38030001 */ addi r0, r3, 1 -/* 060BD4 80066174 90010084 */ stw r0, 0x84(r1) -lbl_80066178: -/* 060BD8 80066178 281F0000 */ cmplwi r31, 0 -/* 060BDC 8006617C 41820020 */ beq lbl_8006619C -/* 060BE0 80066180 80610084 */ lwz r3, 0x84(r1) -/* 060BE4 80066184 3C8038C0 */ lis r4, 0x38c0 -/* 060BE8 80066188 38030001 */ addi r0, r3, 1 -/* 060BEC 8006618C 90010084 */ stw r0, 0x84(r1) -/* 060BF0 80066190 5460103A */ slwi r0, r3, 2 -/* 060BF4 80066194 7C9F012E */ stwx r4, r31, r0 -/* 060BF8 80066198 48000010 */ b lbl_800661A8 -lbl_8006619C: -/* 060BFC 8006619C 80610084 */ lwz r3, 0x84(r1) -/* 060C00 800661A0 38030001 */ addi r0, r3, 1 -/* 060C04 800661A4 90010084 */ stw r0, 0x84(r1) -lbl_800661A8: -/* 060C08 800661A8 281F0000 */ cmplwi r31, 0 -/* 060C0C 800661AC 41820028 */ beq lbl_800661D4 -/* 060C10 800661B0 80610084 */ lwz r3, 0x84(r1) -/* 060C14 800661B4 381E002C */ addi r0, r30, 0x2c -/* 060C18 800661B8 7C9E0050 */ subf r4, r30, r0 -/* 060C1C 800661BC 38030001 */ addi r0, r3, 1 -/* 060C20 800661C0 90010084 */ stw r0, 0x84(r1) -/* 060C24 800661C4 3C0490C3 */ addis r0, r4, 0x90c3 -/* 060C28 800661C8 5463103A */ slwi r3, r3, 2 -/* 060C2C 800661CC 7C1F192E */ stwx r0, r31, r3 -/* 060C30 800661D0 48000010 */ b lbl_800661E0 -lbl_800661D4: -/* 060C34 800661D4 80610084 */ lwz r3, 0x84(r1) -/* 060C38 800661D8 38030001 */ addi r0, r3, 1 -/* 060C3C 800661DC 90010084 */ stw r0, 0x84(r1) -lbl_800661E0: -/* 060C40 800661E0 281F0000 */ cmplwi r31, 0 -/* 060C44 800661E4 41820024 */ beq lbl_80066208 -/* 060C48 800661E8 80610084 */ lwz r3, 0x84(r1) -/* 060C4C 800661EC 57A0843E */ srwi r0, r29, 0x10 -/* 060C50 800661F0 64043CA0 */ oris r4, r0, 0x3ca0 -/* 060C54 800661F4 38030001 */ addi r0, r3, 1 -/* 060C58 800661F8 90010084 */ stw r0, 0x84(r1) -/* 060C5C 800661FC 5460103A */ slwi r0, r3, 2 -/* 060C60 80066200 7C9F012E */ stwx r4, r31, r0 -/* 060C64 80066204 48000010 */ b lbl_80066214 -lbl_80066208: -/* 060C68 80066208 80610084 */ lwz r3, 0x84(r1) -/* 060C6C 8006620C 38030001 */ addi r0, r3, 1 -/* 060C70 80066210 90010084 */ stw r0, 0x84(r1) -lbl_80066214: -/* 060C74 80066214 281F0000 */ cmplwi r31, 0 -/* 060C78 80066218 41820024 */ beq lbl_8006623C -/* 060C7C 8006621C 80610084 */ lwz r3, 0x84(r1) -/* 060C80 80066220 57A0043E */ clrlwi r0, r29, 0x10 -/* 060C84 80066224 640460A5 */ oris r4, r0, 0x60a5 -/* 060C88 80066228 38030001 */ addi r0, r3, 1 -/* 060C8C 8006622C 90010084 */ stw r0, 0x84(r1) -/* 060C90 80066230 5460103A */ slwi r0, r3, 2 -/* 060C94 80066234 7C9F012E */ stwx r4, r31, r0 -/* 060C98 80066238 48000010 */ b lbl_80066248 -lbl_8006623C: -/* 060C9C 8006623C 80610084 */ lwz r3, 0x84(r1) -/* 060CA0 80066240 38030001 */ addi r0, r3, 1 -/* 060CA4 80066244 90010084 */ stw r0, 0x84(r1) -lbl_80066248: -/* 060CA8 80066248 281F0000 */ cmplwi r31, 0 -/* 060CAC 8006624C 41820034 */ beq lbl_80066280 -/* 060CB0 80066250 80610084 */ lwz r3, 0x84(r1) -/* 060CB4 80066254 801E0B40 */ lwz r0, 0xb40(r30) -/* 060CB8 80066258 5465103A */ slwi r5, r3, 2 -/* 060CBC 8006625C 7C9F2A14 */ add r4, r31, r5 -/* 060CC0 80066260 7C040050 */ subf r0, r4, r0 -/* 060CC4 80066264 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 060CC8 80066268 38630001 */ addi r3, r3, 1 -/* 060CCC 8006626C 64004800 */ oris r0, r0, 0x4800 -/* 060CD0 80066270 90610084 */ stw r3, 0x84(r1) -/* 060CD4 80066274 60000001 */ ori r0, r0, 1 -/* 060CD8 80066278 7C1F292E */ stwx r0, r31, r5 -/* 060CDC 8006627C 48000010 */ b lbl_8006628C -lbl_80066280: -/* 060CE0 80066280 80610084 */ lwz r3, 0x84(r1) -/* 060CE4 80066284 38030001 */ addi r0, r3, 1 -/* 060CE8 80066288 90010084 */ stw r0, 0x84(r1) -lbl_8006628C: -/* 060CEC 8006628C 281F0000 */ cmplwi r31, 0 -/* 060CF0 80066290 41820024 */ beq lbl_800662B4 -/* 060CF4 80066294 80610084 */ lwz r3, 0x84(r1) -/* 060CF8 80066298 3C8038C1 */ lis r4, 0x38c1 -/* 060CFC 8006629C 3884FFFF */ addi r4, r4, -1 -/* 060D00 800662A0 38030001 */ addi r0, r3, 1 -/* 060D04 800662A4 90010084 */ stw r0, 0x84(r1) -/* 060D08 800662A8 5460103A */ slwi r0, r3, 2 -/* 060D0C 800662AC 7C9F012E */ stwx r4, r31, r0 -/* 060D10 800662B0 48000010 */ b lbl_800662C0 -lbl_800662B4: -/* 060D14 800662B4 80610084 */ lwz r3, 0x84(r1) -/* 060D18 800662B8 38030001 */ addi r0, r3, 1 -/* 060D1C 800662BC 90010084 */ stw r0, 0x84(r1) -lbl_800662C0: -/* 060D20 800662C0 281F0000 */ cmplwi r31, 0 -/* 060D24 800662C4 41820028 */ beq lbl_800662EC -/* 060D28 800662C8 80610084 */ lwz r3, 0x84(r1) -/* 060D2C 800662CC 381E002C */ addi r0, r30, 0x2c -/* 060D30 800662D0 7C9E0050 */ subf r4, r30, r0 -/* 060D34 800662D4 38030001 */ addi r0, r3, 1 -/* 060D38 800662D8 90010084 */ stw r0, 0x84(r1) -/* 060D3C 800662DC 3C0490C3 */ addis r0, r4, 0x90c3 -/* 060D40 800662E0 5463103A */ slwi r3, r3, 2 -/* 060D44 800662E4 7C1F192E */ stwx r0, r31, r3 -/* 060D48 800662E8 48001C4C */ b lbl_80067F34 -lbl_800662EC: -/* 060D4C 800662EC 80610084 */ lwz r3, 0x84(r1) -/* 060D50 800662F0 38030001 */ addi r0, r3, 1 -/* 060D54 800662F4 90010084 */ stw r0, 0x84(r1) -/* 060D58 800662F8 48001C3C */ b lbl_80067F34 -lbl_800662FC: -/* 060D5C 800662FC 281F0000 */ cmplwi r31, 0 -/* 060D60 80066300 41820024 */ beq lbl_80066324 -/* 060D64 80066304 80610084 */ lwz r3, 0x84(r1) -/* 060D68 80066308 3C804280 */ lis r4, 0x4280 -/* 060D6C 8006630C 38840010 */ addi r4, r4, 0x10 -/* 060D70 80066310 38030001 */ addi r0, r3, 1 -/* 060D74 80066314 90010084 */ stw r0, 0x84(r1) -/* 060D78 80066318 5460103A */ slwi r0, r3, 2 -/* 060D7C 8006631C 7C9F012E */ stwx r4, r31, r0 -/* 060D80 80066320 48000010 */ b lbl_80066330 -lbl_80066324: -/* 060D84 80066324 80610084 */ lwz r3, 0x84(r1) -/* 060D88 80066328 38030001 */ addi r0, r3, 1 -/* 060D8C 8006632C 90010084 */ stw r0, 0x84(r1) -lbl_80066330: -/* 060D90 80066330 281F0000 */ cmplwi r31, 0 -/* 060D94 80066334 41820024 */ beq lbl_80066358 -/* 060D98 80066338 80610084 */ lwz r3, 0x84(r1) -/* 060D9C 8006633C 57A0843E */ srwi r0, r29, 0x10 -/* 060DA0 80066340 64043CA0 */ oris r4, r0, 0x3ca0 -/* 060DA4 80066344 38030001 */ addi r0, r3, 1 -/* 060DA8 80066348 90010084 */ stw r0, 0x84(r1) -/* 060DAC 8006634C 5460103A */ slwi r0, r3, 2 -/* 060DB0 80066350 7C9F012E */ stwx r4, r31, r0 -/* 060DB4 80066354 48000010 */ b lbl_80066364 -lbl_80066358: -/* 060DB8 80066358 80610084 */ lwz r3, 0x84(r1) -/* 060DBC 8006635C 38030001 */ addi r0, r3, 1 -/* 060DC0 80066360 90010084 */ stw r0, 0x84(r1) -lbl_80066364: -/* 060DC4 80066364 281F0000 */ cmplwi r31, 0 -/* 060DC8 80066368 41820024 */ beq lbl_8006638C -/* 060DCC 8006636C 80610084 */ lwz r3, 0x84(r1) -/* 060DD0 80066370 57A0043E */ clrlwi r0, r29, 0x10 -/* 060DD4 80066374 640460A5 */ oris r4, r0, 0x60a5 -/* 060DD8 80066378 38030001 */ addi r0, r3, 1 -/* 060DDC 8006637C 90010084 */ stw r0, 0x84(r1) -/* 060DE0 80066380 5460103A */ slwi r0, r3, 2 -/* 060DE4 80066384 7C9F012E */ stwx r4, r31, r0 -/* 060DE8 80066388 48000010 */ b lbl_80066398 -lbl_8006638C: -/* 060DEC 8006638C 80610084 */ lwz r3, 0x84(r1) -/* 060DF0 80066390 38030001 */ addi r0, r3, 1 -/* 060DF4 80066394 90010084 */ stw r0, 0x84(r1) -lbl_80066398: -/* 060DF8 80066398 281F0000 */ cmplwi r31, 0 -/* 060DFC 8006639C 41820034 */ beq lbl_800663D0 -/* 060E00 800663A0 80610084 */ lwz r3, 0x84(r1) -/* 060E04 800663A4 801E0B40 */ lwz r0, 0xb40(r30) -/* 060E08 800663A8 5465103A */ slwi r5, r3, 2 -/* 060E0C 800663AC 7C9F2A14 */ add r4, r31, r5 -/* 060E10 800663B0 7C040050 */ subf r0, r4, r0 -/* 060E14 800663B4 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 060E18 800663B8 38630001 */ addi r3, r3, 1 -/* 060E1C 800663BC 64004800 */ oris r0, r0, 0x4800 -/* 060E20 800663C0 90610084 */ stw r3, 0x84(r1) -/* 060E24 800663C4 60000001 */ ori r0, r0, 1 -/* 060E28 800663C8 7C1F292E */ stwx r0, r31, r5 -/* 060E2C 800663CC 48001B68 */ b lbl_80067F34 -lbl_800663D0: -/* 060E30 800663D0 80610084 */ lwz r3, 0x84(r1) -/* 060E34 800663D4 38030001 */ addi r0, r3, 1 -/* 060E38 800663D8 90010084 */ stw r0, 0x84(r1) -/* 060E3C 800663DC 48001B58 */ b lbl_80067F34 -lbl_800663E0: -/* 060E40 800663E0 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 060E44 800663E4 7C7A0214 */ add r3, r26, r0 -/* 060E48 800663E8 80030818 */ lwz r0, 0x818(r3) -/* 060E4C 800663EC 57985EFE */ rlwinm r24, r28, 0xb, 0x1b, 0x1f -/* 060E50 800663F0 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 060E54 800663F4 40820050 */ bne lbl_80066444 -/* 060E58 800663F8 281F0000 */ cmplwi r31, 0 -/* 060E5C 800663FC 4182003C */ beq lbl_80066438 -/* 060E60 80066400 57031838 */ slwi r3, r24, 3 -/* 060E64 80066404 80810084 */ lwz r4, 0x84(r1) -/* 060E68 80066408 38630040 */ addi r3, r3, 0x40 -/* 060E6C 8006640C 5400A814 */ slwi r0, r0, 0x15 -/* 060E70 80066410 7CBE1A14 */ add r5, r30, r3 -/* 060E74 80066414 38640001 */ addi r3, r4, 1 -/* 060E78 80066418 64009003 */ oris r0, r0, 0x9003 -/* 060E7C 8006641C 90610084 */ stw r3, 0x84(r1) -/* 060E80 80066420 7C7E2850 */ subf r3, r30, r5 -/* 060E84 80066424 7C630214 */ add r3, r3, r0 -/* 060E88 80066428 38030004 */ addi r0, r3, 4 -/* 060E8C 8006642C 5483103A */ slwi r3, r4, 2 -/* 060E90 80066430 7C1F192E */ stwx r0, r31, r3 -/* 060E94 80066434 48000010 */ b lbl_80066444 -lbl_80066438: -/* 060E98 80066438 80610084 */ lwz r3, 0x84(r1) -/* 060E9C 8006643C 38030001 */ addi r0, r3, 1 -/* 060EA0 80066440 90010084 */ stw r0, 0x84(r1) -lbl_80066444: -/* 060EA4 80066444 807E0008 */ lwz r3, 8(r30) -/* 060EA8 80066448 579786FE */ rlwinm r23, r28, 0x10, 0x1b, 0x1f -/* 060EAC 8006644C 38810088 */ addi r4, r1, 0x88 -/* 060EB0 80066450 8063002C */ lwz r3, 0x2c(r3) -/* 060EB4 80066454 48006B7D */ bl ramGetSize -/* 060EB8 80066458 2C030000 */ cmpwi r3, 0 -/* 060EBC 8006645C 4082000C */ bne lbl_80066468 -/* 060EC0 80066460 38600000 */ li r3, 0 -/* 060EC4 80066464 48001DC0 */ b lbl_80068224 -lbl_80066468: -/* 060EC8 80066468 281F0000 */ cmplwi r31, 0 -/* 060ECC 8006646C 41820034 */ beq lbl_800664A0 -/* 060ED0 80066470 57041838 */ slwi r4, r24, 3 -/* 060ED4 80066474 80610084 */ lwz r3, 0x84(r1) -/* 060ED8 80066478 38040040 */ addi r0, r4, 0x40 -/* 060EDC 8006647C 7C1E0214 */ add r0, r30, r0 -/* 060EE0 80066480 7C9E0050 */ subf r4, r30, r0 -/* 060EE4 80066484 38030001 */ addi r0, r3, 1 -/* 060EE8 80066488 3C8480A3 */ addis r4, r4, 0x80a3 -/* 060EEC 8006648C 90010084 */ stw r0, 0x84(r1) -/* 060EF0 80066490 38040004 */ addi r0, r4, 4 -/* 060EF4 80066494 5463103A */ slwi r3, r3, 2 -/* 060EF8 80066498 7C1F192E */ stwx r0, r31, r3 -/* 060EFC 8006649C 48000010 */ b lbl_800664AC -lbl_800664A0: -/* 060F00 800664A0 80610084 */ lwz r3, 0x84(r1) -/* 060F04 800664A4 38030001 */ addi r0, r3, 1 -/* 060F08 800664A8 90010084 */ stw r0, 0x84(r1) -lbl_800664AC: -/* 060F0C 800664AC 281F0000 */ cmplwi r31, 0 -/* 060F10 800664B0 41820024 */ beq lbl_800664D4 -/* 060F14 800664B4 80610084 */ lwz r3, 0x84(r1) -/* 060F18 800664B8 3C803CE1 */ lis r4, 0x3ce1 -/* 060F1C 800664BC 38848000 */ addi r4, r4, -32768 -/* 060F20 800664C0 38030001 */ addi r0, r3, 1 -/* 060F24 800664C4 90010084 */ stw r0, 0x84(r1) -/* 060F28 800664C8 5460103A */ slwi r0, r3, 2 -/* 060F2C 800664CC 7C9F012E */ stwx r4, r31, r0 -/* 060F30 800664D0 48000010 */ b lbl_800664E0 -lbl_800664D4: -/* 060F34 800664D4 80610084 */ lwz r3, 0x84(r1) -/* 060F38 800664D8 38030001 */ addi r0, r3, 1 -/* 060F3C 800664DC 90010084 */ stw r0, 0x84(r1) -lbl_800664E0: -/* 060F40 800664E0 281F0000 */ cmplwi r31, 0 -/* 060F44 800664E4 41820024 */ beq lbl_80066508 -/* 060F48 800664E8 80610084 */ lwz r3, 0x84(r1) -/* 060F4C 800664EC 3C807C07 */ lis r4, 0x7c07 -/* 060F50 800664F0 38842840 */ addi r4, r4, 0x2840 -/* 060F54 800664F4 38030001 */ addi r0, r3, 1 -/* 060F58 800664F8 90010084 */ stw r0, 0x84(r1) -/* 060F5C 800664FC 5460103A */ slwi r0, r3, 2 -/* 060F60 80066500 7C9F012E */ stwx r4, r31, r0 -/* 060F64 80066504 48000010 */ b lbl_80066514 -lbl_80066508: -/* 060F68 80066508 80610084 */ lwz r3, 0x84(r1) -/* 060F6C 8006650C 38030001 */ addi r0, r3, 1 -/* 060F70 80066510 90010084 */ stw r0, 0x84(r1) -lbl_80066514: -/* 060F74 80066514 281F0000 */ cmplwi r31, 0 -/* 060F78 80066518 41820024 */ beq lbl_8006653C -/* 060F7C 8006651C 80610084 */ lwz r3, 0x84(r1) -/* 060F80 80066520 3C804181 */ lis r4, 0x4181 -/* 060F84 80066524 38840014 */ addi r4, r4, 0x14 -/* 060F88 80066528 38030001 */ addi r0, r3, 1 -/* 060F8C 8006652C 90010084 */ stw r0, 0x84(r1) -/* 060F90 80066530 5460103A */ slwi r0, r3, 2 -/* 060F94 80066534 7C9F012E */ stwx r4, r31, r0 -/* 060F98 80066538 48000010 */ b lbl_80066548 -lbl_8006653C: -/* 060F9C 8006653C 80610084 */ lwz r3, 0x84(r1) -/* 060FA0 80066540 38030001 */ addi r0, r3, 1 -/* 060FA4 80066544 90010084 */ stw r0, 0x84(r1) -lbl_80066548: -/* 060FA8 80066548 281F0000 */ cmplwi r31, 0 -/* 060FAC 8006654C 41820030 */ beq lbl_8006657C -/* 060FB0 80066550 80010088 */ lwz r0, 0x88(r1) -/* 060FB4 80066554 80610084 */ lwz r3, 0x84(r1) -/* 060FB8 80066558 7C048670 */ srawi r4, r0, 0x10 -/* 060FBC 8006655C 3884FFFF */ addi r4, r4, -1 -/* 060FC0 80066560 38030001 */ addi r0, r3, 1 -/* 060FC4 80066564 64843CE0 */ oris r4, r4, 0x3ce0 -/* 060FC8 80066568 90010084 */ stw r0, 0x84(r1) -/* 060FCC 8006656C 60848000 */ ori r4, r4, 0x8000 -/* 060FD0 80066570 5460103A */ slwi r0, r3, 2 -/* 060FD4 80066574 7C9F012E */ stwx r4, r31, r0 -/* 060FD8 80066578 48000010 */ b lbl_80066588 -lbl_8006657C: -/* 060FDC 8006657C 80610084 */ lwz r3, 0x84(r1) -/* 060FE0 80066580 38030001 */ addi r0, r3, 1 -/* 060FE4 80066584 90010084 */ stw r0, 0x84(r1) -lbl_80066588: -/* 060FE8 80066588 281F0000 */ cmplwi r31, 0 -/* 060FEC 8006658C 41820024 */ beq lbl_800665B0 -/* 060FF0 80066590 80610084 */ lwz r3, 0x84(r1) -/* 060FF4 80066594 3C8060E8 */ lis r4, 0x60e8 -/* 060FF8 80066598 3884FFFF */ addi r4, r4, -1 -/* 060FFC 8006659C 38030001 */ addi r0, r3, 1 -/* 061000 800665A0 90010084 */ stw r0, 0x84(r1) -/* 061004 800665A4 5460103A */ slwi r0, r3, 2 -/* 061008 800665A8 7C9F012E */ stwx r4, r31, r0 -/* 06100C 800665AC 48000010 */ b lbl_800665BC -lbl_800665B0: -/* 061010 800665B0 80610084 */ lwz r3, 0x84(r1) -/* 061014 800665B4 38030001 */ addi r0, r3, 1 -/* 061018 800665B8 90010084 */ stw r0, 0x84(r1) -lbl_800665BC: -/* 06101C 800665BC 281F0000 */ cmplwi r31, 0 -/* 061020 800665C0 41820024 */ beq lbl_800665E4 -/* 061024 800665C4 80610084 */ lwz r3, 0x84(r1) -/* 061028 800665C8 3C807C07 */ lis r4, 0x7c07 -/* 06102C 800665CC 38842840 */ addi r4, r4, 0x2840 -/* 061030 800665D0 38030001 */ addi r0, r3, 1 -/* 061034 800665D4 90010084 */ stw r0, 0x84(r1) -/* 061038 800665D8 5460103A */ slwi r0, r3, 2 -/* 06103C 800665DC 7C9F012E */ stwx r4, r31, r0 -/* 061040 800665E0 48000010 */ b lbl_800665F0 -lbl_800665E4: -/* 061044 800665E4 80610084 */ lwz r3, 0x84(r1) -/* 061048 800665E8 38030001 */ addi r0, r3, 1 -/* 06104C 800665EC 90010084 */ stw r0, 0x84(r1) -lbl_800665F0: -/* 061050 800665F0 2C110000 */ cmpwi r17, 0 -/* 061054 800665F4 418200A4 */ beq lbl_80066698 -/* 061058 800665F8 281F0000 */ cmplwi r31, 0 -/* 06105C 800665FC 41820024 */ beq lbl_80066620 -/* 061060 80066600 80610084 */ lwz r3, 0x84(r1) -/* 061064 80066604 3C804181 */ lis r4, 0x4181 -/* 061068 80066608 38840024 */ addi r4, r4, 0x24 -/* 06106C 8006660C 38030001 */ addi r0, r3, 1 -/* 061070 80066610 90010084 */ stw r0, 0x84(r1) -/* 061074 80066614 5460103A */ slwi r0, r3, 2 -/* 061078 80066618 7C9F012E */ stwx r4, r31, r0 -/* 06107C 8006661C 48000010 */ b lbl_8006662C -lbl_80066620: -/* 061080 80066620 80610084 */ lwz r3, 0x84(r1) -/* 061084 80066624 38030001 */ addi r0, r3, 1 -/* 061088 80066628 90010084 */ stw r0, 0x84(r1) -lbl_8006662C: -/* 06108C 8006662C 281F0000 */ cmplwi r31, 0 -/* 061090 80066630 41820020 */ beq lbl_80066650 -/* 061094 80066634 80610084 */ lwz r3, 0x84(r1) -/* 061098 80066638 3C8038C0 */ lis r4, 0x38c0 -/* 06109C 8006663C 38030001 */ addi r0, r3, 1 -/* 0610A0 80066640 90010084 */ stw r0, 0x84(r1) -/* 0610A4 80066644 5460103A */ slwi r0, r3, 2 -/* 0610A8 80066648 7C9F012E */ stwx r4, r31, r0 -/* 0610AC 8006664C 48000010 */ b lbl_8006665C -lbl_80066650: -/* 0610B0 80066650 80610084 */ lwz r3, 0x84(r1) -/* 0610B4 80066654 38030001 */ addi r0, r3, 1 -/* 0610B8 80066658 90010084 */ stw r0, 0x84(r1) -lbl_8006665C: -/* 0610BC 8006665C 281F0000 */ cmplwi r31, 0 -/* 0610C0 80066660 41820028 */ beq lbl_80066688 -/* 0610C4 80066664 80610084 */ lwz r3, 0x84(r1) -/* 0610C8 80066668 381E002C */ addi r0, r30, 0x2c -/* 0610CC 8006666C 7C9E0050 */ subf r4, r30, r0 -/* 0610D0 80066670 38030001 */ addi r0, r3, 1 -/* 0610D4 80066674 90010084 */ stw r0, 0x84(r1) -/* 0610D8 80066678 3C0490C3 */ addis r0, r4, 0x90c3 -/* 0610DC 8006667C 5463103A */ slwi r3, r3, 2 -/* 0610E0 80066680 7C1F192E */ stwx r0, r31, r3 -/* 0610E4 80066684 48000048 */ b lbl_800666CC -lbl_80066688: -/* 0610E8 80066688 80610084 */ lwz r3, 0x84(r1) -/* 0610EC 8006668C 38030001 */ addi r0, r3, 1 -/* 0610F0 80066690 90010084 */ stw r0, 0x84(r1) -/* 0610F4 80066694 48000038 */ b lbl_800666CC -lbl_80066698: -/* 0610F8 80066698 281F0000 */ cmplwi r31, 0 -/* 0610FC 8006669C 41820024 */ beq lbl_800666C0 -/* 061100 800666A0 80610084 */ lwz r3, 0x84(r1) -/* 061104 800666A4 3C804181 */ lis r4, 0x4181 -/* 061108 800666A8 38840014 */ addi r4, r4, 0x14 -/* 06110C 800666AC 38030001 */ addi r0, r3, 1 -/* 061110 800666B0 90010084 */ stw r0, 0x84(r1) -/* 061114 800666B4 5460103A */ slwi r0, r3, 2 -/* 061118 800666B8 7C9F012E */ stwx r4, r31, r0 -/* 06111C 800666BC 48000010 */ b lbl_800666CC -lbl_800666C0: -/* 061120 800666C0 80610084 */ lwz r3, 0x84(r1) -/* 061124 800666C4 38030001 */ addi r0, r3, 1 -/* 061128 800666C8 90010084 */ stw r0, 0x84(r1) -lbl_800666CC: -/* 06112C 800666CC 281F0000 */ cmplwi r31, 0 -/* 061130 800666D0 41820024 */ beq lbl_800666F4 -/* 061134 800666D4 80610084 */ lwz r3, 0x84(r1) -/* 061138 800666D8 57A0843E */ srwi r0, r29, 0x10 -/* 06113C 800666DC 64043CA0 */ oris r4, r0, 0x3ca0 -/* 061140 800666E0 38030001 */ addi r0, r3, 1 -/* 061144 800666E4 90010084 */ stw r0, 0x84(r1) -/* 061148 800666E8 5460103A */ slwi r0, r3, 2 -/* 06114C 800666EC 7C9F012E */ stwx r4, r31, r0 -/* 061150 800666F0 48000010 */ b lbl_80066700 -lbl_800666F4: -/* 061154 800666F4 80610084 */ lwz r3, 0x84(r1) -/* 061158 800666F8 38030001 */ addi r0, r3, 1 -/* 06115C 800666FC 90010084 */ stw r0, 0x84(r1) -lbl_80066700: -/* 061160 80066700 281F0000 */ cmplwi r31, 0 -/* 061164 80066704 41820024 */ beq lbl_80066728 -/* 061168 80066708 80610084 */ lwz r3, 0x84(r1) -/* 06116C 8006670C 57A0043E */ clrlwi r0, r29, 0x10 -/* 061170 80066710 640460A5 */ oris r4, r0, 0x60a5 -/* 061174 80066714 38030001 */ addi r0, r3, 1 -/* 061178 80066718 90010084 */ stw r0, 0x84(r1) -/* 06117C 8006671C 5460103A */ slwi r0, r3, 2 -/* 061180 80066720 7C9F012E */ stwx r4, r31, r0 -/* 061184 80066724 48000010 */ b lbl_80066734 -lbl_80066728: -/* 061188 80066728 80610084 */ lwz r3, 0x84(r1) -/* 06118C 8006672C 38030001 */ addi r0, r3, 1 -/* 061190 80066730 90010084 */ stw r0, 0x84(r1) -lbl_80066734: -/* 061194 80066734 281F0000 */ cmplwi r31, 0 -/* 061198 80066738 41820034 */ beq lbl_8006676C -/* 06119C 8006673C 80610084 */ lwz r3, 0x84(r1) -/* 0611A0 80066740 801E0B40 */ lwz r0, 0xb40(r30) -/* 0611A4 80066744 5465103A */ slwi r5, r3, 2 -/* 0611A8 80066748 7C9F2A14 */ add r4, r31, r5 -/* 0611AC 8006674C 7C040050 */ subf r0, r4, r0 -/* 0611B0 80066750 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 0611B4 80066754 38630001 */ addi r3, r3, 1 -/* 0611B8 80066758 64004800 */ oris r0, r0, 0x4800 -/* 0611BC 8006675C 90610084 */ stw r3, 0x84(r1) -/* 0611C0 80066760 60000001 */ ori r0, r0, 1 -/* 0611C4 80066764 7C1F292E */ stwx r0, r31, r5 -/* 0611C8 80066768 48000010 */ b lbl_80066778 -lbl_8006676C: -/* 0611CC 8006676C 80610084 */ lwz r3, 0x84(r1) -/* 0611D0 80066770 38030001 */ addi r0, r3, 1 -/* 0611D4 80066774 90010084 */ stw r0, 0x84(r1) -lbl_80066778: -/* 0611D8 80066778 2C110000 */ cmpwi r17, 0 -/* 0611DC 8006677C 41820070 */ beq lbl_800667EC -/* 0611E0 80066780 281F0000 */ cmplwi r31, 0 -/* 0611E4 80066784 41820024 */ beq lbl_800667A8 -/* 0611E8 80066788 80610084 */ lwz r3, 0x84(r1) -/* 0611EC 8006678C 3C8038C1 */ lis r4, 0x38c1 -/* 0611F0 80066790 3884FFFF */ addi r4, r4, -1 -/* 0611F4 80066794 38030001 */ addi r0, r3, 1 -/* 0611F8 80066798 90010084 */ stw r0, 0x84(r1) -/* 0611FC 8006679C 5460103A */ slwi r0, r3, 2 -/* 061200 800667A0 7C9F012E */ stwx r4, r31, r0 -/* 061204 800667A4 48000010 */ b lbl_800667B4 -lbl_800667A8: -/* 061208 800667A8 80610084 */ lwz r3, 0x84(r1) -/* 06120C 800667AC 38030001 */ addi r0, r3, 1 -/* 061210 800667B0 90010084 */ stw r0, 0x84(r1) -lbl_800667B4: -/* 061214 800667B4 281F0000 */ cmplwi r31, 0 -/* 061218 800667B8 41820028 */ beq lbl_800667E0 -/* 06121C 800667BC 80610084 */ lwz r3, 0x84(r1) -/* 061220 800667C0 381E002C */ addi r0, r30, 0x2c -/* 061224 800667C4 7C9E0050 */ subf r4, r30, r0 -/* 061228 800667C8 38030001 */ addi r0, r3, 1 -/* 06122C 800667CC 90010084 */ stw r0, 0x84(r1) -/* 061230 800667D0 3C0490C3 */ addis r0, r4, 0x90c3 -/* 061234 800667D4 5463103A */ slwi r3, r3, 2 -/* 061238 800667D8 7C1F192E */ stwx r0, r31, r3 -/* 06123C 800667DC 48000010 */ b lbl_800667EC -lbl_800667E0: -/* 061240 800667E0 80610084 */ lwz r3, 0x84(r1) -/* 061244 800667E4 38030001 */ addi r0, r3, 1 -/* 061248 800667E8 90010084 */ stw r0, 0x84(r1) -lbl_800667EC: -/* 06124C 800667EC 281F0000 */ cmplwi r31, 0 -/* 061250 800667F0 41820024 */ beq lbl_80066814 -/* 061254 800667F4 80610084 */ lwz r3, 0x84(r1) -/* 061258 800667F8 3C804280 */ lis r4, 0x4280 -/* 06125C 800667FC 38840024 */ addi r4, r4, 0x24 -/* 061260 80066800 38030001 */ addi r0, r3, 1 -/* 061264 80066804 90010084 */ stw r0, 0x84(r1) -/* 061268 80066808 5460103A */ slwi r0, r3, 2 -/* 06126C 8006680C 7C9F012E */ stwx r4, r31, r0 -/* 061270 80066810 48000010 */ b lbl_80066820 -lbl_80066814: -/* 061274 80066814 80610084 */ lwz r3, 0x84(r1) -/* 061278 80066818 38030001 */ addi r0, r3, 1 -/* 06127C 8006681C 90010084 */ stw r0, 0x84(r1) -lbl_80066820: -/* 061280 80066820 281F0000 */ cmplwi r31, 0 -/* 061284 80066824 41820024 */ beq lbl_80066848 -/* 061288 80066828 80610084 */ lwz r3, 0x84(r1) -/* 06128C 8006682C 3C807CE5 */ lis r4, 0x7ce5 -/* 061290 80066830 38844214 */ addi r4, r4, 0x4214 -/* 061294 80066834 38030001 */ addi r0, r3, 1 -/* 061298 80066838 90010084 */ stw r0, 0x84(r1) -/* 06129C 8006683C 5460103A */ slwi r0, r3, 2 -/* 0612A0 80066840 7C9F012E */ stwx r4, r31, r0 -/* 0612A4 80066844 48000010 */ b lbl_80066854 -lbl_80066848: -/* 0612A8 80066848 80610084 */ lwz r3, 0x84(r1) -/* 0612AC 8006684C 38030001 */ addi r0, r3, 1 -/* 0612B0 80066850 90010084 */ stw r0, 0x84(r1) -lbl_80066854: -/* 0612B4 80066854 281F0000 */ cmplwi r31, 0 -/* 0612B8 80066858 41820020 */ beq lbl_80066878 -/* 0612BC 8006685C 80610084 */ lwz r3, 0x84(r1) -/* 0612C0 80066860 66E438A0 */ oris r4, r23, 0x38a0 -/* 0612C4 80066864 38030001 */ addi r0, r3, 1 -/* 0612C8 80066868 90010084 */ stw r0, 0x84(r1) -/* 0612CC 8006686C 5460103A */ slwi r0, r3, 2 -/* 0612D0 80066870 7C9F012E */ stwx r4, r31, r0 -/* 0612D4 80066874 48000010 */ b lbl_80066884 -lbl_80066878: -/* 0612D8 80066878 80610084 */ lwz r3, 0x84(r1) -/* 0612DC 8006687C 38030001 */ addi r0, r3, 1 -/* 0612E0 80066880 90010084 */ stw r0, 0x84(r1) -lbl_80066884: -/* 0612E4 80066884 281F0000 */ cmplwi r31, 0 -/* 0612E8 80066888 41820024 */ beq lbl_800668AC -/* 0612EC 8006688C 80610084 */ lwz r3, 0x84(r1) -/* 0612F0 80066890 3C8070A5 */ lis r4, 0x70a5 -/* 0612F4 80066894 38840001 */ addi r4, r4, 1 -/* 0612F8 80066898 38030001 */ addi r0, r3, 1 -/* 0612FC 8006689C 90010084 */ stw r0, 0x84(r1) -/* 061300 800668A0 5460103A */ slwi r0, r3, 2 -/* 061304 800668A4 7C9F012E */ stwx r4, r31, r0 -/* 061308 800668A8 48000010 */ b lbl_800668B8 -lbl_800668AC: -/* 06130C 800668AC 80610084 */ lwz r3, 0x84(r1) -/* 061310 800668B0 38030001 */ addi r0, r3, 1 -/* 061314 800668B4 90010084 */ stw r0, 0x84(r1) -lbl_800668B8: -/* 061318 800668B8 281F0000 */ cmplwi r31, 0 -/* 06131C 800668BC 41820024 */ beq lbl_800668E0 -/* 061320 800668C0 80610084 */ lwz r3, 0x84(r1) -/* 061324 800668C4 3C804182 */ lis r4, 0x4182 -/* 061328 800668C8 3884000C */ addi r4, r4, 0xc -/* 06132C 800668CC 38030001 */ addi r0, r3, 1 -/* 061330 800668D0 90010084 */ stw r0, 0x84(r1) -/* 061334 800668D4 5460103A */ slwi r0, r3, 2 -/* 061338 800668D8 7C9F012E */ stwx r4, r31, r0 -/* 06133C 800668DC 48000010 */ b lbl_800668EC -lbl_800668E0: -/* 061340 800668E0 80610084 */ lwz r3, 0x84(r1) -/* 061344 800668E4 38030001 */ addi r0, r3, 1 -/* 061348 800668E8 90010084 */ stw r0, 0x84(r1) -lbl_800668EC: -/* 06134C 800668EC 281F0000 */ cmplwi r31, 0 -/* 061350 800668F0 41820034 */ beq lbl_80066924 -/* 061354 800668F4 3817FFFF */ addi r0, r23, -1 -/* 061358 800668F8 80610084 */ lwz r3, 0x84(r1) -/* 06135C 800668FC 54041838 */ slwi r4, r0, 3 -/* 061360 80066900 38040140 */ addi r0, r4, 0x140 -/* 061364 80066904 7C9E0214 */ add r4, r30, r0 -/* 061368 80066908 38030001 */ addi r0, r3, 1 -/* 06136C 8006690C 7C9E2050 */ subf r4, r30, r4 -/* 061370 80066910 90010084 */ stw r0, 0x84(r1) -/* 061374 80066914 3C0480A3 */ addis r0, r4, 0x80a3 -/* 061378 80066918 5463103A */ slwi r3, r3, 2 -/* 06137C 8006691C 7C1F192E */ stwx r0, r31, r3 -/* 061380 80066920 48000010 */ b lbl_80066930 -lbl_80066924: -/* 061384 80066924 80610084 */ lwz r3, 0x84(r1) -/* 061388 80066928 38030001 */ addi r0, r3, 1 -/* 06138C 8006692C 90010084 */ stw r0, 0x84(r1) -lbl_80066930: -/* 061390 80066930 281F0000 */ cmplwi r31, 0 -/* 061394 80066934 41820024 */ beq lbl_80066958 -/* 061398 80066938 80610084 */ lwz r3, 0x84(r1) -/* 06139C 8006693C 3C804280 */ lis r4, 0x4280 -/* 0613A0 80066940 38840008 */ addi r4, r4, 8 -/* 0613A4 80066944 38030001 */ addi r0, r3, 1 -/* 0613A8 80066948 90010084 */ stw r0, 0x84(r1) -/* 0613AC 8006694C 5460103A */ slwi r0, r3, 2 -/* 0613B0 80066950 7C9F012E */ stwx r4, r31, r0 -/* 0613B4 80066954 48000010 */ b lbl_80066964 -lbl_80066958: -/* 0613B8 80066958 80610084 */ lwz r3, 0x84(r1) -/* 0613BC 8006695C 38030001 */ addi r0, r3, 1 -/* 0613C0 80066960 90010084 */ stw r0, 0x84(r1) -lbl_80066964: -/* 0613C4 80066964 281F0000 */ cmplwi r31, 0 -/* 0613C8 80066968 41820034 */ beq lbl_8006699C -/* 0613CC 8006696C 56E41838 */ slwi r4, r23, 3 -/* 0613D0 80066970 80610084 */ lwz r3, 0x84(r1) -/* 0613D4 80066974 38040140 */ addi r0, r4, 0x140 -/* 0613D8 80066978 7C1E0214 */ add r0, r30, r0 -/* 0613DC 8006697C 7C9E0050 */ subf r4, r30, r0 -/* 0613E0 80066980 38030001 */ addi r0, r3, 1 -/* 0613E4 80066984 3C8480A3 */ addis r4, r4, 0x80a3 -/* 0613E8 80066988 90010084 */ stw r0, 0x84(r1) -/* 0613EC 8006698C 38040004 */ addi r0, r4, 4 -/* 0613F0 80066990 5463103A */ slwi r3, r3, 2 -/* 0613F4 80066994 7C1F192E */ stwx r0, r31, r3 -/* 0613F8 80066998 48000010 */ b lbl_800669A8 -lbl_8006699C: -/* 0613FC 8006699C 80610084 */ lwz r3, 0x84(r1) -/* 061400 800669A0 38030001 */ addi r0, r3, 1 -/* 061404 800669A4 90010084 */ stw r0, 0x84(r1) -lbl_800669A8: -/* 061408 800669A8 281F0000 */ cmplwi r31, 0 -/* 06140C 800669AC 41820024 */ beq lbl_800669D0 -/* 061410 800669B0 80610084 */ lwz r3, 0x84(r1) -/* 061414 800669B4 5780043E */ clrlwi r0, r28, 0x10 -/* 061418 800669B8 640490A7 */ oris r4, r0, 0x90a7 -/* 06141C 800669BC 38030001 */ addi r0, r3, 1 -/* 061420 800669C0 90010084 */ stw r0, 0x84(r1) -/* 061424 800669C4 5460103A */ slwi r0, r3, 2 -/* 061428 800669C8 7C9F012E */ stwx r4, r31, r0 -/* 06142C 800669CC 48001568 */ b lbl_80067F34 -lbl_800669D0: -/* 061430 800669D0 80610084 */ lwz r3, 0x84(r1) -/* 061434 800669D4 38030001 */ addi r0, r3, 1 -/* 061438 800669D8 90010084 */ stw r0, 0x84(r1) -/* 06143C 800669DC 48001558 */ b lbl_80067F34 -.global lbl_800669E0 -lbl_800669E0: -/* 061440 800669E0 3C7E0001 */ addis r3, r30, 1 -/* 061444 800669E4 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 061448 800669E8 80A32058 */ lwz r5, 0x2058(r3) -/* 06144C 800669EC 38800001 */ li r4, 1 -/* 061450 800669F0 7C800030 */ slw r0, r4, r0 -/* 061454 800669F4 7CA00078 */ andc r0, r5, r0 -/* 061458 800669F8 90032058 */ stw r0, 0x2058(r3) -/* 06145C 800669FC 48001538 */ b lbl_80067F34 -.global lbl_80066A00 -lbl_80066A00: -/* 061460 80066A00 3C7E0001 */ addis r3, r30, 1 -/* 061464 80066A04 80832060 */ lwz r4, 0x2060(r3) -/* 061468 80066A08 548006F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b -/* 06146C 80066A0C 41820270 */ beq lbl_80066C7C -/* 061470 80066A10 2C110000 */ cmpwi r17, 0 -/* 061474 80066A14 4182006C */ beq lbl_80066A80 -/* 061478 80066A18 281F0000 */ cmplwi r31, 0 -/* 06147C 80066A1C 41820020 */ beq lbl_80066A3C -/* 061480 80066A20 80610084 */ lwz r3, 0x84(r1) -/* 061484 80066A24 3C8038C0 */ lis r4, 0x38c0 -/* 061488 80066A28 38030001 */ addi r0, r3, 1 -/* 06148C 80066A2C 90010084 */ stw r0, 0x84(r1) -/* 061490 80066A30 5460103A */ slwi r0, r3, 2 -/* 061494 80066A34 7C9F012E */ stwx r4, r31, r0 -/* 061498 80066A38 48000010 */ b lbl_80066A48 -lbl_80066A3C: -/* 06149C 80066A3C 80610084 */ lwz r3, 0x84(r1) -/* 0614A0 80066A40 38030001 */ addi r0, r3, 1 -/* 0614A4 80066A44 90010084 */ stw r0, 0x84(r1) -lbl_80066A48: -/* 0614A8 80066A48 281F0000 */ cmplwi r31, 0 -/* 0614AC 80066A4C 41820028 */ beq lbl_80066A74 -/* 0614B0 80066A50 80610084 */ lwz r3, 0x84(r1) -/* 0614B4 80066A54 381E002C */ addi r0, r30, 0x2c -/* 0614B8 80066A58 7C9E0050 */ subf r4, r30, r0 -/* 0614BC 80066A5C 38030001 */ addi r0, r3, 1 -/* 0614C0 80066A60 90010084 */ stw r0, 0x84(r1) -/* 0614C4 80066A64 3C0490C3 */ addis r0, r4, 0x90c3 -/* 0614C8 80066A68 5463103A */ slwi r3, r3, 2 -/* 0614CC 80066A6C 7C1F192E */ stwx r0, r31, r3 -/* 0614D0 80066A70 48000010 */ b lbl_80066A80 -lbl_80066A74: -/* 0614D4 80066A74 80610084 */ lwz r3, 0x84(r1) -/* 0614D8 80066A78 38030001 */ addi r0, r3, 1 -/* 0614DC 80066A7C 90010084 */ stw r0, 0x84(r1) -lbl_80066A80: -/* 0614E0 80066A80 281F0000 */ cmplwi r31, 0 -/* 0614E4 80066A84 41820024 */ beq lbl_80066AA8 -/* 0614E8 80066A88 80610084 */ lwz r3, 0x84(r1) -/* 0614EC 80066A8C 57A0843E */ srwi r0, r29, 0x10 -/* 0614F0 80066A90 64043CA0 */ oris r4, r0, 0x3ca0 -/* 0614F4 80066A94 38030001 */ addi r0, r3, 1 -/* 0614F8 80066A98 90010084 */ stw r0, 0x84(r1) -/* 0614FC 80066A9C 5460103A */ slwi r0, r3, 2 -/* 061500 80066AA0 7C9F012E */ stwx r4, r31, r0 -/* 061504 80066AA4 48000010 */ b lbl_80066AB4 -lbl_80066AA8: -/* 061508 80066AA8 80610084 */ lwz r3, 0x84(r1) -/* 06150C 80066AAC 38030001 */ addi r0, r3, 1 -/* 061510 80066AB0 90010084 */ stw r0, 0x84(r1) -lbl_80066AB4: -/* 061514 80066AB4 281F0000 */ cmplwi r31, 0 -/* 061518 80066AB8 41820024 */ beq lbl_80066ADC -/* 06151C 80066ABC 80610084 */ lwz r3, 0x84(r1) -/* 061520 80066AC0 57A0043E */ clrlwi r0, r29, 0x10 -/* 061524 80066AC4 640460A5 */ oris r4, r0, 0x60a5 -/* 061528 80066AC8 38030001 */ addi r0, r3, 1 -/* 06152C 80066ACC 90010084 */ stw r0, 0x84(r1) -/* 061530 80066AD0 5460103A */ slwi r0, r3, 2 -/* 061534 80066AD4 7C9F012E */ stwx r4, r31, r0 -/* 061538 80066AD8 48000010 */ b lbl_80066AE8 -lbl_80066ADC: -/* 06153C 80066ADC 80610084 */ lwz r3, 0x84(r1) -/* 061540 80066AE0 38030001 */ addi r0, r3, 1 -/* 061544 80066AE4 90010084 */ stw r0, 0x84(r1) -lbl_80066AE8: -/* 061548 80066AE8 281F0000 */ cmplwi r31, 0 -/* 06154C 80066AEC 41820034 */ beq lbl_80066B20 -/* 061550 80066AF0 80610084 */ lwz r3, 0x84(r1) -/* 061554 80066AF4 801E0B54 */ lwz r0, 0xb54(r30) -/* 061558 80066AF8 5465103A */ slwi r5, r3, 2 -/* 06155C 80066AFC 7C9F2A14 */ add r4, r31, r5 -/* 061560 80066B00 7C040050 */ subf r0, r4, r0 -/* 061564 80066B04 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 061568 80066B08 38630001 */ addi r3, r3, 1 -/* 06156C 80066B0C 64004800 */ oris r0, r0, 0x4800 -/* 061570 80066B10 90610084 */ stw r3, 0x84(r1) -/* 061574 80066B14 60000001 */ ori r0, r0, 1 -/* 061578 80066B18 7C1F292E */ stwx r0, r31, r5 -/* 06157C 80066B1C 48000010 */ b lbl_80066B2C -lbl_80066B20: -/* 061580 80066B20 80610084 */ lwz r3, 0x84(r1) -/* 061584 80066B24 38030001 */ addi r0, r3, 1 -/* 061588 80066B28 90010084 */ stw r0, 0x84(r1) -lbl_80066B2C: -/* 06158C 80066B2C 3C7E0001 */ addis r3, r30, 1 -/* 061590 80066B30 80032060 */ lwz r0, 0x2060(r3) -/* 061594 80066B34 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 061598 80066B38 41820074 */ beq lbl_80066BAC -/* 06159C 80066B3C 281F0000 */ cmplwi r31, 0 -/* 0615A0 80066B40 40820014 */ bne lbl_80066B54 -/* 0615A4 80066B44 80610084 */ lwz r3, 0x84(r1) -/* 0615A8 80066B48 38030004 */ addi r0, r3, 4 -/* 0615AC 80066B4C 90010084 */ stw r0, 0x84(r1) -/* 0615B0 80066B50 480000B4 */ b lbl_80066C04 -lbl_80066B54: -/* 0615B4 80066B54 80610084 */ lwz r3, 0x84(r1) -/* 0615B8 80066B58 3C806000 */ lis r4, 0x6000 -/* 0615BC 80066B5C 38030001 */ addi r0, r3, 1 -/* 0615C0 80066B60 90010084 */ stw r0, 0x84(r1) -/* 0615C4 80066B64 5460103A */ slwi r0, r3, 2 -/* 0615C8 80066B68 7C9F012E */ stwx r4, r31, r0 -/* 0615CC 80066B6C 80610084 */ lwz r3, 0x84(r1) -/* 0615D0 80066B70 38030001 */ addi r0, r3, 1 -/* 0615D4 80066B74 90010084 */ stw r0, 0x84(r1) -/* 0615D8 80066B78 5460103A */ slwi r0, r3, 2 -/* 0615DC 80066B7C 7C9F012E */ stwx r4, r31, r0 -/* 0615E0 80066B80 80610084 */ lwz r3, 0x84(r1) -/* 0615E4 80066B84 38030001 */ addi r0, r3, 1 -/* 0615E8 80066B88 90010084 */ stw r0, 0x84(r1) -/* 0615EC 80066B8C 5460103A */ slwi r0, r3, 2 -/* 0615F0 80066B90 7C9F012E */ stwx r4, r31, r0 -/* 0615F4 80066B94 80610084 */ lwz r3, 0x84(r1) -/* 0615F8 80066B98 38030001 */ addi r0, r3, 1 -/* 0615FC 80066B9C 90010084 */ stw r0, 0x84(r1) -/* 061600 80066BA0 5460103A */ slwi r0, r3, 2 -/* 061604 80066BA4 7C9F012E */ stwx r4, r31, r0 -/* 061608 80066BA8 4800005C */ b lbl_80066C04 -lbl_80066BAC: -/* 06160C 80066BAC 281F0000 */ cmplwi r31, 0 -/* 061610 80066BB0 40820014 */ bne lbl_80066BC4 -/* 061614 80066BB4 80610084 */ lwz r3, 0x84(r1) -/* 061618 80066BB8 38030003 */ addi r0, r3, 3 -/* 06161C 80066BBC 90010084 */ stw r0, 0x84(r1) -/* 061620 80066BC0 48000044 */ b lbl_80066C04 -lbl_80066BC4: -/* 061624 80066BC4 80610084 */ lwz r3, 0x84(r1) -/* 061628 80066BC8 3C806000 */ lis r4, 0x6000 -/* 06162C 80066BCC 38030001 */ addi r0, r3, 1 -/* 061630 80066BD0 90010084 */ stw r0, 0x84(r1) -/* 061634 80066BD4 5460103A */ slwi r0, r3, 2 -/* 061638 80066BD8 7C9F012E */ stwx r4, r31, r0 -/* 06163C 80066BDC 80610084 */ lwz r3, 0x84(r1) -/* 061640 80066BE0 38030001 */ addi r0, r3, 1 -/* 061644 80066BE4 90010084 */ stw r0, 0x84(r1) -/* 061648 80066BE8 5460103A */ slwi r0, r3, 2 -/* 06164C 80066BEC 7C9F012E */ stwx r4, r31, r0 -/* 061650 80066BF0 80610084 */ lwz r3, 0x84(r1) -/* 061654 80066BF4 38030001 */ addi r0, r3, 1 -/* 061658 80066BF8 90010084 */ stw r0, 0x84(r1) -/* 06165C 80066BFC 5460103A */ slwi r0, r3, 2 -/* 061660 80066C00 7C9F012E */ stwx r4, r31, r0 -lbl_80066C04: -/* 061664 80066C04 2C110000 */ cmpwi r17, 0 -/* 061668 80066C08 4182132C */ beq lbl_80067F34 -/* 06166C 80066C0C 281F0000 */ cmplwi r31, 0 -/* 061670 80066C10 41820024 */ beq lbl_80066C34 -/* 061674 80066C14 80610084 */ lwz r3, 0x84(r1) -/* 061678 80066C18 3C8038C1 */ lis r4, 0x38c1 -/* 06167C 80066C1C 3884FFFF */ addi r4, r4, -1 -/* 061680 80066C20 38030001 */ addi r0, r3, 1 -/* 061684 80066C24 90010084 */ stw r0, 0x84(r1) -/* 061688 80066C28 5460103A */ slwi r0, r3, 2 -/* 06168C 80066C2C 7C9F012E */ stwx r4, r31, r0 -/* 061690 80066C30 48000010 */ b lbl_80066C40 -lbl_80066C34: -/* 061694 80066C34 80610084 */ lwz r3, 0x84(r1) -/* 061698 80066C38 38030001 */ addi r0, r3, 1 -/* 06169C 80066C3C 90010084 */ stw r0, 0x84(r1) -lbl_80066C40: -/* 0616A0 80066C40 281F0000 */ cmplwi r31, 0 -/* 0616A4 80066C44 41820028 */ beq lbl_80066C6C -/* 0616A8 80066C48 80610084 */ lwz r3, 0x84(r1) -/* 0616AC 80066C4C 381E002C */ addi r0, r30, 0x2c -/* 0616B0 80066C50 7C9E0050 */ subf r4, r30, r0 -/* 0616B4 80066C54 38030001 */ addi r0, r3, 1 -/* 0616B8 80066C58 90010084 */ stw r0, 0x84(r1) -/* 0616BC 80066C5C 3C0490C3 */ addis r0, r4, 0x90c3 -/* 0616C0 80066C60 5463103A */ slwi r3, r3, 2 -/* 0616C4 80066C64 7C1F192E */ stwx r0, r31, r3 -/* 0616C8 80066C68 480012CC */ b lbl_80067F34 -lbl_80066C6C: -/* 0616CC 80066C6C 80610084 */ lwz r3, 0x84(r1) -/* 0616D0 80066C70 38030001 */ addi r0, r3, 1 -/* 0616D4 80066C74 90010084 */ stw r0, 0x84(r1) -/* 0616D8 80066C78 480012BC */ b lbl_80067F34 -lbl_80066C7C: -/* 0616DC 80066C7C 548007FF */ clrlwi. r0, r4, 0x1f -/* 0616E0 80066C80 41820714 */ beq lbl_80067394 -/* 0616E4 80066C84 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 0616E8 80066C88 7C9A0214 */ add r4, r26, r0 -/* 0616EC 80066C8C 80C40818 */ lwz r6, 0x818(r4) -/* 0616F0 80066C90 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 0616F4 80066C94 578886FE */ rlwinm r8, r28, 0x10, 0x1b, 0x1f -/* 0616F8 80066C98 54C005EF */ rlwinm. r0, r6, 0, 0x17, 0x17 -/* 0616FC 80066C9C 41820148 */ beq lbl_80066DE4 -/* 061700 80066CA0 80032064 */ lwz r0, 0x2064(r3) -/* 061704 80066CA4 38C00006 */ li r6, 6 -/* 061708 80066CA8 28000000 */ cmplwi r0, 0 -/* 06170C 80066CAC 4082000C */ bne lbl_80066CB8 -/* 061710 80066CB0 38000000 */ li r0, 0 -/* 061714 80066CB4 48000094 */ b lbl_80066D48 -lbl_80066CB8: -/* 061718 80066CB8 80032068 */ lwz r0, 0x2068(r3) -/* 06171C 80066CBC 28000000 */ cmplwi r0, 0 -/* 061720 80066CC0 4082000C */ bne lbl_80066CCC -/* 061724 80066CC4 38000000 */ li r0, 0 -/* 061728 80066CC8 48000080 */ b lbl_80066D48 -lbl_80066CCC: -/* 06172C 80066CCC 8003206C */ lwz r0, 0x206c(r3) -/* 061730 80066CD0 7C070000 */ cmpw r7, r0 -/* 061734 80066CD4 4182000C */ beq lbl_80066CE0 -/* 061738 80066CD8 38000000 */ li r0, 0 -/* 06173C 80066CDC 4800006C */ b lbl_80066D48 -lbl_80066CE0: -/* 061740 80066CE0 80BE0034 */ lwz r5, 0x34(r30) -/* 061744 80066CE4 38800000 */ li r4, 0 -/* 061748 80066CE8 80050008 */ lwz r0, 8(r5) -/* 06174C 80066CEC 2C000000 */ cmpwi r0, 0 -/* 061750 80066CF0 7C0903A6 */ mtctr r0 -/* 061754 80066CF4 40810028 */ ble lbl_80066D1C -lbl_80066CF8: -/* 061758 80066CF8 8065000C */ lwz r3, 0xc(r5) -/* 06175C 80066CFC 38040004 */ addi r0, r4, 4 -/* 061760 80066D00 7C03002E */ lwzx r0, r3, r0 -/* 061764 80066D04 7C1D0000 */ cmpw r29, r0 -/* 061768 80066D08 4082000C */ bne lbl_80066D14 -/* 06176C 80066D0C 38000000 */ li r0, 0 -/* 061770 80066D10 48000010 */ b lbl_80066D20 -lbl_80066D14: -/* 061774 80066D14 38840008 */ addi r4, r4, 8 -/* 061778 80066D18 4200FFE0 */ bdnz lbl_80066CF8 -lbl_80066D1C: -/* 06177C 80066D1C 38000001 */ li r0, 1 -lbl_80066D20: -/* 061780 80066D20 2C000000 */ cmpwi r0, 0 -/* 061784 80066D24 40820014 */ bne lbl_80066D38 -/* 061788 80066D28 38000000 */ li r0, 0 -/* 06178C 80066D2C 3C7E0001 */ addis r3, r30, 1 -/* 061790 80066D30 90032068 */ stw r0, 0x2068(r3) -/* 061794 80066D34 48000014 */ b lbl_80066D48 -lbl_80066D38: -/* 061798 80066D38 3C7E0001 */ addis r3, r30, 1 -/* 06179C 80066D3C 38000000 */ li r0, 0 -/* 0617A0 80066D40 90032068 */ stw r0, 0x2068(r3) -/* 0617A4 80066D44 38000001 */ li r0, 1 -lbl_80066D48: -/* 0617A8 80066D48 2C000000 */ cmpwi r0, 0 -/* 0617AC 80066D4C 41820050 */ beq lbl_80066D9C -/* 0617B0 80066D50 281F0000 */ cmplwi r31, 0 -/* 0617B4 80066D54 41820038 */ beq lbl_80066D8C -/* 0617B8 80066D58 3C9E0001 */ addis r4, r30, 1 -/* 0617BC 80066D5C 80610084 */ lwz r3, 0x84(r1) -/* 0617C0 80066D60 80A42070 */ lwz r5, 0x2070(r4) -/* 0617C4 80066D64 38030001 */ addi r0, r3, 1 -/* 0617C8 80066D68 54A4A814 */ slwi r4, r5, 0x15 -/* 0617CC 80066D6C 90010084 */ stw r0, 0x84(r1) -/* 0617D0 80066D70 64807C06 */ oris r0, r4, 0x7c06 -/* 0617D4 80066D74 54A45828 */ slwi r4, r5, 0xb -/* 0617D8 80066D78 60000378 */ ori r0, r0, 0x378 -/* 0617DC 80066D7C 7C800378 */ or r0, r4, r0 -/* 0617E0 80066D80 5463103A */ slwi r3, r3, 2 -/* 0617E4 80066D84 7C1F192E */ stwx r0, r31, r3 -/* 0617E8 80066D88 4800005C */ b lbl_80066DE4 -lbl_80066D8C: -/* 0617EC 80066D8C 80610084 */ lwz r3, 0x84(r1) -/* 0617F0 80066D90 38030001 */ addi r0, r3, 1 -/* 0617F4 80066D94 90010084 */ stw r0, 0x84(r1) -/* 0617F8 80066D98 4800004C */ b lbl_80066DE4 -lbl_80066D9C: -/* 0617FC 80066D9C 281F0000 */ cmplwi r31, 0 -/* 061800 80066DA0 41820038 */ beq lbl_80066DD8 -/* 061804 80066DA4 54E41838 */ slwi r4, r7, 3 -/* 061808 80066DA8 80610084 */ lwz r3, 0x84(r1) -/* 06180C 80066DAC 38040040 */ addi r0, r4, 0x40 -/* 061810 80066DB0 7C1E0214 */ add r0, r30, r0 -/* 061814 80066DB4 7C9E0050 */ subf r4, r30, r0 -/* 061818 80066DB8 38840004 */ addi r4, r4, 4 -/* 06181C 80066DBC 38030001 */ addi r0, r3, 1 -/* 061820 80066DC0 5484043E */ clrlwi r4, r4, 0x10 -/* 061824 80066DC4 90010084 */ stw r0, 0x84(r1) -/* 061828 80066DC8 3C0480C3 */ addis r0, r4, 0x80c3 -/* 06182C 80066DCC 5463103A */ slwi r3, r3, 2 -/* 061830 80066DD0 7C1F192E */ stwx r0, r31, r3 -/* 061834 80066DD4 48000010 */ b lbl_80066DE4 -lbl_80066DD8: -/* 061838 80066DD8 80610084 */ lwz r3, 0x84(r1) -/* 06183C 80066DDC 38030001 */ addi r0, r3, 1 -/* 061840 80066DE0 90010084 */ stw r0, 0x84(r1) -lbl_80066DE4: -/* 061844 80066DE4 281F0000 */ cmplwi r31, 0 -/* 061848 80066DE8 4182002C */ beq lbl_80066E14 -/* 06184C 80066DEC 80610084 */ lwz r3, 0x84(r1) -/* 061850 80066DF0 54C0801E */ slwi r0, r6, 0x10 -/* 061854 80066DF4 640038A0 */ oris r0, r0, 0x38a0 -/* 061858 80066DF8 38830001 */ addi r4, r3, 1 -/* 06185C 80066DFC 5785043E */ clrlwi r5, r28, 0x10 -/* 061860 80066E00 90810084 */ stw r4, 0x84(r1) -/* 061864 80066E04 7C002B78 */ or r0, r0, r5 -/* 061868 80066E08 5463103A */ slwi r3, r3, 2 -/* 06186C 80066E0C 7C1F192E */ stwx r0, r31, r3 -/* 061870 80066E10 48000010 */ b lbl_80066E20 -lbl_80066E14: -/* 061874 80066E14 80610084 */ lwz r3, 0x84(r1) -/* 061878 80066E18 38030001 */ addi r0, r3, 1 -/* 06187C 80066E1C 90010084 */ stw r0, 0x84(r1) -lbl_80066E20: -/* 061880 80066E20 281F0000 */ cmplwi r31, 0 -/* 061884 80066E24 41820024 */ beq lbl_80066E48 -/* 061888 80066E28 80610084 */ lwz r3, 0x84(r1) -/* 06188C 80066E2C 3C8054A7 */ lis r4, 0x54a7 -/* 061890 80066E30 3884843E */ addi r4, r4, -31682 -/* 061894 80066E34 38030001 */ addi r0, r3, 1 -/* 061898 80066E38 90010084 */ stw r0, 0x84(r1) -/* 06189C 80066E3C 5460103A */ slwi r0, r3, 2 -/* 0618A0 80066E40 7C9F012E */ stwx r4, r31, r0 -/* 0618A4 80066E44 48000010 */ b lbl_80066E54 -lbl_80066E48: -/* 0618A8 80066E48 80610084 */ lwz r3, 0x84(r1) -/* 0618AC 80066E4C 38030001 */ addi r0, r3, 1 -/* 0618B0 80066E50 90010084 */ stw r0, 0x84(r1) -lbl_80066E54: -/* 0618B4 80066E54 281F0000 */ cmplwi r31, 0 -/* 0618B8 80066E58 41820024 */ beq lbl_80066E7C -/* 0618BC 80066E5C 80610084 */ lwz r3, 0x84(r1) -/* 0618C0 80066E60 3C807CC6 */ lis r4, 0x7cc6 -/* 0618C4 80066E64 388448AE */ addi r4, r4, 0x48ae -/* 0618C8 80066E68 38030001 */ addi r0, r3, 1 -/* 0618CC 80066E6C 90010084 */ stw r0, 0x84(r1) -/* 0618D0 80066E70 5460103A */ slwi r0, r3, 2 -/* 0618D4 80066E74 7C9F012E */ stwx r4, r31, r0 -/* 0618D8 80066E78 48000010 */ b lbl_80066E88 -lbl_80066E7C: -/* 0618DC 80066E7C 80610084 */ lwz r3, 0x84(r1) -/* 0618E0 80066E80 38030001 */ addi r0, r3, 1 -/* 0618E4 80066E84 90010084 */ stw r0, 0x84(r1) -lbl_80066E88: -/* 0618E8 80066E88 281F0000 */ cmplwi r31, 0 -/* 0618EC 80066E8C 41820024 */ beq lbl_80066EB0 -/* 0618F0 80066E90 80610084 */ lwz r3, 0x84(r1) -/* 0618F4 80066E94 3C802C06 */ lis r4, 0x2c06 -/* 0618F8 80066E98 38840080 */ addi r4, r4, 0x80 -/* 0618FC 80066E9C 38030001 */ addi r0, r3, 1 -/* 061900 80066EA0 90010084 */ stw r0, 0x84(r1) -/* 061904 80066EA4 5460103A */ slwi r0, r3, 2 -/* 061908 80066EA8 7C9F012E */ stwx r4, r31, r0 -/* 06190C 80066EAC 48000010 */ b lbl_80066EBC -lbl_80066EB0: -/* 061910 80066EB0 80610084 */ lwz r3, 0x84(r1) -/* 061914 80066EB4 38030001 */ addi r0, r3, 1 -/* 061918 80066EB8 90010084 */ stw r0, 0x84(r1) -lbl_80066EBC: -/* 06191C 80066EBC 281F0000 */ cmplwi r31, 0 -/* 061920 80066EC0 41820024 */ beq lbl_80066EE4 -/* 061924 80066EC4 80610084 */ lwz r3, 0x84(r1) -/* 061928 80066EC8 3C804180 */ lis r4, 0x4180 -/* 06192C 80066ECC 3884002C */ addi r4, r4, 0x2c -/* 061930 80066ED0 38030001 */ addi r0, r3, 1 -/* 061934 80066ED4 90010084 */ stw r0, 0x84(r1) -/* 061938 80066ED8 5460103A */ slwi r0, r3, 2 -/* 06193C 80066EDC 7C9F012E */ stwx r4, r31, r0 -/* 061940 80066EE0 48000010 */ b lbl_80066EF0 -lbl_80066EE4: -/* 061944 80066EE4 80610084 */ lwz r3, 0x84(r1) -/* 061948 80066EE8 38030001 */ addi r0, r3, 1 -/* 06194C 80066EEC 90010084 */ stw r0, 0x84(r1) -lbl_80066EF0: -/* 061950 80066EF0 281F0000 */ cmplwi r31, 0 -/* 061954 80066EF4 41820024 */ beq lbl_80066F18 -/* 061958 80066EF8 80610084 */ lwz r3, 0x84(r1) -/* 06195C 80066EFC 3C809422 */ lis r4, 0x9422 -/* 061960 80066F00 3884FFE8 */ addi r4, r4, -24 -/* 061964 80066F04 38030001 */ addi r0, r3, 1 -/* 061968 80066F08 90010084 */ stw r0, 0x84(r1) -/* 06196C 80066F0C 5460103A */ slwi r0, r3, 2 -/* 061970 80066F10 7C9F012E */ stwx r4, r31, r0 -/* 061974 80066F14 48000010 */ b lbl_80066F24 -lbl_80066F18: -/* 061978 80066F18 80610084 */ lwz r3, 0x84(r1) -/* 06197C 80066F1C 38030001 */ addi r0, r3, 1 -/* 061980 80066F20 90010084 */ stw r0, 0x84(r1) -lbl_80066F24: -/* 061984 80066F24 281F0000 */ cmplwi r31, 0 -/* 061988 80066F28 41820024 */ beq lbl_80066F4C -/* 06198C 80066F2C 80610084 */ lwz r3, 0x84(r1) -/* 061990 80066F30 3C809101 */ lis r4, 0x9101 -/* 061994 80066F34 38840008 */ addi r4, r4, 8 -/* 061998 80066F38 38030001 */ addi r0, r3, 1 -/* 06199C 80066F3C 90010084 */ stw r0, 0x84(r1) -/* 0619A0 80066F40 5460103A */ slwi r0, r3, 2 -/* 0619A4 80066F44 7C9F012E */ stwx r4, r31, r0 -/* 0619A8 80066F48 48000010 */ b lbl_80066F58 -lbl_80066F4C: -/* 0619AC 80066F4C 80610084 */ lwz r3, 0x84(r1) -/* 0619B0 80066F50 38030001 */ addi r0, r3, 1 -/* 0619B4 80066F54 90010084 */ stw r0, 0x84(r1) -lbl_80066F58: -/* 0619B8 80066F58 281F0000 */ cmplwi r31, 0 -/* 0619BC 80066F5C 41820024 */ beq lbl_80066F80 -/* 0619C0 80066F60 80610084 */ lwz r3, 0x84(r1) -/* 0619C4 80066F64 3C809121 */ lis r4, 0x9121 -/* 0619C8 80066F68 38840010 */ addi r4, r4, 0x10 -/* 0619CC 80066F6C 38030001 */ addi r0, r3, 1 -/* 0619D0 80066F70 90010084 */ stw r0, 0x84(r1) -/* 0619D4 80066F74 5460103A */ slwi r0, r3, 2 -/* 0619D8 80066F78 7C9F012E */ stwx r4, r31, r0 -/* 0619DC 80066F7C 48000010 */ b lbl_80066F8C -lbl_80066F80: -/* 0619E0 80066F80 80610084 */ lwz r3, 0x84(r1) -/* 0619E4 80066F84 38030001 */ addi r0, r3, 1 -/* 0619E8 80066F88 90010084 */ stw r0, 0x84(r1) -lbl_80066F8C: -/* 0619EC 80066F8C 281F0000 */ cmplwi r31, 0 -/* 0619F0 80066F90 41820030 */ beq lbl_80066FC0 -/* 0619F4 80066F94 80610084 */ lwz r3, 0x84(r1) -/* 0619F8 80066F98 55041838 */ slwi r4, r8, 3 -/* 0619FC 80066F9C 38040140 */ addi r0, r4, 0x140 -/* 061A00 80066FA0 7C9E0214 */ add r4, r30, r0 -/* 061A04 80066FA4 38030001 */ addi r0, r3, 1 -/* 061A08 80066FA8 7C9E2050 */ subf r4, r30, r4 -/* 061A0C 80066FAC 90010084 */ stw r0, 0x84(r1) -/* 061A10 80066FB0 3C048103 */ addis r0, r4, 0x8103 -/* 061A14 80066FB4 5463103A */ slwi r3, r3, 2 -/* 061A18 80066FB8 7C1F192E */ stwx r0, r31, r3 -/* 061A1C 80066FBC 48000010 */ b lbl_80066FCC -lbl_80066FC0: -/* 061A20 80066FC0 80610084 */ lwz r3, 0x84(r1) -/* 061A24 80066FC4 38030001 */ addi r0, r3, 1 -/* 061A28 80066FC8 90010084 */ stw r0, 0x84(r1) -lbl_80066FCC: -/* 061A2C 80066FCC 281F0000 */ cmplwi r31, 0 -/* 061A30 80066FD0 41820034 */ beq lbl_80067004 -/* 061A34 80066FD4 55041838 */ slwi r4, r8, 3 -/* 061A38 80066FD8 80610084 */ lwz r3, 0x84(r1) -/* 061A3C 80066FDC 38040140 */ addi r0, r4, 0x140 -/* 061A40 80066FE0 7C1E0214 */ add r0, r30, r0 -/* 061A44 80066FE4 7C9E0050 */ subf r4, r30, r0 -/* 061A48 80066FE8 38030001 */ addi r0, r3, 1 -/* 061A4C 80066FEC 3C848123 */ addis r4, r4, 0x8123 -/* 061A50 80066FF0 90010084 */ stw r0, 0x84(r1) -/* 061A54 80066FF4 38040004 */ addi r0, r4, 4 -/* 061A58 80066FF8 5463103A */ slwi r3, r3, 2 -/* 061A5C 80066FFC 7C1F192E */ stwx r0, r31, r3 -/* 061A60 80067000 48000010 */ b lbl_80067010 -lbl_80067004: -/* 061A64 80067004 80610084 */ lwz r3, 0x84(r1) -/* 061A68 80067008 38030001 */ addi r0, r3, 1 -/* 061A6C 8006700C 90010084 */ stw r0, 0x84(r1) -lbl_80067010: -/* 061A70 80067010 281F0000 */ cmplwi r31, 0 -/* 061A74 80067014 41820034 */ beq lbl_80067048 -/* 061A78 80067018 80610084 */ lwz r3, 0x84(r1) -/* 061A7C 8006701C 800D8A74 */ lwz r0, cpuCompile_SDC_function@sda21(r13) -/* 061A80 80067020 5465103A */ slwi r5, r3, 2 -/* 061A84 80067024 7C9F2A14 */ add r4, r31, r5 -/* 061A88 80067028 7C040050 */ subf r0, r4, r0 -/* 061A8C 8006702C 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 061A90 80067030 38630001 */ addi r3, r3, 1 -/* 061A94 80067034 64004800 */ oris r0, r0, 0x4800 -/* 061A98 80067038 90610084 */ stw r3, 0x84(r1) -/* 061A9C 8006703C 60000001 */ ori r0, r0, 1 -/* 061AA0 80067040 7C1F292E */ stwx r0, r31, r5 -/* 061AA4 80067044 48000010 */ b lbl_80067054 -lbl_80067048: -/* 061AA8 80067048 80610084 */ lwz r3, 0x84(r1) -/* 061AAC 8006704C 38030001 */ addi r0, r3, 1 -/* 061AB0 80067050 90010084 */ stw r0, 0x84(r1) -lbl_80067054: -/* 061AB4 80067054 281F0000 */ cmplwi r31, 0 -/* 061AB8 80067058 41820024 */ beq lbl_8006707C -/* 061ABC 8006705C 80610084 */ lwz r3, 0x84(r1) -/* 061AC0 80067060 3C808101 */ lis r4, 0x8101 -/* 061AC4 80067064 38840008 */ addi r4, r4, 8 -/* 061AC8 80067068 38030001 */ addi r0, r3, 1 -/* 061ACC 8006706C 90010084 */ stw r0, 0x84(r1) -/* 061AD0 80067070 5460103A */ slwi r0, r3, 2 -/* 061AD4 80067074 7C9F012E */ stwx r4, r31, r0 -/* 061AD8 80067078 48000010 */ b lbl_80067088 -lbl_8006707C: -/* 061ADC 8006707C 80610084 */ lwz r3, 0x84(r1) -/* 061AE0 80067080 38030001 */ addi r0, r3, 1 -/* 061AE4 80067084 90010084 */ stw r0, 0x84(r1) -lbl_80067088: -/* 061AE8 80067088 281F0000 */ cmplwi r31, 0 -/* 061AEC 8006708C 41820024 */ beq lbl_800670B0 -/* 061AF0 80067090 80610084 */ lwz r3, 0x84(r1) -/* 061AF4 80067094 3C808121 */ lis r4, 0x8121 -/* 061AF8 80067098 38840010 */ addi r4, r4, 0x10 -/* 061AFC 8006709C 38030001 */ addi r0, r3, 1 -/* 061B00 800670A0 90010084 */ stw r0, 0x84(r1) -/* 061B04 800670A4 5460103A */ slwi r0, r3, 2 -/* 061B08 800670A8 7C9F012E */ stwx r4, r31, r0 -/* 061B0C 800670AC 48000010 */ b lbl_800670BC -lbl_800670B0: -/* 061B10 800670B0 80610084 */ lwz r3, 0x84(r1) -/* 061B14 800670B4 38030001 */ addi r0, r3, 1 -/* 061B18 800670B8 90010084 */ stw r0, 0x84(r1) -lbl_800670BC: -/* 061B1C 800670BC 281F0000 */ cmplwi r31, 0 -/* 061B20 800670C0 41820024 */ beq lbl_800670E4 -/* 061B24 800670C4 80610084 */ lwz r3, 0x84(r1) -/* 061B28 800670C8 3C803821 */ lis r4, 0x3821 -/* 061B2C 800670CC 38840018 */ addi r4, r4, 0x18 -/* 061B30 800670D0 38030001 */ addi r0, r3, 1 -/* 061B34 800670D4 90010084 */ stw r0, 0x84(r1) -/* 061B38 800670D8 5460103A */ slwi r0, r3, 2 -/* 061B3C 800670DC 7C9F012E */ stwx r4, r31, r0 -/* 061B40 800670E0 48000010 */ b lbl_800670F0 -lbl_800670E4: -/* 061B44 800670E4 80610084 */ lwz r3, 0x84(r1) -/* 061B48 800670E8 38030001 */ addi r0, r3, 1 -/* 061B4C 800670EC 90010084 */ stw r0, 0x84(r1) -lbl_800670F0: -/* 061B50 800670F0 2C110000 */ cmpwi r17, 0 -/* 061B54 800670F4 418201BC */ beq lbl_800672B0 -/* 061B58 800670F8 281F0000 */ cmplwi r31, 0 -/* 061B5C 800670FC 41820024 */ beq lbl_80067120 -/* 061B60 80067100 80610084 */ lwz r3, 0x84(r1) -/* 061B64 80067104 3C804280 */ lis r4, 0x4280 -/* 061B68 80067108 38840020 */ addi r4, r4, 0x20 -/* 061B6C 8006710C 38030001 */ addi r0, r3, 1 -/* 061B70 80067110 90010084 */ stw r0, 0x84(r1) -/* 061B74 80067114 5460103A */ slwi r0, r3, 2 -/* 061B78 80067118 7C9F012E */ stwx r4, r31, r0 -/* 061B7C 8006711C 48000010 */ b lbl_8006712C -lbl_80067120: -/* 061B80 80067120 80610084 */ lwz r3, 0x84(r1) -/* 061B84 80067124 38030001 */ addi r0, r3, 1 -/* 061B88 80067128 90010084 */ stw r0, 0x84(r1) -lbl_8006712C: -/* 061B8C 8006712C 281F0000 */ cmplwi r31, 0 -/* 061B90 80067130 41820020 */ beq lbl_80067150 -/* 061B94 80067134 80610084 */ lwz r3, 0x84(r1) -/* 061B98 80067138 3C8038C0 */ lis r4, 0x38c0 -/* 061B9C 8006713C 38030001 */ addi r0, r3, 1 -/* 061BA0 80067140 90010084 */ stw r0, 0x84(r1) -/* 061BA4 80067144 5460103A */ slwi r0, r3, 2 -/* 061BA8 80067148 7C9F012E */ stwx r4, r31, r0 -/* 061BAC 8006714C 48000010 */ b lbl_8006715C -lbl_80067150: -/* 061BB0 80067150 80610084 */ lwz r3, 0x84(r1) -/* 061BB4 80067154 38030001 */ addi r0, r3, 1 -/* 061BB8 80067158 90010084 */ stw r0, 0x84(r1) -lbl_8006715C: -/* 061BBC 8006715C 281F0000 */ cmplwi r31, 0 -/* 061BC0 80067160 41820028 */ beq lbl_80067188 -/* 061BC4 80067164 80610084 */ lwz r3, 0x84(r1) -/* 061BC8 80067168 381E002C */ addi r0, r30, 0x2c -/* 061BCC 8006716C 7C9E0050 */ subf r4, r30, r0 -/* 061BD0 80067170 38030001 */ addi r0, r3, 1 -/* 061BD4 80067174 90010084 */ stw r0, 0x84(r1) -/* 061BD8 80067178 3C0490C3 */ addis r0, r4, 0x90c3 -/* 061BDC 8006717C 5463103A */ slwi r3, r3, 2 -/* 061BE0 80067180 7C1F192E */ stwx r0, r31, r3 -/* 061BE4 80067184 48000010 */ b lbl_80067194 -lbl_80067188: -/* 061BE8 80067188 80610084 */ lwz r3, 0x84(r1) -/* 061BEC 8006718C 38030001 */ addi r0, r3, 1 -/* 061BF0 80067190 90010084 */ stw r0, 0x84(r1) -lbl_80067194: -/* 061BF4 80067194 281F0000 */ cmplwi r31, 0 -/* 061BF8 80067198 41820024 */ beq lbl_800671BC -/* 061BFC 8006719C 80610084 */ lwz r3, 0x84(r1) -/* 061C00 800671A0 57A0843E */ srwi r0, r29, 0x10 -/* 061C04 800671A4 64043CA0 */ oris r4, r0, 0x3ca0 -/* 061C08 800671A8 38030001 */ addi r0, r3, 1 -/* 061C0C 800671AC 90010084 */ stw r0, 0x84(r1) -/* 061C10 800671B0 5460103A */ slwi r0, r3, 2 -/* 061C14 800671B4 7C9F012E */ stwx r4, r31, r0 -/* 061C18 800671B8 48000010 */ b lbl_800671C8 -lbl_800671BC: -/* 061C1C 800671BC 80610084 */ lwz r3, 0x84(r1) -/* 061C20 800671C0 38030001 */ addi r0, r3, 1 -/* 061C24 800671C4 90010084 */ stw r0, 0x84(r1) -lbl_800671C8: -/* 061C28 800671C8 281F0000 */ cmplwi r31, 0 -/* 061C2C 800671CC 41820024 */ beq lbl_800671F0 -/* 061C30 800671D0 80610084 */ lwz r3, 0x84(r1) -/* 061C34 800671D4 57A0043E */ clrlwi r0, r29, 0x10 -/* 061C38 800671D8 640460A5 */ oris r4, r0, 0x60a5 -/* 061C3C 800671DC 38030001 */ addi r0, r3, 1 -/* 061C40 800671E0 90010084 */ stw r0, 0x84(r1) -/* 061C44 800671E4 5460103A */ slwi r0, r3, 2 -/* 061C48 800671E8 7C9F012E */ stwx r4, r31, r0 -/* 061C4C 800671EC 48000010 */ b lbl_800671FC -lbl_800671F0: -/* 061C50 800671F0 80610084 */ lwz r3, 0x84(r1) -/* 061C54 800671F4 38030001 */ addi r0, r3, 1 -/* 061C58 800671F8 90010084 */ stw r0, 0x84(r1) -lbl_800671FC: -/* 061C5C 800671FC 281F0000 */ cmplwi r31, 0 -/* 061C60 80067200 41820034 */ beq lbl_80067234 -/* 061C64 80067204 80610084 */ lwz r3, 0x84(r1) -/* 061C68 80067208 801E0B40 */ lwz r0, 0xb40(r30) -/* 061C6C 8006720C 5465103A */ slwi r5, r3, 2 -/* 061C70 80067210 7C9F2A14 */ add r4, r31, r5 -/* 061C74 80067214 7C040050 */ subf r0, r4, r0 -/* 061C78 80067218 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 061C7C 8006721C 38630001 */ addi r3, r3, 1 -/* 061C80 80067220 64004800 */ oris r0, r0, 0x4800 -/* 061C84 80067224 90610084 */ stw r3, 0x84(r1) -/* 061C88 80067228 60000001 */ ori r0, r0, 1 -/* 061C8C 8006722C 7C1F292E */ stwx r0, r31, r5 -/* 061C90 80067230 48000010 */ b lbl_80067240 -lbl_80067234: -/* 061C94 80067234 80610084 */ lwz r3, 0x84(r1) -/* 061C98 80067238 38030001 */ addi r0, r3, 1 -/* 061C9C 8006723C 90010084 */ stw r0, 0x84(r1) -lbl_80067240: -/* 061CA0 80067240 281F0000 */ cmplwi r31, 0 -/* 061CA4 80067244 41820024 */ beq lbl_80067268 -/* 061CA8 80067248 80610084 */ lwz r3, 0x84(r1) -/* 061CAC 8006724C 3C8038C1 */ lis r4, 0x38c1 -/* 061CB0 80067250 3884FFFF */ addi r4, r4, -1 -/* 061CB4 80067254 38030001 */ addi r0, r3, 1 -/* 061CB8 80067258 90010084 */ stw r0, 0x84(r1) -/* 061CBC 8006725C 5460103A */ slwi r0, r3, 2 -/* 061CC0 80067260 7C9F012E */ stwx r4, r31, r0 -/* 061CC4 80067264 48000010 */ b lbl_80067274 -lbl_80067268: -/* 061CC8 80067268 80610084 */ lwz r3, 0x84(r1) -/* 061CCC 8006726C 38030001 */ addi r0, r3, 1 -/* 061CD0 80067270 90010084 */ stw r0, 0x84(r1) -lbl_80067274: -/* 061CD4 80067274 281F0000 */ cmplwi r31, 0 -/* 061CD8 80067278 41820028 */ beq lbl_800672A0 -/* 061CDC 8006727C 80610084 */ lwz r3, 0x84(r1) -/* 061CE0 80067280 381E002C */ addi r0, r30, 0x2c -/* 061CE4 80067284 7C9E0050 */ subf r4, r30, r0 -/* 061CE8 80067288 38030001 */ addi r0, r3, 1 -/* 061CEC 8006728C 90010084 */ stw r0, 0x84(r1) -/* 061CF0 80067290 3C0490C3 */ addis r0, r4, 0x90c3 -/* 061CF4 80067294 5463103A */ slwi r3, r3, 2 -/* 061CF8 80067298 7C1F192E */ stwx r0, r31, r3 -/* 061CFC 8006729C 48000C98 */ b lbl_80067F34 -lbl_800672A0: -/* 061D00 800672A0 80610084 */ lwz r3, 0x84(r1) -/* 061D04 800672A4 38030001 */ addi r0, r3, 1 -/* 061D08 800672A8 90010084 */ stw r0, 0x84(r1) -/* 061D0C 800672AC 48000C88 */ b lbl_80067F34 -lbl_800672B0: -/* 061D10 800672B0 281F0000 */ cmplwi r31, 0 -/* 061D14 800672B4 41820024 */ beq lbl_800672D8 -/* 061D18 800672B8 80610084 */ lwz r3, 0x84(r1) -/* 061D1C 800672BC 3C804280 */ lis r4, 0x4280 -/* 061D20 800672C0 38840010 */ addi r4, r4, 0x10 -/* 061D24 800672C4 38030001 */ addi r0, r3, 1 -/* 061D28 800672C8 90010084 */ stw r0, 0x84(r1) -/* 061D2C 800672CC 5460103A */ slwi r0, r3, 2 -/* 061D30 800672D0 7C9F012E */ stwx r4, r31, r0 -/* 061D34 800672D4 48000010 */ b lbl_800672E4 -lbl_800672D8: -/* 061D38 800672D8 80610084 */ lwz r3, 0x84(r1) -/* 061D3C 800672DC 38030001 */ addi r0, r3, 1 -/* 061D40 800672E0 90010084 */ stw r0, 0x84(r1) -lbl_800672E4: -/* 061D44 800672E4 281F0000 */ cmplwi r31, 0 -/* 061D48 800672E8 41820024 */ beq lbl_8006730C -/* 061D4C 800672EC 80610084 */ lwz r3, 0x84(r1) -/* 061D50 800672F0 57A0843E */ srwi r0, r29, 0x10 -/* 061D54 800672F4 64043CA0 */ oris r4, r0, 0x3ca0 -/* 061D58 800672F8 38030001 */ addi r0, r3, 1 -/* 061D5C 800672FC 90010084 */ stw r0, 0x84(r1) -/* 061D60 80067300 5460103A */ slwi r0, r3, 2 -/* 061D64 80067304 7C9F012E */ stwx r4, r31, r0 -/* 061D68 80067308 48000010 */ b lbl_80067318 -lbl_8006730C: -/* 061D6C 8006730C 80610084 */ lwz r3, 0x84(r1) -/* 061D70 80067310 38030001 */ addi r0, r3, 1 -/* 061D74 80067314 90010084 */ stw r0, 0x84(r1) -lbl_80067318: -/* 061D78 80067318 281F0000 */ cmplwi r31, 0 -/* 061D7C 8006731C 41820024 */ beq lbl_80067340 -/* 061D80 80067320 80610084 */ lwz r3, 0x84(r1) -/* 061D84 80067324 57A0043E */ clrlwi r0, r29, 0x10 -/* 061D88 80067328 640460A5 */ oris r4, r0, 0x60a5 -/* 061D8C 8006732C 38030001 */ addi r0, r3, 1 -/* 061D90 80067330 90010084 */ stw r0, 0x84(r1) -/* 061D94 80067334 5460103A */ slwi r0, r3, 2 -/* 061D98 80067338 7C9F012E */ stwx r4, r31, r0 -/* 061D9C 8006733C 48000010 */ b lbl_8006734C -lbl_80067340: -/* 061DA0 80067340 80610084 */ lwz r3, 0x84(r1) -/* 061DA4 80067344 38030001 */ addi r0, r3, 1 -/* 061DA8 80067348 90010084 */ stw r0, 0x84(r1) -lbl_8006734C: -/* 061DAC 8006734C 281F0000 */ cmplwi r31, 0 -/* 061DB0 80067350 41820034 */ beq lbl_80067384 -/* 061DB4 80067354 80610084 */ lwz r3, 0x84(r1) -/* 061DB8 80067358 801E0B40 */ lwz r0, 0xb40(r30) -/* 061DBC 8006735C 5465103A */ slwi r5, r3, 2 -/* 061DC0 80067360 7C9F2A14 */ add r4, r31, r5 -/* 061DC4 80067364 7C040050 */ subf r0, r4, r0 -/* 061DC8 80067368 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 061DCC 8006736C 38630001 */ addi r3, r3, 1 -/* 061DD0 80067370 64004800 */ oris r0, r0, 0x4800 -/* 061DD4 80067374 90610084 */ stw r3, 0x84(r1) -/* 061DD8 80067378 60000001 */ ori r0, r0, 1 -/* 061DDC 8006737C 7C1F292E */ stwx r0, r31, r5 -/* 061DE0 80067380 48000BB4 */ b lbl_80067F34 -lbl_80067384: -/* 061DE4 80067384 80610084 */ lwz r3, 0x84(r1) -/* 061DE8 80067388 38030001 */ addi r0, r3, 1 -/* 061DEC 8006738C 90010084 */ stw r0, 0x84(r1) -/* 061DF0 80067390 48000BA4 */ b lbl_80067F34 -lbl_80067394: -/* 061DF4 80067394 57806E7A */ rlwinm r0, r28, 0xd, 0x19, 0x1d -/* 061DF8 80067398 7C7A0214 */ add r3, r26, r0 -/* 061DFC 8006739C 80030818 */ lwz r0, 0x818(r3) -/* 061E00 800673A0 57985EFE */ rlwinm r24, r28, 0xb, 0x1b, 0x1f -/* 061E04 800673A4 540305EF */ rlwinm. r3, r0, 0, 0x17, 0x17 -/* 061E08 800673A8 40820050 */ bne lbl_800673F8 -/* 061E0C 800673AC 281F0000 */ cmplwi r31, 0 -/* 061E10 800673B0 4182003C */ beq lbl_800673EC -/* 061E14 800673B4 57031838 */ slwi r3, r24, 3 -/* 061E18 800673B8 80810084 */ lwz r4, 0x84(r1) -/* 061E1C 800673BC 38630040 */ addi r3, r3, 0x40 -/* 061E20 800673C0 5400A814 */ slwi r0, r0, 0x15 -/* 061E24 800673C4 7CBE1A14 */ add r5, r30, r3 -/* 061E28 800673C8 38640001 */ addi r3, r4, 1 -/* 061E2C 800673CC 64009003 */ oris r0, r0, 0x9003 -/* 061E30 800673D0 90610084 */ stw r3, 0x84(r1) -/* 061E34 800673D4 7C7E2850 */ subf r3, r30, r5 -/* 061E38 800673D8 7C630214 */ add r3, r3, r0 -/* 061E3C 800673DC 38030004 */ addi r0, r3, 4 -/* 061E40 800673E0 5483103A */ slwi r3, r4, 2 -/* 061E44 800673E4 7C1F192E */ stwx r0, r31, r3 -/* 061E48 800673E8 48000010 */ b lbl_800673F8 -lbl_800673EC: -/* 061E4C 800673EC 80610084 */ lwz r3, 0x84(r1) -/* 061E50 800673F0 38030001 */ addi r0, r3, 1 -/* 061E54 800673F4 90010084 */ stw r0, 0x84(r1) -lbl_800673F8: -/* 061E58 800673F8 807E0008 */ lwz r3, 8(r30) -/* 061E5C 800673FC 579786FE */ rlwinm r23, r28, 0x10, 0x1b, 0x1f -/* 061E60 80067400 38810088 */ addi r4, r1, 0x88 -/* 061E64 80067404 8063002C */ lwz r3, 0x2c(r3) -/* 061E68 80067408 48005BC9 */ bl ramGetSize -/* 061E6C 8006740C 2C030000 */ cmpwi r3, 0 -/* 061E70 80067410 4082000C */ bne lbl_8006741C -/* 061E74 80067414 38600000 */ li r3, 0 -/* 061E78 80067418 48000E0C */ b lbl_80068224 -lbl_8006741C: -/* 061E7C 8006741C 281F0000 */ cmplwi r31, 0 -/* 061E80 80067420 41820034 */ beq lbl_80067454 -/* 061E84 80067424 57041838 */ slwi r4, r24, 3 -/* 061E88 80067428 80610084 */ lwz r3, 0x84(r1) -/* 061E8C 8006742C 38040040 */ addi r0, r4, 0x40 -/* 061E90 80067430 7C1E0214 */ add r0, r30, r0 -/* 061E94 80067434 7C9E0050 */ subf r4, r30, r0 -/* 061E98 80067438 38030001 */ addi r0, r3, 1 -/* 061E9C 8006743C 3C8480A3 */ addis r4, r4, 0x80a3 -/* 061EA0 80067440 90010084 */ stw r0, 0x84(r1) -/* 061EA4 80067444 38040004 */ addi r0, r4, 4 -/* 061EA8 80067448 5463103A */ slwi r3, r3, 2 -/* 061EAC 8006744C 7C1F192E */ stwx r0, r31, r3 -/* 061EB0 80067450 48000010 */ b lbl_80067460 -lbl_80067454: -/* 061EB4 80067454 80610084 */ lwz r3, 0x84(r1) -/* 061EB8 80067458 38030001 */ addi r0, r3, 1 -/* 061EBC 8006745C 90010084 */ stw r0, 0x84(r1) -lbl_80067460: -/* 061EC0 80067460 281F0000 */ cmplwi r31, 0 -/* 061EC4 80067464 41820024 */ beq lbl_80067488 -/* 061EC8 80067468 80610084 */ lwz r3, 0x84(r1) -/* 061ECC 8006746C 3C803CE1 */ lis r4, 0x3ce1 -/* 061ED0 80067470 38848000 */ addi r4, r4, -32768 -/* 061ED4 80067474 38030001 */ addi r0, r3, 1 -/* 061ED8 80067478 90010084 */ stw r0, 0x84(r1) -/* 061EDC 8006747C 5460103A */ slwi r0, r3, 2 -/* 061EE0 80067480 7C9F012E */ stwx r4, r31, r0 -/* 061EE4 80067484 48000010 */ b lbl_80067494 -lbl_80067488: -/* 061EE8 80067488 80610084 */ lwz r3, 0x84(r1) -/* 061EEC 8006748C 38030001 */ addi r0, r3, 1 -/* 061EF0 80067490 90010084 */ stw r0, 0x84(r1) -lbl_80067494: -/* 061EF4 80067494 281F0000 */ cmplwi r31, 0 -/* 061EF8 80067498 41820024 */ beq lbl_800674BC -/* 061EFC 8006749C 80610084 */ lwz r3, 0x84(r1) -/* 061F00 800674A0 3C807C07 */ lis r4, 0x7c07 -/* 061F04 800674A4 38842840 */ addi r4, r4, 0x2840 -/* 061F08 800674A8 38030001 */ addi r0, r3, 1 -/* 061F0C 800674AC 90010084 */ stw r0, 0x84(r1) -/* 061F10 800674B0 5460103A */ slwi r0, r3, 2 -/* 061F14 800674B4 7C9F012E */ stwx r4, r31, r0 -/* 061F18 800674B8 48000010 */ b lbl_800674C8 -lbl_800674BC: -/* 061F1C 800674BC 80610084 */ lwz r3, 0x84(r1) -/* 061F20 800674C0 38030001 */ addi r0, r3, 1 -/* 061F24 800674C4 90010084 */ stw r0, 0x84(r1) -lbl_800674C8: -/* 061F28 800674C8 281F0000 */ cmplwi r31, 0 -/* 061F2C 800674CC 41820024 */ beq lbl_800674F0 -/* 061F30 800674D0 80610084 */ lwz r3, 0x84(r1) -/* 061F34 800674D4 3C804181 */ lis r4, 0x4181 -/* 061F38 800674D8 38840014 */ addi r4, r4, 0x14 -/* 061F3C 800674DC 38030001 */ addi r0, r3, 1 -/* 061F40 800674E0 90010084 */ stw r0, 0x84(r1) -/* 061F44 800674E4 5460103A */ slwi r0, r3, 2 -/* 061F48 800674E8 7C9F012E */ stwx r4, r31, r0 -/* 061F4C 800674EC 48000010 */ b lbl_800674FC -lbl_800674F0: -/* 061F50 800674F0 80610084 */ lwz r3, 0x84(r1) -/* 061F54 800674F4 38030001 */ addi r0, r3, 1 -/* 061F58 800674F8 90010084 */ stw r0, 0x84(r1) -lbl_800674FC: -/* 061F5C 800674FC 281F0000 */ cmplwi r31, 0 -/* 061F60 80067500 41820030 */ beq lbl_80067530 -/* 061F64 80067504 80010088 */ lwz r0, 0x88(r1) -/* 061F68 80067508 80610084 */ lwz r3, 0x84(r1) -/* 061F6C 8006750C 7C048670 */ srawi r4, r0, 0x10 -/* 061F70 80067510 3884FFFF */ addi r4, r4, -1 -/* 061F74 80067514 38030001 */ addi r0, r3, 1 -/* 061F78 80067518 64843CE0 */ oris r4, r4, 0x3ce0 -/* 061F7C 8006751C 90010084 */ stw r0, 0x84(r1) -/* 061F80 80067520 60848000 */ ori r4, r4, 0x8000 -/* 061F84 80067524 5460103A */ slwi r0, r3, 2 -/* 061F88 80067528 7C9F012E */ stwx r4, r31, r0 -/* 061F8C 8006752C 48000010 */ b lbl_8006753C -lbl_80067530: -/* 061F90 80067530 80610084 */ lwz r3, 0x84(r1) -/* 061F94 80067534 38030001 */ addi r0, r3, 1 -/* 061F98 80067538 90010084 */ stw r0, 0x84(r1) -lbl_8006753C: -/* 061F9C 8006753C 281F0000 */ cmplwi r31, 0 -/* 061FA0 80067540 41820024 */ beq lbl_80067564 -/* 061FA4 80067544 80610084 */ lwz r3, 0x84(r1) -/* 061FA8 80067548 3C8060E8 */ lis r4, 0x60e8 -/* 061FAC 8006754C 3884FFFF */ addi r4, r4, -1 -/* 061FB0 80067550 38030001 */ addi r0, r3, 1 -/* 061FB4 80067554 90010084 */ stw r0, 0x84(r1) -/* 061FB8 80067558 5460103A */ slwi r0, r3, 2 -/* 061FBC 8006755C 7C9F012E */ stwx r4, r31, r0 -/* 061FC0 80067560 48000010 */ b lbl_80067570 -lbl_80067564: -/* 061FC4 80067564 80610084 */ lwz r3, 0x84(r1) -/* 061FC8 80067568 38030001 */ addi r0, r3, 1 -/* 061FCC 8006756C 90010084 */ stw r0, 0x84(r1) -lbl_80067570: -/* 061FD0 80067570 281F0000 */ cmplwi r31, 0 -/* 061FD4 80067574 41820024 */ beq lbl_80067598 -/* 061FD8 80067578 80610084 */ lwz r3, 0x84(r1) -/* 061FDC 8006757C 3C807C07 */ lis r4, 0x7c07 -/* 061FE0 80067580 38842840 */ addi r4, r4, 0x2840 -/* 061FE4 80067584 38030001 */ addi r0, r3, 1 -/* 061FE8 80067588 90010084 */ stw r0, 0x84(r1) -/* 061FEC 8006758C 5460103A */ slwi r0, r3, 2 -/* 061FF0 80067590 7C9F012E */ stwx r4, r31, r0 -/* 061FF4 80067594 48000010 */ b lbl_800675A4 -lbl_80067598: -/* 061FF8 80067598 80610084 */ lwz r3, 0x84(r1) -/* 061FFC 8006759C 38030001 */ addi r0, r3, 1 -/* 062000 800675A0 90010084 */ stw r0, 0x84(r1) -lbl_800675A4: -/* 062004 800675A4 2C110000 */ cmpwi r17, 0 -/* 062008 800675A8 418200A4 */ beq lbl_8006764C -/* 06200C 800675AC 281F0000 */ cmplwi r31, 0 -/* 062010 800675B0 41820024 */ beq lbl_800675D4 -/* 062014 800675B4 80610084 */ lwz r3, 0x84(r1) -/* 062018 800675B8 3C804181 */ lis r4, 0x4181 -/* 06201C 800675BC 38840024 */ addi r4, r4, 0x24 -/* 062020 800675C0 38030001 */ addi r0, r3, 1 -/* 062024 800675C4 90010084 */ stw r0, 0x84(r1) -/* 062028 800675C8 5460103A */ slwi r0, r3, 2 -/* 06202C 800675CC 7C9F012E */ stwx r4, r31, r0 -/* 062030 800675D0 48000010 */ b lbl_800675E0 -lbl_800675D4: -/* 062034 800675D4 80610084 */ lwz r3, 0x84(r1) -/* 062038 800675D8 38030001 */ addi r0, r3, 1 -/* 06203C 800675DC 90010084 */ stw r0, 0x84(r1) -lbl_800675E0: -/* 062040 800675E0 281F0000 */ cmplwi r31, 0 -/* 062044 800675E4 41820020 */ beq lbl_80067604 -/* 062048 800675E8 80610084 */ lwz r3, 0x84(r1) -/* 06204C 800675EC 3C8038C0 */ lis r4, 0x38c0 -/* 062050 800675F0 38030001 */ addi r0, r3, 1 -/* 062054 800675F4 90010084 */ stw r0, 0x84(r1) -/* 062058 800675F8 5460103A */ slwi r0, r3, 2 -/* 06205C 800675FC 7C9F012E */ stwx r4, r31, r0 -/* 062060 80067600 48000010 */ b lbl_80067610 -lbl_80067604: -/* 062064 80067604 80610084 */ lwz r3, 0x84(r1) -/* 062068 80067608 38030001 */ addi r0, r3, 1 -/* 06206C 8006760C 90010084 */ stw r0, 0x84(r1) -lbl_80067610: -/* 062070 80067610 281F0000 */ cmplwi r31, 0 -/* 062074 80067614 41820028 */ beq lbl_8006763C -/* 062078 80067618 80610084 */ lwz r3, 0x84(r1) -/* 06207C 8006761C 381E002C */ addi r0, r30, 0x2c -/* 062080 80067620 7C9E0050 */ subf r4, r30, r0 -/* 062084 80067624 38030001 */ addi r0, r3, 1 -/* 062088 80067628 90010084 */ stw r0, 0x84(r1) -/* 06208C 8006762C 3C0490C3 */ addis r0, r4, 0x90c3 -/* 062090 80067630 5463103A */ slwi r3, r3, 2 -/* 062094 80067634 7C1F192E */ stwx r0, r31, r3 -/* 062098 80067638 48000048 */ b lbl_80067680 -lbl_8006763C: -/* 06209C 8006763C 80610084 */ lwz r3, 0x84(r1) -/* 0620A0 80067640 38030001 */ addi r0, r3, 1 -/* 0620A4 80067644 90010084 */ stw r0, 0x84(r1) -/* 0620A8 80067648 48000038 */ b lbl_80067680 -lbl_8006764C: -/* 0620AC 8006764C 281F0000 */ cmplwi r31, 0 -/* 0620B0 80067650 41820024 */ beq lbl_80067674 -/* 0620B4 80067654 80610084 */ lwz r3, 0x84(r1) -/* 0620B8 80067658 3C804181 */ lis r4, 0x4181 -/* 0620BC 8006765C 38840014 */ addi r4, r4, 0x14 -/* 0620C0 80067660 38030001 */ addi r0, r3, 1 -/* 0620C4 80067664 90010084 */ stw r0, 0x84(r1) -/* 0620C8 80067668 5460103A */ slwi r0, r3, 2 -/* 0620CC 8006766C 7C9F012E */ stwx r4, r31, r0 -/* 0620D0 80067670 48000010 */ b lbl_80067680 -lbl_80067674: -/* 0620D4 80067674 80610084 */ lwz r3, 0x84(r1) -/* 0620D8 80067678 38030001 */ addi r0, r3, 1 -/* 0620DC 8006767C 90010084 */ stw r0, 0x84(r1) -lbl_80067680: -/* 0620E0 80067680 281F0000 */ cmplwi r31, 0 -/* 0620E4 80067684 41820024 */ beq lbl_800676A8 -/* 0620E8 80067688 80610084 */ lwz r3, 0x84(r1) -/* 0620EC 8006768C 57A0843E */ srwi r0, r29, 0x10 -/* 0620F0 80067690 64043CA0 */ oris r4, r0, 0x3ca0 -/* 0620F4 80067694 38030001 */ addi r0, r3, 1 -/* 0620F8 80067698 90010084 */ stw r0, 0x84(r1) -/* 0620FC 8006769C 5460103A */ slwi r0, r3, 2 -/* 062100 800676A0 7C9F012E */ stwx r4, r31, r0 -/* 062104 800676A4 48000010 */ b lbl_800676B4 -lbl_800676A8: -/* 062108 800676A8 80610084 */ lwz r3, 0x84(r1) -/* 06210C 800676AC 38030001 */ addi r0, r3, 1 -/* 062110 800676B0 90010084 */ stw r0, 0x84(r1) -lbl_800676B4: -/* 062114 800676B4 281F0000 */ cmplwi r31, 0 -/* 062118 800676B8 41820024 */ beq lbl_800676DC -/* 06211C 800676BC 80610084 */ lwz r3, 0x84(r1) -/* 062120 800676C0 57A0043E */ clrlwi r0, r29, 0x10 -/* 062124 800676C4 640460A5 */ oris r4, r0, 0x60a5 -/* 062128 800676C8 38030001 */ addi r0, r3, 1 -/* 06212C 800676CC 90010084 */ stw r0, 0x84(r1) -/* 062130 800676D0 5460103A */ slwi r0, r3, 2 -/* 062134 800676D4 7C9F012E */ stwx r4, r31, r0 -/* 062138 800676D8 48000010 */ b lbl_800676E8 -lbl_800676DC: -/* 06213C 800676DC 80610084 */ lwz r3, 0x84(r1) -/* 062140 800676E0 38030001 */ addi r0, r3, 1 -/* 062144 800676E4 90010084 */ stw r0, 0x84(r1) -lbl_800676E8: -/* 062148 800676E8 281F0000 */ cmplwi r31, 0 -/* 06214C 800676EC 41820034 */ beq lbl_80067720 -/* 062150 800676F0 80610084 */ lwz r3, 0x84(r1) -/* 062154 800676F4 801E0B40 */ lwz r0, 0xb40(r30) -/* 062158 800676F8 5465103A */ slwi r5, r3, 2 -/* 06215C 800676FC 7C9F2A14 */ add r4, r31, r5 -/* 062160 80067700 7C040050 */ subf r0, r4, r0 -/* 062164 80067704 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 062168 80067708 38630001 */ addi r3, r3, 1 -/* 06216C 8006770C 64004800 */ oris r0, r0, 0x4800 -/* 062170 80067710 90610084 */ stw r3, 0x84(r1) -/* 062174 80067714 60000001 */ ori r0, r0, 1 -/* 062178 80067718 7C1F292E */ stwx r0, r31, r5 -/* 06217C 8006771C 48000010 */ b lbl_8006772C -lbl_80067720: -/* 062180 80067720 80610084 */ lwz r3, 0x84(r1) -/* 062184 80067724 38030001 */ addi r0, r3, 1 -/* 062188 80067728 90010084 */ stw r0, 0x84(r1) -lbl_8006772C: -/* 06218C 8006772C 2C110000 */ cmpwi r17, 0 -/* 062190 80067730 41820070 */ beq lbl_800677A0 -/* 062194 80067734 281F0000 */ cmplwi r31, 0 -/* 062198 80067738 41820024 */ beq lbl_8006775C -/* 06219C 8006773C 80610084 */ lwz r3, 0x84(r1) -/* 0621A0 80067740 3C8038C1 */ lis r4, 0x38c1 -/* 0621A4 80067744 3884FFFF */ addi r4, r4, -1 -/* 0621A8 80067748 38030001 */ addi r0, r3, 1 -/* 0621AC 8006774C 90010084 */ stw r0, 0x84(r1) -/* 0621B0 80067750 5460103A */ slwi r0, r3, 2 -/* 0621B4 80067754 7C9F012E */ stwx r4, r31, r0 -/* 0621B8 80067758 48000010 */ b lbl_80067768 -lbl_8006775C: -/* 0621BC 8006775C 80610084 */ lwz r3, 0x84(r1) -/* 0621C0 80067760 38030001 */ addi r0, r3, 1 -/* 0621C4 80067764 90010084 */ stw r0, 0x84(r1) -lbl_80067768: -/* 0621C8 80067768 281F0000 */ cmplwi r31, 0 -/* 0621CC 8006776C 41820028 */ beq lbl_80067794 -/* 0621D0 80067770 80610084 */ lwz r3, 0x84(r1) -/* 0621D4 80067774 381E002C */ addi r0, r30, 0x2c -/* 0621D8 80067778 7C9E0050 */ subf r4, r30, r0 -/* 0621DC 8006777C 38030001 */ addi r0, r3, 1 -/* 0621E0 80067780 90010084 */ stw r0, 0x84(r1) -/* 0621E4 80067784 3C0490C3 */ addis r0, r4, 0x90c3 -/* 0621E8 80067788 5463103A */ slwi r3, r3, 2 -/* 0621EC 8006778C 7C1F192E */ stwx r0, r31, r3 -/* 0621F0 80067790 48000010 */ b lbl_800677A0 -lbl_80067794: -/* 0621F4 80067794 80610084 */ lwz r3, 0x84(r1) -/* 0621F8 80067798 38030001 */ addi r0, r3, 1 -/* 0621FC 8006779C 90010084 */ stw r0, 0x84(r1) -lbl_800677A0: -/* 062200 800677A0 281F0000 */ cmplwi r31, 0 -/* 062204 800677A4 41820024 */ beq lbl_800677C8 -/* 062208 800677A8 80610084 */ lwz r3, 0x84(r1) -/* 06220C 800677AC 3C804280 */ lis r4, 0x4280 -/* 062210 800677B0 38840018 */ addi r4, r4, 0x18 -/* 062214 800677B4 38030001 */ addi r0, r3, 1 -/* 062218 800677B8 90010084 */ stw r0, 0x84(r1) -/* 06221C 800677BC 5460103A */ slwi r0, r3, 2 -/* 062220 800677C0 7C9F012E */ stwx r4, r31, r0 -/* 062224 800677C4 48000010 */ b lbl_800677D4 -lbl_800677C8: -/* 062228 800677C8 80610084 */ lwz r3, 0x84(r1) -/* 06222C 800677CC 38030001 */ addi r0, r3, 1 -/* 062230 800677D0 90010084 */ stw r0, 0x84(r1) -lbl_800677D4: -/* 062234 800677D4 281F0000 */ cmplwi r31, 0 -/* 062238 800677D8 41820024 */ beq lbl_800677FC -/* 06223C 800677DC 80610084 */ lwz r3, 0x84(r1) -/* 062240 800677E0 3C807CE5 */ lis r4, 0x7ce5 -/* 062244 800677E4 38844214 */ addi r4, r4, 0x4214 -/* 062248 800677E8 38030001 */ addi r0, r3, 1 -/* 06224C 800677EC 90010084 */ stw r0, 0x84(r1) -/* 062250 800677F0 5460103A */ slwi r0, r3, 2 -/* 062254 800677F4 7C9F012E */ stwx r4, r31, r0 -/* 062258 800677F8 48000010 */ b lbl_80067808 -lbl_800677FC: -/* 06225C 800677FC 80610084 */ lwz r3, 0x84(r1) -/* 062260 80067800 38030001 */ addi r0, r3, 1 -/* 062264 80067804 90010084 */ stw r0, 0x84(r1) -lbl_80067808: -/* 062268 80067808 281F0000 */ cmplwi r31, 0 -/* 06226C 8006780C 41820030 */ beq lbl_8006783C -/* 062270 80067810 80610084 */ lwz r3, 0x84(r1) -/* 062274 80067814 56E41838 */ slwi r4, r23, 3 -/* 062278 80067818 38040140 */ addi r0, r4, 0x140 -/* 06227C 8006781C 7C9E0214 */ add r4, r30, r0 -/* 062280 80067820 38030001 */ addi r0, r3, 1 -/* 062284 80067824 7C9E2050 */ subf r4, r30, r4 -/* 062288 80067828 90010084 */ stw r0, 0x84(r1) -/* 06228C 8006782C 3C0480A3 */ addis r0, r4, 0x80a3 -/* 062290 80067830 5463103A */ slwi r3, r3, 2 -/* 062294 80067834 7C1F192E */ stwx r0, r31, r3 -/* 062298 80067838 48000010 */ b lbl_80067848 -lbl_8006783C: -/* 06229C 8006783C 80610084 */ lwz r3, 0x84(r1) -/* 0622A0 80067840 38030001 */ addi r0, r3, 1 -/* 0622A4 80067844 90010084 */ stw r0, 0x84(r1) -lbl_80067848: -/* 0622A8 80067848 281F0000 */ cmplwi r31, 0 -/* 0622AC 8006784C 41820024 */ beq lbl_80067870 -/* 0622B0 80067850 80610084 */ lwz r3, 0x84(r1) -/* 0622B4 80067854 5780043E */ clrlwi r0, r28, 0x10 -/* 0622B8 80067858 640490A7 */ oris r4, r0, 0x90a7 -/* 0622BC 8006785C 38030001 */ addi r0, r3, 1 -/* 0622C0 80067860 90010084 */ stw r0, 0x84(r1) -/* 0622C4 80067864 5460103A */ slwi r0, r3, 2 -/* 0622C8 80067868 7C9F012E */ stwx r4, r31, r0 -/* 0622CC 8006786C 48000010 */ b lbl_8006787C -lbl_80067870: -/* 0622D0 80067870 80610084 */ lwz r3, 0x84(r1) -/* 0622D4 80067874 38030001 */ addi r0, r3, 1 -/* 0622D8 80067878 90010084 */ stw r0, 0x84(r1) -lbl_8006787C: -/* 0622DC 8006787C 281F0000 */ cmplwi r31, 0 -/* 0622E0 80067880 41820034 */ beq lbl_800678B4 -/* 0622E4 80067884 56E41838 */ slwi r4, r23, 3 -/* 0622E8 80067888 80610084 */ lwz r3, 0x84(r1) -/* 0622EC 8006788C 38040140 */ addi r0, r4, 0x140 -/* 0622F0 80067890 7C1E0214 */ add r0, r30, r0 -/* 0622F4 80067894 7C9E0050 */ subf r4, r30, r0 -/* 0622F8 80067898 38030001 */ addi r0, r3, 1 -/* 0622FC 8006789C 3C8480A3 */ addis r4, r4, 0x80a3 -/* 062300 800678A0 90010084 */ stw r0, 0x84(r1) -/* 062304 800678A4 38040004 */ addi r0, r4, 4 -/* 062308 800678A8 5463103A */ slwi r3, r3, 2 -/* 06230C 800678AC 7C1F192E */ stwx r0, r31, r3 -/* 062310 800678B0 48000010 */ b lbl_800678C0 -lbl_800678B4: -/* 062314 800678B4 80610084 */ lwz r3, 0x84(r1) -/* 062318 800678B8 38030001 */ addi r0, r3, 1 -/* 06231C 800678BC 90010084 */ stw r0, 0x84(r1) -lbl_800678C0: -/* 062320 800678C0 281F0000 */ cmplwi r31, 0 -/* 062324 800678C4 41820028 */ beq lbl_800678EC -/* 062328 800678C8 80610084 */ lwz r3, 0x84(r1) -/* 06232C 800678CC 5784043E */ clrlwi r4, r28, 0x10 -/* 062330 800678D0 38840004 */ addi r4, r4, 4 -/* 062334 800678D4 38030001 */ addi r0, r3, 1 -/* 062338 800678D8 90010084 */ stw r0, 0x84(r1) -/* 06233C 800678DC 648090A7 */ oris r0, r4, 0x90a7 -/* 062340 800678E0 5463103A */ slwi r3, r3, 2 -/* 062344 800678E4 7C1F192E */ stwx r0, r31, r3 -/* 062348 800678E8 4800064C */ b lbl_80067F34 -lbl_800678EC: -/* 06234C 800678EC 80610084 */ lwz r3, 0x84(r1) -/* 062350 800678F0 38030001 */ addi r0, r3, 1 -/* 062354 800678F4 90010084 */ stw r0, 0x84(r1) -/* 062358 800678F8 4800063C */ b lbl_80067F34 -.global lbl_800678FC -lbl_800678FC: -/* 06235C 800678FC 3C7E0001 */ addis r3, r30, 1 -/* 062360 80067900 57875EFE */ rlwinm r7, r28, 0xb, 0x1b, 0x1f -/* 062364 80067904 80032058 */ lwz r0, 0x2058(r3) -/* 062368 80067908 38C00001 */ li r6, 1 -/* 06236C 8006790C 7CC43830 */ slw r4, r6, r7 -/* 062370 80067910 7C002039 */ and. r0, r0, r4 -/* 062374 80067914 418203A4 */ beq lbl_80067CB8 -/* 062378 80067918 54E0103A */ slwi r0, r7, 2 -/* 06237C 8006791C 7C9A0214 */ add r4, r26, r0 -/* 062380 80067920 81040818 */ lwz r8, 0x818(r4) -/* 062384 80067924 550005EF */ rlwinm. r0, r8, 0, 0x17, 0x17 -/* 062388 80067928 4182014C */ beq lbl_80067A74 -/* 06238C 8006792C 80032064 */ lwz r0, 0x2064(r3) -/* 062390 80067930 39000007 */ li r8, 7 -/* 062394 80067934 38C00000 */ li r6, 0 -/* 062398 80067938 28000000 */ cmplwi r0, 0 -/* 06239C 8006793C 4082000C */ bne lbl_80067948 -/* 0623A0 80067940 7CC03378 */ mr r0, r6 -/* 0623A4 80067944 48000094 */ b lbl_800679D8 -lbl_80067948: -/* 0623A8 80067948 80032068 */ lwz r0, 0x2068(r3) -/* 0623AC 8006794C 28000000 */ cmplwi r0, 0 -/* 0623B0 80067950 4082000C */ bne lbl_8006795C -/* 0623B4 80067954 7CC03378 */ mr r0, r6 -/* 0623B8 80067958 48000080 */ b lbl_800679D8 -lbl_8006795C: -/* 0623BC 8006795C 8003206C */ lwz r0, 0x206c(r3) -/* 0623C0 80067960 7C070000 */ cmpw r7, r0 -/* 0623C4 80067964 4182000C */ beq lbl_80067970 -/* 0623C8 80067968 7CC03378 */ mr r0, r6 -/* 0623CC 8006796C 4800006C */ b lbl_800679D8 -lbl_80067970: -/* 0623D0 80067970 80BE0034 */ lwz r5, 0x34(r30) -/* 0623D4 80067974 7CC43378 */ mr r4, r6 -/* 0623D8 80067978 80050008 */ lwz r0, 8(r5) -/* 0623DC 8006797C 2C000000 */ cmpwi r0, 0 -/* 0623E0 80067980 7C0903A6 */ mtctr r0 -/* 0623E4 80067984 40810028 */ ble lbl_800679AC -lbl_80067988: -/* 0623E8 80067988 8065000C */ lwz r3, 0xc(r5) -/* 0623EC 8006798C 38040004 */ addi r0, r4, 4 -/* 0623F0 80067990 7C03002E */ lwzx r0, r3, r0 -/* 0623F4 80067994 7C1D0000 */ cmpw r29, r0 -/* 0623F8 80067998 4082000C */ bne lbl_800679A4 -/* 0623FC 8006799C 38000000 */ li r0, 0 -/* 062400 800679A0 48000010 */ b lbl_800679B0 -lbl_800679A4: -/* 062404 800679A4 38840008 */ addi r4, r4, 8 -/* 062408 800679A8 4200FFE0 */ bdnz lbl_80067988 -lbl_800679AC: -/* 06240C 800679AC 38000001 */ li r0, 1 -lbl_800679B0: -/* 062410 800679B0 2C000000 */ cmpwi r0, 0 -/* 062414 800679B4 40820014 */ bne lbl_800679C8 -/* 062418 800679B8 38000000 */ li r0, 0 -/* 06241C 800679BC 3C7E0001 */ addis r3, r30, 1 -/* 062420 800679C0 90032068 */ stw r0, 0x2068(r3) -/* 062424 800679C4 48000014 */ b lbl_800679D8 -lbl_800679C8: -/* 062428 800679C8 3C7E0001 */ addis r3, r30, 1 -/* 06242C 800679CC 38000000 */ li r0, 0 -/* 062430 800679D0 90032068 */ stw r0, 0x2068(r3) -/* 062434 800679D4 38000001 */ li r0, 1 -lbl_800679D8: -/* 062438 800679D8 2C000000 */ cmpwi r0, 0 -/* 06243C 800679DC 41820050 */ beq lbl_80067A2C -/* 062440 800679E0 281F0000 */ cmplwi r31, 0 -/* 062444 800679E4 41820038 */ beq lbl_80067A1C -/* 062448 800679E8 3C7E0001 */ addis r3, r30, 1 -/* 06244C 800679EC 80810084 */ lwz r4, 0x84(r1) -/* 062450 800679F0 80632070 */ lwz r3, 0x2070(r3) -/* 062454 800679F4 38A40001 */ addi r5, r4, 1 -/* 062458 800679F8 5460A814 */ slwi r0, r3, 0x15 -/* 06245C 800679FC 90A10084 */ stw r5, 0x84(r1) -/* 062460 80067A00 64007C07 */ oris r0, r0, 0x7c07 -/* 062464 80067A04 54635828 */ slwi r3, r3, 0xb -/* 062468 80067A08 60000378 */ ori r0, r0, 0x378 -/* 06246C 80067A0C 7C600378 */ or r0, r3, r0 -/* 062470 80067A10 5483103A */ slwi r3, r4, 2 -/* 062474 80067A14 7C1F192E */ stwx r0, r31, r3 -/* 062478 80067A18 4800005C */ b lbl_80067A74 -lbl_80067A1C: -/* 06247C 80067A1C 80610084 */ lwz r3, 0x84(r1) -/* 062480 80067A20 38030001 */ addi r0, r3, 1 -/* 062484 80067A24 90010084 */ stw r0, 0x84(r1) -/* 062488 80067A28 4800004C */ b lbl_80067A74 -lbl_80067A2C: -/* 06248C 80067A2C 281F0000 */ cmplwi r31, 0 -/* 062490 80067A30 41820038 */ beq lbl_80067A68 -/* 062494 80067A34 54E41838 */ slwi r4, r7, 3 -/* 062498 80067A38 80610084 */ lwz r3, 0x84(r1) -/* 06249C 80067A3C 38040040 */ addi r0, r4, 0x40 -/* 0624A0 80067A40 7C1E0214 */ add r0, r30, r0 -/* 0624A4 80067A44 7C9E0050 */ subf r4, r30, r0 -/* 0624A8 80067A48 38040004 */ addi r0, r4, 4 -/* 0624AC 80067A4C 38A30001 */ addi r5, r3, 1 -/* 0624B0 80067A50 5404043E */ clrlwi r4, r0, 0x10 -/* 0624B4 80067A54 90A10084 */ stw r5, 0x84(r1) -/* 0624B8 80067A58 3C0480E3 */ addis r0, r4, 0x80e3 -/* 0624BC 80067A5C 5463103A */ slwi r3, r3, 2 -/* 0624C0 80067A60 7C1F192E */ stwx r0, r31, r3 -/* 0624C4 80067A64 48000010 */ b lbl_80067A74 -lbl_80067A68: -/* 0624C8 80067A68 80610084 */ lwz r3, 0x84(r1) -/* 0624CC 80067A6C 38030001 */ addi r0, r3, 1 -/* 0624D0 80067A70 90010084 */ stw r0, 0x84(r1) -lbl_80067A74: -/* 0624D4 80067A74 2C060000 */ cmpwi r6, 0 -/* 0624D8 80067A78 418200BC */ beq lbl_80067B34 -/* 0624DC 80067A7C 281F0000 */ cmplwi r31, 0 -/* 0624E0 80067A80 4082000C */ bne lbl_80067A8C -/* 0624E4 80067A84 38800000 */ li r4, 0 -/* 0624E8 80067A88 480000A4 */ b lbl_80067B2C -lbl_80067A8C: -/* 0624EC 80067A8C 3C7E0001 */ addis r3, r30, 1 -/* 0624F0 80067A90 80032064 */ lwz r0, 0x2064(r3) -/* 0624F4 80067A94 28000000 */ cmplwi r0, 0 -/* 0624F8 80067A98 4082000C */ bne lbl_80067AA4 -/* 0624FC 80067A9C 38800000 */ li r4, 0 -/* 062500 80067AA0 4800008C */ b lbl_80067B2C -lbl_80067AA4: -/* 062504 80067AA4 80BE0034 */ lwz r5, 0x34(r30) -/* 062508 80067AA8 38800000 */ li r4, 0 -/* 06250C 80067AAC 80050008 */ lwz r0, 8(r5) -/* 062510 80067AB0 2C000000 */ cmpwi r0, 0 -/* 062514 80067AB4 7C0903A6 */ mtctr r0 -/* 062518 80067AB8 40810028 */ ble lbl_80067AE0 -lbl_80067ABC: -/* 06251C 80067ABC 8065000C */ lwz r3, 0xc(r5) -/* 062520 80067AC0 38040004 */ addi r0, r4, 4 -/* 062524 80067AC4 7C03002E */ lwzx r0, r3, r0 -/* 062528 80067AC8 7C1D0000 */ cmpw r29, r0 -/* 06252C 80067ACC 4082000C */ bne lbl_80067AD8 -/* 062530 80067AD0 38000000 */ li r0, 0 -/* 062534 80067AD4 48000010 */ b lbl_80067AE4 -lbl_80067AD8: -/* 062538 80067AD8 38840008 */ addi r4, r4, 8 -/* 06253C 80067ADC 4200FFE0 */ bdnz lbl_80067ABC -lbl_80067AE0: -/* 062540 80067AE0 38000001 */ li r0, 1 -lbl_80067AE4: -/* 062544 80067AE4 2C000000 */ cmpwi r0, 0 -/* 062548 80067AE8 4082000C */ bne lbl_80067AF4 -/* 06254C 80067AEC 38800000 */ li r4, 0 -/* 062550 80067AF0 4800003C */ b lbl_80067B2C -lbl_80067AF4: -/* 062554 80067AF4 2C07FFFF */ cmpwi r7, -1 -/* 062558 80067AF8 3C7E0001 */ addis r3, r30, 1 -/* 06255C 80067AFC 38800001 */ li r4, 1 -/* 062560 80067B00 9083207C */ stw r4, 0x207c(r3) -/* 062564 80067B04 40820014 */ bne lbl_80067B18 -/* 062568 80067B08 3800FFFF */ li r0, -1 -/* 06256C 80067B0C 90032080 */ stw r0, 0x2080(r3) -/* 062570 80067B10 38800000 */ li r4, 0 -/* 062574 80067B14 48000018 */ b lbl_80067B2C -lbl_80067B18: -/* 062578 80067B18 80032080 */ lwz r0, 0x2080(r3) -/* 06257C 80067B1C 7C003800 */ cmpw r0, r7 -/* 062580 80067B20 4182000C */ beq lbl_80067B2C -/* 062584 80067B24 90E32080 */ stw r7, 0x2080(r3) -/* 062588 80067B28 38800000 */ li r4, 0 -lbl_80067B2C: -/* 06258C 80067B2C 2C040000 */ cmpwi r4, 0 -/* 062590 80067B30 40820040 */ bne lbl_80067B70 -lbl_80067B34: -/* 062594 80067B34 281F0000 */ cmplwi r31, 0 -/* 062598 80067B38 41820028 */ beq lbl_80067B60 -/* 06259C 80067B3C 80610084 */ lwz r3, 0x84(r1) -/* 0625A0 80067B40 5500801E */ slwi r0, r8, 0x10 -/* 0625A4 80067B44 64047CE0 */ oris r4, r0, 0x7ce0 -/* 0625A8 80067B48 38030001 */ addi r0, r3, 1 -/* 0625AC 80067B4C 90010084 */ stw r0, 0x84(r1) -/* 0625B0 80067B50 60844214 */ ori r4, r4, 0x4214 -/* 0625B4 80067B54 5460103A */ slwi r0, r3, 2 -/* 0625B8 80067B58 7C9F012E */ stwx r4, r31, r0 -/* 0625BC 80067B5C 48000044 */ b lbl_80067BA0 -lbl_80067B60: -/* 0625C0 80067B60 80610084 */ lwz r3, 0x84(r1) -/* 0625C4 80067B64 38030001 */ addi r0, r3, 1 -/* 0625C8 80067B68 90010084 */ stw r0, 0x84(r1) -/* 0625CC 80067B6C 48000034 */ b lbl_80067BA0 -lbl_80067B70: -/* 0625D0 80067B70 281F0000 */ cmplwi r31, 0 -/* 0625D4 80067B74 41820020 */ beq lbl_80067B94 -/* 0625D8 80067B78 80610084 */ lwz r3, 0x84(r1) -/* 0625DC 80067B7C 3C806000 */ lis r4, 0x6000 -/* 0625E0 80067B80 38030001 */ addi r0, r3, 1 -/* 0625E4 80067B84 90010084 */ stw r0, 0x84(r1) -/* 0625E8 80067B88 5460103A */ slwi r0, r3, 2 -/* 0625EC 80067B8C 7C9F012E */ stwx r4, r31, r0 -/* 0625F0 80067B90 48000010 */ b lbl_80067BA0 -lbl_80067B94: -/* 0625F4 80067B94 80610084 */ lwz r3, 0x84(r1) -/* 0625F8 80067B98 38030001 */ addi r0, r3, 1 -/* 0625FC 80067B9C 90010084 */ stw r0, 0x84(r1) -lbl_80067BA0: -/* 062600 80067BA0 281F0000 */ cmplwi r31, 0 -/* 062604 80067BA4 41820030 */ beq lbl_80067BD4 -/* 062608 80067BA8 57849E38 */ rlwinm r4, r28, 0x13, 0x18, 0x1c -/* 06260C 80067BAC 80610084 */ lwz r3, 0x84(r1) -/* 062610 80067BB0 38040040 */ addi r0, r4, 0x40 -/* 062614 80067BB4 7C9E0214 */ add r4, r30, r0 -/* 062618 80067BB8 38030001 */ addi r0, r3, 1 -/* 06261C 80067BBC 7C9E2050 */ subf r4, r30, r4 -/* 062620 80067BC0 90010084 */ stw r0, 0x84(r1) -/* 062624 80067BC4 3C0480C3 */ addis r0, r4, 0x80c3 -/* 062628 80067BC8 5463103A */ slwi r3, r3, 2 -/* 06262C 80067BCC 7C1F192E */ stwx r0, r31, r3 -/* 062630 80067BD0 48000010 */ b lbl_80067BE0 -lbl_80067BD4: -/* 062634 80067BD4 80610084 */ lwz r3, 0x84(r1) -/* 062638 80067BD8 38030001 */ addi r0, r3, 1 -/* 06263C 80067BDC 90010084 */ stw r0, 0x84(r1) -lbl_80067BE0: -/* 062640 80067BE0 281F0000 */ cmplwi r31, 0 -/* 062644 80067BE4 41820024 */ beq lbl_80067C08 -/* 062648 80067BE8 80610084 */ lwz r3, 0x84(r1) -/* 06264C 80067BEC 5780043E */ clrlwi r0, r28, 0x10 -/* 062650 80067BF0 640490C7 */ oris r4, r0, 0x90c7 -/* 062654 80067BF4 38030001 */ addi r0, r3, 1 -/* 062658 80067BF8 90010084 */ stw r0, 0x84(r1) -/* 06265C 80067BFC 5460103A */ slwi r0, r3, 2 -/* 062660 80067C00 7C9F012E */ stwx r4, r31, r0 -/* 062664 80067C04 48000010 */ b lbl_80067C14 -lbl_80067C08: -/* 062668 80067C08 80610084 */ lwz r3, 0x84(r1) -/* 06266C 80067C0C 38030001 */ addi r0, r3, 1 -/* 062670 80067C10 90010084 */ stw r0, 0x84(r1) -lbl_80067C14: -/* 062674 80067C14 5783967A */ rlwinm r3, r28, 0x12, 0x19, 0x1d -/* 062678 80067C18 7C7A1A14 */ add r3, r26, r3 -/* 06267C 80067C1C 80A30818 */ lwz r5, 0x818(r3) -/* 062680 80067C20 578086FE */ rlwinm r0, r28, 0x10, 0x1b, 0x1f -/* 062684 80067C24 54A305EF */ rlwinm. r3, r5, 0, 0x17, 0x17 -/* 062688 80067C28 4182004C */ beq lbl_80067C74 -/* 06268C 80067C2C 281F0000 */ cmplwi r31, 0 -/* 062690 80067C30 38A00006 */ li r5, 6 -/* 062694 80067C34 41820034 */ beq lbl_80067C68 -/* 062698 80067C38 54041838 */ slwi r4, r0, 3 -/* 06269C 80067C3C 80610084 */ lwz r3, 0x84(r1) -/* 0626A0 80067C40 38040040 */ addi r0, r4, 0x40 -/* 0626A4 80067C44 7C1E0214 */ add r0, r30, r0 -/* 0626A8 80067C48 7C9E0050 */ subf r4, r30, r0 -/* 0626AC 80067C4C 38030001 */ addi r0, r3, 1 -/* 0626B0 80067C50 3C8480C3 */ addis r4, r4, 0x80c3 -/* 0626B4 80067C54 90010084 */ stw r0, 0x84(r1) -/* 0626B8 80067C58 38040004 */ addi r0, r4, 4 -/* 0626BC 80067C5C 5463103A */ slwi r3, r3, 2 -/* 0626C0 80067C60 7C1F192E */ stwx r0, r31, r3 -/* 0626C4 80067C64 48000010 */ b lbl_80067C74 -lbl_80067C68: -/* 0626C8 80067C68 80610084 */ lwz r3, 0x84(r1) -/* 0626CC 80067C6C 38030001 */ addi r0, r3, 1 -/* 0626D0 80067C70 90010084 */ stw r0, 0x84(r1) -lbl_80067C74: -/* 0626D4 80067C74 281F0000 */ cmplwi r31, 0 -/* 0626D8 80067C78 41820030 */ beq lbl_80067CA8 -/* 0626DC 80067C7C 80610084 */ lwz r3, 0x84(r1) -/* 0626E0 80067C80 54A0A814 */ slwi r0, r5, 0x15 -/* 0626E4 80067C84 5784043E */ clrlwi r4, r28, 0x10 -/* 0626E8 80067C88 38A30001 */ addi r5, r3, 1 -/* 0626EC 80067C8C 90A10084 */ stw r5, 0x84(r1) -/* 0626F0 80067C90 64009007 */ oris r0, r0, 0x9007 -/* 0626F4 80067C94 38840004 */ addi r4, r4, 4 -/* 0626F8 80067C98 7C002378 */ or r0, r0, r4 -/* 0626FC 80067C9C 5463103A */ slwi r3, r3, 2 -/* 062700 80067CA0 7C1F192E */ stwx r0, r31, r3 -/* 062704 80067CA4 48000290 */ b lbl_80067F34 -lbl_80067CA8: -/* 062708 80067CA8 80610084 */ lwz r3, 0x84(r1) -/* 06270C 80067CAC 38030001 */ addi r0, r3, 1 -/* 062710 80067CB0 90010084 */ stw r0, 0x84(r1) -/* 062714 80067CB4 48000280 */ b lbl_80067F34 -lbl_80067CB8: -/* 062718 80067CB8 80032060 */ lwz r0, 0x2060(r3) -/* 06271C 80067CBC 540006F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 062720 80067CC0 41820274 */ beq lbl_80067F34 -/* 062724 80067CC4 2C110000 */ cmpwi r17, 0 -/* 062728 80067CC8 4182006C */ beq lbl_80067D34 -/* 06272C 80067CCC 281F0000 */ cmplwi r31, 0 -/* 062730 80067CD0 41820020 */ beq lbl_80067CF0 -/* 062734 80067CD4 80610084 */ lwz r3, 0x84(r1) -/* 062738 80067CD8 3C8038C0 */ lis r4, 0x38c0 -/* 06273C 80067CDC 38030001 */ addi r0, r3, 1 -/* 062740 80067CE0 90010084 */ stw r0, 0x84(r1) -/* 062744 80067CE4 5460103A */ slwi r0, r3, 2 -/* 062748 80067CE8 7C9F012E */ stwx r4, r31, r0 -/* 06274C 80067CEC 48000010 */ b lbl_80067CFC -lbl_80067CF0: -/* 062750 80067CF0 80610084 */ lwz r3, 0x84(r1) -/* 062754 80067CF4 38030001 */ addi r0, r3, 1 -/* 062758 80067CF8 90010084 */ stw r0, 0x84(r1) -lbl_80067CFC: -/* 06275C 80067CFC 281F0000 */ cmplwi r31, 0 -/* 062760 80067D00 41820028 */ beq lbl_80067D28 -/* 062764 80067D04 80610084 */ lwz r3, 0x84(r1) -/* 062768 80067D08 381E002C */ addi r0, r30, 0x2c -/* 06276C 80067D0C 7C9E0050 */ subf r4, r30, r0 -/* 062770 80067D10 38030001 */ addi r0, r3, 1 -/* 062774 80067D14 90010084 */ stw r0, 0x84(r1) -/* 062778 80067D18 3C0490C3 */ addis r0, r4, 0x90c3 -/* 06277C 80067D1C 5463103A */ slwi r3, r3, 2 -/* 062780 80067D20 7C1F192E */ stwx r0, r31, r3 -/* 062784 80067D24 48000010 */ b lbl_80067D34 -lbl_80067D28: -/* 062788 80067D28 80610084 */ lwz r3, 0x84(r1) -/* 06278C 80067D2C 38030001 */ addi r0, r3, 1 -/* 062790 80067D30 90010084 */ stw r0, 0x84(r1) -lbl_80067D34: -/* 062794 80067D34 281F0000 */ cmplwi r31, 0 -/* 062798 80067D38 41820024 */ beq lbl_80067D5C -/* 06279C 80067D3C 80610084 */ lwz r3, 0x84(r1) -/* 0627A0 80067D40 57A0843E */ srwi r0, r29, 0x10 -/* 0627A4 80067D44 64043CA0 */ oris r4, r0, 0x3ca0 -/* 0627A8 80067D48 38030001 */ addi r0, r3, 1 -/* 0627AC 80067D4C 90010084 */ stw r0, 0x84(r1) -/* 0627B0 80067D50 5460103A */ slwi r0, r3, 2 -/* 0627B4 80067D54 7C9F012E */ stwx r4, r31, r0 -/* 0627B8 80067D58 48000010 */ b lbl_80067D68 -lbl_80067D5C: -/* 0627BC 80067D5C 80610084 */ lwz r3, 0x84(r1) -/* 0627C0 80067D60 38030001 */ addi r0, r3, 1 -/* 0627C4 80067D64 90010084 */ stw r0, 0x84(r1) -lbl_80067D68: -/* 0627C8 80067D68 281F0000 */ cmplwi r31, 0 -/* 0627CC 80067D6C 41820024 */ beq lbl_80067D90 -/* 0627D0 80067D70 80610084 */ lwz r3, 0x84(r1) -/* 0627D4 80067D74 57A0043E */ clrlwi r0, r29, 0x10 -/* 0627D8 80067D78 640460A5 */ oris r4, r0, 0x60a5 -/* 0627DC 80067D7C 38030001 */ addi r0, r3, 1 -/* 0627E0 80067D80 90010084 */ stw r0, 0x84(r1) -/* 0627E4 80067D84 5460103A */ slwi r0, r3, 2 -/* 0627E8 80067D88 7C9F012E */ stwx r4, r31, r0 -/* 0627EC 80067D8C 48000010 */ b lbl_80067D9C -lbl_80067D90: -/* 0627F0 80067D90 80610084 */ lwz r3, 0x84(r1) -/* 0627F4 80067D94 38030001 */ addi r0, r3, 1 -/* 0627F8 80067D98 90010084 */ stw r0, 0x84(r1) -lbl_80067D9C: -/* 0627FC 80067D9C 281F0000 */ cmplwi r31, 0 -/* 062800 80067DA0 41820034 */ beq lbl_80067DD4 -/* 062804 80067DA4 80610084 */ lwz r3, 0x84(r1) -/* 062808 80067DA8 801E0B54 */ lwz r0, 0xb54(r30) -/* 06280C 80067DAC 5465103A */ slwi r5, r3, 2 -/* 062810 80067DB0 7C9F2A14 */ add r4, r31, r5 -/* 062814 80067DB4 7C040050 */ subf r0, r4, r0 -/* 062818 80067DB8 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 06281C 80067DBC 38630001 */ addi r3, r3, 1 -/* 062820 80067DC0 64004800 */ oris r0, r0, 0x4800 -/* 062824 80067DC4 90610084 */ stw r3, 0x84(r1) -/* 062828 80067DC8 60000001 */ ori r0, r0, 1 -/* 06282C 80067DCC 7C1F292E */ stwx r0, r31, r5 -/* 062830 80067DD0 48000010 */ b lbl_80067DE0 -lbl_80067DD4: -/* 062834 80067DD4 80610084 */ lwz r3, 0x84(r1) -/* 062838 80067DD8 38030001 */ addi r0, r3, 1 -/* 06283C 80067DDC 90010084 */ stw r0, 0x84(r1) -lbl_80067DE0: -/* 062840 80067DE0 3C7E0001 */ addis r3, r30, 1 -/* 062844 80067DE4 80032060 */ lwz r0, 0x2060(r3) -/* 062848 80067DE8 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 06284C 80067DEC 41820074 */ beq lbl_80067E60 -/* 062850 80067DF0 281F0000 */ cmplwi r31, 0 -/* 062854 80067DF4 40820014 */ bne lbl_80067E08 -/* 062858 80067DF8 80610084 */ lwz r3, 0x84(r1) -/* 06285C 80067DFC 38030004 */ addi r0, r3, 4 -/* 062860 80067E00 90010084 */ stw r0, 0x84(r1) -/* 062864 80067E04 480000B4 */ b lbl_80067EB8 -lbl_80067E08: -/* 062868 80067E08 80610084 */ lwz r3, 0x84(r1) -/* 06286C 80067E0C 3C806000 */ lis r4, 0x6000 -/* 062870 80067E10 38030001 */ addi r0, r3, 1 -/* 062874 80067E14 90010084 */ stw r0, 0x84(r1) -/* 062878 80067E18 5460103A */ slwi r0, r3, 2 -/* 06287C 80067E1C 7C9F012E */ stwx r4, r31, r0 -/* 062880 80067E20 80610084 */ lwz r3, 0x84(r1) -/* 062884 80067E24 38030001 */ addi r0, r3, 1 -/* 062888 80067E28 90010084 */ stw r0, 0x84(r1) -/* 06288C 80067E2C 5460103A */ slwi r0, r3, 2 -/* 062890 80067E30 7C9F012E */ stwx r4, r31, r0 -/* 062894 80067E34 80610084 */ lwz r3, 0x84(r1) -/* 062898 80067E38 38030001 */ addi r0, r3, 1 -/* 06289C 80067E3C 90010084 */ stw r0, 0x84(r1) -/* 0628A0 80067E40 5460103A */ slwi r0, r3, 2 -/* 0628A4 80067E44 7C9F012E */ stwx r4, r31, r0 -/* 0628A8 80067E48 80610084 */ lwz r3, 0x84(r1) -/* 0628AC 80067E4C 38030001 */ addi r0, r3, 1 -/* 0628B0 80067E50 90010084 */ stw r0, 0x84(r1) -/* 0628B4 80067E54 5460103A */ slwi r0, r3, 2 -/* 0628B8 80067E58 7C9F012E */ stwx r4, r31, r0 -/* 0628BC 80067E5C 4800005C */ b lbl_80067EB8 -lbl_80067E60: -/* 0628C0 80067E60 281F0000 */ cmplwi r31, 0 -/* 0628C4 80067E64 40820014 */ bne lbl_80067E78 -/* 0628C8 80067E68 80610084 */ lwz r3, 0x84(r1) -/* 0628CC 80067E6C 38030003 */ addi r0, r3, 3 -/* 0628D0 80067E70 90010084 */ stw r0, 0x84(r1) -/* 0628D4 80067E74 48000044 */ b lbl_80067EB8 -lbl_80067E78: -/* 0628D8 80067E78 80610084 */ lwz r3, 0x84(r1) -/* 0628DC 80067E7C 3C806000 */ lis r4, 0x6000 -/* 0628E0 80067E80 38030001 */ addi r0, r3, 1 -/* 0628E4 80067E84 90010084 */ stw r0, 0x84(r1) -/* 0628E8 80067E88 5460103A */ slwi r0, r3, 2 -/* 0628EC 80067E8C 7C9F012E */ stwx r4, r31, r0 -/* 0628F0 80067E90 80610084 */ lwz r3, 0x84(r1) -/* 0628F4 80067E94 38030001 */ addi r0, r3, 1 -/* 0628F8 80067E98 90010084 */ stw r0, 0x84(r1) -/* 0628FC 80067E9C 5460103A */ slwi r0, r3, 2 -/* 062900 80067EA0 7C9F012E */ stwx r4, r31, r0 -/* 062904 80067EA4 80610084 */ lwz r3, 0x84(r1) -/* 062908 80067EA8 38030001 */ addi r0, r3, 1 -/* 06290C 80067EAC 90010084 */ stw r0, 0x84(r1) -/* 062910 80067EB0 5460103A */ slwi r0, r3, 2 -/* 062914 80067EB4 7C9F012E */ stwx r4, r31, r0 -lbl_80067EB8: -/* 062918 80067EB8 2C110000 */ cmpwi r17, 0 -/* 06291C 80067EBC 41820078 */ beq lbl_80067F34 -/* 062920 80067EC0 281F0000 */ cmplwi r31, 0 -/* 062924 80067EC4 41820024 */ beq lbl_80067EE8 -/* 062928 80067EC8 80610084 */ lwz r3, 0x84(r1) -/* 06292C 80067ECC 3C8038C1 */ lis r4, 0x38c1 -/* 062930 80067ED0 3884FFFF */ addi r4, r4, -1 -/* 062934 80067ED4 38030001 */ addi r0, r3, 1 -/* 062938 80067ED8 90010084 */ stw r0, 0x84(r1) -/* 06293C 80067EDC 5460103A */ slwi r0, r3, 2 -/* 062940 80067EE0 7C9F012E */ stwx r4, r31, r0 -/* 062944 80067EE4 48000010 */ b lbl_80067EF4 -lbl_80067EE8: -/* 062948 80067EE8 80610084 */ lwz r3, 0x84(r1) -/* 06294C 80067EEC 38030001 */ addi r0, r3, 1 -/* 062950 80067EF0 90010084 */ stw r0, 0x84(r1) -lbl_80067EF4: -/* 062954 80067EF4 281F0000 */ cmplwi r31, 0 -/* 062958 80067EF8 41820028 */ beq lbl_80067F20 -/* 06295C 80067EFC 80610084 */ lwz r3, 0x84(r1) -/* 062960 80067F00 381E002C */ addi r0, r30, 0x2c -/* 062964 80067F04 7C9E0050 */ subf r4, r30, r0 -/* 062968 80067F08 38030001 */ addi r0, r3, 1 -/* 06296C 80067F0C 90010084 */ stw r0, 0x84(r1) -/* 062970 80067F10 3C0490C3 */ addis r0, r4, 0x90c3 -/* 062974 80067F14 5463103A */ slwi r3, r3, 2 -/* 062978 80067F18 7C1F192E */ stwx r0, r31, r3 -/* 06297C 80067F1C 48000018 */ b lbl_80067F34 -lbl_80067F20: -/* 062980 80067F20 80610084 */ lwz r3, 0x84(r1) -/* 062984 80067F24 38030001 */ addi r0, r3, 1 -/* 062988 80067F28 90010084 */ stw r0, 0x84(r1) -/* 06298C 80067F2C 48000008 */ b lbl_80067F34 -.global lbl_80067F30 -lbl_80067F30: -/* 062990 80067F30 39E00000 */ li r15, 0 -.global lbl_80067F34 -lbl_80067F34: -/* 062994 80067F34 2C0F0000 */ cmpwi r15, 0 -/* 062998 80067F38 4082000C */ bne lbl_80067F44 -/* 06299C 80067F3C 38600000 */ li r3, 0 -/* 0629A0 80067F40 480002E4 */ b lbl_80068224 -lbl_80067F44: -/* 0629A4 80067F44 8001008C */ lwz r0, 0x8c(r1) -/* 0629A8 80067F48 2C000000 */ cmpwi r0, 0 -/* 0629AC 80067F4C 40820078 */ bne lbl_80067FC4 -/* 0629B0 80067F50 801B0004 */ lwz r0, 4(r27) -/* 0629B4 80067F54 28000000 */ cmplwi r0, 0 -/* 0629B8 80067F58 4082006C */ bne lbl_80067FC4 -/* 0629BC 80067F5C 2C14FFFF */ cmpwi r20, -1 -/* 0629C0 80067F60 41820028 */ beq lbl_80067F88 -/* 0629C4 80067F64 281F0000 */ cmplwi r31, 0 -/* 0629C8 80067F68 40820020 */ bne lbl_80067F88 -/* 0629CC 80067F6C 807B0008 */ lwz r3, 8(r27) -/* 0629D0 80067F70 809B000C */ lwz r4, 0xc(r27) -/* 0629D4 80067F74 38030001 */ addi r0, r3, 1 -/* 0629D8 80067F78 54631838 */ slwi r3, r3, 3 -/* 0629DC 80067F7C 901B0008 */ stw r0, 8(r27) -/* 0629E0 80067F80 7C641A14 */ add r3, r4, r3 -/* 0629E4 80067F84 92830004 */ stw r20, 4(r3) -lbl_80067F88: -/* 0629E8 80067F88 38A00000 */ li r5, 0 -/* 0629EC 80067F8C 38650000 */ addi r3, r5, 0 -/* 0629F0 80067F90 48000028 */ b lbl_80067FB8 -lbl_80067F94: -/* 0629F4 80067F94 801B000C */ lwz r0, 0xc(r27) -/* 0629F8 80067F98 7C801A14 */ add r4, r0, r3 -/* 0629FC 80067F9C 80040004 */ lwz r0, 4(r4) -/* 062A00 80067FA0 7C1D0000 */ cmpw r29, r0 -/* 062A04 80067FA4 4082000C */ bne lbl_80067FB0 -/* 062A08 80067FA8 80100000 */ lwz r0, 0(r16) -/* 062A0C 80067FAC 90040000 */ stw r0, 0(r4) -lbl_80067FB0: -/* 062A10 80067FB0 38630008 */ addi r3, r3, 8 -/* 062A14 80067FB4 38A50001 */ addi r5, r5, 1 -lbl_80067FB8: -/* 062A18 80067FB8 801B0008 */ lwz r0, 8(r27) -/* 062A1C 80067FBC 7C050000 */ cmpw r5, r0 -/* 062A20 80067FC0 4180FFD4 */ blt lbl_80067F94 -lbl_80067FC4: -/* 062A24 80067FC4 80610084 */ lwz r3, 0x84(r1) -/* 062A28 80067FC8 80100000 */ lwz r0, 0(r16) -/* 062A2C 80067FCC 7C030000 */ cmpw r3, r0 -/* 062A30 80067FD0 40820168 */ bne lbl_80068138 -/* 062A34 80067FD4 281F0000 */ cmplwi r31, 0 -/* 062A38 80067FD8 418200A8 */ beq lbl_80068080 -/* 062A3C 80067FDC 2C110000 */ cmpwi r17, 0 -/* 062A40 80067FE0 41820038 */ beq lbl_80068018 -/* 062A44 80067FE4 38030001 */ addi r0, r3, 1 -/* 062A48 80067FE8 90010084 */ stw r0, 0x84(r1) -/* 062A4C 80067FEC 381E002C */ addi r0, r30, 0x2c -/* 062A50 80067FF0 5463103A */ slwi r3, r3, 2 -/* 062A54 80067FF4 3C8038C0 */ lis r4, 0x38c0 -/* 062A58 80067FF8 7C9F192E */ stwx r4, r31, r3 -/* 062A5C 80067FFC 7C7E0050 */ subf r3, r30, r0 -/* 062A60 80068000 3C8390C3 */ addis r4, r3, 0x90c3 -/* 062A64 80068004 80610084 */ lwz r3, 0x84(r1) -/* 062A68 80068008 38030001 */ addi r0, r3, 1 -/* 062A6C 8006800C 90010084 */ stw r0, 0x84(r1) -/* 062A70 80068010 5460103A */ slwi r0, r3, 2 -/* 062A74 80068014 7C9F012E */ stwx r4, r31, r0 -lbl_80068018: -/* 062A78 80068018 80610084 */ lwz r3, 0x84(r1) -/* 062A7C 8006801C 57A0843E */ srwi r0, r29, 0x10 -/* 062A80 80068020 57A4043E */ clrlwi r4, r29, 0x10 -/* 062A84 80068024 38A30001 */ addi r5, r3, 1 -/* 062A88 80068028 90A10084 */ stw r5, 0x84(r1) -/* 062A8C 8006802C 64003CA0 */ oris r0, r0, 0x3ca0 -/* 062A90 80068030 5463103A */ slwi r3, r3, 2 -/* 062A94 80068034 7C1F192E */ stwx r0, r31, r3 -/* 062A98 80068038 648060A5 */ oris r0, r4, 0x60a5 -/* 062A9C 8006803C 80610084 */ lwz r3, 0x84(r1) -/* 062AA0 80068040 38830001 */ addi r4, r3, 1 -/* 062AA4 80068044 90810084 */ stw r4, 0x84(r1) -/* 062AA8 80068048 5463103A */ slwi r3, r3, 2 -/* 062AAC 8006804C 7C1F192E */ stwx r0, r31, r3 -/* 062AB0 80068050 80610084 */ lwz r3, 0x84(r1) -/* 062AB4 80068054 801E0B40 */ lwz r0, 0xb40(r30) -/* 062AB8 80068058 5465103A */ slwi r5, r3, 2 -/* 062ABC 8006805C 7C9F2A14 */ add r4, r31, r5 -/* 062AC0 80068060 7C040050 */ subf r0, r4, r0 -/* 062AC4 80068064 540001BA */ rlwinm r0, r0, 0, 6, 0x1d -/* 062AC8 80068068 38630001 */ addi r3, r3, 1 -/* 062ACC 8006806C 64004800 */ oris r0, r0, 0x4800 -/* 062AD0 80068070 90610084 */ stw r3, 0x84(r1) -/* 062AD4 80068074 60000001 */ ori r0, r0, 1 -/* 062AD8 80068078 7C1F292E */ stwx r0, r31, r5 -/* 062ADC 8006807C 48000024 */ b lbl_800680A0 -lbl_80068080: -/* 062AE0 80068080 2C110000 */ cmpwi r17, 0 -/* 062AE4 80068084 4182000C */ beq lbl_80068090 -/* 062AE8 80068088 38600005 */ li r3, 5 -/* 062AEC 8006808C 48000008 */ b lbl_80068094 -lbl_80068090: -/* 062AF0 80068090 38600003 */ li r3, 3 -lbl_80068094: -/* 062AF4 80068094 80010084 */ lwz r0, 0x84(r1) -/* 062AF8 80068098 7C001A14 */ add r0, r0, r3 -/* 062AFC 8006809C 90010084 */ stw r0, 0x84(r1) -lbl_800680A0: -/* 062B00 800680A0 3C7E0001 */ addis r3, r30, 1 -/* 062B04 800680A4 8003205C */ lwz r0, 0x205c(r3) -/* 062B08 800680A8 540007FF */ clrlwi. r0, r0, 0x1f -/* 062B0C 800680AC 41820030 */ beq lbl_800680DC -/* 062B10 800680B0 281F0000 */ cmplwi r31, 0 -/* 062B14 800680B4 40820028 */ bne lbl_800680DC -/* 062B18 800680B8 801B0004 */ lwz r0, 4(r27) -/* 062B1C 800680BC 28000000 */ cmplwi r0, 0 -/* 062B20 800680C0 4082001C */ bne lbl_800680DC -/* 062B24 800680C4 80610084 */ lwz r3, 0x84(r1) -/* 062B28 800680C8 38030006 */ addi r0, r3, 6 -/* 062B2C 800680CC 90010084 */ stw r0, 0x84(r1) -/* 062B30 800680D0 807B0014 */ lwz r3, 0x14(r27) -/* 062B34 800680D4 38030004 */ addi r0, r3, 4 -/* 062B38 800680D8 90120000 */ stw r0, 0(r18) -lbl_800680DC: -/* 062B3C 800680DC 2C110000 */ cmpwi r17, 0 -/* 062B40 800680E0 41820058 */ beq lbl_80068138 -/* 062B44 800680E4 281F0000 */ cmplwi r31, 0 -/* 062B48 800680E8 41820044 */ beq lbl_8006812C -/* 062B4C 800680EC 80610084 */ lwz r3, 0x84(r1) -/* 062B50 800680F0 3C8038C1 */ lis r4, 0x38c1 -/* 062B54 800680F4 381E002C */ addi r0, r30, 0x2c -/* 062B58 800680F8 38A30001 */ addi r5, r3, 1 -/* 062B5C 800680FC 90A10084 */ stw r5, 0x84(r1) -/* 062B60 80068100 7CBE0050 */ subf r5, r30, r0 -/* 062B64 80068104 3884FFFF */ addi r4, r4, -1 -/* 062B68 80068108 5460103A */ slwi r0, r3, 2 -/* 062B6C 8006810C 7C9F012E */ stwx r4, r31, r0 -/* 062B70 80068110 3C8590C3 */ addis r4, r5, 0x90c3 -/* 062B74 80068114 80610084 */ lwz r3, 0x84(r1) -/* 062B78 80068118 38030001 */ addi r0, r3, 1 -/* 062B7C 8006811C 90010084 */ stw r0, 0x84(r1) -/* 062B80 80068120 5460103A */ slwi r0, r3, 2 -/* 062B84 80068124 7C9F012E */ stwx r4, r31, r0 -/* 062B88 80068128 48000010 */ b lbl_80068138 -lbl_8006812C: -/* 062B8C 8006812C 80610084 */ lwz r3, 0x84(r1) -/* 062B90 80068130 38030002 */ addi r0, r3, 2 -/* 062B94 80068134 90010084 */ stw r0, 0x84(r1) -lbl_80068138: -/* 062B98 80068138 2C0E0000 */ cmpwi r14, 0 -/* 062B9C 8006813C 41820038 */ beq lbl_80068174 -/* 062BA0 80068140 281F0000 */ cmplwi r31, 0 -/* 062BA4 80068144 3C7E0001 */ addis r3, r30, 1 -/* 062BA8 80068148 3800FFFF */ li r0, -1 -/* 062BAC 8006814C 90032080 */ stw r0, 0x2080(r3) -/* 062BB0 80068150 41820024 */ beq lbl_80068174 -/* 062BB4 80068154 80010090 */ lwz r0, 0x90(r1) -/* 062BB8 80068158 80810084 */ lwz r4, 0x84(r1) -/* 062BBC 8006815C 5403103A */ slwi r3, r0, 2 -/* 062BC0 80068160 80010090 */ lwz r0, 0x90(r1) -/* 062BC4 80068164 7C002050 */ subf r0, r0, r4 -/* 062BC8 80068168 5400143A */ rlwinm r0, r0, 2, 0x10, 0x1d -/* 062BCC 8006816C 64004280 */ oris r0, r0, 0x4280 -/* 062BD0 80068170 7C1F192E */ stwx r0, r31, r3 -lbl_80068174: -/* 062BD4 80068174 80010084 */ lwz r0, 0x84(r1) -/* 062BD8 80068178 281F0000 */ cmplwi r31, 0 -/* 062BDC 8006817C 90100000 */ stw r0, 0(r16) -/* 062BE0 80068180 41820074 */ beq lbl_800681F4 -/* 062BE4 80068184 2C110000 */ cmpwi r17, 0 -/* 062BE8 80068188 4182001C */ beq lbl_800681A4 -/* 062BEC 8006818C 3C7E0001 */ addis r3, r30, 1 -/* 062BF0 80068190 38000000 */ li r0, 0 -/* 062BF4 80068194 90032068 */ stw r0, 0x2068(r3) -/* 062BF8 80068198 90032074 */ stw r0, 0x2074(r3) -/* 062BFC 8006819C 90032088 */ stw r0, 0x2088(r3) -/* 062C00 800681A0 48000054 */ b lbl_800681F4 -lbl_800681A4: -/* 062C04 800681A4 3C7E0001 */ addis r3, r30, 1 -/* 062C08 800681A8 80032068 */ lwz r0, 0x2068(r3) -/* 062C0C 800681AC 28000002 */ cmplwi r0, 2 -/* 062C10 800681B0 40820018 */ bne lbl_800681C8 -/* 062C14 800681B4 38000001 */ li r0, 1 -/* 062C18 800681B8 90032068 */ stw r0, 0x2068(r3) -/* 062C1C 800681BC 38000000 */ li r0, 0 -/* 062C20 800681C0 90032074 */ stw r0, 0x2074(r3) -/* 062C24 800681C4 48000030 */ b lbl_800681F4 -lbl_800681C8: -/* 062C28 800681C8 80032074 */ lwz r0, 0x2074(r3) -/* 062C2C 800681CC 28000002 */ cmplwi r0, 2 -/* 062C30 800681D0 40820018 */ bne lbl_800681E8 -/* 062C34 800681D4 38000001 */ li r0, 1 -/* 062C38 800681D8 90032074 */ stw r0, 0x2074(r3) -/* 062C3C 800681DC 38000000 */ li r0, 0 -/* 062C40 800681E0 90032068 */ stw r0, 0x2068(r3) -/* 062C44 800681E4 48000010 */ b lbl_800681F4 -lbl_800681E8: -/* 062C48 800681E8 38000000 */ li r0, 0 -/* 062C4C 800681EC 90032068 */ stw r0, 0x2068(r3) -/* 062C50 800681F0 90032074 */ stw r0, 0x2074(r3) -lbl_800681F4: -/* 062C54 800681F4 2C110000 */ cmpwi r17, 0 -/* 062C58 800681F8 40820014 */ bne lbl_8006820C -/* 062C5C 800681FC 3C7E0001 */ addis r3, r30, 1 -/* 062C60 80068200 8003207C */ lwz r0, 0x207c(r3) -/* 062C64 80068204 28000000 */ cmplwi r0, 0 -/* 062C68 80068208 40820010 */ bne lbl_80068218 -lbl_8006820C: -/* 062C6C 8006820C 3C7E0001 */ addis r3, r30, 1 -/* 062C70 80068210 3800FFFF */ li r0, -1 -/* 062C74 80068214 90032080 */ stw r0, 0x2080(r3) -lbl_80068218: -/* 062C78 80068218 38600001 */ li r3, 1 -/* 062C7C 8006821C 48000008 */ b lbl_80068224 -lbl_80068220: -/* 062C80 80068220 38600000 */ li r3, 0 -lbl_80068224: -/* 062C84 80068224 B9C10098 */ lmw r14, 0x98(r1) -/* 062C88 80068228 800100E4 */ lwz r0, 0xe4(r1) -/* 062C8C 8006822C 382100E0 */ addi r1, r1, 0xe0 -/* 062C90 80068230 7C0803A6 */ mtlr r0 -/* 062C94 80068234 4E800020 */ blr - -.section .data - -jtbl_800ECDE0: - .word lbl_8005A1E0 - .word lbl_8005A204 - .word lbl_8005A228 - .word lbl_8005A24C - .word lbl_8005A270 - .word lbl_8005A280 - .word lbl_8005A2A4 - .word lbl_8005A2B4 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_8005A2D8 - .word lbl_8005A2E8 - .word lbl_8005A2F8 - .word lbl_8005A308 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A318 - .word lbl_8005A464 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A578 - .word lbl_80067F34 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A688 - .word lbl_8005A588 - .word lbl_8005A598 - .word lbl_8005A5A8 - .word lbl_8005A5B8 - .word lbl_8005A5C8 - .word lbl_8005A5D8 - .word lbl_8005A5E8 - .word lbl_8005A5F8 - .word lbl_8005A608 - .word lbl_8005A618 - .word lbl_8005A628 - .word lbl_8005A638 - .word lbl_8005A648 - .word lbl_8005A658 - .word lbl_8005A668 - .word lbl_8005A678 - -jtbl_800ECEE0: - .word lbl_80059DC0 - .word lbl_80059DE4 - .word lbl_80059E08 - .word lbl_80059E2C - .word lbl_80059E50 - .word lbl_80059E60 - .word lbl_80059E84 - .word lbl_80059E94 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80059EB8 - .word lbl_80059EC8 - .word lbl_80059ED8 - .word lbl_80059EE8 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_80059EF8 - .word lbl_80059FD0 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A0A4 - .word lbl_80067F34 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A1B4 - .word lbl_8005A0B4 - .word lbl_8005A0C4 - .word lbl_8005A0D4 - .word lbl_8005A0E4 - .word lbl_8005A0F4 - .word lbl_8005A104 - .word lbl_8005A114 - .word lbl_8005A124 - .word lbl_8005A134 - .word lbl_8005A144 - .word lbl_8005A154 - .word lbl_8005A164 - .word lbl_8005A174 - .word lbl_8005A184 - .word lbl_8005A194 - .word lbl_8005A1A4 - -jtbl_800ECFE0: - .word lbl_80054BD4 - .word lbl_80054EF0 - .word lbl_80055204 - .word lbl_80055520 - .word lbl_80055834 - .word lbl_800559F0 - .word lbl_80055BC8 - .word lbl_80055C54 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80055E2C - .word lbl_80055FEC - .word lbl_800561AC - .word lbl_8005637C - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_8005654C - .word lbl_800565DC - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_800565EC - .word lbl_80067F34 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_80059D94 - .word lbl_800567AC - .word lbl_80056854 - .word lbl_800568FC - .word lbl_80056CE4 - .word lbl_800570CC - .word lbl_800574B8 - .word lbl_800578A4 - .word lbl_80057CC4 - .word lbl_800580E4 - .word lbl_8005818C - .word lbl_800585AC - .word lbl_80058994 - .word lbl_80058D7C - .word lbl_80059168 - .word lbl_80059554 - .word lbl_80059974 - -jtbl_800ED0E0: - .word lbl_8004F91C - .word lbl_8004FC44 - .word lbl_8004FF64 - .word lbl_8005028C - .word lbl_800505AC - .word lbl_80050770 - .word lbl_80050950 - .word lbl_800509E4 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80050BC4 - .word lbl_80050D88 - .word lbl_80050F4C - .word lbl_80051120 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_800512F4 - .word lbl_80051304 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80051394 - .word lbl_80067F34 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80054BA8 - .word lbl_80051558 - .word lbl_80051600 - .word lbl_800516A8 - .word lbl_80051A98 - .word lbl_80051E88 - .word lbl_8005227C - .word lbl_80052670 - .word lbl_80052A98 - .word lbl_80052EC0 - .word lbl_80052F68 - .word lbl_80053390 - .word lbl_80053780 - .word lbl_80053B70 - .word lbl_80053F64 - .word lbl_80054358 - .word lbl_80054780 - -jtbl_800ED1E0: - .word lbl_8004E8E8 - .word lbl_8004EA44 - .word lbl_8004EBC0 - .word lbl_8004F0A8 - .word lbl_8004ECB0 - .word lbl_8004EE70 - .word lbl_8004EFE4 - -jtbl_800ED1FC: - .word lbl_8004E810 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_80067F34 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_80067F34 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_8004E810 - .word lbl_80067F34 - -jtbl_800ED260: - .word lbl_800496CC - .word lbl_80049998 - .word lbl_80049C64 - .word lbl_80049F5C - .word lbl_8004B55C - .word lbl_8004B55C - .word lbl_8004B55C - .word lbl_8004B55C - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_8004B55C - .word lbl_80067F34 - .word lbl_8004B55C - .word lbl_8004A254 - .word lbl_8004A700 - .word lbl_8004ABAC - .word lbl_8004B084 - -jtbl_800ED2B0: - .word lbl_8003F290 - .word lbl_800496A0 - .word lbl_8003F524 - .word lbl_8003F780 - .word lbl_8003F9D0 - .word lbl_800496A0 - .word lbl_8003FDBC - .word lbl_800401A8 - .word lbl_80040594 - .word lbl_800407BC - .word lbl_800496A0 - .word lbl_800496A0 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_800496A0 - .word lbl_80067F34 - .word lbl_80040D64 - .word lbl_80040F68 - .word lbl_80041154 - .word lbl_80041358 - .word lbl_80041544 - .word lbl_800496A0 - .word lbl_8004180C - .word lbl_80041AD4 - .word lbl_80041D9C - .word lbl_80041F68 - .word lbl_80042134 - .word lbl_80042330 - .word lbl_8004252C - .word lbl_80042B04 - .word lbl_80042F8C - .word lbl_80043564 - .word lbl_800439EC - .word lbl_80044464 - .word lbl_80044EDC - .word lbl_800452C8 - .word lbl_800456B4 - .word lbl_80045AA0 - .word lbl_80046518 - .word lbl_80046904 - .word lbl_800496A0 - .word lbl_800496A0 - .word lbl_80046CF0 - .word lbl_80047164 - .word lbl_800475DC - .word lbl_800479F4 - .word lbl_80047E0C - .word lbl_80048224 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_800496A0 - .word lbl_80067F34 - .word lbl_800496A0 - .word lbl_8004863C - .word lbl_800496A0 - .word lbl_800488E0 - .word lbl_80048B8C - .word lbl_80048E2C - .word lbl_800496A0 - .word lbl_800490FC - .word lbl_800493D4 - -jtbl_800ED3B0: - .word lbl_8003F268 - .word lbl_800496A8 - .word lbl_8004B564 - .word lbl_8004B80C - .word lbl_8004BD30 - .word lbl_8004C2FC - .word lbl_8004C730 - .word lbl_8004C9FC - .word lbl_8004CCC8 - .word lbl_8004D2D4 - .word lbl_8004D900 - .word lbl_8004DC14 - .word lbl_8004DF58 - .word lbl_8004E1A0 - .word lbl_8004E430 - .word lbl_8004E69C - .word lbl_8004E7EC - .word lbl_8004E8B0 - .word lbl_8005A690 - .word lbl_8005A698 - .word lbl_8005A6A0 - .word lbl_8005ABFC - .word lbl_8005B05C - .word lbl_8005B354 - .word lbl_8005B64C - .word lbl_8005BAE8 - .word lbl_8005BFBC - .word lbl_8005BFDC - .word lbl_80067F30 - .word lbl_80067F30 - .word lbl_80067F30 - .word lbl_8005BF84 - .word lbl_8005C01C - .word lbl_8005CC14 - .word lbl_8005D80C - .word lbl_8005DBF4 - .word lbl_8005E9B0 - .word lbl_8005F568 - .word lbl_80060120 - .word lbl_8005BFFC - .word lbl_80060508 - .word lbl_80061264 - .word lbl_80061FC0 - .word lbl_800622F4 - .word lbl_80067F34 - .word lbl_80067F34 - .word lbl_8006342C - .word lbl_8006375C - .word lbl_80063790 - .word lbl_800637B0 - .word lbl_80067F30 - .word lbl_80067F30 - .word lbl_80064660 - .word lbl_80064680 - .word lbl_80067F30 - .word lbl_80065444 - .word lbl_80067F34 - .word lbl_80065A94 - .word lbl_80067F30 - .word lbl_80067F30 - .word lbl_800669E0 - .word lbl_80066A00 - .word lbl_80067F30 - .word lbl_800678FC diff --git a/asm/non_matchings/cpu/cpuGetRegisterCP0.s b/asm/non_matchings/cpu/cpuGetRegisterCP0.s deleted file mode 100644 index 7e8b5927..00000000 --- a/asm/non_matchings/cpu/cpuGetRegisterCP0.s +++ /dev/null @@ -1,244 +0,0 @@ -glabel cpuGetRegisterCP0 -/* 02FD28 800352C8 9421FFE0 */ stwu r1, -0x20(r1) -/* 02FD2C 800352CC 2804001F */ cmplwi r4, 0x1f -/* 02FD30 800352D0 38000000 */ li r0, 0 -/* 02FD34 800352D4 93E1001C */ stw r31, 0x1c(r1) -/* 02FD38 800352D8 93C10018 */ stw r30, 0x18(r1) -/* 02FD3C 800352DC 41810240 */ bgt lbl_8003551C -/* 02FD40 800352E0 3CC0800F */ lis r6, jtbl_800ED574@ha -/* 02FD44 800352E4 38E6D574 */ addi r7, r6, jtbl_800ED574@l -/* 02FD48 800352E8 5486103A */ slwi r6, r4, 2 -/* 02FD4C 800352EC 7CC7302E */ lwzx r6, r7, r6 -/* 02FD50 800352F0 7CC903A6 */ mtctr r6 -/* 02FD54 800352F4 4E800420 */ bctr -.global lbl_800352F8 -lbl_800352F8: -/* 02FD58 800352F8 38C00006 */ li r6, 6 -/* 02FD5C 800352FC 39800000 */ li r12, 0 -/* 02FD60 80035300 7CC903A6 */ mtctr r6 -/* 02FD64 80035304 3BEC0000 */ addi r31, r12, 0 -/* 02FD68 80035308 3BC30000 */ addi r30, r3, 0 -/* 02FD6C 8003530C 394C0000 */ addi r10, r12, 0 -/* 02FD70 80035310 392C0000 */ addi r9, r12, 0 -/* 02FD74 80035314 390C0000 */ addi r8, r12, 0 -/* 02FD78 80035318 39600002 */ li r11, 2 -lbl_8003531C: -/* 02FD7C 8003531C 80DE0250 */ lwz r6, 0x250(r30) -/* 02FD80 80035320 80FE0254 */ lwz r7, 0x254(r30) -/* 02FD84 80035324 7CC65038 */ and r6, r6, r10 -/* 02FD88 80035328 7CE75838 */ and r7, r7, r11 -/* 02FD8C 8003532C 7CE74A78 */ xor r7, r7, r9 -/* 02FD90 80035330 7CC64278 */ xor r6, r6, r8 -/* 02FD94 80035334 7CE63379 */ or. r6, r7, r6 -/* 02FD98 80035338 40820008 */ bne lbl_80035340 -/* 02FD9C 8003533C 398C0001 */ addi r12, r12, 1 -lbl_80035340: -/* 02FDA0 80035340 80DE0278 */ lwz r6, 0x278(r30) -/* 02FDA4 80035344 80FE027C */ lwz r7, 0x27c(r30) -/* 02FDA8 80035348 3BDE0028 */ addi r30, r30, 0x28 -/* 02FDAC 8003534C 7CC65038 */ and r6, r6, r10 -/* 02FDB0 80035350 7CE75838 */ and r7, r7, r11 -/* 02FDB4 80035354 7CE74A78 */ xor r7, r7, r9 -/* 02FDB8 80035358 7CC64278 */ xor r6, r6, r8 -/* 02FDBC 8003535C 7CE63379 */ or. r6, r7, r6 -/* 02FDC0 80035360 40820008 */ bne lbl_80035368 -/* 02FDC4 80035364 398C0001 */ addi r12, r12, 1 -lbl_80035368: -/* 02FDC8 80035368 80DE0278 */ lwz r6, 0x278(r30) -/* 02FDCC 8003536C 3BFF0001 */ addi r31, r31, 1 -/* 02FDD0 80035370 80FE027C */ lwz r7, 0x27c(r30) -/* 02FDD4 80035374 3BDE0028 */ addi r30, r30, 0x28 -/* 02FDD8 80035378 7CC65038 */ and r6, r6, r10 -/* 02FDDC 8003537C 7CE75838 */ and r7, r7, r11 -/* 02FDE0 80035380 7CE74A78 */ xor r7, r7, r9 -/* 02FDE4 80035384 7CC64278 */ xor r6, r6, r8 -/* 02FDE8 80035388 7CE63379 */ or. r6, r7, r6 -/* 02FDEC 8003538C 40820008 */ bne lbl_80035394 -/* 02FDF0 80035390 398C0001 */ addi r12, r12, 1 -lbl_80035394: -/* 02FDF4 80035394 80DE0278 */ lwz r6, 0x278(r30) -/* 02FDF8 80035398 3BFF0001 */ addi r31, r31, 1 -/* 02FDFC 8003539C 80FE027C */ lwz r7, 0x27c(r30) -/* 02FE00 800353A0 3BDE0028 */ addi r30, r30, 0x28 -/* 02FE04 800353A4 7CC65038 */ and r6, r6, r10 -/* 02FE08 800353A8 7CE75838 */ and r7, r7, r11 -/* 02FE0C 800353AC 7CE74A78 */ xor r7, r7, r9 -/* 02FE10 800353B0 7CC64278 */ xor r6, r6, r8 -/* 02FE14 800353B4 7CE63379 */ or. r6, r7, r6 -/* 02FE18 800353B8 40820008 */ bne lbl_800353C0 -/* 02FE1C 800353BC 398C0001 */ addi r12, r12, 1 -lbl_800353C0: -/* 02FE20 800353C0 80DE0278 */ lwz r6, 0x278(r30) -/* 02FE24 800353C4 3BFF0001 */ addi r31, r31, 1 -/* 02FE28 800353C8 80FE027C */ lwz r7, 0x27c(r30) -/* 02FE2C 800353CC 3BDE0028 */ addi r30, r30, 0x28 -/* 02FE30 800353D0 7CC65038 */ and r6, r6, r10 -/* 02FE34 800353D4 7CE75838 */ and r7, r7, r11 -/* 02FE38 800353D8 7CE74A78 */ xor r7, r7, r9 -/* 02FE3C 800353DC 7CC64278 */ xor r6, r6, r8 -/* 02FE40 800353E0 7CE63379 */ or. r6, r7, r6 -/* 02FE44 800353E4 40820008 */ bne lbl_800353EC -/* 02FE48 800353E8 398C0001 */ addi r12, r12, 1 -lbl_800353EC: -/* 02FE4C 800353EC 80DE0278 */ lwz r6, 0x278(r30) -/* 02FE50 800353F0 3BFF0001 */ addi r31, r31, 1 -/* 02FE54 800353F4 80FE027C */ lwz r7, 0x27c(r30) -/* 02FE58 800353F8 3BDE0028 */ addi r30, r30, 0x28 -/* 02FE5C 800353FC 7CC65038 */ and r6, r6, r10 -/* 02FE60 80035400 7CE75838 */ and r7, r7, r11 -/* 02FE64 80035404 7CE74A78 */ xor r7, r7, r9 -/* 02FE68 80035408 7CC64278 */ xor r6, r6, r8 -/* 02FE6C 8003540C 7CE63379 */ or. r6, r7, r6 -/* 02FE70 80035410 40820008 */ bne lbl_80035418 -/* 02FE74 80035414 398C0001 */ addi r12, r12, 1 -lbl_80035418: -/* 02FE78 80035418 80DE0278 */ lwz r6, 0x278(r30) -/* 02FE7C 8003541C 3BFF0001 */ addi r31, r31, 1 -/* 02FE80 80035420 80FE027C */ lwz r7, 0x27c(r30) -/* 02FE84 80035424 3BDE0028 */ addi r30, r30, 0x28 -/* 02FE88 80035428 7CC65038 */ and r6, r6, r10 -/* 02FE8C 8003542C 7CE75838 */ and r7, r7, r11 -/* 02FE90 80035430 7CE74A78 */ xor r7, r7, r9 -/* 02FE94 80035434 7CC64278 */ xor r6, r6, r8 -/* 02FE98 80035438 7CE63379 */ or. r6, r7, r6 -/* 02FE9C 8003543C 40820008 */ bne lbl_80035444 -/* 02FEA0 80035440 398C0001 */ addi r12, r12, 1 -lbl_80035444: -/* 02FEA4 80035444 80DE0278 */ lwz r6, 0x278(r30) -/* 02FEA8 80035448 3BFF0001 */ addi r31, r31, 1 -/* 02FEAC 8003544C 80FE027C */ lwz r7, 0x27c(r30) -/* 02FEB0 80035450 3BDE0028 */ addi r30, r30, 0x28 -/* 02FEB4 80035454 7CC65038 */ and r6, r6, r10 -/* 02FEB8 80035458 7CE75838 */ and r7, r7, r11 -/* 02FEBC 8003545C 7CE74A78 */ xor r7, r7, r9 -/* 02FEC0 80035460 7CC64278 */ xor r6, r6, r8 -/* 02FEC4 80035464 7CE63379 */ or. r6, r7, r6 -/* 02FEC8 80035468 40820008 */ bne lbl_80035470 -/* 02FECC 8003546C 398C0001 */ addi r12, r12, 1 -lbl_80035470: -/* 02FED0 80035470 3BDE0028 */ addi r30, r30, 0x28 -/* 02FED4 80035474 3BFF0001 */ addi r31, r31, 1 -/* 02FED8 80035478 4200FEA4 */ bdnz lbl_8003531C -/* 02FEDC 8003547C 91850004 */ stw r12, 4(r5) -/* 02FEE0 80035480 7D86FE70 */ srawi r6, r12, 0x1f -/* 02FEE4 80035484 90C50000 */ stw r6, 0(r5) -/* 02FEE8 80035488 48000098 */ b lbl_80035520 -.global lbl_8003548C -lbl_8003548C: -/* 02FEEC 8003548C 38000001 */ li r0, 1 -/* 02FEF0 80035490 48000090 */ b lbl_80035520 -.global lbl_80035494 -lbl_80035494: -/* 02FEF4 80035494 38000001 */ li r0, 1 -/* 02FEF8 80035498 48000088 */ b lbl_80035520 -.global lbl_8003549C -lbl_8003549C: -/* 02FEFC 8003549C 38000001 */ li r0, 1 -/* 02FF00 800354A0 48000080 */ b lbl_80035520 -.global lbl_800354A4 -lbl_800354A4: -/* 02FF04 800354A4 38C00000 */ li r6, 0 -/* 02FF08 800354A8 90C50004 */ stw r6, 4(r5) -/* 02FF0C 800354AC 90C50000 */ stw r6, 0(r5) -/* 02FF10 800354B0 48000070 */ b lbl_80035520 -.global lbl_800354B4 -lbl_800354B4: -/* 02FF14 800354B4 38000001 */ li r0, 1 -/* 02FF18 800354B8 48000068 */ b lbl_80035520 -.global lbl_800354BC -lbl_800354BC: -/* 02FF1C 800354BC 38C00000 */ li r6, 0 -/* 02FF20 800354C0 90C50004 */ stw r6, 4(r5) -/* 02FF24 800354C4 90C50000 */ stw r6, 0(r5) -/* 02FF28 800354C8 48000058 */ b lbl_80035520 -.global lbl_800354CC -lbl_800354CC: -/* 02FF2C 800354CC 38C00000 */ li r6, 0 -/* 02FF30 800354D0 90C50004 */ stw r6, 4(r5) -/* 02FF34 800354D4 90C50000 */ stw r6, 0(r5) -/* 02FF38 800354D8 48000048 */ b lbl_80035520 -.global lbl_800354DC -lbl_800354DC: -/* 02FF3C 800354DC 38C00000 */ li r6, 0 -/* 02FF40 800354E0 90C50004 */ stw r6, 4(r5) -/* 02FF44 800354E4 90C50000 */ stw r6, 0(r5) -/* 02FF48 800354E8 48000038 */ b lbl_80035520 -.global lbl_800354EC -lbl_800354EC: -/* 02FF4C 800354EC 38C00000 */ li r6, 0 -/* 02FF50 800354F0 90C50004 */ stw r6, 4(r5) -/* 02FF54 800354F4 90C50000 */ stw r6, 0(r5) -/* 02FF58 800354F8 48000028 */ b lbl_80035520 -.global lbl_800354FC -lbl_800354FC: -/* 02FF5C 800354FC 38C00000 */ li r6, 0 -/* 02FF60 80035500 90C50004 */ stw r6, 4(r5) -/* 02FF64 80035504 90C50000 */ stw r6, 0(r5) -/* 02FF68 80035508 48000018 */ b lbl_80035520 -.global lbl_8003550C -lbl_8003550C: -/* 02FF6C 8003550C 38C00000 */ li r6, 0 -/* 02FF70 80035510 90C50004 */ stw r6, 4(r5) -/* 02FF74 80035514 90C50000 */ stw r6, 0(r5) -/* 02FF78 80035518 48000008 */ b lbl_80035520 -.global lbl_8003551C -lbl_8003551C: -/* 02FF7C 8003551C 38000001 */ li r0, 1 -lbl_80035520: -/* 02FF80 80035520 2C000000 */ cmpwi r0, 0 -/* 02FF84 80035524 41820038 */ beq lbl_8003555C -/* 02FF88 80035528 3CC0800F */ lis r6, ganMaskGetCP0@ha -/* 02FF8C 8003552C 54871838 */ slwi r7, r4, 3 -/* 02FF90 80035530 7C833A14 */ add r4, r3, r7 -/* 02FF94 80035534 3806BB88 */ addi r0, r6, ganMaskGetCP0@l -/* 02FF98 80035538 80C40A44 */ lwz r6, 0xa44(r4) -/* 02FF9C 8003553C 7C603A14 */ add r3, r0, r7 -/* 02FFA0 80035540 80840A40 */ lwz r4, 0xa40(r4) -/* 02FFA4 80035544 80030004 */ lwz r0, 4(r3) -/* 02FFA8 80035548 80630000 */ lwz r3, 0(r3) -/* 02FFAC 8003554C 7CC00038 */ and r0, r6, r0 -/* 02FFB0 80035550 90050004 */ stw r0, 4(r5) -/* 02FFB4 80035554 7C801838 */ and r0, r4, r3 -/* 02FFB8 80035558 90050000 */ stw r0, 0(r5) -lbl_8003555C: -/* 02FFBC 8003555C 83E1001C */ lwz r31, 0x1c(r1) -/* 02FFC0 80035560 38600001 */ li r3, 1 -/* 02FFC4 80035564 83C10018 */ lwz r30, 0x18(r1) -/* 02FFC8 80035568 38210020 */ addi r1, r1, 0x20 -/* 02FFCC 8003556C 4E800020 */ blr - -.section .data - -jtbl_800ED574: - .word lbl_8003551C - .word lbl_800352F8 - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003551C - .word lbl_800354A4 - .word lbl_800354B4 - .word lbl_8003548C - .word lbl_8003551C - .word lbl_80035494 - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003549C - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003551C - .word lbl_800354BC - .word lbl_800354CC - .word lbl_800354DC - .word lbl_800354EC - .word lbl_800354FC - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003551C - .word lbl_8003550C diff --git a/asm/non_matchings/cpu/cpuHackHandler.s b/asm/non_matchings/cpu/cpuHackHandler.s deleted file mode 100644 index 95481fcd..00000000 --- a/asm/non_matchings/cpu/cpuHackHandler.s +++ /dev/null @@ -1,150 +0,0 @@ -glabel cpuHackHandler -/* 0310B8 80036658 7C0802A6 */ mflr r0 -/* 0310BC 8003665C 3CC0800F */ lis r6, gClassCPU@ha -/* 0310C0 80036660 90010004 */ stw r0, 4(r1) -/* 0310C4 80036664 9421FFD0 */ stwu r1, -0x30(r1) -/* 0310C8 80036668 BF61001C */ stmw r27, 0x1c(r1) -/* 0310CC 8003666C 7C7B1B78 */ mr r27, r3 -/* 0310D0 80036670 3BE6B658 */ addi r31, r6, gClassCPU@l -/* 0310D4 80036674 3B800000 */ li r28, 0 -/* 0310D8 80036678 3BA00000 */ li r29, 0 -/* 0310DC 8003667C 3BC00000 */ li r30, 0 -/* 0310E0 80036680 80A30008 */ lwz r5, 8(r3) -/* 0310E4 80036684 3C60800F */ lis r3, gClassRAM@ha -/* 0310E8 80036688 3883D6C8 */ addi r4, r3, gClassRAM@l -/* 0310EC 8003668C 8065002C */ lwz r3, 0x2c(r5) -/* 0310F0 80036690 4BFD1695 */ bl xlObjectTest -/* 0310F4 80036694 2C030000 */ cmpwi r3, 0 -/* 0310F8 80036698 41820180 */ beq lbl_80036818 -/* 0310FC 8003669C 807B0008 */ lwz r3, 8(r27) -/* 031100 800366A0 3881000C */ addi r4, r1, 0xc -/* 031104 800366A4 38A00000 */ li r5, 0 -/* 031108 800366A8 8063002C */ lwz r3, 0x2c(r3) -/* 03110C 800366AC 38C00000 */ li r6, 0 -/* 031110 800366B0 480369F1 */ bl ramGetBuffer -/* 031114 800366B4 2C030000 */ cmpwi r3, 0 -/* 031118 800366B8 41820160 */ beq lbl_80036818 -/* 03111C 800366BC 807B0008 */ lwz r3, 8(r27) -/* 031120 800366C0 38810010 */ addi r4, r1, 0x10 -/* 031124 800366C4 8063002C */ lwz r3, 0x2c(r3) -/* 031128 800366C8 48036909 */ bl ramGetSize -/* 03112C 800366CC 2C030000 */ cmpwi r3, 0 -/* 031130 800366D0 4082000C */ bne lbl_800366DC -/* 031134 800366D4 38600000 */ li r3, 0 -/* 031138 800366D8 48000184 */ b lbl_8003685C -lbl_800366DC: -/* 03113C 800366DC 38600000 */ li r3, 0 -/* 031140 800366E0 38C00000 */ li r6, 0 -/* 031144 800366E4 4800010C */ b lbl_800367F0 -lbl_800366E8: -/* 031148 800366E8 2C1EFFFF */ cmpwi r30, -1 -/* 03114C 800366EC 41820044 */ beq lbl_80036730 -/* 031150 800366F0 80A1000C */ lwz r5, 0xc(r1) -/* 031154 800366F4 57C0103A */ slwi r0, r30, 2 -/* 031158 800366F8 7C9F0214 */ add r4, r31, r0 -/* 03115C 800366FC 7CA53214 */ add r5, r5, r6 -/* 031160 80036700 800407D0 */ lwz r0, 0x7d0(r4) -/* 031164 80036704 80850000 */ lwz r4, 0(r5) -/* 031168 80036708 7C040040 */ cmplw r4, r0 -/* 03116C 8003670C 40820020 */ bne lbl_8003672C -/* 031170 80036710 3BDE0001 */ addi r30, r30, 1 -/* 031174 80036714 281E0005 */ cmplwi r30, 5 -/* 031178 80036718 40820018 */ bne lbl_80036730 -/* 03117C 8003671C 38000000 */ li r0, 0 -/* 031180 80036720 9005FFF4 */ stw r0, -0xc(r5) -/* 031184 80036724 3BC0FFFF */ li r30, -1 -/* 031188 80036728 48000008 */ b lbl_80036730 -lbl_8003672C: -/* 03118C 8003672C 3BC00000 */ li r30, 0 -lbl_80036730: -/* 031190 80036730 2C1DFFFF */ cmpwi r29, -1 -/* 031194 80036734 4182006C */ beq lbl_800367A0 -/* 031198 80036738 8001000C */ lwz r0, 0xc(r1) -/* 03119C 8003673C 57A4103A */ slwi r4, r29, 2 -/* 0311A0 80036740 7C9F2214 */ add r4, r31, r4 -/* 0311A4 80036744 7CA03214 */ add r5, r0, r6 -/* 0311A8 80036748 800407E4 */ lwz r0, 0x7e4(r4) -/* 0311AC 8003674C 80E50000 */ lwz r7, 0(r5) -/* 0311B0 80036750 7C070040 */ cmplw r7, r0 -/* 0311B4 80036754 40820020 */ bne lbl_80036774 -/* 0311B8 80036758 3BBD0001 */ addi r29, r29, 1 -/* 0311BC 8003675C 281D0005 */ cmplwi r29, 5 -/* 0311C0 80036760 40820040 */ bne lbl_800367A0 -/* 0311C4 80036764 38000000 */ li r0, 0 -/* 0311C8 80036768 9005FFF4 */ stw r0, -0xc(r5) -/* 0311CC 8003676C 3BA0FFFF */ li r29, -1 -/* 0311D0 80036770 48000030 */ b lbl_800367A0 -lbl_80036774: -/* 0311D4 80036774 800407F8 */ lwz r0, 0x7f8(r4) -/* 0311D8 80036778 7C070040 */ cmplw r7, r0 -/* 0311DC 8003677C 40820020 */ bne lbl_8003679C -/* 0311E0 80036780 3BBD0001 */ addi r29, r29, 1 -/* 0311E4 80036784 281D0003 */ cmplwi r29, 3 -/* 0311E8 80036788 40820018 */ bne lbl_800367A0 -/* 0311EC 8003678C 38000000 */ li r0, 0 -/* 0311F0 80036790 9005FFF8 */ stw r0, -8(r5) -/* 0311F4 80036794 3BA0FFFF */ li r29, -1 -/* 0311F8 80036798 48000008 */ b lbl_800367A0 -lbl_8003679C: -/* 0311FC 8003679C 3BA00000 */ li r29, 0 -lbl_800367A0: -/* 031200 800367A0 2C1CFFFF */ cmpwi r28, -1 -/* 031204 800367A4 41820044 */ beq lbl_800367E8 -/* 031208 800367A8 80A1000C */ lwz r5, 0xc(r1) -/* 03120C 800367AC 5780103A */ slwi r0, r28, 2 -/* 031210 800367B0 7C9F0214 */ add r4, r31, r0 -/* 031214 800367B4 7CA53214 */ add r5, r5, r6 -/* 031218 800367B8 80040804 */ lwz r0, 0x804(r4) -/* 03121C 800367BC 80850000 */ lwz r4, 0(r5) -/* 031220 800367C0 7C040040 */ cmplw r4, r0 -/* 031224 800367C4 40820020 */ bne lbl_800367E4 -/* 031228 800367C8 3B9C0001 */ addi r28, r28, 1 -/* 03122C 800367CC 281C0005 */ cmplwi r28, 5 -/* 031230 800367D0 40820018 */ bne lbl_800367E8 -/* 031234 800367D4 38000000 */ li r0, 0 -/* 031238 800367D8 9005FFF4 */ stw r0, -0xc(r5) -/* 03123C 800367DC 3B80FFFF */ li r28, -1 -/* 031240 800367E0 48000008 */ b lbl_800367E8 -lbl_800367E4: -/* 031244 800367E4 3B800000 */ li r28, 0 -lbl_800367E8: -/* 031248 800367E8 38C60004 */ addi r6, r6, 4 -/* 03124C 800367EC 38630001 */ addi r3, r3, 1 -lbl_800367F0: -/* 031250 800367F0 80010010 */ lwz r0, 0x10(r1) -/* 031254 800367F4 5400F0BE */ srwi r0, r0, 2 -/* 031258 800367F8 7C030040 */ cmplw r3, r0 -/* 03125C 800367FC 4080001C */ bge lbl_80036818 -/* 031260 80036800 2C1EFFFF */ cmpwi r30, -1 -/* 031264 80036804 4082FEE4 */ bne lbl_800366E8 -/* 031268 80036808 2C1DFFFF */ cmpwi r29, -1 -/* 03126C 8003680C 4082FEDC */ bne lbl_800366E8 -/* 031270 80036810 2C1CFFFF */ cmpwi r28, -1 -/* 031274 80036814 4082FED4 */ bne lbl_800366E8 -lbl_80036818: -/* 031278 80036818 2C1EFFFF */ cmpwi r30, -1 -/* 03127C 8003681C 38000000 */ li r0, 0 -/* 031280 80036820 7C030378 */ mr r3, r0 -/* 031284 80036824 40820010 */ bne lbl_80036834 -/* 031288 80036828 2C1DFFFF */ cmpwi r29, -1 -/* 03128C 8003682C 40820008 */ bne lbl_80036834 -/* 031290 80036830 38600001 */ li r3, 1 -lbl_80036834: -/* 031294 80036834 2C030000 */ cmpwi r3, 0 -/* 031298 80036838 41820010 */ beq lbl_80036848 -/* 03129C 8003683C 2C1CFFFF */ cmpwi r28, -1 -/* 0312A0 80036840 40820008 */ bne lbl_80036848 -/* 0312A4 80036844 38000001 */ li r0, 1 -lbl_80036848: -/* 0312A8 80036848 2C000000 */ cmpwi r0, 0 -/* 0312AC 8003684C 4182000C */ beq lbl_80036858 -/* 0312B0 80036850 38600001 */ li r3, 1 -/* 0312B4 80036854 48000008 */ b lbl_8003685C -lbl_80036858: -/* 0312B8 80036858 38600000 */ li r3, 0 -lbl_8003685C: -/* 0312BC 8003685C BB61001C */ lmw r27, 0x1c(r1) -/* 0312C0 80036860 80010034 */ lwz r0, 0x34(r1) -/* 0312C4 80036864 38210030 */ addi r1, r1, 0x30 -/* 0312C8 80036868 7C0803A6 */ mtlr r0 -/* 0312CC 8003686C 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuMakeDevice.s b/asm/non_matchings/cpu/cpuMakeDevice.s deleted file mode 100644 index 0c2ce22f..00000000 --- a/asm/non_matchings/cpu/cpuMakeDevice.s +++ /dev/null @@ -1,77 +0,0 @@ -glabel cpuMakeDevice -/* 03099C 80035F3C 7C0802A6 */ mflr r0 -/* 0309A0 80035F40 90010004 */ stw r0, 4(r1) -/* 0309A4 80035F44 552005EF */ rlwinm. r0, r9, 0, 0x17, 0x17 -/* 0309A8 80035F48 9421FFB0 */ stwu r1, -0x50(r1) -/* 0309AC 80035F4C BF210034 */ stmw r25, 0x34(r1) -/* 0309B0 80035F50 3BC90000 */ addi r30, r9, 0 -/* 0309B4 80035F54 3B230000 */ addi r25, r3, 0 -/* 0309B8 80035F58 3B450000 */ addi r26, r5, 0 -/* 0309BC 80035F5C 3B660000 */ addi r27, r6, 0 -/* 0309C0 80035F60 3B870000 */ addi r28, r7, 0 -/* 0309C4 80035F64 3BA80000 */ addi r29, r8, 0 -/* 0309C8 80035F68 4182000C */ beq lbl_80035F74 -/* 0309CC 80035F6C 38600080 */ li r3, 0x80 -/* 0309D0 80035F70 48000008 */ b lbl_80035F78 -lbl_80035F74: -/* 0309D4 80035F74 38600000 */ li r3, 0 -lbl_80035F78: -/* 0309D8 80035F78 3BE30000 */ addi r31, r3, 0 -/* 0309DC 80035F7C 201F0100 */ subfic r0, r31, 0x100 -/* 0309E0 80035F80 5463103A */ slwi r3, r3, 2 -/* 0309E4 80035F84 7C0903A6 */ mtctr r0 -/* 0309E8 80035F88 2C1F0100 */ cmpwi r31, 0x100 -/* 0309EC 80035F8C 7C791A14 */ add r3, r25, r3 -/* 0309F0 80035F90 4080001C */ bge lbl_80035FAC -lbl_80035F94: -/* 0309F4 80035F94 80030B64 */ lwz r0, 0xb64(r3) -/* 0309F8 80035F98 28000000 */ cmplwi r0, 0 -/* 0309FC 80035F9C 41820010 */ beq lbl_80035FAC -/* 030A00 80035FA0 38630004 */ addi r3, r3, 4 -/* 030A04 80035FA4 3BFF0001 */ addi r31, r31, 1 -/* 030A08 80035FA8 4200FFEC */ bdnz lbl_80035F94 -lbl_80035FAC: -/* 030A0C 80035FAC 2C1F0100 */ cmpwi r31, 0x100 -/* 030A10 80035FB0 4082000C */ bne lbl_80035FBC -/* 030A14 80035FB4 38600000 */ li r3, 0 -/* 030A18 80035FB8 48000080 */ b lbl_80036038 -lbl_80035FBC: -/* 030A1C 80035FBC 93E40000 */ stw r31, 0(r4) -/* 030A20 80035FC0 38610028 */ addi r3, r1, 0x28 -/* 030A24 80035FC4 38800034 */ li r4, 0x34 -/* 030A28 80035FC8 4BFD11ED */ bl xlHeapTake -/* 030A2C 80035FCC 2C030000 */ cmpwi r3, 0 -/* 030A30 80035FD0 4082000C */ bne lbl_80035FDC -/* 030A34 80035FD4 38600000 */ li r3, 0 -/* 030A38 80035FD8 48000060 */ b lbl_80036038 -lbl_80035FDC: -/* 030A3C 80035FDC 57E0103A */ slwi r0, r31, 2 -/* 030A40 80035FE0 80810028 */ lwz r4, 0x28(r1) -/* 030A44 80035FE4 7C790214 */ add r3, r25, r0 -/* 030A48 80035FE8 90830B64 */ stw r4, 0xb64(r3) -/* 030A4C 80035FEC 387A0000 */ addi r3, r26, 0 -/* 030A50 80035FF0 38801002 */ li r4, 0x1002 -/* 030A54 80035FF4 80A10028 */ lwz r5, 0x28(r1) -/* 030A58 80035FF8 93C50000 */ stw r30, 0(r5) -/* 030A5C 80035FFC 80A10028 */ lwz r5, 0x28(r1) -/* 030A60 80036000 93450004 */ stw r26, 4(r5) -/* 030A64 80036004 80A10028 */ lwz r5, 0x28(r1) -/* 030A68 80036008 93650008 */ stw r27, 8(r5) -/* 030A6C 8003600C 80A10028 */ lwz r5, 0x28(r1) -/* 030A70 80036010 9385002C */ stw r28, 0x2c(r5) -/* 030A74 80036014 80A10028 */ lwz r5, 0x28(r1) -/* 030A78 80036018 93A50030 */ stw r29, 0x30(r5) -/* 030A7C 8003601C 80A10028 */ lwz r5, 0x28(r1) -/* 030A80 80036020 4BFD1C4D */ bl xlObjectEvent -/* 030A84 80036024 2C030000 */ cmpwi r3, 0 -/* 030A88 80036028 4082000C */ bne lbl_80036034 -/* 030A8C 8003602C 38600000 */ li r3, 0 -/* 030A90 80036030 48000008 */ b lbl_80036038 -lbl_80036034: -/* 030A94 80036034 38600001 */ li r3, 1 -lbl_80036038: -/* 030A98 80036038 BB210034 */ lmw r25, 0x34(r1) -/* 030A9C 8003603C 80010054 */ lwz r0, 0x54(r1) -/* 030AA0 80036040 38210050 */ addi r1, r1, 0x50 -/* 030AA4 80036044 7C0803A6 */ mtlr r0 -/* 030AA8 80036048 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuMakeFunction.s b/asm/non_matchings/cpu/cpuMakeFunction.s deleted file mode 100644 index 7ac13c7f..00000000 --- a/asm/non_matchings/cpu/cpuMakeFunction.s +++ /dev/null @@ -1,323 +0,0 @@ -glabel cpuMakeFunction -/* 0393D4 8003E974 7C0802A6 */ mflr r0 -/* 0393D8 8003E978 90010004 */ stw r0, 4(r1) -/* 0393DC 8003E97C 9421DFA0 */ stwu r1, -0x2060(r1) -/* 0393E0 8003E980 BEA12034 */ stmw r21, 0x2034(r1) -/* 0393E4 8003E984 3BE40000 */ addi r31, r4, 0 -/* 0393E8 8003E988 38850000 */ addi r4, r5, 0 -/* 0393EC 8003E98C 3BC30000 */ addi r30, r3, 0 -/* 0393F0 8003E990 38A12018 */ addi r5, r1, 0x2018 -/* 0393F4 8003E994 3B000001 */ li r24, 1 -/* 0393F8 8003E998 4BFF496D */ bl cpuFindFunction -/* 0393FC 8003E99C 2C030000 */ cmpwi r3, 0 -/* 039400 8003E9A0 4082000C */ bne lbl_8003E9AC -/* 039404 8003E9A4 38600000 */ li r3, 0 -/* 039408 8003E9A8 48000448 */ b lbl_8003EDF0 -lbl_8003E9AC: -/* 03940C 8003E9AC 80812018 */ lwz r4, 0x2018(r1) -/* 039410 8003E9B0 80040004 */ lwz r0, 4(r4) -/* 039414 8003E9B4 28000000 */ cmplwi r0, 0 -/* 039418 8003E9B8 40820414 */ bne lbl_8003EDCC -/* 03941C 8003E9BC 807E0008 */ lwz r3, 8(r30) -/* 039420 8003E9C0 80630058 */ lwz r3, 0x58(r3) -/* 039424 8003E9C4 48050BC1 */ bl libraryTestFunction -/* 039428 8003E9C8 80612018 */ lwz r3, 0x2018(r1) -/* 03942C 8003E9CC 39000000 */ li r8, 0 -/* 039430 8003E9D0 38E10018 */ addi r7, r1, 0x18 -/* 039434 8003E9D4 91030008 */ stw r8, 8(r3) -/* 039438 8003E9D8 3CBE0001 */ addis r5, r30, 1 -/* 03943C 8003E9DC 3C602000 */ lis r3, 0x2000 -/* 039440 8003E9E0 80C12018 */ lwz r6, 0x2018(r1) -/* 039444 8003E9E4 3880000B */ li r4, 0xb -/* 039448 8003E9E8 38000001 */ li r0, 1 -/* 03944C 8003E9EC 90E6000C */ stw r7, 0xc(r6) -/* 039450 8003E9F0 90652058 */ stw r3, 0x2058(r5) -/* 039454 8003E9F4 9105205C */ stw r8, 0x205c(r5) -/* 039458 8003E9F8 80612018 */ lwz r3, 0x2018(r1) -/* 03945C 8003E9FC 9103001C */ stw r8, 0x1c(r3) -/* 039460 8003EA00 80612018 */ lwz r3, 0x2018(r1) -/* 039464 8003EA04 90830020 */ stw r4, 0x20(r3) -/* 039468 8003EA08 90052064 */ stw r0, 0x2064(r5) -/* 03946C 8003EA0C 91052088 */ stw r8, 0x2088(r5) -/* 039470 8003EA10 91012028 */ stw r8, 0x2028(r1) -/* 039474 8003EA14 80612018 */ lwz r3, 0x2018(r1) -/* 039478 8003EA18 80030010 */ lwz r0, 0x10(r3) -/* 03947C 8003EA1C 9001201C */ stw r0, 0x201c(r1) -/* 039480 8003EA20 4800002C */ b lbl_8003EA4C -lbl_8003EA24: -/* 039484 8003EA24 387E0000 */ addi r3, r30, 0 -/* 039488 8003EA28 3881201C */ addi r4, r1, 0x201c -/* 03948C 8003EA2C 38E12028 */ addi r7, r1, 0x2028 -/* 039490 8003EA30 38C00000 */ li r6, 0 -/* 039494 8003EA34 39000000 */ li r8, 0 -/* 039498 8003EA38 480003CD */ bl cpuGetPPC -/* 03949C 8003EA3C 2C030000 */ cmpwi r3, 0 -/* 0394A0 8003EA40 4082000C */ bne lbl_8003EA4C -/* 0394A4 8003EA44 38600000 */ li r3, 0 -/* 0394A8 8003EA48 480003A8 */ b lbl_8003EDF0 -lbl_8003EA4C: -/* 0394AC 8003EA4C 80A12018 */ lwz r5, 0x2018(r1) -/* 0394B0 8003EA50 8061201C */ lwz r3, 0x201c(r1) -/* 0394B4 8003EA54 80050014 */ lwz r0, 0x14(r5) -/* 0394B8 8003EA58 7C030000 */ cmpw r3, r0 -/* 0394BC 8003EA5C 4081FFC8 */ ble lbl_8003EA24 -/* 0394C0 8003EA60 8325001C */ lwz r25, 0x1c(r5) -/* 0394C4 8003EA64 83612028 */ lwz r27, 0x2028(r1) -/* 0394C8 8003EA68 2C190000 */ cmpwi r25, 0 -/* 0394CC 8003EA6C 577A103A */ slwi r26, r27, 2 -/* 0394D0 8003EA70 3ADA0000 */ addi r22, r26, 0 -/* 0394D4 8003EA74 41820014 */ beq lbl_8003EA88 -/* 0394D8 8003EA78 57201838 */ slwi r0, r25, 3 -/* 0394DC 8003EA7C 7C150378 */ mr r21, r0 -/* 0394E0 8003EA80 7ED60214 */ add r22, r22, r0 -/* 0394E4 8003EA84 48000008 */ b lbl_8003EA8C -lbl_8003EA88: -/* 0394E8 8003EA88 3AA00000 */ li r21, 0 -lbl_8003EA8C: -/* 0394EC 8003EA8C 80050008 */ lwz r0, 8(r5) -/* 0394F0 8003EA90 2C000000 */ cmpwi r0, 0 -/* 0394F4 8003EA94 4081000C */ ble lbl_8003EAA0 -/* 0394F8 8003EA98 54001838 */ slwi r0, r0, 3 -/* 0394FC 8003EA9C 7ED60214 */ add r22, r22, r0 -lbl_8003EAA0: -/* 039500 8003EAA0 3FBE0001 */ addis r29, r30, 1 -lbl_8003EAA4: -/* 039504 8003EAA4 80A12018 */ lwz r5, 0x2018(r1) -/* 039508 8003EAA8 389E0000 */ addi r4, r30, 0 -/* 03950C 8003EAAC 38D60000 */ addi r6, r22, 0 -/* 039510 8003EAB0 38612020 */ addi r3, r1, 0x2020 -/* 039514 8003EAB4 4BFF5575 */ bl cpuHeapTake -/* 039518 8003EAB8 2C030000 */ cmpwi r3, 0 -/* 03951C 8003EABC 408200B8 */ bne lbl_8003EB74 -/* 039520 8003EAC0 2C180000 */ cmpwi r24, 0 -/* 039524 8003EAC4 41820014 */ beq lbl_8003EAD8 -/* 039528 8003EAC8 807E003C */ lwz r3, 0x3c(r30) -/* 03952C 8003EACC 3B000000 */ li r24, 0 -/* 039530 8003EAD0 3AE3FED4 */ addi r23, r3, -300 -/* 039534 8003EAD4 4800001C */ b lbl_8003EAF0 -lbl_8003EAD8: -/* 039538 8003EAD8 807E003C */ lwz r3, 0x3c(r30) -/* 03953C 8003EADC 3AF7005F */ addi r23, r23, 0x5f -/* 039540 8003EAE0 3803FFF6 */ addi r0, r3, -10 -/* 039544 8003EAE4 7C170000 */ cmpw r23, r0 -/* 039548 8003EAE8 40810008 */ ble lbl_8003EAF0 -/* 03954C 8003EAEC 7C170378 */ mr r23, r0 -lbl_8003EAF0: -/* 039550 8003EAF0 80612018 */ lwz r3, 0x2018(r1) -/* 039554 8003EAF4 38000000 */ li r0, 0 -/* 039558 8003EAF8 839D12A0 */ lwz r28, 0x12a0(r29) -/* 03955C 8003EAFC 28030000 */ cmplwi r3, 0 -/* 039560 8003EB00 901C0070 */ stw r0, 0x70(r28) -/* 039564 8003EB04 901C007C */ stw r0, 0x7c(r28) -/* 039568 8003EB08 901C0080 */ stw r0, 0x80(r28) -/* 03956C 8003EB0C 41820018 */ beq lbl_8003EB24 -/* 039570 8003EB10 80030028 */ lwz r0, 0x28(r3) -/* 039574 8003EB14 2C000000 */ cmpwi r0, 0 -/* 039578 8003EB18 4081000C */ ble lbl_8003EB24 -/* 03957C 8003EB1C 801E003C */ lwz r0, 0x3c(r30) -/* 039580 8003EB20 90030028 */ stw r0, 0x28(r3) -lbl_8003EB24: -/* 039584 8003EB24 801C0078 */ lwz r0, 0x78(r28) -/* 039588 8003EB28 2C000000 */ cmpwi r0, 0 -/* 03958C 8003EB2C 40820020 */ bne lbl_8003EB4C -/* 039590 8003EB30 809C0068 */ lwz r4, 0x68(r28) -/* 039594 8003EB34 28040000 */ cmplwi r4, 0 -/* 039598 8003EB38 4182002C */ beq lbl_8003EB64 -/* 03959C 8003EB3C 387E0000 */ addi r3, r30, 0 -/* 0395A0 8003EB40 38B70000 */ addi r5, r23, 0 -/* 0395A4 8003EB44 4BFF2625 */ bl treeForceCleanNodes -/* 0395A8 8003EB48 4800001C */ b lbl_8003EB64 -lbl_8003EB4C: -/* 0395AC 8003EB4C 809C006C */ lwz r4, 0x6c(r28) -/* 0395B0 8003EB50 28040000 */ cmplwi r4, 0 -/* 0395B4 8003EB54 41820010 */ beq lbl_8003EB64 -/* 0395B8 8003EB58 387E0000 */ addi r3, r30, 0 -/* 0395BC 8003EB5C 38B70000 */ addi r5, r23, 0 -/* 0395C0 8003EB60 4BFF2609 */ bl treeForceCleanNodes -lbl_8003EB64: -/* 0395C4 8003EB64 801C0078 */ lwz r0, 0x78(r28) -/* 0395C8 8003EB68 68000001 */ xori r0, r0, 1 -/* 0395CC 8003EB6C 901C0078 */ stw r0, 0x78(r28) -/* 0395D0 8003EB70 4BFFFF34 */ b lbl_8003EAA4 -lbl_8003EB74: -/* 0395D4 8003EB74 80012020 */ lwz r0, 0x2020(r1) -/* 0395D8 8003EB78 2C150000 */ cmpwi r21, 0 -/* 0395DC 8003EB7C 7C170378 */ mr r23, r0 -/* 0395E0 8003EB80 418200C0 */ beq lbl_8003EC40 -/* 0395E4 8003EB84 80612018 */ lwz r3, 0x2018(r1) -/* 0395E8 8003EB88 7C00D214 */ add r0, r0, r26 -/* 0395EC 8003EB8C 2C190000 */ cmpwi r25, 0 -/* 0395F0 8003EB90 90030018 */ stw r0, 0x18(r3) -/* 0395F4 8003EB94 38800000 */ li r4, 0 -/* 0395F8 8003EB98 80612018 */ lwz r3, 0x2018(r1) -/* 0395FC 8003EB9C 80630018 */ lwz r3, 0x18(r3) -/* 039600 8003EBA0 408100A0 */ ble lbl_8003EC40 -/* 039604 8003EBA4 2C190008 */ cmpwi r25, 8 -/* 039608 8003EBA8 38B9FFF8 */ addi r5, r25, -8 -/* 03960C 8003EBAC 40810238 */ ble lbl_8003EDE4 -/* 039610 8003EBB0 38050007 */ addi r0, r5, 7 -/* 039614 8003EBB4 5400E8FE */ srwi r0, r0, 3 -/* 039618 8003EBB8 2C050000 */ cmpwi r5, 0 -/* 03961C 8003EBBC 7C0903A6 */ mtctr r0 -/* 039620 8003EBC0 38A30000 */ addi r5, r3, 0 -/* 039624 8003EBC4 40810220 */ ble lbl_8003EDE4 -/* 039628 8003EBC8 7C802378 */ mr r0, r4 -lbl_8003EBCC: -/* 03962C 8003EBCC 90050000 */ stw r0, 0(r5) -/* 039630 8003EBD0 38840008 */ addi r4, r4, 8 -/* 039634 8003EBD4 90050004 */ stw r0, 4(r5) -/* 039638 8003EBD8 90050008 */ stw r0, 8(r5) -/* 03963C 8003EBDC 9005000C */ stw r0, 0xc(r5) -/* 039640 8003EBE0 90050010 */ stw r0, 0x10(r5) -/* 039644 8003EBE4 90050014 */ stw r0, 0x14(r5) -/* 039648 8003EBE8 90050018 */ stw r0, 0x18(r5) -/* 03964C 8003EBEC 9005001C */ stw r0, 0x1c(r5) -/* 039650 8003EBF0 90050020 */ stw r0, 0x20(r5) -/* 039654 8003EBF4 90050024 */ stw r0, 0x24(r5) -/* 039658 8003EBF8 90050028 */ stw r0, 0x28(r5) -/* 03965C 8003EBFC 9005002C */ stw r0, 0x2c(r5) -/* 039660 8003EC00 90050030 */ stw r0, 0x30(r5) -/* 039664 8003EC04 90050034 */ stw r0, 0x34(r5) -/* 039668 8003EC08 90050038 */ stw r0, 0x38(r5) -/* 03966C 8003EC0C 9005003C */ stw r0, 0x3c(r5) -/* 039670 8003EC10 38A50040 */ addi r5, r5, 0x40 -/* 039674 8003EC14 4200FFB8 */ bdnz lbl_8003EBCC -/* 039678 8003EC18 480001CC */ b lbl_8003EDE4 -lbl_8003EC1C: -/* 03967C 8003EC1C 7C04C850 */ subf r0, r4, r25 -/* 039680 8003EC20 7C04C800 */ cmpw r4, r25 -/* 039684 8003EC24 7C0903A6 */ mtctr r0 -/* 039688 8003EC28 38000000 */ li r0, 0 -/* 03968C 8003EC2C 40800014 */ bge lbl_8003EC40 -lbl_8003EC30: -/* 039690 8003EC30 90030000 */ stw r0, 0(r3) -/* 039694 8003EC34 90030004 */ stw r0, 4(r3) -/* 039698 8003EC38 38630008 */ addi r3, r3, 8 -/* 03969C 8003EC3C 4200FFF4 */ bdnz lbl_8003EC30 -lbl_8003EC40: -/* 0396A0 8003EC40 3CBE0001 */ addis r5, r30, 1 -/* 0396A4 8003EC44 3C002000 */ lis r0, 0x2000 -/* 0396A8 8003EC48 90052058 */ stw r0, 0x2058(r5) -/* 0396AC 8003EC4C 38800000 */ li r4, 0 -/* 0396B0 8003EC50 38000016 */ li r0, 0x16 -/* 0396B4 8003EC54 9085205C */ stw r4, 0x205c(r5) -/* 0396B8 8003EC58 80612018 */ lwz r3, 0x2018(r1) -/* 0396BC 8003EC5C 9083001C */ stw r4, 0x1c(r3) -/* 0396C0 8003EC60 80612018 */ lwz r3, 0x2018(r1) -/* 0396C4 8003EC64 90030020 */ stw r0, 0x20(r3) -/* 0396C8 8003EC68 90852088 */ stw r4, 0x2088(r5) -/* 0396CC 8003EC6C 90852068 */ stw r4, 0x2068(r5) -/* 0396D0 8003EC70 90852074 */ stw r4, 0x2074(r5) -/* 0396D4 8003EC74 90812028 */ stw r4, 0x2028(r1) -/* 0396D8 8003EC78 80612018 */ lwz r3, 0x2018(r1) -/* 0396DC 8003EC7C 80030010 */ lwz r0, 0x10(r3) -/* 0396E0 8003EC80 9001201C */ stw r0, 0x201c(r1) -/* 0396E4 8003EC84 4800002C */ b lbl_8003ECB0 -lbl_8003EC88: -/* 0396E8 8003EC88 387E0000 */ addi r3, r30, 0 -/* 0396EC 8003EC8C 38D70000 */ addi r6, r23, 0 -/* 0396F0 8003EC90 3881201C */ addi r4, r1, 0x201c -/* 0396F4 8003EC94 38E12028 */ addi r7, r1, 0x2028 -/* 0396F8 8003EC98 39000000 */ li r8, 0 -/* 0396FC 8003EC9C 48000169 */ bl cpuGetPPC -/* 039700 8003ECA0 2C030000 */ cmpwi r3, 0 -/* 039704 8003ECA4 4082000C */ bne lbl_8003ECB0 -/* 039708 8003ECA8 38600000 */ li r3, 0 -/* 03970C 8003ECAC 48000144 */ b lbl_8003EDF0 -lbl_8003ECB0: -/* 039710 8003ECB0 80A12018 */ lwz r5, 0x2018(r1) -/* 039714 8003ECB4 8061201C */ lwz r3, 0x201c(r1) -/* 039718 8003ECB8 80050014 */ lwz r0, 0x14(r5) -/* 03971C 8003ECBC 7C030000 */ cmpw r3, r0 -/* 039720 8003ECC0 4081FFC8 */ ble lbl_8003EC88 -/* 039724 8003ECC4 3C806000 */ lis r4, 0x6000 -/* 039728 8003ECC8 48000018 */ b lbl_8003ECE0 -lbl_8003ECCC: -/* 03972C 8003ECCC 80612028 */ lwz r3, 0x2028(r1) -/* 039730 8003ECD0 38030001 */ addi r0, r3, 1 -/* 039734 8003ECD4 90012028 */ stw r0, 0x2028(r1) -/* 039738 8003ECD8 5460103A */ slwi r0, r3, 2 -/* 03973C 8003ECDC 7C97012E */ stwx r4, r23, r0 -lbl_8003ECE0: -/* 039740 8003ECE0 80012028 */ lwz r0, 0x2028(r1) -/* 039744 8003ECE4 7C00D800 */ cmpw r0, r27 -/* 039748 8003ECE8 4082FFE4 */ bne lbl_8003ECCC -/* 03974C 8003ECEC 80612018 */ lwz r3, 0x2018(r1) -/* 039750 8003ECF0 38000021 */ li r0, 0x21 -/* 039754 8003ECF4 90030020 */ stw r0, 0x20(r3) -/* 039758 8003ECF8 80612018 */ lwz r3, 0x2018(r1) -/* 03975C 8003ECFC 92E30004 */ stw r23, 4(r3) -/* 039760 8003ED00 80612018 */ lwz r3, 0x2018(r1) -/* 039764 8003ED04 80012028 */ lwz r0, 0x2028(r1) -/* 039768 8003ED08 80630004 */ lwz r3, 4(r3) -/* 03976C 8003ED0C 5404103A */ slwi r4, r0, 2 -/* 039770 8003ED10 4805EA9D */ bl DCStoreRange -/* 039774 8003ED14 80612018 */ lwz r3, 0x2018(r1) -/* 039778 8003ED18 80012028 */ lwz r0, 0x2028(r1) -/* 03977C 8003ED1C 80630004 */ lwz r3, 4(r3) -/* 039780 8003ED20 5404103A */ slwi r4, r0, 2 -/* 039784 8003ED24 4805EB11 */ bl ICInvalidateRange -/* 039788 8003ED28 80812018 */ lwz r4, 0x2018(r1) -/* 03978C 8003ED2C 80040008 */ lwz r0, 8(r4) -/* 039790 8003ED30 2C000000 */ cmpwi r0, 0 -/* 039794 8003ED34 40810074 */ ble lbl_8003EDA8 -/* 039798 8003ED38 2C000400 */ cmpwi r0, 0x400 -/* 03979C 8003ED3C 4180000C */ blt lbl_8003ED48 -/* 0397A0 8003ED40 38600000 */ li r3, 0 -/* 0397A4 8003ED44 480000AC */ b lbl_8003EDF0 -lbl_8003ED48: -/* 0397A8 8003ED48 80612020 */ lwz r3, 0x2020(r1) -/* 0397AC 8003ED4C 7C1AAA14 */ add r0, r26, r21 -/* 0397B0 8003ED50 38A10018 */ addi r5, r1, 0x18 -/* 0397B4 8003ED54 7C030214 */ add r0, r3, r0 -/* 0397B8 8003ED58 9004000C */ stw r0, 0xc(r4) -/* 0397BC 8003ED5C 38E00000 */ li r7, 0 -/* 0397C0 8003ED60 38C00000 */ li r6, 0 -/* 0397C4 8003ED64 48000030 */ b lbl_8003ED94 -lbl_8003ED68: -/* 0397C8 8003ED68 80850000 */ lwz r4, 0(r5) -/* 0397CC 8003ED6C 38060004 */ addi r0, r6, 4 -/* 0397D0 8003ED70 8063000C */ lwz r3, 0xc(r3) -/* 0397D4 8003ED74 38E70001 */ addi r7, r7, 1 -/* 0397D8 8003ED78 7C83312E */ stwx r4, r3, r6 -/* 0397DC 8003ED7C 38C60008 */ addi r6, r6, 8 -/* 0397E0 8003ED80 80612018 */ lwz r3, 0x2018(r1) -/* 0397E4 8003ED84 80850004 */ lwz r4, 4(r5) -/* 0397E8 8003ED88 38A50008 */ addi r5, r5, 8 -/* 0397EC 8003ED8C 8063000C */ lwz r3, 0xc(r3) -/* 0397F0 8003ED90 7C83012E */ stwx r4, r3, r0 -lbl_8003ED94: -/* 0397F4 8003ED94 80612018 */ lwz r3, 0x2018(r1) -/* 0397F8 8003ED98 80030008 */ lwz r0, 8(r3) -/* 0397FC 8003ED9C 7C070000 */ cmpw r7, r0 -/* 039800 8003EDA0 4180FFC8 */ blt lbl_8003ED68 -/* 039804 8003EDA4 4800000C */ b lbl_8003EDB0 -lbl_8003EDA8: -/* 039808 8003EDA8 38000000 */ li r0, 0 -/* 03980C 8003EDAC 9004000C */ stw r0, 0xc(r4) -lbl_8003EDB0: -/* 039810 8003EDB0 80812018 */ lwz r4, 0x2018(r1) -/* 039814 8003EDB4 3C7E0001 */ addis r3, r30, 1 -/* 039818 8003EDB8 92C4002C */ stw r22, 0x2c(r4) -/* 03981C 8003EDBC 806312A0 */ lwz r3, 0x12a0(r3) -/* 039820 8003EDC0 80030004 */ lwz r0, 4(r3) -/* 039824 8003EDC4 7C00B214 */ add r0, r0, r22 -/* 039828 8003EDC8 90030004 */ stw r0, 4(r3) -lbl_8003EDCC: -/* 03982C 8003EDCC 281F0000 */ cmplwi r31, 0 -/* 039830 8003EDD0 4182000C */ beq lbl_8003EDDC -/* 039834 8003EDD4 80012018 */ lwz r0, 0x2018(r1) -/* 039838 8003EDD8 901F0000 */ stw r0, 0(r31) -lbl_8003EDDC: -/* 03983C 8003EDDC 38600001 */ li r3, 1 -/* 039840 8003EDE0 48000010 */ b lbl_8003EDF0 -lbl_8003EDE4: -/* 039844 8003EDE4 54801838 */ slwi r0, r4, 3 -/* 039848 8003EDE8 7C630214 */ add r3, r3, r0 -/* 03984C 8003EDEC 4BFFFE30 */ b lbl_8003EC1C -lbl_8003EDF0: -/* 039850 8003EDF0 BAA12034 */ lmw r21, 0x2034(r1) -/* 039854 8003EDF4 80012064 */ lwz r0, 0x2064(r1) -/* 039858 8003EDF8 38212060 */ addi r1, r1, 0x2060 -/* 03985C 8003EDFC 7C0803A6 */ mtlr r0 -/* 039860 8003EE00 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuMakeLink.s b/asm/non_matchings/cpu/cpuMakeLink.s deleted file mode 100644 index 242e5c31..00000000 --- a/asm/non_matchings/cpu/cpuMakeLink.s +++ /dev/null @@ -1,185 +0,0 @@ -glabel cpuMakeLink -/* 031F3C 800374DC 7C0802A6 */ mflr r0 -/* 031F40 800374E0 3CC03000 */ lis r6, 0x3000 -/* 031F44 800374E4 90010004 */ stw r0, 4(r1) -/* 031F48 800374E8 9421FFD0 */ stwu r1, -0x30(r1) -/* 031F4C 800374EC 93E1002C */ stw r31, 0x2c(r1) -/* 031F50 800374F0 3BE50000 */ addi r31, r5, 0 -/* 031F54 800374F4 93C10028 */ stw r30, 0x28(r1) -/* 031F58 800374F8 3BC40000 */ addi r30, r4, 0 -/* 031F5C 800374FC 38860200 */ addi r4, r6, 0x200 -/* 031F60 80037500 93A10024 */ stw r29, 0x24(r1) -/* 031F64 80037504 3BA30000 */ addi r29, r3, 0 -/* 031F68 80037508 38610018 */ addi r3, r1, 0x18 -/* 031F6C 8003750C 4BFCFCA9 */ bl xlHeapTake -/* 031F70 80037510 2C030000 */ cmpwi r3, 0 -/* 031F74 80037514 4082000C */ bne lbl_80037520 -/* 031F78 80037518 38600000 */ li r3, 0 -/* 031F7C 8003751C 48000264 */ b lbl_80037780 -lbl_80037520: -/* 031F80 80037520 80010018 */ lwz r0, 0x18(r1) -/* 031F84 80037524 3CA07CC8 */ lis r5, 0x7cc8 -/* 031F88 80037528 3C60800F */ lis r3, ganMapGPR@ha -/* 031F8C 8003752C 901E0000 */ stw r0, 0(r30) -/* 031F90 80037530 3800001F */ li r0, 0x1f -/* 031F94 80037534 3863BE70 */ addi r3, r3, ganMapGPR@l -/* 031F98 80037538 7C0903A6 */ mtctr r0 -/* 031F9C 8003753C 80810018 */ lwz r4, 0x18(r1) -/* 031FA0 80037540 38630004 */ addi r3, r3, 4 -/* 031FA4 80037544 38040004 */ addi r0, r4, 4 -/* 031FA8 80037548 90010018 */ stw r0, 0x18(r1) -/* 031FAC 8003754C 38A502A6 */ addi r5, r5, 0x2a6 -/* 031FB0 80037550 38E30000 */ addi r7, r3, 0 -/* 031FB4 80037554 90A40000 */ stw r5, 0(r4) -/* 031FB8 80037558 391D0008 */ addi r8, r29, 8 -lbl_8003755C: -/* 031FBC 8003755C 80A70000 */ lwz r5, 0(r7) -/* 031FC0 80037560 54A005EF */ rlwinm. r0, r5, 0, 0x17, 0x17 -/* 031FC4 80037564 4082002C */ bne lbl_80037590 -/* 031FC8 80037568 80810018 */ lwz r4, 0x18(r1) -/* 031FCC 8003756C 38080040 */ addi r0, r8, 0x40 -/* 031FD0 80037570 7CDD0050 */ subf r6, r29, r0 -/* 031FD4 80037574 54A5A814 */ slwi r5, r5, 0x15 -/* 031FD8 80037578 38040004 */ addi r0, r4, 4 -/* 031FDC 8003757C 90010018 */ stw r0, 0x18(r1) -/* 031FE0 80037580 38C60004 */ addi r6, r6, 4 -/* 031FE4 80037584 64A09003 */ oris r0, r5, 0x9003 -/* 031FE8 80037588 7CC00378 */ or r0, r6, r0 -/* 031FEC 8003758C 90040000 */ stw r0, 0(r4) -lbl_80037590: -/* 031FF0 80037590 38E70004 */ addi r7, r7, 4 -/* 031FF4 80037594 39080008 */ addi r8, r8, 8 -/* 031FF8 80037598 4200FFC4 */ bdnz lbl_8003755C -/* 031FFC 8003759C 80A10018 */ lwz r5, 0x18(r1) -/* 032000 800375A0 3CE07C68 */ lis r7, 0x7c68 -/* 032004 800375A4 57A6843E */ srwi r6, r29, 0x10 -/* 032008 800375A8 7C05F850 */ subf r0, r5, r31 -/* 03200C 800375AC 540401BA */ rlwinm r4, r0, 0, 6, 0x1d -/* 032010 800375B0 38050004 */ addi r0, r5, 4 -/* 032014 800375B4 64844800 */ oris r4, r4, 0x4800 -/* 032018 800375B8 90010018 */ stw r0, 0x18(r1) -/* 03201C 800375BC 60840001 */ ori r4, r4, 1 -/* 032020 800375C0 90850000 */ stw r4, 0(r5) -/* 032024 800375C4 381D003C */ addi r0, r29, 0x3c -/* 032028 800375C8 7C9D0050 */ subf r4, r29, r0 -/* 03202C 800375CC 81210018 */ lwz r9, 0x18(r1) -/* 032030 800375D0 64C83C60 */ oris r8, r6, 0x3c60 -/* 032034 800375D4 3CC48083 */ addis r6, r4, 0x8083 -/* 032038 800375D8 38090004 */ addi r0, r9, 4 -/* 03203C 800375DC 90010018 */ stw r0, 0x18(r1) -/* 032040 800375E0 394703A6 */ addi r10, r7, 0x3a6 -/* 032044 800375E4 57A5043E */ clrlwi r5, r29, 0x10 -/* 032048 800375E8 91490000 */ stw r10, 0(r9) -/* 03204C 800375EC 64A76063 */ oris r7, r5, 0x6063 -/* 032050 800375F0 3C9D0001 */ addis r4, r29, 1 -/* 032054 800375F4 80A10018 */ lwz r5, 0x18(r1) -/* 032058 800375F8 38050004 */ addi r0, r5, 4 -/* 03205C 800375FC 90010018 */ stw r0, 0x18(r1) -/* 032060 80037600 91050000 */ stw r8, 0(r5) -/* 032064 80037604 80A10018 */ lwz r5, 0x18(r1) -/* 032068 80037608 38050004 */ addi r0, r5, 4 -/* 03206C 8003760C 90010018 */ stw r0, 0x18(r1) -/* 032070 80037610 90E50000 */ stw r7, 0(r5) -/* 032074 80037614 80A10018 */ lwz r5, 0x18(r1) -/* 032078 80037618 38050004 */ addi r0, r5, 4 -/* 03207C 8003761C 90010018 */ stw r0, 0x18(r1) -/* 032080 80037620 90C50000 */ stw r6, 0(r5) -/* 032084 80037624 80DD0008 */ lwz r6, 8(r29) -/* 032088 80037628 80A10018 */ lwz r5, 0x18(r1) -/* 03208C 8003762C 80C6002C */ lwz r6, 0x2c(r6) -/* 032090 80037630 38050004 */ addi r0, r5, 4 -/* 032094 80037634 80C60004 */ lwz r6, 4(r6) -/* 032098 80037638 3CE68000 */ addis r7, r6, 0x8000 -/* 03209C 8003763C 90010018 */ stw r0, 0x18(r1) -/* 0320A0 80037640 54E0843E */ srwi r0, r7, 0x10 -/* 0320A4 80037644 64003D00 */ oris r0, r0, 0x3d00 -/* 0320A8 80037648 90050000 */ stw r0, 0(r5) -/* 0320AC 8003764C 80842060 */ lwz r4, 0x2060(r4) -/* 0320B0 80037650 548005EF */ rlwinm. r0, r4, 0, 0x17, 0x17 -/* 0320B4 80037654 41820050 */ beq lbl_800376A4 -/* 0320B8 80037658 80A10018 */ lwz r5, 0x18(r1) -/* 0320BC 8003765C 3CC03D21 */ lis r6, 0x3d21 -/* 0320C0 80037660 54E0043E */ clrlwi r0, r7, 0x10 -/* 0320C4 80037664 38850004 */ addi r4, r5, 4 -/* 0320C8 80037668 90810018 */ stw r4, 0x18(r1) -/* 0320CC 8003766C 38C6DFFF */ addi r6, r6, -8193 -/* 0320D0 80037670 3C80612A */ lis r4, 0x612a -/* 0320D4 80037674 90C50000 */ stw r6, 0(r5) -/* 0320D8 80037678 64066108 */ oris r6, r0, 0x6108 -/* 0320DC 8003767C 38A4FFFF */ addi r5, r4, -1 -/* 0320E0 80037680 80810018 */ lwz r4, 0x18(r1) -/* 0320E4 80037684 38040004 */ addi r0, r4, 4 -/* 0320E8 80037688 90010018 */ stw r0, 0x18(r1) -/* 0320EC 8003768C 90C40000 */ stw r6, 0(r4) -/* 0320F0 80037690 80810018 */ lwz r4, 0x18(r1) -/* 0320F4 80037694 38040004 */ addi r0, r4, 4 -/* 0320F8 80037698 90010018 */ stw r0, 0x18(r1) -/* 0320FC 8003769C 90A40000 */ stw r5, 0(r4) -/* 032100 800376A0 48000040 */ b lbl_800376E0 -lbl_800376A4: -/* 032104 800376A4 548007FF */ clrlwi. r0, r4, 0x1f -/* 032108 800376A8 41820038 */ beq lbl_800376E0 -/* 03210C 800376AC 80810018 */ lwz r4, 0x18(r1) -/* 032110 800376B0 381D0F64 */ addi r0, r29, 0xf64 -/* 032114 800376B4 7CBD0050 */ subf r5, r29, r0 -/* 032118 800376B8 38040004 */ addi r0, r4, 4 -/* 03211C 800376BC 90010018 */ stw r0, 0x18(r1) -/* 032120 800376C0 3CA53923 */ addis r5, r5, 0x3923 -/* 032124 800376C4 54E0043E */ clrlwi r0, r7, 0x10 -/* 032128 800376C8 90A40000 */ stw r5, 0(r4) -/* 03212C 800376CC 64056108 */ oris r5, r0, 0x6108 -/* 032130 800376D0 80810018 */ lwz r4, 0x18(r1) -/* 032134 800376D4 38040004 */ addi r0, r4, 4 -/* 032138 800376D8 90010018 */ stw r0, 0x18(r1) -/* 03213C 800376DC 90A40000 */ stw r5, 0(r4) -lbl_800376E0: -/* 032140 800376E0 3C80800F */ lis r4, ganMapGPR@ha -/* 032144 800376E4 80A10018 */ lwz r5, 0x18(r1) -/* 032148 800376E8 80C4BE70 */ lwz r6, ganMapGPR@l(r4) -/* 03214C 800376EC 3800001F */ li r0, 0x1f -/* 032150 800376F0 38850004 */ addi r4, r5, 4 -/* 032154 800376F4 7C0903A6 */ mtctr r0 -/* 032158 800376F8 54C6A814 */ slwi r6, r6, 0x15 -/* 03215C 800376FC 90810018 */ stw r4, 0x18(r1) -/* 032160 80037700 64C43800 */ oris r4, r6, 0x3800 -/* 032164 80037704 38FD0008 */ addi r7, r29, 8 -/* 032168 80037708 90850000 */ stw r4, 0(r5) -lbl_8003770C: -/* 03216C 8003770C 80A30000 */ lwz r5, 0(r3) -/* 032170 80037710 54A005EF */ rlwinm. r0, r5, 0, 0x17, 0x17 -/* 032174 80037714 4082002C */ bne lbl_80037740 -/* 032178 80037718 80810018 */ lwz r4, 0x18(r1) -/* 03217C 8003771C 38070040 */ addi r0, r7, 0x40 -/* 032180 80037720 7CDD0050 */ subf r6, r29, r0 -/* 032184 80037724 54A5A814 */ slwi r5, r5, 0x15 -/* 032188 80037728 38040004 */ addi r0, r4, 4 -/* 03218C 8003772C 90010018 */ stw r0, 0x18(r1) -/* 032190 80037730 38C60004 */ addi r6, r6, 4 -/* 032194 80037734 64A08003 */ oris r0, r5, 0x8003 -/* 032198 80037738 7CC00378 */ or r0, r6, r0 -/* 03219C 8003773C 90040000 */ stw r0, 0(r4) -lbl_80037740: -/* 0321A0 80037740 38630004 */ addi r3, r3, 4 -/* 0321A4 80037744 38E70008 */ addi r7, r7, 8 -/* 0321A8 80037748 4200FFC4 */ bdnz lbl_8003770C -/* 0321AC 8003774C 80610018 */ lwz r3, 0x18(r1) -/* 0321B0 80037750 3C804E80 */ lis r4, 0x4e80 -/* 0321B4 80037754 38A40020 */ addi r5, r4, 0x20 -/* 0321B8 80037758 38030004 */ addi r0, r3, 4 -/* 0321BC 8003775C 90010018 */ stw r0, 0x18(r1) -/* 0321C0 80037760 38800200 */ li r4, 0x200 -/* 0321C4 80037764 90A30000 */ stw r5, 0(r3) -/* 0321C8 80037768 807E0000 */ lwz r3, 0(r30) -/* 0321CC 8003776C 48066041 */ bl DCStoreRange -/* 0321D0 80037770 807E0000 */ lwz r3, 0(r30) -/* 0321D4 80037774 38800200 */ li r4, 0x200 -/* 0321D8 80037778 480660BD */ bl ICInvalidateRange -/* 0321DC 8003777C 38600001 */ li r3, 1 -lbl_80037780: -/* 0321E0 80037780 80010034 */ lwz r0, 0x34(r1) -/* 0321E4 80037784 83E1002C */ lwz r31, 0x2c(r1) -/* 0321E8 80037788 83C10028 */ lwz r30, 0x28(r1) -/* 0321EC 8003778C 7C0803A6 */ mtlr r0 -/* 0321F0 80037790 83A10024 */ lwz r29, 0x24(r1) -/* 0321F4 80037794 38210030 */ addi r1, r1, 0x30 -/* 0321F8 80037798 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuMapObject.s b/asm/non_matchings/cpu/cpuMapObject.s deleted file mode 100644 index fe59c880..00000000 --- a/asm/non_matchings/cpu/cpuMapObject.s +++ /dev/null @@ -1,120 +0,0 @@ -glabel cpuMapObject -/* 02FAC8 80035068 7C0802A6 */ mflr r0 -/* 02FACC 8003506C 90010004 */ stw r0, 4(r1) -/* 02FAD0 80035070 9421FFC0 */ stwu r1, -0x40(r1) -/* 02FAD4 80035074 BF61002C */ stmw r27, 0x2c(r1) -/* 02FAD8 80035078 7CBC2B79 */ or. r28, r5, r5 -/* 02FADC 8003507C 3BE30000 */ addi r31, r3, 0 -/* 02FAE0 80035080 3B640000 */ addi r27, r4, 0 -/* 02FAE4 80035084 3BA60000 */ addi r29, r6, 0 -/* 02FAE8 80035088 3BC70000 */ addi r30, r7, 0 -/* 02FAEC 8003508C 408200B8 */ bne lbl_80035144 -/* 02FAF0 80035090 3C1D0001 */ addis r0, r29, 1 -/* 02FAF4 80035094 2800FFFF */ cmplwi r0, 0xffff -/* 02FAF8 80035098 408200AC */ bne lbl_80035144 -/* 02FAFC 8003509C 387F0000 */ addi r3, r31, 0 -/* 02FB00 800350A0 38BB0000 */ addi r5, r27, 0 -/* 02FB04 800350A4 38FC0000 */ addi r7, r28, 0 -/* 02FB08 800350A8 391D0000 */ addi r8, r29, 0 -/* 02FB0C 800350AC 393E0000 */ addi r9, r30, 0 -/* 02FB10 800350B0 38810024 */ addi r4, r1, 0x24 -/* 02FB14 800350B4 38C00000 */ li r6, 0 -/* 02FB18 800350B8 48000E85 */ bl cpuMakeDevice -/* 02FB1C 800350BC 2C030000 */ cmpwi r3, 0 -/* 02FB20 800350C0 4082000C */ bne lbl_800350CC -/* 02FB24 800350C4 38600000 */ li r3, 0 -/* 02FB28 800350C8 4800013C */ b lbl_80035204 -lbl_800350CC: -/* 02FB2C 800350CC 3C600001 */ lis r3, 1 -/* 02FB30 800350D0 80810024 */ lwz r4, 0x24(r1) -/* 02FB34 800350D4 38030007 */ addi r0, r3, 7 -/* 02FB38 800350D8 5400E8FE */ srwi r0, r0, 3 -/* 02FB3C 800350DC 909F0024 */ stw r4, 0x24(r31) -/* 02FB40 800350E0 2C030000 */ cmpwi r3, 0 -/* 02FB44 800350E4 7C0903A6 */ mtctr r0 -/* 02FB48 800350E8 38800000 */ li r4, 0 -/* 02FB4C 800350EC 40810114 */ ble lbl_80035200 -lbl_800350F0: -/* 02FB50 800350F0 38640F64 */ addi r3, r4, 0xf64 -/* 02FB54 800350F4 80010024 */ lwz r0, 0x24(r1) -/* 02FB58 800350F8 7C7F1A14 */ add r3, r31, r3 -/* 02FB5C 800350FC 98030000 */ stb r0, 0(r3) -/* 02FB60 80035100 38840008 */ addi r4, r4, 8 -/* 02FB64 80035104 80010024 */ lwz r0, 0x24(r1) -/* 02FB68 80035108 98030001 */ stb r0, 1(r3) -/* 02FB6C 8003510C 80010024 */ lwz r0, 0x24(r1) -/* 02FB70 80035110 98030002 */ stb r0, 2(r3) -/* 02FB74 80035114 80010024 */ lwz r0, 0x24(r1) -/* 02FB78 80035118 98030003 */ stb r0, 3(r3) -/* 02FB7C 8003511C 80010024 */ lwz r0, 0x24(r1) -/* 02FB80 80035120 98030004 */ stb r0, 4(r3) -/* 02FB84 80035124 80010024 */ lwz r0, 0x24(r1) -/* 02FB88 80035128 98030005 */ stb r0, 5(r3) -/* 02FB8C 8003512C 80010024 */ lwz r0, 0x24(r1) -/* 02FB90 80035130 98030006 */ stb r0, 6(r3) -/* 02FB94 80035134 80010024 */ lwz r0, 0x24(r1) -/* 02FB98 80035138 98030007 */ stb r0, 7(r3) -/* 02FB9C 8003513C 4200FFB4 */ bdnz lbl_800350F0 -/* 02FBA0 80035140 480000C0 */ b lbl_80035200 -lbl_80035144: -/* 02FBA4 80035144 387F0000 */ addi r3, r31, 0 -/* 02FBA8 80035148 38BB0000 */ addi r5, r27, 0 -/* 02FBAC 8003514C 38FC0000 */ addi r7, r28, 0 -/* 02FBB0 80035150 391D0000 */ addi r8, r29, 0 -/* 02FBB4 80035154 393E0000 */ addi r9, r30, 0 -/* 02FBB8 80035158 38810024 */ addi r4, r1, 0x24 -/* 02FBBC 8003515C 3CDC8000 */ addis r6, r28, 0x8000 -/* 02FBC0 80035160 48000DDD */ bl cpuMakeDevice -/* 02FBC4 80035164 2C030000 */ cmpwi r3, 0 -/* 02FBC8 80035168 4082000C */ bne lbl_80035174 -/* 02FBCC 8003516C 38600000 */ li r3, 0 -/* 02FBD0 80035170 48000094 */ b lbl_80035204 -lbl_80035174: -/* 02FBD4 80035174 67808000 */ oris r0, r28, 0x8000 -/* 02FBD8 80035178 7C050378 */ mr r5, r0 -/* 02FBDC 8003517C 67A68000 */ oris r6, r29, 0x8000 -/* 02FBE0 80035180 5404843E */ srwi r4, r0, 0x10 -/* 02FBE4 80035184 48000018 */ b lbl_8003519C -lbl_80035188: -/* 02FBE8 80035188 80610024 */ lwz r3, 0x24(r1) -/* 02FBEC 8003518C 38040F64 */ addi r0, r4, 0xf64 -/* 02FBF0 80035190 3CA50001 */ addis r5, r5, 1 -/* 02FBF4 80035194 7C7F01AE */ stbx r3, r31, r0 -/* 02FBF8 80035198 38840001 */ addi r4, r4, 1 -lbl_8003519C: -/* 02FBFC 8003519C 7C053040 */ cmplw r5, r6 -/* 02FC00 800351A0 4180FFE8 */ blt lbl_80035188 -/* 02FC04 800351A4 387F0000 */ addi r3, r31, 0 -/* 02FC08 800351A8 38BB0000 */ addi r5, r27, 0 -/* 02FC0C 800351AC 38FC0000 */ addi r7, r28, 0 -/* 02FC10 800351B0 391D0000 */ addi r8, r29, 0 -/* 02FC14 800351B4 393E0000 */ addi r9, r30, 0 -/* 02FC18 800351B8 38810024 */ addi r4, r1, 0x24 -/* 02FC1C 800351BC 3CDC6000 */ addis r6, r28, 0x6000 -/* 02FC20 800351C0 48000D7D */ bl cpuMakeDevice -/* 02FC24 800351C4 2C030000 */ cmpwi r3, 0 -/* 02FC28 800351C8 4082000C */ bne lbl_800351D4 -/* 02FC2C 800351CC 38600000 */ li r3, 0 -/* 02FC30 800351D0 48000034 */ b lbl_80035204 -lbl_800351D4: -/* 02FC34 800351D4 6785A000 */ oris r5, r28, 0xa000 -/* 02FC38 800351D8 67A6A000 */ oris r6, r29, 0xa000 -/* 02FC3C 800351DC 54A4843E */ srwi r4, r5, 0x10 -/* 02FC40 800351E0 48000018 */ b lbl_800351F8 -lbl_800351E4: -/* 02FC44 800351E4 80610024 */ lwz r3, 0x24(r1) -/* 02FC48 800351E8 38040F64 */ addi r0, r4, 0xf64 -/* 02FC4C 800351EC 3CA50001 */ addis r5, r5, 1 -/* 02FC50 800351F0 7C7F01AE */ stbx r3, r31, r0 -/* 02FC54 800351F4 38840001 */ addi r4, r4, 1 -lbl_800351F8: -/* 02FC58 800351F8 7C053040 */ cmplw r5, r6 -/* 02FC5C 800351FC 4180FFE8 */ blt lbl_800351E4 -lbl_80035200: -/* 02FC60 80035200 38600001 */ li r3, 1 -lbl_80035204: -/* 02FC64 80035204 BB61002C */ lmw r27, 0x2c(r1) -/* 02FC68 80035208 80010044 */ lwz r0, 0x44(r1) -/* 02FC6C 8003520C 38210040 */ addi r1, r1, 0x40 -/* 02FC70 80035210 7C0803A6 */ mtlr r0 -/* 02FC74 80035214 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuNextInstruction.s b/asm/non_matchings/cpu/cpuNextInstruction.s deleted file mode 100644 index cb41d8ba..00000000 --- a/asm/non_matchings/cpu/cpuNextInstruction.s +++ /dev/null @@ -1,194 +0,0 @@ -glabel cpuNextInstruction -/* 038C74 8003E214 7C0802A6 */ mflr r0 -/* 038C78 8003E218 28060000 */ cmplwi r6, 0 -/* 038C7C 8003E21C 90010004 */ stw r0, 4(r1) -/* 038C80 8003E220 39440000 */ addi r10, r4, 0 -/* 038C84 8003E224 9421FFF8 */ stwu r1, -8(r1) -/* 038C88 8003E228 4082000C */ bne lbl_8003E234 -/* 038C8C 8003E22C 38600000 */ li r3, 0 -/* 038C90 8003E230 48000298 */ b lbl_8003E4C8 -lbl_8003E234: -/* 038C94 8003E234 3D030001 */ addis r8, r3, 1 -/* 038C98 8003E238 80082064 */ lwz r0, 0x2064(r8) -/* 038C9C 8003E23C 28000000 */ cmplwi r0, 0 -/* 038CA0 8003E240 4082000C */ bne lbl_8003E24C -/* 038CA4 8003E244 38600000 */ li r3, 0 -/* 038CA8 8003E248 48000280 */ b lbl_8003E4C8 -lbl_8003E24C: -/* 038CAC 8003E24C 80882088 */ lwz r4, 0x2088(r8) -/* 038CB0 8003E250 380AFFFC */ addi r0, r10, -4 -/* 038CB4 8003E254 7C040040 */ cmplw r4, r0 -/* 038CB8 8003E258 41820014 */ beq lbl_8003E26C -/* 038CBC 8003E25C 38000000 */ li r0, 0 -/* 038CC0 8003E260 90082088 */ stw r0, 0x2088(r8) -/* 038CC4 8003E264 38600000 */ li r3, 0 -/* 038CC8 8003E268 48000260 */ b lbl_8003E4C8 -lbl_8003E26C: -/* 038CCC 8003E26C 39200000 */ li r9, 0 -/* 038CD0 8003E270 91282088 */ stw r9, 0x2088(r8) -/* 038CD4 8003E274 81030034 */ lwz r8, 0x34(r3) -/* 038CD8 8003E278 80080008 */ lwz r0, 8(r8) -/* 038CDC 8003E27C 2C000000 */ cmpwi r0, 0 -/* 038CE0 8003E280 7C0903A6 */ mtctr r0 -/* 038CE4 8003E284 40810028 */ ble lbl_8003E2AC -lbl_8003E288: -/* 038CE8 8003E288 8088000C */ lwz r4, 0xc(r8) -/* 038CEC 8003E28C 38090004 */ addi r0, r9, 4 -/* 038CF0 8003E290 7C04002E */ lwzx r0, r4, r0 -/* 038CF4 8003E294 7C0A0000 */ cmpw r10, r0 -/* 038CF8 8003E298 4082000C */ bne lbl_8003E2A4 -/* 038CFC 8003E29C 38000000 */ li r0, 0 -/* 038D00 8003E2A0 48000010 */ b lbl_8003E2B0 -lbl_8003E2A4: -/* 038D04 8003E2A4 39290008 */ addi r9, r9, 8 -/* 038D08 8003E2A8 4200FFE0 */ bdnz lbl_8003E288 -lbl_8003E2AC: -/* 038D0C 8003E2AC 38000001 */ li r0, 1 -lbl_8003E2B0: -/* 038D10 8003E2B0 2C000000 */ cmpwi r0, 0 -/* 038D14 8003E2B4 4082000C */ bne lbl_8003E2C0 -/* 038D18 8003E2B8 38600000 */ li r3, 0 -/* 038D1C 8003E2BC 4800020C */ b lbl_8003E4C8 -lbl_8003E2C0: -/* 038D20 8003E2C0 7CA0D670 */ srawi r0, r5, 0x1a -/* 038D24 8003E2C4 2C00000D */ cmpwi r0, 0xd -/* 038D28 8003E2C8 41820014 */ beq lbl_8003E2DC -/* 038D2C 8003E2CC 408001C8 */ bge lbl_8003E494 -/* 038D30 8003E2D0 2C000009 */ cmpwi r0, 9 -/* 038D34 8003E2D4 418200E4 */ beq lbl_8003E3B8 -/* 038D38 8003E2D8 480001BC */ b lbl_8003E494 -lbl_8003E2DC: -/* 038D3C 8003E2DC 3C830001 */ addis r4, r3, 1 -/* 038D40 8003E2E0 8004206C */ lwz r0, 0x206c(r4) -/* 038D44 8003E2E4 54A85EFE */ rlwinm r8, r5, 0xb, 0x1b, 0x1f -/* 038D48 8003E2E8 7C004000 */ cmpw r0, r8 -/* 038D4C 8003E2EC 408200C4 */ bne lbl_8003E3B0 -/* 038D50 8003E2F0 54AA86FE */ rlwinm r10, r5, 0x10, 0x1b, 0x1f -/* 038D54 8003E2F4 7C085000 */ cmpw r8, r10 -/* 038D58 8003E2F8 408200B8 */ bne lbl_8003E3B0 -/* 038D5C 8003E2FC 80042084 */ lwz r0, 0x2084(r4) -/* 038D60 8003E300 280003E8 */ cmplwi r0, 0x3e8 -/* 038D64 8003E304 4182000C */ beq lbl_8003E310 -/* 038D68 8003E308 38600000 */ li r3, 0 -/* 038D6C 8003E30C 480001BC */ b lbl_8003E4C8 -lbl_8003E310: -/* 038D70 8003E310 81270000 */ lwz r9, 0(r7) -/* 038D74 8003E314 55481838 */ slwi r8, r10, 3 -/* 038D78 8003E318 38080040 */ addi r0, r8, 0x40 -/* 038D7C 8003E31C 5528103A */ slwi r8, r9, 2 -/* 038D80 8003E320 7D064214 */ add r8, r6, r8 -/* 038D84 8003E324 3D606000 */ lis r11, 0x6000 -/* 038D88 8003E328 9168FFFC */ stw r11, -4(r8) -/* 038D8C 8003E32C 7C030214 */ add r0, r3, r0 -/* 038D90 8003E330 7D230050 */ subf r9, r3, r0 -/* 038D94 8003E334 81842070 */ lwz r12, 0x2070(r4) -/* 038D98 8003E338 54AA043E */ clrlwi r10, r5, 0x10 -/* 038D9C 8003E33C 80A70000 */ lwz r5, 0(r7) -/* 038DA0 8003E340 38000002 */ li r0, 2 -/* 038DA4 8003E344 5588A814 */ slwi r8, r12, 0x15 -/* 038DA8 8003E348 38650001 */ addi r3, r5, 1 -/* 038DAC 8003E34C 65086000 */ oris r8, r8, 0x6000 -/* 038DB0 8003E350 90670000 */ stw r3, 0(r7) -/* 038DB4 8003E354 5583801E */ slwi r3, r12, 0x10 -/* 038DB8 8003E358 7D031B78 */ or r3, r8, r3 -/* 038DBC 8003E35C 7D481B78 */ or r8, r10, r3 -/* 038DC0 8003E360 54A3103A */ slwi r3, r5, 2 -/* 038DC4 8003E364 7D06192E */ stwx r8, r6, r3 -/* 038DC8 8003E368 38600001 */ li r3, 1 -/* 038DCC 8003E36C 81070000 */ lwz r8, 0(r7) -/* 038DD0 8003E370 38A80001 */ addi r5, r8, 1 -/* 038DD4 8003E374 90A70000 */ stw r5, 0(r7) -/* 038DD8 8003E378 5505103A */ slwi r5, r8, 2 -/* 038DDC 8003E37C 7D66292E */ stwx r11, r6, r5 -/* 038DE0 8003E380 81070000 */ lwz r8, 0(r7) -/* 038DE4 8003E384 81442070 */ lwz r10, 0x2070(r4) -/* 038DE8 8003E388 38A80001 */ addi r5, r8, 1 -/* 038DEC 8003E38C 554AA814 */ slwi r10, r10, 0x15 -/* 038DF0 8003E390 90A70000 */ stw r5, 0(r7) -/* 038DF4 8003E394 65459003 */ oris r5, r10, 0x9003 -/* 038DF8 8003E398 7CA92A14 */ add r5, r9, r5 -/* 038DFC 8003E39C 38E50004 */ addi r7, r5, 4 -/* 038E00 8003E3A0 5505103A */ slwi r5, r8, 2 -/* 038E04 8003E3A4 7CE6292E */ stwx r7, r6, r5 -/* 038E08 8003E3A8 90042068 */ stw r0, 0x2068(r4) -/* 038E0C 8003E3AC 4800011C */ b lbl_8003E4C8 -lbl_8003E3B0: -/* 038E10 8003E3B0 38600000 */ li r3, 0 -/* 038E14 8003E3B4 48000114 */ b lbl_8003E4C8 -lbl_8003E3B8: -/* 038E18 8003E3B8 3C830001 */ addis r4, r3, 1 -/* 038E1C 8003E3BC 8004206C */ lwz r0, 0x206c(r4) -/* 038E20 8003E3C0 54A85EFE */ rlwinm r8, r5, 0xb, 0x1b, 0x1f -/* 038E24 8003E3C4 7C004000 */ cmpw r0, r8 -/* 038E28 8003E3C8 408200C4 */ bne lbl_8003E48C -/* 038E2C 8003E3CC 54AA86FE */ rlwinm r10, r5, 0x10, 0x1b, 0x1f -/* 038E30 8003E3D0 7C085000 */ cmpw r8, r10 -/* 038E34 8003E3D4 408200B8 */ bne lbl_8003E48C -/* 038E38 8003E3D8 80042084 */ lwz r0, 0x2084(r4) -/* 038E3C 8003E3DC 280003E8 */ cmplwi r0, 0x3e8 -/* 038E40 8003E3E0 4182000C */ beq lbl_8003E3EC -/* 038E44 8003E3E4 38600000 */ li r3, 0 -/* 038E48 8003E3E8 480000E0 */ b lbl_8003E4C8 -lbl_8003E3EC: -/* 038E4C 8003E3EC 81270000 */ lwz r9, 0(r7) -/* 038E50 8003E3F0 55481838 */ slwi r8, r10, 3 -/* 038E54 8003E3F4 38080040 */ addi r0, r8, 0x40 -/* 038E58 8003E3F8 5528103A */ slwi r8, r9, 2 -/* 038E5C 8003E3FC 7D064214 */ add r8, r6, r8 -/* 038E60 8003E400 3D606000 */ lis r11, 0x6000 -/* 038E64 8003E404 9168FFFC */ stw r11, -4(r8) -/* 038E68 8003E408 7C030214 */ add r0, r3, r0 -/* 038E6C 8003E40C 7D230050 */ subf r9, r3, r0 -/* 038E70 8003E410 81842070 */ lwz r12, 0x2070(r4) -/* 038E74 8003E414 54AA043E */ clrlwi r10, r5, 0x10 -/* 038E78 8003E418 80A70000 */ lwz r5, 0(r7) -/* 038E7C 8003E41C 38000002 */ li r0, 2 -/* 038E80 8003E420 5588A814 */ slwi r8, r12, 0x15 -/* 038E84 8003E424 38650001 */ addi r3, r5, 1 -/* 038E88 8003E428 65083800 */ oris r8, r8, 0x3800 -/* 038E8C 8003E42C 90670000 */ stw r3, 0(r7) -/* 038E90 8003E430 5583801E */ slwi r3, r12, 0x10 -/* 038E94 8003E434 7D031B78 */ or r3, r8, r3 -/* 038E98 8003E438 7D481B78 */ or r8, r10, r3 -/* 038E9C 8003E43C 54A3103A */ slwi r3, r5, 2 -/* 038EA0 8003E440 7D06192E */ stwx r8, r6, r3 -/* 038EA4 8003E444 38600001 */ li r3, 1 -/* 038EA8 8003E448 81070000 */ lwz r8, 0(r7) -/* 038EAC 8003E44C 38A80001 */ addi r5, r8, 1 -/* 038EB0 8003E450 90A70000 */ stw r5, 0(r7) -/* 038EB4 8003E454 5505103A */ slwi r5, r8, 2 -/* 038EB8 8003E458 7D66292E */ stwx r11, r6, r5 -/* 038EBC 8003E45C 81070000 */ lwz r8, 0(r7) -/* 038EC0 8003E460 81442070 */ lwz r10, 0x2070(r4) -/* 038EC4 8003E464 38A80001 */ addi r5, r8, 1 -/* 038EC8 8003E468 554AA814 */ slwi r10, r10, 0x15 -/* 038ECC 8003E46C 90A70000 */ stw r5, 0(r7) -/* 038ED0 8003E470 65459003 */ oris r5, r10, 0x9003 -/* 038ED4 8003E474 7CA92A14 */ add r5, r9, r5 -/* 038ED8 8003E478 38E50004 */ addi r7, r5, 4 -/* 038EDC 8003E47C 5505103A */ slwi r5, r8, 2 -/* 038EE0 8003E480 7CE6292E */ stwx r7, r6, r5 -/* 038EE4 8003E484 90042068 */ stw r0, 0x2068(r4) -/* 038EE8 8003E488 48000040 */ b lbl_8003E4C8 -lbl_8003E48C: -/* 038EEC 8003E48C 38600000 */ li r3, 0 -/* 038EF0 8003E490 48000038 */ b lbl_8003E4C8 -lbl_8003E494: -/* 038EF4 8003E494 3C60800F */ lis r3, D_800EC94C@ha -/* 038EF8 8003E498 4CC63182 */ crclr 6 -/* 038EFC 8003E49C 38850000 */ addi r4, r5, 0 -/* 038F00 8003E4A0 3863C94C */ addi r3, r3, D_800EC94C@l -/* 038F04 8003E4A4 38AA0000 */ addi r5, r10, 0 -/* 038F08 8003E4A8 48060151 */ bl OSReport -/* 038F0C 8003E4AC 3C60800F */ lis r3, D_800EC1E0@ha -/* 038F10 8003E4B0 4CC63182 */ crclr 6 -/* 038F14 8003E4B4 3863C1E0 */ addi r3, r3, D_800EC1E0@l -/* 038F18 8003E4B8 38800E25 */ li r4, 0xe25 -/* 038F1C 8003E4BC 38AD857C */ addi r5, r13, D_8013525C@sda21 -/* 038F20 8003E4C0 480601B9 */ bl OSPanic -/* 038F24 8003E4C4 38600000 */ li r3, 0 -lbl_8003E4C8: -/* 038F28 8003E4C8 8001000C */ lwz r0, 0xc(r1) -/* 038F2C 8003E4CC 38210008 */ addi r1, r1, 8 -/* 038F30 8003E4D0 7C0803A6 */ mtlr r0 -/* 038F34 8003E4D4 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuOpcodeChecksum.s b/asm/non_matchings/cpu/cpuOpcodeChecksum.s deleted file mode 100644 index d43b2664..00000000 --- a/asm/non_matchings/cpu/cpuOpcodeChecksum.s +++ /dev/null @@ -1,191 +0,0 @@ -glabel cpuOpcodeChecksum -/* 02B8D0 80030E70 28030000 */ cmplwi r3, 0 -/* 02B8D4 80030E74 38A00020 */ li r5, 0x20 -/* 02B8D8 80030E78 4082000C */ bne lbl_80030E84 -/* 02B8DC 80030E7C 38600000 */ li r3, 0 -/* 02B8E0 80030E80 4E800020 */ blr -lbl_80030E84: -/* 02B8E4 80030E84 546036BE */ srwi r0, r3, 0x1a -/* 02B8E8 80030E88 2800003F */ cmplwi r0, 0x3f -/* 02B8EC 80030E8C 418100F0 */ bgt lbl_80030F7C -/* 02B8F0 80030E90 3C80800F */ lis r4, jtbl_800EBF54@ha -/* 02B8F4 80030E94 3884BF54 */ addi r4, r4, jtbl_800EBF54@l -/* 02B8F8 80030E98 5400103A */ slwi r0, r0, 2 -/* 02B8FC 80030E9C 7C04002E */ lwzx r0, r4, r0 -/* 02B900 80030EA0 7C0903A6 */ mtctr r0 -/* 02B904 80030EA4 4E800420 */ bctr -.global lbl_80030EA8 -lbl_80030EA8: -/* 02B908 80030EA8 546086FE */ rlwinm r0, r3, 0x10, 0x1b, 0x1f -/* 02B90C 80030EAC 2C000010 */ cmpwi r0, 0x10 -/* 02B910 80030EB0 40800018 */ bge lbl_80030EC8 -/* 02B914 80030EB4 2C000004 */ cmpwi r0, 4 -/* 02B918 80030EB8 408000C4 */ bge lbl_80030F7C -/* 02B91C 80030EBC 2C000000 */ cmpwi r0, 0 -/* 02B920 80030EC0 40800010 */ bge lbl_80030ED0 -/* 02B924 80030EC4 480000B8 */ b lbl_80030F7C -lbl_80030EC8: -/* 02B928 80030EC8 2C000014 */ cmpwi r0, 0x14 -/* 02B92C 80030ECC 408000B0 */ bge lbl_80030F7C -lbl_80030ED0: -/* 02B930 80030ED0 38A00004 */ li r5, 4 -/* 02B934 80030ED4 480000A8 */ b lbl_80030F7C -.global lbl_80030ED8 -lbl_80030ED8: -/* 02B938 80030ED8 546006BE */ clrlwi r0, r3, 0x1a -/* 02B93C 80030EDC 28000018 */ cmplwi r0, 0x18 -/* 02B940 80030EE0 4181001C */ bgt lbl_80030EFC -/* 02B944 80030EE4 3C80800F */ lis r4, jtbl_800EBEF0@ha -/* 02B948 80030EE8 3884BEF0 */ addi r4, r4, jtbl_800EBEF0@l -/* 02B94C 80030EEC 5400103A */ slwi r0, r0, 2 -/* 02B950 80030EF0 7C04002E */ lwzx r0, r4, r0 -/* 02B954 80030EF4 7C0903A6 */ mtctr r0 -/* 02B958 80030EF8 4E800420 */ bctr -.global lbl_80030EFC -lbl_80030EFC: -/* 02B95C 80030EFC 54605EFE */ rlwinm r0, r3, 0xb, 0x1b, 0x1f -/* 02B960 80030F00 2C000008 */ cmpwi r0, 8 -/* 02B964 80030F04 41820008 */ beq lbl_80030F0C -/* 02B968 80030F08 48000074 */ b lbl_80030F7C -lbl_80030F0C: -/* 02B96C 80030F0C 546086FE */ rlwinm r0, r3, 0x10, 0x1b, 0x1f -/* 02B970 80030F10 2C000004 */ cmpwi r0, 4 -/* 02B974 80030F14 40800068 */ bge lbl_80030F7C -/* 02B978 80030F18 2C000000 */ cmpwi r0, 0 -/* 02B97C 80030F1C 40800008 */ bge lbl_80030F24 -/* 02B980 80030F20 4800005C */ b lbl_80030F7C -lbl_80030F24: -/* 02B984 80030F24 38A00004 */ li r5, 4 -/* 02B988 80030F28 48000054 */ b lbl_80030F7C -.global lbl_80030F2C -lbl_80030F2C: -/* 02B98C 80030F2C 54605EFE */ rlwinm r0, r3, 0xb, 0x1b, 0x1f -/* 02B990 80030F30 28000008 */ cmplwi r0, 8 -/* 02B994 80030F34 40820048 */ bne lbl_80030F7C -/* 02B998 80030F38 546086FE */ rlwinm r0, r3, 0x10, 0x1b, 0x1f -/* 02B99C 80030F3C 2C000004 */ cmpwi r0, 4 -/* 02B9A0 80030F40 4080003C */ bge lbl_80030F7C -/* 02B9A4 80030F44 2C000000 */ cmpwi r0, 0 -/* 02B9A8 80030F48 40800008 */ bge lbl_80030F50 -/* 02B9AC 80030F4C 48000030 */ b lbl_80030F7C -lbl_80030F50: -/* 02B9B0 80030F50 38A00004 */ li r5, 4 -/* 02B9B4 80030F54 48000028 */ b lbl_80030F7C -.global lbl_80030F58 -lbl_80030F58: -/* 02B9B8 80030F58 38A00001 */ li r5, 1 -/* 02B9BC 80030F5C 48000020 */ b lbl_80030F7C -.global lbl_80030F60 -lbl_80030F60: -/* 02B9C0 80030F60 38A00001 */ li r5, 1 -/* 02B9C4 80030F64 48000018 */ b lbl_80030F7C -.global lbl_80030F68 -lbl_80030F68: -/* 02B9C8 80030F68 38A00004 */ li r5, 4 -/* 02B9CC 80030F6C 48000010 */ b lbl_80030F7C -.global lbl_80030F70 -lbl_80030F70: -/* 02B9D0 80030F70 38A00010 */ li r5, 0x10 -/* 02B9D4 80030F74 48000008 */ b lbl_80030F7C -.global lbl_80030F78 -lbl_80030F78: -/* 02B9D8 80030F78 38A00010 */ li r5, 0x10 -.global lbl_80030F7C -lbl_80030F7C: -/* 02B9DC 80030F7C 7CA32B78 */ mr r3, r5 -/* 02B9E0 80030F80 4E800020 */ blr - -.section .data - -jtbl_800EBEF0: - .word lbl_80030EFC - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030F7C - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030F7C - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030EFC - .word lbl_80030F7C - -jtbl_800EBF54: - .word lbl_80030F7C - .word lbl_80030EA8 - .word lbl_80030F58 - .word lbl_80030F60 - .word lbl_80030F68 - .word lbl_80030F68 - .word lbl_80030F68 - .word lbl_80030F68 - .word lbl_80030F7C - .word lbl_80030F70 - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F70 - .word lbl_80030F7C - .word lbl_80030F70 - .word lbl_80030ED8 - .word lbl_80030F2C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F68 - .word lbl_80030F68 - .word lbl_80030F68 - .word lbl_80030F68 - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F78 - .word lbl_80030F78 - .word lbl_80030F78 - .word lbl_80030F78 - .word lbl_80030F78 - .word lbl_80030F78 - .word lbl_80030F78 - .word lbl_80030F7C - .word lbl_80030F78 - .word lbl_80030F78 - .word lbl_80030F7C - .word lbl_80030F78 - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F78 - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F78 - .word lbl_80030F7C - .word lbl_80030F78 - .word lbl_80030F7C - .word lbl_80030F78 - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F7C - .word lbl_80030F78 - .word lbl_80030F7C - .word lbl_80030F78 diff --git a/asm/non_matchings/cpu/cpuReset.s b/asm/non_matchings/cpu/cpuReset.s deleted file mode 100644 index 5a2462bd..00000000 --- a/asm/non_matchings/cpu/cpuReset.s +++ /dev/null @@ -1,326 +0,0 @@ -glabel cpuReset -/* 02F548 80034AE8 7C0802A6 */ mflr r0 -/* 02F54C 80034AEC 38800000 */ li r4, 0 -/* 02F550 80034AF0 90010004 */ stw r0, 4(r1) -/* 02F554 80034AF4 38000010 */ li r0, 0x10 -/* 02F558 80034AF8 7C0903A6 */ mtctr r0 -/* 02F55C 80034AFC 9421FFC0 */ stwu r1, -0x40(r1) -/* 02F560 80034B00 93E1003C */ stw r31, 0x3c(r1) -/* 02F564 80034B04 3BE30000 */ addi r31, r3, 0 -/* 02F568 80034B08 38DF0000 */ addi r6, r31, 0 -/* 02F56C 80034B0C 93C10038 */ stw r30, 0x38(r1) -/* 02F570 80034B10 90830004 */ stw r4, 4(r3) -/* 02F574 80034B14 3C7F0001 */ addis r3, r31, 1 -/* 02F578 80034B18 90831EA4 */ stw r4, 0x1ea4(r3) -/* 02F57C 80034B1C 38600040 */ li r3, 0x40 -/* 02F580 80034B20 907F0000 */ stw r3, 0(r31) -/* 02F584 80034B24 909F0B40 */ stw r4, 0xb40(r31) -lbl_80034B28: -/* 02F588 80034B28 38A00000 */ li r5, 0 -/* 02F58C 80034B2C 90A60244 */ stw r5, 0x244(r6) -/* 02F590 80034B30 3880FFFF */ li r4, -1 -/* 02F594 80034B34 90A60240 */ stw r5, 0x240(r6) -/* 02F598 80034B38 90A6024C */ stw r5, 0x24c(r6) -/* 02F59C 80034B3C 90A60248 */ stw r5, 0x248(r6) -/* 02F5A0 80034B40 90A60254 */ stw r5, 0x254(r6) -/* 02F5A4 80034B44 90A60250 */ stw r5, 0x250(r6) -/* 02F5A8 80034B48 90A6025C */ stw r5, 0x25c(r6) -/* 02F5AC 80034B4C 90A60258 */ stw r5, 0x258(r6) -/* 02F5B0 80034B50 90A60264 */ stw r5, 0x264(r6) -/* 02F5B4 80034B54 90A60260 */ stw r5, 0x260(r6) -/* 02F5B8 80034B58 90860264 */ stw r4, 0x264(r6) -/* 02F5BC 80034B5C 90860260 */ stw r4, 0x260(r6) -/* 02F5C0 80034B60 90A6026C */ stw r5, 0x26c(r6) -/* 02F5C4 80034B64 90A60268 */ stw r5, 0x268(r6) -/* 02F5C8 80034B68 90A60274 */ stw r5, 0x274(r6) -/* 02F5CC 80034B6C 90A60270 */ stw r5, 0x270(r6) -/* 02F5D0 80034B70 90A6027C */ stw r5, 0x27c(r6) -/* 02F5D4 80034B74 90A60278 */ stw r5, 0x278(r6) -/* 02F5D8 80034B78 90A60284 */ stw r5, 0x284(r6) -/* 02F5DC 80034B7C 90A60280 */ stw r5, 0x280(r6) -/* 02F5E0 80034B80 90A6028C */ stw r5, 0x28c(r6) -/* 02F5E4 80034B84 90A60288 */ stw r5, 0x288(r6) -/* 02F5E8 80034B88 9086028C */ stw r4, 0x28c(r6) -/* 02F5EC 80034B8C 90860288 */ stw r4, 0x288(r6) -/* 02F5F0 80034B90 90A60294 */ stw r5, 0x294(r6) -/* 02F5F4 80034B94 90A60290 */ stw r5, 0x290(r6) -/* 02F5F8 80034B98 90A6029C */ stw r5, 0x29c(r6) -/* 02F5FC 80034B9C 90A60298 */ stw r5, 0x298(r6) -/* 02F600 80034BA0 90A602A4 */ stw r5, 0x2a4(r6) -/* 02F604 80034BA4 90A602A0 */ stw r5, 0x2a0(r6) -/* 02F608 80034BA8 90A602AC */ stw r5, 0x2ac(r6) -/* 02F60C 80034BAC 90A602A8 */ stw r5, 0x2a8(r6) -/* 02F610 80034BB0 90A602B4 */ stw r5, 0x2b4(r6) -/* 02F614 80034BB4 90A602B0 */ stw r5, 0x2b0(r6) -/* 02F618 80034BB8 908602B4 */ stw r4, 0x2b4(r6) -/* 02F61C 80034BBC 908602B0 */ stw r4, 0x2b0(r6) -/* 02F620 80034BC0 38C60078 */ addi r6, r6, 0x78 -/* 02F624 80034BC4 4200FF64 */ bdnz lbl_80034B28 -/* 02F628 80034BC8 90BF0014 */ stw r5, 0x14(r31) -/* 02F62C 80034BCC 3C608000 */ lis r3, 0x8000 -/* 02F630 80034BD0 38000002 */ li r0, 2 -/* 02F634 80034BD4 90BF0010 */ stw r5, 0x10(r31) -/* 02F638 80034BD8 38630400 */ addi r3, r3, 0x400 -/* 02F63C 80034BDC 7C0903A6 */ mtctr r0 -/* 02F640 80034BE0 38FF0000 */ addi r7, r31, 0 -/* 02F644 80034BE4 90BF001C */ stw r5, 0x1c(r31) -/* 02F648 80034BE8 90BF0018 */ stw r5, 0x18(r31) -/* 02F64C 80034BEC 907F0028 */ stw r3, 0x28(r31) -/* 02F650 80034BF0 909F002C */ stw r4, 0x2c(r31) -lbl_80034BF4: -/* 02F654 80034BF4 38C00000 */ li r6, 0 -/* 02F658 80034BF8 90C70044 */ stw r6, 0x44(r7) -/* 02F65C 80034BFC 90C70040 */ stw r6, 0x40(r7) -/* 02F660 80034C00 90C7004C */ stw r6, 0x4c(r7) -/* 02F664 80034C04 90C70048 */ stw r6, 0x48(r7) -/* 02F668 80034C08 90C70054 */ stw r6, 0x54(r7) -/* 02F66C 80034C0C 90C70050 */ stw r6, 0x50(r7) -/* 02F670 80034C10 90C7005C */ stw r6, 0x5c(r7) -/* 02F674 80034C14 90C70058 */ stw r6, 0x58(r7) -/* 02F678 80034C18 90C70064 */ stw r6, 0x64(r7) -/* 02F67C 80034C1C 90C70060 */ stw r6, 0x60(r7) -/* 02F680 80034C20 90C7006C */ stw r6, 0x6c(r7) -/* 02F684 80034C24 90C70068 */ stw r6, 0x68(r7) -/* 02F688 80034C28 90C70074 */ stw r6, 0x74(r7) -/* 02F68C 80034C2C 90C70070 */ stw r6, 0x70(r7) -/* 02F690 80034C30 90C7007C */ stw r6, 0x7c(r7) -/* 02F694 80034C34 90C70078 */ stw r6, 0x78(r7) -/* 02F698 80034C38 90C70084 */ stw r6, 0x84(r7) -/* 02F69C 80034C3C 90C70080 */ stw r6, 0x80(r7) -/* 02F6A0 80034C40 90C7008C */ stw r6, 0x8c(r7) -/* 02F6A4 80034C44 90C70088 */ stw r6, 0x88(r7) -/* 02F6A8 80034C48 90C70094 */ stw r6, 0x94(r7) -/* 02F6AC 80034C4C 90C70090 */ stw r6, 0x90(r7) -/* 02F6B0 80034C50 90C7009C */ stw r6, 0x9c(r7) -/* 02F6B4 80034C54 90C70098 */ stw r6, 0x98(r7) -/* 02F6B8 80034C58 90C700A4 */ stw r6, 0xa4(r7) -/* 02F6BC 80034C5C 90C700A0 */ stw r6, 0xa0(r7) -/* 02F6C0 80034C60 90C700AC */ stw r6, 0xac(r7) -/* 02F6C4 80034C64 90C700A8 */ stw r6, 0xa8(r7) -/* 02F6C8 80034C68 90C700B4 */ stw r6, 0xb4(r7) -/* 02F6CC 80034C6C 90C700B0 */ stw r6, 0xb0(r7) -/* 02F6D0 80034C70 90C700BC */ stw r6, 0xbc(r7) -/* 02F6D4 80034C74 90C700B8 */ stw r6, 0xb8(r7) -/* 02F6D8 80034C78 38E70080 */ addi r7, r7, 0x80 -/* 02F6DC 80034C7C 4200FF78 */ bdnz lbl_80034BF4 -/* 02F6E0 80034C80 C80282A0 */ lfd f0, D_80135FA0@sda21(r2) -/* 02F6E4 80034C84 38000002 */ li r0, 2 -/* 02F6E8 80034C88 38A00001 */ li r5, 1 -/* 02F6EC 80034C8C 7C0903A6 */ mtctr r0 -/* 02F6F0 80034C90 D81F0140 */ stfd f0, 0x140(r31) -/* 02F6F4 80034C94 3C60A400 */ lis r3, 0xa400 -/* 02F6F8 80034C98 D81F0148 */ stfd f0, 0x148(r31) -/* 02F6FC 80034C9C 38031FF0 */ addi r0, r3, 0x1ff0 -/* 02F700 80034CA0 3880003F */ li r4, 0x3f -/* 02F704 80034CA4 D81F0150 */ stfd f0, 0x150(r31) -/* 02F708 80034CA8 7FE3FB78 */ mr r3, r31 -/* 02F70C 80034CAC D81F0158 */ stfd f0, 0x158(r31) -/* 02F710 80034CB0 D81F0160 */ stfd f0, 0x160(r31) -/* 02F714 80034CB4 D81F0168 */ stfd f0, 0x168(r31) -/* 02F718 80034CB8 D81F0170 */ stfd f0, 0x170(r31) -/* 02F71C 80034CBC D81F0178 */ stfd f0, 0x178(r31) -/* 02F720 80034CC0 D81F0180 */ stfd f0, 0x180(r31) -/* 02F724 80034CC4 D81F0188 */ stfd f0, 0x188(r31) -/* 02F728 80034CC8 D81F0190 */ stfd f0, 0x190(r31) -/* 02F72C 80034CCC D81F0198 */ stfd f0, 0x198(r31) -/* 02F730 80034CD0 D81F01A0 */ stfd f0, 0x1a0(r31) -/* 02F734 80034CD4 D81F01A8 */ stfd f0, 0x1a8(r31) -/* 02F738 80034CD8 D81F01B0 */ stfd f0, 0x1b0(r31) -/* 02F73C 80034CDC D81F01B8 */ stfd f0, 0x1b8(r31) -/* 02F740 80034CE0 D81F01C0 */ stfd f0, 0x1c0(r31) -/* 02F744 80034CE4 D81F01C8 */ stfd f0, 0x1c8(r31) -/* 02F748 80034CE8 D81F01D0 */ stfd f0, 0x1d0(r31) -/* 02F74C 80034CEC D81F01D8 */ stfd f0, 0x1d8(r31) -/* 02F750 80034CF0 D81F01E0 */ stfd f0, 0x1e0(r31) -/* 02F754 80034CF4 D81F01E8 */ stfd f0, 0x1e8(r31) -/* 02F758 80034CF8 D81F01F0 */ stfd f0, 0x1f0(r31) -/* 02F75C 80034CFC D81F01F8 */ stfd f0, 0x1f8(r31) -/* 02F760 80034D00 D81F0200 */ stfd f0, 0x200(r31) -/* 02F764 80034D04 D81F0208 */ stfd f0, 0x208(r31) -/* 02F768 80034D08 D81F0210 */ stfd f0, 0x210(r31) -/* 02F76C 80034D0C D81F0218 */ stfd f0, 0x218(r31) -/* 02F770 80034D10 D81F0220 */ stfd f0, 0x220(r31) -/* 02F774 80034D14 D81F0228 */ stfd f0, 0x228(r31) -/* 02F778 80034D18 D81F0230 */ stfd f0, 0x230(r31) -/* 02F77C 80034D1C D81F0238 */ stfd f0, 0x238(r31) -/* 02F780 80034D20 90DF09C0 */ stw r6, 0x9c0(r31) -/* 02F784 80034D24 90DF09C4 */ stw r6, 0x9c4(r31) -/* 02F788 80034D28 90DF09C8 */ stw r6, 0x9c8(r31) -/* 02F78C 80034D2C 90DF09CC */ stw r6, 0x9cc(r31) -/* 02F790 80034D30 90DF09D0 */ stw r6, 0x9d0(r31) -/* 02F794 80034D34 90DF09D4 */ stw r6, 0x9d4(r31) -/* 02F798 80034D38 90DF09D8 */ stw r6, 0x9d8(r31) -/* 02F79C 80034D3C 90DF09DC */ stw r6, 0x9dc(r31) -/* 02F7A0 80034D40 90DF09E0 */ stw r6, 0x9e0(r31) -/* 02F7A4 80034D44 90DF09E4 */ stw r6, 0x9e4(r31) -/* 02F7A8 80034D48 90DF09E8 */ stw r6, 0x9e8(r31) -/* 02F7AC 80034D4C 90DF09EC */ stw r6, 0x9ec(r31) -/* 02F7B0 80034D50 90DF09F0 */ stw r6, 0x9f0(r31) -/* 02F7B4 80034D54 90DF09F4 */ stw r6, 0x9f4(r31) -/* 02F7B8 80034D58 90DF09F8 */ stw r6, 0x9f8(r31) -/* 02F7BC 80034D5C 90DF09FC */ stw r6, 0x9fc(r31) -/* 02F7C0 80034D60 90DF0A00 */ stw r6, 0xa00(r31) -/* 02F7C4 80034D64 90DF0A04 */ stw r6, 0xa04(r31) -/* 02F7C8 80034D68 90DF0A08 */ stw r6, 0xa08(r31) -/* 02F7CC 80034D6C 90DF0A0C */ stw r6, 0xa0c(r31) -/* 02F7D0 80034D70 90DF0A10 */ stw r6, 0xa10(r31) -/* 02F7D4 80034D74 90DF0A14 */ stw r6, 0xa14(r31) -/* 02F7D8 80034D78 90DF0A18 */ stw r6, 0xa18(r31) -/* 02F7DC 80034D7C 90DF0A1C */ stw r6, 0xa1c(r31) -/* 02F7E0 80034D80 90DF0A20 */ stw r6, 0xa20(r31) -/* 02F7E4 80034D84 90DF0A24 */ stw r6, 0xa24(r31) -/* 02F7E8 80034D88 90DF0A28 */ stw r6, 0xa28(r31) -/* 02F7EC 80034D8C 90DF0A2C */ stw r6, 0xa2c(r31) -/* 02F7F0 80034D90 90DF0A30 */ stw r6, 0xa30(r31) -/* 02F7F4 80034D94 90DF0A34 */ stw r6, 0xa34(r31) -/* 02F7F8 80034D98 90DF0A38 */ stw r6, 0xa38(r31) -/* 02F7FC 80034D9C 90DF0A3C */ stw r6, 0xa3c(r31) -/* 02F800 80034DA0 90BF00E4 */ stw r5, 0xe4(r31) -/* 02F804 80034DA4 90DF00E0 */ stw r6, 0xe0(r31) -/* 02F808 80034DA8 909F00F4 */ stw r4, 0xf4(r31) -/* 02F80C 80034DAC 90DF00F0 */ stw r6, 0xf0(r31) -/* 02F810 80034DB0 901F012C */ stw r0, 0x12c(r31) -/* 02F814 80034DB4 90DF0128 */ stw r6, 0x128(r31) -lbl_80034DB8: -/* 02F818 80034DB8 3BC00000 */ li r30, 0 -/* 02F81C 80034DBC 93C30A44 */ stw r30, 0xa44(r3) -/* 02F820 80034DC0 93C30A40 */ stw r30, 0xa40(r3) -/* 02F824 80034DC4 93C30A4C */ stw r30, 0xa4c(r3) -/* 02F828 80034DC8 93C30A48 */ stw r30, 0xa48(r3) -/* 02F82C 80034DCC 93C30A54 */ stw r30, 0xa54(r3) -/* 02F830 80034DD0 93C30A50 */ stw r30, 0xa50(r3) -/* 02F834 80034DD4 93C30A5C */ stw r30, 0xa5c(r3) -/* 02F838 80034DD8 93C30A58 */ stw r30, 0xa58(r3) -/* 02F83C 80034DDC 93C30A64 */ stw r30, 0xa64(r3) -/* 02F840 80034DE0 93C30A60 */ stw r30, 0xa60(r3) -/* 02F844 80034DE4 93C30A6C */ stw r30, 0xa6c(r3) -/* 02F848 80034DE8 93C30A68 */ stw r30, 0xa68(r3) -/* 02F84C 80034DEC 93C30A74 */ stw r30, 0xa74(r3) -/* 02F850 80034DF0 93C30A70 */ stw r30, 0xa70(r3) -/* 02F854 80034DF4 93C30A7C */ stw r30, 0xa7c(r3) -/* 02F858 80034DF8 93C30A78 */ stw r30, 0xa78(r3) -/* 02F85C 80034DFC 93C30A84 */ stw r30, 0xa84(r3) -/* 02F860 80034E00 93C30A80 */ stw r30, 0xa80(r3) -/* 02F864 80034E04 93C30A8C */ stw r30, 0xa8c(r3) -/* 02F868 80034E08 93C30A88 */ stw r30, 0xa88(r3) -/* 02F86C 80034E0C 93C30A94 */ stw r30, 0xa94(r3) -/* 02F870 80034E10 93C30A90 */ stw r30, 0xa90(r3) -/* 02F874 80034E14 93C30A9C */ stw r30, 0xa9c(r3) -/* 02F878 80034E18 93C30A98 */ stw r30, 0xa98(r3) -/* 02F87C 80034E1C 93C30AA4 */ stw r30, 0xaa4(r3) -/* 02F880 80034E20 93C30AA0 */ stw r30, 0xaa0(r3) -/* 02F884 80034E24 93C30AAC */ stw r30, 0xaac(r3) -/* 02F888 80034E28 93C30AA8 */ stw r30, 0xaa8(r3) -/* 02F88C 80034E2C 93C30AB4 */ stw r30, 0xab4(r3) -/* 02F890 80034E30 93C30AB0 */ stw r30, 0xab0(r3) -/* 02F894 80034E34 93C30ABC */ stw r30, 0xabc(r3) -/* 02F898 80034E38 93C30AB8 */ stw r30, 0xab8(r3) -/* 02F89C 80034E3C 38630080 */ addi r3, r3, 0x80 -/* 02F8A0 80034E40 4200FF78 */ bdnz lbl_80034DB8 -/* 02F8A4 80034E44 38000B00 */ li r0, 0xb00 -/* 02F8A8 80034E48 901F0ABC */ stw r0, 0xabc(r31) -/* 02F8AC 80034E4C 3C802001 */ lis r4, 0x2001 -/* 02F8B0 80034E50 3C001000 */ lis r0, 0x1000 -/* 02F8B4 80034E54 93DF0AB8 */ stw r30, 0xab8(r31) -/* 02F8B8 80034E58 387F0000 */ addi r3, r31, 0 -/* 02F8BC 80034E5C 38C4FF01 */ addi r6, r4, -255 -/* 02F8C0 80034E60 901F0A8C */ stw r0, 0xa8c(r31) -/* 02F8C4 80034E64 38A00000 */ li r5, 0 -/* 02F8C8 80034E68 38E00001 */ li r7, 1 -/* 02F8CC 80034E6C 93DF0A88 */ stw r30, 0xa88(r31) -/* 02F8D0 80034E70 480008CD */ bl cpuSetCP0_Status -/* 02F8D4 80034E74 3C600007 */ lis r3, 7 -/* 02F8D8 80034E78 3803E463 */ addi r0, r3, -7069 -/* 02F8DC 80034E7C 901F0AC4 */ stw r0, 0xac4(r31) -/* 02F8E0 80034E80 7FE3FB78 */ mr r3, r31 -/* 02F8E4 80034E84 93DF0AC0 */ stw r30, 0xac0(r31) -/* 02F8E8 80034E88 93DF0020 */ stw r30, 0x20(r31) -/* 02F8EC 80034E8C 480017CD */ bl cpuHackHandler -/* 02F8F0 80034E90 2C030000 */ cmpwi r3, 0 -/* 02F8F4 80034E94 41820010 */ beq lbl_80034EA4 -/* 02F8F8 80034E98 801F0000 */ lwz r0, 0(r31) -/* 02F8FC 80034E9C 60000010 */ ori r0, r0, 0x10 -/* 02F900 80034EA0 901F0000 */ stw r0, 0(r31) -lbl_80034EA4: -/* 02F904 80034EA4 3C7F0001 */ addis r3, r31, 1 -/* 02F908 80034EA8 388000C0 */ li r4, 0xc0 -/* 02F90C 80034EAC 38630F6C */ addi r3, r3, 0xf6c -/* 02F910 80034EB0 4BFFF3D9 */ bl cpuHeapReset -/* 02F914 80034EB4 2C030000 */ cmpwi r3, 0 -/* 02F918 80034EB8 4082000C */ bne lbl_80034EC4 -/* 02F91C 80034EBC 38600000 */ li r3, 0 -/* 02F920 80034EC0 480000F4 */ b lbl_80034FB4 -lbl_80034EC4: -/* 02F924 80034EC4 3C7F0001 */ addis r3, r31, 1 -/* 02F928 80034EC8 80030F64 */ lwz r0, 0xf64(r3) -/* 02F92C 80034ECC 28000000 */ cmplwi r0, 0 -/* 02F930 80034ED0 40820020 */ bne lbl_80034EF0 -/* 02F934 80034ED4 3C803030 */ lis r4, 0x3030 -/* 02F938 80034ED8 38630F64 */ addi r3, r3, 0xf64 -/* 02F93C 80034EDC 4BFD22D9 */ bl xlHeapTake -/* 02F940 80034EE0 2C030000 */ cmpwi r3, 0 -/* 02F944 80034EE4 4082000C */ bne lbl_80034EF0 -/* 02F948 80034EE8 38600000 */ li r3, 0 -/* 02F94C 80034EEC 480000C8 */ b lbl_80034FB4 -lbl_80034EF0: -/* 02F950 80034EF0 3C7F0001 */ addis r3, r31, 1 -/* 02F954 80034EF4 3880000D */ li r4, 0xd -/* 02F958 80034EF8 3863126C */ addi r3, r3, 0x126c -/* 02F95C 80034EFC 4BFFF38D */ bl cpuHeapReset -/* 02F960 80034F00 2C030000 */ cmpwi r3, 0 -/* 02F964 80034F04 4082000C */ bne lbl_80034F10 -/* 02F968 80034F08 38600000 */ li r3, 0 -/* 02F96C 80034F0C 480000A8 */ b lbl_80034FB4 -lbl_80034F10: -/* 02F970 80034F10 3C7F0001 */ addis r3, r31, 1 -/* 02F974 80034F14 80030F68 */ lwz r0, 0xf68(r3) -/* 02F978 80034F18 28000000 */ cmplwi r0, 0 -/* 02F97C 80034F1C 40820024 */ bne lbl_80034F40 -/* 02F980 80034F20 3C803010 */ lis r4, 0x3010 -/* 02F984 80034F24 38630F68 */ addi r3, r3, 0xf68 -/* 02F988 80034F28 38844000 */ addi r4, r4, 0x4000 -/* 02F98C 80034F2C 4BFD2289 */ bl xlHeapTake -/* 02F990 80034F30 2C030000 */ cmpwi r3, 0 -/* 02F994 80034F34 4082000C */ bne lbl_80034F40 -/* 02F998 80034F38 38600000 */ li r3, 0 -/* 02F99C 80034F3C 48000078 */ b lbl_80034FB4 -lbl_80034F40: -/* 02F9A0 80034F40 3C608013 */ lis r3, aHeapTreeFlag@ha -/* 02F9A4 80034F44 38630A58 */ addi r3, r3, aHeapTreeFlag@l -/* 02F9A8 80034F48 3880007D */ li r4, 0x7d -/* 02F9AC 80034F4C 4BFFF33D */ bl cpuHeapReset -/* 02F9B0 80034F50 2C030000 */ cmpwi r3, 0 -/* 02F9B4 80034F54 4082000C */ bne lbl_80034F60 -/* 02F9B8 80034F58 38600000 */ li r3, 0 -/* 02F9BC 80034F5C 48000058 */ b lbl_80034FB4 -lbl_80034F60: -/* 02F9C0 80034F60 800D8A00 */ lwz r0, gHeapTree@sda21(r13) -/* 02F9C4 80034F64 28000000 */ cmplwi r0, 0 -/* 02F9C8 80034F68 40820024 */ bne lbl_80034F8C -/* 02F9CC 80034F6C 3C603004 */ lis r3, 0x3004 -/* 02F9D0 80034F70 38836500 */ addi r4, r3, 0x6500 -/* 02F9D4 80034F74 386D8A00 */ addi r3, r13, gHeapTree@sda21 -/* 02F9D8 80034F78 4BFD223D */ bl xlHeapTake -/* 02F9DC 80034F7C 2C030000 */ cmpwi r3, 0 -/* 02F9E0 80034F80 4082000C */ bne lbl_80034F8C -/* 02F9E4 80034F84 38600000 */ li r3, 0 -/* 02F9E8 80034F88 4800002C */ b lbl_80034FB4 -lbl_80034F8C: -/* 02F9EC 80034F8C 3C7F0001 */ addis r3, r31, 1 -/* 02F9F0 80034F90 800312A0 */ lwz r0, 0x12a0(r3) -/* 02F9F4 80034F94 28000000 */ cmplwi r0, 0 -/* 02F9F8 80034F98 4182000C */ beq lbl_80034FA4 -/* 02F9FC 80034F9C 7FE3FB78 */ mr r3, r31 -/* 02FA00 80034FA0 4BFFDCE5 */ bl treeKill -lbl_80034FA4: -/* 02FA04 80034FA4 3C7F0001 */ addis r3, r31, 1 -/* 02FA08 80034FA8 38000001 */ li r0, 1 -/* 02FA0C 80034FAC 90032060 */ stw r0, 0x2060(r3) -/* 02FA10 80034FB0 38600001 */ li r3, 1 -lbl_80034FB4: -/* 02FA14 80034FB4 80010044 */ lwz r0, 0x44(r1) -/* 02FA18 80034FB8 83E1003C */ lwz r31, 0x3c(r1) -/* 02FA1C 80034FBC 83C10038 */ lwz r30, 0x38(r1) -/* 02FA20 80034FC0 7C0803A6 */ mtlr r0 -/* 02FA24 80034FC4 38210040 */ addi r1, r1, 0x40 -/* 02FA28 80034FC8 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuRetraceCallback.s b/asm/non_matchings/cpu/cpuRetraceCallback.s deleted file mode 100644 index 98a76178..00000000 --- a/asm/non_matchings/cpu/cpuRetraceCallback.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel cpuRetraceCallback -/* 038C64 8003E204 808D8920 */ lwz r4, gpSystem@sda21(r13) -/* 038C68 8003E208 80840024 */ lwz r4, 0x24(r4) -/* 038C6C 8003E20C 90640B5C */ stw r3, 0xb5c(r4) -/* 038C70 8003E210 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuSetCP0_Status.s b/asm/non_matchings/cpu/cpuSetCP0_Status.s deleted file mode 100644 index f46544e4..00000000 --- a/asm/non_matchings/cpu/cpuSetCP0_Status.s +++ /dev/null @@ -1,41 +0,0 @@ -glabel cpuSetCP0_Status -/* 03019C 8003573C 7C0802A6 */ mflr r0 -/* 0301A0 80035740 90010004 */ stw r0, 4(r1) -/* 0301A4 80035744 9421FFC0 */ stwu r1, -0x40(r1) -/* 0301A8 80035748 93E1003C */ stw r31, 0x3c(r1) -/* 0301AC 8003574C 3BE50000 */ addi r31, r5, 0 -/* 0301B0 80035750 38A10020 */ addi r5, r1, 0x20 -/* 0301B4 80035754 93C10038 */ stw r30, 0x38(r1) -/* 0301B8 80035758 3BC60000 */ addi r30, r6, 0 -/* 0301BC 8003575C 389E0000 */ addi r4, r30, 0 -/* 0301C0 80035760 93A10034 */ stw r29, 0x34(r1) -/* 0301C4 80035764 3BA30000 */ addi r29, r3, 0 -/* 0301C8 80035768 387F0000 */ addi r3, r31, 0 -/* 0301CC 8003576C 38C10028 */ addi r6, r1, 0x28 -/* 0301D0 80035770 48000061 */ bl cpuGetSize -/* 0301D4 80035774 2C030000 */ cmpwi r3, 0 -/* 0301D8 80035778 4082000C */ bne lbl_80035784 -/* 0301DC 8003577C 38600000 */ li r3, 0 -/* 0301E0 80035780 48000034 */ b lbl_800357B4 -lbl_80035784: -/* 0301E4 80035784 807D0AA0 */ lwz r3, 0xaa0(r29) -/* 0301E8 80035788 38A1001C */ addi r5, r1, 0x1c -/* 0301EC 8003578C 809D0AA4 */ lwz r4, 0xaa4(r29) -/* 0301F0 80035790 38C10024 */ addi r6, r1, 0x24 -/* 0301F4 80035794 4800003D */ bl cpuGetSize -/* 0301F8 80035798 2C030000 */ cmpwi r3, 0 -/* 0301FC 8003579C 4082000C */ bne lbl_800357A8 -/* 030200 800357A0 38600000 */ li r3, 0 -/* 030204 800357A4 48000010 */ b lbl_800357B4 -lbl_800357A8: -/* 030208 800357A8 93DD0AA4 */ stw r30, 0xaa4(r29) -/* 03020C 800357AC 38600001 */ li r3, 1 -/* 030210 800357B0 93FD0AA0 */ stw r31, 0xaa0(r29) -lbl_800357B4: -/* 030214 800357B4 80010044 */ lwz r0, 0x44(r1) -/* 030218 800357B8 83E1003C */ lwz r31, 0x3c(r1) -/* 03021C 800357BC 83C10038 */ lwz r30, 0x38(r1) -/* 030220 800357C0 7C0803A6 */ mtlr r0 -/* 030224 800357C4 83A10034 */ lwz r29, 0x34(r1) -/* 030228 800357C8 38210040 */ addi r1, r1, 0x40 -/* 03022C 800357CC 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuSetCodeHack.s b/asm/non_matchings/cpu/cpuSetCodeHack.s deleted file mode 100644 index 968edb22..00000000 --- a/asm/non_matchings/cpu/cpuSetCodeHack.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel cpuSetCodeHack -/* 02FA2C 80034FCC 3CE30001 */ addis r7, r3, 1 -/* 02FA30 80034FD0 80071EA4 */ lwz r0, 0x1ea4(r7) -/* 02FA34 80034FD4 39030000 */ addi r8, r3, 0 -/* 02FA38 80034FD8 39200000 */ li r9, 0 -/* 02FA3C 80034FDC 2C000000 */ cmpwi r0, 0 -/* 02FA40 80034FE0 7C0903A6 */ mtctr r0 -/* 02FA44 80034FE4 40810028 */ ble lbl_8003500C -lbl_80034FE8: -/* 02FA48 80034FE8 3CE80001 */ addis r7, r8, 1 -/* 02FA4C 80034FEC 80071EA8 */ lwz r0, 0x1ea8(r7) -/* 02FA50 80034FF0 7C002040 */ cmplw r0, r4 -/* 02FA54 80034FF4 4082000C */ bne lbl_80035000 -/* 02FA58 80034FF8 38600000 */ li r3, 0 -/* 02FA5C 80034FFC 4E800020 */ blr -lbl_80035000: -/* 02FA60 80035000 3908000C */ addi r8, r8, 0xc -/* 02FA64 80035004 39290001 */ addi r9, r9, 1 -/* 02FA68 80035008 4200FFE0 */ bdnz lbl_80034FE8 -lbl_8003500C: -/* 02FA6C 8003500C 1C09000C */ mulli r0, r9, 0xc -/* 02FA70 80035010 3D030001 */ addis r8, r3, 1 -/* 02FA74 80035014 7CE80214 */ add r7, r8, r0 -/* 02FA78 80035018 90871EA8 */ stw r4, 0x1ea8(r7) -/* 02FA7C 8003501C 38600001 */ li r3, 1 -/* 02FA80 80035020 90A71EAC */ stw r5, 0x1eac(r7) -/* 02FA84 80035024 90C71EB0 */ stw r6, 0x1eb0(r7) -/* 02FA88 80035028 80881EA4 */ lwz r4, 0x1ea4(r8) -/* 02FA8C 8003502C 38040001 */ addi r0, r4, 1 -/* 02FA90 80035030 90081EA4 */ stw r0, 0x1ea4(r8) -/* 02FA94 80035034 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuSetDeviceGet.s b/asm/non_matchings/cpu/cpuSetDeviceGet.s deleted file mode 100644 index 223bc000..00000000 --- a/asm/non_matchings/cpu/cpuSetDeviceGet.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel cpuSetDeviceGet -/* 02FAB0 80035050 90A4000C */ stw r5, 0xc(r4) -/* 02FAB4 80035054 38600001 */ li r3, 1 -/* 02FAB8 80035058 90C40010 */ stw r6, 0x10(r4) -/* 02FABC 8003505C 90E40014 */ stw r7, 0x14(r4) -/* 02FAC0 80035060 91040018 */ stw r8, 0x18(r4) -/* 02FAC4 80035064 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuSetDevicePut.s b/asm/non_matchings/cpu/cpuSetDevicePut.s deleted file mode 100644 index 9ac53cbe..00000000 --- a/asm/non_matchings/cpu/cpuSetDevicePut.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel cpuSetDevicePut -/* 02FA98 80035038 90A4001C */ stw r5, 0x1c(r4) -/* 02FA9C 8003503C 38600001 */ li r3, 1 -/* 02FAA0 80035040 90C40020 */ stw r6, 0x20(r4) -/* 02FAA4 80035044 90E40024 */ stw r7, 0x24(r4) -/* 02FAA8 80035048 91040028 */ stw r8, 0x28(r4) -/* 02FAAC 8003504C 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuSetRegisterCP0.s b/asm/non_matchings/cpu/cpuSetRegisterCP0.s deleted file mode 100644 index cce09338..00000000 --- a/asm/non_matchings/cpu/cpuSetRegisterCP0.s +++ /dev/null @@ -1,175 +0,0 @@ -glabel cpuSetRegisterCP0 -/* 02FFD0 80035570 7C0802A6 */ mflr r0 -/* 02FFD4 80035574 90010004 */ stw r0, 4(r1) -/* 02FFD8 80035578 9421FFC8 */ stwu r1, -0x38(r1) -/* 02FFDC 8003557C BF410020 */ stmw r26, 0x20(r1) -/* 02FFE0 80035580 3B640000 */ addi r27, r4, 0 -/* 02FFE4 80035584 3C80800F */ lis r4, gClassCPU@ha -/* 02FFE8 80035588 281B001F */ cmplwi r27, 0x1f -/* 02FFEC 8003558C 3B430000 */ addi r26, r3, 0 -/* 02FFF0 80035590 3BA50000 */ addi r29, r5, 0 -/* 02FFF4 80035594 3B860000 */ addi r28, r6, 0 -/* 02FFF8 80035598 3BE4B658 */ addi r31, r4, gClassCPU@l -/* 02FFFC 8003559C 3BC00000 */ li r30, 0 -/* 030000 800355A0 41810154 */ bgt lbl_800356F4 -/* 030004 800355A4 3C60800F */ lis r3, jtbl_800ED5F4@ha -/* 030008 800355A8 3863D5F4 */ addi r3, r3, jtbl_800ED5F4@l -/* 03000C 800355AC 5760103A */ slwi r0, r27, 2 -/* 030010 800355B0 7C03002E */ lwzx r0, r3, r0 -/* 030014 800355B4 7C0903A6 */ mtctr r0 -/* 030018 800355B8 4E800420 */ bctr -.global lbl_800355BC -lbl_800355BC: -/* 03001C 800355BC 3BC00001 */ li r30, 1 -/* 030020 800355C0 48000138 */ b lbl_800356F8 -.global lbl_800355C4 -lbl_800355C4: -/* 030024 800355C4 807A0008 */ lwz r3, 8(r26) -/* 030028 800355C8 3BC00001 */ li r30, 1 -/* 03002C 800355CC 38801001 */ li r4, 0x1001 -/* 030030 800355D0 38A00003 */ li r5, 3 -/* 030034 800355D4 4BFD2699 */ bl xlObjectEvent -/* 030038 800355D8 80DA0000 */ lwz r6, 0(r26) -/* 03003C 800355DC 54C007FF */ clrlwi. r0, r6, 0x1f -/* 030040 800355E0 40820030 */ bne lbl_80035610 -/* 030044 800355E4 57601838 */ slwi r0, r27, 3 -/* 030048 800355E8 7C9F0214 */ add r4, r31, r0 -/* 03004C 800355EC 80640630 */ lwz r3, 0x630(r4) -/* 030050 800355F0 38000000 */ li r0, 0 -/* 030054 800355F4 80A40634 */ lwz r5, 0x634(r4) -/* 030058 800355F8 7FA41838 */ and r4, r29, r3 -/* 03005C 800355FC 7F832838 */ and r3, r28, r5 -/* 030060 80035600 7C630278 */ xor r3, r3, r0 -/* 030064 80035604 7C800278 */ xor r0, r4, r0 -/* 030068 80035608 7C600379 */ or. r0, r3, r0 -/* 03006C 8003560C 40820014 */ bne lbl_80035620 -lbl_80035610: -/* 030070 80035610 801A0000 */ lwz r0, 0(r26) -/* 030074 80035614 5400003C */ rlwinm r0, r0, 0, 0, 0x1e -/* 030078 80035618 901A0000 */ stw r0, 0(r26) -/* 03007C 8003561C 480000DC */ b lbl_800356F8 -lbl_80035620: -/* 030080 80035620 60C00001 */ ori r0, r6, 1 -/* 030084 80035624 901A0000 */ stw r0, 0(r26) -/* 030088 80035628 480000D0 */ b lbl_800356F8 -.global lbl_8003562C -lbl_8003562C: -/* 03008C 8003562C 57601838 */ slwi r0, r27, 3 -/* 030090 80035630 7C9F0214 */ add r4, r31, r0 -/* 030094 80035634 80040630 */ lwz r0, 0x630(r4) -/* 030098 80035638 7F43D378 */ mr r3, r26 -/* 03009C 8003563C 80840634 */ lwz r4, 0x634(r4) -/* 0300A0 80035640 38E00000 */ li r7, 0 -/* 0300A4 80035644 7FA50038 */ and r5, r29, r0 -/* 0300A8 80035648 7F862038 */ and r6, r28, r4 -/* 0300AC 8003564C 480000F1 */ bl cpuSetCP0_Status -/* 0300B0 80035650 480000A8 */ b lbl_800356F8 -.global lbl_80035654 -lbl_80035654: -/* 0300B4 80035654 38000100 */ li r0, 0x100 -/* 0300B8 80035658 38800000 */ li r4, 0 -/* 0300BC 8003565C 7F830038 */ and r3, r28, r0 -/* 0300C0 80035660 7FA02038 */ and r0, r29, r4 -/* 0300C4 80035664 7C632278 */ xor r3, r3, r4 -/* 0300C8 80035668 7C002278 */ xor r0, r0, r4 -/* 0300CC 8003566C 7C600379 */ or. r0, r3, r0 -/* 0300D0 80035670 4182000C */ beq lbl_8003567C -/* 0300D4 80035674 38801000 */ li r4, 0x1000 -/* 0300D8 80035678 48000008 */ b lbl_80035680 -lbl_8003567C: -/* 0300DC 8003567C 38801001 */ li r4, 0x1001 -lbl_80035680: -/* 0300E0 80035680 807A0008 */ lwz r3, 8(r26) -/* 0300E4 80035684 38A00000 */ li r5, 0 -/* 0300E8 80035688 4BFD25E5 */ bl xlObjectEvent -/* 0300EC 8003568C 38000200 */ li r0, 0x200 -/* 0300F0 80035690 38800000 */ li r4, 0 -/* 0300F4 80035694 7F830038 */ and r3, r28, r0 -/* 0300F8 80035698 7FA02038 */ and r0, r29, r4 -/* 0300FC 8003569C 7C632278 */ xor r3, r3, r4 -/* 030100 800356A0 7C002278 */ xor r0, r0, r4 -/* 030104 800356A4 7C600379 */ or. r0, r3, r0 -/* 030108 800356A8 4182000C */ beq lbl_800356B4 -/* 03010C 800356AC 38801000 */ li r4, 0x1000 -/* 030110 800356B0 48000008 */ b lbl_800356B8 -lbl_800356B4: -/* 030114 800356B4 38801001 */ li r4, 0x1001 -lbl_800356B8: -/* 030118 800356B8 807A0008 */ lwz r3, 8(r26) -/* 03011C 800356BC 38A00001 */ li r5, 1 -/* 030120 800356C0 4BFD25AD */ bl xlObjectEvent -/* 030124 800356C4 3BC00001 */ li r30, 1 -/* 030128 800356C8 48000030 */ b lbl_800356F8 -.global lbl_800356CC -lbl_800356CC: -/* 03012C 800356CC 3BC00001 */ li r30, 1 -/* 030130 800356D0 48000028 */ b lbl_800356F8 -.global lbl_800356D4 -lbl_800356D4: -/* 030134 800356D4 57601838 */ slwi r0, r27, 3 -/* 030138 800356D8 7C7F0214 */ add r3, r31, r0 -/* 03013C 800356DC 80630634 */ lwz r3, 0x634(r3) -/* 030140 800356E0 38000000 */ li r0, 0 -/* 030144 800356E4 7F831838 */ and r3, r28, r3 -/* 030148 800356E8 907A0AC4 */ stw r3, 0xac4(r26) -/* 03014C 800356EC 901A0AC0 */ stw r0, 0xac0(r26) -/* 030150 800356F0 48000008 */ b lbl_800356F8 -.global lbl_800356F4 -lbl_800356F4: -/* 030154 800356F4 3BC00001 */ li r30, 1 -.global lbl_800356F8 -lbl_800356F8: -/* 030158 800356F8 2C1E0000 */ cmpwi r30, 0 -/* 03015C 800356FC 41820028 */ beq lbl_80035724 -/* 030160 80035700 57631838 */ slwi r3, r27, 3 -/* 030164 80035704 7C9F1A14 */ add r4, r31, r3 -/* 030168 80035708 80040634 */ lwz r0, 0x634(r4) -/* 03016C 8003570C 7C7A1A14 */ add r3, r26, r3 -/* 030170 80035710 80840630 */ lwz r4, 0x630(r4) -/* 030174 80035714 7F800038 */ and r0, r28, r0 -/* 030178 80035718 90030A44 */ stw r0, 0xa44(r3) -/* 03017C 8003571C 7FA02038 */ and r0, r29, r4 -/* 030180 80035720 90030A40 */ stw r0, 0xa40(r3) -lbl_80035724: -/* 030184 80035724 BB410020 */ lmw r26, 0x20(r1) -/* 030188 80035728 38600001 */ li r3, 1 -/* 03018C 8003572C 8001003C */ lwz r0, 0x3c(r1) -/* 030190 80035730 38210038 */ addi r1, r1, 0x38 -/* 030194 80035734 7C0803A6 */ mtlr r0 -/* 030198 80035738 4E800020 */ blr - -.section .data - -jtbl_800ED5F4: - .word lbl_800356F4 - .word lbl_800356F8 - .word lbl_800356F4 - .word lbl_800356F4 - .word lbl_800356F4 - .word lbl_800356F4 - .word lbl_800356F4 - .word lbl_800356F8 - .word lbl_800356F8 - .word lbl_800355BC - .word lbl_800356F4 - .word lbl_800355C4 - .word lbl_8003562C - .word lbl_80035654 - .word lbl_800356CC - .word lbl_800356F8 - .word lbl_800356D4 - .word lbl_800356F4 - .word lbl_800356F4 - .word lbl_800356F4 - .word lbl_800356F4 - .word lbl_800356F8 - .word lbl_800356F8 - .word lbl_800356F8 - .word lbl_800356F8 - .word lbl_800356F8 - .word lbl_800356F4 - .word lbl_800356F8 - .word lbl_800356F4 - .word lbl_800356F4 - .word lbl_800356F4 - .word lbl_800356F8 diff --git a/asm/non_matchings/cpu/cpuSetTLB.s b/asm/non_matchings/cpu/cpuSetTLB.s deleted file mode 100644 index 00885b1b..00000000 --- a/asm/non_matchings/cpu/cpuSetTLB.s +++ /dev/null @@ -1,206 +0,0 @@ -glabel cpuSetTLB -/* 03044C 800359EC 7C0802A6 */ mflr r0 -/* 030450 800359F0 90010004 */ stw r0, 4(r1) -/* 030454 800359F4 3800E000 */ li r0, -8192 -/* 030458 800359F8 9421FFD0 */ stwu r1, -0x30(r1) -/* 03045C 800359FC BF410018 */ stmw r26, 0x18(r1) -/* 030460 80035A00 7C7C1B78 */ mr r28, r3 -/* 030464 80035A04 3BE00000 */ li r31, 0 -/* 030468 80035A08 80630A90 */ lwz r3, 0xa90(r3) -/* 03046C 80035A0C 80DC0A94 */ lwz r6, 0xa94(r28) -/* 030470 80035A10 7C65F838 */ and r5, r3, r31 -/* 030474 80035A14 7CC30038 */ and r3, r6, r0 -/* 030478 80035A18 3C008000 */ lis r0, 0x8000 -/* 03047C 80035A1C 7C630278 */ xor r3, r3, r0 -/* 030480 80035A20 7CA0FA78 */ xor r0, r5, r31 -/* 030484 80035A24 7C600379 */ or. r0, r3, r0 -/* 030488 80035A28 408200C4 */ bne lbl_80035AEC -/* 03048C 80035A2C 1C040028 */ mulli r0, r4, 0x28 -/* 030490 80035A30 7CDC0214 */ add r6, r28, r0 -/* 030494 80035A34 80A60244 */ lwz r5, 0x244(r6) -/* 030498 80035A38 3800FFFD */ li r0, -3 -/* 03049C 80035A3C 80860240 */ lwz r4, 0x240(r6) -/* 0304A0 80035A40 3860FFFF */ li r3, -1 -/* 0304A4 80035A44 7CA00038 */ and r0, r5, r0 -/* 0304A8 80035A48 90060244 */ stw r0, 0x244(r6) -/* 0304AC 80035A4C 7C801838 */ and r0, r4, r3 -/* 0304B0 80035A50 3BC60260 */ addi r30, r6, 0x260 -/* 0304B4 80035A54 90060240 */ stw r0, 0x240(r6) -/* 0304B8 80035A58 80060264 */ lwz r0, 0x264(r6) -/* 0304BC 80035A5C 2C00FFFF */ cmpwi r0, -1 -/* 0304C0 80035A60 90010010 */ stw r0, 0x10(r1) -/* 0304C4 80035A64 41820080 */ beq lbl_80035AE4 -/* 0304C8 80035A68 83A10010 */ lwz r29, 0x10(r1) -/* 0304CC 80035A6C 57BB103A */ slwi r27, r29, 2 -/* 0304D0 80035A70 387B0B64 */ addi r3, r27, 0xb64 -/* 0304D4 80035A74 7C7C1A14 */ add r3, r28, r3 -/* 0304D8 80035A78 4BFD1621 */ bl xlHeapFree -/* 0304DC 80035A7C 2C030000 */ cmpwi r3, 0 -/* 0304E0 80035A80 40820008 */ bne lbl_80035A88 -/* 0304E4 80035A84 48000044 */ b lbl_80035AC8 -lbl_80035A88: -/* 0304E8 80035A88 3C000001 */ lis r0, 1 -/* 0304EC 80035A8C 7C7CDA14 */ add r3, r28, r27 -/* 0304F0 80035A90 7C0903A6 */ mtctr r0 -/* 0304F4 80035A94 2C000000 */ cmpwi r0, 0 -/* 0304F8 80035A98 93E30B64 */ stw r31, 0xb64(r3) -/* 0304FC 80035A9C 40810028 */ ble lbl_80035AC4 -lbl_80035AA0: -/* 030500 80035AA0 387F0F64 */ addi r3, r31, 0xf64 -/* 030504 80035AA4 7C7C1A14 */ add r3, r28, r3 -/* 030508 80035AA8 88030000 */ lbz r0, 0(r3) -/* 03050C 80035AAC 7C00E800 */ cmpw r0, r29 -/* 030510 80035AB0 4082000C */ bne lbl_80035ABC -/* 030514 80035AB4 801C0024 */ lwz r0, 0x24(r28) -/* 030518 80035AB8 98030000 */ stb r0, 0(r3) -lbl_80035ABC: -/* 03051C 80035ABC 3BFF0001 */ addi r31, r31, 1 -/* 030520 80035AC0 4200FFE0 */ bdnz lbl_80035AA0 -lbl_80035AC4: -/* 030524 80035AC4 3BE00001 */ li r31, 1 -lbl_80035AC8: -/* 030528 80035AC8 2C1F0000 */ cmpwi r31, 0 -/* 03052C 80035ACC 4082000C */ bne lbl_80035AD8 -/* 030530 80035AD0 38600000 */ li r3, 0 -/* 030534 80035AD4 480001E8 */ b lbl_80035CBC -lbl_80035AD8: -/* 030538 80035AD8 3800FFFF */ li r0, -1 -/* 03053C 80035ADC 901E0004 */ stw r0, 4(r30) -/* 030540 80035AE0 901E0000 */ stw r0, 0(r30) -lbl_80035AE4: -/* 030544 80035AE4 38600001 */ li r3, 1 -/* 030548 80035AE8 480001D4 */ b lbl_80035CBC -lbl_80035AEC: -/* 03054C 80035AEC 1FC40028 */ mulli r30, r4, 0x28 -/* 030550 80035AF0 7FBCF214 */ add r29, r28, r30 -/* 030554 80035AF4 801D0264 */ lwz r0, 0x264(r29) -/* 030558 80035AF8 3BBD0260 */ addi r29, r29, 0x260 -/* 03055C 80035AFC 2C00FFFF */ cmpwi r0, -1 -/* 030560 80035B00 90010010 */ stw r0, 0x10(r1) -/* 030564 80035B04 41820074 */ beq lbl_80035B78 -/* 030568 80035B08 83610010 */ lwz r27, 0x10(r1) -/* 03056C 80035B0C 577A103A */ slwi r26, r27, 2 -/* 030570 80035B10 387A0B64 */ addi r3, r26, 0xb64 -/* 030574 80035B14 7C7C1A14 */ add r3, r28, r3 -/* 030578 80035B18 4BFD1581 */ bl xlHeapFree -/* 03057C 80035B1C 2C030000 */ cmpwi r3, 0 -/* 030580 80035B20 40820008 */ bne lbl_80035B28 -/* 030584 80035B24 48000044 */ b lbl_80035B68 -lbl_80035B28: -/* 030588 80035B28 3C000001 */ lis r0, 1 -/* 03058C 80035B2C 7C7CD214 */ add r3, r28, r26 -/* 030590 80035B30 7C0903A6 */ mtctr r0 -/* 030594 80035B34 2C000000 */ cmpwi r0, 0 -/* 030598 80035B38 93E30B64 */ stw r31, 0xb64(r3) -/* 03059C 80035B3C 40810028 */ ble lbl_80035B64 -lbl_80035B40: -/* 0305A0 80035B40 387F0F64 */ addi r3, r31, 0xf64 -/* 0305A4 80035B44 7C7C1A14 */ add r3, r28, r3 -/* 0305A8 80035B48 88030000 */ lbz r0, 0(r3) -/* 0305AC 80035B4C 7C00D800 */ cmpw r0, r27 -/* 0305B0 80035B50 4082000C */ bne lbl_80035B5C -/* 0305B4 80035B54 801C0024 */ lwz r0, 0x24(r28) -/* 0305B8 80035B58 98030000 */ stb r0, 0(r3) -lbl_80035B5C: -/* 0305BC 80035B5C 3BFF0001 */ addi r31, r31, 1 -/* 0305C0 80035B60 4200FFE0 */ bdnz lbl_80035B40 -lbl_80035B64: -/* 0305C4 80035B64 3BE00001 */ li r31, 1 -lbl_80035B68: -/* 0305C8 80035B68 2C1F0000 */ cmpwi r31, 0 -/* 0305CC 80035B6C 4082000C */ bne lbl_80035B78 -/* 0305D0 80035B70 38600000 */ li r3, 0 -/* 0305D4 80035B74 48000148 */ b lbl_80035CBC -lbl_80035B78: -/* 0305D8 80035B78 801C0A54 */ lwz r0, 0xa54(r28) -/* 0305DC 80035B7C 7C9CF214 */ add r4, r28, r30 -/* 0305E0 80035B80 807C0A50 */ lwz r3, 0xa50(r28) -/* 0305E4 80035B84 7D3CF214 */ add r9, r28, r30 -/* 0305E8 80035B88 60000002 */ ori r0, r0, 2 -/* 0305EC 80035B8C 90090244 */ stw r0, 0x244(r9) -/* 0305F0 80035B90 39040250 */ addi r8, r4, 0x250 -/* 0305F4 80035B94 38E40258 */ addi r7, r4, 0x258 -/* 0305F8 80035B98 90690240 */ stw r3, 0x240(r9) -/* 0305FC 80035B9C 3800E000 */ li r0, -8192 -/* 030600 80035BA0 3860FFC0 */ li r3, -64 -/* 030604 80035BA4 80BC0A58 */ lwz r5, 0xa58(r28) -/* 030608 80035BA8 80DC0A5C */ lwz r6, 0xa5c(r28) -/* 03060C 80035BAC 90C4024C */ stw r6, 0x24c(r4) -/* 030610 80035BB0 90A40248 */ stw r5, 0x248(r4) -/* 030614 80035BB4 809C0A90 */ lwz r4, 0xa90(r28) -/* 030618 80035BB8 80BC0A94 */ lwz r5, 0xa94(r28) -/* 03061C 80035BBC 90A80004 */ stw r5, 4(r8) -/* 030620 80035BC0 90880000 */ stw r4, 0(r8) -/* 030624 80035BC4 809C0A68 */ lwz r4, 0xa68(r28) -/* 030628 80035BC8 80BC0A6C */ lwz r5, 0xa6c(r28) -/* 03062C 80035BCC 90A70004 */ stw r5, 4(r7) -/* 030630 80035BD0 90870000 */ stw r4, 0(r7) -/* 030634 80035BD4 80880004 */ lwz r4, 4(r8) -/* 030638 80035BD8 80A70004 */ lwz r5, 4(r7) -/* 03063C 80035BDC 7C9B0038 */ and r27, r4, r0 -/* 030640 80035BE0 80890244 */ lwz r4, 0x244(r9) -/* 030644 80035BE4 3C1B4000 */ addis r0, r27, 0x4000 -/* 030648 80035BE8 7C831838 */ and r3, r4, r3 -/* 03064C 80035BEC 60BA1FFF */ ori r26, r5, 0x1fff -/* 030650 80035BF0 28000000 */ cmplwi r0, 0 -/* 030654 80035BF4 54633032 */ slwi r3, r3, 6 -/* 030658 80035BF8 7F60D038 */ and r0, r27, r26 -/* 03065C 80035BFC 7FC30214 */ add r30, r3, r0 -/* 030660 80035C00 40820014 */ bne lbl_80035C14 -/* 030664 80035C04 3C1E8000 */ addis r0, r30, 0x8000 -/* 030668 80035C08 28000000 */ cmplwi r0, 0 -/* 03066C 80035C0C 40820008 */ bne lbl_80035C14 -/* 030670 80035C10 3FC00490 */ lis r30, 0x490 -lbl_80035C14: -/* 030674 80035C14 3C008000 */ lis r0, 0x8000 -/* 030678 80035C18 7C1B0040 */ cmplw r27, r0 -/* 03067C 80035C1C 41800010 */ blt lbl_80035C2C -/* 030680 80035C20 3C00C000 */ lis r0, 0xc000 -/* 030684 80035C24 7C00D840 */ cmplw r0, r27 -/* 030688 80035C28 41810078 */ bgt lbl_80035CA0 -lbl_80035C2C: -/* 03068C 80035C2C 387C0000 */ addi r3, r28, 0 -/* 030690 80035C30 38BB0000 */ addi r5, r27, 0 -/* 030694 80035C34 38DE0000 */ addi r6, r30, 0 -/* 030698 80035C38 38810010 */ addi r4, r1, 0x10 -/* 03069C 80035C3C 38FA0001 */ addi r7, r26, 1 -/* 0306A0 80035C40 48000091 */ bl cpuMapAddress -/* 0306A4 80035C44 2C030000 */ cmpwi r3, 0 -/* 0306A8 80035C48 4082000C */ bne lbl_80035C54 -/* 0306AC 80035C4C 38600000 */ li r3, 0 -/* 0306B0 80035C50 4800006C */ b lbl_80035CBC -lbl_80035C54: -/* 0306B4 80035C54 3C1B9000 */ addis r0, r27, 0x9000 -/* 0306B8 80035C58 28000000 */ cmplwi r0, 0 -/* 0306BC 80035C5C 4082004C */ bne lbl_80035CA8 -/* 0306C0 80035C60 281E0000 */ cmplwi r30, 0 -/* 0306C4 80035C64 40820044 */ bne lbl_80035CA8 -/* 0306C8 80035C68 3C1AFF81 */ addis r0, r26, 0xff81 -/* 0306CC 80035C6C 2800FFFF */ cmplwi r0, 0xffff -/* 0306D0 80035C70 40820038 */ bne lbl_80035CA8 -/* 0306D4 80035C74 3C801003 */ lis r4, 0x1003 -/* 0306D8 80035C78 387C0000 */ addi r3, r28, 0 -/* 0306DC 80035C7C 38C44B30 */ addi r6, r4, 0x4b30 -/* 0306E0 80035C80 38800000 */ li r4, 0 -/* 0306E4 80035C84 3CA07F00 */ lis r5, 0x7f00 -/* 0306E8 80035C88 3CE00100 */ lis r7, 0x100 -/* 0306EC 80035C8C 48000045 */ bl cpuMapAddress -/* 0306F0 80035C90 2C030000 */ cmpwi r3, 0 -/* 0306F4 80035C94 40820014 */ bne lbl_80035CA8 -/* 0306F8 80035C98 38600000 */ li r3, 0 -/* 0306FC 80035C9C 48000020 */ b lbl_80035CBC -lbl_80035CA0: -/* 030700 80035CA0 3800FFFF */ li r0, -1 -/* 030704 80035CA4 90010010 */ stw r0, 0x10(r1) -lbl_80035CA8: -/* 030708 80035CA8 80010010 */ lwz r0, 0x10(r1) -/* 03070C 80035CAC 38600001 */ li r3, 1 -/* 030710 80035CB0 901D0004 */ stw r0, 4(r29) -/* 030714 80035CB4 7C00FE70 */ srawi r0, r0, 0x1f -/* 030718 80035CB8 901D0000 */ stw r0, 0(r29) -lbl_80035CBC: -/* 03071C 80035CBC BB410018 */ lmw r26, 0x18(r1) -/* 030720 80035CC0 80010034 */ lwz r0, 0x34(r1) -/* 030724 80035CC4 38210030 */ addi r1, r1, 0x30 -/* 030728 80035CC8 7C0803A6 */ mtlr r0 -/* 03072C 80035CCC 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuTestInterrupt.s b/asm/non_matchings/cpu/cpuTestInterrupt.s deleted file mode 100644 index 400e090d..00000000 --- a/asm/non_matchings/cpu/cpuTestInterrupt.s +++ /dev/null @@ -1,60 +0,0 @@ -glabel cpuTestInterrupt -/* 030D6C 8003630C 7C0802A6 */ mflr r0 -/* 030D70 80036310 90010004 */ stw r0, 4(r1) -/* 030D74 80036314 9421FFE8 */ stwu r1, -0x18(r1) -/* 030D78 80036318 93E10014 */ stw r31, 0x14(r1) -/* 030D7C 8003631C 549F063E */ clrlwi r31, r4, 0x18 -/* 030D80 80036320 5484442E */ rlwinm r4, r4, 8, 0x10, 0x17 -/* 030D84 80036324 93C10010 */ stw r30, 0x10(r1) -/* 030D88 80036328 3BC00000 */ li r30, 0 -/* 030D8C 8003632C 80030AAC */ lwz r0, 0xaac(r3) -/* 030D90 80036330 80A30AA8 */ lwz r5, 0xaa8(r3) -/* 030D94 80036334 7C002378 */ or r0, r0, r4 -/* 030D98 80036338 7C84FE70 */ srawi r4, r4, 0x1f -/* 030D9C 8003633C 90030AAC */ stw r0, 0xaac(r3) -/* 030DA0 80036340 7CA02378 */ or r0, r5, r4 -/* 030DA4 80036344 90030AA8 */ stw r0, 0xaa8(r3) -/* 030DA8 80036348 38000006 */ li r0, 6 -/* 030DAC 8003634C 80A30AA4 */ lwz r5, 0xaa4(r3) -/* 030DB0 80036350 80830AA0 */ lwz r4, 0xaa0(r3) -/* 030DB4 80036354 7CA00038 */ and r0, r5, r0 -/* 030DB8 80036358 7C83F038 */ and r3, r4, r30 -/* 030DBC 8003635C 7C04F278 */ xor r4, r0, r30 -/* 030DC0 80036360 7C60F278 */ xor r0, r3, r30 -/* 030DC4 80036364 7C800379 */ or. r0, r4, r0 -/* 030DC8 80036368 4182000C */ beq lbl_80036374 -/* 030DCC 8003636C 38600000 */ li r3, 0 -/* 030DD0 80036370 48000060 */ b lbl_800363D0 -lbl_80036374: -/* 030DD4 80036374 38000001 */ li r0, 1 -/* 030DD8 80036378 7CA00038 */ and r0, r5, r0 -/* 030DDC 8003637C 7C04F278 */ xor r4, r0, r30 -/* 030DE0 80036380 7C60F278 */ xor r0, r3, r30 -/* 030DE4 80036384 7C800379 */ or. r0, r4, r0 -/* 030DE8 80036388 4082000C */ bne lbl_80036394 -/* 030DEC 8003638C 38600000 */ li r3, 0 -/* 030DF0 80036390 48000040 */ b lbl_800363D0 -lbl_80036394: -/* 030DF4 80036394 3C800001 */ lis r4, 1 -/* 030DF8 80036398 3804FF00 */ addi r0, r4, -256 -/* 030DFC 8003639C 7CA40038 */ and r4, r5, r0 -/* 030E00 800363A0 38A00008 */ li r5, 8 -/* 030E04 800363A4 480979E9 */ bl __shr2i -/* 030E08 800363A8 7FE0FE70 */ srawi r0, r31, 0x1f -/* 030E0C 800363AC 7C600038 */ and r0, r3, r0 -/* 030E10 800363B0 7C84F838 */ and r4, r4, r31 -/* 030E14 800363B4 7C83F278 */ xor r3, r4, r30 -/* 030E18 800363B8 7C00F278 */ xor r0, r0, r30 -/* 030E1C 800363BC 7C600379 */ or. r0, r3, r0 -/* 030E20 800363C0 4082000C */ bne lbl_800363CC -/* 030E24 800363C4 38600000 */ li r3, 0 -/* 030E28 800363C8 48000008 */ b lbl_800363D0 -lbl_800363CC: -/* 030E2C 800363CC 38600001 */ li r3, 1 -lbl_800363D0: -/* 030E30 800363D0 8001001C */ lwz r0, 0x1c(r1) -/* 030E34 800363D4 83E10014 */ lwz r31, 0x14(r1) -/* 030E38 800363D8 83C10010 */ lwz r30, 0x10(r1) -/* 030E3C 800363DC 7C0803A6 */ mtlr r0 -/* 030E40 800363E0 38210018 */ addi r1, r1, 0x18 -/* 030E44 800363E4 4E800020 */ blr diff --git a/asm/non_matchings/cpu/cpuTreeTake.s b/asm/non_matchings/cpu/cpuTreeTake.s deleted file mode 100644 index dff07f50..00000000 --- a/asm/non_matchings/cpu/cpuTreeTake.s +++ /dev/null @@ -1,52 +0,0 @@ -glabel cpuTreeTake -/* 02E8E8 80033E88 3800007D */ li r0, 0x7d -/* 02E8EC 80033E8C 3CA08013 */ lis r5, aHeapTreeFlag@ha -/* 02E8F0 80033E90 7C0903A6 */ mtctr r0 -/* 02E8F4 80033E94 38C50A58 */ addi r6, r5, aHeapTreeFlag@l -/* 02E8F8 80033E98 38A00000 */ li r5, 0 -/* 02E8FC 80033E9C 38E00000 */ li r7, 0 -lbl_80033EA0: -/* 02E900 80033EA0 81260000 */ lwz r9, 0(r6) -/* 02E904 80033EA4 3C090001 */ addis r0, r9, 1 -/* 02E908 80033EA8 2800FFFF */ cmplwi r0, 0xffff -/* 02E90C 80033EAC 41820044 */ beq lbl_80033EF0 -/* 02E910 80033EB0 39400001 */ li r10, 1 -/* 02E914 80033EB4 39000020 */ li r8, 0x20 -lbl_80033EB8: -/* 02E918 80033EB8 7D205039 */ and. r0, r9, r10 -/* 02E91C 80033EBC 40820028 */ bne lbl_80033EE4 -/* 02E920 80033EC0 80A60000 */ lwz r5, 0(r6) -/* 02E924 80033EC4 20080020 */ subfic r0, r8, 0x20 -/* 02E928 80033EC8 7C070214 */ add r0, r7, r0 -/* 02E92C 80033ECC 7CA55378 */ or r5, r5, r10 -/* 02E930 80033ED0 90A60000 */ stw r5, 0(r6) -/* 02E934 80033ED4 64000001 */ oris r0, r0, 1 -/* 02E938 80033ED8 38A00001 */ li r5, 1 -/* 02E93C 80033EDC 90040000 */ stw r0, 0(r4) -/* 02E940 80033EE0 48000010 */ b lbl_80033EF0 -lbl_80033EE4: -/* 02E944 80033EE4 3508FFFF */ addic. r8, r8, -1 -/* 02E948 80033EE8 554A083C */ slwi r10, r10, 1 -/* 02E94C 80033EEC 4082FFCC */ bne lbl_80033EB8 -lbl_80033EF0: -/* 02E950 80033EF0 2C050000 */ cmpwi r5, 0 -/* 02E954 80033EF4 40820010 */ bne lbl_80033F04 -/* 02E958 80033EF8 38C60004 */ addi r6, r6, 4 -/* 02E95C 80033EFC 38E70020 */ addi r7, r7, 0x20 -/* 02E960 80033F00 4200FFA0 */ bdnz lbl_80033EA0 -lbl_80033F04: -/* 02E964 80033F04 2C050000 */ cmpwi r5, 0 -/* 02E968 80033F08 40820014 */ bne lbl_80033F1C -/* 02E96C 80033F0C 3800FFFF */ li r0, -1 -/* 02E970 80033F10 90040000 */ stw r0, 0(r4) -/* 02E974 80033F14 38600000 */ li r3, 0 -/* 02E978 80033F18 4E800020 */ blr -lbl_80033F1C: -/* 02E97C 80033F1C 80040000 */ lwz r0, 0(r4) -/* 02E980 80033F20 808D8A00 */ lwz r4, gHeapTree@sda21(r13) -/* 02E984 80033F24 5400043E */ clrlwi r0, r0, 0x10 -/* 02E988 80033F28 1C000048 */ mulli r0, r0, 0x48 -/* 02E98C 80033F2C 7C040214 */ add r0, r4, r0 -/* 02E990 80033F30 90030000 */ stw r0, 0(r3) -/* 02E994 80033F34 38600001 */ li r3, 1 -/* 02E998 80033F38 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeAdjustRoot.s b/asm/non_matchings/cpu/treeAdjustRoot.s deleted file mode 100644 index 6ddedc5b..00000000 --- a/asm/non_matchings/cpu/treeAdjustRoot.s +++ /dev/null @@ -1,133 +0,0 @@ -glabel treeAdjustRoot -/* 02CB4C 800320EC 7C0802A6 */ mflr r0 -/* 02CB50 800320F0 90010004 */ stw r0, 4(r1) -/* 02CB54 800320F4 38000000 */ li r0, 0 -/* 02CB58 800320F8 9421FFB8 */ stwu r1, -0x48(r1) -/* 02CB5C 800320FC BEC10020 */ stmw r22, 0x20(r1) -/* 02CB60 80032100 3AE30000 */ addi r23, r3, 0 -/* 02CB64 80032104 3C770001 */ addis r3, r23, 1 -/* 02CB68 80032108 3B050000 */ addi r24, r5, 0 -/* 02CB6C 8003210C 3BD80002 */ addi r30, r24, 2 -/* 02CB70 80032110 3BA00000 */ li r29, 0 -/* 02CB74 80032114 3B800000 */ li r28, 0 -/* 02CB78 80032118 832312A0 */ lwz r25, 0x12a0(r3) -/* 02CB7C 8003211C 90010018 */ stw r0, 0x18(r1) -/* 02CB80 80032120 90010014 */ stw r0, 0x14(r1) -/* 02CB84 80032124 83F90008 */ lwz r31, 8(r25) -/* 02CB88 80032128 A3790000 */ lhz r27, 0(r25) -/* 02CB8C 8003212C 83590004 */ lwz r26, 4(r25) -/* 02CB90 80032130 3ADF0002 */ addi r22, r31, 2 -lbl_80032134: -/* 02CB94 80032134 38000000 */ li r0, 0 -/* 02CB98 80032138 90010018 */ stw r0, 0x18(r1) -/* 02CB9C 8003213C 38960000 */ addi r4, r22, 0 -/* 02CBA0 80032140 38A10018 */ addi r5, r1, 0x18 -/* 02CBA4 80032144 8079006C */ lwz r3, 0x6c(r25) -/* 02CBA8 80032148 4BFFFF41 */ bl treeSearchNode -/* 02CBAC 8003214C 80010018 */ lwz r0, 0x18(r1) -/* 02CBB0 80032150 28000000 */ cmplwi r0, 0 -/* 02CBB4 80032154 41820154 */ beq lbl_800322A8 -/* 02CBB8 80032158 2C1D0000 */ cmpwi r29, 0 -/* 02CBBC 8003215C 40820008 */ bne lbl_80032164 -/* 02CBC0 80032160 7EDDB378 */ mr r29, r22 -lbl_80032164: -/* 02CBC4 80032164 93D90008 */ stw r30, 8(r25) -/* 02CBC8 80032168 7EE3BB78 */ mr r3, r23 -/* 02CBCC 8003216C 80A10018 */ lwz r5, 0x18(r1) -/* 02CBD0 80032170 80850010 */ lwz r4, 0x10(r5) -/* 02CBD4 80032174 80A50014 */ lwz r5, 0x14(r5) -/* 02CBD8 80032178 480003E1 */ bl treeInsert -/* 02CBDC 8003217C 2C030000 */ cmpwi r3, 0 -/* 02CBE0 80032180 4082000C */ bne lbl_8003218C -/* 02CBE4 80032184 38600000 */ li r3, 0 -/* 02CBE8 80032188 4800013C */ b lbl_800322C4 -lbl_8003218C: -/* 02CBEC 8003218C 80790068 */ lwz r3, 0x68(r25) -/* 02CBF0 80032190 38960000 */ addi r4, r22, 0 -/* 02CBF4 80032194 38A10014 */ addi r5, r1, 0x14 -/* 02CBF8 80032198 4BFFFEF1 */ bl treeSearchNode -/* 02CBFC 8003219C 2C030000 */ cmpwi r3, 0 -/* 02CC00 800321A0 4082000C */ bne lbl_800321AC -/* 02CC04 800321A4 38600000 */ li r3, 0 -/* 02CC08 800321A8 4800011C */ b lbl_800322C4 -lbl_800321AC: -/* 02CC0C 800321AC 80810018 */ lwz r4, 0x18(r1) -/* 02CC10 800321B0 80610014 */ lwz r3, 0x14(r1) -/* 02CC14 800321B4 80040028 */ lwz r0, 0x28(r4) -/* 02CC18 800321B8 90030028 */ stw r0, 0x28(r3) -/* 02CC1C 800321BC 80810018 */ lwz r4, 0x18(r1) -/* 02CC20 800321C0 80610014 */ lwz r3, 0x14(r1) -/* 02CC24 800321C4 8004002C */ lwz r0, 0x2c(r4) -/* 02CC28 800321C8 9003002C */ stw r0, 0x2c(r3) -/* 02CC2C 800321CC 80610018 */ lwz r3, 0x18(r1) -/* 02CC30 800321D0 80830004 */ lwz r4, 4(r3) -/* 02CC34 800321D4 28040000 */ cmplwi r4, 0 -/* 02CC38 800321D8 41820018 */ beq lbl_800321F0 -/* 02CC3C 800321DC 80610014 */ lwz r3, 0x14(r1) -/* 02CC40 800321E0 38000000 */ li r0, 0 -/* 02CC44 800321E4 90830004 */ stw r4, 4(r3) -/* 02CC48 800321E8 80610018 */ lwz r3, 0x18(r1) -/* 02CC4C 800321EC 90030004 */ stw r0, 4(r3) -lbl_800321F0: -/* 02CC50 800321F0 80810018 */ lwz r4, 0x18(r1) -/* 02CC54 800321F4 80610014 */ lwz r3, 0x14(r1) -/* 02CC58 800321F8 80040008 */ lwz r0, 8(r4) -/* 02CC5C 800321FC 90030008 */ stw r0, 8(r3) -/* 02CC60 80032200 80610018 */ lwz r3, 0x18(r1) -/* 02CC64 80032204 8083000C */ lwz r4, 0xc(r3) -/* 02CC68 80032208 28040000 */ cmplwi r4, 0 -/* 02CC6C 8003220C 41820018 */ beq lbl_80032224 -/* 02CC70 80032210 80610014 */ lwz r3, 0x14(r1) -/* 02CC74 80032214 38000000 */ li r0, 0 -/* 02CC78 80032218 9083000C */ stw r4, 0xc(r3) -/* 02CC7C 8003221C 80610018 */ lwz r3, 0x18(r1) -/* 02CC80 80032220 9003000C */ stw r0, 0xc(r3) -lbl_80032224: -/* 02CC84 80032224 80810018 */ lwz r4, 0x18(r1) -/* 02CC88 80032228 80610014 */ lwz r3, 0x14(r1) -/* 02CC8C 8003222C 80040024 */ lwz r0, 0x24(r4) -/* 02CC90 80032230 90030024 */ stw r0, 0x24(r3) -/* 02CC94 80032234 80810018 */ lwz r4, 0x18(r1) -/* 02CC98 80032238 80610014 */ lwz r3, 0x14(r1) -/* 02CC9C 8003223C 80040020 */ lwz r0, 0x20(r4) -/* 02CCA0 80032240 90030020 */ stw r0, 0x20(r3) -/* 02CCA4 80032244 80810018 */ lwz r4, 0x18(r1) -/* 02CCA8 80032248 80610014 */ lwz r3, 0x14(r1) -/* 02CCAC 8003224C 8004001C */ lwz r0, 0x1c(r4) -/* 02CCB0 80032250 9003001C */ stw r0, 0x1c(r3) -/* 02CCB4 80032254 80610018 */ lwz r3, 0x18(r1) -/* 02CCB8 80032258 8003001C */ lwz r0, 0x1c(r3) -/* 02CCBC 8003225C 2C000000 */ cmpwi r0, 0 -/* 02CCC0 80032260 4182001C */ beq lbl_8003227C -/* 02CCC4 80032264 80830018 */ lwz r4, 0x18(r3) -/* 02CCC8 80032268 38000000 */ li r0, 0 -/* 02CCCC 8003226C 80610014 */ lwz r3, 0x14(r1) -/* 02CCD0 80032270 90830018 */ stw r4, 0x18(r3) -/* 02CCD4 80032274 80610018 */ lwz r3, 0x18(r1) -/* 02CCD8 80032278 90030018 */ stw r0, 0x18(r3) -lbl_8003227C: -/* 02CCDC 8003227C 80810018 */ lwz r4, 0x18(r1) -/* 02CCE0 80032280 7EE3BB78 */ mr r3, r23 -/* 02CCE4 80032284 82C40014 */ lwz r22, 0x14(r4) -/* 02CCE8 80032288 93F90008 */ stw r31, 8(r25) -/* 02CCEC 8003228C 80A10018 */ lwz r5, 0x18(r1) -/* 02CCF0 80032290 8099006C */ lwz r4, 0x6c(r25) -/* 02CCF4 80032294 80C50014 */ lwz r6, 0x14(r5) -/* 02CCF8 80032298 80A50010 */ lwz r5, 0x10(r5) -/* 02CCFC 8003229C 38C6FFFC */ addi r6, r6, -4 -/* 02CD00 800322A0 4BFFF651 */ bl treeKillRange -/* 02CD04 800322A4 7F9C1A14 */ add r28, r28, r3 -lbl_800322A8: -/* 02CD08 800322A8 3AD60004 */ addi r22, r22, 4 -/* 02CD0C 800322AC 7C16C000 */ cmpw r22, r24 -/* 02CD10 800322B0 4081FE84 */ ble lbl_80032134 -/* 02CD14 800322B4 93D90008 */ stw r30, 8(r25) -/* 02CD18 800322B8 38600001 */ li r3, 1 -/* 02CD1C 800322BC B3790000 */ sth r27, 0(r25) -/* 02CD20 800322C0 93590004 */ stw r26, 4(r25) -lbl_800322C4: -/* 02CD24 800322C4 BAC10020 */ lmw r22, 0x20(r1) -/* 02CD28 800322C8 8001004C */ lwz r0, 0x4c(r1) -/* 02CD2C 800322CC 38210048 */ addi r1, r1, 0x48 -/* 02CD30 800322D0 7C0803A6 */ mtlr r0 -/* 02CD34 800322D4 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeBalance.s b/asm/non_matchings/cpu/treeBalance.s deleted file mode 100644 index 9486c325..00000000 --- a/asm/non_matchings/cpu/treeBalance.s +++ /dev/null @@ -1,124 +0,0 @@ -glabel treeBalance -/* 02CD38 800322D8 39200000 */ li r9, 0 -lbl_800322DC: -/* 02CD3C 800322DC 2C090000 */ cmpwi r9, 0 -/* 02CD40 800322E0 4082000C */ bne lbl_800322EC -/* 02CD44 800322E4 81030068 */ lwz r8, 0x68(r3) -/* 02CD48 800322E8 48000008 */ b lbl_800322F0 -lbl_800322EC: -/* 02CD4C 800322EC 8103006C */ lwz r8, 0x6c(r3) -lbl_800322F0: -/* 02CD50 800322F0 28080000 */ cmplwi r8, 0 -/* 02CD54 800322F4 41820168 */ beq lbl_8003245C -/* 02CD58 800322F8 38880000 */ addi r4, r8, 0 -/* 02CD5C 800322FC 38E00000 */ li r7, 0 -/* 02CD60 80032300 4800000C */ b lbl_8003230C -lbl_80032304: -/* 02CD64 80032304 7C040378 */ mr r4, r0 -/* 02CD68 80032308 38E70001 */ addi r7, r7, 1 -lbl_8003230C: -/* 02CD6C 8003230C 80040044 */ lwz r0, 0x44(r4) -/* 02CD70 80032310 28000000 */ cmplwi r0, 0 -/* 02CD74 80032314 4082FFF0 */ bne lbl_80032304 -/* 02CD78 80032318 2C07000C */ cmpwi r7, 0xc -/* 02CD7C 8003231C 41800090 */ blt lbl_800323AC -/* 02CD80 80032320 7CE70E70 */ srawi r7, r7, 1 -/* 02CD84 80032324 80C80044 */ lwz r6, 0x44(r8) -/* 02CD88 80032328 7CE70195 */ addze. r7, r7 -/* 02CD8C 8003232C 38A80000 */ addi r5, r8, 0 -/* 02CD90 80032330 38870000 */ addi r4, r7, 0 -/* 02CD94 80032334 41820048 */ beq lbl_8003237C -/* 02CD98 80032338 5480E8FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f -/* 02CD9C 8003233C 7C0903A6 */ mtctr r0 -/* 02CDA0 80032340 41820030 */ beq lbl_80032370 -lbl_80032344: -/* 02CDA4 80032344 80A50044 */ lwz r5, 0x44(r5) -/* 02CDA8 80032348 80A50044 */ lwz r5, 0x44(r5) -/* 02CDAC 8003234C 80A50044 */ lwz r5, 0x44(r5) -/* 02CDB0 80032350 80A50044 */ lwz r5, 0x44(r5) -/* 02CDB4 80032354 80A50044 */ lwz r5, 0x44(r5) -/* 02CDB8 80032358 80A50044 */ lwz r5, 0x44(r5) -/* 02CDBC 8003235C 80A50044 */ lwz r5, 0x44(r5) -/* 02CDC0 80032360 80A50044 */ lwz r5, 0x44(r5) -/* 02CDC4 80032364 4200FFE0 */ bdnz lbl_80032344 -/* 02CDC8 80032368 70840007 */ andi. r4, r4, 7 -/* 02CDCC 8003236C 41820010 */ beq lbl_8003237C -lbl_80032370: -/* 02CDD0 80032370 7C8903A6 */ mtctr r4 -lbl_80032374: -/* 02CDD4 80032374 80A50044 */ lwz r5, 0x44(r5) -/* 02CDD8 80032378 4200FFFC */ bdnz lbl_80032374 -lbl_8003237C: -/* 02CDDC 8003237C 8085003C */ lwz r4, 0x3c(r5) -/* 02CDE0 80032380 38000000 */ li r0, 0 -/* 02CDE4 80032384 90040044 */ stw r0, 0x44(r4) -/* 02CDE8 80032388 90A80044 */ stw r5, 0x44(r8) -/* 02CDEC 8003238C 9105003C */ stw r8, 0x3c(r5) -/* 02CDF0 80032390 48000008 */ b lbl_80032398 -lbl_80032394: -/* 02CDF4 80032394 7C050378 */ mr r5, r0 -lbl_80032398: -/* 02CDF8 80032398 80050040 */ lwz r0, 0x40(r5) -/* 02CDFC 8003239C 28000000 */ cmplwi r0, 0 -/* 02CE00 800323A0 4082FFF4 */ bne lbl_80032394 -/* 02CE04 800323A4 90C50040 */ stw r6, 0x40(r5) -/* 02CE08 800323A8 90A6003C */ stw r5, 0x3c(r6) -lbl_800323AC: -/* 02CE0C 800323AC 38880000 */ addi r4, r8, 0 -/* 02CE10 800323B0 38C00000 */ li r6, 0 -/* 02CE14 800323B4 48000008 */ b lbl_800323BC -lbl_800323B8: -/* 02CE18 800323B8 38C60001 */ addi r6, r6, 1 -lbl_800323BC: -/* 02CE1C 800323BC 80840040 */ lwz r4, 0x40(r4) -/* 02CE20 800323C0 28040000 */ cmplwi r4, 0 -/* 02CE24 800323C4 4082FFF4 */ bne lbl_800323B8 -/* 02CE28 800323C8 2C06000C */ cmpwi r6, 0xc -/* 02CE2C 800323CC 41800090 */ blt lbl_8003245C -/* 02CE30 800323D0 7CC60E70 */ srawi r6, r6, 1 -/* 02CE34 800323D4 80E80040 */ lwz r7, 0x40(r8) -/* 02CE38 800323D8 7CC60195 */ addze. r6, r6 -/* 02CE3C 800323DC 38A80000 */ addi r5, r8, 0 -/* 02CE40 800323E0 38860000 */ addi r4, r6, 0 -/* 02CE44 800323E4 41820048 */ beq lbl_8003242C -/* 02CE48 800323E8 5480E8FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f -/* 02CE4C 800323EC 7C0903A6 */ mtctr r0 -/* 02CE50 800323F0 41820030 */ beq lbl_80032420 -lbl_800323F4: -/* 02CE54 800323F4 80A50040 */ lwz r5, 0x40(r5) -/* 02CE58 800323F8 80A50040 */ lwz r5, 0x40(r5) -/* 02CE5C 800323FC 80A50040 */ lwz r5, 0x40(r5) -/* 02CE60 80032400 80A50040 */ lwz r5, 0x40(r5) -/* 02CE64 80032404 80A50040 */ lwz r5, 0x40(r5) -/* 02CE68 80032408 80A50040 */ lwz r5, 0x40(r5) -/* 02CE6C 8003240C 80A50040 */ lwz r5, 0x40(r5) -/* 02CE70 80032410 80A50040 */ lwz r5, 0x40(r5) -/* 02CE74 80032414 4200FFE0 */ bdnz lbl_800323F4 -/* 02CE78 80032418 70840007 */ andi. r4, r4, 7 -/* 02CE7C 8003241C 41820010 */ beq lbl_8003242C -lbl_80032420: -/* 02CE80 80032420 7C8903A6 */ mtctr r4 -lbl_80032424: -/* 02CE84 80032424 80A50040 */ lwz r5, 0x40(r5) -/* 02CE88 80032428 4200FFFC */ bdnz lbl_80032424 -lbl_8003242C: -/* 02CE8C 8003242C 8085003C */ lwz r4, 0x3c(r5) -/* 02CE90 80032430 38000000 */ li r0, 0 -/* 02CE94 80032434 90040040 */ stw r0, 0x40(r4) -/* 02CE98 80032438 90A80040 */ stw r5, 0x40(r8) -/* 02CE9C 8003243C 9105003C */ stw r8, 0x3c(r5) -/* 02CEA0 80032440 48000008 */ b lbl_80032448 -lbl_80032444: -/* 02CEA4 80032444 7C050378 */ mr r5, r0 -lbl_80032448: -/* 02CEA8 80032448 80050044 */ lwz r0, 0x44(r5) -/* 02CEAC 8003244C 28000000 */ cmplwi r0, 0 -/* 02CEB0 80032450 4082FFF4 */ bne lbl_80032444 -/* 02CEB4 80032454 90E50044 */ stw r7, 0x44(r5) -/* 02CEB8 80032458 90A7003C */ stw r5, 0x3c(r7) -lbl_8003245C: -/* 02CEBC 8003245C 39290001 */ addi r9, r9, 1 -/* 02CEC0 80032460 2C090002 */ cmpwi r9, 2 -/* 02CEC4 80032464 4180FE78 */ blt lbl_800322DC -/* 02CEC8 80032468 38600001 */ li r3, 1 -/* 02CECC 8003246C 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeCallerCheck.s b/asm/non_matchings/cpu/treeCallerCheck.s deleted file mode 100644 index 6510e935..00000000 --- a/asm/non_matchings/cpu/treeCallerCheck.s +++ /dev/null @@ -1,74 +0,0 @@ -glabel treeCallerCheck -/* 02DB00 800330A0 7C0802A6 */ mflr r0 -/* 02DB04 800330A4 90010004 */ stw r0, 4(r1) -/* 02DB08 800330A8 9421FFB8 */ stwu r1, -0x48(r1) -/* 02DB0C 800330AC BF010028 */ stmw r24, 0x28(r1) -/* 02DB10 800330B0 7C992378 */ mr r25, r4 -/* 02DB14 800330B4 3B030000 */ addi r24, r3, 0 -/* 02DB18 800330B8 3B450000 */ addi r26, r5, 0 -/* 02DB1C 800330BC 3B660000 */ addi r27, r6, 0 -/* 02DB20 800330C0 3B870000 */ addi r28, r7, 0 -/* 02DB24 800330C4 8004001C */ lwz r0, 0x1c(r4) -/* 02DB28 800330C8 2C000000 */ cmpwi r0, 0 -/* 02DB2C 800330CC 4082000C */ bne lbl_800330D8 -/* 02DB30 800330D0 38600000 */ li r3, 0 -/* 02DB34 800330D4 480000BC */ b lbl_80033190 -lbl_800330D8: -/* 02DB38 800330D8 83F90018 */ lwz r31, 0x18(r25) -/* 02DB3C 800330DC 281F0000 */ cmplwi r31, 0 -/* 02DB40 800330E0 418200AC */ beq lbl_8003318C -/* 02DB44 800330E4 3BC00000 */ li r30, 0 -/* 02DB48 800330E8 48000098 */ b lbl_80033180 -lbl_800330EC: -/* 02DB4C 800330EC 809F0000 */ lwz r4, 0(r31) -/* 02DB50 800330F0 80DF0004 */ lwz r6, 4(r31) -/* 02DB54 800330F4 7C04D800 */ cmpw r4, r27 -/* 02DB58 800330F8 41800080 */ blt lbl_80033178 -/* 02DB5C 800330FC 7C04E000 */ cmpw r4, r28 -/* 02DB60 80033100 41810078 */ bgt lbl_80033178 -/* 02DB64 80033104 2C060000 */ cmpwi r6, 0 -/* 02DB68 80033108 41820070 */ beq lbl_80033178 -/* 02DB6C 8003310C 2C1A0000 */ cmpwi r26, 0 -/* 02DB70 80033110 4182000C */ beq lbl_8003311C -/* 02DB74 80033114 38000003 */ li r0, 3 -/* 02DB78 80033118 48000008 */ b lbl_80033120 -lbl_8003311C: -/* 02DB7C 8003311C 38000002 */ li r0, 2 -lbl_80033120: -/* 02DB80 80033120 5403103A */ slwi r3, r0, 2 -/* 02DB84 80033124 5480843E */ srwi r0, r4, 0x10 -/* 02DB88 80033128 7FA33050 */ subf r29, r3, r6 -/* 02DB8C 8003312C 64033CA0 */ oris r3, r0, 0x3ca0 -/* 02DB90 80033130 5480043E */ clrlwi r0, r4, 0x10 -/* 02DB94 80033134 907D0000 */ stw r3, 0(r29) -/* 02DB98 80033138 640060A5 */ oris r0, r0, 0x60a5 -/* 02DB9C 8003313C 901D0004 */ stw r0, 4(r29) -/* 02DBA0 80033140 38000000 */ li r0, 0 -/* 02DBA4 80033144 387D0000 */ addi r3, r29, 0 -/* 02DBA8 80033148 80B80B48 */ lwz r5, 0xb48(r24) -/* 02DBAC 8003314C 38800010 */ li r4, 0x10 -/* 02DBB0 80033150 7CA62850 */ subf r5, r6, r5 -/* 02DBB4 80033154 54A501BA */ rlwinm r5, r5, 0, 6, 0x1d -/* 02DBB8 80033158 64A54800 */ oris r5, r5, 0x4800 -/* 02DBBC 8003315C 60A50001 */ ori r5, r5, 1 -/* 02DBC0 80033160 90A60000 */ stw r5, 0(r6) -/* 02DBC4 80033164 901F0004 */ stw r0, 4(r31) -/* 02DBC8 80033168 4806A645 */ bl DCStoreRange -/* 02DBCC 8003316C 387D0000 */ addi r3, r29, 0 -/* 02DBD0 80033170 38800010 */ li r4, 0x10 -/* 02DBD4 80033174 4806A6C1 */ bl ICInvalidateRange -lbl_80033178: -/* 02DBD8 80033178 3BFF0008 */ addi r31, r31, 8 -/* 02DBDC 8003317C 3BDE0001 */ addi r30, r30, 1 -lbl_80033180: -/* 02DBE0 80033180 8019001C */ lwz r0, 0x1c(r25) -/* 02DBE4 80033184 7C1E0000 */ cmpw r30, r0 -/* 02DBE8 80033188 4180FF64 */ blt lbl_800330EC -lbl_8003318C: -/* 02DBEC 8003318C 38600001 */ li r3, 1 -lbl_80033190: -/* 02DBF0 80033190 BB010028 */ lmw r24, 0x28(r1) -/* 02DBF4 80033194 8001004C */ lwz r0, 0x4c(r1) -/* 02DBF8 80033198 38210048 */ addi r1, r1, 0x48 -/* 02DBFC 8003319C 7C0803A6 */ mtlr r0 -/* 02DC00 800331A0 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeCleanNodes.s b/asm/non_matchings/cpu/treeCleanNodes.s deleted file mode 100644 index 121fa11b..00000000 --- a/asm/non_matchings/cpu/treeCleanNodes.s +++ /dev/null @@ -1,207 +0,0 @@ -glabel treeCleanNodes -/* 02BD9C 8003133C 7C0802A6 */ mflr r0 -/* 02BDA0 80031340 90010004 */ stw r0, 4(r1) -/* 02BDA4 80031344 9421FFD8 */ stwu r1, -0x28(r1) -/* 02BDA8 80031348 BF610014 */ stmw r27, 0x14(r1) -/* 02BDAC 8003134C 3B630000 */ addi r27, r3, 0 -/* 02BDB0 80031350 3C7B0001 */ addis r3, r27, 1 -/* 02BDB4 80031354 3BA00000 */ li r29, 0 -/* 02BDB8 80031358 9081000C */ stw r4, 0xc(r1) -/* 02BDBC 8003135C 8081000C */ lwz r4, 0xc(r1) -/* 02BDC0 80031360 83E312A0 */ lwz r31, 0x12a0(r3) -/* 02BDC4 80031364 28040000 */ cmplwi r4, 0 -/* 02BDC8 80031368 839F0070 */ lwz r28, 0x70(r31) -/* 02BDCC 8003136C 40820018 */ bne lbl_80031384 -/* 02BDD0 80031370 801F0078 */ lwz r0, 0x78(r31) -/* 02BDD4 80031374 38600001 */ li r3, 1 -/* 02BDD8 80031378 68000001 */ xori r0, r0, 1 -/* 02BDDC 8003137C 901F0078 */ stw r0, 0x78(r31) -/* 02BDE0 80031380 48000288 */ b lbl_80031608 -lbl_80031384: -/* 02BDE4 80031384 801F007C */ lwz r0, 0x7c(r31) -/* 02BDE8 80031388 3BDF007C */ addi r30, r31, 0x7c -/* 02BDEC 8003138C 28000000 */ cmplwi r0, 0 -/* 02BDF0 80031390 40820220 */ bne lbl_800315B0 -/* 02BDF4 80031394 909E0000 */ stw r4, 0(r30) -/* 02BDF8 80031398 48000218 */ b lbl_800315B0 -lbl_8003139C: -/* 02BDFC 8003139C 807B0B5C */ lwz r3, 0xb5c(r27) -/* 02BE00 800313A0 801B0B60 */ lwz r0, 0xb60(r27) -/* 02BE04 800313A4 7C030040 */ cmplw r3, r0 -/* 02BE08 800313A8 40820214 */ bne lbl_800315BC -/* 02BE0C 800313AC 801F0074 */ lwz r0, 0x74(r31) -/* 02BE10 800313B0 2C00000C */ cmpwi r0, 0xc -/* 02BE14 800313B4 40800208 */ bge lbl_800315BC -/* 02BE18 800313B8 801F0080 */ lwz r0, 0x80(r31) -/* 02BE1C 800313BC 2C000000 */ cmpwi r0, 0 -/* 02BE20 800313C0 408201E4 */ bne lbl_800315A4 -/* 02BE24 800313C4 48000008 */ b lbl_800313CC -lbl_800313C8: -/* 02BE28 800313C8 901E0000 */ stw r0, 0(r30) -lbl_800313CC: -/* 02BE2C 800313CC 807E0000 */ lwz r3, 0(r30) -/* 02BE30 800313D0 80030040 */ lwz r0, 0x40(r3) -/* 02BE34 800313D4 28000000 */ cmplwi r0, 0 -/* 02BE38 800313D8 4082FFF0 */ bne lbl_800313C8 -/* 02BE3C 800313DC 38000001 */ li r0, 1 -/* 02BE40 800313E0 901F0080 */ stw r0, 0x80(r31) -/* 02BE44 800313E4 480001C0 */ b lbl_800315A4 -lbl_800313E8: -/* 02BE48 800313E8 807B0B5C */ lwz r3, 0xb5c(r27) -/* 02BE4C 800313EC 801B0B60 */ lwz r0, 0xb60(r27) -/* 02BE50 800313F0 7C030040 */ cmplw r3, r0 -/* 02BE54 800313F4 408201BC */ bne lbl_800315B0 -/* 02BE58 800313F8 801F0074 */ lwz r0, 0x74(r31) -/* 02BE5C 800313FC 2C00000C */ cmpwi r0, 0xc -/* 02BE60 80031400 408001B0 */ bge lbl_800315B0 -/* 02BE64 80031404 281D0000 */ cmplwi r29, 0 -/* 02BE68 80031408 41820054 */ beq lbl_8003145C -/* 02BE6C 8003140C 809D0010 */ lwz r4, 0x10(r29) -/* 02BE70 80031410 7F63DB78 */ mr r3, r27 -/* 02BE74 80031414 80BD0014 */ lwz r5, 0x14(r29) -/* 02BE78 80031418 480051AD */ bl cpuFreeCachedAddress -/* 02BE7C 8003141C 2C030000 */ cmpwi r3, 0 -/* 02BE80 80031420 4082000C */ bne lbl_8003142C -/* 02BE84 80031424 38600000 */ li r3, 0 -/* 02BE88 80031428 480001E0 */ b lbl_80031608 -lbl_8003142C: -/* 02BE8C 8003142C 387B0000 */ addi r3, r27, 0 -/* 02BE90 80031430 38BD0000 */ addi r5, r29, 0 -/* 02BE94 80031434 3881000C */ addi r4, r1, 0xc -/* 02BE98 80031438 4800123D */ bl treeDeleteNode -/* 02BE9C 8003143C 2C030000 */ cmpwi r3, 0 -/* 02BEA0 80031440 4082000C */ bne lbl_8003144C -/* 02BEA4 80031444 38600000 */ li r3, 0 -/* 02BEA8 80031448 480001C0 */ b lbl_80031608 -lbl_8003144C: -/* 02BEAC 8003144C 807F0074 */ lwz r3, 0x74(r31) -/* 02BEB0 80031450 3BA00000 */ li r29, 0 -/* 02BEB4 80031454 38030001 */ addi r0, r3, 1 -/* 02BEB8 80031458 901F0074 */ stw r0, 0x74(r31) -lbl_8003145C: -/* 02BEBC 8003145C 807E0000 */ lwz r3, 0(r30) -/* 02BEC0 80031460 80030028 */ lwz r0, 0x28(r3) -/* 02BEC4 80031464 2C000000 */ cmpwi r0, 0 -/* 02BEC8 80031468 40810010 */ ble lbl_80031478 -/* 02BECC 8003146C 7C00E000 */ cmpw r0, r28 -/* 02BED0 80031470 41810008 */ bgt lbl_80031478 -/* 02BED4 80031474 7C7D1B78 */ mr r29, r3 -lbl_80031478: -/* 02BED8 80031478 80030044 */ lwz r0, 0x44(r3) -/* 02BEDC 8003147C 28000000 */ cmplwi r0, 0 -/* 02BEE0 80031480 41820014 */ beq lbl_80031494 -/* 02BEE4 80031484 901E0000 */ stw r0, 0(r30) -/* 02BEE8 80031488 38000000 */ li r0, 0 -/* 02BEEC 8003148C 901F0080 */ stw r0, 0x80(r31) -/* 02BEF0 80031490 48000120 */ b lbl_800315B0 -lbl_80031494: -/* 02BEF4 80031494 8001000C */ lwz r0, 0xc(r1) -/* 02BEF8 80031498 7C030040 */ cmplw r3, r0 -/* 02BEFC 8003149C 408200E8 */ bne lbl_80031584 -/* 02BF00 800314A0 281D0000 */ cmplwi r29, 0 -/* 02BF04 800314A4 41820044 */ beq lbl_800314E8 -/* 02BF08 800314A8 809D0010 */ lwz r4, 0x10(r29) -/* 02BF0C 800314AC 7F63DB78 */ mr r3, r27 -/* 02BF10 800314B0 80BD0014 */ lwz r5, 0x14(r29) -/* 02BF14 800314B4 48005111 */ bl cpuFreeCachedAddress -/* 02BF18 800314B8 2C030000 */ cmpwi r3, 0 -/* 02BF1C 800314BC 4082000C */ bne lbl_800314C8 -/* 02BF20 800314C0 38600000 */ li r3, 0 -/* 02BF24 800314C4 48000144 */ b lbl_80031608 -lbl_800314C8: -/* 02BF28 800314C8 387B0000 */ addi r3, r27, 0 -/* 02BF2C 800314CC 38BD0000 */ addi r5, r29, 0 -/* 02BF30 800314D0 3881000C */ addi r4, r1, 0xc -/* 02BF34 800314D4 480011A1 */ bl treeDeleteNode -/* 02BF38 800314D8 2C030000 */ cmpwi r3, 0 -/* 02BF3C 800314DC 4082000C */ bne lbl_800314E8 -/* 02BF40 800314E0 38600000 */ li r3, 0 -/* 02BF44 800314E4 48000124 */ b lbl_80031608 -lbl_800314E8: -/* 02BF48 800314E8 809F0078 */ lwz r4, 0x78(r31) -/* 02BF4C 800314EC 38000000 */ li r0, 0 -/* 02BF50 800314F0 38600001 */ li r3, 1 -/* 02BF54 800314F4 68840001 */ xori r4, r4, 1 -/* 02BF58 800314F8 909F0078 */ stw r4, 0x78(r31) -/* 02BF5C 800314FC 901E0000 */ stw r0, 0(r30) -/* 02BF60 80031500 901F0080 */ stw r0, 0x80(r31) -/* 02BF64 80031504 48000104 */ b lbl_80031608 -lbl_80031508: -/* 02BF68 80031508 907E0000 */ stw r3, 0(r30) -/* 02BF6C 8003150C 807E0000 */ lwz r3, 0(r30) -/* 02BF70 80031510 8001000C */ lwz r0, 0xc(r1) -/* 02BF74 80031514 7C030040 */ cmplw r3, r0 -/* 02BF78 80031518 4082006C */ bne lbl_80031584 -/* 02BF7C 8003151C 281D0000 */ cmplwi r29, 0 -/* 02BF80 80031520 41820044 */ beq lbl_80031564 -/* 02BF84 80031524 809D0010 */ lwz r4, 0x10(r29) -/* 02BF88 80031528 7F63DB78 */ mr r3, r27 -/* 02BF8C 8003152C 80BD0014 */ lwz r5, 0x14(r29) -/* 02BF90 80031530 48005095 */ bl cpuFreeCachedAddress -/* 02BF94 80031534 2C030000 */ cmpwi r3, 0 -/* 02BF98 80031538 4082000C */ bne lbl_80031544 -/* 02BF9C 8003153C 38600000 */ li r3, 0 -/* 02BFA0 80031540 480000C8 */ b lbl_80031608 -lbl_80031544: -/* 02BFA4 80031544 387B0000 */ addi r3, r27, 0 -/* 02BFA8 80031548 38BD0000 */ addi r5, r29, 0 -/* 02BFAC 8003154C 3881000C */ addi r4, r1, 0xc -/* 02BFB0 80031550 48001125 */ bl treeDeleteNode -/* 02BFB4 80031554 2C030000 */ cmpwi r3, 0 -/* 02BFB8 80031558 4082000C */ bne lbl_80031564 -/* 02BFBC 8003155C 38600000 */ li r3, 0 -/* 02BFC0 80031560 480000A8 */ b lbl_80031608 -lbl_80031564: -/* 02BFC4 80031564 809F0078 */ lwz r4, 0x78(r31) -/* 02BFC8 80031568 38000000 */ li r0, 0 -/* 02BFCC 8003156C 38600001 */ li r3, 1 -/* 02BFD0 80031570 68840001 */ xori r4, r4, 1 -/* 02BFD4 80031574 909F0078 */ stw r4, 0x78(r31) -/* 02BFD8 80031578 901E0000 */ stw r0, 0(r30) -/* 02BFDC 8003157C 901F0080 */ stw r0, 0x80(r31) -/* 02BFE0 80031580 48000088 */ b lbl_80031608 -lbl_80031584: -/* 02BFE4 80031584 809E0000 */ lwz r4, 0(r30) -/* 02BFE8 80031588 8064003C */ lwz r3, 0x3c(r4) -/* 02BFEC 8003158C 80030040 */ lwz r0, 0x40(r3) -/* 02BFF0 80031590 7C040040 */ cmplw r4, r0 -/* 02BFF4 80031594 4082FF74 */ bne lbl_80031508 -/* 02BFF8 80031598 907E0000 */ stw r3, 0(r30) -/* 02BFFC 8003159C 38000001 */ li r0, 1 -/* 02C000 800315A0 901F0080 */ stw r0, 0x80(r31) -lbl_800315A4: -/* 02C004 800315A4 801E0000 */ lwz r0, 0(r30) -/* 02C008 800315A8 28000000 */ cmplwi r0, 0 -/* 02C00C 800315AC 4082FE3C */ bne lbl_800313E8 -lbl_800315B0: -/* 02C010 800315B0 801E0000 */ lwz r0, 0(r30) -/* 02C014 800315B4 28000000 */ cmplwi r0, 0 -/* 02C018 800315B8 4082FDE4 */ bne lbl_8003139C -lbl_800315BC: -/* 02C01C 800315BC 281D0000 */ cmplwi r29, 0 -/* 02C020 800315C0 41820044 */ beq lbl_80031604 -/* 02C024 800315C4 809D0010 */ lwz r4, 0x10(r29) -/* 02C028 800315C8 7F63DB78 */ mr r3, r27 -/* 02C02C 800315CC 80BD0014 */ lwz r5, 0x14(r29) -/* 02C030 800315D0 48004FF5 */ bl cpuFreeCachedAddress -/* 02C034 800315D4 2C030000 */ cmpwi r3, 0 -/* 02C038 800315D8 4082000C */ bne lbl_800315E4 -/* 02C03C 800315DC 38600000 */ li r3, 0 -/* 02C040 800315E0 48000028 */ b lbl_80031608 -lbl_800315E4: -/* 02C044 800315E4 387B0000 */ addi r3, r27, 0 -/* 02C048 800315E8 38BD0000 */ addi r5, r29, 0 -/* 02C04C 800315EC 3881000C */ addi r4, r1, 0xc -/* 02C050 800315F0 48001085 */ bl treeDeleteNode -/* 02C054 800315F4 2C030000 */ cmpwi r3, 0 -/* 02C058 800315F8 4082000C */ bne lbl_80031604 -/* 02C05C 800315FC 38600000 */ li r3, 0 -/* 02C060 80031600 48000008 */ b lbl_80031608 -lbl_80031604: -/* 02C064 80031604 38600000 */ li r3, 0 -lbl_80031608: -/* 02C068 80031608 BB610014 */ lmw r27, 0x14(r1) -/* 02C06C 8003160C 8001002C */ lwz r0, 0x2c(r1) -/* 02C070 80031610 38210028 */ addi r1, r1, 0x28 -/* 02C074 80031614 7C0803A6 */ mtlr r0 -/* 02C078 80031618 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeCleanUp.s b/asm/non_matchings/cpu/treeCleanUp.s deleted file mode 100644 index 18b8398c..00000000 --- a/asm/non_matchings/cpu/treeCleanUp.s +++ /dev/null @@ -1,89 +0,0 @@ -glabel treeCleanUp -/* 02C07C 8003161C 7C0802A6 */ mflr r0 -/* 02C080 80031620 90010004 */ stw r0, 4(r1) -/* 02C084 80031624 9421FFD8 */ stwu r1, -0x28(r1) -/* 02C088 80031628 93E10024 */ stw r31, 0x24(r1) -/* 02C08C 8003162C 7C9F2378 */ mr r31, r4 -/* 02C090 80031630 93C10020 */ stw r30, 0x20(r1) -/* 02C094 80031634 3BC00000 */ li r30, 0 -/* 02C098 80031638 93A1001C */ stw r29, 0x1c(r1) -/* 02C09C 8003163C 3BA30000 */ addi r29, r3, 0 -/* 02C0A0 80031640 38600000 */ li r3, 0 -/* 02C0A4 80031644 80040078 */ lwz r0, 0x78(r4) -/* 02C0A8 80031648 2C000000 */ cmpwi r0, 0 -/* 02C0AC 8003164C 40820010 */ bne lbl_8003165C -/* 02C0B0 80031650 7FA3EB78 */ mr r3, r29 -/* 02C0B4 80031654 809F0068 */ lwz r4, 0x68(r31) -/* 02C0B8 80031658 4BFFFCE5 */ bl treeCleanNodes -lbl_8003165C: -/* 02C0BC 8003165C 801F0078 */ lwz r0, 0x78(r31) -/* 02C0C0 80031660 2C000000 */ cmpwi r0, 0 -/* 02C0C4 80031664 4082000C */ bne lbl_80031670 -/* 02C0C8 80031668 2C030000 */ cmpwi r3, 0 -/* 02C0CC 8003166C 4182001C */ beq lbl_80031688 -lbl_80031670: -/* 02C0D0 80031670 7FA3EB78 */ mr r3, r29 -/* 02C0D4 80031674 809F006C */ lwz r4, 0x6c(r31) -/* 02C0D8 80031678 4BFFFCC5 */ bl treeCleanNodes -/* 02C0DC 8003167C 2C030000 */ cmpwi r3, 0 -/* 02C0E0 80031680 41820008 */ beq lbl_80031688 -/* 02C0E4 80031684 3BC00001 */ li r30, 1 -lbl_80031688: -/* 02C0E8 80031688 2C1E0000 */ cmpwi r30, 0 -/* 02C0EC 8003168C 4082000C */ bne lbl_80031698 -/* 02C0F0 80031690 38600000 */ li r3, 0 -/* 02C0F4 80031694 4800009C */ b lbl_80031730 -lbl_80031698: -/* 02C0F8 80031698 3C7D0001 */ addis r3, r29, 1 -/* 02C0FC 8003169C 808312A0 */ lwz r4, 0x12a0(r3) -/* 02C100 800316A0 28040000 */ cmplwi r4, 0 -/* 02C104 800316A4 4082000C */ bne lbl_800316B0 -/* 02C108 800316A8 38600000 */ li r3, 0 -/* 02C10C 800316AC 48000008 */ b lbl_800316B4 -lbl_800316B0: -/* 02C110 800316B0 80640004 */ lwz r3, 4(r4) -lbl_800316B4: -/* 02C114 800316B4 3C000040 */ lis r0, 0x40 -/* 02C118 800316B8 7C030000 */ cmpw r3, r0 -/* 02C11C 800316BC 40810014 */ ble lbl_800316D0 -/* 02C120 800316C0 807D003C */ lwz r3, 0x3c(r29) -/* 02C124 800316C4 3803FFF6 */ addi r0, r3, -10 -/* 02C128 800316C8 901F0070 */ stw r0, 0x70(r31) -/* 02C12C 800316CC 48000060 */ b lbl_8003172C -lbl_800316D0: -/* 02C130 800316D0 28040000 */ cmplwi r4, 0 -/* 02C134 800316D4 4082000C */ bne lbl_800316E0 -/* 02C138 800316D8 38800000 */ li r4, 0 -/* 02C13C 800316DC 48000008 */ b lbl_800316E4 -lbl_800316E0: -/* 02C140 800316E0 80840004 */ lwz r4, 4(r4) -lbl_800316E4: -/* 02C144 800316E4 3C600032 */ lis r3, 0x32 -/* 02C148 800316E8 38039750 */ addi r0, r3, -26800 -/* 02C14C 800316EC 7C040000 */ cmpw r4, r0 -/* 02C150 800316F0 4081002C */ ble lbl_8003171C -/* 02C154 800316F4 807F0070 */ lwz r3, 0x70(r31) -/* 02C158 800316F8 3803005F */ addi r0, r3, 0x5f -/* 02C15C 800316FC 901F0070 */ stw r0, 0x70(r31) -/* 02C160 80031700 807D003C */ lwz r3, 0x3c(r29) -/* 02C164 80031704 801F0070 */ lwz r0, 0x70(r31) -/* 02C168 80031708 3863FFF6 */ addi r3, r3, -10 -/* 02C16C 8003170C 7C001800 */ cmpw r0, r3 -/* 02C170 80031710 4081001C */ ble lbl_8003172C -/* 02C174 80031714 907F0070 */ stw r3, 0x70(r31) -/* 02C178 80031718 48000014 */ b lbl_8003172C -lbl_8003171C: -/* 02C17C 8003171C 38000000 */ li r0, 0 -/* 02C180 80031720 901F0070 */ stw r0, 0x70(r31) -/* 02C184 80031724 901F007C */ stw r0, 0x7c(r31) -/* 02C188 80031728 901F0080 */ stw r0, 0x80(r31) -lbl_8003172C: -/* 02C18C 8003172C 38600001 */ li r3, 1 -lbl_80031730: -/* 02C190 80031730 8001002C */ lwz r0, 0x2c(r1) -/* 02C194 80031734 83E10024 */ lwz r31, 0x24(r1) -/* 02C198 80031738 83C10020 */ lwz r30, 0x20(r1) -/* 02C19C 8003173C 7C0803A6 */ mtlr r0 -/* 02C1A0 80031740 83A1001C */ lwz r29, 0x1c(r1) -/* 02C1A4 80031744 38210028 */ addi r1, r1, 0x28 -/* 02C1A8 80031748 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeDeleteNode.s b/asm/non_matchings/cpu/treeDeleteNode.s deleted file mode 100644 index 6b8d435f..00000000 --- a/asm/non_matchings/cpu/treeDeleteNode.s +++ /dev/null @@ -1,256 +0,0 @@ -glabel treeDeleteNode -/* 02D0D4 80032674 7C0802A6 */ mflr r0 -/* 02D0D8 80032678 90010004 */ stw r0, 4(r1) -/* 02D0DC 8003267C 9421FFC8 */ stwu r1, -0x38(r1) -/* 02D0E0 80032680 93E10034 */ stw r31, 0x34(r1) -/* 02D0E4 80032684 7CBF2B79 */ or. r31, r5, r5 -/* 02D0E8 80032688 93C10030 */ stw r30, 0x30(r1) -/* 02D0EC 8003268C 3BC30000 */ addi r30, r3, 0 -/* 02D0F0 80032690 3C7E0001 */ addis r3, r30, 1 -/* 02D0F4 80032694 93A1002C */ stw r29, 0x2c(r1) -/* 02D0F8 80032698 806312A0 */ lwz r3, 0x12a0(r3) -/* 02D0FC 8003269C 4082000C */ bne lbl_800326A8 -/* 02D100 800326A0 38600000 */ li r3, 0 -/* 02D104 800326A4 48000314 */ b lbl_800329B8 -lbl_800326A8: -/* 02D108 800326A8 A0A30000 */ lhz r5, 0(r3) -/* 02D10C 800326AC 3805FFFF */ addi r0, r5, -1 -/* 02D110 800326B0 B0030000 */ sth r0, 0(r3) -/* 02D114 800326B4 80FF003C */ lwz r7, 0x3c(r31) -/* 02D118 800326B8 80BF0040 */ lwz r5, 0x40(r31) -/* 02D11C 800326BC 28070000 */ cmplwi r7, 0 -/* 02D120 800326C0 811F0044 */ lwz r8, 0x44(r31) -/* 02D124 800326C4 4182009C */ beq lbl_80032760 -/* 02D128 800326C8 28050000 */ cmplwi r5, 0 -/* 02D12C 800326CC 41820048 */ beq lbl_80032714 -/* 02D130 800326D0 80070040 */ lwz r0, 0x40(r7) -/* 02D134 800326D4 7C00F840 */ cmplw r0, r31 -/* 02D138 800326D8 4082000C */ bne lbl_800326E4 -/* 02D13C 800326DC 90A70040 */ stw r5, 0x40(r7) -/* 02D140 800326E0 48000008 */ b lbl_800326E8 -lbl_800326E4: -/* 02D144 800326E4 90A70044 */ stw r5, 0x44(r7) -lbl_800326E8: -/* 02D148 800326E8 28080000 */ cmplwi r8, 0 -/* 02D14C 800326EC 90E5003C */ stw r7, 0x3c(r5) -/* 02D150 800326F0 41820114 */ beq lbl_80032804 -/* 02D154 800326F4 48000008 */ b lbl_800326FC -lbl_800326F8: -/* 02D158 800326F8 7C050378 */ mr r5, r0 -lbl_800326FC: -/* 02D15C 800326FC 80050044 */ lwz r0, 0x44(r5) -/* 02D160 80032700 28000000 */ cmplwi r0, 0 -/* 02D164 80032704 4082FFF4 */ bne lbl_800326F8 -/* 02D168 80032708 91050044 */ stw r8, 0x44(r5) -/* 02D16C 8003270C 90A8003C */ stw r5, 0x3c(r8) -/* 02D170 80032710 480000F4 */ b lbl_80032804 -lbl_80032714: -/* 02D174 80032714 28080000 */ cmplwi r8, 0 -/* 02D178 80032718 41820024 */ beq lbl_8003273C -/* 02D17C 8003271C 80070040 */ lwz r0, 0x40(r7) -/* 02D180 80032720 7C00F840 */ cmplw r0, r31 -/* 02D184 80032724 4082000C */ bne lbl_80032730 -/* 02D188 80032728 91070040 */ stw r8, 0x40(r7) -/* 02D18C 8003272C 48000008 */ b lbl_80032734 -lbl_80032730: -/* 02D190 80032730 91070044 */ stw r8, 0x44(r7) -lbl_80032734: -/* 02D194 80032734 90E8003C */ stw r7, 0x3c(r8) -/* 02D198 80032738 480000CC */ b lbl_80032804 -lbl_8003273C: -/* 02D19C 8003273C 80070040 */ lwz r0, 0x40(r7) -/* 02D1A0 80032740 7C00F840 */ cmplw r0, r31 -/* 02D1A4 80032744 40820010 */ bne lbl_80032754 -/* 02D1A8 80032748 38000000 */ li r0, 0 -/* 02D1AC 8003274C 90070040 */ stw r0, 0x40(r7) -/* 02D1B0 80032750 480000B4 */ b lbl_80032804 -lbl_80032754: -/* 02D1B4 80032754 38000000 */ li r0, 0 -/* 02D1B8 80032758 90070044 */ stw r0, 0x44(r7) -/* 02D1BC 8003275C 480000A8 */ b lbl_80032804 -lbl_80032760: -/* 02D1C0 80032760 28050000 */ cmplwi r5, 0 -/* 02D1C4 80032764 41820050 */ beq lbl_800327B4 -/* 02D1C8 80032768 90A40000 */ stw r5, 0(r4) -/* 02D1CC 8003276C 80030068 */ lwz r0, 0x68(r3) -/* 02D1D0 80032770 7C00F840 */ cmplw r0, r31 -/* 02D1D4 80032774 4082000C */ bne lbl_80032780 -/* 02D1D8 80032778 90A30068 */ stw r5, 0x68(r3) -/* 02D1DC 8003277C 48000008 */ b lbl_80032784 -lbl_80032780: -/* 02D1E0 80032780 90A3006C */ stw r5, 0x6c(r3) -lbl_80032784: -/* 02D1E4 80032784 38000000 */ li r0, 0 -/* 02D1E8 80032788 28080000 */ cmplwi r8, 0 -/* 02D1EC 8003278C 9005003C */ stw r0, 0x3c(r5) -/* 02D1F0 80032790 41820074 */ beq lbl_80032804 -/* 02D1F4 80032794 48000008 */ b lbl_8003279C -lbl_80032798: -/* 02D1F8 80032798 7C050378 */ mr r5, r0 -lbl_8003279C: -/* 02D1FC 8003279C 80050044 */ lwz r0, 0x44(r5) -/* 02D200 800327A0 28000000 */ cmplwi r0, 0 -/* 02D204 800327A4 4082FFF4 */ bne lbl_80032798 -/* 02D208 800327A8 91050044 */ stw r8, 0x44(r5) -/* 02D20C 800327AC 90A8003C */ stw r5, 0x3c(r8) -/* 02D210 800327B0 48000054 */ b lbl_80032804 -lbl_800327B4: -/* 02D214 800327B4 28080000 */ cmplwi r8, 0 -/* 02D218 800327B8 4182002C */ beq lbl_800327E4 -/* 02D21C 800327BC 91040000 */ stw r8, 0(r4) -/* 02D220 800327C0 80030068 */ lwz r0, 0x68(r3) -/* 02D224 800327C4 7C00F840 */ cmplw r0, r31 -/* 02D228 800327C8 4082000C */ bne lbl_800327D4 -/* 02D22C 800327CC 91030068 */ stw r8, 0x68(r3) -/* 02D230 800327D0 48000008 */ b lbl_800327D8 -lbl_800327D4: -/* 02D234 800327D4 9103006C */ stw r8, 0x6c(r3) -lbl_800327D8: -/* 02D238 800327D8 38000000 */ li r0, 0 -/* 02D23C 800327DC 9008003C */ stw r0, 0x3c(r8) -/* 02D240 800327E0 48000024 */ b lbl_80032804 -lbl_800327E4: -/* 02D244 800327E4 38C00000 */ li r6, 0 -/* 02D248 800327E8 90C40000 */ stw r6, 0(r4) -/* 02D24C 800327EC 80030068 */ lwz r0, 0x68(r3) -/* 02D250 800327F0 7C00F840 */ cmplw r0, r31 -/* 02D254 800327F4 4082000C */ bne lbl_80032800 -/* 02D258 800327F8 90C30068 */ stw r6, 0x68(r3) -/* 02D25C 800327FC 48000008 */ b lbl_80032804 -lbl_80032800: -/* 02D260 80032800 90C3006C */ stw r6, 0x6c(r3) -lbl_80032804: -/* 02D264 80032804 8083000C */ lwz r4, 0xc(r3) -/* 02D268 80032808 801F0010 */ lwz r0, 0x10(r31) -/* 02D26C 8003280C 7C040000 */ cmpw r4, r0 -/* 02D270 80032810 40820048 */ bne lbl_80032858 -/* 02D274 80032814 28080000 */ cmplwi r8, 0 -/* 02D278 80032818 41820024 */ beq lbl_8003283C -/* 02D27C 8003281C 48000008 */ b lbl_80032824 -lbl_80032820: -/* 02D280 80032820 7C080378 */ mr r8, r0 -lbl_80032824: -/* 02D284 80032824 80080040 */ lwz r0, 0x40(r8) -/* 02D288 80032828 28000000 */ cmplwi r0, 0 -/* 02D28C 8003282C 4082FFF4 */ bne lbl_80032820 -/* 02D290 80032830 80080010 */ lwz r0, 0x10(r8) -/* 02D294 80032834 9003000C */ stw r0, 0xc(r3) -/* 02D298 80032838 48000020 */ b lbl_80032858 -lbl_8003283C: -/* 02D29C 8003283C 28070000 */ cmplwi r7, 0 -/* 02D2A0 80032840 41820010 */ beq lbl_80032850 -/* 02D2A4 80032844 80070010 */ lwz r0, 0x10(r7) -/* 02D2A8 80032848 9003000C */ stw r0, 0xc(r3) -/* 02D2AC 8003284C 4800000C */ b lbl_80032858 -lbl_80032850: -/* 02D2B0 80032850 80030008 */ lwz r0, 8(r3) -/* 02D2B4 80032854 9003000C */ stw r0, 0xc(r3) -lbl_80032858: -/* 02D2B8 80032858 80830010 */ lwz r4, 0x10(r3) -/* 02D2BC 8003285C 801F0014 */ lwz r0, 0x14(r31) -/* 02D2C0 80032860 7C040000 */ cmpw r4, r0 -/* 02D2C4 80032864 40820048 */ bne lbl_800328AC -/* 02D2C8 80032868 28050000 */ cmplwi r5, 0 -/* 02D2CC 8003286C 41820024 */ beq lbl_80032890 -/* 02D2D0 80032870 48000008 */ b lbl_80032878 -lbl_80032874: -/* 02D2D4 80032874 7C050378 */ mr r5, r0 -lbl_80032878: -/* 02D2D8 80032878 80050044 */ lwz r0, 0x44(r5) -/* 02D2DC 8003287C 28000000 */ cmplwi r0, 0 -/* 02D2E0 80032880 4082FFF4 */ bne lbl_80032874 -/* 02D2E4 80032884 80050014 */ lwz r0, 0x14(r5) -/* 02D2E8 80032888 90030010 */ stw r0, 0x10(r3) -/* 02D2EC 8003288C 48000020 */ b lbl_800328AC -lbl_80032890: -/* 02D2F0 80032890 28070000 */ cmplwi r7, 0 -/* 02D2F4 80032894 41820010 */ beq lbl_800328A4 -/* 02D2F8 80032898 80070014 */ lwz r0, 0x14(r7) -/* 02D2FC 8003289C 90030010 */ stw r0, 0x10(r3) -/* 02D300 800328A0 4800000C */ b lbl_800328AC -lbl_800328A4: -/* 02D304 800328A4 80030008 */ lwz r0, 8(r3) -/* 02D308 800328A8 90030010 */ stw r0, 0x10(r3) -lbl_800328AC: -/* 02D30C 800328AC 801F0004 */ lwz r0, 4(r31) -/* 02D310 800328B0 28000000 */ cmplwi r0, 0 -/* 02D314 800328B4 4182005C */ beq lbl_80032910 -/* 02D318 800328B8 3C7E0001 */ addis r3, r30, 1 -/* 02D31C 800328BC 801F0010 */ lwz r0, 0x10(r31) -/* 02D320 800328C0 83A312A0 */ lwz r29, 0x12a0(r3) -/* 02D324 800328C4 9001001C */ stw r0, 0x1c(r1) -/* 02D328 800328C8 801F0014 */ lwz r0, 0x14(r31) -/* 02D32C 800328CC 90010020 */ stw r0, 0x20(r1) -/* 02D330 800328D0 809D0068 */ lwz r4, 0x68(r29) -/* 02D334 800328D4 28040000 */ cmplwi r4, 0 -/* 02D338 800328D8 41820018 */ beq lbl_800328F0 -/* 02D33C 800328DC 387E0000 */ addi r3, r30, 0 -/* 02D340 800328E0 38C1001C */ addi r6, r1, 0x1c -/* 02D344 800328E4 38E10020 */ addi r7, r1, 0x20 -/* 02D348 800328E8 38A00010 */ li r5, 0x10 -/* 02D34C 800328EC 4BFFE699 */ bl treePrintNode -lbl_800328F0: -/* 02D350 800328F0 809D006C */ lwz r4, 0x6c(r29) -/* 02D354 800328F4 28040000 */ cmplwi r4, 0 -/* 02D358 800328F8 41820018 */ beq lbl_80032910 -/* 02D35C 800328FC 387E0000 */ addi r3, r30, 0 -/* 02D360 80032900 38C1001C */ addi r6, r1, 0x1c -/* 02D364 80032904 38E10020 */ addi r7, r1, 0x20 -/* 02D368 80032908 38A00010 */ li r5, 0x10 -/* 02D36C 8003290C 4BFFE679 */ bl treePrintNode -lbl_80032910: -/* 02D370 80032910 3C7E0001 */ addis r3, r30, 1 -/* 02D374 80032914 809F002C */ lwz r4, 0x2c(r31) -/* 02D378 80032918 806312A0 */ lwz r3, 0x12a0(r3) -/* 02D37C 8003291C 38840048 */ addi r4, r4, 0x48 -/* 02D380 80032920 80030004 */ lwz r0, 4(r3) -/* 02D384 80032924 7C040050 */ subf r0, r4, r0 -/* 02D388 80032928 90030004 */ stw r0, 4(r3) -/* 02D38C 8003292C 801F0004 */ lwz r0, 4(r31) -/* 02D390 80032930 28000000 */ cmplwi r0, 0 -/* 02D394 80032934 41820010 */ beq lbl_80032944 -/* 02D398 80032938 387E0000 */ addi r3, r30, 0 -/* 02D39C 8003293C 389F0000 */ addi r4, r31, 0 -/* 02D3A0 80032940 480015FD */ bl cpuHeapFree -lbl_80032944: -/* 02D3A4 80032944 811F0038 */ lwz r8, 0x38(r31) -/* 02D3A8 80032948 2C08FFFF */ cmpwi r8, -1 -/* 02D3AC 8003294C 4082000C */ bne lbl_80032958 -/* 02D3B0 80032950 38E00000 */ li r7, 0 -/* 02D3B4 80032954 48000050 */ b lbl_800329A4 -lbl_80032958: -/* 02D3B8 80032958 3C608013 */ lis r3, aHeapTreeFlag@ha -/* 02D3BC 8003295C 7D008670 */ srawi r0, r8, 0x10 -/* 02D3C0 80032960 38E00001 */ li r7, 1 -/* 02D3C4 80032964 7CE50030 */ slw r5, r7, r0 -/* 02D3C8 80032968 38C30A58 */ addi r6, r3, aHeapTreeFlag@l -/* 02D3CC 8003296C 5504ECFA */ rlwinm r4, r8, 0x1d, 0x13, 0x1d -/* 02D3D0 80032970 7C662214 */ add r3, r6, r4 -/* 02D3D4 80032974 80030000 */ lwz r0, 0(r3) -/* 02D3D8 80032978 38A5FFFF */ addi r5, r5, -1 -/* 02D3DC 8003297C 550306FE */ clrlwi r3, r8, 0x1b -/* 02D3E0 80032980 7CA31830 */ slw r3, r5, r3 -/* 02D3E4 80032984 7C600038 */ and r0, r3, r0 -/* 02D3E8 80032988 7C030040 */ cmplw r3, r0 -/* 02D3EC 8003298C 40820014 */ bne lbl_800329A0 -/* 02D3F0 80032990 7C06202E */ lwzx r0, r6, r4 -/* 02D3F4 80032994 7C001878 */ andc r0, r0, r3 -/* 02D3F8 80032998 7C06212E */ stwx r0, r6, r4 -/* 02D3FC 8003299C 48000008 */ b lbl_800329A4 -lbl_800329A0: -/* 02D400 800329A0 38E00000 */ li r7, 0 -lbl_800329A4: -/* 02D404 800329A4 2C070000 */ cmpwi r7, 0 -/* 02D408 800329A8 4082000C */ bne lbl_800329B4 -/* 02D40C 800329AC 38600000 */ li r3, 0 -/* 02D410 800329B0 48000008 */ b lbl_800329B8 -lbl_800329B4: -/* 02D414 800329B4 38600001 */ li r3, 1 -lbl_800329B8: -/* 02D418 800329B8 8001003C */ lwz r0, 0x3c(r1) -/* 02D41C 800329BC 83E10034 */ lwz r31, 0x34(r1) -/* 02D420 800329C0 83C10030 */ lwz r30, 0x30(r1) -/* 02D424 800329C4 7C0803A6 */ mtlr r0 -/* 02D428 800329C8 83A1002C */ lwz r29, 0x2c(r1) -/* 02D42C 800329CC 38210038 */ addi r1, r1, 0x38 -/* 02D430 800329D0 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeForceCleanNodes.s b/asm/non_matchings/cpu/treeForceCleanNodes.s deleted file mode 100644 index a6eee6b3..00000000 --- a/asm/non_matchings/cpu/treeForceCleanNodes.s +++ /dev/null @@ -1,135 +0,0 @@ -glabel treeForceCleanNodes -/* 02BBC8 80031168 7C0802A6 */ mflr r0 -/* 02BBCC 8003116C 90010004 */ stw r0, 4(r1) -/* 02BBD0 80031170 9421FFD8 */ stwu r1, -0x28(r1) -/* 02BBD4 80031174 93E10024 */ stw r31, 0x24(r1) -/* 02BBD8 80031178 93C10020 */ stw r30, 0x20(r1) -/* 02BBDC 8003117C 3BC00000 */ li r30, 0 -/* 02BBE0 80031180 93A1001C */ stw r29, 0x1c(r1) -/* 02BBE4 80031184 3BA50000 */ addi r29, r5, 0 -/* 02BBE8 80031188 93810018 */ stw r28, 0x18(r1) -/* 02BBEC 8003118C 3B830000 */ addi r28, r3, 0 -/* 02BBF0 80031190 9081000C */ stw r4, 0xc(r1) -/* 02BBF4 80031194 8001000C */ lwz r0, 0xc(r1) -/* 02BBF8 80031198 28000000 */ cmplwi r0, 0 -/* 02BBFC 8003119C 4082000C */ bne lbl_800311A8 -/* 02BC00 800311A0 38600000 */ li r3, 0 -/* 02BC04 800311A4 48000178 */ b lbl_8003131C -lbl_800311A8: -/* 02BC08 800311A8 7C1F0378 */ mr r31, r0 -/* 02BC0C 800311AC 48000008 */ b lbl_800311B4 -lbl_800311B0: -/* 02BC10 800311B0 7C1F0378 */ mr r31, r0 -lbl_800311B4: -/* 02BC14 800311B4 801F0040 */ lwz r0, 0x40(r31) -/* 02BC18 800311B8 28000000 */ cmplwi r0, 0 -/* 02BC1C 800311BC 4082FFF4 */ bne lbl_800311B0 -lbl_800311C0: -/* 02BC20 800311C0 281E0000 */ cmplwi r30, 0 -/* 02BC24 800311C4 41820048 */ beq lbl_8003120C -/* 02BC28 800311C8 809E0010 */ lwz r4, 0x10(r30) -/* 02BC2C 800311CC 7F83E378 */ mr r3, r28 -/* 02BC30 800311D0 80BE0014 */ lwz r5, 0x14(r30) -/* 02BC34 800311D4 480053F1 */ bl cpuFreeCachedAddress -/* 02BC38 800311D8 2C030000 */ cmpwi r3, 0 -/* 02BC3C 800311DC 4082000C */ bne lbl_800311E8 -/* 02BC40 800311E0 38600000 */ li r3, 0 -/* 02BC44 800311E4 48000138 */ b lbl_8003131C -lbl_800311E8: -/* 02BC48 800311E8 387C0000 */ addi r3, r28, 0 -/* 02BC4C 800311EC 38BE0000 */ addi r5, r30, 0 -/* 02BC50 800311F0 3881000C */ addi r4, r1, 0xc -/* 02BC54 800311F4 48001481 */ bl treeDeleteNode -/* 02BC58 800311F8 2C030000 */ cmpwi r3, 0 -/* 02BC5C 800311FC 4082000C */ bne lbl_80031208 -/* 02BC60 80031200 38600000 */ li r3, 0 -/* 02BC64 80031204 48000118 */ b lbl_8003131C -lbl_80031208: -/* 02BC68 80031208 3BC00000 */ li r30, 0 -lbl_8003120C: -/* 02BC6C 8003120C 801F0028 */ lwz r0, 0x28(r31) -/* 02BC70 80031210 2C000000 */ cmpwi r0, 0 -/* 02BC74 80031214 40810010 */ ble lbl_80031224 -/* 02BC78 80031218 7C00E800 */ cmpw r0, r29 -/* 02BC7C 8003121C 41810008 */ bgt lbl_80031224 -/* 02BC80 80031220 7FFEFB78 */ mr r30, r31 -lbl_80031224: -/* 02BC84 80031224 801F0044 */ lwz r0, 0x44(r31) -/* 02BC88 80031228 28000000 */ cmplwi r0, 0 -/* 02BC8C 8003122C 4182000C */ beq lbl_80031238 -/* 02BC90 80031230 7C1F0378 */ mr r31, r0 -/* 02BC94 80031234 480000DC */ b lbl_80031310 -lbl_80031238: -/* 02BC98 80031238 8061000C */ lwz r3, 0xc(r1) -/* 02BC9C 8003123C 7C1F1840 */ cmplw r31, r3 -/* 02BCA0 80031240 408200B4 */ bne lbl_800312F4 -/* 02BCA4 80031244 281E0000 */ cmplwi r30, 0 -/* 02BCA8 80031248 41820044 */ beq lbl_8003128C -/* 02BCAC 8003124C 809E0010 */ lwz r4, 0x10(r30) -/* 02BCB0 80031250 7F83E378 */ mr r3, r28 -/* 02BCB4 80031254 80BE0014 */ lwz r5, 0x14(r30) -/* 02BCB8 80031258 4800536D */ bl cpuFreeCachedAddress -/* 02BCBC 8003125C 2C030000 */ cmpwi r3, 0 -/* 02BCC0 80031260 4082000C */ bne lbl_8003126C -/* 02BCC4 80031264 38600000 */ li r3, 0 -/* 02BCC8 80031268 480000B4 */ b lbl_8003131C -lbl_8003126C: -/* 02BCCC 8003126C 387C0000 */ addi r3, r28, 0 -/* 02BCD0 80031270 38BE0000 */ addi r5, r30, 0 -/* 02BCD4 80031274 3881000C */ addi r4, r1, 0xc -/* 02BCD8 80031278 480013FD */ bl treeDeleteNode -/* 02BCDC 8003127C 2C030000 */ cmpwi r3, 0 -/* 02BCE0 80031280 4082000C */ bne lbl_8003128C -/* 02BCE4 80031284 38600000 */ li r3, 0 -/* 02BCE8 80031288 48000094 */ b lbl_8003131C -lbl_8003128C: -/* 02BCEC 8003128C 38600001 */ li r3, 1 -/* 02BCF0 80031290 4800008C */ b lbl_8003131C -/* 02BCF4 80031294 48000060 */ b lbl_800312F4 -lbl_80031298: -/* 02BCF8 80031298 7C041840 */ cmplw r4, r3 -/* 02BCFC 8003129C 3BE40000 */ addi r31, r4, 0 -/* 02BD00 800312A0 40820054 */ bne lbl_800312F4 -/* 02BD04 800312A4 281E0000 */ cmplwi r30, 0 -/* 02BD08 800312A8 41820044 */ beq lbl_800312EC -/* 02BD0C 800312AC 809E0010 */ lwz r4, 0x10(r30) -/* 02BD10 800312B0 7F83E378 */ mr r3, r28 -/* 02BD14 800312B4 80BE0014 */ lwz r5, 0x14(r30) -/* 02BD18 800312B8 4800530D */ bl cpuFreeCachedAddress -/* 02BD1C 800312BC 2C030000 */ cmpwi r3, 0 -/* 02BD20 800312C0 4082000C */ bne lbl_800312CC -/* 02BD24 800312C4 38600000 */ li r3, 0 -/* 02BD28 800312C8 48000054 */ b lbl_8003131C -lbl_800312CC: -/* 02BD2C 800312CC 387C0000 */ addi r3, r28, 0 -/* 02BD30 800312D0 38BE0000 */ addi r5, r30, 0 -/* 02BD34 800312D4 3881000C */ addi r4, r1, 0xc -/* 02BD38 800312D8 4800139D */ bl treeDeleteNode -/* 02BD3C 800312DC 2C030000 */ cmpwi r3, 0 -/* 02BD40 800312E0 4082000C */ bne lbl_800312EC -/* 02BD44 800312E4 38600000 */ li r3, 0 -/* 02BD48 800312E8 48000034 */ b lbl_8003131C -lbl_800312EC: -/* 02BD4C 800312EC 38600001 */ li r3, 1 -/* 02BD50 800312F0 4800002C */ b lbl_8003131C -lbl_800312F4: -/* 02BD54 800312F4 809F003C */ lwz r4, 0x3c(r31) -/* 02BD58 800312F8 80040040 */ lwz r0, 0x40(r4) -/* 02BD5C 800312FC 7C1F0040 */ cmplw r31, r0 -/* 02BD60 80031300 4082FF98 */ bne lbl_80031298 -/* 02BD64 80031304 28040000 */ cmplwi r4, 0 -/* 02BD68 80031308 3BE40000 */ addi r31, r4, 0 -/* 02BD6C 8003130C 4082FEB4 */ bne lbl_800311C0 -lbl_80031310: -/* 02BD70 80031310 281F0000 */ cmplwi r31, 0 -/* 02BD74 80031314 4082FEA0 */ bne lbl_800311B4 -/* 02BD78 80031318 38600000 */ li r3, 0 -lbl_8003131C: -/* 02BD7C 8003131C 8001002C */ lwz r0, 0x2c(r1) -/* 02BD80 80031320 83E10024 */ lwz r31, 0x24(r1) -/* 02BD84 80031324 83C10020 */ lwz r30, 0x20(r1) -/* 02BD88 80031328 7C0803A6 */ mtlr r0 -/* 02BD8C 8003132C 83A1001C */ lwz r29, 0x1c(r1) -/* 02BD90 80031330 83810018 */ lwz r28, 0x18(r1) -/* 02BD94 80031334 38210028 */ addi r1, r1, 0x28 -/* 02BD98 80031338 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeInit.s b/asm/non_matchings/cpu/treeInit.s deleted file mode 100644 index f9cc3408..00000000 --- a/asm/non_matchings/cpu/treeInit.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel treeInit -/* 02DAA8 80033048 3C630001 */ addis r3, r3, 1 -/* 02DAAC 8003304C 80C312A0 */ lwz r6, 0x12a0(r3) -/* 02DAB0 80033050 28060000 */ cmplwi r6, 0 -/* 02DAB4 80033054 4082000C */ bne lbl_80033060 -/* 02DAB8 80033058 38600000 */ li r3, 0 -/* 02DABC 8003305C 4E800020 */ blr -lbl_80033060: -/* 02DAC0 80033060 38A00000 */ li r5, 0 -/* 02DAC4 80033064 B0A60000 */ sth r5, 0(r6) -/* 02DAC8 80033068 3C008000 */ lis r0, 0x8000 -/* 02DACC 8003306C 38600001 */ li r3, 1 -/* 02DAD0 80033070 90A60004 */ stw r5, 4(r6) -/* 02DAD4 80033074 90860008 */ stw r4, 8(r6) -/* 02DAD8 80033078 90A6000C */ stw r5, 0xc(r6) -/* 02DADC 8003307C 90060010 */ stw r0, 0x10(r6) -/* 02DAE0 80033080 90A60068 */ stw r5, 0x68(r6) -/* 02DAE4 80033084 90A6006C */ stw r5, 0x6c(r6) -/* 02DAE8 80033088 90A60070 */ stw r5, 0x70(r6) -/* 02DAEC 8003308C 90A60074 */ stw r5, 0x74(r6) -/* 02DAF0 80033090 90A60078 */ stw r5, 0x78(r6) -/* 02DAF4 80033094 90A6007C */ stw r5, 0x7c(r6) -/* 02DAF8 80033098 90A60080 */ stw r5, 0x80(r6) -/* 02DAFC 8003309C 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeInitNode.s b/asm/non_matchings/cpu/treeInitNode.s deleted file mode 100644 index 274ea33c..00000000 --- a/asm/non_matchings/cpu/treeInitNode.s +++ /dev/null @@ -1,74 +0,0 @@ -glabel treeInitNode -/* 02D98C 80032F2C 7C0802A6 */ mflr r0 -/* 02D990 80032F30 90010004 */ stw r0, 4(r1) -/* 02D994 80032F34 9421FFD0 */ stwu r1, -0x30(r1) -/* 02D998 80032F38 93E1002C */ stw r31, 0x2c(r1) -/* 02D99C 80032F3C 3BE40000 */ addi r31, r4, 0 -/* 02D9A0 80032F40 38810018 */ addi r4, r1, 0x18 -/* 02D9A4 80032F44 93C10028 */ stw r30, 0x28(r1) -/* 02D9A8 80032F48 3BC30000 */ addi r30, r3, 0 -/* 02D9AC 80032F4C 3861001C */ addi r3, r1, 0x1c -/* 02D9B0 80032F50 93A10024 */ stw r29, 0x24(r1) -/* 02D9B4 80032F54 3BA60000 */ addi r29, r6, 0 -/* 02D9B8 80032F58 93810020 */ stw r28, 0x20(r1) -/* 02D9BC 80032F5C 3B850000 */ addi r28, r5, 0 -/* 02D9C0 80032F60 38A00048 */ li r5, 0x48 -/* 02D9C4 80032F64 48000F25 */ bl cpuTreeTake -/* 02D9C8 80032F68 2C030000 */ cmpwi r3, 0 -/* 02D9CC 80032F6C 4082000C */ bne lbl_80032F78 -/* 02D9D0 80032F70 38600000 */ li r3, 0 -/* 02D9D4 80032F74 480000B4 */ b lbl_80033028 -lbl_80032F78: -/* 02D9D8 80032F78 8061001C */ lwz r3, 0x1c(r1) -/* 02D9DC 80032F7C 38E00000 */ li r7, 0 -/* 02D9E0 80032F80 38C00021 */ li r6, 0x21 -/* 02D9E4 80032F84 93830010 */ stw r28, 0x10(r3) -/* 02D9E8 80032F88 38A00001 */ li r5, 1 -/* 02D9EC 80032F8C 3800FFFF */ li r0, -1 -/* 02D9F0 80032F90 8081001C */ lwz r4, 0x1c(r1) -/* 02D9F4 80032F94 38600001 */ li r3, 1 -/* 02D9F8 80032F98 93A40014 */ stw r29, 0x14(r4) -/* 02D9FC 80032F9C 8081001C */ lwz r4, 0x1c(r1) -/* 02DA00 80032FA0 90E40018 */ stw r7, 0x18(r4) -/* 02DA04 80032FA4 8081001C */ lwz r4, 0x1c(r1) -/* 02DA08 80032FA8 90E4001C */ stw r7, 0x1c(r4) -/* 02DA0C 80032FAC 8081001C */ lwz r4, 0x1c(r1) -/* 02DA10 80032FB0 90C40020 */ stw r6, 0x20(r4) -/* 02DA14 80032FB4 8081001C */ lwz r4, 0x1c(r1) -/* 02DA18 80032FB8 90E40000 */ stw r7, 0(r4) -/* 02DA1C 80032FBC 8081001C */ lwz r4, 0x1c(r1) -/* 02DA20 80032FC0 90E40004 */ stw r7, 4(r4) -/* 02DA24 80032FC4 8081001C */ lwz r4, 0x1c(r1) -/* 02DA28 80032FC8 90E40008 */ stw r7, 8(r4) -/* 02DA2C 80032FCC 8081001C */ lwz r4, 0x1c(r1) -/* 02DA30 80032FD0 90E4000C */ stw r7, 0xc(r4) -/* 02DA34 80032FD4 8081001C */ lwz r4, 0x1c(r1) -/* 02DA38 80032FD8 90E40024 */ stw r7, 0x24(r4) -/* 02DA3C 80032FDC 8081001C */ lwz r4, 0x1c(r1) -/* 02DA40 80032FE0 90A40028 */ stw r5, 0x28(r4) -/* 02DA44 80032FE4 8081001C */ lwz r4, 0x1c(r1) -/* 02DA48 80032FE8 90E4002C */ stw r7, 0x2c(r4) -/* 02DA4C 80032FEC 8081001C */ lwz r4, 0x1c(r1) -/* 02DA50 80032FF0 90040030 */ stw r0, 0x30(r4) -/* 02DA54 80032FF4 8081001C */ lwz r4, 0x1c(r1) -/* 02DA58 80032FF8 90040034 */ stw r0, 0x34(r4) -/* 02DA5C 80032FFC 80010018 */ lwz r0, 0x18(r1) -/* 02DA60 80033000 8081001C */ lwz r4, 0x1c(r1) -/* 02DA64 80033004 90040038 */ stw r0, 0x38(r4) -/* 02DA68 80033008 8081001C */ lwz r4, 0x1c(r1) -/* 02DA6C 8003300C 93E4003C */ stw r31, 0x3c(r4) -/* 02DA70 80033010 8081001C */ lwz r4, 0x1c(r1) -/* 02DA74 80033014 90E40040 */ stw r7, 0x40(r4) -/* 02DA78 80033018 8081001C */ lwz r4, 0x1c(r1) -/* 02DA7C 8003301C 90E40044 */ stw r7, 0x44(r4) -/* 02DA80 80033020 8001001C */ lwz r0, 0x1c(r1) -/* 02DA84 80033024 901E0000 */ stw r0, 0(r30) -lbl_80033028: -/* 02DA88 80033028 80010034 */ lwz r0, 0x34(r1) -/* 02DA8C 8003302C 83E1002C */ lwz r31, 0x2c(r1) -/* 02DA90 80033030 83C10028 */ lwz r30, 0x28(r1) -/* 02DA94 80033034 7C0803A6 */ mtlr r0 -/* 02DA98 80033038 83A10024 */ lwz r29, 0x24(r1) -/* 02DA9C 8003303C 83810020 */ lwz r28, 0x20(r1) -/* 02DAA0 80033040 38210030 */ addi r1, r1, 0x30 -/* 02DAA4 80033044 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeInsert.s b/asm/non_matchings/cpu/treeInsert.s deleted file mode 100644 index 25bc46c1..00000000 --- a/asm/non_matchings/cpu/treeInsert.s +++ /dev/null @@ -1,81 +0,0 @@ -glabel treeInsert -/* 02CFB8 80032558 7C0802A6 */ mflr r0 -/* 02CFBC 8003255C 3CC30001 */ addis r6, r3, 1 -/* 02CFC0 80032560 90010004 */ stw r0, 4(r1) -/* 02CFC4 80032564 9421FFD8 */ stwu r1, -0x28(r1) -/* 02CFC8 80032568 93E10024 */ stw r31, 0x24(r1) -/* 02CFCC 8003256C 93C10020 */ stw r30, 0x20(r1) -/* 02CFD0 80032570 3BC50000 */ addi r30, r5, 0 -/* 02CFD4 80032574 93A1001C */ stw r29, 0x1c(r1) -/* 02CFD8 80032578 3BA40000 */ addi r29, r4, 0 -/* 02CFDC 8003257C 800612A0 */ lwz r0, 0x12a0(r6) -/* 02CFE0 80032580 28000000 */ cmplwi r0, 0 -/* 02CFE4 80032584 7C1F0378 */ mr r31, r0 -/* 02CFE8 80032588 4082000C */ bne lbl_80032594 -/* 02CFEC 8003258C 38600000 */ li r3, 0 -/* 02CFF0 80032590 480000C8 */ b lbl_80032658 -lbl_80032594: -/* 02CFF4 80032594 801F0008 */ lwz r0, 8(r31) -/* 02CFF8 80032598 7C1D0000 */ cmpw r29, r0 -/* 02CFFC 8003259C 40800018 */ bge lbl_800325B4 -/* 02D000 800325A0 7C1E0000 */ cmpw r30, r0 -/* 02D004 800325A4 40810010 */ ble lbl_800325B4 -/* 02D008 800325A8 389D0000 */ addi r4, r29, 0 -/* 02D00C 800325AC 38BE0000 */ addi r5, r30, 0 -/* 02D010 800325B0 4BFFFB3D */ bl treeAdjustRoot -lbl_800325B4: -/* 02D014 800325B4 A07F0000 */ lhz r3, 0(r31) -/* 02D018 800325B8 3C1D8000 */ addis r0, r29, 0x8000 -/* 02D01C 800325BC 28000180 */ cmplwi r0, 0x180 -/* 02D020 800325C0 38030001 */ addi r0, r3, 1 -/* 02D024 800325C4 B01F0000 */ sth r0, 0(r31) -/* 02D028 800325C8 807F0004 */ lwz r3, 4(r31) -/* 02D02C 800325CC 38030048 */ addi r0, r3, 0x48 -/* 02D030 800325D0 901F0004 */ stw r0, 4(r31) -/* 02D034 800325D4 41820024 */ beq lbl_800325F8 -/* 02D038 800325D8 801F000C */ lwz r0, 0xc(r31) -/* 02D03C 800325DC 7C1D0000 */ cmpw r29, r0 -/* 02D040 800325E0 40800008 */ bge lbl_800325E8 -/* 02D044 800325E4 93BF000C */ stw r29, 0xc(r31) -lbl_800325E8: -/* 02D048 800325E8 801F0010 */ lwz r0, 0x10(r31) -/* 02D04C 800325EC 7C1E0000 */ cmpw r30, r0 -/* 02D050 800325F0 40810008 */ ble lbl_800325F8 -/* 02D054 800325F4 93DF0010 */ stw r30, 0x10(r31) -lbl_800325F8: -/* 02D058 800325F8 801F0008 */ lwz r0, 8(r31) -/* 02D05C 800325FC 7C1D0000 */ cmpw r29, r0 -/* 02D060 80032600 4080001C */ bge lbl_8003261C -/* 02D064 80032604 389D0000 */ addi r4, r29, 0 -/* 02D068 80032608 38BE0000 */ addi r5, r30, 0 -/* 02D06C 8003260C 387F0068 */ addi r3, r31, 0x68 -/* 02D070 80032610 38C10014 */ addi r6, r1, 0x14 -/* 02D074 80032614 4BFFFE5D */ bl treeInsertNode -/* 02D078 80032618 48000028 */ b lbl_80032640 -lbl_8003261C: -/* 02D07C 8003261C 4081001C */ ble lbl_80032638 -/* 02D080 80032620 389D0000 */ addi r4, r29, 0 -/* 02D084 80032624 38BE0000 */ addi r5, r30, 0 -/* 02D088 80032628 387F006C */ addi r3, r31, 0x6c -/* 02D08C 8003262C 38C10014 */ addi r6, r1, 0x14 -/* 02D090 80032630 4BFFFE41 */ bl treeInsertNode -/* 02D094 80032634 4800000C */ b lbl_80032640 -lbl_80032638: -/* 02D098 80032638 38600000 */ li r3, 0 -/* 02D09C 8003263C 4800001C */ b lbl_80032658 -lbl_80032640: -/* 02D0A0 80032640 2C030000 */ cmpwi r3, 0 -/* 02D0A4 80032644 41820010 */ beq lbl_80032654 -/* 02D0A8 80032648 7FE3FB78 */ mr r3, r31 -/* 02D0AC 8003264C 4BFFFC8D */ bl treeBalance -/* 02D0B0 80032650 48000008 */ b lbl_80032658 -lbl_80032654: -/* 02D0B4 80032654 38600000 */ li r3, 0 -lbl_80032658: -/* 02D0B8 80032658 8001002C */ lwz r0, 0x2c(r1) -/* 02D0BC 8003265C 83E10024 */ lwz r31, 0x24(r1) -/* 02D0C0 80032660 83C10020 */ lwz r30, 0x20(r1) -/* 02D0C4 80032664 7C0803A6 */ mtlr r0 -/* 02D0C8 80032668 83A1001C */ lwz r29, 0x1c(r1) -/* 02D0CC 8003266C 38210028 */ addi r1, r1, 0x28 -/* 02D0D0 80032670 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeInsertNode.s b/asm/non_matchings/cpu/treeInsertNode.s deleted file mode 100644 index 0fe32ae6..00000000 --- a/asm/non_matchings/cpu/treeInsertNode.s +++ /dev/null @@ -1,66 +0,0 @@ -glabel treeInsertNode -/* 02CED0 80032470 7C0802A6 */ mflr r0 -/* 02CED4 80032474 39040000 */ addi r8, r4, 0 -/* 02CED8 80032478 90010004 */ stw r0, 4(r1) -/* 02CEDC 8003247C 38E50000 */ addi r7, r5, 0 -/* 02CEE0 80032480 9421FFE0 */ stwu r1, -0x20(r1) -/* 02CEE4 80032484 93E1001C */ stw r31, 0x1c(r1) -/* 02CEE8 80032488 7C7F1B78 */ mr r31, r3 -/* 02CEEC 8003248C 93C10018 */ stw r30, 0x18(r1) -/* 02CEF0 80032490 3BC60000 */ addi r30, r6, 0 -/* 02CEF4 80032494 80030000 */ lwz r0, 0(r3) -/* 02CEF8 80032498 28000000 */ cmplwi r0, 0 -/* 02CEFC 8003249C 40820038 */ bne lbl_800324D4 -/* 02CF00 800324A0 387F0000 */ addi r3, r31, 0 -/* 02CF04 800324A4 38A80000 */ addi r5, r8, 0 -/* 02CF08 800324A8 38C70000 */ addi r6, r7, 0 -/* 02CF0C 800324AC 38800000 */ li r4, 0 -/* 02CF10 800324B0 48000A7D */ bl treeInitNode -/* 02CF14 800324B4 2C030000 */ cmpwi r3, 0 -/* 02CF18 800324B8 41820014 */ beq lbl_800324CC -/* 02CF1C 800324BC 801F0000 */ lwz r0, 0(r31) -/* 02CF20 800324C0 38600001 */ li r3, 1 -/* 02CF24 800324C4 901E0000 */ stw r0, 0(r30) -/* 02CF28 800324C8 48000078 */ b lbl_80032540 -lbl_800324CC: -/* 02CF2C 800324CC 38600000 */ li r3, 0 -/* 02CF30 800324D0 48000070 */ b lbl_80032540 -lbl_800324D4: -/* 02CF34 800324D4 807F0000 */ lwz r3, 0(r31) -/* 02CF38 800324D8 80030010 */ lwz r0, 0x10(r3) -/* 02CF3C 800324DC 7C080000 */ cmpw r8, r0 -/* 02CF40 800324E0 40800010 */ bge lbl_800324F0 -/* 02CF44 800324E4 38830000 */ addi r4, r3, 0 -/* 02CF48 800324E8 3BE30040 */ addi r31, r3, 0x40 -/* 02CF4C 800324EC 4800001C */ b lbl_80032508 -lbl_800324F0: -/* 02CF50 800324F0 40810010 */ ble lbl_80032500 -/* 02CF54 800324F4 38830000 */ addi r4, r3, 0 -/* 02CF58 800324F8 3BE30044 */ addi r31, r3, 0x44 -/* 02CF5C 800324FC 4800000C */ b lbl_80032508 -lbl_80032500: -/* 02CF60 80032500 38600000 */ li r3, 0 -/* 02CF64 80032504 4800003C */ b lbl_80032540 -lbl_80032508: -/* 02CF68 80032508 801F0000 */ lwz r0, 0(r31) -/* 02CF6C 8003250C 28000000 */ cmplwi r0, 0 -/* 02CF70 80032510 4082FFC4 */ bne lbl_800324D4 -/* 02CF74 80032514 387F0000 */ addi r3, r31, 0 -/* 02CF78 80032518 38A80000 */ addi r5, r8, 0 -/* 02CF7C 8003251C 38C70000 */ addi r6, r7, 0 -/* 02CF80 80032520 48000A0D */ bl treeInitNode -/* 02CF84 80032524 2C030000 */ cmpwi r3, 0 -/* 02CF88 80032528 41820014 */ beq lbl_8003253C -/* 02CF8C 8003252C 801F0000 */ lwz r0, 0(r31) -/* 02CF90 80032530 38600001 */ li r3, 1 -/* 02CF94 80032534 901E0000 */ stw r0, 0(r30) -/* 02CF98 80032538 48000008 */ b lbl_80032540 -lbl_8003253C: -/* 02CF9C 8003253C 38600000 */ li r3, 0 -lbl_80032540: -/* 02CFA0 80032540 80010024 */ lwz r0, 0x24(r1) -/* 02CFA4 80032544 83E1001C */ lwz r31, 0x1c(r1) -/* 02CFA8 80032548 83C10018 */ lwz r30, 0x18(r1) -/* 02CFAC 8003254C 7C0803A6 */ mtlr r0 -/* 02CFB0 80032550 38210020 */ addi r1, r1, 0x20 -/* 02CFB4 80032554 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeKill.s b/asm/non_matchings/cpu/treeKill.s deleted file mode 100644 index a5e88f65..00000000 --- a/asm/non_matchings/cpu/treeKill.s +++ /dev/null @@ -1,189 +0,0 @@ -glabel treeKill -/* 02D6E4 80032C84 7C0802A6 */ mflr r0 -/* 02D6E8 80032C88 90010004 */ stw r0, 4(r1) -/* 02D6EC 80032C8C 9421FFB8 */ stwu r1, -0x48(r1) -/* 02D6F0 80032C90 BF410030 */ stmw r26, 0x30(r1) -/* 02D6F4 80032C94 3B830000 */ addi r28, r3, 0 -/* 02D6F8 80032C98 3F7C0001 */ addis r27, r28, 1 -/* 02D6FC 80032C9C 3C608013 */ lis r3, aHeapTreeFlag@ha -/* 02D700 80032CA0 3BE30A58 */ addi r31, r3, aHeapTreeFlag@l -/* 02D704 80032CA4 3BA00000 */ li r29, 0 -/* 02D708 80032CA8 83DB12A0 */ lwz r30, 0x12a0(r27) -/* 02D70C 80032CAC 809E0068 */ lwz r4, 0x68(r30) -/* 02D710 80032CB0 28040000 */ cmplwi r4, 0 -/* 02D714 80032CB4 41820110 */ beq lbl_80032DC4 -/* 02D718 80032CB8 7F83E378 */ mr r3, r28 -/* 02D71C 80032CBC 4BFFFD19 */ bl treeKillNodes -/* 02D720 80032CC0 835E0068 */ lwz r26, 0x68(r30) -/* 02D724 80032CC4 7C7D1B78 */ mr r29, r3 -/* 02D728 80032CC8 801A0004 */ lwz r0, 4(r26) -/* 02D72C 80032CCC 28000000 */ cmplwi r0, 0 -/* 02D730 80032CD0 41820058 */ beq lbl_80032D28 -/* 02D734 80032CD4 837B12A0 */ lwz r27, 0x12a0(r27) -/* 02D738 80032CD8 801A0010 */ lwz r0, 0x10(r26) -/* 02D73C 80032CDC 90010024 */ stw r0, 0x24(r1) -/* 02D740 80032CE0 801A0014 */ lwz r0, 0x14(r26) -/* 02D744 80032CE4 90010028 */ stw r0, 0x28(r1) -/* 02D748 80032CE8 809B0068 */ lwz r4, 0x68(r27) -/* 02D74C 80032CEC 28040000 */ cmplwi r4, 0 -/* 02D750 80032CF0 41820018 */ beq lbl_80032D08 -/* 02D754 80032CF4 387C0000 */ addi r3, r28, 0 -/* 02D758 80032CF8 38C10024 */ addi r6, r1, 0x24 -/* 02D75C 80032CFC 38E10028 */ addi r7, r1, 0x28 -/* 02D760 80032D00 38A00010 */ li r5, 0x10 -/* 02D764 80032D04 4BFFE281 */ bl treePrintNode -lbl_80032D08: -/* 02D768 80032D08 809B006C */ lwz r4, 0x6c(r27) -/* 02D76C 80032D0C 28040000 */ cmplwi r4, 0 -/* 02D770 80032D10 41820018 */ beq lbl_80032D28 -/* 02D774 80032D14 387C0000 */ addi r3, r28, 0 -/* 02D778 80032D18 38C10024 */ addi r6, r1, 0x24 -/* 02D77C 80032D1C 38E10028 */ addi r7, r1, 0x28 -/* 02D780 80032D20 38A00010 */ li r5, 0x10 -/* 02D784 80032D24 4BFFE261 */ bl treePrintNode -lbl_80032D28: -/* 02D788 80032D28 3C7C0001 */ addis r3, r28, 1 -/* 02D78C 80032D2C 809A002C */ lwz r4, 0x2c(r26) -/* 02D790 80032D30 806312A0 */ lwz r3, 0x12a0(r3) -/* 02D794 80032D34 38840048 */ addi r4, r4, 0x48 -/* 02D798 80032D38 80030004 */ lwz r0, 4(r3) -/* 02D79C 80032D3C 7C040050 */ subf r0, r4, r0 -/* 02D7A0 80032D40 90030004 */ stw r0, 4(r3) -/* 02D7A4 80032D44 809E0068 */ lwz r4, 0x68(r30) -/* 02D7A8 80032D48 80040004 */ lwz r0, 4(r4) -/* 02D7AC 80032D4C 28000000 */ cmplwi r0, 0 -/* 02D7B0 80032D50 4182000C */ beq lbl_80032D5C -/* 02D7B4 80032D54 7F83E378 */ mr r3, r28 -/* 02D7B8 80032D58 480011E5 */ bl cpuHeapFree -lbl_80032D5C: -/* 02D7BC 80032D5C 807E0068 */ lwz r3, 0x68(r30) -/* 02D7C0 80032D60 80C30038 */ lwz r6, 0x38(r3) -/* 02D7C4 80032D64 2C06FFFF */ cmpwi r6, -1 -/* 02D7C8 80032D68 4082000C */ bne lbl_80032D74 -/* 02D7CC 80032D6C 38E00000 */ li r7, 0 -/* 02D7D0 80032D70 48000040 */ b lbl_80032DB0 -lbl_80032D74: -/* 02D7D4 80032D74 7CC08670 */ srawi r0, r6, 0x10 -/* 02D7D8 80032D78 38E00001 */ li r7, 1 -/* 02D7DC 80032D7C 7CE30030 */ slw r3, r7, r0 -/* 02D7E0 80032D80 54C4ECFA */ rlwinm r4, r6, 0x1d, 0x13, 0x1d -/* 02D7E4 80032D84 38A3FFFF */ addi r5, r3, -1 -/* 02D7E8 80032D88 7C7F202E */ lwzx r3, r31, r4 -/* 02D7EC 80032D8C 54C006FE */ clrlwi r0, r6, 0x1b -/* 02D7F0 80032D90 7CA50030 */ slw r5, r5, r0 -/* 02D7F4 80032D94 7CA01838 */ and r0, r5, r3 -/* 02D7F8 80032D98 7C050040 */ cmplw r5, r0 -/* 02D7FC 80032D9C 40820010 */ bne lbl_80032DAC -/* 02D800 80032DA0 7C602878 */ andc r0, r3, r5 -/* 02D804 80032DA4 7C1F212E */ stwx r0, r31, r4 -/* 02D808 80032DA8 48000008 */ b lbl_80032DB0 -lbl_80032DAC: -/* 02D80C 80032DAC 38E00000 */ li r7, 0 -lbl_80032DB0: -/* 02D810 80032DB0 2C070000 */ cmpwi r7, 0 -/* 02D814 80032DB4 4082000C */ bne lbl_80032DC0 -/* 02D818 80032DB8 38600000 */ li r3, 0 -/* 02D81C 80032DBC 4800015C */ b lbl_80032F18 -lbl_80032DC0: -/* 02D820 80032DC0 3BBD0001 */ addi r29, r29, 1 -lbl_80032DC4: -/* 02D824 80032DC4 809E006C */ lwz r4, 0x6c(r30) -/* 02D828 80032DC8 28040000 */ cmplwi r4, 0 -/* 02D82C 80032DCC 41820114 */ beq lbl_80032EE0 -/* 02D830 80032DD0 7F83E378 */ mr r3, r28 -/* 02D834 80032DD4 4BFFFC01 */ bl treeKillNodes -/* 02D838 80032DD8 835E006C */ lwz r26, 0x6c(r30) -/* 02D83C 80032DDC 7FBD1A14 */ add r29, r29, r3 -/* 02D840 80032DE0 801A0004 */ lwz r0, 4(r26) -/* 02D844 80032DE4 28000000 */ cmplwi r0, 0 -/* 02D848 80032DE8 4182005C */ beq lbl_80032E44 -/* 02D84C 80032DEC 3C7C0001 */ addis r3, r28, 1 -/* 02D850 80032DF0 801A0010 */ lwz r0, 0x10(r26) -/* 02D854 80032DF4 836312A0 */ lwz r27, 0x12a0(r3) -/* 02D858 80032DF8 90010014 */ stw r0, 0x14(r1) -/* 02D85C 80032DFC 801A0014 */ lwz r0, 0x14(r26) -/* 02D860 80032E00 90010018 */ stw r0, 0x18(r1) -/* 02D864 80032E04 809B0068 */ lwz r4, 0x68(r27) -/* 02D868 80032E08 28040000 */ cmplwi r4, 0 -/* 02D86C 80032E0C 41820018 */ beq lbl_80032E24 -/* 02D870 80032E10 387C0000 */ addi r3, r28, 0 -/* 02D874 80032E14 38C10014 */ addi r6, r1, 0x14 -/* 02D878 80032E18 38E10018 */ addi r7, r1, 0x18 -/* 02D87C 80032E1C 38A00010 */ li r5, 0x10 -/* 02D880 80032E20 4BFFE165 */ bl treePrintNode -lbl_80032E24: -/* 02D884 80032E24 809B006C */ lwz r4, 0x6c(r27) -/* 02D888 80032E28 28040000 */ cmplwi r4, 0 -/* 02D88C 80032E2C 41820018 */ beq lbl_80032E44 -/* 02D890 80032E30 387C0000 */ addi r3, r28, 0 -/* 02D894 80032E34 38C10014 */ addi r6, r1, 0x14 -/* 02D898 80032E38 38E10018 */ addi r7, r1, 0x18 -/* 02D89C 80032E3C 38A00010 */ li r5, 0x10 -/* 02D8A0 80032E40 4BFFE145 */ bl treePrintNode -lbl_80032E44: -/* 02D8A4 80032E44 3C7C0001 */ addis r3, r28, 1 -/* 02D8A8 80032E48 809A002C */ lwz r4, 0x2c(r26) -/* 02D8AC 80032E4C 806312A0 */ lwz r3, 0x12a0(r3) -/* 02D8B0 80032E50 38840048 */ addi r4, r4, 0x48 -/* 02D8B4 80032E54 80030004 */ lwz r0, 4(r3) -/* 02D8B8 80032E58 7C040050 */ subf r0, r4, r0 -/* 02D8BC 80032E5C 90030004 */ stw r0, 4(r3) -/* 02D8C0 80032E60 809E006C */ lwz r4, 0x6c(r30) -/* 02D8C4 80032E64 80040004 */ lwz r0, 4(r4) -/* 02D8C8 80032E68 28000000 */ cmplwi r0, 0 -/* 02D8CC 80032E6C 4182000C */ beq lbl_80032E78 -/* 02D8D0 80032E70 7F83E378 */ mr r3, r28 -/* 02D8D4 80032E74 480010C9 */ bl cpuHeapFree -lbl_80032E78: -/* 02D8D8 80032E78 807E006C */ lwz r3, 0x6c(r30) -/* 02D8DC 80032E7C 80C30038 */ lwz r6, 0x38(r3) -/* 02D8E0 80032E80 2C06FFFF */ cmpwi r6, -1 -/* 02D8E4 80032E84 4082000C */ bne lbl_80032E90 -/* 02D8E8 80032E88 38E00000 */ li r7, 0 -/* 02D8EC 80032E8C 48000040 */ b lbl_80032ECC -lbl_80032E90: -/* 02D8F0 80032E90 7CC08670 */ srawi r0, r6, 0x10 -/* 02D8F4 80032E94 38E00001 */ li r7, 1 -/* 02D8F8 80032E98 7CE30030 */ slw r3, r7, r0 -/* 02D8FC 80032E9C 54C4ECFA */ rlwinm r4, r6, 0x1d, 0x13, 0x1d -/* 02D900 80032EA0 38A3FFFF */ addi r5, r3, -1 -/* 02D904 80032EA4 7C7F202E */ lwzx r3, r31, r4 -/* 02D908 80032EA8 54C006FE */ clrlwi r0, r6, 0x1b -/* 02D90C 80032EAC 7CA50030 */ slw r5, r5, r0 -/* 02D910 80032EB0 7CA01838 */ and r0, r5, r3 -/* 02D914 80032EB4 7C050040 */ cmplw r5, r0 -/* 02D918 80032EB8 40820010 */ bne lbl_80032EC8 -/* 02D91C 80032EBC 7C602878 */ andc r0, r3, r5 -/* 02D920 80032EC0 7C1F212E */ stwx r0, r31, r4 -/* 02D924 80032EC4 48000008 */ b lbl_80032ECC -lbl_80032EC8: -/* 02D928 80032EC8 38E00000 */ li r7, 0 -lbl_80032ECC: -/* 02D92C 80032ECC 2C070000 */ cmpwi r7, 0 -/* 02D930 80032ED0 4082000C */ bne lbl_80032EDC -/* 02D934 80032ED4 38600000 */ li r3, 0 -/* 02D938 80032ED8 48000040 */ b lbl_80032F18 -lbl_80032EDC: -/* 02D93C 80032EDC 3BBD0001 */ addi r29, r29, 1 -lbl_80032EE0: -/* 02D940 80032EE0 A01E0000 */ lhz r0, 0(r30) -/* 02D944 80032EE4 3C7C0001 */ addis r3, r28, 1 -/* 02D948 80032EE8 386312A0 */ addi r3, r3, 0x12a0 -/* 02D94C 80032EEC 7C1D0050 */ subf r0, r29, r0 -/* 02D950 80032EF0 B01E0000 */ sth r0, 0(r30) -/* 02D954 80032EF4 4BFD41A5 */ bl xlHeapFree -/* 02D958 80032EF8 2C030000 */ cmpwi r3, 0 -/* 02D95C 80032EFC 4082000C */ bne lbl_80032F08 -/* 02D960 80032F00 38600000 */ li r3, 0 -/* 02D964 80032F04 48000014 */ b lbl_80032F18 -lbl_80032F08: -/* 02D968 80032F08 3C7C0001 */ addis r3, r28, 1 -/* 02D96C 80032F0C 38000000 */ li r0, 0 -/* 02D970 80032F10 900312A0 */ stw r0, 0x12a0(r3) -/* 02D974 80032F14 38600001 */ li r3, 1 -lbl_80032F18: -/* 02D978 80032F18 BB410030 */ lmw r26, 0x30(r1) -/* 02D97C 80032F1C 8001004C */ lwz r0, 0x4c(r1) -/* 02D980 80032F20 38210048 */ addi r1, r1, 0x48 -/* 02D984 80032F24 7C0803A6 */ mtlr r0 -/* 02D988 80032F28 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeKillNodes.s b/asm/non_matchings/cpu/treeKillNodes.s deleted file mode 100644 index aeacd972..00000000 --- a/asm/non_matchings/cpu/treeKillNodes.s +++ /dev/null @@ -1,196 +0,0 @@ -glabel treeKillNodes -/* 02D434 800329D4 7C0802A6 */ mflr r0 -/* 02D438 800329D8 90010004 */ stw r0, 4(r1) -/* 02D43C 800329DC 9421FFA8 */ stwu r1, -0x58(r1) -/* 02D440 800329E0 BEE10034 */ stmw r23, 0x34(r1) -/* 02D444 800329E4 7C992379 */ or. r25, r4, r4 -/* 02D448 800329E8 3C808013 */ lis r4, aHeapTreeFlag@ha -/* 02D44C 800329EC 3B030000 */ addi r24, r3, 0 -/* 02D450 800329F0 3BC40A58 */ addi r30, r4, aHeapTreeFlag@l -/* 02D454 800329F4 3B400000 */ li r26, 0 -/* 02D458 800329F8 4082000C */ bne lbl_80032A04 -/* 02D45C 800329FC 38600000 */ li r3, 0 -/* 02D460 80032A00 48000270 */ b lbl_80032C70 -lbl_80032A04: -/* 02D464 80032A04 3B790000 */ addi r27, r25, 0 -/* 02D468 80032A08 3FF80001 */ addis r31, r24, 1 -/* 02D46C 80032A0C 48000008 */ b lbl_80032A14 -lbl_80032A10: -/* 02D470 80032A10 7C1B0378 */ mr r27, r0 -lbl_80032A14: -/* 02D474 80032A14 801B0040 */ lwz r0, 0x40(r27) -/* 02D478 80032A18 28000000 */ cmplwi r0, 0 -/* 02D47C 80032A1C 4082FFF4 */ bne lbl_80032A10 -lbl_80032A20: -/* 02D480 80032A20 801B0044 */ lwz r0, 0x44(r27) -/* 02D484 80032A24 28000000 */ cmplwi r0, 0 -/* 02D488 80032A28 4182000C */ beq lbl_80032A34 -/* 02D48C 80032A2C 7C1B0378 */ mr r27, r0 -/* 02D490 80032A30 48000234 */ b lbl_80032C64 -lbl_80032A34: -/* 02D494 80032A34 7C1BC840 */ cmplw r27, r25 -/* 02D498 80032A38 40820118 */ bne lbl_80032B50 -/* 02D49C 80032A3C 7F43D378 */ mr r3, r26 -/* 02D4A0 80032A40 48000230 */ b lbl_80032C70 -lbl_80032A44: -/* 02D4A4 80032A44 7F7CDB78 */ mr r28, r27 -/* 02D4A8 80032A48 801B0004 */ lwz r0, 4(r27) -/* 02D4AC 80032A4C 3B7D0000 */ addi r27, r29, 0 -/* 02D4B0 80032A50 28000000 */ cmplwi r0, 0 -/* 02D4B4 80032A54 41820058 */ beq lbl_80032AAC -/* 02D4B8 80032A58 82FF12A0 */ lwz r23, 0x12a0(r31) -/* 02D4BC 80032A5C 801C0010 */ lwz r0, 0x10(r28) -/* 02D4C0 80032A60 90010028 */ stw r0, 0x28(r1) -/* 02D4C4 80032A64 801C0014 */ lwz r0, 0x14(r28) -/* 02D4C8 80032A68 9001002C */ stw r0, 0x2c(r1) -/* 02D4CC 80032A6C 80970068 */ lwz r4, 0x68(r23) -/* 02D4D0 80032A70 28040000 */ cmplwi r4, 0 -/* 02D4D4 80032A74 41820018 */ beq lbl_80032A8C -/* 02D4D8 80032A78 38780000 */ addi r3, r24, 0 -/* 02D4DC 80032A7C 38C10028 */ addi r6, r1, 0x28 -/* 02D4E0 80032A80 38E1002C */ addi r7, r1, 0x2c -/* 02D4E4 80032A84 38A00010 */ li r5, 0x10 -/* 02D4E8 80032A88 4BFFE4FD */ bl treePrintNode -lbl_80032A8C: -/* 02D4EC 80032A8C 8097006C */ lwz r4, 0x6c(r23) -/* 02D4F0 80032A90 28040000 */ cmplwi r4, 0 -/* 02D4F4 80032A94 41820018 */ beq lbl_80032AAC -/* 02D4F8 80032A98 38780000 */ addi r3, r24, 0 -/* 02D4FC 80032A9C 38C10028 */ addi r6, r1, 0x28 -/* 02D500 80032AA0 38E1002C */ addi r7, r1, 0x2c -/* 02D504 80032AA4 38A00010 */ li r5, 0x10 -/* 02D508 80032AA8 4BFFE4DD */ bl treePrintNode -lbl_80032AAC: -/* 02D50C 80032AAC 807F12A0 */ lwz r3, 0x12a0(r31) -/* 02D510 80032AB0 809C002C */ lwz r4, 0x2c(r28) -/* 02D514 80032AB4 80030004 */ lwz r0, 4(r3) -/* 02D518 80032AB8 38840048 */ addi r4, r4, 0x48 -/* 02D51C 80032ABC 7C040050 */ subf r0, r4, r0 -/* 02D520 80032AC0 90030004 */ stw r0, 4(r3) -/* 02D524 80032AC4 801C0004 */ lwz r0, 4(r28) -/* 02D528 80032AC8 28000000 */ cmplwi r0, 0 -/* 02D52C 80032ACC 41820010 */ beq lbl_80032ADC -/* 02D530 80032AD0 38780000 */ addi r3, r24, 0 -/* 02D534 80032AD4 389C0000 */ addi r4, r28, 0 -/* 02D538 80032AD8 48001465 */ bl cpuHeapFree -lbl_80032ADC: -/* 02D53C 80032ADC 80FC0038 */ lwz r7, 0x38(r28) -/* 02D540 80032AE0 2C07FFFF */ cmpwi r7, -1 -/* 02D544 80032AE4 4082000C */ bne lbl_80032AF0 -/* 02D548 80032AE8 38C00000 */ li r6, 0 -/* 02D54C 80032AEC 48000040 */ b lbl_80032B2C -lbl_80032AF0: -/* 02D550 80032AF0 7CE08670 */ srawi r0, r7, 0x10 -/* 02D554 80032AF4 38C00001 */ li r6, 1 -/* 02D558 80032AF8 7CC30030 */ slw r3, r6, r0 -/* 02D55C 80032AFC 54E4ECFA */ rlwinm r4, r7, 0x1d, 0x13, 0x1d -/* 02D560 80032B00 38A3FFFF */ addi r5, r3, -1 -/* 02D564 80032B04 7C7E202E */ lwzx r3, r30, r4 -/* 02D568 80032B08 54E006FE */ clrlwi r0, r7, 0x1b -/* 02D56C 80032B0C 7CA50030 */ slw r5, r5, r0 -/* 02D570 80032B10 7CA01838 */ and r0, r5, r3 -/* 02D574 80032B14 7C050040 */ cmplw r5, r0 -/* 02D578 80032B18 40820010 */ bne lbl_80032B28 -/* 02D57C 80032B1C 7C602878 */ andc r0, r3, r5 -/* 02D580 80032B20 7C1E212E */ stwx r0, r30, r4 -/* 02D584 80032B24 48000008 */ b lbl_80032B2C -lbl_80032B28: -/* 02D588 80032B28 38C00000 */ li r6, 0 -lbl_80032B2C: -/* 02D58C 80032B2C 2C060000 */ cmpwi r6, 0 -/* 02D590 80032B30 4082000C */ bne lbl_80032B3C -/* 02D594 80032B34 38600000 */ li r3, 0 -/* 02D598 80032B38 48000138 */ b lbl_80032C70 -lbl_80032B3C: -/* 02D59C 80032B3C 7C1DC840 */ cmplw r29, r25 -/* 02D5A0 80032B40 3B5A0001 */ addi r26, r26, 1 -/* 02D5A4 80032B44 4082000C */ bne lbl_80032B50 -/* 02D5A8 80032B48 7F43D378 */ mr r3, r26 -/* 02D5AC 80032B4C 48000124 */ b lbl_80032C70 -lbl_80032B50: -/* 02D5B0 80032B50 83BB003C */ lwz r29, 0x3c(r27) -/* 02D5B4 80032B54 801D0040 */ lwz r0, 0x40(r29) -/* 02D5B8 80032B58 7C1B0040 */ cmplw r27, r0 -/* 02D5BC 80032B5C 4082FEE8 */ bne lbl_80032A44 -/* 02D5C0 80032B60 7F7CDB78 */ mr r28, r27 -/* 02D5C4 80032B64 801B0004 */ lwz r0, 4(r27) -/* 02D5C8 80032B68 3B7D0000 */ addi r27, r29, 0 -/* 02D5CC 80032B6C 28000000 */ cmplwi r0, 0 -/* 02D5D0 80032B70 41820058 */ beq lbl_80032BC8 -/* 02D5D4 80032B74 82FF12A0 */ lwz r23, 0x12a0(r31) -/* 02D5D8 80032B78 801C0010 */ lwz r0, 0x10(r28) -/* 02D5DC 80032B7C 90010018 */ stw r0, 0x18(r1) -/* 02D5E0 80032B80 801C0014 */ lwz r0, 0x14(r28) -/* 02D5E4 80032B84 9001001C */ stw r0, 0x1c(r1) -/* 02D5E8 80032B88 80970068 */ lwz r4, 0x68(r23) -/* 02D5EC 80032B8C 28040000 */ cmplwi r4, 0 -/* 02D5F0 80032B90 41820018 */ beq lbl_80032BA8 -/* 02D5F4 80032B94 38780000 */ addi r3, r24, 0 -/* 02D5F8 80032B98 38C10018 */ addi r6, r1, 0x18 -/* 02D5FC 80032B9C 38E1001C */ addi r7, r1, 0x1c -/* 02D600 80032BA0 38A00010 */ li r5, 0x10 -/* 02D604 80032BA4 4BFFE3E1 */ bl treePrintNode -lbl_80032BA8: -/* 02D608 80032BA8 8097006C */ lwz r4, 0x6c(r23) -/* 02D60C 80032BAC 28040000 */ cmplwi r4, 0 -/* 02D610 80032BB0 41820018 */ beq lbl_80032BC8 -/* 02D614 80032BB4 38780000 */ addi r3, r24, 0 -/* 02D618 80032BB8 38C10018 */ addi r6, r1, 0x18 -/* 02D61C 80032BBC 38E1001C */ addi r7, r1, 0x1c -/* 02D620 80032BC0 38A00010 */ li r5, 0x10 -/* 02D624 80032BC4 4BFFE3C1 */ bl treePrintNode -lbl_80032BC8: -/* 02D628 80032BC8 807F12A0 */ lwz r3, 0x12a0(r31) -/* 02D62C 80032BCC 809C002C */ lwz r4, 0x2c(r28) -/* 02D630 80032BD0 80030004 */ lwz r0, 4(r3) -/* 02D634 80032BD4 38840048 */ addi r4, r4, 0x48 -/* 02D638 80032BD8 7C040050 */ subf r0, r4, r0 -/* 02D63C 80032BDC 90030004 */ stw r0, 4(r3) -/* 02D640 80032BE0 801C0004 */ lwz r0, 4(r28) -/* 02D644 80032BE4 28000000 */ cmplwi r0, 0 -/* 02D648 80032BE8 41820010 */ beq lbl_80032BF8 -/* 02D64C 80032BEC 38780000 */ addi r3, r24, 0 -/* 02D650 80032BF0 389C0000 */ addi r4, r28, 0 -/* 02D654 80032BF4 48001349 */ bl cpuHeapFree -lbl_80032BF8: -/* 02D658 80032BF8 80FC0038 */ lwz r7, 0x38(r28) -/* 02D65C 80032BFC 2C07FFFF */ cmpwi r7, -1 -/* 02D660 80032C00 4082000C */ bne lbl_80032C0C -/* 02D664 80032C04 38C00000 */ li r6, 0 -/* 02D668 80032C08 48000040 */ b lbl_80032C48 -lbl_80032C0C: -/* 02D66C 80032C0C 7CE08670 */ srawi r0, r7, 0x10 -/* 02D670 80032C10 38C00001 */ li r6, 1 -/* 02D674 80032C14 7CC30030 */ slw r3, r6, r0 -/* 02D678 80032C18 54E4ECFA */ rlwinm r4, r7, 0x1d, 0x13, 0x1d -/* 02D67C 80032C1C 38A3FFFF */ addi r5, r3, -1 -/* 02D680 80032C20 7C7E202E */ lwzx r3, r30, r4 -/* 02D684 80032C24 54E006FE */ clrlwi r0, r7, 0x1b -/* 02D688 80032C28 7CA50030 */ slw r5, r5, r0 -/* 02D68C 80032C2C 7CA01838 */ and r0, r5, r3 -/* 02D690 80032C30 7C050040 */ cmplw r5, r0 -/* 02D694 80032C34 40820010 */ bne lbl_80032C44 -/* 02D698 80032C38 7C602878 */ andc r0, r3, r5 -/* 02D69C 80032C3C 7C1E212E */ stwx r0, r30, r4 -/* 02D6A0 80032C40 48000008 */ b lbl_80032C48 -lbl_80032C44: -/* 02D6A4 80032C44 38C00000 */ li r6, 0 -lbl_80032C48: -/* 02D6A8 80032C48 2C060000 */ cmpwi r6, 0 -/* 02D6AC 80032C4C 4082000C */ bne lbl_80032C58 -/* 02D6B0 80032C50 38600000 */ li r3, 0 -/* 02D6B4 80032C54 4800001C */ b lbl_80032C70 -lbl_80032C58: -/* 02D6B8 80032C58 281D0000 */ cmplwi r29, 0 -/* 02D6BC 80032C5C 3B5A0001 */ addi r26, r26, 1 -/* 02D6C0 80032C60 4082FDC0 */ bne lbl_80032A20 -lbl_80032C64: -/* 02D6C4 80032C64 281B0000 */ cmplwi r27, 0 -/* 02D6C8 80032C68 4082FDAC */ bne lbl_80032A14 -/* 02D6CC 80032C6C 7F43D378 */ mr r3, r26 -lbl_80032C70: -/* 02D6D0 80032C70 BAE10034 */ lmw r23, 0x34(r1) -/* 02D6D4 80032C74 8001005C */ lwz r0, 0x5c(r1) -/* 02D6D8 80032C78 38210058 */ addi r1, r1, 0x58 -/* 02D6DC 80032C7C 7C0803A6 */ mtlr r0 -/* 02D6E0 80032C80 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeKillRange.s b/asm/non_matchings/cpu/treeKillRange.s deleted file mode 100644 index 07f08e0e..00000000 --- a/asm/non_matchings/cpu/treeKillRange.s +++ /dev/null @@ -1,572 +0,0 @@ -glabel treeKillRange -/* 02C350 800318F0 7C0802A6 */ mflr r0 -/* 02C354 800318F4 90010004 */ stw r0, 4(r1) -/* 02C358 800318F8 38000000 */ li r0, 0 -/* 02C35C 800318FC 9421FF98 */ stwu r1, -0x68(r1) -/* 02C360 80031900 BEE10044 */ stmw r23, 0x44(r1) -/* 02C364 80031904 3BE30000 */ addi r31, r3, 0 -/* 02C368 80031908 3C7F0001 */ addis r3, r31, 1 -/* 02C36C 8003190C 3B250000 */ addi r25, r5, 0 -/* 02C370 80031910 3B040000 */ addi r24, r4, 0 -/* 02C374 80031914 3B460000 */ addi r26, r6, 0 -/* 02C378 80031918 3B800000 */ li r28, 0 -/* 02C37C 8003191C 3B600000 */ li r27, 0 -/* 02C380 80031920 83A312A0 */ lwz r29, 0x12a0(r3) -/* 02C384 80031924 3C608013 */ lis r3, aHeapTreeFlag@ha -/* 02C388 80031928 3BC30A58 */ addi r30, r3, aHeapTreeFlag@l -/* 02C38C 8003192C 9001003C */ stw r0, 0x3c(r1) -/* 02C390 80031930 90010038 */ stw r0, 0x38(r1) -/* 02C394 80031934 801D000C */ lwz r0, 0xc(r29) -/* 02C398 80031938 7C190000 */ cmpw r25, r0 -/* 02C39C 8003193C 40800014 */ bge lbl_80031950 -/* 02C3A0 80031940 7C1A0000 */ cmpw r26, r0 -/* 02C3A4 80031944 4080000C */ bge lbl_80031950 -/* 02C3A8 80031948 38600000 */ li r3, 0 -/* 02C3AC 8003194C 48000728 */ b lbl_80032074 -lbl_80031950: -/* 02C3B0 80031950 801D0010 */ lwz r0, 0x10(r29) -/* 02C3B4 80031954 7C190000 */ cmpw r25, r0 -/* 02C3B8 80031958 40810014 */ ble lbl_8003196C -/* 02C3BC 8003195C 7C1A0000 */ cmpw r26, r0 -/* 02C3C0 80031960 4081000C */ ble lbl_8003196C -/* 02C3C4 80031964 38600000 */ li r3, 0 -/* 02C3C8 80031968 4800070C */ b lbl_80032074 -lbl_8003196C: -/* 02C3CC 8003196C 38780000 */ addi r3, r24, 0 -/* 02C3D0 80031970 38990000 */ addi r4, r25, 0 -/* 02C3D4 80031974 38A1003C */ addi r5, r1, 0x3c -/* 02C3D8 80031978 48000711 */ bl treeSearchNode -/* 02C3DC 8003197C 8061003C */ lwz r3, 0x3c(r1) -/* 02C3E0 80031980 28030000 */ cmplwi r3, 0 -/* 02C3E4 80031984 40820010 */ bne lbl_80031994 -/* 02C3E8 80031988 3B390004 */ addi r25, r25, 4 -/* 02C3EC 8003198C 7C19D000 */ cmpw r25, r26 -/* 02C3F0 80031990 4180FFDC */ blt lbl_8003196C -lbl_80031994: -/* 02C3F4 80031994 28030000 */ cmplwi r3, 0 -/* 02C3F8 80031998 4182038C */ beq lbl_80031D24 -/* 02C3FC 8003199C 84A3003C */ lwzu r5, 0x3c(r3) -/* 02C400 800319A0 38000000 */ li r0, 0 -/* 02C404 800319A4 90030000 */ stw r0, 0(r3) -/* 02C408 800319A8 8061003C */ lwz r3, 0x3c(r1) -/* 02C40C 800319AC 38830040 */ addi r4, r3, 0x40 -/* 02C410 800319B0 80630040 */ lwz r3, 0x40(r3) -/* 02C414 800319B4 90040000 */ stw r0, 0(r4) -/* 02C418 800319B8 8081003C */ lwz r4, 0x3c(r1) -/* 02C41C 800319BC 80840044 */ lwz r4, 0x44(r4) -/* 02C420 800319C0 48000044 */ b lbl_80031A04 -lbl_800319C4: -/* 02C424 800319C4 80040010 */ lwz r0, 0x10(r4) -/* 02C428 800319C8 7C00D000 */ cmpw r0, r26 -/* 02C42C 800319CC 40800020 */ bge lbl_800319EC -/* 02C430 800319D0 80C40014 */ lwz r6, 0x14(r4) -/* 02C434 800319D4 801D0010 */ lwz r0, 0x10(r29) -/* 02C438 800319D8 7C060000 */ cmpw r6, r0 -/* 02C43C 800319DC 40820008 */ bne lbl_800319E4 -/* 02C440 800319E0 3B800001 */ li r28, 1 -lbl_800319E4: -/* 02C444 800319E4 80840044 */ lwz r4, 0x44(r4) -/* 02C448 800319E8 4800001C */ b lbl_80031A04 -lbl_800319EC: -/* 02C44C 800319EC 28040000 */ cmplwi r4, 0 -/* 02C450 800319F0 4182001C */ beq lbl_80031A0C -/* 02C454 800319F4 80C4003C */ lwz r6, 0x3c(r4) -/* 02C458 800319F8 38000000 */ li r0, 0 -/* 02C45C 800319FC 90060044 */ stw r0, 0x44(r6) -/* 02C460 80031A00 4800000C */ b lbl_80031A0C -lbl_80031A04: -/* 02C464 80031A04 28040000 */ cmplwi r4, 0 -/* 02C468 80031A08 4082FFBC */ bne lbl_800319C4 -lbl_80031A0C: -/* 02C46C 80031A0C 28050000 */ cmplwi r5, 0 -/* 02C470 80031A10 418200A8 */ beq lbl_80031AB8 -/* 02C474 80031A14 28030000 */ cmplwi r3, 0 -/* 02C478 80031A18 4182004C */ beq lbl_80031A64 -/* 02C47C 80031A1C 80C50040 */ lwz r6, 0x40(r5) -/* 02C480 80031A20 8001003C */ lwz r0, 0x3c(r1) -/* 02C484 80031A24 7C060040 */ cmplw r6, r0 -/* 02C488 80031A28 4082000C */ bne lbl_80031A34 -/* 02C48C 80031A2C 90650040 */ stw r3, 0x40(r5) -/* 02C490 80031A30 48000008 */ b lbl_80031A38 -lbl_80031A34: -/* 02C494 80031A34 90650044 */ stw r3, 0x44(r5) -lbl_80031A38: -/* 02C498 80031A38 28040000 */ cmplwi r4, 0 -/* 02C49C 80031A3C 90A3003C */ stw r5, 0x3c(r3) -/* 02C4A0 80031A40 4182012C */ beq lbl_80031B6C -/* 02C4A4 80031A44 48000008 */ b lbl_80031A4C -lbl_80031A48: -/* 02C4A8 80031A48 7C030378 */ mr r3, r0 -lbl_80031A4C: -/* 02C4AC 80031A4C 80030044 */ lwz r0, 0x44(r3) -/* 02C4B0 80031A50 28000000 */ cmplwi r0, 0 -/* 02C4B4 80031A54 4082FFF4 */ bne lbl_80031A48 -/* 02C4B8 80031A58 90830044 */ stw r4, 0x44(r3) -/* 02C4BC 80031A5C 9064003C */ stw r3, 0x3c(r4) -/* 02C4C0 80031A60 4800010C */ b lbl_80031B6C -lbl_80031A64: -/* 02C4C4 80031A64 28040000 */ cmplwi r4, 0 -/* 02C4C8 80031A68 41820028 */ beq lbl_80031A90 -/* 02C4CC 80031A6C 80C50040 */ lwz r6, 0x40(r5) -/* 02C4D0 80031A70 8001003C */ lwz r0, 0x3c(r1) -/* 02C4D4 80031A74 7C060040 */ cmplw r6, r0 -/* 02C4D8 80031A78 4082000C */ bne lbl_80031A84 -/* 02C4DC 80031A7C 90850040 */ stw r4, 0x40(r5) -/* 02C4E0 80031A80 48000008 */ b lbl_80031A88 -lbl_80031A84: -/* 02C4E4 80031A84 90850044 */ stw r4, 0x44(r5) -lbl_80031A88: -/* 02C4E8 80031A88 90A4003C */ stw r5, 0x3c(r4) -/* 02C4EC 80031A8C 480000E0 */ b lbl_80031B6C -lbl_80031A90: -/* 02C4F0 80031A90 80C50040 */ lwz r6, 0x40(r5) -/* 02C4F4 80031A94 8001003C */ lwz r0, 0x3c(r1) -/* 02C4F8 80031A98 7C060040 */ cmplw r6, r0 -/* 02C4FC 80031A9C 40820010 */ bne lbl_80031AAC -/* 02C500 80031AA0 38000000 */ li r0, 0 -/* 02C504 80031AA4 90050040 */ stw r0, 0x40(r5) -/* 02C508 80031AA8 480000C4 */ b lbl_80031B6C -lbl_80031AAC: -/* 02C50C 80031AAC 38000000 */ li r0, 0 -/* 02C510 80031AB0 90050044 */ stw r0, 0x44(r5) -/* 02C514 80031AB4 480000B8 */ b lbl_80031B6C -lbl_80031AB8: -/* 02C518 80031AB8 28030000 */ cmplwi r3, 0 -/* 02C51C 80031ABC 41820054 */ beq lbl_80031B10 -/* 02C520 80031AC0 80DD0068 */ lwz r6, 0x68(r29) -/* 02C524 80031AC4 7C781B78 */ mr r24, r3 -/* 02C528 80031AC8 8001003C */ lwz r0, 0x3c(r1) -/* 02C52C 80031ACC 7C060040 */ cmplw r6, r0 -/* 02C530 80031AD0 4082000C */ bne lbl_80031ADC -/* 02C534 80031AD4 907D0068 */ stw r3, 0x68(r29) -/* 02C538 80031AD8 48000008 */ b lbl_80031AE0 -lbl_80031ADC: -/* 02C53C 80031ADC 907D006C */ stw r3, 0x6c(r29) -lbl_80031AE0: -/* 02C540 80031AE0 38000000 */ li r0, 0 -/* 02C544 80031AE4 28040000 */ cmplwi r4, 0 -/* 02C548 80031AE8 9003003C */ stw r0, 0x3c(r3) -/* 02C54C 80031AEC 41820080 */ beq lbl_80031B6C -/* 02C550 80031AF0 48000008 */ b lbl_80031AF8 -lbl_80031AF4: -/* 02C554 80031AF4 7C030378 */ mr r3, r0 -lbl_80031AF8: -/* 02C558 80031AF8 80030044 */ lwz r0, 0x44(r3) -/* 02C55C 80031AFC 28000000 */ cmplwi r0, 0 -/* 02C560 80031B00 4082FFF4 */ bne lbl_80031AF4 -/* 02C564 80031B04 90830044 */ stw r4, 0x44(r3) -/* 02C568 80031B08 9064003C */ stw r3, 0x3c(r4) -/* 02C56C 80031B0C 48000060 */ b lbl_80031B6C -lbl_80031B10: -/* 02C570 80031B10 28040000 */ cmplwi r4, 0 -/* 02C574 80031B14 41820030 */ beq lbl_80031B44 -/* 02C578 80031B18 80DD0068 */ lwz r6, 0x68(r29) -/* 02C57C 80031B1C 7C982378 */ mr r24, r4 -/* 02C580 80031B20 8001003C */ lwz r0, 0x3c(r1) -/* 02C584 80031B24 7C060040 */ cmplw r6, r0 -/* 02C588 80031B28 4082000C */ bne lbl_80031B34 -/* 02C58C 80031B2C 909D0068 */ stw r4, 0x68(r29) -/* 02C590 80031B30 48000008 */ b lbl_80031B38 -lbl_80031B34: -/* 02C594 80031B34 909D006C */ stw r4, 0x6c(r29) -lbl_80031B38: -/* 02C598 80031B38 38000000 */ li r0, 0 -/* 02C59C 80031B3C 9004003C */ stw r0, 0x3c(r4) -/* 02C5A0 80031B40 4800002C */ b lbl_80031B6C -lbl_80031B44: -/* 02C5A4 80031B44 80DD0068 */ lwz r6, 0x68(r29) -/* 02C5A8 80031B48 3B000000 */ li r24, 0 -/* 02C5AC 80031B4C 8001003C */ lwz r0, 0x3c(r1) -/* 02C5B0 80031B50 7C060040 */ cmplw r6, r0 -/* 02C5B4 80031B54 40820010 */ bne lbl_80031B64 -/* 02C5B8 80031B58 38000000 */ li r0, 0 -/* 02C5BC 80031B5C 901D0068 */ stw r0, 0x68(r29) -/* 02C5C0 80031B60 4800000C */ b lbl_80031B6C -lbl_80031B64: -/* 02C5C4 80031B64 38000000 */ li r0, 0 -/* 02C5C8 80031B68 901D006C */ stw r0, 0x6c(r29) -lbl_80031B6C: -/* 02C5CC 80031B6C 80C1003C */ lwz r6, 0x3c(r1) -/* 02C5D0 80031B70 80FD000C */ lwz r7, 0xc(r29) -/* 02C5D4 80031B74 80060010 */ lwz r0, 0x10(r6) -/* 02C5D8 80031B78 7C070000 */ cmpw r7, r0 -/* 02C5DC 80031B7C 40820048 */ bne lbl_80031BC4 -/* 02C5E0 80031B80 28040000 */ cmplwi r4, 0 -/* 02C5E4 80031B84 41820024 */ beq lbl_80031BA8 -/* 02C5E8 80031B88 48000008 */ b lbl_80031B90 -lbl_80031B8C: -/* 02C5EC 80031B8C 7C040378 */ mr r4, r0 -lbl_80031B90: -/* 02C5F0 80031B90 80040040 */ lwz r0, 0x40(r4) -/* 02C5F4 80031B94 28000000 */ cmplwi r0, 0 -/* 02C5F8 80031B98 4082FFF4 */ bne lbl_80031B8C -/* 02C5FC 80031B9C 80040010 */ lwz r0, 0x10(r4) -/* 02C600 80031BA0 901D000C */ stw r0, 0xc(r29) -/* 02C604 80031BA4 48000020 */ b lbl_80031BC4 -lbl_80031BA8: -/* 02C608 80031BA8 28050000 */ cmplwi r5, 0 -/* 02C60C 80031BAC 41820010 */ beq lbl_80031BBC -/* 02C610 80031BB0 80050010 */ lwz r0, 0x10(r5) -/* 02C614 80031BB4 901D000C */ stw r0, 0xc(r29) -/* 02C618 80031BB8 4800000C */ b lbl_80031BC4 -lbl_80031BBC: -/* 02C61C 80031BBC 801D0008 */ lwz r0, 8(r29) -/* 02C620 80031BC0 901D000C */ stw r0, 0xc(r29) -lbl_80031BC4: -/* 02C624 80031BC4 2C1C0000 */ cmpwi r28, 0 -/* 02C628 80031BC8 41820048 */ beq lbl_80031C10 -/* 02C62C 80031BCC 28030000 */ cmplwi r3, 0 -/* 02C630 80031BD0 41820024 */ beq lbl_80031BF4 -/* 02C634 80031BD4 48000008 */ b lbl_80031BDC -lbl_80031BD8: -/* 02C638 80031BD8 7C030378 */ mr r3, r0 -lbl_80031BDC: -/* 02C63C 80031BDC 80030044 */ lwz r0, 0x44(r3) -/* 02C640 80031BE0 28000000 */ cmplwi r0, 0 -/* 02C644 80031BE4 4082FFF4 */ bne lbl_80031BD8 -/* 02C648 80031BE8 80030014 */ lwz r0, 0x14(r3) -/* 02C64C 80031BEC 901D0010 */ stw r0, 0x10(r29) -/* 02C650 80031BF0 48000020 */ b lbl_80031C10 -lbl_80031BF4: -/* 02C654 80031BF4 28050000 */ cmplwi r5, 0 -/* 02C658 80031BF8 41820010 */ beq lbl_80031C08 -/* 02C65C 80031BFC 80050014 */ lwz r0, 0x14(r5) -/* 02C660 80031C00 901D0010 */ stw r0, 0x10(r29) -/* 02C664 80031C04 4800000C */ b lbl_80031C10 -lbl_80031C08: -/* 02C668 80031C08 801D0008 */ lwz r0, 8(r29) -/* 02C66C 80031C0C 901D0010 */ stw r0, 0x10(r29) -lbl_80031C10: -/* 02C670 80031C10 7FE3FB78 */ mr r3, r31 -/* 02C674 80031C14 8081003C */ lwz r4, 0x3c(r1) -/* 02C678 80031C18 48000DBD */ bl treeKillNodes -/* 02C67C 80031C1C 82E1003C */ lwz r23, 0x3c(r1) -/* 02C680 80031C20 7C7B1B78 */ mr r27, r3 -/* 02C684 80031C24 80170004 */ lwz r0, 4(r23) -/* 02C688 80031C28 28000000 */ cmplwi r0, 0 -/* 02C68C 80031C2C 4182005C */ beq lbl_80031C88 -/* 02C690 80031C30 3C7F0001 */ addis r3, r31, 1 -/* 02C694 80031C34 80170010 */ lwz r0, 0x10(r23) -/* 02C698 80031C38 838312A0 */ lwz r28, 0x12a0(r3) -/* 02C69C 80031C3C 90010030 */ stw r0, 0x30(r1) -/* 02C6A0 80031C40 80170014 */ lwz r0, 0x14(r23) -/* 02C6A4 80031C44 90010034 */ stw r0, 0x34(r1) -/* 02C6A8 80031C48 809C0068 */ lwz r4, 0x68(r28) -/* 02C6AC 80031C4C 28040000 */ cmplwi r4, 0 -/* 02C6B0 80031C50 41820018 */ beq lbl_80031C68 -/* 02C6B4 80031C54 387F0000 */ addi r3, r31, 0 -/* 02C6B8 80031C58 38C10030 */ addi r6, r1, 0x30 -/* 02C6BC 80031C5C 38E10034 */ addi r7, r1, 0x34 -/* 02C6C0 80031C60 38A00010 */ li r5, 0x10 -/* 02C6C4 80031C64 4BFFF321 */ bl treePrintNode -lbl_80031C68: -/* 02C6C8 80031C68 809C006C */ lwz r4, 0x6c(r28) -/* 02C6CC 80031C6C 28040000 */ cmplwi r4, 0 -/* 02C6D0 80031C70 41820018 */ beq lbl_80031C88 -/* 02C6D4 80031C74 387F0000 */ addi r3, r31, 0 -/* 02C6D8 80031C78 38C10030 */ addi r6, r1, 0x30 -/* 02C6DC 80031C7C 38E10034 */ addi r7, r1, 0x34 -/* 02C6E0 80031C80 38A00010 */ li r5, 0x10 -/* 02C6E4 80031C84 4BFFF301 */ bl treePrintNode -lbl_80031C88: -/* 02C6E8 80031C88 3C7F0001 */ addis r3, r31, 1 -/* 02C6EC 80031C8C 8097002C */ lwz r4, 0x2c(r23) -/* 02C6F0 80031C90 806312A0 */ lwz r3, 0x12a0(r3) -/* 02C6F4 80031C94 38840048 */ addi r4, r4, 0x48 -/* 02C6F8 80031C98 80030004 */ lwz r0, 4(r3) -/* 02C6FC 80031C9C 7C040050 */ subf r0, r4, r0 -/* 02C700 80031CA0 90030004 */ stw r0, 4(r3) -/* 02C704 80031CA4 8081003C */ lwz r4, 0x3c(r1) -/* 02C708 80031CA8 80040004 */ lwz r0, 4(r4) -/* 02C70C 80031CAC 28000000 */ cmplwi r0, 0 -/* 02C710 80031CB0 4182000C */ beq lbl_80031CBC -/* 02C714 80031CB4 7FE3FB78 */ mr r3, r31 -/* 02C718 80031CB8 48002285 */ bl cpuHeapFree -lbl_80031CBC: -/* 02C71C 80031CBC 8061003C */ lwz r3, 0x3c(r1) -/* 02C720 80031CC0 80C30038 */ lwz r6, 0x38(r3) -/* 02C724 80031CC4 2C06FFFF */ cmpwi r6, -1 -/* 02C728 80031CC8 4082000C */ bne lbl_80031CD4 -/* 02C72C 80031CCC 38E00000 */ li r7, 0 -/* 02C730 80031CD0 48000040 */ b lbl_80031D10 -lbl_80031CD4: -/* 02C734 80031CD4 7CC08670 */ srawi r0, r6, 0x10 -/* 02C738 80031CD8 38E00001 */ li r7, 1 -/* 02C73C 80031CDC 7CE30030 */ slw r3, r7, r0 -/* 02C740 80031CE0 54C4ECFA */ rlwinm r4, r6, 0x1d, 0x13, 0x1d -/* 02C744 80031CE4 38A3FFFF */ addi r5, r3, -1 -/* 02C748 80031CE8 7C7E202E */ lwzx r3, r30, r4 -/* 02C74C 80031CEC 54C006FE */ clrlwi r0, r6, 0x1b -/* 02C750 80031CF0 7CA50030 */ slw r5, r5, r0 -/* 02C754 80031CF4 7CA01838 */ and r0, r5, r3 -/* 02C758 80031CF8 7C050040 */ cmplw r5, r0 -/* 02C75C 80031CFC 40820010 */ bne lbl_80031D0C -/* 02C760 80031D00 7C602878 */ andc r0, r3, r5 -/* 02C764 80031D04 7C1E212E */ stwx r0, r30, r4 -/* 02C768 80031D08 48000008 */ b lbl_80031D10 -lbl_80031D0C: -/* 02C76C 80031D0C 38E00000 */ li r7, 0 -lbl_80031D10: -/* 02C770 80031D10 2C070000 */ cmpwi r7, 0 -/* 02C774 80031D14 4082000C */ bne lbl_80031D20 -/* 02C778 80031D18 38600000 */ li r3, 0 -/* 02C77C 80031D1C 48000358 */ b lbl_80032074 -lbl_80031D20: -/* 02C780 80031D20 3B7B0001 */ addi r27, r27, 1 -lbl_80031D24: -/* 02C784 80031D24 38780000 */ addi r3, r24, 0 -/* 02C788 80031D28 389A0000 */ addi r4, r26, 0 -/* 02C78C 80031D2C 38A10038 */ addi r5, r1, 0x38 -/* 02C790 80031D30 48000359 */ bl treeSearchNode -/* 02C794 80031D34 80610038 */ lwz r3, 0x38(r1) -/* 02C798 80031D38 28030000 */ cmplwi r3, 0 -/* 02C79C 80031D3C 40820010 */ bne lbl_80031D4C -/* 02C7A0 80031D40 3B5AFFFC */ addi r26, r26, -4 -/* 02C7A4 80031D44 7C19D000 */ cmpw r25, r26 -/* 02C7A8 80031D48 4180FFDC */ blt lbl_80031D24 -lbl_80031D4C: -/* 02C7AC 80031D4C 28030000 */ cmplwi r3, 0 -/* 02C7B0 80031D50 41820320 */ beq lbl_80032070 -/* 02C7B4 80031D54 3883003C */ addi r4, r3, 0x3c -/* 02C7B8 80031D58 8063003C */ lwz r3, 0x3c(r3) -/* 02C7BC 80031D5C 38000000 */ li r0, 0 -/* 02C7C0 80031D60 90040000 */ stw r0, 0(r4) -/* 02C7C4 80031D64 80810038 */ lwz r4, 0x38(r1) -/* 02C7C8 80031D68 38A40044 */ addi r5, r4, 0x44 -/* 02C7CC 80031D6C 80840040 */ lwz r4, 0x40(r4) -/* 02C7D0 80031D70 80C50000 */ lwz r6, 0(r5) -/* 02C7D4 80031D74 90050000 */ stw r0, 0(r5) -/* 02C7D8 80031D78 48000030 */ b lbl_80031DA8 -lbl_80031D7C: -/* 02C7DC 80031D7C 80040010 */ lwz r0, 0x10(r4) -/* 02C7E0 80031D80 7C00C800 */ cmpw r0, r25 -/* 02C7E4 80031D84 4081000C */ ble lbl_80031D90 -/* 02C7E8 80031D88 80840040 */ lwz r4, 0x40(r4) -/* 02C7EC 80031D8C 4800001C */ b lbl_80031DA8 -lbl_80031D90: -/* 02C7F0 80031D90 28040000 */ cmplwi r4, 0 -/* 02C7F4 80031D94 4182001C */ beq lbl_80031DB0 -/* 02C7F8 80031D98 80A4003C */ lwz r5, 0x3c(r4) -/* 02C7FC 80031D9C 38000000 */ li r0, 0 -/* 02C800 80031DA0 90050040 */ stw r0, 0x40(r5) -/* 02C804 80031DA4 4800000C */ b lbl_80031DB0 -lbl_80031DA8: -/* 02C808 80031DA8 28040000 */ cmplwi r4, 0 -/* 02C80C 80031DAC 4082FFD0 */ bne lbl_80031D7C -lbl_80031DB0: -/* 02C810 80031DB0 28030000 */ cmplwi r3, 0 -/* 02C814 80031DB4 418200A8 */ beq lbl_80031E5C -/* 02C818 80031DB8 28060000 */ cmplwi r6, 0 -/* 02C81C 80031DBC 4182004C */ beq lbl_80031E08 -/* 02C820 80031DC0 80A30040 */ lwz r5, 0x40(r3) -/* 02C824 80031DC4 80010038 */ lwz r0, 0x38(r1) -/* 02C828 80031DC8 7C050040 */ cmplw r5, r0 -/* 02C82C 80031DCC 4082000C */ bne lbl_80031DD8 -/* 02C830 80031DD0 90C30040 */ stw r6, 0x40(r3) -/* 02C834 80031DD4 48000008 */ b lbl_80031DDC -lbl_80031DD8: -/* 02C838 80031DD8 90C30044 */ stw r6, 0x44(r3) -lbl_80031DDC: -/* 02C83C 80031DDC 28040000 */ cmplwi r4, 0 -/* 02C840 80031DE0 9066003C */ stw r3, 0x3c(r6) -/* 02C844 80031DE4 41820120 */ beq lbl_80031F04 -/* 02C848 80031DE8 48000008 */ b lbl_80031DF0 -lbl_80031DEC: -/* 02C84C 80031DEC 7C060378 */ mr r6, r0 -lbl_80031DF0: -/* 02C850 80031DF0 80060040 */ lwz r0, 0x40(r6) -/* 02C854 80031DF4 28000000 */ cmplwi r0, 0 -/* 02C858 80031DF8 4082FFF4 */ bne lbl_80031DEC -/* 02C85C 80031DFC 90860040 */ stw r4, 0x40(r6) -/* 02C860 80031E00 90C4003C */ stw r6, 0x3c(r4) -/* 02C864 80031E04 48000100 */ b lbl_80031F04 -lbl_80031E08: -/* 02C868 80031E08 28040000 */ cmplwi r4, 0 -/* 02C86C 80031E0C 41820028 */ beq lbl_80031E34 -/* 02C870 80031E10 80A30040 */ lwz r5, 0x40(r3) -/* 02C874 80031E14 80010038 */ lwz r0, 0x38(r1) -/* 02C878 80031E18 7C050040 */ cmplw r5, r0 -/* 02C87C 80031E1C 4082000C */ bne lbl_80031E28 -/* 02C880 80031E20 90830040 */ stw r4, 0x40(r3) -/* 02C884 80031E24 48000008 */ b lbl_80031E2C -lbl_80031E28: -/* 02C888 80031E28 90830044 */ stw r4, 0x44(r3) -lbl_80031E2C: -/* 02C88C 80031E2C 9064003C */ stw r3, 0x3c(r4) -/* 02C890 80031E30 480000D4 */ b lbl_80031F04 -lbl_80031E34: -/* 02C894 80031E34 80A30040 */ lwz r5, 0x40(r3) -/* 02C898 80031E38 80010038 */ lwz r0, 0x38(r1) -/* 02C89C 80031E3C 7C050040 */ cmplw r5, r0 -/* 02C8A0 80031E40 40820010 */ bne lbl_80031E50 -/* 02C8A4 80031E44 38000000 */ li r0, 0 -/* 02C8A8 80031E48 90030040 */ stw r0, 0x40(r3) -/* 02C8AC 80031E4C 480000B8 */ b lbl_80031F04 -lbl_80031E50: -/* 02C8B0 80031E50 38000000 */ li r0, 0 -/* 02C8B4 80031E54 90030044 */ stw r0, 0x44(r3) -/* 02C8B8 80031E58 480000AC */ b lbl_80031F04 -lbl_80031E5C: -/* 02C8BC 80031E5C 28060000 */ cmplwi r6, 0 -/* 02C8C0 80031E60 41820050 */ beq lbl_80031EB0 -/* 02C8C4 80031E64 80BD0068 */ lwz r5, 0x68(r29) -/* 02C8C8 80031E68 80010038 */ lwz r0, 0x38(r1) -/* 02C8CC 80031E6C 7C050040 */ cmplw r5, r0 -/* 02C8D0 80031E70 4082000C */ bne lbl_80031E7C -/* 02C8D4 80031E74 90DD0068 */ stw r6, 0x68(r29) -/* 02C8D8 80031E78 48000008 */ b lbl_80031E80 -lbl_80031E7C: -/* 02C8DC 80031E7C 90DD006C */ stw r6, 0x6c(r29) -lbl_80031E80: -/* 02C8E0 80031E80 38000000 */ li r0, 0 -/* 02C8E4 80031E84 28040000 */ cmplwi r4, 0 -/* 02C8E8 80031E88 9006003C */ stw r0, 0x3c(r6) -/* 02C8EC 80031E8C 41820078 */ beq lbl_80031F04 -/* 02C8F0 80031E90 48000008 */ b lbl_80031E98 -lbl_80031E94: -/* 02C8F4 80031E94 7C060378 */ mr r6, r0 -lbl_80031E98: -/* 02C8F8 80031E98 80060040 */ lwz r0, 0x40(r6) -/* 02C8FC 80031E9C 28000000 */ cmplwi r0, 0 -/* 02C900 80031EA0 4082FFF4 */ bne lbl_80031E94 -/* 02C904 80031EA4 90860040 */ stw r4, 0x40(r6) -/* 02C908 80031EA8 90C4003C */ stw r6, 0x3c(r4) -/* 02C90C 80031EAC 48000058 */ b lbl_80031F04 -lbl_80031EB0: -/* 02C910 80031EB0 28040000 */ cmplwi r4, 0 -/* 02C914 80031EB4 4182002C */ beq lbl_80031EE0 -/* 02C918 80031EB8 80BD0068 */ lwz r5, 0x68(r29) -/* 02C91C 80031EBC 80010038 */ lwz r0, 0x38(r1) -/* 02C920 80031EC0 7C050040 */ cmplw r5, r0 -/* 02C924 80031EC4 4082000C */ bne lbl_80031ED0 -/* 02C928 80031EC8 909D0068 */ stw r4, 0x68(r29) -/* 02C92C 80031ECC 48000008 */ b lbl_80031ED4 -lbl_80031ED0: -/* 02C930 80031ED0 909D006C */ stw r4, 0x6c(r29) -lbl_80031ED4: -/* 02C934 80031ED4 38000000 */ li r0, 0 -/* 02C938 80031ED8 9004003C */ stw r0, 0x3c(r4) -/* 02C93C 80031EDC 48000028 */ b lbl_80031F04 -lbl_80031EE0: -/* 02C940 80031EE0 80BD0068 */ lwz r5, 0x68(r29) -/* 02C944 80031EE4 80010038 */ lwz r0, 0x38(r1) -/* 02C948 80031EE8 7C050040 */ cmplw r5, r0 -/* 02C94C 80031EEC 40820010 */ bne lbl_80031EFC -/* 02C950 80031EF0 38000000 */ li r0, 0 -/* 02C954 80031EF4 901D0068 */ stw r0, 0x68(r29) -/* 02C958 80031EF8 4800000C */ b lbl_80031F04 -lbl_80031EFC: -/* 02C95C 80031EFC 38000000 */ li r0, 0 -/* 02C960 80031F00 901D006C */ stw r0, 0x6c(r29) -lbl_80031F04: -/* 02C964 80031F04 80A10038 */ lwz r5, 0x38(r1) -/* 02C968 80031F08 80DD0010 */ lwz r6, 0x10(r29) -/* 02C96C 80031F0C 80050014 */ lwz r0, 0x14(r5) -/* 02C970 80031F10 7C060000 */ cmpw r6, r0 -/* 02C974 80031F14 40820048 */ bne lbl_80031F5C -/* 02C978 80031F18 28040000 */ cmplwi r4, 0 -/* 02C97C 80031F1C 41820024 */ beq lbl_80031F40 -/* 02C980 80031F20 48000008 */ b lbl_80031F28 -lbl_80031F24: -/* 02C984 80031F24 7C040378 */ mr r4, r0 -lbl_80031F28: -/* 02C988 80031F28 80040044 */ lwz r0, 0x44(r4) -/* 02C98C 80031F2C 28000000 */ cmplwi r0, 0 -/* 02C990 80031F30 4082FFF4 */ bne lbl_80031F24 -/* 02C994 80031F34 80040014 */ lwz r0, 0x14(r4) -/* 02C998 80031F38 901D0010 */ stw r0, 0x10(r29) -/* 02C99C 80031F3C 48000020 */ b lbl_80031F5C -lbl_80031F40: -/* 02C9A0 80031F40 28030000 */ cmplwi r3, 0 -/* 02C9A4 80031F44 41820010 */ beq lbl_80031F54 -/* 02C9A8 80031F48 80030014 */ lwz r0, 0x14(r3) -/* 02C9AC 80031F4C 901D0010 */ stw r0, 0x10(r29) -/* 02C9B0 80031F50 4800000C */ b lbl_80031F5C -lbl_80031F54: -/* 02C9B4 80031F54 801D0008 */ lwz r0, 8(r29) -/* 02C9B8 80031F58 901D0010 */ stw r0, 0x10(r29) -lbl_80031F5C: -/* 02C9BC 80031F5C 7FE3FB78 */ mr r3, r31 -/* 02C9C0 80031F60 80810038 */ lwz r4, 0x38(r1) -/* 02C9C4 80031F64 48000A71 */ bl treeKillNodes -/* 02C9C8 80031F68 82E10038 */ lwz r23, 0x38(r1) -/* 02C9CC 80031F6C 7F7B1A14 */ add r27, r27, r3 -/* 02C9D0 80031F70 80170004 */ lwz r0, 4(r23) -/* 02C9D4 80031F74 28000000 */ cmplwi r0, 0 -/* 02C9D8 80031F78 4182005C */ beq lbl_80031FD4 -/* 02C9DC 80031F7C 3C7F0001 */ addis r3, r31, 1 -/* 02C9E0 80031F80 80170010 */ lwz r0, 0x10(r23) -/* 02C9E4 80031F84 830312A0 */ lwz r24, 0x12a0(r3) -/* 02C9E8 80031F88 90010020 */ stw r0, 0x20(r1) -/* 02C9EC 80031F8C 80170014 */ lwz r0, 0x14(r23) -/* 02C9F0 80031F90 90010024 */ stw r0, 0x24(r1) -/* 02C9F4 80031F94 80980068 */ lwz r4, 0x68(r24) -/* 02C9F8 80031F98 28040000 */ cmplwi r4, 0 -/* 02C9FC 80031F9C 41820018 */ beq lbl_80031FB4 -/* 02CA00 80031FA0 387F0000 */ addi r3, r31, 0 -/* 02CA04 80031FA4 38C10020 */ addi r6, r1, 0x20 -/* 02CA08 80031FA8 38E10024 */ addi r7, r1, 0x24 -/* 02CA0C 80031FAC 38A00010 */ li r5, 0x10 -/* 02CA10 80031FB0 4BFFEFD5 */ bl treePrintNode -lbl_80031FB4: -/* 02CA14 80031FB4 8098006C */ lwz r4, 0x6c(r24) -/* 02CA18 80031FB8 28040000 */ cmplwi r4, 0 -/* 02CA1C 80031FBC 41820018 */ beq lbl_80031FD4 -/* 02CA20 80031FC0 387F0000 */ addi r3, r31, 0 -/* 02CA24 80031FC4 38C10020 */ addi r6, r1, 0x20 -/* 02CA28 80031FC8 38E10024 */ addi r7, r1, 0x24 -/* 02CA2C 80031FCC 38A00010 */ li r5, 0x10 -/* 02CA30 80031FD0 4BFFEFB5 */ bl treePrintNode -lbl_80031FD4: -/* 02CA34 80031FD4 3C7F0001 */ addis r3, r31, 1 -/* 02CA38 80031FD8 8097002C */ lwz r4, 0x2c(r23) -/* 02CA3C 80031FDC 806312A0 */ lwz r3, 0x12a0(r3) -/* 02CA40 80031FE0 38840048 */ addi r4, r4, 0x48 -/* 02CA44 80031FE4 80030004 */ lwz r0, 4(r3) -/* 02CA48 80031FE8 7C040050 */ subf r0, r4, r0 -/* 02CA4C 80031FEC 90030004 */ stw r0, 4(r3) -/* 02CA50 80031FF0 80810038 */ lwz r4, 0x38(r1) -/* 02CA54 80031FF4 80040004 */ lwz r0, 4(r4) -/* 02CA58 80031FF8 28000000 */ cmplwi r0, 0 -/* 02CA5C 80031FFC 4182000C */ beq lbl_80032008 -/* 02CA60 80032000 7FE3FB78 */ mr r3, r31 -/* 02CA64 80032004 48001F39 */ bl cpuHeapFree -lbl_80032008: -/* 02CA68 80032008 80610038 */ lwz r3, 0x38(r1) -/* 02CA6C 8003200C 80C30038 */ lwz r6, 0x38(r3) -/* 02CA70 80032010 2C06FFFF */ cmpwi r6, -1 -/* 02CA74 80032014 4082000C */ bne lbl_80032020 -/* 02CA78 80032018 38E00000 */ li r7, 0 -/* 02CA7C 8003201C 48000040 */ b lbl_8003205C -lbl_80032020: -/* 02CA80 80032020 7CC08670 */ srawi r0, r6, 0x10 -/* 02CA84 80032024 38E00001 */ li r7, 1 -/* 02CA88 80032028 7CE30030 */ slw r3, r7, r0 -/* 02CA8C 8003202C 54C4ECFA */ rlwinm r4, r6, 0x1d, 0x13, 0x1d -/* 02CA90 80032030 38A3FFFF */ addi r5, r3, -1 -/* 02CA94 80032034 7C7E202E */ lwzx r3, r30, r4 -/* 02CA98 80032038 54C006FE */ clrlwi r0, r6, 0x1b -/* 02CA9C 8003203C 7CA50030 */ slw r5, r5, r0 -/* 02CAA0 80032040 7CA01838 */ and r0, r5, r3 -/* 02CAA4 80032044 7C050040 */ cmplw r5, r0 -/* 02CAA8 80032048 40820010 */ bne lbl_80032058 -/* 02CAAC 8003204C 7C602878 */ andc r0, r3, r5 -/* 02CAB0 80032050 7C1E212E */ stwx r0, r30, r4 -/* 02CAB4 80032054 48000008 */ b lbl_8003205C -lbl_80032058: -/* 02CAB8 80032058 38E00000 */ li r7, 0 -lbl_8003205C: -/* 02CABC 8003205C 2C070000 */ cmpwi r7, 0 -/* 02CAC0 80032060 4082000C */ bne lbl_8003206C -/* 02CAC4 80032064 38600000 */ li r3, 0 -/* 02CAC8 80032068 4800000C */ b lbl_80032074 -lbl_8003206C: -/* 02CACC 8003206C 3B7B0001 */ addi r27, r27, 1 -lbl_80032070: -/* 02CAD0 80032070 7F63DB78 */ mr r3, r27 -lbl_80032074: -/* 02CAD4 80032074 BAE10044 */ lmw r23, 0x44(r1) -/* 02CAD8 80032078 8001006C */ lwz r0, 0x6c(r1) -/* 02CADC 8003207C 38210068 */ addi r1, r1, 0x68 -/* 02CAE0 80032080 7C0803A6 */ mtlr r0 -/* 02CAE4 80032084 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeKillReason.s b/asm/non_matchings/cpu/treeKillReason.s deleted file mode 100644 index 97fe96c2..00000000 --- a/asm/non_matchings/cpu/treeKillReason.s +++ /dev/null @@ -1,42 +0,0 @@ -glabel treeKillReason -/* 02C2C0 80031860 80C3003C */ lwz r6, 0x3c(r3) -/* 02C2C4 80031864 2C06012C */ cmpwi r6, 0x12c -/* 02C2C8 80031868 4080000C */ bge lbl_80031874 -/* 02C2CC 8003186C 38600000 */ li r3, 0 -/* 02C2D0 80031870 4E800020 */ blr -lbl_80031874: -/* 02C2D4 80031874 40820014 */ bne lbl_80031888 -/* 02C2D8 80031878 38000001 */ li r0, 1 -/* 02C2DC 8003187C 90040000 */ stw r0, 0(r4) -/* 02C2E0 80031880 38600001 */ li r3, 1 -/* 02C2E4 80031884 4E800020 */ blr -lbl_80031888: -/* 02C2E8 80031888 3CA051EC */ lis r5, 0x51ec -/* 02C2EC 8003188C 3805851F */ addi r0, r5, -31457 -/* 02C2F0 80031890 7C003096 */ mulhw r0, r0, r6 -/* 02C2F4 80031894 7C003E70 */ srawi r0, r0, 7 -/* 02C2F8 80031898 54050FFE */ srwi r5, r0, 0x1f -/* 02C2FC 8003189C 7C002A14 */ add r0, r0, r5 -/* 02C300 800318A0 1C000190 */ mulli r0, r0, 0x190 -/* 02C304 800318A4 7C003051 */ subf. r0, r0, r6 -/* 02C308 800318A8 40820040 */ bne lbl_800318E8 -/* 02C30C 800318AC 3C630001 */ addis r3, r3, 1 -/* 02C310 800318B0 806312A0 */ lwz r3, 0x12a0(r3) -/* 02C314 800318B4 28030000 */ cmplwi r3, 0 -/* 02C318 800318B8 4082000C */ bne lbl_800318C4 -/* 02C31C 800318BC 38A00000 */ li r5, 0 -/* 02C320 800318C0 48000008 */ b lbl_800318C8 -lbl_800318C4: -/* 02C324 800318C4 80A30004 */ lwz r5, 4(r3) -lbl_800318C8: -/* 02C328 800318C8 3C600032 */ lis r3, 0x32 -/* 02C32C 800318CC 38039750 */ addi r0, r3, -26800 -/* 02C330 800318D0 7C050000 */ cmpw r5, r0 -/* 02C334 800318D4 40810014 */ ble lbl_800318E8 -/* 02C338 800318D8 3806FF38 */ addi r0, r6, -200 -/* 02C33C 800318DC 90040000 */ stw r0, 0(r4) -/* 02C340 800318E0 38600001 */ li r3, 1 -/* 02C344 800318E4 4E800020 */ blr -lbl_800318E8: -/* 02C348 800318E8 38600000 */ li r3, 0 -/* 02C34C 800318EC 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treePrintNode.s b/asm/non_matchings/cpu/treePrintNode.s deleted file mode 100644 index 0a9d33e8..00000000 --- a/asm/non_matchings/cpu/treePrintNode.s +++ /dev/null @@ -1,138 +0,0 @@ -glabel treePrintNode -/* 02B9E4 80030F84 7C0802A6 */ mflr r0 -/* 02B9E8 80030F88 90010004 */ stw r0, 4(r1) -/* 02B9EC 80030F8C 9421FFB0 */ stwu r1, -0x50(r1) -/* 02B9F0 80030F90 BE810020 */ stmw r20, 0x20(r1) -/* 02B9F4 80030F94 7C962379 */ or. r22, r4, r4 -/* 02B9F8 80030F98 3AA30000 */ addi r21, r3, 0 -/* 02B9FC 80030F9C 3AE60000 */ addi r23, r6, 0 -/* 02BA00 80030FA0 3B070000 */ addi r24, r7, 0 -/* 02BA04 80030FA4 3B200000 */ li r25, 0 -/* 02BA08 80030FA8 4082000C */ bne lbl_80030FB4 -/* 02BA0C 80030FAC 38600000 */ li r3, 0 -/* 02BA10 80030FB0 480001A4 */ b lbl_80031154 -lbl_80030FB4: -/* 02BA14 80030FB4 3C60800F */ lis r3, ganMapGPR@ha -/* 02BA18 80030FB8 3863BE70 */ addi r3, r3, ganMapGPR@l -/* 02BA1C 80030FBC 8003007C */ lwz r0, 0x7c(r3) -/* 02BA20 80030FC0 540005EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 02BA24 80030FC4 4182000C */ beq lbl_80030FD0 -/* 02BA28 80030FC8 38000001 */ li r0, 1 -/* 02BA2C 80030FCC 48000008 */ b lbl_80030FD4 -lbl_80030FD0: -/* 02BA30 80030FD0 38000000 */ li r0, 0 -lbl_80030FD4: -/* 02BA34 80030FD4 3C60800F */ lis r3, D_800EC054@ha -/* 02BA38 80030FD8 7C1A0378 */ mr r26, r0 -/* 02BA3C 80030FDC 3B760000 */ addi r27, r22, 0 -/* 02BA40 80030FE0 54BF07FE */ clrlwi r31, r5, 0x1f -/* 02BA44 80030FE4 54BE06F6 */ rlwinm r30, r5, 0, 0x1b, 0x1b -/* 02BA48 80030FE8 54BD05EE */ rlwinm r29, r5, 0, 0x17, 0x17 -/* 02BA4C 80030FEC 54BC04E6 */ rlwinm r28, r5, 0, 0x13, 0x13 -/* 02BA50 80030FF0 3A83C054 */ addi r20, r3, D_800EC054@l -/* 02BA54 80030FF4 48000028 */ b lbl_8003101C -lbl_80030FF8: -/* 02BA58 80030FF8 2C1F0000 */ cmpwi r31, 0 -/* 02BA5C 80030FFC 7C1B0378 */ mr r27, r0 -/* 02BA60 80031000 3B390001 */ addi r25, r25, 1 -/* 02BA64 80031004 41820018 */ beq lbl_8003101C -/* 02BA68 80031008 80770000 */ lwz r3, 0(r23) -/* 02BA6C 8003100C 7C191800 */ cmpw r25, r3 -/* 02BA70 80031010 4081000C */ ble lbl_8003101C -/* 02BA74 80031014 38030001 */ addi r0, r3, 1 -/* 02BA78 80031018 90170000 */ stw r0, 0(r23) -lbl_8003101C: -/* 02BA7C 8003101C 801B0040 */ lwz r0, 0x40(r27) -/* 02BA80 80031020 28000000 */ cmplwi r0, 0 -/* 02BA84 80031024 4082FFD4 */ bne lbl_80030FF8 -lbl_80031028: -/* 02BA88 80031028 2C1E0000 */ cmpwi r30, 0 -/* 02BA8C 8003102C 41820020 */ beq lbl_8003104C -/* 02BA90 80031030 80D70000 */ lwz r6, 0(r23) -/* 02BA94 80031034 7EA3AB78 */ mr r3, r21 -/* 02BA98 80031038 80F80000 */ lwz r7, 0(r24) -/* 02BA9C 8003103C 389B0000 */ addi r4, r27, 0 -/* 02BAA0 80031040 38BA0000 */ addi r5, r26, 0 -/* 02BAA4 80031044 4800205D */ bl treeCallerCheck -/* 02BAA8 80031048 48000088 */ b lbl_800310D0 -lbl_8003104C: -/* 02BAAC 8003104C 2C1D0000 */ cmpwi r29, 0 -/* 02BAB0 80031050 41820038 */ beq lbl_80031088 -/* 02BAB4 80031054 807B0028 */ lwz r3, 0x28(r27) -/* 02BAB8 80031058 2C030000 */ cmpwi r3, 0 -/* 02BABC 8003105C 40810074 */ ble lbl_800310D0 -/* 02BAC0 80031060 80170000 */ lwz r0, 0(r23) -/* 02BAC4 80031064 7C030000 */ cmpw r3, r0 -/* 02BAC8 80031068 40810008 */ ble lbl_80031070 -/* 02BACC 8003106C 90770000 */ stw r3, 0(r23) -lbl_80031070: -/* 02BAD0 80031070 807B0028 */ lwz r3, 0x28(r27) -/* 02BAD4 80031074 80180000 */ lwz r0, 0(r24) -/* 02BAD8 80031078 7C030000 */ cmpw r3, r0 -/* 02BADC 8003107C 40800054 */ bge lbl_800310D0 -/* 02BAE0 80031080 90780000 */ stw r3, 0(r24) -/* 02BAE4 80031084 4800004C */ b lbl_800310D0 -lbl_80031088: -/* 02BAE8 80031088 2C1C0000 */ cmpwi r28, 0 -/* 02BAEC 8003108C 41820020 */ beq lbl_800310AC -/* 02BAF0 80031090 807B0028 */ lwz r3, 0x28(r27) -/* 02BAF4 80031094 2C030000 */ cmpwi r3, 0 -/* 02BAF8 80031098 40810038 */ ble lbl_800310D0 -/* 02BAFC 8003109C 80170000 */ lwz r0, 0(r23) -/* 02BB00 800310A0 7C001850 */ subf r0, r0, r3 -/* 02BB04 800310A4 901B0028 */ stw r0, 0x28(r27) -/* 02BB08 800310A8 48000028 */ b lbl_800310D0 -lbl_800310AC: -/* 02BB0C 800310AC 2C1F0000 */ cmpwi r31, 0 -/* 02BB10 800310B0 41820020 */ beq lbl_800310D0 -/* 02BB14 800310B4 809B0010 */ lwz r4, 0x10(r27) -/* 02BB18 800310B8 7E83A378 */ mr r3, r20 -/* 02BB1C 800310BC 80BB0014 */ lwz r5, 0x14(r27) -/* 02BB20 800310C0 4CC63182 */ crclr 6 -/* 02BB24 800310C4 80DB0028 */ lwz r6, 0x28(r27) -/* 02BB28 800310C8 80FB002C */ lwz r7, 0x2c(r27) -/* 02BB2C 800310CC 4806D52D */ bl OSReport -lbl_800310D0: -/* 02BB30 800310D0 801B0044 */ lwz r0, 0x44(r27) -/* 02BB34 800310D4 28000000 */ cmplwi r0, 0 -/* 02BB38 800310D8 4182002C */ beq lbl_80031104 -/* 02BB3C 800310DC 2C1F0000 */ cmpwi r31, 0 -/* 02BB40 800310E0 7C1B0378 */ mr r27, r0 -/* 02BB44 800310E4 3B390001 */ addi r25, r25, 1 -/* 02BB48 800310E8 41820060 */ beq lbl_80031148 -/* 02BB4C 800310EC 80780000 */ lwz r3, 0(r24) -/* 02BB50 800310F0 7C191800 */ cmpw r25, r3 -/* 02BB54 800310F4 40810054 */ ble lbl_80031148 -/* 02BB58 800310F8 38030001 */ addi r0, r3, 1 -/* 02BB5C 800310FC 90180000 */ stw r0, 0(r24) -/* 02BB60 80031100 48000048 */ b lbl_80031148 -lbl_80031104: -/* 02BB64 80031104 7C1BB040 */ cmplw r27, r22 -/* 02BB68 80031108 40820024 */ bne lbl_8003112C -/* 02BB6C 8003110C 38600001 */ li r3, 1 -/* 02BB70 80031110 48000044 */ b lbl_80031154 -lbl_80031114: -/* 02BB74 80031114 7C03B040 */ cmplw r3, r22 -/* 02BB78 80031118 3B630000 */ addi r27, r3, 0 -/* 02BB7C 8003111C 3B39FFFF */ addi r25, r25, -1 -/* 02BB80 80031120 4082000C */ bne lbl_8003112C -/* 02BB84 80031124 38600001 */ li r3, 1 -/* 02BB88 80031128 4800002C */ b lbl_80031154 -lbl_8003112C: -/* 02BB8C 8003112C 807B003C */ lwz r3, 0x3c(r27) -/* 02BB90 80031130 80030040 */ lwz r0, 0x40(r3) -/* 02BB94 80031134 7C1B0040 */ cmplw r27, r0 -/* 02BB98 80031138 4082FFDC */ bne lbl_80031114 -/* 02BB9C 8003113C 28030000 */ cmplwi r3, 0 -/* 02BBA0 80031140 3B630000 */ addi r27, r3, 0 -/* 02BBA4 80031144 4082FEE4 */ bne lbl_80031028 -lbl_80031148: -/* 02BBA8 80031148 281B0000 */ cmplwi r27, 0 -/* 02BBAC 8003114C 4082FED0 */ bne lbl_8003101C -/* 02BBB0 80031150 38600000 */ li r3, 0 -lbl_80031154: -/* 02BBB4 80031154 BA810020 */ lmw r20, 0x20(r1) -/* 02BBB8 80031158 80010054 */ lwz r0, 0x54(r1) -/* 02BBBC 8003115C 38210050 */ addi r1, r1, 0x50 -/* 02BBC0 80031160 7C0803A6 */ mtlr r0 -/* 02BBC4 80031164 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeSearchNode.s b/asm/non_matchings/cpu/treeSearchNode.s deleted file mode 100644 index 4e70261e..00000000 --- a/asm/non_matchings/cpu/treeSearchNode.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel treeSearchNode -/* 02CAE8 80032088 28030000 */ cmplwi r3, 0 -/* 02CAEC 8003208C 4082000C */ bne lbl_80032098 -/* 02CAF0 80032090 38600000 */ li r3, 0 -/* 02CAF4 80032094 4E800020 */ blr -lbl_80032098: -/* 02CAF8 80032098 80C30010 */ lwz r6, 0x10(r3) -/* 02CAFC 8003209C 7C043000 */ cmpw r4, r6 -/* 02CB00 800320A0 4180001C */ blt lbl_800320BC -/* 02CB04 800320A4 80030014 */ lwz r0, 0x14(r3) -/* 02CB08 800320A8 7C040000 */ cmpw r4, r0 -/* 02CB0C 800320AC 40800010 */ bge lbl_800320BC -/* 02CB10 800320B0 90650000 */ stw r3, 0(r5) -/* 02CB14 800320B4 38600001 */ li r3, 1 -/* 02CB18 800320B8 4E800020 */ blr -lbl_800320BC: -/* 02CB1C 800320BC 7C043000 */ cmpw r4, r6 -/* 02CB20 800320C0 4080000C */ bge lbl_800320CC -/* 02CB24 800320C4 80630040 */ lwz r3, 0x40(r3) -/* 02CB28 800320C8 48000014 */ b lbl_800320DC -lbl_800320CC: -/* 02CB2C 800320CC 4081000C */ ble lbl_800320D8 -/* 02CB30 800320D0 80630044 */ lwz r3, 0x44(r3) -/* 02CB34 800320D4 48000008 */ b lbl_800320DC -lbl_800320D8: -/* 02CB38 800320D8 38600000 */ li r3, 0 -lbl_800320DC: -/* 02CB3C 800320DC 28030000 */ cmplwi r3, 0 -/* 02CB40 800320E0 4082FFB8 */ bne lbl_80032098 -/* 02CB44 800320E4 38600000 */ li r3, 0 -/* 02CB48 800320E8 4E800020 */ blr diff --git a/asm/non_matchings/cpu/treeTimerCheck.s b/asm/non_matchings/cpu/treeTimerCheck.s deleted file mode 100644 index 4ea03f30..00000000 --- a/asm/non_matchings/cpu/treeTimerCheck.s +++ /dev/null @@ -1,77 +0,0 @@ -glabel treeTimerCheck -/* 02C1AC 8003174C 7C0802A6 */ mflr r0 -/* 02C1B0 80031750 90010004 */ stw r0, 4(r1) -/* 02C1B4 80031754 9421FFE0 */ stwu r1, -0x20(r1) -/* 02C1B8 80031758 93E1001C */ stw r31, 0x1c(r1) -/* 02C1BC 8003175C 93C10018 */ stw r30, 0x18(r1) -/* 02C1C0 80031760 3BC30000 */ addi r30, r3, 0 -/* 02C1C4 80031764 3C608000 */ lis r3, 0x8000 -/* 02C1C8 80031768 801E003C */ lwz r0, 0x3c(r30) -/* 02C1CC 8003176C 3883F000 */ addi r4, r3, -4096 -/* 02C1D0 80031770 7C002000 */ cmpw r0, r4 -/* 02C1D4 80031774 408100D0 */ ble lbl_80031844 -/* 02C1D8 80031778 3C7E0001 */ addis r3, r30, 1 -/* 02C1DC 8003177C 83E312A0 */ lwz r31, 0x12a0(r3) -/* 02C1E0 80031780 801F0070 */ lwz r0, 0x70(r31) -/* 02C1E4 80031784 2C000000 */ cmpwi r0, 0 -/* 02C1E8 80031788 4182000C */ beq lbl_80031794 -/* 02C1EC 8003178C 38600000 */ li r3, 0 -/* 02C1F0 80031790 480000B8 */ b lbl_80031848 -lbl_80031794: -/* 02C1F4 80031794 38000000 */ li r0, 0 -/* 02C1F8 80031798 9081000C */ stw r4, 0xc(r1) -/* 02C1FC 8003179C 90010010 */ stw r0, 0x10(r1) -/* 02C200 800317A0 809F0068 */ lwz r4, 0x68(r31) -/* 02C204 800317A4 28040000 */ cmplwi r4, 0 -/* 02C208 800317A8 41820018 */ beq lbl_800317C0 -/* 02C20C 800317AC 387E0000 */ addi r3, r30, 0 -/* 02C210 800317B0 38C10010 */ addi r6, r1, 0x10 -/* 02C214 800317B4 38E1000C */ addi r7, r1, 0xc -/* 02C218 800317B8 38A00100 */ li r5, 0x100 -/* 02C21C 800317BC 4BFFF7C9 */ bl treePrintNode -lbl_800317C0: -/* 02C220 800317C0 809F006C */ lwz r4, 0x6c(r31) -/* 02C224 800317C4 28040000 */ cmplwi r4, 0 -/* 02C228 800317C8 41820018 */ beq lbl_800317E0 -/* 02C22C 800317CC 387E0000 */ addi r3, r30, 0 -/* 02C230 800317D0 38C10010 */ addi r6, r1, 0x10 -/* 02C234 800317D4 38E1000C */ addi r7, r1, 0xc -/* 02C238 800317D8 38A00100 */ li r5, 0x100 -/* 02C23C 800317DC 4BFFF7A9 */ bl treePrintNode -lbl_800317E0: -/* 02C240 800317E0 8061000C */ lwz r3, 0xc(r1) -/* 02C244 800317E4 3803FFFD */ addi r0, r3, -3 -/* 02C248 800317E8 90010010 */ stw r0, 0x10(r1) -/* 02C24C 800317EC 809F0068 */ lwz r4, 0x68(r31) -/* 02C250 800317F0 28040000 */ cmplwi r4, 0 -/* 02C254 800317F4 41820018 */ beq lbl_8003180C -/* 02C258 800317F8 387E0000 */ addi r3, r30, 0 -/* 02C25C 800317FC 38C10010 */ addi r6, r1, 0x10 -/* 02C260 80031800 38E1000C */ addi r7, r1, 0xc -/* 02C264 80031804 38A01000 */ li r5, 0x1000 -/* 02C268 80031808 4BFFF77D */ bl treePrintNode -lbl_8003180C: -/* 02C26C 8003180C 809F006C */ lwz r4, 0x6c(r31) -/* 02C270 80031810 28040000 */ cmplwi r4, 0 -/* 02C274 80031814 41820018 */ beq lbl_8003182C -/* 02C278 80031818 387E0000 */ addi r3, r30, 0 -/* 02C27C 8003181C 38C10010 */ addi r6, r1, 0x10 -/* 02C280 80031820 38E1000C */ addi r7, r1, 0xc -/* 02C284 80031824 38A01000 */ li r5, 0x1000 -/* 02C288 80031828 4BFFF75D */ bl treePrintNode -lbl_8003182C: -/* 02C28C 8003182C 80810010 */ lwz r4, 0x10(r1) -/* 02C290 80031830 38600001 */ li r3, 1 -/* 02C294 80031834 801E003C */ lwz r0, 0x3c(r30) -/* 02C298 80031838 7C040050 */ subf r0, r4, r0 -/* 02C29C 8003183C 901E003C */ stw r0, 0x3c(r30) -/* 02C2A0 80031840 48000008 */ b lbl_80031848 -lbl_80031844: -/* 02C2A4 80031844 38600000 */ li r3, 0 -lbl_80031848: -/* 02C2A8 80031848 80010024 */ lwz r0, 0x24(r1) -/* 02C2AC 8003184C 83E1001C */ lwz r31, 0x1c(r1) -/* 02C2B0 80031850 83C10018 */ lwz r30, 0x18(r1) -/* 02C2B4 80031854 7C0803A6 */ mtlr r0 -/* 02C2B8 80031858 38210020 */ addi r1, r1, 0x20 -/* 02C2BC 8003185C 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardCalculateChecksum.s b/asm/non_matchings/mcardGCN/mcardCalculateChecksum.s deleted file mode 100644 index a9e956b4..00000000 --- a/asm/non_matchings/mcardGCN/mcardCalculateChecksum.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel mcardCalculateChecksum -/* 016CA0 8001C240 3CA08010 */ lis r5, mCard@ha -/* 016CA4 8001C244 38A579B0 */ addi r5, r5, mCard@l -/* 016CA8 8001C248 80050470 */ lwz r0, 0x470(r5) -/* 016CAC 8001C24C 2C000001 */ cmpwi r0, 1 -/* 016CB0 8001C250 40820048 */ bne lbl_8001C298 -/* 016CB4 8001C254 38A00000 */ li r5, 0 -/* 016CB8 8001C258 380007FF */ li r0, 0x7ff -/* 016CBC 8001C25C 90A40000 */ stw r5, 0(r4) -/* 016CC0 8001C260 7C0903A6 */ mtctr r0 -/* 016CC4 8001C264 38E00004 */ li r7, 4 -lbl_8001C268: -/* 016CC8 8001C268 80A30474 */ lwz r5, 0x474(r3) -/* 016CCC 8001C26C 80C40000 */ lwz r6, 0(r4) -/* 016CD0 8001C270 7C05382E */ lwzx r0, r5, r7 -/* 016CD4 8001C274 38E70004 */ addi r7, r7, 4 -/* 016CD8 8001C278 7C060214 */ add r0, r6, r0 -/* 016CDC 8001C27C 90040000 */ stw r0, 0(r4) -/* 016CE0 8001C280 4200FFE8 */ bdnz lbl_8001C268 -/* 016CE4 8001C284 80040000 */ lwz r0, 0(r4) -/* 016CE8 8001C288 2C000000 */ cmpwi r0, 0 -/* 016CEC 8001C28C 4082000C */ bne lbl_8001C298 -/* 016CF0 8001C290 38000001 */ li r0, 1 -/* 016CF4 8001C294 90040000 */ stw r0, 0(r4) -lbl_8001C298: -/* 016CF8 8001C298 38600001 */ li r3, 1 -/* 016CFC 8001C29C 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardCalculateChecksumFileBlock1.s b/asm/non_matchings/mcardGCN/mcardCalculateChecksumFileBlock1.s deleted file mode 100644 index 7e2dca1e..00000000 --- a/asm/non_matchings/mcardGCN/mcardCalculateChecksumFileBlock1.s +++ /dev/null @@ -1,101 +0,0 @@ -glabel mcardCalculateChecksumFileBlock1 -/* 016B38 8001C0D8 3CA08010 */ lis r5, mCard@ha -/* 016B3C 8001C0DC 38A579B0 */ addi r5, r5, mCard@l -/* 016B40 8001C0E0 80050470 */ lwz r0, 0x470(r5) -/* 016B44 8001C0E4 2C000001 */ cmpwi r0, 1 -/* 016B48 8001C0E8 40820150 */ bne lbl_8001C238 -/* 016B4C 8001C0EC 38E00000 */ li r7, 0 -/* 016B50 8001C0F0 38000100 */ li r0, 0x100 -/* 016B54 8001C0F4 90E40000 */ stw r7, 0(r4) -/* 016B58 8001C0F8 7C0903A6 */ mtctr r0 -/* 016B5C 8001C0FC 39000000 */ li r8, 0 -lbl_8001C100: -/* 016B60 8001C100 2808000A */ cmplwi r8, 0xa -/* 016B64 8001C104 41820018 */ beq lbl_8001C11C -/* 016B68 8001C108 80A30474 */ lwz r5, 0x474(r3) -/* 016B6C 8001C10C 80C40000 */ lwz r6, 0(r4) -/* 016B70 8001C110 7C05382E */ lwzx r0, r5, r7 -/* 016B74 8001C114 7C060214 */ add r0, r6, r0 -/* 016B78 8001C118 90040000 */ stw r0, 0(r4) -lbl_8001C11C: -/* 016B7C 8001C11C 39080001 */ addi r8, r8, 1 -/* 016B80 8001C120 2808000A */ cmplwi r8, 0xa -/* 016B84 8001C124 38E70004 */ addi r7, r7, 4 -/* 016B88 8001C128 41820018 */ beq lbl_8001C140 -/* 016B8C 8001C12C 80A30474 */ lwz r5, 0x474(r3) -/* 016B90 8001C130 80C40000 */ lwz r6, 0(r4) -/* 016B94 8001C134 7C05382E */ lwzx r0, r5, r7 -/* 016B98 8001C138 7C060214 */ add r0, r6, r0 -/* 016B9C 8001C13C 90040000 */ stw r0, 0(r4) -lbl_8001C140: -/* 016BA0 8001C140 39080001 */ addi r8, r8, 1 -/* 016BA4 8001C144 2808000A */ cmplwi r8, 0xa -/* 016BA8 8001C148 38E70004 */ addi r7, r7, 4 -/* 016BAC 8001C14C 41820018 */ beq lbl_8001C164 -/* 016BB0 8001C150 80A30474 */ lwz r5, 0x474(r3) -/* 016BB4 8001C154 80C40000 */ lwz r6, 0(r4) -/* 016BB8 8001C158 7C05382E */ lwzx r0, r5, r7 -/* 016BBC 8001C15C 7C060214 */ add r0, r6, r0 -/* 016BC0 8001C160 90040000 */ stw r0, 0(r4) -lbl_8001C164: -/* 016BC4 8001C164 39080001 */ addi r8, r8, 1 -/* 016BC8 8001C168 2808000A */ cmplwi r8, 0xa -/* 016BCC 8001C16C 38E70004 */ addi r7, r7, 4 -/* 016BD0 8001C170 41820018 */ beq lbl_8001C188 -/* 016BD4 8001C174 80A30474 */ lwz r5, 0x474(r3) -/* 016BD8 8001C178 80C40000 */ lwz r6, 0(r4) -/* 016BDC 8001C17C 7C05382E */ lwzx r0, r5, r7 -/* 016BE0 8001C180 7C060214 */ add r0, r6, r0 -/* 016BE4 8001C184 90040000 */ stw r0, 0(r4) -lbl_8001C188: -/* 016BE8 8001C188 39080001 */ addi r8, r8, 1 -/* 016BEC 8001C18C 2808000A */ cmplwi r8, 0xa -/* 016BF0 8001C190 38E70004 */ addi r7, r7, 4 -/* 016BF4 8001C194 41820018 */ beq lbl_8001C1AC -/* 016BF8 8001C198 80A30474 */ lwz r5, 0x474(r3) -/* 016BFC 8001C19C 80C40000 */ lwz r6, 0(r4) -/* 016C00 8001C1A0 7C05382E */ lwzx r0, r5, r7 -/* 016C04 8001C1A4 7C060214 */ add r0, r6, r0 -/* 016C08 8001C1A8 90040000 */ stw r0, 0(r4) -lbl_8001C1AC: -/* 016C0C 8001C1AC 39080001 */ addi r8, r8, 1 -/* 016C10 8001C1B0 2808000A */ cmplwi r8, 0xa -/* 016C14 8001C1B4 38E70004 */ addi r7, r7, 4 -/* 016C18 8001C1B8 41820018 */ beq lbl_8001C1D0 -/* 016C1C 8001C1BC 80A30474 */ lwz r5, 0x474(r3) -/* 016C20 8001C1C0 80C40000 */ lwz r6, 0(r4) -/* 016C24 8001C1C4 7C05382E */ lwzx r0, r5, r7 -/* 016C28 8001C1C8 7C060214 */ add r0, r6, r0 -/* 016C2C 8001C1CC 90040000 */ stw r0, 0(r4) -lbl_8001C1D0: -/* 016C30 8001C1D0 39080001 */ addi r8, r8, 1 -/* 016C34 8001C1D4 2808000A */ cmplwi r8, 0xa -/* 016C38 8001C1D8 38E70004 */ addi r7, r7, 4 -/* 016C3C 8001C1DC 41820018 */ beq lbl_8001C1F4 -/* 016C40 8001C1E0 80A30474 */ lwz r5, 0x474(r3) -/* 016C44 8001C1E4 80C40000 */ lwz r6, 0(r4) -/* 016C48 8001C1E8 7C05382E */ lwzx r0, r5, r7 -/* 016C4C 8001C1EC 7C060214 */ add r0, r6, r0 -/* 016C50 8001C1F0 90040000 */ stw r0, 0(r4) -lbl_8001C1F4: -/* 016C54 8001C1F4 39080001 */ addi r8, r8, 1 -/* 016C58 8001C1F8 2808000A */ cmplwi r8, 0xa -/* 016C5C 8001C1FC 38E70004 */ addi r7, r7, 4 -/* 016C60 8001C200 41820018 */ beq lbl_8001C218 -/* 016C64 8001C204 80A30474 */ lwz r5, 0x474(r3) -/* 016C68 8001C208 80C40000 */ lwz r6, 0(r4) -/* 016C6C 8001C20C 7C05382E */ lwzx r0, r5, r7 -/* 016C70 8001C210 7C060214 */ add r0, r6, r0 -/* 016C74 8001C214 90040000 */ stw r0, 0(r4) -lbl_8001C218: -/* 016C78 8001C218 38E70004 */ addi r7, r7, 4 -/* 016C7C 8001C21C 39080001 */ addi r8, r8, 1 -/* 016C80 8001C220 4200FEE0 */ bdnz lbl_8001C100 -/* 016C84 8001C224 80040000 */ lwz r0, 0(r4) -/* 016C88 8001C228 2C000000 */ cmpwi r0, 0 -/* 016C8C 8001C22C 4082000C */ bne lbl_8001C238 -/* 016C90 8001C230 38000001 */ li r0, 1 -/* 016C94 8001C234 90040000 */ stw r0, 0(r4) -lbl_8001C238: -/* 016C98 8001C238 38600001 */ li r3, 1 -/* 016C9C 8001C23C 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardCalculateChecksumFileBlock2.s b/asm/non_matchings/mcardGCN/mcardCalculateChecksumFileBlock2.s deleted file mode 100644 index c3b570b9..00000000 --- a/asm/non_matchings/mcardGCN/mcardCalculateChecksumFileBlock2.s +++ /dev/null @@ -1,101 +0,0 @@ -glabel mcardCalculateChecksumFileBlock2 -/* 0169D0 8001BF70 3CA08010 */ lis r5, mCard@ha -/* 0169D4 8001BF74 38A579B0 */ addi r5, r5, mCard@l -/* 0169D8 8001BF78 80050470 */ lwz r0, 0x470(r5) -/* 0169DC 8001BF7C 2C000001 */ cmpwi r0, 1 -/* 0169E0 8001BF80 40820150 */ bne lbl_8001C0D0 -/* 0169E4 8001BF84 38E00000 */ li r7, 0 -/* 0169E8 8001BF88 38000100 */ li r0, 0x100 -/* 0169EC 8001BF8C 90E40000 */ stw r7, 0(r4) -/* 0169F0 8001BF90 7C0903A6 */ mtctr r0 -/* 0169F4 8001BF94 39000000 */ li r8, 0 -lbl_8001BF98: -/* 0169F8 8001BF98 2808041B */ cmplwi r8, 0x41b -/* 0169FC 8001BF9C 41820018 */ beq lbl_8001BFB4 -/* 016A00 8001BFA0 80A30474 */ lwz r5, 0x474(r3) -/* 016A04 8001BFA4 80C40000 */ lwz r6, 0(r4) -/* 016A08 8001BFA8 7C05382E */ lwzx r0, r5, r7 -/* 016A0C 8001BFAC 7C060214 */ add r0, r6, r0 -/* 016A10 8001BFB0 90040000 */ stw r0, 0(r4) -lbl_8001BFB4: -/* 016A14 8001BFB4 39080001 */ addi r8, r8, 1 -/* 016A18 8001BFB8 2808041B */ cmplwi r8, 0x41b -/* 016A1C 8001BFBC 38E70004 */ addi r7, r7, 4 -/* 016A20 8001BFC0 41820018 */ beq lbl_8001BFD8 -/* 016A24 8001BFC4 80A30474 */ lwz r5, 0x474(r3) -/* 016A28 8001BFC8 80C40000 */ lwz r6, 0(r4) -/* 016A2C 8001BFCC 7C05382E */ lwzx r0, r5, r7 -/* 016A30 8001BFD0 7C060214 */ add r0, r6, r0 -/* 016A34 8001BFD4 90040000 */ stw r0, 0(r4) -lbl_8001BFD8: -/* 016A38 8001BFD8 39080001 */ addi r8, r8, 1 -/* 016A3C 8001BFDC 2808041B */ cmplwi r8, 0x41b -/* 016A40 8001BFE0 38E70004 */ addi r7, r7, 4 -/* 016A44 8001BFE4 41820018 */ beq lbl_8001BFFC -/* 016A48 8001BFE8 80A30474 */ lwz r5, 0x474(r3) -/* 016A4C 8001BFEC 80C40000 */ lwz r6, 0(r4) -/* 016A50 8001BFF0 7C05382E */ lwzx r0, r5, r7 -/* 016A54 8001BFF4 7C060214 */ add r0, r6, r0 -/* 016A58 8001BFF8 90040000 */ stw r0, 0(r4) -lbl_8001BFFC: -/* 016A5C 8001BFFC 39080001 */ addi r8, r8, 1 -/* 016A60 8001C000 2808041B */ cmplwi r8, 0x41b -/* 016A64 8001C004 38E70004 */ addi r7, r7, 4 -/* 016A68 8001C008 41820018 */ beq lbl_8001C020 -/* 016A6C 8001C00C 80A30474 */ lwz r5, 0x474(r3) -/* 016A70 8001C010 80C40000 */ lwz r6, 0(r4) -/* 016A74 8001C014 7C05382E */ lwzx r0, r5, r7 -/* 016A78 8001C018 7C060214 */ add r0, r6, r0 -/* 016A7C 8001C01C 90040000 */ stw r0, 0(r4) -lbl_8001C020: -/* 016A80 8001C020 39080001 */ addi r8, r8, 1 -/* 016A84 8001C024 2808041B */ cmplwi r8, 0x41b -/* 016A88 8001C028 38E70004 */ addi r7, r7, 4 -/* 016A8C 8001C02C 41820018 */ beq lbl_8001C044 -/* 016A90 8001C030 80A30474 */ lwz r5, 0x474(r3) -/* 016A94 8001C034 80C40000 */ lwz r6, 0(r4) -/* 016A98 8001C038 7C05382E */ lwzx r0, r5, r7 -/* 016A9C 8001C03C 7C060214 */ add r0, r6, r0 -/* 016AA0 8001C040 90040000 */ stw r0, 0(r4) -lbl_8001C044: -/* 016AA4 8001C044 39080001 */ addi r8, r8, 1 -/* 016AA8 8001C048 2808041B */ cmplwi r8, 0x41b -/* 016AAC 8001C04C 38E70004 */ addi r7, r7, 4 -/* 016AB0 8001C050 41820018 */ beq lbl_8001C068 -/* 016AB4 8001C054 80A30474 */ lwz r5, 0x474(r3) -/* 016AB8 8001C058 80C40000 */ lwz r6, 0(r4) -/* 016ABC 8001C05C 7C05382E */ lwzx r0, r5, r7 -/* 016AC0 8001C060 7C060214 */ add r0, r6, r0 -/* 016AC4 8001C064 90040000 */ stw r0, 0(r4) -lbl_8001C068: -/* 016AC8 8001C068 39080001 */ addi r8, r8, 1 -/* 016ACC 8001C06C 2808041B */ cmplwi r8, 0x41b -/* 016AD0 8001C070 38E70004 */ addi r7, r7, 4 -/* 016AD4 8001C074 41820018 */ beq lbl_8001C08C -/* 016AD8 8001C078 80A30474 */ lwz r5, 0x474(r3) -/* 016ADC 8001C07C 80C40000 */ lwz r6, 0(r4) -/* 016AE0 8001C080 7C05382E */ lwzx r0, r5, r7 -/* 016AE4 8001C084 7C060214 */ add r0, r6, r0 -/* 016AE8 8001C088 90040000 */ stw r0, 0(r4) -lbl_8001C08C: -/* 016AEC 8001C08C 39080001 */ addi r8, r8, 1 -/* 016AF0 8001C090 2808041B */ cmplwi r8, 0x41b -/* 016AF4 8001C094 38E70004 */ addi r7, r7, 4 -/* 016AF8 8001C098 41820018 */ beq lbl_8001C0B0 -/* 016AFC 8001C09C 80A30474 */ lwz r5, 0x474(r3) -/* 016B00 8001C0A0 80C40000 */ lwz r6, 0(r4) -/* 016B04 8001C0A4 7C05382E */ lwzx r0, r5, r7 -/* 016B08 8001C0A8 7C060214 */ add r0, r6, r0 -/* 016B0C 8001C0AC 90040000 */ stw r0, 0(r4) -lbl_8001C0B0: -/* 016B10 8001C0B0 38E70004 */ addi r7, r7, 4 -/* 016B14 8001C0B4 39080001 */ addi r8, r8, 1 -/* 016B18 8001C0B8 4200FEE0 */ bdnz lbl_8001BF98 -/* 016B1C 8001C0BC 80040000 */ lwz r0, 0(r4) -/* 016B20 8001C0C0 2C000000 */ cmpwi r0, 0 -/* 016B24 8001C0C4 4082000C */ bne lbl_8001C0D0 -/* 016B28 8001C0C8 38000001 */ li r0, 1 -/* 016B2C 8001C0CC 90040000 */ stw r0, 0(r4) -lbl_8001C0D0: -/* 016B30 8001C0D0 38600001 */ li r3, 1 -/* 016B34 8001C0D4 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardCheckChecksumFileHeader.s b/asm/non_matchings/mcardGCN/mcardCheckChecksumFileHeader.s deleted file mode 100644 index afd22000..00000000 --- a/asm/non_matchings/mcardGCN/mcardCheckChecksumFileHeader.s +++ /dev/null @@ -1,222 +0,0 @@ -glabel mcardCheckChecksumFileHeader -/* 015EE0 8001B480 7C0802A6 */ mflr r0 -/* 015EE4 8001B484 38A02000 */ li r5, 0x2000 -/* 015EE8 8001B488 90010004 */ stw r0, 4(r1) -/* 015EEC 8001B48C 9421DFC8 */ stwu r1, -0x2038(r1) -/* 015EF0 8001B490 BF612024 */ stmw r27, 0x2024(r1) -/* 015EF4 8001B494 3B640000 */ addi r27, r4, 0 -/* 015EF8 8001B498 3BA30000 */ addi r29, r3, 0 -/* 015EFC 8001B49C 3BC00001 */ li r30, 1 -/* 015F00 8001B4A0 80830474 */ lwz r4, 0x474(r3) -/* 015F04 8001B4A4 38610018 */ addi r3, r1, 0x18 -/* 015F08 8001B4A8 4BFEA01D */ bl memcpy -/* 015F0C 8001B4AC 807D0474 */ lwz r3, 0x474(r29) -/* 015F10 8001B4B0 389B0000 */ addi r4, r27, 0 -/* 015F14 8001B4B4 38A02000 */ li r5, 0x2000 -/* 015F18 8001B4B8 4BFEA00D */ bl memcpy -/* 015F1C 8001B4BC 3C608010 */ lis r3, mCard@ha -/* 015F20 8001B4C0 386379B0 */ addi r3, r3, mCard@l -/* 015F24 8001B4C4 3B830470 */ addi r28, r3, 0x470 -/* 015F28 8001B4C8 80030470 */ lwz r0, 0x470(r3) -/* 015F2C 8001B4CC 2C000001 */ cmpwi r0, 1 -/* 015F30 8001B4D0 40820108 */ bne lbl_8001B5D8 -/* 015F34 8001B4D4 38000100 */ li r0, 0x100 -/* 015F38 8001B4D8 38800000 */ li r4, 0 -/* 015F3C 8001B4DC 7C0903A6 */ mtctr r0 -/* 015F40 8001B4E0 38A40000 */ addi r5, r4, 0 -/* 015F44 8001B4E4 3BE00000 */ li r31, 0 -lbl_8001B4E8: -/* 015F48 8001B4E8 2804000A */ cmplwi r4, 0xa -/* 015F4C 8001B4EC 41820010 */ beq lbl_8001B4FC -/* 015F50 8001B4F0 807D0474 */ lwz r3, 0x474(r29) -/* 015F54 8001B4F4 7C03282E */ lwzx r0, r3, r5 -/* 015F58 8001B4F8 7FFF0214 */ add r31, r31, r0 -lbl_8001B4FC: -/* 015F5C 8001B4FC 38840001 */ addi r4, r4, 1 -/* 015F60 8001B500 2804000A */ cmplwi r4, 0xa -/* 015F64 8001B504 38A50004 */ addi r5, r5, 4 -/* 015F68 8001B508 41820010 */ beq lbl_8001B518 -/* 015F6C 8001B50C 807D0474 */ lwz r3, 0x474(r29) -/* 015F70 8001B510 7C03282E */ lwzx r0, r3, r5 -/* 015F74 8001B514 7FFF0214 */ add r31, r31, r0 -lbl_8001B518: -/* 015F78 8001B518 38840001 */ addi r4, r4, 1 -/* 015F7C 8001B51C 2804000A */ cmplwi r4, 0xa -/* 015F80 8001B520 38A50004 */ addi r5, r5, 4 -/* 015F84 8001B524 41820010 */ beq lbl_8001B534 -/* 015F88 8001B528 807D0474 */ lwz r3, 0x474(r29) -/* 015F8C 8001B52C 7C03282E */ lwzx r0, r3, r5 -/* 015F90 8001B530 7FFF0214 */ add r31, r31, r0 -lbl_8001B534: -/* 015F94 8001B534 38840001 */ addi r4, r4, 1 -/* 015F98 8001B538 2804000A */ cmplwi r4, 0xa -/* 015F9C 8001B53C 38A50004 */ addi r5, r5, 4 -/* 015FA0 8001B540 41820010 */ beq lbl_8001B550 -/* 015FA4 8001B544 807D0474 */ lwz r3, 0x474(r29) -/* 015FA8 8001B548 7C03282E */ lwzx r0, r3, r5 -/* 015FAC 8001B54C 7FFF0214 */ add r31, r31, r0 -lbl_8001B550: -/* 015FB0 8001B550 38840001 */ addi r4, r4, 1 -/* 015FB4 8001B554 2804000A */ cmplwi r4, 0xa -/* 015FB8 8001B558 38A50004 */ addi r5, r5, 4 -/* 015FBC 8001B55C 41820010 */ beq lbl_8001B56C -/* 015FC0 8001B560 807D0474 */ lwz r3, 0x474(r29) -/* 015FC4 8001B564 7C03282E */ lwzx r0, r3, r5 -/* 015FC8 8001B568 7FFF0214 */ add r31, r31, r0 -lbl_8001B56C: -/* 015FCC 8001B56C 38840001 */ addi r4, r4, 1 -/* 015FD0 8001B570 2804000A */ cmplwi r4, 0xa -/* 015FD4 8001B574 38A50004 */ addi r5, r5, 4 -/* 015FD8 8001B578 41820010 */ beq lbl_8001B588 -/* 015FDC 8001B57C 807D0474 */ lwz r3, 0x474(r29) -/* 015FE0 8001B580 7C03282E */ lwzx r0, r3, r5 -/* 015FE4 8001B584 7FFF0214 */ add r31, r31, r0 -lbl_8001B588: -/* 015FE8 8001B588 38840001 */ addi r4, r4, 1 -/* 015FEC 8001B58C 2804000A */ cmplwi r4, 0xa -/* 015FF0 8001B590 38A50004 */ addi r5, r5, 4 -/* 015FF4 8001B594 41820010 */ beq lbl_8001B5A4 -/* 015FF8 8001B598 807D0474 */ lwz r3, 0x474(r29) -/* 015FFC 8001B59C 7C03282E */ lwzx r0, r3, r5 -/* 016000 8001B5A0 7FFF0214 */ add r31, r31, r0 -lbl_8001B5A4: -/* 016004 8001B5A4 38840001 */ addi r4, r4, 1 -/* 016008 8001B5A8 2804000A */ cmplwi r4, 0xa -/* 01600C 8001B5AC 38A50004 */ addi r5, r5, 4 -/* 016010 8001B5B0 41820010 */ beq lbl_8001B5C0 -/* 016014 8001B5B4 807D0474 */ lwz r3, 0x474(r29) -/* 016018 8001B5B8 7C03282E */ lwzx r0, r3, r5 -/* 01601C 8001B5BC 7FFF0214 */ add r31, r31, r0 -lbl_8001B5C0: -/* 016020 8001B5C0 38A50004 */ addi r5, r5, 4 -/* 016024 8001B5C4 38840001 */ addi r4, r4, 1 -/* 016028 8001B5C8 4200FF20 */ bdnz lbl_8001B4E8 -/* 01602C 8001B5CC 2C1F0000 */ cmpwi r31, 0 -/* 016030 8001B5D0 40820008 */ bne lbl_8001B5D8 -/* 016034 8001B5D4 3BE00001 */ li r31, 1 -lbl_8001B5D8: -/* 016038 8001B5D8 807D0474 */ lwz r3, 0x474(r29) -/* 01603C 8001B5DC 80030028 */ lwz r0, 0x28(r3) -/* 016040 8001B5E0 7C1F0000 */ cmpw r31, r0 -/* 016044 8001B5E4 41820024 */ beq lbl_8001B608 -/* 016048 8001B5E8 387D0000 */ addi r3, r29, 0 -/* 01604C 8001B5EC 3BC00000 */ li r30, 0 -/* 016050 8001B5F0 38800000 */ li r4, 0 -/* 016054 8001B5F4 480001A1 */ bl mcardReplaceFileBlock -/* 016058 8001B5F8 2C030000 */ cmpwi r3, 0 -/* 01605C 8001B5FC 4082000C */ bne lbl_8001B608 -/* 016060 8001B600 38600000 */ li r3, 0 -/* 016064 8001B604 4800017C */ b lbl_8001B780 -lbl_8001B608: -/* 016068 8001B608 807D0474 */ lwz r3, 0x474(r29) -/* 01606C 8001B60C 389B2000 */ addi r4, r27, 0x2000 -/* 016070 8001B610 38A02000 */ li r5, 0x2000 -/* 016074 8001B614 4BFE9EB1 */ bl memcpy -/* 016078 8001B618 801C0000 */ lwz r0, 0(r28) -/* 01607C 8001B61C 2C000001 */ cmpwi r0, 1 -/* 016080 8001B620 40820108 */ bne lbl_8001B728 -/* 016084 8001B624 38000100 */ li r0, 0x100 -/* 016088 8001B628 38800000 */ li r4, 0 -/* 01608C 8001B62C 7C0903A6 */ mtctr r0 -/* 016090 8001B630 38A40000 */ addi r5, r4, 0 -/* 016094 8001B634 3BE00000 */ li r31, 0 -lbl_8001B638: -/* 016098 8001B638 2804041B */ cmplwi r4, 0x41b -/* 01609C 8001B63C 41820010 */ beq lbl_8001B64C -/* 0160A0 8001B640 807D0474 */ lwz r3, 0x474(r29) -/* 0160A4 8001B644 7C03282E */ lwzx r0, r3, r5 -/* 0160A8 8001B648 7FFF0214 */ add r31, r31, r0 -lbl_8001B64C: -/* 0160AC 8001B64C 38840001 */ addi r4, r4, 1 -/* 0160B0 8001B650 2804041B */ cmplwi r4, 0x41b -/* 0160B4 8001B654 38A50004 */ addi r5, r5, 4 -/* 0160B8 8001B658 41820010 */ beq lbl_8001B668 -/* 0160BC 8001B65C 807D0474 */ lwz r3, 0x474(r29) -/* 0160C0 8001B660 7C03282E */ lwzx r0, r3, r5 -/* 0160C4 8001B664 7FFF0214 */ add r31, r31, r0 -lbl_8001B668: -/* 0160C8 8001B668 38840001 */ addi r4, r4, 1 -/* 0160CC 8001B66C 2804041B */ cmplwi r4, 0x41b -/* 0160D0 8001B670 38A50004 */ addi r5, r5, 4 -/* 0160D4 8001B674 41820010 */ beq lbl_8001B684 -/* 0160D8 8001B678 807D0474 */ lwz r3, 0x474(r29) -/* 0160DC 8001B67C 7C03282E */ lwzx r0, r3, r5 -/* 0160E0 8001B680 7FFF0214 */ add r31, r31, r0 -lbl_8001B684: -/* 0160E4 8001B684 38840001 */ addi r4, r4, 1 -/* 0160E8 8001B688 2804041B */ cmplwi r4, 0x41b -/* 0160EC 8001B68C 38A50004 */ addi r5, r5, 4 -/* 0160F0 8001B690 41820010 */ beq lbl_8001B6A0 -/* 0160F4 8001B694 807D0474 */ lwz r3, 0x474(r29) -/* 0160F8 8001B698 7C03282E */ lwzx r0, r3, r5 -/* 0160FC 8001B69C 7FFF0214 */ add r31, r31, r0 -lbl_8001B6A0: -/* 016100 8001B6A0 38840001 */ addi r4, r4, 1 -/* 016104 8001B6A4 2804041B */ cmplwi r4, 0x41b -/* 016108 8001B6A8 38A50004 */ addi r5, r5, 4 -/* 01610C 8001B6AC 41820010 */ beq lbl_8001B6BC -/* 016110 8001B6B0 807D0474 */ lwz r3, 0x474(r29) -/* 016114 8001B6B4 7C03282E */ lwzx r0, r3, r5 -/* 016118 8001B6B8 7FFF0214 */ add r31, r31, r0 -lbl_8001B6BC: -/* 01611C 8001B6BC 38840001 */ addi r4, r4, 1 -/* 016120 8001B6C0 2804041B */ cmplwi r4, 0x41b -/* 016124 8001B6C4 38A50004 */ addi r5, r5, 4 -/* 016128 8001B6C8 41820010 */ beq lbl_8001B6D8 -/* 01612C 8001B6CC 807D0474 */ lwz r3, 0x474(r29) -/* 016130 8001B6D0 7C03282E */ lwzx r0, r3, r5 -/* 016134 8001B6D4 7FFF0214 */ add r31, r31, r0 -lbl_8001B6D8: -/* 016138 8001B6D8 38840001 */ addi r4, r4, 1 -/* 01613C 8001B6DC 2804041B */ cmplwi r4, 0x41b -/* 016140 8001B6E0 38A50004 */ addi r5, r5, 4 -/* 016144 8001B6E4 41820010 */ beq lbl_8001B6F4 -/* 016148 8001B6E8 807D0474 */ lwz r3, 0x474(r29) -/* 01614C 8001B6EC 7C03282E */ lwzx r0, r3, r5 -/* 016150 8001B6F0 7FFF0214 */ add r31, r31, r0 -lbl_8001B6F4: -/* 016154 8001B6F4 38840001 */ addi r4, r4, 1 -/* 016158 8001B6F8 2804041B */ cmplwi r4, 0x41b -/* 01615C 8001B6FC 38A50004 */ addi r5, r5, 4 -/* 016160 8001B700 41820010 */ beq lbl_8001B710 -/* 016164 8001B704 807D0474 */ lwz r3, 0x474(r29) -/* 016168 8001B708 7C03282E */ lwzx r0, r3, r5 -/* 01616C 8001B70C 7FFF0214 */ add r31, r31, r0 -lbl_8001B710: -/* 016170 8001B710 38A50004 */ addi r5, r5, 4 -/* 016174 8001B714 38840001 */ addi r4, r4, 1 -/* 016178 8001B718 4200FF20 */ bdnz lbl_8001B638 -/* 01617C 8001B71C 2C1F0000 */ cmpwi r31, 0 -/* 016180 8001B720 40820008 */ bne lbl_8001B728 -/* 016184 8001B724 3BE00001 */ li r31, 1 -lbl_8001B728: -/* 016188 8001B728 807D0474 */ lwz r3, 0x474(r29) -/* 01618C 8001B72C 8003106C */ lwz r0, 0x106c(r3) -/* 016190 8001B730 7C1F0000 */ cmpw r31, r0 -/* 016194 8001B734 41820038 */ beq lbl_8001B76C -/* 016198 8001B738 2C1E0001 */ cmpwi r30, 1 -/* 01619C 8001B73C 40820020 */ bne lbl_8001B75C -/* 0161A0 8001B740 387D0000 */ addi r3, r29, 0 -/* 0161A4 8001B744 38800001 */ li r4, 1 -/* 0161A8 8001B748 4800004D */ bl mcardReplaceFileBlock -/* 0161AC 8001B74C 2C030000 */ cmpwi r3, 0 -/* 0161B0 8001B750 4082001C */ bne lbl_8001B76C -/* 0161B4 8001B754 38600000 */ li r3, 0 -/* 0161B8 8001B758 48000028 */ b lbl_8001B780 -lbl_8001B75C: -/* 0161BC 8001B75C 38000012 */ li r0, 0x12 -/* 0161C0 8001B760 901D035C */ stw r0, 0x35c(r29) -/* 0161C4 8001B764 38600000 */ li r3, 0 -/* 0161C8 8001B768 48000018 */ b lbl_8001B780 -lbl_8001B76C: -/* 0161CC 8001B76C 807D0474 */ lwz r3, 0x474(r29) -/* 0161D0 8001B770 38810018 */ addi r4, r1, 0x18 -/* 0161D4 8001B774 38A02000 */ li r5, 0x2000 -/* 0161D8 8001B778 4BFE9D4D */ bl memcpy -/* 0161DC 8001B77C 38600001 */ li r3, 1 -lbl_8001B780: -/* 0161E0 8001B780 BB612024 */ lmw r27, 0x2024(r1) -/* 0161E4 8001B784 8001203C */ lwz r0, 0x203c(r1) -/* 0161E8 8001B788 38212038 */ addi r1, r1, 0x2038 -/* 0161EC 8001B78C 7C0803A6 */ mtlr r0 -/* 0161F0 8001B790 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardFileCreate.s b/asm/non_matchings/mcardGCN/mcardFileCreate.s deleted file mode 100644 index b6ce4e63..00000000 --- a/asm/non_matchings/mcardGCN/mcardFileCreate.s +++ /dev/null @@ -1,437 +0,0 @@ -glabel mcardFileCreate -/* 013058 800185F8 7C0802A6 */ mflr r0 -/* 01305C 800185FC 90010004 */ stw r0, 4(r1) -/* 013060 80018600 9421FEC8 */ stwu r1, -0x138(r1) -/* 013064 80018604 BEA1010C */ stmw r21, 0x10c(r1) -/* 013068 80018608 7C7F1B78 */ mr r31, r3 -/* 01306C 8001860C 3AA40000 */ addi r21, r4, 0 -/* 013070 80018610 3B250000 */ addi r25, r5, 0 -/* 013074 80018614 3B660000 */ addi r27, r6, 0 -/* 013078 80018618 3B470000 */ addi r26, r7, 0 -/* 01307C 8001861C 3BC86000 */ addi r30, r8, 0x6000 -/* 013080 80018620 80030470 */ lwz r0, 0x470(r3) -/* 013084 80018624 3C60800F */ lis r3, D_800EA548@ha -/* 013088 80018628 3BA3A548 */ addi r29, r3, D_800EA548@l -/* 01308C 8001862C 2C000001 */ cmpwi r0, 1 -/* 013090 80018630 40820608 */ bne lbl_80018C38 -/* 013094 80018634 387F0000 */ addi r3, r31, 0 -/* 013098 80018638 38950000 */ addi r4, r21, 0 -/* 01309C 8001863C 48000A1D */ bl mcardFileSet -/* 0130A0 80018640 2C030001 */ cmpwi r3, 1 -/* 0130A4 80018644 40820068 */ bne lbl_800186AC -/* 0130A8 80018648 7FE3FB78 */ mr r3, r31 -/* 0130AC 8001864C 4BFFF1F9 */ bl mcardGameRelease -/* 0130B0 80018650 3B000000 */ li r24, 0 -/* 0130B4 80018654 931F0048 */ stw r24, 0x48(r31) -/* 0130B8 80018658 387F0008 */ addi r3, r31, 8 -/* 0130BC 8001865C 38800000 */ li r4, 0 -/* 0130C0 80018660 38A00021 */ li r5, 0x21 -/* 0130C4 80018664 4BFECD6D */ bl memset -/* 0130C8 80018668 931F002C */ stw r24, 0x2c(r31) -/* 0130CC 8001866C 387F0050 */ addi r3, r31, 0x50 -/* 0130D0 80018670 38800000 */ li r4, 0 -/* 0130D4 80018674 38A00010 */ li r5, 0x10 -/* 0130D8 80018678 4BFECD59 */ bl memset -/* 0130DC 8001867C 387F0090 */ addi r3, r31, 0x90 -/* 0130E0 80018680 38800000 */ li r4, 0 -/* 0130E4 80018684 38A00010 */ li r5, 0x10 -/* 0130E8 80018688 4BFECD49 */ bl memset -/* 0130EC 8001868C 387F0110 */ addi r3, r31, 0x110 -/* 0130F0 80018690 38800000 */ li r4, 0 -/* 0130F4 80018694 38A00201 */ li r5, 0x201 -/* 0130F8 80018698 4BFECD39 */ bl memset -/* 0130FC 8001869C 38000015 */ li r0, 0x15 -/* 013100 800186A0 901F035C */ stw r0, 0x35c(r31) -/* 013104 800186A4 38600000 */ li r3, 0 -/* 013108 800186A8 48000594 */ b lbl_80018C3C -lbl_800186AC: -/* 01310C 800186AC 7FE3FB78 */ mr r3, r31 -/* 013110 800186B0 4BFFF195 */ bl mcardGameRelease -/* 013114 800186B4 3B000000 */ li r24, 0 -/* 013118 800186B8 931F0048 */ stw r24, 0x48(r31) -/* 01311C 800186BC 387F0008 */ addi r3, r31, 8 -/* 013120 800186C0 38800000 */ li r4, 0 -/* 013124 800186C4 38A00021 */ li r5, 0x21 -/* 013128 800186C8 4BFECD09 */ bl memset -/* 01312C 800186CC 931F002C */ stw r24, 0x2c(r31) -/* 013130 800186D0 387F0050 */ addi r3, r31, 0x50 -/* 013134 800186D4 38800000 */ li r4, 0 -/* 013138 800186D8 38A00010 */ li r5, 0x10 -/* 01313C 800186DC 4BFECCF5 */ bl memset -/* 013140 800186E0 387F0090 */ addi r3, r31, 0x90 -/* 013144 800186E4 38800000 */ li r4, 0 -/* 013148 800186E8 38A00010 */ li r5, 0x10 -/* 01314C 800186EC 4BFECCE5 */ bl memset -/* 013150 800186F0 387F0110 */ addi r3, r31, 0x110 -/* 013154 800186F4 38800000 */ li r4, 0 -/* 013158 800186F8 38A00201 */ li r5, 0x201 -/* 01315C 800186FC 4BFECCD5 */ bl memset -/* 013160 80018700 7FE3FB78 */ mr r3, r31 -/* 013164 80018704 480028D1 */ bl mcardReadyCard -/* 013168 80018708 2C030000 */ cmpwi r3, 0 -/* 01316C 8001870C 4082000C */ bne lbl_80018718 -/* 013170 80018710 38600000 */ li r3, 0 -/* 013174 80018714 48000528 */ b lbl_80018C3C -lbl_80018718: -/* 013178 80018718 931F0048 */ stw r24, 0x48(r31) -/* 01317C 8001871C 38810104 */ addi r4, r1, 0x104 -/* 013180 80018720 38A10100 */ addi r5, r1, 0x100 -/* 013184 80018724 807F0360 */ lwz r3, 0x360(r31) -/* 013188 80018728 480A36E1 */ bl CARDFreeBlocks -/* 01318C 8001872C 38830000 */ addi r4, r3, 0 -/* 013190 80018730 387F0000 */ addi r3, r31, 0 -/* 013194 80018734 48003B6D */ bl mcardGCErrorHandler -/* 013198 80018738 2C030000 */ cmpwi r3, 0 -/* 01319C 8001873C 4082000C */ bne lbl_80018748 -/* 0131A0 80018740 38600000 */ li r3, 0 -/* 0131A4 80018744 480004F8 */ b lbl_80018C3C -lbl_80018748: -/* 0131A8 80018748 80010104 */ lwz r0, 0x104(r1) -/* 0131AC 8001874C 7C00F000 */ cmpw r0, r30 -/* 0131B0 80018750 40800014 */ bge lbl_80018764 -/* 0131B4 80018754 38000013 */ li r0, 0x13 -/* 0131B8 80018758 901F035C */ stw r0, 0x35c(r31) -/* 0131BC 8001875C 38600000 */ li r3, 0 -/* 0131C0 80018760 480004DC */ b lbl_80018C3C -lbl_80018764: -/* 0131C4 80018764 80010100 */ lwz r0, 0x100(r1) -/* 0131C8 80018768 2C000000 */ cmpwi r0, 0 -/* 0131CC 8001876C 41810014 */ bgt lbl_80018780 -/* 0131D0 80018770 38000014 */ li r0, 0x14 -/* 0131D4 80018774 901F035C */ stw r0, 0x35c(r31) -/* 0131D8 80018778 38600000 */ li r3, 0 -/* 0131DC 8001877C 480004C0 */ b lbl_80018C3C -lbl_80018780: -/* 0131E0 80018780 3C608010 */ lis r3, mCard@ha -/* 0131E4 80018784 386379B0 */ addi r3, r3, mCard@l -/* 0131E8 80018788 3B830470 */ addi r28, r3, 0x470 -/* 0131EC 8001878C 80030470 */ lwz r0, 0x470(r3) -/* 0131F0 80018790 2C000001 */ cmpwi r0, 1 -/* 0131F4 80018794 40820010 */ bne lbl_800187A4 -/* 0131F8 80018798 387F0008 */ addi r3, r31, 8 -/* 0131FC 8001879C 38950000 */ addi r4, r21, 0 -/* 013200 800187A0 480B8209 */ bl strcpy -lbl_800187A4: -/* 013204 800187A4 3B000000 */ li r24, 0 -/* 013208 800187A8 931F002C */ stw r24, 0x2c(r31) -/* 01320C 800187AC 38600010 */ li r3, 0x10 -/* 013210 800187B0 3AA00000 */ li r21, 0 -/* 013214 800187B4 1C150021 */ mulli r0, r21, 0x21 -/* 013218 800187B8 907F0000 */ stw r3, 0(r31) -/* 01321C 800187BC 38606000 */ li r3, 0x6000 -/* 013220 800187C0 907F0004 */ stw r3, 4(r31) -/* 013224 800187C4 3AFF0000 */ addi r23, r31, 0 -/* 013228 800187C8 7EDF0214 */ add r22, r31, r0 -lbl_800187CC: -/* 01322C 800187CC 93170050 */ stw r24, 0x50(r23) -/* 013230 800187D0 38760110 */ addi r3, r22, 0x110 -/* 013234 800187D4 38800000 */ li r4, 0 -/* 013238 800187D8 93170090 */ stw r24, 0x90(r23) -/* 01323C 800187DC 38A00021 */ li r5, 0x21 -/* 013240 800187E0 4BFECBF1 */ bl memset -/* 013244 800187E4 3AB50001 */ addi r21, r21, 1 -/* 013248 800187E8 2C150010 */ cmpwi r21, 0x10 -/* 01324C 800187EC 3AF70004 */ addi r23, r23, 4 -/* 013250 800187F0 3AD60021 */ addi r22, r22, 0x21 -/* 013254 800187F4 4180FFD8 */ blt lbl_800187CC -/* 013258 800187F8 48089AB1 */ bl OSGetTime -/* 01325C 800187FC 38BF0320 */ addi r5, r31, 0x320 -/* 013260 80018800 48089CC9 */ bl OSTicksToCalendarTime -/* 013264 80018804 807F0360 */ lwz r3, 0x360(r31) -/* 013268 80018808 38BE0000 */ addi r5, r30, 0 -/* 01326C 8001880C 389F0008 */ addi r4, r31, 8 -/* 013270 80018810 38DF0348 */ addi r6, r31, 0x348 -/* 013274 80018814 38E00000 */ li r7, 0 -/* 013278 80018818 480A7CB1 */ bl CARDCreateAsync -/* 01327C 8001881C 38830000 */ addi r4, r3, 0 -/* 013280 80018820 387F0000 */ addi r3, r31, 0 -/* 013284 80018824 48003A7D */ bl mcardGCErrorHandler -/* 013288 80018828 2C030000 */ cmpwi r3, 0 -/* 01328C 8001882C 4082000C */ bne lbl_80018838 -/* 013290 80018830 38600000 */ li r3, 0 -/* 013294 80018834 48000408 */ b lbl_80018C3C -lbl_80018838: -/* 013298 80018838 3C608001 */ lis r3, simulatorDrawMCardText@ha -/* 01329C 8001883C 38038B44 */ addi r0, r3, simulatorDrawMCardText@l -/* 0132A0 80018840 901F0364 */ stw r0, 0x364(r31) -/* 0132A4 80018844 387F0370 */ addi r3, r31, 0x370 -/* 0132A8 80018848 389D01E8 */ addi r4, r29, 0x1e8 -/* 0132AC 8001884C 480B815D */ bl strcpy -/* 0132B0 80018850 7FE3FB78 */ mr r3, r31 -/* 0132B4 80018854 48002915 */ bl mcardPoll -/* 0132B8 80018858 2C030001 */ cmpwi r3, 1 -/* 0132BC 8001885C 4182001C */ beq lbl_80018878 -/* 0132C0 80018860 38000000 */ li r0, 0 -/* 0132C4 80018864 901F0364 */ stw r0, 0x364(r31) -/* 0132C8 80018868 807F0360 */ lwz r3, 0x360(r31) -/* 0132CC 8001886C 480A6CB1 */ bl CARDUnmount -/* 0132D0 80018870 38600000 */ li r3, 0 -/* 0132D4 80018874 480003C8 */ b lbl_80018C3C -lbl_80018878: -/* 0132D8 80018878 3B000000 */ li r24, 0 -/* 0132DC 8001887C 931F0364 */ stw r24, 0x364(r31) -/* 0132E0 80018880 807F0360 */ lwz r3, 0x360(r31) -/* 0132E4 80018884 480A6C99 */ bl CARDUnmount -/* 0132E8 80018888 801F0470 */ lwz r0, 0x470(r31) -/* 0132EC 8001888C 2C000001 */ cmpwi r0, 1 -/* 0132F0 80018890 40820048 */ bne lbl_800188D8 -/* 0132F4 80018894 7FE3FB78 */ mr r3, r31 -/* 0132F8 80018898 4800273D */ bl mcardReadyCard -/* 0132FC 8001889C 2C030000 */ cmpwi r3, 0 -/* 013300 800188A0 40820008 */ bne lbl_800188A8 -/* 013304 800188A4 48000038 */ b lbl_800188DC -lbl_800188A8: -/* 013308 800188A8 807F0360 */ lwz r3, 0x360(r31) -/* 01330C 800188AC 389F0008 */ addi r4, r31, 8 -/* 013310 800188B0 38BF0348 */ addi r5, r31, 0x348 -/* 013314 800188B4 480A796D */ bl CARDOpen -/* 013318 800188B8 38830000 */ addi r4, r3, 0 -/* 01331C 800188BC 387F0000 */ addi r3, r31, 0 -/* 013320 800188C0 480039E1 */ bl mcardGCErrorHandler -/* 013324 800188C4 2C030001 */ cmpwi r3, 1 -/* 013328 800188C8 41820010 */ beq lbl_800188D8 -/* 01332C 800188CC 807F0360 */ lwz r3, 0x360(r31) -/* 013330 800188D0 480A6C4D */ bl CARDUnmount -/* 013334 800188D4 48000008 */ b lbl_800188DC -lbl_800188D8: -/* 013338 800188D8 3B000001 */ li r24, 1 -lbl_800188DC: -/* 01333C 800188DC 2C180000 */ cmpwi r24, 0 -/* 013340 800188E0 4082000C */ bne lbl_800188EC -/* 013344 800188E4 38600000 */ li r3, 0 -/* 013348 800188E8 48000354 */ b lbl_80018C3C -lbl_800188EC: -/* 01334C 800188EC 386100FC */ addi r3, r1, 0xfc -/* 013350 800188F0 67C43000 */ oris r4, r30, 0x3000 -/* 013354 800188F4 4BFEE8C1 */ bl xlHeapTake -/* 013358 800188F8 2C030000 */ cmpwi r3, 0 -/* 01335C 800188FC 4082000C */ bne lbl_80018908 -/* 013360 80018900 38600000 */ li r3, 0 -/* 013364 80018904 48000338 */ b lbl_80018C3C -lbl_80018908: -/* 013368 80018908 806100FC */ lwz r3, 0xfc(r1) -/* 01336C 8001890C 38BE0000 */ addi r5, r30, 0 -/* 013370 80018910 38800000 */ li r4, 0 -/* 013374 80018914 4BFECABD */ bl memset -/* 013378 80018918 7F23CB78 */ mr r3, r25 -/* 01337C 8001891C 480B8141 */ bl strlen -/* 013380 80018920 80C100FC */ lwz r6, 0xfc(r1) -/* 013384 80018924 38A30000 */ addi r5, r3, 0 -/* 013388 80018928 38990000 */ addi r4, r25, 0 -/* 01338C 8001892C 3866002C */ addi r3, r6, 0x2c -/* 013390 80018930 4BFECB95 */ bl memcpy -/* 013394 80018934 48089975 */ bl OSGetTime -/* 013398 80018938 38A10048 */ addi r5, r1, 0x48 -/* 01339C 8001893C 48089B8D */ bl OSTicksToCalendarTime -/* 0133A0 80018940 389D0000 */ addi r4, r29, 0 -/* 0133A4 80018944 4CC63182 */ crclr 6 -/* 0133A8 80018948 38610028 */ addi r3, r1, 0x28 -/* 0133AC 8001894C 480B63F1 */ bl sprintf -/* 0133B0 80018950 38610028 */ addi r3, r1, 0x28 -/* 0133B4 80018954 480B8109 */ bl strlen -/* 0133B8 80018958 808100FC */ lwz r4, 0xfc(r1) -/* 0133BC 8001895C 38A30000 */ addi r5, r3, 0 -/* 0133C0 80018960 3864004C */ addi r3, r4, 0x4c -/* 0133C4 80018964 38810028 */ addi r4, r1, 0x28 -/* 0133C8 80018968 4BFECB5D */ bl memcpy -/* 0133CC 8001896C 387A0000 */ addi r3, r26, 0 -/* 0133D0 80018970 388100DC */ addi r4, r1, 0xdc -/* 0133D4 80018974 38A00000 */ li r5, 0 -/* 0133D8 80018978 480B05F5 */ bl TEXGetGXTexObjFromPalette -/* 0133DC 8001897C 386100DC */ addi r3, r1, 0xdc -/* 0133E0 80018980 48094211 */ bl GXGetTexObjData -/* 0133E4 80018984 80A100FC */ lwz r5, 0xfc(r1) -/* 0133E8 80018988 3C838000 */ addis r4, r3, 0x8000 -/* 0133EC 8001898C 3865006C */ addi r3, r5, 0x6c -/* 0133F0 80018990 38A01800 */ li r5, 0x1800 -/* 0133F4 80018994 4BFECB31 */ bl memcpy -/* 0133F8 80018998 387B0000 */ addi r3, r27, 0 -/* 0133FC 8001899C 388100DC */ addi r4, r1, 0xdc -/* 013400 800189A0 38A00000 */ li r5, 0 -/* 013404 800189A4 480B05C9 */ bl TEXGetGXTexObjFromPalette -/* 013408 800189A8 386100DC */ addi r3, r1, 0xdc -/* 01340C 800189AC 480941E5 */ bl GXGetTexObjData -/* 013410 800189B0 80A100FC */ lwz r5, 0xfc(r1) -/* 013414 800189B4 3C838000 */ addis r4, r3, 0x8000 -/* 013418 800189B8 3865186C */ addi r3, r5, 0x186c -/* 01341C 800189BC 38A01800 */ li r5, 0x1800 -/* 013420 800189C0 4BFECB05 */ bl memcpy -/* 013424 800189C4 82BF034C */ lwz r21, 0x34c(r31) -/* 013428 800189C8 38A10070 */ addi r5, r1, 0x70 -/* 01342C 800189CC 807F0360 */ lwz r3, 0x360(r31) -/* 013430 800189D0 7EA4AB78 */ mr r4, r21 -/* 013434 800189D4 480A8869 */ bl CARDGetStatus -/* 013438 800189D8 38830000 */ addi r4, r3, 0 -/* 01343C 800189DC 387F0000 */ addi r3, r31, 0 -/* 013440 800189E0 480038C1 */ bl mcardGCErrorHandler -/* 013444 800189E4 2C030000 */ cmpwi r3, 0 -/* 013448 800189E8 40820014 */ bne lbl_800189FC -/* 01344C 800189EC 807F0360 */ lwz r3, 0x360(r31) -/* 013450 800189F0 480A6B2D */ bl CARDUnmount -/* 013454 800189F4 38600000 */ li r3, 0 -/* 013458 800189F8 48000244 */ b lbl_80018C3C -lbl_800189FC: -/* 01345C 800189FC 3800002C */ li r0, 0x2c -/* 013460 80018A00 900100A8 */ stw r0, 0xa8(r1) -/* 013464 80018A04 3800006C */ li r0, 0x6c -/* 013468 80018A08 38950000 */ addi r4, r21, 0 -/* 01346C 80018A0C 900100A0 */ stw r0, 0xa0(r1) -/* 013470 80018A10 38A10070 */ addi r5, r1, 0x70 -/* 013474 80018A14 38C00000 */ li r6, 0 -/* 013478 80018A18 8801009E */ lbz r0, 0x9e(r1) -/* 01347C 80018A1C 5400003A */ rlwinm r0, r0, 0, 0, 0x1d -/* 013480 80018A20 60000002 */ ori r0, r0, 2 -/* 013484 80018A24 9801009E */ stb r0, 0x9e(r1) -/* 013488 80018A28 A00100A4 */ lhz r0, 0xa4(r1) -/* 01348C 80018A2C 5400003A */ rlwinm r0, r0, 0, 0, 0x1d -/* 013490 80018A30 60000002 */ ori r0, r0, 2 -/* 013494 80018A34 B00100A4 */ sth r0, 0xa4(r1) -/* 013498 80018A38 A00100A6 */ lhz r0, 0xa6(r1) -/* 01349C 80018A3C 5400003A */ rlwinm r0, r0, 0, 0, 0x1d -/* 0134A0 80018A40 60000003 */ ori r0, r0, 3 -/* 0134A4 80018A44 B00100A6 */ sth r0, 0xa6(r1) -/* 0134A8 80018A48 A00100A4 */ lhz r0, 0xa4(r1) -/* 0134AC 80018A4C 540007B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b -/* 0134B0 80018A50 60000008 */ ori r0, r0, 8 -/* 0134B4 80018A54 B00100A4 */ sth r0, 0xa4(r1) -/* 0134B8 80018A58 A00100A6 */ lhz r0, 0xa6(r1) -/* 0134BC 80018A5C 540007B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b -/* 0134C0 80018A60 6000000C */ ori r0, r0, 0xc -/* 0134C4 80018A64 B00100A6 */ sth r0, 0xa6(r1) -/* 0134C8 80018A68 A00100A4 */ lhz r0, 0xa4(r1) -/* 0134CC 80018A6C 54000732 */ rlwinm r0, r0, 0, 0x1c, 0x19 -/* 0134D0 80018A70 60000020 */ ori r0, r0, 0x20 -/* 0134D4 80018A74 B00100A4 */ sth r0, 0xa4(r1) -/* 0134D8 80018A78 A00100A6 */ lhz r0, 0xa6(r1) -/* 0134DC 80018A7C 54000732 */ rlwinm r0, r0, 0, 0x1c, 0x19 -/* 0134E0 80018A80 60000030 */ ori r0, r0, 0x30 -/* 0134E4 80018A84 B00100A6 */ sth r0, 0xa6(r1) -/* 0134E8 80018A88 8801009E */ lbz r0, 0x9e(r1) -/* 0134EC 80018A8C 540007B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c -/* 0134F0 80018A90 60000004 */ ori r0, r0, 4 -/* 0134F4 80018A94 9801009E */ stb r0, 0x9e(r1) -/* 0134F8 80018A98 807F0360 */ lwz r3, 0x360(r31) -/* 0134FC 80018A9C 480A88B5 */ bl CARDSetStatusAsync -/* 013500 80018AA0 38830000 */ addi r4, r3, 0 -/* 013504 80018AA4 387F0000 */ addi r3, r31, 0 -/* 013508 80018AA8 480037F9 */ bl mcardGCErrorHandler -/* 01350C 80018AAC 2C030000 */ cmpwi r3, 0 -/* 013510 80018AB0 40820014 */ bne lbl_80018AC4 -/* 013514 80018AB4 807F0360 */ lwz r3, 0x360(r31) -/* 013518 80018AB8 480A6A65 */ bl CARDUnmount -/* 01351C 80018ABC 38600000 */ li r3, 0 -/* 013520 80018AC0 4800017C */ b lbl_80018C3C -lbl_80018AC4: -/* 013524 80018AC4 3C608001 */ lis r3, simulatorDrawMCardText@ha -/* 013528 80018AC8 38038B44 */ addi r0, r3, simulatorDrawMCardText@l -/* 01352C 80018ACC 901F0364 */ stw r0, 0x364(r31) -/* 013530 80018AD0 387F0370 */ addi r3, r31, 0x370 -/* 013534 80018AD4 389D01E8 */ addi r4, r29, 0x1e8 -/* 013538 80018AD8 480B7ED1 */ bl strcpy -/* 01353C 80018ADC 7FE3FB78 */ mr r3, r31 -/* 013540 80018AE0 48002689 */ bl mcardPoll -/* 013544 80018AE4 2C030001 */ cmpwi r3, 1 -/* 013548 80018AE8 4182001C */ beq lbl_80018B04 -/* 01354C 80018AEC 38000000 */ li r0, 0 -/* 013550 80018AF0 901F0364 */ stw r0, 0x364(r31) -/* 013554 80018AF4 807F0360 */ lwz r3, 0x360(r31) -/* 013558 80018AF8 480A6A25 */ bl CARDUnmount -/* 01355C 80018AFC 38600000 */ li r3, 0 -/* 013560 80018B00 4800013C */ b lbl_80018C3C -lbl_80018B04: -/* 013564 80018B04 3B000000 */ li r24, 0 -/* 013568 80018B08 931F0364 */ stw r24, 0x364(r31) -/* 01356C 80018B0C 387F0370 */ addi r3, r31, 0x370 -/* 013570 80018B10 389D020C */ addi r4, r29, 0x20c -/* 013574 80018B14 480B7E95 */ bl strcpy -/* 013578 80018B18 801C0000 */ lwz r0, 0(r28) -/* 01357C 80018B1C 832100FC */ lwz r25, 0xfc(r1) -/* 013580 80018B20 2C000001 */ cmpwi r0, 1 -/* 013584 80018B24 40820078 */ bne lbl_80018B9C -/* 013588 80018B28 38790000 */ addi r3, r25, 0 -/* 01358C 80018B2C 389E0000 */ addi r4, r30, 0 -/* 013590 80018B30 48084C7D */ bl DCStoreRange -/* 013594 80018B34 38990000 */ addi r4, r25, 0 -/* 013598 80018B38 38BE0000 */ addi r5, r30, 0 -/* 01359C 80018B3C 387F0348 */ addi r3, r31, 0x348 -/* 0135A0 80018B40 38C00000 */ li r6, 0 -/* 0135A4 80018B44 38E00000 */ li r7, 0 -/* 0135A8 80018B48 480A8235 */ bl CARDWriteAsync -/* 0135AC 80018B4C 38830000 */ addi r4, r3, 0 -/* 0135B0 80018B50 387F0000 */ addi r3, r31, 0 -/* 0135B4 80018B54 4800374D */ bl mcardGCErrorHandler -/* 0135B8 80018B58 2C030001 */ cmpwi r3, 1 -/* 0135BC 80018B5C 41820008 */ beq lbl_80018B64 -/* 0135C0 80018B60 48000040 */ b lbl_80018BA0 -lbl_80018B64: -/* 0135C4 80018B64 3C608001 */ lis r3, simulatorMCardPollDrawBar@ha -/* 0135C8 80018B68 93DF036C */ stw r30, 0x36c(r31) -/* 0135CC 80018B6C 38038A14 */ addi r0, r3, simulatorMCardPollDrawBar@l -/* 0135D0 80018B70 901F0364 */ stw r0, 0x364(r31) -/* 0135D4 80018B74 807F0360 */ lwz r3, 0x360(r31) -/* 0135D8 80018B78 480A49A9 */ bl CARDGetXferredBytes -/* 0135DC 80018B7C 907F0368 */ stw r3, 0x368(r31) -/* 0135E0 80018B80 7FE3FB78 */ mr r3, r31 -/* 0135E4 80018B84 480025E5 */ bl mcardPoll -/* 0135E8 80018B88 2C030001 */ cmpwi r3, 1 -/* 0135EC 80018B8C 4182000C */ beq lbl_80018B98 -/* 0135F0 80018B90 931F0364 */ stw r24, 0x364(r31) -/* 0135F4 80018B94 4800000C */ b lbl_80018BA0 -lbl_80018B98: -/* 0135F8 80018B98 931F0364 */ stw r24, 0x364(r31) -lbl_80018B9C: -/* 0135FC 80018B9C 3B000001 */ li r24, 1 -lbl_80018BA0: -/* 013600 80018BA0 2C180000 */ cmpwi r24, 0 -/* 013604 80018BA4 40820034 */ bne lbl_80018BD8 -/* 013608 80018BA8 801F0470 */ lwz r0, 0x470(r31) -/* 01360C 80018BAC 2C000001 */ cmpwi r0, 1 -/* 013610 80018BB0 40820020 */ bne lbl_80018BD0 -/* 013614 80018BB4 801F0348 */ lwz r0, 0x348(r31) -/* 013618 80018BB8 2C00FFFF */ cmpwi r0, -1 -/* 01361C 80018BBC 4182000C */ beq lbl_80018BC8 -/* 013620 80018BC0 387F0348 */ addi r3, r31, 0x348 -/* 013624 80018BC4 480A7779 */ bl CARDClose -lbl_80018BC8: -/* 013628 80018BC8 807F0360 */ lwz r3, 0x360(r31) -/* 01362C 80018BCC 480A6951 */ bl CARDUnmount -lbl_80018BD0: -/* 013630 80018BD0 38600000 */ li r3, 0 -/* 013634 80018BD4 48000068 */ b lbl_80018C3C -lbl_80018BD8: -/* 013638 80018BD8 7FE3FB78 */ mr r3, r31 -/* 01363C 80018BDC 480015E5 */ bl mcardWriteFileHeaderInitial -/* 013640 80018BE0 2C030000 */ cmpwi r3, 0 -/* 013644 80018BE4 40820034 */ bne lbl_80018C18 -/* 013648 80018BE8 801F0470 */ lwz r0, 0x470(r31) -/* 01364C 80018BEC 2C000001 */ cmpwi r0, 1 -/* 013650 80018BF0 40820020 */ bne lbl_80018C10 -/* 013654 80018BF4 801F0348 */ lwz r0, 0x348(r31) -/* 013658 80018BF8 2C00FFFF */ cmpwi r0, -1 -/* 01365C 80018BFC 4182000C */ beq lbl_80018C08 -/* 013660 80018C00 387F0348 */ addi r3, r31, 0x348 -/* 013664 80018C04 480A7739 */ bl CARDClose -lbl_80018C08: -/* 013668 80018C08 807F0360 */ lwz r3, 0x360(r31) -/* 01366C 80018C0C 480A6911 */ bl CARDUnmount -lbl_80018C10: -/* 013670 80018C10 38600000 */ li r3, 0 -/* 013674 80018C14 48000028 */ b lbl_80018C3C -lbl_80018C18: -/* 013678 80018C18 386100FC */ addi r3, r1, 0xfc -/* 01367C 80018C1C 4BFEE47D */ bl xlHeapFree -/* 013680 80018C20 2C030000 */ cmpwi r3, 0 -/* 013684 80018C24 4082000C */ bne lbl_80018C30 -/* 013688 80018C28 38600000 */ li r3, 0 -/* 01368C 80018C2C 48000010 */ b lbl_80018C3C -lbl_80018C30: -/* 013690 80018C30 807F0360 */ lwz r3, 0x360(r31) -/* 013694 80018C34 480A68E9 */ bl CARDUnmount -lbl_80018C38: -/* 013698 80018C38 38600001 */ li r3, 1 -lbl_80018C3C: -/* 01369C 80018C3C BAA1010C */ lmw r21, 0x10c(r1) -/* 0136A0 80018C40 8001013C */ lwz r0, 0x13c(r1) -/* 0136A4 80018C44 38210138 */ addi r1, r1, 0x138 -/* 0136A8 80018C48 7C0803A6 */ mtlr r0 -/* 0136AC 80018C4C 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardFileErase.s b/asm/non_matchings/mcardGCN/mcardFileErase.s deleted file mode 100644 index 24955737..00000000 --- a/asm/non_matchings/mcardGCN/mcardFileErase.s +++ /dev/null @@ -1,106 +0,0 @@ -glabel mcardFileErase -/* 0124F4 80017A94 7C0802A6 */ mflr r0 -/* 0124F8 80017A98 90010004 */ stw r0, 4(r1) -/* 0124FC 80017A9C 9421FFE8 */ stwu r1, -0x18(r1) -/* 012500 80017AA0 93E10014 */ stw r31, 0x14(r1) -/* 012504 80017AA4 93C10010 */ stw r30, 0x10(r1) -/* 012508 80017AA8 7C7E1B78 */ mr r30, r3 -/* 01250C 80017AAC 80030470 */ lwz r0, 0x470(r3) -/* 012510 80017AB0 2C000001 */ cmpwi r0, 1 -/* 012514 80017AB4 40820154 */ bne lbl_80017C08 -/* 012518 80017AB8 7FC3F378 */ mr r3, r30 -/* 01251C 80017ABC 48003519 */ bl mcardReadyCard -/* 012520 80017AC0 2C030000 */ cmpwi r3, 0 -/* 012524 80017AC4 4082000C */ bne lbl_80017AD0 -/* 012528 80017AC8 38600000 */ li r3, 0 -/* 01252C 80017ACC 48000140 */ b lbl_80017C0C -lbl_80017AD0: -/* 012530 80017AD0 807E0360 */ lwz r3, 0x360(r30) -/* 012534 80017AD4 389E0008 */ addi r4, r30, 8 -/* 012538 80017AD8 38A00000 */ li r5, 0 -/* 01253C 80017ADC 480A9459 */ bl CARDDeleteAsync -/* 012540 80017AE0 38830000 */ addi r4, r3, 0 -/* 012544 80017AE4 387E0000 */ addi r3, r30, 0 -/* 012548 80017AE8 480047B9 */ bl mcardGCErrorHandler -/* 01254C 80017AEC 2C030000 */ cmpwi r3, 0 -/* 012550 80017AF0 40820014 */ bne lbl_80017B04 -/* 012554 80017AF4 807E0360 */ lwz r3, 0x360(r30) -/* 012558 80017AF8 480A7A25 */ bl CARDUnmount -/* 01255C 80017AFC 38600000 */ li r3, 0 -/* 012560 80017B00 4800010C */ b lbl_80017C0C -lbl_80017B04: -/* 012564 80017B04 38000002 */ li r0, 2 -/* 012568 80017B08 3C608001 */ lis r3, simulatorDrawMCardText@ha -/* 01256C 80017B0C 901E048C */ stw r0, 0x48c(r30) -/* 012570 80017B10 38038B44 */ addi r0, r3, simulatorDrawMCardText@l -/* 012574 80017B14 3C60800F */ lis r3, D_800EA730@ha -/* 012578 80017B18 901E0364 */ stw r0, 0x364(r30) -/* 01257C 80017B1C 3883A730 */ addi r4, r3, D_800EA730@l -/* 012580 80017B20 387E0370 */ addi r3, r30, 0x370 -/* 012584 80017B24 480B8E85 */ bl strcpy -/* 012588 80017B28 7FC3F378 */ mr r3, r30 -/* 01258C 80017B2C 4800363D */ bl mcardPoll -/* 012590 80017B30 2C030001 */ cmpwi r3, 1 -/* 012594 80017B34 41820070 */ beq lbl_80017BA4 -/* 012598 80017B38 3BE00000 */ li r31, 0 -/* 01259C 80017B3C 93FE0364 */ stw r31, 0x364(r30) -/* 0125A0 80017B40 7FC3F378 */ mr r3, r30 -/* 0125A4 80017B44 93FE048C */ stw r31, 0x48c(r30) -/* 0125A8 80017B48 4BFFFCFD */ bl mcardGameRelease -/* 0125AC 80017B4C 93FE0048 */ stw r31, 0x48(r30) -/* 0125B0 80017B50 387E0008 */ addi r3, r30, 8 -/* 0125B4 80017B54 38800000 */ li r4, 0 -/* 0125B8 80017B58 38A00021 */ li r5, 0x21 -/* 0125BC 80017B5C 4BFED875 */ bl memset -/* 0125C0 80017B60 93FE002C */ stw r31, 0x2c(r30) -/* 0125C4 80017B64 387E0050 */ addi r3, r30, 0x50 -/* 0125C8 80017B68 38800000 */ li r4, 0 -/* 0125CC 80017B6C 38A00010 */ li r5, 0x10 -/* 0125D0 80017B70 4BFED861 */ bl memset -/* 0125D4 80017B74 387E0090 */ addi r3, r30, 0x90 -/* 0125D8 80017B78 38800000 */ li r4, 0 -/* 0125DC 80017B7C 38A00010 */ li r5, 0x10 -/* 0125E0 80017B80 4BFED851 */ bl memset -/* 0125E4 80017B84 387E0110 */ addi r3, r30, 0x110 -/* 0125E8 80017B88 38800000 */ li r4, 0 -/* 0125EC 80017B8C 38A00201 */ li r5, 0x201 -/* 0125F0 80017B90 4BFED841 */ bl memset -/* 0125F4 80017B94 807E0360 */ lwz r3, 0x360(r30) -/* 0125F8 80017B98 480A7985 */ bl CARDUnmount -/* 0125FC 80017B9C 38600000 */ li r3, 0 -/* 012600 80017BA0 4800006C */ b lbl_80017C0C -lbl_80017BA4: -/* 012604 80017BA4 3BE00000 */ li r31, 0 -/* 012608 80017BA8 93FE048C */ stw r31, 0x48c(r30) -/* 01260C 80017BAC 7FC3F378 */ mr r3, r30 -/* 012610 80017BB0 93FE0364 */ stw r31, 0x364(r30) -/* 012614 80017BB4 4BFFFC91 */ bl mcardGameRelease -/* 012618 80017BB8 93FE0048 */ stw r31, 0x48(r30) -/* 01261C 80017BBC 387E0008 */ addi r3, r30, 8 -/* 012620 80017BC0 38800000 */ li r4, 0 -/* 012624 80017BC4 38A00021 */ li r5, 0x21 -/* 012628 80017BC8 4BFED809 */ bl memset -/* 01262C 80017BCC 93FE002C */ stw r31, 0x2c(r30) -/* 012630 80017BD0 387E0050 */ addi r3, r30, 0x50 -/* 012634 80017BD4 38800000 */ li r4, 0 -/* 012638 80017BD8 38A00010 */ li r5, 0x10 -/* 01263C 80017BDC 4BFED7F5 */ bl memset -/* 012640 80017BE0 387E0090 */ addi r3, r30, 0x90 -/* 012644 80017BE4 38800000 */ li r4, 0 -/* 012648 80017BE8 38A00010 */ li r5, 0x10 -/* 01264C 80017BEC 4BFED7E5 */ bl memset -/* 012650 80017BF0 387E0110 */ addi r3, r30, 0x110 -/* 012654 80017BF4 38800000 */ li r4, 0 -/* 012658 80017BF8 38A00201 */ li r5, 0x201 -/* 01265C 80017BFC 4BFED7D5 */ bl memset -/* 012660 80017C00 807E0360 */ lwz r3, 0x360(r30) -/* 012664 80017C04 480A7919 */ bl CARDUnmount -lbl_80017C08: -/* 012668 80017C08 38600001 */ li r3, 1 -lbl_80017C0C: -/* 01266C 80017C0C 8001001C */ lwz r0, 0x1c(r1) -/* 012670 80017C10 83E10014 */ lwz r31, 0x14(r1) -/* 012674 80017C14 83C10010 */ lwz r30, 0x10(r1) -/* 012678 80017C18 7C0803A6 */ mtlr r0 -/* 01267C 80017C1C 38210018 */ addi r1, r1, 0x18 -/* 012680 80017C20 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardFileSet.s b/asm/non_matchings/mcardGCN/mcardFileSet.s deleted file mode 100644 index 6ee9ea9c..00000000 --- a/asm/non_matchings/mcardGCN/mcardFileSet.s +++ /dev/null @@ -1,293 +0,0 @@ -glabel mcardFileSet -/* 013AB8 80019058 7C0802A6 */ mflr r0 -/* 013ABC 8001905C 90010004 */ stw r0, 4(r1) -/* 013AC0 80019060 9421FFE0 */ stwu r1, -0x20(r1) -/* 013AC4 80019064 93E1001C */ stw r31, 0x1c(r1) -/* 013AC8 80019068 93C10018 */ stw r30, 0x18(r1) -/* 013ACC 8001906C 7C7E1B78 */ mr r30, r3 -/* 013AD0 80019070 93A10014 */ stw r29, 0x14(r1) -/* 013AD4 80019074 80030470 */ lwz r0, 0x470(r3) -/* 013AD8 80019078 3C608010 */ lis r3, gMCardCardWorkArea@ha -/* 013ADC 8001907C 3BE3D960 */ addi r31, r3, gMCardCardWorkArea@l -/* 013AE0 80019080 2C000001 */ cmpwi r0, 1 -/* 013AE4 80019084 408203A0 */ bne lbl_80019424 -/* 013AE8 80019088 3C7F0001 */ addis r3, r31, 1 -/* 013AEC 8001908C 8003A4C0 */ lwz r0, -0x5b40(r3) -/* 013AF0 80019090 2C000001 */ cmpwi r0, 1 -/* 013AF4 80019094 4082000C */ bne lbl_800190A0 -/* 013AF8 80019098 387E0008 */ addi r3, r30, 8 -/* 013AFC 8001909C 480B790D */ bl strcpy -lbl_800190A0: -/* 013B00 800190A0 3BA00000 */ li r29, 0 -/* 013B04 800190A4 93BE0048 */ stw r29, 0x48(r30) -/* 013B08 800190A8 38006000 */ li r0, 0x6000 -/* 013B0C 800190AC 901E0004 */ stw r0, 4(r30) -/* 013B10 800190B0 801E0470 */ lwz r0, 0x470(r30) -/* 013B14 800190B4 2C000001 */ cmpwi r0, 1 -/* 013B18 800190B8 40820048 */ bne lbl_80019100 -/* 013B1C 800190BC 7FC3F378 */ mr r3, r30 -/* 013B20 800190C0 48001F15 */ bl mcardReadyCard -/* 013B24 800190C4 2C030000 */ cmpwi r3, 0 -/* 013B28 800190C8 40820008 */ bne lbl_800190D0 -/* 013B2C 800190CC 48000038 */ b lbl_80019104 -lbl_800190D0: -/* 013B30 800190D0 807E0360 */ lwz r3, 0x360(r30) -/* 013B34 800190D4 389E0008 */ addi r4, r30, 8 -/* 013B38 800190D8 38BE0348 */ addi r5, r30, 0x348 -/* 013B3C 800190DC 480A7145 */ bl CARDOpen -/* 013B40 800190E0 38830000 */ addi r4, r3, 0 -/* 013B44 800190E4 387E0000 */ addi r3, r30, 0 -/* 013B48 800190E8 480031B9 */ bl mcardGCErrorHandler -/* 013B4C 800190EC 2C030001 */ cmpwi r3, 1 -/* 013B50 800190F0 41820010 */ beq lbl_80019100 -/* 013B54 800190F4 807E0360 */ lwz r3, 0x360(r30) -/* 013B58 800190F8 480A6425 */ bl CARDUnmount -/* 013B5C 800190FC 48000008 */ b lbl_80019104 -lbl_80019100: -/* 013B60 80019100 3BA00001 */ li r29, 1 -lbl_80019104: -/* 013B64 80019104 2C1D0001 */ cmpwi r29, 1 -/* 013B68 80019108 4082031C */ bne lbl_80019424 -/* 013B6C 8001910C 801E0490 */ lwz r0, 0x490(r30) -/* 013B70 80019110 2C000000 */ cmpwi r0, 0 -/* 013B74 80019114 4082007C */ bne lbl_80019190 -/* 013B78 80019118 7FC3F378 */ mr r3, r30 -/* 013B7C 8001911C 480012C9 */ bl mcardReadFileHeaderInitial -/* 013B80 80019120 2C030000 */ cmpwi r3, 0 -/* 013B84 80019124 4082010C */ bne lbl_80019230 -/* 013B88 80019128 801E0470 */ lwz r0, 0x470(r30) -/* 013B8C 8001912C 2C000001 */ cmpwi r0, 1 -/* 013B90 80019130 40820020 */ bne lbl_80019150 -/* 013B94 80019134 801E0348 */ lwz r0, 0x348(r30) -/* 013B98 80019138 2C00FFFF */ cmpwi r0, -1 -/* 013B9C 8001913C 4182000C */ beq lbl_80019148 -/* 013BA0 80019140 387E0348 */ addi r3, r30, 0x348 -/* 013BA4 80019144 480A71F9 */ bl CARDClose -lbl_80019148: -/* 013BA8 80019148 807E0360 */ lwz r3, 0x360(r30) -/* 013BAC 8001914C 480A63D1 */ bl CARDUnmount -lbl_80019150: -/* 013BB0 80019150 801E035C */ lwz r0, 0x35c(r30) -/* 013BB4 80019154 2C000003 */ cmpwi r0, 3 -/* 013BB8 80019158 40820014 */ bne lbl_8001916C -/* 013BBC 8001915C 3C7F0001 */ addis r3, r31, 1 -/* 013BC0 80019160 38000000 */ li r0, 0 -/* 013BC4 80019164 9003A800 */ stw r0, -0x5800(r3) -/* 013BC8 80019168 48000020 */ b lbl_80019188 -lbl_8001916C: -/* 013BCC 8001916C 801E07B0 */ lwz r0, 0x7b0(r30) -/* 013BD0 80019170 2C000001 */ cmpwi r0, 1 -/* 013BD4 80019174 40820014 */ bne lbl_80019188 -/* 013BD8 80019178 38000005 */ li r0, 5 -/* 013BDC 8001917C 901E035C */ stw r0, 0x35c(r30) -/* 013BE0 80019180 38600000 */ li r3, 0 -/* 013BE4 80019184 480002DC */ b lbl_80019460 -lbl_80019188: -/* 013BE8 80019188 38600000 */ li r3, 0 -/* 013BEC 8001918C 480002D4 */ b lbl_80019460 -lbl_80019190: -/* 013BF0 80019190 7FC3F378 */ mr r3, r30 -/* 013BF4 80019194 48001765 */ bl mcardReadFileHeader -/* 013BF8 80019198 2C030000 */ cmpwi r3, 0 -/* 013BFC 8001919C 40820094 */ bne lbl_80019230 -/* 013C00 800191A0 801E0470 */ lwz r0, 0x470(r30) -/* 013C04 800191A4 2C000001 */ cmpwi r0, 1 -/* 013C08 800191A8 40820020 */ bne lbl_800191C8 -/* 013C0C 800191AC 801E0348 */ lwz r0, 0x348(r30) -/* 013C10 800191B0 2C00FFFF */ cmpwi r0, -1 -/* 013C14 800191B4 4182000C */ beq lbl_800191C0 -/* 013C18 800191B8 387E0348 */ addi r3, r30, 0x348 -/* 013C1C 800191BC 480A7181 */ bl CARDClose -lbl_800191C0: -/* 013C20 800191C0 807E0360 */ lwz r3, 0x360(r30) -/* 013C24 800191C4 480A6359 */ bl CARDUnmount -lbl_800191C8: -/* 013C28 800191C8 801E035C */ lwz r0, 0x35c(r30) -/* 013C2C 800191CC 2C000017 */ cmpwi r0, 0x17 -/* 013C30 800191D0 40820020 */ bne lbl_800191F0 -/* 013C34 800191D4 7FC3F378 */ mr r3, r30 -/* 013C38 800191D8 4800207D */ bl mcardVerifyChecksumFileHeader -/* 013C3C 800191DC 801E035C */ lwz r0, 0x35c(r30) -/* 013C40 800191E0 2C000000 */ cmpwi r0, 0 -/* 013C44 800191E4 4082000C */ bne lbl_800191F0 -/* 013C48 800191E8 38000017 */ li r0, 0x17 -/* 013C4C 800191EC 901E035C */ stw r0, 0x35c(r30) -lbl_800191F0: -/* 013C50 800191F0 801E035C */ lwz r0, 0x35c(r30) -/* 013C54 800191F4 2C000003 */ cmpwi r0, 3 -/* 013C58 800191F8 40820014 */ bne lbl_8001920C -/* 013C5C 800191FC 3C7F0001 */ addis r3, r31, 1 -/* 013C60 80019200 38000000 */ li r0, 0 -/* 013C64 80019204 9003A800 */ stw r0, -0x5800(r3) -/* 013C68 80019208 48000020 */ b lbl_80019228 -lbl_8001920C: -/* 013C6C 8001920C 801E07B0 */ lwz r0, 0x7b0(r30) -/* 013C70 80019210 2C000001 */ cmpwi r0, 1 -/* 013C74 80019214 40820014 */ bne lbl_80019228 -/* 013C78 80019218 38000005 */ li r0, 5 -/* 013C7C 8001921C 901E035C */ stw r0, 0x35c(r30) -/* 013C80 80019220 38600000 */ li r3, 0 -/* 013C84 80019224 4800023C */ b lbl_80019460 -lbl_80019228: -/* 013C88 80019228 38600000 */ li r3, 0 -/* 013C8C 8001922C 48000234 */ b lbl_80019460 -lbl_80019230: -/* 013C90 80019230 38000000 */ li r0, 0 -/* 013C94 80019234 901E0090 */ stw r0, 0x90(r30) -/* 013C98 80019238 901E002C */ stw r0, 0x2c(r30) -/* 013C9C 8001923C 801E0050 */ lwz r0, 0x50(r30) -/* 013CA0 80019240 2C000000 */ cmpwi r0, 0 -/* 013CA4 80019244 4182000C */ beq lbl_80019250 -/* 013CA8 80019248 38000001 */ li r0, 1 -/* 013CAC 8001924C 901E002C */ stw r0, 0x2c(r30) -lbl_80019250: -/* 013CB0 80019250 38000005 */ li r0, 5 -/* 013CB4 80019254 3C600020 */ lis r3, 0x20 -/* 013CB8 80019258 7C0903A6 */ mtctr r0 -/* 013CBC 8001925C 38DE0004 */ addi r6, r30, 4 -/* 013CC0 80019260 38A30401 */ addi r5, r3, 0x401 -/* 013CC4 80019264 38E00001 */ li r7, 1 -lbl_80019268: -/* 013CC8 80019268 80060050 */ lwz r0, 0x50(r6) -/* 013CCC 8001926C 2C000000 */ cmpwi r0, 0 -/* 013CD0 80019270 41820068 */ beq lbl_800192D8 -/* 013CD4 80019274 807E002C */ lwz r3, 0x2c(r30) -/* 013CD8 80019278 38030001 */ addi r0, r3, 1 -/* 013CDC 8001927C 901E002C */ stw r0, 0x2c(r30) -/* 013CE0 80019280 8066004C */ lwz r3, 0x4c(r6) -/* 013CE4 80019284 8086008C */ lwz r4, 0x8c(r6) -/* 013CE8 80019288 38031FFB */ addi r0, r3, 0x1ffb -/* 013CEC 8001928C 7C650016 */ mulhwu r3, r5, r0 -/* 013CF0 80019290 7C030050 */ subf r0, r3, r0 -/* 013CF4 80019294 5400F87E */ srwi r0, r0, 1 -/* 013CF8 80019298 7C001A14 */ add r0, r0, r3 -/* 013CFC 8001929C 54000824 */ rlwinm r0, r0, 1, 0, 0x12 -/* 013D00 800192A0 7C602214 */ add r3, r0, r4 -/* 013D04 800192A4 38032000 */ addi r0, r3, 0x2000 -/* 013D08 800192A8 90060090 */ stw r0, 0x90(r6) -/* 013D0C 800192AC 80660050 */ lwz r3, 0x50(r6) -/* 013D10 800192B0 809E0004 */ lwz r4, 4(r30) -/* 013D14 800192B4 38031FFB */ addi r0, r3, 0x1ffb -/* 013D18 800192B8 7C650016 */ mulhwu r3, r5, r0 -/* 013D1C 800192BC 7C030050 */ subf r0, r3, r0 -/* 013D20 800192C0 5400F87E */ srwi r0, r0, 1 -/* 013D24 800192C4 7C001A14 */ add r0, r0, r3 -/* 013D28 800192C8 54000824 */ rlwinm r0, r0, 1, 0, 0x12 -/* 013D2C 800192CC 7C602214 */ add r3, r0, r4 -/* 013D30 800192D0 38032000 */ addi r0, r3, 0x2000 -/* 013D34 800192D4 901E0004 */ stw r0, 4(r30) -lbl_800192D8: -/* 013D38 800192D8 80060054 */ lwz r0, 0x54(r6) -/* 013D3C 800192DC 38C60004 */ addi r6, r6, 4 -/* 013D40 800192E0 2C000000 */ cmpwi r0, 0 -/* 013D44 800192E4 41820068 */ beq lbl_8001934C -/* 013D48 800192E8 807E002C */ lwz r3, 0x2c(r30) -/* 013D4C 800192EC 38030001 */ addi r0, r3, 1 -/* 013D50 800192F0 901E002C */ stw r0, 0x2c(r30) -/* 013D54 800192F4 8066004C */ lwz r3, 0x4c(r6) -/* 013D58 800192F8 8086008C */ lwz r4, 0x8c(r6) -/* 013D5C 800192FC 38031FFB */ addi r0, r3, 0x1ffb -/* 013D60 80019300 7C650016 */ mulhwu r3, r5, r0 -/* 013D64 80019304 7C030050 */ subf r0, r3, r0 -/* 013D68 80019308 5400F87E */ srwi r0, r0, 1 -/* 013D6C 8001930C 7C001A14 */ add r0, r0, r3 -/* 013D70 80019310 54000824 */ rlwinm r0, r0, 1, 0, 0x12 -/* 013D74 80019314 7C602214 */ add r3, r0, r4 -/* 013D78 80019318 38032000 */ addi r0, r3, 0x2000 -/* 013D7C 8001931C 90060090 */ stw r0, 0x90(r6) -/* 013D80 80019320 80660050 */ lwz r3, 0x50(r6) -/* 013D84 80019324 809E0004 */ lwz r4, 4(r30) -/* 013D88 80019328 38031FFB */ addi r0, r3, 0x1ffb -/* 013D8C 8001932C 7C650016 */ mulhwu r3, r5, r0 -/* 013D90 80019330 7C030050 */ subf r0, r3, r0 -/* 013D94 80019334 5400F87E */ srwi r0, r0, 1 -/* 013D98 80019338 7C001A14 */ add r0, r0, r3 -/* 013D9C 8001933C 54000824 */ rlwinm r0, r0, 1, 0, 0x12 -/* 013DA0 80019340 7C602214 */ add r3, r0, r4 -/* 013DA4 80019344 38032000 */ addi r0, r3, 0x2000 -/* 013DA8 80019348 901E0004 */ stw r0, 4(r30) -lbl_8001934C: -/* 013DAC 8001934C 80060054 */ lwz r0, 0x54(r6) -/* 013DB0 80019350 38C60004 */ addi r6, r6, 4 -/* 013DB4 80019354 38E70001 */ addi r7, r7, 1 -/* 013DB8 80019358 2C000000 */ cmpwi r0, 0 -/* 013DBC 8001935C 41820068 */ beq lbl_800193C4 -/* 013DC0 80019360 807E002C */ lwz r3, 0x2c(r30) -/* 013DC4 80019364 38030001 */ addi r0, r3, 1 -/* 013DC8 80019368 901E002C */ stw r0, 0x2c(r30) -/* 013DCC 8001936C 8066004C */ lwz r3, 0x4c(r6) -/* 013DD0 80019370 8086008C */ lwz r4, 0x8c(r6) -/* 013DD4 80019374 38031FFB */ addi r0, r3, 0x1ffb -/* 013DD8 80019378 7C650016 */ mulhwu r3, r5, r0 -/* 013DDC 8001937C 7C030050 */ subf r0, r3, r0 -/* 013DE0 80019380 5400F87E */ srwi r0, r0, 1 -/* 013DE4 80019384 7C001A14 */ add r0, r0, r3 -/* 013DE8 80019388 54000824 */ rlwinm r0, r0, 1, 0, 0x12 -/* 013DEC 8001938C 7C602214 */ add r3, r0, r4 -/* 013DF0 80019390 38032000 */ addi r0, r3, 0x2000 -/* 013DF4 80019394 90060090 */ stw r0, 0x90(r6) -/* 013DF8 80019398 80660050 */ lwz r3, 0x50(r6) -/* 013DFC 8001939C 809E0004 */ lwz r4, 4(r30) -/* 013E00 800193A0 38031FFB */ addi r0, r3, 0x1ffb -/* 013E04 800193A4 7C650016 */ mulhwu r3, r5, r0 -/* 013E08 800193A8 7C030050 */ subf r0, r3, r0 -/* 013E0C 800193AC 5400F87E */ srwi r0, r0, 1 -/* 013E10 800193B0 7C001A14 */ add r0, r0, r3 -/* 013E14 800193B4 54000824 */ rlwinm r0, r0, 1, 0, 0x12 -/* 013E18 800193B8 7C602214 */ add r3, r0, r4 -/* 013E1C 800193BC 38032000 */ addi r0, r3, 0x2000 -/* 013E20 800193C0 901E0004 */ stw r0, 4(r30) -lbl_800193C4: -/* 013E24 800193C4 38C60004 */ addi r6, r6, 4 -/* 013E28 800193C8 38E70001 */ addi r7, r7, 1 -/* 013E2C 800193CC 4200FE9C */ bdnz lbl_80019268 -/* 013E30 800193D0 38000010 */ li r0, 0x10 -/* 013E34 800193D4 901E0000 */ stw r0, 0(r30) -/* 013E38 800193D8 801E0470 */ lwz r0, 0x470(r30) -/* 013E3C 800193DC 2C000001 */ cmpwi r0, 1 -/* 013E40 800193E0 40820020 */ bne lbl_80019400 -/* 013E44 800193E4 801E0348 */ lwz r0, 0x348(r30) -/* 013E48 800193E8 2C00FFFF */ cmpwi r0, -1 -/* 013E4C 800193EC 4182000C */ beq lbl_800193F8 -/* 013E50 800193F0 387E0348 */ addi r3, r30, 0x348 -/* 013E54 800193F4 480A6F49 */ bl CARDClose -lbl_800193F8: -/* 013E58 800193F8 807E0360 */ lwz r3, 0x360(r30) -/* 013E5C 800193FC 480A6121 */ bl CARDUnmount -lbl_80019400: -/* 013E60 80019400 801E07B0 */ lwz r0, 0x7b0(r30) -/* 013E64 80019404 2C000001 */ cmpwi r0, 1 -/* 013E68 80019408 40820014 */ bne lbl_8001941C -/* 013E6C 8001940C 38000005 */ li r0, 5 -/* 013E70 80019410 901E035C */ stw r0, 0x35c(r30) -/* 013E74 80019414 38600000 */ li r3, 0 -/* 013E78 80019418 48000048 */ b lbl_80019460 -lbl_8001941C: -/* 013E7C 8001941C 38600001 */ li r3, 1 -/* 013E80 80019420 48000040 */ b lbl_80019460 -lbl_80019424: -/* 013E84 80019424 801E035C */ lwz r0, 0x35c(r30) -/* 013E88 80019428 2C000003 */ cmpwi r0, 3 -/* 013E8C 8001942C 40820014 */ bne lbl_80019440 -/* 013E90 80019430 3C7F0001 */ addis r3, r31, 1 -/* 013E94 80019434 38000000 */ li r0, 0 -/* 013E98 80019438 9003A800 */ stw r0, -0x5800(r3) -/* 013E9C 8001943C 48000020 */ b lbl_8001945C -lbl_80019440: -/* 013EA0 80019440 801E07B0 */ lwz r0, 0x7b0(r30) -/* 013EA4 80019444 2C000001 */ cmpwi r0, 1 -/* 013EA8 80019448 40820014 */ bne lbl_8001945C -/* 013EAC 8001944C 38000005 */ li r0, 5 -/* 013EB0 80019450 901E035C */ stw r0, 0x35c(r30) -/* 013EB4 80019454 38600000 */ li r3, 0 -/* 013EB8 80019458 48000008 */ b lbl_80019460 -lbl_8001945C: -/* 013EBC 8001945C 38600000 */ li r3, 0 -lbl_80019460: -/* 013EC0 80019460 80010024 */ lwz r0, 0x24(r1) -/* 013EC4 80019464 83E1001C */ lwz r31, 0x1c(r1) -/* 013EC8 80019468 83C10018 */ lwz r30, 0x18(r1) -/* 013ECC 8001946C 7C0803A6 */ mtlr r0 -/* 013ED0 80019470 83A10014 */ lwz r29, 0x14(r1) -/* 013ED4 80019474 38210020 */ addi r1, r1, 0x20 -/* 013ED8 80019478 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardGCErrorHandler.s b/asm/non_matchings/mcardGCN/mcardGCErrorHandler.s deleted file mode 100644 index 829ab1e0..00000000 --- a/asm/non_matchings/mcardGCN/mcardGCErrorHandler.s +++ /dev/null @@ -1,126 +0,0 @@ -glabel mcardGCErrorHandler -/* 016D00 8001C2A0 2C04FFF8 */ cmpwi r4, -8 -/* 016D04 8001C2A4 41820110 */ beq lbl_8001C3B4 -/* 016D08 8001C2A8 40800040 */ bge lbl_8001C2E8 -/* 016D0C 8001C2AC 2C04FFF3 */ cmpwi r4, -13 -/* 016D10 8001C2B0 41820154 */ beq lbl_8001C404 -/* 016D14 8001C2B4 4080001C */ bge lbl_8001C2D0 -/* 016D18 8001C2B8 2C04FF80 */ cmpwi r4, -128 -/* 016D1C 8001C2BC 41820168 */ beq lbl_8001C424 -/* 016D20 8001C2C0 41800174 */ blt lbl_8001C434 -/* 016D24 8001C2C4 2C04FFF2 */ cmpwi r4, -14 -/* 016D28 8001C2C8 4080014C */ bge lbl_8001C414 -/* 016D2C 8001C2CC 48000168 */ b lbl_8001C434 -lbl_8001C2D0: -/* 016D30 8001C2D0 2C04FFF6 */ cmpwi r4, -10 -/* 016D34 8001C2D4 41820100 */ beq lbl_8001C3D4 -/* 016D38 8001C2D8 408000EC */ bge lbl_8001C3C4 -/* 016D3C 8001C2DC 2C04FFF5 */ cmpwi r4, -11 -/* 016D40 8001C2E0 40800104 */ bge lbl_8001C3E4 -/* 016D44 8001C2E4 48000110 */ b lbl_8001C3F4 -lbl_8001C2E8: -/* 016D48 8001C2E8 2C04FFFD */ cmpwi r4, -3 -/* 016D4C 8001C2EC 41820068 */ beq lbl_8001C354 -/* 016D50 8001C2F0 4080001C */ bge lbl_8001C30C -/* 016D54 8001C2F4 2C04FFFB */ cmpwi r4, -5 -/* 016D58 8001C2F8 41820084 */ beq lbl_8001C37C -/* 016D5C 8001C2FC 40800070 */ bge lbl_8001C36C -/* 016D60 8001C300 2C04FFFA */ cmpwi r4, -6 -/* 016D64 8001C304 40800090 */ bge lbl_8001C394 -/* 016D68 8001C308 4800009C */ b lbl_8001C3A4 -lbl_8001C30C: -/* 016D6C 8001C30C 2C040000 */ cmpwi r4, 0 -/* 016D70 8001C310 41820014 */ beq lbl_8001C324 -/* 016D74 8001C314 40800120 */ bge lbl_8001C434 -/* 016D78 8001C318 2C04FFFF */ cmpwi r4, -1 -/* 016D7C 8001C31C 40800018 */ bge lbl_8001C334 -/* 016D80 8001C320 48000024 */ b lbl_8001C344 -lbl_8001C324: -/* 016D84 8001C324 38000000 */ li r0, 0 -/* 016D88 8001C328 9003035C */ stw r0, 0x35c(r3) -/* 016D8C 8001C32C 38600001 */ li r3, 1 -/* 016D90 8001C330 4E800020 */ blr -lbl_8001C334: -/* 016D94 8001C334 38000001 */ li r0, 1 -/* 016D98 8001C338 9003035C */ stw r0, 0x35c(r3) -/* 016D9C 8001C33C 38600000 */ li r3, 0 -/* 016DA0 8001C340 4E800020 */ blr -lbl_8001C344: -/* 016DA4 8001C344 38000002 */ li r0, 2 -/* 016DA8 8001C348 9003035C */ stw r0, 0x35c(r3) -/* 016DAC 8001C34C 38600000 */ li r3, 0 -/* 016DB0 8001C350 4E800020 */ blr -lbl_8001C354: -/* 016DB4 8001C354 38000003 */ li r0, 3 -/* 016DB8 8001C358 9003035C */ stw r0, 0x35c(r3) -/* 016DBC 8001C35C 38000000 */ li r0, 0 -/* 016DC0 8001C360 900307B0 */ stw r0, 0x7b0(r3) -/* 016DC4 8001C364 38600000 */ li r3, 0 -/* 016DC8 8001C368 4E800020 */ blr -lbl_8001C36C: -/* 016DCC 8001C36C 38000004 */ li r0, 4 -/* 016DD0 8001C370 9003035C */ stw r0, 0x35c(r3) -/* 016DD4 8001C374 38600000 */ li r3, 0 -/* 016DD8 8001C378 4E800020 */ blr -lbl_8001C37C: -/* 016DDC 8001C37C 38000005 */ li r0, 5 -/* 016DE0 8001C380 9003035C */ stw r0, 0x35c(r3) -/* 016DE4 8001C384 38000001 */ li r0, 1 -/* 016DE8 8001C388 900307B0 */ stw r0, 0x7b0(r3) -/* 016DEC 8001C38C 38600000 */ li r3, 0 -/* 016DF0 8001C390 4E800020 */ blr -lbl_8001C394: -/* 016DF4 8001C394 38000006 */ li r0, 6 -/* 016DF8 8001C398 9003035C */ stw r0, 0x35c(r3) -/* 016DFC 8001C39C 38600000 */ li r3, 0 -/* 016E00 8001C3A0 4E800020 */ blr -lbl_8001C3A4: -/* 016E04 8001C3A4 38000007 */ li r0, 7 -/* 016E08 8001C3A8 9003035C */ stw r0, 0x35c(r3) -/* 016E0C 8001C3AC 38600000 */ li r3, 0 -/* 016E10 8001C3B0 4E800020 */ blr -lbl_8001C3B4: -/* 016E14 8001C3B4 38000008 */ li r0, 8 -/* 016E18 8001C3B8 9003035C */ stw r0, 0x35c(r3) -/* 016E1C 8001C3BC 38600000 */ li r3, 0 -/* 016E20 8001C3C0 4E800020 */ blr -lbl_8001C3C4: -/* 016E24 8001C3C4 38000009 */ li r0, 9 -/* 016E28 8001C3C8 9003035C */ stw r0, 0x35c(r3) -/* 016E2C 8001C3CC 38600000 */ li r3, 0 -/* 016E30 8001C3D0 4E800020 */ blr -lbl_8001C3D4: -/* 016E34 8001C3D4 3800000A */ li r0, 0xa -/* 016E38 8001C3D8 9003035C */ stw r0, 0x35c(r3) -/* 016E3C 8001C3DC 38600000 */ li r3, 0 -/* 016E40 8001C3E0 4E800020 */ blr -lbl_8001C3E4: -/* 016E44 8001C3E4 3800000B */ li r0, 0xb -/* 016E48 8001C3E8 9003035C */ stw r0, 0x35c(r3) -/* 016E4C 8001C3EC 38600000 */ li r3, 0 -/* 016E50 8001C3F0 4E800020 */ blr -lbl_8001C3F4: -/* 016E54 8001C3F4 3800000C */ li r0, 0xc -/* 016E58 8001C3F8 9003035C */ stw r0, 0x35c(r3) -/* 016E5C 8001C3FC 38600000 */ li r3, 0 -/* 016E60 8001C400 4E800020 */ blr -lbl_8001C404: -/* 016E64 8001C404 3800000D */ li r0, 0xd -/* 016E68 8001C408 9003035C */ stw r0, 0x35c(r3) -/* 016E6C 8001C40C 38600000 */ li r3, 0 -/* 016E70 8001C410 4E800020 */ blr -lbl_8001C414: -/* 016E74 8001C414 3800000E */ li r0, 0xe -/* 016E78 8001C418 9003035C */ stw r0, 0x35c(r3) -/* 016E7C 8001C41C 38600000 */ li r3, 0 -/* 016E80 8001C420 4E800020 */ blr -lbl_8001C424: -/* 016E84 8001C424 3800000F */ li r0, 0xf -/* 016E88 8001C428 9003035C */ stw r0, 0x35c(r3) -/* 016E8C 8001C42C 38600000 */ li r3, 0 -/* 016E90 8001C430 4E800020 */ blr -lbl_8001C434: -/* 016E94 8001C434 38000019 */ li r0, 0x19 -/* 016E98 8001C438 9003035C */ stw r0, 0x35c(r3) -/* 016E9C 8001C43C 38600000 */ li r3, 0 -/* 016EA0 8001C440 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardGameCreate.s b/asm/non_matchings/mcardGCN/mcardGameCreate.s deleted file mode 100644 index 0d5e8306..00000000 --- a/asm/non_matchings/mcardGCN/mcardGameCreate.s +++ /dev/null @@ -1,606 +0,0 @@ -glabel mcardGameCreate -/* 0127C0 80017D60 7C0802A6 */ mflr r0 -/* 0127C4 80017D64 90010004 */ stw r0, 4(r1) -/* 0127C8 80017D68 9421FFC0 */ stwu r1, -0x40(r1) -/* 0127CC 80017D6C BF010020 */ stmw r24, 0x20(r1) -/* 0127D0 80017D70 7C791B78 */ mr r25, r3 -/* 0127D4 80017D74 3BC40000 */ addi r30, r4, 0 -/* 0127D8 80017D78 3BA50000 */ addi r29, r5, 0 -/* 0127DC 80017D7C 3B660000 */ addi r27, r6, 0 -/* 0127E0 80017D80 80030470 */ lwz r0, 0x470(r3) -/* 0127E4 80017D84 2C000001 */ cmpwi r0, 1 -/* 0127E8 80017D88 40820858 */ bne lbl_800185E0 -/* 0127EC 80017D8C 38790000 */ addi r3, r25, 0 -/* 0127F0 80017D90 389E0000 */ addi r4, r30, 0 -/* 0127F4 80017D94 48000EBD */ bl mcardGameSet -/* 0127F8 80017D98 2C030001 */ cmpwi r3, 1 -/* 0127FC 80017D9C 40820080 */ bne lbl_80017E1C -/* 012800 80017DA0 801907A4 */ lwz r0, 0x7a4(r25) -/* 012804 80017DA4 2C000000 */ cmpwi r0, 0 -/* 012808 80017DA8 40820038 */ bne lbl_80017DE0 -/* 01280C 80017DAC 8019003C */ lwz r0, 0x3c(r25) -/* 012810 80017DB0 28000000 */ cmplwi r0, 0 -/* 012814 80017DB4 41820014 */ beq lbl_80017DC8 -/* 012818 80017DB8 3879003C */ addi r3, r25, 0x3c -/* 01281C 80017DBC 4BFEF2DD */ bl xlHeapFree -/* 012820 80017DC0 2C030000 */ cmpwi r3, 0 -/* 012824 80017DC4 41820048 */ beq lbl_80017E0C -lbl_80017DC8: -/* 012828 80017DC8 38000000 */ li r0, 0 -/* 01282C 80017DCC 90190034 */ stw r0, 0x34(r25) -/* 012830 80017DD0 38790030 */ addi r3, r25, 0x30 -/* 012834 80017DD4 38800000 */ li r4, 0 -/* 012838 80017DD8 38A00004 */ li r5, 4 -/* 01283C 80017DDC 4BFED5F5 */ bl memset -lbl_80017DE0: -/* 012840 80017DE0 80190040 */ lwz r0, 0x40(r25) -/* 012844 80017DE4 28000000 */ cmplwi r0, 0 -/* 012848 80017DE8 41820014 */ beq lbl_80017DFC -/* 01284C 80017DEC 38790040 */ addi r3, r25, 0x40 -/* 012850 80017DF0 4BFEF2A9 */ bl xlHeapFree -/* 012854 80017DF4 2C030000 */ cmpwi r3, 0 -/* 012858 80017DF8 41820014 */ beq lbl_80017E0C -lbl_80017DFC: -/* 01285C 80017DFC 38000000 */ li r0, 0 -/* 012860 80017E00 90190044 */ stw r0, 0x44(r25) -/* 012864 80017E04 38000010 */ li r0, 0x10 -/* 012868 80017E08 90190000 */ stw r0, 0(r25) -lbl_80017E0C: -/* 01286C 80017E0C 38000016 */ li r0, 0x16 -/* 012870 80017E10 9019035C */ stw r0, 0x35c(r25) -/* 012874 80017E14 38600000 */ li r3, 0 -/* 012878 80017E18 480007CC */ b lbl_800185E4 -lbl_80017E1C: -/* 01287C 80017E1C 801907A4 */ lwz r0, 0x7a4(r25) -/* 012880 80017E20 2C000000 */ cmpwi r0, 0 -/* 012884 80017E24 40820038 */ bne lbl_80017E5C -/* 012888 80017E28 8019003C */ lwz r0, 0x3c(r25) -/* 01288C 80017E2C 28000000 */ cmplwi r0, 0 -/* 012890 80017E30 41820014 */ beq lbl_80017E44 -/* 012894 80017E34 3879003C */ addi r3, r25, 0x3c -/* 012898 80017E38 4BFEF261 */ bl xlHeapFree -/* 01289C 80017E3C 2C030000 */ cmpwi r3, 0 -/* 0128A0 80017E40 41820048 */ beq lbl_80017E88 -lbl_80017E44: -/* 0128A4 80017E44 38000000 */ li r0, 0 -/* 0128A8 80017E48 90190034 */ stw r0, 0x34(r25) -/* 0128AC 80017E4C 38790030 */ addi r3, r25, 0x30 -/* 0128B0 80017E50 38800000 */ li r4, 0 -/* 0128B4 80017E54 38A00004 */ li r5, 4 -/* 0128B8 80017E58 4BFED579 */ bl memset -lbl_80017E5C: -/* 0128BC 80017E5C 80190040 */ lwz r0, 0x40(r25) -/* 0128C0 80017E60 28000000 */ cmplwi r0, 0 -/* 0128C4 80017E64 41820014 */ beq lbl_80017E78 -/* 0128C8 80017E68 38790040 */ addi r3, r25, 0x40 -/* 0128CC 80017E6C 4BFEF22D */ bl xlHeapFree -/* 0128D0 80017E70 2C030000 */ cmpwi r3, 0 -/* 0128D4 80017E74 41820014 */ beq lbl_80017E88 -lbl_80017E78: -/* 0128D8 80017E78 38000000 */ li r0, 0 -/* 0128DC 80017E7C 90190044 */ stw r0, 0x44(r25) -/* 0128E0 80017E80 38000010 */ li r0, 0x10 -/* 0128E4 80017E84 90190000 */ stw r0, 0(r25) -lbl_80017E88: -/* 0128E8 80017E88 38000002 */ li r0, 2 -/* 0128EC 80017E8C 7C0903A6 */ mtctr r0 -/* 0128F0 80017E90 38790000 */ addi r3, r25, 0 -/* 0128F4 80017E94 3B400000 */ li r26, 0 -lbl_80017E98: -/* 0128F8 80017E98 80030050 */ lwz r0, 0x50(r3) -/* 0128FC 80017E9C 2C000000 */ cmpwi r0, 0 -/* 012900 80017EA0 4182009C */ beq lbl_80017F3C -/* 012904 80017EA4 80030054 */ lwz r0, 0x54(r3) -/* 012908 80017EA8 38630004 */ addi r3, r3, 4 -/* 01290C 80017EAC 3B5A0001 */ addi r26, r26, 1 -/* 012910 80017EB0 2C000000 */ cmpwi r0, 0 -/* 012914 80017EB4 41820088 */ beq lbl_80017F3C -/* 012918 80017EB8 80030054 */ lwz r0, 0x54(r3) -/* 01291C 80017EBC 38630004 */ addi r3, r3, 4 -/* 012920 80017EC0 3B5A0001 */ addi r26, r26, 1 -/* 012924 80017EC4 2C000000 */ cmpwi r0, 0 -/* 012928 80017EC8 41820074 */ beq lbl_80017F3C -/* 01292C 80017ECC 80030054 */ lwz r0, 0x54(r3) -/* 012930 80017ED0 38630004 */ addi r3, r3, 4 -/* 012934 80017ED4 3B5A0001 */ addi r26, r26, 1 -/* 012938 80017ED8 2C000000 */ cmpwi r0, 0 -/* 01293C 80017EDC 41820060 */ beq lbl_80017F3C -/* 012940 80017EE0 80030054 */ lwz r0, 0x54(r3) -/* 012944 80017EE4 38630004 */ addi r3, r3, 4 -/* 012948 80017EE8 3B5A0001 */ addi r26, r26, 1 -/* 01294C 80017EEC 2C000000 */ cmpwi r0, 0 -/* 012950 80017EF0 4182004C */ beq lbl_80017F3C -/* 012954 80017EF4 80030054 */ lwz r0, 0x54(r3) -/* 012958 80017EF8 38630004 */ addi r3, r3, 4 -/* 01295C 80017EFC 3B5A0001 */ addi r26, r26, 1 -/* 012960 80017F00 2C000000 */ cmpwi r0, 0 -/* 012964 80017F04 41820038 */ beq lbl_80017F3C -/* 012968 80017F08 80030054 */ lwz r0, 0x54(r3) -/* 01296C 80017F0C 38630004 */ addi r3, r3, 4 -/* 012970 80017F10 3B5A0001 */ addi r26, r26, 1 -/* 012974 80017F14 2C000000 */ cmpwi r0, 0 -/* 012978 80017F18 41820024 */ beq lbl_80017F3C -/* 01297C 80017F1C 80030054 */ lwz r0, 0x54(r3) -/* 012980 80017F20 38630004 */ addi r3, r3, 4 -/* 012984 80017F24 3B5A0001 */ addi r26, r26, 1 -/* 012988 80017F28 2C000000 */ cmpwi r0, 0 -/* 01298C 80017F2C 41820010 */ beq lbl_80017F3C -/* 012990 80017F30 38630004 */ addi r3, r3, 4 -/* 012994 80017F34 3B5A0001 */ addi r26, r26, 1 -/* 012998 80017F38 4200FF60 */ bdnz lbl_80017E98 -lbl_80017F3C: -/* 01299C 80017F3C 2C1A0000 */ cmpwi r26, 0 -/* 0129A0 80017F40 93790034 */ stw r27, 0x34(r25) -/* 0129A4 80017F44 40820010 */ bne lbl_80017F54 -/* 0129A8 80017F48 38000000 */ li r0, 0 -/* 0129AC 80017F4C 90190038 */ stw r0, 0x38(r25) -/* 0129B0 80017F50 48000040 */ b lbl_80017F90 -lbl_80017F54: -/* 0129B4 80017F54 5740103A */ slwi r0, r26, 2 -/* 0129B8 80017F58 7CB90214 */ add r5, r25, r0 -/* 0129BC 80017F5C 8085004C */ lwz r4, 0x4c(r5) -/* 0129C0 80017F60 3C600020 */ lis r3, 0x20 -/* 0129C4 80017F64 38630401 */ addi r3, r3, 0x401 -/* 0129C8 80017F68 80A5008C */ lwz r5, 0x8c(r5) -/* 0129CC 80017F6C 38041FFB */ addi r0, r4, 0x1ffb -/* 0129D0 80017F70 7C630016 */ mulhwu r3, r3, r0 -/* 0129D4 80017F74 7C030050 */ subf r0, r3, r0 -/* 0129D8 80017F78 5400F87E */ srwi r0, r0, 1 -/* 0129DC 80017F7C 7C001A14 */ add r0, r0, r3 -/* 0129E0 80017F80 54000824 */ rlwinm r0, r0, 1, 0, 0x12 -/* 0129E4 80017F84 7C602A14 */ add r3, r0, r5 -/* 0129E8 80017F88 38032000 */ addi r0, r3, 0x2000 -/* 0129EC 80017F8C 90190038 */ stw r0, 0x38(r25) -lbl_80017F90: -/* 0129F0 80017F90 80190040 */ lwz r0, 0x40(r25) -/* 0129F4 80017F94 28000000 */ cmplwi r0, 0 -/* 0129F8 80017F98 4182001C */ beq lbl_80017FB4 -/* 0129FC 80017F9C 38790040 */ addi r3, r25, 0x40 -/* 012A00 80017FA0 4BFEF0F9 */ bl xlHeapFree -/* 012A04 80017FA4 2C030000 */ cmpwi r3, 0 -/* 012A08 80017FA8 4082000C */ bne lbl_80017FB4 -/* 012A0C 80017FAC 38600000 */ li r3, 0 -/* 012A10 80017FB0 48000634 */ b lbl_800185E4 -lbl_80017FB4: -/* 012A14 80017FB4 801907A4 */ lwz r0, 0x7a4(r25) -/* 012A18 80017FB8 2C000000 */ cmpwi r0, 0 -/* 012A1C 80017FBC 40820058 */ bne lbl_80018014 -/* 012A20 80017FC0 8019003C */ lwz r0, 0x3c(r25) -/* 012A24 80017FC4 28000000 */ cmplwi r0, 0 -/* 012A28 80017FC8 4182001C */ beq lbl_80017FE4 -/* 012A2C 80017FCC 3879003C */ addi r3, r25, 0x3c -/* 012A30 80017FD0 4BFEF0C9 */ bl xlHeapFree -/* 012A34 80017FD4 2C030000 */ cmpwi r3, 0 -/* 012A38 80017FD8 4082000C */ bne lbl_80017FE4 -/* 012A3C 80017FDC 38600000 */ li r3, 0 -/* 012A40 80017FE0 48000604 */ b lbl_800185E4 -lbl_80017FE4: -/* 012A44 80017FE4 80190034 */ lwz r0, 0x34(r25) -/* 012A48 80017FE8 3879003C */ addi r3, r25, 0x3c -/* 012A4C 80017FEC 64043000 */ oris r4, r0, 0x3000 -/* 012A50 80017FF0 4BFEF1C5 */ bl xlHeapTake -/* 012A54 80017FF4 2C030000 */ cmpwi r3, 0 -/* 012A58 80017FF8 4082000C */ bne lbl_80018004 -/* 012A5C 80017FFC 38600000 */ li r3, 0 -/* 012A60 80018000 480005E4 */ b lbl_800185E4 -lbl_80018004: -/* 012A64 80018004 8079003C */ lwz r3, 0x3c(r25) -/* 012A68 80018008 38BB0000 */ addi r5, r27, 0 -/* 012A6C 8001800C 38800000 */ li r4, 0 -/* 012A70 80018010 4BFED3C1 */ bl memset -lbl_80018014: -/* 012A74 80018014 80990034 */ lwz r4, 0x34(r25) -/* 012A78 80018018 3C600020 */ lis r3, 0x20 -/* 012A7C 8001801C 38630401 */ addi r3, r3, 0x401 -/* 012A80 80018020 38041FFB */ addi r0, r4, 0x1ffb -/* 012A84 80018024 7C630016 */ mulhwu r3, r3, r0 -/* 012A88 80018028 7C030050 */ subf r0, r3, r0 -/* 012A8C 8001802C 5400F87E */ srwi r0, r0, 1 -/* 012A90 80018030 7C001A14 */ add r0, r0, r3 -/* 012A94 80018034 5400B2BA */ rlwinm r0, r0, 0x16, 0xa, 0x1d -/* 012A98 80018038 38790040 */ addi r3, r25, 0x40 -/* 012A9C 8001803C 64043000 */ oris r4, r0, 0x3000 -/* 012AA0 80018040 4BFEF175 */ bl xlHeapTake -/* 012AA4 80018044 2C030000 */ cmpwi r3, 0 -/* 012AA8 80018048 4082000C */ bne lbl_80018054 -/* 012AAC 8001804C 38600000 */ li r3, 0 -/* 012AB0 80018050 48000594 */ b lbl_800185E4 -lbl_80018054: -/* 012AB4 80018054 80190034 */ lwz r0, 0x34(r25) -/* 012AB8 80018058 5744103A */ slwi r4, r26, 2 -/* 012ABC 8001805C 7F992214 */ add r28, r25, r4 -/* 012AC0 80018060 941C0050 */ stwu r0, 0x50(r28) -/* 012AC4 80018064 7F792214 */ add r27, r25, r4 -/* 012AC8 80018068 3C608010 */ lis r3, mCard@ha -/* 012ACC 8001806C 80190038 */ lwz r0, 0x38(r25) -/* 012AD0 80018070 7C992214 */ add r4, r25, r4 -/* 012AD4 80018074 386379B0 */ addi r3, r3, mCard@l -/* 012AD8 80018078 941B0090 */ stwu r0, 0x90(r27) -/* 012ADC 8001807C 38000000 */ li r0, 0 -/* 012AE0 80018080 93A400D0 */ stw r29, 0xd0(r4) -/* 012AE4 80018084 90190044 */ stw r0, 0x44(r25) -/* 012AE8 80018088 80030470 */ lwz r0, 0x470(r3) -/* 012AEC 8001808C 2C000001 */ cmpwi r0, 1 -/* 012AF0 80018090 40820018 */ bne lbl_800180A8 -/* 012AF4 80018094 1C7A0021 */ mulli r3, r26, 0x21 -/* 012AF8 80018098 38630110 */ addi r3, r3, 0x110 -/* 012AFC 8001809C 389E0000 */ addi r4, r30, 0 -/* 012B00 800180A0 7C791A14 */ add r3, r25, r3 -/* 012B04 800180A4 480B8905 */ bl strcpy -lbl_800180A8: -/* 012B08 800180A8 80B9002C */ lwz r5, 0x2c(r25) -/* 012B0C 800180AC 3C600020 */ lis r3, 0x20 -/* 012B10 800180B0 38830401 */ addi r4, r3, 0x401 -/* 012B14 800180B4 38050001 */ addi r0, r5, 1 -/* 012B18 800180B8 9019002C */ stw r0, 0x2c(r25) -/* 012B1C 800180BC 807C0000 */ lwz r3, 0(r28) -/* 012B20 800180C0 80B90004 */ lwz r5, 4(r25) -/* 012B24 800180C4 38031FFB */ addi r0, r3, 0x1ffb -/* 012B28 800180C8 7C640016 */ mulhwu r3, r4, r0 -/* 012B2C 800180CC 7C030050 */ subf r0, r3, r0 -/* 012B30 800180D0 5400F87E */ srwi r0, r0, 1 -/* 012B34 800180D4 7C001A14 */ add r0, r0, r3 -/* 012B38 800180D8 54000824 */ rlwinm r0, r0, 1, 0, 0x12 -/* 012B3C 800180DC 7C602A14 */ add r3, r0, r5 -/* 012B40 800180E0 38032000 */ addi r0, r3, 0x2000 -/* 012B44 800180E4 90190004 */ stw r0, 4(r25) -/* 012B48 800180E8 80190470 */ lwz r0, 0x470(r25) -/* 012B4C 800180EC 2C000001 */ cmpwi r0, 1 -/* 012B50 800180F0 40820050 */ bne lbl_80018140 -/* 012B54 800180F4 7F23CB78 */ mr r3, r25 -/* 012B58 800180F8 48002EDD */ bl mcardReadyCard -/* 012B5C 800180FC 2C030000 */ cmpwi r3, 0 -/* 012B60 80018100 4082000C */ bne lbl_8001810C -/* 012B64 80018104 38000000 */ li r0, 0 -/* 012B68 80018108 4800003C */ b lbl_80018144 -lbl_8001810C: -/* 012B6C 8001810C 80790360 */ lwz r3, 0x360(r25) -/* 012B70 80018110 38990008 */ addi r4, r25, 8 -/* 012B74 80018114 38B90348 */ addi r5, r25, 0x348 -/* 012B78 80018118 480A8109 */ bl CARDOpen -/* 012B7C 8001811C 38830000 */ addi r4, r3, 0 -/* 012B80 80018120 38790000 */ addi r3, r25, 0 -/* 012B84 80018124 4800417D */ bl mcardGCErrorHandler -/* 012B88 80018128 2C030001 */ cmpwi r3, 1 -/* 012B8C 8001812C 41820014 */ beq lbl_80018140 -/* 012B90 80018130 80790360 */ lwz r3, 0x360(r25) -/* 012B94 80018134 480A73E9 */ bl CARDUnmount -/* 012B98 80018138 38000000 */ li r0, 0 -/* 012B9C 8001813C 48000008 */ b lbl_80018144 -lbl_80018140: -/* 012BA0 80018140 38000001 */ li r0, 1 -lbl_80018144: -/* 012BA4 80018144 2C000000 */ cmpwi r0, 0 -/* 012BA8 80018148 408200DC */ bne lbl_80018224 -/* 012BAC 8001814C 80B9002C */ lwz r5, 0x2c(r25) -/* 012BB0 80018150 3C800020 */ lis r4, 0x20 -/* 012BB4 80018154 1C7A0021 */ mulli r3, r26, 0x21 -/* 012BB8 80018158 3805FFFF */ addi r0, r5, -1 -/* 012BBC 8001815C 9019002C */ stw r0, 0x2c(r25) -/* 012BC0 80018160 38C40401 */ addi r6, r4, 0x401 -/* 012BC4 80018164 38630110 */ addi r3, r3, 0x110 -/* 012BC8 80018168 80BC0000 */ lwz r5, 0(r28) -/* 012BCC 8001816C 38000000 */ li r0, 0 -/* 012BD0 80018170 80990004 */ lwz r4, 4(r25) -/* 012BD4 80018174 7C791A14 */ add r3, r25, r3 -/* 012BD8 80018178 38A51FFB */ addi r5, r5, 0x1ffb -/* 012BDC 8001817C 7CC62816 */ mulhwu r6, r6, r5 -/* 012BE0 80018180 7CA62850 */ subf r5, r6, r5 -/* 012BE4 80018184 54A5F87E */ srwi r5, r5, 1 -/* 012BE8 80018188 7CA53214 */ add r5, r5, r6 -/* 012BEC 8001818C 54A50824 */ rlwinm r5, r5, 1, 0, 0x12 -/* 012BF0 80018190 38A52000 */ addi r5, r5, 0x2000 -/* 012BF4 80018194 7C852050 */ subf r4, r5, r4 -/* 012BF8 80018198 90990004 */ stw r4, 4(r25) -/* 012BFC 8001819C 38800000 */ li r4, 0 -/* 012C00 800181A0 38A00021 */ li r5, 0x21 -/* 012C04 800181A4 901C0000 */ stw r0, 0(r28) -/* 012C08 800181A8 901B0000 */ stw r0, 0(r27) -/* 012C0C 800181AC 4BFED225 */ bl memset -/* 012C10 800181B0 801907A4 */ lwz r0, 0x7a4(r25) -/* 012C14 800181B4 2C000000 */ cmpwi r0, 0 -/* 012C18 800181B8 40820038 */ bne lbl_800181F0 -/* 012C1C 800181BC 8019003C */ lwz r0, 0x3c(r25) -/* 012C20 800181C0 28000000 */ cmplwi r0, 0 -/* 012C24 800181C4 41820014 */ beq lbl_800181D8 -/* 012C28 800181C8 3879003C */ addi r3, r25, 0x3c -/* 012C2C 800181CC 4BFEEECD */ bl xlHeapFree -/* 012C30 800181D0 2C030000 */ cmpwi r3, 0 -/* 012C34 800181D4 41820048 */ beq lbl_8001821C -lbl_800181D8: -/* 012C38 800181D8 38000000 */ li r0, 0 -/* 012C3C 800181DC 90190034 */ stw r0, 0x34(r25) -/* 012C40 800181E0 38790030 */ addi r3, r25, 0x30 -/* 012C44 800181E4 38800000 */ li r4, 0 -/* 012C48 800181E8 38A00004 */ li r5, 4 -/* 012C4C 800181EC 4BFED1E5 */ bl memset -lbl_800181F0: -/* 012C50 800181F0 80190040 */ lwz r0, 0x40(r25) -/* 012C54 800181F4 28000000 */ cmplwi r0, 0 -/* 012C58 800181F8 41820014 */ beq lbl_8001820C -/* 012C5C 800181FC 38790040 */ addi r3, r25, 0x40 -/* 012C60 80018200 4BFEEE99 */ bl xlHeapFree -/* 012C64 80018204 2C030000 */ cmpwi r3, 0 -/* 012C68 80018208 41820014 */ beq lbl_8001821C -lbl_8001820C: -/* 012C6C 8001820C 38000000 */ li r0, 0 -/* 012C70 80018210 90190044 */ stw r0, 0x44(r25) -/* 012C74 80018214 38000010 */ li r0, 0x10 -/* 012C78 80018218 90190000 */ stw r0, 0(r25) -lbl_8001821C: -/* 012C7C 8001821C 38600000 */ li r3, 0 -/* 012C80 80018220 480003C4 */ b lbl_800185E4 -lbl_80018224: -/* 012C84 80018224 80190470 */ lwz r0, 0x470(r25) -/* 012C88 80018228 2C000001 */ cmpwi r0, 1 -/* 012C8C 8001822C 40820104 */ bne lbl_80018330 -/* 012C90 80018230 3C60800F */ lis r3, D_800EA740@ha -/* 012C94 80018234 3883A740 */ addi r4, r3, D_800EA740@l -/* 012C98 80018238 38790370 */ addi r3, r25, 0x370 -/* 012C9C 8001823C 480B876D */ bl strcpy -/* 012CA0 80018240 3BC00000 */ li r30, 0 -/* 012CA4 80018244 3C600020 */ lis r3, 0x20 -/* 012CA8 80018248 3B1E0000 */ addi r24, r30, 0 -/* 012CAC 8001824C 57DD6824 */ slwi r29, r30, 0xd -/* 012CB0 80018250 3BE30401 */ addi r31, r3, 0x401 -/* 012CB4 80018254 480000B8 */ b lbl_8001830C -lbl_80018258: -/* 012CB8 80018258 3803FFFF */ addi r0, r3, -1 -/* 012CBC 8001825C 7C1E0040 */ cmplw r30, r0 -/* 012CC0 80018260 40800020 */ bge lbl_80018280 -/* 012CC4 80018264 80790474 */ lwz r3, 0x474(r25) -/* 012CC8 80018268 38A01FFC */ li r5, 0x1ffc -/* 012CCC 8001826C 8019003C */ lwz r0, 0x3c(r25) -/* 012CD0 80018270 38630004 */ addi r3, r3, 4 -/* 012CD4 80018274 7C80C214 */ add r4, r0, r24 -/* 012CD8 80018278 4BFED24D */ bl memcpy -/* 012CDC 8001827C 4800001C */ b lbl_80018298 -lbl_80018280: -/* 012CE0 80018280 80790474 */ lwz r3, 0x474(r25) -/* 012CE4 80018284 7CB82050 */ subf r5, r24, r4 -/* 012CE8 80018288 8019003C */ lwz r0, 0x3c(r25) -/* 012CEC 8001828C 38630004 */ addi r3, r3, 4 -/* 012CF0 80018290 7C80C214 */ add r4, r0, r24 -/* 012CF4 80018294 4BFED231 */ bl memcpy -lbl_80018298: -/* 012CF8 80018298 38790000 */ addi r3, r25, 0 -/* 012CFC 8001829C 38810018 */ addi r4, r1, 0x18 -/* 012D00 800182A0 48003FA1 */ bl mcardCalculateChecksum -/* 012D04 800182A4 80790474 */ lwz r3, 0x474(r25) -/* 012D08 800182A8 38810018 */ addi r4, r1, 0x18 -/* 012D0C 800182AC 38A00004 */ li r5, 4 -/* 012D10 800182B0 4BFED215 */ bl memcpy -/* 012D14 800182B4 80990034 */ lwz r4, 0x34(r25) -/* 012D18 800182B8 7F23CB78 */ mr r3, r25 -/* 012D1C 800182BC 80B90038 */ lwz r5, 0x38(r25) -/* 012D20 800182C0 38FD0000 */ addi r7, r29, 0 -/* 012D24 800182C4 38041FFB */ addi r0, r4, 0x1ffb -/* 012D28 800182C8 7C9F0016 */ mulhwu r4, r31, r0 -/* 012D2C 800182CC 80D90474 */ lwz r6, 0x474(r25) -/* 012D30 800182D0 7C040050 */ subf r0, r4, r0 -/* 012D34 800182D4 5400F87E */ srwi r0, r0, 1 -/* 012D38 800182D8 7C002214 */ add r0, r0, r4 -/* 012D3C 800182DC 7C85EA14 */ add r4, r5, r29 -/* 012D40 800182E0 54080824 */ rlwinm r8, r0, 1, 0, 0x12 -/* 012D44 800182E4 38A02000 */ li r5, 0x2000 -/* 012D48 800182E8 38846000 */ addi r4, r4, 0x6000 -/* 012D4C 800182EC 48002831 */ bl mcardWriteAnywherePartial -/* 012D50 800182F0 2C030000 */ cmpwi r3, 0 -/* 012D54 800182F4 4082000C */ bne lbl_80018300 -/* 012D58 800182F8 38000000 */ li r0, 0 -/* 012D5C 800182FC 48000038 */ b lbl_80018334 -lbl_80018300: -/* 012D60 80018300 3BBD2000 */ addi r29, r29, 0x2000 -/* 012D64 80018304 3BDE0001 */ addi r30, r30, 1 -/* 012D68 80018308 3B181FFC */ addi r24, r24, 0x1ffc -lbl_8001830C: -/* 012D6C 8001830C 80990034 */ lwz r4, 0x34(r25) -/* 012D70 80018310 38041FFB */ addi r0, r4, 0x1ffb -/* 012D74 80018314 7C7F0016 */ mulhwu r3, r31, r0 -/* 012D78 80018318 7C030050 */ subf r0, r3, r0 -/* 012D7C 8001831C 5400F87E */ srwi r0, r0, 1 -/* 012D80 80018320 7C001A14 */ add r0, r0, r3 -/* 012D84 80018324 5403A33E */ srwi r3, r0, 0xc -/* 012D88 80018328 7C1E1840 */ cmplw r30, r3 -/* 012D8C 8001832C 4180FF2C */ blt lbl_80018258 -lbl_80018330: -/* 012D90 80018330 38000001 */ li r0, 1 -lbl_80018334: -/* 012D94 80018334 2C000000 */ cmpwi r0, 0 -/* 012D98 80018338 40820104 */ bne lbl_8001843C -/* 012D9C 8001833C 80B9002C */ lwz r5, 0x2c(r25) -/* 012DA0 80018340 3C800020 */ lis r4, 0x20 -/* 012DA4 80018344 1C7A0021 */ mulli r3, r26, 0x21 -/* 012DA8 80018348 3805FFFF */ addi r0, r5, -1 -/* 012DAC 8001834C 9019002C */ stw r0, 0x2c(r25) -/* 012DB0 80018350 38C40401 */ addi r6, r4, 0x401 -/* 012DB4 80018354 38630110 */ addi r3, r3, 0x110 -/* 012DB8 80018358 80BC0000 */ lwz r5, 0(r28) -/* 012DBC 8001835C 38000000 */ li r0, 0 -/* 012DC0 80018360 80990004 */ lwz r4, 4(r25) -/* 012DC4 80018364 7C791A14 */ add r3, r25, r3 -/* 012DC8 80018368 38A51FFB */ addi r5, r5, 0x1ffb -/* 012DCC 8001836C 7CC62816 */ mulhwu r6, r6, r5 -/* 012DD0 80018370 7CA62850 */ subf r5, r6, r5 -/* 012DD4 80018374 54A5F87E */ srwi r5, r5, 1 -/* 012DD8 80018378 7CA53214 */ add r5, r5, r6 -/* 012DDC 8001837C 54A50824 */ rlwinm r5, r5, 1, 0, 0x12 -/* 012DE0 80018380 38A52000 */ addi r5, r5, 0x2000 -/* 012DE4 80018384 7C852050 */ subf r4, r5, r4 -/* 012DE8 80018388 90990004 */ stw r4, 4(r25) -/* 012DEC 8001838C 38800000 */ li r4, 0 -/* 012DF0 80018390 38A00021 */ li r5, 0x21 -/* 012DF4 80018394 901C0000 */ stw r0, 0(r28) -/* 012DF8 80018398 901B0000 */ stw r0, 0(r27) -/* 012DFC 8001839C 4BFED035 */ bl memset -/* 012E00 800183A0 801907A4 */ lwz r0, 0x7a4(r25) -/* 012E04 800183A4 2C000000 */ cmpwi r0, 0 -/* 012E08 800183A8 40820038 */ bne lbl_800183E0 -/* 012E0C 800183AC 8019003C */ lwz r0, 0x3c(r25) -/* 012E10 800183B0 28000000 */ cmplwi r0, 0 -/* 012E14 800183B4 41820014 */ beq lbl_800183C8 -/* 012E18 800183B8 3879003C */ addi r3, r25, 0x3c -/* 012E1C 800183BC 4BFEECDD */ bl xlHeapFree -/* 012E20 800183C0 2C030000 */ cmpwi r3, 0 -/* 012E24 800183C4 41820048 */ beq lbl_8001840C -lbl_800183C8: -/* 012E28 800183C8 38000000 */ li r0, 0 -/* 012E2C 800183CC 90190034 */ stw r0, 0x34(r25) -/* 012E30 800183D0 38790030 */ addi r3, r25, 0x30 -/* 012E34 800183D4 38800000 */ li r4, 0 -/* 012E38 800183D8 38A00004 */ li r5, 4 -/* 012E3C 800183DC 4BFECFF5 */ bl memset -lbl_800183E0: -/* 012E40 800183E0 80190040 */ lwz r0, 0x40(r25) -/* 012E44 800183E4 28000000 */ cmplwi r0, 0 -/* 012E48 800183E8 41820014 */ beq lbl_800183FC -/* 012E4C 800183EC 38790040 */ addi r3, r25, 0x40 -/* 012E50 800183F0 4BFEECA9 */ bl xlHeapFree -/* 012E54 800183F4 2C030000 */ cmpwi r3, 0 -/* 012E58 800183F8 41820014 */ beq lbl_8001840C -lbl_800183FC: -/* 012E5C 800183FC 38000000 */ li r0, 0 -/* 012E60 80018400 90190044 */ stw r0, 0x44(r25) -/* 012E64 80018404 38000010 */ li r0, 0x10 -/* 012E68 80018408 90190000 */ stw r0, 0(r25) -lbl_8001840C: -/* 012E6C 8001840C 80190470 */ lwz r0, 0x470(r25) -/* 012E70 80018410 2C000001 */ cmpwi r0, 1 -/* 012E74 80018414 40820020 */ bne lbl_80018434 -/* 012E78 80018418 80190348 */ lwz r0, 0x348(r25) -/* 012E7C 8001841C 2C00FFFF */ cmpwi r0, -1 -/* 012E80 80018420 4182000C */ beq lbl_8001842C -/* 012E84 80018424 38790348 */ addi r3, r25, 0x348 -/* 012E88 80018428 480A7F15 */ bl CARDClose -lbl_8001842C: -/* 012E8C 8001842C 80790360 */ lwz r3, 0x360(r25) -/* 012E90 80018430 480A70ED */ bl CARDUnmount -lbl_80018434: -/* 012E94 80018434 38600000 */ li r3, 0 -/* 012E98 80018438 480001AC */ b lbl_800185E4 -lbl_8001843C: -/* 012E9C 8001843C 7F23CB78 */ mr r3, r25 -/* 012EA0 80018440 480020FD */ bl mcardWriteFileHeader -/* 012EA4 80018444 2C030000 */ cmpwi r3, 0 -/* 012EA8 80018448 40820104 */ bne lbl_8001854C -/* 012EAC 8001844C 80B9002C */ lwz r5, 0x2c(r25) -/* 012EB0 80018450 3C800020 */ lis r4, 0x20 -/* 012EB4 80018454 1C7A0021 */ mulli r3, r26, 0x21 -/* 012EB8 80018458 3805FFFF */ addi r0, r5, -1 -/* 012EBC 8001845C 9019002C */ stw r0, 0x2c(r25) -/* 012EC0 80018460 38C40401 */ addi r6, r4, 0x401 -/* 012EC4 80018464 38630110 */ addi r3, r3, 0x110 -/* 012EC8 80018468 80BC0000 */ lwz r5, 0(r28) -/* 012ECC 8001846C 38000000 */ li r0, 0 -/* 012ED0 80018470 80990004 */ lwz r4, 4(r25) -/* 012ED4 80018474 7C791A14 */ add r3, r25, r3 -/* 012ED8 80018478 38A51FFB */ addi r5, r5, 0x1ffb -/* 012EDC 8001847C 7CC62816 */ mulhwu r6, r6, r5 -/* 012EE0 80018480 7CA62850 */ subf r5, r6, r5 -/* 012EE4 80018484 54A5F87E */ srwi r5, r5, 1 -/* 012EE8 80018488 7CA53214 */ add r5, r5, r6 -/* 012EEC 8001848C 54A50824 */ rlwinm r5, r5, 1, 0, 0x12 -/* 012EF0 80018490 38A52000 */ addi r5, r5, 0x2000 -/* 012EF4 80018494 7C852050 */ subf r4, r5, r4 -/* 012EF8 80018498 90990004 */ stw r4, 4(r25) -/* 012EFC 8001849C 38800000 */ li r4, 0 -/* 012F00 800184A0 38A00021 */ li r5, 0x21 -/* 012F04 800184A4 901C0000 */ stw r0, 0(r28) -/* 012F08 800184A8 901B0000 */ stw r0, 0(r27) -/* 012F0C 800184AC 4BFECF25 */ bl memset -/* 012F10 800184B0 801907A4 */ lwz r0, 0x7a4(r25) -/* 012F14 800184B4 2C000000 */ cmpwi r0, 0 -/* 012F18 800184B8 40820038 */ bne lbl_800184F0 -/* 012F1C 800184BC 8019003C */ lwz r0, 0x3c(r25) -/* 012F20 800184C0 28000000 */ cmplwi r0, 0 -/* 012F24 800184C4 41820014 */ beq lbl_800184D8 -/* 012F28 800184C8 3879003C */ addi r3, r25, 0x3c -/* 012F2C 800184CC 4BFEEBCD */ bl xlHeapFree -/* 012F30 800184D0 2C030000 */ cmpwi r3, 0 -/* 012F34 800184D4 41820048 */ beq lbl_8001851C -lbl_800184D8: -/* 012F38 800184D8 38000000 */ li r0, 0 -/* 012F3C 800184DC 90190034 */ stw r0, 0x34(r25) -/* 012F40 800184E0 38790030 */ addi r3, r25, 0x30 -/* 012F44 800184E4 38800000 */ li r4, 0 -/* 012F48 800184E8 38A00004 */ li r5, 4 -/* 012F4C 800184EC 4BFECEE5 */ bl memset -lbl_800184F0: -/* 012F50 800184F0 80190040 */ lwz r0, 0x40(r25) -/* 012F54 800184F4 28000000 */ cmplwi r0, 0 -/* 012F58 800184F8 41820014 */ beq lbl_8001850C -/* 012F5C 800184FC 38790040 */ addi r3, r25, 0x40 -/* 012F60 80018500 4BFEEB99 */ bl xlHeapFree -/* 012F64 80018504 2C030000 */ cmpwi r3, 0 -/* 012F68 80018508 41820014 */ beq lbl_8001851C -lbl_8001850C: -/* 012F6C 8001850C 38000000 */ li r0, 0 -/* 012F70 80018510 90190044 */ stw r0, 0x44(r25) -/* 012F74 80018514 38000010 */ li r0, 0x10 -/* 012F78 80018518 90190000 */ stw r0, 0(r25) -lbl_8001851C: -/* 012F7C 8001851C 80190470 */ lwz r0, 0x470(r25) -/* 012F80 80018520 2C000001 */ cmpwi r0, 1 -/* 012F84 80018524 40820020 */ bne lbl_80018544 -/* 012F88 80018528 80190348 */ lwz r0, 0x348(r25) -/* 012F8C 8001852C 2C00FFFF */ cmpwi r0, -1 -/* 012F90 80018530 4182000C */ beq lbl_8001853C -/* 012F94 80018534 38790348 */ addi r3, r25, 0x348 -/* 012F98 80018538 480A7E05 */ bl CARDClose -lbl_8001853C: -/* 012F9C 8001853C 80790360 */ lwz r3, 0x360(r25) -/* 012FA0 80018540 480A6FDD */ bl CARDUnmount -lbl_80018544: -/* 012FA4 80018544 38600000 */ li r3, 0 -/* 012FA8 80018548 4800009C */ b lbl_800185E4 -lbl_8001854C: -/* 012FAC 8001854C 801907A4 */ lwz r0, 0x7a4(r25) -/* 012FB0 80018550 2C000000 */ cmpwi r0, 0 -/* 012FB4 80018554 40820038 */ bne lbl_8001858C -/* 012FB8 80018558 8019003C */ lwz r0, 0x3c(r25) -/* 012FBC 8001855C 28000000 */ cmplwi r0, 0 -/* 012FC0 80018560 41820014 */ beq lbl_80018574 -/* 012FC4 80018564 3879003C */ addi r3, r25, 0x3c -/* 012FC8 80018568 4BFEEB31 */ bl xlHeapFree -/* 012FCC 8001856C 2C030000 */ cmpwi r3, 0 -/* 012FD0 80018570 41820048 */ beq lbl_800185B8 -lbl_80018574: -/* 012FD4 80018574 38000000 */ li r0, 0 -/* 012FD8 80018578 90190034 */ stw r0, 0x34(r25) -/* 012FDC 8001857C 38790030 */ addi r3, r25, 0x30 -/* 012FE0 80018580 38800000 */ li r4, 0 -/* 012FE4 80018584 38A00004 */ li r5, 4 -/* 012FE8 80018588 4BFECE49 */ bl memset -lbl_8001858C: -/* 012FEC 8001858C 80190040 */ lwz r0, 0x40(r25) -/* 012FF0 80018590 28000000 */ cmplwi r0, 0 -/* 012FF4 80018594 41820014 */ beq lbl_800185A8 -/* 012FF8 80018598 38790040 */ addi r3, r25, 0x40 -/* 012FFC 8001859C 4BFEEAFD */ bl xlHeapFree -/* 013000 800185A0 2C030000 */ cmpwi r3, 0 -/* 013004 800185A4 41820014 */ beq lbl_800185B8 -lbl_800185A8: -/* 013008 800185A8 38000000 */ li r0, 0 -/* 01300C 800185AC 90190044 */ stw r0, 0x44(r25) -/* 013010 800185B0 38000010 */ li r0, 0x10 -/* 013014 800185B4 90190000 */ stw r0, 0(r25) -lbl_800185B8: -/* 013018 800185B8 80190470 */ lwz r0, 0x470(r25) -/* 01301C 800185BC 2C000001 */ cmpwi r0, 1 -/* 013020 800185C0 40820020 */ bne lbl_800185E0 -/* 013024 800185C4 80190348 */ lwz r0, 0x348(r25) -/* 013028 800185C8 2C00FFFF */ cmpwi r0, -1 -/* 01302C 800185CC 4182000C */ beq lbl_800185D8 -/* 013030 800185D0 38790348 */ addi r3, r25, 0x348 -/* 013034 800185D4 480A7D69 */ bl CARDClose -lbl_800185D8: -/* 013038 800185D8 80790360 */ lwz r3, 0x360(r25) -/* 01303C 800185DC 480A6F41 */ bl CARDUnmount -lbl_800185E0: -/* 013040 800185E0 38600001 */ li r3, 1 -lbl_800185E4: -/* 013044 800185E4 BB010020 */ lmw r24, 0x20(r1) -/* 013048 800185E8 80010044 */ lwz r0, 0x44(r1) -/* 01304C 800185EC 38210040 */ addi r1, r1, 0x40 -/* 013050 800185F0 7C0803A6 */ mtlr r0 -/* 013054 800185F4 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardGameSet.s b/asm/non_matchings/mcardGCN/mcardGameSet.s deleted file mode 100644 index 4d7a8617..00000000 --- a/asm/non_matchings/mcardGCN/mcardGameSet.s +++ /dev/null @@ -1,289 +0,0 @@ -glabel mcardGameSet -/* 0136B0 80018C50 7C0802A6 */ mflr r0 -/* 0136B4 80018C54 90010004 */ stw r0, 4(r1) -/* 0136B8 80018C58 9421FFE0 */ stwu r1, -0x20(r1) -/* 0136BC 80018C5C 93E1001C */ stw r31, 0x1c(r1) -/* 0136C0 80018C60 7C7F1B78 */ mr r31, r3 -/* 0136C4 80018C64 93C10018 */ stw r30, 0x18(r1) -/* 0136C8 80018C68 93A10014 */ stw r29, 0x14(r1) -/* 0136CC 80018C6C 93810010 */ stw r28, 0x10(r1) -/* 0136D0 80018C70 3B840000 */ addi r28, r4, 0 -/* 0136D4 80018C74 80030470 */ lwz r0, 0x470(r3) -/* 0136D8 80018C78 2C000001 */ cmpwi r0, 1 -/* 0136DC 80018C7C 40820350 */ bne lbl_80018FCC -/* 0136E0 80018C80 3BA00000 */ li r29, 0 -/* 0136E4 80018C84 1C1D0021 */ mulli r0, r29, 0x21 -/* 0136E8 80018C88 7FDF0214 */ add r30, r31, r0 -lbl_80018C8C: -/* 0136EC 80018C8C 387C0000 */ addi r3, r28, 0 -/* 0136F0 80018C90 389E0110 */ addi r4, r30, 0x110 -/* 0136F4 80018C94 480B7BAD */ bl strcmp -/* 0136F8 80018C98 2C030000 */ cmpwi r3, 0 -/* 0136FC 80018C9C 4082000C */ bne lbl_80018CA8 -/* 013700 80018CA0 38000001 */ li r0, 1 -/* 013704 80018CA4 48000008 */ b lbl_80018CAC -lbl_80018CA8: -/* 013708 80018CA8 38000000 */ li r0, 0 -lbl_80018CAC: -/* 01370C 80018CAC 2C000001 */ cmpwi r0, 1 -/* 013710 80018CB0 41820014 */ beq lbl_80018CC4 -/* 013714 80018CB4 3BBD0001 */ addi r29, r29, 1 -/* 013718 80018CB8 2C1D0010 */ cmpwi r29, 0x10 -/* 01371C 80018CBC 3BDE0021 */ addi r30, r30, 0x21 -/* 013720 80018CC0 4180FFCC */ blt lbl_80018C8C -lbl_80018CC4: -/* 013724 80018CC4 2C1D0010 */ cmpwi r29, 0x10 -/* 013728 80018CC8 40820014 */ bne lbl_80018CDC -/* 01372C 80018CCC 38000011 */ li r0, 0x11 -/* 013730 80018CD0 901F035C */ stw r0, 0x35c(r31) -/* 013734 80018CD4 38600000 */ li r3, 0 -/* 013738 80018CD8 48000360 */ b lbl_80019038 -lbl_80018CDC: -/* 01373C 80018CDC 93BF0000 */ stw r29, 0(r31) -/* 013740 80018CE0 38000000 */ li r0, 0 -/* 013744 80018CE4 807F0000 */ lwz r3, 0(r31) -/* 013748 80018CE8 5463103A */ slwi r3, r3, 2 -/* 01374C 80018CEC 7C7F1A14 */ add r3, r31, r3 -/* 013750 80018CF0 80630050 */ lwz r3, 0x50(r3) -/* 013754 80018CF4 907F0034 */ stw r3, 0x34(r31) -/* 013758 80018CF8 807F0000 */ lwz r3, 0(r31) -/* 01375C 80018CFC 5463103A */ slwi r3, r3, 2 -/* 013760 80018D00 7C7F1A14 */ add r3, r31, r3 -/* 013764 80018D04 80630090 */ lwz r3, 0x90(r3) -/* 013768 80018D08 907F0038 */ stw r3, 0x38(r31) -/* 01376C 80018D0C 807F0000 */ lwz r3, 0(r31) -/* 013770 80018D10 5463103A */ slwi r3, r3, 2 -/* 013774 80018D14 7C7F1A14 */ add r3, r31, r3 -/* 013778 80018D18 806300D0 */ lwz r3, 0xd0(r3) -/* 01377C 80018D1C 907F0030 */ stw r3, 0x30(r31) -/* 013780 80018D20 901F0044 */ stw r0, 0x44(r31) -/* 013784 80018D24 801F07A4 */ lwz r0, 0x7a4(r31) -/* 013788 80018D28 2C000000 */ cmpwi r0, 0 -/* 01378C 80018D2C 4082014C */ bne lbl_80018E78 -/* 013790 80018D30 801F003C */ lwz r0, 0x3c(r31) -/* 013794 80018D34 28000000 */ cmplwi r0, 0 -/* 013798 80018D38 4182001C */ beq lbl_80018D54 -/* 01379C 80018D3C 387F003C */ addi r3, r31, 0x3c -/* 0137A0 80018D40 4BFEE359 */ bl xlHeapFree -/* 0137A4 80018D44 2C030000 */ cmpwi r3, 0 -/* 0137A8 80018D48 4082000C */ bne lbl_80018D54 -/* 0137AC 80018D4C 38600000 */ li r3, 0 -/* 0137B0 80018D50 480002E8 */ b lbl_80019038 -lbl_80018D54: -/* 0137B4 80018D54 801F0034 */ lwz r0, 0x34(r31) -/* 0137B8 80018D58 387F003C */ addi r3, r31, 0x3c -/* 0137BC 80018D5C 64043000 */ oris r4, r0, 0x3000 -/* 0137C0 80018D60 4BFEE455 */ bl xlHeapTake -/* 0137C4 80018D64 2C030000 */ cmpwi r3, 0 -/* 0137C8 80018D68 4082000C */ bne lbl_80018D74 -/* 0137CC 80018D6C 38600000 */ li r3, 0 -/* 0137D0 80018D70 480002C8 */ b lbl_80019038 -lbl_80018D74: -/* 0137D4 80018D74 801F0470 */ lwz r0, 0x470(r31) -/* 0137D8 80018D78 2C000001 */ cmpwi r0, 1 -/* 0137DC 80018D7C 40820050 */ bne lbl_80018DCC -/* 0137E0 80018D80 7FE3FB78 */ mr r3, r31 -/* 0137E4 80018D84 48002251 */ bl mcardReadyCard -/* 0137E8 80018D88 2C030000 */ cmpwi r3, 0 -/* 0137EC 80018D8C 4082000C */ bne lbl_80018D98 -/* 0137F0 80018D90 38000000 */ li r0, 0 -/* 0137F4 80018D94 4800003C */ b lbl_80018DD0 -lbl_80018D98: -/* 0137F8 80018D98 807F0360 */ lwz r3, 0x360(r31) -/* 0137FC 80018D9C 389F0008 */ addi r4, r31, 8 -/* 013800 80018DA0 38BF0348 */ addi r5, r31, 0x348 -/* 013804 80018DA4 480A747D */ bl CARDOpen -/* 013808 80018DA8 38830000 */ addi r4, r3, 0 -/* 01380C 80018DAC 387F0000 */ addi r3, r31, 0 -/* 013810 80018DB0 480034F1 */ bl mcardGCErrorHandler -/* 013814 80018DB4 2C030001 */ cmpwi r3, 1 -/* 013818 80018DB8 41820014 */ beq lbl_80018DCC -/* 01381C 80018DBC 807F0360 */ lwz r3, 0x360(r31) -/* 013820 80018DC0 480A675D */ bl CARDUnmount -/* 013824 80018DC4 38000000 */ li r0, 0 -/* 013828 80018DC8 48000008 */ b lbl_80018DD0 -lbl_80018DCC: -/* 01382C 80018DCC 38000001 */ li r0, 1 -lbl_80018DD0: -/* 013830 80018DD0 2C000001 */ cmpwi r0, 1 -/* 013834 80018DD4 4082009C */ bne lbl_80018E70 -/* 013838 80018DD8 7FE3FB78 */ mr r3, r31 -/* 01383C 80018DDC 480008FD */ bl mcardReadGameData -/* 013840 80018DE0 2C030000 */ cmpwi r3, 0 -/* 013844 80018DE4 40820064 */ bne lbl_80018E48 -/* 013848 80018DE8 801F0470 */ lwz r0, 0x470(r31) -/* 01384C 80018DEC 2C000001 */ cmpwi r0, 1 -/* 013850 80018DF0 40820020 */ bne lbl_80018E10 -/* 013854 80018DF4 801F0348 */ lwz r0, 0x348(r31) -/* 013858 80018DF8 2C00FFFF */ cmpwi r0, -1 -/* 01385C 80018DFC 4182000C */ beq lbl_80018E08 -/* 013860 80018E00 387F0348 */ addi r3, r31, 0x348 -/* 013864 80018E04 480A7539 */ bl CARDClose -lbl_80018E08: -/* 013868 80018E08 807F0360 */ lwz r3, 0x360(r31) -/* 01386C 80018E0C 480A6711 */ bl CARDUnmount -lbl_80018E10: -/* 013870 80018E10 387F003C */ addi r3, r31, 0x3c -/* 013874 80018E14 4BFEE285 */ bl xlHeapFree -/* 013878 80018E18 2C030000 */ cmpwi r3, 0 -/* 01387C 80018E1C 4082000C */ bne lbl_80018E28 -/* 013880 80018E20 38600000 */ li r3, 0 -/* 013884 80018E24 48000214 */ b lbl_80019038 -lbl_80018E28: -/* 013888 80018E28 387F0040 */ addi r3, r31, 0x40 -/* 01388C 80018E2C 4BFEE26D */ bl xlHeapFree -/* 013890 80018E30 2C030000 */ cmpwi r3, 0 -/* 013894 80018E34 4082000C */ bne lbl_80018E40 -/* 013898 80018E38 38600000 */ li r3, 0 -/* 01389C 80018E3C 480001FC */ b lbl_80019038 -lbl_80018E40: -/* 0138A0 80018E40 38600000 */ li r3, 0 -/* 0138A4 80018E44 480001F4 */ b lbl_80019038 -lbl_80018E48: -/* 0138A8 80018E48 801F0470 */ lwz r0, 0x470(r31) -/* 0138AC 80018E4C 2C000001 */ cmpwi r0, 1 -/* 0138B0 80018E50 40820020 */ bne lbl_80018E70 -/* 0138B4 80018E54 801F0348 */ lwz r0, 0x348(r31) -/* 0138B8 80018E58 2C00FFFF */ cmpwi r0, -1 -/* 0138BC 80018E5C 4182000C */ beq lbl_80018E68 -/* 0138C0 80018E60 387F0348 */ addi r3, r31, 0x348 -/* 0138C4 80018E64 480A74D9 */ bl CARDClose -lbl_80018E68: -/* 0138C8 80018E68 807F0360 */ lwz r3, 0x360(r31) -/* 0138CC 80018E6C 480A66B1 */ bl CARDUnmount -lbl_80018E70: -/* 0138D0 80018E70 38000001 */ li r0, 1 -/* 0138D4 80018E74 901F07A4 */ stw r0, 0x7a4(r31) -lbl_80018E78: -/* 0138D8 80018E78 801F0040 */ lwz r0, 0x40(r31) -/* 0138DC 80018E7C 28000000 */ cmplwi r0, 0 -/* 0138E0 80018E80 4182001C */ beq lbl_80018E9C -/* 0138E4 80018E84 387F0040 */ addi r3, r31, 0x40 -/* 0138E8 80018E88 4BFEE211 */ bl xlHeapFree -/* 0138EC 80018E8C 2C030000 */ cmpwi r3, 0 -/* 0138F0 80018E90 4082000C */ bne lbl_80018E9C -/* 0138F4 80018E94 38600000 */ li r3, 0 -/* 0138F8 80018E98 480001A0 */ b lbl_80019038 -lbl_80018E9C: -/* 0138FC 80018E9C 809F0034 */ lwz r4, 0x34(r31) -/* 013900 80018EA0 3C600020 */ lis r3, 0x20 -/* 013904 80018EA4 3BC30401 */ addi r30, r3, 0x401 -/* 013908 80018EA8 38041FFB */ addi r0, r4, 0x1ffb -/* 01390C 80018EAC 7C7E0016 */ mulhwu r3, r30, r0 -/* 013910 80018EB0 7C030050 */ subf r0, r3, r0 -/* 013914 80018EB4 5400F87E */ srwi r0, r0, 1 -/* 013918 80018EB8 7C001A14 */ add r0, r0, r3 -/* 01391C 80018EBC 5400B2BA */ rlwinm r0, r0, 0x16, 0xa, 0x1d -/* 013920 80018EC0 387F0040 */ addi r3, r31, 0x40 -/* 013924 80018EC4 64043000 */ oris r4, r0, 0x3000 -/* 013928 80018EC8 4BFEE2ED */ bl xlHeapTake -/* 01392C 80018ECC 2C030000 */ cmpwi r3, 0 -/* 013930 80018ED0 4082000C */ bne lbl_80018EDC -/* 013934 80018ED4 38600000 */ li r3, 0 -/* 013938 80018ED8 48000160 */ b lbl_80019038 -lbl_80018EDC: -/* 01393C 80018EDC 80BF0034 */ lwz r5, 0x34(r31) -/* 013940 80018EE0 38800000 */ li r4, 0 -/* 013944 80018EE4 807F0040 */ lwz r3, 0x40(r31) -/* 013948 80018EE8 38051FFB */ addi r0, r5, 0x1ffb -/* 01394C 80018EEC 7CBE0016 */ mulhwu r5, r30, r0 -/* 013950 80018EF0 7C050050 */ subf r0, r5, r0 -/* 013954 80018EF4 5400F87E */ srwi r0, r0, 1 -/* 013958 80018EF8 7C002A14 */ add r0, r0, r5 -/* 01395C 80018EFC 5405B2BA */ rlwinm r5, r0, 0x16, 0xa, 0x1d -/* 013960 80018F00 4BFEC4D1 */ bl memset -/* 013964 80018F04 38A00000 */ li r5, 0 -/* 013968 80018F08 90BF0484 */ stw r5, 0x484(r31) -/* 01396C 80018F0C 90BF0488 */ stw r5, 0x488(r31) -/* 013970 80018F10 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 013974 80018F14 80030020 */ lwz r0, 0x20(r3) -/* 013978 80018F18 2C000004 */ cmpwi r0, 4 -/* 01397C 80018F1C 40820118 */ bne lbl_80019034 -/* 013980 80018F20 809F0034 */ lwz r4, 0x34(r31) -/* 013984 80018F24 2C040000 */ cmpwi r4, 0 -/* 013988 80018F28 7C8903A6 */ mtctr r4 -/* 01398C 80018F2C 4081001C */ ble lbl_80018F48 -lbl_80018F30: -/* 013990 80018F30 807F003C */ lwz r3, 0x3c(r31) -/* 013994 80018F34 7C0328AE */ lbzx r0, r3, r5 -/* 013998 80018F38 7C000775 */ extsb. r0, r0 -/* 01399C 80018F3C 4082000C */ bne lbl_80018F48 -/* 0139A0 80018F40 38A50001 */ addi r5, r5, 1 -/* 0139A4 80018F44 4200FFEC */ bdnz lbl_80018F30 -lbl_80018F48: -/* 0139A8 80018F48 7C052000 */ cmpw r5, r4 -/* 0139AC 80018F4C 40820010 */ bne lbl_80018F5C -/* 0139B0 80018F50 38000001 */ li r0, 1 -/* 0139B4 80018F54 901F0480 */ stw r0, 0x480(r31) -/* 0139B8 80018F58 4800000C */ b lbl_80018F64 -lbl_80018F5C: -/* 0139BC 80018F5C 38000000 */ li r0, 0 -/* 0139C0 80018F60 901F0480 */ stw r0, 0x480(r31) -lbl_80018F64: -/* 0139C4 80018F64 48087D75 */ bl OSGetSoundMode -/* 0139C8 80018F68 28030000 */ cmplwi r3, 0 -/* 0139CC 80018F6C 40820028 */ bne lbl_80018F94 -/* 0139D0 80018F70 807F003C */ lwz r3, 0x3c(r31) -/* 0139D4 80018F74 88030000 */ lbz r0, 0(r3) -/* 0139D8 80018F78 5400063A */ rlwinm r0, r0, 0, 0x18, 0x1d -/* 0139DC 80018F7C 98030000 */ stb r0, 0(r3) -/* 0139E0 80018F80 807F003C */ lwz r3, 0x3c(r31) -/* 0139E4 80018F84 88030000 */ lbz r0, 0(r3) -/* 0139E8 80018F88 60000001 */ ori r0, r0, 1 -/* 0139EC 80018F8C 98030000 */ stb r0, 0(r3) -/* 0139F0 80018F90 4800002C */ b lbl_80018FBC -lbl_80018F94: -/* 0139F4 80018F94 48087D45 */ bl OSGetSoundMode -/* 0139F8 80018F98 28030001 */ cmplwi r3, 1 -/* 0139FC 80018F9C 40820020 */ bne lbl_80018FBC -/* 013A00 80018FA0 809F003C */ lwz r4, 0x3c(r31) -/* 013A04 80018FA4 88640000 */ lbz r3, 0(r4) -/* 013A08 80018FA8 5460073E */ clrlwi r0, r3, 0x1c -/* 013A0C 80018FAC 2C000001 */ cmpwi r0, 1 -/* 013A10 80018FB0 4082000C */ bne lbl_80018FBC -/* 013A14 80018FB4 5460063A */ rlwinm r0, r3, 0, 0x18, 0x1d -/* 013A18 80018FB8 98040000 */ stb r0, 0(r4) -lbl_80018FBC: -/* 013A1C 80018FBC 807F0040 */ lwz r3, 0x40(r31) -/* 013A20 80018FC0 38000001 */ li r0, 1 -/* 013A24 80018FC4 90030000 */ stw r0, 0(r3) -/* 013A28 80018FC8 4800006C */ b lbl_80019034 -lbl_80018FCC: -/* 013A2C 80018FCC 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 013A30 80018FD0 80030020 */ lwz r0, 0x20(r3) -/* 013A34 80018FD4 2C000004 */ cmpwi r0, 4 -/* 013A38 80018FD8 4082005C */ bne lbl_80019034 -/* 013A3C 80018FDC 48087CFD */ bl OSGetSoundMode -/* 013A40 80018FE0 28030000 */ cmplwi r3, 0 -/* 013A44 80018FE4 40820028 */ bne lbl_8001900C -/* 013A48 80018FE8 807F003C */ lwz r3, 0x3c(r31) -/* 013A4C 80018FEC 88030000 */ lbz r0, 0(r3) -/* 013A50 80018FF0 5400063A */ rlwinm r0, r0, 0, 0x18, 0x1d -/* 013A54 80018FF4 98030000 */ stb r0, 0(r3) -/* 013A58 80018FF8 807F003C */ lwz r3, 0x3c(r31) -/* 013A5C 80018FFC 88030000 */ lbz r0, 0(r3) -/* 013A60 80019000 60000001 */ ori r0, r0, 1 -/* 013A64 80019004 98030000 */ stb r0, 0(r3) -/* 013A68 80019008 4800002C */ b lbl_80019034 -lbl_8001900C: -/* 013A6C 8001900C 48087CCD */ bl OSGetSoundMode -/* 013A70 80019010 28030001 */ cmplwi r3, 1 -/* 013A74 80019014 40820020 */ bne lbl_80019034 -/* 013A78 80019018 809F003C */ lwz r4, 0x3c(r31) -/* 013A7C 8001901C 88640000 */ lbz r3, 0(r4) -/* 013A80 80019020 5460073E */ clrlwi r0, r3, 0x1c -/* 013A84 80019024 2C000001 */ cmpwi r0, 1 -/* 013A88 80019028 4082000C */ bne lbl_80019034 -/* 013A8C 8001902C 5460063A */ rlwinm r0, r3, 0, 0x18, 0x1d -/* 013A90 80019030 98040000 */ stb r0, 0(r4) -lbl_80019034: -/* 013A94 80019034 38600001 */ li r3, 1 -lbl_80019038: -/* 013A98 80019038 80010024 */ lwz r0, 0x24(r1) -/* 013A9C 8001903C 83E1001C */ lwz r31, 0x1c(r1) -/* 013AA0 80019040 83C10018 */ lwz r30, 0x18(r1) -/* 013AA4 80019044 7C0803A6 */ mtlr r0 -/* 013AA8 80019048 83A10014 */ lwz r29, 0x14(r1) -/* 013AAC 8001904C 83810010 */ lwz r28, 0x10(r1) -/* 013AB0 80019050 38210020 */ addi r1, r1, 0x20 -/* 013AB4 80019054 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardMenu.s b/asm/non_matchings/mcardGCN/mcardMenu.s deleted file mode 100644 index ab53daae..00000000 --- a/asm/non_matchings/mcardGCN/mcardMenu.s +++ /dev/null @@ -1,786 +0,0 @@ -glabel mcardMenu -/* 0118D0 80016E70 7C0802A6 */ mflr r0 -/* 0118D4 80016E74 90010004 */ stw r0, 4(r1) -/* 0118D8 80016E78 9421FFD8 */ stwu r1, -0x28(r1) -/* 0118DC 80016E7C 93E10024 */ stw r31, 0x24(r1) -/* 0118E0 80016E80 93C10020 */ stw r30, 0x20(r1) -/* 0118E4 80016E84 3BC50000 */ addi r30, r5, 0 -/* 0118E8 80016E88 93A1001C */ stw r29, 0x1c(r1) -/* 0118EC 80016E8C 7C7D1B78 */ mr r29, r3 -/* 0118F0 80016E90 800307AC */ lwz r0, 0x7ac(r3) -/* 0118F4 80016E94 2C000001 */ cmpwi r0, 1 -/* 0118F8 80016E98 4082001C */ bne lbl_80016EB4 -/* 0118FC 80016E9C 2C040001 */ cmpwi r4, 1 -/* 011900 80016EA0 41820014 */ beq lbl_80016EB4 -/* 011904 80016EA4 2C04000C */ cmpwi r4, 0xc -/* 011908 80016EA8 4182000C */ beq lbl_80016EB4 -/* 01190C 80016EAC 808D898C */ lwz r4, nextMenuEntry@sda21(r13) -/* 011910 80016EB0 48000020 */ b lbl_80016ED0 -lbl_80016EB4: -/* 011914 80016EB4 38000000 */ li r0, 0 -/* 011918 80016EB8 901D07AC */ stw r0, 0x7ac(r29) -/* 01191C 80016EBC 800D8988 */ lwz r0, prevMenuEntry@sda21(r13) -/* 011920 80016EC0 7C040000 */ cmpw r4, r0 -/* 011924 80016EC4 40820008 */ bne lbl_80016ECC -/* 011928 80016EC8 808D898C */ lwz r4, nextMenuEntry@sda21(r13) -lbl_80016ECC: -/* 01192C 80016ECC 908D898C */ stw r4, nextMenuEntry@sda21(r13) -lbl_80016ED0: -/* 011930 80016ED0 3BE00001 */ li r31, 1 -/* 011934 80016ED4 28040031 */ cmplwi r4, 0x31 -/* 011938 80016ED8 93FE0000 */ stw r31, 0(r30) -/* 01193C 80016EDC 41810910 */ bgt lbl_800177EC -/* 011940 80016EE0 3C60800F */ lis r3, jtbl_800EA668@ha -/* 011944 80016EE4 3863A668 */ addi r3, r3, jtbl_800EA668@l -/* 011948 80016EE8 5480103A */ slwi r0, r4, 2 -/* 01194C 80016EEC 7C03002E */ lwzx r0, r3, r0 -/* 011950 80016EF0 7C0903A6 */ mtctr r0 -/* 011954 80016EF4 4E800420 */ bctr -.global lbl_80016EF8 -lbl_80016EF8: -/* 011958 80016EF8 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 01195C 80016EFC 38600007 */ li r3, 7 -/* 011960 80016F00 4BFF2B31 */ bl simulatorDrawErrorMessageWait -/* 011964 80016F04 2C030001 */ cmpwi r3, 1 -/* 011968 80016F08 408208EC */ bne lbl_800177F4 -/* 01196C 80016F0C 38600000 */ li r3, 0 -/* 011970 80016F10 3800000B */ li r0, 0xb -/* 011974 80016F14 906D8984 */ stw r3, yes@sda21(r13) -/* 011978 80016F18 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 01197C 80016F1C 93FE0000 */ stw r31, 0(r30) -/* 011980 80016F20 480008D4 */ b lbl_800177F4 -.global lbl_80016F24 -lbl_80016F24: -/* 011984 80016F24 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011988 80016F28 38600008 */ li r3, 8 -/* 01198C 80016F2C 4BFF2B05 */ bl simulatorDrawErrorMessageWait -/* 011990 80016F30 2C030001 */ cmpwi r3, 1 -/* 011994 80016F34 408208C0 */ bne lbl_800177F4 -/* 011998 80016F38 38600000 */ li r3, 0 -/* 01199C 80016F3C 3800000B */ li r0, 0xb -/* 0119A0 80016F40 906D8984 */ stw r3, yes@sda21(r13) -/* 0119A4 80016F44 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 0119A8 80016F48 93FD07B0 */ stw r31, 0x7b0(r29) -/* 0119AC 80016F4C 93FE0000 */ stw r31, 0(r30) -/* 0119B0 80016F50 480008A4 */ b lbl_800177F4 -.global lbl_80016F54 -lbl_80016F54: -/* 0119B4 80016F54 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 0119B8 80016F58 38600009 */ li r3, 9 -/* 0119BC 80016F5C 4BFF2AD5 */ bl simulatorDrawErrorMessageWait -/* 0119C0 80016F60 2C030001 */ cmpwi r3, 1 -/* 0119C4 80016F64 40820890 */ bne lbl_800177F4 -/* 0119C8 80016F68 38600000 */ li r3, 0 -/* 0119CC 80016F6C 3800000B */ li r0, 0xb -/* 0119D0 80016F70 906D8984 */ stw r3, yes@sda21(r13) -/* 0119D4 80016F74 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 0119D8 80016F78 93FE0000 */ stw r31, 0(r30) -/* 0119DC 80016F7C 48000878 */ b lbl_800177F4 -.global lbl_80016F80 -lbl_80016F80: -/* 0119E0 80016F80 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 0119E4 80016F84 3860000A */ li r3, 0xa -/* 0119E8 80016F88 4BFF2AA9 */ bl simulatorDrawErrorMessageWait -/* 0119EC 80016F8C 2C030001 */ cmpwi r3, 1 -/* 0119F0 80016F90 40820864 */ bne lbl_800177F4 -/* 0119F4 80016F94 38600000 */ li r3, 0 -/* 0119F8 80016F98 3800000B */ li r0, 0xb -/* 0119FC 80016F9C 906D8984 */ stw r3, yes@sda21(r13) -/* 011A00 80016FA0 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011A04 80016FA4 93FE0000 */ stw r31, 0(r30) -/* 011A08 80016FA8 4800084C */ b lbl_800177F4 -.global lbl_80016FAC -lbl_80016FAC: -/* 011A0C 80016FAC 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011A10 80016FB0 3860000B */ li r3, 0xb -/* 011A14 80016FB4 4BFF2A7D */ bl simulatorDrawErrorMessageWait -/* 011A18 80016FB8 2C030001 */ cmpwi r3, 1 -/* 011A1C 80016FBC 40820838 */ bne lbl_800177F4 -/* 011A20 80016FC0 38600000 */ li r3, 0 -/* 011A24 80016FC4 38000006 */ li r0, 6 -/* 011A28 80016FC8 906D8984 */ stw r3, yes@sda21(r13) -/* 011A2C 80016FCC 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011A30 80016FD0 93FE0000 */ stw r31, 0(r30) -/* 011A34 80016FD4 48000820 */ b lbl_800177F4 -.global lbl_80016FD8 -lbl_80016FD8: -/* 011A38 80016FD8 3860000C */ li r3, 0xc -/* 011A3C 80016FDC 388D8984 */ addi r4, r13, yes@sda21 -/* 011A40 80016FE0 4BFF5B9D */ bl simulatorDrawYesNoMessage -/* 011A44 80016FE4 2C030001 */ cmpwi r3, 1 -/* 011A48 80016FE8 4082080C */ bne lbl_800177F4 -/* 011A4C 80016FEC 800D8984 */ lwz r0, yes@sda21(r13) -/* 011A50 80016FF0 2C000001 */ cmpwi r0, 1 -/* 011A54 80016FF4 4082001C */ bne lbl_80017010 -/* 011A58 80016FF8 38600000 */ li r3, 0 -/* 011A5C 80016FFC 38000021 */ li r0, 0x21 -/* 011A60 80017000 906D8984 */ stw r3, yes@sda21(r13) -/* 011A64 80017004 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011A68 80017008 93FE0000 */ stw r31, 0(r30) -/* 011A6C 8001700C 480007E8 */ b lbl_800177F4 -lbl_80017010: -/* 011A70 80017010 38000027 */ li r0, 0x27 -/* 011A74 80017014 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011A78 80017018 93FE0000 */ stw r31, 0(r30) -/* 011A7C 8001701C 480007D8 */ b lbl_800177F4 -.global lbl_80017020 -lbl_80017020: -/* 011A80 80017020 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011A84 80017024 3860000D */ li r3, 0xd -/* 011A88 80017028 4BFF2A09 */ bl simulatorDrawErrorMessageWait -/* 011A8C 8001702C 2C030001 */ cmpwi r3, 1 -/* 011A90 80017030 40820014 */ bne lbl_80017044 -/* 011A94 80017034 38000008 */ li r0, 8 -/* 011A98 80017038 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011A9C 8001703C 93FE0000 */ stw r31, 0(r30) -/* 011AA0 80017040 480007B4 */ b lbl_800177F4 -lbl_80017044: -/* 011AA4 80017044 38000007 */ li r0, 7 -/* 011AA8 80017048 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011AAC 8001704C 93FE0000 */ stw r31, 0(r30) -/* 011AB0 80017050 480007A4 */ b lbl_800177F4 -.global lbl_80017054 -lbl_80017054: -/* 011AB4 80017054 3860000E */ li r3, 0xe -/* 011AB8 80017058 4BFF29D9 */ bl simulatorDrawErrorMessageWait -/* 011ABC 8001705C 2C030001 */ cmpwi r3, 1 -/* 011AC0 80017060 40820794 */ bne lbl_800177F4 -/* 011AC4 80017064 38000009 */ li r0, 9 -/* 011AC8 80017068 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011ACC 8001706C 93FE0000 */ stw r31, 0(r30) -/* 011AD0 80017070 48000784 */ b lbl_800177F4 -.global lbl_80017074 -lbl_80017074: -/* 011AD4 80017074 3860000F */ li r3, 0xf -/* 011AD8 80017078 4BFF29B9 */ bl simulatorDrawErrorMessageWait -/* 011ADC 8001707C 2C030001 */ cmpwi r3, 1 -/* 011AE0 80017080 40820774 */ bne lbl_800177F4 -/* 011AE4 80017084 38600000 */ li r3, 0 -/* 011AE8 80017088 3800000A */ li r0, 0xa -/* 011AEC 8001708C 906D8984 */ stw r3, yes@sda21(r13) -/* 011AF0 80017090 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011AF4 80017094 93FE0000 */ stw r31, 0(r30) -/* 011AF8 80017098 4800075C */ b lbl_800177F4 -.global lbl_8001709C -lbl_8001709C: -/* 011AFC 8001709C 38600010 */ li r3, 0x10 -/* 011B00 800170A0 388D8984 */ addi r4, r13, yes@sda21 -/* 011B04 800170A4 4BFF5AD9 */ bl simulatorDrawYesNoMessage -/* 011B08 800170A8 2C030001 */ cmpwi r3, 1 -/* 011B0C 800170AC 40820748 */ bne lbl_800177F4 -/* 011B10 800170B0 800D8984 */ lwz r0, yes@sda21(r13) -/* 011B14 800170B4 2C000001 */ cmpwi r0, 1 -/* 011B18 800170B8 40820018 */ bne lbl_800170D0 -/* 011B1C 800170BC 38000000 */ li r0, 0 -/* 011B20 800170C0 900D8988 */ stw r0, prevMenuEntry@sda21(r13) -/* 011B24 800170C4 38000002 */ li r0, 2 -/* 011B28 800170C8 901E0000 */ stw r0, 0(r30) -/* 011B2C 800170CC 48000728 */ b lbl_800177F4 -lbl_800170D0: -/* 011B30 800170D0 38600000 */ li r3, 0 -/* 011B34 800170D4 3800000B */ li r0, 0xb -/* 011B38 800170D8 906D8984 */ stw r3, yes@sda21(r13) -/* 011B3C 800170DC 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011B40 800170E0 93FE0000 */ stw r31, 0(r30) -/* 011B44 800170E4 48000710 */ b lbl_800177F4 -.global lbl_800170E8 -lbl_800170E8: -/* 011B48 800170E8 38600011 */ li r3, 0x11 -/* 011B4C 800170EC 388D8984 */ addi r4, r13, yes@sda21 -/* 011B50 800170F0 4BFF5A8D */ bl simulatorDrawYesNoMessage -/* 011B54 800170F4 2C030001 */ cmpwi r3, 1 -/* 011B58 800170F8 408206FC */ bne lbl_800177F4 -/* 011B5C 800170FC 38800000 */ li r4, 0 -/* 011B60 80017100 909D07AC */ stw r4, 0x7ac(r29) -/* 011B64 80017104 3860000B */ li r3, 0xb -/* 011B68 80017108 800D8984 */ lwz r0, yes@sda21(r13) -/* 011B6C 8001710C 906D898C */ stw r3, nextMenuEntry@sda21(r13) -/* 011B70 80017110 2C000001 */ cmpwi r0, 1 -/* 011B74 80017114 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011B78 80017118 40820014 */ bne lbl_8001712C -/* 011B7C 8001711C 909D07B0 */ stw r4, 0x7b0(r29) -/* 011B80 80017120 38000003 */ li r0, 3 -/* 011B84 80017124 901E0000 */ stw r0, 0(r30) -/* 011B88 80017128 480006CC */ b lbl_800177F4 -lbl_8001712C: -/* 011B8C 8001712C 93FE0000 */ stw r31, 0(r30) -/* 011B90 80017130 480006C4 */ b lbl_800177F4 -.global lbl_80017134 -lbl_80017134: -/* 011B94 80017134 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011B98 80017138 3860001D */ li r3, 0x1d -/* 011B9C 8001713C 4BFF28F5 */ bl simulatorDrawErrorMessageWait -/* 011BA0 80017140 2C030001 */ cmpwi r3, 1 -/* 011BA4 80017144 408206B0 */ bne lbl_800177F4 -/* 011BA8 80017148 3800000D */ li r0, 0xd -/* 011BAC 8001714C 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011BB0 80017150 93FE0000 */ stw r31, 0(r30) -/* 011BB4 80017154 480006A0 */ b lbl_800177F4 -.global lbl_80017158 -lbl_80017158: -/* 011BB8 80017158 3860001E */ li r3, 0x1e -/* 011BBC 8001715C 4BFF28D5 */ bl simulatorDrawErrorMessageWait -/* 011BC0 80017160 2C030001 */ cmpwi r3, 1 -/* 011BC4 80017164 40820690 */ bne lbl_800177F4 -/* 011BC8 80017168 38600000 */ li r3, 0 -/* 011BCC 8001716C 3800000B */ li r0, 0xb -/* 011BD0 80017170 906D8984 */ stw r3, yes@sda21(r13) -/* 011BD4 80017174 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011BD8 80017178 93FE0000 */ stw r31, 0(r30) -/* 011BDC 8001717C 48000678 */ b lbl_800177F4 -.global lbl_80017180 -lbl_80017180: -/* 011BE0 80017180 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011BE4 80017184 3860001F */ li r3, 0x1f -/* 011BE8 80017188 4BFF28A9 */ bl simulatorDrawErrorMessageWait -/* 011BEC 8001718C 2C030001 */ cmpwi r3, 1 -/* 011BF0 80017190 40820664 */ bne lbl_800177F4 -/* 011BF4 80017194 38000020 */ li r0, 0x20 -/* 011BF8 80017198 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011BFC 8001719C 93FD07B0 */ stw r31, 0x7b0(r29) -/* 011C00 800171A0 93FE0000 */ stw r31, 0(r30) -/* 011C04 800171A4 48000650 */ b lbl_800177F4 -.global lbl_800171A8 -lbl_800171A8: -/* 011C08 800171A8 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011C0C 800171AC 38600020 */ li r3, 0x20 -/* 011C10 800171B0 4BFF2881 */ bl simulatorDrawErrorMessageWait -/* 011C14 800171B4 2C030001 */ cmpwi r3, 1 -/* 011C18 800171B8 4082063C */ bne lbl_800177F4 -/* 011C1C 800171BC 38000020 */ li r0, 0x20 -/* 011C20 800171C0 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011C24 800171C4 93FE0000 */ stw r31, 0(r30) -/* 011C28 800171C8 4800062C */ b lbl_800177F4 -.global lbl_800171CC -lbl_800171CC: -/* 011C2C 800171CC 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011C30 800171D0 38600021 */ li r3, 0x21 -/* 011C34 800171D4 4BFF285D */ bl simulatorDrawErrorMessageWait -/* 011C38 800171D8 2C030001 */ cmpwi r3, 1 -/* 011C3C 800171DC 40820618 */ bne lbl_800177F4 -/* 011C40 800171E0 38000020 */ li r0, 0x20 -/* 011C44 800171E4 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011C48 800171E8 93FE0000 */ stw r31, 0(r30) -/* 011C4C 800171EC 48000608 */ b lbl_800177F4 -.global lbl_800171F0 -lbl_800171F0: -/* 011C50 800171F0 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011C54 800171F4 38600022 */ li r3, 0x22 -/* 011C58 800171F8 4BFF2839 */ bl simulatorDrawErrorMessageWait -/* 011C5C 800171FC 2C030001 */ cmpwi r3, 1 -/* 011C60 80017200 408205F4 */ bne lbl_800177F4 -/* 011C64 80017204 38600000 */ li r3, 0 -/* 011C68 80017208 38000012 */ li r0, 0x12 -/* 011C6C 8001720C 906D8984 */ stw r3, yes@sda21(r13) -/* 011C70 80017210 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011C74 80017214 93FE0000 */ stw r31, 0(r30) -/* 011C78 80017218 480005DC */ b lbl_800177F4 -.global lbl_8001721C -lbl_8001721C: -/* 011C7C 8001721C 3860000C */ li r3, 0xc -/* 011C80 80017220 388D8984 */ addi r4, r13, yes@sda21 -/* 011C84 80017224 4BFF5959 */ bl simulatorDrawYesNoMessage -/* 011C88 80017228 2C030001 */ cmpwi r3, 1 -/* 011C8C 8001722C 408205C8 */ bne lbl_800177F4 -/* 011C90 80017230 800D8984 */ lwz r0, yes@sda21(r13) -/* 011C94 80017234 2C000001 */ cmpwi r0, 1 -/* 011C98 80017238 4082001C */ bne lbl_80017254 -/* 011C9C 8001723C 38600000 */ li r3, 0 -/* 011CA0 80017240 38000022 */ li r0, 0x22 -/* 011CA4 80017244 906D8984 */ stw r3, yes@sda21(r13) -/* 011CA8 80017248 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011CAC 8001724C 93FE0000 */ stw r31, 0(r30) -/* 011CB0 80017250 480005A4 */ b lbl_800177F4 -lbl_80017254: -/* 011CB4 80017254 3800001E */ li r0, 0x1e -/* 011CB8 80017258 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011CBC 8001725C 93FE0000 */ stw r31, 0(r30) -/* 011CC0 80017260 48000594 */ b lbl_800177F4 -.global lbl_80017264 -lbl_80017264: -/* 011CC4 80017264 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011CC8 80017268 38600023 */ li r3, 0x23 -/* 011CCC 8001726C 4BFF27C5 */ bl simulatorDrawErrorMessageWait -/* 011CD0 80017270 2C030001 */ cmpwi r3, 1 -/* 011CD4 80017274 40820580 */ bne lbl_800177F4 -/* 011CD8 80017278 38000014 */ li r0, 0x14 -/* 011CDC 8001727C 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011CE0 80017280 93FE0000 */ stw r31, 0(r30) -/* 011CE4 80017284 48000570 */ b lbl_800177F4 -.global lbl_80017288 -lbl_80017288: -/* 011CE8 80017288 38600024 */ li r3, 0x24 -/* 011CEC 8001728C 4BFF27A5 */ bl simulatorDrawErrorMessageWait -/* 011CF0 80017290 2C030001 */ cmpwi r3, 1 -/* 011CF4 80017294 40820560 */ bne lbl_800177F4 -/* 011CF8 80017298 38000015 */ li r0, 0x15 -/* 011CFC 8001729C 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011D00 800172A0 93FE0000 */ stw r31, 0(r30) -/* 011D04 800172A4 48000550 */ b lbl_800177F4 -.global lbl_800172A8 -lbl_800172A8: -/* 011D08 800172A8 38600025 */ li r3, 0x25 -/* 011D0C 800172AC 4BFF2785 */ bl simulatorDrawErrorMessageWait -/* 011D10 800172B0 2C030001 */ cmpwi r3, 1 -/* 011D14 800172B4 40820540 */ bne lbl_800177F4 -/* 011D18 800172B8 38600000 */ li r3, 0 -/* 011D1C 800172BC 38000016 */ li r0, 0x16 -/* 011D20 800172C0 906D8984 */ stw r3, yes@sda21(r13) -/* 011D24 800172C4 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011D28 800172C8 93FE0000 */ stw r31, 0(r30) -/* 011D2C 800172CC 48000528 */ b lbl_800177F4 -.global lbl_800172D0 -lbl_800172D0: -/* 011D30 800172D0 38600026 */ li r3, 0x26 -/* 011D34 800172D4 388D8984 */ addi r4, r13, yes@sda21 -/* 011D38 800172D8 4BFF58A5 */ bl simulatorDrawYesNoMessage -/* 011D3C 800172DC 2C030001 */ cmpwi r3, 1 -/* 011D40 800172E0 40820514 */ bne lbl_800177F4 -/* 011D44 800172E4 800D8984 */ lwz r0, yes@sda21(r13) -/* 011D48 800172E8 2C000001 */ cmpwi r0, 1 -/* 011D4C 800172EC 4082001C */ bne lbl_80017308 -/* 011D50 800172F0 38600000 */ li r3, 0 -/* 011D54 800172F4 38000017 */ li r0, 0x17 -/* 011D58 800172F8 906D8984 */ stw r3, yes@sda21(r13) -/* 011D5C 800172FC 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011D60 80017300 93FE0000 */ stw r31, 0(r30) -/* 011D64 80017304 480004F0 */ b lbl_800177F4 -lbl_80017308: -/* 011D68 80017308 38600000 */ li r3, 0 -/* 011D6C 8001730C 3800000B */ li r0, 0xb -/* 011D70 80017310 906D8984 */ stw r3, yes@sda21(r13) -/* 011D74 80017314 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011D78 80017318 93FE0000 */ stw r31, 0(r30) -/* 011D7C 8001731C 480004D8 */ b lbl_800177F4 -.global lbl_80017320 -lbl_80017320: -/* 011D80 80017320 38600027 */ li r3, 0x27 -/* 011D84 80017324 388D8984 */ addi r4, r13, yes@sda21 -/* 011D88 80017328 4BFF5855 */ bl simulatorDrawYesNoMessage -/* 011D8C 8001732C 2C030001 */ cmpwi r3, 1 -/* 011D90 80017330 408204C4 */ bne lbl_800177F4 -/* 011D94 80017334 800D8984 */ lwz r0, yes@sda21(r13) -/* 011D98 80017338 2C000001 */ cmpwi r0, 1 -/* 011D9C 8001733C 40820018 */ bne lbl_80017354 -/* 011DA0 80017340 38000000 */ li r0, 0 -/* 011DA4 80017344 900D8988 */ stw r0, prevMenuEntry@sda21(r13) -/* 011DA8 80017348 38000002 */ li r0, 2 -/* 011DAC 8001734C 901E0000 */ stw r0, 0(r30) -/* 011DB0 80017350 480004A4 */ b lbl_800177F4 -lbl_80017354: -/* 011DB4 80017354 38000000 */ li r0, 0 -/* 011DB8 80017358 900D8984 */ stw r0, yes@sda21(r13) -/* 011DBC 8001735C 900D8988 */ stw r0, prevMenuEntry@sda21(r13) -/* 011DC0 80017360 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011DC4 80017364 93FE0000 */ stw r31, 0(r30) -/* 011DC8 80017368 4800048C */ b lbl_800177F4 -.global lbl_8001736C -lbl_8001736C: -/* 011DCC 8001736C 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011DD0 80017370 38600028 */ li r3, 0x28 -/* 011DD4 80017374 4BFF26BD */ bl simulatorDrawErrorMessageWait -/* 011DD8 80017378 2C030001 */ cmpwi r3, 1 -/* 011DDC 8001737C 40820478 */ bne lbl_800177F4 -/* 011DE0 80017380 38600000 */ li r3, 0 -/* 011DE4 80017384 3800000B */ li r0, 0xb -/* 011DE8 80017388 906D8984 */ stw r3, yes@sda21(r13) -/* 011DEC 8001738C 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011DF0 80017390 93FE0000 */ stw r31, 0(r30) -/* 011DF4 80017394 48000460 */ b lbl_800177F4 -.global lbl_80017398 -lbl_80017398: -/* 011DF8 80017398 3860001A */ li r3, 0x1a -/* 011DFC 8001739C 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011E00 800173A0 38000000 */ li r0, 0 -/* 011E04 800173A4 906D898C */ stw r3, nextMenuEntry@sda21(r13) -/* 011E08 800173A8 900D8984 */ stw r0, yes@sda21(r13) -/* 011E0C 800173AC 48000448 */ b lbl_800177F4 -.global lbl_800173B0 -lbl_800173B0: -/* 011E10 800173B0 38600029 */ li r3, 0x29 -/* 011E14 800173B4 388D8984 */ addi r4, r13, yes@sda21 -/* 011E18 800173B8 4BFF57C5 */ bl simulatorDrawYesNoMessage -/* 011E1C 800173BC 2C030001 */ cmpwi r3, 1 -/* 011E20 800173C0 40820434 */ bne lbl_800177F4 -/* 011E24 800173C4 800D8984 */ lwz r0, yes@sda21(r13) -/* 011E28 800173C8 2C000001 */ cmpwi r0, 1 -/* 011E2C 800173CC 40820010 */ bne lbl_800173DC -/* 011E30 800173D0 38000005 */ li r0, 5 -/* 011E34 800173D4 901E0000 */ stw r0, 0(r30) -/* 011E38 800173D8 4800041C */ b lbl_800177F4 -lbl_800173DC: -/* 011E3C 800173DC 38600000 */ li r3, 0 -/* 011E40 800173E0 3800000B */ li r0, 0xb -/* 011E44 800173E4 906D8984 */ stw r3, yes@sda21(r13) -/* 011E48 800173E8 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011E4C 800173EC 93FE0000 */ stw r31, 0(r30) -/* 011E50 800173F0 48000404 */ b lbl_800177F4 -.global lbl_800173F4 -lbl_800173F4: -/* 011E54 800173F4 3860001C */ li r3, 0x1c -/* 011E58 800173F8 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011E5C 800173FC 38000000 */ li r0, 0 -/* 011E60 80017400 906D898C */ stw r3, nextMenuEntry@sda21(r13) -/* 011E64 80017404 900D8984 */ stw r0, yes@sda21(r13) -/* 011E68 80017408 480003EC */ b lbl_800177F4 -.global lbl_8001740C -lbl_8001740C: -/* 011E6C 8001740C 38600029 */ li r3, 0x29 -/* 011E70 80017410 388D8984 */ addi r4, r13, yes@sda21 -/* 011E74 80017414 4BFF5769 */ bl simulatorDrawYesNoMessage -/* 011E78 80017418 2C030001 */ cmpwi r3, 1 -/* 011E7C 8001741C 408203D8 */ bne lbl_800177F4 -/* 011E80 80017420 800D8984 */ lwz r0, yes@sda21(r13) -/* 011E84 80017424 2C000001 */ cmpwi r0, 1 -/* 011E88 80017428 40820018 */ bne lbl_80017440 -/* 011E8C 8001742C 38000000 */ li r0, 0 -/* 011E90 80017430 900D8988 */ stw r0, prevMenuEntry@sda21(r13) -/* 011E94 80017434 38000005 */ li r0, 5 -/* 011E98 80017438 901E0000 */ stw r0, 0(r30) -/* 011E9C 8001743C 480003B8 */ b lbl_800177F4 -lbl_80017440: -/* 011EA0 80017440 38600000 */ li r3, 0 -/* 011EA4 80017444 3800000B */ li r0, 0xb -/* 011EA8 80017448 906D8984 */ stw r3, yes@sda21(r13) -/* 011EAC 8001744C 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011EB0 80017450 93FE0000 */ stw r31, 0(r30) -/* 011EB4 80017454 480003A0 */ b lbl_800177F4 -.global lbl_80017458 -lbl_80017458: -/* 011EB8 80017458 93FD07AC */ stw r31, 0x7ac(r29) -/* 011EBC 8001745C 3860002B */ li r3, 0x2b -/* 011EC0 80017460 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011EC4 80017464 908D898C */ stw r4, nextMenuEntry@sda21(r13) -/* 011EC8 80017468 4BFF25C9 */ bl simulatorDrawErrorMessageWait -/* 011ECC 8001746C 2C030001 */ cmpwi r3, 1 -/* 011ED0 80017470 40820384 */ bne lbl_800177F4 -/* 011ED4 80017474 38000000 */ li r0, 0 -/* 011ED8 80017478 901D07AC */ stw r0, 0x7ac(r29) -/* 011EDC 8001747C 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011EE0 80017480 900D8988 */ stw r0, prevMenuEntry@sda21(r13) -/* 011EE4 80017484 93FE0000 */ stw r31, 0(r30) -/* 011EE8 80017488 4800036C */ b lbl_800177F4 -.global lbl_8001748C -lbl_8001748C: -/* 011EEC 8001748C 3860002C */ li r3, 0x2c -/* 011EF0 80017490 4BFF25A1 */ bl simulatorDrawErrorMessageWait -/* 011EF4 80017494 2C030001 */ cmpwi r3, 1 -/* 011EF8 80017498 4082035C */ bne lbl_800177F4 -/* 011EFC 8001749C 38000020 */ li r0, 0x20 -/* 011F00 800174A0 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011F04 800174A4 93FE0000 */ stw r31, 0(r30) -/* 011F08 800174A8 4800034C */ b lbl_800177F4 -.global lbl_800174AC -lbl_800174AC: -/* 011F0C 800174AC 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 011F10 800174B0 3860002D */ li r3, 0x2d -/* 011F14 800174B4 93FD07AC */ stw r31, 0x7ac(r29) -/* 011F18 800174B8 4BFF2579 */ bl simulatorDrawErrorMessageWait -/* 011F1C 800174BC 2C030001 */ cmpwi r3, 1 -/* 011F20 800174C0 40820334 */ bne lbl_800177F4 -/* 011F24 800174C4 38600000 */ li r3, 0 -/* 011F28 800174C8 907D07AC */ stw r3, 0x7ac(r29) -/* 011F2C 800174CC 38000003 */ li r0, 3 -/* 011F30 800174D0 906D8988 */ stw r3, prevMenuEntry@sda21(r13) -/* 011F34 800174D4 901E0000 */ stw r0, 0(r30) -/* 011F38 800174D8 4800031C */ b lbl_800177F4 -.global lbl_800174DC -lbl_800174DC: -/* 011F3C 800174DC 3860002E */ li r3, 0x2e -/* 011F40 800174E0 4BFF2551 */ bl simulatorDrawErrorMessageWait -/* 011F44 800174E4 2C030001 */ cmpwi r3, 1 -/* 011F48 800174E8 4082030C */ bne lbl_800177F4 -/* 011F4C 800174EC 38600000 */ li r3, 0 -/* 011F50 800174F0 3800000B */ li r0, 0xb -/* 011F54 800174F4 906D8984 */ stw r3, yes@sda21(r13) -/* 011F58 800174F8 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011F5C 800174FC 93FE0000 */ stw r31, 0(r30) -/* 011F60 80017500 480002F4 */ b lbl_800177F4 -.global lbl_80017504 -lbl_80017504: -/* 011F64 80017504 38600018 */ li r3, 0x18 -/* 011F68 80017508 388D8984 */ addi r4, r13, yes@sda21 -/* 011F6C 8001750C 4BFF5671 */ bl simulatorDrawYesNoMessage -/* 011F70 80017510 2C030001 */ cmpwi r3, 1 -/* 011F74 80017514 408202E0 */ bne lbl_800177F4 -/* 011F78 80017518 800D8984 */ lwz r0, yes@sda21(r13) -/* 011F7C 8001751C 2C000001 */ cmpwi r0, 1 -/* 011F80 80017520 40820018 */ bne lbl_80017538 -/* 011F84 80017524 38000000 */ li r0, 0 -/* 011F88 80017528 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011F8C 8001752C 38000006 */ li r0, 6 -/* 011F90 80017530 901E0000 */ stw r0, 0(r30) -/* 011F94 80017534 480002C0 */ b lbl_800177F4 -lbl_80017538: -/* 011F98 80017538 38000027 */ li r0, 0x27 -/* 011F9C 8001753C 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011FA0 80017540 93FE0000 */ stw r31, 0(r30) -/* 011FA4 80017544 480002B0 */ b lbl_800177F4 -.global lbl_80017548 -lbl_80017548: -/* 011FA8 80017548 38600018 */ li r3, 0x18 -/* 011FAC 8001754C 388D8984 */ addi r4, r13, yes@sda21 -/* 011FB0 80017550 4BFF562D */ bl simulatorDrawYesNoMessage -/* 011FB4 80017554 2C030001 */ cmpwi r3, 1 -/* 011FB8 80017558 4082029C */ bne lbl_800177F4 -/* 011FBC 8001755C 800D8984 */ lwz r0, yes@sda21(r13) -/* 011FC0 80017560 2C000001 */ cmpwi r0, 1 -/* 011FC4 80017564 4082001C */ bne lbl_80017580 -/* 011FC8 80017568 38600000 */ li r3, 0 -/* 011FCC 8001756C 906D8988 */ stw r3, prevMenuEntry@sda21(r13) -/* 011FD0 80017570 38000006 */ li r0, 6 -/* 011FD4 80017574 906D898C */ stw r3, nextMenuEntry@sda21(r13) -/* 011FD8 80017578 901E0000 */ stw r0, 0(r30) -/* 011FDC 8001757C 48000278 */ b lbl_800177F4 -lbl_80017580: -/* 011FE0 80017580 3800001E */ li r0, 0x1e -/* 011FE4 80017584 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 011FE8 80017588 93FE0000 */ stw r31, 0(r30) -/* 011FEC 8001758C 48000268 */ b lbl_800177F4 -.global lbl_80017590 -lbl_80017590: -/* 011FF0 80017590 93FD07AC */ stw r31, 0x7ac(r29) -/* 011FF4 80017594 3860001A */ li r3, 0x1a -/* 011FF8 80017598 4BFF2499 */ bl simulatorDrawErrorMessageWait -/* 011FFC 8001759C 2C030001 */ cmpwi r3, 1 -/* 012000 800175A0 40820254 */ bne lbl_800177F4 -/* 012004 800175A4 38000000 */ li r0, 0 -/* 012008 800175A8 901D07AC */ stw r0, 0x7ac(r29) -/* 01200C 800175AC 900D8988 */ stw r0, prevMenuEntry@sda21(r13) -/* 012010 800175B0 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 012014 800175B4 93FE0000 */ stw r31, 0(r30) -/* 012018 800175B8 4800023C */ b lbl_800177F4 -.global lbl_800175BC -lbl_800175BC: -/* 01201C 800175BC 93FD07AC */ stw r31, 0x7ac(r29) -/* 012020 800175C0 3860001B */ li r3, 0x1b -/* 012024 800175C4 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 012028 800175C8 908D898C */ stw r4, nextMenuEntry@sda21(r13) -/* 01202C 800175CC 4BFF2465 */ bl simulatorDrawErrorMessageWait -/* 012030 800175D0 2C030001 */ cmpwi r3, 1 -/* 012034 800175D4 40820220 */ bne lbl_800177F4 -/* 012038 800175D8 38000002 */ li r0, 2 -/* 01203C 800175DC 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 012040 800175E0 93FE0000 */ stw r31, 0(r30) -/* 012044 800175E4 48000210 */ b lbl_800177F4 -.global lbl_800175E8 -lbl_800175E8: -/* 012048 800175E8 93FD07AC */ stw r31, 0x7ac(r29) -/* 01204C 800175EC 3860001B */ li r3, 0x1b -/* 012050 800175F0 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 012054 800175F4 908D898C */ stw r4, nextMenuEntry@sda21(r13) -/* 012058 800175F8 4BFF2439 */ bl simulatorDrawErrorMessageWait -/* 01205C 800175FC 2C030001 */ cmpwi r3, 1 -/* 012060 80017600 408201F4 */ bne lbl_800177F4 -/* 012064 80017604 3800000E */ li r0, 0xe -/* 012068 80017608 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 01206C 8001760C 93FE0000 */ stw r31, 0(r30) -/* 012070 80017610 480001E4 */ b lbl_800177F4 -.global lbl_80017614 -lbl_80017614: -/* 012074 80017614 3860001C */ li r3, 0x1c -/* 012078 80017618 4BFF2419 */ bl simulatorDrawErrorMessageWait -/* 01207C 8001761C 2C030001 */ cmpwi r3, 1 -/* 012080 80017620 408201D4 */ bne lbl_800177F4 -/* 012084 80017624 38600000 */ li r3, 0 -/* 012088 80017628 3800000B */ li r0, 0xb -/* 01208C 8001762C 906D8984 */ stw r3, yes@sda21(r13) -/* 012090 80017630 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 012094 80017634 93FE0000 */ stw r31, 0(r30) -/* 012098 80017638 480001BC */ b lbl_800177F4 -.global lbl_8001763C -lbl_8001763C: -/* 01209C 8001763C 38600000 */ li r3, 0 -/* 0120A0 80017640 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 0120A4 80017644 38000029 */ li r0, 0x29 -/* 0120A8 80017648 906D8984 */ stw r3, yes@sda21(r13) -/* 0120AC 8001764C 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 0120B0 80017650 480001A4 */ b lbl_800177F4 -.global lbl_80017654 -lbl_80017654: -/* 0120B4 80017654 38600012 */ li r3, 0x12 -/* 0120B8 80017658 388D8984 */ addi r4, r13, yes@sda21 -/* 0120BC 8001765C 4BFF5521 */ bl simulatorDrawYesNoMessage -/* 0120C0 80017660 2C030001 */ cmpwi r3, 1 -/* 0120C4 80017664 40820190 */ bne lbl_800177F4 -/* 0120C8 80017668 800D8984 */ lwz r0, yes@sda21(r13) -/* 0120CC 8001766C 2C000001 */ cmpwi r0, 1 -/* 0120D0 80017670 4082001C */ bne lbl_8001768C -/* 0120D4 80017674 38600000 */ li r3, 0 -/* 0120D8 80017678 906D8988 */ stw r3, prevMenuEntry@sda21(r13) -/* 0120DC 8001767C 38000004 */ li r0, 4 -/* 0120E0 80017680 906D898C */ stw r3, nextMenuEntry@sda21(r13) -/* 0120E4 80017684 901E0000 */ stw r0, 0(r30) -/* 0120E8 80017688 4800016C */ b lbl_800177F4 -lbl_8001768C: -/* 0120EC 8001768C 38000031 */ li r0, 0x31 -/* 0120F0 80017690 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 0120F4 80017694 93FE0000 */ stw r31, 0(r30) -/* 0120F8 80017698 4800015C */ b lbl_800177F4 -.global lbl_8001769C -lbl_8001769C: -/* 0120FC 8001769C 38600000 */ li r3, 0 -/* 012100 800176A0 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 012104 800176A4 3800002B */ li r0, 0x2b -/* 012108 800176A8 906D8984 */ stw r3, yes@sda21(r13) -/* 01210C 800176AC 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 012110 800176B0 48000144 */ b lbl_800177F4 -.global lbl_800176B4 -lbl_800176B4: -/* 012114 800176B4 38600012 */ li r3, 0x12 -/* 012118 800176B8 388D8984 */ addi r4, r13, yes@sda21 -/* 01211C 800176BC 4BFF54C1 */ bl simulatorDrawYesNoMessage -/* 012120 800176C0 2C030001 */ cmpwi r3, 1 -/* 012124 800176C4 40820130 */ bne lbl_800177F4 -/* 012128 800176C8 800D8984 */ lwz r0, yes@sda21(r13) -/* 01212C 800176CC 2C000001 */ cmpwi r0, 1 -/* 012130 800176D0 4082001C */ bne lbl_800176EC -/* 012134 800176D4 38600000 */ li r3, 0 -/* 012138 800176D8 906D8988 */ stw r3, prevMenuEntry@sda21(r13) -/* 01213C 800176DC 38000004 */ li r0, 4 -/* 012140 800176E0 906D898C */ stw r3, nextMenuEntry@sda21(r13) -/* 012144 800176E4 901E0000 */ stw r0, 0(r30) -/* 012148 800176E8 4800010C */ b lbl_800177F4 -lbl_800176EC: -/* 01214C 800176EC 38000030 */ li r0, 0x30 -/* 012150 800176F0 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 012154 800176F4 93FE0000 */ stw r31, 0(r30) -/* 012158 800176F8 480000FC */ b lbl_800177F4 -.global lbl_800176FC -lbl_800176FC: -/* 01215C 800176FC 93FD07AC */ stw r31, 0x7ac(r29) -/* 012160 80017700 38600014 */ li r3, 0x14 -/* 012164 80017704 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 012168 80017708 908D898C */ stw r4, nextMenuEntry@sda21(r13) -/* 01216C 8001770C 4BFF2325 */ bl simulatorDrawErrorMessageWait -/* 012170 80017710 2C030001 */ cmpwi r3, 1 -/* 012174 80017714 408200E0 */ bne lbl_800177F4 -/* 012178 80017718 38000000 */ li r0, 0 -/* 01217C 8001771C 901D07AC */ stw r0, 0x7ac(r29) -/* 012180 80017720 38600030 */ li r3, 0x30 -/* 012184 80017724 38000003 */ li r0, 3 -/* 012188 80017728 906D898C */ stw r3, nextMenuEntry@sda21(r13) -/* 01218C 8001772C 901E0000 */ stw r0, 0(r30) -/* 012190 80017730 480000C4 */ b lbl_800177F4 -.global lbl_80017734 -lbl_80017734: -/* 012194 80017734 93FD07AC */ stw r31, 0x7ac(r29) -/* 012198 80017738 38600015 */ li r3, 0x15 -/* 01219C 8001773C 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 0121A0 80017740 908D898C */ stw r4, nextMenuEntry@sda21(r13) -/* 0121A4 80017744 4BFF22ED */ bl simulatorDrawErrorMessageWait -/* 0121A8 80017748 2C030001 */ cmpwi r3, 1 -/* 0121AC 8001774C 408200A8 */ bne lbl_800177F4 -/* 0121B0 80017750 38000000 */ li r0, 0 -/* 0121B4 80017754 901D07AC */ stw r0, 0x7ac(r29) -/* 0121B8 80017758 900D8988 */ stw r0, prevMenuEntry@sda21(r13) -/* 0121BC 8001775C 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 0121C0 80017760 93FE0000 */ stw r31, 0(r30) -/* 0121C4 80017764 48000090 */ b lbl_800177F4 -.global lbl_80017768 -lbl_80017768: -/* 0121C8 80017768 93FD07AC */ stw r31, 0x7ac(r29) -/* 0121CC 8001776C 38600015 */ li r3, 0x15 -/* 0121D0 80017770 908D8988 */ stw r4, prevMenuEntry@sda21(r13) -/* 0121D4 80017774 908D898C */ stw r4, nextMenuEntry@sda21(r13) -/* 0121D8 80017778 4BFF22B9 */ bl simulatorDrawErrorMessageWait -/* 0121DC 8001777C 2C030001 */ cmpwi r3, 1 -/* 0121E0 80017780 40820074 */ bne lbl_800177F4 -/* 0121E4 80017784 38000000 */ li r0, 0 -/* 0121E8 80017788 901D07AC */ stw r0, 0x7ac(r29) -/* 0121EC 8001778C 900D8988 */ stw r0, prevMenuEntry@sda21(r13) -/* 0121F0 80017790 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 0121F4 80017794 93FE0000 */ stw r31, 0(r30) -/* 0121F8 80017798 4800005C */ b lbl_800177F4 -.global lbl_8001779C -lbl_8001779C: -/* 0121FC 8001779C 38600016 */ li r3, 0x16 -/* 012200 800177A0 4BFF2291 */ bl simulatorDrawErrorMessageWait -/* 012204 800177A4 2C030001 */ cmpwi r3, 1 -/* 012208 800177A8 4082004C */ bne lbl_800177F4 -/* 01220C 800177AC 38600000 */ li r3, 0 -/* 012210 800177B0 3800000B */ li r0, 0xb -/* 012214 800177B4 906D8984 */ stw r3, yes@sda21(r13) -/* 012218 800177B8 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 01221C 800177BC 93FE0000 */ stw r31, 0(r30) -/* 012220 800177C0 48000034 */ b lbl_800177F4 -.global lbl_800177C4 -lbl_800177C4: -/* 012224 800177C4 38600017 */ li r3, 0x17 -/* 012228 800177C8 4BFF2269 */ bl simulatorDrawErrorMessageWait -/* 01222C 800177CC 2C030001 */ cmpwi r3, 1 -/* 012230 800177D0 40820024 */ bne lbl_800177F4 -/* 012234 800177D4 38600000 */ li r3, 0 -/* 012238 800177D8 3800000B */ li r0, 0xb -/* 01223C 800177DC 906D8984 */ stw r3, yes@sda21(r13) -/* 012240 800177E0 900D898C */ stw r0, nextMenuEntry@sda21(r13) -/* 012244 800177E4 93FE0000 */ stw r31, 0(r30) -/* 012248 800177E8 4800000C */ b lbl_800177F4 -.global lbl_800177EC -lbl_800177EC: -/* 01224C 800177EC 38600000 */ li r3, 0 -/* 012250 800177F0 48000008 */ b lbl_800177F8 -lbl_800177F4: -/* 012254 800177F4 38600001 */ li r3, 1 -lbl_800177F8: -/* 012258 800177F8 8001002C */ lwz r0, 0x2c(r1) -/* 01225C 800177FC 83E10024 */ lwz r31, 0x24(r1) -/* 012260 80017800 83C10020 */ lwz r30, 0x20(r1) -/* 012264 80017804 7C0803A6 */ mtlr r0 -/* 012268 80017808 83A1001C */ lwz r29, 0x1c(r1) -/* 01226C 8001780C 38210028 */ addi r1, r1, 0x28 -/* 012270 80017810 4E800020 */ blr - -.section .data - -jtbl_800EA668: - .word lbl_800177EC - .word lbl_80016EF8 - .word lbl_80016F24 - .word lbl_80016F54 - .word lbl_80016F80 - .word lbl_80016FAC - .word lbl_80016FD8 - .word lbl_80017020 - .word lbl_80017054 - .word lbl_80017074 - .word lbl_8001709C - .word lbl_800170E8 - .word lbl_80017134 - .word lbl_80017158 - .word lbl_80017180 - .word lbl_800171A8 - .word lbl_800171CC - .word lbl_800171F0 - .word lbl_8001721C - .word lbl_80017264 - .word lbl_80017288 - .word lbl_800172A8 - .word lbl_800172D0 - .word lbl_80017320 - .word lbl_8001736C - .word lbl_80017398 - .word lbl_800173B0 - .word lbl_800173F4 - .word lbl_8001740C - .word lbl_80017458 - .word lbl_8001748C - .word lbl_800174AC - .word lbl_800174DC - .word lbl_80017504 - .word lbl_80017548 - .word lbl_800177EC - .word lbl_80017590 - .word lbl_800175BC - .word lbl_800175E8 - .word lbl_80017614 - .word lbl_8001763C - .word lbl_80017654 - .word lbl_8001769C - .word lbl_800176B4 - .word lbl_800177EC - .word lbl_800176FC - .word lbl_80017734 - .word lbl_80017768 - .word lbl_8001779C - .word lbl_800177C4 diff --git a/asm/non_matchings/mcardGCN/mcardOpen.s b/asm/non_matchings/mcardGCN/mcardOpen.s deleted file mode 100644 index b98203c7..00000000 --- a/asm/non_matchings/mcardGCN/mcardOpen.s +++ /dev/null @@ -1,1707 +0,0 @@ -glabel mcardOpen -/* 00FBAC 8001514C 7C0802A6 */ mflr r0 -/* 00FBB0 80015150 90010004 */ stw r0, 4(r1) -/* 00FBB4 80015154 9421FF90 */ stwu r1, -0x70(r1) -/* 00FBB8 80015158 BE61003C */ stmw r19, 0x3c(r1) -/* 00FBBC 8001515C 7C7F1B78 */ mr r31, r3 -/* 00FBC0 80015160 3C60800F */ lis r3, D_800EA548@ha -/* 00FBC4 80015164 83C10078 */ lwz r30, 0x78(r1) -/* 00FBC8 80015168 3B63A548 */ addi r27, r3, D_800EA548@l -/* 00FBCC 8001516C 3B840000 */ addi r28, r4, 0 -/* 00FBD0 80015170 3B250000 */ addi r25, r5, 0 -/* 00FBD4 80015174 3AE60000 */ addi r23, r6, 0 -/* 00FBD8 80015178 3AC70000 */ addi r22, r7, 0 -/* 00FBDC 8001517C 3BA80000 */ addi r29, r8, 0 -/* 00FBE0 80015180 3AA90000 */ addi r21, r9, 0 -/* 00FBE4 80015184 3B4A0000 */ addi r26, r10, 0 -/* 00FBE8 80015188 387F0494 */ addi r3, r31, 0x494 -/* 00FBEC 8001518C 480BB81D */ bl strcpy -/* 00FBF0 80015190 387F0594 */ addi r3, r31, 0x594 -/* 00FBF4 80015194 38990000 */ addi r4, r25, 0 -/* 00FBF8 80015198 480BB811 */ bl strcpy -/* 00FBFC 8001519C 387F069C */ addi r3, r31, 0x69c -/* 00FC00 800151A0 389D0000 */ addi r4, r29, 0 -/* 00FC04 800151A4 480BB805 */ bl strcpy -/* 00FC08 800151A8 935F079C */ stw r26, 0x79c(r31) -/* 00FC0C 800151AC 38600000 */ li r3, 0 -/* 00FC10 800151B0 38000001 */ li r0, 1 -/* 00FC14 800151B4 93DF07A0 */ stw r30, 0x7a0(r31) -/* 00FC18 800151B8 3A9A6000 */ addi r20, r26, 0x6000 -/* 00FC1C 800151BC 80950000 */ lwz r4, 0(r21) -/* 00FC20 800151C0 909F07B4 */ stw r4, 0x7b4(r31) -/* 00FC24 800151C4 907F07A4 */ stw r3, 0x7a4(r31) -/* 00FC28 800151C8 907F0490 */ stw r3, 0x490(r31) -/* 00FC2C 800151CC 900D88F4 */ stw r0, gButtonDownToggle@sda21(r13) -/* 00FC30 800151D0 907F07AC */ stw r3, 0x7ac(r31) -lbl_800151D4: -/* 00FC34 800151D4 38600000 */ li r3, 0 -/* 00FC38 800151D8 38800000 */ li r4, 0 -/* 00FC3C 800151DC 38A00001 */ li r5, 1 -/* 00FC40 800151E0 38C00000 */ li r6, 0 -/* 00FC44 800151E4 4BFF39F9 */ bl simulatorTestReset -/* 00FC48 800151E8 2C030000 */ cmpwi r3, 0 -/* 00FC4C 800151EC 4082000C */ bne lbl_800151F8 -/* 00FC50 800151F0 38600000 */ li r3, 0 -/* 00FC54 800151F4 48001748 */ b lbl_8001693C -lbl_800151F8: -/* 00FC58 800151F8 3B000000 */ li r24, 0 -/* 00FC5C 800151FC 931F048C */ stw r24, 0x48c(r31) -/* 00FC60 80015200 387F0000 */ addi r3, r31, 0 -/* 00FC64 80015204 389C0000 */ addi r4, r28, 0 -/* 00FC68 80015208 48003E51 */ bl mcardFileSet -/* 00FC6C 8001520C 2C030000 */ cmpwi r3, 0 -/* 00FC70 80015210 40820BEC */ bne lbl_80015DFC -/* 00FC74 80015214 387F0000 */ addi r3, r31, 0 -/* 00FC78 80015218 38810034 */ addi r4, r1, 0x34 -/* 00FC7C 8001521C 48001B75 */ bl mcardOpenError -/* 00FC80 80015220 80C10034 */ lwz r6, 0x34(r1) -/* 00FC84 80015224 2C060006 */ cmpwi r6, 6 -/* 00FC88 80015228 40820048 */ bne lbl_80015270 -/* 00FC8C 8001522C 7FE3FB78 */ mr r3, r31 -/* 00FC90 80015230 480029F5 */ bl mcardCardErase -/* 00FC94 80015234 2C030000 */ cmpwi r3, 0 -/* 00FC98 80015238 40820024 */ bne lbl_8001525C -/* 00FC9C 8001523C 801F035C */ lwz r0, 0x35c(r31) -/* 00FCA0 80015240 2C000003 */ cmpwi r0, 3 -/* 00FCA4 80015244 4182FF90 */ beq lbl_800151D4 -/* 00FCA8 80015248 387F0000 */ addi r3, r31, 0 -/* 00FCAC 8001524C 38A10034 */ addi r5, r1, 0x34 -/* 00FCB0 80015250 38800025 */ li r4, 0x25 -/* 00FCB4 80015254 48001C1D */ bl mcardMenu -/* 00FCB8 80015258 4BFFFF7C */ b lbl_800151D4 -lbl_8001525C: -/* 00FCBC 8001525C 387F0000 */ addi r3, r31, 0 -/* 00FCC0 80015260 38A10034 */ addi r5, r1, 0x34 -/* 00FCC4 80015264 38800024 */ li r4, 0x24 -/* 00FCC8 80015268 48001C09 */ bl mcardMenu -/* 00FCCC 8001526C 4BFFFF68 */ b lbl_800151D4 -lbl_80015270: -/* 00FCD0 80015270 2C060005 */ cmpwi r6, 5 -/* 00FCD4 80015274 40820458 */ bne lbl_800156CC -/* 00FCD8 80015278 38600013 */ li r3, 0x13 -/* 00FCDC 8001527C 4BFF7F75 */ bl simulatorPrepareMessage -/* 00FCE0 80015280 7FE3FB78 */ mr r3, r31 -/* 00FCE4 80015284 48002811 */ bl mcardFileErase -/* 00FCE8 80015288 2C030000 */ cmpwi r3, 0 -/* 00FCEC 8001528C 40820118 */ bne lbl_800153A4 -/* 00FCF0 80015290 387F0000 */ addi r3, r31, 0 -/* 00FCF4 80015294 38810034 */ addi r4, r1, 0x34 -/* 00FCF8 80015298 48001AF9 */ bl mcardOpenError -/* 00FCFC 8001529C 80C10034 */ lwz r6, 0x34(r1) -/* 00FD00 800152A0 2C060001 */ cmpwi r6, 1 -/* 00FD04 800152A4 4182FF30 */ beq lbl_800151D4 -/* 00FD08 800152A8 2C060003 */ cmpwi r6, 3 -/* 00FD0C 800152AC 40820074 */ bne lbl_80015320 -/* 00FD10 800152B0 931F0470 */ stw r24, 0x470(r31) -/* 00FD14 800152B4 93DF0034 */ stw r30, 0x34(r31) -/* 00FD18 800152B8 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 00FD1C 800152BC 80030020 */ lwz r0, 0x20(r3) -/* 00FD20 800152C0 2C000004 */ cmpwi r0, 4 -/* 00FD24 800152C4 4082000C */ bne lbl_800152D0 -/* 00FD28 800152C8 38000001 */ li r0, 1 -/* 00FD2C 800152CC 901F0480 */ stw r0, 0x480(r31) -lbl_800152D0: -/* 00FD30 800152D0 38000001 */ li r0, 1 -/* 00FD34 800152D4 901F07A4 */ stw r0, 0x7a4(r31) -/* 00FD38 800152D8 801F003C */ lwz r0, 0x3c(r31) -/* 00FD3C 800152DC 28000000 */ cmplwi r0, 0 -/* 00FD40 800152E0 41820014 */ beq lbl_800152F4 -/* 00FD44 800152E4 387F003C */ addi r3, r31, 0x3c -/* 00FD48 800152E8 4BFF1DB1 */ bl xlHeapFree -/* 00FD4C 800152EC 2C030000 */ cmpwi r3, 0 -/* 00FD50 800152F0 41820028 */ beq lbl_80015318 -lbl_800152F4: -/* 00FD54 800152F4 387F003C */ addi r3, r31, 0x3c -/* 00FD58 800152F8 389E0000 */ addi r4, r30, 0 -/* 00FD5C 800152FC 4BFF1EB9 */ bl xlHeapTake -/* 00FD60 80015300 2C030000 */ cmpwi r3, 0 -/* 00FD64 80015304 41820014 */ beq lbl_80015318 -/* 00FD68 80015308 807F003C */ lwz r3, 0x3c(r31) -/* 00FD6C 8001530C 38BE0000 */ addi r5, r30, 0 -/* 00FD70 80015310 38800000 */ li r4, 0 -/* 00FD74 80015314 4BFF00BD */ bl memset -lbl_80015318: -/* 00FD78 80015318 38600001 */ li r3, 1 -/* 00FD7C 8001531C 48001620 */ b lbl_8001693C -lbl_80015320: -/* 00FD80 80015320 4CC63182 */ crclr 6 -/* 00FD84 80015324 387B001C */ addi r3, r27, 0x1c -/* 00FD88 80015328 389B0054 */ addi r4, r27, 0x54 -/* 00FD8C 8001532C 38A00DCC */ li r5, 0xdcc -/* 00FD90 80015330 4BFF0AE5 */ bl xlPostText -/* 00FD94 80015334 931F0470 */ stw r24, 0x470(r31) -/* 00FD98 80015338 93DF0034 */ stw r30, 0x34(r31) -/* 00FD9C 8001533C 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 00FDA0 80015340 80030020 */ lwz r0, 0x20(r3) -/* 00FDA4 80015344 2C000004 */ cmpwi r0, 4 -/* 00FDA8 80015348 4082000C */ bne lbl_80015354 -/* 00FDAC 8001534C 38000001 */ li r0, 1 -/* 00FDB0 80015350 901F0480 */ stw r0, 0x480(r31) -lbl_80015354: -/* 00FDB4 80015354 38000001 */ li r0, 1 -/* 00FDB8 80015358 901F07A4 */ stw r0, 0x7a4(r31) -/* 00FDBC 8001535C 801F003C */ lwz r0, 0x3c(r31) -/* 00FDC0 80015360 28000000 */ cmplwi r0, 0 -/* 00FDC4 80015364 41820014 */ beq lbl_80015378 -/* 00FDC8 80015368 387F003C */ addi r3, r31, 0x3c -/* 00FDCC 8001536C 4BFF1D2D */ bl xlHeapFree -/* 00FDD0 80015370 2C030000 */ cmpwi r3, 0 -/* 00FDD4 80015374 41820028 */ beq lbl_8001539C -lbl_80015378: -/* 00FDD8 80015378 387F003C */ addi r3, r31, 0x3c -/* 00FDDC 8001537C 389E0000 */ addi r4, r30, 0 -/* 00FDE0 80015380 4BFF1E35 */ bl xlHeapTake -/* 00FDE4 80015384 2C030000 */ cmpwi r3, 0 -/* 00FDE8 80015388 41820014 */ beq lbl_8001539C -/* 00FDEC 8001538C 807F003C */ lwz r3, 0x3c(r31) -/* 00FDF0 80015390 38BE0000 */ addi r5, r30, 0 -/* 00FDF4 80015394 38800000 */ li r4, 0 -/* 00FDF8 80015398 4BFF0039 */ bl memset -lbl_8001539C: -/* 00FDFC 8001539C 38600001 */ li r3, 1 -/* 00FE00 800153A0 4800159C */ b lbl_8001693C -lbl_800153A4: -/* 00FE04 800153A4 38000002 */ li r0, 2 -/* 00FE08 800153A8 901F048C */ stw r0, 0x48c(r31) -/* 00FE0C 800153AC 387F0000 */ addi r3, r31, 0 -/* 00FE10 800153B0 389C0000 */ addi r4, r28, 0 -/* 00FE14 800153B4 38B90000 */ addi r5, r25, 0 -/* 00FE18 800153B8 38D70000 */ addi r6, r23, 0 -/* 00FE1C 800153BC 38F60000 */ addi r7, r22, 0 -/* 00FE20 800153C0 391A0000 */ addi r8, r26, 0 -/* 00FE24 800153C4 48003235 */ bl mcardFileCreate -/* 00FE28 800153C8 2C030000 */ cmpwi r3, 0 -/* 00FE2C 800153CC 40820024 */ bne lbl_800153F0 -/* 00FE30 800153D0 801F035C */ lwz r0, 0x35c(r31) -/* 00FE34 800153D4 2C000003 */ cmpwi r0, 3 -/* 00FE38 800153D8 4182FDFC */ beq lbl_800151D4 -/* 00FE3C 800153DC 387F0000 */ addi r3, r31, 0 -/* 00FE40 800153E0 38A10034 */ addi r5, r1, 0x34 -/* 00FE44 800153E4 3880002E */ li r4, 0x2e -/* 00FE48 800153E8 48001A89 */ bl mcardMenu -/* 00FE4C 800153EC 4BFFFDE8 */ b lbl_800151D4 -lbl_800153F0: -/* 00FE50 800153F0 387F0000 */ addi r3, r31, 0 -/* 00FE54 800153F4 389C0000 */ addi r4, r28, 0 -/* 00FE58 800153F8 48003C61 */ bl mcardFileSet -/* 00FE5C 800153FC 2C030000 */ cmpwi r3, 0 -/* 00FE60 80015400 40820118 */ bne lbl_80015518 -/* 00FE64 80015404 387F0000 */ addi r3, r31, 0 -/* 00FE68 80015408 38810034 */ addi r4, r1, 0x34 -/* 00FE6C 8001540C 48001985 */ bl mcardOpenError -/* 00FE70 80015410 80C10034 */ lwz r6, 0x34(r1) -/* 00FE74 80015414 2C060001 */ cmpwi r6, 1 -/* 00FE78 80015418 4182FDBC */ beq lbl_800151D4 -/* 00FE7C 8001541C 2C060003 */ cmpwi r6, 3 -/* 00FE80 80015420 40820074 */ bne lbl_80015494 -/* 00FE84 80015424 931F0470 */ stw r24, 0x470(r31) -/* 00FE88 80015428 93DF0034 */ stw r30, 0x34(r31) -/* 00FE8C 8001542C 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 00FE90 80015430 80030020 */ lwz r0, 0x20(r3) -/* 00FE94 80015434 2C000004 */ cmpwi r0, 4 -/* 00FE98 80015438 4082000C */ bne lbl_80015444 -/* 00FE9C 8001543C 38000001 */ li r0, 1 -/* 00FEA0 80015440 901F0480 */ stw r0, 0x480(r31) -lbl_80015444: -/* 00FEA4 80015444 38000001 */ li r0, 1 -/* 00FEA8 80015448 901F07A4 */ stw r0, 0x7a4(r31) -/* 00FEAC 8001544C 801F003C */ lwz r0, 0x3c(r31) -/* 00FEB0 80015450 28000000 */ cmplwi r0, 0 -/* 00FEB4 80015454 41820014 */ beq lbl_80015468 -/* 00FEB8 80015458 387F003C */ addi r3, r31, 0x3c -/* 00FEBC 8001545C 4BFF1C3D */ bl xlHeapFree -/* 00FEC0 80015460 2C030000 */ cmpwi r3, 0 -/* 00FEC4 80015464 41820028 */ beq lbl_8001548C -lbl_80015468: -/* 00FEC8 80015468 387F003C */ addi r3, r31, 0x3c -/* 00FECC 8001546C 389E0000 */ addi r4, r30, 0 -/* 00FED0 80015470 4BFF1D45 */ bl xlHeapTake -/* 00FED4 80015474 2C030000 */ cmpwi r3, 0 -/* 00FED8 80015478 41820014 */ beq lbl_8001548C -/* 00FEDC 8001547C 807F003C */ lwz r3, 0x3c(r31) -/* 00FEE0 80015480 38BE0000 */ addi r5, r30, 0 -/* 00FEE4 80015484 38800000 */ li r4, 0 -/* 00FEE8 80015488 4BFEFF49 */ bl memset -lbl_8001548C: -/* 00FEEC 8001548C 38600001 */ li r3, 1 -/* 00FEF0 80015490 480014AC */ b lbl_8001693C -lbl_80015494: -/* 00FEF4 80015494 4CC63182 */ crclr 6 -/* 00FEF8 80015498 387B001C */ addi r3, r27, 0x1c -/* 00FEFC 8001549C 389B0054 */ addi r4, r27, 0x54 -/* 00FF00 800154A0 38A00DE8 */ li r5, 0xde8 -/* 00FF04 800154A4 4BFF0971 */ bl xlPostText -/* 00FF08 800154A8 931F0470 */ stw r24, 0x470(r31) -/* 00FF0C 800154AC 93DF0034 */ stw r30, 0x34(r31) -/* 00FF10 800154B0 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 00FF14 800154B4 80030020 */ lwz r0, 0x20(r3) -/* 00FF18 800154B8 2C000004 */ cmpwi r0, 4 -/* 00FF1C 800154BC 4082000C */ bne lbl_800154C8 -/* 00FF20 800154C0 38000001 */ li r0, 1 -/* 00FF24 800154C4 901F0480 */ stw r0, 0x480(r31) -lbl_800154C8: -/* 00FF28 800154C8 38000001 */ li r0, 1 -/* 00FF2C 800154CC 901F07A4 */ stw r0, 0x7a4(r31) -/* 00FF30 800154D0 801F003C */ lwz r0, 0x3c(r31) -/* 00FF34 800154D4 28000000 */ cmplwi r0, 0 -/* 00FF38 800154D8 41820014 */ beq lbl_800154EC -/* 00FF3C 800154DC 387F003C */ addi r3, r31, 0x3c -/* 00FF40 800154E0 4BFF1BB9 */ bl xlHeapFree -/* 00FF44 800154E4 2C030000 */ cmpwi r3, 0 -/* 00FF48 800154E8 41820028 */ beq lbl_80015510 -lbl_800154EC: -/* 00FF4C 800154EC 387F003C */ addi r3, r31, 0x3c -/* 00FF50 800154F0 389E0000 */ addi r4, r30, 0 -/* 00FF54 800154F4 4BFF1CC1 */ bl xlHeapTake -/* 00FF58 800154F8 2C030000 */ cmpwi r3, 0 -/* 00FF5C 800154FC 41820014 */ beq lbl_80015510 -/* 00FF60 80015500 807F003C */ lwz r3, 0x3c(r31) -/* 00FF64 80015504 38BE0000 */ addi r5, r30, 0 -/* 00FF68 80015508 38800000 */ li r4, 0 -/* 00FF6C 8001550C 4BFEFEC5 */ bl memset -lbl_80015510: -/* 00FF70 80015510 38600001 */ li r3, 1 -/* 00FF74 80015514 48001428 */ b lbl_8001693C -lbl_80015518: -/* 00FF78 80015518 801F0470 */ lwz r0, 0x470(r31) -/* 00FF7C 8001551C 2C000001 */ cmpwi r0, 1 -/* 00FF80 80015520 40820048 */ bne lbl_80015568 -/* 00FF84 80015524 7FE3FB78 */ mr r3, r31 -/* 00FF88 80015528 48005AAD */ bl mcardReadyCard -/* 00FF8C 8001552C 2C030000 */ cmpwi r3, 0 -/* 00FF90 80015530 40820008 */ bne lbl_80015538 -/* 00FF94 80015534 48000038 */ b lbl_8001556C -lbl_80015538: -/* 00FF98 80015538 807F0360 */ lwz r3, 0x360(r31) -/* 00FF9C 8001553C 389F0008 */ addi r4, r31, 8 -/* 00FFA0 80015540 38BF0348 */ addi r5, r31, 0x348 -/* 00FFA4 80015544 480AACDD */ bl CARDOpen -/* 00FFA8 80015548 38830000 */ addi r4, r3, 0 -/* 00FFAC 8001554C 387F0000 */ addi r3, r31, 0 -/* 00FFB0 80015550 48006D51 */ bl mcardGCErrorHandler -/* 00FFB4 80015554 2C030001 */ cmpwi r3, 1 -/* 00FFB8 80015558 41820010 */ beq lbl_80015568 -/* 00FFBC 8001555C 807F0360 */ lwz r3, 0x360(r31) -/* 00FFC0 80015560 480A9FBD */ bl CARDUnmount -/* 00FFC4 80015564 48000008 */ b lbl_8001556C -lbl_80015568: -/* 00FFC8 80015568 3B000001 */ li r24, 1 -lbl_8001556C: -/* 00FFCC 8001556C 2C180000 */ cmpwi r24, 0 -/* 00FFD0 80015570 40820120 */ bne lbl_80015690 -/* 00FFD4 80015574 387F0000 */ addi r3, r31, 0 -/* 00FFD8 80015578 38810034 */ addi r4, r1, 0x34 -/* 00FFDC 8001557C 48001815 */ bl mcardOpenError -/* 00FFE0 80015580 80C10034 */ lwz r6, 0x34(r1) -/* 00FFE4 80015584 2C060001 */ cmpwi r6, 1 -/* 00FFE8 80015588 4182FC4C */ beq lbl_800151D4 -/* 00FFEC 8001558C 2C060003 */ cmpwi r6, 3 -/* 00FFF0 80015590 40820078 */ bne lbl_80015608 -/* 00FFF4 80015594 38000000 */ li r0, 0 -/* 00FFF8 80015598 901F0470 */ stw r0, 0x470(r31) -/* 00FFFC 8001559C 93DF0034 */ stw r30, 0x34(r31) -/* 010000 800155A0 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010004 800155A4 80030020 */ lwz r0, 0x20(r3) -/* 010008 800155A8 2C000004 */ cmpwi r0, 4 -/* 01000C 800155AC 4082000C */ bne lbl_800155B8 -/* 010010 800155B0 38000001 */ li r0, 1 -/* 010014 800155B4 901F0480 */ stw r0, 0x480(r31) -lbl_800155B8: -/* 010018 800155B8 38000001 */ li r0, 1 -/* 01001C 800155BC 901F07A4 */ stw r0, 0x7a4(r31) -/* 010020 800155C0 801F003C */ lwz r0, 0x3c(r31) -/* 010024 800155C4 28000000 */ cmplwi r0, 0 -/* 010028 800155C8 41820014 */ beq lbl_800155DC -/* 01002C 800155CC 387F003C */ addi r3, r31, 0x3c -/* 010030 800155D0 4BFF1AC9 */ bl xlHeapFree -/* 010034 800155D4 2C030000 */ cmpwi r3, 0 -/* 010038 800155D8 41820028 */ beq lbl_80015600 -lbl_800155DC: -/* 01003C 800155DC 387F003C */ addi r3, r31, 0x3c -/* 010040 800155E0 389E0000 */ addi r4, r30, 0 -/* 010044 800155E4 4BFF1BD1 */ bl xlHeapTake -/* 010048 800155E8 2C030000 */ cmpwi r3, 0 -/* 01004C 800155EC 41820014 */ beq lbl_80015600 -/* 010050 800155F0 807F003C */ lwz r3, 0x3c(r31) -/* 010054 800155F4 38BE0000 */ addi r5, r30, 0 -/* 010058 800155F8 38800000 */ li r4, 0 -/* 01005C 800155FC 4BFEFDD5 */ bl memset -lbl_80015600: -/* 010060 80015600 38600001 */ li r3, 1 -/* 010064 80015604 48001338 */ b lbl_8001693C -lbl_80015608: -/* 010068 80015608 4CC63182 */ crclr 6 -/* 01006C 8001560C 387B001C */ addi r3, r27, 0x1c -/* 010070 80015610 389B0054 */ addi r4, r27, 0x54 -/* 010074 80015614 38A00DFD */ li r5, 0xdfd -/* 010078 80015618 4BFF07FD */ bl xlPostText -/* 01007C 8001561C 38000000 */ li r0, 0 -/* 010080 80015620 901F0470 */ stw r0, 0x470(r31) -/* 010084 80015624 93DF0034 */ stw r30, 0x34(r31) -/* 010088 80015628 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 01008C 8001562C 80030020 */ lwz r0, 0x20(r3) -/* 010090 80015630 2C000004 */ cmpwi r0, 4 -/* 010094 80015634 4082000C */ bne lbl_80015640 -/* 010098 80015638 38000001 */ li r0, 1 -/* 01009C 8001563C 901F0480 */ stw r0, 0x480(r31) -lbl_80015640: -/* 0100A0 80015640 38000001 */ li r0, 1 -/* 0100A4 80015644 901F07A4 */ stw r0, 0x7a4(r31) -/* 0100A8 80015648 801F003C */ lwz r0, 0x3c(r31) -/* 0100AC 8001564C 28000000 */ cmplwi r0, 0 -/* 0100B0 80015650 41820014 */ beq lbl_80015664 -/* 0100B4 80015654 387F003C */ addi r3, r31, 0x3c -/* 0100B8 80015658 4BFF1A41 */ bl xlHeapFree -/* 0100BC 8001565C 2C030000 */ cmpwi r3, 0 -/* 0100C0 80015660 41820028 */ beq lbl_80015688 -lbl_80015664: -/* 0100C4 80015664 387F003C */ addi r3, r31, 0x3c -/* 0100C8 80015668 389E0000 */ addi r4, r30, 0 -/* 0100CC 8001566C 4BFF1B49 */ bl xlHeapTake -/* 0100D0 80015670 2C030000 */ cmpwi r3, 0 -/* 0100D4 80015674 41820014 */ beq lbl_80015688 -/* 0100D8 80015678 807F003C */ lwz r3, 0x3c(r31) -/* 0100DC 8001567C 38BE0000 */ addi r5, r30, 0 -/* 0100E0 80015680 38800000 */ li r4, 0 -/* 0100E4 80015684 4BFEFD4D */ bl memset -lbl_80015688: -/* 0100E8 80015688 38600001 */ li r3, 1 -/* 0100EC 8001568C 480012B0 */ b lbl_8001693C -lbl_80015690: -/* 0100F0 80015690 801F0470 */ lwz r0, 0x470(r31) -/* 0100F4 80015694 2C000001 */ cmpwi r0, 1 -/* 0100F8 80015698 40820020 */ bne lbl_800156B8 -/* 0100FC 8001569C 801F0348 */ lwz r0, 0x348(r31) -/* 010100 800156A0 2C00FFFF */ cmpwi r0, -1 -/* 010104 800156A4 4182000C */ beq lbl_800156B0 -/* 010108 800156A8 387F0348 */ addi r3, r31, 0x348 -/* 01010C 800156AC 480AAC91 */ bl CARDClose -lbl_800156B0: -/* 010110 800156B0 807F0360 */ lwz r3, 0x360(r31) -/* 010114 800156B4 480A9E69 */ bl CARDUnmount -lbl_800156B8: -/* 010118 800156B8 387F0000 */ addi r3, r31, 0 -/* 01011C 800156BC 38A10034 */ addi r5, r1, 0x34 -/* 010120 800156C0 3880002D */ li r4, 0x2d -/* 010124 800156C4 480017AD */ bl mcardMenu -/* 010128 800156C8 4BFFFB0C */ b lbl_800151D4 -lbl_800156CC: -/* 01012C 800156CC 2C060001 */ cmpwi r6, 1 -/* 010130 800156D0 4182FB04 */ beq lbl_800151D4 -/* 010134 800156D4 2C060003 */ cmpwi r6, 3 -/* 010138 800156D8 40820074 */ bne lbl_8001574C -/* 01013C 800156DC 931F0470 */ stw r24, 0x470(r31) -/* 010140 800156E0 93DF0034 */ stw r30, 0x34(r31) -/* 010144 800156E4 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010148 800156E8 80030020 */ lwz r0, 0x20(r3) -/* 01014C 800156EC 2C000004 */ cmpwi r0, 4 -/* 010150 800156F0 4082000C */ bne lbl_800156FC -/* 010154 800156F4 38000001 */ li r0, 1 -/* 010158 800156F8 901F0480 */ stw r0, 0x480(r31) -lbl_800156FC: -/* 01015C 800156FC 38000001 */ li r0, 1 -/* 010160 80015700 901F07A4 */ stw r0, 0x7a4(r31) -/* 010164 80015704 801F003C */ lwz r0, 0x3c(r31) -/* 010168 80015708 28000000 */ cmplwi r0, 0 -/* 01016C 8001570C 41820014 */ beq lbl_80015720 -/* 010170 80015710 387F003C */ addi r3, r31, 0x3c -/* 010174 80015714 4BFF1985 */ bl xlHeapFree -/* 010178 80015718 2C030000 */ cmpwi r3, 0 -/* 01017C 8001571C 41820028 */ beq lbl_80015744 -lbl_80015720: -/* 010180 80015720 387F003C */ addi r3, r31, 0x3c -/* 010184 80015724 389E0000 */ addi r4, r30, 0 -/* 010188 80015728 4BFF1A8D */ bl xlHeapTake -/* 01018C 8001572C 2C030000 */ cmpwi r3, 0 -/* 010190 80015730 41820014 */ beq lbl_80015744 -/* 010194 80015734 807F003C */ lwz r3, 0x3c(r31) -/* 010198 80015738 38BE0000 */ addi r5, r30, 0 -/* 01019C 8001573C 38800000 */ li r4, 0 -/* 0101A0 80015740 4BFEFC91 */ bl memset -lbl_80015744: -/* 0101A4 80015744 38600001 */ li r3, 1 -/* 0101A8 80015748 480011F4 */ b lbl_8001693C -lbl_8001574C: -/* 0101AC 8001574C 2C060004 */ cmpwi r6, 4 -/* 0101B0 80015750 40820628 */ bne lbl_80015D78 -/* 0101B4 80015754 7FE3FB78 */ mr r3, r31 -/* 0101B8 80015758 4800587D */ bl mcardReadyCard -/* 0101BC 8001575C 2C030000 */ cmpwi r3, 0 -/* 0101C0 80015760 40820008 */ bne lbl_80015768 -/* 0101C4 80015764 48000078 */ b lbl_800157DC -lbl_80015768: -/* 0101C8 80015768 807F0360 */ lwz r3, 0x360(r31) -/* 0101CC 8001576C 3881002C */ addi r4, r1, 0x2c -/* 0101D0 80015770 38A10030 */ addi r5, r1, 0x30 -/* 0101D4 80015774 480A6695 */ bl CARDFreeBlocks -/* 0101D8 80015778 38830000 */ addi r4, r3, 0 -/* 0101DC 8001577C 387F0000 */ addi r3, r31, 0 -/* 0101E0 80015780 48006B21 */ bl mcardGCErrorHandler -/* 0101E4 80015784 2C030000 */ cmpwi r3, 0 -/* 0101E8 80015788 40820008 */ bne lbl_80015790 -/* 0101EC 8001578C 48000050 */ b lbl_800157DC -lbl_80015790: -/* 0101F0 80015790 8001002C */ lwz r0, 0x2c(r1) -/* 0101F4 80015794 7C00A000 */ cmpw r0, r20 -/* 0101F8 80015798 41800010 */ blt lbl_800157A8 -/* 0101FC 8001579C 80010030 */ lwz r0, 0x30(r1) -/* 010200 800157A0 2C000000 */ cmpwi r0, 0 -/* 010204 800157A4 4181002C */ bgt lbl_800157D0 -lbl_800157A8: -/* 010208 800157A8 80010030 */ lwz r0, 0x30(r1) -/* 01020C 800157AC 2C000000 */ cmpwi r0, 0 -/* 010210 800157B0 41810010 */ bgt lbl_800157C0 -/* 010214 800157B4 38000014 */ li r0, 0x14 -/* 010218 800157B8 901F035C */ stw r0, 0x35c(r31) -/* 01021C 800157BC 4800000C */ b lbl_800157C8 -lbl_800157C0: -/* 010220 800157C0 38000013 */ li r0, 0x13 -/* 010224 800157C4 901F035C */ stw r0, 0x35c(r31) -lbl_800157C8: -/* 010228 800157C8 3B000000 */ li r24, 0 -/* 01022C 800157CC 48000010 */ b lbl_800157DC -lbl_800157D0: -/* 010230 800157D0 807F0360 */ lwz r3, 0x360(r31) -/* 010234 800157D4 480A9D49 */ bl CARDUnmount -/* 010238 800157D8 3B000001 */ li r24, 1 -lbl_800157DC: -/* 01023C 800157DC 2C180000 */ cmpwi r24, 0 -/* 010240 800157E0 40820138 */ bne lbl_80015918 -/* 010244 800157E4 387F0000 */ addi r3, r31, 0 -/* 010248 800157E8 38810034 */ addi r4, r1, 0x34 -/* 01024C 800157EC 480015A5 */ bl mcardOpenError -/* 010250 800157F0 80C10034 */ lwz r6, 0x34(r1) -/* 010254 800157F4 2C060002 */ cmpwi r6, 2 -/* 010258 800157F8 40820014 */ bne lbl_8001580C -/* 01025C 800157FC 38600001 */ li r3, 1 -/* 010260 80015800 38800001 */ li r4, 1 -/* 010264 80015804 4BFF417D */ bl simulatorReset -/* 010268 80015808 48000110 */ b lbl_80015918 -lbl_8001580C: -/* 01026C 8001580C 2C060001 */ cmpwi r6, 1 -/* 010270 80015810 4182F9C4 */ beq lbl_800151D4 -/* 010274 80015814 2C060003 */ cmpwi r6, 3 -/* 010278 80015818 40820078 */ bne lbl_80015890 -/* 01027C 8001581C 38000000 */ li r0, 0 -/* 010280 80015820 901F0470 */ stw r0, 0x470(r31) -/* 010284 80015824 93DF0034 */ stw r30, 0x34(r31) -/* 010288 80015828 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 01028C 8001582C 80030020 */ lwz r0, 0x20(r3) -/* 010290 80015830 2C000004 */ cmpwi r0, 4 -/* 010294 80015834 4082000C */ bne lbl_80015840 -/* 010298 80015838 38000001 */ li r0, 1 -/* 01029C 8001583C 901F0480 */ stw r0, 0x480(r31) -lbl_80015840: -/* 0102A0 80015840 38000001 */ li r0, 1 -/* 0102A4 80015844 901F07A4 */ stw r0, 0x7a4(r31) -/* 0102A8 80015848 801F003C */ lwz r0, 0x3c(r31) -/* 0102AC 8001584C 28000000 */ cmplwi r0, 0 -/* 0102B0 80015850 41820014 */ beq lbl_80015864 -/* 0102B4 80015854 387F003C */ addi r3, r31, 0x3c -/* 0102B8 80015858 4BFF1841 */ bl xlHeapFree -/* 0102BC 8001585C 2C030000 */ cmpwi r3, 0 -/* 0102C0 80015860 41820028 */ beq lbl_80015888 -lbl_80015864: -/* 0102C4 80015864 387F003C */ addi r3, r31, 0x3c -/* 0102C8 80015868 389E0000 */ addi r4, r30, 0 -/* 0102CC 8001586C 4BFF1949 */ bl xlHeapTake -/* 0102D0 80015870 2C030000 */ cmpwi r3, 0 -/* 0102D4 80015874 41820014 */ beq lbl_80015888 -/* 0102D8 80015878 807F003C */ lwz r3, 0x3c(r31) -/* 0102DC 8001587C 38BE0000 */ addi r5, r30, 0 -/* 0102E0 80015880 38800000 */ li r4, 0 -/* 0102E4 80015884 4BFEFB4D */ bl memset -lbl_80015888: -/* 0102E8 80015888 38600001 */ li r3, 1 -/* 0102EC 8001588C 480010B0 */ b lbl_8001693C -lbl_80015890: -/* 0102F0 80015890 4CC63182 */ crclr 6 -/* 0102F4 80015894 387B001C */ addi r3, r27, 0x1c -/* 0102F8 80015898 389B0054 */ addi r4, r27, 0x54 -/* 0102FC 8001589C 38A00E2A */ li r5, 0xe2a -/* 010300 800158A0 4BFF0575 */ bl xlPostText -/* 010304 800158A4 38000000 */ li r0, 0 -/* 010308 800158A8 901F0470 */ stw r0, 0x470(r31) -/* 01030C 800158AC 93DF0034 */ stw r30, 0x34(r31) -/* 010310 800158B0 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010314 800158B4 80030020 */ lwz r0, 0x20(r3) -/* 010318 800158B8 2C000004 */ cmpwi r0, 4 -/* 01031C 800158BC 4082000C */ bne lbl_800158C8 -/* 010320 800158C0 38000001 */ li r0, 1 -/* 010324 800158C4 901F0480 */ stw r0, 0x480(r31) -lbl_800158C8: -/* 010328 800158C8 38000001 */ li r0, 1 -/* 01032C 800158CC 901F07A4 */ stw r0, 0x7a4(r31) -/* 010330 800158D0 801F003C */ lwz r0, 0x3c(r31) -/* 010334 800158D4 28000000 */ cmplwi r0, 0 -/* 010338 800158D8 41820014 */ beq lbl_800158EC -/* 01033C 800158DC 387F003C */ addi r3, r31, 0x3c -/* 010340 800158E0 4BFF17B9 */ bl xlHeapFree -/* 010344 800158E4 2C030000 */ cmpwi r3, 0 -/* 010348 800158E8 41820028 */ beq lbl_80015910 -lbl_800158EC: -/* 01034C 800158EC 387F003C */ addi r3, r31, 0x3c -/* 010350 800158F0 389E0000 */ addi r4, r30, 0 -/* 010354 800158F4 4BFF18C1 */ bl xlHeapTake -/* 010358 800158F8 2C030000 */ cmpwi r3, 0 -/* 01035C 800158FC 41820014 */ beq lbl_80015910 -/* 010360 80015900 807F003C */ lwz r3, 0x3c(r31) -/* 010364 80015904 38BE0000 */ addi r5, r30, 0 -/* 010368 80015908 38800000 */ li r4, 0 -/* 01036C 8001590C 4BFEFAC5 */ bl memset -lbl_80015910: -/* 010370 80015910 38600001 */ li r3, 1 -/* 010374 80015914 48001028 */ b lbl_8001693C -lbl_80015918: -/* 010378 80015918 387F0000 */ addi r3, r31, 0 -/* 01037C 8001591C 38A10034 */ addi r5, r1, 0x34 -/* 010380 80015920 38800028 */ li r4, 0x28 -/* 010384 80015924 4800154D */ bl mcardMenu -/* 010388 80015928 80C10034 */ lwz r6, 0x34(r1) -/* 01038C 8001592C 2C060004 */ cmpwi r6, 4 -/* 010390 80015930 4082033C */ bne lbl_80015C6C -/* 010394 80015934 3B000001 */ li r24, 1 -/* 010398 80015938 931F048C */ stw r24, 0x48c(r31) -/* 01039C 8001593C 38600013 */ li r3, 0x13 -/* 0103A0 80015940 4BFF78B1 */ bl simulatorPrepareMessage -/* 0103A4 80015944 387F0000 */ addi r3, r31, 0 -/* 0103A8 80015948 389C0000 */ addi r4, r28, 0 -/* 0103AC 8001594C 38B90000 */ addi r5, r25, 0 -/* 0103B0 80015950 38D70000 */ addi r6, r23, 0 -/* 0103B4 80015954 38F60000 */ addi r7, r22, 0 -/* 0103B8 80015958 391A0000 */ addi r8, r26, 0 -/* 0103BC 8001595C 48002C9D */ bl mcardFileCreate -/* 0103C0 80015960 2C030000 */ cmpwi r3, 0 -/* 0103C4 80015964 40820024 */ bne lbl_80015988 -/* 0103C8 80015968 801F035C */ lwz r0, 0x35c(r31) -/* 0103CC 8001596C 2C000003 */ cmpwi r0, 3 -/* 0103D0 80015970 4182F864 */ beq lbl_800151D4 -/* 0103D4 80015974 387F0000 */ addi r3, r31, 0 -/* 0103D8 80015978 38A10034 */ addi r5, r1, 0x34 -/* 0103DC 8001597C 3880002E */ li r4, 0x2e -/* 0103E0 80015980 480014F1 */ bl mcardMenu -/* 0103E4 80015984 4BFFF850 */ b lbl_800151D4 -lbl_80015988: -/* 0103E8 80015988 387F0000 */ addi r3, r31, 0 -/* 0103EC 8001598C 389C0000 */ addi r4, r28, 0 -/* 0103F0 80015990 480036C9 */ bl mcardFileSet -/* 0103F4 80015994 2C030000 */ cmpwi r3, 0 -/* 0103F8 80015998 40820118 */ bne lbl_80015AB0 -/* 0103FC 8001599C 387F0000 */ addi r3, r31, 0 -/* 010400 800159A0 38810034 */ addi r4, r1, 0x34 -/* 010404 800159A4 480013ED */ bl mcardOpenError -/* 010408 800159A8 80C10034 */ lwz r6, 0x34(r1) -/* 01040C 800159AC 2C060001 */ cmpwi r6, 1 -/* 010410 800159B0 4182F824 */ beq lbl_800151D4 -/* 010414 800159B4 2C060003 */ cmpwi r6, 3 -/* 010418 800159B8 40820074 */ bne lbl_80015A2C -/* 01041C 800159BC 38000000 */ li r0, 0 -/* 010420 800159C0 901F0470 */ stw r0, 0x470(r31) -/* 010424 800159C4 93DF0034 */ stw r30, 0x34(r31) -/* 010428 800159C8 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 01042C 800159CC 80030020 */ lwz r0, 0x20(r3) -/* 010430 800159D0 2C000004 */ cmpwi r0, 4 -/* 010434 800159D4 40820008 */ bne lbl_800159DC -/* 010438 800159D8 931F0480 */ stw r24, 0x480(r31) -lbl_800159DC: -/* 01043C 800159DC 38000001 */ li r0, 1 -/* 010440 800159E0 901F07A4 */ stw r0, 0x7a4(r31) -/* 010444 800159E4 801F003C */ lwz r0, 0x3c(r31) -/* 010448 800159E8 28000000 */ cmplwi r0, 0 -/* 01044C 800159EC 41820014 */ beq lbl_80015A00 -/* 010450 800159F0 387F003C */ addi r3, r31, 0x3c -/* 010454 800159F4 4BFF16A5 */ bl xlHeapFree -/* 010458 800159F8 2C030000 */ cmpwi r3, 0 -/* 01045C 800159FC 41820028 */ beq lbl_80015A24 -lbl_80015A00: -/* 010460 80015A00 387F003C */ addi r3, r31, 0x3c -/* 010464 80015A04 389E0000 */ addi r4, r30, 0 -/* 010468 80015A08 4BFF17AD */ bl xlHeapTake -/* 01046C 80015A0C 2C030000 */ cmpwi r3, 0 -/* 010470 80015A10 41820014 */ beq lbl_80015A24 -/* 010474 80015A14 807F003C */ lwz r3, 0x3c(r31) -/* 010478 80015A18 38BE0000 */ addi r5, r30, 0 -/* 01047C 80015A1C 38800000 */ li r4, 0 -/* 010480 80015A20 4BFEF9B1 */ bl memset -lbl_80015A24: -/* 010484 80015A24 38600001 */ li r3, 1 -/* 010488 80015A28 48000F14 */ b lbl_8001693C -lbl_80015A2C: -/* 01048C 80015A2C 4CC63182 */ crclr 6 -/* 010490 80015A30 387B001C */ addi r3, r27, 0x1c -/* 010494 80015A34 389B0054 */ addi r4, r27, 0x54 -/* 010498 80015A38 38A00E4C */ li r5, 0xe4c -/* 01049C 80015A3C 4BFF03D9 */ bl xlPostText -/* 0104A0 80015A40 38000000 */ li r0, 0 -/* 0104A4 80015A44 901F0470 */ stw r0, 0x470(r31) -/* 0104A8 80015A48 93DF0034 */ stw r30, 0x34(r31) -/* 0104AC 80015A4C 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 0104B0 80015A50 80030020 */ lwz r0, 0x20(r3) -/* 0104B4 80015A54 2C000004 */ cmpwi r0, 4 -/* 0104B8 80015A58 40820008 */ bne lbl_80015A60 -/* 0104BC 80015A5C 931F0480 */ stw r24, 0x480(r31) -lbl_80015A60: -/* 0104C0 80015A60 38000001 */ li r0, 1 -/* 0104C4 80015A64 901F07A4 */ stw r0, 0x7a4(r31) -/* 0104C8 80015A68 801F003C */ lwz r0, 0x3c(r31) -/* 0104CC 80015A6C 28000000 */ cmplwi r0, 0 -/* 0104D0 80015A70 41820014 */ beq lbl_80015A84 -/* 0104D4 80015A74 387F003C */ addi r3, r31, 0x3c -/* 0104D8 80015A78 4BFF1621 */ bl xlHeapFree -/* 0104DC 80015A7C 2C030000 */ cmpwi r3, 0 -/* 0104E0 80015A80 41820028 */ beq lbl_80015AA8 -lbl_80015A84: -/* 0104E4 80015A84 387F003C */ addi r3, r31, 0x3c -/* 0104E8 80015A88 389E0000 */ addi r4, r30, 0 -/* 0104EC 80015A8C 4BFF1729 */ bl xlHeapTake -/* 0104F0 80015A90 2C030000 */ cmpwi r3, 0 -/* 0104F4 80015A94 41820014 */ beq lbl_80015AA8 -/* 0104F8 80015A98 807F003C */ lwz r3, 0x3c(r31) -/* 0104FC 80015A9C 38BE0000 */ addi r5, r30, 0 -/* 010500 80015AA0 38800000 */ li r4, 0 -/* 010504 80015AA4 4BFEF92D */ bl memset -lbl_80015AA8: -/* 010508 80015AA8 38600001 */ li r3, 1 -/* 01050C 80015AAC 48000E90 */ b lbl_8001693C -lbl_80015AB0: -/* 010510 80015AB0 801F0470 */ lwz r0, 0x470(r31) -/* 010514 80015AB4 2C000001 */ cmpwi r0, 1 -/* 010518 80015AB8 40820050 */ bne lbl_80015B08 -/* 01051C 80015ABC 7FE3FB78 */ mr r3, r31 -/* 010520 80015AC0 48005515 */ bl mcardReadyCard -/* 010524 80015AC4 2C030000 */ cmpwi r3, 0 -/* 010528 80015AC8 4082000C */ bne lbl_80015AD4 -/* 01052C 80015ACC 38000000 */ li r0, 0 -/* 010530 80015AD0 4800003C */ b lbl_80015B0C -lbl_80015AD4: -/* 010534 80015AD4 807F0360 */ lwz r3, 0x360(r31) -/* 010538 80015AD8 389F0008 */ addi r4, r31, 8 -/* 01053C 80015ADC 38BF0348 */ addi r5, r31, 0x348 -/* 010540 80015AE0 480AA741 */ bl CARDOpen -/* 010544 80015AE4 38830000 */ addi r4, r3, 0 -/* 010548 80015AE8 387F0000 */ addi r3, r31, 0 -/* 01054C 80015AEC 480067B5 */ bl mcardGCErrorHandler -/* 010550 80015AF0 2C030001 */ cmpwi r3, 1 -/* 010554 80015AF4 41820014 */ beq lbl_80015B08 -/* 010558 80015AF8 807F0360 */ lwz r3, 0x360(r31) -/* 01055C 80015AFC 480A9A21 */ bl CARDUnmount -/* 010560 80015B00 38000000 */ li r0, 0 -/* 010564 80015B04 48000008 */ b lbl_80015B0C -lbl_80015B08: -/* 010568 80015B08 38000001 */ li r0, 1 -lbl_80015B0C: -/* 01056C 80015B0C 2C000000 */ cmpwi r0, 0 -/* 010570 80015B10 40820120 */ bne lbl_80015C30 -/* 010574 80015B14 387F0000 */ addi r3, r31, 0 -/* 010578 80015B18 38810034 */ addi r4, r1, 0x34 -/* 01057C 80015B1C 48001275 */ bl mcardOpenError -/* 010580 80015B20 80C10034 */ lwz r6, 0x34(r1) -/* 010584 80015B24 2C060001 */ cmpwi r6, 1 -/* 010588 80015B28 4182F6AC */ beq lbl_800151D4 -/* 01058C 80015B2C 2C060003 */ cmpwi r6, 3 -/* 010590 80015B30 40820078 */ bne lbl_80015BA8 -/* 010594 80015B34 38000000 */ li r0, 0 -/* 010598 80015B38 901F0470 */ stw r0, 0x470(r31) -/* 01059C 80015B3C 93DF0034 */ stw r30, 0x34(r31) -/* 0105A0 80015B40 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 0105A4 80015B44 80030020 */ lwz r0, 0x20(r3) -/* 0105A8 80015B48 2C000004 */ cmpwi r0, 4 -/* 0105AC 80015B4C 4082000C */ bne lbl_80015B58 -/* 0105B0 80015B50 38000001 */ li r0, 1 -/* 0105B4 80015B54 901F0480 */ stw r0, 0x480(r31) -lbl_80015B58: -/* 0105B8 80015B58 38000001 */ li r0, 1 -/* 0105BC 80015B5C 901F07A4 */ stw r0, 0x7a4(r31) -/* 0105C0 80015B60 801F003C */ lwz r0, 0x3c(r31) -/* 0105C4 80015B64 28000000 */ cmplwi r0, 0 -/* 0105C8 80015B68 41820014 */ beq lbl_80015B7C -/* 0105CC 80015B6C 387F003C */ addi r3, r31, 0x3c -/* 0105D0 80015B70 4BFF1529 */ bl xlHeapFree -/* 0105D4 80015B74 2C030000 */ cmpwi r3, 0 -/* 0105D8 80015B78 41820028 */ beq lbl_80015BA0 -lbl_80015B7C: -/* 0105DC 80015B7C 387F003C */ addi r3, r31, 0x3c -/* 0105E0 80015B80 389E0000 */ addi r4, r30, 0 -/* 0105E4 80015B84 4BFF1631 */ bl xlHeapTake -/* 0105E8 80015B88 2C030000 */ cmpwi r3, 0 -/* 0105EC 80015B8C 41820014 */ beq lbl_80015BA0 -/* 0105F0 80015B90 807F003C */ lwz r3, 0x3c(r31) -/* 0105F4 80015B94 38BE0000 */ addi r5, r30, 0 -/* 0105F8 80015B98 38800000 */ li r4, 0 -/* 0105FC 80015B9C 4BFEF835 */ bl memset -lbl_80015BA0: -/* 010600 80015BA0 38600001 */ li r3, 1 -/* 010604 80015BA4 48000D98 */ b lbl_8001693C -lbl_80015BA8: -/* 010608 80015BA8 4CC63182 */ crclr 6 -/* 01060C 80015BAC 387B001C */ addi r3, r27, 0x1c -/* 010610 80015BB0 389B0054 */ addi r4, r27, 0x54 -/* 010614 80015BB4 38A00E61 */ li r5, 0xe61 -/* 010618 80015BB8 4BFF025D */ bl xlPostText -/* 01061C 80015BBC 38000000 */ li r0, 0 -/* 010620 80015BC0 901F0470 */ stw r0, 0x470(r31) -/* 010624 80015BC4 93DF0034 */ stw r30, 0x34(r31) -/* 010628 80015BC8 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 01062C 80015BCC 80030020 */ lwz r0, 0x20(r3) -/* 010630 80015BD0 2C000004 */ cmpwi r0, 4 -/* 010634 80015BD4 4082000C */ bne lbl_80015BE0 -/* 010638 80015BD8 38000001 */ li r0, 1 -/* 01063C 80015BDC 901F0480 */ stw r0, 0x480(r31) -lbl_80015BE0: -/* 010640 80015BE0 38000001 */ li r0, 1 -/* 010644 80015BE4 901F07A4 */ stw r0, 0x7a4(r31) -/* 010648 80015BE8 801F003C */ lwz r0, 0x3c(r31) -/* 01064C 80015BEC 28000000 */ cmplwi r0, 0 -/* 010650 80015BF0 41820014 */ beq lbl_80015C04 -/* 010654 80015BF4 387F003C */ addi r3, r31, 0x3c -/* 010658 80015BF8 4BFF14A1 */ bl xlHeapFree -/* 01065C 80015BFC 2C030000 */ cmpwi r3, 0 -/* 010660 80015C00 41820028 */ beq lbl_80015C28 -lbl_80015C04: -/* 010664 80015C04 387F003C */ addi r3, r31, 0x3c -/* 010668 80015C08 389E0000 */ addi r4, r30, 0 -/* 01066C 80015C0C 4BFF15A9 */ bl xlHeapTake -/* 010670 80015C10 2C030000 */ cmpwi r3, 0 -/* 010674 80015C14 41820014 */ beq lbl_80015C28 -/* 010678 80015C18 807F003C */ lwz r3, 0x3c(r31) -/* 01067C 80015C1C 38BE0000 */ addi r5, r30, 0 -/* 010680 80015C20 38800000 */ li r4, 0 -/* 010684 80015C24 4BFEF7AD */ bl memset -lbl_80015C28: -/* 010688 80015C28 38600001 */ li r3, 1 -/* 01068C 80015C2C 48000D10 */ b lbl_8001693C -lbl_80015C30: -/* 010690 80015C30 801F0470 */ lwz r0, 0x470(r31) -/* 010694 80015C34 2C000001 */ cmpwi r0, 1 -/* 010698 80015C38 40820020 */ bne lbl_80015C58 -/* 01069C 80015C3C 801F0348 */ lwz r0, 0x348(r31) -/* 0106A0 80015C40 2C00FFFF */ cmpwi r0, -1 -/* 0106A4 80015C44 4182000C */ beq lbl_80015C50 -/* 0106A8 80015C48 387F0348 */ addi r3, r31, 0x348 -/* 0106AC 80015C4C 480AA6F1 */ bl CARDClose -lbl_80015C50: -/* 0106B0 80015C50 807F0360 */ lwz r3, 0x360(r31) -/* 0106B4 80015C54 480A98C9 */ bl CARDUnmount -lbl_80015C58: -/* 0106B8 80015C58 387F0000 */ addi r3, r31, 0 -/* 0106BC 80015C5C 38A10034 */ addi r5, r1, 0x34 -/* 0106C0 80015C60 3880002D */ li r4, 0x2d -/* 0106C4 80015C64 4800120D */ bl mcardMenu -/* 0106C8 80015C68 48000714 */ b lbl_8001637C -lbl_80015C6C: -/* 0106CC 80015C6C 2C060003 */ cmpwi r6, 3 -/* 0106D0 80015C70 40820078 */ bne lbl_80015CE8 -/* 0106D4 80015C74 38000000 */ li r0, 0 -/* 0106D8 80015C78 901F0470 */ stw r0, 0x470(r31) -/* 0106DC 80015C7C 93DF0034 */ stw r30, 0x34(r31) -/* 0106E0 80015C80 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 0106E4 80015C84 80030020 */ lwz r0, 0x20(r3) -/* 0106E8 80015C88 2C000004 */ cmpwi r0, 4 -/* 0106EC 80015C8C 4082000C */ bne lbl_80015C98 -/* 0106F0 80015C90 38000001 */ li r0, 1 -/* 0106F4 80015C94 901F0480 */ stw r0, 0x480(r31) -lbl_80015C98: -/* 0106F8 80015C98 38000001 */ li r0, 1 -/* 0106FC 80015C9C 901F07A4 */ stw r0, 0x7a4(r31) -/* 010700 80015CA0 801F003C */ lwz r0, 0x3c(r31) -/* 010704 80015CA4 28000000 */ cmplwi r0, 0 -/* 010708 80015CA8 41820014 */ beq lbl_80015CBC -/* 01070C 80015CAC 387F003C */ addi r3, r31, 0x3c -/* 010710 80015CB0 4BFF13E9 */ bl xlHeapFree -/* 010714 80015CB4 2C030000 */ cmpwi r3, 0 -/* 010718 80015CB8 41820028 */ beq lbl_80015CE0 -lbl_80015CBC: -/* 01071C 80015CBC 387F003C */ addi r3, r31, 0x3c -/* 010720 80015CC0 389E0000 */ addi r4, r30, 0 -/* 010724 80015CC4 4BFF14F1 */ bl xlHeapTake -/* 010728 80015CC8 2C030000 */ cmpwi r3, 0 -/* 01072C 80015CCC 41820014 */ beq lbl_80015CE0 -/* 010730 80015CD0 807F003C */ lwz r3, 0x3c(r31) -/* 010734 80015CD4 38BE0000 */ addi r5, r30, 0 -/* 010738 80015CD8 38800000 */ li r4, 0 -/* 01073C 80015CDC 4BFEF6F5 */ bl memset -lbl_80015CE0: -/* 010740 80015CE0 38600001 */ li r3, 1 -/* 010744 80015CE4 48000C58 */ b lbl_8001693C -lbl_80015CE8: -/* 010748 80015CE8 2C060001 */ cmpwi r6, 1 -/* 01074C 80015CEC 4182F4E8 */ beq lbl_800151D4 -/* 010750 80015CF0 4CC63182 */ crclr 6 -/* 010754 80015CF4 387B001C */ addi r3, r27, 0x1c -/* 010758 80015CF8 389B0054 */ addi r4, r27, 0x54 -/* 01075C 80015CFC 38A00E76 */ li r5, 0xe76 -/* 010760 80015D00 4BFF0115 */ bl xlPostText -/* 010764 80015D04 38000000 */ li r0, 0 -/* 010768 80015D08 901F0470 */ stw r0, 0x470(r31) -/* 01076C 80015D0C 93DF0034 */ stw r30, 0x34(r31) -/* 010770 80015D10 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010774 80015D14 80030020 */ lwz r0, 0x20(r3) -/* 010778 80015D18 2C000004 */ cmpwi r0, 4 -/* 01077C 80015D1C 4082000C */ bne lbl_80015D28 -/* 010780 80015D20 38000001 */ li r0, 1 -/* 010784 80015D24 901F0480 */ stw r0, 0x480(r31) -lbl_80015D28: -/* 010788 80015D28 38000001 */ li r0, 1 -/* 01078C 80015D2C 901F07A4 */ stw r0, 0x7a4(r31) -/* 010790 80015D30 801F003C */ lwz r0, 0x3c(r31) -/* 010794 80015D34 28000000 */ cmplwi r0, 0 -/* 010798 80015D38 41820014 */ beq lbl_80015D4C -/* 01079C 80015D3C 387F003C */ addi r3, r31, 0x3c -/* 0107A0 80015D40 4BFF1359 */ bl xlHeapFree -/* 0107A4 80015D44 2C030000 */ cmpwi r3, 0 -/* 0107A8 80015D48 41820028 */ beq lbl_80015D70 -lbl_80015D4C: -/* 0107AC 80015D4C 387F003C */ addi r3, r31, 0x3c -/* 0107B0 80015D50 389E0000 */ addi r4, r30, 0 -/* 0107B4 80015D54 4BFF1461 */ bl xlHeapTake -/* 0107B8 80015D58 2C030000 */ cmpwi r3, 0 -/* 0107BC 80015D5C 41820014 */ beq lbl_80015D70 -/* 0107C0 80015D60 807F003C */ lwz r3, 0x3c(r31) -/* 0107C4 80015D64 38BE0000 */ addi r5, r30, 0 -/* 0107C8 80015D68 38800000 */ li r4, 0 -/* 0107CC 80015D6C 4BFEF665 */ bl memset -lbl_80015D70: -/* 0107D0 80015D70 38600001 */ li r3, 1 -/* 0107D4 80015D74 48000BC8 */ b lbl_8001693C -lbl_80015D78: -/* 0107D8 80015D78 4CC63182 */ crclr 6 -/* 0107DC 80015D7C 387B001C */ addi r3, r27, 0x1c -/* 0107E0 80015D80 389B0054 */ addi r4, r27, 0x54 -/* 0107E4 80015D84 38A00E7E */ li r5, 0xe7e -/* 0107E8 80015D88 4BFF008D */ bl xlPostText -/* 0107EC 80015D8C 931F0470 */ stw r24, 0x470(r31) -/* 0107F0 80015D90 93DF0034 */ stw r30, 0x34(r31) -/* 0107F4 80015D94 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 0107F8 80015D98 80030020 */ lwz r0, 0x20(r3) -/* 0107FC 80015D9C 2C000004 */ cmpwi r0, 4 -/* 010800 80015DA0 4082000C */ bne lbl_80015DAC -/* 010804 80015DA4 38000001 */ li r0, 1 -/* 010808 80015DA8 901F0480 */ stw r0, 0x480(r31) -lbl_80015DAC: -/* 01080C 80015DAC 38000001 */ li r0, 1 -/* 010810 80015DB0 901F07A4 */ stw r0, 0x7a4(r31) -/* 010814 80015DB4 801F003C */ lwz r0, 0x3c(r31) -/* 010818 80015DB8 28000000 */ cmplwi r0, 0 -/* 01081C 80015DBC 41820014 */ beq lbl_80015DD0 -/* 010820 80015DC0 387F003C */ addi r3, r31, 0x3c -/* 010824 80015DC4 4BFF12D5 */ bl xlHeapFree -/* 010828 80015DC8 2C030000 */ cmpwi r3, 0 -/* 01082C 80015DCC 41820028 */ beq lbl_80015DF4 -lbl_80015DD0: -/* 010830 80015DD0 387F003C */ addi r3, r31, 0x3c -/* 010834 80015DD4 389E0000 */ addi r4, r30, 0 -/* 010838 80015DD8 4BFF13DD */ bl xlHeapTake -/* 01083C 80015DDC 2C030000 */ cmpwi r3, 0 -/* 010840 80015DE0 41820014 */ beq lbl_80015DF4 -/* 010844 80015DE4 807F003C */ lwz r3, 0x3c(r31) -/* 010848 80015DE8 38BE0000 */ addi r5, r30, 0 -/* 01084C 80015DEC 38800000 */ li r4, 0 -/* 010850 80015DF0 4BFEF5E1 */ bl memset -lbl_80015DF4: -/* 010854 80015DF4 38600001 */ li r3, 1 -/* 010858 80015DF8 48000B44 */ b lbl_8001693C -lbl_80015DFC: -/* 01085C 80015DFC 7FE3FB78 */ mr r3, r31 -/* 010860 80015E00 48005455 */ bl mcardVerifyChecksumFileHeader -/* 010864 80015E04 2C030000 */ cmpwi r3, 0 -/* 010868 80015E08 40820574 */ bne lbl_8001637C -/* 01086C 80015E0C 387F0000 */ addi r3, r31, 0 -/* 010870 80015E10 38810034 */ addi r4, r1, 0x34 -/* 010874 80015E14 48000F7D */ bl mcardOpenError -/* 010878 80015E18 80C10034 */ lwz r6, 0x34(r1) -/* 01087C 80015E1C 2C060005 */ cmpwi r6, 5 -/* 010880 80015E20 40820458 */ bne lbl_80016278 -/* 010884 80015E24 38600013 */ li r3, 0x13 -/* 010888 80015E28 4BFF73C9 */ bl simulatorPrepareMessage -/* 01088C 80015E2C 7FE3FB78 */ mr r3, r31 -/* 010890 80015E30 48001C65 */ bl mcardFileErase -/* 010894 80015E34 2C030000 */ cmpwi r3, 0 -/* 010898 80015E38 40820118 */ bne lbl_80015F50 -/* 01089C 80015E3C 387F0000 */ addi r3, r31, 0 -/* 0108A0 80015E40 38810034 */ addi r4, r1, 0x34 -/* 0108A4 80015E44 48000F4D */ bl mcardOpenError -/* 0108A8 80015E48 80C10034 */ lwz r6, 0x34(r1) -/* 0108AC 80015E4C 2C060001 */ cmpwi r6, 1 -/* 0108B0 80015E50 4182F384 */ beq lbl_800151D4 -/* 0108B4 80015E54 2C060003 */ cmpwi r6, 3 -/* 0108B8 80015E58 40820074 */ bne lbl_80015ECC -/* 0108BC 80015E5C 931F0470 */ stw r24, 0x470(r31) -/* 0108C0 80015E60 93DF0034 */ stw r30, 0x34(r31) -/* 0108C4 80015E64 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 0108C8 80015E68 80030020 */ lwz r0, 0x20(r3) -/* 0108CC 80015E6C 2C000004 */ cmpwi r0, 4 -/* 0108D0 80015E70 4082000C */ bne lbl_80015E7C -/* 0108D4 80015E74 38000001 */ li r0, 1 -/* 0108D8 80015E78 901F0480 */ stw r0, 0x480(r31) -lbl_80015E7C: -/* 0108DC 80015E7C 38000001 */ li r0, 1 -/* 0108E0 80015E80 901F07A4 */ stw r0, 0x7a4(r31) -/* 0108E4 80015E84 801F003C */ lwz r0, 0x3c(r31) -/* 0108E8 80015E88 28000000 */ cmplwi r0, 0 -/* 0108EC 80015E8C 41820014 */ beq lbl_80015EA0 -/* 0108F0 80015E90 387F003C */ addi r3, r31, 0x3c -/* 0108F4 80015E94 4BFF1205 */ bl xlHeapFree -/* 0108F8 80015E98 2C030000 */ cmpwi r3, 0 -/* 0108FC 80015E9C 41820028 */ beq lbl_80015EC4 -lbl_80015EA0: -/* 010900 80015EA0 387F003C */ addi r3, r31, 0x3c -/* 010904 80015EA4 389E0000 */ addi r4, r30, 0 -/* 010908 80015EA8 4BFF130D */ bl xlHeapTake -/* 01090C 80015EAC 2C030000 */ cmpwi r3, 0 -/* 010910 80015EB0 41820014 */ beq lbl_80015EC4 -/* 010914 80015EB4 807F003C */ lwz r3, 0x3c(r31) -/* 010918 80015EB8 38BE0000 */ addi r5, r30, 0 -/* 01091C 80015EBC 38800000 */ li r4, 0 -/* 010920 80015EC0 4BFEF511 */ bl memset -lbl_80015EC4: -/* 010924 80015EC4 38600001 */ li r3, 1 -/* 010928 80015EC8 48000A74 */ b lbl_8001693C -lbl_80015ECC: -/* 01092C 80015ECC 4CC63182 */ crclr 6 -/* 010930 80015ED0 387B001C */ addi r3, r27, 0x1c -/* 010934 80015ED4 389B0054 */ addi r4, r27, 0x54 -/* 010938 80015ED8 38A00E9C */ li r5, 0xe9c -/* 01093C 80015EDC 4BFEFF39 */ bl xlPostText -/* 010940 80015EE0 931F0470 */ stw r24, 0x470(r31) -/* 010944 80015EE4 93DF0034 */ stw r30, 0x34(r31) -/* 010948 80015EE8 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 01094C 80015EEC 80030020 */ lwz r0, 0x20(r3) -/* 010950 80015EF0 2C000004 */ cmpwi r0, 4 -/* 010954 80015EF4 4082000C */ bne lbl_80015F00 -/* 010958 80015EF8 38000001 */ li r0, 1 -/* 01095C 80015EFC 901F0480 */ stw r0, 0x480(r31) -lbl_80015F00: -/* 010960 80015F00 38000001 */ li r0, 1 -/* 010964 80015F04 901F07A4 */ stw r0, 0x7a4(r31) -/* 010968 80015F08 801F003C */ lwz r0, 0x3c(r31) -/* 01096C 80015F0C 28000000 */ cmplwi r0, 0 -/* 010970 80015F10 41820014 */ beq lbl_80015F24 -/* 010974 80015F14 387F003C */ addi r3, r31, 0x3c -/* 010978 80015F18 4BFF1181 */ bl xlHeapFree -/* 01097C 80015F1C 2C030000 */ cmpwi r3, 0 -/* 010980 80015F20 41820028 */ beq lbl_80015F48 -lbl_80015F24: -/* 010984 80015F24 387F003C */ addi r3, r31, 0x3c -/* 010988 80015F28 389E0000 */ addi r4, r30, 0 -/* 01098C 80015F2C 4BFF1289 */ bl xlHeapTake -/* 010990 80015F30 2C030000 */ cmpwi r3, 0 -/* 010994 80015F34 41820014 */ beq lbl_80015F48 -/* 010998 80015F38 807F003C */ lwz r3, 0x3c(r31) -/* 01099C 80015F3C 38BE0000 */ addi r5, r30, 0 -/* 0109A0 80015F40 38800000 */ li r4, 0 -/* 0109A4 80015F44 4BFEF48D */ bl memset -lbl_80015F48: -/* 0109A8 80015F48 38600001 */ li r3, 1 -/* 0109AC 80015F4C 480009F0 */ b lbl_8001693C -lbl_80015F50: -/* 0109B0 80015F50 38000002 */ li r0, 2 -/* 0109B4 80015F54 901F048C */ stw r0, 0x48c(r31) -/* 0109B8 80015F58 387F0000 */ addi r3, r31, 0 -/* 0109BC 80015F5C 389C0000 */ addi r4, r28, 0 -/* 0109C0 80015F60 38B90000 */ addi r5, r25, 0 -/* 0109C4 80015F64 38D70000 */ addi r6, r23, 0 -/* 0109C8 80015F68 38F60000 */ addi r7, r22, 0 -/* 0109CC 80015F6C 391A0000 */ addi r8, r26, 0 -/* 0109D0 80015F70 48002689 */ bl mcardFileCreate -/* 0109D4 80015F74 2C030000 */ cmpwi r3, 0 -/* 0109D8 80015F78 40820024 */ bne lbl_80015F9C -/* 0109DC 80015F7C 801F035C */ lwz r0, 0x35c(r31) -/* 0109E0 80015F80 2C000003 */ cmpwi r0, 3 -/* 0109E4 80015F84 4182F250 */ beq lbl_800151D4 -/* 0109E8 80015F88 387F0000 */ addi r3, r31, 0 -/* 0109EC 80015F8C 38A10034 */ addi r5, r1, 0x34 -/* 0109F0 80015F90 3880002E */ li r4, 0x2e -/* 0109F4 80015F94 48000EDD */ bl mcardMenu -/* 0109F8 80015F98 4BFFF23C */ b lbl_800151D4 -lbl_80015F9C: -/* 0109FC 80015F9C 387F0000 */ addi r3, r31, 0 -/* 010A00 80015FA0 389C0000 */ addi r4, r28, 0 -/* 010A04 80015FA4 480030B5 */ bl mcardFileSet -/* 010A08 80015FA8 2C030000 */ cmpwi r3, 0 -/* 010A0C 80015FAC 40820118 */ bne lbl_800160C4 -/* 010A10 80015FB0 387F0000 */ addi r3, r31, 0 -/* 010A14 80015FB4 38810034 */ addi r4, r1, 0x34 -/* 010A18 80015FB8 48000DD9 */ bl mcardOpenError -/* 010A1C 80015FBC 80C10034 */ lwz r6, 0x34(r1) -/* 010A20 80015FC0 2C060001 */ cmpwi r6, 1 -/* 010A24 80015FC4 4182F210 */ beq lbl_800151D4 -/* 010A28 80015FC8 2C060003 */ cmpwi r6, 3 -/* 010A2C 80015FCC 40820074 */ bne lbl_80016040 -/* 010A30 80015FD0 931F0470 */ stw r24, 0x470(r31) -/* 010A34 80015FD4 93DF0034 */ stw r30, 0x34(r31) -/* 010A38 80015FD8 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010A3C 80015FDC 80030020 */ lwz r0, 0x20(r3) -/* 010A40 80015FE0 2C000004 */ cmpwi r0, 4 -/* 010A44 80015FE4 4082000C */ bne lbl_80015FF0 -/* 010A48 80015FE8 38000001 */ li r0, 1 -/* 010A4C 80015FEC 901F0480 */ stw r0, 0x480(r31) -lbl_80015FF0: -/* 010A50 80015FF0 38000001 */ li r0, 1 -/* 010A54 80015FF4 901F07A4 */ stw r0, 0x7a4(r31) -/* 010A58 80015FF8 801F003C */ lwz r0, 0x3c(r31) -/* 010A5C 80015FFC 28000000 */ cmplwi r0, 0 -/* 010A60 80016000 41820014 */ beq lbl_80016014 -/* 010A64 80016004 387F003C */ addi r3, r31, 0x3c -/* 010A68 80016008 4BFF1091 */ bl xlHeapFree -/* 010A6C 8001600C 2C030000 */ cmpwi r3, 0 -/* 010A70 80016010 41820028 */ beq lbl_80016038 -lbl_80016014: -/* 010A74 80016014 387F003C */ addi r3, r31, 0x3c -/* 010A78 80016018 389E0000 */ addi r4, r30, 0 -/* 010A7C 8001601C 4BFF1199 */ bl xlHeapTake -/* 010A80 80016020 2C030000 */ cmpwi r3, 0 -/* 010A84 80016024 41820014 */ beq lbl_80016038 -/* 010A88 80016028 807F003C */ lwz r3, 0x3c(r31) -/* 010A8C 8001602C 38BE0000 */ addi r5, r30, 0 -/* 010A90 80016030 38800000 */ li r4, 0 -/* 010A94 80016034 4BFEF39D */ bl memset -lbl_80016038: -/* 010A98 80016038 38600001 */ li r3, 1 -/* 010A9C 8001603C 48000900 */ b lbl_8001693C -lbl_80016040: -/* 010AA0 80016040 4CC63182 */ crclr 6 -/* 010AA4 80016044 387B001C */ addi r3, r27, 0x1c -/* 010AA8 80016048 389B0054 */ addi r4, r27, 0x54 -/* 010AAC 8001604C 38A00EB8 */ li r5, 0xeb8 -/* 010AB0 80016050 4BFEFDC5 */ bl xlPostText -/* 010AB4 80016054 931F0470 */ stw r24, 0x470(r31) -/* 010AB8 80016058 93DF0034 */ stw r30, 0x34(r31) -/* 010ABC 8001605C 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010AC0 80016060 80030020 */ lwz r0, 0x20(r3) -/* 010AC4 80016064 2C000004 */ cmpwi r0, 4 -/* 010AC8 80016068 4082000C */ bne lbl_80016074 -/* 010ACC 8001606C 38000001 */ li r0, 1 -/* 010AD0 80016070 901F0480 */ stw r0, 0x480(r31) -lbl_80016074: -/* 010AD4 80016074 38000001 */ li r0, 1 -/* 010AD8 80016078 901F07A4 */ stw r0, 0x7a4(r31) -/* 010ADC 8001607C 801F003C */ lwz r0, 0x3c(r31) -/* 010AE0 80016080 28000000 */ cmplwi r0, 0 -/* 010AE4 80016084 41820014 */ beq lbl_80016098 -/* 010AE8 80016088 387F003C */ addi r3, r31, 0x3c -/* 010AEC 8001608C 4BFF100D */ bl xlHeapFree -/* 010AF0 80016090 2C030000 */ cmpwi r3, 0 -/* 010AF4 80016094 41820028 */ beq lbl_800160BC -lbl_80016098: -/* 010AF8 80016098 387F003C */ addi r3, r31, 0x3c -/* 010AFC 8001609C 389E0000 */ addi r4, r30, 0 -/* 010B00 800160A0 4BFF1115 */ bl xlHeapTake -/* 010B04 800160A4 2C030000 */ cmpwi r3, 0 -/* 010B08 800160A8 41820014 */ beq lbl_800160BC -/* 010B0C 800160AC 807F003C */ lwz r3, 0x3c(r31) -/* 010B10 800160B0 38BE0000 */ addi r5, r30, 0 -/* 010B14 800160B4 38800000 */ li r4, 0 -/* 010B18 800160B8 4BFEF319 */ bl memset -lbl_800160BC: -/* 010B1C 800160BC 38600001 */ li r3, 1 -/* 010B20 800160C0 4800087C */ b lbl_8001693C -lbl_800160C4: -/* 010B24 800160C4 801F0470 */ lwz r0, 0x470(r31) -/* 010B28 800160C8 2C000001 */ cmpwi r0, 1 -/* 010B2C 800160CC 40820048 */ bne lbl_80016114 -/* 010B30 800160D0 7FE3FB78 */ mr r3, r31 -/* 010B34 800160D4 48004F01 */ bl mcardReadyCard -/* 010B38 800160D8 2C030000 */ cmpwi r3, 0 -/* 010B3C 800160DC 40820008 */ bne lbl_800160E4 -/* 010B40 800160E0 48000038 */ b lbl_80016118 -lbl_800160E4: -/* 010B44 800160E4 807F0360 */ lwz r3, 0x360(r31) -/* 010B48 800160E8 389F0008 */ addi r4, r31, 8 -/* 010B4C 800160EC 38BF0348 */ addi r5, r31, 0x348 -/* 010B50 800160F0 480AA131 */ bl CARDOpen -/* 010B54 800160F4 38830000 */ addi r4, r3, 0 -/* 010B58 800160F8 387F0000 */ addi r3, r31, 0 -/* 010B5C 800160FC 480061A5 */ bl mcardGCErrorHandler -/* 010B60 80016100 2C030001 */ cmpwi r3, 1 -/* 010B64 80016104 41820010 */ beq lbl_80016114 -/* 010B68 80016108 807F0360 */ lwz r3, 0x360(r31) -/* 010B6C 8001610C 480A9411 */ bl CARDUnmount -/* 010B70 80016110 48000008 */ b lbl_80016118 -lbl_80016114: -/* 010B74 80016114 3B000001 */ li r24, 1 -lbl_80016118: -/* 010B78 80016118 2C180000 */ cmpwi r24, 0 -/* 010B7C 8001611C 40820120 */ bne lbl_8001623C -/* 010B80 80016120 387F0000 */ addi r3, r31, 0 -/* 010B84 80016124 38810034 */ addi r4, r1, 0x34 -/* 010B88 80016128 48000C69 */ bl mcardOpenError -/* 010B8C 8001612C 80C10034 */ lwz r6, 0x34(r1) -/* 010B90 80016130 2C060001 */ cmpwi r6, 1 -/* 010B94 80016134 4182F0A0 */ beq lbl_800151D4 -/* 010B98 80016138 2C060003 */ cmpwi r6, 3 -/* 010B9C 8001613C 40820078 */ bne lbl_800161B4 -/* 010BA0 80016140 38000000 */ li r0, 0 -/* 010BA4 80016144 901F0470 */ stw r0, 0x470(r31) -/* 010BA8 80016148 93DF0034 */ stw r30, 0x34(r31) -/* 010BAC 8001614C 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010BB0 80016150 80030020 */ lwz r0, 0x20(r3) -/* 010BB4 80016154 2C000004 */ cmpwi r0, 4 -/* 010BB8 80016158 4082000C */ bne lbl_80016164 -/* 010BBC 8001615C 38000001 */ li r0, 1 -/* 010BC0 80016160 901F0480 */ stw r0, 0x480(r31) -lbl_80016164: -/* 010BC4 80016164 38000001 */ li r0, 1 -/* 010BC8 80016168 901F07A4 */ stw r0, 0x7a4(r31) -/* 010BCC 8001616C 801F003C */ lwz r0, 0x3c(r31) -/* 010BD0 80016170 28000000 */ cmplwi r0, 0 -/* 010BD4 80016174 41820014 */ beq lbl_80016188 -/* 010BD8 80016178 387F003C */ addi r3, r31, 0x3c -/* 010BDC 8001617C 4BFF0F1D */ bl xlHeapFree -/* 010BE0 80016180 2C030000 */ cmpwi r3, 0 -/* 010BE4 80016184 41820028 */ beq lbl_800161AC -lbl_80016188: -/* 010BE8 80016188 387F003C */ addi r3, r31, 0x3c -/* 010BEC 8001618C 389E0000 */ addi r4, r30, 0 -/* 010BF0 80016190 4BFF1025 */ bl xlHeapTake -/* 010BF4 80016194 2C030000 */ cmpwi r3, 0 -/* 010BF8 80016198 41820014 */ beq lbl_800161AC -/* 010BFC 8001619C 807F003C */ lwz r3, 0x3c(r31) -/* 010C00 800161A0 38BE0000 */ addi r5, r30, 0 -/* 010C04 800161A4 38800000 */ li r4, 0 -/* 010C08 800161A8 4BFEF229 */ bl memset -lbl_800161AC: -/* 010C0C 800161AC 38600001 */ li r3, 1 -/* 010C10 800161B0 4800078C */ b lbl_8001693C -lbl_800161B4: -/* 010C14 800161B4 4CC63182 */ crclr 6 -/* 010C18 800161B8 387B001C */ addi r3, r27, 0x1c -/* 010C1C 800161BC 389B0054 */ addi r4, r27, 0x54 -/* 010C20 800161C0 38A00ECD */ li r5, 0xecd -/* 010C24 800161C4 4BFEFC51 */ bl xlPostText -/* 010C28 800161C8 38000000 */ li r0, 0 -/* 010C2C 800161CC 901F0470 */ stw r0, 0x470(r31) -/* 010C30 800161D0 93DF0034 */ stw r30, 0x34(r31) -/* 010C34 800161D4 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010C38 800161D8 80030020 */ lwz r0, 0x20(r3) -/* 010C3C 800161DC 2C000004 */ cmpwi r0, 4 -/* 010C40 800161E0 4082000C */ bne lbl_800161EC -/* 010C44 800161E4 38000001 */ li r0, 1 -/* 010C48 800161E8 901F0480 */ stw r0, 0x480(r31) -lbl_800161EC: -/* 010C4C 800161EC 38000001 */ li r0, 1 -/* 010C50 800161F0 901F07A4 */ stw r0, 0x7a4(r31) -/* 010C54 800161F4 801F003C */ lwz r0, 0x3c(r31) -/* 010C58 800161F8 28000000 */ cmplwi r0, 0 -/* 010C5C 800161FC 41820014 */ beq lbl_80016210 -/* 010C60 80016200 387F003C */ addi r3, r31, 0x3c -/* 010C64 80016204 4BFF0E95 */ bl xlHeapFree -/* 010C68 80016208 2C030000 */ cmpwi r3, 0 -/* 010C6C 8001620C 41820028 */ beq lbl_80016234 -lbl_80016210: -/* 010C70 80016210 387F003C */ addi r3, r31, 0x3c -/* 010C74 80016214 389E0000 */ addi r4, r30, 0 -/* 010C78 80016218 4BFF0F9D */ bl xlHeapTake -/* 010C7C 8001621C 2C030000 */ cmpwi r3, 0 -/* 010C80 80016220 41820014 */ beq lbl_80016234 -/* 010C84 80016224 807F003C */ lwz r3, 0x3c(r31) -/* 010C88 80016228 38BE0000 */ addi r5, r30, 0 -/* 010C8C 8001622C 38800000 */ li r4, 0 -/* 010C90 80016230 4BFEF1A1 */ bl memset -lbl_80016234: -/* 010C94 80016234 38600001 */ li r3, 1 -/* 010C98 80016238 48000704 */ b lbl_8001693C -lbl_8001623C: -/* 010C9C 8001623C 801F0470 */ lwz r0, 0x470(r31) -/* 010CA0 80016240 2C000001 */ cmpwi r0, 1 -/* 010CA4 80016244 40820020 */ bne lbl_80016264 -/* 010CA8 80016248 801F0348 */ lwz r0, 0x348(r31) -/* 010CAC 8001624C 2C00FFFF */ cmpwi r0, -1 -/* 010CB0 80016250 4182000C */ beq lbl_8001625C -/* 010CB4 80016254 387F0348 */ addi r3, r31, 0x348 -/* 010CB8 80016258 480AA0E5 */ bl CARDClose -lbl_8001625C: -/* 010CBC 8001625C 807F0360 */ lwz r3, 0x360(r31) -/* 010CC0 80016260 480A92BD */ bl CARDUnmount -lbl_80016264: -/* 010CC4 80016264 387F0000 */ addi r3, r31, 0 -/* 010CC8 80016268 38A10034 */ addi r5, r1, 0x34 -/* 010CCC 8001626C 3880002D */ li r4, 0x2d -/* 010CD0 80016270 48000C01 */ bl mcardMenu -/* 010CD4 80016274 4BFFEF60 */ b lbl_800151D4 -lbl_80016278: -/* 010CD8 80016278 2C060003 */ cmpwi r6, 3 -/* 010CDC 8001627C 40820074 */ bne lbl_800162F0 -/* 010CE0 80016280 931F0470 */ stw r24, 0x470(r31) -/* 010CE4 80016284 93DF0034 */ stw r30, 0x34(r31) -/* 010CE8 80016288 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010CEC 8001628C 80030020 */ lwz r0, 0x20(r3) -/* 010CF0 80016290 2C000004 */ cmpwi r0, 4 -/* 010CF4 80016294 4082000C */ bne lbl_800162A0 -/* 010CF8 80016298 38000001 */ li r0, 1 -/* 010CFC 8001629C 901F0480 */ stw r0, 0x480(r31) -lbl_800162A0: -/* 010D00 800162A0 38000001 */ li r0, 1 -/* 010D04 800162A4 901F07A4 */ stw r0, 0x7a4(r31) -/* 010D08 800162A8 801F003C */ lwz r0, 0x3c(r31) -/* 010D0C 800162AC 28000000 */ cmplwi r0, 0 -/* 010D10 800162B0 41820014 */ beq lbl_800162C4 -/* 010D14 800162B4 387F003C */ addi r3, r31, 0x3c -/* 010D18 800162B8 4BFF0DE1 */ bl xlHeapFree -/* 010D1C 800162BC 2C030000 */ cmpwi r3, 0 -/* 010D20 800162C0 41820028 */ beq lbl_800162E8 -lbl_800162C4: -/* 010D24 800162C4 387F003C */ addi r3, r31, 0x3c -/* 010D28 800162C8 389E0000 */ addi r4, r30, 0 -/* 010D2C 800162CC 4BFF0EE9 */ bl xlHeapTake -/* 010D30 800162D0 2C030000 */ cmpwi r3, 0 -/* 010D34 800162D4 41820014 */ beq lbl_800162E8 -/* 010D38 800162D8 807F003C */ lwz r3, 0x3c(r31) -/* 010D3C 800162DC 38BE0000 */ addi r5, r30, 0 -/* 010D40 800162E0 38800000 */ li r4, 0 -/* 010D44 800162E4 4BFEF0ED */ bl memset -lbl_800162E8: -/* 010D48 800162E8 38600001 */ li r3, 1 -/* 010D4C 800162EC 48000650 */ b lbl_8001693C -lbl_800162F0: -/* 010D50 800162F0 2C060001 */ cmpwi r6, 1 -/* 010D54 800162F4 4182EEE0 */ beq lbl_800151D4 -/* 010D58 800162F8 4CC63182 */ crclr 6 -/* 010D5C 800162FC 387B001C */ addi r3, r27, 0x1c -/* 010D60 80016300 389B0054 */ addi r4, r27, 0x54 -/* 010D64 80016304 38A00EE3 */ li r5, 0xee3 -/* 010D68 80016308 4BFEFB0D */ bl xlPostText -/* 010D6C 8001630C 931F0470 */ stw r24, 0x470(r31) -/* 010D70 80016310 93DF0034 */ stw r30, 0x34(r31) -/* 010D74 80016314 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010D78 80016318 80030020 */ lwz r0, 0x20(r3) -/* 010D7C 8001631C 2C000004 */ cmpwi r0, 4 -/* 010D80 80016320 4082000C */ bne lbl_8001632C -/* 010D84 80016324 38000001 */ li r0, 1 -/* 010D88 80016328 901F0480 */ stw r0, 0x480(r31) -lbl_8001632C: -/* 010D8C 8001632C 38000001 */ li r0, 1 -/* 010D90 80016330 901F07A4 */ stw r0, 0x7a4(r31) -/* 010D94 80016334 801F003C */ lwz r0, 0x3c(r31) -/* 010D98 80016338 28000000 */ cmplwi r0, 0 -/* 010D9C 8001633C 41820014 */ beq lbl_80016350 -/* 010DA0 80016340 387F003C */ addi r3, r31, 0x3c -/* 010DA4 80016344 4BFF0D55 */ bl xlHeapFree -/* 010DA8 80016348 2C030000 */ cmpwi r3, 0 -/* 010DAC 8001634C 41820028 */ beq lbl_80016374 -lbl_80016350: -/* 010DB0 80016350 387F003C */ addi r3, r31, 0x3c -/* 010DB4 80016354 389E0000 */ addi r4, r30, 0 -/* 010DB8 80016358 4BFF0E5D */ bl xlHeapTake -/* 010DBC 8001635C 2C030000 */ cmpwi r3, 0 -/* 010DC0 80016360 41820014 */ beq lbl_80016374 -/* 010DC4 80016364 807F003C */ lwz r3, 0x3c(r31) -/* 010DC8 80016368 38BE0000 */ addi r5, r30, 0 -/* 010DCC 8001636C 38800000 */ li r4, 0 -/* 010DD0 80016370 4BFEF061 */ bl memset -lbl_80016374: -/* 010DD4 80016374 38600001 */ li r3, 1 -/* 010DD8 80016378 480005C4 */ b lbl_8001693C -lbl_8001637C: -/* 010DDC 8001637C 801F07AC */ lwz r0, 0x7ac(r31) -/* 010DE0 80016380 2C000001 */ cmpwi r0, 1 -/* 010DE4 80016384 40820020 */ bne lbl_800163A4 -/* 010DE8 80016388 387F0000 */ addi r3, r31, 0 -/* 010DEC 8001638C 38A10034 */ addi r5, r1, 0x34 -/* 010DF0 80016390 38800000 */ li r4, 0 -/* 010DF4 80016394 48000ADD */ bl mcardMenu -/* 010DF8 80016398 801F07AC */ lwz r0, 0x7ac(r31) -/* 010DFC 8001639C 2C000001 */ cmpwi r0, 1 -/* 010E00 800163A0 4182EE34 */ beq lbl_800151D4 -lbl_800163A4: -/* 010E04 800163A4 3A600000 */ li r19, 0 -/* 010E08 800163A8 1C130021 */ mulli r0, r19, 0x21 -/* 010E0C 800163AC 7F1F0214 */ add r24, r31, r0 -lbl_800163B0: -/* 010E10 800163B0 387D0000 */ addi r3, r29, 0 -/* 010E14 800163B4 38980110 */ addi r4, r24, 0x110 -/* 010E18 800163B8 480BA489 */ bl strcmp -/* 010E1C 800163BC 2C030000 */ cmpwi r3, 0 -/* 010E20 800163C0 4082000C */ bne lbl_800163CC -/* 010E24 800163C4 38000001 */ li r0, 1 -/* 010E28 800163C8 48000008 */ b lbl_800163D0 -lbl_800163CC: -/* 010E2C 800163CC 38000000 */ li r0, 0 -lbl_800163D0: -/* 010E30 800163D0 2C000001 */ cmpwi r0, 1 -/* 010E34 800163D4 41820014 */ beq lbl_800163E8 -/* 010E38 800163D8 3A730001 */ addi r19, r19, 1 -/* 010E3C 800163DC 2C130010 */ cmpwi r19, 0x10 -/* 010E40 800163E0 3B180021 */ addi r24, r24, 0x21 -/* 010E44 800163E4 4180FFCC */ blt lbl_800163B0 -lbl_800163E8: -/* 010E48 800163E8 2C130010 */ cmpwi r19, 0x10 -/* 010E4C 800163EC 4082016C */ bne lbl_80016558 -/* 010E50 800163F0 38000002 */ li r0, 2 -/* 010E54 800163F4 901F048C */ stw r0, 0x48c(r31) -/* 010E58 800163F8 3860002A */ li r3, 0x2a -/* 010E5C 800163FC 4BFF6DF5 */ bl simulatorPrepareMessage -/* 010E60 80016400 80B50000 */ lwz r5, 0(r21) -/* 010E64 80016404 387F0000 */ addi r3, r31, 0 -/* 010E68 80016408 389D0000 */ addi r4, r29, 0 -/* 010E6C 8001640C 38DE0000 */ addi r6, r30, 0 -/* 010E70 80016410 48001951 */ bl mcardGameCreate -/* 010E74 80016414 2C030000 */ cmpwi r3, 0 -/* 010E78 80016418 40820010 */ bne lbl_80016428 -/* 010E7C 8001641C 38000001 */ li r0, 1 -/* 010E80 80016420 901F07B0 */ stw r0, 0x7b0(r31) -/* 010E84 80016424 4BFFEDB0 */ b lbl_800151D4 -lbl_80016428: -/* 010E88 80016428 387F0000 */ addi r3, r31, 0 -/* 010E8C 8001642C 389D0000 */ addi r4, r29, 0 -/* 010E90 80016430 48002821 */ bl mcardGameSet -/* 010E94 80016434 2C030000 */ cmpwi r3, 0 -/* 010E98 80016438 408204F0 */ bne lbl_80016928 -/* 010E9C 8001643C 387F0000 */ addi r3, r31, 0 -/* 010EA0 80016440 38810034 */ addi r4, r1, 0x34 -/* 010EA4 80016444 4800094D */ bl mcardOpenError -/* 010EA8 80016448 80C10034 */ lwz r6, 0x34(r1) -/* 010EAC 8001644C 2C060001 */ cmpwi r6, 1 -/* 010EB0 80016450 4182ED84 */ beq lbl_800151D4 -/* 010EB4 80016454 2C060003 */ cmpwi r6, 3 -/* 010EB8 80016458 40820078 */ bne lbl_800164D0 -/* 010EBC 8001645C 38000000 */ li r0, 0 -/* 010EC0 80016460 901F0470 */ stw r0, 0x470(r31) -/* 010EC4 80016464 93DF0034 */ stw r30, 0x34(r31) -/* 010EC8 80016468 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010ECC 8001646C 80030020 */ lwz r0, 0x20(r3) -/* 010ED0 80016470 2C000004 */ cmpwi r0, 4 -/* 010ED4 80016474 4082000C */ bne lbl_80016480 -/* 010ED8 80016478 38000001 */ li r0, 1 -/* 010EDC 8001647C 901F0480 */ stw r0, 0x480(r31) -lbl_80016480: -/* 010EE0 80016480 38000001 */ li r0, 1 -/* 010EE4 80016484 901F07A4 */ stw r0, 0x7a4(r31) -/* 010EE8 80016488 801F003C */ lwz r0, 0x3c(r31) -/* 010EEC 8001648C 28000000 */ cmplwi r0, 0 -/* 010EF0 80016490 41820014 */ beq lbl_800164A4 -/* 010EF4 80016494 387F003C */ addi r3, r31, 0x3c -/* 010EF8 80016498 4BFF0C01 */ bl xlHeapFree -/* 010EFC 8001649C 2C030000 */ cmpwi r3, 0 -/* 010F00 800164A0 41820028 */ beq lbl_800164C8 -lbl_800164A4: -/* 010F04 800164A4 387F003C */ addi r3, r31, 0x3c -/* 010F08 800164A8 389E0000 */ addi r4, r30, 0 -/* 010F0C 800164AC 4BFF0D09 */ bl xlHeapTake -/* 010F10 800164B0 2C030000 */ cmpwi r3, 0 -/* 010F14 800164B4 41820014 */ beq lbl_800164C8 -/* 010F18 800164B8 807F003C */ lwz r3, 0x3c(r31) -/* 010F1C 800164BC 38BE0000 */ addi r5, r30, 0 -/* 010F20 800164C0 38800000 */ li r4, 0 -/* 010F24 800164C4 4BFEEF0D */ bl memset -lbl_800164C8: -/* 010F28 800164C8 38600001 */ li r3, 1 -/* 010F2C 800164CC 48000470 */ b lbl_8001693C -lbl_800164D0: -/* 010F30 800164D0 4CC63182 */ crclr 6 -/* 010F34 800164D4 387B001C */ addi r3, r27, 0x1c -/* 010F38 800164D8 389B0054 */ addi r4, r27, 0x54 -/* 010F3C 800164DC 38A00F12 */ li r5, 0xf12 -/* 010F40 800164E0 4BFEF935 */ bl xlPostText -/* 010F44 800164E4 38000000 */ li r0, 0 -/* 010F48 800164E8 901F0470 */ stw r0, 0x470(r31) -/* 010F4C 800164EC 93DF0034 */ stw r30, 0x34(r31) -/* 010F50 800164F0 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 010F54 800164F4 80030020 */ lwz r0, 0x20(r3) -/* 010F58 800164F8 2C000004 */ cmpwi r0, 4 -/* 010F5C 800164FC 4082000C */ bne lbl_80016508 -/* 010F60 80016500 38000001 */ li r0, 1 -/* 010F64 80016504 901F0480 */ stw r0, 0x480(r31) -lbl_80016508: -/* 010F68 80016508 38000001 */ li r0, 1 -/* 010F6C 8001650C 901F07A4 */ stw r0, 0x7a4(r31) -/* 010F70 80016510 801F003C */ lwz r0, 0x3c(r31) -/* 010F74 80016514 28000000 */ cmplwi r0, 0 -/* 010F78 80016518 41820014 */ beq lbl_8001652C -/* 010F7C 8001651C 387F003C */ addi r3, r31, 0x3c -/* 010F80 80016520 4BFF0B79 */ bl xlHeapFree -/* 010F84 80016524 2C030000 */ cmpwi r3, 0 -/* 010F88 80016528 41820028 */ beq lbl_80016550 -lbl_8001652C: -/* 010F8C 8001652C 387F003C */ addi r3, r31, 0x3c -/* 010F90 80016530 389E0000 */ addi r4, r30, 0 -/* 010F94 80016534 4BFF0C81 */ bl xlHeapTake -/* 010F98 80016538 2C030000 */ cmpwi r3, 0 -/* 010F9C 8001653C 41820014 */ beq lbl_80016550 -/* 010FA0 80016540 807F003C */ lwz r3, 0x3c(r31) -/* 010FA4 80016544 38BE0000 */ addi r5, r30, 0 -/* 010FA8 80016548 38800000 */ li r4, 0 -/* 010FAC 8001654C 4BFEEE85 */ bl memset -lbl_80016550: -/* 010FB0 80016550 38600001 */ li r3, 1 -/* 010FB4 80016554 480003E8 */ b lbl_8001693C -lbl_80016558: -/* 010FB8 80016558 387F0000 */ addi r3, r31, 0 -/* 010FBC 8001655C 389D0000 */ addi r4, r29, 0 -/* 010FC0 80016560 480026F1 */ bl mcardGameSet -/* 010FC4 80016564 2C030000 */ cmpwi r3, 0 -/* 010FC8 80016568 408203C0 */ bne lbl_80016928 -/* 010FCC 8001656C 387F0000 */ addi r3, r31, 0 -/* 010FD0 80016570 38810034 */ addi r4, r1, 0x34 -/* 010FD4 80016574 4800081D */ bl mcardOpenError -/* 010FD8 80016578 80C10034 */ lwz r6, 0x34(r1) -/* 010FDC 8001657C 2C060005 */ cmpwi r6, 5 -/* 010FE0 80016580 4082029C */ bne lbl_8001681C -/* 010FE4 80016584 387F0000 */ addi r3, r31, 0 -/* 010FE8 80016588 38930000 */ addi r4, r19, 0 -/* 010FEC 8001658C 48001361 */ bl mcardGameErase -/* 010FF0 80016590 2C030000 */ cmpwi r3, 0 -/* 010FF4 80016594 40820120 */ bne lbl_800166B4 -/* 010FF8 80016598 387F0000 */ addi r3, r31, 0 -/* 010FFC 8001659C 38810034 */ addi r4, r1, 0x34 -/* 011000 800165A0 480007F1 */ bl mcardOpenError -/* 011004 800165A4 80C10034 */ lwz r6, 0x34(r1) -/* 011008 800165A8 2C060001 */ cmpwi r6, 1 -/* 01100C 800165AC 4182EC28 */ beq lbl_800151D4 -/* 011010 800165B0 2C060003 */ cmpwi r6, 3 -/* 011014 800165B4 40820078 */ bne lbl_8001662C -/* 011018 800165B8 38000000 */ li r0, 0 -/* 01101C 800165BC 901F0470 */ stw r0, 0x470(r31) -/* 011020 800165C0 93DF0034 */ stw r30, 0x34(r31) -/* 011024 800165C4 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 011028 800165C8 80030020 */ lwz r0, 0x20(r3) -/* 01102C 800165CC 2C000004 */ cmpwi r0, 4 -/* 011030 800165D0 4082000C */ bne lbl_800165DC -/* 011034 800165D4 38000001 */ li r0, 1 -/* 011038 800165D8 901F0480 */ stw r0, 0x480(r31) -lbl_800165DC: -/* 01103C 800165DC 38000001 */ li r0, 1 -/* 011040 800165E0 901F07A4 */ stw r0, 0x7a4(r31) -/* 011044 800165E4 801F003C */ lwz r0, 0x3c(r31) -/* 011048 800165E8 28000000 */ cmplwi r0, 0 -/* 01104C 800165EC 41820014 */ beq lbl_80016600 -/* 011050 800165F0 387F003C */ addi r3, r31, 0x3c -/* 011054 800165F4 4BFF0AA5 */ bl xlHeapFree -/* 011058 800165F8 2C030000 */ cmpwi r3, 0 -/* 01105C 800165FC 41820028 */ beq lbl_80016624 -lbl_80016600: -/* 011060 80016600 387F003C */ addi r3, r31, 0x3c -/* 011064 80016604 389E0000 */ addi r4, r30, 0 -/* 011068 80016608 4BFF0BAD */ bl xlHeapTake -/* 01106C 8001660C 2C030000 */ cmpwi r3, 0 -/* 011070 80016610 41820014 */ beq lbl_80016624 -/* 011074 80016614 807F003C */ lwz r3, 0x3c(r31) -/* 011078 80016618 38BE0000 */ addi r5, r30, 0 -/* 01107C 8001661C 38800000 */ li r4, 0 -/* 011080 80016620 4BFEEDB1 */ bl memset -lbl_80016624: -/* 011084 80016624 38600001 */ li r3, 1 -/* 011088 80016628 48000314 */ b lbl_8001693C -lbl_8001662C: -/* 01108C 8001662C 4CC63182 */ crclr 6 -/* 011090 80016630 387B001C */ addi r3, r27, 0x1c -/* 011094 80016634 389B0054 */ addi r4, r27, 0x54 -/* 011098 80016638 38A00F2F */ li r5, 0xf2f -/* 01109C 8001663C 4BFEF7D9 */ bl xlPostText -/* 0110A0 80016640 38000000 */ li r0, 0 -/* 0110A4 80016644 901F0470 */ stw r0, 0x470(r31) -/* 0110A8 80016648 93DF0034 */ stw r30, 0x34(r31) -/* 0110AC 8001664C 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 0110B0 80016650 80030020 */ lwz r0, 0x20(r3) -/* 0110B4 80016654 2C000004 */ cmpwi r0, 4 -/* 0110B8 80016658 4082000C */ bne lbl_80016664 -/* 0110BC 8001665C 38000001 */ li r0, 1 -/* 0110C0 80016660 901F0480 */ stw r0, 0x480(r31) -lbl_80016664: -/* 0110C4 80016664 38000001 */ li r0, 1 -/* 0110C8 80016668 901F07A4 */ stw r0, 0x7a4(r31) -/* 0110CC 8001666C 801F003C */ lwz r0, 0x3c(r31) -/* 0110D0 80016670 28000000 */ cmplwi r0, 0 -/* 0110D4 80016674 41820014 */ beq lbl_80016688 -/* 0110D8 80016678 387F003C */ addi r3, r31, 0x3c -/* 0110DC 8001667C 4BFF0A1D */ bl xlHeapFree -/* 0110E0 80016680 2C030000 */ cmpwi r3, 0 -/* 0110E4 80016684 41820028 */ beq lbl_800166AC -lbl_80016688: -/* 0110E8 80016688 387F003C */ addi r3, r31, 0x3c -/* 0110EC 8001668C 389E0000 */ addi r4, r30, 0 -/* 0110F0 80016690 4BFF0B25 */ bl xlHeapTake -/* 0110F4 80016694 2C030000 */ cmpwi r3, 0 -/* 0110F8 80016698 41820014 */ beq lbl_800166AC -/* 0110FC 8001669C 807F003C */ lwz r3, 0x3c(r31) -/* 011100 800166A0 38BE0000 */ addi r5, r30, 0 -/* 011104 800166A4 38800000 */ li r4, 0 -/* 011108 800166A8 4BFEED29 */ bl memset -lbl_800166AC: -/* 01110C 800166AC 38600001 */ li r3, 1 -/* 011110 800166B0 4800028C */ b lbl_8001693C -lbl_800166B4: -/* 011114 800166B4 38000002 */ li r0, 2 -/* 011118 800166B8 901F048C */ stw r0, 0x48c(r31) -/* 01111C 800166BC 3860002A */ li r3, 0x2a -/* 011120 800166C0 4BFF6B31 */ bl simulatorPrepareMessage -/* 011124 800166C4 80B50000 */ lwz r5, 0(r21) -/* 011128 800166C8 387F0000 */ addi r3, r31, 0 -/* 01112C 800166CC 389D0000 */ addi r4, r29, 0 -/* 011130 800166D0 38DE0000 */ addi r6, r30, 0 -/* 011134 800166D4 4800168D */ bl mcardGameCreate -/* 011138 800166D8 2C030000 */ cmpwi r3, 0 -/* 01113C 800166DC 40820010 */ bne lbl_800166EC -/* 011140 800166E0 38000001 */ li r0, 1 -/* 011144 800166E4 901F07B0 */ stw r0, 0x7b0(r31) -/* 011148 800166E8 4BFFEAEC */ b lbl_800151D4 -lbl_800166EC: -/* 01114C 800166EC 387F0000 */ addi r3, r31, 0 -/* 011150 800166F0 389D0000 */ addi r4, r29, 0 -/* 011154 800166F4 4800255D */ bl mcardGameSet -/* 011158 800166F8 2C030000 */ cmpwi r3, 0 -/* 01115C 800166FC 4082022C */ bne lbl_80016928 -/* 011160 80016700 387F0000 */ addi r3, r31, 0 -/* 011164 80016704 38810034 */ addi r4, r1, 0x34 -/* 011168 80016708 48000689 */ bl mcardOpenError -/* 01116C 8001670C 80C10034 */ lwz r6, 0x34(r1) -/* 011170 80016710 2C060001 */ cmpwi r6, 1 -/* 011174 80016714 4182EAC0 */ beq lbl_800151D4 -/* 011178 80016718 2C060003 */ cmpwi r6, 3 -/* 01117C 8001671C 40820078 */ bne lbl_80016794 -/* 011180 80016720 38000000 */ li r0, 0 -/* 011184 80016724 901F0470 */ stw r0, 0x470(r31) -/* 011188 80016728 93DF0034 */ stw r30, 0x34(r31) -/* 01118C 8001672C 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 011190 80016730 80030020 */ lwz r0, 0x20(r3) -/* 011194 80016734 2C000004 */ cmpwi r0, 4 -/* 011198 80016738 4082000C */ bne lbl_80016744 -/* 01119C 8001673C 38000001 */ li r0, 1 -/* 0111A0 80016740 901F0480 */ stw r0, 0x480(r31) -lbl_80016744: -/* 0111A4 80016744 38000001 */ li r0, 1 -/* 0111A8 80016748 901F07A4 */ stw r0, 0x7a4(r31) -/* 0111AC 8001674C 801F003C */ lwz r0, 0x3c(r31) -/* 0111B0 80016750 28000000 */ cmplwi r0, 0 -/* 0111B4 80016754 41820014 */ beq lbl_80016768 -/* 0111B8 80016758 387F003C */ addi r3, r31, 0x3c -/* 0111BC 8001675C 4BFF093D */ bl xlHeapFree -/* 0111C0 80016760 2C030000 */ cmpwi r3, 0 -/* 0111C4 80016764 41820028 */ beq lbl_8001678C -lbl_80016768: -/* 0111C8 80016768 387F003C */ addi r3, r31, 0x3c -/* 0111CC 8001676C 389E0000 */ addi r4, r30, 0 -/* 0111D0 80016770 4BFF0A45 */ bl xlHeapTake -/* 0111D4 80016774 2C030000 */ cmpwi r3, 0 -/* 0111D8 80016778 41820014 */ beq lbl_8001678C -/* 0111DC 8001677C 807F003C */ lwz r3, 0x3c(r31) -/* 0111E0 80016780 38BE0000 */ addi r5, r30, 0 -/* 0111E4 80016784 38800000 */ li r4, 0 -/* 0111E8 80016788 4BFEEC49 */ bl memset -lbl_8001678C: -/* 0111EC 8001678C 38600001 */ li r3, 1 -/* 0111F0 80016790 480001AC */ b lbl_8001693C -lbl_80016794: -/* 0111F4 80016794 4CC63182 */ crclr 6 -/* 0111F8 80016798 387B001C */ addi r3, r27, 0x1c -/* 0111FC 8001679C 389B0054 */ addi r4, r27, 0x54 -/* 011200 800167A0 38A00F50 */ li r5, 0xf50 -/* 011204 800167A4 4BFEF671 */ bl xlPostText -/* 011208 800167A8 38000000 */ li r0, 0 -/* 01120C 800167AC 901F0470 */ stw r0, 0x470(r31) -/* 011210 800167B0 93DF0034 */ stw r30, 0x34(r31) -/* 011214 800167B4 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 011218 800167B8 80030020 */ lwz r0, 0x20(r3) -/* 01121C 800167BC 2C000004 */ cmpwi r0, 4 -/* 011220 800167C0 4082000C */ bne lbl_800167CC -/* 011224 800167C4 38000001 */ li r0, 1 -/* 011228 800167C8 901F0480 */ stw r0, 0x480(r31) -lbl_800167CC: -/* 01122C 800167CC 38000001 */ li r0, 1 -/* 011230 800167D0 901F07A4 */ stw r0, 0x7a4(r31) -/* 011234 800167D4 801F003C */ lwz r0, 0x3c(r31) -/* 011238 800167D8 28000000 */ cmplwi r0, 0 -/* 01123C 800167DC 41820014 */ beq lbl_800167F0 -/* 011240 800167E0 387F003C */ addi r3, r31, 0x3c -/* 011244 800167E4 4BFF08B5 */ bl xlHeapFree -/* 011248 800167E8 2C030000 */ cmpwi r3, 0 -/* 01124C 800167EC 41820028 */ beq lbl_80016814 -lbl_800167F0: -/* 011250 800167F0 387F003C */ addi r3, r31, 0x3c -/* 011254 800167F4 389E0000 */ addi r4, r30, 0 -/* 011258 800167F8 4BFF09BD */ bl xlHeapTake -/* 01125C 800167FC 2C030000 */ cmpwi r3, 0 -/* 011260 80016800 41820014 */ beq lbl_80016814 -/* 011264 80016804 807F003C */ lwz r3, 0x3c(r31) -/* 011268 80016808 38BE0000 */ addi r5, r30, 0 -/* 01126C 8001680C 38800000 */ li r4, 0 -/* 011270 80016810 4BFEEBC1 */ bl memset -lbl_80016814: -/* 011274 80016814 38600001 */ li r3, 1 -/* 011278 80016818 48000124 */ b lbl_8001693C -lbl_8001681C: -/* 01127C 8001681C 2C060001 */ cmpwi r6, 1 -/* 011280 80016820 4182E9B4 */ beq lbl_800151D4 -/* 011284 80016824 2C060003 */ cmpwi r6, 3 -/* 011288 80016828 40820078 */ bne lbl_800168A0 -/* 01128C 8001682C 38000000 */ li r0, 0 -/* 011290 80016830 901F0470 */ stw r0, 0x470(r31) -/* 011294 80016834 93DF0034 */ stw r30, 0x34(r31) -/* 011298 80016838 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 01129C 8001683C 80030020 */ lwz r0, 0x20(r3) -/* 0112A0 80016840 2C000004 */ cmpwi r0, 4 -/* 0112A4 80016844 4082000C */ bne lbl_80016850 -/* 0112A8 80016848 38000001 */ li r0, 1 -/* 0112AC 8001684C 901F0480 */ stw r0, 0x480(r31) -lbl_80016850: -/* 0112B0 80016850 38000001 */ li r0, 1 -/* 0112B4 80016854 901F07A4 */ stw r0, 0x7a4(r31) -/* 0112B8 80016858 801F003C */ lwz r0, 0x3c(r31) -/* 0112BC 8001685C 28000000 */ cmplwi r0, 0 -/* 0112C0 80016860 41820014 */ beq lbl_80016874 -/* 0112C4 80016864 387F003C */ addi r3, r31, 0x3c -/* 0112C8 80016868 4BFF0831 */ bl xlHeapFree -/* 0112CC 8001686C 2C030000 */ cmpwi r3, 0 -/* 0112D0 80016870 41820028 */ beq lbl_80016898 -lbl_80016874: -/* 0112D4 80016874 387F003C */ addi r3, r31, 0x3c -/* 0112D8 80016878 389E0000 */ addi r4, r30, 0 -/* 0112DC 8001687C 4BFF0939 */ bl xlHeapTake -/* 0112E0 80016880 2C030000 */ cmpwi r3, 0 -/* 0112E4 80016884 41820014 */ beq lbl_80016898 -/* 0112E8 80016888 807F003C */ lwz r3, 0x3c(r31) -/* 0112EC 8001688C 38BE0000 */ addi r5, r30, 0 -/* 0112F0 80016890 38800000 */ li r4, 0 -/* 0112F4 80016894 4BFEEB3D */ bl memset -lbl_80016898: -/* 0112F8 80016898 38600001 */ li r3, 1 -/* 0112FC 8001689C 480000A0 */ b lbl_8001693C -lbl_800168A0: -/* 011300 800168A0 4CC63182 */ crclr 6 -/* 011304 800168A4 387B001C */ addi r3, r27, 0x1c -/* 011308 800168A8 389B0054 */ addi r4, r27, 0x54 -/* 01130C 800168AC 38A00F65 */ li r5, 0xf65 -/* 011310 800168B0 4BFEF565 */ bl xlPostText -/* 011314 800168B4 38000000 */ li r0, 0 -/* 011318 800168B8 901F0470 */ stw r0, 0x470(r31) -/* 01131C 800168BC 93DF0034 */ stw r30, 0x34(r31) -/* 011320 800168C0 806D8920 */ lwz r3, gpSystem@sda21(r13) -/* 011324 800168C4 80030020 */ lwz r0, 0x20(r3) -/* 011328 800168C8 2C000004 */ cmpwi r0, 4 -/* 01132C 800168CC 4082000C */ bne lbl_800168D8 -/* 011330 800168D0 38000001 */ li r0, 1 -/* 011334 800168D4 901F0480 */ stw r0, 0x480(r31) -lbl_800168D8: -/* 011338 800168D8 38000001 */ li r0, 1 -/* 01133C 800168DC 901F07A4 */ stw r0, 0x7a4(r31) -/* 011340 800168E0 801F003C */ lwz r0, 0x3c(r31) -/* 011344 800168E4 28000000 */ cmplwi r0, 0 -/* 011348 800168E8 41820014 */ beq lbl_800168FC -/* 01134C 800168EC 387F003C */ addi r3, r31, 0x3c -/* 011350 800168F0 4BFF07A9 */ bl xlHeapFree -/* 011354 800168F4 2C030000 */ cmpwi r3, 0 -/* 011358 800168F8 41820028 */ beq lbl_80016920 -lbl_800168FC: -/* 01135C 800168FC 387F003C */ addi r3, r31, 0x3c -/* 011360 80016900 389E0000 */ addi r4, r30, 0 -/* 011364 80016904 4BFF08B1 */ bl xlHeapTake -/* 011368 80016908 2C030000 */ cmpwi r3, 0 -/* 01136C 8001690C 41820014 */ beq lbl_80016920 -/* 011370 80016910 807F003C */ lwz r3, 0x3c(r31) -/* 011374 80016914 38BE0000 */ addi r5, r30, 0 -/* 011378 80016918 38800000 */ li r4, 0 -/* 01137C 8001691C 4BFEEAB5 */ bl memset -lbl_80016920: -/* 011380 80016920 38600001 */ li r3, 1 -/* 011384 80016924 48000018 */ b lbl_8001693C -lbl_80016928: -/* 011388 80016928 38000001 */ li r0, 1 -/* 01138C 8001692C 901F0490 */ stw r0, 0x490(r31) -/* 011390 80016930 38000000 */ li r0, 0 -/* 011394 80016934 38600001 */ li r3, 1 -/* 011398 80016938 901F048C */ stw r0, 0x48c(r31) -lbl_8001693C: -/* 01139C 8001693C BA61003C */ lmw r19, 0x3c(r1) -/* 0113A0 80016940 80010074 */ lwz r0, 0x74(r1) -/* 0113A4 80016944 38210070 */ addi r1, r1, 0x70 -/* 0113A8 80016948 7C0803A6 */ mtlr r0 -/* 0113AC 8001694C 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardOpenDuringGame.s b/asm/non_matchings/mcardGCN/mcardOpenDuringGame.s deleted file mode 100644 index 2904814e..00000000 --- a/asm/non_matchings/mcardGCN/mcardOpenDuringGame.s +++ /dev/null @@ -1,796 +0,0 @@ -glabel mcardOpenDuringGame -/* 00F05C 800145FC 7C0802A6 */ mflr r0 -/* 00F060 80014600 90010004 */ stw r0, 4(r1) -/* 00F064 80014604 38000001 */ li r0, 1 -/* 00F068 80014608 9421FFC8 */ stwu r1, -0x38(r1) -/* 00F06C 8001460C BF610024 */ stmw r27, 0x24(r1) -/* 00F070 80014610 3BE30000 */ addi r31, r3, 0 -/* 00F074 80014614 3C60800F */ lis r3, D_800EA548@ha -/* 00F078 80014618 3BC3A548 */ addi r30, r3, D_800EA548@l -/* 00F07C 8001461C 900D88F4 */ stw r0, gButtonDownToggle@sda21(r13) -/* 00F080 80014620 801F0490 */ lwz r0, 0x490(r31) -/* 00F084 80014624 2C000000 */ cmpwi r0, 0 -/* 00F088 80014628 40820014 */ bne lbl_8001463C -/* 00F08C 8001462C 387F0320 */ addi r3, r31, 0x320 -/* 00F090 80014630 38800000 */ li r4, 0 -/* 00F094 80014634 38A00028 */ li r5, 0x28 -/* 00F098 80014638 4BFF0D99 */ bl memset -lbl_8001463C: -/* 00F09C 8001463C 38600000 */ li r3, 0 -/* 00F0A0 80014640 38800000 */ li r4, 0 -/* 00F0A4 80014644 38A00001 */ li r5, 1 -/* 00F0A8 80014648 38C00000 */ li r6, 0 -/* 00F0AC 8001464C 4BFF4591 */ bl simulatorTestReset -/* 00F0B0 80014650 2C030000 */ cmpwi r3, 0 -/* 00F0B4 80014654 4082000C */ bne lbl_80014660 -/* 00F0B8 80014658 38600000 */ li r3, 0 -/* 00F0BC 8001465C 48000ADC */ b lbl_80015138 -lbl_80014660: -/* 00F0C0 80014660 3BA00000 */ li r29, 0 -/* 00F0C4 80014664 93BF048C */ stw r29, 0x48c(r31) -/* 00F0C8 80014668 3B800001 */ li r28, 1 -/* 00F0CC 8001466C 387F0000 */ addi r3, r31, 0 -/* 00F0D0 80014670 837F0490 */ lwz r27, 0x490(r31) -/* 00F0D4 80014674 389F0494 */ addi r4, r31, 0x494 -/* 00F0D8 80014678 939F0490 */ stw r28, 0x490(r31) -/* 00F0DC 8001467C 480049DD */ bl mcardFileSet -/* 00F0E0 80014680 2C030000 */ cmpwi r3, 0 -/* 00F0E4 80014684 408205B8 */ bne lbl_80014C3C -/* 00F0E8 80014688 937F0490 */ stw r27, 0x490(r31) -/* 00F0EC 8001468C 387F0000 */ addi r3, r31, 0 -/* 00F0F0 80014690 38810018 */ addi r4, r1, 0x18 -/* 00F0F4 80014694 4800261D */ bl mcardOpenDuringGameError -/* 00F0F8 80014698 80C10018 */ lwz r6, 0x18(r1) -/* 00F0FC 8001469C 2C060006 */ cmpwi r6, 6 -/* 00F100 800146A0 40820048 */ bne lbl_800146E8 -/* 00F104 800146A4 7FE3FB78 */ mr r3, r31 -/* 00F108 800146A8 4800357D */ bl mcardCardErase -/* 00F10C 800146AC 2C030000 */ cmpwi r3, 0 -/* 00F110 800146B0 40820024 */ bne lbl_800146D4 -/* 00F114 800146B4 801F035C */ lwz r0, 0x35c(r31) -/* 00F118 800146B8 2C000003 */ cmpwi r0, 3 -/* 00F11C 800146BC 4182FF80 */ beq lbl_8001463C -/* 00F120 800146C0 387F0000 */ addi r3, r31, 0 -/* 00F124 800146C4 38A10018 */ addi r5, r1, 0x18 -/* 00F128 800146C8 38800026 */ li r4, 0x26 -/* 00F12C 800146CC 480027A5 */ bl mcardMenu -/* 00F130 800146D0 4BFFFF6C */ b lbl_8001463C -lbl_800146D4: -/* 00F134 800146D4 387F0000 */ addi r3, r31, 0 -/* 00F138 800146D8 38A10018 */ addi r5, r1, 0x18 -/* 00F13C 800146DC 38800024 */ li r4, 0x24 -/* 00F140 800146E0 48002791 */ bl mcardMenu -/* 00F144 800146E4 4BFFFF58 */ b lbl_8001463C -lbl_800146E8: -/* 00F148 800146E8 2C060005 */ cmpwi r6, 5 -/* 00F14C 800146EC 408201F8 */ bne lbl_800148E4 -/* 00F150 800146F0 3860002A */ li r3, 0x2a -/* 00F154 800146F4 4BFF8AFD */ bl simulatorPrepareMessage -/* 00F158 800146F8 7FE3FB78 */ mr r3, r31 -/* 00F15C 800146FC 48003399 */ bl mcardFileErase -/* 00F160 80014700 2C030000 */ cmpwi r3, 0 -/* 00F164 80014704 40820050 */ bne lbl_80014754 -/* 00F168 80014708 387F0000 */ addi r3, r31, 0 -/* 00F16C 8001470C 38810018 */ addi r4, r1, 0x18 -/* 00F170 80014710 480025A1 */ bl mcardOpenDuringGameError -/* 00F174 80014714 80C10018 */ lwz r6, 0x18(r1) -/* 00F178 80014718 2C060001 */ cmpwi r6, 1 -/* 00F17C 8001471C 4182FF20 */ beq lbl_8001463C -/* 00F180 80014720 2C060003 */ cmpwi r6, 3 -/* 00F184 80014724 40820010 */ bne lbl_80014734 -/* 00F188 80014728 93BF0470 */ stw r29, 0x470(r31) -/* 00F18C 8001472C 38600001 */ li r3, 1 -/* 00F190 80014730 48000A08 */ b lbl_80015138 -lbl_80014734: -/* 00F194 80014734 4CC63182 */ crclr 6 -/* 00F198 80014738 387E001C */ addi r3, r30, 0x1c -/* 00F19C 8001473C 389E0054 */ addi r4, r30, 0x54 -/* 00F1A0 80014740 38A00FA6 */ li r5, 0xfa6 -/* 00F1A4 80014744 4BFF16D1 */ bl xlPostText -/* 00F1A8 80014748 93BF0470 */ stw r29, 0x470(r31) -/* 00F1AC 8001474C 38600001 */ li r3, 1 -/* 00F1B0 80014750 480009E8 */ b lbl_80015138 -lbl_80014754: -/* 00F1B4 80014754 38000002 */ li r0, 2 -/* 00F1B8 80014758 901F048C */ stw r0, 0x48c(r31) -/* 00F1BC 8001475C 3860002A */ li r3, 0x2a -/* 00F1C0 80014760 4BFF8A91 */ bl simulatorPrepareMessage -/* 00F1C4 80014764 80DF0694 */ lwz r6, 0x694(r31) -/* 00F1C8 80014768 7FE3FB78 */ mr r3, r31 -/* 00F1CC 8001476C 80FF0698 */ lwz r7, 0x698(r31) -/* 00F1D0 80014770 389F0494 */ addi r4, r31, 0x494 -/* 00F1D4 80014774 811F079C */ lwz r8, 0x79c(r31) -/* 00F1D8 80014778 38BF0594 */ addi r5, r31, 0x594 -/* 00F1DC 8001477C 48003E7D */ bl mcardFileCreate -/* 00F1E0 80014780 2C030000 */ cmpwi r3, 0 -/* 00F1E4 80014784 40820024 */ bne lbl_800147A8 -/* 00F1E8 80014788 801F035C */ lwz r0, 0x35c(r31) -/* 00F1EC 8001478C 2C000003 */ cmpwi r0, 3 -/* 00F1F0 80014790 4182FEAC */ beq lbl_8001463C -/* 00F1F4 80014794 387F0000 */ addi r3, r31, 0 -/* 00F1F8 80014798 38A10018 */ addi r5, r1, 0x18 -/* 00F1FC 8001479C 3880002F */ li r4, 0x2f -/* 00F200 800147A0 480026D1 */ bl mcardMenu -/* 00F204 800147A4 4BFFFE98 */ b lbl_8001463C -lbl_800147A8: -/* 00F208 800147A8 387F0000 */ addi r3, r31, 0 -/* 00F20C 800147AC 389F0494 */ addi r4, r31, 0x494 -/* 00F210 800147B0 480048A9 */ bl mcardFileSet -/* 00F214 800147B4 2C030000 */ cmpwi r3, 0 -/* 00F218 800147B8 40820050 */ bne lbl_80014808 -/* 00F21C 800147BC 387F0000 */ addi r3, r31, 0 -/* 00F220 800147C0 38810018 */ addi r4, r1, 0x18 -/* 00F224 800147C4 480024ED */ bl mcardOpenDuringGameError -/* 00F228 800147C8 80C10018 */ lwz r6, 0x18(r1) -/* 00F22C 800147CC 2C060001 */ cmpwi r6, 1 -/* 00F230 800147D0 4182FE6C */ beq lbl_8001463C -/* 00F234 800147D4 2C060003 */ cmpwi r6, 3 -/* 00F238 800147D8 40820010 */ bne lbl_800147E8 -/* 00F23C 800147DC 93BF0470 */ stw r29, 0x470(r31) -/* 00F240 800147E0 38600001 */ li r3, 1 -/* 00F244 800147E4 48000954 */ b lbl_80015138 -lbl_800147E8: -/* 00F248 800147E8 4CC63182 */ crclr 6 -/* 00F24C 800147EC 387E001C */ addi r3, r30, 0x1c -/* 00F250 800147F0 389E0054 */ addi r4, r30, 0x54 -/* 00F254 800147F4 38A00FC1 */ li r5, 0xfc1 -/* 00F258 800147F8 4BFF161D */ bl xlPostText -/* 00F25C 800147FC 93BF0470 */ stw r29, 0x470(r31) -/* 00F260 80014800 38600001 */ li r3, 1 -/* 00F264 80014804 48000934 */ b lbl_80015138 -lbl_80014808: -/* 00F268 80014808 801F0470 */ lwz r0, 0x470(r31) -/* 00F26C 8001480C 2C000001 */ cmpwi r0, 1 -/* 00F270 80014810 40820048 */ bne lbl_80014858 -/* 00F274 80014814 7FE3FB78 */ mr r3, r31 -/* 00F278 80014818 480067BD */ bl mcardReadyCard -/* 00F27C 8001481C 2C030000 */ cmpwi r3, 0 -/* 00F280 80014820 40820008 */ bne lbl_80014828 -/* 00F284 80014824 48000038 */ b lbl_8001485C -lbl_80014828: -/* 00F288 80014828 807F0360 */ lwz r3, 0x360(r31) -/* 00F28C 8001482C 389F0008 */ addi r4, r31, 8 -/* 00F290 80014830 38BF0348 */ addi r5, r31, 0x348 -/* 00F294 80014834 480AB9ED */ bl CARDOpen -/* 00F298 80014838 38830000 */ addi r4, r3, 0 -/* 00F29C 8001483C 387F0000 */ addi r3, r31, 0 -/* 00F2A0 80014840 48007A61 */ bl mcardGCErrorHandler -/* 00F2A4 80014844 2C030001 */ cmpwi r3, 1 -/* 00F2A8 80014848 41820010 */ beq lbl_80014858 -/* 00F2AC 8001484C 807F0360 */ lwz r3, 0x360(r31) -/* 00F2B0 80014850 480AACCD */ bl CARDUnmount -/* 00F2B4 80014854 48000008 */ b lbl_8001485C -lbl_80014858: -/* 00F2B8 80014858 3BA00001 */ li r29, 1 -lbl_8001485C: -/* 00F2BC 8001485C 2C1D0000 */ cmpwi r29, 0 -/* 00F2C0 80014860 40820058 */ bne lbl_800148B8 -/* 00F2C4 80014864 387F0000 */ addi r3, r31, 0 -/* 00F2C8 80014868 38810018 */ addi r4, r1, 0x18 -/* 00F2CC 8001486C 48002445 */ bl mcardOpenDuringGameError -/* 00F2D0 80014870 80C10018 */ lwz r6, 0x18(r1) -/* 00F2D4 80014874 2C060001 */ cmpwi r6, 1 -/* 00F2D8 80014878 4182FDC4 */ beq lbl_8001463C -/* 00F2DC 8001487C 2C060003 */ cmpwi r6, 3 -/* 00F2E0 80014880 40820014 */ bne lbl_80014894 -/* 00F2E4 80014884 38000000 */ li r0, 0 -/* 00F2E8 80014888 901F0470 */ stw r0, 0x470(r31) -/* 00F2EC 8001488C 38600001 */ li r3, 1 -/* 00F2F0 80014890 480008A8 */ b lbl_80015138 -lbl_80014894: -/* 00F2F4 80014894 4CC63182 */ crclr 6 -/* 00F2F8 80014898 387E001C */ addi r3, r30, 0x1c -/* 00F2FC 8001489C 389E0054 */ addi r4, r30, 0x54 -/* 00F300 800148A0 38A00FD4 */ li r5, 0xfd4 -/* 00F304 800148A4 4BFF1571 */ bl xlPostText -/* 00F308 800148A8 38000000 */ li r0, 0 -/* 00F30C 800148AC 901F0470 */ stw r0, 0x470(r31) -/* 00F310 800148B0 38600001 */ li r3, 1 -/* 00F314 800148B4 48000884 */ b lbl_80015138 -lbl_800148B8: -/* 00F318 800148B8 801F0470 */ lwz r0, 0x470(r31) -/* 00F31C 800148BC 2C000001 */ cmpwi r0, 1 -/* 00F320 800148C0 4082FD7C */ bne lbl_8001463C -/* 00F324 800148C4 801F0348 */ lwz r0, 0x348(r31) -/* 00F328 800148C8 2C00FFFF */ cmpwi r0, -1 -/* 00F32C 800148CC 4182000C */ beq lbl_800148D8 -/* 00F330 800148D0 387F0348 */ addi r3, r31, 0x348 -/* 00F334 800148D4 480ABA69 */ bl CARDClose -lbl_800148D8: -/* 00F338 800148D8 807F0360 */ lwz r3, 0x360(r31) -/* 00F33C 800148DC 480AAC41 */ bl CARDUnmount -/* 00F340 800148E0 4BFFFD5C */ b lbl_8001463C -lbl_800148E4: -/* 00F344 800148E4 2C060001 */ cmpwi r6, 1 -/* 00F348 800148E8 4182FD54 */ beq lbl_8001463C -/* 00F34C 800148EC 2C060003 */ cmpwi r6, 3 -/* 00F350 800148F0 40820010 */ bne lbl_80014900 -/* 00F354 800148F4 93BF0470 */ stw r29, 0x470(r31) -/* 00F358 800148F8 38600001 */ li r3, 1 -/* 00F35C 800148FC 4800083C */ b lbl_80015138 -lbl_80014900: -/* 00F360 80014900 2C060004 */ cmpwi r6, 4 -/* 00F364 80014904 40820318 */ bne lbl_80014C1C -/* 00F368 80014908 809F079C */ lwz r4, 0x79c(r31) -/* 00F36C 8001490C 387F0000 */ addi r3, r31, 0 -/* 00F370 80014910 3B646000 */ addi r27, r4, 0x6000 -/* 00F374 80014914 480066C1 */ bl mcardReadyCard -/* 00F378 80014918 2C030000 */ cmpwi r3, 0 -/* 00F37C 8001491C 40820008 */ bne lbl_80014924 -/* 00F380 80014920 48000078 */ b lbl_80014998 -lbl_80014924: -/* 00F384 80014924 807F0360 */ lwz r3, 0x360(r31) -/* 00F388 80014928 38810010 */ addi r4, r1, 0x10 -/* 00F38C 8001492C 38A10014 */ addi r5, r1, 0x14 -/* 00F390 80014930 480A74D9 */ bl CARDFreeBlocks -/* 00F394 80014934 38830000 */ addi r4, r3, 0 -/* 00F398 80014938 387F0000 */ addi r3, r31, 0 -/* 00F39C 8001493C 48007965 */ bl mcardGCErrorHandler -/* 00F3A0 80014940 2C030000 */ cmpwi r3, 0 -/* 00F3A4 80014944 40820008 */ bne lbl_8001494C -/* 00F3A8 80014948 48000050 */ b lbl_80014998 -lbl_8001494C: -/* 00F3AC 8001494C 80010010 */ lwz r0, 0x10(r1) -/* 00F3B0 80014950 7C00D800 */ cmpw r0, r27 -/* 00F3B4 80014954 41800010 */ blt lbl_80014964 -/* 00F3B8 80014958 80010014 */ lwz r0, 0x14(r1) -/* 00F3BC 8001495C 2C000000 */ cmpwi r0, 0 -/* 00F3C0 80014960 4181002C */ bgt lbl_8001498C -lbl_80014964: -/* 00F3C4 80014964 80010014 */ lwz r0, 0x14(r1) -/* 00F3C8 80014968 2C000000 */ cmpwi r0, 0 -/* 00F3CC 8001496C 41810010 */ bgt lbl_8001497C -/* 00F3D0 80014970 38000014 */ li r0, 0x14 -/* 00F3D4 80014974 901F035C */ stw r0, 0x35c(r31) -/* 00F3D8 80014978 4800000C */ b lbl_80014984 -lbl_8001497C: -/* 00F3DC 8001497C 38000013 */ li r0, 0x13 -/* 00F3E0 80014980 901F035C */ stw r0, 0x35c(r31) -lbl_80014984: -/* 00F3E4 80014984 3BA00000 */ li r29, 0 -/* 00F3E8 80014988 48000010 */ b lbl_80014998 -lbl_8001498C: -/* 00F3EC 8001498C 807F0360 */ lwz r3, 0x360(r31) -/* 00F3F0 80014990 480AAB8D */ bl CARDUnmount -/* 00F3F4 80014994 7F9DE378 */ mr r29, r28 -lbl_80014998: -/* 00F3F8 80014998 2C1D0000 */ cmpwi r29, 0 -/* 00F3FC 8001499C 40820070 */ bne lbl_80014A0C -/* 00F400 800149A0 387F0000 */ addi r3, r31, 0 -/* 00F404 800149A4 38810018 */ addi r4, r1, 0x18 -/* 00F408 800149A8 48002309 */ bl mcardOpenDuringGameError -/* 00F40C 800149AC 80C10018 */ lwz r6, 0x18(r1) -/* 00F410 800149B0 2C060002 */ cmpwi r6, 2 -/* 00F414 800149B4 40820014 */ bne lbl_800149C8 -/* 00F418 800149B8 38600001 */ li r3, 1 -/* 00F41C 800149BC 38800001 */ li r4, 1 -/* 00F420 800149C0 4BFF4FC1 */ bl simulatorReset -/* 00F424 800149C4 48000048 */ b lbl_80014A0C -lbl_800149C8: -/* 00F428 800149C8 2C060001 */ cmpwi r6, 1 -/* 00F42C 800149CC 4182FC70 */ beq lbl_8001463C -/* 00F430 800149D0 2C060003 */ cmpwi r6, 3 -/* 00F434 800149D4 40820014 */ bne lbl_800149E8 -/* 00F438 800149D8 38000000 */ li r0, 0 -/* 00F43C 800149DC 901F0470 */ stw r0, 0x470(r31) -/* 00F440 800149E0 38600001 */ li r3, 1 -/* 00F444 800149E4 48000754 */ b lbl_80015138 -lbl_800149E8: -/* 00F448 800149E8 4CC63182 */ crclr 6 -/* 00F44C 800149EC 387E001C */ addi r3, r30, 0x1c -/* 00F450 800149F0 389E0054 */ addi r4, r30, 0x54 -/* 00F454 800149F4 38A00FFD */ li r5, 0xffd -/* 00F458 800149F8 4BFF141D */ bl xlPostText -/* 00F45C 800149FC 38000000 */ li r0, 0 -/* 00F460 80014A00 901F0470 */ stw r0, 0x470(r31) -/* 00F464 80014A04 38600001 */ li r3, 1 -/* 00F468 80014A08 48000730 */ b lbl_80015138 -lbl_80014A0C: -/* 00F46C 80014A0C 387F0000 */ addi r3, r31, 0 -/* 00F470 80014A10 38A10018 */ addi r5, r1, 0x18 -/* 00F474 80014A14 3880002A */ li r4, 0x2a -/* 00F478 80014A18 48002459 */ bl mcardMenu -/* 00F47C 80014A1C 80C10018 */ lwz r6, 0x18(r1) -/* 00F480 80014A20 2C060004 */ cmpwi r6, 4 -/* 00F484 80014A24 408201B4 */ bne lbl_80014BD8 -/* 00F488 80014A28 38000001 */ li r0, 1 -/* 00F48C 80014A2C 901F048C */ stw r0, 0x48c(r31) -/* 00F490 80014A30 38600013 */ li r3, 0x13 -/* 00F494 80014A34 4BFF87BD */ bl simulatorPrepareMessage -/* 00F498 80014A38 80DF0694 */ lwz r6, 0x694(r31) -/* 00F49C 80014A3C 7FE3FB78 */ mr r3, r31 -/* 00F4A0 80014A40 80FF0698 */ lwz r7, 0x698(r31) -/* 00F4A4 80014A44 389F0494 */ addi r4, r31, 0x494 -/* 00F4A8 80014A48 811F079C */ lwz r8, 0x79c(r31) -/* 00F4AC 80014A4C 38BF0594 */ addi r5, r31, 0x594 -/* 00F4B0 80014A50 48003BA9 */ bl mcardFileCreate -/* 00F4B4 80014A54 2C030000 */ cmpwi r3, 0 -/* 00F4B8 80014A58 40820024 */ bne lbl_80014A7C -/* 00F4BC 80014A5C 801F035C */ lwz r0, 0x35c(r31) -/* 00F4C0 80014A60 2C000003 */ cmpwi r0, 3 -/* 00F4C4 80014A64 4182FBD8 */ beq lbl_8001463C -/* 00F4C8 80014A68 387F0000 */ addi r3, r31, 0 -/* 00F4CC 80014A6C 38A10018 */ addi r5, r1, 0x18 -/* 00F4D0 80014A70 3880002F */ li r4, 0x2f -/* 00F4D4 80014A74 480023FD */ bl mcardMenu -/* 00F4D8 80014A78 4BFFFBC4 */ b lbl_8001463C -lbl_80014A7C: -/* 00F4DC 80014A7C 387F0000 */ addi r3, r31, 0 -/* 00F4E0 80014A80 389F0494 */ addi r4, r31, 0x494 -/* 00F4E4 80014A84 480045D5 */ bl mcardFileSet -/* 00F4E8 80014A88 2C030000 */ cmpwi r3, 0 -/* 00F4EC 80014A8C 40820058 */ bne lbl_80014AE4 -/* 00F4F0 80014A90 387F0000 */ addi r3, r31, 0 -/* 00F4F4 80014A94 38810018 */ addi r4, r1, 0x18 -/* 00F4F8 80014A98 48002219 */ bl mcardOpenDuringGameError -/* 00F4FC 80014A9C 80C10018 */ lwz r6, 0x18(r1) -/* 00F500 80014AA0 2C060001 */ cmpwi r6, 1 -/* 00F504 80014AA4 4182FB98 */ beq lbl_8001463C -/* 00F508 80014AA8 2C060003 */ cmpwi r6, 3 -/* 00F50C 80014AAC 40820014 */ bne lbl_80014AC0 -/* 00F510 80014AB0 38000000 */ li r0, 0 -/* 00F514 80014AB4 901F0470 */ stw r0, 0x470(r31) -/* 00F518 80014AB8 38600001 */ li r3, 1 -/* 00F51C 80014ABC 4800067C */ b lbl_80015138 -lbl_80014AC0: -/* 00F520 80014AC0 4CC63182 */ crclr 6 -/* 00F524 80014AC4 387E001C */ addi r3, r30, 0x1c -/* 00F528 80014AC8 389E0054 */ addi r4, r30, 0x54 -/* 00F52C 80014ACC 38A0101D */ li r5, 0x101d -/* 00F530 80014AD0 4BFF1345 */ bl xlPostText -/* 00F534 80014AD4 38000000 */ li r0, 0 -/* 00F538 80014AD8 901F0470 */ stw r0, 0x470(r31) -/* 00F53C 80014ADC 38600001 */ li r3, 1 -/* 00F540 80014AE0 48000658 */ b lbl_80015138 -lbl_80014AE4: -/* 00F544 80014AE4 801F0470 */ lwz r0, 0x470(r31) -/* 00F548 80014AE8 2C000001 */ cmpwi r0, 1 -/* 00F54C 80014AEC 40820050 */ bne lbl_80014B3C -/* 00F550 80014AF0 7FE3FB78 */ mr r3, r31 -/* 00F554 80014AF4 480064E1 */ bl mcardReadyCard -/* 00F558 80014AF8 2C030000 */ cmpwi r3, 0 -/* 00F55C 80014AFC 4082000C */ bne lbl_80014B08 -/* 00F560 80014B00 38000000 */ li r0, 0 -/* 00F564 80014B04 4800003C */ b lbl_80014B40 -lbl_80014B08: -/* 00F568 80014B08 807F0360 */ lwz r3, 0x360(r31) -/* 00F56C 80014B0C 389F0008 */ addi r4, r31, 8 -/* 00F570 80014B10 38BF0348 */ addi r5, r31, 0x348 -/* 00F574 80014B14 480AB70D */ bl CARDOpen -/* 00F578 80014B18 38830000 */ addi r4, r3, 0 -/* 00F57C 80014B1C 387F0000 */ addi r3, r31, 0 -/* 00F580 80014B20 48007781 */ bl mcardGCErrorHandler -/* 00F584 80014B24 2C030001 */ cmpwi r3, 1 -/* 00F588 80014B28 41820014 */ beq lbl_80014B3C -/* 00F58C 80014B2C 807F0360 */ lwz r3, 0x360(r31) -/* 00F590 80014B30 480AA9ED */ bl CARDUnmount -/* 00F594 80014B34 38000000 */ li r0, 0 -/* 00F598 80014B38 48000008 */ b lbl_80014B40 -lbl_80014B3C: -/* 00F59C 80014B3C 38000001 */ li r0, 1 -lbl_80014B40: -/* 00F5A0 80014B40 2C000000 */ cmpwi r0, 0 -/* 00F5A4 80014B44 40820058 */ bne lbl_80014B9C -/* 00F5A8 80014B48 387F0000 */ addi r3, r31, 0 -/* 00F5AC 80014B4C 38810018 */ addi r4, r1, 0x18 -/* 00F5B0 80014B50 48002161 */ bl mcardOpenDuringGameError -/* 00F5B4 80014B54 80C10018 */ lwz r6, 0x18(r1) -/* 00F5B8 80014B58 2C060001 */ cmpwi r6, 1 -/* 00F5BC 80014B5C 4182FAE0 */ beq lbl_8001463C -/* 00F5C0 80014B60 2C060003 */ cmpwi r6, 3 -/* 00F5C4 80014B64 40820014 */ bne lbl_80014B78 -/* 00F5C8 80014B68 38000000 */ li r0, 0 -/* 00F5CC 80014B6C 901F0470 */ stw r0, 0x470(r31) -/* 00F5D0 80014B70 38600001 */ li r3, 1 -/* 00F5D4 80014B74 480005C4 */ b lbl_80015138 -lbl_80014B78: -/* 00F5D8 80014B78 4CC63182 */ crclr 6 -/* 00F5DC 80014B7C 387E001C */ addi r3, r30, 0x1c -/* 00F5E0 80014B80 389E0054 */ addi r4, r30, 0x54 -/* 00F5E4 80014B84 38A01030 */ li r5, 0x1030 -/* 00F5E8 80014B88 4BFF128D */ bl xlPostText -/* 00F5EC 80014B8C 38000000 */ li r0, 0 -/* 00F5F0 80014B90 901F0470 */ stw r0, 0x470(r31) -/* 00F5F4 80014B94 38600001 */ li r3, 1 -/* 00F5F8 80014B98 480005A0 */ b lbl_80015138 -lbl_80014B9C: -/* 00F5FC 80014B9C 801F0470 */ lwz r0, 0x470(r31) -/* 00F600 80014BA0 2C000001 */ cmpwi r0, 1 -/* 00F604 80014BA4 40820020 */ bne lbl_80014BC4 -/* 00F608 80014BA8 801F0348 */ lwz r0, 0x348(r31) -/* 00F60C 80014BAC 2C00FFFF */ cmpwi r0, -1 -/* 00F610 80014BB0 4182000C */ beq lbl_80014BBC -/* 00F614 80014BB4 387F0348 */ addi r3, r31, 0x348 -/* 00F618 80014BB8 480AB785 */ bl CARDClose -lbl_80014BBC: -/* 00F61C 80014BBC 807F0360 */ lwz r3, 0x360(r31) -/* 00F620 80014BC0 480AA95D */ bl CARDUnmount -lbl_80014BC4: -/* 00F624 80014BC4 387F0000 */ addi r3, r31, 0 -/* 00F628 80014BC8 38A10018 */ addi r5, r1, 0x18 -/* 00F62C 80014BCC 3880002D */ li r4, 0x2d -/* 00F630 80014BD0 480022A1 */ bl mcardMenu -/* 00F634 80014BD4 480002C4 */ b lbl_80014E98 -lbl_80014BD8: -/* 00F638 80014BD8 2C060003 */ cmpwi r6, 3 -/* 00F63C 80014BDC 40820014 */ bne lbl_80014BF0 -/* 00F640 80014BE0 38000000 */ li r0, 0 -/* 00F644 80014BE4 901F0470 */ stw r0, 0x470(r31) -/* 00F648 80014BE8 38600001 */ li r3, 1 -/* 00F64C 80014BEC 4800054C */ b lbl_80015138 -lbl_80014BF0: -/* 00F650 80014BF0 2C060001 */ cmpwi r6, 1 -/* 00F654 80014BF4 4182FA48 */ beq lbl_8001463C -/* 00F658 80014BF8 4CC63182 */ crclr 6 -/* 00F65C 80014BFC 387E001C */ addi r3, r30, 0x1c -/* 00F660 80014C00 389E0054 */ addi r4, r30, 0x54 -/* 00F664 80014C04 38A01044 */ li r5, 0x1044 -/* 00F668 80014C08 4BFF120D */ bl xlPostText -/* 00F66C 80014C0C 38000000 */ li r0, 0 -/* 00F670 80014C10 901F0470 */ stw r0, 0x470(r31) -/* 00F674 80014C14 38600001 */ li r3, 1 -/* 00F678 80014C18 48000520 */ b lbl_80015138 -lbl_80014C1C: -/* 00F67C 80014C1C 4CC63182 */ crclr 6 -/* 00F680 80014C20 387E001C */ addi r3, r30, 0x1c -/* 00F684 80014C24 389E0054 */ addi r4, r30, 0x54 -/* 00F688 80014C28 38A0104B */ li r5, 0x104b -/* 00F68C 80014C2C 4BFF11E9 */ bl xlPostText -/* 00F690 80014C30 93BF0470 */ stw r29, 0x470(r31) -/* 00F694 80014C34 38600001 */ li r3, 1 -/* 00F698 80014C38 48000500 */ b lbl_80015138 -lbl_80014C3C: -/* 00F69C 80014C3C 937F0490 */ stw r27, 0x490(r31) -/* 00F6A0 80014C40 7FE3FB78 */ mr r3, r31 -/* 00F6A4 80014C44 48006611 */ bl mcardVerifyChecksumFileHeader -/* 00F6A8 80014C48 2C030000 */ cmpwi r3, 0 -/* 00F6AC 80014C4C 4082024C */ bne lbl_80014E98 -/* 00F6B0 80014C50 387F0000 */ addi r3, r31, 0 -/* 00F6B4 80014C54 38810018 */ addi r4, r1, 0x18 -/* 00F6B8 80014C58 48002059 */ bl mcardOpenDuringGameError -/* 00F6BC 80014C5C 80C10018 */ lwz r6, 0x18(r1) -/* 00F6C0 80014C60 2C060005 */ cmpwi r6, 5 -/* 00F6C4 80014C64 408201F8 */ bne lbl_80014E5C -/* 00F6C8 80014C68 3860002A */ li r3, 0x2a -/* 00F6CC 80014C6C 4BFF8585 */ bl simulatorPrepareMessage -/* 00F6D0 80014C70 7FE3FB78 */ mr r3, r31 -/* 00F6D4 80014C74 48002E21 */ bl mcardFileErase -/* 00F6D8 80014C78 2C030000 */ cmpwi r3, 0 -/* 00F6DC 80014C7C 40820050 */ bne lbl_80014CCC -/* 00F6E0 80014C80 387F0000 */ addi r3, r31, 0 -/* 00F6E4 80014C84 38810018 */ addi r4, r1, 0x18 -/* 00F6E8 80014C88 48002029 */ bl mcardOpenDuringGameError -/* 00F6EC 80014C8C 80C10018 */ lwz r6, 0x18(r1) -/* 00F6F0 80014C90 2C060001 */ cmpwi r6, 1 -/* 00F6F4 80014C94 4182F9A8 */ beq lbl_8001463C -/* 00F6F8 80014C98 2C060003 */ cmpwi r6, 3 -/* 00F6FC 80014C9C 40820010 */ bne lbl_80014CAC -/* 00F700 80014CA0 93BF0470 */ stw r29, 0x470(r31) -/* 00F704 80014CA4 38600001 */ li r3, 1 -/* 00F708 80014CA8 48000490 */ b lbl_80015138 -lbl_80014CAC: -/* 00F70C 80014CAC 4CC63182 */ crclr 6 -/* 00F710 80014CB0 387E001C */ addi r3, r30, 0x1c -/* 00F714 80014CB4 389E0054 */ addi r4, r30, 0x54 -/* 00F718 80014CB8 38A01068 */ li r5, 0x1068 -/* 00F71C 80014CBC 4BFF1159 */ bl xlPostText -/* 00F720 80014CC0 93BF0470 */ stw r29, 0x470(r31) -/* 00F724 80014CC4 38600001 */ li r3, 1 -/* 00F728 80014CC8 48000470 */ b lbl_80015138 -lbl_80014CCC: -/* 00F72C 80014CCC 38000002 */ li r0, 2 -/* 00F730 80014CD0 901F048C */ stw r0, 0x48c(r31) -/* 00F734 80014CD4 3860002A */ li r3, 0x2a -/* 00F738 80014CD8 4BFF8519 */ bl simulatorPrepareMessage -/* 00F73C 80014CDC 80DF0694 */ lwz r6, 0x694(r31) -/* 00F740 80014CE0 7FE3FB78 */ mr r3, r31 -/* 00F744 80014CE4 80FF0698 */ lwz r7, 0x698(r31) -/* 00F748 80014CE8 389F0494 */ addi r4, r31, 0x494 -/* 00F74C 80014CEC 811F079C */ lwz r8, 0x79c(r31) -/* 00F750 80014CF0 38BF0594 */ addi r5, r31, 0x594 -/* 00F754 80014CF4 48003905 */ bl mcardFileCreate -/* 00F758 80014CF8 2C030000 */ cmpwi r3, 0 -/* 00F75C 80014CFC 40820024 */ bne lbl_80014D20 -/* 00F760 80014D00 801F035C */ lwz r0, 0x35c(r31) -/* 00F764 80014D04 2C000003 */ cmpwi r0, 3 -/* 00F768 80014D08 4182F934 */ beq lbl_8001463C -/* 00F76C 80014D0C 387F0000 */ addi r3, r31, 0 -/* 00F770 80014D10 38A10018 */ addi r5, r1, 0x18 -/* 00F774 80014D14 3880002F */ li r4, 0x2f -/* 00F778 80014D18 48002159 */ bl mcardMenu -/* 00F77C 80014D1C 4BFFF920 */ b lbl_8001463C -lbl_80014D20: -/* 00F780 80014D20 387F0000 */ addi r3, r31, 0 -/* 00F784 80014D24 389F0494 */ addi r4, r31, 0x494 -/* 00F788 80014D28 48004331 */ bl mcardFileSet -/* 00F78C 80014D2C 2C030000 */ cmpwi r3, 0 -/* 00F790 80014D30 40820050 */ bne lbl_80014D80 -/* 00F794 80014D34 387F0000 */ addi r3, r31, 0 -/* 00F798 80014D38 38810018 */ addi r4, r1, 0x18 -/* 00F79C 80014D3C 48001F75 */ bl mcardOpenDuringGameError -/* 00F7A0 80014D40 80C10018 */ lwz r6, 0x18(r1) -/* 00F7A4 80014D44 2C060001 */ cmpwi r6, 1 -/* 00F7A8 80014D48 4182F8F4 */ beq lbl_8001463C -/* 00F7AC 80014D4C 2C060003 */ cmpwi r6, 3 -/* 00F7B0 80014D50 40820010 */ bne lbl_80014D60 -/* 00F7B4 80014D54 93BF0470 */ stw r29, 0x470(r31) -/* 00F7B8 80014D58 38600001 */ li r3, 1 -/* 00F7BC 80014D5C 480003DC */ b lbl_80015138 -lbl_80014D60: -/* 00F7C0 80014D60 4CC63182 */ crclr 6 -/* 00F7C4 80014D64 387E001C */ addi r3, r30, 0x1c -/* 00F7C8 80014D68 389E0054 */ addi r4, r30, 0x54 -/* 00F7CC 80014D6C 38A01083 */ li r5, 0x1083 -/* 00F7D0 80014D70 4BFF10A5 */ bl xlPostText -/* 00F7D4 80014D74 93BF0470 */ stw r29, 0x470(r31) -/* 00F7D8 80014D78 38600001 */ li r3, 1 -/* 00F7DC 80014D7C 480003BC */ b lbl_80015138 -lbl_80014D80: -/* 00F7E0 80014D80 801F0470 */ lwz r0, 0x470(r31) -/* 00F7E4 80014D84 2C000001 */ cmpwi r0, 1 -/* 00F7E8 80014D88 40820048 */ bne lbl_80014DD0 -/* 00F7EC 80014D8C 7FE3FB78 */ mr r3, r31 -/* 00F7F0 80014D90 48006245 */ bl mcardReadyCard -/* 00F7F4 80014D94 2C030000 */ cmpwi r3, 0 -/* 00F7F8 80014D98 40820008 */ bne lbl_80014DA0 -/* 00F7FC 80014D9C 48000038 */ b lbl_80014DD4 -lbl_80014DA0: -/* 00F800 80014DA0 807F0360 */ lwz r3, 0x360(r31) -/* 00F804 80014DA4 389F0008 */ addi r4, r31, 8 -/* 00F808 80014DA8 38BF0348 */ addi r5, r31, 0x348 -/* 00F80C 80014DAC 480AB475 */ bl CARDOpen -/* 00F810 80014DB0 38830000 */ addi r4, r3, 0 -/* 00F814 80014DB4 387F0000 */ addi r3, r31, 0 -/* 00F818 80014DB8 480074E9 */ bl mcardGCErrorHandler -/* 00F81C 80014DBC 2C030001 */ cmpwi r3, 1 -/* 00F820 80014DC0 41820010 */ beq lbl_80014DD0 -/* 00F824 80014DC4 807F0360 */ lwz r3, 0x360(r31) -/* 00F828 80014DC8 480AA755 */ bl CARDUnmount -/* 00F82C 80014DCC 48000008 */ b lbl_80014DD4 -lbl_80014DD0: -/* 00F830 80014DD0 3BA00001 */ li r29, 1 -lbl_80014DD4: -/* 00F834 80014DD4 2C1D0000 */ cmpwi r29, 0 -/* 00F838 80014DD8 40820058 */ bne lbl_80014E30 -/* 00F83C 80014DDC 387F0000 */ addi r3, r31, 0 -/* 00F840 80014DE0 38810018 */ addi r4, r1, 0x18 -/* 00F844 80014DE4 48001ECD */ bl mcardOpenDuringGameError -/* 00F848 80014DE8 80C10018 */ lwz r6, 0x18(r1) -/* 00F84C 80014DEC 2C060001 */ cmpwi r6, 1 -/* 00F850 80014DF0 4182F84C */ beq lbl_8001463C -/* 00F854 80014DF4 2C060003 */ cmpwi r6, 3 -/* 00F858 80014DF8 40820014 */ bne lbl_80014E0C -/* 00F85C 80014DFC 38000000 */ li r0, 0 -/* 00F860 80014E00 901F0470 */ stw r0, 0x470(r31) -/* 00F864 80014E04 38600001 */ li r3, 1 -/* 00F868 80014E08 48000330 */ b lbl_80015138 -lbl_80014E0C: -/* 00F86C 80014E0C 4CC63182 */ crclr 6 -/* 00F870 80014E10 387E001C */ addi r3, r30, 0x1c -/* 00F874 80014E14 389E0054 */ addi r4, r30, 0x54 -/* 00F878 80014E18 38A01096 */ li r5, 0x1096 -/* 00F87C 80014E1C 4BFF0FF9 */ bl xlPostText -/* 00F880 80014E20 38000000 */ li r0, 0 -/* 00F884 80014E24 901F0470 */ stw r0, 0x470(r31) -/* 00F888 80014E28 38600001 */ li r3, 1 -/* 00F88C 80014E2C 4800030C */ b lbl_80015138 -lbl_80014E30: -/* 00F890 80014E30 801F0470 */ lwz r0, 0x470(r31) -/* 00F894 80014E34 2C000001 */ cmpwi r0, 1 -/* 00F898 80014E38 4082F804 */ bne lbl_8001463C -/* 00F89C 80014E3C 801F0348 */ lwz r0, 0x348(r31) -/* 00F8A0 80014E40 2C00FFFF */ cmpwi r0, -1 -/* 00F8A4 80014E44 4182000C */ beq lbl_80014E50 -/* 00F8A8 80014E48 387F0348 */ addi r3, r31, 0x348 -/* 00F8AC 80014E4C 480AB4F1 */ bl CARDClose -lbl_80014E50: -/* 00F8B0 80014E50 807F0360 */ lwz r3, 0x360(r31) -/* 00F8B4 80014E54 480AA6C9 */ bl CARDUnmount -/* 00F8B8 80014E58 4BFFF7E4 */ b lbl_8001463C -lbl_80014E5C: -/* 00F8BC 80014E5C 2C060003 */ cmpwi r6, 3 -/* 00F8C0 80014E60 40820010 */ bne lbl_80014E70 -/* 00F8C4 80014E64 93BF0470 */ stw r29, 0x470(r31) -/* 00F8C8 80014E68 38600001 */ li r3, 1 -/* 00F8CC 80014E6C 480002CC */ b lbl_80015138 -lbl_80014E70: -/* 00F8D0 80014E70 2C060001 */ cmpwi r6, 1 -/* 00F8D4 80014E74 4182F7C8 */ beq lbl_8001463C -/* 00F8D8 80014E78 4CC63182 */ crclr 6 -/* 00F8DC 80014E7C 387E001C */ addi r3, r30, 0x1c -/* 00F8E0 80014E80 389E0054 */ addi r4, r30, 0x54 -/* 00F8E4 80014E84 38A010A9 */ li r5, 0x10a9 -/* 00F8E8 80014E88 4BFF0F8D */ bl xlPostText -/* 00F8EC 80014E8C 93BF0470 */ stw r29, 0x470(r31) -/* 00F8F0 80014E90 38600001 */ li r3, 1 -/* 00F8F4 80014E94 480002A4 */ b lbl_80015138 -lbl_80014E98: -/* 00F8F8 80014E98 801F07AC */ lwz r0, 0x7ac(r31) -/* 00F8FC 80014E9C 2C000001 */ cmpwi r0, 1 -/* 00F900 80014EA0 40820020 */ bne lbl_80014EC0 -/* 00F904 80014EA4 387F0000 */ addi r3, r31, 0 -/* 00F908 80014EA8 38A10018 */ addi r5, r1, 0x18 -/* 00F90C 80014EAC 38800000 */ li r4, 0 -/* 00F910 80014EB0 48001FC1 */ bl mcardMenu -/* 00F914 80014EB4 801F07AC */ lwz r0, 0x7ac(r31) -/* 00F918 80014EB8 2C000001 */ cmpwi r0, 1 -/* 00F91C 80014EBC 4182F780 */ beq lbl_8001463C -lbl_80014EC0: -/* 00F920 80014EC0 3B800000 */ li r28, 0 -/* 00F924 80014EC4 1C1C0021 */ mulli r0, r28, 0x21 -/* 00F928 80014EC8 7F7F0214 */ add r27, r31, r0 -lbl_80014ECC: -/* 00F92C 80014ECC 387F069C */ addi r3, r31, 0x69c -/* 00F930 80014ED0 389B0110 */ addi r4, r27, 0x110 -/* 00F934 80014ED4 480BB96D */ bl strcmp -/* 00F938 80014ED8 2C030000 */ cmpwi r3, 0 -/* 00F93C 80014EDC 4082000C */ bne lbl_80014EE8 -/* 00F940 80014EE0 38000001 */ li r0, 1 -/* 00F944 80014EE4 48000008 */ b lbl_80014EEC -lbl_80014EE8: -/* 00F948 80014EE8 38000000 */ li r0, 0 -lbl_80014EEC: -/* 00F94C 80014EEC 2C000001 */ cmpwi r0, 1 -/* 00F950 80014EF0 41820014 */ beq lbl_80014F04 -/* 00F954 80014EF4 3B9C0001 */ addi r28, r28, 1 -/* 00F958 80014EF8 2C1C0010 */ cmpwi r28, 0x10 -/* 00F95C 80014EFC 3B7B0021 */ addi r27, r27, 0x21 -/* 00F960 80014F00 4180FFCC */ blt lbl_80014ECC -lbl_80014F04: -/* 00F964 80014F04 2C1C0010 */ cmpwi r28, 0x10 -/* 00F968 80014F08 408200A4 */ bne lbl_80014FAC -/* 00F96C 80014F0C 38000002 */ li r0, 2 -/* 00F970 80014F10 901F048C */ stw r0, 0x48c(r31) -/* 00F974 80014F14 3860002A */ li r3, 0x2a -/* 00F978 80014F18 4BFF82D9 */ bl simulatorPrepareMessage -/* 00F97C 80014F1C 80BF07B4 */ lwz r5, 0x7b4(r31) -/* 00F980 80014F20 7FE3FB78 */ mr r3, r31 -/* 00F984 80014F24 80DF07A0 */ lwz r6, 0x7a0(r31) -/* 00F988 80014F28 389F069C */ addi r4, r31, 0x69c -/* 00F98C 80014F2C 48002E35 */ bl mcardGameCreate -/* 00F990 80014F30 2C030000 */ cmpwi r3, 0 -/* 00F994 80014F34 40820010 */ bne lbl_80014F44 -/* 00F998 80014F38 38000001 */ li r0, 1 -/* 00F99C 80014F3C 901F07B0 */ stw r0, 0x7b0(r31) -/* 00F9A0 80014F40 4BFFF6FC */ b lbl_8001463C -lbl_80014F44: -/* 00F9A4 80014F44 387F0000 */ addi r3, r31, 0 -/* 00F9A8 80014F48 389F069C */ addi r4, r31, 0x69c -/* 00F9AC 80014F4C 48003D05 */ bl mcardGameSet -/* 00F9B0 80014F50 2C030000 */ cmpwi r3, 0 -/* 00F9B4 80014F54 408201D0 */ bne lbl_80015124 -/* 00F9B8 80014F58 387F0000 */ addi r3, r31, 0 -/* 00F9BC 80014F5C 38810018 */ addi r4, r1, 0x18 -/* 00F9C0 80014F60 48001D51 */ bl mcardOpenDuringGameError -/* 00F9C4 80014F64 80C10018 */ lwz r6, 0x18(r1) -/* 00F9C8 80014F68 2C060001 */ cmpwi r6, 1 -/* 00F9CC 80014F6C 4182F6D0 */ beq lbl_8001463C -/* 00F9D0 80014F70 2C060003 */ cmpwi r6, 3 -/* 00F9D4 80014F74 40820014 */ bne lbl_80014F88 -/* 00F9D8 80014F78 38000000 */ li r0, 0 -/* 00F9DC 80014F7C 901F0470 */ stw r0, 0x470(r31) -/* 00F9E0 80014F80 38600001 */ li r3, 1 -/* 00F9E4 80014F84 480001B4 */ b lbl_80015138 -lbl_80014F88: -/* 00F9E8 80014F88 4CC63182 */ crclr 6 -/* 00F9EC 80014F8C 387E001C */ addi r3, r30, 0x1c -/* 00F9F0 80014F90 389E0054 */ addi r4, r30, 0x54 -/* 00F9F4 80014F94 38A010D6 */ li r5, 0x10d6 -/* 00F9F8 80014F98 4BFF0E7D */ bl xlPostText -/* 00F9FC 80014F9C 38000000 */ li r0, 0 -/* 00FA00 80014FA0 901F0470 */ stw r0, 0x470(r31) -/* 00FA04 80014FA4 38600001 */ li r3, 1 -/* 00FA08 80014FA8 48000190 */ b lbl_80015138 -lbl_80014FAC: -/* 00FA0C 80014FAC 387F0000 */ addi r3, r31, 0 -/* 00FA10 80014FB0 389F069C */ addi r4, r31, 0x69c -/* 00FA14 80014FB4 48003C9D */ bl mcardGameSet -/* 00FA18 80014FB8 2C030000 */ cmpwi r3, 0 -/* 00FA1C 80014FBC 40820168 */ bne lbl_80015124 -/* 00FA20 80014FC0 387F0000 */ addi r3, r31, 0 -/* 00FA24 80014FC4 38810018 */ addi r4, r1, 0x18 -/* 00FA28 80014FC8 48001CE9 */ bl mcardOpenDuringGameError -/* 00FA2C 80014FCC 80C10018 */ lwz r6, 0x18(r1) -/* 00FA30 80014FD0 2C060005 */ cmpwi r6, 5 -/* 00FA34 80014FD4 4082010C */ bne lbl_800150E0 -/* 00FA38 80014FD8 387F0000 */ addi r3, r31, 0 -/* 00FA3C 80014FDC 389C0000 */ addi r4, r28, 0 -/* 00FA40 80014FE0 4800290D */ bl mcardGameErase -/* 00FA44 80014FE4 2C030000 */ cmpwi r3, 0 -/* 00FA48 80014FE8 40820058 */ bne lbl_80015040 -/* 00FA4C 80014FEC 387F0000 */ addi r3, r31, 0 -/* 00FA50 80014FF0 38810018 */ addi r4, r1, 0x18 -/* 00FA54 80014FF4 48001CBD */ bl mcardOpenDuringGameError -/* 00FA58 80014FF8 80C10018 */ lwz r6, 0x18(r1) -/* 00FA5C 80014FFC 2C060001 */ cmpwi r6, 1 -/* 00FA60 80015000 4182F63C */ beq lbl_8001463C -/* 00FA64 80015004 2C060003 */ cmpwi r6, 3 -/* 00FA68 80015008 40820014 */ bne lbl_8001501C -/* 00FA6C 8001500C 38000000 */ li r0, 0 -/* 00FA70 80015010 901F0470 */ stw r0, 0x470(r31) -/* 00FA74 80015014 38600001 */ li r3, 1 -/* 00FA78 80015018 48000120 */ b lbl_80015138 -lbl_8001501C: -/* 00FA7C 8001501C 4CC63182 */ crclr 6 -/* 00FA80 80015020 387E001C */ addi r3, r30, 0x1c -/* 00FA84 80015024 389E0054 */ addi r4, r30, 0x54 -/* 00FA88 80015028 38A010F1 */ li r5, 0x10f1 -/* 00FA8C 8001502C 4BFF0DE9 */ bl xlPostText -/* 00FA90 80015030 38000000 */ li r0, 0 -/* 00FA94 80015034 901F0470 */ stw r0, 0x470(r31) -/* 00FA98 80015038 38600001 */ li r3, 1 -/* 00FA9C 8001503C 480000FC */ b lbl_80015138 -lbl_80015040: -/* 00FAA0 80015040 38000002 */ li r0, 2 -/* 00FAA4 80015044 901F048C */ stw r0, 0x48c(r31) -/* 00FAA8 80015048 3860002A */ li r3, 0x2a -/* 00FAAC 8001504C 4BFF81A5 */ bl simulatorPrepareMessage -/* 00FAB0 80015050 80BF07B4 */ lwz r5, 0x7b4(r31) -/* 00FAB4 80015054 7FE3FB78 */ mr r3, r31 -/* 00FAB8 80015058 80DF07A0 */ lwz r6, 0x7a0(r31) -/* 00FABC 8001505C 389F069C */ addi r4, r31, 0x69c -/* 00FAC0 80015060 48002D01 */ bl mcardGameCreate -/* 00FAC4 80015064 2C030000 */ cmpwi r3, 0 -/* 00FAC8 80015068 40820010 */ bne lbl_80015078 -/* 00FACC 8001506C 38000001 */ li r0, 1 -/* 00FAD0 80015070 901F07B0 */ stw r0, 0x7b0(r31) -/* 00FAD4 80015074 4BFFF5C8 */ b lbl_8001463C -lbl_80015078: -/* 00FAD8 80015078 387F0000 */ addi r3, r31, 0 -/* 00FADC 8001507C 389F069C */ addi r4, r31, 0x69c -/* 00FAE0 80015080 48003BD1 */ bl mcardGameSet -/* 00FAE4 80015084 2C030000 */ cmpwi r3, 0 -/* 00FAE8 80015088 4082009C */ bne lbl_80015124 -/* 00FAEC 8001508C 387F0000 */ addi r3, r31, 0 -/* 00FAF0 80015090 38810018 */ addi r4, r1, 0x18 -/* 00FAF4 80015094 48001C1D */ bl mcardOpenDuringGameError -/* 00FAF8 80015098 80C10018 */ lwz r6, 0x18(r1) -/* 00FAFC 8001509C 2C060001 */ cmpwi r6, 1 -/* 00FB00 800150A0 4182F59C */ beq lbl_8001463C -/* 00FB04 800150A4 2C060003 */ cmpwi r6, 3 -/* 00FB08 800150A8 40820014 */ bne lbl_800150BC -/* 00FB0C 800150AC 38000000 */ li r0, 0 -/* 00FB10 800150B0 901F0470 */ stw r0, 0x470(r31) -/* 00FB14 800150B4 38600001 */ li r3, 1 -/* 00FB18 800150B8 48000080 */ b lbl_80015138 -lbl_800150BC: -/* 00FB1C 800150BC 4CC63182 */ crclr 6 -/* 00FB20 800150C0 387E001C */ addi r3, r30, 0x1c -/* 00FB24 800150C4 389E0054 */ addi r4, r30, 0x54 -/* 00FB28 800150C8 38A01110 */ li r5, 0x1110 -/* 00FB2C 800150CC 4BFF0D49 */ bl xlPostText -/* 00FB30 800150D0 38000000 */ li r0, 0 -/* 00FB34 800150D4 901F0470 */ stw r0, 0x470(r31) -/* 00FB38 800150D8 38600001 */ li r3, 1 -/* 00FB3C 800150DC 4800005C */ b lbl_80015138 -lbl_800150E0: -/* 00FB40 800150E0 2C060001 */ cmpwi r6, 1 -/* 00FB44 800150E4 4182F558 */ beq lbl_8001463C -/* 00FB48 800150E8 2C060003 */ cmpwi r6, 3 -/* 00FB4C 800150EC 40820014 */ bne lbl_80015100 -/* 00FB50 800150F0 38000000 */ li r0, 0 -/* 00FB54 800150F4 901F0470 */ stw r0, 0x470(r31) -/* 00FB58 800150F8 38600001 */ li r3, 1 -/* 00FB5C 800150FC 4800003C */ b lbl_80015138 -lbl_80015100: -/* 00FB60 80015100 4CC63182 */ crclr 6 -/* 00FB64 80015104 387E001C */ addi r3, r30, 0x1c -/* 00FB68 80015108 389E0054 */ addi r4, r30, 0x54 -/* 00FB6C 8001510C 38A01123 */ li r5, 0x1123 -/* 00FB70 80015110 4BFF0D05 */ bl xlPostText -/* 00FB74 80015114 38000000 */ li r0, 0 -/* 00FB78 80015118 901F0470 */ stw r0, 0x470(r31) -/* 00FB7C 8001511C 38600001 */ li r3, 1 -/* 00FB80 80015120 48000018 */ b lbl_80015138 -lbl_80015124: -/* 00FB84 80015124 38000001 */ li r0, 1 -/* 00FB88 80015128 901F0490 */ stw r0, 0x490(r31) -/* 00FB8C 8001512C 38000000 */ li r0, 0 -/* 00FB90 80015130 38600001 */ li r3, 1 -/* 00FB94 80015134 901F048C */ stw r0, 0x48c(r31) -lbl_80015138: -/* 00FB98 80015138 BB610024 */ lmw r27, 0x24(r1) -/* 00FB9C 8001513C 8001003C */ lwz r0, 0x3c(r1) -/* 00FBA0 80015140 38210038 */ addi r1, r1, 0x38 -/* 00FBA4 80015144 7C0803A6 */ mtlr r0 -/* 00FBA8 80015148 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardOpenDuringGameError.s b/asm/non_matchings/mcardGCN/mcardOpenDuringGameError.s deleted file mode 100644 index 1f33f5dc..00000000 --- a/asm/non_matchings/mcardGCN/mcardOpenDuringGameError.s +++ /dev/null @@ -1,107 +0,0 @@ -glabel mcardOpenDuringGameError -/* 011710 80016CB0 7C0802A6 */ mflr r0 -/* 011714 80016CB4 90010004 */ stw r0, 4(r1) -/* 011718 80016CB8 38000000 */ li r0, 0 -/* 01171C 80016CBC 9421FFF8 */ stwu r1, -8(r1) -/* 011720 80016CC0 90040000 */ stw r0, 0(r4) -/* 011724 80016CC4 8003035C */ lwz r0, 0x35c(r3) -/* 011728 80016CC8 28000017 */ cmplwi r0, 0x17 -/* 01172C 80016CCC 418100A8 */ bgt lbl_80016D74 -/* 011730 80016CD0 3CA0800F */ lis r5, jtbl_800EA5A8@ha -/* 011734 80016CD4 38A5A5A8 */ addi r5, r5, jtbl_800EA5A8@l -/* 011738 80016CD8 5400103A */ slwi r0, r0, 2 -/* 01173C 80016CDC 7C05002E */ lwzx r0, r5, r0 -/* 011740 80016CE0 7C0903A6 */ mtctr r0 -/* 011744 80016CE4 4E800420 */ bctr -.global lbl_80016CE8 -lbl_80016CE8: -/* 011748 80016CE8 38A40000 */ addi r5, r4, 0 -/* 01174C 80016CEC 3880000C */ li r4, 0xc -/* 011750 80016CF0 48000181 */ bl mcardMenu -/* 011754 80016CF4 48000088 */ b lbl_80016D7C -.global lbl_80016CF8 -lbl_80016CF8: -/* 011758 80016CF8 38A40000 */ addi r5, r4, 0 -/* 01175C 80016CFC 3880000E */ li r4, 0xe -/* 011760 80016D00 48000171 */ bl mcardMenu -/* 011764 80016D04 48000078 */ b lbl_80016D7C -.global lbl_80016D08 -lbl_80016D08: -/* 011768 80016D08 38A40000 */ addi r5, r4, 0 -/* 01176C 80016D0C 3880000F */ li r4, 0xf -/* 011770 80016D10 48000161 */ bl mcardMenu -/* 011774 80016D14 48000068 */ b lbl_80016D7C -.global lbl_80016D18 -lbl_80016D18: -/* 011778 80016D18 38A40000 */ addi r5, r4, 0 -/* 01177C 80016D1C 38800010 */ li r4, 0x10 -/* 011780 80016D20 48000151 */ bl mcardMenu -/* 011784 80016D24 48000058 */ b lbl_80016D7C -.global lbl_80016D28 -lbl_80016D28: -/* 011788 80016D28 38A40000 */ addi r5, r4, 0 -/* 01178C 80016D2C 38800011 */ li r4, 0x11 -/* 011790 80016D30 48000141 */ bl mcardMenu -/* 011794 80016D34 48000048 */ b lbl_80016D7C -.global lbl_80016D38 -lbl_80016D38: -/* 011798 80016D38 38A40000 */ addi r5, r4, 0 -/* 01179C 80016D3C 38800013 */ li r4, 0x13 -/* 0117A0 80016D40 48000131 */ bl mcardMenu -/* 0117A4 80016D44 48000038 */ b lbl_80016D7C -.global lbl_80016D48 -lbl_80016D48: -/* 0117A8 80016D48 38000004 */ li r0, 4 -/* 0117AC 80016D4C 90040000 */ stw r0, 0(r4) -/* 0117B0 80016D50 4800002C */ b lbl_80016D7C -.global lbl_80016D54 -lbl_80016D54: -/* 0117B4 80016D54 38A40000 */ addi r5, r4, 0 -/* 0117B8 80016D58 3880001B */ li r4, 0x1b -/* 0117BC 80016D5C 48000115 */ bl mcardMenu -/* 0117C0 80016D60 4800001C */ b lbl_80016D7C -.global lbl_80016D64 -lbl_80016D64: -/* 0117C4 80016D64 38A40000 */ addi r5, r4, 0 -/* 0117C8 80016D68 38800018 */ li r4, 0x18 -/* 0117CC 80016D6C 48000105 */ bl mcardMenu -/* 0117D0 80016D70 4800000C */ b lbl_80016D7C -.global lbl_80016D74 -lbl_80016D74: -/* 0117D4 80016D74 38600000 */ li r3, 0 -/* 0117D8 80016D78 48000008 */ b lbl_80016D80 -lbl_80016D7C: -/* 0117DC 80016D7C 38600001 */ li r3, 1 -lbl_80016D80: -/* 0117E0 80016D80 8001000C */ lwz r0, 0xc(r1) -/* 0117E4 80016D84 38210008 */ addi r1, r1, 8 -/* 0117E8 80016D88 7C0803A6 */ mtlr r0 -/* 0117EC 80016D8C 4E800020 */ blr - -.section .data - -jtbl_800EA5A8: - .word lbl_80016D74 - .word lbl_80016D74 - .word lbl_80016D08 - .word lbl_80016CE8 - .word lbl_80016D48 - .word lbl_80016CF8 - .word lbl_80016D28 - .word lbl_80016D74 - .word lbl_80016D74 - .word lbl_80016D74 - .word lbl_80016D74 - .word lbl_80016D74 - .word lbl_80016D74 - .word lbl_80016D28 - .word lbl_80016D74 - .word lbl_80016D74 - .word lbl_80016D18 - .word lbl_80016D74 - .word lbl_80016D54 - .word lbl_80016D38 - .word lbl_80016D38 - .word lbl_80016D74 - .word lbl_80016D74 - .word lbl_80016D64 diff --git a/asm/non_matchings/mcardGCN/mcardOpenError.s b/asm/non_matchings/mcardGCN/mcardOpenError.s deleted file mode 100644 index 2f157288..00000000 --- a/asm/non_matchings/mcardGCN/mcardOpenError.s +++ /dev/null @@ -1,107 +0,0 @@ -glabel mcardOpenError -/* 0117F0 80016D90 7C0802A6 */ mflr r0 -/* 0117F4 80016D94 90010004 */ stw r0, 4(r1) -/* 0117F8 80016D98 38000000 */ li r0, 0 -/* 0117FC 80016D9C 9421FFF8 */ stwu r1, -8(r1) -/* 011800 80016DA0 90040000 */ stw r0, 0(r4) -/* 011804 80016DA4 8003035C */ lwz r0, 0x35c(r3) -/* 011808 80016DA8 28000017 */ cmplwi r0, 0x17 -/* 01180C 80016DAC 418100A8 */ bgt lbl_80016E54 -/* 011810 80016DB0 3CA0800F */ lis r5, jtbl_800EA608@ha -/* 011814 80016DB4 38A5A608 */ addi r5, r5, jtbl_800EA608@l -/* 011818 80016DB8 5400103A */ slwi r0, r0, 2 -/* 01181C 80016DBC 7C05002E */ lwzx r0, r5, r0 -/* 011820 80016DC0 7C0903A6 */ mtctr r0 -/* 011824 80016DC4 4E800420 */ bctr -.global lbl_80016DC8 -lbl_80016DC8: -/* 011828 80016DC8 38A40000 */ addi r5, r4, 0 -/* 01182C 80016DCC 38800001 */ li r4, 1 -/* 011830 80016DD0 480000A1 */ bl mcardMenu -/* 011834 80016DD4 48000088 */ b lbl_80016E5C -.global lbl_80016DD8 -lbl_80016DD8: -/* 011838 80016DD8 38A40000 */ addi r5, r4, 0 -/* 01183C 80016DDC 38800002 */ li r4, 2 -/* 011840 80016DE0 48000091 */ bl mcardMenu -/* 011844 80016DE4 48000078 */ b lbl_80016E5C -.global lbl_80016DE8 -lbl_80016DE8: -/* 011848 80016DE8 38A40000 */ addi r5, r4, 0 -/* 01184C 80016DEC 38800003 */ li r4, 3 -/* 011850 80016DF0 48000081 */ bl mcardMenu -/* 011854 80016DF4 48000068 */ b lbl_80016E5C -.global lbl_80016DF8 -lbl_80016DF8: -/* 011858 80016DF8 38A40000 */ addi r5, r4, 0 -/* 01185C 80016DFC 38800004 */ li r4, 4 -/* 011860 80016E00 48000071 */ bl mcardMenu -/* 011864 80016E04 48000058 */ b lbl_80016E5C -.global lbl_80016E08 -lbl_80016E08: -/* 011868 80016E08 38A40000 */ addi r5, r4, 0 -/* 01186C 80016E0C 38800005 */ li r4, 5 -/* 011870 80016E10 48000061 */ bl mcardMenu -/* 011874 80016E14 48000048 */ b lbl_80016E5C -.global lbl_80016E18 -lbl_80016E18: -/* 011878 80016E18 38A40000 */ addi r5, r4, 0 -/* 01187C 80016E1C 38800007 */ li r4, 7 -/* 011880 80016E20 48000051 */ bl mcardMenu -/* 011884 80016E24 48000038 */ b lbl_80016E5C -.global lbl_80016E28 -lbl_80016E28: -/* 011888 80016E28 38000004 */ li r0, 4 -/* 01188C 80016E2C 90040000 */ stw r0, 0(r4) -/* 011890 80016E30 4800002C */ b lbl_80016E5C -.global lbl_80016E34 -lbl_80016E34: -/* 011894 80016E34 38A40000 */ addi r5, r4, 0 -/* 011898 80016E38 38800018 */ li r4, 0x18 -/* 01189C 80016E3C 48000035 */ bl mcardMenu -/* 0118A0 80016E40 4800001C */ b lbl_80016E5C -.global lbl_80016E44 -lbl_80016E44: -/* 0118A4 80016E44 38A40000 */ addi r5, r4, 0 -/* 0118A8 80016E48 38800019 */ li r4, 0x19 -/* 0118AC 80016E4C 48000025 */ bl mcardMenu -/* 0118B0 80016E50 4800000C */ b lbl_80016E5C -.global lbl_80016E54 -lbl_80016E54: -/* 0118B4 80016E54 38600000 */ li r3, 0 -/* 0118B8 80016E58 48000008 */ b lbl_80016E60 -lbl_80016E5C: -/* 0118BC 80016E5C 38600001 */ li r3, 1 -lbl_80016E60: -/* 0118C0 80016E60 8001000C */ lwz r0, 0xc(r1) -/* 0118C4 80016E64 38210008 */ addi r1, r1, 8 -/* 0118C8 80016E68 7C0803A6 */ mtlr r0 -/* 0118CC 80016E6C 4E800020 */ blr - -.section .data - -jtbl_800EA608: - .word lbl_80016E54 - .word lbl_80016E54 - .word lbl_80016DE8 - .word lbl_80016DC8 - .word lbl_80016E28 - .word lbl_80016DD8 - .word lbl_80016E08 - .word lbl_80016E54 - .word lbl_80016E54 - .word lbl_80016E54 - .word lbl_80016E54 - .word lbl_80016E54 - .word lbl_80016E54 - .word lbl_80016E08 - .word lbl_80016E54 - .word lbl_80016E54 - .word lbl_80016DF8 - .word lbl_80016E54 - .word lbl_80016E44 - .word lbl_80016E18 - .word lbl_80016E18 - .word lbl_80016E54 - .word lbl_80016E54 - .word lbl_80016E34 diff --git a/asm/non_matchings/mcardGCN/mcardPoll.s b/asm/non_matchings/mcardGCN/mcardPoll.s deleted file mode 100644 index b69aef3d..00000000 --- a/asm/non_matchings/mcardGCN/mcardPoll.s +++ /dev/null @@ -1,66 +0,0 @@ -glabel mcardPoll -/* 015BC8 8001B168 7C0802A6 */ mflr r0 -/* 015BCC 8001B16C 3C808010 */ lis r4, mCard@ha -/* 015BD0 8001B170 90010004 */ stw r0, 4(r1) -/* 015BD4 8001B174 388479B0 */ addi r4, r4, mCard@l -/* 015BD8 8001B178 9421FFE8 */ stwu r1, -0x18(r1) -/* 015BDC 8001B17C 93E10014 */ stw r31, 0x14(r1) -/* 015BE0 8001B180 3BE30000 */ addi r31, r3, 0 -/* 015BE4 8001B184 80040470 */ lwz r0, 0x470(r4) -/* 015BE8 8001B188 2C000001 */ cmpwi r0, 1 -/* 015BEC 8001B18C 408200B0 */ bne lbl_8001B23C -/* 015BF0 8001B190 807F0360 */ lwz r3, 0x360(r31) -/* 015BF4 8001B194 480A0C45 */ bl CARDGetResultCode -/* 015BF8 8001B198 38830000 */ addi r4, r3, 0 -/* 015BFC 8001B19C 387F0000 */ addi r3, r31, 0 -/* 015C00 8001B1A0 48001101 */ bl mcardGCErrorHandler -/* 015C04 8001B1A4 801F035C */ lwz r0, 0x35c(r31) -/* 015C08 8001B1A8 2C000001 */ cmpwi r0, 1 -/* 015C0C 8001B1AC 41820084 */ beq lbl_8001B230 -/* 015C10 8001B1B0 2C000000 */ cmpwi r0, 0 -/* 015C14 8001B1B4 4182007C */ beq lbl_8001B230 -/* 015C18 8001B1B8 38600000 */ li r3, 0 -/* 015C1C 8001B1BC 48000084 */ b lbl_8001B240 -/* 015C20 8001B1C0 48000070 */ b lbl_8001B230 -lbl_8001B1C4: -/* 015C24 8001B1C4 807F0360 */ lwz r3, 0x360(r31) -/* 015C28 8001B1C8 480A0C11 */ bl CARDGetResultCode -/* 015C2C 8001B1CC 38830000 */ addi r4, r3, 0 -/* 015C30 8001B1D0 387F0000 */ addi r3, r31, 0 -/* 015C34 8001B1D4 480010CD */ bl mcardGCErrorHandler -/* 015C38 8001B1D8 801F035C */ lwz r0, 0x35c(r31) -/* 015C3C 8001B1DC 2C000001 */ cmpwi r0, 1 -/* 015C40 8001B1E0 41820014 */ beq lbl_8001B1F4 -/* 015C44 8001B1E4 2C000000 */ cmpwi r0, 0 -/* 015C48 8001B1E8 4182000C */ beq lbl_8001B1F4 -/* 015C4C 8001B1EC 38600000 */ li r3, 0 -/* 015C50 8001B1F0 48000050 */ b lbl_8001B240 -lbl_8001B1F4: -/* 015C54 8001B1F4 801F0364 */ lwz r0, 0x364(r31) -/* 015C58 8001B1F8 28000000 */ cmplwi r0, 0 -/* 015C5C 8001B1FC 41820034 */ beq lbl_8001B230 -/* 015C60 8001B200 38600000 */ li r3, 0 -/* 015C64 8001B204 38800000 */ li r4, 0 -/* 015C68 8001B208 38A00000 */ li r5, 0 -/* 015C6C 8001B20C 38C00000 */ li r6, 0 -/* 015C70 8001B210 4BFED9CD */ bl simulatorTestReset -/* 015C74 8001B214 2C030000 */ cmpwi r3, 0 -/* 015C78 8001B218 4082000C */ bne lbl_8001B224 -/* 015C7C 8001B21C 38600000 */ li r3, 0 -/* 015C80 8001B220 48000020 */ b lbl_8001B240 -lbl_8001B224: -/* 015C84 8001B224 819F0364 */ lwz r12, 0x364(r31) -/* 015C88 8001B228 7D8803A6 */ mtlr r12 -/* 015C8C 8001B22C 4E800021 */ blrl -lbl_8001B230: -/* 015C90 8001B230 801F035C */ lwz r0, 0x35c(r31) -/* 015C94 8001B234 2C000001 */ cmpwi r0, 1 -/* 015C98 8001B238 4182FF8C */ beq lbl_8001B1C4 -lbl_8001B23C: -/* 015C9C 8001B23C 38600001 */ li r3, 1 -lbl_8001B240: -/* 015CA0 8001B240 8001001C */ lwz r0, 0x1c(r1) -/* 015CA4 8001B244 83E10014 */ lwz r31, 0x14(r1) -/* 015CA8 8001B248 38210018 */ addi r1, r1, 0x18 -/* 015CAC 8001B24C 7C0803A6 */ mtlr r0 -/* 015CB0 8001B250 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardReadAnywhere.s b/asm/non_matchings/mcardGCN/mcardReadAnywhere.s deleted file mode 100644 index 58fb5628..00000000 --- a/asm/non_matchings/mcardGCN/mcardReadAnywhere.s +++ /dev/null @@ -1,104 +0,0 @@ -glabel mcardReadAnywhere -/* 0158C4 8001AE64 7C0802A6 */ mflr r0 -/* 0158C8 8001AE68 3CE08010 */ lis r7, mCard@ha -/* 0158CC 8001AE6C 90010004 */ stw r0, 4(r1) -/* 0158D0 8001AE70 38E779B0 */ addi r7, r7, mCard@l -/* 0158D4 8001AE74 9421FD88 */ stwu r1, -0x278(r1) -/* 0158D8 8001AE78 BF610264 */ stmw r27, 0x264(r1) -/* 0158DC 8001AE7C 3B630000 */ addi r27, r3, 0 -/* 0158E0 8001AE80 3B840000 */ addi r28, r4, 0 -/* 0158E4 8001AE84 3BA50000 */ addi r29, r5, 0 -/* 0158E8 8001AE88 3BC60000 */ addi r30, r6, 0 -/* 0158EC 8001AE8C 80070470 */ lwz r0, 0x470(r7) -/* 0158F0 8001AE90 2C000001 */ cmpwi r0, 1 -/* 0158F4 8001AE94 40820128 */ bne lbl_8001AFBC -/* 0158F8 8001AE98 801B0470 */ lwz r0, 0x470(r27) -/* 0158FC 8001AE9C 2C000001 */ cmpwi r0, 1 -/* 015900 8001AEA0 408200B0 */ bne lbl_8001AF50 -/* 015904 8001AEA4 40820070 */ bne lbl_8001AF14 -/* 015908 8001AEA8 38810018 */ addi r4, r1, 0x18 -/* 01590C 8001AEAC 7C802E70 */ srawi r0, r4, 5 -/* 015910 8001AEB0 7C000194 */ addze r0, r0 -/* 015914 8001AEB4 54002834 */ slwi r0, r0, 5 -/* 015918 8001AEB8 7C002010 */ subfc r0, r0, r4 -/* 01591C 8001AEBC 20600020 */ subfic r3, r0, 0x20 -/* 015920 8001AEC0 7C602E70 */ srawi r0, r3, 5 -/* 015924 8001AEC4 7C000194 */ addze r0, r0 -/* 015928 8001AEC8 54002834 */ slwi r0, r0, 5 -/* 01592C 8001AECC 7C001810 */ subfc r0, r0, r3 -/* 015930 8001AED0 7FE40214 */ add r31, r4, r0 -/* 015934 8001AED4 389F0000 */ addi r4, r31, 0 -/* 015938 8001AED8 387B0348 */ addi r3, r27, 0x348 -/* 01593C 8001AEDC 38A00200 */ li r5, 0x200 -/* 015940 8001AEE0 38C00000 */ li r6, 0 -/* 015944 8001AEE4 480A5C31 */ bl CARDRead -/* 015948 8001AEE8 38830000 */ addi r4, r3, 0 -/* 01594C 8001AEEC 387B0000 */ addi r3, r27, 0 -/* 015950 8001AEF0 480013B1 */ bl mcardGCErrorHandler -/* 015954 8001AEF4 2C030001 */ cmpwi r3, 1 -/* 015958 8001AEF8 4182000C */ beq lbl_8001AF04 -/* 01595C 8001AEFC 38000000 */ li r0, 0 -/* 015960 8001AF00 48000018 */ b lbl_8001AF18 -lbl_8001AF04: -/* 015964 8001AF04 389F0000 */ addi r4, r31, 0 -/* 015968 8001AF08 38610238 */ addi r3, r1, 0x238 -/* 01596C 8001AF0C 38A00028 */ li r5, 0x28 -/* 015970 8001AF10 4BFEA5B5 */ bl memcpy -lbl_8001AF14: -/* 015974 8001AF14 38000001 */ li r0, 1 -lbl_8001AF18: -/* 015978 8001AF18 2C000000 */ cmpwi r0, 0 -/* 01597C 8001AF1C 4082000C */ bne lbl_8001AF28 -/* 015980 8001AF20 38000000 */ li r0, 0 -/* 015984 8001AF24 48000030 */ b lbl_8001AF54 -lbl_8001AF28: -/* 015988 8001AF28 38610238 */ addi r3, r1, 0x238 -/* 01598C 8001AF2C 389B0320 */ addi r4, r27, 0x320 -/* 015990 8001AF30 38A00028 */ li r5, 0x28 -/* 015994 8001AF34 480B39DD */ bl memcmp -/* 015998 8001AF38 2C030000 */ cmpwi r3, 0 -/* 01599C 8001AF3C 41820014 */ beq lbl_8001AF50 -/* 0159A0 8001AF40 38000017 */ li r0, 0x17 -/* 0159A4 8001AF44 901B035C */ stw r0, 0x35c(r27) -/* 0159A8 8001AF48 38000000 */ li r0, 0 -/* 0159AC 8001AF4C 48000008 */ b lbl_8001AF54 -lbl_8001AF50: -/* 0159B0 8001AF50 38000001 */ li r0, 1 -lbl_8001AF54: -/* 0159B4 8001AF54 2C000000 */ cmpwi r0, 0 -/* 0159B8 8001AF58 4082000C */ bne lbl_8001AF64 -/* 0159BC 8001AF5C 38600000 */ li r3, 0 -/* 0159C0 8001AF60 48000060 */ b lbl_8001AFC0 -lbl_8001AF64: -/* 0159C4 8001AF64 389E0000 */ addi r4, r30, 0 -/* 0159C8 8001AF68 38BD0000 */ addi r5, r29, 0 -/* 0159CC 8001AF6C 38DC0000 */ addi r6, r28, 0 -/* 0159D0 8001AF70 387B0348 */ addi r3, r27, 0x348 -/* 0159D4 8001AF74 38E00000 */ li r7, 0 -/* 0159D8 8001AF78 480A5A59 */ bl CARDReadAsync -/* 0159DC 8001AF7C 38830000 */ addi r4, r3, 0 -/* 0159E0 8001AF80 387B0000 */ addi r3, r27, 0 -/* 0159E4 8001AF84 4800131D */ bl mcardGCErrorHandler -/* 0159E8 8001AF88 2C030001 */ cmpwi r3, 1 -/* 0159EC 8001AF8C 4182000C */ beq lbl_8001AF98 -/* 0159F0 8001AF90 38600000 */ li r3, 0 -/* 0159F4 8001AF94 4800002C */ b lbl_8001AFC0 -lbl_8001AF98: -/* 0159F8 8001AF98 7F63DB78 */ mr r3, r27 -/* 0159FC 8001AF9C 480001CD */ bl mcardPoll -/* 015A00 8001AFA0 2C030001 */ cmpwi r3, 1 -/* 015A04 8001AFA4 4182000C */ beq lbl_8001AFB0 -/* 015A08 8001AFA8 38600000 */ li r3, 0 -/* 015A0C 8001AFAC 48000014 */ b lbl_8001AFC0 -lbl_8001AFB0: -/* 015A10 8001AFB0 387E0000 */ addi r3, r30, 0 -/* 015A14 8001AFB4 389D0000 */ addi r4, r29, 0 -/* 015A18 8001AFB8 48082799 */ bl DCInvalidateRange -lbl_8001AFBC: -/* 015A1C 8001AFBC 38600001 */ li r3, 1 -lbl_8001AFC0: -/* 015A20 8001AFC0 BB610264 */ lmw r27, 0x264(r1) -/* 015A24 8001AFC4 8001027C */ lwz r0, 0x27c(r1) -/* 015A28 8001AFC8 38210278 */ addi r1, r1, 0x278 -/* 015A2C 8001AFCC 7C0803A6 */ mtlr r0 -/* 015A30 8001AFD0 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardReadBufferAsynch.s b/asm/non_matchings/mcardGCN/mcardReadBufferAsynch.s deleted file mode 100644 index 5a8e407f..00000000 --- a/asm/non_matchings/mcardGCN/mcardReadBufferAsynch.s +++ /dev/null @@ -1,116 +0,0 @@ -glabel mcardReadBufferAsynch -/* 014898 80019E38 7C0802A6 */ mflr r0 -/* 01489C 80019E3C 3CA08010 */ lis r5, mCard@ha -/* 0148A0 80019E40 90010004 */ stw r0, 4(r1) -/* 0148A4 80019E44 38A579B0 */ addi r5, r5, mCard@l -/* 0148A8 80019E48 9421FD90 */ stwu r1, -0x270(r1) -/* 0148AC 80019E4C BF61025C */ stmw r27, 0x25c(r1) -/* 0148B0 80019E50 3BC30000 */ addi r30, r3, 0 -/* 0148B4 80019E54 3B640000 */ addi r27, r4, 0 -/* 0148B8 80019E58 80050470 */ lwz r0, 0x470(r5) -/* 0148BC 80019E5C 2C000001 */ cmpwi r0, 1 -/* 0148C0 80019E60 40820164 */ bne lbl_80019FC4 -/* 0148C4 80019E64 3BE5047C */ addi r31, r5, 0x47c -/* 0148C8 80019E68 8005047C */ lwz r0, 0x47c(r5) -/* 0148CC 80019E6C 2C000001 */ cmpwi r0, 1 -/* 0148D0 80019E70 40820118 */ bne lbl_80019F88 -/* 0148D4 80019E74 3BA00000 */ li r29, 0 -/* 0148D8 80019E78 93BF0000 */ stw r29, 0(r31) -/* 0148DC 80019E7C 801E0470 */ lwz r0, 0x470(r30) -/* 0148E0 80019E80 2C000001 */ cmpwi r0, 1 -/* 0148E4 80019E84 408200AC */ bne lbl_80019F30 -/* 0148E8 80019E88 4082006C */ bne lbl_80019EF4 -/* 0148EC 80019E8C 38810010 */ addi r4, r1, 0x10 -/* 0148F0 80019E90 7C802E70 */ srawi r0, r4, 5 -/* 0148F4 80019E94 7C000194 */ addze r0, r0 -/* 0148F8 80019E98 54002834 */ slwi r0, r0, 5 -/* 0148FC 80019E9C 7C002010 */ subfc r0, r0, r4 -/* 014900 80019EA0 20600020 */ subfic r3, r0, 0x20 -/* 014904 80019EA4 7C602E70 */ srawi r0, r3, 5 -/* 014908 80019EA8 7C000194 */ addze r0, r0 -/* 01490C 80019EAC 54002834 */ slwi r0, r0, 5 -/* 014910 80019EB0 7C001810 */ subfc r0, r0, r3 -/* 014914 80019EB4 7F840214 */ add r28, r4, r0 -/* 014918 80019EB8 389C0000 */ addi r4, r28, 0 -/* 01491C 80019EBC 387E0348 */ addi r3, r30, 0x348 -/* 014920 80019EC0 38A00200 */ li r5, 0x200 -/* 014924 80019EC4 38C00000 */ li r6, 0 -/* 014928 80019EC8 480A6C4D */ bl CARDRead -/* 01492C 80019ECC 38830000 */ addi r4, r3, 0 -/* 014930 80019ED0 387E0000 */ addi r3, r30, 0 -/* 014934 80019ED4 480023CD */ bl mcardGCErrorHandler -/* 014938 80019ED8 2C030001 */ cmpwi r3, 1 -/* 01493C 80019EDC 41820008 */ beq lbl_80019EE4 -/* 014940 80019EE0 48000018 */ b lbl_80019EF8 -lbl_80019EE4: -/* 014944 80019EE4 389C0000 */ addi r4, r28, 0 -/* 014948 80019EE8 38610230 */ addi r3, r1, 0x230 -/* 01494C 80019EEC 38A00028 */ li r5, 0x28 -/* 014950 80019EF0 4BFEB5D5 */ bl memcpy -lbl_80019EF4: -/* 014954 80019EF4 3BA00001 */ li r29, 1 -lbl_80019EF8: -/* 014958 80019EF8 2C1D0000 */ cmpwi r29, 0 -/* 01495C 80019EFC 4082000C */ bne lbl_80019F08 -/* 014960 80019F00 38000000 */ li r0, 0 -/* 014964 80019F04 48000030 */ b lbl_80019F34 -lbl_80019F08: -/* 014968 80019F08 38610230 */ addi r3, r1, 0x230 -/* 01496C 80019F0C 389E0320 */ addi r4, r30, 0x320 -/* 014970 80019F10 38A00028 */ li r5, 0x28 -/* 014974 80019F14 480B49FD */ bl memcmp -/* 014978 80019F18 2C030000 */ cmpwi r3, 0 -/* 01497C 80019F1C 41820014 */ beq lbl_80019F30 -/* 014980 80019F20 38000017 */ li r0, 0x17 -/* 014984 80019F24 901E035C */ stw r0, 0x35c(r30) -/* 014988 80019F28 38000000 */ li r0, 0 -/* 01498C 80019F2C 48000008 */ b lbl_80019F34 -lbl_80019F30: -/* 014990 80019F30 38000001 */ li r0, 1 -lbl_80019F34: -/* 014994 80019F34 2C000000 */ cmpwi r0, 0 -/* 014998 80019F38 40820014 */ bne lbl_80019F4C -/* 01499C 80019F3C 38000001 */ li r0, 1 -/* 0149A0 80019F40 901F0000 */ stw r0, 0(r31) -/* 0149A4 80019F44 38600000 */ li r3, 0 -/* 0149A8 80019F48 48000080 */ b lbl_80019FC8 -lbl_80019F4C: -/* 0149AC 80019F4C 809E0478 */ lwz r4, 0x478(r30) -/* 0149B0 80019F50 38DB0000 */ addi r6, r27, 0 -/* 0149B4 80019F54 387E0348 */ addi r3, r30, 0x348 -/* 0149B8 80019F58 38A02000 */ li r5, 0x2000 -/* 0149BC 80019F5C 38E00000 */ li r7, 0 -/* 0149C0 80019F60 480A6A71 */ bl CARDReadAsync -/* 0149C4 80019F64 38830000 */ addi r4, r3, 0 -/* 0149C8 80019F68 387E0000 */ addi r3, r30, 0 -/* 0149CC 80019F6C 48002335 */ bl mcardGCErrorHandler -/* 0149D0 80019F70 2C030001 */ cmpwi r3, 1 -/* 0149D4 80019F74 41820050 */ beq lbl_80019FC4 -/* 0149D8 80019F78 38000001 */ li r0, 1 -/* 0149DC 80019F7C 901F0000 */ stw r0, 0(r31) -/* 0149E0 80019F80 38600000 */ li r3, 0 -/* 0149E4 80019F84 48000044 */ b lbl_80019FC8 -lbl_80019F88: -/* 0149E8 80019F88 807E0360 */ lwz r3, 0x360(r30) -/* 0149EC 80019F8C 480A1E4D */ bl CARDGetResultCode -/* 0149F0 80019F90 38830000 */ addi r4, r3, 0 -/* 0149F4 80019F94 387E0000 */ addi r3, r30, 0 -/* 0149F8 80019F98 48002309 */ bl mcardGCErrorHandler -/* 0149FC 80019F9C 801E035C */ lwz r0, 0x35c(r30) -/* 014A00 80019FA0 2C000001 */ cmpwi r0, 1 -/* 014A04 80019FA4 41820020 */ beq lbl_80019FC4 -/* 014A08 80019FA8 38000001 */ li r0, 1 -/* 014A0C 80019FAC 901F0000 */ stw r0, 0(r31) -/* 014A10 80019FB0 801E035C */ lwz r0, 0x35c(r30) -/* 014A14 80019FB4 2C000000 */ cmpwi r0, 0 -/* 014A18 80019FB8 4182000C */ beq lbl_80019FC4 -/* 014A1C 80019FBC 38600000 */ li r3, 0 -/* 014A20 80019FC0 48000008 */ b lbl_80019FC8 -lbl_80019FC4: -/* 014A24 80019FC4 38600001 */ li r3, 1 -lbl_80019FC8: -/* 014A28 80019FC8 BB61025C */ lmw r27, 0x25c(r1) -/* 014A2C 80019FCC 80010274 */ lwz r0, 0x274(r1) -/* 014A30 80019FD0 38210270 */ addi r1, r1, 0x270 -/* 014A34 80019FD4 7C0803A6 */ mtlr r0 -/* 014A38 80019FD8 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardReadFileHeader.s b/asm/non_matchings/mcardGCN/mcardReadFileHeader.s deleted file mode 100644 index f9ab6524..00000000 --- a/asm/non_matchings/mcardGCN/mcardReadFileHeader.s +++ /dev/null @@ -1,152 +0,0 @@ -glabel mcardReadFileHeader -/* 015358 8001A8F8 7C0802A6 */ mflr r0 -/* 01535C 8001A8FC 90010004 */ stw r0, 4(r1) -/* 015360 8001A900 94219D80 */ stwu r1, -0x6280(r1) -/* 015364 8001A904 93E1627C */ stw r31, 0x627c(r1) -/* 015368 8001A908 7C7F1B78 */ mr r31, r3 -/* 01536C 8001A90C 93C16278 */ stw r30, 0x6278(r1) -/* 015370 8001A910 80030470 */ lwz r0, 0x470(r3) -/* 015374 8001A914 2C000001 */ cmpwi r0, 1 -/* 015378 8001A918 408201E8 */ bne lbl_8001AB00 -/* 01537C 8001A91C 3C60800F */ lis r3, D_800EA7B4@ha -/* 015380 8001A920 3883A7B4 */ addi r4, r3, D_800EA7B4@l -/* 015384 8001A924 387F0370 */ addi r3, r31, 0x370 -/* 015388 8001A928 480B6081 */ bl strcpy -/* 01538C 8001A92C 3C608010 */ lis r3, mCard@ha -/* 015390 8001A930 386379B0 */ addi r3, r3, mCard@l -/* 015394 8001A934 80030470 */ lwz r0, 0x470(r3) -/* 015398 8001A938 2C000001 */ cmpwi r0, 1 -/* 01539C 8001A93C 40820154 */ bne lbl_8001AA90 -/* 0153A0 8001A940 801F0470 */ lwz r0, 0x470(r31) -/* 0153A4 8001A944 2C000001 */ cmpwi r0, 1 -/* 0153A8 8001A948 408200B0 */ bne lbl_8001A9F8 -/* 0153AC 8001A94C 40820070 */ bne lbl_8001A9BC -/* 0153B0 8001A950 3881000C */ addi r4, r1, 0xc -/* 0153B4 8001A954 7C802E70 */ srawi r0, r4, 5 -/* 0153B8 8001A958 7C000194 */ addze r0, r0 -/* 0153BC 8001A95C 54002834 */ slwi r0, r0, 5 -/* 0153C0 8001A960 7C002010 */ subfc r0, r0, r4 -/* 0153C4 8001A964 20600020 */ subfic r3, r0, 0x20 -/* 0153C8 8001A968 7C602E70 */ srawi r0, r3, 5 -/* 0153CC 8001A96C 7C000194 */ addze r0, r0 -/* 0153D0 8001A970 54002834 */ slwi r0, r0, 5 -/* 0153D4 8001A974 7C001810 */ subfc r0, r0, r3 -/* 0153D8 8001A978 7FC40214 */ add r30, r4, r0 -/* 0153DC 8001A97C 389E0000 */ addi r4, r30, 0 -/* 0153E0 8001A980 387F0348 */ addi r3, r31, 0x348 -/* 0153E4 8001A984 38A00200 */ li r5, 0x200 -/* 0153E8 8001A988 38C00000 */ li r6, 0 -/* 0153EC 8001A98C 480A6189 */ bl CARDRead -/* 0153F0 8001A990 38830000 */ addi r4, r3, 0 -/* 0153F4 8001A994 387F0000 */ addi r3, r31, 0 -/* 0153F8 8001A998 48001909 */ bl mcardGCErrorHandler -/* 0153FC 8001A99C 2C030001 */ cmpwi r3, 1 -/* 015400 8001A9A0 4182000C */ beq lbl_8001A9AC -/* 015404 8001A9A4 38000000 */ li r0, 0 -/* 015408 8001A9A8 48000018 */ b lbl_8001A9C0 -lbl_8001A9AC: -/* 01540C 8001A9AC 389E0000 */ addi r4, r30, 0 -/* 015410 8001A9B0 3861022C */ addi r3, r1, 0x22c -/* 015414 8001A9B4 38A00028 */ li r5, 0x28 -/* 015418 8001A9B8 4BFEAB0D */ bl memcpy -lbl_8001A9BC: -/* 01541C 8001A9BC 38000001 */ li r0, 1 -lbl_8001A9C0: -/* 015420 8001A9C0 2C000000 */ cmpwi r0, 0 -/* 015424 8001A9C4 4082000C */ bne lbl_8001A9D0 -/* 015428 8001A9C8 38000000 */ li r0, 0 -/* 01542C 8001A9CC 48000030 */ b lbl_8001A9FC -lbl_8001A9D0: -/* 015430 8001A9D0 3861022C */ addi r3, r1, 0x22c -/* 015434 8001A9D4 389F0320 */ addi r4, r31, 0x320 -/* 015438 8001A9D8 38A00028 */ li r5, 0x28 -/* 01543C 8001A9DC 480B3F35 */ bl memcmp -/* 015440 8001A9E0 2C030000 */ cmpwi r3, 0 -/* 015444 8001A9E4 41820014 */ beq lbl_8001A9F8 -/* 015448 8001A9E8 38000017 */ li r0, 0x17 -/* 01544C 8001A9EC 901F035C */ stw r0, 0x35c(r31) -/* 015450 8001A9F0 38000000 */ li r0, 0 -/* 015454 8001A9F4 48000008 */ b lbl_8001A9FC -lbl_8001A9F8: -/* 015458 8001A9F8 38000001 */ li r0, 1 -lbl_8001A9FC: -/* 01545C 8001A9FC 2C000000 */ cmpwi r0, 0 -/* 015460 8001AA00 4082000C */ bne lbl_8001AA0C -/* 015464 8001AA04 38000000 */ li r0, 0 -/* 015468 8001AA08 4800008C */ b lbl_8001AA94 -lbl_8001AA0C: -/* 01546C 8001AA0C 38810254 */ addi r4, r1, 0x254 -/* 015470 8001AA10 7C802E70 */ srawi r0, r4, 5 -/* 015474 8001AA14 7C000194 */ addze r0, r0 -/* 015478 8001AA18 54002834 */ slwi r0, r0, 5 -/* 01547C 8001AA1C 7C002010 */ subfc r0, r0, r4 -/* 015480 8001AA20 20600020 */ subfic r3, r0, 0x20 -/* 015484 8001AA24 7C602E70 */ srawi r0, r3, 5 -/* 015488 8001AA28 7C000194 */ addze r0, r0 -/* 01548C 8001AA2C 54002834 */ slwi r0, r0, 5 -/* 015490 8001AA30 7C001810 */ subfc r0, r0, r3 -/* 015494 8001AA34 7FC40214 */ add r30, r4, r0 -/* 015498 8001AA38 389E0000 */ addi r4, r30, 0 -/* 01549C 8001AA3C 387F0348 */ addi r3, r31, 0x348 -/* 0154A0 8001AA40 38A06000 */ li r5, 0x6000 -/* 0154A4 8001AA44 38C00000 */ li r6, 0 -/* 0154A8 8001AA48 38E00000 */ li r7, 0 -/* 0154AC 8001AA4C 480A5F85 */ bl CARDReadAsync -/* 0154B0 8001AA50 38830000 */ addi r4, r3, 0 -/* 0154B4 8001AA54 387F0000 */ addi r3, r31, 0 -/* 0154B8 8001AA58 48001849 */ bl mcardGCErrorHandler -/* 0154BC 8001AA5C 2C030001 */ cmpwi r3, 1 -/* 0154C0 8001AA60 4182000C */ beq lbl_8001AA6C -/* 0154C4 8001AA64 38000000 */ li r0, 0 -/* 0154C8 8001AA68 4800002C */ b lbl_8001AA94 -lbl_8001AA6C: -/* 0154CC 8001AA6C 7FE3FB78 */ mr r3, r31 -/* 0154D0 8001AA70 480006F9 */ bl mcardPoll -/* 0154D4 8001AA74 2C030001 */ cmpwi r3, 1 -/* 0154D8 8001AA78 4182000C */ beq lbl_8001AA84 -/* 0154DC 8001AA7C 38000000 */ li r0, 0 -/* 0154E0 8001AA80 48000014 */ b lbl_8001AA94 -lbl_8001AA84: -/* 0154E4 8001AA84 387E0000 */ addi r3, r30, 0 -/* 0154E8 8001AA88 38806000 */ li r4, 0x6000 -/* 0154EC 8001AA8C 48082CC5 */ bl DCInvalidateRange -lbl_8001AA90: -/* 0154F0 8001AA90 38000001 */ li r0, 1 -lbl_8001AA94: -/* 0154F4 8001AA94 2C000000 */ cmpwi r0, 0 -/* 0154F8 8001AA98 4082000C */ bne lbl_8001AAA4 -/* 0154FC 8001AA9C 38600000 */ li r3, 0 -/* 015500 8001AAA0 48000064 */ b lbl_8001AB04 -lbl_8001AAA4: -/* 015504 8001AAA4 38810254 */ addi r4, r1, 0x254 -/* 015508 8001AAA8 7C802E70 */ srawi r0, r4, 5 -/* 01550C 8001AAAC 7C000194 */ addze r0, r0 -/* 015510 8001AAB0 54002834 */ slwi r0, r0, 5 -/* 015514 8001AAB4 7C002010 */ subfc r0, r0, r4 -/* 015518 8001AAB8 20600020 */ subfic r3, r0, 0x20 -/* 01551C 8001AABC 7C602E70 */ srawi r0, r3, 5 -/* 015520 8001AAC0 7C000194 */ addze r0, r0 -/* 015524 8001AAC4 54002834 */ slwi r0, r0, 5 -/* 015528 8001AAC8 7C001810 */ subfc r0, r0, r3 -/* 01552C 8001AACC 7FC40214 */ add r30, r4, r0 -/* 015530 8001AAD0 387F0050 */ addi r3, r31, 0x50 -/* 015534 8001AAD4 389E3070 */ addi r4, r30, 0x3070 -/* 015538 8001AAD8 38A00040 */ li r5, 0x40 -/* 01553C 8001AADC 4BFEA9E9 */ bl memcpy -/* 015540 8001AAE0 387F0110 */ addi r3, r31, 0x110 -/* 015544 8001AAE4 389E30B0 */ addi r4, r30, 0x30b0 -/* 015548 8001AAE8 38A00201 */ li r5, 0x201 -/* 01554C 8001AAEC 4BFEA9D9 */ bl memcpy -/* 015550 8001AAF0 387F00D0 */ addi r3, r31, 0xd0 -/* 015554 8001AAF4 389E32B1 */ addi r4, r30, 0x32b1 -/* 015558 8001AAF8 38A00040 */ li r5, 0x40 -/* 01555C 8001AAFC 4BFEA9C9 */ bl memcpy -lbl_8001AB00: -/* 015560 8001AB00 38600001 */ li r3, 1 -lbl_8001AB04: -/* 015564 8001AB04 80016284 */ lwz r0, 0x6284(r1) -/* 015568 8001AB08 83E1627C */ lwz r31, 0x627c(r1) -/* 01556C 8001AB0C 83C16278 */ lwz r30, 0x6278(r1) -/* 015570 8001AB10 7C0803A6 */ mtlr r0 -/* 015574 8001AB14 38216280 */ addi r1, r1, 0x6280 -/* 015578 8001AB18 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardReadFileHeaderInitial.s b/asm/non_matchings/mcardGCN/mcardReadFileHeaderInitial.s deleted file mode 100644 index 6b4525a9..00000000 --- a/asm/non_matchings/mcardGCN/mcardReadFileHeaderInitial.s +++ /dev/null @@ -1,94 +0,0 @@ -glabel mcardReadFileHeaderInitial -/* 014E44 8001A3E4 7C0802A6 */ mflr r0 -/* 014E48 8001A3E8 90010004 */ stw r0, 4(r1) -/* 014E4C 8001A3EC 94219FC8 */ stwu r1, -0x6038(r1) -/* 014E50 8001A3F0 93E16034 */ stw r31, 0x6034(r1) -/* 014E54 8001A3F4 93C16030 */ stw r30, 0x6030(r1) -/* 014E58 8001A3F8 7C7E1B78 */ mr r30, r3 -/* 014E5C 8001A3FC 80030470 */ lwz r0, 0x470(r3) -/* 014E60 8001A400 2C000001 */ cmpwi r0, 1 -/* 014E64 8001A404 4082011C */ bne lbl_8001A520 -/* 014E68 8001A408 3C608010 */ lis r3, mCard@ha -/* 014E6C 8001A40C 386379B0 */ addi r3, r3, mCard@l -/* 014E70 8001A410 80030470 */ lwz r0, 0x470(r3) -/* 014E74 8001A414 2C000001 */ cmpwi r0, 1 -/* 014E78 8001A418 40820088 */ bne lbl_8001A4A0 -/* 014E7C 8001A41C 3881000C */ addi r4, r1, 0xc -/* 014E80 8001A420 7C802E70 */ srawi r0, r4, 5 -/* 014E84 8001A424 7C000194 */ addze r0, r0 -/* 014E88 8001A428 54002834 */ slwi r0, r0, 5 -/* 014E8C 8001A42C 7C002010 */ subfc r0, r0, r4 -/* 014E90 8001A430 20600020 */ subfic r3, r0, 0x20 -/* 014E94 8001A434 7C602E70 */ srawi r0, r3, 5 -/* 014E98 8001A438 7C000194 */ addze r0, r0 -/* 014E9C 8001A43C 54002834 */ slwi r0, r0, 5 -/* 014EA0 8001A440 7C001810 */ subfc r0, r0, r3 -/* 014EA4 8001A444 7FE40214 */ add r31, r4, r0 -/* 014EA8 8001A448 389F0000 */ addi r4, r31, 0 -/* 014EAC 8001A44C 387E0348 */ addi r3, r30, 0x348 -/* 014EB0 8001A450 38A06000 */ li r5, 0x6000 -/* 014EB4 8001A454 38C00000 */ li r6, 0 -/* 014EB8 8001A458 38E00000 */ li r7, 0 -/* 014EBC 8001A45C 480A6575 */ bl CARDReadAsync -/* 014EC0 8001A460 38830000 */ addi r4, r3, 0 -/* 014EC4 8001A464 387E0000 */ addi r3, r30, 0 -/* 014EC8 8001A468 48001E39 */ bl mcardGCErrorHandler -/* 014ECC 8001A46C 2C030001 */ cmpwi r3, 1 -/* 014ED0 8001A470 4182000C */ beq lbl_8001A47C -/* 014ED4 8001A474 38000000 */ li r0, 0 -/* 014ED8 8001A478 4800002C */ b lbl_8001A4A4 -lbl_8001A47C: -/* 014EDC 8001A47C 7FC3F378 */ mr r3, r30 -/* 014EE0 8001A480 48000CE9 */ bl mcardPoll -/* 014EE4 8001A484 2C030001 */ cmpwi r3, 1 -/* 014EE8 8001A488 4182000C */ beq lbl_8001A494 -/* 014EEC 8001A48C 38000000 */ li r0, 0 -/* 014EF0 8001A490 48000014 */ b lbl_8001A4A4 -lbl_8001A494: -/* 014EF4 8001A494 387F0000 */ addi r3, r31, 0 -/* 014EF8 8001A498 38806000 */ li r4, 0x6000 -/* 014EFC 8001A49C 480832B5 */ bl DCInvalidateRange -lbl_8001A4A0: -/* 014F00 8001A4A0 38000001 */ li r0, 1 -lbl_8001A4A4: -/* 014F04 8001A4A4 2C000000 */ cmpwi r0, 0 -/* 014F08 8001A4A8 4082000C */ bne lbl_8001A4B4 -/* 014F0C 8001A4AC 38600000 */ li r3, 0 -/* 014F10 8001A4B0 48000074 */ b lbl_8001A524 -lbl_8001A4B4: -/* 014F14 8001A4B4 3881000C */ addi r4, r1, 0xc -/* 014F18 8001A4B8 7C802E70 */ srawi r0, r4, 5 -/* 014F1C 8001A4BC 7C000194 */ addze r0, r0 -/* 014F20 8001A4C0 54002834 */ slwi r0, r0, 5 -/* 014F24 8001A4C4 7C002010 */ subfc r0, r0, r4 -/* 014F28 8001A4C8 20600020 */ subfic r3, r0, 0x20 -/* 014F2C 8001A4CC 7C602E70 */ srawi r0, r3, 5 -/* 014F30 8001A4D0 7C000194 */ addze r0, r0 -/* 014F34 8001A4D4 54002834 */ slwi r0, r0, 5 -/* 014F38 8001A4D8 7C001810 */ subfc r0, r0, r3 -/* 014F3C 8001A4DC 7FE40214 */ add r31, r4, r0 -/* 014F40 8001A4E0 387E0050 */ addi r3, r30, 0x50 -/* 014F44 8001A4E4 389F3070 */ addi r4, r31, 0x3070 -/* 014F48 8001A4E8 38A00040 */ li r5, 0x40 -/* 014F4C 8001A4EC 4BFEAFD9 */ bl memcpy -/* 014F50 8001A4F0 387E0110 */ addi r3, r30, 0x110 -/* 014F54 8001A4F4 389F30B0 */ addi r4, r31, 0x30b0 -/* 014F58 8001A4F8 38A00201 */ li r5, 0x201 -/* 014F5C 8001A4FC 4BFEAFC9 */ bl memcpy -/* 014F60 8001A500 387E00D0 */ addi r3, r30, 0xd0 -/* 014F64 8001A504 389F32B1 */ addi r4, r31, 0x32b1 -/* 014F68 8001A508 38A00040 */ li r5, 0x40 -/* 014F6C 8001A50C 4BFEAFB9 */ bl memcpy -/* 014F70 8001A510 389F0000 */ addi r4, r31, 0 -/* 014F74 8001A514 387E0320 */ addi r3, r30, 0x320 -/* 014F78 8001A518 38A00028 */ li r5, 0x28 -/* 014F7C 8001A51C 4BFEAFA9 */ bl memcpy -lbl_8001A520: -/* 014F80 8001A520 38600001 */ li r3, 1 -lbl_8001A524: -/* 014F84 8001A524 8001603C */ lwz r0, 0x603c(r1) -/* 014F88 8001A528 83E16034 */ lwz r31, 0x6034(r1) -/* 014F8C 8001A52C 83C16030 */ lwz r30, 0x6030(r1) -/* 014F90 8001A530 7C0803A6 */ mtlr r0 -/* 014F94 8001A534 38216038 */ addi r1, r1, 0x6038 -/* 014F98 8001A538 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardReadGameData.s b/asm/non_matchings/mcardGCN/mcardReadGameData.s deleted file mode 100644 index cb200885..00000000 --- a/asm/non_matchings/mcardGCN/mcardReadGameData.s +++ /dev/null @@ -1,257 +0,0 @@ -glabel mcardReadGameData -/* 014138 800196D8 7C0802A6 */ mflr r0 -/* 01413C 800196DC 90010004 */ stw r0, 4(r1) -/* 014140 800196E0 9421FD68 */ stwu r1, -0x298(r1) -/* 014144 800196E4 BE810268 */ stmw r20, 0x268(r1) -/* 014148 800196E8 7C771B78 */ mr r23, r3 -/* 01414C 800196EC 3B000001 */ li r24, 1 -/* 014150 800196F0 80030470 */ lwz r0, 0x470(r3) -/* 014154 800196F4 2C000001 */ cmpwi r0, 1 -/* 014158 800196F8 40820360 */ bne lbl_80019A58 -/* 01415C 800196FC 3C60800F */ lis r3, D_800EA764@ha -/* 014160 80019700 3883A764 */ addi r4, r3, D_800EA764@l -/* 014164 80019704 38770370 */ addi r3, r23, 0x370 -/* 014168 80019708 480B72A1 */ bl strcpy -/* 01416C 8001970C 38A1000C */ addi r5, r1, 0xc -/* 014170 80019710 7CA02E70 */ srawi r0, r5, 5 -/* 014174 80019714 7C000194 */ addze r0, r0 -/* 014178 80019718 54002834 */ slwi r0, r0, 5 -/* 01417C 8001971C 7C002810 */ subfc r0, r0, r5 -/* 014180 80019720 20800020 */ subfic r4, r0, 0x20 -/* 014184 80019724 7C802E70 */ srawi r0, r4, 5 -/* 014188 80019728 7C000194 */ addze r0, r0 -/* 01418C 8001972C 54002834 */ slwi r0, r0, 5 -/* 014190 80019730 3C608010 */ lis r3, mCard@ha -/* 014194 80019734 7C002010 */ subfc r0, r0, r4 -/* 014198 80019738 3BE379B0 */ addi r31, r3, mCard@l -/* 01419C 8001973C 3AC00000 */ li r22, 0 -/* 0141A0 80019740 3C600020 */ lis r3, 0x20 -/* 0141A4 80019744 3BB60000 */ addi r29, r22, 0 -/* 0141A8 80019748 7F850214 */ add r28, r5, r0 -/* 0141AC 8001974C 3BC30401 */ addi r30, r3, 0x401 -/* 0141B0 80019750 3B7F0470 */ addi r27, r31, 0x470 -/* 0141B4 80019754 3B200000 */ li r25, 0 -/* 0141B8 80019758 480002DC */ b lbl_80019A34 -lbl_8001975C: -/* 0141BC 8001975C 801B0000 */ lwz r0, 0(r27) -/* 0141C0 80019760 80770038 */ lwz r3, 0x38(r23) -/* 0141C4 80019764 2C000001 */ cmpwi r0, 1 -/* 0141C8 80019768 82970474 */ lwz r20, 0x474(r23) -/* 0141CC 8001976C 7EA3EA14 */ add r21, r3, r29 -/* 0141D0 80019770 3AB56000 */ addi r21, r21, 0x6000 -/* 0141D4 80019774 408200FC */ bne lbl_80019870 -/* 0141D8 80019778 80170470 */ lwz r0, 0x470(r23) -/* 0141DC 8001977C 2C000001 */ cmpwi r0, 1 -/* 0141E0 80019780 40820084 */ bne lbl_80019804 -/* 0141E4 80019784 40820044 */ bne lbl_800197C8 -/* 0141E8 80019788 389C0000 */ addi r4, r28, 0 -/* 0141EC 8001978C 38770348 */ addi r3, r23, 0x348 -/* 0141F0 80019790 38A00200 */ li r5, 0x200 -/* 0141F4 80019794 38C00000 */ li r6, 0 -/* 0141F8 80019798 480A737D */ bl CARDRead -/* 0141FC 8001979C 38830000 */ addi r4, r3, 0 -/* 014200 800197A0 38770000 */ addi r3, r23, 0 -/* 014204 800197A4 48002AFD */ bl mcardGCErrorHandler -/* 014208 800197A8 2C030001 */ cmpwi r3, 1 -/* 01420C 800197AC 4182000C */ beq lbl_800197B8 -/* 014210 800197B0 38000000 */ li r0, 0 -/* 014214 800197B4 48000018 */ b lbl_800197CC -lbl_800197B8: -/* 014218 800197B8 389C0000 */ addi r4, r28, 0 -/* 01421C 800197BC 3861022C */ addi r3, r1, 0x22c -/* 014220 800197C0 38A00028 */ li r5, 0x28 -/* 014224 800197C4 4BFEBD01 */ bl memcpy -lbl_800197C8: -/* 014228 800197C8 38000001 */ li r0, 1 -lbl_800197CC: -/* 01422C 800197CC 2C000000 */ cmpwi r0, 0 -/* 014230 800197D0 4082000C */ bne lbl_800197DC -/* 014234 800197D4 38000000 */ li r0, 0 -/* 014238 800197D8 48000030 */ b lbl_80019808 -lbl_800197DC: -/* 01423C 800197DC 3861022C */ addi r3, r1, 0x22c -/* 014240 800197E0 38970320 */ addi r4, r23, 0x320 -/* 014244 800197E4 38A00028 */ li r5, 0x28 -/* 014248 800197E8 480B5129 */ bl memcmp -/* 01424C 800197EC 2C030000 */ cmpwi r3, 0 -/* 014250 800197F0 41820014 */ beq lbl_80019804 -/* 014254 800197F4 38000017 */ li r0, 0x17 -/* 014258 800197F8 9017035C */ stw r0, 0x35c(r23) -/* 01425C 800197FC 38000000 */ li r0, 0 -/* 014260 80019800 48000008 */ b lbl_80019808 -lbl_80019804: -/* 014264 80019804 38000001 */ li r0, 1 -lbl_80019808: -/* 014268 80019808 2C000000 */ cmpwi r0, 0 -/* 01426C 8001980C 4082000C */ bne lbl_80019818 -/* 014270 80019810 38000000 */ li r0, 0 -/* 014274 80019814 48000060 */ b lbl_80019874 -lbl_80019818: -/* 014278 80019818 38940000 */ addi r4, r20, 0 -/* 01427C 8001981C 38D50000 */ addi r6, r21, 0 -/* 014280 80019820 38770348 */ addi r3, r23, 0x348 -/* 014284 80019824 38A02000 */ li r5, 0x2000 -/* 014288 80019828 38E00000 */ li r7, 0 -/* 01428C 8001982C 480A71A5 */ bl CARDReadAsync -/* 014290 80019830 38830000 */ addi r4, r3, 0 -/* 014294 80019834 38770000 */ addi r3, r23, 0 -/* 014298 80019838 48002A69 */ bl mcardGCErrorHandler -/* 01429C 8001983C 2C030001 */ cmpwi r3, 1 -/* 0142A0 80019840 4182000C */ beq lbl_8001984C -/* 0142A4 80019844 38000000 */ li r0, 0 -/* 0142A8 80019848 4800002C */ b lbl_80019874 -lbl_8001984C: -/* 0142AC 8001984C 7EE3BB78 */ mr r3, r23 -/* 0142B0 80019850 48001919 */ bl mcardPoll -/* 0142B4 80019854 2C030001 */ cmpwi r3, 1 -/* 0142B8 80019858 4182000C */ beq lbl_80019864 -/* 0142BC 8001985C 38000000 */ li r0, 0 -/* 0142C0 80019860 48000014 */ b lbl_80019874 -lbl_80019864: -/* 0142C4 80019864 38740000 */ addi r3, r20, 0 -/* 0142C8 80019868 38802000 */ li r4, 0x2000 -/* 0142CC 8001986C 48083EE5 */ bl DCInvalidateRange -lbl_80019870: -/* 0142D0 80019870 38000001 */ li r0, 1 -lbl_80019874: -/* 0142D4 80019874 2C000000 */ cmpwi r0, 0 -/* 0142D8 80019878 4082000C */ bne lbl_80019884 -/* 0142DC 8001987C 38600000 */ li r3, 0 -/* 0142E0 80019880 480001DC */ b lbl_80019A5C -lbl_80019884: -/* 0142E4 80019884 80970474 */ lwz r4, 0x474(r23) -/* 0142E8 80019888 38610260 */ addi r3, r1, 0x260 -/* 0142EC 8001988C 38A00004 */ li r5, 4 -/* 0142F0 80019890 4BFEBC35 */ bl memcpy -/* 0142F4 80019894 801B0000 */ lwz r0, 0(r27) -/* 0142F8 80019898 2C000001 */ cmpwi r0, 1 -/* 0142FC 8001989C 40820034 */ bne lbl_800198D0 -/* 014300 800198A0 380007FF */ li r0, 0x7ff -/* 014304 800198A4 7C0903A6 */ mtctr r0 -/* 014308 800198A8 3B400000 */ li r26, 0 -/* 01430C 800198AC 38800004 */ li r4, 4 -lbl_800198B0: -/* 014310 800198B0 80770474 */ lwz r3, 0x474(r23) -/* 014314 800198B4 7C03202E */ lwzx r0, r3, r4 -/* 014318 800198B8 38840004 */ addi r4, r4, 4 -/* 01431C 800198BC 7F5A0214 */ add r26, r26, r0 -/* 014320 800198C0 4200FFF0 */ bdnz lbl_800198B0 -/* 014324 800198C4 2C1A0000 */ cmpwi r26, 0 -/* 014328 800198C8 40820008 */ bne lbl_800198D0 -/* 01432C 800198CC 3B400001 */ li r26, 1 -lbl_800198D0: -/* 014330 800198D0 80010260 */ lwz r0, 0x260(r1) -/* 014334 800198D4 7C00D000 */ cmpw r0, r26 -/* 014338 800198D8 418200F4 */ beq lbl_800199CC -/* 01433C 800198DC 2C180001 */ cmpwi r24, 1 -/* 014340 800198E0 408200DC */ bne lbl_800199BC -/* 014344 800198E4 80970034 */ lwz r4, 0x34(r23) -/* 014348 800198E8 7EE3BB78 */ mr r3, r23 -/* 01434C 800198EC 80B70038 */ lwz r5, 0x38(r23) -/* 014350 800198F0 3B000000 */ li r24, 0 -/* 014354 800198F4 38041FFB */ addi r0, r4, 0x1ffb -/* 014358 800198F8 7C9E0016 */ mulhwu r4, r30, r0 -/* 01435C 800198FC 80D70474 */ lwz r6, 0x474(r23) -/* 014360 80019900 7C040050 */ subf r0, r4, r0 -/* 014364 80019904 5400F87E */ srwi r0, r0, 1 -/* 014368 80019908 7C002214 */ add r0, r0, r4 -/* 01436C 8001990C 54000824 */ rlwinm r0, r0, 1, 0, 0x12 -/* 014370 80019910 7C850214 */ add r4, r5, r0 -/* 014374 80019914 38A02000 */ li r5, 0x2000 -/* 014378 80019918 38846000 */ addi r4, r4, 0x6000 -/* 01437C 8001991C 48001549 */ bl mcardReadAnywhere -/* 014380 80019920 2C030000 */ cmpwi r3, 0 -/* 014384 80019924 4082000C */ bne lbl_80019930 -/* 014388 80019928 38000000 */ li r0, 0 -/* 01438C 8001992C 48000078 */ b lbl_800199A4 -lbl_80019930: -/* 014390 80019930 80970474 */ lwz r4, 0x474(r23) -/* 014394 80019934 38610254 */ addi r3, r1, 0x254 -/* 014398 80019938 38A00004 */ li r5, 4 -/* 01439C 8001993C 4BFEBB89 */ bl memcpy -/* 0143A0 80019940 38770000 */ addi r3, r23, 0 -/* 0143A4 80019944 38810258 */ addi r4, r1, 0x258 -/* 0143A8 80019948 480028F9 */ bl mcardCalculateChecksum -/* 0143AC 8001994C 80610254 */ lwz r3, 0x254(r1) -/* 0143B0 80019950 80010258 */ lwz r0, 0x258(r1) -/* 0143B4 80019954 7C030000 */ cmpw r3, r0 -/* 0143B8 80019958 4182000C */ beq lbl_80019964 -/* 0143BC 8001995C 38000000 */ li r0, 0 -/* 0143C0 80019960 48000044 */ b lbl_800199A4 -lbl_80019964: -/* 0143C4 80019964 38000002 */ li r0, 2 -/* 0143C8 80019968 901F048C */ stw r0, 0x48c(r31) -/* 0143CC 8001996C 3860002A */ li r3, 0x2a -/* 0143D0 80019970 4BFF3881 */ bl simulatorPrepareMessage -/* 0143D4 80019974 80170038 */ lwz r0, 0x38(r23) -/* 0143D8 80019978 7EE3BB78 */ mr r3, r23 -/* 0143DC 8001997C 80D70474 */ lwz r6, 0x474(r23) -/* 0143E0 80019980 38A02000 */ li r5, 0x2000 -/* 0143E4 80019984 7C80EA14 */ add r4, r0, r29 -/* 0143E8 80019988 38846000 */ addi r4, r4, 0x6000 -/* 0143EC 8001998C 4800133D */ bl mcardWriteAnywhere -/* 0143F0 80019990 2C030000 */ cmpwi r3, 0 -/* 0143F4 80019994 4082000C */ bne lbl_800199A0 -/* 0143F8 80019998 38000000 */ li r0, 0 -/* 0143FC 8001999C 48000008 */ b lbl_800199A4 -lbl_800199A0: -/* 014400 800199A0 38000001 */ li r0, 1 -lbl_800199A4: -/* 014404 800199A4 2C000000 */ cmpwi r0, 0 -/* 014408 800199A8 40820024 */ bne lbl_800199CC -/* 01440C 800199AC 38000012 */ li r0, 0x12 -/* 014410 800199B0 9017035C */ stw r0, 0x35c(r23) -/* 014414 800199B4 38600000 */ li r3, 0 -/* 014418 800199B8 480000A4 */ b lbl_80019A5C -lbl_800199BC: -/* 01441C 800199BC 38000012 */ li r0, 0x12 -/* 014420 800199C0 9017035C */ stw r0, 0x35c(r23) -/* 014424 800199C4 38600000 */ li r3, 0 -/* 014428 800199C8 48000094 */ b lbl_80019A5C -lbl_800199CC: -/* 01442C 800199CC 80970034 */ lwz r4, 0x34(r23) -/* 014430 800199D0 38041FFB */ addi r0, r4, 0x1ffb -/* 014434 800199D4 7C7E0016 */ mulhwu r3, r30, r0 -/* 014438 800199D8 7C030050 */ subf r0, r3, r0 -/* 01443C 800199DC 5400F87E */ srwi r0, r0, 1 -/* 014440 800199E0 7C001A14 */ add r0, r0, r3 -/* 014444 800199E4 5403A33E */ srwi r3, r0, 0xc -/* 014448 800199E8 3803FFFF */ addi r0, r3, -1 -/* 01444C 800199EC 7C190040 */ cmplw r25, r0 -/* 014450 800199F0 40800020 */ bge lbl_80019A10 -/* 014454 800199F4 8017003C */ lwz r0, 0x3c(r23) -/* 014458 800199F8 38A01FFC */ li r5, 0x1ffc -/* 01445C 800199FC 80970474 */ lwz r4, 0x474(r23) -/* 014460 80019A00 7C60B214 */ add r3, r0, r22 -/* 014464 80019A04 38840004 */ addi r4, r4, 4 -/* 014468 80019A08 4BFEBABD */ bl memcpy -/* 01446C 80019A0C 4800001C */ b lbl_80019A28 -lbl_80019A10: -/* 014470 80019A10 8017003C */ lwz r0, 0x3c(r23) -/* 014474 80019A14 7CB62050 */ subf r5, r22, r4 -/* 014478 80019A18 80970474 */ lwz r4, 0x474(r23) -/* 01447C 80019A1C 7C60B214 */ add r3, r0, r22 -/* 014480 80019A20 38840004 */ addi r4, r4, 4 -/* 014484 80019A24 4BFEBAA1 */ bl memcpy -lbl_80019A28: -/* 014488 80019A28 3BBD2000 */ addi r29, r29, 0x2000 -/* 01448C 80019A2C 3B390001 */ addi r25, r25, 1 -/* 014490 80019A30 3AD61FFC */ addi r22, r22, 0x1ffc -lbl_80019A34: -/* 014494 80019A34 80770034 */ lwz r3, 0x34(r23) -/* 014498 80019A38 38031FFB */ addi r0, r3, 0x1ffb -/* 01449C 80019A3C 7C7E0016 */ mulhwu r3, r30, r0 -/* 0144A0 80019A40 7C030050 */ subf r0, r3, r0 -/* 0144A4 80019A44 5400F87E */ srwi r0, r0, 1 -/* 0144A8 80019A48 7C001A14 */ add r0, r0, r3 -/* 0144AC 80019A4C 5400A33E */ srwi r0, r0, 0xc -/* 0144B0 80019A50 7C190040 */ cmplw r25, r0 -/* 0144B4 80019A54 4180FD08 */ blt lbl_8001975C -lbl_80019A58: -/* 0144B8 80019A58 38600001 */ li r3, 1 -lbl_80019A5C: -/* 0144BC 80019A5C BA810268 */ lmw r20, 0x268(r1) -/* 0144C0 80019A60 8001029C */ lwz r0, 0x29c(r1) -/* 0144C4 80019A64 38210298 */ addi r1, r1, 0x298 -/* 0144C8 80019A68 7C0803A6 */ mtlr r0 -/* 0144CC 80019A6C 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardReadyCard.s b/asm/non_matchings/mcardGCN/mcardReadyCard.s deleted file mode 100644 index a821da68..00000000 --- a/asm/non_matchings/mcardGCN/mcardReadyCard.s +++ /dev/null @@ -1,111 +0,0 @@ -glabel mcardReadyCard -/* 015A34 8001AFD4 7C0802A6 */ mflr r0 -/* 015A38 8001AFD8 3C808010 */ lis r4, mCard@ha -/* 015A3C 8001AFDC 90010004 */ stw r0, 4(r1) -/* 015A40 8001AFE0 388479B0 */ addi r4, r4, mCard@l -/* 015A44 8001AFE4 9421FFE8 */ stwu r1, -0x18(r1) -/* 015A48 8001AFE8 93E10014 */ stw r31, 0x14(r1) -/* 015A4C 8001AFEC 93C10010 */ stw r30, 0x10(r1) -/* 015A50 8001AFF0 3BC30000 */ addi r30, r3, 0 -/* 015A54 8001AFF4 80040470 */ lwz r0, 0x470(r4) -/* 015A58 8001AFF8 2C000001 */ cmpwi r0, 1 -/* 015A5C 8001AFFC 40820150 */ bne lbl_8001B14C -/* 015A60 8001B000 807E0360 */ lwz r3, 0x360(r30) -/* 015A64 8001B004 389E07A8 */ addi r4, r30, 0x7a8 -/* 015A68 8001B008 38A1000C */ addi r5, r1, 0xc -/* 015A6C 8001B00C 480A3BC9 */ bl CARDProbeEx -/* 015A70 8001B010 38830000 */ addi r4, r3, 0 -/* 015A74 8001B014 387E0000 */ addi r3, r30, 0 -/* 015A78 8001B018 48001289 */ bl mcardGCErrorHandler -/* 015A7C 8001B01C 801E07B0 */ lwz r0, 0x7b0(r30) -/* 015A80 8001B020 2C000001 */ cmpwi r0, 1 -/* 015A84 8001B024 40820040 */ bne lbl_8001B064 -/* 015A88 8001B028 801E035C */ lwz r0, 0x35c(r30) -/* 015A8C 8001B02C 2C000003 */ cmpwi r0, 3 -/* 015A90 8001B030 41820034 */ beq lbl_8001B064 -/* 015A94 8001B034 38000005 */ li r0, 5 -/* 015A98 8001B038 901E035C */ stw r0, 0x35c(r30) -/* 015A9C 8001B03C 38600000 */ li r3, 0 -/* 015AA0 8001B040 48000110 */ b lbl_8001B150 -/* 015AA4 8001B044 48000020 */ b lbl_8001B064 -lbl_8001B048: -/* 015AA8 8001B048 807E0360 */ lwz r3, 0x360(r30) -/* 015AAC 8001B04C 389E07A8 */ addi r4, r30, 0x7a8 -/* 015AB0 8001B050 38A1000C */ addi r5, r1, 0xc -/* 015AB4 8001B054 480A3B81 */ bl CARDProbeEx -/* 015AB8 8001B058 38830000 */ addi r4, r3, 0 -/* 015ABC 8001B05C 387E0000 */ addi r3, r30, 0 -/* 015AC0 8001B060 48001241 */ bl mcardGCErrorHandler -lbl_8001B064: -/* 015AC4 8001B064 801E035C */ lwz r0, 0x35c(r30) -/* 015AC8 8001B068 2C000001 */ cmpwi r0, 1 -/* 015ACC 8001B06C 4182FFDC */ beq lbl_8001B048 -/* 015AD0 8001B070 2C000000 */ cmpwi r0, 0 -/* 015AD4 8001B074 41820048 */ beq lbl_8001B0BC -/* 015AD8 8001B078 3BE00000 */ li r31, 0 -lbl_8001B07C: -/* 015ADC 8001B07C 807E0360 */ lwz r3, 0x360(r30) -/* 015AE0 8001B080 389E07A8 */ addi r4, r30, 0x7a8 -/* 015AE4 8001B084 38A1000C */ addi r5, r1, 0xc -/* 015AE8 8001B088 480A3B4D */ bl CARDProbeEx -/* 015AEC 8001B08C 38830000 */ addi r4, r3, 0 -/* 015AF0 8001B090 387E0000 */ addi r3, r30, 0 -/* 015AF4 8001B094 4800120D */ bl mcardGCErrorHandler -/* 015AF8 8001B098 2C030001 */ cmpwi r3, 1 -/* 015AFC 8001B09C 41820010 */ beq lbl_8001B0AC -/* 015B00 8001B0A0 3BFF0001 */ addi r31, r31, 1 -/* 015B04 8001B0A4 2C1F000A */ cmpwi r31, 0xa -/* 015B08 8001B0A8 4180FFD4 */ blt lbl_8001B07C -lbl_8001B0AC: -/* 015B0C 8001B0AC 2C1F000A */ cmpwi r31, 0xa -/* 015B10 8001B0B0 4082000C */ bne lbl_8001B0BC -/* 015B14 8001B0B4 38600000 */ li r3, 0 -/* 015B18 8001B0B8 48000098 */ b lbl_8001B150 -lbl_8001B0BC: -/* 015B1C 8001B0BC 8001000C */ lwz r0, 0xc(r1) -/* 015B20 8001B0C0 2C002000 */ cmpwi r0, 0x2000 -/* 015B24 8001B0C4 41820014 */ beq lbl_8001B0D8 -/* 015B28 8001B0C8 38000010 */ li r0, 0x10 -/* 015B2C 8001B0CC 901E035C */ stw r0, 0x35c(r30) -/* 015B30 8001B0D0 38600000 */ li r3, 0 -/* 015B34 8001B0D4 4800007C */ b lbl_8001B150 -lbl_8001B0D8: -/* 015B38 8001B0D8 3C808010 */ lis r4, gMCardCardWorkArea@ha -/* 015B3C 8001B0DC 807E0360 */ lwz r3, 0x360(r30) -/* 015B40 8001B0E0 3884D960 */ addi r4, r4, gMCardCardWorkArea@l -/* 015B44 8001B0E4 38A00000 */ li r5, 0 -/* 015B48 8001B0E8 480A4351 */ bl CARDMount -/* 015B4C 8001B0EC 38830000 */ addi r4, r3, 0 -/* 015B50 8001B0F0 387E0000 */ addi r3, r30, 0 -/* 015B54 8001B0F4 480011AD */ bl mcardGCErrorHandler -/* 015B58 8001B0F8 801E035C */ lwz r0, 0x35c(r30) -/* 015B5C 8001B0FC 2C000000 */ cmpwi r0, 0 -/* 015B60 8001B100 41820024 */ beq lbl_8001B124 -/* 015B64 8001B104 2C000006 */ cmpwi r0, 6 -/* 015B68 8001B108 4182001C */ beq lbl_8001B124 -/* 015B6C 8001B10C 2C00000D */ cmpwi r0, 0xd -/* 015B70 8001B110 41820014 */ beq lbl_8001B124 -/* 015B74 8001B114 807E0360 */ lwz r3, 0x360(r30) -/* 015B78 8001B118 480A4405 */ bl CARDUnmount -/* 015B7C 8001B11C 38600000 */ li r3, 0 -/* 015B80 8001B120 48000030 */ b lbl_8001B150 -lbl_8001B124: -/* 015B84 8001B124 807E0360 */ lwz r3, 0x360(r30) -/* 015B88 8001B128 480A398D */ bl CARDCheck -/* 015B8C 8001B12C 38830000 */ addi r4, r3, 0 -/* 015B90 8001B130 387E0000 */ addi r3, r30, 0 -/* 015B94 8001B134 4800116D */ bl mcardGCErrorHandler -/* 015B98 8001B138 801E035C */ lwz r0, 0x35c(r30) -/* 015B9C 8001B13C 2C000000 */ cmpwi r0, 0 -/* 015BA0 8001B140 4182000C */ beq lbl_8001B14C -/* 015BA4 8001B144 38600000 */ li r3, 0 -/* 015BA8 8001B148 48000008 */ b lbl_8001B150 -lbl_8001B14C: -/* 015BAC 8001B14C 38600001 */ li r3, 1 -lbl_8001B150: -/* 015BB0 8001B150 8001001C */ lwz r0, 0x1c(r1) -/* 015BB4 8001B154 83E10014 */ lwz r31, 0x14(r1) -/* 015BB8 8001B158 83C10010 */ lwz r30, 0x10(r1) -/* 015BBC 8001B15C 7C0803A6 */ mtlr r0 -/* 015BC0 8001B160 38210018 */ addi r1, r1, 0x18 -/* 015BC4 8001B164 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardReplaceFileBlock.s b/asm/non_matchings/mcardGCN/mcardReplaceFileBlock.s deleted file mode 100644 index 8bab4545..00000000 --- a/asm/non_matchings/mcardGCN/mcardReplaceFileBlock.s +++ /dev/null @@ -1,322 +0,0 @@ -glabel mcardReplaceFileBlock -/* 0161F4 8001B794 7C0802A6 */ mflr r0 -/* 0161F8 8001B798 38A02000 */ li r5, 0x2000 -/* 0161FC 8001B79C 90010004 */ stw r0, 4(r1) -/* 016200 8001B7A0 9421DDA8 */ stwu r1, -0x2258(r1) -/* 016204 8001B7A4 BF612244 */ stmw r27, 0x2244(r1) -/* 016208 8001B7A8 3BA40000 */ addi r29, r4, 0 -/* 01620C 8001B7AC 3B830000 */ addi r28, r3, 0 -/* 016210 8001B7B0 80830474 */ lwz r4, 0x474(r3) -/* 016214 8001B7B4 38610238 */ addi r3, r1, 0x238 -/* 016218 8001B7B8 4BFE9D0D */ bl memcpy -/* 01621C 8001B7BC 3C608010 */ lis r3, mCard@ha -/* 016220 8001B7C0 837C0474 */ lwz r27, 0x474(r28) -/* 016224 8001B7C4 386379B0 */ addi r3, r3, mCard@l -/* 016228 8001B7C8 3BE30470 */ addi r31, r3, 0x470 -/* 01622C 8001B7CC 80030470 */ lwz r0, 0x470(r3) -/* 016230 8001B7D0 2C000001 */ cmpwi r0, 1 -/* 016234 8001B7D4 4082005C */ bne lbl_8001B830 -/* 016238 8001B7D8 389B0000 */ addi r4, r27, 0 -/* 01623C 8001B7DC 387C0348 */ addi r3, r28, 0x348 -/* 016240 8001B7E0 38A02000 */ li r5, 0x2000 -/* 016244 8001B7E4 38C04000 */ li r6, 0x4000 -/* 016248 8001B7E8 38E00000 */ li r7, 0 -/* 01624C 8001B7EC 480A51E5 */ bl CARDReadAsync -/* 016250 8001B7F0 38830000 */ addi r4, r3, 0 -/* 016254 8001B7F4 387C0000 */ addi r3, r28, 0 -/* 016258 8001B7F8 48000AA9 */ bl mcardGCErrorHandler -/* 01625C 8001B7FC 2C030001 */ cmpwi r3, 1 -/* 016260 8001B800 4182000C */ beq lbl_8001B80C -/* 016264 8001B804 38000000 */ li r0, 0 -/* 016268 8001B808 4800002C */ b lbl_8001B834 -lbl_8001B80C: -/* 01626C 8001B80C 7F83E378 */ mr r3, r28 -/* 016270 8001B810 4BFFF959 */ bl mcardPoll -/* 016274 8001B814 2C030001 */ cmpwi r3, 1 -/* 016278 8001B818 4182000C */ beq lbl_8001B824 -/* 01627C 8001B81C 38000000 */ li r0, 0 -/* 016280 8001B820 48000014 */ b lbl_8001B834 -lbl_8001B824: -/* 016284 8001B824 387B0000 */ addi r3, r27, 0 -/* 016288 8001B828 38802000 */ li r4, 0x2000 -/* 01628C 8001B82C 48081F25 */ bl DCInvalidateRange -lbl_8001B830: -/* 016290 8001B830 38000001 */ li r0, 1 -lbl_8001B834: -/* 016294 8001B834 2C000000 */ cmpwi r0, 0 -/* 016298 8001B838 4082000C */ bne lbl_8001B844 -/* 01629C 8001B83C 38600000 */ li r3, 0 -/* 0162A0 8001B840 480003C0 */ b lbl_8001BC00 -lbl_8001B844: -/* 0162A4 8001B844 2C1D0000 */ cmpwi r29, 0 -/* 0162A8 8001B848 4082012C */ bne lbl_8001B974 -/* 0162AC 8001B84C 809C0474 */ lwz r4, 0x474(r28) -/* 0162B0 8001B850 38612238 */ addi r3, r1, 0x2238 -/* 0162B4 8001B854 38A00004 */ li r5, 4 -/* 0162B8 8001B858 38840028 */ addi r4, r4, 0x28 -/* 0162BC 8001B85C 4BFE9C69 */ bl memcpy -/* 0162C0 8001B860 801F0000 */ lwz r0, 0(r31) -/* 0162C4 8001B864 2C000001 */ cmpwi r0, 1 -/* 0162C8 8001B868 40820230 */ bne lbl_8001BA98 -/* 0162CC 8001B86C 38000100 */ li r0, 0x100 -/* 0162D0 8001B870 38800000 */ li r4, 0 -/* 0162D4 8001B874 7C0903A6 */ mtctr r0 -/* 0162D8 8001B878 38A40000 */ addi r5, r4, 0 -/* 0162DC 8001B87C 3BC00000 */ li r30, 0 -lbl_8001B880: -/* 0162E0 8001B880 2804000A */ cmplwi r4, 0xa -/* 0162E4 8001B884 41820010 */ beq lbl_8001B894 -/* 0162E8 8001B888 807C0474 */ lwz r3, 0x474(r28) -/* 0162EC 8001B88C 7C03282E */ lwzx r0, r3, r5 -/* 0162F0 8001B890 7FDE0214 */ add r30, r30, r0 -lbl_8001B894: -/* 0162F4 8001B894 38840001 */ addi r4, r4, 1 -/* 0162F8 8001B898 2804000A */ cmplwi r4, 0xa -/* 0162FC 8001B89C 38A50004 */ addi r5, r5, 4 -/* 016300 8001B8A0 41820010 */ beq lbl_8001B8B0 -/* 016304 8001B8A4 807C0474 */ lwz r3, 0x474(r28) -/* 016308 8001B8A8 7C03282E */ lwzx r0, r3, r5 -/* 01630C 8001B8AC 7FDE0214 */ add r30, r30, r0 -lbl_8001B8B0: -/* 016310 8001B8B0 38840001 */ addi r4, r4, 1 -/* 016314 8001B8B4 2804000A */ cmplwi r4, 0xa -/* 016318 8001B8B8 38A50004 */ addi r5, r5, 4 -/* 01631C 8001B8BC 41820010 */ beq lbl_8001B8CC -/* 016320 8001B8C0 807C0474 */ lwz r3, 0x474(r28) -/* 016324 8001B8C4 7C03282E */ lwzx r0, r3, r5 -/* 016328 8001B8C8 7FDE0214 */ add r30, r30, r0 -lbl_8001B8CC: -/* 01632C 8001B8CC 38840001 */ addi r4, r4, 1 -/* 016330 8001B8D0 2804000A */ cmplwi r4, 0xa -/* 016334 8001B8D4 38A50004 */ addi r5, r5, 4 -/* 016338 8001B8D8 41820010 */ beq lbl_8001B8E8 -/* 01633C 8001B8DC 807C0474 */ lwz r3, 0x474(r28) -/* 016340 8001B8E0 7C03282E */ lwzx r0, r3, r5 -/* 016344 8001B8E4 7FDE0214 */ add r30, r30, r0 -lbl_8001B8E8: -/* 016348 8001B8E8 38840001 */ addi r4, r4, 1 -/* 01634C 8001B8EC 2804000A */ cmplwi r4, 0xa -/* 016350 8001B8F0 38A50004 */ addi r5, r5, 4 -/* 016354 8001B8F4 41820010 */ beq lbl_8001B904 -/* 016358 8001B8F8 807C0474 */ lwz r3, 0x474(r28) -/* 01635C 8001B8FC 7C03282E */ lwzx r0, r3, r5 -/* 016360 8001B900 7FDE0214 */ add r30, r30, r0 -lbl_8001B904: -/* 016364 8001B904 38840001 */ addi r4, r4, 1 -/* 016368 8001B908 2804000A */ cmplwi r4, 0xa -/* 01636C 8001B90C 38A50004 */ addi r5, r5, 4 -/* 016370 8001B910 41820010 */ beq lbl_8001B920 -/* 016374 8001B914 807C0474 */ lwz r3, 0x474(r28) -/* 016378 8001B918 7C03282E */ lwzx r0, r3, r5 -/* 01637C 8001B91C 7FDE0214 */ add r30, r30, r0 -lbl_8001B920: -/* 016380 8001B920 38840001 */ addi r4, r4, 1 -/* 016384 8001B924 2804000A */ cmplwi r4, 0xa -/* 016388 8001B928 38A50004 */ addi r5, r5, 4 -/* 01638C 8001B92C 41820010 */ beq lbl_8001B93C -/* 016390 8001B930 807C0474 */ lwz r3, 0x474(r28) -/* 016394 8001B934 7C03282E */ lwzx r0, r3, r5 -/* 016398 8001B938 7FDE0214 */ add r30, r30, r0 -lbl_8001B93C: -/* 01639C 8001B93C 38840001 */ addi r4, r4, 1 -/* 0163A0 8001B940 2804000A */ cmplwi r4, 0xa -/* 0163A4 8001B944 38A50004 */ addi r5, r5, 4 -/* 0163A8 8001B948 41820010 */ beq lbl_8001B958 -/* 0163AC 8001B94C 807C0474 */ lwz r3, 0x474(r28) -/* 0163B0 8001B950 7C03282E */ lwzx r0, r3, r5 -/* 0163B4 8001B954 7FDE0214 */ add r30, r30, r0 -lbl_8001B958: -/* 0163B8 8001B958 38A50004 */ addi r5, r5, 4 -/* 0163BC 8001B95C 38840001 */ addi r4, r4, 1 -/* 0163C0 8001B960 4200FF20 */ bdnz lbl_8001B880 -/* 0163C4 8001B964 2C1E0000 */ cmpwi r30, 0 -/* 0163C8 8001B968 40820130 */ bne lbl_8001BA98 -/* 0163CC 8001B96C 3BC00001 */ li r30, 1 -/* 0163D0 8001B970 48000128 */ b lbl_8001BA98 -lbl_8001B974: -/* 0163D4 8001B974 809C0474 */ lwz r4, 0x474(r28) -/* 0163D8 8001B978 38612238 */ addi r3, r1, 0x2238 -/* 0163DC 8001B97C 38A00004 */ li r5, 4 -/* 0163E0 8001B980 3884106C */ addi r4, r4, 0x106c -/* 0163E4 8001B984 4BFE9B41 */ bl memcpy -/* 0163E8 8001B988 801F0000 */ lwz r0, 0(r31) -/* 0163EC 8001B98C 2C000001 */ cmpwi r0, 1 -/* 0163F0 8001B990 40820108 */ bne lbl_8001BA98 -/* 0163F4 8001B994 38000100 */ li r0, 0x100 -/* 0163F8 8001B998 38800000 */ li r4, 0 -/* 0163FC 8001B99C 7C0903A6 */ mtctr r0 -/* 016400 8001B9A0 38A40000 */ addi r5, r4, 0 -/* 016404 8001B9A4 3BC00000 */ li r30, 0 -lbl_8001B9A8: -/* 016408 8001B9A8 2804041B */ cmplwi r4, 0x41b -/* 01640C 8001B9AC 41820010 */ beq lbl_8001B9BC -/* 016410 8001B9B0 807C0474 */ lwz r3, 0x474(r28) -/* 016414 8001B9B4 7C03282E */ lwzx r0, r3, r5 -/* 016418 8001B9B8 7FDE0214 */ add r30, r30, r0 -lbl_8001B9BC: -/* 01641C 8001B9BC 38840001 */ addi r4, r4, 1 -/* 016420 8001B9C0 2804041B */ cmplwi r4, 0x41b -/* 016424 8001B9C4 38A50004 */ addi r5, r5, 4 -/* 016428 8001B9C8 41820010 */ beq lbl_8001B9D8 -/* 01642C 8001B9CC 807C0474 */ lwz r3, 0x474(r28) -/* 016430 8001B9D0 7C03282E */ lwzx r0, r3, r5 -/* 016434 8001B9D4 7FDE0214 */ add r30, r30, r0 -lbl_8001B9D8: -/* 016438 8001B9D8 38840001 */ addi r4, r4, 1 -/* 01643C 8001B9DC 2804041B */ cmplwi r4, 0x41b -/* 016440 8001B9E0 38A50004 */ addi r5, r5, 4 -/* 016444 8001B9E4 41820010 */ beq lbl_8001B9F4 -/* 016448 8001B9E8 807C0474 */ lwz r3, 0x474(r28) -/* 01644C 8001B9EC 7C03282E */ lwzx r0, r3, r5 -/* 016450 8001B9F0 7FDE0214 */ add r30, r30, r0 -lbl_8001B9F4: -/* 016454 8001B9F4 38840001 */ addi r4, r4, 1 -/* 016458 8001B9F8 2804041B */ cmplwi r4, 0x41b -/* 01645C 8001B9FC 38A50004 */ addi r5, r5, 4 -/* 016460 8001BA00 41820010 */ beq lbl_8001BA10 -/* 016464 8001BA04 807C0474 */ lwz r3, 0x474(r28) -/* 016468 8001BA08 7C03282E */ lwzx r0, r3, r5 -/* 01646C 8001BA0C 7FDE0214 */ add r30, r30, r0 -lbl_8001BA10: -/* 016470 8001BA10 38840001 */ addi r4, r4, 1 -/* 016474 8001BA14 2804041B */ cmplwi r4, 0x41b -/* 016478 8001BA18 38A50004 */ addi r5, r5, 4 -/* 01647C 8001BA1C 41820010 */ beq lbl_8001BA2C -/* 016480 8001BA20 807C0474 */ lwz r3, 0x474(r28) -/* 016484 8001BA24 7C03282E */ lwzx r0, r3, r5 -/* 016488 8001BA28 7FDE0214 */ add r30, r30, r0 -lbl_8001BA2C: -/* 01648C 8001BA2C 38840001 */ addi r4, r4, 1 -/* 016490 8001BA30 2804041B */ cmplwi r4, 0x41b -/* 016494 8001BA34 38A50004 */ addi r5, r5, 4 -/* 016498 8001BA38 41820010 */ beq lbl_8001BA48 -/* 01649C 8001BA3C 807C0474 */ lwz r3, 0x474(r28) -/* 0164A0 8001BA40 7C03282E */ lwzx r0, r3, r5 -/* 0164A4 8001BA44 7FDE0214 */ add r30, r30, r0 -lbl_8001BA48: -/* 0164A8 8001BA48 38840001 */ addi r4, r4, 1 -/* 0164AC 8001BA4C 2804041B */ cmplwi r4, 0x41b -/* 0164B0 8001BA50 38A50004 */ addi r5, r5, 4 -/* 0164B4 8001BA54 41820010 */ beq lbl_8001BA64 -/* 0164B8 8001BA58 807C0474 */ lwz r3, 0x474(r28) -/* 0164BC 8001BA5C 7C03282E */ lwzx r0, r3, r5 -/* 0164C0 8001BA60 7FDE0214 */ add r30, r30, r0 -lbl_8001BA64: -/* 0164C4 8001BA64 38840001 */ addi r4, r4, 1 -/* 0164C8 8001BA68 2804041B */ cmplwi r4, 0x41b -/* 0164CC 8001BA6C 38A50004 */ addi r5, r5, 4 -/* 0164D0 8001BA70 41820010 */ beq lbl_8001BA80 -/* 0164D4 8001BA74 807C0474 */ lwz r3, 0x474(r28) -/* 0164D8 8001BA78 7C03282E */ lwzx r0, r3, r5 -/* 0164DC 8001BA7C 7FDE0214 */ add r30, r30, r0 -lbl_8001BA80: -/* 0164E0 8001BA80 38A50004 */ addi r5, r5, 4 -/* 0164E4 8001BA84 38840001 */ addi r4, r4, 1 -/* 0164E8 8001BA88 4200FF20 */ bdnz lbl_8001B9A8 -/* 0164EC 8001BA8C 2C1E0000 */ cmpwi r30, 0 -/* 0164F0 8001BA90 40820008 */ bne lbl_8001BA98 -/* 0164F4 8001BA94 3BC00001 */ li r30, 1 -lbl_8001BA98: -/* 0164F8 8001BA98 80012238 */ lwz r0, 0x2238(r1) -/* 0164FC 8001BA9C 7C00F000 */ cmpw r0, r30 -/* 016500 8001BAA0 41820024 */ beq lbl_8001BAC4 -/* 016504 8001BAA4 38000012 */ li r0, 0x12 -/* 016508 8001BAA8 901C035C */ stw r0, 0x35c(r28) -/* 01650C 8001BAAC 38810238 */ addi r4, r1, 0x238 -/* 016510 8001BAB0 38A02000 */ li r5, 0x2000 -/* 016514 8001BAB4 807C0474 */ lwz r3, 0x474(r28) -/* 016518 8001BAB8 4BFE9A0D */ bl memcpy -/* 01651C 8001BABC 38600000 */ li r3, 0 -/* 016520 8001BAC0 48000140 */ b lbl_8001BC00 -lbl_8001BAC4: -/* 016524 8001BAC4 3860002A */ li r3, 0x2a -/* 016528 8001BAC8 4BFF1729 */ bl simulatorPrepareMessage -/* 01652C 8001BACC 801F0000 */ lwz r0, 0(r31) -/* 016530 8001BAD0 837C0474 */ lwz r27, 0x474(r28) -/* 016534 8001BAD4 2C000001 */ cmpwi r0, 1 -/* 016538 8001BAD8 40820088 */ bne lbl_8001BB60 -/* 01653C 8001BADC 387B0000 */ addi r3, r27, 0 -/* 016540 8001BAE0 38802000 */ li r4, 0x2000 -/* 016544 8001BAE4 48081CC9 */ bl DCStoreRange -/* 016548 8001BAE8 389B0000 */ addi r4, r27, 0 -/* 01654C 8001BAEC 387C0348 */ addi r3, r28, 0x348 -/* 016550 8001BAF0 57A66824 */ slwi r6, r29, 0xd -/* 016554 8001BAF4 38A02000 */ li r5, 0x2000 -/* 016558 8001BAF8 38E00000 */ li r7, 0 -/* 01655C 8001BAFC 480A5281 */ bl CARDWriteAsync -/* 016560 8001BB00 38830000 */ addi r4, r3, 0 -/* 016564 8001BB04 387C0000 */ addi r3, r28, 0 -/* 016568 8001BB08 48000799 */ bl mcardGCErrorHandler -/* 01656C 8001BB0C 2C030001 */ cmpwi r3, 1 -/* 016570 8001BB10 4182000C */ beq lbl_8001BB1C -/* 016574 8001BB14 38000000 */ li r0, 0 -/* 016578 8001BB18 4800004C */ b lbl_8001BB64 -lbl_8001BB1C: -/* 01657C 8001BB1C 38002000 */ li r0, 0x2000 -/* 016580 8001BB20 3C608001 */ lis r3, simulatorMCardPollDrawBar@ha -/* 016584 8001BB24 901C036C */ stw r0, 0x36c(r28) -/* 016588 8001BB28 38038A14 */ addi r0, r3, simulatorMCardPollDrawBar@l -/* 01658C 8001BB2C 901C0364 */ stw r0, 0x364(r28) -/* 016590 8001BB30 807C0360 */ lwz r3, 0x360(r28) -/* 016594 8001BB34 480A19ED */ bl CARDGetXferredBytes -/* 016598 8001BB38 907C0368 */ stw r3, 0x368(r28) -/* 01659C 8001BB3C 7F83E378 */ mr r3, r28 -/* 0165A0 8001BB40 4BFFF629 */ bl mcardPoll -/* 0165A4 8001BB44 2C030001 */ cmpwi r3, 1 -/* 0165A8 8001BB48 41820010 */ beq lbl_8001BB58 -/* 0165AC 8001BB4C 38000000 */ li r0, 0 -/* 0165B0 8001BB50 901C0364 */ stw r0, 0x364(r28) -/* 0165B4 8001BB54 48000010 */ b lbl_8001BB64 -lbl_8001BB58: -/* 0165B8 8001BB58 38000000 */ li r0, 0 -/* 0165BC 8001BB5C 901C0364 */ stw r0, 0x364(r28) -lbl_8001BB60: -/* 0165C0 8001BB60 38000001 */ li r0, 1 -lbl_8001BB64: -/* 0165C4 8001BB64 2C000000 */ cmpwi r0, 0 -/* 0165C8 8001BB68 4082001C */ bne lbl_8001BB84 -/* 0165CC 8001BB6C 807C0474 */ lwz r3, 0x474(r28) -/* 0165D0 8001BB70 38810238 */ addi r4, r1, 0x238 -/* 0165D4 8001BB74 38A02000 */ li r5, 0x2000 -/* 0165D8 8001BB78 4BFE994D */ bl memcpy -/* 0165DC 8001BB7C 38600000 */ li r3, 0 -/* 0165E0 8001BB80 48000080 */ b lbl_8001BC00 -lbl_8001BB84: -/* 0165E4 8001BB84 2C1D0000 */ cmpwi r29, 0 -/* 0165E8 8001BB88 40820074 */ bne lbl_8001BBFC -/* 0165EC 8001BB8C 801C0470 */ lwz r0, 0x470(r28) -/* 0165F0 8001BB90 2C000001 */ cmpwi r0, 1 -/* 0165F4 8001BB94 40820068 */ bne lbl_8001BBFC -/* 0165F8 8001BB98 38810010 */ addi r4, r1, 0x10 -/* 0165FC 8001BB9C 7C802E70 */ srawi r0, r4, 5 -/* 016600 8001BBA0 7C000194 */ addze r0, r0 -/* 016604 8001BBA4 54002834 */ slwi r0, r0, 5 -/* 016608 8001BBA8 7C002010 */ subfc r0, r0, r4 -/* 01660C 8001BBAC 20600020 */ subfic r3, r0, 0x20 -/* 016610 8001BBB0 7C602E70 */ srawi r0, r3, 5 -/* 016614 8001BBB4 7C000194 */ addze r0, r0 -/* 016618 8001BBB8 54002834 */ slwi r0, r0, 5 -/* 01661C 8001BBBC 7C001810 */ subfc r0, r0, r3 -/* 016620 8001BBC0 7F640214 */ add r27, r4, r0 -/* 016624 8001BBC4 389B0000 */ addi r4, r27, 0 -/* 016628 8001BBC8 387C0348 */ addi r3, r28, 0x348 -/* 01662C 8001BBCC 38A00200 */ li r5, 0x200 -/* 016630 8001BBD0 38C00000 */ li r6, 0 -/* 016634 8001BBD4 480A4F41 */ bl CARDRead -/* 016638 8001BBD8 38830000 */ addi r4, r3, 0 -/* 01663C 8001BBDC 387C0000 */ addi r3, r28, 0 -/* 016640 8001BBE0 480006C1 */ bl mcardGCErrorHandler -/* 016644 8001BBE4 2C030001 */ cmpwi r3, 1 -/* 016648 8001BBE8 40820014 */ bne lbl_8001BBFC -/* 01664C 8001BBEC 389B0000 */ addi r4, r27, 0 -/* 016650 8001BBF0 387C0320 */ addi r3, r28, 0x320 -/* 016654 8001BBF4 38A00028 */ li r5, 0x28 -/* 016658 8001BBF8 4BFE98CD */ bl memcpy -lbl_8001BBFC: -/* 01665C 8001BBFC 38600001 */ li r3, 1 -lbl_8001BC00: -/* 016660 8001BC00 BB612244 */ lmw r27, 0x2244(r1) -/* 016664 8001BC04 8001225C */ lwz r0, 0x225c(r1) -/* 016668 8001BC08 38212258 */ addi r1, r1, 0x2258 -/* 01666C 8001BC0C 7C0803A6 */ mtlr r0 -/* 016670 8001BC10 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardSaveChecksumFileHeader.s b/asm/non_matchings/mcardGCN/mcardSaveChecksumFileHeader.s deleted file mode 100644 index 9aaf4e6f..00000000 --- a/asm/non_matchings/mcardGCN/mcardSaveChecksumFileHeader.s +++ /dev/null @@ -1,236 +0,0 @@ -glabel mcardSaveChecksumFileHeader -/* 016674 8001BC14 7C0802A6 */ mflr r0 -/* 016678 8001BC18 38A02000 */ li r5, 0x2000 -/* 01667C 8001BC1C 90010004 */ stw r0, 4(r1) -/* 016680 8001BC20 9421DFD0 */ stwu r1, -0x2030(r1) -/* 016684 8001BC24 93E1202C */ stw r31, 0x202c(r1) -/* 016688 8001BC28 3BE40000 */ addi r31, r4, 0 -/* 01668C 8001BC2C 93C12028 */ stw r30, 0x2028(r1) -/* 016690 8001BC30 3BC30000 */ addi r30, r3, 0 -/* 016694 8001BC34 93A12024 */ stw r29, 0x2024(r1) -/* 016698 8001BC38 80830474 */ lwz r4, 0x474(r3) -/* 01669C 8001BC3C 3861001C */ addi r3, r1, 0x1c -/* 0166A0 8001BC40 4BFE9885 */ bl memcpy -/* 0166A4 8001BC44 807E0474 */ lwz r3, 0x474(r30) -/* 0166A8 8001BC48 389F0000 */ addi r4, r31, 0 -/* 0166AC 8001BC4C 38A02000 */ li r5, 0x2000 -/* 0166B0 8001BC50 4BFE9875 */ bl memcpy -/* 0166B4 8001BC54 3C608010 */ lis r3, mCard@ha -/* 0166B8 8001BC58 386379B0 */ addi r3, r3, mCard@l -/* 0166BC 8001BC5C 3BA30470 */ addi r29, r3, 0x470 -/* 0166C0 8001BC60 80030470 */ lwz r0, 0x470(r3) -/* 0166C4 8001BC64 2C000001 */ cmpwi r0, 1 -/* 0166C8 8001BC68 40820150 */ bne lbl_8001BDB8 -/* 0166CC 8001BC6C 38A00000 */ li r5, 0 -/* 0166D0 8001BC70 38000100 */ li r0, 0x100 -/* 0166D4 8001BC74 90A10018 */ stw r5, 0x18(r1) -/* 0166D8 8001BC78 7C0903A6 */ mtctr r0 -/* 0166DC 8001BC7C 38C50000 */ addi r6, r5, 0 -lbl_8001BC80: -/* 0166E0 8001BC80 2805000A */ cmplwi r5, 0xa -/* 0166E4 8001BC84 41820018 */ beq lbl_8001BC9C -/* 0166E8 8001BC88 807E0474 */ lwz r3, 0x474(r30) -/* 0166EC 8001BC8C 80810018 */ lwz r4, 0x18(r1) -/* 0166F0 8001BC90 7C03302E */ lwzx r0, r3, r6 -/* 0166F4 8001BC94 7C040214 */ add r0, r4, r0 -/* 0166F8 8001BC98 90010018 */ stw r0, 0x18(r1) -lbl_8001BC9C: -/* 0166FC 8001BC9C 38A50001 */ addi r5, r5, 1 -/* 016700 8001BCA0 2805000A */ cmplwi r5, 0xa -/* 016704 8001BCA4 38C60004 */ addi r6, r6, 4 -/* 016708 8001BCA8 41820018 */ beq lbl_8001BCC0 -/* 01670C 8001BCAC 807E0474 */ lwz r3, 0x474(r30) -/* 016710 8001BCB0 80810018 */ lwz r4, 0x18(r1) -/* 016714 8001BCB4 7C03302E */ lwzx r0, r3, r6 -/* 016718 8001BCB8 7C040214 */ add r0, r4, r0 -/* 01671C 8001BCBC 90010018 */ stw r0, 0x18(r1) -lbl_8001BCC0: -/* 016720 8001BCC0 38A50001 */ addi r5, r5, 1 -/* 016724 8001BCC4 2805000A */ cmplwi r5, 0xa -/* 016728 8001BCC8 38C60004 */ addi r6, r6, 4 -/* 01672C 8001BCCC 41820018 */ beq lbl_8001BCE4 -/* 016730 8001BCD0 807E0474 */ lwz r3, 0x474(r30) -/* 016734 8001BCD4 80810018 */ lwz r4, 0x18(r1) -/* 016738 8001BCD8 7C03302E */ lwzx r0, r3, r6 -/* 01673C 8001BCDC 7C040214 */ add r0, r4, r0 -/* 016740 8001BCE0 90010018 */ stw r0, 0x18(r1) -lbl_8001BCE4: -/* 016744 8001BCE4 38A50001 */ addi r5, r5, 1 -/* 016748 8001BCE8 2805000A */ cmplwi r5, 0xa -/* 01674C 8001BCEC 38C60004 */ addi r6, r6, 4 -/* 016750 8001BCF0 41820018 */ beq lbl_8001BD08 -/* 016754 8001BCF4 807E0474 */ lwz r3, 0x474(r30) -/* 016758 8001BCF8 80810018 */ lwz r4, 0x18(r1) -/* 01675C 8001BCFC 7C03302E */ lwzx r0, r3, r6 -/* 016760 8001BD00 7C040214 */ add r0, r4, r0 -/* 016764 8001BD04 90010018 */ stw r0, 0x18(r1) -lbl_8001BD08: -/* 016768 8001BD08 38A50001 */ addi r5, r5, 1 -/* 01676C 8001BD0C 2805000A */ cmplwi r5, 0xa -/* 016770 8001BD10 38C60004 */ addi r6, r6, 4 -/* 016774 8001BD14 41820018 */ beq lbl_8001BD2C -/* 016778 8001BD18 807E0474 */ lwz r3, 0x474(r30) -/* 01677C 8001BD1C 80810018 */ lwz r4, 0x18(r1) -/* 016780 8001BD20 7C03302E */ lwzx r0, r3, r6 -/* 016784 8001BD24 7C040214 */ add r0, r4, r0 -/* 016788 8001BD28 90010018 */ stw r0, 0x18(r1) -lbl_8001BD2C: -/* 01678C 8001BD2C 38A50001 */ addi r5, r5, 1 -/* 016790 8001BD30 2805000A */ cmplwi r5, 0xa -/* 016794 8001BD34 38C60004 */ addi r6, r6, 4 -/* 016798 8001BD38 41820018 */ beq lbl_8001BD50 -/* 01679C 8001BD3C 807E0474 */ lwz r3, 0x474(r30) -/* 0167A0 8001BD40 80810018 */ lwz r4, 0x18(r1) -/* 0167A4 8001BD44 7C03302E */ lwzx r0, r3, r6 -/* 0167A8 8001BD48 7C040214 */ add r0, r4, r0 -/* 0167AC 8001BD4C 90010018 */ stw r0, 0x18(r1) -lbl_8001BD50: -/* 0167B0 8001BD50 38A50001 */ addi r5, r5, 1 -/* 0167B4 8001BD54 2805000A */ cmplwi r5, 0xa -/* 0167B8 8001BD58 38C60004 */ addi r6, r6, 4 -/* 0167BC 8001BD5C 41820018 */ beq lbl_8001BD74 -/* 0167C0 8001BD60 807E0474 */ lwz r3, 0x474(r30) -/* 0167C4 8001BD64 80810018 */ lwz r4, 0x18(r1) -/* 0167C8 8001BD68 7C03302E */ lwzx r0, r3, r6 -/* 0167CC 8001BD6C 7C040214 */ add r0, r4, r0 -/* 0167D0 8001BD70 90010018 */ stw r0, 0x18(r1) -lbl_8001BD74: -/* 0167D4 8001BD74 38A50001 */ addi r5, r5, 1 -/* 0167D8 8001BD78 2805000A */ cmplwi r5, 0xa -/* 0167DC 8001BD7C 38C60004 */ addi r6, r6, 4 -/* 0167E0 8001BD80 41820018 */ beq lbl_8001BD98 -/* 0167E4 8001BD84 807E0474 */ lwz r3, 0x474(r30) -/* 0167E8 8001BD88 80810018 */ lwz r4, 0x18(r1) -/* 0167EC 8001BD8C 7C03302E */ lwzx r0, r3, r6 -/* 0167F0 8001BD90 7C040214 */ add r0, r4, r0 -/* 0167F4 8001BD94 90010018 */ stw r0, 0x18(r1) -lbl_8001BD98: -/* 0167F8 8001BD98 38C60004 */ addi r6, r6, 4 -/* 0167FC 8001BD9C 38A50001 */ addi r5, r5, 1 -/* 016800 8001BDA0 4200FEE0 */ bdnz lbl_8001BC80 -/* 016804 8001BDA4 80010018 */ lwz r0, 0x18(r1) -/* 016808 8001BDA8 2C000000 */ cmpwi r0, 0 -/* 01680C 8001BDAC 4082000C */ bne lbl_8001BDB8 -/* 016810 8001BDB0 38000001 */ li r0, 1 -/* 016814 8001BDB4 90010018 */ stw r0, 0x18(r1) -lbl_8001BDB8: -/* 016818 8001BDB8 387F0028 */ addi r3, r31, 0x28 -/* 01681C 8001BDBC 38810018 */ addi r4, r1, 0x18 -/* 016820 8001BDC0 38A00004 */ li r5, 4 -/* 016824 8001BDC4 4BFE9701 */ bl memcpy -/* 016828 8001BDC8 807E0474 */ lwz r3, 0x474(r30) -/* 01682C 8001BDCC 389F2000 */ addi r4, r31, 0x2000 -/* 016830 8001BDD0 38A02000 */ li r5, 0x2000 -/* 016834 8001BDD4 4BFE96F1 */ bl memcpy -/* 016838 8001BDD8 801D0000 */ lwz r0, 0(r29) -/* 01683C 8001BDDC 2C000001 */ cmpwi r0, 1 -/* 016840 8001BDE0 40820150 */ bne lbl_8001BF30 -/* 016844 8001BDE4 38A00000 */ li r5, 0 -/* 016848 8001BDE8 38000100 */ li r0, 0x100 -/* 01684C 8001BDEC 90A10018 */ stw r5, 0x18(r1) -/* 016850 8001BDF0 7C0903A6 */ mtctr r0 -/* 016854 8001BDF4 38C50000 */ addi r6, r5, 0 -lbl_8001BDF8: -/* 016858 8001BDF8 2805041B */ cmplwi r5, 0x41b -/* 01685C 8001BDFC 41820018 */ beq lbl_8001BE14 -/* 016860 8001BE00 807E0474 */ lwz r3, 0x474(r30) -/* 016864 8001BE04 80810018 */ lwz r4, 0x18(r1) -/* 016868 8001BE08 7C03302E */ lwzx r0, r3, r6 -/* 01686C 8001BE0C 7C040214 */ add r0, r4, r0 -/* 016870 8001BE10 90010018 */ stw r0, 0x18(r1) -lbl_8001BE14: -/* 016874 8001BE14 38A50001 */ addi r5, r5, 1 -/* 016878 8001BE18 2805041B */ cmplwi r5, 0x41b -/* 01687C 8001BE1C 38C60004 */ addi r6, r6, 4 -/* 016880 8001BE20 41820018 */ beq lbl_8001BE38 -/* 016884 8001BE24 807E0474 */ lwz r3, 0x474(r30) -/* 016888 8001BE28 80810018 */ lwz r4, 0x18(r1) -/* 01688C 8001BE2C 7C03302E */ lwzx r0, r3, r6 -/* 016890 8001BE30 7C040214 */ add r0, r4, r0 -/* 016894 8001BE34 90010018 */ stw r0, 0x18(r1) -lbl_8001BE38: -/* 016898 8001BE38 38A50001 */ addi r5, r5, 1 -/* 01689C 8001BE3C 2805041B */ cmplwi r5, 0x41b -/* 0168A0 8001BE40 38C60004 */ addi r6, r6, 4 -/* 0168A4 8001BE44 41820018 */ beq lbl_8001BE5C -/* 0168A8 8001BE48 807E0474 */ lwz r3, 0x474(r30) -/* 0168AC 8001BE4C 80810018 */ lwz r4, 0x18(r1) -/* 0168B0 8001BE50 7C03302E */ lwzx r0, r3, r6 -/* 0168B4 8001BE54 7C040214 */ add r0, r4, r0 -/* 0168B8 8001BE58 90010018 */ stw r0, 0x18(r1) -lbl_8001BE5C: -/* 0168BC 8001BE5C 38A50001 */ addi r5, r5, 1 -/* 0168C0 8001BE60 2805041B */ cmplwi r5, 0x41b -/* 0168C4 8001BE64 38C60004 */ addi r6, r6, 4 -/* 0168C8 8001BE68 41820018 */ beq lbl_8001BE80 -/* 0168CC 8001BE6C 807E0474 */ lwz r3, 0x474(r30) -/* 0168D0 8001BE70 80810018 */ lwz r4, 0x18(r1) -/* 0168D4 8001BE74 7C03302E */ lwzx r0, r3, r6 -/* 0168D8 8001BE78 7C040214 */ add r0, r4, r0 -/* 0168DC 8001BE7C 90010018 */ stw r0, 0x18(r1) -lbl_8001BE80: -/* 0168E0 8001BE80 38A50001 */ addi r5, r5, 1 -/* 0168E4 8001BE84 2805041B */ cmplwi r5, 0x41b -/* 0168E8 8001BE88 38C60004 */ addi r6, r6, 4 -/* 0168EC 8001BE8C 41820018 */ beq lbl_8001BEA4 -/* 0168F0 8001BE90 807E0474 */ lwz r3, 0x474(r30) -/* 0168F4 8001BE94 80810018 */ lwz r4, 0x18(r1) -/* 0168F8 8001BE98 7C03302E */ lwzx r0, r3, r6 -/* 0168FC 8001BE9C 7C040214 */ add r0, r4, r0 -/* 016900 8001BEA0 90010018 */ stw r0, 0x18(r1) -lbl_8001BEA4: -/* 016904 8001BEA4 38A50001 */ addi r5, r5, 1 -/* 016908 8001BEA8 2805041B */ cmplwi r5, 0x41b -/* 01690C 8001BEAC 38C60004 */ addi r6, r6, 4 -/* 016910 8001BEB0 41820018 */ beq lbl_8001BEC8 -/* 016914 8001BEB4 807E0474 */ lwz r3, 0x474(r30) -/* 016918 8001BEB8 80810018 */ lwz r4, 0x18(r1) -/* 01691C 8001BEBC 7C03302E */ lwzx r0, r3, r6 -/* 016920 8001BEC0 7C040214 */ add r0, r4, r0 -/* 016924 8001BEC4 90010018 */ stw r0, 0x18(r1) -lbl_8001BEC8: -/* 016928 8001BEC8 38A50001 */ addi r5, r5, 1 -/* 01692C 8001BECC 2805041B */ cmplwi r5, 0x41b -/* 016930 8001BED0 38C60004 */ addi r6, r6, 4 -/* 016934 8001BED4 41820018 */ beq lbl_8001BEEC -/* 016938 8001BED8 807E0474 */ lwz r3, 0x474(r30) -/* 01693C 8001BEDC 80810018 */ lwz r4, 0x18(r1) -/* 016940 8001BEE0 7C03302E */ lwzx r0, r3, r6 -/* 016944 8001BEE4 7C040214 */ add r0, r4, r0 -/* 016948 8001BEE8 90010018 */ stw r0, 0x18(r1) -lbl_8001BEEC: -/* 01694C 8001BEEC 38A50001 */ addi r5, r5, 1 -/* 016950 8001BEF0 2805041B */ cmplwi r5, 0x41b -/* 016954 8001BEF4 38C60004 */ addi r6, r6, 4 -/* 016958 8001BEF8 41820018 */ beq lbl_8001BF10 -/* 01695C 8001BEFC 807E0474 */ lwz r3, 0x474(r30) -/* 016960 8001BF00 80810018 */ lwz r4, 0x18(r1) -/* 016964 8001BF04 7C03302E */ lwzx r0, r3, r6 -/* 016968 8001BF08 7C040214 */ add r0, r4, r0 -/* 01696C 8001BF0C 90010018 */ stw r0, 0x18(r1) -lbl_8001BF10: -/* 016970 8001BF10 38C60004 */ addi r6, r6, 4 -/* 016974 8001BF14 38A50001 */ addi r5, r5, 1 -/* 016978 8001BF18 4200FEE0 */ bdnz lbl_8001BDF8 -/* 01697C 8001BF1C 80010018 */ lwz r0, 0x18(r1) -/* 016980 8001BF20 2C000000 */ cmpwi r0, 0 -/* 016984 8001BF24 4082000C */ bne lbl_8001BF30 -/* 016988 8001BF28 38000001 */ li r0, 1 -/* 01698C 8001BF2C 90010018 */ stw r0, 0x18(r1) -lbl_8001BF30: -/* 016990 8001BF30 387F306C */ addi r3, r31, 0x306c -/* 016994 8001BF34 38810018 */ addi r4, r1, 0x18 -/* 016998 8001BF38 38A00004 */ li r5, 4 -/* 01699C 8001BF3C 4BFE9589 */ bl memcpy -/* 0169A0 8001BF40 807E0474 */ lwz r3, 0x474(r30) -/* 0169A4 8001BF44 3881001C */ addi r4, r1, 0x1c -/* 0169A8 8001BF48 38A02000 */ li r5, 0x2000 -/* 0169AC 8001BF4C 4BFE9579 */ bl memcpy -/* 0169B0 8001BF50 80012034 */ lwz r0, 0x2034(r1) -/* 0169B4 8001BF54 38600001 */ li r3, 1 -/* 0169B8 8001BF58 83E1202C */ lwz r31, 0x202c(r1) -/* 0169BC 8001BF5C 83C12028 */ lwz r30, 0x2028(r1) -/* 0169C0 8001BF60 7C0803A6 */ mtlr r0 -/* 0169C4 8001BF64 83A12024 */ lwz r29, 0x2024(r1) -/* 0169C8 8001BF68 38212030 */ addi r1, r1, 0x2030 -/* 0169CC 8001BF6C 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardStore.s b/asm/non_matchings/mcardGCN/mcardStore.s deleted file mode 100644 index 01ba0c19..00000000 --- a/asm/non_matchings/mcardGCN/mcardStore.s +++ /dev/null @@ -1,1069 +0,0 @@ -glabel mcardStore -/* 00E154 800136F4 7C0802A6 */ mflr r0 -/* 00E158 800136F8 90010004 */ stw r0, 4(r1) -/* 00E15C 800136FC 9421FB10 */ stwu r1, -0x4f0(r1) -/* 00E160 80013700 93E104EC */ stw r31, 0x4ec(r1) -/* 00E164 80013704 93C104E8 */ stw r30, 0x4e8(r1) -/* 00E168 80013708 93A104E4 */ stw r29, 0x4e4(r1) -/* 00E16C 8001370C 7C7D1B78 */ mr r29, r3 -/* 00E170 80013710 938104E0 */ stw r28, 0x4e0(r1) -/* 00E174 80013714 8003047C */ lwz r0, 0x47c(r3) -/* 00E178 80013718 3C608010 */ lis r3, gMCardCardWorkArea@ha -/* 00E17C 8001371C 3BE3D960 */ addi r31, r3, gMCardCardWorkArea@l -/* 00E180 80013720 2C000001 */ cmpwi r0, 1 -/* 00E184 80013724 40820D68 */ bne lbl_8001448C -/* 00E188 80013728 801D0484 */ lwz r0, 0x484(r29) -/* 00E18C 8001372C 2C000000 */ cmpwi r0, 0 -/* 00E190 80013730 40820718 */ bne lbl_80013E48 -/* 00E194 80013734 80DD0034 */ lwz r6, 0x34(r29) -/* 00E198 80013738 3C600020 */ lis r3, 0x20 -/* 00E19C 8001373C 38630401 */ addi r3, r3, 0x401 -/* 00E1A0 80013740 38061FFB */ addi r0, r6, 0x1ffb -/* 00E1A4 80013744 7C630016 */ mulhwu r3, r3, r0 -/* 00E1A8 80013748 7C030050 */ subf r0, r3, r0 -/* 00E1AC 8001374C 5400F87E */ srwi r0, r0, 1 -/* 00E1B0 80013750 7C001A14 */ add r0, r0, r3 -/* 00E1B4 80013754 5405A33E */ srwi r5, r0, 0xc -/* 00E1B8 80013758 28050000 */ cmplwi r5, 0 -/* 00E1BC 8001375C 7CA903A6 */ mtctr r5 -/* 00E1C0 80013760 3BC00000 */ li r30, 0 -/* 00E1C4 80013764 38800000 */ li r4, 0 -/* 00E1C8 80013768 408100E4 */ ble lbl_8001384C -lbl_8001376C: -/* 00E1CC 8001376C 807D0040 */ lwz r3, 0x40(r29) -/* 00E1D0 80013770 7C03202E */ lwzx r0, r3, r4 -/* 00E1D4 80013774 2C000001 */ cmpwi r0, 1 -/* 00E1D8 80013778 408200C8 */ bne lbl_80013840 -/* 00E1DC 8001377C 3805FFFF */ addi r0, r5, -1 -/* 00E1E0 80013780 7C1E0040 */ cmplw r30, r0 -/* 00E1E4 80013784 40800024 */ bge lbl_800137A8 -/* 00E1E8 80013788 1C1E1FFC */ mulli r0, r30, 0x1ffc -/* 00E1EC 8001378C 807D0474 */ lwz r3, 0x474(r29) -/* 00E1F0 80013790 809D003C */ lwz r4, 0x3c(r29) -/* 00E1F4 80013794 38630004 */ addi r3, r3, 4 -/* 00E1F8 80013798 7C840214 */ add r4, r4, r0 -/* 00E1FC 8001379C 38A01FFC */ li r5, 0x1ffc -/* 00E200 800137A0 4BFF1D25 */ bl memcpy -/* 00E204 800137A4 48000020 */ b lbl_800137C4 -lbl_800137A8: -/* 00E208 800137A8 1CBE1FFC */ mulli r5, r30, 0x1ffc -/* 00E20C 800137AC 807D0474 */ lwz r3, 0x474(r29) -/* 00E210 800137B0 801D003C */ lwz r0, 0x3c(r29) -/* 00E214 800137B4 38630004 */ addi r3, r3, 4 -/* 00E218 800137B8 7C802A14 */ add r4, r0, r5 -/* 00E21C 800137BC 7CA53050 */ subf r5, r5, r6 -/* 00E220 800137C0 4BFF1D05 */ bl memcpy -lbl_800137C4: -/* 00E224 800137C4 3C7F0001 */ addis r3, r31, 1 -/* 00E228 800137C8 8003A4C0 */ lwz r0, -0x5b40(r3) -/* 00E22C 800137CC 2C000001 */ cmpwi r0, 1 -/* 00E230 800137D0 40820048 */ bne lbl_80013818 -/* 00E234 800137D4 38600000 */ li r3, 0 -/* 00E238 800137D8 380007FF */ li r0, 0x7ff -/* 00E23C 800137DC 906104DC */ stw r3, 0x4dc(r1) -/* 00E240 800137E0 7C0903A6 */ mtctr r0 -/* 00E244 800137E4 38A00004 */ li r5, 4 -lbl_800137E8: -/* 00E248 800137E8 807D0474 */ lwz r3, 0x474(r29) -/* 00E24C 800137EC 808104DC */ lwz r4, 0x4dc(r1) -/* 00E250 800137F0 7C03282E */ lwzx r0, r3, r5 -/* 00E254 800137F4 38A50004 */ addi r5, r5, 4 -/* 00E258 800137F8 7C040214 */ add r0, r4, r0 -/* 00E25C 800137FC 900104DC */ stw r0, 0x4dc(r1) -/* 00E260 80013800 4200FFE8 */ bdnz lbl_800137E8 -/* 00E264 80013804 800104DC */ lwz r0, 0x4dc(r1) -/* 00E268 80013808 2C000000 */ cmpwi r0, 0 -/* 00E26C 8001380C 4082000C */ bne lbl_80013818 -/* 00E270 80013810 38000001 */ li r0, 1 -/* 00E274 80013814 900104DC */ stw r0, 0x4dc(r1) -lbl_80013818: -/* 00E278 80013818 807D0040 */ lwz r3, 0x40(r29) -/* 00E27C 8001381C 57C0103A */ slwi r0, r30, 2 -/* 00E280 80013820 38800000 */ li r4, 0 -/* 00E284 80013824 7C83012E */ stwx r4, r3, r0 -/* 00E288 80013828 388104DC */ addi r4, r1, 0x4dc -/* 00E28C 8001382C 38A00004 */ li r5, 4 -/* 00E290 80013830 93DD0488 */ stw r30, 0x488(r29) -/* 00E294 80013834 807D0474 */ lwz r3, 0x474(r29) -/* 00E298 80013838 4BFF1C8D */ bl memcpy -/* 00E29C 8001383C 48000010 */ b lbl_8001384C -lbl_80013840: -/* 00E2A0 80013840 38840004 */ addi r4, r4, 4 -/* 00E2A4 80013844 3BDE0001 */ addi r30, r30, 1 -/* 00E2A8 80013848 4200FF24 */ bdnz lbl_8001376C -lbl_8001384C: -/* 00E2AC 8001384C 809D0034 */ lwz r4, 0x34(r29) -/* 00E2B0 80013850 3C600020 */ lis r3, 0x20 -/* 00E2B4 80013854 38A30401 */ addi r5, r3, 0x401 -/* 00E2B8 80013858 38041FFB */ addi r0, r4, 0x1ffb -/* 00E2BC 8001385C 7C650016 */ mulhwu r3, r5, r0 -/* 00E2C0 80013860 7C030050 */ subf r0, r3, r0 -/* 00E2C4 80013864 5400F87E */ srwi r0, r0, 1 -/* 00E2C8 80013868 7C001A14 */ add r0, r0, r3 -/* 00E2CC 8001386C 5400A33E */ srwi r0, r0, 0xc -/* 00E2D0 80013870 7C1E0040 */ cmplw r30, r0 -/* 00E2D4 80013874 4082037C */ bne lbl_80013BF0 -/* 00E2D8 80013878 801D0044 */ lwz r0, 0x44(r29) -/* 00E2DC 8001387C 2C000001 */ cmpwi r0, 1 -/* 00E2E0 80013880 40820194 */ bne lbl_80013A14 -/* 00E2E4 80013884 3BC00000 */ li r30, 0 -/* 00E2E8 80013888 93DD0044 */ stw r30, 0x44(r29) -/* 00E2EC 8001388C 807D0034 */ lwz r3, 0x34(r29) -/* 00E2F0 80013890 38031FFB */ addi r0, r3, 0x1ffb -/* 00E2F4 80013894 7C650016 */ mulhwu r3, r5, r0 -/* 00E2F8 80013898 7C030050 */ subf r0, r3, r0 -/* 00E2FC 8001389C 5400F87E */ srwi r0, r0, 1 -/* 00E300 800138A0 7C001A14 */ add r0, r0, r3 -/* 00E304 800138A4 5403A33E */ srwi r3, r0, 0xc -/* 00E308 800138A8 38030002 */ addi r0, r3, 2 -/* 00E30C 800138AC 901D0488 */ stw r0, 0x488(r29) -/* 00E310 800138B0 801D0470 */ lwz r0, 0x470(r29) -/* 00E314 800138B4 2C000001 */ cmpwi r0, 1 -/* 00E318 800138B8 408200AC */ bne lbl_80013964 -/* 00E31C 800138BC 4082006C */ bne lbl_80013928 -/* 00E320 800138C0 3881022C */ addi r4, r1, 0x22c -/* 00E324 800138C4 7C802E70 */ srawi r0, r4, 5 -/* 00E328 800138C8 7C000194 */ addze r0, r0 -/* 00E32C 800138CC 54002834 */ slwi r0, r0, 5 -/* 00E330 800138D0 7C002010 */ subfc r0, r0, r4 -/* 00E334 800138D4 20600020 */ subfic r3, r0, 0x20 -/* 00E338 800138D8 7C602E70 */ srawi r0, r3, 5 -/* 00E33C 800138DC 7C000194 */ addze r0, r0 -/* 00E340 800138E0 54002834 */ slwi r0, r0, 5 -/* 00E344 800138E4 7C001810 */ subfc r0, r0, r3 -/* 00E348 800138E8 7F840214 */ add r28, r4, r0 -/* 00E34C 800138EC 389C0000 */ addi r4, r28, 0 -/* 00E350 800138F0 387D0348 */ addi r3, r29, 0x348 -/* 00E354 800138F4 38A00200 */ li r5, 0x200 -/* 00E358 800138F8 38C00000 */ li r6, 0 -/* 00E35C 800138FC 480AD219 */ bl CARDRead -/* 00E360 80013900 38830000 */ addi r4, r3, 0 -/* 00E364 80013904 387D0000 */ addi r3, r29, 0 -/* 00E368 80013908 48008999 */ bl mcardGCErrorHandler -/* 00E36C 8001390C 2C030001 */ cmpwi r3, 1 -/* 00E370 80013910 41820008 */ beq lbl_80013918 -/* 00E374 80013914 48000018 */ b lbl_8001392C -lbl_80013918: -/* 00E378 80013918 389C0000 */ addi r4, r28, 0 -/* 00E37C 8001391C 38610474 */ addi r3, r1, 0x474 -/* 00E380 80013920 38A00028 */ li r5, 0x28 -/* 00E384 80013924 4BFF1BA1 */ bl memcpy -lbl_80013928: -/* 00E388 80013928 3BC00001 */ li r30, 1 -lbl_8001392C: -/* 00E38C 8001392C 2C1E0000 */ cmpwi r30, 0 -/* 00E390 80013930 4082000C */ bne lbl_8001393C -/* 00E394 80013934 38000000 */ li r0, 0 -/* 00E398 80013938 48000030 */ b lbl_80013968 -lbl_8001393C: -/* 00E39C 8001393C 38610474 */ addi r3, r1, 0x474 -/* 00E3A0 80013940 389D0320 */ addi r4, r29, 0x320 -/* 00E3A4 80013944 38A00028 */ li r5, 0x28 -/* 00E3A8 80013948 480BAFC9 */ bl memcmp -/* 00E3AC 8001394C 2C030000 */ cmpwi r3, 0 -/* 00E3B0 80013950 41820014 */ beq lbl_80013964 -/* 00E3B4 80013954 38000017 */ li r0, 0x17 -/* 00E3B8 80013958 901D035C */ stw r0, 0x35c(r29) -/* 00E3BC 8001395C 38000000 */ li r0, 0 -/* 00E3C0 80013960 48000008 */ b lbl_80013968 -lbl_80013964: -/* 00E3C4 80013964 38000001 */ li r0, 1 -lbl_80013968: -/* 00E3C8 80013968 2C000000 */ cmpwi r0, 0 -/* 00E3CC 8001396C 40820018 */ bne lbl_80013984 -/* 00E3D0 80013970 3C7F0001 */ addis r3, r31, 1 -/* 00E3D4 80013974 38000001 */ li r0, 1 -/* 00E3D8 80013978 9003A4CC */ stw r0, -0x5b34(r3) -/* 00E3DC 8001397C 38000000 */ li r0, 0 -/* 00E3E0 80013980 48000084 */ b lbl_80013A04 -lbl_80013984: -/* 00E3E4 80013984 80DD0474 */ lwz r6, 0x474(r29) -/* 00E3E8 80013988 387D0000 */ addi r3, r29, 0 -/* 00E3EC 8001398C 38802000 */ li r4, 0x2000 -/* 00E3F0 80013990 38A02000 */ li r5, 0x2000 -/* 00E3F4 80013994 480074D1 */ bl mcardReadAnywhere -/* 00E3F8 80013998 2C030000 */ cmpwi r3, 0 -/* 00E3FC 8001399C 40820018 */ bne lbl_800139B4 -/* 00E400 800139A0 3C7F0001 */ addis r3, r31, 1 -/* 00E404 800139A4 38000001 */ li r0, 1 -/* 00E408 800139A8 9003A4CC */ stw r0, -0x5b34(r3) -/* 00E40C 800139AC 38000000 */ li r0, 0 -/* 00E410 800139B0 48000054 */ b lbl_80013A04 -lbl_800139B4: -/* 00E414 800139B4 807D0474 */ lwz r3, 0x474(r29) -/* 00E418 800139B8 38802000 */ li r4, 0x2000 -/* 00E41C 800139BC 48089D95 */ bl DCInvalidateRange -/* 00E420 800139C0 807D0474 */ lwz r3, 0x474(r29) -/* 00E424 800139C4 389D00D0 */ addi r4, r29, 0xd0 -/* 00E428 800139C8 38A00040 */ li r5, 0x40 -/* 00E42C 800139CC 386312B1 */ addi r3, r3, 0x12b1 -/* 00E430 800139D0 4BFF1AF5 */ bl memcpy -/* 00E434 800139D4 387D0000 */ addi r3, r29, 0 -/* 00E438 800139D8 388104C0 */ addi r4, r1, 0x4c0 -/* 00E43C 800139DC 48008595 */ bl mcardCalculateChecksumFileBlock2 -/* 00E440 800139E0 807D0474 */ lwz r3, 0x474(r29) -/* 00E444 800139E4 388104C0 */ addi r4, r1, 0x4c0 -/* 00E448 800139E8 38A00004 */ li r5, 4 -/* 00E44C 800139EC 3863106C */ addi r3, r3, 0x106c -/* 00E450 800139F0 4BFF1AD5 */ bl memcpy -/* 00E454 800139F4 807D0474 */ lwz r3, 0x474(r29) -/* 00E458 800139F8 38802000 */ li r4, 0x2000 -/* 00E45C 800139FC 48089DB1 */ bl DCStoreRange -/* 00E460 80013A00 38000001 */ li r0, 1 -lbl_80013A04: -/* 00E464 80013A04 2C000000 */ cmpwi r0, 0 -/* 00E468 80013A08 408201E8 */ bne lbl_80013BF0 -/* 00E46C 80013A0C 38600000 */ li r3, 0 -/* 00E470 80013A10 48000BCC */ b lbl_800145DC -lbl_80013A14: -/* 00E474 80013A14 801D0048 */ lwz r0, 0x48(r29) -/* 00E478 80013A18 2C000001 */ cmpwi r0, 1 -/* 00E47C 80013A1C 408201CC */ bne lbl_80013BE8 -/* 00E480 80013A20 3BC00000 */ li r30, 0 -/* 00E484 80013A24 93DD0048 */ stw r30, 0x48(r29) -/* 00E488 80013A28 807D0034 */ lwz r3, 0x34(r29) -/* 00E48C 80013A2C 38031FFB */ addi r0, r3, 0x1ffb -/* 00E490 80013A30 7C650016 */ mulhwu r3, r5, r0 -/* 00E494 80013A34 7C030050 */ subf r0, r3, r0 -/* 00E498 80013A38 5400F87E */ srwi r0, r0, 1 -/* 00E49C 80013A3C 7C001A14 */ add r0, r0, r3 -/* 00E4A0 80013A40 5403A33E */ srwi r3, r0, 0xc -/* 00E4A4 80013A44 38030001 */ addi r0, r3, 1 -/* 00E4A8 80013A48 901D0488 */ stw r0, 0x488(r29) -/* 00E4AC 80013A4C 801D0470 */ lwz r0, 0x470(r29) -/* 00E4B0 80013A50 2C000001 */ cmpwi r0, 1 -/* 00E4B4 80013A54 408200AC */ bne lbl_80013B00 -/* 00E4B8 80013A58 4082006C */ bne lbl_80013AC4 -/* 00E4BC 80013A5C 3881000C */ addi r4, r1, 0xc -/* 00E4C0 80013A60 7C802E70 */ srawi r0, r4, 5 -/* 00E4C4 80013A64 7C000194 */ addze r0, r0 -/* 00E4C8 80013A68 54002834 */ slwi r0, r0, 5 -/* 00E4CC 80013A6C 7C002010 */ subfc r0, r0, r4 -/* 00E4D0 80013A70 20600020 */ subfic r3, r0, 0x20 -/* 00E4D4 80013A74 7C602E70 */ srawi r0, r3, 5 -/* 00E4D8 80013A78 7C000194 */ addze r0, r0 -/* 00E4DC 80013A7C 54002834 */ slwi r0, r0, 5 -/* 00E4E0 80013A80 7C001810 */ subfc r0, r0, r3 -/* 00E4E4 80013A84 7F840214 */ add r28, r4, r0 -/* 00E4E8 80013A88 389C0000 */ addi r4, r28, 0 -/* 00E4EC 80013A8C 387D0348 */ addi r3, r29, 0x348 -/* 00E4F0 80013A90 38A00200 */ li r5, 0x200 -/* 00E4F4 80013A94 38C00000 */ li r6, 0 -/* 00E4F8 80013A98 480AD07D */ bl CARDRead -/* 00E4FC 80013A9C 38830000 */ addi r4, r3, 0 -/* 00E500 80013AA0 387D0000 */ addi r3, r29, 0 -/* 00E504 80013AA4 480087FD */ bl mcardGCErrorHandler -/* 00E508 80013AA8 2C030001 */ cmpwi r3, 1 -/* 00E50C 80013AAC 41820008 */ beq lbl_80013AB4 -/* 00E510 80013AB0 48000018 */ b lbl_80013AC8 -lbl_80013AB4: -/* 00E514 80013AB4 389C0000 */ addi r4, r28, 0 -/* 00E518 80013AB8 3861044C */ addi r3, r1, 0x44c -/* 00E51C 80013ABC 38A00028 */ li r5, 0x28 -/* 00E520 80013AC0 4BFF1A05 */ bl memcpy -lbl_80013AC4: -/* 00E524 80013AC4 3BC00001 */ li r30, 1 -lbl_80013AC8: -/* 00E528 80013AC8 2C1E0000 */ cmpwi r30, 0 -/* 00E52C 80013ACC 4082000C */ bne lbl_80013AD8 -/* 00E530 80013AD0 38000000 */ li r0, 0 -/* 00E534 80013AD4 48000030 */ b lbl_80013B04 -lbl_80013AD8: -/* 00E538 80013AD8 3861044C */ addi r3, r1, 0x44c -/* 00E53C 80013ADC 389D0320 */ addi r4, r29, 0x320 -/* 00E540 80013AE0 38A00028 */ li r5, 0x28 -/* 00E544 80013AE4 480BAE2D */ bl memcmp -/* 00E548 80013AE8 2C030000 */ cmpwi r3, 0 -/* 00E54C 80013AEC 41820014 */ beq lbl_80013B00 -/* 00E550 80013AF0 38000017 */ li r0, 0x17 -/* 00E554 80013AF4 901D035C */ stw r0, 0x35c(r29) -/* 00E558 80013AF8 38000000 */ li r0, 0 -/* 00E55C 80013AFC 48000008 */ b lbl_80013B04 -lbl_80013B00: -/* 00E560 80013B00 38000001 */ li r0, 1 -lbl_80013B04: -/* 00E564 80013B04 2C000000 */ cmpwi r0, 0 -/* 00E568 80013B08 40820018 */ bne lbl_80013B20 -/* 00E56C 80013B0C 3C7F0001 */ addis r3, r31, 1 -/* 00E570 80013B10 38000001 */ li r0, 1 -/* 00E574 80013B14 9003A4CC */ stw r0, -0x5b34(r3) -/* 00E578 80013B18 38000000 */ li r0, 0 -/* 00E57C 80013B1C 480000BC */ b lbl_80013BD8 -lbl_80013B20: -/* 00E580 80013B20 80DD0474 */ lwz r6, 0x474(r29) -/* 00E584 80013B24 387D0000 */ addi r3, r29, 0 -/* 00E588 80013B28 38800000 */ li r4, 0 -/* 00E58C 80013B2C 38A02000 */ li r5, 0x2000 -/* 00E590 80013B30 48007335 */ bl mcardReadAnywhere -/* 00E594 80013B34 2C030000 */ cmpwi r3, 0 -/* 00E598 80013B38 40820018 */ bne lbl_80013B50 -/* 00E59C 80013B3C 3C7F0001 */ addis r3, r31, 1 -/* 00E5A0 80013B40 38000001 */ li r0, 1 -/* 00E5A4 80013B44 9003A4CC */ stw r0, -0x5b34(r3) -/* 00E5A8 80013B48 38000000 */ li r0, 0 -/* 00E5AC 80013B4C 4800008C */ b lbl_80013BD8 -lbl_80013B50: -/* 00E5B0 80013B50 807D0474 */ lwz r3, 0x474(r29) -/* 00E5B4 80013B54 38802000 */ li r4, 0x2000 -/* 00E5B8 80013B58 48089BF9 */ bl DCInvalidateRange -/* 00E5BC 80013B5C 4808E74D */ bl OSGetTime -/* 00E5C0 80013B60 3CBF0001 */ addis r5, r31, 1 -/* 00E5C4 80013B64 38A5A000 */ addi r5, r5, -24576 -/* 00E5C8 80013B68 4808E961 */ bl OSTicksToCalendarTime -/* 00E5CC 80013B6C 3C60800F */ lis r3, D_800EA548@ha -/* 00E5D0 80013B70 4CC63182 */ crclr 6 -/* 00E5D4 80013B74 3883A548 */ addi r4, r3, D_800EA548@l -/* 00E5D8 80013B78 3861049C */ addi r3, r1, 0x49c -/* 00E5DC 80013B7C 480BB1C1 */ bl sprintf -/* 00E5E0 80013B80 3C9F0001 */ addis r4, r31, 1 -/* 00E5E4 80013B84 807D0474 */ lwz r3, 0x474(r29) -/* 00E5E8 80013B88 38A00028 */ li r5, 0x28 -/* 00E5EC 80013B8C 3884A000 */ addi r4, r4, -24576 -/* 00E5F0 80013B90 4BFF1935 */ bl memcpy -/* 00E5F4 80013B94 807D0474 */ lwz r3, 0x474(r29) -/* 00E5F8 80013B98 3881049C */ addi r4, r1, 0x49c -/* 00E5FC 80013B9C 38A00020 */ li r5, 0x20 -/* 00E600 80013BA0 3863004C */ addi r3, r3, 0x4c -/* 00E604 80013BA4 4BFF1921 */ bl memcpy -/* 00E608 80013BA8 387D0000 */ addi r3, r29, 0 -/* 00E60C 80013BAC 388104BC */ addi r4, r1, 0x4bc -/* 00E610 80013BB0 48008529 */ bl mcardCalculateChecksumFileBlock1 -/* 00E614 80013BB4 807D0474 */ lwz r3, 0x474(r29) -/* 00E618 80013BB8 388104BC */ addi r4, r1, 0x4bc -/* 00E61C 80013BBC 38A00004 */ li r5, 4 -/* 00E620 80013BC0 38630028 */ addi r3, r3, 0x28 -/* 00E624 80013BC4 4BFF1901 */ bl memcpy -/* 00E628 80013BC8 807D0474 */ lwz r3, 0x474(r29) -/* 00E62C 80013BCC 38802000 */ li r4, 0x2000 -/* 00E630 80013BD0 48089BDD */ bl DCStoreRange -/* 00E634 80013BD4 38000001 */ li r0, 1 -lbl_80013BD8: -/* 00E638 80013BD8 2C000000 */ cmpwi r0, 0 -/* 00E63C 80013BDC 40820014 */ bne lbl_80013BF0 -/* 00E640 80013BE0 38600000 */ li r3, 0 -/* 00E644 80013BE4 480009F8 */ b lbl_800145DC -lbl_80013BE8: -/* 00E648 80013BE8 38600001 */ li r3, 1 -/* 00E64C 80013BEC 480009F0 */ b lbl_800145DC -lbl_80013BF0: -/* 00E650 80013BF0 38000001 */ li r0, 1 -/* 00E654 80013BF4 901D0484 */ stw r0, 0x484(r29) -/* 00E658 80013BF8 801D0470 */ lwz r0, 0x470(r29) -/* 00E65C 80013BFC 2C000001 */ cmpwi r0, 1 -/* 00E660 80013C00 40820050 */ bne lbl_80013C50 -/* 00E664 80013C04 7FA3EB78 */ mr r3, r29 -/* 00E668 80013C08 480073CD */ bl mcardReadyCard -/* 00E66C 80013C0C 2C030000 */ cmpwi r3, 0 -/* 00E670 80013C10 4082000C */ bne lbl_80013C1C -/* 00E674 80013C14 38000000 */ li r0, 0 -/* 00E678 80013C18 4800003C */ b lbl_80013C54 -lbl_80013C1C: -/* 00E67C 80013C1C 807D0360 */ lwz r3, 0x360(r29) -/* 00E680 80013C20 389D0008 */ addi r4, r29, 8 -/* 00E684 80013C24 38BD0348 */ addi r5, r29, 0x348 -/* 00E688 80013C28 480AC5F9 */ bl CARDOpen -/* 00E68C 80013C2C 38830000 */ addi r4, r3, 0 -/* 00E690 80013C30 387D0000 */ addi r3, r29, 0 -/* 00E694 80013C34 4800866D */ bl mcardGCErrorHandler -/* 00E698 80013C38 2C030001 */ cmpwi r3, 1 -/* 00E69C 80013C3C 41820014 */ beq lbl_80013C50 -/* 00E6A0 80013C40 807D0360 */ lwz r3, 0x360(r29) -/* 00E6A4 80013C44 480AB8D9 */ bl CARDUnmount -/* 00E6A8 80013C48 38000000 */ li r0, 0 -/* 00E6AC 80013C4C 48000008 */ b lbl_80013C54 -lbl_80013C50: -/* 00E6B0 80013C50 38000001 */ li r0, 1 -lbl_80013C54: -/* 00E6B4 80013C54 2C000000 */ cmpwi r0, 0 -/* 00E6B8 80013C58 408200B8 */ bne lbl_80013D10 -/* 00E6BC 80013C5C 38600000 */ li r3, 0 -/* 00E6C0 80013C60 907D0470 */ stw r3, 0x470(r29) -/* 00E6C4 80013C64 38000001 */ li r0, 1 -/* 00E6C8 80013C68 901D047C */ stw r0, 0x47c(r29) -/* 00E6CC 80013C6C 907D0484 */ stw r3, 0x484(r29) -/* 00E6D0 80013C70 801D0470 */ lwz r0, 0x470(r29) -/* 00E6D4 80013C74 2C000001 */ cmpwi r0, 1 -/* 00E6D8 80013C78 40820020 */ bne lbl_80013C98 -/* 00E6DC 80013C7C 801D0348 */ lwz r0, 0x348(r29) -/* 00E6E0 80013C80 2C00FFFF */ cmpwi r0, -1 -/* 00E6E4 80013C84 4182000C */ beq lbl_80013C90 -/* 00E6E8 80013C88 387D0348 */ addi r3, r29, 0x348 -/* 00E6EC 80013C8C 480AC6B1 */ bl CARDClose -lbl_80013C90: -/* 00E6F0 80013C90 807D0360 */ lwz r3, 0x360(r29) -/* 00E6F4 80013C94 480AB889 */ bl CARDUnmount -lbl_80013C98: -/* 00E6F8 80013C98 809D0034 */ lwz r4, 0x34(r29) -/* 00E6FC 80013C9C 3C600020 */ lis r3, 0x20 -/* 00E700 80013CA0 38630401 */ addi r3, r3, 0x401 -/* 00E704 80013CA4 80BD0488 */ lwz r5, 0x488(r29) -/* 00E708 80013CA8 38041FFB */ addi r0, r4, 0x1ffb -/* 00E70C 80013CAC 7C630016 */ mulhwu r3, r3, r0 -/* 00E710 80013CB0 7C030050 */ subf r0, r3, r0 -/* 00E714 80013CB4 5400F87E */ srwi r0, r0, 1 -/* 00E718 80013CB8 7C001A14 */ add r0, r0, r3 -/* 00E71C 80013CBC 5403A33E */ srwi r3, r0, 0xc -/* 00E720 80013CC0 7C051840 */ cmplw r5, r3 -/* 00E724 80013CC4 40800018 */ bge lbl_80013CDC -/* 00E728 80013CC8 807D0040 */ lwz r3, 0x40(r29) -/* 00E72C 80013CCC 54A0103A */ slwi r0, r5, 2 -/* 00E730 80013CD0 38800001 */ li r4, 1 -/* 00E734 80013CD4 7C83012E */ stwx r4, r3, r0 -/* 00E738 80013CD8 48000030 */ b lbl_80013D08 -lbl_80013CDC: -/* 00E73C 80013CDC 38030001 */ addi r0, r3, 1 -/* 00E740 80013CE0 7C050040 */ cmplw r5, r0 -/* 00E744 80013CE4 40820010 */ bne lbl_80013CF4 -/* 00E748 80013CE8 38000001 */ li r0, 1 -/* 00E74C 80013CEC 901D0048 */ stw r0, 0x48(r29) -/* 00E750 80013CF0 48000018 */ b lbl_80013D08 -lbl_80013CF4: -/* 00E754 80013CF4 38030002 */ addi r0, r3, 2 -/* 00E758 80013CF8 7C050040 */ cmplw r5, r0 -/* 00E75C 80013CFC 4082000C */ bne lbl_80013D08 -/* 00E760 80013D00 38000001 */ li r0, 1 -/* 00E764 80013D04 901D0044 */ stw r0, 0x44(r29) -lbl_80013D08: -/* 00E768 80013D08 38600001 */ li r3, 1 -/* 00E76C 80013D0C 480008D0 */ b lbl_800145DC -lbl_80013D10: -/* 00E770 80013D10 809D0034 */ lwz r4, 0x34(r29) -/* 00E774 80013D14 3C600020 */ lis r3, 0x20 -/* 00E778 80013D18 38630401 */ addi r3, r3, 0x401 -/* 00E77C 80013D1C 80BD0488 */ lwz r5, 0x488(r29) -/* 00E780 80013D20 38041FFB */ addi r0, r4, 0x1ffb -/* 00E784 80013D24 7C630016 */ mulhwu r3, r3, r0 -/* 00E788 80013D28 7C030050 */ subf r0, r3, r0 -/* 00E78C 80013D2C 5400F87E */ srwi r0, r0, 1 -/* 00E790 80013D30 7C001A14 */ add r0, r0, r3 -/* 00E794 80013D34 5400A33E */ srwi r0, r0, 0xc -/* 00E798 80013D38 7C050040 */ cmplw r5, r0 -/* 00E79C 80013D3C 40800018 */ bge lbl_80013D54 -/* 00E7A0 80013D40 807D0038 */ lwz r3, 0x38(r29) -/* 00E7A4 80013D44 54006824 */ slwi r0, r0, 0xd -/* 00E7A8 80013D48 7C830214 */ add r4, r3, r0 -/* 00E7AC 80013D4C 38846000 */ addi r4, r4, 0x6000 -/* 00E7B0 80013D50 48000008 */ b lbl_80013D58 -lbl_80013D54: -/* 00E7B4 80013D54 38804000 */ li r4, 0x4000 -lbl_80013D58: -/* 00E7B8 80013D58 7FA3EB78 */ mr r3, r29 -/* 00E7BC 80013D5C 48006281 */ bl mcardWriteBufferAsynch -/* 00E7C0 80013D60 2C030000 */ cmpwi r3, 0 -/* 00E7C4 80013D64 408200DC */ bne lbl_80013E40 -/* 00E7C8 80013D68 38000000 */ li r0, 0 -/* 00E7CC 80013D6C 901D0470 */ stw r0, 0x470(r29) -/* 00E7D0 80013D70 801D035C */ lwz r0, 0x35c(r29) -/* 00E7D4 80013D74 2C000003 */ cmpwi r0, 3 -/* 00E7D8 80013D78 41820018 */ beq lbl_80013D90 -/* 00E7DC 80013D7C 3C7F0001 */ addis r3, r31, 1 -/* 00E7E0 80013D80 38A104C8 */ addi r5, r1, 0x4c8 -/* 00E7E4 80013D84 3880001D */ li r4, 0x1d -/* 00E7E8 80013D88 3863A050 */ addi r3, r3, -24496 -/* 00E7EC 80013D8C 480030E5 */ bl mcardMenu -lbl_80013D90: -/* 00E7F0 80013D90 38000001 */ li r0, 1 -/* 00E7F4 80013D94 901D047C */ stw r0, 0x47c(r29) -/* 00E7F8 80013D98 38000000 */ li r0, 0 -/* 00E7FC 80013D9C 901D0484 */ stw r0, 0x484(r29) -/* 00E800 80013DA0 801D0470 */ lwz r0, 0x470(r29) -/* 00E804 80013DA4 2C000001 */ cmpwi r0, 1 -/* 00E808 80013DA8 40820020 */ bne lbl_80013DC8 -/* 00E80C 80013DAC 801D0348 */ lwz r0, 0x348(r29) -/* 00E810 80013DB0 2C00FFFF */ cmpwi r0, -1 -/* 00E814 80013DB4 4182000C */ beq lbl_80013DC0 -/* 00E818 80013DB8 387D0348 */ addi r3, r29, 0x348 -/* 00E81C 80013DBC 480AC581 */ bl CARDClose -lbl_80013DC0: -/* 00E820 80013DC0 807D0360 */ lwz r3, 0x360(r29) -/* 00E824 80013DC4 480AB759 */ bl CARDUnmount -lbl_80013DC8: -/* 00E828 80013DC8 809D0034 */ lwz r4, 0x34(r29) -/* 00E82C 80013DCC 3C600020 */ lis r3, 0x20 -/* 00E830 80013DD0 38630401 */ addi r3, r3, 0x401 -/* 00E834 80013DD4 80BD0488 */ lwz r5, 0x488(r29) -/* 00E838 80013DD8 38041FFB */ addi r0, r4, 0x1ffb -/* 00E83C 80013DDC 7C630016 */ mulhwu r3, r3, r0 -/* 00E840 80013DE0 7C030050 */ subf r0, r3, r0 -/* 00E844 80013DE4 5400F87E */ srwi r0, r0, 1 -/* 00E848 80013DE8 7C001A14 */ add r0, r0, r3 -/* 00E84C 80013DEC 5403A33E */ srwi r3, r0, 0xc -/* 00E850 80013DF0 7C051840 */ cmplw r5, r3 -/* 00E854 80013DF4 40800018 */ bge lbl_80013E0C -/* 00E858 80013DF8 807D0040 */ lwz r3, 0x40(r29) -/* 00E85C 80013DFC 54A0103A */ slwi r0, r5, 2 -/* 00E860 80013E00 38800001 */ li r4, 1 -/* 00E864 80013E04 7C83012E */ stwx r4, r3, r0 -/* 00E868 80013E08 48000030 */ b lbl_80013E38 -lbl_80013E0C: -/* 00E86C 80013E0C 38030001 */ addi r0, r3, 1 -/* 00E870 80013E10 7C050040 */ cmplw r5, r0 -/* 00E874 80013E14 40820010 */ bne lbl_80013E24 -/* 00E878 80013E18 38000001 */ li r0, 1 -/* 00E87C 80013E1C 901D0048 */ stw r0, 0x48(r29) -/* 00E880 80013E20 48000018 */ b lbl_80013E38 -lbl_80013E24: -/* 00E884 80013E24 38030002 */ addi r0, r3, 2 -/* 00E888 80013E28 7C050040 */ cmplw r5, r0 -/* 00E88C 80013E2C 4082000C */ bne lbl_80013E38 -/* 00E890 80013E30 38000001 */ li r0, 1 -/* 00E894 80013E34 901D0044 */ stw r0, 0x44(r29) -lbl_80013E38: -/* 00E898 80013E38 38600001 */ li r3, 1 -/* 00E89C 80013E3C 480007A0 */ b lbl_800145DC -lbl_80013E40: -/* 00E8A0 80013E40 38600001 */ li r3, 1 -/* 00E8A4 80013E44 48000798 */ b lbl_800145DC -lbl_80013E48: -/* 00E8A8 80013E48 2C000001 */ cmpwi r0, 1 -/* 00E8AC 80013E4C 40820064 */ bne lbl_80013EB0 -/* 00E8B0 80013E50 38000002 */ li r0, 2 -/* 00E8B4 80013E54 901D0484 */ stw r0, 0x484(r29) -/* 00E8B8 80013E58 3C600020 */ lis r3, 0x20 -/* 00E8BC 80013E5C 38830401 */ addi r4, r3, 0x401 -/* 00E8C0 80013E60 807D0034 */ lwz r3, 0x34(r29) -/* 00E8C4 80013E64 80BD0488 */ lwz r5, 0x488(r29) -/* 00E8C8 80013E68 38031FFB */ addi r0, r3, 0x1ffb -/* 00E8CC 80013E6C 7C640016 */ mulhwu r3, r4, r0 -/* 00E8D0 80013E70 7C030050 */ subf r0, r3, r0 -/* 00E8D4 80013E74 5400F87E */ srwi r0, r0, 1 -/* 00E8D8 80013E78 7C001A14 */ add r0, r0, r3 -/* 00E8DC 80013E7C 5400A33E */ srwi r0, r0, 0xc -/* 00E8E0 80013E80 7C050040 */ cmplw r5, r0 -/* 00E8E4 80013E84 40800018 */ bge lbl_80013E9C -/* 00E8E8 80013E88 807D0038 */ lwz r3, 0x38(r29) -/* 00E8EC 80013E8C 54006824 */ slwi r0, r0, 0xd -/* 00E8F0 80013E90 7C830214 */ add r4, r3, r0 -/* 00E8F4 80013E94 38846000 */ addi r4, r4, 0x6000 -/* 00E8F8 80013E98 48000008 */ b lbl_80013EA0 -lbl_80013E9C: -/* 00E8FC 80013E9C 38804000 */ li r4, 0x4000 -lbl_80013EA0: -/* 00E900 80013EA0 7FA3EB78 */ mr r3, r29 -/* 00E904 80013EA4 48005F95 */ bl mcardReadBufferAsynch -/* 00E908 80013EA8 38600001 */ li r3, 1 -/* 00E90C 80013EAC 48000730 */ b lbl_800145DC -lbl_80013EB0: -/* 00E910 80013EB0 2C000002 */ cmpwi r0, 2 -/* 00E914 80013EB4 40820438 */ bne lbl_800142EC -/* 00E918 80013EB8 807D0478 */ lwz r3, 0x478(r29) -/* 00E91C 80013EBC 38A02000 */ li r5, 0x2000 -/* 00E920 80013EC0 809D0474 */ lwz r4, 0x474(r29) -/* 00E924 80013EC4 480BAA4D */ bl memcmp -/* 00E928 80013EC8 2C030000 */ cmpwi r3, 0 -/* 00E92C 80013ECC 418200DC */ beq lbl_80013FA8 -/* 00E930 80013ED0 38000000 */ li r0, 0 -/* 00E934 80013ED4 901D0470 */ stw r0, 0x470(r29) -/* 00E938 80013ED8 801D035C */ lwz r0, 0x35c(r29) -/* 00E93C 80013EDC 2C000003 */ cmpwi r0, 3 -/* 00E940 80013EE0 41820018 */ beq lbl_80013EF8 -/* 00E944 80013EE4 3C7F0001 */ addis r3, r31, 1 -/* 00E948 80013EE8 38A104C8 */ addi r5, r1, 0x4c8 -/* 00E94C 80013EEC 3880001D */ li r4, 0x1d -/* 00E950 80013EF0 3863A050 */ addi r3, r3, -24496 -/* 00E954 80013EF4 48002F7D */ bl mcardMenu -lbl_80013EF8: -/* 00E958 80013EF8 38000001 */ li r0, 1 -/* 00E95C 80013EFC 901D047C */ stw r0, 0x47c(r29) -/* 00E960 80013F00 38000000 */ li r0, 0 -/* 00E964 80013F04 901D0484 */ stw r0, 0x484(r29) -/* 00E968 80013F08 801D0470 */ lwz r0, 0x470(r29) -/* 00E96C 80013F0C 2C000001 */ cmpwi r0, 1 -/* 00E970 80013F10 40820020 */ bne lbl_80013F30 -/* 00E974 80013F14 801D0348 */ lwz r0, 0x348(r29) -/* 00E978 80013F18 2C00FFFF */ cmpwi r0, -1 -/* 00E97C 80013F1C 4182000C */ beq lbl_80013F28 -/* 00E980 80013F20 387D0348 */ addi r3, r29, 0x348 -/* 00E984 80013F24 480AC419 */ bl CARDClose -lbl_80013F28: -/* 00E988 80013F28 807D0360 */ lwz r3, 0x360(r29) -/* 00E98C 80013F2C 480AB5F1 */ bl CARDUnmount -lbl_80013F30: -/* 00E990 80013F30 809D0034 */ lwz r4, 0x34(r29) -/* 00E994 80013F34 3C600020 */ lis r3, 0x20 -/* 00E998 80013F38 38630401 */ addi r3, r3, 0x401 -/* 00E99C 80013F3C 80BD0488 */ lwz r5, 0x488(r29) -/* 00E9A0 80013F40 38041FFB */ addi r0, r4, 0x1ffb -/* 00E9A4 80013F44 7C630016 */ mulhwu r3, r3, r0 -/* 00E9A8 80013F48 7C030050 */ subf r0, r3, r0 -/* 00E9AC 80013F4C 5400F87E */ srwi r0, r0, 1 -/* 00E9B0 80013F50 7C001A14 */ add r0, r0, r3 -/* 00E9B4 80013F54 5403A33E */ srwi r3, r0, 0xc -/* 00E9B8 80013F58 7C051840 */ cmplw r5, r3 -/* 00E9BC 80013F5C 40800018 */ bge lbl_80013F74 -/* 00E9C0 80013F60 807D0040 */ lwz r3, 0x40(r29) -/* 00E9C4 80013F64 54A0103A */ slwi r0, r5, 2 -/* 00E9C8 80013F68 38800001 */ li r4, 1 -/* 00E9CC 80013F6C 7C83012E */ stwx r4, r3, r0 -/* 00E9D0 80013F70 48000030 */ b lbl_80013FA0 -lbl_80013F74: -/* 00E9D4 80013F74 38030001 */ addi r0, r3, 1 -/* 00E9D8 80013F78 7C050040 */ cmplw r5, r0 -/* 00E9DC 80013F7C 40820010 */ bne lbl_80013F8C -/* 00E9E0 80013F80 38000001 */ li r0, 1 -/* 00E9E4 80013F84 901D0048 */ stw r0, 0x48(r29) -/* 00E9E8 80013F88 48000018 */ b lbl_80013FA0 -lbl_80013F8C: -/* 00E9EC 80013F8C 38030002 */ addi r0, r3, 2 -/* 00E9F0 80013F90 7C050040 */ cmplw r5, r0 -/* 00E9F4 80013F94 4082000C */ bne lbl_80013FA0 -/* 00E9F8 80013F98 38000001 */ li r0, 1 -/* 00E9FC 80013F9C 901D0044 */ stw r0, 0x44(r29) -lbl_80013FA0: -/* 00EA00 80013FA0 38600001 */ li r3, 1 -/* 00EA04 80013FA4 48000638 */ b lbl_800145DC -lbl_80013FA8: -/* 00EA08 80013FA8 38000003 */ li r0, 3 -/* 00EA0C 80013FAC 901D0484 */ stw r0, 0x484(r29) -/* 00EA10 80013FB0 3C600020 */ lis r3, 0x20 -/* 00EA14 80013FB4 38830401 */ addi r4, r3, 0x401 -/* 00EA18 80013FB8 807D0034 */ lwz r3, 0x34(r29) -/* 00EA1C 80013FBC 80BD0488 */ lwz r5, 0x488(r29) -/* 00EA20 80013FC0 38031FFB */ addi r0, r3, 0x1ffb -/* 00EA24 80013FC4 7C640016 */ mulhwu r3, r4, r0 -/* 00EA28 80013FC8 7C030050 */ subf r0, r3, r0 -/* 00EA2C 80013FCC 5400F87E */ srwi r0, r0, 1 -/* 00EA30 80013FD0 7C001A14 */ add r0, r0, r3 -/* 00EA34 80013FD4 5403A33E */ srwi r3, r0, 0xc -/* 00EA38 80013FD8 7C051840 */ cmplw r5, r3 -/* 00EA3C 80013FDC 4080011C */ bge lbl_800140F8 -/* 00EA40 80013FE0 801D0470 */ lwz r0, 0x470(r29) -/* 00EA44 80013FE4 54A46824 */ slwi r4, r5, 0xd -/* 00EA48 80013FE8 2C000001 */ cmpwi r0, 1 -/* 00EA4C 80013FEC 40820028 */ bne lbl_80014014 -/* 00EA50 80013FF0 801D0038 */ lwz r0, 0x38(r29) -/* 00EA54 80013FF4 387D0000 */ addi r3, r29, 0 -/* 00EA58 80013FF8 7C802214 */ add r4, r0, r4 -/* 00EA5C 80013FFC 38846000 */ addi r4, r4, 0x6000 -/* 00EA60 80014000 48005FDD */ bl mcardWriteBufferAsynch -/* 00EA64 80014004 2C030000 */ cmpwi r3, 0 -/* 00EA68 80014008 4082000C */ bne lbl_80014014 -/* 00EA6C 8001400C 38000000 */ li r0, 0 -/* 00EA70 80014010 48000008 */ b lbl_80014018 -lbl_80014014: -/* 00EA74 80014014 38000001 */ li r0, 1 -lbl_80014018: -/* 00EA78 80014018 2C000000 */ cmpwi r0, 0 -/* 00EA7C 8001401C 408202C8 */ bne lbl_800142E4 -/* 00EA80 80014020 38600000 */ li r3, 0 -/* 00EA84 80014024 4BFF4D99 */ bl simulatorRumbleStop -/* 00EA88 80014028 801D035C */ lwz r0, 0x35c(r29) -/* 00EA8C 8001402C 2C000003 */ cmpwi r0, 3 -/* 00EA90 80014030 41820018 */ beq lbl_80014048 -/* 00EA94 80014034 3C7F0001 */ addis r3, r31, 1 -/* 00EA98 80014038 38A104C8 */ addi r5, r1, 0x4c8 -/* 00EA9C 8001403C 3880001D */ li r4, 0x1d -/* 00EAA0 80014040 3863A050 */ addi r3, r3, -24496 -/* 00EAA4 80014044 48002E2D */ bl mcardMenu -lbl_80014048: -/* 00EAA8 80014048 38000001 */ li r0, 1 -/* 00EAAC 8001404C 901D047C */ stw r0, 0x47c(r29) -/* 00EAB0 80014050 38000000 */ li r0, 0 -/* 00EAB4 80014054 901D0484 */ stw r0, 0x484(r29) -/* 00EAB8 80014058 801D0470 */ lwz r0, 0x470(r29) -/* 00EABC 8001405C 2C000001 */ cmpwi r0, 1 -/* 00EAC0 80014060 40820020 */ bne lbl_80014080 -/* 00EAC4 80014064 801D0348 */ lwz r0, 0x348(r29) -/* 00EAC8 80014068 2C00FFFF */ cmpwi r0, -1 -/* 00EACC 8001406C 4182000C */ beq lbl_80014078 -/* 00EAD0 80014070 387D0348 */ addi r3, r29, 0x348 -/* 00EAD4 80014074 480AC2C9 */ bl CARDClose -lbl_80014078: -/* 00EAD8 80014078 807D0360 */ lwz r3, 0x360(r29) -/* 00EADC 8001407C 480AB4A1 */ bl CARDUnmount -lbl_80014080: -/* 00EAE0 80014080 809D0034 */ lwz r4, 0x34(r29) -/* 00EAE4 80014084 3C600020 */ lis r3, 0x20 -/* 00EAE8 80014088 38630401 */ addi r3, r3, 0x401 -/* 00EAEC 8001408C 80BD0488 */ lwz r5, 0x488(r29) -/* 00EAF0 80014090 38041FFB */ addi r0, r4, 0x1ffb -/* 00EAF4 80014094 7C630016 */ mulhwu r3, r3, r0 -/* 00EAF8 80014098 7C030050 */ subf r0, r3, r0 -/* 00EAFC 8001409C 5400F87E */ srwi r0, r0, 1 -/* 00EB00 800140A0 7C001A14 */ add r0, r0, r3 -/* 00EB04 800140A4 5403A33E */ srwi r3, r0, 0xc -/* 00EB08 800140A8 7C051840 */ cmplw r5, r3 -/* 00EB0C 800140AC 40800018 */ bge lbl_800140C4 -/* 00EB10 800140B0 807D0040 */ lwz r3, 0x40(r29) -/* 00EB14 800140B4 54A0103A */ slwi r0, r5, 2 -/* 00EB18 800140B8 38800001 */ li r4, 1 -/* 00EB1C 800140BC 7C83012E */ stwx r4, r3, r0 -/* 00EB20 800140C0 48000030 */ b lbl_800140F0 -lbl_800140C4: -/* 00EB24 800140C4 38030001 */ addi r0, r3, 1 -/* 00EB28 800140C8 7C050040 */ cmplw r5, r0 -/* 00EB2C 800140CC 40820010 */ bne lbl_800140DC -/* 00EB30 800140D0 38000001 */ li r0, 1 -/* 00EB34 800140D4 901D0048 */ stw r0, 0x48(r29) -/* 00EB38 800140D8 48000018 */ b lbl_800140F0 -lbl_800140DC: -/* 00EB3C 800140DC 38030002 */ addi r0, r3, 2 -/* 00EB40 800140E0 7C050040 */ cmplw r5, r0 -/* 00EB44 800140E4 4082000C */ bne lbl_800140F0 -/* 00EB48 800140E8 38000001 */ li r0, 1 -/* 00EB4C 800140EC 901D0044 */ stw r0, 0x44(r29) -lbl_800140F0: -/* 00EB50 800140F0 38600001 */ li r3, 1 -/* 00EB54 800140F4 480004E8 */ b lbl_800145DC -lbl_800140F8: -/* 00EB58 800140F8 38030001 */ addi r0, r3, 1 -/* 00EB5C 800140FC 7C050040 */ cmplw r5, r0 -/* 00EB60 80014100 408200F0 */ bne lbl_800141F0 -/* 00EB64 80014104 3BC00000 */ li r30, 0 -/* 00EB68 80014108 93DD0048 */ stw r30, 0x48(r29) -/* 00EB6C 8001410C 7FA3EB78 */ mr r3, r29 -/* 00EB70 80014110 48005961 */ bl mcardWriteTimeAsynch -/* 00EB74 80014114 2C030000 */ cmpwi r3, 0 -/* 00EB78 80014118 408201CC */ bne lbl_800142E4 -/* 00EB7C 8001411C 93DD0470 */ stw r30, 0x470(r29) -/* 00EB80 80014120 801D035C */ lwz r0, 0x35c(r29) -/* 00EB84 80014124 2C000003 */ cmpwi r0, 3 -/* 00EB88 80014128 41820018 */ beq lbl_80014140 -/* 00EB8C 8001412C 3C7F0001 */ addis r3, r31, 1 -/* 00EB90 80014130 38A104C8 */ addi r5, r1, 0x4c8 -/* 00EB94 80014134 3880001D */ li r4, 0x1d -/* 00EB98 80014138 3863A050 */ addi r3, r3, -24496 -/* 00EB9C 8001413C 48002D35 */ bl mcardMenu -lbl_80014140: -/* 00EBA0 80014140 38000001 */ li r0, 1 -/* 00EBA4 80014144 901D047C */ stw r0, 0x47c(r29) -/* 00EBA8 80014148 38000000 */ li r0, 0 -/* 00EBAC 8001414C 901D0484 */ stw r0, 0x484(r29) -/* 00EBB0 80014150 801D0470 */ lwz r0, 0x470(r29) -/* 00EBB4 80014154 2C000001 */ cmpwi r0, 1 -/* 00EBB8 80014158 40820020 */ bne lbl_80014178 -/* 00EBBC 8001415C 801D0348 */ lwz r0, 0x348(r29) -/* 00EBC0 80014160 2C00FFFF */ cmpwi r0, -1 -/* 00EBC4 80014164 4182000C */ beq lbl_80014170 -/* 00EBC8 80014168 387D0348 */ addi r3, r29, 0x348 -/* 00EBCC 8001416C 480AC1D1 */ bl CARDClose -lbl_80014170: -/* 00EBD0 80014170 807D0360 */ lwz r3, 0x360(r29) -/* 00EBD4 80014174 480AB3A9 */ bl CARDUnmount -lbl_80014178: -/* 00EBD8 80014178 809D0034 */ lwz r4, 0x34(r29) -/* 00EBDC 8001417C 3C600020 */ lis r3, 0x20 -/* 00EBE0 80014180 38630401 */ addi r3, r3, 0x401 -/* 00EBE4 80014184 80BD0488 */ lwz r5, 0x488(r29) -/* 00EBE8 80014188 38041FFB */ addi r0, r4, 0x1ffb -/* 00EBEC 8001418C 7C630016 */ mulhwu r3, r3, r0 -/* 00EBF0 80014190 7C030050 */ subf r0, r3, r0 -/* 00EBF4 80014194 5400F87E */ srwi r0, r0, 1 -/* 00EBF8 80014198 7C001A14 */ add r0, r0, r3 -/* 00EBFC 8001419C 5403A33E */ srwi r3, r0, 0xc -/* 00EC00 800141A0 7C051840 */ cmplw r5, r3 -/* 00EC04 800141A4 40800018 */ bge lbl_800141BC -/* 00EC08 800141A8 807D0040 */ lwz r3, 0x40(r29) -/* 00EC0C 800141AC 54A0103A */ slwi r0, r5, 2 -/* 00EC10 800141B0 38800001 */ li r4, 1 -/* 00EC14 800141B4 7C83012E */ stwx r4, r3, r0 -/* 00EC18 800141B8 48000030 */ b lbl_800141E8 -lbl_800141BC: -/* 00EC1C 800141BC 38030001 */ addi r0, r3, 1 -/* 00EC20 800141C0 7C050040 */ cmplw r5, r0 -/* 00EC24 800141C4 40820010 */ bne lbl_800141D4 -/* 00EC28 800141C8 38000001 */ li r0, 1 -/* 00EC2C 800141CC 901D0048 */ stw r0, 0x48(r29) -/* 00EC30 800141D0 48000018 */ b lbl_800141E8 -lbl_800141D4: -/* 00EC34 800141D4 38030002 */ addi r0, r3, 2 -/* 00EC38 800141D8 7C050040 */ cmplw r5, r0 -/* 00EC3C 800141DC 4082000C */ bne lbl_800141E8 -/* 00EC40 800141E0 38000001 */ li r0, 1 -/* 00EC44 800141E4 901D0044 */ stw r0, 0x44(r29) -lbl_800141E8: -/* 00EC48 800141E8 38600001 */ li r3, 1 -/* 00EC4C 800141EC 480003F0 */ b lbl_800145DC -lbl_800141F0: -/* 00EC50 800141F0 38030002 */ addi r0, r3, 2 -/* 00EC54 800141F4 7C050040 */ cmplw r5, r0 -/* 00EC58 800141F8 408200EC */ bne lbl_800142E4 -/* 00EC5C 800141FC 7FA3EB78 */ mr r3, r29 -/* 00EC60 80014200 48005A75 */ bl mcardWriteConfigAsynch -/* 00EC64 80014204 2C030000 */ cmpwi r3, 0 -/* 00EC68 80014208 408200DC */ bne lbl_800142E4 -/* 00EC6C 8001420C 38000000 */ li r0, 0 -/* 00EC70 80014210 901D0470 */ stw r0, 0x470(r29) -/* 00EC74 80014214 801D035C */ lwz r0, 0x35c(r29) -/* 00EC78 80014218 2C000003 */ cmpwi r0, 3 -/* 00EC7C 8001421C 41820018 */ beq lbl_80014234 -/* 00EC80 80014220 3C7F0001 */ addis r3, r31, 1 -/* 00EC84 80014224 38A104C8 */ addi r5, r1, 0x4c8 -/* 00EC88 80014228 3880001D */ li r4, 0x1d -/* 00EC8C 8001422C 3863A050 */ addi r3, r3, -24496 -/* 00EC90 80014230 48002C41 */ bl mcardMenu -lbl_80014234: -/* 00EC94 80014234 38000001 */ li r0, 1 -/* 00EC98 80014238 901D047C */ stw r0, 0x47c(r29) -/* 00EC9C 8001423C 38000000 */ li r0, 0 -/* 00ECA0 80014240 901D0484 */ stw r0, 0x484(r29) -/* 00ECA4 80014244 801D0470 */ lwz r0, 0x470(r29) -/* 00ECA8 80014248 2C000001 */ cmpwi r0, 1 -/* 00ECAC 8001424C 40820020 */ bne lbl_8001426C -/* 00ECB0 80014250 801D0348 */ lwz r0, 0x348(r29) -/* 00ECB4 80014254 2C00FFFF */ cmpwi r0, -1 -/* 00ECB8 80014258 4182000C */ beq lbl_80014264 -/* 00ECBC 8001425C 387D0348 */ addi r3, r29, 0x348 -/* 00ECC0 80014260 480AC0DD */ bl CARDClose -lbl_80014264: -/* 00ECC4 80014264 807D0360 */ lwz r3, 0x360(r29) -/* 00ECC8 80014268 480AB2B5 */ bl CARDUnmount -lbl_8001426C: -/* 00ECCC 8001426C 809D0034 */ lwz r4, 0x34(r29) -/* 00ECD0 80014270 3C600020 */ lis r3, 0x20 -/* 00ECD4 80014274 38630401 */ addi r3, r3, 0x401 -/* 00ECD8 80014278 80BD0488 */ lwz r5, 0x488(r29) -/* 00ECDC 8001427C 38041FFB */ addi r0, r4, 0x1ffb -/* 00ECE0 80014280 7C630016 */ mulhwu r3, r3, r0 -/* 00ECE4 80014284 7C030050 */ subf r0, r3, r0 -/* 00ECE8 80014288 5400F87E */ srwi r0, r0, 1 -/* 00ECEC 8001428C 7C001A14 */ add r0, r0, r3 -/* 00ECF0 80014290 5403A33E */ srwi r3, r0, 0xc -/* 00ECF4 80014294 7C051840 */ cmplw r5, r3 -/* 00ECF8 80014298 40800018 */ bge lbl_800142B0 -/* 00ECFC 8001429C 807D0040 */ lwz r3, 0x40(r29) -/* 00ED00 800142A0 54A0103A */ slwi r0, r5, 2 -/* 00ED04 800142A4 38800001 */ li r4, 1 -/* 00ED08 800142A8 7C83012E */ stwx r4, r3, r0 -/* 00ED0C 800142AC 48000030 */ b lbl_800142DC -lbl_800142B0: -/* 00ED10 800142B0 38030001 */ addi r0, r3, 1 -/* 00ED14 800142B4 7C050040 */ cmplw r5, r0 -/* 00ED18 800142B8 40820010 */ bne lbl_800142C8 -/* 00ED1C 800142BC 38000001 */ li r0, 1 -/* 00ED20 800142C0 901D0048 */ stw r0, 0x48(r29) -/* 00ED24 800142C4 48000018 */ b lbl_800142DC -lbl_800142C8: -/* 00ED28 800142C8 38030002 */ addi r0, r3, 2 -/* 00ED2C 800142CC 7C050040 */ cmplw r5, r0 -/* 00ED30 800142D0 4082000C */ bne lbl_800142DC -/* 00ED34 800142D4 38000001 */ li r0, 1 -/* 00ED38 800142D8 901D0044 */ stw r0, 0x44(r29) -lbl_800142DC: -/* 00ED3C 800142DC 38600001 */ li r3, 1 -/* 00ED40 800142E0 480002FC */ b lbl_800145DC -lbl_800142E4: -/* 00ED44 800142E4 38600001 */ li r3, 1 -/* 00ED48 800142E8 480002F4 */ b lbl_800145DC -lbl_800142EC: -/* 00ED4C 800142EC 2C000003 */ cmpwi r0, 3 -/* 00ED50 800142F0 40820094 */ bne lbl_80014384 -/* 00ED54 800142F4 38000004 */ li r0, 4 -/* 00ED58 800142F8 901D0484 */ stw r0, 0x484(r29) -/* 00ED5C 800142FC 3C600020 */ lis r3, 0x20 -/* 00ED60 80014300 38830401 */ addi r4, r3, 0x401 -/* 00ED64 80014304 807D0034 */ lwz r3, 0x34(r29) -/* 00ED68 80014308 80BD0488 */ lwz r5, 0x488(r29) -/* 00ED6C 8001430C 38031FFB */ addi r0, r3, 0x1ffb -/* 00ED70 80014310 7C640016 */ mulhwu r3, r4, r0 -/* 00ED74 80014314 7C030050 */ subf r0, r3, r0 -/* 00ED78 80014318 5400F87E */ srwi r0, r0, 1 -/* 00ED7C 8001431C 7C001A14 */ add r0, r0, r3 -/* 00ED80 80014320 5403A33E */ srwi r3, r0, 0xc -/* 00ED84 80014324 7C051840 */ cmplw r5, r3 -/* 00ED88 80014328 40800020 */ bge lbl_80014348 -/* 00ED8C 8001432C 809D0038 */ lwz r4, 0x38(r29) -/* 00ED90 80014330 54A06824 */ slwi r0, r5, 0xd -/* 00ED94 80014334 387D0000 */ addi r3, r29, 0 -/* 00ED98 80014338 7C840214 */ add r4, r4, r0 -/* 00ED9C 8001433C 38846000 */ addi r4, r4, 0x6000 -/* 00EDA0 80014340 48005AF9 */ bl mcardReadBufferAsynch -/* 00EDA4 80014344 48000038 */ b lbl_8001437C -lbl_80014348: -/* 00EDA8 80014348 38030001 */ addi r0, r3, 1 -/* 00EDAC 8001434C 7C050040 */ cmplw r5, r0 -/* 00EDB0 80014350 40820014 */ bne lbl_80014364 -/* 00EDB4 80014354 387D0000 */ addi r3, r29, 0 -/* 00EDB8 80014358 38800000 */ li r4, 0 -/* 00EDBC 8001435C 48005ADD */ bl mcardReadBufferAsynch -/* 00EDC0 80014360 4800001C */ b lbl_8001437C -lbl_80014364: -/* 00EDC4 80014364 38030002 */ addi r0, r3, 2 -/* 00EDC8 80014368 7C050040 */ cmplw r5, r0 -/* 00EDCC 8001436C 40820010 */ bne lbl_8001437C -/* 00EDD0 80014370 387D0000 */ addi r3, r29, 0 -/* 00EDD4 80014374 38802000 */ li r4, 0x2000 -/* 00EDD8 80014378 48005AC1 */ bl mcardReadBufferAsynch -lbl_8001437C: -/* 00EDDC 8001437C 38600001 */ li r3, 1 -/* 00EDE0 80014380 4800025C */ b lbl_800145DC -lbl_80014384: -/* 00EDE4 80014384 2C000004 */ cmpwi r0, 4 -/* 00EDE8 80014388 40820250 */ bne lbl_800145D8 -/* 00EDEC 8001438C 3BC00000 */ li r30, 0 -/* 00EDF0 80014390 93DD0484 */ stw r30, 0x484(r29) -/* 00EDF4 80014394 38A02000 */ li r5, 0x2000 -/* 00EDF8 80014398 807D0478 */ lwz r3, 0x478(r29) -/* 00EDFC 8001439C 809D0474 */ lwz r4, 0x474(r29) -/* 00EE00 800143A0 480BA571 */ bl memcmp -/* 00EE04 800143A4 2C030000 */ cmpwi r3, 0 -/* 00EE08 800143A8 418200D8 */ beq lbl_80014480 -/* 00EE0C 800143AC 93DD0470 */ stw r30, 0x470(r29) -/* 00EE10 800143B0 801D035C */ lwz r0, 0x35c(r29) -/* 00EE14 800143B4 2C000003 */ cmpwi r0, 3 -/* 00EE18 800143B8 41820018 */ beq lbl_800143D0 -/* 00EE1C 800143BC 3C7F0001 */ addis r3, r31, 1 -/* 00EE20 800143C0 38A104C8 */ addi r5, r1, 0x4c8 -/* 00EE24 800143C4 3880001D */ li r4, 0x1d -/* 00EE28 800143C8 3863A050 */ addi r3, r3, -24496 -/* 00EE2C 800143CC 48002AA5 */ bl mcardMenu -lbl_800143D0: -/* 00EE30 800143D0 38000001 */ li r0, 1 -/* 00EE34 800143D4 901D047C */ stw r0, 0x47c(r29) -/* 00EE38 800143D8 38000000 */ li r0, 0 -/* 00EE3C 800143DC 901D0484 */ stw r0, 0x484(r29) -/* 00EE40 800143E0 801D0470 */ lwz r0, 0x470(r29) -/* 00EE44 800143E4 2C000001 */ cmpwi r0, 1 -/* 00EE48 800143E8 40820020 */ bne lbl_80014408 -/* 00EE4C 800143EC 801D0348 */ lwz r0, 0x348(r29) -/* 00EE50 800143F0 2C00FFFF */ cmpwi r0, -1 -/* 00EE54 800143F4 4182000C */ beq lbl_80014400 -/* 00EE58 800143F8 387D0348 */ addi r3, r29, 0x348 -/* 00EE5C 800143FC 480ABF41 */ bl CARDClose -lbl_80014400: -/* 00EE60 80014400 807D0360 */ lwz r3, 0x360(r29) -/* 00EE64 80014404 480AB119 */ bl CARDUnmount -lbl_80014408: -/* 00EE68 80014408 809D0034 */ lwz r4, 0x34(r29) -/* 00EE6C 8001440C 3C600020 */ lis r3, 0x20 -/* 00EE70 80014410 38630401 */ addi r3, r3, 0x401 -/* 00EE74 80014414 80BD0488 */ lwz r5, 0x488(r29) -/* 00EE78 80014418 38041FFB */ addi r0, r4, 0x1ffb -/* 00EE7C 8001441C 7C630016 */ mulhwu r3, r3, r0 -/* 00EE80 80014420 7C030050 */ subf r0, r3, r0 -/* 00EE84 80014424 5400F87E */ srwi r0, r0, 1 -/* 00EE88 80014428 7C001A14 */ add r0, r0, r3 -/* 00EE8C 8001442C 5403A33E */ srwi r3, r0, 0xc -/* 00EE90 80014430 7C051840 */ cmplw r5, r3 -/* 00EE94 80014434 40800018 */ bge lbl_8001444C -/* 00EE98 80014438 807D0040 */ lwz r3, 0x40(r29) -/* 00EE9C 8001443C 54A0103A */ slwi r0, r5, 2 -/* 00EEA0 80014440 38800001 */ li r4, 1 -/* 00EEA4 80014444 7C83012E */ stwx r4, r3, r0 -/* 00EEA8 80014448 48000030 */ b lbl_80014478 -lbl_8001444C: -/* 00EEAC 8001444C 38030001 */ addi r0, r3, 1 -/* 00EEB0 80014450 7C050040 */ cmplw r5, r0 -/* 00EEB4 80014454 40820010 */ bne lbl_80014464 -/* 00EEB8 80014458 38000001 */ li r0, 1 -/* 00EEBC 8001445C 901D0048 */ stw r0, 0x48(r29) -/* 00EEC0 80014460 48000018 */ b lbl_80014478 -lbl_80014464: -/* 00EEC4 80014464 38030002 */ addi r0, r3, 2 -/* 00EEC8 80014468 7C050040 */ cmplw r5, r0 -/* 00EECC 8001446C 4082000C */ bne lbl_80014478 -/* 00EED0 80014470 38000001 */ li r0, 1 -/* 00EED4 80014474 901D0044 */ stw r0, 0x44(r29) -lbl_80014478: -/* 00EED8 80014478 38600001 */ li r3, 1 -/* 00EEDC 8001447C 48000160 */ b lbl_800145DC -lbl_80014480: -/* 00EEE0 80014480 93CD8994 */ stw r30, checkFailCount@sda21(r13) -/* 00EEE4 80014484 38600001 */ li r3, 1 -/* 00EEE8 80014488 48000154 */ b lbl_800145DC -lbl_8001448C: -/* 00EEEC 8001448C 801D0470 */ lwz r0, 0x470(r29) -/* 00EEF0 80014490 2C000001 */ cmpwi r0, 1 -/* 00EEF4 80014494 40820024 */ bne lbl_800144B8 -/* 00EEF8 80014498 809D0038 */ lwz r4, 0x38(r29) -/* 00EEFC 8001449C 387D0000 */ addi r3, r29, 0 -/* 00EF00 800144A0 38846000 */ addi r4, r4, 0x6000 -/* 00EF04 800144A4 48005B39 */ bl mcardWriteBufferAsynch -/* 00EF08 800144A8 2C030000 */ cmpwi r3, 0 -/* 00EF0C 800144AC 4082000C */ bne lbl_800144B8 -/* 00EF10 800144B0 38000000 */ li r0, 0 -/* 00EF14 800144B4 48000008 */ b lbl_800144BC -lbl_800144B8: -/* 00EF18 800144B8 38000001 */ li r0, 1 -lbl_800144BC: -/* 00EF1C 800144BC 2C000000 */ cmpwi r0, 0 -/* 00EF20 800144C0 408200B8 */ bne lbl_80014578 -/* 00EF24 800144C4 38600000 */ li r3, 0 -/* 00EF28 800144C8 907D0470 */ stw r3, 0x470(r29) -/* 00EF2C 800144CC 38000001 */ li r0, 1 -/* 00EF30 800144D0 901D047C */ stw r0, 0x47c(r29) -/* 00EF34 800144D4 907D0484 */ stw r3, 0x484(r29) -/* 00EF38 800144D8 801D0470 */ lwz r0, 0x470(r29) -/* 00EF3C 800144DC 2C000001 */ cmpwi r0, 1 -/* 00EF40 800144E0 40820020 */ bne lbl_80014500 -/* 00EF44 800144E4 801D0348 */ lwz r0, 0x348(r29) -/* 00EF48 800144E8 2C00FFFF */ cmpwi r0, -1 -/* 00EF4C 800144EC 4182000C */ beq lbl_800144F8 -/* 00EF50 800144F0 387D0348 */ addi r3, r29, 0x348 -/* 00EF54 800144F4 480ABE49 */ bl CARDClose -lbl_800144F8: -/* 00EF58 800144F8 807D0360 */ lwz r3, 0x360(r29) -/* 00EF5C 800144FC 480AB021 */ bl CARDUnmount -lbl_80014500: -/* 00EF60 80014500 809D0034 */ lwz r4, 0x34(r29) -/* 00EF64 80014504 3C600020 */ lis r3, 0x20 -/* 00EF68 80014508 38630401 */ addi r3, r3, 0x401 -/* 00EF6C 8001450C 80BD0488 */ lwz r5, 0x488(r29) -/* 00EF70 80014510 38041FFB */ addi r0, r4, 0x1ffb -/* 00EF74 80014514 7C630016 */ mulhwu r3, r3, r0 -/* 00EF78 80014518 7C030050 */ subf r0, r3, r0 -/* 00EF7C 8001451C 5400F87E */ srwi r0, r0, 1 -/* 00EF80 80014520 7C001A14 */ add r0, r0, r3 -/* 00EF84 80014524 5403A33E */ srwi r3, r0, 0xc -/* 00EF88 80014528 7C051840 */ cmplw r5, r3 -/* 00EF8C 8001452C 40800018 */ bge lbl_80014544 -/* 00EF90 80014530 807D0040 */ lwz r3, 0x40(r29) -/* 00EF94 80014534 54A0103A */ slwi r0, r5, 2 -/* 00EF98 80014538 38800001 */ li r4, 1 -/* 00EF9C 8001453C 7C83012E */ stwx r4, r3, r0 -/* 00EFA0 80014540 48000030 */ b lbl_80014570 -lbl_80014544: -/* 00EFA4 80014544 38030001 */ addi r0, r3, 1 -/* 00EFA8 80014548 7C050040 */ cmplw r5, r0 -/* 00EFAC 8001454C 40820010 */ bne lbl_8001455C -/* 00EFB0 80014550 38000001 */ li r0, 1 -/* 00EFB4 80014554 901D0048 */ stw r0, 0x48(r29) -/* 00EFB8 80014558 48000018 */ b lbl_80014570 -lbl_8001455C: -/* 00EFBC 8001455C 38030002 */ addi r0, r3, 2 -/* 00EFC0 80014560 7C050040 */ cmplw r5, r0 -/* 00EFC4 80014564 4082000C */ bne lbl_80014570 -/* 00EFC8 80014568 38000001 */ li r0, 1 -/* 00EFCC 8001456C 901D0044 */ stw r0, 0x44(r29) -lbl_80014570: -/* 00EFD0 80014570 38600001 */ li r3, 1 -/* 00EFD4 80014574 48000068 */ b lbl_800145DC -lbl_80014578: -/* 00EFD8 80014578 801D047C */ lwz r0, 0x47c(r29) -/* 00EFDC 8001457C 2C000001 */ cmpwi r0, 1 -/* 00EFE0 80014580 40820010 */ bne lbl_80014590 -/* 00EFE4 80014584 807D0478 */ lwz r3, 0x478(r29) -/* 00EFE8 80014588 38802000 */ li r4, 0x2000 -/* 00EFEC 8001458C 480891C5 */ bl DCInvalidateRange -lbl_80014590: -/* 00EFF0 80014590 801D047C */ lwz r0, 0x47c(r29) -/* 00EFF4 80014594 2C000001 */ cmpwi r0, 1 -/* 00EFF8 80014598 40820038 */ bne lbl_800145D0 -/* 00EFFC 8001459C 801D0484 */ lwz r0, 0x484(r29) -/* 00F000 800145A0 2C000000 */ cmpwi r0, 0 -/* 00F004 800145A4 4082002C */ bne lbl_800145D0 -/* 00F008 800145A8 801D0470 */ lwz r0, 0x470(r29) -/* 00F00C 800145AC 2C000001 */ cmpwi r0, 1 -/* 00F010 800145B0 40820020 */ bne lbl_800145D0 -/* 00F014 800145B4 801D0348 */ lwz r0, 0x348(r29) -/* 00F018 800145B8 2C00FFFF */ cmpwi r0, -1 -/* 00F01C 800145BC 4182000C */ beq lbl_800145C8 -/* 00F020 800145C0 387D0348 */ addi r3, r29, 0x348 -/* 00F024 800145C4 480ABD79 */ bl CARDClose -lbl_800145C8: -/* 00F028 800145C8 807D0360 */ lwz r3, 0x360(r29) -/* 00F02C 800145CC 480AAF51 */ bl CARDUnmount -lbl_800145D0: -/* 00F030 800145D0 38600001 */ li r3, 1 -/* 00F034 800145D4 48000008 */ b lbl_800145DC -lbl_800145D8: -/* 00F038 800145D8 38600001 */ li r3, 1 -lbl_800145DC: -/* 00F03C 800145DC 800104F4 */ lwz r0, 0x4f4(r1) -/* 00F040 800145E0 83E104EC */ lwz r31, 0x4ec(r1) -/* 00F044 800145E4 83C104E8 */ lwz r30, 0x4e8(r1) -/* 00F048 800145E8 7C0803A6 */ mtlr r0 -/* 00F04C 800145EC 83A104E4 */ lwz r29, 0x4e4(r1) -/* 00F050 800145F0 838104E0 */ lwz r28, 0x4e0(r1) -/* 00F054 800145F4 382104F0 */ addi r1, r1, 0x4f0 -/* 00F058 800145F8 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardVerifyChecksumFileHeader.s b/asm/non_matchings/mcardGCN/mcardVerifyChecksumFileHeader.s deleted file mode 100644 index d12e4c11..00000000 --- a/asm/non_matchings/mcardGCN/mcardVerifyChecksumFileHeader.s +++ /dev/null @@ -1,161 +0,0 @@ -glabel mcardVerifyChecksumFileHeader -/* 015CB4 8001B254 7C0802A6 */ mflr r0 -/* 015CB8 8001B258 90010004 */ stw r0, 4(r1) -/* 015CBC 8001B25C 9421FFE8 */ stwu r1, -0x18(r1) -/* 015CC0 8001B260 93E10014 */ stw r31, 0x14(r1) -/* 015CC4 8001B264 93C10010 */ stw r30, 0x10(r1) -/* 015CC8 8001B268 7C7E1B78 */ mr r30, r3 -/* 015CCC 8001B26C 80030470 */ lwz r0, 0x470(r3) -/* 015CD0 8001B270 2C000001 */ cmpwi r0, 1 -/* 015CD4 8001B274 40820050 */ bne lbl_8001B2C4 -/* 015CD8 8001B278 7FC3F378 */ mr r3, r30 -/* 015CDC 8001B27C 4BFFFD59 */ bl mcardReadyCard -/* 015CE0 8001B280 2C030000 */ cmpwi r3, 0 -/* 015CE4 8001B284 4082000C */ bne lbl_8001B290 -/* 015CE8 8001B288 38000000 */ li r0, 0 -/* 015CEC 8001B28C 4800003C */ b lbl_8001B2C8 -lbl_8001B290: -/* 015CF0 8001B290 807E0360 */ lwz r3, 0x360(r30) -/* 015CF4 8001B294 389E0008 */ addi r4, r30, 8 -/* 015CF8 8001B298 38BE0348 */ addi r5, r30, 0x348 -/* 015CFC 8001B29C 480A4F85 */ bl CARDOpen -/* 015D00 8001B2A0 38830000 */ addi r4, r3, 0 -/* 015D04 8001B2A4 387E0000 */ addi r3, r30, 0 -/* 015D08 8001B2A8 48000FF9 */ bl mcardGCErrorHandler -/* 015D0C 8001B2AC 2C030001 */ cmpwi r3, 1 -/* 015D10 8001B2B0 41820014 */ beq lbl_8001B2C4 -/* 015D14 8001B2B4 807E0360 */ lwz r3, 0x360(r30) -/* 015D18 8001B2B8 480A4265 */ bl CARDUnmount -/* 015D1C 8001B2BC 38000000 */ li r0, 0 -/* 015D20 8001B2C0 48000008 */ b lbl_8001B2C8 -lbl_8001B2C4: -/* 015D24 8001B2C4 38000001 */ li r0, 1 -lbl_8001B2C8: -/* 015D28 8001B2C8 2C000000 */ cmpwi r0, 0 -/* 015D2C 8001B2CC 4082000C */ bne lbl_8001B2D8 -/* 015D30 8001B2D0 38600000 */ li r3, 0 -/* 015D34 8001B2D4 48000194 */ b lbl_8001B468 -lbl_8001B2D8: -/* 015D38 8001B2D8 3C803000 */ lis r4, 0x3000 -/* 015D3C 8001B2DC 3861000C */ addi r3, r1, 0xc -/* 015D40 8001B2E0 38846000 */ addi r4, r4, 0x6000 -/* 015D44 8001B2E4 4BFEBED1 */ bl xlHeapTake -/* 015D48 8001B2E8 2C030000 */ cmpwi r3, 0 -/* 015D4C 8001B2EC 4082000C */ bne lbl_8001B2F8 -/* 015D50 8001B2F0 38600000 */ li r3, 0 -/* 015D54 8001B2F4 48000174 */ b lbl_8001B468 -lbl_8001B2F8: -/* 015D58 8001B2F8 3C608010 */ lis r3, mCard@ha -/* 015D5C 8001B2FC 83E1000C */ lwz r31, 0xc(r1) -/* 015D60 8001B300 386379B0 */ addi r3, r3, mCard@l -/* 015D64 8001B304 80030470 */ lwz r0, 0x470(r3) -/* 015D68 8001B308 2C000001 */ cmpwi r0, 1 -/* 015D6C 8001B30C 4082005C */ bne lbl_8001B368 -/* 015D70 8001B310 389F0000 */ addi r4, r31, 0 -/* 015D74 8001B314 387E0348 */ addi r3, r30, 0x348 -/* 015D78 8001B318 38A06000 */ li r5, 0x6000 -/* 015D7C 8001B31C 38C00000 */ li r6, 0 -/* 015D80 8001B320 38E00000 */ li r7, 0 -/* 015D84 8001B324 480A56AD */ bl CARDReadAsync -/* 015D88 8001B328 38830000 */ addi r4, r3, 0 -/* 015D8C 8001B32C 387E0000 */ addi r3, r30, 0 -/* 015D90 8001B330 48000F71 */ bl mcardGCErrorHandler -/* 015D94 8001B334 2C030001 */ cmpwi r3, 1 -/* 015D98 8001B338 4182000C */ beq lbl_8001B344 -/* 015D9C 8001B33C 38000000 */ li r0, 0 -/* 015DA0 8001B340 4800002C */ b lbl_8001B36C -lbl_8001B344: -/* 015DA4 8001B344 7FC3F378 */ mr r3, r30 -/* 015DA8 8001B348 4BFFFE21 */ bl mcardPoll -/* 015DAC 8001B34C 2C030001 */ cmpwi r3, 1 -/* 015DB0 8001B350 4182000C */ beq lbl_8001B35C -/* 015DB4 8001B354 38000000 */ li r0, 0 -/* 015DB8 8001B358 48000014 */ b lbl_8001B36C -lbl_8001B35C: -/* 015DBC 8001B35C 387F0000 */ addi r3, r31, 0 -/* 015DC0 8001B360 38806000 */ li r4, 0x6000 -/* 015DC4 8001B364 480823ED */ bl DCInvalidateRange -lbl_8001B368: -/* 015DC8 8001B368 38000001 */ li r0, 1 -lbl_8001B36C: -/* 015DCC 8001B36C 2C000000 */ cmpwi r0, 0 -/* 015DD0 8001B370 4082004C */ bne lbl_8001B3BC -/* 015DD4 8001B374 3861000C */ addi r3, r1, 0xc -/* 015DD8 8001B378 4BFEBD21 */ bl xlHeapFree -/* 015DDC 8001B37C 2C030000 */ cmpwi r3, 0 -/* 015DE0 8001B380 4082000C */ bne lbl_8001B38C -/* 015DE4 8001B384 38600000 */ li r3, 0 -/* 015DE8 8001B388 480000E0 */ b lbl_8001B468 -lbl_8001B38C: -/* 015DEC 8001B38C 801E0470 */ lwz r0, 0x470(r30) -/* 015DF0 8001B390 2C000001 */ cmpwi r0, 1 -/* 015DF4 8001B394 40820020 */ bne lbl_8001B3B4 -/* 015DF8 8001B398 801E0348 */ lwz r0, 0x348(r30) -/* 015DFC 8001B39C 2C00FFFF */ cmpwi r0, -1 -/* 015E00 8001B3A0 4182000C */ beq lbl_8001B3AC -/* 015E04 8001B3A4 387E0348 */ addi r3, r30, 0x348 -/* 015E08 8001B3A8 480A4F95 */ bl CARDClose -lbl_8001B3AC: -/* 015E0C 8001B3AC 807E0360 */ lwz r3, 0x360(r30) -/* 015E10 8001B3B0 480A416D */ bl CARDUnmount -lbl_8001B3B4: -/* 015E14 8001B3B4 38600000 */ li r3, 0 -/* 015E18 8001B3B8 480000B0 */ b lbl_8001B468 -lbl_8001B3BC: -/* 015E1C 8001B3BC 8061000C */ lwz r3, 0xc(r1) -/* 015E20 8001B3C0 38806000 */ li r4, 0x6000 -/* 015E24 8001B3C4 4808238D */ bl DCInvalidateRange -/* 015E28 8001B3C8 7FC3F378 */ mr r3, r30 -/* 015E2C 8001B3CC 8081000C */ lwz r4, 0xc(r1) -/* 015E30 8001B3D0 480000B1 */ bl mcardCheckChecksumFileHeader -/* 015E34 8001B3D4 2C030000 */ cmpwi r3, 0 -/* 015E38 8001B3D8 4082004C */ bne lbl_8001B424 -/* 015E3C 8001B3DC 3861000C */ addi r3, r1, 0xc -/* 015E40 8001B3E0 4BFEBCB9 */ bl xlHeapFree -/* 015E44 8001B3E4 2C030000 */ cmpwi r3, 0 -/* 015E48 8001B3E8 4082000C */ bne lbl_8001B3F4 -/* 015E4C 8001B3EC 38600000 */ li r3, 0 -/* 015E50 8001B3F0 48000078 */ b lbl_8001B468 -lbl_8001B3F4: -/* 015E54 8001B3F4 801E0470 */ lwz r0, 0x470(r30) -/* 015E58 8001B3F8 2C000001 */ cmpwi r0, 1 -/* 015E5C 8001B3FC 40820020 */ bne lbl_8001B41C -/* 015E60 8001B400 801E0348 */ lwz r0, 0x348(r30) -/* 015E64 8001B404 2C00FFFF */ cmpwi r0, -1 -/* 015E68 8001B408 4182000C */ beq lbl_8001B414 -/* 015E6C 8001B40C 387E0348 */ addi r3, r30, 0x348 -/* 015E70 8001B410 480A4F2D */ bl CARDClose -lbl_8001B414: -/* 015E74 8001B414 807E0360 */ lwz r3, 0x360(r30) -/* 015E78 8001B418 480A4105 */ bl CARDUnmount -lbl_8001B41C: -/* 015E7C 8001B41C 38600000 */ li r3, 0 -/* 015E80 8001B420 48000048 */ b lbl_8001B468 -lbl_8001B424: -/* 015E84 8001B424 3861000C */ addi r3, r1, 0xc -/* 015E88 8001B428 4BFEBC71 */ bl xlHeapFree -/* 015E8C 8001B42C 2C030000 */ cmpwi r3, 0 -/* 015E90 8001B430 4082000C */ bne lbl_8001B43C -/* 015E94 8001B434 38600000 */ li r3, 0 -/* 015E98 8001B438 48000030 */ b lbl_8001B468 -lbl_8001B43C: -/* 015E9C 8001B43C 801E0470 */ lwz r0, 0x470(r30) -/* 015EA0 8001B440 2C000001 */ cmpwi r0, 1 -/* 015EA4 8001B444 40820020 */ bne lbl_8001B464 -/* 015EA8 8001B448 801E0348 */ lwz r0, 0x348(r30) -/* 015EAC 8001B44C 2C00FFFF */ cmpwi r0, -1 -/* 015EB0 8001B450 4182000C */ beq lbl_8001B45C -/* 015EB4 8001B454 387E0348 */ addi r3, r30, 0x348 -/* 015EB8 8001B458 480A4EE5 */ bl CARDClose -lbl_8001B45C: -/* 015EBC 8001B45C 807E0360 */ lwz r3, 0x360(r30) -/* 015EC0 8001B460 480A40BD */ bl CARDUnmount -lbl_8001B464: -/* 015EC4 8001B464 38600001 */ li r3, 1 -lbl_8001B468: -/* 015EC8 8001B468 8001001C */ lwz r0, 0x1c(r1) -/* 015ECC 8001B46C 83E10014 */ lwz r31, 0x14(r1) -/* 015ED0 8001B470 83C10010 */ lwz r30, 0x10(r1) -/* 015ED4 8001B474 7C0803A6 */ mtlr r0 -/* 015ED8 8001B478 38210018 */ addi r1, r1, 0x18 -/* 015EDC 8001B47C 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardWriteAnywhere.s b/asm/non_matchings/mcardGCN/mcardWriteAnywhere.s deleted file mode 100644 index 05bf9066..00000000 --- a/asm/non_matchings/mcardGCN/mcardWriteAnywhere.s +++ /dev/null @@ -1,115 +0,0 @@ -glabel mcardWriteAnywhere -/* 015728 8001ACC8 7C0802A6 */ mflr r0 -/* 01572C 8001ACCC 3CE08010 */ lis r7, mCard@ha -/* 015730 8001ACD0 90010004 */ stw r0, 4(r1) -/* 015734 8001ACD4 38E779B0 */ addi r7, r7, mCard@l -/* 015738 8001ACD8 9421FD88 */ stwu r1, -0x278(r1) -/* 01573C 8001ACDC BF610264 */ stmw r27, 0x264(r1) -/* 015740 8001ACE0 3BE30000 */ addi r31, r3, 0 -/* 015744 8001ACE4 3B640000 */ addi r27, r4, 0 -/* 015748 8001ACE8 3B850000 */ addi r28, r5, 0 -/* 01574C 8001ACEC 3BA60000 */ addi r29, r6, 0 -/* 015750 8001ACF0 80070470 */ lwz r0, 0x470(r7) -/* 015754 8001ACF4 2C000001 */ cmpwi r0, 1 -/* 015758 8001ACF8 40820154 */ bne lbl_8001AE4C -/* 01575C 8001ACFC 801F0470 */ lwz r0, 0x470(r31) -/* 015760 8001AD00 2C000001 */ cmpwi r0, 1 -/* 015764 8001AD04 408200B0 */ bne lbl_8001ADB4 -/* 015768 8001AD08 40820070 */ bne lbl_8001AD78 -/* 01576C 8001AD0C 38810018 */ addi r4, r1, 0x18 -/* 015770 8001AD10 7C802E70 */ srawi r0, r4, 5 -/* 015774 8001AD14 7C000194 */ addze r0, r0 -/* 015778 8001AD18 54002834 */ slwi r0, r0, 5 -/* 01577C 8001AD1C 7C002010 */ subfc r0, r0, r4 -/* 015780 8001AD20 20600020 */ subfic r3, r0, 0x20 -/* 015784 8001AD24 7C602E70 */ srawi r0, r3, 5 -/* 015788 8001AD28 7C000194 */ addze r0, r0 -/* 01578C 8001AD2C 54002834 */ slwi r0, r0, 5 -/* 015790 8001AD30 7C001810 */ subfc r0, r0, r3 -/* 015794 8001AD34 7FC40214 */ add r30, r4, r0 -/* 015798 8001AD38 389E0000 */ addi r4, r30, 0 -/* 01579C 8001AD3C 387F0348 */ addi r3, r31, 0x348 -/* 0157A0 8001AD40 38A00200 */ li r5, 0x200 -/* 0157A4 8001AD44 38C00000 */ li r6, 0 -/* 0157A8 8001AD48 480A5DCD */ bl CARDRead -/* 0157AC 8001AD4C 38830000 */ addi r4, r3, 0 -/* 0157B0 8001AD50 387F0000 */ addi r3, r31, 0 -/* 0157B4 8001AD54 4800154D */ bl mcardGCErrorHandler -/* 0157B8 8001AD58 2C030001 */ cmpwi r3, 1 -/* 0157BC 8001AD5C 4182000C */ beq lbl_8001AD68 -/* 0157C0 8001AD60 38000000 */ li r0, 0 -/* 0157C4 8001AD64 48000018 */ b lbl_8001AD7C -lbl_8001AD68: -/* 0157C8 8001AD68 389E0000 */ addi r4, r30, 0 -/* 0157CC 8001AD6C 38610238 */ addi r3, r1, 0x238 -/* 0157D0 8001AD70 38A00028 */ li r5, 0x28 -/* 0157D4 8001AD74 4BFEA751 */ bl memcpy -lbl_8001AD78: -/* 0157D8 8001AD78 38000001 */ li r0, 1 -lbl_8001AD7C: -/* 0157DC 8001AD7C 2C000000 */ cmpwi r0, 0 -/* 0157E0 8001AD80 4082000C */ bne lbl_8001AD8C -/* 0157E4 8001AD84 38000000 */ li r0, 0 -/* 0157E8 8001AD88 48000030 */ b lbl_8001ADB8 -lbl_8001AD8C: -/* 0157EC 8001AD8C 38610238 */ addi r3, r1, 0x238 -/* 0157F0 8001AD90 389F0320 */ addi r4, r31, 0x320 -/* 0157F4 8001AD94 38A00028 */ li r5, 0x28 -/* 0157F8 8001AD98 480B3B79 */ bl memcmp -/* 0157FC 8001AD9C 2C030000 */ cmpwi r3, 0 -/* 015800 8001ADA0 41820014 */ beq lbl_8001ADB4 -/* 015804 8001ADA4 38000017 */ li r0, 0x17 -/* 015808 8001ADA8 901F035C */ stw r0, 0x35c(r31) -/* 01580C 8001ADAC 38000000 */ li r0, 0 -/* 015810 8001ADB0 48000008 */ b lbl_8001ADB8 -lbl_8001ADB4: -/* 015814 8001ADB4 38000001 */ li r0, 1 -lbl_8001ADB8: -/* 015818 8001ADB8 2C000000 */ cmpwi r0, 0 -/* 01581C 8001ADBC 4082000C */ bne lbl_8001ADC8 -/* 015820 8001ADC0 38600000 */ li r3, 0 -/* 015824 8001ADC4 4800008C */ b lbl_8001AE50 -lbl_8001ADC8: -/* 015828 8001ADC8 387D0000 */ addi r3, r29, 0 -/* 01582C 8001ADCC 389C0000 */ addi r4, r28, 0 -/* 015830 8001ADD0 480829DD */ bl DCStoreRange -/* 015834 8001ADD4 389D0000 */ addi r4, r29, 0 -/* 015838 8001ADD8 38BC0000 */ addi r5, r28, 0 -/* 01583C 8001ADDC 38DB0000 */ addi r6, r27, 0 -/* 015840 8001ADE0 387F0348 */ addi r3, r31, 0x348 -/* 015844 8001ADE4 38E00000 */ li r7, 0 -/* 015848 8001ADE8 480A5F95 */ bl CARDWriteAsync -/* 01584C 8001ADEC 38830000 */ addi r4, r3, 0 -/* 015850 8001ADF0 387F0000 */ addi r3, r31, 0 -/* 015854 8001ADF4 480014AD */ bl mcardGCErrorHandler -/* 015858 8001ADF8 2C030001 */ cmpwi r3, 1 -/* 01585C 8001ADFC 4182000C */ beq lbl_8001AE08 -/* 015860 8001AE00 38600000 */ li r3, 0 -/* 015864 8001AE04 4800004C */ b lbl_8001AE50 -lbl_8001AE08: -/* 015868 8001AE08 3C608001 */ lis r3, simulatorMCardPollDrawBar@ha -/* 01586C 8001AE0C 939F036C */ stw r28, 0x36c(r31) -/* 015870 8001AE10 38038A14 */ addi r0, r3, simulatorMCardPollDrawBar@l -/* 015874 8001AE14 901F0364 */ stw r0, 0x364(r31) -/* 015878 8001AE18 807F0360 */ lwz r3, 0x360(r31) -/* 01587C 8001AE1C 480A2705 */ bl CARDGetXferredBytes -/* 015880 8001AE20 907F0368 */ stw r3, 0x368(r31) -/* 015884 8001AE24 7FE3FB78 */ mr r3, r31 -/* 015888 8001AE28 48000341 */ bl mcardPoll -/* 01588C 8001AE2C 2C030001 */ cmpwi r3, 1 -/* 015890 8001AE30 41820014 */ beq lbl_8001AE44 -/* 015894 8001AE34 38000000 */ li r0, 0 -/* 015898 8001AE38 901F0364 */ stw r0, 0x364(r31) -/* 01589C 8001AE3C 38600000 */ li r3, 0 -/* 0158A0 8001AE40 48000010 */ b lbl_8001AE50 -lbl_8001AE44: -/* 0158A4 8001AE44 38000000 */ li r0, 0 -/* 0158A8 8001AE48 901F0364 */ stw r0, 0x364(r31) -lbl_8001AE4C: -/* 0158AC 8001AE4C 38600001 */ li r3, 1 -lbl_8001AE50: -/* 0158B0 8001AE50 BB610264 */ lmw r27, 0x264(r1) -/* 0158B4 8001AE54 8001027C */ lwz r0, 0x27c(r1) -/* 0158B8 8001AE58 38210278 */ addi r1, r1, 0x278 -/* 0158BC 8001AE5C 7C0803A6 */ mtlr r0 -/* 0158C0 8001AE60 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardWriteAnywherePartial.s b/asm/non_matchings/mcardGCN/mcardWriteAnywherePartial.s deleted file mode 100644 index 05b6ba9d..00000000 --- a/asm/non_matchings/mcardGCN/mcardWriteAnywherePartial.s +++ /dev/null @@ -1,120 +0,0 @@ -glabel mcardWriteAnywherePartial -/* 01557C 8001AB1C 7C0802A6 */ mflr r0 -/* 015580 8001AB20 3D208010 */ lis r9, mCard@ha -/* 015584 8001AB24 90010004 */ stw r0, 4(r1) -/* 015588 8001AB28 392979B0 */ addi r9, r9, mCard@l -/* 01558C 8001AB2C 9421FD78 */ stwu r1, -0x288(r1) -/* 015590 8001AB30 BF21026C */ stmw r25, 0x26c(r1) -/* 015594 8001AB34 3BE30000 */ addi r31, r3, 0 -/* 015598 8001AB38 3B240000 */ addi r25, r4, 0 -/* 01559C 8001AB3C 3B450000 */ addi r26, r5, 0 -/* 0155A0 8001AB40 3B660000 */ addi r27, r6, 0 -/* 0155A4 8001AB44 3B870000 */ addi r28, r7, 0 -/* 0155A8 8001AB48 3BA80000 */ addi r29, r8, 0 -/* 0155AC 8001AB4C 80090470 */ lwz r0, 0x470(r9) -/* 0155B0 8001AB50 2C000001 */ cmpwi r0, 1 -/* 0155B4 8001AB54 4082015C */ bne lbl_8001ACB0 -/* 0155B8 8001AB58 801F0470 */ lwz r0, 0x470(r31) -/* 0155BC 8001AB5C 2C000001 */ cmpwi r0, 1 -/* 0155C0 8001AB60 408200B0 */ bne lbl_8001AC10 -/* 0155C4 8001AB64 40820070 */ bne lbl_8001ABD4 -/* 0155C8 8001AB68 38810020 */ addi r4, r1, 0x20 -/* 0155CC 8001AB6C 7C802E70 */ srawi r0, r4, 5 -/* 0155D0 8001AB70 7C000194 */ addze r0, r0 -/* 0155D4 8001AB74 54002834 */ slwi r0, r0, 5 -/* 0155D8 8001AB78 7C002010 */ subfc r0, r0, r4 -/* 0155DC 8001AB7C 20600020 */ subfic r3, r0, 0x20 -/* 0155E0 8001AB80 7C602E70 */ srawi r0, r3, 5 -/* 0155E4 8001AB84 7C000194 */ addze r0, r0 -/* 0155E8 8001AB88 54002834 */ slwi r0, r0, 5 -/* 0155EC 8001AB8C 7C001810 */ subfc r0, r0, r3 -/* 0155F0 8001AB90 7FC40214 */ add r30, r4, r0 -/* 0155F4 8001AB94 389E0000 */ addi r4, r30, 0 -/* 0155F8 8001AB98 387F0348 */ addi r3, r31, 0x348 -/* 0155FC 8001AB9C 38A00200 */ li r5, 0x200 -/* 015600 8001ABA0 38C00000 */ li r6, 0 -/* 015604 8001ABA4 480A5F71 */ bl CARDRead -/* 015608 8001ABA8 38830000 */ addi r4, r3, 0 -/* 01560C 8001ABAC 387F0000 */ addi r3, r31, 0 -/* 015610 8001ABB0 480016F1 */ bl mcardGCErrorHandler -/* 015614 8001ABB4 2C030001 */ cmpwi r3, 1 -/* 015618 8001ABB8 4182000C */ beq lbl_8001ABC4 -/* 01561C 8001ABBC 38000000 */ li r0, 0 -/* 015620 8001ABC0 48000018 */ b lbl_8001ABD8 -lbl_8001ABC4: -/* 015624 8001ABC4 389E0000 */ addi r4, r30, 0 -/* 015628 8001ABC8 38610240 */ addi r3, r1, 0x240 -/* 01562C 8001ABCC 38A00028 */ li r5, 0x28 -/* 015630 8001ABD0 4BFEA8F5 */ bl memcpy -lbl_8001ABD4: -/* 015634 8001ABD4 38000001 */ li r0, 1 -lbl_8001ABD8: -/* 015638 8001ABD8 2C000000 */ cmpwi r0, 0 -/* 01563C 8001ABDC 4082000C */ bne lbl_8001ABE8 -/* 015640 8001ABE0 38000000 */ li r0, 0 -/* 015644 8001ABE4 48000030 */ b lbl_8001AC14 -lbl_8001ABE8: -/* 015648 8001ABE8 38610240 */ addi r3, r1, 0x240 -/* 01564C 8001ABEC 389F0320 */ addi r4, r31, 0x320 -/* 015650 8001ABF0 38A00028 */ li r5, 0x28 -/* 015654 8001ABF4 480B3D1D */ bl memcmp -/* 015658 8001ABF8 2C030000 */ cmpwi r3, 0 -/* 01565C 8001ABFC 41820014 */ beq lbl_8001AC10 -/* 015660 8001AC00 38000017 */ li r0, 0x17 -/* 015664 8001AC04 901F035C */ stw r0, 0x35c(r31) -/* 015668 8001AC08 38000000 */ li r0, 0 -/* 01566C 8001AC0C 48000008 */ b lbl_8001AC14 -lbl_8001AC10: -/* 015670 8001AC10 38000001 */ li r0, 1 -lbl_8001AC14: -/* 015674 8001AC14 2C000000 */ cmpwi r0, 0 -/* 015678 8001AC18 4082000C */ bne lbl_8001AC24 -/* 01567C 8001AC1C 38600000 */ li r3, 0 -/* 015680 8001AC20 48000094 */ b lbl_8001ACB4 -lbl_8001AC24: -/* 015684 8001AC24 387B0000 */ addi r3, r27, 0 -/* 015688 8001AC28 389A0000 */ addi r4, r26, 0 -/* 01568C 8001AC2C 48082B81 */ bl DCStoreRange -/* 015690 8001AC30 389B0000 */ addi r4, r27, 0 -/* 015694 8001AC34 38BA0000 */ addi r5, r26, 0 -/* 015698 8001AC38 38D90000 */ addi r6, r25, 0 -/* 01569C 8001AC3C 387F0348 */ addi r3, r31, 0x348 -/* 0156A0 8001AC40 38E00000 */ li r7, 0 -/* 0156A4 8001AC44 480A6139 */ bl CARDWriteAsync -/* 0156A8 8001AC48 38830000 */ addi r4, r3, 0 -/* 0156AC 8001AC4C 387F0000 */ addi r3, r31, 0 -/* 0156B0 8001AC50 48001651 */ bl mcardGCErrorHandler -/* 0156B4 8001AC54 2C030001 */ cmpwi r3, 1 -/* 0156B8 8001AC58 4182000C */ beq lbl_8001AC64 -/* 0156BC 8001AC5C 38600000 */ li r3, 0 -/* 0156C0 8001AC60 48000054 */ b lbl_8001ACB4 -lbl_8001AC64: -/* 0156C4 8001AC64 3C608001 */ lis r3, simulatorMCardPollDrawBar@ha -/* 0156C8 8001AC68 93BF036C */ stw r29, 0x36c(r31) -/* 0156CC 8001AC6C 38038A14 */ addi r0, r3, simulatorMCardPollDrawBar@l -/* 0156D0 8001AC70 2C1C0000 */ cmpwi r28, 0 -/* 0156D4 8001AC74 901F0364 */ stw r0, 0x364(r31) -/* 0156D8 8001AC78 40820010 */ bne lbl_8001AC88 -/* 0156DC 8001AC7C 807F0360 */ lwz r3, 0x360(r31) -/* 0156E0 8001AC80 480A28A1 */ bl CARDGetXferredBytes -/* 0156E4 8001AC84 907F0368 */ stw r3, 0x368(r31) -lbl_8001AC88: -/* 0156E8 8001AC88 7FE3FB78 */ mr r3, r31 -/* 0156EC 8001AC8C 480004DD */ bl mcardPoll -/* 0156F0 8001AC90 2C030001 */ cmpwi r3, 1 -/* 0156F4 8001AC94 41820014 */ beq lbl_8001ACA8 -/* 0156F8 8001AC98 38000000 */ li r0, 0 -/* 0156FC 8001AC9C 901F0364 */ stw r0, 0x364(r31) -/* 015700 8001ACA0 38600000 */ li r3, 0 -/* 015704 8001ACA4 48000010 */ b lbl_8001ACB4 -lbl_8001ACA8: -/* 015708 8001ACA8 38000000 */ li r0, 0 -/* 01570C 8001ACAC 901F0364 */ stw r0, 0x364(r31) -lbl_8001ACB0: -/* 015710 8001ACB0 38600001 */ li r3, 1 -lbl_8001ACB4: -/* 015714 8001ACB4 BB21026C */ lmw r25, 0x26c(r1) -/* 015718 8001ACB8 8001028C */ lwz r0, 0x28c(r1) -/* 01571C 8001ACBC 38210288 */ addi r1, r1, 0x288 -/* 015720 8001ACC0 7C0803A6 */ mtlr r0 -/* 015724 8001ACC4 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardWriteBufferAsynch.s b/asm/non_matchings/mcardGCN/mcardWriteBufferAsynch.s deleted file mode 100644 index 366711e1..00000000 --- a/asm/non_matchings/mcardGCN/mcardWriteBufferAsynch.s +++ /dev/null @@ -1,134 +0,0 @@ -glabel mcardWriteBufferAsynch -/* 014A3C 80019FDC 7C0802A6 */ mflr r0 -/* 014A40 80019FE0 3CA08010 */ lis r5, mCard@ha -/* 014A44 80019FE4 90010004 */ stw r0, 4(r1) -/* 014A48 80019FE8 38A579B0 */ addi r5, r5, mCard@l -/* 014A4C 80019FEC 9421FD68 */ stwu r1, -0x298(r1) -/* 014A50 80019FF0 BF610284 */ stmw r27, 0x284(r1) -/* 014A54 80019FF4 3BA30000 */ addi r29, r3, 0 -/* 014A58 80019FF8 3BC40000 */ addi r30, r4, 0 -/* 014A5C 80019FFC 80050470 */ lwz r0, 0x470(r5) -/* 014A60 8001A000 2C000001 */ cmpwi r0, 1 -/* 014A64 8001A004 408201A4 */ bne lbl_8001A1A8 -/* 014A68 8001A008 3BE5047C */ addi r31, r5, 0x47c -/* 014A6C 8001A00C 8005047C */ lwz r0, 0x47c(r5) -/* 014A70 8001A010 2C000001 */ cmpwi r0, 1 -/* 014A74 8001A014 40820158 */ bne lbl_8001A16C -/* 014A78 8001A018 48088291 */ bl OSGetTime -/* 014A7C 8001A01C 38A10258 */ addi r5, r1, 0x258 -/* 014A80 8001A020 480884A9 */ bl OSTicksToCalendarTime -/* 014A84 8001A024 80610268 */ lwz r3, 0x268(r1) -/* 014A88 8001A028 801D0330 */ lwz r0, 0x330(r29) -/* 014A8C 8001A02C 7C030000 */ cmpw r3, r0 -/* 014A90 8001A030 40820014 */ bne lbl_8001A044 -/* 014A94 8001A034 80610264 */ lwz r3, 0x264(r1) -/* 014A98 8001A038 801D032C */ lwz r0, 0x32c(r29) -/* 014A9C 8001A03C 7C030000 */ cmpw r3, r0 -/* 014AA0 8001A040 4182000C */ beq lbl_8001A04C -lbl_8001A044: -/* 014AA4 8001A044 38000001 */ li r0, 1 -/* 014AA8 8001A048 901D0048 */ stw r0, 0x48(r29) -lbl_8001A04C: -/* 014AAC 8001A04C 3B800000 */ li r28, 0 -/* 014AB0 8001A050 939F0000 */ stw r28, 0(r31) -/* 014AB4 8001A054 801D0470 */ lwz r0, 0x470(r29) -/* 014AB8 8001A058 2C000001 */ cmpwi r0, 1 -/* 014ABC 8001A05C 408200AC */ bne lbl_8001A108 -/* 014AC0 8001A060 4082006C */ bne lbl_8001A0CC -/* 014AC4 8001A064 38810010 */ addi r4, r1, 0x10 -/* 014AC8 8001A068 7C802E70 */ srawi r0, r4, 5 -/* 014ACC 8001A06C 7C000194 */ addze r0, r0 -/* 014AD0 8001A070 54002834 */ slwi r0, r0, 5 -/* 014AD4 8001A074 7C002010 */ subfc r0, r0, r4 -/* 014AD8 8001A078 20600020 */ subfic r3, r0, 0x20 -/* 014ADC 8001A07C 7C602E70 */ srawi r0, r3, 5 -/* 014AE0 8001A080 7C000194 */ addze r0, r0 -/* 014AE4 8001A084 54002834 */ slwi r0, r0, 5 -/* 014AE8 8001A088 7C001810 */ subfc r0, r0, r3 -/* 014AEC 8001A08C 7F640214 */ add r27, r4, r0 -/* 014AF0 8001A090 389B0000 */ addi r4, r27, 0 -/* 014AF4 8001A094 387D0348 */ addi r3, r29, 0x348 -/* 014AF8 8001A098 38A00200 */ li r5, 0x200 -/* 014AFC 8001A09C 38C00000 */ li r6, 0 -/* 014B00 8001A0A0 480A6A75 */ bl CARDRead -/* 014B04 8001A0A4 38830000 */ addi r4, r3, 0 -/* 014B08 8001A0A8 387D0000 */ addi r3, r29, 0 -/* 014B0C 8001A0AC 480021F5 */ bl mcardGCErrorHandler -/* 014B10 8001A0B0 2C030001 */ cmpwi r3, 1 -/* 014B14 8001A0B4 41820008 */ beq lbl_8001A0BC -/* 014B18 8001A0B8 48000018 */ b lbl_8001A0D0 -lbl_8001A0BC: -/* 014B1C 8001A0BC 389B0000 */ addi r4, r27, 0 -/* 014B20 8001A0C0 38610230 */ addi r3, r1, 0x230 -/* 014B24 8001A0C4 38A00028 */ li r5, 0x28 -/* 014B28 8001A0C8 4BFEB3FD */ bl memcpy -lbl_8001A0CC: -/* 014B2C 8001A0CC 3B800001 */ li r28, 1 -lbl_8001A0D0: -/* 014B30 8001A0D0 2C1C0000 */ cmpwi r28, 0 -/* 014B34 8001A0D4 4082000C */ bne lbl_8001A0E0 -/* 014B38 8001A0D8 38000000 */ li r0, 0 -/* 014B3C 8001A0DC 48000030 */ b lbl_8001A10C -lbl_8001A0E0: -/* 014B40 8001A0E0 38610230 */ addi r3, r1, 0x230 -/* 014B44 8001A0E4 389D0320 */ addi r4, r29, 0x320 -/* 014B48 8001A0E8 38A00028 */ li r5, 0x28 -/* 014B4C 8001A0EC 480B4825 */ bl memcmp -/* 014B50 8001A0F0 2C030000 */ cmpwi r3, 0 -/* 014B54 8001A0F4 41820014 */ beq lbl_8001A108 -/* 014B58 8001A0F8 38000017 */ li r0, 0x17 -/* 014B5C 8001A0FC 901D035C */ stw r0, 0x35c(r29) -/* 014B60 8001A100 38000000 */ li r0, 0 -/* 014B64 8001A104 48000008 */ b lbl_8001A10C -lbl_8001A108: -/* 014B68 8001A108 38000001 */ li r0, 1 -lbl_8001A10C: -/* 014B6C 8001A10C 2C000000 */ cmpwi r0, 0 -/* 014B70 8001A110 40820014 */ bne lbl_8001A124 -/* 014B74 8001A114 38000001 */ li r0, 1 -/* 014B78 8001A118 901F0000 */ stw r0, 0(r31) -/* 014B7C 8001A11C 38600000 */ li r3, 0 -/* 014B80 8001A120 4800008C */ b lbl_8001A1AC -lbl_8001A124: -/* 014B84 8001A124 807D0474 */ lwz r3, 0x474(r29) -/* 014B88 8001A128 38802000 */ li r4, 0x2000 -/* 014B8C 8001A12C 48083681 */ bl DCStoreRange -/* 014B90 8001A130 809D0474 */ lwz r4, 0x474(r29) -/* 014B94 8001A134 38DE0000 */ addi r6, r30, 0 -/* 014B98 8001A138 387D0348 */ addi r3, r29, 0x348 -/* 014B9C 8001A13C 38A02000 */ li r5, 0x2000 -/* 014BA0 8001A140 38E00000 */ li r7, 0 -/* 014BA4 8001A144 480A6C39 */ bl CARDWriteAsync -/* 014BA8 8001A148 38830000 */ addi r4, r3, 0 -/* 014BAC 8001A14C 387D0000 */ addi r3, r29, 0 -/* 014BB0 8001A150 48002151 */ bl mcardGCErrorHandler -/* 014BB4 8001A154 2C030001 */ cmpwi r3, 1 -/* 014BB8 8001A158 41820050 */ beq lbl_8001A1A8 -/* 014BBC 8001A15C 38000001 */ li r0, 1 -/* 014BC0 8001A160 901F0000 */ stw r0, 0(r31) -/* 014BC4 8001A164 38600000 */ li r3, 0 -/* 014BC8 8001A168 48000044 */ b lbl_8001A1AC -lbl_8001A16C: -/* 014BCC 8001A16C 807D0360 */ lwz r3, 0x360(r29) -/* 014BD0 8001A170 480A1C69 */ bl CARDGetResultCode -/* 014BD4 8001A174 38830000 */ addi r4, r3, 0 -/* 014BD8 8001A178 387D0000 */ addi r3, r29, 0 -/* 014BDC 8001A17C 48002125 */ bl mcardGCErrorHandler -/* 014BE0 8001A180 801D035C */ lwz r0, 0x35c(r29) -/* 014BE4 8001A184 2C000001 */ cmpwi r0, 1 -/* 014BE8 8001A188 41820020 */ beq lbl_8001A1A8 -/* 014BEC 8001A18C 38000001 */ li r0, 1 -/* 014BF0 8001A190 901F0000 */ stw r0, 0(r31) -/* 014BF4 8001A194 801D035C */ lwz r0, 0x35c(r29) -/* 014BF8 8001A198 2C000000 */ cmpwi r0, 0 -/* 014BFC 8001A19C 4182000C */ beq lbl_8001A1A8 -/* 014C00 8001A1A0 38600000 */ li r3, 0 -/* 014C04 8001A1A4 48000008 */ b lbl_8001A1AC -lbl_8001A1A8: -/* 014C08 8001A1A8 38600001 */ li r3, 1 -lbl_8001A1AC: -/* 014C0C 8001A1AC BB610284 */ lmw r27, 0x284(r1) -/* 014C10 8001A1B0 8001029C */ lwz r0, 0x29c(r1) -/* 014C14 8001A1B4 38210298 */ addi r1, r1, 0x298 -/* 014C18 8001A1B8 7C0803A6 */ mtlr r0 -/* 014C1C 8001A1BC 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardWriteConfigAsynch.s b/asm/non_matchings/mcardGCN/mcardWriteConfigAsynch.s deleted file mode 100644 index b612d98a..00000000 --- a/asm/non_matchings/mcardGCN/mcardWriteConfigAsynch.s +++ /dev/null @@ -1,124 +0,0 @@ -glabel mcardWriteConfigAsynch -/* 0146D4 80019C74 7C0802A6 */ mflr r0 -/* 0146D8 80019C78 3C808010 */ lis r4, mCard@ha -/* 0146DC 80019C7C 90010004 */ stw r0, 4(r1) -/* 0146E0 80019C80 388479B0 */ addi r4, r4, mCard@l -/* 0146E4 80019C84 9421FD98 */ stwu r1, -0x268(r1) -/* 0146E8 80019C88 93E10264 */ stw r31, 0x264(r1) -/* 0146EC 80019C8C 93C10260 */ stw r30, 0x260(r1) -/* 0146F0 80019C90 3BC30000 */ addi r30, r3, 0 -/* 0146F4 80019C94 93A1025C */ stw r29, 0x25c(r1) -/* 0146F8 80019C98 93810258 */ stw r28, 0x258(r1) -/* 0146FC 80019C9C 80040470 */ lwz r0, 0x470(r4) -/* 014700 80019CA0 2C000001 */ cmpwi r0, 1 -/* 014704 80019CA4 40820170 */ bne lbl_80019E14 -/* 014708 80019CA8 3BE4047C */ addi r31, r4, 0x47c -/* 01470C 80019CAC 8004047C */ lwz r0, 0x47c(r4) -/* 014710 80019CB0 2C000001 */ cmpwi r0, 1 -/* 014714 80019CB4 40820124 */ bne lbl_80019DD8 -/* 014718 80019CB8 3BA00000 */ li r29, 0 -/* 01471C 80019CBC 93BF0000 */ stw r29, 0(r31) -/* 014720 80019CC0 801E0470 */ lwz r0, 0x470(r30) -/* 014724 80019CC4 2C000001 */ cmpwi r0, 1 -/* 014728 80019CC8 408200AC */ bne lbl_80019D74 -/* 01472C 80019CCC 4082006C */ bne lbl_80019D38 -/* 014730 80019CD0 3881000C */ addi r4, r1, 0xc -/* 014734 80019CD4 7C802E70 */ srawi r0, r4, 5 -/* 014738 80019CD8 7C000194 */ addze r0, r0 -/* 01473C 80019CDC 54002834 */ slwi r0, r0, 5 -/* 014740 80019CE0 7C002010 */ subfc r0, r0, r4 -/* 014744 80019CE4 20600020 */ subfic r3, r0, 0x20 -/* 014748 80019CE8 7C602E70 */ srawi r0, r3, 5 -/* 01474C 80019CEC 7C000194 */ addze r0, r0 -/* 014750 80019CF0 54002834 */ slwi r0, r0, 5 -/* 014754 80019CF4 7C001810 */ subfc r0, r0, r3 -/* 014758 80019CF8 7F840214 */ add r28, r4, r0 -/* 01475C 80019CFC 389C0000 */ addi r4, r28, 0 -/* 014760 80019D00 387E0348 */ addi r3, r30, 0x348 -/* 014764 80019D04 38A00200 */ li r5, 0x200 -/* 014768 80019D08 38C00000 */ li r6, 0 -/* 01476C 80019D0C 480A6E09 */ bl CARDRead -/* 014770 80019D10 38830000 */ addi r4, r3, 0 -/* 014774 80019D14 387E0000 */ addi r3, r30, 0 -/* 014778 80019D18 48002589 */ bl mcardGCErrorHandler -/* 01477C 80019D1C 2C030001 */ cmpwi r3, 1 -/* 014780 80019D20 41820008 */ beq lbl_80019D28 -/* 014784 80019D24 48000018 */ b lbl_80019D3C -lbl_80019D28: -/* 014788 80019D28 389C0000 */ addi r4, r28, 0 -/* 01478C 80019D2C 3861022C */ addi r3, r1, 0x22c -/* 014790 80019D30 38A00028 */ li r5, 0x28 -/* 014794 80019D34 4BFEB791 */ bl memcpy -lbl_80019D38: -/* 014798 80019D38 3BA00001 */ li r29, 1 -lbl_80019D3C: -/* 01479C 80019D3C 2C1D0000 */ cmpwi r29, 0 -/* 0147A0 80019D40 4082000C */ bne lbl_80019D4C -/* 0147A4 80019D44 38000000 */ li r0, 0 -/* 0147A8 80019D48 48000030 */ b lbl_80019D78 -lbl_80019D4C: -/* 0147AC 80019D4C 3861022C */ addi r3, r1, 0x22c -/* 0147B0 80019D50 389E0320 */ addi r4, r30, 0x320 -/* 0147B4 80019D54 38A00028 */ li r5, 0x28 -/* 0147B8 80019D58 480B4BB9 */ bl memcmp -/* 0147BC 80019D5C 2C030000 */ cmpwi r3, 0 -/* 0147C0 80019D60 41820014 */ beq lbl_80019D74 -/* 0147C4 80019D64 38000017 */ li r0, 0x17 -/* 0147C8 80019D68 901E035C */ stw r0, 0x35c(r30) -/* 0147CC 80019D6C 38000000 */ li r0, 0 -/* 0147D0 80019D70 48000008 */ b lbl_80019D78 -lbl_80019D74: -/* 0147D4 80019D74 38000001 */ li r0, 1 -lbl_80019D78: -/* 0147D8 80019D78 2C000000 */ cmpwi r0, 0 -/* 0147DC 80019D7C 40820014 */ bne lbl_80019D90 -/* 0147E0 80019D80 38000001 */ li r0, 1 -/* 0147E4 80019D84 901F0000 */ stw r0, 0(r31) -/* 0147E8 80019D88 38600000 */ li r3, 0 -/* 0147EC 80019D8C 4800008C */ b lbl_80019E18 -lbl_80019D90: -/* 0147F0 80019D90 807E0474 */ lwz r3, 0x474(r30) -/* 0147F4 80019D94 38802000 */ li r4, 0x2000 -/* 0147F8 80019D98 48083A15 */ bl DCStoreRange -/* 0147FC 80019D9C 809E0474 */ lwz r4, 0x474(r30) -/* 014800 80019DA0 387E0348 */ addi r3, r30, 0x348 -/* 014804 80019DA4 38A02000 */ li r5, 0x2000 -/* 014808 80019DA8 38C02000 */ li r6, 0x2000 -/* 01480C 80019DAC 38E00000 */ li r7, 0 -/* 014810 80019DB0 480A6FCD */ bl CARDWriteAsync -/* 014814 80019DB4 38830000 */ addi r4, r3, 0 -/* 014818 80019DB8 387E0000 */ addi r3, r30, 0 -/* 01481C 80019DBC 480024E5 */ bl mcardGCErrorHandler -/* 014820 80019DC0 2C030001 */ cmpwi r3, 1 -/* 014824 80019DC4 41820050 */ beq lbl_80019E14 -/* 014828 80019DC8 38000001 */ li r0, 1 -/* 01482C 80019DCC 901F0000 */ stw r0, 0(r31) -/* 014830 80019DD0 38600000 */ li r3, 0 -/* 014834 80019DD4 48000044 */ b lbl_80019E18 -lbl_80019DD8: -/* 014838 80019DD8 807E0360 */ lwz r3, 0x360(r30) -/* 01483C 80019DDC 480A1FFD */ bl CARDGetResultCode -/* 014840 80019DE0 38830000 */ addi r4, r3, 0 -/* 014844 80019DE4 387E0000 */ addi r3, r30, 0 -/* 014848 80019DE8 480024B9 */ bl mcardGCErrorHandler -/* 01484C 80019DEC 801E035C */ lwz r0, 0x35c(r30) -/* 014850 80019DF0 2C000001 */ cmpwi r0, 1 -/* 014854 80019DF4 41820020 */ beq lbl_80019E14 -/* 014858 80019DF8 38000001 */ li r0, 1 -/* 01485C 80019DFC 901F0000 */ stw r0, 0(r31) -/* 014860 80019E00 801E035C */ lwz r0, 0x35c(r30) -/* 014864 80019E04 2C000000 */ cmpwi r0, 0 -/* 014868 80019E08 4182000C */ beq lbl_80019E14 -/* 01486C 80019E0C 38600000 */ li r3, 0 -/* 014870 80019E10 48000008 */ b lbl_80019E18 -lbl_80019E14: -/* 014874 80019E14 38600001 */ li r3, 1 -lbl_80019E18: -/* 014878 80019E18 8001026C */ lwz r0, 0x26c(r1) -/* 01487C 80019E1C 83E10264 */ lwz r31, 0x264(r1) -/* 014880 80019E20 83C10260 */ lwz r30, 0x260(r1) -/* 014884 80019E24 7C0803A6 */ mtlr r0 -/* 014888 80019E28 83A1025C */ lwz r29, 0x25c(r1) -/* 01488C 80019E2C 83810258 */ lwz r28, 0x258(r1) -/* 014890 80019E30 38210268 */ addi r1, r1, 0x268 -/* 014894 80019E34 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardWriteFileHeader.s b/asm/non_matchings/mcardGCN/mcardWriteFileHeader.s deleted file mode 100644 index bf2b6c8c..00000000 --- a/asm/non_matchings/mcardGCN/mcardWriteFileHeader.s +++ /dev/null @@ -1,265 +0,0 @@ -glabel mcardWriteFileHeader -/* 014F9C 8001A53C 7C0802A6 */ mflr r0 -/* 014FA0 8001A540 90010004 */ stw r0, 4(r1) -/* 014FA4 8001A544 94219B30 */ stwu r1, -0x64d0(r1) -/* 014FA8 8001A548 93E164CC */ stw r31, 0x64cc(r1) -/* 014FAC 8001A54C 93C164C8 */ stw r30, 0x64c8(r1) -/* 014FB0 8001A550 7C7E1B78 */ mr r30, r3 -/* 014FB4 8001A554 93A164C4 */ stw r29, 0x64c4(r1) -/* 014FB8 8001A558 80030470 */ lwz r0, 0x470(r3) -/* 014FBC 8001A55C 2C000001 */ cmpwi r0, 1 -/* 014FC0 8001A560 40820378 */ bne lbl_8001A8D8 -/* 014FC4 8001A564 3C60800F */ lis r3, D_800EA7B4@ha -/* 014FC8 8001A568 3883A7B4 */ addi r4, r3, D_800EA7B4@l -/* 014FCC 8001A56C 387E0370 */ addi r3, r30, 0x370 -/* 014FD0 8001A570 480B6439 */ bl strcpy -/* 014FD4 8001A574 3C608010 */ lis r3, mCard@ha -/* 014FD8 8001A578 386379B0 */ addi r3, r3, mCard@l -/* 014FDC 8001A57C 3BE30470 */ addi r31, r3, 0x470 -/* 014FE0 8001A580 80030470 */ lwz r0, 0x470(r3) -/* 014FE4 8001A584 2C000001 */ cmpwi r0, 1 -/* 014FE8 8001A588 40820154 */ bne lbl_8001A6DC -/* 014FEC 8001A58C 801E0470 */ lwz r0, 0x470(r30) -/* 014FF0 8001A590 2C000001 */ cmpwi r0, 1 -/* 014FF4 8001A594 408200B0 */ bne lbl_8001A644 -/* 014FF8 8001A598 40820070 */ bne lbl_8001A608 -/* 014FFC 8001A59C 3881022C */ addi r4, r1, 0x22c -/* 015000 8001A5A0 7C802E70 */ srawi r0, r4, 5 -/* 015004 8001A5A4 7C000194 */ addze r0, r0 -/* 015008 8001A5A8 54002834 */ slwi r0, r0, 5 -/* 01500C 8001A5AC 7C002010 */ subfc r0, r0, r4 -/* 015010 8001A5B0 20600020 */ subfic r3, r0, 0x20 -/* 015014 8001A5B4 7C602E70 */ srawi r0, r3, 5 -/* 015018 8001A5B8 7C000194 */ addze r0, r0 -/* 01501C 8001A5BC 54002834 */ slwi r0, r0, 5 -/* 015020 8001A5C0 7C001810 */ subfc r0, r0, r3 -/* 015024 8001A5C4 7FA40214 */ add r29, r4, r0 -/* 015028 8001A5C8 389D0000 */ addi r4, r29, 0 -/* 01502C 8001A5CC 387E0348 */ addi r3, r30, 0x348 -/* 015030 8001A5D0 38A00200 */ li r5, 0x200 -/* 015034 8001A5D4 38C00000 */ li r6, 0 -/* 015038 8001A5D8 480A653D */ bl CARDRead -/* 01503C 8001A5DC 38830000 */ addi r4, r3, 0 -/* 015040 8001A5E0 387E0000 */ addi r3, r30, 0 -/* 015044 8001A5E4 48001CBD */ bl mcardGCErrorHandler -/* 015048 8001A5E8 2C030001 */ cmpwi r3, 1 -/* 01504C 8001A5EC 4182000C */ beq lbl_8001A5F8 -/* 015050 8001A5F0 38000000 */ li r0, 0 -/* 015054 8001A5F4 48000018 */ b lbl_8001A60C -lbl_8001A5F8: -/* 015058 8001A5F8 389D0000 */ addi r4, r29, 0 -/* 01505C 8001A5FC 38610474 */ addi r3, r1, 0x474 -/* 015060 8001A600 38A00028 */ li r5, 0x28 -/* 015064 8001A604 4BFEAEC1 */ bl memcpy -lbl_8001A608: -/* 015068 8001A608 38000001 */ li r0, 1 -lbl_8001A60C: -/* 01506C 8001A60C 2C000000 */ cmpwi r0, 0 -/* 015070 8001A610 4082000C */ bne lbl_8001A61C -/* 015074 8001A614 38000000 */ li r0, 0 -/* 015078 8001A618 48000030 */ b lbl_8001A648 -lbl_8001A61C: -/* 01507C 8001A61C 38610474 */ addi r3, r1, 0x474 -/* 015080 8001A620 389E0320 */ addi r4, r30, 0x320 -/* 015084 8001A624 38A00028 */ li r5, 0x28 -/* 015088 8001A628 480B42E9 */ bl memcmp -/* 01508C 8001A62C 2C030000 */ cmpwi r3, 0 -/* 015090 8001A630 41820014 */ beq lbl_8001A644 -/* 015094 8001A634 38000017 */ li r0, 0x17 -/* 015098 8001A638 901E035C */ stw r0, 0x35c(r30) -/* 01509C 8001A63C 38000000 */ li r0, 0 -/* 0150A0 8001A640 48000008 */ b lbl_8001A648 -lbl_8001A644: -/* 0150A4 8001A644 38000001 */ li r0, 1 -lbl_8001A648: -/* 0150A8 8001A648 2C000000 */ cmpwi r0, 0 -/* 0150AC 8001A64C 4082000C */ bne lbl_8001A658 -/* 0150B0 8001A650 38000000 */ li r0, 0 -/* 0150B4 8001A654 4800008C */ b lbl_8001A6E0 -lbl_8001A658: -/* 0150B8 8001A658 3881049C */ addi r4, r1, 0x49c -/* 0150BC 8001A65C 7C802E70 */ srawi r0, r4, 5 -/* 0150C0 8001A660 7C000194 */ addze r0, r0 -/* 0150C4 8001A664 54002834 */ slwi r0, r0, 5 -/* 0150C8 8001A668 7C002010 */ subfc r0, r0, r4 -/* 0150CC 8001A66C 20600020 */ subfic r3, r0, 0x20 -/* 0150D0 8001A670 7C602E70 */ srawi r0, r3, 5 -/* 0150D4 8001A674 7C000194 */ addze r0, r0 -/* 0150D8 8001A678 54002834 */ slwi r0, r0, 5 -/* 0150DC 8001A67C 7C001810 */ subfc r0, r0, r3 -/* 0150E0 8001A680 7FA40214 */ add r29, r4, r0 -/* 0150E4 8001A684 389D0000 */ addi r4, r29, 0 -/* 0150E8 8001A688 387E0348 */ addi r3, r30, 0x348 -/* 0150EC 8001A68C 38A06000 */ li r5, 0x6000 -/* 0150F0 8001A690 38C00000 */ li r6, 0 -/* 0150F4 8001A694 38E00000 */ li r7, 0 -/* 0150F8 8001A698 480A6339 */ bl CARDReadAsync -/* 0150FC 8001A69C 38830000 */ addi r4, r3, 0 -/* 015100 8001A6A0 387E0000 */ addi r3, r30, 0 -/* 015104 8001A6A4 48001BFD */ bl mcardGCErrorHandler -/* 015108 8001A6A8 2C030001 */ cmpwi r3, 1 -/* 01510C 8001A6AC 4182000C */ beq lbl_8001A6B8 -/* 015110 8001A6B0 38000000 */ li r0, 0 -/* 015114 8001A6B4 4800002C */ b lbl_8001A6E0 -lbl_8001A6B8: -/* 015118 8001A6B8 7FC3F378 */ mr r3, r30 -/* 01511C 8001A6BC 48000AAD */ bl mcardPoll -/* 015120 8001A6C0 2C030001 */ cmpwi r3, 1 -/* 015124 8001A6C4 4182000C */ beq lbl_8001A6D0 -/* 015128 8001A6C8 38000000 */ li r0, 0 -/* 01512C 8001A6CC 48000014 */ b lbl_8001A6E0 -lbl_8001A6D0: -/* 015130 8001A6D0 387D0000 */ addi r3, r29, 0 -/* 015134 8001A6D4 38806000 */ li r4, 0x6000 -/* 015138 8001A6D8 48083079 */ bl DCInvalidateRange -lbl_8001A6DC: -/* 01513C 8001A6DC 38000001 */ li r0, 1 -lbl_8001A6E0: -/* 015140 8001A6E0 2C000000 */ cmpwi r0, 0 -/* 015144 8001A6E4 4082000C */ bne lbl_8001A6F0 -/* 015148 8001A6E8 38600000 */ li r3, 0 -/* 01514C 8001A6EC 480001F0 */ b lbl_8001A8DC -lbl_8001A6F0: -/* 015150 8001A6F0 3881049C */ addi r4, r1, 0x49c -/* 015154 8001A6F4 7C802E70 */ srawi r0, r4, 5 -/* 015158 8001A6F8 7C000194 */ addze r0, r0 -/* 01515C 8001A6FC 54002834 */ slwi r0, r0, 5 -/* 015160 8001A700 7C002010 */ subfc r0, r0, r4 -/* 015164 8001A704 20600020 */ subfic r3, r0, 0x20 -/* 015168 8001A708 7C602E70 */ srawi r0, r3, 5 -/* 01516C 8001A70C 7C000194 */ addze r0, r0 -/* 015170 8001A710 54002834 */ slwi r0, r0, 5 -/* 015174 8001A714 7C001810 */ subfc r0, r0, r3 -/* 015178 8001A718 7FA40214 */ add r29, r4, r0 -/* 01517C 8001A71C 387D3070 */ addi r3, r29, 0x3070 -/* 015180 8001A720 389E0050 */ addi r4, r30, 0x50 -/* 015184 8001A724 38A00040 */ li r5, 0x40 -/* 015188 8001A728 4BFEAD9D */ bl memcpy -/* 01518C 8001A72C 387D30B0 */ addi r3, r29, 0x30b0 -/* 015190 8001A730 389E0110 */ addi r4, r30, 0x110 -/* 015194 8001A734 38A00201 */ li r5, 0x201 -/* 015198 8001A738 4BFEAD8D */ bl memcpy -/* 01519C 8001A73C 387D32B1 */ addi r3, r29, 0x32b1 -/* 0151A0 8001A740 389E00D0 */ addi r4, r30, 0xd0 -/* 0151A4 8001A744 38A00040 */ li r5, 0x40 -/* 0151A8 8001A748 4BFEAD7D */ bl memcpy -/* 0151AC 8001A74C 387E0000 */ addi r3, r30, 0 -/* 0151B0 8001A750 389D0000 */ addi r4, r29, 0 -/* 0151B4 8001A754 480014C1 */ bl mcardSaveChecksumFileHeader -/* 0151B8 8001A758 3C60800F */ lis r3, D_800EA7A0@ha -/* 0151BC 8001A75C 3883A7A0 */ addi r4, r3, D_800EA7A0@l -/* 0151C0 8001A760 387E0370 */ addi r3, r30, 0x370 -/* 0151C4 8001A764 480B6245 */ bl strcpy -/* 0151C8 8001A768 801F0000 */ lwz r0, 0(r31) -/* 0151CC 8001A76C 2C000001 */ cmpwi r0, 1 -/* 0151D0 8001A770 40820154 */ bne lbl_8001A8C4 -/* 0151D4 8001A774 801E0470 */ lwz r0, 0x470(r30) -/* 0151D8 8001A778 2C000001 */ cmpwi r0, 1 -/* 0151DC 8001A77C 408200B0 */ bne lbl_8001A82C -/* 0151E0 8001A780 40820070 */ bne lbl_8001A7F0 -/* 0151E4 8001A784 3881000C */ addi r4, r1, 0xc -/* 0151E8 8001A788 7C802E70 */ srawi r0, r4, 5 -/* 0151EC 8001A78C 7C000194 */ addze r0, r0 -/* 0151F0 8001A790 54002834 */ slwi r0, r0, 5 -/* 0151F4 8001A794 7C002010 */ subfc r0, r0, r4 -/* 0151F8 8001A798 20600020 */ subfic r3, r0, 0x20 -/* 0151FC 8001A79C 7C602E70 */ srawi r0, r3, 5 -/* 015200 8001A7A0 7C000194 */ addze r0, r0 -/* 015204 8001A7A4 54002834 */ slwi r0, r0, 5 -/* 015208 8001A7A8 7C001810 */ subfc r0, r0, r3 -/* 01520C 8001A7AC 7FE40214 */ add r31, r4, r0 -/* 015210 8001A7B0 389F0000 */ addi r4, r31, 0 -/* 015214 8001A7B4 387E0348 */ addi r3, r30, 0x348 -/* 015218 8001A7B8 38A00200 */ li r5, 0x200 -/* 01521C 8001A7BC 38C00000 */ li r6, 0 -/* 015220 8001A7C0 480A6355 */ bl CARDRead -/* 015224 8001A7C4 38830000 */ addi r4, r3, 0 -/* 015228 8001A7C8 387E0000 */ addi r3, r30, 0 -/* 01522C 8001A7CC 48001AD5 */ bl mcardGCErrorHandler -/* 015230 8001A7D0 2C030001 */ cmpwi r3, 1 -/* 015234 8001A7D4 4182000C */ beq lbl_8001A7E0 -/* 015238 8001A7D8 38000000 */ li r0, 0 -/* 01523C 8001A7DC 48000018 */ b lbl_8001A7F4 -lbl_8001A7E0: -/* 015240 8001A7E0 389F0000 */ addi r4, r31, 0 -/* 015244 8001A7E4 3861044C */ addi r3, r1, 0x44c -/* 015248 8001A7E8 38A00028 */ li r5, 0x28 -/* 01524C 8001A7EC 4BFEACD9 */ bl memcpy -lbl_8001A7F0: -/* 015250 8001A7F0 38000001 */ li r0, 1 -lbl_8001A7F4: -/* 015254 8001A7F4 2C000000 */ cmpwi r0, 0 -/* 015258 8001A7F8 4082000C */ bne lbl_8001A804 -/* 01525C 8001A7FC 38000000 */ li r0, 0 -/* 015260 8001A800 48000030 */ b lbl_8001A830 -lbl_8001A804: -/* 015264 8001A804 3861044C */ addi r3, r1, 0x44c -/* 015268 8001A808 389E0320 */ addi r4, r30, 0x320 -/* 01526C 8001A80C 38A00028 */ li r5, 0x28 -/* 015270 8001A810 480B4101 */ bl memcmp -/* 015274 8001A814 2C030000 */ cmpwi r3, 0 -/* 015278 8001A818 41820014 */ beq lbl_8001A82C -/* 01527C 8001A81C 38000017 */ li r0, 0x17 -/* 015280 8001A820 901E035C */ stw r0, 0x35c(r30) -/* 015284 8001A824 38000000 */ li r0, 0 -/* 015288 8001A828 48000008 */ b lbl_8001A830 -lbl_8001A82C: -/* 01528C 8001A82C 38000001 */ li r0, 1 -lbl_8001A830: -/* 015290 8001A830 2C000000 */ cmpwi r0, 0 -/* 015294 8001A834 4082000C */ bne lbl_8001A840 -/* 015298 8001A838 38000000 */ li r0, 0 -/* 01529C 8001A83C 4800008C */ b lbl_8001A8C8 -lbl_8001A840: -/* 0152A0 8001A840 387D0000 */ addi r3, r29, 0 -/* 0152A4 8001A844 38806000 */ li r4, 0x6000 -/* 0152A8 8001A848 48082F65 */ bl DCStoreRange -/* 0152AC 8001A84C 389D0000 */ addi r4, r29, 0 -/* 0152B0 8001A850 387E0348 */ addi r3, r30, 0x348 -/* 0152B4 8001A854 38A06000 */ li r5, 0x6000 -/* 0152B8 8001A858 38C00000 */ li r6, 0 -/* 0152BC 8001A85C 38E00000 */ li r7, 0 -/* 0152C0 8001A860 480A651D */ bl CARDWriteAsync -/* 0152C4 8001A864 38830000 */ addi r4, r3, 0 -/* 0152C8 8001A868 387E0000 */ addi r3, r30, 0 -/* 0152CC 8001A86C 48001A35 */ bl mcardGCErrorHandler -/* 0152D0 8001A870 2C030001 */ cmpwi r3, 1 -/* 0152D4 8001A874 4182000C */ beq lbl_8001A880 -/* 0152D8 8001A878 38000000 */ li r0, 0 -/* 0152DC 8001A87C 4800004C */ b lbl_8001A8C8 -lbl_8001A880: -/* 0152E0 8001A880 38006000 */ li r0, 0x6000 -/* 0152E4 8001A884 3C608001 */ lis r3, simulatorMCardPollDrawBar@ha -/* 0152E8 8001A888 901E036C */ stw r0, 0x36c(r30) -/* 0152EC 8001A88C 38038A14 */ addi r0, r3, simulatorMCardPollDrawBar@l -/* 0152F0 8001A890 901E0364 */ stw r0, 0x364(r30) -/* 0152F4 8001A894 807E0360 */ lwz r3, 0x360(r30) -/* 0152F8 8001A898 480A2C89 */ bl CARDGetXferredBytes -/* 0152FC 8001A89C 907E0368 */ stw r3, 0x368(r30) -/* 015300 8001A8A0 7FC3F378 */ mr r3, r30 -/* 015304 8001A8A4 480008C5 */ bl mcardPoll -/* 015308 8001A8A8 2C030001 */ cmpwi r3, 1 -/* 01530C 8001A8AC 41820010 */ beq lbl_8001A8BC -/* 015310 8001A8B0 38000000 */ li r0, 0 -/* 015314 8001A8B4 901E0364 */ stw r0, 0x364(r30) -/* 015318 8001A8B8 48000010 */ b lbl_8001A8C8 -lbl_8001A8BC: -/* 01531C 8001A8BC 38000000 */ li r0, 0 -/* 015320 8001A8C0 901E0364 */ stw r0, 0x364(r30) -lbl_8001A8C4: -/* 015324 8001A8C4 38000001 */ li r0, 1 -lbl_8001A8C8: -/* 015328 8001A8C8 2C000000 */ cmpwi r0, 0 -/* 01532C 8001A8CC 4082000C */ bne lbl_8001A8D8 -/* 015330 8001A8D0 38600000 */ li r3, 0 -/* 015334 8001A8D4 48000008 */ b lbl_8001A8DC -lbl_8001A8D8: -/* 015338 8001A8D8 38600001 */ li r3, 1 -lbl_8001A8DC: -/* 01533C 8001A8DC 800164D4 */ lwz r0, 0x64d4(r1) -/* 015340 8001A8E0 83E164CC */ lwz r31, 0x64cc(r1) -/* 015344 8001A8E4 83C164C8 */ lwz r30, 0x64c8(r1) -/* 015348 8001A8E8 7C0803A6 */ mtlr r0 -/* 01534C 8001A8EC 83A164C4 */ lwz r29, 0x64c4(r1) -/* 015350 8001A8F0 382164D0 */ addi r1, r1, 0x64d0 -/* 015354 8001A8F4 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardWriteFileHeaderInitial.s b/asm/non_matchings/mcardGCN/mcardWriteFileHeaderInitial.s deleted file mode 100644 index a5d0a6be..00000000 --- a/asm/non_matchings/mcardGCN/mcardWriteFileHeaderInitial.s +++ /dev/null @@ -1,149 +0,0 @@ -glabel mcardWriteFileHeaderInitial -/* 014C20 8001A1C0 7C0802A6 */ mflr r0 -/* 014C24 8001A1C4 90010004 */ stw r0, 4(r1) -/* 014C28 8001A1C8 94219FC0 */ stwu r1, -0x6040(r1) -/* 014C2C 8001A1CC 93E1603C */ stw r31, 0x603c(r1) -/* 014C30 8001A1D0 7C7F1B78 */ mr r31, r3 -/* 014C34 8001A1D4 93C16038 */ stw r30, 0x6038(r1) -/* 014C38 8001A1D8 93A16034 */ stw r29, 0x6034(r1) -/* 014C3C 8001A1DC 80030470 */ lwz r0, 0x470(r3) -/* 014C40 8001A1E0 2C000001 */ cmpwi r0, 1 -/* 014C44 8001A1E4 408201E0 */ bne lbl_8001A3C4 -/* 014C48 8001A1E8 3C60800F */ lis r3, D_800EA7A0@ha -/* 014C4C 8001A1EC 3883A7A0 */ addi r4, r3, D_800EA7A0@l -/* 014C50 8001A1F0 387F0370 */ addi r3, r31, 0x370 -/* 014C54 8001A1F4 480B67B5 */ bl strcpy -/* 014C58 8001A1F8 3C608010 */ lis r3, mCard@ha -/* 014C5C 8001A1FC 386379B0 */ addi r3, r3, mCard@l -/* 014C60 8001A200 3BA30470 */ addi r29, r3, 0x470 -/* 014C64 8001A204 80030470 */ lwz r0, 0x470(r3) -/* 014C68 8001A208 2C000001 */ cmpwi r0, 1 -/* 014C6C 8001A20C 40820088 */ bne lbl_8001A294 -/* 014C70 8001A210 3881000C */ addi r4, r1, 0xc -/* 014C74 8001A214 7C802E70 */ srawi r0, r4, 5 -/* 014C78 8001A218 7C000194 */ addze r0, r0 -/* 014C7C 8001A21C 54002834 */ slwi r0, r0, 5 -/* 014C80 8001A220 7C002010 */ subfc r0, r0, r4 -/* 014C84 8001A224 20600020 */ subfic r3, r0, 0x20 -/* 014C88 8001A228 7C602E70 */ srawi r0, r3, 5 -/* 014C8C 8001A22C 7C000194 */ addze r0, r0 -/* 014C90 8001A230 54002834 */ slwi r0, r0, 5 -/* 014C94 8001A234 7C001810 */ subfc r0, r0, r3 -/* 014C98 8001A238 7FC40214 */ add r30, r4, r0 -/* 014C9C 8001A23C 389E0000 */ addi r4, r30, 0 -/* 014CA0 8001A240 387F0348 */ addi r3, r31, 0x348 -/* 014CA4 8001A244 38A06000 */ li r5, 0x6000 -/* 014CA8 8001A248 38C00000 */ li r6, 0 -/* 014CAC 8001A24C 38E00000 */ li r7, 0 -/* 014CB0 8001A250 480A6781 */ bl CARDReadAsync -/* 014CB4 8001A254 38830000 */ addi r4, r3, 0 -/* 014CB8 8001A258 387F0000 */ addi r3, r31, 0 -/* 014CBC 8001A25C 48002045 */ bl mcardGCErrorHandler -/* 014CC0 8001A260 2C030001 */ cmpwi r3, 1 -/* 014CC4 8001A264 4182000C */ beq lbl_8001A270 -/* 014CC8 8001A268 38000000 */ li r0, 0 -/* 014CCC 8001A26C 4800002C */ b lbl_8001A298 -lbl_8001A270: -/* 014CD0 8001A270 7FE3FB78 */ mr r3, r31 -/* 014CD4 8001A274 48000EF5 */ bl mcardPoll -/* 014CD8 8001A278 2C030001 */ cmpwi r3, 1 -/* 014CDC 8001A27C 4182000C */ beq lbl_8001A288 -/* 014CE0 8001A280 38000000 */ li r0, 0 -/* 014CE4 8001A284 48000014 */ b lbl_8001A298 -lbl_8001A288: -/* 014CE8 8001A288 387E0000 */ addi r3, r30, 0 -/* 014CEC 8001A28C 38806000 */ li r4, 0x6000 -/* 014CF0 8001A290 480834C1 */ bl DCInvalidateRange -lbl_8001A294: -/* 014CF4 8001A294 38000001 */ li r0, 1 -lbl_8001A298: -/* 014CF8 8001A298 2C000000 */ cmpwi r0, 0 -/* 014CFC 8001A29C 4082000C */ bne lbl_8001A2A8 -/* 014D00 8001A2A0 38600000 */ li r3, 0 -/* 014D04 8001A2A4 48000124 */ b lbl_8001A3C8 -lbl_8001A2A8: -/* 014D08 8001A2A8 3881000C */ addi r4, r1, 0xc -/* 014D0C 8001A2AC 7C802E70 */ srawi r0, r4, 5 -/* 014D10 8001A2B0 7C000194 */ addze r0, r0 -/* 014D14 8001A2B4 54002834 */ slwi r0, r0, 5 -/* 014D18 8001A2B8 7C002010 */ subfc r0, r0, r4 -/* 014D1C 8001A2BC 20600020 */ subfic r3, r0, 0x20 -/* 014D20 8001A2C0 7C602E70 */ srawi r0, r3, 5 -/* 014D24 8001A2C4 7C000194 */ addze r0, r0 -/* 014D28 8001A2C8 54002834 */ slwi r0, r0, 5 -/* 014D2C 8001A2CC 7C001810 */ subfc r0, r0, r3 -/* 014D30 8001A2D0 7FC40214 */ add r30, r4, r0 -/* 014D34 8001A2D4 387E3070 */ addi r3, r30, 0x3070 -/* 014D38 8001A2D8 389F0050 */ addi r4, r31, 0x50 -/* 014D3C 8001A2DC 38A00040 */ li r5, 0x40 -/* 014D40 8001A2E0 4BFEB1E5 */ bl memcpy -/* 014D44 8001A2E4 387E30B0 */ addi r3, r30, 0x30b0 -/* 014D48 8001A2E8 389F0110 */ addi r4, r31, 0x110 -/* 014D4C 8001A2EC 38A00201 */ li r5, 0x201 -/* 014D50 8001A2F0 4BFEB1D5 */ bl memcpy -/* 014D54 8001A2F4 387E32B1 */ addi r3, r30, 0x32b1 -/* 014D58 8001A2F8 389F00D0 */ addi r4, r31, 0xd0 -/* 014D5C 8001A2FC 38A00040 */ li r5, 0x40 -/* 014D60 8001A300 4BFEB1C5 */ bl memcpy -/* 014D64 8001A304 387E0000 */ addi r3, r30, 0 -/* 014D68 8001A308 389F0320 */ addi r4, r31, 0x320 -/* 014D6C 8001A30C 38A00028 */ li r5, 0x28 -/* 014D70 8001A310 4BFEB1B5 */ bl memcpy -/* 014D74 8001A314 387F0000 */ addi r3, r31, 0 -/* 014D78 8001A318 389E0000 */ addi r4, r30, 0 -/* 014D7C 8001A31C 480018F9 */ bl mcardSaveChecksumFileHeader -/* 014D80 8001A320 801D0000 */ lwz r0, 0(r29) -/* 014D84 8001A324 2C000001 */ cmpwi r0, 1 -/* 014D88 8001A328 40820088 */ bne lbl_8001A3B0 -/* 014D8C 8001A32C 387E0000 */ addi r3, r30, 0 -/* 014D90 8001A330 38806000 */ li r4, 0x6000 -/* 014D94 8001A334 48083479 */ bl DCStoreRange -/* 014D98 8001A338 389E0000 */ addi r4, r30, 0 -/* 014D9C 8001A33C 387F0348 */ addi r3, r31, 0x348 -/* 014DA0 8001A340 38A06000 */ li r5, 0x6000 -/* 014DA4 8001A344 38C00000 */ li r6, 0 -/* 014DA8 8001A348 38E00000 */ li r7, 0 -/* 014DAC 8001A34C 480A6A31 */ bl CARDWriteAsync -/* 014DB0 8001A350 38830000 */ addi r4, r3, 0 -/* 014DB4 8001A354 387F0000 */ addi r3, r31, 0 -/* 014DB8 8001A358 48001F49 */ bl mcardGCErrorHandler -/* 014DBC 8001A35C 2C030001 */ cmpwi r3, 1 -/* 014DC0 8001A360 4182000C */ beq lbl_8001A36C -/* 014DC4 8001A364 38000000 */ li r0, 0 -/* 014DC8 8001A368 4800004C */ b lbl_8001A3B4 -lbl_8001A36C: -/* 014DCC 8001A36C 38006000 */ li r0, 0x6000 -/* 014DD0 8001A370 3C608001 */ lis r3, simulatorMCardPollDrawBar@ha -/* 014DD4 8001A374 901F036C */ stw r0, 0x36c(r31) -/* 014DD8 8001A378 38038A14 */ addi r0, r3, simulatorMCardPollDrawBar@l -/* 014DDC 8001A37C 901F0364 */ stw r0, 0x364(r31) -/* 014DE0 8001A380 807F0360 */ lwz r3, 0x360(r31) -/* 014DE4 8001A384 480A319D */ bl CARDGetXferredBytes -/* 014DE8 8001A388 907F0368 */ stw r3, 0x368(r31) -/* 014DEC 8001A38C 7FE3FB78 */ mr r3, r31 -/* 014DF0 8001A390 48000DD9 */ bl mcardPoll -/* 014DF4 8001A394 2C030001 */ cmpwi r3, 1 -/* 014DF8 8001A398 41820010 */ beq lbl_8001A3A8 -/* 014DFC 8001A39C 38000000 */ li r0, 0 -/* 014E00 8001A3A0 901F0364 */ stw r0, 0x364(r31) -/* 014E04 8001A3A4 48000010 */ b lbl_8001A3B4 -lbl_8001A3A8: -/* 014E08 8001A3A8 38000000 */ li r0, 0 -/* 014E0C 8001A3AC 901F0364 */ stw r0, 0x364(r31) -lbl_8001A3B0: -/* 014E10 8001A3B0 38000001 */ li r0, 1 -lbl_8001A3B4: -/* 014E14 8001A3B4 2C000000 */ cmpwi r0, 0 -/* 014E18 8001A3B8 4082000C */ bne lbl_8001A3C4 -/* 014E1C 8001A3BC 38600000 */ li r3, 0 -/* 014E20 8001A3C0 48000008 */ b lbl_8001A3C8 -lbl_8001A3C4: -/* 014E24 8001A3C4 38600001 */ li r3, 1 -lbl_8001A3C8: -/* 014E28 8001A3C8 80016044 */ lwz r0, 0x6044(r1) -/* 014E2C 8001A3CC 83E1603C */ lwz r31, 0x603c(r1) -/* 014E30 8001A3D0 83C16038 */ lwz r30, 0x6038(r1) -/* 014E34 8001A3D4 7C0803A6 */ mtlr r0 -/* 014E38 8001A3D8 83A16034 */ lwz r29, 0x6034(r1) -/* 014E3C 8001A3DC 38216040 */ addi r1, r1, 0x6040 -/* 014E40 8001A3E0 4E800020 */ blr diff --git a/asm/non_matchings/mcardGCN/mcardWriteTimeAsynch.s b/asm/non_matchings/mcardGCN/mcardWriteTimeAsynch.s deleted file mode 100644 index a3c4e713..00000000 --- a/asm/non_matchings/mcardGCN/mcardWriteTimeAsynch.s +++ /dev/null @@ -1,140 +0,0 @@ -glabel mcardWriteTimeAsynch -/* 0144D0 80019A70 7C0802A6 */ mflr r0 -/* 0144D4 80019A74 3C808010 */ lis r4, gMCardCardWorkArea@ha -/* 0144D8 80019A78 90010004 */ stw r0, 4(r1) -/* 0144DC 80019A7C 9421FD90 */ stwu r1, -0x270(r1) -/* 0144E0 80019A80 BF61025C */ stmw r27, 0x25c(r1) -/* 0144E4 80019A84 3BA4D960 */ addi r29, r4, gMCardCardWorkArea@l -/* 0144E8 80019A88 3C9D0001 */ addis r4, r29, 1 -/* 0144EC 80019A8C 3BC30000 */ addi r30, r3, 0 -/* 0144F0 80019A90 8004A4C0 */ lwz r0, -0x5b40(r4) -/* 0144F4 80019A94 2C000001 */ cmpwi r0, 1 -/* 0144F8 80019A98 408201C4 */ bne lbl_80019C5C -/* 0144FC 80019A9C 3BE4A4CC */ addi r31, r4, -23348 -/* 014500 80019AA0 8004A4CC */ lwz r0, -0x5b34(r4) -/* 014504 80019AA4 2C000001 */ cmpwi r0, 1 -/* 014508 80019AA8 40820178 */ bne lbl_80019C20 -/* 01450C 80019AAC 3B800000 */ li r28, 0 -/* 014510 80019AB0 939F0000 */ stw r28, 0(r31) -/* 014514 80019AB4 801E0470 */ lwz r0, 0x470(r30) -/* 014518 80019AB8 2C000001 */ cmpwi r0, 1 -/* 01451C 80019ABC 408200AC */ bne lbl_80019B68 -/* 014520 80019AC0 4082006C */ bne lbl_80019B2C -/* 014524 80019AC4 3881000C */ addi r4, r1, 0xc -/* 014528 80019AC8 7C802E70 */ srawi r0, r4, 5 -/* 01452C 80019ACC 7C000194 */ addze r0, r0 -/* 014530 80019AD0 54002834 */ slwi r0, r0, 5 -/* 014534 80019AD4 7C002010 */ subfc r0, r0, r4 -/* 014538 80019AD8 20600020 */ subfic r3, r0, 0x20 -/* 01453C 80019ADC 7C602E70 */ srawi r0, r3, 5 -/* 014540 80019AE0 7C000194 */ addze r0, r0 -/* 014544 80019AE4 54002834 */ slwi r0, r0, 5 -/* 014548 80019AE8 7C001810 */ subfc r0, r0, r3 -/* 01454C 80019AEC 7F640214 */ add r27, r4, r0 -/* 014550 80019AF0 389B0000 */ addi r4, r27, 0 -/* 014554 80019AF4 387E0348 */ addi r3, r30, 0x348 -/* 014558 80019AF8 38A00200 */ li r5, 0x200 -/* 01455C 80019AFC 38C00000 */ li r6, 0 -/* 014560 80019B00 480A7015 */ bl CARDRead -/* 014564 80019B04 38830000 */ addi r4, r3, 0 -/* 014568 80019B08 387E0000 */ addi r3, r30, 0 -/* 01456C 80019B0C 48002795 */ bl mcardGCErrorHandler -/* 014570 80019B10 2C030001 */ cmpwi r3, 1 -/* 014574 80019B14 41820008 */ beq lbl_80019B1C -/* 014578 80019B18 48000018 */ b lbl_80019B30 -lbl_80019B1C: -/* 01457C 80019B1C 389B0000 */ addi r4, r27, 0 -/* 014580 80019B20 3861022C */ addi r3, r1, 0x22c -/* 014584 80019B24 38A00028 */ li r5, 0x28 -/* 014588 80019B28 4BFEB99D */ bl memcpy -lbl_80019B2C: -/* 01458C 80019B2C 3B800001 */ li r28, 1 -lbl_80019B30: -/* 014590 80019B30 2C1C0000 */ cmpwi r28, 0 -/* 014594 80019B34 4082000C */ bne lbl_80019B40 -/* 014598 80019B38 38000000 */ li r0, 0 -/* 01459C 80019B3C 48000030 */ b lbl_80019B6C -lbl_80019B40: -/* 0145A0 80019B40 3861022C */ addi r3, r1, 0x22c -/* 0145A4 80019B44 389E0320 */ addi r4, r30, 0x320 -/* 0145A8 80019B48 38A00028 */ li r5, 0x28 -/* 0145AC 80019B4C 480B4DC5 */ bl memcmp -/* 0145B0 80019B50 2C030000 */ cmpwi r3, 0 -/* 0145B4 80019B54 41820014 */ beq lbl_80019B68 -/* 0145B8 80019B58 38000017 */ li r0, 0x17 -/* 0145BC 80019B5C 901E035C */ stw r0, 0x35c(r30) -/* 0145C0 80019B60 38000000 */ li r0, 0 -/* 0145C4 80019B64 48000008 */ b lbl_80019B6C -lbl_80019B68: -/* 0145C8 80019B68 38000001 */ li r0, 1 -lbl_80019B6C: -/* 0145CC 80019B6C 2C000000 */ cmpwi r0, 0 -/* 0145D0 80019B70 40820014 */ bne lbl_80019B84 -/* 0145D4 80019B74 38000001 */ li r0, 1 -/* 0145D8 80019B78 901F0000 */ stw r0, 0(r31) -/* 0145DC 80019B7C 38600000 */ li r3, 0 -/* 0145E0 80019B80 480000E0 */ b lbl_80019C60 -lbl_80019B84: -/* 0145E4 80019B84 3CBD0001 */ addis r5, r29, 1 -/* 0145E8 80019B88 8065A000 */ lwz r3, -0x6000(r5) -/* 0145EC 80019B8C 38802000 */ li r4, 0x2000 -/* 0145F0 80019B90 8005A004 */ lwz r0, -0x5ffc(r5) -/* 0145F4 80019B94 907E0320 */ stw r3, 0x320(r30) -/* 0145F8 80019B98 901E0324 */ stw r0, 0x324(r30) -/* 0145FC 80019B9C 8065A008 */ lwz r3, -0x5ff8(r5) -/* 014600 80019BA0 8005A00C */ lwz r0, -0x5ff4(r5) -/* 014604 80019BA4 907E0328 */ stw r3, 0x328(r30) -/* 014608 80019BA8 901E032C */ stw r0, 0x32c(r30) -/* 01460C 80019BAC 8065A010 */ lwz r3, -0x5ff0(r5) -/* 014610 80019BB0 8005A014 */ lwz r0, -0x5fec(r5) -/* 014614 80019BB4 907E0330 */ stw r3, 0x330(r30) -/* 014618 80019BB8 901E0334 */ stw r0, 0x334(r30) -/* 01461C 80019BBC 8065A018 */ lwz r3, -0x5fe8(r5) -/* 014620 80019BC0 8005A01C */ lwz r0, -0x5fe4(r5) -/* 014624 80019BC4 907E0338 */ stw r3, 0x338(r30) -/* 014628 80019BC8 901E033C */ stw r0, 0x33c(r30) -/* 01462C 80019BCC 8065A020 */ lwz r3, -0x5fe0(r5) -/* 014630 80019BD0 8005A024 */ lwz r0, -0x5fdc(r5) -/* 014634 80019BD4 907E0340 */ stw r3, 0x340(r30) -/* 014638 80019BD8 901E0344 */ stw r0, 0x344(r30) -/* 01463C 80019BDC 807E0474 */ lwz r3, 0x474(r30) -/* 014640 80019BE0 48083BCD */ bl DCStoreRange -/* 014644 80019BE4 809E0474 */ lwz r4, 0x474(r30) -/* 014648 80019BE8 387E0348 */ addi r3, r30, 0x348 -/* 01464C 80019BEC 38A02000 */ li r5, 0x2000 -/* 014650 80019BF0 38C00000 */ li r6, 0 -/* 014654 80019BF4 38E00000 */ li r7, 0 -/* 014658 80019BF8 480A7185 */ bl CARDWriteAsync -/* 01465C 80019BFC 38830000 */ addi r4, r3, 0 -/* 014660 80019C00 387E0000 */ addi r3, r30, 0 -/* 014664 80019C04 4800269D */ bl mcardGCErrorHandler -/* 014668 80019C08 2C030001 */ cmpwi r3, 1 -/* 01466C 80019C0C 41820050 */ beq lbl_80019C5C -/* 014670 80019C10 38000001 */ li r0, 1 -/* 014674 80019C14 901F0000 */ stw r0, 0(r31) -/* 014678 80019C18 38600000 */ li r3, 0 -/* 01467C 80019C1C 48000044 */ b lbl_80019C60 -lbl_80019C20: -/* 014680 80019C20 807E0360 */ lwz r3, 0x360(r30) -/* 014684 80019C24 480A21B5 */ bl CARDGetResultCode -/* 014688 80019C28 38830000 */ addi r4, r3, 0 -/* 01468C 80019C2C 387E0000 */ addi r3, r30, 0 -/* 014690 80019C30 48002671 */ bl mcardGCErrorHandler -/* 014694 80019C34 801E035C */ lwz r0, 0x35c(r30) -/* 014698 80019C38 2C000001 */ cmpwi r0, 1 -/* 01469C 80019C3C 41820020 */ beq lbl_80019C5C -/* 0146A0 80019C40 38000001 */ li r0, 1 -/* 0146A4 80019C44 901F0000 */ stw r0, 0(r31) -/* 0146A8 80019C48 801E035C */ lwz r0, 0x35c(r30) -/* 0146AC 80019C4C 2C000000 */ cmpwi r0, 0 -/* 0146B0 80019C50 4182000C */ beq lbl_80019C5C -/* 0146B4 80019C54 38600000 */ li r3, 0 -/* 0146B8 80019C58 48000008 */ b lbl_80019C60 -lbl_80019C5C: -/* 0146BC 80019C5C 38600001 */ li r3, 1 -lbl_80019C60: -/* 0146C0 80019C60 BB61025C */ lmw r27, 0x25c(r1) -/* 0146C4 80019C64 80010274 */ lwz r0, 0x274(r1) -/* 0146C8 80019C68 38210270 */ addi r1, r1, 0x270 -/* 0146CC 80019C6C 7C0803A6 */ mtlr r0 -/* 0146D0 80019C70 4E800020 */ blr diff --git a/configure.py b/configure.py index f6131a07..4bf59732 100755 --- a/configure.py +++ b/configure.py @@ -204,6 +204,7 @@ def version_exists(version: str) -> bool: "-sym on", "-i include", "-i libc", + "-i src", ] if config.non_matching: @@ -275,7 +276,7 @@ def LinkedFor(*versions): Object(Linked, "emulator/soundGCN.c"), Object(LinkedFor("ce-j"), "emulator/frame.c", asm_processor=True), Object(Linked, "emulator/system.c"), - Object(LinkedFor("ce-j"), "emulator/cpu.c", asm_processor=True), + Object(LinkedFor("ce-j"), "emulator/cpu.c"), Object(Linked, "emulator/pif.c"), Object(Linked, "emulator/ram.c"), Object(Linked, "emulator/rom.c"), diff --git a/include/emulator/cpu_jumptable.h b/include/emulator/cpu_jumptable.h deleted file mode 100644 index c691ea47..00000000 --- a/include/emulator/cpu_jumptable.h +++ /dev/null @@ -1,1186 +0,0 @@ -#ifndef _CPU_JUMPTABLE -#define _CPU_JUMPTABLE - -// temporary file - -extern void* lbl_80030EFC; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030F7C; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030F7C; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030EFC; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030EA8; -extern void* lbl_80030F58; -extern void* lbl_80030F60; -extern void* lbl_80030F68; -extern void* lbl_80030F68; -extern void* lbl_80030F68; -extern void* lbl_80030F68; -extern void* lbl_80030F7C; -extern void* lbl_80030F70; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F70; -extern void* lbl_80030F7C; -extern void* lbl_80030F70; -extern void* lbl_80030ED8; -extern void* lbl_80030F2C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F68; -extern void* lbl_80030F68; -extern void* lbl_80030F68; -extern void* lbl_80030F68; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F78; -extern void* lbl_80030F78; -extern void* lbl_80030F78; -extern void* lbl_80030F78; -extern void* lbl_80030F78; -extern void* lbl_80030F78; -extern void* lbl_80030F78; -extern void* lbl_80030F7C; -extern void* lbl_80030F78; -extern void* lbl_80030F78; -extern void* lbl_80030F7C; -extern void* lbl_80030F78; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F78; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F78; -extern void* lbl_80030F7C; -extern void* lbl_80030F78; -extern void* lbl_80030F7C; -extern void* lbl_80030F78; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F7C; -extern void* lbl_80030F78; -extern void* lbl_80030F7C; -extern void* lbl_80030F78; -extern void* lbl_8003381C; -extern void* lbl_80033A68; -extern void* lbl_80033A68; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_80033A68; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_80033A68; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_8003381C; -extern void* lbl_800337F0; -extern void* lbl_800334D8; -extern void* lbl_800335A0; -extern void* lbl_80033564; -extern void* lbl_80033A5C; -extern void* lbl_80033644; -extern void* lbl_80033768; -extern void* lbl_80033768; -extern void* lbl_80033768; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_800337D0; -extern void* lbl_800338AC; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033644; -extern void* lbl_80033768; -extern void* lbl_80033768; -extern void* lbl_80033768; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_8003394C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033A5C; -extern void* lbl_80033938; -extern void* lbl_8003789C; -extern void* lbl_80038010; -extern void* lbl_80038010; -extern void* lbl_80038010; -extern void* lbl_80037AF0; -extern void* lbl_80038010; -extern void* lbl_80037D08; -extern void* lbl_80038010; -extern void* lbl_800379D8; -extern void* lbl_80038010; -extern void* lbl_80038010; -extern void* lbl_80038010; -extern void* lbl_80037BF8; -extern void* lbl_80038010; -extern void* lbl_80037E90; -extern void* lbl_800383F4; -extern void* lbl_800386AC; -extern void* lbl_80038E70; -extern void* lbl_80038964; -extern void* lbl_80038560; -extern void* lbl_80038818; -extern void* lbl_80038E70; -extern void* lbl_80038E70; -extern void* lbl_80038AB0; -extern void* lbl_80038BF0; -extern void* lbl_80038E70; -extern void* lbl_80038D30; -extern void* lbl_8003C690; -extern void* lbl_8003C6CC; -extern void* lbl_8003C708; -extern void* lbl_8003C754; -extern void* lbl_8003C78C; -extern void* lbl_8003C85C; -extern void* lbl_8003C88C; -extern void* lbl_8003C8B0; -extern void* lbl_8003C8DC; -extern void* lbl_8003C900; -extern void* lbl_8003C924; -extern void* lbl_8003C954; -extern void* lbl_8003C984; -extern void* lbl_8003C9A0; -extern void* lbl_8003C9BC; -extern void* lbl_8003C9F0; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003CA24; -extern void* lbl_8003CA48; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003CA6C; -extern void* lbl_8003CA88; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003CAAC; -extern void* lbl_8003CABC; -extern void* lbl_8003CACC; -extern void* lbl_8003CB1C; -extern void* lbl_8003CB6C; -extern void* lbl_8003CBC8; -extern void* lbl_8003CC24; -extern void* lbl_8003CC80; -extern void* lbl_8003CCDC; -extern void* lbl_8003CCEC; -extern void* lbl_8003CD48; -extern void* lbl_8003CD98; -extern void* lbl_8003CDE8; -extern void* lbl_8003CE44; -extern void* lbl_8003CEA0; -extern void* lbl_8003CEFC; -extern void* lbl_8003BEA4; -extern void* lbl_8003BED0; -extern void* lbl_8003BEFC; -extern void* lbl_8003BF28; -extern void* lbl_8003BF54; -extern void* lbl_8003C030; -extern void* lbl_8003C078; -extern void* lbl_8003C094; -extern void* lbl_8003C0B4; -extern void* lbl_8003C0D8; -extern void* lbl_8003C0FC; -extern void* lbl_8003C140; -extern void* lbl_8003C184; -extern void* lbl_8003C1A0; -extern void* lbl_8003C1BC; -extern void* lbl_8003C204; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003C24C; -extern void* lbl_8003C284; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003C2BC; -extern void* lbl_8003C2D8; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003C2FC; -extern void* lbl_8003C30C; -extern void* lbl_8003C31C; -extern void* lbl_8003C35C; -extern void* lbl_8003C39C; -extern void* lbl_8003C3DC; -extern void* lbl_8003C41C; -extern void* lbl_8003C45C; -extern void* lbl_8003C49C; -extern void* lbl_8003C4AC; -extern void* lbl_8003C4EC; -extern void* lbl_8003C52C; -extern void* lbl_8003C56C; -extern void* lbl_8003C5AC; -extern void* lbl_8003C5EC; -extern void* lbl_8003C62C; -extern void* lbl_8003B774; -extern void* lbl_8003B7A0; -extern void* lbl_8003B7CC; -extern void* lbl_8003B7F8; -extern void* lbl_8003B824; -extern void* lbl_8003B8C8; -extern void* lbl_8003B8E8; -extern void* lbl_8003B904; -extern void* lbl_8003B924; -extern void* lbl_8003B950; -extern void* lbl_8003B974; -extern void* lbl_8003B99C; -extern void* lbl_8003B9C4; -extern void* lbl_8003B9F4; -extern void* lbl_8003BA1C; -extern void* lbl_8003BA48; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003BA74; -extern void* lbl_8003BA94; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003BAB0; -extern void* lbl_8003BAD8; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003BAFC; -extern void* lbl_8003BB0C; -extern void* lbl_8003BB1C; -extern void* lbl_8003BB5C; -extern void* lbl_8003BB9C; -extern void* lbl_8003BBDC; -extern void* lbl_8003BC1C; -extern void* lbl_8003BC60; -extern void* lbl_8003BCA4; -extern void* lbl_8003BCB4; -extern void* lbl_8003BCF8; -extern void* lbl_8003BD38; -extern void* lbl_8003BD78; -extern void* lbl_8003BDB8; -extern void* lbl_8003BDF8; -extern void* lbl_8003BE3C; -extern void* lbl_8003B040; -extern void* lbl_8003B06C; -extern void* lbl_8003B098; -extern void* lbl_8003B0C4; -extern void* lbl_8003B0F0; -extern void* lbl_8003B198; -extern void* lbl_8003B1BC; -extern void* lbl_8003B1D8; -extern void* lbl_8003B1F8; -extern void* lbl_8003B224; -extern void* lbl_8003B248; -extern void* lbl_8003B270; -extern void* lbl_8003B298; -extern void* lbl_8003B2C8; -extern void* lbl_8003B2F0; -extern void* lbl_8003B31C; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003B348; -extern void* lbl_8003B364; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003B380; -extern void* lbl_8003B3A8; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003B3CC; -extern void* lbl_8003B3DC; -extern void* lbl_8003B3EC; -extern void* lbl_8003B42C; -extern void* lbl_8003B46C; -extern void* lbl_8003B4AC; -extern void* lbl_8003B4EC; -extern void* lbl_8003B530; -extern void* lbl_8003B574; -extern void* lbl_8003B584; -extern void* lbl_8003B5C8; -extern void* lbl_8003B608; -extern void* lbl_8003B648; -extern void* lbl_8003B688; -extern void* lbl_8003B6C8; -extern void* lbl_8003B70C; -extern void* lbl_8003AD84; -extern void* lbl_8003ADD4; -extern void* lbl_8003ADF8; -extern void* lbl_8003DEAC; -extern void* lbl_8003AE14; -extern void* lbl_8003AE98; -extern void* lbl_8003AEBC; -extern void* lbl_8003AC94; -extern void* lbl_8003ACD8; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003AD0C; -extern void* lbl_8003AD2C; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003AC70; -extern void* lbl_8003A824; -extern void* lbl_8003A87C; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003A894; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AA30; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003AC70; -extern void* lbl_8003ABD8; -extern void* lbl_8003A1A8; -extern void* lbl_8003A1D8; -extern void* lbl_8003A208; -extern void* lbl_8003A254; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003A2A0; -extern void* lbl_8003A2D0; -extern void* lbl_8003A300; -extern void* lbl_8003A330; -extern void* lbl_8003A360; -extern void* lbl_8003DEAC; -extern void* lbl_8003A390; -extern void* lbl_8003DEAC; -extern void* lbl_8003A3C0; -extern void* lbl_8003A400; -extern void* lbl_8003A440; -extern void* lbl_8003A498; -extern void* lbl_80039680; -extern void* lbl_8003DEAC; -extern void* lbl_800396A4; -extern void* lbl_800396C8; -extern void* lbl_800396EC; -extern void* lbl_8003DEAC; -extern void* lbl_8003971C; -extern void* lbl_8003974C; -extern void* lbl_8003977C; -extern void* lbl_80039790; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_800397C0; -extern void* lbl_800397D4; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_800397E8; -extern void* lbl_80039804; -extern void* lbl_80039820; -extern void* lbl_8003983C; -extern void* lbl_80039858; -extern void* lbl_8003DEAC; -extern void* lbl_80039894; -extern void* lbl_800398D0; -extern void* lbl_8003990C; -extern void* lbl_80039984; -extern void* lbl_800399F8; -extern void* lbl_80039A50; -extern void* lbl_80039AA8; -extern void* lbl_80039B24; -extern void* lbl_80039BA0; -extern void* lbl_80039C08; -extern void* lbl_80039C70; -extern void* lbl_80039C9C; -extern void* lbl_80039CC8; -extern void* lbl_80039CF4; -extern void* lbl_80039D20; -extern void* lbl_80039D4C; -extern void* lbl_80039D78; -extern void* lbl_80039DA4; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_80039DD0; -extern void* lbl_80039E0C; -extern void* lbl_80039E48; -extern void* lbl_80039E84; -extern void* lbl_80039EC0; -extern void* lbl_80039EFC; -extern void* lbl_80039F38; -extern void* lbl_80039F6C; -extern void* lbl_80039FA0; -extern void* lbl_80039FD4; -extern void* lbl_8003A008; -extern void* lbl_8003DEAC; -extern void* lbl_8003A03C; -extern void* lbl_8003DEAC; -extern void* lbl_8003A070; -extern void* lbl_8003DEAC; -extern void* lbl_8003A09C; -extern void* lbl_8003A0C8; -extern void* lbl_8003A0F4; -extern void* lbl_8003DEAC; -extern void* lbl_8003A124; -extern void* lbl_8003A154; -extern void* lbl_8003965C; -extern void* lbl_8003A184; -extern void* lbl_8003A4F0; -extern void* lbl_8003A558; -extern void* lbl_8003A58C; -extern void* lbl_8003A61C; -extern void* lbl_8003A658; -extern void* lbl_8003A688; -extern void* lbl_8003A6B8; -extern void* lbl_8003A6E0; -extern void* lbl_8003A708; -extern void* lbl_8003A740; -extern void* lbl_8003A778; -extern void* lbl_8003A79C; -extern void* lbl_8003A7C0; -extern void* lbl_8003A7E4; -extern void* lbl_8003A800; -extern void* lbl_8003AD4C; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003CF58; -extern void* lbl_8003CFB0; -extern void* lbl_8003D008; -extern void* lbl_8003D054; -extern void* lbl_8003D0A0; -extern void* lbl_8003D0D8; -extern void* lbl_8003D138; -extern void* lbl_8003D210; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003D110; -extern void* lbl_8003D350; -extern void* lbl_8003D3B4; -extern void* lbl_8003D414; -extern void* lbl_8003D4A8; -extern void* lbl_8003D508; -extern void* lbl_8003D568; -extern void* lbl_8003D5F8; -extern void* lbl_8003D2E8; -extern void* lbl_8003D68C; -extern void* lbl_8003D6DC; -extern void* lbl_8003D72C; -extern void* lbl_8003D79C; -extern void* lbl_8003D7EC; -extern void* lbl_8003D86C; -extern void* lbl_8003D8EC; -extern void* lbl_8003D95C; -extern void* lbl_8003DA20; -extern void* lbl_8003DA80; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DB40; -extern void* lbl_8003DBA8; -extern void* lbl_8003DEAC; -extern void* lbl_8003DC10; -extern void* lbl_8003DC78; -extern void* lbl_8003DCE8; -extern void* lbl_8003DEAC; -extern void* lbl_8003DEAC; -extern void* lbl_8003DD6C; -extern void* lbl_8003DDF0; -extern void* lbl_8003DEAC; -extern void* lbl_8003DE50; -extern void* lbl_8005A1E0; -extern void* lbl_8005A204; -extern void* lbl_8005A228; -extern void* lbl_8005A24C; -extern void* lbl_8005A270; -extern void* lbl_8005A280; -extern void* lbl_8005A2A4; -extern void* lbl_8005A2B4; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_8005A2D8; -extern void* lbl_8005A2E8; -extern void* lbl_8005A2F8; -extern void* lbl_8005A308; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A318; -extern void* lbl_8005A464; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A578; -extern void* lbl_80067F34; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A688; -extern void* lbl_8005A588; -extern void* lbl_8005A598; -extern void* lbl_8005A5A8; -extern void* lbl_8005A5B8; -extern void* lbl_8005A5C8; -extern void* lbl_8005A5D8; -extern void* lbl_8005A5E8; -extern void* lbl_8005A5F8; -extern void* lbl_8005A608; -extern void* lbl_8005A618; -extern void* lbl_8005A628; -extern void* lbl_8005A638; -extern void* lbl_8005A648; -extern void* lbl_8005A658; -extern void* lbl_8005A668; -extern void* lbl_8005A678; -extern void* lbl_80059DC0; -extern void* lbl_80059DE4; -extern void* lbl_80059E08; -extern void* lbl_80059E2C; -extern void* lbl_80059E50; -extern void* lbl_80059E60; -extern void* lbl_80059E84; -extern void* lbl_80059E94; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80059EB8; -extern void* lbl_80059EC8; -extern void* lbl_80059ED8; -extern void* lbl_80059EE8; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_80059EF8; -extern void* lbl_80059FD0; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A0A4; -extern void* lbl_80067F34; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A1B4; -extern void* lbl_8005A0B4; -extern void* lbl_8005A0C4; -extern void* lbl_8005A0D4; -extern void* lbl_8005A0E4; -extern void* lbl_8005A0F4; -extern void* lbl_8005A104; -extern void* lbl_8005A114; -extern void* lbl_8005A124; -extern void* lbl_8005A134; -extern void* lbl_8005A144; -extern void* lbl_8005A154; -extern void* lbl_8005A164; -extern void* lbl_8005A174; -extern void* lbl_8005A184; -extern void* lbl_8005A194; -extern void* lbl_8005A1A4; -extern void* lbl_80054BD4; -extern void* lbl_80054EF0; -extern void* lbl_80055204; -extern void* lbl_80055520; -extern void* lbl_80055834; -extern void* lbl_800559F0; -extern void* lbl_80055BC8; -extern void* lbl_80055C54; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80055E2C; -extern void* lbl_80055FEC; -extern void* lbl_800561AC; -extern void* lbl_8005637C; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_8005654C; -extern void* lbl_800565DC; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_800565EC; -extern void* lbl_80067F34; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_80059D94; -extern void* lbl_800567AC; -extern void* lbl_80056854; -extern void* lbl_800568FC; -extern void* lbl_80056CE4; -extern void* lbl_800570CC; -extern void* lbl_800574B8; -extern void* lbl_800578A4; -extern void* lbl_80057CC4; -extern void* lbl_800580E4; -extern void* lbl_8005818C; -extern void* lbl_800585AC; -extern void* lbl_80058994; -extern void* lbl_80058D7C; -extern void* lbl_80059168; -extern void* lbl_80059554; -extern void* lbl_80059974; -extern void* lbl_8004F91C; -extern void* lbl_8004FC44; -extern void* lbl_8004FF64; -extern void* lbl_8005028C; -extern void* lbl_800505AC; -extern void* lbl_80050770; -extern void* lbl_80050950; -extern void* lbl_800509E4; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80050BC4; -extern void* lbl_80050D88; -extern void* lbl_80050F4C; -extern void* lbl_80051120; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_800512F4; -extern void* lbl_80051304; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80051394; -extern void* lbl_80067F34; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80054BA8; -extern void* lbl_80051558; -extern void* lbl_80051600; -extern void* lbl_800516A8; -extern void* lbl_80051A98; -extern void* lbl_80051E88; -extern void* lbl_8005227C; -extern void* lbl_80052670; -extern void* lbl_80052A98; -extern void* lbl_80052EC0; -extern void* lbl_80052F68; -extern void* lbl_80053390; -extern void* lbl_80053780; -extern void* lbl_80053B70; -extern void* lbl_80053F64; -extern void* lbl_80054358; -extern void* lbl_80054780; -extern void* lbl_8004E8E8; -extern void* lbl_8004EA44; -extern void* lbl_8004EBC0; -extern void* lbl_8004F0A8; -extern void* lbl_8004ECB0; -extern void* lbl_8004EE70; -extern void* lbl_8004EFE4; -extern void* lbl_8004E810; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_80067F34; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_80067F34; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_8004E810; -extern void* lbl_80067F34; -extern void* lbl_800496CC; -extern void* lbl_80049998; -extern void* lbl_80049C64; -extern void* lbl_80049F5C; -extern void* lbl_8004B55C; -extern void* lbl_8004B55C; -extern void* lbl_8004B55C; -extern void* lbl_8004B55C; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_8004B55C; -extern void* lbl_80067F34; -extern void* lbl_8004B55C; -extern void* lbl_8004A254; -extern void* lbl_8004A700; -extern void* lbl_8004ABAC; -extern void* lbl_8004B084; -extern void* lbl_8003F290; -extern void* lbl_800496A0; -extern void* lbl_8003F524; -extern void* lbl_8003F780; -extern void* lbl_8003F9D0; -extern void* lbl_800496A0; -extern void* lbl_8003FDBC; -extern void* lbl_800401A8; -extern void* lbl_80040594; -extern void* lbl_800407BC; -extern void* lbl_800496A0; -extern void* lbl_800496A0; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_800496A0; -extern void* lbl_80067F34; -extern void* lbl_80040D64; -extern void* lbl_80040F68; -extern void* lbl_80041154; -extern void* lbl_80041358; -extern void* lbl_80041544; -extern void* lbl_800496A0; -extern void* lbl_8004180C; -extern void* lbl_80041AD4; -extern void* lbl_80041D9C; -extern void* lbl_80041F68; -extern void* lbl_80042134; -extern void* lbl_80042330; -extern void* lbl_8004252C; -extern void* lbl_80042B04; -extern void* lbl_80042F8C; -extern void* lbl_80043564; -extern void* lbl_800439EC; -extern void* lbl_80044464; -extern void* lbl_80044EDC; -extern void* lbl_800452C8; -extern void* lbl_800456B4; -extern void* lbl_80045AA0; -extern void* lbl_80046518; -extern void* lbl_80046904; -extern void* lbl_800496A0; -extern void* lbl_800496A0; -extern void* lbl_80046CF0; -extern void* lbl_80047164; -extern void* lbl_800475DC; -extern void* lbl_800479F4; -extern void* lbl_80047E0C; -extern void* lbl_80048224; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_800496A0; -extern void* lbl_80067F34; -extern void* lbl_800496A0; -extern void* lbl_8004863C; -extern void* lbl_800496A0; -extern void* lbl_800488E0; -extern void* lbl_80048B8C; -extern void* lbl_80048E2C; -extern void* lbl_800496A0; -extern void* lbl_800490FC; -extern void* lbl_800493D4; -extern void* lbl_8003F268; -extern void* lbl_800496A8; -extern void* lbl_8004B564; -extern void* lbl_8004B80C; -extern void* lbl_8004BD30; -extern void* lbl_8004C2FC; -extern void* lbl_8004C730; -extern void* lbl_8004C9FC; -extern void* lbl_8004CCC8; -extern void* lbl_8004D2D4; -extern void* lbl_8004D900; -extern void* lbl_8004DC14; -extern void* lbl_8004DF58; -extern void* lbl_8004E1A0; -extern void* lbl_8004E430; -extern void* lbl_8004E69C; -extern void* lbl_8004E7EC; -extern void* lbl_8004E8B0; -extern void* lbl_8005A690; -extern void* lbl_8005A698; -extern void* lbl_8005A6A0; -extern void* lbl_8005ABFC; -extern void* lbl_8005B05C; -extern void* lbl_8005B354; -extern void* lbl_8005B64C; -extern void* lbl_8005BAE8; -extern void* lbl_8005BFBC; -extern void* lbl_8005BFDC; -extern void* lbl_80067F30; -extern void* lbl_80067F30; -extern void* lbl_80067F30; -extern void* lbl_8005BF84; -extern void* lbl_8005C01C; -extern void* lbl_8005CC14; -extern void* lbl_8005D80C; -extern void* lbl_8005DBF4; -extern void* lbl_8005E9B0; -extern void* lbl_8005F568; -extern void* lbl_80060120; -extern void* lbl_8005BFFC; -extern void* lbl_80060508; -extern void* lbl_80061264; -extern void* lbl_80061FC0; -extern void* lbl_800622F4; -extern void* lbl_80067F34; -extern void* lbl_80067F34; -extern void* lbl_8006342C; -extern void* lbl_8006375C; -extern void* lbl_80063790; -extern void* lbl_800637B0; -extern void* lbl_80067F30; -extern void* lbl_80067F30; -extern void* lbl_80064660; -extern void* lbl_80064680; -extern void* lbl_80067F30; -extern void* lbl_80065444; -extern void* lbl_80067F34; -extern void* lbl_80065A94; -extern void* lbl_80067F30; -extern void* lbl_80067F30; -extern void* lbl_800669E0; -extern void* lbl_80066A00; -extern void* lbl_80067F30; -extern void* lbl_800678FC; -extern void* lbl_800682F0; -extern void* lbl_80068360; -extern void* lbl_80068360; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_80068360; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_80068360; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_800682F0; -extern void* lbl_80068360; -extern void* lbl_80068270; -extern void* lbl_8006829C; -extern void* lbl_8006834C; -extern void* lbl_80068354; -extern void* lbl_8006835C; -extern void* lbl_8006835C; -extern void* lbl_8006835C; -extern void* lbl_8006835C; -extern void* lbl_80068360; -extern void* lbl_80068360; -extern void* lbl_80068360; -extern void* lbl_80068360; -extern void* lbl_80068360; -extern void* lbl_80068360; -extern void* lbl_80068360; -extern void* lbl_80068360; -extern void* lbl_800682CC; -extern void* lbl_80068320; -extern void* lbl_80068360; -extern void* lbl_80068360; -extern void* lbl_8006835C; -extern void* lbl_8006835C; -extern void* lbl_8006835C; -extern void* lbl_8006835C; -extern void* lbl_8003551C; -extern void* lbl_800352F8; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_800354A4; -extern void* lbl_800354B4; -extern void* lbl_8003548C; -extern void* lbl_8003551C; -extern void* lbl_80035494; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003549C; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_800354BC; -extern void* lbl_800354CC; -extern void* lbl_800354DC; -extern void* lbl_800354EC; -extern void* lbl_800354FC; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003551C; -extern void* lbl_8003550C; -extern void* lbl_800356F4; -extern void* lbl_800356F8; -extern void* lbl_800356F4; -extern void* lbl_800356F4; -extern void* lbl_800356F4; -extern void* lbl_800356F4; -extern void* lbl_800356F4; -extern void* lbl_800356F8; -extern void* lbl_800356F8; -extern void* lbl_800355BC; -extern void* lbl_800356F4; -extern void* lbl_800355C4; -extern void* lbl_8003562C; -extern void* lbl_80035654; -extern void* lbl_800356CC; -extern void* lbl_800356F8; -extern void* lbl_800356D4; -extern void* lbl_800356F4; -extern void* lbl_800356F4; -extern void* lbl_800356F4; -extern void* lbl_800356F4; -extern void* lbl_800356F8; -extern void* lbl_800356F8; -extern void* lbl_800356F8; -extern void* lbl_800356F8; -extern void* lbl_800356F8; -extern void* lbl_800356F4; -extern void* lbl_800356F8; -extern void* lbl_800356F4; -extern void* lbl_800356F4; -extern void* lbl_800356F4; -extern void* lbl_800356F8; - -#endif diff --git a/src/emulator/_cpuDecodePPC2.c b/src/emulator/_cpuDecodePPC2.c new file mode 100644 index 00000000..0c72eb39 --- /dev/null +++ b/src/emulator/_cpuDecodePPC2.c @@ -0,0 +1,1120 @@ +/** + * @file _cpuDecodePPC2.c + * + * Generates PowerPC assembly code for various MIPS instructions. This file is + * included into cpu.c instead of being compiled separately. + */ +#include "emulator/cpu.h" + +static bool cpuCompile_DSLLV(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 16; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x9421FFE8; // stwu r1,-24(r1) + compile[count++] = 0x70E7003F; // andi. r7,r7,63 + compile[count++] = 0x91210010; // stw r9,16(r1) + compile[count++] = 0x21270020; // subfic r9,r7,32 + compile[count++] = 0x91010008; // stw r8,8(r1) + compile[count++] = 0x7CA53830; // slw r5,r5,r7 + compile[count++] = 0x7CC84C30; // srw r8,r6,r9 + compile[count++] = 0x7CA54378; // or r5,r5,r8 + compile[count++] = 0x3927FFE0; // addi r9,r7,-32 + compile[count++] = 0x7CC84830; // slw r8,r6,r9 + compile[count++] = 0x7CA54378; // or r5,r5,r8 + compile[count++] = 0x7CC63830; // slw r6,r6,r7 + compile[count++] = 0x81010008; // lwz r8,8(r1) + compile[count++] = 0x81210010; // lwz r9,16(r1) + compile[count++] = 0x38210018; // addi r1,r1,24 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_DSRLV(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 16; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x9421FFE8; // stwu r1,-24(r1) + compile[count++] = 0x70E7003F; // andi. r7,r7,63 + compile[count++] = 0x91210010; // stw r9,16(r1) + compile[count++] = 0x21270020; // subfic r9,r7,32 + compile[count++] = 0x91010008; // stw r8,8(r1) + compile[count++] = 0x7CC63C30; // srw r6,r6,r7 + compile[count++] = 0x7CA84830; // slw r8,r5,r9 + compile[count++] = 0x7CC64378; // or r6,r6,r8 + compile[count++] = 0x3927FFE0; // addi r9,r7,-32 + compile[count++] = 0x7CA84C30; // srw r8,r5,r9 + compile[count++] = 0x7CC64378; // or r6,r6,r8 + compile[count++] = 0x7CA53C30; // srw r5,r5,r7 + compile[count++] = 0x81010008; // lwz r8,8(r1) + compile[count++] = 0x81210010; // lwz r9,16(r1) + compile[count++] = 0x38210018; // addi r1,r1,24 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_DSRAV(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 17; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x9421FFE8; // stwu r1,-24(r1) + compile[count++] = 0x70E7003F; // andi. r7,r7,63 + compile[count++] = 0x91210010; // stw r9,16(r1) + compile[count++] = 0x21270020; // subfic r9,r7,32 + compile[count++] = 0x91010008; // stw r8,8(r1) + compile[count++] = 0x7CC63C30; // srw r6,r6,r7 + compile[count++] = 0x7CA84830; // slw r8,r5,r9 + compile[count++] = 0x7CC64378; // or r6,r6,r8 + compile[count++] = 0x3527FFE0; // addic. r9,r7,-32 + compile[count++] = 0x7CA84E30; // sraw r8,r5,r9 + compile[count++] = 0x40810008; // ble- 0x8 + compile[count++] = 0x61060000; // ori r6,r8,0 + compile[count++] = 0x7CA53E30; // sraw r5,r5,r7 + compile[count++] = 0x81010008; // lwz r8,8(r1) + compile[count++] = 0x81210010; // lwz r9,16(r1) + compile[count++] = 0x38210018; // addi r1,r1,24 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_DMULT(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 53; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x39200000; // li r9,0 + compile[count++] = 0x39400000; // li r10,0 + compile[count++] = 0x39800040; // li r12,64 + compile[count++] = 0x39600001; // li r11,1 + compile[count++] = 0x2C050000; // cmpwi r5,0 + compile[count++] = 0x40800014; // bge- 0x14 + compile[count++] = 0x7CC630F8; // not r6,r6 + compile[count++] = 0x7CA528F8; // not r5,r5 + compile[count++] = 0x7CC65814; // addc r6,r6,r11 + compile[count++] = 0x7CA54914; // adde r5,r5,r9 + compile[count++] = 0x2C070000; // cmpwi r7,0 + compile[count++] = 0x40800014; // bge- 0x14 + compile[count++] = 0x7D0840F8; // not r8,r8 + compile[count++] = 0x7CE738F8; // not r7,r7 + compile[count++] = 0x7D085814; // addc r8,r8,r11 + compile[count++] = 0x7CE74914; // adde r7,r7,r9 + compile[count++] = 0x710B0001; // andi. r11,r8,1 + compile[count++] = 0x41820018; // beq- 0x18 + compile[count++] = 0x39600000; // li r11,0 + compile[count++] = 0x7D4A3014; // addc r10,r10,r6 + compile[count++] = 0x7D292914; // adde r9,r9,r5 + compile[count++] = 0x7D6B5914; // adde r11,r11,r11 + compile[count++] = 0x42800008; // bc 20,lt,0x8 + compile[count++] = 0x39600000; // li r11,0 + compile[count++] = 0x5508F87E; // srwi r8,r8,1 + compile[count++] = 0x50E8F800; // rlwimi r8,r7,31,0,0 + compile[count++] = 0x54E7F87E; // srwi r7,r7,1 + compile[count++] = 0x5147F800; // rlwimi r7,r10,31,0,0 + compile[count++] = 0x554AF87E; // srwi r10,r10,1 + compile[count++] = 0x512AF800; // rlwimi r10,r9,31,0,0 + compile[count++] = 0x5529F87E; // srwi r9,r9,1 + compile[count++] = 0x5169F800; // rlwimi r9,r11,31,0,0 + compile[count++] = 0x556BF87E; // srwi r11,r11,1 + compile[count++] = 0x398CFFFF; // addi r12,r12,-1 + compile[count++] = 0x2C0C0000; // cmpwi r12,0 + compile[count++] = 0x4082FFB4; // bne+ 0xFFFFFFB4 + compile[count++] = 0x39600001; // li r11,1 + compile[count++] = 0x7DCE7A78; // xor r14,r14,r15 + compile[count++] = 0x2C0E0000; // cmpwi r14,0 + compile[count++] = 0x40800024; // bge- 0x24 + compile[count++] = 0x7D0840F8; // not r8,r8 + compile[count++] = 0x7CE738F8; // not r7,r7 + compile[count++] = 0x7D4A50F8; // not r10,r10 + compile[count++] = 0x7D2948F8; // not r9,r9 + compile[count++] = 0x7D085814; // addc r8,r8,r11 + compile[count++] = 0x7CE76114; // adde r7,r7,r12 + compile[count++] = 0x7D4A6114; // adde r10,r10,r12 + compile[count++] = 0x7D296114; // adde r9,r9,r12 + compile[count++] = 0x91030004 + OFFSETOF(pCPU, nLo); // stw r8,4(r3) + compile[count++] = 0x90E30000 + OFFSETOF(pCPU, nLo); // stw r7,0(r3) + compile[count++] = 0x91430004 + OFFSETOF(pCPU, nHi); // stw r10,4(r3) + compile[count++] = 0x91230000 + OFFSETOF(pCPU, nHi); // stw r9,0(r3) + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_DMULTU(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 28; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x39200000; // li r9,0 + compile[count++] = 0x39400000; // li r10,0 + compile[count++] = 0x39800040; // li r12,64 + compile[count++] = 0x710B0001; // andi. r11,r8,1 + compile[count++] = 0x41820018; // beq- 0x18 + compile[count++] = 0x39600000; // li r11,0 + compile[count++] = 0x7D4A3014; // addc r10,r10,r6 + compile[count++] = 0x7D292914; // adde r9,r9,r5 + compile[count++] = 0x7D6B5914; // adde r11,r11,r11 + compile[count++] = 0x42800008; // bc 20,lt,0x8 + compile[count++] = 0x39600000; // li r11,0 + compile[count++] = 0x5508F87E; // srwi r8,r8,1 + compile[count++] = 0x50E8F800; // rlwimi r8,r7,31,0,0 + compile[count++] = 0x54E7F87E; // srwi r7,r7,1 + compile[count++] = 0x5147F800; // rlwimi r7,r10,31,0,0 + compile[count++] = 0x554AF87E; // srwi r10,r10,1 + compile[count++] = 0x512AF800; // rlwimi r10,r9,31,0,0 + compile[count++] = 0x5529F87E; // srwi r9,r9,1 + compile[count++] = 0x5169F800; // rlwimi r9,r11,31,0,0 + compile[count++] = 0x556BF87E; // srwi r11,r11,1 + compile[count++] = 0x398CFFFF; // addi r12,r12,-1 + compile[count++] = 0x2C0C0000; // cmpwi r12,0 + compile[count++] = 0x4082FFB4; // bne+ 0xFFFFFFB4 + compile[count++] = 0x91030004 + OFFSETOF(pCPU, nLo); // stw r8,4(r3) + compile[count++] = 0x90E30000 + OFFSETOF(pCPU, nLo); // stw r7,0(r3) + compile[count++] = 0x91430004 + OFFSETOF(pCPU, nHi); // stw r10,4(r3) + compile[count++] = 0x91230000 + OFFSETOF(pCPU, nHi); // stw r9,0(r3) + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_DDIV(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 64; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x38A00040; // li r5,64 + compile[count++] = 0x38C00000; // li r6,0 + compile[count++] = 0x38E00000; // li r7,0 + compile[count++] = 0x39800001; // li r12,1 + compile[count++] = 0x2C080000; // cmpwi r8,0 + compile[count++] = 0x40800014; // bge- 0x14 + compile[count++] = 0x7D2948F8; // not r9,r9 + compile[count++] = 0x7D0840F8; // not r8,r8 + compile[count++] = 0x7D296014; // addc r9,r9,r12 + compile[count++] = 0x7D083114; // adde r8,r8,r6 + compile[count++] = 0x2C0A0000; // cmpwi r10,0 + compile[count++] = 0x40800014; // bge- 0x14 + compile[count++] = 0x7D6B58F8; // not r11,r11 + compile[count++] = 0x7D4A50F8; // not r10,r10 + compile[count++] = 0x7D6B6014; // addc r11,r11,r12 + compile[count++] = 0x7D4A3114; // adde r10,r10,r6 + compile[count++] = 0x3D80FFFF; // lis r12,-1 + compile[count++] = 0x618CFFFE; // ori r12,r12,65534 + compile[count++] = 0x2C060000; // cmpwi r6,0 + compile[count++] = 0x4180002C; // blt- 0x2C + compile[count++] = 0x54C6083C; // slwi r6,r6,1 + compile[count++] = 0x50E60FFE; // rlwimi r6,r7,1,31,31 + compile[count++] = 0x54E7083C; // slwi r7,r7,1 + compile[count++] = 0x51070FFE; // rlwimi r7,r8,1,31,31 + compile[count++] = 0x5508083C; // slwi r8,r8,1 + compile[count++] = 0x51280FFE; // rlwimi r8,r9,1,31,31 + compile[count++] = 0x5529083C; // slwi r9,r9,1 + compile[count++] = 0x7CEB3810; // subfc r7,r11,r7 + compile[count++] = 0x7CCA3110; // subfe r6,r10,r6 + compile[count++] = 0x42800028; // bc 20,lt,0x28 + compile[count++] = 0x54C6083C; // slwi r6,r6,1 + compile[count++] = 0x50E60FFE; // rlwimi r6,r7,1,31,31 + compile[count++] = 0x54E7083C; // slwi r7,r7,1 + compile[count++] = 0x51070FFE; // rlwimi r7,r8,1,31,31 + compile[count++] = 0x5508083C; // slwi r8,r8,1 + compile[count++] = 0x51280FFE; // rlwimi r8,r9,1,31,31 + compile[count++] = 0x5529083C; // slwi r9,r9,1 + compile[count++] = 0x7CE75814; // addc r7,r7,r11 + compile[count++] = 0x7CC65114; // adde r6,r6,r10 + compile[count++] = 0x2C060000; // cmpwi r6,0 + compile[count++] = 0x4180000C; // blt- 0xC + compile[count++] = 0x61290001; // ori r9,r9,1 + compile[count++] = 0x42800008; // bc 20,lt,0x8 + compile[count++] = 0x7D296038; // and r9,r9,r12 + compile[count++] = 0x38A5FFFF; // addi r5,r5,-1 + compile[count++] = 0x2C050000; // cmpwi r5,0 + compile[count++] = 0x4082FF90; // bne+ 0xFFFFFF90 + compile[count++] = 0x2C060000; // cmpwi r6,0 + compile[count++] = 0x4080000C; // bge- 0xC + compile[count++] = 0x7CE75814; // addc r7,r7,r11 + compile[count++] = 0x7CC65114; // adde r6,r6,r10 + compile[count++] = 0x39800001; // li r12,1 + compile[count++] = 0x7DCE7A78; // xor r14,r14,r15 + compile[count++] = 0x2C0E0000; // cmpwi r14,0 + compile[count++] = 0x40800014; // bge- 0x14 + compile[count++] = 0x7D2948F8; // not r9,r9 + compile[count++] = 0x7D0840F8; // not r8,r8 + compile[count++] = 0x7D296014; // addc r9,r9,r12 + compile[count++] = 0x7D082914; // adde r8,r8,r5 + compile[count++] = 0x91030000 + OFFSETOF(pCPU, nLo); // stw r8,0(r3) + compile[count++] = 0x91230004 + OFFSETOF(pCPU, nLo); // stw r9,4(r3) + compile[count++] = 0x90C30000 + OFFSETOF(pCPU, nHi); // stw r6,0(r3) + compile[count++] = 0x90E30004 + OFFSETOF(pCPU, nHi); // stw r7,4(r3) + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_DDIVU(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 43; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x38A00040; // li r5,64 + compile[count++] = 0x38C00000; // li r6,0 + compile[count++] = 0x38E00000; // li r7,0 + compile[count++] = 0x3D80FFFF; // lis r12,-1 + compile[count++] = 0x618CFFFE; // ori r12,r12,65534 + compile[count++] = 0x2C060000; // cmpwi r6,0 + compile[count++] = 0x4180002C; // blt- 0x2C + compile[count++] = 0x54C6083C; // slwi r6,r6,1 + compile[count++] = 0x50E60FFE; // rlwimi r6,r7,1,31,31 + compile[count++] = 0x54E7083C; // slwi r7,r7,1 + compile[count++] = 0x51070FFE; // rlwimi r7,r8,1,31,31 + compile[count++] = 0x5508083C; // slwi r8,r8,1 + compile[count++] = 0x51280FFE; // rlwimi r8,r9,1,31,31 + compile[count++] = 0x5529083C; // slwi r9,r9,1 + compile[count++] = 0x7CEB3810; // subfc r7,r11,r7 + compile[count++] = 0x7CCA3110; // subfe r6,r10,r6 + compile[count++] = 0x42800028; // bc 20,lt,0x28 + compile[count++] = 0x54C6083C; // slwi r6,r6,1 + compile[count++] = 0x50E60FFE; // rlwimi r6,r7,1,31,31 + compile[count++] = 0x54E7083C; // slwi r7,r7,1 + compile[count++] = 0x51070FFE; // rlwimi r7,r8,1,31,31 + compile[count++] = 0x5508083C; // slwi r8,r8,1 + compile[count++] = 0x51280FFE; // rlwimi r8,r9,1,31,31 + compile[count++] = 0x5529083C; // slwi r9,r9,1 + compile[count++] = 0x7CE75814; // addc r7,r7,r11 + compile[count++] = 0x7CC65114; // adde r6,r6,r10 + compile[count++] = 0x2C060000; // cmpwi r6,0 + compile[count++] = 0x4180000C; // blt- 0xC + compile[count++] = 0x61290001; // ori r9,r9,1 + compile[count++] = 0x42800008; // bc 20,lt,0x8 + compile[count++] = 0x7D296038; // and r9,r9,r12 + compile[count++] = 0x38A5FFFF; // addi r5,r5,-1 + compile[count++] = 0x2C050000; // cmpwi r5,0 + compile[count++] = 0x4082FF90; // bne+ 0xFFFFFF90 + compile[count++] = 0x2C060000; // cmpwi r6,0 + compile[count++] = 0x4080000C; // bge- 0xC + compile[count++] = 0x7CE75814; // addc r7,r7,r11 + compile[count++] = 0x7CC65114; // adde r6,r6,r10 + compile[count++] = 0x91030000 + OFFSETOF(pCPU, nLo); // stw r8,0(r3) + compile[count++] = 0x91230004 + OFFSETOF(pCPU, nLo); // stw r9,4(r3) + compile[count++] = 0x90C30000 + OFFSETOF(pCPU, nHi); // stw r6,0(r3) + compile[count++] = 0x90E30004 + OFFSETOF(pCPU, nHi); // stw r7,4(r3) + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static inline bool cpuCompile_DADD(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 3; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x7CA53814; // addc r5,r5,r7 + compile[count++] = 0x7CC64114; // adde r6,r6,r8 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static inline bool cpuCompile_DADDU(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 3; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x7CA53814; // addc r5,r5,r7 + compile[count++] = 0x7CC64114; // adde r6,r6,r8 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static inline bool cpuCompile_DSUB(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 3; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x7CA72914; // adde r5,r7,r5 + compile[count++] = 0x7CC83014; // addc r6,r8,r6 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static inline bool cpuCompile_DSUBU(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 3; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x7CA72914; // adde r5,r7,r5 + compile[count++] = 0x7CC83014; // addc r6,r8,r6 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_S_SQRT(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 36; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0xC0030000 + (OFFSETOF(pCPU, aGPR) + 4); // lfs f0,0(r3) + compile[count++] = 0xFC010040; // fcmpo cr0,f1,f0 + compile[count++] = 0x40810078; // ble- 0x78 + compile[count++] = 0xFC400834; // frsqrte f2,f1 + compile[count++] = 0x3CA03FE0; // lis r5,16352 + compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) + compile[count++] = 0xC8830000 + OFFSETOF(pCPU, aGPR); // lfd f4,0(r3) + compile[count++] = 0x3CA04008; // lis r5,16392 + compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) + compile[count++] = 0xC8630000 + OFFSETOF(pCPU, aGPR); // lfd f3,0(r3) + compile[count++] = 0xFCA400B2; // fmul f5,f4,f2 + compile[count++] = 0xFCC200B2; // fmul f6,f2,f2 + compile[count++] = 0xFCC101B2; // fmul f6,f1,f6 + compile[count++] = 0xFCC33028; // fsub f6,f3,f6 + compile[count++] = 0xFC4501B2; // fmul f2,f5,f6 + compile[count++] = 0xFCA400B2; // fmul f5,f4,f2 + compile[count++] = 0xFCC200B2; // fmul f6,f2,f2 + compile[count++] = 0xFCC101B2; // fmul f6,f1,f6 + compile[count++] = 0xFCC33028; // fsub f6,f3,f6 + compile[count++] = 0xFC4501B2; // fmul f2,f5,f6 + compile[count++] = 0xFCA400B2; // fmul f5,f4,f2 + compile[count++] = 0xFCC200B2; // fmul f6,f2,f2 + compile[count++] = 0xFCC101B2; // fmul f6,f1,f6 + compile[count++] = 0xFCC33028; // fsub f6,f3,f6 + compile[count++] = 0xFC4501B2; // fmul f2,f5,f6 + compile[count++] = 0xFCA400B2; // fmul f5,f4,f2 + compile[count++] = 0xFCC200B2; // fmul f6,f2,f2 + compile[count++] = 0xFCC101B2; // fmul f6,f1,f6 + compile[count++] = 0xFCC33028; // fsub f6,f3,f6 + compile[count++] = 0xFC4501B2; // fmul f2,f5,f6 + compile[count++] = 0xFCC100B2; // fmul f6,f1,f2 + compile[count++] = 0xFC203018; // frsp f1,f6 + compile[count++] = 0x38A00000; // li r5,0 + compile[count++] = 0x90A30000 + (OFFSETOF(pCPU, aGPR) + 4); // stw r5,0(r3) + compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_D_SQRT(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 48; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0xC8030000 + OFFSETOF(pCPU, aGPR); // lfd f0,0(r3) + compile[count++] = 0xFC010040; // fcmpo cr0,f1,f0 + compile[count++] = 0x40810068; // ble- 0x68 + compile[count++] = 0xFC400834; // frsqrte f2,f1 + compile[count++] = 0x3CA03FE0; // lis r5,16352 + compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) + compile[count++] = 0xC8830000 + OFFSETOF(pCPU, aGPR); // lfd f4,0(r3) + compile[count++] = 0x3CA04008; // lis r5,16392 + compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) + compile[count++] = 0xC8630000 + OFFSETOF(pCPU, aGPR); // lfd f3,0(r3) + compile[count++] = 0xFC0200B2; // fmul f0,f2,f2 + compile[count++] = 0xFC4400B2; // fmul f2,f4,f2 + compile[count++] = 0xFC01183C; // fnmsub f0,f1,f0,f3 + compile[count++] = 0xFC420032; // fmul f2,f2,f0 + compile[count++] = 0xFC0200B2; // fmul f0,f2,f2 + compile[count++] = 0xFC4400B2; // fmul f2,f4,f2 + compile[count++] = 0xFC01183C; // fnmsub f0,f1,f0,f3 + compile[count++] = 0xFC420032; // fmul f2,f2,f0 + compile[count++] = 0xFC0200B2; // fmul f0,f2,f2 + compile[count++] = 0xFC4400B2; // fmul f2,f4,f2 + compile[count++] = 0xFC01183C; // fnmsub f0,f1,f0,f3 + compile[count++] = 0xFC420032; // fmul f2,f2,f0 + compile[count++] = 0xFC0200B2; // fmul f0,f2,f2 + compile[count++] = 0xFC4400B2; // fmul f2,f4,f2 + compile[count++] = 0xFC01183C; // fnmsub f0,f1,f0,f3 + compile[count++] = 0xFC020032; // fmul f0,f2,f0 + compile[count++] = 0xFC210032; // fmul f1,f1,f0 + compile[count++] = 0x42800044; // bc 20,lt,0x44 + compile[count++] = 0xFC010000; // fcmpu cr0,f1,f0 + compile[count++] = 0x4082000C; // bne- 0xC + compile[count++] = 0xFC200090; // fmr f1,f0 + compile[count++] = 0x42800034; // bc 20,lt,0x34 + compile[count++] = 0xFC010000; // fcmpu cr0,f1,f0 + compile[count++] = 0x41820020; // beq- 0x20 + compile[count++] = 0x3CA07FFF; // lis r5,32767 + compile[count++] = 0x60A5FFFF; // ori r5,r5,65535 + compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) + compile[count++] = 0x3CA0E000; // lis r5,-8192 + compile[count++] = 0x90A30004 + OFFSETOF(pCPU, aGPR); // stw r5,4(r3) + compile[count++] = 0xC0230000 + OFFSETOF(pCPU, aGPR); // lfs f1,0(r3) + compile[count++] = 0x42800010; // bc 20,lt,0x10 + compile[count++] = 0x3CA07FF0; // lis r5,32752 + compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) + compile[count++] = 0xC0230000 + OFFSETOF(pCPU, aGPR); // lfs f1,0(r3) + compile[count++] = 0x38A00000; // li r5,0 + compile[count++] = 0x90A30004 + OFFSETOF(pCPU, aGPR); // stw r5,4(r3) + compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_W_CVT_SD(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 14; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x6CA58000; // xoris r5,r5,32768 + compile[count++] = 0x3CC04330; // lis r6,17200 + compile[count++] = 0x90A30004 + OFFSETOF(pCPU, aGPR); // stw r5,4(r3) + compile[count++] = 0x90C30000 + OFFSETOF(pCPU, aGPR); // stw r6,0(r3) + compile[count++] = 0xC8030000 + OFFSETOF(pCPU, aGPR); // lfd f0,0(r3) + compile[count++] = 0x90C30000 + OFFSETOF(pCPU, aGPR); // stw r6,0(r3) + compile[count++] = 0x3CA08000; // lis r5,-32768 + compile[count++] = 0x90A30004 + OFFSETOF(pCPU, aGPR); // stw r5,4(r3) + compile[count++] = 0xC8230000 + OFFSETOF(pCPU, aGPR); // lfd f1,0(r3) + compile[count++] = 0xFC200828; // fsub f1,f0,f1 + compile[count++] = 0x38A00000; // li r5,0 + compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) + compile[count++] = 0x90A30004 + OFFSETOF(pCPU, aGPR); // stw r5,4(r3) + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_L_CVT_SD(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 56; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x9421FFD0; // stwu r1,-48(r1) + compile[count++] = 0x91010008; // stw r8,8(r1) + compile[count++] = 0x91210010; // stw r9,16(r1) + compile[count++] = 0x91410018; // stw r10,24(r1) + compile[count++] = 0x91610020; // stw r11,32(r1) + compile[count++] = 0x91810028; // stw r12,40(r1) + compile[count++] = 0x9421FFF0; // stwu r1,-16(r1) + compile[count++] = 0x54A70001; // clrrwi. r7,r5,31 + compile[count++] = 0x4182000C; // beq- 0xC + compile[count++] = 0x20C60000; // subfic r6,r6,0 + compile[count++] = 0x7CA50190; // subfze r5,r5 + compile[count++] = 0x7CA93379; // or. r9,r5,r6 + compile[count++] = 0x39000000; // li r8,0 + compile[count++] = 0x41820080; // beq- 0x80 + compile[count++] = 0x7CA90034; // cntlzw r9,r5 + compile[count++] = 0x7CCA0034; // cntlzw r10,r6 + compile[count++] = 0x552BD008; // rlwinm r11,r9,26,0,4 + compile[count++] = 0x7D6BFE70; // srawi r11,r11,31 + compile[count++] = 0x7D6B5038; // and r11,r11,r10 + compile[count++] = 0x7D295A14; // add r9,r9,r11 + compile[count++] = 0x21490020; // subfic r10,r9,32 + compile[count++] = 0x3169FFE0; // addic r11,r9,-32 + compile[count++] = 0x7CA54830; // slw r5,r5,r9 + compile[count++] = 0x7CCC5430; // srw r12,r6,r10 + compile[count++] = 0x7CA56378; // or r5,r5,r12 + compile[count++] = 0x7CCC5830; // slw r12,r6,r11 + compile[count++] = 0x7CA56378; // or r5,r5,r12 + compile[count++] = 0x7CC64830; // slw r6,r6,r9 + compile[count++] = 0x7D094050; // subf r8,r9,r8 + compile[count++] = 0x54C9057E; // clrlwi r9,r6,21 + compile[count++] = 0x2C090400; // cmpwi r9,1024 + compile[count++] = 0x3908043E; // addi r8,r8,1086 + compile[count++] = 0x4180001C; // blt- 0x1C + compile[count++] = 0x4181000C; // bgt- 0xC + compile[count++] = 0x54C90529; // rlwinm. r9,r6,0,20,20 + compile[count++] = 0x41820010; // beq- 0x10 + compile[count++] = 0x30C60800; // addic r6,r6,2048 + compile[count++] = 0x7CA50194; // addze r5,r5 + compile[count++] = 0x7D080194; // addze r8,r8 + compile[count++] = 0x54C6A83E; // rotlwi r6,r6,21 + compile[count++] = 0x50A6A814; // rlwimi r6,r5,21,0,10 + compile[count++] = 0x54A5AB3E; // rlwinm r5,r5,21,12,31 + compile[count++] = 0x5508A016; // slwi r8,r8,20 + compile[count++] = 0x7D052B78; // or r5,r8,r5 + compile[count++] = 0x7CE52B78; // or r5,r7,r5 + compile[count++] = 0x90A10008; // stw r5,8(r1) + compile[count++] = 0x90C1000C; // stw r6,12(r1) + compile[count++] = 0xC8210008; // lfd f1,8(r1) + compile[count++] = 0x38210010; // addi r1,r1,16 + compile[count++] = 0x81010008; // lwz r8,8(r1) + compile[count++] = 0x81210010; // lwz r9,16(r1) + compile[count++] = 0x81410018; // lwz r10,24(r1) + compile[count++] = 0x81610020; // lwz r11,32(r1) + compile[count++] = 0x81810028; // lwz r12,40(r1) + compile[count++] = 0x38210030; // addi r1,r1,48 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_CEIL_W(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 13; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x9421FFE0; // stwu r1,-32(r1) + compile[count++] = 0xC8030000 + (OFFSETOF(pCPU, aFPR) & 0xFFFF); // lfd f0,0(r3) + compile[count++] = 0xFC010040; // fcmpo cr0,f1,f0 + compile[count++] = 0x4081000C; // ble- 0xC + compile[count++] = 0x38C00001; // li r6,1 + compile[count++] = 0x42800008; // bc 20,lt,0x8 + compile[count++] = 0x38C00000; // li r6,0 + compile[count++] = 0xFC20081E; // fctiwz f1,f1 + compile[count++] = 0xD8210010; // stfd f1,16(r1) + compile[count++] = 0x80A10014; // lwz r5,20(r1) + compile[count++] = 0x7CA62A14; // add r5,r6,r5 + compile[count++] = 0x38210020; // addi r1,r1,32 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_FLOOR_W(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 13; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x9421FFE0; // stwu r1,-32(r1) + compile[count++] = 0xC8030000 + (OFFSETOF(pCPU, aFPR) & 0xFFFF); // lfd f0,0(r3) + compile[count++] = 0xFC010040; // fcmpo cr0,f1,f0 + compile[count++] = 0x4180000C; // blt- 0xC + compile[count++] = 0x38C00000; // li r6,0 + compile[count++] = 0x42800008; // bc 20,lt,0x8 + compile[count++] = 0x38C00001; // li r6,1 + compile[count++] = 0xFC20081E; // fctiwz f1,f1 + compile[count++] = 0xD8210010; // stfd f1,16(r1) + compile[count++] = 0x80A10014; // lwz r5,20(r1) + compile[count++] = 0x7CA62850; // subf r5,r6,r5 + compile[count++] = 0x38210020; // addi r1,r1,32 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static inline bool cpuCompile_ROUND_W(s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 3; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0xFC00081C; // fctiw f0,f1 + compile[count++] = 0x7C051FAE; // stfiwx f0,r5,r3 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static inline bool cpuCompile_TRUNC_W(s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 3; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0xFC00081E; // fctiwz f0,f1 + compile[count++] = 0x7C051FAE; // stfiwx f0,r5,r3 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_LB(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 11; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x54C6103A; // slwi r6,r6,2 + compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 + compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 + compile[count++] = 0x80E60008; // lwz r7,8(r6) + compile[count++] = 0x7CA53A14; // add r5,r5,r7 + compile[count++] = 0x80E60004; // lwz r7,4(r6) + compile[count++] = 0x80E70004; // lwz r7,4(r7) + compile[count++] = 0x7CA538AE; // lbzx r5,r5,r7 + compile[count++] = 0x7CA50774; // extsb r5,r5 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_LH(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 11; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x54C6103A; // slwi r6,r6,2 + compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 + compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 + compile[count++] = 0x80E60008; // lwz r7,8(r6) + compile[count++] = 0x7CA53A14; // add r5,r5,r7 + compile[count++] = 0x80E60004; // lwz r7,4(r6) + compile[count++] = 0x80E70004; // lwz r7,4(r7) + compile[count++] = 0x7CA53A2E; // lhzx r5,r5,r7 + compile[count++] = 0x7CA50734; // extsh r5,r5 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_LW(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 10; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x54C6103A; // slwi r6,r6,2 + compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 + compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 + compile[count++] = 0x80E60008; // lwz r7,8(r6) + compile[count++] = 0x7CA53A14; // add r5,r5,r7 + compile[count++] = 0x80E60004; // lwz r7,4(r6) + compile[count++] = 0x80E70004; // lwz r7,4(r7) + compile[count++] = 0x7CA5382E; // lwzx r5,r5,r7 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_LBU(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 10; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x54C6103A; // slwi r6,r6,2 + compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 + compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 + compile[count++] = 0x80E60008; // lwz r7,8(r6) + compile[count++] = 0x7CA53A14; // add r5,r5,r7 + compile[count++] = 0x80E60004; // lwz r7,4(r6) + compile[count++] = 0x80E70004; // lwz r7,4(r7) + compile[count++] = 0x7CA538AE; // lbzx r5,r5,r7 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_LHU(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 10; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x54C6103A; // slwi r6,r6,2 + compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 + compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 + compile[count++] = 0x80E60008; // lwz r7,8(r6) + compile[count++] = 0x7CA53A14; // add r5,r5,r7 + compile[count++] = 0x80E60004; // lwz r7,4(r6) + compile[count++] = 0x80E70004; // lwz r7,4(r7) + compile[count++] = 0x7CA53A2E; // lhzx r5,r5,r7 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_SB(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 10; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x54C6103A; // slwi r6,r6,2 + compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 + compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 + compile[count++] = 0x80E60008; // lwz r7,8(r6) + compile[count++] = 0x7CA53A14; // add r5,r5,r7 + compile[count++] = 0x80E60004; // lwz r7,4(r6) + compile[count++] = 0x80E70004; // lwz r7,4(r7) + compile[count++] = 0x7D0539AE; // stbx r8,r5,r7 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_SH(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 10; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x54C6103A; // slwi r6,r6,2 + compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 + compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 + compile[count++] = 0x80E60008; // lwz r7,8(r6) + compile[count++] = 0x7CA53A14; // add r5,r5,r7 + compile[count++] = 0x80E60004; // lwz r7,4(r6) + compile[count++] = 0x80E70004; // lwz r7,4(r7) + compile[count++] = 0x7D053B2E; // sthx r8,r5,r7 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_SW(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 10; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x54C6103A; // slwi r6,r6,2 + compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 + compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 + compile[count++] = 0x80E60008; // lwz r7,8(r6) + compile[count++] = 0x7CA53A14; // add r5,r5,r7 + compile[count++] = 0x80E60004; // lwz r7,4(r6) + compile[count++] = 0x80E70004; // lwz r7,4(r7) + compile[count++] = 0x7D05392E; // stwx r8,r5,r7 + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_LDC(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 12; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x54C6103A; // slwi r6,r6,2 + compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 + compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 + compile[count++] = 0x80E60008; // lwz r7,8(r6) + compile[count++] = 0x7CA53A14; // add r5,r5,r7 + compile[count++] = 0x80E60004; // lwz r7,4(r6) + compile[count++] = 0x80E70004; // lwz r7,4(r7) + compile[count++] = 0x7CE53A14; // add r7,r5,r7 + compile[count++] = 0x80A70000; // lwz r5,0(r7) + compile[count++] = 0x80C70004; // lwz r6,4(r7) + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_SDC(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 12; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x54C6103A; // slwi r6,r6,2 + compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 + compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 + compile[count++] = 0x80E60008; // lwz r7,8(r6) + compile[count++] = 0x7CA53A14; // add r5,r5,r7 + compile[count++] = 0x80E60004; // lwz r7,4(r6) + compile[count++] = 0x80E70004; // lwz r7,4(r7) + compile[count++] = 0x7CE53A14; // add r7,r5,r7 + compile[count++] = 0x91070000; // stw r8,0(r7) + compile[count++] = 0x91270004; // stw r9,4(r7) + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_LWL(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 12; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x38C00018; // li r6,24 + compile[count++] = 0x88A70000; // lbz r5,0(r7) + compile[count++] = 0x7CA53030; // slw r5,r5,r6 + compile[count++] = 0x394000FF; // li r10,255 + compile[count++] = 0x7D4A3030; // slw r10,r10,r6 + compile[count++] = 0x7D295078; // andc r9,r9,r10 + compile[count++] = 0x7D292B78; // or r9,r9,r5 + compile[count++] = 0x38C6FFF8; // addi r6,r6,-8 + compile[count++] = 0x54E507BF; // clrlwi. r5,r7,30 + compile[count++] = 0x38E70001; // addi r7,r7,1 + compile[count++] = 0x4082FFDC; // bne+ 0xFFFFFFDC + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} + +static bool cpuCompile_LWR(Cpu* pCPU, s32* addressGCN) { + s32* compile; + s32 count = 0; + s32 nSize = 12; + + if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { + return false; + } + *addressGCN = (s32)compile; + + compile[count++] = 0x38C00000; // li r6,0 + compile[count++] = 0x88A70000; // lbz r5,0(r7) + compile[count++] = 0x7CA53030; // slw r5,r5,r6 + compile[count++] = 0x394000FF; // li r10,255 + compile[count++] = 0x7D4A3030; // slw r10,r10,r6 + compile[count++] = 0x7D295078; // andc r9,r9,r10 + compile[count++] = 0x7D292B78; // or r9,r9,r5 + compile[count++] = 0x38C60008; // addi r6,r6,8 + compile[count++] = 0x54E507BF; // clrlwi. r5,r7,30 + compile[count++] = 0x38E7FFFF; // addi r7,r7,-1 + compile[count++] = 0x4082FFDC; // bne+ 0xFFFFFFDC + compile[count++] = 0x4E800020; // blr + + nSize = count; + DCStoreRange(compile, nSize * sizeof(s32)); + ICInvalidateRange(compile, nSize * sizeof(s32)); + + return true; +} diff --git a/src/emulator/_cpuGCN.c b/src/emulator/_cpuGCN.c new file mode 100644 index 00000000..fd698870 --- /dev/null +++ b/src/emulator/_cpuGCN.c @@ -0,0 +1,8898 @@ +/** + * @file _cpuGCN.c + * + * MIPS instruction emulation for GameCube. This file is included into cpu.c + * instead of being compiled separately. + */ +#include "emulator/cpu.h" + +static inline bool cpuNoBranchTo(CpuFunction* pFunction, s32 addressN64); +static inline bool cpuCutStoreLoad(Cpu* pCPU, s32 currentAddress, s32 source); +static inline bool cpuCutStoreLoadF(Cpu* pCPU, s32 currentAddress, s32 source); +static inline bool cpuStackOffset(Cpu* pCPU, s32 currentAddress, s32* anCode, s32 source, s32 target); +static bool cpuNextInstruction(Cpu* pCPU, s32 addressN64, s32 opcode, s32* anCode, s32* iCode); +static inline bool cpuMakeCachedAddress(Cpu* pCPU, s32 nAddressN64, s32 nAddressHost, CpuFunction* pFunction); +static bool cpuFindCachedAddress(Cpu* pCPU, s32 nAddressN64, s32* pnAddressHost); +static bool cpuSetTLB(Cpu* pCPU, s32 iEntry); +static void treeCallerInit(CpuCallerID* block, s32 total); +static bool treeKillReason(Cpu* pCPU, s32* value); +static bool treeTimerCheck(Cpu* pCPU); +static bool treeCleanUp(Cpu* pCPU, CpuTreeRoot* root); +static inline bool treeForceCleanUp(Cpu* pCPU, CpuFunction* tree, s32 kill_limit); + +static s32 cpuCompile_DSLLV_function; +static s32 cpuCompile_DSRLV_function; +static s32 cpuCompile_DSRAV_function; +static s32 cpuCompile_DMULT_function; +static s32 cpuCompile_DMULTU_function; +static s32 cpuCompile_DDIV_function; +static s32 cpuCompile_DDIVU_function; +static s32 cpuCompile_DADD_function; +static s32 cpuCompile_DADDU_function; +static s32 cpuCompile_DSUB_function; +static s32 cpuCompile_DSUBU_function; +static s32 cpuCompile_S_SQRT_function; +static s32 cpuCompile_D_SQRT_function; +static s32 cpuCompile_W_CVT_SD_function; +static s32 cpuCompile_L_CVT_SD_function; +static s32 cpuCompile_CEIL_W_function; +static s32 cpuCompile_FLOOR_W_function; +static s32 cpuCompile_ROUND_W_function; +static s32 cpuCompile_TRUNC_W_function; +static s32 cpuCompile_LB_function; +static s32 cpuCompile_LH_function; +static s32 cpuCompile_LW_function; +static s32 cpuCompile_LBU_function; +static s32 cpuCompile_LHU_function; +static s32 cpuCompile_SB_function; +static s32 cpuCompile_SH_function; +static s32 cpuCompile_SW_function; +static s32 cpuCompile_LDC_function; +static s32 cpuCompile_SDC_function; +static s32 cpuCompile_LWL_function; +static s32 cpuCompile_LWR_function; + +extern s32 ganMapGPR[32]; + +static inline bool cpuFindBranchOffset(CpuFunction* pFunction, s32* pnOffset, s32 nAddress, s32* anCode) { + s32 iJump; + + if (anCode == NULL) { + *pnOffset = 0; + return true; + } + + for (iJump = 0; iJump < pFunction->nCountJump; iJump++) { + if (pFunction->aJump[iJump].nAddressN64 == nAddress) { + *pnOffset = pFunction->aJump[iJump].nOffsetHost; + return true; + } + } + + return false; +} + +/** + * @brief Checks the type of delay an instruction has. + * + * @param opcode The instruction to determine the delay type for. + * @return s32 The type of delay the instruction has. + */ +static s32 cpuCheckDelaySlot(u32 opcode) { + s32 flag = 0; + + if (opcode == 0) { + return 0; + } + + switch (MIPS_OP(opcode)) { + case 0x00: // special + switch (MIPS_FUNCT(opcode)) { + case 0x08: // jr + flag = 0xD05; + break; + case 0x09: // jalr + flag = 0x8AE; + break; + } + break; + case 0x01: // regimm + switch (MIPS_RT(opcode)) { + case 0x00: // bltz + case 0x01: // bgez + case 0x02: // bltzl + case 0x03: // bgezl + case 0x10: // bltzal + case 0x11: // bgezal + case 0x12: // bltzall + case 0x13: // bgezall + flag = 0x457; + break; + } + break; + case 0x10: // cop0 + switch (MIPS_FUNCT(opcode)) { + case 0x01: + case 0x02: + case 0x05: + case 0x08: + case 0x18: + break; + default: + case 0x00: + case 0x03: + case 0x04: + case 0x06: + case 0x07: + case 0x09: + case 0x0A: + case 0x0B: + case 0x0C: + case 0x0D: + case 0x0E: + case 0x0F: + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x16: + case 0x17: + switch (MIPS_RS(opcode)) { + case 0x08: + switch (MIPS_RT(opcode)) { + case 0x00: + case 0x01: + case 0x02: + case 0x03: + flag = 0x457; + break; + } + break; + } + break; + } + break; + case 0x11: // cop1 + if (MIPS_RS(opcode) == 0x08) { + switch (MIPS_RT(opcode)) { + case 0x00: // bc1f + case 0x01: // bc1t + case 0x02: // bc1fl + case 0x03: // bc1tl + flag = 0x457; + break; + } + } + break; + case 0x02: // j + flag = 0xD05; + break; + case 0x03: // jal + flag = 0x8AE; + break; + case 0x04: // beq + case 0x05: // bne + case 0x06: // blez + case 0x07: // bgtz + case 0x14: // beql + case 0x15: // bnel + case 0x16: // blezl + case 0x17: // bgtzl + flag = 0x457; + break; + } + + return flag; +} + +/** + * @brief Fills a code section of NOPs + * + * @param anCode Pointer to fill nops to. + * @param iCode Position in @code to start filling. + * @param number The amount of NOPs to fill. + */ +static inline void cpuCompileNOP(s32* anCode, s32* iCode, s32 number) { + if (anCode == NULL) { + *iCode += number; + } else { + while (number-- != 0) { + anCode[(*iCode)++] = 0x60000000; + } + } +} + +#define EMIT_PPC(i, instruction) \ + do { \ + if (anCode != NULL) { \ + anCode[i++] = instruction; \ + } else { \ + i++; \ + } \ + } while (0) + +/** + * @brief The main MIPS->PPC Dynamic recompiler. + * + * @param pCPU The emulated VR4300. + * @param pnAddress The address to recompile. + * @param pFunction The function that is being recompiled. + * @param anCode Pointer to the recompiled code. + * @param piCode Pointer to the current position in the recompiled code. + * @param bSlot true if we are recompiling a delay slot. + * @return bool true on success, false otherwise. + */ +static bool cpuGetPPC(Cpu* pCPU, s32* pnAddress, CpuFunction* pFunction, s32* anCode, s32* piCode, bool bSlot) { + s32 nSize; + s32 iHack; + bool bInterpret; + s32 iCode; + s32 pad1; + s32 iJump; + s32 nAddress; + s32 nReturnAddress; + s32 nDeltaAddress; + bool bFlag; + s32 nAddressJump; + s32 nOffset; + u32 nOpcode; + u32 nOpcodePrev; + u32 nOpcodeNext; + u32* pnOpcode; + s32 prev; + s32 iRegisterA; + s32 iRegisterB; + s32 iRegisterC; + s32 nTemp1; + s32 nTemp2; + s32 nTemp3; + bool update; + s32 iUpdate; + s32 nTarget; + s32 var_r24; + s32 var_r22; + bool var_r17; + bool var_r3; + u8 pad2[0x54]; + + bFlag = true; + prev = 0; + update = false; + + if (ramGetBuffer(SYSTEM_RAM(pCPU->pHost), &pnOpcode, *pnAddress, NULL)) { + nAddress = *pnAddress; + nOpcode = pnOpcode[0]; + nOpcodeNext = pnOpcode[1]; + nOpcodePrev = pnOpcode[-1]; + + bInterpret = false; + *pnAddress += 4; + + for (iHack = 0; iHack < pCPU->nCountCodeHack; iHack++) { + if (pCPU->aCodeHack[iHack].nAddress == nAddress && pCPU->aCodeHack[iHack].nOpcodeOld == nOpcode) { + if (pCPU->aCodeHack[iHack].nOpcodeNew == 0xFFFFFFFF) { + bInterpret = true; + } else { + nOpcode = pCPU->aCodeHack[iHack].nOpcodeNew; + } + } + if (pCPU->aCodeHack[iHack].nAddress == nAddress + 4 && pCPU->aCodeHack[iHack].nOpcodeOld == nOpcodeNext) { + if (pCPU->aCodeHack[iHack].nOpcodeNew != 0xFFFFFFFF) { + nOpcodeNext = pCPU->aCodeHack[iHack].nOpcodeNew; + } + } + + if (pCPU->aCodeHack[iHack].nAddress == nAddress - 4 && pCPU->aCodeHack[iHack].nOpcodeOld == nOpcodePrev) { + if (pCPU->aCodeHack[iHack].nOpcodeNew != 0xFFFFFFFF) { + nOpcodePrev = pCPU->aCodeHack[iHack].nOpcodeNew; + } + } + } + + iCode = *piCode; + nAddressJump = -1; + pCPU->nOptimize.addr_check = 0; + if (iCode == 0) { + pCPU->nOptimize.addr_last = -1; + if (!bInterpret && cpuCheckDelaySlot(nOpcode) == 0) { + if (((s32)(pFunction->nAddress1 - pFunction->nAddress0) >> 2) + 1 > 25) { + bInterpret = true; + } else { + update = true; + } + } + if (anCode != NULL) { + anCode[iCode++] = 0x3CA00000 | ((u32)pFunction >> 16); + anCode[iCode++] = 0x60A50000 | ((u32)pFunction & 0xFFFF); + anCode[iCode++] = 0x90A30000 + (OFFSETOF(pCPU, pFunctionLast) & 0xFFFF); + anCode[iCode++] = 0x80C50000 + OFFSETOF(pFunction, timeToLive); + anCode[iCode++] = 0x2C060000; + anCode[iCode++] = 0x41820008; + anCode[iCode++] = 0x90850000 + OFFSETOF(pFunction, timeToLive); + } else { + iCode += 7; + } + if (update) { + if (anCode != NULL) { + anCode[iCode++] = 0x80A30000 + OFFSETOF(pCPU, nRetrace); + anCode[iCode++] = 0x80C30000 + OFFSETOF(pCPU, nRetraceUsed); + anCode[iCode++] = 0x7CA62850; + anCode[iCode++] = 0x2C050002; + anCode[iCode++] = 0x41800014; + anCode[iCode++] = 0x3CA00000 | ((u32)nAddress >> 16); + anCode[iCode++] = 0x60A50000 | ((u32)nAddress & 0xFFFF); + anCode[iCode++] = 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1; + iUpdate = iCode++; + } else { + iCode += 9; + } + } + *piCode = iCode; + } else { + prev = cpuCheckDelaySlot(nOpcodePrev); + } + + var_r17 = nOpcode != 0 && (prev != 0 || bSlot) ? true : false; + if (!bInterpret) { + if (anCode == NULL || var_r17) { + pCPU->nOptimize.destGPR_check = 0; + pCPU->nOptimize.destFPR_check = 0; + pCPU->nOptimize.addr_last = -1; + pCPU->nOptimize.checkNext = 0; + } + + switch (MIPS_OP(nOpcode)) { + case 0x00: // special + switch (MIPS_FUNCT(nOpcode)) { + case 0x00: // sll + if (nOpcode != 0) { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + nTemp1 = MIPS_SA(nOpcode); + nTemp2 = 31 - nTemp1; + EMIT_PPC(iCode, 0x54000000 | (iRegisterB << 21) | (iRegisterA << 16) | (nTemp1 << 11) | + (nTemp2 << 1)); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, + 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + } else { + EMIT_PPC(iCode, 0x60000000); + } + break; + case 0x02: // srl + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + nTemp1 = MIPS_SA(nOpcode); + nTemp2 = 32 - nTemp1; + EMIT_PPC(iCode, 0x54000000 | (iRegisterB << 21) | (iRegisterA << 16) | (nTemp2 << 11) | + (nTemp1 << 6) | 0x3E); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x03: // sra + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + nTemp1 = MIPS_SA(nOpcode); + EMIT_PPC(iCode, 0x7C000670 | (iRegisterB << 21) | (iRegisterA << 16) | (nTemp1 << 11)); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x04: // sllv + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x70000000 | (iRegisterC << 21) | (iRegisterC << 16) | 0x1F); + EMIT_PPC(iCode, 0x7C000030 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x06: // srlv + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x70000000 | (iRegisterC << 21) | (iRegisterC << 16) | 0x1F); + EMIT_PPC(iCode, 0x7C000430 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x07: // srav + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x70000000 | (iRegisterC << 21) | (iRegisterC << 16) | 0x1F); + EMIT_PPC(iCode, 0x7C000630 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x08: // jr + if (nOpcodeNext != 0) { + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + } + if (MIPS_RS(nOpcode) != 31) { + pCPU->nOptimize.validCheck = 0; + } + if (MIPS_RS(nOpcode) == 31 && !(pCPU->nFlagCODE & 2)) { + if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterA = 5; + EMIT_PPC(iCode, + 0x80A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0x7C0803A6 | ((iRegisterA & 0x1F) << 21)); + EMIT_PPC(iCode, 0x4E800020); + } else { + if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, + 0x80A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } else { + EMIT_PPC(iCode, 0x7C050378 | (iRegisterA << 21) | (iRegisterA << 11)); + } + EMIT_PPC(iCode, + 0x48000000 | (((u32)pCPU->pfJump - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + break; + case 0x09: // jalr + if (nOpcodeNext != 0) { + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + } + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, pFunctionLast)); + EMIT_PPC(iCode, 0x3CE08000); + EMIT_PPC(iCode, 0x80C50000 + OFFSETOF(pFunction, timeToLive)); + EMIT_PPC(iCode, 0x7CC63B78); + EMIT_PPC(iCode, 0x3CE00000 | (((u32)nAddress + 8) >> 16)); + EMIT_PPC(iCode, 0x90C50000 + OFFSETOF(pFunction, timeToLive)); + EMIT_PPC(iCode, 0x60E70000 | (((u32)nAddress + 8) & 0xFFFF)); + EMIT_PPC(iCode, 0x90E30000 + OFFSETOF(pCPU, nReturnAddrLast)); + if ((iRegisterB = ganMapGPR[31]) & 0x100) { + nReturnAddress = (u32)&anCode[iCode] + 20; + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nReturnAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nReturnAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); + } else { + u32 temp; // TODO: fake match + + nReturnAddress = (u32)&anCode[iCode] + 16; + temp = nReturnAddress; + EMIT_PPC(iCode, 0x3C000000 | ((u32)nReturnAddress >> 16) | (iRegisterB << 21)); + EMIT_PPC(iCode, + 0x60000000 | ((u32)temp & 0xFFFF) | (iRegisterB << 21) | (iRegisterB << 16)); + } + if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x80A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } else { + EMIT_PPC(iCode, 0x7C050378 | (iRegisterA << 21) | (iRegisterA << 11)); + } + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfJump - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (anCode != NULL) { + anCode[iCode++] = 0x3CA00000 | ((u32)pFunction >> 16); + anCode[iCode++] = 0x60A50000 | ((u32)pFunction & 0xFFFF); + anCode[iCode++] = 0x90A30000 + (OFFSETOF(pCPU, pFunctionLast) & 0xFFFF); + anCode[iCode++] = 0x3CE08000; + anCode[iCode++] = 0x80C50000 + OFFSETOF(pFunction, timeToLive); + anCode[iCode++] = 0x7CC63878; + anCode[iCode++] = 0x2C060000; + anCode[iCode++] = 0x41820008; + anCode[iCode++] = 0x90850000 + OFFSETOF(pFunction, timeToLive); + } else { + iCode += 9; + } + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (iCode - iJump) * 4; + } + EMIT_PPC(iJump, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + break; + case 0x0C: // syscall + case 0x0D: // break + case 0x0F: // sync + break; + case 0x10: // mfhi + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x80A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, nHi) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) & 0xFFFF)); + } else { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, nHi) + 4)); + EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, nHi) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) & 0xFFFF)); + } + break; + case 0x11: // mthi + if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x80A30000 | ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, nHi) & 0xFFFF)); + } else { + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, nHi) + 4)); + EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, nHi) & 0xFFFF)); + } + break; + case 0x12: // mflo + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x80A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, nLo) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) & 0xFFFF)); + } else { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, nLo) + 4)); + EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, nLo) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) & 0xFFFF)); + } + break; + case 0x13: // mtlo + if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x80A30000 | ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, nLo) & 0xFFFF)); + } else { + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, nLo) + 4)); + EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, nLo) & 0xFFFF)); + } + break; + case 0x14: // dsllv + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_DSLLV_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x16: // dsrlv + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_DSRLV_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x17: // dsrav + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_DSRAV_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x18: // mult + iRegisterA = 5; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0x7C0001D6 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x7C000096 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); + break; + case 0x19: // multu + iRegisterA = 5; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0x7C0001D6 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x7C000016 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); + break; + case 0x1A: // div + iRegisterA = 5; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0x7C0003D6 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x7CA501D6 | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x7CA50050 | (iRegisterB << 11)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); + break; + case 0x1B: // divu + iRegisterA = 5; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0x7C000396 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); + EMIT_PPC(iCode, 0x7CA501D6 | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x7CA50050 | (iRegisterB << 11)); + EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); + break; + case 0x1C: // dmult + if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + EMIT_PPC(iCode, 0x9421FFC0); + EMIT_PPC(iCode, 0x91010008); + EMIT_PPC(iCode, 0x91210010); + EMIT_PPC(iCode, 0x91410018); + EMIT_PPC(iCode, 0x91610020); + EMIT_PPC(iCode, 0x91810028); + EMIT_PPC(iCode, 0x91C10030); + EMIT_PPC(iCode, 0x91E10038); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80E30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x81030004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x81C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x81E30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_DMULT_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x81210010); + EMIT_PPC(iCode, 0x81410018); + EMIT_PPC(iCode, 0x81610020); + EMIT_PPC(iCode, 0x81810028); + EMIT_PPC(iCode, 0x81C10030); + EMIT_PPC(iCode, 0x81E10038); + EMIT_PPC(iCode, 0x38210040); + break; + case 0x1D: // dmultu + if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + EMIT_PPC(iCode, 0x9421FFD0); + EMIT_PPC(iCode, 0x91010008); + EMIT_PPC(iCode, 0x91210010); + EMIT_PPC(iCode, 0x91410018); + EMIT_PPC(iCode, 0x91610020); + EMIT_PPC(iCode, 0x91810028); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80E30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x81030004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_DMULTU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x81210010); + EMIT_PPC(iCode, 0x81410018); + EMIT_PPC(iCode, 0x81610020); + EMIT_PPC(iCode, 0x81810028); + EMIT_PPC(iCode, 0x38210030); + break; + case 0x1E: // ddiv + if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + EMIT_PPC(iCode, 0x9421FFC0); + EMIT_PPC(iCode, 0x91010008); + EMIT_PPC(iCode, 0x91210010); + EMIT_PPC(iCode, 0x91410018); + EMIT_PPC(iCode, 0x91610020); + EMIT_PPC(iCode, 0x91810028); + EMIT_PPC(iCode, 0x91C10030); + EMIT_PPC(iCode, 0x91E10038); + EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x81230004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x81430000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x81630004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x81C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x81E30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_DDIV_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x81210010); + EMIT_PPC(iCode, 0x81410018); + EMIT_PPC(iCode, 0x81610020); + EMIT_PPC(iCode, 0x81810028); + EMIT_PPC(iCode, 0x81C10030); + EMIT_PPC(iCode, 0x81E10038); + EMIT_PPC(iCode, 0x38210040); + break; + case 0x1F: // ddivu + if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + EMIT_PPC(iCode, 0x9421FFD0); + EMIT_PPC(iCode, 0x91010008); + EMIT_PPC(iCode, 0x91210010); + EMIT_PPC(iCode, 0x91410018); + EMIT_PPC(iCode, 0x91610020); + EMIT_PPC(iCode, 0x91810028); + EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x81230004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x81430000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x81630004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_DDIVU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x81210010); + EMIT_PPC(iCode, 0x81410018); + EMIT_PPC(iCode, 0x81610020); + EMIT_PPC(iCode, 0x81810028); + EMIT_PPC(iCode, 0x38210030); + break; + case 0x20: { // add + bool var_r10; + + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + + var_r10 = false; + var_r3 = false; + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + var_r3 = true; + } + + if (MIPS_RS(nOpcode) == 0) { + if (MIPS_RT(nOpcode) == 31 && !(pCPU->nFlagCODE & 4)) { + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + var_r10 = true; + pCPU->nFlagCODE |= 8; + } else if (!var_r3) { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | + (iRegisterB << 11)); + } + } else { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + } else { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + } + } + + if (MIPS_RD(nOpcode) == 31) { + pCPU->nFlagCODE |= 2; + if (pCPU->nFlagCODE & 8) { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & + 0xFFFF)); + } + EMIT_PPC(iCode, + (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); + } + } + } else if (MIPS_RT(nOpcode) == 0) { + if ((MIPS_RS(nOpcode) == 31) && !(pCPU->nFlagCODE & 4)) { + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + var_r10 = true; + pCPU->nFlagCODE |= 8; + } else if (!var_r3) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | + (iRegisterB << 11)); + } + } else { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + } else { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + } + } + + if (MIPS_RD(nOpcode) == 31) { + pCPU->nFlagCODE |= 2; + if (pCPU->nFlagCODE & 8) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & + 0xFFFF)); + } + EMIT_PPC(iCode, + (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); + } + } + } else { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, + 0x7C000214 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); + var_r10 = true; + } + if (var_r10 && (ganMapGPR[MIPS_RD(nOpcode)] & 0x100)) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + } + case 0x21: { // addu + bool var_r10; + + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + + var_r10 = false; + var_r3 = false; + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + var_r3 = true; + } + + if (MIPS_RS(nOpcode) == 0) { + if (MIPS_RT(nOpcode) == 31 && !(pCPU->nFlagCODE & 4)) { + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + var_r10 = true; + pCPU->nFlagCODE |= 8; + } else if (!var_r3) { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | + (iRegisterB << 11)); + } + } else { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + } else { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + } + } + + if (MIPS_RD(nOpcode) == 31) { + pCPU->nFlagCODE |= 2; + if (pCPU->nFlagCODE & 8) { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & + 0xFFFF)); + } + EMIT_PPC(iCode, + (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); + } + } + } else if (MIPS_RT(nOpcode) == 0) { + if ((MIPS_RS(nOpcode) == 31) && !(pCPU->nFlagCODE & 4)) { + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + var_r10 = true; + pCPU->nFlagCODE |= 8; + } else if (!var_r3) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | + (iRegisterB << 11)); + } + } else { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + } else { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + } + } + + if (MIPS_RD(nOpcode) == 31) { + pCPU->nFlagCODE |= 2; + if (pCPU->nFlagCODE & 8) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & + 0xFFFF)); + } + EMIT_PPC(iCode, + (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); + } + } + } else { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, + 0x7C000214 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); + var_r10 = true; + } + if (var_r10 && (ganMapGPR[MIPS_RD(nOpcode)] & 0x100)) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + } + case 0x22: // sub + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x7C000050 | (iRegisterA << 21) | (iRegisterC << 16) | (iRegisterB << 11)); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x23: // subu + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x7C000050 | (iRegisterA << 21) | (iRegisterC << 16) | (iRegisterB << 11)); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x24: // and + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x7C000038 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x25: { // or + bool var_r10; + + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + + var_r10 = false; + var_r3 = false; + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + var_r3 = true; + } + + if (MIPS_RS(nOpcode) == 0) { + if (MIPS_RT(nOpcode) == 31 && !(pCPU->nFlagCODE & 4)) { + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + var_r10 = true; + pCPU->nFlagCODE |= 8; + } else if (!var_r3) { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | + (iRegisterB << 11)); + } + } else { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + } else { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + } + } + + if (MIPS_RD(nOpcode) == 31) { + pCPU->nFlagCODE |= 2; + if (pCPU->nFlagCODE & 8) { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & + 0xFFFF)); + } + EMIT_PPC(iCode, + (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); + } + } + } else if (MIPS_RT(nOpcode) == 0) { + if ((MIPS_RS(nOpcode) == 31) && !(pCPU->nFlagCODE & 4)) { + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + var_r10 = true; + pCPU->nFlagCODE |= 8; + } else if (!var_r3) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | + (iRegisterB << 11)); + } + } else { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + } else { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); + } + } + + if (MIPS_RD(nOpcode) == 31) { + pCPU->nFlagCODE |= 2; + if (pCPU->nFlagCODE & 8) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & + 0xFFFF)); + } + EMIT_PPC(iCode, + (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); + } + } + } else { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, + 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); + var_r10 = true; + } + if (var_r10 && (ganMapGPR[MIPS_RD(nOpcode)] & 0x100)) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + } + case 0x26: // xor + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x7C000278 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x27: // nor + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x7C0000F8 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x2A: // slt + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x7C000000 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4180000C); + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21)); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | 1); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x2B: // sltu + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x7C000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4180000C); + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21)); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | 1); + if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x2C: // dadd + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + iRegisterA = MIPS_RD(nOpcode); + EMIT_PPC(iCode, 0x9421FFF0); + EMIT_PPC(iCode, 0x91010008); + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_DADD_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterA])); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterA])); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x38210010); + if (!((iRegisterA = ganMapGPR[iRegisterA]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x2D: // daddu + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + iRegisterA = MIPS_RD(nOpcode); + EMIT_PPC(iCode, 0x9421FFF0); + EMIT_PPC(iCode, 0x91010008); + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_DADDU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterA])); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterA])); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x38210010); + if (!((iRegisterA = ganMapGPR[iRegisterA]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x2E: // dsub + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + iRegisterA = MIPS_RD(nOpcode); + EMIT_PPC(iCode, 0x9421FFF0); + EMIT_PPC(iCode, 0x91010008); + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_DSUB_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterA])); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterA])); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x38210010); + if (!((iRegisterA = ganMapGPR[iRegisterA]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x2F: // dsubu + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + } + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + iRegisterA = MIPS_RD(nOpcode); + EMIT_PPC(iCode, 0x9421FFF0); + EMIT_PPC(iCode, 0x91010008); + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_DSUBU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterA])); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterA])); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x38210010); + if (!((iRegisterA = ganMapGPR[iRegisterA]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x30: // tge + case 0x31: // tgeu + case 0x32: // tlt + case 0x33: // tltu + case 0x34: // teq + case 0x36: // tne + break; + case 0x38: // dsll + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + nTemp1 = MIPS_SA(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x54A50000 | (nTemp1 << 11) | ((31 - nTemp1) << 1)); + EMIT_PPC(iCode, 0x50C50000 | (nTemp1 << 11) | ((32 - nTemp1) << 6) | (31 << 1)); + EMIT_PPC(iCode, 0x54C60000 | (nTemp1 << 11) | ((31 - nTemp1) << 1)); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x3A: // dsrl + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + nTemp1 = MIPS_SA(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x54C60000 | ((32 - nTemp1) << 11) | (nTemp1 << 6) | (31 << 1)); + EMIT_PPC(iCode, 0x50A60000 | ((32 - nTemp1) << 11) | ((nTemp1 - 1) << 1)); + EMIT_PPC(iCode, 0x54A50000 | ((32 - nTemp1) << 11) | (nTemp1 << 6) | (31 << 1)); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x3B: // dsra + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + nTemp1 = MIPS_SA(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x54C60000 | ((32 - nTemp1) << 11) | (nTemp1 << 6) | (31 << 1)); + EMIT_PPC(iCode, 0x50A60000 | ((32 - nTemp1) << 11) | ((nTemp1 - 1) << 1)); + EMIT_PPC(iCode, 0x7CA50670 | (nTemp1 << 11)); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x3C: // dsll32 + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if (!((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + nTemp1 = MIPS_SA(nOpcode) + 32; + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + while (nTemp1 > 0) { + if (nTemp1 > 31) { + nTemp2 = 31; + nTemp1 -= 31; + } else { + nTemp2 = nTemp1; + nTemp1 = 0; + } + EMIT_PPC(iCode, 0x54A50000 | (nTemp2 << 11) | ((31 - nTemp2) << 1)); + EMIT_PPC(iCode, 0x50C50000 | (nTemp2 << 11) | ((32 - nTemp2) << 6) | (31 << 1)); + EMIT_PPC(iCode, 0x54C60000 | (nTemp2 << 11) | ((31 - nTemp2) << 1)); + } + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x3E: // dsrl32 + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + nTemp1 = MIPS_SA(nOpcode) + 32; + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + while (nTemp1 > 0) { + if (nTemp1 > 31) { + nTemp2 = 31; + nTemp1 -= 31; + } else { + nTemp2 = nTemp1; + nTemp1 = 0; + } + EMIT_PPC(iCode, 0x54C60000 | ((32 - nTemp2) << 11) | (nTemp2 << 6) | (31 << 1)); + EMIT_PPC(iCode, 0x50A60000 | ((32 - nTemp2) << 11) | ((nTemp2 - 1) << 1)); + EMIT_PPC(iCode, 0x54A50000 | ((32 - nTemp2) << 11) | (nTemp2 << 6) | (31 << 1)); + } + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x3F: // dsra32 + pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); + if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + nTemp1 = MIPS_SA(nOpcode) + 32; + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + while (nTemp1 > 0) { + if (nTemp1 > 31) { + nTemp2 = 31; + nTemp1 -= 31; + } else { + nTemp2 = nTemp1; + nTemp1 = 0; + } + EMIT_PPC(iCode, 0x54C60000 | ((32 - nTemp2) << 11) | (nTemp2 << 6) | (31 << 1)); + EMIT_PPC(iCode, 0x50A60000 | ((32 - nTemp2) << 11) | ((nTemp2 - 1) << 1)); + EMIT_PPC(iCode, 0x7CA50670 | (nTemp2 << 11)); + } + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); + if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + default: + bFlag = false; + break; + } + break; + case 0x01: // regimm + switch (MIPS_RT(nOpcode)) { + case 0x00: // bltz + nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + EMIT_PPC(iJump, 0x40800000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x01: // bgez + nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + EMIT_PPC(iJump, 0x41800000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x02: // bltzl + nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + EMIT_PPC(iJump, 0x40800000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x03: // bgezl + nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + EMIT_PPC(iJump, 0x41800000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x08: // tgei + case 0x09: // tgeiu + case 0x0A: // tlti + case 0x0B: // tltiu + case 0x0C: // teqi + case 0x0E: // tnei + break; + case 0x10: // bltzal + nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + + iJump = iCode; + iCode++; + EMIT_PPC(iCode, 0x3CA00000 | ((u32)(nAddress + 8) >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)(nAddress + 8) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, nReturnAddrLast)); + if (ganMapGPR[31] & 0x100) { + iCode += 3; + } else { + iCode += 2; + } + var_r24 = (u32)&anCode[iCode]; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + var_r22 = (u32)&anCode[iCode]; + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + EMIT_PPC(iJump, 0x40800000 | (((iCode - iJump) * 4) & 0xFFFC)); + + iJump += 3; + nReturnAddress = (u32)&anCode[iCode] + (var_r22 - var_r24); + if ((iRegisterB = ganMapGPR[31]) & 0x100) { + EMIT_PPC(iJump, 0x3CA00000 | ((u32)nReturnAddress >> 16)); + EMIT_PPC(iJump, 0x60A50000 | ((u32)nReturnAddress & 0xFFFF)); + EMIT_PPC(iJump, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); + } else { + EMIT_PPC(iJump, 0x3C000000 | ((u32)nReturnAddress >> 16) | (iRegisterB << 21)); + EMIT_PPC(iJump, 0x60000000 | ((u32)nReturnAddress & 0xFFFF) | (iRegisterB << 21) | + (iRegisterB << 16)); + } + break; + case 0x11: // bgezal + nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + + iJump = iCode++; + EMIT_PPC(iCode, 0x3CA00000 | ((u32)(nAddress + 8) >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)(nAddress + 8) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, nReturnAddrLast)); + if (ganMapGPR[31] & 0x100) { + iCode += 3; + } else { + iCode += 2; + } + var_r24 = (u32)&anCode[iCode]; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + var_r22 = (u32)&anCode[iCode]; + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + EMIT_PPC(iJump, 0x41800000 | (((iCode - iJump) * 4) & 0xFFFC)); + + iJump += 3; + nReturnAddress = (u32)&anCode[iCode] + (var_r22 - var_r24); + if ((iRegisterB = ganMapGPR[31]) & 0x100) { + EMIT_PPC(iJump, 0x3CA00000 | ((u32)nReturnAddress >> 16)); + EMIT_PPC(iJump, 0x60A50000 | ((u32)nReturnAddress & 0xFFFF)); + EMIT_PPC(iJump, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); + } else { + EMIT_PPC(iJump, 0x3C000000 | ((u32)nReturnAddress >> 16) | (iRegisterB << 21)); + EMIT_PPC(iJump, 0x60000000 | ((u32)nReturnAddress & 0xFFFF) | (iRegisterB << 21) | + (iRegisterB << 16)); + } + break; + case 0x12: // bltzall + nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + + iJump = iCode++; + EMIT_PPC(iCode, 0x3CA00000 | ((u32)(nAddress + 8) >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)(nAddress + 8) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, nReturnAddrLast)); + if (ganMapGPR[31] & 0x100) { + iCode += 3; + } else { + iCode += 2; + } + var_r24 = (u32)&anCode[iCode]; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + var_r22 = (u32)&anCode[iCode]; + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + EMIT_PPC(iJump, 0x40800000 | (((iCode - iJump) * 4) & 0xFFFC)); + + iJump += 3; + nReturnAddress = (u32)&anCode[iCode] + (var_r22 - var_r24); + if ((iRegisterB = ganMapGPR[31]) & 0x100) { + EMIT_PPC(iJump, 0x3CA00000 | ((u32)nReturnAddress >> 16)); + EMIT_PPC(iJump, 0x60A50000 | ((u32)nReturnAddress & 0xFFFF)); + EMIT_PPC(iJump, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); + } else { + EMIT_PPC(iJump, 0x3C000000 | ((u32)nReturnAddress >> 16) | (iRegisterB << 21)); + EMIT_PPC(iJump, 0x60000000 | ((u32)nReturnAddress & 0xFFFF) | (iRegisterB << 21) | + (iRegisterB << 16)); + } + break; + case 0x13: // bgezall + nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + + iJump = iCode++; + EMIT_PPC(iCode, 0x3CA00000 | ((u32)(nAddress + 8) >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)(nAddress + 8) & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, nReturnAddrLast)); + if (ganMapGPR[31] & 0x100) { + iCode += 3; + } else { + iCode += 2; + } + var_r24 = (u32)&anCode[iCode]; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + var_r22 = (u32)&anCode[iCode]; + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + EMIT_PPC(iJump, 0x41800000 | (((iCode - iJump) * 4) & 0xFFFC)); + + iJump += 3; + nReturnAddress = (u32)&anCode[iCode] + (var_r22 - var_r24); + if ((iRegisterB = ganMapGPR[31]) & 0x100) { + EMIT_PPC(iJump, 0x3CA00000 | ((u32)nReturnAddress >> 16)); + EMIT_PPC(iJump, 0x60A50000 | ((u32)nReturnAddress & 0xFFFF)); + EMIT_PPC(iJump, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); + } else { + EMIT_PPC(iJump, 0x3C000000 | ((u32)nReturnAddress >> 16) | (iRegisterB << 21)); + EMIT_PPC(iJump, 0x60000000 | ((u32)nReturnAddress & 0xFFFF) | (iRegisterB << 21) | + (iRegisterB << 16)); + } + break; + default: + bFlag = false; + break; + } + break; + case 0x02: // j + nAddressJump = (*pnAddress & 0xF0000000) | (MIPS_TARGET(nOpcode) << 2); + if (pFunction->nAddress0 <= nAddressJump && nAddressJump < pFunction->nAddress1) { + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + if (nAddressJump == nAddress) { + if (anCode != NULL) { + anCode[iCode++] = 0x3CA00000 | ((u32)nAddress >> 16); + anCode[iCode++] = 0x60A50000 | ((u32)nAddress & 0xFFFF); + } else { + iCode += 2; + } + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfIdle - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + } else { + if (nOpcodeNext != 0) { + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddressJump >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddressJump & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfJump - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + nAddressJump = -1; + } + break; + case 0x03: // jal + nTarget = MIPS_TARGET(nOpcode) << 2; + if (nOpcodeNext != 0) { + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + } + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, pFunctionLast)); + EMIT_PPC(iCode, 0x3CE08000); + EMIT_PPC(iCode, 0x80C50000 + OFFSETOF(pFunction, timeToLive)); + EMIT_PPC(iCode, 0x7CC63B78); + EMIT_PPC(iCode, 0x3CE00000 | ((u32)(nAddress + 8) >> 16)); + EMIT_PPC(iCode, 0x90C50000 + OFFSETOF(pFunction, timeToLive)); + EMIT_PPC(iCode, 0x60E70000 | ((u32)(nAddress + 8) & 0xFFFF)); + EMIT_PPC(iCode, 0x90E30000 + OFFSETOF(pCPU, nReturnAddrLast)); + nAddressJump = (*pnAddress & 0xF0000000) | nTarget; + if ((iRegisterB = ganMapGPR[31]) & 0x100) { + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddressJump >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddressJump & 0xFFFF)); + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); + } else { + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddressJump >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddressJump & 0xFFFF)); + } + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfCall - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pFunction->callerID_flag == 0x16) { + pFunction->block[pFunction->callerID_total].N64address = nAddressJump; + } + if (pFunction->callerID_flag != 0x21) { + pFunction->callerID_total++; + } + if (anCode != NULL) { + anCode[iCode++] = 0x3CA00000 | ((u32)pFunction >> 16); + anCode[iCode++] = 0x60A50000 | ((u32)pFunction & 0xFFFF); + anCode[iCode++] = 0x90A30000 + (OFFSETOF(pCPU, pFunctionLast) & 0xFFFF); + anCode[iCode++] = 0x3CE08000; + anCode[iCode++] = 0x80C50000 + OFFSETOF(pFunction, timeToLive); + anCode[iCode++] = 0x7CC63878; + anCode[iCode++] = 0x2C060000; + anCode[iCode++] = 0x41820008; + anCode[iCode++] = 0x90850000 + OFFSETOF(pFunction, timeToLive); + } else { + iCode += 9; + } + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (iCode - iJump) * 4; + } + if (anCode != NULL) { + anCode[iJump] = 0x48000000 | (nDeltaAddress & 0x03FFFFFC); + } + nAddressJump = -1; + break; + case 0x04: // beq + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + if (MIPS_RS(nOpcode) == MIPS_RT(nOpcode)) { + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + if (nAddressJump == nAddress) { + if (anCode != NULL) { + anCode[iCode++] = 0x3CA00000 | ((u32)nAddress >> 16); + anCode[iCode++] = 0x60A50000 | ((u32)nAddress & 0xFFFF); + } else { + iCode += 2; + } + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfIdle - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + } else { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x7C000000 | (iRegisterB << 16) | (iRegisterC << 11)); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + EMIT_PPC(iJump, 0x40820000 | (((iCode - iJump) & 0x3FFF) << 2)); + } + break; + case 0x05: // bne + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterC << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x7C000000 | (iRegisterB << 16) | (iRegisterC << 11)); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + EMIT_PPC(iJump, 0x41820000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x06: // blez + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + EMIT_PPC(iJump, 0x41810000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x07: // bgtz + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + EMIT_PPC(iJump, 0x40810000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x08: { // addi + bool var_r10; + + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + } + var_r10 = false; + var_r3 = false; + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + var_r3 = true; + } + nTemp1 = MIPS_IMM_U16(nOpcode); + if ((s16)nTemp1 == 0) { + if ((MIPS_RS(nOpcode) == 31) && !(pCPU->nFlagCODE & 4)) { + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + var_r10 = true; + pCPU->nFlagCODE |= 8; + } else if (!var_r3) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, + 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterB << 11)); + } + } else { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + } else { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + } + if (MIPS_RT(nOpcode) == 31) { + pCPU->nFlagCODE |= 2; + if (pCPU->nFlagCODE & 8) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); + } + } + } else if (MIPS_RS(nOpcode) == 0) { + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | nTemp1); + var_r10 = true; + } else { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | (iRegisterB << 16) | nTemp1); + var_r10 = true; + } + if (var_r10 && (ganMapGPR[MIPS_RT(nOpcode)] & 0x100)) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + break; + } + case 0x09: { // addiu + bool var_r10; + + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + } + + var_r10 = false; + var_r3 = false; + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + var_r3 = true; + } + nTemp1 = MIPS_IMM_U16(nOpcode); + if ((s16)nTemp1 == 0) { + if ((MIPS_RS(nOpcode) == 31) && !(pCPU->nFlagCODE & 4)) { + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + var_r10 = true; + pCPU->nFlagCODE |= 8; + } else if (!var_r3) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, + 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterB << 11)); + } + } else { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + } else { + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + } + if (MIPS_RT(nOpcode) == 31) { + pCPU->nFlagCODE |= 2; + if (pCPU->nFlagCODE & 8) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, + 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); + } + } + } else if (MIPS_RS(nOpcode) == 0) { + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | nTemp1); + var_r10 = true; + } else if (!cpuNextInstruction(pCPU, nAddress, nOpcode, anCode, &iCode)) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | (iRegisterB << 16) | nTemp1); + var_r10 = true; + } + if (var_r10 && (ganMapGPR[MIPS_RT(nOpcode)] & 0x100)) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + break; + } + case 0x0A: // slti + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x4180000C); + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21)); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | 1); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x0B: // sltiu + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38E00000 | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x7C003840 | (iRegisterB << 16)); + EMIT_PPC(iCode, 0x4180000C); + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21)); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | 1); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x0C: // andi + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x70000000 | (iRegisterB << 21) | (iRegisterA << 16) | MIPS_IMM_U16(nOpcode)); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x0D: // ori + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + } + if (!cpuNextInstruction(pCPU, nAddress, nOpcode, anCode, &iCode)) { + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x60000000 | (iRegisterB << 21) | (iRegisterA << 16) | MIPS_IMM_U16(nOpcode)); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + break; + case 0x0E: // xori + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + } + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x68000000 | (iRegisterB << 21) | (iRegisterA << 16) | MIPS_IMM_U16(nOpcode)); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x0F: // lui + if (!ramGetSize(SYSTEM_RAM(pCPU->pHost), &nSize)) { + return false; + } + nTemp1 = MIPS_IMM_U16(nOpcode); + if ((u32)nTemp1 >= 0x8000 && (u32)nTemp1 <= (0x8000 | (nSize >> 16))) { + pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + } + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + EMIT_PPC(iCode, 0x3C000000 | (iRegisterA << 21) | nTemp1); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + pCPU->nOptimize.checkType = 0x3E8; + pCPU->nOptimize.checkNext = nAddress; + } + break; + case 0x10: // cop0 + switch (MIPS_FUNCT(nOpcode)) { + case 0x01: // tlbr + case 0x02: // tlbwi + case 0x05: // tlbwr + case 0x08: // tlbp + case 0x18: // eret + break; + default: + switch (MIPS_RS(nOpcode)) { + case 0x00: // mfc0 + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x01: // dmfc0 + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x04: // mtc0 + break; + case 0x05: // dmtc0 + break; + case 0x08: // dmtc0 + if ((s32)MIPS_RS(nOpcode) >= 4 || (s32)MIPS_RS(nOpcode) < 0) { + bFlag = false; + } + break; + default: + bFlag = false; + break; + } + break; + } + break; + case 0x11: // cop1 + if ((nOpcode & 0x7FF) == 0 && MIPS_FMT(nOpcode) < 0x10) { + switch ((u8)MIPS_FMT(nOpcode)) { + case 0x00: // mfc1 + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + iRegisterB = MIPS_FS(nOpcode); + if (iRegisterB % 2 == 1) { + EMIT_PPC(iCode, + (0x80030000 | (iRegisterA << 21)) + OFFSETOF(pCPU, aFPR[iRegisterB - 1])); + } else { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + } + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, + 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x01: // dmfc1 + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + iRegisterB = MIPS_FS(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + EMIT_PPC(iCode, 0x90C30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); + } + break; + case 0x02: // cfc1 + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + iRegisterB = MIPS_FS(nOpcode); + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + OFFSETOF(pCPU, anFCR[iRegisterB])); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, + 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + break; + case 0x04: // mtc1 + iRegisterB = MIPS_FS(nOpcode); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + if (iRegisterB % 2 == 1) { + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterB - 1])); + } else { + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + } + } else { + if (iRegisterB % 2 == 1) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + OFFSETOF(pCPU, aFPR[iRegisterB - 1])); + } else { + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + } + } + break; + case 0x05: // dmtc1 + if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + iRegisterB = MIPS_FS(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + EMIT_PPC(iCode, 0x90C30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + break; + case 0x06: // ctc1 + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + iRegisterB = MIPS_FS(nOpcode); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + OFFSETOF(pCPU, anFCR[iRegisterB])); + break; + default: + bFlag = false; + break; + } + } else if (MIPS_FMT(nOpcode) == 0x08) { + switch (MIPS_FT(nOpcode)) { + case 0x00: // bc1f + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + EMIT_PPC(iCode, 0x3CA00080); + EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, anFCR[31]) & 0xFFFF)); + EMIT_PPC(iCode, 0x7CC62839); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + EMIT_PPC(iJump, 0x40820000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x01: // bc1t + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + EMIT_PPC(iCode, 0x3CA00080); + EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, anFCR[31]) & 0xFFFF)); + EMIT_PPC(iCode, 0x7CC62839); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + EMIT_PPC(iJump, 0x41820000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x02: // bc1fl + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + EMIT_PPC(iCode, 0x3CA00080); + EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, anFCR[31]) & 0xFFFF)); + EMIT_PPC(iCode, 0x7CC62839); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + EMIT_PPC(iJump, 0x40820000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x03: // bc1tl + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + EMIT_PPC(iCode, 0x3CA00080); + EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, anFCR[31]) & 0xFFFF)); + EMIT_PPC(iCode, 0x7CC62839); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + EMIT_PPC(iJump, 0x41820000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + default: + bFlag = false; + break; + } + } else { + switch ((u8)MIPS_FMT(nOpcode)) { + case 0x10: // s + switch (MIPS_FUNCT(nOpcode)) { + case 0x00: // add.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (iRegisterB != iRegisterC) { + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0xEC00002A | (iRegisterA << 21) | (iRegisterB << 16) | + (iRegisterC << 11)); + EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x01: // sub.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xEC000028 | (iRegisterA << 21) | (iRegisterB << 16) | + (iRegisterC << 11)); + EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x02: // mul.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (iRegisterB != iRegisterC) { + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0xEC000032 | (iRegisterA << 21) | (iRegisterB << 16) | + (iRegisterC << 6)); + EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x03: // div.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xEC000024 | (iRegisterA << 21) | (iRegisterB << 16) | + (iRegisterC << 11)); + EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x04: // sqrt.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + } + EMIT_PPC(iCode, + 0x48000000 | + ((cpuCompile_S_SQRT_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | + 1); + EMIT_PPC(iCode, 0xD0230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + break; + case 0x05: // abs.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000210 | (iRegisterA << 21) | (iRegisterB << 11)); + EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x06: // mov.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + EMIT_PPC(iCode, 0xD0230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + break; + case 0x07: // neg.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000050 | (iRegisterA << 21) | (iRegisterB << 11)); + EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x08: // round.l.s + break; + case 0x09: // trunc.l.s + break; + case 0x0A: // ceil.l.s + break; + case 0x0B: // floor.l.s + break; + case 0x0C: // round.w.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + } + EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_ROUND_W_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + break; + case 0x0D: // trunc.w.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + } + EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_TRUNC_W_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + break; + case 0x0E: // ceil.w.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + OSReport("CALLED: ceil_w single (%p)\n", nAddress); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + } + EMIT_PPC(iCode, + 0x48000000 | + ((cpuCompile_CEIL_W_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | + 1); + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + break; + case 0x0F: // floor.w.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + OSReport("CALLED: floor_w single (%p)\n", nAddress); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + } + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_FLOOR_W_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + break; + case 0x20: // cvt.s.s + OSReport("ERROR: CVT_S_S\n"); + break; + case 0x21: // cvt.d.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + EMIT_PPC(iCode, 0xD8230000 + OFFSETOF(pCPU, aFPR[iRegisterA])); + break; + case 0x24: // cvt.w.s + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + } + EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_TRUNC_W_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + break; + case 0x25: // cvt.l.s + break; + case 0x30: // c.f.s + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x31: // c.un.s + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x32: // c.eq.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x33: // c.ueq.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x34: // c.olt.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4080000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x35: // c.ult.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4080000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x36: // c.ole.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4C401382); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x37: // c.ule.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4C401382); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x38: // c.sf.s + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x39: // c.ngle.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4C401382); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3A: // c.seq.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3B: // c.ngl.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3C: // c.lt.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4080000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3D: // c.nge.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4080000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3E: // c.le.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4C401382); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3F: // c.ngt.s + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4C401382); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + default: + bFlag = false; + break; + } + break; + case 0x11: // d + switch (MIPS_FUNCT(nOpcode)) { + case 0x00: // add.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (iRegisterB != iRegisterC) { + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0xFC00002A | (iRegisterA << 21) | (iRegisterB << 16) | + (iRegisterC << 11)); + EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x01: // sub.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000028 | (iRegisterA << 21) | (iRegisterB << 16) | + (iRegisterC << 11)); + EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + + ((OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x02: // mul.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (iRegisterB != iRegisterC) { + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0xFC000032 | (iRegisterA << 21) | (iRegisterB << 16) | + (iRegisterC << 6)); + EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x03: // div.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000024 | (iRegisterA << 21) | (iRegisterB << 16) | + (iRegisterC << 11)); + EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x04: // sqrt.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + } + EMIT_PPC(iCode, + 0x48000000 | + ((cpuCompile_D_SQRT_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | + 1); + EMIT_PPC(iCode, 0xD8230000 + OFFSETOF(pCPU, aFPR[iRegisterA])); + break; + case 0x05: // abs.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000210 | (iRegisterA << 21) | (iRegisterB << 11)); + EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x06: // mov.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + EMIT_PPC(iCode, 0xD8230000 + OFFSETOF(pCPU, aFPR[iRegisterA])); + break; + case 0x07: // neg.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000050 | (iRegisterA << 21) | (iRegisterB << 11)); + EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF)); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = iRegisterA; + break; + case 0x08: // round.l.d + break; + case 0x09: // trunc.l.d + break; + case 0x0A: // ceil.l.d + break; + case 0x0B: // floor.l.d + break; + case 0x0C: // round.w.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + } + EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_ROUND_W_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + break; + case 0x0D: // trunc.w.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + } + EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_TRUNC_W_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + break; + case 0x0E: // ceil.w.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + OSReport("CALLED: ceil_w double (%p)\n", nAddress); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + } + EMIT_PPC(iCode, + 0x48000000 | + ((cpuCompile_CEIL_W_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | + 1); + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + break; + case 0x0F: // floor.w.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + OSReport("CALLED: floor_w double (%p)\n", nAddress); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + } + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_FLOOR_W_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + break; + case 0x20: // cvt.s.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + EMIT_PPC(iCode, 0xD0230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + break; + case 0x21: // cvt.d.d + OSReport("ERROR: CVT_S_D\n"); + break; + case 0x24: // cvt.w.d + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); + } else { + EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + } + EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_TRUNC_W_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + break; + case 0x25: // cvt.l.d + break; + case 0x30: // c.f.d + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x31: // c.un.d + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x32: // c.eq.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x33: // c.ueq.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x34: // c.olt.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4080000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x35: // c.ult.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4080000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x36: // c.ole.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4C401382); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x37: // c.ule.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4C401382); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x38: // c.sf.d + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x39: // c.ngle.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4C401382); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3A: // c.seq.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3B: // c.ngl.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3C: // c.lt.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4080000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3D: // c.nge.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4080000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3E: // c.le.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4C401382); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + case 0x3F: // c.ngt.d + iRegisterB = MIPS_FS(nOpcode); + iRegisterC = MIPS_FT(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); + } + if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { + EMIT_PPC(iCode, 0x60000000); + } else { + EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + + (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); + } + EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); + EMIT_PPC(iCode, 0x4C401382); + EMIT_PPC(iCode, 0x4082000C); + EMIT_PPC(iCode, 0x64A50080); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x54A5024E); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); + break; + default: + bFlag = false; + break; + } + break; + case 0x14: // w + switch (MIPS_FUNCT(nOpcode)) { + case 0x00: // add.w + OSReport("ERROR: ADD_W\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x01: // sub.w + OSReport("ERROR: SUB_W\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x02: // mul.w + OSReport("ERROR: MUL_W\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x03: // div.w + OSReport("ERROR: DIV_W\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x04: // sqrt.w + OSReport("ERROR: SQRT_W\n"); + break; + case 0x05: // abs.w + OSReport("ERROR: ABS_W\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x06: // mov.w + OSReport("ERROR: MOVE_W\n"); + break; + case 0x07: // neg.w + OSReport("ERROR: NEG_W\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x08: // round.l.w + break; + case 0x09: // trunc.l.w + break; + case 0x0A: // ceil.l.w + break; + case 0x0B: // floor.l.w + break; + case 0x0C: // round.w.w + OSReport("ERROR: ROUND_W_W\n"); + break; + case 0x0D: // trunc.w.w + OSReport("ERROR: TRUNC_W_W\n"); + break; + case 0x0E: // ceil.w.w + OSReport("ERROR: CEIL_W_W\n"); + break; + case 0x0F: // floor.w.w + OSReport("ERROR: FLOOR_W_W\n"); + break; + case 0x20: // cvt.s.w + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_W_CVT_SD_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + EMIT_PPC(iCode, 0xD0230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + break; + case 0x21: // cvt.d.w + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_W_CVT_SD_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + EMIT_PPC(iCode, 0xD8230000 + OFFSETOF(pCPU, aFPR[iRegisterA])); + break; + case 0x24: // cvt.w.w + OSReport("ERROR: CVT_W_W\n"); + break; + case 0x25: // cvt.l.w + break; + case 0x30: // c.f.w + OSReport("ERROR: C.F_W\n"); + break; + case 0x31: // c.un.w + OSReport("ERROR: C.UN_W\n"); + break; + case 0x32: // c.eq.w + OSReport("ERROR: C.EQ_W\n"); + break; + case 0x33: // c.ueq.w + OSReport("ERROR: C.UEQ_W\n"); + break; + case 0x34: // c.olt.w + OSReport("ERROR: C.OLT_W\n"); + break; + case 0x35: // c.ult.w + OSReport("ERROR: C.ULT_W\n"); + break; + case 0x36: // c.ole.w + OSReport("ERROR: C.OLE_W\n"); + break; + case 0x37: // c.ule.w + OSReport("ERROR: C.ULE_W\n"); + break; + case 0x38: // c.sf.w + OSReport("ERROR: C.SF_W\n"); + break; + case 0x39: // c.ngle.w + OSReport("ERROR: C.NGLE_W\n"); + break; + case 0x3A: // c.seq.w + OSReport("ERROR: C.SEQ_W\n"); + break; + case 0x3B: // c.ngl.w + OSReport("ERROR: C.NGL_W\n"); + break; + case 0x3C: // c.lt.w + OSReport("ERROR: C.LT_W\n"); + break; + case 0x3D: // c.nge.w + OSReport("ERROR: C.NGE_W\n"); + break; + case 0x3E: // c.le.w + OSReport("ERROR: C.LE_W\n"); + break; + case 0x3F: // c.ngt.w + OSReport("ERROR: C.NGT_W\n"); + break; + default: + bFlag = false; + break; + } + break; + case 0x15: // l + switch (MIPS_FUNCT(nOpcode)) { + case 0x00: // add.l + OSReport("ERROR: ADD_L\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x01: // sub.l + OSReport("ERROR: SUB_L\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x02: // mul.l + OSReport("ERROR: MUL_L\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x03: // div.l + OSReport("ERROR: DIV_L\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x04: // sqrt.l + OSReport("ERROR: SQRT_L\n"); + break; + case 0x05: // abs.l + OSReport("ERROR: ABS_L\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x06: // mov.l + OSReport("ERROR: MOVE_L\n"); + break; + case 0x07: // neg.l + OSReport("ERROR: NEG_L\n"); + pCPU->nOptimize.destFPR_check = 2; + pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); + break; + case 0x08: // round.l.l + break; + case 0x09: // trunc.l.l + break; + case 0x0A: // ceil.l.l + break; + case 0x0B: // floor.l.l + break; + case 0x0C: // round.w.l + OSReport("ERROR: ROUND_W_L\n"); + break; + case 0x0D: // trunc.w.l + OSReport("ERROR: TRUNC_W_L\n"); + break; + case 0x0E: // ceil.w.l + OSReport("ERROR: CEIL_W_L\n"); + break; + case 0x0F: // floor.w.l + OSReport("ERROR: FLOOR_W_L\n"); + break; + case 0x20: // cvt.s.l + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_L_CVT_SD_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + EMIT_PPC(iCode, 0xFC200818); + EMIT_PPC(iCode, 0xD0230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + break; + case 0x21: // cvt.d.l + iRegisterA = MIPS_FD(nOpcode); + iRegisterB = MIPS_FS(nOpcode); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + EMIT_PPC(iCode, 0x48000000 | + ((cpuCompile_L_CVT_SD_function - (u32)&anCode[iCode]) & + 0x03FFFFFC) | + 1); + EMIT_PPC(iCode, 0xD8230000 + OFFSETOF(pCPU, aFPR[iRegisterA])); + break; + case 0x24: // cvt.w.l + OSReport("ERROR: CVT_W_L\n"); + break; + case 0x25: // cvt.l.l + break; + case 0x30: // c.f.l + OSReport("ERROR: C.F_L\n"); + break; + case 0x31: // c.un.l + OSReport("ERROR: C.UN_L\n"); + break; + case 0x32: // c.eq.l + OSReport("ERROR: C.EQ_L\n"); + break; + case 0x33: // c.ueq.l + OSReport("ERROR: C.UEQ_L\n"); + break; + case 0x34: // c.olt.l + OSReport("ERROR: C.OLT_L\n"); + break; + case 0x35: // c.ult.l + OSReport("ERROR: C.ULT_L\n"); + break; + case 0x36: // c.ole.l + OSReport("ERROR: C.OLE_L\n"); + break; + case 0x37: // c.ule.l + OSReport("ERROR: C.ULE_L\n"); + break; + case 0x38: // c.sf.l + OSReport("ERROR: C.SF_L\n"); + break; + case 0x39: // c.ngle.l + OSReport("ERROR: C.NGLE_L\n"); + break; + case 0x3A: // c.seq.l + OSReport("ERROR: C.SEQ_L\n"); + break; + case 0x3B: // c.ngl.l + OSReport("ERROR: C.NGL_L\n"); + break; + case 0x3C: // c.lt.l + OSReport("ERROR: C.LT_L\n"); + break; + case 0x3D: // c.nge.l + OSReport("ERROR: C.NGE_L\n"); + break; + case 0x3E: // c.le.l + OSReport("ERROR: C.LE_L\n"); + break; + case 0x3F: // c.ngt.l + OSReport("ERROR: C.NGT_L\n"); + break; + default: + bFlag = false; + break; + } + break; + } + } + break; + case 0x12: // cop2 + bFlag = false; + break; + case 0x13: // cop1x + bFlag = false; + break; + case 0x14: // beql + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + if (MIPS_RS(nOpcode) == MIPS_RT(nOpcode)) { + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + } else { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x7C000000 | (iRegisterB << 16) | (iRegisterC << 11)); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + EMIT_PPC(iJump, 0x40820000 | (((iCode - iJump) & 0x3FFF) << 2)); + } + break; + case 0x15: // bnel + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterC = 7; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterC << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x7C000000 | (iRegisterB << 16) | (iRegisterC << 11)); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + EMIT_PPC(iJump, 0x41820000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x16: // blezl + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + EMIT_PPC(iJump, 0x41810000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x17: // bgtzl + nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | + (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); + iJump = iCode++; + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { + return false; + } + *pnAddress -= 4; + + if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { + return false; + } + if (anCode != NULL) { + nDeltaAddress = (nOffset - iCode) * 4; + } + EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); + if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { + return false; + } + EMIT_PPC(iJump, 0x40810000 | (((iCode - iJump) & 0x3FFF) << 2)); + break; + case 0x18: // daddi + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + } + if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, + (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + iRegisterB = MIPS_RT(nOpcode); + EMIT_PPC(iCode, 0x9421FFF0); + EMIT_PPC(iCode, 0x91010008); + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x38E00000 | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x39000000); + EMIT_PPC(iCode, 0x7CE70734); + EMIT_PPC(iCode, 0x2C070000); + EMIT_PPC(iCode, 0x4080000C); + EMIT_PPC(iCode, 0x3900FFFF); + EMIT_PPC(iCode, 0x7D080734); + EMIT_PPC(iCode, 0x7CA53814); + EMIT_PPC(iCode, 0x7CC64114); + EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterB])); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterB])); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x38210010); + if (!((iRegisterB = ganMapGPR[iRegisterB]) & 0x100)) { + EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterB << 16)); + } + break; + case 0x19: // daddiu + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); + } else { + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + } + if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, + (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + iRegisterB = MIPS_RT(nOpcode); + EMIT_PPC(iCode, 0x9421FFF0); + EMIT_PPC(iCode, 0x91010008); + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x38E00000 | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x39000000); + EMIT_PPC(iCode, 0x7CE70734); + EMIT_PPC(iCode, 0x2C070000); + EMIT_PPC(iCode, 0x4080000C); + EMIT_PPC(iCode, 0x3900FFFF); + EMIT_PPC(iCode, 0x7D080734); + EMIT_PPC(iCode, 0x7CA53814); + EMIT_PPC(iCode, 0x7CC64114); + EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterB])); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterB])); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x38210010); + if (!((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterB << 16)); + } + break; + case 0x1F: // library call + if (libraryFunctionReplaced(SYSTEM_LIBRARY(pCPU->pHost), MIPS_IMM_U16(nOpcode))) { + pCPU->nFlagCODE |= 1; + pFunction->nAddress1 = nAddress + 8; + } + break; + case 0x1A: // ldl + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x1B: // ldr + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x27: // lwu + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x20: // lb + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + + if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7CE04214 | (iRegisterB << 16)); + } else { + EMIT_PPC(iCode, 0x60000000); + } + EMIT_PPC(iCode, 0x88070000 | (iRegisterA << 21) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x7C000774 | (iRegisterA << 21) | (iRegisterA << 16)); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } else if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 3); + } else { + cpuCompileNOP(anCode, &iCode, 2); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x41800010); + EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_LB_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterA << 16)); + } + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x21: // lh + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + + if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7CE04214 | (iRegisterB << 16)); + } else { + EMIT_PPC(iCode, 0x60000000); + } + EMIT_PPC(iCode, 0xA0070000 | (iRegisterA << 21) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x7C000734 | (iRegisterA << 21) | (iRegisterA << 16)); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } else if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 3); + } else { + cpuCompileNOP(anCode, &iCode, 2); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x41800010); + EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_LH_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterA << 16)); + } + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x22: // lwl + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x9421FFE8); + EMIT_PPC(iCode, 0x91210008); + EMIT_PPC(iCode, 0x91410010); + if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7C050378 | (iRegisterA << 21) | (iRegisterA << 11)); + } + EMIT_PPC(iCode, 0x7CE54214); + EMIT_PPC(iCode, 0x38E70000 | MIPS_IMM_U16(nOpcode)); + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x81230004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + } else { + EMIT_PPC(iCode, 0x7C090378 | (iRegisterB << 21) | (iRegisterB << 11)); + } + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_LWL_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x91230004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + } else { + EMIT_PPC(iCode, 0x7D204B78 | (iRegisterB << 16)); + } + EMIT_PPC(iCode, 0x81210008); + EMIT_PPC(iCode, 0x81410010); + EMIT_PPC(iCode, 0x38210018); + } + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x23: // lw + if ((nOpcode & 0xFFFF0000) == 0x8FBF0000) { // lw $ra, 0x????($sp) + if ((pCPU->nFlagCODE & 4) && (pCPU->nFlagCODE >> 16) == MIPS_IMM_U16(nOpcode)) { + pCPU->nFlagCODE &= ~2; + if (prev != 0x457) { + pCPU->nFlagCODE &= ~4; + pCPU->nFlagCODE &= 0xFFFF; + } + } + } + if (gpSystem->eTypeROM == SRT_ZELDA2) { + if (nOpcode == 0x8FBF0014 && nOpcodePrev == 0 && nOpcodeNext == 0x27BD0018) { + if (nAddress == 0x8018570C || nAddress == 0x8018628C || nAddress == 0x8017FB5C || + nAddress == 0x8018624C || nAddress == 0x801C0F14 || nAddress == 0x801B9DF4 || + nAddress == 0x801B9D94) { + pCPU->nFlagCODE |= 2; + } + } else if (nOpcode == 0x8FBF0014 && nOpcodePrev == 0x24E40014 && nOpcodeNext == 0x27BD0018) { + pCPU->nFlagCODE |= 2; + } else if (nOpcode == 0x8FBF0014 && nOpcodePrev == 0x00603025 && nOpcodeNext == 0x27BD0050) { + pCPU->nFlagCODE |= 2; + } else if (nOpcode == 0x8FBF001C && nOpcodePrev == 0x248419C4 && nOpcodeNext == 0x8FB00018) { + pCPU->nFlagCODE |= 2; + } + } else if (gpSystem->eTypeROM == SRT_MARIOPARTY1) { + if (nOpcode == 0x8C9F0004 && nOpcodePrev == 0x8C9D0000 && nOpcodeNext == 0x8C900008) { + pCPU->nFlagCODE |= 2; + } + } else if (gpSystem->eTypeROM == SRT_STARFOX) { + if (nOpcode == 0x8FBF003C && nOpcodePrev == 0 && nOpcodeNext == 0xAFB20040) { + pCPU->nFlagCODE |= 2; + } + } + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + + if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7CE04214 | (iRegisterB << 16)); + } else { + EMIT_PPC(iCode, 0x60000000); + } + EMIT_PPC(iCode, 0x80070000 | (iRegisterA << 21) | MIPS_IMM_U16(nOpcode)); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } else if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 3); + } else { + cpuCompileNOP(anCode, &iCode, 2); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x41800010); + EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_LW_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterA << 16)); + } + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x24: // lbu + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + + if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7CE04214 | (iRegisterB << 16)); + } else { + EMIT_PPC(iCode, 0x60000000); + } + EMIT_PPC(iCode, 0x88070000 | (iRegisterA << 21) | MIPS_IMM_U16(nOpcode)); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } else if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 3); + } else { + cpuCompileNOP(anCode, &iCode, 2); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x41800010); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_LBU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterA << 16)); + } + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x25: // lhu + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + + if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7CE04214 | (iRegisterB << 16)); + } else { + EMIT_PPC(iCode, 0x60000000); + } + EMIT_PPC(iCode, 0xA0070000 | (iRegisterA << 21) | MIPS_IMM_U16(nOpcode)); + if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { + pCPU->nOptimize.destGPR_check = 2; + pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); + pCPU->nOptimize.destGPR_mapping = iRegisterA; + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } else if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 3); + } else { + cpuCompileNOP(anCode, &iCode, 2); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x41800010); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_LHU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterA << 16)); + } + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x26: // lwr + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x9421FFE8); + EMIT_PPC(iCode, 0x91210008); + EMIT_PPC(iCode, 0x91410010); + if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } else { + EMIT_PPC(iCode, 0x7C050378 | (iRegisterA << 21) | (iRegisterA << 11)); + } + EMIT_PPC(iCode, 0x7CE54214); + EMIT_PPC(iCode, 0x38E70000 | MIPS_IMM_U16(nOpcode)); + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x81230004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + } else { + EMIT_PPC(iCode, 0x7C090378 | (iRegisterB << 21) | (iRegisterB << 11)); + } + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_LWR_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x91230004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + } else { + EMIT_PPC(iCode, 0x7D204B78 | (iRegisterB << 16)); + } + EMIT_PPC(iCode, 0x81210008); + EMIT_PPC(iCode, 0x81410010); + EMIT_PPC(iCode, 0x38210018); + } + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x28: // sb + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + var_r3 = true; + if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterC = 7; + var_r3 = false; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if (!var_r3 || !cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), -1)) { + EMIT_PPC(iCode, 0x7CE04214 | (iRegisterC << 16)); + } else { + EMIT_PPC(iCode, 0x60000000); + } + EMIT_PPC(iCode, 0x98070000 | (iRegisterB << 21) | MIPS_IMM_U16(nOpcode)); + } else if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 3); + } else { + cpuCompileNOP(anCode, &iCode, 2); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x41800020); + EMIT_PPC(iCode, 0x9421FFF0); + EMIT_PPC(iCode, 0x91010008); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x81030004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + } else { + EMIT_PPC(iCode, 0x7C080378 | (iRegisterA << 21) | (iRegisterA << 11)); + } + EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_SB_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x38210010); + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } + break; + case 0x29: // sh + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + var_r3 = true; + if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterC = 7; + var_r3 = false; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if (!var_r3 || !cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), -1)) { + EMIT_PPC(iCode, 0x7CE04214 | (iRegisterC << 16)); + } else { + EMIT_PPC(iCode, 0x60000000); + } + EMIT_PPC(iCode, 0xB0070000 | (iRegisterB << 21) | MIPS_IMM_U16(nOpcode)); + } else if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 3); + } else { + cpuCompileNOP(anCode, &iCode, 2); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x41800020); + EMIT_PPC(iCode, 0x9421FFF0); + EMIT_PPC(iCode, 0x91010008); + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x81030004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + } else { + EMIT_PPC(iCode, 0x7C080378 | (iRegisterA << 21) | (iRegisterA << 11)); + } + EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_SH_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x38210010); + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } + break; + case 0x2A: // swl + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, + (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + } else { + EMIT_PPC(iCode, 0x7C050378 | (iRegisterB << 21) | (iRegisterB << 11)); + } + EMIT_PPC(iCode, 0x7CE54214); + EMIT_PPC(iCode, 0x38E70000 | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x38C00018); + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x7CA53430); + EMIT_PPC(iCode, 0x98A70000); + EMIT_PPC(iCode, 0x38C6FFF8); + EMIT_PPC(iCode, 0x54E507BF); + EMIT_PPC(iCode, 0x38E70001); + EMIT_PPC(iCode, 0x4082FFE8); + } + break; + case 0x2B: // sw + if ((nOpcode & 0xFFFF0000) == 0xAFBF0000) { // sw $ra, ????($sp) + if (!(pCPU->nFlagCODE & 4)) { + pCPU->nFlagCODE |= 4; + pCPU->nFlagCODE |= MIPS_IMM_U16(nOpcode) << 16; + } + } + if (gpSystem->eTypeROM == SRT_MARIOPARTY1) { + if (nOpcode == 0xAC9F0004 && nOpcodePrev == 0xAC9D0000 && nOpcodeNext == 0xAC900008) { + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, nReturnAddrLast)); + if (ganMapGPR[31] & 0x100) { + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); + } else { + EMIT_PPC(iCode, 0x7CA02B78 | (ganMapGPR[31] << 16)); + } + pCPU->nFlagCODE |= 2; + } + } else if (gpSystem->eTypeROM == SRT_STARFOX && nOpcode == 0xAFBF003C && + nOpcodePrev == 0x0080A025 && nOpcodeNext == 0xAFB00018) { + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, nReturnAddrLast)); + if (ganMapGPR[31] & 0x100) { + EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); + } else { + EMIT_PPC(iCode, 0x7CA02B78 | (ganMapGPR[31] << 16)); + } + pCPU->nFlagCODE |= 2; + } + if (nOpcode == 0xACBF011C) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); + } + } + var_r3 = true; + if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterC = 7; + var_r3 = false; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if (!var_r3 || !cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), -1)) { + EMIT_PPC(iCode, 0x7CE04214 | (iRegisterC << 16)); + } else { + EMIT_PPC(iCode, 0x60000000); + } + EMIT_PPC(iCode, 0x90070000 | (iRegisterB << 21) | MIPS_IMM_U16(nOpcode)); + } else if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 3); + } else { + cpuCompileNOP(anCode, &iCode, 2); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x41800020); + EMIT_PPC(iCode, 0x9421FFF0); + EMIT_PPC(iCode, 0x91010008); + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x81030004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + } else + EMIT_PPC(iCode, 0x7C080378 | (iRegisterB << 21) | (iRegisterB << 11)); + EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_SW_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x38210010); + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } + break; + case 0x2C: // sdl + case 0x2D: // sdr + break; + case 0x2E: // swr + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, ((0x90030000 | (iRegisterA << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4))); + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + } else + EMIT_PPC(iCode, 0x7C050378 | (iRegisterB << 21) | (iRegisterB << 11)); + EMIT_PPC(iCode, 0x7CE54214); + EMIT_PPC(iCode, 0x38E70000 | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x7CA53430); + EMIT_PPC(iCode, 0x98A70000); + EMIT_PPC(iCode, 0x38C60008); + EMIT_PPC(iCode, 0x54E507BF); + EMIT_PPC(iCode, 0x38E7FFFF); + EMIT_PPC(iCode, 0x4082FFE8); + } + break; + case 0x2F: // cache + EMIT_PPC(iCode, 0x60000000); + break; + case 0x30: // sc + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x31: // lwc1 + if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 4); + } else { + cpuCompileNOP(anCode, &iCode, 3); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + iRegisterA = MIPS_RT(nOpcode); + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x41800010); + EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_LW_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (iRegisterA % 2 == 1) { + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterA - 1])); + } else { + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + } + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } else { + if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, + (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + iRegisterB = MIPS_RT(nOpcode); + if (!ramGetSize(SYSTEM_RAM(pCPU->pHost), &nSize)) { + return false; + } + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x3CE08000); + EMIT_PPC(iCode, 0x7C072840); + EMIT_PPC(iCode, 0x41810014); + EMIT_PPC(iCode, 0x3CE08000 | ((nSize >> 16) - 1)); + EMIT_PPC(iCode, 0x60E7FFFF); + EMIT_PPC(iCode, 0x7C072840); + if (var_r17) { + EMIT_PPC(iCode, 0x41810024); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else + EMIT_PPC(iCode, 0x41810014); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x42800028); + EMIT_PPC(iCode, 0x7CE54214); + EMIT_PPC(iCode, 0x38A00000 | iRegisterB); + EMIT_PPC(iCode, 0x70A50001); + EMIT_PPC(iCode, 0x41820010); + EMIT_PPC(iCode, 0x80A70000 | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterB - 1])); + EMIT_PPC(iCode, 0x4280000C); + EMIT_PPC(iCode, 0x80A70000 | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + } + break; + case 0x34: // lld + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x35: // ldc1 + if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 4); + } else { + cpuCompileNOP(anCode, &iCode, 3); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + iRegisterA = MIPS_RT(nOpcode); + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x41800014); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_LDC_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterA])); + EMIT_PPC(iCode, 0x90C30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } else { + if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, + (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + iRegisterB = MIPS_RT(nOpcode); + if (!ramGetSize(SYSTEM_RAM(pCPU->pHost), &nSize)) { + return false; + } + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x3CE08000); + EMIT_PPC(iCode, 0x7C072840); + EMIT_PPC(iCode, 0x41810014); + EMIT_PPC(iCode, 0x3CE08000 | ((nSize >> 16) - 1)); + EMIT_PPC(iCode, 0x60E7FFFF); + EMIT_PPC(iCode, 0x7C072840); + if (var_r17) { + EMIT_PPC(iCode, 0x41810024); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else + EMIT_PPC(iCode, 0x41810014); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x42800018); + EMIT_PPC(iCode, 0x7CE54214); + EMIT_PPC(iCode, 0x80A70000 | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + EMIT_PPC(iCode, 0x80A70000 | (MIPS_IMM_U16(nOpcode) + 4)); + EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + } + break; + case 0x37: // ld + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + iRegisterC = 7; + if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { + EMIT_PPC(iCode, 0x7C004214 | (iRegisterC << 21) | (iRegisterB << 16)); + } else { + EMIT_PPC(iCode, 0x60000000); + } + EMIT_PPC(iCode, 0x80A70000 | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x80070000 | (iRegisterA << 21) | (MIPS_IMM_U16(nOpcode) + 4)); + EMIT_PPC(iCode, + (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); + } else if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 4); + } else { + cpuCompileNOP(anCode, &iCode, 3); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x38: // sc + break; + case 0x39: // swc1 + if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 4); + } else { + cpuCompileNOP(anCode, &iCode, 3); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + iRegisterA = MIPS_RT(nOpcode); + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x41800020); + EMIT_PPC(iCode, 0x9421FFF0); + EMIT_PPC(iCode, 0x91010008); + if (iRegisterA % 2 == 1) { + EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aFPR[iRegisterA - 1])); + } else { + EMIT_PPC(iCode, 0x81030000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + } + EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_SW_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x38210010); + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } else { + if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, + (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + iRegisterB = MIPS_RT(nOpcode); + if (!ramGetSize(SYSTEM_RAM(pCPU->pHost), &nSize)) { + return false; + } + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x3CE08000); + EMIT_PPC(iCode, 0x7C072840); + EMIT_PPC(iCode, 0x41810014); + EMIT_PPC(iCode, 0x3CE08000 | ((nSize >> 16) - 1)); + EMIT_PPC(iCode, 0x60E7FFFF); + EMIT_PPC(iCode, 0x7C072840); + if (var_r17) { + EMIT_PPC(iCode, 0x41810024); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else + EMIT_PPC(iCode, 0x41810014); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x42800024); + EMIT_PPC(iCode, 0x7CE54214); + EMIT_PPC(iCode, 0x38A00000 | iRegisterB); + EMIT_PPC(iCode, 0x70A50001); + EMIT_PPC(iCode, 0x4182000C); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aFPR[iRegisterB - 1])); + EMIT_PPC(iCode, 0x42800008); + EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + EMIT_PPC(iCode, 0x90A70000 | MIPS_IMM_U16(nOpcode)); + } + break; + case 0x3C: // scd + pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); + break; + case 0x3D: // sdc1 + if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 4); + } else { + cpuCompileNOP(anCode, &iCode, 3); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } else if (pCPU->nCompileFlag & 1) { + iRegisterA = MIPS_RT(nOpcode); + if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterB = 6; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x54A6843E); + EMIT_PPC(iCode, 0x7CC648AE); + EMIT_PPC(iCode, 0x2C060080); + EMIT_PPC(iCode, 0x4180002C); + EMIT_PPC(iCode, 0x9421FFE8); + EMIT_PPC(iCode, 0x91010008); + EMIT_PPC(iCode, 0x91210010); + EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aFPR[iRegisterA])); + EMIT_PPC(iCode, 0x81230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); + EMIT_PPC(iCode, + 0x48000000 | ((cpuCompile_SDC_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x81010008); + EMIT_PPC(iCode, 0x81210010); + EMIT_PPC(iCode, 0x38210018); + if (var_r17) { + EMIT_PPC(iCode, 0x42800020); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else { + EMIT_PPC(iCode, 0x42800010); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + } + } else { + if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { + EMIT_PPC(iCode, + (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); + } + iRegisterB = MIPS_RT(nOpcode); + if (!ramGetSize(SYSTEM_RAM(pCPU->pHost), &nSize)) { + return false; + } + EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); + EMIT_PPC(iCode, 0x3CE08000); + EMIT_PPC(iCode, 0x7C072840); + EMIT_PPC(iCode, 0x41810014); + EMIT_PPC(iCode, 0x3CE08000 | ((nSize >> 16) - 1)); + EMIT_PPC(iCode, 0x60E7FFFF); + EMIT_PPC(iCode, 0x7C072840); + if (var_r17) { + EMIT_PPC(iCode, 0x41810024); + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } else + EMIT_PPC(iCode, 0x41810014); + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x42800018); + EMIT_PPC(iCode, 0x7CE54214); + EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); + EMIT_PPC(iCode, 0x90A70000 | MIPS_IMM_U16(nOpcode)); + EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); + EMIT_PPC(iCode, 0x90A70000 | (MIPS_IMM_U16(nOpcode) + 4)); + } + break; + case 0x3F: // sd + if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { + var_r3 = true; + if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { + iRegisterC = 7; + var_r3 = false; + if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { + EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | + (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); + } else { + EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); + } + } + if (!var_r3 || !cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), -1)) { + EMIT_PPC(iCode, 0x7CE04214 | (iRegisterC << 16)); + } else { + EMIT_PPC(iCode, 0x60000000); + } + EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + EMIT_PPC(iCode, 0x90C70000 | MIPS_IMM_U16(nOpcode)); + if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { + iRegisterB = 6; + EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); + } + EMIT_PPC(iCode, 0x90070000 | (iRegisterB << 21) | (MIPS_IMM_U16(nOpcode) + 4)); + } else if (pCPU->nCompileFlag & 0x10) { + if (var_r17) { + EMIT_PPC(iCode, 0x38C00000); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); + EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); + EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); + if (pCPU->nCompileFlag & 0x100) { + cpuCompileNOP(anCode, &iCode, 4); + } else { + cpuCompileNOP(anCode, &iCode, 3); + } + if (var_r17) { + EMIT_PPC(iCode, 0x38C0FFFF); + EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); + } + } + break; + default: + bFlag = false; + break; + } + } + + if (!bFlag) { + return false; + } + if (!bSlot && pFunction->pfCode == NULL) { + if (nAddressJump != -1 && anCode == NULL) { + pFunction->aJump[pFunction->nCountJump++].nAddressN64 = nAddressJump; + } + for (iJump = 0; iJump < pFunction->nCountJump; iJump++) { + if (pFunction->aJump[iJump].nAddressN64 == nAddress) { + pFunction->aJump[iJump].nOffsetHost = *piCode; + } + } + } + if (iCode == *piCode) { + if (anCode != NULL) { + if (var_r17) { + anCode[iCode++] = 0x38C00000; + anCode[iCode++] = 0x90C30000 + OFFSETOF(pCPU, nWaitPC); + } + anCode[iCode++] = 0x3CA00000 | ((u32)nAddress >> 16); + anCode[iCode++] = 0x60A50000 | ((u32)nAddress & 0xFFFF); + anCode[iCode++] = 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1; + } else { + iCode += var_r17 ? 5 : 3; + } + if ((pCPU->nFlagCODE & 1) && anCode == NULL && pFunction->pfCode == NULL) { + iCode += 6; + *pnAddress = pFunction->nAddress1 + 4; + } + if (var_r17) { + if (anCode != NULL) { + anCode[iCode++] = 0x38C0FFFF; + anCode[iCode++] = 0x90C30000 + OFFSETOF(pCPU, nWaitPC); + } else { + iCode += 2; + } + } + } + + if (update) { + pCPU->nOptimize.addr_last = -1; + if (anCode != NULL) { + anCode[iUpdate] = 0x42800000 | (((iCode - iUpdate) * 4) & 0xFFFC); + } + } + + *piCode = iCode; + if (anCode != NULL) { + if (var_r17) { + pCPU->nOptimize.destGPR_check = 0; + pCPU->nOptimize.destFPR_check = 0; + pCPU->nOptimize.checkNext = 0; + } else if (pCPU->nOptimize.destGPR_check == 2) { + pCPU->nOptimize.destGPR_check = 1; + pCPU->nOptimize.destFPR_check = 0; + } else if (pCPU->nOptimize.destFPR_check == 2) { + pCPU->nOptimize.destFPR_check = 1; + pCPU->nOptimize.destGPR_check = 0; + } else { + pCPU->nOptimize.destGPR_check = 0; + pCPU->nOptimize.destFPR_check = 0; + } + } + + if (var_r17 || pCPU->nOptimize.addr_check == 0) { + pCPU->nOptimize.addr_last = -1; + } + + return true; + } else { + return false; + } +} + +/** + * @brief Creates a new recompiled function block. + * + * @param pCPU The emulated VR4300. + * @param ppFunction A pointer to an already recompiled function, or one that has been created. + * @param nAddressN64 The N64 address of the function to find or create. + * @return bool true on success, false otherwise. + */ +bool cpuMakeFunction(Cpu* pCPU, CpuFunction** ppFunction, s32 nAddressN64) { + s32 iCode; + s32 iCode0; + s32 pad; + s32 iJump; + s32 iCheck; + s32 firstTime; + s32 kill_value; + s32 memory_used; + s32 codeMemory; + s32 blockMemory; + s32* chunkMemory; + s32* anCode; + s32 nAddress; + CpuFunction* pFunction; + CpuJump aJump[1024]; + + firstTime = 1; + if (!cpuFindFunction(pCPU, nAddressN64, &pFunction)) { + return false; + } + + if (pFunction->pfCode == NULL) { + libraryTestFunction(SYSTEM_LIBRARY(pCPU->pHost), pFunction); + pFunction->nCountJump = 0; + pFunction->aJump = aJump; + pCPU->nFlagRAM = 0x20000000; + pCPU->nFlagCODE = 0; + pFunction->callerID_total = 0; + pFunction->callerID_flag = 0xB; + pCPU->nOptimize.validCheck = 1; + pCPU->nOptimize.checkNext = 0; + + iCode = 0; + nAddress = pFunction->nAddress0; + while (nAddress <= pFunction->nAddress1) { + if (!cpuGetPPC(pCPU, &nAddress, pFunction, NULL, &iCode, false)) { + return false; + } + } + + iCode0 = iCode; + codeMemory = iCode * sizeof(s32); + memory_used = codeMemory; + + iCheck = pFunction->callerID_total; + if (iCheck != 0) { + blockMemory = iCheck * sizeof(CpuCallerID); + memory_used += blockMemory; + } else { + blockMemory = 0; + } + + if (pFunction->nCountJump > 0) { + memory_used += pFunction->nCountJump * sizeof(CpuJump); + } + + while (true) { + if (cpuHeapTake(&chunkMemory, pCPU, pFunction, memory_used)) { + break; + } + + if (firstTime) { + firstTime = 0; + kill_value = pCPU->survivalTimer - 300; + } else { + kill_value += 95; + if (kill_value > pCPU->survivalTimer - 10) { + kill_value = pCPU->survivalTimer - 10; + } + } + + treeForceCleanUp(pCPU, pFunction, kill_value); + } + + anCode = chunkMemory; + if (blockMemory != 0) { + pFunction->block = (CpuCallerID*)((u8*)chunkMemory + codeMemory); + treeCallerInit(pFunction->block, iCheck); + } + + pCPU->nFlagRAM = 0x20000000; + pCPU->nFlagCODE = 0; + pFunction->callerID_total = 0; + pFunction->callerID_flag = 0x16; + pCPU->nOptimize.checkNext = 0; + pCPU->nOptimize.destGPR_check = 0; + pCPU->nOptimize.destFPR_check = 0; + + iCode = 0; + nAddress = pFunction->nAddress0; + while (nAddress <= pFunction->nAddress1) { + if (!cpuGetPPC(pCPU, &nAddress, pFunction, anCode, &iCode, false)) { + return false; + } + } + + while (iCode != iCode0) { + anCode[iCode++] = 0x60000000; + } + + pFunction->callerID_flag = 0x21; + pFunction->pfCode = anCode; + DCStoreRange(pFunction->pfCode, iCode * 4); + ICInvalidateRange(pFunction->pfCode, iCode * 4); + + if (pFunction->nCountJump > 0) { + if (pFunction->nCountJump >= 0x400) { + return false; + } + + pFunction->aJump = (CpuJump*)((u8*)chunkMemory + codeMemory + blockMemory); + for (iJump = 0; iJump < pFunction->nCountJump; iJump++) { + pFunction->aJump[iJump].nOffsetHost = aJump[iJump].nOffsetHost; + pFunction->aJump[iJump].nAddressN64 = aJump[iJump].nAddressN64; + } + } else { + pFunction->aJump = NULL; + } + + pFunction->memory_size = memory_used; + pCPU->gTree->total_memory += memory_used; + } + + if (ppFunction != NULL) { + *ppFunction = pFunction; + } + + return true; +} + +/** + * @brief Searches the recompiled block cache for an address, or creates a new block if one cannot be found. + * + * @param pCPU The emulated VR4300. + * @param nAddressN64 N64 code address to search for. + * @param pnAddressGCN A pointer to set the found PPC code to. + * @return bool true on success, false otherwise. + */ +static bool cpuFindAddress(Cpu* pCPU, s32 nAddressN64, s32* pnAddressGCN) { + s32 iJump; + s32 iCode; + s32 nAddress; + CpuFunction* pFunction; + s32 pad; + + if (pCPU->nMode & 0x20) { + pCPU->nMode &= ~0x20; + } + + if (cpuFindCachedAddress(pCPU, nAddressN64, pnAddressGCN)) { + return true; + } + + if ((pFunction = pCPU->pFunctionLast) == NULL || nAddressN64 < pFunction->nAddress0 || + pFunction->nAddress1 < nAddressN64) { + if (!cpuMakeFunction(pCPU, &pFunction, nAddressN64)) { + return false; + } + } + + for (iJump = 0; iJump < pFunction->nCountJump; iJump++) { + if (pFunction->aJump[iJump].nAddressN64 == nAddressN64) { + *pnAddressGCN = (s32)((s32*)pFunction->pfCode + pFunction->aJump[iJump].nOffsetHost); + if (pFunction->timeToLive > 0) { + pFunction->timeToLive = pCPU->survivalTimer; + } + cpuMakeCachedAddress(pCPU, nAddressN64, *pnAddressGCN, pFunction); + return true; + } + } + + pCPU->nFlagRAM = 0x20000000; + pCPU->nFlagCODE = 0; + pFunction->callerID_flag = 0x21; + iCode = 0; + if (pFunction->nAddress0 != nAddressN64) { + pFunction->timeToLive = 0; + } + + nAddress = pFunction->nAddress0; + while (nAddress <= pFunction->nAddress1) { + if (nAddress == nAddressN64) { + *pnAddressGCN = (s32)((s32*)pFunction->pfCode + iCode); + if (pFunction->timeToLive > 0) { + pFunction->timeToLive = pCPU->survivalTimer; + } + cpuMakeCachedAddress(pCPU, nAddressN64, *pnAddressGCN, pFunction); + return true; + } + if (!cpuGetPPC(pCPU, &nAddress, pFunction, NULL, &iCode, false)) { + return false; + } + } + + return false; +} + +static inline bool cpuNoBranchTo(CpuFunction* pFunction, s32 addressN64) { + s32 i; + + for (i = 0; i < pFunction->nCountJump; i++) { + if (pFunction->aJump[i].nAddressN64 == addressN64) { + return false; + } + } + + return true; +} + +static inline bool cpuCutStoreLoad(Cpu* pCPU, s32 currentAddress, s32 source) { + if (pCPU->nOptimize.validCheck == 0) { + return false; + } + if (pCPU->nOptimize.destGPR_check == 0) { + return false; + } + if (source != pCPU->nOptimize.destGPR) { + return false; + } + + if (!cpuNoBranchTo(pCPU->pFunctionLast, currentAddress)) { + pCPU->nOptimize.destGPR_check = 0; + return false; + } + + pCPU->nOptimize.destGPR_check = 0; + return true; +} + +static inline bool cpuCutStoreLoadF(Cpu* pCPU, s32 currentAddress, s32 source) { + if (pCPU->nOptimize.validCheck == 0) { + return false; + } + if (pCPU->nOptimize.destFPR_check == 0) { + return false; + } + if (source != pCPU->nOptimize.destFPR) { + return false; + } + + if (!cpuNoBranchTo(pCPU->pFunctionLast, currentAddress)) { + pCPU->nOptimize.destFPR_check = 0; + return false; + } + + pCPU->nOptimize.destFPR_check = 0; + return true; +} + +static inline bool cpuStackOffset(Cpu* pCPU, s32 currentAddress, s32* anCode, s32 source, s32 target) { + if (anCode == NULL) { + return false; + } + if (pCPU->nOptimize.validCheck == 0) { + return false; + } + + if (!cpuNoBranchTo(pCPU->pFunctionLast, currentAddress)) { + return false; + } + + pCPU->nOptimize.addr_check = 1; + if (source == target) { + pCPU->nOptimize.addr_last = -1; + return false; + } else if (pCPU->nOptimize.addr_last != source) { + pCPU->nOptimize.addr_last = source; + return false; + } + + return true; +} + +static bool cpuNextInstruction(Cpu* pCPU, s32 addressN64, s32 opcode, s32* anCode, s32* iCode) { + if (anCode == NULL) { + return false; + } + if (pCPU->nOptimize.validCheck == 0) { + return false; + } + if (pCPU->nOptimize.checkNext != addressN64 - 4) { + pCPU->nOptimize.checkNext = 0; + return false; + } + pCPU->nOptimize.checkNext = 0; + + if (!cpuNoBranchTo(pCPU->pFunctionLast, addressN64)) { + return false; + } + + switch (MIPS_OP(opcode)) { + case 0x0D: // ori + if (pCPU->nOptimize.destGPR == MIPS_RS(opcode) && MIPS_RS(opcode) == MIPS_RT(opcode)) { + if (pCPU->nOptimize.checkType != 0x3E8) { + return false; + } + anCode[*iCode - 1] = 0x60000000; + anCode[(*iCode)++] = 0x60000000 | (pCPU->nOptimize.destGPR_mapping << 21) | + (pCPU->nOptimize.destGPR_mapping << 16) | MIPS_IMM_U16(opcode); + anCode[(*iCode)++] = 0x60000000; + anCode[(*iCode)++] = (0x90030000 | (pCPU->nOptimize.destGPR_mapping << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(opcode)]) + 4); + pCPU->nOptimize.destGPR_check = 2; + return true; + } + return false; + case 0x09: // addiu + if (pCPU->nOptimize.destGPR == MIPS_RS(opcode) && MIPS_RS(opcode) == MIPS_RT(opcode)) { + if (pCPU->nOptimize.checkType != 0x3E8) { + return false; + } + anCode[*iCode - 1] = 0x60000000; + anCode[(*iCode)++] = 0x38000000 | (pCPU->nOptimize.destGPR_mapping << 21) | + (pCPU->nOptimize.destGPR_mapping << 16) | MIPS_IMM_U16(opcode); + anCode[(*iCode)++] = 0x60000000; + anCode[(*iCode)++] = (0x90030000 | (pCPU->nOptimize.destGPR_mapping << 21)) + + (OFFSETOF(pCPU, aGPR[MIPS_RT(opcode)]) + 4); + pCPU->nOptimize.destGPR_check = 2; + return true; + } + return false; + default: + OSReport("ERROR in cpuNextInstruction() with opcode %p at %p\n", opcode, addressN64); + OSPanic("_cpuGCN.c", 3621, ""); + break; + } + + return false; +} + +void cpuRetraceCallback(u32 nCount) { SYSTEM_CPU(gpSystem)->nRetrace = nCount; } + +static bool cpuExecuteUpdate(Cpu* pCPU, s32* pnAddressGCN, u32 nCount) { + RspUpdateMode eModeUpdate; + System* pSystem; + s32 nDelta; + u32 nCounter; + u32 nCompare; + + u32 nCounterDelta; + CpuTreeRoot* root; + + pSystem = (System*)pCPU->pHost; + + if (!romUpdate(SYSTEM_ROM(pSystem))) { + return false; + } + + if (pSystem->eTypeROM == SRT_DRMARIO) { + eModeUpdate = pSystem->bException ? RUM_NONE : RUM_IDLE; + } else { + eModeUpdate = ((pCPU->nMode & 0x80) && !pSystem->bException) ? RUM_IDLE : RUM_NONE; + } + if (!rspUpdate(SYSTEM_RSP(pSystem), eModeUpdate)) { + return false; + } + + root = pCPU->gTree; + treeTimerCheck(pCPU); + if (pCPU->nRetrace == pCPU->nRetraceUsed && root->kill_number < 12) { + if (treeKillReason(pCPU, &root->kill_limit)) { + pCPU->survivalTimer++; + } + if (root->kill_limit != 0) { + treeCleanUp(pCPU, root); + } + } + + if (nCount > pCPU->nTickLast) { + nCounterDelta = fTickScale * ((nCount - pCPU->nTickLast) << nTickMultiplier); + } else { + nCounterDelta = fTickScale * ((-1 - pCPU->nTickLast + nCount) << nTickMultiplier); + } + if ((pCPU->nMode & 0x40) && pCPU->nRetraceUsed != pCPU->nRetrace) { + if (videoForceRetrace(SYSTEM_VIDEO(pSystem), true)) { + nDelta = pCPU->nRetrace - pCPU->nRetraceUsed; + if (nDelta < 0) { + nDelta = -nDelta; + } + + if (nDelta < 4) { + pCPU->nRetraceUsed++; + } else { + pCPU->nRetraceUsed = ((Cpu*)pCPU)->nRetrace; + } + } + } + + if (pCPU->nMode & 1) { + nCounter = pCPU->anCP0[9]; + nCompare = pCPU->anCP0[11]; + if ((nCounter <= nCompare && nCounter + nCounterDelta >= nCompare) || + (nCounter >= nCompare && nCounter + nCounterDelta >= nCompare && nCounter + nCounterDelta < nCounter)) { + pCPU->nMode &= ~1; + xlObjectEvent(pCPU->pHost, 0x1000, (void*)3); + } + } + pCPU->anCP0[9] += nCounterDelta; + + if ((pCPU->nMode & 8) && !(pCPU->nMode & 4) && gpSystem->bException) { + if (!systemCheckInterrupts(gpSystem)) { + return false; + } + } + + if (pCPU->nMode & 4) { + pCPU->nMode &= ~0x84; + if (!cpuFindAddress(pCPU, pCPU->nPC, pnAddressGCN)) { + return false; + } + } + return true; +} + +#include "emulator/_cpuDecodePPC2.c" + +static inline bool cpuCheckInterrupts(Cpu* pCPU) { + System* pSystem; + + pSystem = (System*)pCPU->pHost; + if (pSystem->bException) { + if (!systemCheckInterrupts(pSystem)) { + return false; + } + } else { + videoForceRetrace(SYSTEM_VIDEO(pSystem), false); + } + + return true; +} + +static inline bool cpuExecuteCacheInstruction(Cpu* pCPU) { + s32* pBuffer; + + if (!cpuGetAddressBuffer(pCPU, (void**)&pBuffer, pCPU->nPC)) { + return false; + } + pBuffer[-1] = 0; + pBuffer -= (pCPU->nPC - pCPU->nCallLast) >> 2; + pBuffer[0] = 0x03E00008; + pBuffer[1] = 0; + + return true; +} + +static s32 cpuExecuteOpcode(Cpu* pCPU, s32 nCount0, s32 nAddressN64, s32 nAddressGCN) { + s32 pad1[2]; + u64 save; + s32 restore; + u32 nOpcode; + u32* opcode; + s32 pad2; + CpuDevice** apDevice; + u8* aiDevice; + s32 iEntry; + s32 nCount; + s8 nData8; + s16 nData16; + s32 nData32; + s64 nData64; + s32 nAddress; + CpuFunction* pFunction; + s32 nTick; + s32 pad3[2]; + + restore = 0; + nTick = OSGetTick(); + if (pCPU->nWaitPC != 0) { + pCPU->nMode |= 8; + } else { + pCPU->nMode &= ~8; + } + + aiDevice = pCPU->aiDevice; + apDevice = pCPU->apDevice; + + ramGetBuffer(SYSTEM_RAM(pCPU->pHost), &opcode, nAddressN64, NULL); + nOpcode = *opcode; + pCPU->nPC = nAddressN64 + 4; + if (nOpcode == 0xACBF011C) { // sw $ra,0x11C($a1) + save = pCPU->aGPR[31].u64; + restore = 1; + pCPU->aGPR[31].s32 = pCPU->nReturnAddrLast; + } + + switch (MIPS_OP(nOpcode)) { + case 0x00: // special + switch (MIPS_FUNCT(nOpcode)) { + case 0x00: // sll + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = pCPU->aGPR[MIPS_RT(nOpcode)].s32 << MIPS_SA(nOpcode); + break; + case 0x02: // srl + pCPU->aGPR[MIPS_RD(nOpcode)].u32 = pCPU->aGPR[MIPS_RT(nOpcode)].u32 >> MIPS_SA(nOpcode); + break; + case 0x03: // sra + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = pCPU->aGPR[MIPS_RT(nOpcode)].s32 >> MIPS_SA(nOpcode); + break; + case 0x04: // sllv + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = pCPU->aGPR[MIPS_RT(nOpcode)].s32 + << (pCPU->aGPR[MIPS_RS(nOpcode)].s32 & 0x1F); + break; + case 0x06: // srlv + pCPU->aGPR[MIPS_RD(nOpcode)].u32 = + pCPU->aGPR[MIPS_RT(nOpcode)].u32 >> (pCPU->aGPR[MIPS_RS(nOpcode)].s32 & 0x1F); + break; + case 0x07: // srav + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = + pCPU->aGPR[MIPS_RT(nOpcode)].s32 >> (pCPU->aGPR[MIPS_RS(nOpcode)].s32 & 0x1F); + break; + case 0x08: // jr + pCPU->nWaitPC = pCPU->aGPR[MIPS_RS(nOpcode)].u32; + break; + case 0x09: // jalr + pCPU->nWaitPC = pCPU->aGPR[MIPS_RS(nOpcode)].u32; + pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->nPC + 4; + break; + case 0x0C: // syscall + cpuException(pCPU, CEC_SYSCALL, 0); + break; + case 0x0D: // break + cpuException(pCPU, CEC_BREAK, 0); + break; + case 0x10: // mfhi + pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->nHi; + break; + case 0x11: // mthi + pCPU->nHi = pCPU->aGPR[MIPS_RS(nOpcode)].s64; + break; + case 0x12: // mflo + pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->nLo; + break; + case 0x13: // mtlo + pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].s64; + break; + case 0x14: // dsllv + pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64 + << (pCPU->aGPR[MIPS_RS(nOpcode)].s64 & 0x3F); + break; + case 0x16: // dsrlv + pCPU->aGPR[MIPS_RD(nOpcode)].u64 = + pCPU->aGPR[MIPS_RT(nOpcode)].u64 >> (pCPU->aGPR[MIPS_RS(nOpcode)].s64 & 0x3F); + break; + case 0x17: // dsrav + pCPU->aGPR[MIPS_RD(nOpcode)].s64 = + pCPU->aGPR[MIPS_RT(nOpcode)].s64 >> (pCPU->aGPR[MIPS_RS(nOpcode)].s64 & 0x3F); + break; + case 0x18: // mult + nData64 = (s64)pCPU->aGPR[MIPS_RS(nOpcode)].s32 * (s64)pCPU->aGPR[MIPS_RT(nOpcode)].s32; + pCPU->nLo = (s32)(nData64 & 0xFFFFFFFF); + pCPU->nHi = (s32)(nData64 >> 32); + break; + case 0x19: // multu + nData64 = (u64)pCPU->aGPR[MIPS_RS(nOpcode)].u32 * (u64)pCPU->aGPR[MIPS_RT(nOpcode)].u32; + pCPU->nLo = (s32)(nData64 & 0xFFFFFFFF); + pCPU->nHi = (s32)(nData64 >> 32); + break; + case 0x1A: // div + if (pCPU->aGPR[MIPS_RT(nOpcode)].s32 != 0) { + pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].s32 / pCPU->aGPR[MIPS_RT(nOpcode)].s32; + pCPU->nHi = pCPU->aGPR[MIPS_RS(nOpcode)].s32 % pCPU->aGPR[MIPS_RT(nOpcode)].s32; + } + break; + case 0x1B: // divu + if (pCPU->aGPR[MIPS_RT(nOpcode)].u32 != 0) { + pCPU->nLo = (s32)(pCPU->aGPR[MIPS_RS(nOpcode)].u32 / pCPU->aGPR[MIPS_RT(nOpcode)].u32); + pCPU->nHi = (s32)(pCPU->aGPR[MIPS_RS(nOpcode)].u32 % pCPU->aGPR[MIPS_RT(nOpcode)].u32); + } + break; + case 0x1C: // dmult + pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].s64 * pCPU->aGPR[MIPS_RT(nOpcode)].s64; + pCPU->nHi = (pCPU->nLo < 0) ? -1 : 0; + break; + case 0x1D: // dmultu + pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].u64 * pCPU->aGPR[MIPS_RT(nOpcode)].u64; + pCPU->nHi = (pCPU->nLo < 0) ? -1 : 0; + break; + case 0x1E: // ddiv + if (pCPU->aGPR[MIPS_RT(nOpcode)].s64 != 0) { + pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].s64 / pCPU->aGPR[MIPS_RT(nOpcode)].s64; + pCPU->nHi = pCPU->aGPR[MIPS_RS(nOpcode)].s64 % pCPU->aGPR[MIPS_RT(nOpcode)].s64; + } + break; + case 0x1F: // ddivu + if (pCPU->aGPR[MIPS_RT(nOpcode)].u64 != 0) { + pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].u64 / pCPU->aGPR[MIPS_RT(nOpcode)].u64; + pCPU->nHi = pCPU->aGPR[MIPS_RS(nOpcode)].u64 % pCPU->aGPR[MIPS_RT(nOpcode)].u64; + } + break; + case 0x20: // add + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = + pCPU->aGPR[MIPS_RS(nOpcode)].s32 + pCPU->aGPR[MIPS_RT(nOpcode)].s32; + break; + case 0x21: // addu + pCPU->aGPR[MIPS_RD(nOpcode)].u32 = + pCPU->aGPR[MIPS_RS(nOpcode)].u32 + pCPU->aGPR[MIPS_RT(nOpcode)].u32; + break; + case 0x22: // sub + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = + pCPU->aGPR[MIPS_RS(nOpcode)].s32 - pCPU->aGPR[MIPS_RT(nOpcode)].s32; + break; + case 0x23: // subu + pCPU->aGPR[MIPS_RD(nOpcode)].u32 = + pCPU->aGPR[MIPS_RS(nOpcode)].u32 - pCPU->aGPR[MIPS_RT(nOpcode)].u32; + break; + case 0x24: // and + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = + pCPU->aGPR[MIPS_RS(nOpcode)].s32 & pCPU->aGPR[MIPS_RT(nOpcode)].s32; + break; + case 0x25: // or + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = + pCPU->aGPR[MIPS_RS(nOpcode)].s32 | pCPU->aGPR[MIPS_RT(nOpcode)].s32; + break; + case 0x26: // xor + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = + pCPU->aGPR[MIPS_RS(nOpcode)].s32 ^ pCPU->aGPR[MIPS_RT(nOpcode)].s32; + break; + case 0x27: // nor + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = + ~(pCPU->aGPR[MIPS_RS(nOpcode)].s32 | pCPU->aGPR[MIPS_RT(nOpcode)].s32); + break; + case 0x2A: // slt + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = + (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < pCPU->aGPR[MIPS_RT(nOpcode)].s32) ? 1 : 0; + break; + case 0x2B: // sltu + pCPU->aGPR[MIPS_RD(nOpcode)].s32 = + (pCPU->aGPR[MIPS_RS(nOpcode)].u32 < pCPU->aGPR[MIPS_RT(nOpcode)].u32) ? 1 : 0; + break; + case 0x2C: // dadd + pCPU->aGPR[MIPS_RD(nOpcode)].s64 = + pCPU->aGPR[MIPS_RS(nOpcode)].s64 + pCPU->aGPR[MIPS_RT(nOpcode)].s64; + break; + case 0x2D: // daddu + pCPU->aGPR[MIPS_RD(nOpcode)].u64 = + pCPU->aGPR[MIPS_RS(nOpcode)].u64 + pCPU->aGPR[MIPS_RT(nOpcode)].u64; + break; + case 0x2E: // dsub + pCPU->aGPR[MIPS_RD(nOpcode)].s64 = + pCPU->aGPR[MIPS_RS(nOpcode)].s64 - pCPU->aGPR[MIPS_RT(nOpcode)].s64; + break; + case 0x2F: // dsubu + pCPU->aGPR[MIPS_RD(nOpcode)].u64 = + pCPU->aGPR[MIPS_RS(nOpcode)].u64 - pCPU->aGPR[MIPS_RT(nOpcode)].u64; + break; + case 0x30: // tge + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= pCPU->aGPR[MIPS_RT(nOpcode)].s32) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x31: // tgeu + if (pCPU->aGPR[MIPS_RS(nOpcode)].u32 >= pCPU->aGPR[MIPS_RT(nOpcode)].u32) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x32: // tlt + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < pCPU->aGPR[MIPS_RT(nOpcode)].s32) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x33: // tltu + if (pCPU->aGPR[MIPS_RS(nOpcode)].u32 < pCPU->aGPR[MIPS_RT(nOpcode)].u32) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x34: // teq + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 == pCPU->aGPR[MIPS_RT(nOpcode)].s32) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x36: // tne + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 != pCPU->aGPR[MIPS_RT(nOpcode)].s32) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x38: // dsll + pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64 << MIPS_SA(nOpcode); + break; + case 0x3A: // dsrl + pCPU->aGPR[MIPS_RD(nOpcode)].u64 = pCPU->aGPR[MIPS_RT(nOpcode)].u64 >> MIPS_SA(nOpcode); + break; + case 0x3B: // dsra + pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64 >> MIPS_SA(nOpcode); + break; + case 0x3C: // dsll32 + pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64 << (MIPS_SA(nOpcode) + 32); + break; + case 0x3E: // dsrl32 + pCPU->aGPR[MIPS_RD(nOpcode)].u64 = pCPU->aGPR[MIPS_RT(nOpcode)].u64 >> (MIPS_SA(nOpcode) + 32); + break; + case 0x3F: // dsra32 + pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64 >> (MIPS_SA(nOpcode) + 32); + break; + } + break; + case 0x01: // regimm + switch (MIPS_RT(nOpcode)) { + case 0x00: // bltz + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < 0) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } + break; + case 0x01: // bgez + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= 0) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } + break; + case 0x02: // bltzl + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < 0) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } else { + pCPU->nMode |= 4; + pCPU->nPC += 4; + } + break; + case 0x03: // bgezl + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= 0) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } else { + pCPU->nMode |= 4; + pCPU->nPC += 4; + } + break; + case 0x08: // tgei + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= MIPS_IMM_S16(nOpcode)) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x09: // tgeiu + if (pCPU->aGPR[MIPS_RS(nOpcode)].u32 >= MIPS_IMM_S16(nOpcode)) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x0A: // tlti + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < MIPS_IMM_S16(nOpcode)) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x0B: // tltiu + if (pCPU->aGPR[MIPS_RS(nOpcode)].u32 < MIPS_IMM_S16(nOpcode)) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x0C: // teqi + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 == MIPS_IMM_S16(nOpcode)) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x0E: // tnei + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 != MIPS_IMM_S16(nOpcode)) { + cpuException(pCPU, CEC_TRAP, 0); + } + break; + case 0x10: // bltzal + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < 0) { + pCPU->aGPR[31].s32 = pCPU->nPC + 4; + pCPU->nWaitPC = pCPU->nCallLast = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } + break; + case 0x11: // bgezal + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= 0) { + pCPU->aGPR[31].s32 = pCPU->nPC + 4; + pCPU->nWaitPC = pCPU->nCallLast = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } + break; + case 0x12: // bltzall + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < 0) { + pCPU->aGPR[31].s32 = pCPU->nPC + 4; + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } else { + pCPU->nMode |= 4; + pCPU->nPC = pCPU->nPC + 4; + } + break; + case 0x13: // bgezall + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= 0) { + pCPU->aGPR[31].s32 = pCPU->nPC + 4; + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } else { + pCPU->nMode |= 4; + pCPU->nPC = pCPU->nPC + 4; + } + break; + } + break; + case 0x02: // j + pCPU->nWaitPC = (pCPU->nPC & 0xF0000000) | (MIPS_TARGET(nOpcode) << 2); + if (pCPU->nWaitPC == pCPU->nPC - 4) { + if (!cpuCheckInterrupts(pCPU)) { + return 0; + } + } + break; + case 0x03: // jal + pCPU->aGPR[31].s32 = pCPU->nPC + 4; + pCPU->nWaitPC = pCPU->nCallLast = (pCPU->nPC & 0xF0000000) | (MIPS_TARGET(nOpcode) << 2); + cpuFindFunction(pCPU, pCPU->nWaitPC, &pFunction); + break; + case 0x04: // beq + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 == (s32)pCPU->aGPR[MIPS_RT(nOpcode)].s32) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } + if (pCPU->nWaitPC == pCPU->nPC - 4) { + if (!cpuCheckInterrupts(pCPU)) { + return 0; + } + break; + } + break; + case 0x05: // bne + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 != (s32)pCPU->aGPR[MIPS_RT(nOpcode)].s32) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } + break; + case 0x06: // blez + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 <= 0) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } + break; + case 0x07: // bgtz + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 > 0) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } + break; + case 0x08: // addi + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + break; + case 0x09: // addiu + pCPU->aGPR[MIPS_RT(nOpcode)].u32 = pCPU->aGPR[MIPS_RS(nOpcode)].u32 + MIPS_IMM_S16(nOpcode); + break; + case 0x0A: // slti + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < MIPS_IMM_S16(nOpcode)) ? 1 : 0; + break; + case 0x0B: // sltiu + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = (pCPU->aGPR[MIPS_RS(nOpcode)].u32 < MIPS_IMM_S16(nOpcode)) ? 1 : 0; + break; + case 0x0C: // andi + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aGPR[MIPS_RS(nOpcode)].s32 & MIPS_IMM_U16(nOpcode); + break; + case 0x0D: // ori + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aGPR[MIPS_RS(nOpcode)].s32 | MIPS_IMM_U16(nOpcode); + break; + case 0x0E: // xori + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aGPR[MIPS_RS(nOpcode)].s32 ^ MIPS_IMM_U16(nOpcode); + break; + case 0x0F: // lui + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = MIPS_IMM_S16(nOpcode) << 16; + break; + case 0x10: // cop0 + switch (MIPS_FUNCT(nOpcode)) { + case 0x01: // tlbr + iEntry = pCPU->anCP0[0] & 0x3F; + pCPU->anCP0[2] = pCPU->aTLB[iEntry][0]; + pCPU->anCP0[3] = pCPU->aTLB[iEntry][1]; + pCPU->anCP0[10] = pCPU->aTLB[iEntry][2]; + pCPU->anCP0[5] = pCPU->aTLB[iEntry][3]; + break; + case 0x02: // tlbwi + iEntry = pCPU->anCP0[0] & 0x3F; + cpuSetTLB(pCPU, iEntry); + break; + case 0x05: // tlbwr + iEntry = cpuCountTLB(pCPU, &nCount); + pCPU->anCP0[1] = iEntry; + cpuSetTLB(pCPU, iEntry); + break; + case 0x08: // tlbp + pCPU->anCP0[0] |= 0x80000000; + for (iEntry = 0; iEntry < 48; iEntry++) { + if ((pCPU->aTLB[iEntry][0] & 2) && pCPU->aTLB[iEntry][2] == pCPU->anCP0[10]) { + pCPU->anCP0[0] = iEntry; + break; + } + } + break; + case 0x18: // eret + if (pCPU->anCP0[12] & 4) { + pCPU->nPC = pCPU->anCP0[30]; + pCPU->anCP0[12] &= ~4; + } else { + pCPU->nPC = pCPU->anCP0[14]; + pCPU->anCP0[12] &= ~2; + } + pCPU->nMode |= 4; + pCPU->nMode |= 0x20; + break; + default: + switch (MIPS_RS(nOpcode)) { + case 0x00: // mfc0 + if (cpuGetRegisterCP0(pCPU, MIPS_RD(nOpcode), &nData64)) { + pCPU->aGPR[MIPS_RT(nOpcode)].s64 = nData64 & 0xFFFFFFFF; + } + break; + case 0x01: // dmfc0 + if (cpuGetRegisterCP0(pCPU, MIPS_RD(nOpcode), &nData64)) { + pCPU->aGPR[MIPS_RT(nOpcode)].s64 = nData64; + } + break; + case 0x02: + break; + case 0x04: // mtc0 + cpuSetRegisterCP0(pCPU, MIPS_RD(nOpcode), pCPU->aGPR[MIPS_RT(nOpcode)].u32); + break; + case 0x05: // dmtc0 + cpuSetRegisterCP0(pCPU, MIPS_RD(nOpcode), pCPU->aGPR[MIPS_RT(nOpcode)].u64); + break; + case 0x08: + break; + } + break; + } + break; + case 0x11: // cop1 + if ((nOpcode & 0x7FF) == 0 && MIPS_FMT(nOpcode) < 0x10) { + switch ((u8)MIPS_FMT(nOpcode)) { + case 0x00: // mfc1 + if (MIPS_FS(nOpcode) & 1) { + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode) - 1].u64 >> 32; + } else { + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; + } + break; + case 0x01: // dmfc1 + pCPU->aGPR[MIPS_RT(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; + break; + case 0x02: // cfc1 + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->anFCR[MIPS_FS(nOpcode)]; + break; + case 0x04: // mtc1 + if (MIPS_FS(nOpcode) & 1) { + pCPU->aFPR[MIPS_FS(nOpcode) - 1].s64 &= 0xFFFFFFFF; + pCPU->aFPR[MIPS_FS(nOpcode) - 1].s64 |= (u64)pCPU->aGPR[MIPS_RT(nOpcode)].u32 << 32; + } else { + pCPU->aFPR[MIPS_FS(nOpcode)].s32 = pCPU->aGPR[MIPS_RT(nOpcode)].s32; + } + break; + case 0x05: // dmtc1 + pCPU->aFPR[MIPS_FS(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64; + break; + case 0x06: // ctc1 + pCPU->anFCR[MIPS_FS(nOpcode)] = pCPU->aGPR[MIPS_RT(nOpcode)].s32; + break; + } + } else if (MIPS_FMT(nOpcode) == 0x08) { + switch (MIPS_FT(nOpcode)) { + case 0x00: // bc1f + if (!(pCPU->anFCR[31] & 0x800000)) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } + break; + case 0x01: // bc1t + if (pCPU->anFCR[31] & 0x800000) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } + break; + case 0x02: // bc1fl + if (!(pCPU->anFCR[31] & 0x800000)) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } else { + pCPU->nMode |= 4; + pCPU->nPC += 4; + } + break; + case 0x03: // bc1tl + if (pCPU->anFCR[31] & 0x800000) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } else { + pCPU->nMode |= 4; + pCPU->nPC += 4; + } + break; + } + } else { + switch ((u8)MIPS_FMT(nOpcode)) { + case 0x10: // s + switch (MIPS_FUNCT(nOpcode)) { + case 0x00: // add.s + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = + pCPU->aFPR[MIPS_FS(nOpcode)].f32 + pCPU->aFPR[MIPS_FT(nOpcode)].f32; + break; + case 0x01: // sub.s + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = + pCPU->aFPR[MIPS_FS(nOpcode)].f32 - pCPU->aFPR[MIPS_FT(nOpcode)].f32; + break; + case 0x02: // mul.s + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = + pCPU->aFPR[MIPS_FS(nOpcode)].f32 * pCPU->aFPR[MIPS_FT(nOpcode)].f32; + break; + case 0x03: // div.s + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = + pCPU->aFPR[MIPS_FS(nOpcode)].f32 / pCPU->aFPR[MIPS_FT(nOpcode)].f32; + break; + case 0x04: // sqrt.s + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = sqrt(pCPU->aFPR[MIPS_FS(nOpcode)].f32); + break; + case 0x05: // abs.s + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = fabs(pCPU->aFPR[MIPS_FS(nOpcode)].f32); + break; + case 0x06: // mov.s + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; + break; + case 0x07: // neg.s + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = -pCPU->aFPR[MIPS_FS(nOpcode)].f32; + break; + case 0x08: // round.l.s + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f32 + 0.5f; + break; + case 0x09: // trunc.l.s + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; + break; + case 0x0A: // ceil.l.s + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].f32); + break; + case 0x0B: // floor.l.s + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].f32); + break; + case 0x0C: // round.w.s + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f32 + 0.5f; + break; + case 0x0D: // trunc.w.s + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; + break; + case 0x0E: // ceil.w.s + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].f32); + break; + case 0x0F: // floor.w.s + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].f32); + break; + case 0x20: // cvt.s.s + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; + break; + case 0x21: // cvt.d.s + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; + break; + case 0x24: // cvt.w.s + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; + break; + case 0x25: // cvt.l.s + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; + break; + case 0x30: // c.f.s + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x31: // c.un.s + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x32: // c.eq.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 == pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x33: // c.ueq.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 == pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x34: // c.olt.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 < pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x35: // c.ult.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 < pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x36: // c.ole.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 <= pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x37: // c.ule.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 <= pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x38: // c.sf.s + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x39: // c.ngle.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 <= pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3A: // c.seq.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 == pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3B: // c.ngl.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 == pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3C: // c.lt.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 < pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3D: // c.nge.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 < pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3E: // c.le.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 <= pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3F: // c.ngt.s + if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 <= pCPU->aFPR[MIPS_FT(nOpcode)].f32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + } + break; + case 0x11: // d + switch (MIPS_FUNCT(nOpcode)) { + case 0x00: // add.d + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = + pCPU->aFPR[MIPS_FS(nOpcode)].f64 + pCPU->aFPR[MIPS_FT(nOpcode)].f64; + break; + case 0x01: // sub.d + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = + pCPU->aFPR[MIPS_FS(nOpcode)].f64 - pCPU->aFPR[MIPS_FT(nOpcode)].f64; + break; + case 0x02: // mul.d + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = + pCPU->aFPR[MIPS_FS(nOpcode)].f64 * pCPU->aFPR[MIPS_FT(nOpcode)].f64; + break; + case 0x03: // div.d + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = + pCPU->aFPR[MIPS_FS(nOpcode)].f64 / pCPU->aFPR[MIPS_FT(nOpcode)].f64; + break; + case 0x04: // sqrt.d + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = sqrt(pCPU->aFPR[MIPS_FS(nOpcode)].f64); + break; + case 0x05: // abs.d + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = fabs(pCPU->aFPR[MIPS_FS(nOpcode)].f64); + break; + case 0x06: // mov.d + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; + break; + case 0x07: // neg.d + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = -pCPU->aFPR[MIPS_FS(nOpcode)].f64; + break; + case 0x08: // round.l.d + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f64 + 0.5f; + break; + case 0x09: // trunc.l.d + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; + break; + case 0x0A: // ceil.l.d + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].f64); + break; + case 0x0B: // floor.l.d + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].f64); + break; + case 0x0C: // round.w.d + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f64 + 0.5f; + break; + case 0x0D: // trunc.w.d + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; + break; + case 0x0E: // ceil.w.d + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].f64); + break; + case 0x0F: // floor.w.d + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].f64); + break; + case 0x20: // cvt.s.d + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; + break; + case 0x21: // cvt.d.d + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; + break; + case 0x24: // cvt.w.d + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; + break; + case 0x25: // cvt.l.d + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; + break; + case 0x30: // c.f.d + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x31: // c.un.d + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x32: // c.eq.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 == pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x33: // c.ueq.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 == pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x34: // c.olt.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 < pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x35: // c.ult.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 < pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x36: // c.ole.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 <= pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x37: // c.ule.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 <= pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x38: // c.sf.d + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x39: // c.ngle.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 <= pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3A: // c.seq.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 == pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3B: // c.ngl.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 == pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3C: // c.lt.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 < pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3D: // c.nge.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 < pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3E: // c.le.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 <= pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3F: // c.ngt.d + if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 <= pCPU->aFPR[MIPS_FT(nOpcode)].f64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + } + break; + case 0x14: // w + switch (MIPS_FUNCT(nOpcode)) { + case 0x00: // add.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = + pCPU->aFPR[MIPS_FS(nOpcode)].s32 + pCPU->aFPR[MIPS_FT(nOpcode)].s32; + break; + case 0x01: // sub.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = + pCPU->aFPR[MIPS_FS(nOpcode)].s32 - pCPU->aFPR[MIPS_FT(nOpcode)].s32; + break; + case 0x02: // mul.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = + pCPU->aFPR[MIPS_FS(nOpcode)].s32 * pCPU->aFPR[MIPS_FT(nOpcode)].s32; + break; + case 0x03: // div.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = + pCPU->aFPR[MIPS_FS(nOpcode)].s32 / pCPU->aFPR[MIPS_FT(nOpcode)].s32; + break; + case 0x04: // sqrt.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = sqrt(pCPU->aFPR[MIPS_FS(nOpcode)].s32); + break; + case 0x05: // abs.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = fabs(pCPU->aFPR[MIPS_FS(nOpcode)].s32); + break; + case 0x06: // mov.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; + break; + case 0x07: // neg.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = -pCPU->aFPR[MIPS_FS(nOpcode)].s32; + break; + case 0x08: // round.l.w + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; + break; + case 0x09: // trunc.l.w + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; + break; + case 0x0A: // ceil.l.w + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].s32); + break; + case 0x0B: // floor.l.w + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].s32); + break; + case 0x0C: // round.w.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; + break; + case 0x0D: // trunc.w.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; + break; + case 0x0E: // ceil.w.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].s32); + break; + case 0x0F: // floor.w.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].s32); + break; + case 0x20: // cvt.s.w + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; + break; + case 0x21: // cvt.d.w + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; + break; + case 0x24: // cvt.w.w + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; + break; + case 0x25: // cvt.l.w + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; + break; + case 0x30: // c.f.w + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x31: // c.un.w + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x32: // c.eq.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 == pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x33: // c.ueq.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 == pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x34: // c.olt.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 < pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x35: // c.ult.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 < pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x36: // c.ole.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 <= pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x37: // c.ule.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 <= pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x38: // c.sf.w + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x39: // c.ngle.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 <= pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3A: // c.seq.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 == pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3B: // c.ngl.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 == pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3C: // c.lt.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 < pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3D: // c.nge.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 < pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3E: // c.le.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 <= pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3F: // c.ngt.w + if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 <= pCPU->aFPR[MIPS_FT(nOpcode)].s32) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + } + break; + case 0x15: // l + switch (MIPS_FUNCT(nOpcode)) { + case 0x00: // add.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = + pCPU->aFPR[MIPS_FS(nOpcode)].s64 + pCPU->aFPR[MIPS_FT(nOpcode)].s64; + break; + case 0x01: // sub.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = + pCPU->aFPR[MIPS_FS(nOpcode)].s64 - pCPU->aFPR[MIPS_FT(nOpcode)].s64; + break; + case 0x02: // mul.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = + pCPU->aFPR[MIPS_FS(nOpcode)].s64 * pCPU->aFPR[MIPS_FT(nOpcode)].s64; + break; + case 0x03: // div.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = + pCPU->aFPR[MIPS_FS(nOpcode)].s64 / pCPU->aFPR[MIPS_FT(nOpcode)].s64; + break; + case 0x04: // sqrt.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = sqrt(pCPU->aFPR[MIPS_FS(nOpcode)].s64); + break; + case 0x05: // abs.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = fabs(pCPU->aFPR[MIPS_FS(nOpcode)].s64); + break; + case 0x06: // mov.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; + break; + case 0x07: // neg.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = -pCPU->aFPR[MIPS_FS(nOpcode)].s64; + break; + case 0x08: // round.l.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; + break; + case 0x09: // trunc.l.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; + break; + case 0x0A: // ceil.l.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].s64); + break; + case 0x0B: // floor.l.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].s64); + break; + case 0x0C: // round.w.l + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; + break; + case 0x0D: // trunc.w.l + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; + break; + case 0x0E: // ceil.w.l + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].s64); + break; + case 0x0F: // floor.w.l + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].s64); + break; + case 0x20: // cvt.s.l + pCPU->aFPR[MIPS_FD(nOpcode)].f32 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; + break; + case 0x21: // cvt.d.l + pCPU->aFPR[MIPS_FD(nOpcode)].f64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; + break; + case 0x24: // cvt.w.l + pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; + break; + case 0x25: // cvt.l.l + pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; + break; + case 0x30: // c.f.l + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x31: // c.un.l + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x32: // c.eq.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 == pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x33: // c.ueq.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 == pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x34: // c.olt.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 < pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x35: // c.ult.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 < pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x36: // c.ole.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 <= pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x37: // c.ule.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 <= pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x38: // c.sf.l + pCPU->anFCR[31] &= ~0x800000; + break; + case 0x39: // c.ngle.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 <= pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3A: // c.seq.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 == pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3B: // c.ngl.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 == pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3C: // c.lt.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 < pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3D: // c.nge.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 < pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3E: // c.le.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 <= pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + case 0x3F: // c.ngt.l + if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 <= pCPU->aFPR[MIPS_FT(nOpcode)].s64) { + pCPU->anFCR[31] |= 0x800000; + } else { + pCPU->anFCR[31] &= ~0x800000; + } + break; + } + break; + } + } + break; + case 0x14: // beq + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 == (s32)pCPU->aGPR[MIPS_RT(nOpcode)].s32) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } else { + pCPU->nMode |= 4; + pCPU->nPC += 4; + } + break; + case 0x15: // bne + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 != (s32)pCPU->aGPR[MIPS_RT(nOpcode)].s32) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } else { + pCPU->nMode |= 4; + pCPU->nPC += 4; + } + break; + case 0x16: // blez + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 <= 0) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } else { + pCPU->nMode |= 4; + pCPU->nPC += 4; + } + break; + case 0x17: // bgtz + if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 > 0) { + pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; + } else { + pCPU->nMode |= 4; + pCPU->nPC += 4; + } + break; + case 0x18: // daddi + pCPU->aGPR[MIPS_RT(nOpcode)].s64 = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); + break; + case 0x19: // daddiu + pCPU->aGPR[MIPS_RT(nOpcode)].u64 = pCPU->aGPR[MIPS_RS(nOpcode)].u64 + MIPS_IMM_S16(nOpcode); + break; + case 0x1F: // library call + if (!libraryCall(SYSTEM_LIBRARY(pCPU->pHost), pCPU, MIPS_IMM_S16(nOpcode))) { + return false; + } + break; + case 0x1A: // ldl + nCount = 0x38; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); + do { + if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { + nData64 = ((s64)nData8 & 0xFF) << nCount; + pCPU->aGPR[MIPS_RT(nOpcode)].s64 = + nData64 | (pCPU->aGPR[MIPS_RT(nOpcode)].s64 & ~((s64)0xFF << nCount)); + } + nCount -= 8; + } while ((nAddress++ & 7) != 0); + break; + case 0x1B: // ldr + nCount = 0; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); + do { + if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { + nData64 = ((s64)nData8 & 0xFF) << nCount; + pCPU->aGPR[MIPS_RT(nOpcode)].s64 = + nData64 | (pCPU->aGPR[MIPS_RT(nOpcode)].s64 & ~((s64)0xFF << nCount)); + } + nCount += 8; + } while ((nAddress-- & 7) != 0); + break; + case 0x27: // lwu + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); + if (CPU_DEVICE_GET32(apDevice, aiDevice, nAddress, &nData32)) { + pCPU->aGPR[MIPS_RT(nOpcode)].u64 = (u32)nData32; + } + break; + case 0x20: // lb + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData8; + } + break; + case 0x21: // lh + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + if (CPU_DEVICE_GET16(apDevice, aiDevice, nAddress, &nData16)) { + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData16; + } + break; + case 0x22: // lwl + nCount = 0x18; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + do { + if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { + nData32 = ((u32)nData8 & 0xFF) << nCount; + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData32 | (pCPU->aGPR[MIPS_RT(nOpcode)].s32 & ~(0xFF << nCount)); + } + nCount -= 8; + } while ((nAddress++ & 3) != 0); + break; + case 0x23: // lw + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + if (CPU_DEVICE_GET32(apDevice, aiDevice, nAddress, &nData32)) { + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData32; + } + break; + case 0x24: // lbu + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { + pCPU->aGPR[MIPS_RT(nOpcode)].u32 = (u8)nData8; + } + break; + case 0x25: // lhu + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + if (frameGetDepth(SYSTEM_FRAME(pCPU->pHost), (u16*)&nData16, nAddress)) { + pCPU->aGPR[MIPS_RT(nOpcode)].u32 = (u16)nData16; + } else { + if (CPU_DEVICE_GET16(apDevice, aiDevice, nAddress, &nData16)) { + pCPU->aGPR[MIPS_RT(nOpcode)].u32 = (u16)nData16; + } + } + break; + case 0x26: // lwr + nCount = 0; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + do { + if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { + nData32 = ((u32)nData8 & 0xFF) << nCount; + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData32 | (pCPU->aGPR[MIPS_RT(nOpcode)].s32 & ~(0xFF << nCount)); + } + nCount += 8; + } while ((nAddress-- & 3) != 0); + break; + case 0x28: // sb + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + CPU_DEVICE_PUT8(apDevice, aiDevice, nAddress, &pCPU->aGPR[MIPS_RT(nOpcode)].s8); + break; + case 0x29: // sh + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + CPU_DEVICE_PUT16(apDevice, aiDevice, nAddress, &pCPU->aGPR[MIPS_RT(nOpcode)].s16); + break; + case 0x2A: // swl + nCount = 0x18; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + do { + nData8 = (pCPU->aGPR[MIPS_RT(nOpcode)].u32 >> nCount) & 0xFF; + CPU_DEVICE_PUT8(apDevice, aiDevice, nAddress, &nData8); + nCount -= 8; + } while ((nAddress++ & 3) != 0); + break; + case 0x2B: // sw + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + CPU_DEVICE_PUT32(apDevice, aiDevice, nAddress, &pCPU->aGPR[MIPS_RT(nOpcode)].s32); + break; + case 0x2C: // sdl + nCount = 0x38; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); + do { + nData8 = (pCPU->aGPR[MIPS_RT(nOpcode)].u64 >> nCount) & 0xFF; + CPU_DEVICE_PUT8(apDevice, aiDevice, nAddress, &nData8); + nCount -= 8; + } while ((nAddress++ & 7) != 0); + break; + case 0x2D: // sdr + nCount = 0; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + do { + nData8 = (pCPU->aGPR[MIPS_RT(nOpcode)].u64 >> nCount) & 0xFF; + CPU_DEVICE_PUT8(apDevice, aiDevice, nAddress, &nData8); + nCount += 8; + } while ((nAddress-- & 7) != 0); + break; + case 0x2E: // swr + nCount = 0; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + do { + nData8 = (pCPU->aGPR[MIPS_RT(nOpcode)].u32 >> nCount) & 0xFF; + CPU_DEVICE_PUT8(apDevice, aiDevice, nAddress, &nData8); + nCount += 8; + } while ((nAddress-- & 3) != 0); + break; + case 0x2F: // cache + if (!cpuExecuteCacheInstruction(pCPU)) { + return false; + } + break; + case 0x30: // ll + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + if (CPU_DEVICE_GET32(apDevice, aiDevice, nAddress, &nData32)) { + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData32; + } + break; + case 0x31: // lwc1 + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + if (CPU_DEVICE_GET32(apDevice, aiDevice, nAddress, &nData32)) { + if (MIPS_RT(nOpcode) & 1) { + pCPU->aFPR[MIPS_RT(nOpcode) - 1].u64 &= 0xFFFFFFFF; + pCPU->aFPR[MIPS_RT(nOpcode) - 1].u64 |= (s64)nData32 << 32; + } else { + pCPU->aFPR[MIPS_RT(nOpcode)].s32 = nData32; + } + } + break; + case 0x34: // lld + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); + if (CPU_DEVICE_GET64(apDevice, aiDevice, nAddress, &nData64)) { + pCPU->aGPR[MIPS_RT(nOpcode)].s64 = nData64; + } + break; + case 0x35: // ldc1 + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + if (CPU_DEVICE_GET64(apDevice, aiDevice, nAddress, &nData64)) { + pCPU->aFPR[MIPS_RT(nOpcode)].s64 = nData64; + } + break; + case 0x37: // ld + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + if (CPU_DEVICE_GET64(apDevice, aiDevice, nAddress, &nData64)) { + pCPU->aGPR[MIPS_RT(nOpcode)].s64 = nData64; + } + break; + case 0x38: // sc + nData32 = pCPU->aGPR[MIPS_RT(nOpcode)].s32; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + pCPU->aGPR[MIPS_RT(nOpcode)].s32 = (CPU_DEVICE_PUT32(apDevice, aiDevice, nAddress, &nData32)) ? 1 : 0; + break; + case 0x39: // swc1 + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + if (MIPS_RT(nOpcode) & 1) { + nData32 = pCPU->aFPR[MIPS_RT(nOpcode) - 1].u64 >> 32; + } else { + nData32 = pCPU->aFPR[MIPS_RT(nOpcode)].s32; + } + CPU_DEVICE_PUT32(apDevice, aiDevice, nAddress, &nData32); + break; + case 0x3C: // scd + nData64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); + pCPU->aGPR[MIPS_RT(nOpcode)].s64 = (CPU_DEVICE_PUT64(apDevice, aiDevice, nAddress, &nData64)) ? 1 : 0; + break; + case 0x3D: // sdc1 + nData64 = pCPU->aFPR[MIPS_RT(nOpcode)].s64; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + CPU_DEVICE_PUT64(apDevice, aiDevice, nAddress, &nData64); + break; + case 0x3F: // sd + nData64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64; + nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); + CPU_DEVICE_PUT64(apDevice, aiDevice, nAddress, &nData64); + break; + } + + if (!cpuExecuteUpdate(pCPU, &nAddressGCN, nTick + 1)) { + return 0; + } + if (restore) { + pCPU->aGPR[31].u64 = save; + } + pCPU->nWaitPC = -1; + pCPU->nTickLast = OSGetTick(); + + PAD_STACK(); + PAD_STACK(); + return nAddressGCN; +} + +static s32 cpuExecuteIdle(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN) { + Rom* pROM; + + pROM = SYSTEM_ROM(pCPU->pHost); + +#if VERSION != MQ_J + if (!simulatorTestReset(false, false, false, true)) { + return 0; + } +#endif + + nCount = OSGetTick(); + if (pCPU->nWaitPC != 0) { + pCPU->nMode |= 8; + } else { + pCPU->nMode &= ~8; + } + + pCPU->nMode |= 0x80; + pCPU->nPC = nAddressN64; + if (!(pCPU->nMode & 0x40) && pROM->copy.nSize == 0) { + videoForceRetrace(SYSTEM_VIDEO(pCPU->pHost), false); + } + + if (!cpuExecuteUpdate(pCPU, &nAddressGCN, nCount)) { + return 0; + } + + pCPU->nTickLast = OSGetTick(); + return nAddressGCN; +} + +static s32 cpuExecuteJump(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN) { + nCount = OSGetTick(); + + if (pCPU->nWaitPC != 0) { + pCPU->nMode |= 8; + } else { + pCPU->nMode &= ~8; + } + + pCPU->nMode |= 4; + pCPU->nPC = nAddressN64; + + if (gpSystem->eTypeROM == SRT_ZELDA1 && pCPU->nPC == 0x81000000) { + simulatorPlayMovie(); + } + + if (!cpuExecuteUpdate(pCPU, &nAddressGCN, nCount)) { + return 0; + } + + pCPU->nTickLast = OSGetTick(); + return nAddressGCN; +} + +/** + * @brief Executes a call from the dynamic recompiler environment + * + * @param pCPU The emulated VR4300. + * @param nCount Latest tick count + * @param nAddressN64 The N64 address of the call. + * @param nAddressGCN The GameCube address after the call has completed. + * @return s32 The address of the recompiled called function. + */ +static s32 cpuExecuteCall(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN) { + s32 pad; + s32 nReg; + s32 count; + s32* anCode; + s32 saveGCN; + CpuFunction* node; + CpuCallerID* block; + s32 nDeltaAddress; + + nCount = OSGetTick(); + if (pCPU->nWaitPC != 0) { + pCPU->nMode |= 8; + } else { + pCPU->nMode &= ~8; + } + + pCPU->nMode |= 4; + pCPU->nPC = nAddressN64; + + pCPU->aGPR[31].s32 = nAddressGCN; + saveGCN = nAddressGCN - 4; + + pCPU->survivalTimer++; + + cpuFindFunction(pCPU, pCPU->nReturnAddrLast - 8, &node); + + block = node->block; + for (count = 0; count < node->callerID_total; count++) { + if (block[count].N64address == nAddressN64 && block[count].GCNaddress == 0) { + block[count].GCNaddress = saveGCN; + break; + } + } + + saveGCN = (ganMapGPR[31] & 0x100) ? true : false; + anCode = (s32*)nAddressGCN - (saveGCN ? 4 : 3); + if (saveGCN) { + anCode[0] = 0x3CA00000 | ((u32)nAddressGCN >> 16); // lis r5,nAddressGCN@h + anCode[1] = 0x60A50000 | ((u32)nAddressGCN & 0xFFFF); // ori r5,r5,nAddressGCN@l + DCStoreRange(anCode, 8); + ICInvalidateRange(anCode, 8); + } else { + nReg = ganMapGPR[31]; + anCode[0] = 0x3C000000 | ((u32)nAddressGCN >> 16) | (nReg << 21); // lis ri,nAddressGCN@h + anCode[1] = 0x60000000 | ((u32)nAddressGCN & 0xFFFF) | (nReg << 21) | (nReg << 16); // ori ri,ri,nAddressGCN@l + DCStoreRange(anCode, 8); + ICInvalidateRange(anCode, 8); + } + + //! @bug: If cpuExecuteUpdate decides to delete the function we're trying to + //! call here, our lis/ori will be reverted by treeCallerCheck since we've + //! already marked this call site in the callerID for-loop above. The + //! reverted lis/ori will store the return N64 address instead of a GCN + //! address, so the next time this recompiled call is executed, the CPU will + //! jump to that N64 return address in GCN address space and bad things + //! happen (usually an invalid instruction or invalid load/store). This is + //! known as a "VC crash". + //! + //! For more details, see https://pastebin.com/V6ANmXt8 + if (!cpuExecuteUpdate(pCPU, &nAddressGCN, nCount)) { + return 0; + } + + nDeltaAddress = (u8*)nAddressGCN - (u8*)&anCode[3]; + if (saveGCN) { + anCode[3] = 0x48000000 | (nDeltaAddress & 0x03FFFFFC); // b nDeltaAddress + DCStoreRange(anCode, 16); + ICInvalidateRange(anCode, 16); + } else { + anCode[2] = 0x48000000 | (nDeltaAddress & 0x03FFFFFC); // b nDeltaAddress + DCStoreRange(anCode, 12); + ICInvalidateRange(anCode, 12); + } + + pCPU->nTickLast = OSGetTick(); + + return nAddressGCN; +} + +/** + * @brief Recompiles a VR4300 load/store instruction + * + * @param pCPU The emulated VR4300. + * @param nCount Unused. + * @param nAddressN64 The address of the Load/Store instruction. + * @param nAddressGCN A pointer to the location where recompiled code should be stored. + * @return s32 The address of the recompiled called function. + */ +static s32 cpuExecuteLoadStore(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN) { + u32* opcode; + s32 address; + s32 iRegisterA; + s32 iRegisterB; + u8 device; + s32 total; + s32 count; + s32 save; + s32 interpret; + s32* before; + s32* after; + s32 check2; + s32* anCode; + s32 pad; + + count = 0; + save = 0; + interpret = 0; + check2 = 0x90C30000 + OFFSETOF(pCPU, nWaitPC); + + ramGetBuffer(SYSTEM_RAM(pCPU->pHost), &opcode, nAddressN64, NULL); + + address = pCPU->aGPR[MIPS_RS(*opcode)].s32 + MIPS_IMM_S16(*opcode); + device = pCPU->aiDevice[(u32)(address) >> 16]; + + if (pCPU->nCompileFlag & 0x100) { + anCode = (s32*)nAddressGCN - 3; + before = anCode - 2; + after = (s32*)nAddressGCN + 3; + } else { + anCode = (s32*)nAddressGCN - 3; + before = anCode - 2; + after = (s32*)nAddressGCN + 2; + } + + if (((u32)address >> 28) < 0x08) { + interpret = 1; + } + + if (!interpret && device >= 0x80) { + switch (MIPS_OP(*opcode)) { + case 0x20: // lb + if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if (pCPU->nCompileFlag & 0x100) { + if (pCPU->nCompileFlag & 0x1000) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } else if (((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + } + + anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); + anCode[count++] = 0x88070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); + anCode[count++] = 0x7C000774 | (iRegisterA << 21) | (iRegisterA << 16); + if (ganMapGPR[MIPS_RT(*opcode)] & 0x100) { + anCode[count++] = 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); + } + break; + case 0x24: // lbu + if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if (pCPU->nCompileFlag & 0x100) { + if (pCPU->nCompileFlag & 0x1000) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } else if (((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + } + + anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); + anCode[count++] = 0x88070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); + if (ganMapGPR[MIPS_RT(*opcode)] & 0x100) { + anCode[count++] = 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); + } + break; + case 0x21: // lh + if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if (pCPU->nCompileFlag & 0x100) { + if (pCPU->nCompileFlag & 0x1000) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } else if (((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + } + + anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); + anCode[count++] = 0xA0070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); + anCode[count++] = 0x7C000734 | (iRegisterA << 21) | (iRegisterA << 16); + if (ganMapGPR[MIPS_RT(*opcode)] & 0x100) { + anCode[count++] = 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); + } + break; + case 0x25: // lhu + if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if (pCPU->nCompileFlag & 0x100) { + if (pCPU->nCompileFlag & 0x1000) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } else if (((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + } + + anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); + anCode[count++] = 0xA0070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); + if (ganMapGPR[MIPS_RT(*opcode)] & 0x100) { + anCode[count++] = 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); + } + break; + case 0x23: // lw + if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if (pCPU->nCompileFlag & 0x100) { + if (pCPU->nCompileFlag & 0x1000) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } else if (((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + } + + anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); + anCode[count++] = 0x80070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); + if (ganMapGPR[MIPS_RT(*opcode)] & 0x100) { + anCode[count++] = 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); + } + break; + case 0x28: // sb + if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { + iRegisterA = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); + } + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 7; + anCode[count++] = 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if (pCPU->nCompileFlag & 0x100) { + if (pCPU->nCompileFlag & 0x1000) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } else if (((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + } + anCode[count++] = 0x7CE04214 | (iRegisterB << 16); + anCode[count++] = 0x98070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); + break; + case 0x29: // sh + if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { + iRegisterA = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); + } + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 7; + anCode[count++] = 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if (pCPU->nCompileFlag & 0x100) { + if (pCPU->nCompileFlag & 0x1000) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } else if (((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + } + anCode[count++] = 0x7CE04214 | (iRegisterB << 16); + anCode[count++] = 0xB0070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); + break; + case 0x2B: // sw + if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { + iRegisterA = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); + } + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 7; + anCode[count++] = 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if (pCPU->nCompileFlag & 0x100) { + if (pCPU->nCompileFlag & 0x1000) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } else if (((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + } + anCode[count++] = 0x7CE04214 | (iRegisterB << 16); + anCode[count++] = 0x90070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); + break; + default: + OSPanic("_cpuGCN.c", 4725, ""); + break; + } + } else { + interpret = 1; + anCode[count++] = 0x3CA00000 | ((u32)nAddressN64 >> 16); + anCode[count++] = 0x60A50000 | ((u32)nAddressN64 & 0xFFFF); + anCode[count++] = 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[count]) & 0x03FFFFFC) | 1; + } + + if (pCPU->nCompileFlag & 0x100) { + if (6 - count >= 2) { + save = count; + anCode[count++] = 0x48000000 | (((u32)&anCode[6] - (u32)&anCode[count]) & 0xFFFF); + } + while (count <= 5) { + anCode[count++] = 0x60000000; + } + total = 6; + } else { + if (5 - count >= 2) { + save = count; + anCode[count++] = 0x48000000 | (((u32)&anCode[5] - (u32)&anCode[count]) & 0xFFFF); + } + while (count <= 4) { + anCode[count++] = 0x60000000; + } + total = 5; + } + + if (!interpret && before[0] == 0x38C00000 && before[1] == check2) { + before[0] = 0x48000000 | (((u32)&before[2] - (u32)&before[0]) & 0xFFFF); + before[1] = 0x60000000; + DCStoreRange(before, 8); + ICInvalidateRange(before, 8); + + if (save != 0) { + anCode[save] = 0x48000000 | (((u32)&after[2] - (u32)&anCode[save]) & 0xFFFF); + } + after[0] = 0x60000000; + after[1] = 0x60000000; + + total += 2; + pCPU->nWaitPC = -1; + } + + DCStoreRange(anCode, total * 4); + ICInvalidateRange(anCode, total * 4); + return (s32)anCode; +} + +/** + * @brief Recompiles a VR4300 load/store instruction on COP1 or doubleword load/store. + * + * @param pCPU The emulated VR4300. + * @param nCount Unused. + * @param nAddressN64 The address of the Load/Store instruction. + * @param nAddressGCN A pointer to the location where recompiled code should be stored. + * @return s32 The address of the recompiled called function. + */ +static s32 cpuExecuteLoadStoreF(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN) { + u32* opcode; + s32 address; + s32 iRegisterA; + s32 iRegisterB; + u8 device; + s32 total; + s32 count; + s32 save; + s32 interpret; + s32* before; + s32* after; + s32 check2; + s32* anCode; + s32 rt; + s32 pad; + + count = 0; + save = 0; + interpret = 0; + check2 = 0x90C30000 + OFFSETOF(pCPU, nWaitPC); + + ramGetBuffer(SYSTEM_RAM(pCPU->pHost), &opcode, nAddressN64, NULL); + + address = pCPU->aGPR[MIPS_RS(*opcode)].s32 + MIPS_IMM_S16(*opcode); + device = pCPU->aiDevice[(u32)(address) >> 16]; + + if (pCPU->nCompileFlag & 0x100) { + anCode = (s32*)nAddressGCN - 3; + before = anCode - 2; + after = (s32*)nAddressGCN + 4; + } else { + anCode = (s32*)nAddressGCN - 3; + before = anCode - 2; + after = (s32*)nAddressGCN + 3; + } + + if (((u32)address >> 28) < 0x08) { + interpret = 1; + } + + if (!interpret && device >= 0x80) { + rt = MIPS_RT(*opcode); + switch (MIPS_OP(*opcode)) { + case 0x31: // lwc1 + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if ((pCPU->nCompileFlag & 0x100) && ((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + + anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); + + if (rt % 2 == 1) { + anCode[count++] = 0x80A70000 | MIPS_IMM_U16(*opcode); + anCode[count++] = 0x90A30000 + OFFSETOF(pCPU, aFPR[rt - 1]); + } else { + anCode[count++] = 0x80A70000 | MIPS_IMM_U16(*opcode); + anCode[count++] = 0x90A30000 + (OFFSETOF(pCPU, aFPR[rt]) + 4); + } + break; + case 0x39: // swc1 + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if ((pCPU->nCompileFlag & 0x100) && ((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + + anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); + if (rt % 2 == 1) { + anCode[count++] = 0x80A30000 + OFFSETOF(pCPU, aFPR[rt - 1]); + } else { + anCode[count++] = 0x80A30000 + (OFFSETOF(pCPU, aFPR[rt]) + 4); + } + anCode[count++] = 0x90A70000 | MIPS_IMM_U16(*opcode); + break; + case 0x35: // ldc1 + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if ((pCPU->nCompileFlag & 0x100) && ((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + + anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); + anCode[count++] = 0x80A70000 | MIPS_IMM_U16(*opcode); + anCode[count++] = 0x90A30000 + OFFSETOF(pCPU, aFPR[rt]); + anCode[count++] = 0x80A70000 | (MIPS_IMM_U16(*opcode) + 4); + anCode[count++] = 0x90A30000 + (OFFSETOF(pCPU, aFPR[rt]) + 4); + break; + case 0x3D: // sdc1 + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if ((pCPU->nCompileFlag & 0x100) && ((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + + anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); + anCode[count++] = 0x80A30000 + OFFSETOF(pCPU, aFPR[rt]); + anCode[count++] = 0x90A70000 | MIPS_IMM_U16(*opcode); + anCode[count++] = 0x80A30000 + (OFFSETOF(pCPU, aFPR[rt]) + 4); + anCode[count++] = 0x90A70000 | (MIPS_IMM_U16(*opcode) + 4); + break; + case 0x37: // ld + if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { + iRegisterA = 5; + } + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 6; + anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if (pCPU->nCompileFlag & 0x100) { + if (pCPU->nCompileFlag & 0x1000) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } else if (((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + } + + anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); + anCode[count++] = 0x80A70000 | MIPS_IMM_U16(*opcode); + anCode[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]); + anCode[count++] = 0x80070000 | (iRegisterA << 21) | (MIPS_IMM_U16(*opcode) + 4); + anCode[count++] = (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4); + break; + case 0x3F: // sd + if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { + iRegisterB = 7; + anCode[count++] = 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); + } + + if (pCPU->nCompileFlag & 0x100) { + if (pCPU->nCompileFlag & 0x1000) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } else if (((u32)address >> 28) >= 10) { + anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); + } + } + + anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); + anCode[count++] = 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]); + anCode[count++] = 0x90C70000 | MIPS_IMM_U16(*opcode); + + if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { + iRegisterA = 6; + anCode[count++] = 0x80C30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4); + } + anCode[count++] = 0x90070000 | (iRegisterA << 21) | (MIPS_IMM_U16(*opcode) + 4); + break; + default: + OSPanic("_cpuGCN.c", 5181, ""); + break; + } + } else { + interpret = 1; + anCode[count++] = 0x3CA00000 | ((u32)nAddressN64 >> 16); + anCode[count++] = 0x60A50000 | ((u32)nAddressN64 & 0xFFFF); + anCode[count++] = 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[count]) & 0x03FFFFFC) | 1; + } + + if (pCPU->nCompileFlag & 0x100) { + if (7 - count >= 2) { + save = count; + anCode[count++] = 0x48000000 | (((u32)&anCode[7] - (u32)&anCode[count]) & 0xFFFF); + } + while (count <= 6) { + anCode[count++] = 0x60000000; + } + total = 7; + } else { + if (6 - count >= 2) { + save = count; + anCode[count++] = 0x48000000 | (((u32)&anCode[6] - (u32)&anCode[count]) & 0xFFFF); + } + while (count <= 5) { + anCode[count++] = 0x60000000; + } + total = 6; + } + + if (!interpret && before[0] == 0x38C00000 && before[1] == check2) { + before[0] = 0x48000000 | (((u32)&before[2] - (u32)&before[0]) & 0xFFFF); + before[1] = 0x60000000; + DCStoreRange(before, 8); + ICInvalidateRange(before, 8); + + if (save != 0) { + anCode[save] = 0x48000000 | (((u32)&after[2] - (u32)&anCode[save]) & 0xFFFF); + } + after[0] = 0x60000000; + after[1] = 0x60000000; + + total += 2; + pCPU->nWaitPC = -1; + } + + DCStoreRange(anCode, total * 4); + ICInvalidateRange(anCode, total * 4); + return (s32)anCode; +} + +/** + * @brief Generates a call to a virtual-console function from within the dynarec envrionment + * Dedicated PPC registers are saved to the cpu object, and restored once the virtual-console function has finished. + * Jump to the return value of the virtual-console function + * + * @param pCPU The emulated VR4300. + * @param ppfLink A pointer to store the generated PPC code. + * @param pfFunction The virtual-console function to call. + * @return bool true on success, false otherwise. + */ +static bool cpuMakeLink(Cpu* pCPU, CpuExecuteFunc* ppfLink, CpuExecuteFunc pfFunction) { + s32 iGPR; + s32* pnCode; + s32 nData; + s32 pad; + + if (!xlHeapTake((void**)&pnCode, 0x200 | 0x30000000)) { + return false; + } + *ppfLink = (CpuExecuteFunc)pnCode; + + *pnCode++ = 0x7CC802A6; + + for (iGPR = 1; iGPR < 32; iGPR++) { + if (!(ganMapGPR[iGPR] & 0x100)) { + nData = (OFFSETOF(pCPU, aGPR[iGPR]) + 4); + *pnCode++ = 0x90030000 | (ganMapGPR[iGPR] << 21) | nData; // lwz ri,(aGPR[i] + 4)(r3) + } + } + + *pnCode++ = 0x48000000 | (((u8*)pfFunction - (u8*)pnCode) & 0x03FFFFFC) | 1; // bl pfFunction + *pnCode++ = 0x7C6803A6; // mtlr r3 + *pnCode++ = 0x3C600000 | ((u32)pCPU >> 16); // lis r3,pCPU@h + *pnCode++ = 0x60630000 | ((u32)pCPU & 0xFFFF); // ori r3,r3,pCPU@l + *pnCode++ = 0x80830000 + OFFSETOF(pCPU, survivalTimer); // lwz r4,survivalTimer(r3) + + nData = (u32)(SYSTEM_RAM(pCPU->pHost)->pBuffer) - 0x80000000; + *pnCode++ = 0x3D000000 | ((u32)nData >> 16); // lis r8,ramOffset@h + if (pCPU->nCompileFlag & 0x100) { + *pnCode++ = 0x3D20DFFF; // lis r9,0xDFFF + *pnCode++ = 0x61080000 | ((u32)nData & 0xFFFF); // ori r8,r8,ramOffset@l + *pnCode++ = 0x6129FFFF; // ori r9,r9,0xFFFF + } else if (pCPU->nCompileFlag & 1) { + *pnCode++ = 0x39230000 + OFFSETOF(pCPU, aiDevice); // addi r9,r3,aiDevice + *pnCode++ = 0x61080000 | ((u32)nData & 0xFFFF); // ori r8,r8,ramOffset@l + } + + *pnCode++ = 0x38000000 | (ganMapGPR[0] << 21); // li r0,0 + for (iGPR = 1; iGPR < 32; iGPR++) { + if (!(ganMapGPR[iGPR] & 0x100)) { + nData = (OFFSETOF(pCPU, aGPR[iGPR]) + 4); + *pnCode++ = 0x80030000 | (ganMapGPR[iGPR] << 21) | nData; // stw ri,(aGPR[i] + 4)(r3) + } + } + + *pnCode++ = 0x4E800020; // blr + + DCStoreRange(*ppfLink, 0x200); + ICInvalidateRange(*ppfLink, 0x200); + return true; +} + +static inline bool cpuFreeLink(Cpu* pCPU, CpuExecuteFunc* ppfLink) { + if (!xlHeapFree((void**)&ppfLink)) { + return false; + } else { + *ppfLink = NULL; + return true; + } +} + +/** + * @brief Begins execution of the emulated VR4300 + * + * @param pCPU The emulated VR4300. + * @param nCount Unused. + * @param nAddressBreak Unused. + * @return bool true on success, false otherwise. + */ +bool cpuExecute(Cpu* pCPU, s32 nCount, u64 nAddressBreak) { + s32 pad1; + s32 iGPR; + s32* pnCode; + s32 nData; + s32 pad2; + CpuFunction* pFunction; + void (*pfCode)(void); + + if (pCPU->nCompileFlag & 0x1000) { + pCPU->nCompileFlag |= 0x100; + } + + if (!cpuMakeLink(pCPU, &pCPU->pfStep, &cpuExecuteOpcode)) { + return false; + } + if (!cpuMakeLink(pCPU, &pCPU->pfJump, &cpuExecuteJump)) { + return false; + } + if (!cpuMakeLink(pCPU, &pCPU->pfCall, &cpuExecuteCall)) { + return false; + } + if (!cpuMakeLink(pCPU, &pCPU->pfIdle, &cpuExecuteIdle)) { + return false; + } + if (!cpuMakeLink(pCPU, &pCPU->pfRam, &cpuExecuteLoadStore)) { + return false; + } + if (!cpuMakeLink(pCPU, &pCPU->pfRamF, &cpuExecuteLoadStoreF)) { + return false; + } + + cpuCompile_DSLLV(pCPU, &cpuCompile_DSLLV_function); + cpuCompile_DSRLV(pCPU, &cpuCompile_DSRLV_function); + cpuCompile_DSRAV(pCPU, &cpuCompile_DSRAV_function); + cpuCompile_DMULT(pCPU, &cpuCompile_DMULT_function); + cpuCompile_DMULTU(pCPU, &cpuCompile_DMULTU_function); + cpuCompile_DDIV(pCPU, &cpuCompile_DDIV_function); + cpuCompile_DDIVU(pCPU, &cpuCompile_DDIVU_function); + cpuCompile_DADD(pCPU, &cpuCompile_DADD_function); + cpuCompile_DADDU(pCPU, &cpuCompile_DADDU_function); + cpuCompile_DSUB(pCPU, &cpuCompile_DSUB_function); + cpuCompile_DSUBU(pCPU, &cpuCompile_DSUBU_function); + cpuCompile_S_SQRT(pCPU, &cpuCompile_S_SQRT_function); + cpuCompile_D_SQRT(pCPU, &cpuCompile_D_SQRT_function); + cpuCompile_W_CVT_SD(pCPU, &cpuCompile_W_CVT_SD_function); + cpuCompile_L_CVT_SD(pCPU, &cpuCompile_L_CVT_SD_function); + cpuCompile_CEIL_W(pCPU, &cpuCompile_CEIL_W_function); + cpuCompile_FLOOR_W(pCPU, &cpuCompile_FLOOR_W_function); + cpuCompile_ROUND_W(&cpuCompile_ROUND_W_function); + cpuCompile_TRUNC_W(&cpuCompile_TRUNC_W_function); + cpuCompile_LB(pCPU, &cpuCompile_LB_function); + cpuCompile_LH(pCPU, &cpuCompile_LH_function); + cpuCompile_LW(pCPU, &cpuCompile_LW_function); + cpuCompile_LBU(pCPU, &cpuCompile_LBU_function); + cpuCompile_LHU(pCPU, &cpuCompile_LHU_function); + cpuCompile_SB(pCPU, &cpuCompile_SB_function); + cpuCompile_SH(pCPU, &cpuCompile_SH_function); + cpuCompile_SW(pCPU, &cpuCompile_SW_function); + cpuCompile_LDC(pCPU, &cpuCompile_LDC_function); + cpuCompile_SDC(pCPU, &cpuCompile_SDC_function); + cpuCompile_LWL(pCPU, &cpuCompile_LWL_function); + cpuCompile_LWR(pCPU, &cpuCompile_LWR_function); + + if (cpuMakeFunction(pCPU, &pFunction, pCPU->nPC)) { + if (!xlHeapTake((void**)&pnCode, 0x100 | 0x30000000)) { + return false; + } + + pfCode = (void (*)(void))pnCode; + + *pnCode++ = 0x3C600000 | ((u32)pCPU >> 0x10); // lis r3,pCPU@h + *pnCode++ = 0x60630000 | ((u32)pCPU & 0xFFFF); // ori r3,r3,pCPU@l + + *pnCode++ = 0x80830000 + OFFSETOF(pCPU, survivalTimer); // lwz r4,survivalTimer(r3) + + nData = (u32)(SYSTEM_RAM(pCPU->pHost)->pBuffer) - 0x80000000; + *pnCode++ = 0x3D000000 | ((u32)nData >> 16); // lis r8,ramOffset@h + *pnCode++ = 0x61080000 | ((u32)nData & 0xFFFF); // ori r8,r8,ramOffset@l + + if (pCPU->nCompileFlag & 0x100) { + *pnCode++ = 0x3D20DFFF; // lis r9,0xDFFF + *pnCode++ = 0x6129FFFF; // ori r9,r9,0xFFFF + } else if (pCPU->nCompileFlag & 1) { + *pnCode++ = 0x39230000 + OFFSETOF(pCPU, aiDevice); // addi r9,r3,aiDevice + } + + for (iGPR = 0; iGPR < ARRAY_COUNT(ganMapGPR); iGPR++) { + if (!(ganMapGPR[iGPR] & 0x100)) { + nData = (OFFSETOF(pCPU, aGPR[iGPR]) + 4); + *pnCode++ = 0x80030000 | (ganMapGPR[iGPR] << 21) | nData; // lwz ri,(aGPR[i] + 4)(r3) + } + } + + *pnCode++ = 0x48000000 | (((u32)pFunction->pfCode - (u32)pnCode) & 0x03FFFFFC); // b pFunction->pfCode + + DCStoreRange(pfCode, 0x100); + ICInvalidateRange(pfCode, 0x100); + + pCPU->nRetrace = pCPU->nRetraceUsed = 0; + + VIWaitForRetrace(); + VISetPostRetraceCallback(&cpuRetraceCallback); + + pfCode(); + + if (!xlHeapFree((void**)&pfCode)) { + return false; + } + + if (!cpuFreeLink(pCPU, &pCPU->pfIdle)) { + return false; + } + if (!cpuFreeLink(pCPU, &pCPU->pfCall)) { + return false; + } + if (!cpuFreeLink(pCPU, &pCPU->pfJump)) { + return false; + } + if (!cpuFreeLink(pCPU, &pCPU->pfStep)) { + return false; + } + if (!cpuFreeLink(pCPU, &pCPU->pfRam)) { + return false; + } + if (!cpuFreeLink(pCPU, &pCPU->pfRamF)) { + return false; + } + + if (!xlHeapFree((void**)&cpuCompile_DSLLV_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_DSRLV_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_DSRAV_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_DMULT_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_DMULTU_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_DDIV_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_DDIVU_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_DADD_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_DADDU_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_DSUB_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_DSUBU_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_S_SQRT_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_D_SQRT_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_W_CVT_SD_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_L_CVT_SD_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_CEIL_W_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_FLOOR_W_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_TRUNC_W_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_ROUND_W_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_LB_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_LH_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_LW_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_LBU_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_LHU_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_SB_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_SH_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_SW_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_LDC_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_SDC_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_LWL_function)) { + return false; + } + if (!xlHeapFree((void**)&cpuCompile_LWR_function)) { + return false; + } + } + + return true; +} diff --git a/src/emulator/cpu.c b/src/emulator/cpu.c index 0916cebe..a972a289 100644 --- a/src/emulator/cpu.c +++ b/src/emulator/cpu.c @@ -1,6 +1,5 @@ #include "emulator/cpu.h" #include "dolphin.h" -#include "emulator/cpu_jumptable.h" #include "emulator/frame.h" #include "emulator/library.h" #include "emulator/ram.h" @@ -15,17 +14,8 @@ #include "macros.h" #include "math.h" -static inline bool cpuNoBranchTo(CpuFunction* pFunction, s32 addressN64); -static inline bool cpuCutStoreLoad(Cpu* pCPU, s32 currentAddress, s32 source); -static inline bool cpuCutStoreLoadF(Cpu* pCPU, s32 currentAddress, s32 source); -static inline bool cpuStackOffset(Cpu* pCPU, s32 currentAddress, s32* anCode, s32 source, s32 target); -static bool cpuNextInstruction(Cpu* pCPU, s32 addressN64, s32 opcode, s32* anCode, s32* iCode); -static inline bool cpuMakeCachedAddress(Cpu* pCPU, s32 nAddressN64, s32 nAddressHost, CpuFunction* pFunction); -static bool cpuFindCachedAddress(Cpu* pCPU, s32 nAddressN64, s32* pnAddressHost); -static bool cpuSetTLB(Cpu* pCPU, s32 iEntry); static bool cpuHeapReset(u32* array, s32 count); static bool cpuDMAUpdateFunction(Cpu* pCPU, s32 start, s32 end); -static void treeCallerInit(CpuCallerID* block, s32 total); static bool treeInit(Cpu* pCPU, s32 root_address); static bool treeKill(Cpu* pCPU); static bool treeKillNodes(Cpu* pCPU, CpuFunction* tree); @@ -35,12 +25,8 @@ static bool treeSearchNode(CpuFunction* tree, s32 target, CpuFunction** node); bool treeInsert(Cpu* pCPU, s32 start, s32 end); static bool treeInsertNode(CpuFunction** tree, s32 start, s32 end, CpuFunction** ppFunction); static bool treeBalance(CpuTreeRoot* root); -static bool treeKillReason(Cpu* pCPU, s32* value); static bool treeKillRange(Cpu* pCPU, CpuFunction* tree, s32 start, s32 end); -static bool treeTimerCheck(Cpu* pCPU); -static bool treeCleanUp(Cpu* pCPU, CpuTreeRoot* root); static bool treeCleanNodes(Cpu* pCPU, CpuFunction* top); -static inline bool treeForceCleanUp(Cpu* pCPU, CpuFunction* tree, s32 kill_limit); static bool treeForceCleanNodes(Cpu* pCPU, CpuFunction* tree, s32 kill_limit); static bool treePrintNode(Cpu* pCPU, CpuFunction* tree, s32 print_flag, s32* left, s32* right); static inline s32 treeMemory(Cpu* pCPU); @@ -52,18 +38,18 @@ _XL_OBJECTTYPE gClassCPU = { (EventFunc)cpuEvent, }; -char* gaszNameGPR[] = { +static char* gaszNameGPR[] = { "ZERO", "AT", "V0", "V1", "A0", "A1", "A2", "A3", "T0", "T1", "T2", "T3", "T4", "T5", "T6", "T7", "S0", "S1", "S2", "S3", "S4", "S5", "S6", "S7", "T8", "T9", "K0", "K1", "GP", "SP", "S8", "RA", }; -char* gaszNameFPR[] = { +static char* gaszNameFPR[] = { "F0", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "F25", "F26", "F27", "F28", "F29", "F30", "F21", // bug, should be "F31" }; -char* gaszNameCP0[] = { +static char* gaszNameCP0[] = { "INDEX", "RANDOM", "ENTRY-LO0", "ENTRY-LO1", "CONTEXT", "PAGE-MASK", "WIRED", "(RESERVED-7)", "BAD-VADDR", "COUNT", "ENTRY-HI", "COMPARE", "STATUS", "CAUSE", "EPC", "uPC-ID", "CONFIG", "LLADDR", "WATCH-LO", "WATCH-HI", "X-CONTEXT", @@ -71,7 +57,7 @@ char* gaszNameCP0[] = { "TAG-LO", "TAG-HI", "ERROR-EPC", "(RESERVED-31)", }; -char* gaszNameCP1[] = { +static char* gaszNameCP1[] = { "FCR0", "FCR1 (RESERVED)", "FCR2 (RESERVED)", @@ -106,7 +92,7 @@ char* gaszNameCP1[] = { "FCR31", }; -s64 ganMaskGetCP0[] = { +static s64 ganMaskGetCP0[] = { 0x000000008000003F, 0x000000000000003F, 0x000000003FFFFFFF, 0x000000003FFFFFFF, 0xFFFFFFFFFFFFFFF0, 0x0000000001FFE000, 0x000000000000001F, 0x0000000000000000, 0xFFFFFFFFFFFFFFFF, 0x00000000FFFFFFFF, 0x00000000FFFFE0FF, 0x00000000FFFFFFFF, 0x00000000FFFFFFFF, 0x00000000F000FF7C, 0xFFFFFFFFFFFFFFFF, @@ -116,7 +102,7 @@ s64 ganMaskGetCP0[] = { 0xFFFFFFFFFFFFFFFF, 0x0000000000000000, }; -s64 ganMaskSetCP0[] = { +static s64 ganMaskSetCP0[] = { 0x000000000000003F, 0x000000000000003F, 0x000000003FFFFFFF, 0x000000003FFFFFFF, 0xFFFFFFFFFFFFFFF0, 0x0000000001FFE000, 0x000000000000001F, 0x0000000000000000, 0xFFFFFFFFFFFFFFFF, 0x00000000FFFFFFFF, 0x00000000FFFFE0FF, 0x00000000FFFFFFFF, 0x00000000FFFFFFFF, 0x0000000000000300, 0xFFFFFFFFFFFFFFFF, @@ -126,10522 +112,59 @@ s64 ganMaskSetCP0[] = { 0xFFFFFFFFFFFFFFFF, 0x0000000000000000, }; -u8 Opcode[] = { +static u8 Opcode[] = { true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, true, true, true, true, true, true, true, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, true, true, true, true, true, true, false, true, true, true, true, }; -u8 SpecialOpcode[] = { +static u8 SpecialOpcode[] = { true, false, true, true, true, false, true, true, true, true, false, false, true, true, false, true, true, true, true, true, true, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, true, true, true, true, true, true, true, true, true, true, true, false, true, false, true, false, true, true, true, false, true, true, }; -u8 RegimmOpcode[] = { +static u8 RegimmOpcode[] = { true, true, true, true, false, false, false, false, true, true, true, true, true, false, true, false, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, }; -s32 ganOpcodeSaveFP1[] = { - 0x8F480018, 0x11000014, 0x00000000, 0x4448F800, 0x00000000, -}; - -s32 ganOpcodeSaveFP2_0[] = { - 0x8CBB0018, 0x1360000A, 0x00000000, 0x445BF800, 0x00000000, -}; - -s32 ganOpcodeSaveFP2_1[] = { - 0x13600009, - 0xACBF011C, - 0x445BF800, -}; - -s32 ganOpcodeLoadFP[] = { - 0x8F5B0018, 0x13600013, 0x00000000, 0x8F5B012C, 0x44DBF800, -}; - -/** - * @brief Mapping of VR4300 to PPC registers. - * - * If bit 0x100 is set the VR4300 register is not directly mapped to any PPC register, - * Instead the register will use the emulated VR4300 object for saving/loading register values. - */ -s32 ganMapGPR[] = { - 0x0000000A, 0x0000000B, 0x0000000C, 0x0000000E, 0x0000000F, 0x00000010, 0x00000011, 0x00000012, - 0x00000013, 0x00000014, 0x00000015, 0x00000016, 0x00000017, 0x00000018, 0x00000019, 0x0000001A, - 0x00000110, 0x00000111, 0x00000112, 0x00000113, 0x00000114, 0x00000115, 0x00000116, 0x00000117, - 0x0000001B, 0x0000001C, 0x0000001D, 0x0000001E, 0x0000011C, 0x0000001F, 0x0000011E, 0x0000011F, -}; - -#ifndef NON_MATCHING -// cpuOpcodeChecksum -void* jtbl_800EBEF0[25] = { - &lbl_80030EFC, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030EFC, &lbl_80030EFC, &lbl_80030F7C, &lbl_80030EFC, - &lbl_80030EFC, &lbl_80030F7C, &lbl_80030EFC, &lbl_80030EFC, &lbl_80030EFC, &lbl_80030EFC, &lbl_80030EFC, - &lbl_80030EFC, &lbl_80030EFC, &lbl_80030EFC, &lbl_80030EFC, &lbl_80030EFC, &lbl_80030EFC, &lbl_80030EFC, - &lbl_80030EFC, &lbl_80030EFC, &lbl_80030EFC, &lbl_80030F7C, -}; -#else -void* jtbl_800EBEF0[25] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuOpcodeChecksum -void* jtbl_800EBF54[64] = { - &lbl_80030F7C, &lbl_80030EA8, &lbl_80030F58, &lbl_80030F60, &lbl_80030F68, &lbl_80030F68, &lbl_80030F68, - &lbl_80030F68, &lbl_80030F7C, &lbl_80030F70, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F70, - &lbl_80030F7C, &lbl_80030F70, &lbl_80030ED8, &lbl_80030F2C, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F68, - &lbl_80030F68, &lbl_80030F68, &lbl_80030F68, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F7C, - &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F78, &lbl_80030F78, &lbl_80030F78, - &lbl_80030F78, &lbl_80030F78, &lbl_80030F78, &lbl_80030F78, &lbl_80030F7C, &lbl_80030F78, &lbl_80030F78, - &lbl_80030F7C, &lbl_80030F78, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F7C, - &lbl_80030F78, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F78, &lbl_80030F7C, &lbl_80030F78, - &lbl_80030F7C, &lbl_80030F78, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F7C, &lbl_80030F78, &lbl_80030F7C, - &lbl_80030F78, -}; -#else -void* jtbl_800EBF54[64] = {0}; -#endif - -char D_800EC054[] = "start=%p, end=%p (%d) (size: %d)\n"; -char D_800EC078[] = "tree range (%p - %p)\n"; -char D_800EC090[] = "total nodes: %d (tree height: %d %d)\n"; -char D_800EC0B8[] = "total memory: %d\n"; - -#ifndef NON_MATCHING -// cpuFindFunction -void* jtbl_800EC0CC[25] = { - &lbl_8003381C, &lbl_80033A68, &lbl_80033A68, &lbl_8003381C, &lbl_8003381C, &lbl_80033A68, &lbl_8003381C, - &lbl_8003381C, &lbl_80033A68, &lbl_8003381C, &lbl_8003381C, &lbl_8003381C, &lbl_8003381C, &lbl_8003381C, - &lbl_8003381C, &lbl_8003381C, &lbl_8003381C, &lbl_8003381C, &lbl_8003381C, &lbl_8003381C, &lbl_8003381C, - &lbl_8003381C, &lbl_8003381C, &lbl_8003381C, &lbl_800337F0, -}; -#else -void* jtbl_800EC0CC[25] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuFindFunction -void* jtbl_800EC130[44] = { - &lbl_800334D8, &lbl_800335A0, &lbl_80033564, &lbl_80033A5C, &lbl_80033644, &lbl_80033768, &lbl_80033768, - &lbl_80033768, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, - &lbl_80033A5C, &lbl_80033A5C, &lbl_800337D0, &lbl_800338AC, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033644, - &lbl_80033768, &lbl_80033768, &lbl_80033768, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, - &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, - &lbl_8003394C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, &lbl_80033A5C, - &lbl_80033A5C, &lbl_80033938, -}; -#else -void* jtbl_800EC130[44] = {0}; -#endif - -char D_800EC1E0[] = "_cpuGCN.c"; - -#ifndef NON_MATCHING -// cpuExecuteLoadStoreF -void* jtbl_800EC1EC[15] = { - &lbl_8003789C, &lbl_80038010, &lbl_80038010, &lbl_80038010, &lbl_80037AF0, - &lbl_80038010, &lbl_80037D08, &lbl_80038010, &lbl_800379D8, &lbl_80038010, - &lbl_80038010, &lbl_80038010, &lbl_80037BF8, &lbl_80038010, &lbl_80037E90, -}; -#else -void* jtbl_800EC1EC[15] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuExecuteLoadStore -void* jtbl_800EC228[12] = { - &lbl_800383F4, &lbl_800386AC, &lbl_80038E70, &lbl_80038964, &lbl_80038560, &lbl_80038818, - &lbl_80038E70, &lbl_80038E70, &lbl_80038AB0, &lbl_80038BF0, &lbl_80038E70, &lbl_80038D30, -}; -#else -void* jtbl_800EC228[12] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuExecuteOpcode -void* jtbl_800EC258[64] = { - &lbl_8003C690, &lbl_8003C6CC, &lbl_8003C708, &lbl_8003C754, &lbl_8003C78C, &lbl_8003C85C, &lbl_8003C88C, - &lbl_8003C8B0, &lbl_8003C8DC, &lbl_8003C900, &lbl_8003C924, &lbl_8003C954, &lbl_8003C984, &lbl_8003C9A0, - &lbl_8003C9BC, &lbl_8003C9F0, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003CA24, &lbl_8003CA48, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003CA6C, &lbl_8003CA88, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003CAAC, - &lbl_8003CABC, &lbl_8003CACC, &lbl_8003CB1C, &lbl_8003CB6C, &lbl_8003CBC8, &lbl_8003CC24, &lbl_8003CC80, - &lbl_8003CCDC, &lbl_8003CCEC, &lbl_8003CD48, &lbl_8003CD98, &lbl_8003CDE8, &lbl_8003CE44, &lbl_8003CEA0, - &lbl_8003CEFC, -}; -#else -void* jtbl_800EC258[64] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuExecuteOpcode -void* jtbl_800EC358[64] = { - &lbl_8003BEA4, &lbl_8003BED0, &lbl_8003BEFC, &lbl_8003BF28, &lbl_8003BF54, &lbl_8003C030, &lbl_8003C078, - &lbl_8003C094, &lbl_8003C0B4, &lbl_8003C0D8, &lbl_8003C0FC, &lbl_8003C140, &lbl_8003C184, &lbl_8003C1A0, - &lbl_8003C1BC, &lbl_8003C204, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003C24C, &lbl_8003C284, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003C2BC, &lbl_8003C2D8, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003C2FC, - &lbl_8003C30C, &lbl_8003C31C, &lbl_8003C35C, &lbl_8003C39C, &lbl_8003C3DC, &lbl_8003C41C, &lbl_8003C45C, - &lbl_8003C49C, &lbl_8003C4AC, &lbl_8003C4EC, &lbl_8003C52C, &lbl_8003C56C, &lbl_8003C5AC, &lbl_8003C5EC, - &lbl_8003C62C, -}; -#else -void* jtbl_800EC358[64] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuExecuteOpcode -void* jtbl_800EC458[64] = { - &lbl_8003B774, &lbl_8003B7A0, &lbl_8003B7CC, &lbl_8003B7F8, &lbl_8003B824, &lbl_8003B8C8, &lbl_8003B8E8, - &lbl_8003B904, &lbl_8003B924, &lbl_8003B950, &lbl_8003B974, &lbl_8003B99C, &lbl_8003B9C4, &lbl_8003B9F4, - &lbl_8003BA1C, &lbl_8003BA48, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003BA74, &lbl_8003BA94, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003BAB0, &lbl_8003BAD8, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003BAFC, - &lbl_8003BB0C, &lbl_8003BB1C, &lbl_8003BB5C, &lbl_8003BB9C, &lbl_8003BBDC, &lbl_8003BC1C, &lbl_8003BC60, - &lbl_8003BCA4, &lbl_8003BCB4, &lbl_8003BCF8, &lbl_8003BD38, &lbl_8003BD78, &lbl_8003BDB8, &lbl_8003BDF8, - &lbl_8003BE3C, -}; -#else -void* jtbl_800EC458[64] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuExecuteOpcode -void* jtbl_800EC558[64] = { - &lbl_8003B040, &lbl_8003B06C, &lbl_8003B098, &lbl_8003B0C4, &lbl_8003B0F0, &lbl_8003B198, &lbl_8003B1BC, - &lbl_8003B1D8, &lbl_8003B1F8, &lbl_8003B224, &lbl_8003B248, &lbl_8003B270, &lbl_8003B298, &lbl_8003B2C8, - &lbl_8003B2F0, &lbl_8003B31C, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003B348, &lbl_8003B364, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003B380, &lbl_8003B3A8, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003B3CC, - &lbl_8003B3DC, &lbl_8003B3EC, &lbl_8003B42C, &lbl_8003B46C, &lbl_8003B4AC, &lbl_8003B4EC, &lbl_8003B530, - &lbl_8003B574, &lbl_8003B584, &lbl_8003B5C8, &lbl_8003B608, &lbl_8003B648, &lbl_8003B688, &lbl_8003B6C8, - &lbl_8003B70C, -}; -#else -void* jtbl_800EC558[64] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuExecuteOpcode -void* jtbl_800EC658[7] = { - &lbl_8003AD84, &lbl_8003ADD4, &lbl_8003ADF8, &lbl_8003DEAC, &lbl_8003AE14, &lbl_8003AE98, &lbl_8003AEBC, -}; -#else -void* jtbl_800EC658[7] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuExecuteOpcode -void* jtbl_800EC674[9] = { - &lbl_8003AC94, &lbl_8003ACD8, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003AD0C, - &lbl_8003AD2C, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, -}; -#else -void* jtbl_800EC674[9] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuExecuteOpcode -void* jtbl_800EC698[25] = { - &lbl_8003AC70, &lbl_8003A824, &lbl_8003A87C, &lbl_8003AC70, &lbl_8003AC70, &lbl_8003A894, &lbl_8003AC70, - &lbl_8003AC70, &lbl_8003AA30, &lbl_8003AC70, &lbl_8003AC70, &lbl_8003AC70, &lbl_8003AC70, &lbl_8003AC70, - &lbl_8003AC70, &lbl_8003AC70, &lbl_8003AC70, &lbl_8003AC70, &lbl_8003AC70, &lbl_8003AC70, &lbl_8003AC70, - &lbl_8003AC70, &lbl_8003AC70, &lbl_8003AC70, &lbl_8003ABD8, -}; -#else -void* jtbl_800EC698[25] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuExecuteOpcode -void* jtbl_800EC6FC[20] = { - &lbl_8003A1A8, &lbl_8003A1D8, &lbl_8003A208, &lbl_8003A254, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_8003DEAC, &lbl_8003A2A0, &lbl_8003A2D0, &lbl_8003A300, &lbl_8003A330, &lbl_8003A360, &lbl_8003DEAC, - &lbl_8003A390, &lbl_8003DEAC, &lbl_8003A3C0, &lbl_8003A400, &lbl_8003A440, &lbl_8003A498, -}; -#else -void* jtbl_800EC6FC[20] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuExecuteOpcode -void* jtbl_800EC74C[64] = { - &lbl_80039680, &lbl_8003DEAC, &lbl_800396A4, &lbl_800396C8, &lbl_800396EC, &lbl_8003DEAC, &lbl_8003971C, - &lbl_8003974C, &lbl_8003977C, &lbl_80039790, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_800397C0, &lbl_800397D4, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_800397E8, &lbl_80039804, &lbl_80039820, &lbl_8003983C, &lbl_80039858, - &lbl_8003DEAC, &lbl_80039894, &lbl_800398D0, &lbl_8003990C, &lbl_80039984, &lbl_800399F8, &lbl_80039A50, - &lbl_80039AA8, &lbl_80039B24, &lbl_80039BA0, &lbl_80039C08, &lbl_80039C70, &lbl_80039C9C, &lbl_80039CC8, - &lbl_80039CF4, &lbl_80039D20, &lbl_80039D4C, &lbl_80039D78, &lbl_80039DA4, &lbl_8003DEAC, &lbl_8003DEAC, - &lbl_80039DD0, &lbl_80039E0C, &lbl_80039E48, &lbl_80039E84, &lbl_80039EC0, &lbl_80039EFC, &lbl_80039F38, - &lbl_80039F6C, &lbl_80039FA0, &lbl_80039FD4, &lbl_8003A008, &lbl_8003DEAC, &lbl_8003A03C, &lbl_8003DEAC, - &lbl_8003A070, &lbl_8003DEAC, &lbl_8003A09C, &lbl_8003A0C8, &lbl_8003A0F4, &lbl_8003DEAC, &lbl_8003A124, - &lbl_8003A154, -}; -#else -void* jtbl_800EC74C[64] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuExecuteOpcode -void* jtbl_800EC84C[64] = { - &lbl_8003965C, &lbl_8003A184, &lbl_8003A4F0, &lbl_8003A558, &lbl_8003A58C, &lbl_8003A61C, &lbl_8003A658, - &lbl_8003A688, &lbl_8003A6B8, &lbl_8003A6E0, &lbl_8003A708, &lbl_8003A740, &lbl_8003A778, &lbl_8003A79C, - &lbl_8003A7C0, &lbl_8003A7E4, &lbl_8003A800, &lbl_8003AD4C, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003CF58, - &lbl_8003CFB0, &lbl_8003D008, &lbl_8003D054, &lbl_8003D0A0, &lbl_8003D0D8, &lbl_8003D138, &lbl_8003D210, - &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003D110, &lbl_8003D350, &lbl_8003D3B4, &lbl_8003D414, - &lbl_8003D4A8, &lbl_8003D508, &lbl_8003D568, &lbl_8003D5F8, &lbl_8003D2E8, &lbl_8003D68C, &lbl_8003D6DC, - &lbl_8003D72C, &lbl_8003D79C, &lbl_8003D7EC, &lbl_8003D86C, &lbl_8003D8EC, &lbl_8003D95C, &lbl_8003DA20, - &lbl_8003DA80, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DB40, &lbl_8003DBA8, &lbl_8003DEAC, &lbl_8003DC10, - &lbl_8003DC78, &lbl_8003DCE8, &lbl_8003DEAC, &lbl_8003DEAC, &lbl_8003DD6C, &lbl_8003DDF0, &lbl_8003DEAC, - &lbl_8003DE50, -}; -#else -void* jtbl_800EC84C[64] = {0}; -#endif - -char D_800EC94C[] = "ERROR in cpuNextInstruction() with opcode %p at %p\n"; -char D_800EC980[] = "CALLED: ceil_w single (%p)\n"; -char D_800EC99C[] = "CALLED: floor_w single (%p)\n"; -char D_800EC9BC[] = "ERROR: CVT_S_S\n"; -char D_800EC9CC[] = "CALLED: ceil_w double (%p)\n"; -char D_800EC9E8[] = "CALLED: floor_w double (%p)\n"; -char D_800ECA08[] = "ERROR: CVT_S_D\n"; -char D_800ECA18[] = "ERROR: ADD_W\n"; -char D_800ECA28[] = "ERROR: SUB_W\n"; -char D_800ECA38[] = "ERROR: MUL_W\n"; -char D_800ECA48[] = "ERROR: DIV_W\n"; -char D_800ECA58[] = "ERROR: SQRT_W\n"; -char D_800ECA68[] = "ERROR: ABS_W\n"; -char D_800ECA78[] = "ERROR: MOVE_W\n"; -char D_800ECA88[] = "ERROR: NEG_W\n"; -char D_800ECA98[] = "ERROR: ROUND_W_W\n"; -char D_800ECAAC[] = "ERROR: TRUNC_W_W\n"; -char D_800ECAC0[] = "ERROR: CEIL_W_W\n"; -char D_800ECAD4[] = "ERROR: FLOOR_W_W\n"; -char D_800ECAE8[] = "ERROR: CVT_W_W\n"; -char D_800ECAF8[] = "ERROR: C.F_W\n"; -char D_800ECB08[] = "ERROR: C.UN_W\n"; -char D_800ECB18[] = "ERROR: C.EQ_W\n"; -char D_800ECB28[] = "ERROR: C.UEQ_W\n"; -char D_800ECB38[] = "ERROR: C.OLT_W\n"; -char D_800ECB48[] = "ERROR: C.ULT_W\n"; -char D_800ECB58[] = "ERROR: C.OLE_W\n"; -char D_800ECB68[] = "ERROR: C.ULE_W\n"; -char D_800ECB78[] = "ERROR: C.SF_W\n"; -char D_800ECB88[] = "ERROR: C.NGLE_W\n"; -char D_800ECB9C[] = "ERROR: C.SEQ_W\n"; -char D_800ECBAC[] = "ERROR: C.NGL_W\n"; -char D_800ECBBC[] = "ERROR: C.LT_W\n"; -char D_800ECBCC[] = "ERROR: C.NGE_W\n"; -char D_800ECBDC[] = "ERROR: C.LE_W\n"; -char D_800ECBEC[] = "ERROR: C.NGT_W\n"; -char D_800ECBFC[] = "ERROR: ADD_L\n"; -char D_800ECC0C[] = "ERROR: SUB_L\n"; -char D_800ECC1C[] = "ERROR: MUL_L\n"; -char D_800ECC2C[] = "ERROR: DIV_L\n"; -char D_800ECC3C[] = "ERROR: SQRT_L\n"; -char D_800ECC4C[] = "ERROR: ABS_L\n"; -char D_800ECC5C[] = "ERROR: MOVE_L\n"; -char D_800ECC6C[] = "ERROR: NEG_L\n"; -char D_800ECC7C[] = "ERROR: ROUND_W_L\n"; -char D_800ECC90[] = "ERROR: TRUNC_W_L\n"; -char D_800ECCA4[] = "ERROR: CEIL_W_L\n"; -char D_800ECCB8[] = "ERROR: FLOOR_W_L\n"; -char D_800ECCCC[] = "ERROR: CVT_W_L\n"; -char D_800ECCDC[] = "ERROR: C.F_L\n"; -char D_800ECCEC[] = "ERROR: C.UN_L\n"; -char D_800ECCFC[] = "ERROR: C.EQ_L\n"; -char D_800ECD0C[] = "ERROR: C.UEQ_L\n"; -char D_800ECD1C[] = "ERROR: C.OLT_L\n"; -char D_800ECD2C[] = "ERROR: C.ULT_L\n"; -char D_800ECD3C[] = "ERROR: C.OLE_L\n"; -char D_800ECD4C[] = "ERROR: C.ULE_L\n"; -char D_800ECD5C[] = "ERROR: C.SF_L\n"; -char D_800ECD6C[] = "ERROR: C.NGLE_L\n"; -char D_800ECD80[] = "ERROR: C.SEQ_L\n"; -char D_800ECD90[] = "ERROR: C.NGL_L\n"; -char D_800ECDA0[] = "ERROR: C.LT_L\n"; -char D_800ECDB0[] = "ERROR: C.NGE_L\n"; -char D_800ECDC0[] = "ERROR: C.LE_L\n"; -char D_800ECDD0[] = "ERROR: C.NGT_L\n"; - -#ifndef NON_MATCHING -// cpuGetPPC -void* jtbl_800ECDE0[64] = { - &lbl_8005A1E0, &lbl_8005A204, &lbl_8005A228, &lbl_8005A24C, &lbl_8005A270, &lbl_8005A280, &lbl_8005A2A4, - &lbl_8005A2B4, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_8005A2D8, &lbl_8005A2E8, - &lbl_8005A2F8, &lbl_8005A308, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, - &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, - &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A318, &lbl_8005A464, &lbl_8005A688, - &lbl_8005A688, &lbl_8005A578, &lbl_80067F34, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, - &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A688, &lbl_8005A588, - &lbl_8005A598, &lbl_8005A5A8, &lbl_8005A5B8, &lbl_8005A5C8, &lbl_8005A5D8, &lbl_8005A5E8, &lbl_8005A5F8, - &lbl_8005A608, &lbl_8005A618, &lbl_8005A628, &lbl_8005A638, &lbl_8005A648, &lbl_8005A658, &lbl_8005A668, - &lbl_8005A678, -}; - -// cpuGetPPC -void* jtbl_800ECEE0[64] = { - &lbl_80059DC0, &lbl_80059DE4, &lbl_80059E08, &lbl_80059E2C, &lbl_80059E50, &lbl_80059E60, &lbl_80059E84, - &lbl_80059E94, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_80059EB8, &lbl_80059EC8, - &lbl_80059ED8, &lbl_80059EE8, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, - &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, - &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_80059EF8, &lbl_80059FD0, &lbl_8005A1B4, - &lbl_8005A1B4, &lbl_8005A0A4, &lbl_80067F34, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, - &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A1B4, &lbl_8005A0B4, - &lbl_8005A0C4, &lbl_8005A0D4, &lbl_8005A0E4, &lbl_8005A0F4, &lbl_8005A104, &lbl_8005A114, &lbl_8005A124, - &lbl_8005A134, &lbl_8005A144, &lbl_8005A154, &lbl_8005A164, &lbl_8005A174, &lbl_8005A184, &lbl_8005A194, - &lbl_8005A1A4, -}; - -// cpuGetPPC -void* jtbl_800ECFE0[64] = { - &lbl_80054BD4, &lbl_80054EF0, &lbl_80055204, &lbl_80055520, &lbl_80055834, &lbl_800559F0, &lbl_80055BC8, - &lbl_80055C54, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_80055E2C, &lbl_80055FEC, - &lbl_800561AC, &lbl_8005637C, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, - &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, - &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_8005654C, &lbl_800565DC, &lbl_80059D94, - &lbl_80059D94, &lbl_800565EC, &lbl_80067F34, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, - &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_80059D94, &lbl_800567AC, - &lbl_80056854, &lbl_800568FC, &lbl_80056CE4, &lbl_800570CC, &lbl_800574B8, &lbl_800578A4, &lbl_80057CC4, - &lbl_800580E4, &lbl_8005818C, &lbl_800585AC, &lbl_80058994, &lbl_80058D7C, &lbl_80059168, &lbl_80059554, - &lbl_80059974, -}; - -// cpuGetPPC -void* jtbl_800ED0E0[64] = { - &lbl_8004F91C, &lbl_8004FC44, &lbl_8004FF64, &lbl_8005028C, &lbl_800505AC, &lbl_80050770, &lbl_80050950, - &lbl_800509E4, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_80050BC4, &lbl_80050D88, - &lbl_80050F4C, &lbl_80051120, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, - &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, - &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_800512F4, &lbl_80051304, &lbl_80054BA8, - &lbl_80054BA8, &lbl_80051394, &lbl_80067F34, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, - &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80054BA8, &lbl_80051558, - &lbl_80051600, &lbl_800516A8, &lbl_80051A98, &lbl_80051E88, &lbl_8005227C, &lbl_80052670, &lbl_80052A98, - &lbl_80052EC0, &lbl_80052F68, &lbl_80053390, &lbl_80053780, &lbl_80053B70, &lbl_80053F64, &lbl_80054358, - &lbl_80054780, -}; - -// cpuGetPPC -void* jtbl_800ED1E0[7] = { - &lbl_8004E8E8, &lbl_8004EA44, &lbl_8004EBC0, &lbl_8004F0A8, &lbl_8004ECB0, &lbl_8004EE70, &lbl_8004EFE4, -}; - -// cpuGetPPC -void* jtbl_800ED1FC[25] = { - &lbl_8004E810, &lbl_80067F34, &lbl_80067F34, &lbl_8004E810, &lbl_8004E810, &lbl_80067F34, &lbl_8004E810, - &lbl_8004E810, &lbl_80067F34, &lbl_8004E810, &lbl_8004E810, &lbl_8004E810, &lbl_8004E810, &lbl_8004E810, - &lbl_8004E810, &lbl_8004E810, &lbl_8004E810, &lbl_8004E810, &lbl_8004E810, &lbl_8004E810, &lbl_8004E810, - &lbl_8004E810, &lbl_8004E810, &lbl_8004E810, &lbl_80067F34, -}; - -// cpuGetPPC -void* jtbl_800ED260[20] = { - &lbl_800496CC, &lbl_80049998, &lbl_80049C64, &lbl_80049F5C, &lbl_8004B55C, &lbl_8004B55C, &lbl_8004B55C, - &lbl_8004B55C, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_8004B55C, - &lbl_80067F34, &lbl_8004B55C, &lbl_8004A254, &lbl_8004A700, &lbl_8004ABAC, &lbl_8004B084, -}; - -// cpuGetPPC -void* jtbl_800ED2B0[64] = { - &lbl_8003F290, &lbl_800496A0, &lbl_8003F524, &lbl_8003F780, &lbl_8003F9D0, &lbl_800496A0, &lbl_8003FDBC, - &lbl_800401A8, &lbl_80040594, &lbl_800407BC, &lbl_800496A0, &lbl_800496A0, &lbl_80067F34, &lbl_80067F34, - &lbl_800496A0, &lbl_80067F34, &lbl_80040D64, &lbl_80040F68, &lbl_80041154, &lbl_80041358, &lbl_80041544, - &lbl_800496A0, &lbl_8004180C, &lbl_80041AD4, &lbl_80041D9C, &lbl_80041F68, &lbl_80042134, &lbl_80042330, - &lbl_8004252C, &lbl_80042B04, &lbl_80042F8C, &lbl_80043564, &lbl_800439EC, &lbl_80044464, &lbl_80044EDC, - &lbl_800452C8, &lbl_800456B4, &lbl_80045AA0, &lbl_80046518, &lbl_80046904, &lbl_800496A0, &lbl_800496A0, - &lbl_80046CF0, &lbl_80047164, &lbl_800475DC, &lbl_800479F4, &lbl_80047E0C, &lbl_80048224, &lbl_80067F34, - &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_80067F34, &lbl_800496A0, &lbl_80067F34, &lbl_800496A0, - &lbl_8004863C, &lbl_800496A0, &lbl_800488E0, &lbl_80048B8C, &lbl_80048E2C, &lbl_800496A0, &lbl_800490FC, - &lbl_800493D4, -}; - -// cpuGetPPC -void* jtbl_800ED3B0[64] = { - &lbl_8003F268, &lbl_800496A8, &lbl_8004B564, &lbl_8004B80C, &lbl_8004BD30, &lbl_8004C2FC, &lbl_8004C730, - &lbl_8004C9FC, &lbl_8004CCC8, &lbl_8004D2D4, &lbl_8004D900, &lbl_8004DC14, &lbl_8004DF58, &lbl_8004E1A0, - &lbl_8004E430, &lbl_8004E69C, &lbl_8004E7EC, &lbl_8004E8B0, &lbl_8005A690, &lbl_8005A698, &lbl_8005A6A0, - &lbl_8005ABFC, &lbl_8005B05C, &lbl_8005B354, &lbl_8005B64C, &lbl_8005BAE8, &lbl_8005BFBC, &lbl_8005BFDC, - &lbl_80067F30, &lbl_80067F30, &lbl_80067F30, &lbl_8005BF84, &lbl_8005C01C, &lbl_8005CC14, &lbl_8005D80C, - &lbl_8005DBF4, &lbl_8005E9B0, &lbl_8005F568, &lbl_80060120, &lbl_8005BFFC, &lbl_80060508, &lbl_80061264, - &lbl_80061FC0, &lbl_800622F4, &lbl_80067F34, &lbl_80067F34, &lbl_8006342C, &lbl_8006375C, &lbl_80063790, - &lbl_800637B0, &lbl_80067F30, &lbl_80067F30, &lbl_80064660, &lbl_80064680, &lbl_80067F30, &lbl_80065444, - &lbl_80067F34, &lbl_80065A94, &lbl_80067F30, &lbl_80067F30, &lbl_800669E0, &lbl_80066A00, &lbl_80067F30, - &lbl_800678FC, -}; -#endif - -#ifndef NON_MATCHING -// cpuCheckDelaySlot -void* jtbl_800ED4B0[25] = { - &lbl_800682F0, &lbl_80068360, &lbl_80068360, &lbl_800682F0, &lbl_800682F0, &lbl_80068360, &lbl_800682F0, - &lbl_800682F0, &lbl_80068360, &lbl_800682F0, &lbl_800682F0, &lbl_800682F0, &lbl_800682F0, &lbl_800682F0, - &lbl_800682F0, &lbl_800682F0, &lbl_800682F0, &lbl_800682F0, &lbl_800682F0, &lbl_800682F0, &lbl_800682F0, - &lbl_800682F0, &lbl_800682F0, &lbl_800682F0, &lbl_80068360, -}; -#else -void* jtbl_800ED4B0[25] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuCheckDelaySlot -void* jtbl_800ED514[24] = { - &lbl_80068270, &lbl_8006829C, &lbl_8006834C, &lbl_80068354, &lbl_8006835C, &lbl_8006835C, - &lbl_8006835C, &lbl_8006835C, &lbl_80068360, &lbl_80068360, &lbl_80068360, &lbl_80068360, - &lbl_80068360, &lbl_80068360, &lbl_80068360, &lbl_80068360, &lbl_800682CC, &lbl_80068320, - &lbl_80068360, &lbl_80068360, &lbl_8006835C, &lbl_8006835C, &lbl_8006835C, &lbl_8006835C, -}; -#else -void* jtbl_800ED514[24] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuGetRegisterCP0 -void* jtbl_800ED574[32] = { - &lbl_8003551C, &lbl_800352F8, &lbl_8003551C, &lbl_8003551C, &lbl_8003551C, &lbl_8003551C, &lbl_8003551C, - &lbl_800354A4, &lbl_800354B4, &lbl_8003548C, &lbl_8003551C, &lbl_80035494, &lbl_8003551C, &lbl_8003551C, - &lbl_8003549C, &lbl_8003551C, &lbl_8003551C, &lbl_8003551C, &lbl_8003551C, &lbl_8003551C, &lbl_8003551C, - &lbl_800354BC, &lbl_800354CC, &lbl_800354DC, &lbl_800354EC, &lbl_800354FC, &lbl_8003551C, &lbl_8003551C, - &lbl_8003551C, &lbl_8003551C, &lbl_8003551C, &lbl_8003550C, -}; -#else -void* jtbl_800ED574[32] = {0}; -#endif - -#ifndef NON_MATCHING -// cpuSetRegisterCP0 -void* jtbl_800ED5F4[32] = { - &lbl_800356F4, &lbl_800356F8, &lbl_800356F4, &lbl_800356F4, &lbl_800356F4, &lbl_800356F4, &lbl_800356F4, - &lbl_800356F8, &lbl_800356F8, &lbl_800355BC, &lbl_800356F4, &lbl_800355C4, &lbl_8003562C, &lbl_80035654, - &lbl_800356CC, &lbl_800356F8, &lbl_800356D4, &lbl_800356F4, &lbl_800356F4, &lbl_800356F4, &lbl_800356F4, - &lbl_800356F8, &lbl_800356F8, &lbl_800356F8, &lbl_800356F8, &lbl_800356F8, &lbl_800356F4, &lbl_800356F8, - &lbl_800356F4, &lbl_800356F4, &lbl_800356F4, &lbl_800356F8, -}; -#else -void* jtbl_800ED5F4[32] = {0}; -#endif - -char D_800ED674[] = "Exception: #### INTERNAL ERROR #### Cannot match exception-handler!"; - -u32 aHeapTreeFlag[125]; - -static char D_8013522C[] = "CFZE"; -static char D_80135234[] = "NYLJ"; -static char D_8013523C[] = "NM3E"; -static char D_80135244[] = "CLBE"; -static char D_8013524C[] = "NN6J"; -static char D_80135254[] = "NN6E"; -static char D_8013525C[] = ""; -static char D_80135260[] = "cpu.c"; - -static void* gHeapTree; - -static s32 cpuCompile_DSLLV_function; -static s32 cpuCompile_DSRLV_function; -static s32 cpuCompile_DSRAV_function; -static s32 cpuCompile_DMULT_function; -static s32 cpuCompile_DMULTU_function; -static s32 cpuCompile_DDIV_function; -static s32 cpuCompile_DDIVU_function; -static s32 cpuCompile_DADD_function; -static s32 cpuCompile_DADDU_function; -static s32 cpuCompile_DSUB_function; -static s32 cpuCompile_DSUBU_function; -static s32 cpuCompile_S_SQRT_function; -static s32 cpuCompile_D_SQRT_function; -static s32 cpuCompile_W_CVT_SD_function; -static s32 cpuCompile_L_CVT_SD_function; -static s32 cpuCompile_CEIL_W_function; -static s32 cpuCompile_FLOOR_W_function; -static s32 cpuCompile_ROUND_W_function; -static s32 cpuCompile_TRUNC_W_function; -static s32 cpuCompile_LB_function; -static s32 cpuCompile_LH_function; -static s32 cpuCompile_LW_function; -static s32 cpuCompile_LBU_function; -static s32 cpuCompile_LHU_function; -static s32 cpuCompile_SB_function; -static s32 cpuCompile_SH_function; -static s32 cpuCompile_SW_function; -static s32 cpuCompile_LDC_function; -static s32 cpuCompile_SDC_function; -static s32 cpuCompile_LWL_function; -static s32 cpuCompile_LWR_function; - -const f64 D_80135FA0 = 0.0; -const f64 D_80135FA8 = 0.5; -const f64 D_80135FB0 = 3.0; -const f32 D_80135FB8 = 0.5f; -const f64 D_80135FC0 = 4503601774854144.0; - -static bool cpuCompile_DSLLV(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 16; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x9421FFE8; // stwu r1,-24(r1) - compile[count++] = 0x70E7003F; // andi. r7,r7,63 - compile[count++] = 0x91210010; // stw r9,16(r1) - compile[count++] = 0x21270020; // subfic r9,r7,32 - compile[count++] = 0x91010008; // stw r8,8(r1) - compile[count++] = 0x7CA53830; // slw r5,r5,r7 - compile[count++] = 0x7CC84C30; // srw r8,r6,r9 - compile[count++] = 0x7CA54378; // or r5,r5,r8 - compile[count++] = 0x3927FFE0; // addi r9,r7,-32 - compile[count++] = 0x7CC84830; // slw r8,r6,r9 - compile[count++] = 0x7CA54378; // or r5,r5,r8 - compile[count++] = 0x7CC63830; // slw r6,r6,r7 - compile[count++] = 0x81010008; // lwz r8,8(r1) - compile[count++] = 0x81210010; // lwz r9,16(r1) - compile[count++] = 0x38210018; // addi r1,r1,24 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_DSRLV(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 16; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x9421FFE8; // stwu r1,-24(r1) - compile[count++] = 0x70E7003F; // andi. r7,r7,63 - compile[count++] = 0x91210010; // stw r9,16(r1) - compile[count++] = 0x21270020; // subfic r9,r7,32 - compile[count++] = 0x91010008; // stw r8,8(r1) - compile[count++] = 0x7CC63C30; // srw r6,r6,r7 - compile[count++] = 0x7CA84830; // slw r8,r5,r9 - compile[count++] = 0x7CC64378; // or r6,r6,r8 - compile[count++] = 0x3927FFE0; // addi r9,r7,-32 - compile[count++] = 0x7CA84C30; // srw r8,r5,r9 - compile[count++] = 0x7CC64378; // or r6,r6,r8 - compile[count++] = 0x7CA53C30; // srw r5,r5,r7 - compile[count++] = 0x81010008; // lwz r8,8(r1) - compile[count++] = 0x81210010; // lwz r9,16(r1) - compile[count++] = 0x38210018; // addi r1,r1,24 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_DSRAV(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 17; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x9421FFE8; // stwu r1,-24(r1) - compile[count++] = 0x70E7003F; // andi. r7,r7,63 - compile[count++] = 0x91210010; // stw r9,16(r1) - compile[count++] = 0x21270020; // subfic r9,r7,32 - compile[count++] = 0x91010008; // stw r8,8(r1) - compile[count++] = 0x7CC63C30; // srw r6,r6,r7 - compile[count++] = 0x7CA84830; // slw r8,r5,r9 - compile[count++] = 0x7CC64378; // or r6,r6,r8 - compile[count++] = 0x3527FFE0; // addic. r9,r7,-32 - compile[count++] = 0x7CA84E30; // sraw r8,r5,r9 - compile[count++] = 0x40810008; // ble- 0x8 - compile[count++] = 0x61060000; // ori r6,r8,0 - compile[count++] = 0x7CA53E30; // sraw r5,r5,r7 - compile[count++] = 0x81010008; // lwz r8,8(r1) - compile[count++] = 0x81210010; // lwz r9,16(r1) - compile[count++] = 0x38210018; // addi r1,r1,24 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_DMULT(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 53; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x39200000; // li r9,0 - compile[count++] = 0x39400000; // li r10,0 - compile[count++] = 0x39800040; // li r12,64 - compile[count++] = 0x39600001; // li r11,1 - compile[count++] = 0x2C050000; // cmpwi r5,0 - compile[count++] = 0x40800014; // bge- 0x14 - compile[count++] = 0x7CC630F8; // not r6,r6 - compile[count++] = 0x7CA528F8; // not r5,r5 - compile[count++] = 0x7CC65814; // addc r6,r6,r11 - compile[count++] = 0x7CA54914; // adde r5,r5,r9 - compile[count++] = 0x2C070000; // cmpwi r7,0 - compile[count++] = 0x40800014; // bge- 0x14 - compile[count++] = 0x7D0840F8; // not r8,r8 - compile[count++] = 0x7CE738F8; // not r7,r7 - compile[count++] = 0x7D085814; // addc r8,r8,r11 - compile[count++] = 0x7CE74914; // adde r7,r7,r9 - compile[count++] = 0x710B0001; // andi. r11,r8,1 - compile[count++] = 0x41820018; // beq- 0x18 - compile[count++] = 0x39600000; // li r11,0 - compile[count++] = 0x7D4A3014; // addc r10,r10,r6 - compile[count++] = 0x7D292914; // adde r9,r9,r5 - compile[count++] = 0x7D6B5914; // adde r11,r11,r11 - compile[count++] = 0x42800008; // bc 20,lt,0x8 - compile[count++] = 0x39600000; // li r11,0 - compile[count++] = 0x5508F87E; // srwi r8,r8,1 - compile[count++] = 0x50E8F800; // rlwimi r8,r7,31,0,0 - compile[count++] = 0x54E7F87E; // srwi r7,r7,1 - compile[count++] = 0x5147F800; // rlwimi r7,r10,31,0,0 - compile[count++] = 0x554AF87E; // srwi r10,r10,1 - compile[count++] = 0x512AF800; // rlwimi r10,r9,31,0,0 - compile[count++] = 0x5529F87E; // srwi r9,r9,1 - compile[count++] = 0x5169F800; // rlwimi r9,r11,31,0,0 - compile[count++] = 0x556BF87E; // srwi r11,r11,1 - compile[count++] = 0x398CFFFF; // addi r12,r12,-1 - compile[count++] = 0x2C0C0000; // cmpwi r12,0 - compile[count++] = 0x4082FFB4; // bne+ 0xFFFFFFB4 - compile[count++] = 0x39600001; // li r11,1 - compile[count++] = 0x7DCE7A78; // xor r14,r14,r15 - compile[count++] = 0x2C0E0000; // cmpwi r14,0 - compile[count++] = 0x40800024; // bge- 0x24 - compile[count++] = 0x7D0840F8; // not r8,r8 - compile[count++] = 0x7CE738F8; // not r7,r7 - compile[count++] = 0x7D4A50F8; // not r10,r10 - compile[count++] = 0x7D2948F8; // not r9,r9 - compile[count++] = 0x7D085814; // addc r8,r8,r11 - compile[count++] = 0x7CE76114; // adde r7,r7,r12 - compile[count++] = 0x7D4A6114; // adde r10,r10,r12 - compile[count++] = 0x7D296114; // adde r9,r9,r12 - compile[count++] = 0x91030004 + OFFSETOF(pCPU, nLo); // stw r8,4(r3) - compile[count++] = 0x90E30000 + OFFSETOF(pCPU, nLo); // stw r7,0(r3) - compile[count++] = 0x91430004 + OFFSETOF(pCPU, nHi); // stw r10,4(r3) - compile[count++] = 0x91230000 + OFFSETOF(pCPU, nHi); // stw r9,0(r3) - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_DMULTU(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 28; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x39200000; // li r9,0 - compile[count++] = 0x39400000; // li r10,0 - compile[count++] = 0x39800040; // li r12,64 - compile[count++] = 0x710B0001; // andi. r11,r8,1 - compile[count++] = 0x41820018; // beq- 0x18 - compile[count++] = 0x39600000; // li r11,0 - compile[count++] = 0x7D4A3014; // addc r10,r10,r6 - compile[count++] = 0x7D292914; // adde r9,r9,r5 - compile[count++] = 0x7D6B5914; // adde r11,r11,r11 - compile[count++] = 0x42800008; // bc 20,lt,0x8 - compile[count++] = 0x39600000; // li r11,0 - compile[count++] = 0x5508F87E; // srwi r8,r8,1 - compile[count++] = 0x50E8F800; // rlwimi r8,r7,31,0,0 - compile[count++] = 0x54E7F87E; // srwi r7,r7,1 - compile[count++] = 0x5147F800; // rlwimi r7,r10,31,0,0 - compile[count++] = 0x554AF87E; // srwi r10,r10,1 - compile[count++] = 0x512AF800; // rlwimi r10,r9,31,0,0 - compile[count++] = 0x5529F87E; // srwi r9,r9,1 - compile[count++] = 0x5169F800; // rlwimi r9,r11,31,0,0 - compile[count++] = 0x556BF87E; // srwi r11,r11,1 - compile[count++] = 0x398CFFFF; // addi r12,r12,-1 - compile[count++] = 0x2C0C0000; // cmpwi r12,0 - compile[count++] = 0x4082FFB4; // bne+ 0xFFFFFFB4 - compile[count++] = 0x91030004 + OFFSETOF(pCPU, nLo); // stw r8,4(r3) - compile[count++] = 0x90E30000 + OFFSETOF(pCPU, nLo); // stw r7,0(r3) - compile[count++] = 0x91430004 + OFFSETOF(pCPU, nHi); // stw r10,4(r3) - compile[count++] = 0x91230000 + OFFSETOF(pCPU, nHi); // stw r9,0(r3) - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_DDIV(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 64; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x38A00040; // li r5,64 - compile[count++] = 0x38C00000; // li r6,0 - compile[count++] = 0x38E00000; // li r7,0 - compile[count++] = 0x39800001; // li r12,1 - compile[count++] = 0x2C080000; // cmpwi r8,0 - compile[count++] = 0x40800014; // bge- 0x14 - compile[count++] = 0x7D2948F8; // not r9,r9 - compile[count++] = 0x7D0840F8; // not r8,r8 - compile[count++] = 0x7D296014; // addc r9,r9,r12 - compile[count++] = 0x7D083114; // adde r8,r8,r6 - compile[count++] = 0x2C0A0000; // cmpwi r10,0 - compile[count++] = 0x40800014; // bge- 0x14 - compile[count++] = 0x7D6B58F8; // not r11,r11 - compile[count++] = 0x7D4A50F8; // not r10,r10 - compile[count++] = 0x7D6B6014; // addc r11,r11,r12 - compile[count++] = 0x7D4A3114; // adde r10,r10,r6 - compile[count++] = 0x3D80FFFF; // lis r12,-1 - compile[count++] = 0x618CFFFE; // ori r12,r12,65534 - compile[count++] = 0x2C060000; // cmpwi r6,0 - compile[count++] = 0x4180002C; // blt- 0x2C - compile[count++] = 0x54C6083C; // slwi r6,r6,1 - compile[count++] = 0x50E60FFE; // rlwimi r6,r7,1,31,31 - compile[count++] = 0x54E7083C; // slwi r7,r7,1 - compile[count++] = 0x51070FFE; // rlwimi r7,r8,1,31,31 - compile[count++] = 0x5508083C; // slwi r8,r8,1 - compile[count++] = 0x51280FFE; // rlwimi r8,r9,1,31,31 - compile[count++] = 0x5529083C; // slwi r9,r9,1 - compile[count++] = 0x7CEB3810; // subfc r7,r11,r7 - compile[count++] = 0x7CCA3110; // subfe r6,r10,r6 - compile[count++] = 0x42800028; // bc 20,lt,0x28 - compile[count++] = 0x54C6083C; // slwi r6,r6,1 - compile[count++] = 0x50E60FFE; // rlwimi r6,r7,1,31,31 - compile[count++] = 0x54E7083C; // slwi r7,r7,1 - compile[count++] = 0x51070FFE; // rlwimi r7,r8,1,31,31 - compile[count++] = 0x5508083C; // slwi r8,r8,1 - compile[count++] = 0x51280FFE; // rlwimi r8,r9,1,31,31 - compile[count++] = 0x5529083C; // slwi r9,r9,1 - compile[count++] = 0x7CE75814; // addc r7,r7,r11 - compile[count++] = 0x7CC65114; // adde r6,r6,r10 - compile[count++] = 0x2C060000; // cmpwi r6,0 - compile[count++] = 0x4180000C; // blt- 0xC - compile[count++] = 0x61290001; // ori r9,r9,1 - compile[count++] = 0x42800008; // bc 20,lt,0x8 - compile[count++] = 0x7D296038; // and r9,r9,r12 - compile[count++] = 0x38A5FFFF; // addi r5,r5,-1 - compile[count++] = 0x2C050000; // cmpwi r5,0 - compile[count++] = 0x4082FF90; // bne+ 0xFFFFFF90 - compile[count++] = 0x2C060000; // cmpwi r6,0 - compile[count++] = 0x4080000C; // bge- 0xC - compile[count++] = 0x7CE75814; // addc r7,r7,r11 - compile[count++] = 0x7CC65114; // adde r6,r6,r10 - compile[count++] = 0x39800001; // li r12,1 - compile[count++] = 0x7DCE7A78; // xor r14,r14,r15 - compile[count++] = 0x2C0E0000; // cmpwi r14,0 - compile[count++] = 0x40800014; // bge- 0x14 - compile[count++] = 0x7D2948F8; // not r9,r9 - compile[count++] = 0x7D0840F8; // not r8,r8 - compile[count++] = 0x7D296014; // addc r9,r9,r12 - compile[count++] = 0x7D082914; // adde r8,r8,r5 - compile[count++] = 0x91030000 + OFFSETOF(pCPU, nLo); // stw r8,0(r3) - compile[count++] = 0x91230004 + OFFSETOF(pCPU, nLo); // stw r9,4(r3) - compile[count++] = 0x90C30000 + OFFSETOF(pCPU, nHi); // stw r6,0(r3) - compile[count++] = 0x90E30004 + OFFSETOF(pCPU, nHi); // stw r7,4(r3) - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_DDIVU(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 43; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x38A00040; // li r5,64 - compile[count++] = 0x38C00000; // li r6,0 - compile[count++] = 0x38E00000; // li r7,0 - compile[count++] = 0x3D80FFFF; // lis r12,-1 - compile[count++] = 0x618CFFFE; // ori r12,r12,65534 - compile[count++] = 0x2C060000; // cmpwi r6,0 - compile[count++] = 0x4180002C; // blt- 0x2C - compile[count++] = 0x54C6083C; // slwi r6,r6,1 - compile[count++] = 0x50E60FFE; // rlwimi r6,r7,1,31,31 - compile[count++] = 0x54E7083C; // slwi r7,r7,1 - compile[count++] = 0x51070FFE; // rlwimi r7,r8,1,31,31 - compile[count++] = 0x5508083C; // slwi r8,r8,1 - compile[count++] = 0x51280FFE; // rlwimi r8,r9,1,31,31 - compile[count++] = 0x5529083C; // slwi r9,r9,1 - compile[count++] = 0x7CEB3810; // subfc r7,r11,r7 - compile[count++] = 0x7CCA3110; // subfe r6,r10,r6 - compile[count++] = 0x42800028; // bc 20,lt,0x28 - compile[count++] = 0x54C6083C; // slwi r6,r6,1 - compile[count++] = 0x50E60FFE; // rlwimi r6,r7,1,31,31 - compile[count++] = 0x54E7083C; // slwi r7,r7,1 - compile[count++] = 0x51070FFE; // rlwimi r7,r8,1,31,31 - compile[count++] = 0x5508083C; // slwi r8,r8,1 - compile[count++] = 0x51280FFE; // rlwimi r8,r9,1,31,31 - compile[count++] = 0x5529083C; // slwi r9,r9,1 - compile[count++] = 0x7CE75814; // addc r7,r7,r11 - compile[count++] = 0x7CC65114; // adde r6,r6,r10 - compile[count++] = 0x2C060000; // cmpwi r6,0 - compile[count++] = 0x4180000C; // blt- 0xC - compile[count++] = 0x61290001; // ori r9,r9,1 - compile[count++] = 0x42800008; // bc 20,lt,0x8 - compile[count++] = 0x7D296038; // and r9,r9,r12 - compile[count++] = 0x38A5FFFF; // addi r5,r5,-1 - compile[count++] = 0x2C050000; // cmpwi r5,0 - compile[count++] = 0x4082FF90; // bne+ 0xFFFFFF90 - compile[count++] = 0x2C060000; // cmpwi r6,0 - compile[count++] = 0x4080000C; // bge- 0xC - compile[count++] = 0x7CE75814; // addc r7,r7,r11 - compile[count++] = 0x7CC65114; // adde r6,r6,r10 - compile[count++] = 0x91030000 + OFFSETOF(pCPU, nLo); // stw r8,0(r3) - compile[count++] = 0x91230004 + OFFSETOF(pCPU, nLo); // stw r9,4(r3) - compile[count++] = 0x90C30000 + OFFSETOF(pCPU, nHi); // stw r6,0(r3) - compile[count++] = 0x90E30004 + OFFSETOF(pCPU, nHi); // stw r7,4(r3) - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static inline bool cpuCompile_DADD(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 3; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x7CA53814; // addc r5,r5,r7 - compile[count++] = 0x7CC64114; // adde r6,r6,r8 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static inline bool cpuCompile_DADDU(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 3; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x7CA53814; // addc r5,r5,r7 - compile[count++] = 0x7CC64114; // adde r6,r6,r8 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static inline bool cpuCompile_DSUB(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 3; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x7CA72914; // adde r5,r7,r5 - compile[count++] = 0x7CC83014; // addc r6,r8,r6 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static inline bool cpuCompile_DSUBU(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 3; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x7CA72914; // adde r5,r7,r5 - compile[count++] = 0x7CC83014; // addc r6,r8,r6 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_S_SQRT(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 36; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0xC0030000 + (OFFSETOF(pCPU, aGPR) + 4); // lfs f0,0(r3) - compile[count++] = 0xFC010040; // fcmpo cr0,f1,f0 - compile[count++] = 0x40810078; // ble- 0x78 - compile[count++] = 0xFC400834; // frsqrte f2,f1 - compile[count++] = 0x3CA03FE0; // lis r5,16352 - compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) - compile[count++] = 0xC8830000 + OFFSETOF(pCPU, aGPR); // lfd f4,0(r3) - compile[count++] = 0x3CA04008; // lis r5,16392 - compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) - compile[count++] = 0xC8630000 + OFFSETOF(pCPU, aGPR); // lfd f3,0(r3) - compile[count++] = 0xFCA400B2; // fmul f5,f4,f2 - compile[count++] = 0xFCC200B2; // fmul f6,f2,f2 - compile[count++] = 0xFCC101B2; // fmul f6,f1,f6 - compile[count++] = 0xFCC33028; // fsub f6,f3,f6 - compile[count++] = 0xFC4501B2; // fmul f2,f5,f6 - compile[count++] = 0xFCA400B2; // fmul f5,f4,f2 - compile[count++] = 0xFCC200B2; // fmul f6,f2,f2 - compile[count++] = 0xFCC101B2; // fmul f6,f1,f6 - compile[count++] = 0xFCC33028; // fsub f6,f3,f6 - compile[count++] = 0xFC4501B2; // fmul f2,f5,f6 - compile[count++] = 0xFCA400B2; // fmul f5,f4,f2 - compile[count++] = 0xFCC200B2; // fmul f6,f2,f2 - compile[count++] = 0xFCC101B2; // fmul f6,f1,f6 - compile[count++] = 0xFCC33028; // fsub f6,f3,f6 - compile[count++] = 0xFC4501B2; // fmul f2,f5,f6 - compile[count++] = 0xFCA400B2; // fmul f5,f4,f2 - compile[count++] = 0xFCC200B2; // fmul f6,f2,f2 - compile[count++] = 0xFCC101B2; // fmul f6,f1,f6 - compile[count++] = 0xFCC33028; // fsub f6,f3,f6 - compile[count++] = 0xFC4501B2; // fmul f2,f5,f6 - compile[count++] = 0xFCC100B2; // fmul f6,f1,f2 - compile[count++] = 0xFC203018; // frsp f1,f6 - compile[count++] = 0x38A00000; // li r5,0 - compile[count++] = 0x90A30000 + (OFFSETOF(pCPU, aGPR) + 4); // stw r5,0(r3) - compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_D_SQRT(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 48; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0xC8030000 + OFFSETOF(pCPU, aGPR); // lfd f0,0(r3) - compile[count++] = 0xFC010040; // fcmpo cr0,f1,f0 - compile[count++] = 0x40810068; // ble- 0x68 - compile[count++] = 0xFC400834; // frsqrte f2,f1 - compile[count++] = 0x3CA03FE0; // lis r5,16352 - compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) - compile[count++] = 0xC8830000 + OFFSETOF(pCPU, aGPR); // lfd f4,0(r3) - compile[count++] = 0x3CA04008; // lis r5,16392 - compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) - compile[count++] = 0xC8630000 + OFFSETOF(pCPU, aGPR); // lfd f3,0(r3) - compile[count++] = 0xFC0200B2; // fmul f0,f2,f2 - compile[count++] = 0xFC4400B2; // fmul f2,f4,f2 - compile[count++] = 0xFC01183C; // fnmsub f0,f1,f0,f3 - compile[count++] = 0xFC420032; // fmul f2,f2,f0 - compile[count++] = 0xFC0200B2; // fmul f0,f2,f2 - compile[count++] = 0xFC4400B2; // fmul f2,f4,f2 - compile[count++] = 0xFC01183C; // fnmsub f0,f1,f0,f3 - compile[count++] = 0xFC420032; // fmul f2,f2,f0 - compile[count++] = 0xFC0200B2; // fmul f0,f2,f2 - compile[count++] = 0xFC4400B2; // fmul f2,f4,f2 - compile[count++] = 0xFC01183C; // fnmsub f0,f1,f0,f3 - compile[count++] = 0xFC420032; // fmul f2,f2,f0 - compile[count++] = 0xFC0200B2; // fmul f0,f2,f2 - compile[count++] = 0xFC4400B2; // fmul f2,f4,f2 - compile[count++] = 0xFC01183C; // fnmsub f0,f1,f0,f3 - compile[count++] = 0xFC020032; // fmul f0,f2,f0 - compile[count++] = 0xFC210032; // fmul f1,f1,f0 - compile[count++] = 0x42800044; // bc 20,lt,0x44 - compile[count++] = 0xFC010000; // fcmpu cr0,f1,f0 - compile[count++] = 0x4082000C; // bne- 0xC - compile[count++] = 0xFC200090; // fmr f1,f0 - compile[count++] = 0x42800034; // bc 20,lt,0x34 - compile[count++] = 0xFC010000; // fcmpu cr0,f1,f0 - compile[count++] = 0x41820020; // beq- 0x20 - compile[count++] = 0x3CA07FFF; // lis r5,32767 - compile[count++] = 0x60A5FFFF; // ori r5,r5,65535 - compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) - compile[count++] = 0x3CA0E000; // lis r5,-8192 - compile[count++] = 0x90A30004 + OFFSETOF(pCPU, aGPR); // stw r5,4(r3) - compile[count++] = 0xC0230000 + OFFSETOF(pCPU, aGPR); // lfs f1,0(r3) - compile[count++] = 0x42800010; // bc 20,lt,0x10 - compile[count++] = 0x3CA07FF0; // lis r5,32752 - compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) - compile[count++] = 0xC0230000 + OFFSETOF(pCPU, aGPR); // lfs f1,0(r3) - compile[count++] = 0x38A00000; // li r5,0 - compile[count++] = 0x90A30004 + OFFSETOF(pCPU, aGPR); // stw r5,4(r3) - compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_W_CVT_SD(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 14; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x6CA58000; // xoris r5,r5,32768 - compile[count++] = 0x3CC04330; // lis r6,17200 - compile[count++] = 0x90A30004 + OFFSETOF(pCPU, aGPR); // stw r5,4(r3) - compile[count++] = 0x90C30000 + OFFSETOF(pCPU, aGPR); // stw r6,0(r3) - compile[count++] = 0xC8030000 + OFFSETOF(pCPU, aGPR); // lfd f0,0(r3) - compile[count++] = 0x90C30000 + OFFSETOF(pCPU, aGPR); // stw r6,0(r3) - compile[count++] = 0x3CA08000; // lis r5,-32768 - compile[count++] = 0x90A30004 + OFFSETOF(pCPU, aGPR); // stw r5,4(r3) - compile[count++] = 0xC8230000 + OFFSETOF(pCPU, aGPR); // lfd f1,0(r3) - compile[count++] = 0xFC200828; // fsub f1,f0,f1 - compile[count++] = 0x38A00000; // li r5,0 - compile[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR); // stw r5,0(r3) - compile[count++] = 0x90A30004 + OFFSETOF(pCPU, aGPR); // stw r5,4(r3) - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_L_CVT_SD(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 56; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x9421FFD0; // stwu r1,-48(r1) - compile[count++] = 0x91010008; // stw r8,8(r1) - compile[count++] = 0x91210010; // stw r9,16(r1) - compile[count++] = 0x91410018; // stw r10,24(r1) - compile[count++] = 0x91610020; // stw r11,32(r1) - compile[count++] = 0x91810028; // stw r12,40(r1) - compile[count++] = 0x9421FFF0; // stwu r1,-16(r1) - compile[count++] = 0x54A70001; // clrrwi. r7,r5,31 - compile[count++] = 0x4182000C; // beq- 0xC - compile[count++] = 0x20C60000; // subfic r6,r6,0 - compile[count++] = 0x7CA50190; // subfze r5,r5 - compile[count++] = 0x7CA93379; // or. r9,r5,r6 - compile[count++] = 0x39000000; // li r8,0 - compile[count++] = 0x41820080; // beq- 0x80 - compile[count++] = 0x7CA90034; // cntlzw r9,r5 - compile[count++] = 0x7CCA0034; // cntlzw r10,r6 - compile[count++] = 0x552BD008; // rlwinm r11,r9,26,0,4 - compile[count++] = 0x7D6BFE70; // srawi r11,r11,31 - compile[count++] = 0x7D6B5038; // and r11,r11,r10 - compile[count++] = 0x7D295A14; // add r9,r9,r11 - compile[count++] = 0x21490020; // subfic r10,r9,32 - compile[count++] = 0x3169FFE0; // addic r11,r9,-32 - compile[count++] = 0x7CA54830; // slw r5,r5,r9 - compile[count++] = 0x7CCC5430; // srw r12,r6,r10 - compile[count++] = 0x7CA56378; // or r5,r5,r12 - compile[count++] = 0x7CCC5830; // slw r12,r6,r11 - compile[count++] = 0x7CA56378; // or r5,r5,r12 - compile[count++] = 0x7CC64830; // slw r6,r6,r9 - compile[count++] = 0x7D094050; // subf r8,r9,r8 - compile[count++] = 0x54C9057E; // clrlwi r9,r6,21 - compile[count++] = 0x2C090400; // cmpwi r9,1024 - compile[count++] = 0x3908043E; // addi r8,r8,1086 - compile[count++] = 0x4180001C; // blt- 0x1C - compile[count++] = 0x4181000C; // bgt- 0xC - compile[count++] = 0x54C90529; // rlwinm. r9,r6,0,20,20 - compile[count++] = 0x41820010; // beq- 0x10 - compile[count++] = 0x30C60800; // addic r6,r6,2048 - compile[count++] = 0x7CA50194; // addze r5,r5 - compile[count++] = 0x7D080194; // addze r8,r8 - compile[count++] = 0x54C6A83E; // rotlwi r6,r6,21 - compile[count++] = 0x50A6A814; // rlwimi r6,r5,21,0,10 - compile[count++] = 0x54A5AB3E; // rlwinm r5,r5,21,12,31 - compile[count++] = 0x5508A016; // slwi r8,r8,20 - compile[count++] = 0x7D052B78; // or r5,r8,r5 - compile[count++] = 0x7CE52B78; // or r5,r7,r5 - compile[count++] = 0x90A10008; // stw r5,8(r1) - compile[count++] = 0x90C1000C; // stw r6,12(r1) - compile[count++] = 0xC8210008; // lfd f1,8(r1) - compile[count++] = 0x38210010; // addi r1,r1,16 - compile[count++] = 0x81010008; // lwz r8,8(r1) - compile[count++] = 0x81210010; // lwz r9,16(r1) - compile[count++] = 0x81410018; // lwz r10,24(r1) - compile[count++] = 0x81610020; // lwz r11,32(r1) - compile[count++] = 0x81810028; // lwz r12,40(r1) - compile[count++] = 0x38210030; // addi r1,r1,48 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_CEIL_W(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 13; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x9421FFE0; // stwu r1,-32(r1) - compile[count++] = 0xC8030000 + (OFFSETOF(pCPU, aFPR) & 0xFFFF); // lfd f0,0(r3) - compile[count++] = 0xFC010040; // fcmpo cr0,f1,f0 - compile[count++] = 0x4081000C; // ble- 0xC - compile[count++] = 0x38C00001; // li r6,1 - compile[count++] = 0x42800008; // bc 20,lt,0x8 - compile[count++] = 0x38C00000; // li r6,0 - compile[count++] = 0xFC20081E; // fctiwz f1,f1 - compile[count++] = 0xD8210010; // stfd f1,16(r1) - compile[count++] = 0x80A10014; // lwz r5,20(r1) - compile[count++] = 0x7CA62A14; // add r5,r6,r5 - compile[count++] = 0x38210020; // addi r1,r1,32 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_FLOOR_W(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 13; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x9421FFE0; // stwu r1,-32(r1) - compile[count++] = 0xC8030000 + (OFFSETOF(pCPU, aFPR) & 0xFFFF); // lfd f0,0(r3) - compile[count++] = 0xFC010040; // fcmpo cr0,f1,f0 - compile[count++] = 0x4180000C; // blt- 0xC - compile[count++] = 0x38C00000; // li r6,0 - compile[count++] = 0x42800008; // bc 20,lt,0x8 - compile[count++] = 0x38C00001; // li r6,1 - compile[count++] = 0xFC20081E; // fctiwz f1,f1 - compile[count++] = 0xD8210010; // stfd f1,16(r1) - compile[count++] = 0x80A10014; // lwz r5,20(r1) - compile[count++] = 0x7CA62850; // subf r5,r6,r5 - compile[count++] = 0x38210020; // addi r1,r1,32 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static inline bool cpuCompile_ROUND_W(s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 3; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0xFC00081C; // fctiw f0,f1 - compile[count++] = 0x7C051FAE; // stfiwx f0,r5,r3 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static inline bool cpuCompile_TRUNC_W(s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 3; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0xFC00081E; // fctiwz f0,f1 - compile[count++] = 0x7C051FAE; // stfiwx f0,r5,r3 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_LB(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 11; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x54C6103A; // slwi r6,r6,2 - compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 - compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 - compile[count++] = 0x80E60008; // lwz r7,8(r6) - compile[count++] = 0x7CA53A14; // add r5,r5,r7 - compile[count++] = 0x80E60004; // lwz r7,4(r6) - compile[count++] = 0x80E70004; // lwz r7,4(r7) - compile[count++] = 0x7CA538AE; // lbzx r5,r5,r7 - compile[count++] = 0x7CA50774; // extsb r5,r5 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_LH(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 11; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x54C6103A; // slwi r6,r6,2 - compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 - compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 - compile[count++] = 0x80E60008; // lwz r7,8(r6) - compile[count++] = 0x7CA53A14; // add r5,r5,r7 - compile[count++] = 0x80E60004; // lwz r7,4(r6) - compile[count++] = 0x80E70004; // lwz r7,4(r7) - compile[count++] = 0x7CA53A2E; // lhzx r5,r5,r7 - compile[count++] = 0x7CA50734; // extsh r5,r5 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_LW(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 10; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x54C6103A; // slwi r6,r6,2 - compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 - compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 - compile[count++] = 0x80E60008; // lwz r7,8(r6) - compile[count++] = 0x7CA53A14; // add r5,r5,r7 - compile[count++] = 0x80E60004; // lwz r7,4(r6) - compile[count++] = 0x80E70004; // lwz r7,4(r7) - compile[count++] = 0x7CA5382E; // lwzx r5,r5,r7 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_LBU(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 10; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x54C6103A; // slwi r6,r6,2 - compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 - compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 - compile[count++] = 0x80E60008; // lwz r7,8(r6) - compile[count++] = 0x7CA53A14; // add r5,r5,r7 - compile[count++] = 0x80E60004; // lwz r7,4(r6) - compile[count++] = 0x80E70004; // lwz r7,4(r7) - compile[count++] = 0x7CA538AE; // lbzx r5,r5,r7 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_LHU(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 10; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x54C6103A; // slwi r6,r6,2 - compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 - compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 - compile[count++] = 0x80E60008; // lwz r7,8(r6) - compile[count++] = 0x7CA53A14; // add r5,r5,r7 - compile[count++] = 0x80E60004; // lwz r7,4(r6) - compile[count++] = 0x80E70004; // lwz r7,4(r7) - compile[count++] = 0x7CA53A2E; // lhzx r5,r5,r7 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_SB(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 10; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x54C6103A; // slwi r6,r6,2 - compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 - compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 - compile[count++] = 0x80E60008; // lwz r7,8(r6) - compile[count++] = 0x7CA53A14; // add r5,r5,r7 - compile[count++] = 0x80E60004; // lwz r7,4(r6) - compile[count++] = 0x80E70004; // lwz r7,4(r7) - compile[count++] = 0x7D0539AE; // stbx r8,r5,r7 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_SH(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 10; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x54C6103A; // slwi r6,r6,2 - compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 - compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 - compile[count++] = 0x80E60008; // lwz r7,8(r6) - compile[count++] = 0x7CA53A14; // add r5,r5,r7 - compile[count++] = 0x80E60004; // lwz r7,4(r6) - compile[count++] = 0x80E70004; // lwz r7,4(r7) - compile[count++] = 0x7D053B2E; // sthx r8,r5,r7 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_SW(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 10; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x54C6103A; // slwi r6,r6,2 - compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 - compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 - compile[count++] = 0x80E60008; // lwz r7,8(r6) - compile[count++] = 0x7CA53A14; // add r5,r5,r7 - compile[count++] = 0x80E60004; // lwz r7,4(r6) - compile[count++] = 0x80E70004; // lwz r7,4(r7) - compile[count++] = 0x7D05392E; // stwx r8,r5,r7 - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_LDC(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 12; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x54C6103A; // slwi r6,r6,2 - compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 - compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 - compile[count++] = 0x80E60008; // lwz r7,8(r6) - compile[count++] = 0x7CA53A14; // add r5,r5,r7 - compile[count++] = 0x80E60004; // lwz r7,4(r6) - compile[count++] = 0x80E70004; // lwz r7,4(r7) - compile[count++] = 0x7CE53A14; // add r7,r5,r7 - compile[count++] = 0x80A70000; // lwz r5,0(r7) - compile[count++] = 0x80C70004; // lwz r6,4(r7) - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_SDC(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 12; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x54C6103A; // slwi r6,r6,2 - compile[count++] = 0x38E30000 + OFFSETOF(pCPU, apDevice); // addi r7,r3,0 - compile[count++] = 0x7CC6382E; // lwzx r6,r6,r7 - compile[count++] = 0x80E60008; // lwz r7,8(r6) - compile[count++] = 0x7CA53A14; // add r5,r5,r7 - compile[count++] = 0x80E60004; // lwz r7,4(r6) - compile[count++] = 0x80E70004; // lwz r7,4(r7) - compile[count++] = 0x7CE53A14; // add r7,r5,r7 - compile[count++] = 0x91070000; // stw r8,0(r7) - compile[count++] = 0x91270004; // stw r9,4(r7) - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_LWL(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 12; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x38C00018; // li r6,24 - compile[count++] = 0x88A70000; // lbz r5,0(r7) - compile[count++] = 0x7CA53030; // slw r5,r5,r6 - compile[count++] = 0x394000FF; // li r10,255 - compile[count++] = 0x7D4A3030; // slw r10,r10,r6 - compile[count++] = 0x7D295078; // andc r9,r9,r10 - compile[count++] = 0x7D292B78; // or r9,r9,r5 - compile[count++] = 0x38C6FFF8; // addi r6,r6,-8 - compile[count++] = 0x54E507BF; // clrlwi. r5,r7,30 - compile[count++] = 0x38E70001; // addi r7,r7,1 - compile[count++] = 0x4082FFDC; // bne+ 0xFFFFFFDC - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static bool cpuCompile_LWR(Cpu* pCPU, s32* addressGCN) { - s32* compile; - s32 count = 0; - s32 nSize = 12; - - if (!xlHeapTake((void**)&compile, (nSize * sizeof(s32)) | 0x30000000)) { - return false; - } - *addressGCN = (s32)compile; - - compile[count++] = 0x38C00000; // li r6,0 - compile[count++] = 0x88A70000; // lbz r5,0(r7) - compile[count++] = 0x7CA53030; // slw r5,r5,r6 - compile[count++] = 0x394000FF; // li r10,255 - compile[count++] = 0x7D4A3030; // slw r10,r10,r6 - compile[count++] = 0x7D295078; // andc r9,r9,r10 - compile[count++] = 0x7D292B78; // or r9,r9,r5 - compile[count++] = 0x38C60008; // addi r6,r6,8 - compile[count++] = 0x54E507BF; // clrlwi. r5,r7,30 - compile[count++] = 0x38E7FFFF; // addi r7,r7,-1 - compile[count++] = 0x4082FFDC; // bne+ 0xFFFFFFDC - compile[count++] = 0x4E800020; // blr - - nSize = count; - DCStoreRange(compile, nSize * sizeof(s32)); - ICInvalidateRange(compile, nSize * sizeof(s32)); - - return true; -} - -static inline bool cpuFindBranchOffset(CpuFunction* pFunction, s32* pnOffset, s32 nAddress, s32* anCode) { - s32 iJump; - - if (anCode == NULL) { - *pnOffset = 0; - return true; - } - - for (iJump = 0; iJump < pFunction->nCountJump; iJump++) { - if (pFunction->aJump[iJump].nAddressN64 == nAddress) { - *pnOffset = pFunction->aJump[iJump].nOffsetHost; - return true; - } - } - - return false; -} - -// Matches but data doesn't -#ifndef NON_MATCHING -static s32 cpuCheckDelaySlot(u32 opcode); -#pragma GLOBAL_ASM("asm/non_matchings/cpu/cpuCheckDelaySlot.s") -#else -/** - * @brief Checks the type of delay an instruction has. - * - * @param opcode The instruction to determine the delay type for. - * @return s32 The type of delay the instruction has. - */ -static s32 cpuCheckDelaySlot(u32 opcode) { - s32 flag = 0; - - if (opcode == 0) { - return 0; - } - - switch (MIPS_OP(opcode)) { - case 0x00: // special - switch (MIPS_FUNCT(opcode)) { - case 0x08: // jr - flag = 0xD05; - break; - case 0x09: // jalr - flag = 0x8AE; - break; - } - break; - case 0x01: // regimm - switch (MIPS_RT(opcode)) { - case 0x00: // bltz - case 0x01: // bgez - case 0x02: // bltzl - case 0x03: // bgezl - case 0x10: // bltzal - case 0x11: // bgezal - case 0x12: // bltzall - case 0x13: // bgezall - flag = 0x457; - break; - } - break; - case 0x10: // cop0 - switch (MIPS_FUNCT(opcode)) { - case 0x01: - case 0x02: - case 0x05: - case 0x08: - case 0x18: - break; - default: - case 0x00: - case 0x03: - case 0x04: - case 0x06: - case 0x07: - case 0x09: - case 0x0A: - case 0x0B: - case 0x0C: - case 0x0D: - case 0x0E: - case 0x0F: - case 0x10: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - case 0x17: - switch (MIPS_RS(opcode)) { - case 0x08: - switch (MIPS_RT(opcode)) { - case 0x00: - case 0x01: - case 0x02: - case 0x03: - flag = 0x457; - break; - } - break; - } - break; - } - break; - case 0x11: // cop1 - if (MIPS_RS(opcode) == 0x08) { - switch (MIPS_RT(opcode)) { - case 0x00: // bc1f - case 0x01: // bc1t - case 0x02: // bc1fl - case 0x03: // bc1tl - flag = 0x457; - break; - } - } - break; - case 0x02: // j - flag = 0xD05; - break; - case 0x03: // jal - flag = 0x8AE; - break; - case 0x04: // beq - case 0x05: // bne - case 0x06: // blez - case 0x07: // bgtz - case 0x14: // beql - case 0x15: // bnel - case 0x16: // blezl - case 0x17: // bgtzl - flag = 0x457; - break; - } - - return flag; -} -#endif - -/** - * @brief Fills a code section of NOPs - * - * @param anCode Pointer to fill nops to. - * @param iCode Position in @code to start filling. - * @param number The amount of NOPs to fill. - */ -static inline void cpuCompileNOP(s32* anCode, s32* iCode, s32 number) { - if (anCode == NULL) { - *iCode += number; - } else { - while (number-- != 0) { - anCode[(*iCode)++] = 0x60000000; - } - } -} - -#ifndef NON_MATCHING -static bool cpuGetPPC(Cpu* pCPU, s32* pnAddress, CpuFunction* pFunction, s32* anCode, s32* piCode, bool bSlot); -#pragma GLOBAL_ASM("asm/non_matchings/cpu/cpuGetPPC.s") -#else -#define EMIT_PPC(i, instruction) \ - do { \ - if (anCode != NULL) { \ - anCode[i++] = instruction; \ - } else { \ - i++; \ - } \ - } while (0) - -/** - * @brief The main MIPS->PPC Dynamic recompiler. - * - * @param pCPU The emulated VR4300. - * @param pnAddress The address to recompile. - * @param pFunction The function that is being recompiled. - * @param anCode Pointer to the recompiled code. - * @param piCode Pointer to the current position in the recompiled code. - * @param bSlot true if we are recompiling a delay slot. - * @return bool true on success, false otherwise. - */ -static bool cpuGetPPC(Cpu* pCPU, s32* pnAddress, CpuFunction* pFunction, s32* anCode, s32* piCode, bool bSlot) { - s32 nSize; - s32 iHack; - bool bInterpret; - s32 iCode; - s32 pad1; - s32 iJump; - s32 nAddress; - s32 nReturnAddress; - s32 nDeltaAddress; - bool bFlag; - s32 nAddressJump; - s32 nOffset; - u32 nOpcode; - u32 nOpcodePrev; - u32 nOpcodeNext; - u32* pnOpcode; - s32 prev; - s32 iRegisterA; - s32 iRegisterB; - s32 iRegisterC; - s32 nTemp1; - s32 nTemp2; - s32 nTemp3; - bool update; - s32 iUpdate; - s32 nTarget; - s32 var_r24; - s32 var_r22; - bool var_r17; - bool var_r3; - u8 pad2[0x54]; - - bFlag = true; - prev = 0; - update = false; - - if (ramGetBuffer(SYSTEM_RAM(pCPU->pHost), &pnOpcode, *pnAddress, NULL)) { - nAddress = *pnAddress; - nOpcode = pnOpcode[0]; - nOpcodeNext = pnOpcode[1]; - nOpcodePrev = pnOpcode[-1]; - - bInterpret = false; - *pnAddress += 4; - - for (iHack = 0; iHack < pCPU->nCountCodeHack; iHack++) { - if (pCPU->aCodeHack[iHack].nAddress == nAddress && pCPU->aCodeHack[iHack].nOpcodeOld == nOpcode) { - if (pCPU->aCodeHack[iHack].nOpcodeNew == 0xFFFFFFFF) { - bInterpret = true; - } else { - nOpcode = pCPU->aCodeHack[iHack].nOpcodeNew; - } - } - if (pCPU->aCodeHack[iHack].nAddress == nAddress + 4 && pCPU->aCodeHack[iHack].nOpcodeOld == nOpcodeNext) { - if (pCPU->aCodeHack[iHack].nOpcodeNew != 0xFFFFFFFF) { - nOpcodeNext = pCPU->aCodeHack[iHack].nOpcodeNew; - } - } - - if (pCPU->aCodeHack[iHack].nAddress == nAddress - 4 && pCPU->aCodeHack[iHack].nOpcodeOld == nOpcodePrev) { - if (pCPU->aCodeHack[iHack].nOpcodeNew != 0xFFFFFFFF) { - nOpcodePrev = pCPU->aCodeHack[iHack].nOpcodeNew; - } - } - } - - iCode = *piCode; - nAddressJump = -1; - pCPU->nOptimize.addr_check = 0; - if (iCode == 0) { - pCPU->nOptimize.addr_last = -1; - if (!bInterpret && cpuCheckDelaySlot(nOpcode) == 0) { - if (((s32)(pFunction->nAddress1 - pFunction->nAddress0) >> 2) + 1 > 25) { - bInterpret = true; - } else { - update = true; - } - } - if (anCode != NULL) { - anCode[iCode++] = 0x3CA00000 | ((u32)pFunction >> 16); - anCode[iCode++] = 0x60A50000 | ((u32)pFunction & 0xFFFF); - anCode[iCode++] = 0x90A30000 + (OFFSETOF(pCPU, pFunctionLast) & 0xFFFF); - anCode[iCode++] = 0x80C50000 + OFFSETOF(pFunction, timeToLive); - anCode[iCode++] = 0x2C060000; - anCode[iCode++] = 0x41820008; - anCode[iCode++] = 0x90850000 + OFFSETOF(pFunction, timeToLive); - } else { - iCode += 7; - } - if (update) { - if (anCode != NULL) { - anCode[iCode++] = 0x80A30000 + OFFSETOF(pCPU, nRetrace); - anCode[iCode++] = 0x80C30000 + OFFSETOF(pCPU, nRetraceUsed); - anCode[iCode++] = 0x7CA62850; - anCode[iCode++] = 0x2C050002; - anCode[iCode++] = 0x41800014; - anCode[iCode++] = 0x3CA00000 | ((u32)nAddress >> 16); - anCode[iCode++] = 0x60A50000 | ((u32)nAddress & 0xFFFF); - anCode[iCode++] = 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1; - iUpdate = iCode++; - } else { - iCode += 9; - } - } - *piCode = iCode; - } else { - prev = cpuCheckDelaySlot(nOpcodePrev); - } - - var_r17 = nOpcode != 0 && (prev != 0 || bSlot) ? true : false; - if (!bInterpret) { - if (anCode == NULL || var_r17) { - pCPU->nOptimize.destGPR_check = 0; - pCPU->nOptimize.destFPR_check = 0; - pCPU->nOptimize.addr_last = -1; - pCPU->nOptimize.checkNext = 0; - } - - switch (MIPS_OP(nOpcode)) { - case 0x00: // special - switch (MIPS_FUNCT(nOpcode)) { - case 0x00: // sll - if (nOpcode != 0) { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - nTemp1 = MIPS_SA(nOpcode); - nTemp2 = 31 - nTemp1; - EMIT_PPC(iCode, 0x54000000 | (iRegisterB << 21) | (iRegisterA << 16) | (nTemp1 << 11) | - (nTemp2 << 1)); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, - 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - } else { - EMIT_PPC(iCode, 0x60000000); - } - break; - case 0x02: // srl - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - nTemp1 = MIPS_SA(nOpcode); - nTemp2 = 32 - nTemp1; - EMIT_PPC(iCode, 0x54000000 | (iRegisterB << 21) | (iRegisterA << 16) | (nTemp2 << 11) | - (nTemp1 << 6) | 0x3E); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x03: // sra - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - nTemp1 = MIPS_SA(nOpcode); - EMIT_PPC(iCode, 0x7C000670 | (iRegisterB << 21) | (iRegisterA << 16) | (nTemp1 << 11)); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x04: // sllv - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x70000000 | (iRegisterC << 21) | (iRegisterC << 16) | 0x1F); - EMIT_PPC(iCode, 0x7C000030 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x06: // srlv - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x70000000 | (iRegisterC << 21) | (iRegisterC << 16) | 0x1F); - EMIT_PPC(iCode, 0x7C000430 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x07: // srav - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x70000000 | (iRegisterC << 21) | (iRegisterC << 16) | 0x1F); - EMIT_PPC(iCode, 0x7C000630 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x08: // jr - if (nOpcodeNext != 0) { - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - } - if (MIPS_RS(nOpcode) != 31) { - pCPU->nOptimize.validCheck = 0; - } - if (MIPS_RS(nOpcode) == 31 && !(pCPU->nFlagCODE & 2)) { - if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterA = 5; - EMIT_PPC(iCode, - 0x80A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0x7C0803A6 | ((iRegisterA & 0x1F) << 21)); - EMIT_PPC(iCode, 0x4E800020); - } else { - if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, - 0x80A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } else { - EMIT_PPC(iCode, 0x7C050378 | (iRegisterA << 21) | (iRegisterA << 11)); - } - EMIT_PPC(iCode, - 0x48000000 | (((u32)pCPU->pfJump - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - break; - case 0x09: // jalr - if (nOpcodeNext != 0) { - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - } - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, pFunctionLast)); - EMIT_PPC(iCode, 0x3CE08000); - EMIT_PPC(iCode, 0x80C50000 + OFFSETOF(pFunction, timeToLive)); - EMIT_PPC(iCode, 0x7CC63B78); - EMIT_PPC(iCode, 0x3CE00000 | (((u32)nAddress + 8) >> 16)); - EMIT_PPC(iCode, 0x90C50000 + OFFSETOF(pFunction, timeToLive)); - EMIT_PPC(iCode, 0x60E70000 | (((u32)nAddress + 8) & 0xFFFF)); - EMIT_PPC(iCode, 0x90E30000 + OFFSETOF(pCPU, nReturnAddrLast)); - if ((iRegisterB = ganMapGPR[31]) & 0x100) { - nReturnAddress = (u32)&anCode[iCode] + 20; - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nReturnAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nReturnAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); - } else { - u32 temp; // TODO: fake match - - nReturnAddress = (u32)&anCode[iCode] + 16; - temp = nReturnAddress; - EMIT_PPC(iCode, 0x3C000000 | ((u32)nReturnAddress >> 16) | (iRegisterB << 21)); - EMIT_PPC(iCode, - 0x60000000 | ((u32)temp & 0xFFFF) | (iRegisterB << 21) | (iRegisterB << 16)); - } - if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x80A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } else { - EMIT_PPC(iCode, 0x7C050378 | (iRegisterA << 21) | (iRegisterA << 11)); - } - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfJump - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (anCode != NULL) { - anCode[iCode++] = 0x3CA00000 | ((u32)pFunction >> 16); - anCode[iCode++] = 0x60A50000 | ((u32)pFunction & 0xFFFF); - anCode[iCode++] = 0x90A30000 + (OFFSETOF(pCPU, pFunctionLast) & 0xFFFF); - anCode[iCode++] = 0x3CE08000; - anCode[iCode++] = 0x80C50000 + OFFSETOF(pFunction, timeToLive); - anCode[iCode++] = 0x7CC63878; - anCode[iCode++] = 0x2C060000; - anCode[iCode++] = 0x41820008; - anCode[iCode++] = 0x90850000 + OFFSETOF(pFunction, timeToLive); - } else { - iCode += 9; - } - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (iCode - iJump) * 4; - } - EMIT_PPC(iJump, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - break; - case 0x0C: // syscall - case 0x0D: // break - case 0x0F: // sync - break; - case 0x10: // mfhi - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x80A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, nHi) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) & 0xFFFF)); - } else { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, nHi) + 4)); - EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, nHi) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) & 0xFFFF)); - } - break; - case 0x11: // mthi - if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x80A30000 | ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, nHi) & 0xFFFF)); - } else { - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, nHi) + 4)); - EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, nHi) & 0xFFFF)); - } - break; - case 0x12: // mflo - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x80A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, nLo) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) & 0xFFFF)); - } else { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, nLo) + 4)); - EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, nLo) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) & 0xFFFF)); - } - break; - case 0x13: // mtlo - if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x80A30000 | ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, nLo) & 0xFFFF)); - } else { - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, nLo) + 4)); - EMIT_PPC(iCode, 0x80A30000 | (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 | (OFFSETOF(pCPU, nLo) & 0xFFFF)); - } - break; - case 0x14: // dsllv - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_DSLLV_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x16: // dsrlv - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_DSRLV_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x17: // dsrav - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_DSRAV_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x18: // mult - iRegisterA = 5; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0x7C0001D6 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x7C000096 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); - break; - case 0x19: // multu - iRegisterA = 5; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0x7C0001D6 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x7C000016 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); - break; - case 0x1A: // div - iRegisterA = 5; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0x7C0003D6 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x7CA501D6 | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x7CA50050 | (iRegisterB << 11)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); - break; - case 0x1B: // divu - iRegisterA = 5; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0x7C000396 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nLo) + 4) & 0xFFFF)); - EMIT_PPC(iCode, 0x7CA501D6 | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x7CA50050 | (iRegisterB << 11)); - EMIT_PPC(iCode, 0x90A30000 | ((OFFSETOF(pCPU, nHi) + 4) & 0xFFFF)); - break; - case 0x1C: // dmult - if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - EMIT_PPC(iCode, 0x9421FFC0); - EMIT_PPC(iCode, 0x91010008); - EMIT_PPC(iCode, 0x91210010); - EMIT_PPC(iCode, 0x91410018); - EMIT_PPC(iCode, 0x91610020); - EMIT_PPC(iCode, 0x91810028); - EMIT_PPC(iCode, 0x91C10030); - EMIT_PPC(iCode, 0x91E10038); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80E30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x81030004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x81C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x81E30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_DMULT_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x81210010); - EMIT_PPC(iCode, 0x81410018); - EMIT_PPC(iCode, 0x81610020); - EMIT_PPC(iCode, 0x81810028); - EMIT_PPC(iCode, 0x81C10030); - EMIT_PPC(iCode, 0x81E10038); - EMIT_PPC(iCode, 0x38210040); - break; - case 0x1D: // dmultu - if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - EMIT_PPC(iCode, 0x9421FFD0); - EMIT_PPC(iCode, 0x91010008); - EMIT_PPC(iCode, 0x91210010); - EMIT_PPC(iCode, 0x91410018); - EMIT_PPC(iCode, 0x91610020); - EMIT_PPC(iCode, 0x91810028); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80E30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x81030004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_DMULTU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x81210010); - EMIT_PPC(iCode, 0x81410018); - EMIT_PPC(iCode, 0x81610020); - EMIT_PPC(iCode, 0x81810028); - EMIT_PPC(iCode, 0x38210030); - break; - case 0x1E: // ddiv - if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - EMIT_PPC(iCode, 0x9421FFC0); - EMIT_PPC(iCode, 0x91010008); - EMIT_PPC(iCode, 0x91210010); - EMIT_PPC(iCode, 0x91410018); - EMIT_PPC(iCode, 0x91610020); - EMIT_PPC(iCode, 0x91810028); - EMIT_PPC(iCode, 0x91C10030); - EMIT_PPC(iCode, 0x91E10038); - EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x81230004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x81430000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x81630004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x81C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x81E30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_DDIV_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x81210010); - EMIT_PPC(iCode, 0x81410018); - EMIT_PPC(iCode, 0x81610020); - EMIT_PPC(iCode, 0x81810028); - EMIT_PPC(iCode, 0x81C10030); - EMIT_PPC(iCode, 0x81E10038); - EMIT_PPC(iCode, 0x38210040); - break; - case 0x1F: // ddivu - if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - EMIT_PPC(iCode, 0x9421FFD0); - EMIT_PPC(iCode, 0x91010008); - EMIT_PPC(iCode, 0x91210010); - EMIT_PPC(iCode, 0x91410018); - EMIT_PPC(iCode, 0x91610020); - EMIT_PPC(iCode, 0x91810028); - EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x81230004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x81430000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x81630004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_DDIVU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x81210010); - EMIT_PPC(iCode, 0x81410018); - EMIT_PPC(iCode, 0x81610020); - EMIT_PPC(iCode, 0x81810028); - EMIT_PPC(iCode, 0x38210030); - break; - case 0x20: { // add - bool var_r10; - - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - - var_r10 = false; - var_r3 = false; - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - var_r3 = true; - } - - if (MIPS_RS(nOpcode) == 0) { - if (MIPS_RT(nOpcode) == 31 && !(pCPU->nFlagCODE & 4)) { - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - var_r10 = true; - pCPU->nFlagCODE |= 8; - } else if (!var_r3) { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | - (iRegisterB << 11)); - } - } else { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - } else { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - } - } - - if (MIPS_RD(nOpcode) == 31) { - pCPU->nFlagCODE |= 2; - if (pCPU->nFlagCODE & 8) { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & - 0xFFFF)); - } - EMIT_PPC(iCode, - (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); - } - } - } else if (MIPS_RT(nOpcode) == 0) { - if ((MIPS_RS(nOpcode) == 31) && !(pCPU->nFlagCODE & 4)) { - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - var_r10 = true; - pCPU->nFlagCODE |= 8; - } else if (!var_r3) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | - (iRegisterB << 11)); - } - } else { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - } else { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - } - } - - if (MIPS_RD(nOpcode) == 31) { - pCPU->nFlagCODE |= 2; - if (pCPU->nFlagCODE & 8) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & - 0xFFFF)); - } - EMIT_PPC(iCode, - (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); - } - } - } else { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, - 0x7C000214 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); - var_r10 = true; - } - if (var_r10 && (ganMapGPR[MIPS_RD(nOpcode)] & 0x100)) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - } - case 0x21: { // addu - bool var_r10; - - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - - var_r10 = false; - var_r3 = false; - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - var_r3 = true; - } - - if (MIPS_RS(nOpcode) == 0) { - if (MIPS_RT(nOpcode) == 31 && !(pCPU->nFlagCODE & 4)) { - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - var_r10 = true; - pCPU->nFlagCODE |= 8; - } else if (!var_r3) { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | - (iRegisterB << 11)); - } - } else { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - } else { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - } - } - - if (MIPS_RD(nOpcode) == 31) { - pCPU->nFlagCODE |= 2; - if (pCPU->nFlagCODE & 8) { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & - 0xFFFF)); - } - EMIT_PPC(iCode, - (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); - } - } - } else if (MIPS_RT(nOpcode) == 0) { - if ((MIPS_RS(nOpcode) == 31) && !(pCPU->nFlagCODE & 4)) { - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - var_r10 = true; - pCPU->nFlagCODE |= 8; - } else if (!var_r3) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | - (iRegisterB << 11)); - } - } else { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - } else { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - } - } - - if (MIPS_RD(nOpcode) == 31) { - pCPU->nFlagCODE |= 2; - if (pCPU->nFlagCODE & 8) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & - 0xFFFF)); - } - EMIT_PPC(iCode, - (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); - } - } - } else { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, - 0x7C000214 | (iRegisterA << 21) | (iRegisterB << 16) | (iRegisterC << 11)); - var_r10 = true; - } - if (var_r10 && (ganMapGPR[MIPS_RD(nOpcode)] & 0x100)) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - } - case 0x22: // sub - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x7C000050 | (iRegisterA << 21) | (iRegisterC << 16) | (iRegisterB << 11)); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x23: // subu - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x7C000050 | (iRegisterA << 21) | (iRegisterC << 16) | (iRegisterB << 11)); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x24: // and - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x7C000038 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x25: { // or - bool var_r10; - - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - - var_r10 = false; - var_r3 = false; - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - var_r3 = true; - } - - if (MIPS_RS(nOpcode) == 0) { - if (MIPS_RT(nOpcode) == 31 && !(pCPU->nFlagCODE & 4)) { - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - var_r10 = true; - pCPU->nFlagCODE |= 8; - } else if (!var_r3) { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | - (iRegisterB << 11)); - } - } else { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - } else { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - } - } - - if (MIPS_RD(nOpcode) == 31) { - pCPU->nFlagCODE |= 2; - if (pCPU->nFlagCODE & 8) { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & - 0xFFFF)); - } - EMIT_PPC(iCode, - (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); - } - } - } else if (MIPS_RT(nOpcode) == 0) { - if ((MIPS_RS(nOpcode) == 31) && !(pCPU->nFlagCODE & 4)) { - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - var_r10 = true; - pCPU->nFlagCODE |= 8; - } else if (!var_r3) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | - (iRegisterB << 11)); - } - } else { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - } else { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4)); - } - } - - if (MIPS_RD(nOpcode) == 31) { - pCPU->nFlagCODE |= 2; - if (pCPU->nFlagCODE & 8) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & - 0xFFFF)); - } - EMIT_PPC(iCode, - (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); - } - } - } else { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, - 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); - var_r10 = true; - } - if (var_r10 && (ganMapGPR[MIPS_RD(nOpcode)] & 0x100)) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - } - case 0x26: // xor - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x7C000278 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x27: // nor - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x7C0000F8 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterC << 11)); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x2A: // slt - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x7C000000 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4180000C); - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21)); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | 1); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x2B: // sltu - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x7C000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4180000C); - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21)); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | 1); - if (ganMapGPR[MIPS_RD(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RD(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x2C: // dadd - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - iRegisterA = MIPS_RD(nOpcode); - EMIT_PPC(iCode, 0x9421FFF0); - EMIT_PPC(iCode, 0x91010008); - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_DADD_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterA])); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterA])); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x38210010); - if (!((iRegisterA = ganMapGPR[iRegisterA]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x2D: // daddu - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - iRegisterA = MIPS_RD(nOpcode); - EMIT_PPC(iCode, 0x9421FFF0); - EMIT_PPC(iCode, 0x91010008); - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_DADDU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterA])); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterA])); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x38210010); - if (!((iRegisterA = ganMapGPR[iRegisterA]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x2E: // dsub - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - iRegisterA = MIPS_RD(nOpcode); - EMIT_PPC(iCode, 0x9421FFF0); - EMIT_PPC(iCode, 0x91010008); - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_DSUB_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterA])); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterA])); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x38210010); - if (!((iRegisterA = ganMapGPR[iRegisterA]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x2F: // dsubu - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode)) || pCPU->nFlagRAM & (1 << MIPS_RT(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RD(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - } - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if (!((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - iRegisterA = MIPS_RD(nOpcode); - EMIT_PPC(iCode, 0x9421FFF0); - EMIT_PPC(iCode, 0x91010008); - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80E30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_DSUBU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterA])); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterA])); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x38210010); - if (!((iRegisterA = ganMapGPR[iRegisterA]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x30: // tge - case 0x31: // tgeu - case 0x32: // tlt - case 0x33: // tltu - case 0x34: // teq - case 0x36: // tne - break; - case 0x38: // dsll - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - nTemp1 = MIPS_SA(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x54A50000 | (nTemp1 << 11) | ((31 - nTemp1) << 1)); - EMIT_PPC(iCode, 0x50C50000 | (nTemp1 << 11) | ((32 - nTemp1) << 6) | (31 << 1)); - EMIT_PPC(iCode, 0x54C60000 | (nTemp1 << 11) | ((31 - nTemp1) << 1)); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x3A: // dsrl - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - nTemp1 = MIPS_SA(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x54C60000 | ((32 - nTemp1) << 11) | (nTemp1 << 6) | (31 << 1)); - EMIT_PPC(iCode, 0x50A60000 | ((32 - nTemp1) << 11) | ((nTemp1 - 1) << 1)); - EMIT_PPC(iCode, 0x54A50000 | ((32 - nTemp1) << 11) | (nTemp1 << 6) | (31 << 1)); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x3B: // dsra - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - nTemp1 = MIPS_SA(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x54C60000 | ((32 - nTemp1) << 11) | (nTemp1 << 6) | (31 << 1)); - EMIT_PPC(iCode, 0x50A60000 | ((32 - nTemp1) << 11) | ((nTemp1 - 1) << 1)); - EMIT_PPC(iCode, 0x7CA50670 | (nTemp1 << 11)); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x3C: // dsll32 - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if (!((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - nTemp1 = MIPS_SA(nOpcode) + 32; - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - while (nTemp1 > 0) { - if (nTemp1 > 31) { - nTemp2 = 31; - nTemp1 -= 31; - } else { - nTemp2 = nTemp1; - nTemp1 = 0; - } - EMIT_PPC(iCode, 0x54A50000 | (nTemp2 << 11) | ((31 - nTemp2) << 1)); - EMIT_PPC(iCode, 0x50C50000 | (nTemp2 << 11) | ((32 - nTemp2) << 6) | (31 << 1)); - EMIT_PPC(iCode, 0x54C60000 | (nTemp2 << 11) | ((31 - nTemp2) << 1)); - } - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x3E: // dsrl32 - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - nTemp1 = MIPS_SA(nOpcode) + 32; - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - while (nTemp1 > 0) { - if (nTemp1 > 31) { - nTemp2 = 31; - nTemp1 -= 31; - } else { - nTemp2 = nTemp1; - nTemp1 = 0; - } - EMIT_PPC(iCode, 0x54C60000 | ((32 - nTemp2) << 11) | (nTemp2 << 6) | (31 << 1)); - EMIT_PPC(iCode, 0x50A60000 | ((32 - nTemp2) << 11) | ((nTemp2 - 1) << 1)); - EMIT_PPC(iCode, 0x54A50000 | ((32 - nTemp2) << 11) | (nTemp2 << 6) | (31 << 1)); - } - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x3F: // dsra32 - pCPU->nFlagRAM &= ~(1 << MIPS_RD(nOpcode)); - if (!((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - nTemp1 = MIPS_SA(nOpcode) + 32; - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - while (nTemp1 > 0) { - if (nTemp1 > 31) { - nTemp2 = 31; - nTemp1 -= 31; - } else { - nTemp2 = nTemp1; - nTemp1 = 0; - } - EMIT_PPC(iCode, 0x54C60000 | ((32 - nTemp2) << 11) | (nTemp2 << 6) | (31 << 1)); - EMIT_PPC(iCode, 0x50A60000 | ((32 - nTemp2) << 11) | ((nTemp2 - 1) << 1)); - EMIT_PPC(iCode, 0x7CA50670 | (nTemp2 << 11)); - } - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - EMIT_PPC(iCode, 0x90C30004 + OFFSETOF(pCPU, aGPR[MIPS_RD(nOpcode)])); - if (!((iRegisterA = ganMapGPR[MIPS_RD(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - default: - bFlag = false; - break; - } - break; - case 0x01: // regimm - switch (MIPS_RT(nOpcode)) { - case 0x00: // bltz - nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - EMIT_PPC(iJump, 0x40800000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x01: // bgez - nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - EMIT_PPC(iJump, 0x41800000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x02: // bltzl - nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - EMIT_PPC(iJump, 0x40800000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x03: // bgezl - nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - EMIT_PPC(iJump, 0x41800000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x08: // tgei - case 0x09: // tgeiu - case 0x0A: // tlti - case 0x0B: // tltiu - case 0x0C: // teqi - case 0x0E: // tnei - break; - case 0x10: // bltzal - nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - - iJump = iCode; - iCode++; - EMIT_PPC(iCode, 0x3CA00000 | ((u32)(nAddress + 8) >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)(nAddress + 8) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, nReturnAddrLast)); - if (ganMapGPR[31] & 0x100) { - iCode += 3; - } else { - iCode += 2; - } - var_r24 = (u32)&anCode[iCode]; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - var_r22 = (u32)&anCode[iCode]; - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - EMIT_PPC(iJump, 0x40800000 | (((iCode - iJump) * 4) & 0xFFFC)); - - iJump += 3; - nReturnAddress = (u32)&anCode[iCode] + (var_r22 - var_r24); - if ((iRegisterB = ganMapGPR[31]) & 0x100) { - EMIT_PPC(iJump, 0x3CA00000 | ((u32)nReturnAddress >> 16)); - EMIT_PPC(iJump, 0x60A50000 | ((u32)nReturnAddress & 0xFFFF)); - EMIT_PPC(iJump, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); - } else { - EMIT_PPC(iJump, 0x3C000000 | ((u32)nReturnAddress >> 16) | (iRegisterB << 21)); - EMIT_PPC(iJump, 0x60000000 | ((u32)nReturnAddress & 0xFFFF) | (iRegisterB << 21) | - (iRegisterB << 16)); - } - break; - case 0x11: // bgezal - nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - - iJump = iCode++; - EMIT_PPC(iCode, 0x3CA00000 | ((u32)(nAddress + 8) >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)(nAddress + 8) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, nReturnAddrLast)); - if (ganMapGPR[31] & 0x100) { - iCode += 3; - } else { - iCode += 2; - } - var_r24 = (u32)&anCode[iCode]; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - var_r22 = (u32)&anCode[iCode]; - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - EMIT_PPC(iJump, 0x41800000 | (((iCode - iJump) * 4) & 0xFFFC)); - - iJump += 3; - nReturnAddress = (u32)&anCode[iCode] + (var_r22 - var_r24); - if ((iRegisterB = ganMapGPR[31]) & 0x100) { - EMIT_PPC(iJump, 0x3CA00000 | ((u32)nReturnAddress >> 16)); - EMIT_PPC(iJump, 0x60A50000 | ((u32)nReturnAddress & 0xFFFF)); - EMIT_PPC(iJump, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); - } else { - EMIT_PPC(iJump, 0x3C000000 | ((u32)nReturnAddress >> 16) | (iRegisterB << 21)); - EMIT_PPC(iJump, 0x60000000 | ((u32)nReturnAddress & 0xFFFF) | (iRegisterB << 21) | - (iRegisterB << 16)); - } - break; - case 0x12: // bltzall - nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - - iJump = iCode++; - EMIT_PPC(iCode, 0x3CA00000 | ((u32)(nAddress + 8) >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)(nAddress + 8) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, nReturnAddrLast)); - if (ganMapGPR[31] & 0x100) { - iCode += 3; - } else { - iCode += 2; - } - var_r24 = (u32)&anCode[iCode]; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - var_r22 = (u32)&anCode[iCode]; - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - EMIT_PPC(iJump, 0x40800000 | (((iCode - iJump) * 4) & 0xFFFC)); - - iJump += 3; - nReturnAddress = (u32)&anCode[iCode] + (var_r22 - var_r24); - if ((iRegisterB = ganMapGPR[31]) & 0x100) { - EMIT_PPC(iJump, 0x3CA00000 | ((u32)nReturnAddress >> 16)); - EMIT_PPC(iJump, 0x60A50000 | ((u32)nReturnAddress & 0xFFFF)); - EMIT_PPC(iJump, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); - } else { - EMIT_PPC(iJump, 0x3C000000 | ((u32)nReturnAddress >> 16) | (iRegisterB << 21)); - EMIT_PPC(iJump, 0x60000000 | ((u32)nReturnAddress & 0xFFFF) | (iRegisterB << 21) | - (iRegisterB << 16)); - } - break; - case 0x13: // bgezall - nAddressJump = *pnAddress + MIPS_IMM_S16(nOpcode) * 4; - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - - iJump = iCode++; - EMIT_PPC(iCode, 0x3CA00000 | ((u32)(nAddress + 8) >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)(nAddress + 8) & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, nReturnAddrLast)); - if (ganMapGPR[31] & 0x100) { - iCode += 3; - } else { - iCode += 2; - } - var_r24 = (u32)&anCode[iCode]; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - var_r22 = (u32)&anCode[iCode]; - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - EMIT_PPC(iJump, 0x41800000 | (((iCode - iJump) * 4) & 0xFFFC)); - - iJump += 3; - nReturnAddress = (u32)&anCode[iCode] + (var_r22 - var_r24); - if ((iRegisterB = ganMapGPR[31]) & 0x100) { - EMIT_PPC(iJump, 0x3CA00000 | ((u32)nReturnAddress >> 16)); - EMIT_PPC(iJump, 0x60A50000 | ((u32)nReturnAddress & 0xFFFF)); - EMIT_PPC(iJump, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); - } else { - EMIT_PPC(iJump, 0x3C000000 | ((u32)nReturnAddress >> 16) | (iRegisterB << 21)); - EMIT_PPC(iJump, 0x60000000 | ((u32)nReturnAddress & 0xFFFF) | (iRegisterB << 21) | - (iRegisterB << 16)); - } - break; - default: - bFlag = false; - break; - } - break; - case 0x02: // j - nAddressJump = (*pnAddress & 0xF0000000) | (MIPS_TARGET(nOpcode) << 2); - if (pFunction->nAddress0 <= nAddressJump && nAddressJump < pFunction->nAddress1) { - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - if (nAddressJump == nAddress) { - if (anCode != NULL) { - anCode[iCode++] = 0x3CA00000 | ((u32)nAddress >> 16); - anCode[iCode++] = 0x60A50000 | ((u32)nAddress & 0xFFFF); - } else { - iCode += 2; - } - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfIdle - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - } else { - if (nOpcodeNext != 0) { - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddressJump >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddressJump & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfJump - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - nAddressJump = -1; - } - break; - case 0x03: // jal - nTarget = MIPS_TARGET(nOpcode) << 2; - if (nOpcodeNext != 0) { - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - } - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, pFunctionLast)); - EMIT_PPC(iCode, 0x3CE08000); - EMIT_PPC(iCode, 0x80C50000 + OFFSETOF(pFunction, timeToLive)); - EMIT_PPC(iCode, 0x7CC63B78); - EMIT_PPC(iCode, 0x3CE00000 | ((u32)(nAddress + 8) >> 16)); - EMIT_PPC(iCode, 0x90C50000 + OFFSETOF(pFunction, timeToLive)); - EMIT_PPC(iCode, 0x60E70000 | ((u32)(nAddress + 8) & 0xFFFF)); - EMIT_PPC(iCode, 0x90E30000 + OFFSETOF(pCPU, nReturnAddrLast)); - nAddressJump = (*pnAddress & 0xF0000000) | nTarget; - if ((iRegisterB = ganMapGPR[31]) & 0x100) { - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddressJump >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddressJump & 0xFFFF)); - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); - } else { - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddressJump >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddressJump & 0xFFFF)); - } - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfCall - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pFunction->callerID_flag == 0x16) { - pFunction->block[pFunction->callerID_total].N64address = nAddressJump; - } - if (pFunction->callerID_flag != 0x21) { - pFunction->callerID_total++; - } - if (anCode != NULL) { - anCode[iCode++] = 0x3CA00000 | ((u32)pFunction >> 16); - anCode[iCode++] = 0x60A50000 | ((u32)pFunction & 0xFFFF); - anCode[iCode++] = 0x90A30000 + (OFFSETOF(pCPU, pFunctionLast) & 0xFFFF); - anCode[iCode++] = 0x3CE08000; - anCode[iCode++] = 0x80C50000 + OFFSETOF(pFunction, timeToLive); - anCode[iCode++] = 0x7CC63878; - anCode[iCode++] = 0x2C060000; - anCode[iCode++] = 0x41820008; - anCode[iCode++] = 0x90850000 + OFFSETOF(pFunction, timeToLive); - } else { - iCode += 9; - } - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (iCode - iJump) * 4; - } - if (anCode != NULL) { - anCode[iJump] = 0x48000000 | (nDeltaAddress & 0x03FFFFFC); - } - nAddressJump = -1; - break; - case 0x04: // beq - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - if (MIPS_RS(nOpcode) == MIPS_RT(nOpcode)) { - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - if (nAddressJump == nAddress) { - if (anCode != NULL) { - anCode[iCode++] = 0x3CA00000 | ((u32)nAddress >> 16); - anCode[iCode++] = 0x60A50000 | ((u32)nAddress & 0xFFFF); - } else { - iCode += 2; - } - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfIdle - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - } else { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x7C000000 | (iRegisterB << 16) | (iRegisterC << 11)); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - EMIT_PPC(iJump, 0x40820000 | (((iCode - iJump) & 0x3FFF) << 2)); - } - break; - case 0x05: // bne - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterC << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x7C000000 | (iRegisterB << 16) | (iRegisterC << 11)); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - EMIT_PPC(iJump, 0x41820000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x06: // blez - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - EMIT_PPC(iJump, 0x41810000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x07: // bgtz - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - EMIT_PPC(iJump, 0x40810000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x08: { // addi - bool var_r10; - - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - } - var_r10 = false; - var_r3 = false; - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - var_r3 = true; - } - nTemp1 = MIPS_IMM_U16(nOpcode); - if ((s16)nTemp1 == 0) { - if ((MIPS_RS(nOpcode) == 31) && !(pCPU->nFlagCODE & 4)) { - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - var_r10 = true; - pCPU->nFlagCODE |= 8; - } else if (!var_r3) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, - 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterB << 11)); - } - } else { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - } else { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - } - if (MIPS_RT(nOpcode) == 31) { - pCPU->nFlagCODE |= 2; - if (pCPU->nFlagCODE & 8) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); - } - } - } else if (MIPS_RS(nOpcode) == 0) { - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | nTemp1); - var_r10 = true; - } else { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | (iRegisterB << 16) | nTemp1); - var_r10 = true; - } - if (var_r10 && (ganMapGPR[MIPS_RT(nOpcode)] & 0x100)) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - break; - } - case 0x09: { // addiu - bool var_r10; - - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - } - - var_r10 = false; - var_r3 = false; - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - var_r3 = true; - } - nTemp1 = MIPS_IMM_U16(nOpcode); - if ((s16)nTemp1 == 0) { - if ((MIPS_RS(nOpcode) == 31) && !(pCPU->nFlagCODE & 4)) { - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, nReturnAddrLast)); - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - var_r10 = true; - pCPU->nFlagCODE |= 8; - } else if (!var_r3) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, - 0x7C000378 | (iRegisterB << 21) | (iRegisterA << 16) | (iRegisterB << 11)); - } - } else { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - } else { - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - } - if (MIPS_RT(nOpcode) == 31) { - pCPU->nFlagCODE |= 2; - if (pCPU->nFlagCODE & 8) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, - 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, (0x90030000 | (iRegisterB << 21)) + OFFSETOF(pCPU, nReturnAddrLast)); - } - } - } else if (MIPS_RS(nOpcode) == 0) { - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | nTemp1); - var_r10 = true; - } else if (!cpuNextInstruction(pCPU, nAddress, nOpcode, anCode, &iCode)) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | (iRegisterB << 16) | nTemp1); - var_r10 = true; - } - if (var_r10 && (ganMapGPR[MIPS_RT(nOpcode)] & 0x100)) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - break; - } - case 0x0A: // slti - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x4180000C); - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21)); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | 1); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x0B: // sltiu - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38E00000 | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x7C003840 | (iRegisterB << 16)); - EMIT_PPC(iCode, 0x4180000C); - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21)); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x38000000 | (iRegisterA << 21) | 1); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x0C: // andi - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x70000000 | (iRegisterB << 21) | (iRegisterA << 16) | MIPS_IMM_U16(nOpcode)); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x0D: // ori - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - } - if (!cpuNextInstruction(pCPU, nAddress, nOpcode, anCode, &iCode)) { - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x60000000 | (iRegisterB << 21) | (iRegisterA << 16) | MIPS_IMM_U16(nOpcode)); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - break; - case 0x0E: // xori - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - } - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x68000000 | (iRegisterB << 21) | (iRegisterA << 16) | MIPS_IMM_U16(nOpcode)); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x0F: // lui - if (!ramGetSize(SYSTEM_RAM(pCPU->pHost), &nSize)) { - return false; - } - nTemp1 = MIPS_IMM_U16(nOpcode); - if ((u32)nTemp1 >= 0x8000 && (u32)nTemp1 <= (0x8000 | (nSize >> 16))) { - pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - } - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - EMIT_PPC(iCode, 0x3C000000 | (iRegisterA << 21) | nTemp1); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - pCPU->nOptimize.checkType = 0x3E8; - pCPU->nOptimize.checkNext = nAddress; - } - break; - case 0x10: // cop0 - switch (MIPS_FUNCT(nOpcode)) { - case 0x01: // tlbr - case 0x02: // tlbwi - case 0x05: // tlbwr - case 0x08: // tlbp - case 0x18: // eret - break; - default: - switch (MIPS_RS(nOpcode)) { - case 0x00: // mfc0 - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x01: // dmfc0 - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x04: // mtc0 - break; - case 0x05: // dmtc0 - break; - case 0x08: // dmtc0 - if ((s32)MIPS_RS(nOpcode) >= 4 || (s32)MIPS_RS(nOpcode) < 0) { - bFlag = false; - } - break; - default: - bFlag = false; - break; - } - break; - } - break; - case 0x11: // cop1 - if ((nOpcode & 0x7FF) == 0 && MIPS_FMT(nOpcode) < 0x10) { - switch ((u8)MIPS_FMT(nOpcode)) { - case 0x00: // mfc1 - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - iRegisterB = MIPS_FS(nOpcode); - if (iRegisterB % 2 == 1) { - EMIT_PPC(iCode, - (0x80030000 | (iRegisterA << 21)) + OFFSETOF(pCPU, aFPR[iRegisterB - 1])); - } else { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - } - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, - 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x01: // dmfc1 - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - iRegisterB = MIPS_FS(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - EMIT_PPC(iCode, 0x90C30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, 0x7CC03378 | (iRegisterA << 16)); - } - break; - case 0x02: // cfc1 - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - iRegisterB = MIPS_FS(nOpcode); - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + OFFSETOF(pCPU, anFCR[iRegisterB])); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, - 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - break; - case 0x04: // mtc1 - iRegisterB = MIPS_FS(nOpcode); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - if (iRegisterB % 2 == 1) { - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterB - 1])); - } else { - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - } - } else { - if (iRegisterB % 2 == 1) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - OFFSETOF(pCPU, aFPR[iRegisterB - 1])); - } else { - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - } - } - break; - case 0x05: // dmtc1 - if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - iRegisterB = MIPS_FS(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - EMIT_PPC(iCode, 0x90C30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - break; - case 0x06: // ctc1 - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - iRegisterB = MIPS_FS(nOpcode); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - EMIT_PPC(iCode, (0x80030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - EMIT_PPC(iCode, (0x90030000 | (iRegisterA << 21)) + OFFSETOF(pCPU, anFCR[iRegisterB])); - break; - default: - bFlag = false; - break; - } - } else if (MIPS_FMT(nOpcode) == 0x08) { - switch (MIPS_FT(nOpcode)) { - case 0x00: // bc1f - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - EMIT_PPC(iCode, 0x3CA00080); - EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, anFCR[31]) & 0xFFFF)); - EMIT_PPC(iCode, 0x7CC62839); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - EMIT_PPC(iJump, 0x40820000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x01: // bc1t - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - EMIT_PPC(iCode, 0x3CA00080); - EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, anFCR[31]) & 0xFFFF)); - EMIT_PPC(iCode, 0x7CC62839); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - EMIT_PPC(iJump, 0x41820000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x02: // bc1fl - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - EMIT_PPC(iCode, 0x3CA00080); - EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, anFCR[31]) & 0xFFFF)); - EMIT_PPC(iCode, 0x7CC62839); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - EMIT_PPC(iJump, 0x40820000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x03: // bc1tl - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - EMIT_PPC(iCode, 0x3CA00080); - EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, anFCR[31]) & 0xFFFF)); - EMIT_PPC(iCode, 0x7CC62839); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - EMIT_PPC(iJump, 0x41820000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - default: - bFlag = false; - break; - } - } else { - switch ((u8)MIPS_FMT(nOpcode)) { - case 0x10: // s - switch (MIPS_FUNCT(nOpcode)) { - case 0x00: // add.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (iRegisterB != iRegisterC) { - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0xEC00002A | (iRegisterA << 21) | (iRegisterB << 16) | - (iRegisterC << 11)); - EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x01: // sub.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xEC000028 | (iRegisterA << 21) | (iRegisterB << 16) | - (iRegisterC << 11)); - EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x02: // mul.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (iRegisterB != iRegisterC) { - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0xEC000032 | (iRegisterA << 21) | (iRegisterB << 16) | - (iRegisterC << 6)); - EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x03: // div.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xEC000024 | (iRegisterA << 21) | (iRegisterB << 16) | - (iRegisterC << 11)); - EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x04: // sqrt.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - } - EMIT_PPC(iCode, - 0x48000000 | - ((cpuCompile_S_SQRT_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | - 1); - EMIT_PPC(iCode, 0xD0230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - break; - case 0x05: // abs.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000210 | (iRegisterA << 21) | (iRegisterB << 11)); - EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x06: // mov.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - EMIT_PPC(iCode, 0xD0230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - break; - case 0x07: // neg.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000050 | (iRegisterA << 21) | (iRegisterB << 11)); - EMIT_PPC(iCode, (0xD0030000 | (iRegisterA << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterA]) + 4) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x0C: // round.w.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - } - EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_ROUND_W_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - break; - case 0x0D: // trunc.w.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - } - EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_TRUNC_W_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - break; - case 0x0E: // ceil.w.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - OSReport(D_800EC980, nAddress); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - } - EMIT_PPC(iCode, - 0x48000000 | - ((cpuCompile_CEIL_W_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | - 1); - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - break; - case 0x0F: // floor.w.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - OSReport(D_800EC99C, nAddress); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - } - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_FLOOR_W_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - break; - case 0x20: // cvt.s.s - OSReport(D_800EC9BC); - break; - case 0x21: // cvt.d.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - EMIT_PPC(iCode, 0xD8230000 + OFFSETOF(pCPU, aFPR[iRegisterA])); - break; - case 0x24: // cvt.w.s - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC0230000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - } - EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_TRUNC_W_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - break; - case 0x30: // c.f.s - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x31: // c.un.s - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x32: // c.eq.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x33: // c.ueq.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x34: // c.olt.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4080000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x35: // c.ult.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4080000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x36: // c.ole.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4C401382); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x37: // c.ule.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4C401382); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x38: // c.sf.s - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x39: // c.ngle.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4C401382); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3A: // c.seq.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3B: // c.ngl.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3C: // c.lt.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4080000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3D: // c.nge.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4080000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3E: // c.le.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4C401382); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3F: // c.ngt.s - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterB << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterB]) + 4) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC0030000 | (iRegisterC << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterC]) + 4) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4C401382); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - default: - bFlag = false; - break; - } - break; - case 0x11: // d - switch (MIPS_FUNCT(nOpcode)) { - case 0x00: // add.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (iRegisterB != iRegisterC) { - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0xFC00002A | (iRegisterA << 21) | (iRegisterB << 16) | - (iRegisterC << 11)); - EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x01: // sub.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000028 | (iRegisterA << 21) | (iRegisterB << 16) | - (iRegisterC << 11)); - EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + - ((OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x02: // mul.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (iRegisterB != iRegisterC) { - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0xFC000032 | (iRegisterA << 21) | (iRegisterB << 16) | - (iRegisterC << 6)); - EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x03: // div.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000024 | (iRegisterA << 21) | (iRegisterB << 16) | - (iRegisterC << 11)); - EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x04: // sqrt.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - } - EMIT_PPC(iCode, - 0x48000000 | - ((cpuCompile_D_SQRT_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | - 1); - EMIT_PPC(iCode, 0xD8230000 + OFFSETOF(pCPU, aFPR[iRegisterA])); - break; - case 0x05: // abs.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000210 | (iRegisterA << 21) | (iRegisterB << 11)); - EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x06: // mov.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - EMIT_PPC(iCode, 0xD8230000 + OFFSETOF(pCPU, aFPR[iRegisterA])); - break; - case 0x07: // neg.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000050 | (iRegisterA << 21) | (iRegisterB << 11)); - EMIT_PPC(iCode, (0xD8030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterA]) & 0xFFFF)); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = iRegisterA; - break; - case 0x0C: // round.w.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - } - EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_ROUND_W_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - break; - case 0x0D: // trunc.w.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - } - EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_TRUNC_W_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - break; - case 0x0E: // ceil.w.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - OSReport(D_800EC9CC, nAddress); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - } - EMIT_PPC(iCode, - 0x48000000 | - ((cpuCompile_CEIL_W_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | - 1); - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - break; - case 0x0F: // floor.w.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - OSReport(D_800EC9E8, nAddress); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - } - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_FLOOR_W_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - break; - case 0x20: // cvt.s.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - EMIT_PPC(iCode, 0xD0230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - break; - case 0x21: // cvt.d.d - OSReport(D_800ECA08); - break; - case 0x24: // cvt.w.d - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0xFC200090 | (iRegisterB << 11)); - } else { - EMIT_PPC(iCode, 0xC8230000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - } - EMIT_PPC(iCode, 0x38A00000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_TRUNC_W_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - break; - case 0x30: // c.f.d - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x31: // c.un.d - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x32: // c.eq.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x33: // c.ueq.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x34: // c.olt.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4080000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x35: // c.ult.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4080000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x36: // c.ole.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4C401382); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x37: // c.ule.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4C401382); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x38: // c.sf.d - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x39: // c.ngle.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4C401382); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3A: // c.seq.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3B: // c.ngl.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000000 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3C: // c.lt.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4080000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3D: // c.nge.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4080000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3E: // c.le.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4C401382); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - case 0x3F: // c.ngt.d - iRegisterB = MIPS_FS(nOpcode); - iRegisterC = MIPS_FT(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, anFCR[31])); - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterB)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterB << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterB]) & 0xFFFF)); - } - if (cpuCutStoreLoadF(pCPU, nAddress, iRegisterC)) { - EMIT_PPC(iCode, 0x60000000); - } else { - EMIT_PPC(iCode, (0xC8030000 | (iRegisterC << 21)) + - (OFFSETOF(pCPU, aFPR[iRegisterC]) & 0xFFFF)); - } - EMIT_PPC(iCode, 0xFC000040 | (iRegisterB << 16) | (iRegisterC << 11)); - EMIT_PPC(iCode, 0x4C401382); - EMIT_PPC(iCode, 0x4082000C); - EMIT_PPC(iCode, 0x64A50080); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x54A5024E); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, anFCR[31])); - break; - default: - bFlag = false; - break; - } - break; - case 0x14: // w - switch (MIPS_FUNCT(nOpcode)) { - case 0x00: // add.w - OSReport(D_800ECA18); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x01: // sub.w - OSReport(D_800ECA28); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x02: // mul.w - OSReport(D_800ECA38); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x03: // div.w - OSReport(D_800ECA48); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x04: // sqrt.w - OSReport(D_800ECA58); - break; - case 0x05: // abs.w - OSReport(D_800ECA68); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x06: // mov.w - OSReport(D_800ECA78); - break; - case 0x07: // neg.w - OSReport(D_800ECA88); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x0C: // round.l.w - OSReport(D_800ECA98); - break; - case 0x0D: // trunc.l.w - OSReport(D_800ECAAC); - break; - case 0x0E: // ceil.l.w - OSReport(D_800ECAC0); - break; - case 0x0F: // floor.l.w - OSReport(D_800ECAD4); - break; - case 0x20: // cvt.s.w - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_W_CVT_SD_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - EMIT_PPC(iCode, 0xD0230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - break; - case 0x21: // cvt.d.w - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_W_CVT_SD_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - EMIT_PPC(iCode, 0xD8230000 + OFFSETOF(pCPU, aFPR[iRegisterA])); - break; - case 0x24: // cvt.w.w - OSReport(D_800ECAE8); - break; - case 0x30: // c.f.w - OSReport(D_800ECAF8); - break; - case 0x31: // c.un.w - OSReport(D_800ECB08); - break; - case 0x32: // c.eq.w - OSReport(D_800ECB18); - break; - case 0x33: // c.ueq.w - OSReport(D_800ECB28); - break; - case 0x34: // c.olt.w - OSReport(D_800ECB38); - break; - case 0x35: // c.ult.w - OSReport(D_800ECB48); - break; - case 0x36: // c.ole.w - OSReport(D_800ECB58); - break; - case 0x37: // c.ule.w - OSReport(D_800ECB68); - break; - case 0x38: // c.sf.w - OSReport(D_800ECB78); - break; - case 0x39: // c.ngle.w - OSReport(D_800ECB88); - break; - case 0x3A: // c.seq.w - OSReport(D_800ECB9C); - break; - case 0x3B: // c.ngl.w - OSReport(D_800ECBAC); - break; - case 0x3C: // c.lt.w - OSReport(D_800ECBBC); - break; - case 0x3D: // c.nge.w - OSReport(D_800ECBCC); - break; - case 0x3E: // c.le.w - OSReport(D_800ECBDC); - break; - case 0x3F: // c.ngt.w - OSReport(D_800ECBEC); - break; - default: - bFlag = false; - break; - } - break; - case 0x15: // l - switch (MIPS_FUNCT(nOpcode)) { - case 0x00: // add.l - OSReport(D_800ECBFC); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x01: // sub.l - OSReport(D_800ECC0C); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x02: // mul.l - OSReport(D_800ECC1C); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x03: // div.l - OSReport(D_800ECC2C); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x04: // sqrt.l - OSReport(D_800ECC3C); - break; - case 0x05: // abs.l - OSReport(D_800ECC4C); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x06: // mov.l - OSReport(D_800ECC5C); - break; - case 0x07: // neg.l - OSReport(D_800ECC6C); - pCPU->nOptimize.destFPR_check = 2; - pCPU->nOptimize.destFPR = MIPS_FD(nOpcode); - break; - case 0x0C: // round.l.l - OSReport(D_800ECC7C); - break; - case 0x0D: // trunc.l.l - OSReport(D_800ECC90); - break; - case 0x0E: // ceil.l.l - OSReport(D_800ECCA4); - break; - case 0x0F: // floor.l.l - OSReport(D_800ECCB8); - break; - case 0x20: // cvt.s.l - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_L_CVT_SD_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - EMIT_PPC(iCode, 0xFC200818); - EMIT_PPC(iCode, 0xD0230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - break; - case 0x21: // cvt.d.l - iRegisterA = MIPS_FD(nOpcode); - iRegisterB = MIPS_FS(nOpcode); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - EMIT_PPC(iCode, 0x80C30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - EMIT_PPC(iCode, 0x48000000 | - ((cpuCompile_L_CVT_SD_function - (u32)&anCode[iCode]) & - 0x03FFFFFC) | - 1); - EMIT_PPC(iCode, 0xD8230000 + OFFSETOF(pCPU, aFPR[iRegisterA])); - break; - case 0x24: // cvt.w.l - OSReport(D_800ECCCC); - break; - case 0x30: // cvt.l.l - OSReport(D_800ECCDC); - break; - case 0x31: // c.f.l - OSReport(D_800ECCEC); - break; - case 0x32: // c.un.l - OSReport(D_800ECCFC); - break; - case 0x33: // c.eq.l - OSReport(D_800ECD0C); - break; - case 0x34: // c.ueq.l - OSReport(D_800ECD1C); - break; - case 0x35: // c.ult.l - OSReport(D_800ECD2C); - break; - case 0x36: // c.ole.l - OSReport(D_800ECD3C); - break; - case 0x37: // c.ule.l - OSReport(D_800ECD4C); - break; - case 0x38: // c.sf.l - OSReport(D_800ECD5C); - break; - case 0x39: // c.ngle.l - OSReport(D_800ECD6C); - break; - case 0x3A: // c.seq.l - OSReport(D_800ECD80); - break; - case 0x3B: // c.ngl.l - OSReport(D_800ECD90); - break; - case 0x3C: // c.lt.l - OSReport(D_800ECDA0); - break; - case 0x3D: // c.nge.l - OSReport(D_800ECDB0); - break; - case 0x3E: // c.le.l - OSReport(D_800ECDC0); - break; - case 0x3F: // c.ngt.l - OSReport(D_800ECDD0); - break; - default: - bFlag = false; - break; - } - break; - } - } - break; - case 0x12: // cop2 - bFlag = false; - break; - case 0x13: // cop1x - bFlag = false; - break; - case 0x14: // beql - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - if (MIPS_RS(nOpcode) == MIPS_RT(nOpcode)) { - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - } else { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x7C000000 | (iRegisterB << 16) | (iRegisterC << 11)); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - EMIT_PPC(iJump, 0x40820000 | (((iCode - iJump) & 0x3FFF) << 2)); - } - break; - case 0x15: // bnel - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if ((iRegisterC = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterC = 7; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterC << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x7C000000 | (iRegisterB << 16) | (iRegisterC << 11)); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - EMIT_PPC(iJump, 0x41820000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x16: // blezl - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - EMIT_PPC(iJump, 0x41810000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x17: // bgtzl - nAddressJump = *pnAddress + (MIPS_IMM_S16(nOpcode) * 4); - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | (iRegisterB << 16) | - (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x2C000000 | (iRegisterB << 16)); - iJump = iCode++; - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, true)) { - return false; - } - *pnAddress -= 4; - - if (!cpuFindBranchOffset(pFunction, &nOffset, nAddressJump, anCode)) { - return false; - } - if (anCode != NULL) { - nDeltaAddress = (nOffset - iCode) * 4; - } - EMIT_PPC(iCode, 0x48000000 | (nDeltaAddress & 0x03FFFFFC)); - if (!cpuGetPPC(pCPU, pnAddress, pFunction, anCode, &iCode, false)) { - return false; - } - EMIT_PPC(iJump, 0x40810000 | (((iCode - iJump) & 0x3FFF) << 2)); - break; - case 0x18: // daddi - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - } - if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, - (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - iRegisterB = MIPS_RT(nOpcode); - EMIT_PPC(iCode, 0x9421FFF0); - EMIT_PPC(iCode, 0x91010008); - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x38E00000 | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x39000000); - EMIT_PPC(iCode, 0x7CE70734); - EMIT_PPC(iCode, 0x2C070000); - EMIT_PPC(iCode, 0x4080000C); - EMIT_PPC(iCode, 0x3900FFFF); - EMIT_PPC(iCode, 0x7D080734); - EMIT_PPC(iCode, 0x7CA53814); - EMIT_PPC(iCode, 0x7CC64114); - EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterB])); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterB])); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x38210010); - if (!((iRegisterB = ganMapGPR[iRegisterB]) & 0x100)) { - EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterB << 16)); - } - break; - case 0x19: // daddiu - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - pCPU->nFlagRAM |= (1 << MIPS_RT(nOpcode)); - } else { - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - } - if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, - (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - iRegisterB = MIPS_RT(nOpcode); - EMIT_PPC(iCode, 0x9421FFF0); - EMIT_PPC(iCode, 0x91010008); - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x38E00000 | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x39000000); - EMIT_PPC(iCode, 0x7CE70734); - EMIT_PPC(iCode, 0x2C070000); - EMIT_PPC(iCode, 0x4080000C); - EMIT_PPC(iCode, 0x3900FFFF); - EMIT_PPC(iCode, 0x7D080734); - EMIT_PPC(iCode, 0x7CA53814); - EMIT_PPC(iCode, 0x7CC64114); - EMIT_PPC(iCode, 0x90A30004 + OFFSETOF(pCPU, aGPR[iRegisterB])); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, aGPR[iRegisterB])); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x38210010); - if (!((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterB << 16)); - } - break; - case 0x1F: // library call - if (libraryFunctionReplaced(SYSTEM_LIBRARY(pCPU->pHost), MIPS_IMM_U16(nOpcode))) { - pCPU->nFlagCODE |= 1; - pFunction->nAddress1 = nAddress + 8; - } - break; - case 0x1A: // ldl - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x1B: // ldr - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x27: // lwu - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x20: // lb - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - - if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7CE04214 | (iRegisterB << 16)); - } else { - EMIT_PPC(iCode, 0x60000000); - } - EMIT_PPC(iCode, 0x88070000 | (iRegisterA << 21) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x7C000774 | (iRegisterA << 21) | (iRegisterA << 16)); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } else if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 3); - } else { - cpuCompileNOP(anCode, &iCode, 2); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x41800010); - EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_LB_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterA << 16)); - } - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x21: // lh - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - - if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7CE04214 | (iRegisterB << 16)); - } else { - EMIT_PPC(iCode, 0x60000000); - } - EMIT_PPC(iCode, 0xA0070000 | (iRegisterA << 21) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x7C000734 | (iRegisterA << 21) | (iRegisterA << 16)); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } else if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 3); - } else { - cpuCompileNOP(anCode, &iCode, 2); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x41800010); - EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_LH_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterA << 16)); - } - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x22: // lwl - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x9421FFE8); - EMIT_PPC(iCode, 0x91210008); - EMIT_PPC(iCode, 0x91410010); - if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7C050378 | (iRegisterA << 21) | (iRegisterA << 11)); - } - EMIT_PPC(iCode, 0x7CE54214); - EMIT_PPC(iCode, 0x38E70000 | MIPS_IMM_U16(nOpcode)); - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x81230004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - } else { - EMIT_PPC(iCode, 0x7C090378 | (iRegisterB << 21) | (iRegisterB << 11)); - } - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_LWL_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x91230004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - } else { - EMIT_PPC(iCode, 0x7D204B78 | (iRegisterB << 16)); - } - EMIT_PPC(iCode, 0x81210008); - EMIT_PPC(iCode, 0x81410010); - EMIT_PPC(iCode, 0x38210018); - } - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x23: // lw - if ((nOpcode & 0xFFFF0000) == 0x8FBF0000) { // lw $ra, 0x????($sp) - if ((pCPU->nFlagCODE & 4) && (pCPU->nFlagCODE >> 16) == MIPS_IMM_U16(nOpcode)) { - pCPU->nFlagCODE &= ~2; - if (prev != 0x457) { - pCPU->nFlagCODE &= ~4; - pCPU->nFlagCODE &= 0xFFFF; - } - } - } - if (gpSystem->eTypeROM == SRT_ZELDA2) { - if (nOpcode == 0x8FBF0014 && nOpcodePrev == 0 && nOpcodeNext == 0x27BD0018) { - if (nAddress == 0x8018570C || nAddress == 0x8018628C || nAddress == 0x8017FB5C || - nAddress == 0x8018624C || nAddress == 0x801C0F14 || nAddress == 0x801B9DF4 || - nAddress == 0x801B9D94) { - pCPU->nFlagCODE |= 2; - } - } else if (nOpcode == 0x8FBF0014 && nOpcodePrev == 0x24E40014 && nOpcodeNext == 0x27BD0018) { - pCPU->nFlagCODE |= 2; - } else if (nOpcode == 0x8FBF0014 && nOpcodePrev == 0x00603025 && nOpcodeNext == 0x27BD0050) { - pCPU->nFlagCODE |= 2; - } else if (nOpcode == 0x8FBF001C && nOpcodePrev == 0x248419C4 && nOpcodeNext == 0x8FB00018) { - pCPU->nFlagCODE |= 2; - } - } else if (gpSystem->eTypeROM == SRT_MARIOPARTY1) { - if (nOpcode == 0x8C9F0004 && nOpcodePrev == 0x8C9D0000 && nOpcodeNext == 0x8C900008) { - pCPU->nFlagCODE |= 2; - } - } else if (gpSystem->eTypeROM == SRT_STARFOX) { - if (nOpcode == 0x8FBF003C && nOpcodePrev == 0 && nOpcodeNext == 0xAFB20040) { - pCPU->nFlagCODE |= 2; - } - } - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - - if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7CE04214 | (iRegisterB << 16)); - } else { - EMIT_PPC(iCode, 0x60000000); - } - EMIT_PPC(iCode, 0x80070000 | (iRegisterA << 21) | MIPS_IMM_U16(nOpcode)); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } else if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 3); - } else { - cpuCompileNOP(anCode, &iCode, 2); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x41800010); - EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_LW_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterA << 16)); - } - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x24: // lbu - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - - if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7CE04214 | (iRegisterB << 16)); - } else { - EMIT_PPC(iCode, 0x60000000); - } - EMIT_PPC(iCode, 0x88070000 | (iRegisterA << 21) | MIPS_IMM_U16(nOpcode)); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } else if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 3); - } else { - cpuCompileNOP(anCode, &iCode, 2); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x41800010); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_LBU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterA << 16)); - } - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x25: // lhu - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - - if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7CE04214 | (iRegisterB << 16)); - } else { - EMIT_PPC(iCode, 0x60000000); - } - EMIT_PPC(iCode, 0xA0070000 | (iRegisterA << 21) | MIPS_IMM_U16(nOpcode)); - if (ganMapGPR[MIPS_RT(nOpcode)] & 0x100) { - pCPU->nOptimize.destGPR_check = 2; - pCPU->nOptimize.destGPR = MIPS_RT(nOpcode); - pCPU->nOptimize.destGPR_mapping = iRegisterA; - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } else if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 3); - } else { - cpuCompileNOP(anCode, &iCode, 2); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x41800010); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_LHU_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7CA02B78 | (iRegisterA << 16)); - } - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x26: // lwr - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x9421FFE8); - EMIT_PPC(iCode, 0x91210008); - EMIT_PPC(iCode, 0x91410010); - if ((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } else { - EMIT_PPC(iCode, 0x7C050378 | (iRegisterA << 21) | (iRegisterA << 11)); - } - EMIT_PPC(iCode, 0x7CE54214); - EMIT_PPC(iCode, 0x38E70000 | MIPS_IMM_U16(nOpcode)); - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x81230004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - } else { - EMIT_PPC(iCode, 0x7C090378 | (iRegisterB << 21) | (iRegisterB << 11)); - } - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_LWR_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x91230004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - } else { - EMIT_PPC(iCode, 0x7D204B78 | (iRegisterB << 16)); - } - EMIT_PPC(iCode, 0x81210008); - EMIT_PPC(iCode, 0x81410010); - EMIT_PPC(iCode, 0x38210018); - } - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x28: // sb - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - var_r3 = true; - if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterC = 7; - var_r3 = false; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if (!var_r3 || !cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), -1)) { - EMIT_PPC(iCode, 0x7CE04214 | (iRegisterC << 16)); - } else { - EMIT_PPC(iCode, 0x60000000); - } - EMIT_PPC(iCode, 0x98070000 | (iRegisterB << 21) | MIPS_IMM_U16(nOpcode)); - } else if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 3); - } else { - cpuCompileNOP(anCode, &iCode, 2); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x41800020); - EMIT_PPC(iCode, 0x9421FFF0); - EMIT_PPC(iCode, 0x91010008); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x81030004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - } else { - EMIT_PPC(iCode, 0x7C080378 | (iRegisterA << 21) | (iRegisterA << 11)); - } - EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_SB_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x38210010); - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } - break; - case 0x29: // sh - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - var_r3 = true; - if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterC = 7; - var_r3 = false; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if (!var_r3 || !cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), -1)) { - EMIT_PPC(iCode, 0x7CE04214 | (iRegisterC << 16)); - } else { - EMIT_PPC(iCode, 0x60000000); - } - EMIT_PPC(iCode, 0xB0070000 | (iRegisterB << 21) | MIPS_IMM_U16(nOpcode)); - } else if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 3); - } else { - cpuCompileNOP(anCode, &iCode, 2); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x41800020); - EMIT_PPC(iCode, 0x9421FFF0); - EMIT_PPC(iCode, 0x91010008); - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x81030004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - } else { - EMIT_PPC(iCode, 0x7C080378 | (iRegisterA << 21) | (iRegisterA << 11)); - } - EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_SH_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x38210010); - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } - break; - case 0x2A: // swl - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, - (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - } else { - EMIT_PPC(iCode, 0x7C050378 | (iRegisterB << 21) | (iRegisterB << 11)); - } - EMIT_PPC(iCode, 0x7CE54214); - EMIT_PPC(iCode, 0x38E70000 | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x38C00018); - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x7CA53430); - EMIT_PPC(iCode, 0x98A70000); - EMIT_PPC(iCode, 0x38C6FFF8); - EMIT_PPC(iCode, 0x54E507BF); - EMIT_PPC(iCode, 0x38E70001); - EMIT_PPC(iCode, 0x4082FFE8); - } - break; - case 0x2B: // sw - if ((nOpcode & 0xFFFF0000) == 0xAFBF0000) { // sw $ra, ????($sp) - if (!(pCPU->nFlagCODE & 4)) { - pCPU->nFlagCODE |= 4; - pCPU->nFlagCODE |= MIPS_IMM_U16(nOpcode) << 16; - } - } - if (gpSystem->eTypeROM == SRT_MARIOPARTY1) { - if (nOpcode == 0xAC9F0004 && nOpcodePrev == 0xAC9D0000 && nOpcodeNext == 0xAC900008) { - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, nReturnAddrLast)); - if (ganMapGPR[31] & 0x100) { - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); - } else { - EMIT_PPC(iCode, 0x7CA02B78 | (ganMapGPR[31] << 16)); - } - pCPU->nFlagCODE |= 2; - } - } else if (gpSystem->eTypeROM == SRT_STARFOX && nOpcode == 0xAFBF003C && - nOpcodePrev == 0x0080A025 && nOpcodeNext == 0xAFB00018) { - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, nReturnAddrLast)); - if (ganMapGPR[31] & 0x100) { - EMIT_PPC(iCode, 0x90A30000 + ((OFFSETOF(pCPU, aGPR[31]) + 4) & 0xFFFF)); - } else { - EMIT_PPC(iCode, 0x7CA02B78 | (ganMapGPR[31] << 16)); - } - pCPU->nFlagCODE |= 2; - } - if (nOpcode == 0xACBF011C) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4) & 0xFFFF)); - } - } - var_r3 = true; - if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterC = 7; - var_r3 = false; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if (!var_r3 || !cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), -1)) { - EMIT_PPC(iCode, 0x7CE04214 | (iRegisterC << 16)); - } else { - EMIT_PPC(iCode, 0x60000000); - } - EMIT_PPC(iCode, 0x90070000 | (iRegisterB << 21) | MIPS_IMM_U16(nOpcode)); - } else if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRam - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 3); - } else { - cpuCompileNOP(anCode, &iCode, 2); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x41800020); - EMIT_PPC(iCode, 0x9421FFF0); - EMIT_PPC(iCode, 0x91010008); - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x81030004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - } else - EMIT_PPC(iCode, 0x7C080378 | (iRegisterB << 21) | (iRegisterB << 11)); - EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_SW_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x38210010); - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } - break; - case 0x2C: // sdl - case 0x2D: // sdr - break; - case 0x2E: // swr - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - if (!((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, ((0x90030000 | (iRegisterA << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4))); - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - } else - EMIT_PPC(iCode, 0x7C050378 | (iRegisterB << 21) | (iRegisterB << 11)); - EMIT_PPC(iCode, 0x7CE54214); - EMIT_PPC(iCode, 0x38E70000 | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x7CA53430); - EMIT_PPC(iCode, 0x98A70000); - EMIT_PPC(iCode, 0x38C60008); - EMIT_PPC(iCode, 0x54E507BF); - EMIT_PPC(iCode, 0x38E7FFFF); - EMIT_PPC(iCode, 0x4082FFE8); - } - break; - case 0x2F: // cache - EMIT_PPC(iCode, 0x60000000); - break; - case 0x30: // sc - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x31: // lwc1 - if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 4); - } else { - cpuCompileNOP(anCode, &iCode, 3); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - iRegisterA = MIPS_RT(nOpcode); - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x41800010); - EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_LW_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (iRegisterA % 2 == 1) { - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterA - 1])); - } else { - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - } - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } else { - if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, - (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - iRegisterB = MIPS_RT(nOpcode); - if (!ramGetSize(SYSTEM_RAM(pCPU->pHost), &nSize)) { - return false; - } - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x3CE08000); - EMIT_PPC(iCode, 0x7C072840); - EMIT_PPC(iCode, 0x41810014); - EMIT_PPC(iCode, 0x3CE08000 | ((nSize >> 16) - 1)); - EMIT_PPC(iCode, 0x60E7FFFF); - EMIT_PPC(iCode, 0x7C072840); - if (var_r17) { - EMIT_PPC(iCode, 0x41810024); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else - EMIT_PPC(iCode, 0x41810014); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x42800028); - EMIT_PPC(iCode, 0x7CE54214); - EMIT_PPC(iCode, 0x38A00000 | iRegisterB); - EMIT_PPC(iCode, 0x70A50001); - EMIT_PPC(iCode, 0x41820010); - EMIT_PPC(iCode, 0x80A70000 | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterB - 1])); - EMIT_PPC(iCode, 0x4280000C); - EMIT_PPC(iCode, 0x80A70000 | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - } - break; - case 0x34: // lld - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x35: // ldc1 - if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 4); - } else { - cpuCompileNOP(anCode, &iCode, 3); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - iRegisterA = MIPS_RT(nOpcode); - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x41800014); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_LDC_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterA])); - EMIT_PPC(iCode, 0x90C30000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } else { - if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, - (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - iRegisterB = MIPS_RT(nOpcode); - if (!ramGetSize(SYSTEM_RAM(pCPU->pHost), &nSize)) { - return false; - } - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x3CE08000); - EMIT_PPC(iCode, 0x7C072840); - EMIT_PPC(iCode, 0x41810014); - EMIT_PPC(iCode, 0x3CE08000 | ((nSize >> 16) - 1)); - EMIT_PPC(iCode, 0x60E7FFFF); - EMIT_PPC(iCode, 0x7C072840); - if (var_r17) { - EMIT_PPC(iCode, 0x41810024); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else - EMIT_PPC(iCode, 0x41810014); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x42800018); - EMIT_PPC(iCode, 0x7CE54214); - EMIT_PPC(iCode, 0x80A70000 | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - EMIT_PPC(iCode, 0x80A70000 | (MIPS_IMM_U16(nOpcode) + 4)); - EMIT_PPC(iCode, 0x90A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - } - break; - case 0x37: // ld - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - if ((iRegisterA = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - iRegisterC = 7; - if (!cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), MIPS_RT(nOpcode))) { - EMIT_PPC(iCode, 0x7C004214 | (iRegisterC << 21) | (iRegisterB << 16)); - } else { - EMIT_PPC(iCode, 0x60000000); - } - EMIT_PPC(iCode, 0x80A70000 | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x80070000 | (iRegisterA << 21) | (MIPS_IMM_U16(nOpcode) + 4)); - EMIT_PPC(iCode, - (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)]) + 4)); - } else if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 4); - } else { - cpuCompileNOP(anCode, &iCode, 3); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x38: // sc - break; - case 0x39: // swc1 - if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 4); - } else { - cpuCompileNOP(anCode, &iCode, 3); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - iRegisterA = MIPS_RT(nOpcode); - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x41800020); - EMIT_PPC(iCode, 0x9421FFF0); - EMIT_PPC(iCode, 0x91010008); - if (iRegisterA % 2 == 1) { - EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aFPR[iRegisterA - 1])); - } else { - EMIT_PPC(iCode, 0x81030000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - } - EMIT_PPC(iCode, 0x48000000 | ((cpuCompile_SW_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x38210010); - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } else { - if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, - (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - iRegisterB = MIPS_RT(nOpcode); - if (!ramGetSize(SYSTEM_RAM(pCPU->pHost), &nSize)) { - return false; - } - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x3CE08000); - EMIT_PPC(iCode, 0x7C072840); - EMIT_PPC(iCode, 0x41810014); - EMIT_PPC(iCode, 0x3CE08000 | ((nSize >> 16) - 1)); - EMIT_PPC(iCode, 0x60E7FFFF); - EMIT_PPC(iCode, 0x7C072840); - if (var_r17) { - EMIT_PPC(iCode, 0x41810024); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else - EMIT_PPC(iCode, 0x41810014); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x42800024); - EMIT_PPC(iCode, 0x7CE54214); - EMIT_PPC(iCode, 0x38A00000 | iRegisterB); - EMIT_PPC(iCode, 0x70A50001); - EMIT_PPC(iCode, 0x4182000C); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aFPR[iRegisterB - 1])); - EMIT_PPC(iCode, 0x42800008); - EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - EMIT_PPC(iCode, 0x90A70000 | MIPS_IMM_U16(nOpcode)); - } - break; - case 0x3C: // scd - pCPU->nFlagRAM &= ~(1 << MIPS_RT(nOpcode)); - break; - case 0x3D: // sdc1 - if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 4); - } else { - cpuCompileNOP(anCode, &iCode, 3); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } else if (pCPU->nCompileFlag & 1) { - iRegisterA = MIPS_RT(nOpcode); - if ((iRegisterB = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterB = 6; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterB << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - EMIT_PPC(iCode, 0x38A00000 | (iRegisterB << 16) | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x54A6843E); - EMIT_PPC(iCode, 0x7CC648AE); - EMIT_PPC(iCode, 0x2C060080); - EMIT_PPC(iCode, 0x4180002C); - EMIT_PPC(iCode, 0x9421FFE8); - EMIT_PPC(iCode, 0x91010008); - EMIT_PPC(iCode, 0x91210010); - EMIT_PPC(iCode, 0x81030000 + OFFSETOF(pCPU, aFPR[iRegisterA])); - EMIT_PPC(iCode, 0x81230000 + (OFFSETOF(pCPU, aFPR[iRegisterA]) + 4)); - EMIT_PPC(iCode, - 0x48000000 | ((cpuCompile_SDC_function - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x81010008); - EMIT_PPC(iCode, 0x81210010); - EMIT_PPC(iCode, 0x38210018); - if (var_r17) { - EMIT_PPC(iCode, 0x42800020); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else { - EMIT_PPC(iCode, 0x42800010); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - } - } else { - if (!((iRegisterA = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100)) { - EMIT_PPC(iCode, - (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4)); - } - iRegisterB = MIPS_RT(nOpcode); - if (!ramGetSize(SYSTEM_RAM(pCPU->pHost), &nSize)) { - return false; - } - EMIT_PPC(iCode, 0x80A30004 + OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)])); - EMIT_PPC(iCode, 0x3CE08000); - EMIT_PPC(iCode, 0x7C072840); - EMIT_PPC(iCode, 0x41810014); - EMIT_PPC(iCode, 0x3CE08000 | ((nSize >> 16) - 1)); - EMIT_PPC(iCode, 0x60E7FFFF); - EMIT_PPC(iCode, 0x7C072840); - if (var_r17) { - EMIT_PPC(iCode, 0x41810024); - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } else - EMIT_PPC(iCode, 0x41810014); - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x42800018); - EMIT_PPC(iCode, 0x7CE54214); - EMIT_PPC(iCode, 0x80A30000 + OFFSETOF(pCPU, aFPR[iRegisterB])); - EMIT_PPC(iCode, 0x90A70000 | MIPS_IMM_U16(nOpcode)); - EMIT_PPC(iCode, 0x80A30000 + (OFFSETOF(pCPU, aFPR[iRegisterB]) + 4)); - EMIT_PPC(iCode, 0x90A70000 | (MIPS_IMM_U16(nOpcode) + 4)); - } - break; - case 0x3F: // sd - if (pCPU->nFlagRAM & (1 << MIPS_RS(nOpcode))) { - var_r3 = true; - if ((iRegisterC = ganMapGPR[MIPS_RS(nOpcode)]) & 0x100) { - iRegisterC = 7; - var_r3 = false; - if (cpuCutStoreLoad(pCPU, nAddress, MIPS_RS(nOpcode))) { - EMIT_PPC(iCode, 0x7C000378 | (pCPU->nOptimize.destGPR_mapping << 21) | - (iRegisterC << 16) | (pCPU->nOptimize.destGPR_mapping << 11)); - } else { - EMIT_PPC(iCode, 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(nOpcode)]) + 4) & 0xFFFF)); - } - } - if (!var_r3 || !cpuStackOffset(pCPU, nAddress, anCode, MIPS_RS(nOpcode), -1)) { - EMIT_PPC(iCode, 0x7CE04214 | (iRegisterC << 16)); - } else { - EMIT_PPC(iCode, 0x60000000); - } - EMIT_PPC(iCode, 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - EMIT_PPC(iCode, 0x90C70000 | MIPS_IMM_U16(nOpcode)); - if ((iRegisterB = ganMapGPR[MIPS_RT(nOpcode)]) & 0x100) { - iRegisterB = 6; - EMIT_PPC(iCode, 0x80C30004 + OFFSETOF(pCPU, aGPR[MIPS_RT(nOpcode)])); - } - EMIT_PPC(iCode, 0x90070000 | (iRegisterB << 21) | (MIPS_IMM_U16(nOpcode) + 4)); - } else if (pCPU->nCompileFlag & 0x10) { - if (var_r17) { - EMIT_PPC(iCode, 0x38C00000); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - EMIT_PPC(iCode, 0x3CA00000 | ((u32)nAddress >> 16)); - EMIT_PPC(iCode, 0x60A50000 | ((u32)nAddress & 0xFFFF)); - EMIT_PPC(iCode, 0x48000000 | (((u32)pCPU->pfRamF - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1); - if (pCPU->nCompileFlag & 0x100) { - cpuCompileNOP(anCode, &iCode, 4); - } else { - cpuCompileNOP(anCode, &iCode, 3); - } - if (var_r17) { - EMIT_PPC(iCode, 0x38C0FFFF); - EMIT_PPC(iCode, 0x90C30000 + OFFSETOF(pCPU, nWaitPC)); - } - } - break; - default: - bFlag = false; - break; - } - } - - if (!bFlag) { - return false; - } - if (!bSlot && pFunction->pfCode == NULL) { - if (nAddressJump != -1 && anCode == NULL) { - pFunction->aJump[pFunction->nCountJump++].nAddressN64 = nAddressJump; - } - for (iJump = 0; iJump < pFunction->nCountJump; iJump++) { - if (pFunction->aJump[iJump].nAddressN64 == nAddress) { - pFunction->aJump[iJump].nOffsetHost = *piCode; - } - } - } - if (iCode == *piCode) { - if (anCode != NULL) { - if (var_r17) { - anCode[iCode++] = 0x38C00000; - anCode[iCode++] = 0x90C30000 + OFFSETOF(pCPU, nWaitPC); - } - anCode[iCode++] = 0x3CA00000 | ((u32)nAddress >> 16); - anCode[iCode++] = 0x60A50000 | ((u32)nAddress & 0xFFFF); - anCode[iCode++] = 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[iCode]) & 0x03FFFFFC) | 1; - } else { - iCode += var_r17 ? 5 : 3; - } - if ((pCPU->nFlagCODE & 1) && anCode == NULL && pFunction->pfCode == NULL) { - iCode += 6; - *pnAddress = pFunction->nAddress1 + 4; - } - if (var_r17) { - if (anCode != NULL) { - anCode[iCode++] = 0x38C0FFFF; - anCode[iCode++] = 0x90C30000 + OFFSETOF(pCPU, nWaitPC); - } else { - iCode += 2; - } - } - } - - if (update) { - pCPU->nOptimize.addr_last = -1; - if (anCode != NULL) { - anCode[iUpdate] = 0x42800000 | (((iCode - iUpdate) * 4) & 0xFFFC); - } - } - - *piCode = iCode; - if (anCode != NULL) { - if (var_r17) { - pCPU->nOptimize.destGPR_check = 0; - pCPU->nOptimize.destFPR_check = 0; - pCPU->nOptimize.checkNext = 0; - } else if (pCPU->nOptimize.destGPR_check == 2) { - pCPU->nOptimize.destGPR_check = 1; - pCPU->nOptimize.destFPR_check = 0; - } else if (pCPU->nOptimize.destFPR_check == 2) { - pCPU->nOptimize.destFPR_check = 1; - pCPU->nOptimize.destGPR_check = 0; - } else { - pCPU->nOptimize.destGPR_check = 0; - pCPU->nOptimize.destFPR_check = 0; - } - } - - if (var_r17 || pCPU->nOptimize.addr_check == 0) { - pCPU->nOptimize.addr_last = -1; - } - - return true; - } else { - return false; - } -} -#endif - -/** - * @brief Creates a new recompiled function block. - * - * @param pCPU The emulated VR4300. - * @param ppFunction A pointer to an already recompiled function, or one that has been created. - * @param nAddressN64 The N64 address of the function to find or create. - * @return bool true on success, false otherwise. - */ -bool cpuMakeFunction(Cpu* pCPU, CpuFunction** ppFunction, s32 nAddressN64) { - s32 iCode; - s32 iCode0; - s32 pad; - s32 iJump; - s32 iCheck; - s32 firstTime; - s32 kill_value; - s32 memory_used; - s32 codeMemory; - s32 blockMemory; - s32* chunkMemory; - s32* anCode; - s32 nAddress; - CpuFunction* pFunction; - CpuJump aJump[1024]; - - firstTime = 1; - if (!cpuFindFunction(pCPU, nAddressN64, &pFunction)) { - return false; - } - - if (pFunction->pfCode == NULL) { - libraryTestFunction(SYSTEM_LIBRARY(pCPU->pHost), pFunction); - pFunction->nCountJump = 0; - pFunction->aJump = aJump; - pCPU->nFlagRAM = 0x20000000; - pCPU->nFlagCODE = 0; - pFunction->callerID_total = 0; - pFunction->callerID_flag = 0xB; - pCPU->nOptimize.validCheck = 1; - pCPU->nOptimize.checkNext = 0; - - iCode = 0; - nAddress = pFunction->nAddress0; - while (nAddress <= pFunction->nAddress1) { - if (!cpuGetPPC(pCPU, &nAddress, pFunction, NULL, &iCode, false)) { - return false; - } - } - - iCode0 = iCode; - codeMemory = iCode * sizeof(s32); - memory_used = codeMemory; - - iCheck = pFunction->callerID_total; - if (iCheck != 0) { - blockMemory = iCheck * sizeof(CpuCallerID); - memory_used += blockMemory; - } else { - blockMemory = 0; - } - - if (pFunction->nCountJump > 0) { - memory_used += pFunction->nCountJump * sizeof(CpuJump); - } - - while (true) { - if (cpuHeapTake(&chunkMemory, pCPU, pFunction, memory_used)) { - break; - } - - if (firstTime) { - firstTime = 0; - kill_value = pCPU->survivalTimer - 300; - } else { - kill_value += 95; - if (kill_value > pCPU->survivalTimer - 10) { - kill_value = pCPU->survivalTimer - 10; - } - } - - treeForceCleanUp(pCPU, pFunction, kill_value); - } - - anCode = chunkMemory; - if (blockMemory != 0) { - pFunction->block = (CpuCallerID*)((u8*)chunkMemory + codeMemory); - treeCallerInit(pFunction->block, iCheck); - } - - pCPU->nFlagRAM = 0x20000000; - pCPU->nFlagCODE = 0; - pFunction->callerID_total = 0; - pFunction->callerID_flag = 0x16; - pCPU->nOptimize.checkNext = 0; - pCPU->nOptimize.destGPR_check = 0; - pCPU->nOptimize.destFPR_check = 0; - - iCode = 0; - nAddress = pFunction->nAddress0; - while (nAddress <= pFunction->nAddress1) { - if (!cpuGetPPC(pCPU, &nAddress, pFunction, anCode, &iCode, false)) { - return false; - } - } - - while (iCode != iCode0) { - anCode[iCode++] = 0x60000000; - } - - pFunction->callerID_flag = 0x21; - pFunction->pfCode = anCode; - DCStoreRange(pFunction->pfCode, iCode * 4); - ICInvalidateRange(pFunction->pfCode, iCode * 4); - - if (pFunction->nCountJump > 0) { - if (pFunction->nCountJump >= 0x400) { - return false; - } - - pFunction->aJump = (CpuJump*)((u8*)chunkMemory + codeMemory + blockMemory); - for (iJump = 0; iJump < pFunction->nCountJump; iJump++) { - pFunction->aJump[iJump].nOffsetHost = aJump[iJump].nOffsetHost; - pFunction->aJump[iJump].nAddressN64 = aJump[iJump].nAddressN64; - } - } else { - pFunction->aJump = NULL; - } - - pFunction->memory_size = memory_used; - pCPU->gTree->total_memory += memory_used; - } - - if (ppFunction != NULL) { - *ppFunction = pFunction; - } - - return true; -} - -/** - * @brief Searches the recompiled block cache for an address, or creates a new block if one cannot be found. - * - * @param pCPU The emulated VR4300. - * @param nAddressN64 N64 code address to search for. - * @param pnAddressGCN A pointer to set the found PPC code to. - * @return bool true on success, false otherwise. - */ -static bool cpuFindAddress(Cpu* pCPU, s32 nAddressN64, s32* pnAddressGCN) { - s32 iJump; - s32 iCode; - s32 nAddress; - CpuFunction* pFunction; - s32 pad; - - if (pCPU->nMode & 0x20) { - pCPU->nMode &= ~0x20; - } - - if (cpuFindCachedAddress(pCPU, nAddressN64, pnAddressGCN)) { - return true; - } - - if ((pFunction = pCPU->pFunctionLast) == NULL || nAddressN64 < pFunction->nAddress0 || - pFunction->nAddress1 < nAddressN64) { - if (!cpuMakeFunction(pCPU, &pFunction, nAddressN64)) { - return false; - } - } - - for (iJump = 0; iJump < pFunction->nCountJump; iJump++) { - if (pFunction->aJump[iJump].nAddressN64 == nAddressN64) { - *pnAddressGCN = (s32)((s32*)pFunction->pfCode + pFunction->aJump[iJump].nOffsetHost); - if (pFunction->timeToLive > 0) { - pFunction->timeToLive = pCPU->survivalTimer; - } - cpuMakeCachedAddress(pCPU, nAddressN64, *pnAddressGCN, pFunction); - return true; - } - } - - pCPU->nFlagRAM = 0x20000000; - pCPU->nFlagCODE = 0; - pFunction->callerID_flag = 0x21; - iCode = 0; - if (pFunction->nAddress0 != nAddressN64) { - pFunction->timeToLive = 0; - } - - nAddress = pFunction->nAddress0; - while (nAddress <= pFunction->nAddress1) { - if (nAddress == nAddressN64) { - *pnAddressGCN = (s32)((s32*)pFunction->pfCode + iCode); - if (pFunction->timeToLive > 0) { - pFunction->timeToLive = pCPU->survivalTimer; - } - cpuMakeCachedAddress(pCPU, nAddressN64, *pnAddressGCN, pFunction); - return true; - } - if (!cpuGetPPC(pCPU, &nAddress, pFunction, NULL, &iCode, false)) { - return false; - } - } - - return false; -} - -static inline bool cpuNoBranchTo(CpuFunction* pFunction, s32 addressN64) { - s32 i; - - for (i = 0; i < pFunction->nCountJump; i++) { - if (pFunction->aJump[i].nAddressN64 == addressN64) { - return false; - } - } - - return true; -} - -static inline bool cpuCutStoreLoad(Cpu* pCPU, s32 currentAddress, s32 source) { - if (pCPU->nOptimize.validCheck == 0) { - return false; - } - if (pCPU->nOptimize.destGPR_check == 0) { - return false; - } - if (source != pCPU->nOptimize.destGPR) { - return false; - } - - if (!cpuNoBranchTo(pCPU->pFunctionLast, currentAddress)) { - pCPU->nOptimize.destGPR_check = 0; - return false; - } - - pCPU->nOptimize.destGPR_check = 0; - return true; -} - -static inline bool cpuCutStoreLoadF(Cpu* pCPU, s32 currentAddress, s32 source) { - if (pCPU->nOptimize.validCheck == 0) { - return false; - } - if (pCPU->nOptimize.destFPR_check == 0) { - return false; - } - if (source != pCPU->nOptimize.destFPR) { - return false; - } - - if (!cpuNoBranchTo(pCPU->pFunctionLast, currentAddress)) { - pCPU->nOptimize.destFPR_check = 0; - return false; - } - - pCPU->nOptimize.destFPR_check = 0; - return true; -} - -static inline bool cpuStackOffset(Cpu* pCPU, s32 currentAddress, s32* anCode, s32 source, s32 target) { - if (anCode == NULL) { - return false; - } - if (pCPU->nOptimize.validCheck == 0) { - return false; - } - - if (!cpuNoBranchTo(pCPU->pFunctionLast, currentAddress)) { - return false; - } - - pCPU->nOptimize.addr_check = 1; - if (source == target) { - pCPU->nOptimize.addr_last = -1; - return false; - } else if (pCPU->nOptimize.addr_last != source) { - pCPU->nOptimize.addr_last = source; - return false; - } - - return true; -} - -static bool cpuNextInstruction(Cpu* pCPU, s32 addressN64, s32 opcode, s32* anCode, s32* iCode) { - if (anCode == NULL) { - return false; - } - if (pCPU->nOptimize.validCheck == 0) { - return false; - } - if (pCPU->nOptimize.checkNext != addressN64 - 4) { - pCPU->nOptimize.checkNext = 0; - return false; - } - pCPU->nOptimize.checkNext = 0; - - if (!cpuNoBranchTo(pCPU->pFunctionLast, addressN64)) { - return false; - } - - switch (MIPS_OP(opcode)) { - case 0x0D: // ori - if (pCPU->nOptimize.destGPR == MIPS_RS(opcode) && MIPS_RS(opcode) == MIPS_RT(opcode)) { - if (pCPU->nOptimize.checkType != 0x3E8) { - return false; - } - anCode[*iCode - 1] = 0x60000000; - anCode[(*iCode)++] = 0x60000000 | (pCPU->nOptimize.destGPR_mapping << 21) | - (pCPU->nOptimize.destGPR_mapping << 16) | MIPS_IMM_U16(opcode); - anCode[(*iCode)++] = 0x60000000; - anCode[(*iCode)++] = (0x90030000 | (pCPU->nOptimize.destGPR_mapping << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(opcode)]) + 4); - pCPU->nOptimize.destGPR_check = 2; - return true; - } - return false; - case 0x09: // addiu - if (pCPU->nOptimize.destGPR == MIPS_RS(opcode) && MIPS_RS(opcode) == MIPS_RT(opcode)) { - if (pCPU->nOptimize.checkType != 0x3E8) { - return false; - } - anCode[*iCode - 1] = 0x60000000; - anCode[(*iCode)++] = 0x38000000 | (pCPU->nOptimize.destGPR_mapping << 21) | - (pCPU->nOptimize.destGPR_mapping << 16) | MIPS_IMM_U16(opcode); - anCode[(*iCode)++] = 0x60000000; - anCode[(*iCode)++] = (0x90030000 | (pCPU->nOptimize.destGPR_mapping << 21)) + - (OFFSETOF(pCPU, aGPR[MIPS_RT(opcode)]) + 4); - pCPU->nOptimize.destGPR_check = 2; - return true; - } - return false; - default: - OSReport(D_800EC94C, opcode, addressN64); - OSPanic(D_800EC1E0, 3621, D_8013525C); - break; - } - - return false; -} - -void cpuRetraceCallback(u32 nCount) { SYSTEM_CPU(gpSystem)->nRetrace = nCount; } - -static bool cpuExecuteUpdate(Cpu* pCPU, s32* pnAddressGCN, u32 nCount) { - RspUpdateMode eModeUpdate; - System* pSystem; - s32 nDelta; - u32 nCounter; - u32 nCompare; - - u32 nCounterDelta; - CpuTreeRoot* root; - - pSystem = (System*)pCPU->pHost; - - if (!romUpdate(SYSTEM_ROM(pSystem))) { - return false; - } - - if (pSystem->eTypeROM == SRT_DRMARIO) { - eModeUpdate = pSystem->bException ? RUM_NONE : RUM_IDLE; - } else { - eModeUpdate = ((pCPU->nMode & 0x80) && !pSystem->bException) ? RUM_IDLE : RUM_NONE; - } - if (!rspUpdate(SYSTEM_RSP(pSystem), eModeUpdate)) { - return false; - } - - root = pCPU->gTree; - treeTimerCheck(pCPU); - if (pCPU->nRetrace == pCPU->nRetraceUsed && root->kill_number < 12) { - if (treeKillReason(pCPU, &root->kill_limit)) { - pCPU->survivalTimer++; - } - if (root->kill_limit != 0) { - treeCleanUp(pCPU, root); - } - } - - if (nCount > pCPU->nTickLast) { - nCounterDelta = fTickScale * ((nCount - pCPU->nTickLast) << nTickMultiplier); - } else { - nCounterDelta = fTickScale * ((-1 - pCPU->nTickLast + nCount) << nTickMultiplier); - } - if ((pCPU->nMode & 0x40) && pCPU->nRetraceUsed != pCPU->nRetrace) { - if (videoForceRetrace(SYSTEM_VIDEO(pSystem), true)) { - nDelta = pCPU->nRetrace - pCPU->nRetraceUsed; - if (nDelta < 0) { - nDelta = -nDelta; - } - - if (nDelta < 4) { - pCPU->nRetraceUsed++; - } else { - pCPU->nRetraceUsed = ((Cpu*)pCPU)->nRetrace; - } - } - } - - if (pCPU->nMode & 1) { - nCounter = pCPU->anCP0[9]; - nCompare = pCPU->anCP0[11]; - if ((nCounter <= nCompare && nCounter + nCounterDelta >= nCompare) || - (nCounter >= nCompare && nCounter + nCounterDelta >= nCompare && nCounter + nCounterDelta < nCounter)) { - pCPU->nMode &= ~1; - xlObjectEvent(pCPU->pHost, 0x1000, (void*)3); - } - } - pCPU->anCP0[9] += nCounterDelta; - - if ((pCPU->nMode & 8) && !(pCPU->nMode & 4) && gpSystem->bException) { - if (!systemCheckInterrupts(gpSystem)) { - return false; - } - } - - if (pCPU->nMode & 4) { - pCPU->nMode &= ~0x84; - if (!cpuFindAddress(pCPU, pCPU->nPC, pnAddressGCN)) { - return false; - } - } - return true; -} - -// Matches but data doesn't -#ifndef NON_MATCHING -static s32 cpuExecuteOpcode(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN); -#pragma GLOBAL_ASM("asm/non_matchings/cpu/cpuExecuteOpcode.s") -#else -static inline bool cpuCheckInterrupts(Cpu* pCPU) { - System* pSystem; - - pSystem = (System*)pCPU->pHost; - if (pSystem->bException) { - if (!systemCheckInterrupts(pSystem)) { - return false; - } - } else { - videoForceRetrace(SYSTEM_VIDEO(pSystem), false); - } - - return true; -} - -static inline bool cpuTLBRandom(Cpu* pCPU) { - s32 iEntry; - s32 nCount; - - nCount = 0; - for (iEntry = 0; iEntry < 48; iEntry++) { - if (!(pCPU->aTLB[iEntry][2] & 2)) { - nCount++; - } - } - - return nCount; -} - -static inline bool cpuExecuteCacheInstruction(Cpu* pCPU) { - s32* pBuffer; - - if (!cpuGetAddressBuffer(pCPU, (void**)&pBuffer, pCPU->nPC)) { - return false; - } - pBuffer[-1] = 0; - pBuffer -= (pCPU->nPC - pCPU->nCallLast) >> 2; - pBuffer[0] = 0x03E00008; - pBuffer[1] = 0; - - return true; -} - -static s32 cpuExecuteOpcode(Cpu* pCPU, s32 nCount0, s32 nAddressN64, s32 nAddressGCN) { - s32 pad1[2]; - u64 save; - s32 restore; - u32 nOpcode; - u32* opcode; - s32 pad2; - CpuDevice** apDevice; - u8* aiDevice; - s32 iEntry; - s32 nCount; - s8 nData8; - s16 nData16; - s32 nData32; - s64 nData64; - s32 nAddress; - CpuFunction* pFunction; - s32 nTick; - s32 pad3[3]; - - restore = 0; - nTick = OSGetTick(); - if (pCPU->nWaitPC != 0) { - pCPU->nMode |= 8; - } else { - pCPU->nMode &= ~8; - } - - aiDevice = pCPU->aiDevice; - apDevice = pCPU->apDevice; - - ramGetBuffer(SYSTEM_RAM(pCPU->pHost), &opcode, nAddressN64, NULL); - nOpcode = *opcode; - pCPU->nPC = nAddressN64 + 4; - if (nOpcode == 0xACBF011C) { // sw $ra,0x11C($a1) - save = pCPU->aGPR[31].u64; - restore = 1; - pCPU->aGPR[31].s32 = pCPU->nReturnAddrLast; - } - - switch (MIPS_OP(nOpcode)) { - case 0x00: // special - switch (MIPS_FUNCT(nOpcode)) { - case 0x00: // sll - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = pCPU->aGPR[MIPS_RT(nOpcode)].s32 << MIPS_SA(nOpcode); - break; - case 0x02: // srl - pCPU->aGPR[MIPS_RD(nOpcode)].u32 = pCPU->aGPR[MIPS_RT(nOpcode)].u32 >> MIPS_SA(nOpcode); - break; - case 0x03: // sra - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = pCPU->aGPR[MIPS_RT(nOpcode)].s32 >> MIPS_SA(nOpcode); - break; - case 0x04: // sllv - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = pCPU->aGPR[MIPS_RT(nOpcode)].s32 - << (pCPU->aGPR[MIPS_RS(nOpcode)].s32 & 0x1F); - break; - case 0x06: // srlv - pCPU->aGPR[MIPS_RD(nOpcode)].u32 = - pCPU->aGPR[MIPS_RT(nOpcode)].u32 >> (pCPU->aGPR[MIPS_RS(nOpcode)].s32 & 0x1F); - break; - case 0x07: // srav - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = - pCPU->aGPR[MIPS_RT(nOpcode)].s32 >> (pCPU->aGPR[MIPS_RS(nOpcode)].s32 & 0x1F); - break; - case 0x08: // jr - pCPU->nWaitPC = pCPU->aGPR[MIPS_RS(nOpcode)].u32; - break; - case 0x09: // jalr - pCPU->nWaitPC = pCPU->aGPR[MIPS_RS(nOpcode)].u32; - pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->nPC + 4; - break; - case 0x0C: // syscall - cpuException(pCPU, CEC_SYSCALL, 0); - break; - case 0x0D: // break - cpuException(pCPU, CEC_BREAK, 0); - break; - case 0x10: // mfhi - pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->nHi; - break; - case 0x11: // mthi - pCPU->nHi = pCPU->aGPR[MIPS_RS(nOpcode)].s64; - break; - case 0x12: // mflo - pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->nLo; - break; - case 0x13: // mtlo - pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].s64; - break; - case 0x14: // dsllv - pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64 - << (pCPU->aGPR[MIPS_RS(nOpcode)].s64 & 0x3F); - break; - case 0x16: // dsrlv - pCPU->aGPR[MIPS_RD(nOpcode)].u64 = - pCPU->aGPR[MIPS_RT(nOpcode)].u64 >> (pCPU->aGPR[MIPS_RS(nOpcode)].s64 & 0x3F); - break; - case 0x17: // dsrav - pCPU->aGPR[MIPS_RD(nOpcode)].s64 = - pCPU->aGPR[MIPS_RT(nOpcode)].s64 >> (pCPU->aGPR[MIPS_RS(nOpcode)].s64 & 0x3F); - break; - case 0x18: // mult - nData64 = (s64)pCPU->aGPR[MIPS_RS(nOpcode)].s32 * (s64)pCPU->aGPR[MIPS_RT(nOpcode)].s32; - pCPU->nLo = (s32)(nData64 & 0xFFFFFFFF); - pCPU->nHi = (s32)(nData64 >> 32); - break; - case 0x19: // multu - nData64 = (u64)pCPU->aGPR[MIPS_RS(nOpcode)].u32 * (u64)pCPU->aGPR[MIPS_RT(nOpcode)].u32; - pCPU->nLo = (s32)(nData64 & 0xFFFFFFFF); - pCPU->nHi = (s32)(nData64 >> 32); - break; - case 0x1A: // div - if (pCPU->aGPR[MIPS_RT(nOpcode)].s32 != 0) { - pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].s32 / pCPU->aGPR[MIPS_RT(nOpcode)].s32; - pCPU->nHi = pCPU->aGPR[MIPS_RS(nOpcode)].s32 % pCPU->aGPR[MIPS_RT(nOpcode)].s32; - } - break; - case 0x1B: // divu - if (pCPU->aGPR[MIPS_RT(nOpcode)].u32 != 0) { - pCPU->nLo = (s32)(pCPU->aGPR[MIPS_RS(nOpcode)].u32 / pCPU->aGPR[MIPS_RT(nOpcode)].u32); - pCPU->nHi = (s32)(pCPU->aGPR[MIPS_RS(nOpcode)].u32 % pCPU->aGPR[MIPS_RT(nOpcode)].u32); - } - break; - case 0x1C: // dmult - pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].s64 * pCPU->aGPR[MIPS_RT(nOpcode)].s64; - pCPU->nHi = (pCPU->nLo < 0) ? -1 : 0; - break; - case 0x1D: // dmultu - pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].u64 * pCPU->aGPR[MIPS_RT(nOpcode)].u64; - pCPU->nHi = (pCPU->nLo < 0) ? -1 : 0; - break; - case 0x1E: // ddiv - if (pCPU->aGPR[MIPS_RT(nOpcode)].s64 != 0) { - pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].s64 / pCPU->aGPR[MIPS_RT(nOpcode)].s64; - pCPU->nHi = pCPU->aGPR[MIPS_RS(nOpcode)].s64 % pCPU->aGPR[MIPS_RT(nOpcode)].s64; - } - break; - case 0x1F: // ddivu - if (pCPU->aGPR[MIPS_RT(nOpcode)].u64 != 0) { - pCPU->nLo = pCPU->aGPR[MIPS_RS(nOpcode)].u64 / pCPU->aGPR[MIPS_RT(nOpcode)].u64; - pCPU->nHi = pCPU->aGPR[MIPS_RS(nOpcode)].u64 % pCPU->aGPR[MIPS_RT(nOpcode)].u64; - } - break; - case 0x20: // add - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = - pCPU->aGPR[MIPS_RS(nOpcode)].s32 + pCPU->aGPR[MIPS_RT(nOpcode)].s32; - break; - case 0x21: // addu - pCPU->aGPR[MIPS_RD(nOpcode)].u32 = - pCPU->aGPR[MIPS_RS(nOpcode)].u32 + pCPU->aGPR[MIPS_RT(nOpcode)].u32; - break; - case 0x22: // sub - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = - pCPU->aGPR[MIPS_RS(nOpcode)].s32 - pCPU->aGPR[MIPS_RT(nOpcode)].s32; - break; - case 0x23: // subu - pCPU->aGPR[MIPS_RD(nOpcode)].u32 = - pCPU->aGPR[MIPS_RS(nOpcode)].u32 - pCPU->aGPR[MIPS_RT(nOpcode)].u32; - break; - case 0x24: // and - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = - pCPU->aGPR[MIPS_RS(nOpcode)].s32 & pCPU->aGPR[MIPS_RT(nOpcode)].s32; - break; - case 0x25: // or - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = - pCPU->aGPR[MIPS_RS(nOpcode)].s32 | pCPU->aGPR[MIPS_RT(nOpcode)].s32; - break; - case 0x26: // xor - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = - pCPU->aGPR[MIPS_RS(nOpcode)].s32 ^ pCPU->aGPR[MIPS_RT(nOpcode)].s32; - break; - case 0x27: // nor - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = - ~(pCPU->aGPR[MIPS_RS(nOpcode)].s32 | pCPU->aGPR[MIPS_RT(nOpcode)].s32); - break; - case 0x2A: // slt - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = - (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < pCPU->aGPR[MIPS_RT(nOpcode)].s32) ? 1 : 0; - break; - case 0x2B: // sltu - pCPU->aGPR[MIPS_RD(nOpcode)].s32 = - (pCPU->aGPR[MIPS_RS(nOpcode)].u32 < pCPU->aGPR[MIPS_RT(nOpcode)].u32) ? 1 : 0; - break; - case 0x2C: // dadd - pCPU->aGPR[MIPS_RD(nOpcode)].s64 = - pCPU->aGPR[MIPS_RS(nOpcode)].s64 + pCPU->aGPR[MIPS_RT(nOpcode)].s64; - break; - case 0x2D: // daddu - pCPU->aGPR[MIPS_RD(nOpcode)].u64 = - pCPU->aGPR[MIPS_RS(nOpcode)].u64 + pCPU->aGPR[MIPS_RT(nOpcode)].u64; - break; - case 0x2E: // dsub - pCPU->aGPR[MIPS_RD(nOpcode)].s64 = - pCPU->aGPR[MIPS_RS(nOpcode)].s64 - pCPU->aGPR[MIPS_RT(nOpcode)].s64; - break; - case 0x2F: // dsubu - pCPU->aGPR[MIPS_RD(nOpcode)].u64 = - pCPU->aGPR[MIPS_RS(nOpcode)].u64 - pCPU->aGPR[MIPS_RT(nOpcode)].u64; - break; - case 0x30: // tge - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= pCPU->aGPR[MIPS_RT(nOpcode)].s32) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x31: // tgeu - if (pCPU->aGPR[MIPS_RS(nOpcode)].u32 >= pCPU->aGPR[MIPS_RT(nOpcode)].u32) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x32: // tlt - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < pCPU->aGPR[MIPS_RT(nOpcode)].s32) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x33: // tltu - if (pCPU->aGPR[MIPS_RS(nOpcode)].u32 < pCPU->aGPR[MIPS_RT(nOpcode)].u32) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x34: // teq - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 == pCPU->aGPR[MIPS_RT(nOpcode)].s32) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x36: // tne - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 != pCPU->aGPR[MIPS_RT(nOpcode)].s32) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x38: // dsll - pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64 << MIPS_SA(nOpcode); - break; - case 0x3A: // dsrl - pCPU->aGPR[MIPS_RD(nOpcode)].u64 = pCPU->aGPR[MIPS_RT(nOpcode)].u64 >> MIPS_SA(nOpcode); - break; - case 0x3B: // dsra - pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64 >> MIPS_SA(nOpcode); - break; - case 0x3C: // dsll32 - pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64 << (MIPS_SA(nOpcode) + 32); - break; - case 0x3E: // dsrl32 - pCPU->aGPR[MIPS_RD(nOpcode)].u64 = pCPU->aGPR[MIPS_RT(nOpcode)].u64 >> (MIPS_SA(nOpcode) + 32); - break; - case 0x3F: // dsra32 - pCPU->aGPR[MIPS_RD(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64 >> (MIPS_SA(nOpcode) + 32); - break; - } - break; - case 0x01: // regimm - switch (MIPS_RT(nOpcode)) { - case 0x00: // bltz - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < 0) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } - break; - case 0x01: // bgez - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= 0) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } - break; - case 0x02: // bltzl - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < 0) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } else { - pCPU->nMode |= 4; - pCPU->nPC += 4; - } - break; - case 0x03: // bgezl - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= 0) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } else { - pCPU->nMode |= 4; - pCPU->nPC += 4; - } - break; - case 0x08: // tgei - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= MIPS_IMM_S16(nOpcode)) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x09: // tgeiu - if (pCPU->aGPR[MIPS_RS(nOpcode)].u32 >= MIPS_IMM_S16(nOpcode)) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x0A: // tlti - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < MIPS_IMM_S16(nOpcode)) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x0B: // tltiu - if (pCPU->aGPR[MIPS_RS(nOpcode)].u32 < MIPS_IMM_S16(nOpcode)) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x0C: // teqi - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 == MIPS_IMM_S16(nOpcode)) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x0E: // tnei - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 != MIPS_IMM_S16(nOpcode)) { - cpuException(pCPU, CEC_TRAP, 0); - } - break; - case 0x10: // bltzal - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < 0) { - pCPU->aGPR[31].s32 = pCPU->nPC + 4; - pCPU->nWaitPC = pCPU->nCallLast = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } - break; - case 0x11: // bgezal - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= 0) { - pCPU->aGPR[31].s32 = pCPU->nPC + 4; - pCPU->nWaitPC = pCPU->nCallLast = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } - break; - case 0x12: // bltzall - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < 0) { - pCPU->aGPR[31].s32 = pCPU->nPC + 4; - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } else { - pCPU->nMode |= 4; - pCPU->nPC = pCPU->nPC + 4; - } - break; - case 0x13: // bgezall - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 >= 0) { - pCPU->aGPR[31].s32 = pCPU->nPC + 4; - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } else { - pCPU->nMode |= 4; - pCPU->nPC = pCPU->nPC + 4; - } - break; - } - break; - case 0x02: // j - pCPU->nWaitPC = (pCPU->nPC & 0xF0000000) | (MIPS_TARGET(nOpcode) << 2); - if (pCPU->nWaitPC == pCPU->nPC - 4) { - if (!cpuCheckInterrupts(pCPU)) { - return 0; - } - } - break; - case 0x03: // jal - pCPU->aGPR[31].s32 = pCPU->nPC + 4; - pCPU->nWaitPC = pCPU->nCallLast = (pCPU->nPC & 0xF0000000) | (MIPS_TARGET(nOpcode) << 2); - cpuFindFunction(pCPU, pCPU->nWaitPC, &pFunction); - break; - case 0x04: // beq - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 == (s32)pCPU->aGPR[MIPS_RT(nOpcode)].s32) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } - if (pCPU->nWaitPC == pCPU->nPC - 4) { - if (!cpuCheckInterrupts(pCPU)) { - return 0; - } - break; - } - break; - case 0x05: // bne - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 != (s32)pCPU->aGPR[MIPS_RT(nOpcode)].s32) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } - break; - case 0x06: // blez - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 <= 0) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } - break; - case 0x07: // bgtz - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 > 0) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } - break; - case 0x08: // addi - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - break; - case 0x09: // addiu - pCPU->aGPR[MIPS_RT(nOpcode)].u32 = pCPU->aGPR[MIPS_RS(nOpcode)].u32 + MIPS_IMM_S16(nOpcode); - break; - case 0x0A: // slti - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = (pCPU->aGPR[MIPS_RS(nOpcode)].s32 < MIPS_IMM_S16(nOpcode)) ? 1 : 0; - break; - case 0x0B: // sltiu - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = (pCPU->aGPR[MIPS_RS(nOpcode)].u32 < MIPS_IMM_S16(nOpcode)) ? 1 : 0; - break; - case 0x0C: // andi - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aGPR[MIPS_RS(nOpcode)].s32 & MIPS_IMM_U16(nOpcode); - break; - case 0x0D: // ori - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aGPR[MIPS_RS(nOpcode)].s32 | MIPS_IMM_U16(nOpcode); - break; - case 0x0E: // xori - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aGPR[MIPS_RS(nOpcode)].s32 ^ MIPS_IMM_U16(nOpcode); - break; - case 0x0F: // lui - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = MIPS_IMM_S16(nOpcode) << 16; - break; - case 0x10: // cop0 - switch (MIPS_FUNCT(nOpcode)) { - case 0x01: // tlbr - iEntry = pCPU->anCP0[0] & 0x3F; - pCPU->anCP0[2] = pCPU->aTLB[iEntry][0]; - pCPU->anCP0[3] = pCPU->aTLB[iEntry][1]; - pCPU->anCP0[10] = pCPU->aTLB[iEntry][2]; - pCPU->anCP0[5] = pCPU->aTLB[iEntry][3]; - break; - case 0x02: // tlbwi - iEntry = pCPU->anCP0[0] & 0x3F; - cpuSetTLB(pCPU, iEntry); - break; - case 0x05: // tlbwr - iEntry = cpuTLBRandom(pCPU); - pCPU->anCP0[1] = iEntry; - cpuSetTLB(pCPU, iEntry); - break; - case 0x08: // tlbp - pCPU->anCP0[0] |= 0x80000000; - for (iEntry = 0; iEntry < 48; iEntry++) { - if ((pCPU->aTLB[iEntry][0] & 2) && pCPU->aTLB[iEntry][2] == pCPU->anCP0[10]) { - pCPU->anCP0[0] = iEntry; - break; - } - } - break; - case 0x18: // eret - if (pCPU->anCP0[12] & 4) { - pCPU->nPC = pCPU->anCP0[30]; - pCPU->anCP0[12] &= ~4; - } else { - pCPU->nPC = pCPU->anCP0[14]; - pCPU->anCP0[12] &= ~2; - } - pCPU->nMode |= 4; - pCPU->nMode |= 0x20; - break; - default: - switch (MIPS_RS(nOpcode)) { - case 0x00: // mfc0 - if (cpuGetRegisterCP0(pCPU, MIPS_RD(nOpcode), &nData64)) { - pCPU->aGPR[MIPS_RT(nOpcode)].s64 = nData64 & 0xFFFFFFFF; - } - break; - case 0x01: // dmfc0 - if (cpuGetRegisterCP0(pCPU, MIPS_RD(nOpcode), &nData64)) { - pCPU->aGPR[MIPS_RT(nOpcode)].s64 = nData64; - } - break; - case 0x02: - break; - case 0x04: // mtc0 - cpuSetRegisterCP0(pCPU, MIPS_RD(nOpcode), pCPU->aGPR[MIPS_RT(nOpcode)].u32); - break; - case 0x05: // dmtc0 - cpuSetRegisterCP0(pCPU, MIPS_RD(nOpcode), pCPU->aGPR[MIPS_RT(nOpcode)].u64); - break; - case 0x08: - break; - } - break; - } - break; - case 0x11: // cop1 - if ((nOpcode & 0x7FF) == 0 && MIPS_FMT(nOpcode) < 0x10) { - switch ((u8)MIPS_FMT(nOpcode)) { - case 0x00: // mfc1 - if (MIPS_FS(nOpcode) & 1) { - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode) - 1].u64 >> 32; - } else { - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; - } - break; - case 0x01: // dmfc1 - pCPU->aGPR[MIPS_RT(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; - break; - case 0x02: // cfc1 - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = pCPU->anFCR[MIPS_FS(nOpcode)]; - break; - case 0x04: // mtc1 - if (MIPS_FS(nOpcode) & 1) { - pCPU->aFPR[MIPS_FS(nOpcode) - 1].s64 &= 0xFFFFFFFF; - pCPU->aFPR[MIPS_FS(nOpcode) - 1].s64 |= (u64)pCPU->aGPR[MIPS_RT(nOpcode)].u32 << 32; - } else { - pCPU->aFPR[MIPS_FS(nOpcode)].s32 = pCPU->aGPR[MIPS_RT(nOpcode)].s32; - } - break; - case 0x05: // dmtc1 - pCPU->aFPR[MIPS_FS(nOpcode)].s64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64; - break; - case 0x06: // ctc1 - pCPU->anFCR[MIPS_FS(nOpcode)] = pCPU->aGPR[MIPS_RT(nOpcode)].s32; - break; - } - } else if (MIPS_FMT(nOpcode) == 0x08) { - switch (MIPS_FT(nOpcode)) { - case 0x00: // bc1f - if (!(pCPU->anFCR[31] & 0x800000)) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } - break; - case 0x01: // bc1t - if (pCPU->anFCR[31] & 0x800000) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } - break; - case 0x02: // bc1fl - if (!(pCPU->anFCR[31] & 0x800000)) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } else { - pCPU->nMode |= 4; - pCPU->nPC += 4; - } - break; - case 0x03: // bc1tl - if (pCPU->anFCR[31] & 0x800000) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } else { - pCPU->nMode |= 4; - pCPU->nPC += 4; - } - break; - } - } else { - switch ((u8)MIPS_FMT(nOpcode)) { - case 0x10: // s - switch (MIPS_FUNCT(nOpcode)) { - case 0x00: // add.s - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = - pCPU->aFPR[MIPS_FS(nOpcode)].f32 + pCPU->aFPR[MIPS_FT(nOpcode)].f32; - break; - case 0x01: // sub.s - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = - pCPU->aFPR[MIPS_FS(nOpcode)].f32 - pCPU->aFPR[MIPS_FT(nOpcode)].f32; - break; - case 0x02: // mul.s - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = - pCPU->aFPR[MIPS_FS(nOpcode)].f32 * pCPU->aFPR[MIPS_FT(nOpcode)].f32; - break; - case 0x03: // div.s - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = - pCPU->aFPR[MIPS_FS(nOpcode)].f32 / pCPU->aFPR[MIPS_FT(nOpcode)].f32; - break; - case 0x04: // sqrt.s - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = sqrt(pCPU->aFPR[MIPS_FS(nOpcode)].f32); - break; - case 0x05: // abs.s - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = fabs(pCPU->aFPR[MIPS_FS(nOpcode)].f32); - break; - case 0x06: // mov.s - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; - break; - case 0x07: // neg.s - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = -pCPU->aFPR[MIPS_FS(nOpcode)].f32; - break; - case 0x08: // round.l.s - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f32 + 0.5f; - break; - case 0x09: // trunc.l.s - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; - break; - case 0x0A: // ceil.l.s - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].f32); - break; - case 0x0B: // floor.l.s - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].f32); - break; - case 0x0C: // round.w.s - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f32 + 0.5f; - break; - case 0x0D: // trunc.w.s - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; - break; - case 0x0E: // ceil.w.s - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].f32); - break; - case 0x0F: // floor.w.s - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].f32); - break; - case 0x20: // cvt.s.s - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; - break; - case 0x21: // cvt.d.s - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; - break; - case 0x24: // cvt.w.s - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; - break; - case 0x25: // cvt.l.s - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f32; - break; - case 0x30: // c.f.s - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x31: // c.un.s - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x32: // c.eq.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 == pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x33: // c.ueq.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 == pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x34: // c.olt.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 < pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x35: // c.ult.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 < pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x36: // c.ole.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 <= pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x37: // c.ule.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 <= pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x38: // c.sf.s - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x39: // c.ngle.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 <= pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3A: // c.seq.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 == pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3B: // c.ngl.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 == pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3C: // c.lt.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 < pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3D: // c.nge.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 < pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3E: // c.le.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 <= pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3F: // c.ngt.s - if (pCPU->aFPR[MIPS_FS(nOpcode)].f32 <= pCPU->aFPR[MIPS_FT(nOpcode)].f32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - } - break; - case 0x11: // d - switch (MIPS_FUNCT(nOpcode)) { - case 0x00: // add.d - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = - pCPU->aFPR[MIPS_FS(nOpcode)].f64 + pCPU->aFPR[MIPS_FT(nOpcode)].f64; - break; - case 0x01: // sub.d - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = - pCPU->aFPR[MIPS_FS(nOpcode)].f64 - pCPU->aFPR[MIPS_FT(nOpcode)].f64; - break; - case 0x02: // mul.d - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = - pCPU->aFPR[MIPS_FS(nOpcode)].f64 * pCPU->aFPR[MIPS_FT(nOpcode)].f64; - break; - case 0x03: // div.d - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = - pCPU->aFPR[MIPS_FS(nOpcode)].f64 / pCPU->aFPR[MIPS_FT(nOpcode)].f64; - break; - case 0x04: // sqrt.d - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = sqrt(pCPU->aFPR[MIPS_FS(nOpcode)].f64); - break; - case 0x05: // abs.d - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = fabs(pCPU->aFPR[MIPS_FS(nOpcode)].f64); - break; - case 0x06: // mov.d - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; - break; - case 0x07: // neg.d - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = -pCPU->aFPR[MIPS_FS(nOpcode)].f64; - break; - case 0x08: // round.l.d - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f64 + 0.5f; - break; - case 0x09: // trunc.l.d - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; - break; - case 0x0A: // ceil.l.d - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].f64); - break; - case 0x0B: // floor.l.d - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].f64); - break; - case 0x0C: // round.w.d - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f64 + 0.5f; - break; - case 0x0D: // trunc.w.d - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; - break; - case 0x0E: // ceil.w.d - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].f64); - break; - case 0x0F: // floor.w.d - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].f64); - break; - case 0x20: // cvt.s.d - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; - break; - case 0x21: // cvt.d.d - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; - break; - case 0x24: // cvt.w.d - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; - break; - case 0x25: // cvt.l.d - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].f64; - break; - case 0x30: // c.f.d - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x31: // c.un.d - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x32: // c.eq.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 == pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x33: // c.ueq.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 == pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x34: // c.olt.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 < pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x35: // c.ult.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 < pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x36: // c.ole.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 <= pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x37: // c.ule.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 <= pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x38: // c.sf.d - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x39: // c.ngle.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 <= pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3A: // c.seq.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 == pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3B: // c.ngl.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 == pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3C: // c.lt.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 < pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3D: // c.nge.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 < pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3E: // c.le.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 <= pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3F: // c.ngt.d - if (pCPU->aFPR[MIPS_FS(nOpcode)].f64 <= pCPU->aFPR[MIPS_FT(nOpcode)].f64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - } - break; - case 0x14: // w - switch (MIPS_FUNCT(nOpcode)) { - case 0x00: // add.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = - pCPU->aFPR[MIPS_FS(nOpcode)].s32 + pCPU->aFPR[MIPS_FT(nOpcode)].s32; - break; - case 0x01: // sub.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = - pCPU->aFPR[MIPS_FS(nOpcode)].s32 - pCPU->aFPR[MIPS_FT(nOpcode)].s32; - break; - case 0x02: // mul.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = - pCPU->aFPR[MIPS_FS(nOpcode)].s32 * pCPU->aFPR[MIPS_FT(nOpcode)].s32; - break; - case 0x03: // div.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = - pCPU->aFPR[MIPS_FS(nOpcode)].s32 / pCPU->aFPR[MIPS_FT(nOpcode)].s32; - break; - case 0x04: // sqrt.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = sqrt(pCPU->aFPR[MIPS_FS(nOpcode)].s32); - break; - case 0x05: // abs.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = fabs(pCPU->aFPR[MIPS_FS(nOpcode)].s32); - break; - case 0x06: // mov.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; - break; - case 0x07: // neg.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = -pCPU->aFPR[MIPS_FS(nOpcode)].s32; - break; - case 0x08: // round.l.w - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; - break; - case 0x09: // trunc.l.w - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; - break; - case 0x0A: // ceil.l.w - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].s32); - break; - case 0x0B: // floor.l.w - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].s32); - break; - case 0x0C: // round.w.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; - break; - case 0x0D: // trunc.w.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; - break; - case 0x0E: // ceil.w.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].s32); - break; - case 0x0F: // floor.w.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].s32); - break; - case 0x20: // cvt.s.w - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; - break; - case 0x21: // cvt.d.w - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; - break; - case 0x24: // cvt.w.w - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; - break; - case 0x25: // cvt.l.w - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s32; - break; - case 0x30: // c.f.w - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x31: // c.un.w - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x32: // c.eq.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 == pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x33: // c.ueq.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 == pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x34: // c.olt.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 < pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x35: // c.ult.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 < pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x36: // c.ole.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 <= pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x37: // c.ule.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 <= pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x38: // c.sf.w - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x39: // c.ngle.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 <= pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3A: // c.seq.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 == pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3B: // c.ngl.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 == pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3C: // c.lt.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 < pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3D: // c.nge.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 < pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3E: // c.le.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 <= pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3F: // c.ngt.w - if (pCPU->aFPR[MIPS_FS(nOpcode)].s32 <= pCPU->aFPR[MIPS_FT(nOpcode)].s32) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - } - break; - case 0x15: // l - switch (MIPS_FUNCT(nOpcode)) { - case 0x00: // add.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = - pCPU->aFPR[MIPS_FS(nOpcode)].s64 + pCPU->aFPR[MIPS_FT(nOpcode)].s64; - break; - case 0x01: // sub.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = - pCPU->aFPR[MIPS_FS(nOpcode)].s64 - pCPU->aFPR[MIPS_FT(nOpcode)].s64; - break; - case 0x02: // mul.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = - pCPU->aFPR[MIPS_FS(nOpcode)].s64 * pCPU->aFPR[MIPS_FT(nOpcode)].s64; - break; - case 0x03: // div.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = - pCPU->aFPR[MIPS_FS(nOpcode)].s64 / pCPU->aFPR[MIPS_FT(nOpcode)].s64; - break; - case 0x04: // sqrt.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = sqrt(pCPU->aFPR[MIPS_FS(nOpcode)].s64); - break; - case 0x05: // abs.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = fabs(pCPU->aFPR[MIPS_FS(nOpcode)].s64); - break; - case 0x06: // mov.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; - break; - case 0x07: // neg.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = -pCPU->aFPR[MIPS_FS(nOpcode)].s64; - break; - case 0x08: // round.l.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; - break; - case 0x09: // trunc.l.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; - break; - case 0x0A: // ceil.l.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].s64); - break; - case 0x0B: // floor.l.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].s64); - break; - case 0x0C: // round.w.l - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; - break; - case 0x0D: // trunc.w.l - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; - break; - case 0x0E: // ceil.w.l - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = ceil(pCPU->aFPR[MIPS_FS(nOpcode)].s64); - break; - case 0x0F: // floor.w.l - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = floor(pCPU->aFPR[MIPS_FS(nOpcode)].s64); - break; - case 0x20: // cvt.s.l - pCPU->aFPR[MIPS_FD(nOpcode)].f32 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; - break; - case 0x21: // cvt.d.l - pCPU->aFPR[MIPS_FD(nOpcode)].f64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; - break; - case 0x24: // cvt.w.l - pCPU->aFPR[MIPS_FD(nOpcode)].s32 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; - break; - case 0x25: // cvt.l.l - pCPU->aFPR[MIPS_FD(nOpcode)].s64 = pCPU->aFPR[MIPS_FS(nOpcode)].s64; - break; - case 0x30: // c.f.l - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x31: // c.un.l - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x32: // c.eq.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 == pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x33: // c.ueq.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 == pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x34: // c.olt.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 < pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x35: // c.ult.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 < pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x36: // c.ole.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 <= pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x37: // c.ule.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 <= pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x38: // c.sf.l - pCPU->anFCR[31] &= ~0x800000; - break; - case 0x39: // c.ngle.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 <= pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3A: // c.seq.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 == pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3B: // c.ngl.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 == pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3C: // c.lt.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 < pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3D: // c.nge.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 < pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3E: // c.le.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 <= pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - case 0x3F: // c.ngt.l - if (pCPU->aFPR[MIPS_FS(nOpcode)].s64 <= pCPU->aFPR[MIPS_FT(nOpcode)].s64) { - pCPU->anFCR[31] |= 0x800000; - } else { - pCPU->anFCR[31] &= ~0x800000; - } - break; - } - break; - } - } - break; - case 0x14: // beq - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 == (s32)pCPU->aGPR[MIPS_RT(nOpcode)].s32) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } else { - pCPU->nMode |= 4; - pCPU->nPC += 4; - } - break; - case 0x15: // bne - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 != (s32)pCPU->aGPR[MIPS_RT(nOpcode)].s32) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } else { - pCPU->nMode |= 4; - pCPU->nPC += 4; - } - break; - case 0x16: // blez - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 <= 0) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } else { - pCPU->nMode |= 4; - pCPU->nPC += 4; - } - break; - case 0x17: // bgtz - if (pCPU->aGPR[MIPS_RS(nOpcode)].s32 > 0) { - pCPU->nWaitPC = pCPU->nPC + MIPS_IMM_S16(nOpcode) * 4; - } else { - pCPU->nMode |= 4; - pCPU->nPC += 4; - } - break; - case 0x18: // daddi - pCPU->aGPR[MIPS_RT(nOpcode)].s64 = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); - break; - case 0x19: // daddiu - pCPU->aGPR[MIPS_RT(nOpcode)].u64 = pCPU->aGPR[MIPS_RS(nOpcode)].u64 + MIPS_IMM_S16(nOpcode); - break; - case 0x1F: // library call - if (!libraryCall(SYSTEM_LIBRARY(pCPU->pHost), pCPU, MIPS_IMM_S16(nOpcode))) { - return false; - } - break; - case 0x1A: // ldl - nCount = 0x38; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); - do { - if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { - nData64 = ((s64)nData8 & 0xFF) << nCount; - pCPU->aGPR[MIPS_RT(nOpcode)].s64 = - nData64 | (pCPU->aGPR[MIPS_RT(nOpcode)].s64 & ~((s64)0xFF << nCount)); - } - nCount -= 8; - } while ((nAddress++ & 7) != 0); - break; - case 0x1B: // ldr - nCount = 0; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); - do { - if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { - nData64 = ((s64)nData8 & 0xFF) << nCount; - pCPU->aGPR[MIPS_RT(nOpcode)].s64 = - nData64 | (pCPU->aGPR[MIPS_RT(nOpcode)].s64 & ~((s64)0xFF << nCount)); - } - nCount += 8; - } while ((nAddress-- & 7) != 0); - break; - case 0x27: // lwu - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); - if (CPU_DEVICE_GET32(apDevice, aiDevice, nAddress, &nData32)) { - pCPU->aGPR[MIPS_RT(nOpcode)].u64 = (u32)nData32; - } - break; - case 0x20: // lb - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData8; - } - break; - case 0x21: // lh - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - if (CPU_DEVICE_GET16(apDevice, aiDevice, nAddress, &nData16)) { - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData16; - } - break; - case 0x22: // lwl - nCount = 0x18; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - do { - if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { - nData32 = ((u32)nData8 & 0xFF) << nCount; - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData32 | (pCPU->aGPR[MIPS_RT(nOpcode)].s32 & ~(0xFF << nCount)); - } - nCount -= 8; - } while ((nAddress++ & 3) != 0); - break; - case 0x23: // lw - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - if (CPU_DEVICE_GET32(apDevice, aiDevice, nAddress, &nData32)) { - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData32; - } - break; - case 0x24: // lbu - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { - pCPU->aGPR[MIPS_RT(nOpcode)].u32 = (u8)nData8; - } - break; - case 0x25: // lhu - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - if (frameGetDepth(SYSTEM_FRAME(pCPU->pHost), (u16*)&nData16, nAddress)) { - pCPU->aGPR[MIPS_RT(nOpcode)].u32 = (u16)nData16; - } else { - if (CPU_DEVICE_GET16(apDevice, aiDevice, nAddress, &nData16)) { - pCPU->aGPR[MIPS_RT(nOpcode)].u32 = (u16)nData16; - } - } - break; - case 0x26: // lwr - nCount = 0; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - do { - if (CPU_DEVICE_GET8(apDevice, aiDevice, nAddress, &nData8)) { - nData32 = ((u32)nData8 & 0xFF) << nCount; - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData32 | (pCPU->aGPR[MIPS_RT(nOpcode)].s32 & ~(0xFF << nCount)); - } - nCount += 8; - } while ((nAddress-- & 3) != 0); - break; - case 0x28: // sb - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - CPU_DEVICE_PUT8(apDevice, aiDevice, nAddress, &pCPU->aGPR[MIPS_RT(nOpcode)].s8); - break; - case 0x29: // sh - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - CPU_DEVICE_PUT16(apDevice, aiDevice, nAddress, &pCPU->aGPR[MIPS_RT(nOpcode)].s16); - break; - case 0x2A: // swl - nCount = 0x18; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - do { - nData8 = (pCPU->aGPR[MIPS_RT(nOpcode)].u32 >> nCount) & 0xFF; - CPU_DEVICE_PUT8(apDevice, aiDevice, nAddress, &nData8); - nCount -= 8; - } while ((nAddress++ & 3) != 0); - break; - case 0x2B: // sw - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - CPU_DEVICE_PUT32(apDevice, aiDevice, nAddress, &pCPU->aGPR[MIPS_RT(nOpcode)].s32); - break; - case 0x2C: // sdl - nCount = 0x38; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); - do { - nData8 = (pCPU->aGPR[MIPS_RT(nOpcode)].u64 >> nCount) & 0xFF; - CPU_DEVICE_PUT8(apDevice, aiDevice, nAddress, &nData8); - nCount -= 8; - } while ((nAddress++ & 7) != 0); - break; - case 0x2D: // sdr - nCount = 0; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - do { - nData8 = (pCPU->aGPR[MIPS_RT(nOpcode)].u64 >> nCount) & 0xFF; - CPU_DEVICE_PUT8(apDevice, aiDevice, nAddress, &nData8); - nCount += 8; - } while ((nAddress-- & 7) != 0); - break; - case 0x2E: // swr - nCount = 0; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - do { - nData8 = (pCPU->aGPR[MIPS_RT(nOpcode)].u32 >> nCount) & 0xFF; - CPU_DEVICE_PUT8(apDevice, aiDevice, nAddress, &nData8); - nCount += 8; - } while ((nAddress-- & 3) != 0); - break; - case 0x2F: // cache - if (!cpuExecuteCacheInstruction(pCPU)) { - return false; - } - break; - case 0x30: // ll - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - if (CPU_DEVICE_GET32(apDevice, aiDevice, nAddress, &nData32)) { - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = nData32; - } - break; - case 0x31: // lwc1 - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - if (CPU_DEVICE_GET32(apDevice, aiDevice, nAddress, &nData32)) { - if (MIPS_RT(nOpcode) & 1) { - pCPU->aFPR[MIPS_RT(nOpcode) - 1].u64 &= 0xFFFFFFFF; - pCPU->aFPR[MIPS_RT(nOpcode) - 1].u64 |= (s64)nData32 << 32; - } else { - pCPU->aFPR[MIPS_RT(nOpcode)].s32 = nData32; - } - } - break; - case 0x34: // lld - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); - if (CPU_DEVICE_GET64(apDevice, aiDevice, nAddress, &nData64)) { - pCPU->aGPR[MIPS_RT(nOpcode)].s64 = nData64; - } - break; - case 0x35: // ldc1 - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - if (CPU_DEVICE_GET64(apDevice, aiDevice, nAddress, &nData64)) { - pCPU->aFPR[MIPS_RT(nOpcode)].s64 = nData64; - } - break; - case 0x37: // ld - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - if (CPU_DEVICE_GET64(apDevice, aiDevice, nAddress, &nData64)) { - pCPU->aGPR[MIPS_RT(nOpcode)].s64 = nData64; - } - break; - case 0x38: // sc - nData32 = pCPU->aGPR[MIPS_RT(nOpcode)].s32; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - pCPU->aGPR[MIPS_RT(nOpcode)].s32 = (CPU_DEVICE_PUT32(apDevice, aiDevice, nAddress, &nData32)) ? 1 : 0; - break; - case 0x39: // swc1 - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - if (MIPS_RT(nOpcode) & 1) { - nData32 = pCPU->aFPR[MIPS_RT(nOpcode) - 1].u64 >> 32; - } else { - nData32 = pCPU->aFPR[MIPS_RT(nOpcode)].s32; - } - CPU_DEVICE_PUT32(apDevice, aiDevice, nAddress, &nData32); - break; - case 0x3C: // scd - nData64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s64 + MIPS_IMM_S16(nOpcode); - pCPU->aGPR[MIPS_RT(nOpcode)].s64 = (CPU_DEVICE_PUT64(apDevice, aiDevice, nAddress, &nData64)) ? 1 : 0; - break; - case 0x3D: // sdc1 - nData64 = pCPU->aFPR[MIPS_RT(nOpcode)].s64; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - CPU_DEVICE_PUT64(apDevice, aiDevice, nAddress, &nData64); - break; - case 0x3F: // sd - nData64 = pCPU->aGPR[MIPS_RT(nOpcode)].s64; - nAddress = pCPU->aGPR[MIPS_RS(nOpcode)].s32 + MIPS_IMM_S16(nOpcode); - CPU_DEVICE_PUT64(apDevice, aiDevice, nAddress, &nData64); - break; - } - - if (!cpuExecuteUpdate(pCPU, &nAddressGCN, nTick + 1)) { - return 0; - } - if (restore) { - pCPU->aGPR[31].u64 = save; - } - pCPU->nWaitPC = -1; - pCPU->nTickLast = OSGetTick(); - - PAD_STACK(); - PAD_STACK(); - return nAddressGCN; -} -#endif - -static s32 cpuExecuteIdle(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN) { - Rom* pROM; - - pROM = SYSTEM_ROM(pCPU->pHost); - -#if VERSION != MQ_J - if (!simulatorTestReset(false, false, false, true)) { - return 0; - } -#endif - - nCount = OSGetTick(); - if (pCPU->nWaitPC != 0) { - pCPU->nMode |= 8; - } else { - pCPU->nMode &= ~8; - } - - pCPU->nMode |= 0x80; - pCPU->nPC = nAddressN64; - if (!(pCPU->nMode & 0x40) && pROM->copy.nSize == 0) { - videoForceRetrace(SYSTEM_VIDEO(pCPU->pHost), false); - } - - if (!cpuExecuteUpdate(pCPU, &nAddressGCN, nCount)) { - return 0; - } - - pCPU->nTickLast = OSGetTick(); - return nAddressGCN; -} - -static s32 cpuExecuteJump(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN) { - nCount = OSGetTick(); - - if (pCPU->nWaitPC != 0) { - pCPU->nMode |= 8; - } else { - pCPU->nMode &= ~8; - } - - pCPU->nMode |= 4; - pCPU->nPC = nAddressN64; - - if (gpSystem->eTypeROM == SRT_ZELDA1 && pCPU->nPC == 0x81000000) { - simulatorPlayMovie(); - } - - if (!cpuExecuteUpdate(pCPU, &nAddressGCN, nCount)) { - return 0; - } - - pCPU->nTickLast = OSGetTick(); - return nAddressGCN; -} - -/** - * @brief Executes a call from the dynamic recompiler environment - * - * @param pCPU The emulated VR4300. - * @param nCount Latest tick count - * @param nAddressN64 The N64 address of the call. - * @param nAddressGCN The GameCube address after the call has completed. - * @return s32 The address of the recompiled called function. - */ -static s32 cpuExecuteCall(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN) { - s32 pad; - s32 nReg; - s32 count; - s32* anCode; - s32 saveGCN; - CpuFunction* node; - CpuCallerID* block; - s32 nDeltaAddress; - - nCount = OSGetTick(); - if (pCPU->nWaitPC != 0) { - pCPU->nMode |= 8; - } else { - pCPU->nMode &= ~8; - } - - pCPU->nMode |= 4; - pCPU->nPC = nAddressN64; - - pCPU->aGPR[31].s32 = nAddressGCN; - saveGCN = nAddressGCN - 4; - - pCPU->survivalTimer++; - - cpuFindFunction(pCPU, pCPU->nReturnAddrLast - 8, &node); - - block = node->block; - for (count = 0; count < node->callerID_total; count++) { - if (block[count].N64address == nAddressN64 && block[count].GCNaddress == 0) { - block[count].GCNaddress = saveGCN; - break; - } - } - - saveGCN = (ganMapGPR[31] & 0x100) ? true : false; - anCode = (s32*)nAddressGCN - (saveGCN ? 4 : 3); - if (saveGCN) { - anCode[0] = 0x3CA00000 | ((u32)nAddressGCN >> 16); // lis r5,nAddressGCN@h - anCode[1] = 0x60A50000 | ((u32)nAddressGCN & 0xFFFF); // ori r5,r5,nAddressGCN@l - DCStoreRange(anCode, 8); - ICInvalidateRange(anCode, 8); - } else { - nReg = ganMapGPR[31]; - anCode[0] = 0x3C000000 | ((u32)nAddressGCN >> 16) | (nReg << 21); // lis ri,nAddressGCN@h - anCode[1] = 0x60000000 | ((u32)nAddressGCN & 0xFFFF) | (nReg << 21) | (nReg << 16); // ori ri,ri,nAddressGCN@l - DCStoreRange(anCode, 8); - ICInvalidateRange(anCode, 8); - } - - //! @bug: If cpuExecuteUpdate decides to delete the function we're trying to - //! call here, our lis/ori will be reverted by treeCallerCheck since we've - //! already marked this call site in the callerID for-loop above. The - //! reverted lis/ori will store the return N64 address instead of a GCN - //! address, so the next time this recompiled call is executed, the CPU will - //! jump to that N64 return address in GCN address space and bad things - //! happen (usually an invalid instruction or invalid load/store). This is - //! known as a "VC crash". - //! - //! For more details, see https://pastebin.com/V6ANmXt8 - if (!cpuExecuteUpdate(pCPU, &nAddressGCN, nCount)) { - return 0; - } - - nDeltaAddress = (u8*)nAddressGCN - (u8*)&anCode[3]; - if (saveGCN) { - anCode[3] = 0x48000000 | (nDeltaAddress & 0x03FFFFFC); // b nDeltaAddress - DCStoreRange(anCode, 16); - ICInvalidateRange(anCode, 16); - } else { - anCode[2] = 0x48000000 | (nDeltaAddress & 0x03FFFFFC); // b nDeltaAddress - DCStoreRange(anCode, 12); - ICInvalidateRange(anCode, 12); - } - - pCPU->nTickLast = OSGetTick(); - - return nAddressGCN; -} - -// Matches but data doesn't -#ifndef NON_MATCHING -static s32 cpuExecuteLoadStore(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN); -#pragma GLOBAL_ASM("asm/non_matchings/cpu/cpuExecuteLoadStore.s") -#else -/** - * @brief Recompiles a VR4300 load/store instruction - * - * @param pCPU The emulated VR4300. - * @param nCount Unused. - * @param nAddressN64 The address of the Load/Store instruction. - * @param nAddressGCN A pointer to the location where recompiled code should be stored. - * @return s32 The address of the recompiled called function. - */ -static s32 cpuExecuteLoadStore(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN) { - u32* opcode; - s32 address; - s32 iRegisterA; - s32 iRegisterB; - u8 device; - s32 total; - s32 count; - s32 save; - s32 interpret; - s32* before; - s32* after; - s32 check2; - s32* anCode; - s32 pad; - - count = 0; - save = 0; - interpret = 0; - check2 = 0x90C30000 + OFFSETOF(pCPU, nWaitPC); - - ramGetBuffer(SYSTEM_RAM(pCPU->pHost), &opcode, nAddressN64, NULL); - - address = pCPU->aGPR[MIPS_RS(*opcode)].s32 + MIPS_IMM_S16(*opcode); - device = pCPU->aiDevice[(u32)(address) >> 16]; - - if (pCPU->nCompileFlag & 0x100) { - anCode = (s32*)nAddressGCN - 3; - before = anCode - 2; - after = (s32*)nAddressGCN + 3; - } else { - anCode = (s32*)nAddressGCN - 3; - before = anCode - 2; - after = (s32*)nAddressGCN + 2; - } - - if (((u32)address >> 28) < 0x08) { - interpret = 1; - } - - if (!interpret && device >= 0x80) { - switch (MIPS_OP(*opcode)) { - case 0x20: // lb - if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if (pCPU->nCompileFlag & 0x100) { - if (pCPU->nCompileFlag & 0x1000) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } else if (((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - } - - anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); - anCode[count++] = 0x88070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); - anCode[count++] = 0x7C000774 | (iRegisterA << 21) | (iRegisterA << 16); - if (ganMapGPR[MIPS_RT(*opcode)] & 0x100) { - anCode[count++] = 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); - } - break; - case 0x24: // lbu - if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if (pCPU->nCompileFlag & 0x100) { - if (pCPU->nCompileFlag & 0x1000) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } else if (((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - } - - anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); - anCode[count++] = 0x88070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); - if (ganMapGPR[MIPS_RT(*opcode)] & 0x100) { - anCode[count++] = 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); - } - break; - case 0x21: // lh - if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if (pCPU->nCompileFlag & 0x100) { - if (pCPU->nCompileFlag & 0x1000) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } else if (((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - } - - anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); - anCode[count++] = 0xA0070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); - anCode[count++] = 0x7C000734 | (iRegisterA << 21) | (iRegisterA << 16); - if (ganMapGPR[MIPS_RT(*opcode)] & 0x100) { - anCode[count++] = 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); - } - break; - case 0x25: // lhu - if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if (pCPU->nCompileFlag & 0x100) { - if (pCPU->nCompileFlag & 0x1000) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } else if (((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - } - - anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); - anCode[count++] = 0xA0070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); - if (ganMapGPR[MIPS_RT(*opcode)] & 0x100) { - anCode[count++] = 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); - } - break; - case 0x23: // lw - if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if (pCPU->nCompileFlag & 0x100) { - if (pCPU->nCompileFlag & 0x1000) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } else if (((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - } - - anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); - anCode[count++] = 0x80070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); - if (ganMapGPR[MIPS_RT(*opcode)] & 0x100) { - anCode[count++] = 0x90A30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); - } - break; - case 0x28: // sb - if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { - iRegisterA = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); - } - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 7; - anCode[count++] = 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if (pCPU->nCompileFlag & 0x100) { - if (pCPU->nCompileFlag & 0x1000) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } else if (((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - } - anCode[count++] = 0x7CE04214 | (iRegisterB << 16); - anCode[count++] = 0x98070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); - break; - case 0x29: // sh - if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { - iRegisterA = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); - } - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 7; - anCode[count++] = 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if (pCPU->nCompileFlag & 0x100) { - if (pCPU->nCompileFlag & 0x1000) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } else if (((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - } - anCode[count++] = 0x7CE04214 | (iRegisterB << 16); - anCode[count++] = 0xB0070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); - break; - case 0x2B: // sw - if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { - iRegisterA = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4) & 0xFFFF); - } - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 7; - anCode[count++] = 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if (pCPU->nCompileFlag & 0x100) { - if (pCPU->nCompileFlag & 0x1000) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } else if (((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - } - anCode[count++] = 0x7CE04214 | (iRegisterB << 16); - anCode[count++] = 0x90070000 | (iRegisterA << 21) | MIPS_IMM_U16(*opcode); - break; - default: - OSPanic(D_800EC1E0, 4725, D_8013525C); - break; - } - } else { - interpret = 1; - anCode[count++] = 0x3CA00000 | ((u32)nAddressN64 >> 16); - anCode[count++] = 0x60A50000 | ((u32)nAddressN64 & 0xFFFF); - anCode[count++] = 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[count]) & 0x03FFFFFC) | 1; - } - - if (pCPU->nCompileFlag & 0x100) { - if (6 - count >= 2) { - save = count; - anCode[count++] = 0x48000000 | (((u32)&anCode[6] - (u32)&anCode[count]) & 0xFFFF); - } - while (count <= 5) { - anCode[count++] = 0x60000000; - } - total = 6; - } else { - if (5 - count >= 2) { - save = count; - anCode[count++] = 0x48000000 | (((u32)&anCode[5] - (u32)&anCode[count]) & 0xFFFF); - } - while (count <= 4) { - anCode[count++] = 0x60000000; - } - total = 5; - } - - if (!interpret && before[0] == 0x38C00000 && before[1] == check2) { - before[0] = 0x48000000 | (((u32)&before[2] - (u32)&before[0]) & 0xFFFF); - before[1] = 0x60000000; - DCStoreRange(before, 8); - ICInvalidateRange(before, 8); - - if (save != 0) { - anCode[save] = 0x48000000 | (((u32)&after[2] - (u32)&anCode[save]) & 0xFFFF); - } - after[0] = 0x60000000; - after[1] = 0x60000000; - - total += 2; - pCPU->nWaitPC = -1; - } - - DCStoreRange(anCode, total * 4); - ICInvalidateRange(anCode, total * 4); - return (s32)anCode; -} -#endif - -// Matches but data doesn't -#ifndef NON_MATCHING -static s32 cpuExecuteLoadStoreF(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN); -#pragma GLOBAL_ASM("asm/non_matchings/cpu/cpuExecuteLoadStoreF.s") -#else -/** - * @brief Recompiles a VR4300 load/store instruction on COP1 or doubleword load/store. - * - * @param pCPU The emulated VR4300. - * @param nCount Unused. - * @param nAddressN64 The address of the Load/Store instruction. - * @param nAddressGCN A pointer to the location where recompiled code should be stored. - * @return s32 The address of the recompiled called function. - */ -static s32 cpuExecuteLoadStoreF(Cpu* pCPU, s32 nCount, s32 nAddressN64, s32 nAddressGCN) { - u32* opcode; - s32 address; - s32 iRegisterA; - s32 iRegisterB; - u8 device; - s32 total; - s32 count; - s32 save; - s32 interpret; - s32* before; - s32* after; - s32 check2; - s32* anCode; - s32 rt; - s32 pad; - - count = 0; - save = 0; - interpret = 0; - check2 = 0x90C30000 + OFFSETOF(pCPU, nWaitPC); - - ramGetBuffer(SYSTEM_RAM(pCPU->pHost), &opcode, nAddressN64, NULL); - - address = pCPU->aGPR[MIPS_RS(*opcode)].s32 + MIPS_IMM_S16(*opcode); - device = pCPU->aiDevice[(u32)(address) >> 16]; - - if (pCPU->nCompileFlag & 0x100) { - anCode = (s32*)nAddressGCN - 3; - before = anCode - 2; - after = (s32*)nAddressGCN + 4; - } else { - anCode = (s32*)nAddressGCN - 3; - before = anCode - 2; - after = (s32*)nAddressGCN + 3; - } - - if (((u32)address >> 28) < 0x08) { - interpret = 1; - } - - if (!interpret && device >= 0x80) { - rt = MIPS_RT(*opcode); - switch (MIPS_OP(*opcode)) { - case 0x31: // lwc1 - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if ((pCPU->nCompileFlag & 0x100) && ((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - - anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); - - if (rt % 2 == 1) { - anCode[count++] = 0x80A70000 | MIPS_IMM_U16(*opcode); - anCode[count++] = 0x90A30000 + OFFSETOF(pCPU, aFPR[rt - 1]); - } else { - anCode[count++] = 0x80A70000 | MIPS_IMM_U16(*opcode); - anCode[count++] = 0x90A30000 + (OFFSETOF(pCPU, aFPR[rt]) + 4); - } - break; - case 0x39: // swc1 - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if ((pCPU->nCompileFlag & 0x100) && ((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - - anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); - if (rt % 2 == 1) { - anCode[count++] = 0x80A30000 + OFFSETOF(pCPU, aFPR[rt - 1]); - } else { - anCode[count++] = 0x80A30000 + (OFFSETOF(pCPU, aFPR[rt]) + 4); - } - anCode[count++] = 0x90A70000 | MIPS_IMM_U16(*opcode); - break; - case 0x35: // ldc1 - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if ((pCPU->nCompileFlag & 0x100) && ((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - - anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); - anCode[count++] = 0x80A70000 | MIPS_IMM_U16(*opcode); - anCode[count++] = 0x90A30000 + OFFSETOF(pCPU, aFPR[rt]); - anCode[count++] = 0x80A70000 | (MIPS_IMM_U16(*opcode) + 4); - anCode[count++] = 0x90A30000 + (OFFSETOF(pCPU, aFPR[rt]) + 4); - break; - case 0x3D: // sdc1 - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if ((pCPU->nCompileFlag & 0x100) && ((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - - anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); - anCode[count++] = 0x80A30000 + OFFSETOF(pCPU, aFPR[rt]); - anCode[count++] = 0x90A70000 | MIPS_IMM_U16(*opcode); - anCode[count++] = 0x80A30000 + (OFFSETOF(pCPU, aFPR[rt]) + 4); - anCode[count++] = 0x90A70000 | (MIPS_IMM_U16(*opcode) + 4); - break; - case 0x37: // ld - if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { - iRegisterA = 5; - } - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 6; - anCode[count++] = 0x80C30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if (pCPU->nCompileFlag & 0x100) { - if (pCPU->nCompileFlag & 0x1000) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } else if (((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - } - - anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); - anCode[count++] = 0x80A70000 | MIPS_IMM_U16(*opcode); - anCode[count++] = 0x90A30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]); - anCode[count++] = 0x80070000 | (iRegisterA << 21) | (MIPS_IMM_U16(*opcode) + 4); - anCode[count++] = (0x90030000 | (iRegisterA << 21)) + (OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4); - break; - case 0x3F: // sd - if ((iRegisterB = ganMapGPR[MIPS_RS(*opcode)]) & 0x100) { - iRegisterB = 7; - anCode[count++] = 0x80E30000 + ((OFFSETOF(pCPU, aGPR[MIPS_RS(*opcode)]) + 4) & 0xFFFF); - } - - if (pCPU->nCompileFlag & 0x100) { - if (pCPU->nCompileFlag & 0x1000) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } else if (((u32)address >> 28) >= 10) { - anCode[count++] = 0x7C000038 | (iRegisterB << 21) | (iRegisterB << 16) | (9 << 11); - } - } - - anCode[count++] = 0x7C000214 | (7 << 21) | (iRegisterB << 16) | (8 << 11); - anCode[count++] = 0x80C30000 + OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]); - anCode[count++] = 0x90C70000 | MIPS_IMM_U16(*opcode); - - if ((iRegisterA = ganMapGPR[MIPS_RT(*opcode)]) & 0x100) { - iRegisterA = 6; - anCode[count++] = 0x80C30000 + (OFFSETOF(pCPU, aGPR[MIPS_RT(*opcode)]) + 4); - } - anCode[count++] = 0x90070000 | (iRegisterA << 21) | (MIPS_IMM_U16(*opcode) + 4); - break; - default: - OSPanic(D_800EC1E0, 5181, D_8013525C); - break; - } - } else { - interpret = 1; - anCode[count++] = 0x3CA00000 | ((u32)nAddressN64 >> 16); - anCode[count++] = 0x60A50000 | ((u32)nAddressN64 & 0xFFFF); - anCode[count++] = 0x48000000 | (((u32)pCPU->pfStep - (u32)&anCode[count]) & 0x03FFFFFC) | 1; - } - - if (pCPU->nCompileFlag & 0x100) { - if (7 - count >= 2) { - save = count; - anCode[count++] = 0x48000000 | (((u32)&anCode[7] - (u32)&anCode[count]) & 0xFFFF); - } - while (count <= 6) { - anCode[count++] = 0x60000000; - } - total = 7; - } else { - if (6 - count >= 2) { - save = count; - anCode[count++] = 0x48000000 | (((u32)&anCode[6] - (u32)&anCode[count]) & 0xFFFF); - } - while (count <= 5) { - anCode[count++] = 0x60000000; - } - total = 6; - } - - if (!interpret && before[0] == 0x38C00000 && before[1] == check2) { - before[0] = 0x48000000 | (((u32)&before[2] - (u32)&before[0]) & 0xFFFF); - before[1] = 0x60000000; - DCStoreRange(before, 8); - ICInvalidateRange(before, 8); - - if (save != 0) { - anCode[save] = 0x48000000 | (((u32)&after[2] - (u32)&anCode[save]) & 0xFFFF); - } - after[0] = 0x60000000; - after[1] = 0x60000000; - - total += 2; - pCPU->nWaitPC = -1; - } - - DCStoreRange(anCode, total * 4); - ICInvalidateRange(anCode, total * 4); - return (s32)anCode; -} -#endif - -/** - * @brief Generates a call to a virtual-console function from within the dynarec envrionment - * Dedicated PPC registers are saved to the cpu object, and restored once the virtual-console function has finished. - * Jump to the return value of the virtual-console function - * - * @param pCPU The emulated VR4300. - * @param ppfLink A pointer to store the generated PPC code. - * @param pfFunction The virtual-console function to call. - * @return bool true on success, false otherwise. - */ -static bool cpuMakeLink(Cpu* pCPU, CpuExecuteFunc* ppfLink, CpuExecuteFunc pfFunction) { - s32 iGPR; - s32* pnCode; - s32 nData; - s32 pad; - - if (!xlHeapTake((void**)&pnCode, 0x200 | 0x30000000)) { - return false; - } - *ppfLink = (CpuExecuteFunc)pnCode; - - *pnCode++ = 0x7CC802A6; - - for (iGPR = 1; iGPR < 32; iGPR++) { - if (!(ganMapGPR[iGPR] & 0x100)) { - nData = (OFFSETOF(pCPU, aGPR[iGPR]) + 4); - *pnCode++ = 0x90030000 | (ganMapGPR[iGPR] << 21) | nData; // lwz ri,(aGPR[i] + 4)(r3) - } - } +static void* gHeapTree; - *pnCode++ = 0x48000000 | (((u8*)pfFunction - (u8*)pnCode) & 0x03FFFFFC) | 1; // bl pfFunction - *pnCode++ = 0x7C6803A6; // mtlr r3 - *pnCode++ = 0x3C600000 | ((u32)pCPU >> 16); // lis r3,pCPU@h - *pnCode++ = 0x60630000 | ((u32)pCPU & 0xFFFF); // ori r3,r3,pCPU@l - *pnCode++ = 0x80830000 + OFFSETOF(pCPU, survivalTimer); // lwz r4,survivalTimer(r3) - - nData = (u32)(SYSTEM_RAM(pCPU->pHost)->pBuffer) - 0x80000000; - *pnCode++ = 0x3D000000 | ((u32)nData >> 16); // lis r8,ramOffset@h - if (pCPU->nCompileFlag & 0x100) { - *pnCode++ = 0x3D20DFFF; // lis r9,0xDFFF - *pnCode++ = 0x61080000 | ((u32)nData & 0xFFFF); // ori r8,r8,ramOffset@l - *pnCode++ = 0x6129FFFF; // ori r9,r9,0xFFFF - } else if (pCPU->nCompileFlag & 1) { - *pnCode++ = 0x39230000 + OFFSETOF(pCPU, aiDevice); // addi r9,r3,aiDevice - *pnCode++ = 0x61080000 | ((u32)nData & 0xFFFF); // ori r8,r8,ramOffset@l - } - - *pnCode++ = 0x38000000 | (ganMapGPR[0] << 21); // li r0,0 - for (iGPR = 1; iGPR < 32; iGPR++) { - if (!(ganMapGPR[iGPR] & 0x100)) { - nData = (OFFSETOF(pCPU, aGPR[iGPR]) + 4); - *pnCode++ = 0x80030000 | (ganMapGPR[iGPR] << 21) | nData; // stw ri,(aGPR[i] + 4)(r3) - } - } +static s32 ganOpcodeSaveFP1[] = { + 0x8F480018, 0x11000014, 0x00000000, 0x4448F800, 0x00000000, +}; - *pnCode++ = 0x4E800020; // blr +static s32 ganOpcodeSaveFP2_0[] = { + 0x8CBB0018, 0x1360000A, 0x00000000, 0x445BF800, 0x00000000, +}; - DCStoreRange(*ppfLink, 0x200); - ICInvalidateRange(*ppfLink, 0x200); - return true; -} +static s32 ganOpcodeSaveFP2_1[] = { + 0x13600009, + 0xACBF011C, + 0x445BF800, +}; -static inline bool cpuFreeLink(Cpu* pCPU, CpuExecuteFunc* ppfLink) { - if (!xlHeapFree((void**)&ppfLink)) { - return false; - } else { - *ppfLink = NULL; - return true; - } -} +static s32 ganOpcodeLoadFP[] = { + 0x8F5B0018, 0x13600013, 0x00000000, 0x8F5B012C, 0x44DBF800, +}; /** - * @brief Begins execution of the emulated VR4300 + * @brief Mapping of VR4300 to PPC registers. * - * @param pCPU The emulated VR4300. - * @param nCount Unused. - * @param nAddressBreak Unused. - * @return bool true on success, false otherwise. + * If bit 0x100 is set the VR4300 register is not directly mapped to any PPC register, + * Instead the register will use the emulated VR4300 object for saving/loading register values. */ -bool cpuExecute(Cpu* pCPU, s32 nCount, u64 nAddressBreak) { - s32 pad1; - s32 iGPR; - s32* pnCode; - s32 nData; - s32 pad2; - CpuFunction* pFunction; - void (*pfCode)(void); - - if (pCPU->nCompileFlag & 0x1000) { - pCPU->nCompileFlag |= 0x100; - } - - if (!cpuMakeLink(pCPU, &pCPU->pfStep, &cpuExecuteOpcode)) { - return false; - } - if (!cpuMakeLink(pCPU, &pCPU->pfJump, &cpuExecuteJump)) { - return false; - } - if (!cpuMakeLink(pCPU, &pCPU->pfCall, &cpuExecuteCall)) { - return false; - } - if (!cpuMakeLink(pCPU, &pCPU->pfIdle, &cpuExecuteIdle)) { - return false; - } - if (!cpuMakeLink(pCPU, &pCPU->pfRam, &cpuExecuteLoadStore)) { - return false; - } - if (!cpuMakeLink(pCPU, &pCPU->pfRamF, &cpuExecuteLoadStoreF)) { - return false; - } - - cpuCompile_DSLLV(pCPU, &cpuCompile_DSLLV_function); - cpuCompile_DSRLV(pCPU, &cpuCompile_DSRLV_function); - cpuCompile_DSRAV(pCPU, &cpuCompile_DSRAV_function); - cpuCompile_DMULT(pCPU, &cpuCompile_DMULT_function); - cpuCompile_DMULTU(pCPU, &cpuCompile_DMULTU_function); - cpuCompile_DDIV(pCPU, &cpuCompile_DDIV_function); - cpuCompile_DDIVU(pCPU, &cpuCompile_DDIVU_function); - cpuCompile_DADD(pCPU, &cpuCompile_DADD_function); - cpuCompile_DADDU(pCPU, &cpuCompile_DADDU_function); - cpuCompile_DSUB(pCPU, &cpuCompile_DSUB_function); - cpuCompile_DSUBU(pCPU, &cpuCompile_DSUBU_function); - cpuCompile_S_SQRT(pCPU, &cpuCompile_S_SQRT_function); - cpuCompile_D_SQRT(pCPU, &cpuCompile_D_SQRT_function); - cpuCompile_W_CVT_SD(pCPU, &cpuCompile_W_CVT_SD_function); - cpuCompile_L_CVT_SD(pCPU, &cpuCompile_L_CVT_SD_function); - cpuCompile_CEIL_W(pCPU, &cpuCompile_CEIL_W_function); - cpuCompile_FLOOR_W(pCPU, &cpuCompile_FLOOR_W_function); - cpuCompile_ROUND_W(&cpuCompile_ROUND_W_function); - cpuCompile_TRUNC_W(&cpuCompile_TRUNC_W_function); - cpuCompile_LB(pCPU, &cpuCompile_LB_function); - cpuCompile_LH(pCPU, &cpuCompile_LH_function); - cpuCompile_LW(pCPU, &cpuCompile_LW_function); - cpuCompile_LBU(pCPU, &cpuCompile_LBU_function); - cpuCompile_LHU(pCPU, &cpuCompile_LHU_function); - cpuCompile_SB(pCPU, &cpuCompile_SB_function); - cpuCompile_SH(pCPU, &cpuCompile_SH_function); - cpuCompile_SW(pCPU, &cpuCompile_SW_function); - cpuCompile_LDC(pCPU, &cpuCompile_LDC_function); - cpuCompile_SDC(pCPU, &cpuCompile_SDC_function); - cpuCompile_LWL(pCPU, &cpuCompile_LWL_function); - cpuCompile_LWR(pCPU, &cpuCompile_LWR_function); - - if (cpuMakeFunction(pCPU, &pFunction, pCPU->nPC)) { - if (!xlHeapTake((void**)&pnCode, 0x100 | 0x30000000)) { - return false; - } - - pfCode = (void (*)(void))pnCode; - - *pnCode++ = 0x3C600000 | ((u32)pCPU >> 0x10); // lis r3,pCPU@h - *pnCode++ = 0x60630000 | ((u32)pCPU & 0xFFFF); // ori r3,r3,pCPU@l - - *pnCode++ = 0x80830000 + OFFSETOF(pCPU, survivalTimer); // lwz r4,survivalTimer(r3) - - nData = (u32)(SYSTEM_RAM(pCPU->pHost)->pBuffer) - 0x80000000; - *pnCode++ = 0x3D000000 | ((u32)nData >> 16); // lis r8,ramOffset@h - *pnCode++ = 0x61080000 | ((u32)nData & 0xFFFF); // ori r8,r8,ramOffset@l - - if (pCPU->nCompileFlag & 0x100) { - *pnCode++ = 0x3D20DFFF; // lis r9,0xDFFF - *pnCode++ = 0x6129FFFF; // ori r9,r9,0xFFFF - } else if (pCPU->nCompileFlag & 1) { - *pnCode++ = 0x39230000 + OFFSETOF(pCPU, aiDevice); // addi r9,r3,aiDevice - } - - for (iGPR = 0; iGPR < ARRAY_COUNT(ganMapGPR); iGPR++) { - if (!(ganMapGPR[iGPR] & 0x100)) { - nData = (OFFSETOF(pCPU, aGPR[iGPR]) + 4); - *pnCode++ = 0x80030000 | (ganMapGPR[iGPR] << 21) | nData; // lwz ri,(aGPR[i] + 4)(r3) - } - } - - *pnCode++ = 0x48000000 | (((u32)pFunction->pfCode - (u32)pnCode) & 0x03FFFFFC); // b pFunction->pfCode - - DCStoreRange(pfCode, 0x100); - ICInvalidateRange(pfCode, 0x100); - - pCPU->nRetrace = pCPU->nRetraceUsed = 0; - - VIWaitForRetrace(); - VISetPostRetraceCallback(&cpuRetraceCallback); - - pfCode(); - - if (!xlHeapFree((void**)&pfCode)) { - return false; - } - - if (!cpuFreeLink(pCPU, &pCPU->pfIdle)) { - return false; - } - if (!cpuFreeLink(pCPU, &pCPU->pfCall)) { - return false; - } - if (!cpuFreeLink(pCPU, &pCPU->pfJump)) { - return false; - } - if (!cpuFreeLink(pCPU, &pCPU->pfStep)) { - return false; - } - if (!cpuFreeLink(pCPU, &pCPU->pfRam)) { - return false; - } - if (!cpuFreeLink(pCPU, &pCPU->pfRamF)) { - return false; - } - - if (!xlHeapFree((void**)&cpuCompile_DSLLV_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_DSRLV_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_DSRAV_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_DMULT_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_DMULTU_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_DDIV_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_DDIVU_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_DADD_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_DADDU_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_DSUB_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_DSUBU_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_S_SQRT_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_D_SQRT_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_W_CVT_SD_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_L_CVT_SD_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_CEIL_W_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_FLOOR_W_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_TRUNC_W_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_ROUND_W_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_LB_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_LH_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_LW_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_LBU_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_LHU_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_SB_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_SH_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_SW_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_LDC_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_SDC_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_LWL_function)) { - return false; - } - if (!xlHeapFree((void**)&cpuCompile_LWR_function)) { - return false; - } - } +s32 ganMapGPR[32] = { + 0x0000000A, 0x0000000B, 0x0000000C, 0x0000000E, 0x0000000F, 0x00000010, 0x00000011, 0x00000012, + 0x00000013, 0x00000014, 0x00000015, 0x00000016, 0x00000017, 0x00000018, 0x00000019, 0x0000001A, + 0x00000110, 0x00000111, 0x00000112, 0x00000113, 0x00000114, 0x00000115, 0x00000116, 0x00000117, + 0x0000001B, 0x0000001C, 0x0000001D, 0x0000001E, 0x0000011C, 0x0000001F, 0x0000011E, 0x0000011F, +}; - return true; -} +u32 aHeapTreeFlag[125]; static bool cpuHackHandler(Cpu* pCPU) { u32 nSize; @@ -10823,7 +346,7 @@ bool cpuException(Cpu* pCPU, CpuExceptionCode eCode, s32 nMaskIP) { pCPU->nMode &= ~8; if (!(pCPU->nMode & 0x10)) { if (!cpuHackHandler(pCPU)) { - xlPostText(D_800ED674, D_80135260, 923); + xlPostText("Exception: #### INTERNAL ERROR #### Cannot match exception-handler!", "cpu.c", 923); } pCPU->nMode |= 0x10; } @@ -10956,6 +479,21 @@ static bool cpuMapAddress(Cpu* pCPU, s32* piDevice, u32 nVirtual, u32 nPhysical, return true; } +static inline s32 cpuCountTLB(Cpu* pCPU, s32* pnCount) { + s32 iEntry; + s32 nCount; + + nCount = 0; + for (iEntry = 0; iEntry < 48; iEntry++) { + if (!(pCPU->aTLB[iEntry][2] & 2)) { + nCount++; + } + } + + *pnCount = nCount; + return nCount; +} + static bool cpuSetTLB(Cpu* pCPU, s32 iEntry) { s32 iDevice; u32 nMask; @@ -11111,11 +649,6 @@ static bool cpuSetCP0_Status(Cpu* pCPU, u64 nStatus, u32 unknown) { return true; } -// Matches but data doesn't -#ifndef NON_MATCHING -bool cpuSetRegisterCP0(Cpu* pCPU, s32 iRegister, s64 nData); -#pragma GLOBAL_ASM("asm/non_matchings/cpu/cpuSetRegisterCP0.s") -#else bool cpuSetRegisterCP0(Cpu* pCPU, s32 iRegister, s64 nData) { s32 pad; s32 bFlag = false; @@ -11148,6 +681,8 @@ bool cpuSetRegisterCP0(Cpu* pCPU, s32 iRegister, s64 nData) { case 14: bFlag = true; break; + case 15: + break; case 16: pCPU->anCP0[16] = (u32)(nData & ganMaskSetCP0[iRegister]); break; @@ -11170,19 +705,15 @@ bool cpuSetRegisterCP0(Cpu* pCPU, s32 iRegister, s64 nData) { return true; } -#endif -// Matches but data doesn't -#ifndef NON_MATCHING -bool cpuGetRegisterCP0(Cpu* pCPU, s32 iRegister, s64* pnData); -#pragma GLOBAL_ASM("asm/non_matchings/cpu/cpuGetRegisterCP0.s") -#else bool cpuGetRegisterCP0(Cpu* pCPU, s32 iRegister, s64* pnData) { s32 bFlag = false; + s32 nCount; switch (iRegister) { case 1: - *pnData = cpuTLBRandom(pCPU); + cpuCountTLB(pCPU, &nCount); + *pnData = nCount; break; case 9: bFlag = true; @@ -11228,7 +759,6 @@ bool cpuGetRegisterCP0(Cpu* pCPU, s32 iRegister, s64* pnData) { return true; } -#endif /** * @brief Sets CP0 values for returnning from an exception. @@ -11262,6 +792,8 @@ bool __cpuBreak(Cpu* pCPU) { return true; } +#include "emulator/_cpuGCN.c" + /** * @brief Maps an object to a cpu device. * @@ -11374,10 +906,6 @@ bool cpuSetCodeHack(Cpu* pCPU, s32 nAddress, s32 nOpcodeOld, s32 nOpcodeNew) { return true; } -// Matches but data doesn't -#ifndef NON_MATCHING -#pragma GLOBAL_ASM("asm/non_matchings/cpu/cpuReset.s") -#else bool cpuReset(Cpu* pCPU) { s32 iRegister; s32 iTLB; @@ -11457,7 +985,6 @@ bool cpuReset(Cpu* pCPU) { pCPU->nCompileFlag = 1; return true; } -#endif bool cpuSetXPC(Cpu* pCPU, s64 nPC, s64 nLo, s64 nHi) { if (!xlObjectTest(pCPU, &gClassCPU)) { @@ -11871,9 +1398,6 @@ static inline bool cpuTreeFree(CpuFunction* pFunction) { return false; } -#ifndef NON_MATCHING -#pragma GLOBAL_ASM("asm/non_matchings/cpu/cpuFindFunction.s") -#else bool cpuFindFunction(Cpu* pCPU, s32 theAddress, CpuFunction** tree_node) { CpuDevice** apDevice; u8* aiDevice; @@ -12194,29 +1718,29 @@ bool cpuFindFunction(Cpu* pCPU, s32 theAddress, CpuFunction** tree_node) { } if (check == 0) { - if (romTestCode(SYSTEM_ROM(pCPU->pHost), D_8013522C)) { + if (romTestCode(SYSTEM_ROM(pCPU->pHost), "CFZE")) { if (current_address == 0x800BB62C) { current_address = 0x800BB9B0; } else if (current_address == 0x800CC010) { valid = false; } - } else if (romTestCode(SYSTEM_ROM(pCPU->pHost), D_80135234)) { + } else if (romTestCode(SYSTEM_ROM(pCPU->pHost), "NYLJ")) { if (anAddr[2] == 0x800A9D40) { anAddr[0] = 0x800A9CF0; cheat_address = anAddr[0]; } - } else if (romTestCode(SYSTEM_ROM(pCPU->pHost), D_8013523C)) { + } else if (romTestCode(SYSTEM_ROM(pCPU->pHost), "NM3E")) { if (current_address == 0x80000470) { current_address = 0x80000870; } else if (anAddr[2] == 0x80001248) { anAddr[2] = 0x80001884; current_address = 0x80001890; } - } else if (romTestCode(SYSTEM_ROM(pCPU->pHost), D_80135244)) { + } else if (romTestCode(SYSTEM_ROM(pCPU->pHost), "CLBE")) { if (current_address == 0x800829CC) { current_address = 0x80082D60; } - } else if (romTestCode(SYSTEM_ROM(pCPU->pHost), D_8013524C)) { + } else if (romTestCode(SYSTEM_ROM(pCPU->pHost), "NN6J")) { if (current_address == 0x8000E1C8) { if (!treeInsert(pCPU, 0x8007ED94, 0x8007F55C)) { return false; @@ -12224,7 +1748,7 @@ bool cpuFindFunction(Cpu* pCPU, s32 theAddress, CpuFunction** tree_node) { treeSearch(pCPU, 0x8007ED94, tree_node); (*tree_node)->timeToLive = 0; } - } else if (romTestCode(SYSTEM_ROM(pCPU->pHost), D_80135254)) { + } else if (romTestCode(SYSTEM_ROM(pCPU->pHost), "NN6E")) { if (current_address == 0x8000E1C8) { if (!treeInsert(pCPU, 0x8007EC54, 0x8007F41C)) { return false; @@ -12283,7 +1807,6 @@ bool cpuFindFunction(Cpu* pCPU, s32 theAddress, CpuFunction** tree_node) { return false; } -#endif static bool cpuDMAUpdateFunction(Cpu* pCPU, s32 start, s32 end) { CpuTreeRoot* root = pCPU->gTree; @@ -13465,6 +2988,15 @@ static bool treeForceCleanNodes(Cpu* pCPU, CpuFunction* tree, s32 kill_limit) { return false; } +// Stripped function with unused strings +static bool treePrint(Cpu* pCPU) { + (void)"tree range (%p - %p)\n"; + (void)"total nodes: %d (tree height: %d %d)\n"; + (void)"total memory: %d\n"; + + return true; +} + static bool treePrintNode(Cpu* pCPU, CpuFunction* tree, s32 print_flag, s32* left, s32* right) { CpuFunction* current; bool flag; @@ -13506,7 +3038,8 @@ static bool treePrintNode(Cpu* pCPU, CpuFunction* tree, s32 print_flag, s32* lef current->timeToLive -= *left; } } else if (print_flag & 1) { - OSReport(D_800EC054, current->nAddress0, current->nAddress1, current->timeToLive, current->memory_size); + OSReport("start=%p, end=%p (%d) (size: %d)\n", current->nAddress0, current->nAddress1, + current->timeToLive, current->memory_size); } if (current->right != NULL) { @@ -13551,10 +3084,6 @@ static inline s32 treeMemory(Cpu* pCPU) { } } -// Matches but data doesn't -#ifndef NON_MATCHING -#pragma GLOBAL_ASM("asm/non_matchings/cpu/cpuOpcodeChecksum.s") -#else s32 cpuOpcodeChecksum(u32 opcode) { s32 nChecksum = 0x20; @@ -13676,4 +3205,3 @@ s32 cpuOpcodeChecksum(u32 opcode) { return nChecksum; } -#endif diff --git a/tools/decompme.py b/tools/decompme.py index 258bf71b..3f5f6a3c 100755 --- a/tools/decompme.py +++ b/tools/decompme.py @@ -20,6 +20,7 @@ Path("."), Path("include"), Path("libc"), + Path("src"), ] COMPILER_NAME = "mwcc_233_159" # We don't set -inline deferred because otherwise the reversed function order