.include "macros.inc" .section .data .balign 8 .global __vt__17CScriptSpawnPoint __vt__17CScriptSpawnPoint: # ROM: 0x3DC850 .4byte 0 .4byte 0 .4byte __dt__17CScriptSpawnPointFv .4byte Accept__17CScriptSpawnPointFR8IVisitor .4byte PreThink__7CEntityFfR13CStateManager .4byte Think__7CEntityFfR13CStateManager .4byte AcceptScriptMsg__17CScriptSpawnPointF20EScriptObjectMessage9TUniqueIdR13CStateManager .4byte SetActive__7CEntityFb .section .text, "ax" .global Accept__17CScriptSpawnPointFR8IVisitor Accept__17CScriptSpawnPointFR8IVisitor: /* 800E2378 000DF2D8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800E237C 000DF2DC 7C 08 02 A6 */ mflr r0 /* 800E2380 000DF2E0 90 01 00 14 */ stw r0, 0x14(r1) /* 800E2384 000DF2E4 7C 60 1B 78 */ mr r0, r3 /* 800E2388 000DF2E8 7C 83 23 78 */ mr r3, r4 /* 800E238C 000DF2EC 81 84 00 00 */ lwz r12, 0(r4) /* 800E2390 000DF2F0 7C 04 03 78 */ mr r4, r0 /* 800E2394 000DF2F4 81 8C 00 B0 */ lwz r12, 0xb0(r12) /* 800E2398 000DF2F8 7D 89 03 A6 */ mtctr r12 /* 800E239C 000DF2FC 4E 80 04 21 */ bctrl /* 800E23A0 000DF300 80 01 00 14 */ lwz r0, 0x14(r1) /* 800E23A4 000DF304 7C 08 03 A6 */ mtlr r0 /* 800E23A8 000DF308 38 21 00 10 */ addi r1, r1, 0x10 /* 800E23AC 000DF30C 4E 80 00 20 */ blr .global AcceptScriptMsg__17CScriptSpawnPointF20EScriptObjectMessage9TUniqueIdR13CStateManager AcceptScriptMsg__17CScriptSpawnPointF20EScriptObjectMessage9TUniqueIdR13CStateManager: /* 800E23B0 000DF310 94 21 FF C0 */ stwu r1, -0x40(r1) /* 800E23B4 000DF314 7C 08 02 A6 */ mflr r0 /* 800E23B8 000DF318 90 01 00 44 */ stw r0, 0x44(r1) /* 800E23BC 000DF31C BF 61 00 2C */ stmw r27, 0x2c(r1) /* 800E23C0 000DF320 7C 7C 1B 78 */ mr r28, r3 /* 800E23C4 000DF324 7C 9B 23 78 */ mr r27, r4 /* 800E23C8 000DF328 7C DD 33 78 */ mr r29, r6 /* 800E23CC 000DF32C A0 05 00 00 */ lhz r0, 0(r5) /* 800E23D0 000DF330 38 A1 00 08 */ addi r5, r1, 8 /* 800E23D4 000DF334 B0 01 00 08 */ sth r0, 8(r1) /* 800E23D8 000DF338 4B F6 ED 85 */ bl AcceptScriptMsg__7CEntityF20EScriptObjectMessage9TUniqueIdR13CStateManager /* 800E23DC 000DF33C 2C 1B 00 0D */ cmpwi r27, 0xd /* 800E23E0 000DF340 41 82 00 70 */ beq lbl_800E2450 /* 800E23E4 000DF344 40 80 01 D0 */ bge lbl_800E25B4 /* 800E23E8 000DF348 2C 1B 00 0A */ cmpwi r27, 0xa /* 800E23EC 000DF34C 41 82 00 08 */ beq lbl_800E23F4 /* 800E23F0 000DF350 48 00 01 C4 */ b lbl_800E25B4 lbl_800E23F4: /* 800E23F4 000DF354 3B 60 00 00 */ li r27, 0 lbl_800E23F8: /* 800E23F8 000DF358 80 BD 08 B8 */ lwz r5, 0x8b8(r29) /* 800E23FC 000DF35C 7F 83 E3 78 */ mr r3, r28 /* 800E2400 000DF360 93 61 00 24 */ stw r27, 0x24(r1) /* 800E2404 000DF364 38 81 00 24 */ addi r4, r1, 0x24 /* 800E2408 000DF368 83 C5 00 00 */ lwz r30, 0(r5) /* 800E240C 000DF36C 48 00 01 BD */ bl GetPowerup__17CScriptSpawnPointCFRCQ212CPlayerState9EItemType /* 800E2410 000DF370 7C 65 1B 78 */ mr r5, r3 /* 800E2414 000DF374 7F 64 DB 78 */ mr r4, r27 /* 800E2418 000DF378 7F C3 F3 78 */ mr r3, r30 /* 800E241C 000DF37C 4B FA FA 71 */ bl ReInitializePowerUp__12CPlayerStateFQ212CPlayerState9EItemTypei /* 800E2420 000DF380 80 BD 08 B8 */ lwz r5, 0x8b8(r29) /* 800E2424 000DF384 7F 83 E3 78 */ mr r3, r28 /* 800E2428 000DF388 38 81 00 24 */ addi r4, r1, 0x24 /* 800E242C 000DF38C 83 C5 00 00 */ lwz r30, 0(r5) /* 800E2430 000DF390 48 00 01 99 */ bl GetPowerup__17CScriptSpawnPointCFRCQ212CPlayerState9EItemType /* 800E2434 000DF394 7C 65 1B 78 */ mr r5, r3 /* 800E2438 000DF398 7F 64 DB 78 */ mr r4, r27 /* 800E243C 000DF39C 7F C3 F3 78 */ mr r3, r30 /* 800E2440 000DF3A0 4B FA F8 C1 */ bl ResetAndIncrPickUp__12CPlayerStateFQ212CPlayerState9EItemTypei /* 800E2444 000DF3A4 3B 7B 00 01 */ addi r27, r27, 1 /* 800E2448 000DF3A8 2C 1B 00 29 */ cmpwi r27, 0x29 /* 800E244C 000DF3AC 41 80 FF AC */ blt lbl_800E23F8 lbl_800E2450: /* 800E2450 000DF3B0 88 1C 00 30 */ lbz r0, 0x30(r28) /* 800E2454 000DF3B4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 800E2458 000DF3B8 41 82 01 5C */ beq lbl_800E25B4 /* 800E245C 000DF3BC 80 BC 00 04 */ lwz r5, 4(r28) /* 800E2460 000DF3C0 80 1D 08 CC */ lwz r0, 0x8cc(r29) /* 800E2464 000DF3C4 90 A1 00 20 */ stw r5, 0x20(r1) /* 800E2468 000DF3C8 7C 00 28 00 */ cmpw r0, r5 /* 800E246C 000DF3CC 83 FD 08 4C */ lwz r31, 0x84c(r29) /* 800E2470 000DF3D0 90 01 00 1C */ stw r0, 0x1c(r1) /* 800E2474 000DF3D4 41 82 00 F8 */ beq lbl_800E256C /* 800E2478 000DF3D8 80 9D 08 50 */ lwz r4, 0x850(r29) /* 800E247C 000DF3DC 54 A3 18 38 */ slwi r3, r5, 3 /* 800E2480 000DF3E0 38 03 00 04 */ addi r0, r3, 4 /* 800E2484 000DF3E4 90 A1 00 18 */ stw r5, 0x18(r1) /* 800E2488 000DF3E8 80 64 00 20 */ lwz r3, 0x20(r4) /* 800E248C 000DF3EC 3B C0 00 00 */ li r30, 0 /* 800E2490 000DF3F0 7F 63 00 2E */ lwzx r27, r3, r0 /* 800E2494 000DF3F4 88 1B 00 F0 */ lbz r0, 0xf0(r27) /* 800E2498 000DF3F8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 800E249C 000DF3FC 41 82 00 10 */ beq lbl_800E24AC /* 800E24A0 000DF400 80 7B 01 2C */ lwz r3, 0x12c(r27) /* 800E24A4 000DF404 80 03 10 DC */ lwz r0, 0x10dc(r3) /* 800E24A8 000DF408 48 00 00 08 */ b lbl_800E24B0 lbl_800E24AC: /* 800E24AC 000DF40C 38 00 00 00 */ li r0, 0 lbl_800E24B0: /* 800E24B0 000DF410 2C 00 00 00 */ cmpwi r0, 0 /* 800E24B4 000DF414 40 82 00 28 */ bne lbl_800E24DC lbl_800E24B8: /* 800E24B8 000DF418 7F 63 DB 78 */ mr r3, r27 /* 800E24BC 000DF41C 4B F7 C6 B5 */ bl TryTakingOutOfARAM__9CGameAreaFv /* 800E24C0 000DF420 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800E24C4 000DF424 41 82 FF F4 */ beq lbl_800E24B8 /* 800E24C8 000DF428 80 BD 08 50 */ lwz r5, 0x850(r29) /* 800E24CC 000DF42C 7F 64 DB 78 */ mr r4, r27 /* 800E24D0 000DF430 38 60 00 01 */ li r3, 1 /* 800E24D4 000DF434 4B FE 1C 09 */ bl PropogateAreaChain__6CWorldFQ29CGameArea15EOcclusionStateP9CGameAreaP6CWorld /* 800E24D8 000DF438 3B C0 00 01 */ li r30, 1 lbl_800E24DC: /* 800E24DC 000DF43C 80 01 00 20 */ lwz r0, 0x20(r1) /* 800E24E0 000DF440 7F A3 EB 78 */ mr r3, r29 /* 800E24E4 000DF444 38 81 00 14 */ addi r4, r1, 0x14 /* 800E24E8 000DF448 90 01 00 14 */ stw r0, 0x14(r1) /* 800E24EC 000DF44C 4B F6 9B E1 */ bl SetCurrentAreaId__13CStateManagerF7TAreaId /* 800E24F0 000DF450 80 01 00 20 */ lwz r0, 0x20(r1) /* 800E24F4 000DF454 7F A3 EB 78 */ mr r3, r29 /* 800E24F8 000DF458 7F E4 FB 78 */ mr r4, r31 /* 800E24FC 000DF45C 38 A1 00 10 */ addi r5, r1, 0x10 /* 800E2500 000DF460 90 01 00 10 */ stw r0, 0x10(r1) /* 800E2504 000DF464 4B F6 2D 75 */ bl SetActorAreaId__13CStateManagerFR6CActor7TAreaId /* 800E2508 000DF468 7F E3 FB 78 */ mr r3, r31 /* 800E250C 000DF46C 7F A5 EB 78 */ mr r5, r29 /* 800E2510 000DF470 38 9C 00 34 */ addi r4, r28, 0x34 /* 800E2514 000DF474 38 C0 00 01 */ li r6, 1 /* 800E2518 000DF478 48 1A 2B 85 */ bl Teleport__7CPlayerFRC12CTransform4fR13CStateManagerb /* 800E251C 000DF47C 88 1C 01 0C */ lbz r0, 0x10c(r28) /* 800E2520 000DF480 7F E3 FB 78 */ mr r3, r31 /* 800E2524 000DF484 7F A5 EB 78 */ mr r5, r29 /* 800E2528 000DF488 54 04 D7 FE */ rlwinm r4, r0, 0x1a, 0x1f, 0x1f /* 800E252C 000DF48C 7C 04 00 D0 */ neg r0, r4 /* 800E2530 000DF490 7C 00 23 78 */ or r0, r0, r4 /* 800E2534 000DF494 54 04 0F FE */ srwi r4, r0, 0x1f /* 800E2538 000DF498 4B F3 51 35 */ bl SetSpawnedMorphBallState__7CPlayerFQ27CPlayer21EPlayerMorphBallStateR13CStateManager /* 800E253C 000DF49C 57 C0 06 3F */ clrlwi. r0, r30, 0x18 /* 800E2540 000DF4A0 41 82 00 60 */ beq lbl_800E25A0 /* 800E2544 000DF4A4 80 01 00 1C */ lwz r0, 0x1c(r1) /* 800E2548 000DF4A8 38 60 00 00 */ li r3, 0 /* 800E254C 000DF4AC 80 BD 08 50 */ lwz r5, 0x850(r29) /* 800E2550 000DF4B0 54 04 18 38 */ slwi r4, r0, 3 /* 800E2554 000DF4B4 90 01 00 0C */ stw r0, 0xc(r1) /* 800E2558 000DF4B8 80 C5 00 20 */ lwz r6, 0x20(r5) /* 800E255C 000DF4BC 38 04 00 04 */ addi r0, r4, 4 /* 800E2560 000DF4C0 7C 86 00 2E */ lwzx r4, r6, r0 /* 800E2564 000DF4C4 4B FE 1B 79 */ bl PropogateAreaChain__6CWorldFQ29CGameArea15EOcclusionStateP9CGameAreaP6CWorld /* 800E2568 000DF4C8 48 00 00 38 */ b lbl_800E25A0 lbl_800E256C: /* 800E256C 000DF4CC 7F E3 FB 78 */ mr r3, r31 /* 800E2570 000DF4D0 7F A5 EB 78 */ mr r5, r29 /* 800E2574 000DF4D4 38 9C 00 34 */ addi r4, r28, 0x34 /* 800E2578 000DF4D8 38 C0 00 01 */ li r6, 1 /* 800E257C 000DF4DC 48 1A 2B 21 */ bl Teleport__7CPlayerFRC12CTransform4fR13CStateManagerb /* 800E2580 000DF4E0 88 1C 01 0C */ lbz r0, 0x10c(r28) /* 800E2584 000DF4E4 7F E3 FB 78 */ mr r3, r31 /* 800E2588 000DF4E8 7F A5 EB 78 */ mr r5, r29 /* 800E258C 000DF4EC 54 04 D7 FE */ rlwinm r4, r0, 0x1a, 0x1f, 0x1f /* 800E2590 000DF4F0 7C 04 00 D0 */ neg r0, r4 /* 800E2594 000DF4F4 7C 00 23 78 */ or r0, r0, r4 /* 800E2598 000DF4F8 54 04 0F FE */ srwi r4, r0, 0x1f /* 800E259C 000DF4FC 4B F3 50 D1 */ bl SetSpawnedMorphBallState__7CPlayerFQ27CPlayer21EPlayerMorphBallStateR13CStateManager lbl_800E25A0: /* 800E25A0 000DF500 7F 83 E3 78 */ mr r3, r28 /* 800E25A4 000DF504 7F A5 EB 78 */ mr r5, r29 /* 800E25A8 000DF508 38 80 00 09 */ li r4, 9 /* 800E25AC 000DF50C 38 C0 FF FF */ li r6, -1 /* 800E25B0 000DF510 4B F6 EB 11 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage lbl_800E25B4: /* 800E25B4 000DF514 BB 61 00 2C */ lmw r27, 0x2c(r1) /* 800E25B8 000DF518 80 01 00 44 */ lwz r0, 0x44(r1) /* 800E25BC 000DF51C 7C 08 03 A6 */ mtlr r0 /* 800E25C0 000DF520 38 21 00 40 */ addi r1, r1, 0x40 /* 800E25C4 000DF524 4E 80 00 20 */ blr .global GetPowerup__17CScriptSpawnPointCFRCQ212CPlayerState9EItemType GetPowerup__17CScriptSpawnPointCFRCQ212CPlayerState9EItemType: /* 800E25C8 000DF528 80 04 00 00 */ lwz r0, 0(r4) /* 800E25CC 000DF52C 2C 00 00 29 */ cmpwi r0, 0x29 /* 800E25D0 000DF530 40 80 00 0C */ bge lbl_800E25DC /* 800E25D4 000DF534 2C 00 00 00 */ cmpwi r0, 0 /* 800E25D8 000DF538 40 80 00 0C */ bge lbl_800E25E4 lbl_800E25DC: /* 800E25DC 000DF53C 80 63 00 68 */ lwz r3, 0x68(r3) /* 800E25E0 000DF540 4E 80 00 20 */ blr lbl_800E25E4: /* 800E25E4 000DF544 54 00 10 3A */ slwi r0, r0, 2 /* 800E25E8 000DF548 7C 63 02 14 */ add r3, r3, r0 /* 800E25EC 000DF54C 80 63 00 68 */ lwz r3, 0x68(r3) /* 800E25F0 000DF550 4E 80 00 20 */ blr .global GetTransform__17CScriptSpawnPointCFv GetTransform__17CScriptSpawnPointCFv: /* 800E25F4 000DF554 38 63 00 34 */ addi r3, r3, 0x34 /* 800E25F8 000DF558 4E 80 00 20 */ blr .global __dt__17CScriptSpawnPointFv __dt__17CScriptSpawnPointFv: /* 800E25FC 000DF55C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800E2600 000DF560 7C 08 02 A6 */ mflr r0 /* 800E2604 000DF564 90 01 00 14 */ stw r0, 0x14(r1) /* 800E2608 000DF568 93 E1 00 0C */ stw r31, 0xc(r1) /* 800E260C 000DF56C 7C 9F 23 78 */ mr r31, r4 /* 800E2610 000DF570 93 C1 00 08 */ stw r30, 8(r1) /* 800E2614 000DF574 7C 7E 1B 79 */ or. r30, r3, r3 /* 800E2618 000DF578 41 82 00 88 */ beq lbl_800E26A0 /* 800E261C 000DF57C 3C 60 80 3E */ lis r3, __vt__17CScriptSpawnPoint@ha /* 800E2620 000DF580 34 1E 00 64 */ addic. r0, r30, 0x64 /* 800E2624 000DF584 38 03 F8 50 */ addi r0, r3, __vt__17CScriptSpawnPoint@l /* 800E2628 000DF588 90 1E 00 00 */ stw r0, 0(r30) /* 800E262C 000DF58C 41 82 00 58 */ beq lbl_800E2684 /* 800E2630 000DF590 80 BE 00 64 */ lwz r5, 0x64(r30) /* 800E2634 000DF594 38 60 00 00 */ li r3, 0 /* 800E2638 000DF598 2C 05 00 00 */ cmpwi r5, 0 /* 800E263C 000DF59C 40 81 00 40 */ ble lbl_800E267C /* 800E2640 000DF5A0 2C 05 00 08 */ cmpwi r5, 8 /* 800E2644 000DF5A4 38 85 FF F8 */ addi r4, r5, -8 /* 800E2648 000DF5A8 40 81 00 20 */ ble lbl_800E2668 /* 800E264C 000DF5AC 38 04 00 07 */ addi r0, r4, 7 /* 800E2650 000DF5B0 54 00 E8 FE */ srwi r0, r0, 3 /* 800E2654 000DF5B4 7C 09 03 A6 */ mtctr r0 /* 800E2658 000DF5B8 2C 04 00 00 */ cmpwi r4, 0 /* 800E265C 000DF5BC 40 81 00 0C */ ble lbl_800E2668 lbl_800E2660: /* 800E2660 000DF5C0 38 63 00 08 */ addi r3, r3, 8 /* 800E2664 000DF5C4 42 00 FF FC */ bdnz lbl_800E2660 lbl_800E2668: /* 800E2668 000DF5C8 7C 03 28 50 */ subf r0, r3, r5 /* 800E266C 000DF5CC 7C 09 03 A6 */ mtctr r0 /* 800E2670 000DF5D0 7C 03 28 00 */ cmpw r3, r5 /* 800E2674 000DF5D4 40 80 00 08 */ bge lbl_800E267C lbl_800E2678: /* 800E2678 000DF5D8 42 00 00 00 */ bdnz lbl_800E2678 lbl_800E267C: /* 800E267C 000DF5DC 38 00 00 00 */ li r0, 0 /* 800E2680 000DF5E0 90 1E 00 64 */ stw r0, 0x64(r30) lbl_800E2684: /* 800E2684 000DF5E4 7F C3 F3 78 */ mr r3, r30 /* 800E2688 000DF5E8 38 80 00 00 */ li r4, 0 /* 800E268C 000DF5EC 4B F6 EB E9 */ bl __dt__7CEntityFv /* 800E2690 000DF5F0 7F E0 07 35 */ extsh. r0, r31 /* 800E2694 000DF5F4 40 81 00 0C */ ble lbl_800E26A0 /* 800E2698 000DF5F8 7F C3 F3 78 */ mr r3, r30 /* 800E269C 000DF5FC 48 23 32 95 */ bl Free__7CMemoryFPCv lbl_800E26A0: /* 800E26A0 000DF600 80 01 00 14 */ lwz r0, 0x14(r1) /* 800E26A4 000DF604 7F C3 F3 78 */ mr r3, r30 /* 800E26A8 000DF608 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800E26AC 000DF60C 83 C1 00 08 */ lwz r30, 8(r1) /* 800E26B0 000DF610 7C 08 03 A6 */ mtlr r0 /* 800E26B4 000DF614 38 21 00 10 */ addi r1, r1, 0x10 /* 800E26B8 000DF618 4E 80 00 20 */ blr .global "__ct__17CScriptSpawnPointF9TUniqueIdRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRCQ24rstl21reserved_vectorbbb" "__ct__17CScriptSpawnPointF9TUniqueIdRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRCQ24rstl21reserved_vectorbbb": /* 800E26BC 000DF61C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800E26C0 000DF620 7C 08 02 A6 */ mflr r0 /* 800E26C4 000DF624 90 01 00 34 */ stw r0, 0x34(r1) /* 800E26C8 000DF628 BF 61 00 1C */ stmw r27, 0x1c(r1) /* 800E26CC 000DF62C 7C FB 3B 78 */ mr r27, r7 /* 800E26D0 000DF630 8B C1 00 3B */ lbz r30, 0x3b(r1) /* 800E26D4 000DF634 7C 7F 1B 78 */ mr r31, r3 /* 800E26D8 000DF638 7D 1C 43 78 */ mr r28, r8 /* 800E26DC 000DF63C 7D 3D 4B 78 */ mr r29, r9 /* 800E26E0 000DF640 A0 04 00 00 */ lhz r0, 0(r4) /* 800E26E4 000DF644 7C A4 2B 78 */ mr r4, r5 /* 800E26E8 000DF648 7C C5 33 78 */ mr r5, r6 /* 800E26EC 000DF64C 7D 46 53 78 */ mr r6, r10 /* 800E26F0 000DF650 B0 01 00 08 */ sth r0, 8(r1) /* 800E26F4 000DF654 7C 87 23 78 */ mr r7, r4 /* 800E26F8 000DF658 38 81 00 08 */ addi r4, r1, 8 /* 800E26FC 000DF65C 4B F6 EC 29 */ bl "__ct__7CEntityF9TUniqueIdRC11CEntityInfobRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 800E2700 000DF660 3C 60 80 3E */ lis r3, __vt__17CScriptSpawnPoint@ha /* 800E2704 000DF664 7F 64 DB 78 */ mr r4, r27 /* 800E2708 000DF668 38 03 F8 50 */ addi r0, r3, __vt__17CScriptSpawnPoint@l /* 800E270C 000DF66C 38 7F 00 34 */ addi r3, r31, 0x34 /* 800E2710 000DF670 90 1F 00 00 */ stw r0, 0(r31) /* 800E2714 000DF674 48 23 04 61 */ bl __ct__12CTransform4fFRC12CTransform4f /* 800E2718 000DF678 80 1C 00 00 */ lwz r0, 0(r28) /* 800E271C 000DF67C 38 9F 00 68 */ addi r4, r31, 0x68 /* 800E2720 000DF680 38 7C 00 04 */ addi r3, r28, 4 /* 800E2724 000DF684 90 1F 00 64 */ stw r0, 0x64(r31) /* 800E2728 000DF688 80 1F 00 64 */ lwz r0, 0x64(r31) /* 800E272C 000DF68C 7C 09 03 A6 */ mtctr r0 /* 800E2730 000DF690 2C 00 00 00 */ cmpwi r0, 0 /* 800E2734 000DF694 40 81 00 20 */ ble lbl_800E2754 lbl_800E2738: /* 800E2738 000DF698 28 04 00 00 */ cmplwi r4, 0 /* 800E273C 000DF69C 41 82 00 0C */ beq lbl_800E2748 /* 800E2740 000DF6A0 80 03 00 00 */ lwz r0, 0(r3) /* 800E2744 000DF6A4 90 04 00 00 */ stw r0, 0(r4) lbl_800E2748: /* 800E2748 000DF6A8 38 84 00 04 */ addi r4, r4, 4 /* 800E274C 000DF6AC 38 63 00 04 */ addi r3, r3, 4 /* 800E2750 000DF6B0 42 00 FF E8 */ bdnz lbl_800E2738 lbl_800E2754: /* 800E2754 000DF6B4 88 1F 01 0C */ lbz r0, 0x10c(r31) /* 800E2758 000DF6B8 53 A0 3E 30 */ rlwimi r0, r29, 7, 0x18, 0x18 /* 800E275C 000DF6BC 7F E3 FB 78 */ mr r3, r31 /* 800E2760 000DF6C0 98 1F 01 0C */ stb r0, 0x10c(r31) /* 800E2764 000DF6C4 88 1F 01 0C */ lbz r0, 0x10c(r31) /* 800E2768 000DF6C8 53 C0 36 72 */ rlwimi r0, r30, 6, 0x19, 0x19 /* 800E276C 000DF6CC 98 1F 01 0C */ stb r0, 0x10c(r31) /* 800E2770 000DF6D0 BB 61 00 1C */ lmw r27, 0x1c(r1) /* 800E2774 000DF6D4 80 01 00 34 */ lwz r0, 0x34(r1) /* 800E2778 000DF6D8 7C 08 03 A6 */ mtlr r0 /* 800E277C 000DF6DC 38 21 00 30 */ addi r1, r1, 0x30 /* 800E2780 000DF6E0 4E 80 00 20 */ blr