801ef79c mtctr r12 (with r12 = 801e24cc) 801ef7a0 bctrl (with CTR = 801e24cc) .text1:801E24CC stwu r1, -0x80(r1) .text1:801E24D0 mflr r0 .text1:801E24D4 stw r0, 0x84(r1) .text1:801E24D8 stmw r14, 0x38(r1) .text1:801E24DC mfcr r0 .text1:801E24E0 stw r0, 0x34(r1) .text1:801E24E4 mr r15, r3 .text1:801E24E8 bl loc_801E2500 .text1:801E24E8 # --------------------------------------------------------------------------- .text1:801E24EC .byte 0xDE # garbage? .text1:801E24ED .byte 0xD9 # + .text1:801E24EE .byte 0x67 # g .text1:801E24EF .byte 8 .text1:801E24F0 .byte 0x7C # | .text1:801E24F1 .byte 0xFE # ¦ .text1:801E24F2 .byte 0x7A # z .text1:801E24F3 .byte 0x80 # Ç .text1:801E24F4 .byte 0xBB # + .text1:801E24F5 .byte 0x42 # B .text1:801E24F6 .byte 0x6D # m .text1:801E24F7 .byte 0x2B # + .text1:801E24F8 .byte 0 .text1:801E24F9 .byte 0 .text1:801E24FA .byte 0 .text1:801E24FB .byte 0 .text1:801E24FC .byte 0x92 .text1:801E24FD .byte 0xB5 # Á .text1:801E24FE .byte 0x47 # G .text1:801E24FF .byte 7 .text1:801E2500 # --------------------------------------------------------------------------- .text1:801E2500 .text1:801E2500 loc_801E2500: # CODE XREF: .text1:801E24E8p .text1:801E2500 mflr r20 .text1:801E2504 lwz r30, 0xC(r20) .text1:801E2508 lwz r14, 8(r20) .text1:801E250C stw r14, 0x24(r1) .text1:801E2510 stw r30, 0x20(r1) .text1:801E2514 bl loc_801E2530 .text1:801E2514 # --------------------------------------------------------------------------- .text1:801E2518 .byte 0x72 # garbage again? .text1:801E2519 .byte 0xA2 # ó .text1:801E251A .byte 0x44 # D .text1:801E251B .byte 5 .text1:801E251C .byte 0xA8 .text1:801E251D .byte 0x46 # F .text1:801E251E .byte 0x40 # @ .text1:801E251F .byte 0x90 # É .text1:801E2520 .byte 0x6F .text1:801E2521 .byte 2 .text1:801E2522 .byte 0xEB # Ù .text1:801E2523 .byte 0xBC # + .text1:801E2524 .byte 0 .text1:801E2525 .byte 0 .text1:801E2526 .byte 0 .text1:801E2527 .byte 0 .text1:801E2528 .byte 0x7C # | .text1:801E2529 .byte 0xCF # ¤ .text1:801E252A .byte 0x66 # f .text1:801E252B .byte 0x93 # ô .text1:801E252C .byte 0x37 .text1:801E252D .byte 0xDE # Ì .text1:801E252E .byte 0x69 # i .text1:801E252F .byte 8 .text1:801E252C # --------------------------------------------------------------------------- .text1:801E2530 .text1:801E2530 loc_801E2530: # CODE XREF: .text1:801E2514p .text1:801E2530 mflr r18 .text1:801E2534 lwz r26, 8(r18) .text1:801E2538 lwz r14, 0xC(r18) .text1:801E253C stw r26, 0x1C(r1) .text1:801E2540 stw r14, 0x18(r1) .text1:801E2544 xoris r16, r26, 0x98F9 .text1:801E2548 xori r16, r16, 0xCA2 .text1:801E254C lis r19, 0x6666 # 0x66666666 .text1:801E2550 srwi r21, r16, 20 .text1:801E2554 lis r27, -0x58A7 # 0xA758A758 .text1:801E2558 srwi r17, r16, 7 .text1:801E255C lis r31, 0x6969 # 0x69696969 .text1:801E2560 xor r17, r21, r17 .text1:801E2564 lis r23, -0x6666 # 0x99999999 .text1:801E2568 clrlwi r24, r17, 23 .text1:801E256C lis r21, 0x58A7 # 0x58A758A7 .text1:801E2570 slwi r28, r24, 20 .text1:801E2574 lis r17, -0x6969 # 0x96969696 .text1:801E2578 slwi r24, r24, 7 .text1:801E257C addi r19, r19, 0x6666 # 0x66666666 .text1:801E2580 or r24, r28, r24 .text1:801E2584 addi r28, r21, 0x58A7 # 0x58A758A7 .text1:801E2588 xor r16, r16, r24 .text1:801E258C addi r29, r17, -0x696A # 0x96969696 .text1:801E2590 addi r24, r23, -0x6667 # 0x99999999 .text1:801E2594 addi r27, r27, -0x58A8 # 0xA758A758 .text1:801E2598 xoris r23, r16, 0xF3F8 .text1:801E259C addi r31, r31, 0x6969 # 0x69696969 .text1:801E25A0 xori r23, r23, 0x6BAE .text1:801E25A4 srwi r16, r23, 2 .text1:801E25A8 slwi r17, r23, 30 .text1:801E25AC slwi r21, r23, 2 .text1:801E25B0 or r17, r16, r17 .text1:801E25B4 srwi r23, r23, 30 .text1:801E25B8 or r21, r21, r23 .text1:801E25BC lis r16, -0x17B # 0xFE85017A .text1:801E25C0 and r17, r17, r19 .text1:801E25C4 and r19, r21, r24 .text1:801E25C8 addi r16, r16, 0x17A # 0xFE85017A .text1:801E25CC or r17, r17, r19 .text1:801E25D0 srwi r23, r17, 8 .text1:801E25D4 slwi r21, r17, 24 .text1:801E25D8 slwi r19, r17, 8 .text1:801E25DC srwi r17, r17, 24 .text1:801E25E0 or r17, r19, r17 .text1:801E25E4 or r21, r23, r21 .text1:801E25E8 and r19, r21, r27 .text1:801E25EC and r17, r17, r28 .text1:801E25F0 or r17, r19, r17 .text1:801E25F4 srwi r23, r17, 4 .text1:801E25F8 slwi r21, r17, 28 .text1:801E25FC slwi r19, r17, 4 .text1:801E2600 srwi r17, r17, 28 .text1:801E2604 or r17, r19, r17 .text1:801E2608 or r21, r23, r21 .text1:801E260C and r19, r21, r29 .text1:801E2610 and r17, r17, r31 .text1:801E2614 or r17, r19, r17 .text1:801E2618 addis r17, r17, 0x4E02 .text1:801E261C addi r19, r17, -0x7FE5 .text1:801E2620 srwi r17, r19, 14 .text1:801E2624 xor r17, r19, r17 .text1:801E2628 clrlwi r21, r17, 18 .text1:801E262C slwi r17, r21, 14 .text1:801E2630 or r17, r21, r17 .text1:801E2634 xor r17, r19, r17 .text1:801E2638 srwi r19, r17, 10 .text1:801E263C slwi r17, r17, 22 .text1:801E2640 or r17, r19, r17 .text1:801E2644 srwi r19, r17, 16 .text1:801E2648 slwi r17, r17, 16 .text1:801E264C or r21, r19, r17 .text1:801E2650 and r23, r21, r16 .text1:801E2654 lis r17, 0x17B # 0x17AFE85 .text1:801E2658 lis r16, 0x3333 # 0x33333333 .text1:801E265C addi r19, r17, -0x17B # 0x17AFE85 .text1:801E2660 lis r28, -0x28D7 # 0xD728D728 .text1:801E2664 and r19, r21, r19 .text1:801E2668 lis r17, -0x3333 # 0xCCCCCCCC .text1:801E266C or r23, r23, r19 .text1:801E2670 addi r16, r16, 0x3333 # 0x33333333 .text1:801E2674 slwi r24, r23, 27 .text1:801E2678 lis r21, 0x28D7 # 0x28D728D7 .text1:801E267C srwi r23, r23, 5 .text1:801E2680 lis r19, -0x3E70 # 0xC1903E6F .text1:801E2684 or r23, r24, r23 .text1:801E2688 addi r24, r17, -0x3334 # 0xCCCCCCCC .text1:801E268C addis r23, r23, -0x6F7E .text1:801E2690 lis r31, 0x3E70 # 0x3E6FC190 .text1:801E2694 addi r27, r23, 0x73F1 .text1:801E2698 addi r28, r28, -0x28D8 # 0xD728D728 .text1:801E269C srwi r23, r27, 2 .text1:801E26A0 slwi r17, r27, 30 .text1:801E26A4 slwi r29, r27, 2 .text1:801E26A8 or r17, r23, r17 .text1:801E26AC srwi r27, r27, 30 .text1:801E26B0 or r27, r29, r27 .text1:801E26B4 addi r23, r21, 0x28D7 # 0x28D728D7 .text1:801E26B8 and r16, r17, r16 .text1:801E26BC addi r21, r19, 0x3E6F # 0xC1903E6F .text1:801E26C0 and r24, r27, r24 .text1:801E26C4 addi r19, r31, -0x3E70 # 0x3E6FC190 .text1:801E26C8 or r24, r16, r24 .text1:801E26CC lis r17, -0x246D # 0xDB93246C .text1:801E26D0 xoris r24, r24, 0x6C4F .text1:801E26D4 lis r16, 0x246D # 0x246CDB93 .text1:801E26D8 xori r24, r24, 0x14C9 .text1:801E26DC addi r17, r17, 0x246C # 0xDB93246C .text1:801E26E0 srwi r31, r24, 8 .text1:801E26E4 addi r16, r16, -0x246D # 0x246CDB93 .text1:801E26E8 slwi r29, r24, 24 .text1:801E26EC slwi r27, r24, 8 .text1:801E26F0 srwi r24, r24, 24 .text1:801E26F4 or r24, r27, r24 .text1:801E26F8 or r29, r31, r29 .text1:801E26FC and r27, r29, r28 .text1:801E2700 and r23, r24, r23 .text1:801E2704 or r23, r27, r23 .text1:801E2708 lwz r23, 0(r23) .text1:801E270C slwi r24, r23, 17 .text1:801E2710 srwi r23, r23, 15 .text1:801E2714 or r23, r24, r23 .text1:801E2718 srwi r24, r23, 16 .text1:801E271C slwi r23, r23, 16 .text1:801E2720 or r23, r24, r23 .text1:801E2724 and r21, r23, r21 .text1:801E2728 and r19, r23, r19 .text1:801E272C or r23, r21, r19 .text1:801E2730 slwi r21, r23, 18 .text1:801E2734 srwi r19, r23, 14 .text1:801E2738 or r23, r21, r19 .text1:801E273C srwi r21, r23, 16 .text1:801E2740 slwi r19, r23, 16 .text1:801E2744 or r19, r21, r19 .text1:801E2748 and r17, r19, r17 .text1:801E274C and r16, r19, r16 .text1:801E2750 or r23, r17, r16 .text1:801E2754 srwi r17, r23, 8 .text1:801E2758 lis r16, 0xF0F # 0xF0F0F0F .text1:801E275C xor r17, r23, r17 .text1:801E2760 lis r21, -0xF0F # 0xF0F0F0F0 .text1:801E2764 clrlwi r27, r17, 28 .text1:801E2768 lis r19, -0x7878 # 0x87878787 .text1:801E276C slwi r24, r27, 8 .text1:801E2770 lis r17, 0x7878 # 0x78787878 .text1:801E2774 or r24, r27, r24 .text1:801E2778 addi r16, r16, 0xF0F # 0xF0F0F0F .text1:801E277C xor r27, r23, r24 .text1:801E2780 addi r17, r17, 0x7878 # 0x78787878 .text1:801E2784 addi r24, r21, -0xF10 # 0xF0F0F0F0 .text1:801E2788 addi r21, r19, -0x7879 # 0x87878787 .text1:801E278C srwi r23, r27, 20 .text1:801E2790 slwi r19, r27, 12 .text1:801E2794 or r23, r23, r19 .text1:801E2798 not r23, r23 .text1:801E279C srwi r27, r23, 23 .text1:801E27A0 srwi r19, r23, 4 .text1:801E27A4 xor r19, r27, r19 .text1:801E27A8 clrlwi r19, r19, 29 .text1:801E27AC slwi r27, r19, 23 .text1:801E27B0 slwi r19, r19, 4 .text1:801E27B4 or r19, r27, r19 .text1:801E27B8 xor r19, r23, r19 .text1:801E27BC addis r23, r19, -0x6BAB .text1:801E27C0 addi r23, r23, -0x1061 .text1:801E27C4 srwi r29, r23, 4 .text1:801E27C8 slwi r28, r23, 28 .text1:801E27CC slwi r27, r23, 4 .text1:801E27D0 srwi r19, r23, 28 .text1:801E27D4 or r23, r29, r28 .text1:801E27D8 or r19, r27, r19 .text1:801E27DC and r16, r23, r16 .text1:801E27E0 and r19, r19, r24 .text1:801E27E4 or r23, r16, r19 .text1:801E27E8 addis r23, r23, 0x10B3 .text1:801E27EC addi r23, r23, 0x60E .text1:801E27F0 srwi r19, r23, 18 .text1:801E27F4 srwi r16, r23, 4 .text1:801E27F8 xor r16, r19, r16 .text1:801E27FC clrlwi r16, r16, 18 .text1:801E2800 slwi r19, r16, 18 .text1:801E2804 slwi r16, r16, 4 .text1:801E2808 or r16, r19, r16 .text1:801E280C xor r16, r23, r16 .text1:801E2810 srwi r19, r16, 18 .text1:801E2814 slwi r16, r16, 14 .text1:801E2818 or r23, r19, r16 .text1:801E281C srwi r27, r23, 4 .text1:801E2820 slwi r24, r23, 28 .text1:801E2824 slwi r19, r23, 4 .text1:801E2828 srwi r16, r23, 28 .text1:801E282C or r16, r19, r16 .text1:801E2830 or r23, r27, r24 .text1:801E2834 and r19, r23, r21 .text1:801E2838 and r16, r16, r17 .text1:801E283C or r23, r19, r16 .text1:801E2840 xoris r23, r23, 0xC093 .text1:801E2844 xori r23, r23, 0xC00A .text1:801E2848 cmpwi cr4, r23, 0 .text1:801E284C beq cr4, success .text1:801E2850 bl go_to_infinite_loop .text1:801E2850 # --------------------------------------------------------------------------- .text1:801E2854 .byte 0xFF .text1:801E2855 .byte 0xE3 # Ò .text1:801E2856 .byte 0xD4 # È .text1:801E2857 .byte 0xE1 # ß .text1:801E2858 .byte 8 .text1:801E2859 .byte 0x18 .text1:801E285A .byte 0x13 .text1:801E285B .byte 5 .text1:801E285C .byte 0 .text1:801E285D .byte 1 .text1:801E285E .byte 0x8B # ï .text1:801E285F .byte 0xEB # Ù .text1:801E2860 # --------------------------------------------------------------------------- .text1:801E2860 .text1:801E2860 go_to_infinite_loop: # CODE XREF: .text1:801E2850p .text1:801E2860 mflr r25 .text1:801E2864 lwz r22, 0(r25) .text1:801E2868 lwz r26, 8(r25) .text1:801E286C stw r26, 8(r1) .text1:801E2870 stw r22, 0x14(r1) .text1:801E2874 stw r25, 0xC(r1) .text1:801E2878 lwz r0, 0x14(r1) .text1:801E287C xori r0, r0, 0x2E .text1:801E2880 stw r0, 0x14(r1) .text1:801E2884 lwz r3, 0x14(r1) .text1:801E2888 lwz r0, 8(r1) .text1:801E288C xor r0, r3, r0 .text1:801E2890 stw r0, 0x10(r1) .text1:801E2894 lwz r3, 0x10(r1) .text1:801E2898 lwz r0, 0xC(r1) .text1:801E289C add r0, r3, r0 .text1:801E28A0 stw r0, 0x10(r1) .text1:801E28A4 lwz r26, 0x10(r1) .text1:801E28A8 mtlr r26 .text1:801E28AC blr # This branches to the following: .text1:801E28AC # 80008778 b 0x80008778 .text1:801E28AC # which is where the game hangs. .text1:801E28B0 # --------------------------------------------------------------------------- .text1:801E28B0 .text1:801E28B0 success: # CODE XREF: .text1:801E284Cj .text1:801E28B0 lwz r3, 4(r15) .text1:801E28B4 lwz r3, 0x50(r3) .text1:801E28B8 lwz r12, 0x34(r1) .text1:801E28BC mtcr r12 .text1:801E28C0 lmw r14, 0x38(r1) .text1:801E28C4 lwz r0, 0x84(r1) .text1:801E28C8 mtlr r0 .text1:801E28CC addi r1, r1, 0x80 .text1:801E28D0 blr .text1:801E28D4 # ---------------------------------------------------------------------------