// Generated by RebrewU -- do not edit #include #include #include #include "Gambit.h" // fn_02853A88 @ 0x2853a88 void Gambit_fn_02853A88(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02801B30: ; // 0x2801b30 /* 02801B30 */ cpu->r[0] = cpu->lr; /* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02801B34 */ cpu->r[1] = _t0; /* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02801B3C */ cpu->r[31] = cpu->r[3]; /* 02801B40 */ cpu->r[3] = 0x101D0000u; /* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u; /* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u; /* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B50 */ _t5 = _t4 & 0x00000001u; /* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70; L_02801B54: ; // 0x2801b54 /* 02801B54 */ cpu->r[3] = cpu->r[31]; /* 02801B58 */ Gambit_fn_02801B20(cpu); /* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u; /* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02801B64 */ cpu->lr = cpu->r[0]; /* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801B6C */ return; L_02801B70: ; // 0x2801b70 /* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B74 */ _t9 = _t8 & 0x00000001u; /* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78; L_02801B78: ; // 0x2801b78 /* 02801B78 */ cpu->r[4] = cpu->r[31]; /* 02801B7C */ Gambit_fn_02826B90(cpu); /* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B84 */ _t11 = _t10 & 0x00000001u; /* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88; L_02801B88: ; // 0x2801b88 /* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu; /* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02801B90 */ cpu->ctr = cpu->r[0]; /* 02801B94 */ cpu->r[4] = cpu->r[31]; /* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr); L_02801B9C: ; // 0x2801b9c /* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u; /* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02801BA4 */ cpu->lr = cpu->r[0]; /* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801BAC */ return; L_02801BB0: ; // 0x2801bb0 /* 02801BB0 */ goto L_02801B30; L_02853A88: ; // 0x2853a88 /* 02853A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02853A8C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853A8C */ _t17 = _t16 & 0x00000001u; /* 02853A8C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02853A8C */ goto L_02853A90; L_02853A90: ; // 0x2853a90 /* 02853A90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02853A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02853A94 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853A94 */ _t19 = _t18 & 0x00000001u; /* 02853A94 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02853A94 */ goto L_02853A98; L_02853A98: ; // 0x2853a98 /* 02853A98 */ goto L_02801BB0; } // fn_02853A9C @ 0x2853a9c void Gambit_fn_02853A9C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_02853A9C: ; // 0x2853a9c /* 02853A9C */ cpu->r[9] = 0x101D0000u; /* 02853AA0 */ _t0 = cpu->r[9] + 0x00001478u; /* 02853AA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 02853AA0 */ cpu->r[9] = _t0; /* 02853AA4 */ cpu->r[12] = 0x101D0000u; /* 02853AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02853AAC */ cpu->r[12] = cpu->r[12] + 0x000015E8u; /* 02853AB0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853AB0 */ _t2 = _t1 & 0x00000001u; /* 02853AB0 */ if (_t2) goto L_02853AB4; else goto L_02853AC8; L_02853AB4: ; // 0x2853ab4 /* 02853AB4 */ cpu->r[7] = 0x10130000u; /* 02853AB8 */ cpu->r[0] = 0x00000001u; /* 02853ABC */ cpu->r[7] = cpu->r[7] + 0x000005D4u; /* 02853AC0 */ _t3 = cpu->r[9] + 0x00000000u; /* 02853AC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02853AC4 */ _t4 = cpu->r[12] + 0x00000000u; /* 02853AC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]); L_02853AC8: ; // 0x2853ac8 /* 02853AC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]); /* 02853ACC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853ACC */ _t6 = _t5 & 0x00000001u; /* 02853ACC */ if (_t6) goto L_02853AD0; else goto L_02853AD8; L_02853AD0: ; // 0x2853ad0 /* 02853AD0 */ cpu->r[3] = 0x00000001u; /* 02853AD4 */ return; L_02853AD8: ; // 0x2853ad8 /* 02853AD8 */ cpu->r[7] = 0x101D0000u; /* 02853ADC */ _t7 = cpu->r[7] + 0xFFFFD4F8u; /* 02853ADC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 02853ADC */ cpu->r[7] = _t7; /* 02853AE0 */ cpu->r[11] = 0x101D0000u; /* 02853AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02853AE8 */ cpu->r[11] = cpu->r[11] + 0x00001514u; /* 02853AEC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853AEC */ _t9 = _t8 & 0x00000001u; /* 02853AEC */ if (_t9) goto L_02853AF0; else goto L_02853B04; L_02853AF0: ; // 0x2853af0 /* 02853AF0 */ cpu->r[0] = 0x10130000u; /* 02853AF4 */ cpu->r[9] = 0x00000001u; /* 02853AF8 */ cpu->r[0] = cpu->r[0] + 0x000005C4u; /* 02853AFC */ _t10 = cpu->r[7] + 0x00000000u; /* 02853AFC */ rbrew_write32(cpu->mem, _t10, cpu->r[9]); /* 02853B00 */ _t11 = cpu->r[11] + 0x00000000u; /* 02853B00 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); L_02853B04: ; // 0x2853b04 /* 02853B04 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11]; /* 02853B08 */ cpu->r[8] = rbrew_clz32(cpu->r[0]); /* 02853B0C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu); /* 02853B10 */ return; } // fn_02853B14 @ 0x2853b14 void Gambit_fn_02853B14(CPUState* cpu) { uint32_t _t0, _t1; L_02853B14: ; // 0x2853b14 /* 02853B14 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 02853B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02853B18 */ _t1 = cpu->r[12] + 0x00000074u; /* 02853B18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 02853B1C */ cpu->ctr = cpu->r[0]; /* 02853B20 */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_02853B24 @ 0x2853b24 void Gambit_fn_02853B24(CPUState* cpu) { uint32_t _t0; L_02853B24: ; // 0x2853b24 /* 02853B24 */ _t0 = cpu->r[3] + 0x0000001Cu; /* 02853B24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0); /* 02853B28 */ return; } // fn_02853B2C @ 0x2853b2c void Gambit_fn_02853B2C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02853B2C: ; // 0x2853b2c /* 02853B2C */ cpu->r[0] = cpu->lr; /* 02853B30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02853B30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02853B30 */ cpu->r[1] = _t0; /* 02853B34 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02853B34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02853B38 */ _t2 = cpu->r[1] + 0x00000014u; /* 02853B38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02853B3C */ _t3 = cpu->r[3] + 0x0000000Cu; /* 02853B3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02853B40 */ _t4 = cpu->r[12] + 0x00000074u; /* 02853B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02853B44 */ cpu->ctr = cpu->r[0]; /* 02853B48 */ _t5 = cpu->r[3] + 0x0000001Cu; /* 02853B48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 02853B4C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02853B50 */ _t6 = cpu->r[1] + 0x00000014u; /* 02853B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02853B54 */ cpu->r[3] = cpu->r[31] + cpu->r[3]; /* 02853B58 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02853B58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02853B5C */ cpu->lr = cpu->r[0]; /* 02853B60 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02853B64 */ return; } // fn_02853B30 @ 0x2853b30 void Gambit_fn_02853B30(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02853B30: ; // 0x2853b30 /* 02853B30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02853B30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02853B30 */ cpu->r[1] = _t0; /* 02853B34 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02853B34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02853B38 */ _t2 = cpu->r[1] + 0x00000014u; /* 02853B38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02853B3C */ _t3 = cpu->r[3] + 0x0000000Cu; /* 02853B3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02853B40 */ _t4 = cpu->r[12] + 0x00000074u; /* 02853B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02853B44 */ cpu->ctr = cpu->r[0]; /* 02853B48 */ _t5 = cpu->r[3] + 0x0000001Cu; /* 02853B48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 02853B4C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02853B50 */ _t6 = cpu->r[1] + 0x00000014u; /* 02853B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02853B54 */ cpu->r[3] = cpu->r[31] + cpu->r[3]; /* 02853B58 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02853B58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02853B5C */ cpu->lr = cpu->r[0]; /* 02853B60 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02853B64 */ return; } // fn_02853B68 @ 0x2853b68 void Gambit_fn_02853B68(CPUState* cpu) { uint32_t _t0; L_02853B68: ; // 0x2853b68 /* 02853B68 */ _t0 = cpu->r[3] + 0x00000020u; /* 02853B68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0); /* 02853B6C */ return; } // fn_02853B70 @ 0x2853b70 void Gambit_fn_02853B70(CPUState* cpu) { L_02853B70: ; // 0x2853b70 /* 02853B70 */ cpu->r[3] = 0x00000001u; /* 02853B74 */ return; } // fn_02853B78 @ 0x2853b78 void Gambit_fn_02853B78(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02801B30: ; // 0x2801b30 /* 02801B30 */ cpu->r[0] = cpu->lr; /* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02801B34 */ cpu->r[1] = _t0; /* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02801B3C */ cpu->r[31] = cpu->r[3]; /* 02801B40 */ cpu->r[3] = 0x101D0000u; /* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u; /* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u; /* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B50 */ _t5 = _t4 & 0x00000001u; /* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70; L_02801B54: ; // 0x2801b54 /* 02801B54 */ cpu->r[3] = cpu->r[31]; /* 02801B58 */ Gambit_fn_02801B20(cpu); /* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u; /* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02801B64 */ cpu->lr = cpu->r[0]; /* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801B6C */ return; L_02801B70: ; // 0x2801b70 /* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B74 */ _t9 = _t8 & 0x00000001u; /* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78; L_02801B78: ; // 0x2801b78 /* 02801B78 */ cpu->r[4] = cpu->r[31]; /* 02801B7C */ Gambit_fn_02826B90(cpu); /* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B84 */ _t11 = _t10 & 0x00000001u; /* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88; L_02801B88: ; // 0x2801b88 /* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu; /* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02801B90 */ cpu->ctr = cpu->r[0]; /* 02801B94 */ cpu->r[4] = cpu->r[31]; /* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr); L_02801B9C: ; // 0x2801b9c /* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u; /* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02801BA4 */ cpu->lr = cpu->r[0]; /* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801BAC */ return; L_02801BB0: ; // 0x2801bb0 /* 02801BB0 */ goto L_02801B30; L_02853B78: ; // 0x2853b78 /* 02853B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02853B7C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853B7C */ _t17 = _t16 & 0x00000001u; /* 02853B7C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02853B7C */ goto L_02853B80; L_02853B80: ; // 0x2853b80 /* 02853B80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02853B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02853B84 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853B84 */ _t19 = _t18 & 0x00000001u; /* 02853B84 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02853B84 */ goto L_02853B88; L_02853B88: ; // 0x2853b88 /* 02853B88 */ goto L_02801BB0; } // fn_02853B8C @ 0x2853b8c void Gambit_fn_02853B8C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43; L_02853B8C: ; // 0x2853b8c /* 02853B8C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02853B8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02853B8C */ cpu->r[1] = _t0; /* 02853B90 */ cpu->r[0] = cpu->lr; /* 02853B94 */ /* nop */ /* 02853B98 */ cpu->r[30] = cpu->r[3]; /* 02853B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02853B9C */ cpu->r[27] = cpu->r[4]; /* 02853BA0 */ cpu->r[31] = cpu->r[5]; /* 02853BA4 */ cpu->r[28] = cpu->r[6]; /* 02853BA8 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02853BA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02853BAC */ cpu->r[29] = cpu->r[7]; /* 02853BB0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853BB0 */ _t3 = _t2 & 0x00000001u; /* 02853BB0 */ if (_t3) goto L_02853BB4; else goto L_02853BC4; L_02853BB4: ; // 0x2853bb4 /* 02853BB4 */ cpu->r[3] = 0x000000D0u; /* 02853BB8 */ Gambit_fn_02801A78(cpu); /* 02853BBC */ cpu->r[30] = cpu->r[3]; /* 02853BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02853BC0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853BC0 */ _t5 = _t4 & 0x00000001u; /* 02853BC0 */ if (_t5) goto L_02853CD0; else goto L_02853BC4; L_02853BC4: ; // 0x2853bc4 /* 02853BC4 */ cpu->r[0] = 0x10130000u; /* 02853BC8 */ cpu->r[11] = 0x10130000u; /* 02853BCC */ cpu->r[6] = cpu->r[29]; /* 02853BD0 */ cpu->r[3] = cpu->r[30]; /* 02853BD4 */ cpu->r[11] = cpu->r[11] + 0x0000071Cu; /* 02853BD8 */ cpu->r[8] = 0x80000000u; /* 02853BDC */ cpu->r[10] = 0x00000001u; /* 02853BE0 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 02853BE0 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]); /* 02853BE4 */ cpu->r[29] = 0x00000000u; /* 02853BE8 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02853BEC */ cpu->r[0] = cpu->r[0] + 0x00000734u; /* 02853BF0 */ cpu->r[5] = cpu->r[29]; /* 02853BF4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 02853BF8 */ cpu->r[9] = cpu->r[28]; /* 02853BFC */ cpu->r[7] = cpu->r[5]; /* 02853C00 */ _t7 = cpu->r[1] + 0x00000008u; /* 02853C00 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 02853C04 */ Gambit_fn_02837758(cpu); /* 02853C08 */ cpu->r[0] = 0x10130000u; /* 02853C0C */ _t8 = cpu->r[30] + 0x00000098u; /* 02853C0C */ rbrew_write32(cpu->mem, _t8, cpu->r[29]); /* 02853C10 */ cpu->r[0] = cpu->r[0] + 0x0000073Cu; /* 02853C14 */ _t9 = cpu->r[30] + 0x000000A0u; /* 02853C14 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]); /* 02853C18 */ cpu->r[3] = cpu->r[30] + 0x000000A4u; /* 02853C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02853C1C */ _t10 = cpu->r[30] + 0x0000009Cu; /* 02853C1C */ rbrew_write32(cpu->mem, _t10, cpu->r[29]); /* 02853C20 */ _t11 = cpu->r[30] + 0x0000000Cu; /* 02853C20 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 02853C24 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853C24 */ _t13 = _t12 & 0x00000001u; /* 02853C24 */ if (_t13) goto L_02853C28; else goto L_02853C38; L_02853C28: ; // 0x2853c28 /* 02853C28 */ cpu->r[3] = 0x00000010u; /* 02853C2C */ Gambit_fn_02801A78(cpu); /* 02853C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02853C34 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853C34 */ _t15 = _t14 & 0x00000001u; /* 02853C34 */ if (_t15) goto L_02853C48; else goto L_02853C38; L_02853C38: ; // 0x2853c38 /* 02853C38 */ _t16 = cpu->r[3] + 0x00000004u; /* 02853C38 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); /* 02853C3C */ _t17 = cpu->r[3] + 0x00000008u; /* 02853C3C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]); /* 02853C40 */ _t18 = cpu->r[3] + 0x00000000u; /* 02853C40 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]); /* 02853C44 */ _t19 = cpu->r[3] + 0x0000000Cu; /* 02853C44 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]); L_02853C48: ; // 0x2853c48 /* 02853C48 */ cpu->r[3] = cpu->r[30] + 0x000000B4u; /* 02853C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02853C4C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853C4C */ _t21 = _t20 & 0x00000001u; /* 02853C4C */ if (_t21) goto L_02853C50; else goto L_02853C60; L_02853C50: ; // 0x2853c50 /* 02853C50 */ cpu->r[3] = 0x00000004u; /* 02853C54 */ Gambit_fn_02801A78(cpu); /* 02853C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02853C5C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853C5C */ _t23 = _t22 & 0x00000001u; /* 02853C5C */ if (_t23) goto L_02853C64; else goto L_02853C60; L_02853C60: ; // 0x2853c60 /* 02853C60 */ _t24 = cpu->r[3] + 0x00000000u; /* 02853C60 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]); L_02853C64: ; // 0x2853c64 /* 02853C64 */ _t25 = cpu->r[30] + 0x000000BCu; /* 02853C64 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]); /* 02853C68 */ _t26 = cpu->r[30] + 0x000000C0u; /* 02853C68 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]); /* 02853C6C */ _t27 = cpu->r[30] + 0x000000B8u; /* 02853C6C */ rbrew_write32(cpu->mem, _t27, cpu->r[29]); /* 02853C70 */ rbrew_dispatch(cpu, 0x02d0ab30u); /* 02853C74 */ _t28 = cpu->r[30] + 0x000000CCu; /* 02853C74 */ rbrew_write32(cpu->mem, _t28, cpu->r[4]); /* 02853C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02853C7C */ _t29 = cpu->r[30] + 0x000000C8u; /* 02853C7C */ rbrew_write32(cpu->mem, _t29, cpu->r[3]); /* 02853C80 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 02853C80 */ _t31 = _t30 & 0x00000001u; /* 02853C80 */ if (_t31) goto L_02853C84; else goto L_02853CD0; L_02853C84: ; // 0x2853c84 /* 02853C84 */ cpu->r[3] = 0x101D0000u; /* 02853C88 */ _t32 = cpu->r[3] + 0xFFFF98F0u; /* 02853C88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32); /* 02853C8C */ Gambit_fn_02826F20(cpu); /* 02853C90 */ _t33 = cpu->r[3] + 0x0000000Cu; /* 02853C90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33); /* 02853C94 */ _t34 = cpu->r[9] + 0x00000034u; /* 02853C94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34); /* 02853C98 */ cpu->ctr = cpu->r[10]; /* 02853C9C */ cpu->r[5] = 0x00000004u; /* 02853CA0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02853CA4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02853CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02853CAC */ cpu->r[0] = cpu->r[31]; /* 02853CB0 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u); /* 02853CB0 */ _t36 = _t35 & 0x00000001u; /* 02853CB0 */ if (_t36) goto L_02853CB8; else goto L_02853CB4; L_02853CB4: ; // 0x2853cb4 /* 02853CB4 */ cpu->r[0] = 0x00000001u; L_02853CB8: ; // 0x2853cb8 /* 02853CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02853CBC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853CBC */ _t38 = _t37 & 0x00000001u; /* 02853CBC */ if (_t38) goto L_02853CD0; else goto L_02853CC0; L_02853CC0: ; // 0x2853cc0 /* 02853CC0 */ _t39 = cpu->r[30] + 0x000000B0u; /* 02853CC0 */ rbrew_write32(cpu->mem, _t39, cpu->r[29]); /* 02853CC4 */ _t40 = cpu->r[30] + 0x000000ACu; /* 02853CC4 */ rbrew_write32(cpu->mem, _t40, cpu->r[29]); /* 02853CC8 */ _t41 = cpu->r[30] + 0x000000A4u; /* 02853CC8 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]); /* 02853CCC */ _t42 = cpu->r[30] + 0x000000A8u; /* 02853CCC */ rbrew_write32(cpu->mem, _t42, cpu->r[31]); L_02853CD0: ; // 0x2853cd0 /* 02853CD0 */ cpu->r[3] = cpu->r[30]; /* 02853CD4 */ /* nop */ /* 02853CD8 */ _t43 = cpu->r[1] + 0x0000002Cu; /* 02853CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43); /* 02853CDC */ cpu->lr = cpu->r[0]; /* 02853CE0 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02853CE4 */ return; } // fn_02853CE8 @ 0x2853ce8 void Gambit_fn_02853CE8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50; L_02853CE8: ; // 0x2853ce8 /* 02853CE8 */ cpu->r[0] = cpu->lr; /* 02853CEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02853CEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02853CEC */ cpu->r[1] = _t0; /* 02853CF0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02853CF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02853CF4 */ cpu->r[31] = cpu->r[3] + 0x000000B4u; /* 02853CF8 */ _t2 = cpu->r[1] + 0x00000008u; /* 02853CF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02853CFC */ _t3 = cpu->r[1] + 0x00000014u; /* 02853CFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); L_02853D00: ; // 0x2853d00 /* 02853D00 */ _t4 = cpu->r[31] + 0x00000000u; /* 02853D00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 02853D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u); /* 02853D08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853D08 */ _t6 = _t5 & 0x00000001u; /* 02853D08 */ if (_t6) goto L_02853D00; else goto L_02853D0C; L_02853D0C: ; // 0x2853d0c /* 02853D0C */ _t7 = cpu->r[0] + cpu->r[31]; /* 02853D0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 02853D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02853D14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853D14 */ _t9 = _t8 & 0x00000001u; /* 02853D14 */ if (_t9) goto L_02853D18; else goto L_02853D0C; L_02853D18: ; // 0x2853d18 /* 02853D18 */ /* nop */ /* 02853D1C */ cpu->r[9] = 0x00000001u; /* 02853D20 */ /* nop */ /* 02853D24 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853D24 */ _t11 = _t10 & 0x00000001u; /* 02853D24 */ if (_t11) goto L_02853D28; else goto L_02853D0C; L_02853D28: ; // 0x2853d28 /* 02853D28 */ _t12 = cpu->r[3] + 0x000000B0u; /* 02853D28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02853D2C */ _t13 = cpu->r[3] + 0x000000A8u; /* 02853D2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 02853D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]); /* 02853D34 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853D34 */ _t15 = _t14 & 0x00000001u; /* 02853D34 */ if (_t15) goto L_02853D38; else goto L_02853D80; L_02853D38: ; // 0x2853d38 /* 02853D38 */ _t16 = cpu->r[6] + 0x00000000u; /* 02853D38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 02853D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02853D40 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853D40 */ _t18 = _t17 & 0x00000001u; /* 02853D40 */ if (_t18) goto L_02853D44; else goto L_02853D90; L_02853D44: ; // 0x2853d44 /* 02853D44 */ _t19 = cpu->r[3] + 0x000000ACu; /* 02853D44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19); /* 02853D48 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 02853D4C */ _t20 = cpu->r[3] + 0x000000A8u; /* 02853D4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t20); /* 02853D50 */ cpu->r[11] = cpu->r[11] + cpu->r[12]; /* 02853D54 */ _t21 = cpu->r[3] + 0x000000A4u; /* 02853D54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 02853D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]); /* 02853D5C */ _t22 = cpu->r[3] + 0x000000B0u; /* 02853D5C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 02853D60 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853D60 */ _t24 = _t23 & 0x00000001u; /* 02853D60 */ if (_t24) goto L_02853D68; else goto L_02853D64; L_02853D64: ; // 0x2853d64 /* 02853D64 */ cpu->r[11] = cpu->r[11] - cpu->r[9]; L_02853D68: ; // 0x2853d68 /* 02853D68 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02853D6C */ _t25 = cpu->r[7] + cpu->r[8]; /* 02853D6C */ rbrew_write32(cpu->mem, _t25, cpu->r[5]); /* 02853D70 */ cpu->r[30] = 0x00000001u; /* 02853D74 */ _t26 = cpu->r[5] + 0x00000040u; /* 02853D74 */ rbrew_write32(cpu->mem, _t26, cpu->r[4]); /* 02853D78 */ rbrew_dispatch(cpu, 0x02d0ad98u); /* 02853D7C */ goto L_02853DE4; L_02853D80: ; // 0x2853d80 /* 02853D80 */ cpu->r[30] = 0x00000000u; /* 02853D84 */ _t27 = cpu->r[5] + 0x00000040u; /* 02853D84 */ rbrew_write32(cpu->mem, _t27, cpu->r[4]); /* 02853D88 */ rbrew_dispatch(cpu, 0x02d0ad98u); /* 02853D8C */ goto L_02853DE4; L_02853D90: ; // 0x2853d90 /* 02853D90 */ _t28 = cpu->r[3] + 0x000000ACu; /* 02853D90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 02853D94 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 02853D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02853D98 */ _t29 = cpu->r[3] + 0x000000ACu; /* 02853D98 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]); /* 02853D9C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853D9C */ _t31 = _t30 & 0x00000001u; /* 02853D9C */ if (_t31) goto L_02853DA0; else goto L_02853DAC; L_02853DA0: ; // 0x2853da0 /* 02853DA0 */ _t32 = cpu->r[3] + 0x000000A8u; /* 02853DA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32); /* 02853DA4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 02853DA8 */ _t33 = cpu->r[3] + 0x000000ACu; /* 02853DA8 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]); L_02853DAC: ; // 0x2853dac /* 02853DAC */ _t34 = cpu->r[3] + 0x000000B0u; /* 02853DAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 02853DB0 */ _t35 = cpu->r[3] + 0x000000ACu; /* 02853DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 02853DB4 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 02853DB8 */ _t36 = cpu->r[3] + 0x000000A8u; /* 02853DB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36); /* 02853DBC */ _t37 = cpu->r[3] + 0x000000B0u; /* 02853DBC */ rbrew_write32(cpu->mem, _t37, cpu->r[12]); /* 02853DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[9]); /* 02853DC4 */ _t38 = cpu->r[3] + 0x000000A4u; /* 02853DC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38); /* 02853DC8 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853DC8 */ _t40 = _t39 & 0x00000001u; /* 02853DC8 */ if (_t40) goto L_02853DD0; else goto L_02853DCC; L_02853DCC: ; // 0x2853dcc /* 02853DCC */ cpu->r[0] = cpu->r[0] - cpu->r[9]; L_02853DD0: ; // 0x2853dd0 /* 02853DD0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02853DD4 */ _t41 = cpu->r[6] + cpu->r[7]; /* 02853DD4 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]); /* 02853DD8 */ cpu->r[30] = 0x00000001u; /* 02853DDC */ _t42 = cpu->r[5] + 0x00000040u; /* 02853DDC */ rbrew_write32(cpu->mem, _t42, cpu->r[4]); /* 02853DE0 */ rbrew_dispatch(cpu, 0x02d0ad98u); L_02853DE4: ; // 0x2853de4 /* 02853DE4 */ _t43 = cpu->r[0] + cpu->r[31]; /* 02853DE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43); /* 02853DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u); /* 02853DEC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853DEC */ _t45 = _t44 & 0x00000001u; /* 02853DEC */ if (_t45) goto L_02853DF0; else goto L_02853DE4; L_02853DF0: ; // 0x2853df0 /* 02853DF0 */ /* nop */ /* 02853DF4 */ cpu->r[9] = 0x00000000u; /* 02853DF8 */ /* nop */ /* 02853DFC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853DFC */ _t47 = _t46 & 0x00000001u; /* 02853DFC */ if (_t47) goto L_02853E00; else goto L_02853DE4; L_02853E00: ; // 0x2853e00 /* 02853E00 */ _t48 = cpu->r[1] + 0x00000014u; /* 02853E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 02853E04 */ cpu->r[3] = cpu->r[30]; /* 02853E08 */ _t49 = cpu->r[1] + 0x00000008u; /* 02853E08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49); /* 02853E0C */ cpu->lr = cpu->r[0]; /* 02853E10 */ _t50 = cpu->r[1] + 0x0000000Cu; /* 02853E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50); /* 02853E14 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02853E18 */ return; } // fn_02853CEC @ 0x2853cec void Gambit_fn_02853CEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50; L_02853CEC: ; // 0x2853cec /* 02853CEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02853CEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02853CEC */ cpu->r[1] = _t0; /* 02853CF0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02853CF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02853CF4 */ cpu->r[31] = cpu->r[3] + 0x000000B4u; /* 02853CF8 */ _t2 = cpu->r[1] + 0x00000008u; /* 02853CF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02853CFC */ _t3 = cpu->r[1] + 0x00000014u; /* 02853CFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); L_02853D00: ; // 0x2853d00 /* 02853D00 */ _t4 = cpu->r[31] + 0x00000000u; /* 02853D00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 02853D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u); /* 02853D08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853D08 */ _t6 = _t5 & 0x00000001u; /* 02853D08 */ if (_t6) goto L_02853D00; else goto L_02853D0C; L_02853D0C: ; // 0x2853d0c /* 02853D0C */ _t7 = cpu->r[0] + cpu->r[31]; /* 02853D0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 02853D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02853D14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853D14 */ _t9 = _t8 & 0x00000001u; /* 02853D14 */ if (_t9) goto L_02853D18; else goto L_02853D0C; L_02853D18: ; // 0x2853d18 /* 02853D18 */ /* nop */ /* 02853D1C */ cpu->r[9] = 0x00000001u; /* 02853D20 */ /* nop */ /* 02853D24 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853D24 */ _t11 = _t10 & 0x00000001u; /* 02853D24 */ if (_t11) goto L_02853D28; else goto L_02853D0C; L_02853D28: ; // 0x2853d28 /* 02853D28 */ _t12 = cpu->r[3] + 0x000000B0u; /* 02853D28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02853D2C */ _t13 = cpu->r[3] + 0x000000A8u; /* 02853D2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 02853D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]); /* 02853D34 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853D34 */ _t15 = _t14 & 0x00000001u; /* 02853D34 */ if (_t15) goto L_02853D38; else goto L_02853D80; L_02853D38: ; // 0x2853d38 /* 02853D38 */ _t16 = cpu->r[6] + 0x00000000u; /* 02853D38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 02853D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02853D40 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853D40 */ _t18 = _t17 & 0x00000001u; /* 02853D40 */ if (_t18) goto L_02853D44; else goto L_02853D90; L_02853D44: ; // 0x2853d44 /* 02853D44 */ _t19 = cpu->r[3] + 0x000000ACu; /* 02853D44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19); /* 02853D48 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 02853D4C */ _t20 = cpu->r[3] + 0x000000A8u; /* 02853D4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t20); /* 02853D50 */ cpu->r[11] = cpu->r[11] + cpu->r[12]; /* 02853D54 */ _t21 = cpu->r[3] + 0x000000A4u; /* 02853D54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 02853D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]); /* 02853D5C */ _t22 = cpu->r[3] + 0x000000B0u; /* 02853D5C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 02853D60 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853D60 */ _t24 = _t23 & 0x00000001u; /* 02853D60 */ if (_t24) goto L_02853D68; else goto L_02853D64; L_02853D64: ; // 0x2853d64 /* 02853D64 */ cpu->r[11] = cpu->r[11] - cpu->r[9]; L_02853D68: ; // 0x2853d68 /* 02853D68 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02853D6C */ _t25 = cpu->r[7] + cpu->r[8]; /* 02853D6C */ rbrew_write32(cpu->mem, _t25, cpu->r[5]); /* 02853D70 */ cpu->r[30] = 0x00000001u; /* 02853D74 */ _t26 = cpu->r[5] + 0x00000040u; /* 02853D74 */ rbrew_write32(cpu->mem, _t26, cpu->r[4]); /* 02853D78 */ rbrew_dispatch(cpu, 0x02d0ad98u); /* 02853D7C */ goto L_02853DE4; L_02853D80: ; // 0x2853d80 /* 02853D80 */ cpu->r[30] = 0x00000000u; /* 02853D84 */ _t27 = cpu->r[5] + 0x00000040u; /* 02853D84 */ rbrew_write32(cpu->mem, _t27, cpu->r[4]); /* 02853D88 */ rbrew_dispatch(cpu, 0x02d0ad98u); /* 02853D8C */ goto L_02853DE4; L_02853D90: ; // 0x2853d90 /* 02853D90 */ _t28 = cpu->r[3] + 0x000000ACu; /* 02853D90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 02853D94 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 02853D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02853D98 */ _t29 = cpu->r[3] + 0x000000ACu; /* 02853D98 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]); /* 02853D9C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853D9C */ _t31 = _t30 & 0x00000001u; /* 02853D9C */ if (_t31) goto L_02853DA0; else goto L_02853DAC; L_02853DA0: ; // 0x2853da0 /* 02853DA0 */ _t32 = cpu->r[3] + 0x000000A8u; /* 02853DA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32); /* 02853DA4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 02853DA8 */ _t33 = cpu->r[3] + 0x000000ACu; /* 02853DA8 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]); L_02853DAC: ; // 0x2853dac /* 02853DAC */ _t34 = cpu->r[3] + 0x000000B0u; /* 02853DAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 02853DB0 */ _t35 = cpu->r[3] + 0x000000ACu; /* 02853DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 02853DB4 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 02853DB8 */ _t36 = cpu->r[3] + 0x000000A8u; /* 02853DB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36); /* 02853DBC */ _t37 = cpu->r[3] + 0x000000B0u; /* 02853DBC */ rbrew_write32(cpu->mem, _t37, cpu->r[12]); /* 02853DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[9]); /* 02853DC4 */ _t38 = cpu->r[3] + 0x000000A4u; /* 02853DC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38); /* 02853DC8 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853DC8 */ _t40 = _t39 & 0x00000001u; /* 02853DC8 */ if (_t40) goto L_02853DD0; else goto L_02853DCC; L_02853DCC: ; // 0x2853dcc /* 02853DCC */ cpu->r[0] = cpu->r[0] - cpu->r[9]; L_02853DD0: ; // 0x2853dd0 /* 02853DD0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02853DD4 */ _t41 = cpu->r[6] + cpu->r[7]; /* 02853DD4 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]); /* 02853DD8 */ cpu->r[30] = 0x00000001u; /* 02853DDC */ _t42 = cpu->r[5] + 0x00000040u; /* 02853DDC */ rbrew_write32(cpu->mem, _t42, cpu->r[4]); /* 02853DE0 */ rbrew_dispatch(cpu, 0x02d0ad98u); L_02853DE4: ; // 0x2853de4 /* 02853DE4 */ _t43 = cpu->r[0] + cpu->r[31]; /* 02853DE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43); /* 02853DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u); /* 02853DEC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853DEC */ _t45 = _t44 & 0x00000001u; /* 02853DEC */ if (_t45) goto L_02853DF0; else goto L_02853DE4; L_02853DF0: ; // 0x2853df0 /* 02853DF0 */ /* nop */ /* 02853DF4 */ cpu->r[9] = 0x00000000u; /* 02853DF8 */ /* nop */ /* 02853DFC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853DFC */ _t47 = _t46 & 0x00000001u; /* 02853DFC */ if (_t47) goto L_02853E00; else goto L_02853DE4; L_02853E00: ; // 0x2853e00 /* 02853E00 */ _t48 = cpu->r[1] + 0x00000014u; /* 02853E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 02853E04 */ cpu->r[3] = cpu->r[30]; /* 02853E08 */ _t49 = cpu->r[1] + 0x00000008u; /* 02853E08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49); /* 02853E0C */ cpu->lr = cpu->r[0]; /* 02853E10 */ _t50 = cpu->r[1] + 0x0000000Cu; /* 02853E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50); /* 02853E14 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02853E18 */ return; } // fn_02853E1C @ 0x2853e1c void Gambit_fn_02853E1C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02853E1C: ; // 0x2853e1c /* 02853E1C */ cpu->r[0] = cpu->lr; /* 02853E20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02853E20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02853E20 */ cpu->r[1] = _t0; /* 02853E24 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02853E24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02853E28 */ cpu->r[31] = cpu->r[3] + 0x000000B4u; /* 02853E2C */ _t2 = cpu->r[1] + 0x00000014u; /* 02853E2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); L_02853E30: ; // 0x2853e30 /* 02853E30 */ _t3 = cpu->r[31] + 0x00000000u; /* 02853E30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3); /* 02853E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u); /* 02853E38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853E38 */ _t5 = _t4 & 0x00000001u; /* 02853E38 */ if (_t5) goto L_02853E30; else goto L_02853E3C; L_02853E3C: ; // 0x2853e3c /* 02853E3C */ _t6 = cpu->r[0] + cpu->r[31]; /* 02853E3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02853E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02853E44 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853E44 */ _t8 = _t7 & 0x00000001u; /* 02853E44 */ if (_t8) goto L_02853E48; else goto L_02853E3C; L_02853E48: ; // 0x2853e48 /* 02853E48 */ /* nop */ /* 02853E4C */ cpu->r[10] = 0x00000001u; /* 02853E50 */ /* nop */ /* 02853E54 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853E54 */ _t10 = _t9 & 0x00000001u; /* 02853E54 */ if (_t10) goto L_02853E58; else goto L_02853E3C; L_02853E58: ; // 0x2853e58 /* 02853E58 */ cpu->r[9] = 0x00000000u; /* 02853E5C */ _t11 = cpu->r[3] + 0x000000B0u; /* 02853E5C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 02853E60 */ _t12 = cpu->r[3] + 0x000000ACu; /* 02853E60 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]); /* 02853E64 */ rbrew_dispatch(cpu, 0x02d0ad98u); L_02853E68: ; // 0x2853e68 /* 02853E68 */ _t13 = cpu->r[0] + cpu->r[31]; /* 02853E68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 02853E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u); /* 02853E70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853E70 */ _t15 = _t14 & 0x00000001u; /* 02853E70 */ if (_t15) goto L_02853E74; else goto L_02853E68; L_02853E74: ; // 0x2853e74 /* 02853E74 */ /* nop */ /* 02853E78 */ cpu->r[12] = 0x00000000u; /* 02853E7C */ /* nop */ /* 02853E80 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853E80 */ _t17 = _t16 & 0x00000001u; /* 02853E80 */ if (_t17) goto L_02853E84; else goto L_02853E68; L_02853E84: ; // 0x2853e84 /* 02853E84 */ _t18 = cpu->r[1] + 0x00000014u; /* 02853E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02853E88 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02853E88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 02853E8C */ cpu->lr = cpu->r[0]; /* 02853E90 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02853E94 */ return; } // fn_02853E20 @ 0x2853e20 void Gambit_fn_02853E20(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02853E20: ; // 0x2853e20 /* 02853E20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02853E20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02853E20 */ cpu->r[1] = _t0; /* 02853E24 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02853E24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02853E28 */ cpu->r[31] = cpu->r[3] + 0x000000B4u; /* 02853E2C */ _t2 = cpu->r[1] + 0x00000014u; /* 02853E2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); L_02853E30: ; // 0x2853e30 /* 02853E30 */ _t3 = cpu->r[31] + 0x00000000u; /* 02853E30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3); /* 02853E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u); /* 02853E38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853E38 */ _t5 = _t4 & 0x00000001u; /* 02853E38 */ if (_t5) goto L_02853E30; else goto L_02853E3C; L_02853E3C: ; // 0x2853e3c /* 02853E3C */ _t6 = cpu->r[0] + cpu->r[31]; /* 02853E3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02853E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02853E44 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853E44 */ _t8 = _t7 & 0x00000001u; /* 02853E44 */ if (_t8) goto L_02853E48; else goto L_02853E3C; L_02853E48: ; // 0x2853e48 /* 02853E48 */ /* nop */ /* 02853E4C */ cpu->r[10] = 0x00000001u; /* 02853E50 */ /* nop */ /* 02853E54 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853E54 */ _t10 = _t9 & 0x00000001u; /* 02853E54 */ if (_t10) goto L_02853E58; else goto L_02853E3C; L_02853E58: ; // 0x2853e58 /* 02853E58 */ cpu->r[9] = 0x00000000u; /* 02853E5C */ _t11 = cpu->r[3] + 0x000000B0u; /* 02853E5C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 02853E60 */ _t12 = cpu->r[3] + 0x000000ACu; /* 02853E60 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]); /* 02853E64 */ rbrew_dispatch(cpu, 0x02d0ad98u); L_02853E68: ; // 0x2853e68 /* 02853E68 */ _t13 = cpu->r[0] + cpu->r[31]; /* 02853E68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 02853E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u); /* 02853E70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853E70 */ _t15 = _t14 & 0x00000001u; /* 02853E70 */ if (_t15) goto L_02853E74; else goto L_02853E68; L_02853E74: ; // 0x2853e74 /* 02853E74 */ /* nop */ /* 02853E78 */ cpu->r[12] = 0x00000000u; /* 02853E7C */ /* nop */ /* 02853E80 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853E80 */ _t17 = _t16 & 0x00000001u; /* 02853E80 */ if (_t17) goto L_02853E84; else goto L_02853E68; L_02853E84: ; // 0x2853e84 /* 02853E84 */ _t18 = cpu->r[1] + 0x00000014u; /* 02853E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02853E88 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02853E88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 02853E8C */ cpu->lr = cpu->r[0]; /* 02853E90 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02853E94 */ return; } // fn_02853E98 @ 0x2853e98 void Gambit_fn_02853E98(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02853E98: ; // 0x2853e98 /* 02853E98 */ _t0 = cpu->r[3] + 0x000000B0u; /* 02853E98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 02853E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02853EA0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853EA0 */ _t2 = _t1 & 0x00000001u; /* 02853EA0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02853EA0 */ goto L_02853EA4; L_02853EA4: ; // 0x2853ea4 /* 02853EA4 */ _t3 = cpu->r[3] + 0x0000000Cu; /* 02853EA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02853EA8 */ cpu->r[5] = 0x00000001u; /* 02853EAC */ _t4 = cpu->r[3] + 0x0000009Cu; /* 02853EAC */ rbrew_write32(cpu->mem, _t4, cpu->r[5]); /* 02853EB0 */ _t5 = cpu->r[12] + 0x0000001Cu; /* 02853EB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 02853EB4 */ cpu->ctr = cpu->r[10]; /* 02853EB8 */ _t6 = cpu->r[3] + 0x0000009Cu; /* 02853EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02853EBC */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_02853EC0 @ 0x2853ec0 void Gambit_fn_02853EC0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_02853EC0: ; // 0x2853ec0 /* 02853EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u); /* 02853EC4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853EC4 */ _t1 = _t0 & 0x00000001u; /* 02853EC4 */ _t2 = _t1 ^ 0x00000001u; /* 02853EC4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02853EC4 */ goto L_02853EC8; L_02853EC8: ; // 0x2853ec8 /* 02853EC8 */ _t3 = cpu->r[3] + 0x0000000Cu; /* 02853EC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02853ECC */ _t4 = cpu->r[12] + 0x00000094u; /* 02853ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02853ED0 */ cpu->ctr = cpu->r[0]; /* 02853ED4 */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_02853ED8 @ 0x2853ed8 void Gambit_fn_02853ED8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34; L_02853ED8: ; // 0x2853ed8 /* 02853ED8 */ cpu->r[0] = cpu->lr; /* 02853EDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02853EDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02853EDC */ cpu->r[1] = _t0; /* 02853EE0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02853EE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02853EE4 */ cpu->r[31] = cpu->r[3] + 0x000000B4u; /* 02853EE8 */ _t2 = cpu->r[1] + 0x00000008u; /* 02853EE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02853EEC */ _t3 = cpu->r[1] + 0x00000014u; /* 02853EEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); L_02853EF0: ; // 0x2853ef0 /* 02853EF0 */ _t4 = cpu->r[31] + 0x00000000u; /* 02853EF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02853EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u); /* 02853EF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853EF8 */ _t6 = _t5 & 0x00000001u; /* 02853EF8 */ if (_t6) goto L_02853EF0; else goto L_02853EFC; L_02853EFC: ; // 0x2853efc /* 02853EFC */ _t7 = cpu->r[0] + cpu->r[31]; /* 02853EFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t7); /* 02853F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02853F04 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853F04 */ _t9 = _t8 & 0x00000001u; /* 02853F04 */ if (_t9) goto L_02853F08; else goto L_02853EFC; L_02853F08: ; // 0x2853f08 /* 02853F08 */ /* nop */ /* 02853F0C */ cpu->r[0] = 0x00000001u; /* 02853F10 */ /* nop */ /* 02853F14 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853F14 */ _t11 = _t10 & 0x00000001u; /* 02853F14 */ if (_t11) goto L_02853F18; else goto L_02853EFC; L_02853F18: ; // 0x2853f18 /* 02853F18 */ _t12 = cpu->r[3] + 0x000000B0u; /* 02853F18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02853F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02853F20 */ cpu->r[30] = 0x00000000u; /* 02853F24 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 02853F24 */ _t14 = _t13 & 0x00000001u; /* 02853F24 */ if (_t14) goto L_02853F28; else goto L_02853F74; L_02853F28: ; // 0x2853f28 /* 02853F28 */ _t15 = cpu->r[3] + 0x000000ACu; /* 02853F28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15); /* 02853F2C */ _t16 = cpu->r[3] + 0x000000A8u; /* 02853F2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 02853F30 */ cpu->r[9] = cpu->r[10]; /* 02853F34 */ _t17 = cpu->r[3] + 0x000000A4u; /* 02853F34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 02853F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[11]); /* 02853F3C */ cpu->r[5] = cpu->r[11]; /* 02853F40 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853F40 */ _t19 = _t18 & 0x00000001u; /* 02853F40 */ if (_t19) goto L_02853F48; else goto L_02853F44; L_02853F44: ; // 0x2853f44 /* 02853F44 */ cpu->r[9] = cpu->r[9] - cpu->r[11]; L_02853F48: ; // 0x2853f48 /* 02853F48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02853F4C */ _t20 = cpu->r[3] + 0x000000B0u; /* 02853F4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20); /* 02853F50 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 02853F54 */ _t21 = cpu->r[12] + cpu->r[4]; /* 02853F54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02853F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[5]); /* 02853F5C */ _t22 = cpu->r[3] + 0x000000ACu; /* 02853F5C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]); /* 02853F60 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853F60 */ _t24 = _t23 & 0x00000001u; /* 02853F60 */ if (_t24) goto L_02853F6C; else goto L_02853F64; L_02853F64: ; // 0x2853f64 /* 02853F64 */ cpu->r[6] = 0x00000000u; /* 02853F68 */ _t25 = cpu->r[3] + 0x000000ACu; /* 02853F68 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]); L_02853F6C: ; // 0x2853f6c /* 02853F6C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 02853F70 */ _t26 = cpu->r[3] + 0x000000B0u; /* 02853F70 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]); L_02853F74: ; // 0x2853f74 /* 02853F74 */ rbrew_dispatch(cpu, 0x02d0ad98u); L_02853F78: ; // 0x2853f78 /* 02853F78 */ _t27 = cpu->r[0] + cpu->r[31]; /* 02853F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 02853F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 02853F80 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853F80 */ _t29 = _t28 & 0x00000001u; /* 02853F80 */ if (_t29) goto L_02853F84; else goto L_02853F78; L_02853F84: ; // 0x2853f84 /* 02853F84 */ /* nop */ /* 02853F88 */ cpu->r[10] = 0x00000000u; /* 02853F8C */ /* nop */ /* 02853F90 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853F90 */ _t31 = _t30 & 0x00000001u; /* 02853F90 */ if (_t31) goto L_02853F94; else goto L_02853F78; L_02853F94: ; // 0x2853f94 /* 02853F94 */ _t32 = cpu->r[1] + 0x00000014u; /* 02853F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 02853F98 */ cpu->r[3] = cpu->r[30]; /* 02853F9C */ _t33 = cpu->r[1] + 0x00000008u; /* 02853F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33); /* 02853FA0 */ cpu->lr = cpu->r[0]; /* 02853FA4 */ _t34 = cpu->r[1] + 0x0000000Cu; /* 02853FA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 02853FA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02853FAC */ return; } // fn_02853EDC @ 0x2853edc void Gambit_fn_02853EDC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34; L_02853EDC: ; // 0x2853edc /* 02853EDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02853EDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02853EDC */ cpu->r[1] = _t0; /* 02853EE0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02853EE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02853EE4 */ cpu->r[31] = cpu->r[3] + 0x000000B4u; /* 02853EE8 */ _t2 = cpu->r[1] + 0x00000008u; /* 02853EE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02853EEC */ _t3 = cpu->r[1] + 0x00000014u; /* 02853EEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); L_02853EF0: ; // 0x2853ef0 /* 02853EF0 */ _t4 = cpu->r[31] + 0x00000000u; /* 02853EF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02853EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u); /* 02853EF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853EF8 */ _t6 = _t5 & 0x00000001u; /* 02853EF8 */ if (_t6) goto L_02853EF0; else goto L_02853EFC; L_02853EFC: ; // 0x2853efc /* 02853EFC */ _t7 = cpu->r[0] + cpu->r[31]; /* 02853EFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t7); /* 02853F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02853F04 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853F04 */ _t9 = _t8 & 0x00000001u; /* 02853F04 */ if (_t9) goto L_02853F08; else goto L_02853EFC; L_02853F08: ; // 0x2853f08 /* 02853F08 */ /* nop */ /* 02853F0C */ cpu->r[0] = 0x00000001u; /* 02853F10 */ /* nop */ /* 02853F14 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853F14 */ _t11 = _t10 & 0x00000001u; /* 02853F14 */ if (_t11) goto L_02853F18; else goto L_02853EFC; L_02853F18: ; // 0x2853f18 /* 02853F18 */ _t12 = cpu->r[3] + 0x000000B0u; /* 02853F18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02853F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02853F20 */ cpu->r[30] = 0x00000000u; /* 02853F24 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 02853F24 */ _t14 = _t13 & 0x00000001u; /* 02853F24 */ if (_t14) goto L_02853F28; else goto L_02853F74; L_02853F28: ; // 0x2853f28 /* 02853F28 */ _t15 = cpu->r[3] + 0x000000ACu; /* 02853F28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15); /* 02853F2C */ _t16 = cpu->r[3] + 0x000000A8u; /* 02853F2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 02853F30 */ cpu->r[9] = cpu->r[10]; /* 02853F34 */ _t17 = cpu->r[3] + 0x000000A4u; /* 02853F34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 02853F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[11]); /* 02853F3C */ cpu->r[5] = cpu->r[11]; /* 02853F40 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853F40 */ _t19 = _t18 & 0x00000001u; /* 02853F40 */ if (_t19) goto L_02853F48; else goto L_02853F44; L_02853F44: ; // 0x2853f44 /* 02853F44 */ cpu->r[9] = cpu->r[9] - cpu->r[11]; L_02853F48: ; // 0x2853f48 /* 02853F48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02853F4C */ _t20 = cpu->r[3] + 0x000000B0u; /* 02853F4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20); /* 02853F50 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 02853F54 */ _t21 = cpu->r[12] + cpu->r[4]; /* 02853F54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02853F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[5]); /* 02853F5C */ _t22 = cpu->r[3] + 0x000000ACu; /* 02853F5C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]); /* 02853F60 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 02853F60 */ _t24 = _t23 & 0x00000001u; /* 02853F60 */ if (_t24) goto L_02853F6C; else goto L_02853F64; L_02853F64: ; // 0x2853f64 /* 02853F64 */ cpu->r[6] = 0x00000000u; /* 02853F68 */ _t25 = cpu->r[3] + 0x000000ACu; /* 02853F68 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]); L_02853F6C: ; // 0x2853f6c /* 02853F6C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 02853F70 */ _t26 = cpu->r[3] + 0x000000B0u; /* 02853F70 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]); L_02853F74: ; // 0x2853f74 /* 02853F74 */ rbrew_dispatch(cpu, 0x02d0ad98u); L_02853F78: ; // 0x2853f78 /* 02853F78 */ _t27 = cpu->r[0] + cpu->r[31]; /* 02853F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 02853F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 02853F80 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853F80 */ _t29 = _t28 & 0x00000001u; /* 02853F80 */ if (_t29) goto L_02853F84; else goto L_02853F78; L_02853F84: ; // 0x2853f84 /* 02853F84 */ /* nop */ /* 02853F88 */ cpu->r[10] = 0x00000000u; /* 02853F8C */ /* nop */ /* 02853F90 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853F90 */ _t31 = _t30 & 0x00000001u; /* 02853F90 */ if (_t31) goto L_02853F94; else goto L_02853F78; L_02853F94: ; // 0x2853f94 /* 02853F94 */ _t32 = cpu->r[1] + 0x00000014u; /* 02853F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 02853F98 */ cpu->r[3] = cpu->r[30]; /* 02853F9C */ _t33 = cpu->r[1] + 0x00000008u; /* 02853F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33); /* 02853FA0 */ cpu->lr = cpu->r[0]; /* 02853FA4 */ _t34 = cpu->r[1] + 0x0000000Cu; /* 02853FA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 02853FA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02853FAC */ return; } // fn_02853FB0 @ 0x2853fb0 void Gambit_fn_02853FB0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46; L_02853FB0: ; // 0x2853fb0 /* 02853FB0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 02853FB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02853FB0 */ cpu->r[1] = _t0; /* 02853FB4 */ /* nop */ /* 02853FB8 */ cpu->r[0] = cpu->lr; /* 02853FBC */ _t1 = cpu->r[1] + 0x00000034u; /* 02853FBC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02853FC0 */ cpu->r[31] = cpu->r[3]; /* 02853FC4 */ _t2 = cpu->r[31] + 0x000000C0u; /* 02853FC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 02853FC8 */ cpu->r[9] = cpu->r[9] + 0x00000001u; /* 02853FCC */ _t3 = cpu->r[31] + 0x000000C0u; /* 02853FCC */ rbrew_write32(cpu->mem, _t3, cpu->r[9]); /* 02853FD0 */ rbrew_dispatch(cpu, 0x02d0ab30u); /* 02853FD4 */ cpu->r[0] = 0x00000002u; /* 02853FD8 */ _t4 = cpu->r[31] + 0x000000C8u; /* 02853FD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]); /* 02853FDC */ cpu->r[3] = cpu->r[31]; /* 02853FE0 */ _t5 = cpu->r[31] + 0x000000CCu; /* 02853FE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]); /* 02853FE4 */ _t6 = cpu->r[31] + 0x0000009Cu; /* 02853FE4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02853FE8 */ _t7 = cpu->r[31] + 0x0000009Cu; /* 02853FE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7); /* 02853FEC */ Gambit_fn_02853ED8(cpu); /* 02853FF0 */ cpu->r[26] = cpu->r[3]; /* 02853FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02853FF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02853FF4 */ _t9 = _t8 & 0x00000001u; /* 02853FF4 */ if (_t9) goto L_028540EC; else goto L_02853FF8; L_02853FF8: ; // 0x2853ff8 /* 02853FF8 */ cpu->r[29] = 0x0000000Au; /* 02853FFC */ cpu->r[28] = 0x00000009u; /* 02854000 */ cpu->r[27] = 0x00000002u; L_02854004: ; // 0x2854004 /* 02854004 */ _t10 = cpu->r[31] + 0x000000B8u; /* 02854004 */ rbrew_write32(cpu->mem, _t10, cpu->r[26]); /* 02854008 */ _t11 = cpu->r[26] + 0x00000040u; /* 02854008 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11); /* 0285400C */ cpu->r[3] = 0x00000000u; /* 02854010 */ cpu->r[30] = cpu->r[26] + 0x00000018u; /* 02854014 */ cpu->r[25] = cpu->r[3]; /* 02854018 */ _t12 = cpu->r[31] + 0x000000BCu; /* 02854018 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]); L_0285401C: ; // 0x285401c /* 0285401C */ _t13 = cpu->r[31] + 0x00000098u; /* 0285401C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13); /* 02854020 */ _t14 = cpu->r[1] + 0x00000008u; /* 02854020 */ rbrew_write32(cpu->mem, _t14, cpu->r[25]); /* 02854024 */ _t15 = cpu->r[26] + 0x00000000u; /* 02854024 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15); /* 02854028 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u); /* 0285402C */ _t16 = cpu->r[8] + 0x0000001Cu; /* 0285402C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 02854030 */ cpu->r[7] = cpu->r[8] + 0x00000018u; /* 02854034 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 02854034 */ _t18 = _t17 & 0x00000001u; /* 02854034 */ if (_t18) goto L_02854038; else goto L_02854068; L_02854038: ; // 0x2854038 /* 02854038 */ cpu->ctr = cpu->r[10]; /* 0285403C */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 02854040 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02854044 */ _t19 = cpu->r[30] + cpu->r[9]; /* 02854044 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19); /* 02854048 */ cpu->r[6] = cpu->r[31]; /* 0285404C */ cpu->r[3] = cpu->r[26]; /* 02854050 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02854054 */ _t20 = cpu->r[31] + 0x00000098u; /* 02854054 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20); /* 02854058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u); /* 0285405C */ cpu->r[12] = cpu->r[26] + 0x00000030u; /* 02854060 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 02854060 */ _t22 = _t21 & 0x00000001u; /* 02854060 */ if (_t22) goto L_02854090; else goto L_02854064; L_02854064: ; // 0x2854064 /* 02854064 */ goto L_02854098; L_02854068: ; // 0x2854068 /* 02854068 */ cpu->ctr = cpu->r[10]; /* 0285406C */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 02854070 */ cpu->r[6] = cpu->r[31]; /* 02854074 */ cpu->r[3] = cpu->r[26]; /* 02854078 */ _t23 = cpu->r[30] + 0x00000000u; /* 02854078 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23); /* 0285407C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02854080 */ _t24 = cpu->r[31] + 0x00000098u; /* 02854080 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24); /* 02854084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u); /* 02854088 */ cpu->r[12] = cpu->r[26] + 0x00000030u; /* 0285408C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285408C */ _t26 = _t25 & 0x00000001u; /* 0285408C */ if (_t26) goto L_02854090; else goto L_02854064; L_02854090: ; // 0x2854090 /* 02854090 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02854094 */ cpu->r[12] = cpu->r[12] + cpu->r[0]; L_02854098: ; // 0x2854098 /* 02854098 */ _t27 = cpu->r[12] + 0x00000000u; /* 02854098 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 0285409C */ _t28 = cpu->r[1] + 0x00000008u; /* 0285409C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 028540A0 */ cpu->r[9] = cpu->r[9] + cpu->r[0]; /* 028540A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028540A8 */ _t29 = cpu->r[12] + 0x00000000u; /* 028540A8 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]); /* 028540AC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 028540AC */ _t31 = _t30 & 0x00000001u; /* 028540AC */ if (_t31) goto L_0285401C; else goto L_028540B0; L_028540B0: ; // 0x28540b0 /* 028540B0 */ _t32 = cpu->r[31] + 0x0000009Cu; /* 028540B0 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]); /* 028540B4 */ _t33 = cpu->r[31] + 0x0000009Cu; /* 028540B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33); /* 028540B8 */ _t34 = cpu->r[31] + 0x00000098u; /* 028540B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 028540BC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 028540C0 */ cpu->r[3] = cpu->r[26]; /* 028540C4 */ _t35 = cpu->r[1] + 0x0000000Cu; /* 028540C4 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]); /* 028540C8 */ Gambit_fn_02828D30(cpu); /* 028540CC */ _t36 = cpu->r[31] + 0x0000009Cu; /* 028540CC */ rbrew_write32(cpu->mem, _t36, cpu->r[29]); /* 028540D0 */ _t37 = cpu->r[31] + 0x0000009Cu; /* 028540D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028540D4 */ cpu->r[3] = cpu->r[31]; /* 028540D8 */ _t38 = cpu->r[31] + 0x0000009Cu; /* 028540D8 */ rbrew_write32(cpu->mem, _t38, cpu->r[27]); /* 028540DC */ _t39 = cpu->r[31] + 0x0000009Cu; /* 028540DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 028540E0 */ Gambit_fn_02853ED8(cpu); /* 028540E4 */ cpu->r[26] = cpu->r[3]; /* 028540E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028540E8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 028540E8 */ _t41 = _t40 & 0x00000001u; /* 028540E8 */ if (_t41) goto L_028540EC; else goto L_02854004; L_028540EC: ; // 0x28540ec /* 028540EC */ cpu->r[0] = 0x00000000u; /* 028540F0 */ _t42 = cpu->r[31] + 0x0000009Cu; /* 028540F0 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]); /* 028540F4 */ _t43 = cpu->r[31] + 0x0000009Cu; /* 028540F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43); /* 028540F8 */ _t44 = cpu->r[31] + 0x000000BCu; /* 028540F8 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]); /* 028540FC */ _t45 = cpu->r[31] + 0x000000B8u; /* 028540FC */ rbrew_write32(cpu->mem, _t45, cpu->r[0]); /* 02854100 */ /* nop */ /* 02854104 */ _t46 = cpu->r[1] + 0x00000034u; /* 02854104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46); /* 02854108 */ cpu->lr = cpu->r[0]; /* 0285410C */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02854110 */ return; } // fn_02854114 @ 0x2854114 void Gambit_fn_02854114(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02801B30: ; // 0x2801b30 /* 02801B30 */ cpu->r[0] = cpu->lr; /* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02801B34 */ cpu->r[1] = _t0; /* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02801B3C */ cpu->r[31] = cpu->r[3]; /* 02801B40 */ cpu->r[3] = 0x101D0000u; /* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u; /* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u; /* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B50 */ _t5 = _t4 & 0x00000001u; /* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70; L_02801B54: ; // 0x2801b54 /* 02801B54 */ cpu->r[3] = cpu->r[31]; /* 02801B58 */ Gambit_fn_02801B20(cpu); /* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u; /* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02801B64 */ cpu->lr = cpu->r[0]; /* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801B6C */ return; L_02801B70: ; // 0x2801b70 /* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B74 */ _t9 = _t8 & 0x00000001u; /* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78; L_02801B78: ; // 0x2801b78 /* 02801B78 */ cpu->r[4] = cpu->r[31]; /* 02801B7C */ Gambit_fn_02826B90(cpu); /* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B84 */ _t11 = _t10 & 0x00000001u; /* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88; L_02801B88: ; // 0x2801b88 /* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu; /* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02801B90 */ cpu->ctr = cpu->r[0]; /* 02801B94 */ cpu->r[4] = cpu->r[31]; /* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr); L_02801B9C: ; // 0x2801b9c /* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u; /* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02801BA4 */ cpu->lr = cpu->r[0]; /* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801BAC */ return; L_02801BB0: ; // 0x2801bb0 /* 02801BB0 */ goto L_02801B30; L_02854114: ; // 0x2854114 /* 02854114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854118 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854118 */ _t17 = _t16 & 0x00000001u; /* 02854118 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02854118 */ goto L_0285411C; L_0285411C: ; // 0x285411c /* 0285411C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285411C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02854120 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854120 */ _t19 = _t18 & 0x00000001u; /* 02854120 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02854120 */ goto L_02854124; L_02854124: ; // 0x2854124 /* 02854124 */ goto L_02801BB0; } // fn_02854128 @ 0x2854128 void Gambit_fn_02854128(CPUState* cpu) { L_02854128: ; // 0x2854128 /* 02854128 */ return; } // fn_0285412C @ 0x285412c void Gambit_fn_0285412C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0285412C: ; // 0x285412c /* 0285412C */ cpu->r[0] = cpu->lr; /* 02854130 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02854130 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854130 */ cpu->r[1] = _t0; /* 02854134 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02854134 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854138 */ _t2 = cpu->r[1] + 0x00000008u; /* 02854138 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285413C */ cpu->r[30] = cpu->r[3]; /* 0285413C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02854140 */ cpu->r[31] = cpu->r[4]; /* 02854144 */ _t3 = cpu->r[1] + 0x00000014u; /* 02854144 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02854148 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854148 */ _t5 = _t4 & 0x00000001u; /* 02854148 */ if (_t5) goto L_02854174; else goto L_0285414C; L_0285414C: ; // 0x285414c /* 0285414C */ cpu->r[0] = 0x10130000u; /* 02854150 */ cpu->r[3] = cpu->r[30]; /* 02854154 */ cpu->r[0] = cpu->r[0] + 0x0000070Cu; /* 02854158 */ cpu->r[4] = 0x00000000u; /* 0285415C */ _t6 = cpu->r[30] + 0x00000018u; /* 0285415C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02854160 */ Gambit_fn_028379A8(cpu); /* 02854164 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02854164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02854168 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854168 */ _t8 = _t7 & 0x00000001u; /* 02854168 */ if (_t8) goto L_02854174; else goto L_0285416C; L_0285416C: ; // 0x285416c /* 0285416C */ cpu->r[3] = cpu->r[30]; /* 02854170 */ Gambit_fn_02801BB0(cpu); L_02854174: ; // 0x2854174 /* 02854174 */ _t9 = cpu->r[1] + 0x00000014u; /* 02854174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02854178 */ _t10 = cpu->r[1] + 0x00000008u; /* 02854178 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 0285417C */ cpu->lr = cpu->r[0]; /* 02854180 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02854180 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 02854184 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02854188 */ return; } // fn_02854130 @ 0x2854130 void Gambit_fn_02854130(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_02854130: ; // 0x2854130 /* 02854130 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02854130 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854130 */ cpu->r[1] = _t0; /* 02854134 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02854134 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854138 */ _t2 = cpu->r[1] + 0x00000008u; /* 02854138 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285413C */ cpu->r[30] = cpu->r[3]; /* 0285413C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02854140 */ cpu->r[31] = cpu->r[4]; /* 02854144 */ _t3 = cpu->r[1] + 0x00000014u; /* 02854144 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02854148 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854148 */ _t5 = _t4 & 0x00000001u; /* 02854148 */ if (_t5) goto L_02854174; else goto L_0285414C; L_0285414C: ; // 0x285414c /* 0285414C */ cpu->r[0] = 0x10130000u; /* 02854150 */ cpu->r[3] = cpu->r[30]; /* 02854154 */ cpu->r[0] = cpu->r[0] + 0x0000070Cu; /* 02854158 */ cpu->r[4] = 0x00000000u; /* 0285415C */ _t6 = cpu->r[30] + 0x00000018u; /* 0285415C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02854160 */ Gambit_fn_028379A8(cpu); /* 02854164 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02854164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02854168 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854168 */ _t8 = _t7 & 0x00000001u; /* 02854168 */ if (_t8) goto L_02854174; else goto L_0285416C; L_0285416C: ; // 0x285416c /* 0285416C */ cpu->r[3] = cpu->r[30]; /* 02854170 */ Gambit_fn_02801BB0(cpu); L_02854174: ; // 0x2854174 /* 02854174 */ _t9 = cpu->r[1] + 0x00000014u; /* 02854174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02854178 */ _t10 = cpu->r[1] + 0x00000008u; /* 02854178 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 0285417C */ cpu->lr = cpu->r[0]; /* 02854180 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02854180 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 02854184 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02854188 */ return; } // fn_0285418C @ 0x285418c void Gambit_fn_0285418C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0285418C: ; // 0x285418c /* 0285418C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02854190 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u); /* 02854190 */ _t1 = _t0 & 0x00000001u; /* 02854190 */ _t2 = _t1 ^ 0x00000001u; /* 02854190 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02854190 */ goto L_02854194; L_02854194: ; // 0x2854194 /* 02854194 */ cpu->r[4] = cpu->r[3]; /* 02854198 */ cpu->r[3] = 0x10130000u; /* 0285419C */ cpu->r[3] = cpu->r[3] + 0x000007E4u; /* 028541A0 */ _t3 = cpu->cr[1] >> (0x00000001u & 31u); /* 028541A0 */ _t4 = _t3 & 0x00000001u; /* 028541A0 */ if (_t4) goto L_028541A4; // else: addr-0 trap, fall-through L_028541A4: ; // 0x28541a4 /* 028541A4 */ rbrew_dispatch(cpu, 0x02d0ae08u); return; } // fn_028541A8 @ 0x28541a8 void Gambit_fn_028541A8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028541A8: ; // 0x28541a8 /* 028541A8 */ _t0 = cpu->r[4] + 0x00000000u; /* 028541A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 028541AC */ _t1 = cpu->r[11] + 0x00000004u; /* 028541AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 028541B0 */ _t2 = cpu->r[5] + 0x00000000u; /* 028541B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]); /* 028541B4 */ _t3 = cpu->r[5] + 0x00000004u; /* 028541B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 028541B8 */ _t4 = cpu->r[11] + 0x00000004u; /* 028541B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]); /* 028541BC */ _t5 = cpu->r[10] + 0x00000000u; /* 028541BC */ rbrew_write32(cpu->mem, _t5, cpu->r[5]); /* 028541C0 */ _t6 = cpu->r[3] + 0x00000000u; /* 028541C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028541C4 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028541C8 */ _t7 = cpu->r[3] + 0x00000000u; /* 028541C8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 028541CC */ cpu->r[3] = cpu->r[5]; /* 028541D0 */ return; } // fn_028541D4 @ 0x28541d4 void Gambit_fn_028541D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028541D4: ; // 0x28541d4 /* 028541D4 */ _t0 = cpu->r[4] + 0x00000000u; /* 028541D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 028541D8 */ _t1 = cpu->r[4] + 0x00000004u; /* 028541D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 028541DC */ _t2 = cpu->r[12] + 0x00000004u; /* 028541DC */ rbrew_write32(cpu->mem, _t2, cpu->r[11]); /* 028541E0 */ _t3 = cpu->r[11] + 0x00000000u; /* 028541E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 028541E4 */ _t4 = cpu->r[3] + 0x00000000u; /* 028541E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 028541E8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028541EC */ cpu->r[9] = 0x00000000u; /* 028541F0 */ _t5 = cpu->r[3] + 0x00000000u; /* 028541F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 028541F4 */ _t6 = cpu->r[4] + 0x00000004u; /* 028541F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]); /* 028541F8 */ cpu->r[3] = cpu->r[12]; /* 028541FC */ _t7 = cpu->r[4] + 0x00000000u; /* 028541FC */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 02854200 */ return; } // fn_02854204 @ 0x2854204 void Gambit_fn_02854204(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02854204: ; // 0x2854204 /* 02854204 */ cpu->r[0] = cpu->lr; /* 02854208 */ _t0 = cpu->r[1] + 0x00000004u; /* 02854208 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285420C */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0285420C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285420C */ cpu->r[1] = _t1; /* 02854210 */ _t2 = cpu->r[4] + 0x00000000u; /* 02854210 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2); /* 02854214 */ _t3 = cpu->r[5] + 0x00000000u; /* 02854214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02854218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 0285421C */ cpu->r[10] = cpu->r[3]; /* 02854220 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854220 */ _t5 = _t4 & 0x00000001u; /* 02854220 */ if (_t5) goto L_0285423C; else goto L_02854224; L_02854224: ; // 0x2854224 /* 02854224 */ _t6 = cpu->r[4] + 0x00000000u; /* 02854224 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 02854228 */ cpu->r[3] = cpu->r[10]; /* 0285422C */ Gambit_fn_028541D4(cpu); /* 02854230 */ cpu->r[4] = cpu->r[8]; /* 02854234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 02854238 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854238 */ _t8 = _t7 & 0x00000001u; /* 02854238 */ if (_t8) goto L_0285423C; else goto L_02854224; L_0285423C: ; // 0x285423c /* 0285423C */ cpu->r[3] = cpu->r[0]; /* 02854240 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02854240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02854244 */ cpu->lr = cpu->r[0]; /* 02854248 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285424C */ return; } // fn_0285420C @ 0x285420c void Gambit_fn_0285420C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285420C: ; // 0x285420c /* 0285420C */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0285420C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285420C */ cpu->r[1] = _t0; /* 02854210 */ _t1 = cpu->r[4] + 0x00000000u; /* 02854210 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1); /* 02854214 */ _t2 = cpu->r[5] + 0x00000000u; /* 02854214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02854218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 0285421C */ cpu->r[10] = cpu->r[3]; /* 02854220 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854220 */ _t4 = _t3 & 0x00000001u; /* 02854220 */ if (_t4) goto L_0285423C; else goto L_02854224; L_02854224: ; // 0x2854224 /* 02854224 */ _t5 = cpu->r[4] + 0x00000000u; /* 02854224 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5); /* 02854228 */ cpu->r[3] = cpu->r[10]; /* 0285422C */ Gambit_fn_028541D4(cpu); /* 02854230 */ cpu->r[4] = cpu->r[8]; /* 02854234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 02854238 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854238 */ _t7 = _t6 & 0x00000001u; /* 02854238 */ if (_t7) goto L_0285423C; else goto L_02854224; L_0285423C: ; // 0x285423c /* 0285423C */ cpu->r[3] = cpu->r[0]; /* 02854240 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02854240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02854244 */ cpu->lr = cpu->r[0]; /* 02854248 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285424C */ return; } // fn_02854250 @ 0x2854250 void Gambit_fn_02854250(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02854250: ; // 0x2854250 /* 02854250 */ cpu->r[0] = cpu->lr; /* 02854254 */ _t0 = cpu->r[1] + 0x00000004u; /* 02854254 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02854258 */ _t1 = cpu->r[1] + 0xFFFFFFF0u; /* 02854258 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02854258 */ cpu->r[1] = _t1; /* 0285425C */ _t2 = cpu->r[4] + 0x00000000u; /* 0285425C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 02854260 */ _t3 = cpu->r[12] + 0x00000000u; /* 02854260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02854264 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02854268 */ _t4 = cpu->r[1] + 0x00000008u; /* 02854268 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]); /* 0285426C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02854270 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 02854270 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02854274 */ Gambit_fn_02854204(cpu); /* 02854278 */ _t6 = cpu->r[1] + 0x00000014u; /* 02854278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285427C */ cpu->lr = cpu->r[0]; /* 02854280 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02854284 */ return; } // fn_02854258 @ 0x2854258 void Gambit_fn_02854258(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02854258: ; // 0x2854258 /* 02854258 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02854258 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854258 */ cpu->r[1] = _t0; /* 0285425C */ _t1 = cpu->r[4] + 0x00000000u; /* 0285425C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02854260 */ _t2 = cpu->r[12] + 0x00000000u; /* 02854260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02854264 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02854268 */ _t3 = cpu->r[1] + 0x00000008u; /* 02854268 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0285426C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02854270 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02854270 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02854274 */ Gambit_fn_02854204(cpu); /* 02854278 */ _t5 = cpu->r[1] + 0x00000014u; /* 02854278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0285427C */ cpu->lr = cpu->r[0]; /* 02854280 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02854284 */ return; } // fn_02854288 @ 0x2854288 void Gambit_fn_02854288(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02854288: ; // 0x2854288 /* 02854288 */ cpu->r[0] = cpu->r[3]; /* 0285428C */ cpu->r[3] = 0x00000001u; L_02854290: ; // 0x2854290 /* 02854290 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02854290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02854294 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854294 */ _t1 = _t0 & 0x00000001u; /* 02854294 */ if (_t1) goto L_0285429C; else goto L_02854298; L_02854298: ; // 0x2854298 /* 02854298 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[0]); L_0285429C: ; // 0x285429c /* 0285429C */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 0285429C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028542A0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028542A0 */ _t3 = _t2 & 0x00000001u; /* 028542A0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028542A0 */ goto L_028542A4; L_028542A4: ; // 0x28542a4 /* 028542A4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[0]); /* 028542A8 */ goto L_02854290; } // fn_028542AC @ 0x28542ac void Gambit_fn_028542AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028542AC: ; // 0x28542ac /* 028542AC */ cpu->r[12] = 0x10130000u; /* 028542B0 */ _t0 = cpu->r[12] + 0x000007F8u; /* 028542B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0); /* 028542B4 */ cpu->r[12] = 0x10130000u; /* 028542B8 */ _t1 = cpu->r[12] + 0x000007F0u; /* 028542B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1); /* 028542BC */ cpu->r[12] = 0x101F0000u; /* 028542C0 */ _t2 = cpu->r[12] + 0x00006F30u; /* 028542C0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[13]); /* 028542C4 */ cpu->r[12] = 0x101F0000u; /* 028542C8 */ _t3 = cpu->r[12] + 0x00006F28u; /* 028542C8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]); /* 028542CC */ cpu->r[12] = 0x10130000u; /* 028542D0 */ _t4 = cpu->r[12] + 0x000007ECu; /* 028542D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4); /* 028542D4 */ cpu->r[12] = 0x10130000u; /* 028542D8 */ _t5 = cpu->r[12] + 0x000007F4u; /* 028542D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5); /* 028542DC */ cpu->r[12] = 0x101F0000u; /* 028542E0 */ _t6 = cpu->r[12] + 0x00006F24u; /* 028542E0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]); /* 028542E4 */ cpu->r[12] = 0x101F0000u; /* 028542E8 */ _t7 = cpu->r[12] + 0x00006F2Cu; /* 028542E8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]); /* 028542EC */ return; } // fn_028542F0 @ 0x28542f0 void Gambit_fn_028542F0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25; L_028542F0: ; // 0x28542f0 /* 028542F0 */ cpu->r[0] = cpu->lr; /* 028542F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028542F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028542F4 */ cpu->r[1] = _t0; /* 028542F8 */ _t1 = cpu->r[1] + 0x00000014u; /* 028542F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028542FC */ cpu->r[31] = cpu->r[3]; /* 028542FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854300 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02854300 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02854304 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854304 */ _t4 = _t3 & 0x00000001u; /* 02854304 */ if (_t4) goto L_02854308; else goto L_02854318; L_02854308: ; // 0x2854308 /* 02854308 */ cpu->r[3] = 0x00000034u; /* 0285430C */ Gambit_fn_02801A78(cpu); /* 02854310 */ cpu->r[31] = cpu->r[3]; /* 02854310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854314 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854314 */ _t6 = _t5 & 0x00000001u; /* 02854314 */ if (_t6) goto L_028543A4; else goto L_02854318; L_02854318: ; // 0x2854318 /* 02854318 */ cpu->r[6] = 0x02850000u; /* 0285431C */ cpu->r[3] = cpu->r[31]; /* 02854320 */ cpu->r[4] = 0x00000002u; /* 02854324 */ cpu->r[6] = cpu->r[6] + 0x00004BF4u; /* 02854328 */ cpu->r[5] = 0x00000004u; /* 0285432C */ Gambit_fn_02C82E00(cpu); /* 02854330 */ cpu->r[12] = 0x10130000u; /* 02854334 */ cpu->r[0] = 0x00000000u; /* 02854338 */ _t7 = cpu->r[12] + 0x00001820u; /* 02854338 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7); /* 0285433C */ _t8 = cpu->r[31] + 0x0000002Cu; /* 0285433C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 02854340 */ _t9 = cpu->r[31] + 0x00000020u; /* 02854340 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]); /* 02854344 */ _t10 = cpu->r[31] + 0x00000024u; /* 02854344 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]); /* 02854348 */ _t11 = cpu->r[31] + 0x00000030u; /* 02854348 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]); /* 0285434C */ _t12 = cpu->r[31] + 0x00000028u; /* 0285434C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 02854350 */ cpu->r[10] = 0xFFFFFFFFu; /* 02854354 */ _t13 = cpu->r[31] + 0x00000008u; /* 02854354 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 02854358 */ _t14 = cpu->r[1] + 0x00000008u; /* 02854358 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]); /* 0285435C */ cpu->r[11] = cpu->r[1] + 0x0000000Cu; /* 02854360 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02854360 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 02854364 */ /* nop */ /* 02854368 */ cpu->r[12] = 0x10130000u; /* 0285436C */ /* nop */ /* 02854370 */ cpu->r[8] = cpu->r[1] + 0x00000010u; /* 02854374 */ _t16 = cpu->r[1] + 0x00000010u; /* 02854374 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]); /* 02854378 */ /* nop */ /* 0285437C */ cpu->r[9] = cpu->r[31] + 0x00000004u; /* 02854380 */ _t17 = cpu->r[12] + 0x00001824u; /* 02854380 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17); /* 02854384 */ /* nop */ /* 02854388 */ _t18 = cpu->r[31] + 0x00000010u; /* 02854388 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]); /* 0285438C */ _t19 = cpu->r[31] + 0x0000001Cu; /* 0285438C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]); /* 02854390 */ _t20 = cpu->r[31] + 0x0000000Cu; /* 02854390 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]); /* 02854394 */ _t21 = cpu->r[31] + 0x00000018u; /* 02854394 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]); /* 02854398 */ cpu->r[12] = 0x000000FFu; /* 0285439C */ _t22 = cpu->r[31] + 0x00000014u; /* 0285439C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]); /* 028543A0 */ _t23 = cpu->r[31] + 0x00000031u; /* 028543A0 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]); L_028543A4: ; // 0x28543a4 /* 028543A4 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028543A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028543A8 */ cpu->r[3] = cpu->r[31]; /* 028543AC */ _t25 = cpu->r[1] + 0x00000014u; /* 028543AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028543B0 */ cpu->lr = cpu->r[0]; /* 028543B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028543B8 */ return; } // fn_028542F4 @ 0x28542f4 void Gambit_fn_028542F4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25; L_028542F4: ; // 0x28542f4 /* 028542F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028542F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028542F4 */ cpu->r[1] = _t0; /* 028542F8 */ _t1 = cpu->r[1] + 0x00000014u; /* 028542F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028542FC */ cpu->r[31] = cpu->r[3]; /* 028542FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854300 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02854300 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02854304 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854304 */ _t4 = _t3 & 0x00000001u; /* 02854304 */ if (_t4) goto L_02854308; else goto L_02854318; L_02854308: ; // 0x2854308 /* 02854308 */ cpu->r[3] = 0x00000034u; /* 0285430C */ Gambit_fn_02801A78(cpu); /* 02854310 */ cpu->r[31] = cpu->r[3]; /* 02854310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854314 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854314 */ _t6 = _t5 & 0x00000001u; /* 02854314 */ if (_t6) goto L_028543A4; else goto L_02854318; L_02854318: ; // 0x2854318 /* 02854318 */ cpu->r[6] = 0x02850000u; /* 0285431C */ cpu->r[3] = cpu->r[31]; /* 02854320 */ cpu->r[4] = 0x00000002u; /* 02854324 */ cpu->r[6] = cpu->r[6] + 0x00004BF4u; /* 02854328 */ cpu->r[5] = 0x00000004u; /* 0285432C */ Gambit_fn_02C82E00(cpu); /* 02854330 */ cpu->r[12] = 0x10130000u; /* 02854334 */ cpu->r[0] = 0x00000000u; /* 02854338 */ _t7 = cpu->r[12] + 0x00001820u; /* 02854338 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7); /* 0285433C */ _t8 = cpu->r[31] + 0x0000002Cu; /* 0285433C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 02854340 */ _t9 = cpu->r[31] + 0x00000020u; /* 02854340 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]); /* 02854344 */ _t10 = cpu->r[31] + 0x00000024u; /* 02854344 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]); /* 02854348 */ _t11 = cpu->r[31] + 0x00000030u; /* 02854348 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]); /* 0285434C */ _t12 = cpu->r[31] + 0x00000028u; /* 0285434C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 02854350 */ cpu->r[10] = 0xFFFFFFFFu; /* 02854354 */ _t13 = cpu->r[31] + 0x00000008u; /* 02854354 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 02854358 */ _t14 = cpu->r[1] + 0x00000008u; /* 02854358 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]); /* 0285435C */ cpu->r[11] = cpu->r[1] + 0x0000000Cu; /* 02854360 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02854360 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 02854364 */ /* nop */ /* 02854368 */ cpu->r[12] = 0x10130000u; /* 0285436C */ /* nop */ /* 02854370 */ cpu->r[8] = cpu->r[1] + 0x00000010u; /* 02854374 */ _t16 = cpu->r[1] + 0x00000010u; /* 02854374 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]); /* 02854378 */ /* nop */ /* 0285437C */ cpu->r[9] = cpu->r[31] + 0x00000004u; /* 02854380 */ _t17 = cpu->r[12] + 0x00001824u; /* 02854380 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17); /* 02854384 */ /* nop */ /* 02854388 */ _t18 = cpu->r[31] + 0x00000010u; /* 02854388 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]); /* 0285438C */ _t19 = cpu->r[31] + 0x0000001Cu; /* 0285438C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]); /* 02854390 */ _t20 = cpu->r[31] + 0x0000000Cu; /* 02854390 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]); /* 02854394 */ _t21 = cpu->r[31] + 0x00000018u; /* 02854394 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]); /* 02854398 */ cpu->r[12] = 0x000000FFu; /* 0285439C */ _t22 = cpu->r[31] + 0x00000014u; /* 0285439C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]); /* 028543A0 */ _t23 = cpu->r[31] + 0x00000031u; /* 028543A0 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]); L_028543A4: ; // 0x28543a4 /* 028543A4 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 028543A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 028543A8 */ cpu->r[3] = cpu->r[31]; /* 028543AC */ _t25 = cpu->r[1] + 0x00000014u; /* 028543AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 028543B0 */ cpu->lr = cpu->r[0]; /* 028543B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028543B8 */ return; } // fn_028543BC @ 0x28543bc void Gambit_fn_028543BC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02801B30: ; // 0x2801b30 /* 02801B30 */ cpu->r[0] = cpu->lr; /* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02801B34 */ cpu->r[1] = _t0; /* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02801B3C */ cpu->r[31] = cpu->r[3]; /* 02801B40 */ cpu->r[3] = 0x101D0000u; /* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u; /* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u; /* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B50 */ _t5 = _t4 & 0x00000001u; /* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70; L_02801B54: ; // 0x2801b54 /* 02801B54 */ cpu->r[3] = cpu->r[31]; /* 02801B58 */ Gambit_fn_02801B20(cpu); /* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u; /* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02801B64 */ cpu->lr = cpu->r[0]; /* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801B6C */ return; L_02801B70: ; // 0x2801b70 /* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B74 */ _t9 = _t8 & 0x00000001u; /* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78; L_02801B78: ; // 0x2801b78 /* 02801B78 */ cpu->r[4] = cpu->r[31]; /* 02801B7C */ Gambit_fn_02826B90(cpu); /* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B84 */ _t11 = _t10 & 0x00000001u; /* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88; L_02801B88: ; // 0x2801b88 /* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu; /* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02801B90 */ cpu->ctr = cpu->r[0]; /* 02801B94 */ cpu->r[4] = cpu->r[31]; /* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr); L_02801B9C: ; // 0x2801b9c /* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u; /* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02801BA4 */ cpu->lr = cpu->r[0]; /* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801BAC */ return; L_02801BB0: ; // 0x2801bb0 /* 02801BB0 */ goto L_02801B30; L_028543BC: ; // 0x28543bc /* 028543BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028543C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028543C0 */ _t17 = _t16 & 0x00000001u; /* 028543C0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028543C0 */ goto L_028543C4; L_028543C4: ; // 0x28543c4 /* 028543C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028543C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028543C8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028543C8 */ _t19 = _t18 & 0x00000001u; /* 028543C8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028543C8 */ goto L_028543CC; L_028543CC: ; // 0x28543cc /* 028543CC */ goto L_02801BB0; } // fn_028543D0 @ 0x28543d0 void Gambit_fn_028543D0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32; L_028543D0: ; // 0x28543d0 /* 028543D0 */ cpu->r[0] = cpu->lr; /* 028543D4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 028543D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028543D4 */ cpu->r[1] = _t0; /* 028543D8 */ _t1 = cpu->r[1] + 0x00000018u; /* 028543D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 028543DC */ /* nop */ /* 028543E0 */ _t2 = cpu->r[1] + 0x00000028u; /* 028543E0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 028543E4 */ /* nop */ /* 028543E8 */ _t3 = cpu->r[1] + 0x00000020u; /* 028543E8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]); /* 028543EC */ _t4 = cpu->r[1] + 0x00000030u; /* 028543EC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); /* 028543F0 */ _t5 = cpu->r[1] + 0x0000003Cu; /* 028543F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028543F4 */ _t6 = cpu->r[1] + 0x00000010u; /* 028543F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]); /* 028543F8 */ cpu->r[30] = cpu->r[3]; /* 028543FC */ _t7 = cpu->r[1] + 0x00000014u; /* 028543FC */ rbrew_write32(cpu->mem, _t7, cpu->r[31]); /* 02854400 */ _t8 = cpu->r[30] + 0x00000028u; /* 02854400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 02854404 */ cpu->f[31] = cpu->f[1]; /* 02854408 */ _t9 = cpu->r[3] + 0x00000004u; /* 02854408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0285440C */ _t10 = cpu->r[12] + 0x0000001Cu; /* 0285440C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02854410 */ cpu->ctr = cpu->r[0]; /* 02854414 */ cpu->f[30] = cpu->f[2]; /* 02854418 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285441C */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 02854420 */ cpu->r[31] = 0x43300000u; /* 02854424 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02854424 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 02854428 */ cpu->r[12] = 0x10130000u; /* 0285442C */ _t12 = cpu->r[1] + 0x00000008u; /* 0285442C */ rbrew_write32(cpu->mem, _t12, cpu->r[31]); /* 02854430 */ _t13 = cpu->r[1] + 0x00000008u; /* 02854430 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t13); /* 02854434 */ _t14 = cpu->r[12] + 0x00001828u; /* 02854434 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14); /* 02854438 */ _t15 = cpu->r[30] + 0x00000028u; /* 02854438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 0285443C */ cpu->f[12] = cpu->f[12] - cpu->f[0]; /* 02854440 */ _t16 = cpu->r[3] + 0x00000004u; /* 02854440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 02854444 */ cpu->f[10] = (double)(float)cpu->f[12]; /* 02854448 */ _t17 = cpu->r[12] + 0x00000024u; /* 02854448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285444C */ cpu->f[31] = cpu->f[31] / cpu->f[10]; /* 02854450 */ cpu->ctr = cpu->r[0]; /* 02854454 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02854458 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 0285445C */ _t18 = cpu->r[1] + 0x00000008u; /* 0285445C */ rbrew_write32(cpu->mem, _t18, cpu->r[31]); /* 02854460 */ cpu->r[12] = 0x10130000u; /* 02854464 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02854464 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]); /* 02854468 */ _t20 = cpu->r[1] + 0x00000008u; /* 02854468 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t20); /* 0285446C */ _t21 = cpu->r[12] + 0x00001828u; /* 0285446C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t21); /* 02854470 */ cpu->f[11] = cpu->f[9] - cpu->f[13]; /* 02854474 */ cpu->f[13] = (double)(float)cpu->f[11]; /* 02854478 */ cpu->f[0] = cpu->f[30] / cpu->f[13]; /* 0285447C */ _t22 = cpu->r[30] + 0x0000000Cu; /* 0285447C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]); /* 02854480 */ _t23 = cpu->r[30] + 0x00000010u; /* 02854480 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]); /* 02854484 */ _t24 = cpu->r[1] + 0x00000020u; /* 02854484 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t24); /* 02854488 */ _t25 = cpu->r[1] + 0x00000030u; /* 02854488 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25); /* 0285448C */ _t26 = cpu->r[1] + 0x00000018u; /* 0285448C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t26); /* 02854490 */ _t27 = cpu->r[1] + 0x00000028u; /* 02854490 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t27); /* 02854494 */ _t28 = cpu->r[1] + 0x00000014u; /* 02854494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 02854498 */ _t29 = cpu->r[1] + 0x00000010u; /* 02854498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 0285449C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285449C */ _t31 = _t30 & 0x00000001u; /* 0285449C */ if (_t31) goto L_028544A0; // else: addr-0 trap, fall-through L_028544A0: ; // 0x28544a0 /* 028544A0 */ _t32 = cpu->r[1] + 0x0000003Cu; /* 028544A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028544A4 */ cpu->lr = cpu->r[0]; /* 028544A8 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 028544AC */ return; } // fn_028543D4 @ 0x28543d4 void Gambit_fn_028543D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32; L_028543D4: ; // 0x28543d4 /* 028543D4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 028543D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028543D4 */ cpu->r[1] = _t0; /* 028543D8 */ _t1 = cpu->r[1] + 0x00000018u; /* 028543D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 028543DC */ /* nop */ /* 028543E0 */ _t2 = cpu->r[1] + 0x00000028u; /* 028543E0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 028543E4 */ /* nop */ /* 028543E8 */ _t3 = cpu->r[1] + 0x00000020u; /* 028543E8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]); /* 028543EC */ _t4 = cpu->r[1] + 0x00000030u; /* 028543EC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); /* 028543F0 */ _t5 = cpu->r[1] + 0x0000003Cu; /* 028543F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028543F4 */ _t6 = cpu->r[1] + 0x00000010u; /* 028543F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]); /* 028543F8 */ cpu->r[30] = cpu->r[3]; /* 028543FC */ _t7 = cpu->r[1] + 0x00000014u; /* 028543FC */ rbrew_write32(cpu->mem, _t7, cpu->r[31]); /* 02854400 */ _t8 = cpu->r[30] + 0x00000028u; /* 02854400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 02854404 */ cpu->f[31] = cpu->f[1]; /* 02854408 */ _t9 = cpu->r[3] + 0x00000004u; /* 02854408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0285440C */ _t10 = cpu->r[12] + 0x0000001Cu; /* 0285440C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02854410 */ cpu->ctr = cpu->r[0]; /* 02854414 */ cpu->f[30] = cpu->f[2]; /* 02854418 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285441C */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 02854420 */ cpu->r[31] = 0x43300000u; /* 02854424 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02854424 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 02854428 */ cpu->r[12] = 0x10130000u; /* 0285442C */ _t12 = cpu->r[1] + 0x00000008u; /* 0285442C */ rbrew_write32(cpu->mem, _t12, cpu->r[31]); /* 02854430 */ _t13 = cpu->r[1] + 0x00000008u; /* 02854430 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t13); /* 02854434 */ _t14 = cpu->r[12] + 0x00001828u; /* 02854434 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14); /* 02854438 */ _t15 = cpu->r[30] + 0x00000028u; /* 02854438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 0285443C */ cpu->f[12] = cpu->f[12] - cpu->f[0]; /* 02854440 */ _t16 = cpu->r[3] + 0x00000004u; /* 02854440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 02854444 */ cpu->f[10] = (double)(float)cpu->f[12]; /* 02854448 */ _t17 = cpu->r[12] + 0x00000024u; /* 02854448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285444C */ cpu->f[31] = cpu->f[31] / cpu->f[10]; /* 02854450 */ cpu->ctr = cpu->r[0]; /* 02854454 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02854458 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 0285445C */ _t18 = cpu->r[1] + 0x00000008u; /* 0285445C */ rbrew_write32(cpu->mem, _t18, cpu->r[31]); /* 02854460 */ cpu->r[12] = 0x10130000u; /* 02854464 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02854464 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]); /* 02854468 */ _t20 = cpu->r[1] + 0x00000008u; /* 02854468 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t20); /* 0285446C */ _t21 = cpu->r[12] + 0x00001828u; /* 0285446C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t21); /* 02854470 */ cpu->f[11] = cpu->f[9] - cpu->f[13]; /* 02854474 */ cpu->f[13] = (double)(float)cpu->f[11]; /* 02854478 */ cpu->f[0] = cpu->f[30] / cpu->f[13]; /* 0285447C */ _t22 = cpu->r[30] + 0x0000000Cu; /* 0285447C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]); /* 02854480 */ _t23 = cpu->r[30] + 0x00000010u; /* 02854480 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]); /* 02854484 */ _t24 = cpu->r[1] + 0x00000020u; /* 02854484 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t24); /* 02854488 */ _t25 = cpu->r[1] + 0x00000030u; /* 02854488 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25); /* 0285448C */ _t26 = cpu->r[1] + 0x00000018u; /* 0285448C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t26); /* 02854490 */ _t27 = cpu->r[1] + 0x00000028u; /* 02854490 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t27); /* 02854494 */ _t28 = cpu->r[1] + 0x00000014u; /* 02854494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 02854498 */ _t29 = cpu->r[1] + 0x00000010u; /* 02854498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 0285449C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285449C */ _t31 = _t30 & 0x00000001u; /* 0285449C */ if (_t31) goto L_028544A0; // else: addr-0 trap, fall-through L_028544A0: ; // 0x28544a0 /* 028544A0 */ _t32 = cpu->r[1] + 0x0000003Cu; /* 028544A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028544A4 */ cpu->lr = cpu->r[0]; /* 028544A8 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 028544AC */ return; } // fn_028544B0 @ 0x28544b0 void Gambit_fn_028544B0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_028544B0: ; // 0x28544b0 /* 028544B0 */ cpu->r[0] = cpu->lr; /* 028544B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028544B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028544B4 */ cpu->r[1] = _t0; /* 028544B8 */ _t1 = cpu->r[1] + 0x00000014u; /* 028544B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028544BC */ cpu->r[31] = cpu->r[3]; /* 028544C0 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 028544C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028544C4 */ _t3 = cpu->r[31] + 0x00000028u; /* 028544C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 028544C8 */ _t4 = cpu->r[3] + 0x00000004u; /* 028544C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 028544CC */ _t5 = cpu->r[11] + 0x0000001Cu; /* 028544CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028544D0 */ cpu->ctr = cpu->r[0]; /* 028544D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028544D8 */ cpu->r[12] = 0x10130000u; /* 028544DC */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 028544E0 */ _t6 = cpu->r[12] + 0x00001828u; /* 028544E0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6); /* 028544E4 */ cpu->r[12] = 0x43300000u; /* 028544E8 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028544E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 028544EC */ _t8 = cpu->r[1] + 0x00000008u; /* 028544EC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 028544F0 */ _t9 = cpu->r[1] + 0x00000008u; /* 028544F0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9); /* 028544F4 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 028544F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028544F8 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 028544FC */ cpu->lr = cpu->r[0]; /* 02854500 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 02854504 */ _t11 = cpu->r[31] + 0x0000000Cu; /* 02854504 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02854508 */ _t12 = cpu->r[1] + 0x00000014u; /* 02854508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 0285450C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02854510 */ cpu->f[1] = cpu->f[13] * cpu->f[0]; /* 02854514 */ return; } // fn_028544B4 @ 0x28544b4 void Gambit_fn_028544B4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_028544B4: ; // 0x28544b4 /* 028544B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028544B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028544B4 */ cpu->r[1] = _t0; /* 028544B8 */ _t1 = cpu->r[1] + 0x00000014u; /* 028544B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028544BC */ cpu->r[31] = cpu->r[3]; /* 028544C0 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 028544C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028544C4 */ _t3 = cpu->r[31] + 0x00000028u; /* 028544C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 028544C8 */ _t4 = cpu->r[3] + 0x00000004u; /* 028544C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 028544CC */ _t5 = cpu->r[11] + 0x0000001Cu; /* 028544CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028544D0 */ cpu->ctr = cpu->r[0]; /* 028544D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028544D8 */ cpu->r[12] = 0x10130000u; /* 028544DC */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 028544E0 */ _t6 = cpu->r[12] + 0x00001828u; /* 028544E0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6); /* 028544E4 */ cpu->r[12] = 0x43300000u; /* 028544E8 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028544E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 028544EC */ _t8 = cpu->r[1] + 0x00000008u; /* 028544EC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 028544F0 */ _t9 = cpu->r[1] + 0x00000008u; /* 028544F0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9); /* 028544F4 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 028544F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028544F8 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 028544FC */ cpu->lr = cpu->r[0]; /* 02854500 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 02854504 */ _t11 = cpu->r[31] + 0x0000000Cu; /* 02854504 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02854508 */ _t12 = cpu->r[1] + 0x00000014u; /* 02854508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 0285450C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02854510 */ cpu->f[1] = cpu->f[13] * cpu->f[0]; /* 02854514 */ return; } // fn_02854518 @ 0x2854518 void Gambit_fn_02854518(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02854518: ; // 0x2854518 /* 02854518 */ cpu->r[0] = cpu->lr; /* 0285451C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285451C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285451C */ cpu->r[1] = _t0; /* 02854520 */ _t1 = cpu->r[1] + 0x00000014u; /* 02854520 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854524 */ cpu->r[31] = cpu->r[3]; /* 02854528 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02854528 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285452C */ _t3 = cpu->r[31] + 0x00000028u; /* 0285452C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02854530 */ _t4 = cpu->r[3] + 0x00000004u; /* 02854530 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02854534 */ _t5 = cpu->r[11] + 0x00000024u; /* 02854534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02854538 */ cpu->ctr = cpu->r[0]; /* 0285453C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02854540 */ cpu->r[12] = 0x10130000u; /* 02854544 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 02854548 */ _t6 = cpu->r[12] + 0x00001828u; /* 02854548 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6); /* 0285454C */ cpu->r[12] = 0x43300000u; /* 02854550 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02854550 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 02854554 */ _t8 = cpu->r[1] + 0x00000008u; /* 02854554 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 02854558 */ _t9 = cpu->r[1] + 0x00000008u; /* 02854558 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9); /* 0285455C */ _t10 = cpu->r[1] + 0x0000001Cu; /* 0285455C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02854560 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 02854564 */ cpu->lr = cpu->r[0]; /* 02854568 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 0285456C */ _t11 = cpu->r[31] + 0x00000010u; /* 0285456C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02854570 */ _t12 = cpu->r[1] + 0x00000014u; /* 02854570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02854574 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02854578 */ cpu->f[1] = cpu->f[13] * cpu->f[0]; /* 0285457C */ return; } // fn_0285451C @ 0x285451c void Gambit_fn_0285451C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_0285451C: ; // 0x285451c /* 0285451C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285451C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285451C */ cpu->r[1] = _t0; /* 02854520 */ _t1 = cpu->r[1] + 0x00000014u; /* 02854520 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854524 */ cpu->r[31] = cpu->r[3]; /* 02854528 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02854528 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285452C */ _t3 = cpu->r[31] + 0x00000028u; /* 0285452C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02854530 */ _t4 = cpu->r[3] + 0x00000004u; /* 02854530 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02854534 */ _t5 = cpu->r[11] + 0x00000024u; /* 02854534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02854538 */ cpu->ctr = cpu->r[0]; /* 0285453C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02854540 */ cpu->r[12] = 0x10130000u; /* 02854544 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 02854548 */ _t6 = cpu->r[12] + 0x00001828u; /* 02854548 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6); /* 0285454C */ cpu->r[12] = 0x43300000u; /* 02854550 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02854550 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 02854554 */ _t8 = cpu->r[1] + 0x00000008u; /* 02854554 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 02854558 */ _t9 = cpu->r[1] + 0x00000008u; /* 02854558 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9); /* 0285455C */ _t10 = cpu->r[1] + 0x0000001Cu; /* 0285455C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02854560 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 02854564 */ cpu->lr = cpu->r[0]; /* 02854568 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 0285456C */ _t11 = cpu->r[31] + 0x00000010u; /* 0285456C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02854570 */ _t12 = cpu->r[1] + 0x00000014u; /* 02854570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02854574 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02854578 */ cpu->f[1] = cpu->f[13] * cpu->f[0]; /* 0285457C */ return; } // fn_02854580 @ 0x2854580 void Gambit_fn_02854580(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02854580: ; // 0x2854580 /* 02854580 */ cpu->r[0] = cpu->lr; /* 02854584 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02854584 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854584 */ cpu->r[1] = _t0; /* 02854588 */ _t1 = cpu->r[1] + 0x00000014u; /* 02854588 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285458C */ cpu->r[31] = cpu->r[3]; /* 02854590 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02854590 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02854594 */ _t3 = cpu->r[31] + 0x00000028u; /* 02854594 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02854598 */ _t4 = cpu->r[3] + 0x00000004u; /* 02854598 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 0285459C */ _t5 = cpu->r[11] + 0x0000002Cu; /* 0285459C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028545A0 */ cpu->ctr = cpu->r[0]; /* 028545A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028545A8 */ cpu->r[12] = 0x10130000u; /* 028545AC */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 028545B0 */ _t6 = cpu->r[12] + 0x00001828u; /* 028545B0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6); /* 028545B4 */ cpu->r[12] = 0x43300000u; /* 028545B8 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028545B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 028545BC */ _t8 = cpu->r[1] + 0x00000008u; /* 028545BC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 028545C0 */ _t9 = cpu->r[1] + 0x00000008u; /* 028545C0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9); /* 028545C4 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 028545C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028545C8 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 028545CC */ cpu->lr = cpu->r[0]; /* 028545D0 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 028545D4 */ _t11 = cpu->r[31] + 0x00000010u; /* 028545D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 028545D8 */ _t12 = cpu->r[1] + 0x00000014u; /* 028545D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 028545DC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028545E0 */ cpu->f[1] = cpu->f[13] * cpu->f[0]; /* 028545E4 */ return; } // fn_02854584 @ 0x2854584 void Gambit_fn_02854584(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02854584: ; // 0x2854584 /* 02854584 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02854584 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854584 */ cpu->r[1] = _t0; /* 02854588 */ _t1 = cpu->r[1] + 0x00000014u; /* 02854588 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285458C */ cpu->r[31] = cpu->r[3]; /* 02854590 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02854590 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02854594 */ _t3 = cpu->r[31] + 0x00000028u; /* 02854594 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02854598 */ _t4 = cpu->r[3] + 0x00000004u; /* 02854598 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 0285459C */ _t5 = cpu->r[11] + 0x0000002Cu; /* 0285459C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028545A0 */ cpu->ctr = cpu->r[0]; /* 028545A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028545A8 */ cpu->r[12] = 0x10130000u; /* 028545AC */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 028545B0 */ _t6 = cpu->r[12] + 0x00001828u; /* 028545B0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6); /* 028545B4 */ cpu->r[12] = 0x43300000u; /* 028545B8 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028545B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 028545BC */ _t8 = cpu->r[1] + 0x00000008u; /* 028545BC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 028545C0 */ _t9 = cpu->r[1] + 0x00000008u; /* 028545C0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9); /* 028545C4 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 028545C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028545C8 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 028545CC */ cpu->lr = cpu->r[0]; /* 028545D0 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 028545D4 */ _t11 = cpu->r[31] + 0x00000010u; /* 028545D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 028545D8 */ _t12 = cpu->r[1] + 0x00000014u; /* 028545D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 028545DC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028545E0 */ cpu->f[1] = cpu->f[13] * cpu->f[0]; /* 028545E4 */ return; } // fn_028545E8 @ 0x28545e8 void Gambit_fn_028545E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128; L_028545E8: ; // 0x28545e8 /* 028545E8 */ cpu->r[0] = cpu->lr; /* 028545EC */ _t0 = cpu->r[1] + 0xFFFFFFB0u; /* 028545EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028545EC */ cpu->r[1] = _t0; /* 028545F0 */ _t1 = cpu->r[1] + 0x00000020u; /* 028545F0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]); /* 028545F4 */ /* nop */ /* 028545F8 */ _t2 = cpu->r[1] + 0x00000030u; /* 028545F8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]); /* 028545FC */ /* nop */ /* 02854600 */ _t3 = cpu->r[1] + 0x00000028u; /* 02854600 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]); /* 02854604 */ _t4 = cpu->r[1] + 0x00000038u; /* 02854604 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]); /* 02854608 */ _t5 = cpu->r[1] + 0x00000040u; /* 02854608 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]); /* 0285460C */ _t6 = cpu->r[1] + 0x00000054u; /* 0285460C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02854610 */ _t7 = cpu->r[1] + 0x00000014u; /* 02854610 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]); /* 02854614 */ _t8 = cpu->r[1] + 0x00000018u; /* 02854614 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 02854618 */ /* nop */ /* 0285461C */ _t9 = cpu->r[1] + 0x0000001Cu; /* 0285461C */ rbrew_write32(cpu->mem, _t9, cpu->r[31]); /* 02854620 */ cpu->r[30] = cpu->r[3]; /* 02854624 */ cpu->r[8] = 0x10130000u; /* 02854628 */ _t10 = cpu->r[1] + 0x00000048u; /* 02854628 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]); /* 0285462C */ cpu->r[31] = cpu->r[4]; /* 02854630 */ _t11 = cpu->r[30] + 0x00000028u; /* 02854630 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 02854634 */ cpu->r[10] = 0x43300000u; /* 02854638 */ _t12 = cpu->r[31] + 0x00000008u; /* 02854638 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12); /* 0285463C */ _t13 = cpu->r[1] + 0x00000008u; /* 0285463C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]); /* 02854640 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 02854640 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); /* 02854644 */ _t15 = cpu->r[1] + 0x00000008u; /* 02854644 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15); /* 02854648 */ cpu->r[7] = 0x10130000u; /* 0285464C */ _t16 = cpu->r[8] + 0x00001830u; /* 0285464C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16); /* 02854650 */ _t17 = cpu->r[31] + 0x0000000Cu; /* 02854650 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17); /* 02854654 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 02854658 */ _t18 = cpu->r[6] + 0x00000001u; /* 02854658 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18); /* 0285465C */ _t19 = cpu->r[7] + 0x00001824u; /* 0285465C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19); /* 02854660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02854664 */ cpu->f[4] = (double)(float)cpu->f[0]; /* 02854668 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854668 */ _t21 = _t20 & 0x00000001u; /* 02854668 */ if (_t21) goto L_02854780; else goto L_0285466C; L_0285466C: ; // 0x285466c /* 0285466C */ _t22 = cpu->r[1] + 0x0000000Cu; /* 0285466C */ rbrew_write32(cpu->mem, _t22, cpu->r[9]); /* 02854670 */ cpu->r[10] = 0x43300000u; /* 02854674 */ cpu->r[6] = 0x10130000u; /* 02854678 */ _t23 = cpu->r[1] + 0x00000008u; /* 02854678 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]); /* 0285467C */ _t24 = cpu->r[1] + 0x00000008u; /* 0285467C */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t24); /* 02854680 */ _t25 = cpu->r[6] + 0x00001828u; /* 02854680 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t25); /* 02854684 */ cpu->r[12] = 0x10130000u; /* 02854688 */ _t26 = cpu->r[31] + 0x00000005u; /* 02854688 */ cpu->r[6] = rbrew_read8(cpu->mem, _t26); /* 0285468C */ _t27 = cpu->r[12] + 0x00001830u; /* 0285468C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t27); /* 02854690 */ cpu->r[8] = cpu->r[9] + cpu->r[6]; /* 02854694 */ _t28 = cpu->r[31] + 0x0000000Eu; /* 02854694 */ cpu->r[12] = rbrew_read16(cpu->mem, _t28); /* 02854698 */ cpu->r[0] = cpu->r[8] ^ 0x80000000u; /* 0285469C */ _t29 = cpu->r[31] + 0x0000000Au; /* 0285469C */ cpu->r[11] = rbrew_read16(cpu->mem, _t29); /* 028546A0 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 028546A0 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 028546A4 */ _t31 = cpu->r[1] + 0x00000008u; /* 028546A4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t31); /* 028546A8 */ cpu->f[8] = cpu->f[8] - cpu->f[0]; /* 028546AC */ _t32 = cpu->r[1] + 0x0000000Cu; /* 028546AC */ rbrew_write32(cpu->mem, _t32, cpu->r[11]); /* 028546B0 */ cpu->f[11] = cpu->f[9] - cpu->f[10]; /* 028546B4 */ _t33 = cpu->r[1] + 0x00000008u; /* 028546B4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t33); /* 028546B8 */ cpu->f[9] = (double)(float)cpu->f[8]; /* 028546BC */ cpu->r[10] = 0x10130000u; /* 028546C0 */ _t34 = cpu->r[1] + 0x0000000Cu; /* 028546C0 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]); /* 028546C4 */ _t35 = cpu->r[1] + 0x00000008u; /* 028546C4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t35); /* 028546C8 */ cpu->f[6] = (double)(float)cpu->f[11]; /* 028546CC */ _t36 = cpu->r[10] + 0x00001838u; /* 028546CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t36); /* 028546D0 */ cpu->f[7] = cpu->f[8] - cpu->f[0]; /* 028546D4 */ _t37 = cpu->r[31] + 0x00000007u; /* 028546D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t37); /* 028546D8 */ cpu->f[31] = cpu->f[6] + cpu->f[11]; /* 028546DC */ cpu->r[9] = cpu->r[12] + cpu->r[8]; /* 028546E0 */ cpu->f[7] = (double)(float)cpu->f[7]; /* 028546E4 */ cpu->r[7] = cpu->r[9] ^ 0x80000000u; /* 028546E8 */ cpu->f[30] = cpu->f[9] - cpu->f[11]; /* 028546EC */ _t38 = cpu->r[1] + 0x0000000Cu; /* 028546EC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]); /* 028546F0 */ _t39 = cpu->r[1] + 0x00000008u; /* 028546F0 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t39); /* 028546F4 */ cpu->f[30] = cpu->f[30] / cpu->f[4]; /* 028546F8 */ _t40 = cpu->r[1] + 0x0000000Cu; /* 028546F8 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]); /* 028546FC */ cpu->f[2] = cpu->f[7] - cpu->f[11]; /* 02854700 */ _t41 = cpu->r[1] + 0x00000008u; /* 02854700 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t41); /* 02854704 */ cpu->f[10] = cpu->f[9] - cpu->f[10]; /* 02854708 */ _t42 = cpu->r[1] + 0x0000000Cu; /* 02854708 */ rbrew_write32(cpu->mem, _t42, cpu->r[8]); /* 0285470C */ cpu->f[9] = cpu->f[7] - cpu->f[0]; /* 02854710 */ _t43 = cpu->r[1] + 0x00000008u; /* 02854710 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t43); /* 02854714 */ cpu->f[10] = (double)(float)cpu->f[10]; /* 02854718 */ cpu->f[8] = cpu->f[7] - cpu->f[0]; /* 0285471C */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 02854720 */ cpu->f[3] = cpu->f[10] + cpu->f[11]; /* 02854724 */ _t44 = cpu->r[30] + 0x00000010u; /* 02854724 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t44); /* 02854728 */ cpu->f[10] = (double)(float)cpu->f[9]; /* 0285472C */ _t45 = cpu->r[30] + 0x00000018u; /* 0285472C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t45); /* 02854730 */ cpu->f[7] = (double)(float)cpu->f[0]; /* 02854734 */ _t46 = cpu->r[30] + 0x0000000Cu; /* 02854734 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t46); /* 02854738 */ cpu->f[29] = -fma(cpu->f[11], cpu->f[5], -(cpu->f[9])); /* 0285473C */ cpu->f[9] = cpu->f[2] / cpu->f[7]; /* 02854740 */ _t47 = cpu->r[30] + 0x0000002Cu; /* 02854740 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47); /* 02854744 */ _t48 = cpu->r[10] + 0x00000004u; /* 02854744 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48); /* 02854748 */ _t49 = cpu->r[10] + 0x00000000u; /* 02854748 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49); /* 0285474C */ cpu->f[1] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[1])); /* 02854750 */ cpu->f[11] = (double)(float)cpu->f[8]; /* 02854754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[11]); /* 02854758 */ cpu->f[10] = cpu->f[10] + cpu->f[12]; /* 0285475C */ cpu->f[13] = cpu->f[31] / cpu->f[4]; /* 02854760 */ cpu->f[8] = cpu->f[11] + cpu->f[12]; /* 02854764 */ cpu->f[10] = cpu->f[10] * cpu->f[6]; /* 02854768 */ cpu->f[11] = cpu->f[8] * cpu->f[5]; /* 0285476C */ cpu->f[8] = cpu->f[3] / cpu->f[7]; /* 02854770 */ cpu->f[0] = cpu->f[12] - cpu->f[9]; /* 02854774 */ cpu->f[8] = cpu->f[12] - cpu->f[8]; /* 02854778 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 02854778 */ _t51 = _t50 & 0x00000001u; /* 02854778 */ if (_t51) goto L_02854868; else goto L_0285477C; L_0285477C: ; // 0x285477c /* 0285477C */ goto L_02854964; L_02854780: ; // 0x2854780 /* 02854780 */ _t52 = cpu->r[31] + 0x00000005u; /* 02854780 */ cpu->r[6] = rbrew_read8(cpu->mem, _t52); /* 02854784 */ cpu->r[0] = 0x43300000u; /* 02854788 */ _t53 = cpu->r[31] + 0x00000007u; /* 02854788 */ cpu->r[8] = rbrew_read8(cpu->mem, _t53); /* 0285478C */ cpu->r[12] = 0x10130000u; /* 02854790 */ _t54 = cpu->r[1] + 0x00000008u; /* 02854790 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]); /* 02854794 */ _t55 = cpu->r[12] + 0x00001830u; /* 02854794 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t55); /* 02854798 */ cpu->r[7] = cpu->r[9] + cpu->r[6]; /* 0285479C */ _t56 = cpu->r[1] + 0x0000000Cu; /* 0285479C */ rbrew_write32(cpu->mem, _t56, cpu->r[9]); /* 028547A0 */ _t57 = cpu->r[1] + 0x00000008u; /* 028547A0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t57); /* 028547A4 */ cpu->r[12] = cpu->r[7] ^ 0x80000000u; /* 028547A8 */ _t58 = cpu->r[31] + 0x0000000Au; /* 028547A8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t58); /* 028547AC */ cpu->f[11] = cpu->f[11] - cpu->f[7]; /* 028547B0 */ _t59 = cpu->r[1] + 0x0000000Cu; /* 028547B0 */ rbrew_write32(cpu->mem, _t59, cpu->r[12]); /* 028547B4 */ _t60 = cpu->r[1] + 0x00000008u; /* 028547B4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t60); /* 028547B8 */ cpu->r[9] = 0x10130000u; /* 028547BC */ _t61 = cpu->r[31] + 0x0000000Eu; /* 028547BC */ cpu->r[12] = rbrew_read16(cpu->mem, _t61); /* 028547C0 */ cpu->f[30] = (double)(float)cpu->f[11]; /* 028547C4 */ _t62 = cpu->r[9] + 0x00001828u; /* 028547C4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t62); /* 028547C8 */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 028547CC */ _t63 = cpu->r[1] + 0x0000000Cu; /* 028547CC */ rbrew_write32(cpu->mem, _t63, cpu->r[11]); /* 028547D0 */ _t64 = cpu->r[1] + 0x00000008u; /* 028547D0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t64); /* 028547D4 */ cpu->f[10] = cpu->f[8] - cpu->f[9]; /* 028547D8 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u; /* 028547DC */ _t65 = cpu->r[1] + 0x0000000Cu; /* 028547DC */ rbrew_write32(cpu->mem, _t65, cpu->r[12]); /* 028547E0 */ cpu->f[0] = cpu->f[13] - cpu->f[7]; /* 028547E4 */ _t66 = cpu->r[1] + 0x00000008u; /* 028547E4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t66); /* 028547E8 */ cpu->f[31] = (double)(float)cpu->f[10]; /* 028547EC */ _t67 = cpu->r[1] + 0x0000000Cu; /* 028547EC */ rbrew_write32(cpu->mem, _t67, cpu->r[0]); /* 028547F0 */ _t68 = cpu->r[1] + 0x00000008u; /* 028547F0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t68); /* 028547F4 */ cpu->f[10] = cpu->f[8] - cpu->f[7]; /* 028547F8 */ _t69 = cpu->r[1] + 0x0000000Cu; /* 028547F8 */ rbrew_write32(cpu->mem, _t69, cpu->r[6]); /* 028547FC */ cpu->f[13] = cpu->f[31] / cpu->f[4]; /* 02854800 */ cpu->f[8] = cpu->f[11] - cpu->f[9]; /* 02854804 */ _t70 = cpu->r[1] + 0x00000008u; /* 02854804 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t70); /* 02854808 */ cpu->f[2] = (double)(float)cpu->f[10]; /* 0285480C */ cpu->f[30] = cpu->f[30] / cpu->f[4]; /* 02854810 */ _t71 = cpu->r[1] + 0x0000000Cu; /* 02854810 */ rbrew_write32(cpu->mem, _t71, cpu->r[8]); /* 02854814 */ _t72 = cpu->r[1] + 0x00000008u; /* 02854814 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t72); /* 02854818 */ cpu->f[10] = cpu->f[9] - cpu->f[7]; /* 0285481C */ _t73 = cpu->r[30] + 0x0000002Cu; /* 0285481C */ cpu->r[10] = rbrew_read32(cpu->mem, _t73); /* 02854820 */ cpu->f[3] = (double)(float)cpu->f[8]; /* 02854824 */ cpu->f[8] = cpu->f[11] - cpu->f[7]; /* 02854828 */ _t74 = cpu->r[10] + 0x00000000u; /* 02854828 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74); /* 0285482C */ cpu->f[10] = (double)(float)cpu->f[10]; /* 02854830 */ _t75 = cpu->r[30] + 0x0000000Cu; /* 02854830 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t75); /* 02854834 */ cpu->f[7] = (double)(float)cpu->f[0]; /* 02854838 */ cpu->f[10] = cpu->f[10] * cpu->f[6]; /* 0285483C */ cpu->f[8] = (double)(float)cpu->f[8]; /* 02854840 */ cpu->f[9] = cpu->f[2] / cpu->f[7]; /* 02854844 */ _t76 = cpu->r[30] + 0x00000010u; /* 02854844 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t76); /* 02854848 */ cpu->f[11] = cpu->f[8] * cpu->f[5]; /* 0285484C */ cpu->f[8] = cpu->f[3] / cpu->f[7]; /* 02854850 */ _t77 = cpu->r[10] + 0x00000004u; /* 02854850 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77); /* 02854854 */ _t78 = cpu->r[30] + 0x00000018u; /* 02854854 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t78); /* 02854858 */ cpu->f[0] = cpu->f[12] - cpu->f[9]; /* 0285485C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[11]); /* 02854860 */ cpu->f[8] = cpu->f[12] - cpu->f[8]; /* 02854864 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 02854864 */ _t80 = _t79 & 0x00000001u; /* 02854864 */ if (_t80) goto L_02854868; else goto L_02854964; L_02854868: ; // 0x2854868 /* 02854868 */ cpu->r[12] = cpu->r[8] + 0x00000001u; /* 0285486C */ cpu->r[11] = 0x00000002u; /* 02854870 */ _t81 = cpu->r[10] + 0x00000004u; /* 02854870 */ rbrew_write32(cpu->mem, _t81, cpu->r[12]); /* 02854874 */ _t82 = cpu->r[30] + 0x0000002Cu; /* 02854874 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82); /* 02854878 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u); /* 0285487C */ _t83 = cpu->r[10] + 0x0000000Cu; /* 0285487C */ cpu->r[6] = rbrew_read32(cpu->mem, _t83); /* 02854880 */ cpu->ctr = cpu->r[11]; /* 02854884 */ cpu->r[29] = cpu->r[6] + cpu->r[0]; /* 02854888 */ _t84 = cpu->r[29] + 0x00000000u; /* 02854888 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[10]); /* 0285488C */ _t85 = cpu->r[29] + 0x00000004u; /* 0285488C */ rbrew_write_f32(cpu->mem, _t85, cpu->f[11]); /* 02854890 */ cpu->r[12] = 0x00000000u; /* 02854894 */ _t86 = cpu->r[29] + 0x00000008u; /* 02854894 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[1]); /* 02854898 */ cpu->r[6] = cpu->r[29] + 0x00000010u; /* 0285489C */ _t87 = cpu->r[29] + 0x0000000Cu; /* 0285489C */ rbrew_write_f32(cpu->mem, _t87, cpu->f[29]); L_028548A0: ; // 0x28548a0 /* 028548A0 */ cpu->r[7] = cpu->r[30] + cpu->r[12]; /* 028548A4 */ cpu->r[8] = cpu->r[6] + cpu->r[12]; /* 028548A8 */ /* nop */ /* 028548AC */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 028548B0 */ /* nop */ /* 028548B4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028548B4 */ _t88 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028548B4 */ _t89 = _t88 >> (0x00000002u & 31u); /* 028548B4 */ _t90 = _t89 & 0x00000001u; /* 028548B4 */ if (_t90) goto L_028548A0; else goto L_028548B8; L_028548B8: ; // 0x28548b8 /* 028548B8 */ _t91 = cpu->r[30] + 0x00000031u; /* 028548B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t91); /* 028548BC */ _t92 = cpu->r[29] + 0x00000018u; /* 028548BC */ rbrew_write_f32(cpu->mem, _t92, cpu->f[30]); /* 028548C0 */ _t93 = cpu->r[29] + 0x0000002Fu; /* 028548C0 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[0]); /* 028548C4 */ _t94 = cpu->r[29] + 0x0000001Cu; /* 028548C4 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]); /* 028548C8 */ _t95 = cpu->r[29] + 0x00000020u; /* 028548C8 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[13]); /* 028548CC */ _t96 = cpu->r[29] + 0x00000024u; /* 028548CC */ rbrew_write_f32(cpu->mem, _t96, cpu->f[8]); /* 028548D0 */ _t97 = cpu->r[30] + 0x00000028u; /* 028548D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97); /* 028548D4 */ _t98 = cpu->r[3] + 0x00000004u; /* 028548D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98); /* 028548D8 */ _t99 = cpu->r[12] + 0x0000001Cu; /* 028548D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t99); /* 028548DC */ _t100 = cpu->r[30] + 0x0000000Cu; /* 028548DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t100); /* 028548E0 */ cpu->ctr = cpu->r[10]; /* 028548E4 */ _t101 = cpu->r[30] + 0x00000024u; /* 028548E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t101); /* 028548E8 */ cpu->f[31] = cpu->f[9] * cpu->f[10]; /* 028548EC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028548F0 */ cpu->r[7] = 0x10130000u; /* 028548F4 */ cpu->r[6] = 0x43300000u; /* 028548F8 */ _t102 = cpu->r[7] + 0x00001828u; /* 028548F8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t102); /* 028548FC */ cpu->r[9] = cpu->r[3] ^ 0x80000000u; /* 02854900 */ _t103 = cpu->r[1] + 0x00000008u; /* 02854900 */ rbrew_write32(cpu->mem, _t103, cpu->r[6]); /* 02854904 */ _t104 = cpu->r[1] + 0x0000000Cu; /* 02854904 */ rbrew_write32(cpu->mem, _t104, cpu->r[9]); /* 02854908 */ _t105 = cpu->r[1] + 0x00000008u; /* 02854908 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t105); /* 0285490C */ cpu->f[0] = cpu->f[13] - cpu->f[8]; /* 02854910 */ cpu->f[9] = (double)(float)cpu->f[0]; /* 02854914 */ cpu->f[7] = cpu->f[31] * cpu->f[9]; /* 02854918 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[7]; /* 0285491C */ cpu->r[11] = cpu->r[1] + 0x00000008u; /* 02854920 */ /* nop */ /* 02854924 */ _t106 = cpu->r[1] + 0x0000000Au; /* 02854924 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t106); /* 02854928 */ _t107 = cpu->r[29] + 0x0000002Cu; /* 02854928 */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[8]); /* 0285492C */ _t108 = cpu->r[31] + 0x00000013u; /* 0285492C */ cpu->r[0] = rbrew_read8(cpu->mem, _t108); /* 02854930 */ _t109 = cpu->r[29] + 0x0000002Eu; /* 02854930 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[0]); /* 02854934 */ _t110 = cpu->r[30] + 0x00000028u; /* 02854934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t110); /* 02854938 */ _t111 = cpu->r[3] + 0x00000004u; /* 02854938 */ cpu->r[7] = rbrew_read32(cpu->mem, _t111); /* 0285493C */ _t112 = cpu->r[7] + 0x000000F4u; /* 0285493C */ cpu->r[0] = rbrew_read32(cpu->mem, _t112); /* 02854940 */ cpu->ctr = cpu->r[0]; /* 02854944 */ cpu->r[30] = 0x00000000u; /* 02854948 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285494C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854950 */ _t113 = cpu->r[31] + 0x00000014u; /* 02854950 */ cpu->r[6] = rbrew_read32(cpu->mem, _t113); /* 02854954 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854954 */ _t115 = _t114 & 0x00000001u; /* 02854954 */ if (_t115) goto L_0285495C; else goto L_02854958; L_02854958: ; // 0x2854958 /* 02854958 */ cpu->r[30] = 0x00000001u; L_0285495C: ; // 0x285495c /* 0285495C */ cpu->r[0] = cpu->r[6] | cpu->r[30]; /* 02854960 */ _t116 = cpu->r[29] + 0x00000028u; /* 02854960 */ rbrew_write32(cpu->mem, _t116, cpu->r[0]); L_02854964: ; // 0x2854964 /* 02854964 */ _t117 = cpu->r[1] + 0x00000014u; /* 02854964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t117); /* 02854968 */ _t118 = cpu->r[1] + 0x00000048u; /* 02854968 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t118); /* 0285496C */ _t119 = cpu->r[1] + 0x00000028u; /* 0285496C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t119); /* 02854970 */ _t120 = cpu->r[1] + 0x00000040u; /* 02854970 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t120); /* 02854974 */ _t121 = cpu->r[1] + 0x00000038u; /* 02854974 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t121); /* 02854978 */ _t122 = cpu->r[1] + 0x00000020u; /* 02854978 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t122); /* 0285497C */ _t123 = cpu->r[1] + 0x00000030u; /* 0285497C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t123); /* 02854980 */ _t124 = cpu->r[1] + 0x0000001Cu; /* 02854980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t124); /* 02854984 */ _t125 = cpu->r[1] + 0x00000018u; /* 02854984 */ cpu->r[30] = rbrew_read32(cpu->mem, _t125); /* 02854988 */ _t126 = cpu->cr[0] >> (0x00000003u & 31u); /* 02854988 */ _t127 = _t126 & 0x00000001u; /* 02854988 */ if (_t127) goto L_0285498C; // else: addr-0 trap, fall-through L_0285498C: ; // 0x285498c /* 0285498C */ _t128 = cpu->r[1] + 0x00000054u; /* 0285498C */ cpu->r[0] = rbrew_read32(cpu->mem, _t128); /* 02854990 */ cpu->lr = cpu->r[0]; /* 02854994 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 02854998 */ return; } // fn_028545EC @ 0x28545ec void Gambit_fn_028545EC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128; L_028545EC: ; // 0x28545ec /* 028545EC */ _t0 = cpu->r[1] + 0xFFFFFFB0u; /* 028545EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028545EC */ cpu->r[1] = _t0; /* 028545F0 */ _t1 = cpu->r[1] + 0x00000020u; /* 028545F0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]); /* 028545F4 */ /* nop */ /* 028545F8 */ _t2 = cpu->r[1] + 0x00000030u; /* 028545F8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]); /* 028545FC */ /* nop */ /* 02854600 */ _t3 = cpu->r[1] + 0x00000028u; /* 02854600 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]); /* 02854604 */ _t4 = cpu->r[1] + 0x00000038u; /* 02854604 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]); /* 02854608 */ _t5 = cpu->r[1] + 0x00000040u; /* 02854608 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]); /* 0285460C */ _t6 = cpu->r[1] + 0x00000054u; /* 0285460C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02854610 */ _t7 = cpu->r[1] + 0x00000014u; /* 02854610 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]); /* 02854614 */ _t8 = cpu->r[1] + 0x00000018u; /* 02854614 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 02854618 */ /* nop */ /* 0285461C */ _t9 = cpu->r[1] + 0x0000001Cu; /* 0285461C */ rbrew_write32(cpu->mem, _t9, cpu->r[31]); /* 02854620 */ cpu->r[30] = cpu->r[3]; /* 02854624 */ cpu->r[8] = 0x10130000u; /* 02854628 */ _t10 = cpu->r[1] + 0x00000048u; /* 02854628 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]); /* 0285462C */ cpu->r[31] = cpu->r[4]; /* 02854630 */ _t11 = cpu->r[30] + 0x00000028u; /* 02854630 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 02854634 */ cpu->r[10] = 0x43300000u; /* 02854638 */ _t12 = cpu->r[31] + 0x00000008u; /* 02854638 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12); /* 0285463C */ _t13 = cpu->r[1] + 0x00000008u; /* 0285463C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]); /* 02854640 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 02854640 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); /* 02854644 */ _t15 = cpu->r[1] + 0x00000008u; /* 02854644 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15); /* 02854648 */ cpu->r[7] = 0x10130000u; /* 0285464C */ _t16 = cpu->r[8] + 0x00001830u; /* 0285464C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16); /* 02854650 */ _t17 = cpu->r[31] + 0x0000000Cu; /* 02854650 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17); /* 02854654 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 02854658 */ _t18 = cpu->r[6] + 0x00000001u; /* 02854658 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18); /* 0285465C */ _t19 = cpu->r[7] + 0x00001824u; /* 0285465C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19); /* 02854660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02854664 */ cpu->f[4] = (double)(float)cpu->f[0]; /* 02854668 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854668 */ _t21 = _t20 & 0x00000001u; /* 02854668 */ if (_t21) goto L_02854780; else goto L_0285466C; L_0285466C: ; // 0x285466c /* 0285466C */ _t22 = cpu->r[1] + 0x0000000Cu; /* 0285466C */ rbrew_write32(cpu->mem, _t22, cpu->r[9]); /* 02854670 */ cpu->r[10] = 0x43300000u; /* 02854674 */ cpu->r[6] = 0x10130000u; /* 02854678 */ _t23 = cpu->r[1] + 0x00000008u; /* 02854678 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]); /* 0285467C */ _t24 = cpu->r[1] + 0x00000008u; /* 0285467C */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t24); /* 02854680 */ _t25 = cpu->r[6] + 0x00001828u; /* 02854680 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t25); /* 02854684 */ cpu->r[12] = 0x10130000u; /* 02854688 */ _t26 = cpu->r[31] + 0x00000005u; /* 02854688 */ cpu->r[6] = rbrew_read8(cpu->mem, _t26); /* 0285468C */ _t27 = cpu->r[12] + 0x00001830u; /* 0285468C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t27); /* 02854690 */ cpu->r[8] = cpu->r[9] + cpu->r[6]; /* 02854694 */ _t28 = cpu->r[31] + 0x0000000Eu; /* 02854694 */ cpu->r[12] = rbrew_read16(cpu->mem, _t28); /* 02854698 */ cpu->r[0] = cpu->r[8] ^ 0x80000000u; /* 0285469C */ _t29 = cpu->r[31] + 0x0000000Au; /* 0285469C */ cpu->r[11] = rbrew_read16(cpu->mem, _t29); /* 028546A0 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 028546A0 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 028546A4 */ _t31 = cpu->r[1] + 0x00000008u; /* 028546A4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t31); /* 028546A8 */ cpu->f[8] = cpu->f[8] - cpu->f[0]; /* 028546AC */ _t32 = cpu->r[1] + 0x0000000Cu; /* 028546AC */ rbrew_write32(cpu->mem, _t32, cpu->r[11]); /* 028546B0 */ cpu->f[11] = cpu->f[9] - cpu->f[10]; /* 028546B4 */ _t33 = cpu->r[1] + 0x00000008u; /* 028546B4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t33); /* 028546B8 */ cpu->f[9] = (double)(float)cpu->f[8]; /* 028546BC */ cpu->r[10] = 0x10130000u; /* 028546C0 */ _t34 = cpu->r[1] + 0x0000000Cu; /* 028546C0 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]); /* 028546C4 */ _t35 = cpu->r[1] + 0x00000008u; /* 028546C4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t35); /* 028546C8 */ cpu->f[6] = (double)(float)cpu->f[11]; /* 028546CC */ _t36 = cpu->r[10] + 0x00001838u; /* 028546CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t36); /* 028546D0 */ cpu->f[7] = cpu->f[8] - cpu->f[0]; /* 028546D4 */ _t37 = cpu->r[31] + 0x00000007u; /* 028546D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t37); /* 028546D8 */ cpu->f[31] = cpu->f[6] + cpu->f[11]; /* 028546DC */ cpu->r[9] = cpu->r[12] + cpu->r[8]; /* 028546E0 */ cpu->f[7] = (double)(float)cpu->f[7]; /* 028546E4 */ cpu->r[7] = cpu->r[9] ^ 0x80000000u; /* 028546E8 */ cpu->f[30] = cpu->f[9] - cpu->f[11]; /* 028546EC */ _t38 = cpu->r[1] + 0x0000000Cu; /* 028546EC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]); /* 028546F0 */ _t39 = cpu->r[1] + 0x00000008u; /* 028546F0 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t39); /* 028546F4 */ cpu->f[30] = cpu->f[30] / cpu->f[4]; /* 028546F8 */ _t40 = cpu->r[1] + 0x0000000Cu; /* 028546F8 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]); /* 028546FC */ cpu->f[2] = cpu->f[7] - cpu->f[11]; /* 02854700 */ _t41 = cpu->r[1] + 0x00000008u; /* 02854700 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t41); /* 02854704 */ cpu->f[10] = cpu->f[9] - cpu->f[10]; /* 02854708 */ _t42 = cpu->r[1] + 0x0000000Cu; /* 02854708 */ rbrew_write32(cpu->mem, _t42, cpu->r[8]); /* 0285470C */ cpu->f[9] = cpu->f[7] - cpu->f[0]; /* 02854710 */ _t43 = cpu->r[1] + 0x00000008u; /* 02854710 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t43); /* 02854714 */ cpu->f[10] = (double)(float)cpu->f[10]; /* 02854718 */ cpu->f[8] = cpu->f[7] - cpu->f[0]; /* 0285471C */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 02854720 */ cpu->f[3] = cpu->f[10] + cpu->f[11]; /* 02854724 */ _t44 = cpu->r[30] + 0x00000010u; /* 02854724 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t44); /* 02854728 */ cpu->f[10] = (double)(float)cpu->f[9]; /* 0285472C */ _t45 = cpu->r[30] + 0x00000018u; /* 0285472C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t45); /* 02854730 */ cpu->f[7] = (double)(float)cpu->f[0]; /* 02854734 */ _t46 = cpu->r[30] + 0x0000000Cu; /* 02854734 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t46); /* 02854738 */ cpu->f[29] = -fma(cpu->f[11], cpu->f[5], -(cpu->f[9])); /* 0285473C */ cpu->f[9] = cpu->f[2] / cpu->f[7]; /* 02854740 */ _t47 = cpu->r[30] + 0x0000002Cu; /* 02854740 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47); /* 02854744 */ _t48 = cpu->r[10] + 0x00000004u; /* 02854744 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48); /* 02854748 */ _t49 = cpu->r[10] + 0x00000000u; /* 02854748 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49); /* 0285474C */ cpu->f[1] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[1])); /* 02854750 */ cpu->f[11] = (double)(float)cpu->f[8]; /* 02854754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[11]); /* 02854758 */ cpu->f[10] = cpu->f[10] + cpu->f[12]; /* 0285475C */ cpu->f[13] = cpu->f[31] / cpu->f[4]; /* 02854760 */ cpu->f[8] = cpu->f[11] + cpu->f[12]; /* 02854764 */ cpu->f[10] = cpu->f[10] * cpu->f[6]; /* 02854768 */ cpu->f[11] = cpu->f[8] * cpu->f[5]; /* 0285476C */ cpu->f[8] = cpu->f[3] / cpu->f[7]; /* 02854770 */ cpu->f[0] = cpu->f[12] - cpu->f[9]; /* 02854774 */ cpu->f[8] = cpu->f[12] - cpu->f[8]; /* 02854778 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 02854778 */ _t51 = _t50 & 0x00000001u; /* 02854778 */ if (_t51) goto L_02854868; else goto L_0285477C; L_0285477C: ; // 0x285477c /* 0285477C */ goto L_02854964; L_02854780: ; // 0x2854780 /* 02854780 */ _t52 = cpu->r[31] + 0x00000005u; /* 02854780 */ cpu->r[6] = rbrew_read8(cpu->mem, _t52); /* 02854784 */ cpu->r[0] = 0x43300000u; /* 02854788 */ _t53 = cpu->r[31] + 0x00000007u; /* 02854788 */ cpu->r[8] = rbrew_read8(cpu->mem, _t53); /* 0285478C */ cpu->r[12] = 0x10130000u; /* 02854790 */ _t54 = cpu->r[1] + 0x00000008u; /* 02854790 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]); /* 02854794 */ _t55 = cpu->r[12] + 0x00001830u; /* 02854794 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t55); /* 02854798 */ cpu->r[7] = cpu->r[9] + cpu->r[6]; /* 0285479C */ _t56 = cpu->r[1] + 0x0000000Cu; /* 0285479C */ rbrew_write32(cpu->mem, _t56, cpu->r[9]); /* 028547A0 */ _t57 = cpu->r[1] + 0x00000008u; /* 028547A0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t57); /* 028547A4 */ cpu->r[12] = cpu->r[7] ^ 0x80000000u; /* 028547A8 */ _t58 = cpu->r[31] + 0x0000000Au; /* 028547A8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t58); /* 028547AC */ cpu->f[11] = cpu->f[11] - cpu->f[7]; /* 028547B0 */ _t59 = cpu->r[1] + 0x0000000Cu; /* 028547B0 */ rbrew_write32(cpu->mem, _t59, cpu->r[12]); /* 028547B4 */ _t60 = cpu->r[1] + 0x00000008u; /* 028547B4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t60); /* 028547B8 */ cpu->r[9] = 0x10130000u; /* 028547BC */ _t61 = cpu->r[31] + 0x0000000Eu; /* 028547BC */ cpu->r[12] = rbrew_read16(cpu->mem, _t61); /* 028547C0 */ cpu->f[30] = (double)(float)cpu->f[11]; /* 028547C4 */ _t62 = cpu->r[9] + 0x00001828u; /* 028547C4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t62); /* 028547C8 */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 028547CC */ _t63 = cpu->r[1] + 0x0000000Cu; /* 028547CC */ rbrew_write32(cpu->mem, _t63, cpu->r[11]); /* 028547D0 */ _t64 = cpu->r[1] + 0x00000008u; /* 028547D0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t64); /* 028547D4 */ cpu->f[10] = cpu->f[8] - cpu->f[9]; /* 028547D8 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u; /* 028547DC */ _t65 = cpu->r[1] + 0x0000000Cu; /* 028547DC */ rbrew_write32(cpu->mem, _t65, cpu->r[12]); /* 028547E0 */ cpu->f[0] = cpu->f[13] - cpu->f[7]; /* 028547E4 */ _t66 = cpu->r[1] + 0x00000008u; /* 028547E4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t66); /* 028547E8 */ cpu->f[31] = (double)(float)cpu->f[10]; /* 028547EC */ _t67 = cpu->r[1] + 0x0000000Cu; /* 028547EC */ rbrew_write32(cpu->mem, _t67, cpu->r[0]); /* 028547F0 */ _t68 = cpu->r[1] + 0x00000008u; /* 028547F0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t68); /* 028547F4 */ cpu->f[10] = cpu->f[8] - cpu->f[7]; /* 028547F8 */ _t69 = cpu->r[1] + 0x0000000Cu; /* 028547F8 */ rbrew_write32(cpu->mem, _t69, cpu->r[6]); /* 028547FC */ cpu->f[13] = cpu->f[31] / cpu->f[4]; /* 02854800 */ cpu->f[8] = cpu->f[11] - cpu->f[9]; /* 02854804 */ _t70 = cpu->r[1] + 0x00000008u; /* 02854804 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t70); /* 02854808 */ cpu->f[2] = (double)(float)cpu->f[10]; /* 0285480C */ cpu->f[30] = cpu->f[30] / cpu->f[4]; /* 02854810 */ _t71 = cpu->r[1] + 0x0000000Cu; /* 02854810 */ rbrew_write32(cpu->mem, _t71, cpu->r[8]); /* 02854814 */ _t72 = cpu->r[1] + 0x00000008u; /* 02854814 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t72); /* 02854818 */ cpu->f[10] = cpu->f[9] - cpu->f[7]; /* 0285481C */ _t73 = cpu->r[30] + 0x0000002Cu; /* 0285481C */ cpu->r[10] = rbrew_read32(cpu->mem, _t73); /* 02854820 */ cpu->f[3] = (double)(float)cpu->f[8]; /* 02854824 */ cpu->f[8] = cpu->f[11] - cpu->f[7]; /* 02854828 */ _t74 = cpu->r[10] + 0x00000000u; /* 02854828 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74); /* 0285482C */ cpu->f[10] = (double)(float)cpu->f[10]; /* 02854830 */ _t75 = cpu->r[30] + 0x0000000Cu; /* 02854830 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t75); /* 02854834 */ cpu->f[7] = (double)(float)cpu->f[0]; /* 02854838 */ cpu->f[10] = cpu->f[10] * cpu->f[6]; /* 0285483C */ cpu->f[8] = (double)(float)cpu->f[8]; /* 02854840 */ cpu->f[9] = cpu->f[2] / cpu->f[7]; /* 02854844 */ _t76 = cpu->r[30] + 0x00000010u; /* 02854844 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t76); /* 02854848 */ cpu->f[11] = cpu->f[8] * cpu->f[5]; /* 0285484C */ cpu->f[8] = cpu->f[3] / cpu->f[7]; /* 02854850 */ _t77 = cpu->r[10] + 0x00000004u; /* 02854850 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77); /* 02854854 */ _t78 = cpu->r[30] + 0x00000018u; /* 02854854 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t78); /* 02854858 */ cpu->f[0] = cpu->f[12] - cpu->f[9]; /* 0285485C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[11]); /* 02854860 */ cpu->f[8] = cpu->f[12] - cpu->f[8]; /* 02854864 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 02854864 */ _t80 = _t79 & 0x00000001u; /* 02854864 */ if (_t80) goto L_02854868; else goto L_02854964; L_02854868: ; // 0x2854868 /* 02854868 */ cpu->r[12] = cpu->r[8] + 0x00000001u; /* 0285486C */ cpu->r[11] = 0x00000002u; /* 02854870 */ _t81 = cpu->r[10] + 0x00000004u; /* 02854870 */ rbrew_write32(cpu->mem, _t81, cpu->r[12]); /* 02854874 */ _t82 = cpu->r[30] + 0x0000002Cu; /* 02854874 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82); /* 02854878 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u); /* 0285487C */ _t83 = cpu->r[10] + 0x0000000Cu; /* 0285487C */ cpu->r[6] = rbrew_read32(cpu->mem, _t83); /* 02854880 */ cpu->ctr = cpu->r[11]; /* 02854884 */ cpu->r[29] = cpu->r[6] + cpu->r[0]; /* 02854888 */ _t84 = cpu->r[29] + 0x00000000u; /* 02854888 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[10]); /* 0285488C */ _t85 = cpu->r[29] + 0x00000004u; /* 0285488C */ rbrew_write_f32(cpu->mem, _t85, cpu->f[11]); /* 02854890 */ cpu->r[12] = 0x00000000u; /* 02854894 */ _t86 = cpu->r[29] + 0x00000008u; /* 02854894 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[1]); /* 02854898 */ cpu->r[6] = cpu->r[29] + 0x00000010u; /* 0285489C */ _t87 = cpu->r[29] + 0x0000000Cu; /* 0285489C */ rbrew_write_f32(cpu->mem, _t87, cpu->f[29]); L_028548A0: ; // 0x28548a0 /* 028548A0 */ cpu->r[7] = cpu->r[30] + cpu->r[12]; /* 028548A4 */ cpu->r[8] = cpu->r[6] + cpu->r[12]; /* 028548A8 */ /* nop */ /* 028548AC */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 028548B0 */ /* nop */ /* 028548B4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028548B4 */ _t88 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028548B4 */ _t89 = _t88 >> (0x00000002u & 31u); /* 028548B4 */ _t90 = _t89 & 0x00000001u; /* 028548B4 */ if (_t90) goto L_028548A0; else goto L_028548B8; L_028548B8: ; // 0x28548b8 /* 028548B8 */ _t91 = cpu->r[30] + 0x00000031u; /* 028548B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t91); /* 028548BC */ _t92 = cpu->r[29] + 0x00000018u; /* 028548BC */ rbrew_write_f32(cpu->mem, _t92, cpu->f[30]); /* 028548C0 */ _t93 = cpu->r[29] + 0x0000002Fu; /* 028548C0 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[0]); /* 028548C4 */ _t94 = cpu->r[29] + 0x0000001Cu; /* 028548C4 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]); /* 028548C8 */ _t95 = cpu->r[29] + 0x00000020u; /* 028548C8 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[13]); /* 028548CC */ _t96 = cpu->r[29] + 0x00000024u; /* 028548CC */ rbrew_write_f32(cpu->mem, _t96, cpu->f[8]); /* 028548D0 */ _t97 = cpu->r[30] + 0x00000028u; /* 028548D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97); /* 028548D4 */ _t98 = cpu->r[3] + 0x00000004u; /* 028548D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98); /* 028548D8 */ _t99 = cpu->r[12] + 0x0000001Cu; /* 028548D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t99); /* 028548DC */ _t100 = cpu->r[30] + 0x0000000Cu; /* 028548DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t100); /* 028548E0 */ cpu->ctr = cpu->r[10]; /* 028548E4 */ _t101 = cpu->r[30] + 0x00000024u; /* 028548E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t101); /* 028548E8 */ cpu->f[31] = cpu->f[9] * cpu->f[10]; /* 028548EC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028548F0 */ cpu->r[7] = 0x10130000u; /* 028548F4 */ cpu->r[6] = 0x43300000u; /* 028548F8 */ _t102 = cpu->r[7] + 0x00001828u; /* 028548F8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t102); /* 028548FC */ cpu->r[9] = cpu->r[3] ^ 0x80000000u; /* 02854900 */ _t103 = cpu->r[1] + 0x00000008u; /* 02854900 */ rbrew_write32(cpu->mem, _t103, cpu->r[6]); /* 02854904 */ _t104 = cpu->r[1] + 0x0000000Cu; /* 02854904 */ rbrew_write32(cpu->mem, _t104, cpu->r[9]); /* 02854908 */ _t105 = cpu->r[1] + 0x00000008u; /* 02854908 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t105); /* 0285490C */ cpu->f[0] = cpu->f[13] - cpu->f[8]; /* 02854910 */ cpu->f[9] = (double)(float)cpu->f[0]; /* 02854914 */ cpu->f[7] = cpu->f[31] * cpu->f[9]; /* 02854918 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[7]; /* 0285491C */ cpu->r[11] = cpu->r[1] + 0x00000008u; /* 02854920 */ /* nop */ /* 02854924 */ _t106 = cpu->r[1] + 0x0000000Au; /* 02854924 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t106); /* 02854928 */ _t107 = cpu->r[29] + 0x0000002Cu; /* 02854928 */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[8]); /* 0285492C */ _t108 = cpu->r[31] + 0x00000013u; /* 0285492C */ cpu->r[0] = rbrew_read8(cpu->mem, _t108); /* 02854930 */ _t109 = cpu->r[29] + 0x0000002Eu; /* 02854930 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[0]); /* 02854934 */ _t110 = cpu->r[30] + 0x00000028u; /* 02854934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t110); /* 02854938 */ _t111 = cpu->r[3] + 0x00000004u; /* 02854938 */ cpu->r[7] = rbrew_read32(cpu->mem, _t111); /* 0285493C */ _t112 = cpu->r[7] + 0x000000F4u; /* 0285493C */ cpu->r[0] = rbrew_read32(cpu->mem, _t112); /* 02854940 */ cpu->ctr = cpu->r[0]; /* 02854944 */ cpu->r[30] = 0x00000000u; /* 02854948 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285494C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854950 */ _t113 = cpu->r[31] + 0x00000014u; /* 02854950 */ cpu->r[6] = rbrew_read32(cpu->mem, _t113); /* 02854954 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854954 */ _t115 = _t114 & 0x00000001u; /* 02854954 */ if (_t115) goto L_0285495C; else goto L_02854958; L_02854958: ; // 0x2854958 /* 02854958 */ cpu->r[30] = 0x00000001u; L_0285495C: ; // 0x285495c /* 0285495C */ cpu->r[0] = cpu->r[6] | cpu->r[30]; /* 02854960 */ _t116 = cpu->r[29] + 0x00000028u; /* 02854960 */ rbrew_write32(cpu->mem, _t116, cpu->r[0]); L_02854964: ; // 0x2854964 /* 02854964 */ _t117 = cpu->r[1] + 0x00000014u; /* 02854964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t117); /* 02854968 */ _t118 = cpu->r[1] + 0x00000048u; /* 02854968 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t118); /* 0285496C */ _t119 = cpu->r[1] + 0x00000028u; /* 0285496C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t119); /* 02854970 */ _t120 = cpu->r[1] + 0x00000040u; /* 02854970 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t120); /* 02854974 */ _t121 = cpu->r[1] + 0x00000038u; /* 02854974 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t121); /* 02854978 */ _t122 = cpu->r[1] + 0x00000020u; /* 02854978 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t122); /* 0285497C */ _t123 = cpu->r[1] + 0x00000030u; /* 0285497C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t123); /* 02854980 */ _t124 = cpu->r[1] + 0x0000001Cu; /* 02854980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t124); /* 02854984 */ _t125 = cpu->r[1] + 0x00000018u; /* 02854984 */ cpu->r[30] = rbrew_read32(cpu->mem, _t125); /* 02854988 */ _t126 = cpu->cr[0] >> (0x00000003u & 31u); /* 02854988 */ _t127 = _t126 & 0x00000001u; /* 02854988 */ if (_t127) goto L_0285498C; // else: addr-0 trap, fall-through L_0285498C: ; // 0x285498c /* 0285498C */ _t128 = cpu->r[1] + 0x00000054u; /* 0285498C */ cpu->r[0] = rbrew_read32(cpu->mem, _t128); /* 02854990 */ cpu->lr = cpu->r[0]; /* 02854994 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 02854998 */ return; } // fn_0285499C @ 0x285499c void Gambit_fn_0285499C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39; L_0285499C: ; // 0x285499c /* 0285499C */ cpu->r[0] = cpu->lr; /* 028549A0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 028549A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028549A0 */ cpu->r[1] = _t0; /* 028549A4 */ _t1 = cpu->r[1] + 0x00000018u; /* 028549A4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 028549A8 */ /* nop */ /* 028549AC */ _t2 = cpu->r[1] + 0x00000020u; /* 028549AC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 028549B0 */ _t3 = cpu->r[1] + 0x0000002Cu; /* 028549B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028549B4 */ _t4 = cpu->r[1] + 0x00000014u; /* 028549B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028549B8 */ cpu->r[31] = cpu->r[3]; /* 028549BC */ _t5 = cpu->r[31] + 0x00000030u; /* 028549BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5); /* 028549C0 */ cpu->r[12] = cpu->r[4] + 0x00000004u; /* 028549C4 */ _t6 = cpu->r[31] + 0x0000000Cu; /* 028549C4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6); /* 028549C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028549CC */ _t7 = cpu->r[4] + 0x00000006u; /* 028549CC */ cpu->r[9] = rbrew_read8(cpu->mem, _t7); /* 028549D0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028549D0 */ _t9 = _t8 & 0x00000001u; /* 028549D0 */ if (_t9) goto L_02854A50; else goto L_028549D4; L_028549D4: ; // 0x28549d4 /* 028549D4 */ _t10 = cpu->r[12] + 0x00000000u; /* 028549D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t10); /* 028549D8 */ cpu->r[0] = 0x43300000u; /* 028549DC */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028549DC */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 028549E0 */ cpu->r[9] = 0x10130000u; /* 028549E4 */ /* nop */ /* 028549E8 */ _t12 = cpu->r[9] + 0x00001828u; /* 028549E8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t12); /* 028549EC */ cpu->r[11] = cpu->r[8] ^ 0x80000000u; /* 028549F0 */ _t13 = cpu->r[1] + 0x00000008u; /* 028549F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 028549F4 */ _t14 = cpu->r[1] + 0x00000008u; /* 028549F4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14); /* 028549F8 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028549F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]); /* 028549FC */ _t16 = cpu->r[1] + 0x00000008u; /* 028549FC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t16); /* 02854A00 */ cpu->r[11] = 0x10130000u; /* 02854A04 */ _t17 = cpu->r[11] + 0x00001830u; /* 02854A04 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t17); /* 02854A08 */ cpu->f[0] = cpu->f[11] - cpu->f[13]; /* 02854A0C */ cpu->f[13] = cpu->f[12] - cpu->f[10]; /* 02854A10 */ cpu->f[12] = (double)(float)cpu->f[0]; /* 02854A14 */ cpu->f[0] = (double)(float)cpu->f[13]; /* 02854A18 */ _t18 = cpu->r[31] + 0x00000020u; /* 02854A18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18); /* 02854A1C */ cpu->f[11] = cpu->f[12] * cpu->f[9]; /* 02854A20 */ cpu->r[12] = 0x10130000u; /* 02854A24 */ cpu->f[10] = -fma(cpu->f[0], cpu->f[9], -(cpu->f[31])); /* 02854A28 */ _t19 = cpu->r[12] + 0x00001838u; /* 02854A28 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19); /* 02854A2C */ cpu->f[10] = fma(cpu->f[10], cpu->f[12], cpu->f[11]); /* 02854A30 */ _t20 = cpu->r[31] + 0x00000014u; /* 02854A30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20); /* 02854A34 */ cpu->f[1] = cpu->f[0] + cpu->f[10]; /* 02854A38 */ cpu->r[3] = cpu->r[31]; /* 02854A3C */ Gambit_fn_028545E8(cpu); /* 02854A40 */ _t21 = cpu->r[31] + 0x00000014u; /* 02854A40 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21); /* 02854A44 */ cpu->f[11] = cpu->f[11] + cpu->f[31]; /* 02854A48 */ _t22 = cpu->r[31] + 0x00000014u; /* 02854A48 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]); /* 02854A4C */ goto L_02854AB4; L_02854A50: ; // 0x2854a50 /* 02854A50 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 02854A50 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]); /* 02854A54 */ cpu->r[10] = 0x10130000u; /* 02854A58 */ cpu->r[0] = 0x43300000u; /* 02854A5C */ _t24 = cpu->r[10] + 0x00001830u; /* 02854A5C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t24); /* 02854A60 */ _t25 = cpu->r[1] + 0x00000008u; /* 02854A60 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 02854A64 */ _t26 = cpu->r[12] + 0x00000000u; /* 02854A64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t26); /* 02854A68 */ cpu->r[8] = 0x10130000u; /* 02854A6C */ _t27 = cpu->r[1] + 0x00000008u; /* 02854A6C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t27); /* 02854A70 */ /* nop */ /* 02854A74 */ _t28 = cpu->r[8] + 0x00001828u; /* 02854A74 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t28); /* 02854A78 */ cpu->f[12] = cpu->f[10] - cpu->f[11]; /* 02854A7C */ cpu->r[12] = cpu->r[10] ^ 0x80000000u; /* 02854A80 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 02854A80 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]); /* 02854A84 */ _t30 = cpu->r[1] + 0x00000008u; /* 02854A84 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t30); /* 02854A88 */ cpu->f[13] = (double)(float)cpu->f[12]; /* 02854A8C */ cpu->f[11] = cpu->f[10] - cpu->f[0]; /* 02854A90 */ cpu->f[31] = cpu->f[13] * cpu->f[9]; /* 02854A94 */ cpu->f[13] = (double)(float)cpu->f[11]; /* 02854A98 */ _t31 = cpu->r[31] + 0x00000014u; /* 02854A98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31); /* 02854A9C */ cpu->f[1] = fma(cpu->f[13], cpu->f[9], cpu->f[0]); /* 02854AA0 */ cpu->r[3] = cpu->r[31]; /* 02854AA4 */ Gambit_fn_028545E8(cpu); /* 02854AA8 */ _t32 = cpu->r[31] + 0x00000014u; /* 02854AA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32); /* 02854AAC */ cpu->f[11] = cpu->f[11] + cpu->f[31]; /* 02854AB0 */ _t33 = cpu->r[31] + 0x00000014u; /* 02854AB0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[11]); L_02854AB4: ; // 0x2854ab4 /* 02854AB4 */ cpu->f[1] = cpu->f[31]; /* 02854AB8 */ _t34 = cpu->r[1] + 0x00000020u; /* 02854AB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34); /* 02854ABC */ _t35 = cpu->r[1] + 0x00000014u; /* 02854ABC */ cpu->r[31] = rbrew_read32(cpu->mem, _t35); /* 02854AC0 */ _t36 = cpu->r[1] + 0x00000018u; /* 02854AC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36); /* 02854AC4 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 02854AC4 */ _t38 = _t37 & 0x00000001u; /* 02854AC4 */ if (_t38) goto L_02854AC8; // else: addr-0 trap, fall-through L_02854AC8: ; // 0x2854ac8 /* 02854AC8 */ _t39 = cpu->r[1] + 0x0000002Cu; /* 02854AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 02854ACC */ cpu->lr = cpu->r[0]; /* 02854AD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02854AD4 */ return; } // fn_028549A0 @ 0x28549a0 void Gambit_fn_028549A0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39; L_028549A0: ; // 0x28549a0 /* 028549A0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 028549A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028549A0 */ cpu->r[1] = _t0; /* 028549A4 */ _t1 = cpu->r[1] + 0x00000018u; /* 028549A4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 028549A8 */ /* nop */ /* 028549AC */ _t2 = cpu->r[1] + 0x00000020u; /* 028549AC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 028549B0 */ _t3 = cpu->r[1] + 0x0000002Cu; /* 028549B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028549B4 */ _t4 = cpu->r[1] + 0x00000014u; /* 028549B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028549B8 */ cpu->r[31] = cpu->r[3]; /* 028549BC */ _t5 = cpu->r[31] + 0x00000030u; /* 028549BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5); /* 028549C0 */ cpu->r[12] = cpu->r[4] + 0x00000004u; /* 028549C4 */ _t6 = cpu->r[31] + 0x0000000Cu; /* 028549C4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6); /* 028549C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028549CC */ _t7 = cpu->r[4] + 0x00000006u; /* 028549CC */ cpu->r[9] = rbrew_read8(cpu->mem, _t7); /* 028549D0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028549D0 */ _t9 = _t8 & 0x00000001u; /* 028549D0 */ if (_t9) goto L_02854A50; else goto L_028549D4; L_028549D4: ; // 0x28549d4 /* 028549D4 */ _t10 = cpu->r[12] + 0x00000000u; /* 028549D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t10); /* 028549D8 */ cpu->r[0] = 0x43300000u; /* 028549DC */ _t11 = cpu->r[1] + 0x0000000Cu; /* 028549DC */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 028549E0 */ cpu->r[9] = 0x10130000u; /* 028549E4 */ /* nop */ /* 028549E8 */ _t12 = cpu->r[9] + 0x00001828u; /* 028549E8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t12); /* 028549EC */ cpu->r[11] = cpu->r[8] ^ 0x80000000u; /* 028549F0 */ _t13 = cpu->r[1] + 0x00000008u; /* 028549F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 028549F4 */ _t14 = cpu->r[1] + 0x00000008u; /* 028549F4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14); /* 028549F8 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 028549F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]); /* 028549FC */ _t16 = cpu->r[1] + 0x00000008u; /* 028549FC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t16); /* 02854A00 */ cpu->r[11] = 0x10130000u; /* 02854A04 */ _t17 = cpu->r[11] + 0x00001830u; /* 02854A04 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t17); /* 02854A08 */ cpu->f[0] = cpu->f[11] - cpu->f[13]; /* 02854A0C */ cpu->f[13] = cpu->f[12] - cpu->f[10]; /* 02854A10 */ cpu->f[12] = (double)(float)cpu->f[0]; /* 02854A14 */ cpu->f[0] = (double)(float)cpu->f[13]; /* 02854A18 */ _t18 = cpu->r[31] + 0x00000020u; /* 02854A18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18); /* 02854A1C */ cpu->f[11] = cpu->f[12] * cpu->f[9]; /* 02854A20 */ cpu->r[12] = 0x10130000u; /* 02854A24 */ cpu->f[10] = -fma(cpu->f[0], cpu->f[9], -(cpu->f[31])); /* 02854A28 */ _t19 = cpu->r[12] + 0x00001838u; /* 02854A28 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19); /* 02854A2C */ cpu->f[10] = fma(cpu->f[10], cpu->f[12], cpu->f[11]); /* 02854A30 */ _t20 = cpu->r[31] + 0x00000014u; /* 02854A30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20); /* 02854A34 */ cpu->f[1] = cpu->f[0] + cpu->f[10]; /* 02854A38 */ cpu->r[3] = cpu->r[31]; /* 02854A3C */ Gambit_fn_028545E8(cpu); /* 02854A40 */ _t21 = cpu->r[31] + 0x00000014u; /* 02854A40 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21); /* 02854A44 */ cpu->f[11] = cpu->f[11] + cpu->f[31]; /* 02854A48 */ _t22 = cpu->r[31] + 0x00000014u; /* 02854A48 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]); /* 02854A4C */ goto L_02854AB4; L_02854A50: ; // 0x2854a50 /* 02854A50 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 02854A50 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]); /* 02854A54 */ cpu->r[10] = 0x10130000u; /* 02854A58 */ cpu->r[0] = 0x43300000u; /* 02854A5C */ _t24 = cpu->r[10] + 0x00001830u; /* 02854A5C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t24); /* 02854A60 */ _t25 = cpu->r[1] + 0x00000008u; /* 02854A60 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 02854A64 */ _t26 = cpu->r[12] + 0x00000000u; /* 02854A64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t26); /* 02854A68 */ cpu->r[8] = 0x10130000u; /* 02854A6C */ _t27 = cpu->r[1] + 0x00000008u; /* 02854A6C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t27); /* 02854A70 */ /* nop */ /* 02854A74 */ _t28 = cpu->r[8] + 0x00001828u; /* 02854A74 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t28); /* 02854A78 */ cpu->f[12] = cpu->f[10] - cpu->f[11]; /* 02854A7C */ cpu->r[12] = cpu->r[10] ^ 0x80000000u; /* 02854A80 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 02854A80 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]); /* 02854A84 */ _t30 = cpu->r[1] + 0x00000008u; /* 02854A84 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t30); /* 02854A88 */ cpu->f[13] = (double)(float)cpu->f[12]; /* 02854A8C */ cpu->f[11] = cpu->f[10] - cpu->f[0]; /* 02854A90 */ cpu->f[31] = cpu->f[13] * cpu->f[9]; /* 02854A94 */ cpu->f[13] = (double)(float)cpu->f[11]; /* 02854A98 */ _t31 = cpu->r[31] + 0x00000014u; /* 02854A98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31); /* 02854A9C */ cpu->f[1] = fma(cpu->f[13], cpu->f[9], cpu->f[0]); /* 02854AA0 */ cpu->r[3] = cpu->r[31]; /* 02854AA4 */ Gambit_fn_028545E8(cpu); /* 02854AA8 */ _t32 = cpu->r[31] + 0x00000014u; /* 02854AA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32); /* 02854AAC */ cpu->f[11] = cpu->f[11] + cpu->f[31]; /* 02854AB0 */ _t33 = cpu->r[31] + 0x00000014u; /* 02854AB0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[11]); L_02854AB4: ; // 0x2854ab4 /* 02854AB4 */ cpu->f[1] = cpu->f[31]; /* 02854AB8 */ _t34 = cpu->r[1] + 0x00000020u; /* 02854AB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34); /* 02854ABC */ _t35 = cpu->r[1] + 0x00000014u; /* 02854ABC */ cpu->r[31] = rbrew_read32(cpu->mem, _t35); /* 02854AC0 */ _t36 = cpu->r[1] + 0x00000018u; /* 02854AC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36); /* 02854AC4 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 02854AC4 */ _t38 = _t37 & 0x00000001u; /* 02854AC4 */ if (_t38) goto L_02854AC8; // else: addr-0 trap, fall-through L_02854AC8: ; // 0x2854ac8 /* 02854AC8 */ _t39 = cpu->r[1] + 0x0000002Cu; /* 02854AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 02854ACC */ cpu->lr = cpu->r[0]; /* 02854AD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02854AD4 */ return; } // fn_02854AD8 @ 0x2854ad8 void Gambit_fn_02854AD8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02854AD8: ; // 0x2854ad8 /* 02854AD8 */ cpu->r[0] = cpu->lr; /* 02854ADC */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02854ADC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854ADC */ cpu->r[1] = _t0; /* 02854AE0 */ _t1 = cpu->r[1] + 0x00000024u; /* 02854AE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854AE4 */ _t2 = cpu->r[1] + 0x00000020u; /* 02854AE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02854AE8 */ cpu->r[30] = cpu->r[3]; /* 02854AEC */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02854AF0 */ cpu->r[31] = cpu->r[4]; /* 02854AF4 */ _t3 = cpu->r[1] + 0x0000002Cu; /* 02854AF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02854AF8 */ Gambit_fn_02854D00(cpu); /* 02854AFC */ _t4 = cpu->r[30] + 0x00000028u; /* 02854AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 02854B00 */ _t5 = cpu->r[3] + 0x00000004u; /* 02854B00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02854B04 */ _t6 = cpu->r[12] + 0x0000008Cu; /* 02854B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02854B08 */ cpu->ctr = cpu->r[0]; /* 02854B0C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02854B10 */ cpu->r[5] = cpu->r[31]; /* 02854B14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02854B18 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02854B1C */ cpu->r[3] = cpu->r[30]; /* 02854B20 */ Gambit_fn_0285499C(cpu); /* 02854B24 */ _t7 = cpu->r[1] + 0x0000002Cu; /* 02854B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02854B28 */ _t8 = cpu->r[1] + 0x00000024u; /* 02854B28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 02854B2C */ cpu->lr = cpu->r[0]; /* 02854B30 */ _t9 = cpu->r[1] + 0x00000020u; /* 02854B30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 02854B34 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02854B38 */ return; } // fn_02854ADC @ 0x2854adc void Gambit_fn_02854ADC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02854ADC: ; // 0x2854adc /* 02854ADC */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02854ADC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854ADC */ cpu->r[1] = _t0; /* 02854AE0 */ _t1 = cpu->r[1] + 0x00000024u; /* 02854AE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854AE4 */ _t2 = cpu->r[1] + 0x00000020u; /* 02854AE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02854AE8 */ cpu->r[30] = cpu->r[3]; /* 02854AEC */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02854AF0 */ cpu->r[31] = cpu->r[4]; /* 02854AF4 */ _t3 = cpu->r[1] + 0x0000002Cu; /* 02854AF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02854AF8 */ Gambit_fn_02854D00(cpu); /* 02854AFC */ _t4 = cpu->r[30] + 0x00000028u; /* 02854AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 02854B00 */ _t5 = cpu->r[3] + 0x00000004u; /* 02854B00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02854B04 */ _t6 = cpu->r[12] + 0x0000008Cu; /* 02854B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02854B08 */ cpu->ctr = cpu->r[0]; /* 02854B0C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02854B10 */ cpu->r[5] = cpu->r[31]; /* 02854B14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02854B18 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02854B1C */ cpu->r[3] = cpu->r[30]; /* 02854B20 */ Gambit_fn_0285499C(cpu); /* 02854B24 */ _t7 = cpu->r[1] + 0x0000002Cu; /* 02854B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02854B28 */ _t8 = cpu->r[1] + 0x00000024u; /* 02854B28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 02854B2C */ cpu->lr = cpu->r[0]; /* 02854B30 */ _t9 = cpu->r[1] + 0x00000020u; /* 02854B30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 02854B34 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02854B38 */ return; } // fn_02854B3C @ 0x2854b3c void Gambit_fn_02854B3C(CPUState* cpu) { L_02854B3C: ; // 0x2854b3c /* 02854B3C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000030u); /* 02854B40 */ cpu->r[3] = cpu->r[12] + 0x000000A0u; /* 02854B44 */ return; } // fn_02854B48 @ 0x2854b48 void Gambit_fn_02854B48(CPUState* cpu) { L_02854B48: ; // 0x2854b48 /* 02854B48 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x000000E0u); /* 02854B4C */ return; } // fn_02854B50 @ 0x2854b50 void Gambit_fn_02854B50(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02854B50: ; // 0x2854b50 /* 02854B50 */ cpu->r[0] = cpu->lr; /* 02854B54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02854B54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854B54 */ cpu->r[1] = _t0; /* 02854B58 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02854B58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854B5C */ cpu->r[31] = cpu->r[3]; /* 02854B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854B60 */ _t2 = cpu->r[1] + 0x00000014u; /* 02854B60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02854B64 */ cpu->r[0] = cpu->r[4]; /* 02854B68 */ cpu->r[4] = cpu->r[5]; /* 02854B6C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854B6C */ _t4 = _t3 & 0x00000001u; /* 02854B6C */ if (_t4) goto L_02854B78; else goto L_02854B70; L_02854B70: ; // 0x2854b70 /* 02854B70 */ cpu->r[5] = cpu->r[0]; /* 02854B74 */ Gambit_fn_02854C38(cpu); L_02854B78: ; // 0x2854b78 /* 02854B78 */ cpu->r[11] = cpu->r[31] + 0x000000A0u; /* 02854B7C */ cpu->r[0] = 0x00000000u; /* 02854B80 */ _t5 = cpu->r[3] + 0x0000000Cu; /* 02854B80 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 02854B84 */ _t6 = cpu->r[3] + 0x00000010u; /* 02854B84 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]); /* 02854B88 */ _t7 = cpu->r[1] + 0x00000014u; /* 02854B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02854B8C */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02854B8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 02854B90 */ cpu->lr = cpu->r[0]; /* 02854B94 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02854B98 */ return; } // fn_02854B54 @ 0x2854b54 void Gambit_fn_02854B54(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02854B54: ; // 0x2854b54 /* 02854B54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02854B54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854B54 */ cpu->r[1] = _t0; /* 02854B58 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02854B58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854B5C */ cpu->r[31] = cpu->r[3]; /* 02854B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854B60 */ _t2 = cpu->r[1] + 0x00000014u; /* 02854B60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02854B64 */ cpu->r[0] = cpu->r[4]; /* 02854B68 */ cpu->r[4] = cpu->r[5]; /* 02854B6C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854B6C */ _t4 = _t3 & 0x00000001u; /* 02854B6C */ if (_t4) goto L_02854B78; else goto L_02854B70; L_02854B70: ; // 0x2854b70 /* 02854B70 */ cpu->r[5] = cpu->r[0]; /* 02854B74 */ Gambit_fn_02854C38(cpu); L_02854B78: ; // 0x2854b78 /* 02854B78 */ cpu->r[11] = cpu->r[31] + 0x000000A0u; /* 02854B7C */ cpu->r[0] = 0x00000000u; /* 02854B80 */ _t5 = cpu->r[3] + 0x0000000Cu; /* 02854B80 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 02854B84 */ _t6 = cpu->r[3] + 0x00000010u; /* 02854B84 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]); /* 02854B88 */ _t7 = cpu->r[1] + 0x00000014u; /* 02854B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02854B8C */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02854B8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 02854B90 */ cpu->lr = cpu->r[0]; /* 02854B94 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02854B98 */ return; } // fn_02854B9C @ 0x2854b9c void Gambit_fn_02854B9C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02854B9C: ; // 0x2854b9c /* 02854B9C */ cpu->r[0] = cpu->lr; /* 02854BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854BA4 */ _t0 = cpu->r[1] + 0x00000004u; /* 02854BA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02854BA8 */ cpu->r[0] = cpu->r[4]; /* 02854BAC */ cpu->r[4] = cpu->r[5]; /* 02854BB0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02854BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02854BB0 */ cpu->r[1] = _t1; /* 02854BB4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854BB4 */ _t3 = _t2 & 0x00000001u; /* 02854BB4 */ if (_t3) goto L_02854BC0; else goto L_02854BB8; L_02854BB8: ; // 0x2854bb8 /* 02854BB8 */ cpu->r[5] = cpu->r[0]; /* 02854BBC */ Gambit_fn_02854C38(cpu); L_02854BC0: ; // 0x2854bc0 /* 02854BC0 */ cpu->r[12] = 0x00000001u; /* 02854BC4 */ _t4 = cpu->r[3] + 0x00000010u; /* 02854BC4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]); /* 02854BC8 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 02854BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02854BCC */ cpu->lr = cpu->r[0]; /* 02854BD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02854BD4 */ return; } // fn_02854BB0 @ 0x2854bb0 void Gambit_fn_02854BB0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_02854BB0: ; // 0x2854bb0 /* 02854BB0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02854BB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854BB0 */ cpu->r[1] = _t0; /* 02854BB4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854BB4 */ _t2 = _t1 & 0x00000001u; /* 02854BB4 */ if (_t2) goto L_02854BC0; else goto L_02854BB8; L_02854BB8: ; // 0x2854bb8 /* 02854BB8 */ cpu->r[5] = cpu->r[0]; /* 02854BBC */ Gambit_fn_02854C38(cpu); L_02854BC0: ; // 0x2854bc0 /* 02854BC0 */ cpu->r[12] = 0x00000001u; /* 02854BC4 */ _t3 = cpu->r[3] + 0x00000010u; /* 02854BC4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[12]); /* 02854BC8 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02854BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02854BCC */ cpu->lr = cpu->r[0]; /* 02854BD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02854BD4 */ return; } // fn_02854BD8 @ 0x2854bd8 void Gambit_fn_02854BD8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02854BD8: ; // 0x2854bd8 /* 02854BD8 */ _t0 = cpu->r[3] + 0x0000002Cu; /* 02854BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02854BDC */ cpu->r[11] = 0x00000000u; /* 02854BE0 */ _t1 = cpu->r[12] + 0x00000004u; /* 02854BE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]); /* 02854BE4 */ _t2 = cpu->r[3] + 0x0000002Cu; /* 02854BE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 02854BE8 */ _t3 = cpu->r[12] + 0x00000011u; /* 02854BE8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]); /* 02854BEC */ return; } // fn_02854BF0 @ 0x2854bf0 void Gambit_fn_02854BF0(CPUState* cpu) { L_02854BF0: ; // 0x2854bf0 /* 02854BF0 */ return; } // fn_02854C00 @ 0x2854c00 void Gambit_fn_02854C00(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02854C00: ; // 0x2854c00 /* 02854C00 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02854C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854C00 */ cpu->r[1] = _t0; /* 02854C04 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854C04 */ _t2 = _t1 & 0x00000001u; /* 02854C04 */ if (_t2) goto L_02854C08; else goto L_02854C18; L_02854C08: ; // 0x2854c08 /* 02854C08 */ cpu->r[3] = 0x00000004u; /* 02854C0C */ Gambit_fn_02801A78(cpu); /* 02854C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854C14 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854C14 */ _t4 = _t3 & 0x00000001u; /* 02854C14 */ if (_t4) goto L_02854C20; else goto L_02854C18; L_02854C18: ; // 0x2854c18 /* 02854C18 */ cpu->r[0] = 0xFFFFFFFFu; /* 02854C1C */ _t5 = cpu->r[3] + 0x00000000u; /* 02854C1C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); L_02854C20: ; // 0x2854c20 /* 02854C20 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 02854C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02854C24 */ cpu->lr = cpu->r[0]; /* 02854C28 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02854C2C */ return; } // fn_02854C30 @ 0x2854c30 void Gambit_fn_02854C30(CPUState* cpu) { L_02854C30: ; // 0x2854c30 /* 02854C30 */ cpu->r[3] = 0x000000A0u; /* 02854C34 */ return; } // fn_02854C38 @ 0x2854c38 void Gambit_fn_02854C38(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26; L_02854C38: ; // 0x2854c38 /* 02854C38 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02854C38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854C38 */ cpu->r[1] = _t0; /* 02854C3C */ cpu->r[0] = cpu->lr; /* 02854C40 */ /* nop */ /* 02854C44 */ cpu->r[30] = cpu->r[3]; /* 02854C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02854C48 */ cpu->r[28] = cpu->r[4]; /* 02854C4C */ cpu->r[31] = cpu->r[5]; /* 02854C50 */ _t1 = cpu->r[1] + 0x00000024u; /* 02854C50 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02854C54 */ cpu->r[29] = cpu->r[6]; /* 02854C58 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854C58 */ _t3 = _t2 & 0x00000001u; /* 02854C58 */ if (_t3) goto L_02854C5C; else goto L_02854C6C; L_02854C5C: ; // 0x2854c5c /* 02854C5C */ cpu->r[3] = 0x000000A0u; /* 02854C60 */ Gambit_fn_02801A78(cpu); /* 02854C64 */ cpu->r[30] = cpu->r[3]; /* 02854C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02854C68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854C68 */ _t5 = _t4 & 0x00000001u; /* 02854C68 */ if (_t5) goto L_02854CE8; else goto L_02854C6C; L_02854C6C: ; // 0x2854c6c /* 02854C6C */ _t6 = cpu->r[30] + 0x00000000u; /* 02854C6C */ rbrew_write32(cpu->mem, _t6, cpu->r[28]); /* 02854C70 */ cpu->r[27] = 0x00000000u; /* 02854C74 */ _t7 = cpu->r[30] + 0x00000004u; /* 02854C74 */ rbrew_write32(cpu->mem, _t7, cpu->r[27]); /* 02854C78 */ _t8 = cpu->r[30] + 0x00000011u; /* 02854C78 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[27]); /* 02854C7C */ _t9 = cpu->r[30] + 0x0000000Cu; /* 02854C7C */ rbrew_write32(cpu->mem, _t9, cpu->r[27]); /* 02854C80 */ _t10 = cpu->r[30] + 0x00000008u; /* 02854C80 */ rbrew_write32(cpu->mem, _t10, cpu->r[27]); /* 02854C84 */ cpu->r[3] = cpu->r[30] + 0x00000014u; /* 02854C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854C88 */ _t11 = cpu->r[30] + 0x00000010u; /* 02854C88 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[27]); /* 02854C8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854C8C */ _t13 = _t12 & 0x00000001u; /* 02854C8C */ if (_t13) goto L_02854C90; else goto L_02854CA0; L_02854C90: ; // 0x2854c90 /* 02854C90 */ cpu->r[3] = 0x0000000Cu; /* 02854C94 */ Gambit_fn_02801A78(cpu); /* 02854C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854C9C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854C9C */ _t15 = _t14 & 0x00000001u; /* 02854C9C */ if (_t15) goto L_02854CBC; else goto L_02854CA0; L_02854CA0: ; // 0x2854ca0 /* 02854CA0 */ _t16 = cpu->r[3] + 0x00000008u; /* 02854CA0 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]); /* 02854CA4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFCu; /* 02854CA8 */ cpu->r[12] = 0x00000002u; /* 02854CAC */ cpu->r[0] = 0x00000000u; L_02854CB0: ; // 0x2854cb0 /* 02854CB0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 02854CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02854CB4 */ _t17 = cpu->r[3] + 0x00000004u; /* 02854CB4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 02854CB4 */ cpu->r[3] = _t17; /* 02854CB8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854CB8 */ _t19 = _t18 & 0x00000001u; /* 02854CB8 */ if (_t19) goto L_02854CBC; else goto L_02854CB0; L_02854CBC: ; // 0x2854cbc /* 02854CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02854CC0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02854CC4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854CC4 */ _t21 = _t20 & 0x00000001u; /* 02854CC4 */ if (_t21) goto L_02854CCC; else goto L_02854CC8; L_02854CC8: ; // 0x2854cc8 /* 02854CC8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); L_02854CCC: ; // 0x2854ccc /* 02854CCC */ cpu->r[8] = 0x00000002u; /* 02854CD0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000001Cu); /* 02854CD4 */ cpu->ctr = cpu->r[8]; /* 02854CD8 */ cpu->r[10] = cpu->r[30] + 0x00000010u; L_02854CDC: ; // 0x2854cdc /* 02854CDC */ _t22 = cpu->r[10] + 0x00000004u; /* 02854CDC */ rbrew_write32(cpu->mem, _t22, cpu->r[31]); /* 02854CDC */ cpu->r[10] = _t22; /* 02854CE0 */ cpu->r[31] = cpu->r[31] + cpu->r[9]; /* 02854CE4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02854CE4 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02854CE4 */ _t24 = _t23 >> (0x00000002u & 31u); /* 02854CE4 */ _t25 = _t24 & 0x00000001u; /* 02854CE4 */ if (_t25) goto L_02854CDC; else goto L_02854CE8; L_02854CE8: ; // 0x2854ce8 /* 02854CE8 */ cpu->r[3] = cpu->r[30]; /* 02854CEC */ /* nop */ /* 02854CF0 */ _t26 = cpu->r[1] + 0x00000024u; /* 02854CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02854CF4 */ cpu->lr = cpu->r[0]; /* 02854CF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02854CFC */ return; } // fn_02854D00 @ 0x2854d00 void Gambit_fn_02854D00(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02854D00: ; // 0x2854d00 /* 02854D00 */ cpu->r[0] = cpu->lr; /* 02854D04 */ _t0 = cpu->r[1] + 0x00000004u; /* 02854D04 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02854D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854D0C */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02854D0C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02854D0C */ cpu->r[1] = _t1; /* 02854D10 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854D10 */ _t3 = _t2 & 0x00000001u; /* 02854D10 */ if (_t3) goto L_02854D14; else goto L_02854D24; L_02854D14: ; // 0x2854d14 /* 02854D14 */ cpu->r[3] = 0x00000018u; /* 02854D18 */ Gambit_fn_02801A78(cpu); /* 02854D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854D20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854D20 */ _t5 = _t4 & 0x00000001u; /* 02854D20 */ if (_t5) goto L_02854D2C; else goto L_02854D24; L_02854D24: ; // 0x2854d24 /* 02854D24 */ cpu->r[0] = 0x00000000u; /* 02854D28 */ _t6 = cpu->r[3] + 0x00000012u; /* 02854D28 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]); L_02854D2C: ; // 0x2854d2c /* 02854D2C */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02854D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02854D30 */ cpu->lr = cpu->r[0]; /* 02854D34 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02854D38 */ return; } // fn_02854D0C @ 0x2854d0c void Gambit_fn_02854D0C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02854D0C: ; // 0x2854d0c /* 02854D0C */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02854D0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854D0C */ cpu->r[1] = _t0; /* 02854D10 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854D10 */ _t2 = _t1 & 0x00000001u; /* 02854D10 */ if (_t2) goto L_02854D14; else goto L_02854D24; L_02854D14: ; // 0x2854d14 /* 02854D14 */ cpu->r[3] = 0x00000018u; /* 02854D18 */ Gambit_fn_02801A78(cpu); /* 02854D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854D20 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854D20 */ _t4 = _t3 & 0x00000001u; /* 02854D20 */ if (_t4) goto L_02854D2C; else goto L_02854D24; L_02854D24: ; // 0x2854d24 /* 02854D24 */ cpu->r[0] = 0x00000000u; /* 02854D28 */ _t5 = cpu->r[3] + 0x00000012u; /* 02854D28 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]); L_02854D2C: ; // 0x2854d2c /* 02854D2C */ _t6 = cpu->r[1] + 0x0000000Cu; /* 02854D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02854D30 */ cpu->lr = cpu->r[0]; /* 02854D34 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02854D38 */ return; } // fn_02854D3C @ 0x2854d3c void Gambit_fn_02854D3C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_02854D3C: ; // 0x2854d3c /* 02854D3C */ cpu->r[0] = cpu->lr; /* 02854D40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02854D40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854D40 */ cpu->r[1] = _t0; /* 02854D44 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02854D44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854D48 */ cpu->r[31] = cpu->r[3]; /* 02854D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854D4C */ _t2 = cpu->r[1] + 0x00000014u; /* 02854D4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02854D50 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854D50 */ _t4 = _t3 & 0x00000001u; /* 02854D50 */ if (_t4) goto L_02854D54; else goto L_02854D64; L_02854D54: ; // 0x2854d54 /* 02854D54 */ cpu->r[3] = 0x00000008u; /* 02854D58 */ Gambit_fn_02801A78(cpu); /* 02854D5C */ cpu->r[31] = cpu->r[3]; /* 02854D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854D60 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854D60 */ _t6 = _t5 & 0x00000001u; /* 02854D60 */ if (_t6) goto L_02854D8C; else goto L_02854D64; L_02854D64: ; // 0x2854d64 /* 02854D64 */ cpu->r[12] = 0x00000001u; /* 02854D68 */ cpu->r[11] = 0x10130000u; /* 02854D6C */ cpu->r[3] = 0x101D0000u; /* 02854D70 */ _t7 = cpu->r[31] + 0x00000001u; /* 02854D70 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]); /* 02854D74 */ cpu->r[11] = cpu->r[11] + 0x0000183Cu; /* 02854D78 */ _t8 = cpu->r[31] + 0x00000000u; /* 02854D78 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]); /* 02854D7C */ cpu->r[3] = cpu->r[3] + 0xFFFFC520u; /* 02854D80 */ _t9 = cpu->r[31] + 0x00000004u; /* 02854D80 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]); /* 02854D84 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u); /* 02854D84 */ _t11 = _t10 & 0x00000001u; /* 02854D84 */ if (_t11) goto L_02854D88; // else: addr-0 trap, fall-through L_02854D88: ; // 0x2854d88 /* 02854D88 */ Gambit_fn_02C6AD08(cpu); L_02854D8C: ; // 0x2854d8c /* 02854D8C */ _t12 = cpu->r[1] + 0x00000014u; /* 02854D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02854D90 */ cpu->r[3] = cpu->r[31]; /* 02854D94 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 02854D94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 02854D98 */ cpu->lr = cpu->r[0]; /* 02854D9C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02854DA0 */ return; } // fn_02854D40 @ 0x2854d40 void Gambit_fn_02854D40(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_02854D40: ; // 0x2854d40 /* 02854D40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02854D40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854D40 */ cpu->r[1] = _t0; /* 02854D44 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02854D44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854D48 */ cpu->r[31] = cpu->r[3]; /* 02854D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854D4C */ _t2 = cpu->r[1] + 0x00000014u; /* 02854D4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02854D50 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854D50 */ _t4 = _t3 & 0x00000001u; /* 02854D50 */ if (_t4) goto L_02854D54; else goto L_02854D64; L_02854D54: ; // 0x2854d54 /* 02854D54 */ cpu->r[3] = 0x00000008u; /* 02854D58 */ Gambit_fn_02801A78(cpu); /* 02854D5C */ cpu->r[31] = cpu->r[3]; /* 02854D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854D60 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854D60 */ _t6 = _t5 & 0x00000001u; /* 02854D60 */ if (_t6) goto L_02854D8C; else goto L_02854D64; L_02854D64: ; // 0x2854d64 /* 02854D64 */ cpu->r[12] = 0x00000001u; /* 02854D68 */ cpu->r[11] = 0x10130000u; /* 02854D6C */ cpu->r[3] = 0x101D0000u; /* 02854D70 */ _t7 = cpu->r[31] + 0x00000001u; /* 02854D70 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]); /* 02854D74 */ cpu->r[11] = cpu->r[11] + 0x0000183Cu; /* 02854D78 */ _t8 = cpu->r[31] + 0x00000000u; /* 02854D78 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]); /* 02854D7C */ cpu->r[3] = cpu->r[3] + 0xFFFFC520u; /* 02854D80 */ _t9 = cpu->r[31] + 0x00000004u; /* 02854D80 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]); /* 02854D84 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u); /* 02854D84 */ _t11 = _t10 & 0x00000001u; /* 02854D84 */ if (_t11) goto L_02854D88; // else: addr-0 trap, fall-through L_02854D88: ; // 0x2854d88 /* 02854D88 */ Gambit_fn_02C6AD08(cpu); L_02854D8C: ; // 0x2854d8c /* 02854D8C */ _t12 = cpu->r[1] + 0x00000014u; /* 02854D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02854D90 */ cpu->r[3] = cpu->r[31]; /* 02854D94 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 02854D94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 02854D98 */ cpu->lr = cpu->r[0]; /* 02854D9C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02854DA0 */ return; } // fn_02854DA4 @ 0x2854da4 void Gambit_fn_02854DA4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02801B30: ; // 0x2801b30 /* 02801B30 */ cpu->r[0] = cpu->lr; /* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02801B34 */ cpu->r[1] = _t0; /* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02801B3C */ cpu->r[31] = cpu->r[3]; /* 02801B40 */ cpu->r[3] = 0x101D0000u; /* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u; /* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u; /* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B50 */ _t5 = _t4 & 0x00000001u; /* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70; L_02801B54: ; // 0x2801b54 /* 02801B54 */ cpu->r[3] = cpu->r[31]; /* 02801B58 */ Gambit_fn_02801B20(cpu); /* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u; /* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02801B64 */ cpu->lr = cpu->r[0]; /* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801B6C */ return; L_02801B70: ; // 0x2801b70 /* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B74 */ _t9 = _t8 & 0x00000001u; /* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78; L_02801B78: ; // 0x2801b78 /* 02801B78 */ cpu->r[4] = cpu->r[31]; /* 02801B7C */ Gambit_fn_02826B90(cpu); /* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B84 */ _t11 = _t10 & 0x00000001u; /* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88; L_02801B88: ; // 0x2801b88 /* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu; /* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02801B90 */ cpu->ctr = cpu->r[0]; /* 02801B94 */ cpu->r[4] = cpu->r[31]; /* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr); L_02801B9C: ; // 0x2801b9c /* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u; /* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02801BA4 */ cpu->lr = cpu->r[0]; /* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801BAC */ return; L_02801BB0: ; // 0x2801bb0 /* 02801BB0 */ goto L_02801B30; L_02854DA4: ; // 0x2854da4 /* 02854DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854DA8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854DA8 */ _t17 = _t16 & 0x00000001u; /* 02854DA8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02854DA8 */ goto L_02854DAC; L_02854DAC: ; // 0x2854dac /* 02854DAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02854DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02854DB0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854DB0 */ _t19 = _t18 & 0x00000001u; /* 02854DB0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02854DB0 */ goto L_02854DB4; L_02854DB4: ; // 0x2854db4 /* 02854DB4 */ goto L_02801BB0; } // fn_02854DB8 @ 0x2854db8 void Gambit_fn_02854DB8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22; L_02854DB8: ; // 0x2854db8 /* 02854DB8 */ cpu->r[0] = cpu->lr; /* 02854DBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02854DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854DBC */ cpu->r[1] = _t0; /* 02854DC0 */ _t1 = cpu->r[1] + 0x00000008u; /* 02854DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02854DC4 */ _t2 = cpu->r[1] + 0x00000010u; /* 02854DC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02854DC8 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02854DC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02854DCC */ _t4 = cpu->r[1] + 0x00000014u; /* 02854DCC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02854DD0 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02854DD0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02854DD4 */ _t6 = cpu->r[3] + 0x00000004u; /* 02854DD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02854DD8 */ cpu->r[29] = 0x00000000u; /* 02854DDC */ _t7 = cpu->r[12] + 0x000000A4u; /* 02854DDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 02854DE0 */ cpu->ctr = cpu->r[10]; /* 02854DE4 */ cpu->r[30] = cpu->r[29]; /* 02854DE8 */ cpu->r[28] = cpu->r[29]; /* 02854DEC */ cpu->r[31] = cpu->r[4]; /* 02854DF0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02854DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u); /* 02854DF8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854DF8 */ _t9 = _t8 & 0x00000001u; /* 02854DF8 */ if (_t9) goto L_02854DFC; else goto L_02854E0C; L_02854DFC: ; // 0x2854dfc /* 02854DFC */ cpu->r[30] = 0x02860000u; /* 02854E00 */ cpu->r[28] = 0xFFFFFFFFu; /* 02854E04 */ cpu->r[30] = cpu->r[30] + 0xFFFFA1DCu; /* 02854E08 */ cpu->r[29] = 0x00000000u; L_02854E0C: ; // 0x2854e0c /* 02854E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854E10 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854E10 */ _t11 = _t10 & 0x00000001u; /* 02854E10 */ if (_t11) goto L_02854E14; else goto L_02854E24; L_02854E14: ; // 0x2854e14 /* 02854E14 */ cpu->r[3] = 0x0000000Cu; /* 02854E18 */ Gambit_fn_02801A78(cpu); /* 02854E1C */ cpu->r[31] = cpu->r[3]; /* 02854E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854E20 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854E20 */ _t13 = _t12 & 0x00000001u; /* 02854E20 */ if (_t13) goto L_02854E38; else goto L_02854E24; L_02854E24: ; // 0x2854e24 /* 02854E24 */ _t14 = cpu->r[31] + 0x00000004u; /* 02854E24 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[29]); /* 02854E28 */ cpu->r[0] = 0x00000000u; /* 02854E2C */ _t15 = cpu->r[31] + 0x00000008u; /* 02854E2C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); /* 02854E30 */ _t16 = cpu->r[31] + 0x00000000u; /* 02854E30 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 02854E34 */ _t17 = cpu->r[31] + 0x00000006u; /* 02854E34 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[28]); L_02854E38: ; // 0x2854e38 /* 02854E38 */ _t18 = cpu->r[1] + 0x00000008u; /* 02854E38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 02854E3C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02854E3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02854E40 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02854E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02854E44 */ _t21 = cpu->r[1] + 0x00000010u; /* 02854E44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02854E48 */ cpu->lr = cpu->r[0]; /* 02854E4C */ _t22 = cpu->r[1] + 0x00000014u; /* 02854E4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 02854E50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02854E54 */ return; } // fn_02854DBC @ 0x2854dbc void Gambit_fn_02854DBC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22; L_02854DBC: ; // 0x2854dbc /* 02854DBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02854DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854DBC */ cpu->r[1] = _t0; /* 02854DC0 */ _t1 = cpu->r[1] + 0x00000008u; /* 02854DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02854DC4 */ _t2 = cpu->r[1] + 0x00000010u; /* 02854DC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02854DC8 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02854DC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02854DCC */ _t4 = cpu->r[1] + 0x00000014u; /* 02854DCC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02854DD0 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02854DD0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02854DD4 */ _t6 = cpu->r[3] + 0x00000004u; /* 02854DD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02854DD8 */ cpu->r[29] = 0x00000000u; /* 02854DDC */ _t7 = cpu->r[12] + 0x000000A4u; /* 02854DDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 02854DE0 */ cpu->ctr = cpu->r[10]; /* 02854DE4 */ cpu->r[30] = cpu->r[29]; /* 02854DE8 */ cpu->r[28] = cpu->r[29]; /* 02854DEC */ cpu->r[31] = cpu->r[4]; /* 02854DF0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02854DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u); /* 02854DF8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854DF8 */ _t9 = _t8 & 0x00000001u; /* 02854DF8 */ if (_t9) goto L_02854DFC; else goto L_02854E0C; L_02854DFC: ; // 0x2854dfc /* 02854DFC */ cpu->r[30] = 0x02860000u; /* 02854E00 */ cpu->r[28] = 0xFFFFFFFFu; /* 02854E04 */ cpu->r[30] = cpu->r[30] + 0xFFFFA1DCu; /* 02854E08 */ cpu->r[29] = 0x00000000u; L_02854E0C: ; // 0x2854e0c /* 02854E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854E10 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854E10 */ _t11 = _t10 & 0x00000001u; /* 02854E10 */ if (_t11) goto L_02854E14; else goto L_02854E24; L_02854E14: ; // 0x2854e14 /* 02854E14 */ cpu->r[3] = 0x0000000Cu; /* 02854E18 */ Gambit_fn_02801A78(cpu); /* 02854E1C */ cpu->r[31] = cpu->r[3]; /* 02854E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854E20 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854E20 */ _t13 = _t12 & 0x00000001u; /* 02854E20 */ if (_t13) goto L_02854E38; else goto L_02854E24; L_02854E24: ; // 0x2854e24 /* 02854E24 */ _t14 = cpu->r[31] + 0x00000004u; /* 02854E24 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[29]); /* 02854E28 */ cpu->r[0] = 0x00000000u; /* 02854E2C */ _t15 = cpu->r[31] + 0x00000008u; /* 02854E2C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); /* 02854E30 */ _t16 = cpu->r[31] + 0x00000000u; /* 02854E30 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 02854E34 */ _t17 = cpu->r[31] + 0x00000006u; /* 02854E34 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[28]); L_02854E38: ; // 0x2854e38 /* 02854E38 */ _t18 = cpu->r[1] + 0x00000008u; /* 02854E38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 02854E3C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02854E3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02854E40 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02854E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02854E44 */ _t21 = cpu->r[1] + 0x00000010u; /* 02854E44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02854E48 */ cpu->lr = cpu->r[0]; /* 02854E4C */ _t22 = cpu->r[1] + 0x00000014u; /* 02854E4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 02854E50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02854E54 */ return; } // fn_02854E58 @ 0x2854e58 void Gambit_fn_02854E58(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02854E58: ; // 0x2854e58 /* 02854E58 */ _t0 = cpu->r[3] + 0x00000000u; /* 02854E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]); /* 02854E5C */ _t1 = cpu->r[3] + 0x00000004u; /* 02854E5C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]); /* 02854E60 */ _t2 = cpu->r[3] + 0x0000000Cu; /* 02854E60 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[6]); /* 02854E64 */ _t3 = cpu->r[3] + 0x0000000Au; /* 02854E64 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[7]); /* 02854E68 */ _t4 = cpu->r[3] + 0x00000008u; /* 02854E68 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[8]); /* 02854E6C */ _t5 = cpu->r[3] + 0x0000000Du; /* 02854E6C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[9]); /* 02854E70 */ _t6 = cpu->r[3] + 0x0000000Eu; /* 02854E70 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[10]); /* 02854E74 */ return; } // fn_02854E78 @ 0x2854e78 void Gambit_fn_02854E78(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02854E78: ; // 0x2854e78 /* 02854E78 */ cpu->r[10] = 0x101D0000u; /* 02854E7C */ cpu->r[3] = 0x101D0000u; /* 02854E80 */ _t0 = cpu->r[10] + 0xFFFFD7E4u; /* 02854E80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02854E80 */ cpu->r[10] = _t0; /* 02854E84 */ cpu->r[3] = cpu->r[3] + 0x00000F78u; /* 02854E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02854E8C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854E8C */ _t2 = _t1 & 0x00000001u; /* 02854E8C */ _t3 = _t2 ^ 0x00000001u; /* 02854E8C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02854E8C */ goto L_02854E90; L_02854E90: ; // 0x2854e90 /* 02854E90 */ cpu->r[11] = 0x00000001u; /* 02854E94 */ cpu->r[0] = 0x00000000u; /* 02854E98 */ _t4 = cpu->r[10] + 0x00000000u; /* 02854E98 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]); /* 02854E9C */ _t5 = cpu->r[3] + 0x00000000u; /* 02854E9C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02854EA0 */ return; } // fn_02854EA4 @ 0x2854ea4 void Gambit_fn_02854EA4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02854EA4: ; // 0x2854ea4 /* 02854EA4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02854EA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854EA4 */ cpu->r[1] = _t0; /* 02854EA8 */ cpu->r[0] = cpu->lr; /* 02854EAC */ /* nop */ /* 02854EB0 */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02854EB4 */ cpu->r[28] = 0x00000000u; /* 02854EB8 */ cpu->r[27] = 0x00000003u; /* 02854EBC */ _t1 = cpu->r[1] + 0x00000024u; /* 02854EBC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02854EC0 */ cpu->r[29] = cpu->r[4]; L_02854EC4: ; // 0x2854ec4 /* 02854EC4 */ cpu->r[4] = 0x00000000u; /* 02854EC8 */ cpu->r[3] = 0x00000003u; /* 02854ECC */ cpu->r[5] = cpu->r[4]; /* 02854ED0 */ rbrew_dispatch(cpu, 0x02d05860u); /* 02854ED4 */ _t2 = cpu->r[29] + 0x00000000u; /* 02854ED4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2); /* 02854ED8 */ cpu->r[30] = cpu->r[3] + 0x0000013Eu; /* 02854EDC */ cpu->r[3] = cpu->r[28]; /* 02854EE0 */ Gambit_fn_02C684D8(cpu); /* 02854EE4 */ cpu->r[12] = cpu->r[30] + cpu->r[3]; /* 02854EE8 */ _t3 = cpu->r[29] + 0x00000000u; /* 02854EE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3); /* 02854EEC */ cpu->r[3] = cpu->r[28]; /* 02854EF0 */ cpu->r[30] = cpu->r[12] + 0x000000FFu; /* 02854EF4 */ Gambit_fn_02C684F8(cpu); /* 02854EF8 */ _t4 = cpu->r[29] + 0x00000000u; /* 02854EF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4); /* 02854EFC */ cpu->r[8] = cpu->r[30] + cpu->r[3]; /* 02854F00 */ cpu->r[3] = cpu->r[28]; /* 02854F04 */ cpu->r[30] = cpu->r[8] + 0x0000003Fu; /* 02854F08 */ Gambit_fn_02C684E8(cpu); /* 02854F0C */ _t5 = cpu->r[29] + 0x00000000u; /* 02854F0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 02854F10 */ cpu->r[9] = cpu->r[30] + cpu->r[3]; /* 02854F14 */ cpu->r[3] = cpu->r[28]; /* 02854F18 */ cpu->r[30] = cpu->r[9] + 0x000000FFu; /* 02854F1C */ Gambit_fn_02C68508(cpu); /* 02854F20 */ cpu->r[10] = cpu->r[30] + cpu->r[3]; /* 02854F24 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; /* 02854F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02854F28 */ cpu->r[0] = cpu->r[10] + 0x0000021Fu; /* 02854F2C */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02854F30 */ cpu->r[31] = cpu->r[31] + cpu->r[0]; /* 02854F34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854F34 */ _t7 = _t6 & 0x00000001u; /* 02854F34 */ if (_t7) goto L_02854F38; else goto L_02854EC4; L_02854F38: ; // 0x2854f38 /* 02854F38 */ cpu->r[3] = cpu->r[31]; /* 02854F3C */ /* nop */ /* 02854F40 */ _t8 = cpu->r[1] + 0x00000024u; /* 02854F40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02854F44 */ cpu->lr = cpu->r[0]; /* 02854F48 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02854F4C */ return; } // fn_02854F54 @ 0x2854f54 void Gambit_fn_02854F54(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29; L_02854F54: ; // 0x2854f54 /* 02854F54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02854F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854F54 */ cpu->r[1] = _t0; /* 02854F58 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02854F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854F5C */ _t2 = cpu->r[1] + 0x00000008u; /* 02854F5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02854F60 */ cpu->r[31] = cpu->r[3]; /* 02854F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854F64 */ _t3 = cpu->r[1] + 0x00000014u; /* 02854F64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02854F68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854F68 */ _t5 = _t4 & 0x00000001u; /* 02854F68 */ if (_t5) goto L_02854F6C; else goto L_02854F7C; L_02854F6C: ; // 0x2854f6c /* 02854F6C */ cpu->r[3] = 0x000000BCu; /* 02854F70 */ Gambit_fn_02801A78(cpu); /* 02854F74 */ cpu->r[31] = cpu->r[3]; /* 02854F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02854F78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854F78 */ _t7 = _t6 & 0x00000001u; /* 02854F78 */ if (_t7) goto L_02854FD4; else goto L_02854F7C; L_02854F7C: ; // 0x2854f7c /* 02854F7C */ cpu->r[30] = 0x00000000u; /* 02854F80 */ _t8 = cpu->r[31] + 0x0000002Cu; /* 02854F80 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 02854F84 */ _t9 = cpu->r[31] + 0x00000030u; /* 02854F84 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 02854F88 */ _t10 = cpu->r[31] + 0x00000000u; /* 02854F88 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 02854F8C */ _t11 = cpu->r[31] + 0x00000038u; /* 02854F8C */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 02854F90 */ _t12 = cpu->r[31] + 0x00000034u; /* 02854F90 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]); /* 02854F94 */ _t13 = cpu->r[31] + 0x00000028u; /* 02854F94 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 02854F98 */ cpu->r[3] = cpu->r[31] + 0x0000009Cu; /* 02854F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854F9C */ _t14 = cpu->r[31] + 0x00000004u; /* 02854F9C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]); /* 02854FA0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854FA0 */ _t16 = _t15 & 0x00000001u; /* 02854FA0 */ if (_t16) goto L_02854FA4; else goto L_02854FB4; L_02854FA4: ; // 0x2854fa4 /* 02854FA4 */ cpu->r[3] = 0x0000000Cu; /* 02854FA8 */ Gambit_fn_02801A78(cpu); /* 02854FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02854FB0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02854FB0 */ _t18 = _t17 & 0x00000001u; /* 02854FB0 */ if (_t18) goto L_02854FC0; else goto L_02854FB4; L_02854FB4: ; // 0x2854fb4 /* 02854FB4 */ _t19 = cpu->r[3] + 0x00000004u; /* 02854FB4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); /* 02854FB8 */ _t20 = cpu->r[3] + 0x00000000u; /* 02854FB8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 02854FBC */ _t21 = cpu->r[3] + 0x00000008u; /* 02854FBC */ rbrew_write32(cpu->mem, _t21, cpu->r[30]); L_02854FC0: ; // 0x2854fc0 /* 02854FC0 */ _t22 = cpu->r[31] + 0x000000B8u; /* 02854FC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]); /* 02854FC4 */ _t23 = cpu->r[31] + 0x000000A8u; /* 02854FC4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]); /* 02854FC8 */ _t24 = cpu->r[31] + 0x000000B0u; /* 02854FC8 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]); /* 02854FCC */ _t25 = cpu->r[31] + 0x000000B4u; /* 02854FCC */ rbrew_write32(cpu->mem, _t25, cpu->r[30]); /* 02854FD0 */ _t26 = cpu->r[31] + 0x000000ACu; /* 02854FD0 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]); L_02854FD4: ; // 0x2854fd4 /* 02854FD4 */ _t27 = cpu->r[1] + 0x00000014u; /* 02854FD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 02854FD8 */ cpu->r[3] = cpu->r[31]; /* 02854FDC */ _t28 = cpu->r[1] + 0x0000000Cu; /* 02854FDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 02854FE0 */ cpu->lr = cpu->r[0]; /* 02854FE4 */ _t29 = cpu->r[1] + 0x00000008u; /* 02854FE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 02854FE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02854FEC */ return; } // fn_02854FF0 @ 0x2854ff0 void Gambit_fn_02854FF0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_02854FF0: ; // 0x2854ff0 /* 02854FF0 */ cpu->r[0] = cpu->lr; /* 02854FF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02854FF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854FF4 */ cpu->r[1] = _t0; /* 02854FF8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02854FF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854FFC */ _t2 = cpu->r[1] + 0x00000008u; /* 02854FFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02855000 */ cpu->r[31] = cpu->r[3]; /* 02855000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02855004 */ _t3 = cpu->r[1] + 0x00000014u; /* 02855004 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02855008 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855008 */ _t5 = _t4 & 0x00000001u; /* 02855008 */ if (_t5) goto L_0285500C; else goto L_0285501C; L_0285500C: ; // 0x285500c /* 0285500C */ cpu->r[3] = 0x0000024Cu; /* 02855010 */ Gambit_fn_02801A78(cpu); /* 02855014 */ cpu->r[31] = cpu->r[3]; /* 02855014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02855018 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855018 */ _t7 = _t6 & 0x00000001u; /* 02855018 */ if (_t7) goto L_0285504C; else goto L_0285501C; L_0285501C: ; // 0x285501c /* 0285501C */ cpu->r[12] = 0x10130000u; /* 02855020 */ cpu->r[30] = 0x00000000u; /* 02855024 */ cpu->r[6] = 0x02850000u; /* 02855028 */ cpu->r[12] = cpu->r[12] + 0x00001A38u; /* 0285502C */ cpu->r[3] = cpu->r[31] + 0x00000004u; /* 02855030 */ cpu->r[6] = cpu->r[6] + 0x00004F50u; /* 02855034 */ _t8 = cpu->r[31] + 0x00000248u; /* 02855034 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 02855038 */ cpu->r[4] = 0x00000003u; /* 0285503C */ cpu->r[5] = 0x000000BCu; /* 02855040 */ _t9 = cpu->r[31] + 0x00000000u; /* 02855040 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 02855044 */ Gambit_fn_02C82E00(cpu); /* 02855048 */ _t10 = cpu->r[31] + 0x00000244u; /* 02855048 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); L_0285504C: ; // 0x285504c /* 0285504C */ _t11 = cpu->r[1] + 0x00000014u; /* 0285504C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02855050 */ cpu->r[3] = cpu->r[31]; /* 02855054 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 02855054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02855058 */ cpu->lr = cpu->r[0]; /* 0285505C */ _t13 = cpu->r[1] + 0x00000008u; /* 0285505C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 02855060 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02855064 */ return; } // fn_02854FF4 @ 0x2854ff4 void Gambit_fn_02854FF4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_02854FF4: ; // 0x2854ff4 /* 02854FF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02854FF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02854FF4 */ cpu->r[1] = _t0; /* 02854FF8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02854FF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02854FFC */ _t2 = cpu->r[1] + 0x00000008u; /* 02854FFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02855000 */ cpu->r[31] = cpu->r[3]; /* 02855000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02855004 */ _t3 = cpu->r[1] + 0x00000014u; /* 02855004 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02855008 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855008 */ _t5 = _t4 & 0x00000001u; /* 02855008 */ if (_t5) goto L_0285500C; else goto L_0285501C; L_0285500C: ; // 0x285500c /* 0285500C */ cpu->r[3] = 0x0000024Cu; /* 02855010 */ Gambit_fn_02801A78(cpu); /* 02855014 */ cpu->r[31] = cpu->r[3]; /* 02855014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02855018 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855018 */ _t7 = _t6 & 0x00000001u; /* 02855018 */ if (_t7) goto L_0285504C; else goto L_0285501C; L_0285501C: ; // 0x285501c /* 0285501C */ cpu->r[12] = 0x10130000u; /* 02855020 */ cpu->r[30] = 0x00000000u; /* 02855024 */ cpu->r[6] = 0x02850000u; /* 02855028 */ cpu->r[12] = cpu->r[12] + 0x00001A38u; /* 0285502C */ cpu->r[3] = cpu->r[31] + 0x00000004u; /* 02855030 */ cpu->r[6] = cpu->r[6] + 0x00004F50u; /* 02855034 */ _t8 = cpu->r[31] + 0x00000248u; /* 02855034 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 02855038 */ cpu->r[4] = 0x00000003u; /* 0285503C */ cpu->r[5] = 0x000000BCu; /* 02855040 */ _t9 = cpu->r[31] + 0x00000000u; /* 02855040 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 02855044 */ Gambit_fn_02C82E00(cpu); /* 02855048 */ _t10 = cpu->r[31] + 0x00000244u; /* 02855048 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); L_0285504C: ; // 0x285504c /* 0285504C */ _t11 = cpu->r[1] + 0x00000014u; /* 0285504C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02855050 */ cpu->r[3] = cpu->r[31]; /* 02855054 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 02855054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02855058 */ cpu->lr = cpu->r[0]; /* 0285505C */ _t13 = cpu->r[1] + 0x00000008u; /* 0285505C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 02855060 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02855064 */ return; } // fn_02855068 @ 0x2855068 void Gambit_fn_02855068(CPUState* cpu) { uint32_t _t0, _t1; L_02855068: ; // 0x2855068 /* 02855068 */ cpu->r[12] = 0x00000000u; /* 0285506C */ _t0 = cpu->r[3] + 0x00000000u; /* 0285506C */ rbrew_write32(cpu->mem, _t0, cpu->r[12]); /* 02855070 */ _t1 = cpu->r[3] + 0x00000004u; /* 02855070 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]); /* 02855074 */ return; } // fn_02855078 @ 0x2855078 void Gambit_fn_02855078(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_02855078: ; // 0x2855078 /* 02855078 */ cpu->r[0] = cpu->lr; /* 0285507C */ cpu->r[11] = 0x00000003u; /* 02855080 */ _t0 = cpu->r[1] + 0x00000004u; /* 02855080 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02855084 */ cpu->r[3] = cpu->r[3] + 0x00000004u; /* 02855088 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02855088 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02855088 */ cpu->r[1] = _t1; L_0285508C: ; // 0x285508c /* 0285508C */ Gambit_fn_02855068(cpu); /* 02855090 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 02855090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02855094 */ cpu->r[3] = cpu->r[3] + 0x000000BCu; /* 02855098 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855098 */ _t3 = _t2 & 0x00000001u; /* 02855098 */ if (_t3) goto L_0285509C; else goto L_0285508C; L_0285509C: ; // 0x285509c /* 0285509C */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0285509C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028550A0 */ cpu->lr = cpu->r[0]; /* 028550A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028550A8 */ return; } // fn_02855088 @ 0x2855088 void Gambit_fn_02855088(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02855088: ; // 0x2855088 /* 02855088 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02855088 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02855088 */ cpu->r[1] = _t0; L_0285508C: ; // 0x285508c /* 0285508C */ Gambit_fn_02855068(cpu); /* 02855090 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 02855090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02855094 */ cpu->r[3] = cpu->r[3] + 0x000000BCu; /* 02855098 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855098 */ _t2 = _t1 & 0x00000001u; /* 02855098 */ if (_t2) goto L_0285509C; else goto L_0285508C; L_0285509C: ; // 0x285509c /* 0285509C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285509C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 028550A0 */ cpu->lr = cpu->r[0]; /* 028550A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028550A8 */ return; } // fn_028550AC @ 0x28550ac void Gambit_fn_028550AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_028550AC: ; // 0x28550ac /* 028550AC */ cpu->r[0] = cpu->lr; /* 028550B0 */ _t0 = cpu->r[1] + 0x00000004u; /* 028550B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028550B4 */ cpu->r[10] = cpu->r[3]; /* 028550B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028550B8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 028550B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028550B8 */ cpu->r[1] = _t1; /* 028550BC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028550BC */ _t3 = _t2 & 0x00000001u; /* 028550BC */ if (_t3) goto L_028550E4; else goto L_028550C0; L_028550C0: ; // 0x28550c0 /* 028550C0 */ cpu->r[0] = 0x10130000u; /* 028550C4 */ cpu->r[0] = cpu->r[0] + 0x00001A38u; /* 028550C8 */ cpu->r[3] = cpu->r[10]; /* 028550CC */ _t4 = cpu->r[10] + 0x00000248u; /* 028550CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028550D0 */ Gambit_fn_02855078(cpu); /* 028550D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028550D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028550D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028550D8 */ _t6 = _t5 & 0x00000001u; /* 028550D8 */ if (_t6) goto L_028550E4; else goto L_028550DC; L_028550DC: ; // 0x28550dc /* 028550DC */ cpu->r[3] = cpu->r[10]; /* 028550E0 */ Gambit_fn_02801BB0(cpu); L_028550E4: ; // 0x28550e4 /* 028550E4 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028550E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028550E8 */ cpu->lr = cpu->r[0]; /* 028550EC */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028550F0 */ return; } // fn_028550B8 @ 0x28550b8 void Gambit_fn_028550B8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_028550B8: ; // 0x28550b8 /* 028550B8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028550B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028550B8 */ cpu->r[1] = _t0; /* 028550BC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028550BC */ _t2 = _t1 & 0x00000001u; /* 028550BC */ if (_t2) goto L_028550E4; else goto L_028550C0; L_028550C0: ; // 0x28550c0 /* 028550C0 */ cpu->r[0] = 0x10130000u; /* 028550C4 */ cpu->r[0] = cpu->r[0] + 0x00001A38u; /* 028550C8 */ cpu->r[3] = cpu->r[10]; /* 028550CC */ _t3 = cpu->r[10] + 0x00000248u; /* 028550CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028550D0 */ Gambit_fn_02855078(cpu); /* 028550D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028550D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028550D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028550D8 */ _t5 = _t4 & 0x00000001u; /* 028550D8 */ if (_t5) goto L_028550E4; else goto L_028550DC; L_028550DC: ; // 0x28550dc /* 028550DC */ cpu->r[3] = cpu->r[10]; /* 028550E0 */ Gambit_fn_02801BB0(cpu); L_028550E4: ; // 0x28550e4 /* 028550E4 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 028550E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028550E8 */ cpu->lr = cpu->r[0]; /* 028550EC */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028550F0 */ return; } // fn_028550F4 @ 0x28550f4 void Gambit_fn_028550F4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20; L_028550F4: ; // 0x28550f4 /* 028550F4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028550F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028550F4 */ cpu->r[1] = _t0; /* 028550F8 */ cpu->r[0] = cpu->lr; /* 028550FC */ /* nop */ /* 02855100 */ cpu->r[30] = cpu->r[5]; /* 02855104 */ cpu->r[26] = cpu->r[6]; /* 02855104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02855108 */ cpu->r[31] = cpu->r[7]; /* 0285510C */ _t1 = cpu->r[1] + 0x00000024u; /* 0285510C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02855110 */ cpu->r[29] = cpu->r[4]; /* 02855114 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855114 */ _t3 = _t2 & 0x00000001u; /* 02855114 */ if (_t3) goto L_028551C4; else goto L_02855118; L_02855118: ; // 0x2855118 /* 02855118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285511C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285511C */ _t5 = _t4 & 0x00000001u; /* 0285511C */ if (_t5) goto L_028551C4; else goto L_02855120; L_02855120: ; // 0x2855120 /* 02855120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02855124 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855124 */ _t7 = _t6 & 0x00000001u; /* 02855124 */ if (_t7) goto L_028551C4; else goto L_02855128; L_02855128: ; // 0x2855128 /* 02855128 */ cpu->r[3] = cpu->r[26]; /* 0285512C */ Gambit_fn_02C683E0(cpu); /* 02855130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]); /* 02855134 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855134 */ _t9 = _t8 & 0x00000001u; /* 02855134 */ if (_t9) goto L_02855138; else goto L_028551C4; L_02855138: ; // 0x2855138 /* 02855138 */ cpu->r[3] = cpu->r[30]; /* 0285513C */ cpu->r[4] = cpu->r[26]; /* 02855140 */ Gambit_fn_02C684D8(cpu); /* 02855144 */ cpu->r[27] = cpu->r[3]; /* 02855148 */ cpu->r[3] = cpu->r[30]; /* 0285514C */ cpu->r[4] = cpu->r[26]; /* 02855150 */ Gambit_fn_02C684F8(cpu); /* 02855154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02855158 */ cpu->r[0] = cpu->r[3]; /* 0285515C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285515C */ _t11 = _t10 & 0x00000001u; /* 0285515C */ if (_t11) goto L_028551C4; else goto L_02855160; L_02855160: ; // 0x2855160 /* 02855160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02855164 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855164 */ _t13 = _t12 & 0x00000001u; /* 02855164 */ if (_t13) goto L_028551C4; else goto L_02855168; L_02855168: ; // 0x2855168 /* 02855168 */ cpu->r[11] = cpu->r[31] + 0x0000003Fu; /* 0285516C */ cpu->r[28] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u); /* 02855170 */ cpu->r[31] = cpu->r[28] + cpu->r[27]; /* 02855174 */ cpu->r[5] = cpu->r[30]; /* 02855178 */ cpu->r[12] = cpu->r[31] + 0x000000FFu; /* 0285517C */ cpu->r[6] = cpu->r[26]; /* 02855180 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000017u); /* 02855184 */ cpu->r[3] = cpu->r[28]; /* 02855188 */ cpu->r[31] = cpu->r[4] + cpu->r[0]; /* 0285518C */ Gambit_fn_02C685E4(cpu); /* 02855190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02855194 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855194 */ _t15 = _t14 & 0x00000001u; /* 02855194 */ if (_t15) goto L_028551C4; else goto L_02855198; L_02855198: ; // 0x2855198 /* 02855198 */ _t16 = cpu->r[28] + 0x000000D0u; /* 02855198 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16); /* 0285519C */ cpu->r[3] = 0x00000040u; /* 028551A0 */ _t17 = cpu->r[28] + 0x000000D4u; /* 028551A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 028551A4 */ rbrew_dispatch(cpu, 0x02d05c98u); /* 028551A8 */ _t18 = cpu->r[29] + 0x00000000u; /* 028551A8 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]); /* 028551AC */ cpu->r[3] = cpu->r[31]; /* 028551B0 */ /* nop */ /* 028551B4 */ _t19 = cpu->r[1] + 0x00000024u; /* 028551B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028551B8 */ cpu->lr = cpu->r[0]; /* 028551BC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028551C0 */ return; L_028551C4: ; // 0x28551c4 /* 028551C4 */ /* nop */ /* 028551C8 */ _t20 = cpu->r[1] + 0x00000024u; /* 028551C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028551CC */ cpu->lr = cpu->r[0]; /* 028551D0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028551D4 */ cpu->r[3] = 0x00000000u; /* 028551D8 */ return; } // fn_028551DC @ 0x28551dc void Gambit_fn_028551DC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20; L_028551DC: ; // 0x28551dc /* 028551DC */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028551DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028551DC */ cpu->r[1] = _t0; /* 028551E0 */ cpu->r[0] = cpu->lr; /* 028551E4 */ /* nop */ /* 028551E8 */ cpu->r[30] = cpu->r[5]; /* 028551EC */ cpu->r[26] = cpu->r[6]; /* 028551EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 028551F0 */ cpu->r[31] = cpu->r[7]; /* 028551F4 */ _t1 = cpu->r[1] + 0x00000024u; /* 028551F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028551F8 */ cpu->r[29] = cpu->r[4]; /* 028551FC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028551FC */ _t3 = _t2 & 0x00000001u; /* 028551FC */ if (_t3) goto L_028552AC; else goto L_02855200; L_02855200: ; // 0x2855200 /* 02855200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02855204 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855204 */ _t5 = _t4 & 0x00000001u; /* 02855204 */ if (_t5) goto L_028552AC; else goto L_02855208; L_02855208: ; // 0x2855208 /* 02855208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285520C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285520C */ _t7 = _t6 & 0x00000001u; /* 0285520C */ if (_t7) goto L_028552AC; else goto L_02855210; L_02855210: ; // 0x2855210 /* 02855210 */ cpu->r[3] = cpu->r[26]; /* 02855214 */ Gambit_fn_02C683EC(cpu); /* 02855218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]); /* 0285521C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285521C */ _t9 = _t8 & 0x00000001u; /* 0285521C */ if (_t9) goto L_02855220; else goto L_028552AC; L_02855220: ; // 0x2855220 /* 02855220 */ cpu->r[3] = cpu->r[30]; /* 02855224 */ cpu->r[4] = cpu->r[26]; /* 02855228 */ Gambit_fn_02C684E8(cpu); /* 0285522C */ cpu->r[27] = cpu->r[3]; /* 02855230 */ cpu->r[3] = cpu->r[30]; /* 02855234 */ cpu->r[4] = cpu->r[26]; /* 02855238 */ Gambit_fn_02C68508(cpu); /* 0285523C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02855240 */ cpu->r[0] = cpu->r[3]; /* 02855244 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855244 */ _t11 = _t10 & 0x00000001u; /* 02855244 */ if (_t11) goto L_028552AC; else goto L_02855248; L_02855248: ; // 0x2855248 /* 02855248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285524C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285524C */ _t13 = _t12 & 0x00000001u; /* 0285524C */ if (_t13) goto L_028552AC; else goto L_02855250; L_02855250: ; // 0x2855250 /* 02855250 */ cpu->r[11] = cpu->r[31] + 0x0000003Fu; /* 02855254 */ cpu->r[28] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u); /* 02855258 */ cpu->r[31] = cpu->r[28] + cpu->r[27]; /* 0285525C */ cpu->r[5] = cpu->r[30]; /* 02855260 */ cpu->r[12] = cpu->r[31] + 0x000000FFu; /* 02855264 */ cpu->r[6] = cpu->r[26]; /* 02855268 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000017u); /* 0285526C */ cpu->r[3] = cpu->r[28]; /* 02855270 */ cpu->r[31] = cpu->r[4] + cpu->r[0]; /* 02855274 */ Gambit_fn_02C68798(cpu); /* 02855278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285527C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285527C */ _t15 = _t14 & 0x00000001u; /* 0285527C */ if (_t15) goto L_028552AC; else goto L_02855280; L_02855280: ; // 0x2855280 /* 02855280 */ _t16 = cpu->r[28] + 0x000000A4u; /* 02855280 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16); /* 02855284 */ cpu->r[3] = 0x00000040u; /* 02855288 */ _t17 = cpu->r[28] + 0x000000A8u; /* 02855288 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 0285528C */ rbrew_dispatch(cpu, 0x02d05c98u); /* 02855290 */ _t18 = cpu->r[29] + 0x00000000u; /* 02855290 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]); /* 02855294 */ cpu->r[3] = cpu->r[31]; /* 02855298 */ /* nop */ /* 0285529C */ _t19 = cpu->r[1] + 0x00000024u; /* 0285529C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028552A0 */ cpu->lr = cpu->r[0]; /* 028552A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028552A8 */ return; L_028552AC: ; // 0x28552ac /* 028552AC */ /* nop */ /* 028552B0 */ _t20 = cpu->r[1] + 0x00000024u; /* 028552B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 028552B4 */ cpu->lr = cpu->r[0]; /* 028552B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028552BC */ cpu->r[3] = 0x00000000u; /* 028552C0 */ return; } // fn_028552C4 @ 0x28552c4 void Gambit_fn_028552C4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337; L_028552C4: ; // 0x28552c4 /* 028552C4 */ _t0 = cpu->r[1] + 0xFFFFFF90u; /* 028552C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028552C4 */ cpu->r[1] = _t0; /* 028552C8 */ /* nop */ /* 028552CC */ cpu->r[0] = cpu->lr; /* 028552D0 */ cpu->r[30] = cpu->r[3]; /* 028552D4 */ _t1 = cpu->r[1] + 0x00000074u; /* 028552D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 028552D8 */ _t2 = cpu->r[30] + 0x00000028u; /* 028552D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]); /* 028552DC */ cpu->r[4] = 0x00000000u; /* 028552E0 */ cpu->r[27] = cpu->r[5]; /* 028552E4 */ cpu->r[5] = cpu->r[4]; /* 028552E8 */ cpu->r[28] = cpu->r[6]; /* 028552EC */ cpu->r[3] = 0x00000003u; /* 028552F0 */ rbrew_dispatch(cpu, 0x02d05860u); /* 028552F4 */ _t3 = cpu->r[30] + 0x00000028u; /* 028552F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 028552F8 */ cpu->r[29] = cpu->r[3]; /* 028552FC */ _t4 = cpu->r[28] + 0x00000000u; /* 028552FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 02855300 */ cpu->r[31] = cpu->r[12] + cpu->r[29]; /* 02855304 */ Gambit_fn_02C683E0(cpu); /* 02855308 */ _t5 = cpu->r[28] + 0x00000000u; /* 02855308 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 0285530C */ cpu->r[3] = cpu->r[30]; /* 02855310 */ cpu->r[4] = cpu->r[30]; /* 02855314 */ cpu->r[5] = cpu->r[27]; /* 02855318 */ cpu->r[7] = cpu->r[31]; /* 0285531C */ Gambit_fn_028550F4(cpu); /* 02855320 */ cpu->r[31] = cpu->r[3]; /* 02855324 */ _t6 = cpu->r[28] + 0x00000000u; /* 02855324 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 02855328 */ Gambit_fn_02C683EC(cpu); /* 0285532C */ _t7 = cpu->r[28] + 0x00000000u; /* 0285532C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7); /* 02855330 */ cpu->r[3] = cpu->r[30]; /* 02855334 */ cpu->r[4] = cpu->r[30] + 0x00000004u; /* 02855338 */ cpu->r[5] = cpu->r[27]; /* 0285533C */ cpu->r[7] = cpu->r[31]; /* 02855340 */ Gambit_fn_028551DC(cpu); /* 02855344 */ _t8 = cpu->r[30] + 0x00000000u; /* 02855344 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 02855348 */ _t9 = cpu->r[12] + 0x000000E4u; /* 02855348 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0285534C */ cpu->r[28] = 0x00000000u; /* 02855350 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]); /* 02855354 */ cpu->r[31] = cpu->r[3]; /* 02855358 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855358 */ _t11 = _t10 & 0x00000001u; /* 02855358 */ if (_t11) goto L_0285535C; else goto L_028553D4; L_0285535C: ; // 0x285535c /* 0285535C */ _t12 = cpu->r[12] + 0x000000E8u; /* 0285535C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12); /* 02855360 */ cpu->r[12] = 0x10130000u; /* 02855364 */ cpu->r[3] = 0x00000000u; /* 02855368 */ cpu->r[12] = cpu->r[12] + 0x00001990u; L_0285536C: ; // 0x285536c /* 0285536C */ _t13 = cpu->r[9] + cpu->r[3]; /* 0285536C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 02855370 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFFu; /* 02855374 */ cpu->r[11] = cpu->r[9] + cpu->r[3]; /* 02855378 */ cpu->r[4] = cpu->r[8] + 0xFFFFFFFFu; L_0285537C: ; // 0x285537c /* 0285537C */ _t14 = cpu->r[4] + 0x00000001u; /* 0285537C */ cpu->r[6] = rbrew_read8(cpu->mem, _t14); /* 0285537C */ cpu->r[4] = _t14; /* 02855380 */ _t15 = cpu->r[5] + 0x00000001u; /* 02855380 */ cpu->r[7] = rbrew_read8(cpu->mem, _t15); /* 02855380 */ cpu->r[5] = _t15; /* 02855384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 02855388 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855388 */ _t17 = _t16 & 0x00000001u; /* 02855388 */ if (_t17) goto L_0285538C; else goto L_02855394; L_0285538C: ; // 0x285538c /* 0285538C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000000u); /* 02855390 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855390 */ _t19 = _t18 & 0x00000001u; /* 02855390 */ if (_t19) goto L_02855394; else goto L_0285537C; L_02855394: ; // 0x2855394 /* 02855394 */ cpu->r[0] = cpu->r[6] - cpu->r[7]; /* 02855394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02855398 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855398 */ _t21 = _t20 & 0x00000001u; /* 02855398 */ if (_t21) goto L_028553CC; else goto L_0285539C; L_0285539C: ; // 0x285539c /* 0285539C */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 028553A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]); /* 028553A4 */ cpu->r[3] = cpu->r[3] + 0x00000014u; /* 028553A8 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 028553A8 */ _t23 = _t22 & 0x00000001u; /* 028553A8 */ if (_t23) goto L_0285536C; else goto L_028553AC; L_028553AC: ; // 0x28553ac /* 028553AC */ _t24 = cpu->r[30] + 0x00000000u; /* 028553AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t24); /* 028553B0 */ cpu->r[5] = 0xFFFFFFFFu; /* 028553B4 */ _t25 = cpu->r[30] + 0x000000A8u; /* 028553B4 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]); /* 028553B8 */ _t26 = cpu->r[10] + 0x00000104u; /* 028553B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 028553BC */ cpu->r[28] = 0x00000000u; /* 028553C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 028553C4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 028553C4 */ _t28 = _t27 & 0x00000001u; /* 028553C4 */ if (_t28) goto L_028553C8; else goto L_02855488; L_028553C8: ; // 0x28553c8 /* 028553C8 */ goto L_02855410; L_028553CC: ; // 0x28553cc /* 028553CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028553D0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 028553D0 */ _t30 = _t29 & 0x00000001u; /* 028553D0 */ if (_t30) goto L_028553D4; else goto L_028553F4; L_028553D4: ; // 0x28553d4 /* 028553D4 */ _t31 = cpu->r[30] + 0x00000000u; /* 028553D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31); /* 028553D8 */ cpu->r[5] = 0xFFFFFFFFu; /* 028553DC */ _t32 = cpu->r[30] + 0x000000A8u; /* 028553DC */ rbrew_write32(cpu->mem, _t32, cpu->r[5]); /* 028553E0 */ _t33 = cpu->r[10] + 0x00000104u; /* 028553E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 028553E4 */ cpu->r[28] = 0x00000000u; /* 028553E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 028553EC */ _t34 = cpu->cr[0] >> (0x00000003u & 31u); /* 028553EC */ _t35 = _t34 & 0x00000001u; /* 028553EC */ if (_t35) goto L_028553F0; else goto L_02855488; L_028553F0: ; // 0x28553f0 /* 028553F0 */ goto L_02855410; L_028553F4: ; // 0x28553f4 /* 028553F4 */ _t36 = cpu->r[11] + 0x0000000Cu; /* 028553F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36); /* 028553F8 */ _t37 = cpu->r[30] + 0x00000000u; /* 028553F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37); /* 028553FC */ _t38 = cpu->r[30] + 0x000000A8u; /* 028553FC */ rbrew_write32(cpu->mem, _t38, cpu->r[5]); /* 02855400 */ _t39 = cpu->r[10] + 0x00000104u; /* 02855400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 02855404 */ cpu->r[28] = 0x00000000u; /* 02855408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 0285540C */ _t40 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285540C */ _t41 = _t40 & 0x00000001u; /* 0285540C */ if (_t41) goto L_02855410; else goto L_02855488; L_02855410: ; // 0x2855410 /* 02855410 */ cpu->r[9] = 0x10130000u; /* 02855414 */ _t42 = cpu->r[10] + 0x00000108u; /* 02855414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42); /* 02855418 */ cpu->r[9] = cpu->r[9] + 0x00001988u; /* 0285541C */ cpu->r[3] = 0x00000000u; L_02855420: ; // 0x2855420 /* 02855420 */ _t43 = cpu->r[8] + cpu->r[3]; /* 02855420 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43); /* 02855424 */ cpu->r[11] = cpu->r[9] + 0xFFFFFFFFu; /* 02855428 */ cpu->r[12] = cpu->r[8] + cpu->r[3]; /* 0285542C */ cpu->r[10] = cpu->r[6] + 0xFFFFFFFFu; L_02855430: ; // 0x2855430 /* 02855430 */ _t44 = cpu->r[10] + 0x00000001u; /* 02855430 */ cpu->r[4] = rbrew_read8(cpu->mem, _t44); /* 02855430 */ cpu->r[10] = _t44; /* 02855434 */ _t45 = cpu->r[11] + 0x00000001u; /* 02855434 */ cpu->r[5] = rbrew_read8(cpu->mem, _t45); /* 02855434 */ cpu->r[11] = _t45; /* 02855438 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]); /* 0285543C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285543C */ _t47 = _t46 & 0x00000001u; /* 0285543C */ if (_t47) goto L_02855440; else goto L_02855448; L_02855440: ; // 0x2855440 /* 02855440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000000u); /* 02855444 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855444 */ _t49 = _t48 & 0x00000001u; /* 02855444 */ if (_t49) goto L_02855448; else goto L_02855430; L_02855448: ; // 0x2855448 /* 02855448 */ cpu->r[7] = cpu->r[4] - cpu->r[5]; /* 02855448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285544C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285544C */ _t51 = _t50 & 0x00000001u; /* 0285544C */ if (_t51) goto L_02855480; else goto L_02855450; L_02855450: ; // 0x2855450 /* 02855450 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02855454 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 02855458 */ cpu->r[3] = cpu->r[3] + 0x00000010u; /* 0285545C */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285545C */ _t53 = _t52 & 0x00000001u; /* 0285545C */ if (_t53) goto L_02855420; else goto L_02855460; L_02855460: ; // 0x2855460 /* 02855460 */ _t54 = cpu->r[30] + 0x00000000u; /* 02855460 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54); /* 02855464 */ cpu->r[0] = 0xFFFFFFFFu; /* 02855468 */ _t55 = cpu->r[30] + 0x00000030u; /* 02855468 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]); /* 0285546C */ _t56 = cpu->r[8] + 0x00000104u; /* 0285546C */ cpu->r[6] = rbrew_read32(cpu->mem, _t56); /* 02855470 */ cpu->r[28] = 0x00000000u; /* 02855474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]); /* 02855478 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855478 */ _t58 = _t57 & 0x00000001u; /* 02855478 */ if (_t58) goto L_0285547C; else goto L_0285553C; L_0285547C: ; // 0x285547c /* 0285547C */ goto L_028554C4; L_02855480: ; // 0x2855480 /* 02855480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02855484 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855484 */ _t60 = _t59 & 0x00000001u; /* 02855484 */ if (_t60) goto L_02855488; else goto L_028554A8; L_02855488: ; // 0x2855488 /* 02855488 */ _t61 = cpu->r[30] + 0x00000000u; /* 02855488 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61); /* 0285548C */ cpu->r[0] = 0xFFFFFFFFu; /* 02855490 */ _t62 = cpu->r[30] + 0x00000030u; /* 02855490 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]); /* 02855494 */ _t63 = cpu->r[8] + 0x00000104u; /* 02855494 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63); /* 02855498 */ cpu->r[28] = 0x00000000u; /* 0285549C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]); /* 028554A0 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u); /* 028554A0 */ _t65 = _t64 & 0x00000001u; /* 028554A0 */ if (_t65) goto L_028554A4; else goto L_0285553C; L_028554A4: ; // 0x28554a4 /* 028554A4 */ goto L_028554C4; L_028554A8: ; // 0x28554a8 /* 028554A8 */ _t66 = cpu->r[12] + 0x0000000Cu; /* 028554A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66); /* 028554AC */ _t67 = cpu->r[30] + 0x00000000u; /* 028554AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t67); /* 028554B0 */ _t68 = cpu->r[30] + 0x00000030u; /* 028554B0 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]); /* 028554B4 */ _t69 = cpu->r[8] + 0x00000104u; /* 028554B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t69); /* 028554B8 */ cpu->r[28] = 0x00000000u; /* 028554BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]); /* 028554C0 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u); /* 028554C0 */ _t71 = _t70 & 0x00000001u; /* 028554C0 */ if (_t71) goto L_028554C4; else goto L_0285553C; L_028554C4: ; // 0x28554c4 /* 028554C4 */ cpu->r[7] = 0x10130000u; /* 028554C8 */ _t72 = cpu->r[8] + 0x00000108u; /* 028554C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t72); /* 028554CC */ cpu->r[7] = cpu->r[7] + 0x00001998u; /* 028554D0 */ cpu->r[3] = 0x00000000u; L_028554D4: ; // 0x28554d4 /* 028554D4 */ _t73 = cpu->r[5] + cpu->r[3]; /* 028554D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73); /* 028554D8 */ cpu->r[9] = cpu->r[7] + 0xFFFFFFFFu; /* 028554DC */ cpu->r[4] = cpu->r[5] + cpu->r[3]; /* 028554E0 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu; L_028554E4: ; // 0x28554e4 /* 028554E4 */ _t74 = cpu->r[8] + 0x00000001u; /* 028554E4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t74); /* 028554E4 */ cpu->r[8] = _t74; /* 028554E8 */ _t75 = cpu->r[9] + 0x00000001u; /* 028554E8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t75); /* 028554E8 */ cpu->r[9] = _t75; /* 028554EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 028554F0 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u); /* 028554F0 */ _t77 = _t76 & 0x00000001u; /* 028554F0 */ if (_t77) goto L_028554F4; else goto L_028554FC; L_028554F4: ; // 0x28554f4 /* 028554F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000000u); /* 028554F8 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 028554F8 */ _t79 = _t78 & 0x00000001u; /* 028554F8 */ if (_t79) goto L_028554FC; else goto L_028554E4; L_028554FC: ; // 0x28554fc /* 028554FC */ cpu->r[0] = cpu->r[10] - cpu->r[11]; /* 028554FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02855500 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855500 */ _t81 = _t80 & 0x00000001u; /* 02855500 */ if (_t81) goto L_02855534; else goto L_02855504; L_02855504: ; // 0x2855504 /* 02855504 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02855508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]); /* 0285550C */ cpu->r[3] = cpu->r[3] + 0x00000010u; /* 02855510 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855510 */ _t83 = _t82 & 0x00000001u; /* 02855510 */ if (_t83) goto L_028554D4; else goto L_02855514; L_02855514: ; // 0x2855514 /* 02855514 */ _t84 = cpu->r[30] + 0x00000000u; /* 02855514 */ cpu->r[6] = rbrew_read32(cpu->mem, _t84); /* 02855518 */ cpu->r[10] = 0xFFFFFFFFu; /* 0285551C */ _t85 = cpu->r[30] + 0x00000034u; /* 0285551C */ rbrew_write32(cpu->mem, _t85, cpu->r[10]); /* 02855520 */ _t86 = cpu->r[6] + 0x00000104u; /* 02855520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86); /* 02855524 */ cpu->r[28] = 0x00000000u; /* 02855528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 0285552C */ _t87 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285552C */ _t88 = _t87 & 0x00000001u; /* 0285552C */ if (_t88) goto L_02855530; else goto L_028555F0; L_02855530: ; // 0x2855530 /* 02855530 */ goto L_02855578; L_02855534: ; // 0x2855534 /* 02855534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02855538 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855538 */ _t90 = _t89 & 0x00000001u; /* 02855538 */ if (_t90) goto L_0285553C; else goto L_0285555C; L_0285553C: ; // 0x285553c /* 0285553C */ _t91 = cpu->r[30] + 0x00000000u; /* 0285553C */ cpu->r[6] = rbrew_read32(cpu->mem, _t91); /* 02855540 */ cpu->r[10] = 0xFFFFFFFFu; /* 02855544 */ _t92 = cpu->r[30] + 0x00000034u; /* 02855544 */ rbrew_write32(cpu->mem, _t92, cpu->r[10]); /* 02855548 */ _t93 = cpu->r[6] + 0x00000104u; /* 02855548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93); /* 0285554C */ cpu->r[28] = 0x00000000u; /* 02855550 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 02855554 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855554 */ _t95 = _t94 & 0x00000001u; /* 02855554 */ if (_t95) goto L_02855558; else goto L_028555F0; L_02855558: ; // 0x2855558 /* 02855558 */ goto L_02855578; L_0285555C: ; // 0x285555c /* 0285555C */ _t96 = cpu->r[4] + 0x0000000Cu; /* 0285555C */ cpu->r[10] = rbrew_read32(cpu->mem, _t96); /* 02855560 */ _t97 = cpu->r[30] + 0x00000000u; /* 02855560 */ cpu->r[6] = rbrew_read32(cpu->mem, _t97); /* 02855564 */ _t98 = cpu->r[30] + 0x00000034u; /* 02855564 */ rbrew_write32(cpu->mem, _t98, cpu->r[10]); /* 02855568 */ _t99 = cpu->r[6] + 0x00000104u; /* 02855568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99); /* 0285556C */ cpu->r[28] = 0x00000000u; /* 02855570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 02855574 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855574 */ _t101 = _t100 & 0x00000001u; /* 02855574 */ if (_t101) goto L_02855578; else goto L_028555F0; L_02855578: ; // 0x2855578 /* 02855578 */ cpu->r[12] = 0x10130000u; /* 0285557C */ _t102 = cpu->r[6] + 0x00000108u; /* 0285557C */ cpu->r[11] = rbrew_read32(cpu->mem, _t102); /* 02855580 */ cpu->r[12] = cpu->r[12] + 0x000019D8u; /* 02855584 */ cpu->r[3] = 0x00000000u; L_02855588: ; // 0x2855588 /* 02855588 */ _t103 = cpu->r[11] + cpu->r[3]; /* 02855588 */ cpu->r[9] = rbrew_read32(cpu->mem, _t103); /* 0285558C */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFFu; /* 02855590 */ cpu->r[6] = cpu->r[11] + cpu->r[3]; /* 02855594 */ cpu->r[4] = cpu->r[9] + 0xFFFFFFFFu; L_02855598: ; // 0x2855598 /* 02855598 */ _t104 = cpu->r[4] + 0x00000001u; /* 02855598 */ cpu->r[7] = rbrew_read8(cpu->mem, _t104); /* 02855598 */ cpu->r[4] = _t104; /* 0285559C */ _t105 = cpu->r[5] + 0x00000001u; /* 0285559C */ cpu->r[8] = rbrew_read8(cpu->mem, _t105); /* 0285559C */ cpu->r[5] = _t105; /* 028555A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]); /* 028555A4 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u); /* 028555A4 */ _t107 = _t106 & 0x00000001u; /* 028555A4 */ if (_t107) goto L_028555A8; else goto L_028555B0; L_028555A8: ; // 0x28555a8 /* 028555A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000000u); /* 028555AC */ _t108 = cpu->cr[0] >> (0x00000001u & 31u); /* 028555AC */ _t109 = _t108 & 0x00000001u; /* 028555AC */ if (_t109) goto L_028555B0; else goto L_02855598; L_028555B0: ; // 0x28555b0 /* 028555B0 */ cpu->r[10] = cpu->r[7] - cpu->r[8]; /* 028555B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028555B4 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 028555B4 */ _t111 = _t110 & 0x00000001u; /* 028555B4 */ if (_t111) goto L_028555E8; else goto L_028555B8; L_028555B8: ; // 0x28555b8 /* 028555B8 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 028555BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 028555C0 */ cpu->r[3] = cpu->r[3] + 0x00000010u; /* 028555C4 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u); /* 028555C4 */ _t113 = _t112 & 0x00000001u; /* 028555C4 */ if (_t113) goto L_02855588; else goto L_028555C8; L_028555C8: ; // 0x28555c8 /* 028555C8 */ _t114 = cpu->r[30] + 0x00000004u; /* 028555C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t114); /* 028555CC */ cpu->r[8] = 0xFFFFFFFFu; /* 028555D0 */ _t115 = cpu->r[30] + 0x00000038u; /* 028555D0 */ rbrew_write32(cpu->mem, _t115, cpu->r[8]); /* 028555D4 */ _t116 = cpu->r[4] + 0x000000D0u; /* 028555D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t116); /* 028555D8 */ cpu->r[28] = 0x00000000u; /* 028555DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]); /* 028555E0 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u); /* 028555E0 */ _t118 = _t117 & 0x00000001u; /* 028555E0 */ if (_t118) goto L_028555E4; else goto L_028556A4; L_028555E4: ; // 0x28555e4 /* 028555E4 */ goto L_0285562C; L_028555E8: ; // 0x28555e8 /* 028555E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028555EC */ _t119 = cpu->cr[0] >> (0x00000001u & 31u); /* 028555EC */ _t120 = _t119 & 0x00000001u; /* 028555EC */ if (_t120) goto L_028555F0; else goto L_02855610; L_028555F0: ; // 0x28555f0 /* 028555F0 */ _t121 = cpu->r[30] + 0x00000004u; /* 028555F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t121); /* 028555F4 */ cpu->r[8] = 0xFFFFFFFFu; /* 028555F8 */ _t122 = cpu->r[30] + 0x00000038u; /* 028555F8 */ rbrew_write32(cpu->mem, _t122, cpu->r[8]); /* 028555FC */ _t123 = cpu->r[4] + 0x000000D0u; /* 028555FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t123); /* 02855600 */ cpu->r[28] = 0x00000000u; /* 02855604 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]); /* 02855608 */ _t124 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855608 */ _t125 = _t124 & 0x00000001u; /* 02855608 */ if (_t125) goto L_0285560C; else goto L_028556A4; L_0285560C: ; // 0x285560c /* 0285560C */ goto L_0285562C; L_02855610: ; // 0x2855610 /* 02855610 */ _t126 = cpu->r[6] + 0x0000000Cu; /* 02855610 */ cpu->r[8] = rbrew_read32(cpu->mem, _t126); /* 02855614 */ _t127 = cpu->r[30] + 0x00000004u; /* 02855614 */ cpu->r[4] = rbrew_read32(cpu->mem, _t127); /* 02855618 */ _t128 = cpu->r[30] + 0x00000038u; /* 02855618 */ rbrew_write32(cpu->mem, _t128, cpu->r[8]); /* 0285561C */ _t129 = cpu->r[4] + 0x000000D0u; /* 0285561C */ cpu->r[9] = rbrew_read32(cpu->mem, _t129); /* 02855620 */ cpu->r[28] = 0x00000000u; /* 02855624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]); /* 02855628 */ _t130 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855628 */ _t131 = _t130 & 0x00000001u; /* 02855628 */ if (_t131) goto L_0285562C; else goto L_028556A4; L_0285562C: ; // 0x285562c /* 0285562C */ cpu->r[10] = 0x10130000u; /* 02855630 */ _t132 = cpu->r[4] + 0x000000D4u; /* 02855630 */ cpu->r[8] = rbrew_read32(cpu->mem, _t132); /* 02855634 */ cpu->r[10] = cpu->r[10] + 0x000019B8u; /* 02855638 */ cpu->r[3] = 0x00000000u; L_0285563C: ; // 0x285563c /* 0285563C */ _t133 = cpu->r[8] + cpu->r[3]; /* 0285563C */ cpu->r[6] = rbrew_read32(cpu->mem, _t133); /* 02855640 */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFFu; /* 02855644 */ cpu->r[5] = cpu->r[8] + cpu->r[3]; /* 02855648 */ cpu->r[11] = cpu->r[6] + 0xFFFFFFFFu; L_0285564C: ; // 0x285564c /* 0285564C */ _t134 = cpu->r[11] + 0x00000001u; /* 0285564C */ cpu->r[0] = rbrew_read8(cpu->mem, _t134); /* 0285564C */ cpu->r[11] = _t134; /* 02855650 */ _t135 = cpu->r[12] + 0x00000001u; /* 02855650 */ cpu->r[4] = rbrew_read8(cpu->mem, _t135); /* 02855650 */ cpu->r[12] = _t135; /* 02855654 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]); /* 02855658 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855658 */ _t137 = _t136 & 0x00000001u; /* 02855658 */ if (_t137) goto L_0285565C; else goto L_02855664; L_0285565C: ; // 0x285565c /* 0285565C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u); /* 02855660 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855660 */ _t139 = _t138 & 0x00000001u; /* 02855660 */ if (_t139) goto L_02855664; else goto L_0285564C; L_02855664: ; // 0x2855664 /* 02855664 */ cpu->r[7] = cpu->r[0] - cpu->r[4]; /* 02855664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02855668 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855668 */ _t141 = _t140 & 0x00000001u; /* 02855668 */ if (_t141) goto L_0285569C; else goto L_0285566C; L_0285566C: ; // 0x285566c /* 0285566C */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02855670 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]); /* 02855674 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 02855678 */ _t142 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855678 */ _t143 = _t142 & 0x00000001u; /* 02855678 */ if (_t143) goto L_0285563C; else goto L_0285567C; L_0285567C: ; // 0x285567c /* 0285567C */ _t144 = cpu->r[30] + 0x00000004u; /* 0285567C */ cpu->r[11] = rbrew_read32(cpu->mem, _t144); /* 02855680 */ cpu->r[0] = 0xFFFFFFFFu; /* 02855684 */ _t145 = cpu->r[30] + 0x0000002Cu; /* 02855684 */ rbrew_write32(cpu->mem, _t145, cpu->r[0]); /* 02855688 */ _t146 = cpu->r[11] + 0x000000B8u; /* 02855688 */ cpu->r[5] = rbrew_read32(cpu->mem, _t146); /* 0285568C */ cpu->r[28] = 0x00000000u; /* 02855690 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]); /* 02855694 */ _t147 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855694 */ _t148 = _t147 & 0x00000001u; /* 02855694 */ if (_t148) goto L_02855698; else goto L_02855758; L_02855698: ; // 0x2855698 /* 02855698 */ goto L_028556E0; L_0285569C: ; // 0x285569c /* 0285569C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028556A0 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u); /* 028556A0 */ _t150 = _t149 & 0x00000001u; /* 028556A0 */ if (_t150) goto L_028556A4; else goto L_028556C4; L_028556A4: ; // 0x28556a4 /* 028556A4 */ _t151 = cpu->r[30] + 0x00000004u; /* 028556A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t151); /* 028556A8 */ cpu->r[0] = 0xFFFFFFFFu; /* 028556AC */ _t152 = cpu->r[30] + 0x0000002Cu; /* 028556AC */ rbrew_write32(cpu->mem, _t152, cpu->r[0]); /* 028556B0 */ _t153 = cpu->r[11] + 0x000000B8u; /* 028556B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t153); /* 028556B4 */ cpu->r[28] = 0x00000000u; /* 028556B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]); /* 028556BC */ _t154 = cpu->cr[0] >> (0x00000003u & 31u); /* 028556BC */ _t155 = _t154 & 0x00000001u; /* 028556BC */ if (_t155) goto L_028556C0; else goto L_02855758; L_028556C0: ; // 0x28556c0 /* 028556C0 */ goto L_028556E0; L_028556C4: ; // 0x28556c4 /* 028556C4 */ _t156 = cpu->r[5] + 0x00000008u; /* 028556C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t156); /* 028556C8 */ _t157 = cpu->r[30] + 0x00000004u; /* 028556C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t157); /* 028556CC */ _t158 = cpu->r[30] + 0x0000002Cu; /* 028556CC */ rbrew_write32(cpu->mem, _t158, cpu->r[0]); /* 028556D0 */ _t159 = cpu->r[11] + 0x000000B8u; /* 028556D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t159); /* 028556D4 */ cpu->r[28] = 0x00000000u; /* 028556D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]); /* 028556DC */ _t160 = cpu->cr[0] >> (0x00000003u & 31u); /* 028556DC */ _t161 = _t160 & 0x00000001u; /* 028556DC */ if (_t161) goto L_028556E0; else goto L_02855758; L_028556E0: ; // 0x28556e0 /* 028556E0 */ cpu->r[6] = 0x10130000u; /* 028556E4 */ _t162 = cpu->r[11] + 0x000000BCu; /* 028556E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t162); /* 028556E8 */ cpu->r[6] = cpu->r[6] + 0x000019E4u; /* 028556EC */ cpu->r[3] = 0x00000000u; L_028556F0: ; // 0x28556f0 /* 028556F0 */ _t163 = cpu->r[4] + cpu->r[3]; /* 028556F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t163); /* 028556F4 */ cpu->r[9] = cpu->r[6] + 0xFFFFFFFFu; /* 028556F8 */ cpu->r[7] = cpu->r[4] + cpu->r[3]; /* 028556FC */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu; L_02855700: ; // 0x2855700 /* 02855700 */ _t164 = cpu->r[8] + 0x00000001u; /* 02855700 */ cpu->r[10] = rbrew_read8(cpu->mem, _t164); /* 02855700 */ cpu->r[8] = _t164; /* 02855704 */ _t165 = cpu->r[9] + 0x00000001u; /* 02855704 */ cpu->r[11] = rbrew_read8(cpu->mem, _t165); /* 02855704 */ cpu->r[9] = _t165; /* 02855708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 0285570C */ _t166 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285570C */ _t167 = _t166 & 0x00000001u; /* 0285570C */ if (_t167) goto L_02855710; else goto L_02855718; L_02855710: ; // 0x2855710 /* 02855710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000000u); /* 02855714 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855714 */ _t169 = _t168 & 0x00000001u; /* 02855714 */ if (_t169) goto L_02855718; else goto L_02855700; L_02855718: ; // 0x2855718 /* 02855718 */ cpu->r[0] = cpu->r[10] - cpu->r[11]; /* 02855718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285571C */ _t170 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285571C */ _t171 = _t170 & 0x00000001u; /* 0285571C */ if (_t171) goto L_02855750; else goto L_02855720; L_02855720: ; // 0x2855720 /* 02855720 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02855724 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]); /* 02855728 */ cpu->r[3] = cpu->r[3] + 0x00000014u; /* 0285572C */ _t172 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285572C */ _t173 = _t172 & 0x00000001u; /* 0285572C */ if (_t173) goto L_028556F0; else goto L_02855730; L_02855730: ; // 0x2855730 /* 02855730 */ _t174 = cpu->r[30] + 0x00000004u; /* 02855730 */ cpu->r[4] = rbrew_read32(cpu->mem, _t174); /* 02855734 */ cpu->r[9] = 0xFFFFFFFFu; /* 02855738 */ _t175 = cpu->r[30] + 0x000000ACu; /* 02855738 */ rbrew_write32(cpu->mem, _t175, cpu->r[9]); /* 0285573C */ _t176 = cpu->r[4] + 0x000000B8u; /* 0285573C */ cpu->r[0] = rbrew_read32(cpu->mem, _t176); /* 02855740 */ cpu->r[28] = 0x00000000u; /* 02855744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 02855748 */ _t177 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855748 */ _t178 = _t177 & 0x00000001u; /* 02855748 */ if (_t178) goto L_0285574C; else goto L_0285580C; L_0285574C: ; // 0x285574c /* 0285574C */ goto L_02855794; L_02855750: ; // 0x2855750 /* 02855750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02855754 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855754 */ _t180 = _t179 & 0x00000001u; /* 02855754 */ if (_t180) goto L_02855758; else goto L_02855778; L_02855758: ; // 0x2855758 /* 02855758 */ _t181 = cpu->r[30] + 0x00000004u; /* 02855758 */ cpu->r[4] = rbrew_read32(cpu->mem, _t181); /* 0285575C */ cpu->r[9] = 0xFFFFFFFFu; /* 02855760 */ _t182 = cpu->r[30] + 0x000000ACu; /* 02855760 */ rbrew_write32(cpu->mem, _t182, cpu->r[9]); /* 02855764 */ _t183 = cpu->r[4] + 0x000000B8u; /* 02855764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t183); /* 02855768 */ cpu->r[28] = 0x00000000u; /* 0285576C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 02855770 */ _t184 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855770 */ _t185 = _t184 & 0x00000001u; /* 02855770 */ if (_t185) goto L_02855774; else goto L_0285580C; L_02855774: ; // 0x2855774 /* 02855774 */ goto L_02855794; L_02855778: ; // 0x2855778 /* 02855778 */ _t186 = cpu->r[7] + 0x0000000Cu; /* 02855778 */ cpu->r[9] = rbrew_read32(cpu->mem, _t186); /* 0285577C */ _t187 = cpu->r[30] + 0x00000004u; /* 0285577C */ cpu->r[4] = rbrew_read32(cpu->mem, _t187); /* 02855780 */ _t188 = cpu->r[30] + 0x000000ACu; /* 02855780 */ rbrew_write32(cpu->mem, _t188, cpu->r[9]); /* 02855784 */ _t189 = cpu->r[4] + 0x000000B8u; /* 02855784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t189); /* 02855788 */ cpu->r[28] = 0x00000000u; /* 0285578C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 02855790 */ _t190 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855790 */ _t191 = _t190 & 0x00000001u; /* 02855790 */ if (_t191) goto L_02855794; else goto L_0285580C; L_02855794: ; // 0x2855794 /* 02855794 */ cpu->r[12] = 0x10130000u; /* 02855798 */ _t192 = cpu->r[4] + 0x000000BCu; /* 02855798 */ cpu->r[11] = rbrew_read32(cpu->mem, _t192); /* 0285579C */ cpu->r[12] = cpu->r[12] + 0x000019C4u; /* 028557A0 */ cpu->r[3] = 0x00000000u; L_028557A4: ; // 0x28557a4 /* 028557A4 */ _t193 = cpu->r[11] + cpu->r[3]; /* 028557A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t193); /* 028557A8 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFFu; /* 028557AC */ cpu->r[8] = cpu->r[11] + cpu->r[3]; /* 028557B0 */ cpu->r[4] = cpu->r[9] + 0xFFFFFFFFu; L_028557B4: ; // 0x28557b4 /* 028557B4 */ _t194 = cpu->r[4] + 0x00000001u; /* 028557B4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t194); /* 028557B4 */ cpu->r[4] = _t194; /* 028557B8 */ _t195 = cpu->r[5] + 0x00000001u; /* 028557B8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t195); /* 028557B8 */ cpu->r[5] = _t195; /* 028557BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 028557C0 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u); /* 028557C0 */ _t197 = _t196 & 0x00000001u; /* 028557C0 */ if (_t197) goto L_028557C4; else goto L_028557CC; L_028557C4: ; // 0x28557c4 /* 028557C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000000u); /* 028557C8 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u); /* 028557C8 */ _t199 = _t198 & 0x00000001u; /* 028557C8 */ if (_t199) goto L_028557CC; else goto L_028557B4; L_028557CC: ; // 0x28557cc /* 028557CC */ cpu->r[10] = cpu->r[6] - cpu->r[7]; /* 028557CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028557D0 */ _t200 = cpu->cr[0] >> (0x00000001u & 31u); /* 028557D0 */ _t201 = _t200 & 0x00000001u; /* 028557D0 */ if (_t201) goto L_02855804; else goto L_028557D4; L_028557D4: ; // 0x28557d4 /* 028557D4 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 028557D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 028557DC */ cpu->r[3] = cpu->r[3] + 0x00000014u; /* 028557E0 */ _t202 = cpu->cr[0] >> (0x00000003u & 31u); /* 028557E0 */ _t203 = _t202 & 0x00000001u; /* 028557E0 */ if (_t203) goto L_028557A4; else goto L_028557E4; L_028557E4: ; // 0x28557e4 /* 028557E4 */ _t204 = cpu->r[30] + 0x00000004u; /* 028557E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t204); /* 028557E8 */ cpu->r[0] = 0xFFFFFFFFu; /* 028557EC */ _t205 = cpu->r[30] + 0x000000B0u; /* 028557EC */ rbrew_write32(cpu->mem, _t205, cpu->r[0]); /* 028557F0 */ _t206 = cpu->r[7] + 0x000000B8u; /* 028557F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t206); /* 028557F4 */ cpu->r[28] = 0x00000000u; /* 028557F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 028557FC */ _t207 = cpu->cr[0] >> (0x00000003u & 31u); /* 028557FC */ _t208 = _t207 & 0x00000001u; /* 028557FC */ if (_t208) goto L_02855800; else goto L_028558C0; L_02855800: ; // 0x2855800 /* 02855800 */ goto L_02855848; L_02855804: ; // 0x2855804 /* 02855804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02855808 */ _t209 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855808 */ _t210 = _t209 & 0x00000001u; /* 02855808 */ if (_t210) goto L_0285580C; else goto L_0285582C; L_0285580C: ; // 0x285580c /* 0285580C */ _t211 = cpu->r[30] + 0x00000004u; /* 0285580C */ cpu->r[7] = rbrew_read32(cpu->mem, _t211); /* 02855810 */ cpu->r[0] = 0xFFFFFFFFu; /* 02855814 */ _t212 = cpu->r[30] + 0x000000B0u; /* 02855814 */ rbrew_write32(cpu->mem, _t212, cpu->r[0]); /* 02855818 */ _t213 = cpu->r[7] + 0x000000B8u; /* 02855818 */ cpu->r[8] = rbrew_read32(cpu->mem, _t213); /* 0285581C */ cpu->r[28] = 0x00000000u; /* 02855820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 02855824 */ _t214 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855824 */ _t215 = _t214 & 0x00000001u; /* 02855824 */ if (_t215) goto L_02855828; else goto L_028558C0; L_02855828: ; // 0x2855828 /* 02855828 */ goto L_02855848; L_0285582C: ; // 0x285582c /* 0285582C */ _t216 = cpu->r[8] + 0x0000000Cu; /* 0285582C */ cpu->r[0] = rbrew_read32(cpu->mem, _t216); /* 02855830 */ _t217 = cpu->r[30] + 0x00000004u; /* 02855830 */ cpu->r[7] = rbrew_read32(cpu->mem, _t217); /* 02855834 */ _t218 = cpu->r[30] + 0x000000B0u; /* 02855834 */ rbrew_write32(cpu->mem, _t218, cpu->r[0]); /* 02855838 */ _t219 = cpu->r[7] + 0x000000B8u; /* 02855838 */ cpu->r[8] = rbrew_read32(cpu->mem, _t219); /* 0285583C */ cpu->r[28] = 0x00000000u; /* 02855840 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 02855844 */ _t220 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855844 */ _t221 = _t220 & 0x00000001u; /* 02855844 */ if (_t221) goto L_02855848; else goto L_028558C0; L_02855848: ; // 0x2855848 /* 02855848 */ cpu->r[10] = 0x10130000u; /* 0285584C */ _t222 = cpu->r[7] + 0x000000BCu; /* 0285584C */ cpu->r[7] = rbrew_read32(cpu->mem, _t222); /* 02855850 */ cpu->r[10] = cpu->r[10] + 0x000019F8u; /* 02855854 */ cpu->r[3] = 0x00000000u; L_02855858: ; // 0x2855858 /* 02855858 */ _t223 = cpu->r[7] + cpu->r[3]; /* 02855858 */ cpu->r[5] = rbrew_read32(cpu->mem, _t223); /* 0285585C */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFFu; /* 02855860 */ cpu->r[9] = cpu->r[7] + cpu->r[3]; /* 02855864 */ cpu->r[11] = cpu->r[5] + 0xFFFFFFFFu; L_02855868: ; // 0x2855868 /* 02855868 */ _t224 = cpu->r[11] + 0x00000001u; /* 02855868 */ cpu->r[0] = rbrew_read8(cpu->mem, _t224); /* 02855868 */ cpu->r[11] = _t224; /* 0285586C */ _t225 = cpu->r[12] + 0x00000001u; /* 0285586C */ cpu->r[4] = rbrew_read8(cpu->mem, _t225); /* 0285586C */ cpu->r[12] = _t225; /* 02855870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]); /* 02855874 */ _t226 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855874 */ _t227 = _t226 & 0x00000001u; /* 02855874 */ if (_t227) goto L_02855878; else goto L_02855880; L_02855878: ; // 0x2855878 /* 02855878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u); /* 0285587C */ _t228 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285587C */ _t229 = _t228 & 0x00000001u; /* 0285587C */ if (_t229) goto L_02855880; else goto L_02855868; L_02855880: ; // 0x2855880 /* 02855880 */ cpu->r[6] = cpu->r[0] - cpu->r[4]; /* 02855880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02855884 */ _t230 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855884 */ _t231 = _t230 & 0x00000001u; /* 02855884 */ if (_t231) goto L_028558B8; else goto L_02855888; L_02855888: ; // 0x2855888 /* 02855888 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 0285588C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 02855890 */ cpu->r[3] = cpu->r[3] + 0x00000014u; /* 02855894 */ _t232 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855894 */ _t233 = _t232 & 0x00000001u; /* 02855894 */ if (_t233) goto L_02855858; else goto L_02855898; L_02855898: ; // 0x2855898 /* 02855898 */ _t234 = cpu->r[30] + 0x00000004u; /* 02855898 */ cpu->r[9] = rbrew_read32(cpu->mem, _t234); /* 0285589C */ cpu->r[0] = 0xFFFFFFFFu; /* 028558A0 */ _t235 = cpu->r[30] + 0x000000B4u; /* 028558A0 */ rbrew_write32(cpu->mem, _t235, cpu->r[0]); /* 028558A4 */ _t236 = cpu->r[9] + 0x000000B8u; /* 028558A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t236); /* 028558A8 */ cpu->r[3] = 0x00000000u; /* 028558AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]); /* 028558B0 */ _t237 = cpu->cr[0] >> (0x00000003u & 31u); /* 028558B0 */ _t238 = _t237 & 0x00000001u; /* 028558B0 */ if (_t238) goto L_028558B4; else goto L_0285597C; L_028558B4: ; // 0x28558b4 /* 028558B4 */ goto L_028558FC; L_028558B8: ; // 0x28558b8 /* 028558B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028558BC */ _t239 = cpu->cr[0] >> (0x00000001u & 31u); /* 028558BC */ _t240 = _t239 & 0x00000001u; /* 028558BC */ if (_t240) goto L_028558C0; else goto L_028558E0; L_028558C0: ; // 0x28558c0 /* 028558C0 */ _t241 = cpu->r[30] + 0x00000004u; /* 028558C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t241); /* 028558C4 */ cpu->r[0] = 0xFFFFFFFFu; /* 028558C8 */ _t242 = cpu->r[30] + 0x000000B4u; /* 028558C8 */ rbrew_write32(cpu->mem, _t242, cpu->r[0]); /* 028558CC */ _t243 = cpu->r[9] + 0x000000B8u; /* 028558CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t243); /* 028558D0 */ cpu->r[3] = 0x00000000u; /* 028558D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]); /* 028558D8 */ _t244 = cpu->cr[0] >> (0x00000003u & 31u); /* 028558D8 */ _t245 = _t244 & 0x00000001u; /* 028558D8 */ if (_t245) goto L_028558DC; else goto L_0285597C; L_028558DC: ; // 0x28558dc /* 028558DC */ goto L_028558FC; L_028558E0: ; // 0x28558e0 /* 028558E0 */ _t246 = cpu->r[9] + 0x0000000Cu; /* 028558E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t246); /* 028558E4 */ _t247 = cpu->r[30] + 0x00000004u; /* 028558E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t247); /* 028558E8 */ _t248 = cpu->r[30] + 0x000000B4u; /* 028558E8 */ rbrew_write32(cpu->mem, _t248, cpu->r[0]); /* 028558EC */ _t249 = cpu->r[9] + 0x000000B8u; /* 028558EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t249); /* 028558F0 */ cpu->r[3] = 0x00000000u; /* 028558F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]); /* 028558F8 */ _t250 = cpu->cr[0] >> (0x00000003u & 31u); /* 028558F8 */ _t251 = _t250 & 0x00000001u; /* 028558F8 */ if (_t251) goto L_028558FC; else goto L_0285597C; L_028558FC: ; // 0x28558fc /* 028558FC */ cpu->r[6] = 0x10130000u; /* 02855900 */ _t252 = cpu->r[9] + 0x000000BCu; /* 02855900 */ cpu->r[5] = rbrew_read32(cpu->mem, _t252); /* 02855904 */ cpu->r[6] = cpu->r[6] + 0x000019A0u; /* 02855908 */ cpu->r[4] = 0x00000000u; L_0285590C: ; // 0x285590c /* 0285590C */ _t253 = cpu->r[5] + cpu->r[4]; /* 0285590C */ cpu->r[12] = rbrew_read32(cpu->mem, _t253); /* 02855910 */ cpu->r[8] = cpu->r[6] + 0xFFFFFFFFu; /* 02855914 */ cpu->r[10] = cpu->r[5] + cpu->r[4]; /* 02855918 */ cpu->r[7] = cpu->r[12] + 0xFFFFFFFFu; L_0285591C: ; // 0x285591c /* 0285591C */ _t254 = cpu->r[7] + 0x00000001u; /* 0285591C */ cpu->r[9] = rbrew_read8(cpu->mem, _t254); /* 0285591C */ cpu->r[7] = _t254; /* 02855920 */ _t255 = cpu->r[8] + 0x00000001u; /* 02855920 */ cpu->r[0] = rbrew_read8(cpu->mem, _t255); /* 02855920 */ cpu->r[8] = _t255; /* 02855924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]); /* 02855928 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855928 */ _t257 = _t256 & 0x00000001u; /* 02855928 */ if (_t257) goto L_0285592C; else goto L_02855934; L_0285592C: ; // 0x285592c /* 0285592C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000000u); /* 02855930 */ _t258 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855930 */ _t259 = _t258 & 0x00000001u; /* 02855930 */ if (_t259) goto L_02855934; else goto L_0285591C; L_02855934: ; // 0x2855934 /* 02855934 */ cpu->r[0] = cpu->r[9] - cpu->r[0]; /* 02855934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02855938 */ _t260 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855938 */ _t261 = _t260 & 0x00000001u; /* 02855938 */ if (_t261) goto L_02855974; else goto L_0285593C; L_0285593C: ; // 0x285593c /* 0285593C */ cpu->r[3] = cpu->r[3] + 0x00000001u; /* 02855940 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]); /* 02855944 */ cpu->r[4] = cpu->r[4] + 0x00000014u; /* 02855948 */ _t262 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855948 */ _t263 = _t262 & 0x00000001u; /* 02855948 */ if (_t263) goto L_0285590C; else goto L_0285594C; L_0285594C: ; // 0x285594c /* 0285594C */ cpu->r[0] = 0xFFFFFFFFu; /* 02855950 */ cpu->r[10] = 0x10130000u; /* 02855954 */ cpu->r[9] = 0x00000005u; /* 02855958 */ _t264 = cpu->r[30] + 0x000000B8u; /* 02855958 */ rbrew_write32(cpu->mem, _t264, cpu->r[0]); /* 0285595C */ cpu->r[10] = cpu->r[10] + 0x00001938u; /* 02855960 */ cpu->r[8] = cpu->r[1] + 0x00000004u; /* 02855964 */ _t265 = cpu->r[30] + 0x00000030u; /* 02855964 */ cpu->r[11] = rbrew_read32(cpu->mem, _t265); /* 02855968 */ cpu->r[7] = cpu->r[10] + 0xFFFFFFFCu; /* 0285596C */ cpu->ctr = cpu->r[9]; /* 02855970 */ goto L_028559C8; L_02855974: ; // 0x2855974 /* 02855974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02855978 */ _t266 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855978 */ _t267 = _t266 & 0x00000001u; /* 02855978 */ if (_t267) goto L_0285597C; else goto L_028559A4; L_0285597C: ; // 0x285597c /* 0285597C */ cpu->r[0] = 0xFFFFFFFFu; /* 02855980 */ cpu->r[10] = 0x10130000u; /* 02855984 */ cpu->r[9] = 0x00000005u; /* 02855988 */ _t268 = cpu->r[30] + 0x000000B8u; /* 02855988 */ rbrew_write32(cpu->mem, _t268, cpu->r[0]); /* 0285598C */ cpu->r[10] = cpu->r[10] + 0x00001938u; /* 02855990 */ cpu->r[8] = cpu->r[1] + 0x00000004u; /* 02855994 */ _t269 = cpu->r[30] + 0x00000030u; /* 02855994 */ cpu->r[11] = rbrew_read32(cpu->mem, _t269); /* 02855998 */ cpu->r[7] = cpu->r[10] + 0xFFFFFFFCu; /* 0285599C */ cpu->ctr = cpu->r[9]; /* 028559A0 */ goto L_028559C8; L_028559A4: ; // 0x28559a4 /* 028559A4 */ _t270 = cpu->r[10] + 0x0000000Cu; /* 028559A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t270); /* 028559A8 */ cpu->r[10] = 0x10130000u; /* 028559AC */ cpu->r[9] = 0x00000005u; /* 028559B0 */ _t271 = cpu->r[30] + 0x00000030u; /* 028559B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t271); /* 028559B4 */ cpu->r[10] = cpu->r[10] + 0x00001938u; /* 028559B8 */ cpu->r[8] = cpu->r[1] + 0x00000004u; /* 028559BC */ cpu->ctr = cpu->r[9]; /* 028559C0 */ cpu->r[7] = cpu->r[10] + 0xFFFFFFFCu; /* 028559C4 */ _t272 = cpu->r[30] + 0x000000B8u; /* 028559C4 */ rbrew_write32(cpu->mem, _t272, cpu->r[0]); L_028559C8: ; // 0x28559c8 /* 028559C8 */ _t273 = cpu->r[7] + 0x00000004u; /* 028559C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t273); /* 028559CC */ _t274 = cpu->r[8] + 0x00000004u; /* 028559CC */ rbrew_write32(cpu->mem, _t274, cpu->r[12]); /* 028559D0 */ _t275 = cpu->r[7] + 0x00000008u; /* 028559D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t275); /* 028559D4 */ _t276 = cpu->r[8] + 0x00000008u; /* 028559D4 */ rbrew_write32(cpu->mem, _t276, cpu->r[0]); /* 028559D8 */ _t277 = cpu->r[7] + 0x0000000Cu; /* 028559D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t277); /* 028559DC */ _t278 = cpu->r[8] + 0x0000000Cu; /* 028559DC */ rbrew_write32(cpu->mem, _t278, cpu->r[4]); /* 028559E0 */ _t279 = cpu->r[7] + 0x00000010u; /* 028559E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t279); /* 028559E0 */ cpu->r[7] = _t279; /* 028559E4 */ _t280 = cpu->r[8] + 0x00000010u; /* 028559E4 */ rbrew_write32(cpu->mem, _t280, cpu->r[5]); /* 028559E4 */ cpu->r[8] = _t280; /* 028559E8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028559E8 */ _t281 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028559E8 */ _t282 = _t281 >> (0x00000002u & 31u); /* 028559E8 */ _t283 = _t282 & 0x00000001u; /* 028559E8 */ if (_t283) goto L_028559C8; else goto L_028559EC; L_028559EC: ; // 0x28559ec /* 028559EC */ _t284 = cpu->r[30] + 0x0000003Cu; /* 028559EC */ rbrew_write32(cpu->mem, _t284, cpu->r[11]); /* 028559F0 */ cpu->r[6] = 0x00000000u; /* 028559F4 */ _t285 = cpu->r[1] + 0x0000004Cu; /* 028559F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t285); /* 028559F8 */ cpu->r[8] = 0x00000811u; /* 028559FC */ _t286 = cpu->r[30] + 0x0000004Cu; /* 028559FC */ rbrew_write32(cpu->mem, _t286, cpu->r[6]); /* 02855A00 */ cpu->r[0] = 0x00000003u; /* 02855A04 */ _t287 = cpu->r[30] + 0x00000048u; /* 02855A04 */ rbrew_write32(cpu->mem, _t287, cpu->r[8]); /* 02855A08 */ _t288 = cpu->r[30] + 0x00000058u; /* 02855A08 */ rbrew_write32(cpu->mem, _t288, cpu->r[0]); /* 02855A0C */ _t289 = cpu->r[30] + 0x00000050u; /* 02855A0C */ rbrew_write32(cpu->mem, _t289, cpu->r[6]); /* 02855A10 */ _t290 = cpu->r[30] + 0x00000054u; /* 02855A10 */ rbrew_write32(cpu->mem, _t290, cpu->r[9]); /* 02855A14 */ _t291 = cpu->r[30] + 0x00000044u; /* 02855A14 */ rbrew_write32(cpu->mem, _t291, cpu->r[6]); /* 02855A18 */ _t292 = cpu->r[30] + 0x00000040u; /* 02855A18 */ rbrew_write32(cpu->mem, _t292, cpu->r[6]); /* 02855A1C */ cpu->r[11] = 0x00000005u; /* 02855A20 */ cpu->r[9] = cpu->r[1] + 0x00000004u; /* 02855A24 */ _t293 = cpu->r[30] + 0x00000034u; /* 02855A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t293); /* 02855A28 */ cpu->ctr = cpu->r[11]; /* 02855A2C */ cpu->r[8] = cpu->r[10] + 0xFFFFFFFCu; L_02855A30: ; // 0x2855a30 /* 02855A30 */ _t294 = cpu->r[8] + 0x00000004u; /* 02855A30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t294); /* 02855A34 */ _t295 = cpu->r[9] + 0x00000004u; /* 02855A34 */ rbrew_write32(cpu->mem, _t295, cpu->r[4]); /* 02855A38 */ _t296 = cpu->r[8] + 0x00000008u; /* 02855A38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t296); /* 02855A3C */ _t297 = cpu->r[9] + 0x00000008u; /* 02855A3C */ rbrew_write32(cpu->mem, _t297, cpu->r[0]); /* 02855A40 */ _t298 = cpu->r[8] + 0x0000000Cu; /* 02855A40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t298); /* 02855A44 */ _t299 = cpu->r[9] + 0x0000000Cu; /* 02855A44 */ rbrew_write32(cpu->mem, _t299, cpu->r[6]); /* 02855A48 */ _t300 = cpu->r[8] + 0x00000010u; /* 02855A48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t300); /* 02855A48 */ cpu->r[8] = _t300; /* 02855A4C */ _t301 = cpu->r[9] + 0x00000010u; /* 02855A4C */ rbrew_write32(cpu->mem, _t301, cpu->r[7]); /* 02855A4C */ cpu->r[9] = _t301; /* 02855A50 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02855A50 */ _t302 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02855A50 */ _t303 = _t302 >> (0x00000002u & 31u); /* 02855A50 */ _t304 = _t303 & 0x00000001u; /* 02855A50 */ if (_t304) goto L_02855A30; else goto L_02855A54; L_02855A54: ; // 0x2855a54 /* 02855A54 */ _t305 = cpu->r[1] + 0x00000030u; /* 02855A54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t305); /* 02855A58 */ cpu->r[0] = 0x00000003u; /* 02855A5C */ _t306 = cpu->r[30] + 0x0000005Cu; /* 02855A5C */ rbrew_write32(cpu->mem, _t306, cpu->r[12]); /* 02855A60 */ cpu->r[9] = 0x00000000u; /* 02855A64 */ _t307 = cpu->r[30] + 0x00000078u; /* 02855A64 */ rbrew_write32(cpu->mem, _t307, cpu->r[0]); /* 02855A68 */ cpu->r[0] = 0x0000000Cu; /* 02855A6C */ _t308 = cpu->r[30] + 0x0000006Cu; /* 02855A6C */ rbrew_write32(cpu->mem, _t308, cpu->r[9]); /* 02855A70 */ cpu->r[12] = 0x0000000Au; /* 02855A74 */ _t309 = cpu->r[30] + 0x00000074u; /* 02855A74 */ rbrew_write32(cpu->mem, _t309, cpu->r[4]); /* 02855A78 */ _t310 = cpu->r[30] + 0x00000064u; /* 02855A78 */ rbrew_write32(cpu->mem, _t310, cpu->r[0]); /* 02855A7C */ _t311 = cpu->r[30] + 0x00000068u; /* 02855A7C */ rbrew_write32(cpu->mem, _t311, cpu->r[12]); /* 02855A80 */ _t312 = cpu->r[30] + 0x00000070u; /* 02855A80 */ rbrew_write32(cpu->mem, _t312, cpu->r[9]); /* 02855A84 */ _t313 = cpu->r[30] + 0x00000060u; /* 02855A84 */ rbrew_write32(cpu->mem, _t313, cpu->r[9]); /* 02855A88 */ cpu->r[12] = 0x00000005u; /* 02855A8C */ cpu->r[11] = cpu->r[1] + 0x00000004u; /* 02855A90 */ _t314 = cpu->r[30] + 0x00000038u; /* 02855A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t314); /* 02855A94 */ cpu->ctr = cpu->r[12]; /* 02855A98 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu; L_02855A9C: ; // 0x2855a9c /* 02855A9C */ _t315 = cpu->r[10] + 0x00000004u; /* 02855A9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t315); /* 02855AA0 */ _t316 = cpu->r[11] + 0x00000004u; /* 02855AA0 */ rbrew_write32(cpu->mem, _t316, cpu->r[5]); /* 02855AA4 */ _t317 = cpu->r[10] + 0x00000008u; /* 02855AA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t317); /* 02855AA8 */ _t318 = cpu->r[11] + 0x00000008u; /* 02855AA8 */ rbrew_write32(cpu->mem, _t318, cpu->r[7]); /* 02855AAC */ _t319 = cpu->r[10] + 0x0000000Cu; /* 02855AAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t319); /* 02855AB0 */ _t320 = cpu->r[11] + 0x0000000Cu; /* 02855AB0 */ rbrew_write32(cpu->mem, _t320, cpu->r[8]); /* 02855AB4 */ _t321 = cpu->r[10] + 0x00000010u; /* 02855AB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t321); /* 02855AB4 */ cpu->r[10] = _t321; /* 02855AB8 */ _t322 = cpu->r[11] + 0x00000010u; /* 02855AB8 */ rbrew_write32(cpu->mem, _t322, cpu->r[9]); /* 02855AB8 */ cpu->r[11] = _t322; /* 02855ABC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02855ABC */ _t323 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02855ABC */ _t324 = _t323 >> (0x00000002u & 31u); /* 02855ABC */ _t325 = _t324 & 0x00000001u; /* 02855ABC */ if (_t325) goto L_02855A9C; else goto L_02855AC0; L_02855AC0: ; // 0x2855ac0 /* 02855AC0 */ _t326 = cpu->r[30] + 0x0000007Cu; /* 02855AC0 */ rbrew_write32(cpu->mem, _t326, cpu->r[0]); /* 02855AC4 */ cpu->r[5] = 0x00000003u; /* 02855AC8 */ _t327 = cpu->r[1] + 0x0000004Cu; /* 02855AC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t327); /* 02855ACC */ cpu->r[7] = 0x00000000u; /* 02855AD0 */ _t328 = cpu->r[30] + 0x00000080u; /* 02855AD0 */ rbrew_write32(cpu->mem, _t328, cpu->r[7]); /* 02855AD4 */ cpu->r[0] = 0x00000811u; /* 02855AD8 */ _t329 = cpu->r[30] + 0x00000098u; /* 02855AD8 */ rbrew_write32(cpu->mem, _t329, cpu->r[5]); /* 02855ADC */ cpu->r[12] = 0x00000010u; /* 02855AE0 */ _t330 = cpu->r[30] + 0x00000028u; /* 02855AE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t330); /* 02855AE4 */ _t331 = cpu->r[30] + 0x00000088u; /* 02855AE4 */ rbrew_write32(cpu->mem, _t331, cpu->r[0]); /* 02855AE8 */ _t332 = cpu->r[30] + 0x00000094u; /* 02855AE8 */ rbrew_write32(cpu->mem, _t332, cpu->r[11]); /* 02855AEC */ cpu->r[8] = cpu->r[7]; /* 02855AF0 */ _t333 = cpu->r[30] + 0x00000084u; /* 02855AF0 */ rbrew_write32(cpu->mem, _t333, cpu->r[12]); /* 02855AF4 */ cpu->r[6] = cpu->r[30] + 0x0000003Cu; /* 02855AF8 */ _t334 = cpu->r[30] + 0x0000008Cu; /* 02855AF8 */ rbrew_write32(cpu->mem, _t334, cpu->r[7]); /* 02855AFC */ cpu->r[3] = cpu->r[30] + 0x00000008u; /* 02855B00 */ _t335 = cpu->r[30] + 0x00000090u; /* 02855B00 */ rbrew_write32(cpu->mem, _t335, cpu->r[7]); /* 02855B04 */ rbrew_dispatch(cpu, 0x02d05be0u); /* 02855B08 */ cpu->r[3] = 0x00000040u; /* 02855B0C */ _t336 = cpu->r[30] + 0x00000028u; /* 02855B0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t336); /* 02855B10 */ cpu->r[5] = cpu->r[29]; /* 02855B14 */ rbrew_dispatch(cpu, 0x02d05c98u); /* 02855B18 */ cpu->r[3] = cpu->r[31]; /* 02855B1C */ /* nop */ /* 02855B20 */ _t337 = cpu->r[1] + 0x00000074u; /* 02855B20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t337); /* 02855B24 */ cpu->lr = cpu->r[0]; /* 02855B28 */ cpu->r[1] = cpu->r[1] + 0x00000070u; /* 02855B2C */ return; } // fn_02855B30 @ 0x2855b30 void Gambit_fn_02855B30(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02855B30: ; // 0x2855b30 /* 02855B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02855B34 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855B34 */ _t1 = _t0 & 0x00000001u; /* 02855B34 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02855B34 */ goto L_02855B38; L_02855B38: ; // 0x2855b38 /* 02855B38 */ cpu->ctr = cpu->r[4]; /* 02855B3C */ cpu->r[12] = 0x00000000u; /* 02855B40 */ cpu->r[6] = cpu->r[3] + 0x00000002u; /* 02855B44 */ cpu->r[8] = cpu->r[3] + 0x00000004u; /* 02855B48 */ cpu->r[10] = cpu->r[3] + 0x00000006u; L_02855B4C: ; // 0x2855b4c /* 02855B4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02855B50 */ cpu->r[7] = cpu->r[12] + 0x00000002u; /* 02855B54 */ _t2 = cpu->r[3] + cpu->r[0]; /* 02855B54 */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[12]); /* 02855B58 */ cpu->r[9] = cpu->r[12] + 0x00000003u; /* 02855B5C */ _t3 = cpu->r[6] + cpu->r[0]; /* 02855B5C */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[7]); /* 02855B60 */ cpu->r[11] = cpu->r[12] + 0x00000001u; /* 02855B64 */ _t4 = cpu->r[8] + cpu->r[0]; /* 02855B64 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[9]); /* 02855B68 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 02855B6C */ _t5 = cpu->r[10] + cpu->r[0]; /* 02855B6C */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[11]); /* 02855B70 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02855B70 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02855B70 */ _t7 = _t6 >> (0x00000002u & 31u); /* 02855B70 */ _t8 = _t7 & 0x00000001u; /* 02855B70 */ if (_t8) goto L_02855B4C; else goto L_02855B74; L_02855B74: ; // 0x2855b74 /* 02855B74 */ return; } // fn_02855B78 @ 0x2855b78 void Gambit_fn_02855B78(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27; L_02855B78: ; // 0x2855b78 /* 02855B78 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 02855B78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02855B78 */ cpu->r[1] = _t0; /* 02855B7C */ /* nop */ /* 02855B80 */ cpu->r[0] = cpu->lr; /* 02855B84 */ cpu->r[28] = cpu->r[5]; /* 02855B88 */ cpu->r[27] = cpu->r[3]; /* 02855B8C */ cpu->r[31] = cpu->r[4]; /* 02855B90 */ cpu->r[5] = 0x00000001u; /* 02855B94 */ _t1 = cpu->r[1] + 0x0000003Cu; /* 02855B94 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02855B98 */ cpu->r[29] = cpu->r[6]; /* 02855B9C */ cpu->r[4] = 0x00000000u; /* 02855BA0 */ _t2 = cpu->r[27] + 0x00000244u; /* 02855BA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02855BA4 */ cpu->r[3] = cpu->r[27] + 0x00000238u; /* 02855BA8 */ _t3 = cpu->r[27] + 0x00000000u; /* 02855BA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 02855BAC */ rbrew_dispatch(cpu, 0x02d05c20u); /* 02855BB0 */ cpu->r[3] = cpu->r[27] + 0x00000238u; /* 02855BB4 */ cpu->r[4] = 0x00000001u; /* 02855BB8 */ cpu->r[5] = 0x00000000u; /* 02855BBC */ rbrew_dispatch(cpu, 0x02d05c68u); /* 02855BC0 */ cpu->r[26] = rbrew_rlwinm(cpu->r[28], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02855BC4 */ cpu->r[30] = cpu->r[27] + 0x00000004u; /* 02855BC8 */ cpu->r[7] = cpu->r[31] + cpu->r[26]; /* 02855BCC */ cpu->r[23] = 0x00000003u; /* 02855BD0 */ cpu->r[8] = cpu->r[7] + 0x000000FFu; /* 02855BD4 */ cpu->r[24] = 0x00000200u; /* 02855BD8 */ cpu->r[25] = 0x00000000u; /* 02855BDC */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x00000017u); L_02855BE0: ; // 0x2855be0 /* 02855BE0 */ cpu->r[6] = cpu->r[29]; /* 02855BE4 */ cpu->r[3] = cpu->r[30]; /* 02855BE8 */ cpu->r[5] = cpu->r[25]; /* 02855BEC */ Gambit_fn_028552C4(cpu); /* 02855BF0 */ cpu->r[0] = cpu->r[3] + 0x0000001Fu; /* 02855BF4 */ _t4 = cpu->r[30] + 0x000000A0u; /* 02855BF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[24]); /* 02855BF8 */ cpu->r[22] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Au); /* 02855BFC */ cpu->r[5] = 0x00000200u; /* 02855C00 */ cpu->r[3] = 0x00000040u; /* 02855C04 */ cpu->r[4] = cpu->r[22]; /* 02855C08 */ _t5 = cpu->r[30] + 0x0000009Cu; /* 02855C08 */ rbrew_write32(cpu->mem, _t5, cpu->r[22]); /* 02855C0C */ cpu->r[31] = cpu->r[30] + 0x0000009Cu; /* 02855C10 */ rbrew_dispatch(cpu, 0x02d05c98u); /* 02855C14 */ _t6 = cpu->r[30] + 0x0000009Cu; /* 02855C14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02855C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02855C1C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855C1C */ _t8 = _t7 & 0x00000001u; /* 02855C1C */ if (_t8) goto L_02855C2C; else goto L_02855C20; L_02855C20: ; // 0x2855c20 /* 02855C20 */ _t9 = cpu->r[31] + 0x00000008u; /* 02855C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02855C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02855C28 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855C28 */ _t11 = _t10 & 0x00000001u; /* 02855C28 */ if (_t11) goto L_02855C2C; else goto L_02855C88; L_02855C2C: ; // 0x2855c2c /* 02855C2C */ cpu->r[12] = cpu->r[31]; /* 02855C30 */ _t12 = cpu->r[12] + 0x00000000u; /* 02855C30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 02855C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02855C38 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855C38 */ _t14 = _t13 & 0x00000001u; /* 02855C38 */ if (_t14) goto L_02855C48; else goto L_02855C3C; L_02855C3C: ; // 0x2855c3c /* 02855C3C */ _t15 = cpu->r[12] + 0x00000004u; /* 02855C3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t15); /* 02855C40 */ cpu->r[5] = 0x00000001u; /* 02855C44 */ rbrew_dispatch(cpu, 0x02d05838u); L_02855C48: ; // 0x2855c48 /* 02855C48 */ _t16 = cpu->r[30] + 0x00000000u; /* 02855C48 */ cpu->r[20] = rbrew_read32(cpu->mem, _t16); /* 02855C4C */ cpu->r[3] = cpu->r[30] + 0x00000008u; /* 02855C50 */ _t17 = cpu->r[30] + 0x00000004u; /* 02855C50 */ cpu->r[21] = rbrew_read32(cpu->mem, _t17); /* 02855C54 */ rbrew_dispatch(cpu, 0x02d060b0u); /* 02855C58 */ cpu->r[3] = cpu->r[20]; /* 02855C5C */ rbrew_dispatch(cpu, 0x02d06290u); /* 02855C60 */ cpu->r[3] = cpu->r[21]; /* 02855C64 */ rbrew_dispatch(cpu, 0x02d06148u); /* 02855C68 */ _t18 = cpu->r[30] + 0x0000002Cu; /* 02855C68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); /* 02855C6C */ cpu->r[3] = cpu->r[27] + 0x00000238u; /* 02855C70 */ rbrew_dispatch(cpu, 0x02d06138u); /* 02855C74 */ _t19 = cpu->r[31] + 0x00000000u; /* 02855C74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19); /* 02855C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02855C7C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855C7C */ _t21 = _t20 & 0x00000001u; /* 02855C7C */ if (_t21) goto L_02855C88; else goto L_02855C80; L_02855C80: ; // 0x2855c80 /* 02855C80 */ rbrew_dispatch(cpu, 0x02d05950u); /* 02855C84 */ _t22 = cpu->r[31] + 0x00000008u; /* 02855C84 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]); L_02855C88: ; // 0x2855c88 /* 02855C88 */ cpu->r[30] = cpu->r[30] + 0x000000BCu; /* 02855C8C */ cpu->r[0] = cpu->r[22] + 0x000002FFu; /* 02855C90 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu; /* 02855C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02855C94 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 02855C98 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000017u); /* 02855C9C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855C9C */ _t24 = _t23 & 0x00000001u; /* 02855C9C */ if (_t24) goto L_02855CA0; else goto L_02855BE0; L_02855CA0: ; // 0x2855ca0 /* 02855CA0 */ _t25 = cpu->r[27] + 0x00000244u; /* 02855CA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25); /* 02855CA4 */ cpu->r[4] = cpu->r[28]; /* 02855CA8 */ Gambit_fn_02855B30(cpu); /* 02855CAC */ _t26 = cpu->r[27] + 0x00000244u; /* 02855CAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t26); /* 02855CB0 */ cpu->r[3] = 0x00000040u; /* 02855CB4 */ cpu->r[5] = cpu->r[26]; /* 02855CB8 */ rbrew_dispatch(cpu, 0x02d05c98u); /* 02855CBC */ /* nop */ /* 02855CC0 */ _t27 = cpu->r[1] + 0x0000003Cu; /* 02855CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 02855CC4 */ cpu->lr = cpu->r[0]; /* 02855CC8 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 02855CCC */ return; } // fn_02855CD0 @ 0x2855cd0 void Gambit_fn_02855CD0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77; L_02855CD0: ; // 0x2855cd0 /* 02855CD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02855CD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02855CD0 */ cpu->r[1] = _t0; /* 02855CD4 */ _t1 = cpu->r[1] + 0x00000008u; /* 02855CD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02855CD8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02855CD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02855CDC */ _t3 = cpu->r[4] + 0x00000004u; /* 02855CDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02855CE0 */ cpu->r[12] = 0x00000000u; /* 02855CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02855CE8 */ cpu->r[31] = cpu->r[4] + 0x00000020u; /* 02855CEC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855CEC */ _t5 = _t4 & 0x00000001u; /* 02855CEC */ if (_t5) goto L_02855DAC; else goto L_02855CF0; L_02855CF0: ; // 0x2855cf0 /* 02855CF0 */ cpu->r[6] = 0x00000000u; /* 02855CF4 */ cpu->r[11] = cpu->r[31]; /* 02855CF8 */ cpu->r[8] = cpu->r[6]; /* 02855CFC */ cpu->r[7] = 0x00000001u; L_02855D00: ; // 0x2855d00 /* 02855D00 */ _t6 = cpu->r[4] + 0x0000000Cu; /* 02855D00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 02855D04 */ cpu->r[9] = cpu->r[10] + cpu->r[6]; /* 02855D08 */ _t7 = cpu->r[9] + 0x00000028u; /* 02855D08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 02855D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02855D10 */ cpu->r[30] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 02855D14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855D14 */ _t9 = _t8 & 0x00000001u; /* 02855D14 */ if (_t9) goto L_02855D50; else goto L_02855D18; L_02855D18: ; // 0x2855d18 /* 02855D18 */ cpu->ctr = cpu->r[12]; /* 02855D1C */ cpu->r[9] = cpu->r[31]; L_02855D20: ; // 0x2855d20 /* 02855D20 */ _t10 = cpu->r[9] + 0x00000000u; /* 02855D20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 02855D24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]); /* 02855D28 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855D28 */ _t12 = _t11 & 0x00000001u; /* 02855D28 */ if (_t12) goto L_02855D2C; else goto L_02855D48; L_02855D2C: ; // 0x2855d2c /* 02855D2C */ _t13 = cpu->r[9] + 0x00000008u; /* 02855D2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 02855D30 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; /* 02855D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02855D34 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 02855D38 */ cpu->r[6] = cpu->r[6] + 0x00000030u; /* 02855D3C */ _t14 = cpu->r[9] + 0x00000008u; /* 02855D3C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]); /* 02855D40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855D40 */ _t16 = _t15 & 0x00000001u; /* 02855D40 */ if (_t16) goto L_02855D44; else goto L_02855D00; L_02855D44: ; // 0x2855d44 /* 02855D44 */ goto L_02855DAC; L_02855D48: ; // 0x2855d48 /* 02855D48 */ cpu->r[9] = cpu->r[9] + 0x00000010u; /* 02855D4C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02855D4C */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02855D4C */ _t18 = _t17 >> (0x00000002u & 31u); /* 02855D4C */ _t19 = _t18 & 0x00000001u; /* 02855D4C */ if (_t19) goto L_02855D20; else goto L_02855D50; L_02855D50: ; // 0x2855d50 /* 02855D50 */ _t20 = cpu->r[11] + 0x00000000u; /* 02855D50 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 02855D54 */ cpu->r[9] = cpu->r[8]; /* 02855D58 */ _t21 = cpu->r[11] + 0x0000000Cu; /* 02855D58 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]); /* 02855D5C */ _t22 = cpu->r[11] + 0x00000008u; /* 02855D5C */ rbrew_write32(cpu->mem, _t22, cpu->r[7]); /* 02855D60 */ _t23 = cpu->r[30] + 0x0000000Eu; /* 02855D60 */ cpu->r[10] = rbrew_read8(cpu->mem, _t23); /* 02855D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02855D68 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855D68 */ _t25 = _t24 & 0x00000001u; /* 02855D68 */ if (_t25) goto L_02855D74; else goto L_02855D6C; L_02855D6C: ; // 0x2855d6c /* 02855D6C */ cpu->r[9] = cpu->r[7]; /* 02855D70 */ _t26 = cpu->r[11] + 0x0000000Cu; /* 02855D70 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]); L_02855D74: ; // 0x2855d74 /* 02855D74 */ _t27 = cpu->r[4] + 0x0000000Cu; /* 02855D74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27); /* 02855D78 */ cpu->r[30] = cpu->r[10] + cpu->r[6]; /* 02855D7C */ _t28 = cpu->r[30] + 0x00000028u; /* 02855D7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); /* 02855D80 */ cpu->r[30] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02855D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02855D84 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855D84 */ _t30 = _t29 & 0x00000001u; /* 02855D84 */ if (_t30) goto L_02855D90; else goto L_02855D88; L_02855D88: ; // 0x2855d88 /* 02855D88 */ cpu->r[10] = cpu->r[9] | 0x00000002u; /* 02855D8C */ _t31 = cpu->r[11] + 0x0000000Cu; /* 02855D8C */ rbrew_write32(cpu->mem, _t31, cpu->r[10]); L_02855D90: ; // 0x2855d90 /* 02855D90 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 02855D94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000008u); /* 02855D98 */ cpu->r[11] = cpu->r[11] + 0x00000010u; /* 02855D9C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855D9C */ _t33 = _t32 & 0x00000001u; /* 02855D9C */ if (_t33) goto L_02855DA0; else goto L_02855DAC; L_02855DA0: ; // 0x2855da0 /* 02855DA0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; /* 02855DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02855DA4 */ cpu->r[6] = cpu->r[6] + 0x00000030u; /* 02855DA8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855DA8 */ _t35 = _t34 & 0x00000001u; /* 02855DA8 */ if (_t35) goto L_02855DAC; else goto L_02855D00; L_02855DAC: ; // 0x2855dac /* 02855DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02855DB0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855DB0 */ _t37 = _t36 & 0x00000001u; /* 02855DB0 */ if (_t37) goto L_02855E70; else goto L_02855DB4; L_02855DB4: ; // 0x2855db4 /* 02855DB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u); /* 02855DB8 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u); /* 02855DB8 */ _t39 = _t38 & 0x00000001u; /* 02855DB8 */ if (_t39) goto L_02855DBC; else goto L_02855E4C; L_02855DBC: ; // 0x2855dbc /* 02855DBC */ cpu->r[11] = cpu->r[12]; /* 02855DC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02855DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000008u); /* 02855DC8 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u); /* 02855DC8 */ _t41 = _t40 & 0x00000001u; /* 02855DC8 */ if (_t41) goto L_02855DCC; else goto L_02855DD0; L_02855DCC: ; // 0x2855dcc /* 02855DCC */ cpu->r[12] = 0x00000008u; L_02855DD0: ; // 0x2855dd0 /* 02855DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02855DD4 */ cpu->r[8] = 0x00000000u; /* 02855DD8 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u); /* 02855DD8 */ _t43 = _t42 & 0x00000001u; /* 02855DD8 */ if (_t43) goto L_02855DDC; else goto L_02855DFC; L_02855DDC: ; // 0x2855ddc /* 02855DDC */ cpu->ctr = cpu->r[11]; /* 02855DE0 */ cpu->r[10] = cpu->r[31] + 0xFFFFFFF0u; L_02855DE4: ; // 0x2855de4 /* 02855DE4 */ _t44 = cpu->r[10] + 0x00000018u; /* 02855DE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44); /* 02855DE8 */ _t45 = cpu->r[10] + 0x00000014u; /* 02855DE8 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]); /* 02855DEC */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02855DF0 */ cpu->r[10] = cpu->r[10] + 0x00000010u; /* 02855DF4 */ cpu->r[8] = cpu->r[8] + cpu->r[7]; /* 02855DF8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02855DF8 */ _t46 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02855DF8 */ _t47 = _t46 >> (0x00000002u & 31u); /* 02855DF8 */ _t48 = _t47 & 0x00000001u; /* 02855DF8 */ if (_t48) goto L_02855DE4; else goto L_02855DFC; L_02855DFC: ; // 0x2855dfc /* 02855DFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]); /* 02855E00 */ cpu->r[9] = cpu->r[12] - cpu->r[11]; /* 02855E04 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u); /* 02855E04 */ _t50 = _t49 & 0x00000001u; /* 02855E04 */ if (_t50) goto L_02855E08; else goto L_02855E9C; L_02855E08: ; // 0x2855e08 /* 02855E08 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02855E0C */ cpu->ctr = cpu->r[9]; /* 02855E10 */ cpu->r[10] = cpu->r[31] + cpu->r[7]; /* 02855E14 */ cpu->r[11] = cpu->r[31] + 0xFFFFFFF0u; /* 02855E18 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFF0u; L_02855E1C: ; // 0x2855e1c /* 02855E1C */ _t51 = cpu->r[10] + 0x00000014u; /* 02855E1C */ rbrew_write32(cpu->mem, _t51, cpu->r[8]); /* 02855E20 */ _t52 = cpu->r[11] + 0x00000010u; /* 02855E20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52); /* 02855E20 */ cpu->r[11] = _t52; /* 02855E24 */ _t53 = cpu->r[10] + 0x00000010u; /* 02855E24 */ rbrew_write32(cpu->mem, _t53, cpu->r[9]); /* 02855E24 */ cpu->r[10] = _t53; /* 02855E28 */ _t54 = cpu->r[11] + 0x00000008u; /* 02855E28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54); /* 02855E2C */ _t55 = cpu->r[10] + 0x00000008u; /* 02855E2C */ rbrew_write32(cpu->mem, _t55, cpu->r[9]); /* 02855E30 */ _t56 = cpu->r[11] + 0x0000000Cu; /* 02855E30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 02855E34 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02855E38 */ cpu->r[8] = cpu->r[8] + cpu->r[9]; /* 02855E3C */ _t57 = cpu->r[10] + 0x0000000Cu; /* 02855E3C */ rbrew_write32(cpu->mem, _t57, cpu->r[7]); /* 02855E40 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02855E40 */ _t58 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02855E40 */ _t59 = _t58 >> (0x00000002u & 31u); /* 02855E40 */ _t60 = _t59 & 0x00000001u; /* 02855E40 */ if (_t60) goto L_02855E1C; else goto L_02855E44; L_02855E44: ; // 0x2855e44 /* 02855E44 */ _t61 = cpu->r[4] + 0x00000008u; /* 02855E44 */ rbrew_write32(cpu->mem, _t61, cpu->r[12]); /* 02855E48 */ goto L_02855EA0; L_02855E4C: ; // 0x2855e4c /* 02855E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02855E50 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855E50 */ _t63 = _t62 & 0x00000001u; /* 02855E50 */ if (_t63) goto L_02855E9C; else goto L_02855E54; L_02855E54: ; // 0x2855e54 /* 02855E54 */ _t64 = cpu->r[31] + 0x00000008u; /* 02855E54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64); /* 02855E58 */ cpu->r[11] = 0x00000000u; /* 02855E5C */ _t65 = cpu->r[31] + 0x00000004u; /* 02855E5C */ rbrew_write32(cpu->mem, _t65, cpu->r[11]); /* 02855E60 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02855E64 */ _t66 = cpu->r[31] + 0x00000008u; /* 02855E64 */ rbrew_write32(cpu->mem, _t66, cpu->r[10]); /* 02855E68 */ _t67 = cpu->r[4] + 0x00000008u; /* 02855E68 */ rbrew_write32(cpu->mem, _t67, cpu->r[12]); /* 02855E6C */ goto L_02855EA0; L_02855E70: ; // 0x2855e70 /* 02855E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02855E74 */ cpu->r[10] = 0x00000000u; /* 02855E78 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855E78 */ _t69 = _t68 & 0x00000001u; /* 02855E78 */ if (_t69) goto L_02855E9C; else goto L_02855E7C; L_02855E7C: ; // 0x2855e7c /* 02855E7C */ cpu->ctr = cpu->r[12]; /* 02855E80 */ cpu->r[11] = cpu->r[31] + 0xFFFFFFF0u; L_02855E84: ; // 0x2855e84 /* 02855E84 */ _t70 = cpu->r[11] + 0x00000018u; /* 02855E84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t70); /* 02855E88 */ _t71 = cpu->r[11] + 0x00000014u; /* 02855E88 */ rbrew_write32(cpu->mem, _t71, cpu->r[10]); /* 02855E8C */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02855E90 */ cpu->r[11] = cpu->r[11] + 0x00000010u; /* 02855E94 */ cpu->r[10] = cpu->r[10] + cpu->r[8]; /* 02855E98 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02855E98 */ _t72 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02855E98 */ _t73 = _t72 >> (0x00000002u & 31u); /* 02855E98 */ _t74 = _t73 & 0x00000001u; /* 02855E98 */ if (_t74) goto L_02855E84; else goto L_02855E9C; L_02855E9C: ; // 0x2855e9c /* 02855E9C */ _t75 = cpu->r[4] + 0x00000008u; /* 02855E9C */ rbrew_write32(cpu->mem, _t75, cpu->r[12]); L_02855EA0: ; // 0x2855ea0 /* 02855EA0 */ _t76 = cpu->r[1] + 0x00000008u; /* 02855EA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t76); /* 02855EA4 */ _t77 = cpu->r[1] + 0x0000000Cu; /* 02855EA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t77); /* 02855EA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02855EAC */ return; } // fn_02855EB0 @ 0x2855eb0 void Gambit_fn_02855EB0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531, _t532, _t533, _t534, _t535, _t536, _t537, _t538, _t539, _t540, _t541, _t542, _t543, _t544, _t545, _t546, _t547, _t548, _t549, _t550, _t551, _t552, _t553, _t554, _t555, _t556, _t557, _t558; L_02855EB0: ; // 0x2855eb0 /* 02855EB0 */ _t0 = cpu->r[1] + 0xFFFFFE88u; /* 02855EB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02855EB0 */ cpu->r[1] = _t0; /* 02855EB4 */ _t1 = cpu->r[1] + 0x00000088u; /* 02855EB4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[17]); /* 02855EB8 */ _t2 = cpu->r[1] + 0x00000098u; /* 02855EB8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[18]); /* 02855EBC */ _t3 = cpu->r[1] + 0x000000A8u; /* 02855EBC */ rbrew_write_f64(cpu->mem, _t3, cpu->f[19]); /* 02855EC0 */ /* nop */ /* 02855EC4 */ _t4 = cpu->r[1] + 0x000000B8u; /* 02855EC4 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[20]); /* 02855EC8 */ /* nop */ /* 02855ECC */ _t5 = cpu->r[1] + 0x000000C8u; /* 02855ECC */ rbrew_write_f64(cpu->mem, _t5, cpu->f[21]); /* 02855ED0 */ /* nop */ /* 02855ED4 */ _t6 = cpu->r[1] + 0x000000D8u; /* 02855ED4 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[22]); /* 02855ED8 */ /* nop */ /* 02855EDC */ _t7 = cpu->r[1] + 0x000000E8u; /* 02855EDC */ rbrew_write_f64(cpu->mem, _t7, cpu->f[23]); /* 02855EE0 */ /* nop */ /* 02855EE4 */ _t8 = cpu->r[1] + 0x000000F8u; /* 02855EE4 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[24]); /* 02855EE8 */ /* nop */ /* 02855EEC */ _t9 = cpu->r[1] + 0x00000108u; /* 02855EEC */ rbrew_write_f64(cpu->mem, _t9, cpu->f[25]); /* 02855EF0 */ /* nop */ /* 02855EF4 */ _t10 = cpu->r[1] + 0x00000118u; /* 02855EF4 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[26]); /* 02855EF8 */ /* nop */ /* 02855EFC */ _t11 = cpu->r[1] + 0x00000090u; /* 02855EFC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[17]); /* 02855F00 */ _t12 = cpu->r[1] + 0x000000A0u; /* 02855F00 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[18]); /* 02855F04 */ _t13 = cpu->r[1] + 0x000000B0u; /* 02855F04 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[19]); /* 02855F08 */ /* nop */ /* 02855F0C */ _t14 = cpu->r[1] + 0x000000C0u; /* 02855F0C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[20]); /* 02855F10 */ _t15 = cpu->r[1] + 0x000000D0u; /* 02855F10 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[21]); /* 02855F14 */ _t16 = cpu->r[1] + 0x000000E0u; /* 02855F14 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[22]); /* 02855F18 */ /* nop */ /* 02855F1C */ _t17 = cpu->r[1] + 0x000000F0u; /* 02855F1C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[23]); /* 02855F20 */ _t18 = cpu->r[1] + 0x00000100u; /* 02855F20 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[24]); /* 02855F24 */ _t19 = cpu->r[1] + 0x00000110u; /* 02855F24 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[25]); /* 02855F28 */ cpu->r[0] = cpu->lr; /* 02855F2C */ _t20 = cpu->r[1] + 0x00000120u; /* 02855F2C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[26]); /* 02855F30 */ _t21 = cpu->r[1] + 0x00000128u; /* 02855F30 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[27]); /* 02855F34 */ /* nop */ /* 02855F38 */ _t22 = cpu->r[1] + 0x00000130u; /* 02855F38 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[27]); /* 02855F3C */ _t23 = cpu->r[1] + 0x00000138u; /* 02855F3C */ rbrew_write_f64(cpu->mem, _t23, cpu->f[28]); /* 02855F40 */ /* nop */ /* 02855F44 */ _t24 = cpu->r[1] + 0x00000140u; /* 02855F44 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[28]); /* 02855F48 */ _t25 = cpu->r[1] + 0x00000148u; /* 02855F48 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[29]); /* 02855F4C */ /* nop */ /* 02855F50 */ _t26 = cpu->r[1] + 0x00000150u; /* 02855F50 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[29]); /* 02855F54 */ _t27 = cpu->r[1] + 0x00000158u; /* 02855F54 */ rbrew_write_f64(cpu->mem, _t27, cpu->f[30]); /* 02855F58 */ /* nop */ /* 02855F5C */ _t28 = cpu->r[1] + 0x00000160u; /* 02855F5C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[30]); /* 02855F60 */ _t29 = cpu->r[1] + 0x00000168u; /* 02855F60 */ rbrew_write_f64(cpu->mem, _t29, cpu->f[31]); /* 02855F64 */ /* nop */ /* 02855F68 */ /* nop */ /* 02855F6C */ _t30 = cpu->r[1] + 0x0000017Cu; /* 02855F6C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 02855F70 */ _t31 = cpu->r[1] + 0x00000170u; /* 02855F70 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]); /* 02855F74 */ cpu->r[29] = cpu->r[6]; /* 02855F78 */ cpu->r[27] = cpu->r[4]; /* 02855F7C */ _t32 = cpu->r[27] + 0x00000004u; /* 02855F7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 02855F80 */ cpu->r[23] = cpu->r[5]; /* 02855F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02855F88 */ cpu->r[28] = cpu->r[7]; /* 02855F8C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02855F8C */ _t34 = _t33 & 0x00000001u; /* 02855F8C */ if (_t34) goto L_02855F90; else goto L_02856030; L_02855F90: ; // 0x2855f90 /* 02855F90 */ cpu->r[0] = 0x00000001u; /* 02855F94 */ cpu->r[11] = 0x00000000u; /* 02855F98 */ _t35 = cpu->r[27] + 0x00000011u; /* 02855F98 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[0]); /* 02855F9C */ _t36 = cpu->r[27] + 0x00000008u; /* 02855F9C */ rbrew_write32(cpu->mem, _t36, cpu->r[11]); /* 02855FA0 */ /* nop */ /* 02855FA4 */ _t37 = cpu->r[1] + 0x000000D0u; /* 02855FA4 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t37); /* 02855FA8 */ _t38 = cpu->r[1] + 0x000000B0u; /* 02855FA8 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t38); /* 02855FAC */ _t39 = cpu->r[1] + 0x000000C8u; /* 02855FAC */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t39); /* 02855FB0 */ _t40 = cpu->r[1] + 0x000000F0u; /* 02855FB0 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t40); /* 02855FB4 */ _t41 = cpu->r[1] + 0x000000A8u; /* 02855FB4 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t41); /* 02855FB8 */ _t42 = cpu->r[1] + 0x000000E8u; /* 02855FB8 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t42); /* 02855FBC */ _t43 = cpu->r[1] + 0x000000C0u; /* 02855FBC */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t43); /* 02855FC0 */ _t44 = cpu->r[1] + 0x00000110u; /* 02855FC0 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t44); /* 02855FC4 */ _t45 = cpu->r[1] + 0x000000B8u; /* 02855FC4 */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t45); /* 02855FC8 */ _t46 = cpu->r[1] + 0x00000108u; /* 02855FC8 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t46); /* 02855FCC */ _t47 = cpu->r[1] + 0x000000E0u; /* 02855FCC */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t47); /* 02855FD0 */ _t48 = cpu->r[1] + 0x00000150u; /* 02855FD0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t48); /* 02855FD4 */ _t49 = cpu->r[1] + 0x00000120u; /* 02855FD4 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t49); /* 02855FD8 */ _t50 = cpu->r[1] + 0x00000148u; /* 02855FD8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t50); /* 02855FDC */ _t51 = cpu->r[1] + 0x000000A0u; /* 02855FDC */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t51); /* 02855FE0 */ _t52 = cpu->r[1] + 0x00000118u; /* 02855FE0 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t52); /* 02855FE4 */ _t53 = cpu->r[1] + 0x00000098u; /* 02855FE4 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t53); /* 02855FE8 */ _t54 = cpu->r[1] + 0x00000140u; /* 02855FE8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t54); /* 02855FEC */ _t55 = cpu->r[1] + 0x00000090u; /* 02855FEC */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t55); /* 02855FF0 */ _t56 = cpu->r[1] + 0x00000138u; /* 02855FF0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t56); /* 02855FF4 */ _t57 = cpu->r[1] + 0x00000088u; /* 02855FF4 */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t57); /* 02855FF8 */ _t58 = cpu->r[1] + 0x00000160u; /* 02855FF8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t58); /* 02855FFC */ _t59 = cpu->r[1] + 0x00000170u; /* 02855FFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59); /* 02856000 */ _t60 = cpu->r[1] + 0x00000158u; /* 02856000 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t60); /* 02856004 */ _t61 = cpu->r[1] + 0x00000168u; /* 02856004 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61); /* 02856008 */ _t62 = cpu->r[1] + 0x000000D8u; /* 02856008 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t62); /* 0285600C */ _t63 = cpu->r[1] + 0x00000100u; /* 0285600C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t63); /* 02856010 */ _t64 = cpu->r[1] + 0x00000130u; /* 02856010 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t64); /* 02856014 */ _t65 = cpu->r[1] + 0x000000F8u; /* 02856014 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t65); /* 02856018 */ _t66 = cpu->r[1] + 0x00000128u; /* 02856018 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t66); /* 0285601C */ _t67 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285601C */ _t68 = _t67 & 0x00000001u; /* 0285601C */ if (_t68) goto L_02856020; // else: addr-0 trap, fall-through L_02856020: ; // 0x2856020 /* 02856020 */ _t69 = cpu->r[1] + 0x0000017Cu; /* 02856020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69); /* 02856024 */ cpu->lr = cpu->r[0]; /* 02856028 */ cpu->r[1] = cpu->r[1] + 0x00000178u; /* 0285602C */ return; L_02856030: ; // 0x2856030 /* 02856030 */ _t70 = cpu->r[3] + 0x00000000u; /* 02856030 */ cpu->r[11] = rbrew_read32(cpu->mem, _t70); /* 02856034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]); /* 02856038 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u); /* 02856038 */ _t72 = _t71 & 0x00000001u; /* 02856038 */ if (_t72) goto L_02856F28; else goto L_0285603C; L_0285603C: ; // 0x285603c /* 0285603C */ _t73 = cpu->r[27] + 0x00000000u; /* 0285603C */ cpu->r[0] = rbrew_read32(cpu->mem, _t73); /* 02856040 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 02856044 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u); /* 02856044 */ _t75 = _t74 & 0x00000001u; /* 02856044 */ if (_t75) goto L_02856F28; else goto L_02856048; L_02856048: ; // 0x2856048 /* 02856048 */ cpu->r[0] = cpu->r[23] + 0xFFFFFFFFu; /* 0285604C */ cpu->r[5] = cpu->r[23] - cpu->r[0]; /* 02856050 */ cpu->r[4] = cpu->r[27]; /* 02856054 */ Gambit_fn_02855CD0(cpu); /* 02856058 */ _t76 = cpu->r[27] + 0x0000001Cu; /* 02856058 */ cpu->r[10] = rbrew_read32(cpu->mem, _t76); /* 0285605C */ cpu->r[26] = cpu->r[27] + 0x00000014u; /* 02856060 */ cpu->r[0] = cpu->r[10] + 0x00000001u; /* 02856064 */ cpu->r[25] = cpu->r[27] + 0x00000020u; /* 02856068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 0285606C */ _t77 = cpu->r[27] + 0x00000008u; /* 0285606C */ cpu->r[30] = rbrew_read32(cpu->mem, _t77); /* 02856070 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u); /* 02856070 */ _t79 = _t78 & 0x00000001u; /* 02856070 */ if (_t79) goto L_02856078; else goto L_02856074; L_02856074: ; // 0x2856074 /* 02856074 */ cpu->r[0] = 0x00000000u; L_02856078: ; // 0x2856078 /* 02856078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 0285607C */ cpu->r[9] = 0x00000001u; /* 02856080 */ _t80 = cpu->r[26] + 0x00000008u; /* 02856080 */ rbrew_write32(cpu->mem, _t80, cpu->r[0]); /* 02856084 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856084 */ _t82 = _t81 & 0x00000001u; /* 02856084 */ if (_t82) goto L_0285608C; else goto L_02856088; L_02856088: ; // 0x2856088 /* 02856088 */ cpu->r[9] = 0x00000002u; L_0285608C: ; // 0x285608c /* 0285608C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[9]); /* 02856090 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02856094 */ _t83 = cpu->r[11] + cpu->r[26]; /* 02856094 */ cpu->r[10] = rbrew_read32(cpu->mem, _t83); /* 02856098 */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000070u); /* 0285609C */ cpu->r[0] = cpu->r[10] + 0x0000001Fu; /* 028560A0 */ cpu->r[11] = 0x00040000u; /* 028560A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[11]); /* 028560A8 */ _t84 = cpu->cr[0] >> (0x00000003u & 31u); /* 028560A8 */ _t85 = _t84 & 0x00000001u; /* 028560A8 */ if (_t85) goto L_028560AC; else goto L_028560B0; L_028560AC: ; // 0x28560ac /* 028560AC */ cpu->r[11] = cpu->r[24]; L_028560B0: ; // 0x28560b0 /* 028560B0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Au); /* 028560B4 */ cpu->r[6] = cpu->r[11] + cpu->r[10]; /* 028560B8 */ cpu->r[7] = cpu->r[6] - cpu->r[3]; /* 028560BC */ cpu->r[4] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000001Au); /* 028560C0 */ rbrew_dispatch(cpu, 0x02d09350u); /* 028560C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028560C8 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 028560C8 */ _t87 = _t86 & 0x00000001u; /* 028560C8 */ if (_t87) goto L_028560E4; else goto L_028560CC; L_028560CC: ; // 0x28560cc /* 028560CC */ cpu->ctr = cpu->r[30]; /* 028560D0 */ cpu->r[6] = 0x00000000u; /* 028560D4 */ cpu->r[11] = cpu->r[25] + 0xFFFFFFF0u; L_028560D8: ; // 0x28560d8 /* 028560D8 */ _t88 = cpu->r[11] + 0x00000018u; /* 028560D8 */ rbrew_write32(cpu->mem, _t88, cpu->r[6]); /* 028560DC */ cpu->r[11] = cpu->r[11] + 0x00000010u; /* 028560E0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028560E0 */ _t89 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028560E0 */ _t90 = _t89 >> (0x00000002u & 31u); /* 028560E0 */ _t91 = _t90 & 0x00000001u; /* 028560E0 */ if (_t91) goto L_028560D8; else goto L_028560E4; L_028560E4: ; // 0x28560e4 /* 028560E4 */ cpu->r[11] = 0x10130000u; /* 028560E8 */ cpu->r[10] = 0x10130000u; /* 028560EC */ _t92 = cpu->r[11] + 0x00001A14u; /* 028560EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t92); /* 028560F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028560F4 */ _t93 = cpu->r[10] + 0x00001A1Cu; /* 028560F4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t93); /* 028560F8 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u); /* 028560F8 */ _t95 = _t94 & 0x00000001u; /* 028560F8 */ if (_t95) goto L_028567FC; else goto L_028560FC; L_028560FC: ; // 0x28560fc /* 028560FC */ cpu->r[7] = 0x10130000u; /* 02856100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02856104 */ _t96 = cpu->r[7] + 0x00001A20u; /* 02856104 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t96); /* 02856108 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856108 */ _t98 = _t97 & 0x00000001u; /* 02856108 */ if (_t98) goto L_0285610C; else goto L_028563C8; L_0285610C: ; // 0x285610c /* 0285610C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02856110 */ cpu->r[6] = cpu->r[31]; /* 02856114 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856114 */ _t100 = _t99 & 0x00000001u; /* 02856114 */ if (_t100) goto L_02856804; else goto L_02856118; L_02856118: ; // 0x2856118 /* 02856118 */ cpu->f[5] = cpu->f[13]; /* 0285611C */ cpu->r[10] = 0x00000000u; L_02856120: ; // 0x2856120 /* 02856120 */ _t101 = cpu->r[26] + 0x00000008u; /* 02856120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101); /* 02856124 */ _t102 = cpu->r[27] + 0x0000000Cu; /* 02856124 */ cpu->r[7] = rbrew_read32(cpu->mem, _t102); /* 02856128 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285612C */ cpu->r[12] = cpu->r[7] + cpu->r[10]; /* 02856130 */ _t103 = cpu->r[12] + 0x00000028u; /* 02856130 */ cpu->r[8] = rbrew_read32(cpu->mem, _t103); /* 02856134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02856138 */ _t104 = cpu->r[11] + cpu->r[26]; /* 02856138 */ cpu->r[9] = rbrew_read32(cpu->mem, _t104); /* 0285613C */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 02856140 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856140 */ _t106 = _t105 & 0x00000001u; /* 02856140 */ if (_t106) goto L_02856184; else goto L_02856144; L_02856144: ; // 0x2856144 /* 02856144 */ cpu->ctr = cpu->r[30]; /* 02856148 */ cpu->r[3] = cpu->r[25]; L_0285614C: ; // 0x285614c /* 0285614C */ _t107 = cpu->r[3] + 0x00000000u; /* 0285614C */ cpu->r[5] = rbrew_read32(cpu->mem, _t107); /* 02856150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]); /* 02856154 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856154 */ _t109 = _t108 & 0x00000001u; /* 02856154 */ if (_t109) goto L_02856158; else goto L_0285617C; L_02856158: ; // 0x2856158 /* 02856158 */ _t110 = cpu->r[3] + 0x00000008u; /* 02856158 */ cpu->r[8] = rbrew_read32(cpu->mem, _t110); /* 0285615C */ _t111 = cpu->r[3] + 0x00000004u; /* 0285615C */ cpu->r[11] = rbrew_read32(cpu->mem, _t111); /* 02856160 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02856164 */ cpu->r[0] = cpu->r[11] + cpu->r[7]; /* 02856168 */ cpu->r[7] = cpu->r[8] + 0x00000001u; /* 0285616C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02856170 */ _t112 = cpu->r[3] + 0x00000008u; /* 02856170 */ rbrew_write32(cpu->mem, _t112, cpu->r[7]); /* 02856174 */ cpu->r[9] = cpu->r[9] + cpu->r[5]; /* 02856178 */ goto L_02856184; L_0285617C: ; // 0x285617c /* 0285617C */ cpu->r[3] = cpu->r[3] + 0x00000010u; /* 02856180 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02856180 */ _t113 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02856180 */ _t114 = _t113 >> (0x00000002u & 31u); /* 02856180 */ _t115 = _t114 & 0x00000001u; /* 02856180 */ if (_t115) goto L_0285614C; else goto L_02856184; L_02856184: ; // 0x2856184 /* 02856184 */ _t116 = cpu->r[12] + 0x0000000Cu; /* 02856184 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t116); /* 02856188 */ cpu->r[11] = cpu->r[1] + 0x00000018u; /* 0285618C */ _t117 = cpu->r[12] + 0x00000000u; /* 0285618C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t117); /* 02856190 */ _t118 = cpu->r[12] + 0x00000008u; /* 02856190 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t118); /* 02856194 */ _t119 = cpu->r[23] + 0x00000008u; /* 02856194 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t119); /* 02856198 */ _t120 = cpu->r[12] + 0x00000004u; /* 02856198 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t120); /* 0285619C */ _t121 = cpu->r[23] + 0x00000014u; /* 0285619C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t121); /* 028561A0 */ _t122 = cpu->r[23] + 0x0000000Cu; /* 028561A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t122); /* 028561A4 */ /* nop */ /* 028561A8 */ _t123 = cpu->r[23] + 0x00000010u; /* 028561A8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t123); /* 028561AC */ /* nop */ /* 028561B0 */ _t124 = cpu->r[12] + 0x0000002Fu; /* 028561B0 */ cpu->r[3] = rbrew_read8(cpu->mem, _t124); /* 028561B4 */ _t125 = cpu->r[23] + 0x00000003u; /* 028561B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t125); /* 028561B8 */ cpu->f[4] = cpu->f[6] * cpu->f[8]; /* 028561BC */ cpu->r[4] = 0x80810000u; /* 028561C0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[3]); /* 028561C4 */ _t126 = cpu->r[1] + 0x00000018u; /* 028561C4 */ cpu->r[22] = rbrew_read32(cpu->mem, _t126); /* 028561C8 */ cpu->f[8] = cpu->f[6] - cpu->f[4]; /* 028561CC */ cpu->r[4] = cpu->r[4] + 0xFFFF8081u; /* 028561D0 */ cpu->f[6] = cpu->f[7] - cpu->f[10]; /* 028561D4 */ cpu->r[8] = (uint32_t)(((int64_t)(int32_t)cpu->r[4] * (int64_t)(int32_t)cpu->r[11]) >> 32); /* 028561D8 */ cpu->f[2] = cpu->f[9] + cpu->f[11]; /* 028561DC */ cpu->r[8] = cpu->r[11] + cpu->r[8]; /* 028561E0 */ cpu->r[5] = cpu->r[23] + 0x00000004u; /* 028561E4 */ /* nop */ /* 028561E8 */ /* nop */ /* 028561EC */ cpu->r[7] = cpu->r[1] + 0x0000001Cu; /* 028561F0 */ /* nop */ /* 028561F4 */ /* nop */ /* 028561F8 */ _t127 = cpu->r[23] + 0x00000007u; /* 028561F8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t127); /* 028561FC */ cpu->r[7] = 0x43300000u; /* 02856200 */ _t128 = cpu->r[12] + 0x0000002Cu; /* 02856200 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t128); /* 02856204 */ cpu->r[8] = cpu->r[8] - cpu->r[11]; /* 02856208 */ _t129 = cpu->r[12] + 0x00000018u; /* 02856208 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t129); /* 0285620C */ cpu->r[11] = cpu->r[0] ^ 0x80000000u; /* 02856210 */ _t130 = cpu->r[1] + 0x00000008u; /* 02856210 */ rbrew_write32(cpu->mem, _t130, cpu->r[7]); /* 02856214 */ _t131 = cpu->r[1] + 0x0000000Cu; /* 02856214 */ rbrew_write32(cpu->mem, _t131, cpu->r[11]); /* 02856218 */ _t132 = cpu->r[12] + 0x0000002Eu; /* 02856218 */ cpu->r[11] = rbrew_read8(cpu->mem, _t132); /* 0285621C */ cpu->f[30] = cpu->f[6] + cpu->f[8]; /* 02856220 */ _t133 = cpu->r[1] + 0x00000008u; /* 02856220 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t133); /* 02856224 */ cpu->r[7] = 0x10130000u; /* 02856228 */ _t134 = cpu->r[1] + 0x0000000Cu; /* 02856228 */ rbrew_write32(cpu->mem, _t134, cpu->r[11]); /* 0285622C */ _t135 = cpu->r[7] + 0x00001A28u; /* 0285622C */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t135); /* 02856230 */ cpu->r[11] = 0x10130000u; /* 02856234 */ _t136 = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02856234 */ _t137 = cpu->r[22] & 0xFFFFFF00u; /* 02856234 */ cpu->r[22] = _t137 | _t136; /* 02856238 */ _t138 = cpu->r[1] + 0x00000008u; /* 02856238 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t138); /* 0285623C */ cpu->f[7] = cpu->f[10] - cpu->f[6]; /* 02856240 */ _t139 = cpu->r[23] + 0x00000018u; /* 02856240 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t139); /* 02856244 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[3]); /* 02856248 */ _t140 = cpu->r[11] + 0x00001A30u; /* 02856248 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t140); /* 0285624C */ cpu->f[9] = (double)(float)cpu->f[7]; /* 02856250 */ _t141 = cpu->r[1] + 0x0000001Cu; /* 02856250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t141); /* 02856254 */ cpu->f[6] = cpu->f[11] - cpu->f[8]; /* 02856258 */ cpu->r[0] = (uint32_t)(((int64_t)(int32_t)cpu->r[4] * (int64_t)(int32_t)cpu->r[8]) >> 32); /* 0285625C */ cpu->f[21] = fma(cpu->f[10], cpu->f[31], cpu->f[9]); /* 02856260 */ /* nop */ /* 02856264 */ cpu->f[7] = (double)(float)cpu->f[6]; /* 02856268 */ _t142 = cpu->r[12] + 0x0000001Cu; /* 02856268 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t142); /* 0285626C */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 02856270 */ cpu->f[11] = cpu->f[2] + cpu->f[21]; /* 02856274 */ _t143 = cpu->r[9] + 0x00000004u; /* 02856274 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[30]); /* 02856278 */ cpu->r[0] = cpu->r[8] + cpu->r[0]; /* 0285627C */ _t144 = cpu->r[9] + 0x00000008u; /* 0285627C */ rbrew_write_f32(cpu->mem, _t144, cpu->f[5]); /* 02856280 */ /* nop */ /* 02856284 */ _t145 = cpu->r[9] + 0x00000000u; /* 02856284 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[11]); /* 02856288 */ cpu->r[0] = cpu->r[0] - cpu->r[7]; /* 0285628C */ _t146 = cpu->r[1] + 0x00000020u; /* 0285628C */ rbrew_write32(cpu->mem, _t146, cpu->r[22]); /* 02856290 */ _t147 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02856290 */ _t148 = cpu->r[3] & 0xFFFFFF00u; /* 02856290 */ cpu->r[3] = _t148 | _t147; /* 02856294 */ /* nop */ /* 02856298 */ cpu->r[8] = cpu->r[9] + 0x0000000Cu; /* 0285629C */ cpu->f[9] = -cpu->f[7]; /* 028562A0 */ /* nop */ /* 028562A4 */ _t149 = cpu->r[9] + 0x00000010u; /* 028562A4 */ rbrew_write_f32(cpu->mem, _t149, cpu->f[1]); /* 028562A8 */ cpu->f[10] = cpu->f[9] - cpu->f[0]; /* 028562AC */ _t150 = cpu->r[9] + 0x00000014u; /* 028562AC */ rbrew_write_f32(cpu->mem, _t150, cpu->f[6]); /* 028562B0 */ _t151 = cpu->r[9] + 0x00000018u; /* 028562B0 */ rbrew_write_f32(cpu->mem, _t151, cpu->f[10]); /* 028562B4 */ _t152 = cpu->r[12] + 0x0000002Eu; /* 028562B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t152); /* 028562B8 */ cpu->f[31] = fma(cpu->f[3], cpu->f[31], cpu->f[2]); /* 028562BC */ _t153 = cpu->r[12] + 0x00000020u; /* 028562BC */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t153); /* 028562C0 */ _t154 = cpu->r[1] + 0x0000000Cu; /* 028562C0 */ rbrew_write32(cpu->mem, _t154, cpu->r[4]); /* 028562C4 */ _t155 = cpu->r[1] + 0x00000008u; /* 028562C4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t155); /* 028562C8 */ cpu->f[6] = cpu->f[31] + cpu->f[21]; /* 028562CC */ _t156 = cpu->r[12] + 0x0000001Cu; /* 028562CC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t156); /* 028562D0 */ cpu->f[10] = cpu->f[9] - cpu->f[8]; /* 028562D4 */ _t157 = cpu->r[9] + 0x00000020u; /* 028562D4 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[30]); /* 028562D8 */ _t158 = cpu->r[9] + 0x0000001Cu; /* 028562D8 */ rbrew_write_f32(cpu->mem, _t158, cpu->f[6]); /* 028562DC */ cpu->f[6] = (double)(float)cpu->f[10]; /* 028562E0 */ _t159 = cpu->r[9] + 0x00000024u; /* 028562E0 */ rbrew_write_f32(cpu->mem, _t159, cpu->f[5]); /* 028562E4 */ cpu->r[7] = cpu->r[1] + 0x00000024u; /* 028562E8 */ _t160 = cpu->r[1] + 0x00000024u; /* 028562E8 */ rbrew_write32(cpu->mem, _t160, cpu->r[22]); /* 028562EC */ /* nop */ /* 028562F0 */ cpu->f[11] = -cpu->f[6]; /* 028562F4 */ cpu->r[8] = cpu->r[9] + 0x00000028u; /* 028562F8 */ /* nop */ /* 028562FC */ cpu->f[6] = cpu->f[11] - cpu->f[0]; /* 02856300 */ _t161 = cpu->r[9] + 0x00000030u; /* 02856300 */ rbrew_write_f32(cpu->mem, _t161, cpu->f[7]); /* 02856304 */ _t162 = cpu->r[9] + 0x0000002Cu; /* 02856304 */ rbrew_write_f32(cpu->mem, _t162, cpu->f[3]); /* 02856308 */ _t163 = cpu->r[9] + 0x00000034u; /* 02856308 */ rbrew_write_f32(cpu->mem, _t163, cpu->f[6]); /* 0285630C */ _t164 = cpu->r[12] + 0x0000002Eu; /* 0285630C */ cpu->r[4] = rbrew_read8(cpu->mem, _t164); /* 02856310 */ _t165 = cpu->r[1] + 0x0000000Cu; /* 02856310 */ rbrew_write32(cpu->mem, _t165, cpu->r[4]); /* 02856314 */ _t166 = cpu->r[1] + 0x00000008u; /* 02856314 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t166); /* 02856318 */ _t167 = cpu->r[12] + 0x00000018u; /* 02856318 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t167); /* 0285631C */ cpu->f[10] = cpu->f[9] - cpu->f[8]; /* 02856320 */ _t168 = cpu->r[12] + 0x00000024u; /* 02856320 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t168); /* 02856324 */ cpu->f[4] = cpu->f[30] + cpu->f[4]; /* 02856328 */ _t169 = cpu->r[9] + 0x00000038u; /* 02856328 */ rbrew_write_f32(cpu->mem, _t169, cpu->f[2]); /* 0285632C */ cpu->f[6] = (double)(float)cpu->f[10]; /* 02856330 */ _t170 = cpu->r[9] + 0x00000040u; /* 02856330 */ rbrew_write_f32(cpu->mem, _t170, cpu->f[5]); /* 02856334 */ cpu->r[4] = cpu->r[1] + 0x00000028u; /* 02856338 */ _t171 = cpu->r[9] + 0x0000003Cu; /* 02856338 */ rbrew_write_f32(cpu->mem, _t171, cpu->f[4]); /* 0285633C */ cpu->f[11] = -cpu->f[6]; /* 02856340 */ _t172 = cpu->r[1] + 0x00000028u; /* 02856340 */ rbrew_write32(cpu->mem, _t172, cpu->r[3]); /* 02856344 */ /* nop */ /* 02856348 */ cpu->r[5] = cpu->r[9] + 0x00000044u; /* 0285634C */ cpu->f[7] = cpu->f[11] - cpu->f[0]; /* 02856350 */ /* nop */ /* 02856354 */ _t173 = cpu->r[9] + 0x0000004Cu; /* 02856354 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[9]); /* 02856358 */ _t174 = cpu->r[9] + 0x00000050u; /* 02856358 */ rbrew_write_f32(cpu->mem, _t174, cpu->f[7]); /* 0285635C */ _t175 = cpu->r[9] + 0x00000048u; /* 0285635C */ rbrew_write_f32(cpu->mem, _t175, cpu->f[3]); /* 02856360 */ _t176 = cpu->r[12] + 0x0000002Eu; /* 02856360 */ cpu->r[0] = rbrew_read8(cpu->mem, _t176); /* 02856364 */ _t177 = cpu->r[12] + 0x00000020u; /* 02856364 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t177); /* 02856368 */ _t178 = cpu->r[1] + 0x0000000Cu; /* 02856368 */ rbrew_write32(cpu->mem, _t178, cpu->r[0]); /* 0285636C */ _t179 = cpu->r[1] + 0x00000008u; /* 0285636C */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t179); /* 02856370 */ _t180 = cpu->r[12] + 0x00000024u; /* 02856370 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t180); /* 02856374 */ cpu->f[8] = cpu->f[7] - cpu->f[8]; /* 02856378 */ _t181 = cpu->r[9] + 0x0000005Cu; /* 02856378 */ rbrew_write_f32(cpu->mem, _t181, cpu->f[5]); /* 0285637C */ _t182 = cpu->r[9] + 0x00000058u; /* 0285637C */ rbrew_write_f32(cpu->mem, _t182, cpu->f[4]); /* 02856380 */ cpu->f[6] = (double)(float)cpu->f[8]; /* 02856384 */ _t183 = cpu->r[9] + 0x00000054u; /* 02856384 */ rbrew_write_f32(cpu->mem, _t183, cpu->f[31]); /* 02856388 */ cpu->r[7] = cpu->r[1] + 0x0000002Cu; /* 0285638C */ _t184 = cpu->r[1] + 0x0000002Cu; /* 0285638C */ rbrew_write32(cpu->mem, _t184, cpu->r[3]); /* 02856390 */ /* nop */ /* 02856394 */ cpu->f[9] = -cpu->f[6]; /* 02856398 */ cpu->r[11] = cpu->r[9] + 0x00000060u; /* 0285639C */ /* nop */ /* 028563A0 */ cpu->f[7] = cpu->f[9] - cpu->f[0]; /* 028563A4 */ _t185 = cpu->r[9] + 0x00000068u; /* 028563A4 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[11]); /* 028563A8 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 028563A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028563AC */ _t186 = cpu->r[9] + 0x00000064u; /* 028563AC */ rbrew_write_f32(cpu->mem, _t186, cpu->f[10]); /* 028563B0 */ cpu->r[10] = cpu->r[10] + 0x00000030u; /* 028563B4 */ _t187 = cpu->r[9] + 0x0000006Cu; /* 028563B4 */ rbrew_write_f32(cpu->mem, _t187, cpu->f[7]); /* 028563B8 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u); /* 028563B8 */ _t189 = _t188 & 0x00000001u; /* 028563B8 */ if (_t189) goto L_028563BC; else goto L_02856120; L_028563BC: ; // 0x28563bc /* 028563BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028563C0 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u); /* 028563C0 */ _t191 = _t190 & 0x00000001u; /* 028563C0 */ if (_t191) goto L_028563C4; else goto L_02856A08; L_028563C4: ; // 0x28563c4 /* 028563C4 */ goto L_02856804; L_028563C8: ; // 0x28563c8 /* 028563C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028563CC */ cpu->r[11] = cpu->r[31]; /* 028563D0 */ _t192 = cpu->cr[0] >> (0x00000001u & 31u); /* 028563D0 */ _t193 = _t192 & 0x00000001u; /* 028563D0 */ if (_t193) goto L_02856A08; else goto L_028563D4; L_028563D4: ; // 0x28563d4 /* 028563D4 */ cpu->f[1] = cpu->f[12]; /* 028563D8 */ cpu->r[5] = cpu->r[29]; /* 028563DC */ cpu->f[3] = cpu->f[13]; /* 028563E0 */ cpu->r[7] = 0x00000000u; L_028563E4: ; // 0x28563e4 /* 028563E4 */ _t194 = cpu->r[26] + 0x00000008u; /* 028563E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t194); /* 028563E8 */ _t195 = cpu->r[27] + 0x0000000Cu; /* 028563E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t195); /* 028563EC */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028563F0 */ cpu->r[12] = cpu->r[10] + cpu->r[7]; /* 028563F4 */ _t196 = cpu->r[12] + 0x00000028u; /* 028563F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t196); /* 028563F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028563FC */ _t197 = cpu->r[8] + cpu->r[26]; /* 028563FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t197); /* 02856400 */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 02856404 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856404 */ _t199 = _t198 & 0x00000001u; /* 02856404 */ if (_t199) goto L_02856448; else goto L_02856408; L_02856408: ; // 0x2856408 /* 02856408 */ cpu->ctr = cpu->r[30]; /* 0285640C */ cpu->r[10] = cpu->r[25]; L_02856410: ; // 0x2856410 /* 02856410 */ _t200 = cpu->r[10] + 0x00000000u; /* 02856410 */ cpu->r[8] = rbrew_read32(cpu->mem, _t200); /* 02856414 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]); /* 02856418 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856418 */ _t202 = _t201 & 0x00000001u; /* 02856418 */ if (_t202) goto L_0285641C; else goto L_02856440; L_0285641C: ; // 0x285641c /* 0285641C */ _t203 = cpu->r[10] + 0x00000008u; /* 0285641C */ cpu->r[8] = rbrew_read32(cpu->mem, _t203); /* 02856420 */ _t204 = cpu->r[10] + 0x00000004u; /* 02856420 */ cpu->r[4] = rbrew_read32(cpu->mem, _t204); /* 02856424 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02856428 */ cpu->r[0] = cpu->r[4] + cpu->r[6]; /* 0285642C */ cpu->r[4] = cpu->r[8] + 0x00000001u; /* 02856430 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02856434 */ _t205 = cpu->r[10] + 0x00000008u; /* 02856434 */ rbrew_write32(cpu->mem, _t205, cpu->r[4]); /* 02856438 */ cpu->r[9] = cpu->r[9] + cpu->r[0]; /* 0285643C */ goto L_02856448; L_02856440: ; // 0x2856440 /* 02856440 */ cpu->r[10] = cpu->r[10] + 0x00000010u; /* 02856444 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02856444 */ _t206 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02856444 */ _t207 = _t206 >> (0x00000002u & 31u); /* 02856444 */ _t208 = _t207 & 0x00000001u; /* 02856444 */ if (_t208) goto L_02856410; else goto L_02856448; L_02856448: ; // 0x2856448 /* 02856448 */ _t209 = cpu->r[23] + 0x00000014u; /* 02856448 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t209); /* 0285644C */ _t210 = cpu->r[12] + 0x00000004u; /* 0285644C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t210); /* 02856450 */ /* nop */ /* 02856454 */ _t211 = cpu->r[12] + 0x00000000u; /* 02856454 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t211); /* 02856458 */ cpu->f[4] = cpu->f[6] * cpu->f[11]; /* 0285645C */ _t212 = cpu->r[23] + 0x0000000Cu; /* 0285645C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t212); /* 02856460 */ _t213 = cpu->r[12] + 0x0000000Cu; /* 02856460 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t213); /* 02856464 */ _t214 = cpu->r[23] + 0x00000010u; /* 02856464 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t214); /* 02856468 */ cpu->f[10] = cpu->f[6] - cpu->f[4]; /* 0285646C */ _t215 = cpu->r[12] + 0x00000008u; /* 0285646C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t215); /* 02856470 */ cpu->r[6] = cpu->r[1] + 0x00000030u; /* 02856474 */ _t216 = cpu->r[23] + 0x00000008u; /* 02856474 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t216); /* 02856478 */ /* nop */ /* 0285647C */ _t217 = cpu->r[12] + 0x0000002Fu; /* 0285647C */ cpu->r[3] = rbrew_read8(cpu->mem, _t217); /* 02856480 */ _t218 = cpu->r[23] + 0x00000003u; /* 02856480 */ cpu->r[0] = rbrew_read8(cpu->mem, _t218); /* 02856484 */ cpu->f[20] = cpu->f[8] * cpu->f[31]; /* 02856488 */ cpu->r[21] = 0x80810000u; /* 0285648C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[3]); /* 02856490 */ cpu->r[21] = cpu->r[21] + 0xFFFF8081u; /* 02856494 */ cpu->f[9] = cpu->f[11] - cpu->f[9]; /* 02856498 */ cpu->r[6] = cpu->r[23] + 0x00000004u; /* 0285649C */ cpu->r[8] = cpu->r[1] + 0x00000034u; /* 028564A0 */ _t219 = cpu->r[1] + 0x00000030u; /* 028564A0 */ cpu->r[22] = rbrew_read32(cpu->mem, _t219); /* 028564A4 */ cpu->r[10] = (uint32_t)(((int64_t)(int32_t)cpu->r[21] * (int64_t)(int32_t)cpu->r[4]) >> 32); /* 028564A8 */ /* nop */ /* 028564AC */ cpu->f[30] = cpu->f[9] + cpu->f[10]; /* 028564B0 */ cpu->r[6] = 0x43300000u; /* 028564B4 */ /* nop */ /* 028564B8 */ _t220 = cpu->r[12] + 0x0000002Cu; /* 028564B8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t220); /* 028564BC */ cpu->f[2] = cpu->f[6] + cpu->f[7]; /* 028564C0 */ cpu->r[10] = cpu->r[4] + cpu->r[10]; /* 028564C4 */ /* nop */ /* 028564C8 */ _t221 = cpu->r[1] + 0x00000008u; /* 028564C8 */ rbrew_write32(cpu->mem, _t221, cpu->r[6]); /* 028564CC */ /* nop */ /* 028564D0 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u; /* 028564D4 */ cpu->r[10] = cpu->r[10] - cpu->r[4]; /* 028564D8 */ _t222 = cpu->r[1] + 0x0000000Cu; /* 028564D8 */ rbrew_write32(cpu->mem, _t222, cpu->r[0]); /* 028564DC */ cpu->r[4] = 0x10130000u; /* 028564E0 */ _t223 = cpu->r[1] + 0x00000008u; /* 028564E0 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t223); /* 028564E4 */ _t224 = cpu->r[4] + 0x00001A28u; /* 028564E4 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t224); /* 028564E8 */ cpu->f[6] = cpu->f[2] + cpu->f[2]; /* 028564EC */ _t225 = cpu->r[23] + 0x00000007u; /* 028564EC */ cpu->r[4] = rbrew_read8(cpu->mem, _t225); /* 028564F0 */ cpu->f[10] = cpu->f[9] - cpu->f[11]; /* 028564F4 */ _t226 = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 028564F4 */ _t227 = cpu->r[22] & 0xFFFFFF00u; /* 028564F4 */ cpu->r[22] = _t227 | _t226; /* 028564F8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[3]); /* 028564FC */ cpu->f[8] = cpu->f[6] + cpu->f[20]; /* 02856500 */ cpu->f[11] = (double)(float)cpu->f[10]; /* 02856504 */ _t228 = cpu->r[23] + 0x00000018u; /* 02856504 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t228); /* 02856508 */ cpu->r[8] = (uint32_t)(((int64_t)(int32_t)cpu->r[21] * (int64_t)(int32_t)cpu->r[10]) >> 32); /* 0285650C */ cpu->f[21] = fma(cpu->f[10], cpu->f[31], cpu->f[11]); /* 02856510 */ cpu->f[11] = cpu->f[8] + cpu->f[21]; /* 02856514 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000001u); /* 02856518 */ cpu->r[8] = cpu->r[10] + cpu->r[8]; /* 0285651C */ /* nop */ /* 02856520 */ /* nop */ /* 02856524 */ _t229 = cpu->r[1] + 0x00000034u; /* 02856524 */ cpu->r[3] = rbrew_read32(cpu->mem, _t229); /* 02856528 */ cpu->r[8] = cpu->r[8] - cpu->r[6]; /* 0285652C */ cpu->f[27] = cpu->f[11] * cpu->f[1]; /* 02856530 */ _t230 = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02856530 */ _t231 = cpu->r[3] & 0xFFFFFF00u; /* 02856530 */ cpu->r[3] = _t231 | _t230; /* 02856534 */ _t232 = cpu->cr[0] >> (0x00000003u & 31u); /* 02856534 */ _t233 = _t232 & 0x00000001u; /* 02856534 */ if (_t233) goto L_02856548; else goto L_02856538; L_02856538: ; // 0x2856538 /* 02856538 */ _t234 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856538 */ _t235 = _t234 & 0x00000001u; /* 02856538 */ if (_t235) goto L_0285655C; else goto L_0285653C; L_0285653C: ; // 0x285653c /* 0285653C */ cpu->f[28] = cpu->f[3]; /* 02856540 */ cpu->f[4] = cpu->f[30] + cpu->f[4]; /* 02856544 */ goto L_02856564; L_02856548: ; // 0x2856548 /* 02856548 */ cpu->f[6] = cpu->f[30] + cpu->f[30]; /* 0285654C */ cpu->f[7] = cpu->f[6] + cpu->f[4]; /* 02856550 */ cpu->f[4] = cpu->f[30] + cpu->f[4]; /* 02856554 */ cpu->f[28] = cpu->f[7] * cpu->f[1]; /* 02856558 */ goto L_02856564; L_0285655C: ; // 0x285655c /* 0285655C */ cpu->f[4] = cpu->f[30] + cpu->f[4]; /* 02856560 */ cpu->f[28] = cpu->f[4]; L_02856564: ; // 0x2856564 /* 02856564 */ _t236 = cpu->r[5] + 0x00000004u; /* 02856564 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t236); /* 02856568 */ cpu->f[5] = cpu->f[30] - cpu->f[28]; /* 0285656C */ _t237 = cpu->r[5] + 0x00000014u; /* 0285656C */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t237); /* 02856570 */ cpu->f[6] = cpu->f[2] + cpu->f[21]; /* 02856574 */ _t238 = cpu->r[5] + 0x0000000Cu; /* 02856574 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t238); /* 02856578 */ cpu->f[8] = cpu->f[31] * cpu->f[17]; /* 0285657C */ _t239 = cpu->r[5] + 0x00000010u; /* 0285657C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t239); /* 02856580 */ _t240 = cpu->r[5] + 0x00000000u; /* 02856580 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t240); /* 02856584 */ cpu->f[30] = cpu->f[7] * cpu->f[11]; /* 02856588 */ cpu->f[29] = -cpu->f[8]; /* 0285658C */ cpu->f[23] = cpu->f[22] * cpu->f[11]; /* 02856590 */ _t241 = cpu->r[5] + 0x00000008u; /* 02856590 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t241); /* 02856594 */ cpu->f[19] = cpu->f[29] * cpu->f[5]; /* 02856598 */ cpu->f[8] = cpu->f[23] * cpu->f[24]; /* 0285659C */ cpu->f[9] = cpu->f[22] * cpu->f[17]; /* 028565A0 */ cpu->f[26] = fma(cpu->f[7], cpu->f[17], -(cpu->f[8])); /* 028565A4 */ cpu->f[10] = cpu->f[7] * cpu->f[24]; /* 028565A8 */ cpu->f[7] = cpu->f[6] - cpu->f[27]; /* 028565AC */ cpu->f[25] = cpu->f[31] * cpu->f[24]; /* 028565B0 */ cpu->f[11] = cpu->f[30] * cpu->f[17]; /* 028565B4 */ cpu->f[8] = fma(cpu->f[25], cpu->f[7], cpu->f[19]); /* 028565B8 */ cpu->f[22] = fma(cpu->f[22], cpu->f[24], -(cpu->f[11])); /* 028565BC */ cpu->f[24] = fma(cpu->f[30], cpu->f[24], cpu->f[9]); /* 028565C0 */ cpu->f[30] = cpu->f[22] * cpu->f[5]; /* 028565C4 */ cpu->r[0] = 0x43300000u; /* 028565C8 */ _t242 = cpu->r[12] + 0x0000002Eu; /* 028565C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t242); /* 028565CC */ cpu->f[23] = fma(cpu->f[23], cpu->f[17], cpu->f[10]); /* 028565D0 */ _t243 = cpu->r[1] + 0x00000008u; /* 028565D0 */ rbrew_write32(cpu->mem, _t243, cpu->r[0]); /* 028565D4 */ cpu->f[9] = fma(cpu->f[24], cpu->f[7], cpu->f[30]); /* 028565D8 */ _t244 = cpu->r[1] + 0x0000000Cu; /* 028565D8 */ rbrew_write32(cpu->mem, _t244, cpu->r[8]); /* 028565DC */ cpu->r[10] = 0x10130000u; /* 028565E0 */ cpu->f[18] = cpu->f[8] + cpu->f[27]; /* 028565E4 */ _t245 = cpu->r[10] + 0x00001A30u; /* 028565E4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t245); /* 028565E8 */ cpu->f[31] = cpu->f[9] + cpu->f[28]; /* 028565EC */ _t246 = cpu->r[1] + 0x00000008u; /* 028565EC */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t246); /* 028565F0 */ cpu->f[5] = cpu->f[23] * cpu->f[5]; /* 028565F4 */ _t247 = cpu->r[5] + 0x00000018u; /* 028565F4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t247); /* 028565F8 */ cpu->f[6] = cpu->f[9] - cpu->f[10]; /* 028565FC */ _t248 = cpu->r[5] + 0x0000001Cu; /* 028565FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t248); /* 02856600 */ cpu->f[7] = fma(cpu->f[26], cpu->f[7], cpu->f[5]); /* 02856604 */ cpu->f[18] = cpu->f[18] + cpu->f[8]; /* 02856608 */ cpu->f[9] = cpu->f[31] + cpu->f[11]; /* 0285660C */ _t249 = cpu->r[5] + 0x00000020u; /* 0285660C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t249); /* 02856610 */ cpu->f[11] = (double)(float)cpu->f[6]; /* 02856614 */ _t250 = cpu->r[12] + 0x00000018u; /* 02856614 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t250); /* 02856618 */ cpu->f[8] = cpu->f[7] + cpu->f[8]; /* 0285661C */ _t251 = cpu->r[12] + 0x0000001Cu; /* 0285661C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t251); /* 02856620 */ _t252 = cpu->r[9] + 0x00000004u; /* 02856620 */ rbrew_write_f32(cpu->mem, _t252, cpu->f[9]); /* 02856624 */ cpu->f[9] = -cpu->f[11]; /* 02856628 */ _t253 = cpu->r[9] + 0x00000000u; /* 02856628 */ rbrew_write_f32(cpu->mem, _t253, cpu->f[18]); /* 0285662C */ cpu->f[31] = cpu->f[2] + cpu->f[20]; /* 02856630 */ cpu->r[10] = cpu->r[1] + 0x00000038u; /* 02856634 */ _t254 = cpu->r[9] + 0x00000008u; /* 02856634 */ rbrew_write_f32(cpu->mem, _t254, cpu->f[8]); /* 02856638 */ cpu->f[8] = cpu->f[9] - cpu->f[0]; /* 0285663C */ _t255 = cpu->r[1] + 0x00000038u; /* 0285663C */ rbrew_write32(cpu->mem, _t255, cpu->r[22]); /* 02856640 */ cpu->f[9] = cpu->f[31] + cpu->f[21]; /* 02856644 */ /* nop */ /* 02856648 */ cpu->r[4] = cpu->r[9] + 0x0000000Cu; /* 0285664C */ /* nop */ /* 02856650 */ cpu->f[9] = cpu->f[9] - cpu->f[27]; /* 02856654 */ _t256 = cpu->r[9] + 0x00000010u; /* 02856654 */ rbrew_write_f32(cpu->mem, _t256, cpu->f[6]); /* 02856658 */ _t257 = cpu->r[9] + 0x00000014u; /* 02856658 */ rbrew_write_f32(cpu->mem, _t257, cpu->f[7]); /* 0285665C */ cpu->f[11] = fma(cpu->f[25], cpu->f[9], cpu->f[19]); /* 02856660 */ _t258 = cpu->r[9] + 0x00000018u; /* 02856660 */ rbrew_write_f32(cpu->mem, _t258, cpu->f[8]); /* 02856664 */ _t259 = cpu->r[12] + 0x0000002Eu; /* 02856664 */ cpu->r[4] = rbrew_read8(cpu->mem, _t259); /* 02856668 */ cpu->f[7] = fma(cpu->f[24], cpu->f[9], cpu->f[30]); /* 0285666C */ _t260 = cpu->r[5] + 0x0000001Cu; /* 0285666C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t260); /* 02856670 */ cpu->f[30] = cpu->f[11] + cpu->f[27]; /* 02856674 */ _t261 = cpu->r[1] + 0x0000000Cu; /* 02856674 */ rbrew_write32(cpu->mem, _t261, cpu->r[4]); /* 02856678 */ cpu->f[6] = fma(cpu->f[26], cpu->f[9], cpu->f[5]); /* 0285667C */ _t262 = cpu->r[1] + 0x00000008u; /* 0285667C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t262); /* 02856680 */ cpu->f[5] = cpu->f[7] + cpu->f[28]; /* 02856684 */ cpu->f[11] = cpu->f[9] - cpu->f[10]; /* 02856688 */ _t263 = cpu->r[5] + 0x00000018u; /* 02856688 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t263); /* 0285668C */ cpu->f[9] = cpu->f[5] + cpu->f[8]; /* 02856690 */ _t264 = cpu->r[12] + 0x0000001Cu; /* 02856690 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t264); /* 02856694 */ cpu->f[8] = (double)(float)cpu->f[11]; /* 02856698 */ _t265 = cpu->r[12] + 0x00000020u; /* 02856698 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t265); /* 0285669C */ cpu->f[30] = cpu->f[30] + cpu->f[7]; /* 028566A0 */ _t266 = cpu->r[5] + 0x00000020u; /* 028566A0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t266); /* 028566A4 */ cpu->f[8] = -cpu->f[8]; /* 028566A8 */ _t267 = cpu->r[9] + 0x00000020u; /* 028566A8 */ rbrew_write_f32(cpu->mem, _t267, cpu->f[9]); /* 028566AC */ cpu->f[6] = cpu->f[6] + cpu->f[7]; /* 028566B0 */ _t268 = cpu->r[9] + 0x0000001Cu; /* 028566B0 */ rbrew_write_f32(cpu->mem, _t268, cpu->f[30]); /* 028566B4 */ cpu->f[9] = cpu->f[8] - cpu->f[0]; /* 028566B8 */ cpu->r[8] = cpu->r[1] + 0x0000003Cu; /* 028566BC */ _t269 = cpu->r[9] + 0x00000024u; /* 028566BC */ rbrew_write_f32(cpu->mem, _t269, cpu->f[6]); /* 028566C0 */ cpu->f[8] = cpu->f[4] - cpu->f[28]; /* 028566C4 */ _t270 = cpu->r[1] + 0x0000003Cu; /* 028566C4 */ rbrew_write32(cpu->mem, _t270, cpu->r[22]); /* 028566C8 */ /* nop */ /* 028566CC */ cpu->r[10] = cpu->r[9] + 0x00000028u; /* 028566D0 */ cpu->f[4] = cpu->f[22] * cpu->f[8]; /* 028566D4 */ /* nop */ /* 028566D8 */ _t271 = cpu->r[9] + 0x00000034u; /* 028566D8 */ rbrew_write_f32(cpu->mem, _t271, cpu->f[9]); /* 028566DC */ cpu->f[11] = cpu->f[2] - cpu->f[27]; /* 028566E0 */ _t272 = cpu->r[9] + 0x0000002Cu; /* 028566E0 */ rbrew_write_f32(cpu->mem, _t272, cpu->f[5]); /* 028566E4 */ cpu->f[5] = cpu->f[23] * cpu->f[8]; /* 028566E8 */ _t273 = cpu->r[9] + 0x00000030u; /* 028566E8 */ rbrew_write_f32(cpu->mem, _t273, cpu->f[21]); /* 028566EC */ _t274 = cpu->r[12] + 0x0000002Eu; /* 028566EC */ cpu->r[6] = rbrew_read8(cpu->mem, _t274); /* 028566F0 */ cpu->f[29] = cpu->f[29] * cpu->f[8]; /* 028566F4 */ cpu->f[7] = fma(cpu->f[26], cpu->f[11], cpu->f[5]); /* 028566F8 */ cpu->f[2] = fma(cpu->f[25], cpu->f[11], cpu->f[29]); /* 028566FC */ _t275 = cpu->r[1] + 0x0000000Cu; /* 028566FC */ rbrew_write32(cpu->mem, _t275, cpu->r[6]); /* 02856700 */ cpu->f[6] = fma(cpu->f[24], cpu->f[11], cpu->f[4]); /* 02856704 */ _t276 = cpu->r[1] + 0x00000008u; /* 02856704 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t276); /* 02856708 */ cpu->f[30] = cpu->f[2] + cpu->f[27]; /* 0285670C */ _t277 = cpu->r[5] + 0x00000018u; /* 0285670C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t277); /* 02856710 */ cpu->f[11] = cpu->f[9] - cpu->f[10]; /* 02856714 */ _t278 = cpu->r[5] + 0x00000020u; /* 02856714 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t278); /* 02856718 */ cpu->f[23] = cpu->f[30] + cpu->f[2]; /* 0285671C */ cpu->f[9] = (double)(float)cpu->f[11]; /* 02856720 */ _t279 = cpu->r[12] + 0x00000018u; /* 02856720 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t279); /* 02856724 */ cpu->f[11] = cpu->f[6] + cpu->f[28]; /* 02856728 */ _t280 = cpu->r[5] + 0x0000001Cu; /* 02856728 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t280); /* 0285672C */ cpu->f[7] = cpu->f[7] + cpu->f[8]; /* 02856730 */ _t281 = cpu->r[12] + 0x00000024u; /* 02856730 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t281); /* 02856734 */ cpu->f[8] = cpu->f[11] + cpu->f[6]; /* 02856738 */ _t282 = cpu->r[9] + 0x00000038u; /* 02856738 */ rbrew_write_f32(cpu->mem, _t282, cpu->f[23]); /* 0285673C */ _t283 = cpu->r[9] + 0x00000040u; /* 0285673C */ rbrew_write_f32(cpu->mem, _t283, cpu->f[7]); /* 02856740 */ cpu->f[9] = -cpu->f[9]; /* 02856744 */ _t284 = cpu->r[9] + 0x0000003Cu; /* 02856744 */ rbrew_write_f32(cpu->mem, _t284, cpu->f[8]); /* 02856748 */ cpu->r[6] = cpu->r[1] + 0x00000040u; /* 0285674C */ _t285 = cpu->r[1] + 0x00000040u; /* 0285674C */ rbrew_write32(cpu->mem, _t285, cpu->r[3]); /* 02856750 */ /* nop */ /* 02856754 */ cpu->f[11] = cpu->f[9] - cpu->f[0]; /* 02856758 */ cpu->r[8] = cpu->r[9] + 0x00000044u; /* 0285675C */ /* nop */ /* 02856760 */ _t286 = cpu->r[9] + 0x00000048u; /* 02856760 */ rbrew_write_f32(cpu->mem, _t286, cpu->f[30]); /* 02856764 */ cpu->f[7] = cpu->f[31] - cpu->f[27]; /* 02856768 */ _t287 = cpu->r[9] + 0x00000050u; /* 02856768 */ rbrew_write_f32(cpu->mem, _t287, cpu->f[11]); /* 0285676C */ _t288 = cpu->r[9] + 0x0000004Cu; /* 0285676C */ rbrew_write_f32(cpu->mem, _t288, cpu->f[2]); /* 02856770 */ cpu->f[6] = fma(cpu->f[25], cpu->f[7], cpu->f[29]); /* 02856774 */ _t289 = cpu->r[12] + 0x0000002Eu; /* 02856774 */ cpu->r[6] = rbrew_read8(cpu->mem, _t289); /* 02856778 */ cpu->f[9] = fma(cpu->f[24], cpu->f[7], cpu->f[4]); /* 0285677C */ _t290 = cpu->r[5] + 0x00000020u; /* 0285677C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t290); /* 02856780 */ cpu->f[7] = fma(cpu->f[26], cpu->f[7], cpu->f[5]); /* 02856784 */ _t291 = cpu->r[1] + 0x0000000Cu; /* 02856784 */ rbrew_write32(cpu->mem, _t291, cpu->r[6]); /* 02856788 */ cpu->f[11] = cpu->f[9] + cpu->f[28]; /* 0285678C */ _t292 = cpu->r[1] + 0x00000008u; /* 0285678C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t292); /* 02856790 */ cpu->f[8] = cpu->f[7] + cpu->f[8]; /* 02856794 */ cpu->f[10] = cpu->f[9] - cpu->f[10]; /* 02856798 */ _t293 = cpu->r[12] + 0x00000024u; /* 02856798 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t293); /* 0285679C */ cpu->f[5] = cpu->f[6] + cpu->f[27]; /* 028567A0 */ _t294 = cpu->r[5] + 0x0000001Cu; /* 028567A0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t294); /* 028567A4 */ cpu->f[9] = (double)(float)cpu->f[10]; /* 028567A8 */ _t295 = cpu->r[5] + 0x00000018u; /* 028567A8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t295); /* 028567AC */ cpu->f[4] = cpu->f[11] + cpu->f[6]; /* 028567B0 */ _t296 = cpu->r[12] + 0x00000020u; /* 028567B0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t296); /* 028567B4 */ cpu->f[10] = cpu->f[5] + cpu->f[10]; /* 028567B8 */ _t297 = cpu->r[9] + 0x0000005Cu; /* 028567B8 */ rbrew_write_f32(cpu->mem, _t297, cpu->f[8]); /* 028567BC */ _t298 = cpu->r[9] + 0x00000058u; /* 028567BC */ rbrew_write_f32(cpu->mem, _t298, cpu->f[4]); /* 028567C0 */ cpu->f[11] = -cpu->f[9]; /* 028567C4 */ _t299 = cpu->r[9] + 0x00000054u; /* 028567C4 */ rbrew_write_f32(cpu->mem, _t299, cpu->f[10]); /* 028567C8 */ cpu->r[8] = cpu->r[1] + 0x00000044u; /* 028567CC */ _t300 = cpu->r[1] + 0x00000044u; /* 028567CC */ rbrew_write32(cpu->mem, _t300, cpu->r[3]); /* 028567D0 */ /* nop */ /* 028567D4 */ cpu->f[8] = cpu->f[11] - cpu->f[0]; /* 028567D8 */ cpu->r[10] = cpu->r[9] + 0x00000060u; /* 028567DC */ /* nop */ /* 028567E0 */ cpu->r[7] = cpu->r[7] + 0x00000030u; /* 028567E4 */ _t301 = cpu->r[9] + 0x00000064u; /* 028567E4 */ rbrew_write_f32(cpu->mem, _t301, cpu->f[6]); /* 028567E8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 028567E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028567EC */ _t302 = cpu->r[9] + 0x0000006Cu; /* 028567EC */ rbrew_write_f32(cpu->mem, _t302, cpu->f[8]); /* 028567F0 */ cpu->r[5] = cpu->r[5] + 0x0000002Cu; /* 028567F4 */ _t303 = cpu->r[9] + 0x00000068u; /* 028567F4 */ rbrew_write_f32(cpu->mem, _t303, cpu->f[7]); /* 028567F8 */ _t304 = cpu->cr[0] >> (0x00000001u & 31u); /* 028567F8 */ _t305 = _t304 & 0x00000001u; /* 028567F8 */ if (_t305) goto L_028567FC; else goto L_028563E4; L_028567FC: ; // 0x28567fc /* 028567FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02856800 */ _t306 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856800 */ _t307 = _t306 & 0x00000001u; /* 02856800 */ if (_t307) goto L_02856804; else goto L_02856A08; L_02856804: ; // 0x2856804 /* 02856804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02856808 */ _t308 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856808 */ _t309 = _t308 & 0x00000001u; /* 02856808 */ if (_t309) goto L_02856F08; else goto L_0285680C; L_0285680C: ; // 0x285680c /* 0285680C */ cpu->r[6] = cpu->r[30] + 0xFFFFFFFFu; /* 02856810 */ cpu->r[9] = 0x00000000u; L_02856814: ; // 0x2856814 /* 02856814 */ _t310 = cpu->r[27] + 0x0000000Cu; /* 02856814 */ cpu->r[7] = rbrew_read32(cpu->mem, _t310); /* 02856818 */ _t311 = cpu->r[26] + 0x00000008u; /* 02856818 */ cpu->r[8] = rbrew_read32(cpu->mem, _t311); /* 0285681C */ cpu->r[7] = cpu->r[7] + cpu->r[9]; /* 02856820 */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02856824 */ _t312 = cpu->r[7] + 0x00000028u; /* 02856824 */ cpu->r[11] = rbrew_read32(cpu->mem, _t312); /* 02856828 */ cpu->r[0] = cpu->r[6] + 0x00000001u; /* 0285682C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02856830 */ _t313 = cpu->r[5] + cpu->r[26]; /* 02856830 */ cpu->r[10] = rbrew_read32(cpu->mem, _t313); /* 02856834 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 02856838 */ _t314 = cpu->cr[0] >> (0x00000003u & 31u); /* 02856838 */ _t315 = _t314 & 0x00000001u; /* 02856838 */ if (_t315) goto L_02856880; else goto L_0285683C; L_0285683C: ; // 0x285683c /* 0285683C */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02856840 */ cpu->ctr = cpu->r[0]; /* 02856844 */ cpu->r[4] = cpu->r[25] + cpu->r[11]; L_02856848: ; // 0x2856848 /* 02856848 */ _t316 = cpu->r[4] + 0x00000000u; /* 02856848 */ cpu->r[5] = rbrew_read32(cpu->mem, _t316); /* 0285684C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]); /* 02856850 */ _t317 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856850 */ _t318 = _t317 & 0x00000001u; /* 02856850 */ if (_t318) goto L_02856854; else goto L_02856878; L_02856854: ; // 0x2856854 /* 02856854 */ _t319 = cpu->r[4] + 0x00000008u; /* 02856854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t319); /* 02856858 */ _t320 = cpu->r[4] + 0x00000004u; /* 02856858 */ cpu->r[5] = rbrew_read32(cpu->mem, _t320); /* 0285685C */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02856860 */ cpu->r[11] = cpu->r[5] + cpu->r[8]; /* 02856864 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 02856868 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu); /* 0285686C */ _t321 = cpu->r[4] + 0x00000008u; /* 0285686C */ rbrew_write32(cpu->mem, _t321, cpu->r[0]); /* 02856870 */ cpu->r[10] = cpu->r[10] + cpu->r[8]; /* 02856874 */ goto L_02856880; L_02856878: ; // 0x2856878 /* 02856878 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFF0u; /* 0285687C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285687C */ _t322 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285687C */ _t323 = _t322 >> (0x00000002u & 31u); /* 0285687C */ _t324 = _t323 & 0x00000001u; /* 0285687C */ if (_t324) goto L_02856848; else goto L_02856880; L_02856880: ; // 0x2856880 /* 02856880 */ _t325 = cpu->r[7] + 0x0000002Cu; /* 02856880 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t325); /* 02856884 */ cpu->r[5] = 0x43300000u; /* 02856888 */ _t326 = cpu->r[7] + 0x0000002Eu; /* 02856888 */ cpu->r[0] = rbrew_read8(cpu->mem, _t326); /* 0285688C */ cpu->r[8] = cpu->r[4] ^ 0x80000000u; /* 02856890 */ _t327 = cpu->r[1] + 0x00000008u; /* 02856890 */ rbrew_write32(cpu->mem, _t327, cpu->r[5]); /* 02856894 */ _t328 = cpu->r[7] + 0x00000004u; /* 02856894 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t328); /* 02856898 */ _t329 = cpu->r[1] + 0x0000000Cu; /* 02856898 */ rbrew_write32(cpu->mem, _t329, cpu->r[8]); /* 0285689C */ cpu->r[5] = 0x10130000u; /* 028568A0 */ _t330 = cpu->r[1] + 0x00000008u; /* 028568A0 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t330); /* 028568A4 */ _t331 = cpu->r[5] + 0x00001A28u; /* 028568A4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t331); /* 028568A8 */ _t332 = cpu->r[1] + 0x0000000Cu; /* 028568A8 */ rbrew_write32(cpu->mem, _t332, cpu->r[0]); /* 028568AC */ _t333 = cpu->r[1] + 0x00000008u; /* 028568AC */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t333); /* 028568B0 */ cpu->f[0] = cpu->f[9] - cpu->f[10]; /* 028568B4 */ _t334 = cpu->r[7] + 0x0000001Cu; /* 028568B4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t334); /* 028568B8 */ _t335 = cpu->r[7] + 0x00000018u; /* 028568B8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t335); /* 028568BC */ cpu->f[25] = (double)(float)cpu->f[0]; /* 028568C0 */ _t336 = cpu->r[7] + 0x00000008u; /* 028568C0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t336); /* 028568C4 */ cpu->r[5] = 0x10130000u; /* 028568C8 */ _t337 = cpu->r[7] + 0x0000000Cu; /* 028568C8 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t337); /* 028568CC */ cpu->f[8] = cpu->f[30] + cpu->f[25]; /* 028568D0 */ _t338 = cpu->r[5] + 0x00001A30u; /* 028568D0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t338); /* 028568D4 */ _t339 = cpu->r[7] + 0x00000000u; /* 028568D4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t339); /* 028568D8 */ _t340 = cpu->r[10] + 0x00000004u; /* 028568D8 */ rbrew_write_f32(cpu->mem, _t340, cpu->f[3]); /* 028568DC */ cpu->r[11] = cpu->r[7] + 0x00000010u; /* 028568E0 */ _t341 = cpu->r[10] + 0x00000008u; /* 028568E0 */ rbrew_write_f32(cpu->mem, _t341, cpu->f[13]); /* 028568E4 */ cpu->f[10] = cpu->f[7] - cpu->f[11]; /* 028568E8 */ _t342 = cpu->r[10] + 0x00000000u; /* 028568E8 */ rbrew_write_f32(cpu->mem, _t342, cpu->f[8]); /* 028568EC */ /* nop */ /* 028568F0 */ cpu->r[5] = cpu->r[10] + 0x0000000Cu; /* 028568F4 */ cpu->f[0] = (double)(float)cpu->f[10]; /* 028568F8 */ /* nop */ /* 028568FC */ _t343 = cpu->r[10] + 0x00000010u; /* 028568FC */ rbrew_write_f32(cpu->mem, _t343, cpu->f[9]); /* 02856900 */ _t344 = cpu->r[10] + 0x00000014u; /* 02856900 */ rbrew_write_f32(cpu->mem, _t344, cpu->f[12]); /* 02856904 */ cpu->f[2] = cpu->f[30] + cpu->f[2]; /* 02856908 */ _t345 = cpu->r[10] + 0x00000018u; /* 02856908 */ rbrew_write_f32(cpu->mem, _t345, cpu->f[0]); /* 0285690C */ _t346 = cpu->r[7] + 0x0000002Eu; /* 0285690C */ cpu->r[0] = rbrew_read8(cpu->mem, _t346); /* 02856910 */ _t347 = cpu->r[7] + 0x0000001Cu; /* 02856910 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t347); /* 02856914 */ cpu->f[9] = cpu->f[2] + cpu->f[25]; /* 02856918 */ _t348 = cpu->r[7] + 0x00000020u; /* 02856918 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t348); /* 0285691C */ _t349 = cpu->r[1] + 0x0000000Cu; /* 0285691C */ rbrew_write32(cpu->mem, _t349, cpu->r[0]); /* 02856920 */ _t350 = cpu->r[1] + 0x00000008u; /* 02856920 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t350); /* 02856924 */ _t351 = cpu->r[10] + 0x00000020u; /* 02856924 */ rbrew_write_f32(cpu->mem, _t351, cpu->f[3]); /* 02856928 */ cpu->f[8] = cpu->f[7] - cpu->f[11]; /* 0285692C */ _t352 = cpu->r[10] + 0x0000001Cu; /* 0285692C */ rbrew_write_f32(cpu->mem, _t352, cpu->f[9]); /* 02856930 */ _t353 = cpu->r[10] + 0x00000024u; /* 02856930 */ rbrew_write_f32(cpu->mem, _t353, cpu->f[13]); /* 02856934 */ /* nop */ /* 02856938 */ cpu->r[5] = cpu->r[10] + 0x00000028u; /* 0285693C */ cpu->f[9] = (double)(float)cpu->f[8]; /* 02856940 */ /* nop */ /* 02856944 */ _t354 = cpu->r[10] + 0x00000030u; /* 02856944 */ rbrew_write_f32(cpu->mem, _t354, cpu->f[6]); /* 02856948 */ _t355 = cpu->r[10] + 0x00000034u; /* 02856948 */ rbrew_write_f32(cpu->mem, _t355, cpu->f[9]); /* 0285694C */ _t356 = cpu->r[10] + 0x0000002Cu; /* 0285694C */ rbrew_write_f32(cpu->mem, _t356, cpu->f[10]); /* 02856950 */ _t357 = cpu->r[7] + 0x00000018u; /* 02856950 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t357); /* 02856954 */ cpu->f[29] = cpu->f[3] + cpu->f[1]; /* 02856958 */ _t358 = cpu->r[7] + 0x0000002Eu; /* 02856958 */ cpu->r[5] = rbrew_read8(cpu->mem, _t358); /* 0285695C */ _t359 = cpu->r[7] + 0x00000024u; /* 0285695C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t359); /* 02856960 */ _t360 = cpu->r[10] + 0x0000003Cu; /* 02856960 */ rbrew_write_f32(cpu->mem, _t360, cpu->f[29]); /* 02856964 */ _t361 = cpu->r[1] + 0x0000000Cu; /* 02856964 */ rbrew_write32(cpu->mem, _t361, cpu->r[5]); /* 02856968 */ _t362 = cpu->r[1] + 0x00000008u; /* 02856968 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t362); /* 0285696C */ _t363 = cpu->r[10] + 0x00000038u; /* 0285696C */ rbrew_write_f32(cpu->mem, _t363, cpu->f[30]); /* 02856970 */ cpu->r[4] = cpu->r[7] + 0x00000014u; /* 02856974 */ cpu->f[8] = cpu->f[7] - cpu->f[11]; /* 02856978 */ _t364 = cpu->r[10] + 0x00000040u; /* 02856978 */ rbrew_write_f32(cpu->mem, _t364, cpu->f[13]); /* 0285697C */ /* nop */ /* 02856980 */ cpu->r[5] = cpu->r[10] + 0x00000044u; /* 02856984 */ cpu->f[8] = (double)(float)cpu->f[8]; /* 02856988 */ /* nop */ /* 0285698C */ _t365 = cpu->r[10] + 0x00000048u; /* 0285698C */ rbrew_write_f32(cpu->mem, _t365, cpu->f[0]); /* 02856990 */ _t366 = cpu->r[10] + 0x00000050u; /* 02856990 */ rbrew_write_f32(cpu->mem, _t366, cpu->f[8]); /* 02856994 */ _t367 = cpu->r[10] + 0x0000004Cu; /* 02856994 */ rbrew_write_f32(cpu->mem, _t367, cpu->f[6]); /* 02856998 */ _t368 = cpu->r[7] + 0x0000002Eu; /* 02856998 */ cpu->r[0] = rbrew_read8(cpu->mem, _t368); /* 0285699C */ _t369 = cpu->r[7] + 0x00000020u; /* 0285699C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t369); /* 028569A0 */ _t370 = cpu->r[1] + 0x0000000Cu; /* 028569A0 */ rbrew_write32(cpu->mem, _t370, cpu->r[0]); /* 028569A4 */ _t371 = cpu->r[7] + 0x00000024u; /* 028569A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t371); /* 028569A8 */ _t372 = cpu->r[1] + 0x00000008u; /* 028569A8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t372); /* 028569AC */ _t373 = cpu->r[10] + 0x00000058u; /* 028569AC */ rbrew_write_f32(cpu->mem, _t373, cpu->f[29]); /* 028569B0 */ _t374 = cpu->r[10] + 0x0000005Cu; /* 028569B0 */ rbrew_write_f32(cpu->mem, _t374, cpu->f[13]); /* 028569B4 */ cpu->f[0] = cpu->f[12] - cpu->f[11]; /* 028569B8 */ _t375 = cpu->r[10] + 0x00000054u; /* 028569B8 */ rbrew_write_f32(cpu->mem, _t375, cpu->f[2]); /* 028569BC */ /* nop */ /* 028569C0 */ cpu->r[11] = cpu->r[10] + 0x00000060u; /* 028569C4 */ /* nop */ /* 028569C8 */ cpu->f[10] = (double)(float)cpu->f[0]; /* 028569CC */ _t376 = cpu->r[10] + 0x00000064u; /* 028569CC */ rbrew_write_f32(cpu->mem, _t376, cpu->f[8]); /* 028569D0 */ cpu->r[9] = cpu->r[9] + 0x00000030u; /* 028569D4 */ _t377 = cpu->r[10] + 0x00000068u; /* 028569D4 */ rbrew_write_f32(cpu->mem, _t377, cpu->f[9]); /* 028569D8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028569D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028569DC */ _t378 = cpu->r[10] + 0x0000006Cu; /* 028569DC */ rbrew_write_f32(cpu->mem, _t378, cpu->f[10]); /* 028569E0 */ _t379 = cpu->cr[0] >> (0x00000001u & 31u); /* 028569E0 */ _t380 = _t379 & 0x00000001u; /* 028569E0 */ if (_t380) goto L_028569E4; else goto L_02856814; L_028569E4: ; // 0x28569e4 /* 028569E4 */ cpu->r[4] = 0x00000001u; /* 028569E8 */ _t381 = cpu->r[27] + 0x00000011u; /* 028569E8 */ rbrew_write8(cpu->mem, _t381, (uint8_t)cpu->r[4]); /* 028569EC */ _t382 = cpu->r[26] + 0x00000008u; /* 028569EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t382); /* 028569F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028569F4 */ cpu->r[3] = 0x00000040u; /* 028569F8 */ _t383 = cpu->r[10] + cpu->r[26]; /* 028569F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t383); /* 028569FC */ cpu->r[5] = cpu->r[24]; /* 02856A00 */ rbrew_dispatch(cpu, 0x02d05c98u); /* 02856A04 */ goto L_02856F28; L_02856A08: ; // 0x2856a08 /* 02856A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02856A0C */ _t384 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856A0C */ _t385 = _t384 & 0x00000001u; /* 02856A0C */ if (_t385) goto L_02856F08; else goto L_02856A10; L_02856A10: ; // 0x2856a10 /* 02856A10 */ cpu->r[6] = cpu->r[30] + 0xFFFFFFFFu; /* 02856A14 */ cpu->r[11] = 0x00000000u; L_02856A18: ; // 0x2856a18 /* 02856A18 */ _t386 = cpu->r[27] + 0x0000000Cu; /* 02856A18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t386); /* 02856A1C */ _t387 = cpu->r[26] + 0x00000008u; /* 02856A1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t387); /* 02856A20 */ cpu->r[7] = cpu->r[7] + cpu->r[11]; /* 02856A24 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02856A28 */ _t388 = cpu->r[7] + 0x00000028u; /* 02856A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t388); /* 02856A2C */ cpu->r[9] = cpu->r[6] + 0x00000001u; /* 02856A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02856A34 */ _t389 = cpu->r[10] + cpu->r[26]; /* 02856A34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t389); /* 02856A38 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 02856A3C */ _t390 = cpu->cr[0] >> (0x00000003u & 31u); /* 02856A3C */ _t391 = _t390 & 0x00000001u; /* 02856A3C */ if (_t391) goto L_02856AE8; else goto L_02856A40; L_02856A40: ; // 0x2856a40 /* 02856A40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02856A44 */ cpu->ctr = cpu->r[9]; /* 02856A48 */ cpu->r[12] = cpu->r[25] + cpu->r[0]; L_02856A4C: ; // 0x2856a4c /* 02856A4C */ _t392 = cpu->r[12] + 0x00000000u; /* 02856A4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t392); /* 02856A50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]); /* 02856A54 */ _t393 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856A54 */ _t394 = _t393 & 0x00000001u; /* 02856A54 */ if (_t394) goto L_02856A58; else goto L_02856AE0; L_02856A58: ; // 0x2856a58 /* 02856A58 */ _t395 = cpu->r[12] + 0x00000008u; /* 02856A58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t395); /* 02856A5C */ _t396 = cpu->r[12] + 0x00000004u; /* 02856A5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t396); /* 02856A60 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02856A64 */ cpu->r[0] = cpu->r[4] + cpu->r[8]; /* 02856A68 */ cpu->r[4] = cpu->r[9] + 0x00000001u; /* 02856A6C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02856A70 */ _t397 = cpu->r[12] + 0x00000008u; /* 02856A70 */ rbrew_write32(cpu->mem, _t397, cpu->r[4]); /* 02856A74 */ _t398 = cpu->r[7] + 0x0000002Cu; /* 02856A74 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t398); /* 02856A78 */ cpu->r[5] = 0x43300000u; /* 02856A7C */ _t399 = cpu->r[7] + 0x00000008u; /* 02856A7C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t399); /* 02856A80 */ cpu->r[10] = cpu->r[10] + cpu->r[9]; /* 02856A84 */ cpu->r[9] = 0x10130000u; /* 02856A88 */ _t400 = cpu->r[1] + 0x00000008u; /* 02856A88 */ rbrew_write32(cpu->mem, _t400, cpu->r[5]); /* 02856A8C */ cpu->r[0] = cpu->r[0] ^ 0x80000000u; /* 02856A90 */ _t401 = cpu->r[9] + 0x00001A28u; /* 02856A90 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t401); /* 02856A94 */ _t402 = cpu->r[1] + 0x0000000Cu; /* 02856A94 */ rbrew_write32(cpu->mem, _t402, cpu->r[0]); /* 02856A98 */ _t403 = cpu->r[1] + 0x00000008u; /* 02856A98 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t403); /* 02856A9C */ cpu->f[7] = cpu->f[30] + cpu->f[30]; /* 02856AA0 */ _t404 = cpu->r[7] + 0x00000000u; /* 02856AA0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t404); /* 02856AA4 */ cpu->f[6] = cpu->f[0] - cpu->f[9]; /* 02856AA8 */ _t405 = cpu->r[7] + 0x0000000Cu; /* 02856AA8 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t405); /* 02856AAC */ cpu->f[10] = cpu->f[7] + cpu->f[2]; /* 02856AB0 */ cpu->f[25] = (double)(float)cpu->f[6]; /* 02856AB4 */ cpu->r[8] = cpu->r[7] + 0x00000010u; /* 02856AB8 */ cpu->r[3] = cpu->r[7] + 0x00000014u; /* 02856ABC */ cpu->f[0] = cpu->f[10] + cpu->f[25]; /* 02856AC0 */ _t406 = cpu->r[7] + 0x00000004u; /* 02856AC0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t406); /* 02856AC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000001u); /* 02856AC8 */ cpu->f[4] = cpu->f[0] * cpu->f[12]; /* 02856ACC */ _t407 = cpu->cr[0] >> (0x00000003u & 31u); /* 02856ACC */ _t408 = _t407 & 0x00000001u; /* 02856ACC */ if (_t408) goto L_02856B50; else goto L_02856AD0; L_02856AD0: ; // 0x2856ad0 /* 02856AD0 */ _t409 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856AD0 */ _t410 = _t409 & 0x00000001u; /* 02856AD0 */ if (_t410) goto L_02856AD4; else goto L_02856B44; L_02856AD4: ; // 0x2856ad4 /* 02856AD4 */ cpu->f[29] = cpu->f[3] + cpu->f[1]; /* 02856AD8 */ cpu->f[5] = cpu->f[29]; /* 02856ADC */ goto L_02856B60; L_02856AE0: ; // 0x2856ae0 /* 02856AE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFF0u; /* 02856AE4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02856AE4 */ _t411 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02856AE4 */ _t412 = _t411 >> (0x00000002u & 31u); /* 02856AE4 */ _t413 = _t412 & 0x00000001u; /* 02856AE4 */ if (_t413) goto L_02856A4C; else goto L_02856AE8; L_02856AE8: ; // 0x2856ae8 /* 02856AE8 */ _t414 = cpu->r[7] + 0x0000002Cu; /* 02856AE8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t414); /* 02856AEC */ cpu->r[9] = 0x10130000u; /* 02856AF0 */ _t415 = cpu->r[7] + 0x00000008u; /* 02856AF0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t415); /* 02856AF4 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u; /* 02856AF8 */ _t416 = cpu->r[9] + 0x00001A28u; /* 02856AF8 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t416); /* 02856AFC */ cpu->r[5] = 0x43300000u; /* 02856B00 */ _t417 = cpu->r[1] + 0x0000000Cu; /* 02856B00 */ rbrew_write32(cpu->mem, _t417, cpu->r[0]); /* 02856B04 */ _t418 = cpu->r[1] + 0x00000008u; /* 02856B04 */ rbrew_write32(cpu->mem, _t418, cpu->r[5]); /* 02856B08 */ _t419 = cpu->r[1] + 0x00000008u; /* 02856B08 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t419); /* 02856B0C */ cpu->f[7] = cpu->f[30] + cpu->f[30]; /* 02856B10 */ _t420 = cpu->r[7] + 0x00000000u; /* 02856B10 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t420); /* 02856B14 */ cpu->f[6] = cpu->f[0] - cpu->f[9]; /* 02856B18 */ _t421 = cpu->r[7] + 0x00000004u; /* 02856B18 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t421); /* 02856B1C */ cpu->f[10] = cpu->f[7] + cpu->f[2]; /* 02856B20 */ cpu->f[25] = (double)(float)cpu->f[6]; /* 02856B24 */ cpu->r[3] = cpu->r[7] + 0x00000014u; /* 02856B28 */ cpu->r[8] = cpu->r[7] + 0x00000010u; /* 02856B2C */ cpu->f[0] = cpu->f[10] + cpu->f[25]; /* 02856B30 */ _t422 = cpu->r[7] + 0x0000000Cu; /* 02856B30 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t422); /* 02856B34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000001u); /* 02856B38 */ cpu->f[4] = cpu->f[0] * cpu->f[12]; /* 02856B3C */ _t423 = cpu->cr[0] >> (0x00000003u & 31u); /* 02856B3C */ _t424 = _t423 & 0x00000001u; /* 02856B3C */ if (_t424) goto L_02856B50; else goto L_02856B40; L_02856B40: ; // 0x2856b40 /* 02856B40 */ _t425 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856B40 */ _t426 = _t425 & 0x00000001u; /* 02856B40 */ if (_t426) goto L_02856AD4; else goto L_02856B44; L_02856B44: ; // 0x2856b44 /* 02856B44 */ cpu->f[5] = cpu->f[13]; /* 02856B48 */ cpu->f[29] = cpu->f[3] + cpu->f[1]; /* 02856B4C */ goto L_02856B60; L_02856B50: ; // 0x2856b50 /* 02856B50 */ cpu->f[8] = cpu->f[3] + cpu->f[3]; /* 02856B54 */ cpu->f[10] = cpu->f[8] + cpu->f[1]; /* 02856B58 */ cpu->f[29] = cpu->f[3] + cpu->f[1]; /* 02856B5C */ cpu->f[5] = cpu->f[10] * cpu->f[12]; L_02856B60: ; // 0x2856b60 /* 02856B60 */ _t427 = cpu->r[29] + 0x0000000Cu; /* 02856B60 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t427); /* 02856B64 */ cpu->f[10] = cpu->f[30] + cpu->f[25]; /* 02856B68 */ _t428 = cpu->r[29] + 0x00000004u; /* 02856B68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t428); /* 02856B6C */ cpu->f[9] = cpu->f[3] - cpu->f[5]; /* 02856B70 */ _t429 = cpu->r[29] + 0x00000010u; /* 02856B70 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t429); /* 02856B74 */ cpu->f[10] = cpu->f[10] - cpu->f[4]; /* 02856B78 */ _t430 = cpu->r[29] + 0x00000026u; /* 02856B78 */ cpu->r[5] = rbrew_read8(cpu->mem, _t430); /* 02856B7C */ cpu->f[8] = cpu->f[6] * cpu->f[11]; /* 02856B80 */ _t431 = cpu->r[29] + 0x00000000u; /* 02856B80 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t431); /* 02856B84 */ _t432 = cpu->r[29] + 0x00000014u; /* 02856B84 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t432); /* 02856B88 */ cpu->f[7] = cpu->f[28] * cpu->f[11]; /* 02856B8C */ _t433 = cpu->r[29] + 0x00000008u; /* 02856B8C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t433); /* 02856B90 */ _t434 = cpu->r[29] + 0x00000024u; /* 02856B90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t434); /* 02856B94 */ cpu->f[3] = cpu->f[28] * cpu->f[23]; /* 02856B98 */ _t435 = cpu->r[8] + 0x00000000u; /* 02856B98 */ cpu->r[9] = rbrew_read8(cpu->mem, _t435); /* 02856B9C */ cpu->r[30] = 0x80810000u; /* 02856BA0 */ cpu->f[1] = cpu->f[0] * cpu->f[24]; /* 02856BA4 */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[0]); /* 02856BA8 */ cpu->f[31] = fma(cpu->f[8], cpu->f[24], cpu->f[3]); /* 02856BAC */ cpu->r[30] = cpu->r[30] + 0xFFFF8081u; /* 02856BB0 */ cpu->f[0] = cpu->f[0] * cpu->f[23]; /* 02856BB4 */ cpu->r[12] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[23]) >> 32); /* 02856BB8 */ _t436 = cpu->r[29] + 0x00000025u; /* 02856BB8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t436); /* 02856BBC */ cpu->f[26] = -cpu->f[0]; /* 02856BC0 */ _t437 = cpu->r[8] + 0x00000001u; /* 02856BC0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t437); /* 02856BC4 */ cpu->f[0] = cpu->f[7] * cpu->f[24]; /* 02856BC8 */ /* nop */ /* 02856BCC */ cpu->r[21] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[4]); /* 02856BD0 */ cpu->f[11] = cpu->f[8] * cpu->f[23]; /* 02856BD4 */ _t438 = cpu->r[8] + 0x00000002u; /* 02856BD4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t438); /* 02856BD8 */ cpu->r[12] = cpu->r[23] + cpu->r[12]; /* 02856BDC */ cpu->r[4] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[21]) >> 32); /* 02856BE0 */ /* nop */ /* 02856BE4 */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[5]); /* 02856BE8 */ cpu->r[4] = cpu->r[21] + cpu->r[4]; /* 02856BEC */ /* nop */ /* 02856BF0 */ /* nop */ /* 02856BF4 */ _t439 = cpu->r[29] + 0x00000027u; /* 02856BF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t439); /* 02856BF8 */ cpu->r[5] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[23]) >> 32); /* 02856BFC */ _t440 = cpu->r[8] + 0x00000003u; /* 02856BFC */ cpu->r[8] = rbrew_read8(cpu->mem, _t440); /* 02856C00 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]); /* 02856C04 */ cpu->r[5] = cpu->r[23] + cpu->r[5]; /* 02856C08 */ /* nop */ /* 02856C0C */ /* nop */ /* 02856C10 */ cpu->r[4] = cpu->r[4] - cpu->r[22]; /* 02856C14 */ cpu->r[0] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[8]) >> 32); /* 02856C18 */ _t441 = cpu->r[1] + 0x00000011u; /* 02856C18 */ rbrew_write8(cpu->mem, _t441, (uint8_t)cpu->r[4]); /* 02856C1C */ cpu->r[5] = cpu->r[5] - cpu->r[9]; /* 02856C20 */ cpu->r[12] = cpu->r[12] - cpu->r[20]; /* 02856C24 */ _t442 = cpu->r[1] + 0x00000010u; /* 02856C24 */ rbrew_write8(cpu->mem, _t442, (uint8_t)cpu->r[12]); /* 02856C28 */ cpu->f[8] = cpu->f[6] * cpu->f[24]; /* 02856C2C */ cpu->r[0] = cpu->r[8] + cpu->r[0]; /* 02856C30 */ /* nop */ /* 02856C34 */ /* nop */ /* 02856C38 */ _t443 = cpu->r[1] + 0x00000012u; /* 02856C38 */ rbrew_write8(cpu->mem, _t443, (uint8_t)cpu->r[5]); /* 02856C3C */ cpu->r[0] = cpu->r[0] - cpu->r[9]; /* 02856C40 */ _t444 = cpu->r[1] + 0x00000013u; /* 02856C40 */ rbrew_write8(cpu->mem, _t444, (uint8_t)cpu->r[0]); /* 02856C44 */ _t445 = cpu->r[29] + 0x00000028u; /* 02856C44 */ cpu->r[5] = rbrew_read8(cpu->mem, _t445); /* 02856C48 */ cpu->f[3] = fma(cpu->f[6], cpu->f[23], -(cpu->f[0])); /* 02856C4C */ _t446 = cpu->r[3] + 0x00000000u; /* 02856C4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t446); /* 02856C50 */ cpu->f[27] = fma(cpu->f[28], cpu->f[24], -(cpu->f[11])); /* 02856C54 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[5]); /* 02856C58 */ cpu->f[28] = fma(cpu->f[7], cpu->f[23], cpu->f[8]); /* 02856C5C */ cpu->r[12] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[5]) >> 32); /* 02856C60 */ _t447 = cpu->r[29] + 0x00000029u; /* 02856C60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t447); /* 02856C64 */ _t448 = cpu->r[3] + 0x00000001u; /* 02856C64 */ cpu->r[9] = rbrew_read8(cpu->mem, _t448); /* 02856C68 */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[0]); /* 02856C6C */ cpu->r[12] = cpu->r[5] + cpu->r[12]; /* 02856C70 */ /* nop */ /* 02856C74 */ /* nop */ /* 02856C78 */ _t449 = cpu->r[3] + 0x00000002u; /* 02856C78 */ cpu->r[5] = rbrew_read8(cpu->mem, _t449); /* 02856C7C */ cpu->r[0] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[23]) >> 32); /* 02856C80 */ _t450 = cpu->r[29] + 0x0000002Au; /* 02856C80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t450); /* 02856C84 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[8]); /* 02856C88 */ cpu->r[0] = cpu->r[23] + cpu->r[0]; /* 02856C8C */ /* nop */ /* 02856C90 */ cpu->r[5] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[4]) >> 32); /* 02856C94 */ _t451 = cpu->r[3] + 0x00000003u; /* 02856C94 */ cpu->r[8] = rbrew_read8(cpu->mem, _t451); /* 02856C98 */ cpu->r[12] = cpu->r[12] - cpu->r[22]; /* 02856C9C */ /* nop */ /* 02856CA0 */ _t452 = cpu->r[29] + 0x0000002Bu; /* 02856CA0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t452); /* 02856CA4 */ cpu->f[24] = cpu->f[27] * cpu->f[9]; /* 02856CA8 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[9]); /* 02856CAC */ cpu->f[23] = cpu->f[28] * cpu->f[9]; /* 02856CB0 */ /* nop */ /* 02856CB4 */ cpu->r[5] = cpu->r[4] + cpu->r[5]; /* 02856CB8 */ cpu->r[4] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[8]) >> 32); /* 02856CBC */ cpu->r[0] = cpu->r[0] - cpu->r[23]; /* 02856CC0 */ /* nop */ /* 02856CC4 */ cpu->f[22] = cpu->f[26] * cpu->f[9]; /* 02856CC8 */ cpu->r[5] = cpu->r[5] - cpu->r[3]; /* 02856CCC */ _t453 = cpu->r[1] + 0x00000015u; /* 02856CCC */ rbrew_write8(cpu->mem, _t453, (uint8_t)cpu->r[0]); /* 02856CD0 */ /* nop */ /* 02856CD4 */ cpu->r[4] = cpu->r[8] + cpu->r[4]; /* 02856CD8 */ _t454 = cpu->r[1] + 0x00000016u; /* 02856CD8 */ rbrew_write8(cpu->mem, _t454, (uint8_t)cpu->r[5]); /* 02856CDC */ /* nop */ /* 02856CE0 */ cpu->f[8] = fma(cpu->f[31], cpu->f[10], cpu->f[24]); /* 02856CE4 */ _t455 = cpu->r[1] + 0x00000014u; /* 02856CE4 */ rbrew_write8(cpu->mem, _t455, (uint8_t)cpu->r[12]); /* 02856CE8 */ cpu->r[4] = cpu->r[4] - cpu->r[9]; /* 02856CEC */ cpu->f[0] = fma(cpu->f[1], cpu->f[10], cpu->f[22]); /* 02856CF0 */ _t456 = cpu->r[1] + 0x00000017u; /* 02856CF0 */ rbrew_write8(cpu->mem, _t456, (uint8_t)cpu->r[4]); /* 02856CF4 */ cpu->f[20] = cpu->f[8] + cpu->f[5]; /* 02856CF8 */ _t457 = cpu->r[7] + 0x0000002Eu; /* 02856CF8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t457); /* 02856CFC */ cpu->f[8] = cpu->f[0] + cpu->f[4]; /* 02856D00 */ _t458 = cpu->r[29] + 0x0000001Cu; /* 02856D00 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t458); /* 02856D04 */ cpu->r[0] = 0x43300000u; /* 02856D08 */ _t459 = cpu->r[7] + 0x0000001Cu; /* 02856D08 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t459); /* 02856D0C */ _t460 = cpu->r[1] + 0x00000008u; /* 02856D0C */ rbrew_write32(cpu->mem, _t460, cpu->r[0]); /* 02856D10 */ _t461 = cpu->r[29] + 0x00000018u; /* 02856D10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t461); /* 02856D14 */ cpu->f[21] = fma(cpu->f[3], cpu->f[10], cpu->f[23]); /* 02856D18 */ _t462 = cpu->r[7] + 0x00000018u; /* 02856D18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t462); /* 02856D1C */ cpu->f[9] = cpu->f[8] + cpu->f[9]; /* 02856D20 */ _t463 = cpu->r[29] + 0x00000020u; /* 02856D20 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t463); /* 02856D24 */ cpu->r[9] = 0x10130000u; /* 02856D28 */ _t464 = cpu->r[1] + 0x0000000Cu; /* 02856D28 */ rbrew_write32(cpu->mem, _t464, cpu->r[5]); /* 02856D2C */ cpu->f[10] = cpu->f[20] + cpu->f[7]; /* 02856D30 */ _t465 = cpu->r[1] + 0x00000008u; /* 02856D30 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t465); /* 02856D34 */ cpu->f[11] = cpu->f[21] + cpu->f[11]; /* 02856D38 */ _t466 = cpu->r[10] + 0x00000000u; /* 02856D38 */ rbrew_write_f32(cpu->mem, _t466, cpu->f[9]); /* 02856D3C */ cpu->f[2] = cpu->f[30] + cpu->f[2]; /* 02856D40 */ _t467 = cpu->r[10] + 0x00000004u; /* 02856D40 */ rbrew_write_f32(cpu->mem, _t467, cpu->f[10]); /* 02856D44 */ _t468 = cpu->r[10] + 0x00000008u; /* 02856D44 */ rbrew_write_f32(cpu->mem, _t468, cpu->f[11]); /* 02856D48 */ _t469 = cpu->r[1] + 0x00000010u; /* 02856D48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t469); /* 02856D4C */ cpu->r[4] = cpu->r[1] + 0x00000048u; /* 02856D50 */ _t470 = cpu->r[9] + 0x00001A30u; /* 02856D50 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t470); /* 02856D54 */ cpu->f[11] = cpu->f[2] + cpu->f[25]; /* 02856D58 */ _t471 = cpu->r[1] + 0x00000048u; /* 02856D58 */ rbrew_write32(cpu->mem, _t471, cpu->r[8]); /* 02856D5C */ /* nop */ /* 02856D60 */ cpu->f[9] = cpu->f[8] - cpu->f[7]; /* 02856D64 */ cpu->r[5] = cpu->r[10] + 0x0000000Cu; /* 02856D68 */ cpu->f[11] = cpu->f[11] - cpu->f[4]; /* 02856D6C */ /* nop */ /* 02856D70 */ cpu->f[8] = (double)(float)cpu->f[9]; /* 02856D74 */ _t472 = cpu->r[10] + 0x00000010u; /* 02856D74 */ rbrew_write_f32(cpu->mem, _t472, cpu->f[0]); /* 02856D78 */ cpu->f[10] = fma(cpu->f[3], cpu->f[11], cpu->f[23]); /* 02856D7C */ _t473 = cpu->r[10] + 0x00000014u; /* 02856D7C */ rbrew_write_f32(cpu->mem, _t473, cpu->f[6]); /* 02856D80 */ cpu->f[6] = fma(cpu->f[31], cpu->f[11], cpu->f[24]); /* 02856D84 */ _t474 = cpu->r[10] + 0x00000018u; /* 02856D84 */ rbrew_write_f32(cpu->mem, _t474, cpu->f[8]); /* 02856D88 */ _t475 = cpu->r[7] + 0x0000002Eu; /* 02856D88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t475); /* 02856D8C */ cpu->f[0] = fma(cpu->f[1], cpu->f[11], cpu->f[22]); /* 02856D90 */ cpu->f[25] = cpu->f[6] + cpu->f[5]; /* 02856D94 */ _t476 = cpu->r[1] + 0x0000000Cu; /* 02856D94 */ rbrew_write32(cpu->mem, _t476, cpu->r[0]); /* 02856D98 */ _t477 = cpu->r[29] + 0x00000020u; /* 02856D98 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t477); /* 02856D9C */ cpu->f[24] = cpu->f[0] + cpu->f[4]; /* 02856DA0 */ _t478 = cpu->r[29] + 0x00000018u; /* 02856DA0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t478); /* 02856DA4 */ _t479 = cpu->r[7] + 0x0000001Cu; /* 02856DA4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t479); /* 02856DA8 */ cpu->f[0] = cpu->f[10] + cpu->f[11]; /* 02856DAC */ _t480 = cpu->r[29] + 0x0000001Cu; /* 02856DAC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t480); /* 02856DB0 */ cpu->f[10] = cpu->f[24] + cpu->f[6]; /* 02856DB4 */ _t481 = cpu->r[7] + 0x00000020u; /* 02856DB4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t481); /* 02856DB8 */ cpu->f[11] = cpu->f[25] + cpu->f[11]; /* 02856DBC */ _t482 = cpu->r[1] + 0x00000008u; /* 02856DBC */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t482); /* 02856DC0 */ _t483 = cpu->r[10] + 0x00000024u; /* 02856DC0 */ rbrew_write_f32(cpu->mem, _t483, cpu->f[0]); /* 02856DC4 */ cpu->f[0] = cpu->f[9] - cpu->f[7]; /* 02856DC8 */ _t484 = cpu->r[10] + 0x00000020u; /* 02856DC8 */ rbrew_write_f32(cpu->mem, _t484, cpu->f[11]); /* 02856DCC */ cpu->f[11] = cpu->f[29] - cpu->f[5]; /* 02856DD0 */ _t485 = cpu->r[10] + 0x0000001Cu; /* 02856DD0 */ rbrew_write_f32(cpu->mem, _t485, cpu->f[10]); /* 02856DD4 */ cpu->r[9] = cpu->r[1] + 0x0000004Cu; /* 02856DD8 */ cpu->f[9] = (double)(float)cpu->f[0]; /* 02856DDC */ _t486 = cpu->r[1] + 0x0000004Cu; /* 02856DDC */ rbrew_write32(cpu->mem, _t486, cpu->r[8]); /* 02856DE0 */ /* nop */ /* 02856DE4 */ cpu->f[29] = cpu->f[28] * cpu->f[11]; /* 02856DE8 */ cpu->r[4] = cpu->r[10] + 0x00000028u; /* 02856DEC */ /* nop */ /* 02856DF0 */ cpu->f[0] = cpu->f[30] - cpu->f[4]; /* 02856DF4 */ _t487 = cpu->r[10] + 0x0000002Cu; /* 02856DF4 */ rbrew_write_f32(cpu->mem, _t487, cpu->f[6]); /* 02856DF8 */ cpu->f[26] = cpu->f[26] * cpu->f[11]; /* 02856DFC */ _t488 = cpu->r[10] + 0x00000030u; /* 02856DFC */ rbrew_write_f32(cpu->mem, _t488, cpu->f[8]); /* 02856E00 */ _t489 = cpu->r[10] + 0x00000034u; /* 02856E00 */ rbrew_write_f32(cpu->mem, _t489, cpu->f[9]); /* 02856E04 */ cpu->f[8] = fma(cpu->f[1], cpu->f[0], cpu->f[26]); /* 02856E08 */ _t490 = cpu->r[7] + 0x0000002Eu; /* 02856E08 */ cpu->r[4] = rbrew_read8(cpu->mem, _t490); /* 02856E0C */ cpu->f[28] = cpu->f[27] * cpu->f[11]; /* 02856E10 */ _t491 = cpu->r[29] + 0x00000018u; /* 02856E10 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t491); /* 02856E14 */ cpu->f[9] = cpu->f[8] + cpu->f[4]; /* 02856E18 */ _t492 = cpu->r[1] + 0x0000000Cu; /* 02856E18 */ rbrew_write32(cpu->mem, _t492, cpu->r[4]); /* 02856E1C */ cpu->f[11] = fma(cpu->f[31], cpu->f[0], cpu->f[28]); /* 02856E20 */ _t493 = cpu->r[1] + 0x00000008u; /* 02856E20 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t493); /* 02856E24 */ cpu->f[8] = cpu->f[9] + cpu->f[6]; /* 02856E28 */ _t494 = cpu->r[29] + 0x0000001Cu; /* 02856E28 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t494); /* 02856E2C */ cpu->f[30] = fma(cpu->f[3], cpu->f[0], cpu->f[29]); /* 02856E30 */ _t495 = cpu->r[29] + 0x00000020u; /* 02856E30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t495); /* 02856E34 */ cpu->f[9] = cpu->f[11] + cpu->f[5]; /* 02856E38 */ cpu->f[0] = cpu->f[30] + cpu->f[0]; /* 02856E3C */ _t496 = cpu->r[7] + 0x00000018u; /* 02856E3C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t496); /* 02856E40 */ cpu->f[9] = cpu->f[9] + cpu->f[6]; /* 02856E44 */ _t497 = cpu->r[7] + 0x00000024u; /* 02856E44 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t497); /* 02856E48 */ _t498 = cpu->r[10] + 0x00000040u; /* 02856E48 */ rbrew_write_f32(cpu->mem, _t498, cpu->f[0]); /* 02856E4C */ cpu->f[10] = cpu->f[10] - cpu->f[7]; /* 02856E50 */ _t499 = cpu->r[10] + 0x0000003Cu; /* 02856E50 */ rbrew_write_f32(cpu->mem, _t499, cpu->f[9]); /* 02856E54 */ _t500 = cpu->r[10] + 0x00000038u; /* 02856E54 */ rbrew_write_f32(cpu->mem, _t500, cpu->f[8]); /* 02856E58 */ _t501 = cpu->r[1] + 0x00000014u; /* 02856E58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t501); /* 02856E5C */ cpu->f[8] = (double)(float)cpu->f[10]; /* 02856E60 */ cpu->r[8] = cpu->r[1] + 0x00000050u; /* 02856E64 */ cpu->r[9] = cpu->r[10] + 0x00000044u; /* 02856E68 */ _t502 = cpu->r[1] + 0x00000050u; /* 02856E68 */ rbrew_write32(cpu->mem, _t502, cpu->r[5]); /* 02856E6C */ /* nop */ /* 02856E70 */ cpu->f[0] = cpu->f[2] - cpu->f[4]; /* 02856E74 */ /* nop */ /* 02856E78 */ cpu->f[9] = fma(cpu->f[1], cpu->f[0], cpu->f[26]); /* 02856E7C */ _t503 = cpu->r[10] + 0x00000050u; /* 02856E7C */ rbrew_write_f32(cpu->mem, _t503, cpu->f[8]); /* 02856E80 */ _t504 = cpu->r[10] + 0x00000048u; /* 02856E80 */ rbrew_write_f32(cpu->mem, _t504, cpu->f[11]); /* 02856E84 */ cpu->f[10] = fma(cpu->f[31], cpu->f[0], cpu->f[28]); /* 02856E88 */ _t505 = cpu->r[10] + 0x0000004Cu; /* 02856E88 */ rbrew_write_f32(cpu->mem, _t505, cpu->f[6]); /* 02856E8C */ _t506 = cpu->r[7] + 0x0000002Eu; /* 02856E8C */ cpu->r[4] = rbrew_read8(cpu->mem, _t506); /* 02856E90 */ cpu->f[0] = fma(cpu->f[3], cpu->f[0], cpu->f[29]); /* 02856E94 */ _t507 = cpu->r[29] + 0x00000020u; /* 02856E94 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t507); /* 02856E98 */ cpu->f[9] = cpu->f[9] + cpu->f[4]; /* 02856E9C */ _t508 = cpu->r[7] + 0x00000020u; /* 02856E9C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t508); /* 02856EA0 */ cpu->f[5] = cpu->f[10] + cpu->f[5]; /* 02856EA4 */ _t509 = cpu->r[29] + 0x00000018u; /* 02856EA4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t509); /* 02856EA8 */ cpu->f[0] = cpu->f[0] + cpu->f[6]; /* 02856EAC */ _t510 = cpu->r[1] + 0x0000000Cu; /* 02856EAC */ rbrew_write32(cpu->mem, _t510, cpu->r[4]); /* 02856EB0 */ _t511 = cpu->r[29] + 0x0000001Cu; /* 02856EB0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t511); /* 02856EB4 */ _t512 = cpu->r[1] + 0x00000008u; /* 02856EB4 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t512); /* 02856EB8 */ cpu->f[9] = cpu->f[9] + cpu->f[11]; /* 02856EBC */ _t513 = cpu->r[7] + 0x00000024u; /* 02856EBC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t513); /* 02856EC0 */ cpu->f[10] = cpu->f[5] + cpu->f[10]; /* 02856EC4 */ _t514 = cpu->r[10] + 0x0000005Cu; /* 02856EC4 */ rbrew_write_f32(cpu->mem, _t514, cpu->f[0]); /* 02856EC8 */ cpu->r[9] = cpu->r[1] + 0x00000054u; /* 02856ECC */ _t515 = cpu->r[10] + 0x00000054u; /* 02856ECC */ rbrew_write_f32(cpu->mem, _t515, cpu->f[9]); /* 02856ED0 */ cpu->f[7] = cpu->f[6] - cpu->f[7]; /* 02856ED4 */ _t516 = cpu->r[10] + 0x00000058u; /* 02856ED4 */ rbrew_write_f32(cpu->mem, _t516, cpu->f[10]); /* 02856ED8 */ cpu->r[4] = cpu->r[10] + 0x00000060u; /* 02856EDC */ _t517 = cpu->r[1] + 0x00000054u; /* 02856EDC */ rbrew_write32(cpu->mem, _t517, cpu->r[5]); /* 02856EE0 */ /* nop */ /* 02856EE4 */ cpu->f[0] = (double)(float)cpu->f[7]; /* 02856EE8 */ /* nop */ /* 02856EEC */ _t518 = cpu->r[10] + 0x0000006Cu; /* 02856EEC */ rbrew_write_f32(cpu->mem, _t518, cpu->f[0]); /* 02856EF0 */ cpu->r[11] = cpu->r[11] + 0x00000030u; /* 02856EF4 */ _t519 = cpu->r[10] + 0x00000064u; /* 02856EF4 */ rbrew_write_f32(cpu->mem, _t519, cpu->f[8]); /* 02856EF8 */ cpu->r[29] = cpu->r[29] + 0x0000002Cu; /* 02856EFC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 02856EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02856F00 */ _t520 = cpu->r[10] + 0x00000068u; /* 02856F00 */ rbrew_write_f32(cpu->mem, _t520, cpu->f[11]); /* 02856F04 */ _t521 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856F04 */ _t522 = _t521 & 0x00000001u; /* 02856F04 */ if (_t522) goto L_02856F08; else goto L_02856A18; L_02856F08: ; // 0x2856f08 /* 02856F08 */ cpu->r[4] = 0x00000001u; /* 02856F0C */ _t523 = cpu->r[27] + 0x00000011u; /* 02856F0C */ rbrew_write8(cpu->mem, _t523, (uint8_t)cpu->r[4]); /* 02856F10 */ _t524 = cpu->r[26] + 0x00000008u; /* 02856F10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t524); /* 02856F14 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02856F18 */ cpu->r[3] = 0x00000040u; /* 02856F1C */ _t525 = cpu->r[10] + cpu->r[26]; /* 02856F1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t525); /* 02856F20 */ cpu->r[5] = cpu->r[24]; /* 02856F24 */ rbrew_dispatch(cpu, 0x02d05c98u); L_02856F28: ; // 0x2856f28 /* 02856F28 */ /* nop */ /* 02856F2C */ _t526 = cpu->r[1] + 0x000000E0u; /* 02856F2C */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t526); /* 02856F30 */ _t527 = cpu->r[1] + 0x000000C0u; /* 02856F30 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t527); /* 02856F34 */ _t528 = cpu->r[1] + 0x000000D8u; /* 02856F34 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t528); /* 02856F38 */ _t529 = cpu->r[1] + 0x000000B0u; /* 02856F38 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t529); /* 02856F3C */ _t530 = cpu->r[1] + 0x000000B8u; /* 02856F3C */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t530); /* 02856F40 */ _t531 = cpu->r[1] + 0x000000A8u; /* 02856F40 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t531); /* 02856F44 */ _t532 = cpu->r[1] + 0x00000100u; /* 02856F44 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t532); /* 02856F48 */ _t533 = cpu->r[1] + 0x000000D0u; /* 02856F48 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t533); /* 02856F4C */ _t534 = cpu->r[1] + 0x000000F8u; /* 02856F4C */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t534); /* 02856F50 */ _t535 = cpu->r[1] + 0x000000C8u; /* 02856F50 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t535); /* 02856F54 */ _t536 = cpu->r[1] + 0x00000120u; /* 02856F54 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t536); /* 02856F58 */ _t537 = cpu->r[1] + 0x000000F0u; /* 02856F58 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t537); /* 02856F5C */ _t538 = cpu->r[1] + 0x00000118u; /* 02856F5C */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t538); /* 02856F60 */ _t539 = cpu->r[1] + 0x000000E8u; /* 02856F60 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t539); /* 02856F64 */ _t540 = cpu->r[1] + 0x00000140u; /* 02856F64 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t540); /* 02856F68 */ _t541 = cpu->r[1] + 0x00000130u; /* 02856F68 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t541); /* 02856F6C */ _t542 = cpu->r[1] + 0x000000A0u; /* 02856F6C */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t542); /* 02856F70 */ _t543 = cpu->r[1] + 0x00000128u; /* 02856F70 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t543); /* 02856F74 */ _t544 = cpu->r[1] + 0x00000150u; /* 02856F74 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t544); /* 02856F78 */ _t545 = cpu->r[1] + 0x00000098u; /* 02856F78 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t545); /* 02856F7C */ _t546 = cpu->r[1] + 0x00000148u; /* 02856F7C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t546); /* 02856F80 */ _t547 = cpu->r[1] + 0x00000090u; /* 02856F80 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t547); /* 02856F84 */ _t548 = cpu->r[1] + 0x00000170u; /* 02856F84 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t548); /* 02856F88 */ _t549 = cpu->r[1] + 0x00000088u; /* 02856F88 */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t549); /* 02856F8C */ _t550 = cpu->r[1] + 0x00000168u; /* 02856F8C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t550); /* 02856F90 */ _t551 = cpu->r[1] + 0x00000138u; /* 02856F90 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t551); /* 02856F94 */ _t552 = cpu->r[1] + 0x00000160u; /* 02856F94 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t552); /* 02856F98 */ _t553 = cpu->r[1] + 0x00000110u; /* 02856F98 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t553); /* 02856F9C */ _t554 = cpu->r[1] + 0x00000158u; /* 02856F9C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t554); /* 02856FA0 */ _t555 = cpu->r[1] + 0x00000108u; /* 02856FA0 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t555); /* 02856FA4 */ _t556 = cpu->cr[0] >> (0x00000003u & 31u); /* 02856FA4 */ _t557 = _t556 & 0x00000001u; /* 02856FA4 */ if (_t557) goto L_02856FA8; // else: addr-0 trap, fall-through L_02856FA8: ; // 0x2856fa8 /* 02856FA8 */ _t558 = cpu->r[1] + 0x0000017Cu; /* 02856FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t558); /* 02856FAC */ cpu->lr = cpu->r[0]; /* 02856FB0 */ cpu->r[1] = cpu->r[1] + 0x00000178u; /* 02856FB4 */ return; } // fn_02856FB8 @ 0x2856fb8 void Gambit_fn_02856FB8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02856FB8: ; // 0x2856fb8 /* 02856FB8 */ _t0 = cpu->r[3] + 0x000000A4u; /* 02856FB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t0); /* 02856FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02856FC0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02856FC0 */ _t2 = _t1 & 0x00000001u; /* 02856FC0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02856FC0 */ goto L_02856FC4; L_02856FC4: ; // 0x2856fc4 /* 02856FC4 */ _t3 = cpu->r[3] + 0x0000009Cu; /* 02856FC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02856FC8 */ rbrew_dispatch(cpu, 0x02d05888u); return; } // fn_02856FCC @ 0x2856fcc void Gambit_fn_02856FCC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142; L_02856FCC: ; // 0x2856fcc /* 02856FCC */ _t0 = cpu->r[1] + 0xFFFFFE80u; /* 02856FCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02856FCC */ cpu->r[1] = _t0; /* 02856FD0 */ /* nop */ /* 02856FD4 */ cpu->r[0] = cpu->lr; /* 02856FD8 */ _t1 = cpu->r[1] + 0x00000140u; /* 02856FD8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]); /* 02856FDC */ /* nop */ /* 02856FE0 */ _t2 = cpu->r[1] + 0x00000148u; /* 02856FE0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[28]); /* 02856FE4 */ _t3 = cpu->r[1] + 0x00000130u; /* 02856FE4 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[27]); /* 02856FE8 */ _t4 = cpu->r[1] + 0x00000160u; /* 02856FE8 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]); /* 02856FEC */ /* nop */ /* 02856FF0 */ _t5 = cpu->r[1] + 0x00000138u; /* 02856FF0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[27]); /* 02856FF4 */ /* nop */ /* 02856FF8 */ _t6 = cpu->r[1] + 0x00000168u; /* 02856FF8 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]); /* 02856FFC */ _t7 = cpu->r[1] + 0x00000150u; /* 02856FFC */ rbrew_write_f64(cpu->mem, _t7, cpu->f[29]); /* 02857000 */ _t8 = cpu->r[1] + 0x00000170u; /* 02857000 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[31]); /* 02857004 */ /* nop */ /* 02857008 */ _t9 = cpu->r[1] + 0x00000158u; /* 02857008 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]); /* 0285700C */ /* nop */ /* 02857010 */ _t10 = cpu->r[1] + 0x00000184u; /* 02857010 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 02857014 */ cpu->r[30] = cpu->r[4]; /* 02857018 */ _t11 = cpu->r[1] + 0x00000178u; /* 02857018 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]); /* 0285701C */ cpu->r[29] = cpu->r[3]; /* 02857020 */ _t12 = cpu->r[30] + 0x00000008u; /* 02857020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02857024 */ cpu->r[8] = cpu->r[1] + 0x00000038u; /* 02857028 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]); /* 0285702C */ _t13 = cpu->r[30] + 0x00000004u; /* 0285702C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 02857030 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857030 */ _t15 = _t14 & 0x00000001u; /* 02857030 */ if (_t15) goto L_02857068; else goto L_02857034; L_02857034: ; // 0x2857034 /* 02857034 */ cpu->r[5] = 0x00000003u; /* 02857038 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFCu; /* 0285703C */ cpu->ctr = cpu->r[5]; /* 02857040 */ cpu->r[4] = cpu->r[1] + 0x00000034u; L_02857044: ; // 0x2857044 /* 02857044 */ _t16 = cpu->r[11] + 0x00000004u; /* 02857044 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16); /* 02857048 */ _t17 = cpu->r[4] + 0x00000004u; /* 02857048 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]); /* 0285704C */ _t18 = cpu->r[11] + 0x00000008u; /* 0285704C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); /* 02857050 */ _t19 = cpu->r[4] + 0x00000008u; /* 02857050 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]); /* 02857054 */ _t20 = cpu->r[11] + 0x0000000Cu; /* 02857054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20); /* 02857058 */ _t21 = cpu->r[4] + 0x0000000Cu; /* 02857058 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]); /* 0285705C */ _t22 = cpu->r[11] + 0x00000010u; /* 0285705C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0285705C */ cpu->r[11] = _t22; /* 02857060 */ _t23 = cpu->r[4] + 0x00000010u; /* 02857060 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]); /* 02857060 */ cpu->r[4] = _t23; /* 02857064 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02857064 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02857064 */ _t25 = _t24 >> (0x00000002u & 31u); /* 02857064 */ _t26 = _t25 & 0x00000001u; /* 02857064 */ if (_t26) goto L_02857044; else goto L_02857068; L_02857068: ; // 0x2857068 /* 02857068 */ cpu->r[6] = 0x10130000u; /* 0285706C */ cpu->r[5] = 0x10130000u; /* 02857070 */ _t27 = cpu->r[6] + 0x00001A14u; /* 02857070 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27); /* 02857074 */ _t28 = cpu->r[5] + 0x00001A20u; /* 02857074 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28); /* 02857078 */ _t29 = cpu->r[1] + 0x00000070u; /* 02857078 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[30]); /* 0285707C */ _t30 = cpu->r[1] + 0x00000074u; /* 0285707C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]); /* 02857080 */ _t31 = cpu->r[1] + 0x0000006Cu; /* 02857080 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[30]); /* 02857084 */ _t32 = cpu->r[1] + 0x00000068u; /* 02857084 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[30]); /* 02857088 */ /* nop */ /* 0285708C */ cpu->r[11] = cpu->r[1] + 0x00000038u; /* 02857090 */ /* nop */ /* 02857094 */ /* nop */ /* 02857098 */ cpu->r[5] = cpu->r[1] + 0x00000088u; /* 0285709C */ /* nop */ /* 028570A0 */ /* nop */ /* 028570A4 */ /* nop */ /* 028570A8 */ /* nop */ /* 028570AC */ /* nop */ /* 028570B0 */ /* nop */ /* 028570B4 */ /* nop */ /* 028570B8 */ /* nop */ /* 028570BC */ /* nop */ /* 028570C0 */ /* nop */ /* 028570C4 */ /* nop */ /* 028570C8 */ /* nop */ /* 028570CC */ /* nop */ /* 028570D0 */ /* nop */ /* 028570D4 */ /* nop */ /* 028570D8 */ /* nop */ /* 028570DC */ /* nop */ /* 028570E0 */ /* nop */ /* 028570E4 */ /* nop */ /* 028570E8 */ /* nop */ /* 028570EC */ /* nop */ /* 028570F0 */ /* nop */ /* 028570F4 */ /* nop */ /* 028570F8 */ /* nop */ /* 028570FC */ /* nop */ /* 02857100 */ /* nop */ /* 02857104 */ /* nop */ /* 02857108 */ /* nop */ /* 0285710C */ /* nop */ /* 02857110 */ /* nop */ /* 02857114 */ /* nop */ /* 02857118 */ /* nop */ /* 0285711C */ /* nop */ /* 02857120 */ /* nop */ /* 02857124 */ /* nop */ /* 02857128 */ /* nop */ /* 0285712C */ /* nop */ /* 02857130 */ /* nop */ /* 02857134 */ /* nop */ /* 02857138 */ /* nop */ /* 0285713C */ /* nop */ /* 02857140 */ /* nop */ /* 02857144 */ /* nop */ /* 02857148 */ /* nop */ /* 0285714C */ /* nop */ /* 02857150 */ /* nop */ /* 02857154 */ /* nop */ /* 02857158 */ /* nop */ /* 0285715C */ /* nop */ /* 02857160 */ /* nop */ /* 02857164 */ /* nop */ /* 02857168 */ /* nop */ /* 0285716C */ /* nop */ /* 02857170 */ _t33 = cpu->r[30] + 0x0000000Cu; /* 02857170 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33); /* 02857174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 02857178 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857178 */ _t35 = _t34 & 0x00000001u; /* 02857178 */ if (_t35) goto L_028571B0; else goto L_0285717C; L_0285717C: ; // 0x285717c /* 0285717C */ cpu->r[7] = 0x00000003u; /* 02857180 */ cpu->r[5] = cpu->r[10] + 0xFFFFFFFCu; /* 02857184 */ cpu->ctr = cpu->r[7]; /* 02857188 */ cpu->r[6] = cpu->r[1] + 0x00000034u; L_0285718C: ; // 0x285718c /* 0285718C */ _t36 = cpu->r[5] + 0x00000004u; /* 0285718C */ cpu->r[8] = rbrew_read32(cpu->mem, _t36); /* 02857190 */ _t37 = cpu->r[6] + 0x00000004u; /* 02857190 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]); /* 02857194 */ _t38 = cpu->r[5] + 0x00000008u; /* 02857194 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38); /* 02857198 */ _t39 = cpu->r[6] + 0x00000008u; /* 02857198 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]); /* 0285719C */ _t40 = cpu->r[5] + 0x0000000Cu; /* 0285719C */ cpu->r[10] = rbrew_read32(cpu->mem, _t40); /* 028571A0 */ _t41 = cpu->r[6] + 0x0000000Cu; /* 028571A0 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]); /* 028571A4 */ _t42 = cpu->r[5] + 0x00000010u; /* 028571A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 028571A4 */ cpu->r[5] = _t42; /* 028571A8 */ _t43 = cpu->r[6] + 0x00000010u; /* 028571A8 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]); /* 028571A8 */ cpu->r[6] = _t43; /* 028571AC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028571AC */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028571AC */ _t45 = _t44 >> (0x00000002u & 31u); /* 028571AC */ _t46 = _t45 & 0x00000001u; /* 028571AC */ if (_t46) goto L_0285718C; else goto L_028571B0; L_028571B0: ; // 0x28571b0 /* 028571B0 */ _t47 = cpu->r[1] + 0x0000006Cu; /* 028571B0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[30]); /* 028571B4 */ cpu->r[11] = cpu->r[1] + 0x00000088u; /* 028571B8 */ _t48 = cpu->r[1] + 0x00000068u; /* 028571B8 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[30]); /* 028571BC */ cpu->r[5] = cpu->r[1] + 0x00000038u; /* 028571C0 */ _t49 = cpu->r[1] + 0x00000074u; /* 028571C0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[31]); /* 028571C4 */ _t50 = cpu->r[1] + 0x00000070u; /* 028571C4 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[30]); /* 028571C8 */ /* nop */ /* 028571CC */ /* nop */ /* 028571D0 */ /* nop */ /* 028571D4 */ /* nop */ /* 028571D8 */ /* nop */ /* 028571DC */ /* nop */ /* 028571E0 */ /* nop */ /* 028571E4 */ /* nop */ /* 028571E8 */ /* nop */ /* 028571EC */ /* nop */ /* 028571F0 */ /* nop */ /* 028571F4 */ /* nop */ /* 028571F8 */ /* nop */ /* 028571FC */ /* nop */ /* 02857200 */ /* nop */ /* 02857204 */ /* nop */ /* 02857208 */ /* nop */ /* 0285720C */ cpu->r[4] = cpu->r[1] + 0x000000C8u; /* 02857210 */ /* nop */ /* 02857214 */ /* nop */ /* 02857218 */ /* nop */ /* 0285721C */ /* nop */ /* 02857220 */ /* nop */ /* 02857224 */ /* nop */ /* 02857228 */ /* nop */ /* 0285722C */ /* nop */ /* 02857230 */ /* nop */ /* 02857234 */ /* nop */ /* 02857238 */ /* nop */ /* 0285723C */ /* nop */ /* 02857240 */ /* nop */ /* 02857244 */ /* nop */ /* 02857248 */ /* nop */ /* 0285724C */ /* nop */ /* 02857250 */ /* nop */ /* 02857254 */ /* nop */ /* 02857258 */ /* nop */ /* 0285725C */ /* nop */ /* 02857260 */ /* nop */ /* 02857264 */ /* nop */ /* 02857268 */ /* nop */ /* 0285726C */ /* nop */ /* 02857270 */ /* nop */ /* 02857274 */ /* nop */ /* 02857278 */ /* nop */ /* 0285727C */ /* nop */ /* 02857280 */ /* nop */ /* 02857284 */ /* nop */ /* 02857288 */ /* nop */ /* 0285728C */ /* nop */ /* 02857290 */ /* nop */ /* 02857294 */ /* nop */ /* 02857298 */ /* nop */ /* 0285729C */ /* nop */ /* 028572A0 */ /* nop */ /* 028572A4 */ /* nop */ /* 028572A8 */ /* nop */ /* 028572AC */ _t51 = cpu->r[30] + 0x00000040u; /* 028572AC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t51); /* 028572B0 */ _t52 = cpu->r[30] + 0x00000030u; /* 028572B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t52); /* 028572B4 */ _t53 = cpu->r[30] + 0x00000010u; /* 028572B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t53); /* 028572B8 */ cpu->f[0] = cpu->f[7] - cpu->f[9]; /* 028572BC */ _t54 = cpu->r[30] + 0x00000048u; /* 028572BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t54); /* 028572C0 */ _t55 = cpu->r[30] + 0x00000038u; /* 028572C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t55); /* 028572C4 */ _t56 = cpu->r[30] + 0x00000020u; /* 028572C4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t56); /* 028572C8 */ _t57 = cpu->r[1] + 0x00000078u; /* 028572C8 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]); /* 028572CC */ _t58 = cpu->r[30] + 0x0000002Cu; /* 028572CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t58); /* 028572D0 */ cpu->f[9] = cpu->f[9] - cpu->f[13]; /* 028572D4 */ _t59 = cpu->r[30] + 0x00000044u; /* 028572D4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t59); /* 028572D8 */ _t60 = cpu->r[30] + 0x00000014u; /* 028572D8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t60); /* 028572DC */ _t61 = cpu->r[1] + 0x00000080u; /* 028572DC */ rbrew_write_f32(cpu->mem, _t61, cpu->f[9]); /* 028572E0 */ _t62 = cpu->r[30] + 0x00000034u; /* 028572E0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t62); /* 028572E4 */ cpu->f[0] = cpu->f[8] - cpu->f[10]; /* 028572E8 */ _t63 = cpu->r[30] + 0x0000004Cu; /* 028572E8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t63); /* 028572EC */ _t64 = cpu->r[30] + 0x00000028u; /* 028572EC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t64); /* 028572F0 */ cpu->f[7] = cpu->f[11] - cpu->f[7]; /* 028572F4 */ _t65 = cpu->r[1] + 0x00000028u; /* 028572F4 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[0]); /* 028572F8 */ _t66 = cpu->r[30] + 0x00000018u; /* 028572F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t66); /* 028572FC */ _t67 = cpu->r[30] + 0x00000024u; /* 028572FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67); /* 02857300 */ _t68 = cpu->r[1] + 0x00000034u; /* 02857300 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]); /* 02857304 */ _t69 = cpu->r[1] + 0x00000084u; /* 02857304 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[10]); /* 02857308 */ cpu->f[10] = cpu->f[9] - cpu->f[13]; /* 0285730C */ _t70 = cpu->r[30] + 0x00000000u; /* 0285730C */ cpu->r[12] = rbrew_read32(cpu->mem, _t70); /* 02857310 */ cpu->f[8] = cpu->f[11] - cpu->f[6]; /* 02857314 */ _t71 = cpu->r[1] + 0x0000007Cu; /* 02857314 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[7]); /* 02857318 */ _t72 = cpu->r[1] + 0x00000030u; /* 02857318 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[10]); /* 0285731C */ _t73 = cpu->r[1] + 0x0000002Cu; /* 0285731C */ rbrew_write_f32(cpu->mem, _t73, cpu->f[8]); /* 02857320 */ _t74 = cpu->r[12] + 0x00000008u; /* 02857320 */ cpu->r[26] = rbrew_read32(cpu->mem, _t74); /* 02857324 */ cpu->r[25] = 0x00000000u; /* 02857328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0285732C */ cpu->r[31] = cpu->r[12] + 0x00000020u; /* 02857330 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857330 */ _t76 = _t75 & 0x00000001u; /* 02857330 */ if (_t76) goto L_02857510; else goto L_02857334; L_02857334: ; // 0x2857334 /* 02857334 */ cpu->r[28] = cpu->r[1] + 0x00000078u; /* 02857338 */ cpu->r[27] = cpu->r[1] + 0x00000028u; /* 0285733C */ cpu->r[24] = cpu->r[1] + 0x00000008u; /* 02857340 */ cpu->r[23] = cpu->r[1] + 0x00000018u; L_02857344: ; // 0x2857344 /* 02857344 */ _t77 = cpu->r[31] + 0x00000008u; /* 02857344 */ cpu->r[7] = rbrew_read32(cpu->mem, _t77); /* 02857348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285734C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285734C */ _t79 = _t78 & 0x00000001u; /* 0285734C */ if (_t79) goto L_02857504; else goto L_02857350; L_02857350: ; // 0x2857350 /* 02857350 */ _t80 = cpu->r[31] + 0x0000000Cu; /* 02857350 */ cpu->r[10] = rbrew_read32(cpu->mem, _t80); /* 02857354 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 02857354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02857358 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857358 */ _t82 = _t81 & 0x00000001u; /* 02857358 */ if (_t82) goto L_02857388; else goto L_0285735C; L_0285735C: ; // 0x285735c /* 0285735C */ _t83 = cpu->r[30] + 0x00000050u; /* 0285735C */ cpu->r[0] = rbrew_read32(cpu->mem, _t83); /* 02857360 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02857360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02857364 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857364 */ _t85 = _t84 & 0x00000001u; /* 02857364 */ if (_t85) goto L_02857378; else goto L_02857368; L_02857368: ; // 0x2857368 /* 02857368 */ cpu->r[22] = cpu->r[29] + 0x0000017Cu; /* 0285736C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[25]); /* 02857370 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857370 */ _t87 = _t86 & 0x00000001u; /* 02857370 */ if (_t87) goto L_028573D4; else goto L_02857374; L_02857374: ; // 0x2857374 /* 02857374 */ goto L_02857394; L_02857378: ; // 0x2857378 /* 02857378 */ cpu->r[22] = cpu->r[29] + 0x000000C0u; /* 0285737C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[25]); /* 02857380 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857380 */ _t89 = _t88 & 0x00000001u; /* 02857380 */ if (_t89) goto L_028573D4; else goto L_02857384; L_02857384: ; // 0x2857384 /* 02857384 */ goto L_02857394; L_02857388: ; // 0x2857388 /* 02857388 */ cpu->r[22] = cpu->r[29] + 0x00000004u; /* 0285738C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[25]); /* 02857390 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857390 */ _t91 = _t90 & 0x00000001u; /* 02857390 */ if (_t91) goto L_028573D4; else goto L_02857394; L_02857394: ; // 0x2857394 /* 02857394 */ cpu->r[3] = cpu->r[22]; /* 02857398 */ Gambit_fn_02856FB8(cpu); /* 0285739C */ _t92 = cpu->r[22] + 0x000000A8u; /* 0285739C */ cpu->r[3] = rbrew_read32(cpu->mem, _t92); /* 028573A0 */ cpu->r[4] = 0x00000010u; /* 028573A4 */ cpu->r[5] = cpu->r[1] + 0x000000C8u; /* 028573A8 */ rbrew_dispatch(cpu, 0x02d062a8u); /* 028573AC */ _t93 = cpu->r[22] + 0x000000B4u; /* 028573AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t93); /* 028573B0 */ cpu->r[4] = 0x00000004u; /* 028573B4 */ cpu->r[5] = cpu->r[30] + 0x00000030u; /* 028573B8 */ rbrew_dispatch(cpu, 0x02d06160u); /* 028573BC */ _t94 = cpu->r[22] + 0x000000B8u; /* 028573BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t94); /* 028573C0 */ cpu->r[4] = 0x00000004u; /* 028573C4 */ cpu->r[5] = cpu->r[28]; /* 028573C8 */ rbrew_dispatch(cpu, 0x02d06160u); /* 028573CC */ _t95 = cpu->r[31] + 0x0000000Cu; /* 028573CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t95); /* 028573D0 */ cpu->r[25] = cpu->r[22]; L_028573D4: ; // 0x28573d4 /* 028573D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028573D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028573D8 */ cpu->r[4] = 0x00000004u; /* 028573DC */ _t96 = cpu->r[22] + 0x000000ACu; /* 028573DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t96); /* 028573E0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u); /* 028573E0 */ _t98 = _t97 & 0x00000001u; /* 028573E0 */ if (_t98) goto L_02857464; else goto L_028573E4; L_028573E4: ; // 0x28573e4 /* 028573E4 */ cpu->r[5] = cpu->r[30] + 0x00000010u; /* 028573E8 */ rbrew_dispatch(cpu, 0x02d06160u); /* 028573EC */ _t99 = cpu->r[22] + 0x000000B0u; /* 028573EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t99); /* 028573F0 */ cpu->r[5] = cpu->r[27]; /* 028573F4 */ cpu->r[4] = 0x00000004u; /* 028573F8 */ rbrew_dispatch(cpu, 0x02d06160u); /* 028573FC */ _t100 = cpu->r[31] + 0x00000008u; /* 028573FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t100); /* 02857400 */ _t101 = cpu->r[30] + 0x00000000u; /* 02857400 */ cpu->r[9] = rbrew_read32(cpu->mem, _t101); /* 02857404 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000070u); /* 02857408 */ _t102 = cpu->r[9] + 0x0000001Cu; /* 02857408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102); /* 0285740C */ _t103 = cpu->r[31] + 0x00000004u; /* 0285740C */ cpu->r[5] = rbrew_read32(cpu->mem, _t103); /* 02857410 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02857414 */ cpu->r[11] = cpu->r[9] + cpu->r[7]; /* 02857418 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000001Cu); /* 0285741C */ _t104 = cpu->r[11] + 0x00000014u; /* 0285741C */ cpu->r[6] = rbrew_read32(cpu->mem, _t104); /* 02857420 */ cpu->r[5] = 0x0000001Cu; /* 02857424 */ cpu->r[3] = 0x00000000u; /* 02857428 */ cpu->r[6] = cpu->r[6] + cpu->r[0]; /* 0285742C */ rbrew_dispatch(cpu, 0x02d05fb0u); /* 02857430 */ _t105 = cpu->r[31] + 0x00000000u; /* 02857430 */ cpu->r[11] = rbrew_read32(cpu->mem, _t105); /* 02857434 */ _t106 = cpu->r[22] + 0x0000002Cu; /* 02857434 */ cpu->r[4] = rbrew_read32(cpu->mem, _t106); /* 02857438 */ cpu->r[3] = cpu->r[11] + 0x00000010u; /* 0285743C */ rbrew_dispatch(cpu, 0x02d06150u); /* 02857440 */ _t107 = cpu->r[31] + 0x00000008u; /* 02857440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107); /* 02857444 */ cpu->r[7] = 0x00000000u; /* 02857448 */ cpu->r[8] = 0x00000001u; /* 0285744C */ _t108 = cpu->r[29] + 0x00000244u; /* 0285744C */ cpu->r[6] = rbrew_read32(cpu->mem, _t108); /* 02857450 */ cpu->r[3] = 0x00000013u; /* 02857454 */ cpu->r[5] = 0x00000004u; /* 02857458 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285745C */ rbrew_dispatch(cpu, 0x02d05930u); /* 02857460 */ goto L_02857504; L_02857464: ; // 0x2857464 /* 02857464 */ _t109 = cpu->r[1] + 0x00000014u; /* 02857464 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[30]); /* 02857468 */ cpu->r[5] = cpu->r[24]; /* 0285746C */ _t110 = cpu->r[1] + 0x00000010u; /* 0285746C */ rbrew_write_f32(cpu->mem, _t110, cpu->f[30]); /* 02857470 */ _t111 = cpu->r[24] + 0x00000000u; /* 02857470 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[30]); /* 02857474 */ _t112 = cpu->r[1] + 0x0000000Cu; /* 02857474 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[30]); /* 02857478 */ rbrew_dispatch(cpu, 0x02d06160u); /* 0285747C */ _t113 = cpu->r[22] + 0x000000B0u; /* 0285747C */ cpu->r[3] = rbrew_read32(cpu->mem, _t113); /* 02857480 */ _t114 = cpu->r[23] + 0x00000000u; /* 02857480 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[31]); /* 02857484 */ _t115 = cpu->r[1] + 0x0000001Cu; /* 02857484 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[31]); /* 02857488 */ _t116 = cpu->r[1] + 0x00000034u; /* 02857488 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t116); /* 0285748C */ _t117 = cpu->r[1] + 0x00000020u; /* 0285748C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[31]); /* 02857490 */ cpu->r[5] = cpu->r[23]; /* 02857494 */ cpu->r[4] = 0x00000004u; /* 02857498 */ _t118 = cpu->r[1] + 0x00000024u; /* 02857498 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[9]); /* 0285749C */ rbrew_dispatch(cpu, 0x02d06160u); /* 028574A0 */ _t119 = cpu->r[31] + 0x00000008u; /* 028574A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t119); /* 028574A4 */ _t120 = cpu->r[30] + 0x00000000u; /* 028574A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t120); /* 028574A8 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000070u); /* 028574AC */ _t121 = cpu->r[9] + 0x0000001Cu; /* 028574AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t121); /* 028574B0 */ _t122 = cpu->r[31] + 0x00000004u; /* 028574B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t122); /* 028574B4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028574B8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000001Cu); /* 028574BC */ cpu->r[11] = cpu->r[9] + cpu->r[7]; /* 028574C0 */ _t123 = cpu->r[11] + 0x00000014u; /* 028574C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t123); /* 028574C4 */ cpu->r[5] = 0x0000001Cu; /* 028574C8 */ cpu->r[3] = 0x00000000u; /* 028574CC */ cpu->r[6] = cpu->r[6] + cpu->r[0]; /* 028574D0 */ rbrew_dispatch(cpu, 0x02d05fb0u); /* 028574D4 */ _t124 = cpu->r[31] + 0x00000000u; /* 028574D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t124); /* 028574D8 */ _t125 = cpu->r[22] + 0x0000002Cu; /* 028574D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t125); /* 028574DC */ cpu->r[3] = cpu->r[11] + 0x00000010u; /* 028574E0 */ rbrew_dispatch(cpu, 0x02d06150u); /* 028574E4 */ _t126 = cpu->r[31] + 0x00000008u; /* 028574E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126); /* 028574E8 */ cpu->r[7] = 0x00000000u; /* 028574EC */ cpu->r[8] = 0x00000001u; /* 028574F0 */ _t127 = cpu->r[29] + 0x00000244u; /* 028574F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t127); /* 028574F4 */ cpu->r[3] = 0x00000013u; /* 028574F8 */ cpu->r[5] = 0x00000004u; /* 028574FC */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02857500 */ rbrew_dispatch(cpu, 0x02d05930u); L_02857504: ; // 0x2857504 /* 02857504 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 02857504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02857508 */ cpu->r[31] = cpu->r[31] + 0x00000010u; /* 0285750C */ _t128 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285750C */ _t129 = _t128 & 0x00000001u; /* 0285750C */ if (_t129) goto L_02857510; else goto L_02857344; L_02857510: ; // 0x2857510 /* 02857510 */ /* nop */ /* 02857514 */ _t130 = cpu->r[1] + 0x00000148u; /* 02857514 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t130); /* 02857518 */ _t131 = cpu->r[1] + 0x00000168u; /* 02857518 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t131); /* 0285751C */ _t132 = cpu->r[1] + 0x00000140u; /* 0285751C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t132); /* 02857520 */ _t133 = cpu->r[1] + 0x00000158u; /* 02857520 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t133); /* 02857524 */ _t134 = cpu->r[1] + 0x00000160u; /* 02857524 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t134); /* 02857528 */ _t135 = cpu->r[1] + 0x00000150u; /* 02857528 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t135); /* 0285752C */ _t136 = cpu->r[1] + 0x00000138u; /* 0285752C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t136); /* 02857530 */ _t137 = cpu->r[1] + 0x00000178u; /* 02857530 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t137); /* 02857534 */ _t138 = cpu->r[1] + 0x00000130u; /* 02857534 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t138); /* 02857538 */ _t139 = cpu->r[1] + 0x00000170u; /* 02857538 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t139); /* 0285753C */ _t140 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285753C */ _t141 = _t140 & 0x00000001u; /* 0285753C */ if (_t141) goto L_02857540; // else: addr-0 trap, fall-through L_02857540: ; // 0x2857540 /* 02857540 */ _t142 = cpu->r[1] + 0x00000184u; /* 02857540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142); /* 02857544 */ cpu->lr = cpu->r[0]; /* 02857548 */ cpu->r[1] = cpu->r[1] + 0x00000180u; /* 0285754C */ return; } // fn_02857550 @ 0x2857550 void Gambit_fn_02857550(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02857550: ; // 0x2857550 /* 02857550 */ cpu->r[0] = cpu->lr; /* 02857554 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02857554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857554 */ cpu->r[1] = _t0; /* 02857558 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857558 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285755C */ cpu->r[31] = cpu->r[3]; /* 0285755C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02857560 */ _t2 = cpu->r[1] + 0x00000014u; /* 02857560 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02857564 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857564 */ _t4 = _t3 & 0x00000001u; /* 02857564 */ if (_t4) goto L_02857568; else goto L_02857578; L_02857568: ; // 0x2857568 /* 02857568 */ cpu->r[3] = 0x000000C4u; /* 0285756C */ Gambit_fn_02801A78(cpu); /* 02857570 */ cpu->r[31] = cpu->r[3]; /* 02857570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02857574 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857574 */ _t6 = _t5 & 0x00000001u; /* 02857574 */ if (_t6) goto L_0285758C; else goto L_02857578; L_02857578: ; // 0x2857578 /* 02857578 */ cpu->r[3] = cpu->r[31]; /* 0285757C */ Gambit_fn_02857B50(cpu); /* 02857580 */ cpu->r[0] = 0x10130000u; /* 02857584 */ cpu->r[0] = cpu->r[0] + 0x00001A50u; /* 02857588 */ _t7 = cpu->r[31] + 0x00000004u; /* 02857588 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); L_0285758C: ; // 0x285758c /* 0285758C */ _t8 = cpu->r[1] + 0x00000014u; /* 0285758C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02857590 */ cpu->r[3] = cpu->r[31]; /* 02857594 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02857594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 02857598 */ cpu->lr = cpu->r[0]; /* 0285759C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028575A0 */ return; } // fn_02857554 @ 0x2857554 void Gambit_fn_02857554(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02857554: ; // 0x2857554 /* 02857554 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02857554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857554 */ cpu->r[1] = _t0; /* 02857558 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857558 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285755C */ cpu->r[31] = cpu->r[3]; /* 0285755C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02857560 */ _t2 = cpu->r[1] + 0x00000014u; /* 02857560 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02857564 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857564 */ _t4 = _t3 & 0x00000001u; /* 02857564 */ if (_t4) goto L_02857568; else goto L_02857578; L_02857568: ; // 0x2857568 /* 02857568 */ cpu->r[3] = 0x000000C4u; /* 0285756C */ Gambit_fn_02801A78(cpu); /* 02857570 */ cpu->r[31] = cpu->r[3]; /* 02857570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02857574 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857574 */ _t6 = _t5 & 0x00000001u; /* 02857574 */ if (_t6) goto L_0285758C; else goto L_02857578; L_02857578: ; // 0x2857578 /* 02857578 */ cpu->r[3] = cpu->r[31]; /* 0285757C */ Gambit_fn_02857B50(cpu); /* 02857580 */ cpu->r[0] = 0x10130000u; /* 02857584 */ cpu->r[0] = cpu->r[0] + 0x00001A50u; /* 02857588 */ _t7 = cpu->r[31] + 0x00000004u; /* 02857588 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); L_0285758C: ; // 0x285758c /* 0285758C */ _t8 = cpu->r[1] + 0x00000014u; /* 0285758C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02857590 */ cpu->r[3] = cpu->r[31]; /* 02857594 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02857594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 02857598 */ cpu->lr = cpu->r[0]; /* 0285759C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028575A0 */ return; } // fn_028575A4 @ 0x28575a4 void Gambit_fn_028575A4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_028575A4: ; // 0x28575a4 /* 028575A4 */ cpu->r[0] = cpu->lr; /* 028575A8 */ _t0 = cpu->r[1] + 0x00000004u; /* 028575A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 028575AC */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 028575AC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 028575AC */ cpu->r[1] = _t1; /* 028575B0 */ _t2 = cpu->r[3] + 0x00000008u; /* 028575B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 028575B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028575B8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028575B8 */ _t4 = _t3 & 0x00000001u; /* 028575B8 */ if (_t4) goto L_028575C4; else goto L_028575BC; L_028575BC: ; // 0x28575bc /* 028575BC */ Gambit_fn_02858178(cpu); /* 028575C0 */ cpu->r[0] = cpu->r[3]; L_028575C4: ; // 0x28575c4 /* 028575C4 */ cpu->r[3] = cpu->r[0]; /* 028575C8 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 028575C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028575CC */ cpu->lr = cpu->r[0]; /* 028575D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028575D4 */ return; } // fn_028575AC @ 0x28575ac void Gambit_fn_028575AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_028575AC: ; // 0x28575ac /* 028575AC */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 028575AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028575AC */ cpu->r[1] = _t0; /* 028575B0 */ _t1 = cpu->r[3] + 0x00000008u; /* 028575B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 028575B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028575B8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 028575B8 */ _t3 = _t2 & 0x00000001u; /* 028575B8 */ if (_t3) goto L_028575C4; else goto L_028575BC; L_028575BC: ; // 0x28575bc /* 028575BC */ Gambit_fn_02858178(cpu); /* 028575C0 */ cpu->r[0] = cpu->r[3]; L_028575C4: ; // 0x28575c4 /* 028575C4 */ cpu->r[3] = cpu->r[0]; /* 028575C8 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 028575C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028575CC */ cpu->lr = cpu->r[0]; /* 028575D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028575D4 */ return; } // fn_028575D8 @ 0x28575d8 void Gambit_fn_028575D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_028575D8: ; // 0x28575d8 /* 028575D8 */ cpu->r[0] = cpu->lr; /* 028575DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028575DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028575DC */ cpu->r[1] = _t0; /* 028575E0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028575E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028575E4 */ _t2 = cpu->r[1] + 0x00000008u; /* 028575E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028575E8 */ cpu->r[30] = cpu->r[3]; /* 028575E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028575EC */ cpu->r[31] = cpu->r[4]; /* 028575F0 */ _t3 = cpu->r[1] + 0x00000014u; /* 028575F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028575F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028575F4 */ _t5 = _t4 & 0x00000001u; /* 028575F4 */ if (_t5) goto L_02857634; else goto L_028575F8; L_028575F8: ; // 0x28575f8 /* 028575F8 */ _t6 = cpu->r[30] + 0x00000008u; /* 028575F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028575FC */ cpu->r[0] = 0x10130000u; /* 02857600 */ cpu->r[0] = cpu->r[0] + 0x00001A50u; /* 02857604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02857608 */ _t7 = cpu->r[30] + 0x00000004u; /* 02857608 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285760C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285760C */ _t9 = _t8 & 0x00000001u; /* 0285760C */ if (_t9) goto L_02857618; else goto L_02857610; L_02857610: ; // 0x2857610 /* 02857610 */ cpu->r[3] = cpu->r[30]; /* 02857614 */ Gambit_fn_028575A4(cpu); L_02857618: ; // 0x2857618 /* 02857618 */ cpu->r[3] = cpu->r[30]; /* 0285761C */ cpu->r[4] = 0x00000000u; /* 02857620 */ Gambit_fn_02857C14(cpu); /* 02857624 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02857624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02857628 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857628 */ _t11 = _t10 & 0x00000001u; /* 02857628 */ if (_t11) goto L_02857634; else goto L_0285762C; L_0285762C: ; // 0x285762c /* 0285762C */ cpu->r[3] = cpu->r[30]; /* 02857630 */ Gambit_fn_02801BB0(cpu); L_02857634: ; // 0x2857634 /* 02857634 */ _t12 = cpu->r[1] + 0x00000014u; /* 02857634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02857638 */ _t13 = cpu->r[1] + 0x00000008u; /* 02857638 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285763C */ cpu->lr = cpu->r[0]; /* 02857640 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 02857640 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 02857644 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857648 */ return; } // fn_028575DC @ 0x28575dc void Gambit_fn_028575DC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_028575DC: ; // 0x28575dc /* 028575DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028575DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028575DC */ cpu->r[1] = _t0; /* 028575E0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028575E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028575E4 */ _t2 = cpu->r[1] + 0x00000008u; /* 028575E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028575E8 */ cpu->r[30] = cpu->r[3]; /* 028575E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028575EC */ cpu->r[31] = cpu->r[4]; /* 028575F0 */ _t3 = cpu->r[1] + 0x00000014u; /* 028575F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028575F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028575F4 */ _t5 = _t4 & 0x00000001u; /* 028575F4 */ if (_t5) goto L_02857634; else goto L_028575F8; L_028575F8: ; // 0x28575f8 /* 028575F8 */ _t6 = cpu->r[30] + 0x00000008u; /* 028575F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 028575FC */ cpu->r[0] = 0x10130000u; /* 02857600 */ cpu->r[0] = cpu->r[0] + 0x00001A50u; /* 02857604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02857608 */ _t7 = cpu->r[30] + 0x00000004u; /* 02857608 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285760C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285760C */ _t9 = _t8 & 0x00000001u; /* 0285760C */ if (_t9) goto L_02857618; else goto L_02857610; L_02857610: ; // 0x2857610 /* 02857610 */ cpu->r[3] = cpu->r[30]; /* 02857614 */ Gambit_fn_028575A4(cpu); L_02857618: ; // 0x2857618 /* 02857618 */ cpu->r[3] = cpu->r[30]; /* 0285761C */ cpu->r[4] = 0x00000000u; /* 02857620 */ Gambit_fn_02857C14(cpu); /* 02857624 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02857624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02857628 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857628 */ _t11 = _t10 & 0x00000001u; /* 02857628 */ if (_t11) goto L_02857634; else goto L_0285762C; L_0285762C: ; // 0x285762c /* 0285762C */ cpu->r[3] = cpu->r[30]; /* 02857630 */ Gambit_fn_02801BB0(cpu); L_02857634: ; // 0x2857634 /* 02857634 */ _t12 = cpu->r[1] + 0x00000014u; /* 02857634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02857638 */ _t13 = cpu->r[1] + 0x00000008u; /* 02857638 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285763C */ cpu->lr = cpu->r[0]; /* 02857640 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 02857640 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 02857644 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857648 */ return; } // fn_0285764C @ 0x285764c void Gambit_fn_0285764C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285764C: ; // 0x285764c /* 0285764C */ _t0 = cpu->r[3] + 0x00000010u; /* 0285764C */ cpu->r[0] = rbrew_read16(cpu->mem, _t0); /* 02857650 */ _t1 = cpu->r[3] + 0x00000006u; /* 02857650 */ cpu->r[9] = rbrew_read16(cpu->mem, _t1); /* 02857654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02857658 */ cpu->r[10] = cpu->r[3] + cpu->r[9]; /* 0285765C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285765C */ _t3 = _t2 & 0x00000001u; /* 0285765C */ if (_t3) goto L_02857684; else goto L_02857660; L_02857660: ; // 0x2857660 /* 02857660 */ cpu->ctr = cpu->r[0]; L_02857664: ; // 0x2857664 /* 02857664 */ _t4 = cpu->r[10] + 0x00000000u; /* 02857664 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02857668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]); /* 0285766C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285766C */ _t6 = _t5 & 0x00000001u; /* 0285766C */ if (_t6) goto L_02857670; else goto L_02857678; L_02857670: ; // 0x2857670 /* 02857670 */ cpu->r[3] = cpu->r[10] + 0x00000008u; /* 02857674 */ return; L_02857678: ; // 0x2857678 /* 02857678 */ _t7 = cpu->r[10] + 0x00000004u; /* 02857678 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0285767C */ cpu->r[10] = cpu->r[10] + cpu->r[12]; /* 02857680 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02857680 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02857680 */ _t9 = _t8 >> (0x00000002u & 31u); /* 02857680 */ _t10 = _t9 & 0x00000001u; /* 02857680 */ if (_t10) goto L_02857664; else goto L_02857684; L_02857684: ; // 0x2857684 /* 02857684 */ cpu->r[3] = 0x00000000u; /* 02857688 */ return; } // fn_0285768C @ 0x285768c void Gambit_fn_0285768C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50; L_0285768C: ; // 0x285768c /* 0285768C */ cpu->r[10] = 0x00000000u; /* 02857690 */ _t0 = cpu->r[3] + 0x00000010u; /* 02857690 */ cpu->r[9] = rbrew_read16(cpu->mem, _t0); /* 02857694 */ cpu->r[12] = cpu->r[10]; /* 02857698 */ _t1 = cpu->r[3] + 0x00000006u; /* 02857698 */ cpu->r[0] = rbrew_read16(cpu->mem, _t1); /* 0285769C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[9]); /* 028576A0 */ cpu->r[11] = cpu->r[3] + cpu->r[0]; /* 028576A4 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 028576A4 */ _t3 = _t2 & 0x00000001u; /* 028576A4 */ if (_t3) goto L_028576A8; else goto L_028577E0; L_028576A8: ; // 0x28576a8 /* 028576A8 */ cpu->r[7] = 0x474C0000u; /* 028576AC */ _t4 = cpu->r[11] + 0x00000000u; /* 028576AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 028576B0 */ cpu->r[7] = cpu->r[7] + 0x00004752u; /* 028576B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 028576B8 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 028576B8 */ _t6 = _t5 & 0x00000001u; /* 028576B8 */ if (_t6) goto L_028576BC; else goto L_028576F4; L_028576BC: ; // 0x28576bc /* 028576BC */ cpu->r[8] = 0x434D0000u; /* 028576C0 */ cpu->r[8] = cpu->r[8] + 0x00004150u; /* 028576C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 028576C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028576C8 */ _t8 = _t7 & 0x00000001u; /* 028576C8 */ if (_t8) goto L_028577AC; else goto L_028576CC; L_028576CC: ; // 0x28576cc /* 028576CC */ cpu->r[0] = 0x43570000u; /* 028576D0 */ cpu->r[0] = cpu->r[0] | 0x00004448u; /* 028576D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]); /* 028576D8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028576D8 */ _t10 = _t9 & 0x00000001u; /* 028576D8 */ if (_t10) goto L_02857788; else goto L_028576DC; L_028576DC: ; // 0x28576dc /* 028576DC */ cpu->r[0] = 0x46490000u; /* 028576E0 */ cpu->r[0] = cpu->r[0] | 0x00004E46u; /* 028576E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]); /* 028576E8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028576E8 */ _t12 = _t11 & 0x00000001u; /* 028576E8 */ if (_t12) goto L_0285772C; else goto L_028576EC; L_028576EC: ; // 0x28576ec /* 028576EC */ cpu->r[3] = 0x00000000u; /* 028576F0 */ return; L_028576F4: ; // 0x28576f4 /* 028576F4 */ cpu->r[7] = 0x474C0000u; /* 028576F8 */ cpu->r[7] = cpu->r[7] + 0x00004752u; /* 028576FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 02857700 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857700 */ _t14 = _t13 & 0x00000001u; /* 02857700 */ if (_t14) goto L_028577CC; else goto L_02857704; L_02857704: ; // 0x2857704 /* 02857704 */ cpu->r[8] = 0x4B520000u; /* 02857708 */ cpu->r[8] = cpu->r[8] + 0x00004E47u; /* 0285770C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 02857710 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857710 */ _t16 = _t15 & 0x00000001u; /* 02857710 */ if (_t16) goto L_028577CC; else goto L_02857714; L_02857714: ; // 0x2857714 /* 02857714 */ cpu->r[0] = 0x54470000u; /* 02857718 */ cpu->r[0] = cpu->r[0] | 0x00004C50u; /* 0285771C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]); /* 02857720 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857720 */ _t18 = _t17 & 0x00000001u; /* 02857720 */ if (_t18) goto L_02857774; else goto L_02857724; L_02857724: ; // 0x2857724 /* 02857724 */ cpu->r[3] = 0x00000000u; /* 02857728 */ return; L_0285772C: ; // 0x285772c /* 0285772C */ _t19 = cpu->r[11] + 0x00000014u; /* 0285772C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 02857730 */ _t20 = cpu->r[11] + 0x00000018u; /* 02857730 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20); /* 02857734 */ cpu->r[7] = cpu->r[3] + cpu->r[8]; /* 02857738 */ cpu->r[10] = cpu->r[11] + 0x00000008u; /* 0285773C */ _t21 = cpu->r[11] + 0x00000014u; /* 0285773C */ rbrew_write32(cpu->mem, _t21, cpu->r[7]); /* 02857740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02857744 */ _t22 = cpu->r[11] + 0x0000001Cu; /* 02857744 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22); /* 02857748 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857748 */ _t24 = _t23 & 0x00000001u; /* 02857748 */ if (_t24) goto L_02857758; else goto L_0285774C; L_0285774C: ; // 0x285774c /* 0285774C */ _t25 = cpu->r[10] + 0x00000010u; /* 0285774C */ cpu->r[6] = rbrew_read32(cpu->mem, _t25); /* 02857750 */ cpu->r[0] = cpu->r[3] + cpu->r[6]; /* 02857754 */ _t26 = cpu->r[10] + 0x00000010u; /* 02857754 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]); L_02857758: ; // 0x2857758 /* 02857758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285775C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285775C */ _t28 = _t27 & 0x00000001u; /* 0285775C */ if (_t28) goto L_028577C8; else goto L_02857760; L_02857760: ; // 0x2857760 /* 02857760 */ _t29 = cpu->r[10] + 0x00000014u; /* 02857760 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29); /* 02857764 */ cpu->r[0] = cpu->r[3] + cpu->r[6]; /* 02857768 */ _t30 = cpu->r[10] + 0x00000014u; /* 02857768 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 0285776C */ _t31 = cpu->r[3] + 0x00000010u; /* 0285776C */ cpu->r[9] = rbrew_read16(cpu->mem, _t31); /* 02857770 */ goto L_028577CC; L_02857774: ; // 0x2857774 /* 02857774 */ _t32 = cpu->r[11] + 0x0000001Cu; /* 02857774 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32); /* 02857778 */ cpu->r[8] = cpu->r[3] + cpu->r[9]; /* 0285777C */ _t33 = cpu->r[11] + 0x0000001Cu; /* 0285777C */ rbrew_write32(cpu->mem, _t33, cpu->r[8]); /* 02857780 */ _t34 = cpu->r[3] + 0x00000010u; /* 02857780 */ cpu->r[9] = rbrew_read16(cpu->mem, _t34); /* 02857784 */ goto L_028577CC; L_02857788: ; // 0x2857788 /* 02857788 */ _t35 = cpu->r[11] + 0x0000000Cu; /* 02857788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 0285778C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02857790 */ cpu->r[8] = cpu->r[11] + 0x00000008u; /* 02857794 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857794 */ _t37 = _t36 & 0x00000001u; /* 02857794 */ if (_t37) goto L_028577CC; else goto L_02857798; L_02857798: ; // 0x2857798 /* 02857798 */ _t38 = cpu->r[8] + 0x00000004u; /* 02857798 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38); /* 0285779C */ cpu->r[6] = cpu->r[3] + cpu->r[7]; /* 028577A0 */ _t39 = cpu->r[8] + 0x00000004u; /* 028577A0 */ rbrew_write32(cpu->mem, _t39, cpu->r[6]); /* 028577A4 */ _t40 = cpu->r[3] + 0x00000010u; /* 028577A4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t40); /* 028577A8 */ goto L_028577CC; L_028577AC: ; // 0x28577ac /* 028577AC */ _t41 = cpu->r[11] + 0x00000010u; /* 028577AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t41); /* 028577B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028577B4 */ cpu->r[7] = cpu->r[11] + 0x00000008u; /* 028577B8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 028577B8 */ _t43 = _t42 & 0x00000001u; /* 028577B8 */ if (_t43) goto L_028577CC; else goto L_028577BC; L_028577BC: ; // 0x28577bc /* 028577BC */ _t44 = cpu->r[7] + 0x00000008u; /* 028577BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t44); /* 028577C0 */ cpu->r[0] = cpu->r[3] + cpu->r[6]; /* 028577C4 */ _t45 = cpu->r[7] + 0x00000008u; /* 028577C4 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]); L_028577C8: ; // 0x28577c8 /* 028577C8 */ _t46 = cpu->r[3] + 0x00000010u; /* 028577C8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t46); L_028577CC: ; // 0x28577cc /* 028577CC */ _t47 = cpu->r[11] + 0x00000004u; /* 028577CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t47); /* 028577D0 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 028577D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[9]); /* 028577D8 */ cpu->r[11] = cpu->r[11] + cpu->r[7]; /* 028577DC */ _t48 = cpu->cr[0] >> (0x00000003u & 31u); /* 028577DC */ _t49 = _t48 & 0x00000001u; /* 028577DC */ if (_t49) goto L_028576A8; else goto L_028577E0; L_028577E0: ; // 0x28577e0 /* 028577E0 */ cpu->r[8] = 0x46460000u; /* 028577E4 */ cpu->r[8] = cpu->r[8] + 0x00004E55u; /* 028577E8 */ _t50 = cpu->r[3] + 0x00000000u; /* 028577E8 */ rbrew_write32(cpu->mem, _t50, cpu->r[8]); /* 028577EC */ cpu->r[3] = cpu->r[10]; /* 028577F0 */ return; } // fn_028577F4 @ 0x28577f4 void Gambit_fn_028577F4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_028577F4: ; // 0x28577f4 /* 028577F4 */ cpu->r[0] = cpu->lr; /* 028577F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028577F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028577F8 */ cpu->r[1] = _t0; /* 028577FC */ _t1 = cpu->r[1] + 0x00000008u; /* 028577FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02857800 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02857800 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02857804 */ cpu->r[30] = cpu->r[3]; /* 02857808 */ _t3 = cpu->r[1] + 0x00000014u; /* 02857808 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285780C */ _t4 = cpu->r[30] + 0x00000008u; /* 0285780C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02857810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02857814 */ cpu->r[31] = cpu->r[4]; /* 02857818 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857818 */ _t6 = _t5 & 0x00000001u; /* 02857818 */ if (_t6) goto L_0285781C; else goto L_028578B8; L_0285781C: ; // 0x285781c /* 0285781C */ cpu->r[0] = 0x46460000u; /* 02857820 */ _t7 = cpu->r[31] + 0x00000000u; /* 02857820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 02857824 */ cpu->r[0] = cpu->r[0] | 0x00004E55u; /* 02857828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 0285782C */ cpu->r[3] = cpu->r[31]; /* 02857830 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857830 */ _t9 = _t8 & 0x00000001u; /* 02857830 */ if (_t9) goto L_02857834; else goto L_0285788C; L_02857834: ; // 0x2857834 /* 02857834 */ cpu->r[4] = 0x46490000u; /* 02857838 */ cpu->r[4] = cpu->r[4] + 0x00004E46u; /* 0285783C */ Gambit_fn_0285764C(cpu); /* 02857840 */ cpu->r[5] = cpu->r[3]; /* 02857840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02857844 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857844 */ _t11 = _t10 & 0x00000001u; /* 02857844 */ if (_t11) goto L_028578B8; else goto L_02857848; L_02857848: ; // 0x2857848 /* 02857848 */ cpu->r[4] = 0x4B520000u; /* 0285784C */ cpu->r[3] = cpu->r[31]; /* 02857850 */ cpu->r[4] = cpu->r[4] + 0x00004E47u; /* 02857854 */ Gambit_fn_0285764C(cpu); /* 02857858 */ cpu->r[6] = cpu->r[3]; /* 0285785C */ cpu->r[3] = cpu->r[30]; /* 02857860 */ cpu->r[4] = cpu->r[31]; /* 02857864 */ Gambit_fn_02858168(cpu); /* 02857868 */ cpu->r[3] = cpu->r[30]; /* 0285786C */ Gambit_fn_02857A88(cpu); /* 02857870 */ _t12 = cpu->r[1] + 0x00000014u; /* 02857870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02857874 */ _t13 = cpu->r[1] + 0x00000008u; /* 02857874 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 02857878 */ cpu->lr = cpu->r[0]; /* 0285787C */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0285787C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 02857880 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857884 */ cpu->r[3] = 0x00000001u; /* 02857888 */ return; L_0285788C: ; // 0x285788c /* 0285788C */ cpu->r[4] = 0x46460000u; /* 02857890 */ cpu->r[5] = 0x03000000u; /* 02857894 */ cpu->r[6] = 0x00000002u; /* 02857898 */ cpu->r[4] = cpu->r[4] + 0x00004E54u; /* 0285789C */ Gambit_fn_0285A050(cpu); /* 028578A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028578A4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028578A4 */ _t16 = _t15 & 0x00000001u; /* 028578A4 */ if (_t16) goto L_028578B8; else goto L_028578A8; L_028578A8: ; // 0x28578a8 /* 028578A8 */ cpu->r[3] = cpu->r[31]; /* 028578AC */ Gambit_fn_0285768C(cpu); /* 028578B0 */ cpu->r[5] = cpu->r[3]; /* 028578B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028578B4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028578B4 */ _t18 = _t17 & 0x00000001u; /* 028578B4 */ if (_t18) goto L_028578B8; else goto L_02857848; L_028578B8: ; // 0x28578b8 /* 028578B8 */ _t19 = cpu->r[1] + 0x00000014u; /* 028578B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028578BC */ _t20 = cpu->r[1] + 0x00000008u; /* 028578BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028578C0 */ cpu->lr = cpu->r[0]; /* 028578C4 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028578C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028578C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028578CC */ cpu->r[3] = 0x00000000u; /* 028578D0 */ return; } // fn_028577F8 @ 0x28577f8 void Gambit_fn_028577F8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_028577F8: ; // 0x28577f8 /* 028577F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028577F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028577F8 */ cpu->r[1] = _t0; /* 028577FC */ _t1 = cpu->r[1] + 0x00000008u; /* 028577FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02857800 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02857800 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02857804 */ cpu->r[30] = cpu->r[3]; /* 02857808 */ _t3 = cpu->r[1] + 0x00000014u; /* 02857808 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285780C */ _t4 = cpu->r[30] + 0x00000008u; /* 0285780C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02857810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02857814 */ cpu->r[31] = cpu->r[4]; /* 02857818 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857818 */ _t6 = _t5 & 0x00000001u; /* 02857818 */ if (_t6) goto L_0285781C; else goto L_028578B8; L_0285781C: ; // 0x285781c /* 0285781C */ cpu->r[0] = 0x46460000u; /* 02857820 */ _t7 = cpu->r[31] + 0x00000000u; /* 02857820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 02857824 */ cpu->r[0] = cpu->r[0] | 0x00004E55u; /* 02857828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 0285782C */ cpu->r[3] = cpu->r[31]; /* 02857830 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857830 */ _t9 = _t8 & 0x00000001u; /* 02857830 */ if (_t9) goto L_02857834; else goto L_0285788C; L_02857834: ; // 0x2857834 /* 02857834 */ cpu->r[4] = 0x46490000u; /* 02857838 */ cpu->r[4] = cpu->r[4] + 0x00004E46u; /* 0285783C */ Gambit_fn_0285764C(cpu); /* 02857840 */ cpu->r[5] = cpu->r[3]; /* 02857840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02857844 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857844 */ _t11 = _t10 & 0x00000001u; /* 02857844 */ if (_t11) goto L_028578B8; else goto L_02857848; L_02857848: ; // 0x2857848 /* 02857848 */ cpu->r[4] = 0x4B520000u; /* 0285784C */ cpu->r[3] = cpu->r[31]; /* 02857850 */ cpu->r[4] = cpu->r[4] + 0x00004E47u; /* 02857854 */ Gambit_fn_0285764C(cpu); /* 02857858 */ cpu->r[6] = cpu->r[3]; /* 0285785C */ cpu->r[3] = cpu->r[30]; /* 02857860 */ cpu->r[4] = cpu->r[31]; /* 02857864 */ Gambit_fn_02858168(cpu); /* 02857868 */ cpu->r[3] = cpu->r[30]; /* 0285786C */ Gambit_fn_02857A88(cpu); /* 02857870 */ _t12 = cpu->r[1] + 0x00000014u; /* 02857870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02857874 */ _t13 = cpu->r[1] + 0x00000008u; /* 02857874 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 02857878 */ cpu->lr = cpu->r[0]; /* 0285787C */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0285787C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 02857880 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857884 */ cpu->r[3] = 0x00000001u; /* 02857888 */ return; L_0285788C: ; // 0x285788c /* 0285788C */ cpu->r[4] = 0x46460000u; /* 02857890 */ cpu->r[5] = 0x03000000u; /* 02857894 */ cpu->r[6] = 0x00000002u; /* 02857898 */ cpu->r[4] = cpu->r[4] + 0x00004E54u; /* 0285789C */ Gambit_fn_0285A050(cpu); /* 028578A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028578A4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 028578A4 */ _t16 = _t15 & 0x00000001u; /* 028578A4 */ if (_t16) goto L_028578B8; else goto L_028578A8; L_028578A8: ; // 0x28578a8 /* 028578A8 */ cpu->r[3] = cpu->r[31]; /* 028578AC */ Gambit_fn_0285768C(cpu); /* 028578B0 */ cpu->r[5] = cpu->r[3]; /* 028578B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028578B4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028578B4 */ _t18 = _t17 & 0x00000001u; /* 028578B4 */ if (_t18) goto L_028578B8; else goto L_02857848; L_028578B8: ; // 0x28578b8 /* 028578B8 */ _t19 = cpu->r[1] + 0x00000014u; /* 028578B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028578BC */ _t20 = cpu->r[1] + 0x00000008u; /* 028578BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 028578C0 */ cpu->lr = cpu->r[0]; /* 028578C4 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028578C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 028578C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028578CC */ cpu->r[3] = 0x00000000u; /* 028578D0 */ return; } // fn_028578D4 @ 0x28578d4 void Gambit_fn_028578D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028578D4: ; // 0x28578d4 /* 028578D4 */ cpu->r[9] = 0x101D0000u; /* 028578D8 */ cpu->r[3] = 0x101D0000u; /* 028578DC */ _t0 = cpu->r[9] + 0x00000F18u; /* 028578DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 028578E0 */ cpu->r[3] = cpu->r[3] + 0x00001710u; /* 028578E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028578E8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028578E8 */ _t2 = _t1 & 0x00000001u; /* 028578E8 */ _t3 = _t2 ^ 0x00000001u; /* 028578E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028578E8 */ goto L_028578EC; L_028578EC: ; // 0x28578ec /* 028578EC */ cpu->r[11] = 0x101D0000u; /* 028578F0 */ _t4 = cpu->r[11] + 0x00000F14u; /* 028578F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 028578F4 */ cpu->r[10] = 0x00000001u; /* 028578F8 */ cpu->r[8] = 0x101D0000u; /* 028578FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02857900 */ cpu->r[11] = 0x101D0000u; /* 02857904 */ cpu->r[8] = cpu->r[8] + 0x00001714u; /* 02857908 */ _t5 = cpu->r[11] + 0x00000F18u; /* 02857908 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]); /* 0285790C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285790C */ _t7 = _t6 & 0x00000001u; /* 0285790C */ if (_t7) goto L_02857910; else goto L_02857948; L_02857910: ; // 0x2857910 /* 02857910 */ cpu->r[12] = 0x101D0000u; /* 02857914 */ cpu->r[10] = 0x101D0000u; /* 02857918 */ _t8 = cpu->r[12] + 0xFFFFD7E4u; /* 02857918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02857918 */ cpu->r[12] = _t8; /* 0285791C */ cpu->r[10] = cpu->r[10] + 0x00000F78u; /* 02857920 */ cpu->r[11] = 0x00000001u; /* 02857924 */ cpu->r[7] = 0x101D0000u; /* 02857928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285792C */ _t9 = cpu->r[7] + 0x00000F14u; /* 0285792C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]); /* 02857930 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857930 */ _t11 = _t10 & 0x00000001u; /* 02857930 */ if (_t11) goto L_02857934; else goto L_02857944; L_02857934: ; // 0x2857934 /* 02857934 */ cpu->r[9] = 0x00000001u; /* 02857938 */ cpu->r[0] = 0x00000000u; /* 0285793C */ _t12 = cpu->r[12] + 0x00000000u; /* 0285793C */ rbrew_write32(cpu->mem, _t12, cpu->r[9]); /* 02857940 */ _t13 = cpu->r[10] + 0x00000000u; /* 02857940 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); L_02857944: ; // 0x2857944 /* 02857944 */ _t14 = cpu->r[8] + 0x00000000u; /* 02857944 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]); L_02857948: ; // 0x2857948 /* 02857948 */ _t15 = cpu->r[3] + 0x00000000u; /* 02857948 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]); /* 0285794C */ return; } // fn_02857950 @ 0x2857950 void Gambit_fn_02857950(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02857950: ; // 0x2857950 /* 02857950 */ _t0 = cpu->r[3] + 0x00000010u; /* 02857950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 02857954 */ cpu->r[12] = cpu->r[3] + 0x00000010u; /* 02857958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285795C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285795C */ _t2 = _t1 & 0x00000001u; /* 0285795C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285795C */ goto L_02857960; L_02857960: ; // 0x2857960 /* 02857960 */ cpu->r[0] = 0x00000000u; /* 02857964 */ _t3 = cpu->r[12] + 0x00000000u; /* 02857964 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02857968 */ return; } // fn_0285796C @ 0x285796c void Gambit_fn_0285796C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285796C: ; // 0x285796c /* 0285796C */ cpu->r[0] = cpu->lr; /* 02857970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02857970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857970 */ cpu->r[1] = _t0; /* 02857974 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02857978 */ _t2 = cpu->r[1] + 0x00000014u; /* 02857978 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285797C */ cpu->r[0] = 0x00000000u; /* 02857980 */ _t3 = cpu->r[3] + 0x00000000u; /* 02857980 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]); /* 02857984 */ cpu->r[9] = 0x00000001u; /* 02857988 */ _t4 = cpu->r[3] + 0x00000018u; /* 02857988 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285798C */ _t5 = cpu->r[3] + 0x0000001Cu; /* 0285798C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]); /* 02857990 */ _t6 = cpu->r[3] + 0x00000084u; /* 02857990 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]); /* 02857994 */ _t7 = cpu->r[3] + 0x00000030u; /* 02857994 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 02857998 */ _t8 = cpu->r[3] + 0x00000078u; /* 02857998 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]); /* 0285799C */ _t9 = cpu->r[3] + 0x00000034u; /* 0285799C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 028579A0 */ _t10 = cpu->r[3] + 0x00000004u; /* 028579A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]); /* 028579A4 */ _t11 = cpu->r[3] + 0x00000074u; /* 028579A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 028579A8 */ _t12 = cpu->r[3] + 0x00000014u; /* 028579A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]); /* 028579AC */ _t13 = cpu->r[3] + 0x0000007Cu; /* 028579AC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 028579B0 */ _t14 = cpu->r[3] + 0x00000008u; /* 028579B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[5]); /* 028579B4 */ _t15 = cpu->r[3] + 0x00000010u; /* 028579B4 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]); /* 028579B8 */ _t16 = cpu->r[3] + 0x00000080u; /* 028579B8 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]); /* 028579BC */ cpu->r[31] = cpu->r[3]; /* 028579C0 */ _t17 = cpu->r[3] + 0x0000000Cu; /* 028579C0 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]); /* 028579C4 */ rbrew_dispatch(cpu, 0x02d05878u); /* 028579C8 */ cpu->r[3] = cpu->r[31]; /* 028579CC */ rbrew_dispatch(cpu, 0x02d05c88u); /* 028579D0 */ _t18 = cpu->r[1] + 0x00000014u; /* 028579D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028579D4 */ cpu->lr = cpu->r[0]; /* 028579D8 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 028579D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 028579DC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028579E0 */ return; } // fn_02857970 @ 0x2857970 void Gambit_fn_02857970(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02857970: ; // 0x2857970 /* 02857970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02857970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857970 */ cpu->r[1] = _t0; /* 02857974 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02857978 */ _t2 = cpu->r[1] + 0x00000014u; /* 02857978 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285797C */ cpu->r[0] = 0x00000000u; /* 02857980 */ _t3 = cpu->r[3] + 0x00000000u; /* 02857980 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]); /* 02857984 */ cpu->r[9] = 0x00000001u; /* 02857988 */ _t4 = cpu->r[3] + 0x00000018u; /* 02857988 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285798C */ _t5 = cpu->r[3] + 0x0000001Cu; /* 0285798C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]); /* 02857990 */ _t6 = cpu->r[3] + 0x00000084u; /* 02857990 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]); /* 02857994 */ _t7 = cpu->r[3] + 0x00000030u; /* 02857994 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 02857998 */ _t8 = cpu->r[3] + 0x00000078u; /* 02857998 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]); /* 0285799C */ _t9 = cpu->r[3] + 0x00000034u; /* 0285799C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 028579A0 */ _t10 = cpu->r[3] + 0x00000004u; /* 028579A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]); /* 028579A4 */ _t11 = cpu->r[3] + 0x00000074u; /* 028579A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 028579A8 */ _t12 = cpu->r[3] + 0x00000014u; /* 028579A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]); /* 028579AC */ _t13 = cpu->r[3] + 0x0000007Cu; /* 028579AC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 028579B0 */ _t14 = cpu->r[3] + 0x00000008u; /* 028579B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[5]); /* 028579B4 */ _t15 = cpu->r[3] + 0x00000010u; /* 028579B4 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]); /* 028579B8 */ _t16 = cpu->r[3] + 0x00000080u; /* 028579B8 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]); /* 028579BC */ cpu->r[31] = cpu->r[3]; /* 028579C0 */ _t17 = cpu->r[3] + 0x0000000Cu; /* 028579C0 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]); /* 028579C4 */ rbrew_dispatch(cpu, 0x02d05878u); /* 028579C8 */ cpu->r[3] = cpu->r[31]; /* 028579CC */ rbrew_dispatch(cpu, 0x02d05c88u); /* 028579D0 */ _t18 = cpu->r[1] + 0x00000014u; /* 028579D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 028579D4 */ cpu->lr = cpu->r[0]; /* 028579D8 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 028579D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 028579DC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028579E0 */ return; } // fn_028579E4 @ 0x28579e4 void Gambit_fn_028579E4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23; L_028579E4: ; // 0x28579e4 /* 028579E4 */ cpu->r[0] = cpu->lr; /* 028579E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028579E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028579E8 */ cpu->r[1] = _t0; /* 028579EC */ _t1 = cpu->r[1] + 0x00000008u; /* 028579EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028579F0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028579F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028579F4 */ cpu->r[30] = cpu->r[4]; /* 028579F8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028579F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028579FC */ _t4 = cpu->r[30] + 0x00000000u; /* 028579FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4); /* 02857A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02857A04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857A04 */ _t6 = _t5 & 0x00000001u; /* 02857A04 */ if (_t6) goto L_02857A08; else goto L_02857A70; L_02857A08: ; // 0x2857a08 /* 02857A08 */ _t7 = cpu->r[30] + 0x0000000Au; /* 02857A08 */ cpu->r[4] = rbrew_read16(cpu->mem, _t7); /* 02857A0C */ cpu->r[11] = 0x10130000u; /* 02857A10 */ _t8 = cpu->r[30] + 0x00000008u; /* 02857A10 */ cpu->r[5] = rbrew_read16(cpu->mem, _t8); /* 02857A14 */ cpu->r[7] = 0x00000001u; /* 02857A18 */ cpu->r[12] = 0x10130000u; /* 02857A1C */ _t9 = cpu->r[30] + 0x0000000Cu; /* 02857A1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t9); /* 02857A20 */ cpu->r[11] = cpu->r[11] + 0x00001B50u; /* 02857A24 */ cpu->r[12] = cpu->r[12] + 0x00001B98u; /* 02857A28 */ _t10 = cpu->r[30] + 0x0000000Du; /* 02857A28 */ cpu->r[6] = rbrew_read8(cpu->mem, _t10); /* 02857A2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02857A30 */ _t11 = cpu->r[30] + 0x00000000u; /* 02857A30 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]); /* 02857A34 */ _t12 = cpu->r[12] + cpu->r[0]; /* 02857A34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 02857A38 */ cpu->r[31] = cpu->r[30] + 0x00000010u; /* 02857A3C */ _t13 = cpu->r[11] + cpu->r[0]; /* 02857A3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 02857A40 */ cpu->r[3] = cpu->r[31]; /* 02857A44 */ cpu->r[9] = 0x00000005u; /* 02857A48 */ Gambit_fn_0285796C(cpu); /* 02857A4C */ _t14 = cpu->r[30] + 0x00000004u; /* 02857A4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 02857A50 */ _t15 = cpu->r[30] + 0x00000020u; /* 02857A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02857A54 */ _t16 = cpu->r[30] + 0x00000034u; /* 02857A54 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]); /* 02857A58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 02857A5C */ cpu->r[9] = 0x00000000u; /* 02857A60 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u); /* 02857A60 */ _t18 = _t17 & 0x00000001u; /* 02857A60 */ if (_t18) goto L_02857A64; else goto L_02857A6C; L_02857A64: ; // 0x2857a64 /* 02857A64 */ _t19 = cpu->r[31] + 0x00000040u; /* 02857A64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 02857A68 */ cpu->r[9] = cpu->r[10] + cpu->r[8]; L_02857A6C: ; // 0x2857a6c /* 02857A6C */ _t20 = cpu->r[31] + 0x0000002Cu; /* 02857A6C */ rbrew_write32(cpu->mem, _t20, cpu->r[9]); L_02857A70: ; // 0x2857a70 /* 02857A70 */ _t21 = cpu->r[1] + 0x00000014u; /* 02857A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 02857A74 */ _t22 = cpu->r[1] + 0x00000008u; /* 02857A74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 02857A78 */ cpu->lr = cpu->r[0]; /* 02857A7C */ _t23 = cpu->r[1] + 0x0000000Cu; /* 02857A7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 02857A80 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857A84 */ return; } // fn_028579E8 @ 0x28579e8 void Gambit_fn_028579E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23; L_028579E8: ; // 0x28579e8 /* 028579E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028579E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028579E8 */ cpu->r[1] = _t0; /* 028579EC */ _t1 = cpu->r[1] + 0x00000008u; /* 028579EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 028579F0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028579F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 028579F4 */ cpu->r[30] = cpu->r[4]; /* 028579F8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028579F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 028579FC */ _t4 = cpu->r[30] + 0x00000000u; /* 028579FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4); /* 02857A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02857A04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857A04 */ _t6 = _t5 & 0x00000001u; /* 02857A04 */ if (_t6) goto L_02857A08; else goto L_02857A70; L_02857A08: ; // 0x2857a08 /* 02857A08 */ _t7 = cpu->r[30] + 0x0000000Au; /* 02857A08 */ cpu->r[4] = rbrew_read16(cpu->mem, _t7); /* 02857A0C */ cpu->r[11] = 0x10130000u; /* 02857A10 */ _t8 = cpu->r[30] + 0x00000008u; /* 02857A10 */ cpu->r[5] = rbrew_read16(cpu->mem, _t8); /* 02857A14 */ cpu->r[7] = 0x00000001u; /* 02857A18 */ cpu->r[12] = 0x10130000u; /* 02857A1C */ _t9 = cpu->r[30] + 0x0000000Cu; /* 02857A1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t9); /* 02857A20 */ cpu->r[11] = cpu->r[11] + 0x00001B50u; /* 02857A24 */ cpu->r[12] = cpu->r[12] + 0x00001B98u; /* 02857A28 */ _t10 = cpu->r[30] + 0x0000000Du; /* 02857A28 */ cpu->r[6] = rbrew_read8(cpu->mem, _t10); /* 02857A2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02857A30 */ _t11 = cpu->r[30] + 0x00000000u; /* 02857A30 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]); /* 02857A34 */ _t12 = cpu->r[12] + cpu->r[0]; /* 02857A34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 02857A38 */ cpu->r[31] = cpu->r[30] + 0x00000010u; /* 02857A3C */ _t13 = cpu->r[11] + cpu->r[0]; /* 02857A3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 02857A40 */ cpu->r[3] = cpu->r[31]; /* 02857A44 */ cpu->r[9] = 0x00000005u; /* 02857A48 */ Gambit_fn_0285796C(cpu); /* 02857A4C */ _t14 = cpu->r[30] + 0x00000004u; /* 02857A4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 02857A50 */ _t15 = cpu->r[30] + 0x00000020u; /* 02857A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02857A54 */ _t16 = cpu->r[30] + 0x00000034u; /* 02857A54 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]); /* 02857A58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 02857A5C */ cpu->r[9] = 0x00000000u; /* 02857A60 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u); /* 02857A60 */ _t18 = _t17 & 0x00000001u; /* 02857A60 */ if (_t18) goto L_02857A64; else goto L_02857A6C; L_02857A64: ; // 0x2857a64 /* 02857A64 */ _t19 = cpu->r[31] + 0x00000040u; /* 02857A64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 02857A68 */ cpu->r[9] = cpu->r[10] + cpu->r[8]; L_02857A6C: ; // 0x2857a6c /* 02857A6C */ _t20 = cpu->r[31] + 0x0000002Cu; /* 02857A6C */ rbrew_write32(cpu->mem, _t20, cpu->r[9]); L_02857A70: ; // 0x2857a70 /* 02857A70 */ _t21 = cpu->r[1] + 0x00000014u; /* 02857A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 02857A74 */ _t22 = cpu->r[1] + 0x00000008u; /* 02857A74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 02857A78 */ cpu->lr = cpu->r[0]; /* 02857A7C */ _t23 = cpu->r[1] + 0x0000000Cu; /* 02857A7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 02857A80 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857A84 */ return; } // fn_02857A88 @ 0x2857a88 void Gambit_fn_02857A88(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_02857A88: ; // 0x2857a88 /* 02857A88 */ cpu->r[0] = cpu->lr; /* 02857A8C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02857A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857A8C */ cpu->r[1] = _t0; /* 02857A90 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857A90 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02857A94 */ _t2 = cpu->r[1] + 0x00000010u; /* 02857A94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02857A98 */ _t3 = cpu->r[1] + 0x00000014u; /* 02857A98 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02857A9C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02857A9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02857AA0 */ _t5 = cpu->r[3] + 0x00000004u; /* 02857AA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02857AA4 */ _t6 = cpu->r[12] + 0x000000FCu; /* 02857AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02857AA8 */ cpu->ctr = cpu->r[0]; /* 02857AAC */ _t7 = cpu->r[3] + 0x0000000Cu; /* 02857AAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 02857AB0 */ cpu->r[29] = cpu->r[3] + 0x00000010u; /* 02857AB4 */ _t8 = cpu->r[11] + 0x0000000Cu; /* 02857AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 02857AB8 */ cpu->r[30] = cpu->r[3]; /* 02857ABC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02857AC0 */ _t9 = cpu->r[31] + 0x00000014u; /* 02857AC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 02857AC4 */ cpu->r[9] = cpu->r[3]; /* 02857AC8 */ _t10 = cpu->r[31] + 0x00000012u; /* 02857AC8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t10); /* 02857ACC */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02857AD0 */ _t11 = cpu->r[31] + 0x0000000Au; /* 02857AD0 */ cpu->r[6] = rbrew_read16(cpu->mem, _t11); /* 02857AD4 */ cpu->r[3] = cpu->r[29]; /* 02857AD8 */ _t12 = cpu->r[31] + 0x00000010u; /* 02857AD8 */ cpu->r[7] = rbrew_read16(cpu->mem, _t12); /* 02857ADC */ cpu->r[4] = 0x00000000u; /* 02857AE0 */ cpu->r[10] = 0x00000001u; /* 02857AE4 */ Gambit_fn_02854E58(cpu); /* 02857AE8 */ cpu->r[4] = cpu->r[29]; /* 02857AEC */ cpu->r[3] = cpu->r[30]; /* 02857AF0 */ Gambit_fn_028579E4(cpu); /* 02857AF4 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 02857AF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 02857AF8 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 02857AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02857AFC */ _t15 = cpu->r[1] + 0x00000014u; /* 02857AFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02857B00 */ cpu->lr = cpu->r[0]; /* 02857B04 */ _t16 = cpu->r[1] + 0x00000010u; /* 02857B04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 02857B08 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02857B0C */ return; } // fn_02857A8C @ 0x2857a8c void Gambit_fn_02857A8C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_02857A8C: ; // 0x2857a8c /* 02857A8C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02857A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857A8C */ cpu->r[1] = _t0; /* 02857A90 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857A90 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02857A94 */ _t2 = cpu->r[1] + 0x00000010u; /* 02857A94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02857A98 */ _t3 = cpu->r[1] + 0x00000014u; /* 02857A98 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02857A9C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02857A9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02857AA0 */ _t5 = cpu->r[3] + 0x00000004u; /* 02857AA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02857AA4 */ _t6 = cpu->r[12] + 0x000000FCu; /* 02857AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02857AA8 */ cpu->ctr = cpu->r[0]; /* 02857AAC */ _t7 = cpu->r[3] + 0x0000000Cu; /* 02857AAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 02857AB0 */ cpu->r[29] = cpu->r[3] + 0x00000010u; /* 02857AB4 */ _t8 = cpu->r[11] + 0x0000000Cu; /* 02857AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 02857AB8 */ cpu->r[30] = cpu->r[3]; /* 02857ABC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02857AC0 */ _t9 = cpu->r[31] + 0x00000014u; /* 02857AC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 02857AC4 */ cpu->r[9] = cpu->r[3]; /* 02857AC8 */ _t10 = cpu->r[31] + 0x00000012u; /* 02857AC8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t10); /* 02857ACC */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02857AD0 */ _t11 = cpu->r[31] + 0x0000000Au; /* 02857AD0 */ cpu->r[6] = rbrew_read16(cpu->mem, _t11); /* 02857AD4 */ cpu->r[3] = cpu->r[29]; /* 02857AD8 */ _t12 = cpu->r[31] + 0x00000010u; /* 02857AD8 */ cpu->r[7] = rbrew_read16(cpu->mem, _t12); /* 02857ADC */ cpu->r[4] = 0x00000000u; /* 02857AE0 */ cpu->r[10] = 0x00000001u; /* 02857AE4 */ Gambit_fn_02854E58(cpu); /* 02857AE8 */ cpu->r[4] = cpu->r[29]; /* 02857AEC */ cpu->r[3] = cpu->r[30]; /* 02857AF0 */ Gambit_fn_028579E4(cpu); /* 02857AF4 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 02857AF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 02857AF8 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 02857AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02857AFC */ _t15 = cpu->r[1] + 0x00000014u; /* 02857AFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02857B00 */ cpu->lr = cpu->r[0]; /* 02857B04 */ _t16 = cpu->r[1] + 0x00000010u; /* 02857B04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 02857B08 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02857B0C */ return; } // fn_02857B10 @ 0x2857b10 void Gambit_fn_02857B10(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02857B10: ; // 0x2857b10 /* 02857B10 */ cpu->r[0] = cpu->lr; /* 02857B14 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02857B18 */ _t0 = cpu->r[1] + 0x00000004u; /* 02857B18 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02857B1C */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02857B20 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02857B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02857B20 */ cpu->r[1] = _t1; /* 02857B24 */ _t2 = cpu->r[3] + 0x00000008u; /* 02857B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02857B28 */ cpu->r[12] = cpu->r[10] | cpu->r[11]; /* 02857B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02857B30 */ _t3 = cpu->r[3] + 0x000000BCu; /* 02857B30 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 02857B34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857B34 */ _t5 = _t4 & 0x00000001u; /* 02857B34 */ if (_t5) goto L_02857B40; else goto L_02857B38; L_02857B38: ; // 0x2857b38 /* 02857B38 */ Gambit_fn_02857950(cpu); /* 02857B3C */ Gambit_fn_02857A88(cpu); L_02857B40: ; // 0x2857b40 /* 02857B40 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 02857B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02857B44 */ cpu->lr = cpu->r[0]; /* 02857B48 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02857B4C */ return; } // fn_02857B20 @ 0x2857b20 void Gambit_fn_02857B20(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02857B20: ; // 0x2857b20 /* 02857B20 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02857B20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857B20 */ cpu->r[1] = _t0; /* 02857B24 */ _t1 = cpu->r[3] + 0x00000008u; /* 02857B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 02857B28 */ cpu->r[12] = cpu->r[10] | cpu->r[11]; /* 02857B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02857B30 */ _t2 = cpu->r[3] + 0x000000BCu; /* 02857B30 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 02857B34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857B34 */ _t4 = _t3 & 0x00000001u; /* 02857B34 */ if (_t4) goto L_02857B40; else goto L_02857B38; L_02857B38: ; // 0x2857b38 /* 02857B38 */ Gambit_fn_02857950(cpu); /* 02857B3C */ Gambit_fn_02857A88(cpu); L_02857B40: ; // 0x2857b40 /* 02857B40 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 02857B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02857B44 */ cpu->lr = cpu->r[0]; /* 02857B48 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02857B4C */ return; } // fn_02857B50 @ 0x2857b50 void Gambit_fn_02857B50(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_02857B50: ; // 0x2857b50 /* 02857B50 */ cpu->r[0] = cpu->lr; /* 02857B54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02857B54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857B54 */ cpu->r[1] = _t0; /* 02857B58 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857B58 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02857B5C */ _t2 = cpu->r[1] + 0x00000014u; /* 02857B5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02857B60 */ _t3 = cpu->r[1] + 0x00000010u; /* 02857B60 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02857B64 */ cpu->r[31] = cpu->r[3]; /* 02857B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02857B68 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02857B68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02857B6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857B6C */ _t6 = _t5 & 0x00000001u; /* 02857B6C */ if (_t6) goto L_02857B70; else goto L_02857B80; L_02857B70: ; // 0x2857b70 /* 02857B70 */ cpu->r[3] = 0x000000C4u; /* 02857B74 */ Gambit_fn_02801A78(cpu); /* 02857B78 */ cpu->r[31] = cpu->r[3]; /* 02857B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02857B7C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857B7C */ _t8 = _t7 & 0x00000001u; /* 02857B7C */ if (_t8) goto L_02857BF4; else goto L_02857B80; L_02857B80: ; // 0x2857b80 /* 02857B80 */ cpu->r[3] = cpu->r[31]; /* 02857B84 */ Gambit_fn_02854D3C(cpu); /* 02857B88 */ cpu->r[29] = 0x00000000u; /* 02857B8C */ cpu->r[0] = 0x10130000u; /* 02857B90 */ _t9 = cpu->r[31] + 0x00000008u; /* 02857B90 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]); /* 02857B94 */ cpu->r[0] = cpu->r[0] + 0x00001BE0u; /* 02857B98 */ _t10 = cpu->r[31] + 0x0000000Cu; /* 02857B98 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]); /* 02857B9C */ cpu->r[30] = cpu->r[31] + 0x00000010u; /* 02857B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02857BA0 */ _t11 = cpu->r[31] + 0x00000004u; /* 02857BA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 02857BA4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857BA4 */ _t13 = _t12 & 0x00000001u; /* 02857BA4 */ if (_t13) goto L_02857BA8; else goto L_02857BB8; L_02857BA8: ; // 0x2857ba8 /* 02857BA8 */ cpu->r[3] = 0x000000ACu; /* 02857BAC */ Gambit_fn_02801A78(cpu); /* 02857BB0 */ cpu->r[30] = cpu->r[3]; /* 02857BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02857BB4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857BB4 */ _t15 = _t14 & 0x00000001u; /* 02857BB4 */ if (_t15) goto L_02857BE0; else goto L_02857BB8; L_02857BB8: ; // 0x2857bb8 /* 02857BB8 */ cpu->r[4] = 0x00000000u; /* 02857BBC */ cpu->r[3] = cpu->r[30]; /* 02857BC0 */ cpu->r[10] = 0x00000001u; /* 02857BC4 */ cpu->r[7] = cpu->r[4]; /* 02857BC8 */ cpu->r[5] = cpu->r[4]; /* 02857BCC */ cpu->r[6] = 0x0000000Cu; /* 02857BD0 */ cpu->r[8] = cpu->r[7]; /* 02857BD4 */ cpu->r[9] = cpu->r[7]; /* 02857BD8 */ Gambit_fn_02854E58(cpu); /* 02857BDC */ _t16 = cpu->r[30] + 0x00000034u; /* 02857BDC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); L_02857BE0: ; // 0x2857be0 /* 02857BE0 */ cpu->r[4] = 0x00000001u; /* 02857BE4 */ cpu->r[3] = cpu->r[31]; /* 02857BE8 */ cpu->r[5] = cpu->r[4]; /* 02857BEC */ _t17 = cpu->r[31] + 0x000000C0u; /* 02857BEC */ rbrew_write32(cpu->mem, _t17, cpu->r[29]); /* 02857BF0 */ Gambit_fn_02857B10(cpu); L_02857BF4: ; // 0x2857bf4 /* 02857BF4 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 02857BF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 02857BF8 */ _t19 = cpu->r[1] + 0x0000001Cu; /* 02857BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02857BFC */ cpu->r[3] = cpu->r[31]; /* 02857C00 */ _t20 = cpu->r[1] + 0x00000010u; /* 02857C00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 02857C04 */ cpu->lr = cpu->r[0]; /* 02857C08 */ _t21 = cpu->r[1] + 0x00000014u; /* 02857C08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 02857C0C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02857C10 */ return; } // fn_02857B54 @ 0x2857b54 void Gambit_fn_02857B54(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_02857B54: ; // 0x2857b54 /* 02857B54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02857B54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857B54 */ cpu->r[1] = _t0; /* 02857B58 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857B58 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02857B5C */ _t2 = cpu->r[1] + 0x00000014u; /* 02857B5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02857B60 */ _t3 = cpu->r[1] + 0x00000010u; /* 02857B60 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02857B64 */ cpu->r[31] = cpu->r[3]; /* 02857B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02857B68 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02857B68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02857B6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857B6C */ _t6 = _t5 & 0x00000001u; /* 02857B6C */ if (_t6) goto L_02857B70; else goto L_02857B80; L_02857B70: ; // 0x2857b70 /* 02857B70 */ cpu->r[3] = 0x000000C4u; /* 02857B74 */ Gambit_fn_02801A78(cpu); /* 02857B78 */ cpu->r[31] = cpu->r[3]; /* 02857B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02857B7C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857B7C */ _t8 = _t7 & 0x00000001u; /* 02857B7C */ if (_t8) goto L_02857BF4; else goto L_02857B80; L_02857B80: ; // 0x2857b80 /* 02857B80 */ cpu->r[3] = cpu->r[31]; /* 02857B84 */ Gambit_fn_02854D3C(cpu); /* 02857B88 */ cpu->r[29] = 0x00000000u; /* 02857B8C */ cpu->r[0] = 0x10130000u; /* 02857B90 */ _t9 = cpu->r[31] + 0x00000008u; /* 02857B90 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]); /* 02857B94 */ cpu->r[0] = cpu->r[0] + 0x00001BE0u; /* 02857B98 */ _t10 = cpu->r[31] + 0x0000000Cu; /* 02857B98 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]); /* 02857B9C */ cpu->r[30] = cpu->r[31] + 0x00000010u; /* 02857B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02857BA0 */ _t11 = cpu->r[31] + 0x00000004u; /* 02857BA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 02857BA4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857BA4 */ _t13 = _t12 & 0x00000001u; /* 02857BA4 */ if (_t13) goto L_02857BA8; else goto L_02857BB8; L_02857BA8: ; // 0x2857ba8 /* 02857BA8 */ cpu->r[3] = 0x000000ACu; /* 02857BAC */ Gambit_fn_02801A78(cpu); /* 02857BB0 */ cpu->r[30] = cpu->r[3]; /* 02857BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02857BB4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857BB4 */ _t15 = _t14 & 0x00000001u; /* 02857BB4 */ if (_t15) goto L_02857BE0; else goto L_02857BB8; L_02857BB8: ; // 0x2857bb8 /* 02857BB8 */ cpu->r[4] = 0x00000000u; /* 02857BBC */ cpu->r[3] = cpu->r[30]; /* 02857BC0 */ cpu->r[10] = 0x00000001u; /* 02857BC4 */ cpu->r[7] = cpu->r[4]; /* 02857BC8 */ cpu->r[5] = cpu->r[4]; /* 02857BCC */ cpu->r[6] = 0x0000000Cu; /* 02857BD0 */ cpu->r[8] = cpu->r[7]; /* 02857BD4 */ cpu->r[9] = cpu->r[7]; /* 02857BD8 */ Gambit_fn_02854E58(cpu); /* 02857BDC */ _t16 = cpu->r[30] + 0x00000034u; /* 02857BDC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); L_02857BE0: ; // 0x2857be0 /* 02857BE0 */ cpu->r[4] = 0x00000001u; /* 02857BE4 */ cpu->r[3] = cpu->r[31]; /* 02857BE8 */ cpu->r[5] = cpu->r[4]; /* 02857BEC */ _t17 = cpu->r[31] + 0x000000C0u; /* 02857BEC */ rbrew_write32(cpu->mem, _t17, cpu->r[29]); /* 02857BF0 */ Gambit_fn_02857B10(cpu); L_02857BF4: ; // 0x2857bf4 /* 02857BF4 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 02857BF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 02857BF8 */ _t19 = cpu->r[1] + 0x0000001Cu; /* 02857BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02857BFC */ cpu->r[3] = cpu->r[31]; /* 02857C00 */ _t20 = cpu->r[1] + 0x00000010u; /* 02857C00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 02857C04 */ cpu->lr = cpu->r[0]; /* 02857C08 */ _t21 = cpu->r[1] + 0x00000014u; /* 02857C08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 02857C0C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02857C10 */ return; } // fn_02857C14 @ 0x2857c14 void Gambit_fn_02857C14(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_02857C14: ; // 0x2857c14 /* 02857C14 */ cpu->r[0] = cpu->lr; /* 02857C18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02857C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857C18 */ cpu->r[1] = _t0; /* 02857C1C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857C1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02857C20 */ _t2 = cpu->r[1] + 0x00000008u; /* 02857C20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02857C24 */ cpu->r[30] = cpu->r[3]; /* 02857C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02857C28 */ cpu->r[31] = cpu->r[4]; /* 02857C2C */ _t3 = cpu->r[1] + 0x00000014u; /* 02857C2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02857C30 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857C30 */ _t5 = _t4 & 0x00000001u; /* 02857C30 */ if (_t5) goto L_02857C74; else goto L_02857C34; L_02857C34: ; // 0x2857c34 /* 02857C34 */ cpu->r[4] = 0x00000000u; /* 02857C38 */ cpu->r[3] = cpu->r[30] + 0x00000010u; /* 02857C3C */ cpu->r[10] = 0x00000001u; /* 02857C40 */ cpu->r[7] = cpu->r[4]; /* 02857C44 */ cpu->r[5] = cpu->r[4]; /* 02857C48 */ cpu->r[6] = 0x0000000Cu; /* 02857C4C */ cpu->r[8] = cpu->r[7]; /* 02857C50 */ cpu->r[9] = cpu->r[7]; /* 02857C54 */ Gambit_fn_02854E58(cpu); /* 02857C58 */ cpu->r[3] = cpu->r[30]; /* 02857C5C */ cpu->r[4] = 0x00000000u; /* 02857C60 */ Gambit_fn_02854DA4(cpu); /* 02857C64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02857C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02857C68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857C68 */ _t7 = _t6 & 0x00000001u; /* 02857C68 */ if (_t7) goto L_02857C74; else goto L_02857C6C; L_02857C6C: ; // 0x2857c6c /* 02857C6C */ cpu->r[3] = cpu->r[30]; /* 02857C70 */ Gambit_fn_02801BB0(cpu); L_02857C74: ; // 0x2857c74 /* 02857C74 */ _t8 = cpu->r[1] + 0x00000014u; /* 02857C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02857C78 */ _t9 = cpu->r[1] + 0x00000008u; /* 02857C78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 02857C7C */ cpu->lr = cpu->r[0]; /* 02857C80 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 02857C80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 02857C84 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857C88 */ return; } // fn_02857C18 @ 0x2857c18 void Gambit_fn_02857C18(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_02857C18: ; // 0x2857c18 /* 02857C18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02857C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857C18 */ cpu->r[1] = _t0; /* 02857C1C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857C1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02857C20 */ _t2 = cpu->r[1] + 0x00000008u; /* 02857C20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02857C24 */ cpu->r[30] = cpu->r[3]; /* 02857C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02857C28 */ cpu->r[31] = cpu->r[4]; /* 02857C2C */ _t3 = cpu->r[1] + 0x00000014u; /* 02857C2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02857C30 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857C30 */ _t5 = _t4 & 0x00000001u; /* 02857C30 */ if (_t5) goto L_02857C74; else goto L_02857C34; L_02857C34: ; // 0x2857c34 /* 02857C34 */ cpu->r[4] = 0x00000000u; /* 02857C38 */ cpu->r[3] = cpu->r[30] + 0x00000010u; /* 02857C3C */ cpu->r[10] = 0x00000001u; /* 02857C40 */ cpu->r[7] = cpu->r[4]; /* 02857C44 */ cpu->r[5] = cpu->r[4]; /* 02857C48 */ cpu->r[6] = 0x0000000Cu; /* 02857C4C */ cpu->r[8] = cpu->r[7]; /* 02857C50 */ cpu->r[9] = cpu->r[7]; /* 02857C54 */ Gambit_fn_02854E58(cpu); /* 02857C58 */ cpu->r[3] = cpu->r[30]; /* 02857C5C */ cpu->r[4] = 0x00000000u; /* 02857C60 */ Gambit_fn_02854DA4(cpu); /* 02857C64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02857C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02857C68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857C68 */ _t7 = _t6 & 0x00000001u; /* 02857C68 */ if (_t7) goto L_02857C74; else goto L_02857C6C; L_02857C6C: ; // 0x2857c6c /* 02857C6C */ cpu->r[3] = cpu->r[30]; /* 02857C70 */ Gambit_fn_02801BB0(cpu); L_02857C74: ; // 0x2857c74 /* 02857C74 */ _t8 = cpu->r[1] + 0x00000014u; /* 02857C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02857C78 */ _t9 = cpu->r[1] + 0x00000008u; /* 02857C78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 02857C7C */ cpu->lr = cpu->r[0]; /* 02857C80 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 02857C80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 02857C84 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857C88 */ return; } // fn_02857C8C @ 0x2857c8c void Gambit_fn_02857C8C(CPUState* cpu) { uint32_t _t0, _t1; L_02857C8C: ; // 0x2857c8c /* 02857C8C */ _t0 = cpu->r[3] + 0x0000000Cu; /* 02857C8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02857C90 */ _t1 = cpu->r[12] + 0x00000002u; /* 02857C90 */ cpu->r[3] = rbrew_read8(cpu->mem, _t1); /* 02857C94 */ return; } // fn_02857C98 @ 0x2857c98 void Gambit_fn_02857C98(CPUState* cpu) { uint32_t _t0, _t1; L_02857C98: ; // 0x2857c98 /* 02857C98 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 02857C98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02857C9C */ _t1 = cpu->r[12] + 0x00000001u; /* 02857C9C */ cpu->r[3] = rbrew_read8(cpu->mem, _t1); /* 02857CA0 */ return; } // fn_02857CA4 @ 0x2857ca4 void Gambit_fn_02857CA4(CPUState* cpu) { uint32_t _t0, _t1; L_02857CA4: ; // 0x2857ca4 /* 02857CA4 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 02857CA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02857CA8 */ _t1 = cpu->r[12] + 0x00000003u; /* 02857CA8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t1); /* 02857CAC */ return; } // fn_02857CB0 @ 0x2857cb0 void Gambit_fn_02857CB0(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_02857CB0: ; // 0x2857cb0 /* 02857CB0 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 02857CB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02857CB4 */ _t1 = cpu->r[12] + 0x0000000Cu; /* 02857CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02857CB8 */ _t2 = cpu->r[12] + 0x0000000Au; /* 02857CB8 */ cpu->r[3] = rbrew_read16(cpu->mem, _t2); /* 02857CBC */ return; } // fn_02857CC0 @ 0x2857cc0 void Gambit_fn_02857CC0(CPUState* cpu) { uint32_t _t0, _t1; L_02857CC0: ; // 0x2857cc0 /* 02857CC0 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 02857CC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02857CC4 */ _t1 = cpu->r[12] + 0x00000004u; /* 02857CC4 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t1); /* 02857CC8 */ return; } // fn_02857D8C @ 0x2857d8c void Gambit_fn_02857D8C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36; L_02857CCC: ; // 0x2857ccc /* 02857CCC */ _t0 = cpu->r[4] + 0x00000004u; /* 02857CCC */ cpu->r[0] = rbrew_read16(cpu->mem, _t0); /* 02857CD0 */ cpu->r[3] = 0x00010000u; /* 02857CD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 02857CD8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu; /* 02857CDC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u); /* 02857CDC */ _t2 = _t1 & 0x00000001u; /* 02857CDC */ if (_t2) goto L_02857CF0; else goto L_02857CE0; L_02857CE0: ; // 0x2857ce0 /* 02857CE0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857CE0 */ _t4 = _t3 & 0x00000001u; /* 02857CE0 */ if (_t4) goto L_02857D08; else goto L_02857CE4; L_02857CE4: ; // 0x2857ce4 /* 02857CE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 02857CE8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857CE8 */ _t6 = _t5 & 0x00000001u; /* 02857CE8 */ if (_t6) goto L_02857D20; else goto L_02857CEC; L_02857CEC: ; // 0x2857cec /* 02857CEC */ return; L_02857CF0: ; // 0x2857cf0 /* 02857CF0 */ _t7 = cpu->r[4] + 0x00000000u; /* 02857CF0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t7); /* 02857CF4 */ _t8 = cpu->r[4] + 0x0000000Cu; /* 02857CF4 */ cpu->r[8] = rbrew_read16(cpu->mem, _t8); /* 02857CF8 */ cpu->r[6] = cpu->r[5] - cpu->r[7]; /* 02857CFC */ cpu->r[3] = cpu->r[6] + cpu->r[8]; /* 02857D00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02857D04 */ return; L_02857D08: ; // 0x2857d08 /* 02857D08 */ _t9 = cpu->r[4] + 0x00000000u; /* 02857D08 */ cpu->r[10] = rbrew_read16(cpu->mem, _t9); /* 02857D0C */ cpu->r[9] = cpu->r[5] - cpu->r[10]; /* 02857D10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02857D14 */ cpu->r[12] = cpu->r[4] + cpu->r[0]; /* 02857D18 */ _t10 = cpu->r[12] + 0x0000000Cu; /* 02857D18 */ cpu->r[3] = rbrew_read16(cpu->mem, _t10); /* 02857D1C */ return; L_02857D20: ; // 0x2857d20 /* 02857D20 */ _t11 = cpu->r[4] + 0x0000000Cu; /* 02857D20 */ cpu->r[11] = rbrew_read16(cpu->mem, _t11); /* 02857D24 */ cpu->r[9] = cpu->r[4] + 0x0000000Au; /* 02857D28 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02857D2C */ cpu->r[6] = cpu->r[4] + 0x0000000Eu; /* 02857D30 */ cpu->r[7] = cpu->r[9] + cpu->r[10]; /* 02857D34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 02857D38 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u); /* 02857D38 */ _t13 = _t12 & 0x00000001u; /* 02857D38 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02857D38 */ goto L_02857D3C; L_02857D3C: ; // 0x2857d3c /* 02857D3C */ cpu->r[12] = cpu->r[7] - cpu->r[6]; /* 02857D40 */ /* nop */ /* 02857D44 */ /* nop */ /* 02857D48 */ cpu->r[9] = cpu->r[10]; /* 02857D4C */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02857D50 */ _t14 = cpu->r[6] + cpu->r[11]; /* 02857D50 */ cpu->r[12] = rbrew_read16(cpu->mem, _t14); /* 02857D54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]); /* 02857D58 */ cpu->r[8] = cpu->r[6] + cpu->r[11]; /* 02857D5C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 02857D5C */ _t16 = _t15 & 0x00000001u; /* 02857D5C */ if (_t16) goto L_02857D74; else goto L_02857D60; L_02857D60: ; // 0x2857d60 /* 02857D60 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u); /* 02857D60 */ _t18 = _t17 & 0x00000001u; /* 02857D60 */ if (_t18) goto L_02857D64; else goto L_02857D84; L_02857D64: ; // 0x2857d64 /* 02857D64 */ cpu->r[6] = cpu->r[8] + 0x00000004u; /* 02857D68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 02857D6C */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 02857D6C */ _t20 = _t19 & 0x00000001u; /* 02857D6C */ if (_t20) goto L_02857D70; else goto L_02857D3C; L_02857D70: ; // 0x2857d70 /* 02857D70 */ return; L_02857D74: ; // 0x2857d74 /* 02857D74 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFCu; /* 02857D78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 02857D7C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u); /* 02857D7C */ _t22 = _t21 & 0x00000001u; /* 02857D7C */ if (_t22) goto L_02857D80; else goto L_02857D3C; L_02857D80: ; // 0x2857d80 /* 02857D80 */ return; L_02857D84: ; // 0x2857d84 /* 02857D84 */ _t23 = cpu->r[8] + 0x00000002u; /* 02857D84 */ cpu->r[3] = rbrew_read16(cpu->mem, _t23); /* 02857D88 */ return; L_02857D8C: ; // 0x2857d8c /* 02857D8C */ _t24 = cpu->r[3] + 0x0000000Cu; /* 02857D8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 02857D90 */ cpu->r[5] = cpu->r[4]; /* 02857D94 */ _t25 = cpu->r[12] + 0x00000014u; /* 02857D94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 02857D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02857D9C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857D9C */ _t27 = _t26 & 0x00000001u; /* 02857D9C */ if (_t27) goto L_02857DC8; else goto L_02857DA0; L_02857DA0: ; // 0x2857da0 /* 02857DA0 */ _t28 = cpu->r[4] + 0x00000000u; /* 02857DA0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t28); /* 02857DA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]); /* 02857DA8 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u); /* 02857DA8 */ _t30 = _t29 & 0x00000001u; /* 02857DA8 */ if (_t30) goto L_02857DBC; else goto L_02857DAC; L_02857DAC: ; // 0x2857dac /* 02857DAC */ _t31 = cpu->r[4] + 0x00000002u; /* 02857DAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 02857DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]); /* 02857DB4 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u); /* 02857DB4 */ _t33 = _t32 & 0x00000001u; /* 02857DB4 */ if (_t33) goto L_02857DBC; else goto L_02857DB8; L_02857DB8: ; // 0x2857db8 /* 02857DB8 */ goto L_02857CCC; L_02857DBC: ; // 0x2857dbc /* 02857DBC */ _t34 = cpu->r[4] + 0x00000008u; /* 02857DBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t34); /* 02857DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02857DC4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857DC4 */ _t36 = _t35 & 0x00000001u; /* 02857DC4 */ if (_t36) goto L_02857DC8; else goto L_02857DA0; L_02857DC8: ; // 0x2857dc8 /* 02857DC8 */ cpu->r[11] = 0x00010000u; /* 02857DCC */ cpu->r[3] = cpu->r[11] + 0xFFFFFFFFu; /* 02857DD0 */ return; } // fn_02857DD4 @ 0x2857dd4 void Gambit_fn_02857DD4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02857DD4: ; // 0x2857dd4 /* 02857DD4 */ cpu->r[0] = cpu->lr; /* 02857DD8 */ _t0 = cpu->r[1] + 0x00000004u; /* 02857DD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02857DDC */ _t1 = cpu->r[1] + 0xFFFFFFF0u; /* 02857DDC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02857DDC */ cpu->r[1] = _t1; /* 02857DE0 */ _t2 = cpu->r[3] + 0x00000004u; /* 02857DE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 02857DE4 */ _t3 = cpu->r[11] + 0x00000084u; /* 02857DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02857DE8 */ cpu->ctr = cpu->r[0]; /* 02857DEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02857DF0 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu; /* 02857DF4 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02857DF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]); /* 02857DF8 */ /* nop */ /* 02857DFC */ cpu->r[12] = cpu->r[1] + 0x00000008u; /* 02857E00 */ /* nop */ /* 02857E04 */ _t5 = cpu->r[1] + 0x00000014u; /* 02857E04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02857E08 */ cpu->lr = cpu->r[0]; /* 02857E0C */ _t6 = cpu->r[1] + 0x0000000Au; /* 02857E0C */ cpu->r[3] = rbrew_read8(cpu->mem, _t6); /* 02857E10 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857E14 */ return; } // fn_02857DDC @ 0x2857ddc void Gambit_fn_02857DDC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02857DDC: ; // 0x2857ddc /* 02857DDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02857DDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857DDC */ cpu->r[1] = _t0; /* 02857DE0 */ _t1 = cpu->r[3] + 0x00000004u; /* 02857DE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 02857DE4 */ _t2 = cpu->r[11] + 0x00000084u; /* 02857DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02857DE8 */ cpu->ctr = cpu->r[0]; /* 02857DEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02857DF0 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu; /* 02857DF4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02857DF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]); /* 02857DF8 */ /* nop */ /* 02857DFC */ cpu->r[12] = cpu->r[1] + 0x00000008u; /* 02857E00 */ /* nop */ /* 02857E04 */ _t4 = cpu->r[1] + 0x00000014u; /* 02857E04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02857E08 */ cpu->lr = cpu->r[0]; /* 02857E0C */ _t5 = cpu->r[1] + 0x0000000Au; /* 02857E0C */ cpu->r[3] = rbrew_read8(cpu->mem, _t5); /* 02857E10 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857E14 */ return; } // fn_02857E18 @ 0x2857e18 void Gambit_fn_02857E18(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02857E18: ; // 0x2857e18 /* 02857E18 */ cpu->r[0] = cpu->lr; /* 02857E1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02857E1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857E1C */ cpu->r[1] = _t0; /* 02857E20 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857E20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02857E24 */ cpu->r[31] = cpu->r[3]; /* 02857E28 */ _t2 = cpu->r[1] + 0x00000014u; /* 02857E28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02857E2C */ Gambit_fn_02857D8C(cpu); /* 02857E30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000FFFFu); /* 02857E34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857E34 */ _t4 = _t3 & 0x00000001u; /* 02857E34 */ if (_t4) goto L_02857E38; else goto L_02857E40; L_02857E38: ; // 0x2857e38 /* 02857E38 */ _t5 = cpu->r[31] + 0x0000000Cu; /* 02857E38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02857E3C */ _t6 = cpu->r[12] + 0x00000006u; /* 02857E3C */ cpu->r[3] = rbrew_read16(cpu->mem, _t6); L_02857E40: ; // 0x2857e40 /* 02857E40 */ _t7 = cpu->r[1] + 0x00000014u; /* 02857E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02857E44 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02857E44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 02857E48 */ cpu->lr = cpu->r[0]; /* 02857E4C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857E50 */ return; } // fn_02857E1C @ 0x2857e1c void Gambit_fn_02857E1C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02857E1C: ; // 0x2857e1c /* 02857E1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02857E1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857E1C */ cpu->r[1] = _t0; /* 02857E20 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02857E20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02857E24 */ cpu->r[31] = cpu->r[3]; /* 02857E28 */ _t2 = cpu->r[1] + 0x00000014u; /* 02857E28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02857E2C */ Gambit_fn_02857D8C(cpu); /* 02857E30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000FFFFu); /* 02857E34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857E34 */ _t4 = _t3 & 0x00000001u; /* 02857E34 */ if (_t4) goto L_02857E38; else goto L_02857E40; L_02857E38: ; // 0x2857e38 /* 02857E38 */ _t5 = cpu->r[31] + 0x0000000Cu; /* 02857E38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02857E3C */ _t6 = cpu->r[12] + 0x00000006u; /* 02857E3C */ cpu->r[3] = rbrew_read16(cpu->mem, _t6); L_02857E40: ; // 0x2857e40 /* 02857E40 */ _t7 = cpu->r[1] + 0x00000014u; /* 02857E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02857E44 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02857E44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 02857E48 */ cpu->lr = cpu->r[0]; /* 02857E4C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02857E50 */ return; } // fn_02857E6C @ 0x2857e6c void Gambit_fn_02857E6C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_02857E54: ; // 0x2857e54 /* 02857E54 */ _t0 = cpu->r[4] + 0x00000000u; /* 02857E54 */ cpu->r[0] = rbrew_read16(cpu->mem, _t0); /* 02857E58 */ cpu->r[0] = cpu->r[5] - cpu->r[0]; /* 02857E5C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000003u); /* 02857E60 */ cpu->r[12] = cpu->r[4] + 0x00000008u; /* 02857E64 */ cpu->r[3] = cpu->r[12] + cpu->r[11]; /* 02857E68 */ return; L_02857E6C: ; // 0x2857e6c /* 02857E6C */ _t1 = cpu->r[3] + 0x0000000Cu; /* 02857E6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 02857E70 */ cpu->r[5] = cpu->r[4]; /* 02857E74 */ _t2 = cpu->r[10] + 0x00000010u; /* 02857E74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2); /* 02857E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02857E7C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857E7C */ _t4 = _t3 & 0x00000001u; /* 02857E7C */ if (_t4) goto L_02857EA8; else goto L_02857E80; L_02857E80: ; // 0x2857e80 /* 02857E80 */ _t5 = cpu->r[4] + 0x00000000u; /* 02857E80 */ cpu->r[11] = rbrew_read16(cpu->mem, _t5); /* 02857E84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[5]); /* 02857E88 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u); /* 02857E88 */ _t7 = _t6 & 0x00000001u; /* 02857E88 */ if (_t7) goto L_02857E9C; else goto L_02857E8C; L_02857E8C: ; // 0x2857e8c /* 02857E8C */ _t8 = cpu->r[4] + 0x00000002u; /* 02857E8C */ cpu->r[0] = rbrew_read16(cpu->mem, _t8); /* 02857E90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]); /* 02857E94 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 02857E94 */ _t10 = _t9 & 0x00000001u; /* 02857E94 */ if (_t10) goto L_02857E9C; else goto L_02857E98; L_02857E98: ; // 0x2857e98 /* 02857E98 */ goto L_02857E54; L_02857E9C: ; // 0x2857e9c /* 02857E9C */ _t11 = cpu->r[4] + 0x00000004u; /* 02857E9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 02857EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02857EA4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02857EA4 */ _t13 = _t12 & 0x00000001u; /* 02857EA4 */ if (_t13) goto L_02857EA8; else goto L_02857E80; L_02857EA8: ; // 0x2857ea8 /* 02857EA8 */ cpu->r[3] = cpu->r[10] + 0x00000008u; /* 02857EAC */ return; } // fn_02857EB0 @ 0x2857eb0 void Gambit_fn_02857EB0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02857EB0: ; // 0x2857eb0 /* 02857EB0 */ cpu->r[0] = cpu->lr; /* 02857EB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02857EB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857EB4 */ cpu->r[1] = _t0; /* 02857EB8 */ _t1 = cpu->r[1] + 0x00000014u; /* 02857EB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02857EBC */ cpu->r[31] = cpu->r[3]; /* 02857EC0 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02857EC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02857EC4 */ Gambit_fn_02857E18(cpu); /* 02857EC8 */ cpu->r[4] = cpu->r[3]; /* 02857ECC */ cpu->r[3] = cpu->r[31]; /* 02857ED0 */ Gambit_fn_02857E6C(cpu); /* 02857ED4 */ /* nop */ /* 02857ED8 */ cpu->r[11] = cpu->r[1] + 0x00000008u; /* 02857EDC */ /* nop */ /* 02857EE0 */ /* nop */ /* 02857EE4 */ cpu->r[12] = cpu->r[1] + 0x0000000Cu; /* 02857EE8 */ /* nop */ /* 02857EEC */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02857EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02857EF0 */ _t4 = cpu->r[1] + 0x00000014u; /* 02857EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 02857EF4 */ cpu->lr = cpu->r[0]; /* 02857EF8 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 02857EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5); /* 02857EFC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02857F00 */ return; } // fn_02857EB4 @ 0x2857eb4 void Gambit_fn_02857EB4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02857EB4: ; // 0x2857eb4 /* 02857EB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02857EB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857EB4 */ cpu->r[1] = _t0; /* 02857EB8 */ _t1 = cpu->r[1] + 0x00000014u; /* 02857EB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02857EBC */ cpu->r[31] = cpu->r[3]; /* 02857EC0 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02857EC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02857EC4 */ Gambit_fn_02857E18(cpu); /* 02857EC8 */ cpu->r[4] = cpu->r[3]; /* 02857ECC */ cpu->r[3] = cpu->r[31]; /* 02857ED0 */ Gambit_fn_02857E6C(cpu); /* 02857ED4 */ /* nop */ /* 02857ED8 */ cpu->r[11] = cpu->r[1] + 0x00000008u; /* 02857EDC */ /* nop */ /* 02857EE0 */ /* nop */ /* 02857EE4 */ cpu->r[12] = cpu->r[1] + 0x0000000Cu; /* 02857EE8 */ /* nop */ /* 02857EEC */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02857EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02857EF0 */ _t4 = cpu->r[1] + 0x00000014u; /* 02857EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 02857EF4 */ cpu->lr = cpu->r[0]; /* 02857EF8 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 02857EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5); /* 02857EFC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02857F00 */ return; } // fn_02857F04 @ 0x2857f04 void Gambit_fn_02857F04(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02857F04: ; // 0x2857f04 /* 02857F04 */ _t0 = cpu->r[5] + 0x0000000Cu; /* 02857F04 */ cpu->r[11] = rbrew_read16(cpu->mem, _t0); /* 02857F08 */ _t1 = cpu->r[5] + 0x0000000Eu; /* 02857F08 */ cpu->r[0] = rbrew_read16(cpu->mem, _t1); /* 02857F0C */ _t2 = cpu->r[5] + 0x00000000u; /* 02857F0C */ cpu->r[6] = rbrew_read8(cpu->mem, _t2); /* 02857F10 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[0]); /* 02857F14 */ _t3 = cpu->r[5] + 0x00000001u; /* 02857F14 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3); /* 02857F18 */ cpu->r[7] = cpu->r[4] / cpu->r[9]; /* 02857F1C */ _t4 = cpu->r[3] + 0x00000007u; /* 02857F1C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]); /* 02857F20 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[9]); /* 02857F24 */ _t5 = cpu->r[5] + 0x0000000Au; /* 02857F24 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5); /* 02857F28 */ cpu->r[10] = cpu->r[4] - cpu->r[7]; /* 02857F2C */ _t6 = cpu->r[3] + 0x00000010u; /* 02857F2C */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[9]); /* 02857F30 */ cpu->r[7] = cpu->r[10] / cpu->r[11]; /* 02857F34 */ _t7 = cpu->r[5] + 0x00000010u; /* 02857F34 */ cpu->r[0] = rbrew_read16(cpu->mem, _t7); /* 02857F38 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[11]); /* 02857F3C */ _t8 = cpu->r[3] + 0x00000008u; /* 02857F3C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]); /* 02857F40 */ cpu->r[8] = cpu->r[12] + 0x00000001u; /* 02857F44 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[8]); /* 02857F48 */ cpu->r[8] = cpu->r[10] - cpu->r[9]; /* 02857F4C */ _t9 = cpu->r[5] + 0x00000012u; /* 02857F4C */ cpu->r[9] = rbrew_read16(cpu->mem, _t9); /* 02857F50 */ cpu->r[0] = cpu->r[6] + 0x00000001u; /* 02857F54 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]); /* 02857F58 */ cpu->r[0] = cpu->r[7] + 0x00000001u; /* 02857F5C */ _t10 = cpu->r[3] + 0x0000000Au; /* 02857F5C */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[9]); /* 02857F60 */ _t11 = cpu->r[3] + 0x0000000Eu; /* 02857F60 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[0]); /* 02857F64 */ cpu->r[9] = cpu->r[6] + 0x00000001u; /* 02857F68 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02857F68 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[9]); /* 02857F6C */ return; } // fn_02857F70 @ 0x2857f70 void Gambit_fn_02857F70(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02857F70: ; // 0x2857f70 /* 02857F70 */ cpu->r[0] = cpu->lr; /* 02857F74 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02857F74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857F74 */ cpu->r[1] = _t0; /* 02857F78 */ _t1 = cpu->r[1] + 0x00000008u; /* 02857F78 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02857F7C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02857F7C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02857F80 */ _t3 = cpu->r[1] + 0x00000010u; /* 02857F80 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02857F84 */ _t4 = cpu->r[1] + 0x00000014u; /* 02857F84 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02857F88 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02857F88 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02857F8C */ cpu->r[29] = cpu->r[4]; /* 02857F90 */ _t6 = cpu->r[3] + 0x0000000Cu; /* 02857F90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 02857F94 */ _t7 = cpu->r[7] + 0x0000000Cu; /* 02857F94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 02857F98 */ _t8 = cpu->r[30] + 0x0000000Cu; /* 02857F98 */ cpu->r[6] = rbrew_read16(cpu->mem, _t8); /* 02857F9C */ _t9 = cpu->r[30] + 0x0000000Eu; /* 02857F9C */ cpu->r[8] = rbrew_read16(cpu->mem, _t9); /* 02857FA0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[8]); /* 02857FA4 */ cpu->r[31] = cpu->r[5]; /* 02857FA8 */ cpu->r[8] = cpu->r[31] / cpu->r[0]; /* 02857FAC */ _t10 = cpu->r[30] + 0x00000004u; /* 02857FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02857FB0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]); /* 02857FB4 */ _t11 = cpu->r[30] + 0x00000014u; /* 02857FB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 02857FB8 */ cpu->r[28] = cpu->r[3]; /* 02857FBC */ cpu->r[7] = cpu->r[11] + cpu->r[9]; /* 02857FC0 */ cpu->r[4] = cpu->r[31]; /* 02857FC4 */ _t12 = cpu->r[29] + 0x00000000u; /* 02857FC4 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]); /* 02857FC8 */ Gambit_fn_02857E6C(cpu); /* 02857FCC */ cpu->r[12] = cpu->r[29] + 0x00000004u; /* 02857FD0 */ /* nop */ /* 02857FD4 */ cpu->r[3] = cpu->r[29]; /* 02857FD8 */ cpu->r[0] = cpu->r[28] + 0x00000010u; /* 02857FDC */ /* nop */ /* 02857FE0 */ cpu->r[4] = cpu->r[31]; /* 02857FE4 */ _t13 = cpu->r[29] + 0x00000013u; /* 02857FE4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[8]); /* 02857FE8 */ cpu->r[5] = cpu->r[30]; /* 02857FEC */ _t14 = cpu->r[29] + 0x00000014u; /* 02857FEC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); /* 02857FF0 */ Gambit_fn_02857F04(cpu); /* 02857FF4 */ _t15 = cpu->r[1] + 0x00000008u; /* 02857FF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 02857FF8 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02857FF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 02857FFC */ _t17 = cpu->r[1] + 0x0000001Cu; /* 02857FFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02858000 */ _t18 = cpu->r[1] + 0x00000014u; /* 02858000 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02858004 */ cpu->lr = cpu->r[0]; /* 02858008 */ _t19 = cpu->r[1] + 0x00000010u; /* 02858008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0285800C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02858010 */ return; } // fn_02857F74 @ 0x2857f74 void Gambit_fn_02857F74(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02857F74: ; // 0x2857f74 /* 02857F74 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02857F74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02857F74 */ cpu->r[1] = _t0; /* 02857F78 */ _t1 = cpu->r[1] + 0x00000008u; /* 02857F78 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02857F7C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02857F7C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02857F80 */ _t3 = cpu->r[1] + 0x00000010u; /* 02857F80 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02857F84 */ _t4 = cpu->r[1] + 0x00000014u; /* 02857F84 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02857F88 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02857F88 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02857F8C */ cpu->r[29] = cpu->r[4]; /* 02857F90 */ _t6 = cpu->r[3] + 0x0000000Cu; /* 02857F90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 02857F94 */ _t7 = cpu->r[7] + 0x0000000Cu; /* 02857F94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 02857F98 */ _t8 = cpu->r[30] + 0x0000000Cu; /* 02857F98 */ cpu->r[6] = rbrew_read16(cpu->mem, _t8); /* 02857F9C */ _t9 = cpu->r[30] + 0x0000000Eu; /* 02857F9C */ cpu->r[8] = rbrew_read16(cpu->mem, _t9); /* 02857FA0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[8]); /* 02857FA4 */ cpu->r[31] = cpu->r[5]; /* 02857FA8 */ cpu->r[8] = cpu->r[31] / cpu->r[0]; /* 02857FAC */ _t10 = cpu->r[30] + 0x00000004u; /* 02857FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02857FB0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]); /* 02857FB4 */ _t11 = cpu->r[30] + 0x00000014u; /* 02857FB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 02857FB8 */ cpu->r[28] = cpu->r[3]; /* 02857FBC */ cpu->r[7] = cpu->r[11] + cpu->r[9]; /* 02857FC0 */ cpu->r[4] = cpu->r[31]; /* 02857FC4 */ _t12 = cpu->r[29] + 0x00000000u; /* 02857FC4 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]); /* 02857FC8 */ Gambit_fn_02857E6C(cpu); /* 02857FCC */ cpu->r[12] = cpu->r[29] + 0x00000004u; /* 02857FD0 */ /* nop */ /* 02857FD4 */ cpu->r[3] = cpu->r[29]; /* 02857FD8 */ cpu->r[0] = cpu->r[28] + 0x00000010u; /* 02857FDC */ /* nop */ /* 02857FE0 */ cpu->r[4] = cpu->r[31]; /* 02857FE4 */ _t13 = cpu->r[29] + 0x00000013u; /* 02857FE4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[8]); /* 02857FE8 */ cpu->r[5] = cpu->r[30]; /* 02857FEC */ _t14 = cpu->r[29] + 0x00000014u; /* 02857FEC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); /* 02857FF0 */ Gambit_fn_02857F04(cpu); /* 02857FF4 */ _t15 = cpu->r[1] + 0x00000008u; /* 02857FF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 02857FF8 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02857FF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 02857FFC */ _t17 = cpu->r[1] + 0x0000001Cu; /* 02857FFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02858000 */ _t18 = cpu->r[1] + 0x00000014u; /* 02858000 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02858004 */ cpu->lr = cpu->r[0]; /* 02858008 */ _t19 = cpu->r[1] + 0x00000010u; /* 02858008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0285800C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02858010 */ return; } // fn_02858014 @ 0x2858014 void Gambit_fn_02858014(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02858014: ; // 0x2858014 /* 02858014 */ cpu->r[0] = cpu->lr; /* 02858018 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02858018 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858018 */ cpu->r[1] = _t0; /* 0285801C */ _t1 = cpu->r[1] + 0x00000008u; /* 0285801C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02858020 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02858020 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02858024 */ cpu->r[31] = cpu->r[4]; /* 02858028 */ cpu->r[4] = cpu->r[5]; /* 0285802C */ cpu->r[30] = cpu->r[3]; /* 02858030 */ _t3 = cpu->r[1] + 0x00000014u; /* 02858030 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02858034 */ Gambit_fn_02857E18(cpu); /* 02858038 */ cpu->r[5] = cpu->r[3]; /* 0285803C */ cpu->r[4] = cpu->r[31]; /* 02858040 */ cpu->r[3] = cpu->r[30]; /* 02858044 */ Gambit_fn_02857F70(cpu); /* 02858048 */ _t4 = cpu->r[1] + 0x00000014u; /* 02858048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285804C */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0285804C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 02858050 */ cpu->lr = cpu->r[0]; /* 02858054 */ _t6 = cpu->r[1] + 0x00000008u; /* 02858054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 02858058 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285805C */ return; } // fn_02858018 @ 0x2858018 void Gambit_fn_02858018(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02858018: ; // 0x2858018 /* 02858018 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02858018 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858018 */ cpu->r[1] = _t0; /* 0285801C */ _t1 = cpu->r[1] + 0x00000008u; /* 0285801C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02858020 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02858020 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02858024 */ cpu->r[31] = cpu->r[4]; /* 02858028 */ cpu->r[4] = cpu->r[5]; /* 0285802C */ cpu->r[30] = cpu->r[3]; /* 02858030 */ _t3 = cpu->r[1] + 0x00000014u; /* 02858030 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02858034 */ Gambit_fn_02857E18(cpu); /* 02858038 */ cpu->r[5] = cpu->r[3]; /* 0285803C */ cpu->r[4] = cpu->r[31]; /* 02858040 */ cpu->r[3] = cpu->r[30]; /* 02858044 */ Gambit_fn_02857F70(cpu); /* 02858048 */ _t4 = cpu->r[1] + 0x00000014u; /* 02858048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285804C */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0285804C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 02858050 */ cpu->lr = cpu->r[0]; /* 02858054 */ _t6 = cpu->r[1] + 0x00000008u; /* 02858054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 02858058 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285805C */ return; } // fn_02858060 @ 0x2858060 void Gambit_fn_02858060(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27; L_02858060: ; // 0x2858060 /* 02858060 */ _t0 = cpu->r[3] + 0x000000C0u; /* 02858060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 02858064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02858068 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858068 */ _t2 = _t1 & 0x00000001u; /* 02858068 */ if (_t2) goto L_0285811C; else goto L_0285806C; L_0285806C: ; // 0x285806c /* 0285806C */ _t3 = cpu->r[3] + 0x00000000u; /* 0285806C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3); /* 02858070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02858074 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858074 */ _t5 = _t4 & 0x00000001u; /* 02858074 */ if (_t5) goto L_0285811C; else goto L_02858078; L_02858078: ; // 0x2858078 /* 02858078 */ _t6 = cpu->r[11] + 0x00000000u; /* 02858078 */ cpu->r[12] = rbrew_read16(cpu->mem, _t6); /* 0285807C */ cpu->r[9] = cpu->r[11] + 0x00000002u; /* 02858080 */ cpu->r[10] = 0x00000000u; L_02858084: ; // 0x2858084 /* 02858084 */ cpu->r[8] = cpu->r[10] + cpu->r[12]; /* 02858088 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Du); /* 0285808C */ _t7 = cpu->r[9] + cpu->r[0]; /* 0285808C */ cpu->r[6] = rbrew_read16(cpu->mem, _t7); /* 02858090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[4]); /* 02858094 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02858098 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858098 */ _t9 = _t8 & 0x00000001u; /* 02858098 */ if (_t9) goto L_028580B0; else goto L_0285809C; L_0285809C: ; // 0x285809c /* 0285809C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285809C */ _t11 = _t10 & 0x00000001u; /* 0285809C */ if (_t11) goto L_028580A0; else goto L_028580C0; L_028580A0: ; // 0x28580a0 /* 028580A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]); /* 028580A4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028580A4 */ _t13 = _t12 & 0x00000001u; /* 028580A4 */ if (_t13) goto L_0285811C; else goto L_028580A8; L_028580A8: ; // 0x28580a8 /* 028580A8 */ cpu->r[10] = cpu->r[8]; /* 028580AC */ goto L_02858084; L_028580B0: ; // 0x28580b0 /* 028580B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]); /* 028580B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028580B4 */ _t15 = _t14 & 0x00000001u; /* 028580B4 */ if (_t15) goto L_0285811C; else goto L_028580B8; L_028580B8: ; // 0x28580b8 /* 028580B8 */ cpu->r[12] = cpu->r[8]; /* 028580BC */ goto L_02858084; L_028580C0: ; // 0x28580c0 /* 028580C0 */ cpu->r[10] = cpu->r[9] + cpu->r[0]; /* 028580C4 */ _t16 = cpu->r[10] + 0x00000002u; /* 028580C4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t16); /* 028580C8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028580CC */ cpu->r[12] = cpu->r[11] + cpu->r[7]; /* 028580D0 */ cpu->r[8] = 0x00000000u; /* 028580D4 */ _t17 = cpu->r[12] + 0x00000000u; /* 028580D4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17); /* 028580D8 */ cpu->r[6] = cpu->r[12] + 0x00000002u; L_028580DC: ; // 0x28580dc /* 028580DC */ cpu->r[7] = cpu->r[8] + cpu->r[9]; /* 028580E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Du); /* 028580E4 */ _t18 = cpu->r[6] + cpu->r[0]; /* 028580E4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t18); /* 028580E8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 028580EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]); /* 028580F0 */ cpu->r[12] = cpu->r[6] + cpu->r[0]; /* 028580F4 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 028580F4 */ _t20 = _t19 & 0x00000001u; /* 028580F4 */ if (_t20) goto L_02858114; else goto L_028580F8; L_028580F8: ; // 0x28580f8 /* 028580F8 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 028580F8 */ _t22 = _t21 & 0x00000001u; /* 028580F8 */ if (_t22) goto L_02858104; else goto L_028580FC; L_028580FC: ; // 0x28580fc /* 028580FC */ _t23 = cpu->r[12] + 0x00000002u; /* 028580FC */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t23); /* 02858100 */ return; L_02858104: ; // 0x2858104 /* 02858104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]); /* 02858108 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858108 */ _t25 = _t24 & 0x00000001u; /* 02858108 */ if (_t25) goto L_0285811C; else goto L_0285810C; L_0285810C: ; // 0x285810c /* 0285810C */ cpu->r[8] = cpu->r[7]; /* 02858110 */ goto L_028580DC; L_02858114: ; // 0x2858114 /* 02858114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]); /* 02858118 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858118 */ _t27 = _t26 & 0x00000001u; /* 02858118 */ if (_t27) goto L_0285811C; else goto L_02858124; L_0285811C: ; // 0x285811c /* 0285811C */ cpu->r[3] = 0x00000000u; /* 02858120 */ return; L_02858124: ; // 0x2858124 /* 02858124 */ cpu->r[9] = cpu->r[7]; /* 02858128 */ goto L_028580DC; } // fn_0285812C @ 0x285812c void Gambit_fn_0285812C(CPUState* cpu) { uint32_t _t0, _t1; L_0285812C: ; // 0x285812c /* 0285812C */ _t0 = cpu->r[3] + 0x0000000Cu; /* 0285812C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02858130 */ _t1 = cpu->r[12] + 0x0000000Bu; /* 02858130 */ cpu->r[3] = rbrew_read8(cpu->mem, _t1); /* 02858134 */ return; } // fn_02858138 @ 0x2858138 void Gambit_fn_02858138(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_02858138: ; // 0x2858138 /* 02858138 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 02858138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0285813C */ _t1 = cpu->r[12] + 0x0000000Cu; /* 0285813C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02858140 */ _t2 = cpu->r[12] + 0x00000008u; /* 02858140 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2); /* 02858144 */ return; } // fn_02858148 @ 0x2858148 void Gambit_fn_02858148(CPUState* cpu) { uint32_t _t0; L_02858148: ; // 0x2858148 /* 02858148 */ _t0 = cpu->r[3] + 0x0000001Eu; /* 02858148 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]); /* 0285814C */ return; } // fn_02858150 @ 0x2858150 void Gambit_fn_02858150(CPUState* cpu) { uint32_t _t0, _t1; L_02858150: ; // 0x2858150 /* 02858150 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 02858150 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02858154 */ _t1 = cpu->r[12] + 0x00000000u; /* 02858154 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1); /* 02858158 */ cpu->r[0] = cpu->r[0] ^ 0x00000002u; /* 0285815C */ cpu->r[0] = rbrew_clz32(cpu->r[0]); /* 02858160 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02858164 */ return; } // fn_02858168 @ 0x2858168 void Gambit_fn_02858168(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_02858168: ; // 0x2858168 /* 02858168 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 02858168 */ rbrew_write32(cpu->mem, _t0, cpu->r[5]); /* 0285816C */ _t1 = cpu->r[3] + 0x000000C0u; /* 0285816C */ rbrew_write32(cpu->mem, _t1, cpu->r[6]); /* 02858170 */ _t2 = cpu->r[3] + 0x00000008u; /* 02858170 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]); /* 02858174 */ return; } // fn_02858178 @ 0x2858178 void Gambit_fn_02858178(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02858178: ; // 0x2858178 /* 02858178 */ cpu->r[0] = cpu->lr; /* 0285817C */ _t0 = cpu->r[1] + 0x00000004u; /* 0285817C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02858180 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02858180 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02858180 */ cpu->r[1] = _t1; /* 02858184 */ Gambit_fn_02857950(cpu); /* 02858188 */ _t2 = cpu->r[3] + 0x00000008u; /* 02858188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0285818C */ cpu->r[12] = 0x00000000u; /* 02858190 */ _t3 = cpu->r[3] + 0x00000008u; /* 02858190 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 02858194 */ _t4 = cpu->r[3] + 0x0000000Cu; /* 02858194 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]); /* 02858198 */ _t5 = cpu->r[3] + 0x000000C0u; /* 02858198 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 0285819C */ cpu->r[3] = cpu->r[0]; /* 028581A0 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 028581A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028581A4 */ cpu->lr = cpu->r[0]; /* 028581A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028581AC */ return; } // fn_02858180 @ 0x2858180 void Gambit_fn_02858180(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02858180: ; // 0x2858180 /* 02858180 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02858180 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858180 */ cpu->r[1] = _t0; /* 02858184 */ Gambit_fn_02857950(cpu); /* 02858188 */ _t1 = cpu->r[3] + 0x00000008u; /* 02858188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 0285818C */ cpu->r[12] = 0x00000000u; /* 02858190 */ _t2 = cpu->r[3] + 0x00000008u; /* 02858190 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 02858194 */ _t3 = cpu->r[3] + 0x0000000Cu; /* 02858194 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 02858198 */ _t4 = cpu->r[3] + 0x000000C0u; /* 02858198 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]); /* 0285819C */ cpu->r[3] = cpu->r[0]; /* 028581A0 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 028581A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028581A4 */ cpu->lr = cpu->r[0]; /* 028581A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028581AC */ return; } // fn_028581B0 @ 0x28581b0 void Gambit_fn_028581B0(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_028581B0: ; // 0x28581b0 /* 028581B0 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 028581B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 028581B4 */ _t1 = cpu->r[12] + 0x0000000Cu; /* 028581B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 028581B8 */ _t2 = cpu->r[12] + 0x00000002u; /* 028581B8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t2); /* 028581BC */ return; } // fn_028581C0 @ 0x28581c0 void Gambit_fn_028581C0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_028581C0: ; // 0x28581c0 /* 028581C0 */ cpu->r[11] = 0x101D0000u; /* 028581C4 */ cpu->r[3] = 0x101D0000u; /* 028581C8 */ _t0 = cpu->r[11] + 0x00000F14u; /* 028581C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 028581C8 */ cpu->r[11] = _t0; /* 028581CC */ cpu->r[3] = cpu->r[3] + 0x00001714u; /* 028581D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028581D4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 028581D4 */ _t2 = _t1 & 0x00000001u; /* 028581D4 */ _t3 = _t2 ^ 0x00000001u; /* 028581D4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028581D4 */ goto L_028581D8; L_028581D8: ; // 0x28581d8 /* 028581D8 */ cpu->r[10] = 0x101D0000u; /* 028581DC */ cpu->r[12] = 0x101D0000u; /* 028581E0 */ _t4 = cpu->r[10] + 0xFFFFD7E4u; /* 028581E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 028581E0 */ cpu->r[10] = _t4; /* 028581E4 */ cpu->r[0] = 0x00000001u; /* 028581E8 */ cpu->r[12] = cpu->r[12] + 0x00000F78u; /* 028581EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028581F0 */ _t5 = cpu->r[11] + 0x00000000u; /* 028581F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028581F4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028581F4 */ _t7 = _t6 & 0x00000001u; /* 028581F4 */ if (_t7) goto L_028581F8; else goto L_02858208; L_028581F8: ; // 0x28581f8 /* 028581F8 */ cpu->r[7] = 0x00000001u; /* 028581FC */ cpu->r[8] = 0x00000000u; /* 02858200 */ _t8 = cpu->r[10] + 0x00000000u; /* 02858200 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]); /* 02858204 */ _t9 = cpu->r[12] + 0x00000000u; /* 02858204 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); L_02858208: ; // 0x2858208 /* 02858208 */ _t10 = cpu->r[3] + 0x00000000u; /* 02858208 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 0285820C */ return; } // fn_02858210 @ 0x2858210 void Gambit_fn_02858210(CPUState* cpu) { L_02858210: ; // 0x2858210 /* 02858210 */ cpu->r[3] = 0x00000001u; /* 02858214 */ return; } // fn_02858218 @ 0x2858218 void Gambit_fn_02858218(CPUState* cpu) { L_02858218: ; // 0x2858218 /* 02858218 */ return; } // fn_0285821C @ 0x285821c void Gambit_fn_0285821C(CPUState* cpu) { L_0285821C: ; // 0x285821c /* 0285821C */ return; } // fn_02858220 @ 0x2858220 void Gambit_fn_02858220(CPUState* cpu) { L_02858220: ; // 0x2858220 /* 02858220 */ return; } // fn_02858224 @ 0x2858224 void Gambit_fn_02858224(CPUState* cpu) { L_02858224: ; // 0x2858224 /* 02858224 */ return; } // fn_02858228 @ 0x2858228 void Gambit_fn_02858228(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02858228: ; // 0x2858228 /* 02858228 */ cpu->r[0] = cpu->lr; /* 0285822C */ _t0 = cpu->r[1] + 0x00000004u; /* 0285822C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02858230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02858234 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02858234 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02858234 */ cpu->r[1] = _t1; /* 02858238 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858238 */ _t3 = _t2 & 0x00000001u; /* 02858238 */ if (_t3) goto L_0285823C; else goto L_0285824C; L_0285823C: ; // 0x285823c /* 0285823C */ cpu->r[3] = 0x00000004u; /* 02858240 */ Gambit_fn_02801A78(cpu); /* 02858244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02858248 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858248 */ _t5 = _t4 & 0x00000001u; /* 02858248 */ if (_t5) goto L_02858258; else goto L_0285824C; L_0285824C: ; // 0x285824c /* 0285824C */ cpu->r[0] = 0x10130000u; /* 02858250 */ cpu->r[0] = cpu->r[0] + 0x00001CECu; /* 02858254 */ _t6 = cpu->r[3] + 0x00000000u; /* 02858254 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); L_02858258: ; // 0x2858258 /* 02858258 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02858258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285825C */ cpu->lr = cpu->r[0]; /* 02858260 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02858264 */ return; } // fn_02858234 @ 0x2858234 void Gambit_fn_02858234(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02858234: ; // 0x2858234 /* 02858234 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02858234 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858234 */ cpu->r[1] = _t0; /* 02858238 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858238 */ _t2 = _t1 & 0x00000001u; /* 02858238 */ if (_t2) goto L_0285823C; else goto L_0285824C; L_0285823C: ; // 0x285823c /* 0285823C */ cpu->r[3] = 0x00000004u; /* 02858240 */ Gambit_fn_02801A78(cpu); /* 02858244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02858248 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858248 */ _t4 = _t3 & 0x00000001u; /* 02858248 */ if (_t4) goto L_02858258; else goto L_0285824C; L_0285824C: ; // 0x285824c /* 0285824C */ cpu->r[0] = 0x10130000u; /* 02858250 */ cpu->r[0] = cpu->r[0] + 0x00001CECu; /* 02858254 */ _t5 = cpu->r[3] + 0x00000000u; /* 02858254 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); L_02858258: ; // 0x2858258 /* 02858258 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 02858258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285825C */ cpu->lr = cpu->r[0]; /* 02858260 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02858264 */ return; } // fn_02858268 @ 0x2858268 void Gambit_fn_02858268(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02801B30: ; // 0x2801b30 /* 02801B30 */ cpu->r[0] = cpu->lr; /* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02801B34 */ cpu->r[1] = _t0; /* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02801B3C */ cpu->r[31] = cpu->r[3]; /* 02801B40 */ cpu->r[3] = 0x101D0000u; /* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u; /* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u; /* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B50 */ _t5 = _t4 & 0x00000001u; /* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70; L_02801B54: ; // 0x2801b54 /* 02801B54 */ cpu->r[3] = cpu->r[31]; /* 02801B58 */ Gambit_fn_02801B20(cpu); /* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u; /* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02801B64 */ cpu->lr = cpu->r[0]; /* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801B6C */ return; L_02801B70: ; // 0x2801b70 /* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B74 */ _t9 = _t8 & 0x00000001u; /* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78; L_02801B78: ; // 0x2801b78 /* 02801B78 */ cpu->r[4] = cpu->r[31]; /* 02801B7C */ Gambit_fn_02826B90(cpu); /* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B84 */ _t11 = _t10 & 0x00000001u; /* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88; L_02801B88: ; // 0x2801b88 /* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu; /* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02801B90 */ cpu->ctr = cpu->r[0]; /* 02801B94 */ cpu->r[4] = cpu->r[31]; /* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr); L_02801B9C: ; // 0x2801b9c /* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u; /* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02801BA4 */ cpu->lr = cpu->r[0]; /* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801BAC */ return; L_02801BB0: ; // 0x2801bb0 /* 02801BB0 */ goto L_02801B30; L_02858268: ; // 0x2858268 /* 02858268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285826C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285826C */ _t17 = _t16 & 0x00000001u; /* 0285826C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285826C */ goto L_02858270; L_02858270: ; // 0x2858270 /* 02858270 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02858270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02858274 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858274 */ _t19 = _t18 & 0x00000001u; /* 02858274 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02858274 */ goto L_02858278; L_02858278: ; // 0x2858278 /* 02858278 */ goto L_02801BB0; } // fn_0285827C @ 0x285827c void Gambit_fn_0285827C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0285827C: ; // 0x285827c /* 0285827C */ cpu->r[0] = cpu->lr; /* 02858280 */ _t0 = cpu->r[1] + 0x00000004u; /* 02858280 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02858284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02858288 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02858288 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02858288 */ cpu->r[1] = _t1; /* 0285828C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285828C */ _t3 = _t2 & 0x00000001u; /* 0285828C */ if (_t3) goto L_02858290; else goto L_028582A0; L_02858290: ; // 0x2858290 /* 02858290 */ cpu->r[3] = 0x00000004u; /* 02858294 */ Gambit_fn_02801A78(cpu); /* 02858298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285829C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285829C */ _t5 = _t4 & 0x00000001u; /* 0285829C */ if (_t5) goto L_028582AC; else goto L_028582A0; L_028582A0: ; // 0x28582a0 /* 028582A0 */ cpu->r[0] = 0x10130000u; /* 028582A4 */ cpu->r[0] = cpu->r[0] + 0x00001D34u; /* 028582A8 */ _t6 = cpu->r[3] + 0x00000000u; /* 028582A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); L_028582AC: ; // 0x28582ac /* 028582AC */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028582AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028582B0 */ cpu->lr = cpu->r[0]; /* 028582B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028582B8 */ return; } // fn_02858288 @ 0x2858288 void Gambit_fn_02858288(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02858288: ; // 0x2858288 /* 02858288 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02858288 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858288 */ cpu->r[1] = _t0; /* 0285828C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285828C */ _t2 = _t1 & 0x00000001u; /* 0285828C */ if (_t2) goto L_02858290; else goto L_028582A0; L_02858290: ; // 0x2858290 /* 02858290 */ cpu->r[3] = 0x00000004u; /* 02858294 */ Gambit_fn_02801A78(cpu); /* 02858298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285829C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285829C */ _t4 = _t3 & 0x00000001u; /* 0285829C */ if (_t4) goto L_028582AC; else goto L_028582A0; L_028582A0: ; // 0x28582a0 /* 028582A0 */ cpu->r[0] = 0x10130000u; /* 028582A4 */ cpu->r[0] = cpu->r[0] + 0x00001D34u; /* 028582A8 */ _t5 = cpu->r[3] + 0x00000000u; /* 028582A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); L_028582AC: ; // 0x28582ac /* 028582AC */ _t6 = cpu->r[1] + 0x0000000Cu; /* 028582AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028582B0 */ cpu->lr = cpu->r[0]; /* 028582B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028582B8 */ return; } // fn_028582BC @ 0x28582bc void Gambit_fn_028582BC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02801B30: ; // 0x2801b30 /* 02801B30 */ cpu->r[0] = cpu->lr; /* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02801B34 */ cpu->r[1] = _t0; /* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02801B3C */ cpu->r[31] = cpu->r[3]; /* 02801B40 */ cpu->r[3] = 0x101D0000u; /* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u; /* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u; /* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B50 */ _t5 = _t4 & 0x00000001u; /* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70; L_02801B54: ; // 0x2801b54 /* 02801B54 */ cpu->r[3] = cpu->r[31]; /* 02801B58 */ Gambit_fn_02801B20(cpu); /* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u; /* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02801B64 */ cpu->lr = cpu->r[0]; /* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801B6C */ return; L_02801B70: ; // 0x2801b70 /* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B74 */ _t9 = _t8 & 0x00000001u; /* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78; L_02801B78: ; // 0x2801b78 /* 02801B78 */ cpu->r[4] = cpu->r[31]; /* 02801B7C */ Gambit_fn_02826B90(cpu); /* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B84 */ _t11 = _t10 & 0x00000001u; /* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88; L_02801B88: ; // 0x2801b88 /* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu; /* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02801B90 */ cpu->ctr = cpu->r[0]; /* 02801B94 */ cpu->r[4] = cpu->r[31]; /* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr); L_02801B9C: ; // 0x2801b9c /* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u; /* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02801BA4 */ cpu->lr = cpu->r[0]; /* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801BAC */ return; L_02801BB0: ; // 0x2801bb0 /* 02801BB0 */ goto L_02801B30; L_028582BC: ; // 0x28582bc /* 028582BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028582C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028582C0 */ _t17 = _t16 & 0x00000001u; /* 028582C0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028582C0 */ goto L_028582C4; L_028582C4: ; // 0x28582c4 /* 028582C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028582C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028582C8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028582C8 */ _t19 = _t18 & 0x00000001u; /* 028582C8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 028582C8 */ goto L_028582CC; L_028582CC: ; // 0x28582cc /* 028582CC */ goto L_02801BB0; } // fn_028582D0 @ 0x28582d0 void Gambit_fn_028582D0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028582D0: ; // 0x28582d0 /* 028582D0 */ cpu->r[0] = cpu->lr; /* 028582D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028582D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028582D4 */ cpu->r[1] = _t0; /* 028582D8 */ _t1 = cpu->r[1] + 0x00000010u; /* 028582D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 028582DC */ /* nop */ /* 028582E0 */ _t2 = cpu->r[1] + 0x00000018u; /* 028582E0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 028582E4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028582E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028582E8 */ _t4 = cpu->r[1] + 0x00000024u; /* 028582E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028582EC */ _t5 = cpu->r[4] + 0x00000000u; /* 028582EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 028582F0 */ _t6 = cpu->r[4] + 0x0000000Cu; /* 028582F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6); /* 028582F4 */ cpu->r[3] = cpu->r[31]; /* 028582F8 */ Gambit_fn_028587AC(cpu); /* 028582FC */ _t7 = cpu->r[31] + 0x00000018u; /* 028582FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7); /* 02858300 */ cpu->f[0] = cpu->f[0] + cpu->f[1]; /* 02858304 */ _t8 = cpu->r[31] + 0x00000014u; /* 02858304 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]); /* 02858308 */ _t9 = cpu->r[31] + 0x00000018u; /* 02858308 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]); /* 0285830C */ _t10 = cpu->r[1] + 0x00000018u; /* 0285830C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10); /* 02858310 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02858310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 02858314 */ _t12 = cpu->r[1] + 0x00000010u; /* 02858314 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12); /* 02858318 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 02858318 */ _t14 = _t13 & 0x00000001u; /* 02858318 */ if (_t14) goto L_0285831C; // else: addr-0 trap, fall-through L_0285831C: ; // 0x285831c /* 0285831C */ _t15 = cpu->r[1] + 0x00000024u; /* 0285831C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02858320 */ cpu->lr = cpu->r[0]; /* 02858324 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02858328 */ return; } // fn_028582D4 @ 0x28582d4 void Gambit_fn_028582D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_028582D4: ; // 0x28582d4 /* 028582D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028582D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028582D4 */ cpu->r[1] = _t0; /* 028582D8 */ _t1 = cpu->r[1] + 0x00000010u; /* 028582D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 028582DC */ /* nop */ /* 028582E0 */ _t2 = cpu->r[1] + 0x00000018u; /* 028582E0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 028582E4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028582E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028582E8 */ _t4 = cpu->r[1] + 0x00000024u; /* 028582E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028582EC */ _t5 = cpu->r[4] + 0x00000000u; /* 028582EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 028582F0 */ _t6 = cpu->r[4] + 0x0000000Cu; /* 028582F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6); /* 028582F4 */ cpu->r[3] = cpu->r[31]; /* 028582F8 */ Gambit_fn_028587AC(cpu); /* 028582FC */ _t7 = cpu->r[31] + 0x00000018u; /* 028582FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7); /* 02858300 */ cpu->f[0] = cpu->f[0] + cpu->f[1]; /* 02858304 */ _t8 = cpu->r[31] + 0x00000014u; /* 02858304 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]); /* 02858308 */ _t9 = cpu->r[31] + 0x00000018u; /* 02858308 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]); /* 0285830C */ _t10 = cpu->r[1] + 0x00000018u; /* 0285830C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10); /* 02858310 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02858310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 02858314 */ _t12 = cpu->r[1] + 0x00000010u; /* 02858314 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12); /* 02858318 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 02858318 */ _t14 = _t13 & 0x00000001u; /* 02858318 */ if (_t14) goto L_0285831C; // else: addr-0 trap, fall-through L_0285831C: ; // 0x285831c /* 0285831C */ _t15 = cpu->r[1] + 0x00000024u; /* 0285831C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02858320 */ cpu->lr = cpu->r[0]; /* 02858324 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02858328 */ return; } // fn_0285832C @ 0x285832c void Gambit_fn_0285832C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38; L_0285832C: ; // 0x285832c /* 0285832C */ cpu->r[0] = cpu->lr; /* 02858330 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02858330 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858330 */ cpu->r[1] = _t0; /* 02858334 */ _t1 = cpu->r[1] + 0x00000014u; /* 02858334 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02858338 */ _t2 = cpu->r[1] + 0x00000018u; /* 02858338 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285833C */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285833C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02858340 */ cpu->r[31] = cpu->r[4]; /* 02858344 */ _t4 = cpu->r[1] + 0x00000024u; /* 02858344 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02858348 */ _t5 = cpu->r[31] + 0x00000000u; /* 02858348 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5); /* 0285834C */ _t6 = cpu->r[29] + 0x00000040u; /* 0285834C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 02858350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02858354 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858354 */ _t8 = _t7 & 0x00000001u; /* 02858354 */ if (_t8) goto L_02858358; else goto L_0285844C; L_02858358: ; // 0x2858358 /* 02858358 */ _t9 = cpu->r[29] + 0x00000030u; /* 02858358 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9); /* 0285835C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02858360 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858360 */ _t11 = _t10 & 0x00000001u; /* 02858360 */ if (_t11) goto L_028583D8; else goto L_02858364; L_02858364: ; // 0x2858364 /* 02858364 */ cpu->r[0] = cpu->r[30] ^ 0x80000000u; /* 02858368 */ _t12 = cpu->r[29] + 0x00000020u; /* 02858368 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12); /* 0285836C */ cpu->r[11] = 0x43300000u; /* 02858370 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 02858370 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 02858374 */ cpu->r[12] = 0x10130000u; /* 02858378 */ _t14 = cpu->r[1] + 0x00000008u; /* 02858378 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]); /* 0285837C */ _t15 = cpu->r[1] + 0x00000008u; /* 0285837C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t15); /* 02858380 */ _t16 = cpu->r[12] + 0x00001CE0u; /* 02858380 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16); /* 02858384 */ _t17 = cpu->r[29] + 0x00000014u; /* 02858384 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17); /* 02858388 */ cpu->f[12] = cpu->f[11] - cpu->f[0]; /* 0285838C */ _t18 = cpu->r[31] + 0x0000000Cu; /* 0285838C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18); /* 02858390 */ cpu->f[12] = (double)(float)cpu->f[12]; /* 02858394 */ cpu->f[13] = cpu->f[13] - cpu->f[10]; /* 02858398 */ cpu->f[12] = cpu->f[12] * cpu->f[1]; /* 0285839C */ cpu->f[11] = cpu->f[13] / cpu->f[12]; /* 028583A0 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[11]; /* 028583A4 */ cpu->r[12] = cpu->r[1] + 0x00000008u; /* 028583A8 */ /* nop */ /* 028583AC */ _t19 = cpu->r[1] + 0x00000008u; /* 028583AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 028583B0 */ cpu->r[12] = cpu->r[10] + 0x00000001u; /* 028583B4 */ _t20 = cpu->r[1] + 0x00000008u; /* 028583B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]); /* 028583B8 */ cpu->r[10] = cpu->r[12] ^ 0x80000000u; /* 028583BC */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028583BC */ rbrew_write32(cpu->mem, _t21, cpu->r[10]); /* 028583C0 */ _t22 = cpu->r[1] + 0x00000008u; /* 028583C0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t22); /* 028583C4 */ cpu->f[13] = cpu->f[11] - cpu->f[0]; /* 028583C8 */ cpu->f[11] = (double)(float)cpu->f[13]; /* 028583CC */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[10]); /* 028583D0 */ _t23 = cpu->r[29] + 0x00000014u; /* 028583D0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]); /* 028583D4 */ goto L_0285844C; L_028583D8: ; // 0x28583d8 /* 028583D8 */ cpu->r[3] = cpu->r[29]; /* 028583DC */ Gambit_fn_028544B0(cpu); /* 028583E0 */ cpu->r[12] = 0x10130000u; /* 028583E4 */ cpu->r[0] = cpu->r[30] ^ 0x80000000u; /* 028583E8 */ _t24 = cpu->r[12] + 0x00001CE0u; /* 028583E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t24); /* 028583EC */ cpu->r[11] = 0x43300000u; /* 028583F0 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 028583F0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 028583F4 */ _t26 = cpu->r[1] + 0x00000008u; /* 028583F4 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]); /* 028583F8 */ _t27 = cpu->r[1] + 0x00000008u; /* 028583F8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t27); /* 028583FC */ _t28 = cpu->r[31] + 0x0000000Cu; /* 028583FC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t28); /* 02858400 */ cpu->f[12] = cpu->f[11] - cpu->f[0]; /* 02858404 */ _t29 = cpu->r[29] + 0x00000014u; /* 02858404 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29); /* 02858408 */ cpu->f[12] = (double)(float)cpu->f[12]; /* 0285840C */ cpu->f[13] = cpu->f[13] - cpu->f[10]; /* 02858410 */ cpu->f[12] = cpu->f[12] * cpu->f[1]; /* 02858414 */ cpu->f[11] = cpu->f[13] / cpu->f[12]; /* 02858418 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[11]; /* 0285841C */ cpu->r[12] = cpu->r[1] + 0x00000008u; /* 02858420 */ /* nop */ /* 02858424 */ _t30 = cpu->r[1] + 0x00000008u; /* 02858424 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30); /* 02858428 */ cpu->r[12] = cpu->r[10] + 0x00000001u; /* 0285842C */ _t31 = cpu->r[1] + 0x00000008u; /* 0285842C */ rbrew_write32(cpu->mem, _t31, cpu->r[11]); /* 02858430 */ cpu->r[10] = cpu->r[12] ^ 0x80000000u; /* 02858434 */ _t32 = cpu->r[1] + 0x0000000Cu; /* 02858434 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]); /* 02858438 */ _t33 = cpu->r[1] + 0x00000008u; /* 02858438 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t33); /* 0285843C */ cpu->f[13] = cpu->f[11] - cpu->f[0]; /* 02858440 */ cpu->f[11] = (double)(float)cpu->f[13]; /* 02858444 */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[10]); /* 02858448 */ _t34 = cpu->r[29] + 0x00000014u; /* 02858448 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]); L_0285844C: ; // 0x285844c /* 0285844C */ _t35 = cpu->r[1] + 0x00000014u; /* 0285844C */ cpu->r[29] = rbrew_read32(cpu->mem, _t35); /* 02858450 */ _t36 = cpu->r[1] + 0x00000024u; /* 02858450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 02858454 */ _t37 = cpu->r[1] + 0x00000018u; /* 02858454 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37); /* 02858458 */ cpu->lr = cpu->r[0]; /* 0285845C */ _t38 = cpu->r[1] + 0x0000001Cu; /* 0285845C */ cpu->r[31] = rbrew_read32(cpu->mem, _t38); /* 02858460 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02858464 */ return; } // fn_02858330 @ 0x2858330 void Gambit_fn_02858330(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38; L_02858330: ; // 0x2858330 /* 02858330 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02858330 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858330 */ cpu->r[1] = _t0; /* 02858334 */ _t1 = cpu->r[1] + 0x00000014u; /* 02858334 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02858338 */ _t2 = cpu->r[1] + 0x00000018u; /* 02858338 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285833C */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285833C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02858340 */ cpu->r[31] = cpu->r[4]; /* 02858344 */ _t4 = cpu->r[1] + 0x00000024u; /* 02858344 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02858348 */ _t5 = cpu->r[31] + 0x00000000u; /* 02858348 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5); /* 0285834C */ _t6 = cpu->r[29] + 0x00000040u; /* 0285834C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 02858350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02858354 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858354 */ _t8 = _t7 & 0x00000001u; /* 02858354 */ if (_t8) goto L_02858358; else goto L_0285844C; L_02858358: ; // 0x2858358 /* 02858358 */ _t9 = cpu->r[29] + 0x00000030u; /* 02858358 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9); /* 0285835C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02858360 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858360 */ _t11 = _t10 & 0x00000001u; /* 02858360 */ if (_t11) goto L_028583D8; else goto L_02858364; L_02858364: ; // 0x2858364 /* 02858364 */ cpu->r[0] = cpu->r[30] ^ 0x80000000u; /* 02858368 */ _t12 = cpu->r[29] + 0x00000020u; /* 02858368 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12); /* 0285836C */ cpu->r[11] = 0x43300000u; /* 02858370 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 02858370 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 02858374 */ cpu->r[12] = 0x10130000u; /* 02858378 */ _t14 = cpu->r[1] + 0x00000008u; /* 02858378 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]); /* 0285837C */ _t15 = cpu->r[1] + 0x00000008u; /* 0285837C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t15); /* 02858380 */ _t16 = cpu->r[12] + 0x00001CE0u; /* 02858380 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16); /* 02858384 */ _t17 = cpu->r[29] + 0x00000014u; /* 02858384 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17); /* 02858388 */ cpu->f[12] = cpu->f[11] - cpu->f[0]; /* 0285838C */ _t18 = cpu->r[31] + 0x0000000Cu; /* 0285838C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18); /* 02858390 */ cpu->f[12] = (double)(float)cpu->f[12]; /* 02858394 */ cpu->f[13] = cpu->f[13] - cpu->f[10]; /* 02858398 */ cpu->f[12] = cpu->f[12] * cpu->f[1]; /* 0285839C */ cpu->f[11] = cpu->f[13] / cpu->f[12]; /* 028583A0 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[11]; /* 028583A4 */ cpu->r[12] = cpu->r[1] + 0x00000008u; /* 028583A8 */ /* nop */ /* 028583AC */ _t19 = cpu->r[1] + 0x00000008u; /* 028583AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 028583B0 */ cpu->r[12] = cpu->r[10] + 0x00000001u; /* 028583B4 */ _t20 = cpu->r[1] + 0x00000008u; /* 028583B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]); /* 028583B8 */ cpu->r[10] = cpu->r[12] ^ 0x80000000u; /* 028583BC */ _t21 = cpu->r[1] + 0x0000000Cu; /* 028583BC */ rbrew_write32(cpu->mem, _t21, cpu->r[10]); /* 028583C0 */ _t22 = cpu->r[1] + 0x00000008u; /* 028583C0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t22); /* 028583C4 */ cpu->f[13] = cpu->f[11] - cpu->f[0]; /* 028583C8 */ cpu->f[11] = (double)(float)cpu->f[13]; /* 028583CC */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[10]); /* 028583D0 */ _t23 = cpu->r[29] + 0x00000014u; /* 028583D0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]); /* 028583D4 */ goto L_0285844C; L_028583D8: ; // 0x28583d8 /* 028583D8 */ cpu->r[3] = cpu->r[29]; /* 028583DC */ Gambit_fn_028544B0(cpu); /* 028583E0 */ cpu->r[12] = 0x10130000u; /* 028583E4 */ cpu->r[0] = cpu->r[30] ^ 0x80000000u; /* 028583E8 */ _t24 = cpu->r[12] + 0x00001CE0u; /* 028583E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t24); /* 028583EC */ cpu->r[11] = 0x43300000u; /* 028583F0 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 028583F0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 028583F4 */ _t26 = cpu->r[1] + 0x00000008u; /* 028583F4 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]); /* 028583F8 */ _t27 = cpu->r[1] + 0x00000008u; /* 028583F8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t27); /* 028583FC */ _t28 = cpu->r[31] + 0x0000000Cu; /* 028583FC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t28); /* 02858400 */ cpu->f[12] = cpu->f[11] - cpu->f[0]; /* 02858404 */ _t29 = cpu->r[29] + 0x00000014u; /* 02858404 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29); /* 02858408 */ cpu->f[12] = (double)(float)cpu->f[12]; /* 0285840C */ cpu->f[13] = cpu->f[13] - cpu->f[10]; /* 02858410 */ cpu->f[12] = cpu->f[12] * cpu->f[1]; /* 02858414 */ cpu->f[11] = cpu->f[13] / cpu->f[12]; /* 02858418 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[11]; /* 0285841C */ cpu->r[12] = cpu->r[1] + 0x00000008u; /* 02858420 */ /* nop */ /* 02858424 */ _t30 = cpu->r[1] + 0x00000008u; /* 02858424 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30); /* 02858428 */ cpu->r[12] = cpu->r[10] + 0x00000001u; /* 0285842C */ _t31 = cpu->r[1] + 0x00000008u; /* 0285842C */ rbrew_write32(cpu->mem, _t31, cpu->r[11]); /* 02858430 */ cpu->r[10] = cpu->r[12] ^ 0x80000000u; /* 02858434 */ _t32 = cpu->r[1] + 0x0000000Cu; /* 02858434 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]); /* 02858438 */ _t33 = cpu->r[1] + 0x00000008u; /* 02858438 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t33); /* 0285843C */ cpu->f[13] = cpu->f[11] - cpu->f[0]; /* 02858440 */ cpu->f[11] = (double)(float)cpu->f[13]; /* 02858444 */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[10]); /* 02858448 */ _t34 = cpu->r[29] + 0x00000014u; /* 02858448 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]); L_0285844C: ; // 0x285844c /* 0285844C */ _t35 = cpu->r[1] + 0x00000014u; /* 0285844C */ cpu->r[29] = rbrew_read32(cpu->mem, _t35); /* 02858450 */ _t36 = cpu->r[1] + 0x00000024u; /* 02858450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 02858454 */ _t37 = cpu->r[1] + 0x00000018u; /* 02858454 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37); /* 02858458 */ cpu->lr = cpu->r[0]; /* 0285845C */ _t38 = cpu->r[1] + 0x0000001Cu; /* 0285845C */ cpu->r[31] = rbrew_read32(cpu->mem, _t38); /* 02858460 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02858464 */ return; } // fn_02858468 @ 0x2858468 void Gambit_fn_02858468(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02858468: ; // 0x2858468 /* 02858468 */ cpu->r[0] = cpu->lr; /* 0285846C */ _t0 = cpu->r[1] + 0x00000004u; /* 0285846C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02858470 */ cpu->r[0] = cpu->r[4]; /* 02858474 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02858474 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02858474 */ cpu->r[1] = _t1; /* 02858478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000009u); /* 0285847C */ cpu->r[4] = cpu->r[5]; /* 02858480 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858480 */ _t3 = _t2 & 0x00000001u; /* 02858480 */ if (_t3) goto L_028584A4; else goto L_02858484; L_02858484: ; // 0x2858484 /* 02858484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au); /* 02858488 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858488 */ _t5 = _t4 & 0x00000001u; /* 02858488 */ if (_t5) goto L_0285848C; else goto L_028584BC; L_0285848C: ; // 0x285848c /* 0285848C */ Gambit_fn_028582D0(cpu); /* 02858490 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 02858490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02858494 */ cpu->lr = cpu->r[0]; /* 02858498 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285849C */ cpu->r[3] = 0x00000003u; /* 028584A0 */ return; L_028584A4: ; // 0x28584a4 /* 028584A4 */ Gambit_fn_0285832C(cpu); /* 028584A8 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028584A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028584AC */ cpu->lr = cpu->r[0]; /* 028584B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028584B4 */ cpu->r[3] = 0x00000001u; /* 028584B8 */ return; L_028584BC: ; // 0x28584bc /* 028584BC */ _t8 = cpu->r[1] + 0x0000000Cu; /* 028584BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 028584C0 */ cpu->lr = cpu->r[0]; /* 028584C4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028584C8 */ cpu->r[3] = 0x00000000u; /* 028584CC */ return; } // fn_02858474 @ 0x2858474 void Gambit_fn_02858474(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02858474: ; // 0x2858474 /* 02858474 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02858474 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858474 */ cpu->r[1] = _t0; /* 02858478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000009u); /* 0285847C */ cpu->r[4] = cpu->r[5]; /* 02858480 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858480 */ _t2 = _t1 & 0x00000001u; /* 02858480 */ if (_t2) goto L_028584A4; else goto L_02858484; L_02858484: ; // 0x2858484 /* 02858484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au); /* 02858488 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858488 */ _t4 = _t3 & 0x00000001u; /* 02858488 */ if (_t4) goto L_0285848C; else goto L_028584BC; L_0285848C: ; // 0x285848c /* 0285848C */ Gambit_fn_028582D0(cpu); /* 02858490 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 02858490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02858494 */ cpu->lr = cpu->r[0]; /* 02858498 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285849C */ cpu->r[3] = 0x00000003u; /* 028584A0 */ return; L_028584A4: ; // 0x28584a4 /* 028584A4 */ Gambit_fn_0285832C(cpu); /* 028584A8 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 028584A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 028584AC */ cpu->lr = cpu->r[0]; /* 028584B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028584B4 */ cpu->r[3] = 0x00000001u; /* 028584B8 */ return; L_028584BC: ; // 0x28584bc /* 028584BC */ _t7 = cpu->r[1] + 0x0000000Cu; /* 028584BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028584C0 */ cpu->lr = cpu->r[0]; /* 028584C4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028584C8 */ cpu->r[3] = 0x00000000u; /* 028584CC */ return; } // fn_028584D0 @ 0x28584d0 void Gambit_fn_028584D0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64; L_028584D0: ; // 0x28584d0 /* 028584D0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 028584D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028584D0 */ cpu->r[1] = _t0; /* 028584D4 */ cpu->r[0] = cpu->lr; /* 028584D8 */ _t1 = cpu->r[1] + 0x00000018u; /* 028584D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 028584DC */ /* nop */ /* 028584E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000009u); /* 028584E4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028584E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028584E8 */ _t3 = cpu->r[1] + 0x00000020u; /* 028584E8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 028584EC */ _t4 = cpu->r[1] + 0x00000014u; /* 028584EC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 028584F0 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 028584F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]); /* 028584F4 */ cpu->r[30] = cpu->r[4]; /* 028584F8 */ cpu->r[31] = cpu->r[6]; /* 028584FC */ _t6 = cpu->r[1] + 0x0000002Cu; /* 028584FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02858500 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858500 */ _t8 = _t7 & 0x00000001u; /* 02858500 */ if (_t8) goto L_028585A0; else goto L_02858504; L_02858504: ; // 0x2858504 /* 02858504 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x0000000Au); /* 02858508 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858508 */ _t10 = _t9 & 0x00000001u; /* 02858508 */ if (_t10) goto L_0285850C; else goto L_02858630; L_0285850C: ; // 0x285850c /* 0285850C */ _t11 = cpu->r[31] + 0x00000000u; /* 0285850C */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 02858510 */ _t12 = cpu->r[29] + 0x00000014u; /* 02858510 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t12); /* 02858514 */ _t13 = cpu->r[30] + 0x00000008u; /* 02858514 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[8]); /* 02858518 */ _t14 = cpu->r[29] + 0x00000018u; /* 02858518 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t14); /* 0285851C */ cpu->r[4] = cpu->r[31]; /* 02858520 */ _t15 = cpu->r[30] + 0x00000004u; /* 02858520 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[9]); /* 02858524 */ Gambit_fn_028582D0(cpu); /* 02858528 */ _t16 = cpu->r[29] + 0x00000014u; /* 02858528 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t16); /* 0285852C */ _t17 = cpu->r[30] + 0x00000000u; /* 0285852C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[8]); /* 02858530 */ _t18 = cpu->r[31] + 0x00000000u; /* 02858530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18); /* 02858534 */ Gambit_fn_02854518(cpu); /* 02858538 */ _t19 = cpu->r[30] + 0x00000000u; /* 02858538 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19); /* 0285853C */ _t20 = cpu->r[30] + 0x00000008u; /* 0285853C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t20); /* 02858540 */ _t21 = cpu->r[29] + 0x00000018u; /* 02858540 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21); /* 02858544 */ cpu->f[13] = cpu->f[10] - cpu->f[12]; /* 02858548 */ cpu->f[0] = cpu->f[11] + cpu->f[1]; /* 0285854C */ _t22 = cpu->r[30] + 0x00000004u; /* 0285854C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t22); /* 02858550 */ /* nop */ /* 02858554 */ cpu->f[9] = cpu->f[0] - cpu->f[8]; /* 02858558 */ /* nop */ /* 0285855C */ /* nop */ /* 02858560 */ _t23 = cpu->r[30] + 0x00000000u; /* 02858560 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[11]); /* 02858564 */ /* nop */ /* 02858568 */ _t24 = cpu->r[30] + 0x00000008u; /* 02858568 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]); /* 0285856C */ _t25 = cpu->r[30] + 0x00000004u; /* 0285856C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]); /* 02858570 */ _t26 = cpu->r[30] + 0x0000000Cu; /* 02858570 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]); /* 02858574 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02858574 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27); /* 02858578 */ _t28 = cpu->r[1] + 0x00000020u; /* 02858578 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28); /* 0285857C */ _t29 = cpu->r[1] + 0x00000010u; /* 0285857C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 02858580 */ _t30 = cpu->r[1] + 0x00000018u; /* 02858580 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30); /* 02858584 */ _t31 = cpu->r[1] + 0x00000014u; /* 02858584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31); /* 02858588 */ cpu->r[3] = 0x00000003u; /* 0285858C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285858C */ _t33 = _t32 & 0x00000001u; /* 0285858C */ if (_t33) goto L_02858590; // else: addr-0 trap, fall-through L_02858590: ; // 0x2858590 /* 02858590 */ _t34 = cpu->r[1] + 0x0000002Cu; /* 02858590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 02858594 */ cpu->lr = cpu->r[0]; /* 02858598 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285859C */ return; L_028585A0: ; // 0x28585a0 /* 028585A0 */ _t35 = cpu->r[31] + 0x00000000u; /* 028585A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35); /* 028585A4 */ _t36 = cpu->r[29] + 0x00000014u; /* 028585A4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t36); /* 028585A8 */ cpu->r[4] = cpu->r[31]; /* 028585AC */ _t37 = cpu->r[30] + 0x00000000u; /* 028585AC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[10]); /* 028585B0 */ Gambit_fn_0285832C(cpu); /* 028585B4 */ _t38 = cpu->r[29] + 0x00000014u; /* 028585B4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38); /* 028585B8 */ _t39 = cpu->r[30] + 0x00000008u; /* 028585B8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]); /* 028585BC */ _t40 = cpu->r[29] + 0x00000018u; /* 028585BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t40); /* 028585C0 */ cpu->r[3] = cpu->r[29]; /* 028585C4 */ _t41 = cpu->r[30] + 0x00000004u; /* 028585C4 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[31]); /* 028585C8 */ Gambit_fn_02854518(cpu); /* 028585CC */ _t42 = cpu->r[30] + 0x00000008u; /* 028585CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42); /* 028585D0 */ _t43 = cpu->r[30] + 0x00000000u; /* 028585D0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t43); /* 028585D4 */ cpu->f[0] = cpu->f[31] + cpu->f[1]; /* 028585D8 */ _t44 = cpu->r[30] + 0x00000004u; /* 028585D8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t44); /* 028585DC */ cpu->f[12] = cpu->f[11] - cpu->f[10]; /* 028585E0 */ cpu->f[13] = cpu->f[0] - cpu->f[8]; /* 028585E4 */ /* nop */ /* 028585E8 */ /* nop */ /* 028585EC */ /* nop */ /* 028585F0 */ _t45 = cpu->r[30] + 0x00000000u; /* 028585F0 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[9]); /* 028585F4 */ /* nop */ /* 028585F8 */ _t46 = cpu->r[30] + 0x00000008u; /* 028585F8 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[10]); /* 028585FC */ _t47 = cpu->r[30] + 0x00000004u; /* 028585FC */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]); /* 02858600 */ _t48 = cpu->r[30] + 0x0000000Cu; /* 02858600 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[8]); /* 02858604 */ _t49 = cpu->r[1] + 0x0000000Cu; /* 02858604 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49); /* 02858608 */ _t50 = cpu->r[1] + 0x00000020u; /* 02858608 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t50); /* 0285860C */ _t51 = cpu->r[1] + 0x00000010u; /* 0285860C */ cpu->r[30] = rbrew_read32(cpu->mem, _t51); /* 02858610 */ _t52 = cpu->r[1] + 0x00000018u; /* 02858610 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t52); /* 02858614 */ _t53 = cpu->r[1] + 0x00000014u; /* 02858614 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53); /* 02858618 */ cpu->r[3] = 0x00000001u; /* 0285861C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285861C */ _t55 = _t54 & 0x00000001u; /* 0285861C */ if (_t55) goto L_02858620; // else: addr-0 trap, fall-through L_02858620: ; // 0x2858620 /* 02858620 */ _t56 = cpu->r[1] + 0x0000002Cu; /* 02858620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 02858624 */ cpu->lr = cpu->r[0]; /* 02858628 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285862C */ return; L_02858630: ; // 0x2858630 /* 02858630 */ _t57 = cpu->r[1] + 0x0000000Cu; /* 02858630 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57); /* 02858634 */ _t58 = cpu->r[1] + 0x00000020u; /* 02858634 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t58); /* 02858638 */ _t59 = cpu->r[1] + 0x00000014u; /* 02858638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59); /* 0285863C */ _t60 = cpu->r[1] + 0x00000018u; /* 0285863C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t60); /* 02858640 */ _t61 = cpu->r[1] + 0x00000010u; /* 02858640 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61); /* 02858644 */ cpu->r[3] = 0x00000000u; /* 02858648 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u); /* 02858648 */ _t63 = _t62 & 0x00000001u; /* 02858648 */ if (_t63) goto L_0285864C; // else: addr-0 trap, fall-through L_0285864C: ; // 0x285864c /* 0285864C */ _t64 = cpu->r[1] + 0x0000002Cu; /* 0285864C */ cpu->r[0] = rbrew_read32(cpu->mem, _t64); /* 02858650 */ cpu->lr = cpu->r[0]; /* 02858654 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02858658 */ return; } // fn_0285865C @ 0x285865c void Gambit_fn_0285865C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285865C: ; // 0x285865c /* 0285865C */ cpu->r[0] = cpu->lr; /* 02858660 */ _t0 = cpu->r[1] + 0x00000004u; /* 02858660 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02858664 */ cpu->r[12] = 0x101D0000u; /* 02858668 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02858668 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02858668 */ cpu->r[1] = _t1; /* 0285866C */ _t2 = cpu->r[12] + 0x00001720u; /* 0285866C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0285866C */ cpu->r[12] = _t2; /* 02858670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02858674 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858674 */ _t4 = _t3 & 0x00000001u; /* 02858674 */ if (_t4) goto L_02858678; else goto L_02858698; L_02858678: ; // 0x2858678 /* 02858678 */ cpu->r[3] = 0x101F0000u; /* 0285867C */ cpu->r[0] = 0x00000001u; /* 02858680 */ cpu->r[3] = cpu->r[3] + 0x00006F34u; /* 02858684 */ _t5 = cpu->r[12] + 0x00000000u; /* 02858684 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02858688 */ Gambit_fn_02858228(cpu); /* 0285868C */ cpu->r[3] = 0x101D0000u; /* 02858690 */ cpu->r[3] = cpu->r[3] + 0xFFFF9A40u; /* 02858694 */ Gambit_fn_02C83090(cpu); L_02858698: ; // 0x2858698 /* 02858698 */ cpu->r[12] = 0x101D0000u; /* 0285869C */ _t6 = cpu->r[12] + 0x00001724u; /* 0285869C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285869C */ cpu->r[12] = _t6; /* 028586A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028586A4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028586A4 */ _t8 = _t7 & 0x00000001u; /* 028586A4 */ if (_t8) goto L_028586A8; else goto L_028586C8; L_028586A8: ; // 0x28586a8 /* 028586A8 */ cpu->r[3] = 0x101F0000u; /* 028586AC */ cpu->r[0] = 0x00000001u; /* 028586B0 */ cpu->r[3] = cpu->r[3] + 0x00006F38u; /* 028586B4 */ _t9 = cpu->r[12] + 0x00000000u; /* 028586B4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 028586B8 */ Gambit_fn_0285827C(cpu); /* 028586BC */ cpu->r[3] = 0x101D0000u; /* 028586C0 */ cpu->r[3] = cpu->r[3] + 0xFFFF9A4Cu; /* 028586C4 */ Gambit_fn_02C83090(cpu); L_028586C8: ; // 0x28586c8 /* 028586C8 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028586C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028586CC */ cpu->lr = cpu->r[0]; /* 028586D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028586D4 */ return; } // fn_02858668 @ 0x2858668 void Gambit_fn_02858668(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02858668: ; // 0x2858668 /* 02858668 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02858668 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858668 */ cpu->r[1] = _t0; /* 0285866C */ _t1 = cpu->r[12] + 0x00001720u; /* 0285866C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 0285866C */ cpu->r[12] = _t1; /* 02858670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02858674 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858674 */ _t3 = _t2 & 0x00000001u; /* 02858674 */ if (_t3) goto L_02858678; else goto L_02858698; L_02858678: ; // 0x2858678 /* 02858678 */ cpu->r[3] = 0x101F0000u; /* 0285867C */ cpu->r[0] = 0x00000001u; /* 02858680 */ cpu->r[3] = cpu->r[3] + 0x00006F34u; /* 02858684 */ _t4 = cpu->r[12] + 0x00000000u; /* 02858684 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02858688 */ Gambit_fn_02858228(cpu); /* 0285868C */ cpu->r[3] = 0x101D0000u; /* 02858690 */ cpu->r[3] = cpu->r[3] + 0xFFFF9A40u; /* 02858694 */ Gambit_fn_02C83090(cpu); L_02858698: ; // 0x2858698 /* 02858698 */ cpu->r[12] = 0x101D0000u; /* 0285869C */ _t5 = cpu->r[12] + 0x00001724u; /* 0285869C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0285869C */ cpu->r[12] = _t5; /* 028586A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028586A4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028586A4 */ _t7 = _t6 & 0x00000001u; /* 028586A4 */ if (_t7) goto L_028586A8; else goto L_028586C8; L_028586A8: ; // 0x28586a8 /* 028586A8 */ cpu->r[3] = 0x101F0000u; /* 028586AC */ cpu->r[0] = 0x00000001u; /* 028586B0 */ cpu->r[3] = cpu->r[3] + 0x00006F38u; /* 028586B4 */ _t8 = cpu->r[12] + 0x00000000u; /* 028586B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 028586B8 */ Gambit_fn_0285827C(cpu); /* 028586BC */ cpu->r[3] = 0x101D0000u; /* 028586C0 */ cpu->r[3] = cpu->r[3] + 0xFFFF9A4Cu; /* 028586C4 */ Gambit_fn_02C83090(cpu); L_028586C8: ; // 0x28586c8 /* 028586C8 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 028586C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 028586CC */ cpu->lr = cpu->r[0]; /* 028586D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 028586D4 */ return; } // fn_028586D8 @ 0x28586d8 void Gambit_fn_028586D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_028586D8: ; // 0x28586d8 /* 028586D8 */ cpu->r[0] = cpu->lr; /* 028586DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028586DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028586DC */ cpu->r[1] = _t0; /* 028586E0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028586E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028586E4 */ cpu->r[31] = cpu->r[3]; /* 028586E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028586E8 */ _t2 = cpu->r[1] + 0x00000014u; /* 028586E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028586EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028586EC */ _t4 = _t3 & 0x00000001u; /* 028586EC */ if (_t4) goto L_028586F0; else goto L_02858700; L_028586F0: ; // 0x28586f0 /* 028586F0 */ cpu->r[3] = 0x0000004Cu; /* 028586F4 */ Gambit_fn_02801A78(cpu); /* 028586F8 */ cpu->r[31] = cpu->r[3]; /* 028586F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028586FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028586FC */ _t6 = _t5 & 0x00000001u; /* 028586FC */ if (_t6) goto L_02858740; else goto L_02858700; L_02858700: ; // 0x2858700 /* 02858700 */ cpu->r[3] = cpu->r[31]; /* 02858704 */ Gambit_fn_028542F0(cpu); /* 02858708 */ cpu->r[12] = 0x10130000u; /* 0285870C */ cpu->r[11] = 0x10130000u; /* 02858710 */ _t7 = cpu->r[12] + 0x00001D80u; /* 02858710 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7); /* 02858714 */ cpu->r[12] = 0x00000004u; /* 02858718 */ _t8 = cpu->r[11] + 0x00001D84u; /* 02858718 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8); /* 0285871C */ cpu->r[0] = 0x101F0000u; /* 02858720 */ _t9 = cpu->r[31] + 0x00000040u; /* 02858720 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 02858724 */ _t10 = cpu->r[31] + 0x00000038u; /* 02858724 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]); /* 02858728 */ cpu->r[0] = cpu->r[0] + 0x00006F38u; /* 0285872C */ _t11 = cpu->r[31] + 0x00000034u; /* 0285872C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]); /* 02858730 */ cpu->r[11] = 0x00000000u; /* 02858734 */ _t12 = cpu->r[31] + 0x00000048u; /* 02858734 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 02858738 */ _t13 = cpu->r[31] + 0x00000044u; /* 02858738 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]); /* 0285873C */ _t14 = cpu->r[31] + 0x0000003Cu; /* 0285873C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]); L_02858740: ; // 0x2858740 /* 02858740 */ _t15 = cpu->r[1] + 0x00000014u; /* 02858740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02858744 */ cpu->r[3] = cpu->r[31]; /* 02858748 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02858748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0285874C */ cpu->lr = cpu->r[0]; /* 02858750 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02858754 */ return; } // fn_028586DC @ 0x28586dc void Gambit_fn_028586DC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_028586DC: ; // 0x28586dc /* 028586DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 028586DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028586DC */ cpu->r[1] = _t0; /* 028586E0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028586E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028586E4 */ cpu->r[31] = cpu->r[3]; /* 028586E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028586E8 */ _t2 = cpu->r[1] + 0x00000014u; /* 028586E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028586EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 028586EC */ _t4 = _t3 & 0x00000001u; /* 028586EC */ if (_t4) goto L_028586F0; else goto L_02858700; L_028586F0: ; // 0x28586f0 /* 028586F0 */ cpu->r[3] = 0x0000004Cu; /* 028586F4 */ Gambit_fn_02801A78(cpu); /* 028586F8 */ cpu->r[31] = cpu->r[3]; /* 028586F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028586FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028586FC */ _t6 = _t5 & 0x00000001u; /* 028586FC */ if (_t6) goto L_02858740; else goto L_02858700; L_02858700: ; // 0x2858700 /* 02858700 */ cpu->r[3] = cpu->r[31]; /* 02858704 */ Gambit_fn_028542F0(cpu); /* 02858708 */ cpu->r[12] = 0x10130000u; /* 0285870C */ cpu->r[11] = 0x10130000u; /* 02858710 */ _t7 = cpu->r[12] + 0x00001D80u; /* 02858710 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7); /* 02858714 */ cpu->r[12] = 0x00000004u; /* 02858718 */ _t8 = cpu->r[11] + 0x00001D84u; /* 02858718 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8); /* 0285871C */ cpu->r[0] = 0x101F0000u; /* 02858720 */ _t9 = cpu->r[31] + 0x00000040u; /* 02858720 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 02858724 */ _t10 = cpu->r[31] + 0x00000038u; /* 02858724 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]); /* 02858728 */ cpu->r[0] = cpu->r[0] + 0x00006F38u; /* 0285872C */ _t11 = cpu->r[31] + 0x00000034u; /* 0285872C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]); /* 02858730 */ cpu->r[11] = 0x00000000u; /* 02858734 */ _t12 = cpu->r[31] + 0x00000048u; /* 02858734 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 02858738 */ _t13 = cpu->r[31] + 0x00000044u; /* 02858738 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]); /* 0285873C */ _t14 = cpu->r[31] + 0x0000003Cu; /* 0285873C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]); L_02858740: ; // 0x2858740 /* 02858740 */ _t15 = cpu->r[1] + 0x00000014u; /* 02858740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02858744 */ cpu->r[3] = cpu->r[31]; /* 02858748 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02858748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0285874C */ cpu->lr = cpu->r[0]; /* 02858750 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02858754 */ return; } // fn_02858758 @ 0x2858758 void Gambit_fn_02858758(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_02858758: ; // 0x2858758 /* 02858758 */ cpu->r[0] = cpu->lr; /* 0285875C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285875C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285875C */ cpu->r[1] = _t0; /* 02858760 */ _t1 = cpu->r[1] + 0x00000008u; /* 02858760 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02858764 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02858764 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02858768 */ cpu->r[31] = cpu->r[3]; /* 02858768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285876C */ cpu->r[30] = cpu->r[4]; /* 02858770 */ _t3 = cpu->r[1] + 0x00000014u; /* 02858770 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02858774 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858774 */ _t5 = _t4 & 0x00000001u; /* 02858774 */ if (_t5) goto L_02858794; else goto L_02858778; L_02858778: ; // 0x2858778 /* 02858778 */ cpu->r[3] = cpu->r[31]; /* 0285877C */ cpu->r[4] = 0x00000000u; /* 02858780 */ Gambit_fn_028543BC(cpu); /* 02858784 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02858784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02858788 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858788 */ _t7 = _t6 & 0x00000001u; /* 02858788 */ if (_t7) goto L_02858794; else goto L_0285878C; L_0285878C: ; // 0x285878c /* 0285878C */ cpu->r[3] = cpu->r[31]; /* 02858790 */ Gambit_fn_02801BB0(cpu); L_02858794: ; // 0x2858794 /* 02858794 */ _t8 = cpu->r[1] + 0x00000014u; /* 02858794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02858798 */ _t9 = cpu->r[1] + 0x00000008u; /* 02858798 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285879C */ cpu->lr = cpu->r[0]; /* 028587A0 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028587A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028587A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028587A8 */ return; } // fn_0285875C @ 0x285875c void Gambit_fn_0285875C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285875C: ; // 0x285875c /* 0285875C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285875C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285875C */ cpu->r[1] = _t0; /* 02858760 */ _t1 = cpu->r[1] + 0x00000008u; /* 02858760 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02858764 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02858764 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02858768 */ cpu->r[31] = cpu->r[3]; /* 02858768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285876C */ cpu->r[30] = cpu->r[4]; /* 02858770 */ _t3 = cpu->r[1] + 0x00000014u; /* 02858770 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02858774 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858774 */ _t5 = _t4 & 0x00000001u; /* 02858774 */ if (_t5) goto L_02858794; else goto L_02858778; L_02858778: ; // 0x2858778 /* 02858778 */ cpu->r[3] = cpu->r[31]; /* 0285877C */ cpu->r[4] = 0x00000000u; /* 02858780 */ Gambit_fn_028543BC(cpu); /* 02858784 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02858784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02858788 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858788 */ _t7 = _t6 & 0x00000001u; /* 02858788 */ if (_t7) goto L_02858794; else goto L_0285878C; L_0285878C: ; // 0x285878c /* 0285878C */ cpu->r[3] = cpu->r[31]; /* 02858790 */ Gambit_fn_02801BB0(cpu); L_02858794: ; // 0x2858794 /* 02858794 */ _t8 = cpu->r[1] + 0x00000014u; /* 02858794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02858798 */ _t9 = cpu->r[1] + 0x00000008u; /* 02858798 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285879C */ cpu->lr = cpu->r[0]; /* 028587A0 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 028587A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 028587A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 028587A8 */ return; } // fn_028587AC @ 0x28587ac void Gambit_fn_028587AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_028587AC: ; // 0x28587ac /* 028587AC */ cpu->r[0] = cpu->lr; /* 028587B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028587B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028587B0 */ cpu->r[1] = _t0; /* 028587B4 */ _t1 = cpu->r[1] + 0x00000014u; /* 028587B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028587B8 */ cpu->r[31] = cpu->r[3]; /* 028587BC */ _t2 = cpu->r[1] + 0x0000001Cu; /* 028587BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028587C0 */ _t3 = cpu->r[31] + 0x00000028u; /* 028587C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 028587C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028587C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028587C8 */ _t5 = _t4 & 0x00000001u; /* 028587C8 */ if (_t5) goto L_02858810; else goto L_028587CC; L_028587CC: ; // 0x28587cc /* 028587CC */ _t6 = cpu->r[3] + 0x00000004u; /* 028587CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 028587D0 */ _t7 = cpu->r[9] + 0x00000054u; /* 028587D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028587D4 */ cpu->ctr = cpu->r[0]; /* 028587D8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028587DC */ cpu->r[10] = 0x10130000u; /* 028587E0 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 028587E4 */ _t8 = cpu->r[10] + 0x00001D88u; /* 028587E4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t8); /* 028587E8 */ cpu->r[12] = 0x43300000u; /* 028587EC */ _t9 = cpu->r[1] + 0x0000000Cu; /* 028587EC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 028587F0 */ _t10 = cpu->r[1] + 0x00000008u; /* 028587F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 028587F4 */ _t11 = cpu->r[1] + 0x00000008u; /* 028587F4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t11); /* 028587F8 */ cpu->f[13] = cpu->f[13] - cpu->f[0]; /* 028587FC */ _t12 = cpu->r[31] + 0x00000010u; /* 028587FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12); /* 02858800 */ cpu->f[12] = (double)(float)cpu->f[13]; /* 02858804 */ _t13 = cpu->r[31] + 0x0000003Cu; /* 02858804 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13); /* 02858808 */ cpu->f[1] = fma(cpu->f[12], cpu->f[0], cpu->f[13]); /* 0285880C */ goto L_02858840; L_02858810: ; // 0x2858810 /* 02858810 */ cpu->r[10] = 0x10130000u; /* 02858814 */ cpu->r[0] = 0x80000000u; /* 02858818 */ _t14 = cpu->r[10] + 0x00001D88u; /* 02858818 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14); /* 0285881C */ cpu->r[12] = 0x43300000u; /* 02858820 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02858820 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 02858824 */ _t16 = cpu->r[1] + 0x00000008u; /* 02858824 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]); /* 02858828 */ _t17 = cpu->r[1] + 0x00000008u; /* 02858828 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t17); /* 0285882C */ cpu->f[13] = cpu->f[13] - cpu->f[0]; /* 02858830 */ _t18 = cpu->r[31] + 0x00000010u; /* 02858830 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18); /* 02858834 */ cpu->f[12] = (double)(float)cpu->f[13]; /* 02858838 */ _t19 = cpu->r[31] + 0x0000003Cu; /* 02858838 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19); /* 0285883C */ cpu->f[1] = fma(cpu->f[12], cpu->f[0], cpu->f[13]); L_02858840: ; // 0x2858840 /* 02858840 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02858840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02858844 */ _t21 = cpu->r[1] + 0x00000014u; /* 02858844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 02858848 */ cpu->lr = cpu->r[0]; /* 0285884C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02858850 */ return; } // fn_028587B0 @ 0x28587b0 void Gambit_fn_028587B0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_028587B0: ; // 0x28587b0 /* 028587B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028587B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028587B0 */ cpu->r[1] = _t0; /* 028587B4 */ _t1 = cpu->r[1] + 0x00000014u; /* 028587B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028587B8 */ cpu->r[31] = cpu->r[3]; /* 028587BC */ _t2 = cpu->r[1] + 0x0000001Cu; /* 028587BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 028587C0 */ _t3 = cpu->r[31] + 0x00000028u; /* 028587C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 028587C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028587C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 028587C8 */ _t5 = _t4 & 0x00000001u; /* 028587C8 */ if (_t5) goto L_02858810; else goto L_028587CC; L_028587CC: ; // 0x28587cc /* 028587CC */ _t6 = cpu->r[3] + 0x00000004u; /* 028587CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 028587D0 */ _t7 = cpu->r[9] + 0x00000054u; /* 028587D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 028587D4 */ cpu->ctr = cpu->r[0]; /* 028587D8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028587DC */ cpu->r[10] = 0x10130000u; /* 028587E0 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 028587E4 */ _t8 = cpu->r[10] + 0x00001D88u; /* 028587E4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t8); /* 028587E8 */ cpu->r[12] = 0x43300000u; /* 028587EC */ _t9 = cpu->r[1] + 0x0000000Cu; /* 028587EC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 028587F0 */ _t10 = cpu->r[1] + 0x00000008u; /* 028587F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 028587F4 */ _t11 = cpu->r[1] + 0x00000008u; /* 028587F4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t11); /* 028587F8 */ cpu->f[13] = cpu->f[13] - cpu->f[0]; /* 028587FC */ _t12 = cpu->r[31] + 0x00000010u; /* 028587FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12); /* 02858800 */ cpu->f[12] = (double)(float)cpu->f[13]; /* 02858804 */ _t13 = cpu->r[31] + 0x0000003Cu; /* 02858804 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13); /* 02858808 */ cpu->f[1] = fma(cpu->f[12], cpu->f[0], cpu->f[13]); /* 0285880C */ goto L_02858840; L_02858810: ; // 0x2858810 /* 02858810 */ cpu->r[10] = 0x10130000u; /* 02858814 */ cpu->r[0] = 0x80000000u; /* 02858818 */ _t14 = cpu->r[10] + 0x00001D88u; /* 02858818 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14); /* 0285881C */ cpu->r[12] = 0x43300000u; /* 02858820 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02858820 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 02858824 */ _t16 = cpu->r[1] + 0x00000008u; /* 02858824 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]); /* 02858828 */ _t17 = cpu->r[1] + 0x00000008u; /* 02858828 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t17); /* 0285882C */ cpu->f[13] = cpu->f[13] - cpu->f[0]; /* 02858830 */ _t18 = cpu->r[31] + 0x00000010u; /* 02858830 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18); /* 02858834 */ cpu->f[12] = (double)(float)cpu->f[13]; /* 02858838 */ _t19 = cpu->r[31] + 0x0000003Cu; /* 02858838 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19); /* 0285883C */ cpu->f[1] = fma(cpu->f[12], cpu->f[0], cpu->f[13]); L_02858840: ; // 0x2858840 /* 02858840 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02858840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02858844 */ _t21 = cpu->r[1] + 0x00000014u; /* 02858844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 02858848 */ cpu->lr = cpu->r[0]; /* 0285884C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02858850 */ return; } // fn_02858854 @ 0x2858854 void Gambit_fn_02858854(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223; L_02858854: ; // 0x2858854 /* 02858854 */ _t0 = cpu->r[1] + 0xFFFFFED0u; /* 02858854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858854 */ cpu->r[1] = _t0; /* 02858858 */ /* nop */ /* 0285885C */ _t1 = cpu->r[1] + 0x00000100u; /* 0285885C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]); /* 02858860 */ _t2 = cpu->r[1] + 0x00000110u; /* 02858860 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]); /* 02858864 */ cpu->r[0] = cpu->lr; /* 02858868 */ _t3 = cpu->r[1] + 0x00000120u; /* 02858868 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]); /* 0285886C */ /* nop */ /* 02858870 */ cpu->r[9] = 0x10130000u; /* 02858874 */ _t4 = cpu->r[9] + 0x00001D80u; /* 02858874 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4); /* 02858878 */ /* nop */ /* 0285887C */ _t5 = cpu->r[1] + 0x00000134u; /* 0285887C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02858880 */ /* nop */ /* 02858884 */ _t6 = cpu->r[1] + 0x00000108u; /* 02858884 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]); /* 02858888 */ _t7 = cpu->r[1] + 0x00000118u; /* 02858888 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]); /* 0285888C */ _t8 = cpu->r[1] + 0x00000128u; /* 0285888C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]); /* 02858890 */ cpu->r[7] = 0x10130000u; /* 02858894 */ _t9 = cpu->r[7] + 0x00001D84u; /* 02858894 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9); /* 02858898 */ cpu->r[26] = cpu->r[3]; /* 0285889C */ cpu->r[24] = 0x00000000u; /* 028588A0 */ _t10 = cpu->r[26] + 0x00000034u; /* 028588A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10); /* 028588A4 */ cpu->r[29] = cpu->r[24]; /* 028588A8 */ cpu->r[28] = cpu->r[5]; /* 028588AC */ _t11 = cpu->r[26] + 0x00000010u; /* 028588AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11); /* 028588B0 */ cpu->r[21] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028588B4 */ _t12 = cpu->r[1] + 0x0000003Cu; /* 028588B4 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]); /* 028588B8 */ _t13 = cpu->r[28] + 0x00000000u; /* 028588B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 028588BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]); /* 028588C0 */ _t14 = cpu->r[1] + 0x0000004Cu; /* 028588C0 */ rbrew_write32(cpu->mem, _t14, cpu->r[24]); /* 028588C4 */ cpu->r[22] = cpu->r[30] + cpu->r[21]; /* 028588C8 */ _t15 = cpu->r[26] + 0x00000028u; /* 028588C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 028588CC */ cpu->r[27] = cpu->r[4]; /* 028588D0 */ _t16 = cpu->r[26] + 0x0000000Cu; /* 028588D0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16); /* 028588D4 */ /* nop */ /* 028588D8 */ _t17 = cpu->r[1] + 0x00000034u; /* 028588D8 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]); /* 028588DC */ cpu->r[23] = cpu->r[1] + 0x000000C4u; /* 028588E0 */ _t18 = cpu->r[1] + 0x00000044u; /* 028588E0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[10]); /* 028588E4 */ _t19 = cpu->r[1] + 0x00000050u; /* 028588E4 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[24]); /* 028588E8 */ cpu->r[5] = cpu->r[24]; /* 028588EC */ _t20 = cpu->r[1] + 0x00000040u; /* 028588EC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[31]); /* 028588F0 */ cpu->r[31] = cpu->r[29]; /* 028588F4 */ _t21 = cpu->r[1] + 0x00000030u; /* 028588F4 */ rbrew_write32(cpu->mem, _t21, cpu->r[26]); /* 028588F8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu); /* 028588FC */ cpu->r[4] = cpu->r[23]; /* 02858900 */ _t22 = cpu->r[1] + 0x00000038u; /* 02858900 */ rbrew_write32(cpu->mem, _t22, cpu->r[22]); /* 02858904 */ cpu->f[29] = cpu->f[31]; /* 02858908 */ _t23 = cpu->r[1] + 0x00000048u; /* 02858908 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[11]); /* 0285890C */ Gambit_fn_02854DB8(cpu); /* 02858910 */ cpu->r[3] = cpu->r[26]; /* 02858914 */ Gambit_fn_028587AC(cpu); /* 02858918 */ _t24 = cpu->r[26] + 0x0000003Cu; /* 02858918 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t24); /* 0285891C */ cpu->f[7] = cpu->f[1] - cpu->f[7]; /* 02858920 */ _t25 = cpu->r[27] + 0x00000008u; /* 02858920 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]); /* 02858924 */ /* nop */ /* 02858928 */ _t26 = cpu->r[27] + 0x00000000u; /* 02858928 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]); /* 0285892C */ /* nop */ /* 02858930 */ _t27 = cpu->r[27] + 0x00000004u; /* 02858930 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[10]); /* 02858934 */ _t28 = cpu->r[27] + 0x0000000Cu; /* 02858934 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]); /* 02858938 */ _t29 = cpu->r[26] + 0x00000048u; /* 02858938 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29); /* 0285893C */ _t30 = cpu->r[1] + 0x000000C4u; /* 0285893C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]); /* 02858940 */ _t31 = cpu->r[3] + 0x00000000u; /* 02858940 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31); /* 02858944 */ _t32 = cpu->r[10] + 0x0000003Cu; /* 02858944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 02858948 */ cpu->ctr = cpu->r[0]; /* 0285894C */ cpu->r[30] = cpu->r[29]; /* 02858950 */ cpu->r[4] = cpu->r[1] + 0x00000030u; /* 02858954 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02858958 */ _t33 = cpu->r[1] + 0x000000CAu; /* 02858958 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t33); /* 0285895C */ _t34 = cpu->r[1] + 0x000000C8u; /* 0285895C */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t34); /* 02858960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02858964 */ cpu->r[3] = cpu->r[23] + cpu->r[6]; /* 02858968 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 02858968 */ _t36 = _t35 & 0x00000001u; /* 02858968 */ if (_t36) goto L_0285896C; else goto L_0285898C; L_0285896C: ; // 0x285896c /* 0285896C */ _t37 = cpu->r[23] + 0x00000008u; /* 0285896C */ cpu->r[8] = rbrew_read32(cpu->mem, _t37); /* 02858970 */ cpu->ctr = cpu->r[8]; /* 02858974 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02858978 */ _t38 = cpu->r[23] + 0x00000000u; /* 02858978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 0285897C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]); /* 02858980 */ cpu->r[20] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02858984 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858984 */ _t40 = _t39 & 0x00000001u; /* 02858984 */ if (_t40) goto L_02858DBC; else goto L_02858988; L_02858988: ; // 0x2858988 /* 02858988 */ goto L_028589B8; L_0285898C: ; // 0x285898c /* 0285898C */ _t41 = cpu->r[23] + 0x0000000Au; /* 0285898C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t41); /* 02858990 */ _t42 = cpu->r[3] + cpu->r[7]; /* 02858990 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42); /* 02858994 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02858998 */ cpu->r[6] = cpu->r[10] + cpu->r[8]; /* 0285899C */ _t43 = cpu->r[6] + 0x00000004u; /* 0285899C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43); /* 028589A0 */ cpu->ctr = cpu->r[8]; /* 028589A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028589A8 */ _t44 = cpu->r[23] + 0x00000000u; /* 028589A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44); /* 028589AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]); /* 028589B0 */ cpu->r[20] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028589B4 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u); /* 028589B4 */ _t46 = _t45 & 0x00000001u; /* 028589B4 */ if (_t46) goto L_02858DBC; else goto L_028589B8; L_028589B8: ; // 0x28589b8 /* 028589B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], 0x00000020u); /* 028589BC */ _t47 = cpu->cr[0] >> (0x00000003u & 31u); /* 028589BC */ _t48 = _t47 & 0x00000001u; /* 028589BC */ if (_t48) goto L_028589C0; else goto L_02858BE8; L_028589C0: ; // 0x28589c0 /* 028589C0 */ _t49 = cpu->r[1] + 0x00000010u; /* 028589C0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[29]); /* 028589C4 */ cpu->r[12] = cpu->r[29] ^ 0x00000001u; /* 028589C8 */ _t50 = cpu->r[1] + 0x00000034u; /* 028589C8 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]); /* 028589CC */ _t51 = cpu->r[1] + 0x0000004Cu; /* 028589CC */ rbrew_write32(cpu->mem, _t51, cpu->r[12]); /* 028589D0 */ _t52 = cpu->r[1] + 0x0000001Cu; /* 028589D0 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[31]); /* 028589D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028589D8 */ _t53 = cpu->r[1] + 0x00000018u; /* 028589D8 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[31]); /* 028589DC */ _t54 = cpu->r[26] + 0x00000014u; /* 028589DC */ rbrew_write_f32(cpu->mem, _t54, cpu->f[29]); /* 028589E0 */ _t55 = cpu->r[1] + 0x00000014u; /* 028589E0 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[31]); /* 028589E4 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 028589E4 */ _t57 = _t56 & 0x00000001u; /* 028589E4 */ if (_t57) goto L_02858ADC; else goto L_028589E8; L_028589E8: ; // 0x28589e8 /* 028589E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x0000000Au); /* 028589EC */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 028589EC */ _t59 = _t58 & 0x00000001u; /* 028589EC */ if (_t59) goto L_02858ADC; else goto L_028589F0; L_028589F0: ; // 0x28589f0 /* 028589F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028589F4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 028589F4 */ _t61 = _t60 & 0x00000001u; /* 028589F4 */ if (_t61) goto L_02858ADC; else goto L_028589F8; L_028589F8: ; // 0x28589f8 /* 028589F8 */ cpu->r[6] = 0x00000003u; /* 028589FC */ cpu->r[4] = cpu->r[1] + 0x0000002Cu; /* 02858A00 */ cpu->ctr = cpu->r[6]; /* 02858A04 */ cpu->r[5] = cpu->r[1] + 0x00000050u; L_02858A08: ; // 0x2858a08 /* 02858A08 */ _t62 = cpu->r[4] + 0x00000004u; /* 02858A08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62); /* 02858A0C */ _t63 = cpu->r[5] + 0x00000004u; /* 02858A0C */ rbrew_write32(cpu->mem, _t63, cpu->r[8]); /* 02858A10 */ _t64 = cpu->r[4] + 0x00000008u; /* 02858A10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64); /* 02858A14 */ _t65 = cpu->r[5] + 0x00000008u; /* 02858A14 */ rbrew_write32(cpu->mem, _t65, cpu->r[10]); /* 02858A18 */ _t66 = cpu->r[4] + 0x0000000Cu; /* 02858A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66); /* 02858A18 */ cpu->r[4] = _t66; /* 02858A1C */ _t67 = cpu->r[5] + 0x0000000Cu; /* 02858A1C */ rbrew_write32(cpu->mem, _t67, cpu->r[0]); /* 02858A1C */ cpu->r[5] = _t67; /* 02858A20 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02858A20 */ _t68 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02858A20 */ _t69 = _t68 >> (0x00000002u & 31u); /* 02858A20 */ _t70 = _t69 & 0x00000001u; /* 02858A20 */ if (_t70) goto L_02858A08; else goto L_02858A24; L_02858A24: ; // 0x2858a24 /* 02858A24 */ cpu->r[0] = 0x00000013u; /* 02858A28 */ cpu->r[6] = cpu->r[26] + 0xFFFFFFFCu; /* 02858A2C */ cpu->ctr = cpu->r[0]; /* 02858A30 */ cpu->r[8] = cpu->r[1] + 0x00000074u; L_02858A34: ; // 0x2858a34 /* 02858A34 */ _t71 = cpu->r[6] + 0x00000004u; /* 02858A34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t71); /* 02858A34 */ cpu->r[6] = _t71; /* 02858A38 */ _t72 = cpu->r[8] + 0x00000004u; /* 02858A38 */ rbrew_write32(cpu->mem, _t72, cpu->r[4]); /* 02858A38 */ cpu->r[8] = _t72; /* 02858A3C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02858A3C */ _t73 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02858A3C */ _t74 = _t73 >> (0x00000002u & 31u); /* 02858A3C */ _t75 = _t74 & 0x00000001u; /* 02858A3C */ if (_t75) goto L_02858A34; else goto L_02858A40; L_02858A40: ; // 0x2858a40 /* 02858A40 */ _t76 = cpu->r[1] + 0x00000028u; /* 02858A40 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[31]); /* 02858A44 */ cpu->r[0] = cpu->r[1] + 0x00000078u; /* 02858A48 */ _t77 = cpu->r[1] + 0x0000002Cu; /* 02858A48 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[31]); /* 02858A4C */ _t78 = cpu->r[1] + 0x00000020u; /* 02858A4C */ rbrew_write_f32(cpu->mem, _t78, cpu->f[31]); /* 02858A50 */ _t79 = cpu->r[26] + 0x00000048u; /* 02858A50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t79); /* 02858A54 */ _t80 = cpu->r[1] + 0x00000054u; /* 02858A54 */ rbrew_write32(cpu->mem, _t80, cpu->r[0]); /* 02858A58 */ _t81 = cpu->r[1] + 0x00000024u; /* 02858A58 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[31]); /* 02858A5C */ _t82 = cpu->r[3] + 0x00000000u; /* 02858A5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t82); /* 02858A60 */ _t83 = cpu->r[8] + 0x00000024u; /* 02858A60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t83); /* 02858A64 */ cpu->ctr = cpu->r[12]; /* 02858A68 */ cpu->r[6] = cpu->r[1] + 0x00000054u; /* 02858A6C */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 02858A70 */ cpu->r[5] = cpu->r[20]; /* 02858A74 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02858A78 */ _t84 = cpu->r[1] + 0x00000020u; /* 02858A78 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t84); /* 02858A7C */ _t85 = cpu->r[1] + 0x00000028u; /* 02858A7C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t85); /* 02858A80 */ cpu->f[11] = cpu->f[12] - cpu->f[13]; /* 02858A84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[31]); /* 02858A88 */ _t86 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858A88 */ _t87 = _t86 & 0x00000001u; /* 02858A88 */ if (_t87) goto L_02858A8C; else goto L_02858AD0; L_02858A8C: ; // 0x2858a8c /* 02858A8C */ _t88 = cpu->r[1] + 0x0000008Cu; /* 02858A8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t88); /* 02858A90 */ _t89 = cpu->r[1] + 0x0000003Cu; /* 02858A90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t89); /* 02858A94 */ cpu->f[12] = cpu->f[13] - cpu->f[0]; /* 02858A98 */ _t90 = cpu->r[26] + 0x00000034u; /* 02858A98 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t90); /* 02858A9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[6]); /* 02858AA0 */ _t91 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858AA0 */ _t92 = _t91 & 0x00000001u; /* 02858AA0 */ if (_t92) goto L_02858AA4; else goto L_02858AD0; L_02858AA4: ; // 0x2858aa4 /* 02858AA4 */ cpu->r[31] = 0x00000001u; /* 02858AA8 */ _t93 = cpu->r[1] + 0x00000050u; /* 02858AA8 */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[24]); /* 02858AAC */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 02858AB0 */ cpu->r[4] = 0x00000002u; /* 02858AB4 */ _t94 = cpu->r[23] + 0x00000000u; /* 02858AB4 */ rbrew_write32(cpu->mem, _t94, cpu->r[30]); /* 02858AB8 */ cpu->r[20] = 0x0000000Au; /* 02858ABC */ Gambit_fn_02858758(cpu); /* 02858AC0 */ _t95 = cpu->r[23] + 0x00000000u; /* 02858AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95); /* 02858AC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]); /* 02858AC8 */ _t96 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858AC8 */ _t97 = _t96 & 0x00000001u; /* 02858AC8 */ if (_t97) goto L_02858ACC; else goto L_028589B8; L_02858ACC: ; // 0x2858acc /* 02858ACC */ goto L_02858DBC; L_02858AD0: ; // 0x2858ad0 /* 02858AD0 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 02858AD4 */ cpu->r[4] = 0x00000002u; /* 02858AD8 */ Gambit_fn_02858758(cpu); L_02858ADC: ; // 0x2858adc /* 02858ADC */ _t98 = cpu->r[26] + 0x00000048u; /* 02858ADC */ cpu->r[3] = rbrew_read32(cpu->mem, _t98); /* 02858AE0 */ _t99 = cpu->r[3] + 0x00000000u; /* 02858AE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t99); /* 02858AE4 */ _t100 = cpu->r[9] + 0x00000024u; /* 02858AE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100); /* 02858AE8 */ cpu->ctr = cpu->r[10]; /* 02858AEC */ cpu->r[5] = cpu->r[20]; /* 02858AF0 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 02858AF4 */ cpu->r[6] = cpu->r[1] + 0x00000030u; /* 02858AF8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02858AFC */ _t101 = cpu->r[27] + 0x00000000u; /* 02858AFC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t101); /* 02858B00 */ _t102 = cpu->r[1] + 0x00000010u; /* 02858B00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t102); /* 02858B04 */ cpu->f[7] = cpu->f[9] - cpu->f[12]; /* 02858B08 */ /* nop */ /* 02858B0C */ _t103 = cpu->r[27] + 0x00000004u; /* 02858B0C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t103); /* 02858B10 */ _t104 = cpu->r[1] + 0x00000014u; /* 02858B10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t104); /* 02858B14 */ cpu->f[10] = cpu->f[12] - cpu->f[9]; /* 02858B18 */ /* nop */ /* 02858B1C */ _t105 = cpu->r[1] + 0x00000018u; /* 02858B1C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t105); /* 02858B20 */ _t106 = cpu->r[27] + 0x00000008u; /* 02858B20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t106); /* 02858B24 */ _t107 = cpu->r[27] + 0x00000004u; /* 02858B24 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[11]); /* 02858B28 */ cpu->f[13] = cpu->f[12] - cpu->f[9]; /* 02858B2C */ _t108 = cpu->r[1] + 0x00000034u; /* 02858B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t108); /* 02858B30 */ /* nop */ /* 02858B34 */ _t109 = cpu->r[1] + 0x0000001Cu; /* 02858B34 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t109); /* 02858B38 */ _t110 = cpu->r[27] + 0x0000000Cu; /* 02858B38 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t110); /* 02858B3C */ _t111 = cpu->r[23] + 0x00000000u; /* 02858B3C */ rbrew_write32(cpu->mem, _t111, cpu->r[0]); /* 02858B40 */ cpu->f[6] = cpu->f[12] - cpu->f[9]; /* 02858B44 */ _t112 = cpu->r[27] + 0x00000000u; /* 02858B44 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[8]); /* 02858B48 */ /* nop */ /* 02858B4C */ _t113 = cpu->r[27] + 0x00000008u; /* 02858B4C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[0]); /* 02858B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u); /* 02858B54 */ _t114 = cpu->r[27] + 0x0000000Cu; /* 02858B54 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[8]); /* 02858B58 */ _t115 = cpu->r[26] + 0x00000014u; /* 02858B58 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t115); /* 02858B5C */ _t116 = cpu->cr[0] >> (0x00000003u & 31u); /* 02858B5C */ _t117 = _t116 & 0x00000001u; /* 02858B5C */ if (_t117) goto L_02858D58; else goto L_02858B60; L_02858B60: ; // 0x2858b60 /* 02858B60 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858B60 */ _t119 = _t118 & 0x00000001u; /* 02858B60 */ if (_t119) goto L_02858BB8; else goto L_02858B64; L_02858B64: ; // 0x2858b64 /* 02858B64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000003u); /* 02858B68 */ _t120 = cpu->cr[0] >> (0x00000003u & 31u); /* 02858B68 */ _t121 = _t120 & 0x00000001u; /* 02858B68 */ if (_t121) goto L_02858BD0; else goto L_02858B6C; L_02858B6C: ; // 0x2858b6c /* 02858B6C */ _t122 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858B6C */ _t123 = _t122 & 0x00000001u; /* 02858B6C */ if (_t123) goto L_02858DBC; else goto L_02858B70; L_02858B70: ; // 0x2858b70 /* 02858B70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u); /* 02858B74 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858B74 */ _t125 = _t124 & 0x00000001u; /* 02858B74 */ if (_t125) goto L_02858B78; else goto L_02858D58; L_02858B78: ; // 0x2858b78 /* 02858B78 */ _t126 = cpu->r[28] + 0x00000000u; /* 02858B78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t126); /* 02858B7C */ cpu->r[12] = cpu->r[12] + cpu->r[21]; /* 02858B80 */ _t127 = cpu->r[28] + 0x00000000u; /* 02858B80 */ rbrew_write32(cpu->mem, _t127, cpu->r[12]); /* 02858B84 */ /* nop */ /* 02858B88 */ _t128 = cpu->r[1] + 0x00000108u; /* 02858B88 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t128); /* 02858B8C */ _t129 = cpu->r[1] + 0x00000118u; /* 02858B8C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t129); /* 02858B90 */ _t130 = cpu->r[1] + 0x00000100u; /* 02858B90 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t130); /* 02858B94 */ _t131 = cpu->r[1] + 0x00000128u; /* 02858B94 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t131); /* 02858B98 */ _t132 = cpu->r[1] + 0x00000110u; /* 02858B98 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t132); /* 02858B9C */ _t133 = cpu->r[1] + 0x00000120u; /* 02858B9C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t133); /* 02858BA0 */ cpu->r[3] = 0x00000000u; /* 02858BA4 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u); /* 02858BA4 */ _t135 = _t134 & 0x00000001u; /* 02858BA4 */ if (_t135) goto L_02858BA8; // else: addr-0 trap, fall-through L_02858BA8: ; // 0x2858ba8 /* 02858BA8 */ _t136 = cpu->r[1] + 0x00000134u; /* 02858BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136); /* 02858BAC */ cpu->lr = cpu->r[0]; /* 02858BB0 */ cpu->r[1] = cpu->r[1] + 0x00000130u; /* 02858BB4 */ return; L_02858BB8: ; // 0x2858bb8 /* 02858BB8 */ cpu->r[29] = 0x00000000u; /* 02858BBC */ _t137 = cpu->r[23] + 0x00000004u; /* 02858BBC */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t137); /* 02858BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02858BC4 */ _t138 = cpu->r[23] + 0x00000006u; /* 02858BC4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t138); /* 02858BC8 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858BC8 */ _t140 = _t139 & 0x00000001u; /* 02858BC8 */ if (_t140) goto L_02858D6C; else goto L_02858BCC; L_02858BCC: ; // 0x2858bcc /* 02858BCC */ goto L_02858D68; L_02858BD0: ; // 0x2858bd0 /* 02858BD0 */ cpu->r[29] = 0x00000001u; /* 02858BD4 */ _t141 = cpu->r[23] + 0x00000004u; /* 02858BD4 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t141); /* 02858BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02858BDC */ _t142 = cpu->r[23] + 0x00000006u; /* 02858BDC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t142); /* 02858BE0 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858BE0 */ _t144 = _t143 & 0x00000001u; /* 02858BE0 */ if (_t144) goto L_02858D6C; else goto L_02858BE4; L_02858BE4: ; // 0x2858be4 /* 02858BE4 */ goto L_02858D68; L_02858BE8: ; // 0x2858be8 /* 02858BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02858BEC */ cpu->f[30] = cpu->f[29]; /* 02858BF0 */ _t145 = cpu->r[26] + 0x00000030u; /* 02858BF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t145); /* 02858BF4 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858BF4 */ _t147 = _t146 & 0x00000001u; /* 02858BF4 */ if (_t147) goto L_02858C00; else goto L_02858BF8; L_02858BF8: ; // 0x2858bf8 /* 02858BF8 */ _t148 = cpu->r[26] + 0x00000038u; /* 02858BF8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t148); /* 02858BFC */ cpu->f[30] = cpu->f[30] + cpu->f[9]; L_02858C00: ; // 0x2858c00 /* 02858C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02858C04 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858C04 */ _t150 = _t149 & 0x00000001u; /* 02858C04 */ if (_t150) goto L_02858C64; else goto L_02858C08; L_02858C08: ; // 0x2858c08 /* 02858C08 */ _t151 = cpu->r[26] + 0x00000028u; /* 02858C08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t151); /* 02858C0C */ _t152 = cpu->r[3] + 0x00000004u; /* 02858C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t152); /* 02858C10 */ _t153 = cpu->r[12] + 0x0000009Cu; /* 02858C10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t153); /* 02858C14 */ _t154 = cpu->r[26] + 0x00000020u; /* 02858C14 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t154); /* 02858C18 */ cpu->ctr = cpu->r[4]; /* 02858C1C */ _t155 = cpu->r[1] + 0x00000050u; /* 02858C1C */ cpu->r[4] = rbrew_read16(cpu->mem, _t155); /* 02858C20 */ cpu->f[30] = cpu->f[30] + cpu->f[12]; /* 02858C24 */ cpu->r[5] = cpu->r[20]; /* 02858C28 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02858C2C */ cpu->r[7] = 0x10130000u; /* 02858C30 */ cpu->r[9] = 0x43300000u; /* 02858C34 */ _t156 = cpu->r[7] + 0x00001D88u; /* 02858C34 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t156); /* 02858C38 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 02858C3C */ _t157 = cpu->r[1] + 0x00000008u; /* 02858C3C */ rbrew_write32(cpu->mem, _t157, cpu->r[9]); /* 02858C40 */ _t158 = cpu->r[1] + 0x0000000Cu; /* 02858C40 */ rbrew_write32(cpu->mem, _t158, cpu->r[0]); /* 02858C44 */ _t159 = cpu->r[1] + 0x00000008u; /* 02858C44 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t159); /* 02858C48 */ cpu->f[10] = cpu->f[9] - cpu->f[12]; /* 02858C4C */ cpu->f[7] = (double)(float)cpu->f[10]; /* 02858C50 */ _t160 = cpu->r[26] + 0x0000000Cu; /* 02858C50 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t160); /* 02858C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02858C58 */ cpu->f[30] = fma(cpu->f[7], cpu->f[11], cpu->f[30]); /* 02858C5C */ _t161 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858C5C */ _t162 = _t161 & 0x00000001u; /* 02858C5C */ if (_t162) goto L_02858D2C; else goto L_02858C60; L_02858C60: ; // 0x2858c60 /* 02858C60 */ goto L_02858CF8; L_02858C64: ; // 0x2858c64 /* 02858C64 */ _t163 = cpu->r[26] + 0x00000028u; /* 02858C64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t163); /* 02858C68 */ _t164 = cpu->r[3] + 0x00000004u; /* 02858C68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t164); /* 02858C6C */ _t165 = cpu->r[4] + 0x0000007Cu; /* 02858C6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t165); /* 02858C70 */ cpu->ctr = cpu->r[5]; /* 02858C74 */ cpu->r[4] = cpu->r[20]; /* 02858C78 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02858C7C */ cpu->r[9] = cpu->r[3] ^ 0x80000000u; /* 02858C80 */ cpu->r[7] = 0x43300000u; /* 02858C84 */ _t166 = cpu->r[1] + 0x0000000Cu; /* 02858C84 */ rbrew_write32(cpu->mem, _t166, cpu->r[9]); /* 02858C88 */ cpu->r[5] = 0x10130000u; /* 02858C8C */ _t167 = cpu->r[1] + 0x00000008u; /* 02858C8C */ rbrew_write32(cpu->mem, _t167, cpu->r[7]); /* 02858C90 */ _t168 = cpu->r[1] + 0x00000008u; /* 02858C90 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t168); /* 02858C94 */ _t169 = cpu->r[5] + 0x00001D88u; /* 02858C94 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t169); /* 02858C98 */ _t170 = cpu->r[26] + 0x00000028u; /* 02858C98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t170); /* 02858C9C */ cpu->f[0] = cpu->f[11] - cpu->f[10]; /* 02858CA0 */ _t171 = cpu->r[3] + 0x00000004u; /* 02858CA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t171); /* 02858CA4 */ _t172 = cpu->r[12] + 0x0000009Cu; /* 02858CA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t172); /* 02858CA8 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 02858CAC */ cpu->ctr = cpu->r[4]; /* 02858CB0 */ _t173 = cpu->r[26] + 0x0000000Cu; /* 02858CB0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t173); /* 02858CB4 */ cpu->f[30] = fma(cpu->f[13], cpu->f[6], cpu->f[30]); /* 02858CB8 */ _t174 = cpu->r[1] + 0x00000050u; /* 02858CB8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t174); /* 02858CBC */ cpu->r[5] = cpu->r[20]; /* 02858CC0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02858CC4 */ cpu->r[7] = 0x10130000u; /* 02858CC8 */ cpu->r[9] = 0x43300000u; /* 02858CCC */ _t175 = cpu->r[7] + 0x00001D88u; /* 02858CCC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t175); /* 02858CD0 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u; /* 02858CD4 */ _t176 = cpu->r[1] + 0x00000008u; /* 02858CD4 */ rbrew_write32(cpu->mem, _t176, cpu->r[9]); /* 02858CD8 */ _t177 = cpu->r[1] + 0x0000000Cu; /* 02858CD8 */ rbrew_write32(cpu->mem, _t177, cpu->r[0]); /* 02858CDC */ _t178 = cpu->r[1] + 0x00000008u; /* 02858CDC */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t178); /* 02858CE0 */ cpu->f[10] = cpu->f[9] - cpu->f[12]; /* 02858CE4 */ cpu->f[7] = (double)(float)cpu->f[10]; /* 02858CE8 */ _t179 = cpu->r[26] + 0x0000000Cu; /* 02858CE8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t179); /* 02858CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02858CF0 */ cpu->f[30] = fma(cpu->f[7], cpu->f[11], cpu->f[30]); /* 02858CF4 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858CF4 */ _t181 = _t180 & 0x00000001u; /* 02858CF4 */ if (_t181) goto L_02858D2C; else goto L_02858CF8; L_02858CF8: ; // 0x2858cf8 /* 02858CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02858CFC */ _t182 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858CFC */ _t183 = _t182 & 0x00000001u; /* 02858CFC */ if (_t183) goto L_02858D2C; else goto L_02858D00; L_02858D00: ; // 0x2858d00 /* 02858D00 */ _t184 = cpu->r[26] + 0x00000034u; /* 02858D00 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t184); /* 02858D04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[13]); /* 02858D08 */ _t185 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858D08 */ _t186 = _t185 & 0x00000001u; /* 02858D08 */ if (_t186) goto L_02858D0C; else goto L_02858D2C; L_02858D0C: ; // 0x2858d0c /* 02858D0C */ cpu->r[0] = cpu->r[30]; /* 02858D10 */ cpu->r[31] = 0x00000001u; /* 02858D14 */ _t187 = cpu->r[1] + 0x00000050u; /* 02858D14 */ rbrew_write16(cpu->mem, _t187, (uint16_t)cpu->r[24]); /* 02858D18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]); /* 02858D1C */ cpu->r[20] = 0x0000000Au; /* 02858D20 */ _t188 = cpu->r[23] + 0x00000000u; /* 02858D20 */ rbrew_write32(cpu->mem, _t188, cpu->r[0]); /* 02858D24 */ _t189 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858D24 */ _t190 = _t189 & 0x00000001u; /* 02858D24 */ if (_t190) goto L_02858D28; else goto L_028589B8; L_02858D28: ; // 0x2858d28 /* 02858D28 */ goto L_02858DBC; L_02858D2C: ; // 0x2858d2c /* 02858D2C */ _t191 = cpu->r[27] + 0x00000000u; /* 02858D2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t191); /* 02858D30 */ cpu->f[6] = cpu->f[0] - cpu->f[30]; /* 02858D34 */ /* nop */ /* 02858D38 */ _t192 = cpu->r[27] + 0x00000008u; /* 02858D38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t192); /* 02858D3C */ _t193 = cpu->r[1] + 0x00000050u; /* 02858D3C */ rbrew_write16(cpu->mem, _t193, (uint16_t)cpu->r[20]); /* 02858D40 */ cpu->f[8] = cpu->f[0] - cpu->f[30]; /* 02858D44 */ _t194 = cpu->r[27] + 0x00000000u; /* 02858D44 */ rbrew_write_f32(cpu->mem, _t194, cpu->f[7]); /* 02858D48 */ cpu->r[29] = 0x00000001u; /* 02858D4C */ /* nop */ /* 02858D50 */ cpu->f[29] = cpu->f[30]; /* 02858D54 */ _t195 = cpu->r[27] + 0x00000008u; /* 02858D54 */ rbrew_write_f32(cpu->mem, _t195, cpu->f[9]); L_02858D58: ; // 0x2858d58 /* 02858D58 */ _t196 = cpu->r[23] + 0x00000006u; /* 02858D58 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t196); /* 02858D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02858D60 */ _t197 = cpu->r[23] + 0x00000004u; /* 02858D60 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t197); /* 02858D64 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858D64 */ _t199 = _t198 & 0x00000001u; /* 02858D64 */ if (_t199) goto L_02858D6C; else goto L_02858D68; L_02858D68: ; // 0x2858d68 /* 02858D68 */ _t200 = cpu->r[23] + 0x00000000u; /* 02858D68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t200); L_02858D6C: ; // 0x2858d6c /* 02858D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02858D70 */ cpu->r[3] = cpu->r[23] + cpu->r[4]; /* 02858D74 */ _t201 = cpu->cr[0] >> (0x00000003u & 31u); /* 02858D74 */ _t202 = _t201 & 0x00000001u; /* 02858D74 */ if (_t202) goto L_02858D78; else goto L_02858D90; L_02858D78: ; // 0x2858d78 /* 02858D78 */ _t203 = cpu->r[23] + 0x00000008u; /* 02858D78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t203); /* 02858D7C */ cpu->ctr = cpu->r[9]; /* 02858D80 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02858D84 */ _t204 = cpu->r[23] + 0x00000000u; /* 02858D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t204); /* 02858D88 */ cpu->r[20] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02858D8C */ goto L_02858DB4; L_02858D90: ; // 0x2858d90 /* 02858D90 */ _t205 = cpu->r[23] + 0x0000000Au; /* 02858D90 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t205); /* 02858D94 */ _t206 = cpu->r[3] + cpu->r[0]; /* 02858D94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t206); /* 02858D98 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02858D9C */ cpu->r[12] = cpu->r[12] + cpu->r[10]; /* 02858DA0 */ _t207 = cpu->r[12] + 0x00000004u; /* 02858DA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t207); /* 02858DA4 */ cpu->ctr = cpu->r[9]; /* 02858DA8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02858DAC */ _t208 = cpu->r[23] + 0x00000000u; /* 02858DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t208); /* 02858DB0 */ cpu->r[20] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); L_02858DB4: ; // 0x2858db4 /* 02858DB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]); /* 02858DB8 */ _t209 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858DB8 */ _t210 = _t209 & 0x00000001u; /* 02858DB8 */ if (_t210) goto L_02858DBC; else goto L_028589B8; L_02858DBC: ; // 0x2858dbc /* 02858DBC */ _t211 = cpu->r[28] + 0x00000000u; /* 02858DBC */ rbrew_write32(cpu->mem, _t211, cpu->r[0]); /* 02858DC0 */ _t212 = cpu->r[26] + 0x00000048u; /* 02858DC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t212); /* 02858DC4 */ _t213 = cpu->r[3] + 0x00000000u; /* 02858DC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t213); /* 02858DC8 */ _t214 = cpu->r[10] + 0x00000044u; /* 02858DC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t214); /* 02858DCC */ cpu->ctr = cpu->r[11]; /* 02858DD0 */ cpu->r[4] = cpu->r[1] + 0x00000030u; /* 02858DD4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02858DD8 */ cpu->r[3] = cpu->r[31]; /* 02858DDC */ /* nop */ /* 02858DE0 */ _t215 = cpu->r[1] + 0x00000108u; /* 02858DE0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t215); /* 02858DE4 */ _t216 = cpu->r[1] + 0x00000118u; /* 02858DE4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t216); /* 02858DE8 */ _t217 = cpu->r[1] + 0x00000100u; /* 02858DE8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t217); /* 02858DEC */ _t218 = cpu->r[1] + 0x00000128u; /* 02858DEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t218); /* 02858DF0 */ _t219 = cpu->r[1] + 0x00000110u; /* 02858DF0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t219); /* 02858DF4 */ _t220 = cpu->r[1] + 0x00000120u; /* 02858DF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t220); /* 02858DF8 */ _t221 = cpu->cr[0] >> (0x00000003u & 31u); /* 02858DF8 */ _t222 = _t221 & 0x00000001u; /* 02858DF8 */ if (_t222) goto L_02858DFC; // else: addr-0 trap, fall-through L_02858DFC: ; // 0x2858dfc /* 02858DFC */ _t223 = cpu->r[1] + 0x00000134u; /* 02858DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t223); /* 02858E00 */ cpu->lr = cpu->r[0]; /* 02858E04 */ cpu->r[1] = cpu->r[1] + 0x00000130u; /* 02858E08 */ return; } // fn_02858E0C @ 0x2858e0c void Gambit_fn_02858E0C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41; L_02858E0C: ; // 0x2858e0c /* 02858E0C */ cpu->r[0] = cpu->lr; /* 02858E10 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 02858E10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858E10 */ cpu->r[1] = _t0; /* 02858E14 */ _t1 = cpu->r[1] + 0x00000028u; /* 02858E14 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02858E18 */ /* nop */ /* 02858E1C */ _t2 = cpu->r[1] + 0x00000024u; /* 02858E1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02858E20 */ cpu->r[12] = 0x10130000u; /* 02858E24 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02858E24 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02858E28 */ _t4 = cpu->r[1] + 0x00000030u; /* 02858E28 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); /* 02858E2C */ _t5 = cpu->r[1] + 0x00000018u; /* 02858E2C */ rbrew_write32(cpu->mem, _t5, cpu->r[5]); /* 02858E30 */ _t6 = cpu->r[1] + 0x0000003Cu; /* 02858E30 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02858E34 */ _t7 = cpu->r[12] + 0x00001D84u; /* 02858E34 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7); /* 02858E38 */ cpu->r[31] = cpu->r[4]; /* 02858E3C */ _t8 = cpu->r[1] + 0x00000020u; /* 02858E3C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 02858E40 */ _t9 = cpu->r[31] + 0x0000000Cu; /* 02858E40 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]); /* 02858E44 */ _t10 = cpu->r[31] + 0x00000004u; /* 02858E44 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]); /* 02858E48 */ cpu->r[30] = cpu->r[3]; /* 02858E4C */ _t11 = cpu->r[31] + 0x00000000u; /* 02858E4C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]); /* 02858E50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02858E54 */ _t12 = cpu->r[31] + 0x00000008u; /* 02858E54 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]); /* 02858E58 */ cpu->r[29] = cpu->r[5] + cpu->r[0]; /* 02858E5C */ _t13 = cpu->r[30] + 0x00000014u; /* 02858E5C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[31]); /* 02858E60 */ _t14 = cpu->r[30] + 0x00000018u; /* 02858E60 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]); L_02858E64: ; // 0x2858e64 /* 02858E64 */ _t15 = cpu->r[1] + 0x00000008u; /* 02858E64 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]); /* 02858E68 */ cpu->r[3] = cpu->r[30]; /* 02858E6C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02858E6C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]); /* 02858E70 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02858E74 */ _t17 = cpu->r[1] + 0x00000010u; /* 02858E74 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]); /* 02858E78 */ cpu->r[5] = cpu->r[1] + 0x00000018u; /* 02858E7C */ _t18 = cpu->r[1] + 0x00000014u; /* 02858E7C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[31]); /* 02858E80 */ Gambit_fn_02858854(cpu); /* 02858E84 */ _t19 = cpu->r[1] + 0x00000008u; /* 02858E84 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t19); /* 02858E88 */ _t20 = cpu->r[31] + 0x00000000u; /* 02858E88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20); /* 02858E8C */ cpu->f[12] = cpu->f[0] - cpu->f[9]; /* 02858E90 */ /* nop */ /* 02858E94 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02858E94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21); /* 02858E98 */ _t22 = cpu->r[31] + 0x00000004u; /* 02858E98 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t22); /* 02858E9C */ cpu->f[13] = cpu->f[9] - cpu->f[0]; /* 02858EA0 */ /* nop */ /* 02858EA4 */ _t23 = cpu->r[31] + 0x00000008u; /* 02858EA4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23); /* 02858EA8 */ _t24 = cpu->r[1] + 0x00000010u; /* 02858EA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24); /* 02858EAC */ cpu->f[10] = cpu->f[9] - cpu->f[0]; /* 02858EB0 */ _t25 = cpu->r[1] + 0x00000018u; /* 02858EB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25); /* 02858EB4 */ /* nop */ /* 02858EB8 */ _t26 = cpu->r[1] + 0x00000014u; /* 02858EB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26); /* 02858EBC */ _t27 = cpu->r[31] + 0x0000000Cu; /* 02858EBC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27); /* 02858EC0 */ _t28 = cpu->r[31] + 0x00000004u; /* 02858EC0 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[8]); /* 02858EC4 */ cpu->f[12] = cpu->f[9] - cpu->f[0]; /* 02858EC8 */ _t29 = cpu->r[31] + 0x00000000u; /* 02858EC8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[7]); /* 02858ECC */ cpu->r[9] = cpu->r[29] - cpu->r[10]; /* 02858ED0 */ /* nop */ /* 02858ED4 */ _t30 = cpu->r[31] + 0x00000008u; /* 02858ED4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]); /* 02858ED8 */ /* nop */ /* 02858EDC */ _t31 = cpu->r[31] + 0x0000000Cu; /* 02858EDC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]); /* 02858EE0 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858EE0 */ _t33 = _t32 & 0x00000001u; /* 02858EE0 */ if (_t33) goto L_02858E64; else goto L_02858EE4; L_02858EE4: ; // 0x2858ee4 /* 02858EE4 */ _t34 = cpu->r[1] + 0x0000001Cu; /* 02858EE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34); /* 02858EE8 */ _t35 = cpu->r[1] + 0x00000030u; /* 02858EE8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35); /* 02858EEC */ _t36 = cpu->r[1] + 0x00000020u; /* 02858EEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t36); /* 02858EF0 */ _t37 = cpu->r[1] + 0x00000028u; /* 02858EF0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37); /* 02858EF4 */ _t38 = cpu->r[1] + 0x00000024u; /* 02858EF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38); /* 02858EF8 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 02858EF8 */ _t40 = _t39 & 0x00000001u; /* 02858EF8 */ if (_t40) goto L_02858EFC; // else: addr-0 trap, fall-through L_02858EFC: ; // 0x2858efc /* 02858EFC */ _t41 = cpu->r[1] + 0x0000003Cu; /* 02858EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 02858F00 */ cpu->lr = cpu->r[0]; /* 02858F04 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 02858F08 */ return; } // fn_02858E10 @ 0x2858e10 void Gambit_fn_02858E10(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41; L_02858E10: ; // 0x2858e10 /* 02858E10 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 02858E10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858E10 */ cpu->r[1] = _t0; /* 02858E14 */ _t1 = cpu->r[1] + 0x00000028u; /* 02858E14 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02858E18 */ /* nop */ /* 02858E1C */ _t2 = cpu->r[1] + 0x00000024u; /* 02858E1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02858E20 */ cpu->r[12] = 0x10130000u; /* 02858E24 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02858E24 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02858E28 */ _t4 = cpu->r[1] + 0x00000030u; /* 02858E28 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); /* 02858E2C */ _t5 = cpu->r[1] + 0x00000018u; /* 02858E2C */ rbrew_write32(cpu->mem, _t5, cpu->r[5]); /* 02858E30 */ _t6 = cpu->r[1] + 0x0000003Cu; /* 02858E30 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02858E34 */ _t7 = cpu->r[12] + 0x00001D84u; /* 02858E34 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7); /* 02858E38 */ cpu->r[31] = cpu->r[4]; /* 02858E3C */ _t8 = cpu->r[1] + 0x00000020u; /* 02858E3C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 02858E40 */ _t9 = cpu->r[31] + 0x0000000Cu; /* 02858E40 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]); /* 02858E44 */ _t10 = cpu->r[31] + 0x00000004u; /* 02858E44 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]); /* 02858E48 */ cpu->r[30] = cpu->r[3]; /* 02858E4C */ _t11 = cpu->r[31] + 0x00000000u; /* 02858E4C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]); /* 02858E50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02858E54 */ _t12 = cpu->r[31] + 0x00000008u; /* 02858E54 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]); /* 02858E58 */ cpu->r[29] = cpu->r[5] + cpu->r[0]; /* 02858E5C */ _t13 = cpu->r[30] + 0x00000014u; /* 02858E5C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[31]); /* 02858E60 */ _t14 = cpu->r[30] + 0x00000018u; /* 02858E60 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]); L_02858E64: ; // 0x2858e64 /* 02858E64 */ _t15 = cpu->r[1] + 0x00000008u; /* 02858E64 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]); /* 02858E68 */ cpu->r[3] = cpu->r[30]; /* 02858E6C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02858E6C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]); /* 02858E70 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02858E74 */ _t17 = cpu->r[1] + 0x00000010u; /* 02858E74 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]); /* 02858E78 */ cpu->r[5] = cpu->r[1] + 0x00000018u; /* 02858E7C */ _t18 = cpu->r[1] + 0x00000014u; /* 02858E7C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[31]); /* 02858E80 */ Gambit_fn_02858854(cpu); /* 02858E84 */ _t19 = cpu->r[1] + 0x00000008u; /* 02858E84 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t19); /* 02858E88 */ _t20 = cpu->r[31] + 0x00000000u; /* 02858E88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20); /* 02858E8C */ cpu->f[12] = cpu->f[0] - cpu->f[9]; /* 02858E90 */ /* nop */ /* 02858E94 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02858E94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21); /* 02858E98 */ _t22 = cpu->r[31] + 0x00000004u; /* 02858E98 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t22); /* 02858E9C */ cpu->f[13] = cpu->f[9] - cpu->f[0]; /* 02858EA0 */ /* nop */ /* 02858EA4 */ _t23 = cpu->r[31] + 0x00000008u; /* 02858EA4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23); /* 02858EA8 */ _t24 = cpu->r[1] + 0x00000010u; /* 02858EA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24); /* 02858EAC */ cpu->f[10] = cpu->f[9] - cpu->f[0]; /* 02858EB0 */ _t25 = cpu->r[1] + 0x00000018u; /* 02858EB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25); /* 02858EB4 */ /* nop */ /* 02858EB8 */ _t26 = cpu->r[1] + 0x00000014u; /* 02858EB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26); /* 02858EBC */ _t27 = cpu->r[31] + 0x0000000Cu; /* 02858EBC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27); /* 02858EC0 */ _t28 = cpu->r[31] + 0x00000004u; /* 02858EC0 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[8]); /* 02858EC4 */ cpu->f[12] = cpu->f[9] - cpu->f[0]; /* 02858EC8 */ _t29 = cpu->r[31] + 0x00000000u; /* 02858EC8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[7]); /* 02858ECC */ cpu->r[9] = cpu->r[29] - cpu->r[10]; /* 02858ED0 */ /* nop */ /* 02858ED4 */ _t30 = cpu->r[31] + 0x00000008u; /* 02858ED4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]); /* 02858ED8 */ /* nop */ /* 02858EDC */ _t31 = cpu->r[31] + 0x0000000Cu; /* 02858EDC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]); /* 02858EE0 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u); /* 02858EE0 */ _t33 = _t32 & 0x00000001u; /* 02858EE0 */ if (_t33) goto L_02858E64; else goto L_02858EE4; L_02858EE4: ; // 0x2858ee4 /* 02858EE4 */ _t34 = cpu->r[1] + 0x0000001Cu; /* 02858EE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34); /* 02858EE8 */ _t35 = cpu->r[1] + 0x00000030u; /* 02858EE8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35); /* 02858EEC */ _t36 = cpu->r[1] + 0x00000020u; /* 02858EEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t36); /* 02858EF0 */ _t37 = cpu->r[1] + 0x00000028u; /* 02858EF0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37); /* 02858EF4 */ _t38 = cpu->r[1] + 0x00000024u; /* 02858EF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38); /* 02858EF8 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 02858EF8 */ _t40 = _t39 & 0x00000001u; /* 02858EF8 */ if (_t40) goto L_02858EFC; // else: addr-0 trap, fall-through L_02858EFC: ; // 0x2858efc /* 02858EFC */ _t41 = cpu->r[1] + 0x0000003Cu; /* 02858EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 02858F00 */ cpu->lr = cpu->r[0]; /* 02858F04 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 02858F08 */ return; } // fn_02858F0C @ 0x2858f0c void Gambit_fn_02858F0C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_02858F0C: ; // 0x2858f0c /* 02858F0C */ cpu->r[0] = cpu->lr; /* 02858F10 */ _t0 = cpu->r[1] + 0x00000004u; /* 02858F10 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02858F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02858F18 */ _t1 = cpu->r[1] + 0xFFFFFFA8u; /* 02858F18 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02858F18 */ cpu->r[1] = _t1; /* 02858F1C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858F1C */ _t3 = _t2 & 0x00000001u; /* 02858F1C */ if (_t3) goto L_02858F20; else goto L_02858F48; L_02858F20: ; // 0x2858f20 /* 02858F20 */ cpu->r[12] = 0x10130000u; /* 02858F24 */ _t4 = cpu->r[12] + 0x00001D84u; /* 02858F24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4); /* 02858F28 */ _t5 = cpu->r[4] + 0x0000000Cu; /* 02858F28 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]); /* 02858F2C */ _t6 = cpu->r[4] + 0x00000000u; /* 02858F2C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]); /* 02858F30 */ _t7 = cpu->r[4] + 0x00000008u; /* 02858F30 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]); /* 02858F34 */ _t8 = cpu->r[4] + 0x00000004u; /* 02858F34 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]); /* 02858F38 */ _t9 = cpu->r[1] + 0x0000005Cu; /* 02858F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02858F3C */ cpu->lr = cpu->r[0]; /* 02858F40 */ cpu->r[1] = cpu->r[1] + 0x00000058u; /* 02858F44 */ return; L_02858F48: ; // 0x2858f48 /* 02858F48 */ cpu->r[0] = 0x00000013u; /* 02858F4C */ cpu->r[9] = cpu->r[3] + 0xFFFFFFFCu; /* 02858F50 */ cpu->ctr = cpu->r[0]; /* 02858F54 */ cpu->r[10] = cpu->r[1] + 0x00000004u; L_02858F58: ; // 0x2858f58 /* 02858F58 */ _t10 = cpu->r[9] + 0x00000004u; /* 02858F58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10); /* 02858F58 */ cpu->r[9] = _t10; /* 02858F5C */ _t11 = cpu->r[10] + 0x00000004u; /* 02858F5C */ rbrew_write32(cpu->mem, _t11, cpu->r[8]); /* 02858F5C */ cpu->r[10] = _t11; /* 02858F60 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02858F60 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02858F60 */ _t13 = _t12 >> (0x00000002u & 31u); /* 02858F60 */ _t14 = _t13 & 0x00000001u; /* 02858F60 */ if (_t14) goto L_02858F58; else goto L_02858F64; L_02858F64: ; // 0x2858f64 /* 02858F64 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02858F68 */ Gambit_fn_02858E0C(cpu); /* 02858F6C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02858F70 */ cpu->r[4] = 0x00000002u; /* 02858F74 */ Gambit_fn_02858758(cpu); /* 02858F78 */ _t15 = cpu->r[1] + 0x0000005Cu; /* 02858F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02858F7C */ cpu->lr = cpu->r[0]; /* 02858F80 */ cpu->r[1] = cpu->r[1] + 0x00000058u; /* 02858F84 */ return; } // fn_02858F18 @ 0x2858f18 void Gambit_fn_02858F18(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_02858F18: ; // 0x2858f18 /* 02858F18 */ _t0 = cpu->r[1] + 0xFFFFFFA8u; /* 02858F18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858F18 */ cpu->r[1] = _t0; /* 02858F1C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02858F1C */ _t2 = _t1 & 0x00000001u; /* 02858F1C */ if (_t2) goto L_02858F20; else goto L_02858F48; L_02858F20: ; // 0x2858f20 /* 02858F20 */ cpu->r[12] = 0x10130000u; /* 02858F24 */ _t3 = cpu->r[12] + 0x00001D84u; /* 02858F24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3); /* 02858F28 */ _t4 = cpu->r[4] + 0x0000000Cu; /* 02858F28 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]); /* 02858F2C */ _t5 = cpu->r[4] + 0x00000000u; /* 02858F2C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]); /* 02858F30 */ _t6 = cpu->r[4] + 0x00000008u; /* 02858F30 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]); /* 02858F34 */ _t7 = cpu->r[4] + 0x00000004u; /* 02858F34 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]); /* 02858F38 */ _t8 = cpu->r[1] + 0x0000005Cu; /* 02858F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02858F3C */ cpu->lr = cpu->r[0]; /* 02858F40 */ cpu->r[1] = cpu->r[1] + 0x00000058u; /* 02858F44 */ return; L_02858F48: ; // 0x2858f48 /* 02858F48 */ cpu->r[0] = 0x00000013u; /* 02858F4C */ cpu->r[9] = cpu->r[3] + 0xFFFFFFFCu; /* 02858F50 */ cpu->ctr = cpu->r[0]; /* 02858F54 */ cpu->r[10] = cpu->r[1] + 0x00000004u; L_02858F58: ; // 0x2858f58 /* 02858F58 */ _t9 = cpu->r[9] + 0x00000004u; /* 02858F58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 02858F58 */ cpu->r[9] = _t9; /* 02858F5C */ _t10 = cpu->r[10] + 0x00000004u; /* 02858F5C */ rbrew_write32(cpu->mem, _t10, cpu->r[8]); /* 02858F5C */ cpu->r[10] = _t10; /* 02858F60 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02858F60 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02858F60 */ _t12 = _t11 >> (0x00000002u & 31u); /* 02858F60 */ _t13 = _t12 & 0x00000001u; /* 02858F60 */ if (_t13) goto L_02858F58; else goto L_02858F64; L_02858F64: ; // 0x2858f64 /* 02858F64 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02858F68 */ Gambit_fn_02858E0C(cpu); /* 02858F6C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02858F70 */ cpu->r[4] = 0x00000002u; /* 02858F74 */ Gambit_fn_02858758(cpu); /* 02858F78 */ _t14 = cpu->r[1] + 0x0000005Cu; /* 02858F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02858F7C */ cpu->lr = cpu->r[0]; /* 02858F80 */ cpu->r[1] = cpu->r[1] + 0x00000058u; /* 02858F84 */ return; } // fn_02858F88 @ 0x2858f88 void Gambit_fn_02858F88(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02858F88: ; // 0x2858f88 /* 02858F88 */ cpu->r[0] = cpu->lr; /* 02858F8C */ _t0 = cpu->r[1] + 0x00000004u; /* 02858F8C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02858F90 */ cpu->r[12] = 0x10130000u; /* 02858F94 */ _t1 = cpu->r[1] + 0xFFFFFFE8u; /* 02858F94 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02858F94 */ cpu->r[1] = _t1; /* 02858F98 */ _t2 = cpu->r[12] + 0x00001D84u; /* 02858F98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2); /* 02858F9C */ _t3 = cpu->r[1] + 0x00000014u; /* 02858F9C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]); /* 02858FA0 */ cpu->r[6] = cpu->r[5]; /* 02858FA4 */ _t4 = cpu->r[1] + 0x00000010u; /* 02858FA4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]); /* 02858FA8 */ cpu->r[5] = cpu->r[4]; /* 02858FAC */ _t5 = cpu->r[1] + 0x0000000Cu; /* 02858FAC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]); /* 02858FB0 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02858FB4 */ _t6 = cpu->r[1] + 0x00000008u; /* 02858FB4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]); /* 02858FB8 */ Gambit_fn_02858F0C(cpu); /* 02858FBC */ _t7 = cpu->r[1] + 0x0000001Cu; /* 02858FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02858FC0 */ _t8 = cpu->r[1] + 0x00000010u; /* 02858FC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8); /* 02858FC4 */ cpu->lr = cpu->r[0]; /* 02858FC8 */ _t9 = cpu->r[1] + 0x00000008u; /* 02858FC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9); /* 02858FCC */ cpu->f[1] = cpu->f[13] - cpu->f[0]; /* 02858FD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02858FD4 */ return; } // fn_02858F94 @ 0x2858f94 void Gambit_fn_02858F94(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02858F94: ; // 0x2858f94 /* 02858F94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02858F94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858F94 */ cpu->r[1] = _t0; /* 02858F98 */ _t1 = cpu->r[12] + 0x00001D84u; /* 02858F98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1); /* 02858F9C */ _t2 = cpu->r[1] + 0x00000014u; /* 02858F9C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]); /* 02858FA0 */ cpu->r[6] = cpu->r[5]; /* 02858FA4 */ _t3 = cpu->r[1] + 0x00000010u; /* 02858FA4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]); /* 02858FA8 */ cpu->r[5] = cpu->r[4]; /* 02858FAC */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02858FAC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]); /* 02858FB0 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02858FB4 */ _t5 = cpu->r[1] + 0x00000008u; /* 02858FB4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]); /* 02858FB8 */ Gambit_fn_02858F0C(cpu); /* 02858FBC */ _t6 = cpu->r[1] + 0x0000001Cu; /* 02858FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02858FC0 */ _t7 = cpu->r[1] + 0x00000010u; /* 02858FC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7); /* 02858FC4 */ cpu->lr = cpu->r[0]; /* 02858FC8 */ _t8 = cpu->r[1] + 0x00000008u; /* 02858FC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8); /* 02858FCC */ cpu->f[1] = cpu->f[13] - cpu->f[0]; /* 02858FD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02858FD4 */ return; } // fn_02858FD8 @ 0x2858fd8 void Gambit_fn_02858FD8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_02858FD8: ; // 0x2858fd8 /* 02858FD8 */ _t0 = cpu->r[1] + 0xFFFFFF90u; /* 02858FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02858FD8 */ cpu->r[1] = _t0; /* 02858FDC */ cpu->r[0] = cpu->lr; /* 02858FE0 */ cpu->r[11] = 0x10130000u; /* 02858FE4 */ _t1 = cpu->r[1] + 0x0000006Cu; /* 02858FE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02858FE8 */ _t2 = cpu->r[11] + 0x00001D84u; /* 02858FE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2); /* 02858FEC */ _t3 = cpu->r[1] + 0x00000008u; /* 02858FEC */ rbrew_write32(cpu->mem, _t3, cpu->r[4]); /* 02858FF0 */ cpu->r[6] = cpu->r[5]; /* 02858FF4 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02858FF4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]); /* 02858FF8 */ cpu->r[10] = cpu->r[3] + 0xFFFFFFFCu; /* 02858FFC */ _t5 = cpu->r[1] + 0x00000010u; /* 02858FFC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]); /* 02859000 */ cpu->r[12] = cpu->r[1] + 0x00000018u; /* 02859004 */ _t6 = cpu->r[1] + 0x00000074u; /* 02859004 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02859008 */ cpu->r[0] = 0x00000013u; /* 0285900C */ _t7 = cpu->r[1] + 0x00000014u; /* 0285900C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]); /* 02859010 */ cpu->ctr = cpu->r[0]; /* 02859014 */ _t8 = cpu->r[1] + 0x00000018u; /* 02859014 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]); L_02859018: ; // 0x2859018 /* 02859018 */ _t9 = cpu->r[10] + 0x00000004u; /* 02859018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02859018 */ cpu->r[10] = _t9; /* 0285901C */ _t10 = cpu->r[12] + 0x00000004u; /* 0285901C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0285901C */ cpu->r[12] = _t10; /* 02859020 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02859020 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02859020 */ _t12 = _t11 >> (0x00000002u & 31u); /* 02859020 */ _t13 = _t12 & 0x00000001u; /* 02859020 */ if (_t13) goto L_02859018; else goto L_02859024; L_02859024: ; // 0x2859024 /* 02859024 */ _t14 = cpu->r[1] + 0x00000030u; /* 02859024 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]); /* 02859028 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu; /* 0285902C */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 02859030 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 02859034 */ _t15 = cpu->r[1] + 0x00000034u; /* 02859034 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]); /* 02859038 */ Gambit_fn_02858854(cpu); /* 0285903C */ cpu->r[4] = 0x00000002u; /* 02859040 */ _t16 = cpu->r[1] + 0x00000008u; /* 02859040 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 02859044 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu; /* 02859048 */ Gambit_fn_02858758(cpu); /* 0285904C */ _t17 = cpu->r[1] + 0x00000074u; /* 0285904C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02859050 */ cpu->r[3] = cpu->r[31]; /* 02859054 */ _t18 = cpu->r[1] + 0x0000006Cu; /* 02859054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02859058 */ cpu->lr = cpu->r[0]; /* 0285905C */ cpu->r[1] = cpu->r[1] + 0x00000070u; /* 02859060 */ return; } // fn_02859064 @ 0x2859064 void Gambit_fn_02859064(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23; L_02859064: ; // 0x2859064 /* 02859064 */ _t0 = cpu->r[1] + 0xFFFFFF88u; /* 02859064 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02859064 */ cpu->r[1] = _t0; /* 02859068 */ cpu->r[11] = 0x10130000u; /* 0285906C */ _t1 = cpu->r[1] + 0x00000068u; /* 0285906C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02859070 */ cpu->r[0] = cpu->lr; /* 02859074 */ _t2 = cpu->r[11] + 0x00001D84u; /* 02859074 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2); /* 02859078 */ _t3 = cpu->r[1] + 0x00000018u; /* 02859078 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]); /* 0285907C */ /* nop */ /* 02859080 */ _t4 = cpu->r[1] + 0x00000008u; /* 02859080 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]); /* 02859084 */ _t5 = cpu->r[1] + 0x00000070u; /* 02859084 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]); /* 02859088 */ cpu->r[6] = cpu->r[5]; /* 0285908C */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0285908C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]); /* 02859090 */ cpu->r[12] = cpu->r[1] + 0x00000018u; /* 02859094 */ cpu->r[10] = cpu->r[3] + 0xFFFFFFFCu; /* 02859098 */ _t7 = cpu->r[1] + 0x0000007Cu; /* 02859098 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285909C */ cpu->r[0] = 0x00000013u; /* 028590A0 */ _t8 = cpu->r[1] + 0x00000010u; /* 028590A0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]); /* 028590A4 */ cpu->ctr = cpu->r[0]; /* 028590A8 */ _t9 = cpu->r[1] + 0x00000014u; /* 028590A8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]); L_028590AC: ; // 0x28590ac /* 028590AC */ _t10 = cpu->r[10] + 0x00000004u; /* 028590AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028590AC */ cpu->r[10] = _t10; /* 028590B0 */ _t11 = cpu->r[12] + 0x00000004u; /* 028590B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 028590B0 */ cpu->r[12] = _t11; /* 028590B4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028590B4 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028590B4 */ _t13 = _t12 >> (0x00000002u & 31u); /* 028590B4 */ _t14 = _t13 & 0x00000001u; /* 028590B4 */ if (_t14) goto L_028590AC; else goto L_028590B8; L_028590B8: ; // 0x28590b8 /* 028590B8 */ _t15 = cpu->r[1] + 0x00000030u; /* 028590B8 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]); /* 028590BC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu; /* 028590C0 */ cpu->r[5] = cpu->r[1] + 0x00000018u; /* 028590C4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 028590C8 */ _t16 = cpu->r[1] + 0x00000034u; /* 028590C8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]); /* 028590CC */ Gambit_fn_02858854(cpu); /* 028590D0 */ cpu->r[4] = 0x00000002u; /* 028590D4 */ _t17 = cpu->r[1] + 0x00000010u; /* 028590D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17); /* 028590D8 */ _t18 = cpu->r[1] + 0x00000008u; /* 028590D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18); /* 028590DC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu; /* 028590E0 */ cpu->f[31] = cpu->f[13] - cpu->f[0]; /* 028590E4 */ Gambit_fn_02858758(cpu); /* 028590E8 */ cpu->f[1] = cpu->f[31]; /* 028590EC */ _t19 = cpu->r[1] + 0x00000070u; /* 028590EC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19); /* 028590F0 */ _t20 = cpu->r[1] + 0x00000068u; /* 028590F0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20); /* 028590F4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 028590F4 */ _t22 = _t21 & 0x00000001u; /* 028590F4 */ if (_t22) goto L_028590F8; // else: addr-0 trap, fall-through L_028590F8: ; // 0x28590f8 /* 028590F8 */ _t23 = cpu->r[1] + 0x0000007Cu; /* 028590F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 028590FC */ cpu->lr = cpu->r[0]; /* 02859100 */ cpu->r[1] = cpu->r[1] + 0x00000078u; /* 02859104 */ return; } // fn_02859108 @ 0x2859108 void Gambit_fn_02859108(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79; L_02859108: ; // 0x2859108 /* 02859108 */ _t0 = cpu->r[1] + 0xFFFFFF90u; /* 02859108 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02859108 */ cpu->r[1] = _t0; /* 0285910C */ /* nop */ /* 02859110 */ cpu->r[0] = cpu->lr; /* 02859114 */ _t1 = cpu->r[1] + 0x00000060u; /* 02859114 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02859118 */ _t2 = cpu->r[1] + 0x00000050u; /* 02859118 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]); /* 0285911C */ /* nop */ /* 02859120 */ _t3 = cpu->r[1] + 0x00000030u; /* 02859120 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[28]); /* 02859124 */ /* nop */ /* 02859128 */ _t4 = cpu->r[1] + 0x00000068u; /* 02859128 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); /* 0285912C */ _t5 = cpu->r[1] + 0x00000040u; /* 0285912C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]); /* 02859130 */ _t6 = cpu->r[1] + 0x00000074u; /* 02859130 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02859134 */ /* nop */ /* 02859138 */ _t7 = cpu->r[1] + 0x00000058u; /* 02859138 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]); /* 0285913C */ /* nop */ /* 02859140 */ _t8 = cpu->r[1] + 0x00000048u; /* 02859140 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]); /* 02859144 */ cpu->r[12] = 0x10130000u; /* 02859148 */ _t9 = cpu->r[1] + 0x00000038u; /* 02859148 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[28]); /* 0285914C */ cpu->r[29] = cpu->r[4]; /* 02859150 */ cpu->r[28] = cpu->r[3]; /* 02859154 */ _t10 = cpu->r[12] + 0x00001D84u; /* 02859154 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10); /* 02859158 */ _t11 = cpu->r[28] + 0x00000044u; /* 02859158 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 0285915C */ cpu->r[30] = cpu->r[5]; /* 02859160 */ cpu->r[27] = cpu->r[7]; /* 02859164 */ cpu->r[31] = cpu->r[6]; /* 02859168 */ cpu->r[6] = cpu->r[12] & 0x00000333u; /* 02859168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285916C */ cpu->f[30] = cpu->f[0]; /* 02859170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000300u); /* 02859174 */ cpu->f[29] = cpu->f[0]; /* 02859178 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859178 */ _t13 = _t12 & 0x00000001u; /* 02859178 */ if (_t13) goto L_028591C4; else goto L_0285917C; L_0285917C: ; // 0x285917c /* 0285917C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02859180 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859180 */ _t15 = _t14 & 0x00000001u; /* 02859180 */ if (_t15) goto L_028591C4; else goto L_02859184; L_02859184: ; // 0x2859184 /* 02859184 */ _t16 = cpu->r[1] + 0x00000008u; /* 02859184 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]); /* 02859188 */ cpu->r[3] = cpu->r[28]; /* 0285918C */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0285918C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]); /* 02859190 */ cpu->r[5] = cpu->r[31]; /* 02859194 */ cpu->r[6] = cpu->r[27]; /* 02859198 */ _t18 = cpu->r[1] + 0x00000010u; /* 02859198 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]); /* 0285919C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 028591A0 */ _t19 = cpu->r[1] + 0x00000014u; /* 028591A0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]); /* 028591A4 */ Gambit_fn_02858F0C(cpu); /* 028591A8 */ _t20 = cpu->r[1] + 0x00000014u; /* 028591A8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20); /* 028591AC */ _t21 = cpu->r[1] + 0x00000008u; /* 028591AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21); /* 028591B0 */ _t22 = cpu->r[1] + 0x00000010u; /* 028591B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22); /* 028591B4 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 028591B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23); /* 028591B8 */ cpu->f[30] = cpu->f[0] + cpu->f[12]; /* 028591BC */ cpu->f[29] = cpu->f[13] + cpu->f[11]; /* 028591C0 */ _t24 = cpu->r[28] + 0x00000044u; /* 028591C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); L_028591C4: ; // 0x28591c4 /* 028591C4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Au, 0x0000001Bu); /* 028591C8 */ cpu->r[11] = 0x10130000u; /* 028591CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000010u); /* 028591D0 */ _t25 = cpu->r[11] + 0x00001D90u; /* 028591D0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25); /* 028591D4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 028591D4 */ _t27 = _t26 & 0x00000001u; /* 028591D4 */ if (_t27) goto L_028591D8; else goto L_028591F4; L_028591D8: ; // 0x28591d8 /* 028591D8 */ cpu->f[1] = cpu->f[30] * cpu->f[31]; /* 028591DC */ Gambit_fn_02C88498(cpu); /* 028591E0 */ _t28 = cpu->r[29] + 0x00000000u; /* 028591E0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28); /* 028591E4 */ cpu->f[12] = cpu->f[12] - cpu->f[1]; /* 028591E8 */ _t29 = cpu->r[29] + 0x00000000u; /* 028591E8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[12]); /* 028591EC */ _t30 = cpu->r[28] + 0x00000044u; /* 028591EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30); /* 028591F0 */ goto L_0285920C; L_028591F4: ; // 0x28591f4 /* 028591F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000020u); /* 028591F8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 028591F8 */ _t32 = _t31 & 0x00000001u; /* 028591F8 */ if (_t32) goto L_028591FC; else goto L_0285920C; L_028591FC: ; // 0x28591fc /* 028591FC */ _t33 = cpu->r[29] + 0x00000000u; /* 028591FC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33); /* 02859200 */ cpu->f[12] = cpu->f[12] - cpu->f[30]; /* 02859204 */ _t34 = cpu->r[29] + 0x00000000u; /* 02859204 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]); /* 02859208 */ _t35 = cpu->r[28] + 0x00000044u; /* 02859208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35); L_0285920C: ; // 0x285920c /* 0285920C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000016u, 0x00000017u); /* 02859210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000100u); /* 02859214 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859214 */ _t37 = _t36 & 0x00000001u; /* 02859214 */ if (_t37) goto L_02859218; else goto L_02859234; L_02859218: ; // 0x2859218 /* 02859218 */ cpu->f[1] = cpu->f[29] * cpu->f[31]; /* 0285921C */ Gambit_fn_02C88498(cpu); /* 02859220 */ _t38 = cpu->r[30] + 0x00000000u; /* 02859220 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38); /* 02859224 */ cpu->f[13] = cpu->f[13] - cpu->f[1]; /* 02859228 */ _t39 = cpu->r[30] + 0x00000000u; /* 02859228 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]); /* 0285922C */ _t40 = cpu->r[28] + 0x00000044u; /* 0285922C */ cpu->r[12] = rbrew_read32(cpu->mem, _t40); /* 02859230 */ goto L_0285924C; L_02859234: ; // 0x2859234 /* 02859234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000200u); /* 02859238 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859238 */ _t42 = _t41 & 0x00000001u; /* 02859238 */ if (_t42) goto L_0285923C; else goto L_0285924C; L_0285923C: ; // 0x285923c /* 0285923C */ _t43 = cpu->r[30] + 0x00000000u; /* 0285923C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43); /* 02859240 */ cpu->f[13] = cpu->f[13] - cpu->f[29]; /* 02859244 */ _t44 = cpu->r[30] + 0x00000000u; /* 02859244 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]); /* 02859248 */ _t45 = cpu->r[28] + 0x00000044u; /* 02859248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45); L_0285924C: ; // 0x285924c /* 0285924C */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02859250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u); /* 02859254 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859254 */ _t47 = _t46 & 0x00000001u; /* 02859254 */ if (_t47) goto L_02859258; else goto L_028592BC; L_02859258: ; // 0x2859258 /* 02859258 */ cpu->r[5] = cpu->r[27]; /* 0285925C */ cpu->r[4] = cpu->r[31]; /* 02859260 */ cpu->r[3] = cpu->r[28]; /* 02859264 */ Gambit_fn_02859064(cpu); /* 02859268 */ cpu->f[28] = cpu->f[1]; /* 0285926C */ cpu->f[1] = cpu->f[30] * cpu->f[31]; /* 02859270 */ Gambit_fn_02C88498(cpu); /* 02859274 */ cpu->f[29] = cpu->f[1]; /* 02859278 */ cpu->f[1] = cpu->f[28] * cpu->f[31]; /* 0285927C */ Gambit_fn_02C88498(cpu); /* 02859280 */ cpu->f[12] = cpu->f[29] - cpu->f[1]; /* 02859284 */ _t48 = cpu->r[29] + 0x00000000u; /* 02859284 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t48); /* 02859288 */ _t49 = cpu->r[28] + 0x00000044u; /* 02859288 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49); /* 0285928C */ cpu->f[0] = cpu->f[13] + cpu->f[12]; /* 02859290 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000016u, 0x00000017u); /* 02859294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000300u); /* 02859298 */ _t50 = cpu->r[28] + 0x00000014u; /* 02859298 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]); /* 0285929C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285929C */ _t52 = _t51 & 0x00000001u; /* 0285929C */ if (_t52) goto L_02859310; else goto L_028592A0; L_028592A0: ; // 0x28592a0 /* 028592A0 */ cpu->r[3] = cpu->r[28]; /* 028592A4 */ Gambit_fn_02854580(cpu); /* 028592A8 */ _t53 = cpu->r[30] + 0x00000000u; /* 028592A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53); /* 028592AC */ cpu->f[12] = cpu->f[0] + cpu->f[1]; /* 028592B0 */ cpu->f[1] = cpu->f[30]; /* 028592B4 */ _t54 = cpu->r[28] + 0x00000018u; /* 028592B4 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[12]); /* 028592B8 */ goto L_0285931C; L_028592BC: ; // 0x28592bc /* 028592BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u); /* 028592C0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 028592C0 */ _t56 = _t55 & 0x00000001u; /* 028592C0 */ if (_t56) goto L_028592C4; else goto L_028592F8; L_028592C4: ; // 0x28592c4 /* 028592C4 */ cpu->r[5] = cpu->r[27]; /* 028592C8 */ cpu->r[4] = cpu->r[31]; /* 028592CC */ cpu->r[3] = cpu->r[28]; /* 028592D0 */ Gambit_fn_02859064(cpu); /* 028592D4 */ cpu->f[11] = cpu->f[30] - cpu->f[1]; /* 028592D8 */ _t57 = cpu->r[29] + 0x00000000u; /* 028592D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57); /* 028592DC */ _t58 = cpu->r[28] + 0x00000044u; /* 028592DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t58); /* 028592E0 */ cpu->f[0] = cpu->f[13] + cpu->f[11]; /* 028592E4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000016u, 0x00000017u); /* 028592E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000300u); /* 028592EC */ _t59 = cpu->r[28] + 0x00000014u; /* 028592EC */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]); /* 028592F0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 028592F0 */ _t61 = _t60 & 0x00000001u; /* 028592F0 */ if (_t61) goto L_028592F4; else goto L_028592A0; L_028592F4: ; // 0x28592f4 /* 028592F4 */ goto L_02859310; L_028592F8: ; // 0x28592f8 /* 028592F8 */ _t62 = cpu->r[28] + 0x00000044u; /* 028592F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62); /* 028592FC */ _t63 = cpu->r[29] + 0x00000000u; /* 028592FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63); /* 02859300 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000016u, 0x00000017u); /* 02859304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000300u); /* 02859308 */ _t64 = cpu->r[28] + 0x00000014u; /* 02859308 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]); /* 0285930C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285930C */ _t66 = _t65 & 0x00000001u; /* 0285930C */ if (_t66) goto L_02859310; else goto L_028592A0; L_02859310: ; // 0x2859310 /* 02859310 */ _t67 = cpu->r[30] + 0x00000000u; /* 02859310 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t67); /* 02859314 */ cpu->f[1] = cpu->f[30]; /* 02859318 */ _t68 = cpu->r[28] + 0x00000018u; /* 02859318 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]); L_0285931C: ; // 0x285931c /* 0285931C */ /* nop */ /* 02859320 */ _t69 = cpu->r[1] + 0x00000048u; /* 02859320 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t69); /* 02859324 */ _t70 = cpu->r[1] + 0x00000058u; /* 02859324 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t70); /* 02859328 */ _t71 = cpu->r[1] + 0x00000040u; /* 02859328 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t71); /* 0285932C */ _t72 = cpu->r[1] + 0x00000050u; /* 0285932C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t72); /* 02859330 */ _t73 = cpu->r[1] + 0x00000038u; /* 02859330 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t73); /* 02859334 */ _t74 = cpu->r[1] + 0x00000068u; /* 02859334 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t74); /* 02859338 */ _t75 = cpu->r[1] + 0x00000030u; /* 02859338 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t75); /* 0285933C */ _t76 = cpu->r[1] + 0x00000060u; /* 0285933C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t76); /* 02859340 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859340 */ _t78 = _t77 & 0x00000001u; /* 02859340 */ if (_t78) goto L_02859344; // else: addr-0 trap, fall-through L_02859344: ; // 0x2859344 /* 02859344 */ _t79 = cpu->r[1] + 0x00000074u; /* 02859344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79); /* 02859348 */ cpu->lr = cpu->r[0]; /* 0285934C */ cpu->r[1] = cpu->r[1] + 0x00000070u; /* 02859350 */ return; } // fn_02859354 @ 0x2859354 void Gambit_fn_02859354(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263; L_02859354: ; // 0x2859354 /* 02859354 */ _t0 = cpu->r[1] + 0xFFFFFE78u; /* 02859354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02859354 */ cpu->r[1] = _t0; /* 02859358 */ _t1 = cpu->r[1] + 0x00000108u; /* 02859358 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[24]); /* 0285935C */ _t2 = cpu->r[1] + 0x00000118u; /* 0285935C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[25]); /* 02859360 */ cpu->r[0] = cpu->lr; /* 02859364 */ _t3 = cpu->r[1] + 0x00000128u; /* 02859364 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[26]); /* 02859368 */ _t4 = cpu->r[1] + 0x00000138u; /* 02859368 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[27]); /* 0285936C */ _t5 = cpu->r[1] + 0x00000148u; /* 0285936C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[28]); /* 02859370 */ _t6 = cpu->r[1] + 0x00000158u; /* 02859370 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[29]); /* 02859374 */ _t7 = cpu->r[1] + 0x00000168u; /* 02859374 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[30]); /* 02859378 */ /* nop */ /* 0285937C */ _t8 = cpu->r[1] + 0x00000178u; /* 0285937C */ rbrew_write_f64(cpu->mem, _t8, cpu->f[31]); /* 02859380 */ /* nop */ /* 02859384 */ _t9 = cpu->r[1] + 0x0000018Cu; /* 02859384 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 02859388 */ /* nop */ /* 0285938C */ _t10 = cpu->r[1] + 0x00000110u; /* 0285938C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[24]); /* 02859390 */ /* nop */ /* 02859394 */ _t11 = cpu->r[1] + 0x00000120u; /* 02859394 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[25]); /* 02859398 */ /* nop */ /* 0285939C */ _t12 = cpu->r[1] + 0x00000130u; /* 0285939C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[26]); /* 028593A0 */ /* nop */ /* 028593A4 */ _t13 = cpu->r[1] + 0x00000140u; /* 028593A4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[27]); /* 028593A8 */ /* nop */ /* 028593AC */ _t14 = cpu->r[1] + 0x00000150u; /* 028593AC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[28]); /* 028593B0 */ /* nop */ /* 028593B4 */ _t15 = cpu->r[1] + 0x00000160u; /* 028593B4 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[29]); /* 028593B8 */ /* nop */ /* 028593BC */ _t16 = cpu->r[1] + 0x00000170u; /* 028593BC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[30]); /* 028593C0 */ cpu->r[28] = 0x00000000u; /* 028593C4 */ cpu->r[6] = 0x10130000u; /* 028593C8 */ _t17 = cpu->r[1] + 0x00000180u; /* 028593C8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]); /* 028593CC */ cpu->r[30] = cpu->r[4]; /* 028593D0 */ cpu->r[31] = cpu->r[5]; /* 028593D4 */ _t18 = cpu->r[6] + 0x00001D80u; /* 028593D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18); /* 028593D8 */ cpu->r[12] = 0x10130000u; /* 028593DC */ cpu->r[23] = cpu->r[28]; /* 028593E0 */ cpu->r[5] = cpu->r[1] + 0x00000060u; /* 028593E4 */ cpu->r[25] = cpu->r[30]; /* 028593E8 */ _t19 = cpu->r[3] + 0x00000034u; /* 028593E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19); /* 028593EC */ cpu->r[6] = cpu->r[30]; /* 028593F0 */ _t20 = cpu->r[3] + 0x00000014u; /* 028593F0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20); /* 028593F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]); /* 028593F8 */ _t21 = cpu->r[3] + 0x00000018u; /* 028593F8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t21); /* 028593FC */ cpu->r[29] = cpu->r[3]; /* 02859400 */ cpu->r[26] = cpu->r[30]; /* 02859404 */ _t22 = cpu->r[12] + 0x00001D84u; /* 02859404 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22); /* 02859408 */ /* nop */ /* 0285940C */ cpu->r[4] = cpu->r[1] + 0x00000044u; /* 02859410 */ _t23 = cpu->r[1] + 0x00000060u; /* 02859410 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[27]); /* 02859414 */ cpu->f[25] = cpu->f[30]; /* 02859418 */ cpu->r[7] = cpu->r[31]; /* 0285941C */ _t24 = cpu->r[1] + 0x00000044u; /* 0285941C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]); /* 02859420 */ cpu->r[24] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu); /* 02859424 */ Gambit_fn_02859108(cpu); /* 02859428 */ _t25 = cpu->r[1] + 0x00000044u; /* 02859428 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t25); /* 0285942C */ _t26 = cpu->r[29] + 0x00000018u; /* 0285942C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t26); /* 02859430 */ _t27 = cpu->r[29] + 0x00000010u; /* 02859430 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27); /* 02859434 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02859438 */ _t28 = cpu->r[1] + 0x0000002Cu; /* 02859438 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[9]); /* 0285943C */ cpu->f[24] = cpu->f[27] - cpu->f[6]; /* 02859440 */ _t29 = cpu->r[1] + 0x00000038u; /* 02859440 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]); /* 02859444 */ cpu->r[27] = cpu->r[1] + 0x000000D4u; /* 02859448 */ _t30 = cpu->r[1] + 0x0000003Cu; /* 02859448 */ rbrew_write32(cpu->mem, _t30, cpu->r[28]); /* 0285944C */ cpu->r[4] = cpu->r[27]; /* 02859450 */ _t31 = cpu->r[29] + 0x0000000Cu; /* 02859450 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t31); /* 02859454 */ cpu->r[6] = cpu->r[30] + cpu->r[0]; /* 02859458 */ _t32 = cpu->r[1] + 0x00000040u; /* 02859458 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[28]); /* 0285945C */ _t33 = cpu->r[29] + 0x00000028u; /* 0285945C */ cpu->r[3] = rbrew_read32(cpu->mem, _t33); /* 02859460 */ _t34 = cpu->r[1] + 0x00000028u; /* 02859460 */ rbrew_write32(cpu->mem, _t34, cpu->r[6]); /* 02859464 */ _t35 = cpu->r[1] + 0x00000034u; /* 02859464 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]); /* 02859468 */ cpu->r[5] = cpu->r[23]; /* 0285946C */ _t36 = cpu->r[1] + 0x00000020u; /* 0285946C */ rbrew_write32(cpu->mem, _t36, cpu->r[29]); /* 02859470 */ cpu->f[31] = cpu->f[1]; /* 02859474 */ _t37 = cpu->r[1] + 0x00000060u; /* 02859474 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37); /* 02859478 */ _t38 = cpu->r[1] + 0x00000024u; /* 02859478 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]); /* 0285947C */ _t39 = cpu->r[1] + 0x00000030u; /* 0285947C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]); /* 02859480 */ Gambit_fn_02854DB8(cpu); /* 02859484 */ _t40 = cpu->r[29] + 0x00000048u; /* 02859484 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40); /* 02859488 */ _t41 = cpu->r[1] + 0x000000D4u; /* 02859488 */ rbrew_write32(cpu->mem, _t41, cpu->r[30]); /* 0285948C */ _t42 = cpu->r[3] + 0x00000000u; /* 0285948C */ cpu->r[5] = rbrew_read32(cpu->mem, _t42); /* 02859490 */ _t43 = cpu->r[5] + 0x0000002Cu; /* 02859490 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43); /* 02859494 */ cpu->ctr = cpu->r[6]; /* 02859498 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0285949C */ rbrew_call_indirect(cpu, cpu->ctr); /* 028594A0 */ _t44 = cpu->r[1] + 0x000000DAu; /* 028594A0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t44); /* 028594A4 */ _t45 = cpu->r[1] + 0x000000D8u; /* 028594A4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t45); /* 028594A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028594AC */ cpu->r[3] = cpu->r[27] + cpu->r[8]; /* 028594B0 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u); /* 028594B0 */ _t47 = _t46 & 0x00000001u; /* 028594B0 */ if (_t47) goto L_028594B4; else goto L_028594DC; L_028594B4: ; // 0x28594b4 /* 028594B4 */ _t48 = cpu->r[27] + 0x00000008u; /* 028594B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 028594B8 */ cpu->ctr = cpu->r[0]; /* 028594BC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028594C0 */ _t49 = cpu->r[27] + 0x00000000u; /* 028594C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49); /* 028594C4 */ cpu->r[9] = cpu->r[6] - cpu->r[30]; /* 028594C8 */ /* nop */ /* 028594CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]); /* 028594D0 */ cpu->r[22] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028594D4 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u); /* 028594D4 */ _t51 = _t50 & 0x00000001u; /* 028594D4 */ if (_t51) goto L_02859994; else goto L_028594D8; L_028594D8: ; // 0x28594d8 /* 028594D8 */ goto L_02859510; L_028594DC: ; // 0x28594dc /* 028594DC */ _t52 = cpu->r[27] + 0x0000000Au; /* 028594DC */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t52); /* 028594E0 */ _t53 = cpu->r[3] + cpu->r[9]; /* 028594E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53); /* 028594E4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028594E8 */ cpu->r[11] = cpu->r[12] + cpu->r[10]; /* 028594EC */ _t54 = cpu->r[11] + 0x00000004u; /* 028594EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 028594F0 */ cpu->ctr = cpu->r[0]; /* 028594F4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028594F8 */ _t55 = cpu->r[27] + 0x00000000u; /* 028594F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55); /* 028594FC */ cpu->r[9] = cpu->r[6] - cpu->r[30]; /* 02859500 */ /* nop */ /* 02859504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]); /* 02859508 */ cpu->r[22] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0285950C */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285950C */ _t57 = _t56 & 0x00000001u; /* 0285950C */ if (_t57) goto L_02859994; else goto L_02859510; L_02859510: ; // 0x2859510 /* 02859510 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000020u); /* 02859514 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859514 */ _t59 = _t58 & 0x00000001u; /* 02859514 */ if (_t59) goto L_02859518; else goto L_0285978C; L_02859518: ; // 0x2859518 /* 02859518 */ _t60 = cpu->r[1] + 0x00000024u; /* 02859518 */ rbrew_write32(cpu->mem, _t60, cpu->r[6]); /* 0285951C */ cpu->r[0] = cpu->r[23] ^ 0x00000001u; /* 02859520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02859524 */ _t61 = cpu->r[1] + 0x0000003Cu; /* 02859524 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]); /* 02859528 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859528 */ _t63 = _t62 & 0x00000001u; /* 02859528 */ if (_t63) goto L_02859624; else goto L_0285952C; L_0285952C: ; // 0x285952c /* 0285952C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x0000000Au); /* 02859530 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859530 */ _t65 = _t64 & 0x00000001u; /* 02859530 */ if (_t65) goto L_02859624; else goto L_02859534; L_02859534: ; // 0x2859534 /* 02859534 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[26]); /* 02859538 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859538 */ _t67 = _t66 & 0x00000001u; /* 02859538 */ if (_t67) goto L_02859624; else goto L_0285953C; L_0285953C: ; // 0x285953c /* 0285953C */ cpu->r[6] = 0x00000003u; /* 02859540 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu; /* 02859544 */ cpu->ctr = cpu->r[6]; /* 02859548 */ cpu->r[5] = cpu->r[1] + 0x00000060u; L_0285954C: ; // 0x285954c /* 0285954C */ _t68 = cpu->r[4] + 0x00000004u; /* 0285954C */ cpu->r[7] = rbrew_read32(cpu->mem, _t68); /* 02859550 */ _t69 = cpu->r[5] + 0x00000004u; /* 02859550 */ rbrew_write32(cpu->mem, _t69, cpu->r[7]); /* 02859554 */ _t70 = cpu->r[4] + 0x00000008u; /* 02859554 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70); /* 02859558 */ _t71 = cpu->r[5] + 0x00000008u; /* 02859558 */ rbrew_write32(cpu->mem, _t71, cpu->r[8]); /* 0285955C */ _t72 = cpu->r[4] + 0x0000000Cu; /* 0285955C */ cpu->r[9] = rbrew_read32(cpu->mem, _t72); /* 0285955C */ cpu->r[4] = _t72; /* 02859560 */ _t73 = cpu->r[5] + 0x0000000Cu; /* 02859560 */ rbrew_write32(cpu->mem, _t73, cpu->r[9]); /* 02859560 */ cpu->r[5] = _t73; /* 02859564 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02859564 */ _t74 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02859564 */ _t75 = _t74 >> (0x00000002u & 31u); /* 02859564 */ _t76 = _t75 & 0x00000001u; /* 02859564 */ if (_t76) goto L_0285954C; else goto L_02859568; L_02859568: ; // 0x2859568 /* 02859568 */ cpu->r[12] = 0x00000013u; /* 0285956C */ cpu->r[10] = cpu->r[29] + 0xFFFFFFFCu; /* 02859570 */ cpu->ctr = cpu->r[12]; /* 02859574 */ cpu->r[11] = cpu->r[1] + 0x00000084u; L_02859578: ; // 0x2859578 /* 02859578 */ _t77 = cpu->r[10] + 0x00000004u; /* 02859578 */ cpu->r[4] = rbrew_read32(cpu->mem, _t77); /* 02859578 */ cpu->r[10] = _t77; /* 0285957C */ _t78 = cpu->r[11] + 0x00000004u; /* 0285957C */ rbrew_write32(cpu->mem, _t78, cpu->r[4]); /* 0285957C */ cpu->r[11] = _t78; /* 02859580 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02859580 */ _t79 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02859580 */ _t80 = _t79 >> (0x00000002u & 31u); /* 02859580 */ _t81 = _t80 & 0x00000001u; /* 02859580 */ if (_t81) goto L_02859578; else goto L_02859584; L_02859584: ; // 0x2859584 /* 02859584 */ _t82 = cpu->r[1] + 0x00000010u; /* 02859584 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[30]); /* 02859588 */ cpu->r[5] = cpu->r[1] + 0x00000088u; /* 0285958C */ _t83 = cpu->r[29] + 0x00000048u; /* 0285958C */ cpu->r[3] = rbrew_read32(cpu->mem, _t83); /* 02859590 */ _t84 = cpu->r[1] + 0x00000064u; /* 02859590 */ rbrew_write32(cpu->mem, _t84, cpu->r[5]); /* 02859594 */ _t85 = cpu->r[1] + 0x00000018u; /* 02859594 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[30]); /* 02859598 */ _t86 = cpu->r[1] + 0x0000001Cu; /* 02859598 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[30]); /* 0285959C */ _t87 = cpu->r[1] + 0x00000014u; /* 0285959C */ rbrew_write_f32(cpu->mem, _t87, cpu->f[30]); /* 028595A0 */ _t88 = cpu->r[3] + 0x00000000u; /* 028595A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t88); /* 028595A4 */ _t89 = cpu->r[7] + 0x00000024u; /* 028595A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89); /* 028595A8 */ cpu->ctr = cpu->r[10]; /* 028595AC */ cpu->r[5] = cpu->r[22]; /* 028595B0 */ cpu->r[6] = cpu->r[1] + 0x00000064u; /* 028595B4 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 028595B8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028595BC */ _t90 = cpu->r[1] + 0x00000010u; /* 028595BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t90); /* 028595C0 */ _t91 = cpu->r[1] + 0x00000018u; /* 028595C0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t91); /* 028595C4 */ cpu->f[6] = cpu->f[8] - cpu->f[10]; /* 028595C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[30]); /* 028595CC */ _t92 = cpu->cr[0] >> (0x00000002u & 31u); /* 028595CC */ _t93 = _t92 & 0x00000001u; /* 028595CC */ if (_t93) goto L_028595D0; else goto L_02859618; L_028595D0: ; // 0x28595d0 /* 028595D0 */ _t94 = cpu->r[1] + 0x0000009Cu; /* 028595D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t94); /* 028595D4 */ _t95 = cpu->r[1] + 0x0000002Cu; /* 028595D4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t95); /* 028595D8 */ cpu->f[12] = cpu->f[0] - cpu->f[7]; /* 028595DC */ _t96 = cpu->r[29] + 0x00000034u; /* 028595DC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t96); /* 028595E0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[8]); /* 028595E4 */ _t97 = cpu->cr[0] >> (0x00000002u & 31u); /* 028595E4 */ _t98 = _t97 & 0x00000001u; /* 028595E4 */ if (_t98) goto L_028595E8; else goto L_02859618; L_028595E8: ; // 0x28595e8 /* 028595E8 */ _t99 = cpu->r[1] + 0x00000040u; /* 028595E8 */ rbrew_write16(cpu->mem, _t99, (uint16_t)cpu->r[28]); /* 028595EC */ cpu->r[3] = cpu->r[1] + 0x00000088u; /* 028595F0 */ cpu->r[4] = 0x00000002u; /* 028595F4 */ _t100 = cpu->r[27] + 0x00000000u; /* 028595F4 */ rbrew_write32(cpu->mem, _t100, cpu->r[25]); /* 028595F8 */ cpu->r[22] = 0x0000000Au; /* 028595FC */ Gambit_fn_02858758(cpu); /* 02859600 */ _t101 = cpu->r[27] + 0x00000000u; /* 02859600 */ cpu->r[6] = rbrew_read32(cpu->mem, _t101); /* 02859604 */ cpu->r[9] = cpu->r[6] - cpu->r[30]; /* 02859608 */ /* nop */ /* 0285960C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]); /* 02859610 */ _t102 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859610 */ _t103 = _t102 & 0x00000001u; /* 02859610 */ if (_t103) goto L_02859614; else goto L_02859510; L_02859614: ; // 0x2859614 /* 02859614 */ goto L_02859994; L_02859618: ; // 0x2859618 /* 02859618 */ cpu->r[3] = cpu->r[1] + 0x00000088u; /* 0285961C */ cpu->r[4] = 0x00000002u; /* 02859620 */ Gambit_fn_02858758(cpu); L_02859624: ; // 0x2859624 /* 02859624 */ _t104 = cpu->r[29] + 0x00000048u; /* 02859624 */ cpu->r[3] = rbrew_read32(cpu->mem, _t104); /* 02859628 */ _t105 = cpu->r[3] + 0x00000000u; /* 02859628 */ cpu->r[5] = rbrew_read32(cpu->mem, _t105); /* 0285962C */ _t106 = cpu->r[5] + 0x0000001Cu; /* 0285962C */ cpu->r[0] = rbrew_read32(cpu->mem, _t106); /* 02859630 */ cpu->ctr = cpu->r[0]; /* 02859634 */ cpu->r[5] = cpu->r[1] + 0x00000020u; /* 02859638 */ cpu->r[4] = cpu->r[22]; /* 0285963C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02859640 */ _t107 = cpu->r[1] + 0x00000044u; /* 02859640 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t107); /* 02859644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u); /* 02859648 */ _t108 = cpu->r[29] + 0x00000014u; /* 02859648 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t108); /* 0285964C */ cpu->f[25] = cpu->f[7] - cpu->f[10]; /* 02859650 */ _t109 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859650 */ _t110 = _t109 & 0x00000001u; /* 02859650 */ if (_t110) goto L_02859770; else goto L_02859654; L_02859654: ; // 0x2859654 /* 02859654 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859654 */ _t112 = _t111 & 0x00000001u; /* 02859654 */ if (_t112) goto L_0285974C; else goto L_02859658; L_02859658: ; // 0x2859658 /* 02859658 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000003u); /* 0285965C */ _t113 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285965C */ _t114 = _t113 & 0x00000001u; /* 0285965C */ if (_t114) goto L_0285976C; else goto L_02859660; L_02859660: ; // 0x2859660 /* 02859660 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859660 */ _t116 = _t115 & 0x00000001u; /* 02859660 */ if (_t116) goto L_02859688; else goto L_02859664; L_02859664: ; // 0x2859664 /* 02859664 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u); /* 02859668 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859668 */ _t118 = _t117 & 0x00000001u; /* 02859668 */ if (_t118) goto L_02859998; else goto L_0285966C; L_0285966C: ; // 0x285966c /* 0285966C */ _t119 = cpu->r[1] + 0x00000024u; /* 0285966C */ cpu->r[0] = rbrew_read32(cpu->mem, _t119); /* 02859670 */ _t120 = cpu->r[27] + 0x00000004u; /* 02859670 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t120); /* 02859674 */ _t121 = cpu->r[27] + 0x00000000u; /* 02859674 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]); /* 02859678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 0285967C */ _t122 = cpu->r[27] + 0x00000006u; /* 0285967C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t122); /* 02859680 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859680 */ _t124 = _t123 & 0x00000001u; /* 02859680 */ if (_t124) goto L_0285993C; else goto L_02859684; L_02859684: ; // 0x2859684 /* 02859684 */ goto L_02859938; L_02859688: ; // 0x2859688 /* 02859688 */ _t125 = cpu->r[29] + 0x00000044u; /* 02859688 */ cpu->r[8] = rbrew_read32(cpu->mem, _t125); /* 0285968C */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02859690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u); /* 02859694 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859694 */ _t127 = _t126 & 0x00000001u; /* 02859694 */ if (_t127) goto L_02859698; else goto L_028596EC; L_02859698: ; // 0x2859698 /* 02859698 */ _t128 = cpu->r[1] + 0x00000024u; /* 02859698 */ cpu->r[4] = rbrew_read32(cpu->mem, _t128); /* 0285969C */ cpu->r[10] = cpu->r[4] - cpu->r[30]; /* 028596A0 */ /* nop */ /* 028596A4 */ cpu->r[3] = cpu->r[29]; /* 028596A8 */ cpu->r[5] = cpu->r[31] - cpu->r[11]; /* 028596AC */ Gambit_fn_02859064(cpu); /* 028596B0 */ cpu->r[9] = 0x10130000u; /* 028596B4 */ _t129 = cpu->r[9] + 0x00001D90u; /* 028596B4 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t129); /* 028596B8 */ cpu->f[29] = cpu->f[1]; /* 028596BC */ cpu->f[1] = cpu->f[31] * cpu->f[26]; /* 028596C0 */ Gambit_fn_02C88498(cpu); /* 028596C4 */ cpu->f[28] = cpu->f[1]; /* 028596C8 */ cpu->f[1] = cpu->f[29] * cpu->f[26]; /* 028596CC */ Gambit_fn_02C88498(cpu); /* 028596D0 */ cpu->f[7] = cpu->f[28] - cpu->f[1]; /* 028596D4 */ _t130 = cpu->r[1] + 0x0000002Cu; /* 028596D4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t130); /* 028596D8 */ cpu->f[11] = cpu->f[8] + cpu->f[7]; /* 028596DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 028596E0 */ _t131 = cpu->r[29] + 0x00000014u; /* 028596E0 */ rbrew_write_f32(cpu->mem, _t131, cpu->f[11]); /* 028596E4 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u); /* 028596E4 */ _t133 = _t132 & 0x00000001u; /* 028596E4 */ if (_t133) goto L_0285974C; else goto L_028596E8; L_028596E8: ; // 0x28596e8 /* 028596E8 */ goto L_02859748; L_028596EC: ; // 0x28596ec /* 028596EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u); /* 028596F0 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u); /* 028596F0 */ _t135 = _t134 & 0x00000001u; /* 028596F0 */ if (_t135) goto L_028596F4; else goto L_02859728; L_028596F4: ; // 0x28596f4 /* 028596F4 */ _t136 = cpu->r[1] + 0x00000024u; /* 028596F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t136); /* 028596F8 */ cpu->r[5] = cpu->r[4] - cpu->r[30]; /* 028596FC */ /* nop */ /* 02859700 */ cpu->r[3] = cpu->r[29]; /* 02859704 */ cpu->r[5] = cpu->r[31] - cpu->r[7]; /* 02859708 */ Gambit_fn_02859064(cpu); /* 0285970C */ cpu->f[9] = cpu->f[31] - cpu->f[1]; /* 02859710 */ _t137 = cpu->r[1] + 0x0000002Cu; /* 02859710 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t137); /* 02859714 */ cpu->f[11] = cpu->f[10] + cpu->f[9]; /* 02859718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 0285971C */ _t138 = cpu->r[29] + 0x00000014u; /* 0285971C */ rbrew_write_f32(cpu->mem, _t138, cpu->f[11]); /* 02859720 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859720 */ _t140 = _t139 & 0x00000001u; /* 02859720 */ if (_t140) goto L_0285974C; else goto L_02859724; L_02859724: ; // 0x2859724 /* 02859724 */ goto L_02859748; L_02859728: ; // 0x2859728 /* 02859728 */ _t141 = cpu->r[1] + 0x0000002Cu; /* 02859728 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t141); /* 0285972C */ cpu->f[12] = cpu->f[7] - cpu->f[11]; /* 02859730 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[12]); /* 02859734 */ _t142 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859734 */ _t143 = _t142 & 0x00000001u; /* 02859734 */ if (_t143) goto L_02859738; else goto L_0285973C; L_02859738: ; // 0x2859738 /* 02859738 */ cpu->f[31] = cpu->f[12]; L_0285973C: ; // 0x285973c /* 0285973C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02859740 */ _t144 = cpu->r[29] + 0x00000014u; /* 02859740 */ rbrew_write_f32(cpu->mem, _t144, cpu->f[11]); /* 02859744 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859744 */ _t146 = _t145 & 0x00000001u; /* 02859744 */ if (_t146) goto L_0285974C; else goto L_02859748; L_02859748: ; // 0x2859748 /* 02859748 */ _t147 = cpu->r[27] + 0x00000000u; /* 02859748 */ cpu->r[26] = rbrew_read32(cpu->mem, _t147); L_0285974C: ; // 0x285974c /* 0285974C */ _t148 = cpu->r[1] + 0x00000024u; /* 0285974C */ cpu->r[0] = rbrew_read32(cpu->mem, _t148); /* 02859750 */ _t149 = cpu->r[27] + 0x00000004u; /* 02859750 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t149); /* 02859754 */ cpu->r[23] = 0x00000000u; /* 02859758 */ _t150 = cpu->r[27] + 0x00000000u; /* 02859758 */ rbrew_write32(cpu->mem, _t150, cpu->r[0]); /* 0285975C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02859760 */ _t151 = cpu->r[27] + 0x00000006u; /* 02859760 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t151); /* 02859764 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859764 */ _t153 = _t152 & 0x00000001u; /* 02859764 */ if (_t153) goto L_0285993C; else goto L_02859768; L_02859768: ; // 0x2859768 /* 02859768 */ goto L_02859938; L_0285976C: ; // 0x285976c /* 0285976C */ cpu->r[23] = 0x00000001u; L_02859770: ; // 0x2859770 /* 02859770 */ _t154 = cpu->r[1] + 0x00000024u; /* 02859770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t154); /* 02859774 */ _t155 = cpu->r[27] + 0x00000004u; /* 02859774 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t155); /* 02859778 */ _t156 = cpu->r[27] + 0x00000000u; /* 02859778 */ rbrew_write32(cpu->mem, _t156, cpu->r[0]); /* 0285977C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02859780 */ _t157 = cpu->r[27] + 0x00000006u; /* 02859780 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t157); /* 02859784 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859784 */ _t159 = _t158 & 0x00000001u; /* 02859784 */ if (_t159) goto L_0285993C; else goto L_02859788; L_02859788: ; // 0x2859788 /* 02859788 */ goto L_02859938; L_0285978C: ; // 0x285978c /* 0285978C */ _t160 = cpu->r[29] + 0x00000028u; /* 0285978C */ cpu->r[3] = rbrew_read32(cpu->mem, _t160); /* 02859790 */ _t161 = cpu->r[3] + 0x00000004u; /* 02859790 */ cpu->r[9] = rbrew_read32(cpu->mem, _t161); /* 02859794 */ _t162 = cpu->r[9] + 0x0000009Cu; /* 02859794 */ cpu->r[10] = rbrew_read32(cpu->mem, _t162); /* 02859798 */ _t163 = cpu->r[29] + 0x00000018u; /* 02859798 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t163); /* 0285979C */ cpu->ctr = cpu->r[10]; /* 028597A0 */ _t164 = cpu->r[1] + 0x00000040u; /* 028597A0 */ cpu->r[4] = rbrew_read16(cpu->mem, _t164); /* 028597A4 */ cpu->f[28] = cpu->f[25]; /* 028597A8 */ cpu->r[5] = cpu->r[22]; /* 028597AC */ rbrew_call_indirect(cpu, cpu->ctr); /* 028597B0 */ cpu->r[7] = 0x10130000u; /* 028597B4 */ cpu->r[11] = 0x43300000u; /* 028597B8 */ _t165 = cpu->r[7] + 0x00001D88u; /* 028597B8 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t165); /* 028597BC */ cpu->r[12] = cpu->r[3] ^ 0x80000000u; /* 028597C0 */ _t166 = cpu->r[1] + 0x00000008u; /* 028597C0 */ rbrew_write32(cpu->mem, _t166, cpu->r[11]); /* 028597C4 */ _t167 = cpu->r[1] + 0x0000000Cu; /* 028597C4 */ rbrew_write32(cpu->mem, _t167, cpu->r[12]); /* 028597C8 */ _t168 = cpu->r[1] + 0x00000008u; /* 028597C8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t168); /* 028597CC */ cpu->f[9] = cpu->f[8] - cpu->f[9]; /* 028597D0 */ cpu->f[13] = (double)(float)cpu->f[9]; /* 028597D4 */ _t169 = cpu->r[29] + 0x0000000Cu; /* 028597D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t169); /* 028597D8 */ cpu->r[3] = cpu->r[1] + 0x00000048u; /* 028597DC */ cpu->f[29] = cpu->f[13] * cpu->f[10]; /* 028597E0 */ Gambit_fn_02854D00(cpu); /* 028597E4 */ _t170 = cpu->r[29] + 0x00000028u; /* 028597E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t170); /* 028597E8 */ _t171 = cpu->r[3] + 0x00000004u; /* 028597E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t171); /* 028597EC */ _t172 = cpu->r[12] + 0x0000008Cu; /* 028597EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t172); /* 028597F0 */ cpu->ctr = cpu->r[0]; /* 028597F4 */ cpu->r[4] = cpu->r[1] + 0x00000048u; /* 028597F8 */ cpu->r[5] = cpu->r[22]; /* 028597FC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02859800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02859804 */ _t173 = cpu->r[29] + 0x00000030u; /* 02859804 */ cpu->r[4] = rbrew_read8(cpu->mem, _t173); /* 02859808 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859808 */ _t175 = _t174 & 0x00000001u; /* 02859808 */ if (_t175) goto L_02859814; else goto L_0285980C; L_0285980C: ; // 0x285980c /* 0285980C */ _t176 = cpu->r[29] + 0x00000038u; /* 0285980C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t176); /* 02859810 */ cpu->f[28] = cpu->f[28] + cpu->f[10]; L_02859814: ; // 0x2859814 /* 02859814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02859818 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859818 */ _t178 = _t177 & 0x00000001u; /* 02859818 */ if (_t178) goto L_02859834; else goto L_0285981C; L_0285981C: ; // 0x285981c /* 0285981C */ _t179 = cpu->r[29] + 0x00000020u; /* 0285981C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t179); /* 02859820 */ cpu->f[28] = cpu->f[28] + cpu->f[12]; /* 02859824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02859828 */ cpu->f[28] = cpu->f[28] + cpu->f[29]; /* 0285982C */ _t180 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285982C */ _t181 = _t180 & 0x00000001u; /* 0285982C */ if (_t181) goto L_028598A4; else goto L_02859830; L_02859830: ; // 0x2859830 /* 02859830 */ goto L_0285986C; L_02859834: ; // 0x2859834 /* 02859834 */ _t182 = cpu->r[1] + 0x0000004Eu; /* 02859834 */ cpu->r[0] = rbrew_read8(cpu->mem, _t182); /* 02859838 */ cpu->r[5] = 0x43300000u; /* 0285983C */ _t183 = cpu->r[1] + 0x00000008u; /* 0285983C */ rbrew_write32(cpu->mem, _t183, cpu->r[5]); /* 02859840 */ cpu->r[4] = 0x10130000u; /* 02859844 */ _t184 = cpu->r[1] + 0x0000000Cu; /* 02859844 */ rbrew_write32(cpu->mem, _t184, cpu->r[0]); /* 02859848 */ _t185 = cpu->r[1] + 0x00000008u; /* 02859848 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t185); /* 0285984C */ _t186 = cpu->r[4] + 0x00001D98u; /* 0285984C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t186); /* 02859850 */ cpu->f[6] = cpu->f[0] - cpu->f[13]; /* 02859854 */ cpu->f[13] = (double)(float)cpu->f[6]; /* 02859858 */ _t187 = cpu->r[29] + 0x0000000Cu; /* 02859858 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t187); /* 0285985C */ cpu->f[28] = fma(cpu->f[13], cpu->f[7], cpu->f[28]); /* 02859860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02859864 */ cpu->f[28] = cpu->f[28] + cpu->f[29]; /* 02859868 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859868 */ _t189 = _t188 & 0x00000001u; /* 02859868 */ if (_t189) goto L_028598A4; else goto L_0285986C; L_0285986C: ; // 0x285986c /* 0285986C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[26]); /* 02859870 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859870 */ _t191 = _t190 & 0x00000001u; /* 02859870 */ if (_t191) goto L_028598A4; else goto L_02859874; L_02859874: ; // 0x2859874 /* 02859874 */ _t192 = cpu->r[29] + 0x00000034u; /* 02859874 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t192); /* 02859878 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[8]); /* 0285987C */ _t193 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285987C */ _t194 = _t193 & 0x00000001u; /* 0285987C */ if (_t194) goto L_02859880; else goto L_028598A4; L_02859880: ; // 0x2859880 /* 02859880 */ cpu->r[6] = cpu->r[25]; /* 02859884 */ cpu->r[9] = cpu->r[6] - cpu->r[30]; /* 02859888 */ _t195 = cpu->r[1] + 0x00000040u; /* 02859888 */ rbrew_write16(cpu->mem, _t195, (uint16_t)cpu->r[28]); /* 0285988C */ /* nop */ /* 02859890 */ cpu->r[22] = 0x0000000Au; /* 02859894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]); /* 02859898 */ _t196 = cpu->r[27] + 0x00000000u; /* 02859898 */ rbrew_write32(cpu->mem, _t196, cpu->r[6]); /* 0285989C */ _t197 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285989C */ _t198 = _t197 & 0x00000001u; /* 0285989C */ if (_t198) goto L_028598A0; else goto L_02859510; L_028598A0: ; // 0x28598a0 /* 028598A0 */ goto L_02859994; L_028598A4: ; // 0x28598a4 /* 028598A4 */ _t199 = cpu->r[29] + 0x00000014u; /* 028598A4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t199); /* 028598A8 */ cpu->f[25] = cpu->f[28]; /* 028598AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028598B0 */ _t200 = cpu->r[29] + 0x00000028u; /* 028598B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t200); /* 028598B4 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u); /* 028598B4 */ _t202 = _t201 & 0x00000001u; /* 028598B4 */ if (_t202) goto L_028598C0; else goto L_028598B8; L_028598B8: ; // 0x28598b8 /* 028598B8 */ _t203 = cpu->r[29] + 0x00000038u; /* 028598B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t203); /* 028598BC */ cpu->f[7] = cpu->f[7] + cpu->f[0]; L_028598C0: ; // 0x28598c0 /* 028598C0 */ cpu->f[10] = cpu->f[7] + cpu->f[29]; /* 028598C4 */ _t204 = cpu->r[29] + 0x00000014u; /* 028598C4 */ rbrew_write_f32(cpu->mem, _t204, cpu->f[10]); /* 028598C8 */ _t205 = cpu->r[3] + 0x00000004u; /* 028598C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t205); /* 028598CC */ _t206 = cpu->r[7] + 0x000000ACu; /* 028598CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t206); /* 028598D0 */ cpu->ctr = cpu->r[8]; /* 028598D4 */ cpu->r[23] = 0x00000001u; /* 028598D8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028598DC */ cpu->r[12] = 0x10130000u; /* 028598E0 */ cpu->r[9] = (uint32_t)(-(int32_t)cpu->r[3]); /* 028598E4 */ cpu->r[10] = 0x43300000u; /* 028598E8 */ _t207 = cpu->r[12] + 0x00001D88u; /* 028598E8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t207); /* 028598EC */ cpu->r[12] = cpu->r[9] ^ 0x80000000u; /* 028598F0 */ _t208 = cpu->r[1] + 0x00000008u; /* 028598F0 */ rbrew_write32(cpu->mem, _t208, cpu->r[10]); /* 028598F4 */ _t209 = cpu->r[1] + 0x0000000Cu; /* 028598F4 */ rbrew_write32(cpu->mem, _t209, cpu->r[12]); /* 028598F8 */ _t210 = cpu->r[1] + 0x00000008u; /* 028598F8 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t210); /* 028598FC */ cpu->f[11] = cpu->f[9] - cpu->f[12]; /* 02859900 */ _t211 = cpu->r[29] + 0x00000010u; /* 02859900 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t211); /* 02859904 */ cpu->f[0] = (double)(float)cpu->f[11]; /* 02859908 */ _t212 = cpu->r[29] + 0x00000018u; /* 02859908 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t212); /* 0285990C */ cpu->f[6] = fma(cpu->f[0], cpu->f[13], cpu->f[6]); /* 02859910 */ cpu->r[3] = cpu->r[29]; /* 02859914 */ cpu->r[4] = cpu->r[1] + 0x00000048u; /* 02859918 */ _t213 = cpu->r[29] + 0x00000018u; /* 02859918 */ rbrew_write_f32(cpu->mem, _t213, cpu->f[6]); /* 0285991C */ Gambit_fn_0285499C(cpu); /* 02859920 */ _t214 = cpu->r[27] + 0x00000004u; /* 02859920 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t214); /* 02859924 */ _t215 = cpu->r[1] + 0x00000040u; /* 02859924 */ rbrew_write16(cpu->mem, _t215, (uint16_t)cpu->r[22]); /* 02859928 */ _t216 = cpu->r[29] + 0x00000018u; /* 02859928 */ rbrew_write_f32(cpu->mem, _t216, cpu->f[26]); /* 0285992C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02859930 */ _t217 = cpu->r[27] + 0x00000006u; /* 02859930 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t217); /* 02859934 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859934 */ _t219 = _t218 & 0x00000001u; /* 02859934 */ if (_t219) goto L_0285993C; else goto L_02859938; L_02859938: ; // 0x2859938 /* 02859938 */ _t220 = cpu->r[27] + 0x00000000u; /* 02859938 */ cpu->r[25] = rbrew_read32(cpu->mem, _t220); L_0285993C: ; // 0x285993c /* 0285993C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02859940 */ cpu->r[3] = cpu->r[27] + cpu->r[4]; /* 02859944 */ _t221 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859944 */ _t222 = _t221 & 0x00000001u; /* 02859944 */ if (_t222) goto L_02859948; else goto L_02859960; L_02859948: ; // 0x2859948 /* 02859948 */ _t223 = cpu->r[27] + 0x00000008u; /* 02859948 */ cpu->r[11] = rbrew_read32(cpu->mem, _t223); /* 0285994C */ cpu->ctr = cpu->r[11]; /* 02859950 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02859954 */ _t224 = cpu->r[27] + 0x00000000u; /* 02859954 */ cpu->r[6] = rbrew_read32(cpu->mem, _t224); /* 02859958 */ cpu->r[22] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0285995C */ goto L_02859984; L_02859960: ; // 0x2859960 /* 02859960 */ _t225 = cpu->r[27] + 0x0000000Au; /* 02859960 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t225); /* 02859964 */ _t226 = cpu->r[3] + cpu->r[5]; /* 02859964 */ cpu->r[7] = rbrew_read32(cpu->mem, _t226); /* 02859968 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285996C */ cpu->r[7] = cpu->r[7] + cpu->r[6]; /* 02859970 */ _t227 = cpu->r[7] + 0x00000004u; /* 02859970 */ cpu->r[11] = rbrew_read32(cpu->mem, _t227); /* 02859974 */ cpu->ctr = cpu->r[11]; /* 02859978 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285997C */ _t228 = cpu->r[27] + 0x00000000u; /* 0285997C */ cpu->r[6] = rbrew_read32(cpu->mem, _t228); /* 02859980 */ cpu->r[22] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu); L_02859984: ; // 0x2859984 /* 02859984 */ cpu->r[9] = cpu->r[6] - cpu->r[30]; /* 02859988 */ /* nop */ /* 0285998C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]); /* 02859990 */ _t229 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859990 */ _t230 = _t229 & 0x00000001u; /* 02859990 */ if (_t230) goto L_02859994; else goto L_02859510; L_02859994: ; // 0x2859994 /* 02859994 */ _t231 = cpu->r[29] + 0x00000014u; /* 02859994 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t231); L_02859998: ; // 0x2859998 /* 02859998 */ _t232 = cpu->r[1] + 0x0000002Cu; /* 02859998 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t232); /* 0285999C */ cpu->f[11] = cpu->f[7] - cpu->f[0]; /* 028599A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[11]); /* 028599A4 */ _t233 = cpu->r[29] + 0x00000044u; /* 028599A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t233); /* 028599A8 */ _t234 = cpu->cr[0] >> (0x00000003u & 31u); /* 028599A8 */ _t235 = _t234 & 0x00000001u; /* 028599A8 */ if (_t235) goto L_028599AC; else goto L_028599B0; L_028599AC: ; // 0x28599ac /* 028599AC */ cpu->f[31] = cpu->f[11]; L_028599B0: ; // 0x28599b0 /* 028599B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000016u, 0x00000017u); /* 028599B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000100u); /* 028599B8 */ _t236 = cpu->cr[0] >> (0x00000001u & 31u); /* 028599B8 */ _t237 = _t236 & 0x00000001u; /* 028599B8 */ if (_t237) goto L_028599CC; else goto L_028599BC; L_028599BC: ; // 0x28599bc /* 028599BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000200u); /* 028599C0 */ _t238 = cpu->cr[0] >> (0x00000001u & 31u); /* 028599C0 */ _t239 = _t238 & 0x00000001u; /* 028599C0 */ if (_t239) goto L_028599CC; else goto L_028599C4; L_028599C4: ; // 0x28599c4 /* 028599C4 */ _t240 = cpu->r[29] + 0x00000018u; /* 028599C4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t240); /* 028599C8 */ cpu->f[27] = cpu->f[6] + cpu->f[24]; L_028599CC: ; // 0x28599cc /* 028599CC */ _t241 = cpu->r[29] + 0x00000048u; /* 028599CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t241); /* 028599D0 */ _t242 = cpu->r[29] + 0x00000018u; /* 028599D0 */ rbrew_write_f32(cpu->mem, _t242, cpu->f[27]); /* 028599D4 */ _t243 = cpu->r[3] + 0x00000000u; /* 028599D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t243); /* 028599D8 */ _t244 = cpu->r[11] + 0x00000034u; /* 028599D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t244); /* 028599DC */ cpu->ctr = cpu->r[12]; /* 028599E0 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 028599E4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028599E8 */ /* nop */ /* 028599EC */ _t245 = cpu->r[1] + 0x00000130u; /* 028599EC */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t245); /* 028599F0 */ _t246 = cpu->r[1] + 0x00000140u; /* 028599F0 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t246); /* 028599F4 */ _t247 = cpu->r[1] + 0x00000128u; /* 028599F4 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t247); /* 028599F8 */ _t248 = cpu->r[1] + 0x00000138u; /* 028599F8 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t248); /* 028599FC */ _t249 = cpu->r[1] + 0x00000150u; /* 028599FC */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t249); /* 02859A00 */ _t250 = cpu->r[1] + 0x00000160u; /* 02859A00 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t250); /* 02859A04 */ _t251 = cpu->r[1] + 0x00000148u; /* 02859A04 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t251); /* 02859A08 */ _t252 = cpu->r[1] + 0x00000158u; /* 02859A08 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t252); /* 02859A0C */ _t253 = cpu->r[1] + 0x00000170u; /* 02859A0C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t253); /* 02859A10 */ _t254 = cpu->r[1] + 0x00000120u; /* 02859A10 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t254); /* 02859A14 */ _t255 = cpu->r[1] + 0x00000168u; /* 02859A14 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t255); /* 02859A18 */ _t256 = cpu->r[1] + 0x00000118u; /* 02859A18 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t256); /* 02859A1C */ _t257 = cpu->r[1] + 0x00000110u; /* 02859A1C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t257); /* 02859A20 */ cpu->f[1] = cpu->f[31]; /* 02859A24 */ _t258 = cpu->r[1] + 0x00000180u; /* 02859A24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t258); /* 02859A28 */ _t259 = cpu->r[1] + 0x00000108u; /* 02859A28 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t259); /* 02859A2C */ _t260 = cpu->r[1] + 0x00000178u; /* 02859A2C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t260); /* 02859A30 */ _t261 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859A30 */ _t262 = _t261 & 0x00000001u; /* 02859A30 */ if (_t262) goto L_02859A34; // else: addr-0 trap, fall-through L_02859A34: ; // 0x2859a34 /* 02859A34 */ _t263 = cpu->r[1] + 0x0000018Cu; /* 02859A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t263); /* 02859A38 */ cpu->lr = cpu->r[0]; /* 02859A3C */ cpu->r[1] = cpu->r[1] + 0x00000188u; /* 02859A40 */ return; } // fn_02859A44 @ 0x2859a44 void Gambit_fn_02859A44(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02859A44: ; // 0x2859a44 /* 02859A44 */ cpu->r[0] = cpu->lr; /* 02859A48 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 02859A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02859A48 */ cpu->r[1] = _t0; /* 02859A4C */ _t1 = cpu->r[1] + 0x00000058u; /* 02859A4C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02859A50 */ _t2 = cpu->r[1] + 0x00000054u; /* 02859A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02859A54 */ cpu->r[31] = cpu->r[3]; /* 02859A58 */ /* nop */ /* 02859A5C */ cpu->r[12] = cpu->r[1] + 0x00000004u; /* 02859A60 */ _t3 = cpu->r[1] + 0x0000006Cu; /* 02859A60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02859A64 */ cpu->r[0] = 0x00000013u; /* 02859A68 */ cpu->r[11] = cpu->r[31] + 0xFFFFFFFCu; /* 02859A6C */ cpu->ctr = cpu->r[0]; /* 02859A70 */ _t4 = cpu->r[1] + 0x00000060u; /* 02859A70 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); L_02859A74: ; // 0x2859a74 /* 02859A74 */ _t5 = cpu->r[11] + 0x00000004u; /* 02859A74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 02859A74 */ cpu->r[11] = _t5; /* 02859A78 */ _t6 = cpu->r[12] + 0x00000004u; /* 02859A78 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]); /* 02859A78 */ cpu->r[12] = _t6; /* 02859A7C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02859A7C */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02859A7C */ _t8 = _t7 >> (0x00000002u & 31u); /* 02859A7C */ _t9 = _t8 & 0x00000001u; /* 02859A7C */ if (_t9) goto L_02859A74; else goto L_02859A80; L_02859A80: ; // 0x2859a80 /* 02859A80 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02859A84 */ Gambit_fn_02859354(cpu); /* 02859A88 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 02859A88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10); /* 02859A8C */ cpu->f[31] = cpu->f[1]; /* 02859A90 */ _t11 = cpu->r[1] + 0x00000020u; /* 02859A90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02859A94 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02859A98 */ _t12 = cpu->r[31] + 0x00000014u; /* 02859A98 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]); /* 02859A9C */ cpu->r[4] = 0x00000002u; /* 02859AA0 */ _t13 = cpu->r[31] + 0x00000018u; /* 02859AA0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]); /* 02859AA4 */ Gambit_fn_02858758(cpu); /* 02859AA8 */ cpu->f[1] = cpu->f[31]; /* 02859AAC */ _t14 = cpu->r[1] + 0x00000060u; /* 02859AAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14); /* 02859AB0 */ _t15 = cpu->r[1] + 0x00000054u; /* 02859AB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02859AB4 */ _t16 = cpu->r[1] + 0x00000058u; /* 02859AB4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16); /* 02859AB8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859AB8 */ _t18 = _t17 & 0x00000001u; /* 02859AB8 */ if (_t18) goto L_02859ABC; // else: addr-0 trap, fall-through L_02859ABC: ; // 0x2859abc /* 02859ABC */ _t19 = cpu->r[1] + 0x0000006Cu; /* 02859ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02859AC0 */ cpu->lr = cpu->r[0]; /* 02859AC4 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 02859AC8 */ return; } // fn_02859A48 @ 0x2859a48 void Gambit_fn_02859A48(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02859A48: ; // 0x2859a48 /* 02859A48 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 02859A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02859A48 */ cpu->r[1] = _t0; /* 02859A4C */ _t1 = cpu->r[1] + 0x00000058u; /* 02859A4C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02859A50 */ _t2 = cpu->r[1] + 0x00000054u; /* 02859A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02859A54 */ cpu->r[31] = cpu->r[3]; /* 02859A58 */ /* nop */ /* 02859A5C */ cpu->r[12] = cpu->r[1] + 0x00000004u; /* 02859A60 */ _t3 = cpu->r[1] + 0x0000006Cu; /* 02859A60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02859A64 */ cpu->r[0] = 0x00000013u; /* 02859A68 */ cpu->r[11] = cpu->r[31] + 0xFFFFFFFCu; /* 02859A6C */ cpu->ctr = cpu->r[0]; /* 02859A70 */ _t4 = cpu->r[1] + 0x00000060u; /* 02859A70 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); L_02859A74: ; // 0x2859a74 /* 02859A74 */ _t5 = cpu->r[11] + 0x00000004u; /* 02859A74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 02859A74 */ cpu->r[11] = _t5; /* 02859A78 */ _t6 = cpu->r[12] + 0x00000004u; /* 02859A78 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]); /* 02859A78 */ cpu->r[12] = _t6; /* 02859A7C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02859A7C */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02859A7C */ _t8 = _t7 >> (0x00000002u & 31u); /* 02859A7C */ _t9 = _t8 & 0x00000001u; /* 02859A7C */ if (_t9) goto L_02859A74; else goto L_02859A80; L_02859A80: ; // 0x2859a80 /* 02859A80 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02859A84 */ Gambit_fn_02859354(cpu); /* 02859A88 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 02859A88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10); /* 02859A8C */ cpu->f[31] = cpu->f[1]; /* 02859A90 */ _t11 = cpu->r[1] + 0x00000020u; /* 02859A90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02859A94 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02859A98 */ _t12 = cpu->r[31] + 0x00000014u; /* 02859A98 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]); /* 02859A9C */ cpu->r[4] = 0x00000002u; /* 02859AA0 */ _t13 = cpu->r[31] + 0x00000018u; /* 02859AA0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]); /* 02859AA4 */ Gambit_fn_02858758(cpu); /* 02859AA8 */ cpu->f[1] = cpu->f[31]; /* 02859AAC */ _t14 = cpu->r[1] + 0x00000060u; /* 02859AAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14); /* 02859AB0 */ _t15 = cpu->r[1] + 0x00000054u; /* 02859AB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02859AB4 */ _t16 = cpu->r[1] + 0x00000058u; /* 02859AB4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16); /* 02859AB8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859AB8 */ _t18 = _t17 & 0x00000001u; /* 02859AB8 */ if (_t18) goto L_02859ABC; // else: addr-0 trap, fall-through L_02859ABC: ; // 0x2859abc /* 02859ABC */ _t19 = cpu->r[1] + 0x0000006Cu; /* 02859ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02859AC0 */ cpu->lr = cpu->r[0]; /* 02859AC4 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 02859AC8 */ return; } // fn_02859ACC @ 0x2859acc void Gambit_fn_02859ACC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_02859ACC: ; // 0x2859acc /* 02859ACC */ cpu->r[11] = 0x10130000u; /* 02859AD0 */ cpu->r[8] = 0x000007C2u; /* 02859AD4 */ cpu->r[11] = cpu->r[11] + 0x00001DA0u; /* 02859AD8 */ cpu->r[12] = 0x00000000u; L_02859ADC: ; // 0x2859adc /* 02859ADC */ cpu->r[0] = cpu->r[8] - cpu->r[12]; /* 02859AE0 */ /* nop */ /* 02859AE4 */ cpu->r[9] = cpu->r[6]; /* 02859AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02859AE8 */ cpu->r[10] = cpu->r[12] + cpu->r[9]; /* 02859AEC */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02859AF0 */ cpu->r[5] = cpu->r[11] + cpu->r[7]; /* 02859AF4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859AF4 */ _t1 = _t0 & 0x00000001u; /* 02859AF4 */ if (_t1) goto L_02859AF8; else goto L_02859B14; L_02859AF8: ; // 0x2859af8 /* 02859AF8 */ _t2 = cpu->r[5] + 0x00000000u; /* 02859AF8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t2); /* 02859AFC */ _t3 = cpu->r[5] + 0x00000002u; /* 02859AFC */ cpu->r[10] = rbrew_read8(cpu->mem, _t3); /* 02859B00 */ cpu->r[8] = cpu->r[9] + cpu->r[10]; /* 02859B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[8]); /* 02859B08 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859B08 */ _t5 = _t4 & 0x00000001u; /* 02859B08 */ if (_t5) goto L_02859B3C; else goto L_02859B0C; L_02859B0C: ; // 0x2859b0c /* 02859B0C */ _t6 = cpu->r[5] + 0x00000003u; /* 02859B0C */ cpu->r[3] = rbrew_read8(cpu->mem, _t6); /* 02859B10 */ return; L_02859B14: ; // 0x2859b14 /* 02859B14 */ _t7 = cpu->r[5] + 0x00000000u; /* 02859B14 */ cpu->r[0] = rbrew_read16(cpu->mem, _t7); /* 02859B18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 02859B1C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859B1C */ _t9 = _t8 & 0x00000001u; /* 02859B1C */ if (_t9) goto L_02859B20; else goto L_02859B30; L_02859B20: ; // 0x2859b20 /* 02859B20 */ cpu->r[8] = cpu->r[10]; /* 02859B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[8]); /* 02859B28 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859B28 */ _t11 = _t10 & 0x00000001u; /* 02859B28 */ if (_t11) goto L_02859ADC; else goto L_02859B2C; L_02859B2C: ; // 0x2859b2c /* 02859B2C */ goto L_02859B3C; L_02859B30: ; // 0x2859b30 /* 02859B30 */ cpu->r[12] = cpu->r[10]; /* 02859B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[8]); /* 02859B38 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859B38 */ _t13 = _t12 & 0x00000001u; /* 02859B38 */ if (_t13) goto L_02859ADC; else goto L_02859B3C; L_02859B3C: ; // 0x2859b3c /* 02859B3C */ cpu->r[3] = 0x0000000Eu; /* 02859B40 */ return; } // fn_02859B44 @ 0x2859b44 void Gambit_fn_02859B44(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02859B44: ; // 0x2859b44 /* 02859B44 */ cpu->r[0] = cpu->lr; /* 02859B48 */ _t0 = cpu->r[1] + 0x00000004u; /* 02859B48 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02859B4C */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02859B4C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02859B4C */ cpu->r[1] = _t1; /* 02859B50 */ Gambit_fn_02859ACC(cpu); /* 02859B54 */ cpu->r[0] = cpu->r[3]; /* 02859B58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000001Du); /* 02859B5C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859B5C */ _t3 = _t2 & 0x00000001u; /* 02859B5C */ if (_t3) goto L_02859B74; else goto L_02859B60; L_02859B60: ; // 0x2859b60 /* 02859B60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000001Fu); /* 02859B64 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859B64 */ _t5 = _t4 & 0x00000001u; /* 02859B64 */ if (_t5) goto L_02859B88; else goto L_02859B68; L_02859B68: ; // 0x2859b68 /* 02859B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000025u); /* 02859B6C */ _t6 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859B6C */ _t7 = _t6 & 0x00000001u; /* 02859B6C */ if (_t7) goto L_02859B70; else goto L_02859B7C; L_02859B70: ; // 0x2859b70 /* 02859B70 */ goto L_02859B88; L_02859B74: ; // 0x2859b74 /* 02859B74 */ cpu->r[3] = 0x0000000Cu; /* 02859B78 */ goto L_02859B88; L_02859B7C: ; // 0x2859b7c /* 02859B7C */ cpu->r[12] = 0x10130000u; /* 02859B80 */ cpu->r[12] = cpu->r[12] + 0x000049ADu; /* 02859B84 */ _t8 = cpu->r[12] + cpu->r[0]; /* 02859B84 */ cpu->r[3] = rbrew_read8(cpu->mem, _t8); L_02859B88: ; // 0x2859b88 /* 02859B88 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02859B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02859B8C */ cpu->lr = cpu->r[0]; /* 02859B90 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02859B94 */ return; } // fn_02859B4C @ 0x2859b4c void Gambit_fn_02859B4C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02859B4C: ; // 0x2859b4c /* 02859B4C */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02859B4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02859B4C */ cpu->r[1] = _t0; /* 02859B50 */ Gambit_fn_02859ACC(cpu); /* 02859B54 */ cpu->r[0] = cpu->r[3]; /* 02859B58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000001Du); /* 02859B5C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859B5C */ _t2 = _t1 & 0x00000001u; /* 02859B5C */ if (_t2) goto L_02859B74; else goto L_02859B60; L_02859B60: ; // 0x2859b60 /* 02859B60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000001Fu); /* 02859B64 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859B64 */ _t4 = _t3 & 0x00000001u; /* 02859B64 */ if (_t4) goto L_02859B88; else goto L_02859B68; L_02859B68: ; // 0x2859b68 /* 02859B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000025u); /* 02859B6C */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859B6C */ _t6 = _t5 & 0x00000001u; /* 02859B6C */ if (_t6) goto L_02859B70; else goto L_02859B7C; L_02859B70: ; // 0x2859b70 /* 02859B70 */ goto L_02859B88; L_02859B74: ; // 0x2859b74 /* 02859B74 */ cpu->r[3] = 0x0000000Cu; /* 02859B78 */ goto L_02859B88; L_02859B7C: ; // 0x2859b7c /* 02859B7C */ cpu->r[12] = 0x10130000u; /* 02859B80 */ cpu->r[12] = cpu->r[12] + 0x000049ADu; /* 02859B84 */ _t7 = cpu->r[12] + cpu->r[0]; /* 02859B84 */ cpu->r[3] = rbrew_read8(cpu->mem, _t7); L_02859B88: ; // 0x2859b88 /* 02859B88 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02859B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02859B8C */ cpu->lr = cpu->r[0]; /* 02859B90 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02859B94 */ return; } // fn_02859B98 @ 0x2859b98 void Gambit_fn_02859B98(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72; L_02859B98: ; // 0x2859b98 /* 02859B98 */ cpu->r[0] = cpu->lr; /* 02859B9C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 02859B9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02859B9C */ cpu->r[1] = _t0; /* 02859BA0 */ _t1 = cpu->r[1] + 0x00000034u; /* 02859BA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02859BA4 */ /* nop */ /* 02859BA8 */ cpu->r[25] = cpu->r[4]; /* 02859BAC */ cpu->r[29] = cpu->r[3]; /* 02859BB0 */ cpu->r[31] = cpu->r[5]; /* 02859BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]); /* 02859BB8 */ cpu->r[26] = cpu->r[6]; /* 02859BBC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859BBC */ _t3 = _t2 & 0x00000001u; /* 02859BBC */ if (_t3) goto L_02859C28; else goto L_02859BC0; L_02859BC0: ; // 0x2859bc0 /* 02859BC0 */ _t4 = cpu->r[29] + 0x00000000u; /* 02859BC0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t4); /* 02859BC4 */ cpu->r[4] = cpu->r[26]; /* 02859BC8 */ cpu->r[27] = cpu->r[25]; /* 02859BCC */ Gambit_fn_02859B44(cpu); /* 02859BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000026u); /* 02859BD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859BD4 */ _t6 = _t5 & 0x00000001u; /* 02859BD4 */ if (_t6) goto L_02859BD8; else goto L_02859C20; L_02859BD8: ; // 0x2859bd8 /* 02859BD8 */ _t7 = cpu->r[31] + 0x00000000u; /* 02859BD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 02859BDC */ _t8 = cpu->r[5] + 0x0000000Cu; /* 02859BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02859BE0 */ cpu->ctr = cpu->r[0]; /* 02859BE4 */ cpu->r[24] = 0x00000000u; /* 02859BE8 */ cpu->r[4] = cpu->r[29]; /* 02859BEC */ cpu->r[5] = cpu->r[25]; /* 02859BF0 */ cpu->r[3] = cpu->r[31]; /* 02859BF4 */ cpu->r[28] = cpu->r[29] + 0x00000002u; /* 02859BF8 */ cpu->r[23] = 0x00000016u; /* 02859BFC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02859C00 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFFEu; /* 02859C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02859C08 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859C08 */ _t10 = _t9 & 0x00000001u; /* 02859C08 */ if (_t10) goto L_02859C0C; else goto L_02859C10; L_02859C0C: ; // 0x2859c0c /* 02859C0C */ cpu->r[30] = cpu->r[29]; L_02859C10: ; // 0x2859c10 /* 02859C10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]); /* 02859C14 */ cpu->r[31] = cpu->r[30] + 0x00000002u; /* 02859C18 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859C18 */ _t12 = _t11 & 0x00000001u; /* 02859C18 */ if (_t12) goto L_02859C84; else goto L_02859C1C; L_02859C1C: ; // 0x2859c1c /* 02859C1C */ goto L_02859C90; L_02859C20: ; // 0x2859c20 /* 02859C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000001Eu); /* 02859C24 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859C24 */ _t14 = _t13 & 0x00000001u; /* 02859C24 */ if (_t14) goto L_02859C28; else goto L_02859C40; L_02859C28: ; // 0x2859c28 /* 02859C28 */ cpu->r[3] = cpu->r[29]; /* 02859C2C */ /* nop */ /* 02859C30 */ _t15 = cpu->r[1] + 0x00000034u; /* 02859C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02859C34 */ cpu->lr = cpu->r[0]; /* 02859C38 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02859C3C */ return; L_02859C40: ; // 0x2859c40 /* 02859C40 */ _t16 = cpu->r[31] + 0x00000000u; /* 02859C40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16); /* 02859C44 */ _t17 = cpu->r[5] + 0x0000000Cu; /* 02859C44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02859C48 */ cpu->r[23] = cpu->r[3]; /* 02859C4C */ cpu->ctr = cpu->r[0]; /* 02859C50 */ cpu->r[24] = 0x00000000u; /* 02859C54 */ cpu->r[4] = cpu->r[29]; /* 02859C58 */ cpu->r[5] = cpu->r[25]; /* 02859C5C */ cpu->r[3] = cpu->r[31]; /* 02859C60 */ cpu->r[28] = cpu->r[29] + 0x00000002u; /* 02859C64 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02859C68 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFFEu; /* 02859C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02859C70 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859C70 */ _t19 = _t18 & 0x00000001u; /* 02859C70 */ if (_t19) goto L_02859C74; else goto L_02859C78; L_02859C74: ; // 0x2859c74 /* 02859C74 */ cpu->r[30] = cpu->r[29]; L_02859C78: ; // 0x2859c78 /* 02859C78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]); /* 02859C7C */ cpu->r[31] = cpu->r[30] + 0x00000002u; /* 02859C80 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859C80 */ _t21 = _t20 & 0x00000001u; /* 02859C80 */ if (_t21) goto L_02859C84; else goto L_02859C90; L_02859C84: ; // 0x2859c84 /* 02859C84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[25]); /* 02859C88 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859C88 */ _t23 = _t22 & 0x00000001u; /* 02859C88 */ if (_t23) goto L_02859C8C; else goto L_02859E44; L_02859C8C: ; // 0x2859c8c /* 02859C8C */ goto L_02859E1C; L_02859C90: ; // 0x2859c90 /* 02859C90 */ _t24 = cpu->r[28] + 0x00000000u; /* 02859C90 */ cpu->r[3] = rbrew_read16(cpu->mem, _t24); /* 02859C94 */ cpu->r[4] = cpu->r[26]; /* 02859C98 */ Gambit_fn_02859B44(cpu); /* 02859C9C */ cpu->r[6] = 0x00000000u; /* 02859CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000001Eu); /* 02859CA4 */ cpu->r[8] = cpu->r[6]; /* 02859CA8 */ cpu->r[7] = cpu->r[6]; /* 02859CAC */ cpu->r[9] = cpu->r[8]; /* 02859CB0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859CB0 */ _t26 = _t25 & 0x00000001u; /* 02859CB0 */ if (_t26) goto L_02859CE0; else goto L_02859CB4; L_02859CB4: ; // 0x2859cb4 /* 02859CB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000026u); /* 02859CB8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859CB8 */ _t28 = _t27 & 0x00000001u; /* 02859CB8 */ if (_t28) goto L_02859CBC; else goto L_02859D00; L_02859CBC: ; // 0x2859cbc /* 02859CBC */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859CC0 */ cpu->r[29] = cpu->r[28]; /* 02859CC4 */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859CC8 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 02859CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]); /* 02859CD0 */ cpu->r[24] = 0x00000001u; /* 02859CD4 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859CD8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859CD8 */ _t30 = _t29 & 0x00000001u; /* 02859CD8 */ if (_t30) goto L_02859CDC; else goto L_02859C90; L_02859CDC: ; // 0x2859cdc /* 02859CDC */ goto L_02859E14; L_02859CE0: ; // 0x2859ce0 /* 02859CE0 */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859CE4 */ cpu->r[7] = 0x00000001u; /* 02859CE8 */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859CEC */ cpu->r[8] = cpu->r[7]; /* 02859CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02859CF4 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859CF8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859CF8 */ _t32 = _t31 & 0x00000001u; /* 02859CF8 */ if (_t32) goto L_02859DB0; else goto L_02859CFC; L_02859CFC: ; // 0x2859cfc /* 02859CFC */ goto L_02859D98; L_02859D00: ; // 0x2859d00 /* 02859D00 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)0x0000001Du); /* 02859D04 */ cpu->r[5] = cpu->r[12] + cpu->r[3]; /* 02859D08 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02859D0C */ cpu->r[11] = cpu->r[10] + 0x10130000u; /* 02859D10 */ _t33 = cpu->r[11] + 0x00003CA8u; /* 02859D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 02859D14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u); /* 02859D18 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859D18 */ _t35 = _t34 & 0x00000001u; /* 02859D18 */ if (_t35) goto L_02859D44; else goto L_02859D1C; L_02859D1C: ; // 0x2859d1c /* 02859D1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 02859D20 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859D20 */ _t37 = _t36 & 0x00000001u; /* 02859D20 */ if (_t37) goto L_02859D24; else goto L_02859D64; L_02859D24: ; // 0x2859d24 /* 02859D24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u); /* 02859D28 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859D28 */ _t39 = _t38 & 0x00000001u; /* 02859D28 */ if (_t39) goto L_02859D2C; else goto L_02859D80; L_02859D2C: ; // 0x2859d2c /* 02859D2C */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859D30 */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02859D38 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859D3C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859D3C */ _t41 = _t40 & 0x00000001u; /* 02859D3C */ if (_t41) goto L_02859DB0; else goto L_02859D40; L_02859D40: ; // 0x2859d40 /* 02859D40 */ goto L_02859D98; L_02859D44: ; // 0x2859d44 /* 02859D44 */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859D48 */ cpu->r[8] = 0x00000001u; /* 02859D4C */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859D50 */ cpu->r[9] = cpu->r[8]; /* 02859D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02859D58 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859D5C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859D5C */ _t43 = _t42 & 0x00000001u; /* 02859D5C */ if (_t43) goto L_02859DB0; else goto L_02859D60; L_02859D60: ; // 0x2859d60 /* 02859D60 */ goto L_02859D98; L_02859D64: ; // 0x2859d64 /* 02859D64 */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859D68 */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02859D70 */ cpu->r[8] = cpu->r[24]; /* 02859D74 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859D78 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859D78 */ _t45 = _t44 & 0x00000001u; /* 02859D78 */ if (_t45) goto L_02859DB0; else goto L_02859D7C; L_02859D7C: ; // 0x2859d7c /* 02859D7C */ goto L_02859D98; L_02859D80: ; // 0x2859d80 /* 02859D80 */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859D84 */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02859D8C */ cpu->r[8] = 0x00000000u; /* 02859D90 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859D94 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859D94 */ _t47 = _t46 & 0x00000001u; /* 02859D94 */ if (_t47) goto L_02859DB0; else goto L_02859D98; L_02859D98: ; // 0x2859d98 /* 02859D98 */ cpu->r[29] = cpu->r[28]; /* 02859D9C */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 02859DA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]); /* 02859DA4 */ cpu->r[24] = 0x00000001u; /* 02859DA8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DA8 */ _t49 = _t48 & 0x00000001u; /* 02859DA8 */ if (_t49) goto L_02859DAC; else goto L_02859C90; L_02859DAC: ; // 0x2859dac /* 02859DAC */ goto L_02859E14; L_02859DB0: ; // 0x2859db0 /* 02859DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02859DB4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DB4 */ _t51 = _t50 & 0x00000001u; /* 02859DB4 */ if (_t51) goto L_02859DEC; else goto L_02859DB8; L_02859DB8: ; // 0x2859db8 /* 02859DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02859DBC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DBC */ _t53 = _t52 & 0x00000001u; /* 02859DBC */ if (_t53) goto L_02859DE8; else goto L_02859DC0; L_02859DC0: ; // 0x2859dc0 /* 02859DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02859DC4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DC4 */ _t55 = _t54 & 0x00000001u; /* 02859DC4 */ if (_t55) goto L_02859E24; else goto L_02859DC8; L_02859DC8: ; // 0x2859dc8 /* 02859DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02859DCC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DCC */ _t57 = _t56 & 0x00000001u; /* 02859DCC */ if (_t57) goto L_02859E24; else goto L_02859DD0; L_02859DD0: ; // 0x2859dd0 /* 02859DD0 */ cpu->r[3] = cpu->r[30]; /* 02859DD4 */ /* nop */ /* 02859DD8 */ _t58 = cpu->r[1] + 0x00000034u; /* 02859DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58); /* 02859DDC */ cpu->lr = cpu->r[0]; /* 02859DE0 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02859DE4 */ return; L_02859DE8: ; // 0x2859de8 /* 02859DE8 */ cpu->r[27] = cpu->r[29]; L_02859DEC: ; // 0x2859dec /* 02859DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02859DF0 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DF0 */ _t60 = _t59 & 0x00000001u; /* 02859DF0 */ if (_t60) goto L_02859DF4; else goto L_02859E48; L_02859DF4: ; // 0x2859df4 /* 02859DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02859DF8 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DF8 */ _t62 = _t61 & 0x00000001u; /* 02859DF8 */ if (_t62) goto L_02859DFC; else goto L_02859E24; L_02859DFC: ; // 0x2859dfc /* 02859DFC */ cpu->r[29] = cpu->r[28]; /* 02859E00 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 02859E04 */ cpu->r[24] = 0x00000000u; /* 02859E08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]); /* 02859E0C */ cpu->r[23] = cpu->r[3]; /* 02859E10 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859E10 */ _t64 = _t63 & 0x00000001u; /* 02859E10 */ if (_t64) goto L_02859E14; else goto L_02859C90; L_02859E14: ; // 0x2859e14 /* 02859E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[25]); /* 02859E18 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859E18 */ _t66 = _t65 & 0x00000001u; /* 02859E18 */ if (_t66) goto L_02859E1C; else goto L_02859E44; L_02859E1C: ; // 0x2859e1c /* 02859E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02859E20 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859E20 */ _t68 = _t67 & 0x00000001u; /* 02859E20 */ if (_t68) goto L_02859E24; else goto L_02859DD0; L_02859E24: ; // 0x2859e24 /* 02859E24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]); /* 02859E28 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859E28 */ _t70 = _t69 & 0x00000001u; /* 02859E28 */ if (_t70) goto L_02859DD0; else goto L_02859E2C; L_02859E2C: ; // 0x2859e2c /* 02859E2C */ cpu->r[3] = cpu->r[27]; /* 02859E30 */ /* nop */ /* 02859E34 */ _t71 = cpu->r[1] + 0x00000034u; /* 02859E34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71); /* 02859E38 */ cpu->lr = cpu->r[0]; /* 02859E3C */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02859E40 */ return; L_02859E44: ; // 0x2859e44 /* 02859E44 */ cpu->r[28] = cpu->r[29]; L_02859E48: ; // 0x2859e48 /* 02859E48 */ cpu->r[3] = cpu->r[28]; /* 02859E4C */ /* nop */ /* 02859E50 */ _t72 = cpu->r[1] + 0x00000034u; /* 02859E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 02859E54 */ cpu->lr = cpu->r[0]; /* 02859E58 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02859E5C */ return; } // fn_02859B9C @ 0x2859b9c void Gambit_fn_02859B9C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72; L_02859B9C: ; // 0x2859b9c /* 02859B9C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 02859B9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02859B9C */ cpu->r[1] = _t0; /* 02859BA0 */ _t1 = cpu->r[1] + 0x00000034u; /* 02859BA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02859BA4 */ /* nop */ /* 02859BA8 */ cpu->r[25] = cpu->r[4]; /* 02859BAC */ cpu->r[29] = cpu->r[3]; /* 02859BB0 */ cpu->r[31] = cpu->r[5]; /* 02859BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]); /* 02859BB8 */ cpu->r[26] = cpu->r[6]; /* 02859BBC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859BBC */ _t3 = _t2 & 0x00000001u; /* 02859BBC */ if (_t3) goto L_02859C28; else goto L_02859BC0; L_02859BC0: ; // 0x2859bc0 /* 02859BC0 */ _t4 = cpu->r[29] + 0x00000000u; /* 02859BC0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t4); /* 02859BC4 */ cpu->r[4] = cpu->r[26]; /* 02859BC8 */ cpu->r[27] = cpu->r[25]; /* 02859BCC */ Gambit_fn_02859B44(cpu); /* 02859BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000026u); /* 02859BD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859BD4 */ _t6 = _t5 & 0x00000001u; /* 02859BD4 */ if (_t6) goto L_02859BD8; else goto L_02859C20; L_02859BD8: ; // 0x2859bd8 /* 02859BD8 */ _t7 = cpu->r[31] + 0x00000000u; /* 02859BD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 02859BDC */ _t8 = cpu->r[5] + 0x0000000Cu; /* 02859BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02859BE0 */ cpu->ctr = cpu->r[0]; /* 02859BE4 */ cpu->r[24] = 0x00000000u; /* 02859BE8 */ cpu->r[4] = cpu->r[29]; /* 02859BEC */ cpu->r[5] = cpu->r[25]; /* 02859BF0 */ cpu->r[3] = cpu->r[31]; /* 02859BF4 */ cpu->r[28] = cpu->r[29] + 0x00000002u; /* 02859BF8 */ cpu->r[23] = 0x00000016u; /* 02859BFC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02859C00 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFFEu; /* 02859C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02859C08 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859C08 */ _t10 = _t9 & 0x00000001u; /* 02859C08 */ if (_t10) goto L_02859C0C; else goto L_02859C10; L_02859C0C: ; // 0x2859c0c /* 02859C0C */ cpu->r[30] = cpu->r[29]; L_02859C10: ; // 0x2859c10 /* 02859C10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]); /* 02859C14 */ cpu->r[31] = cpu->r[30] + 0x00000002u; /* 02859C18 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859C18 */ _t12 = _t11 & 0x00000001u; /* 02859C18 */ if (_t12) goto L_02859C84; else goto L_02859C1C; L_02859C1C: ; // 0x2859c1c /* 02859C1C */ goto L_02859C90; L_02859C20: ; // 0x2859c20 /* 02859C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000001Eu); /* 02859C24 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859C24 */ _t14 = _t13 & 0x00000001u; /* 02859C24 */ if (_t14) goto L_02859C28; else goto L_02859C40; L_02859C28: ; // 0x2859c28 /* 02859C28 */ cpu->r[3] = cpu->r[29]; /* 02859C2C */ /* nop */ /* 02859C30 */ _t15 = cpu->r[1] + 0x00000034u; /* 02859C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02859C34 */ cpu->lr = cpu->r[0]; /* 02859C38 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02859C3C */ return; L_02859C40: ; // 0x2859c40 /* 02859C40 */ _t16 = cpu->r[31] + 0x00000000u; /* 02859C40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16); /* 02859C44 */ _t17 = cpu->r[5] + 0x0000000Cu; /* 02859C44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02859C48 */ cpu->r[23] = cpu->r[3]; /* 02859C4C */ cpu->ctr = cpu->r[0]; /* 02859C50 */ cpu->r[24] = 0x00000000u; /* 02859C54 */ cpu->r[4] = cpu->r[29]; /* 02859C58 */ cpu->r[5] = cpu->r[25]; /* 02859C5C */ cpu->r[3] = cpu->r[31]; /* 02859C60 */ cpu->r[28] = cpu->r[29] + 0x00000002u; /* 02859C64 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02859C68 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFFEu; /* 02859C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02859C70 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859C70 */ _t19 = _t18 & 0x00000001u; /* 02859C70 */ if (_t19) goto L_02859C74; else goto L_02859C78; L_02859C74: ; // 0x2859c74 /* 02859C74 */ cpu->r[30] = cpu->r[29]; L_02859C78: ; // 0x2859c78 /* 02859C78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]); /* 02859C7C */ cpu->r[31] = cpu->r[30] + 0x00000002u; /* 02859C80 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859C80 */ _t21 = _t20 & 0x00000001u; /* 02859C80 */ if (_t21) goto L_02859C84; else goto L_02859C90; L_02859C84: ; // 0x2859c84 /* 02859C84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[25]); /* 02859C88 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859C88 */ _t23 = _t22 & 0x00000001u; /* 02859C88 */ if (_t23) goto L_02859C8C; else goto L_02859E44; L_02859C8C: ; // 0x2859c8c /* 02859C8C */ goto L_02859E1C; L_02859C90: ; // 0x2859c90 /* 02859C90 */ _t24 = cpu->r[28] + 0x00000000u; /* 02859C90 */ cpu->r[3] = rbrew_read16(cpu->mem, _t24); /* 02859C94 */ cpu->r[4] = cpu->r[26]; /* 02859C98 */ Gambit_fn_02859B44(cpu); /* 02859C9C */ cpu->r[6] = 0x00000000u; /* 02859CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000001Eu); /* 02859CA4 */ cpu->r[8] = cpu->r[6]; /* 02859CA8 */ cpu->r[7] = cpu->r[6]; /* 02859CAC */ cpu->r[9] = cpu->r[8]; /* 02859CB0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859CB0 */ _t26 = _t25 & 0x00000001u; /* 02859CB0 */ if (_t26) goto L_02859CE0; else goto L_02859CB4; L_02859CB4: ; // 0x2859cb4 /* 02859CB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000026u); /* 02859CB8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859CB8 */ _t28 = _t27 & 0x00000001u; /* 02859CB8 */ if (_t28) goto L_02859CBC; else goto L_02859D00; L_02859CBC: ; // 0x2859cbc /* 02859CBC */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859CC0 */ cpu->r[29] = cpu->r[28]; /* 02859CC4 */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859CC8 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 02859CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]); /* 02859CD0 */ cpu->r[24] = 0x00000001u; /* 02859CD4 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859CD8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859CD8 */ _t30 = _t29 & 0x00000001u; /* 02859CD8 */ if (_t30) goto L_02859CDC; else goto L_02859C90; L_02859CDC: ; // 0x2859cdc /* 02859CDC */ goto L_02859E14; L_02859CE0: ; // 0x2859ce0 /* 02859CE0 */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859CE4 */ cpu->r[7] = 0x00000001u; /* 02859CE8 */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859CEC */ cpu->r[8] = cpu->r[7]; /* 02859CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02859CF4 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859CF8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859CF8 */ _t32 = _t31 & 0x00000001u; /* 02859CF8 */ if (_t32) goto L_02859DB0; else goto L_02859CFC; L_02859CFC: ; // 0x2859cfc /* 02859CFC */ goto L_02859D98; L_02859D00: ; // 0x2859d00 /* 02859D00 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)0x0000001Du); /* 02859D04 */ cpu->r[5] = cpu->r[12] + cpu->r[3]; /* 02859D08 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02859D0C */ cpu->r[11] = cpu->r[10] + 0x10130000u; /* 02859D10 */ _t33 = cpu->r[11] + 0x00003CA8u; /* 02859D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 02859D14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u); /* 02859D18 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859D18 */ _t35 = _t34 & 0x00000001u; /* 02859D18 */ if (_t35) goto L_02859D44; else goto L_02859D1C; L_02859D1C: ; // 0x2859d1c /* 02859D1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 02859D20 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859D20 */ _t37 = _t36 & 0x00000001u; /* 02859D20 */ if (_t37) goto L_02859D24; else goto L_02859D64; L_02859D24: ; // 0x2859d24 /* 02859D24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u); /* 02859D28 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u); /* 02859D28 */ _t39 = _t38 & 0x00000001u; /* 02859D28 */ if (_t39) goto L_02859D2C; else goto L_02859D80; L_02859D2C: ; // 0x2859d2c /* 02859D2C */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859D30 */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02859D38 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859D3C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859D3C */ _t41 = _t40 & 0x00000001u; /* 02859D3C */ if (_t41) goto L_02859DB0; else goto L_02859D40; L_02859D40: ; // 0x2859d40 /* 02859D40 */ goto L_02859D98; L_02859D44: ; // 0x2859d44 /* 02859D44 */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859D48 */ cpu->r[8] = 0x00000001u; /* 02859D4C */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859D50 */ cpu->r[9] = cpu->r[8]; /* 02859D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02859D58 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859D5C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859D5C */ _t43 = _t42 & 0x00000001u; /* 02859D5C */ if (_t43) goto L_02859DB0; else goto L_02859D60; L_02859D60: ; // 0x2859d60 /* 02859D60 */ goto L_02859D98; L_02859D64: ; // 0x2859d64 /* 02859D64 */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859D68 */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02859D70 */ cpu->r[8] = cpu->r[24]; /* 02859D74 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859D78 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859D78 */ _t45 = _t44 & 0x00000001u; /* 02859D78 */ if (_t45) goto L_02859DB0; else goto L_02859D7C; L_02859D7C: ; // 0x2859d7c /* 02859D7C */ goto L_02859D98; L_02859D80: ; // 0x2859d80 /* 02859D80 */ cpu->r[12] = cpu->r[31] - cpu->r[28]; /* 02859D84 */ cpu->r[0] = cpu->r[12] - cpu->r[12]; /* 02859D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02859D8C */ cpu->r[8] = 0x00000000u; /* 02859D90 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]); /* 02859D94 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859D94 */ _t47 = _t46 & 0x00000001u; /* 02859D94 */ if (_t47) goto L_02859DB0; else goto L_02859D98; L_02859D98: ; // 0x2859d98 /* 02859D98 */ cpu->r[29] = cpu->r[28]; /* 02859D9C */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 02859DA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]); /* 02859DA4 */ cpu->r[24] = 0x00000001u; /* 02859DA8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DA8 */ _t49 = _t48 & 0x00000001u; /* 02859DA8 */ if (_t49) goto L_02859DAC; else goto L_02859C90; L_02859DAC: ; // 0x2859dac /* 02859DAC */ goto L_02859E14; L_02859DB0: ; // 0x2859db0 /* 02859DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02859DB4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DB4 */ _t51 = _t50 & 0x00000001u; /* 02859DB4 */ if (_t51) goto L_02859DEC; else goto L_02859DB8; L_02859DB8: ; // 0x2859db8 /* 02859DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02859DBC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DBC */ _t53 = _t52 & 0x00000001u; /* 02859DBC */ if (_t53) goto L_02859DE8; else goto L_02859DC0; L_02859DC0: ; // 0x2859dc0 /* 02859DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02859DC4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DC4 */ _t55 = _t54 & 0x00000001u; /* 02859DC4 */ if (_t55) goto L_02859E24; else goto L_02859DC8; L_02859DC8: ; // 0x2859dc8 /* 02859DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02859DCC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DCC */ _t57 = _t56 & 0x00000001u; /* 02859DCC */ if (_t57) goto L_02859E24; else goto L_02859DD0; L_02859DD0: ; // 0x2859dd0 /* 02859DD0 */ cpu->r[3] = cpu->r[30]; /* 02859DD4 */ /* nop */ /* 02859DD8 */ _t58 = cpu->r[1] + 0x00000034u; /* 02859DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58); /* 02859DDC */ cpu->lr = cpu->r[0]; /* 02859DE0 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02859DE4 */ return; L_02859DE8: ; // 0x2859de8 /* 02859DE8 */ cpu->r[27] = cpu->r[29]; L_02859DEC: ; // 0x2859dec /* 02859DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02859DF0 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DF0 */ _t60 = _t59 & 0x00000001u; /* 02859DF0 */ if (_t60) goto L_02859DF4; else goto L_02859E48; L_02859DF4: ; // 0x2859df4 /* 02859DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02859DF8 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859DF8 */ _t62 = _t61 & 0x00000001u; /* 02859DF8 */ if (_t62) goto L_02859DFC; else goto L_02859E24; L_02859DFC: ; // 0x2859dfc /* 02859DFC */ cpu->r[29] = cpu->r[28]; /* 02859E00 */ cpu->r[28] = cpu->r[28] + 0x00000002u; /* 02859E04 */ cpu->r[24] = 0x00000000u; /* 02859E08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]); /* 02859E0C */ cpu->r[23] = cpu->r[3]; /* 02859E10 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859E10 */ _t64 = _t63 & 0x00000001u; /* 02859E10 */ if (_t64) goto L_02859E14; else goto L_02859C90; L_02859E14: ; // 0x2859e14 /* 02859E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[25]); /* 02859E18 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859E18 */ _t66 = _t65 & 0x00000001u; /* 02859E18 */ if (_t66) goto L_02859E1C; else goto L_02859E44; L_02859E1C: ; // 0x2859e1c /* 02859E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02859E20 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859E20 */ _t68 = _t67 & 0x00000001u; /* 02859E20 */ if (_t68) goto L_02859E24; else goto L_02859DD0; L_02859E24: ; // 0x2859e24 /* 02859E24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]); /* 02859E28 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859E28 */ _t70 = _t69 & 0x00000001u; /* 02859E28 */ if (_t70) goto L_02859DD0; else goto L_02859E2C; L_02859E2C: ; // 0x2859e2c /* 02859E2C */ cpu->r[3] = cpu->r[27]; /* 02859E30 */ /* nop */ /* 02859E34 */ _t71 = cpu->r[1] + 0x00000034u; /* 02859E34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71); /* 02859E38 */ cpu->lr = cpu->r[0]; /* 02859E3C */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02859E40 */ return; L_02859E44: ; // 0x2859e44 /* 02859E44 */ cpu->r[28] = cpu->r[29]; L_02859E48: ; // 0x2859e48 /* 02859E48 */ cpu->r[3] = cpu->r[28]; /* 02859E4C */ /* nop */ /* 02859E50 */ _t72 = cpu->r[1] + 0x00000034u; /* 02859E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 02859E54 */ cpu->lr = cpu->r[0]; /* 02859E58 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02859E5C */ return; } // fn_02859E60 @ 0x2859e60 void Gambit_fn_02859E60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62; L_02859E60: ; // 0x2859e60 /* 02859E60 */ cpu->r[0] = cpu->lr; /* 02859E64 */ _t0 = cpu->r[1] + 0xFFFFFFB8u; /* 02859E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02859E64 */ cpu->r[1] = _t0; /* 02859E68 */ _t1 = cpu->r[1] + 0x0000004Cu; /* 02859E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02859E6C */ /* nop */ /* 02859E70 */ cpu->r[26] = cpu->r[3]; /* 02859E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02859E74 */ cpu->r[27] = cpu->r[4]; /* 02859E78 */ cpu->r[28] = cpu->r[5]; /* 02859E7C */ cpu->r[31] = cpu->r[6]; /* 02859E80 */ cpu->r[21] = cpu->r[8]; /* 02859E84 */ cpu->r[22] = cpu->r[9]; /* 02859E88 */ cpu->r[25] = 0x00000000u; /* 02859E8C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859E8C */ _t3 = _t2 & 0x00000001u; /* 02859E8C */ if (_t3) goto L_02859E94; else goto L_02859E90; L_02859E90: ; // 0x2859e90 /* 02859E90 */ _t4 = cpu->r[26] + 0x00000000u; /* 02859E90 */ rbrew_write32(cpu->mem, _t4, cpu->r[25]); L_02859E94: ; // 0x2859e94 /* 02859E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02859E98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859E98 */ _t6 = _t5 & 0x00000001u; /* 02859E98 */ if (_t6) goto L_02859EAC; else goto L_02859E9C; L_02859E9C: ; // 0x2859e9c /* 02859E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02859EA0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859EA0 */ _t8 = _t7 & 0x00000001u; /* 02859EA0 */ if (_t8) goto L_02859EAC; else goto L_02859EA4; L_02859EA4: ; // 0x2859ea4 /* 02859EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02859EA8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859EA8 */ _t10 = _t9 & 0x00000001u; /* 02859EA8 */ if (_t10) goto L_02859EAC; else goto L_02859EC4; L_02859EAC: ; // 0x2859eac /* 02859EAC */ /* nop */ /* 02859EB0 */ _t11 = cpu->r[1] + 0x0000004Cu; /* 02859EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02859EB4 */ cpu->lr = cpu->r[0]; /* 02859EB8 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 02859EBC */ cpu->r[3] = 0x00000000u; /* 02859EC0 */ return; L_02859EC4: ; // 0x2859ec4 /* 02859EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02859EC8 */ _t12 = cpu->r[27] + 0x00000000u; /* 02859EC8 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[25]); /* 02859ECC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859ECC */ _t14 = _t13 & 0x00000001u; /* 02859ECC */ if (_t14) goto L_0285A038; else goto L_02859ED0; L_02859ED0: ; // 0x2859ed0 /* 02859ED0 */ _t15 = cpu->r[31] + 0x00000000u; /* 02859ED0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t15); /* 02859ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02859ED8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859ED8 */ _t17 = _t16 & 0x00000001u; /* 02859ED8 */ if (_t17) goto L_0285A038; else goto L_02859EDC; L_02859EDC: ; // 0x2859edc /* 02859EDC */ cpu->r[23] = 0x00000000u; /* 02859EE0 */ _t18 = cpu->r[22] + 0x00000000u; /* 02859EE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 02859EE4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02859EE8 */ cpu->r[30] = cpu->r[23]; /* 02859EEC */ cpu->r[24] = 0x0000000Au; /* 02859EF0 */ cpu->r[8] = (uint32_t)(-(int32_t)cpu->r[6]); /* 02859EF4 */ cpu->r[19] = cpu->r[31] + cpu->r[5]; /* 02859EF8 */ _t19 = ~cpu->r[6]; /* 02859EF8 */ cpu->r[9] = cpu->r[8] & _t19; /* 02859EFC */ cpu->r[25] = cpu->r[23]; /* 02859F00 */ cpu->r[20] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x0000001Fu, 0x0000001Fu); L_02859F04: ; // 0x2859f04 /* 02859F04 */ cpu->r[3] = cpu->r[31]; /* 02859F08 */ cpu->r[4] = cpu->r[19]; /* 02859F0C */ cpu->r[5] = cpu->r[21]; /* 02859F10 */ cpu->r[6] = cpu->r[22]; /* 02859F14 */ Gambit_fn_02859B98(cpu); /* 02859F18 */ cpu->r[18] = cpu->r[3]; /* 02859F1C */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02859F20 */ cpu->r[0] = cpu->r[18] - cpu->r[31]; /* 02859F24 */ cpu->r[12] = cpu->r[28] - cpu->r[30]; /* 02859F28 */ /* nop */ /* 02859F2C */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu; /* 02859F30 */ cpu->r[17] = cpu->r[11] + 0x00000001u; /* 02859F34 */ cpu->r[3] = cpu->r[27] + cpu->r[5]; /* 02859F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[29]); /* 02859F3C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859F3C */ _t21 = _t20 & 0x00000001u; /* 02859F3C */ if (_t21) goto L_02859F40; else goto L_02859F44; L_02859F40: ; // 0x2859f40 /* 02859F40 */ cpu->r[29] = cpu->r[17]; L_02859F44: ; // 0x2859f44 /* 02859F44 */ cpu->r[4] = cpu->r[31]; /* 02859F48 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02859F4C */ rbrew_dispatch(cpu, 0x02d0b870u); /* 02859F50 */ cpu->r[0] = cpu->r[30] + cpu->r[29]; /* 02859F54 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02859F58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[29]); /* 02859F5C */ _t22 = cpu->r[7] + cpu->r[27]; /* 02859F5C */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[25]); /* 02859F60 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859F60 */ _t24 = _t23 & 0x00000001u; /* 02859F60 */ if (_t24) goto L_02859F78; else goto L_02859F64; L_02859F64: ; // 0x2859f64 /* 02859F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02859F68 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859F68 */ _t26 = _t25 & 0x00000001u; /* 02859F68 */ if (_t26) goto L_02859EAC; else goto L_02859F6C; L_02859F6C: ; // 0x2859f6c /* 02859F6C */ cpu->r[30] = cpu->r[30] + cpu->r[29]; /* 02859F70 */ _t27 = cpu->r[26] + 0x00000000u; /* 02859F70 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]); /* 02859F74 */ goto L_02859EAC; L_02859F78: ; // 0x2859f78 /* 02859F78 */ cpu->r[31] = cpu->r[18] + 0x00000002u; /* 02859F7C */ cpu->r[30] = cpu->r[30] + cpu->r[29]; /* 02859F80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]); /* 02859F84 */ cpu->r[23] = cpu->r[23] + 0x00000001u; /* 02859F88 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859F88 */ _t29 = _t28 & 0x00000001u; /* 02859F88 */ if (_t29) goto L_02859F8C; else goto L_02859F98; L_02859F8C: ; // 0x2859f8c /* 02859F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02859F90 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859F90 */ _t31 = _t30 & 0x00000001u; /* 02859F90 */ if (_t31) goto L_0285A038; else goto L_02859F94; L_02859F94: ; // 0x2859f94 /* 02859F94 */ goto L_0285A034; L_02859F98: ; // 0x2859f98 /* 02859F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 02859F9C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859F9C */ _t33 = _t32 & 0x00000001u; /* 02859F9C */ if (_t33) goto L_02859FAC; else goto L_02859FA0; L_02859FA0: ; // 0x2859fa0 /* 02859FA0 */ _t34 = cpu->r[22] + 0x00000000u; /* 02859FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 02859FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[0]); /* 02859FA8 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859FA8 */ _t36 = _t35 & 0x00000001u; /* 02859FA8 */ if (_t36) goto L_02859FAC; else goto L_02859FE8; L_02859FAC: ; // 0x2859fac /* 02859FAC */ _t37 = cpu->r[18] + 0x00000000u; /* 02859FAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t37); /* 02859FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Au); /* 02859FB4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859FB4 */ _t39 = _t38 & 0x00000001u; /* 02859FB4 */ if (_t39) goto L_02859FF8; else goto L_02859FB8; L_02859FB8: ; // 0x2859fb8 /* 02859FB8 */ cpu->r[10] = cpu->r[30] + 0x00000001u; /* 02859FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]); /* 02859FC0 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859FC0 */ _t41 = _t40 & 0x00000001u; /* 02859FC0 */ if (_t41) goto L_02859FC4; else goto L_02859FE8; L_02859FC4: ; // 0x2859fc4 /* 02859FC4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02859FC8 */ _t42 = cpu->r[27] + cpu->r[8]; /* 02859FC8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[24]); /* 02859FCC */ cpu->r[12] = cpu->r[27] + cpu->r[8]; /* 02859FD0 */ _t43 = cpu->r[12] + 0x00000002u; /* 02859FD0 */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[25]); /* 02859FD4 */ _t44 = cpu->r[22] + 0x00000004u; /* 02859FD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t44); /* 02859FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02859FDC */ cpu->r[30] = cpu->r[10]; /* 02859FE0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859FE0 */ _t46 = _t45 & 0x00000001u; /* 02859FE0 */ if (_t46) goto L_02859F04; else goto L_02859FE4; L_02859FE4: ; // 0x2859fe4 /* 02859FE4 */ goto L_0285A004; L_02859FE8: ; // 0x2859fe8 /* 02859FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02859FEC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859FEC */ _t48 = _t47 & 0x00000001u; /* 02859FEC */ if (_t48) goto L_02859EAC; else goto L_02859FF0; L_02859FF0: ; // 0x2859ff0 /* 02859FF0 */ _t49 = cpu->r[26] + 0x00000000u; /* 02859FF0 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]); /* 02859FF4 */ goto L_02859EAC; L_02859FF8: ; // 0x2859ff8 /* 02859FF8 */ _t50 = cpu->r[22] + 0x00000004u; /* 02859FF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t50); /* 02859FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285A000 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A000 */ _t52 = _t51 & 0x00000001u; /* 0285A000 */ if (_t52) goto L_02859F04; else goto L_0285A004; L_0285A004: ; // 0x285a004 /* 0285A004 */ _t53 = cpu->r[31] + 0x00000000u; /* 0285A004 */ cpu->r[3] = rbrew_read16(cpu->mem, _t53); /* 0285A008 */ Gambit_fn_02859ACC(cpu); /* 0285A00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000026u); /* 0285A010 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A010 */ _t55 = _t54 & 0x00000001u; /* 0285A010 */ if (_t55) goto L_0285A014; else goto L_02859F04; L_0285A014: ; // 0x285a014 /* 0285A014 */ cpu->r[31] = cpu->r[31] + 0x00000002u; /* 0285A018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]); /* 0285A01C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A01C */ _t57 = _t56 & 0x00000001u; /* 0285A01C */ if (_t57) goto L_0285A020; else goto L_0285A004; L_0285A020: ; // 0x285a020 /* 0285A020 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0285A024 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0285A028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0285A02C */ _t58 = cpu->r[12] + cpu->r[27]; /* 0285A02C */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[25]); /* 0285A030 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A030 */ _t60 = _t59 & 0x00000001u; /* 0285A030 */ if (_t60) goto L_0285A038; else goto L_0285A034; L_0285A034: ; // 0x285a034 /* 0285A034 */ _t61 = cpu->r[26] + 0x00000000u; /* 0285A034 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]); L_0285A038: ; // 0x285a038 /* 0285A038 */ /* nop */ /* 0285A03C */ _t62 = cpu->r[1] + 0x0000004Cu; /* 0285A03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62); /* 0285A040 */ cpu->lr = cpu->r[0]; /* 0285A044 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 0285A048 */ cpu->r[3] = 0x00000001u; /* 0285A04C */ return; } // fn_02859E64 @ 0x2859e64 void Gambit_fn_02859E64(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62; L_02859E64: ; // 0x2859e64 /* 02859E64 */ _t0 = cpu->r[1] + 0xFFFFFFB8u; /* 02859E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02859E64 */ cpu->r[1] = _t0; /* 02859E68 */ _t1 = cpu->r[1] + 0x0000004Cu; /* 02859E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02859E6C */ /* nop */ /* 02859E70 */ cpu->r[26] = cpu->r[3]; /* 02859E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02859E74 */ cpu->r[27] = cpu->r[4]; /* 02859E78 */ cpu->r[28] = cpu->r[5]; /* 02859E7C */ cpu->r[31] = cpu->r[6]; /* 02859E80 */ cpu->r[21] = cpu->r[8]; /* 02859E84 */ cpu->r[22] = cpu->r[9]; /* 02859E88 */ cpu->r[25] = 0x00000000u; /* 02859E8C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859E8C */ _t3 = _t2 & 0x00000001u; /* 02859E8C */ if (_t3) goto L_02859E94; else goto L_02859E90; L_02859E90: ; // 0x2859e90 /* 02859E90 */ _t4 = cpu->r[26] + 0x00000000u; /* 02859E90 */ rbrew_write32(cpu->mem, _t4, cpu->r[25]); L_02859E94: ; // 0x2859e94 /* 02859E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02859E98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859E98 */ _t6 = _t5 & 0x00000001u; /* 02859E98 */ if (_t6) goto L_02859EAC; else goto L_02859E9C; L_02859E9C: ; // 0x2859e9c /* 02859E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02859EA0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859EA0 */ _t8 = _t7 & 0x00000001u; /* 02859EA0 */ if (_t8) goto L_02859EAC; else goto L_02859EA4; L_02859EA4: ; // 0x2859ea4 /* 02859EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02859EA8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859EA8 */ _t10 = _t9 & 0x00000001u; /* 02859EA8 */ if (_t10) goto L_02859EAC; else goto L_02859EC4; L_02859EAC: ; // 0x2859eac /* 02859EAC */ /* nop */ /* 02859EB0 */ _t11 = cpu->r[1] + 0x0000004Cu; /* 02859EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02859EB4 */ cpu->lr = cpu->r[0]; /* 02859EB8 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 02859EBC */ cpu->r[3] = 0x00000000u; /* 02859EC0 */ return; L_02859EC4: ; // 0x2859ec4 /* 02859EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02859EC8 */ _t12 = cpu->r[27] + 0x00000000u; /* 02859EC8 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[25]); /* 02859ECC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859ECC */ _t14 = _t13 & 0x00000001u; /* 02859ECC */ if (_t14) goto L_0285A038; else goto L_02859ED0; L_02859ED0: ; // 0x2859ed0 /* 02859ED0 */ _t15 = cpu->r[31] + 0x00000000u; /* 02859ED0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t15); /* 02859ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02859ED8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859ED8 */ _t17 = _t16 & 0x00000001u; /* 02859ED8 */ if (_t17) goto L_0285A038; else goto L_02859EDC; L_02859EDC: ; // 0x2859edc /* 02859EDC */ cpu->r[23] = 0x00000000u; /* 02859EE0 */ _t18 = cpu->r[22] + 0x00000000u; /* 02859EE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 02859EE4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02859EE8 */ cpu->r[30] = cpu->r[23]; /* 02859EEC */ cpu->r[24] = 0x0000000Au; /* 02859EF0 */ cpu->r[8] = (uint32_t)(-(int32_t)cpu->r[6]); /* 02859EF4 */ cpu->r[19] = cpu->r[31] + cpu->r[5]; /* 02859EF8 */ _t19 = ~cpu->r[6]; /* 02859EF8 */ cpu->r[9] = cpu->r[8] & _t19; /* 02859EFC */ cpu->r[25] = cpu->r[23]; /* 02859F00 */ cpu->r[20] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x0000001Fu, 0x0000001Fu); L_02859F04: ; // 0x2859f04 /* 02859F04 */ cpu->r[3] = cpu->r[31]; /* 02859F08 */ cpu->r[4] = cpu->r[19]; /* 02859F0C */ cpu->r[5] = cpu->r[21]; /* 02859F10 */ cpu->r[6] = cpu->r[22]; /* 02859F14 */ Gambit_fn_02859B98(cpu); /* 02859F18 */ cpu->r[18] = cpu->r[3]; /* 02859F1C */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02859F20 */ cpu->r[0] = cpu->r[18] - cpu->r[31]; /* 02859F24 */ cpu->r[12] = cpu->r[28] - cpu->r[30]; /* 02859F28 */ /* nop */ /* 02859F2C */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu; /* 02859F30 */ cpu->r[17] = cpu->r[11] + 0x00000001u; /* 02859F34 */ cpu->r[3] = cpu->r[27] + cpu->r[5]; /* 02859F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[29]); /* 02859F3C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859F3C */ _t21 = _t20 & 0x00000001u; /* 02859F3C */ if (_t21) goto L_02859F40; else goto L_02859F44; L_02859F40: ; // 0x2859f40 /* 02859F40 */ cpu->r[29] = cpu->r[17]; L_02859F44: ; // 0x2859f44 /* 02859F44 */ cpu->r[4] = cpu->r[31]; /* 02859F48 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02859F4C */ rbrew_dispatch(cpu, 0x02d0b870u); /* 02859F50 */ cpu->r[0] = cpu->r[30] + cpu->r[29]; /* 02859F54 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02859F58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[29]); /* 02859F5C */ _t22 = cpu->r[7] + cpu->r[27]; /* 02859F5C */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[25]); /* 02859F60 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859F60 */ _t24 = _t23 & 0x00000001u; /* 02859F60 */ if (_t24) goto L_02859F78; else goto L_02859F64; L_02859F64: ; // 0x2859f64 /* 02859F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02859F68 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859F68 */ _t26 = _t25 & 0x00000001u; /* 02859F68 */ if (_t26) goto L_02859EAC; else goto L_02859F6C; L_02859F6C: ; // 0x2859f6c /* 02859F6C */ cpu->r[30] = cpu->r[30] + cpu->r[29]; /* 02859F70 */ _t27 = cpu->r[26] + 0x00000000u; /* 02859F70 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]); /* 02859F74 */ goto L_02859EAC; L_02859F78: ; // 0x2859f78 /* 02859F78 */ cpu->r[31] = cpu->r[18] + 0x00000002u; /* 02859F7C */ cpu->r[30] = cpu->r[30] + cpu->r[29]; /* 02859F80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]); /* 02859F84 */ cpu->r[23] = cpu->r[23] + 0x00000001u; /* 02859F88 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859F88 */ _t29 = _t28 & 0x00000001u; /* 02859F88 */ if (_t29) goto L_02859F8C; else goto L_02859F98; L_02859F8C: ; // 0x2859f8c /* 02859F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02859F90 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859F90 */ _t31 = _t30 & 0x00000001u; /* 02859F90 */ if (_t31) goto L_0285A038; else goto L_02859F94; L_02859F94: ; // 0x2859f94 /* 02859F94 */ goto L_0285A034; L_02859F98: ; // 0x2859f98 /* 02859F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 02859F9C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859F9C */ _t33 = _t32 & 0x00000001u; /* 02859F9C */ if (_t33) goto L_02859FAC; else goto L_02859FA0; L_02859FA0: ; // 0x2859fa0 /* 02859FA0 */ _t34 = cpu->r[22] + 0x00000000u; /* 02859FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 02859FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[0]); /* 02859FA8 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859FA8 */ _t36 = _t35 & 0x00000001u; /* 02859FA8 */ if (_t36) goto L_02859FAC; else goto L_02859FE8; L_02859FAC: ; // 0x2859fac /* 02859FAC */ _t37 = cpu->r[18] + 0x00000000u; /* 02859FAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t37); /* 02859FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Au); /* 02859FB4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859FB4 */ _t39 = _t38 & 0x00000001u; /* 02859FB4 */ if (_t39) goto L_02859FF8; else goto L_02859FB8; L_02859FB8: ; // 0x2859fb8 /* 02859FB8 */ cpu->r[10] = cpu->r[30] + 0x00000001u; /* 02859FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]); /* 02859FC0 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u); /* 02859FC0 */ _t41 = _t40 & 0x00000001u; /* 02859FC0 */ if (_t41) goto L_02859FC4; else goto L_02859FE8; L_02859FC4: ; // 0x2859fc4 /* 02859FC4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02859FC8 */ _t42 = cpu->r[27] + cpu->r[8]; /* 02859FC8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[24]); /* 02859FCC */ cpu->r[12] = cpu->r[27] + cpu->r[8]; /* 02859FD0 */ _t43 = cpu->r[12] + 0x00000002u; /* 02859FD0 */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[25]); /* 02859FD4 */ _t44 = cpu->r[22] + 0x00000004u; /* 02859FD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t44); /* 02859FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02859FDC */ cpu->r[30] = cpu->r[10]; /* 02859FE0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859FE0 */ _t46 = _t45 & 0x00000001u; /* 02859FE0 */ if (_t46) goto L_02859F04; else goto L_02859FE4; L_02859FE4: ; // 0x2859fe4 /* 02859FE4 */ goto L_0285A004; L_02859FE8: ; // 0x2859fe8 /* 02859FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02859FEC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 02859FEC */ _t48 = _t47 & 0x00000001u; /* 02859FEC */ if (_t48) goto L_02859EAC; else goto L_02859FF0; L_02859FF0: ; // 0x2859ff0 /* 02859FF0 */ _t49 = cpu->r[26] + 0x00000000u; /* 02859FF0 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]); /* 02859FF4 */ goto L_02859EAC; L_02859FF8: ; // 0x2859ff8 /* 02859FF8 */ _t50 = cpu->r[22] + 0x00000004u; /* 02859FF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t50); /* 02859FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285A000 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A000 */ _t52 = _t51 & 0x00000001u; /* 0285A000 */ if (_t52) goto L_02859F04; else goto L_0285A004; L_0285A004: ; // 0x285a004 /* 0285A004 */ _t53 = cpu->r[31] + 0x00000000u; /* 0285A004 */ cpu->r[3] = rbrew_read16(cpu->mem, _t53); /* 0285A008 */ Gambit_fn_02859ACC(cpu); /* 0285A00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000026u); /* 0285A010 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A010 */ _t55 = _t54 & 0x00000001u; /* 0285A010 */ if (_t55) goto L_0285A014; else goto L_02859F04; L_0285A014: ; // 0x285a014 /* 0285A014 */ cpu->r[31] = cpu->r[31] + 0x00000002u; /* 0285A018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]); /* 0285A01C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A01C */ _t57 = _t56 & 0x00000001u; /* 0285A01C */ if (_t57) goto L_0285A020; else goto L_0285A004; L_0285A020: ; // 0x285a020 /* 0285A020 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0285A024 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0285A028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0285A02C */ _t58 = cpu->r[12] + cpu->r[27]; /* 0285A02C */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[25]); /* 0285A030 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A030 */ _t60 = _t59 & 0x00000001u; /* 0285A030 */ if (_t60) goto L_0285A038; else goto L_0285A034; L_0285A034: ; // 0x285a034 /* 0285A034 */ _t61 = cpu->r[26] + 0x00000000u; /* 0285A034 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]); L_0285A038: ; // 0x285a038 /* 0285A038 */ /* nop */ /* 0285A03C */ _t62 = cpu->r[1] + 0x0000004Cu; /* 0285A03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62); /* 0285A040 */ cpu->lr = cpu->r[0]; /* 0285A044 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 0285A048 */ cpu->r[3] = 0x00000001u; /* 0285A04C */ return; } // fn_0285A050 @ 0x285a050 void Gambit_fn_0285A050(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0285A050: ; // 0x285a050 /* 0285A050 */ _t0 = cpu->r[3] + 0x00000000u; /* 0285A050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 0285A054 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]); /* 0285A058 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A058 */ _t2 = _t1 & 0x00000001u; /* 0285A058 */ if (_t2) goto L_0285A05C; else goto L_0285A0B8; L_0285A05C: ; // 0x285a05c /* 0285A05C */ _t3 = cpu->r[3] + 0x00000004u; /* 0285A05C */ cpu->r[8] = rbrew_read16(cpu->mem, _t3); /* 0285A060 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000FEFFu); /* 0285A064 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A064 */ _t5 = _t4 & 0x00000001u; /* 0285A064 */ if (_t5) goto L_0285A068; else goto L_0285A0B8; L_0285A068: ; // 0x285a068 /* 0285A068 */ _t6 = cpu->r[3] + 0x00000008u; /* 0285A068 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 0285A06C */ cpu->r[9] = cpu->r[5] ^ cpu->r[8]; /* 0285A070 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0285A070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285A074 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A074 */ _t8 = _t7 & 0x00000001u; /* 0285A074 */ if (_t8) goto L_0285A078; else goto L_0285A0B8; L_0285A078: ; // 0x285a078 /* 0285A078 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000010u, 0x00000018u, 0x0000001Fu); /* 0285A07C */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000018u, 0x0000001Fu); /* 0285A080 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]); /* 0285A084 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A084 */ _t10 = _t9 & 0x00000001u; /* 0285A084 */ if (_t10) goto L_0285A0B8; else goto L_0285A088; L_0285A088: ; // 0x285a088 /* 0285A088 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285A08C */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285A090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]); /* 0285A094 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285A094 */ _t12 = _t11 & 0x00000001u; /* 0285A094 */ if (_t12) goto L_0285A0B8; else goto L_0285A098; L_0285A098: ; // 0x285a098 /* 0285A098 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285A09C */ _t13 = cpu->r[3] + 0x0000000Cu; /* 0285A09C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 0285A0A0 */ cpu->r[11] = cpu->r[10] + 0x00000014u; /* 0285A0A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]); /* 0285A0A8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A0A8 */ _t15 = _t14 & 0x00000001u; /* 0285A0A8 */ if (_t15) goto L_0285A0B8; else goto L_0285A0AC; L_0285A0AC: ; // 0x285a0ac /* 0285A0AC */ _t16 = cpu->r[3] + 0x00000010u; /* 0285A0AC */ cpu->r[0] = rbrew_read16(cpu->mem, _t16); /* 0285A0B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]); /* 0285A0B4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A0B4 */ _t18 = _t17 & 0x00000001u; /* 0285A0B4 */ if (_t18) goto L_0285A0B8; else goto L_0285A0C0; L_0285A0B8: ; // 0x285a0b8 /* 0285A0B8 */ cpu->r[3] = 0x00000000u; /* 0285A0BC */ return; L_0285A0C0: ; // 0x285a0c0 /* 0285A0C0 */ cpu->r[3] = 0x00000001u; /* 0285A0C4 */ return; } // fn_0285A0C8 @ 0x285a0c8 void Gambit_fn_0285A0C8(CPUState* cpu) { uint32_t _t0; L_0285A0C8: ; // 0x285a0c8 /* 0285A0C8 */ _t0 = cpu->r[3] + 0x00000004u; /* 0285A0C8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t0); /* 0285A0CC */ cpu->r[12] = cpu->r[0] ^ 0x0000FEFFu; /* 0285A0D0 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 0285A0D4 */ cpu->r[3] = cpu->r[12] - cpu->r[0]; /* 0285A0D8 */ return; } // fn_0285A0DC @ 0x285a0dc void Gambit_fn_0285A0DC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50; L_0285A0DC: ; // 0x285a0dc /* 0285A0DC */ cpu->r[0] = cpu->lr; /* 0285A0E0 */ _t0 = cpu->r[1] + 0x00000004u; /* 0285A0E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285A0E4 */ cpu->r[9] = cpu->r[3]; /* 0285A0E8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0285A0E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285A0E8 */ cpu->r[1] = _t1; /* 0285A0EC */ Gambit_fn_0285A0C8(cpu); /* 0285A0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A0F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A0F4 */ _t3 = _t2 & 0x00000001u; /* 0285A0F4 */ if (_t3) goto L_0285A0F8; else goto L_0285A144; L_0285A0F8: ; // 0x285a0f8 /* 0285A0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285A0FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A0FC */ _t5 = _t4 & 0x00000001u; /* 0285A0FC */ if (_t5) goto L_0285A100; else goto L_0285A128; L_0285A100: ; // 0x285a100 /* 0285A100 */ _t6 = cpu->r[9] + 0x00000010u; /* 0285A100 */ cpu->r[11] = rbrew_read16(cpu->mem, _t6); /* 0285A104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285A108 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A108 */ _t8 = _t7 & 0x00000001u; /* 0285A108 */ if (_t8) goto L_0285A1C8; else goto L_0285A10C; L_0285A10C: ; // 0x285a10c /* 0285A10C */ _t9 = cpu->r[9] + 0x00000006u; /* 0285A10C */ cpu->r[12] = rbrew_read16(cpu->mem, _t9); /* 0285A110 */ _t10 = cpu->r[9] + 0x0000000Cu; /* 0285A110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285A114 */ cpu->r[3] = cpu->r[9] + cpu->r[12]; /* 0285A118 */ cpu->r[12] = cpu->r[9] + cpu->r[0]; /* 0285A11C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]); /* 0285A120 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A120 */ _t12 = _t11 & 0x00000001u; /* 0285A120 */ if (_t12) goto L_0285A124; else goto L_0285A1C8; L_0285A124: ; // 0x285a124 /* 0285A124 */ goto L_0285A1CC; L_0285A128: ; // 0x285a128 /* 0285A128 */ _t13 = cpu->r[4] + 0x00000004u; /* 0285A128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285A12C */ cpu->r[3] = cpu->r[4] + cpu->r[0]; /* 0285A130 */ _t14 = cpu->r[9] + 0x0000000Cu; /* 0285A130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0285A134 */ cpu->r[12] = cpu->r[9] + cpu->r[0]; /* 0285A138 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]); /* 0285A13C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A13C */ _t16 = _t15 & 0x00000001u; /* 0285A13C */ if (_t16) goto L_0285A1CC; else goto L_0285A140; L_0285A140: ; // 0x285a140 /* 0285A140 */ goto L_0285A1C8; L_0285A144: ; // 0x285a144 /* 0285A144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285A148 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A148 */ _t18 = _t17 & 0x00000001u; /* 0285A148 */ if (_t18) goto L_0285A14C; else goto L_0285A190; L_0285A14C: ; // 0x285a14c /* 0285A14C */ _t19 = cpu->r[9] + 0x00000010u; /* 0285A14C */ cpu->r[10] = rbrew_read16(cpu->mem, _t19); /* 0285A150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285A154 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A154 */ _t21 = _t20 & 0x00000001u; /* 0285A154 */ if (_t21) goto L_0285A1C8; else goto L_0285A158; L_0285A158: ; // 0x285a158 /* 0285A158 */ _t22 = cpu->r[9] + 0x00000006u; /* 0285A158 */ cpu->r[12] = rbrew_read16(cpu->mem, _t22); /* 0285A15C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000008u, 0x00000010u, 0x00000017u); /* 0285A160 */ _t23 = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x00000018u, 0x0000001Fu); /* 0285A160 */ _t24 = cpu->r[0] & 0xFFFFFF00u; /* 0285A160 */ cpu->r[0] = _t24 | _t23; /* 0285A164 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0285A168 */ cpu->r[3] = cpu->r[9] + cpu->r[0]; /* 0285A16C */ _t25 = cpu->r[9] + 0x0000000Cu; /* 0285A16C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 0285A170 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u); /* 0285A174 */ _t26 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu); /* 0285A174 */ _t27 = cpu->r[10] & 0xFF00FFFFu; /* 0285A174 */ cpu->r[10] = _t27 | _t26; /* 0285A178 */ _t28 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u); /* 0285A178 */ _t29 = cpu->r[10] & 0xFFFF00FFu; /* 0285A178 */ cpu->r[10] = _t29 | _t28; /* 0285A17C */ _t30 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0285A17C */ _t31 = cpu->r[10] & 0xFFFFFF00u; /* 0285A17C */ cpu->r[10] = _t31 | _t30; /* 0285A180 */ cpu->r[11] = cpu->r[9] + cpu->r[10]; /* 0285A184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]); /* 0285A188 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A188 */ _t33 = _t32 & 0x00000001u; /* 0285A188 */ if (_t33) goto L_0285A1CC; else goto L_0285A18C; L_0285A18C: ; // 0x285a18c /* 0285A18C */ goto L_0285A1C8; L_0285A190: ; // 0x285a190 /* 0285A190 */ _t34 = cpu->r[4] + 0x00000004u; /* 0285A190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 0285A194 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u); /* 0285A198 */ _t35 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu); /* 0285A198 */ _t36 = cpu->r[11] & 0xFF00FFFFu; /* 0285A198 */ cpu->r[11] = _t36 | _t35; /* 0285A19C */ _t37 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u); /* 0285A19C */ _t38 = cpu->r[11] & 0xFFFF00FFu; /* 0285A19C */ cpu->r[11] = _t38 | _t37; /* 0285A1A0 */ _t39 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0285A1A0 */ _t40 = cpu->r[11] & 0xFFFFFF00u; /* 0285A1A0 */ cpu->r[11] = _t40 | _t39; /* 0285A1A4 */ _t41 = cpu->r[9] + 0x0000000Cu; /* 0285A1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 0285A1A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u); /* 0285A1AC */ _t42 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu); /* 0285A1AC */ _t43 = cpu->r[10] & 0xFF00FFFFu; /* 0285A1AC */ cpu->r[10] = _t43 | _t42; /* 0285A1B0 */ _t44 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u); /* 0285A1B0 */ _t45 = cpu->r[10] & 0xFFFF00FFu; /* 0285A1B0 */ cpu->r[10] = _t45 | _t44; /* 0285A1B4 */ _t46 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0285A1B4 */ _t47 = cpu->r[10] & 0xFFFFFF00u; /* 0285A1B4 */ cpu->r[10] = _t47 | _t46; /* 0285A1B8 */ cpu->r[3] = cpu->r[4] + cpu->r[11]; /* 0285A1BC */ cpu->r[11] = cpu->r[9] + cpu->r[10]; /* 0285A1C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]); /* 0285A1C4 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A1C4 */ _t49 = _t48 & 0x00000001u; /* 0285A1C4 */ if (_t49) goto L_0285A1CC; else goto L_0285A1C8; L_0285A1C8: ; // 0x285a1c8 /* 0285A1C8 */ cpu->r[3] = 0x00000000u; L_0285A1CC: ; // 0x285a1cc /* 0285A1CC */ _t50 = cpu->r[1] + 0x0000000Cu; /* 0285A1CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50); /* 0285A1D0 */ cpu->lr = cpu->r[0]; /* 0285A1D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285A1D8 */ return; } // fn_0285A0E8 @ 0x285a0e8 void Gambit_fn_0285A0E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49; L_0285A0E8: ; // 0x285a0e8 /* 0285A0E8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0285A0E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285A0E8 */ cpu->r[1] = _t0; /* 0285A0EC */ Gambit_fn_0285A0C8(cpu); /* 0285A0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A0F4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A0F4 */ _t2 = _t1 & 0x00000001u; /* 0285A0F4 */ if (_t2) goto L_0285A0F8; else goto L_0285A144; L_0285A0F8: ; // 0x285a0f8 /* 0285A0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285A0FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A0FC */ _t4 = _t3 & 0x00000001u; /* 0285A0FC */ if (_t4) goto L_0285A100; else goto L_0285A128; L_0285A100: ; // 0x285a100 /* 0285A100 */ _t5 = cpu->r[9] + 0x00000010u; /* 0285A100 */ cpu->r[11] = rbrew_read16(cpu->mem, _t5); /* 0285A104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285A108 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A108 */ _t7 = _t6 & 0x00000001u; /* 0285A108 */ if (_t7) goto L_0285A1C8; else goto L_0285A10C; L_0285A10C: ; // 0x285a10c /* 0285A10C */ _t8 = cpu->r[9] + 0x00000006u; /* 0285A10C */ cpu->r[12] = rbrew_read16(cpu->mem, _t8); /* 0285A110 */ _t9 = cpu->r[9] + 0x0000000Cu; /* 0285A110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285A114 */ cpu->r[3] = cpu->r[9] + cpu->r[12]; /* 0285A118 */ cpu->r[12] = cpu->r[9] + cpu->r[0]; /* 0285A11C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]); /* 0285A120 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A120 */ _t11 = _t10 & 0x00000001u; /* 0285A120 */ if (_t11) goto L_0285A124; else goto L_0285A1C8; L_0285A124: ; // 0x285a124 /* 0285A124 */ goto L_0285A1CC; L_0285A128: ; // 0x285a128 /* 0285A128 */ _t12 = cpu->r[4] + 0x00000004u; /* 0285A128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285A12C */ cpu->r[3] = cpu->r[4] + cpu->r[0]; /* 0285A130 */ _t13 = cpu->r[9] + 0x0000000Cu; /* 0285A130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285A134 */ cpu->r[12] = cpu->r[9] + cpu->r[0]; /* 0285A138 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]); /* 0285A13C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A13C */ _t15 = _t14 & 0x00000001u; /* 0285A13C */ if (_t15) goto L_0285A1CC; else goto L_0285A140; L_0285A140: ; // 0x285a140 /* 0285A140 */ goto L_0285A1C8; L_0285A144: ; // 0x285a144 /* 0285A144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285A148 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A148 */ _t17 = _t16 & 0x00000001u; /* 0285A148 */ if (_t17) goto L_0285A14C; else goto L_0285A190; L_0285A14C: ; // 0x285a14c /* 0285A14C */ _t18 = cpu->r[9] + 0x00000010u; /* 0285A14C */ cpu->r[10] = rbrew_read16(cpu->mem, _t18); /* 0285A150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285A154 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A154 */ _t20 = _t19 & 0x00000001u; /* 0285A154 */ if (_t20) goto L_0285A1C8; else goto L_0285A158; L_0285A158: ; // 0x285a158 /* 0285A158 */ _t21 = cpu->r[9] + 0x00000006u; /* 0285A158 */ cpu->r[12] = rbrew_read16(cpu->mem, _t21); /* 0285A15C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000008u, 0x00000010u, 0x00000017u); /* 0285A160 */ _t22 = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x00000018u, 0x0000001Fu); /* 0285A160 */ _t23 = cpu->r[0] & 0xFFFFFF00u; /* 0285A160 */ cpu->r[0] = _t23 | _t22; /* 0285A164 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0285A168 */ cpu->r[3] = cpu->r[9] + cpu->r[0]; /* 0285A16C */ _t24 = cpu->r[9] + 0x0000000Cu; /* 0285A16C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0285A170 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u); /* 0285A174 */ _t25 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu); /* 0285A174 */ _t26 = cpu->r[10] & 0xFF00FFFFu; /* 0285A174 */ cpu->r[10] = _t26 | _t25; /* 0285A178 */ _t27 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u); /* 0285A178 */ _t28 = cpu->r[10] & 0xFFFF00FFu; /* 0285A178 */ cpu->r[10] = _t28 | _t27; /* 0285A17C */ _t29 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0285A17C */ _t30 = cpu->r[10] & 0xFFFFFF00u; /* 0285A17C */ cpu->r[10] = _t30 | _t29; /* 0285A180 */ cpu->r[11] = cpu->r[9] + cpu->r[10]; /* 0285A184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]); /* 0285A188 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A188 */ _t32 = _t31 & 0x00000001u; /* 0285A188 */ if (_t32) goto L_0285A1CC; else goto L_0285A18C; L_0285A18C: ; // 0x285a18c /* 0285A18C */ goto L_0285A1C8; L_0285A190: ; // 0x285a190 /* 0285A190 */ _t33 = cpu->r[4] + 0x00000004u; /* 0285A190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 0285A194 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u); /* 0285A198 */ _t34 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu); /* 0285A198 */ _t35 = cpu->r[11] & 0xFF00FFFFu; /* 0285A198 */ cpu->r[11] = _t35 | _t34; /* 0285A19C */ _t36 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u); /* 0285A19C */ _t37 = cpu->r[11] & 0xFFFF00FFu; /* 0285A19C */ cpu->r[11] = _t37 | _t36; /* 0285A1A0 */ _t38 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0285A1A0 */ _t39 = cpu->r[11] & 0xFFFFFF00u; /* 0285A1A0 */ cpu->r[11] = _t39 | _t38; /* 0285A1A4 */ _t40 = cpu->r[9] + 0x0000000Cu; /* 0285A1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0285A1A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u); /* 0285A1AC */ _t41 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu); /* 0285A1AC */ _t42 = cpu->r[10] & 0xFF00FFFFu; /* 0285A1AC */ cpu->r[10] = _t42 | _t41; /* 0285A1B0 */ _t43 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u); /* 0285A1B0 */ _t44 = cpu->r[10] & 0xFFFF00FFu; /* 0285A1B0 */ cpu->r[10] = _t44 | _t43; /* 0285A1B4 */ _t45 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0285A1B4 */ _t46 = cpu->r[10] & 0xFFFFFF00u; /* 0285A1B4 */ cpu->r[10] = _t46 | _t45; /* 0285A1B8 */ cpu->r[3] = cpu->r[4] + cpu->r[11]; /* 0285A1BC */ cpu->r[11] = cpu->r[9] + cpu->r[10]; /* 0285A1C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]); /* 0285A1C4 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A1C4 */ _t48 = _t47 & 0x00000001u; /* 0285A1C4 */ if (_t48) goto L_0285A1CC; else goto L_0285A1C8; L_0285A1C8: ; // 0x285a1c8 /* 0285A1C8 */ cpu->r[3] = 0x00000000u; L_0285A1CC: ; // 0x285a1cc /* 0285A1CC */ _t49 = cpu->r[1] + 0x0000000Cu; /* 0285A1CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 0285A1D0 */ cpu->lr = cpu->r[0]; /* 0285A1D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285A1D8 */ return; } // fn_0285A1F4 @ 0x285a1f4 void Gambit_fn_0285A1F4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0285A1F4: ; // 0x285a1f4 /* 0285A1F4 */ cpu->r[0] = cpu->lr; /* 0285A1F8 */ _t0 = cpu->r[1] + 0x00000004u; /* 0285A1F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285A1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A200 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0285A200 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285A200 */ cpu->r[1] = _t1; /* 0285A204 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A204 */ _t3 = _t2 & 0x00000001u; /* 0285A204 */ if (_t3) goto L_0285A208; else goto L_0285A218; L_0285A208: ; // 0x285a208 /* 0285A208 */ cpu->r[3] = 0x00000018u; /* 0285A20C */ Gambit_fn_02801A78(cpu); /* 0285A210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A214 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A214 */ _t5 = _t4 & 0x00000001u; /* 0285A214 */ if (_t5) goto L_0285A248; else goto L_0285A218; L_0285A218: ; // 0x285a218 /* 0285A218 */ cpu->r[11] = 0x00000000u; /* 0285A21C */ cpu->r[12] = 0x10130000u; /* 0285A220 */ _t6 = cpu->r[3] + 0x00000004u; /* 0285A220 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]); /* 0285A224 */ cpu->r[0] = 0x10130000u; /* 0285A228 */ _t7 = cpu->r[12] + 0x000049D4u; /* 0285A228 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7); /* 0285A22C */ cpu->r[12] = 0x00000001u; /* 0285A230 */ _t8 = cpu->r[3] + 0x00000000u; /* 0285A230 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]); /* 0285A234 */ cpu->r[0] = cpu->r[0] + 0x000049ECu; /* 0285A238 */ _t9 = cpu->r[3] + 0x00000008u; /* 0285A238 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]); /* 0285A23C */ _t10 = cpu->r[3] + 0x00000010u; /* 0285A23C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]); /* 0285A240 */ _t11 = cpu->r[3] + 0x00000014u; /* 0285A240 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0285A244 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 0285A244 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]); L_0285A248: ; // 0x285a248 /* 0285A248 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0285A248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285A24C */ cpu->lr = cpu->r[0]; /* 0285A250 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285A254 */ return; } // fn_0285A200 @ 0x285a200 void Gambit_fn_0285A200(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_0285A200: ; // 0x285a200 /* 0285A200 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0285A200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285A200 */ cpu->r[1] = _t0; /* 0285A204 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A204 */ _t2 = _t1 & 0x00000001u; /* 0285A204 */ if (_t2) goto L_0285A208; else goto L_0285A218; L_0285A208: ; // 0x285a208 /* 0285A208 */ cpu->r[3] = 0x00000018u; /* 0285A20C */ Gambit_fn_02801A78(cpu); /* 0285A210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A214 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A214 */ _t4 = _t3 & 0x00000001u; /* 0285A214 */ if (_t4) goto L_0285A248; else goto L_0285A218; L_0285A218: ; // 0x285a218 /* 0285A218 */ cpu->r[11] = 0x00000000u; /* 0285A21C */ cpu->r[12] = 0x10130000u; /* 0285A220 */ _t5 = cpu->r[3] + 0x00000004u; /* 0285A220 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 0285A224 */ cpu->r[0] = 0x10130000u; /* 0285A228 */ _t6 = cpu->r[12] + 0x000049D4u; /* 0285A228 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6); /* 0285A22C */ cpu->r[12] = 0x00000001u; /* 0285A230 */ _t7 = cpu->r[3] + 0x00000000u; /* 0285A230 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]); /* 0285A234 */ cpu->r[0] = cpu->r[0] + 0x000049ECu; /* 0285A238 */ _t8 = cpu->r[3] + 0x00000008u; /* 0285A238 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]); /* 0285A23C */ _t9 = cpu->r[3] + 0x00000010u; /* 0285A23C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]); /* 0285A240 */ _t10 = cpu->r[3] + 0x00000014u; /* 0285A240 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0285A244 */ _t11 = cpu->r[3] + 0x0000000Cu; /* 0285A244 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); L_0285A248: ; // 0x285a248 /* 0285A248 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0285A248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285A24C */ cpu->lr = cpu->r[0]; /* 0285A250 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285A254 */ return; } // fn_0285A258 @ 0x285a258 void Gambit_fn_0285A258(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02801B30: ; // 0x2801b30 /* 02801B30 */ cpu->r[0] = cpu->lr; /* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02801B34 */ cpu->r[1] = _t0; /* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02801B3C */ cpu->r[31] = cpu->r[3]; /* 02801B40 */ cpu->r[3] = 0x101D0000u; /* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u; /* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u; /* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B50 */ _t5 = _t4 & 0x00000001u; /* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70; L_02801B54: ; // 0x2801b54 /* 02801B54 */ cpu->r[3] = cpu->r[31]; /* 02801B58 */ Gambit_fn_02801B20(cpu); /* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u; /* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02801B64 */ cpu->lr = cpu->r[0]; /* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801B6C */ return; L_02801B70: ; // 0x2801b70 /* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B74 */ _t9 = _t8 & 0x00000001u; /* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78; L_02801B78: ; // 0x2801b78 /* 02801B78 */ cpu->r[4] = cpu->r[31]; /* 02801B7C */ Gambit_fn_02826B90(cpu); /* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B84 */ _t11 = _t10 & 0x00000001u; /* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88; L_02801B88: ; // 0x2801b88 /* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu; /* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02801B90 */ cpu->ctr = cpu->r[0]; /* 02801B94 */ cpu->r[4] = cpu->r[31]; /* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr); L_02801B9C: ; // 0x2801b9c /* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u; /* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02801BA4 */ cpu->lr = cpu->r[0]; /* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801BAC */ return; L_02801BB0: ; // 0x2801bb0 /* 02801BB0 */ goto L_02801B30; L_0285A258: ; // 0x285a258 /* 0285A258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A25C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A25C */ _t17 = _t16 & 0x00000001u; /* 0285A25C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285A25C */ goto L_0285A260; L_0285A260: ; // 0x285a260 /* 0285A260 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285A260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285A264 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A264 */ _t19 = _t18 & 0x00000001u; /* 0285A264 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285A264 */ goto L_0285A268; L_0285A268: ; // 0x285a268 /* 0285A268 */ goto L_02801BB0; } // fn_0285A26C @ 0x285a26c void Gambit_fn_0285A26C(CPUState* cpu) { uint32_t _t0, _t1; L_0285A26C: ; // 0x285a26c /* 0285A26C */ _t0 = cpu->r[3] + 0x00000008u; /* 0285A26C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0285A270 */ _t1 = cpu->r[12] + 0x00000008u; /* 0285A270 */ cpu->r[3] = rbrew_read16(cpu->mem, _t1); /* 0285A274 */ return; } // fn_0285A278 @ 0x285a278 void Gambit_fn_0285A278(CPUState* cpu) { L_0285A278: ; // 0x285a278 /* 0285A278 */ return; } // fn_0285A27C @ 0x285a27c void Gambit_fn_0285A27C(CPUState* cpu) { uint32_t _t0; L_0285A27C: ; // 0x285a27c /* 0285A27C */ _t0 = cpu->r[3] + 0x00000010u; /* 0285A27C */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]); /* 0285A280 */ return; } // fn_0285A284 @ 0x285a284 void Gambit_fn_0285A284(CPUState* cpu) { uint32_t _t0, _t1; L_0285A284: ; // 0x285a284 /* 0285A284 */ _t0 = cpu->r[3] + 0x00000008u; /* 0285A284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0285A288 */ _t1 = cpu->r[12] + 0x00000008u; /* 0285A288 */ cpu->r[0] = rbrew_read16(cpu->mem, _t1); /* 0285A28C */ cpu->r[0] = rbrew_clz32(cpu->r[0]); /* 0285A290 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285A294 */ return; } // fn_0285A298 @ 0x285a298 void Gambit_fn_0285A298(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0285A298: ; // 0x285a298 /* 0285A298 */ cpu->r[0] = cpu->lr; /* 0285A29C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285A29C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285A29C */ cpu->r[1] = _t0; /* 0285A2A0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285A2A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285A2A4 */ cpu->r[31] = cpu->r[3]; /* 0285A2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A2A8 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285A2A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285A2AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A2AC */ _t4 = _t3 & 0x00000001u; /* 0285A2AC */ if (_t4) goto L_0285A2B0; else goto L_0285A2C0; L_0285A2B0: ; // 0x285a2b0 /* 0285A2B0 */ cpu->r[3] = 0x00000024u; /* 0285A2B4 */ Gambit_fn_02801A78(cpu); /* 0285A2B8 */ cpu->r[31] = cpu->r[3]; /* 0285A2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A2BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A2BC */ _t6 = _t5 & 0x00000001u; /* 0285A2BC */ if (_t6) goto L_0285A2E8; else goto L_0285A2C0; L_0285A2C0: ; // 0x285a2c0 /* 0285A2C0 */ cpu->r[3] = cpu->r[31]; /* 0285A2C4 */ Gambit_fn_0285A1F4(cpu); /* 0285A2C8 */ cpu->r[12] = 0x10130000u; /* 0285A2CC */ cpu->r[0] = 0x00000000u; /* 0285A2D0 */ cpu->r[12] = cpu->r[12] + 0x00004A7Cu; /* 0285A2D4 */ _t7 = cpu->r[31] + 0x00000018u; /* 0285A2D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285A2D8 */ _t8 = cpu->r[31] + 0x00000014u; /* 0285A2D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 0285A2DC */ _t9 = cpu->r[31] + 0x00000020u; /* 0285A2DC */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[0]); /* 0285A2E0 */ _t10 = cpu->r[31] + 0x00000022u; /* 0285A2E0 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]); /* 0285A2E4 */ _t11 = cpu->r[31] + 0x0000001Cu; /* 0285A2E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); L_0285A2E8: ; // 0x285a2e8 /* 0285A2E8 */ _t12 = cpu->r[1] + 0x00000014u; /* 0285A2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285A2EC */ cpu->r[3] = cpu->r[31]; /* 0285A2F0 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0285A2F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285A2F4 */ cpu->lr = cpu->r[0]; /* 0285A2F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285A2FC */ return; } // fn_0285A29C @ 0x285a29c void Gambit_fn_0285A29C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0285A29C: ; // 0x285a29c /* 0285A29C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285A29C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285A29C */ cpu->r[1] = _t0; /* 0285A2A0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285A2A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285A2A4 */ cpu->r[31] = cpu->r[3]; /* 0285A2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A2A8 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285A2A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285A2AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A2AC */ _t4 = _t3 & 0x00000001u; /* 0285A2AC */ if (_t4) goto L_0285A2B0; else goto L_0285A2C0; L_0285A2B0: ; // 0x285a2b0 /* 0285A2B0 */ cpu->r[3] = 0x00000024u; /* 0285A2B4 */ Gambit_fn_02801A78(cpu); /* 0285A2B8 */ cpu->r[31] = cpu->r[3]; /* 0285A2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A2BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A2BC */ _t6 = _t5 & 0x00000001u; /* 0285A2BC */ if (_t6) goto L_0285A2E8; else goto L_0285A2C0; L_0285A2C0: ; // 0x285a2c0 /* 0285A2C0 */ cpu->r[3] = cpu->r[31]; /* 0285A2C4 */ Gambit_fn_0285A1F4(cpu); /* 0285A2C8 */ cpu->r[12] = 0x10130000u; /* 0285A2CC */ cpu->r[0] = 0x00000000u; /* 0285A2D0 */ cpu->r[12] = cpu->r[12] + 0x00004A7Cu; /* 0285A2D4 */ _t7 = cpu->r[31] + 0x00000018u; /* 0285A2D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285A2D8 */ _t8 = cpu->r[31] + 0x00000014u; /* 0285A2D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 0285A2DC */ _t9 = cpu->r[31] + 0x00000020u; /* 0285A2DC */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[0]); /* 0285A2E0 */ _t10 = cpu->r[31] + 0x00000022u; /* 0285A2E0 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]); /* 0285A2E4 */ _t11 = cpu->r[31] + 0x0000001Cu; /* 0285A2E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); L_0285A2E8: ; // 0x285a2e8 /* 0285A2E8 */ _t12 = cpu->r[1] + 0x00000014u; /* 0285A2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285A2EC */ cpu->r[3] = cpu->r[31]; /* 0285A2F0 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0285A2F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285A2F4 */ cpu->lr = cpu->r[0]; /* 0285A2F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285A2FC */ return; } // fn_0285A300 @ 0x285a300 void Gambit_fn_0285A300(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_0285A300: ; // 0x285a300 /* 0285A300 */ cpu->r[0] = cpu->lr; /* 0285A304 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285A304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285A304 */ cpu->r[1] = _t0; /* 0285A308 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285A308 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285A30C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285A30C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285A310 */ cpu->r[31] = cpu->r[3]; /* 0285A310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A314 */ cpu->r[30] = cpu->r[4]; /* 0285A318 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285A318 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285A31C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A31C */ _t5 = _t4 & 0x00000001u; /* 0285A31C */ if (_t5) goto L_0285A35C; else goto L_0285A320; L_0285A320: ; // 0x285a320 /* 0285A320 */ _t6 = cpu->r[31] + 0x0000001Cu; /* 0285A320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0285A324 */ cpu->r[0] = 0x10130000u; /* 0285A328 */ cpu->r[0] = cpu->r[0] + 0x00004A7Cu; /* 0285A32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A330 */ _t7 = cpu->r[31] + 0x00000014u; /* 0285A330 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285A334 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A334 */ _t9 = _t8 & 0x00000001u; /* 0285A334 */ if (_t9) goto L_0285A33C; else goto L_0285A338; L_0285A338: ; // 0x285a338 /* 0285A338 */ Gambit_fn_02869EAC(cpu); L_0285A33C: ; // 0x285a33c /* 0285A33C */ _t10 = cpu->r[31] + 0x00000018u; /* 0285A33C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0285A340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A344 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A344 */ _t12 = _t11 & 0x00000001u; /* 0285A344 */ if (_t12) goto L_0285A34C; else goto L_0285A348; L_0285A348: ; // 0x285a348 /* 0285A348 */ Gambit_fn_02869EAC(cpu); L_0285A34C: ; // 0x285a34c /* 0285A34C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285A34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285A350 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A350 */ _t14 = _t13 & 0x00000001u; /* 0285A350 */ if (_t14) goto L_0285A35C; else goto L_0285A354; L_0285A354: ; // 0x285a354 /* 0285A354 */ cpu->r[3] = cpu->r[31]; /* 0285A358 */ Gambit_fn_02801BB0(cpu); L_0285A35C: ; // 0x285a35c /* 0285A35C */ _t15 = cpu->r[1] + 0x00000014u; /* 0285A35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0285A360 */ _t16 = cpu->r[1] + 0x00000008u; /* 0285A360 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 0285A364 */ cpu->lr = cpu->r[0]; /* 0285A368 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0285A368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 0285A36C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285A370 */ return; } // fn_0285A304 @ 0x285a304 void Gambit_fn_0285A304(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_0285A304: ; // 0x285a304 /* 0285A304 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285A304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285A304 */ cpu->r[1] = _t0; /* 0285A308 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285A308 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285A30C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285A30C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285A310 */ cpu->r[31] = cpu->r[3]; /* 0285A310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A314 */ cpu->r[30] = cpu->r[4]; /* 0285A318 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285A318 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285A31C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A31C */ _t5 = _t4 & 0x00000001u; /* 0285A31C */ if (_t5) goto L_0285A35C; else goto L_0285A320; L_0285A320: ; // 0x285a320 /* 0285A320 */ _t6 = cpu->r[31] + 0x0000001Cu; /* 0285A320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0285A324 */ cpu->r[0] = 0x10130000u; /* 0285A328 */ cpu->r[0] = cpu->r[0] + 0x00004A7Cu; /* 0285A32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A330 */ _t7 = cpu->r[31] + 0x00000014u; /* 0285A330 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285A334 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A334 */ _t9 = _t8 & 0x00000001u; /* 0285A334 */ if (_t9) goto L_0285A33C; else goto L_0285A338; L_0285A338: ; // 0x285a338 /* 0285A338 */ Gambit_fn_02869EAC(cpu); L_0285A33C: ; // 0x285a33c /* 0285A33C */ _t10 = cpu->r[31] + 0x00000018u; /* 0285A33C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0285A340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A344 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A344 */ _t12 = _t11 & 0x00000001u; /* 0285A344 */ if (_t12) goto L_0285A34C; else goto L_0285A348; L_0285A348: ; // 0x285a348 /* 0285A348 */ Gambit_fn_02869EAC(cpu); L_0285A34C: ; // 0x285a34c /* 0285A34C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285A34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285A350 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A350 */ _t14 = _t13 & 0x00000001u; /* 0285A350 */ if (_t14) goto L_0285A35C; else goto L_0285A354; L_0285A354: ; // 0x285a354 /* 0285A354 */ cpu->r[3] = cpu->r[31]; /* 0285A358 */ Gambit_fn_02801BB0(cpu); L_0285A35C: ; // 0x285a35c /* 0285A35C */ _t15 = cpu->r[1] + 0x00000014u; /* 0285A35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0285A360 */ _t16 = cpu->r[1] + 0x00000008u; /* 0285A360 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 0285A364 */ cpu->lr = cpu->r[0]; /* 0285A368 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0285A368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 0285A36C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285A370 */ return; } // fn_0285A374 @ 0x285a374 void Gambit_fn_0285A374(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27; L_0285A374: ; // 0x285a374 /* 0285A374 */ cpu->r[0] = cpu->lr; /* 0285A378 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285A378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285A378 */ cpu->r[1] = _t0; /* 0285A37C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285A37C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0285A380 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285A380 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285A384 */ _t3 = cpu->r[1] + 0x00000010u; /* 0285A384 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0285A388 */ cpu->r[31] = cpu->r[3]; /* 0285A38C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285A38C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285A390 */ _t5 = cpu->r[31] + 0x00000010u; /* 0285A390 */ cpu->r[7] = rbrew_read8(cpu->mem, _t5); /* 0285A394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285A398 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A398 */ _t7 = _t6 & 0x00000001u; /* 0285A398 */ if (_t7) goto L_0285A404; else goto L_0285A39C; L_0285A39C: ; // 0x285a39c /* 0285A39C */ _t8 = cpu->r[31] + 0x00000020u; /* 0285A39C */ cpu->r[29] = rbrew_read16(cpu->mem, _t8); /* 0285A3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285A3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A3A4 */ _t10 = _t9 & 0x00000001u; /* 0285A3A4 */ if (_t10) goto L_0285A404; else goto L_0285A3A8; L_0285A3A8: ; // 0x285a3a8 /* 0285A3A8 */ cpu->r[30] = 0x00000000u; L_0285A3AC: ; // 0x285a3ac /* 0285A3AC */ _t11 = cpu->r[31] + 0x0000001Cu; /* 0285A3AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 0285A3B0 */ cpu->r[8] = cpu->r[9] + cpu->r[30]; /* 0285A3B4 */ _t12 = cpu->r[8] + 0x00000004u; /* 0285A3B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12); /* 0285A3B8 */ _t13 = cpu->r[5] + 0x0000001Du; /* 0285A3B8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13); /* 0285A3BC */ cpu->r[3] = cpu->r[31]; /* 0285A3C0 */ _t14 = cpu->r[31] + 0x00000014u; /* 0285A3C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 0285A3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285A3C8 */ _t15 = cpu->r[8] + 0x00000000u; /* 0285A3C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15); /* 0285A3CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A3CC */ _t17 = _t16 & 0x00000001u; /* 0285A3CC */ if (_t17) goto L_0285A3D0; else goto L_0285A3EC; L_0285A3D0: ; // 0x285a3d0 /* 0285A3D0 */ _t18 = cpu->r[12] + 0x00000094u; /* 0285A3D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0285A3D4 */ cpu->ctr = cpu->r[0]; /* 0285A3D8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285A3DC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 0285A3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285A3E0 */ cpu->r[30] = cpu->r[30] + 0x00000008u; /* 0285A3E4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A3E4 */ _t20 = _t19 & 0x00000001u; /* 0285A3E4 */ if (_t20) goto L_0285A3E8; else goto L_0285A3AC; L_0285A3E8: ; // 0x285a3e8 /* 0285A3E8 */ goto L_0285A404; L_0285A3EC: ; // 0x285a3ec /* 0285A3EC */ _t21 = cpu->r[12] + 0x0000009Cu; /* 0285A3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0285A3F0 */ cpu->ctr = cpu->r[0]; /* 0285A3F4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285A3F8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 0285A3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285A3FC */ cpu->r[30] = cpu->r[30] + 0x00000008u; /* 0285A400 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A400 */ _t23 = _t22 & 0x00000001u; /* 0285A400 */ if (_t23) goto L_0285A404; else goto L_0285A3AC; L_0285A404: ; // 0x285a404 /* 0285A404 */ _t24 = cpu->r[1] + 0x0000000Cu; /* 0285A404 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 0285A408 */ _t25 = cpu->r[1] + 0x0000001Cu; /* 0285A408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 0285A40C */ _t26 = cpu->r[1] + 0x00000010u; /* 0285A40C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 0285A410 */ cpu->lr = cpu->r[0]; /* 0285A414 */ _t27 = cpu->r[1] + 0x00000014u; /* 0285A414 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 0285A418 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285A41C */ return; } // fn_0285A378 @ 0x285a378 void Gambit_fn_0285A378(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27; L_0285A378: ; // 0x285a378 /* 0285A378 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285A378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285A378 */ cpu->r[1] = _t0; /* 0285A37C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285A37C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0285A380 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285A380 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285A384 */ _t3 = cpu->r[1] + 0x00000010u; /* 0285A384 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0285A388 */ cpu->r[31] = cpu->r[3]; /* 0285A38C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285A38C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285A390 */ _t5 = cpu->r[31] + 0x00000010u; /* 0285A390 */ cpu->r[7] = rbrew_read8(cpu->mem, _t5); /* 0285A394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285A398 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A398 */ _t7 = _t6 & 0x00000001u; /* 0285A398 */ if (_t7) goto L_0285A404; else goto L_0285A39C; L_0285A39C: ; // 0x285a39c /* 0285A39C */ _t8 = cpu->r[31] + 0x00000020u; /* 0285A39C */ cpu->r[29] = rbrew_read16(cpu->mem, _t8); /* 0285A3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285A3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A3A4 */ _t10 = _t9 & 0x00000001u; /* 0285A3A4 */ if (_t10) goto L_0285A404; else goto L_0285A3A8; L_0285A3A8: ; // 0x285a3a8 /* 0285A3A8 */ cpu->r[30] = 0x00000000u; L_0285A3AC: ; // 0x285a3ac /* 0285A3AC */ _t11 = cpu->r[31] + 0x0000001Cu; /* 0285A3AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 0285A3B0 */ cpu->r[8] = cpu->r[9] + cpu->r[30]; /* 0285A3B4 */ _t12 = cpu->r[8] + 0x00000004u; /* 0285A3B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12); /* 0285A3B8 */ _t13 = cpu->r[5] + 0x0000001Du; /* 0285A3B8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13); /* 0285A3BC */ cpu->r[3] = cpu->r[31]; /* 0285A3C0 */ _t14 = cpu->r[31] + 0x00000014u; /* 0285A3C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 0285A3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285A3C8 */ _t15 = cpu->r[8] + 0x00000000u; /* 0285A3C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15); /* 0285A3CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A3CC */ _t17 = _t16 & 0x00000001u; /* 0285A3CC */ if (_t17) goto L_0285A3D0; else goto L_0285A3EC; L_0285A3D0: ; // 0x285a3d0 /* 0285A3D0 */ _t18 = cpu->r[12] + 0x00000094u; /* 0285A3D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0285A3D4 */ cpu->ctr = cpu->r[0]; /* 0285A3D8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285A3DC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 0285A3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285A3E0 */ cpu->r[30] = cpu->r[30] + 0x00000008u; /* 0285A3E4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A3E4 */ _t20 = _t19 & 0x00000001u; /* 0285A3E4 */ if (_t20) goto L_0285A3E8; else goto L_0285A3AC; L_0285A3E8: ; // 0x285a3e8 /* 0285A3E8 */ goto L_0285A404; L_0285A3EC: ; // 0x285a3ec /* 0285A3EC */ _t21 = cpu->r[12] + 0x0000009Cu; /* 0285A3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0285A3F0 */ cpu->ctr = cpu->r[0]; /* 0285A3F4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285A3F8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 0285A3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285A3FC */ cpu->r[30] = cpu->r[30] + 0x00000008u; /* 0285A400 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A400 */ _t23 = _t22 & 0x00000001u; /* 0285A400 */ if (_t23) goto L_0285A404; else goto L_0285A3AC; L_0285A404: ; // 0x285a404 /* 0285A404 */ _t24 = cpu->r[1] + 0x0000000Cu; /* 0285A404 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 0285A408 */ _t25 = cpu->r[1] + 0x0000001Cu; /* 0285A408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 0285A40C */ _t26 = cpu->r[1] + 0x00000010u; /* 0285A40C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 0285A410 */ cpu->lr = cpu->r[0]; /* 0285A414 */ _t27 = cpu->r[1] + 0x00000014u; /* 0285A414 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 0285A418 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285A41C */ return; } // fn_0285A420 @ 0x285a420 void Gambit_fn_0285A420(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0285A420: ; // 0x285a420 /* 0285A420 */ _t0 = cpu->r[3] + 0x00000014u; /* 0285A420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0285A424 */ _t1 = cpu->r[12] + 0x0000004Cu; /* 0285A424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 0285A428 */ cpu->ctr = cpu->r[0]; /* 0285A42C */ _t2 = cpu->r[4] + 0x0000000Eu; /* 0285A42C */ cpu->r[6] = rbrew_read16(cpu->mem, _t2); /* 0285A430 */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_0285A434 @ 0x285a434 void Gambit_fn_0285A434(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51; L_0285A434: ; // 0x285a434 /* 0285A434 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0285A434 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285A434 */ cpu->r[1] = _t0; /* 0285A438 */ /* nop */ /* 0285A43C */ cpu->r[0] = cpu->lr; /* 0285A440 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0285A440 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285A444 */ cpu->r[29] = cpu->r[3]; /* 0285A448 */ cpu->r[27] = cpu->r[4]; /* 0285A44C */ _t2 = cpu->r[29] + 0x00000008u; /* 0285A44C */ rbrew_write32(cpu->mem, _t2, cpu->r[27]); /* 0285A450 */ cpu->r[0] = 0x00000000u; /* 0285A454 */ _t3 = cpu->r[29] + 0x00000018u; /* 0285A454 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285A458 */ _t4 = cpu->r[27] + 0x0000000Cu; /* 0285A458 */ cpu->r[31] = rbrew_read16(cpu->mem, _t4); /* 0285A45C */ cpu->r[28] = cpu->r[5]; /* 0285A460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A464 */ cpu->r[30] = cpu->r[6]; /* 0285A468 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A468 */ _t6 = _t5 & 0x00000001u; /* 0285A468 */ if (_t6) goto L_0285A528; else goto L_0285A46C; L_0285A46C: ; // 0x285a46c /* 0285A46C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285A470 */ cpu->r[4] = 0x00000004u; /* 0285A474 */ Gambit_fn_02869E8C(cpu); /* 0285A478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A47C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A47C */ _t8 = _t7 & 0x00000001u; /* 0285A47C */ if (_t8) goto L_0285A480; else goto L_0285A4A4; L_0285A480: ; // 0x285a480 /* 0285A480 */ cpu->r[3] = 0x00000000u; /* 0285A484 */ cpu->r[31] = cpu->r[30]; /* 0285A488 */ cpu->r[4] = 0x00000004u; /* 0285A48C */ _t9 = cpu->r[29] + 0x00000018u; /* 0285A48C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]); /* 0285A490 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285A494 */ Gambit_fn_02869E8C(cpu); /* 0285A498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A49C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A49C */ _t11 = _t10 & 0x00000001u; /* 0285A49C */ if (_t11) goto L_0285A4A0; else goto L_0285A55C; L_0285A4A0: ; // 0x285a4a0 /* 0285A4A0 */ goto L_0285A540; L_0285A4A4: ; // 0x285a4a4 /* 0285A4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A4A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A4A8 */ _t13 = _t12 & 0x00000001u; /* 0285A4A8 */ if (_t13) goto L_0285A4CC; else goto L_0285A4AC; L_0285A4AC: ; // 0x285a4ac /* 0285A4AC */ cpu->ctr = cpu->r[31]; /* 0285A4B0 */ cpu->r[12] = cpu->r[3]; /* 0285A4B4 */ cpu->r[0] = 0x00000000u; L_0285A4B8: ; // 0x285a4b8 /* 0285A4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285A4BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A4BC */ _t15 = _t14 & 0x00000001u; /* 0285A4BC */ if (_t15) goto L_0285A4C4; else goto L_0285A4C0; L_0285A4C0: ; // 0x285a4c0 /* 0285A4C0 */ _t16 = cpu->r[12] + 0x00000000u; /* 0285A4C0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); L_0285A4C4: ; // 0x285a4c4 /* 0285A4C4 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 0285A4C8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285A4C8 */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285A4C8 */ _t18 = _t17 >> (0x00000002u & 31u); /* 0285A4C8 */ _t19 = _t18 & 0x00000001u; /* 0285A4C8 */ if (_t19) goto L_0285A4B8; else goto L_0285A4CC; L_0285A4CC: ; // 0x285a4cc /* 0285A4CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A4D0 */ _t20 = cpu->r[29] + 0x00000018u; /* 0285A4D0 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]); /* 0285A4D4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A4D4 */ _t22 = _t21 & 0x00000001u; /* 0285A4D4 */ if (_t22) goto L_0285A528; else goto L_0285A4D8; L_0285A4D8: ; // 0x285a4d8 /* 0285A4D8 */ _t23 = cpu->r[27] + 0x0000000Cu; /* 0285A4D8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t23); /* 0285A4DC */ cpu->r[31] = 0x00000000u; /* 0285A4E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]); /* 0285A4E4 */ cpu->r[26] = cpu->r[27] + 0x00000014u; /* 0285A4E8 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A4E8 */ _t25 = _t24 & 0x00000001u; /* 0285A4E8 */ if (_t25) goto L_0285A4EC; else goto L_0285A528; L_0285A4EC: ; // 0x285a4ec /* 0285A4EC */ cpu->r[24] = 0x00000000u; L_0285A4F0: ; // 0x285a4f0 /* 0285A4F0 */ _t26 = cpu->r[26] + cpu->r[24]; /* 0285A4F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0285A4F4 */ _t27 = cpu->r[28] + 0x00000000u; /* 0285A4F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27); /* 0285A4F8 */ cpu->r[4] = cpu->r[26] + cpu->r[0]; /* 0285A4FC */ _t28 = cpu->r[6] + 0x0000002Cu; /* 0285A4FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 0285A500 */ cpu->ctr = cpu->r[0]; /* 0285A504 */ _t29 = cpu->r[29] + 0x00000018u; /* 0285A504 */ cpu->r[25] = rbrew_read32(cpu->mem, _t29); /* 0285A508 */ cpu->r[3] = cpu->r[28]; /* 0285A50C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285A510 */ _t30 = cpu->r[25] + cpu->r[24]; /* 0285A510 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]); /* 0285A514 */ _t31 = cpu->r[27] + 0x0000000Cu; /* 0285A514 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 0285A518 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 0285A51C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]); /* 0285A520 */ cpu->r[24] = cpu->r[24] + 0x00000004u; /* 0285A524 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A524 */ _t33 = _t32 & 0x00000001u; /* 0285A524 */ if (_t33) goto L_0285A4F0; else goto L_0285A528; L_0285A528: ; // 0x285a528 /* 0285A528 */ cpu->r[31] = cpu->r[30]; /* 0285A52C */ cpu->r[4] = 0x00000004u; /* 0285A530 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285A534 */ Gambit_fn_02869E8C(cpu); /* 0285A538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A53C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A53C */ _t35 = _t34 & 0x00000001u; /* 0285A53C */ if (_t35) goto L_0285A540; else goto L_0285A55C; L_0285A540: ; // 0x285a540 /* 0285A540 */ cpu->r[3] = 0x00000000u; /* 0285A544 */ _t36 = cpu->r[29] + 0x0000001Cu; /* 0285A544 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]); /* 0285A548 */ /* nop */ /* 0285A54C */ _t37 = cpu->r[1] + 0x0000002Cu; /* 0285A54C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0285A550 */ cpu->lr = cpu->r[0]; /* 0285A554 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285A558 */ return; L_0285A55C: ; // 0x285a55c /* 0285A55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A560 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A560 */ _t39 = _t38 & 0x00000001u; /* 0285A560 */ if (_t39) goto L_0285A588; else goto L_0285A564; L_0285A564: ; // 0x285a564 /* 0285A564 */ cpu->ctr = cpu->r[31]; /* 0285A568 */ cpu->r[11] = cpu->r[3]; /* 0285A56C */ cpu->r[0] = 0x00000000u; L_0285A570: ; // 0x285a570 /* 0285A570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285A574 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A574 */ _t41 = _t40 & 0x00000001u; /* 0285A574 */ if (_t41) goto L_0285A580; else goto L_0285A578; L_0285A578: ; // 0x285a578 /* 0285A578 */ _t42 = cpu->r[11] + 0x00000004u; /* 0285A578 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]); /* 0285A57C */ _t43 = cpu->r[11] + 0x00000000u; /* 0285A57C */ rbrew_write32(cpu->mem, _t43, cpu->r[0]); L_0285A580: ; // 0x285a580 /* 0285A580 */ cpu->r[11] = cpu->r[11] + 0x00000008u; /* 0285A584 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285A584 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285A584 */ _t45 = _t44 >> (0x00000002u & 31u); /* 0285A584 */ _t46 = _t45 & 0x00000001u; /* 0285A584 */ if (_t46) goto L_0285A570; else goto L_0285A588; L_0285A588: ; // 0x285a588 /* 0285A588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A58C */ _t47 = cpu->r[29] + 0x0000001Cu; /* 0285A58C */ rbrew_write32(cpu->mem, _t47, cpu->r[3]); /* 0285A590 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A590 */ _t49 = _t48 & 0x00000001u; /* 0285A590 */ if (_t49) goto L_0285A598; else goto L_0285A594; L_0285A594: ; // 0x285a594 /* 0285A594 */ _t50 = cpu->r[29] + 0x00000022u; /* 0285A594 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[30]); L_0285A598: ; // 0x285a598 /* 0285A598 */ /* nop */ /* 0285A59C */ _t51 = cpu->r[1] + 0x0000002Cu; /* 0285A59C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 0285A5A0 */ cpu->lr = cpu->r[0]; /* 0285A5A4 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285A5A8 */ return; } // fn_0285A5AC @ 0x285a5ac void Gambit_fn_0285A5AC(CPUState* cpu) { L_0285A5AC: ; // 0x285a5ac /* 0285A5AC */ cpu->r[3] = 0x00000000u; /* 0285A5B0 */ return; } // fn_0285A5B4 @ 0x285a5b4 void Gambit_fn_0285A5B4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0285A5B4: ; // 0x285a5b4 /* 0285A5B4 */ _t0 = cpu->r[3] + 0x00000020u; /* 0285A5B4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t0); /* 0285A5B8 */ _t1 = cpu->r[3] + 0x00000022u; /* 0285A5B8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t1); /* 0285A5BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]); /* 0285A5C0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A5C0 */ _t3 = _t2 & 0x00000001u; /* 0285A5C0 */ if (_t3) goto L_0285A5CC; else goto L_0285A5C4; L_0285A5C4: ; // 0x285a5c4 /* 0285A5C4 */ cpu->r[3] = 0x00000000u; /* 0285A5C8 */ return; L_0285A5CC: ; // 0x285a5cc /* 0285A5CC */ _t4 = cpu->r[3] + 0x0000001Cu; /* 0285A5CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0285A5D0 */ cpu->r[0] = cpu->r[11] + 0x00000001u; /* 0285A5D4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285A5D8 */ _t5 = cpu->r[3] + 0x00000020u; /* 0285A5D8 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[0]); /* 0285A5DC */ cpu->r[9] = cpu->r[12] + cpu->r[10]; /* 0285A5E0 */ _t6 = cpu->r[12] + cpu->r[10]; /* 0285A5E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]); /* 0285A5E4 */ cpu->r[3] = 0x00000001u; /* 0285A5E8 */ _t7 = cpu->r[9] + 0x00000004u; /* 0285A5E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]); /* 0285A5EC */ return; } // fn_0285A5F0 @ 0x285a5f0 void Gambit_fn_0285A5F0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102; L_0285A5F0: ; // 0x285a5f0 /* 0285A5F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285A5F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285A5F0 */ cpu->r[1] = _t0; /* 0285A5F4 */ /* nop */ /* 0285A5F8 */ _t1 = cpu->r[3] + 0x00000022u; /* 0285A5F8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t1); /* 0285A5FC */ _t2 = cpu->r[3] + 0x00000020u; /* 0285A5FC */ cpu->r[9] = rbrew_read16(cpu->mem, _t2); /* 0285A600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]); /* 0285A604 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A604 */ _t4 = _t3 & 0x00000001u; /* 0285A604 */ if (_t4) goto L_0285A618; else goto L_0285A608; L_0285A608: ; // 0x285a608 /* 0285A608 */ /* nop */ /* 0285A60C */ cpu->r[3] = 0x00000000u; /* 0285A610 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285A614 */ return; L_0285A618: ; // 0x285a618 /* 0285A618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285A61C */ cpu->r[29] = 0x00000001u; /* 0285A620 */ cpu->r[12] = cpu->r[5] + 0x00000020u; /* 0285A624 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A624 */ _t6 = _t5 & 0x00000001u; /* 0285A624 */ if (_t6) goto L_0285A834; else goto L_0285A628; L_0285A628: ; // 0x285a628 /* 0285A628 */ _t7 = cpu->r[5] + 0x0000001Cu; /* 0285A628 */ cpu->r[6] = rbrew_read8(cpu->mem, _t7); /* 0285A62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285A630 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A630 */ _t9 = _t8 & 0x00000001u; /* 0285A630 */ if (_t9) goto L_0285A834; else goto L_0285A634; L_0285A634: ; // 0x285a634 /* 0285A634 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFCu; L_0285A638: ; // 0x285a638 /* 0285A638 */ _t10 = cpu->r[8] + 0x00000004u; /* 0285A638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 0285A638 */ cpu->r[8] = _t10; /* 0285A63C */ cpu->r[30] = cpu->r[5] + cpu->r[12]; /* 0285A640 */ _t11 = cpu->r[30] + 0x00000004u; /* 0285A640 */ cpu->r[31] = rbrew_read8(cpu->mem, _t11); /* 0285A644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A648 */ cpu->r[11] = cpu->r[30] + 0x00000008u; /* 0285A64C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A64C */ _t13 = _t12 & 0x00000001u; /* 0285A64C */ if (_t13) goto L_0285A824; else goto L_0285A650; L_0285A650: ; // 0x285a650 /* 0285A650 */ _t14 = cpu->r[30] + 0x00000000u; /* 0285A650 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 0285A654 */ cpu->r[7] = cpu->r[11] + 0xFFFFFFFCu; L_0285A658: ; // 0x285a658 /* 0285A658 */ cpu->r[11] = 0x464C0000u; /* 0285A65C */ _t15 = cpu->r[7] + 0x00000004u; /* 0285A65C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15); /* 0285A65C */ cpu->r[7] = _t15; /* 0285A660 */ cpu->r[11] = cpu->r[11] + 0x00004D43u; /* 0285A664 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]); /* 0285A668 */ cpu->r[27] = cpu->r[30] + cpu->r[10]; /* 0285A66C */ _t16 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A66C */ _t17 = _t16 & 0x00000001u; /* 0285A66C */ if (_t17) goto L_0285A670; else goto L_0285A6AC; L_0285A670: ; // 0x285a670 /* 0285A670 */ cpu->r[11] = 0x464C0000u; /* 0285A674 */ cpu->r[11] = cpu->r[11] + 0x00004143u; /* 0285A678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]); /* 0285A67C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A67C */ _t19 = _t18 & 0x00000001u; /* 0285A67C */ if (_t19) goto L_0285A7CC; else goto L_0285A680; L_0285A680: ; // 0x285a680 /* 0285A680 */ cpu->r[11] = 0x464C0000u; /* 0285A684 */ cpu->r[11] = cpu->r[11] + 0x00004653u; /* 0285A688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]); /* 0285A68C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A68C */ _t21 = _t20 & 0x00000001u; /* 0285A68C */ if (_t21) goto L_0285A7EC; else goto L_0285A690; L_0285A690: ; // 0x285a690 /* 0285A690 */ cpu->r[11] = 0x464C0000u; /* 0285A694 */ cpu->r[11] = cpu->r[11] + 0x0000494Du; /* 0285A698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]); /* 0285A69C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A69C */ _t23 = _t22 & 0x00000001u; /* 0285A69C */ if (_t23) goto L_0285A7AC; else goto L_0285A6A0; L_0285A6A0: ; // 0x285a6a0 /* 0285A6A0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0285A6A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A6A4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A6A4 */ _t25 = _t24 & 0x00000001u; /* 0285A6A4 */ if (_t25) goto L_0285A6A8; else goto L_0285A658; L_0285A6A8: ; // 0x285a6a8 /* 0285A6A8 */ goto L_0285A824; L_0285A6AC: ; // 0x285a6ac /* 0285A6AC */ cpu->r[11] = 0x464C0000u; /* 0285A6B0 */ cpu->r[11] = cpu->r[11] + 0x00004D43u; /* 0285A6B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]); /* 0285A6B8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A6B8 */ _t27 = _t26 & 0x00000001u; /* 0285A6B8 */ if (_t27) goto L_0285A6E8; else goto L_0285A6BC; L_0285A6BC: ; // 0x285a6bc /* 0285A6BC */ cpu->r[11] = 0x464C0000u; /* 0285A6C0 */ cpu->r[11] = cpu->r[11] + 0x00005450u; /* 0285A6C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]); /* 0285A6C8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A6C8 */ _t29 = _t28 & 0x00000001u; /* 0285A6C8 */ if (_t29) goto L_0285A72C; else goto L_0285A6CC; L_0285A6CC: ; // 0x285a6cc /* 0285A6CC */ cpu->r[11] = 0x464C0000u; /* 0285A6D0 */ cpu->r[11] = cpu->r[11] + 0x00005453u; /* 0285A6D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]); /* 0285A6D8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A6D8 */ _t31 = _t30 & 0x00000001u; /* 0285A6D8 */ if (_t31) goto L_0285A6F8; else goto L_0285A6DC; L_0285A6DC: ; // 0x285a6dc /* 0285A6DC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0285A6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A6E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A6E0 */ _t33 = _t32 & 0x00000001u; /* 0285A6E0 */ if (_t33) goto L_0285A6E4; else goto L_0285A658; L_0285A6E4: ; // 0x285a6e4 /* 0285A6E4 */ goto L_0285A824; L_0285A6E8: ; // 0x285a6e8 /* 0285A6E8 */ _t34 = cpu->r[27] + 0x00000001u; /* 0285A6E8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t34); /* 0285A6EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000008u); /* 0285A6F0 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A6F0 */ _t36 = _t35 & 0x00000001u; /* 0285A6F0 */ if (_t36) goto L_0285A80C; else goto L_0285A6F4; L_0285A6F4: ; // 0x285a6f4 /* 0285A6F4 */ goto L_0285A808; L_0285A6F8: ; // 0x285a6f8 /* 0285A6F8 */ _t37 = cpu->r[27] + 0x00000000u; /* 0285A6F8 */ cpu->r[28] = rbrew_read8(cpu->mem, _t37); /* 0285A6FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u); /* 0285A700 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A700 */ _t39 = _t38 & 0x00000001u; /* 0285A700 */ if (_t39) goto L_0285A708; else goto L_0285A704; L_0285A704: ; // 0x285a704 /* 0285A704 */ cpu->r[29] = 0x00000000u; L_0285A708: ; // 0x285a708 /* 0285A708 */ _t40 = cpu->r[4] + 0x00000008u; /* 0285A708 */ cpu->r[11] = rbrew_read16(cpu->mem, _t40); /* 0285A70C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000014u, 0x0000001Eu, 0x0000001Fu); /* 0285A710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]); /* 0285A714 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285A714 */ _t42 = _t41 & 0x00000001u; /* 0285A714 */ if (_t42) goto L_0285A71C; else goto L_0285A718; L_0285A718: ; // 0x285a718 /* 0285A718 */ cpu->r[29] = 0x00000000u; L_0285A71C: ; // 0x285a71c /* 0285A71C */ _t43 = cpu->r[27] + 0x00000001u; /* 0285A71C */ cpu->r[11] = rbrew_read8(cpu->mem, _t43); /* 0285A720 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000005u); /* 0285A724 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A724 */ _t45 = _t44 & 0x00000001u; /* 0285A724 */ if (_t45) goto L_0285A80C; else goto L_0285A728; L_0285A728: ; // 0x285a728 /* 0285A728 */ goto L_0285A808; L_0285A72C: ; // 0x285a72c /* 0285A72C */ _t46 = cpu->r[3] + 0x00000018u; /* 0285A72C */ cpu->r[28] = rbrew_read32(cpu->mem, _t46); /* 0285A730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0285A734 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A734 */ _t48 = _t47 & 0x00000001u; /* 0285A734 */ if (_t48) goto L_0285A738; else goto L_0285A73C; L_0285A738: ; // 0x285a738 /* 0285A738 */ cpu->r[29] = 0x00000000u; L_0285A73C: ; // 0x285a73c /* 0285A73C */ _t49 = cpu->r[4] + 0x0000000Au; /* 0285A73C */ cpu->r[10] = rbrew_read16(cpu->mem, _t49); /* 0285A740 */ _t50 = cpu->r[27] + 0x00000000u; /* 0285A740 */ cpu->r[11] = rbrew_read8(cpu->mem, _t50); /* 0285A744 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000012u, 0x0000001Eu, 0x0000001Fu); /* 0285A748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 0285A74C */ _t51 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285A74C */ _t52 = _t51 & 0x00000001u; /* 0285A74C */ if (_t52) goto L_0285A754; else goto L_0285A750; L_0285A750: ; // 0x285a750 /* 0285A750 */ cpu->r[29] = 0x00000000u; L_0285A754: ; // 0x285a754 /* 0285A754 */ _t53 = cpu->r[27] + 0x00000002u; /* 0285A754 */ cpu->r[11] = rbrew_read8(cpu->mem, _t53); /* 0285A758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u); /* 0285A75C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A75C */ _t55 = _t54 & 0x00000001u; /* 0285A75C */ if (_t55) goto L_0285A764; else goto L_0285A760; L_0285A760: ; // 0x285a760 /* 0285A760 */ cpu->r[29] = 0x00000000u; L_0285A764: ; // 0x285a764 /* 0285A764 */ _t56 = cpu->r[27] + 0x00000001u; /* 0285A764 */ cpu->r[11] = rbrew_read8(cpu->mem, _t56); /* 0285A768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285A76C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A76C */ _t58 = _t57 & 0x00000001u; /* 0285A76C */ if (_t58) goto L_0285A774; else goto L_0285A770; L_0285A770: ; // 0x285a770 /* 0285A770 */ cpu->r[29] = 0x00000000u; L_0285A774: ; // 0x285a774 /* 0285A774 */ _t59 = cpu->r[3] + 0x00000008u; /* 0285A774 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59); /* 0285A778 */ _t60 = cpu->r[11] + 0x0000000Cu; /* 0285A778 */ cpu->r[10] = rbrew_read16(cpu->mem, _t60); /* 0285A77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285A780 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A780 */ _t62 = _t61 & 0x00000001u; /* 0285A780 */ if (_t62) goto L_0285A81C; else goto L_0285A784; L_0285A784: ; // 0x285a784 /* 0285A784 */ cpu->ctr = cpu->r[10]; /* 0285A788 */ cpu->r[11] = cpu->r[28] + 0xFFFFFFFCu; L_0285A78C: ; // 0x285a78c /* 0285A78C */ _t63 = cpu->r[11] + 0x00000004u; /* 0285A78C */ cpu->r[10] = rbrew_read32(cpu->mem, _t63); /* 0285A78C */ cpu->r[11] = _t63; /* 0285A790 */ _t64 = cpu->r[10] + 0x00000000u; /* 0285A790 */ cpu->r[28] = rbrew_read32(cpu->mem, _t64); /* 0285A794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0285A798 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A798 */ _t66 = _t65 & 0x00000001u; /* 0285A798 */ if (_t66) goto L_0285A818; else goto L_0285A79C; L_0285A79C: ; // 0x285a79c /* 0285A79C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285A79C */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285A79C */ _t68 = _t67 >> (0x00000002u & 31u); /* 0285A79C */ _t69 = _t68 & 0x00000001u; /* 0285A79C */ if (_t69) goto L_0285A78C; else goto L_0285A7A0; L_0285A7A0: ; // 0x285a7a0 /* 0285A7A0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0285A7A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A7A4 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A7A4 */ _t71 = _t70 & 0x00000001u; /* 0285A7A4 */ if (_t71) goto L_0285A7A8; else goto L_0285A658; L_0285A7A8: ; // 0x285a7a8 /* 0285A7A8 */ goto L_0285A824; L_0285A7AC: ; // 0x285a7ac /* 0285A7AC */ _t72 = cpu->r[4] + 0x00000008u; /* 0285A7AC */ cpu->r[11] = rbrew_read16(cpu->mem, _t72); /* 0285A7B0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 0285A7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285A7B4 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A7B4 */ _t74 = _t73 & 0x00000001u; /* 0285A7B4 */ if (_t74) goto L_0285A7B8; else goto L_0285A7BC; L_0285A7B8: ; // 0x285a7b8 /* 0285A7B8 */ cpu->r[29] = 0x00000000u; L_0285A7BC: ; // 0x285a7bc /* 0285A7BC */ _t75 = cpu->r[27] + 0x00000001u; /* 0285A7BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t75); /* 0285A7C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u); /* 0285A7C4 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A7C4 */ _t77 = _t76 & 0x00000001u; /* 0285A7C4 */ if (_t77) goto L_0285A80C; else goto L_0285A7C8; L_0285A7C8: ; // 0x285a7c8 /* 0285A7C8 */ goto L_0285A808; L_0285A7CC: ; // 0x285a7cc /* 0285A7CC */ _t78 = cpu->r[4] + 0x00000008u; /* 0285A7CC */ cpu->r[11] = rbrew_read16(cpu->mem, _t78); /* 0285A7D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Au, 0x0000001Fu, 0x0000001Fu); /* 0285A7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285A7D4 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A7D4 */ _t80 = _t79 & 0x00000001u; /* 0285A7D4 */ if (_t80) goto L_0285A7D8; else goto L_0285A7DC; L_0285A7D8: ; // 0x285a7d8 /* 0285A7D8 */ cpu->r[29] = 0x00000000u; L_0285A7DC: ; // 0x285a7dc /* 0285A7DC */ _t81 = cpu->r[27] + 0x00000001u; /* 0285A7DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t81); /* 0285A7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285A7E4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A7E4 */ _t83 = _t82 & 0x00000001u; /* 0285A7E4 */ if (_t83) goto L_0285A80C; else goto L_0285A7E8; L_0285A7E8: ; // 0x285a7e8 /* 0285A7E8 */ goto L_0285A808; L_0285A7EC: ; // 0x285a7ec /* 0285A7EC */ _t84 = cpu->r[4] + 0x00000008u; /* 0285A7EC */ cpu->r[11] = rbrew_read16(cpu->mem, _t84); /* 0285A7F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285A7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285A7F4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A7F4 */ _t86 = _t85 & 0x00000001u; /* 0285A7F4 */ if (_t86) goto L_0285A7F8; else goto L_0285A7FC; L_0285A7F8: ; // 0x285a7f8 /* 0285A7F8 */ cpu->r[29] = 0x00000000u; L_0285A7FC: ; // 0x285a7fc /* 0285A7FC */ _t87 = cpu->r[27] + 0x00000001u; /* 0285A7FC */ cpu->r[11] = rbrew_read8(cpu->mem, _t87); /* 0285A800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000007u); /* 0285A804 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A804 */ _t89 = _t88 & 0x00000001u; /* 0285A804 */ if (_t89) goto L_0285A80C; else goto L_0285A808; L_0285A808: ; // 0x285a808 /* 0285A808 */ cpu->r[29] = 0x00000000u; L_0285A80C: ; // 0x285a80c /* 0285A80C */ _t90 = cpu->r[27] + 0x00000002u; /* 0285A80C */ cpu->r[11] = rbrew_read8(cpu->mem, _t90); /* 0285A810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u); /* 0285A814 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A814 */ _t92 = _t91 & 0x00000001u; /* 0285A814 */ if (_t92) goto L_0285A81C; else goto L_0285A818; L_0285A818: ; // 0x285a818 /* 0285A818 */ cpu->r[29] = 0x00000000u; L_0285A81C: ; // 0x285a81c /* 0285A81C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0285A81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285A820 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A820 */ _t94 = _t93 & 0x00000001u; /* 0285A820 */ if (_t94) goto L_0285A824; else goto L_0285A658; L_0285A824: ; // 0x285a824 /* 0285A824 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; /* 0285A824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285A828 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A828 */ _t96 = _t95 & 0x00000001u; /* 0285A828 */ if (_t96) goto L_0285A82C; else goto L_0285A638; L_0285A82C: ; // 0x285a82c /* 0285A82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285A830 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A830 */ _t98 = _t97 & 0x00000001u; /* 0285A830 */ if (_t98) goto L_0285A850; else goto L_0285A834; L_0285A834: ; // 0x285a834 /* 0285A834 */ _t99 = cpu->r[3] + 0x0000001Cu; /* 0285A834 */ cpu->r[11] = rbrew_read32(cpu->mem, _t99); /* 0285A838 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285A83C */ cpu->r[12] = cpu->r[9] + 0x00000001u; /* 0285A840 */ cpu->r[11] = cpu->r[11] + cpu->r[10]; /* 0285A844 */ _t100 = cpu->r[3] + 0x00000020u; /* 0285A844 */ rbrew_write16(cpu->mem, _t100, (uint16_t)cpu->r[12]); /* 0285A848 */ _t101 = cpu->r[11] + 0x00000004u; /* 0285A848 */ rbrew_write32(cpu->mem, _t101, cpu->r[5]); /* 0285A84C */ _t102 = cpu->r[11] + 0x00000000u; /* 0285A84C */ rbrew_write32(cpu->mem, _t102, cpu->r[4]); L_0285A850: ; // 0x285a850 /* 0285A850 */ /* nop */ /* 0285A854 */ cpu->r[3] = 0x00000001u; /* 0285A858 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285A85C */ return; } // fn_0285A860 @ 0x285a860 void Gambit_fn_0285A860(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54; L_0285A860: ; // 0x285a860 /* 0285A860 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0285A860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285A860 */ cpu->r[1] = _t0; /* 0285A864 */ /* nop */ /* 0285A868 */ cpu->r[0] = cpu->lr; /* 0285A86C */ _t1 = cpu->r[1] + 0x00000034u; /* 0285A86C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285A870 */ cpu->r[29] = cpu->r[3]; /* 0285A874 */ _t2 = cpu->r[29] + 0x00000008u; /* 0285A874 */ cpu->r[26] = rbrew_read32(cpu->mem, _t2); /* 0285A878 */ _t3 = cpu->r[26] + 0x0000000Eu; /* 0285A878 */ cpu->r[23] = rbrew_read16(cpu->mem, _t3); /* 0285A87C */ cpu->r[28] = 0x00000000u; /* 0285A880 */ _t4 = cpu->r[26] + 0x00000010u; /* 0285A880 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 0285A884 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[23]); /* 0285A888 */ cpu->r[27] = cpu->r[26] + cpu->r[10]; /* 0285A88C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A88C */ _t6 = _t5 & 0x00000001u; /* 0285A88C */ if (_t6) goto L_0285A890; else goto L_0285AA24; L_0285A890: ; // 0x285a890 /* 0285A890 */ cpu->r[25] = cpu->r[4] + 0x00000008u; L_0285A894: ; // 0x285a894 /* 0285A894 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285A898 */ _t7 = cpu->r[11] + cpu->r[27]; /* 0285A898 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0285A89C */ cpu->r[24] = cpu->r[26] + cpu->r[12]; /* 0285A8A0 */ _t8 = cpu->r[24] + 0x0000001Du; /* 0285A8A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8); /* 0285A8A4 */ cpu->r[31] = cpu->r[25] + 0x00000004u; /* 0285A8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285A8AC */ _t9 = cpu->r[25] + 0x00000004u; /* 0285A8AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285A8B0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A8B0 */ _t11 = _t10 & 0x00000001u; /* 0285A8B0 */ if (_t11) goto L_0285A8B4; else goto L_0285A94C; L_0285A8B4: ; // 0x285a8b4 /* 0285A8B4 */ cpu->r[5] = cpu->r[30] ^ cpu->r[31]; /* 0285A8B8 */ cpu->r[6] = rbrew_clz32(cpu->r[5]); /* 0285A8BC */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285A8C0 */ cpu->r[8] = cpu->r[4] ^ 0x00000001u; /* 0285A8C4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285A8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285A8C8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A8C8 */ _t13 = _t12 & 0x00000001u; /* 0285A8C8 */ if (_t13) goto L_0285AA14; else goto L_0285A8CC; L_0285A8CC: ; // 0x285a8cc /* 0285A8CC */ _t14 = cpu->r[30] + 0x00000008u; /* 0285A8CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t14); /* 0285A8D0 */ cpu->r[3] = cpu->r[24]; /* 0285A8D4 */ cpu->r[4] = cpu->r[7] + 0x00000080u; /* 0285A8D8 */ Gambit_fn_0285B800(cpu); /* 0285A8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A8E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A8E0 */ _t16 = _t15 & 0x00000001u; /* 0285A8E0 */ if (_t16) goto L_0285A8E4; else goto L_0285A914; L_0285A8E4: ; // 0x285a8e4 /* 0285A8E4 */ _t17 = cpu->r[30] + 0x00000000u; /* 0285A8E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 0285A8E8 */ cpu->r[11] = cpu->r[30] ^ cpu->r[31]; /* 0285A8EC */ cpu->r[12] = rbrew_clz32(cpu->r[11]); /* 0285A8F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285A8F4 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u; /* 0285A8F8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285A8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285A8FC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A8FC */ _t19 = _t18 & 0x00000001u; /* 0285A8FC */ if (_t19) goto L_0285A900; else goto L_0285A8CC; L_0285A900: ; // 0x285a900 /* 0285A900 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 0285A904 */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0285A908 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[23]); /* 0285A90C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285A90C */ _t21 = _t20 & 0x00000001u; /* 0285A90C */ if (_t21) goto L_0285A894; else goto L_0285A910; L_0285A910: ; // 0x285a910 /* 0285A910 */ goto L_0285AA24; L_0285A914: ; // 0x285a914 /* 0285A914 */ _t22 = cpu->r[30] + 0x00000008u; /* 0285A914 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22); /* 0285A918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285A91C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A91C */ _t24 = _t23 & 0x00000001u; /* 0285A91C */ if (_t24) goto L_0285AA14; else goto L_0285A920; L_0285A920: ; // 0x285a920 /* 0285A920 */ cpu->r[5] = cpu->r[24]; /* 0285A924 */ cpu->r[3] = cpu->r[29]; /* 0285A928 */ Gambit_fn_0285A5AC(cpu); /* 0285A92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A930 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A930 */ _t26 = _t25 & 0x00000001u; /* 0285A930 */ if (_t26) goto L_0285A934; else goto L_0285AA14; L_0285A934: ; // 0x285a934 /* 0285A934 */ cpu->r[5] = cpu->r[24]; /* 0285A938 */ cpu->r[3] = cpu->r[29]; /* 0285A93C */ Gambit_fn_0285A5B4(cpu); /* 0285A940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A944 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A944 */ _t28 = _t27 & 0x00000001u; /* 0285A944 */ if (_t28) goto L_0285AA24; else goto L_0285A948; L_0285A948: ; // 0x285a948 /* 0285A948 */ goto L_0285AA10; L_0285A94C: ; // 0x285a94c /* 0285A94C */ cpu->r[8] = cpu->r[30] ^ cpu->r[31]; /* 0285A950 */ cpu->r[9] = rbrew_clz32(cpu->r[8]); /* 0285A954 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285A958 */ cpu->r[10] = cpu->r[0] ^ 0x00000001u; /* 0285A95C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285A95C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285A960 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A960 */ _t30 = _t29 & 0x00000001u; /* 0285A960 */ if (_t30) goto L_0285AA14; else goto L_0285A964; L_0285A964: ; // 0x285a964 /* 0285A964 */ _t31 = cpu->r[30] + 0x00000008u; /* 0285A964 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31); /* 0285A968 */ _t32 = cpu->r[3] + 0x00000008u; /* 0285A968 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32); /* 0285A96C */ _t33 = cpu->r[12] + 0x00000064u; /* 0285A96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 0285A970 */ cpu->ctr = cpu->r[0]; /* 0285A974 */ cpu->r[4] = cpu->r[24]; /* 0285A978 */ cpu->r[5] = 0x00000000u; /* 0285A97C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285A980 */ cpu->r[4] = cpu->r[3]; /* 0285A980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285A984 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A984 */ _t35 = _t34 & 0x00000001u; /* 0285A984 */ if (_t35) goto L_0285A988; else goto L_0285A9E8; L_0285A988: ; // 0x285a988 /* 0285A988 */ _t36 = cpu->r[30] + 0x00000000u; /* 0285A988 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36); /* 0285A98C */ cpu->r[8] = cpu->r[30] ^ cpu->r[31]; /* 0285A990 */ cpu->r[9] = rbrew_clz32(cpu->r[8]); /* 0285A994 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285A998 */ cpu->r[10] = cpu->r[0] ^ 0x00000001u; /* 0285A99C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285A99C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285A9A0 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A9A0 */ _t38 = _t37 & 0x00000001u; /* 0285A9A0 */ if (_t38) goto L_0285AA10; else goto L_0285A9A4; L_0285A9A4: ; // 0x285a9a4 /* 0285A9A4 */ _t39 = cpu->r[30] + 0x00000008u; /* 0285A9A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39); /* 0285A9A8 */ _t40 = cpu->r[3] + 0x00000008u; /* 0285A9A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40); /* 0285A9AC */ _t41 = cpu->r[5] + 0x00000064u; /* 0285A9AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t41); /* 0285A9B0 */ cpu->ctr = cpu->r[6]; /* 0285A9B4 */ cpu->r[5] = 0x00000000u; /* 0285A9B8 */ cpu->r[4] = cpu->r[24]; /* 0285A9BC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285A9C0 */ cpu->r[4] = cpu->r[3]; /* 0285A9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285A9C4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A9C4 */ _t43 = _t42 & 0x00000001u; /* 0285A9C4 */ if (_t43) goto L_0285A9C8; else goto L_0285A9E8; L_0285A9C8: ; // 0x285a9c8 /* 0285A9C8 */ _t44 = cpu->r[30] + 0x00000000u; /* 0285A9C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44); /* 0285A9CC */ cpu->r[8] = cpu->r[30] ^ cpu->r[31]; /* 0285A9D0 */ cpu->r[9] = rbrew_clz32(cpu->r[8]); /* 0285A9D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285A9D8 */ cpu->r[10] = cpu->r[0] ^ 0x00000001u; /* 0285A9DC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285A9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285A9E0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A9E0 */ _t46 = _t45 & 0x00000001u; /* 0285A9E0 */ if (_t46) goto L_0285A9E4; else goto L_0285A9A4; L_0285A9E4: ; // 0x285a9e4 /* 0285A9E4 */ goto L_0285AA10; L_0285A9E8: ; // 0x285a9e8 /* 0285A9E8 */ cpu->r[5] = cpu->r[24]; /* 0285A9EC */ cpu->r[3] = cpu->r[29]; /* 0285A9F0 */ Gambit_fn_0285A5AC(cpu); /* 0285A9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285A9F8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285A9F8 */ _t48 = _t47 & 0x00000001u; /* 0285A9F8 */ if (_t48) goto L_0285A9FC; else goto L_0285AA10; L_0285A9FC: ; // 0x285a9fc /* 0285A9FC */ cpu->r[5] = cpu->r[24]; /* 0285AA00 */ cpu->r[3] = cpu->r[29]; /* 0285AA04 */ Gambit_fn_0285A5F0(cpu); /* 0285AA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285AA0C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285AA0C */ _t50 = _t49 & 0x00000001u; /* 0285AA0C */ if (_t50) goto L_0285AA24; else goto L_0285AA10; L_0285AA10: ; // 0x285aa10 /* 0285AA10 */ _t51 = cpu->r[26] + 0x0000000Eu; /* 0285AA10 */ cpu->r[23] = rbrew_read16(cpu->mem, _t51); L_0285AA14: ; // 0x285aa14 /* 0285AA14 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 0285AA18 */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0285AA1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[23]); /* 0285AA20 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AA20 */ _t53 = _t52 & 0x00000001u; /* 0285AA20 */ if (_t53) goto L_0285A894; else goto L_0285AA24; L_0285AA24: ; // 0x285aa24 /* 0285AA24 */ /* nop */ /* 0285AA28 */ _t54 = cpu->r[1] + 0x00000034u; /* 0285AA28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 0285AA2C */ cpu->lr = cpu->r[0]; /* 0285AA30 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0285AA34 */ return; } // fn_0285AA38 @ 0x285aa38 void Gambit_fn_0285AA38(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285AA38: ; // 0x285aa38 /* 0285AA38 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0285AA38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285AA38 */ cpu->r[1] = _t0; /* 0285AA3C */ /* nop */ /* 0285AA40 */ cpu->r[0] = cpu->lr; /* 0285AA44 */ _t1 = cpu->r[1] + 0x00000020u; /* 0285AA44 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0285AA48 */ _t2 = cpu->r[1] + 0x00000034u; /* 0285AA48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285AA4C */ /* nop */ /* 0285AA50 */ _t3 = cpu->r[1] + 0x00000028u; /* 0285AA50 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 0285AA54 */ cpu->r[31] = cpu->r[4]; /* 0285AA58 */ cpu->r[26] = 0x00000000u; /* 0285AA5C */ _t4 = cpu->r[31] + 0x00000004u; /* 0285AA5C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4); /* 0285AA60 */ cpu->r[30] = cpu->r[3]; /* 0285AA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[12]); /* 0285AA68 */ cpu->f[31] = cpu->f[1]; /* 0285AA6C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AA6C */ _t6 = _t5 & 0x00000001u; /* 0285AA6C */ if (_t6) goto L_0285AA70; else goto L_0285AABC; L_0285AA70: ; // 0x285aa70 /* 0285AA70 */ cpu->r[29] = cpu->r[30] + 0x0000001Cu; /* 0285AA74 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFCu; L_0285AA78: ; // 0x285aa78 /* 0285AA78 */ _t7 = cpu->r[28] + 0x00000004u; /* 0285AA78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285AA78 */ cpu->r[28] = _t7; /* 0285AA7C */ cpu->r[9] = cpu->r[31] + cpu->r[0]; /* 0285AA80 */ _t8 = cpu->r[9] + 0x00000008u; /* 0285AA80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285AA84 */ cpu->f[1] = cpu->f[31]; /* 0285AA88 */ _t9 = cpu->r[9] + 0x00000004u; /* 0285AA88 */ cpu->r[4] = rbrew_read16(cpu->mem, _t9); /* 0285AA8C */ cpu->r[3] = cpu->r[9] + cpu->r[0]; /* 0285AA90 */ _t10 = cpu->r[9] + 0x00000001u; /* 0285AA90 */ cpu->r[27] = rbrew_read8(cpu->mem, _t10); /* 0285AA94 */ Gambit_fn_02869D1C(cpu); /* 0285AA98 */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285AA9C */ _t11 = cpu->r[7] + cpu->r[29]; /* 0285AA9C */ rbrew_write32(cpu->mem, _t11, cpu->r[1]); /* 0285AAA0 */ _t12 = cpu->r[30] + 0x00000044u; /* 0285AAA0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t12); /* 0285AAA4 */ cpu->r[0] = cpu->r[8] | 0x00000010u; /* 0285AAA8 */ _t13 = cpu->r[30] + 0x00000044u; /* 0285AAA8 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]); /* 0285AAAC */ _t14 = cpu->r[31] + 0x00000004u; /* 0285AAAC */ cpu->r[11] = rbrew_read8(cpu->mem, _t14); /* 0285AAB0 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0285AAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[11]); /* 0285AAB8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AAB8 */ _t16 = _t15 & 0x00000001u; /* 0285AAB8 */ if (_t16) goto L_0285AA78; else goto L_0285AABC; L_0285AABC: ; // 0x285aabc /* 0285AABC */ /* nop */ /* 0285AAC0 */ _t17 = cpu->r[1] + 0x00000028u; /* 0285AAC0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17); /* 0285AAC4 */ _t18 = cpu->r[1] + 0x00000020u; /* 0285AAC4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18); /* 0285AAC8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AAC8 */ _t20 = _t19 & 0x00000001u; /* 0285AAC8 */ if (_t20) goto L_0285AACC; // else: addr-0 trap, fall-through L_0285AACC: ; // 0x285aacc /* 0285AACC */ _t21 = cpu->r[1] + 0x00000034u; /* 0285AACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0285AAD0 */ cpu->lr = cpu->r[0]; /* 0285AAD4 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0285AAD8 */ return; } // fn_0285AADC @ 0x285aadc void Gambit_fn_0285AADC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25; L_0285AADC: ; // 0x285aadc /* 0285AADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u); /* 0285AAE0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285AAE0 */ _t1 = _t0 & 0x00000001u; /* 0285AAE0 */ if (_t1) goto L_0285AAF0; else goto L_0285AAE4; L_0285AAE4: ; // 0x285aae4 /* 0285AAE4 */ _t2 = cpu->r[3] + 0x00000000u; /* 0285AAE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2); /* 0285AAE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]); /* 0285AAEC */ _t3 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285AAEC */ _t4 = _t3 & 0x00000001u; /* 0285AAEC */ if (_t4) goto L_0285AAF8; else goto L_0285AAF0; L_0285AAF0: ; // 0x285aaf0 /* 0285AAF0 */ _t5 = cpu->r[3] + 0x00000004u; /* 0285AAF0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t5); /* 0285AAF4 */ return; L_0285AAF8: ; // 0x285aaf8 /* 0285AAF8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285AAFC */ cpu->r[8] = cpu->r[3] + cpu->r[9]; /* 0285AB00 */ _t6 = cpu->r[8] + 0xFFFFFFF8u; /* 0285AB00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6); /* 0285AB04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]); /* 0285AB08 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AB08 */ _t8 = _t7 & 0x00000001u; /* 0285AB08 */ if (_t8) goto L_0285AB14; else goto L_0285AB0C; L_0285AB0C: ; // 0x285ab0c /* 0285AB0C */ _t9 = cpu->r[8] + 0xFFFFFFFCu; /* 0285AB0C */ cpu->r[3] = rbrew_read16(cpu->mem, _t9); /* 0285AB10 */ return; L_0285AB14: ; // 0x285ab14 /* 0285AB14 */ cpu->r[12] = 0x00000000u; /* 0285AB18 */ cpu->r[8] = cpu->r[4] + 0xFFFFFFFFu; /* 0285AB1C */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFEu; /* 0285AB20 */ goto L_0285AB50; L_0285AB24: ; // 0x285ab24 /* 0285AB24 */ cpu->r[11] = cpu->r[12] + cpu->r[8]; /* 0285AB28 */ /* nop */ /* 0285AB2C */ cpu->r[9] = cpu->r[0]; /* 0285AB30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285AB34 */ _t10 = cpu->r[3] + cpu->r[0]; /* 0285AB34 */ cpu->r[13] = rbrew_read32(cpu->mem, _t10); /* 0285AB38 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]); /* 0285AB3C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AB3C */ _t12 = _t11 & 0x00000001u; /* 0285AB3C */ if (_t12) goto L_0285AB40; else goto L_0285AB4C; L_0285AB40: ; // 0x285ab40 /* 0285AB40 */ cpu->r[8] = cpu->r[9]; /* 0285AB44 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu; /* 0285AB48 */ goto L_0285AB50; L_0285AB4C: ; // 0x285ab4c /* 0285AB4C */ cpu->r[12] = cpu->r[9]; L_0285AB50: ; // 0x285ab50 /* 0285AB50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]); /* 0285AB54 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285AB54 */ _t14 = _t13 & 0x00000001u; /* 0285AB54 */ if (_t14) goto L_0285AB60; else goto L_0285AB58; L_0285AB58: ; // 0x285ab58 /* 0285AB58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]); /* 0285AB5C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285AB5C */ _t16 = _t15 & 0x00000001u; /* 0285AB5C */ if (_t16) goto L_0285AB60; else goto L_0285AB24; L_0285AB60: ; // 0x285ab60 /* 0285AB60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285AB64 */ _t17 = cpu->r[3] + cpu->r[0]; /* 0285AB64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 0285AB68 */ cpu->r[10] = 0x10130000u; /* 0285AB6C */ cpu->f[11] = cpu->f[1] - cpu->f[12]; /* 0285AB70 */ _t18 = cpu->r[10] + 0x000049D8u; /* 0285AB70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18); /* 0285AB74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]); /* 0285AB78 */ cpu->r[11] = cpu->r[3] + cpu->r[0]; /* 0285AB7C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AB7C */ _t20 = _t19 & 0x00000001u; /* 0285AB7C */ if (_t20) goto L_0285AB80; else goto L_0285AB98; L_0285AB80: ; // 0x285ab80 /* 0285AB80 */ cpu->r[8] = 0x10130000u; /* 0285AB84 */ _t21 = cpu->r[8] + 0x000049DCu; /* 0285AB84 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21); /* 0285AB88 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]); /* 0285AB8C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AB8C */ _t23 = _t22 & 0x00000001u; /* 0285AB8C */ if (_t23) goto L_0285AB90; else goto L_0285AB98; L_0285AB90: ; // 0x285ab90 /* 0285AB90 */ _t24 = cpu->r[11] + 0x00000004u; /* 0285AB90 */ cpu->r[3] = rbrew_read16(cpu->mem, _t24); /* 0285AB94 */ return; L_0285AB98: ; // 0x285ab98 /* 0285AB98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285AB9C */ cpu->r[11] = cpu->r[3] + cpu->r[0]; /* 0285ABA0 */ _t25 = cpu->r[11] + 0x00000004u; /* 0285ABA0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t25); /* 0285ABA4 */ return; } // fn_0285ABA8 @ 0x285aba8 void Gambit_fn_0285ABA8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285ABA8: ; // 0x285aba8 /* 0285ABA8 */ cpu->r[0] = cpu->lr; /* 0285ABAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285ABAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285ABAC */ cpu->r[1] = _t0; /* 0285ABB0 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285ABB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285ABB4 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285ABB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285ABB8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285ABB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285ABBC */ cpu->r[7] = cpu->r[4]; /* 0285ABC0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285ABC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285ABC4 */ _t5 = cpu->r[7] + 0x00000004u; /* 0285ABC4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t5); /* 0285ABC8 */ cpu->r[30] = 0x00000000u; /* 0285ABCC */ cpu->r[31] = cpu->r[3]; /* 0285ABD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]); /* 0285ABD4 */ cpu->f[10] = cpu->f[1]; /* 0285ABD8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285ABD8 */ _t7 = _t6 & 0x00000001u; /* 0285ABD8 */ if (_t7) goto L_0285ABDC; else goto L_0285AC24; L_0285ABDC: ; // 0x285abdc /* 0285ABDC */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu; /* 0285ABE0 */ _t8 = cpu->r[31] + 0x00000044u; /* 0285ABE0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t8); L_0285ABE4: ; // 0x285abe4 /* 0285ABE4 */ _t9 = cpu->r[29] + 0x00000004u; /* 0285ABE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 0285ABE4 */ cpu->r[29] = _t9; /* 0285ABE8 */ cpu->r[6] = cpu->r[7] + cpu->r[9]; /* 0285ABEC */ _t10 = cpu->r[6] + 0x00000008u; /* 0285ABEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 0285ABF0 */ cpu->f[1] = cpu->f[10]; /* 0285ABF4 */ _t11 = cpu->r[6] + 0x00000004u; /* 0285ABF4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t11); /* 0285ABF8 */ cpu->r[3] = cpu->r[6] + cpu->r[10]; /* 0285ABFC */ Gambit_fn_0285AADC(cpu); /* 0285AC00 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu; /* 0285AC04 */ cpu->r[0] = cpu->r[3] - cpu->r[12]; /* 0285AC08 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Eu); /* 0285AC0C */ cpu->r[5] = cpu->r[5] | cpu->r[0]; /* 0285AC10 */ _t12 = cpu->r[31] + 0x00000044u; /* 0285AC10 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[5]); /* 0285AC14 */ _t13 = cpu->r[7] + 0x00000004u; /* 0285AC14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13); /* 0285AC18 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0285AC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 0285AC20 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AC20 */ _t15 = _t14 & 0x00000001u; /* 0285AC20 */ if (_t15) goto L_0285ABE4; else goto L_0285AC24; L_0285AC24: ; // 0x285ac24 /* 0285AC24 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285AC24 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 0285AC28 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0285AC28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285AC2C */ _t18 = cpu->r[1] + 0x00000010u; /* 0285AC2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0285AC30 */ cpu->lr = cpu->r[0]; /* 0285AC34 */ _t19 = cpu->r[1] + 0x00000014u; /* 0285AC34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285AC38 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285AC3C */ return; } // fn_0285ABAC @ 0x285abac void Gambit_fn_0285ABAC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285ABAC: ; // 0x285abac /* 0285ABAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285ABAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285ABAC */ cpu->r[1] = _t0; /* 0285ABB0 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285ABB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285ABB4 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285ABB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285ABB8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285ABB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285ABBC */ cpu->r[7] = cpu->r[4]; /* 0285ABC0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285ABC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285ABC4 */ _t5 = cpu->r[7] + 0x00000004u; /* 0285ABC4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t5); /* 0285ABC8 */ cpu->r[30] = 0x00000000u; /* 0285ABCC */ cpu->r[31] = cpu->r[3]; /* 0285ABD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]); /* 0285ABD4 */ cpu->f[10] = cpu->f[1]; /* 0285ABD8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285ABD8 */ _t7 = _t6 & 0x00000001u; /* 0285ABD8 */ if (_t7) goto L_0285ABDC; else goto L_0285AC24; L_0285ABDC: ; // 0x285abdc /* 0285ABDC */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu; /* 0285ABE0 */ _t8 = cpu->r[31] + 0x00000044u; /* 0285ABE0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t8); L_0285ABE4: ; // 0x285abe4 /* 0285ABE4 */ _t9 = cpu->r[29] + 0x00000004u; /* 0285ABE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 0285ABE4 */ cpu->r[29] = _t9; /* 0285ABE8 */ cpu->r[6] = cpu->r[7] + cpu->r[9]; /* 0285ABEC */ _t10 = cpu->r[6] + 0x00000008u; /* 0285ABEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 0285ABF0 */ cpu->f[1] = cpu->f[10]; /* 0285ABF4 */ _t11 = cpu->r[6] + 0x00000004u; /* 0285ABF4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t11); /* 0285ABF8 */ cpu->r[3] = cpu->r[6] + cpu->r[10]; /* 0285ABFC */ Gambit_fn_0285AADC(cpu); /* 0285AC00 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu; /* 0285AC04 */ cpu->r[0] = cpu->r[3] - cpu->r[12]; /* 0285AC08 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Eu); /* 0285AC0C */ cpu->r[5] = cpu->r[5] | cpu->r[0]; /* 0285AC10 */ _t12 = cpu->r[31] + 0x00000044u; /* 0285AC10 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[5]); /* 0285AC14 */ _t13 = cpu->r[7] + 0x00000004u; /* 0285AC14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13); /* 0285AC18 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0285AC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]); /* 0285AC20 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AC20 */ _t15 = _t14 & 0x00000001u; /* 0285AC20 */ if (_t15) goto L_0285ABE4; else goto L_0285AC24; L_0285AC24: ; // 0x285ac24 /* 0285AC24 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285AC24 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 0285AC28 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0285AC28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285AC2C */ _t18 = cpu->r[1] + 0x00000010u; /* 0285AC2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0285AC30 */ cpu->lr = cpu->r[0]; /* 0285AC34 */ _t19 = cpu->r[1] + 0x00000014u; /* 0285AC34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285AC38 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285AC3C */ return; } // fn_0285AC40 @ 0x285ac40 void Gambit_fn_0285AC40(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36; L_0285AC40: ; // 0x285ac40 /* 0285AC40 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 0285AC40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285AC40 */ cpu->r[1] = _t0; /* 0285AC44 */ /* nop */ /* 0285AC48 */ cpu->r[0] = cpu->lr; /* 0285AC4C */ _t1 = cpu->r[1] + 0x00000028u; /* 0285AC4C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]); /* 0285AC50 */ _t2 = cpu->r[1] + 0x00000038u; /* 0285AC50 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]); /* 0285AC54 */ /* nop */ /* 0285AC58 */ _t3 = cpu->r[1] + 0x00000048u; /* 0285AC58 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]); /* 0285AC5C */ /* nop */ /* 0285AC60 */ _t4 = cpu->r[1] + 0x00000058u; /* 0285AC60 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]); /* 0285AC64 */ /* nop */ /* 0285AC68 */ _t5 = cpu->r[1] + 0x00000030u; /* 0285AC68 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]); /* 0285AC6C */ _t6 = cpu->r[1] + 0x00000040u; /* 0285AC6C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]); /* 0285AC70 */ /* nop */ /* 0285AC74 */ _t7 = cpu->r[1] + 0x00000050u; /* 0285AC74 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]); /* 0285AC78 */ cpu->r[31] = cpu->r[4]; /* 0285AC7C */ _t8 = cpu->r[1] + 0x00000060u; /* 0285AC7C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]); /* 0285AC80 */ cpu->r[27] = 0x00000000u; /* 0285AC84 */ _t9 = cpu->r[1] + 0x0000006Cu; /* 0285AC84 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0285AC88 */ _t10 = cpu->r[31] + 0x00000004u; /* 0285AC88 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10); /* 0285AC8C */ cpu->r[30] = cpu->r[3]; /* 0285AC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[9]); /* 0285AC94 */ cpu->f[28] = cpu->f[1]; /* 0285AC98 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AC98 */ _t12 = _t11 & 0x00000001u; /* 0285AC98 */ if (_t12) goto L_0285AC9C; else goto L_0285AD1C; L_0285AC9C: ; // 0x285ac9c /* 0285AC9C */ cpu->r[7] = 0x10130000u; /* 0285ACA0 */ cpu->r[6] = 0x10130000u; /* 0285ACA4 */ _t13 = cpu->r[7] + 0x000049E4u; /* 0285ACA4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13); /* 0285ACA8 */ cpu->r[12] = 0x10130000u; /* 0285ACAC */ _t14 = cpu->r[6] + 0x000049E0u; /* 0285ACAC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t14); /* 0285ACB0 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu; /* 0285ACB4 */ _t15 = cpu->r[12] + 0x000049D4u; /* 0285ACB4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t15); L_0285ACB8: ; // 0x285acb8 /* 0285ACB8 */ _t16 = cpu->r[29] + 0x00000004u; /* 0285ACB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0285ACB8 */ cpu->r[29] = _t16; /* 0285ACBC */ cpu->r[28] = cpu->r[31] + cpu->r[0]; /* 0285ACC0 */ _t17 = cpu->r[28] + 0x00000008u; /* 0285ACC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285ACC4 */ cpu->f[1] = cpu->f[28]; /* 0285ACC8 */ _t18 = cpu->r[28] + 0x00000004u; /* 0285ACC8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t18); /* 0285ACCC */ cpu->r[3] = cpu->r[28] + cpu->r[0]; /* 0285ACD0 */ Gambit_fn_02869D1C(cpu); /* 0285ACD4 */ cpu->f[13] = cpu->f[1] + cpu->f[31]; /* 0285ACD8 */ /* nop */ /* 0285ACDC */ cpu->f[12] = cpu->f[11] - cpu->f[30]; /* 0285ACE0 */ _t19 = cpu->r[30] + 0x00000008u; /* 0285ACE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 0285ACE4 */ /* nop */ /* 0285ACE8 */ _t20 = cpu->r[8] + 0x00000034u; /* 0285ACE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 0285ACEC */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[0]; /* 0285ACF0 */ cpu->ctr = cpu->r[10]; /* 0285ACF4 */ cpu->r[0] = cpu->r[1] + 0x00000008u; /* 0285ACF8 */ /* nop */ /* 0285ACFC */ _t21 = cpu->r[1] + 0x0000000Bu; /* 0285ACFC */ cpu->r[5] = rbrew_read8(cpu->mem, _t21); /* 0285AD00 */ _t22 = cpu->r[28] + 0x00000001u; /* 0285AD00 */ cpu->r[4] = rbrew_read8(cpu->mem, _t22); /* 0285AD04 */ cpu->r[3] = cpu->r[30]; /* 0285AD08 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285AD0C */ _t23 = cpu->r[31] + 0x00000004u; /* 0285AD0C */ cpu->r[11] = rbrew_read8(cpu->mem, _t23); /* 0285AD10 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 0285AD14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[11]); /* 0285AD18 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AD18 */ _t25 = _t24 & 0x00000001u; /* 0285AD18 */ if (_t25) goto L_0285ACB8; else goto L_0285AD1C; L_0285AD1C: ; // 0x285ad1c /* 0285AD1C */ /* nop */ /* 0285AD20 */ _t26 = cpu->r[1] + 0x00000040u; /* 0285AD20 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t26); /* 0285AD24 */ _t27 = cpu->r[1] + 0x00000050u; /* 0285AD24 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27); /* 0285AD28 */ _t28 = cpu->r[1] + 0x00000038u; /* 0285AD28 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t28); /* 0285AD2C */ _t29 = cpu->r[1] + 0x00000048u; /* 0285AD2C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29); /* 0285AD30 */ _t30 = cpu->r[1] + 0x00000030u; /* 0285AD30 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t30); /* 0285AD34 */ _t31 = cpu->r[1] + 0x00000060u; /* 0285AD34 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t31); /* 0285AD38 */ _t32 = cpu->r[1] + 0x00000028u; /* 0285AD38 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t32); /* 0285AD3C */ _t33 = cpu->r[1] + 0x00000058u; /* 0285AD3C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t33); /* 0285AD40 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AD40 */ _t35 = _t34 & 0x00000001u; /* 0285AD40 */ if (_t35) goto L_0285AD44; // else: addr-0 trap, fall-through L_0285AD44: ; // 0x285ad44 /* 0285AD44 */ _t36 = cpu->r[1] + 0x0000006Cu; /* 0285AD44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 0285AD48 */ cpu->lr = cpu->r[0]; /* 0285AD4C */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 0285AD50 */ return; } // fn_0285AD54 @ 0x285ad54 void Gambit_fn_0285AD54(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29; L_0285AD54: ; // 0x285ad54 /* 0285AD54 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0285AD54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285AD54 */ cpu->r[1] = _t0; /* 0285AD58 */ cpu->r[0] = cpu->lr; /* 0285AD5C */ _t1 = cpu->r[1] + 0x00000018u; /* 0285AD5C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0285AD60 */ /* nop */ /* 0285AD64 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285AD64 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285AD68 */ _t3 = cpu->r[1] + 0x00000020u; /* 0285AD68 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 0285AD6C */ _t4 = cpu->r[1] + 0x00000014u; /* 0285AD6C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0285AD70 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0285AD70 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]); /* 0285AD74 */ cpu->r[31] = cpu->r[4]; /* 0285AD78 */ _t6 = cpu->r[1] + 0x00000008u; /* 0285AD78 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]); /* 0285AD7C */ _t7 = cpu->r[1] + 0x0000002Cu; /* 0285AD7C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285AD80 */ cpu->r[29] = cpu->r[3]; /* 0285AD84 */ _t8 = cpu->r[31] + 0x00000004u; /* 0285AD84 */ cpu->r[9] = rbrew_read8(cpu->mem, _t8); /* 0285AD88 */ cpu->r[30] = 0x00000000u; /* 0285AD8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]); /* 0285AD90 */ cpu->f[31] = cpu->f[1]; /* 0285AD94 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AD94 */ _t10 = _t9 & 0x00000001u; /* 0285AD94 */ if (_t10) goto L_0285AD98; else goto L_0285ADDC; L_0285AD98: ; // 0x285ad98 /* 0285AD98 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFCu; L_0285AD9C: ; // 0x285ad9c /* 0285AD9C */ _t11 = cpu->r[28] + 0x00000004u; /* 0285AD9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 0285AD9C */ cpu->r[28] = _t11; /* 0285ADA0 */ cpu->r[8] = cpu->r[31] + cpu->r[10]; /* 0285ADA4 */ _t12 = cpu->r[8] + 0x00000008u; /* 0285ADA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 0285ADA8 */ cpu->f[1] = cpu->f[31]; /* 0285ADAC */ _t13 = cpu->r[8] + 0x00000004u; /* 0285ADAC */ cpu->r[4] = rbrew_read16(cpu->mem, _t13); /* 0285ADB0 */ cpu->r[3] = cpu->r[8] + cpu->r[11]; /* 0285ADB4 */ Gambit_fn_02869D1C(cpu); /* 0285ADB8 */ _t14 = cpu->r[29] + 0x000000FCu; /* 0285ADB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 0285ADBC */ _t15 = cpu->r[12] + 0x00000000u; /* 0285ADBC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[1]); /* 0285ADC0 */ _t16 = cpu->r[29] + 0x000000D0u; /* 0285ADC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16); /* 0285ADC4 */ cpu->r[0] = cpu->r[0] | 0x00000020u; /* 0285ADC8 */ _t17 = cpu->r[29] + 0x000000D0u; /* 0285ADC8 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]); /* 0285ADCC */ _t18 = cpu->r[31] + 0x00000004u; /* 0285ADCC */ cpu->r[7] = rbrew_read8(cpu->mem, _t18); /* 0285ADD0 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0285ADD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]); /* 0285ADD8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285ADD8 */ _t20 = _t19 & 0x00000001u; /* 0285ADD8 */ if (_t20) goto L_0285AD9C; else goto L_0285ADDC; L_0285ADDC: ; // 0x285addc /* 0285ADDC */ _t21 = cpu->r[1] + 0x00000008u; /* 0285ADDC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 0285ADE0 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 0285ADE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 0285ADE4 */ _t23 = cpu->r[1] + 0x00000020u; /* 0285ADE4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t23); /* 0285ADE8 */ _t24 = cpu->r[1] + 0x00000010u; /* 0285ADE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0285ADEC */ _t25 = cpu->r[1] + 0x00000018u; /* 0285ADEC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t25); /* 0285ADF0 */ _t26 = cpu->r[1] + 0x00000014u; /* 0285ADF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 0285ADF4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285ADF4 */ _t28 = _t27 & 0x00000001u; /* 0285ADF4 */ if (_t28) goto L_0285ADF8; // else: addr-0 trap, fall-through L_0285ADF8: ; // 0x285adf8 /* 0285ADF8 */ _t29 = cpu->r[1] + 0x0000002Cu; /* 0285ADF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 0285ADFC */ cpu->lr = cpu->r[0]; /* 0285AE00 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285AE04 */ return; } // fn_0285AE08 @ 0x285ae08 void Gambit_fn_0285AE08(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27; L_0285AE08: ; // 0x285ae08 /* 0285AE08 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285AE08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285AE08 */ cpu->r[1] = _t0; /* 0285AE0C */ /* nop */ /* 0285AE10 */ cpu->r[0] = cpu->lr; /* 0285AE14 */ _t1 = cpu->r[1] + 0x00000024u; /* 0285AE14 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285AE18 */ cpu->r[30] = cpu->r[5]; /* 0285AE1C */ _t2 = cpu->r[30] + 0x0000001Cu; /* 0285AE1C */ cpu->r[6] = rbrew_read8(cpu->mem, _t2); /* 0285AE20 */ cpu->r[29] = 0x00000000u; /* 0285AE24 */ cpu->r[27] = cpu->r[3]; /* 0285AE28 */ cpu->r[28] = cpu->r[4]; /* 0285AE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]); /* 0285AE30 */ cpu->r[7] = cpu->r[30] + 0x00000020u; /* 0285AE34 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AE34 */ _t4 = _t3 & 0x00000001u; /* 0285AE34 */ if (_t4) goto L_0285AE38; else goto L_0285AEF4; L_0285AE38: ; // 0x285ae38 /* 0285AE38 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFCu; L_0285AE3C: ; // 0x285ae3c /* 0285AE3C */ _t5 = cpu->r[31] + 0x00000004u; /* 0285AE3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5); /* 0285AE3C */ cpu->r[31] = _t5; /* 0285AE40 */ cpu->r[10] = 0x464C0000u; /* 0285AE44 */ _t6 = cpu->r[30] + cpu->r[8]; /* 0285AE44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 0285AE48 */ cpu->r[10] = cpu->r[10] + 0x00004354u; /* 0285AE4C */ cpu->r[4] = cpu->r[30] + cpu->r[8]; /* 0285AE50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]); /* 0285AE54 */ cpu->r[5] = cpu->r[4] + 0x00000008u; /* 0285AE58 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285AE58 */ _t8 = _t7 & 0x00000001u; /* 0285AE58 */ if (_t8) goto L_0285AED8; else goto L_0285AE5C; L_0285AE5C: ; // 0x285ae5c /* 0285AE5C */ cpu->r[11] = 0x464C0000u; /* 0285AE60 */ cpu->r[11] = cpu->r[11] + 0x00005041u; /* 0285AE64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]); /* 0285AE68 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285AE68 */ _t10 = _t9 & 0x00000001u; /* 0285AE68 */ if (_t10) goto L_0285AE9C; else goto L_0285AE6C; L_0285AE6C: ; // 0x285ae6c /* 0285AE6C */ cpu->r[12] = 0x464C0000u; /* 0285AE70 */ cpu->r[12] = cpu->r[12] + 0x00005643u; /* 0285AE74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]); /* 0285AE78 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285AE78 */ _t12 = _t11 & 0x00000001u; /* 0285AE78 */ if (_t12) goto L_0285AEC4; else goto L_0285AE7C; L_0285AE7C: ; // 0x285ae7c /* 0285AE7C */ cpu->r[0] = 0x464C0000u; /* 0285AE80 */ cpu->r[0] = cpu->r[0] | 0x00005649u; /* 0285AE84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]); /* 0285AE88 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285AE88 */ _t14 = _t13 & 0x00000001u; /* 0285AE88 */ if (_t14) goto L_0285AEB0; else goto L_0285AE8C; L_0285AE8C: ; // 0x285ae8c /* 0285AE8C */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 0285AE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]); /* 0285AE94 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AE94 */ _t16 = _t15 & 0x00000001u; /* 0285AE94 */ if (_t16) goto L_0285AE3C; else goto L_0285AE98; L_0285AE98: ; // 0x285ae98 /* 0285AE98 */ goto L_0285AEF4; L_0285AE9C: ; // 0x285ae9c /* 0285AE9C */ _t17 = cpu->r[27] + 0x0000000Cu; /* 0285AE9C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17); /* 0285AEA0 */ cpu->r[3] = cpu->r[28]; /* 0285AEA4 */ Gambit_fn_0285AA38(cpu); /* 0285AEA8 */ _t18 = cpu->r[30] + 0x0000001Cu; /* 0285AEA8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t18); /* 0285AEAC */ goto L_0285AEE8; L_0285AEB0: ; // 0x285aeb0 /* 0285AEB0 */ _t19 = cpu->r[27] + 0x0000000Cu; /* 0285AEB0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t19); /* 0285AEB4 */ cpu->r[3] = cpu->r[28]; /* 0285AEB8 */ Gambit_fn_0285ABA8(cpu); /* 0285AEBC */ _t20 = cpu->r[30] + 0x0000001Cu; /* 0285AEBC */ cpu->r[6] = rbrew_read8(cpu->mem, _t20); /* 0285AEC0 */ goto L_0285AEE8; L_0285AEC4: ; // 0x285aec4 /* 0285AEC4 */ _t21 = cpu->r[27] + 0x0000000Cu; /* 0285AEC4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t21); /* 0285AEC8 */ cpu->r[3] = cpu->r[28]; /* 0285AECC */ Gambit_fn_0285AC40(cpu); /* 0285AED0 */ _t22 = cpu->r[30] + 0x0000001Cu; /* 0285AED0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t22); /* 0285AED4 */ goto L_0285AEE8; L_0285AED8: ; // 0x285aed8 /* 0285AED8 */ _t23 = cpu->r[27] + 0x0000000Cu; /* 0285AED8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t23); /* 0285AEDC */ cpu->r[3] = cpu->r[28]; /* 0285AEE0 */ Gambit_fn_0285AD54(cpu); /* 0285AEE4 */ _t24 = cpu->r[30] + 0x0000001Cu; /* 0285AEE4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t24); L_0285AEE8: ; // 0x285aee8 /* 0285AEE8 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 0285AEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]); /* 0285AEF0 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AEF0 */ _t26 = _t25 & 0x00000001u; /* 0285AEF0 */ if (_t26) goto L_0285AE3C; else goto L_0285AEF4; L_0285AEF4: ; // 0x285aef4 /* 0285AEF4 */ /* nop */ /* 0285AEF8 */ _t27 = cpu->r[1] + 0x00000024u; /* 0285AEF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 0285AEFC */ cpu->lr = cpu->r[0]; /* 0285AF00 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285AF04 */ return; } // fn_0285AF08 @ 0x285af08 void Gambit_fn_0285AF08(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57; L_0285AF08: ; // 0x285af08 /* 0285AF08 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 0285AF08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285AF08 */ cpu->r[1] = _t0; /* 0285AF0C */ /* nop */ /* 0285AF10 */ cpu->r[0] = cpu->lr; /* 0285AF14 */ _t1 = cpu->r[1] + 0x00000028u; /* 0285AF14 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]); /* 0285AF18 */ _t2 = cpu->r[1] + 0x00000038u; /* 0285AF18 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]); /* 0285AF1C */ /* nop */ /* 0285AF20 */ _t3 = cpu->r[1] + 0x00000048u; /* 0285AF20 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]); /* 0285AF24 */ /* nop */ /* 0285AF28 */ _t4 = cpu->r[1] + 0x00000058u; /* 0285AF28 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]); /* 0285AF2C */ /* nop */ /* 0285AF30 */ _t5 = cpu->r[1] + 0x00000030u; /* 0285AF30 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]); /* 0285AF34 */ _t6 = cpu->r[1] + 0x00000040u; /* 0285AF34 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]); /* 0285AF38 */ /* nop */ /* 0285AF3C */ _t7 = cpu->r[1] + 0x00000050u; /* 0285AF3C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]); /* 0285AF40 */ cpu->r[31] = cpu->r[4]; /* 0285AF44 */ _t8 = cpu->r[1] + 0x00000060u; /* 0285AF44 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]); /* 0285AF48 */ cpu->r[28] = 0x00000000u; /* 0285AF4C */ _t9 = cpu->r[1] + 0x0000006Cu; /* 0285AF4C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0285AF50 */ _t10 = cpu->r[31] + 0x00000004u; /* 0285AF50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 0285AF54 */ cpu->r[30] = cpu->r[3]; /* 0285AF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]); /* 0285AF5C */ cpu->f[28] = cpu->f[1]; /* 0285AF60 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AF60 */ _t12 = _t11 & 0x00000001u; /* 0285AF60 */ if (_t12) goto L_0285AF64; else goto L_0285B060; L_0285AF64: ; // 0x285af64 /* 0285AF64 */ cpu->r[9] = 0x10130000u; /* 0285AF68 */ cpu->r[7] = 0x10130000u; /* 0285AF6C */ _t13 = cpu->r[9] + 0x000049E4u; /* 0285AF6C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t13); /* 0285AF70 */ cpu->r[12] = 0x10130000u; /* 0285AF74 */ _t14 = cpu->r[7] + 0x000049E0u; /* 0285AF74 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t14); /* 0285AF78 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu; /* 0285AF7C */ _t15 = cpu->r[12] + 0x000049D4u; /* 0285AF7C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15); L_0285AF80: ; // 0x285af80 /* 0285AF80 */ _t16 = cpu->r[29] + 0x00000004u; /* 0285AF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0285AF80 */ cpu->r[29] = _t16; /* 0285AF84 */ cpu->r[27] = cpu->r[31] + cpu->r[0]; /* 0285AF88 */ _t17 = cpu->r[27] + 0x00000008u; /* 0285AF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285AF8C */ cpu->f[1] = cpu->f[28]; /* 0285AF90 */ _t18 = cpu->r[27] + 0x00000004u; /* 0285AF90 */ cpu->r[4] = rbrew_read16(cpu->mem, _t18); /* 0285AF94 */ cpu->r[3] = cpu->r[27] + cpu->r[0]; /* 0285AF98 */ Gambit_fn_02869D1C(cpu); /* 0285AF9C */ cpu->f[12] = cpu->f[1] + cpu->f[30]; /* 0285AFA0 */ /* nop */ /* 0285AFA4 */ cpu->f[0] = cpu->f[13] - cpu->f[29]; /* 0285AFA8 */ /* nop */ /* 0285AFAC */ _t19 = cpu->r[27] + 0x00000001u; /* 0285AFAC */ cpu->r[11] = rbrew_read8(cpu->mem, _t19); /* 0285AFB0 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10]; /* 0285AFB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000008u); /* 0285AFB8 */ cpu->r[0] = cpu->r[1] + 0x00000008u; /* 0285AFBC */ /* nop */ /* 0285AFC0 */ _t20 = cpu->r[1] + 0x0000000Bu; /* 0285AFC0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t20); /* 0285AFC4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AFC4 */ _t22 = _t21 & 0x00000001u; /* 0285AFC4 */ if (_t22) goto L_0285AFC8; else goto L_0285B050; L_0285AFC8: ; // 0x285afc8 /* 0285AFC8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0285AFCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000001u); /* 0285AFD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x00000002u, 0x0000001Fu); /* 0285AFD4 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AFD4 */ _t24 = _t23 & 0x00000001u; /* 0285AFD4 */ if (_t24) goto L_0285AFE8; else goto L_0285AFD8; L_0285AFD8: ; // 0x285afd8 /* 0285AFD8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285AFD8 */ _t26 = _t25 & 0x00000001u; /* 0285AFD8 */ if (_t26) goto L_0285B004; else goto L_0285AFDC; L_0285AFDC: ; // 0x285afdc /* 0285AFDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000003u); /* 0285AFE0 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AFE0 */ _t28 = _t27 & 0x00000001u; /* 0285AFE0 */ if (_t28) goto L_0285B024; else goto L_0285AFE4; L_0285AFE4: ; // 0x285afe4 /* 0285AFE4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285AFE4 */ _t30 = _t29 & 0x00000001u; /* 0285AFE4 */ if (_t30) goto L_0285B044; else goto L_0285AFE8; L_0285AFE8: ; // 0x285afe8 /* 0285AFE8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285AFEC */ _t31 = cpu->r[10] + cpu->r[30]; /* 0285AFEC */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[6]); /* 0285AFF0 */ _t32 = cpu->r[31] + 0x00000004u; /* 0285AFF0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t32); /* 0285AFF4 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 0285AFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]); /* 0285AFFC */ _t33 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285AFFC */ _t34 = _t33 & 0x00000001u; /* 0285AFFC */ if (_t34) goto L_0285AF80; else goto L_0285B000; L_0285B000: ; // 0x285b000 /* 0285B000 */ goto L_0285B060; L_0285B004: ; // 0x285b004 /* 0285B004 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285B008 */ cpu->r[12] = cpu->r[30] + cpu->r[0]; /* 0285B00C */ _t35 = cpu->r[12] + 0x00000001u; /* 0285B00C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[6]); /* 0285B010 */ _t36 = cpu->r[31] + 0x00000004u; /* 0285B010 */ cpu->r[11] = rbrew_read8(cpu->mem, _t36); /* 0285B014 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 0285B018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]); /* 0285B01C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B01C */ _t38 = _t37 & 0x00000001u; /* 0285B01C */ if (_t38) goto L_0285AF80; else goto L_0285B020; L_0285B020: ; // 0x285b020 /* 0285B020 */ goto L_0285B060; L_0285B024: ; // 0x285b024 /* 0285B024 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285B028 */ cpu->r[8] = cpu->r[30] + cpu->r[7]; /* 0285B02C */ _t39 = cpu->r[8] + 0x00000002u; /* 0285B02C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[6]); /* 0285B030 */ _t40 = cpu->r[31] + 0x00000004u; /* 0285B030 */ cpu->r[11] = rbrew_read8(cpu->mem, _t40); /* 0285B034 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 0285B038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]); /* 0285B03C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B03C */ _t42 = _t41 & 0x00000001u; /* 0285B03C */ if (_t42) goto L_0285AF80; else goto L_0285B040; L_0285B040: ; // 0x285b040 /* 0285B040 */ goto L_0285B060; L_0285B044: ; // 0x285b044 /* 0285B044 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285B048 */ cpu->r[10] = cpu->r[30] + cpu->r[9]; /* 0285B04C */ _t43 = cpu->r[10] + 0x00000003u; /* 0285B04C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[6]); L_0285B050: ; // 0x285b050 /* 0285B050 */ _t44 = cpu->r[31] + 0x00000004u; /* 0285B050 */ cpu->r[11] = rbrew_read8(cpu->mem, _t44); /* 0285B054 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 0285B058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]); /* 0285B05C */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B05C */ _t46 = _t45 & 0x00000001u; /* 0285B05C */ if (_t46) goto L_0285AF80; else goto L_0285B060; L_0285B060: ; // 0x285b060 /* 0285B060 */ /* nop */ /* 0285B064 */ _t47 = cpu->r[1] + 0x00000040u; /* 0285B064 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t47); /* 0285B068 */ _t48 = cpu->r[1] + 0x00000050u; /* 0285B068 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t48); /* 0285B06C */ _t49 = cpu->r[1] + 0x00000038u; /* 0285B06C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t49); /* 0285B070 */ _t50 = cpu->r[1] + 0x00000048u; /* 0285B070 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t50); /* 0285B074 */ _t51 = cpu->r[1] + 0x00000030u; /* 0285B074 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t51); /* 0285B078 */ _t52 = cpu->r[1] + 0x00000060u; /* 0285B078 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t52); /* 0285B07C */ _t53 = cpu->r[1] + 0x00000028u; /* 0285B07C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t53); /* 0285B080 */ _t54 = cpu->r[1] + 0x00000058u; /* 0285B080 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t54); /* 0285B084 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B084 */ _t56 = _t55 & 0x00000001u; /* 0285B084 */ if (_t56) goto L_0285B088; // else: addr-0 trap, fall-through L_0285B088: ; // 0x285b088 /* 0285B088 */ _t57 = cpu->r[1] + 0x0000006Cu; /* 0285B088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57); /* 0285B08C */ cpu->lr = cpu->r[0]; /* 0285B090 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 0285B094 */ return; } // fn_0285B098 @ 0x285b098 void Gambit_fn_0285B098(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22; L_0285B098: ; // 0x285b098 /* 0285B098 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0285B098 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B098 */ cpu->r[1] = _t0; /* 0285B09C */ /* nop */ /* 0285B0A0 */ cpu->r[0] = cpu->lr; /* 0285B0A4 */ _t1 = cpu->r[1] + 0x00000020u; /* 0285B0A4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0285B0A8 */ _t2 = cpu->r[1] + 0x00000034u; /* 0285B0A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285B0AC */ /* nop */ /* 0285B0B0 */ _t3 = cpu->r[1] + 0x00000028u; /* 0285B0B0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 0285B0B4 */ cpu->r[31] = cpu->r[4]; /* 0285B0B8 */ cpu->r[26] = 0x00000000u; /* 0285B0BC */ _t4 = cpu->r[31] + 0x00000004u; /* 0285B0BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4); /* 0285B0C0 */ cpu->r[30] = cpu->r[3]; /* 0285B0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[12]); /* 0285B0C8 */ cpu->f[31] = cpu->f[1]; /* 0285B0CC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B0CC */ _t6 = _t5 & 0x00000001u; /* 0285B0CC */ if (_t6) goto L_0285B0D0; else goto L_0285B12C; L_0285B0D0: ; // 0x285b0d0 /* 0285B0D0 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu; L_0285B0D4: ; // 0x285b0d4 /* 0285B0D4 */ _t7 = cpu->r[29] + 0x00000004u; /* 0285B0D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285B0D4 */ cpu->r[29] = _t7; /* 0285B0D8 */ cpu->r[10] = cpu->r[31] + cpu->r[0]; /* 0285B0DC */ _t8 = cpu->r[31] + cpu->r[0]; /* 0285B0DC */ cpu->r[27] = rbrew_read8(cpu->mem, _t8); /* 0285B0E0 */ _t9 = cpu->r[10] + 0x00000008u; /* 0285B0E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 0285B0E4 */ cpu->f[1] = cpu->f[31]; /* 0285B0E8 */ _t10 = cpu->r[10] + 0x00000004u; /* 0285B0E8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t10); /* 0285B0EC */ cpu->r[3] = cpu->r[10] + cpu->r[8]; /* 0285B0F0 */ _t11 = cpu->r[10] + 0x00000001u; /* 0285B0F0 */ cpu->r[28] = rbrew_read8(cpu->mem, _t11); /* 0285B0F4 */ Gambit_fn_02869D1C(cpu); /* 0285B0F8 */ _t12 = cpu->r[30] + 0x00000008u; /* 0285B0F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12); /* 0285B0FC */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x00000014u); /* 0285B100 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000012u, 0x0000001Eu, 0x0000001Fu); /* 0285B104 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000001Cu); /* 0285B108 */ _t13 = cpu->r[30] + 0x0000000Cu; /* 0285B108 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13); /* 0285B10C */ cpu->r[12] = cpu->r[6] + cpu->r[0]; /* 0285B110 */ cpu->r[9] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285B114 */ cpu->r[8] = cpu->r[12] + cpu->r[7]; /* 0285B118 */ _t14 = cpu->r[9] + cpu->r[8]; /* 0285B118 */ rbrew_write32(cpu->mem, _t14, cpu->r[1]); /* 0285B11C */ _t15 = cpu->r[31] + 0x00000004u; /* 0285B11C */ cpu->r[0] = rbrew_read8(cpu->mem, _t15); /* 0285B120 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0285B124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[0]); /* 0285B128 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B128 */ _t17 = _t16 & 0x00000001u; /* 0285B128 */ if (_t17) goto L_0285B0D4; else goto L_0285B12C; L_0285B12C: ; // 0x285b12c /* 0285B12C */ /* nop */ /* 0285B130 */ _t18 = cpu->r[1] + 0x00000028u; /* 0285B130 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18); /* 0285B134 */ _t19 = cpu->r[1] + 0x00000020u; /* 0285B134 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19); /* 0285B138 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B138 */ _t21 = _t20 & 0x00000001u; /* 0285B138 */ if (_t21) goto L_0285B13C; // else: addr-0 trap, fall-through L_0285B13C: ; // 0x285b13c /* 0285B13C */ _t22 = cpu->r[1] + 0x00000034u; /* 0285B13C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0285B140 */ cpu->lr = cpu->r[0]; /* 0285B144 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0285B148 */ return; } // fn_0285B14C @ 0x285b14c void Gambit_fn_0285B14C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23; L_0285B14C: ; // 0x285b14c /* 0285B14C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0285B14C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B14C */ cpu->r[1] = _t0; /* 0285B150 */ /* nop */ /* 0285B154 */ cpu->r[0] = cpu->lr; /* 0285B158 */ _t1 = cpu->r[1] + 0x00000020u; /* 0285B158 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0285B15C */ /* nop */ /* 0285B160 */ _t2 = cpu->r[1] + 0x00000028u; /* 0285B160 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0285B164 */ _t3 = cpu->r[1] + 0x00000034u; /* 0285B164 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285B168 */ cpu->r[29] = cpu->r[3]; /* 0285B16C */ cpu->r[27] = 0x00000000u; /* 0285B170 */ cpu->r[30] = cpu->r[4]; /* 0285B174 */ _t4 = cpu->r[30] + 0x00000004u; /* 0285B174 */ cpu->r[7] = rbrew_read8(cpu->mem, _t4); /* 0285B178 */ cpu->r[31] = cpu->r[6]; /* 0285B17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[7]); /* 0285B180 */ cpu->f[31] = cpu->f[1]; /* 0285B184 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B184 */ _t6 = _t5 & 0x00000001u; /* 0285B184 */ if (_t6) goto L_0285B188; else goto L_0285B1E0; L_0285B188: ; // 0x285b188 /* 0285B188 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFCu; L_0285B18C: ; // 0x285b18c /* 0285B18C */ _t7 = cpu->r[28] + 0x00000004u; /* 0285B18C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 0285B18C */ cpu->r[28] = _t7; /* 0285B190 */ cpu->r[6] = cpu->r[30] + cpu->r[11]; /* 0285B194 */ _t8 = cpu->r[6] + 0x00000008u; /* 0285B194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285B198 */ cpu->f[1] = cpu->f[31]; /* 0285B19C */ _t9 = cpu->r[6] + 0x00000004u; /* 0285B19C */ cpu->r[4] = rbrew_read16(cpu->mem, _t9); /* 0285B1A0 */ cpu->r[3] = cpu->r[6] + cpu->r[0]; /* 0285B1A4 */ Gambit_fn_0285AADC(cpu); /* 0285B1A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285B1AC */ _t10 = cpu->r[12] + cpu->r[31]; /* 0285B1AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 0285B1B0 */ _t11 = cpu->r[4] + 0x00000000u; /* 0285B1B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0285B1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285B1B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B1B8 */ _t13 = _t12 & 0x00000001u; /* 0285B1B8 */ if (_t13) goto L_0285B1D4; else goto L_0285B1BC; L_0285B1BC: ; // 0x285b1bc /* 0285B1BC */ _t14 = cpu->r[6] + 0x00000000u; /* 0285B1BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t14); /* 0285B1C0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 0285B1C4 */ _t15 = cpu->r[29] + 0x0000000Cu; /* 0285B1C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15); /* 0285B1C8 */ cpu->r[3] = cpu->r[5] + cpu->r[0]; /* 0285B1CC */ Gambit_fn_0285EAD0(cpu); /* 0285B1D0 */ _t16 = cpu->r[30] + 0x00000004u; /* 0285B1D0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t16); L_0285B1D4: ; // 0x285b1d4 /* 0285B1D4 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 0285B1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[7]); /* 0285B1DC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B1DC */ _t18 = _t17 & 0x00000001u; /* 0285B1DC */ if (_t18) goto L_0285B18C; else goto L_0285B1E0; L_0285B1E0: ; // 0x285b1e0 /* 0285B1E0 */ /* nop */ /* 0285B1E4 */ _t19 = cpu->r[1] + 0x00000028u; /* 0285B1E4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19); /* 0285B1E8 */ _t20 = cpu->r[1] + 0x00000020u; /* 0285B1E8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20); /* 0285B1EC */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B1EC */ _t22 = _t21 & 0x00000001u; /* 0285B1EC */ if (_t22) goto L_0285B1F0; // else: addr-0 trap, fall-through L_0285B1F0: ; // 0x285b1f0 /* 0285B1F0 */ _t23 = cpu->r[1] + 0x00000034u; /* 0285B1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0285B1F4 */ cpu->lr = cpu->r[0]; /* 0285B1F8 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0285B1FC */ return; } // fn_0285B200 @ 0x285b200 void Gambit_fn_0285B200(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285B200: ; // 0x285b200 /* 0285B200 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0285B200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B200 */ cpu->r[1] = _t0; /* 0285B204 */ /* nop */ /* 0285B208 */ cpu->r[0] = cpu->lr; /* 0285B20C */ _t1 = cpu->r[1] + 0x00000020u; /* 0285B20C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0285B210 */ _t2 = cpu->r[1] + 0x00000034u; /* 0285B210 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285B214 */ /* nop */ /* 0285B218 */ _t3 = cpu->r[1] + 0x00000028u; /* 0285B218 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 0285B21C */ cpu->r[28] = 0x00000000u; /* 0285B220 */ cpu->r[31] = cpu->r[4]; /* 0285B224 */ _t4 = cpu->r[31] + 0x00000004u; /* 0285B224 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4); /* 0285B228 */ cpu->r[30] = cpu->r[3]; /* 0285B22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]); /* 0285B230 */ cpu->f[31] = cpu->f[1]; /* 0285B234 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B234 */ _t6 = _t5 & 0x00000001u; /* 0285B234 */ if (_t6) goto L_0285B238; else goto L_0285B2B4; L_0285B238: ; // 0x285b238 /* 0285B238 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu; L_0285B23C: ; // 0x285b23c /* 0285B23C */ _t7 = cpu->r[29] + 0x00000004u; /* 0285B23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285B23C */ cpu->r[29] = _t7; /* 0285B240 */ cpu->r[5] = cpu->r[31] + cpu->r[0]; /* 0285B244 */ _t8 = cpu->r[5] + 0x00000008u; /* 0285B244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285B248 */ cpu->f[1] = cpu->f[31]; /* 0285B24C */ _t9 = cpu->r[5] + 0x00000001u; /* 0285B24C */ cpu->r[27] = rbrew_read8(cpu->mem, _t9); /* 0285B250 */ cpu->r[3] = cpu->r[5] + cpu->r[0]; /* 0285B254 */ _t10 = cpu->r[5] + 0x00000004u; /* 0285B254 */ cpu->r[4] = rbrew_read16(cpu->mem, _t10); /* 0285B258 */ Gambit_fn_02869D1C(cpu); /* 0285B25C */ _t11 = cpu->r[30] + 0x00000008u; /* 0285B25C */ cpu->r[7] = rbrew_read16(cpu->mem, _t11); /* 0285B260 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000012u, 0x0000001Eu, 0x0000001Fu); /* 0285B264 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 0285B268 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x0000001Au, 0x0000001Fu, 0x0000001Fu); /* 0285B26C */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000014u, 0x0000001Eu, 0x0000001Fu); /* 0285B270 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000016u, 0x0000001Eu, 0x0000001Fu); /* 0285B274 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000014u); /* 0285B278 */ cpu->r[10] = cpu->r[6] + cpu->r[8]; /* 0285B27C */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285B280 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 0285B284 */ cpu->r[5] = cpu->r[11] + cpu->r[0]; /* 0285B288 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285B28C */ cpu->r[6] = cpu->r[6] + cpu->r[5]; /* 0285B290 */ _t12 = cpu->r[30] + 0x0000000Cu; /* 0285B290 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12); /* 0285B294 */ cpu->r[8] = cpu->r[6] + cpu->r[0]; /* 0285B298 */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285B29C */ cpu->r[9] = cpu->r[9] + cpu->r[8]; /* 0285B2A0 */ _t13 = cpu->r[10] + cpu->r[9]; /* 0285B2A0 */ rbrew_write32(cpu->mem, _t13, cpu->r[1]); /* 0285B2A4 */ _t14 = cpu->r[31] + 0x00000004u; /* 0285B2A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14); /* 0285B2A8 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 0285B2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]); /* 0285B2B0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B2B0 */ _t16 = _t15 & 0x00000001u; /* 0285B2B0 */ if (_t16) goto L_0285B23C; else goto L_0285B2B4; L_0285B2B4: ; // 0x285b2b4 /* 0285B2B4 */ /* nop */ /* 0285B2B8 */ _t17 = cpu->r[1] + 0x00000028u; /* 0285B2B8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17); /* 0285B2BC */ _t18 = cpu->r[1] + 0x00000020u; /* 0285B2BC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18); /* 0285B2C0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B2C0 */ _t20 = _t19 & 0x00000001u; /* 0285B2C0 */ if (_t20) goto L_0285B2C4; // else: addr-0 trap, fall-through L_0285B2C4: ; // 0x285b2c4 /* 0285B2C4 */ _t21 = cpu->r[1] + 0x00000034u; /* 0285B2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0285B2C8 */ cpu->lr = cpu->r[0]; /* 0285B2CC */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0285B2D0 */ return; } // fn_0285B2D4 @ 0x285b2d4 void Gambit_fn_0285B2D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38; L_0285B2D4: ; // 0x285b2d4 /* 0285B2D4 */ _t0 = cpu->r[1] + 0xFFFFFFB8u; /* 0285B2D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B2D4 */ cpu->r[1] = _t0; /* 0285B2D8 */ cpu->r[0] = cpu->lr; /* 0285B2DC */ _t1 = cpu->r[1] + 0x00000028u; /* 0285B2DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 0285B2E0 */ /* nop */ /* 0285B2E4 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285B2E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0285B2E8 */ _t3 = cpu->r[1] + 0x00000030u; /* 0285B2E8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]); /* 0285B2EC */ _t4 = cpu->r[1] + 0x00000038u; /* 0285B2EC */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]); /* 0285B2F0 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0285B2F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]); /* 0285B2F4 */ _t6 = cpu->r[1] + 0x00000018u; /* 0285B2F4 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[29]); /* 0285B2F8 */ _t7 = cpu->r[1] + 0x0000004Cu; /* 0285B2F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285B2FC */ /* nop */ /* 0285B300 */ _t8 = cpu->r[1] + 0x00000010u; /* 0285B300 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0285B304 */ _t9 = cpu->r[1] + 0x00000040u; /* 0285B304 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]); /* 0285B308 */ /* nop */ /* 0285B30C */ _t10 = cpu->r[1] + 0x00000014u; /* 0285B30C */ rbrew_write32(cpu->mem, _t10, cpu->r[31]); /* 0285B310 */ cpu->r[28] = cpu->r[4]; /* 0285B314 */ _t11 = cpu->r[1] + 0x00000020u; /* 0285B314 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[29]); /* 0285B318 */ _t12 = cpu->r[28] + 0x00000004u; /* 0285B318 */ cpu->r[10] = rbrew_read8(cpu->mem, _t12); /* 0285B31C */ cpu->r[29] = 0x00000000u; /* 0285B320 */ cpu->r[31] = cpu->r[3]; /* 0285B324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]); /* 0285B328 */ cpu->f[29] = cpu->f[1]; /* 0285B32C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B32C */ _t14 = _t13 & 0x00000001u; /* 0285B32C */ if (_t14) goto L_0285B330; else goto L_0285B3AC; L_0285B330: ; // 0x285b330 /* 0285B330 */ cpu->r[10] = 0x10130000u; /* 0285B334 */ cpu->r[8] = 0x10130000u; /* 0285B338 */ _t15 = cpu->r[10] + 0x000049D4u; /* 0285B338 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t15); /* 0285B33C */ _t16 = cpu->r[8] + 0x000049E8u; /* 0285B33C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16); /* 0285B340 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFCu; L_0285B344: ; // 0x285b344 /* 0285B344 */ _t17 = cpu->r[30] + 0x00000004u; /* 0285B344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285B344 */ cpu->r[30] = _t17; /* 0285B348 */ cpu->r[12] = cpu->r[28] + cpu->r[0]; /* 0285B34C */ _t18 = cpu->r[12] + 0x00000008u; /* 0285B34C */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 0285B350 */ cpu->f[1] = cpu->f[29]; /* 0285B354 */ _t19 = cpu->r[12] + 0x00000004u; /* 0285B354 */ cpu->r[4] = rbrew_read16(cpu->mem, _t19); /* 0285B358 */ cpu->r[3] = cpu->r[12] + cpu->r[6]; /* 0285B35C */ Gambit_fn_02869D1C(cpu); /* 0285B360 */ _t20 = cpu->r[31] + 0x00000008u; /* 0285B360 */ cpu->r[9] = rbrew_read16(cpu->mem, _t20); /* 0285B364 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000012u, 0x0000001Eu, 0x0000001Fu); /* 0285B368 */ /* nop */ /* 0285B36C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 0285B370 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000014u, 0x0000001Eu, 0x0000001Fu); /* 0285B374 */ cpu->f[13] = cpu->f[12] - cpu->f[31]; /* 0285B378 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000016u, 0x0000001Eu, 0x0000001Fu); /* 0285B37C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000014u); /* 0285B380 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285B384 */ _t21 = cpu->r[31] + 0x0000000Cu; /* 0285B384 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21); /* 0285B388 */ cpu->r[6] = cpu->r[11] + cpu->r[0]; /* 0285B38C */ /* nop */ /* 0285B390 */ cpu->r[9] = cpu->r[6] + cpu->r[8]; /* 0285B394 */ cpu->r[12] = cpu->r[10] + cpu->r[9]; /* 0285B398 */ _t22 = cpu->r[12] + 0x00000004u; /* 0285B398 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]); /* 0285B39C */ _t23 = cpu->r[28] + 0x00000004u; /* 0285B39C */ cpu->r[0] = rbrew_read8(cpu->mem, _t23); /* 0285B3A0 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 0285B3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 0285B3A8 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B3A8 */ _t25 = _t24 & 0x00000001u; /* 0285B3A8 */ if (_t25) goto L_0285B344; else goto L_0285B3AC; L_0285B3AC: ; // 0x285b3ac /* 0285B3AC */ _t26 = cpu->r[1] + 0x00000008u; /* 0285B3AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t26); /* 0285B3B0 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 0285B3B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27); /* 0285B3B4 */ _t28 = cpu->r[1] + 0x00000040u; /* 0285B3B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28); /* 0285B3B8 */ _t29 = cpu->r[1] + 0x00000020u; /* 0285B3B8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t29); /* 0285B3BC */ _t30 = cpu->r[1] + 0x00000038u; /* 0285B3BC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30); /* 0285B3C0 */ _t31 = cpu->r[1] + 0x00000030u; /* 0285B3C0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t31); /* 0285B3C4 */ _t32 = cpu->r[1] + 0x00000018u; /* 0285B3C4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t32); /* 0285B3C8 */ _t33 = cpu->r[1] + 0x00000028u; /* 0285B3C8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t33); /* 0285B3CC */ _t34 = cpu->r[1] + 0x00000014u; /* 0285B3CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 0285B3D0 */ _t35 = cpu->r[1] + 0x00000010u; /* 0285B3D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35); /* 0285B3D4 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B3D4 */ _t37 = _t36 & 0x00000001u; /* 0285B3D4 */ if (_t37) goto L_0285B3D8; // else: addr-0 trap, fall-through L_0285B3D8: ; // 0x285b3d8 /* 0285B3D8 */ _t38 = cpu->r[1] + 0x0000004Cu; /* 0285B3D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 0285B3DC */ cpu->lr = cpu->r[0]; /* 0285B3E0 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 0285B3E4 */ return; } // fn_0285B3E8 @ 0x285b3e8 void Gambit_fn_0285B3E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37; L_0285B3E8: ; // 0x285b3e8 /* 0285B3E8 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 0285B3E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B3E8 */ cpu->r[1] = _t0; /* 0285B3EC */ /* nop */ /* 0285B3F0 */ cpu->r[0] = cpu->lr; /* 0285B3F4 */ _t1 = cpu->r[1] + 0x00000028u; /* 0285B3F4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]); /* 0285B3F8 */ _t2 = cpu->r[1] + 0x00000038u; /* 0285B3F8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]); /* 0285B3FC */ /* nop */ /* 0285B400 */ _t3 = cpu->r[1] + 0x00000048u; /* 0285B400 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]); /* 0285B404 */ /* nop */ /* 0285B408 */ _t4 = cpu->r[1] + 0x00000058u; /* 0285B408 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]); /* 0285B40C */ /* nop */ /* 0285B410 */ _t5 = cpu->r[1] + 0x00000030u; /* 0285B410 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]); /* 0285B414 */ _t6 = cpu->r[1] + 0x00000040u; /* 0285B414 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]); /* 0285B418 */ /* nop */ /* 0285B41C */ _t7 = cpu->r[1] + 0x00000050u; /* 0285B41C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]); /* 0285B420 */ _t8 = cpu->r[1] + 0x00000060u; /* 0285B420 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]); /* 0285B424 */ cpu->r[31] = cpu->r[4]; /* 0285B428 */ _t9 = cpu->r[1] + 0x0000006Cu; /* 0285B428 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0285B42C */ _t10 = cpu->r[31] + 0x00000004u; /* 0285B42C */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 0285B430 */ cpu->r[29] = 0x00000000u; /* 0285B434 */ cpu->r[30] = cpu->r[3]; /* 0285B438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]); /* 0285B43C */ cpu->f[28] = cpu->f[1]; /* 0285B440 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B440 */ _t12 = _t11 & 0x00000001u; /* 0285B440 */ if (_t12) goto L_0285B444; else goto L_0285B518; L_0285B444: ; // 0x285b444 /* 0285B444 */ cpu->r[9] = 0x10130000u; /* 0285B448 */ cpu->r[8] = 0x10130000u; /* 0285B44C */ _t13 = cpu->r[9] + 0x000049E4u; /* 0285B44C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13); /* 0285B450 */ cpu->r[6] = 0x10130000u; /* 0285B454 */ _t14 = cpu->r[8] + 0x000049E0u; /* 0285B454 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t14); /* 0285B458 */ _t15 = cpu->r[6] + 0x000049D4u; /* 0285B458 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t15); /* 0285B45C */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFCu; L_0285B460: ; // 0x285b460 /* 0285B460 */ _t16 = cpu->r[28] + 0x00000004u; /* 0285B460 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16); /* 0285B460 */ cpu->r[28] = _t16; /* 0285B464 */ cpu->r[27] = cpu->r[31] + cpu->r[6]; /* 0285B468 */ _t17 = cpu->r[27] + 0x00000008u; /* 0285B468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285B46C */ cpu->f[1] = cpu->f[28]; /* 0285B470 */ _t18 = cpu->r[27] + 0x00000004u; /* 0285B470 */ cpu->r[4] = rbrew_read16(cpu->mem, _t18); /* 0285B474 */ cpu->r[3] = cpu->r[27] + cpu->r[0]; /* 0285B478 */ Gambit_fn_02869D1C(cpu); /* 0285B47C */ _t19 = cpu->r[30] + 0x00000008u; /* 0285B47C */ cpu->r[10] = rbrew_read16(cpu->mem, _t19); /* 0285B480 */ cpu->f[0] = cpu->f[1] + cpu->f[31]; /* 0285B484 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Au, 0x0000001Fu, 0x0000001Fu); /* 0285B488 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000016u, 0x0000001Eu, 0x0000001Fu); /* 0285B48C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000014u, 0x0000001Eu, 0x0000001Fu); /* 0285B490 */ /* nop */ /* 0285B494 */ cpu->r[0] = cpu->r[9] + cpu->r[11]; /* 0285B498 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000014u); /* 0285B49C */ cpu->f[11] = cpu->f[0] - cpu->f[30]; /* 0285B4A0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000012u, 0x0000001Eu, 0x0000001Fu); /* 0285B4A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 0285B4A8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 0285B4AC */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 0285B4B0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Eu, 0x0000001Fu); /* 0285B4B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285B4B8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000019u, 0x0000001Du, 0x0000001Fu); /* 0285B4BC */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 0285B4C0 */ /* nop */ /* 0285B4C4 */ cpu->r[10] = cpu->r[7] + cpu->r[9]; /* 0285B4C8 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu); /* 0285B4CC */ cpu->r[11] = cpu->r[5] + cpu->r[10]; /* 0285B4D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285B4D4 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[12]; /* 0285B4D8 */ cpu->r[12] = cpu->r[11] + cpu->r[0]; /* 0285B4DC */ _t20 = cpu->r[27] + 0x00000001u; /* 0285B4DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t20); /* 0285B4E0 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000014u); /* 0285B4E4 */ cpu->r[8] = cpu->r[12] + cpu->r[8]; /* 0285B4E8 */ _t21 = cpu->r[30] + 0x0000000Cu; /* 0285B4E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 0285B4EC */ cpu->r[12] = cpu->r[8] + cpu->r[10]; /* 0285B4F0 */ cpu->r[8] = cpu->r[1] + 0x00000008u; /* 0285B4F4 */ cpu->r[11] = cpu->r[12] + cpu->r[7]; /* 0285B4F8 */ /* nop */ /* 0285B4FC */ _t22 = cpu->r[1] + 0x0000000Bu; /* 0285B4FC */ cpu->r[5] = rbrew_read8(cpu->mem, _t22); /* 0285B500 */ cpu->r[11] = cpu->r[9] + cpu->r[11]; /* 0285B504 */ _t23 = cpu->r[11] + cpu->r[0]; /* 0285B504 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[5]); /* 0285B508 */ _t24 = cpu->r[31] + 0x00000004u; /* 0285B508 */ cpu->r[10] = rbrew_read8(cpu->mem, _t24); /* 0285B50C */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 0285B510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]); /* 0285B514 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B514 */ _t26 = _t25 & 0x00000001u; /* 0285B514 */ if (_t26) goto L_0285B460; else goto L_0285B518; L_0285B518: ; // 0x285b518 /* 0285B518 */ /* nop */ /* 0285B51C */ _t27 = cpu->r[1] + 0x00000040u; /* 0285B51C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t27); /* 0285B520 */ _t28 = cpu->r[1] + 0x00000050u; /* 0285B520 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t28); /* 0285B524 */ _t29 = cpu->r[1] + 0x00000038u; /* 0285B524 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t29); /* 0285B528 */ _t30 = cpu->r[1] + 0x00000048u; /* 0285B528 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t30); /* 0285B52C */ _t31 = cpu->r[1] + 0x00000030u; /* 0285B52C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t31); /* 0285B530 */ _t32 = cpu->r[1] + 0x00000060u; /* 0285B530 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32); /* 0285B534 */ _t33 = cpu->r[1] + 0x00000028u; /* 0285B534 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t33); /* 0285B538 */ _t34 = cpu->r[1] + 0x00000058u; /* 0285B538 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t34); /* 0285B53C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B53C */ _t36 = _t35 & 0x00000001u; /* 0285B53C */ if (_t36) goto L_0285B540; // else: addr-0 trap, fall-through L_0285B540: ; // 0x285b540 /* 0285B540 */ _t37 = cpu->r[1] + 0x0000006Cu; /* 0285B540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0285B544 */ cpu->lr = cpu->r[0]; /* 0285B548 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 0285B54C */ return; } // fn_0285B550 @ 0x285b550 void Gambit_fn_0285B550(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40; L_0285B550: ; // 0x285b550 /* 0285B550 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285B550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B550 */ cpu->r[1] = _t0; /* 0285B554 */ /* nop */ /* 0285B558 */ cpu->r[0] = cpu->lr; /* 0285B55C */ _t1 = cpu->r[1] + 0x00000024u; /* 0285B55C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285B560 */ cpu->r[30] = cpu->r[5]; /* 0285B564 */ _t2 = cpu->r[30] + 0x0000001Cu; /* 0285B564 */ cpu->r[8] = rbrew_read8(cpu->mem, _t2); /* 0285B568 */ cpu->r[29] = 0x00000000u; /* 0285B56C */ cpu->r[27] = cpu->r[3]; /* 0285B570 */ cpu->r[28] = cpu->r[4]; /* 0285B574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]); /* 0285B578 */ cpu->r[12] = cpu->r[30] + 0x00000020u; /* 0285B57C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B57C */ _t4 = _t3 & 0x00000001u; /* 0285B57C */ if (_t4) goto L_0285B580; else goto L_0285B6A8; L_0285B580: ; // 0x285b580 /* 0285B580 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFCu; L_0285B584: ; // 0x285b584 /* 0285B584 */ _t5 = cpu->r[31] + 0x00000004u; /* 0285B584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0285B584 */ cpu->r[31] = _t5; /* 0285B588 */ cpu->r[11] = 0x464C0000u; /* 0285B58C */ _t6 = cpu->r[30] + cpu->r[0]; /* 0285B58C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 0285B590 */ cpu->r[11] = cpu->r[11] + 0x00004D43u; /* 0285B594 */ cpu->r[4] = cpu->r[30] + cpu->r[0]; /* 0285B598 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]); /* 0285B59C */ cpu->r[5] = cpu->r[4] + 0x00000008u; /* 0285B5A0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B5A0 */ _t8 = _t7 & 0x00000001u; /* 0285B5A0 */ if (_t8) goto L_0285B5A4; else goto L_0285B5E4; L_0285B5A4: ; // 0x285b5a4 /* 0285B5A4 */ cpu->r[12] = 0x464C0000u; /* 0285B5A8 */ cpu->r[12] = cpu->r[12] + 0x00004143u; /* 0285B5AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]); /* 0285B5B0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B5B0 */ _t10 = _t9 & 0x00000001u; /* 0285B5B0 */ if (_t10) goto L_0285B678; else goto L_0285B5B4; L_0285B5B4: ; // 0x285b5b4 /* 0285B5B4 */ cpu->r[0] = 0x464C0000u; /* 0285B5B8 */ cpu->r[0] = cpu->r[0] | 0x00004653u; /* 0285B5BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]); /* 0285B5C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B5C0 */ _t12 = _t11 & 0x00000001u; /* 0285B5C0 */ if (_t12) goto L_0285B68C; else goto L_0285B5C4; L_0285B5C4: ; // 0x285b5c4 /* 0285B5C4 */ cpu->r[10] = 0x464C0000u; /* 0285B5C8 */ cpu->r[10] = cpu->r[10] + 0x0000494Du; /* 0285B5CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]); /* 0285B5D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B5D0 */ _t14 = _t13 & 0x00000001u; /* 0285B5D0 */ if (_t14) goto L_0285B664; else goto L_0285B5D4; L_0285B5D4: ; // 0x285b5d4 /* 0285B5D4 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 0285B5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]); /* 0285B5DC */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B5DC */ _t16 = _t15 & 0x00000001u; /* 0285B5DC */ if (_t16) goto L_0285B584; else goto L_0285B5E0; L_0285B5E0: ; // 0x285b5e0 /* 0285B5E0 */ goto L_0285B6A8; L_0285B5E4: ; // 0x285b5e4 /* 0285B5E4 */ cpu->r[11] = 0x464C0000u; /* 0285B5E8 */ cpu->r[11] = cpu->r[11] + 0x00004D43u; /* 0285B5EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]); /* 0285B5F0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B5F0 */ _t18 = _t17 & 0x00000001u; /* 0285B5F0 */ if (_t18) goto L_0285B624; else goto L_0285B5F4; L_0285B5F4: ; // 0x285b5f4 /* 0285B5F4 */ cpu->r[12] = 0x464C0000u; /* 0285B5F8 */ cpu->r[12] = cpu->r[12] + 0x00005450u; /* 0285B5FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]); /* 0285B600 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B600 */ _t20 = _t19 & 0x00000001u; /* 0285B600 */ if (_t20) goto L_0285B64C; else goto L_0285B604; L_0285B604: ; // 0x285b604 /* 0285B604 */ cpu->r[0] = 0x464C0000u; /* 0285B608 */ cpu->r[0] = cpu->r[0] | 0x00005453u; /* 0285B60C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]); /* 0285B610 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B610 */ _t22 = _t21 & 0x00000001u; /* 0285B610 */ if (_t22) goto L_0285B638; else goto L_0285B614; L_0285B614: ; // 0x285b614 /* 0285B614 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 0285B618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]); /* 0285B61C */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B61C */ _t24 = _t23 & 0x00000001u; /* 0285B61C */ if (_t24) goto L_0285B584; else goto L_0285B620; L_0285B620: ; // 0x285b620 /* 0285B620 */ goto L_0285B6A8; L_0285B624: ; // 0x285b624 /* 0285B624 */ _t25 = cpu->r[27] + 0x0000000Cu; /* 0285B624 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25); /* 0285B628 */ cpu->r[3] = cpu->r[28]; /* 0285B62C */ Gambit_fn_0285AF08(cpu); /* 0285B630 */ _t26 = cpu->r[30] + 0x0000001Cu; /* 0285B630 */ cpu->r[8] = rbrew_read8(cpu->mem, _t26); /* 0285B634 */ goto L_0285B69C; L_0285B638: ; // 0x285b638 /* 0285B638 */ _t27 = cpu->r[27] + 0x0000000Cu; /* 0285B638 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t27); /* 0285B63C */ cpu->r[3] = cpu->r[28]; /* 0285B640 */ Gambit_fn_0285B098(cpu); /* 0285B644 */ _t28 = cpu->r[30] + 0x0000001Cu; /* 0285B644 */ cpu->r[8] = rbrew_read8(cpu->mem, _t28); /* 0285B648 */ goto L_0285B69C; L_0285B64C: ; // 0x285b64c /* 0285B64C */ _t29 = cpu->r[27] + 0x0000000Cu; /* 0285B64C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t29); /* 0285B650 */ cpu->r[3] = cpu->r[28]; /* 0285B654 */ _t30 = cpu->r[27] + 0x00000018u; /* 0285B654 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30); /* 0285B658 */ Gambit_fn_0285B14C(cpu); /* 0285B65C */ _t31 = cpu->r[30] + 0x0000001Cu; /* 0285B65C */ cpu->r[8] = rbrew_read8(cpu->mem, _t31); /* 0285B660 */ goto L_0285B69C; L_0285B664: ; // 0x285b664 /* 0285B664 */ _t32 = cpu->r[27] + 0x0000000Cu; /* 0285B664 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t32); /* 0285B668 */ cpu->r[3] = cpu->r[28]; /* 0285B66C */ Gambit_fn_0285B200(cpu); /* 0285B670 */ _t33 = cpu->r[30] + 0x0000001Cu; /* 0285B670 */ cpu->r[8] = rbrew_read8(cpu->mem, _t33); /* 0285B674 */ goto L_0285B69C; L_0285B678: ; // 0x285b678 /* 0285B678 */ _t34 = cpu->r[27] + 0x0000000Cu; /* 0285B678 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t34); /* 0285B67C */ cpu->r[3] = cpu->r[28]; /* 0285B680 */ Gambit_fn_0285B2D4(cpu); /* 0285B684 */ _t35 = cpu->r[30] + 0x0000001Cu; /* 0285B684 */ cpu->r[8] = rbrew_read8(cpu->mem, _t35); /* 0285B688 */ goto L_0285B69C; L_0285B68C: ; // 0x285b68c /* 0285B68C */ _t36 = cpu->r[27] + 0x0000000Cu; /* 0285B68C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t36); /* 0285B690 */ cpu->r[3] = cpu->r[28]; /* 0285B694 */ Gambit_fn_0285B3E8(cpu); /* 0285B698 */ _t37 = cpu->r[30] + 0x0000001Cu; /* 0285B698 */ cpu->r[8] = rbrew_read8(cpu->mem, _t37); L_0285B69C: ; // 0x285b69c /* 0285B69C */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 0285B6A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]); /* 0285B6A4 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B6A4 */ _t39 = _t38 & 0x00000001u; /* 0285B6A4 */ if (_t39) goto L_0285B584; else goto L_0285B6A8; L_0285B6A8: ; // 0x285b6a8 /* 0285B6A8 */ /* nop */ /* 0285B6AC */ _t40 = cpu->r[1] + 0x00000024u; /* 0285B6AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0285B6B0 */ cpu->lr = cpu->r[0]; /* 0285B6B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285B6B8 */ return; } // fn_0285B6BC @ 0x285b6bc void Gambit_fn_0285B6BC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285B6BC: ; // 0x285b6bc /* 0285B6BC */ cpu->r[12] = 0x00000000u; /* 0285B6C0 */ _t0 = cpu->r[3] + 0x00000000u; /* 0285B6C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[12]); /* 0285B6C4 */ _t1 = cpu->r[3] + 0x0000000Cu; /* 0285B6C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]); /* 0285B6C8 */ _t2 = cpu->r[3] + 0x00000004u; /* 0285B6C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 0285B6CC */ _t3 = cpu->r[3] + 0x00000008u; /* 0285B6CC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0285B6D0 */ return; } // fn_0285B6D4 @ 0x285b6d4 void Gambit_fn_0285B6D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33; L_0285B6D4: ; // 0x285b6d4 /* 0285B6D4 */ cpu->r[0] = cpu->lr; /* 0285B6D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285B6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B6D8 */ cpu->r[1] = _t0; /* 0285B6DC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285B6DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285B6E0 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285B6E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285B6E4 */ cpu->r[30] = cpu->r[3]; /* 0285B6E8 */ cpu->r[31] = cpu->r[4]; /* 0285B6EC */ _t3 = cpu->r[1] + 0x00000014u; /* 0285B6EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285B6F0 */ Gambit_fn_0285B6BC(cpu); /* 0285B6F4 */ cpu->r[4] = 0x464C0000u; /* 0285B6F8 */ cpu->r[3] = cpu->r[31]; /* 0285B6FC */ cpu->r[5] = 0x05020000u; /* 0285B700 */ cpu->r[4] = cpu->r[4] + 0x0000414Eu; /* 0285B704 */ cpu->r[6] = 0x00000001u; /* 0285B708 */ Gambit_fn_0285A050(cpu); /* 0285B70C */ _t4 = cpu->r[30] + 0x00000000u; /* 0285B70C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0285B710 */ _t5 = cpu->r[31] + 0x00000010u; /* 0285B710 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5); /* 0285B714 */ cpu->r[7] = 0x00000000u; /* 0285B718 */ _t6 = cpu->r[31] + 0x00000006u; /* 0285B718 */ cpu->r[8] = rbrew_read16(cpu->mem, _t6); /* 0285B71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[9]); /* 0285B720 */ cpu->r[6] = cpu->r[31] + cpu->r[8]; /* 0285B724 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B724 */ _t8 = _t7 & 0x00000001u; /* 0285B724 */ if (_t8) goto L_0285B728; else goto L_0285B7B8; L_0285B728: ; // 0x285b728 /* 0285B728 */ cpu->r[11] = 0x70610000u; /* 0285B72C */ _t9 = cpu->r[6] + 0x00000000u; /* 0285B72C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0285B730 */ cpu->r[11] = cpu->r[11] + 0x00006831u; /* 0285B734 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 0285B738 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B738 */ _t11 = _t10 & 0x00000001u; /* 0285B738 */ if (_t11) goto L_0285B77C; else goto L_0285B73C; L_0285B73C: ; // 0x285b73c /* 0285B73C */ cpu->r[12] = 0x70610000u; /* 0285B740 */ cpu->r[12] = cpu->r[12] + 0x00006931u; /* 0285B744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]); /* 0285B748 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B748 */ _t13 = _t12 & 0x00000001u; /* 0285B748 */ if (_t13) goto L_0285B79C; else goto L_0285B74C; L_0285B74C: ; // 0x285b74c /* 0285B74C */ cpu->r[0] = 0x70610000u; /* 0285B750 */ cpu->r[0] = cpu->r[0] | 0x00007431u; /* 0285B754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]); /* 0285B758 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B758 */ _t15 = _t14 & 0x00000001u; /* 0285B758 */ if (_t15) goto L_0285B75C; else goto L_0285B7A0; L_0285B75C: ; // 0x285b75c /* 0285B75C */ _t16 = cpu->r[30] + 0x00000008u; /* 0285B75C */ rbrew_write32(cpu->mem, _t16, cpu->r[6]); /* 0285B760 */ _t17 = cpu->r[31] + 0x00000010u; /* 0285B760 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17); /* 0285B764 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0285B768 */ _t18 = cpu->r[6] + 0x00000004u; /* 0285B768 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 0285B76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 0285B770 */ cpu->r[6] = cpu->r[6] + cpu->r[12]; /* 0285B774 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B774 */ _t20 = _t19 & 0x00000001u; /* 0285B774 */ if (_t20) goto L_0285B728; else goto L_0285B778; L_0285B778: ; // 0x285b778 /* 0285B778 */ goto L_0285B7B8; L_0285B77C: ; // 0x285b77c /* 0285B77C */ _t21 = cpu->r[30] + 0x0000000Cu; /* 0285B77C */ rbrew_write32(cpu->mem, _t21, cpu->r[6]); /* 0285B780 */ _t22 = cpu->r[31] + 0x00000010u; /* 0285B780 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22); /* 0285B784 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0285B788 */ _t23 = cpu->r[6] + 0x00000004u; /* 0285B788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 0285B78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 0285B790 */ cpu->r[6] = cpu->r[6] + cpu->r[12]; /* 0285B794 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B794 */ _t25 = _t24 & 0x00000001u; /* 0285B794 */ if (_t25) goto L_0285B728; else goto L_0285B798; L_0285B798: ; // 0x285b798 /* 0285B798 */ goto L_0285B7B8; L_0285B79C: ; // 0x285b79c /* 0285B79C */ _t26 = cpu->r[30] + 0x00000004u; /* 0285B79C */ rbrew_write32(cpu->mem, _t26, cpu->r[6]); L_0285B7A0: ; // 0x285b7a0 /* 0285B7A0 */ _t27 = cpu->r[31] + 0x00000010u; /* 0285B7A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t27); /* 0285B7A4 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0285B7A8 */ _t28 = cpu->r[6] + 0x00000004u; /* 0285B7A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 0285B7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 0285B7B0 */ cpu->r[6] = cpu->r[6] + cpu->r[12]; /* 0285B7B4 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B7B4 */ _t30 = _t29 & 0x00000001u; /* 0285B7B4 */ if (_t30) goto L_0285B728; else goto L_0285B7B8; L_0285B7B8: ; // 0x285b7b8 /* 0285B7B8 */ _t31 = cpu->r[1] + 0x00000014u; /* 0285B7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0285B7BC */ _t32 = cpu->r[1] + 0x00000008u; /* 0285B7BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t32); /* 0285B7C0 */ cpu->lr = cpu->r[0]; /* 0285B7C4 */ _t33 = cpu->r[1] + 0x0000000Cu; /* 0285B7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33); /* 0285B7C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285B7CC */ return; } // fn_0285B6D8 @ 0x285b6d8 void Gambit_fn_0285B6D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33; L_0285B6D8: ; // 0x285b6d8 /* 0285B6D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285B6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B6D8 */ cpu->r[1] = _t0; /* 0285B6DC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285B6DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285B6E0 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285B6E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285B6E4 */ cpu->r[30] = cpu->r[3]; /* 0285B6E8 */ cpu->r[31] = cpu->r[4]; /* 0285B6EC */ _t3 = cpu->r[1] + 0x00000014u; /* 0285B6EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285B6F0 */ Gambit_fn_0285B6BC(cpu); /* 0285B6F4 */ cpu->r[4] = 0x464C0000u; /* 0285B6F8 */ cpu->r[3] = cpu->r[31]; /* 0285B6FC */ cpu->r[5] = 0x05020000u; /* 0285B700 */ cpu->r[4] = cpu->r[4] + 0x0000414Eu; /* 0285B704 */ cpu->r[6] = 0x00000001u; /* 0285B708 */ Gambit_fn_0285A050(cpu); /* 0285B70C */ _t4 = cpu->r[30] + 0x00000000u; /* 0285B70C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0285B710 */ _t5 = cpu->r[31] + 0x00000010u; /* 0285B710 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5); /* 0285B714 */ cpu->r[7] = 0x00000000u; /* 0285B718 */ _t6 = cpu->r[31] + 0x00000006u; /* 0285B718 */ cpu->r[8] = rbrew_read16(cpu->mem, _t6); /* 0285B71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[9]); /* 0285B720 */ cpu->r[6] = cpu->r[31] + cpu->r[8]; /* 0285B724 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B724 */ _t8 = _t7 & 0x00000001u; /* 0285B724 */ if (_t8) goto L_0285B728; else goto L_0285B7B8; L_0285B728: ; // 0x285b728 /* 0285B728 */ cpu->r[11] = 0x70610000u; /* 0285B72C */ _t9 = cpu->r[6] + 0x00000000u; /* 0285B72C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0285B730 */ cpu->r[11] = cpu->r[11] + 0x00006831u; /* 0285B734 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 0285B738 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B738 */ _t11 = _t10 & 0x00000001u; /* 0285B738 */ if (_t11) goto L_0285B77C; else goto L_0285B73C; L_0285B73C: ; // 0x285b73c /* 0285B73C */ cpu->r[12] = 0x70610000u; /* 0285B740 */ cpu->r[12] = cpu->r[12] + 0x00006931u; /* 0285B744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]); /* 0285B748 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B748 */ _t13 = _t12 & 0x00000001u; /* 0285B748 */ if (_t13) goto L_0285B79C; else goto L_0285B74C; L_0285B74C: ; // 0x285b74c /* 0285B74C */ cpu->r[0] = 0x70610000u; /* 0285B750 */ cpu->r[0] = cpu->r[0] | 0x00007431u; /* 0285B754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]); /* 0285B758 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B758 */ _t15 = _t14 & 0x00000001u; /* 0285B758 */ if (_t15) goto L_0285B75C; else goto L_0285B7A0; L_0285B75C: ; // 0x285b75c /* 0285B75C */ _t16 = cpu->r[30] + 0x00000008u; /* 0285B75C */ rbrew_write32(cpu->mem, _t16, cpu->r[6]); /* 0285B760 */ _t17 = cpu->r[31] + 0x00000010u; /* 0285B760 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17); /* 0285B764 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0285B768 */ _t18 = cpu->r[6] + 0x00000004u; /* 0285B768 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 0285B76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 0285B770 */ cpu->r[6] = cpu->r[6] + cpu->r[12]; /* 0285B774 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B774 */ _t20 = _t19 & 0x00000001u; /* 0285B774 */ if (_t20) goto L_0285B728; else goto L_0285B778; L_0285B778: ; // 0x285b778 /* 0285B778 */ goto L_0285B7B8; L_0285B77C: ; // 0x285b77c /* 0285B77C */ _t21 = cpu->r[30] + 0x0000000Cu; /* 0285B77C */ rbrew_write32(cpu->mem, _t21, cpu->r[6]); /* 0285B780 */ _t22 = cpu->r[31] + 0x00000010u; /* 0285B780 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22); /* 0285B784 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0285B788 */ _t23 = cpu->r[6] + 0x00000004u; /* 0285B788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 0285B78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 0285B790 */ cpu->r[6] = cpu->r[6] + cpu->r[12]; /* 0285B794 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B794 */ _t25 = _t24 & 0x00000001u; /* 0285B794 */ if (_t25) goto L_0285B728; else goto L_0285B798; L_0285B798: ; // 0x285b798 /* 0285B798 */ goto L_0285B7B8; L_0285B79C: ; // 0x285b79c /* 0285B79C */ _t26 = cpu->r[30] + 0x00000004u; /* 0285B79C */ rbrew_write32(cpu->mem, _t26, cpu->r[6]); L_0285B7A0: ; // 0x285b7a0 /* 0285B7A0 */ _t27 = cpu->r[31] + 0x00000010u; /* 0285B7A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t27); /* 0285B7A4 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0285B7A8 */ _t28 = cpu->r[6] + 0x00000004u; /* 0285B7A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 0285B7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 0285B7B0 */ cpu->r[6] = cpu->r[6] + cpu->r[12]; /* 0285B7B4 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285B7B4 */ _t30 = _t29 & 0x00000001u; /* 0285B7B4 */ if (_t30) goto L_0285B728; else goto L_0285B7B8; L_0285B7B8: ; // 0x285b7b8 /* 0285B7B8 */ _t31 = cpu->r[1] + 0x00000014u; /* 0285B7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0285B7BC */ _t32 = cpu->r[1] + 0x00000008u; /* 0285B7BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t32); /* 0285B7C0 */ cpu->lr = cpu->r[0]; /* 0285B7C4 */ _t33 = cpu->r[1] + 0x0000000Cu; /* 0285B7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33); /* 0285B7C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285B7CC */ return; } // fn_0285B7D0 @ 0x285b7d0 void Gambit_fn_0285B7D0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285B7D0: ; // 0x285b7d0 /* 0285B7D0 */ _t0 = cpu->r[3] + 0x00000008u; /* 0285B7D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0285B7D4 */ cpu->r[3] = 0x00000000u; /* 0285B7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285B7DC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B7DC */ _t2 = _t1 & 0x00000001u; /* 0285B7DC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285B7DC */ goto L_0285B7E0; L_0285B7E0: ; // 0x285b7e0 /* 0285B7E0 */ _t3 = cpu->r[12] + 0x0000000Au; /* 0285B7E0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t3); /* 0285B7E4 */ return; } // fn_0285B7E8 @ 0x285b7e8 void Gambit_fn_0285B7E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285B7E8: ; // 0x285b7e8 /* 0285B7E8 */ _t0 = cpu->r[3] + 0x00000008u; /* 0285B7E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0); /* 0285B7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285B7F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B7F0 */ _t2 = _t1 & 0x00000001u; /* 0285B7F0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285B7F0 */ goto L_0285B7F4; L_0285B7F4: ; // 0x285b7f4 /* 0285B7F4 */ _t3 = cpu->r[3] + 0x00000010u; /* 0285B7F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0285B7F8 */ cpu->r[3] = cpu->r[3] + cpu->r[0]; /* 0285B7FC */ return; } // fn_0285B800 @ 0x285b800 void Gambit_fn_0285B800(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285B800: ; // 0x285b800 /* 0285B800 */ cpu->r[9] = 0x00000018u; /* 0285B804 */ cpu->ctr = cpu->r[9]; /* 0285B808 */ cpu->r[12] = 0x00000000u; L_0285B80C: ; // 0x285b80c /* 0285B80C */ _t0 = cpu->r[3] + cpu->r[12]; /* 0285B80C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 0285B810 */ _t1 = cpu->r[4] + cpu->r[12]; /* 0285B810 */ cpu->r[10] = rbrew_read8(cpu->mem, _t1); /* 0285B814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 0285B818 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B818 */ _t3 = _t2 & 0x00000001u; /* 0285B818 */ if (_t3) goto L_0285B824; else goto L_0285B81C; L_0285B81C: ; // 0x285b81c /* 0285B81C */ cpu->r[3] = 0x00000000u; /* 0285B820 */ return; L_0285B824: ; // 0x285b824 /* 0285B824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285B828 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B828 */ _t5 = _t4 & 0x00000001u; /* 0285B828 */ if (_t5) goto L_0285B834; else goto L_0285B82C; L_0285B82C: ; // 0x285b82c /* 0285B82C */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0285B830 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285B830 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285B830 */ _t7 = _t6 >> (0x00000002u & 31u); /* 0285B830 */ _t8 = _t7 & 0x00000001u; /* 0285B830 */ if (_t8) goto L_0285B80C; else goto L_0285B834; L_0285B834: ; // 0x285b834 /* 0285B834 */ cpu->r[3] = 0x00000001u; /* 0285B838 */ return; } // fn_0285B83C @ 0x285b83c void Gambit_fn_0285B83C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285B83C: ; // 0x285b83c /* 0285B83C */ cpu->r[9] = 0x0000001Cu; /* 0285B840 */ cpu->ctr = cpu->r[9]; /* 0285B844 */ cpu->r[12] = 0x00000000u; L_0285B848: ; // 0x285b848 /* 0285B848 */ _t0 = cpu->r[3] + cpu->r[12]; /* 0285B848 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 0285B84C */ _t1 = cpu->r[4] + cpu->r[12]; /* 0285B84C */ cpu->r[10] = rbrew_read8(cpu->mem, _t1); /* 0285B850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 0285B854 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B854 */ _t3 = _t2 & 0x00000001u; /* 0285B854 */ if (_t3) goto L_0285B860; else goto L_0285B858; L_0285B858: ; // 0x285b858 /* 0285B858 */ cpu->r[3] = 0x00000000u; /* 0285B85C */ return; L_0285B860: ; // 0x285b860 /* 0285B860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285B864 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B864 */ _t5 = _t4 & 0x00000001u; /* 0285B864 */ if (_t5) goto L_0285B870; else goto L_0285B868; L_0285B868: ; // 0x285b868 /* 0285B868 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0285B86C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285B86C */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285B86C */ _t7 = _t6 >> (0x00000002u & 31u); /* 0285B86C */ _t8 = _t7 & 0x00000001u; /* 0285B86C */ if (_t8) goto L_0285B848; else goto L_0285B870; L_0285B870: ; // 0x285b870 /* 0285B870 */ cpu->r[3] = 0x00000001u; /* 0285B874 */ return; } // fn_0285B878 @ 0x285b878 void Gambit_fn_0285B878(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285B878: ; // 0x285b878 /* 0285B878 */ cpu->r[0] = cpu->lr; /* 0285B87C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285B87C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B87C */ cpu->r[1] = _t0; /* 0285B880 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285B880 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285B884 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285B884 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285B888 */ cpu->r[31] = cpu->r[3]; /* 0285B888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285B88C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285B88C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285B890 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B890 */ _t5 = _t4 & 0x00000001u; /* 0285B890 */ if (_t5) goto L_0285B894; else goto L_0285B8A4; L_0285B894: ; // 0x285b894 /* 0285B894 */ cpu->r[3] = 0x00000030u; /* 0285B898 */ Gambit_fn_02801A78(cpu); /* 0285B89C */ cpu->r[31] = cpu->r[3]; /* 0285B89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285B8A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B8A0 */ _t7 = _t6 & 0x00000001u; /* 0285B8A0 */ if (_t7) goto L_0285B8E8; else goto L_0285B8A4; L_0285B8A4: ; // 0x285b8a4 /* 0285B8A4 */ cpu->r[3] = cpu->r[31]; /* 0285B8A8 */ Gambit_fn_0285A298(cpu); /* 0285B8AC */ cpu->r[12] = 0x10130000u; /* 0285B8B0 */ cpu->r[30] = 0x00000000u; /* 0285B8B4 */ _t8 = cpu->r[12] + 0x00004B20u; /* 0285B8B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8); /* 0285B8B8 */ cpu->r[0] = 0x10130000u; /* 0285B8BC */ _t9 = cpu->r[31] + 0x00000028u; /* 0285B8BC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285B8C0 */ cpu->r[0] = cpu->r[0] + 0x00004B30u; /* 0285B8C4 */ _t10 = cpu->r[31] + 0x00000024u; /* 0285B8C4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]); /* 0285B8C8 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu; /* 0285B8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285B8CC */ _t11 = cpu->r[31] + 0x00000014u; /* 0285B8CC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0285B8D0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B8D0 */ _t13 = _t12 & 0x00000001u; /* 0285B8D0 */ if (_t13) goto L_0285B8D4; else goto L_0285B8E4; L_0285B8D4: ; // 0x285b8d4 /* 0285B8D4 */ cpu->r[3] = 0x00000004u; /* 0285B8D8 */ Gambit_fn_02801A78(cpu); /* 0285B8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285B8E0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B8E0 */ _t15 = _t14 & 0x00000001u; /* 0285B8E0 */ if (_t15) goto L_0285B8E8; else goto L_0285B8E4; L_0285B8E4: ; // 0x285b8e4 /* 0285B8E4 */ _t16 = cpu->r[3] + 0x00000000u; /* 0285B8E4 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]); L_0285B8E8: ; // 0x285b8e8 /* 0285B8E8 */ _t17 = cpu->r[1] + 0x00000014u; /* 0285B8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285B8EC */ cpu->r[3] = cpu->r[31]; /* 0285B8F0 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0285B8F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 0285B8F4 */ cpu->lr = cpu->r[0]; /* 0285B8F8 */ _t19 = cpu->r[1] + 0x00000008u; /* 0285B8F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0285B8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285B900 */ return; } // fn_0285B87C @ 0x285b87c void Gambit_fn_0285B87C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285B87C: ; // 0x285b87c /* 0285B87C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285B87C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B87C */ cpu->r[1] = _t0; /* 0285B880 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285B880 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285B884 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285B884 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285B888 */ cpu->r[31] = cpu->r[3]; /* 0285B888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285B88C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285B88C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285B890 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B890 */ _t5 = _t4 & 0x00000001u; /* 0285B890 */ if (_t5) goto L_0285B894; else goto L_0285B8A4; L_0285B894: ; // 0x285b894 /* 0285B894 */ cpu->r[3] = 0x00000030u; /* 0285B898 */ Gambit_fn_02801A78(cpu); /* 0285B89C */ cpu->r[31] = cpu->r[3]; /* 0285B89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285B8A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B8A0 */ _t7 = _t6 & 0x00000001u; /* 0285B8A0 */ if (_t7) goto L_0285B8E8; else goto L_0285B8A4; L_0285B8A4: ; // 0x285b8a4 /* 0285B8A4 */ cpu->r[3] = cpu->r[31]; /* 0285B8A8 */ Gambit_fn_0285A298(cpu); /* 0285B8AC */ cpu->r[12] = 0x10130000u; /* 0285B8B0 */ cpu->r[30] = 0x00000000u; /* 0285B8B4 */ _t8 = cpu->r[12] + 0x00004B20u; /* 0285B8B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8); /* 0285B8B8 */ cpu->r[0] = 0x10130000u; /* 0285B8BC */ _t9 = cpu->r[31] + 0x00000028u; /* 0285B8BC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285B8C0 */ cpu->r[0] = cpu->r[0] + 0x00004B30u; /* 0285B8C4 */ _t10 = cpu->r[31] + 0x00000024u; /* 0285B8C4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]); /* 0285B8C8 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu; /* 0285B8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285B8CC */ _t11 = cpu->r[31] + 0x00000014u; /* 0285B8CC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0285B8D0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B8D0 */ _t13 = _t12 & 0x00000001u; /* 0285B8D0 */ if (_t13) goto L_0285B8D4; else goto L_0285B8E4; L_0285B8D4: ; // 0x285b8d4 /* 0285B8D4 */ cpu->r[3] = 0x00000004u; /* 0285B8D8 */ Gambit_fn_02801A78(cpu); /* 0285B8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285B8E0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B8E0 */ _t15 = _t14 & 0x00000001u; /* 0285B8E0 */ if (_t15) goto L_0285B8E8; else goto L_0285B8E4; L_0285B8E4: ; // 0x285b8e4 /* 0285B8E4 */ _t16 = cpu->r[3] + 0x00000000u; /* 0285B8E4 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]); L_0285B8E8: ; // 0x285b8e8 /* 0285B8E8 */ _t17 = cpu->r[1] + 0x00000014u; /* 0285B8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285B8EC */ cpu->r[3] = cpu->r[31]; /* 0285B8F0 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0285B8F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 0285B8F4 */ cpu->lr = cpu->r[0]; /* 0285B8F8 */ _t19 = cpu->r[1] + 0x00000008u; /* 0285B8F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0285B8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285B900 */ return; } // fn_0285B904 @ 0x285b904 void Gambit_fn_0285B904(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285B904: ; // 0x285b904 /* 0285B904 */ cpu->r[0] = cpu->lr; /* 0285B908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285B908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B908 */ cpu->r[1] = _t0; /* 0285B90C */ _t1 = cpu->r[1] + 0x00000008u; /* 0285B90C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285B910 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285B910 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285B914 */ cpu->r[31] = cpu->r[3]; /* 0285B914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285B918 */ cpu->r[30] = cpu->r[4]; /* 0285B91C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285B91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285B920 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B920 */ _t5 = _t4 & 0x00000001u; /* 0285B920 */ if (_t5) goto L_0285B940; else goto L_0285B924; L_0285B924: ; // 0x285b924 /* 0285B924 */ cpu->r[3] = cpu->r[31]; /* 0285B928 */ cpu->r[4] = 0x00000000u; /* 0285B92C */ Gambit_fn_0285A300(cpu); /* 0285B930 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285B930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285B934 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B934 */ _t7 = _t6 & 0x00000001u; /* 0285B934 */ if (_t7) goto L_0285B940; else goto L_0285B938; L_0285B938: ; // 0x285b938 /* 0285B938 */ cpu->r[3] = cpu->r[31]; /* 0285B93C */ Gambit_fn_02801BB0(cpu); L_0285B940: ; // 0x285b940 /* 0285B940 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285B940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285B944 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285B944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285B948 */ cpu->lr = cpu->r[0]; /* 0285B94C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285B94C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285B950 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285B954 */ return; } // fn_0285B908 @ 0x285b908 void Gambit_fn_0285B908(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285B908: ; // 0x285b908 /* 0285B908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285B908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B908 */ cpu->r[1] = _t0; /* 0285B90C */ _t1 = cpu->r[1] + 0x00000008u; /* 0285B90C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285B910 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285B910 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285B914 */ cpu->r[31] = cpu->r[3]; /* 0285B914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285B918 */ cpu->r[30] = cpu->r[4]; /* 0285B91C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285B91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285B920 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B920 */ _t5 = _t4 & 0x00000001u; /* 0285B920 */ if (_t5) goto L_0285B940; else goto L_0285B924; L_0285B924: ; // 0x285b924 /* 0285B924 */ cpu->r[3] = cpu->r[31]; /* 0285B928 */ cpu->r[4] = 0x00000000u; /* 0285B92C */ Gambit_fn_0285A300(cpu); /* 0285B930 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285B930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285B934 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B934 */ _t7 = _t6 & 0x00000001u; /* 0285B934 */ if (_t7) goto L_0285B940; else goto L_0285B938; L_0285B938: ; // 0x285b938 /* 0285B938 */ cpu->r[3] = cpu->r[31]; /* 0285B93C */ Gambit_fn_02801BB0(cpu); L_0285B940: ; // 0x285b940 /* 0285B940 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285B940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285B944 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285B944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285B948 */ cpu->lr = cpu->r[0]; /* 0285B94C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285B94C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285B950 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285B954 */ return; } // fn_0285B958 @ 0x285b958 void Gambit_fn_0285B958(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48; L_0285B958: ; // 0x285b958 /* 0285B958 */ cpu->r[0] = cpu->lr; /* 0285B95C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0285B95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B95C */ cpu->r[1] = _t0; /* 0285B960 */ _t1 = cpu->r[1] + 0x00000018u; /* 0285B960 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0285B964 */ /* nop */ /* 0285B968 */ _t2 = cpu->r[1] + 0x00000020u; /* 0285B968 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0285B96C */ _t3 = cpu->r[1] + 0x0000002Cu; /* 0285B96C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285B970 */ cpu->f[31] = cpu->f[1]; /* 0285B974 */ _t4 = cpu->r[1] + 0x00000010u; /* 0285B974 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0285B978 */ cpu->r[30] = cpu->r[3]; /* 0285B97C */ _t5 = cpu->r[1] + 0x00000014u; /* 0285B97C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]); /* 0285B980 */ cpu->r[31] = cpu->r[4]; /* 0285B984 */ Gambit_fn_0285A26C(cpu); /* 0285B988 */ cpu->r[9] = 0x43300000u; /* 0285B98C */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0285B98C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]); /* 0285B990 */ cpu->r[12] = 0x10130000u; /* 0285B994 */ _t7 = cpu->r[1] + 0x00000008u; /* 0285B994 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 0285B998 */ _t8 = cpu->r[1] + 0x00000008u; /* 0285B998 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8); /* 0285B99C */ _t9 = cpu->r[12] + 0x00004B28u; /* 0285B99C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9); /* 0285B9A0 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 0285B9A4 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 0285B9A8 */ cpu->f[13] = -cpu->f[13]; /* 0285B9AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]); /* 0285B9B0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285B9B0 */ _t11 = _t10 & 0x00000001u; /* 0285B9B0 */ if (_t11) goto L_0285B9E4; else goto L_0285B9B4; L_0285B9B4: ; // 0x285b9b4 /* 0285B9B4 */ cpu->r[3] = cpu->r[30]; /* 0285B9B8 */ Gambit_fn_0285A26C(cpu); /* 0285B9BC */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0285B9BC */ rbrew_write32(cpu->mem, _t12, cpu->r[3]); /* 0285B9C0 */ cpu->r[0] = 0x43300000u; /* 0285B9C4 */ cpu->r[10] = 0x10130000u; /* 0285B9C8 */ _t13 = cpu->r[1] + 0x00000008u; /* 0285B9C8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 0285B9CC */ _t14 = cpu->r[1] + 0x00000008u; /* 0285B9CC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t14); /* 0285B9D0 */ _t15 = cpu->r[10] + 0x00004B28u; /* 0285B9D0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t15); /* 0285B9D4 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 0285B9D8 */ cpu->f[0] = (double)(float)cpu->f[0]; /* 0285B9DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]); /* 0285B9E0 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285B9E0 */ _t17 = _t16 & 0x00000001u; /* 0285B9E0 */ if (_t17) goto L_0285B9E4; else goto L_0285B9FC; L_0285B9E4: ; // 0x285b9e4 /* 0285B9E4 */ cpu->r[3] = cpu->r[30]; /* 0285B9E8 */ Gambit_fn_0285A284(cpu); /* 0285B9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285B9F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B9F0 */ _t19 = _t18 & 0x00000001u; /* 0285B9F0 */ if (_t19) goto L_0285BA50; else goto L_0285B9F4; L_0285B9F4: ; // 0x285b9f4 /* 0285B9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285B9F8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B9F8 */ _t21 = _t20 & 0x00000001u; /* 0285B9F8 */ if (_t21) goto L_0285B9FC; else goto L_0285BA50; L_0285B9FC: ; // 0x285b9fc /* 0285B9FC */ cpu->r[7] = 0x10130000u; /* 0285BA00 */ _t22 = cpu->r[30] + 0x0000002Cu; /* 0285BA00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 0285BA04 */ _t23 = cpu->r[7] + 0x00004B20u; /* 0285BA04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23); /* 0285BA08 */ _t24 = cpu->r[30] + 0x00000024u; /* 0285BA08 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[31]); /* 0285BA0C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]); /* 0285BA10 */ _t25 = cpu->r[30] + 0x00000028u; /* 0285BA10 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]); /* 0285BA14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Cu); /* 0285BA18 */ _t26 = cpu->r[30] + 0x0000002Cu; /* 0285BA18 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]); /* 0285BA1C */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BA1C */ _t28 = _t27 & 0x00000001u; /* 0285BA1C */ if (_t28) goto L_0285BA20; else goto L_0285BA7C; L_0285BA20: ; // 0x285ba20 /* 0285BA20 */ cpu->r[3] = cpu->r[30]; /* 0285BA24 */ Gambit_fn_0285A26C(cpu); /* 0285BA28 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0285BA28 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]); /* 0285BA2C */ cpu->r[0] = 0x43300000u; /* 0285BA30 */ cpu->r[12] = 0x10130000u; /* 0285BA34 */ _t30 = cpu->r[1] + 0x00000008u; /* 0285BA34 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 0285BA38 */ _t31 = cpu->r[1] + 0x00000008u; /* 0285BA38 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t31); /* 0285BA3C */ _t32 = cpu->r[12] + 0x00004B28u; /* 0285BA3C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t32); /* 0285BA40 */ cpu->f[0] = cpu->f[0] - cpu->f[13]; /* 0285BA44 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 0285BA48 */ _t33 = cpu->r[30] + 0x0000000Cu; /* 0285BA48 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]); /* 0285BA4C */ goto L_0285BA80; L_0285BA50: ; // 0x285ba50 /* 0285BA50 */ cpu->r[3] = cpu->r[30]; /* 0285BA54 */ Gambit_fn_0285A284(cpu); /* 0285BA58 */ _t34 = cpu->r[1] + 0x00000020u; /* 0285BA58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34); /* 0285BA5C */ _t35 = cpu->r[1] + 0x00000014u; /* 0285BA5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35); /* 0285BA60 */ _t36 = cpu->r[1] + 0x00000018u; /* 0285BA60 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36); /* 0285BA64 */ _t37 = cpu->r[1] + 0x00000010u; /* 0285BA64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37); /* 0285BA68 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BA68 */ _t39 = _t38 & 0x00000001u; /* 0285BA68 */ if (_t39) goto L_0285BA6C; // else: addr-0 trap, fall-through L_0285BA6C: ; // 0x285ba6c /* 0285BA6C */ _t40 = cpu->r[1] + 0x0000002Cu; /* 0285BA6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0285BA70 */ cpu->lr = cpu->r[0]; /* 0285BA74 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285BA78 */ return; L_0285BA7C: ; // 0x285ba7c /* 0285BA7C */ _t41 = cpu->r[30] + 0x0000000Cu; /* 0285BA7C */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]); L_0285BA80: ; // 0x285ba80 /* 0285BA80 */ _t42 = cpu->r[1] + 0x00000020u; /* 0285BA80 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42); /* 0285BA84 */ _t43 = cpu->r[1] + 0x00000014u; /* 0285BA84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43); /* 0285BA88 */ _t44 = cpu->r[1] + 0x00000018u; /* 0285BA88 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t44); /* 0285BA8C */ _t45 = cpu->r[1] + 0x00000010u; /* 0285BA8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t45); /* 0285BA90 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BA90 */ _t47 = _t46 & 0x00000001u; /* 0285BA90 */ if (_t47) goto L_0285BA94; // else: addr-0 trap, fall-through L_0285BA94: ; // 0x285ba94 /* 0285BA94 */ _t48 = cpu->r[1] + 0x0000002Cu; /* 0285BA94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 0285BA98 */ cpu->lr = cpu->r[0]; /* 0285BA9C */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285BAA0 */ return; } // fn_0285B95C @ 0x285b95c void Gambit_fn_0285B95C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48; L_0285B95C: ; // 0x285b95c /* 0285B95C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0285B95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285B95C */ cpu->r[1] = _t0; /* 0285B960 */ _t1 = cpu->r[1] + 0x00000018u; /* 0285B960 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0285B964 */ /* nop */ /* 0285B968 */ _t2 = cpu->r[1] + 0x00000020u; /* 0285B968 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0285B96C */ _t3 = cpu->r[1] + 0x0000002Cu; /* 0285B96C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285B970 */ cpu->f[31] = cpu->f[1]; /* 0285B974 */ _t4 = cpu->r[1] + 0x00000010u; /* 0285B974 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0285B978 */ cpu->r[30] = cpu->r[3]; /* 0285B97C */ _t5 = cpu->r[1] + 0x00000014u; /* 0285B97C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]); /* 0285B980 */ cpu->r[31] = cpu->r[4]; /* 0285B984 */ Gambit_fn_0285A26C(cpu); /* 0285B988 */ cpu->r[9] = 0x43300000u; /* 0285B98C */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0285B98C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]); /* 0285B990 */ cpu->r[12] = 0x10130000u; /* 0285B994 */ _t7 = cpu->r[1] + 0x00000008u; /* 0285B994 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 0285B998 */ _t8 = cpu->r[1] + 0x00000008u; /* 0285B998 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8); /* 0285B99C */ _t9 = cpu->r[12] + 0x00004B28u; /* 0285B99C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9); /* 0285B9A0 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 0285B9A4 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 0285B9A8 */ cpu->f[13] = -cpu->f[13]; /* 0285B9AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]); /* 0285B9B0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285B9B0 */ _t11 = _t10 & 0x00000001u; /* 0285B9B0 */ if (_t11) goto L_0285B9E4; else goto L_0285B9B4; L_0285B9B4: ; // 0x285b9b4 /* 0285B9B4 */ cpu->r[3] = cpu->r[30]; /* 0285B9B8 */ Gambit_fn_0285A26C(cpu); /* 0285B9BC */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0285B9BC */ rbrew_write32(cpu->mem, _t12, cpu->r[3]); /* 0285B9C0 */ cpu->r[0] = 0x43300000u; /* 0285B9C4 */ cpu->r[10] = 0x10130000u; /* 0285B9C8 */ _t13 = cpu->r[1] + 0x00000008u; /* 0285B9C8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 0285B9CC */ _t14 = cpu->r[1] + 0x00000008u; /* 0285B9CC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t14); /* 0285B9D0 */ _t15 = cpu->r[10] + 0x00004B28u; /* 0285B9D0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t15); /* 0285B9D4 */ cpu->f[0] = cpu->f[13] - cpu->f[0]; /* 0285B9D8 */ cpu->f[0] = (double)(float)cpu->f[0]; /* 0285B9DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]); /* 0285B9E0 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285B9E0 */ _t17 = _t16 & 0x00000001u; /* 0285B9E0 */ if (_t17) goto L_0285B9E4; else goto L_0285B9FC; L_0285B9E4: ; // 0x285b9e4 /* 0285B9E4 */ cpu->r[3] = cpu->r[30]; /* 0285B9E8 */ Gambit_fn_0285A284(cpu); /* 0285B9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285B9F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B9F0 */ _t19 = _t18 & 0x00000001u; /* 0285B9F0 */ if (_t19) goto L_0285BA50; else goto L_0285B9F4; L_0285B9F4: ; // 0x285b9f4 /* 0285B9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285B9F8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285B9F8 */ _t21 = _t20 & 0x00000001u; /* 0285B9F8 */ if (_t21) goto L_0285B9FC; else goto L_0285BA50; L_0285B9FC: ; // 0x285b9fc /* 0285B9FC */ cpu->r[7] = 0x10130000u; /* 0285BA00 */ _t22 = cpu->r[30] + 0x0000002Cu; /* 0285BA00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 0285BA04 */ _t23 = cpu->r[7] + 0x00004B20u; /* 0285BA04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23); /* 0285BA08 */ _t24 = cpu->r[30] + 0x00000024u; /* 0285BA08 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[31]); /* 0285BA0C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]); /* 0285BA10 */ _t25 = cpu->r[30] + 0x00000028u; /* 0285BA10 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]); /* 0285BA14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Cu); /* 0285BA18 */ _t26 = cpu->r[30] + 0x0000002Cu; /* 0285BA18 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]); /* 0285BA1C */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BA1C */ _t28 = _t27 & 0x00000001u; /* 0285BA1C */ if (_t28) goto L_0285BA20; else goto L_0285BA7C; L_0285BA20: ; // 0x285ba20 /* 0285BA20 */ cpu->r[3] = cpu->r[30]; /* 0285BA24 */ Gambit_fn_0285A26C(cpu); /* 0285BA28 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0285BA28 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]); /* 0285BA2C */ cpu->r[0] = 0x43300000u; /* 0285BA30 */ cpu->r[12] = 0x10130000u; /* 0285BA34 */ _t30 = cpu->r[1] + 0x00000008u; /* 0285BA34 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 0285BA38 */ _t31 = cpu->r[1] + 0x00000008u; /* 0285BA38 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t31); /* 0285BA3C */ _t32 = cpu->r[12] + 0x00004B28u; /* 0285BA3C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t32); /* 0285BA40 */ cpu->f[0] = cpu->f[0] - cpu->f[13]; /* 0285BA44 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 0285BA48 */ _t33 = cpu->r[30] + 0x0000000Cu; /* 0285BA48 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]); /* 0285BA4C */ goto L_0285BA80; L_0285BA50: ; // 0x285ba50 /* 0285BA50 */ cpu->r[3] = cpu->r[30]; /* 0285BA54 */ Gambit_fn_0285A284(cpu); /* 0285BA58 */ _t34 = cpu->r[1] + 0x00000020u; /* 0285BA58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34); /* 0285BA5C */ _t35 = cpu->r[1] + 0x00000014u; /* 0285BA5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35); /* 0285BA60 */ _t36 = cpu->r[1] + 0x00000018u; /* 0285BA60 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36); /* 0285BA64 */ _t37 = cpu->r[1] + 0x00000010u; /* 0285BA64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37); /* 0285BA68 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BA68 */ _t39 = _t38 & 0x00000001u; /* 0285BA68 */ if (_t39) goto L_0285BA6C; // else: addr-0 trap, fall-through L_0285BA6C: ; // 0x285ba6c /* 0285BA6C */ _t40 = cpu->r[1] + 0x0000002Cu; /* 0285BA6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0285BA70 */ cpu->lr = cpu->r[0]; /* 0285BA74 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285BA78 */ return; L_0285BA7C: ; // 0x285ba7c /* 0285BA7C */ _t41 = cpu->r[30] + 0x0000000Cu; /* 0285BA7C */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]); L_0285BA80: ; // 0x285ba80 /* 0285BA80 */ _t42 = cpu->r[1] + 0x00000020u; /* 0285BA80 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42); /* 0285BA84 */ _t43 = cpu->r[1] + 0x00000014u; /* 0285BA84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43); /* 0285BA88 */ _t44 = cpu->r[1] + 0x00000018u; /* 0285BA88 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t44); /* 0285BA8C */ _t45 = cpu->r[1] + 0x00000010u; /* 0285BA8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t45); /* 0285BA90 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BA90 */ _t47 = _t46 & 0x00000001u; /* 0285BA90 */ if (_t47) goto L_0285BA94; // else: addr-0 trap, fall-through L_0285BA94: ; // 0x285ba94 /* 0285BA94 */ _t48 = cpu->r[1] + 0x0000002Cu; /* 0285BA94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 0285BA98 */ cpu->lr = cpu->r[0]; /* 0285BA9C */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285BAA0 */ return; } // fn_0285BAA4 @ 0x285baa4 void Gambit_fn_0285BAA4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39; L_0285BAA4: ; // 0x285baa4 /* 0285BAA4 */ cpu->r[0] = cpu->lr; /* 0285BAA8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0285BAA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285BAA8 */ cpu->r[1] = _t0; /* 0285BAAC */ _t1 = cpu->r[1] + 0x00000018u; /* 0285BAAC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0285BAB0 */ /* nop */ /* 0285BAB4 */ _t2 = cpu->r[1] + 0x00000020u; /* 0285BAB4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0285BAB8 */ _t3 = cpu->r[1] + 0x0000002Cu; /* 0285BAB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285BABC */ cpu->f[31] = cpu->f[1]; /* 0285BAC0 */ _t4 = cpu->r[1] + 0x00000010u; /* 0285BAC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0285BAC4 */ cpu->r[30] = cpu->r[3]; /* 0285BAC8 */ _t5 = cpu->r[1] + 0x00000014u; /* 0285BAC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]); /* 0285BACC */ cpu->r[31] = cpu->r[4]; /* 0285BAD0 */ Gambit_fn_0285A26C(cpu); /* 0285BAD4 */ cpu->r[9] = 0x43300000u; /* 0285BAD8 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0285BAD8 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]); /* 0285BADC */ cpu->r[12] = 0x10130000u; /* 0285BAE0 */ _t7 = cpu->r[1] + 0x00000008u; /* 0285BAE0 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 0285BAE4 */ _t8 = cpu->r[1] + 0x00000008u; /* 0285BAE4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8); /* 0285BAE8 */ _t9 = cpu->r[12] + 0x00004B28u; /* 0285BAE8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9); /* 0285BAEC */ cpu->f[13] = cpu->f[13] - cpu->f[0]; /* 0285BAF0 */ cpu->f[0] = (double)(float)cpu->f[13]; /* 0285BAF4 */ cpu->f[0] = -cpu->f[0]; /* 0285BAF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]); /* 0285BAFC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285BAFC */ _t11 = _t10 & 0x00000001u; /* 0285BAFC */ if (_t11) goto L_0285BB30; else goto L_0285BB00; L_0285BB00: ; // 0x285bb00 /* 0285BB00 */ cpu->r[3] = cpu->r[30]; /* 0285BB04 */ Gambit_fn_0285A26C(cpu); /* 0285BB08 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0285BB08 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]); /* 0285BB0C */ cpu->r[0] = 0x43300000u; /* 0285BB10 */ cpu->r[8] = 0x10130000u; /* 0285BB14 */ _t13 = cpu->r[1] + 0x00000008u; /* 0285BB14 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 0285BB18 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285BB18 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14); /* 0285BB1C */ _t15 = cpu->r[8] + 0x00004B28u; /* 0285BB1C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15); /* 0285BB20 */ cpu->f[0] = cpu->f[0] - cpu->f[13]; /* 0285BB24 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 0285BB28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]); /* 0285BB2C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285BB2C */ _t17 = _t16 & 0x00000001u; /* 0285BB2C */ if (_t17) goto L_0285BB30; else goto L_0285BB48; L_0285BB30: ; // 0x285bb30 /* 0285BB30 */ cpu->r[3] = cpu->r[30]; /* 0285BB34 */ Gambit_fn_0285A284(cpu); /* 0285BB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285BB3C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BB3C */ _t19 = _t18 & 0x00000001u; /* 0285BB3C */ if (_t19) goto L_0285BB80; else goto L_0285BB40; L_0285BB40: ; // 0x285bb40 /* 0285BB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285BB44 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BB44 */ _t21 = _t20 & 0x00000001u; /* 0285BB44 */ if (_t21) goto L_0285BB48; else goto L_0285BB80; L_0285BB48: ; // 0x285bb48 /* 0285BB48 */ _t22 = cpu->r[30] + 0x0000002Cu; /* 0285BB48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22); /* 0285BB4C */ _t23 = cpu->r[30] + 0x00000024u; /* 0285BB4C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[31]); /* 0285BB50 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Cu); /* 0285BB54 */ _t24 = cpu->r[30] + 0x00000028u; /* 0285BB54 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]); /* 0285BB58 */ _t25 = cpu->r[30] + 0x0000002Cu; /* 0285BB58 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]); /* 0285BB5C */ _t26 = cpu->r[1] + 0x00000020u; /* 0285BB5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26); /* 0285BB60 */ _t27 = cpu->r[1] + 0x00000010u; /* 0285BB60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27); /* 0285BB64 */ _t28 = cpu->r[1] + 0x00000018u; /* 0285BB64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28); /* 0285BB68 */ _t29 = cpu->r[1] + 0x00000014u; /* 0285BB68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 0285BB6C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BB6C */ _t31 = _t30 & 0x00000001u; /* 0285BB6C */ if (_t31) goto L_0285BB70; // else: addr-0 trap, fall-through L_0285BB70: ; // 0x285bb70 /* 0285BB70 */ _t32 = cpu->r[1] + 0x0000002Cu; /* 0285BB70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0285BB74 */ cpu->lr = cpu->r[0]; /* 0285BB78 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285BB7C */ return; L_0285BB80: ; // 0x285bb80 /* 0285BB80 */ cpu->r[3] = cpu->r[30]; /* 0285BB84 */ Gambit_fn_0285A284(cpu); /* 0285BB88 */ _t33 = cpu->r[1] + 0x00000020u; /* 0285BB88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t33); /* 0285BB8C */ _t34 = cpu->r[1] + 0x00000014u; /* 0285BB8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 0285BB90 */ _t35 = cpu->r[1] + 0x00000018u; /* 0285BB90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t35); /* 0285BB94 */ _t36 = cpu->r[1] + 0x00000010u; /* 0285BB94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36); /* 0285BB98 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BB98 */ _t38 = _t37 & 0x00000001u; /* 0285BB98 */ if (_t38) goto L_0285BB9C; // else: addr-0 trap, fall-through L_0285BB9C: ; // 0x285bb9c /* 0285BB9C */ _t39 = cpu->r[1] + 0x0000002Cu; /* 0285BB9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 0285BBA0 */ cpu->lr = cpu->r[0]; /* 0285BBA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285BBA8 */ return; } // fn_0285BAA8 @ 0x285baa8 void Gambit_fn_0285BAA8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39; L_0285BAA8: ; // 0x285baa8 /* 0285BAA8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0285BAA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285BAA8 */ cpu->r[1] = _t0; /* 0285BAAC */ _t1 = cpu->r[1] + 0x00000018u; /* 0285BAAC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0285BAB0 */ /* nop */ /* 0285BAB4 */ _t2 = cpu->r[1] + 0x00000020u; /* 0285BAB4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0285BAB8 */ _t3 = cpu->r[1] + 0x0000002Cu; /* 0285BAB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285BABC */ cpu->f[31] = cpu->f[1]; /* 0285BAC0 */ _t4 = cpu->r[1] + 0x00000010u; /* 0285BAC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0285BAC4 */ cpu->r[30] = cpu->r[3]; /* 0285BAC8 */ _t5 = cpu->r[1] + 0x00000014u; /* 0285BAC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]); /* 0285BACC */ cpu->r[31] = cpu->r[4]; /* 0285BAD0 */ Gambit_fn_0285A26C(cpu); /* 0285BAD4 */ cpu->r[9] = 0x43300000u; /* 0285BAD8 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0285BAD8 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]); /* 0285BADC */ cpu->r[12] = 0x10130000u; /* 0285BAE0 */ _t7 = cpu->r[1] + 0x00000008u; /* 0285BAE0 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 0285BAE4 */ _t8 = cpu->r[1] + 0x00000008u; /* 0285BAE4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8); /* 0285BAE8 */ _t9 = cpu->r[12] + 0x00004B28u; /* 0285BAE8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9); /* 0285BAEC */ cpu->f[13] = cpu->f[13] - cpu->f[0]; /* 0285BAF0 */ cpu->f[0] = (double)(float)cpu->f[13]; /* 0285BAF4 */ cpu->f[0] = -cpu->f[0]; /* 0285BAF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]); /* 0285BAFC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285BAFC */ _t11 = _t10 & 0x00000001u; /* 0285BAFC */ if (_t11) goto L_0285BB30; else goto L_0285BB00; L_0285BB00: ; // 0x285bb00 /* 0285BB00 */ cpu->r[3] = cpu->r[30]; /* 0285BB04 */ Gambit_fn_0285A26C(cpu); /* 0285BB08 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0285BB08 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]); /* 0285BB0C */ cpu->r[0] = 0x43300000u; /* 0285BB10 */ cpu->r[8] = 0x10130000u; /* 0285BB14 */ _t13 = cpu->r[1] + 0x00000008u; /* 0285BB14 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 0285BB18 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285BB18 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14); /* 0285BB1C */ _t15 = cpu->r[8] + 0x00004B28u; /* 0285BB1C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15); /* 0285BB20 */ cpu->f[0] = cpu->f[0] - cpu->f[13]; /* 0285BB24 */ cpu->f[13] = (double)(float)cpu->f[0]; /* 0285BB28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]); /* 0285BB2C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285BB2C */ _t17 = _t16 & 0x00000001u; /* 0285BB2C */ if (_t17) goto L_0285BB30; else goto L_0285BB48; L_0285BB30: ; // 0x285bb30 /* 0285BB30 */ cpu->r[3] = cpu->r[30]; /* 0285BB34 */ Gambit_fn_0285A284(cpu); /* 0285BB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285BB3C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BB3C */ _t19 = _t18 & 0x00000001u; /* 0285BB3C */ if (_t19) goto L_0285BB80; else goto L_0285BB40; L_0285BB40: ; // 0x285bb40 /* 0285BB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285BB44 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BB44 */ _t21 = _t20 & 0x00000001u; /* 0285BB44 */ if (_t21) goto L_0285BB48; else goto L_0285BB80; L_0285BB48: ; // 0x285bb48 /* 0285BB48 */ _t22 = cpu->r[30] + 0x0000002Cu; /* 0285BB48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22); /* 0285BB4C */ _t23 = cpu->r[30] + 0x00000024u; /* 0285BB4C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[31]); /* 0285BB50 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Cu); /* 0285BB54 */ _t24 = cpu->r[30] + 0x00000028u; /* 0285BB54 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]); /* 0285BB58 */ _t25 = cpu->r[30] + 0x0000002Cu; /* 0285BB58 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]); /* 0285BB5C */ _t26 = cpu->r[1] + 0x00000020u; /* 0285BB5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26); /* 0285BB60 */ _t27 = cpu->r[1] + 0x00000010u; /* 0285BB60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27); /* 0285BB64 */ _t28 = cpu->r[1] + 0x00000018u; /* 0285BB64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28); /* 0285BB68 */ _t29 = cpu->r[1] + 0x00000014u; /* 0285BB68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 0285BB6C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BB6C */ _t31 = _t30 & 0x00000001u; /* 0285BB6C */ if (_t31) goto L_0285BB70; // else: addr-0 trap, fall-through L_0285BB70: ; // 0x285bb70 /* 0285BB70 */ _t32 = cpu->r[1] + 0x0000002Cu; /* 0285BB70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0285BB74 */ cpu->lr = cpu->r[0]; /* 0285BB78 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285BB7C */ return; L_0285BB80: ; // 0x285bb80 /* 0285BB80 */ cpu->r[3] = cpu->r[30]; /* 0285BB84 */ Gambit_fn_0285A284(cpu); /* 0285BB88 */ _t33 = cpu->r[1] + 0x00000020u; /* 0285BB88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t33); /* 0285BB8C */ _t34 = cpu->r[1] + 0x00000014u; /* 0285BB8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 0285BB90 */ _t35 = cpu->r[1] + 0x00000018u; /* 0285BB90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t35); /* 0285BB94 */ _t36 = cpu->r[1] + 0x00000010u; /* 0285BB94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36); /* 0285BB98 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BB98 */ _t38 = _t37 & 0x00000001u; /* 0285BB98 */ if (_t38) goto L_0285BB9C; // else: addr-0 trap, fall-through L_0285BB9C: ; // 0x285bb9c /* 0285BB9C */ _t39 = cpu->r[1] + 0x0000002Cu; /* 0285BB9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 0285BBA0 */ cpu->lr = cpu->r[0]; /* 0285BBA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285BBA8 */ return; } // fn_0285BBAC @ 0x285bbac void Gambit_fn_0285BBAC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285BBAC: ; // 0x285bbac /* 0285BBAC */ _t0 = cpu->r[3] + 0x0000002Cu; /* 0285BBAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 0285BBB0 */ cpu->r[12] = 0x10130000u; /* 0285BBB4 */ _t1 = cpu->r[12] + 0x00004B20u; /* 0285BBB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1); /* 0285BBB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu); /* 0285BBBC */ _t2 = cpu->r[3] + 0x0000002Cu; /* 0285BBBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285BBC0 */ _t3 = cpu->r[3] + 0x00000024u; /* 0285BBC0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]); /* 0285BBC4 */ return; } // fn_0285BBC8 @ 0x285bbc8 void Gambit_fn_0285BBC8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87; L_0285BBC8: ; // 0x285bbc8 /* 0285BBC8 */ cpu->r[0] = cpu->lr; /* 0285BBCC */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 0285BBCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285BBCC */ cpu->r[1] = _t0; /* 0285BBD0 */ _t1 = cpu->r[1] + 0x00000018u; /* 0285BBD0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 0285BBD4 */ /* nop */ /* 0285BBD8 */ _t2 = cpu->r[1] + 0x00000028u; /* 0285BBD8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 0285BBDC */ /* nop */ /* 0285BBE0 */ _t3 = cpu->r[1] + 0x00000020u; /* 0285BBE0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]); /* 0285BBE4 */ cpu->r[11] = 0x10130000u; /* 0285BBE8 */ _t4 = cpu->r[1] + 0x00000030u; /* 0285BBE8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); /* 0285BBEC */ _t5 = cpu->r[11] + 0x00004B20u; /* 0285BBEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5); /* 0285BBF0 */ _t6 = cpu->r[1] + 0x0000003Cu; /* 0285BBF0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285BBF4 */ _t7 = cpu->r[1] + 0x00000010u; /* 0285BBF4 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 0285BBF8 */ cpu->r[30] = cpu->r[3]; /* 0285BBFC */ _t8 = cpu->r[1] + 0x00000014u; /* 0285BBFC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]); /* 0285BC00 */ _t9 = cpu->r[30] + 0x0000002Cu; /* 0285BC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285BC04 */ _t10 = cpu->r[30] + 0x00000024u; /* 0285BC04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10); /* 0285BC08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu); /* 0285BC0C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]); /* 0285BC10 */ _t11 = cpu->r[30] + 0x0000002Cu; /* 0285BC10 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0285BC14 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BC14 */ _t13 = _t12 & 0x00000001u; /* 0285BC14 */ if (_t13) goto L_0285BDF8; else goto L_0285BC18; L_0285BC18: ; // 0x285bc18 /* 0285BC18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]); /* 0285BC1C */ _t14 = cpu->r[30] + 0x0000000Cu; /* 0285BC1C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14); /* 0285BC20 */ cpu->f[30] = fma(cpu->f[13], cpu->f[1], cpu->f[12]); /* 0285BC24 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285BC24 */ _t16 = _t15 & 0x00000001u; /* 0285BC24 */ if (_t16) goto L_0285BC28; else goto L_0285BD60; L_0285BC28: ; // 0x285bc28 /* 0285BC28 */ cpu->r[3] = cpu->r[30]; /* 0285BC2C */ Gambit_fn_0285A26C(cpu); /* 0285BC30 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0285BC30 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 0285BC34 */ cpu->r[0] = 0x43300000u; /* 0285BC38 */ cpu->r[12] = 0x10130000u; /* 0285BC3C */ _t18 = cpu->r[1] + 0x00000008u; /* 0285BC3C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]); /* 0285BC40 */ _t19 = cpu->r[1] + 0x00000008u; /* 0285BC40 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t19); /* 0285BC44 */ _t20 = cpu->r[12] + 0x00004B28u; /* 0285BC44 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t20); /* 0285BC48 */ cpu->f[13] = cpu->f[11] - cpu->f[13]; /* 0285BC4C */ cpu->f[12] = (double)(float)cpu->f[13]; /* 0285BC50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[12]); /* 0285BC54 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BC54 */ _t22 = _t21 & 0x00000001u; /* 0285BC54 */ if (_t22) goto L_0285BDF4; else goto L_0285BC58; L_0285BC58: ; // 0x285bc58 /* 0285BC58 */ _t23 = cpu->r[30] + 0x00000028u; /* 0285BC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0285BC5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 0285BC60 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BC60 */ _t25 = _t24 & 0x00000001u; /* 0285BC60 */ if (_t25) goto L_0285BC78; else goto L_0285BC64; L_0285BC64: ; // 0x285bc64 /* 0285BC64 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BC64 */ _t27 = _t26 & 0x00000001u; /* 0285BC64 */ if (_t27) goto L_0285BCB4; else goto L_0285BC68; L_0285BC68: ; // 0x285bc68 /* 0285BC68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 0285BC6C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BC6C */ _t29 = _t28 & 0x00000001u; /* 0285BC6C */ if (_t29) goto L_0285BCF0; else goto L_0285BC70; L_0285BC70: ; // 0x285bc70 /* 0285BC70 */ _t30 = cpu->r[30] + 0x0000000Cu; /* 0285BC70 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[30]); /* 0285BC74 */ goto L_0285BDF8; L_0285BC78: ; // 0x285bc78 /* 0285BC78 */ cpu->r[3] = cpu->r[30]; /* 0285BC7C */ Gambit_fn_0285A26C(cpu); /* 0285BC80 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 0285BC80 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]); /* 0285BC84 */ cpu->r[0] = 0x43300000u; /* 0285BC88 */ cpu->r[11] = 0x10130000u; /* 0285BC8C */ _t32 = cpu->r[1] + 0x00000008u; /* 0285BC8C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]); /* 0285BC90 */ _t33 = cpu->r[1] + 0x00000008u; /* 0285BC90 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t33); /* 0285BC94 */ _t34 = cpu->r[11] + 0x00004B28u; /* 0285BC94 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t34); /* 0285BC98 */ _t35 = cpu->r[30] + 0x0000002Cu; /* 0285BC98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35); /* 0285BC9C */ cpu->f[0] = cpu->f[12] - cpu->f[13]; /* 0285BCA0 */ _t36 = cpu->r[30] + 0x00000024u; /* 0285BCA0 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]); /* 0285BCA4 */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 0285BCA8 */ _t37 = cpu->r[30] + 0x0000002Cu; /* 0285BCA8 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]); /* 0285BCAC */ cpu->f[30] = (double)(float)cpu->f[0]; /* 0285BCB0 */ goto L_0285BDF4; L_0285BCB4: ; // 0x285bcb4 /* 0285BCB4 */ cpu->r[3] = cpu->r[30]; /* 0285BCB8 */ Gambit_fn_0285A26C(cpu); /* 0285BCBC */ _t38 = cpu->r[1] + 0x0000000Cu; /* 0285BCBC */ rbrew_write32(cpu->mem, _t38, cpu->r[3]); /* 0285BCC0 */ cpu->r[0] = 0x43300000u; /* 0285BCC4 */ cpu->r[11] = 0x10130000u; /* 0285BCC8 */ _t39 = cpu->r[1] + 0x00000008u; /* 0285BCC8 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]); /* 0285BCCC */ _t40 = cpu->r[1] + 0x00000008u; /* 0285BCCC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t40); /* 0285BCD0 */ _t41 = cpu->r[11] + 0x00004B28u; /* 0285BCD0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t41); /* 0285BCD4 */ _t42 = cpu->r[30] + 0x0000002Cu; /* 0285BCD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42); /* 0285BCD8 */ cpu->f[0] = cpu->f[12] - cpu->f[0]; /* 0285BCDC */ cpu->r[12] = cpu->r[12] | 0x00000002u; /* 0285BCE0 */ cpu->f[0] = (double)(float)cpu->f[0]; /* 0285BCE4 */ _t43 = cpu->r[30] + 0x0000002Cu; /* 0285BCE4 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]); /* 0285BCE8 */ cpu->f[30] = cpu->f[30] - cpu->f[0]; /* 0285BCEC */ goto L_0285BDF4; L_0285BCF0: ; // 0x285bcf0 /* 0285BCF0 */ cpu->r[3] = cpu->r[30]; /* 0285BCF4 */ Gambit_fn_0285A26C(cpu); /* 0285BCF8 */ _t44 = cpu->r[1] + 0x0000000Cu; /* 0285BCF8 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]); /* 0285BCFC */ cpu->r[31] = 0x43300000u; /* 0285BD00 */ cpu->r[11] = 0x10130000u; /* 0285BD04 */ _t45 = cpu->r[1] + 0x00000008u; /* 0285BD04 */ rbrew_write32(cpu->mem, _t45, cpu->r[31]); /* 0285BD08 */ _t46 = cpu->r[1] + 0x00000008u; /* 0285BD08 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t46); /* 0285BD0C */ _t47 = cpu->r[11] + 0x00004B28u; /* 0285BD0C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t47); /* 0285BD10 */ cpu->f[11] = cpu->f[11] - cpu->f[12]; /* 0285BD14 */ cpu->r[3] = cpu->r[30]; /* 0285BD18 */ cpu->f[31] = (double)(float)cpu->f[11]; /* 0285BD1C */ Gambit_fn_0285A26C(cpu); /* 0285BD20 */ _t48 = cpu->r[1] + 0x0000000Cu; /* 0285BD20 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]); /* 0285BD24 */ cpu->r[12] = 0x10130000u; /* 0285BD28 */ _t49 = cpu->r[1] + 0x00000008u; /* 0285BD28 */ rbrew_write32(cpu->mem, _t49, cpu->r[31]); /* 0285BD2C */ _t50 = cpu->r[1] + 0x00000008u; /* 0285BD2C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t50); /* 0285BD30 */ _t51 = cpu->r[12] + 0x00004B28u; /* 0285BD30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t51); /* 0285BD34 */ _t52 = cpu->r[30] + 0x00000024u; /* 0285BD34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t52); /* 0285BD38 */ cpu->f[11] = cpu->f[13] - cpu->f[0]; /* 0285BD3C */ cpu->f[0] = -cpu->f[12]; /* 0285BD40 */ _t53 = cpu->r[30] + 0x0000002Cu; /* 0285BD40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53); /* 0285BD44 */ cpu->f[11] = (double)(float)cpu->f[11]; /* 0285BD48 */ _t54 = cpu->r[30] + 0x00000024u; /* 0285BD48 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]); /* 0285BD4C */ cpu->r[12] = cpu->r[12] | 0x00000002u; /* 0285BD50 */ cpu->f[13] = cpu->f[30] - cpu->f[11]; /* 0285BD54 */ _t55 = cpu->r[30] + 0x0000002Cu; /* 0285BD54 */ rbrew_write32(cpu->mem, _t55, cpu->r[12]); /* 0285BD58 */ cpu->f[30] = cpu->f[31] - cpu->f[13]; /* 0285BD5C */ goto L_0285BDF4; L_0285BD60: ; // 0x285bd60 /* 0285BD60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]); /* 0285BD64 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285BD64 */ _t57 = _t56 & 0x00000001u; /* 0285BD64 */ if (_t57) goto L_0285BDF4; else goto L_0285BD68; L_0285BD68: ; // 0x285bd68 /* 0285BD68 */ _t58 = cpu->r[30] + 0x00000028u; /* 0285BD68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58); /* 0285BD6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u); /* 0285BD70 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BD70 */ _t60 = _t59 & 0x00000001u; /* 0285BD70 */ if (_t60) goto L_0285BD88; else goto L_0285BD74; L_0285BD74: ; // 0x285bd74 /* 0285BD74 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BD74 */ _t62 = _t61 & 0x00000001u; /* 0285BD74 */ if (_t62) goto L_0285BDA0; else goto L_0285BD78; L_0285BD78: ; // 0x285bd78 /* 0285BD78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u); /* 0285BD7C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BD7C */ _t64 = _t63 & 0x00000001u; /* 0285BD7C */ if (_t64) goto L_0285BDDC; else goto L_0285BD80; L_0285BD80: ; // 0x285bd80 /* 0285BD80 */ _t65 = cpu->r[30] + 0x0000000Cu; /* 0285BD80 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[30]); /* 0285BD84 */ goto L_0285BDF8; L_0285BD88: ; // 0x285bd88 /* 0285BD88 */ _t66 = cpu->r[30] + 0x0000002Cu; /* 0285BD88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66); /* 0285BD8C */ _t67 = cpu->r[30] + 0x00000024u; /* 0285BD8C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]); /* 0285BD90 */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 0285BD94 */ cpu->f[30] = cpu->f[31]; /* 0285BD98 */ _t68 = cpu->r[30] + 0x0000002Cu; /* 0285BD98 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]); /* 0285BD9C */ goto L_0285BDF4; L_0285BDA0: ; // 0x285bda0 /* 0285BDA0 */ cpu->r[3] = cpu->r[30]; /* 0285BDA4 */ Gambit_fn_0285A26C(cpu); /* 0285BDA8 */ _t69 = cpu->r[1] + 0x0000000Cu; /* 0285BDA8 */ rbrew_write32(cpu->mem, _t69, cpu->r[3]); /* 0285BDAC */ cpu->r[12] = 0x43300000u; /* 0285BDB0 */ cpu->r[11] = 0x10130000u; /* 0285BDB4 */ _t70 = cpu->r[1] + 0x00000008u; /* 0285BDB4 */ rbrew_write32(cpu->mem, _t70, cpu->r[12]); /* 0285BDB8 */ _t71 = cpu->r[1] + 0x00000008u; /* 0285BDB8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t71); /* 0285BDBC */ _t72 = cpu->r[11] + 0x00004B28u; /* 0285BDBC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t72); /* 0285BDC0 */ _t73 = cpu->r[30] + 0x0000002Cu; /* 0285BDC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73); /* 0285BDC4 */ cpu->f[13] = cpu->f[0] - cpu->f[11]; /* 0285BDC8 */ cpu->r[12] = cpu->r[12] | 0x00000004u; /* 0285BDCC */ cpu->f[12] = (double)(float)cpu->f[13]; /* 0285BDD0 */ _t74 = cpu->r[30] + 0x0000002Cu; /* 0285BDD0 */ rbrew_write32(cpu->mem, _t74, cpu->r[12]); /* 0285BDD4 */ cpu->f[30] = cpu->f[30] + cpu->f[12]; /* 0285BDD8 */ goto L_0285BDF4; L_0285BDDC: ; // 0x285bddc /* 0285BDDC */ cpu->f[11] = -cpu->f[13]; /* 0285BDE0 */ _t75 = cpu->r[30] + 0x0000002Cu; /* 0285BDE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75); /* 0285BDE4 */ cpu->r[12] = cpu->r[12] | 0x00000004u; /* 0285BDE8 */ _t76 = cpu->r[30] + 0x00000024u; /* 0285BDE8 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[11]); /* 0285BDEC */ cpu->f[30] = -cpu->f[30]; /* 0285BDF0 */ _t77 = cpu->r[30] + 0x0000002Cu; /* 0285BDF0 */ rbrew_write32(cpu->mem, _t77, cpu->r[12]); L_0285BDF4: ; // 0x285bdf4 /* 0285BDF4 */ _t78 = cpu->r[30] + 0x0000000Cu; /* 0285BDF4 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[30]); L_0285BDF8: ; // 0x285bdf8 /* 0285BDF8 */ _t79 = cpu->r[1] + 0x00000014u; /* 0285BDF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t79); /* 0285BDFC */ _t80 = cpu->r[1] + 0x00000030u; /* 0285BDFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t80); /* 0285BE00 */ _t81 = cpu->r[1] + 0x00000020u; /* 0285BE00 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t81); /* 0285BE04 */ _t82 = cpu->r[1] + 0x00000028u; /* 0285BE04 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t82); /* 0285BE08 */ _t83 = cpu->r[1] + 0x00000018u; /* 0285BE08 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t83); /* 0285BE0C */ _t84 = cpu->r[1] + 0x00000010u; /* 0285BE0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t84); /* 0285BE10 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BE10 */ _t86 = _t85 & 0x00000001u; /* 0285BE10 */ if (_t86) goto L_0285BE14; // else: addr-0 trap, fall-through L_0285BE14: ; // 0x285be14 /* 0285BE14 */ _t87 = cpu->r[1] + 0x0000003Cu; /* 0285BE14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87); /* 0285BE18 */ cpu->lr = cpu->r[0]; /* 0285BE1C */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 0285BE20 */ return; } // fn_0285BBCC @ 0x285bbcc void Gambit_fn_0285BBCC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87; L_0285BBCC: ; // 0x285bbcc /* 0285BBCC */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 0285BBCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285BBCC */ cpu->r[1] = _t0; /* 0285BBD0 */ _t1 = cpu->r[1] + 0x00000018u; /* 0285BBD0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 0285BBD4 */ /* nop */ /* 0285BBD8 */ _t2 = cpu->r[1] + 0x00000028u; /* 0285BBD8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 0285BBDC */ /* nop */ /* 0285BBE0 */ _t3 = cpu->r[1] + 0x00000020u; /* 0285BBE0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]); /* 0285BBE4 */ cpu->r[11] = 0x10130000u; /* 0285BBE8 */ _t4 = cpu->r[1] + 0x00000030u; /* 0285BBE8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); /* 0285BBEC */ _t5 = cpu->r[11] + 0x00004B20u; /* 0285BBEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5); /* 0285BBF0 */ _t6 = cpu->r[1] + 0x0000003Cu; /* 0285BBF0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285BBF4 */ _t7 = cpu->r[1] + 0x00000010u; /* 0285BBF4 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 0285BBF8 */ cpu->r[30] = cpu->r[3]; /* 0285BBFC */ _t8 = cpu->r[1] + 0x00000014u; /* 0285BBFC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]); /* 0285BC00 */ _t9 = cpu->r[30] + 0x0000002Cu; /* 0285BC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285BC04 */ _t10 = cpu->r[30] + 0x00000024u; /* 0285BC04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10); /* 0285BC08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu); /* 0285BC0C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]); /* 0285BC10 */ _t11 = cpu->r[30] + 0x0000002Cu; /* 0285BC10 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0285BC14 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BC14 */ _t13 = _t12 & 0x00000001u; /* 0285BC14 */ if (_t13) goto L_0285BDF8; else goto L_0285BC18; L_0285BC18: ; // 0x285bc18 /* 0285BC18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]); /* 0285BC1C */ _t14 = cpu->r[30] + 0x0000000Cu; /* 0285BC1C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14); /* 0285BC20 */ cpu->f[30] = fma(cpu->f[13], cpu->f[1], cpu->f[12]); /* 0285BC24 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285BC24 */ _t16 = _t15 & 0x00000001u; /* 0285BC24 */ if (_t16) goto L_0285BC28; else goto L_0285BD60; L_0285BC28: ; // 0x285bc28 /* 0285BC28 */ cpu->r[3] = cpu->r[30]; /* 0285BC2C */ Gambit_fn_0285A26C(cpu); /* 0285BC30 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0285BC30 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 0285BC34 */ cpu->r[0] = 0x43300000u; /* 0285BC38 */ cpu->r[12] = 0x10130000u; /* 0285BC3C */ _t18 = cpu->r[1] + 0x00000008u; /* 0285BC3C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]); /* 0285BC40 */ _t19 = cpu->r[1] + 0x00000008u; /* 0285BC40 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t19); /* 0285BC44 */ _t20 = cpu->r[12] + 0x00004B28u; /* 0285BC44 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t20); /* 0285BC48 */ cpu->f[13] = cpu->f[11] - cpu->f[13]; /* 0285BC4C */ cpu->f[12] = (double)(float)cpu->f[13]; /* 0285BC50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[12]); /* 0285BC54 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BC54 */ _t22 = _t21 & 0x00000001u; /* 0285BC54 */ if (_t22) goto L_0285BDF4; else goto L_0285BC58; L_0285BC58: ; // 0x285bc58 /* 0285BC58 */ _t23 = cpu->r[30] + 0x00000028u; /* 0285BC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0285BC5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 0285BC60 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BC60 */ _t25 = _t24 & 0x00000001u; /* 0285BC60 */ if (_t25) goto L_0285BC78; else goto L_0285BC64; L_0285BC64: ; // 0x285bc64 /* 0285BC64 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BC64 */ _t27 = _t26 & 0x00000001u; /* 0285BC64 */ if (_t27) goto L_0285BCB4; else goto L_0285BC68; L_0285BC68: ; // 0x285bc68 /* 0285BC68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 0285BC6C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BC6C */ _t29 = _t28 & 0x00000001u; /* 0285BC6C */ if (_t29) goto L_0285BCF0; else goto L_0285BC70; L_0285BC70: ; // 0x285bc70 /* 0285BC70 */ _t30 = cpu->r[30] + 0x0000000Cu; /* 0285BC70 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[30]); /* 0285BC74 */ goto L_0285BDF8; L_0285BC78: ; // 0x285bc78 /* 0285BC78 */ cpu->r[3] = cpu->r[30]; /* 0285BC7C */ Gambit_fn_0285A26C(cpu); /* 0285BC80 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 0285BC80 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]); /* 0285BC84 */ cpu->r[0] = 0x43300000u; /* 0285BC88 */ cpu->r[11] = 0x10130000u; /* 0285BC8C */ _t32 = cpu->r[1] + 0x00000008u; /* 0285BC8C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]); /* 0285BC90 */ _t33 = cpu->r[1] + 0x00000008u; /* 0285BC90 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t33); /* 0285BC94 */ _t34 = cpu->r[11] + 0x00004B28u; /* 0285BC94 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t34); /* 0285BC98 */ _t35 = cpu->r[30] + 0x0000002Cu; /* 0285BC98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35); /* 0285BC9C */ cpu->f[0] = cpu->f[12] - cpu->f[13]; /* 0285BCA0 */ _t36 = cpu->r[30] + 0x00000024u; /* 0285BCA0 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]); /* 0285BCA4 */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 0285BCA8 */ _t37 = cpu->r[30] + 0x0000002Cu; /* 0285BCA8 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]); /* 0285BCAC */ cpu->f[30] = (double)(float)cpu->f[0]; /* 0285BCB0 */ goto L_0285BDF4; L_0285BCB4: ; // 0x285bcb4 /* 0285BCB4 */ cpu->r[3] = cpu->r[30]; /* 0285BCB8 */ Gambit_fn_0285A26C(cpu); /* 0285BCBC */ _t38 = cpu->r[1] + 0x0000000Cu; /* 0285BCBC */ rbrew_write32(cpu->mem, _t38, cpu->r[3]); /* 0285BCC0 */ cpu->r[0] = 0x43300000u; /* 0285BCC4 */ cpu->r[11] = 0x10130000u; /* 0285BCC8 */ _t39 = cpu->r[1] + 0x00000008u; /* 0285BCC8 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]); /* 0285BCCC */ _t40 = cpu->r[1] + 0x00000008u; /* 0285BCCC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t40); /* 0285BCD0 */ _t41 = cpu->r[11] + 0x00004B28u; /* 0285BCD0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t41); /* 0285BCD4 */ _t42 = cpu->r[30] + 0x0000002Cu; /* 0285BCD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42); /* 0285BCD8 */ cpu->f[0] = cpu->f[12] - cpu->f[0]; /* 0285BCDC */ cpu->r[12] = cpu->r[12] | 0x00000002u; /* 0285BCE0 */ cpu->f[0] = (double)(float)cpu->f[0]; /* 0285BCE4 */ _t43 = cpu->r[30] + 0x0000002Cu; /* 0285BCE4 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]); /* 0285BCE8 */ cpu->f[30] = cpu->f[30] - cpu->f[0]; /* 0285BCEC */ goto L_0285BDF4; L_0285BCF0: ; // 0x285bcf0 /* 0285BCF0 */ cpu->r[3] = cpu->r[30]; /* 0285BCF4 */ Gambit_fn_0285A26C(cpu); /* 0285BCF8 */ _t44 = cpu->r[1] + 0x0000000Cu; /* 0285BCF8 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]); /* 0285BCFC */ cpu->r[31] = 0x43300000u; /* 0285BD00 */ cpu->r[11] = 0x10130000u; /* 0285BD04 */ _t45 = cpu->r[1] + 0x00000008u; /* 0285BD04 */ rbrew_write32(cpu->mem, _t45, cpu->r[31]); /* 0285BD08 */ _t46 = cpu->r[1] + 0x00000008u; /* 0285BD08 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t46); /* 0285BD0C */ _t47 = cpu->r[11] + 0x00004B28u; /* 0285BD0C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t47); /* 0285BD10 */ cpu->f[11] = cpu->f[11] - cpu->f[12]; /* 0285BD14 */ cpu->r[3] = cpu->r[30]; /* 0285BD18 */ cpu->f[31] = (double)(float)cpu->f[11]; /* 0285BD1C */ Gambit_fn_0285A26C(cpu); /* 0285BD20 */ _t48 = cpu->r[1] + 0x0000000Cu; /* 0285BD20 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]); /* 0285BD24 */ cpu->r[12] = 0x10130000u; /* 0285BD28 */ _t49 = cpu->r[1] + 0x00000008u; /* 0285BD28 */ rbrew_write32(cpu->mem, _t49, cpu->r[31]); /* 0285BD2C */ _t50 = cpu->r[1] + 0x00000008u; /* 0285BD2C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t50); /* 0285BD30 */ _t51 = cpu->r[12] + 0x00004B28u; /* 0285BD30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t51); /* 0285BD34 */ _t52 = cpu->r[30] + 0x00000024u; /* 0285BD34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t52); /* 0285BD38 */ cpu->f[11] = cpu->f[13] - cpu->f[0]; /* 0285BD3C */ cpu->f[0] = -cpu->f[12]; /* 0285BD40 */ _t53 = cpu->r[30] + 0x0000002Cu; /* 0285BD40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53); /* 0285BD44 */ cpu->f[11] = (double)(float)cpu->f[11]; /* 0285BD48 */ _t54 = cpu->r[30] + 0x00000024u; /* 0285BD48 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]); /* 0285BD4C */ cpu->r[12] = cpu->r[12] | 0x00000002u; /* 0285BD50 */ cpu->f[13] = cpu->f[30] - cpu->f[11]; /* 0285BD54 */ _t55 = cpu->r[30] + 0x0000002Cu; /* 0285BD54 */ rbrew_write32(cpu->mem, _t55, cpu->r[12]); /* 0285BD58 */ cpu->f[30] = cpu->f[31] - cpu->f[13]; /* 0285BD5C */ goto L_0285BDF4; L_0285BD60: ; // 0x285bd60 /* 0285BD60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]); /* 0285BD64 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285BD64 */ _t57 = _t56 & 0x00000001u; /* 0285BD64 */ if (_t57) goto L_0285BDF4; else goto L_0285BD68; L_0285BD68: ; // 0x285bd68 /* 0285BD68 */ _t58 = cpu->r[30] + 0x00000028u; /* 0285BD68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58); /* 0285BD6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u); /* 0285BD70 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BD70 */ _t60 = _t59 & 0x00000001u; /* 0285BD70 */ if (_t60) goto L_0285BD88; else goto L_0285BD74; L_0285BD74: ; // 0x285bd74 /* 0285BD74 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BD74 */ _t62 = _t61 & 0x00000001u; /* 0285BD74 */ if (_t62) goto L_0285BDA0; else goto L_0285BD78; L_0285BD78: ; // 0x285bd78 /* 0285BD78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u); /* 0285BD7C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BD7C */ _t64 = _t63 & 0x00000001u; /* 0285BD7C */ if (_t64) goto L_0285BDDC; else goto L_0285BD80; L_0285BD80: ; // 0x285bd80 /* 0285BD80 */ _t65 = cpu->r[30] + 0x0000000Cu; /* 0285BD80 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[30]); /* 0285BD84 */ goto L_0285BDF8; L_0285BD88: ; // 0x285bd88 /* 0285BD88 */ _t66 = cpu->r[30] + 0x0000002Cu; /* 0285BD88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66); /* 0285BD8C */ _t67 = cpu->r[30] + 0x00000024u; /* 0285BD8C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]); /* 0285BD90 */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 0285BD94 */ cpu->f[30] = cpu->f[31]; /* 0285BD98 */ _t68 = cpu->r[30] + 0x0000002Cu; /* 0285BD98 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]); /* 0285BD9C */ goto L_0285BDF4; L_0285BDA0: ; // 0x285bda0 /* 0285BDA0 */ cpu->r[3] = cpu->r[30]; /* 0285BDA4 */ Gambit_fn_0285A26C(cpu); /* 0285BDA8 */ _t69 = cpu->r[1] + 0x0000000Cu; /* 0285BDA8 */ rbrew_write32(cpu->mem, _t69, cpu->r[3]); /* 0285BDAC */ cpu->r[12] = 0x43300000u; /* 0285BDB0 */ cpu->r[11] = 0x10130000u; /* 0285BDB4 */ _t70 = cpu->r[1] + 0x00000008u; /* 0285BDB4 */ rbrew_write32(cpu->mem, _t70, cpu->r[12]); /* 0285BDB8 */ _t71 = cpu->r[1] + 0x00000008u; /* 0285BDB8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t71); /* 0285BDBC */ _t72 = cpu->r[11] + 0x00004B28u; /* 0285BDBC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t72); /* 0285BDC0 */ _t73 = cpu->r[30] + 0x0000002Cu; /* 0285BDC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73); /* 0285BDC4 */ cpu->f[13] = cpu->f[0] - cpu->f[11]; /* 0285BDC8 */ cpu->r[12] = cpu->r[12] | 0x00000004u; /* 0285BDCC */ cpu->f[12] = (double)(float)cpu->f[13]; /* 0285BDD0 */ _t74 = cpu->r[30] + 0x0000002Cu; /* 0285BDD0 */ rbrew_write32(cpu->mem, _t74, cpu->r[12]); /* 0285BDD4 */ cpu->f[30] = cpu->f[30] + cpu->f[12]; /* 0285BDD8 */ goto L_0285BDF4; L_0285BDDC: ; // 0x285bddc /* 0285BDDC */ cpu->f[11] = -cpu->f[13]; /* 0285BDE0 */ _t75 = cpu->r[30] + 0x0000002Cu; /* 0285BDE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75); /* 0285BDE4 */ cpu->r[12] = cpu->r[12] | 0x00000004u; /* 0285BDE8 */ _t76 = cpu->r[30] + 0x00000024u; /* 0285BDE8 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[11]); /* 0285BDEC */ cpu->f[30] = -cpu->f[30]; /* 0285BDF0 */ _t77 = cpu->r[30] + 0x0000002Cu; /* 0285BDF0 */ rbrew_write32(cpu->mem, _t77, cpu->r[12]); L_0285BDF4: ; // 0x285bdf4 /* 0285BDF4 */ _t78 = cpu->r[30] + 0x0000000Cu; /* 0285BDF4 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[30]); L_0285BDF8: ; // 0x285bdf8 /* 0285BDF8 */ _t79 = cpu->r[1] + 0x00000014u; /* 0285BDF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t79); /* 0285BDFC */ _t80 = cpu->r[1] + 0x00000030u; /* 0285BDFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t80); /* 0285BE00 */ _t81 = cpu->r[1] + 0x00000020u; /* 0285BE00 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t81); /* 0285BE04 */ _t82 = cpu->r[1] + 0x00000028u; /* 0285BE04 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t82); /* 0285BE08 */ _t83 = cpu->r[1] + 0x00000018u; /* 0285BE08 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t83); /* 0285BE0C */ _t84 = cpu->r[1] + 0x00000010u; /* 0285BE0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t84); /* 0285BE10 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BE10 */ _t86 = _t85 & 0x00000001u; /* 0285BE10 */ if (_t86) goto L_0285BE14; // else: addr-0 trap, fall-through L_0285BE14: ; // 0x285be14 /* 0285BE14 */ _t87 = cpu->r[1] + 0x0000003Cu; /* 0285BE14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87); /* 0285BE18 */ cpu->lr = cpu->r[0]; /* 0285BE1C */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 0285BE20 */ return; } // fn_0285BE24 @ 0x285be24 void Gambit_fn_0285BE24(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0285BE24: ; // 0x285be24 /* 0285BE24 */ cpu->r[0] = cpu->lr; /* 0285BE28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285BE28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285BE28 */ cpu->r[1] = _t0; /* 0285BE2C */ _t1 = cpu->r[1] + 0x00000010u; /* 0285BE2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285BE30 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285BE30 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285BE34 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285BE34 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285BE38 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285BE38 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285BE3C */ _t5 = cpu->r[3] + 0x00000014u; /* 0285BE3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0285BE40 */ _t6 = cpu->r[12] + 0x0000005Cu; /* 0285BE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285BE44 */ cpu->ctr = cpu->r[0]; /* 0285BE48 */ cpu->r[29] = cpu->r[3]; /* 0285BE4C */ cpu->r[30] = cpu->r[4]; /* 0285BE50 */ cpu->r[31] = cpu->r[5]; /* 0285BE54 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285BE58 */ _t7 = cpu->r[29] + 0x00000014u; /* 0285BE58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 0285BE5C */ _t8 = cpu->r[29] + 0x00000030u; /* 0285BE5C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0285BE60 */ _t9 = cpu->r[10] + 0x00000024u; /* 0285BE60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285BE64 */ cpu->ctr = cpu->r[0]; /* 0285BE68 */ cpu->r[3] = cpu->r[29]; /* 0285BE6C */ cpu->r[4] = cpu->r[31]; /* 0285BE70 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285BE74 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285BE74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0285BE78 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 0285BE78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0285BE7C */ _t12 = cpu->r[1] + 0x00000010u; /* 0285BE7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0285BE80 */ cpu->lr = cpu->r[0]; /* 0285BE84 */ _t13 = cpu->r[1] + 0x00000014u; /* 0285BE84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285BE88 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285BE8C */ return; } // fn_0285BE28 @ 0x285be28 void Gambit_fn_0285BE28(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0285BE28: ; // 0x285be28 /* 0285BE28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285BE28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285BE28 */ cpu->r[1] = _t0; /* 0285BE2C */ _t1 = cpu->r[1] + 0x00000010u; /* 0285BE2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285BE30 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285BE30 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285BE34 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285BE34 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285BE38 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285BE38 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285BE3C */ _t5 = cpu->r[3] + 0x00000014u; /* 0285BE3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0285BE40 */ _t6 = cpu->r[12] + 0x0000005Cu; /* 0285BE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285BE44 */ cpu->ctr = cpu->r[0]; /* 0285BE48 */ cpu->r[29] = cpu->r[3]; /* 0285BE4C */ cpu->r[30] = cpu->r[4]; /* 0285BE50 */ cpu->r[31] = cpu->r[5]; /* 0285BE54 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285BE58 */ _t7 = cpu->r[29] + 0x00000014u; /* 0285BE58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 0285BE5C */ _t8 = cpu->r[29] + 0x00000030u; /* 0285BE5C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0285BE60 */ _t9 = cpu->r[10] + 0x00000024u; /* 0285BE60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285BE64 */ cpu->ctr = cpu->r[0]; /* 0285BE68 */ cpu->r[3] = cpu->r[29]; /* 0285BE6C */ cpu->r[4] = cpu->r[31]; /* 0285BE70 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285BE74 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285BE74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0285BE78 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 0285BE78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0285BE7C */ _t12 = cpu->r[1] + 0x00000010u; /* 0285BE7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0285BE80 */ cpu->lr = cpu->r[0]; /* 0285BE84 */ _t13 = cpu->r[1] + 0x00000014u; /* 0285BE84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285BE88 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285BE8C */ return; } // fn_0285BE90 @ 0x285be90 void Gambit_fn_0285BE90(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0285BE90: ; // 0x285be90 /* 0285BE90 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285BE90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285BE90 */ cpu->r[1] = _t0; /* 0285BE94 */ cpu->r[0] = cpu->lr; /* 0285BE98 */ /* nop */ /* 0285BE9C */ cpu->r[31] = cpu->r[5]; /* 0285BEA0 */ cpu->r[27] = cpu->r[6]; /* 0285BEA4 */ cpu->r[30] = cpu->r[4]; /* 0285BEA8 */ _t1 = cpu->r[1] + 0x00000024u; /* 0285BEA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285BEAC */ cpu->r[29] = cpu->r[3]; /* 0285BEB0 */ cpu->r[3] = cpu->r[30]; /* 0285BEB4 */ cpu->r[28] = cpu->r[7]; /* 0285BEB8 */ Gambit_fn_0285B7D0(cpu); /* 0285BEBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[3]); /* 0285BEC0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285BEC0 */ _t3 = _t2 & 0x00000001u; /* 0285BEC0 */ if (_t3) goto L_0285BEC4; else goto L_0285BEEC; L_0285BEC4: ; // 0x285bec4 /* 0285BEC4 */ cpu->r[3] = cpu->r[30]; /* 0285BEC8 */ Gambit_fn_0285B7E8(cpu); /* 0285BECC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x00000024u); /* 0285BED0 */ cpu->r[4] = cpu->r[3] + cpu->r[0]; /* 0285BED4 */ cpu->r[3] = cpu->r[31]; /* 0285BED8 */ Gambit_fn_0285D774(cpu); /* 0285BEDC */ cpu->r[4] = cpu->r[3]; /* 0285BEE0 */ cpu->r[3] = cpu->r[29]; /* 0285BEE4 */ cpu->r[5] = cpu->r[28]; /* 0285BEE8 */ Gambit_fn_0285BE24(cpu); L_0285BEEC: ; // 0x285beec /* 0285BEEC */ /* nop */ /* 0285BEF0 */ _t4 = cpu->r[1] + 0x00000024u; /* 0285BEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285BEF4 */ cpu->lr = cpu->r[0]; /* 0285BEF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285BEFC */ return; } // fn_0285BF00 @ 0x285bf00 void Gambit_fn_0285BF00(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285BF00: ; // 0x285bf00 /* 0285BF00 */ cpu->r[0] = cpu->lr; /* 0285BF04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285BF04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285BF04 */ cpu->r[1] = _t0; /* 0285BF08 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285BF08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285BF0C */ _t2 = cpu->r[1] + 0x00000008u; /* 0285BF0C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285BF10 */ cpu->r[30] = cpu->r[3]; /* 0285BF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285BF14 */ cpu->r[31] = cpu->r[4]; /* 0285BF18 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285BF18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285BF1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BF1C */ _t5 = _t4 & 0x00000001u; /* 0285BF1C */ if (_t5) goto L_0285BF3C; else goto L_0285BF20; L_0285BF20: ; // 0x285bf20 /* 0285BF20 */ cpu->r[3] = cpu->r[30]; /* 0285BF24 */ cpu->r[4] = 0x00000000u; /* 0285BF28 */ Gambit_fn_0285B904(cpu); /* 0285BF2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285BF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285BF30 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BF30 */ _t7 = _t6 & 0x00000001u; /* 0285BF30 */ if (_t7) goto L_0285BF3C; else goto L_0285BF34; L_0285BF34: ; // 0x285bf34 /* 0285BF34 */ cpu->r[3] = cpu->r[30]; /* 0285BF38 */ Gambit_fn_02801BB0(cpu); L_0285BF3C: ; // 0x285bf3c /* 0285BF3C */ _t8 = cpu->r[1] + 0x00000014u; /* 0285BF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285BF40 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285BF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285BF44 */ cpu->lr = cpu->r[0]; /* 0285BF48 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285BF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285BF4C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285BF50 */ return; } // fn_0285BF04 @ 0x285bf04 void Gambit_fn_0285BF04(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285BF04: ; // 0x285bf04 /* 0285BF04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285BF04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285BF04 */ cpu->r[1] = _t0; /* 0285BF08 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285BF08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285BF0C */ _t2 = cpu->r[1] + 0x00000008u; /* 0285BF0C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285BF10 */ cpu->r[30] = cpu->r[3]; /* 0285BF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285BF14 */ cpu->r[31] = cpu->r[4]; /* 0285BF18 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285BF18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285BF1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BF1C */ _t5 = _t4 & 0x00000001u; /* 0285BF1C */ if (_t5) goto L_0285BF3C; else goto L_0285BF20; L_0285BF20: ; // 0x285bf20 /* 0285BF20 */ cpu->r[3] = cpu->r[30]; /* 0285BF24 */ cpu->r[4] = 0x00000000u; /* 0285BF28 */ Gambit_fn_0285B904(cpu); /* 0285BF2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285BF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285BF30 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BF30 */ _t7 = _t6 & 0x00000001u; /* 0285BF30 */ if (_t7) goto L_0285BF3C; else goto L_0285BF34; L_0285BF34: ; // 0x285bf34 /* 0285BF34 */ cpu->r[3] = cpu->r[30]; /* 0285BF38 */ Gambit_fn_02801BB0(cpu); L_0285BF3C: ; // 0x285bf3c /* 0285BF3C */ _t8 = cpu->r[1] + 0x00000014u; /* 0285BF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285BF40 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285BF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285BF44 */ cpu->lr = cpu->r[0]; /* 0285BF48 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285BF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285BF4C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285BF50 */ return; } // fn_0285BF54 @ 0x285bf54 void Gambit_fn_0285BF54(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37; L_0285BF54: ; // 0x285bf54 /* 0285BF54 */ cpu->r[0] = cpu->lr; /* 0285BF58 */ _t0 = cpu->r[1] + 0xFFFFFED8u; /* 0285BF58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285BF58 */ cpu->r[1] = _t0; /* 0285BF5C */ _t1 = cpu->r[1] + 0x00000124u; /* 0285BF5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285BF60 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000018u, 0x0000001Fu); /* 0285BF64 */ _t2 = cpu->r[1] + 0x0000011Cu; /* 0285BF64 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285BF68 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000010u, 0x00000018u, 0x0000001Fu); /* 0285BF6C */ _t3 = cpu->r[1] + 0x0000000Au; /* 0285BF6C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]); /* 0285BF70 */ _t4 = cpu->r[1] + 0x00000009u; /* 0285BF70 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]); /* 0285BF74 */ _t5 = cpu->r[1] + 0x00000120u; /* 0285BF74 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]); /* 0285BF78 */ _t6 = cpu->r[1] + 0x0000012Cu; /* 0285BF78 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285BF7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0285BF80 */ _t7 = cpu->r[4] + 0x00000000u; /* 0285BF80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7); /* 0285BF84 */ cpu->r[31] = cpu->r[7]; /* 0285BF88 */ _t8 = cpu->r[1] + 0x00000008u; /* 0285BF88 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]); /* 0285BF8C */ cpu->r[29] = 0x00000000u; /* 0285BF90 */ cpu->r[30] = cpu->r[3]; /* 0285BF94 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 0285BF94 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[29]); /* 0285BF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000002Eu); /* 0285BF9C */ _t10 = cpu->r[1] + 0x0000000Bu; /* 0285BF9C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[5]); /* 0285BFA0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BFA0 */ _t12 = _t11 & 0x00000001u; /* 0285BFA0 */ if (_t12) goto L_0285BFA4; else goto L_0285C00C; L_0285BFA4: ; // 0x285bfa4 /* 0285BFA4 */ _t13 = cpu->r[4] + 0x00000001u; /* 0285BFA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13); /* 0285BFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285BFAC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BFAC */ _t15 = _t14 & 0x00000001u; /* 0285BFAC */ if (_t15) goto L_0285BFB0; else goto L_0285C00C; L_0285BFB0: ; // 0x285bfb0 /* 0285BFB0 */ cpu->r[8] = cpu->r[6]; /* 0285BFB4 */ cpu->r[6] = 0x10130000u; /* 0285BFB8 */ cpu->r[3] = cpu->r[1] + 0x00000018u; /* 0285BFBC */ cpu->r[4] = 0x00000100u; /* 0285BFC0 */ cpu->r[6] = cpu->r[6] + 0x00004CF0u; /* 0285BFC4 */ cpu->r[7] = cpu->r[1] + 0x00000008u; /* 0285BFC8 */ cpu->r[5] = 0x000000FFu; /* 0285BFCC */ _t16 = cpu->cr[1] >> (0x00000001u & 31u); /* 0285BFCC */ _t17 = _t16 & 0x00000001u; /* 0285BFCC */ if (_t17) goto L_0285BFD0; // else: addr-0 trap, fall-through L_0285BFD0: ; // 0x285bfd0 /* 0285BFD0 */ Gambit_fn_0285C594(cpu); /* 0285BFD4 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 0285BFD8 */ cpu->r[3] = cpu->r[30]; /* 0285BFDC */ Gambit_fn_0285C918(cpu); /* 0285BFE0 */ cpu->r[4] = cpu->r[3]; /* 0285BFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu); /* 0285BFE8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BFE8 */ _t19 = _t18 & 0x00000001u; /* 0285BFE8 */ if (_t19) goto L_0285BFEC; else goto L_0285C04C; L_0285BFEC: ; // 0x285bfec /* 0285BFEC */ _t20 = cpu->r[1] + 0x0000011Cu; /* 0285BFEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 0285BFF0 */ _t21 = cpu->r[1] + 0x0000012Cu; /* 0285BFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0285BFF4 */ _t22 = cpu->r[1] + 0x00000120u; /* 0285BFF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 0285BFF8 */ cpu->lr = cpu->r[0]; /* 0285BFFC */ _t23 = cpu->r[1] + 0x00000124u; /* 0285BFFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 0285C000 */ cpu->r[1] = cpu->r[1] + 0x00000128u; /* 0285C004 */ cpu->r[3] = 0x00000000u; /* 0285C008 */ return; L_0285C00C: ; // 0x285c00c /* 0285C00C */ cpu->r[7] = cpu->r[4]; /* 0285C010 */ cpu->r[9] = cpu->r[6]; /* 0285C014 */ cpu->r[6] = 0x10130000u; /* 0285C018 */ cpu->r[3] = cpu->r[1] + 0x00000018u; /* 0285C01C */ cpu->r[4] = 0x00000100u; /* 0285C020 */ cpu->r[6] = cpu->r[6] + 0x00004CF8u; /* 0285C024 */ cpu->r[8] = cpu->r[1] + 0x00000008u; /* 0285C028 */ cpu->r[5] = 0x000000FFu; /* 0285C02C */ _t24 = cpu->cr[1] >> (0x00000001u & 31u); /* 0285C02C */ _t25 = _t24 & 0x00000001u; /* 0285C02C */ if (_t25) goto L_0285C030; // else: addr-0 trap, fall-through L_0285C030: ; // 0x285c030 /* 0285C030 */ Gambit_fn_0285C594(cpu); /* 0285C034 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 0285C038 */ cpu->r[3] = cpu->r[30]; /* 0285C03C */ Gambit_fn_0285C918(cpu); /* 0285C040 */ cpu->r[4] = cpu->r[3]; /* 0285C044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu); /* 0285C048 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C048 */ _t27 = _t26 & 0x00000001u; /* 0285C048 */ if (_t27) goto L_0285BFEC; else goto L_0285C04C; L_0285C04C: ; // 0x285c04c /* 0285C04C */ _t28 = cpu->r[1] + 0x00000010u; /* 0285C04C */ rbrew_write32(cpu->mem, _t28, cpu->r[29]); /* 0285C050 */ cpu->r[3] = cpu->r[30]; /* 0285C054 */ cpu->r[5] = cpu->r[1] + 0x00000010u; /* 0285C058 */ _t29 = cpu->r[1] + 0x00000014u; /* 0285C058 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]); /* 0285C05C */ Gambit_fn_0285C898(cpu); /* 0285C060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C064 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C064 */ _t31 = _t30 & 0x00000001u; /* 0285C064 */ if (_t31) goto L_0285C070; else goto L_0285C068; L_0285C068: ; // 0x285c068 /* 0285C068 */ _t32 = cpu->r[1] + 0x00000014u; /* 0285C068 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32); /* 0285C06C */ _t33 = cpu->r[31] + 0x00000000u; /* 0285C06C */ rbrew_write32(cpu->mem, _t33, cpu->r[9]); L_0285C070: ; // 0x285c070 /* 0285C070 */ _t34 = cpu->r[1] + 0x0000011Cu; /* 0285C070 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34); /* 0285C074 */ _t35 = cpu->r[1] + 0x0000012Cu; /* 0285C074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 0285C078 */ _t36 = cpu->r[1] + 0x00000120u; /* 0285C078 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36); /* 0285C07C */ cpu->lr = cpu->r[0]; /* 0285C080 */ _t37 = cpu->r[1] + 0x00000124u; /* 0285C080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37); /* 0285C084 */ cpu->r[1] = cpu->r[1] + 0x00000128u; /* 0285C088 */ return; } // fn_0285BF58 @ 0x285bf58 void Gambit_fn_0285BF58(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37; L_0285BF58: ; // 0x285bf58 /* 0285BF58 */ _t0 = cpu->r[1] + 0xFFFFFED8u; /* 0285BF58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285BF58 */ cpu->r[1] = _t0; /* 0285BF5C */ _t1 = cpu->r[1] + 0x00000124u; /* 0285BF5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285BF60 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000018u, 0x0000001Fu); /* 0285BF64 */ _t2 = cpu->r[1] + 0x0000011Cu; /* 0285BF64 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285BF68 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000010u, 0x00000018u, 0x0000001Fu); /* 0285BF6C */ _t3 = cpu->r[1] + 0x0000000Au; /* 0285BF6C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]); /* 0285BF70 */ _t4 = cpu->r[1] + 0x00000009u; /* 0285BF70 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]); /* 0285BF74 */ _t5 = cpu->r[1] + 0x00000120u; /* 0285BF74 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]); /* 0285BF78 */ _t6 = cpu->r[1] + 0x0000012Cu; /* 0285BF78 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285BF7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0285BF80 */ _t7 = cpu->r[4] + 0x00000000u; /* 0285BF80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7); /* 0285BF84 */ cpu->r[31] = cpu->r[7]; /* 0285BF88 */ _t8 = cpu->r[1] + 0x00000008u; /* 0285BF88 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]); /* 0285BF8C */ cpu->r[29] = 0x00000000u; /* 0285BF90 */ cpu->r[30] = cpu->r[3]; /* 0285BF94 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 0285BF94 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[29]); /* 0285BF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000002Eu); /* 0285BF9C */ _t10 = cpu->r[1] + 0x0000000Bu; /* 0285BF9C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[5]); /* 0285BFA0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BFA0 */ _t12 = _t11 & 0x00000001u; /* 0285BFA0 */ if (_t12) goto L_0285BFA4; else goto L_0285C00C; L_0285BFA4: ; // 0x285bfa4 /* 0285BFA4 */ _t13 = cpu->r[4] + 0x00000001u; /* 0285BFA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13); /* 0285BFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285BFAC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BFAC */ _t15 = _t14 & 0x00000001u; /* 0285BFAC */ if (_t15) goto L_0285BFB0; else goto L_0285C00C; L_0285BFB0: ; // 0x285bfb0 /* 0285BFB0 */ cpu->r[8] = cpu->r[6]; /* 0285BFB4 */ cpu->r[6] = 0x10130000u; /* 0285BFB8 */ cpu->r[3] = cpu->r[1] + 0x00000018u; /* 0285BFBC */ cpu->r[4] = 0x00000100u; /* 0285BFC0 */ cpu->r[6] = cpu->r[6] + 0x00004CF0u; /* 0285BFC4 */ cpu->r[7] = cpu->r[1] + 0x00000008u; /* 0285BFC8 */ cpu->r[5] = 0x000000FFu; /* 0285BFCC */ _t16 = cpu->cr[1] >> (0x00000001u & 31u); /* 0285BFCC */ _t17 = _t16 & 0x00000001u; /* 0285BFCC */ if (_t17) goto L_0285BFD0; // else: addr-0 trap, fall-through L_0285BFD0: ; // 0x285bfd0 /* 0285BFD0 */ Gambit_fn_0285C594(cpu); /* 0285BFD4 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 0285BFD8 */ cpu->r[3] = cpu->r[30]; /* 0285BFDC */ Gambit_fn_0285C918(cpu); /* 0285BFE0 */ cpu->r[4] = cpu->r[3]; /* 0285BFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu); /* 0285BFE8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285BFE8 */ _t19 = _t18 & 0x00000001u; /* 0285BFE8 */ if (_t19) goto L_0285BFEC; else goto L_0285C04C; L_0285BFEC: ; // 0x285bfec /* 0285BFEC */ _t20 = cpu->r[1] + 0x0000011Cu; /* 0285BFEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 0285BFF0 */ _t21 = cpu->r[1] + 0x0000012Cu; /* 0285BFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0285BFF4 */ _t22 = cpu->r[1] + 0x00000120u; /* 0285BFF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 0285BFF8 */ cpu->lr = cpu->r[0]; /* 0285BFFC */ _t23 = cpu->r[1] + 0x00000124u; /* 0285BFFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 0285C000 */ cpu->r[1] = cpu->r[1] + 0x00000128u; /* 0285C004 */ cpu->r[3] = 0x00000000u; /* 0285C008 */ return; L_0285C00C: ; // 0x285c00c /* 0285C00C */ cpu->r[7] = cpu->r[4]; /* 0285C010 */ cpu->r[9] = cpu->r[6]; /* 0285C014 */ cpu->r[6] = 0x10130000u; /* 0285C018 */ cpu->r[3] = cpu->r[1] + 0x00000018u; /* 0285C01C */ cpu->r[4] = 0x00000100u; /* 0285C020 */ cpu->r[6] = cpu->r[6] + 0x00004CF8u; /* 0285C024 */ cpu->r[8] = cpu->r[1] + 0x00000008u; /* 0285C028 */ cpu->r[5] = 0x000000FFu; /* 0285C02C */ _t24 = cpu->cr[1] >> (0x00000001u & 31u); /* 0285C02C */ _t25 = _t24 & 0x00000001u; /* 0285C02C */ if (_t25) goto L_0285C030; // else: addr-0 trap, fall-through L_0285C030: ; // 0x285c030 /* 0285C030 */ Gambit_fn_0285C594(cpu); /* 0285C034 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 0285C038 */ cpu->r[3] = cpu->r[30]; /* 0285C03C */ Gambit_fn_0285C918(cpu); /* 0285C040 */ cpu->r[4] = cpu->r[3]; /* 0285C044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu); /* 0285C048 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C048 */ _t27 = _t26 & 0x00000001u; /* 0285C048 */ if (_t27) goto L_0285BFEC; else goto L_0285C04C; L_0285C04C: ; // 0x285c04c /* 0285C04C */ _t28 = cpu->r[1] + 0x00000010u; /* 0285C04C */ rbrew_write32(cpu->mem, _t28, cpu->r[29]); /* 0285C050 */ cpu->r[3] = cpu->r[30]; /* 0285C054 */ cpu->r[5] = cpu->r[1] + 0x00000010u; /* 0285C058 */ _t29 = cpu->r[1] + 0x00000014u; /* 0285C058 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]); /* 0285C05C */ Gambit_fn_0285C898(cpu); /* 0285C060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C064 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C064 */ _t31 = _t30 & 0x00000001u; /* 0285C064 */ if (_t31) goto L_0285C070; else goto L_0285C068; L_0285C068: ; // 0x285c068 /* 0285C068 */ _t32 = cpu->r[1] + 0x00000014u; /* 0285C068 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32); /* 0285C06C */ _t33 = cpu->r[31] + 0x00000000u; /* 0285C06C */ rbrew_write32(cpu->mem, _t33, cpu->r[9]); L_0285C070: ; // 0x285c070 /* 0285C070 */ _t34 = cpu->r[1] + 0x0000011Cu; /* 0285C070 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34); /* 0285C074 */ _t35 = cpu->r[1] + 0x0000012Cu; /* 0285C074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 0285C078 */ _t36 = cpu->r[1] + 0x00000120u; /* 0285C078 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36); /* 0285C07C */ cpu->lr = cpu->r[0]; /* 0285C080 */ _t37 = cpu->r[1] + 0x00000124u; /* 0285C080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37); /* 0285C084 */ cpu->r[1] = cpu->r[1] + 0x00000128u; /* 0285C088 */ return; } // fn_0285C08C @ 0x285c08c void Gambit_fn_0285C08C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285C08C: ; // 0x285c08c /* 0285C08C */ cpu->r[0] = cpu->lr; /* 0285C090 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285C090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C090 */ cpu->r[1] = _t0; /* 0285C094 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285C094 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285C098 */ cpu->r[30] = cpu->r[3]; /* 0285C09C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285C09C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285C0A0 */ cpu->r[3] = cpu->r[30] + 0x00000008u; /* 0285C0A4 */ cpu->r[31] = cpu->r[5]; /* 0285C0A8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C0A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285C0AC */ Gambit_fn_0285C658(cpu); /* 0285C0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C0B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C0B4 */ _t5 = _t4 & 0x00000001u; /* 0285C0B4 */ if (_t5) goto L_0285C0B8; else goto L_0285C0D4; L_0285C0B8: ; // 0x285c0b8 /* 0285C0B8 */ _t6 = cpu->r[1] + 0x00000014u; /* 0285C0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285C0BC */ _t7 = cpu->r[1] + 0x00000008u; /* 0285C0BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 0285C0C0 */ cpu->lr = cpu->r[0]; /* 0285C0C4 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 0285C0C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 0285C0C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285C0CC */ cpu->r[3] = 0x00000000u; /* 0285C0D0 */ return; L_0285C0D4: ; // 0x285c0d4 /* 0285C0D4 */ cpu->r[11] = 0x0000003Fu; /* 0285C0D8 */ cpu->r[10] = cpu->r[30] + 0x00000024u; /* 0285C0DC */ cpu->ctr = cpu->r[11]; /* 0285C0E0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; L_0285C0E4: ; // 0x285c0e4 /* 0285C0E4 */ _t9 = cpu->r[31] + 0x00000001u; /* 0285C0E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9); /* 0285C0E4 */ cpu->r[31] = _t9; /* 0285C0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285C0EC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C0EC */ _t11 = _t10 & 0x00000001u; /* 0285C0EC */ if (_t11) goto L_0285C0FC; else goto L_0285C0F0; L_0285C0F0: ; // 0x285c0f0 /* 0285C0F0 */ _t12 = cpu->r[10] + 0x00000000u; /* 0285C0F0 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]); /* 0285C0F4 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0285C0F8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285C0F8 */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285C0F8 */ _t14 = _t13 >> (0x00000002u & 31u); /* 0285C0F8 */ _t15 = _t14 & 0x00000001u; /* 0285C0F8 */ if (_t15) goto L_0285C0E4; else goto L_0285C0FC; L_0285C0FC: ; // 0x285c0fc /* 0285C0FC */ cpu->r[0] = 0x00000000u; /* 0285C100 */ _t16 = cpu->r[10] + 0x00000000u; /* 0285C100 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]); /* 0285C104 */ _t17 = cpu->r[1] + 0x00000014u; /* 0285C104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285C108 */ _t18 = cpu->r[1] + 0x00000008u; /* 0285C108 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0285C10C */ cpu->lr = cpu->r[0]; /* 0285C110 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0285C110 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285C114 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285C118 */ cpu->r[3] = 0x00000001u; /* 0285C11C */ return; } // fn_0285C090 @ 0x285c090 void Gambit_fn_0285C090(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285C090: ; // 0x285c090 /* 0285C090 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285C090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C090 */ cpu->r[1] = _t0; /* 0285C094 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285C094 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285C098 */ cpu->r[30] = cpu->r[3]; /* 0285C09C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285C09C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285C0A0 */ cpu->r[3] = cpu->r[30] + 0x00000008u; /* 0285C0A4 */ cpu->r[31] = cpu->r[5]; /* 0285C0A8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C0A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285C0AC */ Gambit_fn_0285C658(cpu); /* 0285C0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C0B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C0B4 */ _t5 = _t4 & 0x00000001u; /* 0285C0B4 */ if (_t5) goto L_0285C0B8; else goto L_0285C0D4; L_0285C0B8: ; // 0x285c0b8 /* 0285C0B8 */ _t6 = cpu->r[1] + 0x00000014u; /* 0285C0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285C0BC */ _t7 = cpu->r[1] + 0x00000008u; /* 0285C0BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 0285C0C0 */ cpu->lr = cpu->r[0]; /* 0285C0C4 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 0285C0C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 0285C0C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285C0CC */ cpu->r[3] = 0x00000000u; /* 0285C0D0 */ return; L_0285C0D4: ; // 0x285c0d4 /* 0285C0D4 */ cpu->r[11] = 0x0000003Fu; /* 0285C0D8 */ cpu->r[10] = cpu->r[30] + 0x00000024u; /* 0285C0DC */ cpu->ctr = cpu->r[11]; /* 0285C0E0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; L_0285C0E4: ; // 0x285c0e4 /* 0285C0E4 */ _t9 = cpu->r[31] + 0x00000001u; /* 0285C0E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9); /* 0285C0E4 */ cpu->r[31] = _t9; /* 0285C0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285C0EC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C0EC */ _t11 = _t10 & 0x00000001u; /* 0285C0EC */ if (_t11) goto L_0285C0FC; else goto L_0285C0F0; L_0285C0F0: ; // 0x285c0f0 /* 0285C0F0 */ _t12 = cpu->r[10] + 0x00000000u; /* 0285C0F0 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]); /* 0285C0F4 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0285C0F8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285C0F8 */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285C0F8 */ _t14 = _t13 >> (0x00000002u & 31u); /* 0285C0F8 */ _t15 = _t14 & 0x00000001u; /* 0285C0F8 */ if (_t15) goto L_0285C0E4; else goto L_0285C0FC; L_0285C0FC: ; // 0x285c0fc /* 0285C0FC */ cpu->r[0] = 0x00000000u; /* 0285C100 */ _t16 = cpu->r[10] + 0x00000000u; /* 0285C100 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]); /* 0285C104 */ _t17 = cpu->r[1] + 0x00000014u; /* 0285C104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285C108 */ _t18 = cpu->r[1] + 0x00000008u; /* 0285C108 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0285C10C */ cpu->lr = cpu->r[0]; /* 0285C110 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0285C110 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285C114 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285C118 */ cpu->r[3] = 0x00000001u; /* 0285C11C */ return; } // fn_0285C120 @ 0x285c120 void Gambit_fn_0285C120(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55; L_0285C120: ; // 0x285c120 /* 0285C120 */ cpu->r[0] = cpu->lr; /* 0285C124 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285C124 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C124 */ cpu->r[1] = _t0; /* 0285C128 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285C128 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285C12C */ _t2 = cpu->r[1] + 0x00000008u; /* 0285C12C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C130 */ cpu->r[31] = cpu->r[3]; /* 0285C130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C134 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C134 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285C138 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C138 */ _t5 = _t4 & 0x00000001u; /* 0285C138 */ if (_t5) goto L_0285C13C; else goto L_0285C14C; L_0285C13C: ; // 0x285c13c /* 0285C13C */ cpu->r[3] = 0x00000034u; /* 0285C140 */ Gambit_fn_02801A78(cpu); /* 0285C144 */ cpu->r[31] = cpu->r[3]; /* 0285C144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C148 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C148 */ _t7 = _t6 & 0x00000001u; /* 0285C148 */ if (_t7) goto L_0285C264; else goto L_0285C14C; L_0285C14C: ; // 0x285c14c /* 0285C14C */ cpu->r[3] = cpu->r[31]; /* 0285C150 */ Gambit_fn_0285E3D0(cpu); /* 0285C154 */ cpu->r[0] = 0x10130000u; /* 0285C158 */ cpu->r[3] = cpu->r[31] + 0x00000004u; /* 0285C158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C15C */ cpu->r[0] = cpu->r[0] + 0x00004D04u; /* 0285C160 */ cpu->r[30] = 0x00000000u; /* 0285C164 */ _t8 = cpu->r[31] + 0x00000000u; /* 0285C164 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0285C168 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C168 */ _t10 = _t9 & 0x00000001u; /* 0285C168 */ if (_t10) goto L_0285C16C; else goto L_0285C17C; L_0285C16C: ; // 0x285c16c /* 0285C16C */ cpu->r[3] = 0x0000000Cu; /* 0285C170 */ Gambit_fn_02801A78(cpu); /* 0285C174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C178 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C178 */ _t12 = _t11 & 0x00000001u; /* 0285C178 */ if (_t12) goto L_0285C1A4; else goto L_0285C17C; L_0285C17C: ; // 0x285c17c /* 0285C17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C180 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C180 */ _t14 = _t13 & 0x00000001u; /* 0285C180 */ if (_t14) goto L_0285C184; else goto L_0285C194; L_0285C184: ; // 0x285c184 /* 0285C184 */ cpu->r[3] = 0x0000000Cu; /* 0285C188 */ Gambit_fn_02801A78(cpu); /* 0285C18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C190 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C190 */ _t16 = _t15 & 0x00000001u; /* 0285C190 */ if (_t16) goto L_0285C1A4; else goto L_0285C194; L_0285C194: ; // 0x285c194 /* 0285C194 */ cpu->r[12] = cpu->r[3] + 0x00000004u; /* 0285C198 */ _t17 = cpu->r[3] + 0x00000000u; /* 0285C198 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]); /* 0285C19C */ _t18 = cpu->r[12] + 0x00000004u; /* 0285C19C */ rbrew_write32(cpu->mem, _t18, cpu->r[12]); /* 0285C1A0 */ _t19 = cpu->r[12] + 0x00000000u; /* 0285C1A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]); L_0285C1A4: ; // 0x285c1a4 /* 0285C1A4 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285C1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1A8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1A8 */ _t21 = _t20 & 0x00000001u; /* 0285C1A8 */ if (_t21) goto L_0285C1AC; else goto L_0285C1BC; L_0285C1AC: ; // 0x285c1ac /* 0285C1AC */ cpu->r[3] = 0x0000000Cu; /* 0285C1B0 */ Gambit_fn_02801A78(cpu); /* 0285C1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1B8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1B8 */ _t23 = _t22 & 0x00000001u; /* 0285C1B8 */ if (_t23) goto L_0285C1E4; else goto L_0285C1BC; L_0285C1BC: ; // 0x285c1bc /* 0285C1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1C0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1C0 */ _t25 = _t24 & 0x00000001u; /* 0285C1C0 */ if (_t25) goto L_0285C1C4; else goto L_0285C1D4; L_0285C1C4: ; // 0x285c1c4 /* 0285C1C4 */ cpu->r[3] = 0x0000000Cu; /* 0285C1C8 */ Gambit_fn_02801A78(cpu); /* 0285C1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1D0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1D0 */ _t27 = _t26 & 0x00000001u; /* 0285C1D0 */ if (_t27) goto L_0285C1E4; else goto L_0285C1D4; L_0285C1D4: ; // 0x285c1d4 /* 0285C1D4 */ cpu->r[12] = cpu->r[3] + 0x00000004u; /* 0285C1D8 */ _t28 = cpu->r[3] + 0x00000000u; /* 0285C1D8 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]); /* 0285C1DC */ _t29 = cpu->r[12] + 0x00000004u; /* 0285C1DC */ rbrew_write32(cpu->mem, _t29, cpu->r[12]); /* 0285C1E0 */ _t30 = cpu->r[12] + 0x00000000u; /* 0285C1E0 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]); L_0285C1E4: ; // 0x285c1e4 /* 0285C1E4 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu; /* 0285C1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1E8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1E8 */ _t32 = _t31 & 0x00000001u; /* 0285C1E8 */ if (_t32) goto L_0285C1EC; else goto L_0285C1FC; L_0285C1EC: ; // 0x285c1ec /* 0285C1EC */ cpu->r[3] = 0x0000000Cu; /* 0285C1F0 */ Gambit_fn_02801A78(cpu); /* 0285C1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1F8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1F8 */ _t34 = _t33 & 0x00000001u; /* 0285C1F8 */ if (_t34) goto L_0285C224; else goto L_0285C1FC; L_0285C1FC: ; // 0x285c1fc /* 0285C1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C200 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C200 */ _t36 = _t35 & 0x00000001u; /* 0285C200 */ if (_t36) goto L_0285C204; else goto L_0285C214; L_0285C204: ; // 0x285c204 /* 0285C204 */ cpu->r[3] = 0x0000000Cu; /* 0285C208 */ Gambit_fn_02801A78(cpu); /* 0285C20C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C210 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C210 */ _t38 = _t37 & 0x00000001u; /* 0285C210 */ if (_t38) goto L_0285C224; else goto L_0285C214; L_0285C214: ; // 0x285c214 /* 0285C214 */ cpu->r[10] = cpu->r[3] + 0x00000004u; /* 0285C218 */ _t39 = cpu->r[3] + 0x00000000u; /* 0285C218 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]); /* 0285C21C */ _t40 = cpu->r[10] + 0x00000004u; /* 0285C21C */ rbrew_write32(cpu->mem, _t40, cpu->r[10]); /* 0285C220 */ _t41 = cpu->r[10] + 0x00000000u; /* 0285C220 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]); L_0285C224: ; // 0x285c224 /* 0285C224 */ cpu->r[3] = cpu->r[31] + 0x00000028u; /* 0285C224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C228 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C228 */ _t43 = _t42 & 0x00000001u; /* 0285C228 */ if (_t43) goto L_0285C22C; else goto L_0285C23C; L_0285C22C: ; // 0x285c22c /* 0285C22C */ cpu->r[3] = 0x0000000Cu; /* 0285C230 */ Gambit_fn_02801A78(cpu); /* 0285C234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C238 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C238 */ _t45 = _t44 & 0x00000001u; /* 0285C238 */ if (_t45) goto L_0285C264; else goto L_0285C23C; L_0285C23C: ; // 0x285c23c /* 0285C23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C240 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C240 */ _t47 = _t46 & 0x00000001u; /* 0285C240 */ if (_t47) goto L_0285C244; else goto L_0285C254; L_0285C244: ; // 0x285c244 /* 0285C244 */ cpu->r[3] = 0x0000000Cu; /* 0285C248 */ Gambit_fn_02801A78(cpu); /* 0285C24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C250 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C250 */ _t49 = _t48 & 0x00000001u; /* 0285C250 */ if (_t49) goto L_0285C264; else goto L_0285C254; L_0285C254: ; // 0x285c254 /* 0285C254 */ cpu->r[11] = cpu->r[3] + 0x00000004u; /* 0285C258 */ _t50 = cpu->r[3] + 0x00000000u; /* 0285C258 */ rbrew_write32(cpu->mem, _t50, cpu->r[30]); /* 0285C25C */ _t51 = cpu->r[11] + 0x00000004u; /* 0285C25C */ rbrew_write32(cpu->mem, _t51, cpu->r[11]); /* 0285C260 */ _t52 = cpu->r[11] + 0x00000000u; /* 0285C260 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]); L_0285C264: ; // 0x285c264 /* 0285C264 */ _t53 = cpu->r[1] + 0x00000014u; /* 0285C264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 0285C268 */ cpu->r[3] = cpu->r[31]; /* 0285C26C */ _t54 = cpu->r[1] + 0x0000000Cu; /* 0285C26C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54); /* 0285C270 */ cpu->lr = cpu->r[0]; /* 0285C274 */ _t55 = cpu->r[1] + 0x00000008u; /* 0285C274 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55); /* 0285C278 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285C27C */ return; } // fn_0285C124 @ 0x285c124 void Gambit_fn_0285C124(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55; L_0285C124: ; // 0x285c124 /* 0285C124 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285C124 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C124 */ cpu->r[1] = _t0; /* 0285C128 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285C128 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285C12C */ _t2 = cpu->r[1] + 0x00000008u; /* 0285C12C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C130 */ cpu->r[31] = cpu->r[3]; /* 0285C130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C134 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C134 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285C138 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C138 */ _t5 = _t4 & 0x00000001u; /* 0285C138 */ if (_t5) goto L_0285C13C; else goto L_0285C14C; L_0285C13C: ; // 0x285c13c /* 0285C13C */ cpu->r[3] = 0x00000034u; /* 0285C140 */ Gambit_fn_02801A78(cpu); /* 0285C144 */ cpu->r[31] = cpu->r[3]; /* 0285C144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C148 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C148 */ _t7 = _t6 & 0x00000001u; /* 0285C148 */ if (_t7) goto L_0285C264; else goto L_0285C14C; L_0285C14C: ; // 0x285c14c /* 0285C14C */ cpu->r[3] = cpu->r[31]; /* 0285C150 */ Gambit_fn_0285E3D0(cpu); /* 0285C154 */ cpu->r[0] = 0x10130000u; /* 0285C158 */ cpu->r[3] = cpu->r[31] + 0x00000004u; /* 0285C158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C15C */ cpu->r[0] = cpu->r[0] + 0x00004D04u; /* 0285C160 */ cpu->r[30] = 0x00000000u; /* 0285C164 */ _t8 = cpu->r[31] + 0x00000000u; /* 0285C164 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0285C168 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C168 */ _t10 = _t9 & 0x00000001u; /* 0285C168 */ if (_t10) goto L_0285C16C; else goto L_0285C17C; L_0285C16C: ; // 0x285c16c /* 0285C16C */ cpu->r[3] = 0x0000000Cu; /* 0285C170 */ Gambit_fn_02801A78(cpu); /* 0285C174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C178 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C178 */ _t12 = _t11 & 0x00000001u; /* 0285C178 */ if (_t12) goto L_0285C1A4; else goto L_0285C17C; L_0285C17C: ; // 0x285c17c /* 0285C17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C180 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C180 */ _t14 = _t13 & 0x00000001u; /* 0285C180 */ if (_t14) goto L_0285C184; else goto L_0285C194; L_0285C184: ; // 0x285c184 /* 0285C184 */ cpu->r[3] = 0x0000000Cu; /* 0285C188 */ Gambit_fn_02801A78(cpu); /* 0285C18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C190 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C190 */ _t16 = _t15 & 0x00000001u; /* 0285C190 */ if (_t16) goto L_0285C1A4; else goto L_0285C194; L_0285C194: ; // 0x285c194 /* 0285C194 */ cpu->r[12] = cpu->r[3] + 0x00000004u; /* 0285C198 */ _t17 = cpu->r[3] + 0x00000000u; /* 0285C198 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]); /* 0285C19C */ _t18 = cpu->r[12] + 0x00000004u; /* 0285C19C */ rbrew_write32(cpu->mem, _t18, cpu->r[12]); /* 0285C1A0 */ _t19 = cpu->r[12] + 0x00000000u; /* 0285C1A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]); L_0285C1A4: ; // 0x285c1a4 /* 0285C1A4 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285C1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1A8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1A8 */ _t21 = _t20 & 0x00000001u; /* 0285C1A8 */ if (_t21) goto L_0285C1AC; else goto L_0285C1BC; L_0285C1AC: ; // 0x285c1ac /* 0285C1AC */ cpu->r[3] = 0x0000000Cu; /* 0285C1B0 */ Gambit_fn_02801A78(cpu); /* 0285C1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1B8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1B8 */ _t23 = _t22 & 0x00000001u; /* 0285C1B8 */ if (_t23) goto L_0285C1E4; else goto L_0285C1BC; L_0285C1BC: ; // 0x285c1bc /* 0285C1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1C0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1C0 */ _t25 = _t24 & 0x00000001u; /* 0285C1C0 */ if (_t25) goto L_0285C1C4; else goto L_0285C1D4; L_0285C1C4: ; // 0x285c1c4 /* 0285C1C4 */ cpu->r[3] = 0x0000000Cu; /* 0285C1C8 */ Gambit_fn_02801A78(cpu); /* 0285C1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1D0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1D0 */ _t27 = _t26 & 0x00000001u; /* 0285C1D0 */ if (_t27) goto L_0285C1E4; else goto L_0285C1D4; L_0285C1D4: ; // 0x285c1d4 /* 0285C1D4 */ cpu->r[12] = cpu->r[3] + 0x00000004u; /* 0285C1D8 */ _t28 = cpu->r[3] + 0x00000000u; /* 0285C1D8 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]); /* 0285C1DC */ _t29 = cpu->r[12] + 0x00000004u; /* 0285C1DC */ rbrew_write32(cpu->mem, _t29, cpu->r[12]); /* 0285C1E0 */ _t30 = cpu->r[12] + 0x00000000u; /* 0285C1E0 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]); L_0285C1E4: ; // 0x285c1e4 /* 0285C1E4 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu; /* 0285C1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1E8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1E8 */ _t32 = _t31 & 0x00000001u; /* 0285C1E8 */ if (_t32) goto L_0285C1EC; else goto L_0285C1FC; L_0285C1EC: ; // 0x285c1ec /* 0285C1EC */ cpu->r[3] = 0x0000000Cu; /* 0285C1F0 */ Gambit_fn_02801A78(cpu); /* 0285C1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C1F8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C1F8 */ _t34 = _t33 & 0x00000001u; /* 0285C1F8 */ if (_t34) goto L_0285C224; else goto L_0285C1FC; L_0285C1FC: ; // 0x285c1fc /* 0285C1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C200 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C200 */ _t36 = _t35 & 0x00000001u; /* 0285C200 */ if (_t36) goto L_0285C204; else goto L_0285C214; L_0285C204: ; // 0x285c204 /* 0285C204 */ cpu->r[3] = 0x0000000Cu; /* 0285C208 */ Gambit_fn_02801A78(cpu); /* 0285C20C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C210 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C210 */ _t38 = _t37 & 0x00000001u; /* 0285C210 */ if (_t38) goto L_0285C224; else goto L_0285C214; L_0285C214: ; // 0x285c214 /* 0285C214 */ cpu->r[10] = cpu->r[3] + 0x00000004u; /* 0285C218 */ _t39 = cpu->r[3] + 0x00000000u; /* 0285C218 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]); /* 0285C21C */ _t40 = cpu->r[10] + 0x00000004u; /* 0285C21C */ rbrew_write32(cpu->mem, _t40, cpu->r[10]); /* 0285C220 */ _t41 = cpu->r[10] + 0x00000000u; /* 0285C220 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]); L_0285C224: ; // 0x285c224 /* 0285C224 */ cpu->r[3] = cpu->r[31] + 0x00000028u; /* 0285C224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C228 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C228 */ _t43 = _t42 & 0x00000001u; /* 0285C228 */ if (_t43) goto L_0285C22C; else goto L_0285C23C; L_0285C22C: ; // 0x285c22c /* 0285C22C */ cpu->r[3] = 0x0000000Cu; /* 0285C230 */ Gambit_fn_02801A78(cpu); /* 0285C234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C238 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C238 */ _t45 = _t44 & 0x00000001u; /* 0285C238 */ if (_t45) goto L_0285C264; else goto L_0285C23C; L_0285C23C: ; // 0x285c23c /* 0285C23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C240 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C240 */ _t47 = _t46 & 0x00000001u; /* 0285C240 */ if (_t47) goto L_0285C244; else goto L_0285C254; L_0285C244: ; // 0x285c244 /* 0285C244 */ cpu->r[3] = 0x0000000Cu; /* 0285C248 */ Gambit_fn_02801A78(cpu); /* 0285C24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C250 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C250 */ _t49 = _t48 & 0x00000001u; /* 0285C250 */ if (_t49) goto L_0285C264; else goto L_0285C254; L_0285C254: ; // 0x285c254 /* 0285C254 */ cpu->r[11] = cpu->r[3] + 0x00000004u; /* 0285C258 */ _t50 = cpu->r[3] + 0x00000000u; /* 0285C258 */ rbrew_write32(cpu->mem, _t50, cpu->r[30]); /* 0285C25C */ _t51 = cpu->r[11] + 0x00000004u; /* 0285C25C */ rbrew_write32(cpu->mem, _t51, cpu->r[11]); /* 0285C260 */ _t52 = cpu->r[11] + 0x00000000u; /* 0285C260 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]); L_0285C264: ; // 0x285c264 /* 0285C264 */ _t53 = cpu->r[1] + 0x00000014u; /* 0285C264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 0285C268 */ cpu->r[3] = cpu->r[31]; /* 0285C26C */ _t54 = cpu->r[1] + 0x0000000Cu; /* 0285C26C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54); /* 0285C270 */ cpu->lr = cpu->r[0]; /* 0285C274 */ _t55 = cpu->r[1] + 0x00000008u; /* 0285C274 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55); /* 0285C278 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285C27C */ return; } // fn_0285C280 @ 0x285c280 void Gambit_fn_0285C280(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_0285C280: ; // 0x285c280 /* 0285C280 */ cpu->r[0] = cpu->lr; /* 0285C284 */ _t0 = cpu->r[1] + 0x00000004u; /* 0285C284 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285C288 */ cpu->r[0] = cpu->r[3] + 0x00000008u; /* 0285C28C */ _t1 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C28C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285C28C */ cpu->r[1] = _t1; /* 0285C290 */ _t2 = cpu->r[3] + 0x00000008u; /* 0285C290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0285C294 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285C298 */ cpu->r[3] = cpu->r[3] + 0x00000004u; /* 0285C29C */ _t3 = cpu->r[1] + 0x00000008u; /* 0285C29C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0285C2A0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 0285C2A4 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0285C2A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285C2A8 */ Gambit_fn_02854204(cpu); /* 0285C2AC */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0285C2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0285C2B0 */ cpu->lr = cpu->r[0]; /* 0285C2B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C2B8 */ return; } // fn_0285C28C @ 0x285c28c void Gambit_fn_0285C28C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0285C28C: ; // 0x285c28c /* 0285C28C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C28C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C28C */ cpu->r[1] = _t0; /* 0285C290 */ _t1 = cpu->r[3] + 0x00000008u; /* 0285C290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0285C294 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285C298 */ cpu->r[3] = cpu->r[3] + 0x00000004u; /* 0285C29C */ _t2 = cpu->r[1] + 0x00000008u; /* 0285C29C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]); /* 0285C2A0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 0285C2A4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285C2A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285C2A8 */ Gambit_fn_02854204(cpu); /* 0285C2AC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285C2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285C2B0 */ cpu->lr = cpu->r[0]; /* 0285C2B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C2B8 */ return; } // fn_0285C2BC @ 0x285c2bc void Gambit_fn_0285C2BC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0285C2BC: ; // 0x285c2bc /* 0285C2BC */ cpu->r[0] = cpu->lr; /* 0285C2C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285C2C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C2C0 */ cpu->r[1] = _t0; /* 0285C2C4 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285C2C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285C2C8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285C2C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285C2CC */ cpu->r[31] = cpu->r[3]; /* 0285C2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C2D0 */ cpu->r[30] = cpu->r[4]; /* 0285C2D4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C2D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285C2D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C2D8 */ _t5 = _t4 & 0x00000001u; /* 0285C2D8 */ if (_t5) goto L_0285C330; else goto L_0285C2DC; L_0285C2DC: ; // 0x285c2dc /* 0285C2DC */ cpu->r[0] = 0x10130000u; /* 0285C2E0 */ cpu->r[0] = cpu->r[0] + 0x00004D04u; /* 0285C2E4 */ cpu->r[3] = cpu->r[31]; /* 0285C2E8 */ _t6 = cpu->r[31] + 0x00000000u; /* 0285C2E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285C2EC */ Gambit_fn_0285C280(cpu); /* 0285C2F0 */ cpu->r[3] = cpu->r[31] + 0x00000028u; /* 0285C2F4 */ cpu->r[4] = 0x00000002u; /* 0285C2F8 */ Gambit_fn_0285E824(cpu); /* 0285C2FC */ cpu->r[3] = cpu->r[31] + 0x0000001Cu; /* 0285C300 */ cpu->r[4] = 0x00000002u; /* 0285C304 */ Gambit_fn_0285ED5C(cpu); /* 0285C308 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285C30C */ cpu->r[4] = 0x00000002u; /* 0285C310 */ Gambit_fn_0285D1BC(cpu); /* 0285C314 */ cpu->r[3] = cpu->r[31]; /* 0285C318 */ cpu->r[4] = 0x00000000u; /* 0285C31C */ Gambit_fn_0285E410(cpu); /* 0285C320 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285C320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285C324 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C324 */ _t8 = _t7 & 0x00000001u; /* 0285C324 */ if (_t8) goto L_0285C330; else goto L_0285C328; L_0285C328: ; // 0x285c328 /* 0285C328 */ cpu->r[3] = cpu->r[31]; /* 0285C32C */ Gambit_fn_02801BB0(cpu); L_0285C330: ; // 0x285c330 /* 0285C330 */ _t9 = cpu->r[1] + 0x00000014u; /* 0285C330 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285C334 */ _t10 = cpu->r[1] + 0x00000008u; /* 0285C334 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 0285C338 */ cpu->lr = cpu->r[0]; /* 0285C33C */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285C33C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0285C340 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285C344 */ return; } // fn_0285C2C0 @ 0x285c2c0 void Gambit_fn_0285C2C0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0285C2C0: ; // 0x285c2c0 /* 0285C2C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285C2C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C2C0 */ cpu->r[1] = _t0; /* 0285C2C4 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285C2C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285C2C8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285C2C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285C2CC */ cpu->r[31] = cpu->r[3]; /* 0285C2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C2D0 */ cpu->r[30] = cpu->r[4]; /* 0285C2D4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C2D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285C2D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C2D8 */ _t5 = _t4 & 0x00000001u; /* 0285C2D8 */ if (_t5) goto L_0285C330; else goto L_0285C2DC; L_0285C2DC: ; // 0x285c2dc /* 0285C2DC */ cpu->r[0] = 0x10130000u; /* 0285C2E0 */ cpu->r[0] = cpu->r[0] + 0x00004D04u; /* 0285C2E4 */ cpu->r[3] = cpu->r[31]; /* 0285C2E8 */ _t6 = cpu->r[31] + 0x00000000u; /* 0285C2E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285C2EC */ Gambit_fn_0285C280(cpu); /* 0285C2F0 */ cpu->r[3] = cpu->r[31] + 0x00000028u; /* 0285C2F4 */ cpu->r[4] = 0x00000002u; /* 0285C2F8 */ Gambit_fn_0285E824(cpu); /* 0285C2FC */ cpu->r[3] = cpu->r[31] + 0x0000001Cu; /* 0285C300 */ cpu->r[4] = 0x00000002u; /* 0285C304 */ Gambit_fn_0285ED5C(cpu); /* 0285C308 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285C30C */ cpu->r[4] = 0x00000002u; /* 0285C310 */ Gambit_fn_0285D1BC(cpu); /* 0285C314 */ cpu->r[3] = cpu->r[31]; /* 0285C318 */ cpu->r[4] = 0x00000000u; /* 0285C31C */ Gambit_fn_0285E410(cpu); /* 0285C320 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285C320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285C324 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C324 */ _t8 = _t7 & 0x00000001u; /* 0285C324 */ if (_t8) goto L_0285C330; else goto L_0285C328; L_0285C328: ; // 0x285c328 /* 0285C328 */ cpu->r[3] = cpu->r[31]; /* 0285C32C */ Gambit_fn_02801BB0(cpu); L_0285C330: ; // 0x285c330 /* 0285C330 */ _t9 = cpu->r[1] + 0x00000014u; /* 0285C330 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285C334 */ _t10 = cpu->r[1] + 0x00000008u; /* 0285C334 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 0285C338 */ cpu->lr = cpu->r[0]; /* 0285C33C */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285C33C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0285C340 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285C344 */ return; } // fn_0285C348 @ 0x285c348 void Gambit_fn_0285C348(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285C348: ; // 0x285c348 /* 0285C348 */ cpu->r[0] = cpu->lr; /* 0285C34C */ cpu->r[5] = cpu->r[4]; /* 0285C350 */ _t0 = cpu->r[1] + 0x00000004u; /* 0285C350 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285C354 */ cpu->r[0] = cpu->r[3] + 0x00000008u; /* 0285C358 */ cpu->r[3] = cpu->r[3] + 0x00000004u; /* 0285C35C */ _t1 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C35C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285C35C */ cpu->r[1] = _t1; /* 0285C360 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285C364 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285C364 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285C368 */ Gambit_fn_028541A8(cpu); /* 0285C36C */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285C36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0285C370 */ cpu->lr = cpu->r[0]; /* 0285C374 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C378 */ return; } // fn_0285C35C @ 0x285c35c void Gambit_fn_0285C35C(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0285C35C: ; // 0x285c35c /* 0285C35C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C35C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C35C */ cpu->r[1] = _t0; /* 0285C360 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285C364 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285C364 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285C368 */ Gambit_fn_028541A8(cpu); /* 0285C36C */ _t2 = cpu->r[1] + 0x0000001Cu; /* 0285C36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0285C370 */ cpu->lr = cpu->r[0]; /* 0285C374 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C378 */ return; } // fn_0285C37C @ 0x285c37c void Gambit_fn_0285C37C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285C37C: ; // 0x285c37c /* 0285C37C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285C37C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C37C */ cpu->r[1] = _t0; /* 0285C380 */ /* nop */ /* 0285C384 */ cpu->r[0] = cpu->lr; /* 0285C388 */ _t1 = cpu->r[1] + 0x00000024u; /* 0285C388 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285C38C */ cpu->r[29] = cpu->r[4]; /* 0285C390 */ _t2 = cpu->r[3] + 0x00000008u; /* 0285C390 */ cpu->r[28] = rbrew_read32(cpu->mem, _t2); /* 0285C394 */ cpu->r[27] = cpu->r[3] + 0x00000008u; /* 0285C398 */ cpu->r[11] = cpu->r[28] ^ cpu->r[27]; /* 0285C39C */ cpu->r[0] = rbrew_clz32(cpu->r[11]); /* 0285C3A0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285C3A4 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u; /* 0285C3A8 */ cpu->r[30] = cpu->r[5]; /* 0285C3AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285C3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285C3B0 */ cpu->r[31] = cpu->r[6]; /* 0285C3B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C3B4 */ _t4 = _t3 & 0x00000001u; /* 0285C3B4 */ if (_t4) goto L_0285C3F4; else goto L_0285C3B8; L_0285C3B8: ; // 0x285c3b8 /* 0285C3B8 */ cpu->r[7] = cpu->r[31]; /* 0285C3BC */ cpu->r[6] = cpu->r[30]; /* 0285C3C0 */ cpu->r[5] = cpu->r[29]; /* 0285C3C4 */ cpu->r[4] = cpu->r[28] + 0x00000024u; /* 0285C3C8 */ cpu->r[3] = cpu->r[28] + 0x00000008u; /* 0285C3CC */ Gambit_fn_0285BF54(cpu); /* 0285C3D0 */ cpu->r[12] = cpu->r[3]; /* 0285C3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285C3D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C3D4 */ _t6 = _t5 & 0x00000001u; /* 0285C3D4 */ if (_t6) goto L_0285C3D8; else goto L_0285C3F8; L_0285C3D8: ; // 0x285c3d8 /* 0285C3D8 */ _t7 = cpu->r[28] + 0x00000000u; /* 0285C3D8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7); /* 0285C3DC */ cpu->r[8] = cpu->r[28] ^ cpu->r[27]; /* 0285C3E0 */ cpu->r[10] = rbrew_clz32(cpu->r[8]); /* 0285C3E4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285C3E8 */ cpu->r[12] = cpu->r[7] ^ 0x00000001u; /* 0285C3EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285C3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285C3F0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C3F0 */ _t9 = _t8 & 0x00000001u; /* 0285C3F0 */ if (_t9) goto L_0285C3F4; else goto L_0285C3B8; L_0285C3F4: ; // 0x285c3f4 /* 0285C3F4 */ cpu->r[12] = 0x00000000u; L_0285C3F8: ; // 0x285c3f8 /* 0285C3F8 */ /* nop */ /* 0285C3FC */ _t10 = cpu->r[1] + 0x00000024u; /* 0285C3FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285C400 */ cpu->lr = cpu->r[0]; /* 0285C404 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285C408 */ cpu->r[3] = cpu->r[12]; /* 0285C40C */ return; } // fn_0285C410 @ 0x285c410 void Gambit_fn_0285C410(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0285C410: ; // 0x285c410 /* 0285C410 */ cpu->r[0] = cpu->lr; /* 0285C414 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C414 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C414 */ cpu->r[1] = _t0; /* 0285C418 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285C418 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0285C41C */ _t2 = cpu->r[1] + 0x00000010u; /* 0285C41C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C420 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C420 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285C424 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285C424 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285C428 */ cpu->r[29] = cpu->r[3]; /* 0285C42C */ cpu->r[3] = cpu->r[29] + 0x0000001Cu; /* 0285C430 */ cpu->r[30] = cpu->r[4]; /* 0285C434 */ Gambit_fn_0285EE58(cpu); /* 0285C438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C43C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C43C */ _t6 = _t5 & 0x00000001u; /* 0285C43C */ if (_t6) goto L_0285C440; else goto L_0285C474; L_0285C440: ; // 0x285c440 /* 0285C440 */ cpu->r[3] = cpu->r[29] + 0x0000001Cu; /* 0285C444 */ cpu->r[4] = cpu->r[30]; /* 0285C448 */ Gambit_fn_0285EDAC(cpu); /* 0285C44C */ cpu->r[31] = cpu->r[3]; /* 0285C44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C450 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C450 */ _t8 = _t7 & 0x00000001u; /* 0285C450 */ if (_t8) goto L_0285C470; else goto L_0285C454; L_0285C454: ; // 0x285c454 /* 0285C454 */ _t9 = cpu->r[29] + 0x00000000u; /* 0285C454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0285C458 */ _t10 = cpu->r[12] + 0x0000003Cu; /* 0285C458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285C45C */ cpu->ctr = cpu->r[0]; /* 0285C460 */ cpu->r[3] = cpu->r[29]; /* 0285C464 */ cpu->r[4] = cpu->r[31]; /* 0285C468 */ cpu->r[5] = cpu->r[30]; /* 0285C46C */ rbrew_call_indirect(cpu, cpu->ctr); L_0285C470: ; // 0x285c470 /* 0285C470 */ cpu->r[3] = cpu->r[31]; L_0285C474: ; // 0x285c474 /* 0285C474 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285C474 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285C478 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285C478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285C47C */ _t13 = cpu->r[1] + 0x00000010u; /* 0285C47C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285C480 */ cpu->lr = cpu->r[0]; /* 0285C484 */ _t14 = cpu->r[1] + 0x00000014u; /* 0285C484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285C488 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C48C */ return; } // fn_0285C414 @ 0x285c414 void Gambit_fn_0285C414(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0285C414: ; // 0x285c414 /* 0285C414 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C414 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C414 */ cpu->r[1] = _t0; /* 0285C418 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285C418 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0285C41C */ _t2 = cpu->r[1] + 0x00000010u; /* 0285C41C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C420 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C420 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285C424 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285C424 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285C428 */ cpu->r[29] = cpu->r[3]; /* 0285C42C */ cpu->r[3] = cpu->r[29] + 0x0000001Cu; /* 0285C430 */ cpu->r[30] = cpu->r[4]; /* 0285C434 */ Gambit_fn_0285EE58(cpu); /* 0285C438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C43C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C43C */ _t6 = _t5 & 0x00000001u; /* 0285C43C */ if (_t6) goto L_0285C440; else goto L_0285C474; L_0285C440: ; // 0x285c440 /* 0285C440 */ cpu->r[3] = cpu->r[29] + 0x0000001Cu; /* 0285C444 */ cpu->r[4] = cpu->r[30]; /* 0285C448 */ Gambit_fn_0285EDAC(cpu); /* 0285C44C */ cpu->r[31] = cpu->r[3]; /* 0285C44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C450 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C450 */ _t8 = _t7 & 0x00000001u; /* 0285C450 */ if (_t8) goto L_0285C470; else goto L_0285C454; L_0285C454: ; // 0x285c454 /* 0285C454 */ _t9 = cpu->r[29] + 0x00000000u; /* 0285C454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0285C458 */ _t10 = cpu->r[12] + 0x0000003Cu; /* 0285C458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285C45C */ cpu->ctr = cpu->r[0]; /* 0285C460 */ cpu->r[3] = cpu->r[29]; /* 0285C464 */ cpu->r[4] = cpu->r[31]; /* 0285C468 */ cpu->r[5] = cpu->r[30]; /* 0285C46C */ rbrew_call_indirect(cpu, cpu->ctr); L_0285C470: ; // 0x285c470 /* 0285C470 */ cpu->r[3] = cpu->r[31]; L_0285C474: ; // 0x285c474 /* 0285C474 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285C474 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285C478 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285C478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285C47C */ _t13 = cpu->r[1] + 0x00000010u; /* 0285C47C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285C480 */ cpu->lr = cpu->r[0]; /* 0285C484 */ _t14 = cpu->r[1] + 0x00000014u; /* 0285C484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285C488 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C48C */ return; } // fn_0285C490 @ 0x285c490 void Gambit_fn_0285C490(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0285C490: ; // 0x285c490 /* 0285C490 */ cpu->r[0] = cpu->lr; /* 0285C494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C494 */ cpu->r[1] = _t0; /* 0285C498 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285C498 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0285C49C */ _t2 = cpu->r[1] + 0x00000010u; /* 0285C49C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C4A0 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C4A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285C4A4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285C4A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285C4A8 */ cpu->r[29] = cpu->r[3]; /* 0285C4AC */ cpu->r[3] = cpu->r[29] + 0x00000010u; /* 0285C4B0 */ cpu->r[30] = cpu->r[4]; /* 0285C4B4 */ Gambit_fn_0285D2B0(cpu); /* 0285C4B8 */ cpu->r[31] = cpu->r[3]; /* 0285C4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C4BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C4BC */ _t6 = _t5 & 0x00000001u; /* 0285C4BC */ if (_t6) goto L_0285C4C0; else goto L_0285C4F4; L_0285C4C0: ; // 0x285c4c0 /* 0285C4C0 */ _t7 = cpu->r[29] + 0x00000000u; /* 0285C4C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0285C4C4 */ _t8 = cpu->r[12] + 0x00000044u; /* 0285C4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285C4C8 */ cpu->ctr = cpu->r[0]; /* 0285C4CC */ cpu->r[3] = cpu->r[29]; /* 0285C4D0 */ cpu->r[4] = cpu->r[30]; /* 0285C4D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285C4D8 */ cpu->r[31] = cpu->r[3]; /* 0285C4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C4DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C4DC */ _t10 = _t9 & 0x00000001u; /* 0285C4DC */ if (_t10) goto L_0285C4F4; else goto L_0285C4E0; L_0285C4E0: ; // 0x285c4e0 /* 0285C4E0 */ cpu->r[6] = 0x00000001u; /* 0285C4E4 */ cpu->r[5] = cpu->r[31]; /* 0285C4E8 */ cpu->r[4] = cpu->r[30]; /* 0285C4EC */ cpu->r[3] = cpu->r[29] + 0x00000010u; /* 0285C4F0 */ Gambit_fn_0285D20C(cpu); L_0285C4F4: ; // 0x285c4f4 /* 0285C4F4 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285C4F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285C4F8 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285C4F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285C4FC */ cpu->r[3] = cpu->r[31]; /* 0285C500 */ _t13 = cpu->r[1] + 0x00000010u; /* 0285C500 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285C504 */ cpu->lr = cpu->r[0]; /* 0285C508 */ _t14 = cpu->r[1] + 0x00000014u; /* 0285C508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285C50C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C510 */ return; } // fn_0285C494 @ 0x285c494 void Gambit_fn_0285C494(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0285C494: ; // 0x285c494 /* 0285C494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C494 */ cpu->r[1] = _t0; /* 0285C498 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285C498 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0285C49C */ _t2 = cpu->r[1] + 0x00000010u; /* 0285C49C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C4A0 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C4A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285C4A4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285C4A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285C4A8 */ cpu->r[29] = cpu->r[3]; /* 0285C4AC */ cpu->r[3] = cpu->r[29] + 0x00000010u; /* 0285C4B0 */ cpu->r[30] = cpu->r[4]; /* 0285C4B4 */ Gambit_fn_0285D2B0(cpu); /* 0285C4B8 */ cpu->r[31] = cpu->r[3]; /* 0285C4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C4BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C4BC */ _t6 = _t5 & 0x00000001u; /* 0285C4BC */ if (_t6) goto L_0285C4C0; else goto L_0285C4F4; L_0285C4C0: ; // 0x285c4c0 /* 0285C4C0 */ _t7 = cpu->r[29] + 0x00000000u; /* 0285C4C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0285C4C4 */ _t8 = cpu->r[12] + 0x00000044u; /* 0285C4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285C4C8 */ cpu->ctr = cpu->r[0]; /* 0285C4CC */ cpu->r[3] = cpu->r[29]; /* 0285C4D0 */ cpu->r[4] = cpu->r[30]; /* 0285C4D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285C4D8 */ cpu->r[31] = cpu->r[3]; /* 0285C4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C4DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C4DC */ _t10 = _t9 & 0x00000001u; /* 0285C4DC */ if (_t10) goto L_0285C4F4; else goto L_0285C4E0; L_0285C4E0: ; // 0x285c4e0 /* 0285C4E0 */ cpu->r[6] = 0x00000001u; /* 0285C4E4 */ cpu->r[5] = cpu->r[31]; /* 0285C4E8 */ cpu->r[4] = cpu->r[30]; /* 0285C4EC */ cpu->r[3] = cpu->r[29] + 0x00000010u; /* 0285C4F0 */ Gambit_fn_0285D20C(cpu); L_0285C4F4: ; // 0x285c4f4 /* 0285C4F4 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285C4F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285C4F8 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285C4F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285C4FC */ cpu->r[3] = cpu->r[31]; /* 0285C500 */ _t13 = cpu->r[1] + 0x00000010u; /* 0285C500 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285C504 */ cpu->lr = cpu->r[0]; /* 0285C508 */ _t14 = cpu->r[1] + 0x00000014u; /* 0285C508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285C50C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C510 */ return; } // fn_0285C514 @ 0x285c514 void Gambit_fn_0285C514(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0285C514: ; // 0x285c514 /* 0285C514 */ cpu->r[0] = cpu->lr; /* 0285C518 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C518 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C518 */ cpu->r[1] = _t0; /* 0285C51C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285C51C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0285C520 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285C520 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C524 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C524 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285C528 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285C528 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285C52C */ cpu->r[29] = cpu->r[3]; /* 0285C530 */ cpu->r[3] = cpu->r[29] + 0x00000028u; /* 0285C534 */ cpu->r[30] = cpu->r[4]; /* 0285C538 */ Gambit_fn_0285E920(cpu); /* 0285C53C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C540 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C540 */ _t6 = _t5 & 0x00000001u; /* 0285C540 */ if (_t6) goto L_0285C544; else goto L_0285C578; L_0285C544: ; // 0x285c544 /* 0285C544 */ cpu->r[3] = cpu->r[29] + 0x00000028u; /* 0285C548 */ cpu->r[4] = cpu->r[30]; /* 0285C54C */ Gambit_fn_0285E874(cpu); /* 0285C550 */ cpu->r[31] = cpu->r[3]; /* 0285C550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C554 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C554 */ _t8 = _t7 & 0x00000001u; /* 0285C554 */ if (_t8) goto L_0285C574; else goto L_0285C558; L_0285C558: ; // 0x285c558 /* 0285C558 */ _t9 = cpu->r[29] + 0x00000000u; /* 0285C558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0285C55C */ _t10 = cpu->r[12] + 0x0000004Cu; /* 0285C55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285C560 */ cpu->ctr = cpu->r[0]; /* 0285C564 */ cpu->r[3] = cpu->r[29]; /* 0285C568 */ cpu->r[4] = cpu->r[31]; /* 0285C56C */ cpu->r[5] = cpu->r[30]; /* 0285C570 */ rbrew_call_indirect(cpu, cpu->ctr); L_0285C574: ; // 0x285c574 /* 0285C574 */ cpu->r[3] = cpu->r[31]; L_0285C578: ; // 0x285c578 /* 0285C578 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285C578 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285C57C */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285C57C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285C580 */ _t13 = cpu->r[1] + 0x00000010u; /* 0285C580 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285C584 */ cpu->lr = cpu->r[0]; /* 0285C588 */ _t14 = cpu->r[1] + 0x00000014u; /* 0285C588 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285C58C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C590 */ return; } // fn_0285C518 @ 0x285c518 void Gambit_fn_0285C518(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0285C518: ; // 0x285c518 /* 0285C518 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C518 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C518 */ cpu->r[1] = _t0; /* 0285C51C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285C51C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0285C520 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285C520 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C524 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C524 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285C528 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285C528 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285C52C */ cpu->r[29] = cpu->r[3]; /* 0285C530 */ cpu->r[3] = cpu->r[29] + 0x00000028u; /* 0285C534 */ cpu->r[30] = cpu->r[4]; /* 0285C538 */ Gambit_fn_0285E920(cpu); /* 0285C53C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C540 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C540 */ _t6 = _t5 & 0x00000001u; /* 0285C540 */ if (_t6) goto L_0285C544; else goto L_0285C578; L_0285C544: ; // 0x285c544 /* 0285C544 */ cpu->r[3] = cpu->r[29] + 0x00000028u; /* 0285C548 */ cpu->r[4] = cpu->r[30]; /* 0285C54C */ Gambit_fn_0285E874(cpu); /* 0285C550 */ cpu->r[31] = cpu->r[3]; /* 0285C550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C554 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C554 */ _t8 = _t7 & 0x00000001u; /* 0285C554 */ if (_t8) goto L_0285C574; else goto L_0285C558; L_0285C558: ; // 0x285c558 /* 0285C558 */ _t9 = cpu->r[29] + 0x00000000u; /* 0285C558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0285C55C */ _t10 = cpu->r[12] + 0x0000004Cu; /* 0285C55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285C560 */ cpu->ctr = cpu->r[0]; /* 0285C564 */ cpu->r[3] = cpu->r[29]; /* 0285C568 */ cpu->r[4] = cpu->r[31]; /* 0285C56C */ cpu->r[5] = cpu->r[30]; /* 0285C570 */ rbrew_call_indirect(cpu, cpu->ctr); L_0285C574: ; // 0x285c574 /* 0285C574 */ cpu->r[3] = cpu->r[31]; L_0285C578: ; // 0x285c578 /* 0285C578 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285C578 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285C57C */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285C57C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285C580 */ _t13 = cpu->r[1] + 0x00000010u; /* 0285C580 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285C584 */ cpu->lr = cpu->r[0]; /* 0285C588 */ _t14 = cpu->r[1] + 0x00000014u; /* 0285C588 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285C58C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C590 */ return; } // fn_0285C594 @ 0x285c594 void Gambit_fn_0285C594(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33; L_0285C594: ; // 0x285c594 /* 0285C594 */ cpu->r[0] = cpu->lr; /* 0285C598 */ _t0 = cpu->r[1] + 0xFFFFFF78u; /* 0285C598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C598 */ cpu->r[1] = _t0; /* 0285C59C */ _t1 = cpu->r[1] + 0x00000084u; /* 0285C59C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285C5A0 */ _t2 = cpu->r[1] + 0x00000080u; /* 0285C5A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C5A4 */ _t3 = cpu->r[1] + 0x00000024u; /* 0285C5A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]); /* 0285C5A8 */ _t4 = cpu->r[1] + 0x00000030u; /* 0285C5A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]); /* 0285C5AC */ _t5 = cpu->r[1] + 0x0000002Cu; /* 0285C5AC */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 0285C5B0 */ _t6 = cpu->r[1] + 0x0000008Cu; /* 0285C5B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285C5B4 */ _t7 = cpu->r[1] + 0x00000018u; /* 0285C5B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]); /* 0285C5B8 */ _t8 = cpu->r[1] + 0x0000007Cu; /* 0285C5B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]); /* 0285C5BC */ _t9 = cpu->r[1] + 0x00000034u; /* 0285C5BC */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 0285C5C0 */ _t10 = cpu->r[1] + 0x00000028u; /* 0285C5C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]); /* 0285C5C4 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 0285C5C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]); /* 0285C5C8 */ _t12 = cpu->r[1] + 0x00000020u; /* 0285C5C8 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]); /* 0285C5CC */ _t13 = cpu->cr[1] >> (0x00000001u & 31u); /* 0285C5CC */ _t14 = _t13 & 0x00000001u; /* 0285C5CC */ if (_t14) goto L_0285C5D0; else goto L_0285C5F0; L_0285C5D0: ; // 0x285c5d0 /* 0285C5D0 */ _t15 = cpu->r[1] + 0x00000048u; /* 0285C5D0 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[3]); /* 0285C5D4 */ _t16 = cpu->r[1] + 0x00000068u; /* 0285C5D4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[7]); /* 0285C5D8 */ _t17 = cpu->r[1] + 0x00000060u; /* 0285C5D8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[6]); /* 0285C5DC */ _t18 = cpu->r[1] + 0x00000040u; /* 0285C5DC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[2]); /* 0285C5E0 */ _t19 = cpu->r[1] + 0x00000050u; /* 0285C5E0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[4]); /* 0285C5E4 */ _t20 = cpu->r[1] + 0x00000070u; /* 0285C5E4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[8]); /* 0285C5E8 */ _t21 = cpu->r[1] + 0x00000058u; /* 0285C5E8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[5]); /* 0285C5EC */ _t22 = cpu->r[1] + 0x00000038u; /* 0285C5EC */ rbrew_write_f64(cpu->mem, _t22, cpu->f[1]); L_0285C5F0: ; // 0x285c5f0 /* 0285C5F0 */ cpu->r[10] = cpu->r[1] + 0x00000018u; /* 0285C5F4 */ cpu->r[31] = 0x00000000u; /* 0285C5F8 */ cpu->r[8] = cpu->r[1] + 0x00000090u; /* 0285C5FC */ cpu->r[30] = cpu->r[4]; /* 0285C600 */ cpu->r[4] = cpu->r[5] + 0x00000001u; /* 0285C604 */ cpu->r[0] = 0x00000004u; /* 0285C608 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 0285C608 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]); /* 0285C60C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[4]); /* 0285C610 */ cpu->r[5] = cpu->r[6]; /* 0285C614 */ _t24 = cpu->r[1] + 0x00000008u; /* 0285C614 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]); /* 0285C618 */ cpu->r[29] = cpu->r[3]; /* 0285C61C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285C61C */ _t26 = _t25 & 0x00000001u; /* 0285C61C */ if (_t26) goto L_0285C620; else goto L_0285C624; L_0285C620: ; // 0x285c620 /* 0285C620 */ cpu->r[4] = cpu->r[30]; L_0285C624: ; // 0x285c624 /* 0285C624 */ _t27 = cpu->r[1] + 0x00000010u; /* 0285C624 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]); /* 0285C628 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0285C62C */ _t28 = cpu->r[1] + 0x00000009u; /* 0285C62C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[31]); /* 0285C630 */ Gambit_fn_02C85200(cpu); /* 0285C634 */ cpu->r[11] = cpu->r[29] + cpu->r[30]; /* 0285C638 */ _t29 = cpu->r[11] + 0xFFFFFFFFu; /* 0285C638 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]); /* 0285C63C */ _t30 = cpu->r[1] + 0x0000007Cu; /* 0285C63C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30); /* 0285C640 */ _t31 = cpu->r[1] + 0x0000008Cu; /* 0285C640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0285C644 */ _t32 = cpu->r[1] + 0x00000084u; /* 0285C644 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 0285C648 */ cpu->lr = cpu->r[0]; /* 0285C64C */ _t33 = cpu->r[1] + 0x00000080u; /* 0285C64C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33); /* 0285C650 */ cpu->r[1] = cpu->r[1] + 0x00000088u; /* 0285C654 */ return; } // fn_0285C598 @ 0x285c598 void Gambit_fn_0285C598(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33; L_0285C598: ; // 0x285c598 /* 0285C598 */ _t0 = cpu->r[1] + 0xFFFFFF78u; /* 0285C598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C598 */ cpu->r[1] = _t0; /* 0285C59C */ _t1 = cpu->r[1] + 0x00000084u; /* 0285C59C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285C5A0 */ _t2 = cpu->r[1] + 0x00000080u; /* 0285C5A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C5A4 */ _t3 = cpu->r[1] + 0x00000024u; /* 0285C5A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]); /* 0285C5A8 */ _t4 = cpu->r[1] + 0x00000030u; /* 0285C5A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]); /* 0285C5AC */ _t5 = cpu->r[1] + 0x0000002Cu; /* 0285C5AC */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 0285C5B0 */ _t6 = cpu->r[1] + 0x0000008Cu; /* 0285C5B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285C5B4 */ _t7 = cpu->r[1] + 0x00000018u; /* 0285C5B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]); /* 0285C5B8 */ _t8 = cpu->r[1] + 0x0000007Cu; /* 0285C5B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]); /* 0285C5BC */ _t9 = cpu->r[1] + 0x00000034u; /* 0285C5BC */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 0285C5C0 */ _t10 = cpu->r[1] + 0x00000028u; /* 0285C5C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]); /* 0285C5C4 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 0285C5C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]); /* 0285C5C8 */ _t12 = cpu->r[1] + 0x00000020u; /* 0285C5C8 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]); /* 0285C5CC */ _t13 = cpu->cr[1] >> (0x00000001u & 31u); /* 0285C5CC */ _t14 = _t13 & 0x00000001u; /* 0285C5CC */ if (_t14) goto L_0285C5D0; else goto L_0285C5F0; L_0285C5D0: ; // 0x285c5d0 /* 0285C5D0 */ _t15 = cpu->r[1] + 0x00000048u; /* 0285C5D0 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[3]); /* 0285C5D4 */ _t16 = cpu->r[1] + 0x00000068u; /* 0285C5D4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[7]); /* 0285C5D8 */ _t17 = cpu->r[1] + 0x00000060u; /* 0285C5D8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[6]); /* 0285C5DC */ _t18 = cpu->r[1] + 0x00000040u; /* 0285C5DC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[2]); /* 0285C5E0 */ _t19 = cpu->r[1] + 0x00000050u; /* 0285C5E0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[4]); /* 0285C5E4 */ _t20 = cpu->r[1] + 0x00000070u; /* 0285C5E4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[8]); /* 0285C5E8 */ _t21 = cpu->r[1] + 0x00000058u; /* 0285C5E8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[5]); /* 0285C5EC */ _t22 = cpu->r[1] + 0x00000038u; /* 0285C5EC */ rbrew_write_f64(cpu->mem, _t22, cpu->f[1]); L_0285C5F0: ; // 0x285c5f0 /* 0285C5F0 */ cpu->r[10] = cpu->r[1] + 0x00000018u; /* 0285C5F4 */ cpu->r[31] = 0x00000000u; /* 0285C5F8 */ cpu->r[8] = cpu->r[1] + 0x00000090u; /* 0285C5FC */ cpu->r[30] = cpu->r[4]; /* 0285C600 */ cpu->r[4] = cpu->r[5] + 0x00000001u; /* 0285C604 */ cpu->r[0] = 0x00000004u; /* 0285C608 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 0285C608 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]); /* 0285C60C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[4]); /* 0285C610 */ cpu->r[5] = cpu->r[6]; /* 0285C614 */ _t24 = cpu->r[1] + 0x00000008u; /* 0285C614 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]); /* 0285C618 */ cpu->r[29] = cpu->r[3]; /* 0285C61C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285C61C */ _t26 = _t25 & 0x00000001u; /* 0285C61C */ if (_t26) goto L_0285C620; else goto L_0285C624; L_0285C620: ; // 0x285c620 /* 0285C620 */ cpu->r[4] = cpu->r[30]; L_0285C624: ; // 0x285c624 /* 0285C624 */ _t27 = cpu->r[1] + 0x00000010u; /* 0285C624 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]); /* 0285C628 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0285C62C */ _t28 = cpu->r[1] + 0x00000009u; /* 0285C62C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[31]); /* 0285C630 */ Gambit_fn_02C85200(cpu); /* 0285C634 */ cpu->r[11] = cpu->r[29] + cpu->r[30]; /* 0285C638 */ _t29 = cpu->r[11] + 0xFFFFFFFFu; /* 0285C638 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]); /* 0285C63C */ _t30 = cpu->r[1] + 0x0000007Cu; /* 0285C63C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30); /* 0285C640 */ _t31 = cpu->r[1] + 0x0000008Cu; /* 0285C640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0285C644 */ _t32 = cpu->r[1] + 0x00000084u; /* 0285C644 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 0285C648 */ cpu->lr = cpu->r[0]; /* 0285C64C */ _t33 = cpu->r[1] + 0x00000080u; /* 0285C64C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33); /* 0285C650 */ cpu->r[1] = cpu->r[1] + 0x00000088u; /* 0285C654 */ return; } // fn_0285C658 @ 0x285c658 void Gambit_fn_0285C658(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78; L_0285C658: ; // 0x285c658 /* 0285C658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285C65C */ cpu->r[10] = cpu->r[3]; /* 0285C660 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C660 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C660 */ cpu->r[1] = _t0; /* 0285C664 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C664 */ _t2 = _t1 & 0x00000001u; /* 0285C664 */ if (_t2) goto L_0285C7F8; else goto L_0285C668; L_0285C668: ; // 0x285c668 /* 0285C668 */ cpu->r[7] = 0x10130000u; /* 0285C66C */ cpu->r[6] = 0x00000004u; /* 0285C670 */ cpu->r[8] = cpu->r[4]; /* 0285C674 */ cpu->r[7] = cpu->r[7] + 0x00004D53u; /* 0285C678 */ cpu->ctr = cpu->r[6]; /* 0285C67C */ cpu->r[11] = cpu->r[8] + 0xFFFFFFFFu; /* 0285C680 */ _t3 = cpu->r[10] + 0x00000000u; /* 0285C680 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]); L_0285C684: ; // 0x285c684 /* 0285C684 */ _t4 = cpu->r[11] + 0x00000001u; /* 0285C684 */ cpu->r[5] = rbrew_read8(cpu->mem, _t4); /* 0285C684 */ cpu->r[11] = _t4; /* 0285C688 */ _t5 = cpu->r[7] + 0x00000001u; /* 0285C688 */ cpu->r[6] = rbrew_read8(cpu->mem, _t5); /* 0285C688 */ cpu->r[7] = _t5; /* 0285C68C */ cpu->r[0] = cpu->r[5] - cpu->r[6]; /* 0285C68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285C690 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C690 */ _t7 = _t6 & 0x00000001u; /* 0285C690 */ if (_t7) goto L_0285C694; else goto L_0285C7F8; L_0285C694: ; // 0x285c694 /* 0285C694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285C698 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C698 */ _t9 = _t8 & 0x00000001u; /* 0285C698 */ if (_t9) goto L_0285C6A0; else goto L_0285C69C; L_0285C69C: ; // 0x285c69c /* 0285C69C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285C69C */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285C69C */ _t11 = _t10 >> (0x00000002u & 31u); /* 0285C69C */ _t12 = _t11 & 0x00000001u; /* 0285C69C */ if (_t12) goto L_0285C684; else goto L_0285C6A0; L_0285C6A0: ; // 0x285c6a0 /* 0285C6A0 */ _t13 = cpu->r[8] + 0x00000006u; /* 0285C6A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13); /* 0285C6A4 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285C6A4 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]); /* 0285C6A8 */ _t15 = cpu->r[1] + 0x00000008u; /* 0285C6A8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t15); /* 0285C6AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FFu); /* 0285C6B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C6B0 */ _t17 = _t16 & 0x00000001u; /* 0285C6B0 */ if (_t17) goto L_0285C6E4; else goto L_0285C6B4; L_0285C6B4: ; // 0x285c6b4 /* 0285C6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FEu); /* 0285C6B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C6B8 */ _t19 = _t18 & 0x00000001u; /* 0285C6B8 */ if (_t19) goto L_0285C6BC; else goto L_0285C6E4; L_0285C6BC: ; // 0x285c6bc /* 0285C6BC */ _t20 = cpu->r[1] + 0x00000009u; /* 0285C6BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t20); /* 0285C6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu); /* 0285C6C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C6C4 */ _t22 = _t21 & 0x00000001u; /* 0285C6C4 */ if (_t22) goto L_0285C6C8; else goto L_0285C6E4; L_0285C6C8: ; // 0x285c6c8 /* 0285C6C8 */ _t23 = cpu->r[10] + 0x00000000u; /* 0285C6C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 0285C6CC */ cpu->r[9] = 0x00000000u; /* 0285C6D0 */ _t24 = cpu->r[10] + 0x00000018u; /* 0285C6D0 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]); /* 0285C6D4 */ _t25 = cpu->r[8] + 0x00000010u; /* 0285C6D4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t25); /* 0285C6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000100u); /* 0285C6DC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C6DC */ _t27 = _t26 & 0x00000001u; /* 0285C6DC */ if (_t27) goto L_0285C6F8; else goto L_0285C6E0; L_0285C6E0: ; // 0x285c6e0 /* 0285C6E0 */ goto L_0285C7F8; L_0285C6E4: ; // 0x285c6e4 /* 0285C6E4 */ cpu->r[9] = 0x00000001u; /* 0285C6E8 */ cpu->r[3] = 0x00000000u; /* 0285C6EC */ _t28 = cpu->r[10] + 0x00000018u; /* 0285C6EC */ rbrew_write32(cpu->mem, _t28, cpu->r[9]); /* 0285C6F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C6F4 */ return; L_0285C6F8: ; // 0x285c6f8 /* 0285C6F8 */ _t29 = cpu->r[8] + 0x00000004u; /* 0285C6F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29); /* 0285C6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000014u); /* 0285C700 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C700 */ _t31 = _t30 & 0x00000001u; /* 0285C700 */ if (_t31) goto L_0285C704; else goto L_0285C7F8; L_0285C704: ; // 0x285c704 /* 0285C704 */ cpu->r[6] = 0x10130000u; /* 0285C708 */ cpu->r[5] = 0x00000004u; /* 0285C70C */ cpu->r[7] = cpu->r[4] + 0x00000014u; /* 0285C710 */ cpu->r[6] = cpu->r[6] + 0x00004D5Bu; /* 0285C714 */ cpu->ctr = cpu->r[5]; /* 0285C718 */ cpu->r[11] = cpu->r[7] + 0xFFFFFFFFu; /* 0285C71C */ _t32 = cpu->r[10] + 0x00000004u; /* 0285C71C */ rbrew_write32(cpu->mem, _t32, cpu->r[7]); L_0285C720: ; // 0x285c720 /* 0285C720 */ _t33 = cpu->r[11] + 0x00000001u; /* 0285C720 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33); /* 0285C720 */ cpu->r[11] = _t33; /* 0285C724 */ _t34 = cpu->r[6] + 0x00000001u; /* 0285C724 */ cpu->r[5] = rbrew_read8(cpu->mem, _t34); /* 0285C724 */ cpu->r[6] = _t34; /* 0285C728 */ cpu->r[9] = cpu->r[0] - cpu->r[5]; /* 0285C728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285C72C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C72C */ _t36 = _t35 & 0x00000001u; /* 0285C72C */ if (_t36) goto L_0285C730; else goto L_0285C7F8; L_0285C730: ; // 0x285c730 /* 0285C730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285C734 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C734 */ _t38 = _t37 & 0x00000001u; /* 0285C734 */ if (_t38) goto L_0285C73C; else goto L_0285C738; L_0285C738: ; // 0x285c738 /* 0285C738 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285C738 */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285C738 */ _t40 = _t39 >> (0x00000002u & 31u); /* 0285C738 */ _t41 = _t40 & 0x00000001u; /* 0285C738 */ if (_t41) goto L_0285C720; else goto L_0285C73C; L_0285C73C: ; // 0x285c73c /* 0285C73C */ _t42 = cpu->r[7] + 0x00000004u; /* 0285C73C */ cpu->r[5] = rbrew_read16(cpu->mem, _t42); /* 0285C740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000000Cu); /* 0285C744 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C744 */ _t44 = _t43 & 0x00000001u; /* 0285C744 */ if (_t44) goto L_0285C748; else goto L_0285C7F8; L_0285C748: ; // 0x285c748 /* 0285C748 */ _t45 = cpu->r[7] + 0x00000006u; /* 0285C748 */ cpu->r[0] = rbrew_read16(cpu->mem, _t45); /* 0285C74C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00003FFFu); /* 0285C750 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285C750 */ _t47 = _t46 & 0x00000001u; /* 0285C750 */ if (_t47) goto L_0285C7F8; else goto L_0285C754; L_0285C754: ; // 0x285c754 /* 0285C754 */ _t48 = cpu->r[10] + 0x00000000u; /* 0285C754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48); /* 0285C758 */ _t49 = cpu->r[8] + 0x00000004u; /* 0285C758 */ cpu->r[6] = rbrew_read16(cpu->mem, _t49); /* 0285C75C */ cpu->r[11] = cpu->r[4] + cpu->r[6]; /* 0285C760 */ cpu->r[9] = cpu->r[0]; /* 0285C760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285C764 */ cpu->r[7] = cpu->r[11] + 0x0000000Cu; /* 0285C768 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285C768 */ _t51 = _t50 & 0x00000001u; /* 0285C768 */ if (_t51) goto L_0285C76C; else goto L_0285C794; L_0285C76C: ; // 0x285c76c /* 0285C76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285C770 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C770 */ _t53 = _t52 & 0x00000001u; /* 0285C770 */ if (_t53) goto L_0285C794; else goto L_0285C774; L_0285C774: ; // 0x285c774 /* 0285C774 */ _t54 = cpu->r[10] + 0x00000000u; /* 0285C774 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54); /* 0285C778 */ _t55 = cpu->r[10] + 0x00000010u; /* 0285C778 */ rbrew_write32(cpu->mem, _t55, cpu->r[7]); /* 0285C77C */ _t56 = cpu->r[10] + 0x00000004u; /* 0285C77C */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 0285C780 */ _t57 = cpu->r[10] + 0x0000000Cu; /* 0285C780 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]); /* 0285C784 */ _t58 = cpu->r[8] + 0x00000004u; /* 0285C784 */ cpu->r[6] = rbrew_read16(cpu->mem, _t58); /* 0285C788 */ _t59 = cpu->r[7] + 0x00000004u; /* 0285C788 */ cpu->r[5] = rbrew_read16(cpu->mem, _t59); /* 0285C78C */ _t60 = cpu->r[7] + 0x00000006u; /* 0285C78C */ cpu->r[0] = rbrew_read16(cpu->mem, _t60); /* 0285C790 */ cpu->r[11] = cpu->r[4] + cpu->r[6]; L_0285C794: ; // 0x285c794 /* 0285C794 */ cpu->r[9] = 0x10130000u; /* 0285C798 */ cpu->r[8] = cpu->r[11] + cpu->r[5]; /* 0285C79C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0285C7A0 */ cpu->r[0] = 0x00000004u; /* 0285C7A4 */ cpu->r[9] = cpu->r[9] + 0x00004D63u; /* 0285C7A8 */ cpu->r[12] = cpu->r[8] + cpu->r[11]; /* 0285C7AC */ cpu->ctr = cpu->r[0]; /* 0285C7B0 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu; L_0285C7B4: ; // 0x285c7b4 /* 0285C7B4 */ _t61 = cpu->r[8] + 0x00000001u; /* 0285C7B4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t61); /* 0285C7B4 */ cpu->r[8] = _t61; /* 0285C7B8 */ _t62 = cpu->r[9] + 0x00000001u; /* 0285C7B8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t62); /* 0285C7B8 */ cpu->r[9] = _t62; /* 0285C7BC */ cpu->r[0] = cpu->r[11] - cpu->r[6]; /* 0285C7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285C7C0 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C7C0 */ _t64 = _t63 & 0x00000001u; /* 0285C7C0 */ if (_t64) goto L_0285C7C4; else goto L_0285C7F8; L_0285C7C4: ; // 0x285c7c4 /* 0285C7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285C7C8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C7C8 */ _t66 = _t65 & 0x00000001u; /* 0285C7C8 */ if (_t66) goto L_0285C7D0; else goto L_0285C7CC; L_0285C7CC: ; // 0x285c7cc /* 0285C7CC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285C7CC */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285C7CC */ _t68 = _t67 >> (0x00000002u & 31u); /* 0285C7CC */ _t69 = _t68 & 0x00000001u; /* 0285C7CC */ if (_t69) goto L_0285C7B4; else goto L_0285C7D0; L_0285C7D0: ; // 0x285c7d0 /* 0285C7D0 */ _t70 = cpu->r[12] + 0x00000004u; /* 0285C7D0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t70); /* 0285C7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u); /* 0285C7D8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C7D8 */ _t72 = _t71 & 0x00000001u; /* 0285C7D8 */ if (_t72) goto L_0285C7DC; else goto L_0285C7F8; L_0285C7DC: ; // 0x285c7dc /* 0285C7DC */ _t73 = cpu->r[10] + 0x00000000u; /* 0285C7DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t73); /* 0285C7E0 */ cpu->r[9] = cpu->r[12] + 0x00000008u; /* 0285C7E4 */ _t74 = cpu->r[10] + 0x00000008u; /* 0285C7E4 */ rbrew_write32(cpu->mem, _t74, cpu->r[9]); /* 0285C7E8 */ _t75 = cpu->r[8] + 0x0000000Cu; /* 0285C7E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t75); /* 0285C7EC */ cpu->r[8] = cpu->r[9] - cpu->r[8]; /* 0285C7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]); /* 0285C7F4 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285C7F4 */ _t77 = _t76 & 0x00000001u; /* 0285C7F4 */ if (_t77) goto L_0285C7F8; else goto L_0285C804; L_0285C7F8: ; // 0x285c7f8 /* 0285C7F8 */ cpu->r[3] = 0x00000000u; /* 0285C7FC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C800 */ return; L_0285C804: ; // 0x285c804 /* 0285C804 */ cpu->r[0] = cpu->r[4] + cpu->r[7]; /* 0285C808 */ cpu->r[3] = 0x00000001u; /* 0285C80C */ _t78 = cpu->r[10] + 0x00000014u; /* 0285C80C */ rbrew_write32(cpu->mem, _t78, cpu->r[0]); /* 0285C810 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C814 */ return; } // fn_0285C660 @ 0x285c660 void Gambit_fn_0285C660(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78; L_0285C660: ; // 0x285c660 /* 0285C660 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285C660 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C660 */ cpu->r[1] = _t0; /* 0285C664 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C664 */ _t2 = _t1 & 0x00000001u; /* 0285C664 */ if (_t2) goto L_0285C7F8; else goto L_0285C668; L_0285C668: ; // 0x285c668 /* 0285C668 */ cpu->r[7] = 0x10130000u; /* 0285C66C */ cpu->r[6] = 0x00000004u; /* 0285C670 */ cpu->r[8] = cpu->r[4]; /* 0285C674 */ cpu->r[7] = cpu->r[7] + 0x00004D53u; /* 0285C678 */ cpu->ctr = cpu->r[6]; /* 0285C67C */ cpu->r[11] = cpu->r[8] + 0xFFFFFFFFu; /* 0285C680 */ _t3 = cpu->r[10] + 0x00000000u; /* 0285C680 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]); L_0285C684: ; // 0x285c684 /* 0285C684 */ _t4 = cpu->r[11] + 0x00000001u; /* 0285C684 */ cpu->r[5] = rbrew_read8(cpu->mem, _t4); /* 0285C684 */ cpu->r[11] = _t4; /* 0285C688 */ _t5 = cpu->r[7] + 0x00000001u; /* 0285C688 */ cpu->r[6] = rbrew_read8(cpu->mem, _t5); /* 0285C688 */ cpu->r[7] = _t5; /* 0285C68C */ cpu->r[0] = cpu->r[5] - cpu->r[6]; /* 0285C68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285C690 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C690 */ _t7 = _t6 & 0x00000001u; /* 0285C690 */ if (_t7) goto L_0285C694; else goto L_0285C7F8; L_0285C694: ; // 0x285c694 /* 0285C694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285C698 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C698 */ _t9 = _t8 & 0x00000001u; /* 0285C698 */ if (_t9) goto L_0285C6A0; else goto L_0285C69C; L_0285C69C: ; // 0x285c69c /* 0285C69C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285C69C */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285C69C */ _t11 = _t10 >> (0x00000002u & 31u); /* 0285C69C */ _t12 = _t11 & 0x00000001u; /* 0285C69C */ if (_t12) goto L_0285C684; else goto L_0285C6A0; L_0285C6A0: ; // 0x285c6a0 /* 0285C6A0 */ _t13 = cpu->r[8] + 0x00000006u; /* 0285C6A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13); /* 0285C6A4 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285C6A4 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]); /* 0285C6A8 */ _t15 = cpu->r[1] + 0x00000008u; /* 0285C6A8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t15); /* 0285C6AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FFu); /* 0285C6B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C6B0 */ _t17 = _t16 & 0x00000001u; /* 0285C6B0 */ if (_t17) goto L_0285C6E4; else goto L_0285C6B4; L_0285C6B4: ; // 0x285c6b4 /* 0285C6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FEu); /* 0285C6B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C6B8 */ _t19 = _t18 & 0x00000001u; /* 0285C6B8 */ if (_t19) goto L_0285C6BC; else goto L_0285C6E4; L_0285C6BC: ; // 0x285c6bc /* 0285C6BC */ _t20 = cpu->r[1] + 0x00000009u; /* 0285C6BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t20); /* 0285C6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu); /* 0285C6C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C6C4 */ _t22 = _t21 & 0x00000001u; /* 0285C6C4 */ if (_t22) goto L_0285C6C8; else goto L_0285C6E4; L_0285C6C8: ; // 0x285c6c8 /* 0285C6C8 */ _t23 = cpu->r[10] + 0x00000000u; /* 0285C6C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 0285C6CC */ cpu->r[9] = 0x00000000u; /* 0285C6D0 */ _t24 = cpu->r[10] + 0x00000018u; /* 0285C6D0 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]); /* 0285C6D4 */ _t25 = cpu->r[8] + 0x00000010u; /* 0285C6D4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t25); /* 0285C6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000100u); /* 0285C6DC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C6DC */ _t27 = _t26 & 0x00000001u; /* 0285C6DC */ if (_t27) goto L_0285C6F8; else goto L_0285C6E0; L_0285C6E0: ; // 0x285c6e0 /* 0285C6E0 */ goto L_0285C7F8; L_0285C6E4: ; // 0x285c6e4 /* 0285C6E4 */ cpu->r[9] = 0x00000001u; /* 0285C6E8 */ cpu->r[3] = 0x00000000u; /* 0285C6EC */ _t28 = cpu->r[10] + 0x00000018u; /* 0285C6EC */ rbrew_write32(cpu->mem, _t28, cpu->r[9]); /* 0285C6F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C6F4 */ return; L_0285C6F8: ; // 0x285c6f8 /* 0285C6F8 */ _t29 = cpu->r[8] + 0x00000004u; /* 0285C6F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29); /* 0285C6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000014u); /* 0285C700 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C700 */ _t31 = _t30 & 0x00000001u; /* 0285C700 */ if (_t31) goto L_0285C704; else goto L_0285C7F8; L_0285C704: ; // 0x285c704 /* 0285C704 */ cpu->r[6] = 0x10130000u; /* 0285C708 */ cpu->r[5] = 0x00000004u; /* 0285C70C */ cpu->r[7] = cpu->r[4] + 0x00000014u; /* 0285C710 */ cpu->r[6] = cpu->r[6] + 0x00004D5Bu; /* 0285C714 */ cpu->ctr = cpu->r[5]; /* 0285C718 */ cpu->r[11] = cpu->r[7] + 0xFFFFFFFFu; /* 0285C71C */ _t32 = cpu->r[10] + 0x00000004u; /* 0285C71C */ rbrew_write32(cpu->mem, _t32, cpu->r[7]); L_0285C720: ; // 0x285c720 /* 0285C720 */ _t33 = cpu->r[11] + 0x00000001u; /* 0285C720 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33); /* 0285C720 */ cpu->r[11] = _t33; /* 0285C724 */ _t34 = cpu->r[6] + 0x00000001u; /* 0285C724 */ cpu->r[5] = rbrew_read8(cpu->mem, _t34); /* 0285C724 */ cpu->r[6] = _t34; /* 0285C728 */ cpu->r[9] = cpu->r[0] - cpu->r[5]; /* 0285C728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285C72C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C72C */ _t36 = _t35 & 0x00000001u; /* 0285C72C */ if (_t36) goto L_0285C730; else goto L_0285C7F8; L_0285C730: ; // 0x285c730 /* 0285C730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285C734 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C734 */ _t38 = _t37 & 0x00000001u; /* 0285C734 */ if (_t38) goto L_0285C73C; else goto L_0285C738; L_0285C738: ; // 0x285c738 /* 0285C738 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285C738 */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285C738 */ _t40 = _t39 >> (0x00000002u & 31u); /* 0285C738 */ _t41 = _t40 & 0x00000001u; /* 0285C738 */ if (_t41) goto L_0285C720; else goto L_0285C73C; L_0285C73C: ; // 0x285c73c /* 0285C73C */ _t42 = cpu->r[7] + 0x00000004u; /* 0285C73C */ cpu->r[5] = rbrew_read16(cpu->mem, _t42); /* 0285C740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000000Cu); /* 0285C744 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C744 */ _t44 = _t43 & 0x00000001u; /* 0285C744 */ if (_t44) goto L_0285C748; else goto L_0285C7F8; L_0285C748: ; // 0x285c748 /* 0285C748 */ _t45 = cpu->r[7] + 0x00000006u; /* 0285C748 */ cpu->r[0] = rbrew_read16(cpu->mem, _t45); /* 0285C74C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00003FFFu); /* 0285C750 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285C750 */ _t47 = _t46 & 0x00000001u; /* 0285C750 */ if (_t47) goto L_0285C7F8; else goto L_0285C754; L_0285C754: ; // 0x285c754 /* 0285C754 */ _t48 = cpu->r[10] + 0x00000000u; /* 0285C754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48); /* 0285C758 */ _t49 = cpu->r[8] + 0x00000004u; /* 0285C758 */ cpu->r[6] = rbrew_read16(cpu->mem, _t49); /* 0285C75C */ cpu->r[11] = cpu->r[4] + cpu->r[6]; /* 0285C760 */ cpu->r[9] = cpu->r[0]; /* 0285C760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285C764 */ cpu->r[7] = cpu->r[11] + 0x0000000Cu; /* 0285C768 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285C768 */ _t51 = _t50 & 0x00000001u; /* 0285C768 */ if (_t51) goto L_0285C76C; else goto L_0285C794; L_0285C76C: ; // 0x285c76c /* 0285C76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285C770 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C770 */ _t53 = _t52 & 0x00000001u; /* 0285C770 */ if (_t53) goto L_0285C794; else goto L_0285C774; L_0285C774: ; // 0x285c774 /* 0285C774 */ _t54 = cpu->r[10] + 0x00000000u; /* 0285C774 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54); /* 0285C778 */ _t55 = cpu->r[10] + 0x00000010u; /* 0285C778 */ rbrew_write32(cpu->mem, _t55, cpu->r[7]); /* 0285C77C */ _t56 = cpu->r[10] + 0x00000004u; /* 0285C77C */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 0285C780 */ _t57 = cpu->r[10] + 0x0000000Cu; /* 0285C780 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]); /* 0285C784 */ _t58 = cpu->r[8] + 0x00000004u; /* 0285C784 */ cpu->r[6] = rbrew_read16(cpu->mem, _t58); /* 0285C788 */ _t59 = cpu->r[7] + 0x00000004u; /* 0285C788 */ cpu->r[5] = rbrew_read16(cpu->mem, _t59); /* 0285C78C */ _t60 = cpu->r[7] + 0x00000006u; /* 0285C78C */ cpu->r[0] = rbrew_read16(cpu->mem, _t60); /* 0285C790 */ cpu->r[11] = cpu->r[4] + cpu->r[6]; L_0285C794: ; // 0x285c794 /* 0285C794 */ cpu->r[9] = 0x10130000u; /* 0285C798 */ cpu->r[8] = cpu->r[11] + cpu->r[5]; /* 0285C79C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0285C7A0 */ cpu->r[0] = 0x00000004u; /* 0285C7A4 */ cpu->r[9] = cpu->r[9] + 0x00004D63u; /* 0285C7A8 */ cpu->r[12] = cpu->r[8] + cpu->r[11]; /* 0285C7AC */ cpu->ctr = cpu->r[0]; /* 0285C7B0 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu; L_0285C7B4: ; // 0x285c7b4 /* 0285C7B4 */ _t61 = cpu->r[8] + 0x00000001u; /* 0285C7B4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t61); /* 0285C7B4 */ cpu->r[8] = _t61; /* 0285C7B8 */ _t62 = cpu->r[9] + 0x00000001u; /* 0285C7B8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t62); /* 0285C7B8 */ cpu->r[9] = _t62; /* 0285C7BC */ cpu->r[0] = cpu->r[11] - cpu->r[6]; /* 0285C7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285C7C0 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C7C0 */ _t64 = _t63 & 0x00000001u; /* 0285C7C0 */ if (_t64) goto L_0285C7C4; else goto L_0285C7F8; L_0285C7C4: ; // 0x285c7c4 /* 0285C7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285C7C8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C7C8 */ _t66 = _t65 & 0x00000001u; /* 0285C7C8 */ if (_t66) goto L_0285C7D0; else goto L_0285C7CC; L_0285C7CC: ; // 0x285c7cc /* 0285C7CC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285C7CC */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285C7CC */ _t68 = _t67 >> (0x00000002u & 31u); /* 0285C7CC */ _t69 = _t68 & 0x00000001u; /* 0285C7CC */ if (_t69) goto L_0285C7B4; else goto L_0285C7D0; L_0285C7D0: ; // 0x285c7d0 /* 0285C7D0 */ _t70 = cpu->r[12] + 0x00000004u; /* 0285C7D0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t70); /* 0285C7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u); /* 0285C7D8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C7D8 */ _t72 = _t71 & 0x00000001u; /* 0285C7D8 */ if (_t72) goto L_0285C7DC; else goto L_0285C7F8; L_0285C7DC: ; // 0x285c7dc /* 0285C7DC */ _t73 = cpu->r[10] + 0x00000000u; /* 0285C7DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t73); /* 0285C7E0 */ cpu->r[9] = cpu->r[12] + 0x00000008u; /* 0285C7E4 */ _t74 = cpu->r[10] + 0x00000008u; /* 0285C7E4 */ rbrew_write32(cpu->mem, _t74, cpu->r[9]); /* 0285C7E8 */ _t75 = cpu->r[8] + 0x0000000Cu; /* 0285C7E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t75); /* 0285C7EC */ cpu->r[8] = cpu->r[9] - cpu->r[8]; /* 0285C7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]); /* 0285C7F4 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285C7F4 */ _t77 = _t76 & 0x00000001u; /* 0285C7F4 */ if (_t77) goto L_0285C7F8; else goto L_0285C804; L_0285C7F8: ; // 0x285c7f8 /* 0285C7F8 */ cpu->r[3] = 0x00000000u; /* 0285C7FC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C800 */ return; L_0285C804: ; // 0x285c804 /* 0285C804 */ cpu->r[0] = cpu->r[4] + cpu->r[7]; /* 0285C808 */ cpu->r[3] = 0x00000001u; /* 0285C80C */ _t78 = cpu->r[10] + 0x00000014u; /* 0285C80C */ rbrew_write32(cpu->mem, _t78, cpu->r[0]); /* 0285C810 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285C814 */ return; } // fn_0285C818 @ 0x285c818 void Gambit_fn_0285C818(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285C818: ; // 0x285c818 /* 0285C818 */ cpu->r[0] = cpu->lr; /* 0285C81C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285C81C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C81C */ cpu->r[1] = _t0; /* 0285C820 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285C820 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285C824 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285C824 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C828 */ cpu->r[31] = cpu->r[3]; /* 0285C828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C82C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C82C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285C830 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C830 */ _t5 = _t4 & 0x00000001u; /* 0285C830 */ if (_t5) goto L_0285C834; else goto L_0285C844; L_0285C834: ; // 0x285c834 /* 0285C834 */ cpu->r[3] = 0x0000001Cu; /* 0285C838 */ Gambit_fn_02801A78(cpu); /* 0285C83C */ cpu->r[31] = cpu->r[3]; /* 0285C83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C840 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C840 */ _t7 = _t6 & 0x00000001u; /* 0285C840 */ if (_t7) goto L_0285C87C; else goto L_0285C844; L_0285C844: ; // 0x285c844 /* 0285C844 */ cpu->r[30] = 0x00000000u; /* 0285C848 */ _t8 = cpu->r[31] + 0x00000008u; /* 0285C848 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0285C84C */ _t9 = cpu->r[31] + 0x00000000u; /* 0285C84C */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285C850 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu; /* 0285C850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C854 */ _t10 = cpu->r[31] + 0x00000004u; /* 0285C854 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 0285C858 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C858 */ _t12 = _t11 & 0x00000001u; /* 0285C858 */ if (_t12) goto L_0285C85C; else goto L_0285C86C; L_0285C85C: ; // 0x285c85c /* 0285C85C */ cpu->r[3] = 0x00000008u; /* 0285C860 */ Gambit_fn_02801A78(cpu); /* 0285C864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C868 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C868 */ _t14 = _t13 & 0x00000001u; /* 0285C868 */ if (_t14) goto L_0285C874; else goto L_0285C86C; L_0285C86C: ; // 0x285c86c /* 0285C86C */ _t15 = cpu->r[3] + 0x00000004u; /* 0285C86C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); /* 0285C870 */ _t16 = cpu->r[3] + 0x00000000u; /* 0285C870 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]); L_0285C874: ; // 0x285c874 /* 0285C874 */ _t17 = cpu->r[31] + 0x00000018u; /* 0285C874 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]); /* 0285C878 */ _t18 = cpu->r[31] + 0x00000014u; /* 0285C878 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]); L_0285C87C: ; // 0x285c87c /* 0285C87C */ _t19 = cpu->r[1] + 0x00000014u; /* 0285C87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 0285C880 */ cpu->r[3] = cpu->r[31]; /* 0285C884 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0285C884 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0285C888 */ cpu->lr = cpu->r[0]; /* 0285C88C */ _t21 = cpu->r[1] + 0x00000008u; /* 0285C88C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0285C890 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285C894 */ return; } // fn_0285C81C @ 0x285c81c void Gambit_fn_0285C81C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285C81C: ; // 0x285c81c /* 0285C81C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285C81C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C81C */ cpu->r[1] = _t0; /* 0285C820 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285C820 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285C824 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285C824 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285C828 */ cpu->r[31] = cpu->r[3]; /* 0285C828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C82C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285C82C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285C830 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C830 */ _t5 = _t4 & 0x00000001u; /* 0285C830 */ if (_t5) goto L_0285C834; else goto L_0285C844; L_0285C834: ; // 0x285c834 /* 0285C834 */ cpu->r[3] = 0x0000001Cu; /* 0285C838 */ Gambit_fn_02801A78(cpu); /* 0285C83C */ cpu->r[31] = cpu->r[3]; /* 0285C83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285C840 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C840 */ _t7 = _t6 & 0x00000001u; /* 0285C840 */ if (_t7) goto L_0285C87C; else goto L_0285C844; L_0285C844: ; // 0x285c844 /* 0285C844 */ cpu->r[30] = 0x00000000u; /* 0285C848 */ _t8 = cpu->r[31] + 0x00000008u; /* 0285C848 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0285C84C */ _t9 = cpu->r[31] + 0x00000000u; /* 0285C84C */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285C850 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu; /* 0285C850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C854 */ _t10 = cpu->r[31] + 0x00000004u; /* 0285C854 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 0285C858 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C858 */ _t12 = _t11 & 0x00000001u; /* 0285C858 */ if (_t12) goto L_0285C85C; else goto L_0285C86C; L_0285C85C: ; // 0x285c85c /* 0285C85C */ cpu->r[3] = 0x00000008u; /* 0285C860 */ Gambit_fn_02801A78(cpu); /* 0285C864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285C868 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C868 */ _t14 = _t13 & 0x00000001u; /* 0285C868 */ if (_t14) goto L_0285C874; else goto L_0285C86C; L_0285C86C: ; // 0x285c86c /* 0285C86C */ _t15 = cpu->r[3] + 0x00000004u; /* 0285C86C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); /* 0285C870 */ _t16 = cpu->r[3] + 0x00000000u; /* 0285C870 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]); L_0285C874: ; // 0x285c874 /* 0285C874 */ _t17 = cpu->r[31] + 0x00000018u; /* 0285C874 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]); /* 0285C878 */ _t18 = cpu->r[31] + 0x00000014u; /* 0285C878 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]); L_0285C87C: ; // 0x285c87c /* 0285C87C */ _t19 = cpu->r[1] + 0x00000014u; /* 0285C87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 0285C880 */ cpu->r[3] = cpu->r[31]; /* 0285C884 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0285C884 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0285C888 */ cpu->lr = cpu->r[0]; /* 0285C88C */ _t21 = cpu->r[1] + 0x00000008u; /* 0285C88C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0285C890 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285C894 */ return; } // fn_0285C898 @ 0x285c898 void Gambit_fn_0285C898(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285C898: ; // 0x285c898 /* 0285C898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285C89C */ _t0 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285C89C */ _t1 = _t0 & 0x00000001u; /* 0285C89C */ if (_t1) goto L_0285C8F8; else goto L_0285C8A0; L_0285C8A0: ; // 0x285c8a0 /* 0285C8A0 */ _t2 = cpu->r[3] + 0x0000000Cu; /* 0285C8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0285C8A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]); /* 0285C8A8 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285C8A8 */ _t4 = _t3 & 0x00000001u; /* 0285C8A8 */ if (_t4) goto L_0285C8AC; else goto L_0285C8F8; L_0285C8AC: ; // 0x285c8ac /* 0285C8AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 0285C8B0 */ _t5 = cpu->r[3] + 0x00000010u; /* 0285C8B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0285C8B4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285C8B4 */ _t7 = _t6 & 0x00000001u; /* 0285C8B4 */ if (_t7) goto L_0285C8B8; else goto L_0285C8D0; L_0285C8B8: ; // 0x285c8b8 /* 0285C8B8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0285C8BC */ cpu->r[10] = cpu->r[12] + cpu->r[11]; /* 0285C8C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285C8C4 */ _t8 = cpu->r[10] + 0x00000008u; /* 0285C8C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8); /* 0285C8C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C8C8 */ _t10 = _t9 & 0x00000001u; /* 0285C8C8 */ if (_t10) goto L_0285C90C; else goto L_0285C8CC; L_0285C8CC: ; // 0x285c8cc /* 0285C8CC */ goto L_0285C8DC; L_0285C8D0: ; // 0x285c8d0 /* 0285C8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285C8D4 */ _t11 = cpu->r[12] + 0x00000008u; /* 0285C8D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11); /* 0285C8D8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C8D8 */ _t13 = _t12 & 0x00000001u; /* 0285C8D8 */ if (_t13) goto L_0285C90C; else goto L_0285C8DC; L_0285C8DC: ; // 0x285c8dc /* 0285C8DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 0285C8E0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285C8E0 */ _t15 = _t14 & 0x00000001u; /* 0285C8E0 */ if (_t15) goto L_0285C8E4; else goto L_0285C8EC; L_0285C8E4: ; // 0x285c8e4 /* 0285C8E4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0285C8E8 */ cpu->r[12] = cpu->r[12] + cpu->r[6]; L_0285C8EC: ; // 0x285c8ec /* 0285C8EC */ _t16 = cpu->r[12] + 0x0000000Cu; /* 0285C8EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0285C8F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 0285C8F4 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285C8F4 */ _t18 = _t17 & 0x00000001u; /* 0285C8F4 */ if (_t18) goto L_0285C8F8; else goto L_0285C900; L_0285C8F8: ; // 0x285c8f8 /* 0285C8F8 */ cpu->r[3] = 0x00000000u; /* 0285C8FC */ return; L_0285C900: ; // 0x285c900 /* 0285C900 */ _t19 = cpu->r[5] + 0x00000000u; /* 0285C900 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]); /* 0285C904 */ cpu->r[8] = cpu->r[0] - cpu->r[7]; /* 0285C908 */ _t20 = cpu->r[5] + 0x00000004u; /* 0285C908 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]); L_0285C90C: ; // 0x285c90c /* 0285C90C */ _t21 = cpu->r[3] + 0x00000014u; /* 0285C90C */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 0285C910 */ cpu->r[3] = cpu->r[9] + cpu->r[7]; /* 0285C914 */ return; } // fn_0285C918 @ 0x285c918 void Gambit_fn_0285C918(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57; L_0285C918: ; // 0x285c918 /* 0285C918 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285C918 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285C918 */ cpu->r[1] = _t0; /* 0285C91C */ _t1 = cpu->r[1] + 0x00000008u; /* 0285C91C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285C920 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285C920 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285C924 */ _t3 = cpu->r[3] + 0x00000004u; /* 0285C924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0285C928 */ _t4 = cpu->r[4] + 0x00000000u; /* 0285C928 */ cpu->r[9] = rbrew_read8(cpu->mem, _t4); /* 0285C92C */ cpu->r[31] = 0x00000000u; /* 0285C930 */ _t5 = cpu->r[12] + 0x00000008u; /* 0285C930 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0285C934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285C938 */ cpu->r[11] = cpu->r[31]; /* 0285C93C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C93C */ _t7 = _t6 & 0x00000001u; /* 0285C93C */ if (_t7) goto L_0285C958; else goto L_0285C940; L_0285C940: ; // 0x285c940 /* 0285C940 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[10]); /* 0285C944 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0285C948 */ cpu->r[31] = cpu->r[12] + cpu->r[9]; /* 0285C94C */ _t8 = cpu->r[4] + cpu->r[11]; /* 0285C94C */ cpu->r[9] = rbrew_read8(cpu->mem, _t8); /* 0285C950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285C954 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C954 */ _t10 = _t9 & 0x00000001u; /* 0285C954 */ if (_t10) goto L_0285C958; else goto L_0285C940; L_0285C958: ; // 0x285c958 /* 0285C958 */ _t11 = cpu->r[3] + 0x0000000Cu; /* 0285C958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 0285C95C */ cpu->r[6] = 0x00000000u; /* 0285C960 */ _t12 = cpu->r[3] + 0x00000010u; /* 0285C960 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 0285C964 */ cpu->r[7] = cpu->r[11]; L_0285C968: ; // 0x285c968 /* 0285C968 */ cpu->r[9] = cpu->r[6] + cpu->r[7]; /* 0285C96C */ /* nop */ /* 0285C970 */ cpu->r[12] = cpu->r[12]; /* 0285C974 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0285C978 */ _t13 = cpu->r[9] + cpu->r[10]; /* 0285C978 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 0285C97C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]); /* 0285C980 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285C980 */ _t15 = _t14 & 0x00000001u; /* 0285C980 */ if (_t15) goto L_0285C998; else goto L_0285C984; L_0285C984: ; // 0x285c984 /* 0285C984 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285C984 */ _t17 = _t16 & 0x00000001u; /* 0285C984 */ if (_t17) goto L_0285C988; else goto L_0285C9A8; L_0285C988: ; // 0x285c988 /* 0285C988 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]); /* 0285C98C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C98C */ _t19 = _t18 & 0x00000001u; /* 0285C98C */ if (_t19) goto L_0285C9B0; else goto L_0285C990; L_0285C990: ; // 0x285c990 /* 0285C990 */ cpu->r[6] = cpu->r[12]; /* 0285C994 */ goto L_0285C968; L_0285C998: ; // 0x285c998 /* 0285C998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]); /* 0285C99C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C99C */ _t21 = _t20 & 0x00000001u; /* 0285C99C */ if (_t21) goto L_0285C9B0; else goto L_0285C9A0; L_0285C9A0: ; // 0x285c9a0 /* 0285C9A0 */ cpu->r[7] = cpu->r[12]; /* 0285C9A4 */ goto L_0285C968; L_0285C9A8: ; // 0x285c9a8 /* 0285C9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu); /* 0285C9AC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C9AC */ _t23 = _t22 & 0x00000001u; /* 0285C9AC */ if (_t23) goto L_0285C9B0; else goto L_0285C9C4; L_0285C9B0: ; // 0x285c9b0 /* 0285C9B0 */ _t24 = cpu->r[1] + 0x00000008u; /* 0285C9B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0285C9B4 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0285C9B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0285C9B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285C9BC */ cpu->r[3] = 0xFFFFFFFFu; /* 0285C9C0 */ return; L_0285C9C4: ; // 0x285c9c4 /* 0285C9C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]); /* 0285C9C8 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285C9C8 */ _t27 = _t26 & 0x00000001u; /* 0285C9C8 */ if (_t27) goto L_0285C9CC; else goto L_0285C9E4; L_0285C9CC: ; // 0x285c9cc /* 0285C9CC */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 0285C9D0 */ cpu->r[9] = cpu->r[10] + cpu->r[9]; /* 0285C9D4 */ _t28 = cpu->r[9] + 0x00000004u; /* 0285C9D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28); /* 0285C9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285C9DC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C9DC */ _t30 = _t29 & 0x00000001u; /* 0285C9DC */ if (_t30) goto L_0285CA84; else goto L_0285C9E0; L_0285C9E0: ; // 0x285c9e0 /* 0285C9E0 */ goto L_0285C9F0; L_0285C9E4: ; // 0x285c9e4 /* 0285C9E4 */ _t31 = cpu->r[10] + 0x00000004u; /* 0285C9E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31); /* 0285C9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285C9EC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285C9EC */ _t33 = _t32 & 0x00000001u; /* 0285C9EC */ if (_t33) goto L_0285CA84; else goto L_0285C9F0; L_0285C9F0: ; // 0x285c9f0 /* 0285C9F0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000018u, 0x0000001Fu); /* 0285C9F4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 0285C9F8 */ cpu->r[12] = cpu->r[12] - cpu->r[9]; /* 0285C9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]); /* 0285CA00 */ cpu->r[8] = cpu->r[11] - cpu->r[12]; /* 0285CA04 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285CA04 */ _t35 = _t34 & 0x00000001u; /* 0285CA04 */ if (_t35) goto L_0285CA08; else goto L_0285CA84; L_0285CA08: ; // 0x285ca08 /* 0285CA08 */ cpu->r[30] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu); L_0285CA0C: ; // 0x285ca0c /* 0285CA0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]); /* 0285CA10 */ cpu->r[9] = 0x00000000u; /* 0285CA14 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285CA14 */ _t37 = _t36 & 0x00000001u; /* 0285CA14 */ if (_t37) goto L_0285CA18; else goto L_0285CA1C; L_0285CA18: ; // 0x285ca18 /* 0285CA18 */ cpu->r[9] = cpu->r[10] + cpu->r[30]; L_0285CA1C: ; // 0x285ca1c /* 0285CA1C */ _t38 = cpu->r[9] + 0x00000000u; /* 0285CA1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t38); /* 0285CA20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]); /* 0285CA24 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CA24 */ _t40 = _t39 & 0x00000001u; /* 0285CA24 */ if (_t40) goto L_0285CA28; else goto L_0285C9B0; L_0285CA28: ; // 0x285ca28 /* 0285CA28 */ _t41 = cpu->r[9] + 0x00000004u; /* 0285CA28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41); /* 0285CA2C */ _t42 = cpu->r[3] + 0x00000008u; /* 0285CA2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t42); /* 0285CA30 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu); /* 0285CA34 */ _t43 = cpu->r[3] + 0x00000014u; /* 0285CA34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43); /* 0285CA38 */ cpu->r[7] = cpu->r[5] + cpu->r[6]; /* 0285CA3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]); /* 0285CA40 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285CA40 */ _t45 = _t44 & 0x00000001u; /* 0285CA40 */ if (_t45) goto L_0285C9B0; else goto L_0285CA44; L_0285CA44: ; // 0x285ca44 /* 0285CA44 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285CA48 */ cpu->r[9] = cpu->r[5] + cpu->r[7]; /* 0285CA4C */ cpu->r[5] = cpu->r[4] + 0xFFFFFFFFu; /* 0285CA50 */ cpu->r[6] = cpu->r[9] + 0xFFFFFFFFu; L_0285CA54: ; // 0x285ca54 /* 0285CA54 */ _t46 = cpu->r[5] + 0x00000001u; /* 0285CA54 */ cpu->r[7] = rbrew_read8(cpu->mem, _t46); /* 0285CA54 */ cpu->r[5] = _t46; /* 0285CA58 */ _t47 = cpu->r[6] + 0x00000001u; /* 0285CA58 */ cpu->r[9] = rbrew_read8(cpu->mem, _t47); /* 0285CA58 */ cpu->r[6] = _t47; /* 0285CA5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]); /* 0285CA60 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CA60 */ _t49 = _t48 & 0x00000001u; /* 0285CA60 */ if (_t49) goto L_0285CA64; else goto L_0285CA6C; L_0285CA64: ; // 0x285ca64 /* 0285CA64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000000u); /* 0285CA68 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CA68 */ _t51 = _t50 & 0x00000001u; /* 0285CA68 */ if (_t51) goto L_0285CA6C; else goto L_0285CA54; L_0285CA6C: ; // 0x285ca6c /* 0285CA6C */ cpu->r[9] = cpu->r[7] - cpu->r[9]; /* 0285CA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285CA70 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CA70 */ _t53 = _t52 & 0x00000001u; /* 0285CA70 */ if (_t53) goto L_0285CA84; else goto L_0285CA74; L_0285CA74: ; // 0x285ca74 /* 0285CA74 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 0285CA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0285CA78 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0285CA7C */ cpu->r[30] = cpu->r[30] + 0x00000010u; /* 0285CA80 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CA80 */ _t55 = _t54 & 0x00000001u; /* 0285CA80 */ if (_t55) goto L_0285CA84; else goto L_0285CA0C; L_0285CA84: ; // 0x285ca84 /* 0285CA84 */ _t56 = cpu->r[1] + 0x00000008u; /* 0285CA84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56); /* 0285CA88 */ _t57 = cpu->r[1] + 0x0000000Cu; /* 0285CA88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57); /* 0285CA8C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285CA90 */ cpu->r[3] = cpu->r[12]; /* 0285CA94 */ return; } // fn_0285CA98 @ 0x285ca98 void Gambit_fn_0285CA98(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0285CA98: ; // 0x285ca98 /* 0285CA98 */ cpu->r[0] = cpu->lr; /* 0285CA9C */ _t0 = cpu->r[1] + 0x00000004u; /* 0285CA9C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285CAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285CAA4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0285CAA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285CAA4 */ cpu->r[1] = _t1; /* 0285CAA8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CAA8 */ _t3 = _t2 & 0x00000001u; /* 0285CAA8 */ if (_t3) goto L_0285CAAC; else goto L_0285CABC; L_0285CAAC: ; // 0x285caac /* 0285CAAC */ cpu->r[3] = 0x00000020u; /* 0285CAB0 */ Gambit_fn_02801A78(cpu); /* 0285CAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285CAB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CAB8 */ _t5 = _t4 & 0x00000001u; /* 0285CAB8 */ if (_t5) goto L_0285CADC; else goto L_0285CABC; L_0285CABC: ; // 0x285cabc /* 0285CABC */ cpu->r[0] = 0x00000000u; /* 0285CAC0 */ _t6 = cpu->r[3] + 0x00000010u; /* 0285CAC0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285CAC4 */ _t7 = cpu->r[3] + 0x00000008u; /* 0285CAC4 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[0]); /* 0285CAC8 */ _t8 = cpu->r[3] + 0x0000001Cu; /* 0285CAC8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0285CACC */ _t9 = cpu->r[3] + 0x0000000Cu; /* 0285CACC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0285CAD0 */ _t10 = cpu->r[3] + 0x00000004u; /* 0285CAD0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0285CAD4 */ _t11 = cpu->r[3] + 0x00000000u; /* 0285CAD4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0285CAD8 */ _t12 = cpu->r[3] + 0x0000000Au; /* 0285CAD8 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[0]); L_0285CADC: ; // 0x285cadc /* 0285CADC */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0285CADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285CAE0 */ cpu->lr = cpu->r[0]; /* 0285CAE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285CAE8 */ return; } // fn_0285CAA4 @ 0x285caa4 void Gambit_fn_0285CAA4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_0285CAA4: ; // 0x285caa4 /* 0285CAA4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0285CAA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CAA4 */ cpu->r[1] = _t0; /* 0285CAA8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CAA8 */ _t2 = _t1 & 0x00000001u; /* 0285CAA8 */ if (_t2) goto L_0285CAAC; else goto L_0285CABC; L_0285CAAC: ; // 0x285caac /* 0285CAAC */ cpu->r[3] = 0x00000020u; /* 0285CAB0 */ Gambit_fn_02801A78(cpu); /* 0285CAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285CAB8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CAB8 */ _t4 = _t3 & 0x00000001u; /* 0285CAB8 */ if (_t4) goto L_0285CADC; else goto L_0285CABC; L_0285CABC: ; // 0x285cabc /* 0285CABC */ cpu->r[0] = 0x00000000u; /* 0285CAC0 */ _t5 = cpu->r[3] + 0x00000010u; /* 0285CAC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285CAC4 */ _t6 = cpu->r[3] + 0x00000008u; /* 0285CAC4 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[0]); /* 0285CAC8 */ _t7 = cpu->r[3] + 0x0000001Cu; /* 0285CAC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285CACC */ _t8 = cpu->r[3] + 0x0000000Cu; /* 0285CACC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0285CAD0 */ _t9 = cpu->r[3] + 0x00000004u; /* 0285CAD0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0285CAD4 */ _t10 = cpu->r[3] + 0x00000000u; /* 0285CAD4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0285CAD8 */ _t11 = cpu->r[3] + 0x0000000Au; /* 0285CAD8 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[0]); L_0285CADC: ; // 0x285cadc /* 0285CADC */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0285CADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285CAE0 */ cpu->lr = cpu->r[0]; /* 0285CAE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285CAE8 */ return; } // fn_0285CAEC @ 0x285caec void Gambit_fn_0285CAEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0285CAEC: ; // 0x285caec /* 0285CAEC */ cpu->r[9] = cpu->r[4] + 0x0000001Cu; /* 0285CAF0 */ _t0 = cpu->r[3] + 0x00000000u; /* 0285CAF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[9]); /* 0285CAF4 */ _t1 = cpu->r[4] + 0x00000008u; /* 0285CAF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1); /* 0285CAF8 */ cpu->r[10] = cpu->r[4] + cpu->r[11]; /* 0285CAFC */ _t2 = cpu->r[3] + 0x00000004u; /* 0285CAFC */ rbrew_write32(cpu->mem, _t2, cpu->r[10]); /* 0285CB00 */ _t3 = cpu->r[4] + 0x00000010u; /* 0285CB00 */ cpu->r[12] = rbrew_read16(cpu->mem, _t3); /* 0285CB04 */ _t4 = cpu->r[3] + 0x00000008u; /* 0285CB04 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[12]); /* 0285CB08 */ _t5 = cpu->r[4] + 0x00000012u; /* 0285CB08 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 0285CB0C */ _t6 = cpu->r[3] + 0x0000000Au; /* 0285CB0C */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[0]); /* 0285CB10 */ _t7 = cpu->r[4] + 0x0000000Cu; /* 0285CB10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 0285CB14 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000018u); /* 0285CB18 */ cpu->r[8] = cpu->r[4] + cpu->r[9]; /* 0285CB1C */ _t8 = cpu->r[3] + 0x0000000Cu; /* 0285CB1C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 0285CB20 */ _t9 = cpu->r[4] + 0x0000000Cu; /* 0285CB20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0285CB24 */ cpu->r[0] = cpu->r[12] + cpu->r[10]; /* 0285CB28 */ cpu->r[10] = cpu->r[4] + cpu->r[0]; /* 0285CB2C */ _t10 = cpu->r[3] + 0x00000010u; /* 0285CB2C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 0285CB30 */ _t11 = cpu->r[4] + 0x00000014u; /* 0285CB30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 0285CB34 */ cpu->r[11] = cpu->r[4] + cpu->r[12]; /* 0285CB38 */ _t12 = cpu->r[3] + 0x00000014u; /* 0285CB38 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]); /* 0285CB3C */ _t13 = cpu->r[4] + 0x00000018u; /* 0285CB3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 0285CB40 */ _t14 = cpu->r[3] + 0x0000001Cu; /* 0285CB40 */ rbrew_write32(cpu->mem, _t14, cpu->r[5]); /* 0285CB44 */ cpu->r[0] = cpu->r[4] + cpu->r[8]; /* 0285CB48 */ _t15 = cpu->r[3] + 0x00000018u; /* 0285CB48 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 0285CB4C */ return; } // fn_0285CB50 @ 0x285cb50 void Gambit_fn_0285CB50(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285CB50: ; // 0x285cb50 /* 0285CB50 */ _t0 = cpu->r[3] + 0x00000008u; /* 0285CB50 */ cpu->r[11] = rbrew_read16(cpu->mem, _t0); /* 0285CB54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]); /* 0285CB58 */ cpu->r[0] = 0x00000000u; /* 0285CB5C */ _t1 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285CB5C */ _t2 = _t1 & 0x00000001u; /* 0285CB5C */ if (_t2) goto L_0285CB60; else goto L_0285CB6C; L_0285CB60: ; // 0x285cb60 /* 0285CB60 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000018u); /* 0285CB64 */ _t3 = cpu->r[3] + 0x0000000Cu; /* 0285CB64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0285CB68 */ cpu->r[0] = cpu->r[12] + cpu->r[0]; L_0285CB6C: ; // 0x285cb6c /* 0285CB6C */ cpu->r[3] = cpu->r[0]; /* 0285CB70 */ return; } // fn_0285CB74 @ 0x285cb74 void Gambit_fn_0285CB74(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0285CB74: ; // 0x285cb74 /* 0285CB74 */ _t0 = cpu->r[3] + 0x0000000Au; /* 0285CB74 */ cpu->r[0] = rbrew_read16(cpu->mem, _t0); /* 0285CB78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 0285CB7C */ cpu->r[0] = 0x00000000u; /* 0285CB80 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285CB80 */ _t2 = _t1 & 0x00000001u; /* 0285CB80 */ if (_t2) goto L_0285CB84; else goto L_0285CB94; L_0285CB84: ; // 0x285cb84 /* 0285CB84 */ _t3 = cpu->r[3] + 0x00000010u; /* 0285CB84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0285CB88 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285CB8C */ _t4 = cpu->r[11] + cpu->r[12]; /* 0285CB8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 0285CB90 */ cpu->r[0] = cpu->r[12] + cpu->r[11]; L_0285CB94: ; // 0x285cb94 /* 0285CB94 */ cpu->r[3] = cpu->r[0]; /* 0285CB98 */ return; } // fn_0285CB9C @ 0x285cb9c void Gambit_fn_0285CB9C(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0285CB9C: ; // 0x285cb9c /* 0285CB9C */ _t0 = cpu->r[3] + 0x0000001Cu; /* 0285CB9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0); /* 0285CBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285CBA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CBA4 */ _t2 = _t1 & 0x00000001u; /* 0285CBA4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285CBA4 */ goto L_0285CBA8; L_0285CBA8: ; // 0x285cba8 /* 0285CBA8 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0285CBAC */ return; } // fn_0285CBB0 @ 0x285cbb0 void Gambit_fn_0285CBB0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285CBB0: ; // 0x285cbb0 /* 0285CBB0 */ cpu->r[0] = cpu->lr; /* 0285CBB4 */ _t0 = cpu->r[1] + 0x00000004u; /* 0285CBB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285CBB8 */ cpu->r[10] = cpu->r[3]; /* 0285CBBC */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0285CBBC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285CBBC */ cpu->r[1] = _t1; /* 0285CBC0 */ Gambit_fn_0285CB9C(cpu); /* 0285CBC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285CBC8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CBC8 */ _t3 = _t2 & 0x00000001u; /* 0285CBC8 */ if (_t3) goto L_0285CC28; else goto L_0285CBCC; L_0285CBCC: ; // 0x285cbcc /* 0285CBCC */ _t4 = cpu->r[10] + 0x0000001Cu; /* 0285CBCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0285CBD0 */ _t5 = cpu->r[12] + 0x00000008u; /* 0285CBD0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t5); /* 0285CBD4 */ cpu->r[6] = 0x00000000u; /* 0285CBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]); /* 0285CBDC */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285CBDC */ _t7 = _t6 & 0x00000001u; /* 0285CBDC */ if (_t7) goto L_0285CBE0; else goto L_0285CC28; L_0285CBE0: ; // 0x285cbe0 /* 0285CBE0 */ _t8 = cpu->r[3] + 0x00000000u; /* 0285CBE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285CBE4 */ cpu->r[11] = cpu->r[0]; /* 0285CBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285CBE8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CBE8 */ _t10 = _t9 & 0x00000001u; /* 0285CBE8 */ if (_t10) goto L_0285CBF0; else goto L_0285CBEC; L_0285CBEC: ; // 0x285cbec /* 0285CBEC */ cpu->r[11] = cpu->r[3] + cpu->r[0]; L_0285CBF0: ; // 0x285cbf0 /* 0285CBF0 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu; /* 0285CBF4 */ cpu->r[7] = cpu->r[4] + 0xFFFFFFFFu; L_0285CBF8: ; // 0x285cbf8 /* 0285CBF8 */ _t11 = cpu->r[7] + 0x00000001u; /* 0285CBF8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11); /* 0285CBF8 */ cpu->r[7] = _t11; /* 0285CBFC */ _t12 = cpu->r[8] + 0x00000001u; /* 0285CBFC */ cpu->r[11] = rbrew_read8(cpu->mem, _t12); /* 0285CBFC */ cpu->r[8] = _t12; /* 0285CC00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]); /* 0285CC04 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CC04 */ _t14 = _t13 & 0x00000001u; /* 0285CC04 */ if (_t14) goto L_0285CC08; else goto L_0285CC10; L_0285CC08: ; // 0x285cc08 /* 0285CC08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000000u); /* 0285CC0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CC0C */ _t16 = _t15 & 0x00000001u; /* 0285CC0C */ if (_t16) goto L_0285CC10; else goto L_0285CBF8; L_0285CC10: ; // 0x285cc10 /* 0285CC10 */ cpu->r[12] = cpu->r[9] - cpu->r[11]; /* 0285CC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285CC14 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CC14 */ _t18 = _t17 & 0x00000001u; /* 0285CC14 */ if (_t18) goto L_0285CC2C; else goto L_0285CC18; L_0285CC18: ; // 0x285cc18 /* 0285CC18 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 0285CC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]); /* 0285CC20 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0285CC24 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285CC24 */ _t20 = _t19 & 0x00000001u; /* 0285CC24 */ if (_t20) goto L_0285CBE0; else goto L_0285CC28; L_0285CC28: ; // 0x285cc28 /* 0285CC28 */ cpu->r[3] = 0x00000000u; L_0285CC2C: ; // 0x285cc2c /* 0285CC2C */ _t21 = cpu->r[1] + 0x0000000Cu; /* 0285CC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0285CC30 */ cpu->lr = cpu->r[0]; /* 0285CC34 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285CC38 */ return; } // fn_0285CBBC @ 0x285cbbc void Gambit_fn_0285CBBC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20; L_0285CBBC: ; // 0x285cbbc /* 0285CBBC */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0285CBBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CBBC */ cpu->r[1] = _t0; /* 0285CBC0 */ Gambit_fn_0285CB9C(cpu); /* 0285CBC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285CBC8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CBC8 */ _t2 = _t1 & 0x00000001u; /* 0285CBC8 */ if (_t2) goto L_0285CC28; else goto L_0285CBCC; L_0285CBCC: ; // 0x285cbcc /* 0285CBCC */ _t3 = cpu->r[10] + 0x0000001Cu; /* 0285CBCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0285CBD0 */ _t4 = cpu->r[12] + 0x00000008u; /* 0285CBD0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t4); /* 0285CBD4 */ cpu->r[6] = 0x00000000u; /* 0285CBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]); /* 0285CBDC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285CBDC */ _t6 = _t5 & 0x00000001u; /* 0285CBDC */ if (_t6) goto L_0285CBE0; else goto L_0285CC28; L_0285CBE0: ; // 0x285cbe0 /* 0285CBE0 */ _t7 = cpu->r[3] + 0x00000000u; /* 0285CBE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285CBE4 */ cpu->r[11] = cpu->r[0]; /* 0285CBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285CBE8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CBE8 */ _t9 = _t8 & 0x00000001u; /* 0285CBE8 */ if (_t9) goto L_0285CBF0; else goto L_0285CBEC; L_0285CBEC: ; // 0x285cbec /* 0285CBEC */ cpu->r[11] = cpu->r[3] + cpu->r[0]; L_0285CBF0: ; // 0x285cbf0 /* 0285CBF0 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu; /* 0285CBF4 */ cpu->r[7] = cpu->r[4] + 0xFFFFFFFFu; L_0285CBF8: ; // 0x285cbf8 /* 0285CBF8 */ _t10 = cpu->r[7] + 0x00000001u; /* 0285CBF8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10); /* 0285CBF8 */ cpu->r[7] = _t10; /* 0285CBFC */ _t11 = cpu->r[8] + 0x00000001u; /* 0285CBFC */ cpu->r[11] = rbrew_read8(cpu->mem, _t11); /* 0285CBFC */ cpu->r[8] = _t11; /* 0285CC00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]); /* 0285CC04 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CC04 */ _t13 = _t12 & 0x00000001u; /* 0285CC04 */ if (_t13) goto L_0285CC08; else goto L_0285CC10; L_0285CC08: ; // 0x285cc08 /* 0285CC08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000000u); /* 0285CC0C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CC0C */ _t15 = _t14 & 0x00000001u; /* 0285CC0C */ if (_t15) goto L_0285CC10; else goto L_0285CBF8; L_0285CC10: ; // 0x285cc10 /* 0285CC10 */ cpu->r[12] = cpu->r[9] - cpu->r[11]; /* 0285CC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285CC14 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CC14 */ _t17 = _t16 & 0x00000001u; /* 0285CC14 */ if (_t17) goto L_0285CC2C; else goto L_0285CC18; L_0285CC18: ; // 0x285cc18 /* 0285CC18 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 0285CC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]); /* 0285CC20 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0285CC24 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285CC24 */ _t19 = _t18 & 0x00000001u; /* 0285CC24 */ if (_t19) goto L_0285CBE0; else goto L_0285CC28; L_0285CC28: ; // 0x285cc28 /* 0285CC28 */ cpu->r[3] = 0x00000000u; L_0285CC2C: ; // 0x285cc2c /* 0285CC2C */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0285CC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0285CC30 */ cpu->lr = cpu->r[0]; /* 0285CC34 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285CC38 */ return; } // fn_0285CC3C @ 0x285cc3c void Gambit_fn_0285CC3C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119; L_0285CC3C: ; // 0x285cc3c /* 0285CC3C */ cpu->r[0] = cpu->lr; /* 0285CC40 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285CC40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CC40 */ cpu->r[1] = _t0; /* 0285CC44 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285CC44 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0285CC48 */ /* nop */ /* 0285CC4C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285CC4C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285CC50 */ _t3 = cpu->r[1] + 0x00000018u; /* 0285CC50 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 0285CC54 */ cpu->r[31] = cpu->r[3]; /* 0285CC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285CC58 */ _t4 = cpu->r[1] + 0x00000024u; /* 0285CC58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285CC5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CC5C */ _t6 = _t5 & 0x00000001u; /* 0285CC5C */ if (_t6) goto L_0285CC60; else goto L_0285CC70; L_0285CC60: ; // 0x285cc60 /* 0285CC60 */ cpu->r[3] = 0x000000C8u; /* 0285CC64 */ Gambit_fn_02801A78(cpu); /* 0285CC68 */ cpu->r[31] = cpu->r[3]; /* 0285CC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285CC6C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CC6C */ _t8 = _t7 & 0x00000001u; /* 0285CC6C */ if (_t8) goto L_0285CE78; else goto L_0285CC70; L_0285CC70: ; // 0x285cc70 /* 0285CC70 */ cpu->r[10] = 0x10130000u; /* 0285CC74 */ cpu->r[4] = 0x00000000u; /* 0285CC78 */ _t9 = cpu->r[10] + 0x00004D6Cu; /* 0285CC78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9); /* 0285CC7C */ cpu->r[5] = 0x10130000u; /* 0285CC80 */ _t10 = cpu->r[31] + 0x000000B8u; /* 0285CC80 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]); /* 0285CC84 */ cpu->r[5] = cpu->r[5] + 0x00004D74u; /* 0285CC88 */ _t11 = cpu->r[31] + 0x000000B3u; /* 0285CC88 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[4]); /* 0285CC8C */ _t12 = cpu->r[31] + 0x000000C4u; /* 0285CC8C */ rbrew_write32(cpu->mem, _t12, cpu->r[5]); /* 0285CC90 */ _t13 = cpu->r[31] + 0x000000B6u; /* 0285CC90 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[4]); /* 0285CC94 */ _t14 = cpu->r[31] + 0x000000B4u; /* 0285CC94 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[4]); /* 0285CC98 */ _t15 = cpu->r[31] + 0x000000A4u; /* 0285CC98 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]); /* 0285CC9C */ _t16 = cpu->r[31] + 0x000000ACu; /* 0285CC9C */ rbrew_write32(cpu->mem, _t16, cpu->r[4]); /* 0285CCA0 */ _t17 = cpu->r[31] + 0x000000A0u; /* 0285CCA0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]); /* 0285CCA4 */ _t18 = cpu->r[31] + 0x000000B5u; /* 0285CCA4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[4]); /* 0285CCA8 */ cpu->r[5] = 0x00000001u; /* 0285CCAC */ _t19 = cpu->r[31] + 0x000000BCu; /* 0285CCAC */ rbrew_write32(cpu->mem, _t19, cpu->r[4]); /* 0285CCB0 */ _t20 = cpu->r[31] + 0x000000B7u; /* 0285CCB0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[4]); /* 0285CCB4 */ cpu->r[3] = cpu->r[31] + 0x000000C0u; /* 0285CCB8 */ _t21 = cpu->r[31] + 0x000000A8u; /* 0285CCB8 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]); /* 0285CCBC */ rbrew_dispatch(cpu, 0x02d0b880u); /* 0285CCC0 */ cpu->r[11] = 0x101D0000u; /* 0285CCC4 */ cpu->r[12] = 0x101D0000u; /* 0285CCC8 */ _t22 = cpu->r[11] + 0xFFFFD558u; /* 0285CCC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22); /* 0285CCC8 */ cpu->r[11] = _t22; /* 0285CCCC */ cpu->r[7] = 0x10130000u; /* 0285CCD0 */ cpu->r[12] = cpu->r[12] + 0x00001744u; /* 0285CCD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285CCD8 */ _t23 = cpu->r[7] + 0x00004D70u; /* 0285CCD8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23); /* 0285CCDC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CCDC */ _t25 = _t24 & 0x00000001u; /* 0285CCDC */ if (_t25) goto L_0285CCE0; else goto L_0285CD28; L_0285CCE0: ; // 0x285cce0 /* 0285CCE0 */ _t26 = cpu->r[12] + 0x00000004u; /* 0285CCE0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]); /* 0285CCE4 */ cpu->r[6] = 0x00000001u; /* 0285CCE8 */ _t27 = cpu->r[12] + 0x0000001Cu; /* 0285CCE8 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]); /* 0285CCEC */ _t28 = cpu->r[11] + 0x00000000u; /* 0285CCEC */ rbrew_write32(cpu->mem, _t28, cpu->r[6]); /* 0285CCF0 */ _t29 = cpu->r[12] + 0x00000010u; /* 0285CCF0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]); /* 0285CCF4 */ _t30 = cpu->r[12] + 0x00000000u; /* 0285CCF4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]); /* 0285CCF8 */ _t31 = cpu->r[12] + 0x00000014u; /* 0285CCF8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]); /* 0285CCFC */ _t32 = cpu->r[12] + 0x00000020u; /* 0285CCFC */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]); /* 0285CD00 */ _t33 = cpu->r[12] + 0x00000030u; /* 0285CD00 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]); /* 0285CD04 */ _t34 = cpu->r[12] + 0x00000038u; /* 0285CD04 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]); /* 0285CD08 */ _t35 = cpu->r[12] + 0x00000028u; /* 0285CD08 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[31]); /* 0285CD0C */ _t36 = cpu->r[12] + 0x0000003Cu; /* 0285CD0C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]); /* 0285CD10 */ _t37 = cpu->r[12] + 0x0000000Cu; /* 0285CD10 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]); /* 0285CD14 */ _t38 = cpu->r[12] + 0x00000008u; /* 0285CD14 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]); /* 0285CD18 */ _t39 = cpu->r[12] + 0x00000018u; /* 0285CD18 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]); /* 0285CD1C */ _t40 = cpu->r[12] + 0x00000024u; /* 0285CD1C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]); /* 0285CD20 */ _t41 = cpu->r[12] + 0x0000002Cu; /* 0285CD20 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]); /* 0285CD24 */ _t42 = cpu->r[12] + 0x00000034u; /* 0285CD24 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]); L_0285CD28: ; // 0x285cd28 /* 0285CD28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]); /* 0285CD2C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CD2C */ _t44 = _t43 & 0x00000001u; /* 0285CD2C */ if (_t44) goto L_0285CD64; else goto L_0285CD30; L_0285CD30: ; // 0x285cd30 /* 0285CD30 */ cpu->r[9] = 0x00000004u; /* 0285CD34 */ cpu->r[7] = cpu->r[12] + 0xFFFFFFFCu; /* 0285CD38 */ cpu->ctr = cpu->r[9]; /* 0285CD3C */ cpu->r[8] = cpu->r[31] + 0xFFFFFFFCu; L_0285CD40: ; // 0x285cd40 /* 0285CD40 */ _t45 = cpu->r[7] + 0x00000004u; /* 0285CD40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45); /* 0285CD44 */ _t46 = cpu->r[8] + 0x00000004u; /* 0285CD44 */ rbrew_write32(cpu->mem, _t46, cpu->r[10]); /* 0285CD48 */ _t47 = cpu->r[7] + 0x00000008u; /* 0285CD48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47); /* 0285CD4C */ _t48 = cpu->r[8] + 0x00000008u; /* 0285CD4C */ rbrew_write32(cpu->mem, _t48, cpu->r[11]); /* 0285CD50 */ _t49 = cpu->r[7] + 0x0000000Cu; /* 0285CD50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49); /* 0285CD54 */ _t50 = cpu->r[8] + 0x0000000Cu; /* 0285CD54 */ rbrew_write32(cpu->mem, _t50, cpu->r[12]); /* 0285CD58 */ _t51 = cpu->r[7] + 0x00000010u; /* 0285CD58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 0285CD58 */ cpu->r[7] = _t51; /* 0285CD5C */ _t52 = cpu->r[8] + 0x00000010u; /* 0285CD5C */ rbrew_write32(cpu->mem, _t52, cpu->r[0]); /* 0285CD5C */ cpu->r[8] = _t52; /* 0285CD60 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285CD60 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285CD60 */ _t54 = _t53 >> (0x00000002u & 31u); /* 0285CD60 */ _t55 = _t54 & 0x00000001u; /* 0285CD60 */ if (_t55) goto L_0285CD40; else goto L_0285CD64; L_0285CD64: ; // 0x285cd64 /* 0285CD64 */ cpu->r[4] = 0x101D0000u; /* 0285CD68 */ _t56 = cpu->r[4] + 0xFFFFD554u; /* 0285CD68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56); /* 0285CD68 */ cpu->r[4] = _t56; /* 0285CD6C */ cpu->r[11] = 0x101D0000u; /* 0285CD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285CD74 */ cpu->r[11] = cpu->r[11] + 0x00000EE4u; /* 0285CD78 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CD78 */ _t58 = _t57 & 0x00000001u; /* 0285CD78 */ if (_t58) goto L_0285CD7C; else goto L_0285CDB4; L_0285CD7C: ; // 0x285cd7c /* 0285CD7C */ _t59 = cpu->r[11] + 0x00000004u; /* 0285CD7C */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]); /* 0285CD80 */ cpu->r[6] = 0x00000001u; /* 0285CD84 */ _t60 = cpu->r[11] + 0x00000014u; /* 0285CD84 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[31]); /* 0285CD88 */ _t61 = cpu->r[4] + 0x00000000u; /* 0285CD88 */ rbrew_write32(cpu->mem, _t61, cpu->r[6]); /* 0285CD8C */ _t62 = cpu->r[11] + 0x0000000Cu; /* 0285CD8C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]); /* 0285CD90 */ _t63 = cpu->r[11] + 0x00000000u; /* 0285CD90 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[31]); /* 0285CD94 */ _t64 = cpu->r[11] + 0x00000010u; /* 0285CD94 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]); /* 0285CD98 */ _t65 = cpu->r[11] + 0x00000018u; /* 0285CD98 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[0]); /* 0285CD9C */ _t66 = cpu->r[11] + 0x00000024u; /* 0285CD9C */ rbrew_write_f32(cpu->mem, _t66, cpu->f[0]); /* 0285CDA0 */ _t67 = cpu->r[11] + 0x00000028u; /* 0285CDA0 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]); /* 0285CDA4 */ _t68 = cpu->r[11] + 0x0000001Cu; /* 0285CDA4 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]); /* 0285CDA8 */ _t69 = cpu->r[11] + 0x0000002Cu; /* 0285CDA8 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[0]); /* 0285CDAC */ _t70 = cpu->r[11] + 0x00000020u; /* 0285CDAC */ rbrew_write_f32(cpu->mem, _t70, cpu->f[0]); /* 0285CDB0 */ _t71 = cpu->r[11] + 0x00000008u; /* 0285CDB0 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[0]); L_0285CDB4: ; // 0x285cdb4 /* 0285CDB4 */ cpu->r[7] = cpu->r[31] + 0x00000040u; /* 0285CDB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[7]); /* 0285CDBC */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CDBC */ _t73 = _t72 & 0x00000001u; /* 0285CDBC */ if (_t73) goto L_0285CE38; else goto L_0285CDC0; L_0285CDC0: ; // 0x285cdc0 /* 0285CDC0 */ cpu->r[10] = 0x00000003u; /* 0285CDC4 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFCu; /* 0285CDC8 */ cpu->ctr = cpu->r[10]; /* 0285CDCC */ cpu->r[9] = cpu->r[31] + 0x0000003Cu; L_0285CDD0: ; // 0x285cdd0 /* 0285CDD0 */ _t74 = cpu->r[8] + 0x00000004u; /* 0285CDD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74); /* 0285CDD4 */ _t75 = cpu->r[9] + 0x00000004u; /* 0285CDD4 */ rbrew_write32(cpu->mem, _t75, cpu->r[12]); /* 0285CDD8 */ _t76 = cpu->r[8] + 0x00000008u; /* 0285CDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76); /* 0285CDDC */ _t77 = cpu->r[9] + 0x00000008u; /* 0285CDDC */ rbrew_write32(cpu->mem, _t77, cpu->r[0]); /* 0285CDE0 */ _t78 = cpu->r[8] + 0x0000000Cu; /* 0285CDE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t78); /* 0285CDE4 */ _t79 = cpu->r[9] + 0x0000000Cu; /* 0285CDE4 */ rbrew_write32(cpu->mem, _t79, cpu->r[5]); /* 0285CDE8 */ _t80 = cpu->r[8] + 0x00000010u; /* 0285CDE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t80); /* 0285CDE8 */ cpu->r[8] = _t80; /* 0285CDEC */ _t81 = cpu->r[9] + 0x00000010u; /* 0285CDEC */ rbrew_write32(cpu->mem, _t81, cpu->r[6]); /* 0285CDEC */ cpu->r[9] = _t81; /* 0285CDF0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285CDF0 */ _t82 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285CDF0 */ _t83 = _t82 >> (0x00000002u & 31u); /* 0285CDF0 */ _t84 = _t83 & 0x00000001u; /* 0285CDF0 */ if (_t84) goto L_0285CDD0; else goto L_0285CDF4; L_0285CDF4: ; // 0x285cdf4 /* 0285CDF4 */ _t85 = cpu->r[4] + 0x00000000u; /* 0285CDF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85); /* 0285CDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0285CDFC */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CDFC */ _t87 = _t86 & 0x00000001u; /* 0285CDFC */ if (_t87) goto L_0285CE00; else goto L_0285CE38; L_0285CE00: ; // 0x285ce00 /* 0285CE00 */ _t88 = cpu->r[11] + 0x00000004u; /* 0285CE00 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[0]); /* 0285CE04 */ cpu->r[9] = 0x00000001u; /* 0285CE08 */ _t89 = cpu->r[11] + 0x00000014u; /* 0285CE08 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[31]); /* 0285CE0C */ _t90 = cpu->r[4] + 0x00000000u; /* 0285CE0C */ rbrew_write32(cpu->mem, _t90, cpu->r[9]); /* 0285CE10 */ _t91 = cpu->r[11] + 0x0000000Cu; /* 0285CE10 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[0]); /* 0285CE14 */ _t92 = cpu->r[11] + 0x00000000u; /* 0285CE14 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[31]); /* 0285CE18 */ _t93 = cpu->r[11] + 0x00000010u; /* 0285CE18 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[0]); /* 0285CE1C */ _t94 = cpu->r[11] + 0x00000018u; /* 0285CE1C */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]); /* 0285CE20 */ _t95 = cpu->r[11] + 0x00000024u; /* 0285CE20 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[0]); /* 0285CE24 */ _t96 = cpu->r[11] + 0x00000028u; /* 0285CE24 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[31]); /* 0285CE28 */ _t97 = cpu->r[11] + 0x0000001Cu; /* 0285CE28 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[0]); /* 0285CE2C */ _t98 = cpu->r[11] + 0x0000002Cu; /* 0285CE2C */ rbrew_write_f32(cpu->mem, _t98, cpu->f[0]); /* 0285CE30 */ _t99 = cpu->r[11] + 0x00000020u; /* 0285CE30 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[0]); /* 0285CE34 */ _t100 = cpu->r[11] + 0x00000008u; /* 0285CE34 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[0]); L_0285CE38: ; // 0x285ce38 /* 0285CE38 */ cpu->r[0] = cpu->r[31] + 0x00000070u; /* 0285CE3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 0285CE40 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CE40 */ _t102 = _t101 & 0x00000001u; /* 0285CE40 */ if (_t102) goto L_0285CE78; else goto L_0285CE44; L_0285CE44: ; // 0x285ce44 /* 0285CE44 */ cpu->r[6] = 0x00000003u; /* 0285CE48 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFCu; /* 0285CE4C */ cpu->ctr = cpu->r[6]; /* 0285CE50 */ cpu->r[5] = cpu->r[31] + 0x0000006Cu; L_0285CE54: ; // 0x285ce54 /* 0285CE54 */ _t103 = cpu->r[12] + 0x00000004u; /* 0285CE54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103); /* 0285CE58 */ _t104 = cpu->r[5] + 0x00000004u; /* 0285CE58 */ rbrew_write32(cpu->mem, _t104, cpu->r[7]); /* 0285CE5C */ _t105 = cpu->r[12] + 0x00000008u; /* 0285CE5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t105); /* 0285CE60 */ _t106 = cpu->r[5] + 0x00000008u; /* 0285CE60 */ rbrew_write32(cpu->mem, _t106, cpu->r[8]); /* 0285CE64 */ _t107 = cpu->r[12] + 0x0000000Cu; /* 0285CE64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t107); /* 0285CE68 */ _t108 = cpu->r[5] + 0x0000000Cu; /* 0285CE68 */ rbrew_write32(cpu->mem, _t108, cpu->r[9]); /* 0285CE6C */ _t109 = cpu->r[12] + 0x00000010u; /* 0285CE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t109); /* 0285CE6C */ cpu->r[12] = _t109; /* 0285CE70 */ _t110 = cpu->r[5] + 0x00000010u; /* 0285CE70 */ rbrew_write32(cpu->mem, _t110, cpu->r[0]); /* 0285CE70 */ cpu->r[5] = _t110; /* 0285CE74 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285CE74 */ _t111 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285CE74 */ _t112 = _t111 >> (0x00000002u & 31u); /* 0285CE74 */ _t113 = _t112 & 0x00000001u; /* 0285CE74 */ if (_t113) goto L_0285CE54; else goto L_0285CE78; L_0285CE78: ; // 0x285ce78 /* 0285CE78 */ _t114 = cpu->r[1] + 0x00000018u; /* 0285CE78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t114); /* 0285CE7C */ cpu->r[3] = cpu->r[31]; /* 0285CE80 */ _t115 = cpu->r[1] + 0x0000000Cu; /* 0285CE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t115); /* 0285CE84 */ _t116 = cpu->r[1] + 0x00000010u; /* 0285CE84 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t116); /* 0285CE88 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285CE88 */ _t118 = _t117 & 0x00000001u; /* 0285CE88 */ if (_t118) goto L_0285CE8C; // else: addr-0 trap, fall-through L_0285CE8C: ; // 0x285ce8c /* 0285CE8C */ _t119 = cpu->r[1] + 0x00000024u; /* 0285CE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t119); /* 0285CE90 */ cpu->lr = cpu->r[0]; /* 0285CE94 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285CE98 */ return; } // fn_0285CC40 @ 0x285cc40 void Gambit_fn_0285CC40(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119; L_0285CC40: ; // 0x285cc40 /* 0285CC40 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285CC40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CC40 */ cpu->r[1] = _t0; /* 0285CC44 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285CC44 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0285CC48 */ /* nop */ /* 0285CC4C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285CC4C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285CC50 */ _t3 = cpu->r[1] + 0x00000018u; /* 0285CC50 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 0285CC54 */ cpu->r[31] = cpu->r[3]; /* 0285CC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285CC58 */ _t4 = cpu->r[1] + 0x00000024u; /* 0285CC58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285CC5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CC5C */ _t6 = _t5 & 0x00000001u; /* 0285CC5C */ if (_t6) goto L_0285CC60; else goto L_0285CC70; L_0285CC60: ; // 0x285cc60 /* 0285CC60 */ cpu->r[3] = 0x000000C8u; /* 0285CC64 */ Gambit_fn_02801A78(cpu); /* 0285CC68 */ cpu->r[31] = cpu->r[3]; /* 0285CC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285CC6C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CC6C */ _t8 = _t7 & 0x00000001u; /* 0285CC6C */ if (_t8) goto L_0285CE78; else goto L_0285CC70; L_0285CC70: ; // 0x285cc70 /* 0285CC70 */ cpu->r[10] = 0x10130000u; /* 0285CC74 */ cpu->r[4] = 0x00000000u; /* 0285CC78 */ _t9 = cpu->r[10] + 0x00004D6Cu; /* 0285CC78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9); /* 0285CC7C */ cpu->r[5] = 0x10130000u; /* 0285CC80 */ _t10 = cpu->r[31] + 0x000000B8u; /* 0285CC80 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]); /* 0285CC84 */ cpu->r[5] = cpu->r[5] + 0x00004D74u; /* 0285CC88 */ _t11 = cpu->r[31] + 0x000000B3u; /* 0285CC88 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[4]); /* 0285CC8C */ _t12 = cpu->r[31] + 0x000000C4u; /* 0285CC8C */ rbrew_write32(cpu->mem, _t12, cpu->r[5]); /* 0285CC90 */ _t13 = cpu->r[31] + 0x000000B6u; /* 0285CC90 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[4]); /* 0285CC94 */ _t14 = cpu->r[31] + 0x000000B4u; /* 0285CC94 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[4]); /* 0285CC98 */ _t15 = cpu->r[31] + 0x000000A4u; /* 0285CC98 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]); /* 0285CC9C */ _t16 = cpu->r[31] + 0x000000ACu; /* 0285CC9C */ rbrew_write32(cpu->mem, _t16, cpu->r[4]); /* 0285CCA0 */ _t17 = cpu->r[31] + 0x000000A0u; /* 0285CCA0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]); /* 0285CCA4 */ _t18 = cpu->r[31] + 0x000000B5u; /* 0285CCA4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[4]); /* 0285CCA8 */ cpu->r[5] = 0x00000001u; /* 0285CCAC */ _t19 = cpu->r[31] + 0x000000BCu; /* 0285CCAC */ rbrew_write32(cpu->mem, _t19, cpu->r[4]); /* 0285CCB0 */ _t20 = cpu->r[31] + 0x000000B7u; /* 0285CCB0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[4]); /* 0285CCB4 */ cpu->r[3] = cpu->r[31] + 0x000000C0u; /* 0285CCB8 */ _t21 = cpu->r[31] + 0x000000A8u; /* 0285CCB8 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]); /* 0285CCBC */ rbrew_dispatch(cpu, 0x02d0b880u); /* 0285CCC0 */ cpu->r[11] = 0x101D0000u; /* 0285CCC4 */ cpu->r[12] = 0x101D0000u; /* 0285CCC8 */ _t22 = cpu->r[11] + 0xFFFFD558u; /* 0285CCC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22); /* 0285CCC8 */ cpu->r[11] = _t22; /* 0285CCCC */ cpu->r[7] = 0x10130000u; /* 0285CCD0 */ cpu->r[12] = cpu->r[12] + 0x00001744u; /* 0285CCD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285CCD8 */ _t23 = cpu->r[7] + 0x00004D70u; /* 0285CCD8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23); /* 0285CCDC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CCDC */ _t25 = _t24 & 0x00000001u; /* 0285CCDC */ if (_t25) goto L_0285CCE0; else goto L_0285CD28; L_0285CCE0: ; // 0x285cce0 /* 0285CCE0 */ _t26 = cpu->r[12] + 0x00000004u; /* 0285CCE0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]); /* 0285CCE4 */ cpu->r[6] = 0x00000001u; /* 0285CCE8 */ _t27 = cpu->r[12] + 0x0000001Cu; /* 0285CCE8 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]); /* 0285CCEC */ _t28 = cpu->r[11] + 0x00000000u; /* 0285CCEC */ rbrew_write32(cpu->mem, _t28, cpu->r[6]); /* 0285CCF0 */ _t29 = cpu->r[12] + 0x00000010u; /* 0285CCF0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]); /* 0285CCF4 */ _t30 = cpu->r[12] + 0x00000000u; /* 0285CCF4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]); /* 0285CCF8 */ _t31 = cpu->r[12] + 0x00000014u; /* 0285CCF8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]); /* 0285CCFC */ _t32 = cpu->r[12] + 0x00000020u; /* 0285CCFC */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]); /* 0285CD00 */ _t33 = cpu->r[12] + 0x00000030u; /* 0285CD00 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]); /* 0285CD04 */ _t34 = cpu->r[12] + 0x00000038u; /* 0285CD04 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]); /* 0285CD08 */ _t35 = cpu->r[12] + 0x00000028u; /* 0285CD08 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[31]); /* 0285CD0C */ _t36 = cpu->r[12] + 0x0000003Cu; /* 0285CD0C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]); /* 0285CD10 */ _t37 = cpu->r[12] + 0x0000000Cu; /* 0285CD10 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]); /* 0285CD14 */ _t38 = cpu->r[12] + 0x00000008u; /* 0285CD14 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]); /* 0285CD18 */ _t39 = cpu->r[12] + 0x00000018u; /* 0285CD18 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]); /* 0285CD1C */ _t40 = cpu->r[12] + 0x00000024u; /* 0285CD1C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]); /* 0285CD20 */ _t41 = cpu->r[12] + 0x0000002Cu; /* 0285CD20 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]); /* 0285CD24 */ _t42 = cpu->r[12] + 0x00000034u; /* 0285CD24 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]); L_0285CD28: ; // 0x285cd28 /* 0285CD28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]); /* 0285CD2C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CD2C */ _t44 = _t43 & 0x00000001u; /* 0285CD2C */ if (_t44) goto L_0285CD64; else goto L_0285CD30; L_0285CD30: ; // 0x285cd30 /* 0285CD30 */ cpu->r[9] = 0x00000004u; /* 0285CD34 */ cpu->r[7] = cpu->r[12] + 0xFFFFFFFCu; /* 0285CD38 */ cpu->ctr = cpu->r[9]; /* 0285CD3C */ cpu->r[8] = cpu->r[31] + 0xFFFFFFFCu; L_0285CD40: ; // 0x285cd40 /* 0285CD40 */ _t45 = cpu->r[7] + 0x00000004u; /* 0285CD40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45); /* 0285CD44 */ _t46 = cpu->r[8] + 0x00000004u; /* 0285CD44 */ rbrew_write32(cpu->mem, _t46, cpu->r[10]); /* 0285CD48 */ _t47 = cpu->r[7] + 0x00000008u; /* 0285CD48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47); /* 0285CD4C */ _t48 = cpu->r[8] + 0x00000008u; /* 0285CD4C */ rbrew_write32(cpu->mem, _t48, cpu->r[11]); /* 0285CD50 */ _t49 = cpu->r[7] + 0x0000000Cu; /* 0285CD50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49); /* 0285CD54 */ _t50 = cpu->r[8] + 0x0000000Cu; /* 0285CD54 */ rbrew_write32(cpu->mem, _t50, cpu->r[12]); /* 0285CD58 */ _t51 = cpu->r[7] + 0x00000010u; /* 0285CD58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 0285CD58 */ cpu->r[7] = _t51; /* 0285CD5C */ _t52 = cpu->r[8] + 0x00000010u; /* 0285CD5C */ rbrew_write32(cpu->mem, _t52, cpu->r[0]); /* 0285CD5C */ cpu->r[8] = _t52; /* 0285CD60 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285CD60 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285CD60 */ _t54 = _t53 >> (0x00000002u & 31u); /* 0285CD60 */ _t55 = _t54 & 0x00000001u; /* 0285CD60 */ if (_t55) goto L_0285CD40; else goto L_0285CD64; L_0285CD64: ; // 0x285cd64 /* 0285CD64 */ cpu->r[4] = 0x101D0000u; /* 0285CD68 */ _t56 = cpu->r[4] + 0xFFFFD554u; /* 0285CD68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56); /* 0285CD68 */ cpu->r[4] = _t56; /* 0285CD6C */ cpu->r[11] = 0x101D0000u; /* 0285CD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285CD74 */ cpu->r[11] = cpu->r[11] + 0x00000EE4u; /* 0285CD78 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CD78 */ _t58 = _t57 & 0x00000001u; /* 0285CD78 */ if (_t58) goto L_0285CD7C; else goto L_0285CDB4; L_0285CD7C: ; // 0x285cd7c /* 0285CD7C */ _t59 = cpu->r[11] + 0x00000004u; /* 0285CD7C */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]); /* 0285CD80 */ cpu->r[6] = 0x00000001u; /* 0285CD84 */ _t60 = cpu->r[11] + 0x00000014u; /* 0285CD84 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[31]); /* 0285CD88 */ _t61 = cpu->r[4] + 0x00000000u; /* 0285CD88 */ rbrew_write32(cpu->mem, _t61, cpu->r[6]); /* 0285CD8C */ _t62 = cpu->r[11] + 0x0000000Cu; /* 0285CD8C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]); /* 0285CD90 */ _t63 = cpu->r[11] + 0x00000000u; /* 0285CD90 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[31]); /* 0285CD94 */ _t64 = cpu->r[11] + 0x00000010u; /* 0285CD94 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]); /* 0285CD98 */ _t65 = cpu->r[11] + 0x00000018u; /* 0285CD98 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[0]); /* 0285CD9C */ _t66 = cpu->r[11] + 0x00000024u; /* 0285CD9C */ rbrew_write_f32(cpu->mem, _t66, cpu->f[0]); /* 0285CDA0 */ _t67 = cpu->r[11] + 0x00000028u; /* 0285CDA0 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]); /* 0285CDA4 */ _t68 = cpu->r[11] + 0x0000001Cu; /* 0285CDA4 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]); /* 0285CDA8 */ _t69 = cpu->r[11] + 0x0000002Cu; /* 0285CDA8 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[0]); /* 0285CDAC */ _t70 = cpu->r[11] + 0x00000020u; /* 0285CDAC */ rbrew_write_f32(cpu->mem, _t70, cpu->f[0]); /* 0285CDB0 */ _t71 = cpu->r[11] + 0x00000008u; /* 0285CDB0 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[0]); L_0285CDB4: ; // 0x285cdb4 /* 0285CDB4 */ cpu->r[7] = cpu->r[31] + 0x00000040u; /* 0285CDB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[7]); /* 0285CDBC */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CDBC */ _t73 = _t72 & 0x00000001u; /* 0285CDBC */ if (_t73) goto L_0285CE38; else goto L_0285CDC0; L_0285CDC0: ; // 0x285cdc0 /* 0285CDC0 */ cpu->r[10] = 0x00000003u; /* 0285CDC4 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFCu; /* 0285CDC8 */ cpu->ctr = cpu->r[10]; /* 0285CDCC */ cpu->r[9] = cpu->r[31] + 0x0000003Cu; L_0285CDD0: ; // 0x285cdd0 /* 0285CDD0 */ _t74 = cpu->r[8] + 0x00000004u; /* 0285CDD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74); /* 0285CDD4 */ _t75 = cpu->r[9] + 0x00000004u; /* 0285CDD4 */ rbrew_write32(cpu->mem, _t75, cpu->r[12]); /* 0285CDD8 */ _t76 = cpu->r[8] + 0x00000008u; /* 0285CDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76); /* 0285CDDC */ _t77 = cpu->r[9] + 0x00000008u; /* 0285CDDC */ rbrew_write32(cpu->mem, _t77, cpu->r[0]); /* 0285CDE0 */ _t78 = cpu->r[8] + 0x0000000Cu; /* 0285CDE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t78); /* 0285CDE4 */ _t79 = cpu->r[9] + 0x0000000Cu; /* 0285CDE4 */ rbrew_write32(cpu->mem, _t79, cpu->r[5]); /* 0285CDE8 */ _t80 = cpu->r[8] + 0x00000010u; /* 0285CDE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t80); /* 0285CDE8 */ cpu->r[8] = _t80; /* 0285CDEC */ _t81 = cpu->r[9] + 0x00000010u; /* 0285CDEC */ rbrew_write32(cpu->mem, _t81, cpu->r[6]); /* 0285CDEC */ cpu->r[9] = _t81; /* 0285CDF0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285CDF0 */ _t82 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285CDF0 */ _t83 = _t82 >> (0x00000002u & 31u); /* 0285CDF0 */ _t84 = _t83 & 0x00000001u; /* 0285CDF0 */ if (_t84) goto L_0285CDD0; else goto L_0285CDF4; L_0285CDF4: ; // 0x285cdf4 /* 0285CDF4 */ _t85 = cpu->r[4] + 0x00000000u; /* 0285CDF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85); /* 0285CDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0285CDFC */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CDFC */ _t87 = _t86 & 0x00000001u; /* 0285CDFC */ if (_t87) goto L_0285CE00; else goto L_0285CE38; L_0285CE00: ; // 0x285ce00 /* 0285CE00 */ _t88 = cpu->r[11] + 0x00000004u; /* 0285CE00 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[0]); /* 0285CE04 */ cpu->r[9] = 0x00000001u; /* 0285CE08 */ _t89 = cpu->r[11] + 0x00000014u; /* 0285CE08 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[31]); /* 0285CE0C */ _t90 = cpu->r[4] + 0x00000000u; /* 0285CE0C */ rbrew_write32(cpu->mem, _t90, cpu->r[9]); /* 0285CE10 */ _t91 = cpu->r[11] + 0x0000000Cu; /* 0285CE10 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[0]); /* 0285CE14 */ _t92 = cpu->r[11] + 0x00000000u; /* 0285CE14 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[31]); /* 0285CE18 */ _t93 = cpu->r[11] + 0x00000010u; /* 0285CE18 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[0]); /* 0285CE1C */ _t94 = cpu->r[11] + 0x00000018u; /* 0285CE1C */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]); /* 0285CE20 */ _t95 = cpu->r[11] + 0x00000024u; /* 0285CE20 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[0]); /* 0285CE24 */ _t96 = cpu->r[11] + 0x00000028u; /* 0285CE24 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[31]); /* 0285CE28 */ _t97 = cpu->r[11] + 0x0000001Cu; /* 0285CE28 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[0]); /* 0285CE2C */ _t98 = cpu->r[11] + 0x0000002Cu; /* 0285CE2C */ rbrew_write_f32(cpu->mem, _t98, cpu->f[0]); /* 0285CE30 */ _t99 = cpu->r[11] + 0x00000020u; /* 0285CE30 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[0]); /* 0285CE34 */ _t100 = cpu->r[11] + 0x00000008u; /* 0285CE34 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[0]); L_0285CE38: ; // 0x285ce38 /* 0285CE38 */ cpu->r[0] = cpu->r[31] + 0x00000070u; /* 0285CE3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 0285CE40 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CE40 */ _t102 = _t101 & 0x00000001u; /* 0285CE40 */ if (_t102) goto L_0285CE78; else goto L_0285CE44; L_0285CE44: ; // 0x285ce44 /* 0285CE44 */ cpu->r[6] = 0x00000003u; /* 0285CE48 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFCu; /* 0285CE4C */ cpu->ctr = cpu->r[6]; /* 0285CE50 */ cpu->r[5] = cpu->r[31] + 0x0000006Cu; L_0285CE54: ; // 0x285ce54 /* 0285CE54 */ _t103 = cpu->r[12] + 0x00000004u; /* 0285CE54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103); /* 0285CE58 */ _t104 = cpu->r[5] + 0x00000004u; /* 0285CE58 */ rbrew_write32(cpu->mem, _t104, cpu->r[7]); /* 0285CE5C */ _t105 = cpu->r[12] + 0x00000008u; /* 0285CE5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t105); /* 0285CE60 */ _t106 = cpu->r[5] + 0x00000008u; /* 0285CE60 */ rbrew_write32(cpu->mem, _t106, cpu->r[8]); /* 0285CE64 */ _t107 = cpu->r[12] + 0x0000000Cu; /* 0285CE64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t107); /* 0285CE68 */ _t108 = cpu->r[5] + 0x0000000Cu; /* 0285CE68 */ rbrew_write32(cpu->mem, _t108, cpu->r[9]); /* 0285CE6C */ _t109 = cpu->r[12] + 0x00000010u; /* 0285CE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t109); /* 0285CE6C */ cpu->r[12] = _t109; /* 0285CE70 */ _t110 = cpu->r[5] + 0x00000010u; /* 0285CE70 */ rbrew_write32(cpu->mem, _t110, cpu->r[0]); /* 0285CE70 */ cpu->r[5] = _t110; /* 0285CE74 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285CE74 */ _t111 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285CE74 */ _t112 = _t111 >> (0x00000002u & 31u); /* 0285CE74 */ _t113 = _t112 & 0x00000001u; /* 0285CE74 */ if (_t113) goto L_0285CE54; else goto L_0285CE78; L_0285CE78: ; // 0x285ce78 /* 0285CE78 */ _t114 = cpu->r[1] + 0x00000018u; /* 0285CE78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t114); /* 0285CE7C */ cpu->r[3] = cpu->r[31]; /* 0285CE80 */ _t115 = cpu->r[1] + 0x0000000Cu; /* 0285CE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t115); /* 0285CE84 */ _t116 = cpu->r[1] + 0x00000010u; /* 0285CE84 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t116); /* 0285CE88 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285CE88 */ _t118 = _t117 & 0x00000001u; /* 0285CE88 */ if (_t118) goto L_0285CE8C; // else: addr-0 trap, fall-through L_0285CE8C: ; // 0x285ce8c /* 0285CE8C */ _t119 = cpu->r[1] + 0x00000024u; /* 0285CE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t119); /* 0285CE90 */ cpu->lr = cpu->r[0]; /* 0285CE94 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285CE98 */ return; } // fn_0285CE9C @ 0x285ce9c void Gambit_fn_0285CE9C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_0285CE9C: ; // 0x285ce9c /* 0285CE9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]); /* 0285CEA0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CEA0 */ _t1 = _t0 & 0x00000001u; /* 0285CEA0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285CEA0 */ goto L_0285CEA4; L_0285CEA4: ; // 0x285cea4 /* 0285CEA4 */ cpu->r[8] = 0x00000004u; /* 0285CEA8 */ cpu->r[12] = cpu->r[4] + 0xFFFFFFFCu; /* 0285CEAC */ cpu->ctr = cpu->r[8]; /* 0285CEB0 */ cpu->r[7] = cpu->r[3] + 0xFFFFFFFCu; L_0285CEB4: ; // 0x285ceb4 /* 0285CEB4 */ _t2 = cpu->r[12] + 0x00000004u; /* 0285CEB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 0285CEB8 */ _t3 = cpu->r[7] + 0x00000004u; /* 0285CEB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]); /* 0285CEBC */ _t4 = cpu->r[12] + 0x00000008u; /* 0285CEBC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 0285CEC0 */ _t5 = cpu->r[7] + 0x00000008u; /* 0285CEC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]); /* 0285CEC4 */ _t6 = cpu->r[12] + 0x0000000Cu; /* 0285CEC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 0285CEC8 */ _t7 = cpu->r[7] + 0x0000000Cu; /* 0285CEC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]); /* 0285CECC */ _t8 = cpu->r[12] + 0x00000010u; /* 0285CECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285CECC */ cpu->r[12] = _t8; /* 0285CED0 */ _t9 = cpu->r[7] + 0x00000010u; /* 0285CED0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0285CED0 */ cpu->r[7] = _t9; /* 0285CED4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285CED4 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285CED4 */ _t11 = _t10 >> (0x00000002u & 31u); /* 0285CED4 */ _t12 = _t11 & 0x00000001u; /* 0285CED4 */ if (_t12) goto L_0285CEB4; else goto L_0285CED8; L_0285CED8: ; // 0x285ced8 /* 0285CED8 */ return; } // fn_0285CEDC @ 0x285cedc void Gambit_fn_0285CEDC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285CEDC: ; // 0x285cedc /* 0285CEDC */ _t0 = cpu->r[3] + 0x000000A8u; /* 0285CEDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0285CEE0 */ cpu->r[5] = cpu->r[4]; /* 0285CEE4 */ _t1 = cpu->r[3] + 0x000000BCu; /* 0285CEE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1); /* 0285CEE8 */ cpu->r[3] = cpu->r[12] + 0x0000025Cu; /* 0285CEEC */ goto L_02867ABC; L_02867ABC: ; // 0x2867abc /* 02867ABC */ _t2 = cpu->r[4] + 0x00000030u; /* 02867ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02867AC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02867AC4 */ _t3 = cpu->r[12] + cpu->r[0]; /* 02867AC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02867AC8 */ return; } // fn_0285CEF0 @ 0x285cef0 void Gambit_fn_0285CEF0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0285CEF0: ; // 0x285cef0 /* 0285CEF0 */ cpu->r[0] = cpu->lr; /* 0285CEF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285CEF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CEF4 */ cpu->r[1] = _t0; /* 0285CEF8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285CEF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285CEFC */ cpu->r[31] = cpu->r[3]; /* 0285CF00 */ cpu->r[4] = 0x00000000u; /* 0285CF04 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285CF04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285CF08 */ Gambit_fn_0285CEDC(cpu); /* 0285CF0C */ cpu->r[5] = cpu->r[31]; /* 0285CF10 */ cpu->r[4] = 0x00000010u; /* 0285CF14 */ rbrew_dispatch(cpu, 0x02d062a8u); /* 0285CF18 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285CF18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0285CF1C */ cpu->lr = cpu->r[0]; /* 0285CF20 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0285CF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 0285CF24 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285CF28 */ return; } // fn_0285CEF4 @ 0x285cef4 void Gambit_fn_0285CEF4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0285CEF4: ; // 0x285cef4 /* 0285CEF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285CEF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CEF4 */ cpu->r[1] = _t0; /* 0285CEF8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285CEF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285CEFC */ cpu->r[31] = cpu->r[3]; /* 0285CF00 */ cpu->r[4] = 0x00000000u; /* 0285CF04 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285CF04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285CF08 */ Gambit_fn_0285CEDC(cpu); /* 0285CF0C */ cpu->r[5] = cpu->r[31]; /* 0285CF10 */ cpu->r[4] = 0x00000010u; /* 0285CF14 */ rbrew_dispatch(cpu, 0x02d062a8u); /* 0285CF18 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285CF18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0285CF1C */ cpu->lr = cpu->r[0]; /* 0285CF20 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0285CF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 0285CF24 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285CF28 */ return; } // fn_0285CF2C @ 0x285cf2c void Gambit_fn_0285CF2C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285CF2C: ; // 0x285cf2c /* 0285CF2C */ cpu->r[0] = cpu->lr; /* 0285CF30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285CF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CF30 */ cpu->r[1] = _t0; /* 0285CF34 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285CF34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285CF38 */ cpu->r[31] = cpu->r[3]; /* 0285CF3C */ _t2 = cpu->r[1] + 0x00000014u; /* 0285CF3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285CF40 */ _t3 = cpu->r[31] + 0x000000B6u; /* 0285CF40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3); /* 0285CF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285CF48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CF48 */ _t5 = _t4 & 0x00000001u; /* 0285CF48 */ if (_t5) goto L_0285CF4C; else goto L_0285CF68; L_0285CF4C: ; // 0x285cf4c /* 0285CF4C */ cpu->r[4] = 0x00000001u; /* 0285CF50 */ cpu->r[3] = cpu->r[31]; /* 0285CF54 */ _t6 = cpu->r[31] + 0x000000B6u; /* 0285CF54 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[4]); /* 0285CF58 */ Gambit_fn_0285CEDC(cpu); /* 0285CF5C */ cpu->r[4] = 0x0000000Cu; /* 0285CF60 */ cpu->r[5] = cpu->r[31] + 0x00000070u; /* 0285CF64 */ rbrew_dispatch(cpu, 0x02d062a8u); L_0285CF68: ; // 0x285cf68 /* 0285CF68 */ _t7 = cpu->r[1] + 0x00000014u; /* 0285CF68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285CF6C */ _t8 = cpu->r[1] + 0x0000000Cu; /* 0285CF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 0285CF70 */ cpu->lr = cpu->r[0]; /* 0285CF74 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285CF78 */ return; } // fn_0285CF30 @ 0x285cf30 void Gambit_fn_0285CF30(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285CF30: ; // 0x285cf30 /* 0285CF30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285CF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CF30 */ cpu->r[1] = _t0; /* 0285CF34 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285CF34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285CF38 */ cpu->r[31] = cpu->r[3]; /* 0285CF3C */ _t2 = cpu->r[1] + 0x00000014u; /* 0285CF3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285CF40 */ _t3 = cpu->r[31] + 0x000000B6u; /* 0285CF40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3); /* 0285CF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285CF48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CF48 */ _t5 = _t4 & 0x00000001u; /* 0285CF48 */ if (_t5) goto L_0285CF4C; else goto L_0285CF68; L_0285CF4C: ; // 0x285cf4c /* 0285CF4C */ cpu->r[4] = 0x00000001u; /* 0285CF50 */ cpu->r[3] = cpu->r[31]; /* 0285CF54 */ _t6 = cpu->r[31] + 0x000000B6u; /* 0285CF54 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[4]); /* 0285CF58 */ Gambit_fn_0285CEDC(cpu); /* 0285CF5C */ cpu->r[4] = 0x0000000Cu; /* 0285CF60 */ cpu->r[5] = cpu->r[31] + 0x00000070u; /* 0285CF64 */ rbrew_dispatch(cpu, 0x02d062a8u); L_0285CF68: ; // 0x285cf68 /* 0285CF68 */ _t7 = cpu->r[1] + 0x00000014u; /* 0285CF68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285CF6C */ _t8 = cpu->r[1] + 0x0000000Cu; /* 0285CF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 0285CF70 */ cpu->lr = cpu->r[0]; /* 0285CF74 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285CF78 */ return; } // fn_0285CF7C @ 0x285cf7c void Gambit_fn_0285CF7C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_0285CF7C: ; // 0x285cf7c /* 0285CF7C */ cpu->r[12] = cpu->r[3]; /* 0285CF80 */ _t0 = cpu->r[12] + 0x000000B7u; /* 0285CF80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 0285CF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285CF88 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285CF88 */ _t2 = _t1 & 0x00000001u; /* 0285CF88 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285CF88 */ goto L_0285CF8C; L_0285CF8C: ; // 0x285cf8c /* 0285CF8C */ _t3 = cpu->r[12] + 0x000000A8u; /* 0285CF8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 0285CF90 */ cpu->r[0] = 0x00000000u; /* 0285CF94 */ _t4 = cpu->r[12] + 0x000000B7u; /* 0285CF94 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]); /* 0285CF98 */ goto L_0286902C; L_0286902C: ; // 0x286902c /* 0286902C */ _t5 = cpu->r[3] + 0x00000254u; /* 0286902C */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 02869030 */ cpu->r[5] = 0x00000008u; /* 02869034 */ cpu->r[4] = 0x00000020u; /* 02869038 */ cpu->r[3] = 0x00000000u; /* 0286903C */ rbrew_dispatch(cpu, 0x02d05fb0u); return; } // fn_0285CF9C @ 0x285cf9c void Gambit_fn_0285CF9C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285CF9C: ; // 0x285cf9c /* 0285CF9C */ cpu->r[0] = cpu->lr; /* 0285CFA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285CFA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CFA0 */ cpu->r[1] = _t0; /* 0285CFA4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285CFA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285CFA8 */ cpu->r[31] = cpu->r[3]; /* 0285CFAC */ _t2 = cpu->r[1] + 0x00000014u; /* 0285CFAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285CFB0 */ _t3 = cpu->r[31] + 0x000000A8u; /* 0285CFB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0285CFB4 */ cpu->r[3] = cpu->r[10] + 0x0000025Cu; /* 0285CFB8 */ Gambit_fn_02867A74(cpu); /* 0285CFBC */ _t4 = cpu->r[31] + 0x000000A8u; /* 0285CFBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0285CFC0 */ cpu->r[4] = cpu->r[3]; /* 0285CFC4 */ cpu->r[3] = cpu->r[12] + 0x0000025Cu; /* 0285CFC8 */ _t5 = cpu->r[31] + 0x000000BCu; /* 0285CFC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]); /* 0285CFCC */ Gambit_fn_02867ACC(cpu); /* 0285CFD0 */ cpu->r[0] = 0x00000000u; /* 0285CFD4 */ _t6 = cpu->r[31] + 0x000000B6u; /* 0285CFD4 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]); /* 0285CFD8 */ _t7 = cpu->r[1] + 0x00000014u; /* 0285CFD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285CFDC */ _t8 = cpu->r[1] + 0x0000000Cu; /* 0285CFDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 0285CFE0 */ cpu->lr = cpu->r[0]; /* 0285CFE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285CFE8 */ return; } // fn_0285CFA0 @ 0x285cfa0 void Gambit_fn_0285CFA0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285CFA0: ; // 0x285cfa0 /* 0285CFA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285CFA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CFA0 */ cpu->r[1] = _t0; /* 0285CFA4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285CFA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285CFA8 */ cpu->r[31] = cpu->r[3]; /* 0285CFAC */ _t2 = cpu->r[1] + 0x00000014u; /* 0285CFAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285CFB0 */ _t3 = cpu->r[31] + 0x000000A8u; /* 0285CFB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0285CFB4 */ cpu->r[3] = cpu->r[10] + 0x0000025Cu; /* 0285CFB8 */ Gambit_fn_02867A74(cpu); /* 0285CFBC */ _t4 = cpu->r[31] + 0x000000A8u; /* 0285CFBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0285CFC0 */ cpu->r[4] = cpu->r[3]; /* 0285CFC4 */ cpu->r[3] = cpu->r[12] + 0x0000025Cu; /* 0285CFC8 */ _t5 = cpu->r[31] + 0x000000BCu; /* 0285CFC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]); /* 0285CFCC */ Gambit_fn_02867ACC(cpu); /* 0285CFD0 */ cpu->r[0] = 0x00000000u; /* 0285CFD4 */ _t6 = cpu->r[31] + 0x000000B6u; /* 0285CFD4 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]); /* 0285CFD8 */ _t7 = cpu->r[1] + 0x00000014u; /* 0285CFD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285CFDC */ _t8 = cpu->r[1] + 0x0000000Cu; /* 0285CFDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 0285CFE0 */ cpu->lr = cpu->r[0]; /* 0285CFE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285CFE8 */ return; } // fn_0285CFEC @ 0x285cfec void Gambit_fn_0285CFEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285CFEC: ; // 0x285cfec /* 0285CFEC */ cpu->r[0] = cpu->lr; /* 0285CFF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285CFF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CFF0 */ cpu->r[1] = _t0; /* 0285CFF4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285CFF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285CFF8 */ cpu->r[31] = cpu->r[3]; /* 0285CFFC */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285D000 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285D000 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285D004 */ _t3 = cpu->r[31] + 0x000000A8u; /* 0285D004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0285D008 */ _t4 = cpu->r[12] + cpu->r[4]; /* 0285D008 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4); /* 0285D00C */ cpu->r[3] = cpu->r[10] + 0x0000025Cu; /* 0285D010 */ _t5 = cpu->r[31] + 0x000000BCu; /* 0285D010 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]); /* 0285D014 */ Gambit_fn_02867ACC(cpu); /* 0285D018 */ cpu->r[0] = 0x00000000u; /* 0285D01C */ _t6 = cpu->r[31] + 0x000000B6u; /* 0285D01C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]); /* 0285D020 */ _t7 = cpu->r[1] + 0x00000014u; /* 0285D020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285D024 */ cpu->lr = cpu->r[0]; /* 0285D028 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 0285D028 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 0285D02C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D030 */ return; } // fn_0285CFF0 @ 0x285cff0 void Gambit_fn_0285CFF0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285CFF0: ; // 0x285cff0 /* 0285CFF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285CFF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285CFF0 */ cpu->r[1] = _t0; /* 0285CFF4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285CFF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285CFF8 */ cpu->r[31] = cpu->r[3]; /* 0285CFFC */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285D000 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285D000 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285D004 */ _t3 = cpu->r[31] + 0x000000A8u; /* 0285D004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0285D008 */ _t4 = cpu->r[12] + cpu->r[4]; /* 0285D008 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4); /* 0285D00C */ cpu->r[3] = cpu->r[10] + 0x0000025Cu; /* 0285D010 */ _t5 = cpu->r[31] + 0x000000BCu; /* 0285D010 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]); /* 0285D014 */ Gambit_fn_02867ACC(cpu); /* 0285D018 */ cpu->r[0] = 0x00000000u; /* 0285D01C */ _t6 = cpu->r[31] + 0x000000B6u; /* 0285D01C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]); /* 0285D020 */ _t7 = cpu->r[1] + 0x00000014u; /* 0285D020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285D024 */ cpu->lr = cpu->r[0]; /* 0285D028 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 0285D028 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 0285D02C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D030 */ return; } // fn_0285D034 @ 0x285d034 void Gambit_fn_0285D034(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285D034: ; // 0x285d034 /* 0285D034 */ cpu->r[0] = cpu->lr; /* 0285D038 */ _t0 = cpu->r[1] + 0x00000004u; /* 0285D038 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285D03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D040 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0285D040 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285D040 */ cpu->r[1] = _t1; /* 0285D044 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D044 */ _t3 = _t2 & 0x00000001u; /* 0285D044 */ if (_t3) goto L_0285D048; else goto L_0285D058; L_0285D048: ; // 0x285d048 /* 0285D048 */ cpu->r[3] = 0x00000090u; /* 0285D04C */ Gambit_fn_02801A78(cpu); /* 0285D050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D054 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D054 */ _t5 = _t4 & 0x00000001u; /* 0285D054 */ if (_t5) goto L_0285D06C; else goto L_0285D058; L_0285D058: ; // 0x285d058 /* 0285D058 */ cpu->r[0] = 0x00000000u; /* 0285D05C */ _t6 = cpu->r[3] + 0x0000008Cu; /* 0285D05C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]); /* 0285D060 */ _t7 = cpu->r[3] + 0x00000000u; /* 0285D060 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285D064 */ _t8 = cpu->r[3] + 0x00000088u; /* 0285D064 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0285D068 */ _t9 = cpu->r[3] + 0x00000004u; /* 0285D068 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); L_0285D06C: ; // 0x285d06c /* 0285D06C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285D06C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285D070 */ cpu->lr = cpu->r[0]; /* 0285D074 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285D078 */ return; } // fn_0285D040 @ 0x285d040 void Gambit_fn_0285D040(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_0285D040: ; // 0x285d040 /* 0285D040 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0285D040 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D040 */ cpu->r[1] = _t0; /* 0285D044 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D044 */ _t2 = _t1 & 0x00000001u; /* 0285D044 */ if (_t2) goto L_0285D048; else goto L_0285D058; L_0285D048: ; // 0x285d048 /* 0285D048 */ cpu->r[3] = 0x00000090u; /* 0285D04C */ Gambit_fn_02801A78(cpu); /* 0285D050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D054 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D054 */ _t4 = _t3 & 0x00000001u; /* 0285D054 */ if (_t4) goto L_0285D06C; else goto L_0285D058; L_0285D058: ; // 0x285d058 /* 0285D058 */ cpu->r[0] = 0x00000000u; /* 0285D05C */ _t5 = cpu->r[3] + 0x0000008Cu; /* 0285D05C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]); /* 0285D060 */ _t6 = cpu->r[3] + 0x00000000u; /* 0285D060 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285D064 */ _t7 = cpu->r[3] + 0x00000088u; /* 0285D064 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285D068 */ _t8 = cpu->r[3] + 0x00000004u; /* 0285D068 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); L_0285D06C: ; // 0x285d06c /* 0285D06C */ _t9 = cpu->r[1] + 0x0000000Cu; /* 0285D06C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285D070 */ cpu->lr = cpu->r[0]; /* 0285D074 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285D078 */ return; } // fn_0285D07C @ 0x285d07c void Gambit_fn_0285D07C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285D07C: ; // 0x285d07c /* 0285D07C */ cpu->r[0] = cpu->lr; /* 0285D080 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D080 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D080 */ cpu->r[1] = _t0; /* 0285D084 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285D084 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285D088 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285D088 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285D08C */ cpu->r[30] = cpu->r[3]; /* 0285D08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285D090 */ cpu->r[31] = cpu->r[4]; /* 0285D094 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285D094 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285D098 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285D098 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285D09C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D09C */ _t6 = _t5 & 0x00000001u; /* 0285D09C */ if (_t6) goto L_0285D0F0; else goto L_0285D0A0; L_0285D0A0: ; // 0x285d0a0 /* 0285D0A0 */ _t7 = cpu->r[30] + 0x0000008Cu; /* 0285D0A0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7); /* 0285D0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285D0A8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D0A8 */ _t9 = _t8 & 0x00000001u; /* 0285D0A8 */ if (_t9) goto L_0285D0E0; else goto L_0285D0AC; L_0285D0AC: ; // 0x285d0ac /* 0285D0AC */ _t10 = cpu->r[30] + 0x00000088u; /* 0285D0AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0285D0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285D0B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D0B4 */ _t12 = _t11 & 0x00000001u; /* 0285D0B4 */ if (_t12) goto L_0285D0D8; else goto L_0285D0B8; L_0285D0B8: ; // 0x285d0b8 /* 0285D0B8 */ _t13 = cpu->r[29] + 0x00000004u; /* 0285D0B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 0285D0BC */ _t14 = cpu->r[10] + 0x00000014u; /* 0285D0BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0285D0C0 */ cpu->ctr = cpu->r[0]; /* 0285D0C4 */ cpu->r[3] = cpu->r[29]; /* 0285D0C8 */ cpu->r[4] = 0x00000002u; /* 0285D0CC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285D0D0 */ cpu->r[3] = cpu->r[29]; /* 0285D0D4 */ Gambit_fn_02869EAC(cpu); L_0285D0D8: ; // 0x285d0d8 /* 0285D0D8 */ cpu->r[0] = 0x00000000u; /* 0285D0DC */ _t15 = cpu->r[30] + 0x00000088u; /* 0285D0DC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); L_0285D0E0: ; // 0x285d0e0 /* 0285D0E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285D0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D0E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D0E4 */ _t17 = _t16 & 0x00000001u; /* 0285D0E4 */ if (_t17) goto L_0285D0F0; else goto L_0285D0E8; L_0285D0E8: ; // 0x285d0e8 /* 0285D0E8 */ cpu->r[3] = cpu->r[30]; /* 0285D0EC */ Gambit_fn_02801BB0(cpu); L_0285D0F0: ; // 0x285d0f0 /* 0285D0F0 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0285D0F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 0285D0F4 */ _t19 = cpu->r[1] + 0x0000001Cu; /* 0285D0F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 0285D0F8 */ _t20 = cpu->r[1] + 0x00000010u; /* 0285D0F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 0285D0FC */ cpu->lr = cpu->r[0]; /* 0285D100 */ _t21 = cpu->r[1] + 0x00000014u; /* 0285D100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 0285D104 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D108 */ return; } // fn_0285D080 @ 0x285d080 void Gambit_fn_0285D080(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285D080: ; // 0x285d080 /* 0285D080 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D080 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D080 */ cpu->r[1] = _t0; /* 0285D084 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285D084 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285D088 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285D088 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285D08C */ cpu->r[30] = cpu->r[3]; /* 0285D08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285D090 */ cpu->r[31] = cpu->r[4]; /* 0285D094 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285D094 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285D098 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285D098 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285D09C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D09C */ _t6 = _t5 & 0x00000001u; /* 0285D09C */ if (_t6) goto L_0285D0F0; else goto L_0285D0A0; L_0285D0A0: ; // 0x285d0a0 /* 0285D0A0 */ _t7 = cpu->r[30] + 0x0000008Cu; /* 0285D0A0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7); /* 0285D0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285D0A8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D0A8 */ _t9 = _t8 & 0x00000001u; /* 0285D0A8 */ if (_t9) goto L_0285D0E0; else goto L_0285D0AC; L_0285D0AC: ; // 0x285d0ac /* 0285D0AC */ _t10 = cpu->r[30] + 0x00000088u; /* 0285D0AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0285D0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285D0B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D0B4 */ _t12 = _t11 & 0x00000001u; /* 0285D0B4 */ if (_t12) goto L_0285D0D8; else goto L_0285D0B8; L_0285D0B8: ; // 0x285d0b8 /* 0285D0B8 */ _t13 = cpu->r[29] + 0x00000004u; /* 0285D0B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 0285D0BC */ _t14 = cpu->r[10] + 0x00000014u; /* 0285D0BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0285D0C0 */ cpu->ctr = cpu->r[0]; /* 0285D0C4 */ cpu->r[3] = cpu->r[29]; /* 0285D0C8 */ cpu->r[4] = 0x00000002u; /* 0285D0CC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285D0D0 */ cpu->r[3] = cpu->r[29]; /* 0285D0D4 */ Gambit_fn_02869EAC(cpu); L_0285D0D8: ; // 0x285d0d8 /* 0285D0D8 */ cpu->r[0] = 0x00000000u; /* 0285D0DC */ _t15 = cpu->r[30] + 0x00000088u; /* 0285D0DC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); L_0285D0E0: ; // 0x285d0e0 /* 0285D0E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285D0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D0E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D0E4 */ _t17 = _t16 & 0x00000001u; /* 0285D0E4 */ if (_t17) goto L_0285D0F0; else goto L_0285D0E8; L_0285D0E8: ; // 0x285d0e8 /* 0285D0E8 */ cpu->r[3] = cpu->r[30]; /* 0285D0EC */ Gambit_fn_02801BB0(cpu); L_0285D0F0: ; // 0x285d0f0 /* 0285D0F0 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0285D0F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 0285D0F4 */ _t19 = cpu->r[1] + 0x0000001Cu; /* 0285D0F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 0285D0F8 */ _t20 = cpu->r[1] + 0x00000010u; /* 0285D0F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 0285D0FC */ cpu->lr = cpu->r[0]; /* 0285D100 */ _t21 = cpu->r[1] + 0x00000014u; /* 0285D100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 0285D104 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D108 */ return; } // fn_0285D10C @ 0x285d10c void Gambit_fn_0285D10C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_0285D10C: ; // 0x285d10c /* 0285D10C */ cpu->r[12] = 0x0000007Fu; /* 0285D110 */ cpu->r[11] = cpu->r[3] + 0x00000008u; /* 0285D114 */ cpu->ctr = cpu->r[12]; /* 0285D118 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu; L_0285D11C: ; // 0x285d11c /* 0285D11C */ _t0 = cpu->r[4] + 0x00000001u; /* 0285D11C */ cpu->r[10] = rbrew_read8(cpu->mem, _t0); /* 0285D11C */ cpu->r[4] = _t0; /* 0285D120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285D124 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D124 */ _t2 = _t1 & 0x00000001u; /* 0285D124 */ if (_t2) goto L_0285D134; else goto L_0285D128; L_0285D128: ; // 0x285d128 /* 0285D128 */ _t3 = cpu->r[11] + 0x00000000u; /* 0285D128 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]); /* 0285D12C */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0285D130 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285D130 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285D130 */ _t5 = _t4 >> (0x00000002u & 31u); /* 0285D130 */ _t6 = _t5 & 0x00000001u; /* 0285D130 */ if (_t6) goto L_0285D11C; else goto L_0285D134; L_0285D134: ; // 0x285d134 /* 0285D134 */ cpu->r[0] = 0x00000000u; /* 0285D138 */ _t7 = cpu->r[11] + 0x00000000u; /* 0285D138 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]); /* 0285D13C */ _t8 = cpu->r[3] + 0x00000088u; /* 0285D13C */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 0285D140 */ _t9 = cpu->r[3] + 0x0000008Cu; /* 0285D140 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[6]); /* 0285D144 */ return; } // fn_0285D148 @ 0x285d148 void Gambit_fn_0285D148(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0285D148: ; // 0x285d148 /* 0285D148 */ cpu->r[0] = cpu->lr; /* 0285D14C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D14C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D14C */ cpu->r[1] = _t0; /* 0285D150 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285D150 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D154 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D154 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285D158 */ cpu->r[30] = cpu->r[3]; /* 0285D15C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D15C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285D160 */ _t4 = cpu->r[30] + 0x00000000u; /* 0285D160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285D164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D168 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D168 */ _t6 = _t5 & 0x00000001u; /* 0285D168 */ if (_t6) goto L_0285D1A4; else goto L_0285D16C; L_0285D16C: ; // 0x285d16c /* 0285D16C */ _t7 = cpu->r[30] + 0x00000004u; /* 0285D16C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0285D170 */ cpu->r[3] = cpu->r[30]; /* 0285D174 */ cpu->r[4] = cpu->r[31]; /* 0285D178 */ Gambit_fn_028541D4(cpu); /* 0285D17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D180 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D180 */ _t9 = _t8 & 0x00000001u; /* 0285D180 */ if (_t9) goto L_0285D198; else goto L_0285D184; L_0285D184: ; // 0x285d184 /* 0285D184 */ cpu->r[3] = cpu->r[31]; /* 0285D188 */ cpu->r[4] = 0x00000002u; /* 0285D18C */ Gambit_fn_0285D07C(cpu); /* 0285D190 */ cpu->r[3] = cpu->r[31]; /* 0285D194 */ Gambit_fn_02869EAC(cpu); L_0285D198: ; // 0x285d198 /* 0285D198 */ _t10 = cpu->r[30] + 0x00000000u; /* 0285D198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285D19C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D1A0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D1A0 */ _t12 = _t11 & 0x00000001u; /* 0285D1A0 */ if (_t12) goto L_0285D1A4; else goto L_0285D16C; L_0285D1A4: ; // 0x285d1a4 /* 0285D1A4 */ _t13 = cpu->r[1] + 0x00000014u; /* 0285D1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285D1A8 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285D1A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0285D1AC */ cpu->lr = cpu->r[0]; /* 0285D1B0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0285D1B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0285D1B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D1B8 */ return; } // fn_0285D14C @ 0x285d14c void Gambit_fn_0285D14C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0285D14C: ; // 0x285d14c /* 0285D14C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D14C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D14C */ cpu->r[1] = _t0; /* 0285D150 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285D150 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D154 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D154 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285D158 */ cpu->r[30] = cpu->r[3]; /* 0285D15C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D15C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285D160 */ _t4 = cpu->r[30] + 0x00000000u; /* 0285D160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285D164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D168 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D168 */ _t6 = _t5 & 0x00000001u; /* 0285D168 */ if (_t6) goto L_0285D1A4; else goto L_0285D16C; L_0285D16C: ; // 0x285d16c /* 0285D16C */ _t7 = cpu->r[30] + 0x00000004u; /* 0285D16C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0285D170 */ cpu->r[3] = cpu->r[30]; /* 0285D174 */ cpu->r[4] = cpu->r[31]; /* 0285D178 */ Gambit_fn_028541D4(cpu); /* 0285D17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D180 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D180 */ _t9 = _t8 & 0x00000001u; /* 0285D180 */ if (_t9) goto L_0285D198; else goto L_0285D184; L_0285D184: ; // 0x285d184 /* 0285D184 */ cpu->r[3] = cpu->r[31]; /* 0285D188 */ cpu->r[4] = 0x00000002u; /* 0285D18C */ Gambit_fn_0285D07C(cpu); /* 0285D190 */ cpu->r[3] = cpu->r[31]; /* 0285D194 */ Gambit_fn_02869EAC(cpu); L_0285D198: ; // 0x285d198 /* 0285D198 */ _t10 = cpu->r[30] + 0x00000000u; /* 0285D198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285D19C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D1A0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D1A0 */ _t12 = _t11 & 0x00000001u; /* 0285D1A0 */ if (_t12) goto L_0285D1A4; else goto L_0285D16C; L_0285D1A4: ; // 0x285d1a4 /* 0285D1A4 */ _t13 = cpu->r[1] + 0x00000014u; /* 0285D1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285D1A8 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285D1A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0285D1AC */ cpu->lr = cpu->r[0]; /* 0285D1B0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0285D1B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0285D1B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D1B8 */ return; } // fn_0285D1BC @ 0x285d1bc void Gambit_fn_0285D1BC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285D1BC: ; // 0x285d1bc /* 0285D1BC */ cpu->r[0] = cpu->lr; /* 0285D1C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D1C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D1C0 */ cpu->r[1] = _t0; /* 0285D1C4 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285D1C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D1C8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D1C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285D1CC */ cpu->r[31] = cpu->r[3]; /* 0285D1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D1D0 */ cpu->r[30] = cpu->r[4]; /* 0285D1D4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D1D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285D1D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D1D8 */ _t5 = _t4 & 0x00000001u; /* 0285D1D8 */ if (_t5) goto L_0285D1F4; else goto L_0285D1DC; L_0285D1DC: ; // 0x285d1dc /* 0285D1DC */ cpu->r[3] = cpu->r[31]; /* 0285D1E0 */ Gambit_fn_0285D148(cpu); /* 0285D1E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285D1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D1E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D1E8 */ _t7 = _t6 & 0x00000001u; /* 0285D1E8 */ if (_t7) goto L_0285D1F4; else goto L_0285D1EC; L_0285D1EC: ; // 0x285d1ec /* 0285D1EC */ cpu->r[3] = cpu->r[31]; /* 0285D1F0 */ Gambit_fn_02801BB0(cpu); L_0285D1F4: ; // 0x285d1f4 /* 0285D1F4 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285D1F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285D1F8 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285D1F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285D1FC */ cpu->lr = cpu->r[0]; /* 0285D200 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285D200 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285D204 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D208 */ return; } // fn_0285D1C0 @ 0x285d1c0 void Gambit_fn_0285D1C0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285D1C0: ; // 0x285d1c0 /* 0285D1C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D1C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D1C0 */ cpu->r[1] = _t0; /* 0285D1C4 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285D1C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D1C8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D1C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285D1CC */ cpu->r[31] = cpu->r[3]; /* 0285D1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D1D0 */ cpu->r[30] = cpu->r[4]; /* 0285D1D4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D1D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285D1D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D1D8 */ _t5 = _t4 & 0x00000001u; /* 0285D1D8 */ if (_t5) goto L_0285D1F4; else goto L_0285D1DC; L_0285D1DC: ; // 0x285d1dc /* 0285D1DC */ cpu->r[3] = cpu->r[31]; /* 0285D1E0 */ Gambit_fn_0285D148(cpu); /* 0285D1E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285D1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D1E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D1E8 */ _t7 = _t6 & 0x00000001u; /* 0285D1E8 */ if (_t7) goto L_0285D1F4; else goto L_0285D1EC; L_0285D1EC: ; // 0x285d1ec /* 0285D1EC */ cpu->r[3] = cpu->r[31]; /* 0285D1F0 */ Gambit_fn_02801BB0(cpu); L_0285D1F4: ; // 0x285d1f4 /* 0285D1F4 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285D1F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285D1F8 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285D1F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285D1FC */ cpu->lr = cpu->r[0]; /* 0285D200 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285D200 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285D204 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D208 */ return; } // fn_0285D20C @ 0x285d20c void Gambit_fn_0285D20C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285D20C: ; // 0x285d20c /* 0285D20C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285D20C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D20C */ cpu->r[1] = _t0; /* 0285D210 */ cpu->r[0] = cpu->lr; /* 0285D214 */ /* nop */ /* 0285D218 */ cpu->r[30] = cpu->r[4]; /* 0285D21C */ cpu->r[27] = cpu->r[5]; /* 0285D220 */ cpu->r[4] = 0x00000004u; /* 0285D224 */ _t1 = cpu->r[1] + 0x00000024u; /* 0285D224 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285D228 */ cpu->r[29] = cpu->r[3]; /* 0285D22C */ cpu->r[3] = 0x00000090u; /* 0285D230 */ cpu->r[28] = cpu->r[6]; /* 0285D234 */ Gambit_fn_02869E8C(cpu); /* 0285D238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D23C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D23C */ _t3 = _t2 & 0x00000001u; /* 0285D23C */ if (_t3) goto L_0285D254; else goto L_0285D240; L_0285D240: ; // 0x285d240 /* 0285D240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D244 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D244 */ _t5 = _t4 & 0x00000001u; /* 0285D244 */ if (_t5) goto L_0285D254; else goto L_0285D248; L_0285D248: ; // 0x285d248 /* 0285D248 */ Gambit_fn_0285D034(cpu); /* 0285D24C */ cpu->r[31] = cpu->r[3]; /* 0285D24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D250 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D250 */ _t7 = _t6 & 0x00000001u; /* 0285D250 */ if (_t7) goto L_0285D254; else goto L_0285D26C; L_0285D254: ; // 0x285d254 /* 0285D254 */ /* nop */ /* 0285D258 */ _t8 = cpu->r[1] + 0x00000024u; /* 0285D258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285D25C */ cpu->lr = cpu->r[0]; /* 0285D260 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285D264 */ cpu->r[3] = 0x00000000u; /* 0285D268 */ return; L_0285D26C: ; // 0x285d26c /* 0285D26C */ cpu->r[6] = cpu->r[28]; /* 0285D270 */ cpu->r[5] = cpu->r[27]; /* 0285D274 */ cpu->r[4] = cpu->r[30]; /* 0285D278 */ cpu->r[3] = cpu->r[31]; /* 0285D27C */ Gambit_fn_0285D10C(cpu); /* 0285D280 */ cpu->r[0] = cpu->r[29] + 0x00000004u; /* 0285D284 */ cpu->r[3] = cpu->r[29]; /* 0285D288 */ cpu->r[5] = cpu->r[31]; /* 0285D28C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285D290 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285D290 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0285D294 */ Gambit_fn_028541A8(cpu); /* 0285D298 */ cpu->r[3] = cpu->r[31]; /* 0285D29C */ /* nop */ /* 0285D2A0 */ _t10 = cpu->r[1] + 0x00000024u; /* 0285D2A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285D2A4 */ cpu->lr = cpu->r[0]; /* 0285D2A8 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285D2AC */ return; } // fn_0285D2B0 @ 0x285d2b0 void Gambit_fn_0285D2B0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285D2B0: ; // 0x285d2b0 /* 0285D2B0 */ cpu->r[0] = cpu->lr; /* 0285D2B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D2B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D2B4 */ cpu->r[1] = _t0; /* 0285D2B8 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285D2B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D2BC */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D2BC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285D2C0 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D2C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285D2C4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285D2C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285D2C8 */ _t5 = cpu->r[3] + 0x00000004u; /* 0285D2C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 0285D2CC */ cpu->r[29] = cpu->r[3] + 0x00000004u; /* 0285D2D0 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29]; /* 0285D2D4 */ cpu->r[12] = rbrew_clz32(cpu->r[11]); /* 0285D2D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D2DC */ cpu->r[0] = cpu->r[10] ^ 0x00000001u; /* 0285D2E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D2E4 */ cpu->r[31] = cpu->r[4]; /* 0285D2E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D2E8 */ _t7 = _t6 & 0x00000001u; /* 0285D2E8 */ if (_t7) goto L_0285D33C; else goto L_0285D2EC; L_0285D2EC: ; // 0x285d2ec /* 0285D2EC */ cpu->r[3] = cpu->r[31]; /* 0285D2F0 */ cpu->r[4] = cpu->r[30] + 0x00000008u; /* 0285D2F4 */ Gambit_fn_0285D35C(cpu); /* 0285D2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D2FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D2FC */ _t9 = _t8 & 0x00000001u; /* 0285D2FC */ if (_t9) goto L_0285D320; else goto L_0285D300; L_0285D300: ; // 0x285d300 /* 0285D300 */ _t10 = cpu->r[30] + 0x00000088u; /* 0285D300 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0285D304 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285D304 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285D308 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285D308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285D30C */ _t13 = cpu->r[1] + 0x00000010u; /* 0285D30C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285D310 */ cpu->lr = cpu->r[0]; /* 0285D314 */ _t14 = cpu->r[1] + 0x00000014u; /* 0285D314 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285D318 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D31C */ return; L_0285D320: ; // 0x285d320 /* 0285D320 */ _t15 = cpu->r[30] + 0x00000000u; /* 0285D320 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0285D324 */ cpu->r[6] = cpu->r[30] ^ cpu->r[29]; /* 0285D328 */ cpu->r[0] = rbrew_clz32(cpu->r[6]); /* 0285D32C */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D330 */ cpu->r[8] = cpu->r[5] ^ 0x00000001u; /* 0285D334 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285D338 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D338 */ _t17 = _t16 & 0x00000001u; /* 0285D338 */ if (_t17) goto L_0285D33C; else goto L_0285D2EC; L_0285D33C: ; // 0x285d33c /* 0285D33C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0285D33C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 0285D340 */ _t19 = cpu->r[1] + 0x0000001Cu; /* 0285D340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 0285D344 */ _t20 = cpu->r[1] + 0x00000010u; /* 0285D344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 0285D348 */ cpu->lr = cpu->r[0]; /* 0285D34C */ _t21 = cpu->r[1] + 0x00000014u; /* 0285D34C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 0285D350 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D354 */ cpu->r[3] = 0x00000000u; /* 0285D358 */ return; } // fn_0285D2B4 @ 0x285d2b4 void Gambit_fn_0285D2B4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285D2B4: ; // 0x285d2b4 /* 0285D2B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D2B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D2B4 */ cpu->r[1] = _t0; /* 0285D2B8 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285D2B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D2BC */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D2BC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285D2C0 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D2C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285D2C4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285D2C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285D2C8 */ _t5 = cpu->r[3] + 0x00000004u; /* 0285D2C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 0285D2CC */ cpu->r[29] = cpu->r[3] + 0x00000004u; /* 0285D2D0 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29]; /* 0285D2D4 */ cpu->r[12] = rbrew_clz32(cpu->r[11]); /* 0285D2D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D2DC */ cpu->r[0] = cpu->r[10] ^ 0x00000001u; /* 0285D2E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D2E4 */ cpu->r[31] = cpu->r[4]; /* 0285D2E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D2E8 */ _t7 = _t6 & 0x00000001u; /* 0285D2E8 */ if (_t7) goto L_0285D33C; else goto L_0285D2EC; L_0285D2EC: ; // 0x285d2ec /* 0285D2EC */ cpu->r[3] = cpu->r[31]; /* 0285D2F0 */ cpu->r[4] = cpu->r[30] + 0x00000008u; /* 0285D2F4 */ Gambit_fn_0285D35C(cpu); /* 0285D2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D2FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D2FC */ _t9 = _t8 & 0x00000001u; /* 0285D2FC */ if (_t9) goto L_0285D320; else goto L_0285D300; L_0285D300: ; // 0x285d300 /* 0285D300 */ _t10 = cpu->r[30] + 0x00000088u; /* 0285D300 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0285D304 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285D304 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285D308 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285D308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285D30C */ _t13 = cpu->r[1] + 0x00000010u; /* 0285D30C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285D310 */ cpu->lr = cpu->r[0]; /* 0285D314 */ _t14 = cpu->r[1] + 0x00000014u; /* 0285D314 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285D318 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D31C */ return; L_0285D320: ; // 0x285d320 /* 0285D320 */ _t15 = cpu->r[30] + 0x00000000u; /* 0285D320 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0285D324 */ cpu->r[6] = cpu->r[30] ^ cpu->r[29]; /* 0285D328 */ cpu->r[0] = rbrew_clz32(cpu->r[6]); /* 0285D32C */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D330 */ cpu->r[8] = cpu->r[5] ^ 0x00000001u; /* 0285D334 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285D338 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D338 */ _t17 = _t16 & 0x00000001u; /* 0285D338 */ if (_t17) goto L_0285D33C; else goto L_0285D2EC; L_0285D33C: ; // 0x285d33c /* 0285D33C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0285D33C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 0285D340 */ _t19 = cpu->r[1] + 0x0000001Cu; /* 0285D340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 0285D344 */ _t20 = cpu->r[1] + 0x00000010u; /* 0285D344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 0285D348 */ cpu->lr = cpu->r[0]; /* 0285D34C */ _t21 = cpu->r[1] + 0x00000014u; /* 0285D34C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 0285D350 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D354 */ cpu->r[3] = 0x00000000u; /* 0285D358 */ return; } // fn_0285D35C @ 0x285d35c void Gambit_fn_0285D35C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285D35C: ; // 0x285d35c /* 0285D35C */ cpu->r[9] = 0x00000080u; /* 0285D360 */ cpu->ctr = cpu->r[9]; /* 0285D364 */ cpu->r[12] = 0x00000000u; L_0285D368: ; // 0x285d368 /* 0285D368 */ _t0 = cpu->r[3] + cpu->r[12]; /* 0285D368 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 0285D36C */ _t1 = cpu->r[4] + cpu->r[12]; /* 0285D36C */ cpu->r[10] = rbrew_read8(cpu->mem, _t1); /* 0285D370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 0285D374 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D374 */ _t3 = _t2 & 0x00000001u; /* 0285D374 */ if (_t3) goto L_0285D380; else goto L_0285D378; L_0285D378: ; // 0x285d378 /* 0285D378 */ cpu->r[3] = 0x00000000u; /* 0285D37C */ return; L_0285D380: ; // 0x285d380 /* 0285D380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D384 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D384 */ _t5 = _t4 & 0x00000001u; /* 0285D384 */ if (_t5) goto L_0285D390; else goto L_0285D388; L_0285D388: ; // 0x285d388 /* 0285D388 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0285D38C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285D38C */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285D38C */ _t7 = _t6 >> (0x00000002u & 31u); /* 0285D38C */ _t8 = _t7 & 0x00000001u; /* 0285D38C */ if (_t8) goto L_0285D368; else goto L_0285D390; L_0285D390: ; // 0x285d390 /* 0285D390 */ cpu->r[3] = 0x00000001u; /* 0285D394 */ return; } // fn_0285D398 @ 0x285d398 void Gambit_fn_0285D398(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26; L_0285D398: ; // 0x285d398 /* 0285D398 */ cpu->r[0] = cpu->lr; /* 0285D39C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D39C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D39C */ cpu->r[1] = _t0; /* 0285D3A0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285D3A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285D3A4 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285D3A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285D3A8 */ cpu->r[31] = cpu->r[3]; /* 0285D3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D3AC */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D3AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285D3B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D3B0 */ _t5 = _t4 & 0x00000001u; /* 0285D3B0 */ if (_t5) goto L_0285D3B4; else goto L_0285D3C4; L_0285D3B4: ; // 0x285d3b4 /* 0285D3B4 */ cpu->r[3] = 0x00000020u; /* 0285D3B8 */ Gambit_fn_02801A78(cpu); /* 0285D3BC */ cpu->r[31] = cpu->r[3]; /* 0285D3BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D3C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D3C0 */ _t7 = _t6 & 0x00000001u; /* 0285D3C0 */ if (_t7) goto L_0285D42C; else goto L_0285D3C4; L_0285D3C4: ; // 0x285d3c4 /* 0285D3C4 */ cpu->r[30] = 0x00000000u; /* 0285D3C8 */ cpu->r[10] = 0x10130000u; /* 0285D3CC */ _t8 = cpu->r[31] + 0x00000000u; /* 0285D3CC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0285D3D0 */ cpu->r[10] = cpu->r[10] + 0x00004D90u; /* 0285D3D4 */ _t9 = cpu->r[31] + 0x00000004u; /* 0285D3D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285D3D8 */ cpu->r[3] = cpu->r[31] + 0x00000008u; /* 0285D3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D3DC */ _t10 = cpu->r[31] + 0x0000001Cu; /* 0285D3DC */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 0285D3E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D3E0 */ _t12 = _t11 & 0x00000001u; /* 0285D3E0 */ if (_t12) goto L_0285D3E4; else goto L_0285D3F4; L_0285D3E4: ; // 0x285d3e4 /* 0285D3E4 */ cpu->r[3] = 0x0000000Cu; /* 0285D3E8 */ Gambit_fn_02801A78(cpu); /* 0285D3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D3F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D3F0 */ _t14 = _t13 & 0x00000001u; /* 0285D3F0 */ if (_t14) goto L_0285D41C; else goto L_0285D3F4; L_0285D3F4: ; // 0x285d3f4 /* 0285D3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D3F8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D3F8 */ _t16 = _t15 & 0x00000001u; /* 0285D3F8 */ if (_t16) goto L_0285D3FC; else goto L_0285D40C; L_0285D3FC: ; // 0x285d3fc /* 0285D3FC */ cpu->r[3] = 0x0000000Cu; /* 0285D400 */ Gambit_fn_02801A78(cpu); /* 0285D404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D408 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D408 */ _t18 = _t17 & 0x00000001u; /* 0285D408 */ if (_t18) goto L_0285D41C; else goto L_0285D40C; L_0285D40C: ; // 0x285d40c /* 0285D40C */ cpu->r[12] = cpu->r[3] + 0x00000004u; /* 0285D410 */ _t19 = cpu->r[3] + 0x00000000u; /* 0285D410 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); /* 0285D414 */ _t20 = cpu->r[12] + 0x00000004u; /* 0285D414 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]); /* 0285D418 */ _t21 = cpu->r[12] + 0x00000000u; /* 0285D418 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]); L_0285D41C: ; // 0x285d41c /* 0285D41C */ cpu->r[0] = 0x10130000u; /* 0285D420 */ _t22 = cpu->r[31] + 0x00000018u; /* 0285D420 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]); /* 0285D424 */ cpu->r[0] = cpu->r[0] + 0x00004D8Cu; /* 0285D428 */ _t23 = cpu->r[31] + 0x00000014u; /* 0285D428 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]); L_0285D42C: ; // 0x285d42c /* 0285D42C */ _t24 = cpu->r[1] + 0x00000014u; /* 0285D42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0285D430 */ cpu->r[3] = cpu->r[31]; /* 0285D434 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0285D434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0285D438 */ cpu->lr = cpu->r[0]; /* 0285D43C */ _t26 = cpu->r[1] + 0x00000008u; /* 0285D43C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 0285D440 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D444 */ return; } // fn_0285D39C @ 0x285d39c void Gambit_fn_0285D39C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26; L_0285D39C: ; // 0x285d39c /* 0285D39C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D39C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D39C */ cpu->r[1] = _t0; /* 0285D3A0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285D3A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285D3A4 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285D3A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285D3A8 */ cpu->r[31] = cpu->r[3]; /* 0285D3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D3AC */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D3AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285D3B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D3B0 */ _t5 = _t4 & 0x00000001u; /* 0285D3B0 */ if (_t5) goto L_0285D3B4; else goto L_0285D3C4; L_0285D3B4: ; // 0x285d3b4 /* 0285D3B4 */ cpu->r[3] = 0x00000020u; /* 0285D3B8 */ Gambit_fn_02801A78(cpu); /* 0285D3BC */ cpu->r[31] = cpu->r[3]; /* 0285D3BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D3C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D3C0 */ _t7 = _t6 & 0x00000001u; /* 0285D3C0 */ if (_t7) goto L_0285D42C; else goto L_0285D3C4; L_0285D3C4: ; // 0x285d3c4 /* 0285D3C4 */ cpu->r[30] = 0x00000000u; /* 0285D3C8 */ cpu->r[10] = 0x10130000u; /* 0285D3CC */ _t8 = cpu->r[31] + 0x00000000u; /* 0285D3CC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0285D3D0 */ cpu->r[10] = cpu->r[10] + 0x00004D90u; /* 0285D3D4 */ _t9 = cpu->r[31] + 0x00000004u; /* 0285D3D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285D3D8 */ cpu->r[3] = cpu->r[31] + 0x00000008u; /* 0285D3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D3DC */ _t10 = cpu->r[31] + 0x0000001Cu; /* 0285D3DC */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 0285D3E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D3E0 */ _t12 = _t11 & 0x00000001u; /* 0285D3E0 */ if (_t12) goto L_0285D3E4; else goto L_0285D3F4; L_0285D3E4: ; // 0x285d3e4 /* 0285D3E4 */ cpu->r[3] = 0x0000000Cu; /* 0285D3E8 */ Gambit_fn_02801A78(cpu); /* 0285D3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D3F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D3F0 */ _t14 = _t13 & 0x00000001u; /* 0285D3F0 */ if (_t14) goto L_0285D41C; else goto L_0285D3F4; L_0285D3F4: ; // 0x285d3f4 /* 0285D3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D3F8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D3F8 */ _t16 = _t15 & 0x00000001u; /* 0285D3F8 */ if (_t16) goto L_0285D3FC; else goto L_0285D40C; L_0285D3FC: ; // 0x285d3fc /* 0285D3FC */ cpu->r[3] = 0x0000000Cu; /* 0285D400 */ Gambit_fn_02801A78(cpu); /* 0285D404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D408 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D408 */ _t18 = _t17 & 0x00000001u; /* 0285D408 */ if (_t18) goto L_0285D41C; else goto L_0285D40C; L_0285D40C: ; // 0x285d40c /* 0285D40C */ cpu->r[12] = cpu->r[3] + 0x00000004u; /* 0285D410 */ _t19 = cpu->r[3] + 0x00000000u; /* 0285D410 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); /* 0285D414 */ _t20 = cpu->r[12] + 0x00000004u; /* 0285D414 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]); /* 0285D418 */ _t21 = cpu->r[12] + 0x00000000u; /* 0285D418 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]); L_0285D41C: ; // 0x285d41c /* 0285D41C */ cpu->r[0] = 0x10130000u; /* 0285D420 */ _t22 = cpu->r[31] + 0x00000018u; /* 0285D420 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]); /* 0285D424 */ cpu->r[0] = cpu->r[0] + 0x00004D8Cu; /* 0285D428 */ _t23 = cpu->r[31] + 0x00000014u; /* 0285D428 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]); L_0285D42C: ; // 0x285d42c /* 0285D42C */ _t24 = cpu->r[1] + 0x00000014u; /* 0285D42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0285D430 */ cpu->r[3] = cpu->r[31]; /* 0285D434 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0285D434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0285D438 */ cpu->lr = cpu->r[0]; /* 0285D43C */ _t26 = cpu->r[1] + 0x00000008u; /* 0285D43C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 0285D440 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D444 */ return; } // fn_0285D448 @ 0x285d448 void Gambit_fn_0285D448(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_0285D448: ; // 0x285d448 /* 0285D448 */ cpu->r[0] = cpu->lr; /* 0285D44C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D44C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D44C */ cpu->r[1] = _t0; /* 0285D450 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285D450 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D454 */ cpu->r[30] = cpu->r[4]; /* 0285D458 */ cpu->r[4] = 0x00000004u; /* 0285D45C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D45C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285D460 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D460 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285D464 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285D464 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285D468 */ cpu->r[29] = cpu->r[3]; /* 0285D46C */ cpu->r[3] = 0x0000000Cu; /* 0285D470 */ Gambit_fn_02869E8C(cpu); /* 0285D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D478 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D478 */ _t6 = _t5 & 0x00000001u; /* 0285D478 */ if (_t6) goto L_0285D4B8; else goto L_0285D47C; L_0285D47C: ; // 0x285d47c /* 0285D47C */ cpu->r[31] = cpu->r[3]; /* 0285D47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D480 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D480 */ _t8 = _t7 & 0x00000001u; /* 0285D480 */ if (_t8) goto L_0285D4B8; else goto L_0285D484; L_0285D484: ; // 0x285d484 /* 0285D484 */ cpu->r[4] = 0x0000000Cu; /* 0285D488 */ cpu->r[3] = cpu->r[31]; /* 0285D48C */ Gambit_fn_02C89380(cpu); /* 0285D490 */ _t9 = cpu->r[31] + 0x00000008u; /* 0285D490 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285D494 */ cpu->r[12] = 0x00000000u; /* 0285D498 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu; /* 0285D49C */ _t10 = cpu->r[31] + 0x00000004u; /* 0285D49C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 0285D4A0 */ cpu->r[3] = cpu->r[29] + 0x00000008u; /* 0285D4A4 */ cpu->r[5] = cpu->r[31]; /* 0285D4A8 */ _t11 = cpu->r[31] + 0x00000000u; /* 0285D4A8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]); /* 0285D4AC */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285D4B0 */ _t12 = cpu->r[1] + 0x00000008u; /* 0285D4B0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 0285D4B4 */ Gambit_fn_028541A8(cpu); L_0285D4B8: ; // 0x285d4b8 /* 0285D4B8 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0285D4B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0285D4BC */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0285D4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0285D4C0 */ _t15 = cpu->r[1] + 0x00000010u; /* 0285D4C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0285D4C4 */ cpu->lr = cpu->r[0]; /* 0285D4C8 */ _t16 = cpu->r[1] + 0x00000014u; /* 0285D4C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0285D4CC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D4D0 */ return; } // fn_0285D44C @ 0x285d44c void Gambit_fn_0285D44C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_0285D44C: ; // 0x285d44c /* 0285D44C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D44C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D44C */ cpu->r[1] = _t0; /* 0285D450 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285D450 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D454 */ cpu->r[30] = cpu->r[4]; /* 0285D458 */ cpu->r[4] = 0x00000004u; /* 0285D45C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D45C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285D460 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D460 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285D464 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285D464 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285D468 */ cpu->r[29] = cpu->r[3]; /* 0285D46C */ cpu->r[3] = 0x0000000Cu; /* 0285D470 */ Gambit_fn_02869E8C(cpu); /* 0285D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D478 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D478 */ _t6 = _t5 & 0x00000001u; /* 0285D478 */ if (_t6) goto L_0285D4B8; else goto L_0285D47C; L_0285D47C: ; // 0x285d47c /* 0285D47C */ cpu->r[31] = cpu->r[3]; /* 0285D47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D480 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D480 */ _t8 = _t7 & 0x00000001u; /* 0285D480 */ if (_t8) goto L_0285D4B8; else goto L_0285D484; L_0285D484: ; // 0x285d484 /* 0285D484 */ cpu->r[4] = 0x0000000Cu; /* 0285D488 */ cpu->r[3] = cpu->r[31]; /* 0285D48C */ Gambit_fn_02C89380(cpu); /* 0285D490 */ _t9 = cpu->r[31] + 0x00000008u; /* 0285D490 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285D494 */ cpu->r[12] = 0x00000000u; /* 0285D498 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu; /* 0285D49C */ _t10 = cpu->r[31] + 0x00000004u; /* 0285D49C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 0285D4A0 */ cpu->r[3] = cpu->r[29] + 0x00000008u; /* 0285D4A4 */ cpu->r[5] = cpu->r[31]; /* 0285D4A8 */ _t11 = cpu->r[31] + 0x00000000u; /* 0285D4A8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]); /* 0285D4AC */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285D4B0 */ _t12 = cpu->r[1] + 0x00000008u; /* 0285D4B0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 0285D4B4 */ Gambit_fn_028541A8(cpu); L_0285D4B8: ; // 0x285d4b8 /* 0285D4B8 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0285D4B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0285D4BC */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0285D4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0285D4C0 */ _t15 = cpu->r[1] + 0x00000010u; /* 0285D4C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0285D4C4 */ cpu->lr = cpu->r[0]; /* 0285D4C8 */ _t16 = cpu->r[1] + 0x00000014u; /* 0285D4C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0285D4CC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D4D0 */ return; } // fn_0285D4D4 @ 0x285d4d4 void Gambit_fn_0285D4D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32; L_0285D4D4: ; // 0x285d4d4 /* 0285D4D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285D4D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D4D4 */ cpu->r[1] = _t0; /* 0285D4D8 */ cpu->r[0] = cpu->lr; /* 0285D4DC */ /* nop */ /* 0285D4E0 */ cpu->r[30] = cpu->r[3]; /* 0285D4E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285D4E4 */ cpu->r[28] = cpu->r[4]; /* 0285D4E8 */ _t1 = cpu->r[1] + 0x00000024u; /* 0285D4E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285D4EC */ cpu->r[29] = cpu->r[5]; /* 0285D4F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D4F0 */ _t3 = _t2 & 0x00000001u; /* 0285D4F0 */ if (_t3) goto L_0285D4F4; else goto L_0285D504; L_0285D4F4: ; // 0x285d4f4 /* 0285D4F4 */ cpu->r[3] = 0x00000020u; /* 0285D4F8 */ Gambit_fn_02801A78(cpu); /* 0285D4FC */ cpu->r[30] = cpu->r[3]; /* 0285D4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285D500 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D500 */ _t5 = _t4 & 0x00000001u; /* 0285D500 */ if (_t5) goto L_0285D5BC; else goto L_0285D504; L_0285D504: ; // 0x285d504 /* 0285D504 */ cpu->r[31] = 0x00000000u; /* 0285D508 */ cpu->r[9] = 0x10130000u; /* 0285D50C */ _t6 = cpu->r[30] + 0x00000000u; /* 0285D50C */ rbrew_write32(cpu->mem, _t6, cpu->r[31]); /* 0285D510 */ cpu->r[9] = cpu->r[9] + 0x00004D90u; /* 0285D514 */ _t7 = cpu->r[30] + 0x00000004u; /* 0285D514 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]); /* 0285D518 */ cpu->r[3] = cpu->r[30] + 0x00000008u; /* 0285D518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D51C */ _t8 = cpu->r[30] + 0x0000001Cu; /* 0285D51C */ rbrew_write32(cpu->mem, _t8, cpu->r[9]); /* 0285D520 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D520 */ _t10 = _t9 & 0x00000001u; /* 0285D520 */ if (_t10) goto L_0285D524; else goto L_0285D534; L_0285D524: ; // 0x285d524 /* 0285D524 */ cpu->r[3] = 0x0000000Cu; /* 0285D528 */ Gambit_fn_02801A78(cpu); /* 0285D52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D530 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D530 */ _t12 = _t11 & 0x00000001u; /* 0285D530 */ if (_t12) goto L_0285D55C; else goto L_0285D534; L_0285D534: ; // 0x285d534 /* 0285D534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D538 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D538 */ _t14 = _t13 & 0x00000001u; /* 0285D538 */ if (_t14) goto L_0285D53C; else goto L_0285D54C; L_0285D53C: ; // 0x285d53c /* 0285D53C */ cpu->r[3] = 0x0000000Cu; /* 0285D540 */ Gambit_fn_02801A78(cpu); /* 0285D544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D548 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D548 */ _t16 = _t15 & 0x00000001u; /* 0285D548 */ if (_t16) goto L_0285D55C; else goto L_0285D54C; L_0285D54C: ; // 0x285d54c /* 0285D54C */ cpu->r[6] = cpu->r[3] + 0x00000004u; /* 0285D550 */ _t17 = cpu->r[3] + 0x00000000u; /* 0285D550 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]); /* 0285D554 */ _t18 = cpu->r[6] + 0x00000004u; /* 0285D554 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]); /* 0285D558 */ _t19 = cpu->r[6] + 0x00000000u; /* 0285D558 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]); L_0285D55C: ; // 0x285d55c /* 0285D55C */ _t20 = cpu->r[30] + 0x00000018u; /* 0285D55C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[31]); /* 0285D560 */ cpu->r[10] = cpu->r[28] + 0x00000008u; /* 0285D564 */ _t21 = cpu->r[30] + 0x00000014u; /* 0285D564 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]); /* 0285D568 */ _t22 = cpu->r[28] + 0x0000002Au; /* 0285D568 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22); /* 0285D56C */ cpu->r[27] = 0x00000000u; /* 0285D570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]); /* 0285D574 */ cpu->r[31] = cpu->r[28] + 0x0000002Cu; /* 0285D578 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285D578 */ _t24 = _t23 & 0x00000001u; /* 0285D578 */ if (_t24) goto L_0285D57C; else goto L_0285D5BC; L_0285D57C: ; // 0x285d57c /* 0285D57C */ _t25 = cpu->r[29] + 0x00000008u; /* 0285D57C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25); /* 0285D580 */ _t26 = cpu->r[12] + 0x0000005Cu; /* 0285D580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0285D584 */ cpu->ctr = cpu->r[0]; /* 0285D588 */ cpu->r[3] = cpu->r[29]; /* 0285D58C */ cpu->r[4] = cpu->r[31]; /* 0285D590 */ cpu->r[5] = 0x00000001u; /* 0285D594 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285D598 */ cpu->r[4] = cpu->r[3]; /* 0285D598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285D59C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D59C */ _t28 = _t27 & 0x00000001u; /* 0285D59C */ if (_t28) goto L_0285D5A8; else goto L_0285D5A0; L_0285D5A0: ; // 0x285d5a0 /* 0285D5A0 */ cpu->r[3] = cpu->r[30]; /* 0285D5A4 */ Gambit_fn_0285D448(cpu); L_0285D5A8: ; // 0x285d5a8 /* 0285D5A8 */ _t29 = cpu->r[28] + 0x0000002Au; /* 0285D5A8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29); /* 0285D5AC */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 0285D5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]); /* 0285D5B4 */ cpu->r[31] = cpu->r[31] + 0x00000018u; /* 0285D5B8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285D5B8 */ _t31 = _t30 & 0x00000001u; /* 0285D5B8 */ if (_t31) goto L_0285D57C; else goto L_0285D5BC; L_0285D5BC: ; // 0x285d5bc /* 0285D5BC */ cpu->r[3] = cpu->r[30]; /* 0285D5C0 */ /* nop */ /* 0285D5C4 */ _t32 = cpu->r[1] + 0x00000024u; /* 0285D5C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0285D5C8 */ cpu->lr = cpu->r[0]; /* 0285D5CC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285D5D0 */ return; } // fn_0285D5D4 @ 0x285d5d4 void Gambit_fn_0285D5D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_0285D5D4: ; // 0x285d5d4 /* 0285D5D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285D5D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D5D4 */ cpu->r[1] = _t0; /* 0285D5D8 */ cpu->r[0] = cpu->lr; /* 0285D5DC */ /* nop */ /* 0285D5E0 */ cpu->r[30] = cpu->r[3]; /* 0285D5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285D5E4 */ cpu->r[31] = cpu->r[4]; /* 0285D5E8 */ _t1 = cpu->r[1] + 0x00000024u; /* 0285D5E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285D5EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D5EC */ _t3 = _t2 & 0x00000001u; /* 0285D5EC */ if (_t3) goto L_0285D66C; else goto L_0285D5F0; L_0285D5F0: ; // 0x285d5f0 /* 0285D5F0 */ _t4 = cpu->r[30] + 0x0000000Cu; /* 0285D5F0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4); /* 0285D5F4 */ cpu->r[29] = cpu->r[30] + 0x0000000Cu; /* 0285D5F8 */ cpu->r[6] = cpu->r[27] ^ cpu->r[29]; /* 0285D5FC */ cpu->r[0] = rbrew_clz32(cpu->r[6]); /* 0285D600 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D604 */ cpu->r[11] = 0x10130000u; /* 0285D608 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u; /* 0285D60C */ cpu->r[11] = cpu->r[11] + 0x00004D90u; /* 0285D610 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D614 */ _t5 = cpu->r[30] + 0x0000001Cu; /* 0285D614 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 0285D618 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D618 */ _t7 = _t6 & 0x00000001u; /* 0285D618 */ if (_t7) goto L_0285D65C; else goto L_0285D61C; L_0285D61C: ; // 0x285d61c /* 0285D61C */ cpu->r[28] = cpu->r[27]; /* 0285D620 */ _t8 = cpu->r[27] + 0x00000000u; /* 0285D620 */ cpu->r[27] = rbrew_read32(cpu->mem, _t8); /* 0285D624 */ cpu->r[3] = cpu->r[30] + 0x00000008u; /* 0285D628 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285D62C */ _t9 = cpu->r[1] + 0x00000008u; /* 0285D62C */ rbrew_write32(cpu->mem, _t9, cpu->r[28]); /* 0285D630 */ Gambit_fn_02854250(cpu); /* 0285D634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0285D638 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D638 */ _t11 = _t10 & 0x00000001u; /* 0285D638 */ if (_t11) goto L_0285D644; else goto L_0285D63C; L_0285D63C: ; // 0x285d63c /* 0285D63C */ cpu->r[3] = cpu->r[28]; /* 0285D640 */ Gambit_fn_02869EAC(cpu); L_0285D644: ; // 0x285d644 /* 0285D644 */ cpu->r[0] = cpu->r[27] ^ cpu->r[29]; /* 0285D648 */ cpu->r[10] = rbrew_clz32(cpu->r[0]); /* 0285D64C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D650 */ cpu->r[11] = cpu->r[0] ^ 0x00000001u; /* 0285D654 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285D658 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D658 */ _t13 = _t12 & 0x00000001u; /* 0285D658 */ if (_t13) goto L_0285D65C; else goto L_0285D61C; L_0285D65C: ; // 0x285d65c /* 0285D65C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285D65C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285D660 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D660 */ _t15 = _t14 & 0x00000001u; /* 0285D660 */ if (_t15) goto L_0285D66C; else goto L_0285D664; L_0285D664: ; // 0x285d664 /* 0285D664 */ cpu->r[3] = cpu->r[30]; /* 0285D668 */ Gambit_fn_02801BB0(cpu); L_0285D66C: ; // 0x285d66c /* 0285D66C */ /* nop */ /* 0285D670 */ _t16 = cpu->r[1] + 0x00000024u; /* 0285D670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0285D674 */ cpu->lr = cpu->r[0]; /* 0285D678 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285D67C */ return; } // fn_0285D680 @ 0x285d680 void Gambit_fn_0285D680(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20; L_0285D680: ; // 0x285d680 /* 0285D680 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285D680 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D680 */ cpu->r[1] = _t0; /* 0285D684 */ cpu->r[0] = cpu->lr; /* 0285D688 */ /* nop */ /* 0285D68C */ cpu->r[28] = cpu->r[3]; /* 0285D68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0285D690 */ cpu->r[27] = cpu->r[4]; /* 0285D694 */ _t1 = cpu->r[1] + 0x00000024u; /* 0285D694 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285D698 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D698 */ _t3 = _t2 & 0x00000001u; /* 0285D698 */ if (_t3) goto L_0285D730; else goto L_0285D69C; L_0285D69C: ; // 0x285d69c /* 0285D69C */ _t4 = cpu->r[28] + 0x00000004u; /* 0285D69C */ cpu->r[29] = rbrew_read32(cpu->mem, _t4); /* 0285D6A0 */ cpu->r[30] = cpu->r[28] + 0x00000004u; /* 0285D6A4 */ cpu->r[0] = cpu->r[29] ^ cpu->r[30]; /* 0285D6A8 */ cpu->r[8] = rbrew_clz32(cpu->r[0]); /* 0285D6AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D6B0 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u; /* 0285D6B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D6B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D6B8 */ _t6 = _t5 & 0x00000001u; /* 0285D6B8 */ if (_t6) goto L_0285D720; else goto L_0285D6BC; L_0285D6BC: ; // 0x285d6bc /* 0285D6BC */ cpu->r[31] = cpu->r[29]; /* 0285D6C0 */ _t7 = cpu->r[29] + 0x00000000u; /* 0285D6C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0285D6C4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285D6C8 */ cpu->r[3] = cpu->r[28]; /* 0285D6CC */ _t8 = cpu->r[1] + 0x00000008u; /* 0285D6CC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]); /* 0285D6D0 */ Gambit_fn_02854250(cpu); /* 0285D6D4 */ _t9 = cpu->r[31] + 0x00000018u; /* 0285D6D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9); /* 0285D6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D6DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D6DC */ _t11 = _t10 & 0x00000001u; /* 0285D6DC */ if (_t11) goto L_0285D6E0; else goto L_0285D708; L_0285D6E0: ; // 0x285d6e0 /* 0285D6E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D6E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D6E4 */ _t13 = _t12 & 0x00000001u; /* 0285D6E4 */ if (_t13) goto L_0285D708; else goto L_0285D6E8; L_0285D6E8: ; // 0x285d6e8 /* 0285D6E8 */ _t14 = cpu->r[31] + 0x0000001Cu; /* 0285D6E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 0285D6EC */ _t15 = cpu->r[11] + 0x0000000Cu; /* 0285D6EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0285D6F0 */ cpu->ctr = cpu->r[0]; /* 0285D6F4 */ cpu->r[3] = cpu->r[31]; /* 0285D6F8 */ cpu->r[4] = 0x00000002u; /* 0285D6FC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285D700 */ cpu->r[3] = cpu->r[31]; /* 0285D704 */ Gambit_fn_02869EAC(cpu); L_0285D708: ; // 0x285d708 /* 0285D708 */ cpu->r[9] = cpu->r[29] ^ cpu->r[30]; /* 0285D70C */ cpu->r[10] = rbrew_clz32(cpu->r[9]); /* 0285D710 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D714 */ cpu->r[12] = cpu->r[0] ^ 0x00000001u; /* 0285D718 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285D71C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D71C */ _t17 = _t16 & 0x00000001u; /* 0285D71C */ if (_t17) goto L_0285D720; else goto L_0285D6BC; L_0285D720: ; // 0x285d720 /* 0285D720 */ cpu->r[9] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285D720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285D724 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D724 */ _t19 = _t18 & 0x00000001u; /* 0285D724 */ if (_t19) goto L_0285D730; else goto L_0285D728; L_0285D728: ; // 0x285d728 /* 0285D728 */ cpu->r[3] = cpu->r[28]; /* 0285D72C */ Gambit_fn_02801BB0(cpu); L_0285D730: ; // 0x285d730 /* 0285D730 */ /* nop */ /* 0285D734 */ _t20 = cpu->r[1] + 0x00000024u; /* 0285D734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0285D738 */ cpu->lr = cpu->r[0]; /* 0285D73C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285D740 */ return; } // fn_0285D744 @ 0x285d744 void Gambit_fn_0285D744(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285D744: ; // 0x285d744 /* 0285D744 */ cpu->r[0] = cpu->lr; /* 0285D748 */ cpu->r[5] = cpu->r[4]; /* 0285D74C */ _t0 = cpu->r[1] + 0x00000004u; /* 0285D74C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285D750 */ cpu->r[0] = cpu->r[3] + 0x00000004u; /* 0285D754 */ _t1 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D754 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285D754 */ cpu->r[1] = _t1; /* 0285D758 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285D75C */ _t2 = cpu->r[1] + 0x00000008u; /* 0285D75C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285D760 */ Gambit_fn_028541A8(cpu); /* 0285D764 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285D764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0285D768 */ cpu->lr = cpu->r[0]; /* 0285D76C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D770 */ return; } // fn_0285D754 @ 0x285d754 void Gambit_fn_0285D754(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0285D754: ; // 0x285d754 /* 0285D754 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D754 */ cpu->r[1] = _t0; /* 0285D758 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285D75C */ _t1 = cpu->r[1] + 0x00000008u; /* 0285D75C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285D760 */ Gambit_fn_028541A8(cpu); /* 0285D764 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 0285D764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0285D768 */ cpu->lr = cpu->r[0]; /* 0285D76C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D770 */ return; } // fn_0285D774 @ 0x285d774 void Gambit_fn_0285D774(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_0285D774: ; // 0x285d774 /* 0285D774 */ cpu->r[0] = cpu->lr; /* 0285D778 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D778 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D778 */ cpu->r[1] = _t0; /* 0285D77C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285D77C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0285D780 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285D780 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285D784 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D784 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285D788 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285D788 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285D78C */ _t5 = cpu->r[3] + 0x00000004u; /* 0285D78C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 0285D790 */ cpu->r[29] = cpu->r[3] + 0x00000004u; /* 0285D794 */ cpu->r[11] = cpu->r[31] ^ cpu->r[29]; /* 0285D798 */ cpu->r[0] = rbrew_clz32(cpu->r[11]); /* 0285D79C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D7A0 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u; /* 0285D7A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D7A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D7A8 */ cpu->r[30] = cpu->r[4]; /* 0285D7AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D7AC */ _t7 = _t6 & 0x00000001u; /* 0285D7AC */ if (_t7) goto L_0285D7E0; else goto L_0285D7B0; L_0285D7B0: ; // 0x285d7b0 /* 0285D7B0 */ _t8 = cpu->r[31] + 0x00000014u; /* 0285D7B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 0285D7B4 */ cpu->r[4] = cpu->r[30]; /* 0285D7B8 */ Gambit_fn_0285D804(cpu); /* 0285D7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D7C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D7C0 */ _t10 = _t9 & 0x00000001u; /* 0285D7C0 */ if (_t10) goto L_0285D7C4; else goto L_0285D7E4; L_0285D7C4: ; // 0x285d7c4 /* 0285D7C4 */ _t11 = cpu->r[31] + 0x00000000u; /* 0285D7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0285D7C8 */ cpu->r[11] = cpu->r[31] ^ cpu->r[29]; /* 0285D7CC */ cpu->r[0] = rbrew_clz32(cpu->r[11]); /* 0285D7D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D7D4 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u; /* 0285D7D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285D7DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D7DC */ _t13 = _t12 & 0x00000001u; /* 0285D7DC */ if (_t13) goto L_0285D7E0; else goto L_0285D7B0; L_0285D7E0: ; // 0x285d7e0 /* 0285D7E0 */ cpu->r[31] = 0x00000000u; L_0285D7E4: ; // 0x285d7e4 /* 0285D7E4 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0285D7E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14); /* 0285D7E8 */ _t15 = cpu->r[1] + 0x0000001Cu; /* 0285D7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0285D7EC */ cpu->r[3] = cpu->r[31]; /* 0285D7F0 */ _t16 = cpu->r[1] + 0x00000010u; /* 0285D7F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 0285D7F4 */ cpu->lr = cpu->r[0]; /* 0285D7F8 */ _t17 = cpu->r[1] + 0x00000014u; /* 0285D7F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 0285D7FC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D800 */ return; } // fn_0285D778 @ 0x285d778 void Gambit_fn_0285D778(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_0285D778: ; // 0x285d778 /* 0285D778 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D778 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D778 */ cpu->r[1] = _t0; /* 0285D77C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285D77C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0285D780 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285D780 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285D784 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D784 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285D788 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285D788 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285D78C */ _t5 = cpu->r[3] + 0x00000004u; /* 0285D78C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 0285D790 */ cpu->r[29] = cpu->r[3] + 0x00000004u; /* 0285D794 */ cpu->r[11] = cpu->r[31] ^ cpu->r[29]; /* 0285D798 */ cpu->r[0] = rbrew_clz32(cpu->r[11]); /* 0285D79C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D7A0 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u; /* 0285D7A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D7A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D7A8 */ cpu->r[30] = cpu->r[4]; /* 0285D7AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D7AC */ _t7 = _t6 & 0x00000001u; /* 0285D7AC */ if (_t7) goto L_0285D7E0; else goto L_0285D7B0; L_0285D7B0: ; // 0x285d7b0 /* 0285D7B0 */ _t8 = cpu->r[31] + 0x00000014u; /* 0285D7B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 0285D7B4 */ cpu->r[4] = cpu->r[30]; /* 0285D7B8 */ Gambit_fn_0285D804(cpu); /* 0285D7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D7C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D7C0 */ _t10 = _t9 & 0x00000001u; /* 0285D7C0 */ if (_t10) goto L_0285D7C4; else goto L_0285D7E4; L_0285D7C4: ; // 0x285d7c4 /* 0285D7C4 */ _t11 = cpu->r[31] + 0x00000000u; /* 0285D7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0285D7C8 */ cpu->r[11] = cpu->r[31] ^ cpu->r[29]; /* 0285D7CC */ cpu->r[0] = rbrew_clz32(cpu->r[11]); /* 0285D7D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285D7D4 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u; /* 0285D7D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285D7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285D7DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D7DC */ _t13 = _t12 & 0x00000001u; /* 0285D7DC */ if (_t13) goto L_0285D7E0; else goto L_0285D7B0; L_0285D7E0: ; // 0x285d7e0 /* 0285D7E0 */ cpu->r[31] = 0x00000000u; L_0285D7E4: ; // 0x285d7e4 /* 0285D7E4 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0285D7E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14); /* 0285D7E8 */ _t15 = cpu->r[1] + 0x0000001Cu; /* 0285D7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0285D7EC */ cpu->r[3] = cpu->r[31]; /* 0285D7F0 */ _t16 = cpu->r[1] + 0x00000010u; /* 0285D7F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 0285D7F4 */ cpu->lr = cpu->r[0]; /* 0285D7F8 */ _t17 = cpu->r[1] + 0x00000014u; /* 0285D7F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 0285D7FC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D800 */ return; } // fn_0285D804 @ 0x285d804 void Gambit_fn_0285D804(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285D804: ; // 0x285d804 /* 0285D804 */ cpu->r[9] = 0x00000020u; /* 0285D808 */ cpu->ctr = cpu->r[9]; /* 0285D80C */ cpu->r[12] = 0x00000000u; L_0285D810: ; // 0x285d810 /* 0285D810 */ _t0 = cpu->r[3] + cpu->r[12]; /* 0285D810 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 0285D814 */ _t1 = cpu->r[4] + cpu->r[12]; /* 0285D814 */ cpu->r[10] = rbrew_read8(cpu->mem, _t1); /* 0285D818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 0285D81C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D81C */ _t3 = _t2 & 0x00000001u; /* 0285D81C */ if (_t3) goto L_0285D828; else goto L_0285D820; L_0285D820: ; // 0x285d820 /* 0285D820 */ cpu->r[3] = 0x00000000u; /* 0285D824 */ return; L_0285D828: ; // 0x285d828 /* 0285D828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D82C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D82C */ _t5 = _t4 & 0x00000001u; /* 0285D82C */ if (_t5) goto L_0285D838; else goto L_0285D830; L_0285D830: ; // 0x285d830 /* 0285D830 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0285D834 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285D834 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285D834 */ _t7 = _t6 >> (0x00000002u & 31u); /* 0285D834 */ _t8 = _t7 & 0x00000001u; /* 0285D834 */ if (_t8) goto L_0285D810; else goto L_0285D838; L_0285D838: ; // 0x285d838 /* 0285D838 */ cpu->r[3] = 0x00000001u; /* 0285D83C */ return; } // fn_0285D840 @ 0x285d840 void Gambit_fn_0285D840(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0285D840: ; // 0x285d840 /* 0285D840 */ cpu->r[0] = cpu->lr; /* 0285D844 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D844 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D844 */ cpu->r[1] = _t0; /* 0285D848 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285D848 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285D84C */ cpu->r[31] = cpu->r[3]; /* 0285D850 */ cpu->r[3] = 0x101D0000u; /* 0285D854 */ cpu->r[3] = cpu->r[3] + 0xFFFFC540u; /* 0285D858 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285D858 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285D85C */ _t3 = cpu->cr[1] >> (0x00000001u & 31u); /* 0285D85C */ _t4 = _t3 & 0x00000001u; /* 0285D85C */ if (_t4) goto L_0285D860; // else: addr-0 trap, fall-through L_0285D860: ; // 0x285d860 /* 0285D860 */ Gambit_fn_02C6AD08(cpu); /* 0285D864 */ cpu->r[3] = cpu->r[31]; /* 0285D868 */ Gambit_fn_02869E80(cpu); /* 0285D86C */ _t5 = cpu->r[1] + 0x00000014u; /* 0285D86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0285D870 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0285D870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0285D874 */ cpu->lr = cpu->r[0]; /* 0285D878 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D87C */ return; } // fn_0285D844 @ 0x285d844 void Gambit_fn_0285D844(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0285D844: ; // 0x285d844 /* 0285D844 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D844 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D844 */ cpu->r[1] = _t0; /* 0285D848 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285D848 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285D84C */ cpu->r[31] = cpu->r[3]; /* 0285D850 */ cpu->r[3] = 0x101D0000u; /* 0285D854 */ cpu->r[3] = cpu->r[3] + 0xFFFFC540u; /* 0285D858 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285D858 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285D85C */ _t3 = cpu->cr[1] >> (0x00000001u & 31u); /* 0285D85C */ _t4 = _t3 & 0x00000001u; /* 0285D85C */ if (_t4) goto L_0285D860; // else: addr-0 trap, fall-through L_0285D860: ; // 0x285d860 /* 0285D860 */ Gambit_fn_02C6AD08(cpu); /* 0285D864 */ cpu->r[3] = cpu->r[31]; /* 0285D868 */ Gambit_fn_02869E80(cpu); /* 0285D86C */ _t5 = cpu->r[1] + 0x00000014u; /* 0285D86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0285D870 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0285D870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0285D874 */ cpu->lr = cpu->r[0]; /* 0285D878 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D87C */ return; } // fn_0285D880 @ 0x285d880 void Gambit_fn_0285D880(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_0285D880: ; // 0x285d880 /* 0285D880 */ cpu->r[0] = cpu->lr; /* 0285D884 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D884 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D884 */ cpu->r[1] = _t0; /* 0285D888 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285D888 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285D88C */ _t2 = cpu->r[1] + 0x00000010u; /* 0285D88C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285D890 */ cpu->r[30] = cpu->r[6]; /* 0285D894 */ cpu->r[31] = cpu->r[3]; /* 0285D894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D898 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285D898 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285D89C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285D89C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285D8A0 */ cpu->r[29] = cpu->r[4]; /* 0285D8A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D8A4 */ _t6 = _t5 & 0x00000001u; /* 0285D8A4 */ if (_t6) goto L_0285D8A8; else goto L_0285D8B8; L_0285D8A8: ; // 0x285d8a8 /* 0285D8A8 */ cpu->r[3] = 0x000000B0u; /* 0285D8AC */ Gambit_fn_02801A78(cpu); /* 0285D8B0 */ cpu->r[31] = cpu->r[3]; /* 0285D8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D8B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D8B4 */ _t8 = _t7 & 0x00000001u; /* 0285D8B4 */ if (_t8) goto L_0285D8E4; else goto L_0285D8B8; L_0285D8B8: ; // 0x285d8b8 /* 0285D8B8 */ cpu->r[3] = cpu->r[31]; /* 0285D8BC */ cpu->r[4] = cpu->r[29]; /* 0285D8C0 */ cpu->r[5] = cpu->r[30]; /* 0285D8C4 */ Gambit_fn_0285F268(cpu); /* 0285D8C8 */ cpu->r[0] = 0x10130000u; /* 0285D8CC */ cpu->r[12] = 0x00000000u; /* 0285D8D0 */ cpu->r[0] = cpu->r[0] + 0x00004DA0u; /* 0285D8D4 */ _t9 = cpu->r[31] + 0x000000ACu; /* 0285D8D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 0285D8D8 */ _t10 = cpu->r[31] + 0x00000008u; /* 0285D8D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0285D8DC */ _t11 = cpu->r[31] + 0x000000A4u; /* 0285D8DC */ rbrew_write32(cpu->mem, _t11, cpu->r[12]); /* 0285D8E0 */ _t12 = cpu->r[31] + 0x000000A8u; /* 0285D8E0 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]); L_0285D8E4: ; // 0x285d8e4 /* 0285D8E4 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0285D8E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0285D8E8 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0285D8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0285D8EC */ cpu->r[3] = cpu->r[31]; /* 0285D8F0 */ _t15 = cpu->r[1] + 0x00000010u; /* 0285D8F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0285D8F4 */ cpu->lr = cpu->r[0]; /* 0285D8F8 */ _t16 = cpu->r[1] + 0x00000014u; /* 0285D8F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0285D8FC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D900 */ return; } // fn_0285D884 @ 0x285d884 void Gambit_fn_0285D884(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_0285D884: ; // 0x285d884 /* 0285D884 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285D884 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D884 */ cpu->r[1] = _t0; /* 0285D888 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285D888 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285D88C */ _t2 = cpu->r[1] + 0x00000010u; /* 0285D88C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285D890 */ cpu->r[30] = cpu->r[6]; /* 0285D894 */ cpu->r[31] = cpu->r[3]; /* 0285D894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D898 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285D898 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285D89C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285D89C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285D8A0 */ cpu->r[29] = cpu->r[4]; /* 0285D8A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D8A4 */ _t6 = _t5 & 0x00000001u; /* 0285D8A4 */ if (_t6) goto L_0285D8A8; else goto L_0285D8B8; L_0285D8A8: ; // 0x285d8a8 /* 0285D8A8 */ cpu->r[3] = 0x000000B0u; /* 0285D8AC */ Gambit_fn_02801A78(cpu); /* 0285D8B0 */ cpu->r[31] = cpu->r[3]; /* 0285D8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D8B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D8B4 */ _t8 = _t7 & 0x00000001u; /* 0285D8B4 */ if (_t8) goto L_0285D8E4; else goto L_0285D8B8; L_0285D8B8: ; // 0x285d8b8 /* 0285D8B8 */ cpu->r[3] = cpu->r[31]; /* 0285D8BC */ cpu->r[4] = cpu->r[29]; /* 0285D8C0 */ cpu->r[5] = cpu->r[30]; /* 0285D8C4 */ Gambit_fn_0285F268(cpu); /* 0285D8C8 */ cpu->r[0] = 0x10130000u; /* 0285D8CC */ cpu->r[12] = 0x00000000u; /* 0285D8D0 */ cpu->r[0] = cpu->r[0] + 0x00004DA0u; /* 0285D8D4 */ _t9 = cpu->r[31] + 0x000000ACu; /* 0285D8D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 0285D8D8 */ _t10 = cpu->r[31] + 0x00000008u; /* 0285D8D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0285D8DC */ _t11 = cpu->r[31] + 0x000000A4u; /* 0285D8DC */ rbrew_write32(cpu->mem, _t11, cpu->r[12]); /* 0285D8E0 */ _t12 = cpu->r[31] + 0x000000A8u; /* 0285D8E0 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]); L_0285D8E4: ; // 0x285d8e4 /* 0285D8E4 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0285D8E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0285D8E8 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0285D8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0285D8EC */ cpu->r[3] = cpu->r[31]; /* 0285D8F0 */ _t15 = cpu->r[1] + 0x00000010u; /* 0285D8F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0285D8F4 */ cpu->lr = cpu->r[0]; /* 0285D8F8 */ _t16 = cpu->r[1] + 0x00000014u; /* 0285D8F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0285D8FC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285D900 */ return; } // fn_0285D904 @ 0x285d904 void Gambit_fn_0285D904(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285D904: ; // 0x285d904 /* 0285D904 */ cpu->r[0] = cpu->lr; /* 0285D908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D908 */ cpu->r[1] = _t0; /* 0285D90C */ _t1 = cpu->r[1] + 0x00000008u; /* 0285D90C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D910 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D910 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285D914 */ cpu->r[31] = cpu->r[3]; /* 0285D914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D918 */ cpu->r[30] = cpu->r[4]; /* 0285D91C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285D920 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D920 */ _t5 = _t4 & 0x00000001u; /* 0285D920 */ if (_t5) goto L_0285D940; else goto L_0285D924; L_0285D924: ; // 0x285d924 /* 0285D924 */ cpu->r[3] = cpu->r[31]; /* 0285D928 */ cpu->r[4] = 0x00000000u; /* 0285D92C */ Gambit_fn_0285F770(cpu); /* 0285D930 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285D930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D934 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D934 */ _t7 = _t6 & 0x00000001u; /* 0285D934 */ if (_t7) goto L_0285D940; else goto L_0285D938; L_0285D938: ; // 0x285d938 /* 0285D938 */ cpu->r[3] = cpu->r[31]; /* 0285D93C */ Gambit_fn_02801BB0(cpu); L_0285D940: ; // 0x285d940 /* 0285D940 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285D940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285D944 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285D944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285D948 */ cpu->lr = cpu->r[0]; /* 0285D94C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285D94C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285D950 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D954 */ return; } // fn_0285D908 @ 0x285d908 void Gambit_fn_0285D908(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285D908: ; // 0x285d908 /* 0285D908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D908 */ cpu->r[1] = _t0; /* 0285D90C */ _t1 = cpu->r[1] + 0x00000008u; /* 0285D90C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D910 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D910 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285D914 */ cpu->r[31] = cpu->r[3]; /* 0285D914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D918 */ cpu->r[30] = cpu->r[4]; /* 0285D91C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285D920 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D920 */ _t5 = _t4 & 0x00000001u; /* 0285D920 */ if (_t5) goto L_0285D940; else goto L_0285D924; L_0285D924: ; // 0x285d924 /* 0285D924 */ cpu->r[3] = cpu->r[31]; /* 0285D928 */ cpu->r[4] = 0x00000000u; /* 0285D92C */ Gambit_fn_0285F770(cpu); /* 0285D930 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285D930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285D934 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D934 */ _t7 = _t6 & 0x00000001u; /* 0285D934 */ if (_t7) goto L_0285D940; else goto L_0285D938; L_0285D938: ; // 0x285d938 /* 0285D938 */ cpu->r[3] = cpu->r[31]; /* 0285D93C */ Gambit_fn_02801BB0(cpu); L_0285D940: ; // 0x285d940 /* 0285D940 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285D940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285D944 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285D944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285D948 */ cpu->lr = cpu->r[0]; /* 0285D94C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285D94C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285D950 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D954 */ return; } // fn_0285D958 @ 0x285d958 void Gambit_fn_0285D958(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285D958: ; // 0x285d958 /* 0285D958 */ cpu->r[0] = cpu->lr; /* 0285D95C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D95C */ cpu->r[1] = _t0; /* 0285D960 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285D960 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D964 */ cpu->r[30] = cpu->r[3]; /* 0285D968 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D968 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285D96C */ cpu->r[3] = cpu->r[30] + 0x00000080u; /* 0285D970 */ cpu->r[31] = 0x00000000u; /* 0285D974 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D974 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285D978 */ Gambit_fn_0285B800(cpu); /* 0285D97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D980 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D980 */ _t5 = _t4 & 0x00000001u; /* 0285D980 */ if (_t5) goto L_0285D988; else goto L_0285D984; L_0285D984: ; // 0x285d984 /* 0285D984 */ cpu->r[31] = cpu->r[30]; L_0285D988: ; // 0x285d988 /* 0285D988 */ _t6 = cpu->r[1] + 0x00000014u; /* 0285D988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285D98C */ cpu->r[3] = cpu->r[31]; /* 0285D990 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0285D990 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0285D994 */ cpu->lr = cpu->r[0]; /* 0285D998 */ _t8 = cpu->r[1] + 0x00000008u; /* 0285D998 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 0285D99C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D9A0 */ return; } // fn_0285D95C @ 0x285d95c void Gambit_fn_0285D95C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285D95C: ; // 0x285d95c /* 0285D95C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285D95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D95C */ cpu->r[1] = _t0; /* 0285D960 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285D960 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285D964 */ cpu->r[30] = cpu->r[3]; /* 0285D968 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285D968 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285D96C */ cpu->r[3] = cpu->r[30] + 0x00000080u; /* 0285D970 */ cpu->r[31] = 0x00000000u; /* 0285D974 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285D974 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285D978 */ Gambit_fn_0285B800(cpu); /* 0285D97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285D980 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D980 */ _t5 = _t4 & 0x00000001u; /* 0285D980 */ if (_t5) goto L_0285D988; else goto L_0285D984; L_0285D984: ; // 0x285d984 /* 0285D984 */ cpu->r[31] = cpu->r[30]; L_0285D988: ; // 0x285d988 /* 0285D988 */ _t6 = cpu->r[1] + 0x00000014u; /* 0285D988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285D98C */ cpu->r[3] = cpu->r[31]; /* 0285D990 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0285D990 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0285D994 */ cpu->lr = cpu->r[0]; /* 0285D998 */ _t8 = cpu->r[1] + 0x00000008u; /* 0285D998 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 0285D99C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285D9A0 */ return; } // fn_0285D9A4 @ 0x285d9a4 void Gambit_fn_0285D9A4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0285D9A4: ; // 0x285d9a4 /* 0285D9A4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285D9A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285D9A4 */ cpu->r[1] = _t0; /* 0285D9A8 */ /* nop */ /* 0285D9AC */ cpu->r[0] = cpu->lr; /* 0285D9B0 */ _t1 = cpu->r[1] + 0x00000024u; /* 0285D9B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285D9B4 */ _t2 = cpu->r[3] + 0x00000008u; /* 0285D9B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0285D9B8 */ _t3 = cpu->r[10] + 0x00000054u; /* 0285D9B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 0285D9BC */ cpu->ctr = cpu->r[11]; /* 0285D9C0 */ cpu->r[30] = cpu->r[4]; /* 0285D9C4 */ cpu->r[28] = cpu->r[3]; /* 0285D9C8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285D9CC */ cpu->r[27] = cpu->r[3]; /* 0285D9CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0285D9D0 */ cpu->r[29] = 0x00000000u; /* 0285D9D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D9D4 */ _t5 = _t4 & 0x00000001u; /* 0285D9D4 */ if (_t5) goto L_0285DA18; else goto L_0285D9D8; L_0285D9D8: ; // 0x285d9d8 /* 0285D9D8 */ _t6 = cpu->r[28] + 0x00000008u; /* 0285D9D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0285D9DC */ _t7 = cpu->r[12] + 0x0000004Cu; /* 0285D9DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285D9E0 */ cpu->ctr = cpu->r[0]; /* 0285D9E4 */ cpu->r[3] = cpu->r[28]; /* 0285D9E8 */ cpu->r[4] = cpu->r[29]; /* 0285D9EC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285D9F0 */ cpu->r[31] = cpu->r[3]; /* 0285D9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285D9F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285D9F4 */ _t9 = _t8 & 0x00000001u; /* 0285D9F4 */ if (_t9) goto L_0285DA0C; else goto L_0285D9F8; L_0285D9F8: ; // 0x285d9f8 /* 0285D9F8 */ _t10 = cpu->r[31] + 0x00000018u; /* 0285D9F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0285D9FC */ cpu->r[4] = cpu->r[30]; /* 0285DA00 */ Gambit_fn_0285B83C(cpu); /* 0285DA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285DA08 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DA08 */ _t12 = _t11 & 0x00000001u; /* 0285DA08 */ if (_t12) goto L_0285DA0C; else goto L_0285DA1C; L_0285DA0C: ; // 0x285da0c /* 0285DA0C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; /* 0285DA0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0285DA10 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 0285DA14 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DA14 */ _t14 = _t13 & 0x00000001u; /* 0285DA14 */ if (_t14) goto L_0285DA18; else goto L_0285D9D8; L_0285DA18: ; // 0x285da18 /* 0285DA18 */ cpu->r[31] = 0x00000000u; L_0285DA1C: ; // 0x285da1c /* 0285DA1C */ cpu->r[3] = cpu->r[31]; /* 0285DA20 */ /* nop */ /* 0285DA24 */ _t15 = cpu->r[1] + 0x00000024u; /* 0285DA24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0285DA28 */ cpu->lr = cpu->r[0]; /* 0285DA2C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285DA30 */ return; } // fn_0285DA34 @ 0x285da34 void Gambit_fn_0285DA34(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285DA34: ; // 0x285da34 /* 0285DA34 */ cpu->r[11] = 0x101D0000u; /* 0285DA38 */ cpu->r[3] = 0x101D0000u; /* 0285DA3C */ _t0 = cpu->r[11] + 0xFFFFD7F4u; /* 0285DA3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 0285DA3C */ cpu->r[11] = _t0; /* 0285DA40 */ cpu->r[3] = cpu->r[3] + 0x00000F5Cu; /* 0285DA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285DA48 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DA48 */ _t2 = _t1 & 0x00000001u; /* 0285DA48 */ _t3 = _t2 ^ 0x00000001u; /* 0285DA48 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285DA48 */ goto L_0285DA4C; L_0285DA4C: ; // 0x285da4c /* 0285DA4C */ cpu->r[10] = 0x101D0000u; /* 0285DA50 */ cpu->r[12] = 0x101D0000u; /* 0285DA54 */ _t4 = cpu->r[10] + 0xFFFFD7ECu; /* 0285DA54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 0285DA54 */ cpu->r[10] = _t4; /* 0285DA58 */ cpu->r[0] = 0x00000001u; /* 0285DA5C */ cpu->r[12] = cpu->r[12] + 0x00000F38u; /* 0285DA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285DA64 */ _t5 = cpu->r[11] + 0x00000000u; /* 0285DA64 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285DA68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DA68 */ _t7 = _t6 & 0x00000001u; /* 0285DA68 */ if (_t7) goto L_0285DA6C; else goto L_0285DA7C; L_0285DA6C: ; // 0x285da6c /* 0285DA6C */ cpu->r[7] = 0x00000001u; /* 0285DA70 */ cpu->r[8] = 0x00000000u; /* 0285DA74 */ _t8 = cpu->r[10] + 0x00000000u; /* 0285DA74 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]); /* 0285DA78 */ _t9 = cpu->r[12] + 0x00000000u; /* 0285DA78 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); L_0285DA7C: ; // 0x285da7c /* 0285DA7C */ _t10 = cpu->r[3] + 0x00000000u; /* 0285DA7C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 0285DA80 */ return; } // fn_0285DA84 @ 0x285da84 void Gambit_fn_0285DA84(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22; L_0285DA84: ; // 0x285da84 /* 0285DA84 */ cpu->r[3] = cpu->r[3] + 0x000000B8u; /* 0285DA88 */ goto L_0286B804; L_0286B804: ; // 0x286b804 /* 0286B804 */ cpu->r[0] = cpu->lr; /* 0286B808 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0286B808 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0286B808 */ cpu->r[1] = _t0; /* 0286B80C */ _t1 = cpu->r[1] + 0x00000010u; /* 0286B80C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0286B810 */ cpu->r[30] = cpu->r[3]; /* 0286B814 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0286B814 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0286B818 */ _t3 = cpu->r[1] + 0x00000014u; /* 0286B818 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0286B81C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0286B81C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0286B820 */ _t5 = cpu->r[30] + 0x00000000u; /* 0286B820 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5); /* 0286B824 */ cpu->r[31] = cpu->r[4]; /* 0286B828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0286B82C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0286B82C */ _t7 = _t6 & 0x00000001u; /* 0286B82C */ if (_t7) goto L_0286B830; else goto L_0286B888; L_0286B830: ; // 0x286b830 /* 0286B830 */ cpu->r[3] = cpu->r[30]; /* 0286B834 */ Gambit_fn_0286B7AC(cpu); /* 0286B838 */ cpu->r[29] = cpu->r[31]; /* 0286B83C */ cpu->r[4] = 0x00000004u; /* 0286B840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000005u, 0x00000000u, 0x0000001Au); /* 0286B844 */ Gambit_fn_02869E8C(cpu); /* 0286B848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0286B84C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286B84C */ _t9 = _t8 & 0x00000001u; /* 0286B84C */ if (_t9) goto L_0286B850; else goto L_0286B874; L_0286B850: ; // 0x286b850 /* 0286B850 */ cpu->r[3] = 0x00000000u; /* 0286B854 */ _t10 = cpu->r[30] + 0x00000004u; /* 0286B854 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]); /* 0286B858 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0286B858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0286B85C */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0286B85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0286B860 */ _t13 = cpu->r[1] + 0x00000010u; /* 0286B860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0286B864 */ cpu->lr = cpu->r[0]; /* 0286B868 */ _t14 = cpu->r[1] + 0x00000014u; /* 0286B868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0286B86C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0286B870 */ return; L_0286B874: ; // 0x286b874 /* 0286B874 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0286B874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0286B878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0286B87C */ _t15 = cpu->r[30] + 0x00000004u; /* 0286B87C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]); /* 0286B880 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286B880 */ _t17 = _t16 & 0x00000001u; /* 0286B880 */ if (_t17) goto L_0286B888; else goto L_0286B884; L_0286B884: ; // 0x286b884 /* 0286B884 */ _t18 = cpu->r[30] + 0x00000000u; /* 0286B884 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[31]); L_0286B888: ; // 0x286b888 /* 0286B888 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0286B888 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0286B88C */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0286B88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0286B890 */ _t21 = cpu->r[1] + 0x00000010u; /* 0286B890 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0286B894 */ cpu->lr = cpu->r[0]; /* 0286B898 */ _t22 = cpu->r[1] + 0x00000014u; /* 0286B898 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0286B89C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0286B8A0 */ return; } // fn_0285DA8C @ 0x285da8c void Gambit_fn_0285DA8C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24; L_0285DA84: ; // 0x285da84 /* 0285DA84 */ cpu->r[3] = cpu->r[3] + 0x000000B8u; /* 0285DA88 */ goto L_0286B804; L_0285DA8C: ; // 0x285da8c /* 0285DA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285DA90 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DA90 */ _t1 = _t0 & 0x00000001u; /* 0285DA90 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285DA90 */ goto L_0285DA94; L_0285DA94: ; // 0x285da94 /* 0285DA94 */ goto L_0285DA84; L_0286B804: ; // 0x286b804 /* 0286B804 */ cpu->r[0] = cpu->lr; /* 0286B808 */ _t2 = cpu->r[1] + 0xFFFFFFE8u; /* 0286B808 */ rbrew_write32(cpu->mem, _t2, cpu->r[1]); /* 0286B808 */ cpu->r[1] = _t2; /* 0286B80C */ _t3 = cpu->r[1] + 0x00000010u; /* 0286B80C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0286B810 */ cpu->r[30] = cpu->r[3]; /* 0286B814 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0286B814 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0286B818 */ _t5 = cpu->r[1] + 0x00000014u; /* 0286B818 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]); /* 0286B81C */ _t6 = cpu->r[1] + 0x0000001Cu; /* 0286B81C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0286B820 */ _t7 = cpu->r[30] + 0x00000000u; /* 0286B820 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 0286B824 */ cpu->r[31] = cpu->r[4]; /* 0286B828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0286B82C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0286B82C */ _t9 = _t8 & 0x00000001u; /* 0286B82C */ if (_t9) goto L_0286B830; else goto L_0286B888; L_0286B830: ; // 0x286b830 /* 0286B830 */ cpu->r[3] = cpu->r[30]; /* 0286B834 */ Gambit_fn_0286B7AC(cpu); /* 0286B838 */ cpu->r[29] = cpu->r[31]; /* 0286B83C */ cpu->r[4] = 0x00000004u; /* 0286B840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000005u, 0x00000000u, 0x0000001Au); /* 0286B844 */ Gambit_fn_02869E8C(cpu); /* 0286B848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0286B84C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286B84C */ _t11 = _t10 & 0x00000001u; /* 0286B84C */ if (_t11) goto L_0286B850; else goto L_0286B874; L_0286B850: ; // 0x286b850 /* 0286B850 */ cpu->r[3] = 0x00000000u; /* 0286B854 */ _t12 = cpu->r[30] + 0x00000004u; /* 0286B854 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]); /* 0286B858 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0286B858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0286B85C */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0286B85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0286B860 */ _t15 = cpu->r[1] + 0x00000010u; /* 0286B860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0286B864 */ cpu->lr = cpu->r[0]; /* 0286B868 */ _t16 = cpu->r[1] + 0x00000014u; /* 0286B868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0286B86C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0286B870 */ return; L_0286B874: ; // 0x286b874 /* 0286B874 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0286B874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0286B878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0286B87C */ _t17 = cpu->r[30] + 0x00000004u; /* 0286B87C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 0286B880 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286B880 */ _t19 = _t18 & 0x00000001u; /* 0286B880 */ if (_t19) goto L_0286B888; else goto L_0286B884; L_0286B884: ; // 0x286b884 /* 0286B884 */ _t20 = cpu->r[30] + 0x00000000u; /* 0286B884 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[31]); L_0286B888: ; // 0x286b888 /* 0286B888 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 0286B888 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0286B88C */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0286B88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0286B890 */ _t23 = cpu->r[1] + 0x00000010u; /* 0286B890 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 0286B894 */ cpu->lr = cpu->r[0]; /* 0286B898 */ _t24 = cpu->r[1] + 0x00000014u; /* 0286B898 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0286B89C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0286B8A0 */ return; } // fn_0285DA98 @ 0x285da98 void Gambit_fn_0285DA98(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46; L_0285DA98: ; // 0x285da98 /* 0285DA98 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0285DA98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285DA98 */ cpu->r[1] = _t0; /* 0285DA9C */ cpu->r[0] = cpu->lr; /* 0285DAA0 */ /* nop */ /* 0285DAA4 */ cpu->r[30] = cpu->r[3]; /* 0285DAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285DAA8 */ cpu->r[26] = cpu->r[4]; /* 0285DAAC */ cpu->r[27] = cpu->r[5]; /* 0285DAB0 */ cpu->r[28] = cpu->r[6]; /* 0285DAB4 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0285DAB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285DAB8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DAB8 */ _t3 = _t2 & 0x00000001u; /* 0285DAB8 */ if (_t3) goto L_0285DABC; else goto L_0285DACC; L_0285DABC: ; // 0x285dabc /* 0285DABC */ cpu->r[3] = 0x000000C0u; /* 0285DAC0 */ Gambit_fn_02801A78(cpu); /* 0285DAC4 */ cpu->r[30] = cpu->r[3]; /* 0285DAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285DAC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DAC8 */ _t5 = _t4 & 0x00000001u; /* 0285DAC8 */ if (_t5) goto L_0285DC54; else goto L_0285DACC; L_0285DACC: ; // 0x285dacc /* 0285DACC */ cpu->r[3] = cpu->r[30]; /* 0285DAD0 */ cpu->r[4] = cpu->r[26]; /* 0285DAD4 */ cpu->r[5] = cpu->r[28]; /* 0285DAD8 */ Gambit_fn_0285F268(cpu); /* 0285DADC */ cpu->r[0] = 0x10130000u; /* 0285DAE0 */ cpu->r[4] = 0x00000004u; /* 0285DAE4 */ cpu->r[29] = cpu->r[30] + 0x000000A8u; /* 0285DAE8 */ cpu->r[0] = cpu->r[0] + 0x00004E58u; /* 0285DAEC */ cpu->r[6] = 0x02860000u; /* 0285DAF0 */ cpu->r[3] = cpu->r[29]; /* 0285DAF4 */ cpu->r[5] = cpu->r[4]; /* 0285DAF8 */ cpu->r[6] = cpu->r[6] + 0xFFFFE344u; /* 0285DAFC */ _t6 = cpu->r[30] + 0x00000008u; /* 0285DAFC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285DB00 */ Gambit_fn_02C82E00(cpu); /* 0285DB04 */ cpu->r[3] = cpu->r[30] + 0x000000B8u; /* 0285DB08 */ Gambit_fn_0286B768(cpu); /* 0285DB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0285DB10 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DB10 */ _t8 = _t7 & 0x00000001u; /* 0285DB10 */ if (_t8) goto L_0285DB58; else goto L_0285DB14; L_0285DB14: ; // 0x285db14 /* 0285DB14 */ _t9 = cpu->r[28] + 0x0000002Cu; /* 0285DB14 */ cpu->r[0] = rbrew_read16(cpu->mem, _t9); /* 0285DB18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285DB1C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DB1C */ _t11 = _t10 & 0x00000001u; /* 0285DB1C */ if (_t11) goto L_0285DB20; else goto L_0285DB58; L_0285DB20: ; // 0x285db20 /* 0285DB20 */ cpu->r[25] = cpu->r[27]; /* 0285DB24 */ _t12 = cpu->r[25] + 0x00000066u; /* 0285DB24 */ cpu->r[31] = rbrew_read8(cpu->mem, _t12); /* 0285DB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000003u); /* 0285DB2C */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285DB2C */ _t14 = _t13 & 0x00000001u; /* 0285DB2C */ if (_t14) goto L_0285DB30; else goto L_0285DB34; L_0285DB30: ; // 0x285db30 /* 0285DB30 */ cpu->r[31] = 0x00000003u; L_0285DB34: ; // 0x285db34 /* 0285DB34 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285DB38 */ cpu->r[3] = cpu->r[30]; /* 0285DB3C */ cpu->r[4] = cpu->r[31]; /* 0285DB40 */ Gambit_fn_0285DA8C(cpu); /* 0285DB44 */ cpu->r[0] = 0x00000004u; /* 0285DB48 */ cpu->r[9] = 0x00000000u; /* 0285DB4C */ cpu->r[4] = cpu->r[25] + 0x00000054u; /* 0285DB50 */ cpu->ctr = cpu->r[0]; /* 0285DB54 */ goto L_0285DB8C; L_0285DB58: ; // 0x285db58 /* 0285DB58 */ cpu->r[25] = cpu->r[26]; /* 0285DB5C */ _t15 = cpu->r[25] + 0x00000066u; /* 0285DB5C */ cpu->r[31] = rbrew_read8(cpu->mem, _t15); /* 0285DB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000003u); /* 0285DB64 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285DB64 */ _t17 = _t16 & 0x00000001u; /* 0285DB64 */ if (_t17) goto L_0285DB68; else goto L_0285DB6C; L_0285DB68: ; // 0x285db68 /* 0285DB68 */ cpu->r[31] = 0x00000003u; L_0285DB6C: ; // 0x285db6c /* 0285DB6C */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285DB70 */ cpu->r[3] = cpu->r[30]; /* 0285DB74 */ cpu->r[4] = cpu->r[31]; /* 0285DB78 */ Gambit_fn_0285DA8C(cpu); /* 0285DB7C */ cpu->r[0] = 0x00000004u; /* 0285DB80 */ cpu->r[9] = 0x00000000u; /* 0285DB84 */ cpu->ctr = cpu->r[0]; /* 0285DB88 */ cpu->r[4] = cpu->r[25] + 0x00000054u; L_0285DB8C: ; // 0x285db8c /* 0285DB8C */ cpu->r[6] = cpu->r[4] + cpu->r[9]; /* 0285DB90 */ _t18 = cpu->r[6] + 0x00000002u; /* 0285DB90 */ cpu->r[11] = rbrew_read8(cpu->mem, _t18); /* 0285DB94 */ _t19 = cpu->r[6] + 0x00000003u; /* 0285DB94 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19); /* 0285DB98 */ _t20 = cpu->r[6] + 0x00000000u; /* 0285DB98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20); /* 0285DB9C */ _t21 = cpu->r[6] + 0x00000001u; /* 0285DB9C */ cpu->r[12] = rbrew_read8(cpu->mem, _t21); /* 0285DBA0 */ _t22 = cpu->r[1] + 0x00000008u; /* 0285DBA0 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]); /* 0285DBA4 */ _t23 = cpu->r[1] + 0x0000000Au; /* 0285DBA4 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]); /* 0285DBA8 */ cpu->r[7] = cpu->r[1] + 0x00000008u; /* 0285DBAC */ _t24 = cpu->r[1] + 0x00000009u; /* 0285DBAC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]); /* 0285DBB0 */ cpu->r[8] = cpu->r[29] + cpu->r[9]; /* 0285DBB4 */ _t25 = cpu->r[1] + 0x0000000Bu; /* 0285DBB4 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[10]); /* 0285DBB8 */ /* nop */ /* 0285DBBC */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 0285DBC0 */ /* nop */ /* 0285DBC4 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285DBC4 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285DBC4 */ _t27 = _t26 >> (0x00000002u & 31u); /* 0285DBC4 */ _t28 = _t27 & 0x00000001u; /* 0285DBC4 */ if (_t28) goto L_0285DB8C; else goto L_0285DBC8; L_0285DBC8: ; // 0x285dbc8 /* 0285DBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285DBCC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DBCC */ _t30 = _t29 & 0x00000001u; /* 0285DBCC */ if (_t30) goto L_0285DBEC; else goto L_0285DBD0; L_0285DBD0: ; // 0x285dbd0 /* 0285DBD0 */ _t31 = cpu->r[30] + 0x000000B8u; /* 0285DBD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31); /* 0285DBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285DBD8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DBD8 */ _t33 = _t32 & 0x00000001u; /* 0285DBD8 */ if (_t33) goto L_0285DBEC; else goto L_0285DBDC; L_0285DBDC: ; // 0x285dbdc /* 0285DBDC */ cpu->r[5] = cpu->r[31]; /* 0285DBE0 */ cpu->r[4] = cpu->r[25] + 0x00000068u; /* 0285DBE4 */ cpu->r[3] = cpu->r[30] + 0x000000B8u; /* 0285DBE8 */ Gambit_fn_0286B9A4(cpu); L_0285DBEC: ; // 0x285dbec /* 0285DBEC */ _t34 = cpu->r[26] + 0x00000064u; /* 0285DBEC */ cpu->r[4] = rbrew_read16(cpu->mem, _t34); /* 0285DBF0 */ _t35 = cpu->r[28] + 0x00000020u; /* 0285DBF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35); /* 0285DBF4 */ Gambit_fn_0286BA10(cpu); /* 0285DBF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0285DBFC */ cpu->r[29] = 0x00000000u; /* 0285DC00 */ cpu->r[31] = cpu->r[3]; /* 0285DC04 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DC04 */ _t37 = _t36 & 0x00000001u; /* 0285DC04 */ if (_t37) goto L_0285DC18; else goto L_0285DC08; L_0285DC08: ; // 0x285dc08 /* 0285DC08 */ _t38 = cpu->r[28] + 0x00000024u; /* 0285DC08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 0285DC0C */ _t39 = cpu->r[27] + 0x00000064u; /* 0285DC0C */ cpu->r[4] = rbrew_read16(cpu->mem, _t39); /* 0285DC10 */ Gambit_fn_0286BA10(cpu); /* 0285DC14 */ cpu->r[29] = cpu->r[3]; L_0285DC18: ; // 0x285dc18 /* 0285DC18 */ cpu->r[3] = 0x00000020u; /* 0285DC1C */ cpu->r[4] = 0x00000004u; /* 0285DC20 */ Gambit_fn_02869E8C(cpu); /* 0285DC24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285DC28 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DC28 */ _t41 = _t40 & 0x00000001u; /* 0285DC28 */ if (_t41) goto L_0285DC4C; else goto L_0285DC2C; L_0285DC2C: ; // 0x285dc2c /* 0285DC2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285DC30 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DC30 */ _t43 = _t42 & 0x00000001u; /* 0285DC30 */ if (_t43) goto L_0285DC4C; else goto L_0285DC34; L_0285DC34: ; // 0x285dc34 /* 0285DC34 */ cpu->r[6] = cpu->r[28]; /* 0285DC38 */ cpu->r[5] = cpu->r[29]; /* 0285DC3C */ cpu->r[4] = cpu->r[31]; /* 0285DC40 */ Gambit_fn_0286C334(cpu); /* 0285DC44 */ _t44 = cpu->r[30] + 0x000000A4u; /* 0285DC44 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]); /* 0285DC48 */ goto L_0285DC54; L_0285DC4C: ; // 0x285dc4c /* 0285DC4C */ cpu->r[3] = 0x00000000u; /* 0285DC50 */ _t45 = cpu->r[30] + 0x000000A4u; /* 0285DC50 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]); L_0285DC54: ; // 0x285dc54 /* 0285DC54 */ cpu->r[3] = cpu->r[30]; /* 0285DC58 */ /* nop */ /* 0285DC5C */ _t46 = cpu->r[1] + 0x0000002Cu; /* 0285DC5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46); /* 0285DC60 */ cpu->lr = cpu->r[0]; /* 0285DC64 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285DC68 */ return; } // fn_0285DC6C @ 0x285dc6c void Gambit_fn_0285DC6C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26; L_0285DC6C: ; // 0x285dc6c /* 0285DC6C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285DC6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285DC6C */ cpu->r[1] = _t0; /* 0285DC70 */ cpu->r[0] = cpu->lr; /* 0285DC74 */ /* nop */ /* 0285DC78 */ cpu->r[30] = cpu->r[3]; /* 0285DC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285DC7C */ _t1 = cpu->r[1] + 0x00000024u; /* 0285DC7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285DC80 */ cpu->r[29] = cpu->r[4]; /* 0285DC84 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DC84 */ _t3 = _t2 & 0x00000001u; /* 0285DC84 */ if (_t3) goto L_0285DC88; else goto L_0285DC98; L_0285DC88: ; // 0x285dc88 /* 0285DC88 */ cpu->r[3] = 0x000000C0u; /* 0285DC8C */ Gambit_fn_02801A78(cpu); /* 0285DC90 */ cpu->r[30] = cpu->r[3]; /* 0285DC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285DC94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DC94 */ _t5 = _t4 & 0x00000001u; /* 0285DC94 */ if (_t5) goto L_0285DD90; else goto L_0285DC98; L_0285DC98: ; // 0x285dc98 /* 0285DC98 */ cpu->r[4] = cpu->r[29]; /* 0285DC9C */ cpu->r[3] = cpu->r[30]; /* 0285DCA0 */ Gambit_fn_0285F5C4(cpu); /* 0285DCA4 */ cpu->r[12] = 0x10130000u; /* 0285DCA8 */ cpu->r[28] = 0x00000000u; /* 0285DCAC */ cpu->r[4] = 0x00000004u; /* 0285DCB0 */ cpu->r[12] = cpu->r[12] + 0x00004E58u; /* 0285DCB4 */ cpu->r[31] = cpu->r[30] + 0x000000A8u; /* 0285DCB8 */ cpu->r[5] = cpu->r[4]; /* 0285DCBC */ cpu->r[6] = 0x02860000u; /* 0285DCC0 */ cpu->r[3] = cpu->r[31]; /* 0285DCC4 */ _t6 = cpu->r[30] + 0x00000008u; /* 0285DCC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 0285DCC8 */ cpu->r[6] = cpu->r[6] + 0xFFFFE344u; /* 0285DCCC */ _t7 = cpu->r[30] + 0x000000A4u; /* 0285DCCC */ rbrew_write32(cpu->mem, _t7, cpu->r[28]); /* 0285DCD0 */ Gambit_fn_02C82E00(cpu); /* 0285DCD4 */ cpu->r[3] = cpu->r[30] + 0x000000B8u; /* 0285DCD8 */ Gambit_fn_0286B768(cpu); /* 0285DCDC */ cpu->r[0] = 0x00000004u; /* 0285DCE0 */ cpu->ctr = cpu->r[0]; /* 0285DCE4 */ cpu->r[8] = cpu->r[29] + 0x000000A8u; L_0285DCE8: ; // 0x285dce8 /* 0285DCE8 */ cpu->r[9] = cpu->r[8] + cpu->r[28]; /* 0285DCEC */ cpu->r[10] = cpu->r[31] + cpu->r[28]; /* 0285DCF0 */ /* nop */ /* 0285DCF4 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0285DCF8 */ /* nop */ /* 0285DCFC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285DCFC */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285DCFC */ _t9 = _t8 >> (0x00000002u & 31u); /* 0285DCFC */ _t10 = _t9 & 0x00000001u; /* 0285DCFC */ if (_t10) goto L_0285DCE8; else goto L_0285DD00; L_0285DD00: ; // 0x285dd00 /* 0285DD00 */ _t11 = cpu->r[29] + 0x000000B9u; /* 0285DD00 */ cpu->r[31] = rbrew_read8(cpu->mem, _t11); /* 0285DD04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285DD08 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DD08 */ _t13 = _t12 & 0x00000001u; /* 0285DD08 */ if (_t13) goto L_0285DD58; else goto L_0285DD0C; L_0285DD0C: ; // 0x285dd0c /* 0285DD0C */ cpu->r[3] = cpu->r[30]; /* 0285DD10 */ cpu->r[4] = cpu->r[31]; /* 0285DD14 */ Gambit_fn_0285DA84(cpu); /* 0285DD18 */ cpu->r[3] = cpu->r[30] + 0x000000B8u; /* 0285DD1C */ cpu->r[4] = cpu->r[31]; /* 0285DD20 */ Gambit_fn_0286B8A4(cpu); /* 0285DD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285DD28 */ cpu->r[27] = 0x00000000u; /* 0285DD2C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DD2C */ _t15 = _t14 & 0x00000001u; /* 0285DD2C */ if (_t15) goto L_0285DD58; else goto L_0285DD30; L_0285DD30: ; // 0x285dd30 /* 0285DD30 */ cpu->r[28] = 0x00000000u; L_0285DD34: ; // 0x285dd34 /* 0285DD34 */ _t16 = cpu->r[29] + 0x000000BCu; /* 0285DD34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0285DD38 */ cpu->r[4] = cpu->r[27]; /* 0285DD3C */ cpu->r[3] = cpu->r[30] + 0x000000B8u; /* 0285DD40 */ cpu->r[5] = cpu->r[12] + cpu->r[28]; /* 0285DD44 */ Gambit_fn_0286B968(cpu); /* 0285DD48 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0285DD48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285DD4C */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 0285DD50 */ cpu->r[28] = cpu->r[28] + 0x00000020u; /* 0285DD54 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DD54 */ _t18 = _t17 & 0x00000001u; /* 0285DD54 */ if (_t18) goto L_0285DD58; else goto L_0285DD34; L_0285DD58: ; // 0x285dd58 /* 0285DD58 */ cpu->r[4] = 0x00000004u; /* 0285DD5C */ cpu->r[3] = 0x00000020u; /* 0285DD60 */ _t19 = cpu->r[29] + 0x000000A4u; /* 0285DD60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285DD64 */ Gambit_fn_02869E8C(cpu); /* 0285DD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285DD6C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DD6C */ _t21 = _t20 & 0x00000001u; /* 0285DD6C */ if (_t21) goto L_0285DD88; else goto L_0285DD70; L_0285DD70: ; // 0x285dd70 /* 0285DD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285DD74 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DD74 */ _t23 = _t22 & 0x00000001u; /* 0285DD74 */ if (_t23) goto L_0285DD88; else goto L_0285DD78; L_0285DD78: ; // 0x285dd78 /* 0285DD78 */ cpu->r[4] = cpu->r[31]; /* 0285DD7C */ Gambit_fn_0286D20C(cpu); /* 0285DD80 */ _t24 = cpu->r[30] + 0x000000A4u; /* 0285DD80 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]); /* 0285DD84 */ goto L_0285DD90; L_0285DD88: ; // 0x285dd88 /* 0285DD88 */ cpu->r[3] = 0x00000000u; /* 0285DD8C */ _t25 = cpu->r[30] + 0x000000A4u; /* 0285DD8C */ rbrew_write32(cpu->mem, _t25, cpu->r[3]); L_0285DD90: ; // 0x285dd90 /* 0285DD90 */ cpu->r[3] = cpu->r[30]; /* 0285DD94 */ /* nop */ /* 0285DD98 */ _t26 = cpu->r[1] + 0x00000024u; /* 0285DD98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0285DD9C */ cpu->lr = cpu->r[0]; /* 0285DDA0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285DDA4 */ return; } // fn_0285DDA8 @ 0x285dda8 void Gambit_fn_0285DDA8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22; L_0285DDA8: ; // 0x285dda8 /* 0285DDA8 */ cpu->r[0] = cpu->lr; /* 0285DDAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285DDAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285DDAC */ cpu->r[1] = _t0; /* 0285DDB0 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285DDB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285DDB4 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285DDB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285DDB8 */ cpu->r[30] = cpu->r[3]; /* 0285DDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285DDBC */ cpu->r[31] = cpu->r[4]; /* 0285DDC0 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285DDC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285DDC4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285DDC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285DDC8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DDC8 */ _t6 = _t5 & 0x00000001u; /* 0285DDC8 */ if (_t6) goto L_0285DE3C; else goto L_0285DDCC; L_0285DDCC: ; // 0x285ddcc /* 0285DDCC */ _t7 = cpu->r[30] + 0x000000A4u; /* 0285DDCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0285DDD0 */ cpu->r[8] = 0x10130000u; /* 0285DDD4 */ cpu->r[8] = cpu->r[8] + 0x00004E58u; /* 0285DDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285DDDC */ _t8 = cpu->r[30] + 0x00000008u; /* 0285DDDC */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 0285DDE0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DDE0 */ _t10 = _t9 & 0x00000001u; /* 0285DDE0 */ if (_t10) goto L_0285DE18; else goto L_0285DDE4; L_0285DDE4: ; // 0x285dde4 /* 0285DDE4 */ _t11 = cpu->r[29] + 0x00000015u; /* 0285DDE4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11); /* 0285DDE8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285DDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285DDEC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DDEC */ _t13 = _t12 & 0x00000001u; /* 0285DDEC */ if (_t13) goto L_0285DDF0; else goto L_0285DE18; L_0285DDF0: ; // 0x285ddf0 /* 0285DDF0 */ _t14 = cpu->r[29] + 0x0000001Cu; /* 0285DDF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 0285DDF4 */ _t15 = cpu->r[11] + 0x0000000Cu; /* 0285DDF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0285DDF8 */ cpu->ctr = cpu->r[12]; /* 0285DDFC */ cpu->r[3] = cpu->r[29]; /* 0285DE00 */ cpu->r[4] = 0x00000002u; /* 0285DE04 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285DE08 */ cpu->r[3] = cpu->r[29]; /* 0285DE0C */ Gambit_fn_02869EAC(cpu); /* 0285DE10 */ cpu->r[0] = 0x00000000u; /* 0285DE14 */ _t16 = cpu->r[30] + 0x000000A4u; /* 0285DE14 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); L_0285DE18: ; // 0x285de18 /* 0285DE18 */ cpu->r[3] = cpu->r[30] + 0x000000B8u; /* 0285DE1C */ Gambit_fn_0286B7AC(cpu); /* 0285DE20 */ cpu->r[3] = cpu->r[30]; /* 0285DE24 */ cpu->r[4] = 0x00000000u; /* 0285DE28 */ Gambit_fn_0285F770(cpu); /* 0285DE2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285DE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285DE30 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DE30 */ _t18 = _t17 & 0x00000001u; /* 0285DE30 */ if (_t18) goto L_0285DE3C; else goto L_0285DE34; L_0285DE34: ; // 0x285de34 /* 0285DE34 */ cpu->r[3] = cpu->r[30]; /* 0285DE38 */ Gambit_fn_02801BB0(cpu); L_0285DE3C: ; // 0x285de3c /* 0285DE3C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0285DE3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0285DE40 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0285DE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0285DE44 */ _t21 = cpu->r[1] + 0x00000010u; /* 0285DE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0285DE48 */ cpu->lr = cpu->r[0]; /* 0285DE4C */ _t22 = cpu->r[1] + 0x00000014u; /* 0285DE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0285DE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285DE54 */ return; } // fn_0285DDAC @ 0x285ddac void Gambit_fn_0285DDAC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22; L_0285DDAC: ; // 0x285ddac /* 0285DDAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285DDAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285DDAC */ cpu->r[1] = _t0; /* 0285DDB0 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285DDB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285DDB4 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285DDB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285DDB8 */ cpu->r[30] = cpu->r[3]; /* 0285DDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285DDBC */ cpu->r[31] = cpu->r[4]; /* 0285DDC0 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285DDC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285DDC4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285DDC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285DDC8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DDC8 */ _t6 = _t5 & 0x00000001u; /* 0285DDC8 */ if (_t6) goto L_0285DE3C; else goto L_0285DDCC; L_0285DDCC: ; // 0x285ddcc /* 0285DDCC */ _t7 = cpu->r[30] + 0x000000A4u; /* 0285DDCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0285DDD0 */ cpu->r[8] = 0x10130000u; /* 0285DDD4 */ cpu->r[8] = cpu->r[8] + 0x00004E58u; /* 0285DDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285DDDC */ _t8 = cpu->r[30] + 0x00000008u; /* 0285DDDC */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 0285DDE0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DDE0 */ _t10 = _t9 & 0x00000001u; /* 0285DDE0 */ if (_t10) goto L_0285DE18; else goto L_0285DDE4; L_0285DDE4: ; // 0x285dde4 /* 0285DDE4 */ _t11 = cpu->r[29] + 0x00000015u; /* 0285DDE4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11); /* 0285DDE8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285DDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285DDEC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DDEC */ _t13 = _t12 & 0x00000001u; /* 0285DDEC */ if (_t13) goto L_0285DDF0; else goto L_0285DE18; L_0285DDF0: ; // 0x285ddf0 /* 0285DDF0 */ _t14 = cpu->r[29] + 0x0000001Cu; /* 0285DDF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 0285DDF4 */ _t15 = cpu->r[11] + 0x0000000Cu; /* 0285DDF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0285DDF8 */ cpu->ctr = cpu->r[12]; /* 0285DDFC */ cpu->r[3] = cpu->r[29]; /* 0285DE00 */ cpu->r[4] = 0x00000002u; /* 0285DE04 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285DE08 */ cpu->r[3] = cpu->r[29]; /* 0285DE0C */ Gambit_fn_02869EAC(cpu); /* 0285DE10 */ cpu->r[0] = 0x00000000u; /* 0285DE14 */ _t16 = cpu->r[30] + 0x000000A4u; /* 0285DE14 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); L_0285DE18: ; // 0x285de18 /* 0285DE18 */ cpu->r[3] = cpu->r[30] + 0x000000B8u; /* 0285DE1C */ Gambit_fn_0286B7AC(cpu); /* 0285DE20 */ cpu->r[3] = cpu->r[30]; /* 0285DE24 */ cpu->r[4] = 0x00000000u; /* 0285DE28 */ Gambit_fn_0285F770(cpu); /* 0285DE2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285DE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285DE30 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DE30 */ _t18 = _t17 & 0x00000001u; /* 0285DE30 */ if (_t18) goto L_0285DE3C; else goto L_0285DE34; L_0285DE34: ; // 0x285de34 /* 0285DE34 */ cpu->r[3] = cpu->r[30]; /* 0285DE38 */ Gambit_fn_02801BB0(cpu); L_0285DE3C: ; // 0x285de3c /* 0285DE3C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0285DE3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0285DE40 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0285DE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0285DE44 */ _t21 = cpu->r[1] + 0x00000010u; /* 0285DE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0285DE48 */ cpu->lr = cpu->r[0]; /* 0285DE4C */ _t22 = cpu->r[1] + 0x00000014u; /* 0285DE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0285DE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285DE54 */ return; } // fn_0285DE58 @ 0x285de58 void Gambit_fn_0285DE58(CPUState* cpu) { uint32_t _t0, _t1; L_0285DE58: ; // 0x285de58 /* 0285DE58 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285DE5C */ cpu->r[12] = cpu->r[3] + cpu->r[11]; /* 0285DE60 */ cpu->r[11] = cpu->r[12] + 0x000000A8u; /* 0285DE64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285DE64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285DE64 */ cpu->r[1] = _t0; /* 0285DE68 */ /* nop */ /* 0285DE6C */ cpu->r[12] = cpu->r[1] + 0x00000008u; /* 0285DE70 */ /* nop */ /* 0285DE74 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285DE74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1); /* 0285DE78 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285DE7C */ return; } // fn_0285DE64 @ 0x285de64 void Gambit_fn_0285DE64(CPUState* cpu) { uint32_t _t0, _t1; L_0285DE64: ; // 0x285de64 /* 0285DE64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285DE64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285DE64 */ cpu->r[1] = _t0; /* 0285DE68 */ /* nop */ /* 0285DE6C */ cpu->r[12] = cpu->r[1] + 0x00000008u; /* 0285DE70 */ /* nop */ /* 0285DE74 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285DE74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1); /* 0285DE78 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285DE7C */ return; } // fn_0285DE80 @ 0x285de80 void Gambit_fn_0285DE80(CPUState* cpu) { L_0285DE80: ; // 0x285de80 /* 0285DE80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285DE84 */ cpu->r[12] = cpu->r[3] + cpu->r[11]; /* 0285DE88 */ /* nop */ /* 0285DE8C */ cpu->r[10] = cpu->r[12] + 0x000000A8u; /* 0285DE90 */ /* nop */ /* 0285DE94 */ return; } // fn_0285DE98 @ 0x285de98 void Gambit_fn_0285DE98(CPUState* cpu) { uint32_t _t0; L_0285DE98: ; // 0x285de98 /* 0285DE98 */ cpu->r[12] = cpu->r[3] + 0x000000A8u; /* 0285DE9C */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x0000001Du); /* 0285DEA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0285DEA4 */ cpu->r[11] = cpu->r[12] + cpu->r[10]; /* 0285DEA8 */ _t0 = cpu->r[11] + cpu->r[0]; /* 0285DEA8 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[5]); /* 0285DEAC */ return; } // fn_0285DEB0 @ 0x285deb0 void Gambit_fn_0285DEB0(CPUState* cpu) { uint32_t _t0; L_0285DEB0: ; // 0x285deb0 /* 0285DEB0 */ _t0 = cpu->r[3] + 0x000000A4u; /* 0285DEB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0285DEB4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 0285DEB8 */ cpu->r[3] = cpu->r[12] - cpu->r[0]; /* 0285DEBC */ return; } // fn_0285DEC0 @ 0x285dec0 void Gambit_fn_0285DEC0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285DEC0: ; // 0x285dec0 /* 0285DEC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285DEC4 */ cpu->r[12] = cpu->r[3]; /* 0285DEC8 */ cpu->r[3] = 0x00000000u; /* 0285DECC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DECC */ _t1 = _t0 & 0x00000001u; /* 0285DECC */ _t2 = _t1 ^ 0x00000001u; /* 0285DECC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285DECC */ goto L_0285DED0; L_0285DED0: ; // 0x285ded0 /* 0285DED0 */ _t3 = cpu->r[12] + 0x000000A4u; /* 0285DED0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 0285DED4 */ return; } // fn_0285DED8 @ 0x285ded8 void Gambit_fn_0285DED8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285DED8: ; // 0x285ded8 /* 0285DED8 */ cpu->r[0] = cpu->lr; /* 0285DEDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285DEDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285DEDC */ cpu->r[1] = _t0; /* 0285DEE0 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285DEE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285DEE4 */ cpu->r[30] = cpu->r[3]; /* 0285DEE8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285DEE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285DEEC */ _t3 = cpu->r[1] + 0x00000014u; /* 0285DEEC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285DEF0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285DEF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285DEF4 */ _t5 = cpu->r[30] + 0x000000A4u; /* 0285DEF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5); /* 0285DEF8 */ cpu->r[31] = cpu->r[4]; /* 0285DEFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 0285DF00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DF00 */ _t7 = _t6 & 0x00000001u; /* 0285DF00 */ if (_t7) goto L_0285DF3C; else goto L_0285DF04; L_0285DF04: ; // 0x285df04 /* 0285DF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285DF08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DF08 */ _t9 = _t8 & 0x00000001u; /* 0285DF08 */ if (_t9) goto L_0285DF38; else goto L_0285DF0C; L_0285DF0C: ; // 0x285df0c /* 0285DF0C */ _t10 = cpu->r[29] + 0x00000015u; /* 0285DF0C */ cpu->r[10] = rbrew_read8(cpu->mem, _t10); /* 0285DF10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285DF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285DF14 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DF14 */ _t12 = _t11 & 0x00000001u; /* 0285DF14 */ if (_t12) goto L_0285DF18; else goto L_0285DF38; L_0285DF18: ; // 0x285df18 /* 0285DF18 */ _t13 = cpu->r[29] + 0x0000001Cu; /* 0285DF18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 0285DF1C */ _t14 = cpu->r[12] + 0x0000000Cu; /* 0285DF1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0285DF20 */ cpu->ctr = cpu->r[0]; /* 0285DF24 */ cpu->r[3] = cpu->r[29]; /* 0285DF28 */ cpu->r[4] = 0x00000002u; /* 0285DF2C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285DF30 */ cpu->r[3] = cpu->r[29]; /* 0285DF34 */ Gambit_fn_02869EAC(cpu); L_0285DF38: ; // 0x285df38 /* 0285DF38 */ _t15 = cpu->r[30] + 0x000000A4u; /* 0285DF38 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]); L_0285DF3C: ; // 0x285df3c /* 0285DF3C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285DF3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 0285DF40 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0285DF40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285DF44 */ _t18 = cpu->r[1] + 0x00000010u; /* 0285DF44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0285DF48 */ cpu->lr = cpu->r[0]; /* 0285DF4C */ _t19 = cpu->r[1] + 0x00000014u; /* 0285DF4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285DF50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285DF54 */ return; } // fn_0285DEDC @ 0x285dedc void Gambit_fn_0285DEDC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285DEDC: ; // 0x285dedc /* 0285DEDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285DEDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285DEDC */ cpu->r[1] = _t0; /* 0285DEE0 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285DEE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285DEE4 */ cpu->r[30] = cpu->r[3]; /* 0285DEE8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285DEE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285DEEC */ _t3 = cpu->r[1] + 0x00000014u; /* 0285DEEC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285DEF0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285DEF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285DEF4 */ _t5 = cpu->r[30] + 0x000000A4u; /* 0285DEF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5); /* 0285DEF8 */ cpu->r[31] = cpu->r[4]; /* 0285DEFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]); /* 0285DF00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DF00 */ _t7 = _t6 & 0x00000001u; /* 0285DF00 */ if (_t7) goto L_0285DF3C; else goto L_0285DF04; L_0285DF04: ; // 0x285df04 /* 0285DF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285DF08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DF08 */ _t9 = _t8 & 0x00000001u; /* 0285DF08 */ if (_t9) goto L_0285DF38; else goto L_0285DF0C; L_0285DF0C: ; // 0x285df0c /* 0285DF0C */ _t10 = cpu->r[29] + 0x00000015u; /* 0285DF0C */ cpu->r[10] = rbrew_read8(cpu->mem, _t10); /* 0285DF10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285DF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285DF14 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DF14 */ _t12 = _t11 & 0x00000001u; /* 0285DF14 */ if (_t12) goto L_0285DF18; else goto L_0285DF38; L_0285DF18: ; // 0x285df18 /* 0285DF18 */ _t13 = cpu->r[29] + 0x0000001Cu; /* 0285DF18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 0285DF1C */ _t14 = cpu->r[12] + 0x0000000Cu; /* 0285DF1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0285DF20 */ cpu->ctr = cpu->r[0]; /* 0285DF24 */ cpu->r[3] = cpu->r[29]; /* 0285DF28 */ cpu->r[4] = 0x00000002u; /* 0285DF2C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285DF30 */ cpu->r[3] = cpu->r[29]; /* 0285DF34 */ Gambit_fn_02869EAC(cpu); L_0285DF38: ; // 0x285df38 /* 0285DF38 */ _t15 = cpu->r[30] + 0x000000A4u; /* 0285DF38 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]); L_0285DF3C: ; // 0x285df3c /* 0285DF3C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285DF3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 0285DF40 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0285DF40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285DF44 */ _t18 = cpu->r[1] + 0x00000010u; /* 0285DF44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0285DF48 */ cpu->lr = cpu->r[0]; /* 0285DF4C */ _t19 = cpu->r[1] + 0x00000014u; /* 0285DF4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285DF50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285DF54 */ return; } // fn_0285DF58 @ 0x285df58 void Gambit_fn_0285DF58(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147; L_0285DF58: ; // 0x285df58 /* 0285DF58 */ _t0 = cpu->r[1] + 0xFFFFFF30u; /* 0285DF58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285DF58 */ cpu->r[1] = _t0; /* 0285DF5C */ _t1 = cpu->r[1] + 0x00000080u; /* 0285DF5C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[27]); /* 0285DF60 */ _t2 = cpu->r[1] + 0x00000074u; /* 0285DF60 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285DF64 */ /* nop */ /* 0285DF68 */ _t3 = cpu->r[1] + 0x00000090u; /* 0285DF68 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[28]); /* 0285DF6C */ cpu->r[0] = cpu->lr; /* 0285DF70 */ _t4 = cpu->r[1] + 0x000000A0u; /* 0285DF70 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]); /* 0285DF74 */ /* nop */ /* 0285DF78 */ _t5 = cpu->r[1] + 0x000000B0u; /* 0285DF78 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]); /* 0285DF7C */ /* nop */ /* 0285DF80 */ _t6 = cpu->r[1] + 0x000000C0u; /* 0285DF80 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[31]); /* 0285DF84 */ /* nop */ /* 0285DF88 */ _t7 = cpu->r[1] + 0x00000088u; /* 0285DF88 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[27]); /* 0285DF8C */ _t8 = cpu->r[1] + 0x00000098u; /* 0285DF8C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[28]); /* 0285DF90 */ _t9 = cpu->r[1] + 0x000000A8u; /* 0285DF90 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]); /* 0285DF94 */ /* nop */ /* 0285DF98 */ _t10 = cpu->r[1] + 0x000000B8u; /* 0285DF98 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[30]); /* 0285DF9C */ _t11 = cpu->r[1] + 0x000000C8u; /* 0285DF9C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]); /* 0285DFA0 */ _t12 = cpu->r[1] + 0x00000078u; /* 0285DFA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]); /* 0285DFA4 */ _t13 = cpu->r[1] + 0x000000D4u; /* 0285DFA4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 0285DFA8 */ cpu->r[30] = cpu->r[3]; /* 0285DFAC */ _t14 = cpu->r[1] + 0x0000007Cu; /* 0285DFAC */ rbrew_write32(cpu->mem, _t14, cpu->r[31]); /* 0285DFB0 */ _t15 = cpu->r[30] + 0x000000A4u; /* 0285DFB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); /* 0285DFB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285DFB8 */ cpu->r[31] = cpu->r[4]; /* 0285DFBC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285DFBC */ _t17 = _t16 & 0x00000001u; /* 0285DFBC */ if (_t17) goto L_0285E2FC; else goto L_0285DFC0; L_0285DFC0: ; // 0x285dfc0 /* 0285DFC0 */ _t18 = cpu->r[30] + 0x00000008u; /* 0285DFC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 0285DFC4 */ _t19 = cpu->r[9] + 0x0000009Cu; /* 0285DFC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 0285DFC8 */ cpu->ctr = cpu->r[10]; /* 0285DFCC */ cpu->r[4] = cpu->r[31]; /* 0285DFD0 */ cpu->r[3] = cpu->r[30]; /* 0285DFD4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285DFD8 */ cpu->r[0] = 0x000000FFu; /* 0285DFDC */ _t20 = cpu->r[1] + 0x00000013u; /* 0285DFDC */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]); /* 0285DFE0 */ _t21 = cpu->r[1] + 0x00000012u; /* 0285DFE0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]); /* 0285DFE4 */ _t22 = cpu->r[1] + 0x00000010u; /* 0285DFE4 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]); /* 0285DFE8 */ _t23 = cpu->r[1] + 0x00000011u; /* 0285DFE8 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]); /* 0285DFEC */ _t24 = cpu->r[1] + 0x00000010u; /* 0285DFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0285DFF0 */ cpu->r[29] = cpu->r[30] + 0x000000A8u; /* 0285DFF4 */ cpu->r[12] = cpu->r[1] + 0x00000054u; /* 0285DFF8 */ _t25 = cpu->r[1] + 0x00000054u; /* 0285DFF8 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 0285DFFC */ /* nop */ /* 0285E000 */ cpu->r[6] = cpu->r[1] + 0x00000061u; /* 0285E004 */ /* nop */ /* 0285E008 */ _t26 = cpu->r[1] + 0x00000060u; /* 0285E008 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26); /* 0285E00C */ cpu->r[8] = cpu->r[30] + 0x000000B8u; /* 0285E010 */ _t27 = cpu->r[1] + 0x00000064u; /* 0285E010 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 0285E014 */ cpu->r[11] = cpu->r[29]; /* 0285E018 */ _t28 = cpu->r[1] + 0x00000058u; /* 0285E018 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]); /* 0285E01C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]); /* 0285E020 */ _t29 = cpu->r[1] + 0x0000005Cu; /* 0285E020 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]); /* 0285E024 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E024 */ _t31 = _t30 & 0x00000001u; /* 0285E024 */ if (_t31) goto L_0285E098; else goto L_0285E028; L_0285E028: ; // 0x285e028 /* 0285E028 */ _t32 = cpu->r[1] + 0x00000059u; /* 0285E028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); L_0285E02C: ; // 0x285e02c /* 0285E02C */ _t33 = cpu->r[11] + 0x00000000u; /* 0285E02C */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 0285E030 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 0285E034 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E034 */ _t35 = _t34 & 0x00000001u; /* 0285E034 */ if (_t35) goto L_0285E038; else goto L_0285E054; L_0285E038: ; // 0x285e038 /* 0285E038 */ cpu->r[11] = cpu->r[11] + 0x00000004u; /* 0285E03C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]); /* 0285E040 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E040 */ _t37 = _t36 & 0x00000001u; /* 0285E040 */ if (_t37) goto L_0285E044; else goto L_0285E02C; L_0285E044: ; // 0x285e044 /* 0285E044 */ _t38 = cpu->r[30] + 0x00000046u; /* 0285E044 */ cpu->r[5] = rbrew_read8(cpu->mem, _t38); /* 0285E048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x000000FFu); /* 0285E04C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E04C */ _t40 = _t39 & 0x00000001u; /* 0285E04C */ if (_t40) goto L_0285E2A8; else goto L_0285E050; L_0285E050: ; // 0x285e050 /* 0285E050 */ goto L_0285E0A4; L_0285E054: ; // 0x285e054 /* 0285E054 */ _t41 = cpu->r[30] + 0x000000A4u; /* 0285E054 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41); /* 0285E058 */ _t42 = cpu->r[3] + 0x0000001Cu; /* 0285E058 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42); /* 0285E05C */ _t43 = cpu->r[10] + 0x00000024u; /* 0285E05C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43); /* 0285E060 */ cpu->r[6] = 0x00000000u; /* 0285E064 */ cpu->ctr = cpu->r[0]; /* 0285E068 */ _t44 = cpu->r[30] + 0x00000046u; /* 0285E068 */ cpu->r[5] = rbrew_read8(cpu->mem, _t44); /* 0285E06C */ cpu->r[8] = cpu->r[30] + 0x00000048u; /* 0285E070 */ cpu->r[9] = cpu->r[6]; /* 0285E074 */ cpu->r[7] = 0x00000001u; /* 0285E078 */ cpu->r[4] = cpu->r[31]; /* 0285E07C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E080 */ cpu->r[3] = cpu->r[31]; /* 0285E084 */ cpu->r[4] = 0x0000000Du; /* 0285E088 */ Gambit_fn_0285CEDC(cpu); /* 0285E08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu); /* 0285E090 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E090 */ _t46 = _t45 & 0x00000001u; /* 0285E090 */ if (_t46) goto L_0285E094; else goto L_0285E0E0; L_0285E094: ; // 0x285e094 /* 0285E094 */ goto L_0285E2D4; L_0285E098: ; // 0x285e098 /* 0285E098 */ _t47 = cpu->r[30] + 0x00000046u; /* 0285E098 */ cpu->r[5] = rbrew_read8(cpu->mem, _t47); /* 0285E09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x000000FFu); /* 0285E0A0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E0A0 */ _t49 = _t48 & 0x00000001u; /* 0285E0A0 */ if (_t49) goto L_0285E2A8; else goto L_0285E0A4; L_0285E0A4: ; // 0x285e0a4 /* 0285E0A4 */ _t50 = cpu->r[30] + 0x000000A4u; /* 0285E0A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50); /* 0285E0A8 */ _t51 = cpu->r[3] + 0x0000001Cu; /* 0285E0A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51); /* 0285E0AC */ _t52 = cpu->r[10] + 0x00000024u; /* 0285E0AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t52); /* 0285E0B0 */ cpu->r[6] = 0x00000000u; /* 0285E0B4 */ cpu->ctr = cpu->r[0]; /* 0285E0B8 */ cpu->r[8] = cpu->r[30] + 0x00000048u; /* 0285E0BC */ cpu->r[9] = cpu->r[6]; /* 0285E0C0 */ cpu->r[7] = 0x00000001u; /* 0285E0C4 */ cpu->r[4] = cpu->r[31]; /* 0285E0C8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E0CC */ cpu->r[3] = cpu->r[31]; /* 0285E0D0 */ cpu->r[4] = 0x0000000Du; /* 0285E0D4 */ Gambit_fn_0285CEDC(cpu); /* 0285E0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu); /* 0285E0DC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E0DC */ _t54 = _t53 & 0x00000001u; /* 0285E0DC */ if (_t54) goto L_0285E2D4; else goto L_0285E0E0; L_0285E0E0: ; // 0x285e0e0 /* 0285E0E0 */ _t55 = cpu->r[29] + 0x00000000u; /* 0285E0E0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t55); /* 0285E0E4 */ cpu->r[7] = 0x43300000u; /* 0285E0E8 */ _t56 = cpu->r[29] + 0x00000003u; /* 0285E0E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t56); /* 0285E0EC */ _t57 = cpu->r[1] + 0x00000008u; /* 0285E0EC */ rbrew_write32(cpu->mem, _t57, cpu->r[7]); /* 0285E0F0 */ _t58 = cpu->r[1] + 0x0000000Cu; /* 0285E0F0 */ rbrew_write32(cpu->mem, _t58, cpu->r[6]); /* 0285E0F4 */ _t59 = cpu->r[1] + 0x00000008u; /* 0285E0F4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t59); /* 0285E0F8 */ _t60 = cpu->r[29] + 0x00000002u; /* 0285E0F8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t60); /* 0285E0FC */ cpu->r[8] = 0x10130000u; /* 0285E100 */ _t61 = cpu->r[29] + 0x00000001u; /* 0285E100 */ cpu->r[9] = rbrew_read8(cpu->mem, _t61); /* 0285E104 */ _t62 = cpu->r[8] + 0x00004E50u; /* 0285E104 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t62); /* 0285E108 */ _t63 = cpu->r[1] + 0x0000000Cu; /* 0285E108 */ rbrew_write32(cpu->mem, _t63, cpu->r[9]); /* 0285E10C */ _t64 = cpu->r[1] + 0x00000008u; /* 0285E10C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t64); /* 0285E110 */ cpu->f[11] = cpu->f[10] - cpu->f[0]; /* 0285E114 */ _t65 = cpu->r[1] + 0x0000000Cu; /* 0285E114 */ rbrew_write32(cpu->mem, _t65, cpu->r[11]); /* 0285E118 */ _t66 = cpu->r[1] + 0x00000008u; /* 0285E118 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t66); /* 0285E11C */ cpu->f[7] = cpu->f[13] - cpu->f[0]; /* 0285E120 */ _t67 = cpu->r[1] + 0x0000000Cu; /* 0285E120 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]); /* 0285E124 */ _t68 = cpu->r[1] + 0x00000008u; /* 0285E124 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t68); /* 0285E128 */ cpu->f[27] = (double)(float)cpu->f[11]; /* 0285E12C */ _t69 = cpu->r[29] + 0x00000004u; /* 0285E12C */ cpu->r[8] = rbrew_read8(cpu->mem, _t69); /* 0285E130 */ cpu->f[9] = cpu->f[8] - cpu->f[0]; /* 0285E134 */ _t70 = cpu->r[29] + 0x00000005u; /* 0285E134 */ cpu->r[12] = rbrew_read8(cpu->mem, _t70); /* 0285E138 */ cpu->f[11] = cpu->f[10] - cpu->f[0]; /* 0285E13C */ _t71 = cpu->r[1] + 0x0000000Cu; /* 0285E13C */ rbrew_write32(cpu->mem, _t71, cpu->r[8]); /* 0285E140 */ _t72 = cpu->r[1] + 0x00000008u; /* 0285E140 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t72); /* 0285E144 */ _t73 = cpu->r[1] + 0x0000000Cu; /* 0285E144 */ rbrew_write32(cpu->mem, _t73, cpu->r[12]); /* 0285E148 */ cpu->f[28] = (double)(float)cpu->f[7]; /* 0285E14C */ _t74 = cpu->r[1] + 0x00000008u; /* 0285E14C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t74); /* 0285E150 */ cpu->f[29] = (double)(float)cpu->f[11]; /* 0285E154 */ _t75 = cpu->r[29] + 0x00000006u; /* 0285E154 */ cpu->r[7] = rbrew_read8(cpu->mem, _t75); /* 0285E158 */ cpu->f[30] = (double)(float)cpu->f[9]; /* 0285E15C */ _t76 = cpu->r[29] + 0x00000008u; /* 0285E15C */ cpu->r[12] = rbrew_read8(cpu->mem, _t76); /* 0285E160 */ cpu->f[13] = cpu->f[12] - cpu->f[0]; /* 0285E164 */ _t77 = cpu->r[29] + 0x00000007u; /* 0285E164 */ cpu->r[10] = rbrew_read8(cpu->mem, _t77); /* 0285E168 */ cpu->f[11] = cpu->f[10] - cpu->f[0]; /* 0285E16C */ _t78 = cpu->r[1] + 0x0000000Cu; /* 0285E16C */ rbrew_write32(cpu->mem, _t78, cpu->r[7]); /* 0285E170 */ _t79 = cpu->r[1] + 0x00000008u; /* 0285E170 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t79); /* 0285E174 */ cpu->f[31] = (double)(float)cpu->f[13]; /* 0285E178 */ _t80 = cpu->r[1] + 0x0000000Cu; /* 0285E178 */ rbrew_write32(cpu->mem, _t80, cpu->r[10]); /* 0285E17C */ _t81 = cpu->r[1] + 0x00000008u; /* 0285E17C */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t81); /* 0285E180 */ cpu->f[1] = (double)(float)cpu->f[11]; /* 0285E184 */ _t82 = cpu->r[29] + 0x0000000Bu; /* 0285E184 */ cpu->r[10] = rbrew_read8(cpu->mem, _t82); /* 0285E188 */ cpu->f[7] = cpu->f[12] - cpu->f[0]; /* 0285E18C */ _t83 = cpu->r[1] + 0x0000000Cu; /* 0285E18C */ rbrew_write32(cpu->mem, _t83, cpu->r[12]); /* 0285E190 */ _t84 = cpu->r[1] + 0x00000008u; /* 0285E190 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t84); /* 0285E194 */ cpu->f[10] = cpu->f[8] - cpu->f[0]; /* 0285E198 */ _t85 = cpu->r[29] + 0x00000009u; /* 0285E198 */ cpu->r[5] = rbrew_read8(cpu->mem, _t85); /* 0285E19C */ cpu->f[12] = cpu->f[11] - cpu->f[0]; /* 0285E1A0 */ _t86 = cpu->r[29] + 0x0000000Au; /* 0285E1A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t86); /* 0285E1A4 */ cpu->f[2] = (double)(float)cpu->f[7]; /* 0285E1A8 */ _t87 = cpu->r[1] + 0x0000000Cu; /* 0285E1A8 */ rbrew_write32(cpu->mem, _t87, cpu->r[5]); /* 0285E1AC */ _t88 = cpu->r[1] + 0x00000008u; /* 0285E1AC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t88); /* 0285E1B0 */ cpu->f[3] = (double)(float)cpu->f[10]; /* 0285E1B4 */ _t89 = cpu->r[1] + 0x0000000Cu; /* 0285E1B4 */ rbrew_write32(cpu->mem, _t89, cpu->r[8]); /* 0285E1B8 */ _t90 = cpu->r[1] + 0x00000008u; /* 0285E1B8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t90); /* 0285E1BC */ _t91 = cpu->r[1] + 0x0000000Cu; /* 0285E1BC */ rbrew_write32(cpu->mem, _t91, cpu->r[10]); /* 0285E1C0 */ cpu->f[4] = (double)(float)cpu->f[12]; /* 0285E1C4 */ _t92 = cpu->r[1] + 0x00000008u; /* 0285E1C4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t92); /* 0285E1C8 */ cpu->f[12] = cpu->f[11] - cpu->f[0]; /* 0285E1CC */ _t93 = cpu->r[29] + 0x0000000Cu; /* 0285E1CC */ cpu->r[12] = rbrew_read8(cpu->mem, _t93); /* 0285E1D0 */ _t94 = cpu->r[29] + 0x0000000Du; /* 0285E1D0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t94); /* 0285E1D4 */ cpu->f[7] = cpu->f[13] - cpu->f[0]; /* 0285E1D8 */ _t95 = cpu->r[1] + 0x0000000Cu; /* 0285E1D8 */ rbrew_write32(cpu->mem, _t95, cpu->r[12]); /* 0285E1DC */ _t96 = cpu->r[1] + 0x00000008u; /* 0285E1DC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t96); /* 0285E1E0 */ cpu->f[6] = (double)(float)cpu->f[12]; /* 0285E1E4 */ _t97 = cpu->r[1] + 0x00000018u; /* 0285E1E4 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[28]); /* 0285E1E8 */ cpu->f[5] = (double)(float)cpu->f[7]; /* 0285E1EC */ _t98 = cpu->r[29] + 0x0000000Eu; /* 0285E1EC */ cpu->r[11] = rbrew_read8(cpu->mem, _t98); /* 0285E1F0 */ _t99 = cpu->r[1] + 0x00000024u; /* 0285E1F0 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[31]); /* 0285E1F4 */ cpu->f[9] = cpu->f[8] - cpu->f[0]; /* 0285E1F8 */ _t100 = cpu->r[1] + 0x0000000Cu; /* 0285E1F8 */ rbrew_write32(cpu->mem, _t100, cpu->r[6]); /* 0285E1FC */ _t101 = cpu->r[1] + 0x00000008u; /* 0285E1FC */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t101); /* 0285E200 */ _t102 = cpu->r[1] + 0x00000014u; /* 0285E200 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[27]); /* 0285E204 */ cpu->f[7] = cpu->f[13] - cpu->f[0]; /* 0285E208 */ _t103 = cpu->r[1] + 0x00000038u; /* 0285E208 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[5]); /* 0285E20C */ cpu->f[11] = cpu->f[10] - cpu->f[0]; /* 0285E210 */ _t104 = cpu->r[29] + 0x0000000Fu; /* 0285E210 */ cpu->r[5] = rbrew_read8(cpu->mem, _t104); /* 0285E214 */ cpu->f[7] = (double)(float)cpu->f[7]; /* 0285E218 */ _t105 = cpu->r[1] + 0x00000020u; /* 0285E218 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[30]); /* 0285E21C */ cpu->f[12] = (double)(float)cpu->f[9]; /* 0285E220 */ _t106 = cpu->r[1] + 0x00000030u; /* 0285E220 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[3]); /* 0285E224 */ _t107 = cpu->r[1] + 0x0000000Cu; /* 0285E224 */ rbrew_write32(cpu->mem, _t107, cpu->r[11]); /* 0285E228 */ _t108 = cpu->r[1] + 0x00000008u; /* 0285E228 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t108); /* 0285E22C */ cpu->f[8] = (double)(float)cpu->f[11]; /* 0285E230 */ _t109 = cpu->r[1] + 0x0000000Cu; /* 0285E230 */ rbrew_write32(cpu->mem, _t109, cpu->r[5]); /* 0285E234 */ _t110 = cpu->r[1] + 0x00000008u; /* 0285E234 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t110); /* 0285E238 */ cpu->f[13] = cpu->f[13] - cpu->f[0]; /* 0285E23C */ _t111 = cpu->r[1] + 0x00000040u; /* 0285E23C */ rbrew_write_f32(cpu->mem, _t111, cpu->f[12]); /* 0285E240 */ cpu->f[11] = cpu->f[9] - cpu->f[0]; /* 0285E244 */ _t112 = cpu->r[1] + 0x0000003Cu; /* 0285E244 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[6]); /* 0285E248 */ cpu->f[10] = (double)(float)cpu->f[11]; /* 0285E24C */ _t113 = cpu->r[1] + 0x00000028u; /* 0285E24C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[1]); /* 0285E250 */ cpu->f[9] = (double)(float)cpu->f[13]; /* 0285E254 */ _t114 = cpu->r[1] + 0x00000044u; /* 0285E254 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[7]); /* 0285E258 */ _t115 = cpu->r[1] + 0x0000002Cu; /* 0285E258 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[2]); /* 0285E25C */ _t116 = cpu->r[1] + 0x00000050u; /* 0285E25C */ rbrew_write_f32(cpu->mem, _t116, cpu->f[10]); /* 0285E260 */ cpu->r[4] = 0x00000010u; /* 0285E264 */ _t117 = cpu->r[1] + 0x0000004Cu; /* 0285E264 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[9]); /* 0285E268 */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 0285E26C */ _t118 = cpu->r[1] + 0x00000034u; /* 0285E26C */ rbrew_write_f32(cpu->mem, _t118, cpu->f[4]); /* 0285E270 */ _t119 = cpu->r[1] + 0x0000001Cu; /* 0285E270 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[29]); /* 0285E274 */ _t120 = cpu->r[1] + 0x00000048u; /* 0285E274 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[8]); /* 0285E278 */ rbrew_dispatch(cpu, 0x02d062a8u); /* 0285E27C */ cpu->r[3] = cpu->r[30]; /* 0285E280 */ Gambit_fn_0285F928(cpu); /* 0285E284 */ _t121 = cpu->r[30] + 0x000000BCu; /* 0285E284 */ cpu->r[7] = rbrew_read32(cpu->mem, _t121); /* 0285E288 */ _t122 = cpu->r[1] + 0x00000068u; /* 0285E288 */ rbrew_write32(cpu->mem, _t122, cpu->r[3]); /* 0285E28C */ _t123 = cpu->r[30] + 0x000000B9u; /* 0285E28C */ cpu->r[6] = rbrew_read8(cpu->mem, _t123); /* 0285E290 */ cpu->r[3] = cpu->r[31]; /* 0285E294 */ _t124 = cpu->r[1] + 0x0000006Cu; /* 0285E294 */ rbrew_write32(cpu->mem, _t124, cpu->r[4]); /* 0285E298 */ cpu->r[4] = cpu->r[1] + 0x00000068u; /* 0285E29C */ cpu->r[5] = cpu->r[30] + 0x0000003Cu; /* 0285E2A0 */ Gambit_fn_0286BAB4(cpu); /* 0285E2A4 */ goto L_0285E2FC; L_0285E2A8: ; // 0x285e2a8 /* 0285E2A8 */ _t125 = cpu->r[30] + 0x000000A4u; /* 0285E2A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t125); /* 0285E2AC */ _t126 = cpu->r[3] + 0x0000001Cu; /* 0285E2AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t126); /* 0285E2B0 */ _t127 = cpu->r[11] + 0x00000024u; /* 0285E2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127); /* 0285E2B4 */ cpu->r[6] = 0x00000001u; /* 0285E2B8 */ cpu->ctr = cpu->r[0]; /* 0285E2BC */ cpu->r[5] = 0x000000FFu; /* 0285E2C0 */ cpu->r[7] = cpu->r[6]; /* 0285E2C4 */ cpu->r[9] = 0x00000000u; /* 0285E2C8 */ cpu->r[4] = cpu->r[31]; /* 0285E2CC */ cpu->r[8] = cpu->r[30] + 0x00000048u; /* 0285E2D0 */ rbrew_call_indirect(cpu, cpu->ctr); L_0285E2D4: ; // 0x285e2d4 /* 0285E2D4 */ cpu->r[3] = cpu->r[30]; /* 0285E2D8 */ Gambit_fn_0285F928(cpu); /* 0285E2DC */ _t128 = cpu->r[30] + 0x000000BCu; /* 0285E2DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t128); /* 0285E2E0 */ _t129 = cpu->r[1] + 0x00000068u; /* 0285E2E0 */ rbrew_write32(cpu->mem, _t129, cpu->r[3]); /* 0285E2E4 */ _t130 = cpu->r[30] + 0x000000B9u; /* 0285E2E4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t130); /* 0285E2E8 */ cpu->r[3] = cpu->r[31]; /* 0285E2EC */ _t131 = cpu->r[1] + 0x0000006Cu; /* 0285E2EC */ rbrew_write32(cpu->mem, _t131, cpu->r[4]); /* 0285E2F0 */ cpu->r[4] = cpu->r[1] + 0x00000068u; /* 0285E2F4 */ cpu->r[5] = cpu->r[30] + 0x0000003Cu; /* 0285E2F8 */ Gambit_fn_0286BAB4(cpu); L_0285E2FC: ; // 0x285e2fc /* 0285E2FC */ _t132 = cpu->r[1] + 0x00000074u; /* 0285E2FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t132); /* 0285E300 */ _t133 = cpu->r[1] + 0x00000098u; /* 0285E300 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t133); /* 0285E304 */ _t134 = cpu->r[1] + 0x00000088u; /* 0285E304 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t134); /* 0285E308 */ _t135 = cpu->r[1] + 0x00000090u; /* 0285E308 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t135); /* 0285E30C */ _t136 = cpu->r[1] + 0x000000A8u; /* 0285E30C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t136); /* 0285E310 */ _t137 = cpu->r[1] + 0x00000080u; /* 0285E310 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t137); /* 0285E314 */ _t138 = cpu->r[1] + 0x000000A0u; /* 0285E314 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t138); /* 0285E318 */ _t139 = cpu->r[1] + 0x000000C8u; /* 0285E318 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t139); /* 0285E31C */ _t140 = cpu->r[1] + 0x000000B8u; /* 0285E31C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t140); /* 0285E320 */ _t141 = cpu->r[1] + 0x000000C0u; /* 0285E320 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t141); /* 0285E324 */ _t142 = cpu->r[1] + 0x000000B0u; /* 0285E324 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t142); /* 0285E328 */ _t143 = cpu->r[1] + 0x0000007Cu; /* 0285E328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t143); /* 0285E32C */ _t144 = cpu->r[1] + 0x00000078u; /* 0285E32C */ cpu->r[30] = rbrew_read32(cpu->mem, _t144); /* 0285E330 */ _t145 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285E330 */ _t146 = _t145 & 0x00000001u; /* 0285E330 */ if (_t146) goto L_0285E334; // else: addr-0 trap, fall-through L_0285E334: ; // 0x285e334 /* 0285E334 */ _t147 = cpu->r[1] + 0x000000D4u; /* 0285E334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t147); /* 0285E338 */ cpu->lr = cpu->r[0]; /* 0285E33C */ cpu->r[1] = cpu->r[1] + 0x000000D0u; /* 0285E340 */ return; } // fn_0285E350 @ 0x285e350 void Gambit_fn_0285E350(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0285E350: ; // 0x285e350 /* 0285E350 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0285E350 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E350 */ cpu->r[1] = _t0; /* 0285E354 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E354 */ _t2 = _t1 & 0x00000001u; /* 0285E354 */ if (_t2) goto L_0285E358; else goto L_0285E368; L_0285E358: ; // 0x285e358 /* 0285E358 */ cpu->r[3] = 0x00000004u; /* 0285E35C */ Gambit_fn_02801A78(cpu); /* 0285E360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E364 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E364 */ _t4 = _t3 & 0x00000001u; /* 0285E364 */ if (_t4) goto L_0285E370; else goto L_0285E368; L_0285E368: ; // 0x285e368 /* 0285E368 */ cpu->r[0] = 0xFFFFFFFFu; /* 0285E36C */ _t5 = cpu->r[3] + 0x00000000u; /* 0285E36C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); L_0285E370: ; // 0x285e370 /* 0285E370 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0285E370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285E374 */ cpu->lr = cpu->r[0]; /* 0285E378 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285E37C */ return; } // fn_0285E380 @ 0x285e380 void Gambit_fn_0285E380(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285E380: ; // 0x285e380 /* 0285E380 */ cpu->r[11] = 0x101D0000u; /* 0285E384 */ cpu->r[3] = 0x101D0000u; /* 0285E388 */ _t0 = cpu->r[11] + 0xFFFFD7FCu; /* 0285E388 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 0285E388 */ cpu->r[11] = _t0; /* 0285E38C */ cpu->r[3] = cpu->r[3] + 0x00000F3Cu; /* 0285E390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285E394 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E394 */ _t2 = _t1 & 0x00000001u; /* 0285E394 */ _t3 = _t2 ^ 0x00000001u; /* 0285E394 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285E394 */ goto L_0285E398; L_0285E398: ; // 0x285e398 /* 0285E398 */ cpu->r[10] = 0x101D0000u; /* 0285E39C */ cpu->r[12] = 0x101D0000u; /* 0285E3A0 */ _t4 = cpu->r[10] + 0xFFFFD7ECu; /* 0285E3A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 0285E3A0 */ cpu->r[10] = _t4; /* 0285E3A4 */ cpu->r[0] = 0x00000001u; /* 0285E3A8 */ cpu->r[12] = cpu->r[12] + 0x00000F38u; /* 0285E3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285E3B0 */ _t5 = cpu->r[11] + 0x00000000u; /* 0285E3B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285E3B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E3B4 */ _t7 = _t6 & 0x00000001u; /* 0285E3B4 */ if (_t7) goto L_0285E3B8; else goto L_0285E3C8; L_0285E3B8: ; // 0x285e3b8 /* 0285E3B8 */ cpu->r[7] = 0x00000001u; /* 0285E3BC */ cpu->r[8] = 0x00000000u; /* 0285E3C0 */ _t8 = cpu->r[10] + 0x00000000u; /* 0285E3C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]); /* 0285E3C4 */ _t9 = cpu->r[12] + 0x00000000u; /* 0285E3C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); L_0285E3C8: ; // 0x285e3c8 /* 0285E3C8 */ _t10 = cpu->r[3] + 0x00000000u; /* 0285E3C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 0285E3CC */ return; } // fn_0285E3D0 @ 0x285e3d0 void Gambit_fn_0285E3D0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0285E3D0: ; // 0x285e3d0 /* 0285E3D0 */ cpu->r[0] = cpu->lr; /* 0285E3D4 */ _t0 = cpu->r[1] + 0x00000004u; /* 0285E3D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285E3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E3DC */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0285E3DC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285E3DC */ cpu->r[1] = _t1; /* 0285E3E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E3E0 */ _t3 = _t2 & 0x00000001u; /* 0285E3E0 */ if (_t3) goto L_0285E3E4; else goto L_0285E3F4; L_0285E3E4: ; // 0x285e3e4 /* 0285E3E4 */ cpu->r[3] = 0x00000004u; /* 0285E3E8 */ Gambit_fn_02801A78(cpu); /* 0285E3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E3F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E3F0 */ _t5 = _t4 & 0x00000001u; /* 0285E3F0 */ if (_t5) goto L_0285E400; else goto L_0285E3F4; L_0285E3F4: ; // 0x285e3f4 /* 0285E3F4 */ cpu->r[0] = 0x10130000u; /* 0285E3F8 */ cpu->r[0] = cpu->r[0] + 0x00004F44u; /* 0285E3FC */ _t6 = cpu->r[3] + 0x00000000u; /* 0285E3FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); L_0285E400: ; // 0x285e400 /* 0285E400 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0285E400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285E404 */ cpu->lr = cpu->r[0]; /* 0285E408 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285E40C */ return; } // fn_0285E3DC @ 0x285e3dc void Gambit_fn_0285E3DC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0285E3DC: ; // 0x285e3dc /* 0285E3DC */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0285E3DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E3DC */ cpu->r[1] = _t0; /* 0285E3E0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E3E0 */ _t2 = _t1 & 0x00000001u; /* 0285E3E0 */ if (_t2) goto L_0285E3E4; else goto L_0285E3F4; L_0285E3E4: ; // 0x285e3e4 /* 0285E3E4 */ cpu->r[3] = 0x00000004u; /* 0285E3E8 */ Gambit_fn_02801A78(cpu); /* 0285E3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E3F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E3F0 */ _t4 = _t3 & 0x00000001u; /* 0285E3F0 */ if (_t4) goto L_0285E400; else goto L_0285E3F4; L_0285E3F4: ; // 0x285e3f4 /* 0285E3F4 */ cpu->r[0] = 0x10130000u; /* 0285E3F8 */ cpu->r[0] = cpu->r[0] + 0x00004F44u; /* 0285E3FC */ _t5 = cpu->r[3] + 0x00000000u; /* 0285E3FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); L_0285E400: ; // 0x285e400 /* 0285E400 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0285E400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285E404 */ cpu->lr = cpu->r[0]; /* 0285E408 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285E40C */ return; } // fn_0285E410 @ 0x285e410 void Gambit_fn_0285E410(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02801B30: ; // 0x2801b30 /* 02801B30 */ cpu->r[0] = cpu->lr; /* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02801B34 */ cpu->r[1] = _t0; /* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02801B3C */ cpu->r[31] = cpu->r[3]; /* 02801B40 */ cpu->r[3] = 0x101D0000u; /* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u; /* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u; /* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B50 */ _t5 = _t4 & 0x00000001u; /* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70; L_02801B54: ; // 0x2801b54 /* 02801B54 */ cpu->r[3] = cpu->r[31]; /* 02801B58 */ Gambit_fn_02801B20(cpu); /* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u; /* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02801B64 */ cpu->lr = cpu->r[0]; /* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801B6C */ return; L_02801B70: ; // 0x2801b70 /* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B74 */ _t9 = _t8 & 0x00000001u; /* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78; L_02801B78: ; // 0x2801b78 /* 02801B78 */ cpu->r[4] = cpu->r[31]; /* 02801B7C */ Gambit_fn_02826B90(cpu); /* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B84 */ _t11 = _t10 & 0x00000001u; /* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88; L_02801B88: ; // 0x2801b88 /* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu; /* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02801B90 */ cpu->ctr = cpu->r[0]; /* 02801B94 */ cpu->r[4] = cpu->r[31]; /* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr); L_02801B9C: ; // 0x2801b9c /* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u; /* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02801BA4 */ cpu->lr = cpu->r[0]; /* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801BAC */ return; L_02801BB0: ; // 0x2801bb0 /* 02801BB0 */ goto L_02801B30; L_0285E410: ; // 0x285e410 /* 0285E410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E414 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E414 */ _t17 = _t16 & 0x00000001u; /* 0285E414 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285E414 */ goto L_0285E418; L_0285E418: ; // 0x285e418 /* 0285E418 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285E418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E41C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E41C */ _t19 = _t18 & 0x00000001u; /* 0285E41C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285E41C */ goto L_0285E420; L_0285E420: ; // 0x285e420 /* 0285E420 */ goto L_02801BB0; } // fn_0285E424 @ 0x285e424 void Gambit_fn_0285E424(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_0285E424: ; // 0x285e424 /* 0285E424 */ cpu->r[0] = cpu->lr; /* 0285E428 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285E428 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E428 */ cpu->r[1] = _t0; /* 0285E42C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285E42C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285E430 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285E430 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285E434 */ _t3 = cpu->r[3] + 0x00000000u; /* 0285E434 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0285E438 */ cpu->r[0] = 0x00000000u; /* 0285E43C */ cpu->r[31] = cpu->r[4]; /* 0285E440 */ _t4 = cpu->r[1] + 0x00000008u; /* 0285E440 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285E444 */ _t5 = cpu->r[12] + 0x0000001Cu; /* 0285E444 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0285E448 */ cpu->r[4] = 0x74690000u; /* 0285E44C */ cpu->ctr = cpu->r[10]; /* 0285E450 */ cpu->r[4] = cpu->r[4] + 0x00006D67u; /* 0285E454 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0285E458 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E45C */ cpu->r[4] = cpu->r[3]; /* 0285E45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285E460 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E460 */ _t7 = _t6 & 0x00000001u; /* 0285E460 */ if (_t7) goto L_0285E480; else goto L_0285E464; L_0285E464: ; // 0x285e464 /* 0285E464 */ _t8 = cpu->r[1] + 0x00000008u; /* 0285E464 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8); /* 0285E468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285E46C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E46C */ _t10 = _t9 & 0x00000001u; /* 0285E46C */ if (_t10) goto L_0285E480; else goto L_0285E470; L_0285E470: ; // 0x285e470 /* 0285E470 */ cpu->r[3] = cpu->r[31]; /* 0285E474 */ Gambit_fn_028691B0(cpu); /* 0285E478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E47C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E47C */ _t12 = _t11 & 0x00000001u; /* 0285E47C */ if (_t12) goto L_0285E480; else goto L_0285E498; L_0285E480: ; // 0x285e480 /* 0285E480 */ _t13 = cpu->r[1] + 0x00000014u; /* 0285E480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285E484 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0285E484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285E488 */ cpu->lr = cpu->r[0]; /* 0285E48C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E490 */ cpu->r[3] = 0x00000000u; /* 0285E494 */ return; L_0285E498: ; // 0x285e498 /* 0285E498 */ _t15 = cpu->r[1] + 0x00000014u; /* 0285E498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0285E49C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285E49C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0285E4A0 */ cpu->lr = cpu->r[0]; /* 0285E4A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E4A8 */ cpu->r[3] = 0x00000001u; /* 0285E4AC */ return; } // fn_0285E428 @ 0x285e428 void Gambit_fn_0285E428(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_0285E428: ; // 0x285e428 /* 0285E428 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285E428 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E428 */ cpu->r[1] = _t0; /* 0285E42C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285E42C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285E430 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285E430 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285E434 */ _t3 = cpu->r[3] + 0x00000000u; /* 0285E434 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0285E438 */ cpu->r[0] = 0x00000000u; /* 0285E43C */ cpu->r[31] = cpu->r[4]; /* 0285E440 */ _t4 = cpu->r[1] + 0x00000008u; /* 0285E440 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285E444 */ _t5 = cpu->r[12] + 0x0000001Cu; /* 0285E444 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0285E448 */ cpu->r[4] = 0x74690000u; /* 0285E44C */ cpu->ctr = cpu->r[10]; /* 0285E450 */ cpu->r[4] = cpu->r[4] + 0x00006D67u; /* 0285E454 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0285E458 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E45C */ cpu->r[4] = cpu->r[3]; /* 0285E45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285E460 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E460 */ _t7 = _t6 & 0x00000001u; /* 0285E460 */ if (_t7) goto L_0285E480; else goto L_0285E464; L_0285E464: ; // 0x285e464 /* 0285E464 */ _t8 = cpu->r[1] + 0x00000008u; /* 0285E464 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8); /* 0285E468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285E46C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E46C */ _t10 = _t9 & 0x00000001u; /* 0285E46C */ if (_t10) goto L_0285E480; else goto L_0285E470; L_0285E470: ; // 0x285e470 /* 0285E470 */ cpu->r[3] = cpu->r[31]; /* 0285E474 */ Gambit_fn_028691B0(cpu); /* 0285E478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E47C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E47C */ _t12 = _t11 & 0x00000001u; /* 0285E47C */ if (_t12) goto L_0285E480; else goto L_0285E498; L_0285E480: ; // 0x285e480 /* 0285E480 */ _t13 = cpu->r[1] + 0x00000014u; /* 0285E480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285E484 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0285E484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285E488 */ cpu->lr = cpu->r[0]; /* 0285E48C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E490 */ cpu->r[3] = 0x00000000u; /* 0285E494 */ return; L_0285E498: ; // 0x285e498 /* 0285E498 */ _t15 = cpu->r[1] + 0x00000014u; /* 0285E498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0285E49C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285E49C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0285E4A0 */ cpu->lr = cpu->r[0]; /* 0285E4A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E4A8 */ cpu->r[3] = 0x00000001u; /* 0285E4AC */ return; } // fn_0285E4B0 @ 0x285e4b0 void Gambit_fn_0285E4B0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24; L_0285E4B0: ; // 0x285e4b0 /* 0285E4B0 */ cpu->r[0] = cpu->lr; /* 0285E4B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285E4B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E4B4 */ cpu->r[1] = _t0; /* 0285E4B8 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285E4B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285E4BC */ _t2 = cpu->r[1] + 0x00000014u; /* 0285E4BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285E4C0 */ cpu->r[10] = 0x00000000u; /* 0285E4C4 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285E4C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285E4C8 */ _t4 = cpu->r[3] + 0x00000000u; /* 0285E4C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0285E4CC */ cpu->r[5] = cpu->r[4]; /* 0285E4D0 */ _t5 = cpu->r[1] + 0x00000008u; /* 0285E4D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]); /* 0285E4D4 */ _t6 = cpu->r[12] + 0x0000001Cu; /* 0285E4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285E4D8 */ cpu->r[4] = 0x666F0000u; /* 0285E4DC */ cpu->ctr = cpu->r[0]; /* 0285E4E0 */ cpu->r[4] = cpu->r[4] + 0x00006E74u; /* 0285E4E4 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0285E4E8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E4EC */ cpu->r[30] = cpu->r[3]; /* 0285E4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285E4F0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E4F0 */ _t8 = _t7 & 0x00000001u; /* 0285E4F0 */ if (_t8) goto L_0285E55C; else goto L_0285E4F4; L_0285E4F4: ; // 0x285e4f4 /* 0285E4F4 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285E4F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0285E4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285E4FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E4FC */ _t11 = _t10 & 0x00000001u; /* 0285E4FC */ if (_t11) goto L_0285E55C; else goto L_0285E500; L_0285E500: ; // 0x285e500 /* 0285E500 */ cpu->r[3] = 0x000000C4u; /* 0285E504 */ cpu->r[4] = 0x00000004u; /* 0285E508 */ Gambit_fn_02869E8C(cpu); /* 0285E50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E510 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E510 */ _t13 = _t12 & 0x00000001u; /* 0285E510 */ if (_t13) goto L_0285E55C; else goto L_0285E514; L_0285E514: ; // 0x285e514 /* 0285E514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E518 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E518 */ _t15 = _t14 & 0x00000001u; /* 0285E518 */ if (_t15) goto L_0285E55C; else goto L_0285E51C; L_0285E51C: ; // 0x285e51c /* 0285E51C */ Gambit_fn_02857550(cpu); /* 0285E520 */ cpu->r[31] = cpu->r[3]; /* 0285E520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285E524 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E524 */ _t17 = _t16 & 0x00000001u; /* 0285E524 */ if (_t17) goto L_0285E55C; else goto L_0285E528; L_0285E528: ; // 0x285e528 /* 0285E528 */ cpu->r[3] = cpu->r[31]; /* 0285E52C */ cpu->r[4] = cpu->r[30]; /* 0285E530 */ Gambit_fn_028577F4(cpu); /* 0285E534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E538 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E538 */ _t19 = _t18 & 0x00000001u; /* 0285E538 */ if (_t19) goto L_0285E53C; else goto L_0285E560; L_0285E53C: ; // 0x285e53c /* 0285E53C */ _t20 = cpu->r[31] + 0x00000004u; /* 0285E53C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20); /* 0285E540 */ _t21 = cpu->r[11] + 0x00000014u; /* 0285E540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0285E544 */ cpu->ctr = cpu->r[0]; /* 0285E548 */ cpu->r[3] = cpu->r[31]; /* 0285E54C */ cpu->r[4] = 0x00000002u; /* 0285E550 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E554 */ cpu->r[3] = cpu->r[31]; /* 0285E558 */ Gambit_fn_02869EAC(cpu); L_0285E55C: ; // 0x285e55c /* 0285E55C */ cpu->r[31] = 0x00000000u; L_0285E560: ; // 0x285e560 /* 0285E560 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0285E560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0285E564 */ cpu->r[3] = cpu->r[31]; /* 0285E568 */ _t23 = cpu->r[1] + 0x00000014u; /* 0285E568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 0285E56C */ cpu->lr = cpu->r[0]; /* 0285E570 */ _t24 = cpu->r[1] + 0x00000010u; /* 0285E570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0285E574 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285E578 */ return; } // fn_0285E4B4 @ 0x285e4b4 void Gambit_fn_0285E4B4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24; L_0285E4B4: ; // 0x285e4b4 /* 0285E4B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285E4B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E4B4 */ cpu->r[1] = _t0; /* 0285E4B8 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285E4B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285E4BC */ _t2 = cpu->r[1] + 0x00000014u; /* 0285E4BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285E4C0 */ cpu->r[10] = 0x00000000u; /* 0285E4C4 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285E4C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285E4C8 */ _t4 = cpu->r[3] + 0x00000000u; /* 0285E4C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0285E4CC */ cpu->r[5] = cpu->r[4]; /* 0285E4D0 */ _t5 = cpu->r[1] + 0x00000008u; /* 0285E4D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]); /* 0285E4D4 */ _t6 = cpu->r[12] + 0x0000001Cu; /* 0285E4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0285E4D8 */ cpu->r[4] = 0x666F0000u; /* 0285E4DC */ cpu->ctr = cpu->r[0]; /* 0285E4E0 */ cpu->r[4] = cpu->r[4] + 0x00006E74u; /* 0285E4E4 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0285E4E8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E4EC */ cpu->r[30] = cpu->r[3]; /* 0285E4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285E4F0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E4F0 */ _t8 = _t7 & 0x00000001u; /* 0285E4F0 */ if (_t8) goto L_0285E55C; else goto L_0285E4F4; L_0285E4F4: ; // 0x285e4f4 /* 0285E4F4 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285E4F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0285E4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285E4FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E4FC */ _t11 = _t10 & 0x00000001u; /* 0285E4FC */ if (_t11) goto L_0285E55C; else goto L_0285E500; L_0285E500: ; // 0x285e500 /* 0285E500 */ cpu->r[3] = 0x000000C4u; /* 0285E504 */ cpu->r[4] = 0x00000004u; /* 0285E508 */ Gambit_fn_02869E8C(cpu); /* 0285E50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E510 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E510 */ _t13 = _t12 & 0x00000001u; /* 0285E510 */ if (_t13) goto L_0285E55C; else goto L_0285E514; L_0285E514: ; // 0x285e514 /* 0285E514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E518 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E518 */ _t15 = _t14 & 0x00000001u; /* 0285E518 */ if (_t15) goto L_0285E55C; else goto L_0285E51C; L_0285E51C: ; // 0x285e51c /* 0285E51C */ Gambit_fn_02857550(cpu); /* 0285E520 */ cpu->r[31] = cpu->r[3]; /* 0285E520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285E524 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E524 */ _t17 = _t16 & 0x00000001u; /* 0285E524 */ if (_t17) goto L_0285E55C; else goto L_0285E528; L_0285E528: ; // 0x285e528 /* 0285E528 */ cpu->r[3] = cpu->r[31]; /* 0285E52C */ cpu->r[4] = cpu->r[30]; /* 0285E530 */ Gambit_fn_028577F4(cpu); /* 0285E534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E538 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E538 */ _t19 = _t18 & 0x00000001u; /* 0285E538 */ if (_t19) goto L_0285E53C; else goto L_0285E560; L_0285E53C: ; // 0x285e53c /* 0285E53C */ _t20 = cpu->r[31] + 0x00000004u; /* 0285E53C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20); /* 0285E540 */ _t21 = cpu->r[11] + 0x00000014u; /* 0285E540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0285E544 */ cpu->ctr = cpu->r[0]; /* 0285E548 */ cpu->r[3] = cpu->r[31]; /* 0285E54C */ cpu->r[4] = 0x00000002u; /* 0285E550 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E554 */ cpu->r[3] = cpu->r[31]; /* 0285E558 */ Gambit_fn_02869EAC(cpu); L_0285E55C: ; // 0x285e55c /* 0285E55C */ cpu->r[31] = 0x00000000u; L_0285E560: ; // 0x285e560 /* 0285E560 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0285E560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0285E564 */ cpu->r[3] = cpu->r[31]; /* 0285E568 */ _t23 = cpu->r[1] + 0x00000014u; /* 0285E568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 0285E56C */ cpu->lr = cpu->r[0]; /* 0285E570 */ _t24 = cpu->r[1] + 0x00000010u; /* 0285E570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0285E574 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285E578 */ return; } // fn_0285E57C @ 0x285e57c void Gambit_fn_0285E57C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33; L_0285E57C: ; // 0x285e57c /* 0285E57C */ cpu->r[0] = cpu->lr; /* 0285E580 */ _t0 = cpu->r[1] + 0xFFFFFED8u; /* 0285E580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E580 */ cpu->r[1] = _t0; /* 0285E584 */ _t1 = cpu->r[1] + 0x00000120u; /* 0285E584 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285E588 */ _t2 = cpu->r[1] + 0x00000118u; /* 0285E588 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0285E58C */ _t3 = cpu->r[1] + 0x00000124u; /* 0285E58C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285E590 */ cpu->r[30] = cpu->r[4]; /* 0285E594 */ cpu->r[28] = 0x00000000u; /* 0285E598 */ _t4 = cpu->r[1] + 0x0000011Cu; /* 0285E598 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0285E59C */ cpu->r[9] = cpu->r[1] + 0x00000018u; /* 0285E5A0 */ _t5 = cpu->r[1] + 0x0000012Cu; /* 0285E5A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285E5A4 */ cpu->r[29] = cpu->r[3]; /* 0285E5A8 */ cpu->r[0] = 0x10130000u; /* 0285E5AC */ _t6 = cpu->r[1] + 0x00000008u; /* 0285E5AC */ rbrew_write32(cpu->mem, _t6, cpu->r[28]); /* 0285E5B0 */ cpu->r[0] = cpu->r[0] + 0x00004F10u; /* 0285E5B4 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0285E5B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 0285E5B8 */ cpu->r[31] = cpu->r[5]; /* 0285E5BC */ _t8 = cpu->r[1] + 0x00000010u; /* 0285E5BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0285E5C0 */ cpu->r[0] = 0x00000100u; /* 0285E5C4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 0285E5C8 */ _t9 = cpu->r[1] + 0x00000014u; /* 0285E5C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0285E5CC */ Gambit_fn_0285E68C(cpu); /* 0285E5D0 */ cpu->r[4] = 0x10130000u; /* 0285E5D4 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285E5D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 0285E5D8 */ cpu->r[4] = cpu->r[4] + 0x00004F28u; /* 0285E5DC */ cpu->r[5] = cpu->r[31]; /* 0285E5E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 0285E5E4 */ _t11 = cpu->r[11] + 0x00000000u; /* 0285E5E4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[28]); /* 0285E5E8 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u); /* 0285E5E8 */ _t13 = _t12 & 0x00000001u; /* 0285E5E8 */ if (_t13) goto L_0285E5EC; // else: addr-0 trap, fall-through L_0285E5EC: ; // 0x285e5ec /* 0285E5EC */ Gambit_fn_02C4E9C8(cpu); /* 0285E5F0 */ _t14 = cpu->r[1] + 0x00000010u; /* 0285E5F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 0285E5F4 */ _t15 = cpu->r[12] + 0x00000014u; /* 0285E5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0285E5F8 */ cpu->ctr = cpu->r[0]; /* 0285E5FC */ _t16 = cpu->r[29] + 0x00000000u; /* 0285E5FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16); /* 0285E600 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 0285E604 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E608 */ _t17 = cpu->r[28] + 0x0000001Cu; /* 0285E608 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17); /* 0285E60C */ cpu->r[4] = 0x62670000u; /* 0285E610 */ cpu->ctr = cpu->r[8]; /* 0285E614 */ cpu->r[4] = cpu->r[4] + 0x00007368u; /* 0285E618 */ cpu->r[3] = cpu->r[29]; /* 0285E61C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0285E61C */ cpu->r[5] = rbrew_read32(cpu->mem, _t18); /* 0285E620 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0285E624 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E628 */ cpu->r[4] = cpu->r[3]; /* 0285E628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285E62C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E62C */ _t20 = _t19 & 0x00000001u; /* 0285E62C */ if (_t20) goto L_0285E63C; else goto L_0285E630; L_0285E630: ; // 0x285e630 /* 0285E630 */ _t21 = cpu->r[1] + 0x00000008u; /* 0285E630 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21); /* 0285E634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285E638 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E638 */ _t23 = _t22 & 0x00000001u; /* 0285E638 */ if (_t23) goto L_0285E63C; else goto L_0285E660; L_0285E63C: ; // 0x285e63c /* 0285E63C */ _t24 = cpu->r[1] + 0x00000118u; /* 0285E63C */ cpu->r[28] = rbrew_read32(cpu->mem, _t24); /* 0285E640 */ _t25 = cpu->r[1] + 0x0000011Cu; /* 0285E640 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25); /* 0285E644 */ _t26 = cpu->r[1] + 0x0000012Cu; /* 0285E644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0285E648 */ _t27 = cpu->r[1] + 0x00000120u; /* 0285E648 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27); /* 0285E64C */ cpu->lr = cpu->r[0]; /* 0285E650 */ _t28 = cpu->r[1] + 0x00000124u; /* 0285E650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 0285E654 */ cpu->r[1] = cpu->r[1] + 0x00000128u; /* 0285E658 */ cpu->r[3] = 0x00000000u; /* 0285E65C */ return; L_0285E660: ; // 0x285e660 /* 0285E660 */ cpu->r[6] = cpu->r[31]; /* 0285E664 */ cpu->r[3] = cpu->r[30]; /* 0285E668 */ Gambit_fn_028692F4(cpu); /* 0285E66C */ _t29 = cpu->r[1] + 0x00000118u; /* 0285E66C */ cpu->r[28] = rbrew_read32(cpu->mem, _t29); /* 0285E670 */ _t30 = cpu->r[1] + 0x0000011Cu; /* 0285E670 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30); /* 0285E674 */ _t31 = cpu->r[1] + 0x0000012Cu; /* 0285E674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0285E678 */ _t32 = cpu->r[1] + 0x00000120u; /* 0285E678 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32); /* 0285E67C */ cpu->lr = cpu->r[0]; /* 0285E680 */ _t33 = cpu->r[1] + 0x00000124u; /* 0285E680 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33); /* 0285E684 */ cpu->r[1] = cpu->r[1] + 0x00000128u; /* 0285E688 */ return; } // fn_0285E580 @ 0x285e580 void Gambit_fn_0285E580(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33; L_0285E580: ; // 0x285e580 /* 0285E580 */ _t0 = cpu->r[1] + 0xFFFFFED8u; /* 0285E580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E580 */ cpu->r[1] = _t0; /* 0285E584 */ _t1 = cpu->r[1] + 0x00000120u; /* 0285E584 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285E588 */ _t2 = cpu->r[1] + 0x00000118u; /* 0285E588 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0285E58C */ _t3 = cpu->r[1] + 0x00000124u; /* 0285E58C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285E590 */ cpu->r[30] = cpu->r[4]; /* 0285E594 */ cpu->r[28] = 0x00000000u; /* 0285E598 */ _t4 = cpu->r[1] + 0x0000011Cu; /* 0285E598 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0285E59C */ cpu->r[9] = cpu->r[1] + 0x00000018u; /* 0285E5A0 */ _t5 = cpu->r[1] + 0x0000012Cu; /* 0285E5A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285E5A4 */ cpu->r[29] = cpu->r[3]; /* 0285E5A8 */ cpu->r[0] = 0x10130000u; /* 0285E5AC */ _t6 = cpu->r[1] + 0x00000008u; /* 0285E5AC */ rbrew_write32(cpu->mem, _t6, cpu->r[28]); /* 0285E5B0 */ cpu->r[0] = cpu->r[0] + 0x00004F10u; /* 0285E5B4 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0285E5B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 0285E5B8 */ cpu->r[31] = cpu->r[5]; /* 0285E5BC */ _t8 = cpu->r[1] + 0x00000010u; /* 0285E5BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0285E5C0 */ cpu->r[0] = 0x00000100u; /* 0285E5C4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 0285E5C8 */ _t9 = cpu->r[1] + 0x00000014u; /* 0285E5C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0285E5CC */ Gambit_fn_0285E68C(cpu); /* 0285E5D0 */ cpu->r[4] = 0x10130000u; /* 0285E5D4 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285E5D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 0285E5D8 */ cpu->r[4] = cpu->r[4] + 0x00004F28u; /* 0285E5DC */ cpu->r[5] = cpu->r[31]; /* 0285E5E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 0285E5E4 */ _t11 = cpu->r[11] + 0x00000000u; /* 0285E5E4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[28]); /* 0285E5E8 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u); /* 0285E5E8 */ _t13 = _t12 & 0x00000001u; /* 0285E5E8 */ if (_t13) goto L_0285E5EC; // else: addr-0 trap, fall-through L_0285E5EC: ; // 0x285e5ec /* 0285E5EC */ Gambit_fn_02C4E9C8(cpu); /* 0285E5F0 */ _t14 = cpu->r[1] + 0x00000010u; /* 0285E5F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 0285E5F4 */ _t15 = cpu->r[12] + 0x00000014u; /* 0285E5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0285E5F8 */ cpu->ctr = cpu->r[0]; /* 0285E5FC */ _t16 = cpu->r[29] + 0x00000000u; /* 0285E5FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16); /* 0285E600 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu; /* 0285E604 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E608 */ _t17 = cpu->r[28] + 0x0000001Cu; /* 0285E608 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17); /* 0285E60C */ cpu->r[4] = 0x62670000u; /* 0285E610 */ cpu->ctr = cpu->r[8]; /* 0285E614 */ cpu->r[4] = cpu->r[4] + 0x00007368u; /* 0285E618 */ cpu->r[3] = cpu->r[29]; /* 0285E61C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0285E61C */ cpu->r[5] = rbrew_read32(cpu->mem, _t18); /* 0285E620 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0285E624 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285E628 */ cpu->r[4] = cpu->r[3]; /* 0285E628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285E62C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E62C */ _t20 = _t19 & 0x00000001u; /* 0285E62C */ if (_t20) goto L_0285E63C; else goto L_0285E630; L_0285E630: ; // 0x285e630 /* 0285E630 */ _t21 = cpu->r[1] + 0x00000008u; /* 0285E630 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21); /* 0285E634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285E638 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E638 */ _t23 = _t22 & 0x00000001u; /* 0285E638 */ if (_t23) goto L_0285E63C; else goto L_0285E660; L_0285E63C: ; // 0x285e63c /* 0285E63C */ _t24 = cpu->r[1] + 0x00000118u; /* 0285E63C */ cpu->r[28] = rbrew_read32(cpu->mem, _t24); /* 0285E640 */ _t25 = cpu->r[1] + 0x0000011Cu; /* 0285E640 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25); /* 0285E644 */ _t26 = cpu->r[1] + 0x0000012Cu; /* 0285E644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0285E648 */ _t27 = cpu->r[1] + 0x00000120u; /* 0285E648 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27); /* 0285E64C */ cpu->lr = cpu->r[0]; /* 0285E650 */ _t28 = cpu->r[1] + 0x00000124u; /* 0285E650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 0285E654 */ cpu->r[1] = cpu->r[1] + 0x00000128u; /* 0285E658 */ cpu->r[3] = 0x00000000u; /* 0285E65C */ return; L_0285E660: ; // 0x285e660 /* 0285E660 */ cpu->r[6] = cpu->r[31]; /* 0285E664 */ cpu->r[3] = cpu->r[30]; /* 0285E668 */ Gambit_fn_028692F4(cpu); /* 0285E66C */ _t29 = cpu->r[1] + 0x00000118u; /* 0285E66C */ cpu->r[28] = rbrew_read32(cpu->mem, _t29); /* 0285E670 */ _t30 = cpu->r[1] + 0x0000011Cu; /* 0285E670 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30); /* 0285E674 */ _t31 = cpu->r[1] + 0x0000012Cu; /* 0285E674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0285E678 */ _t32 = cpu->r[1] + 0x00000120u; /* 0285E678 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32); /* 0285E67C */ cpu->lr = cpu->r[0]; /* 0285E680 */ _t33 = cpu->r[1] + 0x00000124u; /* 0285E680 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33); /* 0285E684 */ cpu->r[1] = cpu->r[1] + 0x00000128u; /* 0285E688 */ return; } // fn_0285E68C @ 0x285e68c void Gambit_fn_0285E68C(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0285E68C: ; // 0x285e68c /* 0285E68C */ _t0 = cpu->r[3] + 0x00000000u; /* 0285E68C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0285E690 */ cpu->r[0] = 0x00000000u; /* 0285E694 */ _t1 = cpu->r[3] + 0x00000008u; /* 0285E694 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0285E698 */ cpu->r[12] = cpu->r[11] + cpu->r[12]; /* 0285E69C */ _t2 = cpu->r[12] + 0xFFFFFFFFu; /* 0285E69C */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]); /* 0285E6A0 */ return; } // fn_0285E6A4 @ 0x285e6a4 void Gambit_fn_0285E6A4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285E6A4: ; // 0x285e6a4 /* 0285E6A4 */ cpu->r[0] = cpu->lr; /* 0285E6A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285E6A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E6A8 */ cpu->r[1] = _t0; /* 0285E6AC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285E6AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285E6B0 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285E6B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285E6B4 */ cpu->r[31] = cpu->r[3]; /* 0285E6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285E6B8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285E6B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285E6BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E6BC */ _t5 = _t4 & 0x00000001u; /* 0285E6BC */ if (_t5) goto L_0285E6C0; else goto L_0285E6D0; L_0285E6C0: ; // 0x285e6c0 /* 0285E6C0 */ cpu->r[3] = 0x00000018u; /* 0285E6C4 */ Gambit_fn_02801A78(cpu); /* 0285E6C8 */ cpu->r[31] = cpu->r[3]; /* 0285E6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285E6CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E6CC */ _t7 = _t6 & 0x00000001u; /* 0285E6CC */ if (_t7) goto L_0285E710; else goto L_0285E6D0; L_0285E6D0: ; // 0x285e6d0 /* 0285E6D0 */ cpu->r[30] = 0x00000000u; /* 0285E6D4 */ _t8 = cpu->r[31] + 0x00000000u; /* 0285E6D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0285E6D8 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285E6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E6DC */ _t9 = cpu->r[31] + 0x00000004u; /* 0285E6DC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285E6E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E6E0 */ _t11 = _t10 & 0x00000001u; /* 0285E6E0 */ if (_t11) goto L_0285E6E4; else goto L_0285E6F4; L_0285E6E4: ; // 0x285e6e4 /* 0285E6E4 */ cpu->r[3] = 0x00000008u; /* 0285E6E8 */ Gambit_fn_02801A78(cpu); /* 0285E6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E6F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E6F0 */ _t13 = _t12 & 0x00000001u; /* 0285E6F0 */ if (_t13) goto L_0285E70C; else goto L_0285E6F4; L_0285E6F4: ; // 0x285e6f4 /* 0285E6F4 */ cpu->r[0] = 0x00000002u; /* 0285E6F8 */ cpu->r[10] = 0x00000000u; /* 0285E6FC */ cpu->ctr = cpu->r[0]; /* 0285E700 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFCu; L_0285E704: ; // 0x285e704 /* 0285E704 */ _t14 = cpu->r[12] + 0x00000004u; /* 0285E704 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]); /* 0285E704 */ cpu->r[12] = _t14; /* 0285E708 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285E708 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285E708 */ _t16 = _t15 >> (0x00000002u & 31u); /* 0285E708 */ _t17 = _t16 & 0x00000001u; /* 0285E708 */ if (_t17) goto L_0285E704; else goto L_0285E70C; L_0285E70C: ; // 0x285e70c /* 0285E70C */ _t18 = cpu->r[31] + 0x00000008u; /* 0285E70C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]); L_0285E710: ; // 0x285e710 /* 0285E710 */ _t19 = cpu->r[1] + 0x00000014u; /* 0285E710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 0285E714 */ cpu->r[3] = cpu->r[31]; /* 0285E718 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0285E718 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0285E71C */ cpu->lr = cpu->r[0]; /* 0285E720 */ _t21 = cpu->r[1] + 0x00000008u; /* 0285E720 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0285E724 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E728 */ return; } // fn_0285E6A8 @ 0x285e6a8 void Gambit_fn_0285E6A8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285E6A8: ; // 0x285e6a8 /* 0285E6A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285E6A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E6A8 */ cpu->r[1] = _t0; /* 0285E6AC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285E6AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285E6B0 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285E6B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285E6B4 */ cpu->r[31] = cpu->r[3]; /* 0285E6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285E6B8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285E6B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285E6BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E6BC */ _t5 = _t4 & 0x00000001u; /* 0285E6BC */ if (_t5) goto L_0285E6C0; else goto L_0285E6D0; L_0285E6C0: ; // 0x285e6c0 /* 0285E6C0 */ cpu->r[3] = 0x00000018u; /* 0285E6C4 */ Gambit_fn_02801A78(cpu); /* 0285E6C8 */ cpu->r[31] = cpu->r[3]; /* 0285E6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285E6CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E6CC */ _t7 = _t6 & 0x00000001u; /* 0285E6CC */ if (_t7) goto L_0285E710; else goto L_0285E6D0; L_0285E6D0: ; // 0x285e6d0 /* 0285E6D0 */ cpu->r[30] = 0x00000000u; /* 0285E6D4 */ _t8 = cpu->r[31] + 0x00000000u; /* 0285E6D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0285E6D8 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285E6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E6DC */ _t9 = cpu->r[31] + 0x00000004u; /* 0285E6DC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285E6E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E6E0 */ _t11 = _t10 & 0x00000001u; /* 0285E6E0 */ if (_t11) goto L_0285E6E4; else goto L_0285E6F4; L_0285E6E4: ; // 0x285e6e4 /* 0285E6E4 */ cpu->r[3] = 0x00000008u; /* 0285E6E8 */ Gambit_fn_02801A78(cpu); /* 0285E6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E6F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E6F0 */ _t13 = _t12 & 0x00000001u; /* 0285E6F0 */ if (_t13) goto L_0285E70C; else goto L_0285E6F4; L_0285E6F4: ; // 0x285e6f4 /* 0285E6F4 */ cpu->r[0] = 0x00000002u; /* 0285E6F8 */ cpu->r[10] = 0x00000000u; /* 0285E6FC */ cpu->ctr = cpu->r[0]; /* 0285E700 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFCu; L_0285E704: ; // 0x285e704 /* 0285E704 */ _t14 = cpu->r[12] + 0x00000004u; /* 0285E704 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]); /* 0285E704 */ cpu->r[12] = _t14; /* 0285E708 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285E708 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285E708 */ _t16 = _t15 >> (0x00000002u & 31u); /* 0285E708 */ _t17 = _t16 & 0x00000001u; /* 0285E708 */ if (_t17) goto L_0285E704; else goto L_0285E70C; L_0285E70C: ; // 0x285e70c /* 0285E70C */ _t18 = cpu->r[31] + 0x00000008u; /* 0285E70C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]); L_0285E710: ; // 0x285e710 /* 0285E710 */ _t19 = cpu->r[1] + 0x00000014u; /* 0285E710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 0285E714 */ cpu->r[3] = cpu->r[31]; /* 0285E718 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0285E718 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0285E71C */ cpu->lr = cpu->r[0]; /* 0285E720 */ _t21 = cpu->r[1] + 0x00000008u; /* 0285E720 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0285E724 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E728 */ return; } // fn_0285E72C @ 0x285e72c void Gambit_fn_0285E72C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285E72C: ; // 0x285e72c /* 0285E72C */ cpu->r[0] = cpu->lr; /* 0285E730 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285E730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E730 */ cpu->r[1] = _t0; /* 0285E734 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285E734 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285E738 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285E738 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285E73C */ cpu->r[31] = cpu->r[3]; /* 0285E73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285E740 */ cpu->r[30] = cpu->r[4]; /* 0285E744 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285E744 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285E748 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E748 */ _t5 = _t4 & 0x00000001u; /* 0285E748 */ if (_t5) goto L_0285E764; else goto L_0285E74C; L_0285E74C: ; // 0x285e74c /* 0285E74C */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285E750 */ Gambit_fn_02869A2C(cpu); /* 0285E754 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285E754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E758 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E758 */ _t7 = _t6 & 0x00000001u; /* 0285E758 */ if (_t7) goto L_0285E764; else goto L_0285E75C; L_0285E75C: ; // 0x285e75c /* 0285E75C */ cpu->r[3] = cpu->r[31]; /* 0285E760 */ Gambit_fn_02801BB0(cpu); L_0285E764: ; // 0x285e764 /* 0285E764 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285E764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285E768 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285E768 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285E76C */ cpu->lr = cpu->r[0]; /* 0285E770 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285E770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285E774 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E778 */ return; } // fn_0285E730 @ 0x285e730 void Gambit_fn_0285E730(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285E730: ; // 0x285e730 /* 0285E730 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285E730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E730 */ cpu->r[1] = _t0; /* 0285E734 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285E734 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285E738 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285E738 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285E73C */ cpu->r[31] = cpu->r[3]; /* 0285E73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285E740 */ cpu->r[30] = cpu->r[4]; /* 0285E744 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285E744 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285E748 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E748 */ _t5 = _t4 & 0x00000001u; /* 0285E748 */ if (_t5) goto L_0285E764; else goto L_0285E74C; L_0285E74C: ; // 0x285e74c /* 0285E74C */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285E750 */ Gambit_fn_02869A2C(cpu); /* 0285E754 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285E754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E758 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E758 */ _t7 = _t6 & 0x00000001u; /* 0285E758 */ if (_t7) goto L_0285E764; else goto L_0285E75C; L_0285E75C: ; // 0x285e75c /* 0285E75C */ cpu->r[3] = cpu->r[31]; /* 0285E760 */ Gambit_fn_02801BB0(cpu); L_0285E764: ; // 0x285e764 /* 0285E764 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285E764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285E768 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285E768 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285E76C */ cpu->lr = cpu->r[0]; /* 0285E770 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285E770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285E774 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E778 */ return; } // fn_0285E77C @ 0x285e77c void Gambit_fn_0285E77C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0285E77C: ; // 0x285e77c /* 0285E77C */ cpu->r[0] = 0x00000007u; /* 0285E780 */ cpu->r[12] = cpu->r[3] + 0x00000008u; /* 0285E784 */ cpu->ctr = cpu->r[0]; /* 0285E788 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu; L_0285E78C: ; // 0x285e78c /* 0285E78C */ _t0 = cpu->r[4] + 0x00000001u; /* 0285E78C */ cpu->r[10] = rbrew_read8(cpu->mem, _t0); /* 0285E78C */ cpu->r[4] = _t0; /* 0285E790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285E794 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E794 */ _t2 = _t1 & 0x00000001u; /* 0285E794 */ if (_t2) goto L_0285E7A4; else goto L_0285E798; L_0285E798: ; // 0x285e798 /* 0285E798 */ _t3 = cpu->r[12] + 0x00000000u; /* 0285E798 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]); /* 0285E79C */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0285E7A0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285E7A0 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285E7A0 */ _t5 = _t4 >> (0x00000002u & 31u); /* 0285E7A0 */ _t6 = _t5 & 0x00000001u; /* 0285E7A0 */ if (_t6) goto L_0285E78C; else goto L_0285E7A4; L_0285E7A4: ; // 0x285e7a4 /* 0285E7A4 */ cpu->r[11] = 0x00000000u; /* 0285E7A8 */ _t7 = cpu->r[12] + 0x00000000u; /* 0285E7A8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]); /* 0285E7AC */ return; } // fn_0285E7B0 @ 0x285e7b0 void Gambit_fn_0285E7B0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0285E7B0: ; // 0x285e7b0 /* 0285E7B0 */ cpu->r[0] = cpu->lr; /* 0285E7B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285E7B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E7B4 */ cpu->r[1] = _t0; /* 0285E7B8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285E7B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285E7BC */ _t2 = cpu->r[1] + 0x00000008u; /* 0285E7BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285E7C0 */ cpu->r[31] = cpu->r[3]; /* 0285E7C4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285E7C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285E7C8 */ _t4 = cpu->r[31] + 0x00000000u; /* 0285E7C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285E7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E7D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E7D0 */ _t6 = _t5 & 0x00000001u; /* 0285E7D0 */ if (_t6) goto L_0285E80C; else goto L_0285E7D4; L_0285E7D4: ; // 0x285e7d4 /* 0285E7D4 */ _t7 = cpu->r[31] + 0x00000004u; /* 0285E7D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 0285E7D8 */ cpu->r[3] = cpu->r[31]; /* 0285E7DC */ cpu->r[4] = cpu->r[30]; /* 0285E7E0 */ Gambit_fn_028541D4(cpu); /* 0285E7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285E7E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E7E8 */ _t9 = _t8 & 0x00000001u; /* 0285E7E8 */ if (_t9) goto L_0285E800; else goto L_0285E7EC; L_0285E7EC: ; // 0x285e7ec /* 0285E7EC */ cpu->r[3] = cpu->r[30]; /* 0285E7F0 */ cpu->r[4] = 0x00000002u; /* 0285E7F4 */ Gambit_fn_0285E72C(cpu); /* 0285E7F8 */ cpu->r[3] = cpu->r[30]; /* 0285E7FC */ Gambit_fn_02869EAC(cpu); L_0285E800: ; // 0x285e800 /* 0285E800 */ _t10 = cpu->r[31] + 0x00000000u; /* 0285E800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285E804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E808 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E808 */ _t12 = _t11 & 0x00000001u; /* 0285E808 */ if (_t12) goto L_0285E80C; else goto L_0285E7D4; L_0285E80C: ; // 0x285e80c /* 0285E80C */ _t13 = cpu->r[1] + 0x00000014u; /* 0285E80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285E810 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285E810 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0285E814 */ cpu->lr = cpu->r[0]; /* 0285E818 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0285E818 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0285E81C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E820 */ return; } // fn_0285E7B4 @ 0x285e7b4 void Gambit_fn_0285E7B4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0285E7B4: ; // 0x285e7b4 /* 0285E7B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285E7B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E7B4 */ cpu->r[1] = _t0; /* 0285E7B8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285E7B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285E7BC */ _t2 = cpu->r[1] + 0x00000008u; /* 0285E7BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285E7C0 */ cpu->r[31] = cpu->r[3]; /* 0285E7C4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285E7C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285E7C8 */ _t4 = cpu->r[31] + 0x00000000u; /* 0285E7C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285E7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E7D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E7D0 */ _t6 = _t5 & 0x00000001u; /* 0285E7D0 */ if (_t6) goto L_0285E80C; else goto L_0285E7D4; L_0285E7D4: ; // 0x285e7d4 /* 0285E7D4 */ _t7 = cpu->r[31] + 0x00000004u; /* 0285E7D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 0285E7D8 */ cpu->r[3] = cpu->r[31]; /* 0285E7DC */ cpu->r[4] = cpu->r[30]; /* 0285E7E0 */ Gambit_fn_028541D4(cpu); /* 0285E7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285E7E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E7E8 */ _t9 = _t8 & 0x00000001u; /* 0285E7E8 */ if (_t9) goto L_0285E800; else goto L_0285E7EC; L_0285E7EC: ; // 0x285e7ec /* 0285E7EC */ cpu->r[3] = cpu->r[30]; /* 0285E7F0 */ cpu->r[4] = 0x00000002u; /* 0285E7F4 */ Gambit_fn_0285E72C(cpu); /* 0285E7F8 */ cpu->r[3] = cpu->r[30]; /* 0285E7FC */ Gambit_fn_02869EAC(cpu); L_0285E800: ; // 0x285e800 /* 0285E800 */ _t10 = cpu->r[31] + 0x00000000u; /* 0285E800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285E804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E808 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E808 */ _t12 = _t11 & 0x00000001u; /* 0285E808 */ if (_t12) goto L_0285E80C; else goto L_0285E7D4; L_0285E80C: ; // 0x285e80c /* 0285E80C */ _t13 = cpu->r[1] + 0x00000014u; /* 0285E80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285E810 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285E810 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0285E814 */ cpu->lr = cpu->r[0]; /* 0285E818 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0285E818 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0285E81C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E820 */ return; } // fn_0285E824 @ 0x285e824 void Gambit_fn_0285E824(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285E824: ; // 0x285e824 /* 0285E824 */ cpu->r[0] = cpu->lr; /* 0285E828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285E828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E828 */ cpu->r[1] = _t0; /* 0285E82C */ _t1 = cpu->r[1] + 0x00000008u; /* 0285E82C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285E830 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285E830 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285E834 */ cpu->r[31] = cpu->r[3]; /* 0285E834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285E838 */ cpu->r[30] = cpu->r[4]; /* 0285E83C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285E83C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285E840 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E840 */ _t5 = _t4 & 0x00000001u; /* 0285E840 */ if (_t5) goto L_0285E85C; else goto L_0285E844; L_0285E844: ; // 0x285e844 /* 0285E844 */ cpu->r[3] = cpu->r[31]; /* 0285E848 */ Gambit_fn_0285E7B0(cpu); /* 0285E84C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285E84C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E850 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E850 */ _t7 = _t6 & 0x00000001u; /* 0285E850 */ if (_t7) goto L_0285E85C; else goto L_0285E854; L_0285E854: ; // 0x285e854 /* 0285E854 */ cpu->r[3] = cpu->r[31]; /* 0285E858 */ Gambit_fn_02801BB0(cpu); L_0285E85C: ; // 0x285e85c /* 0285E85C */ _t8 = cpu->r[1] + 0x00000014u; /* 0285E85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285E860 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285E860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285E864 */ cpu->lr = cpu->r[0]; /* 0285E868 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285E868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285E86C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E870 */ return; } // fn_0285E828 @ 0x285e828 void Gambit_fn_0285E828(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285E828: ; // 0x285e828 /* 0285E828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285E828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E828 */ cpu->r[1] = _t0; /* 0285E82C */ _t1 = cpu->r[1] + 0x00000008u; /* 0285E82C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285E830 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285E830 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285E834 */ cpu->r[31] = cpu->r[3]; /* 0285E834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285E838 */ cpu->r[30] = cpu->r[4]; /* 0285E83C */ _t3 = cpu->r[1] + 0x00000014u; /* 0285E83C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285E840 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E840 */ _t5 = _t4 & 0x00000001u; /* 0285E840 */ if (_t5) goto L_0285E85C; else goto L_0285E844; L_0285E844: ; // 0x285e844 /* 0285E844 */ cpu->r[3] = cpu->r[31]; /* 0285E848 */ Gambit_fn_0285E7B0(cpu); /* 0285E84C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285E84C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E850 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E850 */ _t7 = _t6 & 0x00000001u; /* 0285E850 */ if (_t7) goto L_0285E85C; else goto L_0285E854; L_0285E854: ; // 0x285e854 /* 0285E854 */ cpu->r[3] = cpu->r[31]; /* 0285E858 */ Gambit_fn_02801BB0(cpu); L_0285E85C: ; // 0x285e85c /* 0285E85C */ _t8 = cpu->r[1] + 0x00000014u; /* 0285E85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285E860 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285E860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285E864 */ cpu->lr = cpu->r[0]; /* 0285E868 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285E868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285E86C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285E870 */ return; } // fn_0285E874 @ 0x285e874 void Gambit_fn_0285E874(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285E874: ; // 0x285e874 /* 0285E874 */ cpu->r[0] = cpu->lr; /* 0285E878 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285E878 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E878 */ cpu->r[1] = _t0; /* 0285E87C */ _t1 = cpu->r[1] + 0x00000014u; /* 0285E87C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285E880 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285E880 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285E884 */ cpu->r[30] = cpu->r[3]; /* 0285E888 */ cpu->r[31] = cpu->r[4]; /* 0285E88C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285E88C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285E890 */ cpu->r[3] = 0x00000018u; /* 0285E894 */ cpu->r[4] = 0x00000004u; /* 0285E898 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285E898 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285E89C */ Gambit_fn_02869E8C(cpu); /* 0285E8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E8A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E8A4 */ _t6 = _t5 & 0x00000001u; /* 0285E8A4 */ if (_t6) goto L_0285E8BC; else goto L_0285E8A8; L_0285E8A8: ; // 0x285e8a8 /* 0285E8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E8AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E8AC */ _t8 = _t7 & 0x00000001u; /* 0285E8AC */ if (_t8) goto L_0285E8BC; else goto L_0285E8B0; L_0285E8B0: ; // 0x285e8b0 /* 0285E8B0 */ Gambit_fn_0285E6A4(cpu); /* 0285E8B4 */ cpu->r[29] = cpu->r[3]; /* 0285E8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285E8B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E8B8 */ _t10 = _t9 & 0x00000001u; /* 0285E8B8 */ if (_t10) goto L_0285E8BC; else goto L_0285E8DC; L_0285E8BC: ; // 0x285e8bc /* 0285E8BC */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285E8BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285E8C0 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285E8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285E8C4 */ _t13 = cpu->r[1] + 0x00000010u; /* 0285E8C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285E8C8 */ cpu->lr = cpu->r[0]; /* 0285E8CC */ _t14 = cpu->r[1] + 0x00000014u; /* 0285E8CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285E8D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285E8D4 */ cpu->r[3] = 0x00000000u; /* 0285E8D8 */ return; L_0285E8DC: ; // 0x285e8dc /* 0285E8DC */ cpu->r[4] = cpu->r[31]; /* 0285E8E0 */ cpu->r[3] = cpu->r[29]; /* 0285E8E4 */ Gambit_fn_0285E77C(cpu); /* 0285E8E8 */ cpu->r[0] = cpu->r[30] + 0x00000004u; /* 0285E8EC */ cpu->r[3] = cpu->r[30]; /* 0285E8F0 */ cpu->r[5] = cpu->r[29]; /* 0285E8F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285E8F8 */ _t15 = cpu->r[1] + 0x00000008u; /* 0285E8F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 0285E8FC */ Gambit_fn_028541A8(cpu); /* 0285E900 */ cpu->r[3] = cpu->r[29] + 0x00000010u; /* 0285E904 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285E904 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 0285E908 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0285E908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285E90C */ _t18 = cpu->r[1] + 0x00000010u; /* 0285E90C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0285E910 */ cpu->lr = cpu->r[0]; /* 0285E914 */ _t19 = cpu->r[1] + 0x00000014u; /* 0285E914 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285E918 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285E91C */ return; } // fn_0285E878 @ 0x285e878 void Gambit_fn_0285E878(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285E878: ; // 0x285e878 /* 0285E878 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285E878 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E878 */ cpu->r[1] = _t0; /* 0285E87C */ _t1 = cpu->r[1] + 0x00000014u; /* 0285E87C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285E880 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285E880 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285E884 */ cpu->r[30] = cpu->r[3]; /* 0285E888 */ cpu->r[31] = cpu->r[4]; /* 0285E88C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285E88C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285E890 */ cpu->r[3] = 0x00000018u; /* 0285E894 */ cpu->r[4] = 0x00000004u; /* 0285E898 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285E898 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285E89C */ Gambit_fn_02869E8C(cpu); /* 0285E8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E8A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E8A4 */ _t6 = _t5 & 0x00000001u; /* 0285E8A4 */ if (_t6) goto L_0285E8BC; else goto L_0285E8A8; L_0285E8A8: ; // 0x285e8a8 /* 0285E8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E8AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E8AC */ _t8 = _t7 & 0x00000001u; /* 0285E8AC */ if (_t8) goto L_0285E8BC; else goto L_0285E8B0; L_0285E8B0: ; // 0x285e8b0 /* 0285E8B0 */ Gambit_fn_0285E6A4(cpu); /* 0285E8B4 */ cpu->r[29] = cpu->r[3]; /* 0285E8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285E8B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E8B8 */ _t10 = _t9 & 0x00000001u; /* 0285E8B8 */ if (_t10) goto L_0285E8BC; else goto L_0285E8DC; L_0285E8BC: ; // 0x285e8bc /* 0285E8BC */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285E8BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285E8C0 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285E8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285E8C4 */ _t13 = cpu->r[1] + 0x00000010u; /* 0285E8C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285E8C8 */ cpu->lr = cpu->r[0]; /* 0285E8CC */ _t14 = cpu->r[1] + 0x00000014u; /* 0285E8CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285E8D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285E8D4 */ cpu->r[3] = 0x00000000u; /* 0285E8D8 */ return; L_0285E8DC: ; // 0x285e8dc /* 0285E8DC */ cpu->r[4] = cpu->r[31]; /* 0285E8E0 */ cpu->r[3] = cpu->r[29]; /* 0285E8E4 */ Gambit_fn_0285E77C(cpu); /* 0285E8E8 */ cpu->r[0] = cpu->r[30] + 0x00000004u; /* 0285E8EC */ cpu->r[3] = cpu->r[30]; /* 0285E8F0 */ cpu->r[5] = cpu->r[29]; /* 0285E8F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285E8F8 */ _t15 = cpu->r[1] + 0x00000008u; /* 0285E8F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 0285E8FC */ Gambit_fn_028541A8(cpu); /* 0285E900 */ cpu->r[3] = cpu->r[29] + 0x00000010u; /* 0285E904 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285E904 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 0285E908 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0285E908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285E90C */ _t18 = cpu->r[1] + 0x00000010u; /* 0285E90C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0285E910 */ cpu->lr = cpu->r[0]; /* 0285E914 */ _t19 = cpu->r[1] + 0x00000014u; /* 0285E914 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285E918 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285E91C */ return; } // fn_0285E920 @ 0x285e920 void Gambit_fn_0285E920(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20; L_0285E920: ; // 0x285e920 /* 0285E920 */ cpu->r[0] = cpu->lr; /* 0285E924 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285E924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E924 */ cpu->r[1] = _t0; /* 0285E928 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285E928 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285E92C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285E92C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285E930 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285E930 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285E934 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285E934 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285E938 */ _t5 = cpu->r[3] + 0x00000004u; /* 0285E938 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 0285E93C */ cpu->r[29] = cpu->r[3] + 0x00000004u; /* 0285E940 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29]; /* 0285E944 */ cpu->r[0] = rbrew_clz32(cpu->r[11]); /* 0285E948 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285E94C */ cpu->r[0] = cpu->r[12] ^ 0x00000001u; /* 0285E950 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285E950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E954 */ cpu->r[31] = cpu->r[4]; /* 0285E958 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E958 */ _t7 = _t6 & 0x00000001u; /* 0285E958 */ if (_t7) goto L_0285E9AC; else goto L_0285E95C; L_0285E95C: ; // 0x285e95c /* 0285E95C */ cpu->r[3] = cpu->r[31]; /* 0285E960 */ cpu->r[4] = cpu->r[30] + 0x00000008u; /* 0285E964 */ Gambit_fn_0285E9CC(cpu); /* 0285E968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E96C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E96C */ _t9 = _t8 & 0x00000001u; /* 0285E96C */ if (_t9) goto L_0285E990; else goto L_0285E970; L_0285E970: ; // 0x285e970 /* 0285E970 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285E970 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0285E974 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 0285E974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0285E978 */ cpu->r[3] = cpu->r[30] + 0x00000010u; /* 0285E97C */ _t12 = cpu->r[1] + 0x00000010u; /* 0285E97C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0285E980 */ cpu->lr = cpu->r[0]; /* 0285E984 */ _t13 = cpu->r[1] + 0x00000014u; /* 0285E984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285E988 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285E98C */ return; L_0285E990: ; // 0x285e990 /* 0285E990 */ _t14 = cpu->r[30] + 0x00000000u; /* 0285E990 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0285E994 */ cpu->r[8] = cpu->r[30] ^ cpu->r[29]; /* 0285E998 */ cpu->r[0] = rbrew_clz32(cpu->r[8]); /* 0285E99C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285E9A0 */ cpu->r[10] = cpu->r[7] ^ 0x00000001u; /* 0285E9A4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285E9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285E9A8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E9A8 */ _t16 = _t15 & 0x00000001u; /* 0285E9A8 */ if (_t16) goto L_0285E9AC; else goto L_0285E95C; L_0285E9AC: ; // 0x285e9ac /* 0285E9AC */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0285E9AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17); /* 0285E9B0 */ _t18 = cpu->r[1] + 0x0000001Cu; /* 0285E9B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0285E9B4 */ _t19 = cpu->r[1] + 0x00000010u; /* 0285E9B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0285E9B8 */ cpu->lr = cpu->r[0]; /* 0285E9BC */ _t20 = cpu->r[1] + 0x00000014u; /* 0285E9BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0285E9C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285E9C4 */ cpu->r[3] = 0x00000000u; /* 0285E9C8 */ return; } // fn_0285E924 @ 0x285e924 void Gambit_fn_0285E924(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20; L_0285E924: ; // 0x285e924 /* 0285E924 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285E924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285E924 */ cpu->r[1] = _t0; /* 0285E928 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285E928 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285E92C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285E92C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285E930 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285E930 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285E934 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285E934 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285E938 */ _t5 = cpu->r[3] + 0x00000004u; /* 0285E938 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 0285E93C */ cpu->r[29] = cpu->r[3] + 0x00000004u; /* 0285E940 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29]; /* 0285E944 */ cpu->r[0] = rbrew_clz32(cpu->r[11]); /* 0285E948 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285E94C */ cpu->r[0] = cpu->r[12] ^ 0x00000001u; /* 0285E950 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285E950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E954 */ cpu->r[31] = cpu->r[4]; /* 0285E958 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E958 */ _t7 = _t6 & 0x00000001u; /* 0285E958 */ if (_t7) goto L_0285E9AC; else goto L_0285E95C; L_0285E95C: ; // 0x285e95c /* 0285E95C */ cpu->r[3] = cpu->r[31]; /* 0285E960 */ cpu->r[4] = cpu->r[30] + 0x00000008u; /* 0285E964 */ Gambit_fn_0285E9CC(cpu); /* 0285E968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285E96C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E96C */ _t9 = _t8 & 0x00000001u; /* 0285E96C */ if (_t9) goto L_0285E990; else goto L_0285E970; L_0285E970: ; // 0x285e970 /* 0285E970 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285E970 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0285E974 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 0285E974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0285E978 */ cpu->r[3] = cpu->r[30] + 0x00000010u; /* 0285E97C */ _t12 = cpu->r[1] + 0x00000010u; /* 0285E97C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0285E980 */ cpu->lr = cpu->r[0]; /* 0285E984 */ _t13 = cpu->r[1] + 0x00000014u; /* 0285E984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285E988 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285E98C */ return; L_0285E990: ; // 0x285e990 /* 0285E990 */ _t14 = cpu->r[30] + 0x00000000u; /* 0285E990 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0285E994 */ cpu->r[8] = cpu->r[30] ^ cpu->r[29]; /* 0285E998 */ cpu->r[0] = rbrew_clz32(cpu->r[8]); /* 0285E99C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285E9A0 */ cpu->r[10] = cpu->r[7] ^ 0x00000001u; /* 0285E9A4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285E9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285E9A8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E9A8 */ _t16 = _t15 & 0x00000001u; /* 0285E9A8 */ if (_t16) goto L_0285E9AC; else goto L_0285E95C; L_0285E9AC: ; // 0x285e9ac /* 0285E9AC */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0285E9AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17); /* 0285E9B0 */ _t18 = cpu->r[1] + 0x0000001Cu; /* 0285E9B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0285E9B4 */ _t19 = cpu->r[1] + 0x00000010u; /* 0285E9B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0285E9B8 */ cpu->lr = cpu->r[0]; /* 0285E9BC */ _t20 = cpu->r[1] + 0x00000014u; /* 0285E9BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0285E9C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285E9C4 */ cpu->r[3] = 0x00000000u; /* 0285E9C8 */ return; } // fn_0285E9CC @ 0x285e9cc void Gambit_fn_0285E9CC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285E9CC: ; // 0x285e9cc /* 0285E9CC */ cpu->r[9] = 0x00000008u; /* 0285E9D0 */ cpu->ctr = cpu->r[9]; /* 0285E9D4 */ cpu->r[12] = 0x00000000u; L_0285E9D8: ; // 0x285e9d8 /* 0285E9D8 */ _t0 = cpu->r[3] + cpu->r[12]; /* 0285E9D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 0285E9DC */ _t1 = cpu->r[4] + cpu->r[12]; /* 0285E9DC */ cpu->r[10] = rbrew_read8(cpu->mem, _t1); /* 0285E9E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 0285E9E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E9E4 */ _t3 = _t2 & 0x00000001u; /* 0285E9E4 */ if (_t3) goto L_0285E9F0; else goto L_0285E9E8; L_0285E9E8: ; // 0x285e9e8 /* 0285E9E8 */ cpu->r[3] = 0x00000000u; /* 0285E9EC */ return; L_0285E9F0: ; // 0x285e9f0 /* 0285E9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285E9F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285E9F4 */ _t5 = _t4 & 0x00000001u; /* 0285E9F4 */ if (_t5) goto L_0285EA00; else goto L_0285E9F8; L_0285E9F8: ; // 0x285e9f8 /* 0285E9F8 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0285E9FC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285E9FC */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285E9FC */ _t7 = _t6 >> (0x00000002u & 31u); /* 0285E9FC */ _t8 = _t7 & 0x00000001u; /* 0285E9FC */ if (_t8) goto L_0285E9D8; else goto L_0285EA00; L_0285EA00: ; // 0x285ea00 /* 0285EA00 */ cpu->r[3] = 0x00000001u; /* 0285EA04 */ return; } // fn_0285EA08 @ 0x285ea08 void Gambit_fn_0285EA08(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0285EA08: ; // 0x285ea08 /* 0285EA08 */ cpu->r[0] = cpu->lr; /* 0285EA0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285EA0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EA0C */ cpu->r[1] = _t0; /* 0285EA10 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285EA10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285EA14 */ cpu->r[31] = cpu->r[3]; /* 0285EA18 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu; /* 0285EA1C */ cpu->r[4] = 0x00000002u; /* 0285EA20 */ cpu->r[5] = 0x00000001u; /* 0285EA24 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285EA24 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285EA28 */ rbrew_dispatch(cpu, 0x02d05c20u); /* 0285EA2C */ cpu->r[12] = 0x10130000u; /* 0285EA30 */ _t3 = cpu->r[12] + 0x00004F94u; /* 0285EA30 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3); /* 0285EA34 */ cpu->r[11] = 0x10130000u; /* 0285EA38 */ cpu->f[3] = cpu->f[1]; /* 0285EA3C */ _t4 = cpu->r[11] + 0x00004F98u; /* 0285EA3C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t4); /* 0285EA40 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu; /* 0285EA44 */ rbrew_dispatch(cpu, 0x02d05c48u); /* 0285EA48 */ cpu->r[4] = 0x00000000u; /* 0285EA4C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu; /* 0285EA50 */ cpu->r[5] = cpu->r[4]; /* 0285EA54 */ rbrew_dispatch(cpu, 0x02d05c68u); /* 0285EA58 */ _t5 = cpu->r[1] + 0x00000014u; /* 0285EA58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0285EA5C */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0285EA5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0285EA60 */ cpu->lr = cpu->r[0]; /* 0285EA64 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285EA68 */ return; } // fn_0285EA0C @ 0x285ea0c void Gambit_fn_0285EA0C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0285EA0C: ; // 0x285ea0c /* 0285EA0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285EA0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EA0C */ cpu->r[1] = _t0; /* 0285EA10 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285EA10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285EA14 */ cpu->r[31] = cpu->r[3]; /* 0285EA18 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu; /* 0285EA1C */ cpu->r[4] = 0x00000002u; /* 0285EA20 */ cpu->r[5] = 0x00000001u; /* 0285EA24 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285EA24 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285EA28 */ rbrew_dispatch(cpu, 0x02d05c20u); /* 0285EA2C */ cpu->r[12] = 0x10130000u; /* 0285EA30 */ _t3 = cpu->r[12] + 0x00004F94u; /* 0285EA30 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3); /* 0285EA34 */ cpu->r[11] = 0x10130000u; /* 0285EA38 */ cpu->f[3] = cpu->f[1]; /* 0285EA3C */ _t4 = cpu->r[11] + 0x00004F98u; /* 0285EA3C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t4); /* 0285EA40 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu; /* 0285EA44 */ rbrew_dispatch(cpu, 0x02d05c48u); /* 0285EA48 */ cpu->r[4] = 0x00000000u; /* 0285EA4C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu; /* 0285EA50 */ cpu->r[5] = cpu->r[4]; /* 0285EA54 */ rbrew_dispatch(cpu, 0x02d05c68u); /* 0285EA58 */ _t5 = cpu->r[1] + 0x00000014u; /* 0285EA58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0285EA5C */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0285EA5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0285EA60 */ cpu->lr = cpu->r[0]; /* 0285EA64 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285EA68 */ return; } // fn_0285EA6C @ 0x285ea6c void Gambit_fn_0285EA6C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0285EA6C: ; // 0x285ea6c /* 0285EA6C */ cpu->r[0] = cpu->lr; /* 0285EA70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285EA70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EA70 */ cpu->r[1] = _t0; /* 0285EA74 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285EA74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285EA78 */ cpu->r[31] = cpu->r[3]; /* 0285EA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EA7C */ _t2 = cpu->r[1] + 0x00000014u; /* 0285EA7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285EA80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EA80 */ _t4 = _t3 & 0x00000001u; /* 0285EA80 */ if (_t4) goto L_0285EA84; else goto L_0285EA94; L_0285EA84: ; // 0x285ea84 /* 0285EA84 */ cpu->r[3] = 0x0000001Cu; /* 0285EA88 */ Gambit_fn_02801A78(cpu); /* 0285EA8C */ cpu->r[31] = cpu->r[3]; /* 0285EA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EA90 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EA90 */ _t6 = _t5 & 0x00000001u; /* 0285EA90 */ if (_t6) goto L_0285EAB8; else goto L_0285EA94; L_0285EA94: ; // 0x285ea94 /* 0285EA94 */ cpu->r[0] = 0x00000000u; /* 0285EA98 */ cpu->r[12] = 0x0000031Au; /* 0285EA9C */ _t7 = cpu->r[31] + 0x00000006u; /* 0285EA9C */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[0]); /* 0285EAA0 */ cpu->r[3] = cpu->r[31]; /* 0285EAA4 */ _t8 = cpu->r[31] + 0x00000004u; /* 0285EAA4 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]); /* 0285EAA8 */ _t9 = cpu->r[31] + 0x00000008u; /* 0285EAA8 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[12]); /* 0285EAAC */ _t10 = cpu->r[31] + 0x00000018u; /* 0285EAAC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0285EAB0 */ _t11 = cpu->r[31] + 0x00000000u; /* 0285EAB0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0285EAB4 */ Gambit_fn_0285EA08(cpu); L_0285EAB8: ; // 0x285eab8 /* 0285EAB8 */ _t12 = cpu->r[1] + 0x00000014u; /* 0285EAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285EABC */ cpu->r[3] = cpu->r[31]; /* 0285EAC0 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0285EAC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285EAC4 */ cpu->lr = cpu->r[0]; /* 0285EAC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285EACC */ return; } // fn_0285EA70 @ 0x285ea70 void Gambit_fn_0285EA70(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0285EA70: ; // 0x285ea70 /* 0285EA70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285EA70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EA70 */ cpu->r[1] = _t0; /* 0285EA74 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285EA74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285EA78 */ cpu->r[31] = cpu->r[3]; /* 0285EA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EA7C */ _t2 = cpu->r[1] + 0x00000014u; /* 0285EA7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285EA80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EA80 */ _t4 = _t3 & 0x00000001u; /* 0285EA80 */ if (_t4) goto L_0285EA84; else goto L_0285EA94; L_0285EA84: ; // 0x285ea84 /* 0285EA84 */ cpu->r[3] = 0x0000001Cu; /* 0285EA88 */ Gambit_fn_02801A78(cpu); /* 0285EA8C */ cpu->r[31] = cpu->r[3]; /* 0285EA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EA90 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EA90 */ _t6 = _t5 & 0x00000001u; /* 0285EA90 */ if (_t6) goto L_0285EAB8; else goto L_0285EA94; L_0285EA94: ; // 0x285ea94 /* 0285EA94 */ cpu->r[0] = 0x00000000u; /* 0285EA98 */ cpu->r[12] = 0x0000031Au; /* 0285EA9C */ _t7 = cpu->r[31] + 0x00000006u; /* 0285EA9C */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[0]); /* 0285EAA0 */ cpu->r[3] = cpu->r[31]; /* 0285EAA4 */ _t8 = cpu->r[31] + 0x00000004u; /* 0285EAA4 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]); /* 0285EAA8 */ _t9 = cpu->r[31] + 0x00000008u; /* 0285EAA8 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[12]); /* 0285EAAC */ _t10 = cpu->r[31] + 0x00000018u; /* 0285EAAC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0285EAB0 */ _t11 = cpu->r[31] + 0x00000000u; /* 0285EAB0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0285EAB4 */ Gambit_fn_0285EA08(cpu); L_0285EAB8: ; // 0x285eab8 /* 0285EAB8 */ _t12 = cpu->r[1] + 0x00000014u; /* 0285EAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285EABC */ cpu->r[3] = cpu->r[31]; /* 0285EAC0 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0285EAC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285EAC4 */ cpu->lr = cpu->r[0]; /* 0285EAC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285EACC */ return; } // fn_0285EAD0 @ 0x285ead0 void Gambit_fn_0285EAD0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285EAD0: ; // 0x285ead0 /* 0285EAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285EAD4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EAD4 */ _t1 = _t0 & 0x00000001u; /* 0285EAD4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285EAD4 */ goto L_0285EAD8; L_0285EAD8: ; // 0x285ead8 /* 0285EAD8 */ _t2 = cpu->r[4] + 0x00000000u; /* 0285EAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0285EADC */ _t3 = cpu->r[3] + 0x00000000u; /* 0285EADC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285EAE0 */ _t4 = cpu->r[4] + 0x00000004u; /* 0285EAE0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t4); /* 0285EAE4 */ _t5 = cpu->r[3] + 0x00000004u; /* 0285EAE4 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[0]); /* 0285EAE8 */ _t6 = cpu->r[4] + 0x00000006u; /* 0285EAE8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t6); /* 0285EAEC */ cpu->r[12] = cpu->r[4] + 0x0000000Cu; /* 0285EAF0 */ _t7 = cpu->r[3] + 0x00000006u; /* 0285EAF0 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[10]); /* 0285EAF4 */ _t8 = cpu->r[4] + 0x00000008u; /* 0285EAF4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t8); /* 0285EAF8 */ _t9 = cpu->r[3] + 0x00000018u; /* 0285EAF8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 0285EAFC */ _t10 = cpu->r[3] + 0x00000009u; /* 0285EAFC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]); /* 0285EB00 */ return; } // fn_0285EB18 @ 0x285eb18 void Gambit_fn_0285EB18(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0285EB18: ; // 0x285eb18 /* 0285EB18 */ cpu->r[0] = 0x10130000u; /* 0285EB1C */ _t0 = cpu->r[3] + 0x00000008u; /* 0285EB1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0); /* 0285EB20 */ cpu->r[9] = cpu->r[5]; /* 0285EB24 */ cpu->r[0] = cpu->r[0] + 0x00004F9Cu; /* 0285EB28 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285EB28 */ _t2 = cpu->r[9] & 0x00000003u; /* 0285EB28 */ cpu->r[9] = _t2 | _t1; /* 0285EB2C */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285EB30 */ _t3 = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x00000000u, 0x00000003u); /* 0285EB30 */ _t4 = cpu->r[10] & 0x0FFFFFFFu; /* 0285EB30 */ cpu->r[10] = _t4 | _t3; /* 0285EB34 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285EB38 */ _t5 = cpu->r[3] + 0x00000008u; /* 0285EB38 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]); /* 0285EB3C */ _t6 = cpu->r[8] + cpu->r[0]; /* 0285EB3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 0285EB40 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0285EB44 */ _t7 = cpu->r[12] + cpu->r[0]; /* 0285EB44 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 0285EB48 */ cpu->r[6] = 0x00000002u; /* 0285EB4C */ rbrew_dispatch(cpu, 0x02d05c30u); return; } // fn_0285EB50 @ 0x285eb50 void Gambit_fn_0285EB50(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0285EB50: ; // 0x285eb50 /* 0285EB50 */ cpu->r[0] = 0x10130000u; /* 0285EB54 */ _t0 = cpu->r[3] + 0x00000008u; /* 0285EB54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0); /* 0285EB58 */ cpu->r[9] = cpu->r[5]; /* 0285EB5C */ cpu->r[0] = cpu->r[0] + 0x00004FA8u; /* 0285EB60 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0285EB60 */ _t2 = cpu->r[9] & 0x00000001u; /* 0285EB60 */ cpu->r[9] = _t2 | _t1; /* 0285EB64 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285EB68 */ _t3 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000004u, 0x00000007u); /* 0285EB68 */ _t4 = cpu->r[10] & 0xF0FFFFFFu; /* 0285EB68 */ cpu->r[10] = _t4 | _t3; /* 0285EB6C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0285EB70 */ _t5 = cpu->r[3] + 0x00000008u; /* 0285EB70 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]); /* 0285EB74 */ _t6 = cpu->r[8] + cpu->r[0]; /* 0285EB74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 0285EB78 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0285EB7C */ _t7 = cpu->r[12] + cpu->r[0]; /* 0285EB7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 0285EB80 */ cpu->r[6] = 0x00000000u; /* 0285EB84 */ rbrew_dispatch(cpu, 0x02d05c60u); return; } // fn_0285EB88 @ 0x285eb88 void Gambit_fn_0285EB88(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25; L_0285EB88: ; // 0x285eb88 /* 0285EB88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285EB88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EB88 */ cpu->r[1] = _t0; /* 0285EB8C */ _t1 = cpu->r[3] + 0x00000006u; /* 0285EB8C */ cpu->r[10] = rbrew_read16(cpu->mem, _t1); /* 0285EB90 */ _t2 = cpu->r[3] + 0x00000004u; /* 0285EB90 */ cpu->r[8] = rbrew_read16(cpu->mem, _t2); /* 0285EB94 */ _t3 = cpu->r[3] + 0x00000000u; /* 0285EB94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0285EB98 */ _t4 = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 0285EB98 */ _t5 = cpu->r[6] & 0x0000FFFFu; /* 0285EB98 */ cpu->r[6] = _t5 | _t4; /* 0285EB9C */ _t6 = cpu->r[3] + 0x00000009u; /* 0285EB9C */ cpu->r[8] = rbrew_read8(cpu->mem, _t6); /* 0285EBA0 */ _t7 = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0285EBA0 */ _t8 = cpu->r[6] & 0xFFFF0000u; /* 0285EBA0 */ cpu->r[6] = _t8 | _t7; /* 0285EBA4 */ _t9 = cpu->r[4] + 0x00000000u; /* 0285EBA4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 0285EBA8 */ _t10 = cpu->r[1] + 0x00000008u; /* 0285EBA8 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]); /* 0285EBAC */ _t11 = cpu->r[1] + 0x00000008u; /* 0285EBAC */ cpu->r[9] = rbrew_read16(cpu->mem, _t11); /* 0285EBB0 */ _t12 = cpu->r[1] + 0x0000000Au; /* 0285EBB0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12); /* 0285EBB4 */ _t13 = cpu->r[4] + 0x00000004u; /* 0285EBB4 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[9]); /* 0285EBB8 */ _t14 = cpu->r[4] + 0x00000008u; /* 0285EBB8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[8]); /* 0285EBBC */ _t15 = cpu->r[4] + 0x00000006u; /* 0285EBBC */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]); /* 0285EBC0 */ cpu->r[0] = 0x0000000Du; /* 0285EBC4 */ _t16 = cpu->r[3] + 0x00000018u; /* 0285EBC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 0285EBC8 */ cpu->r[10] = cpu->r[4] + 0x00000008u; /* 0285EBCC */ cpu->ctr = cpu->r[0]; /* 0285EBD0 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFCu; L_0285EBD4: ; // 0x285ebd4 /* 0285EBD4 */ _t17 = cpu->r[12] + 0x00000004u; /* 0285EBD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17); /* 0285EBD8 */ _t18 = cpu->r[10] + 0x00000004u; /* 0285EBD8 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]); /* 0285EBDC */ _t19 = cpu->r[12] + 0x00000008u; /* 0285EBDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 0285EBE0 */ _t20 = cpu->r[10] + 0x00000008u; /* 0285EBE0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]); /* 0285EBE4 */ _t21 = cpu->r[12] + 0x0000000Cu; /* 0285EBE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21); /* 0285EBE4 */ cpu->r[12] = _t21; /* 0285EBE8 */ _t22 = cpu->r[10] + 0x0000000Cu; /* 0285EBE8 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]); /* 0285EBE8 */ cpu->r[10] = _t22; /* 0285EBEC */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285EBEC */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285EBEC */ _t24 = _t23 >> (0x00000002u & 31u); /* 0285EBEC */ _t25 = _t24 & 0x00000001u; /* 0285EBEC */ if (_t25) goto L_0285EBD4; else goto L_0285EBF0; L_0285EBF0: ; // 0x285ebf0 /* 0285EBF0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285EBF4 */ return; } // fn_0285EBF8 @ 0x285ebf8 void Gambit_fn_0285EBF8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_0285EBF8: ; // 0x285ebf8 /* 0285EBF8 */ _t0 = cpu->r[4] + 0x00000000u; /* 0285EBF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0285EBFC */ _t1 = cpu->r[3] + 0x00000000u; /* 0285EBFC */ rbrew_write32(cpu->mem, _t1, cpu->r[12]); /* 0285EC00 */ _t2 = cpu->r[4] + 0x00000004u; /* 0285EC00 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2); /* 0285EC04 */ _t3 = cpu->r[3] + 0x00000004u; /* 0285EC04 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[0]); /* 0285EC08 */ _t4 = cpu->r[4] + 0x00000006u; /* 0285EC08 */ cpu->r[11] = rbrew_read16(cpu->mem, _t4); /* 0285EC0C */ _t5 = cpu->r[3] + 0x00000006u; /* 0285EC0C */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[11]); /* 0285EC10 */ _t6 = cpu->r[4] + 0x00000009u; /* 0285EC10 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 0285EC14 */ _t7 = cpu->r[3] + 0x00000009u; /* 0285EC14 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]); /* 0285EC18 */ _t8 = cpu->r[4] + 0x00000018u; /* 0285EC18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 0285EC1C */ _t9 = cpu->r[3] + 0x00000018u; /* 0285EC1C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 0285EC20 */ return; } // fn_0285EC24 @ 0x285ec24 void Gambit_fn_0285EC24(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20; L_0285EC24: ; // 0x285ec24 /* 0285EC24 */ cpu->r[0] = cpu->lr; /* 0285EC28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285EC28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EC28 */ cpu->r[1] = _t0; /* 0285EC2C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285EC2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285EC30 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285EC30 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285EC34 */ cpu->r[31] = cpu->r[3]; /* 0285EC34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EC38 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285EC38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285EC3C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EC3C */ _t5 = _t4 & 0x00000001u; /* 0285EC3C */ if (_t5) goto L_0285EC40; else goto L_0285EC50; L_0285EC40: ; // 0x285ec40 /* 0285EC40 */ cpu->r[3] = 0x00000130u; /* 0285EC44 */ Gambit_fn_02801A78(cpu); /* 0285EC48 */ cpu->r[31] = cpu->r[3]; /* 0285EC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EC4C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EC4C */ _t7 = _t6 & 0x00000001u; /* 0285EC4C */ if (_t7) goto L_0285EC84; else goto L_0285EC50; L_0285EC50: ; // 0x285ec50 /* 0285EC50 */ cpu->r[30] = 0x00000000u; /* 0285EC54 */ _t8 = cpu->r[31] + 0x00000000u; /* 0285EC54 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0285EC58 */ cpu->r[3] = cpu->r[31] + 0x00000088u; /* 0285EC58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285EC5C */ _t9 = cpu->r[31] + 0x00000004u; /* 0285EC5C */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285EC60 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EC60 */ _t11 = _t10 & 0x00000001u; /* 0285EC60 */ if (_t11) goto L_0285EC64; else goto L_0285EC74; L_0285EC64: ; // 0x285ec64 /* 0285EC64 */ cpu->r[3] = 0x000000A8u; /* 0285EC68 */ Gambit_fn_02801A78(cpu); /* 0285EC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285EC70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EC70 */ _t13 = _t12 & 0x00000001u; /* 0285EC70 */ if (_t13) goto L_0285EC80; else goto L_0285EC74; L_0285EC74: ; // 0x285ec74 /* 0285EC74 */ _t14 = cpu->r[3] + 0x00000004u; /* 0285EC74 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]); /* 0285EC78 */ _t15 = cpu->r[3] + 0x00000000u; /* 0285EC78 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); /* 0285EC7C */ _t16 = cpu->r[3] + 0x00000006u; /* 0285EC7C */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]); L_0285EC80: ; // 0x285ec80 /* 0285EC80 */ _t17 = cpu->r[31] + 0x00000008u; /* 0285EC80 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[30]); L_0285EC84: ; // 0x285ec84 /* 0285EC84 */ _t18 = cpu->r[1] + 0x00000014u; /* 0285EC84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0285EC88 */ cpu->r[3] = cpu->r[31]; /* 0285EC8C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0285EC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285EC90 */ cpu->lr = cpu->r[0]; /* 0285EC94 */ _t20 = cpu->r[1] + 0x00000008u; /* 0285EC94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 0285EC98 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285EC9C */ return; } // fn_0285EC28 @ 0x285ec28 void Gambit_fn_0285EC28(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20; L_0285EC28: ; // 0x285ec28 /* 0285EC28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285EC28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EC28 */ cpu->r[1] = _t0; /* 0285EC2C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285EC2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285EC30 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285EC30 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285EC34 */ cpu->r[31] = cpu->r[3]; /* 0285EC34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EC38 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285EC38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285EC3C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EC3C */ _t5 = _t4 & 0x00000001u; /* 0285EC3C */ if (_t5) goto L_0285EC40; else goto L_0285EC50; L_0285EC40: ; // 0x285ec40 /* 0285EC40 */ cpu->r[3] = 0x00000130u; /* 0285EC44 */ Gambit_fn_02801A78(cpu); /* 0285EC48 */ cpu->r[31] = cpu->r[3]; /* 0285EC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EC4C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EC4C */ _t7 = _t6 & 0x00000001u; /* 0285EC4C */ if (_t7) goto L_0285EC84; else goto L_0285EC50; L_0285EC50: ; // 0x285ec50 /* 0285EC50 */ cpu->r[30] = 0x00000000u; /* 0285EC54 */ _t8 = cpu->r[31] + 0x00000000u; /* 0285EC54 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0285EC58 */ cpu->r[3] = cpu->r[31] + 0x00000088u; /* 0285EC58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285EC5C */ _t9 = cpu->r[31] + 0x00000004u; /* 0285EC5C */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 0285EC60 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EC60 */ _t11 = _t10 & 0x00000001u; /* 0285EC60 */ if (_t11) goto L_0285EC64; else goto L_0285EC74; L_0285EC64: ; // 0x285ec64 /* 0285EC64 */ cpu->r[3] = 0x000000A8u; /* 0285EC68 */ Gambit_fn_02801A78(cpu); /* 0285EC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285EC70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EC70 */ _t13 = _t12 & 0x00000001u; /* 0285EC70 */ if (_t13) goto L_0285EC80; else goto L_0285EC74; L_0285EC74: ; // 0x285ec74 /* 0285EC74 */ _t14 = cpu->r[3] + 0x00000004u; /* 0285EC74 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]); /* 0285EC78 */ _t15 = cpu->r[3] + 0x00000000u; /* 0285EC78 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); /* 0285EC7C */ _t16 = cpu->r[3] + 0x00000006u; /* 0285EC7C */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]); L_0285EC80: ; // 0x285ec80 /* 0285EC80 */ _t17 = cpu->r[31] + 0x00000008u; /* 0285EC80 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[30]); L_0285EC84: ; // 0x285ec84 /* 0285EC84 */ _t18 = cpu->r[1] + 0x00000014u; /* 0285EC84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0285EC88 */ cpu->r[3] = cpu->r[31]; /* 0285EC8C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0285EC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285EC90 */ cpu->lr = cpu->r[0]; /* 0285EC94 */ _t20 = cpu->r[1] + 0x00000008u; /* 0285EC94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 0285EC98 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285EC9C */ return; } // fn_0285ECA0 @ 0x285eca0 void Gambit_fn_0285ECA0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_02801B30: ; // 0x2801b30 /* 02801B30 */ cpu->r[0] = cpu->lr; /* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02801B34 */ cpu->r[1] = _t0; /* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02801B3C */ cpu->r[31] = cpu->r[3]; /* 02801B40 */ cpu->r[3] = 0x101D0000u; /* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u; /* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u; /* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B50 */ _t5 = _t4 & 0x00000001u; /* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70; L_02801B54: ; // 0x2801b54 /* 02801B54 */ cpu->r[3] = cpu->r[31]; /* 02801B58 */ Gambit_fn_02801B20(cpu); /* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u; /* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02801B64 */ cpu->lr = cpu->r[0]; /* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801B6C */ return; L_02801B70: ; // 0x2801b70 /* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B74 */ _t9 = _t8 & 0x00000001u; /* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78; L_02801B78: ; // 0x2801b78 /* 02801B78 */ cpu->r[4] = cpu->r[31]; /* 02801B7C */ Gambit_fn_02826B90(cpu); /* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02801B84 */ _t11 = _t10 & 0x00000001u; /* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88; L_02801B88: ; // 0x2801b88 /* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu; /* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02801B90 */ cpu->ctr = cpu->r[0]; /* 02801B94 */ cpu->r[4] = cpu->r[31]; /* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr); L_02801B9C: ; // 0x2801b9c /* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u; /* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02801BA4 */ cpu->lr = cpu->r[0]; /* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02801BAC */ return; L_02801BB0: ; // 0x2801bb0 /* 02801BB0 */ goto L_02801B30; L_0285ECA0: ; // 0x285eca0 /* 0285ECA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285ECA4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ECA4 */ _t17 = _t16 & 0x00000001u; /* 0285ECA4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285ECA4 */ goto L_0285ECA8; L_0285ECA8: ; // 0x285eca8 /* 0285ECA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285ECA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285ECAC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ECAC */ _t19 = _t18 & 0x00000001u; /* 0285ECAC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285ECAC */ goto L_0285ECB0; L_0285ECB0: ; // 0x285ecb0 /* 0285ECB0 */ goto L_02801BB0; } // fn_0285ECB4 @ 0x285ecb4 void Gambit_fn_0285ECB4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0285ECB4: ; // 0x285ecb4 /* 0285ECB4 */ cpu->r[0] = 0x0000007Fu; /* 0285ECB8 */ cpu->r[12] = cpu->r[3] + 0x00000008u; /* 0285ECBC */ cpu->ctr = cpu->r[0]; /* 0285ECC0 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu; L_0285ECC4: ; // 0x285ecc4 /* 0285ECC4 */ _t0 = cpu->r[4] + 0x00000001u; /* 0285ECC4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t0); /* 0285ECC4 */ cpu->r[4] = _t0; /* 0285ECC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285ECCC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ECCC */ _t2 = _t1 & 0x00000001u; /* 0285ECCC */ if (_t2) goto L_0285ECDC; else goto L_0285ECD0; L_0285ECD0: ; // 0x285ecd0 /* 0285ECD0 */ _t3 = cpu->r[12] + 0x00000000u; /* 0285ECD0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]); /* 0285ECD4 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0285ECD8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285ECD8 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285ECD8 */ _t5 = _t4 >> (0x00000002u & 31u); /* 0285ECD8 */ _t6 = _t5 & 0x00000001u; /* 0285ECD8 */ if (_t6) goto L_0285ECC4; else goto L_0285ECDC; L_0285ECDC: ; // 0x285ecdc /* 0285ECDC */ cpu->r[11] = 0x00000000u; /* 0285ECE0 */ _t7 = cpu->r[12] + 0x00000000u; /* 0285ECE0 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]); /* 0285ECE4 */ return; } // fn_0285ECE8 @ 0x285ece8 void Gambit_fn_0285ECE8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0285ECE8: ; // 0x285ece8 /* 0285ECE8 */ cpu->r[0] = cpu->lr; /* 0285ECEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285ECEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285ECEC */ cpu->r[1] = _t0; /* 0285ECF0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285ECF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285ECF4 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285ECF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285ECF8 */ cpu->r[31] = cpu->r[3]; /* 0285ECFC */ _t3 = cpu->r[1] + 0x00000014u; /* 0285ECFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285ED00 */ _t4 = cpu->r[31] + 0x00000000u; /* 0285ED00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285ED04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285ED08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ED08 */ _t6 = _t5 & 0x00000001u; /* 0285ED08 */ if (_t6) goto L_0285ED44; else goto L_0285ED0C; L_0285ED0C: ; // 0x285ed0c /* 0285ED0C */ _t7 = cpu->r[31] + 0x00000004u; /* 0285ED0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 0285ED10 */ cpu->r[3] = cpu->r[31]; /* 0285ED14 */ cpu->r[4] = cpu->r[30]; /* 0285ED18 */ Gambit_fn_028541D4(cpu); /* 0285ED1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285ED20 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ED20 */ _t9 = _t8 & 0x00000001u; /* 0285ED20 */ if (_t9) goto L_0285ED38; else goto L_0285ED24; L_0285ED24: ; // 0x285ed24 /* 0285ED24 */ cpu->r[3] = cpu->r[30]; /* 0285ED28 */ cpu->r[4] = 0x00000002u; /* 0285ED2C */ Gambit_fn_0285ECA0(cpu); /* 0285ED30 */ cpu->r[3] = cpu->r[30]; /* 0285ED34 */ Gambit_fn_02869EAC(cpu); L_0285ED38: ; // 0x285ed38 /* 0285ED38 */ _t10 = cpu->r[31] + 0x00000000u; /* 0285ED38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285ED3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285ED40 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ED40 */ _t12 = _t11 & 0x00000001u; /* 0285ED40 */ if (_t12) goto L_0285ED44; else goto L_0285ED0C; L_0285ED44: ; // 0x285ed44 /* 0285ED44 */ _t13 = cpu->r[1] + 0x00000014u; /* 0285ED44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285ED48 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285ED48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0285ED4C */ cpu->lr = cpu->r[0]; /* 0285ED50 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0285ED50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0285ED54 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285ED58 */ return; } // fn_0285ECEC @ 0x285ecec void Gambit_fn_0285ECEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0285ECEC: ; // 0x285ecec /* 0285ECEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285ECEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285ECEC */ cpu->r[1] = _t0; /* 0285ECF0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285ECF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285ECF4 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285ECF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285ECF8 */ cpu->r[31] = cpu->r[3]; /* 0285ECFC */ _t3 = cpu->r[1] + 0x00000014u; /* 0285ECFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285ED00 */ _t4 = cpu->r[31] + 0x00000000u; /* 0285ED00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285ED04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285ED08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ED08 */ _t6 = _t5 & 0x00000001u; /* 0285ED08 */ if (_t6) goto L_0285ED44; else goto L_0285ED0C; L_0285ED0C: ; // 0x285ed0c /* 0285ED0C */ _t7 = cpu->r[31] + 0x00000004u; /* 0285ED0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 0285ED10 */ cpu->r[3] = cpu->r[31]; /* 0285ED14 */ cpu->r[4] = cpu->r[30]; /* 0285ED18 */ Gambit_fn_028541D4(cpu); /* 0285ED1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285ED20 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ED20 */ _t9 = _t8 & 0x00000001u; /* 0285ED20 */ if (_t9) goto L_0285ED38; else goto L_0285ED24; L_0285ED24: ; // 0x285ed24 /* 0285ED24 */ cpu->r[3] = cpu->r[30]; /* 0285ED28 */ cpu->r[4] = 0x00000002u; /* 0285ED2C */ Gambit_fn_0285ECA0(cpu); /* 0285ED30 */ cpu->r[3] = cpu->r[30]; /* 0285ED34 */ Gambit_fn_02869EAC(cpu); L_0285ED38: ; // 0x285ed38 /* 0285ED38 */ _t10 = cpu->r[31] + 0x00000000u; /* 0285ED38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0285ED3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285ED40 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ED40 */ _t12 = _t11 & 0x00000001u; /* 0285ED40 */ if (_t12) goto L_0285ED44; else goto L_0285ED0C; L_0285ED44: ; // 0x285ed44 /* 0285ED44 */ _t13 = cpu->r[1] + 0x00000014u; /* 0285ED44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0285ED48 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285ED48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0285ED4C */ cpu->lr = cpu->r[0]; /* 0285ED50 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0285ED50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0285ED54 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285ED58 */ return; } // fn_0285ED5C @ 0x285ed5c void Gambit_fn_0285ED5C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285ED5C: ; // 0x285ed5c /* 0285ED5C */ cpu->r[0] = cpu->lr; /* 0285ED60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285ED60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285ED60 */ cpu->r[1] = _t0; /* 0285ED64 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285ED64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285ED68 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285ED68 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285ED6C */ cpu->r[31] = cpu->r[3]; /* 0285ED6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285ED70 */ cpu->r[30] = cpu->r[4]; /* 0285ED74 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285ED74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285ED78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ED78 */ _t5 = _t4 & 0x00000001u; /* 0285ED78 */ if (_t5) goto L_0285ED94; else goto L_0285ED7C; L_0285ED7C: ; // 0x285ed7c /* 0285ED7C */ cpu->r[3] = cpu->r[31]; /* 0285ED80 */ Gambit_fn_0285ECE8(cpu); /* 0285ED84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285ED84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285ED88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ED88 */ _t7 = _t6 & 0x00000001u; /* 0285ED88 */ if (_t7) goto L_0285ED94; else goto L_0285ED8C; L_0285ED8C: ; // 0x285ed8c /* 0285ED8C */ cpu->r[3] = cpu->r[31]; /* 0285ED90 */ Gambit_fn_02801BB0(cpu); L_0285ED94: ; // 0x285ed94 /* 0285ED94 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285ED94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285ED98 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285ED98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285ED9C */ cpu->lr = cpu->r[0]; /* 0285EDA0 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285EDA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285EDA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285EDA8 */ return; } // fn_0285ED60 @ 0x285ed60 void Gambit_fn_0285ED60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285ED60: ; // 0x285ed60 /* 0285ED60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285ED60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285ED60 */ cpu->r[1] = _t0; /* 0285ED64 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285ED64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285ED68 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285ED68 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285ED6C */ cpu->r[31] = cpu->r[3]; /* 0285ED6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285ED70 */ cpu->r[30] = cpu->r[4]; /* 0285ED74 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285ED74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285ED78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ED78 */ _t5 = _t4 & 0x00000001u; /* 0285ED78 */ if (_t5) goto L_0285ED94; else goto L_0285ED7C; L_0285ED7C: ; // 0x285ed7c /* 0285ED7C */ cpu->r[3] = cpu->r[31]; /* 0285ED80 */ Gambit_fn_0285ECE8(cpu); /* 0285ED84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285ED84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285ED88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285ED88 */ _t7 = _t6 & 0x00000001u; /* 0285ED88 */ if (_t7) goto L_0285ED94; else goto L_0285ED8C; L_0285ED8C: ; // 0x285ed8c /* 0285ED8C */ cpu->r[3] = cpu->r[31]; /* 0285ED90 */ Gambit_fn_02801BB0(cpu); L_0285ED94: ; // 0x285ed94 /* 0285ED94 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285ED94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285ED98 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285ED98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285ED9C */ cpu->lr = cpu->r[0]; /* 0285EDA0 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285EDA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285EDA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285EDA8 */ return; } // fn_0285EDAC @ 0x285edac void Gambit_fn_0285EDAC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285EDAC: ; // 0x285edac /* 0285EDAC */ cpu->r[0] = cpu->lr; /* 0285EDB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285EDB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EDB0 */ cpu->r[1] = _t0; /* 0285EDB4 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285EDB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285EDB8 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285EDB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285EDBC */ cpu->r[30] = cpu->r[3]; /* 0285EDC0 */ cpu->r[31] = cpu->r[4]; /* 0285EDC4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285EDC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285EDC8 */ cpu->r[3] = 0x00000130u; /* 0285EDCC */ cpu->r[4] = 0x00000004u; /* 0285EDD0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285EDD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285EDD4 */ Gambit_fn_02869E8C(cpu); /* 0285EDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285EDDC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EDDC */ _t6 = _t5 & 0x00000001u; /* 0285EDDC */ if (_t6) goto L_0285EDF4; else goto L_0285EDE0; L_0285EDE0: ; // 0x285ede0 /* 0285EDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285EDE4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EDE4 */ _t8 = _t7 & 0x00000001u; /* 0285EDE4 */ if (_t8) goto L_0285EDF4; else goto L_0285EDE8; L_0285EDE8: ; // 0x285ede8 /* 0285EDE8 */ Gambit_fn_0285EC24(cpu); /* 0285EDEC */ cpu->r[29] = cpu->r[3]; /* 0285EDEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285EDF0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EDF0 */ _t10 = _t9 & 0x00000001u; /* 0285EDF0 */ if (_t10) goto L_0285EDF4; else goto L_0285EE14; L_0285EDF4: ; // 0x285edf4 /* 0285EDF4 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285EDF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285EDF8 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285EDF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285EDFC */ _t13 = cpu->r[1] + 0x00000010u; /* 0285EDFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285EE00 */ cpu->lr = cpu->r[0]; /* 0285EE04 */ _t14 = cpu->r[1] + 0x00000014u; /* 0285EE04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285EE08 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285EE0C */ cpu->r[3] = 0x00000000u; /* 0285EE10 */ return; L_0285EE14: ; // 0x285ee14 /* 0285EE14 */ cpu->r[4] = cpu->r[31]; /* 0285EE18 */ cpu->r[3] = cpu->r[29]; /* 0285EE1C */ Gambit_fn_0285ECB4(cpu); /* 0285EE20 */ cpu->r[0] = cpu->r[30] + 0x00000004u; /* 0285EE24 */ cpu->r[3] = cpu->r[30]; /* 0285EE28 */ cpu->r[5] = cpu->r[29]; /* 0285EE2C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285EE30 */ _t15 = cpu->r[1] + 0x00000008u; /* 0285EE30 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 0285EE34 */ Gambit_fn_028541A8(cpu); /* 0285EE38 */ cpu->r[3] = cpu->r[29] + 0x00000088u; /* 0285EE3C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285EE3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 0285EE40 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0285EE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285EE44 */ _t18 = cpu->r[1] + 0x00000010u; /* 0285EE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0285EE48 */ cpu->lr = cpu->r[0]; /* 0285EE4C */ _t19 = cpu->r[1] + 0x00000014u; /* 0285EE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285EE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285EE54 */ return; } // fn_0285EDB0 @ 0x285edb0 void Gambit_fn_0285EDB0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19; L_0285EDB0: ; // 0x285edb0 /* 0285EDB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285EDB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EDB0 */ cpu->r[1] = _t0; /* 0285EDB4 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285EDB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285EDB8 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285EDB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285EDBC */ cpu->r[30] = cpu->r[3]; /* 0285EDC0 */ cpu->r[31] = cpu->r[4]; /* 0285EDC4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285EDC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285EDC8 */ cpu->r[3] = 0x00000130u; /* 0285EDCC */ cpu->r[4] = 0x00000004u; /* 0285EDD0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285EDD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285EDD4 */ Gambit_fn_02869E8C(cpu); /* 0285EDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285EDDC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EDDC */ _t6 = _t5 & 0x00000001u; /* 0285EDDC */ if (_t6) goto L_0285EDF4; else goto L_0285EDE0; L_0285EDE0: ; // 0x285ede0 /* 0285EDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285EDE4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EDE4 */ _t8 = _t7 & 0x00000001u; /* 0285EDE4 */ if (_t8) goto L_0285EDF4; else goto L_0285EDE8; L_0285EDE8: ; // 0x285ede8 /* 0285EDE8 */ Gambit_fn_0285EC24(cpu); /* 0285EDEC */ cpu->r[29] = cpu->r[3]; /* 0285EDEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0285EDF0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EDF0 */ _t10 = _t9 & 0x00000001u; /* 0285EDF0 */ if (_t10) goto L_0285EDF4; else goto L_0285EE14; L_0285EDF4: ; // 0x285edf4 /* 0285EDF4 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0285EDF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 0285EDF8 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0285EDF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0285EDFC */ _t13 = cpu->r[1] + 0x00000010u; /* 0285EDFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0285EE00 */ cpu->lr = cpu->r[0]; /* 0285EE04 */ _t14 = cpu->r[1] + 0x00000014u; /* 0285EE04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0285EE08 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285EE0C */ cpu->r[3] = 0x00000000u; /* 0285EE10 */ return; L_0285EE14: ; // 0x285ee14 /* 0285EE14 */ cpu->r[4] = cpu->r[31]; /* 0285EE18 */ cpu->r[3] = cpu->r[29]; /* 0285EE1C */ Gambit_fn_0285ECB4(cpu); /* 0285EE20 */ cpu->r[0] = cpu->r[30] + 0x00000004u; /* 0285EE24 */ cpu->r[3] = cpu->r[30]; /* 0285EE28 */ cpu->r[5] = cpu->r[29]; /* 0285EE2C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285EE30 */ _t15 = cpu->r[1] + 0x00000008u; /* 0285EE30 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 0285EE34 */ Gambit_fn_028541A8(cpu); /* 0285EE38 */ cpu->r[3] = cpu->r[29] + 0x00000088u; /* 0285EE3C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285EE3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 0285EE40 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0285EE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0285EE44 */ _t18 = cpu->r[1] + 0x00000010u; /* 0285EE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0285EE48 */ cpu->lr = cpu->r[0]; /* 0285EE4C */ _t19 = cpu->r[1] + 0x00000014u; /* 0285EE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0285EE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285EE54 */ return; } // fn_0285EE58 @ 0x285ee58 void Gambit_fn_0285EE58(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20; L_0285EE58: ; // 0x285ee58 /* 0285EE58 */ cpu->r[0] = cpu->lr; /* 0285EE5C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285EE5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EE5C */ cpu->r[1] = _t0; /* 0285EE60 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285EE60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285EE64 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285EE64 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285EE68 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285EE68 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285EE6C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285EE6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285EE70 */ _t5 = cpu->r[3] + 0x00000004u; /* 0285EE70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 0285EE74 */ cpu->r[29] = cpu->r[3] + 0x00000004u; /* 0285EE78 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29]; /* 0285EE7C */ cpu->r[0] = rbrew_clz32(cpu->r[11]); /* 0285EE80 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285EE84 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u; /* 0285EE88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285EE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285EE8C */ cpu->r[31] = cpu->r[4]; /* 0285EE90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EE90 */ _t7 = _t6 & 0x00000001u; /* 0285EE90 */ if (_t7) goto L_0285EEE4; else goto L_0285EE94; L_0285EE94: ; // 0x285ee94 /* 0285EE94 */ cpu->r[3] = cpu->r[31]; /* 0285EE98 */ cpu->r[4] = cpu->r[30] + 0x00000008u; /* 0285EE9C */ Gambit_fn_0285D35C(cpu); /* 0285EEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285EEA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EEA4 */ _t9 = _t8 & 0x00000001u; /* 0285EEA4 */ if (_t9) goto L_0285EEC8; else goto L_0285EEA8; L_0285EEA8: ; // 0x285eea8 /* 0285EEA8 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285EEA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0285EEAC */ _t11 = cpu->r[1] + 0x0000001Cu; /* 0285EEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0285EEB0 */ cpu->r[3] = cpu->r[30] + 0x00000088u; /* 0285EEB4 */ _t12 = cpu->r[1] + 0x00000010u; /* 0285EEB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0285EEB8 */ cpu->lr = cpu->r[0]; /* 0285EEBC */ _t13 = cpu->r[1] + 0x00000014u; /* 0285EEBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285EEC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285EEC4 */ return; L_0285EEC8: ; // 0x285eec8 /* 0285EEC8 */ _t14 = cpu->r[30] + 0x00000000u; /* 0285EEC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0285EECC */ cpu->r[8] = cpu->r[30] ^ cpu->r[29]; /* 0285EED0 */ cpu->r[0] = rbrew_clz32(cpu->r[8]); /* 0285EED4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285EED8 */ cpu->r[10] = cpu->r[7] ^ 0x00000001u; /* 0285EEDC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285EEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285EEE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EEE0 */ _t16 = _t15 & 0x00000001u; /* 0285EEE0 */ if (_t16) goto L_0285EEE4; else goto L_0285EE94; L_0285EEE4: ; // 0x285eee4 /* 0285EEE4 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0285EEE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17); /* 0285EEE8 */ _t18 = cpu->r[1] + 0x0000001Cu; /* 0285EEE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0285EEEC */ _t19 = cpu->r[1] + 0x00000010u; /* 0285EEEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0285EEF0 */ cpu->lr = cpu->r[0]; /* 0285EEF4 */ _t20 = cpu->r[1] + 0x00000014u; /* 0285EEF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0285EEF8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285EEFC */ cpu->r[3] = 0x00000000u; /* 0285EF00 */ return; } // fn_0285EE5C @ 0x285ee5c void Gambit_fn_0285EE5C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20; L_0285EE5C: ; // 0x285ee5c /* 0285EE5C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285EE5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EE5C */ cpu->r[1] = _t0; /* 0285EE60 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285EE60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285EE64 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285EE64 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0285EE68 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285EE68 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0285EE6C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285EE6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285EE70 */ _t5 = cpu->r[3] + 0x00000004u; /* 0285EE70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 0285EE74 */ cpu->r[29] = cpu->r[3] + 0x00000004u; /* 0285EE78 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29]; /* 0285EE7C */ cpu->r[0] = rbrew_clz32(cpu->r[11]); /* 0285EE80 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285EE84 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u; /* 0285EE88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285EE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285EE8C */ cpu->r[31] = cpu->r[4]; /* 0285EE90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EE90 */ _t7 = _t6 & 0x00000001u; /* 0285EE90 */ if (_t7) goto L_0285EEE4; else goto L_0285EE94; L_0285EE94: ; // 0x285ee94 /* 0285EE94 */ cpu->r[3] = cpu->r[31]; /* 0285EE98 */ cpu->r[4] = cpu->r[30] + 0x00000008u; /* 0285EE9C */ Gambit_fn_0285D35C(cpu); /* 0285EEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285EEA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EEA4 */ _t9 = _t8 & 0x00000001u; /* 0285EEA4 */ if (_t9) goto L_0285EEC8; else goto L_0285EEA8; L_0285EEA8: ; // 0x285eea8 /* 0285EEA8 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285EEA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0285EEAC */ _t11 = cpu->r[1] + 0x0000001Cu; /* 0285EEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0285EEB0 */ cpu->r[3] = cpu->r[30] + 0x00000088u; /* 0285EEB4 */ _t12 = cpu->r[1] + 0x00000010u; /* 0285EEB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0285EEB8 */ cpu->lr = cpu->r[0]; /* 0285EEBC */ _t13 = cpu->r[1] + 0x00000014u; /* 0285EEBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285EEC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285EEC4 */ return; L_0285EEC8: ; // 0x285eec8 /* 0285EEC8 */ _t14 = cpu->r[30] + 0x00000000u; /* 0285EEC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0285EECC */ cpu->r[8] = cpu->r[30] ^ cpu->r[29]; /* 0285EED0 */ cpu->r[0] = rbrew_clz32(cpu->r[8]); /* 0285EED4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285EED8 */ cpu->r[10] = cpu->r[7] ^ 0x00000001u; /* 0285EEDC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285EEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285EEE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EEE0 */ _t16 = _t15 & 0x00000001u; /* 0285EEE0 */ if (_t16) goto L_0285EEE4; else goto L_0285EE94; L_0285EEE4: ; // 0x285eee4 /* 0285EEE4 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0285EEE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17); /* 0285EEE8 */ _t18 = cpu->r[1] + 0x0000001Cu; /* 0285EEE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0285EEEC */ _t19 = cpu->r[1] + 0x00000010u; /* 0285EEEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0285EEF0 */ cpu->lr = cpu->r[0]; /* 0285EEF4 */ _t20 = cpu->r[1] + 0x00000014u; /* 0285EEF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0285EEF8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285EEFC */ cpu->r[3] = 0x00000000u; /* 0285EF00 */ return; } // fn_0285EF04 @ 0x285ef04 void Gambit_fn_0285EF04(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0285EF04: ; // 0x285ef04 /* 0285EF04 */ cpu->r[0] = cpu->lr; /* 0285EF08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285EF08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EF08 */ cpu->r[1] = _t0; /* 0285EF0C */ _t1 = cpu->r[1] + 0x00000014u; /* 0285EF0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285EF10 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285EF10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285EF14 */ cpu->r[30] = cpu->r[6]; /* 0285EF18 */ cpu->r[31] = cpu->r[3]; /* 0285EF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EF1C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285EF1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285EF20 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285EF20 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285EF24 */ cpu->r[29] = cpu->r[4]; /* 0285EF28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EF28 */ _t6 = _t5 & 0x00000001u; /* 0285EF28 */ if (_t6) goto L_0285EF2C; else goto L_0285EF3C; L_0285EF2C: ; // 0x285ef2c /* 0285EF2C */ cpu->r[3] = 0x000000A4u; /* 0285EF30 */ Gambit_fn_02801A78(cpu); /* 0285EF34 */ cpu->r[31] = cpu->r[3]; /* 0285EF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EF38 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EF38 */ _t8 = _t7 & 0x00000001u; /* 0285EF38 */ if (_t8) goto L_0285EF58; else goto L_0285EF3C; L_0285EF3C: ; // 0x285ef3c /* 0285EF3C */ cpu->r[5] = cpu->r[30]; /* 0285EF40 */ cpu->r[4] = cpu->r[29]; /* 0285EF44 */ cpu->r[3] = cpu->r[31]; /* 0285EF48 */ Gambit_fn_0285F268(cpu); /* 0285EF4C */ cpu->r[0] = 0x10130000u; /* 0285EF50 */ cpu->r[0] = cpu->r[0] + 0x00004FB0u; /* 0285EF54 */ _t9 = cpu->r[31] + 0x00000008u; /* 0285EF54 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); L_0285EF58: ; // 0x285ef58 /* 0285EF58 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285EF58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0285EF5C */ _t11 = cpu->r[1] + 0x0000001Cu; /* 0285EF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0285EF60 */ cpu->r[3] = cpu->r[31]; /* 0285EF64 */ _t12 = cpu->r[1] + 0x00000010u; /* 0285EF64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0285EF68 */ cpu->lr = cpu->r[0]; /* 0285EF6C */ _t13 = cpu->r[1] + 0x00000014u; /* 0285EF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285EF70 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285EF74 */ return; } // fn_0285EF08 @ 0x285ef08 void Gambit_fn_0285EF08(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0285EF08: ; // 0x285ef08 /* 0285EF08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285EF08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EF08 */ cpu->r[1] = _t0; /* 0285EF0C */ _t1 = cpu->r[1] + 0x00000014u; /* 0285EF0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285EF10 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285EF10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285EF14 */ cpu->r[30] = cpu->r[6]; /* 0285EF18 */ cpu->r[31] = cpu->r[3]; /* 0285EF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EF1C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285EF1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285EF20 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285EF20 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285EF24 */ cpu->r[29] = cpu->r[4]; /* 0285EF28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EF28 */ _t6 = _t5 & 0x00000001u; /* 0285EF28 */ if (_t6) goto L_0285EF2C; else goto L_0285EF3C; L_0285EF2C: ; // 0x285ef2c /* 0285EF2C */ cpu->r[3] = 0x000000A4u; /* 0285EF30 */ Gambit_fn_02801A78(cpu); /* 0285EF34 */ cpu->r[31] = cpu->r[3]; /* 0285EF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EF38 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EF38 */ _t8 = _t7 & 0x00000001u; /* 0285EF38 */ if (_t8) goto L_0285EF58; else goto L_0285EF3C; L_0285EF3C: ; // 0x285ef3c /* 0285EF3C */ cpu->r[5] = cpu->r[30]; /* 0285EF40 */ cpu->r[4] = cpu->r[29]; /* 0285EF44 */ cpu->r[3] = cpu->r[31]; /* 0285EF48 */ Gambit_fn_0285F268(cpu); /* 0285EF4C */ cpu->r[0] = 0x10130000u; /* 0285EF50 */ cpu->r[0] = cpu->r[0] + 0x00004FB0u; /* 0285EF54 */ _t9 = cpu->r[31] + 0x00000008u; /* 0285EF54 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); L_0285EF58: ; // 0x285ef58 /* 0285EF58 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285EF58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10); /* 0285EF5C */ _t11 = cpu->r[1] + 0x0000001Cu; /* 0285EF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0285EF60 */ cpu->r[3] = cpu->r[31]; /* 0285EF64 */ _t12 = cpu->r[1] + 0x00000010u; /* 0285EF64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0285EF68 */ cpu->lr = cpu->r[0]; /* 0285EF6C */ _t13 = cpu->r[1] + 0x00000014u; /* 0285EF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0285EF70 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285EF74 */ return; } // fn_0285EF78 @ 0x285ef78 void Gambit_fn_0285EF78(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285EF78: ; // 0x285ef78 /* 0285EF78 */ cpu->r[0] = cpu->lr; /* 0285EF7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285EF7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EF7C */ cpu->r[1] = _t0; /* 0285EF80 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285EF80 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285EF84 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285EF84 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285EF88 */ cpu->r[31] = cpu->r[3]; /* 0285EF88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EF8C */ cpu->r[30] = cpu->r[4]; /* 0285EF90 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285EF90 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285EF94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EF94 */ _t5 = _t4 & 0x00000001u; /* 0285EF94 */ if (_t5) goto L_0285EFB4; else goto L_0285EF98; L_0285EF98: ; // 0x285ef98 /* 0285EF98 */ cpu->r[3] = cpu->r[31]; /* 0285EF9C */ cpu->r[4] = 0x00000000u; /* 0285EFA0 */ Gambit_fn_0285F770(cpu); /* 0285EFA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285EFA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285EFA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EFA8 */ _t7 = _t6 & 0x00000001u; /* 0285EFA8 */ if (_t7) goto L_0285EFB4; else goto L_0285EFAC; L_0285EFAC: ; // 0x285efac /* 0285EFAC */ cpu->r[3] = cpu->r[31]; /* 0285EFB0 */ Gambit_fn_02801BB0(cpu); L_0285EFB4: ; // 0x285efb4 /* 0285EFB4 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285EFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285EFB8 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285EFB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285EFBC */ cpu->lr = cpu->r[0]; /* 0285EFC0 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285EFC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285EFC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285EFC8 */ return; } // fn_0285EF7C @ 0x285ef7c void Gambit_fn_0285EF7C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285EF7C: ; // 0x285ef7c /* 0285EF7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285EF7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285EF7C */ cpu->r[1] = _t0; /* 0285EF80 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285EF80 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285EF84 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0285EF84 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285EF88 */ cpu->r[31] = cpu->r[3]; /* 0285EF88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285EF8C */ cpu->r[30] = cpu->r[4]; /* 0285EF90 */ _t3 = cpu->r[1] + 0x00000014u; /* 0285EF90 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285EF94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EF94 */ _t5 = _t4 & 0x00000001u; /* 0285EF94 */ if (_t5) goto L_0285EFB4; else goto L_0285EF98; L_0285EF98: ; // 0x285ef98 /* 0285EF98 */ cpu->r[3] = cpu->r[31]; /* 0285EF9C */ cpu->r[4] = 0x00000000u; /* 0285EFA0 */ Gambit_fn_0285F770(cpu); /* 0285EFA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285EFA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285EFA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EFA8 */ _t7 = _t6 & 0x00000001u; /* 0285EFA8 */ if (_t7) goto L_0285EFB4; else goto L_0285EFAC; L_0285EFAC: ; // 0x285efac /* 0285EFAC */ cpu->r[3] = cpu->r[31]; /* 0285EFB0 */ Gambit_fn_02801BB0(cpu); L_0285EFB4: ; // 0x285efb4 /* 0285EFB4 */ _t8 = cpu->r[1] + 0x00000014u; /* 0285EFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285EFB8 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285EFB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0285EFBC */ cpu->lr = cpu->r[0]; /* 0285EFC0 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285EFC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285EFC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285EFC8 */ return; } // fn_0285EFCC @ 0x285efcc void Gambit_fn_0285EFCC(CPUState* cpu) { L_0285EFCC: ; // 0x285efcc /* 0285EFCC */ return; } // fn_0285EFD0 @ 0x285efd0 void Gambit_fn_0285EFD0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0285EFD0: ; // 0x285efd0 /* 0285EFD0 */ cpu->r[11] = 0x101D0000u; /* 0285EFD4 */ cpu->r[3] = 0x101D0000u; /* 0285EFD8 */ _t0 = cpu->r[11] + 0xFFFFD7F0u; /* 0285EFD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 0285EFD8 */ cpu->r[11] = _t0; /* 0285EFDC */ cpu->r[3] = cpu->r[3] + 0x00000F54u; /* 0285EFE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285EFE4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285EFE4 */ _t2 = _t1 & 0x00000001u; /* 0285EFE4 */ _t3 = _t2 ^ 0x00000001u; /* 0285EFE4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285EFE4 */ goto L_0285EFE8; L_0285EFE8: ; // 0x285efe8 /* 0285EFE8 */ cpu->r[10] = 0x101D0000u; /* 0285EFEC */ cpu->r[12] = 0x101D0000u; /* 0285EFF0 */ _t4 = cpu->r[10] + 0xFFFFD7ECu; /* 0285EFF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 0285EFF0 */ cpu->r[10] = _t4; /* 0285EFF4 */ cpu->r[0] = 0x00000001u; /* 0285EFF8 */ cpu->r[12] = cpu->r[12] + 0x00000F38u; /* 0285EFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285F000 */ _t5 = cpu->r[11] + 0x00000000u; /* 0285F000 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285F004 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F004 */ _t7 = _t6 & 0x00000001u; /* 0285F004 */ if (_t7) goto L_0285F008; else goto L_0285F018; L_0285F008: ; // 0x285f008 /* 0285F008 */ cpu->r[7] = 0x00000001u; /* 0285F00C */ cpu->r[8] = 0x00000000u; /* 0285F010 */ _t8 = cpu->r[10] + 0x00000000u; /* 0285F010 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]); /* 0285F014 */ _t9 = cpu->r[12] + 0x00000000u; /* 0285F014 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); L_0285F018: ; // 0x285f018 /* 0285F018 */ _t10 = cpu->r[3] + 0x00000000u; /* 0285F018 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 0285F01C */ return; } // fn_0285F020 @ 0x285f020 void Gambit_fn_0285F020(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_0285F020: ; // 0x285f020 /* 0285F020 */ cpu->r[0] = cpu->lr; /* 0285F024 */ _t0 = cpu->r[1] + 0x00000004u; /* 0285F024 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285F028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F02C */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0285F02C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285F02C */ cpu->r[1] = _t1; /* 0285F030 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F030 */ _t3 = _t2 & 0x00000001u; /* 0285F030 */ if (_t3) goto L_0285F034; else goto L_0285F044; L_0285F034: ; // 0x285f034 /* 0285F034 */ cpu->r[3] = 0x0000000Cu; /* 0285F038 */ Gambit_fn_02801A78(cpu); /* 0285F03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F040 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F040 */ _t5 = _t4 & 0x00000001u; /* 0285F040 */ if (_t5) goto L_0285F05C; else goto L_0285F044; L_0285F044: ; // 0x285f044 /* 0285F044 */ cpu->r[0] = 0x10130000u; /* 0285F048 */ cpu->r[11] = 0x00000000u; /* 0285F04C */ cpu->r[0] = cpu->r[0] + 0x0000508Cu; /* 0285F050 */ _t6 = cpu->r[3] + 0x00000004u; /* 0285F050 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]); /* 0285F054 */ _t7 = cpu->r[3] + 0x00000008u; /* 0285F054 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0285F058 */ _t8 = cpu->r[3] + 0x00000000u; /* 0285F058 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]); L_0285F05C: ; // 0x285f05c /* 0285F05C */ _t9 = cpu->r[1] + 0x0000000Cu; /* 0285F05C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285F060 */ cpu->lr = cpu->r[0]; /* 0285F064 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285F068 */ return; } // fn_0285F02C @ 0x285f02c void Gambit_fn_0285F02C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0285F02C: ; // 0x285f02c /* 0285F02C */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0285F02C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285F02C */ cpu->r[1] = _t0; /* 0285F030 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F030 */ _t2 = _t1 & 0x00000001u; /* 0285F030 */ if (_t2) goto L_0285F034; else goto L_0285F044; L_0285F034: ; // 0x285f034 /* 0285F034 */ cpu->r[3] = 0x0000000Cu; /* 0285F038 */ Gambit_fn_02801A78(cpu); /* 0285F03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F040 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F040 */ _t4 = _t3 & 0x00000001u; /* 0285F040 */ if (_t4) goto L_0285F05C; else goto L_0285F044; L_0285F044: ; // 0x285f044 /* 0285F044 */ cpu->r[0] = 0x10130000u; /* 0285F048 */ cpu->r[11] = 0x00000000u; /* 0285F04C */ cpu->r[0] = cpu->r[0] + 0x0000508Cu; /* 0285F050 */ _t5 = cpu->r[3] + 0x00000004u; /* 0285F050 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 0285F054 */ _t6 = cpu->r[3] + 0x00000008u; /* 0285F054 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0285F058 */ _t7 = cpu->r[3] + 0x00000000u; /* 0285F058 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]); L_0285F05C: ; // 0x285f05c /* 0285F05C */ _t8 = cpu->r[1] + 0x0000000Cu; /* 0285F05C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285F060 */ cpu->lr = cpu->r[0]; /* 0285F064 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285F068 */ return; } // fn_0285F06C @ 0x285f06c void Gambit_fn_0285F06C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34; L_0285F06C: ; // 0x285f06c /* 0285F06C */ cpu->r[6] = 0x00000000u; /* 0285F070 */ _t0 = cpu->r[3] + 0x0000000Cu; /* 0285F070 */ rbrew_write32(cpu->mem, _t0, cpu->r[6]); /* 0285F074 */ _t1 = cpu->r[3] + 0x00000044u; /* 0285F074 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[6]); /* 0285F078 */ cpu->r[8] = 0x101D0000u; /* 0285F07C */ _t2 = cpu->r[3] + 0x0000007Cu; /* 0285F07C */ rbrew_write32(cpu->mem, _t2, cpu->r[6]); /* 0285F080 */ _t3 = cpu->r[8] + 0xFFFFD554u; /* 0285F080 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3); /* 0285F080 */ cpu->r[8] = _t3; /* 0285F084 */ cpu->r[12] = 0x101D0000u; /* 0285F088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285F08C */ cpu->r[12] = cpu->r[12] + 0x00000EE4u; /* 0285F090 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F090 */ _t5 = _t4 & 0x00000001u; /* 0285F090 */ if (_t5) goto L_0285F094; else goto L_0285F0DC; L_0285F094: ; // 0x285f094 /* 0285F094 */ cpu->r[10] = 0x10130000u; /* 0285F098 */ cpu->r[7] = 0x00000001u; /* 0285F09C */ _t6 = cpu->r[10] + 0x0000506Cu; /* 0285F09C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6); /* 0285F0A0 */ _t7 = cpu->r[8] + 0x00000000u; /* 0285F0A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]); /* 0285F0A4 */ _t8 = cpu->r[12] + 0x00000008u; /* 0285F0A4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]); /* 0285F0A8 */ _t9 = cpu->r[12] + 0x00000018u; /* 0285F0A8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]); /* 0285F0AC */ _t10 = cpu->r[12] + 0x00000010u; /* 0285F0AC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]); /* 0285F0B0 */ cpu->r[7] = 0x10130000u; /* 0285F0B4 */ _t11 = cpu->r[12] + 0x00000004u; /* 0285F0B4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); /* 0285F0B8 */ _t12 = cpu->r[7] + 0x00005068u; /* 0285F0B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12); /* 0285F0BC */ _t13 = cpu->r[12] + 0x0000001Cu; /* 0285F0BC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]); /* 0285F0C0 */ _t14 = cpu->r[12] + 0x00000000u; /* 0285F0C0 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]); /* 0285F0C4 */ _t15 = cpu->r[12] + 0x00000020u; /* 0285F0C4 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]); /* 0285F0C8 */ _t16 = cpu->r[12] + 0x00000014u; /* 0285F0C8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]); /* 0285F0CC */ _t17 = cpu->r[12] + 0x00000024u; /* 0285F0CC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]); /* 0285F0D0 */ _t18 = cpu->r[12] + 0x00000028u; /* 0285F0D0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]); /* 0285F0D4 */ _t19 = cpu->r[12] + 0x0000002Cu; /* 0285F0D4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]); /* 0285F0D8 */ _t20 = cpu->r[12] + 0x0000000Cu; /* 0285F0D8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]); L_0285F0DC: ; // 0x285f0dc /* 0285F0DC */ cpu->r[0] = cpu->r[3] + 0x00000048u; /* 0285F0E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 0285F0E4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F0E4 */ _t22 = _t21 & 0x00000001u; /* 0285F0E4 */ if (_t22) goto L_0285F11C; else goto L_0285F0E8; L_0285F0E8: ; // 0x285f0e8 /* 0285F0E8 */ cpu->r[5] = 0x00000003u; /* 0285F0EC */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFCu; /* 0285F0F0 */ cpu->ctr = cpu->r[5]; /* 0285F0F4 */ cpu->r[11] = cpu->r[3] + 0x00000044u; L_0285F0F8: ; // 0x285f0f8 /* 0285F0F8 */ _t23 = cpu->r[10] + 0x00000004u; /* 0285F0F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23); /* 0285F0FC */ _t24 = cpu->r[11] + 0x00000004u; /* 0285F0FC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]); /* 0285F100 */ _t25 = cpu->r[10] + 0x00000008u; /* 0285F100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 0285F104 */ _t26 = cpu->r[11] + 0x00000008u; /* 0285F104 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]); /* 0285F108 */ _t27 = cpu->r[10] + 0x0000000Cu; /* 0285F108 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 0285F10C */ _t28 = cpu->r[11] + 0x0000000Cu; /* 0285F10C */ rbrew_write32(cpu->mem, _t28, cpu->r[12]); /* 0285F110 */ _t29 = cpu->r[10] + 0x00000010u; /* 0285F110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 0285F110 */ cpu->r[10] = _t29; /* 0285F114 */ _t30 = cpu->r[11] + 0x00000010u; /* 0285F114 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 0285F114 */ cpu->r[11] = _t30; /* 0285F118 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285F118 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285F118 */ _t32 = _t31 >> (0x00000002u & 31u); /* 0285F118 */ _t33 = _t32 & 0x00000001u; /* 0285F118 */ if (_t33) goto L_0285F0F8; else goto L_0285F11C; L_0285F11C: ; // 0x285f11c /* 0285F11C */ _t34 = cpu->r[3] + 0x00000078u; /* 0285F11C */ rbrew_write32(cpu->mem, _t34, cpu->r[6]); /* 0285F120 */ return; } // fn_0285F124 @ 0x285f124 void Gambit_fn_0285F124(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0285F124: ; // 0x285f124 /* 0285F124 */ cpu->r[0] = 0x00000018u; /* 0285F128 */ cpu->r[12] = cpu->r[3] + 0x00000080u; /* 0285F12C */ cpu->ctr = cpu->r[0]; /* 0285F130 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu; L_0285F134: ; // 0x285f134 /* 0285F134 */ _t0 = cpu->r[4] + 0x00000001u; /* 0285F134 */ cpu->r[10] = rbrew_read8(cpu->mem, _t0); /* 0285F134 */ cpu->r[4] = _t0; /* 0285F138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285F13C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F13C */ _t2 = _t1 & 0x00000001u; /* 0285F13C */ if (_t2) goto L_0285F14C; else goto L_0285F140; L_0285F140: ; // 0x285f140 /* 0285F140 */ _t3 = cpu->r[12] + 0x00000000u; /* 0285F140 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]); /* 0285F144 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0285F148 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285F148 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285F148 */ _t5 = _t4 >> (0x00000002u & 31u); /* 0285F148 */ _t6 = _t5 & 0x00000001u; /* 0285F148 */ if (_t6) goto L_0285F134; else goto L_0285F14C; L_0285F14C: ; // 0x285f14c /* 0285F14C */ cpu->r[11] = 0x00000000u; /* 0285F150 */ _t7 = cpu->r[12] + 0x00000000u; /* 0285F150 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]); /* 0285F154 */ return; } // fn_0285F158 @ 0x285f158 void Gambit_fn_0285F158(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0285F158: ; // 0x285f158 /* 0285F158 */ cpu->r[0] = 0x00000008u; /* 0285F15C */ cpu->r[12] = cpu->r[3] + 0x00000099u; /* 0285F160 */ cpu->ctr = cpu->r[0]; /* 0285F164 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu; L_0285F168: ; // 0x285f168 /* 0285F168 */ _t0 = cpu->r[4] + 0x00000001u; /* 0285F168 */ cpu->r[10] = rbrew_read8(cpu->mem, _t0); /* 0285F168 */ cpu->r[4] = _t0; /* 0285F16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285F170 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F170 */ _t2 = _t1 & 0x00000001u; /* 0285F170 */ if (_t2) goto L_0285F180; else goto L_0285F174; L_0285F174: ; // 0x285f174 /* 0285F174 */ _t3 = cpu->r[12] + 0x00000000u; /* 0285F174 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]); /* 0285F178 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0285F17C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285F17C */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285F17C */ _t5 = _t4 >> (0x00000002u & 31u); /* 0285F17C */ _t6 = _t5 & 0x00000001u; /* 0285F17C */ if (_t6) goto L_0285F168; else goto L_0285F180; L_0285F180: ; // 0x285f180 /* 0285F180 */ cpu->r[11] = 0x00000000u; /* 0285F184 */ _t7 = cpu->r[12] + 0x00000000u; /* 0285F184 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]); /* 0285F188 */ return; } // fn_0285F18C @ 0x285f18c void Gambit_fn_0285F18C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28; L_0285F18C: ; // 0x285f18c /* 0285F18C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0285F18C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285F18C */ cpu->r[1] = _t0; /* 0285F190 */ cpu->r[0] = cpu->lr; /* 0285F194 */ /* nop */ /* 0285F198 */ cpu->r[24] = 0x101D0000u; /* 0285F19C */ cpu->r[25] = 0x101D0000u; /* 0285F1A0 */ cpu->r[31] = cpu->r[5]; /* 0285F1A4 */ cpu->r[26] = 0x101D0000u; /* 0285F1A8 */ cpu->r[24] = cpu->r[24] + 0x00000F5Cu; /* 0285F1AC */ cpu->r[25] = cpu->r[25] + 0x00000F38u; /* 0285F1B0 */ cpu->r[5] = 0x10130000u; /* 0285F1B4 */ _t1 = cpu->r[5] + 0x00005068u; /* 0285F1B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1); /* 0285F1B8 */ cpu->r[30] = cpu->r[4]; /* 0285F1BC */ _t2 = cpu->r[1] + 0x0000002Cu; /* 0285F1BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285F1C0 */ cpu->r[27] = 0x00000001u; /* 0285F1C4 */ _t3 = cpu->r[30] + 0x00000004u; /* 0285F1C4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]); /* 0285F1C8 */ cpu->r[28] = 0x101D0000u; /* 0285F1CC */ _t4 = cpu->r[30] + 0x00000000u; /* 0285F1CC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]); /* 0285F1D0 */ cpu->r[29] = 0x00000000u; /* 0285F1D4 */ goto L_0285F1FC; L_0285F1D8: ; // 0x285f1d8 /* 0285F1D8 */ _t5 = cpu->r[31] + 0x00000034u; /* 0285F1D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5); /* 0285F1DC */ _t6 = cpu->r[30] + 0x00000000u; /* 0285F1DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6); /* 0285F1E0 */ _t7 = cpu->r[30] + 0x00000004u; /* 0285F1E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7); /* 0285F1E4 */ cpu->f[0] = cpu->f[12] * cpu->f[13]; /* 0285F1E8 */ _t8 = cpu->r[31] + 0x00000038u; /* 0285F1E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8); /* 0285F1EC */ cpu->f[11] = cpu->f[11] * cpu->f[13]; /* 0285F1F0 */ _t9 = cpu->r[30] + 0x00000000u; /* 0285F1F0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]); /* 0285F1F4 */ _t10 = cpu->r[30] + 0x00000004u; /* 0285F1F4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[11]); /* 0285F1F8 */ _t11 = cpu->r[31] + 0x0000000Cu; /* 0285F1F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); L_0285F1FC: ; // 0x285f1fc /* 0285F1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F200 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F200 */ _t13 = _t12 & 0x00000001u; /* 0285F200 */ if (_t13) goto L_0285F254; else goto L_0285F204; L_0285F204: ; // 0x285f204 /* 0285F204 */ _t14 = cpu->r[28] + 0xFFFFD7F4u; /* 0285F204 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14); /* 0285F208 */ _t15 = cpu->r[31] + 0x00000008u; /* 0285F208 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); /* 0285F20C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0285F210 */ cpu->r[9] = cpu->r[7] + 0x00000010u; /* 0285F214 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F214 */ _t17 = _t16 & 0x00000001u; /* 0285F214 */ if (_t17) goto L_0285F218; else goto L_0285F234; L_0285F218: ; // 0x285f218 /* 0285F218 */ _t18 = cpu->r[26] + 0xFFFFD7ECu; /* 0285F218 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18); /* 0285F21C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285F220 */ _t19 = cpu->r[28] + 0xFFFFD7F4u; /* 0285F220 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]); /* 0285F224 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F224 */ _t21 = _t20 & 0x00000001u; /* 0285F224 */ if (_t21) goto L_0285F228; else goto L_0285F230; L_0285F228: ; // 0x285f228 /* 0285F228 */ _t22 = cpu->r[25] + 0x00000000u; /* 0285F228 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]); /* 0285F22C */ _t23 = cpu->r[26] + 0xFFFFD7ECu; /* 0285F22C */ rbrew_write32(cpu->mem, _t23, cpu->r[27]); L_0285F230: ; // 0x285f230 /* 0285F230 */ _t24 = cpu->r[24] + 0x00000000u; /* 0285F230 */ rbrew_write32(cpu->mem, _t24, cpu->r[25]); L_0285F234: ; // 0x285f234 /* 0285F234 */ _t25 = cpu->r[9] + 0x00000004u; /* 0285F234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 0285F238 */ cpu->ctr = cpu->r[0]; /* 0285F23C */ cpu->r[3] = cpu->r[31]; /* 0285F240 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285F244 */ cpu->r[11] = cpu->r[3] ^ cpu->r[24]; /* 0285F248 */ cpu->r[12] = rbrew_clz32(cpu->r[11]); /* 0285F24C */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285F24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285F250 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F250 */ _t27 = _t26 & 0x00000001u; /* 0285F250 */ if (_t27) goto L_0285F1D8; else goto L_0285F254; L_0285F254: ; // 0x285f254 /* 0285F254 */ /* nop */ /* 0285F258 */ _t28 = cpu->r[1] + 0x0000002Cu; /* 0285F258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 0285F25C */ cpu->lr = cpu->r[0]; /* 0285F260 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0285F264 */ return; } // fn_0285F268 @ 0x285f268 void Gambit_fn_0285F268(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143; L_0285F268: ; // 0x285f268 /* 0285F268 */ cpu->r[0] = cpu->lr; /* 0285F26C */ _t0 = cpu->r[1] + 0xFFFFFFA8u; /* 0285F26C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285F26C */ cpu->r[1] = _t0; /* 0285F270 */ _t1 = cpu->r[1] + 0x00000038u; /* 0285F270 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 0285F274 */ /* nop */ /* 0285F278 */ _t2 = cpu->r[1] + 0x00000048u; /* 0285F278 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 0285F27C */ _t3 = cpu->r[1] + 0x00000040u; /* 0285F27C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]); /* 0285F280 */ /* nop */ /* 0285F284 */ _t4 = cpu->r[1] + 0x00000050u; /* 0285F284 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); /* 0285F288 */ _t5 = cpu->r[1] + 0x0000005Cu; /* 0285F288 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285F28C */ /* nop */ /* 0285F290 */ cpu->r[31] = cpu->r[3]; /* 0285F290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F294 */ cpu->r[29] = cpu->r[4]; /* 0285F298 */ cpu->r[30] = cpu->r[5]; /* 0285F29C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F29C */ _t7 = _t6 & 0x00000001u; /* 0285F29C */ if (_t7) goto L_0285F2A0; else goto L_0285F2B0; L_0285F2A0: ; // 0x285f2a0 /* 0285F2A0 */ cpu->r[3] = 0x000000A4u; /* 0285F2A4 */ Gambit_fn_02801A78(cpu); /* 0285F2A8 */ cpu->r[31] = cpu->r[3]; /* 0285F2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F2AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F2AC */ _t9 = _t8 & 0x00000001u; /* 0285F2AC */ if (_t9) goto L_0285F598; else goto L_0285F2B0; L_0285F2B0: ; // 0x285f2b0 /* 0285F2B0 */ cpu->r[3] = cpu->r[31]; /* 0285F2B4 */ Gambit_fn_0285F020(cpu); /* 0285F2B8 */ cpu->r[0] = 0x10130000u; /* 0285F2BC */ cpu->r[0] = cpu->r[0] + 0x0000509Cu; /* 0285F2C0 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285F2C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F2C4 */ _t10 = cpu->r[31] + 0x00000008u; /* 0285F2C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0285F2C8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F2C8 */ _t12 = _t11 & 0x00000001u; /* 0285F2C8 */ if (_t12) goto L_0285F2CC; else goto L_0285F2DC; L_0285F2CC: ; // 0x285f2cc /* 0285F2CC */ cpu->r[3] = 0x0000000Cu; /* 0285F2D0 */ Gambit_fn_02801A78(cpu); /* 0285F2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F2D8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F2D8 */ _t14 = _t13 & 0x00000001u; /* 0285F2D8 */ if (_t14) goto L_0285F308; else goto L_0285F2DC; L_0285F2DC: ; // 0x285f2dc /* 0285F2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F2E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F2E0 */ _t16 = _t15 & 0x00000001u; /* 0285F2E0 */ if (_t16) goto L_0285F2E4; else goto L_0285F2F4; L_0285F2E4: ; // 0x285f2e4 /* 0285F2E4 */ cpu->r[3] = 0x0000000Cu; /* 0285F2E8 */ Gambit_fn_02801A78(cpu); /* 0285F2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F2F0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F2F0 */ _t18 = _t17 & 0x00000001u; /* 0285F2F0 */ if (_t18) goto L_0285F308; else goto L_0285F2F4; L_0285F2F4: ; // 0x285f2f4 /* 0285F2F4 */ cpu->r[5] = 0x00000000u; /* 0285F2F8 */ cpu->r[9] = cpu->r[3] + 0x00000004u; /* 0285F2FC */ _t19 = cpu->r[3] + 0x00000000u; /* 0285F2FC */ rbrew_write32(cpu->mem, _t19, cpu->r[5]); /* 0285F300 */ _t20 = cpu->r[9] + 0x00000004u; /* 0285F300 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]); /* 0285F304 */ _t21 = cpu->r[9] + 0x00000000u; /* 0285F304 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]); L_0285F308: ; // 0x285f308 /* 0285F308 */ cpu->r[10] = 0x10130000u; /* 0285F30C */ _t22 = cpu->r[10] + 0x0000506Cu; /* 0285F30C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22); /* 0285F310 */ _t23 = cpu->r[31] + 0x00000040u; /* 0285F310 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]); /* 0285F314 */ cpu->r[3] = cpu->r[31]; /* 0285F318 */ _t24 = cpu->r[31] + 0x0000003Cu; /* 0285F318 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]); /* 0285F31C */ Gambit_fn_0285F06C(cpu); /* 0285F320 */ cpu->r[23] = cpu->r[29] + 0x0000002Cu; /* 0285F324 */ _t25 = cpu->r[30] + 0x00000030u; /* 0285F324 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25); /* 0285F328 */ cpu->r[26] = cpu->r[29] + 0x00000044u; /* 0285F32C */ cpu->r[27] = cpu->r[29] + 0x0000004Cu; /* 0285F330 */ cpu->r[28] = cpu->r[29] + 0x0000000Au; /* 0285F334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285F338 */ cpu->r[25] = cpu->r[29] + 0x00000024u; /* 0285F33C */ cpu->r[24] = cpu->r[29] + 0x00000038u; /* 0285F340 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F340 */ _t27 = _t26 & 0x00000001u; /* 0285F340 */ if (_t27) goto L_0285F390; else goto L_0285F344; L_0285F344: ; // 0x285f344 /* 0285F344 */ _t28 = cpu->r[30] + 0x0000002Au; /* 0285F344 */ cpu->r[11] = rbrew_read16(cpu->mem, _t28); /* 0285F348 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Cu); /* 0285F348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285F34C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F34C */ _t30 = _t29 & 0x00000001u; /* 0285F34C */ if (_t30) goto L_0285F354; else goto L_0285F350; L_0285F350: ; // 0x285f350 /* 0285F350 */ cpu->r[23] = cpu->r[5] + 0x00000008u; L_0285F354: ; // 0x285f354 /* 0285F354 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000019u, 0x00000019u); /* 0285F354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285F358 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F358 */ _t32 = _t31 & 0x00000001u; /* 0285F358 */ if (_t32) goto L_0285F360; else goto L_0285F35C; L_0285F35C: ; // 0x285f35c /* 0285F35C */ cpu->r[24] = cpu->r[5] + 0x00000014u; L_0285F360: ; // 0x285f360 /* 0285F360 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Au); /* 0285F360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0285F364 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F364 */ _t34 = _t33 & 0x00000001u; /* 0285F364 */ if (_t34) goto L_0285F36C; else goto L_0285F368; L_0285F368: ; // 0x285f368 /* 0285F368 */ cpu->r[26] = cpu->r[5] + 0x00000020u; L_0285F36C: ; // 0x285f36c /* 0285F36C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Bu); /* 0285F36C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285F370 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F370 */ _t36 = _t35 & 0x00000001u; /* 0285F370 */ if (_t36) goto L_0285F378; else goto L_0285F374; L_0285F374: ; // 0x285f374 /* 0285F374 */ cpu->r[27] = cpu->r[5] + 0x00000028u; L_0285F378: ; // 0x285f378 /* 0285F378 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x00000018u); /* 0285F378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285F37C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F37C */ _t38 = _t37 & 0x00000001u; /* 0285F37C */ if (_t38) goto L_0285F384; else goto L_0285F380; L_0285F380: ; // 0x285f380 /* 0285F380 */ cpu->r[28] = cpu->r[5] + 0x00000030u; L_0285F384: ; // 0x285f384 /* 0285F384 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Du); /* 0285F384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285F388 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F388 */ _t40 = _t39 & 0x00000001u; /* 0285F388 */ if (_t40) goto L_0285F390; else goto L_0285F38C; L_0285F38C: ; // 0x285f38c /* 0285F38C */ cpu->r[25] = cpu->r[5]; L_0285F390: ; // 0x285f390 /* 0285F390 */ _t41 = cpu->r[29] + 0x00000009u; /* 0285F390 */ cpu->r[12] = rbrew_read8(cpu->mem, _t41); /* 0285F394 */ cpu->r[4] = cpu->r[29] + 0x0000000Cu; /* 0285F398 */ cpu->r[3] = cpu->r[31]; /* 0285F39C */ _t42 = cpu->r[31] + 0x00000047u; /* 0285F39C */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[12]); /* 0285F3A0 */ Gambit_fn_0285F124(cpu); /* 0285F3A4 */ cpu->r[4] = cpu->r[25]; /* 0285F3A8 */ Gambit_fn_0285F158(cpu); /* 0285F3AC */ _t43 = cpu->r[30] + 0x00000038u; /* 0285F3AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t43); /* 0285F3B0 */ _t44 = cpu->r[31] + 0x0000007Cu; /* 0285F3B0 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]); /* 0285F3B4 */ _t45 = cpu->r[23] + 0x00000000u; /* 0285F3B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t45); /* 0285F3B8 */ _t46 = cpu->r[23] + 0x00000004u; /* 0285F3B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t46); /* 0285F3BC */ _t47 = cpu->r[23] + 0x00000008u; /* 0285F3BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t47); /* 0285F3C0 */ _t48 = cpu->r[31] + 0x00000020u; /* 0285F3C0 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]); /* 0285F3C4 */ _t49 = cpu->r[31] + 0x0000001Cu; /* 0285F3C4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]); /* 0285F3C8 */ _t50 = cpu->r[31] + 0x00000024u; /* 0285F3C8 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]); /* 0285F3CC */ _t51 = cpu->r[24] + 0x00000008u; /* 0285F3CC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t51); /* 0285F3D0 */ _t52 = cpu->r[24] + 0x00000000u; /* 0285F3D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52); /* 0285F3D4 */ _t53 = cpu->r[24] + 0x00000004u; /* 0285F3D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53); /* 0285F3D8 */ _t54 = cpu->r[31] + 0x00000028u; /* 0285F3D8 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[13]); /* 0285F3DC */ _t55 = cpu->r[31] + 0x00000030u; /* 0285F3DC */ rbrew_write_f32(cpu->mem, _t55, cpu->f[9]); /* 0285F3E0 */ _t56 = cpu->r[31] + 0x0000002Cu; /* 0285F3E0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[0]); /* 0285F3E4 */ _t57 = cpu->r[26] + 0x00000000u; /* 0285F3E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57); /* 0285F3E8 */ _t58 = cpu->r[26] + 0x00000004u; /* 0285F3E8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t58); /* 0285F3EC */ _t59 = cpu->r[31] + 0x00000034u; /* 0285F3EC */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]); /* 0285F3F0 */ _t60 = cpu->r[31] + 0x00000038u; /* 0285F3F0 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[9]); /* 0285F3F4 */ _t61 = cpu->r[30] + 0x00000024u; /* 0285F3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61); /* 0285F3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F3FC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F3FC */ _t63 = _t62 & 0x00000001u; /* 0285F3FC */ if (_t63) goto L_0285F538; else goto L_0285F400; L_0285F400: ; // 0x285f400 /* 0285F400 */ cpu->r[12] = 0x10130000u; /* 0285F404 */ _t64 = cpu->r[30] + 0x00000000u; /* 0285F404 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t64); /* 0285F408 */ _t65 = cpu->r[12] + 0x00005068u; /* 0285F408 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t65); /* 0285F40C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]); /* 0285F410 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F410 */ _t67 = _t66 & 0x00000001u; /* 0285F410 */ if (_t67) goto L_0285F414; else goto L_0285F420; L_0285F414: ; // 0x285f414 /* 0285F414 */ _t68 = cpu->r[30] + 0x00000004u; /* 0285F414 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t68); /* 0285F418 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]); /* 0285F41C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F41C */ _t70 = _t69 & 0x00000001u; /* 0285F41C */ if (_t70) goto L_0285F538; else goto L_0285F420; L_0285F420: ; // 0x285f420 /* 0285F420 */ _t71 = cpu->r[29] + 0x0000000Bu; /* 0285F420 */ cpu->r[11] = rbrew_read8(cpu->mem, _t71); /* 0285F424 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285F424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285F428 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F428 */ _t73 = _t72 & 0x00000001u; /* 0285F428 */ if (_t73) goto L_0285F42C; else goto L_0285F538; L_0285F42C: ; // 0x285f42c /* 0285F42C */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 0285F42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0285F430 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F430 */ _t75 = _t74 & 0x00000001u; /* 0285F430 */ if (_t75) goto L_0285F4F8; else goto L_0285F434; L_0285F434: ; // 0x285f434 /* 0285F434 */ cpu->r[12] = 0x10130000u; /* 0285F438 */ _t76 = cpu->r[12] + 0x00005070u; /* 0285F438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t76); /* 0285F43C */ _t77 = cpu->r[31] + 0x00000047u; /* 0285F43C */ cpu->r[12] = rbrew_read8(cpu->mem, _t77); /* 0285F440 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0285F440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285F444 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F444 */ _t79 = _t78 & 0x00000001u; /* 0285F444 */ if (_t79) goto L_0285F448; else goto L_0285F45C; L_0285F448: ; // 0x285f448 /* 0285F448 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 0285F448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F44C */ _t80 = cpu->r[30] + 0x00000034u; /* 0285F44C */ cpu->r[5] = rbrew_read32(cpu->mem, _t80); /* 0285F450 */ cpu->f[30] = cpu->f[0]; /* 0285F454 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F454 */ _t82 = _t81 & 0x00000001u; /* 0285F454 */ if (_t82) goto L_0285F46C; else goto L_0285F458; L_0285F458: ; // 0x285f458 /* 0285F458 */ goto L_0285F470; L_0285F45C: ; // 0x285f45c /* 0285F45C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 0285F45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F460 */ _t83 = cpu->r[30] + 0x00000034u; /* 0285F460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t83); /* 0285F464 */ cpu->f[30] = cpu->f[31]; /* 0285F468 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F468 */ _t85 = _t84 & 0x00000001u; /* 0285F468 */ if (_t85) goto L_0285F46C; else goto L_0285F470; L_0285F46C: ; // 0x285f46c /* 0285F46C */ cpu->f[31] = cpu->f[0]; L_0285F470: ; // 0x285f470 /* 0285F470 */ cpu->r[3] = cpu->r[31]; /* 0285F474 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285F478 */ Gambit_fn_0285F18C(cpu); /* 0285F47C */ _t86 = cpu->r[30] + 0x00000008u; /* 0285F47C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t86); /* 0285F480 */ _t87 = cpu->r[30] + 0x00000000u; /* 0285F480 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t87); /* 0285F484 */ _t88 = cpu->r[26] + 0x00000000u; /* 0285F484 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t88); /* 0285F488 */ cpu->f[0] = fma(cpu->f[0], cpu->f[11], -(cpu->f[0])); /* 0285F48C */ _t89 = cpu->r[1] + 0x00000008u; /* 0285F48C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t89); /* 0285F490 */ cpu->f[11] = cpu->f[12] * cpu->f[13]; /* 0285F494 */ _t90 = cpu->r[27] + 0x00000000u; /* 0285F494 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t90); /* 0285F498 */ cpu->f[10] = cpu->f[0] * cpu->f[30]; /* 0285F49C */ cpu->f[11] = cpu->f[10] / cpu->f[11]; /* 0285F4A0 */ _t91 = cpu->r[30] + 0x00000004u; /* 0285F4A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t91); /* 0285F4A4 */ _t92 = cpu->r[30] + 0x0000000Cu; /* 0285F4A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t92); /* 0285F4A8 */ cpu->f[10] = fma(cpu->f[9], cpu->f[10], -(cpu->f[9])); /* 0285F4AC */ cpu->f[12] = cpu->f[13] + cpu->f[11]; /* 0285F4B0 */ _t93 = cpu->r[31] + 0x0000003Cu; /* 0285F4B0 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[12]); /* 0285F4B4 */ _t94 = cpu->r[1] + 0x0000000Cu; /* 0285F4B4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t94); /* 0285F4B8 */ cpu->f[11] = cpu->f[10] * cpu->f[31]; /* 0285F4BC */ _t95 = cpu->r[26] + 0x00000004u; /* 0285F4BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t95); /* 0285F4C0 */ cpu->f[0] = cpu->f[9] * cpu->f[10]; /* 0285F4C4 */ cpu->f[12] = cpu->f[11] / cpu->f[0]; /* 0285F4C8 */ _t96 = cpu->r[27] + 0x00000004u; /* 0285F4C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t96); /* 0285F4CC */ cpu->f[10] = cpu->f[13] + cpu->f[12]; /* 0285F4D0 */ _t97 = cpu->r[31] + 0x00000040u; /* 0285F4D0 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[10]); /* 0285F4D4 */ _t98 = cpu->r[28] + 0x00000000u; /* 0285F4D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t98); /* 0285F4D8 */ _t99 = cpu->r[31] + 0x00000045u; /* 0285F4D8 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[0]); /* 0285F4DC */ _t100 = cpu->r[31] + 0x00000046u; /* 0285F4DC */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[0]); /* 0285F4E0 */ _t101 = cpu->r[29] + 0x00000008u; /* 0285F4E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t101); /* 0285F4E4 */ _t102 = cpu->r[31] + 0x00000044u; /* 0285F4E4 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[0]); /* 0285F4E8 */ _t103 = cpu->r[30] + 0x00000024u; /* 0285F4E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103); /* 0285F4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285F4F0 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F4F0 */ _t105 = _t104 & 0x00000001u; /* 0285F4F0 */ if (_t105) goto L_0285F590; else goto L_0285F4F4; L_0285F4F4: ; // 0x285f4f4 /* 0285F4F4 */ goto L_0285F568; L_0285F4F8: ; // 0x285f4f8 /* 0285F4F8 */ _t106 = cpu->r[27] + 0x00000000u; /* 0285F4F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t106); /* 0285F4FC */ cpu->f[0] = cpu->f[9] * cpu->f[13]; /* 0285F500 */ _t107 = cpu->r[31] + 0x0000003Cu; /* 0285F500 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[0]); /* 0285F504 */ _t108 = cpu->r[27] + 0x00000004u; /* 0285F504 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t108); /* 0285F508 */ _t109 = cpu->r[30] + 0x00000004u; /* 0285F508 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t109); /* 0285F50C */ cpu->f[10] = cpu->f[10] * cpu->f[11]; /* 0285F510 */ _t110 = cpu->r[31] + 0x00000040u; /* 0285F510 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[10]); /* 0285F514 */ _t111 = cpu->r[28] + 0x00000000u; /* 0285F514 */ cpu->r[0] = rbrew_read8(cpu->mem, _t111); /* 0285F518 */ _t112 = cpu->r[31] + 0x00000045u; /* 0285F518 */ rbrew_write8(cpu->mem, _t112, (uint8_t)cpu->r[0]); /* 0285F51C */ _t113 = cpu->r[31] + 0x00000046u; /* 0285F51C */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[0]); /* 0285F520 */ _t114 = cpu->r[29] + 0x00000008u; /* 0285F520 */ cpu->r[0] = rbrew_read8(cpu->mem, _t114); /* 0285F524 */ _t115 = cpu->r[31] + 0x00000044u; /* 0285F524 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[0]); /* 0285F528 */ _t116 = cpu->r[30] + 0x00000024u; /* 0285F528 */ cpu->r[5] = rbrew_read32(cpu->mem, _t116); /* 0285F52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285F530 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F530 */ _t118 = _t117 & 0x00000001u; /* 0285F530 */ if (_t118) goto L_0285F590; else goto L_0285F534; L_0285F534: ; // 0x285f534 /* 0285F534 */ goto L_0285F568; L_0285F538: ; // 0x285f538 /* 0285F538 */ _t119 = cpu->r[27] + 0x00000000u; /* 0285F538 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t119); /* 0285F53C */ _t120 = cpu->r[31] + 0x0000003Cu; /* 0285F53C */ rbrew_write_f32(cpu->mem, _t120, cpu->f[12]); /* 0285F540 */ _t121 = cpu->r[27] + 0x00000004u; /* 0285F540 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t121); /* 0285F544 */ _t122 = cpu->r[31] + 0x00000040u; /* 0285F544 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[10]); /* 0285F548 */ _t123 = cpu->r[28] + 0x00000000u; /* 0285F548 */ cpu->r[0] = rbrew_read8(cpu->mem, _t123); /* 0285F54C */ _t124 = cpu->r[31] + 0x00000045u; /* 0285F54C */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[0]); /* 0285F550 */ _t125 = cpu->r[31] + 0x00000046u; /* 0285F550 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[0]); /* 0285F554 */ _t126 = cpu->r[29] + 0x00000008u; /* 0285F554 */ cpu->r[0] = rbrew_read8(cpu->mem, _t126); /* 0285F558 */ _t127 = cpu->r[31] + 0x00000044u; /* 0285F558 */ rbrew_write8(cpu->mem, _t127, (uint8_t)cpu->r[0]); /* 0285F55C */ _t128 = cpu->r[30] + 0x00000024u; /* 0285F55C */ cpu->r[5] = rbrew_read32(cpu->mem, _t128); /* 0285F560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285F564 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F564 */ _t130 = _t129 & 0x00000001u; /* 0285F564 */ if (_t130) goto L_0285F590; else goto L_0285F568; L_0285F568: ; // 0x285f568 /* 0285F568 */ _t131 = cpu->r[30] + 0x0000002Au; /* 0285F568 */ cpu->r[7] = rbrew_read16(cpu->mem, _t131); /* 0285F56C */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285F56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285F570 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F570 */ _t133 = _t132 & 0x00000001u; /* 0285F570 */ if (_t133) goto L_0285F590; else goto L_0285F574; L_0285F574: ; // 0x285f574 /* 0285F574 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Eu); /* 0285F578 */ _t134 = cpu->r[31] + 0x00000044u; /* 0285F578 */ rbrew_write8(cpu->mem, _t134, (uint8_t)cpu->r[0]); /* 0285F57C */ _t135 = cpu->r[30] + 0x0000002Au; /* 0285F57C */ cpu->r[10] = rbrew_read16(cpu->mem, _t135); /* 0285F580 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 0285F584 */ cpu->r[11] = cpu->r[9] + 0xFFFFFFFFu; /* 0285F588 */ cpu->r[8] = cpu->r[9] - cpu->r[11]; /* 0285F58C */ cpu->r[0] = cpu->r[0] | cpu->r[8]; L_0285F590: ; // 0x285f590 /* 0285F590 */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 0285F594 */ _t136 = cpu->r[31] + 0x00000044u; /* 0285F594 */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[0]); L_0285F598: ; // 0x285f598 /* 0285F598 */ cpu->r[3] = cpu->r[31]; /* 0285F59C */ /* nop */ /* 0285F5A0 */ _t137 = cpu->r[1] + 0x00000040u; /* 0285F5A0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t137); /* 0285F5A4 */ _t138 = cpu->r[1] + 0x00000050u; /* 0285F5A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t138); /* 0285F5A8 */ _t139 = cpu->r[1] + 0x00000038u; /* 0285F5A8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t139); /* 0285F5AC */ _t140 = cpu->r[1] + 0x00000048u; /* 0285F5AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t140); /* 0285F5B0 */ _t141 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285F5B0 */ _t142 = _t141 & 0x00000001u; /* 0285F5B0 */ if (_t142) goto L_0285F5B4; // else: addr-0 trap, fall-through L_0285F5B4: ; // 0x285f5b4 /* 0285F5B4 */ _t143 = cpu->r[1] + 0x0000005Cu; /* 0285F5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t143); /* 0285F5B8 */ cpu->lr = cpu->r[0]; /* 0285F5BC */ cpu->r[1] = cpu->r[1] + 0x00000058u; /* 0285F5C0 */ return; } // fn_0285F26C @ 0x285f26c void Gambit_fn_0285F26C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143; L_0285F26C: ; // 0x285f26c /* 0285F26C */ _t0 = cpu->r[1] + 0xFFFFFFA8u; /* 0285F26C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285F26C */ cpu->r[1] = _t0; /* 0285F270 */ _t1 = cpu->r[1] + 0x00000038u; /* 0285F270 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]); /* 0285F274 */ /* nop */ /* 0285F278 */ _t2 = cpu->r[1] + 0x00000048u; /* 0285F278 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 0285F27C */ _t3 = cpu->r[1] + 0x00000040u; /* 0285F27C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]); /* 0285F280 */ /* nop */ /* 0285F284 */ _t4 = cpu->r[1] + 0x00000050u; /* 0285F284 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); /* 0285F288 */ _t5 = cpu->r[1] + 0x0000005Cu; /* 0285F288 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285F28C */ /* nop */ /* 0285F290 */ cpu->r[31] = cpu->r[3]; /* 0285F290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F294 */ cpu->r[29] = cpu->r[4]; /* 0285F298 */ cpu->r[30] = cpu->r[5]; /* 0285F29C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F29C */ _t7 = _t6 & 0x00000001u; /* 0285F29C */ if (_t7) goto L_0285F2A0; else goto L_0285F2B0; L_0285F2A0: ; // 0x285f2a0 /* 0285F2A0 */ cpu->r[3] = 0x000000A4u; /* 0285F2A4 */ Gambit_fn_02801A78(cpu); /* 0285F2A8 */ cpu->r[31] = cpu->r[3]; /* 0285F2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F2AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F2AC */ _t9 = _t8 & 0x00000001u; /* 0285F2AC */ if (_t9) goto L_0285F598; else goto L_0285F2B0; L_0285F2B0: ; // 0x285f2b0 /* 0285F2B0 */ cpu->r[3] = cpu->r[31]; /* 0285F2B4 */ Gambit_fn_0285F020(cpu); /* 0285F2B8 */ cpu->r[0] = 0x10130000u; /* 0285F2BC */ cpu->r[0] = cpu->r[0] + 0x0000509Cu; /* 0285F2C0 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285F2C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F2C4 */ _t10 = cpu->r[31] + 0x00000008u; /* 0285F2C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 0285F2C8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F2C8 */ _t12 = _t11 & 0x00000001u; /* 0285F2C8 */ if (_t12) goto L_0285F2CC; else goto L_0285F2DC; L_0285F2CC: ; // 0x285f2cc /* 0285F2CC */ cpu->r[3] = 0x0000000Cu; /* 0285F2D0 */ Gambit_fn_02801A78(cpu); /* 0285F2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F2D8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F2D8 */ _t14 = _t13 & 0x00000001u; /* 0285F2D8 */ if (_t14) goto L_0285F308; else goto L_0285F2DC; L_0285F2DC: ; // 0x285f2dc /* 0285F2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F2E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F2E0 */ _t16 = _t15 & 0x00000001u; /* 0285F2E0 */ if (_t16) goto L_0285F2E4; else goto L_0285F2F4; L_0285F2E4: ; // 0x285f2e4 /* 0285F2E4 */ cpu->r[3] = 0x0000000Cu; /* 0285F2E8 */ Gambit_fn_02801A78(cpu); /* 0285F2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F2F0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F2F0 */ _t18 = _t17 & 0x00000001u; /* 0285F2F0 */ if (_t18) goto L_0285F308; else goto L_0285F2F4; L_0285F2F4: ; // 0x285f2f4 /* 0285F2F4 */ cpu->r[5] = 0x00000000u; /* 0285F2F8 */ cpu->r[9] = cpu->r[3] + 0x00000004u; /* 0285F2FC */ _t19 = cpu->r[3] + 0x00000000u; /* 0285F2FC */ rbrew_write32(cpu->mem, _t19, cpu->r[5]); /* 0285F300 */ _t20 = cpu->r[9] + 0x00000004u; /* 0285F300 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]); /* 0285F304 */ _t21 = cpu->r[9] + 0x00000000u; /* 0285F304 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]); L_0285F308: ; // 0x285f308 /* 0285F308 */ cpu->r[10] = 0x10130000u; /* 0285F30C */ _t22 = cpu->r[10] + 0x0000506Cu; /* 0285F30C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22); /* 0285F310 */ _t23 = cpu->r[31] + 0x00000040u; /* 0285F310 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]); /* 0285F314 */ cpu->r[3] = cpu->r[31]; /* 0285F318 */ _t24 = cpu->r[31] + 0x0000003Cu; /* 0285F318 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]); /* 0285F31C */ Gambit_fn_0285F06C(cpu); /* 0285F320 */ cpu->r[23] = cpu->r[29] + 0x0000002Cu; /* 0285F324 */ _t25 = cpu->r[30] + 0x00000030u; /* 0285F324 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25); /* 0285F328 */ cpu->r[26] = cpu->r[29] + 0x00000044u; /* 0285F32C */ cpu->r[27] = cpu->r[29] + 0x0000004Cu; /* 0285F330 */ cpu->r[28] = cpu->r[29] + 0x0000000Au; /* 0285F334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285F338 */ cpu->r[25] = cpu->r[29] + 0x00000024u; /* 0285F33C */ cpu->r[24] = cpu->r[29] + 0x00000038u; /* 0285F340 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F340 */ _t27 = _t26 & 0x00000001u; /* 0285F340 */ if (_t27) goto L_0285F390; else goto L_0285F344; L_0285F344: ; // 0x285f344 /* 0285F344 */ _t28 = cpu->r[30] + 0x0000002Au; /* 0285F344 */ cpu->r[11] = rbrew_read16(cpu->mem, _t28); /* 0285F348 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Cu); /* 0285F348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285F34C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F34C */ _t30 = _t29 & 0x00000001u; /* 0285F34C */ if (_t30) goto L_0285F354; else goto L_0285F350; L_0285F350: ; // 0x285f350 /* 0285F350 */ cpu->r[23] = cpu->r[5] + 0x00000008u; L_0285F354: ; // 0x285f354 /* 0285F354 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000019u, 0x00000019u); /* 0285F354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285F358 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F358 */ _t32 = _t31 & 0x00000001u; /* 0285F358 */ if (_t32) goto L_0285F360; else goto L_0285F35C; L_0285F35C: ; // 0x285f35c /* 0285F35C */ cpu->r[24] = cpu->r[5] + 0x00000014u; L_0285F360: ; // 0x285f360 /* 0285F360 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Au); /* 0285F360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0285F364 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F364 */ _t34 = _t33 & 0x00000001u; /* 0285F364 */ if (_t34) goto L_0285F36C; else goto L_0285F368; L_0285F368: ; // 0x285f368 /* 0285F368 */ cpu->r[26] = cpu->r[5] + 0x00000020u; L_0285F36C: ; // 0x285f36c /* 0285F36C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Bu); /* 0285F36C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0285F370 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F370 */ _t36 = _t35 & 0x00000001u; /* 0285F370 */ if (_t36) goto L_0285F378; else goto L_0285F374; L_0285F374: ; // 0x285f374 /* 0285F374 */ cpu->r[27] = cpu->r[5] + 0x00000028u; L_0285F378: ; // 0x285f378 /* 0285F378 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x00000018u); /* 0285F378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285F37C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F37C */ _t38 = _t37 & 0x00000001u; /* 0285F37C */ if (_t38) goto L_0285F384; else goto L_0285F380; L_0285F380: ; // 0x285f380 /* 0285F380 */ cpu->r[28] = cpu->r[5] + 0x00000030u; L_0285F384: ; // 0x285f384 /* 0285F384 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Du); /* 0285F384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285F388 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F388 */ _t40 = _t39 & 0x00000001u; /* 0285F388 */ if (_t40) goto L_0285F390; else goto L_0285F38C; L_0285F38C: ; // 0x285f38c /* 0285F38C */ cpu->r[25] = cpu->r[5]; L_0285F390: ; // 0x285f390 /* 0285F390 */ _t41 = cpu->r[29] + 0x00000009u; /* 0285F390 */ cpu->r[12] = rbrew_read8(cpu->mem, _t41); /* 0285F394 */ cpu->r[4] = cpu->r[29] + 0x0000000Cu; /* 0285F398 */ cpu->r[3] = cpu->r[31]; /* 0285F39C */ _t42 = cpu->r[31] + 0x00000047u; /* 0285F39C */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[12]); /* 0285F3A0 */ Gambit_fn_0285F124(cpu); /* 0285F3A4 */ cpu->r[4] = cpu->r[25]; /* 0285F3A8 */ Gambit_fn_0285F158(cpu); /* 0285F3AC */ _t43 = cpu->r[30] + 0x00000038u; /* 0285F3AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t43); /* 0285F3B0 */ _t44 = cpu->r[31] + 0x0000007Cu; /* 0285F3B0 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]); /* 0285F3B4 */ _t45 = cpu->r[23] + 0x00000000u; /* 0285F3B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t45); /* 0285F3B8 */ _t46 = cpu->r[23] + 0x00000004u; /* 0285F3B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t46); /* 0285F3BC */ _t47 = cpu->r[23] + 0x00000008u; /* 0285F3BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t47); /* 0285F3C0 */ _t48 = cpu->r[31] + 0x00000020u; /* 0285F3C0 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]); /* 0285F3C4 */ _t49 = cpu->r[31] + 0x0000001Cu; /* 0285F3C4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]); /* 0285F3C8 */ _t50 = cpu->r[31] + 0x00000024u; /* 0285F3C8 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]); /* 0285F3CC */ _t51 = cpu->r[24] + 0x00000008u; /* 0285F3CC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t51); /* 0285F3D0 */ _t52 = cpu->r[24] + 0x00000000u; /* 0285F3D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52); /* 0285F3D4 */ _t53 = cpu->r[24] + 0x00000004u; /* 0285F3D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53); /* 0285F3D8 */ _t54 = cpu->r[31] + 0x00000028u; /* 0285F3D8 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[13]); /* 0285F3DC */ _t55 = cpu->r[31] + 0x00000030u; /* 0285F3DC */ rbrew_write_f32(cpu->mem, _t55, cpu->f[9]); /* 0285F3E0 */ _t56 = cpu->r[31] + 0x0000002Cu; /* 0285F3E0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[0]); /* 0285F3E4 */ _t57 = cpu->r[26] + 0x00000000u; /* 0285F3E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57); /* 0285F3E8 */ _t58 = cpu->r[26] + 0x00000004u; /* 0285F3E8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t58); /* 0285F3EC */ _t59 = cpu->r[31] + 0x00000034u; /* 0285F3EC */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]); /* 0285F3F0 */ _t60 = cpu->r[31] + 0x00000038u; /* 0285F3F0 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[9]); /* 0285F3F4 */ _t61 = cpu->r[30] + 0x00000024u; /* 0285F3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61); /* 0285F3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F3FC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F3FC */ _t63 = _t62 & 0x00000001u; /* 0285F3FC */ if (_t63) goto L_0285F538; else goto L_0285F400; L_0285F400: ; // 0x285f400 /* 0285F400 */ cpu->r[12] = 0x10130000u; /* 0285F404 */ _t64 = cpu->r[30] + 0x00000000u; /* 0285F404 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t64); /* 0285F408 */ _t65 = cpu->r[12] + 0x00005068u; /* 0285F408 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t65); /* 0285F40C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]); /* 0285F410 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F410 */ _t67 = _t66 & 0x00000001u; /* 0285F410 */ if (_t67) goto L_0285F414; else goto L_0285F420; L_0285F414: ; // 0x285f414 /* 0285F414 */ _t68 = cpu->r[30] + 0x00000004u; /* 0285F414 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t68); /* 0285F418 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]); /* 0285F41C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F41C */ _t70 = _t69 & 0x00000001u; /* 0285F41C */ if (_t70) goto L_0285F538; else goto L_0285F420; L_0285F420: ; // 0x285f420 /* 0285F420 */ _t71 = cpu->r[29] + 0x0000000Bu; /* 0285F420 */ cpu->r[11] = rbrew_read8(cpu->mem, _t71); /* 0285F424 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285F424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285F428 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F428 */ _t73 = _t72 & 0x00000001u; /* 0285F428 */ if (_t73) goto L_0285F42C; else goto L_0285F538; L_0285F42C: ; // 0x285f42c /* 0285F42C */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 0285F42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0285F430 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F430 */ _t75 = _t74 & 0x00000001u; /* 0285F430 */ if (_t75) goto L_0285F4F8; else goto L_0285F434; L_0285F434: ; // 0x285f434 /* 0285F434 */ cpu->r[12] = 0x10130000u; /* 0285F438 */ _t76 = cpu->r[12] + 0x00005070u; /* 0285F438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t76); /* 0285F43C */ _t77 = cpu->r[31] + 0x00000047u; /* 0285F43C */ cpu->r[12] = rbrew_read8(cpu->mem, _t77); /* 0285F440 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0285F440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285F444 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F444 */ _t79 = _t78 & 0x00000001u; /* 0285F444 */ if (_t79) goto L_0285F448; else goto L_0285F45C; L_0285F448: ; // 0x285f448 /* 0285F448 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 0285F448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F44C */ _t80 = cpu->r[30] + 0x00000034u; /* 0285F44C */ cpu->r[5] = rbrew_read32(cpu->mem, _t80); /* 0285F450 */ cpu->f[30] = cpu->f[0]; /* 0285F454 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F454 */ _t82 = _t81 & 0x00000001u; /* 0285F454 */ if (_t82) goto L_0285F46C; else goto L_0285F458; L_0285F458: ; // 0x285f458 /* 0285F458 */ goto L_0285F470; L_0285F45C: ; // 0x285f45c /* 0285F45C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 0285F45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F460 */ _t83 = cpu->r[30] + 0x00000034u; /* 0285F460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t83); /* 0285F464 */ cpu->f[30] = cpu->f[31]; /* 0285F468 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F468 */ _t85 = _t84 & 0x00000001u; /* 0285F468 */ if (_t85) goto L_0285F46C; else goto L_0285F470; L_0285F46C: ; // 0x285f46c /* 0285F46C */ cpu->f[31] = cpu->f[0]; L_0285F470: ; // 0x285f470 /* 0285F470 */ cpu->r[3] = cpu->r[31]; /* 0285F474 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285F478 */ Gambit_fn_0285F18C(cpu); /* 0285F47C */ _t86 = cpu->r[30] + 0x00000008u; /* 0285F47C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t86); /* 0285F480 */ _t87 = cpu->r[30] + 0x00000000u; /* 0285F480 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t87); /* 0285F484 */ _t88 = cpu->r[26] + 0x00000000u; /* 0285F484 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t88); /* 0285F488 */ cpu->f[0] = fma(cpu->f[0], cpu->f[11], -(cpu->f[0])); /* 0285F48C */ _t89 = cpu->r[1] + 0x00000008u; /* 0285F48C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t89); /* 0285F490 */ cpu->f[11] = cpu->f[12] * cpu->f[13]; /* 0285F494 */ _t90 = cpu->r[27] + 0x00000000u; /* 0285F494 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t90); /* 0285F498 */ cpu->f[10] = cpu->f[0] * cpu->f[30]; /* 0285F49C */ cpu->f[11] = cpu->f[10] / cpu->f[11]; /* 0285F4A0 */ _t91 = cpu->r[30] + 0x00000004u; /* 0285F4A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t91); /* 0285F4A4 */ _t92 = cpu->r[30] + 0x0000000Cu; /* 0285F4A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t92); /* 0285F4A8 */ cpu->f[10] = fma(cpu->f[9], cpu->f[10], -(cpu->f[9])); /* 0285F4AC */ cpu->f[12] = cpu->f[13] + cpu->f[11]; /* 0285F4B0 */ _t93 = cpu->r[31] + 0x0000003Cu; /* 0285F4B0 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[12]); /* 0285F4B4 */ _t94 = cpu->r[1] + 0x0000000Cu; /* 0285F4B4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t94); /* 0285F4B8 */ cpu->f[11] = cpu->f[10] * cpu->f[31]; /* 0285F4BC */ _t95 = cpu->r[26] + 0x00000004u; /* 0285F4BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t95); /* 0285F4C0 */ cpu->f[0] = cpu->f[9] * cpu->f[10]; /* 0285F4C4 */ cpu->f[12] = cpu->f[11] / cpu->f[0]; /* 0285F4C8 */ _t96 = cpu->r[27] + 0x00000004u; /* 0285F4C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t96); /* 0285F4CC */ cpu->f[10] = cpu->f[13] + cpu->f[12]; /* 0285F4D0 */ _t97 = cpu->r[31] + 0x00000040u; /* 0285F4D0 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[10]); /* 0285F4D4 */ _t98 = cpu->r[28] + 0x00000000u; /* 0285F4D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t98); /* 0285F4D8 */ _t99 = cpu->r[31] + 0x00000045u; /* 0285F4D8 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[0]); /* 0285F4DC */ _t100 = cpu->r[31] + 0x00000046u; /* 0285F4DC */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[0]); /* 0285F4E0 */ _t101 = cpu->r[29] + 0x00000008u; /* 0285F4E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t101); /* 0285F4E4 */ _t102 = cpu->r[31] + 0x00000044u; /* 0285F4E4 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[0]); /* 0285F4E8 */ _t103 = cpu->r[30] + 0x00000024u; /* 0285F4E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103); /* 0285F4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285F4F0 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F4F0 */ _t105 = _t104 & 0x00000001u; /* 0285F4F0 */ if (_t105) goto L_0285F590; else goto L_0285F4F4; L_0285F4F4: ; // 0x285f4f4 /* 0285F4F4 */ goto L_0285F568; L_0285F4F8: ; // 0x285f4f8 /* 0285F4F8 */ _t106 = cpu->r[27] + 0x00000000u; /* 0285F4F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t106); /* 0285F4FC */ cpu->f[0] = cpu->f[9] * cpu->f[13]; /* 0285F500 */ _t107 = cpu->r[31] + 0x0000003Cu; /* 0285F500 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[0]); /* 0285F504 */ _t108 = cpu->r[27] + 0x00000004u; /* 0285F504 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t108); /* 0285F508 */ _t109 = cpu->r[30] + 0x00000004u; /* 0285F508 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t109); /* 0285F50C */ cpu->f[10] = cpu->f[10] * cpu->f[11]; /* 0285F510 */ _t110 = cpu->r[31] + 0x00000040u; /* 0285F510 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[10]); /* 0285F514 */ _t111 = cpu->r[28] + 0x00000000u; /* 0285F514 */ cpu->r[0] = rbrew_read8(cpu->mem, _t111); /* 0285F518 */ _t112 = cpu->r[31] + 0x00000045u; /* 0285F518 */ rbrew_write8(cpu->mem, _t112, (uint8_t)cpu->r[0]); /* 0285F51C */ _t113 = cpu->r[31] + 0x00000046u; /* 0285F51C */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[0]); /* 0285F520 */ _t114 = cpu->r[29] + 0x00000008u; /* 0285F520 */ cpu->r[0] = rbrew_read8(cpu->mem, _t114); /* 0285F524 */ _t115 = cpu->r[31] + 0x00000044u; /* 0285F524 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[0]); /* 0285F528 */ _t116 = cpu->r[30] + 0x00000024u; /* 0285F528 */ cpu->r[5] = rbrew_read32(cpu->mem, _t116); /* 0285F52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285F530 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F530 */ _t118 = _t117 & 0x00000001u; /* 0285F530 */ if (_t118) goto L_0285F590; else goto L_0285F534; L_0285F534: ; // 0x285f534 /* 0285F534 */ goto L_0285F568; L_0285F538: ; // 0x285f538 /* 0285F538 */ _t119 = cpu->r[27] + 0x00000000u; /* 0285F538 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t119); /* 0285F53C */ _t120 = cpu->r[31] + 0x0000003Cu; /* 0285F53C */ rbrew_write_f32(cpu->mem, _t120, cpu->f[12]); /* 0285F540 */ _t121 = cpu->r[27] + 0x00000004u; /* 0285F540 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t121); /* 0285F544 */ _t122 = cpu->r[31] + 0x00000040u; /* 0285F544 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[10]); /* 0285F548 */ _t123 = cpu->r[28] + 0x00000000u; /* 0285F548 */ cpu->r[0] = rbrew_read8(cpu->mem, _t123); /* 0285F54C */ _t124 = cpu->r[31] + 0x00000045u; /* 0285F54C */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[0]); /* 0285F550 */ _t125 = cpu->r[31] + 0x00000046u; /* 0285F550 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[0]); /* 0285F554 */ _t126 = cpu->r[29] + 0x00000008u; /* 0285F554 */ cpu->r[0] = rbrew_read8(cpu->mem, _t126); /* 0285F558 */ _t127 = cpu->r[31] + 0x00000044u; /* 0285F558 */ rbrew_write8(cpu->mem, _t127, (uint8_t)cpu->r[0]); /* 0285F55C */ _t128 = cpu->r[30] + 0x00000024u; /* 0285F55C */ cpu->r[5] = rbrew_read32(cpu->mem, _t128); /* 0285F560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285F564 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F564 */ _t130 = _t129 & 0x00000001u; /* 0285F564 */ if (_t130) goto L_0285F590; else goto L_0285F568; L_0285F568: ; // 0x285f568 /* 0285F568 */ _t131 = cpu->r[30] + 0x0000002Au; /* 0285F568 */ cpu->r[7] = rbrew_read16(cpu->mem, _t131); /* 0285F56C */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285F56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285F570 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F570 */ _t133 = _t132 & 0x00000001u; /* 0285F570 */ if (_t133) goto L_0285F590; else goto L_0285F574; L_0285F574: ; // 0x285f574 /* 0285F574 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Eu); /* 0285F578 */ _t134 = cpu->r[31] + 0x00000044u; /* 0285F578 */ rbrew_write8(cpu->mem, _t134, (uint8_t)cpu->r[0]); /* 0285F57C */ _t135 = cpu->r[30] + 0x0000002Au; /* 0285F57C */ cpu->r[10] = rbrew_read16(cpu->mem, _t135); /* 0285F580 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 0285F584 */ cpu->r[11] = cpu->r[9] + 0xFFFFFFFFu; /* 0285F588 */ cpu->r[8] = cpu->r[9] - cpu->r[11]; /* 0285F58C */ cpu->r[0] = cpu->r[0] | cpu->r[8]; L_0285F590: ; // 0x285f590 /* 0285F590 */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 0285F594 */ _t136 = cpu->r[31] + 0x00000044u; /* 0285F594 */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[0]); L_0285F598: ; // 0x285f598 /* 0285F598 */ cpu->r[3] = cpu->r[31]; /* 0285F59C */ /* nop */ /* 0285F5A0 */ _t137 = cpu->r[1] + 0x00000040u; /* 0285F5A0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t137); /* 0285F5A4 */ _t138 = cpu->r[1] + 0x00000050u; /* 0285F5A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t138); /* 0285F5A8 */ _t139 = cpu->r[1] + 0x00000038u; /* 0285F5A8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t139); /* 0285F5AC */ _t140 = cpu->r[1] + 0x00000048u; /* 0285F5AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t140); /* 0285F5B0 */ _t141 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285F5B0 */ _t142 = _t141 & 0x00000001u; /* 0285F5B0 */ if (_t142) goto L_0285F5B4; // else: addr-0 trap, fall-through L_0285F5B4: ; // 0x285f5b4 /* 0285F5B4 */ _t143 = cpu->r[1] + 0x0000005Cu; /* 0285F5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t143); /* 0285F5B8 */ cpu->lr = cpu->r[0]; /* 0285F5BC */ cpu->r[1] = cpu->r[1] + 0x00000058u; /* 0285F5C0 */ return; } // fn_0285F5C4 @ 0x285f5c4 void Gambit_fn_0285F5C4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75; L_0285F5C4: ; // 0x285f5c4 /* 0285F5C4 */ cpu->r[0] = cpu->lr; /* 0285F5C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285F5C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285F5C8 */ cpu->r[1] = _t0; /* 0285F5CC */ _t1 = cpu->r[1] + 0x00000010u; /* 0285F5CC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285F5D0 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285F5D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285F5D4 */ cpu->r[31] = cpu->r[3]; /* 0285F5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F5D8 */ cpu->r[30] = cpu->r[4]; /* 0285F5DC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285F5DC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285F5E0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285F5E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285F5E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F5E4 */ _t6 = _t5 & 0x00000001u; /* 0285F5E4 */ if (_t6) goto L_0285F5E8; else goto L_0285F5F8; L_0285F5E8: ; // 0x285f5e8 /* 0285F5E8 */ cpu->r[3] = 0x000000A4u; /* 0285F5EC */ Gambit_fn_02801A78(cpu); /* 0285F5F0 */ cpu->r[31] = cpu->r[3]; /* 0285F5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F5F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F5F4 */ _t8 = _t7 & 0x00000001u; /* 0285F5F4 */ if (_t8) goto L_0285F750; else goto L_0285F5F8; L_0285F5F8: ; // 0x285f5f8 /* 0285F5F8 */ cpu->r[3] = cpu->r[31]; /* 0285F5FC */ Gambit_fn_0285F020(cpu); /* 0285F600 */ cpu->r[12] = 0x10130000u; /* 0285F604 */ cpu->r[29] = 0x00000000u; /* 0285F608 */ cpu->r[12] = cpu->r[12] + 0x0000509Cu; /* 0285F60C */ _t9 = cpu->r[31] + 0x0000000Cu; /* 0285F60C */ rbrew_write32(cpu->mem, _t9, cpu->r[29]); /* 0285F610 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285F610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F614 */ _t10 = cpu->r[31] + 0x00000008u; /* 0285F614 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 0285F618 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F618 */ _t12 = _t11 & 0x00000001u; /* 0285F618 */ if (_t12) goto L_0285F61C; else goto L_0285F62C; L_0285F61C: ; // 0x285f61c /* 0285F61C */ cpu->r[3] = 0x0000000Cu; /* 0285F620 */ Gambit_fn_02801A78(cpu); /* 0285F624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F628 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F628 */ _t14 = _t13 & 0x00000001u; /* 0285F628 */ if (_t14) goto L_0285F654; else goto L_0285F62C; L_0285F62C: ; // 0x285f62c /* 0285F62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F630 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F630 */ _t16 = _t15 & 0x00000001u; /* 0285F630 */ if (_t16) goto L_0285F634; else goto L_0285F644; L_0285F634: ; // 0x285f634 /* 0285F634 */ cpu->r[3] = 0x0000000Cu; /* 0285F638 */ Gambit_fn_02801A78(cpu); /* 0285F63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F640 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F640 */ _t18 = _t17 & 0x00000001u; /* 0285F640 */ if (_t18) goto L_0285F654; else goto L_0285F644; L_0285F644: ; // 0x285f644 /* 0285F644 */ cpu->r[11] = cpu->r[3] + 0x00000004u; /* 0285F648 */ _t19 = cpu->r[3] + 0x00000000u; /* 0285F648 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]); /* 0285F64C */ _t20 = cpu->r[11] + 0x00000004u; /* 0285F64C */ rbrew_write32(cpu->mem, _t20, cpu->r[11]); /* 0285F650 */ _t21 = cpu->r[11] + 0x00000000u; /* 0285F650 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]); L_0285F654: ; // 0x285f654 /* 0285F654 */ _t22 = cpu->r[30] + 0x0000001Cu; /* 0285F654 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22); /* 0285F658 */ _t23 = cpu->r[31] + 0x0000001Cu; /* 0285F658 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]); /* 0285F65C */ _t24 = cpu->r[30] + 0x00000020u; /* 0285F65C */ cpu->r[6] = rbrew_read32(cpu->mem, _t24); /* 0285F660 */ _t25 = cpu->r[31] + 0x00000020u; /* 0285F660 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]); /* 0285F664 */ _t26 = cpu->r[30] + 0x00000024u; /* 0285F664 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26); /* 0285F668 */ _t27 = cpu->r[31] + 0x00000024u; /* 0285F668 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]); /* 0285F66C */ _t28 = cpu->r[30] + 0x00000028u; /* 0285F66C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); /* 0285F670 */ _t29 = cpu->r[31] + 0x00000028u; /* 0285F670 */ rbrew_write32(cpu->mem, _t29, cpu->r[10]); /* 0285F674 */ _t30 = cpu->r[30] + 0x0000002Cu; /* 0285F674 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 0285F678 */ _t31 = cpu->r[31] + 0x0000002Cu; /* 0285F678 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]); /* 0285F67C */ _t32 = cpu->r[30] + 0x00000030u; /* 0285F67C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32); /* 0285F680 */ _t33 = cpu->r[31] + 0x00000030u; /* 0285F680 */ rbrew_write32(cpu->mem, _t33, cpu->r[12]); /* 0285F684 */ _t34 = cpu->r[30] + 0x00000034u; /* 0285F684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 0285F688 */ _t35 = cpu->r[31] + 0x00000034u; /* 0285F688 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]); /* 0285F68C */ _t36 = cpu->r[30] + 0x00000038u; /* 0285F68C */ cpu->r[5] = rbrew_read32(cpu->mem, _t36); /* 0285F690 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu; /* 0285F690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F694 */ _t37 = cpu->r[31] + 0x00000038u; /* 0285F694 */ rbrew_write32(cpu->mem, _t37, cpu->r[5]); /* 0285F698 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F698 */ _t39 = _t38 & 0x00000001u; /* 0285F698 */ if (_t39) goto L_0285F69C; else goto L_0285F6AC; L_0285F69C: ; // 0x285f69c /* 0285F69C */ cpu->r[3] = 0x00000008u; /* 0285F6A0 */ Gambit_fn_02801A78(cpu); /* 0285F6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F6A8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F6A8 */ _t41 = _t40 & 0x00000001u; /* 0285F6A8 */ if (_t41) goto L_0285F6BC; else goto L_0285F6AC; L_0285F6AC: ; // 0x285f6ac /* 0285F6AC */ _t42 = cpu->r[30] + 0x0000003Cu; /* 0285F6AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42); /* 0285F6B0 */ _t43 = cpu->r[3] + 0x00000000u; /* 0285F6B0 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]); /* 0285F6B4 */ _t44 = cpu->r[30] + 0x00000040u; /* 0285F6B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44); /* 0285F6B8 */ _t45 = cpu->r[3] + 0x00000004u; /* 0285F6B8 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]); L_0285F6BC: ; // 0x285f6bc /* 0285F6BC */ _t46 = cpu->r[30] + 0x00000044u; /* 0285F6BC */ cpu->r[6] = rbrew_read8(cpu->mem, _t46); /* 0285F6C0 */ _t47 = cpu->r[31] + 0x00000044u; /* 0285F6C0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[6]); /* 0285F6C4 */ _t48 = cpu->r[30] + 0x00000045u; /* 0285F6C4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t48); /* 0285F6C8 */ _t49 = cpu->r[31] + 0x00000045u; /* 0285F6C8 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[7]); /* 0285F6CC */ _t50 = cpu->r[30] + 0x00000046u; /* 0285F6CC */ cpu->r[8] = rbrew_read8(cpu->mem, _t50); /* 0285F6D0 */ cpu->r[12] = cpu->r[30] + 0x00000048u; /* 0285F6D4 */ cpu->r[0] = cpu->r[31] + 0x00000048u; /* 0285F6D8 */ _t51 = cpu->r[31] + 0x00000046u; /* 0285F6D8 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[8]); /* 0285F6DC */ _t52 = cpu->r[30] + 0x00000047u; /* 0285F6DC */ cpu->r[10] = rbrew_read8(cpu->mem, _t52); /* 0285F6E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 0285F6E4 */ _t53 = cpu->r[31] + 0x00000047u; /* 0285F6E4 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[10]); /* 0285F6E8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F6E8 */ _t55 = _t54 & 0x00000001u; /* 0285F6E8 */ if (_t55) goto L_0285F720; else goto L_0285F6EC; L_0285F6EC: ; // 0x285f6ec /* 0285F6EC */ cpu->r[8] = 0x00000003u; /* 0285F6F0 */ cpu->r[6] = cpu->r[30] + 0x00000044u; /* 0285F6F4 */ cpu->ctr = cpu->r[8]; /* 0285F6F8 */ cpu->r[7] = cpu->r[31] + 0x00000044u; L_0285F6FC: ; // 0x285f6fc /* 0285F6FC */ _t56 = cpu->r[6] + 0x00000004u; /* 0285F6FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t56); /* 0285F700 */ _t57 = cpu->r[7] + 0x00000004u; /* 0285F700 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]); /* 0285F704 */ _t58 = cpu->r[6] + 0x00000008u; /* 0285F704 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 0285F708 */ _t59 = cpu->r[7] + 0x00000008u; /* 0285F708 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]); /* 0285F70C */ _t60 = cpu->r[6] + 0x0000000Cu; /* 0285F70C */ cpu->r[11] = rbrew_read32(cpu->mem, _t60); /* 0285F710 */ _t61 = cpu->r[7] + 0x0000000Cu; /* 0285F710 */ rbrew_write32(cpu->mem, _t61, cpu->r[11]); /* 0285F714 */ _t62 = cpu->r[6] + 0x00000010u; /* 0285F714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62); /* 0285F714 */ cpu->r[6] = _t62; /* 0285F718 */ _t63 = cpu->r[7] + 0x00000010u; /* 0285F718 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]); /* 0285F718 */ cpu->r[7] = _t63; /* 0285F71C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285F71C */ _t64 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285F71C */ _t65 = _t64 >> (0x00000002u & 31u); /* 0285F71C */ _t66 = _t65 & 0x00000001u; /* 0285F71C */ if (_t66) goto L_0285F6FC; else goto L_0285F720; L_0285F720: ; // 0x285f720 /* 0285F720 */ _t67 = cpu->r[31] + 0x00000078u; /* 0285F720 */ rbrew_write32(cpu->mem, _t67, cpu->r[29]); /* 0285F724 */ _t68 = cpu->r[30] + 0x0000007Cu; /* 0285F724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68); /* 0285F728 */ cpu->r[4] = cpu->r[30] + 0x00000080u; /* 0285F72C */ cpu->r[3] = cpu->r[31]; /* 0285F730 */ _t69 = cpu->r[31] + 0x0000007Cu; /* 0285F730 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]); /* 0285F734 */ Gambit_fn_0285F124(cpu); /* 0285F738 */ cpu->r[4] = cpu->r[30] + 0x00000099u; /* 0285F73C */ Gambit_fn_0285F158(cpu); /* 0285F740 */ _t70 = cpu->r[31] + 0x00000044u; /* 0285F740 */ cpu->r[9] = rbrew_read8(cpu->mem, _t70); /* 0285F744 */ cpu->r[0] = cpu->r[9] & 0x000000CFu; /* 0285F744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F748 */ cpu->r[8] = cpu->r[0] | 0x00000010u; /* 0285F74C */ _t71 = cpu->r[31] + 0x00000044u; /* 0285F74C */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[8]); L_0285F750: ; // 0x285f750 /* 0285F750 */ _t72 = cpu->r[1] + 0x0000000Cu; /* 0285F750 */ cpu->r[29] = rbrew_read32(cpu->mem, _t72); /* 0285F754 */ _t73 = cpu->r[1] + 0x0000001Cu; /* 0285F754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73); /* 0285F758 */ cpu->r[3] = cpu->r[31]; /* 0285F75C */ _t74 = cpu->r[1] + 0x00000010u; /* 0285F75C */ cpu->r[30] = rbrew_read32(cpu->mem, _t74); /* 0285F760 */ cpu->lr = cpu->r[0]; /* 0285F764 */ _t75 = cpu->r[1] + 0x00000014u; /* 0285F764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t75); /* 0285F768 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285F76C */ return; } // fn_0285F5C8 @ 0x285f5c8 void Gambit_fn_0285F5C8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75; L_0285F5C8: ; // 0x285f5c8 /* 0285F5C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285F5C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285F5C8 */ cpu->r[1] = _t0; /* 0285F5CC */ _t1 = cpu->r[1] + 0x00000010u; /* 0285F5CC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285F5D0 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285F5D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285F5D4 */ cpu->r[31] = cpu->r[3]; /* 0285F5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F5D8 */ cpu->r[30] = cpu->r[4]; /* 0285F5DC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285F5DC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285F5E0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0285F5E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0285F5E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F5E4 */ _t6 = _t5 & 0x00000001u; /* 0285F5E4 */ if (_t6) goto L_0285F5E8; else goto L_0285F5F8; L_0285F5E8: ; // 0x285f5e8 /* 0285F5E8 */ cpu->r[3] = 0x000000A4u; /* 0285F5EC */ Gambit_fn_02801A78(cpu); /* 0285F5F0 */ cpu->r[31] = cpu->r[3]; /* 0285F5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F5F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F5F4 */ _t8 = _t7 & 0x00000001u; /* 0285F5F4 */ if (_t8) goto L_0285F750; else goto L_0285F5F8; L_0285F5F8: ; // 0x285f5f8 /* 0285F5F8 */ cpu->r[3] = cpu->r[31]; /* 0285F5FC */ Gambit_fn_0285F020(cpu); /* 0285F600 */ cpu->r[12] = 0x10130000u; /* 0285F604 */ cpu->r[29] = 0x00000000u; /* 0285F608 */ cpu->r[12] = cpu->r[12] + 0x0000509Cu; /* 0285F60C */ _t9 = cpu->r[31] + 0x0000000Cu; /* 0285F60C */ rbrew_write32(cpu->mem, _t9, cpu->r[29]); /* 0285F610 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0285F610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F614 */ _t10 = cpu->r[31] + 0x00000008u; /* 0285F614 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 0285F618 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F618 */ _t12 = _t11 & 0x00000001u; /* 0285F618 */ if (_t12) goto L_0285F61C; else goto L_0285F62C; L_0285F61C: ; // 0x285f61c /* 0285F61C */ cpu->r[3] = 0x0000000Cu; /* 0285F620 */ Gambit_fn_02801A78(cpu); /* 0285F624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F628 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F628 */ _t14 = _t13 & 0x00000001u; /* 0285F628 */ if (_t14) goto L_0285F654; else goto L_0285F62C; L_0285F62C: ; // 0x285f62c /* 0285F62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F630 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F630 */ _t16 = _t15 & 0x00000001u; /* 0285F630 */ if (_t16) goto L_0285F634; else goto L_0285F644; L_0285F634: ; // 0x285f634 /* 0285F634 */ cpu->r[3] = 0x0000000Cu; /* 0285F638 */ Gambit_fn_02801A78(cpu); /* 0285F63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F640 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F640 */ _t18 = _t17 & 0x00000001u; /* 0285F640 */ if (_t18) goto L_0285F654; else goto L_0285F644; L_0285F644: ; // 0x285f644 /* 0285F644 */ cpu->r[11] = cpu->r[3] + 0x00000004u; /* 0285F648 */ _t19 = cpu->r[3] + 0x00000000u; /* 0285F648 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]); /* 0285F64C */ _t20 = cpu->r[11] + 0x00000004u; /* 0285F64C */ rbrew_write32(cpu->mem, _t20, cpu->r[11]); /* 0285F650 */ _t21 = cpu->r[11] + 0x00000000u; /* 0285F650 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]); L_0285F654: ; // 0x285f654 /* 0285F654 */ _t22 = cpu->r[30] + 0x0000001Cu; /* 0285F654 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22); /* 0285F658 */ _t23 = cpu->r[31] + 0x0000001Cu; /* 0285F658 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]); /* 0285F65C */ _t24 = cpu->r[30] + 0x00000020u; /* 0285F65C */ cpu->r[6] = rbrew_read32(cpu->mem, _t24); /* 0285F660 */ _t25 = cpu->r[31] + 0x00000020u; /* 0285F660 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]); /* 0285F664 */ _t26 = cpu->r[30] + 0x00000024u; /* 0285F664 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26); /* 0285F668 */ _t27 = cpu->r[31] + 0x00000024u; /* 0285F668 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]); /* 0285F66C */ _t28 = cpu->r[30] + 0x00000028u; /* 0285F66C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); /* 0285F670 */ _t29 = cpu->r[31] + 0x00000028u; /* 0285F670 */ rbrew_write32(cpu->mem, _t29, cpu->r[10]); /* 0285F674 */ _t30 = cpu->r[30] + 0x0000002Cu; /* 0285F674 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 0285F678 */ _t31 = cpu->r[31] + 0x0000002Cu; /* 0285F678 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]); /* 0285F67C */ _t32 = cpu->r[30] + 0x00000030u; /* 0285F67C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32); /* 0285F680 */ _t33 = cpu->r[31] + 0x00000030u; /* 0285F680 */ rbrew_write32(cpu->mem, _t33, cpu->r[12]); /* 0285F684 */ _t34 = cpu->r[30] + 0x00000034u; /* 0285F684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 0285F688 */ _t35 = cpu->r[31] + 0x00000034u; /* 0285F688 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]); /* 0285F68C */ _t36 = cpu->r[30] + 0x00000038u; /* 0285F68C */ cpu->r[5] = rbrew_read32(cpu->mem, _t36); /* 0285F690 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu; /* 0285F690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F694 */ _t37 = cpu->r[31] + 0x00000038u; /* 0285F694 */ rbrew_write32(cpu->mem, _t37, cpu->r[5]); /* 0285F698 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F698 */ _t39 = _t38 & 0x00000001u; /* 0285F698 */ if (_t39) goto L_0285F69C; else goto L_0285F6AC; L_0285F69C: ; // 0x285f69c /* 0285F69C */ cpu->r[3] = 0x00000008u; /* 0285F6A0 */ Gambit_fn_02801A78(cpu); /* 0285F6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F6A8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F6A8 */ _t41 = _t40 & 0x00000001u; /* 0285F6A8 */ if (_t41) goto L_0285F6BC; else goto L_0285F6AC; L_0285F6AC: ; // 0x285f6ac /* 0285F6AC */ _t42 = cpu->r[30] + 0x0000003Cu; /* 0285F6AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42); /* 0285F6B0 */ _t43 = cpu->r[3] + 0x00000000u; /* 0285F6B0 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]); /* 0285F6B4 */ _t44 = cpu->r[30] + 0x00000040u; /* 0285F6B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44); /* 0285F6B8 */ _t45 = cpu->r[3] + 0x00000004u; /* 0285F6B8 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]); L_0285F6BC: ; // 0x285f6bc /* 0285F6BC */ _t46 = cpu->r[30] + 0x00000044u; /* 0285F6BC */ cpu->r[6] = rbrew_read8(cpu->mem, _t46); /* 0285F6C0 */ _t47 = cpu->r[31] + 0x00000044u; /* 0285F6C0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[6]); /* 0285F6C4 */ _t48 = cpu->r[30] + 0x00000045u; /* 0285F6C4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t48); /* 0285F6C8 */ _t49 = cpu->r[31] + 0x00000045u; /* 0285F6C8 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[7]); /* 0285F6CC */ _t50 = cpu->r[30] + 0x00000046u; /* 0285F6CC */ cpu->r[8] = rbrew_read8(cpu->mem, _t50); /* 0285F6D0 */ cpu->r[12] = cpu->r[30] + 0x00000048u; /* 0285F6D4 */ cpu->r[0] = cpu->r[31] + 0x00000048u; /* 0285F6D8 */ _t51 = cpu->r[31] + 0x00000046u; /* 0285F6D8 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[8]); /* 0285F6DC */ _t52 = cpu->r[30] + 0x00000047u; /* 0285F6DC */ cpu->r[10] = rbrew_read8(cpu->mem, _t52); /* 0285F6E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 0285F6E4 */ _t53 = cpu->r[31] + 0x00000047u; /* 0285F6E4 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[10]); /* 0285F6E8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F6E8 */ _t55 = _t54 & 0x00000001u; /* 0285F6E8 */ if (_t55) goto L_0285F720; else goto L_0285F6EC; L_0285F6EC: ; // 0x285f6ec /* 0285F6EC */ cpu->r[8] = 0x00000003u; /* 0285F6F0 */ cpu->r[6] = cpu->r[30] + 0x00000044u; /* 0285F6F4 */ cpu->ctr = cpu->r[8]; /* 0285F6F8 */ cpu->r[7] = cpu->r[31] + 0x00000044u; L_0285F6FC: ; // 0x285f6fc /* 0285F6FC */ _t56 = cpu->r[6] + 0x00000004u; /* 0285F6FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t56); /* 0285F700 */ _t57 = cpu->r[7] + 0x00000004u; /* 0285F700 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]); /* 0285F704 */ _t58 = cpu->r[6] + 0x00000008u; /* 0285F704 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 0285F708 */ _t59 = cpu->r[7] + 0x00000008u; /* 0285F708 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]); /* 0285F70C */ _t60 = cpu->r[6] + 0x0000000Cu; /* 0285F70C */ cpu->r[11] = rbrew_read32(cpu->mem, _t60); /* 0285F710 */ _t61 = cpu->r[7] + 0x0000000Cu; /* 0285F710 */ rbrew_write32(cpu->mem, _t61, cpu->r[11]); /* 0285F714 */ _t62 = cpu->r[6] + 0x00000010u; /* 0285F714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62); /* 0285F714 */ cpu->r[6] = _t62; /* 0285F718 */ _t63 = cpu->r[7] + 0x00000010u; /* 0285F718 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]); /* 0285F718 */ cpu->r[7] = _t63; /* 0285F71C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0285F71C */ _t64 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0285F71C */ _t65 = _t64 >> (0x00000002u & 31u); /* 0285F71C */ _t66 = _t65 & 0x00000001u; /* 0285F71C */ if (_t66) goto L_0285F6FC; else goto L_0285F720; L_0285F720: ; // 0x285f720 /* 0285F720 */ _t67 = cpu->r[31] + 0x00000078u; /* 0285F720 */ rbrew_write32(cpu->mem, _t67, cpu->r[29]); /* 0285F724 */ _t68 = cpu->r[30] + 0x0000007Cu; /* 0285F724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68); /* 0285F728 */ cpu->r[4] = cpu->r[30] + 0x00000080u; /* 0285F72C */ cpu->r[3] = cpu->r[31]; /* 0285F730 */ _t69 = cpu->r[31] + 0x0000007Cu; /* 0285F730 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]); /* 0285F734 */ Gambit_fn_0285F124(cpu); /* 0285F738 */ cpu->r[4] = cpu->r[30] + 0x00000099u; /* 0285F73C */ Gambit_fn_0285F158(cpu); /* 0285F740 */ _t70 = cpu->r[31] + 0x00000044u; /* 0285F740 */ cpu->r[9] = rbrew_read8(cpu->mem, _t70); /* 0285F744 */ cpu->r[0] = cpu->r[9] & 0x000000CFu; /* 0285F744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F748 */ cpu->r[8] = cpu->r[0] | 0x00000010u; /* 0285F74C */ _t71 = cpu->r[31] + 0x00000044u; /* 0285F74C */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[8]); L_0285F750: ; // 0x285f750 /* 0285F750 */ _t72 = cpu->r[1] + 0x0000000Cu; /* 0285F750 */ cpu->r[29] = rbrew_read32(cpu->mem, _t72); /* 0285F754 */ _t73 = cpu->r[1] + 0x0000001Cu; /* 0285F754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73); /* 0285F758 */ cpu->r[3] = cpu->r[31]; /* 0285F75C */ _t74 = cpu->r[1] + 0x00000010u; /* 0285F75C */ cpu->r[30] = rbrew_read32(cpu->mem, _t74); /* 0285F760 */ cpu->lr = cpu->r[0]; /* 0285F764 */ _t75 = cpu->r[1] + 0x00000014u; /* 0285F764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t75); /* 0285F768 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285F76C */ return; } // fn_0285F770 @ 0x285f770 void Gambit_fn_0285F770(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56; L_0285F770: ; // 0x285f770 /* 0285F770 */ cpu->r[0] = cpu->lr; /* 0285F774 */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 0285F774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285F774 */ cpu->r[1] = _t0; /* 0285F778 */ _t1 = cpu->r[1] + 0x00000044u; /* 0285F778 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285F77C */ /* nop */ /* 0285F780 */ cpu->r[28] = cpu->r[3]; /* 0285F780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0285F784 */ cpu->r[29] = cpu->r[4]; /* 0285F788 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F788 */ _t3 = _t2 & 0x00000001u; /* 0285F788 */ if (_t3) goto L_0285F914; else goto L_0285F78C; L_0285F78C: ; // 0x285f78c /* 0285F78C */ _t4 = cpu->r[28] + 0x00000014u; /* 0285F78C */ cpu->r[26] = rbrew_read32(cpu->mem, _t4); /* 0285F790 */ cpu->r[27] = cpu->r[28] + 0x00000014u; /* 0285F794 */ cpu->r[10] = cpu->r[26] ^ cpu->r[27]; /* 0285F798 */ cpu->r[11] = rbrew_clz32(cpu->r[10]); /* 0285F79C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285F7A0 */ cpu->r[8] = 0x10130000u; /* 0285F7A4 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u; /* 0285F7A8 */ cpu->r[8] = cpu->r[8] + 0x0000509Cu; /* 0285F7AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285F7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F7B0 */ _t5 = cpu->r[28] + 0x00000008u; /* 0285F7B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 0285F7B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F7B4 */ _t7 = _t6 & 0x00000001u; /* 0285F7B4 */ if (_t7) goto L_0285F904; else goto L_0285F7B8; L_0285F7B8: ; // 0x285f7b8 /* 0285F7B8 */ cpu->r[30] = 0x101D0000u; /* 0285F7BC */ cpu->r[21] = 0x101D0000u; /* 0285F7C0 */ cpu->r[22] = 0x101D0000u; /* 0285F7C4 */ cpu->r[30] = cpu->r[30] + 0x00000F5Cu; /* 0285F7C8 */ cpu->r[21] = cpu->r[21] + 0x00000F38u; /* 0285F7CC */ cpu->r[23] = 0x00000001u; /* 0285F7D0 */ cpu->r[24] = 0x101D0000u; /* 0285F7D4 */ cpu->r[25] = 0x00000000u; L_0285F7D8: ; // 0x285f7d8 /* 0285F7D8 */ cpu->r[31] = cpu->r[26]; /* 0285F7DC */ _t8 = cpu->r[26] + 0x00000000u; /* 0285F7DC */ cpu->r[26] = rbrew_read32(cpu->mem, _t8); /* 0285F7E0 */ cpu->r[3] = cpu->r[28] + 0x00000010u; /* 0285F7E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285F7E8 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285F7E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]); /* 0285F7EC */ Gambit_fn_02854250(cpu); /* 0285F7F0 */ _t10 = cpu->r[31] + 0x00000044u; /* 0285F7F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 0285F7F4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Cu); /* 0285F7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F7F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F7F8 */ _t12 = _t11 & 0x00000001u; /* 0285F7F8 */ if (_t12) goto L_0285F7FC; else goto L_0285F8EC; L_0285F7FC: ; // 0x285f7fc /* 0285F7FC */ _t13 = cpu->r[24] + 0xFFFFD7F4u; /* 0285F7FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 0285F800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285F804 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F804 */ _t15 = _t14 & 0x00000001u; /* 0285F804 */ if (_t15) goto L_0285F808; else goto L_0285F824; L_0285F808: ; // 0x285f808 /* 0285F808 */ _t16 = cpu->r[22] + 0xFFFFD7ECu; /* 0285F808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0285F80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F810 */ _t17 = cpu->r[24] + 0xFFFFD7F4u; /* 0285F810 */ rbrew_write32(cpu->mem, _t17, cpu->r[23]); /* 0285F814 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F814 */ _t19 = _t18 & 0x00000001u; /* 0285F814 */ if (_t19) goto L_0285F818; else goto L_0285F820; L_0285F818: ; // 0x285f818 /* 0285F818 */ _t20 = cpu->r[21] + 0x00000000u; /* 0285F818 */ rbrew_write32(cpu->mem, _t20, cpu->r[25]); /* 0285F81C */ _t21 = cpu->r[22] + 0xFFFFD7ECu; /* 0285F81C */ rbrew_write32(cpu->mem, _t21, cpu->r[23]); L_0285F820: ; // 0x285f820 /* 0285F820 */ _t22 = cpu->r[30] + 0x00000000u; /* 0285F820 */ rbrew_write32(cpu->mem, _t22, cpu->r[21]); L_0285F824: ; // 0x285f824 /* 0285F824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F828 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F828 */ _t24 = _t23 & 0x00000001u; /* 0285F828 */ if (_t24) goto L_0285F8C4; else goto L_0285F82C; L_0285F82C: ; // 0x285f82c /* 0285F82C */ _t25 = cpu->r[31] + 0x00000008u; /* 0285F82C */ cpu->r[9] = rbrew_read32(cpu->mem, _t25); /* 0285F830 */ _t26 = cpu->r[9] + 0x00000014u; /* 0285F830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0285F834 */ cpu->ctr = cpu->r[0]; /* 0285F838 */ cpu->r[3] = cpu->r[31]; /* 0285F83C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285F840 */ cpu->r[12] = cpu->r[3]; /* 0285F840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F844 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F844 */ _t28 = _t27 & 0x00000001u; /* 0285F844 */ if (_t28) goto L_0285F8C4; else goto L_0285F848; L_0285F848: ; // 0x285f848 /* 0285F848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]); /* 0285F84C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F84C */ _t30 = _t29 & 0x00000001u; /* 0285F84C */ if (_t30) goto L_0285F874; else goto L_0285F850; L_0285F850: ; // 0x285f850 /* 0285F850 */ _t31 = cpu->r[12] + 0x00000000u; /* 0285F850 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 0285F854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F858 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F858 */ _t33 = _t32 & 0x00000001u; /* 0285F858 */ if (_t33) goto L_0285F8C4; else goto L_0285F85C; L_0285F85C: ; // 0x285f85c /* 0285F85C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]); /* 0285F860 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F860 */ _t35 = _t34 & 0x00000001u; /* 0285F860 */ if (_t35) goto L_0285F874; else goto L_0285F864; L_0285F864: ; // 0x285f864 /* 0285F864 */ _t36 = cpu->r[12] + 0x00000000u; /* 0285F864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36); /* 0285F868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F86C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F86C */ _t38 = _t37 & 0x00000001u; /* 0285F86C */ if (_t38) goto L_0285F870; else goto L_0285F85C; L_0285F870: ; // 0x285f870 /* 0285F870 */ goto L_0285F8C4; L_0285F874: ; // 0x285f874 /* 0285F874 */ cpu->r[12] = cpu->r[31]; /* 0285F874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F878 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F878 */ _t40 = _t39 & 0x00000001u; /* 0285F878 */ if (_t40) goto L_0285F8C4; else goto L_0285F87C; L_0285F87C: ; // 0x285f87c /* 0285F87C */ _t41 = cpu->r[12] + 0x000000ACu; /* 0285F87C */ cpu->r[20] = rbrew_read32(cpu->mem, _t41); /* 0285F880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 0285F884 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F884 */ _t43 = _t42 & 0x00000001u; /* 0285F884 */ if (_t43) goto L_0285F8C4; else goto L_0285F888; L_0285F888: ; // 0x285f888 /* 0285F888 */ _t44 = cpu->r[20] + 0x00000038u; /* 0285F888 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44); /* 0285F88C */ _t45 = cpu->r[11] + 0x00000014u; /* 0285F88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 0285F890 */ cpu->ctr = cpu->r[0]; /* 0285F894 */ cpu->r[3] = cpu->r[20]; /* 0285F898 */ cpu->r[4] = 0x00000002u; /* 0285F89C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285F8A0 */ cpu->r[3] = cpu->r[20]; /* 0285F8A4 */ Gambit_fn_02869EAC(cpu); /* 0285F8A8 */ cpu->r[9] = cpu->r[26] ^ cpu->r[27]; /* 0285F8AC */ cpu->r[0] = rbrew_clz32(cpu->r[9]); /* 0285F8B0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285F8B4 */ cpu->r[11] = cpu->r[8] ^ 0x00000001u; /* 0285F8B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285F8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F8BC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F8BC */ _t47 = _t46 & 0x00000001u; /* 0285F8BC */ if (_t47) goto L_0285F8C0; else goto L_0285F7D8; L_0285F8C0: ; // 0x285f8c0 /* 0285F8C0 */ goto L_0285F904; L_0285F8C4: ; // 0x285f8c4 /* 0285F8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F8C8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F8C8 */ _t49 = _t48 & 0x00000001u; /* 0285F8C8 */ if (_t49) goto L_0285F8EC; else goto L_0285F8CC; L_0285F8CC: ; // 0x285f8cc /* 0285F8CC */ _t50 = cpu->r[31] + 0x00000008u; /* 0285F8CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t50); /* 0285F8D0 */ _t51 = cpu->r[12] + 0x0000000Cu; /* 0285F8D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51); /* 0285F8D4 */ cpu->ctr = cpu->r[7]; /* 0285F8D8 */ cpu->r[3] = cpu->r[31]; /* 0285F8DC */ cpu->r[4] = 0x00000002u; /* 0285F8E0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285F8E4 */ cpu->r[3] = cpu->r[31]; /* 0285F8E8 */ Gambit_fn_02869EAC(cpu); L_0285F8EC: ; // 0x285f8ec /* 0285F8EC */ cpu->r[9] = cpu->r[26] ^ cpu->r[27]; /* 0285F8F0 */ cpu->r[0] = rbrew_clz32(cpu->r[9]); /* 0285F8F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285F8F8 */ cpu->r[11] = cpu->r[8] ^ 0x00000001u; /* 0285F8FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285F8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F900 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F900 */ _t53 = _t52 & 0x00000001u; /* 0285F900 */ if (_t53) goto L_0285F904; else goto L_0285F7D8; L_0285F904: ; // 0x285f904 /* 0285F904 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285F904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285F908 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F908 */ _t55 = _t54 & 0x00000001u; /* 0285F908 */ if (_t55) goto L_0285F914; else goto L_0285F90C; L_0285F90C: ; // 0x285f90c /* 0285F90C */ cpu->r[3] = cpu->r[28]; /* 0285F910 */ Gambit_fn_02801BB0(cpu); L_0285F914: ; // 0x285f914 /* 0285F914 */ /* nop */ /* 0285F918 */ _t56 = cpu->r[1] + 0x00000044u; /* 0285F918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 0285F91C */ cpu->lr = cpu->r[0]; /* 0285F920 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 0285F924 */ return; } // fn_0285F774 @ 0x285f774 void Gambit_fn_0285F774(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56; L_0285F774: ; // 0x285f774 /* 0285F774 */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 0285F774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285F774 */ cpu->r[1] = _t0; /* 0285F778 */ _t1 = cpu->r[1] + 0x00000044u; /* 0285F778 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285F77C */ /* nop */ /* 0285F780 */ cpu->r[28] = cpu->r[3]; /* 0285F780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0285F784 */ cpu->r[29] = cpu->r[4]; /* 0285F788 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F788 */ _t3 = _t2 & 0x00000001u; /* 0285F788 */ if (_t3) goto L_0285F914; else goto L_0285F78C; L_0285F78C: ; // 0x285f78c /* 0285F78C */ _t4 = cpu->r[28] + 0x00000014u; /* 0285F78C */ cpu->r[26] = rbrew_read32(cpu->mem, _t4); /* 0285F790 */ cpu->r[27] = cpu->r[28] + 0x00000014u; /* 0285F794 */ cpu->r[10] = cpu->r[26] ^ cpu->r[27]; /* 0285F798 */ cpu->r[11] = rbrew_clz32(cpu->r[10]); /* 0285F79C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285F7A0 */ cpu->r[8] = 0x10130000u; /* 0285F7A4 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u; /* 0285F7A8 */ cpu->r[8] = cpu->r[8] + 0x0000509Cu; /* 0285F7AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285F7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F7B0 */ _t5 = cpu->r[28] + 0x00000008u; /* 0285F7B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 0285F7B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F7B4 */ _t7 = _t6 & 0x00000001u; /* 0285F7B4 */ if (_t7) goto L_0285F904; else goto L_0285F7B8; L_0285F7B8: ; // 0x285f7b8 /* 0285F7B8 */ cpu->r[30] = 0x101D0000u; /* 0285F7BC */ cpu->r[21] = 0x101D0000u; /* 0285F7C0 */ cpu->r[22] = 0x101D0000u; /* 0285F7C4 */ cpu->r[30] = cpu->r[30] + 0x00000F5Cu; /* 0285F7C8 */ cpu->r[21] = cpu->r[21] + 0x00000F38u; /* 0285F7CC */ cpu->r[23] = 0x00000001u; /* 0285F7D0 */ cpu->r[24] = 0x101D0000u; /* 0285F7D4 */ cpu->r[25] = 0x00000000u; L_0285F7D8: ; // 0x285f7d8 /* 0285F7D8 */ cpu->r[31] = cpu->r[26]; /* 0285F7DC */ _t8 = cpu->r[26] + 0x00000000u; /* 0285F7DC */ cpu->r[26] = rbrew_read32(cpu->mem, _t8); /* 0285F7E0 */ cpu->r[3] = cpu->r[28] + 0x00000010u; /* 0285F7E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285F7E8 */ _t9 = cpu->r[1] + 0x00000008u; /* 0285F7E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]); /* 0285F7EC */ Gambit_fn_02854250(cpu); /* 0285F7F0 */ _t10 = cpu->r[31] + 0x00000044u; /* 0285F7F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 0285F7F4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Cu); /* 0285F7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F7F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F7F8 */ _t12 = _t11 & 0x00000001u; /* 0285F7F8 */ if (_t12) goto L_0285F7FC; else goto L_0285F8EC; L_0285F7FC: ; // 0x285f7fc /* 0285F7FC */ _t13 = cpu->r[24] + 0xFFFFD7F4u; /* 0285F7FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 0285F800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285F804 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F804 */ _t15 = _t14 & 0x00000001u; /* 0285F804 */ if (_t15) goto L_0285F808; else goto L_0285F824; L_0285F808: ; // 0x285f808 /* 0285F808 */ _t16 = cpu->r[22] + 0xFFFFD7ECu; /* 0285F808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0285F80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F810 */ _t17 = cpu->r[24] + 0xFFFFD7F4u; /* 0285F810 */ rbrew_write32(cpu->mem, _t17, cpu->r[23]); /* 0285F814 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F814 */ _t19 = _t18 & 0x00000001u; /* 0285F814 */ if (_t19) goto L_0285F818; else goto L_0285F820; L_0285F818: ; // 0x285f818 /* 0285F818 */ _t20 = cpu->r[21] + 0x00000000u; /* 0285F818 */ rbrew_write32(cpu->mem, _t20, cpu->r[25]); /* 0285F81C */ _t21 = cpu->r[22] + 0xFFFFD7ECu; /* 0285F81C */ rbrew_write32(cpu->mem, _t21, cpu->r[23]); L_0285F820: ; // 0x285f820 /* 0285F820 */ _t22 = cpu->r[30] + 0x00000000u; /* 0285F820 */ rbrew_write32(cpu->mem, _t22, cpu->r[21]); L_0285F824: ; // 0x285f824 /* 0285F824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F828 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F828 */ _t24 = _t23 & 0x00000001u; /* 0285F828 */ if (_t24) goto L_0285F8C4; else goto L_0285F82C; L_0285F82C: ; // 0x285f82c /* 0285F82C */ _t25 = cpu->r[31] + 0x00000008u; /* 0285F82C */ cpu->r[9] = rbrew_read32(cpu->mem, _t25); /* 0285F830 */ _t26 = cpu->r[9] + 0x00000014u; /* 0285F830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0285F834 */ cpu->ctr = cpu->r[0]; /* 0285F838 */ cpu->r[3] = cpu->r[31]; /* 0285F83C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285F840 */ cpu->r[12] = cpu->r[3]; /* 0285F840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F844 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F844 */ _t28 = _t27 & 0x00000001u; /* 0285F844 */ if (_t28) goto L_0285F8C4; else goto L_0285F848; L_0285F848: ; // 0x285f848 /* 0285F848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]); /* 0285F84C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F84C */ _t30 = _t29 & 0x00000001u; /* 0285F84C */ if (_t30) goto L_0285F874; else goto L_0285F850; L_0285F850: ; // 0x285f850 /* 0285F850 */ _t31 = cpu->r[12] + 0x00000000u; /* 0285F850 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 0285F854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F858 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F858 */ _t33 = _t32 & 0x00000001u; /* 0285F858 */ if (_t33) goto L_0285F8C4; else goto L_0285F85C; L_0285F85C: ; // 0x285f85c /* 0285F85C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]); /* 0285F860 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F860 */ _t35 = _t34 & 0x00000001u; /* 0285F860 */ if (_t35) goto L_0285F874; else goto L_0285F864; L_0285F864: ; // 0x285f864 /* 0285F864 */ _t36 = cpu->r[12] + 0x00000000u; /* 0285F864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36); /* 0285F868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F86C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F86C */ _t38 = _t37 & 0x00000001u; /* 0285F86C */ if (_t38) goto L_0285F870; else goto L_0285F85C; L_0285F870: ; // 0x285f870 /* 0285F870 */ goto L_0285F8C4; L_0285F874: ; // 0x285f874 /* 0285F874 */ cpu->r[12] = cpu->r[31]; /* 0285F874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F878 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F878 */ _t40 = _t39 & 0x00000001u; /* 0285F878 */ if (_t40) goto L_0285F8C4; else goto L_0285F87C; L_0285F87C: ; // 0x285f87c /* 0285F87C */ _t41 = cpu->r[12] + 0x000000ACu; /* 0285F87C */ cpu->r[20] = rbrew_read32(cpu->mem, _t41); /* 0285F880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 0285F884 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F884 */ _t43 = _t42 & 0x00000001u; /* 0285F884 */ if (_t43) goto L_0285F8C4; else goto L_0285F888; L_0285F888: ; // 0x285f888 /* 0285F888 */ _t44 = cpu->r[20] + 0x00000038u; /* 0285F888 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44); /* 0285F88C */ _t45 = cpu->r[11] + 0x00000014u; /* 0285F88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 0285F890 */ cpu->ctr = cpu->r[0]; /* 0285F894 */ cpu->r[3] = cpu->r[20]; /* 0285F898 */ cpu->r[4] = 0x00000002u; /* 0285F89C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285F8A0 */ cpu->r[3] = cpu->r[20]; /* 0285F8A4 */ Gambit_fn_02869EAC(cpu); /* 0285F8A8 */ cpu->r[9] = cpu->r[26] ^ cpu->r[27]; /* 0285F8AC */ cpu->r[0] = rbrew_clz32(cpu->r[9]); /* 0285F8B0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285F8B4 */ cpu->r[11] = cpu->r[8] ^ 0x00000001u; /* 0285F8B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285F8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F8BC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F8BC */ _t47 = _t46 & 0x00000001u; /* 0285F8BC */ if (_t47) goto L_0285F8C0; else goto L_0285F7D8; L_0285F8C0: ; // 0x285f8c0 /* 0285F8C0 */ goto L_0285F904; L_0285F8C4: ; // 0x285f8c4 /* 0285F8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285F8C8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F8C8 */ _t49 = _t48 & 0x00000001u; /* 0285F8C8 */ if (_t49) goto L_0285F8EC; else goto L_0285F8CC; L_0285F8CC: ; // 0x285f8cc /* 0285F8CC */ _t50 = cpu->r[31] + 0x00000008u; /* 0285F8CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t50); /* 0285F8D0 */ _t51 = cpu->r[12] + 0x0000000Cu; /* 0285F8D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51); /* 0285F8D4 */ cpu->ctr = cpu->r[7]; /* 0285F8D8 */ cpu->r[3] = cpu->r[31]; /* 0285F8DC */ cpu->r[4] = 0x00000002u; /* 0285F8E0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285F8E4 */ cpu->r[3] = cpu->r[31]; /* 0285F8E8 */ Gambit_fn_02869EAC(cpu); L_0285F8EC: ; // 0x285f8ec /* 0285F8EC */ cpu->r[9] = cpu->r[26] ^ cpu->r[27]; /* 0285F8F0 */ cpu->r[0] = rbrew_clz32(cpu->r[9]); /* 0285F8F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285F8F8 */ cpu->r[11] = cpu->r[8] ^ 0x00000001u; /* 0285F8FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285F8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F900 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F900 */ _t53 = _t52 & 0x00000001u; /* 0285F900 */ if (_t53) goto L_0285F904; else goto L_0285F7D8; L_0285F904: ; // 0x285f904 /* 0285F904 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285F904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0285F908 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F908 */ _t55 = _t54 & 0x00000001u; /* 0285F908 */ if (_t55) goto L_0285F914; else goto L_0285F90C; L_0285F90C: ; // 0x285f90c /* 0285F90C */ cpu->r[3] = cpu->r[28]; /* 0285F910 */ Gambit_fn_02801BB0(cpu); L_0285F914: ; // 0x285f914 /* 0285F914 */ /* nop */ /* 0285F918 */ _t56 = cpu->r[1] + 0x00000044u; /* 0285F918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 0285F91C */ cpu->lr = cpu->r[0]; /* 0285F920 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 0285F924 */ return; } // fn_0285F928 @ 0x285f928 void Gambit_fn_0285F928(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27; L_0285F928: ; // 0x285f928 /* 0285F928 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285F928 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285F928 */ cpu->r[1] = _t0; /* 0285F92C */ cpu->r[11] = 0x10130000u; /* 0285F930 */ _t1 = cpu->r[3] + 0x00000047u; /* 0285F930 */ cpu->r[9] = rbrew_read8(cpu->mem, _t1); /* 0285F934 */ cpu->r[10] = 0x10130000u; /* 0285F938 */ _t2 = cpu->r[11] + 0x00005070u; /* 0285F938 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2); /* 0285F93C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0285F93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285F940 */ _t3 = cpu->r[10] + 0x0000506Cu; /* 0285F940 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3); /* 0285F944 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F944 */ _t5 = _t4 & 0x00000001u; /* 0285F944 */ if (_t5) goto L_0285F970; else goto L_0285F948; L_0285F948: ; // 0x285f948 /* 0285F948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 0285F94C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F94C */ _t7 = _t6 & 0x00000001u; /* 0285F94C */ if (_t7) goto L_0285F988; else goto L_0285F950; L_0285F950: ; // 0x285f950 /* 0285F950 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 0285F950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F954 */ cpu->f[12] = cpu->f[0]; /* 0285F958 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F958 */ _t9 = _t8 & 0x00000001u; /* 0285F958 */ if (_t9) goto L_0285F95C; else goto L_0285F998; L_0285F95C: ; // 0x285f95c /* 0285F95C */ _t10 = cpu->r[3] + 0x00000040u; /* 0285F95C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10); /* 0285F960 */ cpu->f[0] = cpu->f[0] * cpu->f[13]; /* 0285F964 */ _t11 = cpu->r[1] + 0x00000008u; /* 0285F964 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]); /* 0285F968 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0285F968 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]); /* 0285F96C */ goto L_0285F9B8; L_0285F970: ; // 0x285f970 /* 0285F970 */ _t13 = cpu->r[3] + 0x0000003Cu; /* 0285F970 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13); /* 0285F974 */ cpu->f[12] = cpu->f[12] * cpu->f[13]; /* 0285F978 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 0285F978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F97C */ cpu->f[12] = -cpu->f[12]; /* 0285F980 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F980 */ _t15 = _t14 & 0x00000001u; /* 0285F980 */ if (_t15) goto L_0285F95C; else goto L_0285F984; L_0285F984: ; // 0x285f984 /* 0285F984 */ goto L_0285F998; L_0285F988: ; // 0x285f988 /* 0285F988 */ _t16 = cpu->r[3] + 0x0000003Cu; /* 0285F988 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16); /* 0285F98C */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 0285F98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285F990 */ cpu->f[12] = -cpu->f[12]; /* 0285F994 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F994 */ _t18 = _t17 & 0x00000001u; /* 0285F994 */ if (_t18) goto L_0285F95C; else goto L_0285F998; L_0285F998: ; // 0x285f998 /* 0285F998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u); /* 0285F99C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F99C */ _t20 = _t19 & 0x00000001u; /* 0285F99C */ if (_t20) goto L_0285F9AC; else goto L_0285F9A0; L_0285F9A0: ; // 0x285f9a0 /* 0285F9A0 */ _t21 = cpu->r[1] + 0x00000008u; /* 0285F9A0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]); /* 0285F9A4 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 0285F9A4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]); /* 0285F9A8 */ goto L_0285F9B8; L_0285F9AC: ; // 0x285f9ac /* 0285F9AC */ _t23 = cpu->r[3] + 0x00000040u; /* 0285F9AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23); /* 0285F9B0 */ _t24 = cpu->r[1] + 0x00000008u; /* 0285F9B0 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]); /* 0285F9B4 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0285F9B4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]); L_0285F9B8: ; // 0x285f9b8 /* 0285F9B8 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 0285F9B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26); /* 0285F9BC */ _t27 = cpu->r[1] + 0x00000008u; /* 0285F9BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t27); /* 0285F9C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285F9C4 */ return; } // fn_0285F9C8 @ 0x285f9c8 void Gambit_fn_0285F9C8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25; L_0285F9C8: ; // 0x285f9c8 /* 0285F9C8 */ cpu->r[0] = cpu->lr; /* 0285F9CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285F9CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285F9CC */ cpu->r[1] = _t0; /* 0285F9D0 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285F9D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285F9D4 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285F9D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285F9D8 */ cpu->r[30] = cpu->r[4]; /* 0285F9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285F9DC */ cpu->r[31] = cpu->r[3]; /* 0285F9E0 */ cpu->r[3] = cpu->r[30]; /* 0285F9E4 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285F9E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285F9E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F9E8 */ _t5 = _t4 & 0x00000001u; /* 0285F9E8 */ if (_t5) goto L_0285F9EC; else goto L_0285F9FC; L_0285F9EC: ; // 0x285f9ec /* 0285F9EC */ cpu->r[3] = 0x00000010u; /* 0285F9F0 */ Gambit_fn_02801A78(cpu); /* 0285F9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F9F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F9F8 */ _t7 = _t6 & 0x00000001u; /* 0285F9F8 */ if (_t7) goto L_0285FA14; else goto L_0285F9FC; L_0285F9FC: ; // 0x285f9fc /* 0285F9FC */ cpu->r[12] = 0x10130000u; /* 0285FA00 */ _t8 = cpu->r[12] + 0x0000506Cu; /* 0285FA00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8); /* 0285FA04 */ _t9 = cpu->r[3] + 0x0000000Cu; /* 0285FA04 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]); /* 0285FA08 */ _t10 = cpu->r[3] + 0x00000000u; /* 0285FA08 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]); /* 0285FA0C */ _t11 = cpu->r[3] + 0x00000008u; /* 0285FA0C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); /* 0285FA10 */ _t12 = cpu->r[3] + 0x00000004u; /* 0285FA10 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]); L_0285FA14: ; // 0x285fa14 /* 0285FA14 */ cpu->r[3] = cpu->r[31]; /* 0285FA18 */ Gambit_fn_0285F928(cpu); /* 0285FA1C */ _t13 = cpu->r[1] + 0x00000008u; /* 0285FA1C */ rbrew_write32(cpu->mem, _t13, cpu->r[3]); /* 0285FA20 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285FA20 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14); /* 0285FA24 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0285FA24 */ rbrew_write32(cpu->mem, _t15, cpu->r[4]); /* 0285FA28 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285FA28 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16); /* 0285FA2C */ _t17 = cpu->r[30] + 0x00000000u; /* 0285FA2C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]); /* 0285FA30 */ _t18 = cpu->r[30] + 0x00000004u; /* 0285FA30 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]); /* 0285FA34 */ _t19 = cpu->r[31] + 0x0000003Cu; /* 0285FA34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19); /* 0285FA38 */ cpu->f[0] = cpu->f[0] + cpu->f[12]; /* 0285FA3C */ _t20 = cpu->r[30] + 0x00000008u; /* 0285FA3C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]); /* 0285FA40 */ _t21 = cpu->r[31] + 0x00000040u; /* 0285FA40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21); /* 0285FA44 */ cpu->f[13] = cpu->f[13] - cpu->f[0]; /* 0285FA48 */ _t22 = cpu->r[30] + 0x0000000Cu; /* 0285FA48 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]); /* 0285FA4C */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0285FA4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0285FA50 */ _t24 = cpu->r[1] + 0x00000010u; /* 0285FA50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0285FA54 */ cpu->lr = cpu->r[0]; /* 0285FA58 */ _t25 = cpu->r[1] + 0x00000014u; /* 0285FA58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0285FA5C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285FA60 */ return; } // fn_0285F9CC @ 0x285f9cc void Gambit_fn_0285F9CC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25; L_0285F9CC: ; // 0x285f9cc /* 0285F9CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285F9CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285F9CC */ cpu->r[1] = _t0; /* 0285F9D0 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285F9D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285F9D4 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285F9D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285F9D8 */ cpu->r[30] = cpu->r[4]; /* 0285F9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285F9DC */ cpu->r[31] = cpu->r[3]; /* 0285F9E0 */ cpu->r[3] = cpu->r[30]; /* 0285F9E4 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285F9E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285F9E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F9E8 */ _t5 = _t4 & 0x00000001u; /* 0285F9E8 */ if (_t5) goto L_0285F9EC; else goto L_0285F9FC; L_0285F9EC: ; // 0x285f9ec /* 0285F9EC */ cpu->r[3] = 0x00000010u; /* 0285F9F0 */ Gambit_fn_02801A78(cpu); /* 0285F9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285F9F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285F9F8 */ _t7 = _t6 & 0x00000001u; /* 0285F9F8 */ if (_t7) goto L_0285FA14; else goto L_0285F9FC; L_0285F9FC: ; // 0x285f9fc /* 0285F9FC */ cpu->r[12] = 0x10130000u; /* 0285FA00 */ _t8 = cpu->r[12] + 0x0000506Cu; /* 0285FA00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8); /* 0285FA04 */ _t9 = cpu->r[3] + 0x0000000Cu; /* 0285FA04 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]); /* 0285FA08 */ _t10 = cpu->r[3] + 0x00000000u; /* 0285FA08 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]); /* 0285FA0C */ _t11 = cpu->r[3] + 0x00000008u; /* 0285FA0C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); /* 0285FA10 */ _t12 = cpu->r[3] + 0x00000004u; /* 0285FA10 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]); L_0285FA14: ; // 0x285fa14 /* 0285FA14 */ cpu->r[3] = cpu->r[31]; /* 0285FA18 */ Gambit_fn_0285F928(cpu); /* 0285FA1C */ _t13 = cpu->r[1] + 0x00000008u; /* 0285FA1C */ rbrew_write32(cpu->mem, _t13, cpu->r[3]); /* 0285FA20 */ _t14 = cpu->r[1] + 0x00000008u; /* 0285FA20 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14); /* 0285FA24 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0285FA24 */ rbrew_write32(cpu->mem, _t15, cpu->r[4]); /* 0285FA28 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0285FA28 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16); /* 0285FA2C */ _t17 = cpu->r[30] + 0x00000000u; /* 0285FA2C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]); /* 0285FA30 */ _t18 = cpu->r[30] + 0x00000004u; /* 0285FA30 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]); /* 0285FA34 */ _t19 = cpu->r[31] + 0x0000003Cu; /* 0285FA34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19); /* 0285FA38 */ cpu->f[0] = cpu->f[0] + cpu->f[12]; /* 0285FA3C */ _t20 = cpu->r[30] + 0x00000008u; /* 0285FA3C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]); /* 0285FA40 */ _t21 = cpu->r[31] + 0x00000040u; /* 0285FA40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21); /* 0285FA44 */ cpu->f[13] = cpu->f[13] - cpu->f[0]; /* 0285FA48 */ _t22 = cpu->r[30] + 0x0000000Cu; /* 0285FA48 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]); /* 0285FA4C */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0285FA4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0285FA50 */ _t24 = cpu->r[1] + 0x00000010u; /* 0285FA50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0285FA54 */ cpu->lr = cpu->r[0]; /* 0285FA58 */ _t25 = cpu->r[1] + 0x00000014u; /* 0285FA58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0285FA5C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285FA60 */ return; } // fn_0285FA64 @ 0x285fa64 void Gambit_fn_0285FA64(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0285FA64: ; // 0x285fa64 /* 0285FA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000010u); /* 0285FA68 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FA68 */ _t1 = _t0 & 0x00000001u; /* 0285FA68 */ if (_t1) goto L_0285FA6C; else goto L_0285FA74; L_0285FA6C: ; // 0x285fa6c /* 0285FA6C */ _t2 = cpu->r[3] + 0x00000045u; /* 0285FA6C */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[5]); /* 0285FA70 */ return; L_0285FA74: ; // 0x285fa74 /* 0285FA74 */ _t3 = cpu->r[3] + 0x00000008u; /* 0285FA74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0285FA78 */ _t4 = cpu->r[12] + 0x00000044u; /* 0285FA78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285FA7C */ cpu->ctr = cpu->r[0]; /* 0285FA80 */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_0285FA84 @ 0x285fa84 void Gambit_fn_0285FA84(CPUState* cpu) { L_0285FA84: ; // 0x285fa84 /* 0285FA84 */ return; } // fn_0285FA88 @ 0x285fa88 void Gambit_fn_0285FA88(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_0285FA88: ; // 0x285fa88 /* 0285FA88 */ cpu->r[0] = cpu->lr; /* 0285FA8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285FA8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FA8C */ cpu->r[1] = _t0; /* 0285FA90 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285FA90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285FA94 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285FA94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285FA98 */ _t3 = cpu->r[3] + 0x00000008u; /* 0285FA98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0285FA9C */ _t4 = cpu->r[12] + 0x00000054u; /* 0285FA9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285FAA0 */ cpu->ctr = cpu->r[0]; /* 0285FAA4 */ cpu->r[31] = cpu->r[3]; /* 0285FAA8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285FAAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000000u); /* 0285FAB0 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285FAB0 */ _t6 = _t5 & 0x00000001u; /* 0285FAB0 */ if (_t6) goto L_0285FAB4; else goto L_0285FAE0; L_0285FAB4: ; // 0x285fab4 /* 0285FAB4 */ _t7 = cpu->r[31] + 0x00000008u; /* 0285FAB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 0285FAB8 */ _t8 = cpu->r[10] + 0x0000004Cu; /* 0285FAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285FABC */ cpu->ctr = cpu->r[0]; /* 0285FAC0 */ cpu->r[3] = cpu->r[31]; /* 0285FAC4 */ cpu->r[4] = 0x00000000u; /* 0285FAC8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285FACC */ _t9 = cpu->r[1] + 0x00000014u; /* 0285FACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285FAD0 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285FAD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285FAD4 */ cpu->lr = cpu->r[0]; /* 0285FAD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285FADC */ return; L_0285FAE0: ; // 0x285fae0 /* 0285FAE0 */ _t11 = cpu->r[1] + 0x00000014u; /* 0285FAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0285FAE4 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0285FAE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 0285FAE8 */ cpu->lr = cpu->r[0]; /* 0285FAEC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285FAF0 */ cpu->r[3] = 0x00000000u; /* 0285FAF4 */ return; } // fn_0285FA8C @ 0x285fa8c void Gambit_fn_0285FA8C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_0285FA8C: ; // 0x285fa8c /* 0285FA8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285FA8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FA8C */ cpu->r[1] = _t0; /* 0285FA90 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285FA90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285FA94 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285FA94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285FA98 */ _t3 = cpu->r[3] + 0x00000008u; /* 0285FA98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0285FA9C */ _t4 = cpu->r[12] + 0x00000054u; /* 0285FA9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285FAA0 */ cpu->ctr = cpu->r[0]; /* 0285FAA4 */ cpu->r[31] = cpu->r[3]; /* 0285FAA8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285FAAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000000u); /* 0285FAB0 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 0285FAB0 */ _t6 = _t5 & 0x00000001u; /* 0285FAB0 */ if (_t6) goto L_0285FAB4; else goto L_0285FAE0; L_0285FAB4: ; // 0x285fab4 /* 0285FAB4 */ _t7 = cpu->r[31] + 0x00000008u; /* 0285FAB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 0285FAB8 */ _t8 = cpu->r[10] + 0x0000004Cu; /* 0285FAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285FABC */ cpu->ctr = cpu->r[0]; /* 0285FAC0 */ cpu->r[3] = cpu->r[31]; /* 0285FAC4 */ cpu->r[4] = 0x00000000u; /* 0285FAC8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285FACC */ _t9 = cpu->r[1] + 0x00000014u; /* 0285FACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285FAD0 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0285FAD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285FAD4 */ cpu->lr = cpu->r[0]; /* 0285FAD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285FADC */ return; L_0285FAE0: ; // 0x285fae0 /* 0285FAE0 */ _t11 = cpu->r[1] + 0x00000014u; /* 0285FAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0285FAE4 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0285FAE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 0285FAE8 */ cpu->lr = cpu->r[0]; /* 0285FAEC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285FAF0 */ cpu->r[3] = 0x00000000u; /* 0285FAF4 */ return; } // fn_0285FAF8 @ 0x285faf8 void Gambit_fn_0285FAF8(CPUState* cpu) { L_0285FAF8: ; // 0x285faf8 /* 0285FAF8 */ cpu->r[3] = 0x00000000u; /* 0285FAFC */ return; } // fn_0285FB00 @ 0x285fb00 void Gambit_fn_0285FB00(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285FB00: ; // 0x285fb00 /* 0285FB00 */ _t0 = cpu->r[3] + 0x0000007Cu; /* 0285FB00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0285FB04 */ cpu->r[3] = 0x00000000u; /* 0285FB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285FB0C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB0C */ _t2 = _t1 & 0x00000001u; /* 0285FB0C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285FB0C */ goto L_0285FB10; L_0285FB10: ; // 0x285fb10 /* 0285FB10 */ _t3 = cpu->r[12] + 0x00000008u; /* 0285FB10 */ cpu->r[3] = rbrew_read16(cpu->mem, _t3); /* 0285FB14 */ return; } // fn_0285FB18 @ 0x285fb18 void Gambit_fn_0285FB18(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0285FB18: ; // 0x285fb18 /* 0285FB18 */ _t0 = cpu->r[3] + 0x0000007Cu; /* 0285FB18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0); /* 0285FB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285FB20 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB20 */ _t2 = _t1 & 0x00000001u; /* 0285FB20 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0285FB20 */ goto L_0285FB24; L_0285FB24: ; // 0x285fb24 /* 0285FB24 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0285FB28 */ return; } // fn_0285FB2C @ 0x285fb2c void Gambit_fn_0285FB2C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_0285FB2C: ; // 0x285fb2c /* 0285FB2C */ cpu->r[0] = cpu->lr; /* 0285FB30 */ _t0 = cpu->r[1] + 0x00000004u; /* 0285FB30 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285FB34 */ cpu->r[10] = cpu->r[3]; /* 0285FB38 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0285FB38 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285FB38 */ cpu->r[1] = _t1; /* 0285FB3C */ Gambit_fn_0285FB18(cpu); /* 0285FB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285FB44 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB44 */ _t3 = _t2 & 0x00000001u; /* 0285FB44 */ if (_t3) goto L_0285FBA4; else goto L_0285FB48; L_0285FB48: ; // 0x285fb48 /* 0285FB48 */ _t4 = cpu->r[10] + 0x0000007Cu; /* 0285FB48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0285FB4C */ _t5 = cpu->r[12] + 0x00000008u; /* 0285FB4C */ cpu->r[10] = rbrew_read16(cpu->mem, _t5); /* 0285FB50 */ cpu->r[6] = 0x00000000u; /* 0285FB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]); /* 0285FB58 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285FB58 */ _t7 = _t6 & 0x00000001u; /* 0285FB58 */ if (_t7) goto L_0285FB5C; else goto L_0285FBA4; L_0285FB5C: ; // 0x285fb5c /* 0285FB5C */ _t8 = cpu->r[3] + 0x00000000u; /* 0285FB5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0285FB60 */ cpu->r[11] = cpu->r[0]; /* 0285FB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285FB64 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB64 */ _t10 = _t9 & 0x00000001u; /* 0285FB64 */ if (_t10) goto L_0285FB6C; else goto L_0285FB68; L_0285FB68: ; // 0x285fb68 /* 0285FB68 */ cpu->r[11] = cpu->r[3] + cpu->r[0]; L_0285FB6C: ; // 0x285fb6c /* 0285FB6C */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu; /* 0285FB70 */ cpu->r[7] = cpu->r[4] + 0xFFFFFFFFu; L_0285FB74: ; // 0x285fb74 /* 0285FB74 */ _t11 = cpu->r[7] + 0x00000001u; /* 0285FB74 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11); /* 0285FB74 */ cpu->r[7] = _t11; /* 0285FB78 */ _t12 = cpu->r[8] + 0x00000001u; /* 0285FB78 */ cpu->r[11] = rbrew_read8(cpu->mem, _t12); /* 0285FB78 */ cpu->r[8] = _t12; /* 0285FB7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]); /* 0285FB80 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB80 */ _t14 = _t13 & 0x00000001u; /* 0285FB80 */ if (_t14) goto L_0285FB84; else goto L_0285FB8C; L_0285FB84: ; // 0x285fb84 /* 0285FB84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000000u); /* 0285FB88 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB88 */ _t16 = _t15 & 0x00000001u; /* 0285FB88 */ if (_t16) goto L_0285FB8C; else goto L_0285FB74; L_0285FB8C: ; // 0x285fb8c /* 0285FB8C */ cpu->r[12] = cpu->r[9] - cpu->r[11]; /* 0285FB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285FB90 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB90 */ _t18 = _t17 & 0x00000001u; /* 0285FB90 */ if (_t18) goto L_0285FBA8; else goto L_0285FB94; L_0285FB94: ; // 0x285fb94 /* 0285FB94 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 0285FB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]); /* 0285FB9C */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0285FBA0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285FBA0 */ _t20 = _t19 & 0x00000001u; /* 0285FBA0 */ if (_t20) goto L_0285FB5C; else goto L_0285FBA4; L_0285FBA4: ; // 0x285fba4 /* 0285FBA4 */ cpu->r[3] = 0x00000000u; L_0285FBA8: ; // 0x285fba8 /* 0285FBA8 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 0285FBA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0285FBAC */ cpu->lr = cpu->r[0]; /* 0285FBB0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285FBB4 */ return; } // fn_0285FB38 @ 0x285fb38 void Gambit_fn_0285FB38(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20; L_0285FB38: ; // 0x285fb38 /* 0285FB38 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0285FB38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FB38 */ cpu->r[1] = _t0; /* 0285FB3C */ Gambit_fn_0285FB18(cpu); /* 0285FB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285FB44 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB44 */ _t2 = _t1 & 0x00000001u; /* 0285FB44 */ if (_t2) goto L_0285FBA4; else goto L_0285FB48; L_0285FB48: ; // 0x285fb48 /* 0285FB48 */ _t3 = cpu->r[10] + 0x0000007Cu; /* 0285FB48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0285FB4C */ _t4 = cpu->r[12] + 0x00000008u; /* 0285FB4C */ cpu->r[10] = rbrew_read16(cpu->mem, _t4); /* 0285FB50 */ cpu->r[6] = 0x00000000u; /* 0285FB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]); /* 0285FB58 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285FB58 */ _t6 = _t5 & 0x00000001u; /* 0285FB58 */ if (_t6) goto L_0285FB5C; else goto L_0285FBA4; L_0285FB5C: ; // 0x285fb5c /* 0285FB5C */ _t7 = cpu->r[3] + 0x00000000u; /* 0285FB5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0285FB60 */ cpu->r[11] = cpu->r[0]; /* 0285FB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285FB64 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB64 */ _t9 = _t8 & 0x00000001u; /* 0285FB64 */ if (_t9) goto L_0285FB6C; else goto L_0285FB68; L_0285FB68: ; // 0x285fb68 /* 0285FB68 */ cpu->r[11] = cpu->r[3] + cpu->r[0]; L_0285FB6C: ; // 0x285fb6c /* 0285FB6C */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu; /* 0285FB70 */ cpu->r[7] = cpu->r[4] + 0xFFFFFFFFu; L_0285FB74: ; // 0x285fb74 /* 0285FB74 */ _t10 = cpu->r[7] + 0x00000001u; /* 0285FB74 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10); /* 0285FB74 */ cpu->r[7] = _t10; /* 0285FB78 */ _t11 = cpu->r[8] + 0x00000001u; /* 0285FB78 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11); /* 0285FB78 */ cpu->r[8] = _t11; /* 0285FB7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]); /* 0285FB80 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB80 */ _t13 = _t12 & 0x00000001u; /* 0285FB80 */ if (_t13) goto L_0285FB84; else goto L_0285FB8C; L_0285FB84: ; // 0x285fb84 /* 0285FB84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000000u); /* 0285FB88 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB88 */ _t15 = _t14 & 0x00000001u; /* 0285FB88 */ if (_t15) goto L_0285FB8C; else goto L_0285FB74; L_0285FB8C: ; // 0x285fb8c /* 0285FB8C */ cpu->r[12] = cpu->r[9] - cpu->r[11]; /* 0285FB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285FB90 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FB90 */ _t17 = _t16 & 0x00000001u; /* 0285FB90 */ if (_t17) goto L_0285FBA8; else goto L_0285FB94; L_0285FB94: ; // 0x285fb94 /* 0285FB94 */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 0285FB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]); /* 0285FB9C */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0285FBA0 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285FBA0 */ _t19 = _t18 & 0x00000001u; /* 0285FBA0 */ if (_t19) goto L_0285FB5C; else goto L_0285FBA4; L_0285FBA4: ; // 0x285fba4 /* 0285FBA4 */ cpu->r[3] = 0x00000000u; L_0285FBA8: ; // 0x285fba8 /* 0285FBA8 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0285FBA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0285FBAC */ cpu->lr = cpu->r[0]; /* 0285FBB0 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0285FBB4 */ return; } // fn_0285FBB8 @ 0x285fbb8 void Gambit_fn_0285FBB8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0285FBB8: ; // 0x285fbb8 /* 0285FBB8 */ cpu->r[0] = cpu->lr; /* 0285FBBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285FBBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FBBC */ cpu->r[1] = _t0; /* 0285FBC0 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285FBC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285FBC4 */ cpu->r[30] = cpu->r[3]; /* 0285FBC8 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285FBC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285FBCC */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285FBCC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285FBD0 */ _t4 = cpu->r[4] + 0x00000000u; /* 0285FBD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285FBD4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285FBD8 */ cpu->r[3] = cpu->r[30] + 0x00000010u; /* 0285FBDC */ cpu->r[31] = cpu->r[5]; /* 0285FBE0 */ _t5 = cpu->r[1] + 0x00000008u; /* 0285FBE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285FBE4 */ Gambit_fn_028541A8(cpu); /* 0285FBE8 */ _t6 = cpu->r[31] + 0x00000044u; /* 0285FBE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 0285FBEC */ _t7 = cpu->r[31] + 0x0000000Cu; /* 0285FBEC */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 0285FBF0 */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 0285FBF4 */ _t8 = cpu->r[31] + 0x00000044u; /* 0285FBF4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]); /* 0285FBF8 */ _t9 = cpu->r[1] + 0x0000001Cu; /* 0285FBF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285FBFC */ _t10 = cpu->r[1] + 0x00000014u; /* 0285FBFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285FC00 */ cpu->lr = cpu->r[0]; /* 0285FC04 */ _t11 = cpu->r[1] + 0x00000010u; /* 0285FC04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 0285FC08 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285FC0C */ return; } // fn_0285FBBC @ 0x285fbbc void Gambit_fn_0285FBBC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0285FBBC: ; // 0x285fbbc /* 0285FBBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285FBBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FBBC */ cpu->r[1] = _t0; /* 0285FBC0 */ _t1 = cpu->r[1] + 0x00000010u; /* 0285FBC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0285FBC4 */ cpu->r[30] = cpu->r[3]; /* 0285FBC8 */ _t2 = cpu->r[1] + 0x00000014u; /* 0285FBC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0285FBCC */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285FBCC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285FBD0 */ _t4 = cpu->r[4] + 0x00000000u; /* 0285FBD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285FBD4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285FBD8 */ cpu->r[3] = cpu->r[30] + 0x00000010u; /* 0285FBDC */ cpu->r[31] = cpu->r[5]; /* 0285FBE0 */ _t5 = cpu->r[1] + 0x00000008u; /* 0285FBE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285FBE4 */ Gambit_fn_028541A8(cpu); /* 0285FBE8 */ _t6 = cpu->r[31] + 0x00000044u; /* 0285FBE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 0285FBEC */ _t7 = cpu->r[31] + 0x0000000Cu; /* 0285FBEC */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 0285FBF0 */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 0285FBF4 */ _t8 = cpu->r[31] + 0x00000044u; /* 0285FBF4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]); /* 0285FBF8 */ _t9 = cpu->r[1] + 0x0000001Cu; /* 0285FBF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0285FBFC */ _t10 = cpu->r[1] + 0x00000014u; /* 0285FBFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0285FC00 */ cpu->lr = cpu->r[0]; /* 0285FC04 */ _t11 = cpu->r[1] + 0x00000010u; /* 0285FC04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 0285FC08 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285FC0C */ return; } // fn_0285FC10 @ 0x285fc10 void Gambit_fn_0285FC10(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285FC10: ; // 0x285fc10 /* 0285FC10 */ cpu->r[0] = cpu->lr; /* 0285FC14 */ cpu->r[5] = cpu->r[4]; /* 0285FC18 */ _t0 = cpu->r[1] + 0x00000004u; /* 0285FC18 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285FC1C */ cpu->r[0] = cpu->r[3] + 0x00000014u; /* 0285FC20 */ _t1 = cpu->r[1] + 0xFFFFFFE8u; /* 0285FC20 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285FC20 */ cpu->r[1] = _t1; /* 0285FC24 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285FC28 */ _t2 = cpu->r[1] + 0x00000008u; /* 0285FC28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285FC2C */ Gambit_fn_0285FBB8(cpu); /* 0285FC30 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285FC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0285FC34 */ cpu->lr = cpu->r[0]; /* 0285FC38 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285FC3C */ return; } // fn_0285FC20 @ 0x285fc20 void Gambit_fn_0285FC20(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0285FC20: ; // 0x285fc20 /* 0285FC20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285FC20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FC20 */ cpu->r[1] = _t0; /* 0285FC24 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285FC28 */ _t1 = cpu->r[1] + 0x00000008u; /* 0285FC28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285FC2C */ Gambit_fn_0285FBB8(cpu); /* 0285FC30 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 0285FC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0285FC34 */ cpu->lr = cpu->r[0]; /* 0285FC38 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285FC3C */ return; } // fn_0285FC40 @ 0x285fc40 void Gambit_fn_0285FC40(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0285FC40: ; // 0x285fc40 /* 0285FC40 */ cpu->r[0] = cpu->lr; /* 0285FC44 */ _t0 = cpu->r[1] + 0x00000004u; /* 0285FC44 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0285FC48 */ _t1 = cpu->r[1] + 0xFFFFFFE8u; /* 0285FC48 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0285FC48 */ cpu->r[1] = _t1; /* 0285FC4C */ _t2 = cpu->r[1] + 0x00000008u; /* 0285FC4C */ rbrew_write32(cpu->mem, _t2, cpu->r[4]); /* 0285FC50 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285FC54 */ Gambit_fn_0285FBB8(cpu); /* 0285FC58 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0285FC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0285FC5C */ cpu->lr = cpu->r[0]; /* 0285FC60 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285FC64 */ return; } // fn_0285FC48 @ 0x285fc48 void Gambit_fn_0285FC48(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0285FC48: ; // 0x285fc48 /* 0285FC48 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285FC48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FC48 */ cpu->r[1] = _t0; /* 0285FC4C */ _t1 = cpu->r[1] + 0x00000008u; /* 0285FC4C */ rbrew_write32(cpu->mem, _t1, cpu->r[4]); /* 0285FC50 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0285FC54 */ Gambit_fn_0285FBB8(cpu); /* 0285FC58 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 0285FC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0285FC5C */ cpu->lr = cpu->r[0]; /* 0285FC60 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285FC64 */ return; } // fn_0285FC68 @ 0x285fc68 void Gambit_fn_0285FC68(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_0285FC68: ; // 0x285fc68 /* 0285FC68 */ cpu->r[0] = cpu->lr; /* 0285FC6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285FC6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FC6C */ cpu->r[1] = _t0; /* 0285FC70 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285FC70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285FC74 */ cpu->r[31] = cpu->r[4]; /* 0285FC78 */ cpu->r[3] = cpu->r[3] + 0x00000010u; /* 0285FC7C */ _t2 = cpu->r[1] + 0x00000014u; /* 0285FC7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285FC80 */ Gambit_fn_028541D4(cpu); /* 0285FC84 */ cpu->r[0] = 0x00000000u; /* 0285FC88 */ _t3 = cpu->r[31] + 0x0000000Cu; /* 0285FC88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285FC8C */ _t4 = cpu->r[1] + 0x00000014u; /* 0285FC8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285FC90 */ cpu->lr = cpu->r[0]; /* 0285FC94 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0285FC94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 0285FC98 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285FC9C */ return; } // fn_0285FC6C @ 0x285fc6c void Gambit_fn_0285FC6C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_0285FC6C: ; // 0x285fc6c /* 0285FC6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0285FC6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FC6C */ cpu->r[1] = _t0; /* 0285FC70 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0285FC70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285FC74 */ cpu->r[31] = cpu->r[4]; /* 0285FC78 */ cpu->r[3] = cpu->r[3] + 0x00000010u; /* 0285FC7C */ _t2 = cpu->r[1] + 0x00000014u; /* 0285FC7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0285FC80 */ Gambit_fn_028541D4(cpu); /* 0285FC84 */ cpu->r[0] = 0x00000000u; /* 0285FC88 */ _t3 = cpu->r[31] + 0x0000000Cu; /* 0285FC88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0285FC8C */ _t4 = cpu->r[1] + 0x00000014u; /* 0285FC8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0285FC90 */ cpu->lr = cpu->r[0]; /* 0285FC94 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0285FC94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 0285FC98 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0285FC9C */ return; } // fn_0285FCA0 @ 0x285fca0 void Gambit_fn_0285FCA0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24; L_0285FCA0: ; // 0x285fca0 /* 0285FCA0 */ cpu->r[0] = cpu->lr; /* 0285FCA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285FCA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FCA4 */ cpu->r[1] = _t0; /* 0285FCA8 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285FCA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285FCAC */ cpu->r[31] = cpu->r[3]; /* 0285FCB0 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285FCB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285FCB4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285FCB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285FCB8 */ cpu->r[30] = cpu->r[5]; /* 0285FCBC */ cpu->r[3] = cpu->r[31] + 0x00000080u; /* 0285FCC0 */ _t4 = cpu->r[1] + 0x00000008u; /* 0285FCC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]); /* 0285FCC4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0285FCC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285FCC8 */ cpu->r[29] = cpu->r[4]; /* 0285FCCC */ Gambit_fn_0285B800(cpu); /* 0285FCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285FCD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FCD4 */ _t7 = _t6 & 0x00000001u; /* 0285FCD4 */ if (_t7) goto L_0285FCD8; else goto L_0285FD40; L_0285FCD8: ; // 0x285fcd8 /* 0285FCD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285FCDC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FCDC */ _t9 = _t8 & 0x00000001u; /* 0285FCDC */ if (_t9) goto L_0285FD3C; else goto L_0285FCE0; L_0285FCE0: ; // 0x285fce0 /* 0285FCE0 */ _t10 = cpu->r[31] + 0x00000014u; /* 0285FCE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 0285FCE4 */ cpu->r[28] = cpu->r[31] + 0x00000014u; /* 0285FCE8 */ cpu->r[0] = cpu->r[30] ^ cpu->r[28]; /* 0285FCEC */ cpu->r[0] = rbrew_clz32(cpu->r[0]); /* 0285FCF0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285FCF4 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u; /* 0285FCF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285FCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285FCFC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FCFC */ _t12 = _t11 & 0x00000001u; /* 0285FCFC */ if (_t12) goto L_0285FD3C; else goto L_0285FD00; L_0285FD00: ; // 0x285fd00 /* 0285FD00 */ _t13 = cpu->r[30] + 0x00000008u; /* 0285FD00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 0285FD04 */ _t14 = cpu->r[10] + 0x000000A4u; /* 0285FD04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 0285FD08 */ cpu->ctr = cpu->r[11]; /* 0285FD0C */ cpu->r[3] = cpu->r[30]; /* 0285FD10 */ cpu->r[4] = cpu->r[29]; /* 0285FD14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285FD18 */ cpu->r[31] = cpu->r[3]; /* 0285FD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285FD1C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FD1C */ _t16 = _t15 & 0x00000001u; /* 0285FD1C */ if (_t16) goto L_0285FD20; else goto L_0285FD40; L_0285FD20: ; // 0x285fd20 /* 0285FD20 */ _t17 = cpu->r[30] + 0x00000000u; /* 0285FD20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 0285FD24 */ cpu->r[0] = cpu->r[30] ^ cpu->r[28]; /* 0285FD28 */ cpu->r[10] = rbrew_clz32(cpu->r[0]); /* 0285FD2C */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285FD30 */ cpu->r[11] = cpu->r[12] ^ 0x00000001u; /* 0285FD34 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285FD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285FD38 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FD38 */ _t19 = _t18 & 0x00000001u; /* 0285FD38 */ if (_t19) goto L_0285FD3C; else goto L_0285FD00; L_0285FD3C: ; // 0x285fd3c /* 0285FD3C */ cpu->r[31] = 0x00000000u; L_0285FD40: ; // 0x285fd40 /* 0285FD40 */ _t20 = cpu->r[1] + 0x00000008u; /* 0285FD40 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20); /* 0285FD44 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 0285FD44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0285FD48 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0285FD48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0285FD4C */ cpu->r[3] = cpu->r[31]; /* 0285FD50 */ _t23 = cpu->r[1] + 0x00000010u; /* 0285FD50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 0285FD54 */ cpu->lr = cpu->r[0]; /* 0285FD58 */ _t24 = cpu->r[1] + 0x00000014u; /* 0285FD58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0285FD5C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285FD60 */ return; } // fn_0285FCA4 @ 0x285fca4 void Gambit_fn_0285FCA4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24; L_0285FCA4: ; // 0x285fca4 /* 0285FCA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0285FCA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FCA4 */ cpu->r[1] = _t0; /* 0285FCA8 */ _t1 = cpu->r[1] + 0x00000014u; /* 0285FCA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0285FCAC */ cpu->r[31] = cpu->r[3]; /* 0285FCB0 */ _t2 = cpu->r[1] + 0x00000010u; /* 0285FCB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0285FCB4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0285FCB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0285FCB8 */ cpu->r[30] = cpu->r[5]; /* 0285FCBC */ cpu->r[3] = cpu->r[31] + 0x00000080u; /* 0285FCC0 */ _t4 = cpu->r[1] + 0x00000008u; /* 0285FCC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]); /* 0285FCC4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0285FCC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0285FCC8 */ cpu->r[29] = cpu->r[4]; /* 0285FCCC */ Gambit_fn_0285B800(cpu); /* 0285FCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285FCD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FCD4 */ _t7 = _t6 & 0x00000001u; /* 0285FCD4 */ if (_t7) goto L_0285FCD8; else goto L_0285FD40; L_0285FCD8: ; // 0x285fcd8 /* 0285FCD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285FCDC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FCDC */ _t9 = _t8 & 0x00000001u; /* 0285FCDC */ if (_t9) goto L_0285FD3C; else goto L_0285FCE0; L_0285FCE0: ; // 0x285fce0 /* 0285FCE0 */ _t10 = cpu->r[31] + 0x00000014u; /* 0285FCE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 0285FCE4 */ cpu->r[28] = cpu->r[31] + 0x00000014u; /* 0285FCE8 */ cpu->r[0] = cpu->r[30] ^ cpu->r[28]; /* 0285FCEC */ cpu->r[0] = rbrew_clz32(cpu->r[0]); /* 0285FCF0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285FCF4 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u; /* 0285FCF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285FCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285FCFC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FCFC */ _t12 = _t11 & 0x00000001u; /* 0285FCFC */ if (_t12) goto L_0285FD3C; else goto L_0285FD00; L_0285FD00: ; // 0x285fd00 /* 0285FD00 */ _t13 = cpu->r[30] + 0x00000008u; /* 0285FD00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 0285FD04 */ _t14 = cpu->r[10] + 0x000000A4u; /* 0285FD04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 0285FD08 */ cpu->ctr = cpu->r[11]; /* 0285FD0C */ cpu->r[3] = cpu->r[30]; /* 0285FD10 */ cpu->r[4] = cpu->r[29]; /* 0285FD14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285FD18 */ cpu->r[31] = cpu->r[3]; /* 0285FD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285FD1C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FD1C */ _t16 = _t15 & 0x00000001u; /* 0285FD1C */ if (_t16) goto L_0285FD20; else goto L_0285FD40; L_0285FD20: ; // 0x285fd20 /* 0285FD20 */ _t17 = cpu->r[30] + 0x00000000u; /* 0285FD20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 0285FD24 */ cpu->r[0] = cpu->r[30] ^ cpu->r[28]; /* 0285FD28 */ cpu->r[10] = rbrew_clz32(cpu->r[0]); /* 0285FD2C */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285FD30 */ cpu->r[11] = cpu->r[12] ^ 0x00000001u; /* 0285FD34 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285FD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285FD38 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FD38 */ _t19 = _t18 & 0x00000001u; /* 0285FD38 */ if (_t19) goto L_0285FD3C; else goto L_0285FD00; L_0285FD3C: ; // 0x285fd3c /* 0285FD3C */ cpu->r[31] = 0x00000000u; L_0285FD40: ; // 0x285fd40 /* 0285FD40 */ _t20 = cpu->r[1] + 0x00000008u; /* 0285FD40 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20); /* 0285FD44 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 0285FD44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0285FD48 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0285FD48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0285FD4C */ cpu->r[3] = cpu->r[31]; /* 0285FD50 */ _t23 = cpu->r[1] + 0x00000010u; /* 0285FD50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 0285FD54 */ cpu->lr = cpu->r[0]; /* 0285FD58 */ _t24 = cpu->r[1] + 0x00000014u; /* 0285FD58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0285FD5C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0285FD60 */ return; } // fn_0285FD64 @ 0x285fd64 void Gambit_fn_0285FD64(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27; L_0285FD64: ; // 0x285fd64 /* 0285FD64 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0285FD64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FD64 */ cpu->r[1] = _t0; /* 0285FD68 */ /* nop */ /* 0285FD6C */ cpu->r[0] = cpu->lr; /* 0285FD70 */ _t1 = cpu->r[1] + 0x00000024u; /* 0285FD70 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0285FD74 */ cpu->r[29] = cpu->r[4]; /* 0285FD78 */ _t2 = cpu->r[3] + 0x00000008u; /* 0285FD78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2); /* 0285FD7C */ _t3 = cpu->r[8] + 0x00000054u; /* 0285FD7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3); /* 0285FD80 */ cpu->ctr = cpu->r[9]; /* 0285FD84 */ cpu->r[30] = cpu->r[5]; /* 0285FD88 */ cpu->r[28] = cpu->r[3]; /* 0285FD8C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285FD90 */ cpu->r[27] = cpu->r[3]; /* 0285FD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0285FD94 */ cpu->r[26] = 0x00000000u; /* 0285FD98 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FD98 */ _t5 = _t4 & 0x00000001u; /* 0285FD98 */ if (_t5) goto L_0285FDDC; else goto L_0285FD9C; L_0285FD9C: ; // 0x285fd9c /* 0285FD9C */ _t6 = cpu->r[28] + 0x00000008u; /* 0285FD9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 0285FDA0 */ _t7 = cpu->r[10] + 0x0000004Cu; /* 0285FDA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 0285FDA4 */ cpu->ctr = cpu->r[11]; /* 0285FDA8 */ cpu->r[3] = cpu->r[28]; /* 0285FDAC */ cpu->r[4] = cpu->r[26]; /* 0285FDB0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285FDB4 */ cpu->r[31] = cpu->r[3]; /* 0285FDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285FDB8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FDB8 */ _t9 = _t8 & 0x00000001u; /* 0285FDB8 */ if (_t9) goto L_0285FDD0; else goto L_0285FDBC; L_0285FDBC: ; // 0x285fdbc /* 0285FDBC */ _t10 = cpu->r[31] + 0x00000018u; /* 0285FDBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0285FDC0 */ cpu->r[4] = cpu->r[29]; /* 0285FDC4 */ Gambit_fn_0285B83C(cpu); /* 0285FDC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0285FDCC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FDCC */ _t12 = _t11 & 0x00000001u; /* 0285FDCC */ if (_t12) goto L_0285FDD0; else goto L_0285FE40; L_0285FDD0: ; // 0x285fdd0 /* 0285FDD0 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; /* 0285FDD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0285FDD4 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0285FDD8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FDD8 */ _t14 = _t13 & 0x00000001u; /* 0285FDD8 */ if (_t14) goto L_0285FDDC; else goto L_0285FD9C; L_0285FDDC: ; // 0x285fddc /* 0285FDDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0285FDE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FDE0 */ _t16 = _t15 & 0x00000001u; /* 0285FDE0 */ if (_t16) goto L_0285FE3C; else goto L_0285FDE4; L_0285FDE4: ; // 0x285fde4 /* 0285FDE4 */ _t17 = cpu->r[28] + 0x00000014u; /* 0285FDE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 0285FDE4 */ cpu->r[28] = _t17; /* 0285FDE8 */ cpu->r[7] = cpu->r[30] ^ cpu->r[28]; /* 0285FDEC */ cpu->r[0] = rbrew_clz32(cpu->r[7]); /* 0285FDF0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285FDF4 */ cpu->r[0] = cpu->r[6] ^ 0x00000001u; /* 0285FDF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285FDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285FDFC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FDFC */ _t19 = _t18 & 0x00000001u; /* 0285FDFC */ if (_t19) goto L_0285FE3C; else goto L_0285FE00; L_0285FE00: ; // 0x285fe00 /* 0285FE00 */ _t20 = cpu->r[30] + 0x00000008u; /* 0285FE00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20); /* 0285FE04 */ _t21 = cpu->r[9] + 0x000000ACu; /* 0285FE04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0285FE08 */ cpu->ctr = cpu->r[0]; /* 0285FE0C */ cpu->r[3] = cpu->r[30]; /* 0285FE10 */ cpu->r[4] = cpu->r[29]; /* 0285FE14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0285FE18 */ cpu->r[31] = cpu->r[3]; /* 0285FE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0285FE1C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FE1C */ _t23 = _t22 & 0x00000001u; /* 0285FE1C */ if (_t23) goto L_0285FE20; else goto L_0285FE40; L_0285FE20: ; // 0x285fe20 /* 0285FE20 */ _t24 = cpu->r[30] + 0x00000000u; /* 0285FE20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0285FE24 */ cpu->r[12] = cpu->r[30] ^ cpu->r[28]; /* 0285FE28 */ cpu->r[0] = rbrew_clz32(cpu->r[12]); /* 0285FE2C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0285FE30 */ cpu->r[6] = cpu->r[11] ^ 0x00000001u; /* 0285FE34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0285FE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285FE38 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FE38 */ _t26 = _t25 & 0x00000001u; /* 0285FE38 */ if (_t26) goto L_0285FE3C; else goto L_0285FE00; L_0285FE3C: ; // 0x285fe3c /* 0285FE3C */ cpu->r[31] = 0x00000000u; L_0285FE40: ; // 0x285fe40 /* 0285FE40 */ cpu->r[3] = cpu->r[31]; /* 0285FE44 */ /* nop */ /* 0285FE48 */ _t27 = cpu->r[1] + 0x00000024u; /* 0285FE48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 0285FE4C */ cpu->lr = cpu->r[0]; /* 0285FE50 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0285FE54 */ return; } // fn_0285FE58 @ 0x285fe58 void Gambit_fn_0285FE58(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332; L_0285FE58: ; // 0x285fe58 /* 0285FE58 */ _t0 = cpu->r[1] + 0xFFFFFF00u; /* 0285FE58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0285FE58 */ cpu->r[1] = _t0; /* 0285FE5C */ _t1 = cpu->r[1] + 0x00000060u; /* 0285FE5C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[22]); /* 0285FE60 */ _t2 = cpu->r[1] + 0x00000070u; /* 0285FE60 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[23]); /* 0285FE64 */ _t3 = cpu->r[1] + 0x00000080u; /* 0285FE64 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[24]); /* 0285FE68 */ /* nop */ /* 0285FE6C */ _t4 = cpu->r[1] + 0x00000090u; /* 0285FE6C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[25]); /* 0285FE70 */ /* nop */ /* 0285FE74 */ _t5 = cpu->r[1] + 0x000000A0u; /* 0285FE74 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[26]); /* 0285FE78 */ /* nop */ /* 0285FE7C */ _t6 = cpu->r[1] + 0x000000B0u; /* 0285FE7C */ rbrew_write_f64(cpu->mem, _t6, cpu->f[27]); /* 0285FE80 */ /* nop */ /* 0285FE84 */ _t7 = cpu->r[1] + 0x000000C0u; /* 0285FE84 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[28]); /* 0285FE88 */ /* nop */ /* 0285FE8C */ _t8 = cpu->r[1] + 0x000000D0u; /* 0285FE8C */ rbrew_write_f64(cpu->mem, _t8, cpu->f[29]); /* 0285FE90 */ /* nop */ /* 0285FE94 */ _t9 = cpu->r[1] + 0x000000E0u; /* 0285FE94 */ rbrew_write_f64(cpu->mem, _t9, cpu->f[30]); /* 0285FE98 */ /* nop */ /* 0285FE9C */ _t10 = cpu->r[1] + 0x000000F0u; /* 0285FE9C */ rbrew_write_f64(cpu->mem, _t10, cpu->f[31]); /* 0285FEA0 */ /* nop */ /* 0285FEA4 */ _t11 = cpu->r[1] + 0x00000068u; /* 0285FEA4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[22]); /* 0285FEA8 */ _t12 = cpu->r[1] + 0x00000078u; /* 0285FEA8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[23]); /* 0285FEAC */ _t13 = cpu->r[1] + 0x00000088u; /* 0285FEAC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[24]); /* 0285FEB0 */ /* nop */ /* 0285FEB4 */ _t14 = cpu->r[1] + 0x00000098u; /* 0285FEB4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[25]); /* 0285FEB8 */ _t15 = cpu->r[1] + 0x000000A8u; /* 0285FEB8 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[26]); /* 0285FEBC */ _t16 = cpu->r[1] + 0x000000B8u; /* 0285FEBC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[27]); /* 0285FEC0 */ /* nop */ /* 0285FEC4 */ _t17 = cpu->r[1] + 0x000000C8u; /* 0285FEC4 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[28]); /* 0285FEC8 */ _t18 = cpu->r[1] + 0x000000D8u; /* 0285FEC8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[29]); /* 0285FECC */ _t19 = cpu->r[1] + 0x000000E8u; /* 0285FECC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[30]); /* 0285FED0 */ cpu->r[0] = cpu->lr; /* 0285FED4 */ _t20 = cpu->r[1] + 0x000000F8u; /* 0285FED4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[31]); /* 0285FED8 */ _t21 = cpu->r[1] + 0x00000104u; /* 0285FED8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); /* 0285FEDC */ /* nop */ /* 0285FEE0 */ cpu->r[28] = cpu->r[3]; /* 0285FEE4 */ cpu->r[30] = cpu->r[4]; /* 0285FEE8 */ _t22 = cpu->r[28] + 0x00000044u; /* 0285FEE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22); /* 0285FEEC */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0285FEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0285FEF0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FEF0 */ _t24 = _t23 & 0x00000001u; /* 0285FEF0 */ if (_t24) goto L_0285FEF4; else goto L_0285FF00; L_0285FEF4: ; // 0x285fef4 /* 0285FEF4 */ _t25 = cpu->r[30] + 0x00000015u; /* 0285FEF4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t25); /* 0285FEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0285FEFC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FEFC */ _t27 = _t26 & 0x00000001u; /* 0285FEFC */ if (_t27) goto L_0285FF94; else goto L_0285FF00; L_0285FF00: ; // 0x285ff00 /* 0285FF00 */ _t28 = cpu->r[30] + 0x00000017u; /* 0285FF00 */ cpu->r[11] = rbrew_read8(cpu->mem, _t28); /* 0285FF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285FF08 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FF08 */ _t30 = _t29 & 0x00000001u; /* 0285FF08 */ if (_t30) goto L_0285FF6C; else goto L_0285FF0C; L_0285FF0C: ; // 0x285ff0c /* 0285FF0C */ _t31 = cpu->r[28] + 0x0000000Cu; /* 0285FF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0285FF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0285FF14 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FF14 */ _t33 = _t32 & 0x00000001u; /* 0285FF14 */ if (_t33) goto L_0285FF6C; else goto L_0285FF18; L_0285FF18: ; // 0x285ff18 /* 0285FF18 */ _t34 = cpu->r[28] + 0x00000045u; /* 0285FF18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34); /* 0285FF1C */ cpu->r[7] = 0x43300000u; /* 0285FF20 */ _t35 = cpu->r[1] + 0x00000008u; /* 0285FF20 */ rbrew_write32(cpu->mem, _t35, cpu->r[7]); /* 0285FF24 */ cpu->r[9] = 0x10130000u; /* 0285FF28 */ _t36 = cpu->r[1] + 0x0000000Cu; /* 0285FF28 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]); /* 0285FF2C */ _t37 = cpu->r[1] + 0x00000008u; /* 0285FF2C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t37); /* 0285FF30 */ _t38 = cpu->r[9] + 0x00005078u; /* 0285FF30 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t38); /* 0285FF34 */ cpu->f[0] = cpu->f[13] - cpu->f[6]; /* 0285FF38 */ cpu->f[8] = (double)(float)cpu->f[0]; /* 0285FF3C */ _t39 = cpu->r[30] + 0x00000010u; /* 0285FF3C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t39); /* 0285FF40 */ cpu->f[8] = cpu->f[8] * cpu->f[9]; /* 0285FF44 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[8]; /* 0285FF48 */ cpu->r[0] = cpu->r[1] + 0x00000008u; /* 0285FF4C */ /* nop */ /* 0285FF50 */ _t40 = cpu->r[28] + 0x00000045u; /* 0285FF50 */ cpu->r[10] = rbrew_read8(cpu->mem, _t40); /* 0285FF54 */ _t41 = cpu->r[1] + 0x0000000Bu; /* 0285FF54 */ cpu->r[4] = rbrew_read8(cpu->mem, _t41); /* 0285FF58 */ _t42 = cpu->r[28] + 0x00000044u; /* 0285FF58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t42); /* 0285FF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0285FF60 */ _t43 = cpu->r[28] + 0x00000046u; /* 0285FF60 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[4]); /* 0285FF64 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FF64 */ _t45 = _t44 & 0x00000001u; /* 0285FF64 */ if (_t45) goto L_0285FF68; else goto L_0286000C; L_0285FF68: ; // 0x285ff68 /* 0285FF68 */ goto L_0285FF80; L_0285FF6C: ; // 0x285ff6c /* 0285FF6C */ _t46 = cpu->r[28] + 0x00000045u; /* 0285FF6C */ cpu->r[4] = rbrew_read8(cpu->mem, _t46); /* 0285FF70 */ _t47 = cpu->r[28] + 0x00000044u; /* 0285FF70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t47); /* 0285FF74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0285FF78 */ _t48 = cpu->r[28] + 0x00000046u; /* 0285FF78 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[4]); /* 0285FF7C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FF7C */ _t50 = _t49 & 0x00000001u; /* 0285FF7C */ if (_t50) goto L_0285FF80; else goto L_0286000C; L_0285FF80: ; // 0x285ff80 /* 0285FF80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 0285FF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0285FF84 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FF84 */ _t52 = _t51 & 0x00000001u; /* 0285FF84 */ if (_t52) goto L_0286000C; else goto L_0285FF88; L_0285FF88: ; // 0x285ff88 /* 0285FF88 */ _t53 = cpu->r[30] + 0x00000016u; /* 0285FF88 */ cpu->r[12] = rbrew_read8(cpu->mem, _t53); /* 0285FF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0285FF90 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FF90 */ _t55 = _t54 & 0x00000001u; /* 0285FF90 */ if (_t55) goto L_0285FF94; else goto L_0286000C; L_0285FF94: ; // 0x285ff94 /* 0285FF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0285FF98 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 0285FF98 */ _t57 = _t56 & 0x00000001u; /* 0285FF98 */ if (_t57) goto L_02860860; else goto L_0285FF9C; L_0285FF9C: ; // 0x285ff9c /* 0285FF9C */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 0285FFA0 */ _t58 = cpu->r[28] + 0x00000044u; /* 0285FFA0 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[0]); /* 0285FFA4 */ /* nop */ /* 0285FFA8 */ _t59 = cpu->r[1] + 0x000000A8u; /* 0285FFA8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t59); /* 0285FFAC */ _t60 = cpu->r[1] + 0x00000088u; /* 0285FFAC */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t60); /* 0285FFB0 */ _t61 = cpu->r[1] + 0x000000A0u; /* 0285FFB0 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t61); /* 0285FFB4 */ _t62 = cpu->r[1] + 0x00000080u; /* 0285FFB4 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t62); /* 0285FFB8 */ _t63 = cpu->r[1] + 0x000000C8u; /* 0285FFB8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t63); /* 0285FFBC */ _t64 = cpu->r[1] + 0x00000098u; /* 0285FFBC */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t64); /* 0285FFC0 */ _t65 = cpu->r[1] + 0x000000C0u; /* 0285FFC0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t65); /* 0285FFC4 */ _t66 = cpu->r[1] + 0x00000090u; /* 0285FFC4 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t66); /* 0285FFC8 */ _t67 = cpu->r[1] + 0x000000E8u; /* 0285FFC8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t67); /* 0285FFCC */ _t68 = cpu->r[1] + 0x000000B8u; /* 0285FFCC */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t68); /* 0285FFD0 */ _t69 = cpu->r[1] + 0x000000E0u; /* 0285FFD0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t69); /* 0285FFD4 */ _t70 = cpu->r[1] + 0x000000B0u; /* 0285FFD4 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t70); /* 0285FFD8 */ _t71 = cpu->r[1] + 0x00000078u; /* 0285FFD8 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t71); /* 0285FFDC */ _t72 = cpu->r[1] + 0x000000D8u; /* 0285FFDC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t72); /* 0285FFE0 */ _t73 = cpu->r[1] + 0x00000070u; /* 0285FFE0 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t73); /* 0285FFE4 */ _t74 = cpu->r[1] + 0x000000D0u; /* 0285FFE4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t74); /* 0285FFE8 */ _t75 = cpu->r[1] + 0x00000068u; /* 0285FFE8 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t75); /* 0285FFEC */ _t76 = cpu->r[1] + 0x000000F8u; /* 0285FFEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t76); /* 0285FFF0 */ _t77 = cpu->r[1] + 0x00000060u; /* 0285FFF0 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t77); /* 0285FFF4 */ _t78 = cpu->r[1] + 0x000000F0u; /* 0285FFF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t78); /* 0285FFF8 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 0285FFF8 */ _t80 = _t79 & 0x00000001u; /* 0285FFF8 */ if (_t80) goto L_0285FFFC; // else: addr-0 trap, fall-through L_0285FFFC: ; // 0x285fffc /* 0285FFFC */ _t81 = cpu->r[1] + 0x00000104u; /* 0285FFFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t81); /* 02860000 */ cpu->lr = cpu->r[0]; /* 02860004 */ cpu->r[1] = cpu->r[1] + 0x00000100u; /* 02860008 */ return; L_0286000C: ; // 0x286000c /* 0286000C */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Bu); /* 0286000C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02860010 */ cpu->r[31] = 0x00000001u; /* 02860014 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860014 */ _t83 = _t82 & 0x00000001u; /* 02860014 */ if (_t83) goto L_02860018; else goto L_02860024; L_02860018: ; // 0x2860018 /* 02860018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0286001C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286001C */ _t85 = _t84 & 0x00000001u; /* 0286001C */ if (_t85) goto L_02860020; else goto L_02860024; L_02860020: ; // 0x2860020 /* 02860020 */ cpu->r[31] = 0x00000000u; L_02860024: ; // 0x2860024 /* 02860024 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000019u, 0x00000019u); /* 02860024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02860028 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0286002C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286002C */ _t87 = _t86 & 0x00000001u; /* 0286002C */ if (_t87) goto L_02860040; else goto L_02860030; L_02860030: ; // 0x2860030 /* 02860030 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 02860030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02860034 */ cpu->r[31] = 0x00000001u; /* 02860038 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860038 */ _t89 = _t88 & 0x00000001u; /* 02860038 */ if (_t89) goto L_0286080C; else goto L_0286003C; L_0286003C: ; // 0x286003c /* 0286003C */ goto L_028606F8; L_02860040: ; // 0x2860040 /* 02860040 */ _t90 = cpu->r[28] + 0x0000000Cu; /* 02860040 */ cpu->r[8] = rbrew_read32(cpu->mem, _t90); /* 02860044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02860048 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860048 */ _t92 = _t91 & 0x00000001u; /* 02860048 */ if (_t92) goto L_02860064; else goto L_0286004C; L_0286004C: ; // 0x286004c /* 0286004C */ cpu->r[26] = 0x10130000u; /* 02860050 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Au, 0x0000001Au); /* 02860050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02860054 */ cpu->r[25] = cpu->r[8] + 0x00000048u; /* 02860058 */ cpu->r[26] = cpu->r[26] + 0x00005060u; /* 0286005C */ _t93 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286005C */ _t94 = _t93 & 0x00000001u; /* 0286005C */ if (_t94) goto L_02860134; else goto L_02860060; L_02860060: ; // 0x2860060 /* 02860060 */ goto L_02860078; L_02860064: ; // 0x2860064 /* 02860064 */ cpu->r[26] = 0x10130000u; /* 02860068 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Au, 0x0000001Au); /* 02860068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0286006C */ _t95 = cpu->r[30] + 0x00000004u; /* 0286006C */ cpu->r[25] = rbrew_read32(cpu->mem, _t95); /* 02860070 */ cpu->r[26] = cpu->r[26] + 0x00005060u; /* 02860074 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860074 */ _t97 = _t96 & 0x00000001u; /* 02860074 */ if (_t97) goto L_02860134; else goto L_02860078; L_02860078: ; // 0x2860078 /* 02860078 */ _t98 = cpu->r[28] + 0x00000078u; /* 02860078 */ cpu->r[9] = rbrew_read32(cpu->mem, _t98); /* 0286007C */ /* nop */ /* 02860080 */ /* nop */ /* 02860084 */ /* nop */ /* 02860088 */ /* nop */ /* 0286008C */ /* nop */ /* 02860090 */ cpu->r[8] = cpu->r[28] + 0x00000048u; /* 02860094 */ /* nop */ /* 02860098 */ /* nop */ /* 0286009C */ /* nop */ /* 028600A0 */ /* nop */ /* 028600A4 */ /* nop */ /* 028600A8 */ /* nop */ /* 028600AC */ /* nop */ /* 028600B0 */ /* nop */ /* 028600B4 */ /* nop */ /* 028600B8 */ /* nop */ /* 028600BC */ /* nop */ /* 028600C0 */ /* nop */ /* 028600C4 */ /* nop */ /* 028600C8 */ /* nop */ /* 028600CC */ /* nop */ /* 028600D0 */ /* nop */ /* 028600D4 */ /* nop */ /* 028600D8 */ /* nop */ /* 028600DC */ /* nop */ /* 028600E0 */ /* nop */ /* 028600E4 */ /* nop */ /* 028600E8 */ /* nop */ /* 028600EC */ /* nop */ /* 028600F0 */ /* nop */ /* 028600F4 */ /* nop */ /* 028600F8 */ /* nop */ /* 028600FC */ /* nop */ /* 02860100 */ /* nop */ /* 02860104 */ /* nop */ /* 02860108 */ /* nop */ /* 0286010C */ /* nop */ /* 02860110 */ /* nop */ /* 02860114 */ /* nop */ /* 02860118 */ /* nop */ /* 0286011C */ /* nop */ /* 02860120 */ _t99 = cpu->r[28] + 0x00000044u; /* 02860120 */ cpu->r[0] = rbrew_read8(cpu->mem, _t99); /* 02860124 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 02860124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02860128 */ cpu->r[31] = 0x00000001u; /* 0286012C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286012C */ _t101 = _t100 & 0x00000001u; /* 0286012C */ if (_t101) goto L_0286080C; else goto L_02860130; L_02860130: ; // 0x2860130 /* 02860130 */ goto L_028606F8; L_02860134: ; // 0x2860134 /* 02860134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02860138 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860138 */ _t103 = _t102 & 0x00000001u; /* 02860138 */ if (_t103) goto L_028606F0; else goto L_0286013C; L_0286013C: ; // 0x286013c /* 0286013C */ cpu->r[0] = cpu->r[0] & 0x000000EFu; /* 0286013C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02860140 */ _t104 = cpu->r[28] + 0x00000044u; /* 02860140 */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[0]); /* 02860144 */ _t105 = cpu->r[30] + 0x00000014u; /* 02860144 */ cpu->r[4] = rbrew_read8(cpu->mem, _t105); /* 02860148 */ _t106 = cpu->r[28] + 0x00000034u; /* 02860148 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t106); /* 0286014C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02860150 */ _t107 = cpu->r[28] + 0x00000038u; /* 02860150 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t107); /* 02860154 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860154 */ _t109 = _t108 & 0x00000001u; /* 02860154 */ if (_t109) goto L_02860170; else goto L_02860158; L_02860158: ; // 0x2860158 /* 02860158 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du); /* 02860158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0286015C */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286015C */ _t111 = _t110 & 0x00000001u; /* 0286015C */ if (_t111) goto L_02860170; else goto L_02860160; L_02860160: ; // 0x2860160 /* 02860160 */ _t112 = cpu->r[30] + 0x00000008u; /* 02860160 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t112); /* 02860164 */ _t113 = cpu->r[30] + 0x0000000Cu; /* 02860164 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t113); /* 02860168 */ cpu->f[26] = cpu->f[26] * cpu->f[7]; /* 0286016C */ cpu->f[25] = cpu->f[25] * cpu->f[9]; L_02860170: ; // 0x2860170 /* 02860170 */ _t114 = cpu->r[28] + 0x00000047u; /* 02860170 */ cpu->r[0] = rbrew_read8(cpu->mem, _t114); /* 02860174 */ cpu->r[9] = 0x10130000u; /* 02860178 */ _t115 = cpu->r[28] + 0x00000020u; /* 02860178 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t115); /* 0286017C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02860180 */ _t116 = cpu->r[28] + 0x0000001Cu; /* 02860180 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t116); /* 02860184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u); /* 02860188 */ _t117 = cpu->r[9] + 0x00005070u; /* 02860188 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t117); /* 0286018C */ _t118 = cpu->r[28] + 0x00000024u; /* 0286018C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t118); /* 02860190 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860190 */ _t120 = _t119 & 0x00000001u; /* 02860190 */ if (_t120) goto L_028601B8; else goto L_02860194; L_02860194: ; // 0x2860194 /* 02860194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000002u); /* 02860198 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860198 */ _t122 = _t121 & 0x00000001u; /* 02860198 */ if (_t122) goto L_028601CC; else goto L_0286019C; L_0286019C: ; // 0x286019c /* 0286019C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Eu, 0x0000001Fu); /* 028601A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 028601A4 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u); /* 028601A4 */ _t124 = _t123 & 0x00000001u; /* 028601A4 */ if (_t124) goto L_028601A8; else goto L_028601E4; L_028601A8: ; // 0x28601a8 /* 028601A8 */ _t125 = cpu->r[28] + 0x0000000Cu; /* 028601A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t125); /* 028601AC */ _t126 = cpu->r[11] + 0x00000040u; /* 028601AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t126); /* 028601B0 */ cpu->f[27] = fma(cpu->f[11], cpu->f[12], cpu->f[27]); /* 028601B4 */ goto L_02860238; L_028601B8: ; // 0x28601b8 /* 028601B8 */ _t127 = cpu->r[28] + 0x0000000Cu; /* 028601B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t127); /* 028601BC */ _t128 = cpu->r[10] + 0x0000003Cu; /* 028601BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t128); /* 028601C0 */ cpu->f[9] = -cpu->f[13]; /* 028601C4 */ cpu->f[29] = fma(cpu->f[9], cpu->f[12], cpu->f[29]); /* 028601C8 */ goto L_028601D8; L_028601CC: ; // 0x28601cc /* 028601CC */ _t129 = cpu->r[28] + 0x0000000Cu; /* 028601CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t129); /* 028601D0 */ _t130 = cpu->r[10] + 0x0000003Cu; /* 028601D0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t130); /* 028601D4 */ cpu->f[29] = fma(cpu->f[9], cpu->f[12], cpu->f[29]); L_028601D8: ; // 0x28601d8 /* 028601D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Eu, 0x0000001Fu); /* 028601DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 028601E0 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u); /* 028601E0 */ _t132 = _t131 & 0x00000001u; /* 028601E0 */ if (_t132) goto L_028601A8; else goto L_028601E4; L_028601E4: ; // 0x28601e4 /* 028601E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 028601E8 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u); /* 028601E8 */ _t134 = _t133 & 0x00000001u; /* 028601E8 */ if (_t134) goto L_02860228; else goto L_028601EC; L_028601EC: ; // 0x28601ec /* 028601EC */ _t135 = cpu->r[28] + 0x00000028u; /* 028601EC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t135); /* 028601F0 */ cpu->r[8] = 0x10130000u; /* 028601F4 */ cpu->r[6] = 0x10130000u; /* 028601F8 */ _t136 = cpu->r[8] + 0x0000506Cu; /* 028601F8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t136); /* 028601FC */ cpu->r[8] = 0x10130000u; /* 02860200 */ cpu->r[12] = 0x10130000u; /* 02860204 */ _t137 = cpu->r[6] + 0x00005080u; /* 02860204 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t137); /* 02860208 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]); /* 0286020C */ cpu->r[27] = 0x10130000u; /* 02860210 */ _t138 = cpu->r[12] + 0x00005084u; /* 02860210 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t138); /* 02860214 */ cpu->r[8] = cpu->r[8] + 0x00000800u; /* 02860218 */ cpu->r[27] = cpu->r[27] + 0x0000080Cu; /* 0286021C */ _t139 = cpu->r[28] + 0x0000002Cu; /* 0286021C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t139); /* 02860220 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860220 */ _t141 = _t140 & 0x00000001u; /* 02860220 */ if (_t141) goto L_02860224; else goto L_02860278; L_02860224: ; // 0x2860224 /* 02860224 */ goto L_02860270; L_02860228: ; // 0x2860228 /* 02860228 */ _t142 = cpu->r[28] + 0x0000000Cu; /* 02860228 */ cpu->r[11] = rbrew_read32(cpu->mem, _t142); /* 0286022C */ _t143 = cpu->r[11] + 0x00000040u; /* 0286022C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t143); /* 02860230 */ cpu->f[11] = -cpu->f[11]; /* 02860234 */ cpu->f[27] = fma(cpu->f[11], cpu->f[12], cpu->f[27]); L_02860238: ; // 0x2860238 /* 02860238 */ _t144 = cpu->r[28] + 0x00000028u; /* 02860238 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t144); /* 0286023C */ cpu->r[8] = 0x10130000u; /* 02860240 */ cpu->r[6] = 0x10130000u; /* 02860244 */ _t145 = cpu->r[8] + 0x0000506Cu; /* 02860244 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t145); /* 02860248 */ cpu->r[8] = 0x10130000u; /* 0286024C */ cpu->r[12] = 0x10130000u; /* 02860250 */ _t146 = cpu->r[6] + 0x00005080u; /* 02860250 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t146); /* 02860254 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]); /* 02860258 */ cpu->r[27] = 0x10130000u; /* 0286025C */ _t147 = cpu->r[12] + 0x00005084u; /* 0286025C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t147); /* 02860260 */ cpu->r[8] = cpu->r[8] + 0x00000800u; /* 02860264 */ cpu->r[27] = cpu->r[27] + 0x0000080Cu; /* 02860268 */ _t148 = cpu->r[28] + 0x0000002Cu; /* 02860268 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t148); /* 0286026C */ _t149 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286026C */ _t150 = _t149 & 0x00000001u; /* 0286026C */ if (_t150) goto L_02860270; else goto L_02860278; L_02860270: ; // 0x2860270 /* 02860270 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[24], cpu->f[31]); /* 02860274 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860274 */ _t152 = _t151 & 0x00000001u; /* 02860274 */ if (_t152) goto L_028604C0; else goto L_02860278; L_02860278: ; // 0x2860278 /* 02860278 */ _t153 = cpu->r[8] + 0x00000000u; /* 02860278 */ cpu->r[4] = rbrew_read32(cpu->mem, _t153); /* 0286027C */ cpu->r[9] = 0x10130000u; /* 02860280 */ _t154 = cpu->r[9] + 0x00005078u; /* 02860280 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t154); /* 02860284 */ cpu->r[29] = 0x43300000u; /* 02860288 */ _t155 = cpu->r[1] + 0x00000008u; /* 02860288 */ rbrew_write32(cpu->mem, _t155, cpu->r[29]); /* 0286028C */ _t156 = cpu->r[1] + 0x0000000Cu; /* 0286028C */ rbrew_write32(cpu->mem, _t156, cpu->r[4]); /* 02860290 */ _t157 = cpu->r[1] + 0x00000008u; /* 02860290 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t157); /* 02860294 */ cpu->f[9] = cpu->f[6] - cpu->f[8]; /* 02860298 */ cpu->f[13] = (double)(float)cpu->f[9]; /* 0286029C */ cpu->f[31] = cpu->f[13] / cpu->f[11]; /* 028602A0 */ cpu->f[1] = cpu->f[7] * cpu->f[31]; /* 028602A4 */ Gambit_fn_02C898C4(cpu); /* 028602A8 */ _t158 = cpu->r[1] + 0x00000008u; /* 028602A8 */ rbrew_write32(cpu->mem, _t158, cpu->r[29]); /* 028602AC */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000001Fu); /* 028602B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu); /* 028602B4 */ cpu->r[7] = 0x10130000u; /* 028602B8 */ _t159 = cpu->r[1] + 0x0000000Cu; /* 028602B8 */ rbrew_write32(cpu->mem, _t159, cpu->r[5]); /* 028602BC */ _t160 = cpu->r[1] + 0x00000008u; /* 028602BC */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t160); /* 028602C0 */ cpu->f[1] = cpu->f[24] * cpu->f[31]; /* 028602C4 */ _t161 = cpu->r[7] + 0x00005078u; /* 028602C4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t161); /* 028602C8 */ cpu->r[6] = cpu->r[27] + cpu->r[0]; /* 028602CC */ cpu->f[7] = cpu->f[6] - cpu->f[9]; /* 028602D0 */ _t162 = cpu->r[6] + 0x00000008u; /* 028602D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t162); /* 028602D4 */ cpu->f[8] = (double)(float)cpu->f[7]; /* 028602D8 */ _t163 = cpu->r[6] + 0x0000000Cu; /* 028602D8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t163); /* 028602DC */ cpu->f[7] = cpu->f[8] * cpu->f[30]; /* 028602E0 */ _t164 = cpu->r[6] + 0x00000004u; /* 028602E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t164); /* 028602E4 */ _t165 = cpu->r[6] + 0x00000000u; /* 028602E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t165); /* 028602E8 */ cpu->f[24] = fma(cpu->f[10], cpu->f[7], cpu->f[11]); /* 028602EC */ cpu->f[23] = fma(cpu->f[8], cpu->f[7], cpu->f[9]); /* 028602F0 */ Gambit_fn_02C898C4(cpu); /* 028602F4 */ cpu->r[5] = 0x10130000u; /* 028602F8 */ _t166 = cpu->r[28] + 0x00000030u; /* 028602F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t166); /* 028602FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000001Fu); /* 02860300 */ _t167 = cpu->r[5] + 0x00005078u; /* 02860300 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t167); /* 02860304 */ cpu->f[1] = cpu->f[0] * cpu->f[31]; /* 02860308 */ _t168 = cpu->r[1] + 0x0000000Cu; /* 02860308 */ rbrew_write32(cpu->mem, _t168, cpu->r[12]); /* 0286030C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu); /* 02860310 */ _t169 = cpu->r[1] + 0x00000008u; /* 02860310 */ rbrew_write32(cpu->mem, _t169, cpu->r[29]); /* 02860314 */ _t170 = cpu->r[1] + 0x00000008u; /* 02860314 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t170); /* 02860318 */ cpu->r[10] = cpu->r[27] + cpu->r[0]; /* 0286031C */ cpu->f[0] = cpu->f[13] - cpu->f[12]; /* 02860320 */ _t171 = cpu->r[10] + 0x0000000Cu; /* 02860320 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t171); /* 02860324 */ _t172 = cpu->r[10] + 0x00000000u; /* 02860324 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t172); /* 02860328 */ cpu->f[12] = (double)(float)cpu->f[0]; /* 0286032C */ _t173 = cpu->r[10] + 0x00000004u; /* 0286032C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t173); /* 02860330 */ cpu->f[0] = cpu->f[12] * cpu->f[30]; /* 02860334 */ _t174 = cpu->r[10] + 0x00000008u; /* 02860334 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t174); /* 02860338 */ cpu->f[22] = fma(cpu->f[6], cpu->f[0], cpu->f[7]); /* 0286033C */ cpu->f[31] = fma(cpu->f[8], cpu->f[0], cpu->f[9]); /* 02860340 */ Gambit_fn_02C898C4(cpu); /* 02860344 */ _t175 = cpu->r[1] + 0x00000008u; /* 02860344 */ rbrew_write32(cpu->mem, _t175, cpu->r[29]); /* 02860348 */ cpu->r[12] = 0x10130000u; /* 0286034C */ cpu->f[4] = cpu->f[23] * cpu->f[22]; /* 02860350 */ _t176 = cpu->r[12] + 0x00005078u; /* 02860350 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t176); /* 02860354 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000001Fu); /* 02860358 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu); /* 0286035C */ cpu->f[0] = cpu->f[26] * cpu->f[22]; /* 02860360 */ _t177 = cpu->r[1] + 0x0000000Cu; /* 02860360 */ rbrew_write32(cpu->mem, _t177, cpu->r[12]); /* 02860364 */ _t178 = cpu->r[1] + 0x00000008u; /* 02860364 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t178); /* 02860368 */ cpu->r[7] = cpu->r[27] + cpu->r[0]; /* 0286036C */ cpu->f[12] = cpu->f[11] - cpu->f[7]; /* 02860370 */ _t179 = cpu->r[7] + 0x00000000u; /* 02860370 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t179); /* 02860374 */ cpu->f[10] = (double)(float)cpu->f[12]; /* 02860378 */ _t180 = cpu->r[7] + 0x0000000Cu; /* 02860378 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t180); /* 0286037C */ cpu->f[12] = cpu->f[10] * cpu->f[30]; /* 02860380 */ _t181 = cpu->r[7] + 0x00000004u; /* 02860380 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t181); /* 02860384 */ cpu->f[6] = -cpu->f[0]; /* 02860388 */ _t182 = cpu->r[7] + 0x00000008u; /* 02860388 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t182); /* 0286038C */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[7]); /* 02860390 */ cpu->f[3] = fma(cpu->f[8], cpu->f[12], cpu->f[9]); /* 02860394 */ cpu->f[5] = cpu->f[24] * cpu->f[13]; /* 02860398 */ cpu->f[10] = cpu->f[31] * cpu->f[3]; /* 0286039C */ cpu->f[8] = cpu->f[31] * cpu->f[13]; /* 028603A0 */ cpu->f[11] = cpu->f[26] * cpu->f[10]; /* 028603A4 */ cpu->f[9] = cpu->f[24] * cpu->f[3]; /* 028603A8 */ cpu->f[12] = fma(cpu->f[4], cpu->f[3], -(cpu->f[5])); /* 028603AC */ cpu->f[10] = fma(cpu->f[4], cpu->f[13], cpu->f[9]); /* 028603B0 */ cpu->f[0] = cpu->f[23] * cpu->f[13]; /* 028603B4 */ cpu->f[13] = cpu->f[25] * cpu->f[12]; /* 028603B8 */ _t183 = cpu->r[1] + 0x00000010u; /* 028603B8 */ rbrew_write_f32(cpu->mem, _t183, cpu->f[11]); /* 028603BC */ cpu->f[7] = fma(cpu->f[9], cpu->f[22], cpu->f[0]); /* 028603C0 */ _t184 = cpu->r[1] + 0x0000001Cu; /* 028603C0 */ rbrew_write_f32(cpu->mem, _t184, cpu->f[29]); /* 028603C4 */ cpu->f[12] = cpu->f[23] * cpu->f[3]; /* 028603C8 */ _t185 = cpu->r[1] + 0x00000018u; /* 028603C8 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[7]); /* 028603CC */ _t186 = cpu->r[1] + 0x00000014u; /* 028603CC */ rbrew_write_f32(cpu->mem, _t186, cpu->f[13]); /* 028603D0 */ cpu->f[9] = cpu->f[26] * cpu->f[8]; /* 028603D4 */ _t187 = cpu->r[1] + 0x00000030u; /* 028603D4 */ rbrew_write_f32(cpu->mem, _t187, cpu->f[6]); /* 028603D8 */ cpu->f[11] = cpu->f[25] * cpu->f[10]; /* 028603DC */ _t188 = cpu->r[1] + 0x00000020u; /* 028603DC */ rbrew_write_f32(cpu->mem, _t188, cpu->f[9]); /* 028603E0 */ cpu->f[7] = cpu->f[23] * cpu->f[31]; /* 028603E4 */ _t189 = cpu->r[1] + 0x0000002Cu; /* 028603E4 */ rbrew_write_f32(cpu->mem, _t189, cpu->f[27]); /* 028603E8 */ cpu->f[13] = fma(cpu->f[5], cpu->f[22], -(cpu->f[12])); /* 028603EC */ /* nop */ /* 028603F0 */ cpu->f[8] = cpu->f[25] * cpu->f[7]; /* 028603F4 */ _t190 = cpu->r[1] + 0x00000024u; /* 028603F4 */ rbrew_write_f32(cpu->mem, _t190, cpu->f[11]); /* 028603F8 */ _t191 = cpu->r[1] + 0x0000003Cu; /* 028603F8 */ rbrew_write_f32(cpu->mem, _t191, cpu->f[28]); /* 028603FC */ cpu->f[10] = cpu->f[24] * cpu->f[31]; /* 02860400 */ _t192 = cpu->r[1] + 0x00000034u; /* 02860400 */ rbrew_write_f32(cpu->mem, _t192, cpu->f[8]); /* 02860404 */ _t193 = cpu->r[1] + 0x00000038u; /* 02860404 */ rbrew_write_f32(cpu->mem, _t193, cpu->f[10]); /* 02860408 */ cpu->r[12] = cpu->r[1] + 0x00000010u; /* 0286040C */ _t194 = cpu->r[1] + 0x00000028u; /* 0286040C */ rbrew_write_f32(cpu->mem, _t194, cpu->f[13]); /* 02860410 */ /* nop */ /* 02860414 */ /* nop */ /* 02860418 */ /* nop */ /* 0286041C */ /* nop */ /* 02860420 */ /* nop */ /* 02860424 */ /* nop */ /* 02860428 */ /* nop */ /* 0286042C */ /* nop */ /* 02860430 */ /* nop */ /* 02860434 */ /* nop */ /* 02860438 */ /* nop */ /* 0286043C */ /* nop */ /* 02860440 */ /* nop */ /* 02860444 */ /* nop */ /* 02860448 */ cpu->r[8] = cpu->r[28] + 0x00000048u; /* 0286044C */ /* nop */ /* 02860450 */ /* nop */ /* 02860454 */ /* nop */ /* 02860458 */ /* nop */ /* 0286045C */ /* nop */ /* 02860460 */ /* nop */ /* 02860464 */ /* nop */ /* 02860468 */ /* nop */ /* 0286046C */ /* nop */ /* 02860470 */ /* nop */ /* 02860474 */ /* nop */ /* 02860478 */ /* nop */ /* 0286047C */ /* nop */ /* 02860480 */ /* nop */ /* 02860484 */ /* nop */ /* 02860488 */ /* nop */ /* 0286048C */ /* nop */ /* 02860490 */ /* nop */ /* 02860494 */ /* nop */ /* 02860498 */ /* nop */ /* 0286049C */ /* nop */ /* 028604A0 */ /* nop */ /* 028604A4 */ /* nop */ /* 028604A8 */ /* nop */ /* 028604AC */ /* nop */ /* 028604B0 */ _t195 = cpu->r[28] + 0x00000044u; /* 028604B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t195); /* 028604B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 028604B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028604B8 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u); /* 028604B8 */ _t197 = _t196 & 0x00000001u; /* 028604B8 */ if (_t197) goto L_0286080C; else goto L_028604BC; L_028604BC: ; // 0x28604bc /* 028604BC */ goto L_028606F8; L_028604C0: ; // 0x28604c0 /* 028604C0 */ _t198 = cpu->r[28] + 0x00000030u; /* 028604C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t198); /* 028604C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]); /* 028604C8 */ _t199 = cpu->cr[0] >> (0x00000001u & 31u); /* 028604C8 */ _t200 = _t199 & 0x00000001u; /* 028604C8 */ if (_t200) goto L_02860644; else goto L_028604CC; L_028604CC: ; // 0x28604cc /* 028604CC */ _t201 = cpu->r[8] + 0x00000000u; /* 028604CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t201); /* 028604D0 */ cpu->r[11] = 0x10130000u; /* 028604D4 */ _t202 = cpu->r[11] + 0x00005078u; /* 028604D4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t202); /* 028604D8 */ cpu->r[29] = 0x43300000u; /* 028604DC */ _t203 = cpu->r[1] + 0x00000008u; /* 028604DC */ rbrew_write32(cpu->mem, _t203, cpu->r[29]); /* 028604E0 */ _t204 = cpu->r[1] + 0x0000000Cu; /* 028604E0 */ rbrew_write32(cpu->mem, _t204, cpu->r[10]); /* 028604E4 */ _t205 = cpu->r[1] + 0x00000008u; /* 028604E4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t205); /* 028604E8 */ cpu->f[10] = cpu->f[9] - cpu->f[13]; /* 028604EC */ cpu->f[7] = (double)(float)cpu->f[10]; /* 028604F0 */ cpu->f[11] = cpu->f[7] / cpu->f[11]; /* 028604F4 */ cpu->f[1] = cpu->f[12] * cpu->f[11]; /* 028604F8 */ Gambit_fn_02C898C4(cpu); /* 028604FC */ _t206 = cpu->r[1] + 0x00000008u; /* 028604FC */ rbrew_write32(cpu->mem, _t206, cpu->r[29]); /* 02860500 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000001Fu); /* 02860504 */ cpu->r[10] = 0x10130000u; /* 02860508 */ _t207 = cpu->r[1] + 0x0000000Cu; /* 02860508 */ rbrew_write32(cpu->mem, _t207, cpu->r[8]); /* 0286050C */ _t208 = cpu->r[1] + 0x00000008u; /* 0286050C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t208); /* 02860510 */ _t209 = cpu->r[10] + 0x00005078u; /* 02860510 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t209); /* 02860514 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu); /* 02860518 */ _t210 = cpu->r[1] + 0x0000003Cu; /* 02860518 */ rbrew_write_f32(cpu->mem, _t210, cpu->f[28]); /* 0286051C */ cpu->f[12] = cpu->f[11] - cpu->f[10]; /* 02860520 */ _t211 = cpu->r[27] + cpu->r[4]; /* 02860520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t211); /* 02860524 */ _t212 = cpu->r[1] + 0x00000018u; /* 02860524 */ rbrew_write_f32(cpu->mem, _t212, cpu->f[31]); /* 02860528 */ cpu->r[9] = cpu->r[27] + cpu->r[4]; /* 0286052C */ cpu->f[6] = (double)(float)cpu->f[12]; /* 02860530 */ _t213 = cpu->r[9] + 0x0000000Cu; /* 02860530 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t213); /* 02860534 */ _t214 = cpu->r[9] + 0x00000004u; /* 02860534 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t214); /* 02860538 */ cpu->f[6] = cpu->f[6] * cpu->f[30]; /* 0286053C */ _t215 = cpu->r[9] + 0x00000008u; /* 0286053C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t215); /* 02860540 */ _t216 = cpu->r[1] + 0x0000001Cu; /* 02860540 */ rbrew_write_f32(cpu->mem, _t216, cpu->f[29]); /* 02860544 */ cpu->r[9] = 0x10130000u; /* 02860548 */ cpu->f[12] = fma(cpu->f[13], cpu->f[6], cpu->f[0]); /* 0286054C */ _t217 = cpu->r[9] + 0x00005068u; /* 0286054C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t217); /* 02860550 */ cpu->f[0] = fma(cpu->f[7], cpu->f[6], cpu->f[8]); /* 02860554 */ cpu->f[6] = cpu->f[26] * cpu->f[12]; /* 02860558 */ _t218 = cpu->r[1] + 0x00000028u; /* 02860558 */ rbrew_write_f32(cpu->mem, _t218, cpu->f[31]); /* 0286055C */ _t219 = cpu->r[1] + 0x00000030u; /* 0286055C */ rbrew_write_f32(cpu->mem, _t219, cpu->f[31]); /* 02860560 */ cpu->f[9] = cpu->f[26] * cpu->f[0]; /* 02860564 */ _t220 = cpu->r[1] + 0x00000034u; /* 02860564 */ rbrew_write_f32(cpu->mem, _t220, cpu->f[31]); /* 02860568 */ cpu->f[10] = cpu->f[25] * cpu->f[12]; /* 0286056C */ _t221 = cpu->r[1] + 0x00000038u; /* 0286056C */ rbrew_write_f32(cpu->mem, _t221, cpu->f[13]); /* 02860570 */ _t222 = cpu->r[1] + 0x00000020u; /* 02860570 */ rbrew_write_f32(cpu->mem, _t222, cpu->f[6]); /* 02860574 */ cpu->f[11] = -cpu->f[10]; /* 02860578 */ _t223 = cpu->r[1] + 0x00000010u; /* 02860578 */ rbrew_write_f32(cpu->mem, _t223, cpu->f[9]); /* 0286057C */ cpu->f[8] = cpu->f[25] * cpu->f[0]; /* 02860580 */ _t224 = cpu->r[1] + 0x0000002Cu; /* 02860580 */ rbrew_write_f32(cpu->mem, _t224, cpu->f[27]); /* 02860584 */ _t225 = cpu->r[1] + 0x00000014u; /* 02860584 */ rbrew_write_f32(cpu->mem, _t225, cpu->f[11]); /* 02860588 */ cpu->r[7] = cpu->r[1] + 0x00000010u; /* 0286058C */ _t226 = cpu->r[1] + 0x00000024u; /* 0286058C */ rbrew_write_f32(cpu->mem, _t226, cpu->f[8]); /* 02860590 */ /* nop */ /* 02860594 */ /* nop */ /* 02860598 */ /* nop */ /* 0286059C */ cpu->r[8] = cpu->r[28] + 0x00000048u; /* 028605A0 */ /* nop */ /* 028605A4 */ /* nop */ /* 028605A8 */ /* nop */ /* 028605AC */ /* nop */ /* 028605B0 */ /* nop */ /* 028605B4 */ /* nop */ /* 028605B8 */ /* nop */ /* 028605BC */ /* nop */ /* 028605C0 */ /* nop */ /* 028605C4 */ /* nop */ /* 028605C8 */ /* nop */ /* 028605CC */ /* nop */ /* 028605D0 */ /* nop */ /* 028605D4 */ /* nop */ /* 028605D8 */ /* nop */ /* 028605DC */ /* nop */ /* 028605E0 */ /* nop */ /* 028605E4 */ /* nop */ /* 028605E8 */ /* nop */ /* 028605EC */ /* nop */ /* 028605F0 */ /* nop */ /* 028605F4 */ /* nop */ /* 028605F8 */ /* nop */ /* 028605FC */ /* nop */ /* 02860600 */ /* nop */ /* 02860604 */ /* nop */ /* 02860608 */ /* nop */ /* 0286060C */ /* nop */ /* 02860610 */ /* nop */ /* 02860614 */ /* nop */ /* 02860618 */ /* nop */ /* 0286061C */ /* nop */ /* 02860620 */ /* nop */ /* 02860624 */ /* nop */ /* 02860628 */ /* nop */ /* 0286062C */ /* nop */ /* 02860630 */ /* nop */ /* 02860634 */ _t227 = cpu->r[28] + 0x00000044u; /* 02860634 */ cpu->r[0] = rbrew_read8(cpu->mem, _t227); /* 02860638 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 02860638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0286063C */ _t228 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286063C */ _t229 = _t228 & 0x00000001u; /* 0286063C */ if (_t229) goto L_0286080C; else goto L_02860640; L_02860640: ; // 0x2860640 /* 02860640 */ goto L_028606F8; L_02860644: ; // 0x2860644 /* 02860644 */ _t230 = cpu->r[25] + 0x00000000u; /* 02860644 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t230); /* 02860648 */ _t231 = cpu->r[25] + 0x00000014u; /* 02860648 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t231); /* 0286064C */ cpu->f[24] = cpu->f[4] * cpu->f[26]; /* 02860650 */ _t232 = cpu->r[25] + 0x00000018u; /* 02860650 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t232); /* 02860654 */ cpu->f[13] = cpu->f[10] * cpu->f[27]; /* 02860658 */ _t233 = cpu->r[25] + 0x00000004u; /* 02860658 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t233); /* 0286065C */ _t234 = cpu->r[25] + 0x00000008u; /* 0286065C */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t234); /* 02860660 */ cpu->f[2] = fma(cpu->f[11], cpu->f[28], cpu->f[13]); /* 02860664 */ _t235 = cpu->r[25] + 0x00000028u; /* 02860664 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t235); /* 02860668 */ cpu->f[0] = cpu->f[7] * cpu->f[27]; /* 0286066C */ _t236 = cpu->r[25] + 0x00000024u; /* 0286066C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t236); /* 02860670 */ cpu->f[31] = fma(cpu->f[5], cpu->f[28], cpu->f[0]); /* 02860674 */ _t237 = cpu->r[25] + 0x0000001Cu; /* 02860674 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t237); /* 02860678 */ cpu->f[0] = cpu->f[12] * cpu->f[27]; /* 0286067C */ _t238 = cpu->r[25] + 0x00000010u; /* 0286067C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t238); /* 02860680 */ cpu->f[31] = fma(cpu->f[4], cpu->f[29], cpu->f[31]); /* 02860684 */ cpu->f[30] = cpu->f[7] * cpu->f[25]; /* 02860688 */ _t239 = cpu->r[25] + 0x00000020u; /* 02860688 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t239); /* 0286068C */ cpu->f[3] = fma(cpu->f[13], cpu->f[28], cpu->f[0]); /* 02860690 */ _t240 = cpu->r[25] + 0x0000000Cu; /* 02860690 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t240); /* 02860694 */ cpu->f[1] = cpu->f[9] * cpu->f[26]; /* 02860698 */ _t241 = cpu->r[28] + 0x00000044u; /* 02860698 */ cpu->r[0] = rbrew_read8(cpu->mem, _t241); /* 0286069C */ cpu->f[4] = fma(cpu->f[7], cpu->f[29], cpu->f[3]); /* 028606A0 */ _t242 = cpu->r[25] + 0x0000002Cu; /* 028606A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t242); /* 028606A4 */ cpu->f[3] = cpu->f[31] + cpu->f[8]; /* 028606A8 */ _t243 = cpu->r[28] + 0x0000004Cu; /* 028606A8 */ rbrew_write_f32(cpu->mem, _t243, cpu->f[30]); /* 028606AC */ cpu->f[8] = fma(cpu->f[9], cpu->f[29], cpu->f[2]); /* 028606B0 */ _t244 = cpu->r[28] + 0x00000050u; /* 028606B0 */ rbrew_write_f32(cpu->mem, _t244, cpu->f[5]); /* 028606B4 */ cpu->f[10] = cpu->f[10] * cpu->f[25]; /* 028606B8 */ _t245 = cpu->r[28] + 0x00000054u; /* 028606B8 */ rbrew_write_f32(cpu->mem, _t245, cpu->f[3]); /* 028606BC */ _t246 = cpu->r[28] + 0x00000058u; /* 028606BC */ rbrew_write_f32(cpu->mem, _t246, cpu->f[1]); /* 028606C0 */ cpu->f[9] = cpu->f[8] + cpu->f[6]; /* 028606C4 */ _t247 = cpu->r[28] + 0x00000048u; /* 028606C4 */ rbrew_write_f32(cpu->mem, _t247, cpu->f[24]); /* 028606C8 */ _t248 = cpu->r[28] + 0x0000005Cu; /* 028606C8 */ rbrew_write_f32(cpu->mem, _t248, cpu->f[10]); /* 028606CC */ cpu->f[10] = cpu->f[7] * cpu->f[26]; /* 028606D0 */ _t249 = cpu->r[28] + 0x00000060u; /* 028606D0 */ rbrew_write_f32(cpu->mem, _t249, cpu->f[11]); /* 028606D4 */ _t250 = cpu->r[28] + 0x00000064u; /* 028606D4 */ rbrew_write_f32(cpu->mem, _t250, cpu->f[9]); /* 028606D8 */ cpu->f[12] = cpu->f[12] * cpu->f[25]; /* 028606DC */ _t251 = cpu->r[28] + 0x00000068u; /* 028606DC */ rbrew_write_f32(cpu->mem, _t251, cpu->f[10]); /* 028606E0 */ cpu->f[6] = cpu->f[4] + cpu->f[0]; /* 028606E4 */ _t252 = cpu->r[28] + 0x0000006Cu; /* 028606E4 */ rbrew_write_f32(cpu->mem, _t252, cpu->f[12]); /* 028606E8 */ _t253 = cpu->r[28] + 0x00000070u; /* 028606E8 */ rbrew_write_f32(cpu->mem, _t253, cpu->f[13]); /* 028606EC */ _t254 = cpu->r[28] + 0x00000074u; /* 028606EC */ rbrew_write_f32(cpu->mem, _t254, cpu->f[6]); L_028606F0: ; // 0x28606f0 /* 028606F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 028606F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028606F4 */ _t255 = cpu->cr[0] >> (0x00000001u & 31u); /* 028606F4 */ _t256 = _t255 & 0x00000001u; /* 028606F4 */ if (_t256) goto L_0286080C; else goto L_028606F8; L_028606F8: ; // 0x28606f8 /* 028606F8 */ _t257 = cpu->r[28] + 0x00000045u; /* 028606F8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t257); /* 028606FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu); /* 02860700 */ _t258 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860700 */ _t259 = _t258 & 0x00000001u; /* 02860700 */ if (_t259) goto L_0286080C; else goto L_02860704; L_02860704: ; // 0x2860704 /* 02860704 */ _t260 = cpu->r[1] + 0x0000000Cu; /* 02860704 */ rbrew_write32(cpu->mem, _t260, cpu->r[10]); /* 02860708 */ cpu->r[5] = 0x43300000u; /* 0286070C */ cpu->r[8] = 0x10130000u; /* 02860710 */ _t261 = cpu->r[1] + 0x00000008u; /* 02860710 */ rbrew_write32(cpu->mem, _t261, cpu->r[5]); /* 02860714 */ _t262 = cpu->r[1] + 0x00000008u; /* 02860714 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t262); /* 02860718 */ _t263 = cpu->r[8] + 0x00005078u; /* 02860718 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t263); /* 0286071C */ cpu->r[7] = 0x10130000u; /* 02860720 */ cpu->f[9] = cpu->f[8] - cpu->f[0]; /* 02860724 */ _t264 = cpu->r[7] + 0x00005088u; /* 02860724 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t264); /* 02860728 */ cpu->f[7] = (double)(float)cpu->f[9]; /* 0286072C */ _t265 = cpu->r[30] + 0x00000010u; /* 0286072C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t265); /* 02860730 */ cpu->f[10] = cpu->f[31] * cpu->f[7]; /* 02860734 */ _t266 = cpu->r[30] + 0x00000017u; /* 02860734 */ cpu->r[27] = rbrew_read8(cpu->mem, _t266); /* 02860738 */ cpu->r[11] = 0x00000001u; /* 0286073C */ cpu->f[11] = cpu->f[10] * cpu->f[0]; /* 02860740 */ _t267 = cpu->r[30] + 0x00000017u; /* 02860740 */ rbrew_write8(cpu->mem, _t267, (uint8_t)cpu->r[11]); /* 02860744 */ _t268 = cpu->r[30] + 0x00000010u; /* 02860744 */ rbrew_write_f32(cpu->mem, _t268, cpu->f[11]); /* 02860748 */ _t269 = cpu->r[28] + 0x00000014u; /* 02860748 */ cpu->r[29] = rbrew_read32(cpu->mem, _t269); /* 02860748 */ cpu->r[28] = _t269; /* 0286074C */ cpu->r[0] = cpu->r[29] ^ cpu->r[28]; /* 02860750 */ cpu->r[4] = rbrew_clz32(cpu->r[0]); /* 02860754 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860758 */ cpu->r[11] = cpu->r[12] ^ 0x00000001u; /* 0286075C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0286075C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02860760 */ _t270 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860760 */ _t271 = _t270 & 0x00000001u; /* 02860760 */ if (_t271) goto L_0286079C; else goto L_02860764; L_02860764: ; // 0x2860764 /* 02860764 */ _t272 = cpu->r[29] + 0x00000008u; /* 02860764 */ cpu->r[6] = rbrew_read32(cpu->mem, _t272); /* 02860768 */ _t273 = cpu->r[6] + 0x00000084u; /* 02860768 */ cpu->r[10] = rbrew_read32(cpu->mem, _t273); /* 0286076C */ cpu->ctr = cpu->r[10]; /* 02860770 */ cpu->r[3] = cpu->r[29]; /* 02860774 */ cpu->r[4] = cpu->r[30]; /* 02860778 */ cpu->r[5] = cpu->r[31]; /* 0286077C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02860780 */ _t274 = cpu->r[29] + 0x00000000u; /* 02860780 */ cpu->r[29] = rbrew_read32(cpu->mem, _t274); /* 02860784 */ cpu->r[12] = cpu->r[29] ^ cpu->r[28]; /* 02860788 */ cpu->r[0] = rbrew_clz32(cpu->r[12]); /* 0286078C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860790 */ cpu->r[4] = cpu->r[11] ^ 0x00000001u; /* 02860794 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02860798 */ _t275 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860798 */ _t276 = _t275 & 0x00000001u; /* 02860798 */ if (_t276) goto L_0286079C; else goto L_02860764; L_0286079C: ; // 0x286079c /* 0286079C */ _t277 = cpu->r[30] + 0x00000017u; /* 0286079C */ rbrew_write8(cpu->mem, _t277, (uint8_t)cpu->r[27]); /* 028607A0 */ _t278 = cpu->r[30] + 0x00000010u; /* 028607A0 */ rbrew_write_f32(cpu->mem, _t278, cpu->f[31]); /* 028607A4 */ /* nop */ /* 028607A8 */ _t279 = cpu->r[1] + 0x000000A8u; /* 028607A8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t279); /* 028607AC */ _t280 = cpu->r[1] + 0x00000088u; /* 028607AC */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t280); /* 028607B0 */ _t281 = cpu->r[1] + 0x000000A0u; /* 028607B0 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t281); /* 028607B4 */ _t282 = cpu->r[1] + 0x00000080u; /* 028607B4 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t282); /* 028607B8 */ _t283 = cpu->r[1] + 0x000000C8u; /* 028607B8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t283); /* 028607BC */ _t284 = cpu->r[1] + 0x00000098u; /* 028607BC */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t284); /* 028607C0 */ _t285 = cpu->r[1] + 0x000000C0u; /* 028607C0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t285); /* 028607C4 */ _t286 = cpu->r[1] + 0x00000090u; /* 028607C4 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t286); /* 028607C8 */ _t287 = cpu->r[1] + 0x000000E8u; /* 028607C8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t287); /* 028607CC */ _t288 = cpu->r[1] + 0x000000B8u; /* 028607CC */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t288); /* 028607D0 */ _t289 = cpu->r[1] + 0x000000E0u; /* 028607D0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t289); /* 028607D4 */ _t290 = cpu->r[1] + 0x000000B0u; /* 028607D4 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t290); /* 028607D8 */ _t291 = cpu->r[1] + 0x00000078u; /* 028607D8 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t291); /* 028607DC */ _t292 = cpu->r[1] + 0x000000D8u; /* 028607DC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t292); /* 028607E0 */ _t293 = cpu->r[1] + 0x00000070u; /* 028607E0 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t293); /* 028607E4 */ _t294 = cpu->r[1] + 0x000000D0u; /* 028607E4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t294); /* 028607E8 */ _t295 = cpu->r[1] + 0x00000068u; /* 028607E8 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t295); /* 028607EC */ _t296 = cpu->r[1] + 0x000000F8u; /* 028607EC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t296); /* 028607F0 */ _t297 = cpu->r[1] + 0x00000060u; /* 028607F0 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t297); /* 028607F4 */ _t298 = cpu->r[1] + 0x000000F0u; /* 028607F4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t298); /* 028607F8 */ _t299 = cpu->cr[0] >> (0x00000003u & 31u); /* 028607F8 */ _t300 = _t299 & 0x00000001u; /* 028607F8 */ if (_t300) goto L_028607FC; // else: addr-0 trap, fall-through L_028607FC: ; // 0x28607fc /* 028607FC */ _t301 = cpu->r[1] + 0x00000104u; /* 028607FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t301); /* 02860800 */ cpu->lr = cpu->r[0]; /* 02860804 */ cpu->r[1] = cpu->r[1] + 0x00000100u; /* 02860808 */ return; L_0286080C: ; // 0x286080c /* 0286080C */ _t302 = cpu->r[28] + 0x00000014u; /* 0286080C */ cpu->r[29] = rbrew_read32(cpu->mem, _t302); /* 0286080C */ cpu->r[28] = _t302; /* 02860810 */ cpu->r[9] = cpu->r[29] ^ cpu->r[28]; /* 02860814 */ cpu->r[0] = rbrew_clz32(cpu->r[9]); /* 02860818 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0286081C */ cpu->r[12] = cpu->r[7] ^ 0x00000001u; /* 02860820 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02860824 */ _t303 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860824 */ _t304 = _t303 & 0x00000001u; /* 02860824 */ if (_t304) goto L_02860860; else goto L_02860828; L_02860828: ; // 0x2860828 /* 02860828 */ _t305 = cpu->r[29] + 0x00000008u; /* 02860828 */ cpu->r[5] = rbrew_read32(cpu->mem, _t305); /* 0286082C */ _t306 = cpu->r[5] + 0x00000084u; /* 0286082C */ cpu->r[6] = rbrew_read32(cpu->mem, _t306); /* 02860830 */ cpu->ctr = cpu->r[6]; /* 02860834 */ cpu->r[5] = cpu->r[31]; /* 02860838 */ cpu->r[3] = cpu->r[29]; /* 0286083C */ cpu->r[4] = cpu->r[30]; /* 02860840 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02860844 */ _t307 = cpu->r[29] + 0x00000000u; /* 02860844 */ cpu->r[29] = rbrew_read32(cpu->mem, _t307); /* 02860848 */ cpu->r[4] = cpu->r[29] ^ cpu->r[28]; /* 0286084C */ cpu->r[5] = rbrew_clz32(cpu->r[4]); /* 02860850 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860854 */ cpu->r[6] = cpu->r[8] ^ 0x00000001u; /* 02860858 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0286085C */ _t308 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286085C */ _t309 = _t308 & 0x00000001u; /* 0286085C */ if (_t309) goto L_02860860; else goto L_02860828; L_02860860: ; // 0x2860860 /* 02860860 */ /* nop */ /* 02860864 */ _t310 = cpu->r[1] + 0x000000A8u; /* 02860864 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t310); /* 02860868 */ _t311 = cpu->r[1] + 0x00000088u; /* 02860868 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t311); /* 0286086C */ _t312 = cpu->r[1] + 0x000000A0u; /* 0286086C */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t312); /* 02860870 */ _t313 = cpu->r[1] + 0x00000080u; /* 02860870 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t313); /* 02860874 */ _t314 = cpu->r[1] + 0x000000C8u; /* 02860874 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t314); /* 02860878 */ _t315 = cpu->r[1] + 0x00000098u; /* 02860878 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t315); /* 0286087C */ _t316 = cpu->r[1] + 0x000000C0u; /* 0286087C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t316); /* 02860880 */ _t317 = cpu->r[1] + 0x00000090u; /* 02860880 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t317); /* 02860884 */ _t318 = cpu->r[1] + 0x000000E8u; /* 02860884 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t318); /* 02860888 */ _t319 = cpu->r[1] + 0x000000B8u; /* 02860888 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t319); /* 0286088C */ _t320 = cpu->r[1] + 0x000000E0u; /* 0286088C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t320); /* 02860890 */ _t321 = cpu->r[1] + 0x000000B0u; /* 02860890 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t321); /* 02860894 */ _t322 = cpu->r[1] + 0x00000078u; /* 02860894 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t322); /* 02860898 */ _t323 = cpu->r[1] + 0x000000D8u; /* 02860898 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t323); /* 0286089C */ _t324 = cpu->r[1] + 0x00000070u; /* 0286089C */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t324); /* 028608A0 */ _t325 = cpu->r[1] + 0x000000D0u; /* 028608A0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t325); /* 028608A4 */ _t326 = cpu->r[1] + 0x00000068u; /* 028608A4 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t326); /* 028608A8 */ _t327 = cpu->r[1] + 0x000000F8u; /* 028608A8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t327); /* 028608AC */ _t328 = cpu->r[1] + 0x00000060u; /* 028608AC */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t328); /* 028608B0 */ _t329 = cpu->r[1] + 0x000000F0u; /* 028608B0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t329); /* 028608B4 */ _t330 = cpu->cr[0] >> (0x00000003u & 31u); /* 028608B4 */ _t331 = _t330 & 0x00000001u; /* 028608B4 */ if (_t331) goto L_028608B8; // else: addr-0 trap, fall-through L_028608B8: ; // 0x28608b8 /* 028608B8 */ _t332 = cpu->r[1] + 0x00000104u; /* 028608B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t332); /* 028608BC */ cpu->lr = cpu->r[0]; /* 028608C0 */ cpu->r[1] = cpu->r[1] + 0x00000100u; /* 028608C4 */ return; } // fn_028608C8 @ 0x28608c8 void Gambit_fn_028608C8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30; L_028608C8: ; // 0x28608c8 /* 028608C8 */ cpu->r[0] = cpu->lr; /* 028608CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028608CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028608CC */ cpu->r[1] = _t0; /* 028608D0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028608D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028608D4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028608D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028608D8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028608D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028608DC */ cpu->r[30] = cpu->r[3]; /* 028608E0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028608E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028608E4 */ _t5 = cpu->r[30] + 0x00000044u; /* 028608E4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5); /* 028608E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028608E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028608EC */ cpu->r[31] = cpu->r[4]; /* 028608F0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028608F0 */ _t7 = _t6 & 0x00000001u; /* 028608F0 */ if (_t7) goto L_02860980; else goto L_028608F4; L_028608F4: ; // 0x28608f4 /* 028608F4 */ _t8 = cpu->r[30] + 0x00000046u; /* 028608F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8); /* 028608F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028608FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028608FC */ _t10 = _t9 & 0x00000001u; /* 028608FC */ if (_t10) goto L_0286091C; else goto L_02860900; L_02860900: ; // 0x2860900 /* 02860900 */ _t11 = cpu->r[30] + 0x00000008u; /* 02860900 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 02860904 */ _t12 = cpu->r[6] + 0x00000094u; /* 02860904 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12); /* 02860908 */ cpu->ctr = cpu->r[7]; /* 0286090C */ cpu->r[3] = cpu->r[30]; /* 02860910 */ cpu->r[4] = cpu->r[31]; /* 02860914 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02860918 */ _t13 = cpu->r[30] + 0x00000044u; /* 02860918 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13); L_0286091C: ; // 0x286091c /* 0286091C */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 0286091C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02860920 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860920 */ _t15 = _t14 & 0x00000001u; /* 02860920 */ if (_t15) goto L_02860930; else goto L_02860924; L_02860924: ; // 0x2860924 /* 02860924 */ _t16 = cpu->r[30] + 0x00000045u; /* 02860924 */ cpu->r[9] = rbrew_read8(cpu->mem, _t16); /* 02860928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0286092C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286092C */ _t18 = _t17 & 0x00000001u; /* 0286092C */ if (_t18) goto L_02860980; else goto L_02860930; L_02860930: ; // 0x2860930 /* 02860930 */ _t19 = cpu->r[30] + 0x00000014u; /* 02860930 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02860930 */ cpu->r[30] = _t19; /* 02860934 */ cpu->r[11] = cpu->r[29] ^ cpu->r[30]; /* 02860938 */ cpu->r[12] = rbrew_clz32(cpu->r[11]); /* 0286093C */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860940 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u; /* 02860944 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02860948 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860948 */ _t21 = _t20 & 0x00000001u; /* 02860948 */ if (_t21) goto L_02860980; else goto L_0286094C; L_0286094C: ; // 0x286094c /* 0286094C */ _t22 = cpu->r[29] + 0x00000008u; /* 0286094C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22); /* 02860950 */ _t23 = cpu->r[12] + 0x0000008Cu; /* 02860950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 02860954 */ cpu->ctr = cpu->r[0]; /* 02860958 */ cpu->r[3] = cpu->r[29]; /* 0286095C */ cpu->r[4] = cpu->r[31]; /* 02860960 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02860964 */ _t24 = cpu->r[29] + 0x00000000u; /* 02860964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 02860968 */ cpu->r[7] = cpu->r[29] ^ cpu->r[30]; /* 0286096C */ cpu->r[8] = rbrew_clz32(cpu->r[7]); /* 02860970 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860974 */ cpu->r[9] = cpu->r[6] ^ 0x00000001u; /* 02860978 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0286097C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286097C */ _t26 = _t25 & 0x00000001u; /* 0286097C */ if (_t26) goto L_02860980; else goto L_0286094C; L_02860980: ; // 0x2860980 /* 02860980 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02860980 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27); /* 02860984 */ _t28 = cpu->r[1] + 0x0000001Cu; /* 02860984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02860988 */ _t29 = cpu->r[1] + 0x00000010u; /* 02860988 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 0286098C */ cpu->lr = cpu->r[0]; /* 02860990 */ _t30 = cpu->r[1] + 0x00000014u; /* 02860990 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 02860994 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02860998 */ return; } // fn_028608CC @ 0x28608cc void Gambit_fn_028608CC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30; L_028608CC: ; // 0x28608cc /* 028608CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028608CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028608CC */ cpu->r[1] = _t0; /* 028608D0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028608D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028608D4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028608D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028608D8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028608D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028608DC */ cpu->r[30] = cpu->r[3]; /* 028608E0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028608E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028608E4 */ _t5 = cpu->r[30] + 0x00000044u; /* 028608E4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5); /* 028608E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028608E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028608EC */ cpu->r[31] = cpu->r[4]; /* 028608F0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028608F0 */ _t7 = _t6 & 0x00000001u; /* 028608F0 */ if (_t7) goto L_02860980; else goto L_028608F4; L_028608F4: ; // 0x28608f4 /* 028608F4 */ _t8 = cpu->r[30] + 0x00000046u; /* 028608F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8); /* 028608F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028608FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028608FC */ _t10 = _t9 & 0x00000001u; /* 028608FC */ if (_t10) goto L_0286091C; else goto L_02860900; L_02860900: ; // 0x2860900 /* 02860900 */ _t11 = cpu->r[30] + 0x00000008u; /* 02860900 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 02860904 */ _t12 = cpu->r[6] + 0x00000094u; /* 02860904 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12); /* 02860908 */ cpu->ctr = cpu->r[7]; /* 0286090C */ cpu->r[3] = cpu->r[30]; /* 02860910 */ cpu->r[4] = cpu->r[31]; /* 02860914 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02860918 */ _t13 = cpu->r[30] + 0x00000044u; /* 02860918 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13); L_0286091C: ; // 0x286091c /* 0286091C */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 0286091C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02860920 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860920 */ _t15 = _t14 & 0x00000001u; /* 02860920 */ if (_t15) goto L_02860930; else goto L_02860924; L_02860924: ; // 0x2860924 /* 02860924 */ _t16 = cpu->r[30] + 0x00000045u; /* 02860924 */ cpu->r[9] = rbrew_read8(cpu->mem, _t16); /* 02860928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0286092C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286092C */ _t18 = _t17 & 0x00000001u; /* 0286092C */ if (_t18) goto L_02860980; else goto L_02860930; L_02860930: ; // 0x2860930 /* 02860930 */ _t19 = cpu->r[30] + 0x00000014u; /* 02860930 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02860930 */ cpu->r[30] = _t19; /* 02860934 */ cpu->r[11] = cpu->r[29] ^ cpu->r[30]; /* 02860938 */ cpu->r[12] = rbrew_clz32(cpu->r[11]); /* 0286093C */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860940 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u; /* 02860944 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02860948 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860948 */ _t21 = _t20 & 0x00000001u; /* 02860948 */ if (_t21) goto L_02860980; else goto L_0286094C; L_0286094C: ; // 0x286094c /* 0286094C */ _t22 = cpu->r[29] + 0x00000008u; /* 0286094C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22); /* 02860950 */ _t23 = cpu->r[12] + 0x0000008Cu; /* 02860950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 02860954 */ cpu->ctr = cpu->r[0]; /* 02860958 */ cpu->r[3] = cpu->r[29]; /* 0286095C */ cpu->r[4] = cpu->r[31]; /* 02860960 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02860964 */ _t24 = cpu->r[29] + 0x00000000u; /* 02860964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24); /* 02860968 */ cpu->r[7] = cpu->r[29] ^ cpu->r[30]; /* 0286096C */ cpu->r[8] = rbrew_clz32(cpu->r[7]); /* 02860970 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860974 */ cpu->r[9] = cpu->r[6] ^ 0x00000001u; /* 02860978 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0286097C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286097C */ _t26 = _t25 & 0x00000001u; /* 0286097C */ if (_t26) goto L_02860980; else goto L_0286094C; L_02860980: ; // 0x2860980 /* 02860980 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02860980 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27); /* 02860984 */ _t28 = cpu->r[1] + 0x0000001Cu; /* 02860984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02860988 */ _t29 = cpu->r[1] + 0x00000010u; /* 02860988 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 0286098C */ cpu->lr = cpu->r[0]; /* 02860990 */ _t30 = cpu->r[1] + 0x00000014u; /* 02860990 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 02860994 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02860998 */ return; } // fn_0286099C @ 0x286099c void Gambit_fn_0286099C(CPUState* cpu) { L_0286099C: ; // 0x286099c /* 0286099C */ return; } // fn_028609A0 @ 0x28609a0 void Gambit_fn_028609A0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_028609A0: ; // 0x28609a0 /* 028609A0 */ cpu->r[0] = 0x00000003u; /* 028609A4 */ cpu->r[9] = cpu->r[3] + 0x00000044u; /* 028609A8 */ cpu->ctr = cpu->r[0]; /* 028609AC */ cpu->r[11] = cpu->r[4] + 0x0000006Cu; L_028609B0: ; // 0x28609b0 /* 028609B0 */ _t0 = cpu->r[9] + 0x00000004u; /* 028609B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0); /* 028609B4 */ _t1 = cpu->r[11] + 0x00000004u; /* 028609B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]); /* 028609B8 */ _t2 = cpu->r[9] + 0x00000008u; /* 028609B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 028609BC */ _t3 = cpu->r[11] + 0x00000008u; /* 028609BC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 028609C0 */ _t4 = cpu->r[9] + 0x0000000Cu; /* 028609C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 028609C4 */ _t5 = cpu->r[11] + 0x0000000Cu; /* 028609C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028609C8 */ _t6 = cpu->r[9] + 0x00000010u; /* 028609C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 028609C8 */ cpu->r[9] = _t6; /* 028609CC */ _t7 = cpu->r[11] + 0x00000010u; /* 028609CC */ rbrew_write32(cpu->mem, _t7, cpu->r[10]); /* 028609CC */ cpu->r[11] = _t7; /* 028609D0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028609D0 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028609D0 */ _t9 = _t8 >> (0x00000002u & 31u); /* 028609D0 */ _t10 = _t9 & 0x00000001u; /* 028609D0 */ if (_t10) goto L_028609B0; else goto L_028609D4; L_028609D4: ; // 0x28609d4 /* 028609D4 */ cpu->r[12] = 0x00000000u; /* 028609D8 */ _t11 = cpu->r[4] + 0x000000B6u; /* 028609D8 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]); /* 028609DC */ return; } // fn_028609E0 @ 0x28609e0 void Gambit_fn_028609E0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22; L_028609E0: ; // 0x28609e0 /* 028609E0 */ cpu->r[0] = cpu->lr; /* 028609E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028609E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028609E4 */ cpu->r[1] = _t0; /* 028609E8 */ _t1 = cpu->r[1] + 0x00000014u; /* 028609E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028609EC */ cpu->r[31] = cpu->r[3]; /* 028609F0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028609F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028609F4 */ cpu->r[3] = cpu->r[31] + 0x00000080u; /* 028609F8 */ _t3 = cpu->r[1] + 0x00000010u; /* 028609F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028609FC */ _t4 = cpu->r[1] + 0x00000008u; /* 028609FC */ rbrew_write32(cpu->mem, _t4, cpu->r[28]); /* 02860A00 */ cpu->r[30] = cpu->r[4]; /* 02860A04 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02860A04 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02860A08 */ Gambit_fn_0285B800(cpu); /* 02860A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02860A10 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860A10 */ _t7 = _t6 & 0x00000001u; /* 02860A10 */ if (_t7) goto L_02860A14; else goto L_02860A74; L_02860A14: ; // 0x2860a14 /* 02860A14 */ _t8 = cpu->r[31] + 0x00000014u; /* 02860A14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8); /* 02860A18 */ cpu->r[28] = cpu->r[31] + 0x00000014u; /* 02860A1C */ cpu->r[10] = cpu->r[29] ^ cpu->r[28]; /* 02860A20 */ cpu->r[0] = rbrew_clz32(cpu->r[10]); /* 02860A24 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860A28 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u; /* 02860A2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02860A30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860A30 */ _t10 = _t9 & 0x00000001u; /* 02860A30 */ if (_t10) goto L_02860A70; else goto L_02860A34; L_02860A34: ; // 0x2860a34 /* 02860A34 */ _t11 = cpu->r[29] + 0x00000008u; /* 02860A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 02860A38 */ _t12 = cpu->r[12] + 0x000000A4u; /* 02860A38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 02860A3C */ cpu->ctr = cpu->r[10]; /* 02860A40 */ cpu->r[3] = cpu->r[29]; /* 02860A44 */ cpu->r[4] = cpu->r[30]; /* 02860A48 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02860A4C */ cpu->r[31] = cpu->r[3]; /* 02860A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02860A50 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860A50 */ _t14 = _t13 & 0x00000001u; /* 02860A50 */ if (_t14) goto L_02860A54; else goto L_02860A74; L_02860A54: ; // 0x2860a54 /* 02860A54 */ _t15 = cpu->r[29] + 0x00000000u; /* 02860A54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15); /* 02860A58 */ cpu->r[12] = cpu->r[29] ^ cpu->r[28]; /* 02860A5C */ cpu->r[0] = rbrew_clz32(cpu->r[12]); /* 02860A60 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860A64 */ cpu->r[10] = cpu->r[11] ^ 0x00000001u; /* 02860A68 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02860A6C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860A6C */ _t17 = _t16 & 0x00000001u; /* 02860A6C */ if (_t17) goto L_02860A70; else goto L_02860A34; L_02860A70: ; // 0x2860a70 /* 02860A70 */ cpu->r[31] = 0x00000000u; L_02860A74: ; // 0x2860a74 /* 02860A74 */ _t18 = cpu->r[1] + 0x00000008u; /* 02860A74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 02860A78 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02860A78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02860A7C */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02860A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02860A80 */ cpu->r[3] = cpu->r[31]; /* 02860A84 */ _t21 = cpu->r[1] + 0x00000010u; /* 02860A84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02860A88 */ cpu->lr = cpu->r[0]; /* 02860A8C */ _t22 = cpu->r[1] + 0x00000014u; /* 02860A8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 02860A90 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02860A94 */ return; } // fn_028609E4 @ 0x28609e4 void Gambit_fn_028609E4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22; L_028609E4: ; // 0x28609e4 /* 028609E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028609E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028609E4 */ cpu->r[1] = _t0; /* 028609E8 */ _t1 = cpu->r[1] + 0x00000014u; /* 028609E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028609EC */ cpu->r[31] = cpu->r[3]; /* 028609F0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 028609F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 028609F4 */ cpu->r[3] = cpu->r[31] + 0x00000080u; /* 028609F8 */ _t3 = cpu->r[1] + 0x00000010u; /* 028609F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 028609FC */ _t4 = cpu->r[1] + 0x00000008u; /* 028609FC */ rbrew_write32(cpu->mem, _t4, cpu->r[28]); /* 02860A00 */ cpu->r[30] = cpu->r[4]; /* 02860A04 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02860A04 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02860A08 */ Gambit_fn_0285B800(cpu); /* 02860A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02860A10 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860A10 */ _t7 = _t6 & 0x00000001u; /* 02860A10 */ if (_t7) goto L_02860A14; else goto L_02860A74; L_02860A14: ; // 0x2860a14 /* 02860A14 */ _t8 = cpu->r[31] + 0x00000014u; /* 02860A14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8); /* 02860A18 */ cpu->r[28] = cpu->r[31] + 0x00000014u; /* 02860A1C */ cpu->r[10] = cpu->r[29] ^ cpu->r[28]; /* 02860A20 */ cpu->r[0] = rbrew_clz32(cpu->r[10]); /* 02860A24 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860A28 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u; /* 02860A2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02860A30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860A30 */ _t10 = _t9 & 0x00000001u; /* 02860A30 */ if (_t10) goto L_02860A70; else goto L_02860A34; L_02860A34: ; // 0x2860a34 /* 02860A34 */ _t11 = cpu->r[29] + 0x00000008u; /* 02860A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 02860A38 */ _t12 = cpu->r[12] + 0x000000A4u; /* 02860A38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12); /* 02860A3C */ cpu->ctr = cpu->r[10]; /* 02860A40 */ cpu->r[3] = cpu->r[29]; /* 02860A44 */ cpu->r[4] = cpu->r[30]; /* 02860A48 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02860A4C */ cpu->r[31] = cpu->r[3]; /* 02860A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02860A50 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860A50 */ _t14 = _t13 & 0x00000001u; /* 02860A50 */ if (_t14) goto L_02860A54; else goto L_02860A74; L_02860A54: ; // 0x2860a54 /* 02860A54 */ _t15 = cpu->r[29] + 0x00000000u; /* 02860A54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15); /* 02860A58 */ cpu->r[12] = cpu->r[29] ^ cpu->r[28]; /* 02860A5C */ cpu->r[0] = rbrew_clz32(cpu->r[12]); /* 02860A60 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860A64 */ cpu->r[10] = cpu->r[11] ^ 0x00000001u; /* 02860A68 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02860A6C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860A6C */ _t17 = _t16 & 0x00000001u; /* 02860A6C */ if (_t17) goto L_02860A70; else goto L_02860A34; L_02860A70: ; // 0x2860a70 /* 02860A70 */ cpu->r[31] = 0x00000000u; L_02860A74: ; // 0x2860a74 /* 02860A74 */ _t18 = cpu->r[1] + 0x00000008u; /* 02860A74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 02860A78 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02860A78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02860A7C */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02860A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02860A80 */ cpu->r[3] = cpu->r[31]; /* 02860A84 */ _t21 = cpu->r[1] + 0x00000010u; /* 02860A84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02860A88 */ cpu->lr = cpu->r[0]; /* 02860A8C */ _t22 = cpu->r[1] + 0x00000014u; /* 02860A8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 02860A90 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02860A94 */ return; } // fn_02860A98 @ 0x2860a98 void Gambit_fn_02860A98(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25; L_02860A98: ; // 0x2860a98 /* 02860A98 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02860A98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02860A98 */ cpu->r[1] = _t0; /* 02860A9C */ /* nop */ /* 02860AA0 */ cpu->r[0] = cpu->lr; /* 02860AA4 */ _t1 = cpu->r[1] + 0x00000024u; /* 02860AA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02860AA8 */ _t2 = cpu->r[3] + 0x00000008u; /* 02860AA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 02860AAC */ _t3 = cpu->r[7] + 0x00000054u; /* 02860AAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t3); /* 02860AB0 */ cpu->ctr = cpu->r[8]; /* 02860AB4 */ cpu->r[29] = cpu->r[3]; /* 02860AB8 */ cpu->r[30] = cpu->r[4]; /* 02860ABC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02860AC0 */ cpu->r[28] = cpu->r[3]; /* 02860AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02860AC4 */ cpu->r[27] = 0x00000000u; /* 02860AC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860AC8 */ _t5 = _t4 & 0x00000001u; /* 02860AC8 */ if (_t5) goto L_02860B0C; else goto L_02860ACC; L_02860ACC: ; // 0x2860acc /* 02860ACC */ _t6 = cpu->r[29] + 0x00000008u; /* 02860ACC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 02860AD0 */ _t7 = cpu->r[9] + 0x0000004Cu; /* 02860AD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 02860AD4 */ cpu->ctr = cpu->r[10]; /* 02860AD8 */ cpu->r[3] = cpu->r[29]; /* 02860ADC */ cpu->r[4] = cpu->r[27]; /* 02860AE0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02860AE4 */ cpu->r[31] = cpu->r[3]; /* 02860AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02860AE8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860AE8 */ _t9 = _t8 & 0x00000001u; /* 02860AE8 */ if (_t9) goto L_02860B00; else goto L_02860AEC; L_02860AEC: ; // 0x2860aec /* 02860AEC */ _t10 = cpu->r[31] + 0x00000018u; /* 02860AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02860AF0 */ cpu->r[4] = cpu->r[30]; /* 02860AF4 */ Gambit_fn_0285B83C(cpu); /* 02860AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02860AFC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860AFC */ _t12 = _t11 & 0x00000001u; /* 02860AFC */ if (_t12) goto L_02860B00; else goto L_02860B68; L_02860B00: ; // 0x2860b00 /* 02860B00 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02860B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02860B04 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02860B08 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860B08 */ _t14 = _t13 & 0x00000001u; /* 02860B08 */ if (_t14) goto L_02860B0C; else goto L_02860ACC; L_02860B0C: ; // 0x2860b0c /* 02860B0C */ _t15 = cpu->r[29] + 0x00000014u; /* 02860B0C */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 02860B0C */ cpu->r[29] = _t15; /* 02860B10 */ cpu->r[0] = cpu->r[28] ^ cpu->r[29]; /* 02860B14 */ cpu->r[0] = rbrew_clz32(cpu->r[0]); /* 02860B18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860B1C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u; /* 02860B20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02860B24 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860B24 */ _t17 = _t16 & 0x00000001u; /* 02860B24 */ if (_t17) goto L_02860B64; else goto L_02860B28; L_02860B28: ; // 0x2860b28 /* 02860B28 */ _t18 = cpu->r[28] + 0x00000008u; /* 02860B28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18); /* 02860B2C */ _t19 = cpu->r[7] + 0x000000ACu; /* 02860B2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 02860B30 */ cpu->ctr = cpu->r[8]; /* 02860B34 */ cpu->r[3] = cpu->r[28]; /* 02860B38 */ cpu->r[4] = cpu->r[30]; /* 02860B3C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02860B40 */ cpu->r[31] = cpu->r[3]; /* 02860B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02860B44 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860B44 */ _t21 = _t20 & 0x00000001u; /* 02860B44 */ if (_t21) goto L_02860B48; else goto L_02860B68; L_02860B48: ; // 0x2860b48 /* 02860B48 */ _t22 = cpu->r[28] + 0x00000000u; /* 02860B48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 02860B4C */ cpu->r[10] = cpu->r[28] ^ cpu->r[29]; /* 02860B50 */ cpu->r[0] = rbrew_clz32(cpu->r[10]); /* 02860B54 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 02860B58 */ cpu->r[12] = cpu->r[9] ^ 0x00000001u; /* 02860B5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02860B60 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860B60 */ _t24 = _t23 & 0x00000001u; /* 02860B60 */ if (_t24) goto L_02860B64; else goto L_02860B28; L_02860B64: ; // 0x2860b64 /* 02860B64 */ cpu->r[31] = 0x00000000u; L_02860B68: ; // 0x2860b68 /* 02860B68 */ cpu->r[3] = cpu->r[31]; /* 02860B6C */ /* nop */ /* 02860B70 */ _t25 = cpu->r[1] + 0x00000024u; /* 02860B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 02860B74 */ cpu->lr = cpu->r[0]; /* 02860B78 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02860B7C */ return; } // fn_02860B80 @ 0x2860b80 void Gambit_fn_02860B80(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27; L_02860B80: ; // 0x2860b80 /* 02860B80 */ cpu->r[0] = cpu->lr; /* 02860B84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02860B84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02860B84 */ cpu->r[1] = _t0; /* 02860B88 */ _t1 = cpu->r[1] + 0x00000008u; /* 02860B88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02860B8C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02860B8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02860B90 */ cpu->r[31] = cpu->r[5]; /* 02860B94 */ cpu->r[30] = cpu->r[4]; /* 02860B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02860B9C */ _t3 = cpu->r[1] + 0x00000014u; /* 02860B9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02860BA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860BA0 */ _t5 = _t4 & 0x00000001u; /* 02860BA0 */ if (_t5) goto L_02860BA4; else goto L_02860BB4; L_02860BA4: ; // 0x2860ba4 /* 02860BA4 */ cpu->r[3] = 0x0000001Cu; /* 02860BA8 */ Gambit_fn_02801A78(cpu); /* 02860BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02860BB0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860BB0 */ _t7 = _t6 & 0x00000001u; /* 02860BB0 */ if (_t7) goto L_02860C14; else goto L_02860BB4; L_02860BB4: ; // 0x2860bb4 /* 02860BB4 */ _t8 = cpu->r[30] + 0x000000A8u; /* 02860BB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 02860BB8 */ cpu->r[9] = cpu->r[30] + 0x00000040u; /* 02860BBC */ _t9 = cpu->r[3] + 0x00000004u; /* 02860BBC */ rbrew_write32(cpu->mem, _t9, cpu->r[9]); /* 02860BC0 */ cpu->r[0] = cpu->r[12] + 0x00000008u; /* 02860BC4 */ cpu->r[10] = 0x10130000u; /* 02860BC8 */ _t10 = cpu->r[3] + 0x00000000u; /* 02860BC8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 02860BCC */ _t11 = cpu->r[30] + 0x000000A0u; /* 02860BCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 02860BD0 */ _t12 = cpu->r[10] + 0x00005068u; /* 02860BD0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12); /* 02860BD4 */ _t13 = cpu->r[3] + 0x00000008u; /* 02860BD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]); /* 02860BD8 */ _t14 = cpu->r[30] + 0x000000A4u; /* 02860BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 02860BDC */ _t15 = cpu->r[3] + 0x00000010u; /* 02860BDC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]); /* 02860BE0 */ _t16 = cpu->r[3] + 0x0000000Cu; /* 02860BE0 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]); /* 02860BE4 */ _t17 = cpu->r[30] + 0x000000C0u; /* 02860BE4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t17); /* 02860BE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000019u, 0x0000001Fu, 0x0000001Fu); /* 02860BEC */ _t18 = cpu->r[3] + 0x00000014u; /* 02860BEC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]); /* 02860BF0 */ _t19 = cpu->r[30] + 0x000000C0u; /* 02860BF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19); /* 02860BF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu); /* 02860BF8 */ _t20 = cpu->r[3] + 0x00000015u; /* 02860BF8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]); /* 02860BFC */ _t21 = cpu->r[30] + 0x000000C0u; /* 02860BFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t21); /* 02860C00 */ cpu->r[11] = 0x00000000u; /* 02860C04 */ _t22 = cpu->r[3] + 0x00000018u; /* 02860C04 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]); /* 02860C08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu); /* 02860C0C */ _t23 = cpu->r[3] + 0x00000017u; /* 02860C0C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]); /* 02860C10 */ _t24 = cpu->r[3] + 0x00000016u; /* 02860C10 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]); L_02860C14: ; // 0x2860c14 /* 02860C14 */ _t25 = cpu->r[1] + 0x00000014u; /* 02860C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 02860C18 */ _t26 = cpu->r[1] + 0x00000008u; /* 02860C18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 02860C1C */ cpu->lr = cpu->r[0]; /* 02860C20 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02860C20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 02860C24 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02860C28 */ return; } // fn_02860B84 @ 0x2860b84 void Gambit_fn_02860B84(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27; L_02860B84: ; // 0x2860b84 /* 02860B84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02860B84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02860B84 */ cpu->r[1] = _t0; /* 02860B88 */ _t1 = cpu->r[1] + 0x00000008u; /* 02860B88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02860B8C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02860B8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02860B90 */ cpu->r[31] = cpu->r[5]; /* 02860B94 */ cpu->r[30] = cpu->r[4]; /* 02860B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02860B9C */ _t3 = cpu->r[1] + 0x00000014u; /* 02860B9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02860BA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860BA0 */ _t5 = _t4 & 0x00000001u; /* 02860BA0 */ if (_t5) goto L_02860BA4; else goto L_02860BB4; L_02860BA4: ; // 0x2860ba4 /* 02860BA4 */ cpu->r[3] = 0x0000001Cu; /* 02860BA8 */ Gambit_fn_02801A78(cpu); /* 02860BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02860BB0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860BB0 */ _t7 = _t6 & 0x00000001u; /* 02860BB0 */ if (_t7) goto L_02860C14; else goto L_02860BB4; L_02860BB4: ; // 0x2860bb4 /* 02860BB4 */ _t8 = cpu->r[30] + 0x000000A8u; /* 02860BB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 02860BB8 */ cpu->r[9] = cpu->r[30] + 0x00000040u; /* 02860BBC */ _t9 = cpu->r[3] + 0x00000004u; /* 02860BBC */ rbrew_write32(cpu->mem, _t9, cpu->r[9]); /* 02860BC0 */ cpu->r[0] = cpu->r[12] + 0x00000008u; /* 02860BC4 */ cpu->r[10] = 0x10130000u; /* 02860BC8 */ _t10 = cpu->r[3] + 0x00000000u; /* 02860BC8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 02860BCC */ _t11 = cpu->r[30] + 0x000000A0u; /* 02860BCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 02860BD0 */ _t12 = cpu->r[10] + 0x00005068u; /* 02860BD0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12); /* 02860BD4 */ _t13 = cpu->r[3] + 0x00000008u; /* 02860BD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]); /* 02860BD8 */ _t14 = cpu->r[30] + 0x000000A4u; /* 02860BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 02860BDC */ _t15 = cpu->r[3] + 0x00000010u; /* 02860BDC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]); /* 02860BE0 */ _t16 = cpu->r[3] + 0x0000000Cu; /* 02860BE0 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]); /* 02860BE4 */ _t17 = cpu->r[30] + 0x000000C0u; /* 02860BE4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t17); /* 02860BE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000019u, 0x0000001Fu, 0x0000001Fu); /* 02860BEC */ _t18 = cpu->r[3] + 0x00000014u; /* 02860BEC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]); /* 02860BF0 */ _t19 = cpu->r[30] + 0x000000C0u; /* 02860BF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19); /* 02860BF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu); /* 02860BF8 */ _t20 = cpu->r[3] + 0x00000015u; /* 02860BF8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]); /* 02860BFC */ _t21 = cpu->r[30] + 0x000000C0u; /* 02860BFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t21); /* 02860C00 */ cpu->r[11] = 0x00000000u; /* 02860C04 */ _t22 = cpu->r[3] + 0x00000018u; /* 02860C04 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]); /* 02860C08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu); /* 02860C0C */ _t23 = cpu->r[3] + 0x00000017u; /* 02860C0C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]); /* 02860C10 */ _t24 = cpu->r[3] + 0x00000016u; /* 02860C10 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]); L_02860C14: ; // 0x2860c14 /* 02860C14 */ _t25 = cpu->r[1] + 0x00000014u; /* 02860C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 02860C18 */ _t26 = cpu->r[1] + 0x00000008u; /* 02860C18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 02860C1C */ cpu->lr = cpu->r[0]; /* 02860C20 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02860C20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 02860C24 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02860C28 */ return; } // fn_02860C2C @ 0x2860c2c void Gambit_fn_02860C2C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02860C2C: ; // 0x2860c2c /* 02860C2C */ cpu->r[10] = 0x101D0000u; /* 02860C30 */ cpu->r[3] = 0x101D0000u; /* 02860C34 */ _t0 = cpu->r[10] + 0xFFFFD7ECu; /* 02860C34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02860C34 */ cpu->r[10] = _t0; /* 02860C38 */ cpu->r[3] = cpu->r[3] + 0x00000F38u; /* 02860C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02860C40 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860C40 */ _t2 = _t1 & 0x00000001u; /* 02860C40 */ _t3 = _t2 ^ 0x00000001u; /* 02860C40 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02860C40 */ goto L_02860C44; L_02860C44: ; // 0x2860c44 /* 02860C44 */ cpu->r[11] = 0x00000001u; /* 02860C48 */ cpu->r[0] = 0x00000000u; /* 02860C4C */ _t4 = cpu->r[10] + 0x00000000u; /* 02860C4C */ rbrew_write32(cpu->mem, _t4, cpu->r[11]); /* 02860C50 */ _t5 = cpu->r[3] + 0x00000000u; /* 02860C50 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02860C54 */ return; } // fn_02860C58 @ 0x2860c58 void Gambit_fn_02860C58(CPUState* cpu) { L_02860C58: ; // 0x2860c58 /* 02860C58 */ cpu->r[3] = 0x00000000u; /* 02860C5C */ return; } // fn_02860C60 @ 0x2860c60 void Gambit_fn_02860C60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49; L_02860C60: ; // 0x2860c60 /* 02860C60 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02860C60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02860C60 */ cpu->r[1] = _t0; /* 02860C64 */ cpu->r[0] = cpu->lr; /* 02860C68 */ _t1 = cpu->r[1] + 0x00000010u; /* 02860C68 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02860C6C */ /* nop */ /* 02860C70 */ cpu->r[9] = 0x10130000u; /* 02860C74 */ _t2 = cpu->r[1] + 0x00000018u; /* 02860C74 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 02860C78 */ _t3 = cpu->r[9] + 0x00005150u; /* 02860C78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t3); /* 02860C7C */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02860C7C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02860C80 */ _t5 = cpu->r[1] + 0x00000008u; /* 02860C80 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]); /* 02860C84 */ cpu->r[31] = cpu->r[3]; /* 02860C88 */ _t6 = cpu->r[1] + 0x00000024u; /* 02860C88 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02860C8C */ cpu->r[30] = 0x00000000u; /* 02860C90 */ _t7 = cpu->r[31] + 0x000000BCu; /* 02860C90 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]); /* 02860C94 */ _t8 = cpu->r[31] + 0x000000CCu; /* 02860C94 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[30]); /* 02860C98 */ _t9 = cpu->r[31] + 0x000000B4u; /* 02860C98 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 02860C9C */ _t10 = cpu->r[31] + 0x000000CEu; /* 02860C9C */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[30]); /* 02860CA0 */ cpu->r[5] = 0x00000001u; /* 02860CA4 */ _t11 = cpu->r[31] + 0x000000A8u; /* 02860CA4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 02860CA8 */ cpu->r[3] = cpu->r[31] + 0x000000D0u; /* 02860CAC */ _t12 = cpu->r[31] + 0x000000B8u; /* 02860CAC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]); /* 02860CB0 */ cpu->r[4] = cpu->r[30]; /* 02860CB4 */ _t13 = cpu->r[31] + 0x000000A4u; /* 02860CB4 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 02860CB8 */ rbrew_dispatch(cpu, 0x02d0b880u); /* 02860CBC */ _t14 = cpu->r[31] + 0x000000D1u; /* 02860CBC */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[30]); /* 02860CC0 */ cpu->r[10] = cpu->r[30] + 0xFFFFFFFFu; /* 02860CC4 */ _t15 = cpu->r[31] + 0x000000D0u; /* 02860CC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t15); /* 02860CC8 */ cpu->r[10] = ~cpu->r[10]; /* 02860CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02860CCC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu); /* 02860CD0 */ cpu->r[11] = cpu->r[11] | cpu->r[10]; /* 02860CD4 */ _t16 = rbrew_rlwinm(cpu->r[11], 0x00000005u, 0x0000001Au, 0x0000001Au); /* 02860CD4 */ _t17 = cpu->r[12] & 0xFFFFFFDFu; /* 02860CD4 */ cpu->r[12] = _t17 | _t16; /* 02860CD8 */ _t18 = cpu->r[31] + 0x000000D0u; /* 02860CD8 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]); /* 02860CDC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860CDC */ _t20 = _t19 & 0x00000001u; /* 02860CDC */ if (_t20) goto L_02860CEC; else goto L_02860CE0; L_02860CE0: ; // 0x2860ce0 /* 02860CE0 */ _t21 = cpu->r[31] + 0x000000D1u; /* 02860CE0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t21); /* 02860CE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Bu); /* 02860CE8 */ _t22 = cpu->r[31] + 0x000000D1u; /* 02860CE8 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]); L_02860CEC: ; // 0x2860cec /* 02860CEC */ _t23 = cpu->r[31] + 0x000000D8u; /* 02860CEC */ rbrew_write_f32(cpu->mem, _t23, cpu->f[31]); /* 02860CF0 */ cpu->r[12] = 0x10130000u; /* 02860CF4 */ _t24 = cpu->r[31] + 0x000000EEu; /* 02860CF4 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]); /* 02860CF8 */ _t25 = cpu->r[12] + 0x00005154u; /* 02860CF8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25); /* 02860CFC */ _t26 = cpu->r[31] + 0x000000EAu; /* 02860CFC */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]); /* 02860D00 */ _t27 = cpu->r[31] + 0x000000E0u; /* 02860D00 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]); /* 02860D04 */ _t28 = cpu->r[31] + 0x000000E4u; /* 02860D04 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]); /* 02860D08 */ _t29 = cpu->r[31] + 0x000000DCu; /* 02860D08 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]); /* 02860D0C */ _t30 = cpu->r[31] + 0x000000E9u; /* 02860D0C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[30]); /* 02860D10 */ _t31 = cpu->r[31] + 0x000000E8u; /* 02860D10 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]); /* 02860D14 */ _t32 = cpu->r[31] + 0x000000EDu; /* 02860D14 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[30]); /* 02860D18 */ _t33 = cpu->r[31] + 0x000000D4u; /* 02860D18 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[31]); /* 02860D1C */ _t34 = cpu->r[31] + 0x000000F0u; /* 02860D1C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[31]); /* 02860D20 */ _t35 = cpu->r[31] + 0x000000ECu; /* 02860D20 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]); /* 02860D24 */ cpu->r[9] = 0x000000FFu; /* 02860D28 */ _t36 = cpu->r[31] + 0x000000C8u; /* 02860D28 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]); /* 02860D2C */ _t37 = cpu->r[31] + 0x000000EBu; /* 02860D2C */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[9]); /* 02860D30 */ _t38 = cpu->r[31] + 0x000000F8u; /* 02860D30 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]); /* 02860D34 */ _t39 = cpu->r[31] + 0x000000EFu; /* 02860D34 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[9]); /* 02860D38 */ _t40 = cpu->r[31] + 0x000000C4u; /* 02860D38 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[31]); /* 02860D3C */ _t41 = cpu->r[31] + 0x000000FCu; /* 02860D3C */ rbrew_write32(cpu->mem, _t41, cpu->r[30]); /* 02860D40 */ _t42 = cpu->r[31] + 0x000000C0u; /* 02860D40 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[31]); /* 02860D44 */ _t43 = cpu->r[1] + 0x00000018u; /* 02860D44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t43); /* 02860D48 */ _t44 = cpu->r[1] + 0x00000008u; /* 02860D48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44); /* 02860D4C */ _t45 = cpu->r[1] + 0x00000010u; /* 02860D4C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t45); /* 02860D50 */ _t46 = cpu->r[1] + 0x0000000Cu; /* 02860D50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46); /* 02860D54 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u); /* 02860D54 */ _t48 = _t47 & 0x00000001u; /* 02860D54 */ if (_t48) goto L_02860D58; // else: addr-0 trap, fall-through L_02860D58: ; // 0x2860d58 /* 02860D58 */ _t49 = cpu->r[1] + 0x00000024u; /* 02860D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 02860D5C */ cpu->lr = cpu->r[0]; /* 02860D60 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02860D64 */ return; } // fn_02860D68 @ 0x2860d68 void Gambit_fn_02860D68(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02860D68: ; // 0x2860d68 /* 02860D68 */ _t0 = cpu->r[4] + 0x00000004u; /* 02860D68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 02860D6C */ cpu->r[12] = 0x00000000u; /* 02860D70 */ cpu->r[11] = cpu->r[4] + 0x00000008u; /* 02860D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]); /* 02860D78 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u); /* 02860D78 */ _t2 = _t1 & 0x00000001u; /* 02860D78 */ _t3 = _t2 ^ 0x00000001u; /* 02860D78 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02860D78 */ goto L_02860D7C; L_02860D7C: ; // 0x2860d7c /* 02860D7C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu; /* 02860D80 */ cpu->r[10] = 0x00000000u; L_02860D84: ; // 0x2860d84 /* 02860D84 */ _t4 = cpu->r[11] + 0x00000004u; /* 02860D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02860D84 */ cpu->r[11] = _t4; /* 02860D88 */ _t5 = cpu->r[3] + 0x000000FCu; /* 02860D88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02860D8C */ cpu->r[6] = cpu->r[4] + cpu->r[0]; /* 02860D90 */ cpu->r[8] = cpu->r[9] + cpu->r[10]; /* 02860D94 */ _t6 = cpu->r[8] + 0x00000010u; /* 02860D94 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]); /* 02860D98 */ _t7 = cpu->r[3] + 0x000000FCu; /* 02860D98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7); /* 02860D9C */ _t8 = cpu->r[6] + 0x00000001u; /* 02860D9C */ cpu->r[8] = rbrew_read8(cpu->mem, _t8); /* 02860DA0 */ cpu->r[6] = cpu->r[7] + cpu->r[10]; /* 02860DA4 */ _t9 = cpu->r[6] + 0x00000014u; /* 02860DA4 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); /* 02860DA8 */ _t10 = cpu->r[4] + 0x00000004u; /* 02860DA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 02860DAC */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 02860DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]); /* 02860DB4 */ cpu->r[10] = cpu->r[10] + 0x00000008u; /* 02860DB8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 02860DB8 */ _t12 = _t11 & 0x00000001u; /* 02860DB8 */ if (_t12) goto L_02860D84; else goto L_02860DBC; L_02860DBC: ; // 0x2860dbc /* 02860DBC */ return; } // fn_02860DC0 @ 0x2860dc0 void Gambit_fn_02860DC0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190; L_02860DC0: ; // 0x2860dc0 /* 02860DC0 */ cpu->r[0] = cpu->lr; /* 02860DC4 */ _t0 = cpu->r[1] + 0xFFFFFFB0u; /* 02860DC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02860DC4 */ cpu->r[1] = _t0; /* 02860DC8 */ _t1 = cpu->r[1] + 0x00000054u; /* 02860DC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02860DCC */ /* nop */ /* 02860DD0 */ cpu->r[29] = cpu->r[3]; /* 02860DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02860DD4 */ cpu->r[22] = cpu->r[4]; /* 02860DD8 */ cpu->r[23] = cpu->r[5]; /* 02860DDC */ cpu->r[30] = cpu->r[6]; /* 02860DE0 */ cpu->r[31] = cpu->r[7]; /* 02860DE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860DE4 */ _t3 = _t2 & 0x00000001u; /* 02860DE4 */ if (_t3) goto L_02860DE8; else goto L_02860DF8; L_02860DE8: ; // 0x2860de8 /* 02860DE8 */ cpu->r[3] = 0x00000100u; /* 02860DEC */ Gambit_fn_02801A78(cpu); /* 02860DF0 */ cpu->r[29] = cpu->r[3]; /* 02860DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02860DF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860DF4 */ _t5 = _t4 & 0x00000001u; /* 02860DF4 */ if (_t5) goto L_02861268; else goto L_02860DF8; L_02860DF8: ; // 0x2860df8 /* 02860DF8 */ cpu->r[3] = cpu->r[29]; /* 02860DFC */ cpu->r[4] = cpu->r[22]; /* 02860E00 */ cpu->r[5] = cpu->r[30]; /* 02860E04 */ Gambit_fn_0285F268(cpu); /* 02860E08 */ cpu->r[0] = 0x10130000u; /* 02860E0C */ cpu->r[20] = cpu->r[29] + 0x000000ACu; /* 02860E10 */ cpu->r[5] = 0x00000004u; /* 02860E14 */ cpu->r[0] = cpu->r[0] + 0x0000517Cu; /* 02860E18 */ cpu->r[6] = 0x02860000u; /* 02860E1C */ cpu->r[4] = 0x00000002u; /* 02860E20 */ cpu->r[3] = cpu->r[20]; /* 02860E24 */ cpu->r[6] = cpu->r[6] + 0x00002EC0u; /* 02860E28 */ _t6 = cpu->r[29] + 0x00000008u; /* 02860E28 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02860E2C */ Gambit_fn_02C82E00(cpu); /* 02860E30 */ cpu->r[7] = 0x10130000u; /* 02860E34 */ cpu->r[8] = 0xFFFFFFFFu; /* 02860E38 */ _t7 = cpu->r[7] + 0x00005150u; /* 02860E38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7); /* 02860E3C */ _t8 = cpu->r[29] + 0x000000ECu; /* 02860E3C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 02860E40 */ _t9 = cpu->r[29] + 0x000000BCu; /* 02860E40 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]); /* 02860E44 */ _t10 = cpu->r[29] + 0x000000E8u; /* 02860E44 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]); /* 02860E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02860E4C */ _t11 = cpu->r[29] + 0x000000B8u; /* 02860E4C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); /* 02860E50 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860E50 */ _t13 = _t12 & 0x00000001u; /* 02860E50 */ if (_t13) goto L_02860F08; else goto L_02860E54; L_02860E54: ; // 0x2860e54 /* 02860E54 */ _t14 = cpu->r[30] + 0x00000028u; /* 02860E54 */ cpu->r[9] = rbrew_read16(cpu->mem, _t14); /* 02860E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02860E5C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860E5C */ _t16 = _t15 & 0x00000001u; /* 02860E5C */ if (_t16) goto L_02860E60; else goto L_02860EA0; L_02860E60: ; // 0x2860e60 /* 02860E60 */ _t17 = cpu->r[30] + 0x0000002Cu; /* 02860E60 */ cpu->r[11] = rbrew_read16(cpu->mem, _t17); /* 02860E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02860E68 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860E68 */ _t19 = _t18 & 0x00000001u; /* 02860E68 */ if (_t19) goto L_02860E6C; else goto L_02860EA0; L_02860E6C: ; // 0x2860e6c /* 02860E6C */ _t20 = cpu->r[30] + 0x00000024u; /* 02860E6C */ cpu->r[21] = rbrew_read32(cpu->mem, _t20); /* 02860E70 */ cpu->r[25] = cpu->r[23]; /* 02860E74 */ cpu->r[24] = cpu->r[23]; /* 02860E78 */ cpu->r[3] = cpu->r[29]; /* 02860E7C */ cpu->r[26] = cpu->r[21]; /* 02860E80 */ Gambit_fn_02860C60(cpu); /* 02860E84 */ _t21 = cpu->r[24] + 0x0000005Eu; /* 02860E84 */ cpu->r[5] = rbrew_read8(cpu->mem, _t21); /* 02860E88 */ _t22 = cpu->r[24] + 0x00000054u; /* 02860E88 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22); /* 02860E8C */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02860E90 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02860E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02860E94 */ _t23 = cpu->r[25] + 0x00000056u; /* 02860E94 */ cpu->r[0] = rbrew_read16(cpu->mem, _t23); /* 02860E98 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860E98 */ _t25 = _t24 & 0x00000001u; /* 02860E98 */ if (_t25) goto L_02860F3C; else goto L_02860E9C; L_02860E9C: ; // 0x2860e9c /* 02860E9C */ goto L_02860F38; L_02860EA0: ; // 0x2860ea0 /* 02860EA0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02860EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02860EA4 */ cpu->r[24] = cpu->r[22]; /* 02860EA8 */ _t26 = cpu->r[30] + 0x00000020u; /* 02860EA8 */ cpu->r[21] = rbrew_read32(cpu->mem, _t26); /* 02860EAC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860EAC */ _t28 = _t27 & 0x00000001u; /* 02860EAC */ if (_t28) goto L_02860EDC; else goto L_02860EB0; L_02860EB0: ; // 0x2860eb0 /* 02860EB0 */ _t29 = cpu->r[30] + 0x00000024u; /* 02860EB0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t29); /* 02860EB4 */ cpu->r[3] = cpu->r[29]; /* 02860EB8 */ cpu->r[25] = cpu->r[23]; /* 02860EBC */ Gambit_fn_02860C60(cpu); /* 02860EC0 */ _t30 = cpu->r[24] + 0x0000005Eu; /* 02860EC0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t30); /* 02860EC4 */ _t31 = cpu->r[24] + 0x00000054u; /* 02860EC4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 02860EC8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02860ECC */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02860ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02860ED0 */ _t32 = cpu->r[25] + 0x00000056u; /* 02860ED0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t32); /* 02860ED4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860ED4 */ _t34 = _t33 & 0x00000001u; /* 02860ED4 */ if (_t34) goto L_02860F3C; else goto L_02860ED8; L_02860ED8: ; // 0x2860ed8 /* 02860ED8 */ goto L_02860F38; L_02860EDC: ; // 0x2860edc /* 02860EDC */ cpu->r[3] = cpu->r[29]; /* 02860EE0 */ cpu->r[26] = cpu->r[21]; /* 02860EE4 */ cpu->r[25] = cpu->r[22]; /* 02860EE8 */ Gambit_fn_02860C60(cpu); /* 02860EEC */ _t35 = cpu->r[24] + 0x0000005Eu; /* 02860EEC */ cpu->r[5] = rbrew_read8(cpu->mem, _t35); /* 02860EF0 */ _t36 = cpu->r[24] + 0x00000054u; /* 02860EF0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t36); /* 02860EF4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02860EF8 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02860EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02860EFC */ _t37 = cpu->r[25] + 0x00000056u; /* 02860EFC */ cpu->r[0] = rbrew_read16(cpu->mem, _t37); /* 02860F00 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860F00 */ _t39 = _t38 & 0x00000001u; /* 02860F00 */ if (_t39) goto L_02860F3C; else goto L_02860F04; L_02860F04: ; // 0x2860f04 /* 02860F04 */ goto L_02860F38; L_02860F08: ; // 0x2860f08 /* 02860F08 */ _t40 = cpu->r[30] + 0x00000020u; /* 02860F08 */ cpu->r[21] = rbrew_read32(cpu->mem, _t40); /* 02860F0C */ cpu->r[25] = cpu->r[22]; /* 02860F10 */ cpu->r[24] = cpu->r[22]; /* 02860F14 */ cpu->r[3] = cpu->r[29]; /* 02860F18 */ cpu->r[26] = cpu->r[21]; /* 02860F1C */ Gambit_fn_02860C60(cpu); /* 02860F20 */ _t41 = cpu->r[24] + 0x0000005Eu; /* 02860F20 */ cpu->r[5] = rbrew_read8(cpu->mem, _t41); /* 02860F24 */ _t42 = cpu->r[24] + 0x00000054u; /* 02860F24 */ cpu->r[0] = rbrew_read16(cpu->mem, _t42); /* 02860F28 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02860F2C */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02860F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02860F30 */ _t43 = cpu->r[25] + 0x00000056u; /* 02860F30 */ cpu->r[0] = rbrew_read16(cpu->mem, _t43); /* 02860F34 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860F34 */ _t45 = _t44 & 0x00000001u; /* 02860F34 */ if (_t45) goto L_02860F3C; else goto L_02860F38; L_02860F38: ; // 0x2860f38 /* 02860F38 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_02860F3C: ; // 0x2860f3c /* 02860F3C */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02860F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02860F40 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860F40 */ _t47 = _t46 & 0x00000001u; /* 02860F40 */ if (_t47) goto L_02860F48; else goto L_02860F44; L_02860F44: ; // 0x2860f44 /* 02860F44 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; L_02860F48: ; // 0x2860f48 /* 02860F48 */ cpu->r[0] = 0x00000002u; /* 02860F4C */ cpu->r[4] = 0x00000000u; /* 02860F50 */ cpu->ctr = cpu->r[0]; /* 02860F54 */ cpu->r[5] = cpu->r[24] + 0x00000068u; L_02860F58: ; // 0x2860f58 /* 02860F58 */ cpu->r[6] = cpu->r[5] + cpu->r[4]; /* 02860F5C */ _t48 = cpu->r[6] + 0x00000002u; /* 02860F5C */ cpu->r[12] = rbrew_read8(cpu->mem, _t48); /* 02860F60 */ _t49 = cpu->r[6] + 0x00000003u; /* 02860F60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t49); /* 02860F64 */ _t50 = cpu->r[6] + 0x00000000u; /* 02860F64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t50); /* 02860F68 */ _t51 = cpu->r[6] + 0x00000001u; /* 02860F68 */ cpu->r[11] = rbrew_read8(cpu->mem, _t51); /* 02860F6C */ _t52 = cpu->r[1] + 0x00000008u; /* 02860F6C */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[10]); /* 02860F70 */ _t53 = cpu->r[1] + 0x0000000Au; /* 02860F70 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[12]); /* 02860F74 */ cpu->r[8] = cpu->r[1] + 0x00000008u; /* 02860F78 */ _t54 = cpu->r[1] + 0x00000009u; /* 02860F78 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[11]); /* 02860F7C */ cpu->r[9] = cpu->r[20] + cpu->r[4]; /* 02860F80 */ _t55 = cpu->r[1] + 0x0000000Bu; /* 02860F80 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]); /* 02860F84 */ /* nop */ /* 02860F88 */ cpu->r[4] = cpu->r[4] + 0x00000004u; /* 02860F8C */ /* nop */ /* 02860F90 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02860F90 */ _t56 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02860F90 */ _t57 = _t56 >> (0x00000002u & 31u); /* 02860F90 */ _t58 = _t57 & 0x00000001u; /* 02860F90 */ if (_t58) goto L_02860F58; else goto L_02860F94; L_02860F94: ; // 0x2860f94 /* 02860F94 */ _t59 = cpu->r[24] + 0x00000070u; /* 02860F94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t59); /* 02860F98 */ _t60 = cpu->r[29] + 0x000000B8u; /* 02860F98 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[0]); /* 02860F9C */ _t61 = cpu->r[24] + 0x00000074u; /* 02860F9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61); /* 02860FA0 */ _t62 = cpu->r[29] + 0x000000BCu; /* 02860FA0 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]); /* 02860FA4 */ _t63 = cpu->r[24] + 0x0000005Cu; /* 02860FA4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t63); /* 02860FA8 */ _t64 = cpu->r[29] + 0x000000D0u; /* 02860FA8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t64); /* 02860FAC */ _t65 = cpu->r[29] + 0x000000D1u; /* 02860FAC */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[6]); /* 02860FB0 */ _t66 = cpu->r[24] + 0x0000005Du; /* 02860FB0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t66); /* 02860FB4 */ _t67 = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000018u, 0x00000019u); /* 02860FB4 */ _t68 = cpu->r[5] & 0xFFFFFF3Fu; /* 02860FB4 */ cpu->r[5] = _t68 | _t67; /* 02860FB8 */ _t69 = cpu->r[29] + 0x000000D0u; /* 02860FB8 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[5]); /* 02860FBC */ _t70 = cpu->r[24] + 0x00000078u; /* 02860FBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t70); /* 02860FC0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860FC4 */ _t71 = cpu->r[29] + 0x000000C4u; /* 02860FC4 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[0]); /* 02860FC8 */ _t72 = cpu->r[24] + 0x0000007Cu; /* 02860FC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t72); /* 02860FCC */ _t73 = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x0000001Bu, 0x0000001Bu); /* 02860FCC */ _t74 = cpu->r[5] & 0xFFFFFFEFu; /* 02860FCC */ cpu->r[5] = _t74 | _t73; /* 02860FD0 */ _t75 = cpu->r[29] + 0x000000C0u; /* 02860FD0 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]); /* 02860FD4 */ _t76 = cpu->r[24] + 0x00000060u; /* 02860FD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t76); /* 02860FD8 */ _t77 = cpu->r[29] + 0x000000D0u; /* 02860FD8 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[5]); /* 02860FDC */ _t78 = cpu->r[29] + 0x000000D4u; /* 02860FDC */ rbrew_write_f32(cpu->mem, _t78, cpu->f[0]); /* 02860FE0 */ _t79 = cpu->r[24] + 0x00000084u; /* 02860FE0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t79); /* 02860FE4 */ _t80 = cpu->r[24] + 0x00000088u; /* 02860FE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t80); /* 02860FE8 */ _t81 = cpu->r[29] + 0x000000D8u; /* 02860FE8 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[13]); /* 02860FEC */ _t82 = cpu->r[29] + 0x000000DCu; /* 02860FEC */ rbrew_write_f32(cpu->mem, _t82, cpu->f[0]); /* 02860FF0 */ _t83 = cpu->r[24] + 0x0000008Cu; /* 02860FF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t83); /* 02860FF4 */ _t84 = cpu->r[24] + 0x00000090u; /* 02860FF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t84); /* 02860FF8 */ _t85 = cpu->r[29] + 0x000000E0u; /* 02860FF8 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[13]); /* 02860FFC */ _t86 = cpu->r[29] + 0x000000E4u; /* 02860FFC */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]); /* 02861000 */ _t87 = cpu->r[24] + 0x00000097u; /* 02861000 */ cpu->r[0] = rbrew_read8(cpu->mem, _t87); /* 02861004 */ _t88 = cpu->r[24] + 0x00000095u; /* 02861004 */ cpu->r[7] = rbrew_read8(cpu->mem, _t88); /* 02861008 */ _t89 = cpu->r[24] + 0x00000094u; /* 02861008 */ cpu->r[6] = rbrew_read8(cpu->mem, _t89); /* 0286100C */ _t90 = cpu->r[24] + 0x00000096u; /* 0286100C */ cpu->r[8] = rbrew_read8(cpu->mem, _t90); /* 02861010 */ _t91 = cpu->r[1] + 0x0000000Cu; /* 02861010 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[6]); /* 02861014 */ _t92 = cpu->r[1] + 0x0000000Eu; /* 02861014 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[8]); /* 02861018 */ _t93 = cpu->r[1] + 0x0000000Du; /* 02861018 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[7]); /* 0286101C */ cpu->r[8] = cpu->r[1] + 0x0000000Cu; /* 02861020 */ _t94 = cpu->r[1] + 0x0000000Fu; /* 02861020 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[0]); /* 02861024 */ /* nop */ /* 02861028 */ cpu->r[9] = cpu->r[29] + 0x000000E8u; /* 0286102C */ /* nop */ /* 02861030 */ _t95 = cpu->r[24] + 0x00000098u; /* 02861030 */ cpu->r[10] = rbrew_read8(cpu->mem, _t95); /* 02861034 */ _t96 = cpu->r[24] + 0x0000009Bu; /* 02861034 */ cpu->r[0] = rbrew_read8(cpu->mem, _t96); /* 02861038 */ _t97 = cpu->r[24] + 0x00000099u; /* 02861038 */ cpu->r[11] = rbrew_read8(cpu->mem, _t97); /* 0286103C */ _t98 = cpu->r[24] + 0x0000009Au; /* 0286103C */ cpu->r[12] = rbrew_read8(cpu->mem, _t98); /* 02861040 */ _t99 = cpu->r[1] + 0x00000011u; /* 02861040 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[11]); /* 02861044 */ _t100 = cpu->r[1] + 0x00000012u; /* 02861044 */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[12]); /* 02861048 */ _t101 = cpu->r[1] + 0x00000010u; /* 02861048 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[10]); /* 0286104C */ cpu->r[12] = cpu->r[1] + 0x00000010u; /* 02861050 */ _t102 = cpu->r[1] + 0x00000013u; /* 02861050 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[0]); /* 02861054 */ /* nop */ /* 02861058 */ cpu->r[8] = cpu->r[29] + 0x000000ECu; /* 0286105C */ /* nop */ /* 02861060 */ _t103 = cpu->r[24] + 0x0000009Cu; /* 02861060 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t103); /* 02861064 */ _t104 = cpu->r[29] + 0x000000F0u; /* 02861064 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[0]); /* 02861068 */ _t105 = cpu->r[24] + 0x0000005Eu; /* 02861068 */ cpu->r[5] = rbrew_read8(cpu->mem, _t105); /* 0286106C */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 02861070 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x0000001Eu, 0x0000001Eu); /* 02861074 */ cpu->r[9] = cpu->r[7] | 0x00000002u; /* 02861078 */ _t106 = rbrew_rlwinm(cpu->r[5], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 02861078 */ _t107 = cpu->r[6] & 0xFFFFFFFEu; /* 02861078 */ cpu->r[6] = _t107 | _t106; /* 0286107C */ _t108 = cpu->r[29] + 0x000000D0u; /* 0286107C */ cpu->r[10] = rbrew_read8(cpu->mem, _t108); /* 02861080 */ _t109 = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02861080 */ _t110 = cpu->r[9] & 0x00000003u; /* 02861080 */ cpu->r[9] = _t110 | _t109; /* 02861084 */ _t111 = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 02861084 */ _t112 = cpu->r[10] & 0xFFFFFFF0u; /* 02861084 */ cpu->r[10] = _t112 | _t111; /* 02861088 */ cpu->r[18] = 0x00000000u; /* 0286108C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0286108C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02861090 */ _t113 = cpu->r[29] + 0x000000D0u; /* 02861090 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[10]); /* 02861094 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861094 */ _t115 = _t114 & 0x00000001u; /* 02861094 */ if (_t115) goto L_0286118C; else goto L_02861098; L_02861098: ; // 0x2861098 /* 02861098 */ _t116 = cpu->r[24] + 0x000000A0u; /* 02861098 */ cpu->r[10] = rbrew_read32(cpu->mem, _t116); /* 0286109C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028610A0 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u); /* 028610A0 */ _t118 = _t117 & 0x00000001u; /* 028610A0 */ if (_t118) goto L_0286118C; else goto L_028610A4; L_028610A4: ; // 0x28610a4 /* 028610A4 */ cpu->r[19] = cpu->r[24] + cpu->r[10]; /* 028610A8 */ _t119 = cpu->r[19] + 0x0000000Au; /* 028610A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t119); /* 028610AC */ cpu->r[20] = 0x00000000u; /* 028610B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028610B4 */ cpu->r[3] = 0x00000018u; /* 028610B8 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u); /* 028610B8 */ _t121 = _t120 & 0x00000001u; /* 028610B8 */ if (_t121) goto L_028610D8; else goto L_028610BC; L_028610BC: ; // 0x28610bc /* 028610BC */ _t122 = cpu->r[19] + 0x00000010u; /* 028610BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t122); /* 028610C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028610C4 */ cpu->r[20] = cpu->r[19] + 0x0000000Cu; /* 028610C8 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u); /* 028610C8 */ _t124 = _t123 & 0x00000001u; /* 028610C8 */ if (_t124) goto L_028610D8; else goto L_028610CC; L_028610CC: ; // 0x28610cc /* 028610CC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 028610D0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028610D4 */ cpu->r[3] = cpu->r[5] + 0x00000018u; L_028610D8: ; // 0x28610d8 /* 028610D8 */ cpu->r[4] = 0x00000004u; /* 028610DC */ Gambit_fn_02869E8C(cpu); /* 028610E0 */ _t125 = cpu->r[29] + 0x000000FCu; /* 028610E0 */ rbrew_write32(cpu->mem, _t125, cpu->r[3]); /* 028610E4 */ _t126 = cpu->r[19] + 0x00000000u; /* 028610E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t126); /* 028610E8 */ _t127 = cpu->r[3] + 0x00000000u; /* 028610E8 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[0]); /* 028610EC */ _t128 = cpu->r[29] + 0x000000FCu; /* 028610EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t128); /* 028610F0 */ _t129 = cpu->r[19] + 0x00000004u; /* 028610F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t129); /* 028610F4 */ _t130 = cpu->r[11] + 0x00000004u; /* 028610F4 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[0]); /* 028610F8 */ _t131 = cpu->r[29] + 0x000000FCu; /* 028610F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t131); /* 028610FC */ _t132 = cpu->r[12] + 0x00000008u; /* 028610FC */ rbrew_write32(cpu->mem, _t132, cpu->r[18]); /* 02861100 */ _t133 = cpu->r[29] + 0x000000FCu; /* 02861100 */ cpu->r[5] = rbrew_read32(cpu->mem, _t133); /* 02861104 */ _t134 = cpu->r[19] + 0x00000008u; /* 02861104 */ cpu->r[0] = rbrew_read8(cpu->mem, _t134); /* 02861108 */ _t135 = cpu->r[5] + 0x0000000Cu; /* 02861108 */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[0]); /* 0286110C */ _t136 = cpu->r[29] + 0x000000FCu; /* 0286110C */ cpu->r[7] = rbrew_read32(cpu->mem, _t136); /* 02861110 */ _t137 = cpu->r[19] + 0x00000009u; /* 02861110 */ cpu->r[8] = rbrew_read8(cpu->mem, _t137); /* 02861114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 02861118 */ _t138 = cpu->r[7] + 0x0000000Du; /* 02861118 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[8]); /* 0286111C */ _t139 = cpu->r[29] + 0x000000FCu; /* 0286111C */ cpu->r[11] = rbrew_read32(cpu->mem, _t139); /* 02861120 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861120 */ _t141 = _t140 & 0x00000001u; /* 02861120 */ if (_t141) goto L_02861188; else goto L_02861124; L_02861124: ; // 0x2861124 /* 02861124 */ _t142 = cpu->r[20] + 0x00000004u; /* 02861124 */ cpu->r[9] = rbrew_read8(cpu->mem, _t142); /* 02861128 */ cpu->r[4] = cpu->r[20]; /* 0286112C */ cpu->r[3] = cpu->r[29]; /* 02861130 */ _t143 = cpu->r[11] + 0x0000000Eu; /* 02861130 */ rbrew_write8(cpu->mem, _t143, (uint8_t)cpu->r[9]); /* 02861134 */ Gambit_fn_02860D68(cpu); /* 02861138 */ _t144 = cpu->r[24] + 0x0000005Au; /* 02861138 */ cpu->r[6] = rbrew_read16(cpu->mem, _t144); /* 0286113C */ _t145 = cpu->r[21] + 0x0000000Cu; /* 0286113C */ cpu->r[3] = rbrew_read32(cpu->mem, _t145); /* 02861140 */ _t146 = cpu->r[21] + 0x00000004u; /* 02861140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t146); /* 02861144 */ _t147 = cpu->r[3] + 0x00000000u; /* 02861144 */ cpu->r[9] = rbrew_read32(cpu->mem, _t147); /* 02861148 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0286114C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu; /* 02861150 */ _t148 = cpu->r[9] + 0x00000024u; /* 02861150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148); /* 02861154 */ _t149 = cpu->r[5] + cpu->r[8]; /* 02861154 */ cpu->r[7] = rbrew_read32(cpu->mem, _t149); /* 02861158 */ cpu->ctr = cpu->r[0]; /* 0286115C */ cpu->r[4] = cpu->r[8] + cpu->r[7]; /* 02861160 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02861164 */ _t150 = cpu->r[29] + 0x000000B4u; /* 02861164 */ rbrew_write32(cpu->mem, _t150, cpu->r[3]); /* 02861168 */ _t151 = cpu->r[30] + 0x00000020u; /* 02861168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t151); /* 0286116C */ _t152 = cpu->r[22] + 0x00000058u; /* 0286116C */ cpu->r[4] = rbrew_read16(cpu->mem, _t152); /* 02861170 */ Gambit_fn_0286BA10(cpu); /* 02861174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02861178 */ cpu->r[22] = 0x00000000u; /* 0286117C */ cpu->r[21] = cpu->r[3]; /* 02861180 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861180 */ _t154 = _t153 & 0x00000001u; /* 02861180 */ if (_t154) goto L_028611E8; else goto L_02861184; L_02861184: ; // 0x2861184 /* 02861184 */ goto L_028611D8; L_02861188: ; // 0x2861188 /* 02861188 */ _t155 = cpu->r[11] + 0x0000000Eu; /* 02861188 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[18]); L_0286118C: ; // 0x286118c /* 0286118C */ _t156 = cpu->r[21] + 0x00000004u; /* 0286118C */ cpu->r[12] = rbrew_read32(cpu->mem, _t156); /* 02861190 */ _t157 = cpu->r[21] + 0x0000000Cu; /* 02861190 */ cpu->r[3] = rbrew_read32(cpu->mem, _t157); /* 02861194 */ _t158 = cpu->r[24] + 0x0000005Au; /* 02861194 */ cpu->r[6] = rbrew_read16(cpu->mem, _t158); /* 02861198 */ _t159 = cpu->r[3] + 0x00000000u; /* 02861198 */ cpu->r[9] = rbrew_read32(cpu->mem, _t159); /* 0286119C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu; /* 028611A0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028611A4 */ _t160 = cpu->r[9] + 0x00000024u; /* 028611A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160); /* 028611A8 */ _t161 = cpu->r[5] + cpu->r[8]; /* 028611A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t161); /* 028611AC */ cpu->ctr = cpu->r[0]; /* 028611B0 */ cpu->r[4] = cpu->r[8] + cpu->r[7]; /* 028611B4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028611B8 */ _t162 = cpu->r[29] + 0x000000B4u; /* 028611B8 */ rbrew_write32(cpu->mem, _t162, cpu->r[3]); /* 028611BC */ _t163 = cpu->r[30] + 0x00000020u; /* 028611BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t163); /* 028611C0 */ _t164 = cpu->r[22] + 0x00000058u; /* 028611C0 */ cpu->r[4] = rbrew_read16(cpu->mem, _t164); /* 028611C4 */ Gambit_fn_0286BA10(cpu); /* 028611C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028611CC */ cpu->r[22] = 0x00000000u; /* 028611D0 */ cpu->r[21] = cpu->r[3]; /* 028611D4 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u); /* 028611D4 */ _t166 = _t165 & 0x00000001u; /* 028611D4 */ if (_t166) goto L_028611E8; else goto L_028611D8; L_028611D8: ; // 0x28611d8 /* 028611D8 */ _t167 = cpu->r[30] + 0x00000024u; /* 028611D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t167); /* 028611DC */ _t168 = cpu->r[23] + 0x00000058u; /* 028611DC */ cpu->r[4] = rbrew_read16(cpu->mem, _t168); /* 028611E0 */ Gambit_fn_0286BA10(cpu); /* 028611E4 */ cpu->r[22] = cpu->r[3]; L_028611E8: ; // 0x28611e8 /* 028611E8 */ cpu->r[3] = 0x00000020u; /* 028611EC */ cpu->r[4] = 0x00000004u; /* 028611F0 */ Gambit_fn_02869E8C(cpu); /* 028611F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028611F8 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u); /* 028611F8 */ _t170 = _t169 & 0x00000001u; /* 028611F8 */ if (_t170) goto L_02861228; else goto L_028611FC; L_028611FC: ; // 0x28611fc /* 028611FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861200 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861200 */ _t172 = _t171 & 0x00000001u; /* 02861200 */ if (_t172) goto L_02861228; else goto L_02861204; L_02861204: ; // 0x2861204 /* 02861204 */ cpu->r[6] = cpu->r[30]; /* 02861208 */ cpu->r[5] = cpu->r[22]; /* 0286120C */ cpu->r[4] = cpu->r[21]; /* 02861210 */ Gambit_fn_0286C334(cpu); /* 02861214 */ _t173 = cpu->r[29] + 0x000000F4u; /* 02861214 */ rbrew_write32(cpu->mem, _t173, cpu->r[3]); /* 02861218 */ _t174 = cpu->r[25] + 0x00000080u; /* 02861218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t174); /* 0286121C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861220 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861220 */ _t176 = _t175 & 0x00000001u; /* 02861220 */ if (_t176) goto L_02861244; else goto L_02861224; L_02861224: ; // 0x2861224 /* 02861224 */ goto L_0286123C; L_02861228: ; // 0x2861228 /* 02861228 */ cpu->r[3] = 0x00000000u; /* 0286122C */ _t177 = cpu->r[29] + 0x000000F4u; /* 0286122C */ rbrew_write32(cpu->mem, _t177, cpu->r[3]); /* 02861230 */ _t178 = cpu->r[25] + 0x00000080u; /* 02861230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178); /* 02861234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861238 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861238 */ _t180 = _t179 & 0x00000001u; /* 02861238 */ if (_t180) goto L_02861244; else goto L_0286123C; L_0286123C: ; // 0x286123c /* 0286123C */ cpu->r[12] = cpu->r[25] + cpu->r[0]; /* 02861240 */ _t181 = cpu->r[29] + 0x000000A8u; /* 02861240 */ rbrew_write32(cpu->mem, _t181, cpu->r[12]); L_02861244: ; // 0x2861244 /* 02861244 */ _t182 = cpu->r[24] + 0x0000005Eu; /* 02861244 */ cpu->r[0] = rbrew_read8(cpu->mem, _t182); /* 02861248 */ _t183 = cpu->r[31] + 0x00000000u; /* 02861248 */ rbrew_write8(cpu->mem, _t183, (uint8_t)cpu->r[0]); /* 0286124C */ _t184 = cpu->r[26] + 0x00000010u; /* 0286124C */ cpu->r[5] = rbrew_read32(cpu->mem, _t184); /* 02861250 */ _t185 = cpu->r[31] + 0x00000004u; /* 02861250 */ rbrew_write32(cpu->mem, _t185, cpu->r[5]); /* 02861254 */ _t186 = cpu->r[25] + 0x00000064u; /* 02861254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t186); /* 02861258 */ _t187 = cpu->r[31] + 0x00000010u; /* 02861258 */ rbrew_write32(cpu->mem, _t187, cpu->r[28]); /* 0286125C */ cpu->r[7] = cpu->r[25] + cpu->r[0]; /* 02861260 */ _t188 = cpu->r[31] + 0x0000000Cu; /* 02861260 */ rbrew_write32(cpu->mem, _t188, cpu->r[27]); /* 02861264 */ _t189 = cpu->r[31] + 0x00000008u; /* 02861264 */ rbrew_write32(cpu->mem, _t189, cpu->r[7]); L_02861268: ; // 0x2861268 /* 02861268 */ cpu->r[3] = cpu->r[29]; /* 0286126C */ /* nop */ /* 02861270 */ _t190 = cpu->r[1] + 0x00000054u; /* 02861270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t190); /* 02861274 */ cpu->lr = cpu->r[0]; /* 02861278 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 0286127C */ return; } // fn_02860DC4 @ 0x2860dc4 void Gambit_fn_02860DC4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190; L_02860DC4: ; // 0x2860dc4 /* 02860DC4 */ _t0 = cpu->r[1] + 0xFFFFFFB0u; /* 02860DC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02860DC4 */ cpu->r[1] = _t0; /* 02860DC8 */ _t1 = cpu->r[1] + 0x00000054u; /* 02860DC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02860DCC */ /* nop */ /* 02860DD0 */ cpu->r[29] = cpu->r[3]; /* 02860DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02860DD4 */ cpu->r[22] = cpu->r[4]; /* 02860DD8 */ cpu->r[23] = cpu->r[5]; /* 02860DDC */ cpu->r[30] = cpu->r[6]; /* 02860DE0 */ cpu->r[31] = cpu->r[7]; /* 02860DE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860DE4 */ _t3 = _t2 & 0x00000001u; /* 02860DE4 */ if (_t3) goto L_02860DE8; else goto L_02860DF8; L_02860DE8: ; // 0x2860de8 /* 02860DE8 */ cpu->r[3] = 0x00000100u; /* 02860DEC */ Gambit_fn_02801A78(cpu); /* 02860DF0 */ cpu->r[29] = cpu->r[3]; /* 02860DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02860DF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860DF4 */ _t5 = _t4 & 0x00000001u; /* 02860DF4 */ if (_t5) goto L_02861268; else goto L_02860DF8; L_02860DF8: ; // 0x2860df8 /* 02860DF8 */ cpu->r[3] = cpu->r[29]; /* 02860DFC */ cpu->r[4] = cpu->r[22]; /* 02860E00 */ cpu->r[5] = cpu->r[30]; /* 02860E04 */ Gambit_fn_0285F268(cpu); /* 02860E08 */ cpu->r[0] = 0x10130000u; /* 02860E0C */ cpu->r[20] = cpu->r[29] + 0x000000ACu; /* 02860E10 */ cpu->r[5] = 0x00000004u; /* 02860E14 */ cpu->r[0] = cpu->r[0] + 0x0000517Cu; /* 02860E18 */ cpu->r[6] = 0x02860000u; /* 02860E1C */ cpu->r[4] = 0x00000002u; /* 02860E20 */ cpu->r[3] = cpu->r[20]; /* 02860E24 */ cpu->r[6] = cpu->r[6] + 0x00002EC0u; /* 02860E28 */ _t6 = cpu->r[29] + 0x00000008u; /* 02860E28 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02860E2C */ Gambit_fn_02C82E00(cpu); /* 02860E30 */ cpu->r[7] = 0x10130000u; /* 02860E34 */ cpu->r[8] = 0xFFFFFFFFu; /* 02860E38 */ _t7 = cpu->r[7] + 0x00005150u; /* 02860E38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7); /* 02860E3C */ _t8 = cpu->r[29] + 0x000000ECu; /* 02860E3C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 02860E40 */ _t9 = cpu->r[29] + 0x000000BCu; /* 02860E40 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]); /* 02860E44 */ _t10 = cpu->r[29] + 0x000000E8u; /* 02860E44 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]); /* 02860E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02860E4C */ _t11 = cpu->r[29] + 0x000000B8u; /* 02860E4C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); /* 02860E50 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860E50 */ _t13 = _t12 & 0x00000001u; /* 02860E50 */ if (_t13) goto L_02860F08; else goto L_02860E54; L_02860E54: ; // 0x2860e54 /* 02860E54 */ _t14 = cpu->r[30] + 0x00000028u; /* 02860E54 */ cpu->r[9] = rbrew_read16(cpu->mem, _t14); /* 02860E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02860E5C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860E5C */ _t16 = _t15 & 0x00000001u; /* 02860E5C */ if (_t16) goto L_02860E60; else goto L_02860EA0; L_02860E60: ; // 0x2860e60 /* 02860E60 */ _t17 = cpu->r[30] + 0x0000002Cu; /* 02860E60 */ cpu->r[11] = rbrew_read16(cpu->mem, _t17); /* 02860E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02860E68 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860E68 */ _t19 = _t18 & 0x00000001u; /* 02860E68 */ if (_t19) goto L_02860E6C; else goto L_02860EA0; L_02860E6C: ; // 0x2860e6c /* 02860E6C */ _t20 = cpu->r[30] + 0x00000024u; /* 02860E6C */ cpu->r[21] = rbrew_read32(cpu->mem, _t20); /* 02860E70 */ cpu->r[25] = cpu->r[23]; /* 02860E74 */ cpu->r[24] = cpu->r[23]; /* 02860E78 */ cpu->r[3] = cpu->r[29]; /* 02860E7C */ cpu->r[26] = cpu->r[21]; /* 02860E80 */ Gambit_fn_02860C60(cpu); /* 02860E84 */ _t21 = cpu->r[24] + 0x0000005Eu; /* 02860E84 */ cpu->r[5] = rbrew_read8(cpu->mem, _t21); /* 02860E88 */ _t22 = cpu->r[24] + 0x00000054u; /* 02860E88 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22); /* 02860E8C */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02860E90 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02860E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02860E94 */ _t23 = cpu->r[25] + 0x00000056u; /* 02860E94 */ cpu->r[0] = rbrew_read16(cpu->mem, _t23); /* 02860E98 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860E98 */ _t25 = _t24 & 0x00000001u; /* 02860E98 */ if (_t25) goto L_02860F3C; else goto L_02860E9C; L_02860E9C: ; // 0x2860e9c /* 02860E9C */ goto L_02860F38; L_02860EA0: ; // 0x2860ea0 /* 02860EA0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02860EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02860EA4 */ cpu->r[24] = cpu->r[22]; /* 02860EA8 */ _t26 = cpu->r[30] + 0x00000020u; /* 02860EA8 */ cpu->r[21] = rbrew_read32(cpu->mem, _t26); /* 02860EAC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860EAC */ _t28 = _t27 & 0x00000001u; /* 02860EAC */ if (_t28) goto L_02860EDC; else goto L_02860EB0; L_02860EB0: ; // 0x2860eb0 /* 02860EB0 */ _t29 = cpu->r[30] + 0x00000024u; /* 02860EB0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t29); /* 02860EB4 */ cpu->r[3] = cpu->r[29]; /* 02860EB8 */ cpu->r[25] = cpu->r[23]; /* 02860EBC */ Gambit_fn_02860C60(cpu); /* 02860EC0 */ _t30 = cpu->r[24] + 0x0000005Eu; /* 02860EC0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t30); /* 02860EC4 */ _t31 = cpu->r[24] + 0x00000054u; /* 02860EC4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 02860EC8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02860ECC */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02860ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02860ED0 */ _t32 = cpu->r[25] + 0x00000056u; /* 02860ED0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t32); /* 02860ED4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860ED4 */ _t34 = _t33 & 0x00000001u; /* 02860ED4 */ if (_t34) goto L_02860F3C; else goto L_02860ED8; L_02860ED8: ; // 0x2860ed8 /* 02860ED8 */ goto L_02860F38; L_02860EDC: ; // 0x2860edc /* 02860EDC */ cpu->r[3] = cpu->r[29]; /* 02860EE0 */ cpu->r[26] = cpu->r[21]; /* 02860EE4 */ cpu->r[25] = cpu->r[22]; /* 02860EE8 */ Gambit_fn_02860C60(cpu); /* 02860EEC */ _t35 = cpu->r[24] + 0x0000005Eu; /* 02860EEC */ cpu->r[5] = rbrew_read8(cpu->mem, _t35); /* 02860EF0 */ _t36 = cpu->r[24] + 0x00000054u; /* 02860EF0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t36); /* 02860EF4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02860EF8 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02860EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02860EFC */ _t37 = cpu->r[25] + 0x00000056u; /* 02860EFC */ cpu->r[0] = rbrew_read16(cpu->mem, _t37); /* 02860F00 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860F00 */ _t39 = _t38 & 0x00000001u; /* 02860F00 */ if (_t39) goto L_02860F3C; else goto L_02860F04; L_02860F04: ; // 0x2860f04 /* 02860F04 */ goto L_02860F38; L_02860F08: ; // 0x2860f08 /* 02860F08 */ _t40 = cpu->r[30] + 0x00000020u; /* 02860F08 */ cpu->r[21] = rbrew_read32(cpu->mem, _t40); /* 02860F0C */ cpu->r[25] = cpu->r[22]; /* 02860F10 */ cpu->r[24] = cpu->r[22]; /* 02860F14 */ cpu->r[3] = cpu->r[29]; /* 02860F18 */ cpu->r[26] = cpu->r[21]; /* 02860F1C */ Gambit_fn_02860C60(cpu); /* 02860F20 */ _t41 = cpu->r[24] + 0x0000005Eu; /* 02860F20 */ cpu->r[5] = rbrew_read8(cpu->mem, _t41); /* 02860F24 */ _t42 = cpu->r[24] + 0x00000054u; /* 02860F24 */ cpu->r[0] = rbrew_read16(cpu->mem, _t42); /* 02860F28 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02860F2C */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02860F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02860F30 */ _t43 = cpu->r[25] + 0x00000056u; /* 02860F30 */ cpu->r[0] = rbrew_read16(cpu->mem, _t43); /* 02860F34 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860F34 */ _t45 = _t44 & 0x00000001u; /* 02860F34 */ if (_t45) goto L_02860F3C; else goto L_02860F38; L_02860F38: ; // 0x2860f38 /* 02860F38 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; L_02860F3C: ; // 0x2860f3c /* 02860F3C */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02860F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02860F40 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02860F40 */ _t47 = _t46 & 0x00000001u; /* 02860F40 */ if (_t47) goto L_02860F48; else goto L_02860F44; L_02860F44: ; // 0x2860f44 /* 02860F44 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; L_02860F48: ; // 0x2860f48 /* 02860F48 */ cpu->r[0] = 0x00000002u; /* 02860F4C */ cpu->r[4] = 0x00000000u; /* 02860F50 */ cpu->ctr = cpu->r[0]; /* 02860F54 */ cpu->r[5] = cpu->r[24] + 0x00000068u; L_02860F58: ; // 0x2860f58 /* 02860F58 */ cpu->r[6] = cpu->r[5] + cpu->r[4]; /* 02860F5C */ _t48 = cpu->r[6] + 0x00000002u; /* 02860F5C */ cpu->r[12] = rbrew_read8(cpu->mem, _t48); /* 02860F60 */ _t49 = cpu->r[6] + 0x00000003u; /* 02860F60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t49); /* 02860F64 */ _t50 = cpu->r[6] + 0x00000000u; /* 02860F64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t50); /* 02860F68 */ _t51 = cpu->r[6] + 0x00000001u; /* 02860F68 */ cpu->r[11] = rbrew_read8(cpu->mem, _t51); /* 02860F6C */ _t52 = cpu->r[1] + 0x00000008u; /* 02860F6C */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[10]); /* 02860F70 */ _t53 = cpu->r[1] + 0x0000000Au; /* 02860F70 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[12]); /* 02860F74 */ cpu->r[8] = cpu->r[1] + 0x00000008u; /* 02860F78 */ _t54 = cpu->r[1] + 0x00000009u; /* 02860F78 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[11]); /* 02860F7C */ cpu->r[9] = cpu->r[20] + cpu->r[4]; /* 02860F80 */ _t55 = cpu->r[1] + 0x0000000Bu; /* 02860F80 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]); /* 02860F84 */ /* nop */ /* 02860F88 */ cpu->r[4] = cpu->r[4] + 0x00000004u; /* 02860F8C */ /* nop */ /* 02860F90 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02860F90 */ _t56 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02860F90 */ _t57 = _t56 >> (0x00000002u & 31u); /* 02860F90 */ _t58 = _t57 & 0x00000001u; /* 02860F90 */ if (_t58) goto L_02860F58; else goto L_02860F94; L_02860F94: ; // 0x2860f94 /* 02860F94 */ _t59 = cpu->r[24] + 0x00000070u; /* 02860F94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t59); /* 02860F98 */ _t60 = cpu->r[29] + 0x000000B8u; /* 02860F98 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[0]); /* 02860F9C */ _t61 = cpu->r[24] + 0x00000074u; /* 02860F9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61); /* 02860FA0 */ _t62 = cpu->r[29] + 0x000000BCu; /* 02860FA0 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]); /* 02860FA4 */ _t63 = cpu->r[24] + 0x0000005Cu; /* 02860FA4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t63); /* 02860FA8 */ _t64 = cpu->r[29] + 0x000000D0u; /* 02860FA8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t64); /* 02860FAC */ _t65 = cpu->r[29] + 0x000000D1u; /* 02860FAC */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[6]); /* 02860FB0 */ _t66 = cpu->r[24] + 0x0000005Du; /* 02860FB0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t66); /* 02860FB4 */ _t67 = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000018u, 0x00000019u); /* 02860FB4 */ _t68 = cpu->r[5] & 0xFFFFFF3Fu; /* 02860FB4 */ cpu->r[5] = _t68 | _t67; /* 02860FB8 */ _t69 = cpu->r[29] + 0x000000D0u; /* 02860FB8 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[5]); /* 02860FBC */ _t70 = cpu->r[24] + 0x00000078u; /* 02860FBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t70); /* 02860FC0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02860FC4 */ _t71 = cpu->r[29] + 0x000000C4u; /* 02860FC4 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[0]); /* 02860FC8 */ _t72 = cpu->r[24] + 0x0000007Cu; /* 02860FC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t72); /* 02860FCC */ _t73 = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x0000001Bu, 0x0000001Bu); /* 02860FCC */ _t74 = cpu->r[5] & 0xFFFFFFEFu; /* 02860FCC */ cpu->r[5] = _t74 | _t73; /* 02860FD0 */ _t75 = cpu->r[29] + 0x000000C0u; /* 02860FD0 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]); /* 02860FD4 */ _t76 = cpu->r[24] + 0x00000060u; /* 02860FD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t76); /* 02860FD8 */ _t77 = cpu->r[29] + 0x000000D0u; /* 02860FD8 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[5]); /* 02860FDC */ _t78 = cpu->r[29] + 0x000000D4u; /* 02860FDC */ rbrew_write_f32(cpu->mem, _t78, cpu->f[0]); /* 02860FE0 */ _t79 = cpu->r[24] + 0x00000084u; /* 02860FE0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t79); /* 02860FE4 */ _t80 = cpu->r[24] + 0x00000088u; /* 02860FE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t80); /* 02860FE8 */ _t81 = cpu->r[29] + 0x000000D8u; /* 02860FE8 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[13]); /* 02860FEC */ _t82 = cpu->r[29] + 0x000000DCu; /* 02860FEC */ rbrew_write_f32(cpu->mem, _t82, cpu->f[0]); /* 02860FF0 */ _t83 = cpu->r[24] + 0x0000008Cu; /* 02860FF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t83); /* 02860FF4 */ _t84 = cpu->r[24] + 0x00000090u; /* 02860FF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t84); /* 02860FF8 */ _t85 = cpu->r[29] + 0x000000E0u; /* 02860FF8 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[13]); /* 02860FFC */ _t86 = cpu->r[29] + 0x000000E4u; /* 02860FFC */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]); /* 02861000 */ _t87 = cpu->r[24] + 0x00000097u; /* 02861000 */ cpu->r[0] = rbrew_read8(cpu->mem, _t87); /* 02861004 */ _t88 = cpu->r[24] + 0x00000095u; /* 02861004 */ cpu->r[7] = rbrew_read8(cpu->mem, _t88); /* 02861008 */ _t89 = cpu->r[24] + 0x00000094u; /* 02861008 */ cpu->r[6] = rbrew_read8(cpu->mem, _t89); /* 0286100C */ _t90 = cpu->r[24] + 0x00000096u; /* 0286100C */ cpu->r[8] = rbrew_read8(cpu->mem, _t90); /* 02861010 */ _t91 = cpu->r[1] + 0x0000000Cu; /* 02861010 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[6]); /* 02861014 */ _t92 = cpu->r[1] + 0x0000000Eu; /* 02861014 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[8]); /* 02861018 */ _t93 = cpu->r[1] + 0x0000000Du; /* 02861018 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[7]); /* 0286101C */ cpu->r[8] = cpu->r[1] + 0x0000000Cu; /* 02861020 */ _t94 = cpu->r[1] + 0x0000000Fu; /* 02861020 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[0]); /* 02861024 */ /* nop */ /* 02861028 */ cpu->r[9] = cpu->r[29] + 0x000000E8u; /* 0286102C */ /* nop */ /* 02861030 */ _t95 = cpu->r[24] + 0x00000098u; /* 02861030 */ cpu->r[10] = rbrew_read8(cpu->mem, _t95); /* 02861034 */ _t96 = cpu->r[24] + 0x0000009Bu; /* 02861034 */ cpu->r[0] = rbrew_read8(cpu->mem, _t96); /* 02861038 */ _t97 = cpu->r[24] + 0x00000099u; /* 02861038 */ cpu->r[11] = rbrew_read8(cpu->mem, _t97); /* 0286103C */ _t98 = cpu->r[24] + 0x0000009Au; /* 0286103C */ cpu->r[12] = rbrew_read8(cpu->mem, _t98); /* 02861040 */ _t99 = cpu->r[1] + 0x00000011u; /* 02861040 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[11]); /* 02861044 */ _t100 = cpu->r[1] + 0x00000012u; /* 02861044 */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[12]); /* 02861048 */ _t101 = cpu->r[1] + 0x00000010u; /* 02861048 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[10]); /* 0286104C */ cpu->r[12] = cpu->r[1] + 0x00000010u; /* 02861050 */ _t102 = cpu->r[1] + 0x00000013u; /* 02861050 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[0]); /* 02861054 */ /* nop */ /* 02861058 */ cpu->r[8] = cpu->r[29] + 0x000000ECu; /* 0286105C */ /* nop */ /* 02861060 */ _t103 = cpu->r[24] + 0x0000009Cu; /* 02861060 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t103); /* 02861064 */ _t104 = cpu->r[29] + 0x000000F0u; /* 02861064 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[0]); /* 02861068 */ _t105 = cpu->r[24] + 0x0000005Eu; /* 02861068 */ cpu->r[5] = rbrew_read8(cpu->mem, _t105); /* 0286106C */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 02861070 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x0000001Eu, 0x0000001Eu); /* 02861074 */ cpu->r[9] = cpu->r[7] | 0x00000002u; /* 02861078 */ _t106 = rbrew_rlwinm(cpu->r[5], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 02861078 */ _t107 = cpu->r[6] & 0xFFFFFFFEu; /* 02861078 */ cpu->r[6] = _t107 | _t106; /* 0286107C */ _t108 = cpu->r[29] + 0x000000D0u; /* 0286107C */ cpu->r[10] = rbrew_read8(cpu->mem, _t108); /* 02861080 */ _t109 = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02861080 */ _t110 = cpu->r[9] & 0x00000003u; /* 02861080 */ cpu->r[9] = _t110 | _t109; /* 02861084 */ _t111 = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Cu, 0x0000001Fu); /* 02861084 */ _t112 = cpu->r[10] & 0xFFFFFFF0u; /* 02861084 */ cpu->r[10] = _t112 | _t111; /* 02861088 */ cpu->r[18] = 0x00000000u; /* 0286108C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0286108C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02861090 */ _t113 = cpu->r[29] + 0x000000D0u; /* 02861090 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[10]); /* 02861094 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861094 */ _t115 = _t114 & 0x00000001u; /* 02861094 */ if (_t115) goto L_0286118C; else goto L_02861098; L_02861098: ; // 0x2861098 /* 02861098 */ _t116 = cpu->r[24] + 0x000000A0u; /* 02861098 */ cpu->r[10] = rbrew_read32(cpu->mem, _t116); /* 0286109C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028610A0 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u); /* 028610A0 */ _t118 = _t117 & 0x00000001u; /* 028610A0 */ if (_t118) goto L_0286118C; else goto L_028610A4; L_028610A4: ; // 0x28610a4 /* 028610A4 */ cpu->r[19] = cpu->r[24] + cpu->r[10]; /* 028610A8 */ _t119 = cpu->r[19] + 0x0000000Au; /* 028610A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t119); /* 028610AC */ cpu->r[20] = 0x00000000u; /* 028610B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028610B4 */ cpu->r[3] = 0x00000018u; /* 028610B8 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u); /* 028610B8 */ _t121 = _t120 & 0x00000001u; /* 028610B8 */ if (_t121) goto L_028610D8; else goto L_028610BC; L_028610BC: ; // 0x28610bc /* 028610BC */ _t122 = cpu->r[19] + 0x00000010u; /* 028610BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t122); /* 028610C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028610C4 */ cpu->r[20] = cpu->r[19] + 0x0000000Cu; /* 028610C8 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u); /* 028610C8 */ _t124 = _t123 & 0x00000001u; /* 028610C8 */ if (_t124) goto L_028610D8; else goto L_028610CC; L_028610CC: ; // 0x28610cc /* 028610CC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 028610D0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 028610D4 */ cpu->r[3] = cpu->r[5] + 0x00000018u; L_028610D8: ; // 0x28610d8 /* 028610D8 */ cpu->r[4] = 0x00000004u; /* 028610DC */ Gambit_fn_02869E8C(cpu); /* 028610E0 */ _t125 = cpu->r[29] + 0x000000FCu; /* 028610E0 */ rbrew_write32(cpu->mem, _t125, cpu->r[3]); /* 028610E4 */ _t126 = cpu->r[19] + 0x00000000u; /* 028610E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t126); /* 028610E8 */ _t127 = cpu->r[3] + 0x00000000u; /* 028610E8 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[0]); /* 028610EC */ _t128 = cpu->r[29] + 0x000000FCu; /* 028610EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t128); /* 028610F0 */ _t129 = cpu->r[19] + 0x00000004u; /* 028610F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t129); /* 028610F4 */ _t130 = cpu->r[11] + 0x00000004u; /* 028610F4 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[0]); /* 028610F8 */ _t131 = cpu->r[29] + 0x000000FCu; /* 028610F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t131); /* 028610FC */ _t132 = cpu->r[12] + 0x00000008u; /* 028610FC */ rbrew_write32(cpu->mem, _t132, cpu->r[18]); /* 02861100 */ _t133 = cpu->r[29] + 0x000000FCu; /* 02861100 */ cpu->r[5] = rbrew_read32(cpu->mem, _t133); /* 02861104 */ _t134 = cpu->r[19] + 0x00000008u; /* 02861104 */ cpu->r[0] = rbrew_read8(cpu->mem, _t134); /* 02861108 */ _t135 = cpu->r[5] + 0x0000000Cu; /* 02861108 */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[0]); /* 0286110C */ _t136 = cpu->r[29] + 0x000000FCu; /* 0286110C */ cpu->r[7] = rbrew_read32(cpu->mem, _t136); /* 02861110 */ _t137 = cpu->r[19] + 0x00000009u; /* 02861110 */ cpu->r[8] = rbrew_read8(cpu->mem, _t137); /* 02861114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 02861118 */ _t138 = cpu->r[7] + 0x0000000Du; /* 02861118 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[8]); /* 0286111C */ _t139 = cpu->r[29] + 0x000000FCu; /* 0286111C */ cpu->r[11] = rbrew_read32(cpu->mem, _t139); /* 02861120 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861120 */ _t141 = _t140 & 0x00000001u; /* 02861120 */ if (_t141) goto L_02861188; else goto L_02861124; L_02861124: ; // 0x2861124 /* 02861124 */ _t142 = cpu->r[20] + 0x00000004u; /* 02861124 */ cpu->r[9] = rbrew_read8(cpu->mem, _t142); /* 02861128 */ cpu->r[4] = cpu->r[20]; /* 0286112C */ cpu->r[3] = cpu->r[29]; /* 02861130 */ _t143 = cpu->r[11] + 0x0000000Eu; /* 02861130 */ rbrew_write8(cpu->mem, _t143, (uint8_t)cpu->r[9]); /* 02861134 */ Gambit_fn_02860D68(cpu); /* 02861138 */ _t144 = cpu->r[24] + 0x0000005Au; /* 02861138 */ cpu->r[6] = rbrew_read16(cpu->mem, _t144); /* 0286113C */ _t145 = cpu->r[21] + 0x0000000Cu; /* 0286113C */ cpu->r[3] = rbrew_read32(cpu->mem, _t145); /* 02861140 */ _t146 = cpu->r[21] + 0x00000004u; /* 02861140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t146); /* 02861144 */ _t147 = cpu->r[3] + 0x00000000u; /* 02861144 */ cpu->r[9] = rbrew_read32(cpu->mem, _t147); /* 02861148 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0286114C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu; /* 02861150 */ _t148 = cpu->r[9] + 0x00000024u; /* 02861150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148); /* 02861154 */ _t149 = cpu->r[5] + cpu->r[8]; /* 02861154 */ cpu->r[7] = rbrew_read32(cpu->mem, _t149); /* 02861158 */ cpu->ctr = cpu->r[0]; /* 0286115C */ cpu->r[4] = cpu->r[8] + cpu->r[7]; /* 02861160 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02861164 */ _t150 = cpu->r[29] + 0x000000B4u; /* 02861164 */ rbrew_write32(cpu->mem, _t150, cpu->r[3]); /* 02861168 */ _t151 = cpu->r[30] + 0x00000020u; /* 02861168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t151); /* 0286116C */ _t152 = cpu->r[22] + 0x00000058u; /* 0286116C */ cpu->r[4] = rbrew_read16(cpu->mem, _t152); /* 02861170 */ Gambit_fn_0286BA10(cpu); /* 02861174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02861178 */ cpu->r[22] = 0x00000000u; /* 0286117C */ cpu->r[21] = cpu->r[3]; /* 02861180 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861180 */ _t154 = _t153 & 0x00000001u; /* 02861180 */ if (_t154) goto L_028611E8; else goto L_02861184; L_02861184: ; // 0x2861184 /* 02861184 */ goto L_028611D8; L_02861188: ; // 0x2861188 /* 02861188 */ _t155 = cpu->r[11] + 0x0000000Eu; /* 02861188 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[18]); L_0286118C: ; // 0x286118c /* 0286118C */ _t156 = cpu->r[21] + 0x00000004u; /* 0286118C */ cpu->r[12] = rbrew_read32(cpu->mem, _t156); /* 02861190 */ _t157 = cpu->r[21] + 0x0000000Cu; /* 02861190 */ cpu->r[3] = rbrew_read32(cpu->mem, _t157); /* 02861194 */ _t158 = cpu->r[24] + 0x0000005Au; /* 02861194 */ cpu->r[6] = rbrew_read16(cpu->mem, _t158); /* 02861198 */ _t159 = cpu->r[3] + 0x00000000u; /* 02861198 */ cpu->r[9] = rbrew_read32(cpu->mem, _t159); /* 0286119C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu; /* 028611A0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 028611A4 */ _t160 = cpu->r[9] + 0x00000024u; /* 028611A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160); /* 028611A8 */ _t161 = cpu->r[5] + cpu->r[8]; /* 028611A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t161); /* 028611AC */ cpu->ctr = cpu->r[0]; /* 028611B0 */ cpu->r[4] = cpu->r[8] + cpu->r[7]; /* 028611B4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028611B8 */ _t162 = cpu->r[29] + 0x000000B4u; /* 028611B8 */ rbrew_write32(cpu->mem, _t162, cpu->r[3]); /* 028611BC */ _t163 = cpu->r[30] + 0x00000020u; /* 028611BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t163); /* 028611C0 */ _t164 = cpu->r[22] + 0x00000058u; /* 028611C0 */ cpu->r[4] = rbrew_read16(cpu->mem, _t164); /* 028611C4 */ Gambit_fn_0286BA10(cpu); /* 028611C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028611CC */ cpu->r[22] = 0x00000000u; /* 028611D0 */ cpu->r[21] = cpu->r[3]; /* 028611D4 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u); /* 028611D4 */ _t166 = _t165 & 0x00000001u; /* 028611D4 */ if (_t166) goto L_028611E8; else goto L_028611D8; L_028611D8: ; // 0x28611d8 /* 028611D8 */ _t167 = cpu->r[30] + 0x00000024u; /* 028611D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t167); /* 028611DC */ _t168 = cpu->r[23] + 0x00000058u; /* 028611DC */ cpu->r[4] = rbrew_read16(cpu->mem, _t168); /* 028611E0 */ Gambit_fn_0286BA10(cpu); /* 028611E4 */ cpu->r[22] = cpu->r[3]; L_028611E8: ; // 0x28611e8 /* 028611E8 */ cpu->r[3] = 0x00000020u; /* 028611EC */ cpu->r[4] = 0x00000004u; /* 028611F0 */ Gambit_fn_02869E8C(cpu); /* 028611F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028611F8 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u); /* 028611F8 */ _t170 = _t169 & 0x00000001u; /* 028611F8 */ if (_t170) goto L_02861228; else goto L_028611FC; L_028611FC: ; // 0x28611fc /* 028611FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861200 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861200 */ _t172 = _t171 & 0x00000001u; /* 02861200 */ if (_t172) goto L_02861228; else goto L_02861204; L_02861204: ; // 0x2861204 /* 02861204 */ cpu->r[6] = cpu->r[30]; /* 02861208 */ cpu->r[5] = cpu->r[22]; /* 0286120C */ cpu->r[4] = cpu->r[21]; /* 02861210 */ Gambit_fn_0286C334(cpu); /* 02861214 */ _t173 = cpu->r[29] + 0x000000F4u; /* 02861214 */ rbrew_write32(cpu->mem, _t173, cpu->r[3]); /* 02861218 */ _t174 = cpu->r[25] + 0x00000080u; /* 02861218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t174); /* 0286121C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861220 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861220 */ _t176 = _t175 & 0x00000001u; /* 02861220 */ if (_t176) goto L_02861244; else goto L_02861224; L_02861224: ; // 0x2861224 /* 02861224 */ goto L_0286123C; L_02861228: ; // 0x2861228 /* 02861228 */ cpu->r[3] = 0x00000000u; /* 0286122C */ _t177 = cpu->r[29] + 0x000000F4u; /* 0286122C */ rbrew_write32(cpu->mem, _t177, cpu->r[3]); /* 02861230 */ _t178 = cpu->r[25] + 0x00000080u; /* 02861230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178); /* 02861234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861238 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861238 */ _t180 = _t179 & 0x00000001u; /* 02861238 */ if (_t180) goto L_02861244; else goto L_0286123C; L_0286123C: ; // 0x286123c /* 0286123C */ cpu->r[12] = cpu->r[25] + cpu->r[0]; /* 02861240 */ _t181 = cpu->r[29] + 0x000000A8u; /* 02861240 */ rbrew_write32(cpu->mem, _t181, cpu->r[12]); L_02861244: ; // 0x2861244 /* 02861244 */ _t182 = cpu->r[24] + 0x0000005Eu; /* 02861244 */ cpu->r[0] = rbrew_read8(cpu->mem, _t182); /* 02861248 */ _t183 = cpu->r[31] + 0x00000000u; /* 02861248 */ rbrew_write8(cpu->mem, _t183, (uint8_t)cpu->r[0]); /* 0286124C */ _t184 = cpu->r[26] + 0x00000010u; /* 0286124C */ cpu->r[5] = rbrew_read32(cpu->mem, _t184); /* 02861250 */ _t185 = cpu->r[31] + 0x00000004u; /* 02861250 */ rbrew_write32(cpu->mem, _t185, cpu->r[5]); /* 02861254 */ _t186 = cpu->r[25] + 0x00000064u; /* 02861254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t186); /* 02861258 */ _t187 = cpu->r[31] + 0x00000010u; /* 02861258 */ rbrew_write32(cpu->mem, _t187, cpu->r[28]); /* 0286125C */ cpu->r[7] = cpu->r[25] + cpu->r[0]; /* 02861260 */ _t188 = cpu->r[31] + 0x0000000Cu; /* 02861260 */ rbrew_write32(cpu->mem, _t188, cpu->r[27]); /* 02861264 */ _t189 = cpu->r[31] + 0x00000008u; /* 02861264 */ rbrew_write32(cpu->mem, _t189, cpu->r[7]); L_02861268: ; // 0x2861268 /* 02861268 */ cpu->r[3] = cpu->r[29]; /* 0286126C */ /* nop */ /* 02861270 */ _t190 = cpu->r[1] + 0x00000054u; /* 02861270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t190); /* 02861274 */ cpu->lr = cpu->r[0]; /* 02861278 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 0286127C */ return; } // fn_02861280 @ 0x2861280 void Gambit_fn_02861280(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71; L_02861280: ; // 0x2861280 /* 02861280 */ cpu->r[0] = cpu->lr; /* 02861284 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02861284 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861284 */ cpu->r[1] = _t0; /* 02861288 */ _t1 = cpu->r[1] + 0x00000024u; /* 02861288 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0286128C */ _t2 = cpu->r[1] + 0x0000001Cu; /* 0286128C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02861290 */ cpu->r[31] = cpu->r[4]; /* 02861294 */ _t3 = cpu->r[1] + 0x00000018u; /* 02861294 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 02861298 */ _t4 = cpu->r[1] + 0x00000020u; /* 02861298 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0286129C */ _t5 = cpu->r[1] + 0x0000002Cu; /* 0286129C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028612A0 */ cpu->r[29] = cpu->r[5]; /* 028612A4 */ cpu->r[30] = cpu->r[3]; /* 028612A8 */ _t6 = cpu->r[31] + 0x00000014u; /* 028612A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028612AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028612B0 */ cpu->r[28] = 0x00000000u; /* 028612B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028612B4 */ _t8 = _t7 & 0x00000001u; /* 028612B4 */ if (_t8) goto L_02861378; else goto L_028612B8; L_028612B8: ; // 0x28612b8 /* 028612B8 */ cpu->r[6] = 0x00000000u; /* 028612BC */ _t9 = cpu->r[29] + 0x00000000u; /* 028612BC */ cpu->r[9] = rbrew_read8(cpu->mem, _t9); /* 028612C0 */ _t10 = cpu->r[1] + 0x00000008u; /* 028612C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]); /* 028612C4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 028612C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028612C8 */ _t11 = cpu->r[1] + 0x00000010u; /* 028612C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]); /* 028612CC */ cpu->r[0] = 0xFFFFFFFFu; /* 028612D0 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028612D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]); /* 028612D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028612D4 */ _t14 = _t13 & 0x00000001u; /* 028612D4 */ if (_t14) goto L_028612D8; else goto L_02861328; L_028612D8: ; // 0x28612d8 /* 028612D8 */ _t15 = cpu->r[1] + 0x00000014u; /* 028612D8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 028612DC */ _t16 = cpu->r[3] + 0x00000000u; /* 028612DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 028612E0 */ _t17 = cpu->r[12] + 0x00000014u; /* 028612E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028612E4 */ _t18 = cpu->r[31] + 0x00000018u; /* 028612E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 028612E8 */ cpu->ctr = cpu->r[0]; /* 028612EC */ _t19 = cpu->r[29] + 0x00000004u; /* 028612EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 028612F0 */ cpu->r[7] = cpu->r[30]; /* 028612F4 */ _t20 = cpu->r[30] + 0x000000A8u; /* 028612F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20); /* 028612F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 028612FC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02861300 */ _t21 = cpu->r[30] + 0x00000008u; /* 02861300 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21); /* 02861304 */ _t22 = cpu->r[6] + 0x000000ECu; /* 02861304 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22); /* 02861308 */ cpu->ctr = cpu->r[7]; /* 0286130C */ cpu->r[3] = cpu->r[30]; /* 02861310 */ cpu->r[4] = cpu->r[31]; /* 02861314 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 02861318 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0286131C */ cpu->r[28] = cpu->r[3]; /* 0286131C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02861320 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861320 */ _t24 = _t23 & 0x00000001u; /* 02861320 */ if (_t24) goto L_02861378; else goto L_02861324; L_02861324: ; // 0x2861324 /* 02861324 */ goto L_028613A8; L_02861328: ; // 0x2861328 /* 02861328 */ _t25 = cpu->r[29] + 0x0000000Cu; /* 02861328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 0286132C */ _t26 = cpu->r[1] + 0x00000014u; /* 0286132C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]); /* 02861330 */ _t27 = cpu->r[3] + 0x00000000u; /* 02861330 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 02861334 */ _t28 = cpu->r[12] + 0x00000014u; /* 02861334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02861338 */ _t29 = cpu->r[31] + 0x00000018u; /* 02861338 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29); /* 0286133C */ cpu->ctr = cpu->r[0]; /* 02861340 */ _t30 = cpu->r[29] + 0x00000004u; /* 02861340 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30); /* 02861344 */ cpu->r[7] = cpu->r[30]; /* 02861348 */ _t31 = cpu->r[30] + 0x000000A8u; /* 02861348 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31); /* 0286134C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02861350 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02861354 */ _t32 = cpu->r[30] + 0x00000008u; /* 02861354 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32); /* 02861358 */ _t33 = cpu->r[6] + 0x000000ECu; /* 02861358 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33); /* 0286135C */ cpu->ctr = cpu->r[7]; /* 02861360 */ cpu->r[3] = cpu->r[30]; /* 02861364 */ cpu->r[4] = cpu->r[31]; /* 02861368 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0286136C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02861370 */ cpu->r[28] = cpu->r[3]; /* 02861370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02861374 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861374 */ _t35 = _t34 & 0x00000001u; /* 02861374 */ if (_t35) goto L_02861378; else goto L_028613A8; L_02861378: ; // 0x2861378 /* 02861378 */ _t36 = cpu->r[29] + 0x0000000Cu; /* 02861378 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36); /* 0286137C */ _t37 = cpu->r[29] + 0x00000010u; /* 0286137C */ cpu->r[4] = rbrew_read32(cpu->mem, _t37); /* 02861380 */ _t38 = cpu->r[30] + 0x00000008u; /* 02861380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38); /* 02861384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]); /* 02861388 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u); /* 02861388 */ _t40 = _t39 & 0x00000001u; /* 02861388 */ if (_t40) goto L_0286138C; else goto L_02861390; L_0286138C: ; // 0x286138c /* 0286138C */ cpu->r[4] = cpu->r[12]; L_02861390: ; // 0x2861390 /* 02861390 */ _t41 = cpu->r[10] + 0x000000BCu; /* 02861390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41); /* 02861394 */ cpu->ctr = cpu->r[11]; /* 02861398 */ _t42 = cpu->r[31] + 0x0000003Cu; /* 02861398 */ cpu->r[5] = rbrew_read8(cpu->mem, _t42); /* 0286139C */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028613A0 */ cpu->r[3] = cpu->r[30]; /* 028613A4 */ rbrew_call_indirect(cpu, cpu->ctr); L_028613A8: ; // 0x28613a8 /* 028613A8 */ _t43 = cpu->r[31] + 0x0000003Cu; /* 028613A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t43); /* 028613AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028613B0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 028613B0 */ _t45 = _t44 & 0x00000001u; /* 028613B0 */ if (_t45) goto L_028613DC; else goto L_028613B4; L_028613B4: ; // 0x28613b4 /* 028613B4 */ _t46 = cpu->r[30] + 0x000000F8u; /* 028613B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46); /* 028613B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028613BC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 028613BC */ _t48 = _t47 & 0x00000001u; /* 028613BC */ if (_t48) goto L_028613DC; else goto L_028613C0; L_028613C0: ; // 0x28613c0 /* 028613C0 */ _t49 = cpu->r[31] + 0x0000001Cu; /* 028613C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49); /* 028613C4 */ _t50 = cpu->r[8] + 0x00000000u; /* 028613C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50); /* 028613C8 */ _t51 = cpu->r[9] + 0x00000030u; /* 028613C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 028613CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]); /* 028613D0 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 028613D0 */ _t53 = _t52 & 0x00000001u; /* 028613D0 */ if (_t53) goto L_028613D4; else goto L_028613DC; L_028613D4: ; // 0x28613d4 /* 028613D4 */ _t54 = cpu->r[8] + 0x00000000u; /* 028613D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 028613D8 */ _t55 = cpu->r[9] + 0x00000030u; /* 028613D8 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]); L_028613DC: ; // 0x28613dc /* 028613DC */ _t56 = cpu->r[29] + 0x00000010u; /* 028613DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 028613E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028613E4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 028613E4 */ _t58 = _t57 & 0x00000001u; /* 028613E4 */ if (_t58) goto L_0286141C; else goto L_028613E8; L_028613E8: ; // 0x28613e8 /* 028613E8 */ _t59 = cpu->r[30] + 0x000000A4u; /* 028613E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59); /* 028613EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028613F0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 028613F0 */ _t61 = _t60 & 0x00000001u; /* 028613F0 */ if (_t61) goto L_0286141C; else goto L_028613F4; L_028613F4: ; // 0x28613f4 /* 028613F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028613F8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 028613F8 */ _t63 = _t62 & 0x00000001u; /* 028613F8 */ if (_t63) goto L_028613FC; else goto L_0286141C; L_028613FC: ; // 0x28613fc /* 028613FC */ _t64 = cpu->r[30] + 0x00000008u; /* 028613FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t64); /* 02861400 */ _t65 = cpu->r[12] + 0x000000DCu; /* 02861400 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65); /* 02861404 */ cpu->ctr = cpu->r[10]; /* 02861408 */ _t66 = cpu->r[29] + 0x00000008u; /* 02861408 */ cpu->r[4] = rbrew_read32(cpu->mem, _t66); /* 0286140C */ cpu->r[5] = 0x00000000u; /* 02861410 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02861414 */ cpu->r[3] = cpu->r[30]; /* 02861418 */ rbrew_call_indirect(cpu, cpu->ctr); L_0286141C: ; // 0x286141c /* 0286141C */ _t67 = cpu->r[1] + 0x00000018u; /* 0286141C */ cpu->r[28] = rbrew_read32(cpu->mem, _t67); /* 02861420 */ _t68 = cpu->r[1] + 0x0000001Cu; /* 02861420 */ cpu->r[29] = rbrew_read32(cpu->mem, _t68); /* 02861424 */ _t69 = cpu->r[1] + 0x0000002Cu; /* 02861424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69); /* 02861428 */ _t70 = cpu->r[1] + 0x00000020u; /* 02861428 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70); /* 0286142C */ cpu->lr = cpu->r[0]; /* 02861430 */ _t71 = cpu->r[1] + 0x00000024u; /* 02861430 */ cpu->r[31] = rbrew_read32(cpu->mem, _t71); /* 02861434 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02861438 */ return; } // fn_02861284 @ 0x2861284 void Gambit_fn_02861284(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71; L_02861284: ; // 0x2861284 /* 02861284 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02861284 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861284 */ cpu->r[1] = _t0; /* 02861288 */ _t1 = cpu->r[1] + 0x00000024u; /* 02861288 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0286128C */ _t2 = cpu->r[1] + 0x0000001Cu; /* 0286128C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02861290 */ cpu->r[31] = cpu->r[4]; /* 02861294 */ _t3 = cpu->r[1] + 0x00000018u; /* 02861294 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 02861298 */ _t4 = cpu->r[1] + 0x00000020u; /* 02861298 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0286129C */ _t5 = cpu->r[1] + 0x0000002Cu; /* 0286129C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028612A0 */ cpu->r[29] = cpu->r[5]; /* 028612A4 */ cpu->r[30] = cpu->r[3]; /* 028612A8 */ _t6 = cpu->r[31] + 0x00000014u; /* 028612A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 028612AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028612B0 */ cpu->r[28] = 0x00000000u; /* 028612B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 028612B4 */ _t8 = _t7 & 0x00000001u; /* 028612B4 */ if (_t8) goto L_02861378; else goto L_028612B8; L_028612B8: ; // 0x28612b8 /* 028612B8 */ cpu->r[6] = 0x00000000u; /* 028612BC */ _t9 = cpu->r[29] + 0x00000000u; /* 028612BC */ cpu->r[9] = rbrew_read8(cpu->mem, _t9); /* 028612C0 */ _t10 = cpu->r[1] + 0x00000008u; /* 028612C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]); /* 028612C4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 028612C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 028612C8 */ _t11 = cpu->r[1] + 0x00000010u; /* 028612C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]); /* 028612CC */ cpu->r[0] = 0xFFFFFFFFu; /* 028612D0 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 028612D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]); /* 028612D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028612D4 */ _t14 = _t13 & 0x00000001u; /* 028612D4 */ if (_t14) goto L_028612D8; else goto L_02861328; L_028612D8: ; // 0x28612d8 /* 028612D8 */ _t15 = cpu->r[1] + 0x00000014u; /* 028612D8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 028612DC */ _t16 = cpu->r[3] + 0x00000000u; /* 028612DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 028612E0 */ _t17 = cpu->r[12] + 0x00000014u; /* 028612E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 028612E4 */ _t18 = cpu->r[31] + 0x00000018u; /* 028612E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 028612E8 */ cpu->ctr = cpu->r[0]; /* 028612EC */ _t19 = cpu->r[29] + 0x00000004u; /* 028612EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 028612F0 */ cpu->r[7] = cpu->r[30]; /* 028612F4 */ _t20 = cpu->r[30] + 0x000000A8u; /* 028612F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20); /* 028612F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 028612FC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02861300 */ _t21 = cpu->r[30] + 0x00000008u; /* 02861300 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21); /* 02861304 */ _t22 = cpu->r[6] + 0x000000ECu; /* 02861304 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22); /* 02861308 */ cpu->ctr = cpu->r[7]; /* 0286130C */ cpu->r[3] = cpu->r[30]; /* 02861310 */ cpu->r[4] = cpu->r[31]; /* 02861314 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 02861318 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0286131C */ cpu->r[28] = cpu->r[3]; /* 0286131C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02861320 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861320 */ _t24 = _t23 & 0x00000001u; /* 02861320 */ if (_t24) goto L_02861378; else goto L_02861324; L_02861324: ; // 0x2861324 /* 02861324 */ goto L_028613A8; L_02861328: ; // 0x2861328 /* 02861328 */ _t25 = cpu->r[29] + 0x0000000Cu; /* 02861328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 0286132C */ _t26 = cpu->r[1] + 0x00000014u; /* 0286132C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]); /* 02861330 */ _t27 = cpu->r[3] + 0x00000000u; /* 02861330 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 02861334 */ _t28 = cpu->r[12] + 0x00000014u; /* 02861334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02861338 */ _t29 = cpu->r[31] + 0x00000018u; /* 02861338 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29); /* 0286133C */ cpu->ctr = cpu->r[0]; /* 02861340 */ _t30 = cpu->r[29] + 0x00000004u; /* 02861340 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30); /* 02861344 */ cpu->r[7] = cpu->r[30]; /* 02861348 */ _t31 = cpu->r[30] + 0x000000A8u; /* 02861348 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31); /* 0286134C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02861350 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02861354 */ _t32 = cpu->r[30] + 0x00000008u; /* 02861354 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32); /* 02861358 */ _t33 = cpu->r[6] + 0x000000ECu; /* 02861358 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33); /* 0286135C */ cpu->ctr = cpu->r[7]; /* 02861360 */ cpu->r[3] = cpu->r[30]; /* 02861364 */ cpu->r[4] = cpu->r[31]; /* 02861368 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0286136C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02861370 */ cpu->r[28] = cpu->r[3]; /* 02861370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02861374 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861374 */ _t35 = _t34 & 0x00000001u; /* 02861374 */ if (_t35) goto L_02861378; else goto L_028613A8; L_02861378: ; // 0x2861378 /* 02861378 */ _t36 = cpu->r[29] + 0x0000000Cu; /* 02861378 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36); /* 0286137C */ _t37 = cpu->r[29] + 0x00000010u; /* 0286137C */ cpu->r[4] = rbrew_read32(cpu->mem, _t37); /* 02861380 */ _t38 = cpu->r[30] + 0x00000008u; /* 02861380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38); /* 02861384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]); /* 02861388 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u); /* 02861388 */ _t40 = _t39 & 0x00000001u; /* 02861388 */ if (_t40) goto L_0286138C; else goto L_02861390; L_0286138C: ; // 0x286138c /* 0286138C */ cpu->r[4] = cpu->r[12]; L_02861390: ; // 0x2861390 /* 02861390 */ _t41 = cpu->r[10] + 0x000000BCu; /* 02861390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41); /* 02861394 */ cpu->ctr = cpu->r[11]; /* 02861398 */ _t42 = cpu->r[31] + 0x0000003Cu; /* 02861398 */ cpu->r[5] = rbrew_read8(cpu->mem, _t42); /* 0286139C */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 028613A0 */ cpu->r[3] = cpu->r[30]; /* 028613A4 */ rbrew_call_indirect(cpu, cpu->ctr); L_028613A8: ; // 0x28613a8 /* 028613A8 */ _t43 = cpu->r[31] + 0x0000003Cu; /* 028613A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t43); /* 028613AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028613B0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 028613B0 */ _t45 = _t44 & 0x00000001u; /* 028613B0 */ if (_t45) goto L_028613DC; else goto L_028613B4; L_028613B4: ; // 0x28613b4 /* 028613B4 */ _t46 = cpu->r[30] + 0x000000F8u; /* 028613B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46); /* 028613B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028613BC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 028613BC */ _t48 = _t47 & 0x00000001u; /* 028613BC */ if (_t48) goto L_028613DC; else goto L_028613C0; L_028613C0: ; // 0x28613c0 /* 028613C0 */ _t49 = cpu->r[31] + 0x0000001Cu; /* 028613C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49); /* 028613C4 */ _t50 = cpu->r[8] + 0x00000000u; /* 028613C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50); /* 028613C8 */ _t51 = cpu->r[9] + 0x00000030u; /* 028613C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 028613CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]); /* 028613D0 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 028613D0 */ _t53 = _t52 & 0x00000001u; /* 028613D0 */ if (_t53) goto L_028613D4; else goto L_028613DC; L_028613D4: ; // 0x28613d4 /* 028613D4 */ _t54 = cpu->r[8] + 0x00000000u; /* 028613D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 028613D8 */ _t55 = cpu->r[9] + 0x00000030u; /* 028613D8 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]); L_028613DC: ; // 0x28613dc /* 028613DC */ _t56 = cpu->r[29] + 0x00000010u; /* 028613DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 028613E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028613E4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 028613E4 */ _t58 = _t57 & 0x00000001u; /* 028613E4 */ if (_t58) goto L_0286141C; else goto L_028613E8; L_028613E8: ; // 0x28613e8 /* 028613E8 */ _t59 = cpu->r[30] + 0x000000A4u; /* 028613E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59); /* 028613EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028613F0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 028613F0 */ _t61 = _t60 & 0x00000001u; /* 028613F0 */ if (_t61) goto L_0286141C; else goto L_028613F4; L_028613F4: ; // 0x28613f4 /* 028613F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028613F8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 028613F8 */ _t63 = _t62 & 0x00000001u; /* 028613F8 */ if (_t63) goto L_028613FC; else goto L_0286141C; L_028613FC: ; // 0x28613fc /* 028613FC */ _t64 = cpu->r[30] + 0x00000008u; /* 028613FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t64); /* 02861400 */ _t65 = cpu->r[12] + 0x000000DCu; /* 02861400 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65); /* 02861404 */ cpu->ctr = cpu->r[10]; /* 02861408 */ _t66 = cpu->r[29] + 0x00000008u; /* 02861408 */ cpu->r[4] = rbrew_read32(cpu->mem, _t66); /* 0286140C */ cpu->r[5] = 0x00000000u; /* 02861410 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02861414 */ cpu->r[3] = cpu->r[30]; /* 02861418 */ rbrew_call_indirect(cpu, cpu->ctr); L_0286141C: ; // 0x286141c /* 0286141C */ _t67 = cpu->r[1] + 0x00000018u; /* 0286141C */ cpu->r[28] = rbrew_read32(cpu->mem, _t67); /* 02861420 */ _t68 = cpu->r[1] + 0x0000001Cu; /* 02861420 */ cpu->r[29] = rbrew_read32(cpu->mem, _t68); /* 02861424 */ _t69 = cpu->r[1] + 0x0000002Cu; /* 02861424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69); /* 02861428 */ _t70 = cpu->r[1] + 0x00000020u; /* 02861428 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70); /* 0286142C */ cpu->lr = cpu->r[0]; /* 02861430 */ _t71 = cpu->r[1] + 0x00000024u; /* 02861430 */ cpu->r[31] = rbrew_read32(cpu->mem, _t71); /* 02861434 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02861438 */ return; } // fn_0286143C @ 0x286143c void Gambit_fn_0286143C(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0286143C: ; // 0x286143c /* 0286143C */ _t0 = cpu->r[3] + 0x000000CCu; /* 0286143C */ cpu->r[12] = rbrew_read16(cpu->mem, _t0); /* 02861440 */ cpu->r[3] = 0x00000000u; /* 02861444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02861448 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861448 */ _t2 = _t1 & 0x00000001u; /* 02861448 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02861448 */ goto L_0286144C; L_0286144C: ; // 0x286144c /* 0286144C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 02861450 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02861454 */ return; } // fn_02861458 @ 0x2861458 void Gambit_fn_02861458(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98; L_02861458: ; // 0x2861458 /* 02861458 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02861458 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861458 */ cpu->r[1] = _t0; /* 0286145C */ cpu->r[0] = cpu->lr; /* 02861460 */ /* nop */ /* 02861464 */ cpu->r[27] = cpu->r[3]; /* 02861468 */ cpu->r[30] = cpu->r[4]; /* 02861468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0286146C */ cpu->r[31] = cpu->r[5]; /* 02861470 */ cpu->r[28] = cpu->r[6]; /* 02861474 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02861474 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02861478 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861478 */ _t3 = _t2 & 0x00000001u; /* 02861478 */ if (_t3) goto L_0286174C; else goto L_0286147C; L_0286147C: ; // 0x286147c /* 0286147C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861480 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861480 */ _t5 = _t4 & 0x00000001u; /* 02861480 */ if (_t5) goto L_0286174C; else goto L_02861484; L_02861484: ; // 0x2861484 /* 02861484 */ _t6 = cpu->r[27] + 0x000000D0u; /* 02861484 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 02861488 */ cpu->r[26] = cpu->r[31]; /* 0286148C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Bu); /* 0286148C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861490 */ cpu->r[29] = cpu->r[31]; /* 02861494 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861494 */ _t8 = _t7 & 0x00000001u; /* 02861494 */ if (_t8) goto L_0286149C; else goto L_02861498; L_02861498: ; // 0x2861498 /* 02861498 */ cpu->r[29] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu); L_0286149C: ; // 0x286149c /* 0286149C */ _t9 = cpu->r[27] + 0x000000CCu; /* 0286149C */ cpu->r[4] = rbrew_read16(cpu->mem, _t9); /* 028614A0 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 028614A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[4]); /* 028614A8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 028614A8 */ _t11 = _t10 & 0x00000001u; /* 028614A8 */ if (_t11) goto L_028614C4; else goto L_028614AC; L_028614AC: ; // 0x28614ac /* 028614AC */ _t12 = cpu->r[27] + 0x000000F8u; /* 028614AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t12); /* 028614B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 028614B4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 028614B4 */ _t14 = _t13 & 0x00000001u; /* 028614B4 */ if (_t14) goto L_028614C4; else goto L_028614B8; L_028614B8: ; // 0x28614b8 /* 028614B8 */ _t15 = cpu->r[6] + 0x00000000u; /* 028614B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15); /* 028614BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[5]); /* 028614C0 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 028614C0 */ _t17 = _t16 & 0x00000001u; /* 028614C0 */ if (_t17) goto L_028614C4; else goto L_0286174C; L_028614C4: ; // 0x28614c4 /* 028614C4 */ _t18 = cpu->r[27] + 0x00000008u; /* 028614C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 028614C8 */ _t19 = cpu->r[6] + 0x000000CCu; /* 028614C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 028614CC */ cpu->ctr = cpu->r[0]; /* 028614D0 */ cpu->r[3] = cpu->r[27]; /* 028614D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028614D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 028614DC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 028614DC */ _t21 = _t20 & 0x00000001u; /* 028614DC */ if (_t21) goto L_0286150C; else goto L_028614E0; L_028614E0: ; // 0x28614e0 /* 028614E0 */ Gambit_fn_02854C30(cpu); /* 028614E4 */ cpu->r[24] = cpu->r[3]; /* 028614E8 */ cpu->r[3] = cpu->r[29]; /* 028614EC */ Gambit_fn_02854B48(cpu); /* 028614F0 */ cpu->r[25] = cpu->r[3]; /* 028614F4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 028614F8 */ cpu->r[4] = 0x00000004u; /* 028614FC */ Gambit_fn_02869E8C(cpu); /* 02861500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861504 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861504 */ _t23 = _t22 & 0x00000001u; /* 02861504 */ if (_t23) goto L_02861508; else goto L_0286156C; L_02861508: ; // 0x2861508 /* 02861508 */ goto L_02861538; L_0286150C: ; // 0x286150c /* 0286150C */ cpu->r[3] = cpu->r[26]; /* 02861510 */ Gambit_fn_02854B3C(cpu); /* 02861514 */ cpu->r[24] = cpu->r[3]; /* 02861518 */ cpu->r[3] = cpu->r[29]; /* 0286151C */ Gambit_fn_02854B48(cpu); /* 02861520 */ cpu->r[25] = cpu->r[3]; /* 02861524 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02861528 */ cpu->r[4] = 0x00000004u; /* 0286152C */ Gambit_fn_02869E8C(cpu); /* 02861530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861534 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861534 */ _t25 = _t24 & 0x00000001u; /* 02861534 */ if (_t25) goto L_02861538; else goto L_0286156C; L_02861538: ; // 0x2861538 /* 02861538 */ cpu->r[3] = cpu->r[24]; /* 0286153C */ cpu->r[4] = 0x00000004u; /* 02861540 */ cpu->r[29] = 0x00000000u; /* 02861544 */ Gambit_fn_02869E8C(cpu); /* 02861548 */ cpu->r[24] = cpu->r[3]; /* 0286154C */ cpu->r[3] = cpu->r[25]; /* 02861550 */ cpu->r[4] = 0x00000040u; /* 02861554 */ Gambit_fn_02869E8C(cpu); /* 02861558 */ _t26 = cpu->r[27] + 0x000000FCu; /* 02861558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0286155C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861560 */ cpu->r[25] = cpu->r[3]; /* 02861564 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861564 */ _t28 = _t27 & 0x00000001u; /* 02861564 */ if (_t28) goto L_02861670; else goto L_02861568; L_02861568: ; // 0x2861568 /* 02861568 */ goto L_028615C4; L_0286156C: ; // 0x286156c /* 0286156C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02861570 */ cpu->r[29] = cpu->r[3]; /* 02861574 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861574 */ _t30 = _t29 & 0x00000001u; /* 02861574 */ if (_t30) goto L_02861598; else goto L_02861578; L_02861578: ; // 0x2861578 /* 02861578 */ cpu->ctr = cpu->r[30]; /* 0286157C */ cpu->r[10] = cpu->r[29]; /* 02861580 */ cpu->r[0] = 0x00000000u; L_02861584: ; // 0x2861584 /* 02861584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02861588 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861588 */ _t32 = _t31 & 0x00000001u; /* 02861588 */ if (_t32) goto L_02861590; else goto L_0286158C; L_0286158C: ; // 0x286158c /* 0286158C */ _t33 = cpu->r[10] + 0x00000000u; /* 0286158C */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[0]); L_02861590: ; // 0x2861590 /* 02861590 */ cpu->r[10] = cpu->r[10] + 0x00000002u; /* 02861594 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02861594 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02861594 */ _t35 = _t34 >> (0x00000002u & 31u); /* 02861594 */ _t36 = _t35 & 0x00000001u; /* 02861594 */ if (_t36) goto L_02861584; else goto L_02861598; L_02861598: ; // 0x2861598 /* 02861598 */ cpu->r[3] = cpu->r[24]; /* 0286159C */ cpu->r[4] = 0x00000004u; /* 028615A0 */ Gambit_fn_02869E8C(cpu); /* 028615A4 */ cpu->r[24] = cpu->r[3]; /* 028615A8 */ cpu->r[3] = cpu->r[25]; /* 028615AC */ cpu->r[4] = 0x00000040u; /* 028615B0 */ Gambit_fn_02869E8C(cpu); /* 028615B4 */ _t37 = cpu->r[27] + 0x000000FCu; /* 028615B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 028615B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028615BC */ cpu->r[25] = cpu->r[3]; /* 028615C0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 028615C0 */ _t39 = _t38 & 0x00000001u; /* 028615C0 */ if (_t39) goto L_02861670; else goto L_028615C4; L_028615C4: ; // 0x28615c4 /* 028615C4 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000002Cu); /* 028615C8 */ cpu->r[4] = 0x00000004u; /* 028615CC */ Gambit_fn_02869E8C(cpu); /* 028615D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028615D4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 028615D4 */ _t41 = _t40 & 0x00000001u; /* 028615D4 */ if (_t41) goto L_028615D8; else goto L_028615E8; L_028615D8: ; // 0x28615d8 /* 028615D8 */ _t42 = cpu->r[27] + 0x000000FCu; /* 028615D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42); /* 028615DC */ cpu->r[3] = 0x00000000u; /* 028615E0 */ _t43 = cpu->r[12] + 0x00000008u; /* 028615E0 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]); /* 028615E4 */ goto L_02861670; L_028615E8: ; // 0x28615e8 /* 028615E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028615EC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 028615EC */ _t45 = _t44 & 0x00000001u; /* 028615EC */ if (_t45) goto L_02861668; else goto L_028615F0; L_028615F0: ; // 0x28615f0 /* 028615F0 */ cpu->r[12] = 0x10130000u; /* 028615F4 */ cpu->r[11] = 0x10130000u; /* 028615F8 */ _t46 = cpu->r[12] + 0x00005154u; /* 028615F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46); /* 028615FC */ _t47 = cpu->r[11] + 0x00005150u; /* 028615FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47); /* 02861600 */ cpu->r[11] = cpu->r[3]; L_02861604: ; // 0x2861604 /* 02861604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02861608 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861608 */ _t49 = _t48 & 0x00000001u; /* 02861608 */ if (_t49) goto L_0286165C; else goto L_0286160C; L_0286160C: ; // 0x286160c /* 0286160C */ cpu->f[12] = cpu->f[13]; /* 02861610 */ cpu->r[9] = 0x00000003u; /* 02861614 */ cpu->r[12] = cpu->r[11]; /* 02861618 */ cpu->f[11] = cpu->f[0]; /* 0286161C */ cpu->ctr = cpu->r[9]; /* 02861620 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFCu; L_02861624: ; // 0x2861624 /* 02861624 */ _t50 = cpu->r[10] + 0x00000004u; /* 02861624 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[11]); /* 02861624 */ cpu->r[10] = _t50; /* 02861628 */ _t51 = cpu->r[10] + 0x0000000Cu; /* 02861628 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[12]); /* 0286162C */ _t52 = cpu->r[10] + 0x00000018u; /* 0286162C */ rbrew_write_f32(cpu->mem, _t52, cpu->f[12]); /* 02861630 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02861630 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02861630 */ _t54 = _t53 >> (0x00000002u & 31u); /* 02861630 */ _t55 = _t54 & 0x00000001u; /* 02861630 */ if (_t55) goto L_02861624; else goto L_02861634; L_02861634: ; // 0x2861634 /* 02861634 */ cpu->r[0] = 0x00000004u; /* 02861638 */ cpu->r[9] = cpu->r[12] + 0x00000024u; /* 0286163C */ cpu->r[7] = cpu->r[12] + 0x00000028u; /* 02861640 */ cpu->ctr = cpu->r[0]; /* 02861644 */ cpu->r[6] = 0x000000FFu; /* 02861648 */ cpu->r[8] = 0x00000000u; L_0286164C: ; // 0x286164c /* 0286164C */ _t56 = cpu->r[9] + cpu->r[8]; /* 0286164C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[6]); /* 02861650 */ _t57 = cpu->r[7] + cpu->r[8]; /* 02861650 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[6]); /* 02861654 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02861658 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02861658 */ _t58 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02861658 */ _t59 = _t58 >> (0x00000002u & 31u); /* 02861658 */ _t60 = _t59 & 0x00000001u; /* 02861658 */ if (_t60) goto L_0286164C; else goto L_0286165C; L_0286165C: ; // 0x286165c /* 0286165C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0286165C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861660 */ cpu->r[11] = cpu->r[11] + 0x0000002Cu; /* 02861664 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861664 */ _t62 = _t61 & 0x00000001u; /* 02861664 */ if (_t62) goto L_02861668; else goto L_02861604; L_02861668: ; // 0x2861668 /* 02861668 */ _t63 = cpu->r[27] + 0x000000FCu; /* 02861668 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63); /* 0286166C */ _t64 = cpu->r[12] + 0x00000008u; /* 0286166C */ rbrew_write32(cpu->mem, _t64, cpu->r[3]); L_02861670: ; // 0x2861670 /* 02861670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02861674 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861674 */ _t66 = _t65 & 0x00000001u; /* 02861674 */ if (_t66) goto L_028616A8; else goto L_02861678; L_02861678: ; // 0x2861678 /* 02861678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 0286167C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286167C */ _t68 = _t67 & 0x00000001u; /* 0286167C */ if (_t68) goto L_028616A0; else goto L_02861680; L_02861680: ; // 0x2861680 /* 02861680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02861684 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861684 */ _t70 = _t69 & 0x00000001u; /* 02861684 */ if (_t70) goto L_028616A0; else goto L_02861688; L_02861688: ; // 0x2861688 /* 02861688 */ _t71 = cpu->r[27] + 0x000000FCu; /* 02861688 */ cpu->r[4] = rbrew_read32(cpu->mem, _t71); /* 0286168C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02861690 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861690 */ _t73 = _t72 & 0x00000001u; /* 02861690 */ if (_t73) goto L_02861704; else goto L_02861694; L_02861694: ; // 0x2861694 /* 02861694 */ _t74 = cpu->r[4] + 0x00000008u; /* 02861694 */ cpu->r[4] = rbrew_read32(cpu->mem, _t74); /* 02861698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0286169C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286169C */ _t76 = _t75 & 0x00000001u; /* 0286169C */ if (_t76) goto L_028616A0; else goto L_02861704; L_028616A0: ; // 0x28616a0 /* 028616A0 */ cpu->r[3] = cpu->r[29]; /* 028616A4 */ Gambit_fn_02869EAC(cpu); L_028616A8: ; // 0x28616a8 /* 028616A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 028616AC */ _t77 = cpu->cr[0] >> (0x00000001u & 31u); /* 028616AC */ _t78 = _t77 & 0x00000001u; /* 028616AC */ if (_t78) goto L_028616B8; else goto L_028616B0; L_028616B0: ; // 0x28616b0 /* 028616B0 */ cpu->r[3] = cpu->r[24]; /* 028616B4 */ Gambit_fn_02869EAC(cpu); L_028616B8: ; // 0x28616b8 /* 028616B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 028616BC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 028616BC */ _t80 = _t79 & 0x00000001u; /* 028616BC */ if (_t80) goto L_028616C8; else goto L_028616C0; L_028616C0: ; // 0x28616c0 /* 028616C0 */ cpu->r[3] = cpu->r[25]; /* 028616C4 */ Gambit_fn_02869EAC(cpu); L_028616C8: ; // 0x28616c8 /* 028616C8 */ _t81 = cpu->r[27] + 0x000000FCu; /* 028616C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t81); /* 028616CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028616D0 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u); /* 028616D0 */ _t83 = _t82 & 0x00000001u; /* 028616D0 */ if (_t83) goto L_0286174C; else goto L_028616D4; L_028616D4: ; // 0x28616d4 /* 028616D4 */ _t84 = cpu->r[4] + 0x00000008u; /* 028616D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84); /* 028616D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 028616DC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 028616DC */ _t86 = _t85 & 0x00000001u; /* 028616DC */ if (_t86) goto L_0286174C; else goto L_028616E0; L_028616E0: ; // 0x28616e0 /* 028616E0 */ Gambit_fn_02869EAC(cpu); /* 028616E4 */ _t87 = cpu->r[27] + 0x000000FCu; /* 028616E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t87); /* 028616E8 */ cpu->r[9] = 0x00000000u; /* 028616EC */ _t88 = cpu->r[5] + 0x00000008u; /* 028616EC */ rbrew_write32(cpu->mem, _t88, cpu->r[9]); /* 028616F0 */ /* nop */ /* 028616F4 */ _t89 = cpu->r[1] + 0x0000002Cu; /* 028616F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89); /* 028616F8 */ cpu->lr = cpu->r[0]; /* 028616FC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02861700 */ return; L_02861704: ; // 0x2861704 /* 02861704 */ _t90 = cpu->r[27] + 0x000000A4u; /* 02861704 */ rbrew_write32(cpu->mem, _t90, cpu->r[29]); /* 02861708 */ cpu->r[3] = cpu->r[24]; /* 0286170C */ cpu->r[5] = cpu->r[26]; /* 02861710 */ _t91 = cpu->r[27] + 0x000000D0u; /* 02861710 */ cpu->r[0] = rbrew_read8(cpu->mem, _t91); /* 02861714 */ cpu->r[4] = cpu->r[25]; /* 02861718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0286171C */ _t92 = cpu->r[27] + 0x000000CCu; /* 0286171C */ rbrew_write16(cpu->mem, _t92, (uint16_t)cpu->r[30]); /* 02861720 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 02861724 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861724 */ _t94 = _t93 & 0x00000001u; /* 02861724 */ if (_t94) goto L_02861744; else goto L_02861728; L_02861728: ; // 0x2861728 /* 02861728 */ Gambit_fn_02854B9C(cpu); /* 0286172C */ _t95 = cpu->r[27] + 0x000000F8u; /* 0286172C */ rbrew_write32(cpu->mem, _t95, cpu->r[3]); /* 02861730 */ /* nop */ /* 02861734 */ _t96 = cpu->r[1] + 0x0000002Cu; /* 02861734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96); /* 02861738 */ cpu->lr = cpu->r[0]; /* 0286173C */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02861740 */ return; L_02861744: ; // 0x2861744 /* 02861744 */ Gambit_fn_02854B50(cpu); /* 02861748 */ _t97 = cpu->r[27] + 0x000000F8u; /* 02861748 */ rbrew_write32(cpu->mem, _t97, cpu->r[3]); L_0286174C: ; // 0x286174c /* 0286174C */ /* nop */ /* 02861750 */ _t98 = cpu->r[1] + 0x0000002Cu; /* 02861750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98); /* 02861754 */ cpu->lr = cpu->r[0]; /* 02861758 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0286175C */ return; } // fn_02861760 @ 0x2861760 void Gambit_fn_02861760(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02861760: ; // 0x2861760 /* 02861760 */ _t0 = cpu->r[3] + 0x000000F8u; /* 02861760 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02861764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02861768 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861768 */ _t2 = _t1 & 0x00000001u; /* 02861768 */ if (_t2) goto L_02861774; else goto L_0286176C; L_0286176C: ; // 0x286176c /* 0286176C */ _t3 = cpu->r[12] + 0x00000002u; /* 0286176C */ cpu->r[3] = rbrew_read16(cpu->mem, _t3); /* 02861770 */ return; L_02861774: ; // 0x2861774 /* 02861774 */ cpu->r[3] = 0x00000000u; /* 02861778 */ return; } // fn_0286177C @ 0x286177c void Gambit_fn_0286177C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0286177C: ; // 0x286177c /* 0286177C */ _t0 = cpu->r[3] + 0x000000F8u; /* 0286177C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02861780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02861784 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861784 */ _t2 = _t1 & 0x00000001u; /* 02861784 */ if (_t2) goto L_02861790; else goto L_02861788; L_02861788: ; // 0x2861788 /* 02861788 */ _t3 = cpu->r[12] + 0x00000010u; /* 02861788 */ cpu->r[3] = rbrew_read8(cpu->mem, _t3); /* 0286178C */ return; L_02861790: ; // 0x2861790 /* 02861790 */ cpu->r[3] = 0x00000000u; /* 02861794 */ return; } // fn_0286179C @ 0x286179c void Gambit_fn_0286179C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30; L_0286179C: ; // 0x286179c /* 0286179C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0286179C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0286179C */ cpu->r[1] = _t0; /* 028617A0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028617A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028617A4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028617A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028617A8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028617A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028617AC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028617AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028617B0 */ cpu->r[29] = cpu->r[3]; /* 028617B4 */ _t5 = cpu->r[29] + 0x000000B4u; /* 028617B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028617B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028617BC */ cpu->r[30] = cpu->r[5]; /* 028617C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028617C0 */ _t7 = _t6 & 0x00000001u; /* 028617C0 */ if (_t7) goto L_028617E0; else goto L_028617C4; L_028617C4: ; // 0x28617c4 /* 028617C4 */ _t8 = cpu->r[29] + 0x000000A4u; /* 028617C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 028617C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028617CC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028617CC */ _t10 = _t9 & 0x00000001u; /* 028617CC */ if (_t10) goto L_028617E0; else goto L_028617D0; L_028617D0: ; // 0x28617d0 /* 028617D0 */ cpu->r[3] = cpu->r[29]; /* 028617D4 */ Gambit_fn_0286143C(cpu); /* 028617D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]); /* 028617DC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 028617DC */ _t12 = _t11 & 0x00000001u; /* 028617DC */ if (_t12) goto L_02861800; else goto L_028617E0; L_028617E0: ; // 0x28617e0 /* 028617E0 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 028617E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 028617E4 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 028617E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028617E8 */ _t15 = cpu->r[1] + 0x00000010u; /* 028617E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 028617EC */ cpu->lr = cpu->r[0]; /* 028617F0 */ _t16 = cpu->r[1] + 0x00000014u; /* 028617F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 028617F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028617F8 */ cpu->r[3] = 0x00000000u; /* 028617FC */ return; L_02861800: ; // 0x2861800 /* 02861800 */ cpu->r[31] = cpu->r[3] - cpu->r[30]; /* 02861804 */ cpu->r[9] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02861808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 0286180C */ cpu->r[3] = cpu->r[11] + cpu->r[9]; /* 02861810 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 02861810 */ _t18 = _t17 & 0x00000001u; /* 02861810 */ if (_t18) goto L_02861814; else goto L_02861818; L_02861814: ; // 0x2861814 /* 02861814 */ cpu->r[31] = cpu->r[6]; L_02861818: ; // 0x2861818 /* 02861818 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0286181C */ rbrew_dispatch(cpu, 0x02d0b870u); /* 02861820 */ _t19 = cpu->r[29] + 0x000000A4u; /* 02861820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 02861824 */ _t20 = cpu->r[12] + 0x00000000u; /* 02861824 */ cpu->r[9] = rbrew_read16(cpu->mem, _t20); /* 02861828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0286182C */ cpu->r[0] = cpu->r[12]; /* 02861830 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861830 */ _t22 = _t21 & 0x00000001u; /* 02861830 */ if (_t22) goto L_0286183C; else goto L_02861834; L_02861834: ; // 0x2861834 /* 02861834 */ cpu->r[9] = cpu->r[30] + cpu->r[31]; /* 02861838 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu); L_0286183C: ; // 0x286183c /* 0286183C */ _t23 = cpu->r[29] + 0x000000CEu; /* 0286183C */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[9]); /* 02861840 */ cpu->r[8] = 0x00000000u; /* 02861844 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02861848 */ _t24 = cpu->r[10] + cpu->r[0]; /* 02861848 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[8]); /* 0286184C */ _t25 = cpu->r[29] + 0x000000D0u; /* 0286184C */ cpu->r[0] = rbrew_read8(cpu->mem, _t25); /* 02861850 */ cpu->r[0] = cpu->r[0] | 0x00000020u; /* 02861854 */ _t26 = cpu->r[29] + 0x000000D0u; /* 02861854 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]); /* 02861858 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02861858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27); /* 0286185C */ _t28 = cpu->r[1] + 0x0000001Cu; /* 0286185C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02861860 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02861864 */ _t29 = cpu->r[1] + 0x00000010u; /* 02861864 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 02861868 */ cpu->lr = cpu->r[0]; /* 0286186C */ _t30 = cpu->r[1] + 0x00000014u; /* 0286186C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 02861870 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02861874 */ return; } // fn_02861878 @ 0x2861878 void Gambit_fn_02861878(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30; L_02861798: ; // 0x2861798 /* 02861798 */ cpu->r[0] = cpu->lr; /* 0286179C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0286179C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0286179C */ cpu->r[1] = _t0; /* 028617A0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028617A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028617A4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028617A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028617A8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028617A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028617AC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028617AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028617B0 */ cpu->r[29] = cpu->r[3]; /* 028617B4 */ _t5 = cpu->r[29] + 0x000000B4u; /* 028617B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028617B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028617BC */ cpu->r[30] = cpu->r[5]; /* 028617C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028617C0 */ _t7 = _t6 & 0x00000001u; /* 028617C0 */ if (_t7) goto L_028617E0; else goto L_028617C4; L_028617C4: ; // 0x28617c4 /* 028617C4 */ _t8 = cpu->r[29] + 0x000000A4u; /* 028617C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 028617C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028617CC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028617CC */ _t10 = _t9 & 0x00000001u; /* 028617CC */ if (_t10) goto L_028617E0; else goto L_028617D0; L_028617D0: ; // 0x28617d0 /* 028617D0 */ cpu->r[3] = cpu->r[29]; /* 028617D4 */ Gambit_fn_0286143C(cpu); /* 028617D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]); /* 028617DC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 028617DC */ _t12 = _t11 & 0x00000001u; /* 028617DC */ if (_t12) goto L_02861800; else goto L_028617E0; L_028617E0: ; // 0x28617e0 /* 028617E0 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 028617E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 028617E4 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 028617E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028617E8 */ _t15 = cpu->r[1] + 0x00000010u; /* 028617E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 028617EC */ cpu->lr = cpu->r[0]; /* 028617F0 */ _t16 = cpu->r[1] + 0x00000014u; /* 028617F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 028617F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028617F8 */ cpu->r[3] = 0x00000000u; /* 028617FC */ return; L_02861800: ; // 0x2861800 /* 02861800 */ cpu->r[31] = cpu->r[3] - cpu->r[30]; /* 02861804 */ cpu->r[9] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02861808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 0286180C */ cpu->r[3] = cpu->r[11] + cpu->r[9]; /* 02861810 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 02861810 */ _t18 = _t17 & 0x00000001u; /* 02861810 */ if (_t18) goto L_02861814; else goto L_02861818; L_02861814: ; // 0x2861814 /* 02861814 */ cpu->r[31] = cpu->r[6]; L_02861818: ; // 0x2861818 /* 02861818 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0286181C */ rbrew_dispatch(cpu, 0x02d0b870u); /* 02861820 */ _t19 = cpu->r[29] + 0x000000A4u; /* 02861820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 02861824 */ _t20 = cpu->r[12] + 0x00000000u; /* 02861824 */ cpu->r[9] = rbrew_read16(cpu->mem, _t20); /* 02861828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0286182C */ cpu->r[0] = cpu->r[12]; /* 02861830 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861830 */ _t22 = _t21 & 0x00000001u; /* 02861830 */ if (_t22) goto L_0286183C; else goto L_02861834; L_02861834: ; // 0x2861834 /* 02861834 */ cpu->r[9] = cpu->r[30] + cpu->r[31]; /* 02861838 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu); L_0286183C: ; // 0x286183c /* 0286183C */ _t23 = cpu->r[29] + 0x000000CEu; /* 0286183C */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[9]); /* 02861840 */ cpu->r[8] = 0x00000000u; /* 02861844 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02861848 */ _t24 = cpu->r[10] + cpu->r[0]; /* 02861848 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[8]); /* 0286184C */ _t25 = cpu->r[29] + 0x000000D0u; /* 0286184C */ cpu->r[0] = rbrew_read8(cpu->mem, _t25); /* 02861850 */ cpu->r[0] = cpu->r[0] | 0x00000020u; /* 02861854 */ _t26 = cpu->r[29] + 0x000000D0u; /* 02861854 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]); /* 02861858 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02861858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27); /* 0286185C */ _t28 = cpu->r[1] + 0x0000001Cu; /* 0286185C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02861860 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02861864 */ _t29 = cpu->r[1] + 0x00000010u; /* 02861864 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 02861868 */ cpu->lr = cpu->r[0]; /* 0286186C */ _t30 = cpu->r[1] + 0x00000014u; /* 0286186C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 02861870 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02861874 */ return; L_02861878: ; // 0x2861878 /* 02861878 */ goto L_02861798; } // fn_0286187C @ 0x286187c void Gambit_fn_0286187C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88; L_0286187C: ; // 0x286187c /* 0286187C */ cpu->r[0] = cpu->lr; /* 02861880 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02861880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861880 */ cpu->r[1] = _t0; /* 02861884 */ _t1 = cpu->r[1] + 0x00000010u; /* 02861884 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02861888 */ cpu->r[30] = cpu->r[4]; /* 0286188C */ _t2 = cpu->r[1] + 0x00000014u; /* 0286188C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02861890 */ _t3 = cpu->r[1] + 0x00000008u; /* 02861890 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 02861894 */ cpu->r[31] = cpu->r[3]; /* 02861894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861898 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02861898 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0286189C */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0286189C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028618A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028618A0 */ _t7 = _t6 & 0x00000001u; /* 028618A0 */ if (_t7) goto L_028618A4; else goto L_028618B4; L_028618A4: ; // 0x28618a4 /* 028618A4 */ cpu->r[3] = 0x00000100u; /* 028618A8 */ Gambit_fn_02801A78(cpu); /* 028618AC */ cpu->r[31] = cpu->r[3]; /* 028618AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028618B0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028618B0 */ _t9 = _t8 & 0x00000001u; /* 028618B0 */ if (_t9) goto L_02861AB0; else goto L_028618B4; L_028618B4: ; // 0x28618b4 /* 028618B4 */ cpu->r[3] = cpu->r[31]; /* 028618B8 */ cpu->r[4] = cpu->r[30]; /* 028618BC */ Gambit_fn_0285F5C4(cpu); /* 028618C0 */ cpu->r[11] = 0x10130000u; /* 028618C4 */ cpu->r[29] = 0x00000000u; /* 028618C8 */ cpu->r[6] = 0x02860000u; /* 028618CC */ cpu->r[11] = cpu->r[11] + 0x0000517Cu; /* 028618D0 */ _t10 = cpu->r[31] + 0x000000A4u; /* 028618D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]); /* 028618D4 */ cpu->r[28] = cpu->r[31] + 0x000000ACu; /* 028618D8 */ cpu->r[6] = cpu->r[6] + 0x00002EC0u; /* 028618DC */ _t11 = cpu->r[31] + 0x00000008u; /* 028618DC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]); /* 028618E0 */ _t12 = cpu->r[30] + 0x000000A8u; /* 028618E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028618E4 */ cpu->r[3] = cpu->r[28]; /* 028618E8 */ cpu->r[4] = 0x00000002u; /* 028618EC */ cpu->r[5] = 0x00000004u; /* 028618F0 */ _t13 = cpu->r[31] + 0x000000A8u; /* 028618F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]); /* 028618F4 */ Gambit_fn_02C82E00(cpu); /* 028618F8 */ _t14 = cpu->r[30] + 0x000000B4u; /* 028618F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14); /* 028618FC */ cpu->r[3] = cpu->r[31] + 0x000000B8u; /* 028618FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861900 */ _t15 = cpu->r[31] + 0x000000B4u; /* 02861900 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]); /* 02861904 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861904 */ _t17 = _t16 & 0x00000001u; /* 02861904 */ if (_t17) goto L_02861908; else goto L_02861918; L_02861908: ; // 0x2861908 /* 02861908 */ cpu->r[3] = 0x00000008u; /* 0286190C */ Gambit_fn_02801A78(cpu); /* 02861910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861914 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861914 */ _t19 = _t18 & 0x00000001u; /* 02861914 */ if (_t19) goto L_02861928; else goto L_02861918; L_02861918: ; // 0x2861918 /* 02861918 */ _t20 = cpu->r[30] + 0x000000B8u; /* 02861918 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20); /* 0286191C */ _t21 = cpu->r[3] + 0x00000000u; /* 0286191C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]); /* 02861920 */ _t22 = cpu->r[30] + 0x000000BCu; /* 02861920 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22); /* 02861924 */ _t23 = cpu->r[3] + 0x00000004u; /* 02861924 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]); L_02861928: ; // 0x2861928 /* 02861928 */ _t24 = cpu->r[30] + 0x000000C0u; /* 02861928 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24); /* 0286192C */ _t25 = cpu->r[31] + 0x000000C0u; /* 0286192C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]); /* 02861930 */ _t26 = cpu->r[30] + 0x000000C4u; /* 02861930 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26); /* 02861934 */ _t27 = cpu->r[31] + 0x000000C4u; /* 02861934 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]); /* 02861938 */ _t28 = cpu->r[30] + 0x000000C8u; /* 02861938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 0286193C */ _t29 = cpu->r[31] + 0x000000CCu; /* 0286193C */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[29]); /* 02861940 */ _t30 = cpu->r[31] + 0x000000C8u; /* 02861940 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]); /* 02861944 */ _t31 = cpu->r[31] + 0x000000CEu; /* 02861944 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[29]); /* 02861948 */ _t32 = cpu->r[30] + 0x000000D0u; /* 02861948 */ cpu->r[5] = rbrew_read8(cpu->mem, _t32); /* 0286194C */ _t33 = cpu->r[31] + 0x000000D0u; /* 0286194C */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[5]); /* 02861950 */ _t34 = cpu->r[30] + 0x000000D1u; /* 02861950 */ cpu->r[7] = rbrew_read8(cpu->mem, _t34); /* 02861954 */ _t35 = cpu->r[31] + 0x000000D1u; /* 02861954 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[7]); /* 02861958 */ _t36 = cpu->r[30] + 0x000000D4u; /* 02861958 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36); /* 0286195C */ _t37 = cpu->r[31] + 0x000000D4u; /* 0286195C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]); /* 02861960 */ _t38 = cpu->r[30] + 0x000000D8u; /* 02861960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 02861964 */ _t39 = cpu->r[31] + 0x000000D8u; /* 02861964 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]); /* 02861968 */ _t40 = cpu->r[30] + 0x000000DCu; /* 02861968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0286196C */ _t41 = cpu->r[31] + 0x000000DCu; /* 0286196C */ rbrew_write32(cpu->mem, _t41, cpu->r[0]); /* 02861970 */ _t42 = cpu->r[30] + 0x000000E0u; /* 02861970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 02861974 */ _t43 = cpu->r[31] + 0x000000E0u; /* 02861974 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]); /* 02861978 */ _t44 = cpu->r[30] + 0x000000E4u; /* 02861978 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44); /* 0286197C */ cpu->r[12] = cpu->r[31] + 0x000000E8u; /* 02861980 */ cpu->r[11] = cpu->r[30] + 0x000000E8u; /* 02861984 */ _t45 = cpu->r[31] + 0x000000E4u; /* 02861984 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]); /* 02861988 */ /* nop */ /* 0286198C */ cpu->r[9] = cpu->r[30] + 0x000000ECu; /* 02861990 */ /* nop */ /* 02861994 */ /* nop */ /* 02861998 */ cpu->r[10] = cpu->r[31] + 0x000000ECu; /* 0286199C */ /* nop */ /* 028619A0 */ _t46 = cpu->r[30] + 0x000000F0u; /* 028619A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46); /* 028619A4 */ cpu->r[8] = cpu->r[30] + 0x000000ACu; /* 028619A8 */ _t47 = cpu->r[31] + 0x000000FCu; /* 028619A8 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]); /* 028619AC */ cpu->r[12] = 0x00000000u; /* 028619B0 */ _t48 = cpu->r[31] + 0x000000F0u; /* 028619B0 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]); /* 028619B4 */ cpu->r[10] = 0x00000002u; /* 028619B8 */ _t49 = cpu->r[31] + 0x000000F8u; /* 028619B8 */ rbrew_write32(cpu->mem, _t49, cpu->r[29]); /* 028619BC */ cpu->ctr = cpu->r[10]; /* 028619C0 */ _t50 = cpu->r[31] + 0x000000F4u; /* 028619C0 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]); L_028619C4: ; // 0x28619c4 /* 028619C4 */ cpu->r[5] = cpu->r[8] + cpu->r[12]; /* 028619C8 */ cpu->r[6] = cpu->r[28] + cpu->r[12]; /* 028619CC */ /* nop */ /* 028619D0 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 028619D4 */ /* nop */ /* 028619D8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028619D8 */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028619D8 */ _t52 = _t51 >> (0x00000002u & 31u); /* 028619D8 */ _t53 = _t52 & 0x00000001u; /* 028619D8 */ if (_t53) goto L_028619C4; else goto L_028619DC; L_028619DC: ; // 0x28619dc /* 028619DC */ _t54 = cpu->r[30] + 0x000000FCu; /* 028619DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t54); /* 028619E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028619E4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 028619E4 */ _t56 = _t55 & 0x00000001u; /* 028619E4 */ if (_t56) goto L_02861A34; else goto L_028619E8; L_028619E8: ; // 0x28619e8 /* 028619E8 */ cpu->r[3] = 0x00000018u; /* 028619EC */ cpu->r[4] = 0x00000004u; /* 028619F0 */ Gambit_fn_02869E8C(cpu); /* 028619F4 */ _t57 = cpu->r[31] + 0x000000FCu; /* 028619F4 */ rbrew_write32(cpu->mem, _t57, cpu->r[3]); /* 028619F8 */ _t58 = cpu->r[30] + 0x000000FCu; /* 028619F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 028619FC */ _t59 = cpu->r[10] + 0x00000000u; /* 028619FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t59); /* 02861A00 */ _t60 = cpu->r[3] + 0x00000000u; /* 02861A00 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]); /* 02861A04 */ _t61 = cpu->r[10] + 0x00000004u; /* 02861A04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t61); /* 02861A08 */ _t62 = cpu->r[3] + 0x00000004u; /* 02861A08 */ rbrew_write32(cpu->mem, _t62, cpu->r[6]); /* 02861A0C */ _t63 = cpu->r[10] + 0x00000008u; /* 02861A0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t63); /* 02861A10 */ _t64 = cpu->r[3] + 0x00000008u; /* 02861A10 */ rbrew_write32(cpu->mem, _t64, cpu->r[8]); /* 02861A14 */ _t65 = cpu->r[10] + 0x0000000Cu; /* 02861A14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65); /* 02861A18 */ _t66 = cpu->r[3] + 0x0000000Cu; /* 02861A18 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]); /* 02861A1C */ _t67 = cpu->r[10] + 0x00000010u; /* 02861A1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t67); /* 02861A20 */ _t68 = cpu->r[3] + 0x00000010u; /* 02861A20 */ rbrew_write32(cpu->mem, _t68, cpu->r[11]); /* 02861A24 */ _t69 = cpu->r[10] + 0x00000014u; /* 02861A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69); /* 02861A28 */ _t70 = cpu->r[3] + 0x00000014u; /* 02861A28 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]); /* 02861A2C */ _t71 = cpu->r[31] + 0x000000FCu; /* 02861A2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t71); /* 02861A30 */ _t72 = cpu->r[5] + 0x00000008u; /* 02861A30 */ rbrew_write32(cpu->mem, _t72, cpu->r[29]); L_02861A34: ; // 0x2861a34 /* 02861A34 */ cpu->r[3] = cpu->r[30]; /* 02861A38 */ Gambit_fn_0286143C(cpu); /* 02861A3C */ cpu->r[4] = cpu->r[3]; /* 02861A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02861A40 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861A40 */ _t74 = _t73 & 0x00000001u; /* 02861A40 */ if (_t74) goto L_02861A78; else goto L_02861A44; L_02861A44: ; // 0x2861a44 /* 02861A44 */ cpu->r[3] = cpu->r[30]; /* 02861A48 */ Gambit_fn_02861760(cpu); /* 02861A4C */ cpu->r[5] = cpu->r[3]; /* 02861A50 */ cpu->r[3] = cpu->r[30]; /* 02861A54 */ Gambit_fn_0286177C(cpu); /* 02861A58 */ cpu->r[6] = cpu->r[3]; /* 02861A5C */ cpu->r[3] = cpu->r[31]; /* 02861A60 */ Gambit_fn_02861458(cpu); /* 02861A64 */ _t75 = cpu->r[30] + 0x000000A4u; /* 02861A64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t75); /* 02861A68 */ cpu->r[5] = 0x00000000u; /* 02861A6C */ _t76 = cpu->r[30] + 0x000000CEu; /* 02861A6C */ cpu->r[6] = rbrew_read16(cpu->mem, _t76); /* 02861A70 */ cpu->r[3] = cpu->r[31]; /* 02861A74 */ Gambit_fn_02861878(cpu); L_02861A78: ; // 0x2861a78 /* 02861A78 */ cpu->r[4] = 0x00000004u; /* 02861A7C */ cpu->r[3] = 0x00000020u; /* 02861A80 */ _t77 = cpu->r[30] + 0x000000F4u; /* 02861A80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t77); /* 02861A84 */ Gambit_fn_02869E8C(cpu); /* 02861A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861A8C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861A8C */ _t79 = _t78 & 0x00000001u; /* 02861A8C */ if (_t79) goto L_02861AA8; else goto L_02861A90; L_02861A90: ; // 0x2861a90 /* 02861A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861A94 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861A94 */ _t81 = _t80 & 0x00000001u; /* 02861A94 */ if (_t81) goto L_02861AA8; else goto L_02861A98; L_02861A98: ; // 0x2861a98 /* 02861A98 */ cpu->r[4] = cpu->r[30]; /* 02861A9C */ Gambit_fn_0286D20C(cpu); /* 02861AA0 */ _t82 = cpu->r[31] + 0x000000F4u; /* 02861AA0 */ rbrew_write32(cpu->mem, _t82, cpu->r[3]); /* 02861AA4 */ goto L_02861AB0; L_02861AA8: ; // 0x2861aa8 /* 02861AA8 */ cpu->r[3] = 0x00000000u; /* 02861AAC */ _t83 = cpu->r[31] + 0x000000F4u; /* 02861AAC */ rbrew_write32(cpu->mem, _t83, cpu->r[3]); L_02861AB0: ; // 0x2861ab0 /* 02861AB0 */ _t84 = cpu->r[1] + 0x00000008u; /* 02861AB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t84); /* 02861AB4 */ _t85 = cpu->r[1] + 0x0000000Cu; /* 02861AB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t85); /* 02861AB8 */ _t86 = cpu->r[1] + 0x0000001Cu; /* 02861AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86); /* 02861ABC */ cpu->r[3] = cpu->r[31]; /* 02861AC0 */ _t87 = cpu->r[1] + 0x00000010u; /* 02861AC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t87); /* 02861AC4 */ cpu->lr = cpu->r[0]; /* 02861AC8 */ _t88 = cpu->r[1] + 0x00000014u; /* 02861AC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88); /* 02861ACC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02861AD0 */ return; } // fn_02861880 @ 0x2861880 void Gambit_fn_02861880(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88; L_02861880: ; // 0x2861880 /* 02861880 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02861880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861880 */ cpu->r[1] = _t0; /* 02861884 */ _t1 = cpu->r[1] + 0x00000010u; /* 02861884 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02861888 */ cpu->r[30] = cpu->r[4]; /* 0286188C */ _t2 = cpu->r[1] + 0x00000014u; /* 0286188C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02861890 */ _t3 = cpu->r[1] + 0x00000008u; /* 02861890 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 02861894 */ cpu->r[31] = cpu->r[3]; /* 02861894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861898 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02861898 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0286189C */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0286189C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 028618A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028618A0 */ _t7 = _t6 & 0x00000001u; /* 028618A0 */ if (_t7) goto L_028618A4; else goto L_028618B4; L_028618A4: ; // 0x28618a4 /* 028618A4 */ cpu->r[3] = 0x00000100u; /* 028618A8 */ Gambit_fn_02801A78(cpu); /* 028618AC */ cpu->r[31] = cpu->r[3]; /* 028618AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028618B0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028618B0 */ _t9 = _t8 & 0x00000001u; /* 028618B0 */ if (_t9) goto L_02861AB0; else goto L_028618B4; L_028618B4: ; // 0x28618b4 /* 028618B4 */ cpu->r[3] = cpu->r[31]; /* 028618B8 */ cpu->r[4] = cpu->r[30]; /* 028618BC */ Gambit_fn_0285F5C4(cpu); /* 028618C0 */ cpu->r[11] = 0x10130000u; /* 028618C4 */ cpu->r[29] = 0x00000000u; /* 028618C8 */ cpu->r[6] = 0x02860000u; /* 028618CC */ cpu->r[11] = cpu->r[11] + 0x0000517Cu; /* 028618D0 */ _t10 = cpu->r[31] + 0x000000A4u; /* 028618D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]); /* 028618D4 */ cpu->r[28] = cpu->r[31] + 0x000000ACu; /* 028618D8 */ cpu->r[6] = cpu->r[6] + 0x00002EC0u; /* 028618DC */ _t11 = cpu->r[31] + 0x00000008u; /* 028618DC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]); /* 028618E0 */ _t12 = cpu->r[30] + 0x000000A8u; /* 028618E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 028618E4 */ cpu->r[3] = cpu->r[28]; /* 028618E8 */ cpu->r[4] = 0x00000002u; /* 028618EC */ cpu->r[5] = 0x00000004u; /* 028618F0 */ _t13 = cpu->r[31] + 0x000000A8u; /* 028618F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]); /* 028618F4 */ Gambit_fn_02C82E00(cpu); /* 028618F8 */ _t14 = cpu->r[30] + 0x000000B4u; /* 028618F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14); /* 028618FC */ cpu->r[3] = cpu->r[31] + 0x000000B8u; /* 028618FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861900 */ _t15 = cpu->r[31] + 0x000000B4u; /* 02861900 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]); /* 02861904 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861904 */ _t17 = _t16 & 0x00000001u; /* 02861904 */ if (_t17) goto L_02861908; else goto L_02861918; L_02861908: ; // 0x2861908 /* 02861908 */ cpu->r[3] = 0x00000008u; /* 0286190C */ Gambit_fn_02801A78(cpu); /* 02861910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861914 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861914 */ _t19 = _t18 & 0x00000001u; /* 02861914 */ if (_t19) goto L_02861928; else goto L_02861918; L_02861918: ; // 0x2861918 /* 02861918 */ _t20 = cpu->r[30] + 0x000000B8u; /* 02861918 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20); /* 0286191C */ _t21 = cpu->r[3] + 0x00000000u; /* 0286191C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]); /* 02861920 */ _t22 = cpu->r[30] + 0x000000BCu; /* 02861920 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22); /* 02861924 */ _t23 = cpu->r[3] + 0x00000004u; /* 02861924 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]); L_02861928: ; // 0x2861928 /* 02861928 */ _t24 = cpu->r[30] + 0x000000C0u; /* 02861928 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24); /* 0286192C */ _t25 = cpu->r[31] + 0x000000C0u; /* 0286192C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]); /* 02861930 */ _t26 = cpu->r[30] + 0x000000C4u; /* 02861930 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26); /* 02861934 */ _t27 = cpu->r[31] + 0x000000C4u; /* 02861934 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]); /* 02861938 */ _t28 = cpu->r[30] + 0x000000C8u; /* 02861938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 0286193C */ _t29 = cpu->r[31] + 0x000000CCu; /* 0286193C */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[29]); /* 02861940 */ _t30 = cpu->r[31] + 0x000000C8u; /* 02861940 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]); /* 02861944 */ _t31 = cpu->r[31] + 0x000000CEu; /* 02861944 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[29]); /* 02861948 */ _t32 = cpu->r[30] + 0x000000D0u; /* 02861948 */ cpu->r[5] = rbrew_read8(cpu->mem, _t32); /* 0286194C */ _t33 = cpu->r[31] + 0x000000D0u; /* 0286194C */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[5]); /* 02861950 */ _t34 = cpu->r[30] + 0x000000D1u; /* 02861950 */ cpu->r[7] = rbrew_read8(cpu->mem, _t34); /* 02861954 */ _t35 = cpu->r[31] + 0x000000D1u; /* 02861954 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[7]); /* 02861958 */ _t36 = cpu->r[30] + 0x000000D4u; /* 02861958 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36); /* 0286195C */ _t37 = cpu->r[31] + 0x000000D4u; /* 0286195C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]); /* 02861960 */ _t38 = cpu->r[30] + 0x000000D8u; /* 02861960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 02861964 */ _t39 = cpu->r[31] + 0x000000D8u; /* 02861964 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]); /* 02861968 */ _t40 = cpu->r[30] + 0x000000DCu; /* 02861968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0286196C */ _t41 = cpu->r[31] + 0x000000DCu; /* 0286196C */ rbrew_write32(cpu->mem, _t41, cpu->r[0]); /* 02861970 */ _t42 = cpu->r[30] + 0x000000E0u; /* 02861970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 02861974 */ _t43 = cpu->r[31] + 0x000000E0u; /* 02861974 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]); /* 02861978 */ _t44 = cpu->r[30] + 0x000000E4u; /* 02861978 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44); /* 0286197C */ cpu->r[12] = cpu->r[31] + 0x000000E8u; /* 02861980 */ cpu->r[11] = cpu->r[30] + 0x000000E8u; /* 02861984 */ _t45 = cpu->r[31] + 0x000000E4u; /* 02861984 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]); /* 02861988 */ /* nop */ /* 0286198C */ cpu->r[9] = cpu->r[30] + 0x000000ECu; /* 02861990 */ /* nop */ /* 02861994 */ /* nop */ /* 02861998 */ cpu->r[10] = cpu->r[31] + 0x000000ECu; /* 0286199C */ /* nop */ /* 028619A0 */ _t46 = cpu->r[30] + 0x000000F0u; /* 028619A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46); /* 028619A4 */ cpu->r[8] = cpu->r[30] + 0x000000ACu; /* 028619A8 */ _t47 = cpu->r[31] + 0x000000FCu; /* 028619A8 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]); /* 028619AC */ cpu->r[12] = 0x00000000u; /* 028619B0 */ _t48 = cpu->r[31] + 0x000000F0u; /* 028619B0 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]); /* 028619B4 */ cpu->r[10] = 0x00000002u; /* 028619B8 */ _t49 = cpu->r[31] + 0x000000F8u; /* 028619B8 */ rbrew_write32(cpu->mem, _t49, cpu->r[29]); /* 028619BC */ cpu->ctr = cpu->r[10]; /* 028619C0 */ _t50 = cpu->r[31] + 0x000000F4u; /* 028619C0 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]); L_028619C4: ; // 0x28619c4 /* 028619C4 */ cpu->r[5] = cpu->r[8] + cpu->r[12]; /* 028619C8 */ cpu->r[6] = cpu->r[28] + cpu->r[12]; /* 028619CC */ /* nop */ /* 028619D0 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 028619D4 */ /* nop */ /* 028619D8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028619D8 */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028619D8 */ _t52 = _t51 >> (0x00000002u & 31u); /* 028619D8 */ _t53 = _t52 & 0x00000001u; /* 028619D8 */ if (_t53) goto L_028619C4; else goto L_028619DC; L_028619DC: ; // 0x28619dc /* 028619DC */ _t54 = cpu->r[30] + 0x000000FCu; /* 028619DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t54); /* 028619E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028619E4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 028619E4 */ _t56 = _t55 & 0x00000001u; /* 028619E4 */ if (_t56) goto L_02861A34; else goto L_028619E8; L_028619E8: ; // 0x28619e8 /* 028619E8 */ cpu->r[3] = 0x00000018u; /* 028619EC */ cpu->r[4] = 0x00000004u; /* 028619F0 */ Gambit_fn_02869E8C(cpu); /* 028619F4 */ _t57 = cpu->r[31] + 0x000000FCu; /* 028619F4 */ rbrew_write32(cpu->mem, _t57, cpu->r[3]); /* 028619F8 */ _t58 = cpu->r[30] + 0x000000FCu; /* 028619F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 028619FC */ _t59 = cpu->r[10] + 0x00000000u; /* 028619FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t59); /* 02861A00 */ _t60 = cpu->r[3] + 0x00000000u; /* 02861A00 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]); /* 02861A04 */ _t61 = cpu->r[10] + 0x00000004u; /* 02861A04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t61); /* 02861A08 */ _t62 = cpu->r[3] + 0x00000004u; /* 02861A08 */ rbrew_write32(cpu->mem, _t62, cpu->r[6]); /* 02861A0C */ _t63 = cpu->r[10] + 0x00000008u; /* 02861A0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t63); /* 02861A10 */ _t64 = cpu->r[3] + 0x00000008u; /* 02861A10 */ rbrew_write32(cpu->mem, _t64, cpu->r[8]); /* 02861A14 */ _t65 = cpu->r[10] + 0x0000000Cu; /* 02861A14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65); /* 02861A18 */ _t66 = cpu->r[3] + 0x0000000Cu; /* 02861A18 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]); /* 02861A1C */ _t67 = cpu->r[10] + 0x00000010u; /* 02861A1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t67); /* 02861A20 */ _t68 = cpu->r[3] + 0x00000010u; /* 02861A20 */ rbrew_write32(cpu->mem, _t68, cpu->r[11]); /* 02861A24 */ _t69 = cpu->r[10] + 0x00000014u; /* 02861A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69); /* 02861A28 */ _t70 = cpu->r[3] + 0x00000014u; /* 02861A28 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]); /* 02861A2C */ _t71 = cpu->r[31] + 0x000000FCu; /* 02861A2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t71); /* 02861A30 */ _t72 = cpu->r[5] + 0x00000008u; /* 02861A30 */ rbrew_write32(cpu->mem, _t72, cpu->r[29]); L_02861A34: ; // 0x2861a34 /* 02861A34 */ cpu->r[3] = cpu->r[30]; /* 02861A38 */ Gambit_fn_0286143C(cpu); /* 02861A3C */ cpu->r[4] = cpu->r[3]; /* 02861A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02861A40 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861A40 */ _t74 = _t73 & 0x00000001u; /* 02861A40 */ if (_t74) goto L_02861A78; else goto L_02861A44; L_02861A44: ; // 0x2861a44 /* 02861A44 */ cpu->r[3] = cpu->r[30]; /* 02861A48 */ Gambit_fn_02861760(cpu); /* 02861A4C */ cpu->r[5] = cpu->r[3]; /* 02861A50 */ cpu->r[3] = cpu->r[30]; /* 02861A54 */ Gambit_fn_0286177C(cpu); /* 02861A58 */ cpu->r[6] = cpu->r[3]; /* 02861A5C */ cpu->r[3] = cpu->r[31]; /* 02861A60 */ Gambit_fn_02861458(cpu); /* 02861A64 */ _t75 = cpu->r[30] + 0x000000A4u; /* 02861A64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t75); /* 02861A68 */ cpu->r[5] = 0x00000000u; /* 02861A6C */ _t76 = cpu->r[30] + 0x000000CEu; /* 02861A6C */ cpu->r[6] = rbrew_read16(cpu->mem, _t76); /* 02861A70 */ cpu->r[3] = cpu->r[31]; /* 02861A74 */ Gambit_fn_02861878(cpu); L_02861A78: ; // 0x2861a78 /* 02861A78 */ cpu->r[4] = 0x00000004u; /* 02861A7C */ cpu->r[3] = 0x00000020u; /* 02861A80 */ _t77 = cpu->r[30] + 0x000000F4u; /* 02861A80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t77); /* 02861A84 */ Gambit_fn_02869E8C(cpu); /* 02861A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861A8C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861A8C */ _t79 = _t78 & 0x00000001u; /* 02861A8C */ if (_t79) goto L_02861AA8; else goto L_02861A90; L_02861A90: ; // 0x2861a90 /* 02861A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861A94 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861A94 */ _t81 = _t80 & 0x00000001u; /* 02861A94 */ if (_t81) goto L_02861AA8; else goto L_02861A98; L_02861A98: ; // 0x2861a98 /* 02861A98 */ cpu->r[4] = cpu->r[30]; /* 02861A9C */ Gambit_fn_0286D20C(cpu); /* 02861AA0 */ _t82 = cpu->r[31] + 0x000000F4u; /* 02861AA0 */ rbrew_write32(cpu->mem, _t82, cpu->r[3]); /* 02861AA4 */ goto L_02861AB0; L_02861AA8: ; // 0x2861aa8 /* 02861AA8 */ cpu->r[3] = 0x00000000u; /* 02861AAC */ _t83 = cpu->r[31] + 0x000000F4u; /* 02861AAC */ rbrew_write32(cpu->mem, _t83, cpu->r[3]); L_02861AB0: ; // 0x2861ab0 /* 02861AB0 */ _t84 = cpu->r[1] + 0x00000008u; /* 02861AB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t84); /* 02861AB4 */ _t85 = cpu->r[1] + 0x0000000Cu; /* 02861AB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t85); /* 02861AB8 */ _t86 = cpu->r[1] + 0x0000001Cu; /* 02861AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86); /* 02861ABC */ cpu->r[3] = cpu->r[31]; /* 02861AC0 */ _t87 = cpu->r[1] + 0x00000010u; /* 02861AC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t87); /* 02861AC4 */ cpu->lr = cpu->r[0]; /* 02861AC8 */ _t88 = cpu->r[1] + 0x00000014u; /* 02861AC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88); /* 02861ACC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02861AD0 */ return; } // fn_02861AD4 @ 0x2861ad4 void Gambit_fn_02861AD4(CPUState* cpu) { uint32_t _t0, _t1; L_02861AD4: ; // 0x2861ad4 /* 02861AD4 */ _t0 = cpu->r[3] + 0x00000008u; /* 02861AD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02861AD8 */ _t1 = cpu->r[12] + 0x000000C4u; /* 02861AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 02861ADC */ cpu->r[6] = cpu->r[5]; /* 02861AE0 */ cpu->ctr = cpu->r[0]; /* 02861AE4 */ cpu->r[5] = cpu->r[4]; /* 02861AE8 */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_02861AEC @ 0x2861aec void Gambit_fn_02861AEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27; L_02861AEC: ; // 0x2861aec /* 02861AEC */ cpu->r[0] = cpu->lr; /* 02861AF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02861AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861AF0 */ cpu->r[1] = _t0; /* 02861AF4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02861AF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02861AF8 */ _t2 = cpu->r[1] + 0x00000008u; /* 02861AF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02861AFC */ cpu->r[31] = cpu->r[3]; /* 02861B00 */ _t3 = cpu->r[1] + 0x00000014u; /* 02861B00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02861B04 */ _t4 = cpu->r[31] + 0x000000A4u; /* 02861B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02861B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861B0C */ cpu->r[30] = 0x00000000u; /* 02861B10 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861B10 */ _t6 = _t5 & 0x00000001u; /* 02861B10 */ if (_t6) goto L_02861B48; else goto L_02861B14; L_02861B14: ; // 0x2861b14 /* 02861B14 */ _t7 = cpu->r[31] + 0x000000F8u; /* 02861B14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 02861B18 */ _t8 = cpu->r[11] + 0x00000014u; /* 02861B18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 02861B1C */ Gambit_fn_02869EAC(cpu); /* 02861B20 */ _t9 = cpu->r[31] + 0x000000F8u; /* 02861B20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 02861B24 */ Gambit_fn_02869EAC(cpu); /* 02861B28 */ _t10 = cpu->r[31] + 0x000000A4u; /* 02861B28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02861B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861B30 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861B30 */ _t12 = _t11 & 0x00000001u; /* 02861B30 */ if (_t12) goto L_02861B38; else goto L_02861B34; L_02861B34: ; // 0x2861b34 /* 02861B34 */ Gambit_fn_02869EAC(cpu); L_02861B38: ; // 0x2861b38 /* 02861B38 */ _t13 = cpu->r[31] + 0x000000A4u; /* 02861B38 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 02861B3C */ _t14 = cpu->r[31] + 0x000000CCu; /* 02861B3C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]); /* 02861B40 */ _t15 = cpu->r[31] + 0x000000F8u; /* 02861B40 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); /* 02861B44 */ _t16 = cpu->r[31] + 0x000000CEu; /* 02861B44 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]); L_02861B48: ; // 0x2861b48 /* 02861B48 */ _t17 = cpu->r[31] + 0x000000FCu; /* 02861B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 02861B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02861B50 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861B50 */ _t19 = _t18 & 0x00000001u; /* 02861B50 */ if (_t19) goto L_02861B6C; else goto L_02861B54; L_02861B54: ; // 0x2861b54 /* 02861B54 */ _t20 = cpu->r[12] + 0x00000008u; /* 02861B54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20); /* 02861B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861B5C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861B5C */ _t22 = _t21 & 0x00000001u; /* 02861B5C */ if (_t22) goto L_02861B6C; else goto L_02861B60; L_02861B60: ; // 0x2861b60 /* 02861B60 */ Gambit_fn_02869EAC(cpu); /* 02861B64 */ _t23 = cpu->r[31] + 0x000000FCu; /* 02861B64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23); /* 02861B68 */ _t24 = cpu->r[10] + 0x00000008u; /* 02861B68 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]); L_02861B6C: ; // 0x2861b6c /* 02861B6C */ _t25 = cpu->r[1] + 0x00000014u; /* 02861B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 02861B70 */ _t26 = cpu->r[1] + 0x00000008u; /* 02861B70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 02861B74 */ cpu->lr = cpu->r[0]; /* 02861B78 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02861B78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 02861B7C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02861B80 */ return; } // fn_02861AF0 @ 0x2861af0 void Gambit_fn_02861AF0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27; L_02861AF0: ; // 0x2861af0 /* 02861AF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02861AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861AF0 */ cpu->r[1] = _t0; /* 02861AF4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02861AF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02861AF8 */ _t2 = cpu->r[1] + 0x00000008u; /* 02861AF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02861AFC */ cpu->r[31] = cpu->r[3]; /* 02861B00 */ _t3 = cpu->r[1] + 0x00000014u; /* 02861B00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02861B04 */ _t4 = cpu->r[31] + 0x000000A4u; /* 02861B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02861B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861B0C */ cpu->r[30] = 0x00000000u; /* 02861B10 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861B10 */ _t6 = _t5 & 0x00000001u; /* 02861B10 */ if (_t6) goto L_02861B48; else goto L_02861B14; L_02861B14: ; // 0x2861b14 /* 02861B14 */ _t7 = cpu->r[31] + 0x000000F8u; /* 02861B14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 02861B18 */ _t8 = cpu->r[11] + 0x00000014u; /* 02861B18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 02861B1C */ Gambit_fn_02869EAC(cpu); /* 02861B20 */ _t9 = cpu->r[31] + 0x000000F8u; /* 02861B20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 02861B24 */ Gambit_fn_02869EAC(cpu); /* 02861B28 */ _t10 = cpu->r[31] + 0x000000A4u; /* 02861B28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02861B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861B30 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861B30 */ _t12 = _t11 & 0x00000001u; /* 02861B30 */ if (_t12) goto L_02861B38; else goto L_02861B34; L_02861B34: ; // 0x2861b34 /* 02861B34 */ Gambit_fn_02869EAC(cpu); L_02861B38: ; // 0x2861b38 /* 02861B38 */ _t13 = cpu->r[31] + 0x000000A4u; /* 02861B38 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 02861B3C */ _t14 = cpu->r[31] + 0x000000CCu; /* 02861B3C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]); /* 02861B40 */ _t15 = cpu->r[31] + 0x000000F8u; /* 02861B40 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); /* 02861B44 */ _t16 = cpu->r[31] + 0x000000CEu; /* 02861B44 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]); L_02861B48: ; // 0x2861b48 /* 02861B48 */ _t17 = cpu->r[31] + 0x000000FCu; /* 02861B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 02861B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02861B50 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861B50 */ _t19 = _t18 & 0x00000001u; /* 02861B50 */ if (_t19) goto L_02861B6C; else goto L_02861B54; L_02861B54: ; // 0x2861b54 /* 02861B54 */ _t20 = cpu->r[12] + 0x00000008u; /* 02861B54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20); /* 02861B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861B5C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861B5C */ _t22 = _t21 & 0x00000001u; /* 02861B5C */ if (_t22) goto L_02861B6C; else goto L_02861B60; L_02861B60: ; // 0x2861b60 /* 02861B60 */ Gambit_fn_02869EAC(cpu); /* 02861B64 */ _t23 = cpu->r[31] + 0x000000FCu; /* 02861B64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23); /* 02861B68 */ _t24 = cpu->r[10] + 0x00000008u; /* 02861B68 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]); L_02861B6C: ; // 0x2861b6c /* 02861B6C */ _t25 = cpu->r[1] + 0x00000014u; /* 02861B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 02861B70 */ _t26 = cpu->r[1] + 0x00000008u; /* 02861B70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 02861B74 */ cpu->lr = cpu->r[0]; /* 02861B78 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02861B78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 02861B7C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02861B80 */ return; } // fn_02861B84 @ 0x2861b84 void Gambit_fn_02861B84(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28; L_02861B84: ; // 0x2861b84 /* 02861B84 */ cpu->r[0] = cpu->lr; /* 02861B88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02861B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861B88 */ cpu->r[1] = _t0; /* 02861B8C */ _t1 = cpu->r[1] + 0x00000014u; /* 02861B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02861B90 */ cpu->r[31] = cpu->r[4]; /* 02861B94 */ _t2 = cpu->r[1] + 0x00000010u; /* 02861B94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02861B98 */ _t3 = cpu->r[1] + 0x00000008u; /* 02861B98 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 02861B9C */ cpu->r[30] = cpu->r[3]; /* 02861B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02861BA0 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02861BA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 02861BA4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02861BA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02861BA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861BA8 */ _t7 = _t6 & 0x00000001u; /* 02861BA8 */ if (_t7) goto L_02861C30; else goto L_02861BAC; L_02861BAC: ; // 0x2861bac /* 02861BAC */ cpu->r[9] = 0x10130000u; /* 02861BB0 */ _t8 = cpu->r[30] + 0x000000F4u; /* 02861BB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8); /* 02861BB4 */ cpu->r[9] = cpu->r[9] + 0x0000517Cu; /* 02861BB8 */ cpu->r[29] = 0x00000000u; /* 02861BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02861BC0 */ _t9 = cpu->r[30] + 0x00000008u; /* 02861BC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]); /* 02861BC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861BC4 */ _t11 = _t10 & 0x00000001u; /* 02861BC4 */ if (_t11) goto L_02861BF8; else goto L_02861BC8; L_02861BC8: ; // 0x2861bc8 /* 02861BC8 */ _t12 = cpu->r[28] + 0x00000015u; /* 02861BC8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t12); /* 02861BCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02861BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861BD0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861BD0 */ _t14 = _t13 & 0x00000001u; /* 02861BD0 */ if (_t14) goto L_02861BD4; else goto L_02861BF8; L_02861BD4: ; // 0x2861bd4 /* 02861BD4 */ _t15 = cpu->r[28] + 0x0000001Cu; /* 02861BD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 02861BD8 */ _t16 = cpu->r[12] + 0x0000000Cu; /* 02861BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 02861BDC */ cpu->ctr = cpu->r[0]; /* 02861BE0 */ cpu->r[3] = cpu->r[28]; /* 02861BE4 */ cpu->r[4] = 0x00000002u; /* 02861BE8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02861BEC */ cpu->r[3] = cpu->r[28]; /* 02861BF0 */ Gambit_fn_02869EAC(cpu); /* 02861BF4 */ _t17 = cpu->r[30] + 0x000000F4u; /* 02861BF4 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]); L_02861BF8: ; // 0x2861bf8 /* 02861BF8 */ cpu->r[3] = cpu->r[30]; /* 02861BFC */ Gambit_fn_02861AEC(cpu); /* 02861C00 */ _t18 = cpu->r[30] + 0x000000FCu; /* 02861C00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18); /* 02861C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861C08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861C08 */ _t20 = _t19 & 0x00000001u; /* 02861C08 */ if (_t20) goto L_02861C14; else goto L_02861C0C; L_02861C0C: ; // 0x2861c0c /* 02861C0C */ Gambit_fn_02869EAC(cpu); /* 02861C10 */ _t21 = cpu->r[30] + 0x000000FCu; /* 02861C10 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]); L_02861C14: ; // 0x2861c14 /* 02861C14 */ cpu->r[3] = cpu->r[30]; /* 02861C18 */ cpu->r[4] = 0x00000000u; /* 02861C1C */ Gambit_fn_0285F770(cpu); /* 02861C20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02861C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861C24 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861C24 */ _t23 = _t22 & 0x00000001u; /* 02861C24 */ if (_t23) goto L_02861C30; else goto L_02861C28; L_02861C28: ; // 0x2861c28 /* 02861C28 */ cpu->r[3] = cpu->r[30]; /* 02861C2C */ Gambit_fn_02801BB0(cpu); L_02861C30: ; // 0x2861c30 /* 02861C30 */ _t24 = cpu->r[1] + 0x00000008u; /* 02861C30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24); /* 02861C34 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 02861C34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25); /* 02861C38 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 02861C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02861C3C */ _t27 = cpu->r[1] + 0x00000010u; /* 02861C3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27); /* 02861C40 */ cpu->lr = cpu->r[0]; /* 02861C44 */ _t28 = cpu->r[1] + 0x00000014u; /* 02861C44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 02861C48 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02861C4C */ return; } // fn_02861B88 @ 0x2861b88 void Gambit_fn_02861B88(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28; L_02861B88: ; // 0x2861b88 /* 02861B88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02861B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861B88 */ cpu->r[1] = _t0; /* 02861B8C */ _t1 = cpu->r[1] + 0x00000014u; /* 02861B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02861B90 */ cpu->r[31] = cpu->r[4]; /* 02861B94 */ _t2 = cpu->r[1] + 0x00000010u; /* 02861B94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02861B98 */ _t3 = cpu->r[1] + 0x00000008u; /* 02861B98 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 02861B9C */ cpu->r[30] = cpu->r[3]; /* 02861B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02861BA0 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02861BA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 02861BA4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02861BA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02861BA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861BA8 */ _t7 = _t6 & 0x00000001u; /* 02861BA8 */ if (_t7) goto L_02861C30; else goto L_02861BAC; L_02861BAC: ; // 0x2861bac /* 02861BAC */ cpu->r[9] = 0x10130000u; /* 02861BB0 */ _t8 = cpu->r[30] + 0x000000F4u; /* 02861BB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8); /* 02861BB4 */ cpu->r[9] = cpu->r[9] + 0x0000517Cu; /* 02861BB8 */ cpu->r[29] = 0x00000000u; /* 02861BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02861BC0 */ _t9 = cpu->r[30] + 0x00000008u; /* 02861BC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]); /* 02861BC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861BC4 */ _t11 = _t10 & 0x00000001u; /* 02861BC4 */ if (_t11) goto L_02861BF8; else goto L_02861BC8; L_02861BC8: ; // 0x2861bc8 /* 02861BC8 */ _t12 = cpu->r[28] + 0x00000015u; /* 02861BC8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t12); /* 02861BCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02861BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861BD0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861BD0 */ _t14 = _t13 & 0x00000001u; /* 02861BD0 */ if (_t14) goto L_02861BD4; else goto L_02861BF8; L_02861BD4: ; // 0x2861bd4 /* 02861BD4 */ _t15 = cpu->r[28] + 0x0000001Cu; /* 02861BD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 02861BD8 */ _t16 = cpu->r[12] + 0x0000000Cu; /* 02861BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 02861BDC */ cpu->ctr = cpu->r[0]; /* 02861BE0 */ cpu->r[3] = cpu->r[28]; /* 02861BE4 */ cpu->r[4] = 0x00000002u; /* 02861BE8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02861BEC */ cpu->r[3] = cpu->r[28]; /* 02861BF0 */ Gambit_fn_02869EAC(cpu); /* 02861BF4 */ _t17 = cpu->r[30] + 0x000000F4u; /* 02861BF4 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]); L_02861BF8: ; // 0x2861bf8 /* 02861BF8 */ cpu->r[3] = cpu->r[30]; /* 02861BFC */ Gambit_fn_02861AEC(cpu); /* 02861C00 */ _t18 = cpu->r[30] + 0x000000FCu; /* 02861C00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18); /* 02861C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02861C08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861C08 */ _t20 = _t19 & 0x00000001u; /* 02861C08 */ if (_t20) goto L_02861C14; else goto L_02861C0C; L_02861C0C: ; // 0x2861c0c /* 02861C0C */ Gambit_fn_02869EAC(cpu); /* 02861C10 */ _t21 = cpu->r[30] + 0x000000FCu; /* 02861C10 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]); L_02861C14: ; // 0x2861c14 /* 02861C14 */ cpu->r[3] = cpu->r[30]; /* 02861C18 */ cpu->r[4] = 0x00000000u; /* 02861C1C */ Gambit_fn_0285F770(cpu); /* 02861C20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02861C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861C24 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861C24 */ _t23 = _t22 & 0x00000001u; /* 02861C24 */ if (_t23) goto L_02861C30; else goto L_02861C28; L_02861C28: ; // 0x2861c28 /* 02861C28 */ cpu->r[3] = cpu->r[30]; /* 02861C2C */ Gambit_fn_02801BB0(cpu); L_02861C30: ; // 0x2861c30 /* 02861C30 */ _t24 = cpu->r[1] + 0x00000008u; /* 02861C30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24); /* 02861C34 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 02861C34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25); /* 02861C38 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 02861C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02861C3C */ _t27 = cpu->r[1] + 0x00000010u; /* 02861C3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27); /* 02861C40 */ cpu->lr = cpu->r[0]; /* 02861C44 */ _t28 = cpu->r[1] + 0x00000014u; /* 02861C44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 02861C48 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02861C4C */ return; } // fn_02861C50 @ 0x2861c50 void Gambit_fn_02861C50(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36; L_02861798: ; // 0x2861798 /* 02861798 */ cpu->r[0] = cpu->lr; /* 0286179C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0286179C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0286179C */ cpu->r[1] = _t0; /* 028617A0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 028617A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 028617A4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028617A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028617A8 */ _t3 = cpu->r[1] + 0x00000014u; /* 028617A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 028617AC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028617AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028617B0 */ cpu->r[29] = cpu->r[3]; /* 028617B4 */ _t5 = cpu->r[29] + 0x000000B4u; /* 028617B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 028617B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028617BC */ cpu->r[30] = cpu->r[5]; /* 028617C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028617C0 */ _t7 = _t6 & 0x00000001u; /* 028617C0 */ if (_t7) goto L_028617E0; else goto L_028617C4; L_028617C4: ; // 0x28617c4 /* 028617C4 */ _t8 = cpu->r[29] + 0x000000A4u; /* 028617C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 028617C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028617CC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 028617CC */ _t10 = _t9 & 0x00000001u; /* 028617CC */ if (_t10) goto L_028617E0; else goto L_028617D0; L_028617D0: ; // 0x28617d0 /* 028617D0 */ cpu->r[3] = cpu->r[29]; /* 028617D4 */ Gambit_fn_0286143C(cpu); /* 028617D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]); /* 028617DC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 028617DC */ _t12 = _t11 & 0x00000001u; /* 028617DC */ if (_t12) goto L_02861800; else goto L_028617E0; L_028617E0: ; // 0x28617e0 /* 028617E0 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 028617E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 028617E4 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 028617E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 028617E8 */ _t15 = cpu->r[1] + 0x00000010u; /* 028617E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 028617EC */ cpu->lr = cpu->r[0]; /* 028617F0 */ _t16 = cpu->r[1] + 0x00000014u; /* 028617F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 028617F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 028617F8 */ cpu->r[3] = 0x00000000u; /* 028617FC */ return; L_02861800: ; // 0x2861800 /* 02861800 */ cpu->r[31] = cpu->r[3] - cpu->r[30]; /* 02861804 */ cpu->r[9] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02861808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 0286180C */ cpu->r[3] = cpu->r[11] + cpu->r[9]; /* 02861810 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 02861810 */ _t18 = _t17 & 0x00000001u; /* 02861810 */ if (_t18) goto L_02861814; else goto L_02861818; L_02861814: ; // 0x2861814 /* 02861814 */ cpu->r[31] = cpu->r[6]; L_02861818: ; // 0x2861818 /* 02861818 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0286181C */ rbrew_dispatch(cpu, 0x02d0b870u); /* 02861820 */ _t19 = cpu->r[29] + 0x000000A4u; /* 02861820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 02861824 */ _t20 = cpu->r[12] + 0x00000000u; /* 02861824 */ cpu->r[9] = rbrew_read16(cpu->mem, _t20); /* 02861828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0286182C */ cpu->r[0] = cpu->r[12]; /* 02861830 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861830 */ _t22 = _t21 & 0x00000001u; /* 02861830 */ if (_t22) goto L_0286183C; else goto L_02861834; L_02861834: ; // 0x2861834 /* 02861834 */ cpu->r[9] = cpu->r[30] + cpu->r[31]; /* 02861838 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu); L_0286183C: ; // 0x286183c /* 0286183C */ _t23 = cpu->r[29] + 0x000000CEu; /* 0286183C */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[9]); /* 02861840 */ cpu->r[8] = 0x00000000u; /* 02861844 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02861848 */ _t24 = cpu->r[10] + cpu->r[0]; /* 02861848 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[8]); /* 0286184C */ _t25 = cpu->r[29] + 0x000000D0u; /* 0286184C */ cpu->r[0] = rbrew_read8(cpu->mem, _t25); /* 02861850 */ cpu->r[0] = cpu->r[0] | 0x00000020u; /* 02861854 */ _t26 = cpu->r[29] + 0x000000D0u; /* 02861854 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]); /* 02861858 */ _t27 = cpu->r[1] + 0x0000000Cu; /* 02861858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27); /* 0286185C */ _t28 = cpu->r[1] + 0x0000001Cu; /* 0286185C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02861860 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02861864 */ _t29 = cpu->r[1] + 0x00000010u; /* 02861864 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29); /* 02861868 */ cpu->lr = cpu->r[0]; /* 0286186C */ _t30 = cpu->r[1] + 0x00000014u; /* 0286186C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 02861870 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02861874 */ return; L_02861C50: ; // 0x2861c50 /* 02861C50 */ cpu->r[11] = cpu->r[4]; /* 02861C54 */ _t31 = cpu->r[11] + 0x00000000u; /* 02861C54 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 02861C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861C5C */ cpu->r[6] = 0x00000000u; /* 02861C60 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861C60 */ _t33 = _t32 & 0x00000001u; /* 02861C60 */ if (_t33) goto L_02861C74; else goto L_02861C64; L_02861C64: ; // 0x2861c64 /* 02861C64 */ _t34 = cpu->r[11] + 0x00000002u; /* 02861C64 */ cpu->r[12] = rbrew_read16(cpu->mem, _t34); /* 02861C64 */ cpu->r[11] = _t34; /* 02861C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02861C6C */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 02861C70 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861C70 */ _t36 = _t35 & 0x00000001u; /* 02861C70 */ if (_t36) goto L_02861C74; else goto L_02861C64; L_02861C74: ; // 0x2861c74 /* 02861C74 */ goto L_02861798; } // fn_02861C78 @ 0x2861c78 void Gambit_fn_02861C78(CPUState* cpu) { uint32_t _t0; L_02861C78: ; // 0x2861c78 /* 02861C78 */ _t0 = cpu->r[3] + 0x000000B4u; /* 02861C78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0); /* 02861C7C */ return; } // fn_02861C80 @ 0x2861c80 void Gambit_fn_02861C80(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02861C80: ; // 0x2861c80 /* 02861C80 */ cpu->r[10] = cpu->r[3] + 0x000000ACu; /* 02861C84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Du); /* 02861C88 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02861C8C */ cpu->r[7] = cpu->r[10] + cpu->r[0]; /* 02861C90 */ _t0 = cpu->r[7] + cpu->r[8]; /* 02861C90 */ cpu->r[9] = rbrew_read8(cpu->mem, _t0); /* 02861C94 */ cpu->r[10] = cpu->r[9] ^ cpu->r[5]; /* 02861C98 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFFu; /* 02861C9C */ _t1 = cpu->r[3] + 0x000000D0u; /* 02861C9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t1); /* 02861CA0 */ cpu->r[11] = cpu->r[10] - cpu->r[11]; /* 02861CA4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu); /* 02861CA8 */ cpu->r[12] = cpu->r[12] | cpu->r[11]; /* 02861CAC */ _t2 = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x0000001Au, 0x0000001Au); /* 02861CAC */ _t3 = cpu->r[0] & 0xFFFFFFDFu; /* 02861CAC */ cpu->r[0] = _t3 | _t2; /* 02861CB0 */ _t4 = cpu->r[3] + 0x000000D0u; /* 02861CB0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]); /* 02861CB4 */ _t5 = cpu->r[7] + cpu->r[8]; /* 02861CB4 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[5]); /* 02861CB8 */ return; } // fn_02861CBC @ 0x2861cbc void Gambit_fn_02861CBC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54; L_02861CBC: ; // 0x2861cbc /* 02861CBC */ _t0 = cpu->r[1] + 0xFFFFFFB0u; /* 02861CBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861CBC */ cpu->r[1] = _t0; /* 02861CC0 */ _t1 = cpu->r[1] + 0x00000014u; /* 02861CC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02861CC4 */ cpu->r[0] = cpu->lr; /* 02861CC8 */ _t2 = cpu->r[1] + 0x00000020u; /* 02861CC8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]); /* 02861CCC */ /* nop */ /* 02861CD0 */ _t3 = cpu->r[1] + 0x00000030u; /* 02861CD0 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]); /* 02861CD4 */ /* nop */ /* 02861CD8 */ _t4 = cpu->r[1] + 0x00000040u; /* 02861CD8 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]); /* 02861CDC */ _t5 = cpu->r[1] + 0x00000028u; /* 02861CDC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]); /* 02861CE0 */ /* nop */ /* 02861CE4 */ _t6 = cpu->r[1] + 0x00000038u; /* 02861CE4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]); /* 02861CE8 */ _t7 = cpu->r[1] + 0x00000048u; /* 02861CE8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]); /* 02861CEC */ _t8 = cpu->r[1] + 0x0000001Cu; /* 02861CEC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]); /* 02861CF0 */ _t9 = cpu->r[1] + 0x00000018u; /* 02861CF0 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]); /* 02861CF4 */ _t10 = cpu->r[1] + 0x00000054u; /* 02861CF4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 02861CF8 */ cpu->r[29] = cpu->r[3]; /* 02861CFC */ cpu->r[12] = 0x10130000u; /* 02861D00 */ _t11 = cpu->r[29] + 0x000000D1u; /* 02861D00 */ cpu->r[8] = rbrew_read8(cpu->mem, _t11); /* 02861D04 */ cpu->r[31] = cpu->r[5]; /* 02861D08 */ cpu->r[11] = 0x10130000u; /* 02861D0C */ _t12 = cpu->r[12] + 0x00005158u; /* 02861D0C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t12); /* 02861D10 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02861D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02861D14 */ _t13 = cpu->r[11] + 0x00005150u; /* 02861D14 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13); /* 02861D18 */ cpu->r[30] = cpu->r[4]; /* 02861D1C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861D1C */ _t15 = _t14 & 0x00000001u; /* 02861D1C */ if (_t15) goto L_02861D38; else goto L_02861D20; L_02861D20: ; // 0x2861d20 /* 02861D20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u); /* 02861D24 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861D24 */ _t17 = _t16 & 0x00000001u; /* 02861D24 */ if (_t17) goto L_02861D60; else goto L_02861D28; L_02861D28: ; // 0x2861d28 /* 02861D28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 02861D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861D2C */ cpu->f[29] = cpu->f[31]; /* 02861D30 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861D30 */ _t19 = _t18 & 0x00000001u; /* 02861D30 */ if (_t19) goto L_02861D80; else goto L_02861D34; L_02861D34: ; // 0x2861d34 /* 02861D34 */ goto L_02861D6C; L_02861D38: ; // 0x2861d38 /* 02861D38 */ _t20 = cpu->r[30] + 0x00000000u; /* 02861D38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20); /* 02861D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861D40 */ cpu->f[1] = cpu->f[0] * cpu->f[30]; /* 02861D44 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861D44 */ _t22 = _t21 & 0x00000001u; /* 02861D44 */ if (_t22) goto L_02861D50; else goto L_02861D48; L_02861D48: ; // 0x2861d48 /* 02861D48 */ Gambit_fn_02C88498(cpu); /* 02861D4C */ _t23 = cpu->r[29] + 0x000000D1u; /* 02861D4C */ cpu->r[8] = rbrew_read8(cpu->mem, _t23); L_02861D50: ; // 0x2861d50 /* 02861D50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 02861D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861D54 */ cpu->f[29] = cpu->f[1]; /* 02861D58 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861D58 */ _t25 = _t24 & 0x00000001u; /* 02861D58 */ if (_t25) goto L_02861D80; else goto L_02861D5C; L_02861D5C: ; // 0x2861d5c /* 02861D5C */ goto L_02861D6C; L_02861D60: ; // 0x2861d60 /* 02861D60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 02861D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861D64 */ _t26 = cpu->r[30] + 0x00000000u; /* 02861D64 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t26); /* 02861D68 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861D68 */ _t28 = _t27 & 0x00000001u; /* 02861D68 */ if (_t28) goto L_02861D80; else goto L_02861D6C; L_02861D6C: ; // 0x2861d6c /* 02861D6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u); /* 02861D70 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861D70 */ _t30 = _t29 & 0x00000001u; /* 02861D70 */ if (_t30) goto L_02861DA0; else goto L_02861D74; L_02861D74: ; // 0x2861d74 /* 02861D74 */ _t31 = cpu->r[1] + 0x00000008u; /* 02861D74 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[29]); /* 02861D78 */ _t32 = cpu->r[1] + 0x0000000Cu; /* 02861D78 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]); /* 02861D7C */ goto L_02861DAC; L_02861D80: ; // 0x2861d80 /* 02861D80 */ _t33 = cpu->r[30] + 0x00000004u; /* 02861D80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33); /* 02861D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861D88 */ cpu->f[1] = cpu->f[13] * cpu->f[30]; /* 02861D8C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861D8C */ _t35 = _t34 & 0x00000001u; /* 02861D8C */ if (_t35) goto L_02861D94; else goto L_02861D90; L_02861D90: ; // 0x2861d90 /* 02861D90 */ Gambit_fn_02C88498(cpu); L_02861D94: ; // 0x2861d94 /* 02861D94 */ _t36 = cpu->r[1] + 0x00000008u; /* 02861D94 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[29]); /* 02861D98 */ _t37 = cpu->r[1] + 0x0000000Cu; /* 02861D98 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[1]); /* 02861D9C */ goto L_02861DAC; L_02861DA0: ; // 0x2861da0 /* 02861DA0 */ _t38 = cpu->r[30] + 0x00000004u; /* 02861DA0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38); /* 02861DA4 */ _t39 = cpu->r[1] + 0x00000008u; /* 02861DA4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[29]); /* 02861DA8 */ _t40 = cpu->r[1] + 0x0000000Cu; /* 02861DA8 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[31]); L_02861DAC: ; // 0x2861dac /* 02861DAC */ _t41 = cpu->r[1] + 0x00000008u; /* 02861DAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t41); /* 02861DB0 */ _t42 = cpu->r[1] + 0x0000000Cu; /* 02861DB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42); /* 02861DB4 */ _t43 = cpu->r[1] + 0x00000014u; /* 02861DB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43); /* 02861DB8 */ _t44 = cpu->r[1] + 0x00000048u; /* 02861DB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t44); /* 02861DBC */ _t45 = cpu->r[1] + 0x00000028u; /* 02861DBC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t45); /* 02861DC0 */ _t46 = cpu->r[1] + 0x00000040u; /* 02861DC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t46); /* 02861DC4 */ _t47 = cpu->r[1] + 0x00000038u; /* 02861DC4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t47); /* 02861DC8 */ _t48 = cpu->r[1] + 0x00000020u; /* 02861DC8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t48); /* 02861DCC */ _t49 = cpu->r[1] + 0x00000030u; /* 02861DCC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t49); /* 02861DD0 */ _t50 = cpu->r[1] + 0x0000001Cu; /* 02861DD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50); /* 02861DD4 */ _t51 = cpu->r[1] + 0x00000018u; /* 02861DD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51); /* 02861DD8 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 02861DD8 */ _t53 = _t52 & 0x00000001u; /* 02861DD8 */ if (_t53) goto L_02861DDC; // else: addr-0 trap, fall-through L_02861DDC: ; // 0x2861ddc /* 02861DDC */ _t54 = cpu->r[1] + 0x00000054u; /* 02861DDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 02861DE0 */ cpu->lr = cpu->r[0]; /* 02861DE4 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 02861DE8 */ return; } // fn_02861DEC @ 0x2861dec void Gambit_fn_02861DEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28; L_02861DEC: ; // 0x2861dec /* 02861DEC */ cpu->r[0] = cpu->lr; /* 02861DF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02861DF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861DF0 */ cpu->r[1] = _t0; /* 02861DF4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02861DF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02861DF8 */ cpu->r[31] = cpu->r[3]; /* 02861DFC */ _t2 = cpu->r[1] + 0x00000008u; /* 02861DFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02861E00 */ _t3 = cpu->r[1] + 0x00000014u; /* 02861E00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02861E04 */ _t4 = cpu->r[31] + 0x000000B4u; /* 02861E04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02861E08 */ cpu->r[30] = cpu->r[4]; /* 02861E0C */ _t5 = cpu->r[30] + 0x00000028u; /* 02861E0C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 02861E10 */ _t6 = cpu->r[31] + 0x000000B4u; /* 02861E10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02861E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02861E18 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861E18 */ _t8 = _t7 & 0x00000001u; /* 02861E18 */ if (_t8) goto L_02861E60; else goto L_02861E1C; L_02861E1C: ; // 0x2861e1c /* 02861E1C */ _t9 = cpu->r[31] + 0x000000BCu; /* 02861E1C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t9); /* 02861E20 */ cpu->r[3] = cpu->r[30]; /* 02861E24 */ _t10 = cpu->r[31] + 0x000000B8u; /* 02861E24 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10); /* 02861E28 */ Gambit_fn_028543D0(cpu); /* 02861E2C */ _t11 = cpu->r[31] + 0x000000C0u; /* 02861E2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02861E30 */ _t12 = cpu->r[30] + 0x0000003Cu; /* 02861E30 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]); /* 02861E34 */ _t13 = cpu->r[31] + 0x000000C4u; /* 02861E34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13); /* 02861E38 */ _t14 = cpu->r[30] + 0x00000038u; /* 02861E38 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]); /* 02861E3C */ _t15 = cpu->r[31] + 0x000000D0u; /* 02861E3C */ cpu->r[10] = rbrew_read8(cpu->mem, _t15); /* 02861E40 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 02861E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02861E44 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861E44 */ _t17 = _t16 & 0x00000001u; /* 02861E44 */ if (_t17) goto L_02861E54; else goto L_02861E48; L_02861E48: ; // 0x2861e48 /* 02861E48 */ _t18 = cpu->r[31] + 0x0000003Cu; /* 02861E48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18); /* 02861E4C */ _t19 = cpu->r[30] + 0x00000034u; /* 02861E4C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]); /* 02861E50 */ goto L_02861E60; L_02861E54: ; // 0x2861e54 /* 02861E54 */ cpu->r[9] = 0x10130000u; /* 02861E58 */ _t20 = cpu->r[9] + 0x0000515Cu; /* 02861E58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20); /* 02861E5C */ _t21 = cpu->r[30] + 0x00000034u; /* 02861E5C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]); L_02861E60: ; // 0x2861e60 /* 02861E60 */ _t22 = cpu->r[31] + 0x000000C8u; /* 02861E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02861E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861E68 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861E68 */ _t24 = _t23 & 0x00000001u; /* 02861E68 */ if (_t24) goto L_02861E70; else goto L_02861E6C; L_02861E6C: ; // 0x2861e6c /* 02861E6C */ _t25 = cpu->r[30] + 0x00000048u; /* 02861E6C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); L_02861E70: ; // 0x2861e70 /* 02861E70 */ _t26 = cpu->r[1] + 0x00000014u; /* 02861E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02861E74 */ _t27 = cpu->r[1] + 0x00000008u; /* 02861E74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27); /* 02861E78 */ cpu->lr = cpu->r[0]; /* 02861E7C */ _t28 = cpu->r[1] + 0x0000000Cu; /* 02861E7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 02861E80 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02861E84 */ return; } // fn_02861DF0 @ 0x2861df0 void Gambit_fn_02861DF0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28; L_02861DF0: ; // 0x2861df0 /* 02861DF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02861DF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861DF0 */ cpu->r[1] = _t0; /* 02861DF4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02861DF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02861DF8 */ cpu->r[31] = cpu->r[3]; /* 02861DFC */ _t2 = cpu->r[1] + 0x00000008u; /* 02861DFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02861E00 */ _t3 = cpu->r[1] + 0x00000014u; /* 02861E00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02861E04 */ _t4 = cpu->r[31] + 0x000000B4u; /* 02861E04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02861E08 */ cpu->r[30] = cpu->r[4]; /* 02861E0C */ _t5 = cpu->r[30] + 0x00000028u; /* 02861E0C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 02861E10 */ _t6 = cpu->r[31] + 0x000000B4u; /* 02861E10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02861E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02861E18 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861E18 */ _t8 = _t7 & 0x00000001u; /* 02861E18 */ if (_t8) goto L_02861E60; else goto L_02861E1C; L_02861E1C: ; // 0x2861e1c /* 02861E1C */ _t9 = cpu->r[31] + 0x000000BCu; /* 02861E1C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t9); /* 02861E20 */ cpu->r[3] = cpu->r[30]; /* 02861E24 */ _t10 = cpu->r[31] + 0x000000B8u; /* 02861E24 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10); /* 02861E28 */ Gambit_fn_028543D0(cpu); /* 02861E2C */ _t11 = cpu->r[31] + 0x000000C0u; /* 02861E2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02861E30 */ _t12 = cpu->r[30] + 0x0000003Cu; /* 02861E30 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]); /* 02861E34 */ _t13 = cpu->r[31] + 0x000000C4u; /* 02861E34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13); /* 02861E38 */ _t14 = cpu->r[30] + 0x00000038u; /* 02861E38 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]); /* 02861E3C */ _t15 = cpu->r[31] + 0x000000D0u; /* 02861E3C */ cpu->r[10] = rbrew_read8(cpu->mem, _t15); /* 02861E40 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 02861E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02861E44 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861E44 */ _t17 = _t16 & 0x00000001u; /* 02861E44 */ if (_t17) goto L_02861E54; else goto L_02861E48; L_02861E48: ; // 0x2861e48 /* 02861E48 */ _t18 = cpu->r[31] + 0x0000003Cu; /* 02861E48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18); /* 02861E4C */ _t19 = cpu->r[30] + 0x00000034u; /* 02861E4C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]); /* 02861E50 */ goto L_02861E60; L_02861E54: ; // 0x2861e54 /* 02861E54 */ cpu->r[9] = 0x10130000u; /* 02861E58 */ _t20 = cpu->r[9] + 0x0000515Cu; /* 02861E58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20); /* 02861E5C */ _t21 = cpu->r[30] + 0x00000034u; /* 02861E5C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]); L_02861E60: ; // 0x2861e60 /* 02861E60 */ _t22 = cpu->r[31] + 0x000000C8u; /* 02861E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02861E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861E68 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861E68 */ _t24 = _t23 & 0x00000001u; /* 02861E68 */ if (_t24) goto L_02861E70; else goto L_02861E6C; L_02861E6C: ; // 0x2861e6c /* 02861E6C */ _t25 = cpu->r[30] + 0x00000048u; /* 02861E6C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); L_02861E70: ; // 0x2861e70 /* 02861E70 */ _t26 = cpu->r[1] + 0x00000014u; /* 02861E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02861E74 */ _t27 = cpu->r[1] + 0x00000008u; /* 02861E74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27); /* 02861E78 */ cpu->lr = cpu->r[0]; /* 02861E7C */ _t28 = cpu->r[1] + 0x0000000Cu; /* 02861E7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 02861E80 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02861E84 */ return; } // fn_02861E88 @ 0x2861e88 void Gambit_fn_02861E88(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75; L_02861E88: ; // 0x2861e88 /* 02861E88 */ cpu->r[0] = cpu->lr; /* 02861E8C */ _t0 = cpu->r[1] + 0xFFFFFF60u; /* 02861E8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861E8C */ cpu->r[1] = _t0; /* 02861E90 */ _t1 = cpu->r[1] + 0x00000090u; /* 02861E90 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02861E94 */ _t2 = cpu->r[1] + 0x00000088u; /* 02861E94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02861E98 */ cpu->r[30] = cpu->r[3]; /* 02861E9C */ /* nop */ /* 02861EA0 */ _t3 = cpu->r[1] + 0x00000098u; /* 02861EA0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 02861EA4 */ _t4 = cpu->r[1] + 0x0000008Cu; /* 02861EA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02861EA8 */ _t5 = cpu->r[1] + 0x000000A4u; /* 02861EA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02861EAC */ _t6 = cpu->r[30] + 0x000000B4u; /* 02861EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02861EB0 */ cpu->r[12] = 0x10130000u; /* 02861EB4 */ cpu->r[31] = cpu->r[4]; /* 02861EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861EBC */ _t7 = cpu->r[12] + 0x00005150u; /* 02861EBC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7); /* 02861EC0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861EC0 */ _t9 = _t8 & 0x00000001u; /* 02861EC0 */ if (_t9) goto L_02861EC4; else goto L_02861F10; L_02861EC4: ; // 0x2861ec4 /* 02861EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861EC8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861EC8 */ _t11 = _t10 & 0x00000001u; /* 02861EC8 */ if (_t11) goto L_02861ECC; else goto L_02861EDC; L_02861ECC: ; // 0x2861ecc /* 02861ECC */ cpu->r[3] = 0x00000010u; /* 02861ED0 */ Gambit_fn_02801A78(cpu); /* 02861ED4 */ cpu->r[31] = cpu->r[3]; /* 02861ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861ED8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861ED8 */ _t13 = _t12 & 0x00000001u; /* 02861ED8 */ if (_t13) goto L_0286203C; else goto L_02861EDC; L_02861EDC: ; // 0x2861edc /* 02861EDC */ _t14 = cpu->r[31] + 0x00000004u; /* 02861EDC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]); /* 02861EE0 */ _t15 = cpu->r[31] + 0x00000008u; /* 02861EE0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]); /* 02861EE4 */ _t16 = cpu->r[31] + 0x00000000u; /* 02861EE4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]); /* 02861EE8 */ _t17 = cpu->r[31] + 0x0000000Cu; /* 02861EE8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]); /* 02861EEC */ _t18 = cpu->r[1] + 0x00000098u; /* 02861EEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18); /* 02861EF0 */ _t19 = cpu->r[1] + 0x00000088u; /* 02861EF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 02861EF4 */ _t20 = cpu->r[1] + 0x00000090u; /* 02861EF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20); /* 02861EF8 */ _t21 = cpu->r[1] + 0x0000008Cu; /* 02861EF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 02861EFC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 02861EFC */ _t23 = _t22 & 0x00000001u; /* 02861EFC */ if (_t23) goto L_02861F00; // else: addr-0 trap, fall-through L_02861F00: ; // 0x2861f00 /* 02861F00 */ _t24 = cpu->r[1] + 0x000000A4u; /* 02861F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 02861F04 */ cpu->lr = cpu->r[0]; /* 02861F08 */ cpu->r[1] = cpu->r[1] + 0x000000A0u; /* 02861F0C */ return; L_02861F10: ; // 0x2861f10 /* 02861F10 */ cpu->r[3] = cpu->r[1] + 0x00000038u; /* 02861F14 */ Gambit_fn_028586D8(cpu); /* 02861F18 */ _t25 = cpu->r[1] + 0x0000004Cu; /* 02861F18 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]); /* 02861F1C */ cpu->r[3] = cpu->r[30]; /* 02861F20 */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 02861F24 */ _t26 = cpu->r[1] + 0x00000050u; /* 02861F24 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]); /* 02861F28 */ Gambit_fn_02861DEC(cpu); /* 02861F2C */ _t27 = cpu->r[1] + 0x00000014u; /* 02861F2C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[31]); /* 02861F30 */ _t28 = cpu->r[30] + 0x000000A4u; /* 02861F30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28); /* 02861F34 */ _t29 = cpu->r[1] + 0x00000008u; /* 02861F34 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]); /* 02861F38 */ _t30 = cpu->r[30] + 0x000000CEu; /* 02861F38 */ cpu->r[6] = rbrew_read16(cpu->mem, _t30); /* 02861F3C */ cpu->r[3] = cpu->r[1] + 0x00000038u; /* 02861F40 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 02861F40 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]); /* 02861F44 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02861F48 */ _t32 = cpu->r[1] + 0x00000010u; /* 02861F48 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]); /* 02861F4C */ Gambit_fn_02858F0C(cpu); /* 02861F50 */ _t33 = cpu->r[1] + 0x00000008u; /* 02861F50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33); /* 02861F54 */ _t34 = cpu->r[1] + 0x00000010u; /* 02861F54 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34); /* 02861F58 */ _t35 = cpu->r[1] + 0x0000000Cu; /* 02861F58 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35); /* 02861F5C */ cpu->f[12] = cpu->f[11] - cpu->f[12]; /* 02861F60 */ _t36 = cpu->r[1] + 0x00000014u; /* 02861F60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36); /* 02861F64 */ cpu->f[13] = cpu->f[0] - cpu->f[10]; /* 02861F68 */ _t37 = cpu->r[1] + 0x00000018u; /* 02861F68 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]); /* 02861F6C */ cpu->r[3] = cpu->r[30]; /* 02861F70 */ _t38 = cpu->r[1] + 0x0000001Cu; /* 02861F70 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]); /* 02861F74 */ Gambit_fn_0285F928(cpu); /* 02861F78 */ cpu->r[5] = 0x00000000u; /* 02861F7C */ _t39 = cpu->r[1] + 0x00000020u; /* 02861F7C */ rbrew_write32(cpu->mem, _t39, cpu->r[3]); /* 02861F80 */ cpu->r[3] = cpu->r[30]; /* 02861F84 */ _t40 = cpu->r[1] + 0x00000024u; /* 02861F84 */ rbrew_write32(cpu->mem, _t40, cpu->r[4]); /* 02861F88 */ cpu->r[4] = cpu->r[30] + 0x0000003Cu; /* 02861F8C */ Gambit_fn_02861CBC(cpu); /* 02861F90 */ _t41 = cpu->r[1] + 0x00000028u; /* 02861F90 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]); /* 02861F94 */ _t42 = cpu->r[1] + 0x0000002Cu; /* 02861F94 */ rbrew_write32(cpu->mem, _t42, cpu->r[4]); /* 02861F98 */ cpu->r[3] = cpu->r[30]; /* 02861F9C */ cpu->r[5] = 0x00000001u; /* 02861FA0 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 02861FA4 */ Gambit_fn_02861CBC(cpu); /* 02861FA8 */ _t43 = cpu->r[1] + 0x00000030u; /* 02861FA8 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]); /* 02861FAC */ _t44 = cpu->r[1] + 0x00000030u; /* 02861FAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44); /* 02861FB0 */ _t45 = cpu->r[1] + 0x00000028u; /* 02861FB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45); /* 02861FB4 */ _t46 = cpu->r[1] + 0x00000034u; /* 02861FB4 */ rbrew_write32(cpu->mem, _t46, cpu->r[4]); /* 02861FB8 */ _t47 = cpu->r[1] + 0x00000034u; /* 02861FB8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t47); /* 02861FBC */ cpu->f[9] = cpu->f[11] - cpu->f[13]; /* 02861FC0 */ _t48 = cpu->r[1] + 0x0000002Cu; /* 02861FC0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t48); /* 02861FC4 */ _t49 = cpu->r[1] + 0x00000020u; /* 02861FC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49); /* 02861FC8 */ cpu->f[10] = cpu->f[11] - cpu->f[12]; /* 02861FCC */ _t50 = cpu->r[1] + 0x00000024u; /* 02861FCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50); /* 02861FD0 */ cpu->f[0] = cpu->f[0] + cpu->f[9]; /* 02861FD4 */ _t51 = cpu->r[1] + 0x00000018u; /* 02861FD4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t51); /* 02861FD8 */ cpu->f[9] = cpu->f[13] - cpu->f[10]; /* 02861FDC */ _t52 = cpu->r[1] + 0x0000001Cu; /* 02861FDC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52); /* 02861FE0 */ cpu->f[10] = cpu->f[0] + cpu->f[11]; /* 02861FE4 */ _t53 = cpu->r[1] + 0x00000008u; /* 02861FE4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]); /* 02861FE8 */ cpu->f[12] = cpu->f[9] - cpu->f[13]; /* 02861FEC */ _t54 = cpu->r[1] + 0x0000000Cu; /* 02861FEC */ rbrew_write_f32(cpu->mem, _t54, cpu->f[9]); /* 02861FF0 */ _t55 = cpu->r[1] + 0x00000010u; /* 02861FF0 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[10]); /* 02861FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861FF8 */ _t56 = cpu->r[1] + 0x00000014u; /* 02861FF8 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[12]); /* 02861FFC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861FFC */ _t58 = _t57 & 0x00000001u; /* 02861FFC */ if (_t58) goto L_02862000; else goto L_02862014; L_02862000: ; // 0x2862000 /* 02862000 */ cpu->r[3] = 0x00000010u; /* 02862004 */ Gambit_fn_02801A78(cpu); /* 02862008 */ cpu->r[31] = cpu->r[3]; /* 02862008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0286200C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286200C */ _t60 = _t59 & 0x00000001u; /* 0286200C */ if (_t60) goto L_02862030; else goto L_02862010; L_02862010: ; // 0x2862010 /* 02862010 */ _t61 = cpu->r[1] + 0x00000008u; /* 02862010 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61); L_02862014: ; // 0x2862014 /* 02862014 */ _t62 = cpu->r[31] + 0x00000000u; /* 02862014 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]); /* 02862018 */ _t63 = cpu->r[1] + 0x0000000Cu; /* 02862018 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63); /* 0286201C */ _t64 = cpu->r[31] + 0x00000004u; /* 0286201C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]); /* 02862020 */ _t65 = cpu->r[1] + 0x00000010u; /* 02862020 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t65); /* 02862024 */ _t66 = cpu->r[31] + 0x00000008u; /* 02862024 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[10]); /* 02862028 */ _t67 = cpu->r[1] + 0x00000014u; /* 02862028 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67); /* 0286202C */ _t68 = cpu->r[31] + 0x0000000Cu; /* 0286202C */ rbrew_write_f32(cpu->mem, _t68, cpu->f[11]); L_02862030: ; // 0x2862030 /* 02862030 */ cpu->r[3] = cpu->r[1] + 0x00000038u; /* 02862034 */ cpu->r[4] = 0x00000002u; /* 02862038 */ Gambit_fn_02858758(cpu); L_0286203C: ; // 0x286203c /* 0286203C */ _t69 = cpu->r[1] + 0x00000098u; /* 0286203C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t69); /* 02862040 */ _t70 = cpu->r[1] + 0x0000008Cu; /* 02862040 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70); /* 02862044 */ _t71 = cpu->r[1] + 0x00000090u; /* 02862044 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t71); /* 02862048 */ _t72 = cpu->r[1] + 0x00000088u; /* 02862048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t72); /* 0286204C */ _t73 = cpu->cr[0] >> (0x00000003u & 31u); /* 0286204C */ _t74 = _t73 & 0x00000001u; /* 0286204C */ if (_t74) goto L_02862050; // else: addr-0 trap, fall-through L_02862050: ; // 0x2862050 /* 02862050 */ _t75 = cpu->r[1] + 0x000000A4u; /* 02862050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75); /* 02862054 */ cpu->lr = cpu->r[0]; /* 02862058 */ cpu->r[1] = cpu->r[1] + 0x000000A0u; /* 0286205C */ return; } // fn_02861E8C @ 0x2861e8c void Gambit_fn_02861E8C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75; L_02861E8C: ; // 0x2861e8c /* 02861E8C */ _t0 = cpu->r[1] + 0xFFFFFF60u; /* 02861E8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02861E8C */ cpu->r[1] = _t0; /* 02861E90 */ _t1 = cpu->r[1] + 0x00000090u; /* 02861E90 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02861E94 */ _t2 = cpu->r[1] + 0x00000088u; /* 02861E94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02861E98 */ cpu->r[30] = cpu->r[3]; /* 02861E9C */ /* nop */ /* 02861EA0 */ _t3 = cpu->r[1] + 0x00000098u; /* 02861EA0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 02861EA4 */ _t4 = cpu->r[1] + 0x0000008Cu; /* 02861EA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02861EA8 */ _t5 = cpu->r[1] + 0x000000A4u; /* 02861EA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02861EAC */ _t6 = cpu->r[30] + 0x000000B4u; /* 02861EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02861EB0 */ cpu->r[12] = 0x10130000u; /* 02861EB4 */ cpu->r[31] = cpu->r[4]; /* 02861EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02861EBC */ _t7 = cpu->r[12] + 0x00005150u; /* 02861EBC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7); /* 02861EC0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861EC0 */ _t9 = _t8 & 0x00000001u; /* 02861EC0 */ if (_t9) goto L_02861EC4; else goto L_02861F10; L_02861EC4: ; // 0x2861ec4 /* 02861EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861EC8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861EC8 */ _t11 = _t10 & 0x00000001u; /* 02861EC8 */ if (_t11) goto L_02861ECC; else goto L_02861EDC; L_02861ECC: ; // 0x2861ecc /* 02861ECC */ cpu->r[3] = 0x00000010u; /* 02861ED0 */ Gambit_fn_02801A78(cpu); /* 02861ED4 */ cpu->r[31] = cpu->r[3]; /* 02861ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861ED8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861ED8 */ _t13 = _t12 & 0x00000001u; /* 02861ED8 */ if (_t13) goto L_0286203C; else goto L_02861EDC; L_02861EDC: ; // 0x2861edc /* 02861EDC */ _t14 = cpu->r[31] + 0x00000004u; /* 02861EDC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]); /* 02861EE0 */ _t15 = cpu->r[31] + 0x00000008u; /* 02861EE0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]); /* 02861EE4 */ _t16 = cpu->r[31] + 0x00000000u; /* 02861EE4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]); /* 02861EE8 */ _t17 = cpu->r[31] + 0x0000000Cu; /* 02861EE8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]); /* 02861EEC */ _t18 = cpu->r[1] + 0x00000098u; /* 02861EEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18); /* 02861EF0 */ _t19 = cpu->r[1] + 0x00000088u; /* 02861EF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 02861EF4 */ _t20 = cpu->r[1] + 0x00000090u; /* 02861EF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20); /* 02861EF8 */ _t21 = cpu->r[1] + 0x0000008Cu; /* 02861EF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 02861EFC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 02861EFC */ _t23 = _t22 & 0x00000001u; /* 02861EFC */ if (_t23) goto L_02861F00; // else: addr-0 trap, fall-through L_02861F00: ; // 0x2861f00 /* 02861F00 */ _t24 = cpu->r[1] + 0x000000A4u; /* 02861F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 02861F04 */ cpu->lr = cpu->r[0]; /* 02861F08 */ cpu->r[1] = cpu->r[1] + 0x000000A0u; /* 02861F0C */ return; L_02861F10: ; // 0x2861f10 /* 02861F10 */ cpu->r[3] = cpu->r[1] + 0x00000038u; /* 02861F14 */ Gambit_fn_028586D8(cpu); /* 02861F18 */ _t25 = cpu->r[1] + 0x0000004Cu; /* 02861F18 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]); /* 02861F1C */ cpu->r[3] = cpu->r[30]; /* 02861F20 */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 02861F24 */ _t26 = cpu->r[1] + 0x00000050u; /* 02861F24 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]); /* 02861F28 */ Gambit_fn_02861DEC(cpu); /* 02861F2C */ _t27 = cpu->r[1] + 0x00000014u; /* 02861F2C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[31]); /* 02861F30 */ _t28 = cpu->r[30] + 0x000000A4u; /* 02861F30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28); /* 02861F34 */ _t29 = cpu->r[1] + 0x00000008u; /* 02861F34 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]); /* 02861F38 */ _t30 = cpu->r[30] + 0x000000CEu; /* 02861F38 */ cpu->r[6] = rbrew_read16(cpu->mem, _t30); /* 02861F3C */ cpu->r[3] = cpu->r[1] + 0x00000038u; /* 02861F40 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 02861F40 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]); /* 02861F44 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02861F48 */ _t32 = cpu->r[1] + 0x00000010u; /* 02861F48 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]); /* 02861F4C */ Gambit_fn_02858F0C(cpu); /* 02861F50 */ _t33 = cpu->r[1] + 0x00000008u; /* 02861F50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33); /* 02861F54 */ _t34 = cpu->r[1] + 0x00000010u; /* 02861F54 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34); /* 02861F58 */ _t35 = cpu->r[1] + 0x0000000Cu; /* 02861F58 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35); /* 02861F5C */ cpu->f[12] = cpu->f[11] - cpu->f[12]; /* 02861F60 */ _t36 = cpu->r[1] + 0x00000014u; /* 02861F60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36); /* 02861F64 */ cpu->f[13] = cpu->f[0] - cpu->f[10]; /* 02861F68 */ _t37 = cpu->r[1] + 0x00000018u; /* 02861F68 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]); /* 02861F6C */ cpu->r[3] = cpu->r[30]; /* 02861F70 */ _t38 = cpu->r[1] + 0x0000001Cu; /* 02861F70 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]); /* 02861F74 */ Gambit_fn_0285F928(cpu); /* 02861F78 */ cpu->r[5] = 0x00000000u; /* 02861F7C */ _t39 = cpu->r[1] + 0x00000020u; /* 02861F7C */ rbrew_write32(cpu->mem, _t39, cpu->r[3]); /* 02861F80 */ cpu->r[3] = cpu->r[30]; /* 02861F84 */ _t40 = cpu->r[1] + 0x00000024u; /* 02861F84 */ rbrew_write32(cpu->mem, _t40, cpu->r[4]); /* 02861F88 */ cpu->r[4] = cpu->r[30] + 0x0000003Cu; /* 02861F8C */ Gambit_fn_02861CBC(cpu); /* 02861F90 */ _t41 = cpu->r[1] + 0x00000028u; /* 02861F90 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]); /* 02861F94 */ _t42 = cpu->r[1] + 0x0000002Cu; /* 02861F94 */ rbrew_write32(cpu->mem, _t42, cpu->r[4]); /* 02861F98 */ cpu->r[3] = cpu->r[30]; /* 02861F9C */ cpu->r[5] = 0x00000001u; /* 02861FA0 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 02861FA4 */ Gambit_fn_02861CBC(cpu); /* 02861FA8 */ _t43 = cpu->r[1] + 0x00000030u; /* 02861FA8 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]); /* 02861FAC */ _t44 = cpu->r[1] + 0x00000030u; /* 02861FAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44); /* 02861FB0 */ _t45 = cpu->r[1] + 0x00000028u; /* 02861FB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45); /* 02861FB4 */ _t46 = cpu->r[1] + 0x00000034u; /* 02861FB4 */ rbrew_write32(cpu->mem, _t46, cpu->r[4]); /* 02861FB8 */ _t47 = cpu->r[1] + 0x00000034u; /* 02861FB8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t47); /* 02861FBC */ cpu->f[9] = cpu->f[11] - cpu->f[13]; /* 02861FC0 */ _t48 = cpu->r[1] + 0x0000002Cu; /* 02861FC0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t48); /* 02861FC4 */ _t49 = cpu->r[1] + 0x00000020u; /* 02861FC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49); /* 02861FC8 */ cpu->f[10] = cpu->f[11] - cpu->f[12]; /* 02861FCC */ _t50 = cpu->r[1] + 0x00000024u; /* 02861FCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50); /* 02861FD0 */ cpu->f[0] = cpu->f[0] + cpu->f[9]; /* 02861FD4 */ _t51 = cpu->r[1] + 0x00000018u; /* 02861FD4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t51); /* 02861FD8 */ cpu->f[9] = cpu->f[13] - cpu->f[10]; /* 02861FDC */ _t52 = cpu->r[1] + 0x0000001Cu; /* 02861FDC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52); /* 02861FE0 */ cpu->f[10] = cpu->f[0] + cpu->f[11]; /* 02861FE4 */ _t53 = cpu->r[1] + 0x00000008u; /* 02861FE4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]); /* 02861FE8 */ cpu->f[12] = cpu->f[9] - cpu->f[13]; /* 02861FEC */ _t54 = cpu->r[1] + 0x0000000Cu; /* 02861FEC */ rbrew_write_f32(cpu->mem, _t54, cpu->f[9]); /* 02861FF0 */ _t55 = cpu->r[1] + 0x00000010u; /* 02861FF0 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[10]); /* 02861FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02861FF8 */ _t56 = cpu->r[1] + 0x00000014u; /* 02861FF8 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[12]); /* 02861FFC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 02861FFC */ _t58 = _t57 & 0x00000001u; /* 02861FFC */ if (_t58) goto L_02862000; else goto L_02862014; L_02862000: ; // 0x2862000 /* 02862000 */ cpu->r[3] = 0x00000010u; /* 02862004 */ Gambit_fn_02801A78(cpu); /* 02862008 */ cpu->r[31] = cpu->r[3]; /* 02862008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0286200C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286200C */ _t60 = _t59 & 0x00000001u; /* 0286200C */ if (_t60) goto L_02862030; else goto L_02862010; L_02862010: ; // 0x2862010 /* 02862010 */ _t61 = cpu->r[1] + 0x00000008u; /* 02862010 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61); L_02862014: ; // 0x2862014 /* 02862014 */ _t62 = cpu->r[31] + 0x00000000u; /* 02862014 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]); /* 02862018 */ _t63 = cpu->r[1] + 0x0000000Cu; /* 02862018 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63); /* 0286201C */ _t64 = cpu->r[31] + 0x00000004u; /* 0286201C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]); /* 02862020 */ _t65 = cpu->r[1] + 0x00000010u; /* 02862020 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t65); /* 02862024 */ _t66 = cpu->r[31] + 0x00000008u; /* 02862024 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[10]); /* 02862028 */ _t67 = cpu->r[1] + 0x00000014u; /* 02862028 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67); /* 0286202C */ _t68 = cpu->r[31] + 0x0000000Cu; /* 0286202C */ rbrew_write_f32(cpu->mem, _t68, cpu->f[11]); L_02862030: ; // 0x2862030 /* 02862030 */ cpu->r[3] = cpu->r[1] + 0x00000038u; /* 02862034 */ cpu->r[4] = 0x00000002u; /* 02862038 */ Gambit_fn_02858758(cpu); L_0286203C: ; // 0x286203c /* 0286203C */ _t69 = cpu->r[1] + 0x00000098u; /* 0286203C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t69); /* 02862040 */ _t70 = cpu->r[1] + 0x0000008Cu; /* 02862040 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70); /* 02862044 */ _t71 = cpu->r[1] + 0x00000090u; /* 02862044 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t71); /* 02862048 */ _t72 = cpu->r[1] + 0x00000088u; /* 02862048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t72); /* 0286204C */ _t73 = cpu->cr[0] >> (0x00000003u & 31u); /* 0286204C */ _t74 = _t73 & 0x00000001u; /* 0286204C */ if (_t74) goto L_02862050; // else: addr-0 trap, fall-through L_02862050: ; // 0x2862050 /* 02862050 */ _t75 = cpu->r[1] + 0x000000A4u; /* 02862050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75); /* 02862054 */ cpu->lr = cpu->r[0]; /* 02862058 */ cpu->r[1] = cpu->r[1] + 0x000000A0u; /* 0286205C */ return; } // fn_02862060 @ 0x2862060 void Gambit_fn_02862060(CPUState* cpu) { uint32_t _t0; L_02862060: ; // 0x2862060 /* 02862060 */ _t0 = cpu->r[3] + 0x000000F4u; /* 02862060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02862064 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu; /* 02862068 */ cpu->r[3] = cpu->r[12] - cpu->r[0]; /* 0286206C */ return; } // fn_02862070 @ 0x2862070 void Gambit_fn_02862070(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02862070: ; // 0x2862070 /* 02862070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02862074 */ cpu->r[12] = cpu->r[3]; /* 02862078 */ cpu->r[3] = 0x00000000u; /* 0286207C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286207C */ _t1 = _t0 & 0x00000001u; /* 0286207C */ _t2 = _t1 ^ 0x00000001u; /* 0286207C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0286207C */ goto L_02862080; L_02862080: ; // 0x2862080 /* 02862080 */ _t3 = cpu->r[12] + 0x000000F4u; /* 02862080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02862084 */ return; } // fn_02862088 @ 0x2862088 void Gambit_fn_02862088(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31; L_02862088: ; // 0x2862088 /* 02862088 */ _t0 = cpu->r[3] + 0x000000D0u; /* 02862088 */ cpu->r[9] = rbrew_read8(cpu->mem, _t0); /* 0286208C */ _t1 = cpu->r[3] + 0x000000D1u; /* 0286208C */ cpu->r[11] = rbrew_read8(cpu->mem, _t1); /* 02862090 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Au, 0x0000001Eu, 0x0000001Fu); /* 02862094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 02862098 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 0286209C */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 0286209C */ _t3 = _t2 & 0x00000001u; /* 0286209C */ if (_t3) goto L_028620A8; else goto L_028620A0; L_028620A0: ; // 0x28620a0 /* 028620A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u); /* 028620A4 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u); /* 028620A4 */ _t5 = _t4 & 0x00000001u; /* 028620A4 */ if (_t5) goto L_028620A8; else goto L_028620DC; L_028620A8: ; // 0x28620a8 /* 028620A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u); /* 028620AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 028620AC */ _t7 = _t6 & 0x00000001u; /* 028620AC */ if (_t7) goto L_028620F4; else goto L_028620B0; L_028620B0: ; // 0x28620b0 /* 028620B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u); /* 028620B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028620B4 */ _t9 = _t8 & 0x00000001u; /* 028620B4 */ if (_t9) goto L_02862104; else goto L_028620B8; L_028620B8: ; // 0x28620b8 /* 028620B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u); /* 028620BC */ cpu->r[8] = 0x00000000u; /* 028620C0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 028620C0 */ _t11 = _t10 & 0x00000001u; /* 028620C0 */ if (_t11) goto L_028620C4; else goto L_02862110; L_028620C4: ; // 0x28620c4 /* 028620C4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 028620C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028620C8 */ cpu->r[8] = cpu->r[8] | 0x00000010u; /* 028620CC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028620CC */ _t13 = _t12 & 0x00000001u; /* 028620CC */ if (_t13) goto L_028620D0; else goto L_02862130; L_028620D0: ; // 0x28620d0 /* 028620D0 */ cpu->r[8] = cpu->r[8] | 0x00000100u; /* 028620D4 */ _t14 = cpu->r[4] + 0x00000044u; /* 028620D4 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]); /* 028620D8 */ return; L_028620DC: ; // 0x28620dc /* 028620DC */ cpu->r[7] = 0x10130000u; /* 028620E0 */ cpu->r[7] = cpu->r[7] + 0x0000515Fu; /* 028620E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u); /* 028620E8 */ _t15 = cpu->r[7] + cpu->r[0]; /* 028620E8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t15); /* 028620EC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 028620EC */ _t17 = _t16 & 0x00000001u; /* 028620EC */ if (_t17) goto L_028620C4; else goto L_028620F0; L_028620F0: ; // 0x28620f0 /* 028620F0 */ goto L_02862110; L_028620F4: ; // 0x28620f4 /* 028620F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u); /* 028620F8 */ cpu->r[8] = 0x00000001u; /* 028620FC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 028620FC */ _t19 = _t18 & 0x00000001u; /* 028620FC */ if (_t19) goto L_028620C4; else goto L_02862100; L_02862100: ; // 0x2862100 /* 02862100 */ goto L_02862110; L_02862104: ; // 0x2862104 /* 02862104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u); /* 02862108 */ cpu->r[8] = 0x00000002u; /* 0286210C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286210C */ _t21 = _t20 & 0x00000001u; /* 0286210C */ if (_t21) goto L_028620C4; else goto L_02862110; L_02862110: ; // 0x2862110 /* 02862110 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u); /* 02862114 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862114 */ _t23 = _t22 & 0x00000001u; /* 02862114 */ if (_t23) goto L_02862124; else goto L_02862118; L_02862118: ; // 0x2862118 /* 02862118 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 02862118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0286211C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286211C */ _t25 = _t24 & 0x00000001u; /* 0286211C */ if (_t25) goto L_028620D0; else goto L_02862120; L_02862120: ; // 0x2862120 /* 02862120 */ goto L_02862130; L_02862124: ; // 0x2862124 /* 02862124 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 02862124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02862128 */ cpu->r[8] = cpu->r[8] | 0x00000020u; /* 0286212C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286212C */ _t27 = _t26 & 0x00000001u; /* 0286212C */ if (_t27) goto L_028620D0; else goto L_02862130; L_02862130: ; // 0x2862130 /* 02862130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000002u); /* 02862134 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862134 */ _t29 = _t28 & 0x00000001u; /* 02862134 */ if (_t29) goto L_02862140; else goto L_02862138; L_02862138: ; // 0x2862138 /* 02862138 */ _t30 = cpu->r[4] + 0x00000044u; /* 02862138 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]); /* 0286213C */ return; L_02862140: ; // 0x2862140 /* 02862140 */ cpu->r[8] = cpu->r[8] | 0x00000200u; /* 02862144 */ _t31 = cpu->r[4] + 0x00000044u; /* 02862144 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]); /* 02862148 */ return; } // fn_0286214C @ 0x286214c void Gambit_fn_0286214C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0286214C: ; // 0x286214c /* 0286214C */ cpu->r[0] = cpu->lr; /* 02862150 */ cpu->r[5] = 0x10130000u; /* 02862154 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02862154 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862154 */ cpu->r[1] = _t0; /* 02862158 */ _t1 = cpu->r[5] + 0x00005150u; /* 02862158 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1); /* 0286215C */ _t2 = cpu->r[1] + 0x00000018u; /* 0286215C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02862160 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02862160 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02862164 */ _t4 = cpu->r[1] + 0x00000024u; /* 02862164 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02862168 */ cpu->r[31] = cpu->r[4]; /* 0286216C */ _t5 = cpu->r[4] + 0x00000014u; /* 0286216C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]); /* 02862170 */ cpu->r[30] = cpu->r[3]; /* 02862174 */ _t6 = cpu->r[4] + 0x00000018u; /* 02862174 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]); /* 02862178 */ Gambit_fn_02861DEC(cpu); /* 0286217C */ cpu->r[3] = cpu->r[30]; /* 02862180 */ cpu->r[4] = cpu->r[31]; /* 02862184 */ Gambit_fn_02862088(cpu); /* 02862188 */ cpu->r[7] = cpu->r[30] + 0x000000ACu; /* 0286218C */ /* nop */ /* 02862190 */ cpu->r[9] = cpu->r[1] + 0x00000008u; /* 02862194 */ cpu->r[12] = cpu->r[30] + 0x000000B0u; /* 02862198 */ /* nop */ /* 0286219C */ /* nop */ /* 028621A0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu; /* 028621A4 */ _t7 = cpu->r[1] + 0x00000008u; /* 028621A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 028621A8 */ /* nop */ /* 028621AC */ cpu->r[12] = cpu->r[1] + 0x00000010u; /* 028621B0 */ _t8 = cpu->r[1] + 0x00000010u; /* 028621B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]); /* 028621B4 */ /* nop */ /* 028621B8 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 028621B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9); /* 028621BC */ /* nop */ /* 028621C0 */ cpu->r[6] = cpu->r[1] + 0x00000014u; /* 028621C4 */ _t10 = cpu->r[1] + 0x00000014u; /* 028621C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]); /* 028621C8 */ /* nop */ /* 028621CC */ cpu->r[8] = cpu->r[31] + 0x00000004u; /* 028621D0 */ /* nop */ /* 028621D4 */ _t11 = cpu->r[30] + 0x000000D4u; /* 028621D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 028621D8 */ _t12 = cpu->r[31] + 0x00000024u; /* 028621D8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]); /* 028621DC */ _t13 = cpu->r[1] + 0x00000024u; /* 028621DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028621E0 */ _t14 = cpu->r[1] + 0x00000018u; /* 028621E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 028621E4 */ cpu->lr = cpu->r[0]; /* 028621E8 */ _t15 = cpu->r[1] + 0x0000001Cu; /* 028621E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028621EC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028621F0 */ return; } // fn_02862154 @ 0x2862154 void Gambit_fn_02862154(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_02862154: ; // 0x2862154 /* 02862154 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02862154 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862154 */ cpu->r[1] = _t0; /* 02862158 */ _t1 = cpu->r[5] + 0x00005150u; /* 02862158 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1); /* 0286215C */ _t2 = cpu->r[1] + 0x00000018u; /* 0286215C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02862160 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02862160 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02862164 */ _t4 = cpu->r[1] + 0x00000024u; /* 02862164 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02862168 */ cpu->r[31] = cpu->r[4]; /* 0286216C */ _t5 = cpu->r[4] + 0x00000014u; /* 0286216C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]); /* 02862170 */ cpu->r[30] = cpu->r[3]; /* 02862174 */ _t6 = cpu->r[4] + 0x00000018u; /* 02862174 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]); /* 02862178 */ Gambit_fn_02861DEC(cpu); /* 0286217C */ cpu->r[3] = cpu->r[30]; /* 02862180 */ cpu->r[4] = cpu->r[31]; /* 02862184 */ Gambit_fn_02862088(cpu); /* 02862188 */ cpu->r[7] = cpu->r[30] + 0x000000ACu; /* 0286218C */ /* nop */ /* 02862190 */ cpu->r[9] = cpu->r[1] + 0x00000008u; /* 02862194 */ cpu->r[12] = cpu->r[30] + 0x000000B0u; /* 02862198 */ /* nop */ /* 0286219C */ /* nop */ /* 028621A0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu; /* 028621A4 */ _t7 = cpu->r[1] + 0x00000008u; /* 028621A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 028621A8 */ /* nop */ /* 028621AC */ cpu->r[12] = cpu->r[1] + 0x00000010u; /* 028621B0 */ _t8 = cpu->r[1] + 0x00000010u; /* 028621B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]); /* 028621B4 */ /* nop */ /* 028621B8 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 028621B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9); /* 028621BC */ /* nop */ /* 028621C0 */ cpu->r[6] = cpu->r[1] + 0x00000014u; /* 028621C4 */ _t10 = cpu->r[1] + 0x00000014u; /* 028621C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]); /* 028621C8 */ /* nop */ /* 028621CC */ cpu->r[8] = cpu->r[31] + 0x00000004u; /* 028621D0 */ /* nop */ /* 028621D4 */ _t11 = cpu->r[30] + 0x000000D4u; /* 028621D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 028621D8 */ _t12 = cpu->r[31] + 0x00000024u; /* 028621D8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]); /* 028621DC */ _t13 = cpu->r[1] + 0x00000024u; /* 028621DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 028621E0 */ _t14 = cpu->r[1] + 0x00000018u; /* 028621E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 028621E4 */ cpu->lr = cpu->r[0]; /* 028621E8 */ _t15 = cpu->r[1] + 0x0000001Cu; /* 028621E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 028621EC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 028621F0 */ return; } // fn_028621F4 @ 0x28621f4 void Gambit_fn_028621F4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42; L_028621F4: ; // 0x28621f4 /* 028621F4 */ cpu->r[0] = cpu->lr; /* 028621F8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028621F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028621F8 */ cpu->r[1] = _t0; /* 028621FC */ _t1 = cpu->r[1] + 0x0000001Cu; /* 028621FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02862200 */ cpu->r[31] = cpu->r[3]; /* 02862204 */ _t2 = cpu->r[1] + 0x00000018u; /* 02862204 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02862208 */ cpu->r[30] = cpu->r[4]; /* 0286220C */ cpu->r[6] = cpu->r[31] + 0x00000048u; /* 02862210 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]); /* 02862214 */ _t3 = cpu->r[1] + 0x00000024u; /* 02862214 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02862218 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862218 */ _t5 = _t4 & 0x00000001u; /* 02862218 */ if (_t5) goto L_02862250; else goto L_0286221C; L_0286221C: ; // 0x286221c /* 0286221C */ cpu->r[9] = 0x00000003u; /* 02862220 */ cpu->r[7] = cpu->r[31] + 0x00000044u; /* 02862224 */ cpu->ctr = cpu->r[9]; /* 02862228 */ cpu->r[8] = cpu->r[30] + 0xFFFFFFFCu; L_0286222C: ; // 0x286222c /* 0286222C */ _t6 = cpu->r[7] + 0x00000004u; /* 0286222C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 02862230 */ _t7 = cpu->r[8] + 0x00000004u; /* 02862230 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]); /* 02862234 */ _t8 = cpu->r[7] + 0x00000008u; /* 02862234 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 02862238 */ _t9 = cpu->r[8] + 0x00000008u; /* 02862238 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]); /* 0286223C */ _t10 = cpu->r[7] + 0x0000000Cu; /* 0286223C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 02862240 */ _t11 = cpu->r[8] + 0x0000000Cu; /* 02862240 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]); /* 02862244 */ _t12 = cpu->r[7] + 0x00000010u; /* 02862244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02862244 */ cpu->r[7] = _t12; /* 02862248 */ _t13 = cpu->r[8] + 0x00000010u; /* 02862248 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 02862248 */ cpu->r[8] = _t13; /* 0286224C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0286224C */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0286224C */ _t15 = _t14 >> (0x00000002u & 31u); /* 0286224C */ _t16 = _t15 & 0x00000001u; /* 0286224C */ if (_t16) goto L_0286222C; else goto L_02862250; L_02862250: ; // 0x2862250 /* 02862250 */ cpu->r[3] = cpu->r[31]; /* 02862254 */ Gambit_fn_0285F928(cpu); /* 02862258 */ _t17 = cpu->r[1] + 0x00000008u; /* 02862258 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 0286225C */ cpu->r[3] = cpu->r[31]; /* 02862260 */ cpu->r[5] = 0x00000000u; /* 02862264 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 02862264 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]); /* 02862268 */ cpu->r[4] = cpu->r[31] + 0x0000003Cu; /* 0286226C */ Gambit_fn_02861CBC(cpu); /* 02862270 */ _t19 = cpu->r[1] + 0x00000014u; /* 02862270 */ rbrew_write32(cpu->mem, _t19, cpu->r[4]); /* 02862274 */ _t20 = cpu->r[1] + 0x00000014u; /* 02862274 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t20); /* 02862278 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02862278 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21); /* 0286227C */ _t22 = cpu->r[1] + 0x00000010u; /* 0286227C */ rbrew_write32(cpu->mem, _t22, cpu->r[3]); /* 02862280 */ _t23 = cpu->r[30] + 0x00000014u; /* 02862280 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t23); /* 02862284 */ cpu->f[11] = cpu->f[0] - cpu->f[7]; /* 02862288 */ _t24 = cpu->r[1] + 0x00000010u; /* 02862288 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24); /* 0286228C */ _t25 = cpu->r[1] + 0x00000008u; /* 0286228C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25); /* 02862290 */ _t26 = cpu->r[30] + 0x00000004u; /* 02862290 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t26); /* 02862294 */ cpu->f[12] = cpu->f[12] + cpu->f[13]; /* 02862298 */ cpu->f[0] = cpu->f[4] * cpu->f[11]; /* 0286229C */ _t27 = cpu->r[30] + 0x00000000u; /* 0286229C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t27); /* 028622A0 */ cpu->f[10] = cpu->f[6] * cpu->f[11]; /* 028622A4 */ _t28 = cpu->r[30] + 0x00000010u; /* 028622A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t28); /* 028622A8 */ cpu->f[7] = fma(cpu->f[8], cpu->f[12], cpu->f[0]); /* 028622AC */ _t29 = cpu->r[30] + 0x0000000Cu; /* 028622AC */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t29); /* 028622B0 */ cpu->f[13] = fma(cpu->f[9], cpu->f[12], cpu->f[10]); /* 028622B4 */ _t30 = cpu->r[30] + 0x00000024u; /* 028622B4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t30); /* 028622B8 */ cpu->f[5] = cpu->f[5] + cpu->f[7]; /* 028622BC */ _t31 = cpu->r[30] + 0x0000001Cu; /* 028622BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31); /* 028622C0 */ cpu->f[8] = cpu->f[9] * cpu->f[11]; /* 028622C4 */ _t32 = cpu->r[30] + 0x00000020u; /* 028622C4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t32); /* 028622C8 */ cpu->f[0] = cpu->f[0] + cpu->f[13]; /* 028622CC */ cpu->f[10] = fma(cpu->f[7], cpu->f[12], cpu->f[8]); /* 028622D0 */ _t33 = cpu->r[30] + 0x0000000Cu; /* 028622D0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[5]); /* 028622D4 */ cpu->f[13] = -cpu->f[6]; /* 028622D8 */ _t34 = cpu->r[30] + 0x0000002Cu; /* 028622D8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34); /* 028622DC */ cpu->f[12] = -cpu->f[4]; /* 028622E0 */ cpu->f[11] = cpu->f[11] + cpu->f[10]; /* 028622E4 */ _t35 = cpu->r[30] + 0x0000001Cu; /* 028622E4 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]); /* 028622E8 */ _t36 = cpu->r[30] + 0x00000004u; /* 028622E8 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]); /* 028622EC */ cpu->f[0] = -cpu->f[9]; /* 028622F0 */ _t37 = cpu->r[30] + 0x0000002Cu; /* 028622F0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[11]); /* 028622F4 */ _t38 = cpu->r[30] + 0x00000014u; /* 028622F4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]); /* 028622F8 */ _t39 = cpu->r[30] + 0x00000024u; /* 028622F8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]); /* 028622FC */ _t40 = cpu->r[1] + 0x00000024u; /* 028622FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 02862300 */ _t41 = cpu->r[1] + 0x00000018u; /* 02862300 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41); /* 02862304 */ cpu->lr = cpu->r[0]; /* 02862308 */ _t42 = cpu->r[1] + 0x0000001Cu; /* 02862308 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42); /* 0286230C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02862310 */ return; } // fn_028621F8 @ 0x28621f8 void Gambit_fn_028621F8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42; L_028621F8: ; // 0x28621f8 /* 028621F8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 028621F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028621F8 */ cpu->r[1] = _t0; /* 028621FC */ _t1 = cpu->r[1] + 0x0000001Cu; /* 028621FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02862200 */ cpu->r[31] = cpu->r[3]; /* 02862204 */ _t2 = cpu->r[1] + 0x00000018u; /* 02862204 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02862208 */ cpu->r[30] = cpu->r[4]; /* 0286220C */ cpu->r[6] = cpu->r[31] + 0x00000048u; /* 02862210 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]); /* 02862214 */ _t3 = cpu->r[1] + 0x00000024u; /* 02862214 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02862218 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862218 */ _t5 = _t4 & 0x00000001u; /* 02862218 */ if (_t5) goto L_02862250; else goto L_0286221C; L_0286221C: ; // 0x286221c /* 0286221C */ cpu->r[9] = 0x00000003u; /* 02862220 */ cpu->r[7] = cpu->r[31] + 0x00000044u; /* 02862224 */ cpu->ctr = cpu->r[9]; /* 02862228 */ cpu->r[8] = cpu->r[30] + 0xFFFFFFFCu; L_0286222C: ; // 0x286222c /* 0286222C */ _t6 = cpu->r[7] + 0x00000004u; /* 0286222C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 02862230 */ _t7 = cpu->r[8] + 0x00000004u; /* 02862230 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]); /* 02862234 */ _t8 = cpu->r[7] + 0x00000008u; /* 02862234 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 02862238 */ _t9 = cpu->r[8] + 0x00000008u; /* 02862238 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]); /* 0286223C */ _t10 = cpu->r[7] + 0x0000000Cu; /* 0286223C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 02862240 */ _t11 = cpu->r[8] + 0x0000000Cu; /* 02862240 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]); /* 02862244 */ _t12 = cpu->r[7] + 0x00000010u; /* 02862244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02862244 */ cpu->r[7] = _t12; /* 02862248 */ _t13 = cpu->r[8] + 0x00000010u; /* 02862248 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 02862248 */ cpu->r[8] = _t13; /* 0286224C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0286224C */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0286224C */ _t15 = _t14 >> (0x00000002u & 31u); /* 0286224C */ _t16 = _t15 & 0x00000001u; /* 0286224C */ if (_t16) goto L_0286222C; else goto L_02862250; L_02862250: ; // 0x2862250 /* 02862250 */ cpu->r[3] = cpu->r[31]; /* 02862254 */ Gambit_fn_0285F928(cpu); /* 02862258 */ _t17 = cpu->r[1] + 0x00000008u; /* 02862258 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 0286225C */ cpu->r[3] = cpu->r[31]; /* 02862260 */ cpu->r[5] = 0x00000000u; /* 02862264 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 02862264 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]); /* 02862268 */ cpu->r[4] = cpu->r[31] + 0x0000003Cu; /* 0286226C */ Gambit_fn_02861CBC(cpu); /* 02862270 */ _t19 = cpu->r[1] + 0x00000014u; /* 02862270 */ rbrew_write32(cpu->mem, _t19, cpu->r[4]); /* 02862274 */ _t20 = cpu->r[1] + 0x00000014u; /* 02862274 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t20); /* 02862278 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02862278 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21); /* 0286227C */ _t22 = cpu->r[1] + 0x00000010u; /* 0286227C */ rbrew_write32(cpu->mem, _t22, cpu->r[3]); /* 02862280 */ _t23 = cpu->r[30] + 0x00000014u; /* 02862280 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t23); /* 02862284 */ cpu->f[11] = cpu->f[0] - cpu->f[7]; /* 02862288 */ _t24 = cpu->r[1] + 0x00000010u; /* 02862288 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24); /* 0286228C */ _t25 = cpu->r[1] + 0x00000008u; /* 0286228C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25); /* 02862290 */ _t26 = cpu->r[30] + 0x00000004u; /* 02862290 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t26); /* 02862294 */ cpu->f[12] = cpu->f[12] + cpu->f[13]; /* 02862298 */ cpu->f[0] = cpu->f[4] * cpu->f[11]; /* 0286229C */ _t27 = cpu->r[30] + 0x00000000u; /* 0286229C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t27); /* 028622A0 */ cpu->f[10] = cpu->f[6] * cpu->f[11]; /* 028622A4 */ _t28 = cpu->r[30] + 0x00000010u; /* 028622A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t28); /* 028622A8 */ cpu->f[7] = fma(cpu->f[8], cpu->f[12], cpu->f[0]); /* 028622AC */ _t29 = cpu->r[30] + 0x0000000Cu; /* 028622AC */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t29); /* 028622B0 */ cpu->f[13] = fma(cpu->f[9], cpu->f[12], cpu->f[10]); /* 028622B4 */ _t30 = cpu->r[30] + 0x00000024u; /* 028622B4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t30); /* 028622B8 */ cpu->f[5] = cpu->f[5] + cpu->f[7]; /* 028622BC */ _t31 = cpu->r[30] + 0x0000001Cu; /* 028622BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31); /* 028622C0 */ cpu->f[8] = cpu->f[9] * cpu->f[11]; /* 028622C4 */ _t32 = cpu->r[30] + 0x00000020u; /* 028622C4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t32); /* 028622C8 */ cpu->f[0] = cpu->f[0] + cpu->f[13]; /* 028622CC */ cpu->f[10] = fma(cpu->f[7], cpu->f[12], cpu->f[8]); /* 028622D0 */ _t33 = cpu->r[30] + 0x0000000Cu; /* 028622D0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[5]); /* 028622D4 */ cpu->f[13] = -cpu->f[6]; /* 028622D8 */ _t34 = cpu->r[30] + 0x0000002Cu; /* 028622D8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34); /* 028622DC */ cpu->f[12] = -cpu->f[4]; /* 028622E0 */ cpu->f[11] = cpu->f[11] + cpu->f[10]; /* 028622E4 */ _t35 = cpu->r[30] + 0x0000001Cu; /* 028622E4 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]); /* 028622E8 */ _t36 = cpu->r[30] + 0x00000004u; /* 028622E8 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]); /* 028622EC */ cpu->f[0] = -cpu->f[9]; /* 028622F0 */ _t37 = cpu->r[30] + 0x0000002Cu; /* 028622F0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[11]); /* 028622F4 */ _t38 = cpu->r[30] + 0x00000014u; /* 028622F4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]); /* 028622F8 */ _t39 = cpu->r[30] + 0x00000024u; /* 028622F8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]); /* 028622FC */ _t40 = cpu->r[1] + 0x00000024u; /* 028622FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 02862300 */ _t41 = cpu->r[1] + 0x00000018u; /* 02862300 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41); /* 02862304 */ cpu->lr = cpu->r[0]; /* 02862308 */ _t42 = cpu->r[1] + 0x0000001Cu; /* 02862308 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42); /* 0286230C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02862310 */ return; } // fn_02862314 @ 0x2862314 void Gambit_fn_02862314(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119; L_02862314: ; // 0x2862314 /* 02862314 */ _t0 = cpu->r[1] + 0xFFFFFF60u; /* 02862314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862314 */ cpu->r[1] = _t0; /* 02862318 */ /* nop */ /* 0286231C */ _t1 = cpu->r[1] + 0x00000040u; /* 0286231C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[26]); /* 02862320 */ _t2 = cpu->r[1] + 0x00000050u; /* 02862320 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[27]); /* 02862324 */ _t3 = cpu->r[1] + 0x00000060u; /* 02862324 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[28]); /* 02862328 */ _t4 = cpu->r[1] + 0x00000070u; /* 02862328 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]); /* 0286232C */ _t5 = cpu->r[1] + 0x00000080u; /* 0286232C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]); /* 02862330 */ _t6 = cpu->r[1] + 0x00000090u; /* 02862330 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[31]); /* 02862334 */ /* nop */ /* 02862338 */ /* nop */ /* 0286233C */ /* nop */ /* 02862340 */ _t7 = cpu->r[1] + 0x00000048u; /* 02862340 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[26]); /* 02862344 */ cpu->r[0] = cpu->lr; /* 02862348 */ /* nop */ /* 0286234C */ _t8 = cpu->r[1] + 0x00000058u; /* 0286234C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[27]); /* 02862350 */ /* nop */ /* 02862354 */ _t9 = cpu->r[1] + 0x00000068u; /* 02862354 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[28]); /* 02862358 */ /* nop */ /* 0286235C */ _t10 = cpu->r[1] + 0x00000078u; /* 0286235C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[29]); /* 02862360 */ _t11 = cpu->r[1] + 0x00000088u; /* 02862360 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[30]); /* 02862364 */ _t12 = cpu->r[1] + 0x00000098u; /* 02862364 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]); /* 02862368 */ cpu->r[28] = cpu->r[3]; /* 0286236C */ _t13 = cpu->r[1] + 0x000000A4u; /* 0286236C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 02862370 */ _t14 = cpu->r[28] + 0x000000F8u; /* 02862370 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14); /* 02862374 */ _t15 = cpu->r[6] + 0x00000004u; /* 02862374 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02862378 */ _t16 = cpu->r[28] + 0x000000FCu; /* 02862378 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16); /* 0286237C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02862380 */ _t17 = cpu->r[9] + 0x0000000Eu; /* 02862380 */ cpu->r[24] = rbrew_read8(cpu->mem, _t17); /* 02862384 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862384 */ _t19 = _t18 & 0x00000001u; /* 02862384 */ if (_t19) goto L_028623A4; else goto L_02862388; L_02862388: ; // 0x2862388 /* 02862388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u); /* 0286238C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286238C */ _t21 = _t20 & 0x00000001u; /* 0286238C */ if (_t21) goto L_02862390; else goto L_028623EC; L_02862390: ; // 0x2862390 /* 02862390 */ cpu->r[8] = 0x10130000u; /* 02862394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02862398 */ cpu->r[23] = 0x00000000u; /* 0286239C */ _t22 = cpu->r[8] + 0x00005150u; /* 0286239C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22); /* 028623A0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 028623A0 */ _t24 = _t23 & 0x00000001u; /* 028623A0 */ if (_t24) goto L_028623A4; else goto L_02862424; L_028623A4: ; // 0x28623a4 /* 028623A4 */ /* nop */ /* 028623A8 */ _t25 = cpu->r[1] + 0x00000088u; /* 028623A8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t25); /* 028623AC */ _t26 = cpu->r[1] + 0x00000068u; /* 028623AC */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t26); /* 028623B0 */ _t27 = cpu->r[1] + 0x00000080u; /* 028623B0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t27); /* 028623B4 */ _t28 = cpu->r[1] + 0x00000060u; /* 028623B4 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t28); /* 028623B8 */ _t29 = cpu->r[1] + 0x00000058u; /* 028623B8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t29); /* 028623BC */ _t30 = cpu->r[1] + 0x00000078u; /* 028623BC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t30); /* 028623C0 */ _t31 = cpu->r[1] + 0x00000050u; /* 028623C0 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t31); /* 028623C4 */ _t32 = cpu->r[1] + 0x00000070u; /* 028623C4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t32); /* 028623C8 */ _t33 = cpu->r[1] + 0x00000048u; /* 028623C8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t33); /* 028623CC */ _t34 = cpu->r[1] + 0x00000098u; /* 028623CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34); /* 028623D0 */ _t35 = cpu->r[1] + 0x00000040u; /* 028623D0 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t35); /* 028623D4 */ _t36 = cpu->r[1] + 0x00000090u; /* 028623D4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36); /* 028623D8 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u); /* 028623D8 */ _t38 = _t37 & 0x00000001u; /* 028623D8 */ if (_t38) goto L_028623DC; // else: addr-0 trap, fall-through L_028623DC: ; // 0x28623dc /* 028623DC */ _t39 = cpu->r[1] + 0x000000A4u; /* 028623DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 028623E0 */ cpu->lr = cpu->r[0]; /* 028623E4 */ cpu->r[1] = cpu->r[1] + 0x000000A0u; /* 028623E8 */ return; L_028623EC: ; // 0x28623ec /* 028623EC */ cpu->r[6] = 0x10130000u; /* 028623F0 */ cpu->r[7] = cpu->r[31] + 0xFFFFFFFFu; /* 028623F4 */ _t40 = cpu->r[6] + 0x00005168u; /* 028623F4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t40); /* 028623F8 */ cpu->r[10] = 0x43300000u; /* 028623FC */ _t41 = cpu->r[1] + 0x0000000Cu; /* 028623FC */ rbrew_write32(cpu->mem, _t41, cpu->r[7]); /* 02862400 */ _t42 = cpu->r[1] + 0x00000008u; /* 02862400 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]); /* 02862404 */ _t43 = cpu->r[1] + 0x00000008u; /* 02862404 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t43); /* 02862408 */ cpu->f[9] = cpu->f[8] - cpu->f[0]; /* 0286240C */ cpu->f[11] = (double)(float)cpu->f[9]; /* 02862410 */ _t44 = cpu->r[9] + 0x00000004u; /* 02862410 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44); /* 02862414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02862418 */ cpu->r[23] = 0x00000000u; /* 0286241C */ cpu->f[30] = cpu->f[12] / cpu->f[11]; /* 02862420 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862420 */ _t46 = _t45 & 0x00000001u; /* 02862420 */ if (_t46) goto L_028623A4; else goto L_02862424; L_02862424: ; // 0x2862424 /* 02862424 */ cpu->r[12] = 0x10130000u; /* 02862428 */ cpu->r[30] = 0x10130000u; /* 0286242C */ cpu->r[27] = 0x00000000u; /* 02862430 */ _t47 = cpu->r[12] + 0x00005170u; /* 02862430 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t47); /* 02862434 */ cpu->r[30] = cpu->r[30] + 0x0000080Cu; L_02862438: ; // 0x2862438 /* 02862438 */ cpu->r[8] = 0x10130000u; /* 0286243C */ _t48 = cpu->r[1] + 0x0000000Cu; /* 0286243C */ rbrew_write32(cpu->mem, _t48, cpu->r[23]); /* 02862440 */ cpu->r[11] = 0x43300000u; /* 02862444 */ _t49 = cpu->r[8] + 0x00005168u; /* 02862444 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t49); /* 02862448 */ _t50 = cpu->r[1] + 0x00000008u; /* 02862448 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]); /* 0286244C */ _t51 = cpu->r[1] + 0x00000008u; /* 0286244C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t51); /* 02862450 */ _t52 = cpu->r[9] + 0x00000000u; /* 02862450 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t52); /* 02862454 */ cpu->f[10] = cpu->f[9] - cpu->f[13]; /* 02862458 */ _t53 = cpu->r[9] + 0x00000008u; /* 02862458 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53); /* 0286245C */ cpu->f[8] = (double)(float)cpu->f[10]; /* 02862460 */ cpu->r[22] = cpu->r[10] + cpu->r[27]; /* 02862464 */ cpu->r[25] = cpu->r[24]; /* 02862464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02862468 */ cpu->f[28] = fma(cpu->f[30], cpu->f[8], cpu->f[12]); /* 0286246C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286246C */ _t55 = _t54 & 0x00000001u; /* 0286246C */ if (_t55) goto L_02862668; else goto L_02862470; L_02862470: ; // 0x2862470 /* 02862470 */ cpu->f[29] = cpu->f[31]; /* 02862474 */ cpu->r[26] = 0x00000000u; L_02862478: ; // 0x2862478 /* 02862478 */ cpu->r[11] = cpu->r[9] + 0x00000010u; /* 0286247C */ _t56 = cpu->r[11] + cpu->r[26]; /* 0286247C */ cpu->r[21] = rbrew_read32(cpu->mem, _t56); /* 02862480 */ cpu->r[12] = cpu->r[11] + cpu->r[26]; /* 02862484 */ _t57 = cpu->r[9] + 0x0000000Cu; /* 02862484 */ cpu->r[4] = rbrew_read8(cpu->mem, _t57); /* 02862488 */ _t58 = cpu->r[21] + 0x00000008u; /* 02862488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58); /* 0286248C */ _t59 = cpu->r[12] + 0x00000004u; /* 0286248C */ cpu->r[29] = rbrew_read32(cpu->mem, _t59); /* 02862490 */ cpu->r[20] = cpu->r[21] + cpu->r[0]; /* 02862494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u); /* 02862498 */ _t60 = cpu->r[21] + 0x00000004u; /* 02862498 */ cpu->r[4] = rbrew_read16(cpu->mem, _t60); /* 0286249C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286249C */ _t62 = _t61 & 0x00000001u; /* 0286249C */ if (_t62) goto L_028624A8; else goto L_028624A0; L_028624A0: ; // 0x28624a0 /* 028624A0 */ cpu->f[1] = cpu->f[28]; /* 028624A4 */ goto L_02862524; L_028624A8: ; // 0x28624a8 /* 028624A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u); /* 028624AC */ _t63 = cpu->cr[0] >> (0x00000002u & 31u); /* 028624AC */ _t64 = _t63 & 0x00000001u; /* 028624AC */ if (_t64) goto L_028624B0; else goto L_02862520; L_028624B0: ; // 0x28624b0 /* 028624B0 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu); /* 028624B4 */ cpu->r[7] = cpu->r[20] + cpu->r[5]; /* 028624B8 */ _t65 = cpu->r[7] + 0xFFFFFFF4u; /* 028624B8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t65); /* 028624BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[27]); /* 028624C0 */ _t66 = cpu->r[20] + 0x00000000u; /* 028624C0 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t66); /* 028624C4 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u); /* 028624C4 */ _t68 = _t67 & 0x00000001u; /* 028624C4 */ if (_t68) goto L_028624C8; else goto L_028624F0; L_028624C8: ; // 0x28624c8 /* 028624C8 */ cpu->f[1] = cpu->f[28] - cpu->f[26]; /* 028624CC */ cpu->f[2] = cpu->f[27] - cpu->f[26]; /* 028624D0 */ Gambit_fn_02C8831C(cpu); /* 028624D4 */ cpu->f[1] = cpu->f[1] + cpu->f[26]; /* 028624D8 */ _t69 = cpu->r[21] + 0x00000004u; /* 028624D8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t69); /* 028624DC */ cpu->r[3] = cpu->r[20]; /* 028624E0 */ Gambit_fn_02869D1C(cpu); /* 028624E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u); /* 028624E8 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u); /* 028624E8 */ _t71 = _t70 & 0x00000001u; /* 028624E8 */ if (_t71) goto L_0286255C; else goto L_028624EC; L_028624EC: ; // 0x28624ec /* 028624EC */ goto L_02862534; L_028624F0: ; // 0x28624f0 /* 028624F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[26]); /* 028624F4 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u); /* 028624F4 */ _t73 = _t72 & 0x00000001u; /* 028624F4 */ if (_t73) goto L_028624F8; else goto L_02862520; L_028624F8: ; // 0x28624f8 /* 028624F8 */ cpu->f[1] = cpu->f[26] - cpu->f[28]; /* 028624FC */ cpu->f[2] = cpu->f[27] - cpu->f[26]; /* 02862500 */ Gambit_fn_02C8831C(cpu); /* 02862504 */ cpu->f[1] = cpu->f[27] - cpu->f[1]; /* 02862508 */ _t74 = cpu->r[21] + 0x00000004u; /* 02862508 */ cpu->r[4] = rbrew_read16(cpu->mem, _t74); /* 0286250C */ cpu->r[3] = cpu->r[20]; /* 02862510 */ Gambit_fn_02869D1C(cpu); /* 02862514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u); /* 02862518 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u); /* 02862518 */ _t76 = _t75 & 0x00000001u; /* 02862518 */ if (_t76) goto L_0286255C; else goto L_0286251C; L_0286251C: ; // 0x286251c /* 0286251C */ goto L_02862534; L_02862520: ; // 0x2862520 /* 02862520 */ cpu->f[1] = cpu->f[28]; L_02862524: ; // 0x2862524 /* 02862524 */ cpu->r[3] = cpu->r[20]; /* 02862528 */ Gambit_fn_02869D1C(cpu); /* 0286252C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u); /* 02862530 */ _t77 = cpu->cr[0] >> (0x00000002u & 31u); /* 02862530 */ _t78 = _t77 & 0x00000001u; /* 02862530 */ if (_t78) goto L_0286255C; else goto L_02862534; L_02862534: ; // 0x2862534 /* 02862534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u); /* 02862538 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862538 */ _t80 = _t79 & 0x00000001u; /* 02862538 */ if (_t80) goto L_0286253C; else goto L_02862540; L_0286253C: ; // 0x286253c /* 0286253C */ cpu->f[1] = -cpu->f[1]; L_02862540: ; // 0x2862540 /* 02862540 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02862544 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02862544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02862548 */ cpu->r[11] = cpu->r[22] + cpu->r[0]; /* 0286254C */ cpu->r[26] = cpu->r[26] + 0x00000008u; /* 02862550 */ _t81 = cpu->r[11] + 0x00000018u; /* 02862550 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[1]); /* 02862554 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862554 */ _t83 = _t82 & 0x00000001u; /* 02862554 */ if (_t83) goto L_02862558; else goto L_02862660; L_02862558: ; // 0x2862558 /* 02862558 */ goto L_02862668; L_0286255C: ; // 0x286255c /* 0286255C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000005u); /* 02862560 */ _t84 = cpu->cr[0] >> (0x00000002u & 31u); /* 02862560 */ _t85 = _t84 & 0x00000001u; /* 02862560 */ if (_t85) goto L_0286261C; else goto L_02862564; L_02862564: ; // 0x2862564 /* 02862564 */ cpu->r[0] = cpu->r[29] + 0xFFFFFFFDu; /* 02862568 */ cpu->r[12] = cpu->r[22] + 0x0000000Cu; /* 0286256C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02862570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000004u); /* 02862574 */ cpu->r[20] = cpu->r[22] + cpu->r[0]; /* 02862578 */ cpu->r[21] = cpu->r[12] + cpu->r[0]; /* 0286257C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286257C */ _t87 = _t86 & 0x00000001u; /* 0286257C */ if (_t87) goto L_02862584; else goto L_02862580; L_02862580: ; // 0x2862580 /* 02862580 */ cpu->f[1] = -cpu->f[1]; L_02862584: ; // 0x2862584 /* 02862584 */ cpu->r[5] = 0x10130000u; /* 02862588 */ cpu->r[4] = 0x10130000u; /* 0286258C */ _t88 = cpu->r[5] + 0x00005168u; /* 0286258C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t88); /* 02862590 */ cpu->r[29] = 0x43300000u; /* 02862594 */ _t89 = cpu->r[4] + 0x00000800u; /* 02862594 */ cpu->r[4] = rbrew_read32(cpu->mem, _t89); /* 02862598 */ _t90 = cpu->r[1] + 0x00000008u; /* 02862598 */ rbrew_write32(cpu->mem, _t90, cpu->r[29]); /* 0286259C */ _t91 = cpu->r[1] + 0x0000000Cu; /* 0286259C */ rbrew_write32(cpu->mem, _t91, cpu->r[4]); /* 028625A0 */ _t92 = cpu->r[1] + 0x00000008u; /* 028625A0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t92); /* 028625A4 */ cpu->f[13] = cpu->f[11] - cpu->f[12]; /* 028625A8 */ cpu->r[12] = 0x10130000u; /* 028625AC */ cpu->f[0] = (double)(float)cpu->f[13]; /* 028625B0 */ _t93 = cpu->r[12] + 0x00005174u; /* 028625B0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t93); /* 028625B4 */ cpu->f[0] = cpu->f[0] / cpu->f[7]; /* 028625B8 */ cpu->f[1] = cpu->f[1] * cpu->f[0]; /* 028625BC */ Gambit_fn_02C898C4(cpu); /* 028625C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000001Fu); /* 028625C4 */ _t94 = cpu->r[1] + 0x00000008u; /* 028625C4 */ rbrew_write32(cpu->mem, _t94, cpu->r[29]); /* 028625C8 */ _t95 = cpu->r[1] + 0x0000000Cu; /* 028625C8 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]); /* 028625CC */ cpu->r[6] = 0x10130000u; /* 028625D0 */ _t96 = cpu->r[1] + 0x00000008u; /* 028625D0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t96); /* 028625D4 */ _t97 = cpu->r[6] + 0x00005168u; /* 028625D4 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t97); /* 028625D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu); /* 028625DC */ cpu->f[6] = cpu->f[0] - cpu->f[11]; /* 028625E0 */ cpu->r[9] = cpu->r[30] + cpu->r[10]; /* 028625E4 */ cpu->f[11] = (double)(float)cpu->f[6]; /* 028625E8 */ _t98 = cpu->r[9] + 0x00000004u; /* 028625E8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t98); /* 028625EC */ cpu->f[9] = cpu->f[11] * cpu->f[29]; /* 028625F0 */ _t99 = cpu->r[9] + 0x00000000u; /* 028625F0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t99); /* 028625F4 */ cpu->f[10] = fma(cpu->f[8], cpu->f[9], cpu->f[7]); /* 028625F8 */ _t100 = cpu->r[21] + 0x00000000u; /* 028625F8 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[10]); /* 028625FC */ _t101 = cpu->r[9] + 0x0000000Cu; /* 028625FC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t101); /* 02862600 */ _t102 = cpu->r[9] + 0x00000008u; /* 02862600 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t102); /* 02862604 */ cpu->f[12] = fma(cpu->f[8], cpu->f[9], cpu->f[13]); /* 02862608 */ cpu->r[26] = cpu->r[26] + 0x00000008u; /* 0286260C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 0286260C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02862610 */ _t103 = cpu->r[20] + 0x00000000u; /* 02862610 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[12]); /* 02862614 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862614 */ _t105 = _t104 & 0x00000001u; /* 02862614 */ if (_t105) goto L_02862618; else goto L_02862660; L_02862618: ; // 0x2862618 /* 02862618 */ goto L_02862668; L_0286261C: ; // 0x286261c /* 0286261C */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[1]; /* 02862620 */ cpu->r[4] = cpu->r[22] + cpu->r[29]; /* 02862624 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 02862628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000009u); /* 0286262C */ /* nop */ /* 02862630 */ _t106 = cpu->cr[0] >> (0x00000002u & 31u); /* 02862630 */ _t107 = _t106 & 0x00000001u; /* 02862630 */ if (_t107) goto L_0286264C; else goto L_02862634; L_02862634: ; // 0x2862634 /* 02862634 */ _t108 = cpu->r[1] + 0x0000000Bu; /* 02862634 */ cpu->r[0] = rbrew_read8(cpu->mem, _t108); /* 02862638 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02862638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0286263C */ cpu->r[26] = cpu->r[26] + 0x00000008u; /* 02862640 */ _t109 = cpu->r[4] + 0x0000001Eu; /* 02862640 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[0]); /* 02862644 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862644 */ _t111 = _t110 & 0x00000001u; /* 02862644 */ if (_t111) goto L_02862648; else goto L_02862660; L_02862648: ; // 0x2862648 /* 02862648 */ goto L_02862668; L_0286264C: ; // 0x286264c /* 0286264C */ _t112 = cpu->r[1] + 0x0000000Bu; /* 0286264C */ cpu->r[0] = rbrew_read8(cpu->mem, _t112); /* 02862650 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu; /* 02862650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02862654 */ cpu->r[26] = cpu->r[26] + 0x00000008u; /* 02862658 */ _t113 = cpu->r[4] + 0x0000001Eu; /* 02862658 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[0]); /* 0286265C */ _t114 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286265C */ _t115 = _t114 & 0x00000001u; /* 0286265C */ if (_t115) goto L_02862668; else goto L_02862660; L_02862660: ; // 0x2862660 /* 02862660 */ _t116 = cpu->r[28] + 0x000000FCu; /* 02862660 */ cpu->r[9] = rbrew_read32(cpu->mem, _t116); /* 02862664 */ goto L_02862478; L_02862668: ; // 0x2862668 /* 02862668 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 02862668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0286266C */ cpu->r[23] = cpu->r[23] + 0x00000001u; /* 02862670 */ cpu->r[27] = cpu->r[27] + 0x0000002Cu; /* 02862674 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862674 */ _t118 = _t117 & 0x00000001u; /* 02862674 */ if (_t118) goto L_028623A4; else goto L_02862678; L_02862678: ; // 0x2862678 /* 02862678 */ _t119 = cpu->r[28] + 0x000000FCu; /* 02862678 */ cpu->r[9] = rbrew_read32(cpu->mem, _t119); /* 0286267C */ goto L_02862438; } // fn_02862680 @ 0x2862680 void Gambit_fn_02862680(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73; L_02862680: ; // 0x2862680 /* 02862680 */ cpu->r[0] = cpu->lr; /* 02862684 */ _t0 = cpu->r[1] + 0xFFFFFF88u; /* 02862684 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862684 */ cpu->r[1] = _t0; /* 02862688 */ _t1 = cpu->r[1] + 0x00000070u; /* 02862688 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0286268C */ _t2 = cpu->r[1] + 0x00000074u; /* 0286268C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02862690 */ cpu->r[31] = cpu->r[4]; /* 02862694 */ cpu->r[30] = cpu->r[3]; /* 02862698 */ _t3 = cpu->r[1] + 0x0000007Cu; /* 02862698 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0286269C */ Gambit_fn_0285FE58(cpu); /* 028626A0 */ _t4 = cpu->r[30] + 0x000000CEu; /* 028626A0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t4); /* 028626A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028626A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028626A8 */ _t6 = _t5 & 0x00000001u; /* 028626A8 */ if (_t6) goto L_02862848; else goto L_028626AC; L_028626AC: ; // 0x28626ac /* 028626AC */ _t7 = cpu->r[30] + 0x000000B4u; /* 028626AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 028626B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028626B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028626B4 */ _t9 = _t8 & 0x00000001u; /* 028626B4 */ if (_t9) goto L_02862848; else goto L_028626B8; L_028626B8: ; // 0x28626b8 /* 028626B8 */ _t10 = cpu->r[30] + 0x000000F4u; /* 028626B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028626BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028626C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028626C0 */ _t12 = _t11 & 0x00000001u; /* 028626C0 */ if (_t12) goto L_02862848; else goto L_028626C4; L_028626C4: ; // 0x28626c4 /* 028626C4 */ _t13 = cpu->r[30] + 0x000000D0u; /* 028626C4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13); /* 028626C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Au); /* 028626C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028626CC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028626CC */ _t15 = _t14 & 0x00000001u; /* 028626CC */ if (_t15) goto L_028626E8; else goto L_028626D0; L_028626D0: ; // 0x28626d0 /* 028626D0 */ _t16 = cpu->r[30] + 0x000000F8u; /* 028626D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 028626D4 */ cpu->r[12] = 0x00000000u; /* 028626D8 */ _t17 = cpu->r[11] + 0x00000011u; /* 028626D8 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]); /* 028626DC */ _t18 = cpu->r[30] + 0x000000D0u; /* 028626DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t18); /* 028626E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x00000019u); /* 028626E4 */ _t19 = cpu->r[30] + 0x000000D0u; /* 028626E4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]); L_028626E8: ; // 0x28626e8 /* 028626E8 */ _t20 = cpu->r[30] + 0x000000F8u; /* 028626E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 028626EC */ _t21 = cpu->r[12] + 0x00000011u; /* 028626EC */ cpu->r[5] = rbrew_read8(cpu->mem, _t21); /* 028626F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028626F4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028626F4 */ _t23 = _t22 & 0x00000001u; /* 028626F4 */ if (_t23) goto L_028626F8; else goto L_02862848; L_028626F8: ; // 0x28626f8 /* 028626F8 */ _t24 = cpu->r[12] + 0x00000010u; /* 028626F8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t24); /* 028626FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02862700 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862700 */ _t26 = _t25 & 0x00000001u; /* 02862700 */ if (_t26) goto L_02862720; else goto L_02862704; L_02862704: ; // 0x2862704 /* 02862704 */ _t27 = cpu->r[31] + 0x00000018u; /* 02862704 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27); /* 02862708 */ _t28 = cpu->r[12] + 0x00000000u; /* 02862708 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28); /* 0286270C */ _t29 = cpu->r[5] + 0x00000030u; /* 0286270C */ cpu->r[7] = rbrew_read32(cpu->mem, _t29); /* 02862710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]); /* 02862714 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 02862714 */ _t31 = _t30 & 0x00000001u; /* 02862714 */ if (_t31) goto L_02862848; else goto L_02862718; L_02862718: ; // 0x2862718 /* 02862718 */ _t32 = cpu->r[5] + 0x00000034u; /* 02862718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0286271C */ _t33 = cpu->r[12] + 0x0000000Cu; /* 0286271C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]); L_02862720: ; // 0x2862720 /* 02862720 */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 02862724 */ Gambit_fn_028586D8(cpu); /* 02862728 */ _t34 = cpu->r[30] + 0x00000008u; /* 02862728 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34); /* 0286272C */ _t35 = cpu->r[9] + 0x000000E4u; /* 0286272C */ cpu->r[10] = rbrew_read32(cpu->mem, _t35); /* 02862730 */ cpu->ctr = cpu->r[10]; /* 02862734 */ cpu->r[3] = cpu->r[30]; /* 02862738 */ cpu->r[4] = cpu->r[1] + 0x00000024u; /* 0286273C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02862740 */ _t36 = cpu->r[30] + 0x000000F8u; /* 02862740 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36); /* 02862744 */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 02862748 */ _t37 = cpu->r[1] + 0x00000050u; /* 02862748 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]); /* 0286274C */ Gambit_fn_02854BD8(cpu); /* 02862750 */ _t38 = cpu->r[30] + 0x000000CEu; /* 02862750 */ cpu->r[5] = rbrew_read16(cpu->mem, _t38); /* 02862754 */ _t39 = cpu->r[30] + 0x000000A4u; /* 02862754 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39); /* 02862758 */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 0286275C */ Gambit_fn_02859A44(cpu); /* 02862760 */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 02862764 */ Gambit_fn_02854BF0(cpu); /* 02862768 */ _t40 = cpu->r[30] + 0x000000D0u; /* 02862768 */ cpu->r[12] = rbrew_read8(cpu->mem, _t40); /* 0286276C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0286276C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862770 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862770 */ _t42 = _t41 & 0x00000001u; /* 02862770 */ if (_t42) goto L_02862784; else goto L_02862774; L_02862774: ; // 0x2862774 /* 02862774 */ cpu->r[3] = cpu->r[30]; /* 02862778 */ Gambit_fn_02862314(cpu); /* 0286277C */ _t43 = cpu->r[30] + 0x000000D0u; /* 0286277C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43); /* 02862780 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); L_02862784: ; // 0x2862784 /* 02862784 */ _t44 = cpu->r[30] + 0x000000D0u; /* 02862784 */ cpu->r[9] = rbrew_read8(cpu->mem, _t44); /* 02862788 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 02862788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0286278C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286278C */ _t46 = _t45 & 0x00000001u; /* 0286278C */ if (_t46) goto L_02862818; else goto L_02862790; L_02862790: ; // 0x2862790 /* 02862790 */ cpu->r[10] = 0xFFFFFFFFu; /* 02862794 */ cpu->r[6] = cpu->r[30] + 0x000000E8u; /* 02862798 */ _t47 = cpu->r[1] + 0x0000000Cu; /* 02862798 */ rbrew_write32(cpu->mem, _t47, cpu->r[10]); /* 0286279C */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 028627A0 */ _t48 = cpu->r[1] + 0x00000008u; /* 028627A0 */ rbrew_write32(cpu->mem, _t48, cpu->r[10]); /* 028627A4 */ /* nop */ /* 028627A8 */ cpu->r[9] = cpu->r[30] + 0x000000ECu; /* 028627AC */ /* nop */ /* 028627B0 */ /* nop */ /* 028627B4 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu; /* 028627B8 */ /* nop */ /* 028627BC */ _t49 = cpu->r[30] + 0x000000D8u; /* 028627BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t49); /* 028627C0 */ _t50 = cpu->r[30] + 0x000000B8u; /* 028627C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50); /* 028627C4 */ _t51 = cpu->r[30] + 0x000000E0u; /* 028627C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51); /* 028627C8 */ _t52 = cpu->r[30] + 0x000000F0u; /* 028627C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52); /* 028627CC */ _t53 = cpu->r[30] + 0x000000E4u; /* 028627CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t53); /* 028627D0 */ _t54 = cpu->r[1] + 0x00000010u; /* 028627D0 */ rbrew_write32(cpu->mem, _t54, cpu->r[6]); /* 028627D4 */ cpu->f[0] = cpu->f[13] * cpu->f[0]; /* 028627D8 */ _t55 = cpu->r[1] + 0x0000001Cu; /* 028627D8 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]); /* 028627DC */ _t56 = cpu->r[30] + 0x000000DCu; /* 028627DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 028627E0 */ _t57 = cpu->r[1] + 0x00000020u; /* 028627E0 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]); /* 028627E4 */ _t58 = cpu->r[1] + 0x00000014u; /* 028627E4 */ rbrew_write32(cpu->mem, _t58, cpu->r[7]); /* 028627E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028627EC */ _t59 = cpu->r[1] + 0x00000018u; /* 028627EC */ rbrew_write32(cpu->mem, _t59, cpu->r[9]); /* 028627F0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 028627F0 */ _t61 = _t60 & 0x00000001u; /* 028627F0 */ if (_t61) goto L_028627F4; else goto L_02862824; L_028627F4: ; // 0x28627f4 /* 028627F4 */ cpu->r[6] = 0x00000000u; /* 028627F8 */ _t62 = cpu->r[31] + 0x00000000u; /* 028627F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t62); /* 028627FC */ cpu->r[7] = cpu->r[6]; /* 02862800 */ _t63 = cpu->r[30] + 0x000000F8u; /* 02862800 */ cpu->r[4] = rbrew_read32(cpu->mem, _t63); /* 02862804 */ Gambit_fn_02855EB0(cpu); /* 02862808 */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 0286280C */ cpu->r[4] = 0x00000002u; /* 02862810 */ Gambit_fn_02858758(cpu); /* 02862814 */ goto L_02862848; L_02862818: ; // 0x2862818 /* 02862818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0286281C */ cpu->r[5] = 0x00000000u; /* 02862820 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862820 */ _t65 = _t64 & 0x00000001u; /* 02862820 */ if (_t65) goto L_028627F4; else goto L_02862824; L_02862824: ; // 0x2862824 /* 02862824 */ _t66 = cpu->r[30] + 0x000000FCu; /* 02862824 */ cpu->r[6] = rbrew_read32(cpu->mem, _t66); /* 02862828 */ _t67 = cpu->r[31] + 0x00000000u; /* 02862828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67); /* 0286282C */ _t68 = cpu->r[6] + 0x0000000Du; /* 0286282C */ cpu->r[7] = rbrew_read8(cpu->mem, _t68); /* 02862830 */ _t69 = cpu->r[30] + 0x000000F8u; /* 02862830 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69); /* 02862834 */ _t70 = cpu->r[6] + 0x00000008u; /* 02862834 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70); /* 02862838 */ Gambit_fn_02855EB0(cpu); /* 0286283C */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 02862840 */ cpu->r[4] = 0x00000002u; /* 02862844 */ Gambit_fn_02858758(cpu); L_02862848: ; // 0x2862848 /* 02862848 */ _t71 = cpu->r[1] + 0x0000007Cu; /* 02862848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71); /* 0286284C */ _t72 = cpu->r[1] + 0x00000070u; /* 0286284C */ cpu->r[30] = rbrew_read32(cpu->mem, _t72); /* 02862850 */ cpu->lr = cpu->r[0]; /* 02862854 */ _t73 = cpu->r[1] + 0x00000074u; /* 02862854 */ cpu->r[31] = rbrew_read32(cpu->mem, _t73); /* 02862858 */ cpu->r[1] = cpu->r[1] + 0x00000078u; /* 0286285C */ return; } // fn_02862684 @ 0x2862684 void Gambit_fn_02862684(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73; L_02862684: ; // 0x2862684 /* 02862684 */ _t0 = cpu->r[1] + 0xFFFFFF88u; /* 02862684 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862684 */ cpu->r[1] = _t0; /* 02862688 */ _t1 = cpu->r[1] + 0x00000070u; /* 02862688 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0286268C */ _t2 = cpu->r[1] + 0x00000074u; /* 0286268C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02862690 */ cpu->r[31] = cpu->r[4]; /* 02862694 */ cpu->r[30] = cpu->r[3]; /* 02862698 */ _t3 = cpu->r[1] + 0x0000007Cu; /* 02862698 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0286269C */ Gambit_fn_0285FE58(cpu); /* 028626A0 */ _t4 = cpu->r[30] + 0x000000CEu; /* 028626A0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t4); /* 028626A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028626A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028626A8 */ _t6 = _t5 & 0x00000001u; /* 028626A8 */ if (_t6) goto L_02862848; else goto L_028626AC; L_028626AC: ; // 0x28626ac /* 028626AC */ _t7 = cpu->r[30] + 0x000000B4u; /* 028626AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 028626B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 028626B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028626B4 */ _t9 = _t8 & 0x00000001u; /* 028626B4 */ if (_t9) goto L_02862848; else goto L_028626B8; L_028626B8: ; // 0x28626b8 /* 028626B8 */ _t10 = cpu->r[30] + 0x000000F4u; /* 028626B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 028626BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028626C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028626C0 */ _t12 = _t11 & 0x00000001u; /* 028626C0 */ if (_t12) goto L_02862848; else goto L_028626C4; L_028626C4: ; // 0x28626c4 /* 028626C4 */ _t13 = cpu->r[30] + 0x000000D0u; /* 028626C4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13); /* 028626C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Au); /* 028626C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 028626CC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028626CC */ _t15 = _t14 & 0x00000001u; /* 028626CC */ if (_t15) goto L_028626E8; else goto L_028626D0; L_028626D0: ; // 0x28626d0 /* 028626D0 */ _t16 = cpu->r[30] + 0x000000F8u; /* 028626D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 028626D4 */ cpu->r[12] = 0x00000000u; /* 028626D8 */ _t17 = cpu->r[11] + 0x00000011u; /* 028626D8 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]); /* 028626DC */ _t18 = cpu->r[30] + 0x000000D0u; /* 028626DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t18); /* 028626E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x00000019u); /* 028626E4 */ _t19 = cpu->r[30] + 0x000000D0u; /* 028626E4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]); L_028626E8: ; // 0x28626e8 /* 028626E8 */ _t20 = cpu->r[30] + 0x000000F8u; /* 028626E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 028626EC */ _t21 = cpu->r[12] + 0x00000011u; /* 028626EC */ cpu->r[5] = rbrew_read8(cpu->mem, _t21); /* 028626F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 028626F4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028626F4 */ _t23 = _t22 & 0x00000001u; /* 028626F4 */ if (_t23) goto L_028626F8; else goto L_02862848; L_028626F8: ; // 0x28626f8 /* 028626F8 */ _t24 = cpu->r[12] + 0x00000010u; /* 028626F8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t24); /* 028626FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02862700 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862700 */ _t26 = _t25 & 0x00000001u; /* 02862700 */ if (_t26) goto L_02862720; else goto L_02862704; L_02862704: ; // 0x2862704 /* 02862704 */ _t27 = cpu->r[31] + 0x00000018u; /* 02862704 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27); /* 02862708 */ _t28 = cpu->r[12] + 0x00000000u; /* 02862708 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28); /* 0286270C */ _t29 = cpu->r[5] + 0x00000030u; /* 0286270C */ cpu->r[7] = rbrew_read32(cpu->mem, _t29); /* 02862710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]); /* 02862714 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 02862714 */ _t31 = _t30 & 0x00000001u; /* 02862714 */ if (_t31) goto L_02862848; else goto L_02862718; L_02862718: ; // 0x2862718 /* 02862718 */ _t32 = cpu->r[5] + 0x00000034u; /* 02862718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0286271C */ _t33 = cpu->r[12] + 0x0000000Cu; /* 0286271C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]); L_02862720: ; // 0x2862720 /* 02862720 */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 02862724 */ Gambit_fn_028586D8(cpu); /* 02862728 */ _t34 = cpu->r[30] + 0x00000008u; /* 02862728 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34); /* 0286272C */ _t35 = cpu->r[9] + 0x000000E4u; /* 0286272C */ cpu->r[10] = rbrew_read32(cpu->mem, _t35); /* 02862730 */ cpu->ctr = cpu->r[10]; /* 02862734 */ cpu->r[3] = cpu->r[30]; /* 02862738 */ cpu->r[4] = cpu->r[1] + 0x00000024u; /* 0286273C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02862740 */ _t36 = cpu->r[30] + 0x000000F8u; /* 02862740 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36); /* 02862744 */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 02862748 */ _t37 = cpu->r[1] + 0x00000050u; /* 02862748 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]); /* 0286274C */ Gambit_fn_02854BD8(cpu); /* 02862750 */ _t38 = cpu->r[30] + 0x000000CEu; /* 02862750 */ cpu->r[5] = rbrew_read16(cpu->mem, _t38); /* 02862754 */ _t39 = cpu->r[30] + 0x000000A4u; /* 02862754 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39); /* 02862758 */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 0286275C */ Gambit_fn_02859A44(cpu); /* 02862760 */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 02862764 */ Gambit_fn_02854BF0(cpu); /* 02862768 */ _t40 = cpu->r[30] + 0x000000D0u; /* 02862768 */ cpu->r[12] = rbrew_read8(cpu->mem, _t40); /* 0286276C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0286276C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862770 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862770 */ _t42 = _t41 & 0x00000001u; /* 02862770 */ if (_t42) goto L_02862784; else goto L_02862774; L_02862774: ; // 0x2862774 /* 02862774 */ cpu->r[3] = cpu->r[30]; /* 02862778 */ Gambit_fn_02862314(cpu); /* 0286277C */ _t43 = cpu->r[30] + 0x000000D0u; /* 0286277C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43); /* 02862780 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); L_02862784: ; // 0x2862784 /* 02862784 */ _t44 = cpu->r[30] + 0x000000D0u; /* 02862784 */ cpu->r[9] = rbrew_read8(cpu->mem, _t44); /* 02862788 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 02862788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0286278C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286278C */ _t46 = _t45 & 0x00000001u; /* 0286278C */ if (_t46) goto L_02862818; else goto L_02862790; L_02862790: ; // 0x2862790 /* 02862790 */ cpu->r[10] = 0xFFFFFFFFu; /* 02862794 */ cpu->r[6] = cpu->r[30] + 0x000000E8u; /* 02862798 */ _t47 = cpu->r[1] + 0x0000000Cu; /* 02862798 */ rbrew_write32(cpu->mem, _t47, cpu->r[10]); /* 0286279C */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 028627A0 */ _t48 = cpu->r[1] + 0x00000008u; /* 028627A0 */ rbrew_write32(cpu->mem, _t48, cpu->r[10]); /* 028627A4 */ /* nop */ /* 028627A8 */ cpu->r[9] = cpu->r[30] + 0x000000ECu; /* 028627AC */ /* nop */ /* 028627B0 */ /* nop */ /* 028627B4 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu; /* 028627B8 */ /* nop */ /* 028627BC */ _t49 = cpu->r[30] + 0x000000D8u; /* 028627BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t49); /* 028627C0 */ _t50 = cpu->r[30] + 0x000000B8u; /* 028627C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50); /* 028627C4 */ _t51 = cpu->r[30] + 0x000000E0u; /* 028627C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51); /* 028627C8 */ _t52 = cpu->r[30] + 0x000000F0u; /* 028627C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52); /* 028627CC */ _t53 = cpu->r[30] + 0x000000E4u; /* 028627CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t53); /* 028627D0 */ _t54 = cpu->r[1] + 0x00000010u; /* 028627D0 */ rbrew_write32(cpu->mem, _t54, cpu->r[6]); /* 028627D4 */ cpu->f[0] = cpu->f[13] * cpu->f[0]; /* 028627D8 */ _t55 = cpu->r[1] + 0x0000001Cu; /* 028627D8 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]); /* 028627DC */ _t56 = cpu->r[30] + 0x000000DCu; /* 028627DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 028627E0 */ _t57 = cpu->r[1] + 0x00000020u; /* 028627E0 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]); /* 028627E4 */ _t58 = cpu->r[1] + 0x00000014u; /* 028627E4 */ rbrew_write32(cpu->mem, _t58, cpu->r[7]); /* 028627E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028627EC */ _t59 = cpu->r[1] + 0x00000018u; /* 028627EC */ rbrew_write32(cpu->mem, _t59, cpu->r[9]); /* 028627F0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 028627F0 */ _t61 = _t60 & 0x00000001u; /* 028627F0 */ if (_t61) goto L_028627F4; else goto L_02862824; L_028627F4: ; // 0x28627f4 /* 028627F4 */ cpu->r[6] = 0x00000000u; /* 028627F8 */ _t62 = cpu->r[31] + 0x00000000u; /* 028627F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t62); /* 028627FC */ cpu->r[7] = cpu->r[6]; /* 02862800 */ _t63 = cpu->r[30] + 0x000000F8u; /* 02862800 */ cpu->r[4] = rbrew_read32(cpu->mem, _t63); /* 02862804 */ Gambit_fn_02855EB0(cpu); /* 02862808 */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 0286280C */ cpu->r[4] = 0x00000002u; /* 02862810 */ Gambit_fn_02858758(cpu); /* 02862814 */ goto L_02862848; L_02862818: ; // 0x2862818 /* 02862818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0286281C */ cpu->r[5] = 0x00000000u; /* 02862820 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862820 */ _t65 = _t64 & 0x00000001u; /* 02862820 */ if (_t65) goto L_028627F4; else goto L_02862824; L_02862824: ; // 0x2862824 /* 02862824 */ _t66 = cpu->r[30] + 0x000000FCu; /* 02862824 */ cpu->r[6] = rbrew_read32(cpu->mem, _t66); /* 02862828 */ _t67 = cpu->r[31] + 0x00000000u; /* 02862828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67); /* 0286282C */ _t68 = cpu->r[6] + 0x0000000Du; /* 0286282C */ cpu->r[7] = rbrew_read8(cpu->mem, _t68); /* 02862830 */ _t69 = cpu->r[30] + 0x000000F8u; /* 02862830 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69); /* 02862834 */ _t70 = cpu->r[6] + 0x00000008u; /* 02862834 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70); /* 02862838 */ Gambit_fn_02855EB0(cpu); /* 0286283C */ cpu->r[3] = cpu->r[1] + 0x00000024u; /* 02862840 */ cpu->r[4] = 0x00000002u; /* 02862844 */ Gambit_fn_02858758(cpu); L_02862848: ; // 0x2862848 /* 02862848 */ _t71 = cpu->r[1] + 0x0000007Cu; /* 02862848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71); /* 0286284C */ _t72 = cpu->r[1] + 0x00000070u; /* 0286284C */ cpu->r[30] = rbrew_read32(cpu->mem, _t72); /* 02862850 */ cpu->lr = cpu->r[0]; /* 02862854 */ _t73 = cpu->r[1] + 0x00000074u; /* 02862854 */ cpu->r[31] = rbrew_read32(cpu->mem, _t73); /* 02862858 */ cpu->r[1] = cpu->r[1] + 0x00000078u; /* 0286285C */ return; } // fn_02862860 @ 0x2862860 void Gambit_fn_02862860(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38; L_02862860: ; // 0x2862860 /* 02862860 */ cpu->r[0] = cpu->lr; /* 02862864 */ _t0 = cpu->r[1] + 0x00000004u; /* 02862864 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02862868 */ _t1 = cpu->r[1] + 0xFFFFFF98u; /* 02862868 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02862868 */ cpu->r[1] = _t1; /* 0286286C */ _t2 = cpu->r[5] + 0x00000010u; /* 0286286C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2); /* 02862870 */ _t3 = cpu->r[5] + 0x00000004u; /* 02862870 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 02862874 */ _t4 = cpu->r[1] + 0x00000018u; /* 02862874 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]); /* 02862878 */ _t5 = cpu->r[5] + 0x00000000u; /* 02862878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0286287C */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0286287C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]); /* 02862880 */ _t7 = cpu->r[1] + 0x00000008u; /* 02862880 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 02862884 */ _t8 = cpu->r[5] + 0x00000018u; /* 02862884 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8); /* 02862888 */ _t9 = cpu->r[5] + 0x00000008u; /* 02862888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 0286288C */ _t10 = cpu->r[1] + 0x00000020u; /* 0286288C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]); /* 02862890 */ _t11 = cpu->r[5] + 0x0000001Cu; /* 02862890 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t11); /* 02862894 */ _t12 = cpu->r[5] + 0x00000014u; /* 02862894 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12); /* 02862898 */ _t13 = cpu->r[1] + 0x00000024u; /* 02862898 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[8]); /* 0286289C */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0286289C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]); /* 028628A0 */ _t15 = cpu->r[5] + 0x0000002Cu; /* 028628A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t15); /* 028628A4 */ _t16 = cpu->r[5] + 0x00000030u; /* 028628A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16); /* 028628A8 */ _t17 = cpu->r[1] + 0x00000034u; /* 028628A8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[10]); /* 028628AC */ _t18 = cpu->r[1] + 0x00000030u; /* 028628AC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]); /* 028628B0 */ _t19 = cpu->r[5] + 0x00000034u; /* 028628B0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19); /* 028628B4 */ _t20 = cpu->r[1] + 0x00000038u; /* 028628B4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]); /* 028628B8 */ _t21 = cpu->r[1] + 0x0000004Cu; /* 028628B8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]); /* 028628BC */ _t22 = cpu->r[5] + 0x0000004Cu; /* 028628BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t22); /* 028628C0 */ _t23 = cpu->r[5] + 0x0000003Cu; /* 028628C0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t23); /* 028628C4 */ _t24 = cpu->r[1] + 0x00000054u; /* 028628C4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[9]); /* 028628C8 */ _t25 = cpu->r[1] + 0x00000044u; /* 028628C8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[7]); /* 028628CC */ _t26 = cpu->r[1] + 0x00000028u; /* 028628CC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]); /* 028628D0 */ _t27 = cpu->r[5] + 0x00000038u; /* 028628D0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t27); /* 028628D4 */ _t28 = cpu->r[1] + 0x00000048u; /* 028628D4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[11]); /* 028628D8 */ _t29 = cpu->r[1] + 0x00000040u; /* 028628D8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[8]); /* 028628DC */ _t30 = cpu->r[1] + 0x00000010u; /* 028628DC */ rbrew_write32(cpu->mem, _t30, cpu->r[12]); /* 028628E0 */ _t31 = cpu->r[5] + 0x00000050u; /* 028628E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 028628E4 */ _t32 = cpu->r[1] + 0x0000002Cu; /* 028628E4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]); /* 028628E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 028628EC */ _t33 = cpu->r[5] + 0x0000000Cu; /* 028628EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 028628F0 */ _t34 = cpu->r[1] + 0x00000058u; /* 028628F0 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]); /* 028628F4 */ _t35 = cpu->r[1] + 0x00000014u; /* 028628F4 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]); /* 028628F8 */ cpu->r[3] = cpu->r[4]; /* 028628FC */ _t36 = cpu->r[1] + 0x00000050u; /* 028628FC */ rbrew_write_f32(cpu->mem, _t36, cpu->f[8]); /* 02862900 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02862904 */ _t37 = cpu->r[1] + 0x0000003Cu; /* 02862904 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[10]); /* 02862908 */ Gambit_fn_02856FCC(cpu); /* 0286290C */ _t38 = cpu->r[1] + 0x0000006Cu; /* 0286290C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 02862910 */ cpu->lr = cpu->r[0]; /* 02862914 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 02862918 */ return; } // fn_02862868 @ 0x2862868 void Gambit_fn_02862868(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37; L_02862868: ; // 0x2862868 /* 02862868 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 02862868 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862868 */ cpu->r[1] = _t0; /* 0286286C */ _t1 = cpu->r[5] + 0x00000010u; /* 0286286C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1); /* 02862870 */ _t2 = cpu->r[5] + 0x00000004u; /* 02862870 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 02862874 */ _t3 = cpu->r[1] + 0x00000018u; /* 02862874 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]); /* 02862878 */ _t4 = cpu->r[5] + 0x00000000u; /* 02862878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0286287C */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0286287C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 02862880 */ _t6 = cpu->r[1] + 0x00000008u; /* 02862880 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02862884 */ _t7 = cpu->r[5] + 0x00000018u; /* 02862884 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7); /* 02862888 */ _t8 = cpu->r[5] + 0x00000008u; /* 02862888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 0286288C */ _t9 = cpu->r[1] + 0x00000020u; /* 0286288C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]); /* 02862890 */ _t10 = cpu->r[5] + 0x0000001Cu; /* 02862890 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t10); /* 02862894 */ _t11 = cpu->r[5] + 0x00000014u; /* 02862894 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11); /* 02862898 */ _t12 = cpu->r[1] + 0x00000024u; /* 02862898 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[8]); /* 0286289C */ _t13 = cpu->r[1] + 0x0000001Cu; /* 0286289C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]); /* 028628A0 */ _t14 = cpu->r[5] + 0x0000002Cu; /* 028628A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14); /* 028628A4 */ _t15 = cpu->r[5] + 0x00000030u; /* 028628A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15); /* 028628A8 */ _t16 = cpu->r[1] + 0x00000034u; /* 028628A8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[10]); /* 028628AC */ _t17 = cpu->r[1] + 0x00000030u; /* 028628AC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]); /* 028628B0 */ _t18 = cpu->r[5] + 0x00000034u; /* 028628B0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18); /* 028628B4 */ _t19 = cpu->r[1] + 0x00000038u; /* 028628B4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]); /* 028628B8 */ _t20 = cpu->r[1] + 0x0000004Cu; /* 028628B8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]); /* 028628BC */ _t21 = cpu->r[5] + 0x0000004Cu; /* 028628BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t21); /* 028628C0 */ _t22 = cpu->r[5] + 0x0000003Cu; /* 028628C0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t22); /* 028628C4 */ _t23 = cpu->r[1] + 0x00000054u; /* 028628C4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[9]); /* 028628C8 */ _t24 = cpu->r[1] + 0x00000044u; /* 028628C8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[7]); /* 028628CC */ _t25 = cpu->r[1] + 0x00000028u; /* 028628CC */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]); /* 028628D0 */ _t26 = cpu->r[5] + 0x00000038u; /* 028628D0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t26); /* 028628D4 */ _t27 = cpu->r[1] + 0x00000048u; /* 028628D4 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]); /* 028628D8 */ _t28 = cpu->r[1] + 0x00000040u; /* 028628D8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[8]); /* 028628DC */ _t29 = cpu->r[1] + 0x00000010u; /* 028628DC */ rbrew_write32(cpu->mem, _t29, cpu->r[12]); /* 028628E0 */ _t30 = cpu->r[5] + 0x00000050u; /* 028628E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30); /* 028628E4 */ _t31 = cpu->r[1] + 0x0000002Cu; /* 028628E4 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]); /* 028628E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 028628EC */ _t32 = cpu->r[5] + 0x0000000Cu; /* 028628EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 028628F0 */ _t33 = cpu->r[1] + 0x00000058u; /* 028628F0 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]); /* 028628F4 */ _t34 = cpu->r[1] + 0x00000014u; /* 028628F4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]); /* 028628F8 */ cpu->r[3] = cpu->r[4]; /* 028628FC */ _t35 = cpu->r[1] + 0x00000050u; /* 028628FC */ rbrew_write_f32(cpu->mem, _t35, cpu->f[8]); /* 02862900 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02862904 */ _t36 = cpu->r[1] + 0x0000003Cu; /* 02862904 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[10]); /* 02862908 */ Gambit_fn_02856FCC(cpu); /* 0286290C */ _t37 = cpu->r[1] + 0x0000006Cu; /* 0286290C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 02862910 */ cpu->lr = cpu->r[0]; /* 02862914 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 02862918 */ return; } // fn_0286291C @ 0x286291c void Gambit_fn_0286291C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159; L_0286291C: ; // 0x286291c /* 0286291C */ cpu->r[0] = cpu->lr; /* 02862920 */ _t0 = cpu->r[1] + 0xFFFFFF58u; /* 02862920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862920 */ cpu->r[1] = _t0; /* 02862924 */ _t1 = cpu->r[1] + 0x0000009Cu; /* 02862924 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02862928 */ _t2 = cpu->r[1] + 0x000000A0u; /* 02862928 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0286292C */ _t3 = cpu->r[1] + 0x000000A4u; /* 0286292C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02862930 */ cpu->r[30] = cpu->r[3]; /* 02862934 */ _t4 = cpu->r[1] + 0x000000ACu; /* 02862934 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02862938 */ _t5 = cpu->r[30] + 0x000000CEu; /* 02862938 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 0286293C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862940 */ cpu->r[31] = cpu->r[4]; /* 02862944 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862944 */ _t7 = _t6 & 0x00000001u; /* 02862944 */ if (_t7) goto L_02862D98; else goto L_02862948; L_02862948: ; // 0x2862948 /* 02862948 */ _t8 = cpu->r[30] + 0x000000B4u; /* 02862948 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8); /* 0286294C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02862950 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862950 */ _t10 = _t9 & 0x00000001u; /* 02862950 */ if (_t10) goto L_02862D98; else goto L_02862954; L_02862954: ; // 0x2862954 /* 02862954 */ _t11 = cpu->r[30] + 0x000000F4u; /* 02862954 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 02862958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0286295C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286295C */ _t13 = _t12 & 0x00000001u; /* 0286295C */ if (_t13) goto L_02862D98; else goto L_02862960; L_02862960: ; // 0x2862960 /* 02862960 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu; /* 02862964 */ cpu->r[3] = cpu->r[30]; /* 02862968 */ Gambit_fn_028621F4(cpu); /* 0286296C */ _t14 = cpu->r[30] + 0x000000F8u; /* 0286296C */ cpu->r[5] = rbrew_read32(cpu->mem, _t14); /* 02862970 */ cpu->r[8] = 0x10130000u; /* 02862974 */ _t15 = cpu->r[1] + 0x00000014u; /* 02862974 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]); /* 02862978 */ cpu->r[9] = 0x10130000u; /* 0286297C */ _t16 = cpu->r[8] + 0x00005154u; /* 0286297C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16); /* 02862980 */ _t17 = cpu->r[9] + 0x00005150u; /* 02862980 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t17); /* 02862984 */ _t18 = cpu->r[1] + 0x00000058u; /* 02862984 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]); /* 02862988 */ _t19 = cpu->r[1] + 0x00000044u; /* 02862988 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]); /* 0286298C */ _t20 = cpu->r[1] + 0x00000020u; /* 0286298C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]); /* 02862990 */ _t21 = cpu->r[1] + 0x00000048u; /* 02862990 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]); /* 02862994 */ _t22 = cpu->r[1] + 0x00000024u; /* 02862994 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[10]); /* 02862998 */ _t23 = cpu->r[1] + 0x0000004Cu; /* 02862998 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[10]); /* 0286299C */ _t24 = cpu->r[1] + 0x00000028u; /* 0286299C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]); /* 028629A0 */ _t25 = cpu->r[1] + 0x0000002Cu; /* 028629A0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[10]); /* 028629A4 */ _t26 = cpu->r[1] + 0x00000010u; /* 028629A4 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]); /* 028629A8 */ cpu->r[5] = 0x101D0000u; /* 028629AC */ _t27 = cpu->r[1] + 0x0000005Cu; /* 028629AC */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]); /* 028629B0 */ cpu->r[7] = cpu->r[1] + 0x0000006Cu; /* 028629B4 */ _t28 = cpu->r[5] + 0xFFFFD554u; /* 028629B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28); /* 028629B4 */ cpu->r[5] = _t28; /* 028629B8 */ _t29 = cpu->r[1] + 0x00000054u; /* 028629B8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[12]); /* 028629BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028629C0 */ _t30 = cpu->r[1] + 0x00000034u; /* 028629C0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]); /* 028629C4 */ cpu->r[0] = 0x00000000u; /* 028629C8 */ _t31 = cpu->r[1] + 0x00000038u; /* 028629C8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]); /* 028629CC */ _t32 = cpu->r[1] + 0x00000018u; /* 028629CC */ rbrew_write32(cpu->mem, _t32, cpu->r[7]); /* 028629D0 */ _t33 = cpu->r[1] + 0x00000040u; /* 028629D0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]); /* 028629D4 */ _t34 = cpu->r[1] + 0x00000030u; /* 028629D4 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]); /* 028629D8 */ cpu->r[6] = 0x101D0000u; /* 028629DC */ _t35 = cpu->r[1] + 0x0000003Cu; /* 028629DC */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]); /* 028629E0 */ cpu->r[6] = cpu->r[6] + 0x00000EE4u; /* 028629E4 */ _t36 = cpu->r[1] + 0x00000050u; /* 028629E4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]); /* 028629E8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 028629E8 */ _t38 = _t37 & 0x00000001u; /* 028629E8 */ if (_t38) goto L_028629EC; else goto L_02862A24; L_028629EC: ; // 0x28629ec /* 028629EC */ _t39 = cpu->r[6] + 0x00000000u; /* 028629EC */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]); /* 028629F0 */ cpu->r[10] = 0x00000001u; /* 028629F4 */ _t40 = cpu->r[6] + 0x00000004u; /* 028629F4 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[10]); /* 028629F8 */ _t41 = cpu->r[5] + 0x00000000u; /* 028629F8 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]); /* 028629FC */ _t42 = cpu->r[6] + 0x00000008u; /* 028629FC */ rbrew_write_f32(cpu->mem, _t42, cpu->f[10]); /* 02862A00 */ _t43 = cpu->r[6] + 0x0000000Cu; /* 02862A00 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]); /* 02862A04 */ _t44 = cpu->r[6] + 0x00000010u; /* 02862A04 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[10]); /* 02862A08 */ _t45 = cpu->r[6] + 0x00000014u; /* 02862A08 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]); /* 02862A0C */ _t46 = cpu->r[6] + 0x00000018u; /* 02862A0C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[10]); /* 02862A10 */ _t47 = cpu->r[6] + 0x0000001Cu; /* 02862A10 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[10]); /* 02862A14 */ _t48 = cpu->r[6] + 0x00000020u; /* 02862A14 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[10]); /* 02862A18 */ _t49 = cpu->r[6] + 0x00000024u; /* 02862A18 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]); /* 02862A1C */ _t50 = cpu->r[6] + 0x00000028u; /* 02862A1C */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]); /* 02862A20 */ _t51 = cpu->r[6] + 0x0000002Cu; /* 02862A20 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[10]); L_02862A24: ; // 0x2862a24 /* 02862A24 */ _t52 = cpu->r[30] + 0x000000D0u; /* 02862A24 */ cpu->r[12] = rbrew_read8(cpu->mem, _t52); /* 02862A28 */ _t53 = cpu->r[1] + 0x0000001Cu; /* 02862A28 */ rbrew_write32(cpu->mem, _t53, cpu->r[6]); /* 02862A2C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Cu, 0x0000001Cu); /* 02862A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02862A30 */ _t54 = cpu->r[30] + 0x000000F4u; /* 02862A30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54); /* 02862A34 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862A34 */ _t56 = _t55 & 0x00000001u; /* 02862A34 */ if (_t56) goto L_02862A38; else goto L_02862A40; L_02862A38: ; // 0x2862a38 /* 02862A38 */ _t57 = cpu->r[1] + 0x00000060u; /* 02862A38 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]); /* 02862A3C */ goto L_02862A48; L_02862A40: ; // 0x2862a40 /* 02862A40 */ cpu->r[0] = 0x00000001u; /* 02862A44 */ _t58 = cpu->r[1] + 0x00000060u; /* 02862A44 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]); L_02862A48: ; // 0x2862a48 /* 02862A48 */ cpu->r[5] = 0x10130000u; /* 02862A4C */ /* nop */ /* 02862A50 */ cpu->r[6] = cpu->r[1] + 0x00000064u; /* 02862A54 */ _t59 = cpu->r[5] + 0x00005168u; /* 02862A54 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t59); /* 02862A58 */ /* nop */ /* 02862A5C */ cpu->r[0] = 0x43300000u; /* 02862A60 */ _t60 = cpu->r[3] + 0x00000000u; /* 02862A60 */ cpu->r[12] = rbrew_read8(cpu->mem, _t60); /* 02862A64 */ _t61 = cpu->r[1] + 0x00000008u; /* 02862A64 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]); /* 02862A68 */ _t62 = cpu->r[1] + 0x0000000Cu; /* 02862A68 */ rbrew_write32(cpu->mem, _t62, cpu->r[12]); /* 02862A6C */ _t63 = cpu->r[1] + 0x00000008u; /* 02862A6C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t63); /* 02862A70 */ _t64 = cpu->r[1] + 0x00000064u; /* 02862A70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64); /* 02862A74 */ cpu->f[0] = cpu->f[13] - cpu->f[9]; /* 02862A78 */ cpu->r[12] = 0x10130000u; /* 02862A7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000018u, 0x0000001Fu); /* 02862A80 */ _t65 = cpu->r[12] + 0x00005178u; /* 02862A80 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t65); /* 02862A84 */ cpu->f[8] = (double)(float)cpu->f[0]; /* 02862A88 */ _t66 = cpu->r[1] + 0x0000000Cu; /* 02862A88 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]); /* 02862A8C */ _t67 = cpu->r[1] + 0x00000008u; /* 02862A8C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t67); /* 02862A90 */ cpu->f[7] = cpu->f[13] - cpu->f[9]; /* 02862A94 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000018u, 0x0000001Fu); /* 02862A98 */ cpu->f[5] = cpu->f[8] / cpu->f[11]; /* 02862A9C */ _t68 = cpu->r[1] + 0x0000000Cu; /* 02862A9C */ rbrew_write32(cpu->mem, _t68, cpu->r[6]); /* 02862AA0 */ _t69 = cpu->r[1] + 0x00000008u; /* 02862AA0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t69); /* 02862AA4 */ _t70 = cpu->r[30] + 0x00000046u; /* 02862AA4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t70); /* 02862AA8 */ _t71 = cpu->r[1] + 0x0000000Cu; /* 02862AA8 */ rbrew_write32(cpu->mem, _t71, cpu->r[4]); /* 02862AAC */ _t72 = cpu->r[1] + 0x00000008u; /* 02862AAC */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t72); /* 02862AB0 */ cpu->f[13] = cpu->f[8] - cpu->f[9]; /* 02862AB4 */ cpu->f[8] = cpu->f[0] - cpu->f[9]; /* 02862AB8 */ cpu->f[0] = (double)(float)cpu->f[13]; /* 02862ABC */ cpu->f[8] = (double)(float)cpu->f[8]; /* 02862AC0 */ cpu->f[6] = (double)(float)cpu->f[7]; /* 02862AC4 */ cpu->f[8] = cpu->f[8] / cpu->f[11]; /* 02862AC8 */ cpu->f[13] = cpu->f[6] / cpu->f[11]; /* 02862ACC */ _t73 = cpu->r[1] + 0x00000028u; /* 02862ACC */ rbrew_write_f32(cpu->mem, _t73, cpu->f[8]); /* 02862AD0 */ cpu->f[7] = cpu->f[0] / cpu->f[11]; /* 02862AD4 */ _t74 = cpu->r[1] + 0x00000020u; /* 02862AD4 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[5]); /* 02862AD8 */ cpu->r[11] = cpu->r[3] + 0x00000004u; /* 02862ADC */ _t75 = cpu->r[1] + 0x00000024u; /* 02862ADC */ rbrew_write_f32(cpu->mem, _t75, cpu->f[13]); /* 02862AE0 */ _t76 = cpu->r[1] + 0x0000002Cu; /* 02862AE0 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[7]); /* 02862AE4 */ /* nop */ /* 02862AE8 */ cpu->r[7] = cpu->r[1] + 0x00000068u; /* 02862AEC */ /* nop */ /* 02862AF0 */ _t77 = cpu->r[3] + 0x00000004u; /* 02862AF0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t77); /* 02862AF4 */ _t78 = cpu->r[1] + 0x00000068u; /* 02862AF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78); /* 02862AF8 */ _t79 = cpu->r[1] + 0x0000000Cu; /* 02862AF8 */ rbrew_write32(cpu->mem, _t79, cpu->r[7]); /* 02862AFC */ _t80 = cpu->r[1] + 0x00000008u; /* 02862AFC */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t80); /* 02862B00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000018u, 0x0000001Fu); /* 02862B04 */ cpu->f[8] = cpu->f[7] - cpu->f[9]; /* 02862B08 */ _t81 = cpu->r[1] + 0x0000000Cu; /* 02862B08 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]); /* 02862B0C */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02862B10 */ _t82 = cpu->r[1] + 0x00000008u; /* 02862B10 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t82); /* 02862B14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000018u, 0x0000001Fu); /* 02862B18 */ cpu->f[13] = (double)(float)cpu->f[8]; /* 02862B1C */ cpu->f[13] = cpu->f[13] / cpu->f[11]; /* 02862B20 */ _t83 = cpu->r[1] + 0x0000000Cu; /* 02862B20 */ rbrew_write32(cpu->mem, _t83, cpu->r[8]); /* 02862B24 */ _t84 = cpu->r[1] + 0x00000008u; /* 02862B24 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t84); /* 02862B28 */ _t85 = cpu->r[1] + 0x0000000Cu; /* 02862B28 */ rbrew_write32(cpu->mem, _t85, cpu->r[5]); /* 02862B2C */ cpu->f[7] = cpu->f[0] - cpu->f[9]; /* 02862B30 */ _t86 = cpu->r[1] + 0x00000008u; /* 02862B30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t86); /* 02862B34 */ cpu->f[5] = cpu->f[8] - cpu->f[9]; /* 02862B38 */ _t87 = cpu->r[1] + 0x0000000Cu; /* 02862B38 */ rbrew_write32(cpu->mem, _t87, cpu->r[4]); /* 02862B3C */ cpu->f[6] = cpu->f[0] - cpu->f[9]; /* 02862B40 */ _t88 = cpu->r[1] + 0x00000008u; /* 02862B40 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t88); /* 02862B44 */ cpu->f[8] = cpu->f[0] - cpu->f[9]; /* 02862B48 */ cpu->f[0] = (double)(float)cpu->f[5]; /* 02862B4C */ cpu->f[9] = (double)(float)cpu->f[7]; /* 02862B50 */ cpu->f[6] = (double)(float)cpu->f[6]; /* 02862B54 */ cpu->f[7] = cpu->f[0] / cpu->f[11]; /* 02862B58 */ cpu->f[9] = cpu->f[9] / cpu->f[11]; /* 02862B5C */ _t89 = cpu->r[1] + 0x00000030u; /* 02862B5C */ rbrew_write_f32(cpu->mem, _t89, cpu->f[13]); /* 02862B60 */ cpu->f[13] = (double)(float)cpu->f[8]; /* 02862B64 */ cpu->f[8] = cpu->f[6] / cpu->f[11]; /* 02862B68 */ _t90 = cpu->r[1] + 0x00000034u; /* 02862B68 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[9]); /* 02862B6C */ cpu->f[9] = cpu->f[13] / cpu->f[11]; /* 02862B70 */ cpu->f[13] = cpu->f[8] * cpu->f[9]; /* 02862B74 */ _t91 = cpu->r[1] + 0x00000038u; /* 02862B74 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[7]); /* 02862B78 */ _t92 = cpu->r[1] + 0x0000003Cu; /* 02862B78 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[13]); /* 02862B7C */ _t93 = cpu->r[3] + 0x00000008u; /* 02862B7C */ cpu->r[0] = rbrew_read16(cpu->mem, _t93); /* 02862B80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02862B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862B84 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862B84 */ _t95 = _t94 & 0x00000001u; /* 02862B84 */ if (_t95) goto L_02862D0C; else goto L_02862B88; L_02862B88: ; // 0x2862b88 /* 02862B88 */ cpu->r[9] = 0x10130000u; /* 02862B8C */ _t96 = cpu->r[9] + 0x00005168u; /* 02862B8C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t96); /* 02862B90 */ _t97 = cpu->r[3] + 0x00000008u; /* 02862B90 */ cpu->r[29] = rbrew_read16(cpu->mem, _t97); /* 02862B94 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000012u, 0x0000001Eu, 0x0000001Fu); /* 02862B98 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000016u, 0x0000001Eu, 0x0000001Fu); /* 02862B9C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000001Cu); /* 02862BA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x0000001Au, 0x0000001Fu, 0x0000001Fu); /* 02862BA4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[29], 0x00000014u, 0x0000001Eu, 0x0000001Fu); /* 02862BA8 */ cpu->r[5] = cpu->r[12] + cpu->r[0]; /* 02862BAC */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02862BB0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000014u); /* 02862BB4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02862BB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 02862BBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000019u, 0x0000001Du, 0x0000001Fu); /* 02862BC0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02862BC4 */ cpu->r[8] = cpu->r[8] + cpu->r[12]; /* 02862BC8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000000Cu); /* 02862BCC */ cpu->r[11] = cpu->r[6] + cpu->r[8]; /* 02862BD0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x0000001Fu, 0x0000001Eu, 0x0000001Fu); /* 02862BD4 */ cpu->r[11] = cpu->r[11] + cpu->r[9]; /* 02862BD8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02862BDC */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000014u); /* 02862BE0 */ cpu->r[5] = cpu->r[11] + cpu->r[12]; /* 02862BE4 */ cpu->r[12] = cpu->r[5] + cpu->r[10]; /* 02862BE8 */ _t98 = cpu->r[3] + 0x0000000Cu; /* 02862BE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t98); /* 02862BEC */ cpu->r[7] = 0x43300000u; /* 02862BF0 */ cpu->r[9] = cpu->r[12] + cpu->r[9]; /* 02862BF4 */ _t99 = cpu->r[1] + 0x00000008u; /* 02862BF4 */ rbrew_write32(cpu->mem, _t99, cpu->r[7]); /* 02862BF8 */ cpu->r[5] = cpu->r[11] + cpu->r[9]; /* 02862BFC */ _t100 = cpu->r[11] + cpu->r[9]; /* 02862BFC */ cpu->r[7] = rbrew_read8(cpu->mem, _t100); /* 02862C00 */ _t101 = cpu->r[5] + 0x00000001u; /* 02862C00 */ cpu->r[8] = rbrew_read8(cpu->mem, _t101); /* 02862C04 */ _t102 = cpu->r[1] + 0x0000000Cu; /* 02862C04 */ rbrew_write32(cpu->mem, _t102, cpu->r[7]); /* 02862C08 */ _t103 = cpu->r[1] + 0x00000008u; /* 02862C08 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t103); /* 02862C0C */ _t104 = cpu->r[1] + 0x0000000Cu; /* 02862C0C */ rbrew_write32(cpu->mem, _t104, cpu->r[8]); /* 02862C10 */ cpu->f[0] = cpu->f[12] - cpu->f[13]; /* 02862C14 */ _t105 = cpu->r[1] + 0x00000008u; /* 02862C14 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t105); /* 02862C18 */ cpu->f[0] = (double)(float)cpu->f[0]; /* 02862C1C */ cpu->f[8] = cpu->f[7] - cpu->f[13]; /* 02862C20 */ _t106 = cpu->r[5] + 0x00000002u; /* 02862C20 */ cpu->r[9] = rbrew_read8(cpu->mem, _t106); /* 02862C24 */ cpu->f[7] = cpu->f[0] / cpu->f[11]; /* 02862C28 */ _t107 = cpu->r[1] + 0x0000000Cu; /* 02862C28 */ rbrew_write32(cpu->mem, _t107, cpu->r[9]); /* 02862C2C */ _t108 = cpu->r[1] + 0x00000008u; /* 02862C2C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t108); /* 02862C30 */ _t109 = cpu->r[1] + 0x0000000Cu; /* 02862C30 */ rbrew_write32(cpu->mem, _t109, cpu->r[4]); /* 02862C34 */ _t110 = cpu->r[1] + 0x00000008u; /* 02862C34 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t110); /* 02862C38 */ cpu->f[12] = cpu->f[10] - cpu->f[13]; /* 02862C3C */ cpu->f[10] = cpu->f[0] - cpu->f[13]; /* 02862C40 */ cpu->f[9] = (double)(float)cpu->f[8]; /* 02862C44 */ _t111 = cpu->r[1] + 0x00000040u; /* 02862C44 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[7]); /* 02862C48 */ cpu->f[7] = (double)(float)cpu->f[12]; /* 02862C4C */ cpu->f[9] = cpu->f[9] / cpu->f[11]; /* 02862C50 */ cpu->f[10] = (double)(float)cpu->f[10]; /* 02862C54 */ cpu->f[7] = cpu->f[7] / cpu->f[11]; /* 02862C58 */ cpu->f[0] = cpu->f[10] / cpu->f[11]; /* 02862C5C */ _t112 = cpu->r[1] + 0x0000004Cu; /* 02862C5C */ rbrew_write_f32(cpu->mem, _t112, cpu->f[7]); /* 02862C60 */ _t113 = cpu->r[1] + 0x00000044u; /* 02862C60 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[9]); /* 02862C64 */ _t114 = cpu->r[1] + 0x00000048u; /* 02862C64 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[0]); /* 02862C68 */ _t115 = cpu->r[5] + 0x00000003u; /* 02862C68 */ cpu->r[10] = rbrew_read8(cpu->mem, _t115); /* 02862C6C */ _t116 = cpu->r[5] + 0x00000004u; /* 02862C6C */ cpu->r[11] = rbrew_read8(cpu->mem, _t116); /* 02862C70 */ _t117 = cpu->r[1] + 0x0000000Cu; /* 02862C70 */ rbrew_write32(cpu->mem, _t117, cpu->r[10]); /* 02862C74 */ _t118 = cpu->r[1] + 0x00000008u; /* 02862C74 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t118); /* 02862C78 */ _t119 = cpu->r[1] + 0x0000000Cu; /* 02862C78 */ rbrew_write32(cpu->mem, _t119, cpu->r[11]); /* 02862C7C */ _t120 = cpu->r[5] + 0x00000005u; /* 02862C7C */ cpu->r[12] = rbrew_read8(cpu->mem, _t120); /* 02862C80 */ cpu->f[8] = cpu->f[0] - cpu->f[13]; /* 02862C84 */ _t121 = cpu->r[1] + 0x00000008u; /* 02862C84 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t121); /* 02862C88 */ cpu->f[7] = (double)(float)cpu->f[8]; /* 02862C8C */ _t122 = cpu->r[5] + 0x00000006u; /* 02862C8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t122); /* 02862C90 */ cpu->f[12] = cpu->f[10] - cpu->f[13]; /* 02862C94 */ _t123 = cpu->r[1] + 0x0000000Cu; /* 02862C94 */ rbrew_write32(cpu->mem, _t123, cpu->r[12]); /* 02862C98 */ cpu->f[6] = cpu->f[7] / cpu->f[11]; /* 02862C9C */ _t124 = cpu->r[1] + 0x00000008u; /* 02862C9C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t124); /* 02862CA0 */ _t125 = cpu->r[1] + 0x0000000Cu; /* 02862CA0 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]); /* 02862CA4 */ _t126 = cpu->r[1] + 0x00000008u; /* 02862CA4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t126); /* 02862CA8 */ cpu->f[7] = cpu->f[0] - cpu->f[13]; /* 02862CAC */ cpu->f[10] = cpu->f[8] - cpu->f[13]; /* 02862CB0 */ _t127 = cpu->r[1] + 0x0000000Cu; /* 02862CB0 */ rbrew_write32(cpu->mem, _t127, cpu->r[4]); /* 02862CB4 */ cpu->f[0] = (double)(float)cpu->f[7]; /* 02862CB8 */ _t128 = cpu->r[1] + 0x00000008u; /* 02862CB8 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t128); /* 02862CBC */ cpu->f[9] = (double)(float)cpu->f[12]; /* 02862CC0 */ cpu->f[12] = (double)(float)cpu->f[10]; /* 02862CC4 */ cpu->f[8] = cpu->f[7] - cpu->f[13]; /* 02862CC8 */ cpu->f[13] = cpu->f[9] / cpu->f[11]; /* 02862CCC */ cpu->f[12] = cpu->f[12] / cpu->f[11]; /* 02862CD0 */ _t129 = cpu->r[1] + 0x00000054u; /* 02862CD0 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[13]); /* 02862CD4 */ cpu->f[13] = (double)(float)cpu->f[8]; /* 02862CD8 */ cpu->f[10] = cpu->f[0] / cpu->f[11]; /* 02862CDC */ cpu->f[0] = cpu->f[13] / cpu->f[11]; /* 02862CE0 */ _t130 = cpu->r[1] + 0x00000050u; /* 02862CE0 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[6]); /* 02862CE4 */ cpu->f[13] = cpu->f[12] * cpu->f[0]; /* 02862CE8 */ _t131 = cpu->r[1] + 0x00000058u; /* 02862CE8 */ rbrew_write_f32(cpu->mem, _t131, cpu->f[10]); /* 02862CEC */ _t132 = cpu->r[1] + 0x0000005Cu; /* 02862CEC */ rbrew_write_f32(cpu->mem, _t132, cpu->f[13]); /* 02862CF0 */ Gambit_fn_0286E94C(cpu); /* 02862CF4 */ _t133 = cpu->r[30] + 0x000000D0u; /* 02862CF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t133); /* 02862CF8 */ _t134 = cpu->r[31] + 0x000000A8u; /* 02862CF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t134); /* 02862CFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du); /* 02862CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862D00 */ cpu->r[29] = cpu->r[7] + 0x00000008u; /* 02862D04 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862D04 */ _t136 = _t135 & 0x00000001u; /* 02862D04 */ if (_t136) goto L_02862D84; else goto L_02862D08; L_02862D08: ; // 0x2862d08 /* 02862D08 */ goto L_02862D68; L_02862D0C: ; // 0x2862d0c /* 02862D0C */ _t137 = cpu->r[1] + 0x0000000Cu; /* 02862D0C */ rbrew_write32(cpu->mem, _t137, cpu->r[4]); /* 02862D10 */ cpu->r[6] = 0x43300000u; /* 02862D14 */ cpu->r[10] = 0x10130000u; /* 02862D18 */ _t138 = cpu->r[1] + 0x00000008u; /* 02862D18 */ rbrew_write32(cpu->mem, _t138, cpu->r[6]); /* 02862D1C */ _t139 = cpu->r[1] + 0x00000008u; /* 02862D1C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t139); /* 02862D20 */ _t140 = cpu->r[10] + 0x00005168u; /* 02862D20 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t140); /* 02862D24 */ _t141 = cpu->r[1] + 0x00000054u; /* 02862D24 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[12]); /* 02862D28 */ cpu->f[13] = cpu->f[9] - cpu->f[0]; /* 02862D2C */ _t142 = cpu->r[1] + 0x00000050u; /* 02862D2C */ rbrew_write_f32(cpu->mem, _t142, cpu->f[12]); /* 02862D30 */ cpu->f[8] = (double)(float)cpu->f[13]; /* 02862D34 */ cpu->f[13] = cpu->f[8] / cpu->f[11]; /* 02862D38 */ _t143 = cpu->r[1] + 0x00000040u; /* 02862D38 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[10]); /* 02862D3C */ _t144 = cpu->r[1] + 0x00000044u; /* 02862D3C */ rbrew_write_f32(cpu->mem, _t144, cpu->f[10]); /* 02862D40 */ _t145 = cpu->r[1] + 0x00000058u; /* 02862D40 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[12]); /* 02862D44 */ _t146 = cpu->r[1] + 0x00000048u; /* 02862D44 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[10]); /* 02862D48 */ _t147 = cpu->r[1] + 0x0000005Cu; /* 02862D48 */ rbrew_write_f32(cpu->mem, _t147, cpu->f[13]); /* 02862D4C */ _t148 = cpu->r[1] + 0x0000004Cu; /* 02862D4C */ rbrew_write_f32(cpu->mem, _t148, cpu->f[13]); /* 02862D50 */ Gambit_fn_0286E94C(cpu); /* 02862D54 */ _t149 = cpu->r[30] + 0x000000D0u; /* 02862D54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t149); /* 02862D58 */ _t150 = cpu->r[31] + 0x000000A8u; /* 02862D58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150); /* 02862D5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du); /* 02862D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862D60 */ cpu->r[29] = cpu->r[7] + 0x00000008u; /* 02862D64 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862D64 */ _t152 = _t151 & 0x00000001u; /* 02862D64 */ if (_t152) goto L_02862D84; else goto L_02862D68; L_02862D68: ; // 0x2862d68 /* 02862D68 */ cpu->r[5] = cpu->r[1] + 0x00000010u; /* 02862D6C */ cpu->r[4] = cpu->r[29]; /* 02862D70 */ cpu->r[3] = cpu->r[30]; /* 02862D74 */ Gambit_fn_02862860(cpu); /* 02862D78 */ _t153 = cpu->r[1] + 0x00000060u; /* 02862D78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t153); /* 02862D7C */ cpu->r[7] = cpu->r[7] | 0x00000001u; /* 02862D80 */ _t154 = cpu->r[1] + 0x00000060u; /* 02862D80 */ rbrew_write32(cpu->mem, _t154, cpu->r[7]); L_02862D84: ; // 0x2862d84 /* 02862D84 */ cpu->r[3] = cpu->r[29]; /* 02862D88 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 02862D8C */ Gambit_fn_02856FCC(cpu); /* 02862D90 */ cpu->r[10] = 0x00000001u; /* 02862D94 */ _t155 = cpu->r[31] + 0x000000B7u; /* 02862D94 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[10]); L_02862D98: ; // 0x2862d98 /* 02862D98 */ _t156 = cpu->r[1] + 0x0000009Cu; /* 02862D98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t156); /* 02862D9C */ _t157 = cpu->r[1] + 0x000000ACu; /* 02862D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t157); /* 02862DA0 */ _t158 = cpu->r[1] + 0x000000A0u; /* 02862DA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t158); /* 02862DA4 */ cpu->lr = cpu->r[0]; /* 02862DA8 */ _t159 = cpu->r[1] + 0x000000A4u; /* 02862DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t159); /* 02862DAC */ cpu->r[1] = cpu->r[1] + 0x000000A8u; /* 02862DB0 */ return; } // fn_02862920 @ 0x2862920 void Gambit_fn_02862920(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159; L_02862920: ; // 0x2862920 /* 02862920 */ _t0 = cpu->r[1] + 0xFFFFFF58u; /* 02862920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862920 */ cpu->r[1] = _t0; /* 02862924 */ _t1 = cpu->r[1] + 0x0000009Cu; /* 02862924 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02862928 */ _t2 = cpu->r[1] + 0x000000A0u; /* 02862928 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0286292C */ _t3 = cpu->r[1] + 0x000000A4u; /* 0286292C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02862930 */ cpu->r[30] = cpu->r[3]; /* 02862934 */ _t4 = cpu->r[1] + 0x000000ACu; /* 02862934 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02862938 */ _t5 = cpu->r[30] + 0x000000CEu; /* 02862938 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 0286293C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862940 */ cpu->r[31] = cpu->r[4]; /* 02862944 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862944 */ _t7 = _t6 & 0x00000001u; /* 02862944 */ if (_t7) goto L_02862D98; else goto L_02862948; L_02862948: ; // 0x2862948 /* 02862948 */ _t8 = cpu->r[30] + 0x000000B4u; /* 02862948 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8); /* 0286294C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02862950 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862950 */ _t10 = _t9 & 0x00000001u; /* 02862950 */ if (_t10) goto L_02862D98; else goto L_02862954; L_02862954: ; // 0x2862954 /* 02862954 */ _t11 = cpu->r[30] + 0x000000F4u; /* 02862954 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 02862958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0286295C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286295C */ _t13 = _t12 & 0x00000001u; /* 0286295C */ if (_t13) goto L_02862D98; else goto L_02862960; L_02862960: ; // 0x2862960 /* 02862960 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu; /* 02862964 */ cpu->r[3] = cpu->r[30]; /* 02862968 */ Gambit_fn_028621F4(cpu); /* 0286296C */ _t14 = cpu->r[30] + 0x000000F8u; /* 0286296C */ cpu->r[5] = rbrew_read32(cpu->mem, _t14); /* 02862970 */ cpu->r[8] = 0x10130000u; /* 02862974 */ _t15 = cpu->r[1] + 0x00000014u; /* 02862974 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]); /* 02862978 */ cpu->r[9] = 0x10130000u; /* 0286297C */ _t16 = cpu->r[8] + 0x00005154u; /* 0286297C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16); /* 02862980 */ _t17 = cpu->r[9] + 0x00005150u; /* 02862980 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t17); /* 02862984 */ _t18 = cpu->r[1] + 0x00000058u; /* 02862984 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]); /* 02862988 */ _t19 = cpu->r[1] + 0x00000044u; /* 02862988 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]); /* 0286298C */ _t20 = cpu->r[1] + 0x00000020u; /* 0286298C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]); /* 02862990 */ _t21 = cpu->r[1] + 0x00000048u; /* 02862990 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]); /* 02862994 */ _t22 = cpu->r[1] + 0x00000024u; /* 02862994 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[10]); /* 02862998 */ _t23 = cpu->r[1] + 0x0000004Cu; /* 02862998 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[10]); /* 0286299C */ _t24 = cpu->r[1] + 0x00000028u; /* 0286299C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]); /* 028629A0 */ _t25 = cpu->r[1] + 0x0000002Cu; /* 028629A0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[10]); /* 028629A4 */ _t26 = cpu->r[1] + 0x00000010u; /* 028629A4 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]); /* 028629A8 */ cpu->r[5] = 0x101D0000u; /* 028629AC */ _t27 = cpu->r[1] + 0x0000005Cu; /* 028629AC */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]); /* 028629B0 */ cpu->r[7] = cpu->r[1] + 0x0000006Cu; /* 028629B4 */ _t28 = cpu->r[5] + 0xFFFFD554u; /* 028629B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28); /* 028629B4 */ cpu->r[5] = _t28; /* 028629B8 */ _t29 = cpu->r[1] + 0x00000054u; /* 028629B8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[12]); /* 028629BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 028629C0 */ _t30 = cpu->r[1] + 0x00000034u; /* 028629C0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]); /* 028629C4 */ cpu->r[0] = 0x00000000u; /* 028629C8 */ _t31 = cpu->r[1] + 0x00000038u; /* 028629C8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]); /* 028629CC */ _t32 = cpu->r[1] + 0x00000018u; /* 028629CC */ rbrew_write32(cpu->mem, _t32, cpu->r[7]); /* 028629D0 */ _t33 = cpu->r[1] + 0x00000040u; /* 028629D0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]); /* 028629D4 */ _t34 = cpu->r[1] + 0x00000030u; /* 028629D4 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]); /* 028629D8 */ cpu->r[6] = 0x101D0000u; /* 028629DC */ _t35 = cpu->r[1] + 0x0000003Cu; /* 028629DC */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]); /* 028629E0 */ cpu->r[6] = cpu->r[6] + 0x00000EE4u; /* 028629E4 */ _t36 = cpu->r[1] + 0x00000050u; /* 028629E4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]); /* 028629E8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 028629E8 */ _t38 = _t37 & 0x00000001u; /* 028629E8 */ if (_t38) goto L_028629EC; else goto L_02862A24; L_028629EC: ; // 0x28629ec /* 028629EC */ _t39 = cpu->r[6] + 0x00000000u; /* 028629EC */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]); /* 028629F0 */ cpu->r[10] = 0x00000001u; /* 028629F4 */ _t40 = cpu->r[6] + 0x00000004u; /* 028629F4 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[10]); /* 028629F8 */ _t41 = cpu->r[5] + 0x00000000u; /* 028629F8 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]); /* 028629FC */ _t42 = cpu->r[6] + 0x00000008u; /* 028629FC */ rbrew_write_f32(cpu->mem, _t42, cpu->f[10]); /* 02862A00 */ _t43 = cpu->r[6] + 0x0000000Cu; /* 02862A00 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]); /* 02862A04 */ _t44 = cpu->r[6] + 0x00000010u; /* 02862A04 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[10]); /* 02862A08 */ _t45 = cpu->r[6] + 0x00000014u; /* 02862A08 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]); /* 02862A0C */ _t46 = cpu->r[6] + 0x00000018u; /* 02862A0C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[10]); /* 02862A10 */ _t47 = cpu->r[6] + 0x0000001Cu; /* 02862A10 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[10]); /* 02862A14 */ _t48 = cpu->r[6] + 0x00000020u; /* 02862A14 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[10]); /* 02862A18 */ _t49 = cpu->r[6] + 0x00000024u; /* 02862A18 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]); /* 02862A1C */ _t50 = cpu->r[6] + 0x00000028u; /* 02862A1C */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]); /* 02862A20 */ _t51 = cpu->r[6] + 0x0000002Cu; /* 02862A20 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[10]); L_02862A24: ; // 0x2862a24 /* 02862A24 */ _t52 = cpu->r[30] + 0x000000D0u; /* 02862A24 */ cpu->r[12] = rbrew_read8(cpu->mem, _t52); /* 02862A28 */ _t53 = cpu->r[1] + 0x0000001Cu; /* 02862A28 */ rbrew_write32(cpu->mem, _t53, cpu->r[6]); /* 02862A2C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Cu, 0x0000001Cu); /* 02862A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02862A30 */ _t54 = cpu->r[30] + 0x000000F4u; /* 02862A30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54); /* 02862A34 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862A34 */ _t56 = _t55 & 0x00000001u; /* 02862A34 */ if (_t56) goto L_02862A38; else goto L_02862A40; L_02862A38: ; // 0x2862a38 /* 02862A38 */ _t57 = cpu->r[1] + 0x00000060u; /* 02862A38 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]); /* 02862A3C */ goto L_02862A48; L_02862A40: ; // 0x2862a40 /* 02862A40 */ cpu->r[0] = 0x00000001u; /* 02862A44 */ _t58 = cpu->r[1] + 0x00000060u; /* 02862A44 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]); L_02862A48: ; // 0x2862a48 /* 02862A48 */ cpu->r[5] = 0x10130000u; /* 02862A4C */ /* nop */ /* 02862A50 */ cpu->r[6] = cpu->r[1] + 0x00000064u; /* 02862A54 */ _t59 = cpu->r[5] + 0x00005168u; /* 02862A54 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t59); /* 02862A58 */ /* nop */ /* 02862A5C */ cpu->r[0] = 0x43300000u; /* 02862A60 */ _t60 = cpu->r[3] + 0x00000000u; /* 02862A60 */ cpu->r[12] = rbrew_read8(cpu->mem, _t60); /* 02862A64 */ _t61 = cpu->r[1] + 0x00000008u; /* 02862A64 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]); /* 02862A68 */ _t62 = cpu->r[1] + 0x0000000Cu; /* 02862A68 */ rbrew_write32(cpu->mem, _t62, cpu->r[12]); /* 02862A6C */ _t63 = cpu->r[1] + 0x00000008u; /* 02862A6C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t63); /* 02862A70 */ _t64 = cpu->r[1] + 0x00000064u; /* 02862A70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64); /* 02862A74 */ cpu->f[0] = cpu->f[13] - cpu->f[9]; /* 02862A78 */ cpu->r[12] = 0x10130000u; /* 02862A7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000018u, 0x0000001Fu); /* 02862A80 */ _t65 = cpu->r[12] + 0x00005178u; /* 02862A80 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t65); /* 02862A84 */ cpu->f[8] = (double)(float)cpu->f[0]; /* 02862A88 */ _t66 = cpu->r[1] + 0x0000000Cu; /* 02862A88 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]); /* 02862A8C */ _t67 = cpu->r[1] + 0x00000008u; /* 02862A8C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t67); /* 02862A90 */ cpu->f[7] = cpu->f[13] - cpu->f[9]; /* 02862A94 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000018u, 0x0000001Fu); /* 02862A98 */ cpu->f[5] = cpu->f[8] / cpu->f[11]; /* 02862A9C */ _t68 = cpu->r[1] + 0x0000000Cu; /* 02862A9C */ rbrew_write32(cpu->mem, _t68, cpu->r[6]); /* 02862AA0 */ _t69 = cpu->r[1] + 0x00000008u; /* 02862AA0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t69); /* 02862AA4 */ _t70 = cpu->r[30] + 0x00000046u; /* 02862AA4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t70); /* 02862AA8 */ _t71 = cpu->r[1] + 0x0000000Cu; /* 02862AA8 */ rbrew_write32(cpu->mem, _t71, cpu->r[4]); /* 02862AAC */ _t72 = cpu->r[1] + 0x00000008u; /* 02862AAC */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t72); /* 02862AB0 */ cpu->f[13] = cpu->f[8] - cpu->f[9]; /* 02862AB4 */ cpu->f[8] = cpu->f[0] - cpu->f[9]; /* 02862AB8 */ cpu->f[0] = (double)(float)cpu->f[13]; /* 02862ABC */ cpu->f[8] = (double)(float)cpu->f[8]; /* 02862AC0 */ cpu->f[6] = (double)(float)cpu->f[7]; /* 02862AC4 */ cpu->f[8] = cpu->f[8] / cpu->f[11]; /* 02862AC8 */ cpu->f[13] = cpu->f[6] / cpu->f[11]; /* 02862ACC */ _t73 = cpu->r[1] + 0x00000028u; /* 02862ACC */ rbrew_write_f32(cpu->mem, _t73, cpu->f[8]); /* 02862AD0 */ cpu->f[7] = cpu->f[0] / cpu->f[11]; /* 02862AD4 */ _t74 = cpu->r[1] + 0x00000020u; /* 02862AD4 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[5]); /* 02862AD8 */ cpu->r[11] = cpu->r[3] + 0x00000004u; /* 02862ADC */ _t75 = cpu->r[1] + 0x00000024u; /* 02862ADC */ rbrew_write_f32(cpu->mem, _t75, cpu->f[13]); /* 02862AE0 */ _t76 = cpu->r[1] + 0x0000002Cu; /* 02862AE0 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[7]); /* 02862AE4 */ /* nop */ /* 02862AE8 */ cpu->r[7] = cpu->r[1] + 0x00000068u; /* 02862AEC */ /* nop */ /* 02862AF0 */ _t77 = cpu->r[3] + 0x00000004u; /* 02862AF0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t77); /* 02862AF4 */ _t78 = cpu->r[1] + 0x00000068u; /* 02862AF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78); /* 02862AF8 */ _t79 = cpu->r[1] + 0x0000000Cu; /* 02862AF8 */ rbrew_write32(cpu->mem, _t79, cpu->r[7]); /* 02862AFC */ _t80 = cpu->r[1] + 0x00000008u; /* 02862AFC */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t80); /* 02862B00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000018u, 0x0000001Fu); /* 02862B04 */ cpu->f[8] = cpu->f[7] - cpu->f[9]; /* 02862B08 */ _t81 = cpu->r[1] + 0x0000000Cu; /* 02862B08 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]); /* 02862B0C */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02862B10 */ _t82 = cpu->r[1] + 0x00000008u; /* 02862B10 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t82); /* 02862B14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000018u, 0x0000001Fu); /* 02862B18 */ cpu->f[13] = (double)(float)cpu->f[8]; /* 02862B1C */ cpu->f[13] = cpu->f[13] / cpu->f[11]; /* 02862B20 */ _t83 = cpu->r[1] + 0x0000000Cu; /* 02862B20 */ rbrew_write32(cpu->mem, _t83, cpu->r[8]); /* 02862B24 */ _t84 = cpu->r[1] + 0x00000008u; /* 02862B24 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t84); /* 02862B28 */ _t85 = cpu->r[1] + 0x0000000Cu; /* 02862B28 */ rbrew_write32(cpu->mem, _t85, cpu->r[5]); /* 02862B2C */ cpu->f[7] = cpu->f[0] - cpu->f[9]; /* 02862B30 */ _t86 = cpu->r[1] + 0x00000008u; /* 02862B30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t86); /* 02862B34 */ cpu->f[5] = cpu->f[8] - cpu->f[9]; /* 02862B38 */ _t87 = cpu->r[1] + 0x0000000Cu; /* 02862B38 */ rbrew_write32(cpu->mem, _t87, cpu->r[4]); /* 02862B3C */ cpu->f[6] = cpu->f[0] - cpu->f[9]; /* 02862B40 */ _t88 = cpu->r[1] + 0x00000008u; /* 02862B40 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t88); /* 02862B44 */ cpu->f[8] = cpu->f[0] - cpu->f[9]; /* 02862B48 */ cpu->f[0] = (double)(float)cpu->f[5]; /* 02862B4C */ cpu->f[9] = (double)(float)cpu->f[7]; /* 02862B50 */ cpu->f[6] = (double)(float)cpu->f[6]; /* 02862B54 */ cpu->f[7] = cpu->f[0] / cpu->f[11]; /* 02862B58 */ cpu->f[9] = cpu->f[9] / cpu->f[11]; /* 02862B5C */ _t89 = cpu->r[1] + 0x00000030u; /* 02862B5C */ rbrew_write_f32(cpu->mem, _t89, cpu->f[13]); /* 02862B60 */ cpu->f[13] = (double)(float)cpu->f[8]; /* 02862B64 */ cpu->f[8] = cpu->f[6] / cpu->f[11]; /* 02862B68 */ _t90 = cpu->r[1] + 0x00000034u; /* 02862B68 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[9]); /* 02862B6C */ cpu->f[9] = cpu->f[13] / cpu->f[11]; /* 02862B70 */ cpu->f[13] = cpu->f[8] * cpu->f[9]; /* 02862B74 */ _t91 = cpu->r[1] + 0x00000038u; /* 02862B74 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[7]); /* 02862B78 */ _t92 = cpu->r[1] + 0x0000003Cu; /* 02862B78 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[13]); /* 02862B7C */ _t93 = cpu->r[3] + 0x00000008u; /* 02862B7C */ cpu->r[0] = rbrew_read16(cpu->mem, _t93); /* 02862B80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02862B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862B84 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862B84 */ _t95 = _t94 & 0x00000001u; /* 02862B84 */ if (_t95) goto L_02862D0C; else goto L_02862B88; L_02862B88: ; // 0x2862b88 /* 02862B88 */ cpu->r[9] = 0x10130000u; /* 02862B8C */ _t96 = cpu->r[9] + 0x00005168u; /* 02862B8C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t96); /* 02862B90 */ _t97 = cpu->r[3] + 0x00000008u; /* 02862B90 */ cpu->r[29] = rbrew_read16(cpu->mem, _t97); /* 02862B94 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000012u, 0x0000001Eu, 0x0000001Fu); /* 02862B98 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000016u, 0x0000001Eu, 0x0000001Fu); /* 02862B9C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000001Cu); /* 02862BA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x0000001Au, 0x0000001Fu, 0x0000001Fu); /* 02862BA4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[29], 0x00000014u, 0x0000001Eu, 0x0000001Fu); /* 02862BA8 */ cpu->r[5] = cpu->r[12] + cpu->r[0]; /* 02862BAC */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu); /* 02862BB0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000014u); /* 02862BB4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02862BB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 02862BBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000019u, 0x0000001Du, 0x0000001Fu); /* 02862BC0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02862BC4 */ cpu->r[8] = cpu->r[8] + cpu->r[12]; /* 02862BC8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000000Cu); /* 02862BCC */ cpu->r[11] = cpu->r[6] + cpu->r[8]; /* 02862BD0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x0000001Fu, 0x0000001Eu, 0x0000001Fu); /* 02862BD4 */ cpu->r[11] = cpu->r[11] + cpu->r[9]; /* 02862BD8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02862BDC */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000014u); /* 02862BE0 */ cpu->r[5] = cpu->r[11] + cpu->r[12]; /* 02862BE4 */ cpu->r[12] = cpu->r[5] + cpu->r[10]; /* 02862BE8 */ _t98 = cpu->r[3] + 0x0000000Cu; /* 02862BE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t98); /* 02862BEC */ cpu->r[7] = 0x43300000u; /* 02862BF0 */ cpu->r[9] = cpu->r[12] + cpu->r[9]; /* 02862BF4 */ _t99 = cpu->r[1] + 0x00000008u; /* 02862BF4 */ rbrew_write32(cpu->mem, _t99, cpu->r[7]); /* 02862BF8 */ cpu->r[5] = cpu->r[11] + cpu->r[9]; /* 02862BFC */ _t100 = cpu->r[11] + cpu->r[9]; /* 02862BFC */ cpu->r[7] = rbrew_read8(cpu->mem, _t100); /* 02862C00 */ _t101 = cpu->r[5] + 0x00000001u; /* 02862C00 */ cpu->r[8] = rbrew_read8(cpu->mem, _t101); /* 02862C04 */ _t102 = cpu->r[1] + 0x0000000Cu; /* 02862C04 */ rbrew_write32(cpu->mem, _t102, cpu->r[7]); /* 02862C08 */ _t103 = cpu->r[1] + 0x00000008u; /* 02862C08 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t103); /* 02862C0C */ _t104 = cpu->r[1] + 0x0000000Cu; /* 02862C0C */ rbrew_write32(cpu->mem, _t104, cpu->r[8]); /* 02862C10 */ cpu->f[0] = cpu->f[12] - cpu->f[13]; /* 02862C14 */ _t105 = cpu->r[1] + 0x00000008u; /* 02862C14 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t105); /* 02862C18 */ cpu->f[0] = (double)(float)cpu->f[0]; /* 02862C1C */ cpu->f[8] = cpu->f[7] - cpu->f[13]; /* 02862C20 */ _t106 = cpu->r[5] + 0x00000002u; /* 02862C20 */ cpu->r[9] = rbrew_read8(cpu->mem, _t106); /* 02862C24 */ cpu->f[7] = cpu->f[0] / cpu->f[11]; /* 02862C28 */ _t107 = cpu->r[1] + 0x0000000Cu; /* 02862C28 */ rbrew_write32(cpu->mem, _t107, cpu->r[9]); /* 02862C2C */ _t108 = cpu->r[1] + 0x00000008u; /* 02862C2C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t108); /* 02862C30 */ _t109 = cpu->r[1] + 0x0000000Cu; /* 02862C30 */ rbrew_write32(cpu->mem, _t109, cpu->r[4]); /* 02862C34 */ _t110 = cpu->r[1] + 0x00000008u; /* 02862C34 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t110); /* 02862C38 */ cpu->f[12] = cpu->f[10] - cpu->f[13]; /* 02862C3C */ cpu->f[10] = cpu->f[0] - cpu->f[13]; /* 02862C40 */ cpu->f[9] = (double)(float)cpu->f[8]; /* 02862C44 */ _t111 = cpu->r[1] + 0x00000040u; /* 02862C44 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[7]); /* 02862C48 */ cpu->f[7] = (double)(float)cpu->f[12]; /* 02862C4C */ cpu->f[9] = cpu->f[9] / cpu->f[11]; /* 02862C50 */ cpu->f[10] = (double)(float)cpu->f[10]; /* 02862C54 */ cpu->f[7] = cpu->f[7] / cpu->f[11]; /* 02862C58 */ cpu->f[0] = cpu->f[10] / cpu->f[11]; /* 02862C5C */ _t112 = cpu->r[1] + 0x0000004Cu; /* 02862C5C */ rbrew_write_f32(cpu->mem, _t112, cpu->f[7]); /* 02862C60 */ _t113 = cpu->r[1] + 0x00000044u; /* 02862C60 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[9]); /* 02862C64 */ _t114 = cpu->r[1] + 0x00000048u; /* 02862C64 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[0]); /* 02862C68 */ _t115 = cpu->r[5] + 0x00000003u; /* 02862C68 */ cpu->r[10] = rbrew_read8(cpu->mem, _t115); /* 02862C6C */ _t116 = cpu->r[5] + 0x00000004u; /* 02862C6C */ cpu->r[11] = rbrew_read8(cpu->mem, _t116); /* 02862C70 */ _t117 = cpu->r[1] + 0x0000000Cu; /* 02862C70 */ rbrew_write32(cpu->mem, _t117, cpu->r[10]); /* 02862C74 */ _t118 = cpu->r[1] + 0x00000008u; /* 02862C74 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t118); /* 02862C78 */ _t119 = cpu->r[1] + 0x0000000Cu; /* 02862C78 */ rbrew_write32(cpu->mem, _t119, cpu->r[11]); /* 02862C7C */ _t120 = cpu->r[5] + 0x00000005u; /* 02862C7C */ cpu->r[12] = rbrew_read8(cpu->mem, _t120); /* 02862C80 */ cpu->f[8] = cpu->f[0] - cpu->f[13]; /* 02862C84 */ _t121 = cpu->r[1] + 0x00000008u; /* 02862C84 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t121); /* 02862C88 */ cpu->f[7] = (double)(float)cpu->f[8]; /* 02862C8C */ _t122 = cpu->r[5] + 0x00000006u; /* 02862C8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t122); /* 02862C90 */ cpu->f[12] = cpu->f[10] - cpu->f[13]; /* 02862C94 */ _t123 = cpu->r[1] + 0x0000000Cu; /* 02862C94 */ rbrew_write32(cpu->mem, _t123, cpu->r[12]); /* 02862C98 */ cpu->f[6] = cpu->f[7] / cpu->f[11]; /* 02862C9C */ _t124 = cpu->r[1] + 0x00000008u; /* 02862C9C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t124); /* 02862CA0 */ _t125 = cpu->r[1] + 0x0000000Cu; /* 02862CA0 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]); /* 02862CA4 */ _t126 = cpu->r[1] + 0x00000008u; /* 02862CA4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t126); /* 02862CA8 */ cpu->f[7] = cpu->f[0] - cpu->f[13]; /* 02862CAC */ cpu->f[10] = cpu->f[8] - cpu->f[13]; /* 02862CB0 */ _t127 = cpu->r[1] + 0x0000000Cu; /* 02862CB0 */ rbrew_write32(cpu->mem, _t127, cpu->r[4]); /* 02862CB4 */ cpu->f[0] = (double)(float)cpu->f[7]; /* 02862CB8 */ _t128 = cpu->r[1] + 0x00000008u; /* 02862CB8 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t128); /* 02862CBC */ cpu->f[9] = (double)(float)cpu->f[12]; /* 02862CC0 */ cpu->f[12] = (double)(float)cpu->f[10]; /* 02862CC4 */ cpu->f[8] = cpu->f[7] - cpu->f[13]; /* 02862CC8 */ cpu->f[13] = cpu->f[9] / cpu->f[11]; /* 02862CCC */ cpu->f[12] = cpu->f[12] / cpu->f[11]; /* 02862CD0 */ _t129 = cpu->r[1] + 0x00000054u; /* 02862CD0 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[13]); /* 02862CD4 */ cpu->f[13] = (double)(float)cpu->f[8]; /* 02862CD8 */ cpu->f[10] = cpu->f[0] / cpu->f[11]; /* 02862CDC */ cpu->f[0] = cpu->f[13] / cpu->f[11]; /* 02862CE0 */ _t130 = cpu->r[1] + 0x00000050u; /* 02862CE0 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[6]); /* 02862CE4 */ cpu->f[13] = cpu->f[12] * cpu->f[0]; /* 02862CE8 */ _t131 = cpu->r[1] + 0x00000058u; /* 02862CE8 */ rbrew_write_f32(cpu->mem, _t131, cpu->f[10]); /* 02862CEC */ _t132 = cpu->r[1] + 0x0000005Cu; /* 02862CEC */ rbrew_write_f32(cpu->mem, _t132, cpu->f[13]); /* 02862CF0 */ Gambit_fn_0286E94C(cpu); /* 02862CF4 */ _t133 = cpu->r[30] + 0x000000D0u; /* 02862CF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t133); /* 02862CF8 */ _t134 = cpu->r[31] + 0x000000A8u; /* 02862CF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t134); /* 02862CFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du); /* 02862CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862D00 */ cpu->r[29] = cpu->r[7] + 0x00000008u; /* 02862D04 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862D04 */ _t136 = _t135 & 0x00000001u; /* 02862D04 */ if (_t136) goto L_02862D84; else goto L_02862D08; L_02862D08: ; // 0x2862d08 /* 02862D08 */ goto L_02862D68; L_02862D0C: ; // 0x2862d0c /* 02862D0C */ _t137 = cpu->r[1] + 0x0000000Cu; /* 02862D0C */ rbrew_write32(cpu->mem, _t137, cpu->r[4]); /* 02862D10 */ cpu->r[6] = 0x43300000u; /* 02862D14 */ cpu->r[10] = 0x10130000u; /* 02862D18 */ _t138 = cpu->r[1] + 0x00000008u; /* 02862D18 */ rbrew_write32(cpu->mem, _t138, cpu->r[6]); /* 02862D1C */ _t139 = cpu->r[1] + 0x00000008u; /* 02862D1C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t139); /* 02862D20 */ _t140 = cpu->r[10] + 0x00005168u; /* 02862D20 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t140); /* 02862D24 */ _t141 = cpu->r[1] + 0x00000054u; /* 02862D24 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[12]); /* 02862D28 */ cpu->f[13] = cpu->f[9] - cpu->f[0]; /* 02862D2C */ _t142 = cpu->r[1] + 0x00000050u; /* 02862D2C */ rbrew_write_f32(cpu->mem, _t142, cpu->f[12]); /* 02862D30 */ cpu->f[8] = (double)(float)cpu->f[13]; /* 02862D34 */ cpu->f[13] = cpu->f[8] / cpu->f[11]; /* 02862D38 */ _t143 = cpu->r[1] + 0x00000040u; /* 02862D38 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[10]); /* 02862D3C */ _t144 = cpu->r[1] + 0x00000044u; /* 02862D3C */ rbrew_write_f32(cpu->mem, _t144, cpu->f[10]); /* 02862D40 */ _t145 = cpu->r[1] + 0x00000058u; /* 02862D40 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[12]); /* 02862D44 */ _t146 = cpu->r[1] + 0x00000048u; /* 02862D44 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[10]); /* 02862D48 */ _t147 = cpu->r[1] + 0x0000005Cu; /* 02862D48 */ rbrew_write_f32(cpu->mem, _t147, cpu->f[13]); /* 02862D4C */ _t148 = cpu->r[1] + 0x0000004Cu; /* 02862D4C */ rbrew_write_f32(cpu->mem, _t148, cpu->f[13]); /* 02862D50 */ Gambit_fn_0286E94C(cpu); /* 02862D54 */ _t149 = cpu->r[30] + 0x000000D0u; /* 02862D54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t149); /* 02862D58 */ _t150 = cpu->r[31] + 0x000000A8u; /* 02862D58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150); /* 02862D5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du); /* 02862D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862D60 */ cpu->r[29] = cpu->r[7] + 0x00000008u; /* 02862D64 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862D64 */ _t152 = _t151 & 0x00000001u; /* 02862D64 */ if (_t152) goto L_02862D84; else goto L_02862D68; L_02862D68: ; // 0x2862d68 /* 02862D68 */ cpu->r[5] = cpu->r[1] + 0x00000010u; /* 02862D6C */ cpu->r[4] = cpu->r[29]; /* 02862D70 */ cpu->r[3] = cpu->r[30]; /* 02862D74 */ Gambit_fn_02862860(cpu); /* 02862D78 */ _t153 = cpu->r[1] + 0x00000060u; /* 02862D78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t153); /* 02862D7C */ cpu->r[7] = cpu->r[7] | 0x00000001u; /* 02862D80 */ _t154 = cpu->r[1] + 0x00000060u; /* 02862D80 */ rbrew_write32(cpu->mem, _t154, cpu->r[7]); L_02862D84: ; // 0x2862d84 /* 02862D84 */ cpu->r[3] = cpu->r[29]; /* 02862D88 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 02862D8C */ Gambit_fn_02856FCC(cpu); /* 02862D90 */ cpu->r[10] = 0x00000001u; /* 02862D94 */ _t155 = cpu->r[31] + 0x000000B7u; /* 02862D94 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[10]); L_02862D98: ; // 0x2862d98 /* 02862D98 */ _t156 = cpu->r[1] + 0x0000009Cu; /* 02862D98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t156); /* 02862D9C */ _t157 = cpu->r[1] + 0x000000ACu; /* 02862D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t157); /* 02862DA0 */ _t158 = cpu->r[1] + 0x000000A0u; /* 02862DA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t158); /* 02862DA4 */ cpu->lr = cpu->r[0]; /* 02862DA8 */ _t159 = cpu->r[1] + 0x000000A4u; /* 02862DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t159); /* 02862DAC */ cpu->r[1] = cpu->r[1] + 0x000000A8u; /* 02862DB0 */ return; } // fn_02862DB4 @ 0x2862db4 void Gambit_fn_02862DB4(CPUState* cpu) { L_02862DB4: ; // 0x2862db4 /* 02862DB4 */ return; } // fn_02862DB8 @ 0x2862db8 void Gambit_fn_02862DB8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39; L_02862DB8: ; // 0x2862db8 /* 02862DB8 */ cpu->r[0] = cpu->lr; /* 02862DBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02862DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862DBC */ cpu->r[1] = _t0; /* 02862DC0 */ _t1 = cpu->r[1] + 0x00000010u; /* 02862DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02862DC4 */ cpu->r[30] = cpu->r[5]; /* 02862DC8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02862DC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02862DCC */ _t3 = cpu->r[1] + 0x00000014u; /* 02862DCC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02862DD0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02862DD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02862DD4 */ cpu->r[29] = cpu->r[3]; /* 02862DD8 */ _t5 = cpu->r[30] + 0x00000000u; /* 02862DD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02862DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02862DE0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862DE0 */ _t7 = _t6 & 0x00000001u; /* 02862DE0 */ if (_t7) goto L_02862EA0; else goto L_02862DE4; L_02862DE4: ; // 0x2862de4 /* 02862DE4 */ _t8 = cpu->r[30] + 0x00000006u; /* 02862DE4 */ cpu->r[31] = rbrew_read16(cpu->mem, _t8); /* 02862DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02862DEC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862DEC */ _t10 = _t9 & 0x00000001u; /* 02862DEC */ if (_t10) goto L_02862DF0; else goto L_02862E14; L_02862DF0: ; // 0x2862df0 /* 02862DF0 */ _t11 = cpu->r[12] + 0x00000000u; /* 02862DF0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11); /* 02862DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02862DF8 */ cpu->r[31] = 0x00000000u; /* 02862DFC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862DFC */ _t13 = _t12 & 0x00000001u; /* 02862DFC */ if (_t13) goto L_02862E10; else goto L_02862E00; L_02862E00: ; // 0x2862e00 /* 02862E00 */ _t14 = cpu->r[12] + 0x00000002u; /* 02862E00 */ cpu->r[10] = rbrew_read16(cpu->mem, _t14); /* 02862E00 */ cpu->r[12] = _t14; /* 02862E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02862E08 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02862E0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862E0C */ _t16 = _t15 & 0x00000001u; /* 02862E0C */ if (_t16) goto L_02862E10; else goto L_02862E00; L_02862E10: ; // 0x2862e10 /* 02862E10 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); L_02862E14: ; // 0x2862e14 /* 02862E14 */ _t17 = cpu->r[30] + 0x00000008u; /* 02862E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02862E18 */ _t18 = cpu->r[29] + 0x00000008u; /* 02862E18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 02862E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862E20 */ _t19 = cpu->r[11] + 0x000000BCu; /* 02862E20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 02862E24 */ cpu->r[3] = cpu->r[29]; /* 02862E28 */ _t20 = cpu->r[4] + 0x0000003Cu; /* 02862E28 */ cpu->r[5] = rbrew_read8(cpu->mem, _t20); /* 02862E2C */ cpu->ctr = cpu->r[10]; /* 02862E30 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862E30 */ _t22 = _t21 & 0x00000001u; /* 02862E30 */ if (_t22) goto L_02862E34; else goto L_02862E4C; L_02862E34: ; // 0x2862e34 /* 02862E34 */ cpu->r[4] = cpu->r[31]; /* 02862E38 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02862E3C */ _t23 = cpu->r[29] + 0x000000A4u; /* 02862E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 02862E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862E44 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862E44 */ _t25 = _t24 & 0x00000001u; /* 02862E44 */ if (_t25) goto L_02862E80; else goto L_02862E48; L_02862E48: ; // 0x2862e48 /* 02862E48 */ goto L_02862E60; L_02862E4C: ; // 0x2862e4c /* 02862E4C */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02862E50 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02862E54 */ _t26 = cpu->r[29] + 0x000000A4u; /* 02862E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02862E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862E5C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862E5C */ _t28 = _t27 & 0x00000001u; /* 02862E5C */ if (_t28) goto L_02862E80; else goto L_02862E60; L_02862E60: ; // 0x2862e60 /* 02862E60 */ _t29 = cpu->r[29] + 0x00000008u; /* 02862E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29); /* 02862E64 */ _t30 = cpu->r[12] + 0x000000DCu; /* 02862E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 02862E68 */ cpu->ctr = cpu->r[0]; /* 02862E6C */ _t31 = cpu->r[30] + 0x00000000u; /* 02862E6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t31); /* 02862E70 */ cpu->r[3] = cpu->r[29]; /* 02862E74 */ cpu->r[5] = 0x00000000u; /* 02862E78 */ cpu->r[6] = cpu->r[31]; /* 02862E7C */ rbrew_call_indirect(cpu, cpu->ctr); L_02862E80: ; // 0x2862e80 /* 02862E80 */ _t32 = cpu->r[1] + 0x0000000Cu; /* 02862E80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32); /* 02862E84 */ _t33 = cpu->r[1] + 0x0000001Cu; /* 02862E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 02862E88 */ _t34 = cpu->r[1] + 0x00000010u; /* 02862E88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34); /* 02862E8C */ cpu->lr = cpu->r[0]; /* 02862E90 */ _t35 = cpu->r[1] + 0x00000014u; /* 02862E90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35); /* 02862E94 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02862E98 */ cpu->r[3] = 0x00000001u; /* 02862E9C */ return; L_02862EA0: ; // 0x2862ea0 /* 02862EA0 */ _t36 = cpu->r[1] + 0x0000000Cu; /* 02862EA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36); /* 02862EA4 */ _t37 = cpu->r[1] + 0x0000001Cu; /* 02862EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 02862EA8 */ _t38 = cpu->r[1] + 0x00000010u; /* 02862EA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38); /* 02862EAC */ cpu->lr = cpu->r[0]; /* 02862EB0 */ _t39 = cpu->r[1] + 0x00000014u; /* 02862EB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39); /* 02862EB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02862EB8 */ cpu->r[3] = 0x00000000u; /* 02862EBC */ return; } // fn_02862DBC @ 0x2862dbc void Gambit_fn_02862DBC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39; L_02862DBC: ; // 0x2862dbc /* 02862DBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02862DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862DBC */ cpu->r[1] = _t0; /* 02862DC0 */ _t1 = cpu->r[1] + 0x00000010u; /* 02862DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02862DC4 */ cpu->r[30] = cpu->r[5]; /* 02862DC8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02862DC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02862DCC */ _t3 = cpu->r[1] + 0x00000014u; /* 02862DCC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02862DD0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02862DD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02862DD4 */ cpu->r[29] = cpu->r[3]; /* 02862DD8 */ _t5 = cpu->r[30] + 0x00000000u; /* 02862DD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02862DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02862DE0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862DE0 */ _t7 = _t6 & 0x00000001u; /* 02862DE0 */ if (_t7) goto L_02862EA0; else goto L_02862DE4; L_02862DE4: ; // 0x2862de4 /* 02862DE4 */ _t8 = cpu->r[30] + 0x00000006u; /* 02862DE4 */ cpu->r[31] = rbrew_read16(cpu->mem, _t8); /* 02862DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02862DEC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862DEC */ _t10 = _t9 & 0x00000001u; /* 02862DEC */ if (_t10) goto L_02862DF0; else goto L_02862E14; L_02862DF0: ; // 0x2862df0 /* 02862DF0 */ _t11 = cpu->r[12] + 0x00000000u; /* 02862DF0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11); /* 02862DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02862DF8 */ cpu->r[31] = 0x00000000u; /* 02862DFC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862DFC */ _t13 = _t12 & 0x00000001u; /* 02862DFC */ if (_t13) goto L_02862E10; else goto L_02862E00; L_02862E00: ; // 0x2862e00 /* 02862E00 */ _t14 = cpu->r[12] + 0x00000002u; /* 02862E00 */ cpu->r[10] = rbrew_read16(cpu->mem, _t14); /* 02862E00 */ cpu->r[12] = _t14; /* 02862E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02862E08 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02862E0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862E0C */ _t16 = _t15 & 0x00000001u; /* 02862E0C */ if (_t16) goto L_02862E10; else goto L_02862E00; L_02862E10: ; // 0x2862e10 /* 02862E10 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); L_02862E14: ; // 0x2862e14 /* 02862E14 */ _t17 = cpu->r[30] + 0x00000008u; /* 02862E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02862E18 */ _t18 = cpu->r[29] + 0x00000008u; /* 02862E18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18); /* 02862E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862E20 */ _t19 = cpu->r[11] + 0x000000BCu; /* 02862E20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 02862E24 */ cpu->r[3] = cpu->r[29]; /* 02862E28 */ _t20 = cpu->r[4] + 0x0000003Cu; /* 02862E28 */ cpu->r[5] = rbrew_read8(cpu->mem, _t20); /* 02862E2C */ cpu->ctr = cpu->r[10]; /* 02862E30 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862E30 */ _t22 = _t21 & 0x00000001u; /* 02862E30 */ if (_t22) goto L_02862E34; else goto L_02862E4C; L_02862E34: ; // 0x2862e34 /* 02862E34 */ cpu->r[4] = cpu->r[31]; /* 02862E38 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02862E3C */ _t23 = cpu->r[29] + 0x000000A4u; /* 02862E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 02862E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862E44 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862E44 */ _t25 = _t24 & 0x00000001u; /* 02862E44 */ if (_t25) goto L_02862E80; else goto L_02862E48; L_02862E48: ; // 0x2862e48 /* 02862E48 */ goto L_02862E60; L_02862E4C: ; // 0x2862e4c /* 02862E4C */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02862E50 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02862E54 */ _t26 = cpu->r[29] + 0x000000A4u; /* 02862E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02862E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02862E5C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862E5C */ _t28 = _t27 & 0x00000001u; /* 02862E5C */ if (_t28) goto L_02862E80; else goto L_02862E60; L_02862E60: ; // 0x2862e60 /* 02862E60 */ _t29 = cpu->r[29] + 0x00000008u; /* 02862E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29); /* 02862E64 */ _t30 = cpu->r[12] + 0x000000DCu; /* 02862E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 02862E68 */ cpu->ctr = cpu->r[0]; /* 02862E6C */ _t31 = cpu->r[30] + 0x00000000u; /* 02862E6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t31); /* 02862E70 */ cpu->r[3] = cpu->r[29]; /* 02862E74 */ cpu->r[5] = 0x00000000u; /* 02862E78 */ cpu->r[6] = cpu->r[31]; /* 02862E7C */ rbrew_call_indirect(cpu, cpu->ctr); L_02862E80: ; // 0x2862e80 /* 02862E80 */ _t32 = cpu->r[1] + 0x0000000Cu; /* 02862E80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32); /* 02862E84 */ _t33 = cpu->r[1] + 0x0000001Cu; /* 02862E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 02862E88 */ _t34 = cpu->r[1] + 0x00000010u; /* 02862E88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34); /* 02862E8C */ cpu->lr = cpu->r[0]; /* 02862E90 */ _t35 = cpu->r[1] + 0x00000014u; /* 02862E90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35); /* 02862E94 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02862E98 */ cpu->r[3] = 0x00000001u; /* 02862E9C */ return; L_02862EA0: ; // 0x2862ea0 /* 02862EA0 */ _t36 = cpu->r[1] + 0x0000000Cu; /* 02862EA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36); /* 02862EA4 */ _t37 = cpu->r[1] + 0x0000001Cu; /* 02862EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 02862EA8 */ _t38 = cpu->r[1] + 0x00000010u; /* 02862EA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38); /* 02862EAC */ cpu->lr = cpu->r[0]; /* 02862EB0 */ _t39 = cpu->r[1] + 0x00000014u; /* 02862EB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39); /* 02862EB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02862EB8 */ cpu->r[3] = 0x00000000u; /* 02862EBC */ return; } // fn_02862ECC @ 0x2862ecc void Gambit_fn_02862ECC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02862ECC: ; // 0x2862ecc /* 02862ECC */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02862ECC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862ECC */ cpu->r[1] = _t0; /* 02862ED0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862ED0 */ _t2 = _t1 & 0x00000001u; /* 02862ED0 */ if (_t2) goto L_02862ED4; else goto L_02862EE4; L_02862ED4: ; // 0x2862ed4 /* 02862ED4 */ cpu->r[3] = 0x00000004u; /* 02862ED8 */ Gambit_fn_02801A78(cpu); /* 02862EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02862EE0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862EE0 */ _t4 = _t3 & 0x00000001u; /* 02862EE0 */ if (_t4) goto L_02862EEC; else goto L_02862EE4; L_02862EE4: ; // 0x2862ee4 /* 02862EE4 */ cpu->r[0] = 0xFFFFFFFFu; /* 02862EE8 */ _t5 = cpu->r[3] + 0x00000000u; /* 02862EE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); L_02862EEC: ; // 0x2862eec /* 02862EEC */ _t6 = cpu->r[1] + 0x0000000Cu; /* 02862EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02862EF0 */ cpu->lr = cpu->r[0]; /* 02862EF4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02862EF8 */ return; } // fn_02862EFC @ 0x2862efc void Gambit_fn_02862EFC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_02862EFC: ; // 0x2862efc /* 02862EFC */ cpu->r[11] = 0x101D0000u; /* 02862F00 */ cpu->r[3] = 0x101D0000u; /* 02862F04 */ _t0 = cpu->r[11] + 0xFFFFD800u; /* 02862F04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 02862F04 */ cpu->r[11] = _t0; /* 02862F08 */ cpu->r[3] = cpu->r[3] + 0x00000F44u; /* 02862F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02862F10 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862F10 */ _t2 = _t1 & 0x00000001u; /* 02862F10 */ _t3 = _t2 ^ 0x00000001u; /* 02862F10 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02862F10 */ goto L_02862F14; L_02862F14: ; // 0x2862f14 /* 02862F14 */ cpu->r[10] = 0x101D0000u; /* 02862F18 */ cpu->r[12] = 0x101D0000u; /* 02862F1C */ _t4 = cpu->r[10] + 0xFFFFD7ECu; /* 02862F1C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4); /* 02862F1C */ cpu->r[10] = _t4; /* 02862F20 */ cpu->r[0] = 0x00000001u; /* 02862F24 */ cpu->r[12] = cpu->r[12] + 0x00000F38u; /* 02862F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02862F2C */ _t5 = cpu->r[11] + 0x00000000u; /* 02862F2C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02862F30 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862F30 */ _t7 = _t6 & 0x00000001u; /* 02862F30 */ if (_t7) goto L_02862F34; else goto L_02862F44; L_02862F34: ; // 0x2862f34 /* 02862F34 */ cpu->r[7] = 0x00000001u; /* 02862F38 */ cpu->r[8] = 0x00000000u; /* 02862F3C */ _t8 = cpu->r[10] + 0x00000000u; /* 02862F3C */ rbrew_write32(cpu->mem, _t8, cpu->r[7]); /* 02862F40 */ _t9 = cpu->r[12] + 0x00000000u; /* 02862F40 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); L_02862F44: ; // 0x2862f44 /* 02862F44 */ _t10 = cpu->r[3] + 0x00000000u; /* 02862F44 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]); /* 02862F48 */ return; } // fn_02862F4C @ 0x2862f4c void Gambit_fn_02862F4C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24; L_02862F4C: ; // 0x2862f4c /* 02862F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02862F50 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862F50 */ _t1 = _t0 & 0x00000001u; /* 02862F50 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02862F50 */ goto L_02862F54; L_02862F54: ; // 0x2862f54 /* 02862F54 */ cpu->r[3] = cpu->r[3] + 0x000000C4u; /* 02862F58 */ goto L_0286B804; L_0286B804: ; // 0x286b804 /* 0286B804 */ cpu->r[0] = cpu->lr; /* 0286B808 */ _t2 = cpu->r[1] + 0xFFFFFFE8u; /* 0286B808 */ rbrew_write32(cpu->mem, _t2, cpu->r[1]); /* 0286B808 */ cpu->r[1] = _t2; /* 0286B80C */ _t3 = cpu->r[1] + 0x00000010u; /* 0286B80C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0286B810 */ cpu->r[30] = cpu->r[3]; /* 0286B814 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0286B814 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0286B818 */ _t5 = cpu->r[1] + 0x00000014u; /* 0286B818 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]); /* 0286B81C */ _t6 = cpu->r[1] + 0x0000001Cu; /* 0286B81C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0286B820 */ _t7 = cpu->r[30] + 0x00000000u; /* 0286B820 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7); /* 0286B824 */ cpu->r[31] = cpu->r[4]; /* 0286B828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0286B82C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0286B82C */ _t9 = _t8 & 0x00000001u; /* 0286B82C */ if (_t9) goto L_0286B830; else goto L_0286B888; L_0286B830: ; // 0x286b830 /* 0286B830 */ cpu->r[3] = cpu->r[30]; /* 0286B834 */ Gambit_fn_0286B7AC(cpu); /* 0286B838 */ cpu->r[29] = cpu->r[31]; /* 0286B83C */ cpu->r[4] = 0x00000004u; /* 0286B840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000005u, 0x00000000u, 0x0000001Au); /* 0286B844 */ Gambit_fn_02869E8C(cpu); /* 0286B848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0286B84C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286B84C */ _t11 = _t10 & 0x00000001u; /* 0286B84C */ if (_t11) goto L_0286B850; else goto L_0286B874; L_0286B850: ; // 0x286b850 /* 0286B850 */ cpu->r[3] = 0x00000000u; /* 0286B854 */ _t12 = cpu->r[30] + 0x00000004u; /* 0286B854 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]); /* 0286B858 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0286B858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0286B85C */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0286B85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0286B860 */ _t15 = cpu->r[1] + 0x00000010u; /* 0286B860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0286B864 */ cpu->lr = cpu->r[0]; /* 0286B868 */ _t16 = cpu->r[1] + 0x00000014u; /* 0286B868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0286B86C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0286B870 */ return; L_0286B874: ; // 0x286b874 /* 0286B874 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0286B874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0286B878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0286B87C */ _t17 = cpu->r[30] + 0x00000004u; /* 0286B87C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]); /* 0286B880 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286B880 */ _t19 = _t18 & 0x00000001u; /* 0286B880 */ if (_t19) goto L_0286B888; else goto L_0286B884; L_0286B884: ; // 0x286b884 /* 0286B884 */ _t20 = cpu->r[30] + 0x00000000u; /* 0286B884 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[31]); L_0286B888: ; // 0x286b888 /* 0286B888 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 0286B888 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0286B88C */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0286B88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0286B890 */ _t23 = cpu->r[1] + 0x00000010u; /* 0286B890 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 0286B894 */ cpu->lr = cpu->r[0]; /* 0286B898 */ _t24 = cpu->r[1] + 0x00000014u; /* 0286B898 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0286B89C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0286B8A0 */ return; } // fn_02862F5C @ 0x2862f5c void Gambit_fn_02862F5C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29; L_02862F5C: ; // 0x2862f5c /* 02862F5C */ cpu->r[0] = cpu->lr; /* 02862F60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02862F60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862F60 */ cpu->r[1] = _t0; /* 02862F64 */ _t1 = cpu->r[1] + 0x00000010u; /* 02862F64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02862F68 */ cpu->r[30] = cpu->r[4]; /* 02862F6C */ _t2 = cpu->r[1] + 0x00000014u; /* 02862F6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02862F70 */ cpu->r[31] = cpu->r[30]; /* 02862F74 */ cpu->r[4] = 0x00000004u; /* 02862F78 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02862F78 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02862F7C */ cpu->r[10] = 0x00000000u; /* 02862F80 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02862F80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02862F84 */ cpu->r[29] = cpu->r[3]; /* 02862F88 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02862F8C */ _t5 = cpu->r[29] + 0x000000CDu; /* 02862F8C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[10]); /* 02862F90 */ Gambit_fn_02869E8C(cpu); /* 02862F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02862F98 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862F98 */ _t7 = _t6 & 0x00000001u; /* 02862F98 */ if (_t7) goto L_02862F9C; else goto L_02862FC0; L_02862F9C: ; // 0x2862f9c /* 02862F9C */ cpu->r[3] = 0x00000000u; /* 02862FA0 */ _t8 = cpu->r[29] + 0x000000D0u; /* 02862FA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]); /* 02862FA4 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02862FA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 02862FA8 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 02862FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02862FAC */ _t11 = cpu->r[1] + 0x00000010u; /* 02862FAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 02862FB0 */ cpu->lr = cpu->r[0]; /* 02862FB4 */ _t12 = cpu->r[1] + 0x00000014u; /* 02862FB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02862FB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02862FBC */ return; L_02862FC0: ; // 0x2862fc0 /* 02862FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02862FC4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862FC4 */ _t14 = _t13 & 0x00000001u; /* 02862FC4 */ if (_t14) goto L_02862FEC; else goto L_02862FC8; L_02862FC8: ; // 0x2862fc8 /* 02862FC8 */ cpu->ctr = cpu->r[31]; /* 02862FCC */ cpu->r[12] = cpu->r[3]; /* 02862FD0 */ cpu->r[0] = 0x00000000u; L_02862FD4: ; // 0x2862fd4 /* 02862FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02862FD8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862FD8 */ _t16 = _t15 & 0x00000001u; /* 02862FD8 */ if (_t16) goto L_02862FE4; else goto L_02862FDC; L_02862FDC: ; // 0x2862fdc /* 02862FDC */ _t17 = cpu->r[12] + 0x00000004u; /* 02862FDC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 02862FE0 */ _t18 = cpu->r[12] + 0x00000000u; /* 02862FE0 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]); L_02862FE4: ; // 0x2862fe4 /* 02862FE4 */ cpu->r[12] = cpu->r[12] + 0x00000008u; /* 02862FE8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02862FE8 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02862FE8 */ _t20 = _t19 >> (0x00000002u & 31u); /* 02862FE8 */ _t21 = _t20 & 0x00000001u; /* 02862FE8 */ if (_t21) goto L_02862FD4; else goto L_02862FEC; L_02862FEC: ; // 0x2862fec /* 02862FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02862FF0 */ _t22 = cpu->r[29] + 0x000000D0u; /* 02862FF0 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]); /* 02862FF4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862FF4 */ _t24 = _t23 & 0x00000001u; /* 02862FF4 */ if (_t24) goto L_02862FFC; else goto L_02862FF8; L_02862FF8: ; // 0x2862ff8 /* 02862FF8 */ _t25 = cpu->r[29] + 0x000000CDu; /* 02862FF8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[30]); L_02862FFC: ; // 0x2862ffc /* 02862FFC */ _t26 = cpu->r[1] + 0x0000000Cu; /* 02862FFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t26); /* 02863000 */ _t27 = cpu->r[1] + 0x0000001Cu; /* 02863000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 02863004 */ _t28 = cpu->r[1] + 0x00000010u; /* 02863004 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28); /* 02863008 */ cpu->lr = cpu->r[0]; /* 0286300C */ _t29 = cpu->r[1] + 0x00000014u; /* 0286300C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 02863010 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02863014 */ return; } // fn_02862F60 @ 0x2862f60 void Gambit_fn_02862F60(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29; L_02862F60: ; // 0x2862f60 /* 02862F60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02862F60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02862F60 */ cpu->r[1] = _t0; /* 02862F64 */ _t1 = cpu->r[1] + 0x00000010u; /* 02862F64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02862F68 */ cpu->r[30] = cpu->r[4]; /* 02862F6C */ _t2 = cpu->r[1] + 0x00000014u; /* 02862F6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02862F70 */ cpu->r[31] = cpu->r[30]; /* 02862F74 */ cpu->r[4] = 0x00000004u; /* 02862F78 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02862F78 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02862F7C */ cpu->r[10] = 0x00000000u; /* 02862F80 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02862F80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02862F84 */ cpu->r[29] = cpu->r[3]; /* 02862F88 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02862F8C */ _t5 = cpu->r[29] + 0x000000CDu; /* 02862F8C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[10]); /* 02862F90 */ Gambit_fn_02869E8C(cpu); /* 02862F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02862F98 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862F98 */ _t7 = _t6 & 0x00000001u; /* 02862F98 */ if (_t7) goto L_02862F9C; else goto L_02862FC0; L_02862F9C: ; // 0x2862f9c /* 02862F9C */ cpu->r[3] = 0x00000000u; /* 02862FA0 */ _t8 = cpu->r[29] + 0x000000D0u; /* 02862FA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]); /* 02862FA4 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02862FA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 02862FA8 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 02862FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02862FAC */ _t11 = cpu->r[1] + 0x00000010u; /* 02862FAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 02862FB0 */ cpu->lr = cpu->r[0]; /* 02862FB4 */ _t12 = cpu->r[1] + 0x00000014u; /* 02862FB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02862FB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02862FBC */ return; L_02862FC0: ; // 0x2862fc0 /* 02862FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02862FC4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862FC4 */ _t14 = _t13 & 0x00000001u; /* 02862FC4 */ if (_t14) goto L_02862FEC; else goto L_02862FC8; L_02862FC8: ; // 0x2862fc8 /* 02862FC8 */ cpu->ctr = cpu->r[31]; /* 02862FCC */ cpu->r[12] = cpu->r[3]; /* 02862FD0 */ cpu->r[0] = 0x00000000u; L_02862FD4: ; // 0x2862fd4 /* 02862FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02862FD8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862FD8 */ _t16 = _t15 & 0x00000001u; /* 02862FD8 */ if (_t16) goto L_02862FE4; else goto L_02862FDC; L_02862FDC: ; // 0x2862fdc /* 02862FDC */ _t17 = cpu->r[12] + 0x00000004u; /* 02862FDC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 02862FE0 */ _t18 = cpu->r[12] + 0x00000000u; /* 02862FE0 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]); L_02862FE4: ; // 0x2862fe4 /* 02862FE4 */ cpu->r[12] = cpu->r[12] + 0x00000008u; /* 02862FE8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02862FE8 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02862FE8 */ _t20 = _t19 >> (0x00000002u & 31u); /* 02862FE8 */ _t21 = _t20 & 0x00000001u; /* 02862FE8 */ if (_t21) goto L_02862FD4; else goto L_02862FEC; L_02862FEC: ; // 0x2862fec /* 02862FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02862FF0 */ _t22 = cpu->r[29] + 0x000000D0u; /* 02862FF0 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]); /* 02862FF4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02862FF4 */ _t24 = _t23 & 0x00000001u; /* 02862FF4 */ if (_t24) goto L_02862FFC; else goto L_02862FF8; L_02862FF8: ; // 0x2862ff8 /* 02862FF8 */ _t25 = cpu->r[29] + 0x000000CDu; /* 02862FF8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[30]); L_02862FFC: ; // 0x2862ffc /* 02862FFC */ _t26 = cpu->r[1] + 0x0000000Cu; /* 02862FFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t26); /* 02863000 */ _t27 = cpu->r[1] + 0x0000001Cu; /* 02863000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 02863004 */ _t28 = cpu->r[1] + 0x00000010u; /* 02863004 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28); /* 02863008 */ cpu->lr = cpu->r[0]; /* 0286300C */ _t29 = cpu->r[1] + 0x00000014u; /* 0286300C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 02863010 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02863014 */ return; } // fn_02863018 @ 0x2863018 void Gambit_fn_02863018(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178; L_02863018: ; // 0x2863018 /* 02863018 */ cpu->r[0] = cpu->lr; /* 0286301C */ _t0 = cpu->r[1] + 0xFFFFFFB0u; /* 0286301C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0286301C */ cpu->r[1] = _t0; /* 02863020 */ _t1 = cpu->r[1] + 0x00000054u; /* 02863020 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02863024 */ /* nop */ /* 02863028 */ cpu->r[31] = cpu->r[3]; /* 02863028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0286302C */ cpu->r[28] = cpu->r[4]; /* 02863030 */ cpu->r[29] = cpu->r[5]; /* 02863034 */ cpu->r[30] = cpu->r[6]; /* 02863038 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863038 */ _t3 = _t2 & 0x00000001u; /* 02863038 */ if (_t3) goto L_0286303C; else goto L_0286304C; L_0286303C: ; // 0x286303c /* 0286303C */ cpu->r[3] = 0x000000D8u; /* 02863040 */ Gambit_fn_02801A78(cpu); /* 02863044 */ cpu->r[31] = cpu->r[3]; /* 02863044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02863048 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863048 */ _t5 = _t4 & 0x00000001u; /* 02863048 */ if (_t5) goto L_028634B0; else goto L_0286304C; L_0286304C: ; // 0x286304c /* 0286304C */ cpu->r[3] = cpu->r[31]; /* 02863050 */ cpu->r[4] = cpu->r[28]; /* 02863054 */ cpu->r[5] = cpu->r[30]; /* 02863058 */ Gambit_fn_0285F268(cpu); /* 0286305C */ cpu->r[12] = 0x10130000u; /* 02863060 */ cpu->r[4] = 0x00000004u; /* 02863064 */ cpu->r[25] = cpu->r[31] + 0x000000B4u; /* 02863068 */ cpu->r[12] = cpu->r[12] + 0x00005354u; /* 0286306C */ cpu->r[6] = 0x02860000u; /* 02863070 */ cpu->r[3] = cpu->r[25]; /* 02863074 */ cpu->r[5] = cpu->r[4]; /* 02863078 */ cpu->r[6] = cpu->r[6] + 0x000075BCu; /* 0286307C */ _t6 = cpu->r[31] + 0x00000008u; /* 0286307C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 02863080 */ Gambit_fn_02C82E00(cpu); /* 02863084 */ cpu->r[3] = cpu->r[25] + 0x00000010u; /* 02863088 */ Gambit_fn_0286B768(cpu); /* 0286308C */ cpu->r[26] = 0x00000000u; /* 02863090 */ _t7 = cpu->r[31] + 0x000000CCu; /* 02863090 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[26]); /* 02863094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02863098 */ _t8 = cpu->r[31] + 0x000000CEu; /* 02863098 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[26]); /* 0286309C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286309C */ _t10 = _t9 & 0x00000001u; /* 0286309C */ if (_t10) goto L_028630CC; else goto L_028630A0; L_028630A0: ; // 0x28630a0 /* 028630A0 */ _t11 = cpu->r[30] + 0x0000002Cu; /* 028630A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11); /* 028630A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028630A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028630A8 */ _t13 = _t12 & 0x00000001u; /* 028630A8 */ if (_t13) goto L_028630AC; else goto L_028630CC; L_028630AC: ; // 0x28630ac /* 028630AC */ cpu->r[27] = cpu->r[29]; /* 028630B0 */ _t14 = cpu->r[27] + 0x00000065u; /* 028630B0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t14); /* 028630B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 028630B8 */ _t15 = cpu->r[31] + 0x000000CCu; /* 028630B8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]); /* 028630BC */ _t16 = cpu->r[27] + 0x00000065u; /* 028630BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t16); /* 028630C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 028630C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028630C4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028630C4 */ _t18 = _t17 & 0x00000001u; /* 028630C4 */ if (_t18) goto L_028630F8; else goto L_028630C8; L_028630C8: ; // 0x28630c8 /* 028630C8 */ goto L_028630E8; L_028630CC: ; // 0x28630cc /* 028630CC */ cpu->r[27] = cpu->r[28]; /* 028630D0 */ _t19 = cpu->r[27] + 0x00000065u; /* 028630D0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t19); /* 028630D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 028630D8 */ _t20 = cpu->r[31] + 0x000000CCu; /* 028630D8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]); /* 028630DC */ _t21 = cpu->r[27] + 0x00000065u; /* 028630DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t21); /* 028630E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 028630E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028630E4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028630E4 */ _t23 = _t22 & 0x00000001u; /* 028630E4 */ if (_t23) goto L_028630F8; else goto L_028630E8; L_028630E8: ; // 0x28630e8 /* 028630E8 */ _t24 = cpu->r[31] + 0x000000CEu; /* 028630E8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t24); /* 028630EC */ cpu->r[8] = cpu->r[8] | 0x00000001u; /* 028630F0 */ _t25 = cpu->r[31] + 0x000000CEu; /* 028630F0 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[8]); /* 028630F4 */ _t26 = cpu->r[27] + 0x00000065u; /* 028630F4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t26); L_028630F8: ; // 0x28630f8 /* 028630F8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028630F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028630FC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 028630FC */ _t28 = _t27 & 0x00000001u; /* 028630FC */ if (_t28) goto L_02863110; else goto L_02863100; L_02863100: ; // 0x2863100 /* 02863100 */ _t29 = cpu->r[31] + 0x000000CEu; /* 02863100 */ cpu->r[12] = rbrew_read8(cpu->mem, _t29); /* 02863104 */ cpu->r[12] = cpu->r[12] | 0x00000002u; /* 02863108 */ _t30 = cpu->r[31] + 0x000000CEu; /* 02863108 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[12]); /* 0286310C */ _t31 = cpu->r[27] + 0x00000065u; /* 0286310C */ cpu->r[11] = rbrew_read8(cpu->mem, _t31); L_02863110: ; // 0x2863110 /* 02863110 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Bu); /* 02863110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02863114 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863114 */ _t33 = _t32 & 0x00000001u; /* 02863114 */ if (_t33) goto L_02863124; else goto L_02863118; L_02863118: ; // 0x2863118 /* 02863118 */ _t34 = cpu->r[31] + 0x000000CEu; /* 02863118 */ cpu->r[4] = rbrew_read8(cpu->mem, _t34); /* 0286311C */ cpu->r[4] = cpu->r[4] | 0x00000004u; /* 02863120 */ _t35 = cpu->r[31] + 0x000000CEu; /* 02863120 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[4]); L_02863124: ; // 0x2863124 /* 02863124 */ _t36 = cpu->r[27] + 0x00000068u; /* 02863124 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36); /* 02863128 */ cpu->r[24] = cpu->r[27] + cpu->r[5]; /* 0286312C */ _t37 = cpu->r[24] + 0x00000012u; /* 0286312C */ cpu->r[0] = rbrew_read8(cpu->mem, _t37); /* 02863130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u); /* 02863134 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u); /* 02863134 */ _t39 = _t38 & 0x00000001u; /* 02863134 */ if (_t39) goto L_02863138; else goto L_0286313C; L_02863138: ; // 0x2863138 /* 02863138 */ cpu->r[0] = 0x00000003u; L_0286313C: ; // 0x286313c /* 0286313C */ cpu->r[23] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02863140 */ cpu->r[3] = cpu->r[31]; /* 02863144 */ cpu->r[4] = cpu->r[23]; /* 02863148 */ Gambit_fn_02862F4C(cpu); /* 0286314C */ _t40 = cpu->r[27] + 0x00000054u; /* 0286314C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40); /* 02863150 */ _t41 = cpu->r[31] + 0x000000A4u; /* 02863150 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[0]); /* 02863154 */ _t42 = cpu->r[27] + 0x00000056u; /* 02863154 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t42); /* 02863158 */ _t43 = cpu->r[31] + 0x000000A6u; /* 02863158 */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[9]); /* 0286315C */ _t44 = cpu->r[27] + 0x00000058u; /* 0286315C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t44); /* 02863160 */ _t45 = cpu->r[31] + 0x000000A8u; /* 02863160 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[11]); /* 02863164 */ _t46 = cpu->r[27] + 0x0000005Au; /* 02863164 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t46); /* 02863168 */ /* nop */ /* 0286316C */ _t47 = cpu->r[31] + 0x000000AAu; /* 0286316C */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[4]); /* 02863170 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863170 */ _t49 = _t48 & 0x00000001u; /* 02863170 */ if (_t49) goto L_02863174; else goto L_02863194; L_02863174: ; // 0x2863174 /* 02863174 */ _t50 = cpu->r[31] + 0x000000A6u; /* 02863174 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t50); /* 02863178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0286317C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286317C */ _t52 = _t51 & 0x00000001u; /* 0286317C */ if (_t52) goto L_02863180; else goto L_02863194; L_02863180: ; // 0x2863180 /* 02863180 */ _t53 = cpu->r[31] + 0x000000A8u; /* 02863180 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t53); /* 02863184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02863188 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863188 */ _t55 = _t54 & 0x00000001u; /* 02863188 */ if (_t55) goto L_0286318C; else goto L_02863194; L_0286318C: ; // 0x286318c /* 0286318C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02863190 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863190 */ _t57 = _t56 & 0x00000001u; /* 02863190 */ if (_t57) goto L_028631A0; else goto L_02863194; L_02863194: ; // 0x2863194 /* 02863194 */ _t58 = cpu->r[31] + 0x000000CEu; /* 02863194 */ cpu->r[7] = rbrew_read8(cpu->mem, _t58); /* 02863198 */ cpu->r[7] = cpu->r[7] | 0x00000008u; /* 0286319C */ _t59 = cpu->r[31] + 0x000000CEu; /* 0286319C */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[7]); L_028631A0: ; // 0x28631a0 /* 028631A0 */ _t60 = cpu->r[31] + 0x000000CCu; /* 028631A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t60); /* 028631A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000001u); /* 028631A8 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 028631A8 */ _t62 = _t61 & 0x00000001u; /* 028631A8 */ if (_t62) goto L_028631D8; else goto L_028631AC; L_028631AC: ; // 0x28631ac /* 028631AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u); /* 028631B0 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 028631B0 */ _t64 = _t63 & 0x00000001u; /* 028631B0 */ if (_t64) goto L_02863234; else goto L_028631B4; L_028631B4: ; // 0x28631b4 /* 028631B4 */ _t65 = cpu->r[27] + 0x0000005Cu; /* 028631B4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t65); /* 028631B8 */ _t66 = cpu->r[31] + 0x000000ACu; /* 028631B8 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[12]); /* 028631BC */ _t67 = cpu->r[27] + 0x0000005Eu; /* 028631BC */ cpu->r[0] = rbrew_read16(cpu->mem, _t67); /* 028631C0 */ _t68 = cpu->r[31] + 0x000000AEu; /* 028631C0 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[0]); /* 028631C4 */ _t69 = cpu->r[27] + 0x00000060u; /* 028631C4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t69); /* 028631C8 */ _t70 = cpu->r[31] + 0x000000B0u; /* 028631C8 */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[4]); /* 028631CC */ _t71 = cpu->r[27] + 0x00000062u; /* 028631CC */ cpu->r[5] = rbrew_read16(cpu->mem, _t71); /* 028631D0 */ _t72 = cpu->r[31] + 0x000000B2u; /* 028631D0 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[5]); /* 028631D4 */ goto L_0286329C; L_028631D8: ; // 0x28631d8 /* 028631D8 */ _t73 = cpu->r[27] + 0x0000005Cu; /* 028631D8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t73); /* 028631DC */ cpu->r[6] = 0x10130000u; /* 028631E0 */ _t74 = cpu->r[31] + 0x000000ACu; /* 028631E0 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[9]); /* 028631E4 */ _t75 = cpu->r[27] + 0x0000005Eu; /* 028631E4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t75); /* 028631E8 */ _t76 = cpu->r[6] + 0x00005338u; /* 028631E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t76); /* 028631EC */ _t77 = cpu->r[31] + 0x000000AEu; /* 028631EC */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[10]); /* 028631F0 */ _t78 = cpu->r[31] + 0x000000B0u; /* 028631F0 */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[26]); /* 028631F4 */ cpu->r[12] = 0x43300000u; /* 028631F8 */ _t79 = cpu->r[31] + 0x000000B2u; /* 028631F8 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[26]); /* 028631FC */ _t80 = cpu->r[27] + 0x00000060u; /* 028631FC */ cpu->r[11] = rbrew_read16(cpu->mem, _t80); /* 02863200 */ _t81 = cpu->r[1] + 0x00000010u; /* 02863200 */ rbrew_write32(cpu->mem, _t81, cpu->r[12]); /* 02863204 */ _t82 = cpu->r[1] + 0x00000014u; /* 02863204 */ rbrew_write32(cpu->mem, _t82, cpu->r[11]); /* 02863208 */ _t83 = cpu->r[1] + 0x00000010u; /* 02863208 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t83); /* 0286320C */ _t84 = cpu->r[31] + 0x00000044u; /* 0286320C */ cpu->r[4] = rbrew_read8(cpu->mem, _t84); /* 02863210 */ cpu->f[6] = cpu->f[11] - cpu->f[0]; /* 02863214 */ cpu->r[12] = cpu->r[4] | 0x00000010u; /* 02863218 */ cpu->r[0] = 0x00000004u; /* 0286321C */ cpu->f[0] = (double)(float)cpu->f[6]; /* 02863220 */ _t85 = cpu->r[31] + 0x00000044u; /* 02863220 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[12]); /* 02863224 */ cpu->ctr = cpu->r[0]; /* 02863228 */ cpu->r[5] = 0x00000000u; /* 0286322C */ _t86 = cpu->r[31] + 0x00000040u; /* 0286322C */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]); /* 02863230 */ goto L_028632A8; L_02863234: ; // 0x2863234 /* 02863234 */ _t87 = cpu->r[31] + 0x0000003Cu; /* 02863234 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t87); /* 02863238 */ cpu->r[10] = 0x10130000u; /* 0286323C */ _t88 = cpu->r[27] + 0x0000005Eu; /* 0286323C */ cpu->r[6] = rbrew_read16(cpu->mem, _t88); /* 02863240 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[9]; /* 02863244 */ _t89 = cpu->r[10] + 0x00005338u; /* 02863244 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t89); /* 02863248 */ cpu->r[0] = cpu->r[1] + 0x00000010u; /* 0286324C */ _t90 = cpu->r[31] + 0x00000044u; /* 0286324C */ cpu->r[10] = rbrew_read8(cpu->mem, _t90); /* 02863250 */ cpu->r[9] = 0x43300000u; /* 02863254 */ /* nop */ /* 02863258 */ _t91 = cpu->r[1] + 0x00000012u; /* 02863258 */ cpu->r[0] = rbrew_read16(cpu->mem, _t91); /* 0286325C */ _t92 = cpu->r[1] + 0x00000010u; /* 0286325C */ rbrew_write32(cpu->mem, _t92, cpu->r[9]); /* 02863260 */ cpu->r[5] = cpu->r[0] - cpu->r[6]; /* 02863264 */ _t93 = cpu->r[31] + 0x000000ACu; /* 02863264 */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[5]); /* 02863268 */ _t94 = cpu->r[27] + 0x0000005Eu; /* 02863268 */ cpu->r[7] = rbrew_read16(cpu->mem, _t94); /* 0286326C */ _t95 = cpu->r[31] + 0x000000AEu; /* 0286326C */ rbrew_write16(cpu->mem, _t95, (uint16_t)cpu->r[7]); /* 02863270 */ _t96 = cpu->r[31] + 0x000000B0u; /* 02863270 */ rbrew_write16(cpu->mem, _t96, (uint16_t)cpu->r[26]); /* 02863274 */ _t97 = cpu->r[31] + 0x000000B2u; /* 02863274 */ rbrew_write16(cpu->mem, _t97, (uint16_t)cpu->r[26]); /* 02863278 */ _t98 = cpu->r[27] + 0x00000060u; /* 02863278 */ cpu->r[8] = rbrew_read16(cpu->mem, _t98); /* 0286327C */ _t99 = cpu->r[1] + 0x00000014u; /* 0286327C */ rbrew_write32(cpu->mem, _t99, cpu->r[8]); /* 02863280 */ _t100 = cpu->r[1] + 0x00000010u; /* 02863280 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t100); /* 02863284 */ cpu->r[11] = cpu->r[10] | 0x00000010u; /* 02863288 */ cpu->f[8] = cpu->f[7] - cpu->f[13]; /* 0286328C */ _t101 = cpu->r[31] + 0x00000044u; /* 0286328C */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[11]); /* 02863290 */ cpu->f[10] = (double)(float)cpu->f[8]; /* 02863294 */ _t102 = cpu->r[31] + 0x0000003Cu; /* 02863294 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[9]); /* 02863298 */ _t103 = cpu->r[31] + 0x00000040u; /* 02863298 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[10]); L_0286329C: ; // 0x286329c /* 0286329C */ cpu->r[0] = 0x00000004u; /* 028632A0 */ cpu->ctr = cpu->r[0]; /* 028632A4 */ cpu->r[5] = 0x00000000u; L_028632A8: ; // 0x28632a8 /* 028632A8 */ cpu->r[11] = cpu->r[24] + cpu->r[5]; /* 028632AC */ _t104 = cpu->r[11] + 0x00000002u; /* 028632AC */ cpu->r[8] = rbrew_read8(cpu->mem, _t104); /* 028632B0 */ _t105 = cpu->r[11] + 0x00000003u; /* 028632B0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t105); /* 028632B4 */ _t106 = cpu->r[11] + 0x00000000u; /* 028632B4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t106); /* 028632B8 */ _t107 = cpu->r[11] + 0x00000001u; /* 028632B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t107); /* 028632BC */ _t108 = cpu->r[1] + 0x00000008u; /* 028632BC */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[10]); /* 028632C0 */ _t109 = cpu->r[1] + 0x0000000Au; /* 028632C0 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[8]); /* 028632C4 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 028632C8 */ _t110 = cpu->r[1] + 0x00000009u; /* 028632C8 */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[0]); /* 028632CC */ cpu->r[9] = cpu->r[25] + cpu->r[5]; /* 028632D0 */ _t111 = cpu->r[1] + 0x0000000Bu; /* 028632D0 */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[7]); /* 028632D4 */ /* nop */ /* 028632D8 */ cpu->r[5] = cpu->r[5] + 0x00000004u; /* 028632DC */ /* nop */ /* 028632E0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028632E0 */ _t112 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028632E0 */ _t113 = _t112 >> (0x00000002u & 31u); /* 028632E0 */ _t114 = _t113 & 0x00000001u; /* 028632E0 */ if (_t114) goto L_028632A8; else goto L_028632E4; L_028632E4: ; // 0x28632e4 /* 028632E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028632E8 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u); /* 028632E8 */ _t116 = _t115 & 0x00000001u; /* 028632E8 */ if (_t116) goto L_02863308; else goto L_028632EC; L_028632EC: ; // 0x28632ec /* 028632EC */ _t117 = cpu->r[25] + 0x00000010u; /* 028632EC */ cpu->r[12] = rbrew_read8(cpu->mem, _t117); /* 028632F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028632F4 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u); /* 028632F4 */ _t119 = _t118 & 0x00000001u; /* 028632F4 */ if (_t119) goto L_02863308; else goto L_028632F8; L_028632F8: ; // 0x28632f8 /* 028632F8 */ cpu->r[5] = cpu->r[23]; /* 028632FC */ cpu->r[4] = cpu->r[24] + 0x00000014u; /* 02863300 */ cpu->r[3] = cpu->r[25] + 0x00000010u; /* 02863304 */ Gambit_fn_0286B9A4(cpu); L_02863308: ; // 0x2863308 /* 02863308 */ _t120 = cpu->r[28] + 0x00000068u; /* 02863308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120); /* 0286330C */ _t121 = cpu->r[30] + 0x00000020u; /* 0286330C */ cpu->r[3] = rbrew_read32(cpu->mem, _t121); /* 02863310 */ cpu->r[5] = cpu->r[28] + cpu->r[0]; /* 02863314 */ _t122 = cpu->r[5] + 0x00000010u; /* 02863314 */ cpu->r[4] = rbrew_read16(cpu->mem, _t122); /* 02863318 */ Gambit_fn_0286BA10(cpu); /* 0286331C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02863320 */ cpu->r[25] = 0x00000000u; /* 02863324 */ cpu->r[24] = cpu->r[3]; /* 02863328 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863328 */ _t124 = _t123 & 0x00000001u; /* 02863328 */ if (_t124) goto L_02863344; else goto L_0286332C; L_0286332C: ; // 0x286332c /* 0286332C */ _t125 = cpu->r[29] + 0x00000068u; /* 0286332C */ cpu->r[4] = rbrew_read32(cpu->mem, _t125); /* 02863330 */ _t126 = cpu->r[30] + 0x00000024u; /* 02863330 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126); /* 02863334 */ cpu->r[9] = cpu->r[29] + cpu->r[4]; /* 02863338 */ _t127 = cpu->r[9] + 0x00000010u; /* 02863338 */ cpu->r[4] = rbrew_read16(cpu->mem, _t127); /* 0286333C */ Gambit_fn_0286BA10(cpu); /* 02863340 */ cpu->r[25] = cpu->r[3]; L_02863344: ; // 0x2863344 /* 02863344 */ cpu->r[3] = 0x00000020u; /* 02863348 */ cpu->r[4] = 0x00000004u; /* 0286334C */ Gambit_fn_02869E8C(cpu); /* 02863350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02863354 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863354 */ _t129 = _t128 & 0x00000001u; /* 02863354 */ if (_t129) goto L_0286338C; else goto L_02863358; L_02863358: ; // 0x2863358 /* 02863358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0286335C */ _t130 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286335C */ _t131 = _t130 & 0x00000001u; /* 0286335C */ if (_t131) goto L_0286338C; else goto L_02863360; L_02863360: ; // 0x2863360 /* 02863360 */ cpu->r[6] = cpu->r[30]; /* 02863364 */ cpu->r[5] = cpu->r[25]; /* 02863368 */ cpu->r[4] = cpu->r[24]; /* 0286336C */ Gambit_fn_0286C334(cpu); /* 02863370 */ _t132 = cpu->r[31] + 0x000000D4u; /* 02863370 */ rbrew_write32(cpu->mem, _t132, cpu->r[3]); /* 02863374 */ _t133 = cpu->r[31] + 0x000000D0u; /* 02863374 */ rbrew_write32(cpu->mem, _t133, cpu->r[26]); /* 02863378 */ _t134 = cpu->r[31] + 0x000000CDu; /* 02863378 */ rbrew_write8(cpu->mem, _t134, (uint8_t)cpu->r[26]); /* 0286337C */ _t135 = cpu->r[27] + 0x00000064u; /* 0286337C */ cpu->r[4] = rbrew_read8(cpu->mem, _t135); /* 02863380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02863384 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863384 */ _t137 = _t136 & 0x00000001u; /* 02863384 */ if (_t137) goto L_028634B0; else goto L_02863388; L_02863388: ; // 0x2863388 /* 02863388 */ goto L_028633A8; L_0286338C: ; // 0x286338c /* 0286338C */ cpu->r[3] = 0x00000000u; /* 02863390 */ _t138 = cpu->r[31] + 0x000000CDu; /* 02863390 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[26]); /* 02863394 */ _t139 = cpu->r[31] + 0x000000D4u; /* 02863394 */ rbrew_write32(cpu->mem, _t139, cpu->r[3]); /* 02863398 */ _t140 = cpu->r[31] + 0x000000D0u; /* 02863398 */ rbrew_write32(cpu->mem, _t140, cpu->r[26]); /* 0286339C */ _t141 = cpu->r[27] + 0x00000064u; /* 0286339C */ cpu->r[4] = rbrew_read8(cpu->mem, _t141); /* 028633A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028633A4 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u); /* 028633A4 */ _t143 = _t142 & 0x00000001u; /* 028633A4 */ if (_t143) goto L_028634B0; else goto L_028633A8; L_028633A8: ; // 0x28633a8 /* 028633A8 */ cpu->r[3] = cpu->r[31]; /* 028633AC */ Gambit_fn_02862F5C(cpu); /* 028633B0 */ _t144 = cpu->r[27] + 0x0000006Cu; /* 028633B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t144); /* 028633B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028633B8 */ _t145 = cpu->r[28] + 0x0000006Cu; /* 028633B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t145); /* 028633BC */ cpu->r[23] = 0x00000000u; /* 028633C0 */ cpu->r[21] = cpu->r[27] + cpu->r[5]; /* 028633C4 */ _t146 = cpu->r[31] + 0x000000CDu; /* 028633C4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t146); /* 028633C8 */ cpu->r[22] = cpu->r[28] + cpu->r[6]; /* 028633CC */ _t147 = cpu->cr[0] >> (0x00000001u & 31u); /* 028633CC */ _t148 = _t147 & 0x00000001u; /* 028633CC */ if (_t148) goto L_028633D8; else goto L_028633D0; L_028633D0: ; // 0x28633d0 /* 028633D0 */ _t149 = cpu->r[29] + 0x0000006Cu; /* 028633D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t149); /* 028633D4 */ cpu->r[23] = cpu->r[29] + cpu->r[7]; L_028633D8: ; // 0x28633d8 /* 028633D8 */ cpu->r[24] = 0x00000000u; /* 028633DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[8]); /* 028633E0 */ _t150 = cpu->cr[0] >> (0x00000003u & 31u); /* 028633E0 */ _t151 = _t150 & 0x00000001u; /* 028633E0 */ if (_t151) goto L_028633E4; else goto L_028634B0; L_028633E4: ; // 0x28633e4 /* 028633E4 */ cpu->r[25] = 0x00000000u; /* 028633E8 */ cpu->r[26] = cpu->r[25]; L_028633EC: ; // 0x28633ec /* 028633EC */ _t152 = cpu->r[21] + cpu->r[25]; /* 028633EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t152); /* 028633F0 */ _t153 = cpu->r[31] + 0x000000D0u; /* 028633F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t153); /* 028633F4 */ cpu->r[7] = cpu->r[27] + cpu->r[9]; /* 028633F8 */ _t154 = cpu->r[7] + 0x00000002u; /* 028633F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t154); /* 028633FC */ _t155 = cpu->r[10] + cpu->r[26]; /* 028633FC */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[0]); /* 02863400 */ _t156 = cpu->r[22] + cpu->r[25]; /* 02863400 */ cpu->r[12] = rbrew_read32(cpu->mem, _t156); /* 02863404 */ _t157 = cpu->r[30] + 0x00000020u; /* 02863404 */ cpu->r[3] = rbrew_read32(cpu->mem, _t157); /* 02863408 */ _t158 = cpu->r[28] + cpu->r[12]; /* 02863408 */ cpu->r[4] = rbrew_read16(cpu->mem, _t158); /* 0286340C */ Gambit_fn_0286BA10(cpu); /* 02863410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02863414 */ cpu->r[20] = 0x00000000u; /* 02863418 */ cpu->r[19] = cpu->r[3]; /* 0286341C */ _t159 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286341C */ _t160 = _t159 & 0x00000001u; /* 0286341C */ if (_t160) goto L_02863434; else goto L_02863420; L_02863420: ; // 0x2863420 /* 02863420 */ _t161 = cpu->r[23] + cpu->r[25]; /* 02863420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161); /* 02863424 */ _t162 = cpu->r[30] + 0x00000024u; /* 02863424 */ cpu->r[3] = rbrew_read32(cpu->mem, _t162); /* 02863428 */ _t163 = cpu->r[29] + cpu->r[0]; /* 02863428 */ cpu->r[4] = rbrew_read16(cpu->mem, _t163); /* 0286342C */ Gambit_fn_0286BA10(cpu); /* 02863430 */ cpu->r[20] = cpu->r[3]; L_02863434: ; // 0x2863434 /* 02863434 */ cpu->r[3] = 0x00000020u; /* 02863438 */ cpu->r[4] = 0x00000004u; /* 0286343C */ Gambit_fn_02869E8C(cpu); /* 02863440 */ cpu->r[11] = cpu->r[3]; /* 02863440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02863444 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863444 */ _t165 = _t164 & 0x00000001u; /* 02863444 */ if (_t165) goto L_02863488; else goto L_02863448; L_02863448: ; // 0x2863448 /* 02863448 */ cpu->r[3] = cpu->r[11]; /* 02863448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0286344C */ _t166 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286344C */ _t167 = _t166 & 0x00000001u; /* 0286344C */ if (_t167) goto L_02863488; else goto L_02863450; L_02863450: ; // 0x2863450 /* 02863450 */ cpu->r[4] = cpu->r[19]; /* 02863454 */ cpu->r[5] = cpu->r[20]; /* 02863458 */ cpu->r[6] = cpu->r[30]; /* 0286345C */ Gambit_fn_0286C334(cpu); /* 02863460 */ _t168 = cpu->r[31] + 0x000000D0u; /* 02863460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t168); /* 02863464 */ cpu->r[4] = cpu->r[5] + cpu->r[26]; /* 02863468 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0286346C */ _t169 = cpu->r[4] + 0x00000004u; /* 0286346C */ rbrew_write32(cpu->mem, _t169, cpu->r[3]); /* 02863470 */ _t170 = cpu->r[31] + 0x000000CDu; /* 02863470 */ cpu->r[0] = rbrew_read8(cpu->mem, _t170); /* 02863474 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 02863478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]); /* 0286347C */ cpu->r[26] = cpu->r[26] + 0x00000008u; /* 02863480 */ _t171 = cpu->cr[0] >> (0x00000003u & 31u); /* 02863480 */ _t172 = _t171 & 0x00000001u; /* 02863480 */ if (_t172) goto L_028633EC; else goto L_02863484; L_02863484: ; // 0x2863484 /* 02863484 */ goto L_028634B0; L_02863488: ; // 0x2863488 /* 02863488 */ _t173 = cpu->r[31] + 0x000000D0u; /* 02863488 */ cpu->r[5] = rbrew_read32(cpu->mem, _t173); /* 0286348C */ cpu->r[0] = 0x00000000u; /* 02863490 */ cpu->r[4] = cpu->r[5] + cpu->r[26]; /* 02863494 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 02863498 */ _t174 = cpu->r[4] + 0x00000004u; /* 02863498 */ rbrew_write32(cpu->mem, _t174, cpu->r[0]); /* 0286349C */ _t175 = cpu->r[31] + 0x000000CDu; /* 0286349C */ cpu->r[0] = rbrew_read8(cpu->mem, _t175); /* 028634A0 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 028634A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]); /* 028634A8 */ cpu->r[26] = cpu->r[26] + 0x00000008u; /* 028634AC */ _t176 = cpu->cr[0] >> (0x00000003u & 31u); /* 028634AC */ _t177 = _t176 & 0x00000001u; /* 028634AC */ if (_t177) goto L_028633EC; else goto L_028634B0; L_028634B0: ; // 0x28634b0 /* 028634B0 */ cpu->r[3] = cpu->r[31]; /* 028634B4 */ /* nop */ /* 028634B8 */ _t178 = cpu->r[1] + 0x00000054u; /* 028634B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178); /* 028634BC */ cpu->lr = cpu->r[0]; /* 028634C0 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 028634C4 */ return; } // fn_0286301C @ 0x286301c void Gambit_fn_0286301C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178; L_0286301C: ; // 0x286301c /* 0286301C */ _t0 = cpu->r[1] + 0xFFFFFFB0u; /* 0286301C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0286301C */ cpu->r[1] = _t0; /* 02863020 */ _t1 = cpu->r[1] + 0x00000054u; /* 02863020 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02863024 */ /* nop */ /* 02863028 */ cpu->r[31] = cpu->r[3]; /* 02863028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0286302C */ cpu->r[28] = cpu->r[4]; /* 02863030 */ cpu->r[29] = cpu->r[5]; /* 02863034 */ cpu->r[30] = cpu->r[6]; /* 02863038 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863038 */ _t3 = _t2 & 0x00000001u; /* 02863038 */ if (_t3) goto L_0286303C; else goto L_0286304C; L_0286303C: ; // 0x286303c /* 0286303C */ cpu->r[3] = 0x000000D8u; /* 02863040 */ Gambit_fn_02801A78(cpu); /* 02863044 */ cpu->r[31] = cpu->r[3]; /* 02863044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02863048 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863048 */ _t5 = _t4 & 0x00000001u; /* 02863048 */ if (_t5) goto L_028634B0; else goto L_0286304C; L_0286304C: ; // 0x286304c /* 0286304C */ cpu->r[3] = cpu->r[31]; /* 02863050 */ cpu->r[4] = cpu->r[28]; /* 02863054 */ cpu->r[5] = cpu->r[30]; /* 02863058 */ Gambit_fn_0285F268(cpu); /* 0286305C */ cpu->r[12] = 0x10130000u; /* 02863060 */ cpu->r[4] = 0x00000004u; /* 02863064 */ cpu->r[25] = cpu->r[31] + 0x000000B4u; /* 02863068 */ cpu->r[12] = cpu->r[12] + 0x00005354u; /* 0286306C */ cpu->r[6] = 0x02860000u; /* 02863070 */ cpu->r[3] = cpu->r[25]; /* 02863074 */ cpu->r[5] = cpu->r[4]; /* 02863078 */ cpu->r[6] = cpu->r[6] + 0x000075BCu; /* 0286307C */ _t6 = cpu->r[31] + 0x00000008u; /* 0286307C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 02863080 */ Gambit_fn_02C82E00(cpu); /* 02863084 */ cpu->r[3] = cpu->r[25] + 0x00000010u; /* 02863088 */ Gambit_fn_0286B768(cpu); /* 0286308C */ cpu->r[26] = 0x00000000u; /* 02863090 */ _t7 = cpu->r[31] + 0x000000CCu; /* 02863090 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[26]); /* 02863094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02863098 */ _t8 = cpu->r[31] + 0x000000CEu; /* 02863098 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[26]); /* 0286309C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286309C */ _t10 = _t9 & 0x00000001u; /* 0286309C */ if (_t10) goto L_028630CC; else goto L_028630A0; L_028630A0: ; // 0x28630a0 /* 028630A0 */ _t11 = cpu->r[30] + 0x0000002Cu; /* 028630A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11); /* 028630A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028630A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 028630A8 */ _t13 = _t12 & 0x00000001u; /* 028630A8 */ if (_t13) goto L_028630AC; else goto L_028630CC; L_028630AC: ; // 0x28630ac /* 028630AC */ cpu->r[27] = cpu->r[29]; /* 028630B0 */ _t14 = cpu->r[27] + 0x00000065u; /* 028630B0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t14); /* 028630B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 028630B8 */ _t15 = cpu->r[31] + 0x000000CCu; /* 028630B8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]); /* 028630BC */ _t16 = cpu->r[27] + 0x00000065u; /* 028630BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t16); /* 028630C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 028630C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028630C4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028630C4 */ _t18 = _t17 & 0x00000001u; /* 028630C4 */ if (_t18) goto L_028630F8; else goto L_028630C8; L_028630C8: ; // 0x28630c8 /* 028630C8 */ goto L_028630E8; L_028630CC: ; // 0x28630cc /* 028630CC */ cpu->r[27] = cpu->r[28]; /* 028630D0 */ _t19 = cpu->r[27] + 0x00000065u; /* 028630D0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t19); /* 028630D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu); /* 028630D8 */ _t20 = cpu->r[31] + 0x000000CCu; /* 028630D8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]); /* 028630DC */ _t21 = cpu->r[27] + 0x00000065u; /* 028630DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t21); /* 028630E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu); /* 028630E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028630E4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 028630E4 */ _t23 = _t22 & 0x00000001u; /* 028630E4 */ if (_t23) goto L_028630F8; else goto L_028630E8; L_028630E8: ; // 0x28630e8 /* 028630E8 */ _t24 = cpu->r[31] + 0x000000CEu; /* 028630E8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t24); /* 028630EC */ cpu->r[8] = cpu->r[8] | 0x00000001u; /* 028630F0 */ _t25 = cpu->r[31] + 0x000000CEu; /* 028630F0 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[8]); /* 028630F4 */ _t26 = cpu->r[27] + 0x00000065u; /* 028630F4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t26); L_028630F8: ; // 0x28630f8 /* 028630F8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028630F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 028630FC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 028630FC */ _t28 = _t27 & 0x00000001u; /* 028630FC */ if (_t28) goto L_02863110; else goto L_02863100; L_02863100: ; // 0x2863100 /* 02863100 */ _t29 = cpu->r[31] + 0x000000CEu; /* 02863100 */ cpu->r[12] = rbrew_read8(cpu->mem, _t29); /* 02863104 */ cpu->r[12] = cpu->r[12] | 0x00000002u; /* 02863108 */ _t30 = cpu->r[31] + 0x000000CEu; /* 02863108 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[12]); /* 0286310C */ _t31 = cpu->r[27] + 0x00000065u; /* 0286310C */ cpu->r[11] = rbrew_read8(cpu->mem, _t31); L_02863110: ; // 0x2863110 /* 02863110 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Bu); /* 02863110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02863114 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863114 */ _t33 = _t32 & 0x00000001u; /* 02863114 */ if (_t33) goto L_02863124; else goto L_02863118; L_02863118: ; // 0x2863118 /* 02863118 */ _t34 = cpu->r[31] + 0x000000CEu; /* 02863118 */ cpu->r[4] = rbrew_read8(cpu->mem, _t34); /* 0286311C */ cpu->r[4] = cpu->r[4] | 0x00000004u; /* 02863120 */ _t35 = cpu->r[31] + 0x000000CEu; /* 02863120 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[4]); L_02863124: ; // 0x2863124 /* 02863124 */ _t36 = cpu->r[27] + 0x00000068u; /* 02863124 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36); /* 02863128 */ cpu->r[24] = cpu->r[27] + cpu->r[5]; /* 0286312C */ _t37 = cpu->r[24] + 0x00000012u; /* 0286312C */ cpu->r[0] = rbrew_read8(cpu->mem, _t37); /* 02863130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u); /* 02863134 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u); /* 02863134 */ _t39 = _t38 & 0x00000001u; /* 02863134 */ if (_t39) goto L_02863138; else goto L_0286313C; L_02863138: ; // 0x2863138 /* 02863138 */ cpu->r[0] = 0x00000003u; L_0286313C: ; // 0x286313c /* 0286313C */ cpu->r[23] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02863140 */ cpu->r[3] = cpu->r[31]; /* 02863144 */ cpu->r[4] = cpu->r[23]; /* 02863148 */ Gambit_fn_02862F4C(cpu); /* 0286314C */ _t40 = cpu->r[27] + 0x00000054u; /* 0286314C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40); /* 02863150 */ _t41 = cpu->r[31] + 0x000000A4u; /* 02863150 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[0]); /* 02863154 */ _t42 = cpu->r[27] + 0x00000056u; /* 02863154 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t42); /* 02863158 */ _t43 = cpu->r[31] + 0x000000A6u; /* 02863158 */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[9]); /* 0286315C */ _t44 = cpu->r[27] + 0x00000058u; /* 0286315C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t44); /* 02863160 */ _t45 = cpu->r[31] + 0x000000A8u; /* 02863160 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[11]); /* 02863164 */ _t46 = cpu->r[27] + 0x0000005Au; /* 02863164 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t46); /* 02863168 */ /* nop */ /* 0286316C */ _t47 = cpu->r[31] + 0x000000AAu; /* 0286316C */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[4]); /* 02863170 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863170 */ _t49 = _t48 & 0x00000001u; /* 02863170 */ if (_t49) goto L_02863174; else goto L_02863194; L_02863174: ; // 0x2863174 /* 02863174 */ _t50 = cpu->r[31] + 0x000000A6u; /* 02863174 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t50); /* 02863178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0286317C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286317C */ _t52 = _t51 & 0x00000001u; /* 0286317C */ if (_t52) goto L_02863180; else goto L_02863194; L_02863180: ; // 0x2863180 /* 02863180 */ _t53 = cpu->r[31] + 0x000000A8u; /* 02863180 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t53); /* 02863184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02863188 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863188 */ _t55 = _t54 & 0x00000001u; /* 02863188 */ if (_t55) goto L_0286318C; else goto L_02863194; L_0286318C: ; // 0x286318c /* 0286318C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02863190 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863190 */ _t57 = _t56 & 0x00000001u; /* 02863190 */ if (_t57) goto L_028631A0; else goto L_02863194; L_02863194: ; // 0x2863194 /* 02863194 */ _t58 = cpu->r[31] + 0x000000CEu; /* 02863194 */ cpu->r[7] = rbrew_read8(cpu->mem, _t58); /* 02863198 */ cpu->r[7] = cpu->r[7] | 0x00000008u; /* 0286319C */ _t59 = cpu->r[31] + 0x000000CEu; /* 0286319C */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[7]); L_028631A0: ; // 0x28631a0 /* 028631A0 */ _t60 = cpu->r[31] + 0x000000CCu; /* 028631A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t60); /* 028631A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000001u); /* 028631A8 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 028631A8 */ _t62 = _t61 & 0x00000001u; /* 028631A8 */ if (_t62) goto L_028631D8; else goto L_028631AC; L_028631AC: ; // 0x28631ac /* 028631AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u); /* 028631B0 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 028631B0 */ _t64 = _t63 & 0x00000001u; /* 028631B0 */ if (_t64) goto L_02863234; else goto L_028631B4; L_028631B4: ; // 0x28631b4 /* 028631B4 */ _t65 = cpu->r[27] + 0x0000005Cu; /* 028631B4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t65); /* 028631B8 */ _t66 = cpu->r[31] + 0x000000ACu; /* 028631B8 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[12]); /* 028631BC */ _t67 = cpu->r[27] + 0x0000005Eu; /* 028631BC */ cpu->r[0] = rbrew_read16(cpu->mem, _t67); /* 028631C0 */ _t68 = cpu->r[31] + 0x000000AEu; /* 028631C0 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[0]); /* 028631C4 */ _t69 = cpu->r[27] + 0x00000060u; /* 028631C4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t69); /* 028631C8 */ _t70 = cpu->r[31] + 0x000000B0u; /* 028631C8 */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[4]); /* 028631CC */ _t71 = cpu->r[27] + 0x00000062u; /* 028631CC */ cpu->r[5] = rbrew_read16(cpu->mem, _t71); /* 028631D0 */ _t72 = cpu->r[31] + 0x000000B2u; /* 028631D0 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[5]); /* 028631D4 */ goto L_0286329C; L_028631D8: ; // 0x28631d8 /* 028631D8 */ _t73 = cpu->r[27] + 0x0000005Cu; /* 028631D8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t73); /* 028631DC */ cpu->r[6] = 0x10130000u; /* 028631E0 */ _t74 = cpu->r[31] + 0x000000ACu; /* 028631E0 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[9]); /* 028631E4 */ _t75 = cpu->r[27] + 0x0000005Eu; /* 028631E4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t75); /* 028631E8 */ _t76 = cpu->r[6] + 0x00005338u; /* 028631E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t76); /* 028631EC */ _t77 = cpu->r[31] + 0x000000AEu; /* 028631EC */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[10]); /* 028631F0 */ _t78 = cpu->r[31] + 0x000000B0u; /* 028631F0 */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[26]); /* 028631F4 */ cpu->r[12] = 0x43300000u; /* 028631F8 */ _t79 = cpu->r[31] + 0x000000B2u; /* 028631F8 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[26]); /* 028631FC */ _t80 = cpu->r[27] + 0x00000060u; /* 028631FC */ cpu->r[11] = rbrew_read16(cpu->mem, _t80); /* 02863200 */ _t81 = cpu->r[1] + 0x00000010u; /* 02863200 */ rbrew_write32(cpu->mem, _t81, cpu->r[12]); /* 02863204 */ _t82 = cpu->r[1] + 0x00000014u; /* 02863204 */ rbrew_write32(cpu->mem, _t82, cpu->r[11]); /* 02863208 */ _t83 = cpu->r[1] + 0x00000010u; /* 02863208 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t83); /* 0286320C */ _t84 = cpu->r[31] + 0x00000044u; /* 0286320C */ cpu->r[4] = rbrew_read8(cpu->mem, _t84); /* 02863210 */ cpu->f[6] = cpu->f[11] - cpu->f[0]; /* 02863214 */ cpu->r[12] = cpu->r[4] | 0x00000010u; /* 02863218 */ cpu->r[0] = 0x00000004u; /* 0286321C */ cpu->f[0] = (double)(float)cpu->f[6]; /* 02863220 */ _t85 = cpu->r[31] + 0x00000044u; /* 02863220 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[12]); /* 02863224 */ cpu->ctr = cpu->r[0]; /* 02863228 */ cpu->r[5] = 0x00000000u; /* 0286322C */ _t86 = cpu->r[31] + 0x00000040u; /* 0286322C */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]); /* 02863230 */ goto L_028632A8; L_02863234: ; // 0x2863234 /* 02863234 */ _t87 = cpu->r[31] + 0x0000003Cu; /* 02863234 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t87); /* 02863238 */ cpu->r[10] = 0x10130000u; /* 0286323C */ _t88 = cpu->r[27] + 0x0000005Eu; /* 0286323C */ cpu->r[6] = rbrew_read16(cpu->mem, _t88); /* 02863240 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[9]; /* 02863244 */ _t89 = cpu->r[10] + 0x00005338u; /* 02863244 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t89); /* 02863248 */ cpu->r[0] = cpu->r[1] + 0x00000010u; /* 0286324C */ _t90 = cpu->r[31] + 0x00000044u; /* 0286324C */ cpu->r[10] = rbrew_read8(cpu->mem, _t90); /* 02863250 */ cpu->r[9] = 0x43300000u; /* 02863254 */ /* nop */ /* 02863258 */ _t91 = cpu->r[1] + 0x00000012u; /* 02863258 */ cpu->r[0] = rbrew_read16(cpu->mem, _t91); /* 0286325C */ _t92 = cpu->r[1] + 0x00000010u; /* 0286325C */ rbrew_write32(cpu->mem, _t92, cpu->r[9]); /* 02863260 */ cpu->r[5] = cpu->r[0] - cpu->r[6]; /* 02863264 */ _t93 = cpu->r[31] + 0x000000ACu; /* 02863264 */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[5]); /* 02863268 */ _t94 = cpu->r[27] + 0x0000005Eu; /* 02863268 */ cpu->r[7] = rbrew_read16(cpu->mem, _t94); /* 0286326C */ _t95 = cpu->r[31] + 0x000000AEu; /* 0286326C */ rbrew_write16(cpu->mem, _t95, (uint16_t)cpu->r[7]); /* 02863270 */ _t96 = cpu->r[31] + 0x000000B0u; /* 02863270 */ rbrew_write16(cpu->mem, _t96, (uint16_t)cpu->r[26]); /* 02863274 */ _t97 = cpu->r[31] + 0x000000B2u; /* 02863274 */ rbrew_write16(cpu->mem, _t97, (uint16_t)cpu->r[26]); /* 02863278 */ _t98 = cpu->r[27] + 0x00000060u; /* 02863278 */ cpu->r[8] = rbrew_read16(cpu->mem, _t98); /* 0286327C */ _t99 = cpu->r[1] + 0x00000014u; /* 0286327C */ rbrew_write32(cpu->mem, _t99, cpu->r[8]); /* 02863280 */ _t100 = cpu->r[1] + 0x00000010u; /* 02863280 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t100); /* 02863284 */ cpu->r[11] = cpu->r[10] | 0x00000010u; /* 02863288 */ cpu->f[8] = cpu->f[7] - cpu->f[13]; /* 0286328C */ _t101 = cpu->r[31] + 0x00000044u; /* 0286328C */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[11]); /* 02863290 */ cpu->f[10] = (double)(float)cpu->f[8]; /* 02863294 */ _t102 = cpu->r[31] + 0x0000003Cu; /* 02863294 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[9]); /* 02863298 */ _t103 = cpu->r[31] + 0x00000040u; /* 02863298 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[10]); L_0286329C: ; // 0x286329c /* 0286329C */ cpu->r[0] = 0x00000004u; /* 028632A0 */ cpu->ctr = cpu->r[0]; /* 028632A4 */ cpu->r[5] = 0x00000000u; L_028632A8: ; // 0x28632a8 /* 028632A8 */ cpu->r[11] = cpu->r[24] + cpu->r[5]; /* 028632AC */ _t104 = cpu->r[11] + 0x00000002u; /* 028632AC */ cpu->r[8] = rbrew_read8(cpu->mem, _t104); /* 028632B0 */ _t105 = cpu->r[11] + 0x00000003u; /* 028632B0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t105); /* 028632B4 */ _t106 = cpu->r[11] + 0x00000000u; /* 028632B4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t106); /* 028632B8 */ _t107 = cpu->r[11] + 0x00000001u; /* 028632B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t107); /* 028632BC */ _t108 = cpu->r[1] + 0x00000008u; /* 028632BC */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[10]); /* 028632C0 */ _t109 = cpu->r[1] + 0x0000000Au; /* 028632C0 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[8]); /* 028632C4 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 028632C8 */ _t110 = cpu->r[1] + 0x00000009u; /* 028632C8 */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[0]); /* 028632CC */ cpu->r[9] = cpu->r[25] + cpu->r[5]; /* 028632D0 */ _t111 = cpu->r[1] + 0x0000000Bu; /* 028632D0 */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[7]); /* 028632D4 */ /* nop */ /* 028632D8 */ cpu->r[5] = cpu->r[5] + 0x00000004u; /* 028632DC */ /* nop */ /* 028632E0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 028632E0 */ _t112 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 028632E0 */ _t113 = _t112 >> (0x00000002u & 31u); /* 028632E0 */ _t114 = _t113 & 0x00000001u; /* 028632E0 */ if (_t114) goto L_028632A8; else goto L_028632E4; L_028632E4: ; // 0x28632e4 /* 028632E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 028632E8 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u); /* 028632E8 */ _t116 = _t115 & 0x00000001u; /* 028632E8 */ if (_t116) goto L_02863308; else goto L_028632EC; L_028632EC: ; // 0x28632ec /* 028632EC */ _t117 = cpu->r[25] + 0x00000010u; /* 028632EC */ cpu->r[12] = rbrew_read8(cpu->mem, _t117); /* 028632F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 028632F4 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u); /* 028632F4 */ _t119 = _t118 & 0x00000001u; /* 028632F4 */ if (_t119) goto L_02863308; else goto L_028632F8; L_028632F8: ; // 0x28632f8 /* 028632F8 */ cpu->r[5] = cpu->r[23]; /* 028632FC */ cpu->r[4] = cpu->r[24] + 0x00000014u; /* 02863300 */ cpu->r[3] = cpu->r[25] + 0x00000010u; /* 02863304 */ Gambit_fn_0286B9A4(cpu); L_02863308: ; // 0x2863308 /* 02863308 */ _t120 = cpu->r[28] + 0x00000068u; /* 02863308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120); /* 0286330C */ _t121 = cpu->r[30] + 0x00000020u; /* 0286330C */ cpu->r[3] = rbrew_read32(cpu->mem, _t121); /* 02863310 */ cpu->r[5] = cpu->r[28] + cpu->r[0]; /* 02863314 */ _t122 = cpu->r[5] + 0x00000010u; /* 02863314 */ cpu->r[4] = rbrew_read16(cpu->mem, _t122); /* 02863318 */ Gambit_fn_0286BA10(cpu); /* 0286331C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02863320 */ cpu->r[25] = 0x00000000u; /* 02863324 */ cpu->r[24] = cpu->r[3]; /* 02863328 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863328 */ _t124 = _t123 & 0x00000001u; /* 02863328 */ if (_t124) goto L_02863344; else goto L_0286332C; L_0286332C: ; // 0x286332c /* 0286332C */ _t125 = cpu->r[29] + 0x00000068u; /* 0286332C */ cpu->r[4] = rbrew_read32(cpu->mem, _t125); /* 02863330 */ _t126 = cpu->r[30] + 0x00000024u; /* 02863330 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126); /* 02863334 */ cpu->r[9] = cpu->r[29] + cpu->r[4]; /* 02863338 */ _t127 = cpu->r[9] + 0x00000010u; /* 02863338 */ cpu->r[4] = rbrew_read16(cpu->mem, _t127); /* 0286333C */ Gambit_fn_0286BA10(cpu); /* 02863340 */ cpu->r[25] = cpu->r[3]; L_02863344: ; // 0x2863344 /* 02863344 */ cpu->r[3] = 0x00000020u; /* 02863348 */ cpu->r[4] = 0x00000004u; /* 0286334C */ Gambit_fn_02869E8C(cpu); /* 02863350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02863354 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863354 */ _t129 = _t128 & 0x00000001u; /* 02863354 */ if (_t129) goto L_0286338C; else goto L_02863358; L_02863358: ; // 0x2863358 /* 02863358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0286335C */ _t130 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286335C */ _t131 = _t130 & 0x00000001u; /* 0286335C */ if (_t131) goto L_0286338C; else goto L_02863360; L_02863360: ; // 0x2863360 /* 02863360 */ cpu->r[6] = cpu->r[30]; /* 02863364 */ cpu->r[5] = cpu->r[25]; /* 02863368 */ cpu->r[4] = cpu->r[24]; /* 0286336C */ Gambit_fn_0286C334(cpu); /* 02863370 */ _t132 = cpu->r[31] + 0x000000D4u; /* 02863370 */ rbrew_write32(cpu->mem, _t132, cpu->r[3]); /* 02863374 */ _t133 = cpu->r[31] + 0x000000D0u; /* 02863374 */ rbrew_write32(cpu->mem, _t133, cpu->r[26]); /* 02863378 */ _t134 = cpu->r[31] + 0x000000CDu; /* 02863378 */ rbrew_write8(cpu->mem, _t134, (uint8_t)cpu->r[26]); /* 0286337C */ _t135 = cpu->r[27] + 0x00000064u; /* 0286337C */ cpu->r[4] = rbrew_read8(cpu->mem, _t135); /* 02863380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02863384 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863384 */ _t137 = _t136 & 0x00000001u; /* 02863384 */ if (_t137) goto L_028634B0; else goto L_02863388; L_02863388: ; // 0x2863388 /* 02863388 */ goto L_028633A8; L_0286338C: ; // 0x286338c /* 0286338C */ cpu->r[3] = 0x00000000u; /* 02863390 */ _t138 = cpu->r[31] + 0x000000CDu; /* 02863390 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[26]); /* 02863394 */ _t139 = cpu->r[31] + 0x000000D4u; /* 02863394 */ rbrew_write32(cpu->mem, _t139, cpu->r[3]); /* 02863398 */ _t140 = cpu->r[31] + 0x000000D0u; /* 02863398 */ rbrew_write32(cpu->mem, _t140, cpu->r[26]); /* 0286339C */ _t141 = cpu->r[27] + 0x00000064u; /* 0286339C */ cpu->r[4] = rbrew_read8(cpu->mem, _t141); /* 028633A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 028633A4 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u); /* 028633A4 */ _t143 = _t142 & 0x00000001u; /* 028633A4 */ if (_t143) goto L_028634B0; else goto L_028633A8; L_028633A8: ; // 0x28633a8 /* 028633A8 */ cpu->r[3] = cpu->r[31]; /* 028633AC */ Gambit_fn_02862F5C(cpu); /* 028633B0 */ _t144 = cpu->r[27] + 0x0000006Cu; /* 028633B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t144); /* 028633B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028633B8 */ _t145 = cpu->r[28] + 0x0000006Cu; /* 028633B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t145); /* 028633BC */ cpu->r[23] = 0x00000000u; /* 028633C0 */ cpu->r[21] = cpu->r[27] + cpu->r[5]; /* 028633C4 */ _t146 = cpu->r[31] + 0x000000CDu; /* 028633C4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t146); /* 028633C8 */ cpu->r[22] = cpu->r[28] + cpu->r[6]; /* 028633CC */ _t147 = cpu->cr[0] >> (0x00000001u & 31u); /* 028633CC */ _t148 = _t147 & 0x00000001u; /* 028633CC */ if (_t148) goto L_028633D8; else goto L_028633D0; L_028633D0: ; // 0x28633d0 /* 028633D0 */ _t149 = cpu->r[29] + 0x0000006Cu; /* 028633D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t149); /* 028633D4 */ cpu->r[23] = cpu->r[29] + cpu->r[7]; L_028633D8: ; // 0x28633d8 /* 028633D8 */ cpu->r[24] = 0x00000000u; /* 028633DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[8]); /* 028633E0 */ _t150 = cpu->cr[0] >> (0x00000003u & 31u); /* 028633E0 */ _t151 = _t150 & 0x00000001u; /* 028633E0 */ if (_t151) goto L_028633E4; else goto L_028634B0; L_028633E4: ; // 0x28633e4 /* 028633E4 */ cpu->r[25] = 0x00000000u; /* 028633E8 */ cpu->r[26] = cpu->r[25]; L_028633EC: ; // 0x28633ec /* 028633EC */ _t152 = cpu->r[21] + cpu->r[25]; /* 028633EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t152); /* 028633F0 */ _t153 = cpu->r[31] + 0x000000D0u; /* 028633F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t153); /* 028633F4 */ cpu->r[7] = cpu->r[27] + cpu->r[9]; /* 028633F8 */ _t154 = cpu->r[7] + 0x00000002u; /* 028633F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t154); /* 028633FC */ _t155 = cpu->r[10] + cpu->r[26]; /* 028633FC */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[0]); /* 02863400 */ _t156 = cpu->r[22] + cpu->r[25]; /* 02863400 */ cpu->r[12] = rbrew_read32(cpu->mem, _t156); /* 02863404 */ _t157 = cpu->r[30] + 0x00000020u; /* 02863404 */ cpu->r[3] = rbrew_read32(cpu->mem, _t157); /* 02863408 */ _t158 = cpu->r[28] + cpu->r[12]; /* 02863408 */ cpu->r[4] = rbrew_read16(cpu->mem, _t158); /* 0286340C */ Gambit_fn_0286BA10(cpu); /* 02863410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02863414 */ cpu->r[20] = 0x00000000u; /* 02863418 */ cpu->r[19] = cpu->r[3]; /* 0286341C */ _t159 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286341C */ _t160 = _t159 & 0x00000001u; /* 0286341C */ if (_t160) goto L_02863434; else goto L_02863420; L_02863420: ; // 0x2863420 /* 02863420 */ _t161 = cpu->r[23] + cpu->r[25]; /* 02863420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161); /* 02863424 */ _t162 = cpu->r[30] + 0x00000024u; /* 02863424 */ cpu->r[3] = rbrew_read32(cpu->mem, _t162); /* 02863428 */ _t163 = cpu->r[29] + cpu->r[0]; /* 02863428 */ cpu->r[4] = rbrew_read16(cpu->mem, _t163); /* 0286342C */ Gambit_fn_0286BA10(cpu); /* 02863430 */ cpu->r[20] = cpu->r[3]; L_02863434: ; // 0x2863434 /* 02863434 */ cpu->r[3] = 0x00000020u; /* 02863438 */ cpu->r[4] = 0x00000004u; /* 0286343C */ Gambit_fn_02869E8C(cpu); /* 02863440 */ cpu->r[11] = cpu->r[3]; /* 02863440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02863444 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863444 */ _t165 = _t164 & 0x00000001u; /* 02863444 */ if (_t165) goto L_02863488; else goto L_02863448; L_02863448: ; // 0x2863448 /* 02863448 */ cpu->r[3] = cpu->r[11]; /* 02863448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0286344C */ _t166 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286344C */ _t167 = _t166 & 0x00000001u; /* 0286344C */ if (_t167) goto L_02863488; else goto L_02863450; L_02863450: ; // 0x2863450 /* 02863450 */ cpu->r[4] = cpu->r[19]; /* 02863454 */ cpu->r[5] = cpu->r[20]; /* 02863458 */ cpu->r[6] = cpu->r[30]; /* 0286345C */ Gambit_fn_0286C334(cpu); /* 02863460 */ _t168 = cpu->r[31] + 0x000000D0u; /* 02863460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t168); /* 02863464 */ cpu->r[4] = cpu->r[5] + cpu->r[26]; /* 02863468 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0286346C */ _t169 = cpu->r[4] + 0x00000004u; /* 0286346C */ rbrew_write32(cpu->mem, _t169, cpu->r[3]); /* 02863470 */ _t170 = cpu->r[31] + 0x000000CDu; /* 02863470 */ cpu->r[0] = rbrew_read8(cpu->mem, _t170); /* 02863474 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 02863478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]); /* 0286347C */ cpu->r[26] = cpu->r[26] + 0x00000008u; /* 02863480 */ _t171 = cpu->cr[0] >> (0x00000003u & 31u); /* 02863480 */ _t172 = _t171 & 0x00000001u; /* 02863480 */ if (_t172) goto L_028633EC; else goto L_02863484; L_02863484: ; // 0x2863484 /* 02863484 */ goto L_028634B0; L_02863488: ; // 0x2863488 /* 02863488 */ _t173 = cpu->r[31] + 0x000000D0u; /* 02863488 */ cpu->r[5] = rbrew_read32(cpu->mem, _t173); /* 0286348C */ cpu->r[0] = 0x00000000u; /* 02863490 */ cpu->r[4] = cpu->r[5] + cpu->r[26]; /* 02863494 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 02863498 */ _t174 = cpu->r[4] + 0x00000004u; /* 02863498 */ rbrew_write32(cpu->mem, _t174, cpu->r[0]); /* 0286349C */ _t175 = cpu->r[31] + 0x000000CDu; /* 0286349C */ cpu->r[0] = rbrew_read8(cpu->mem, _t175); /* 028634A0 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 028634A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]); /* 028634A8 */ cpu->r[26] = cpu->r[26] + 0x00000008u; /* 028634AC */ _t176 = cpu->cr[0] >> (0x00000003u & 31u); /* 028634AC */ _t177 = _t176 & 0x00000001u; /* 028634AC */ if (_t177) goto L_028633EC; else goto L_028634B0; L_028634B0: ; // 0x28634b0 /* 028634B0 */ cpu->r[3] = cpu->r[31]; /* 028634B4 */ /* nop */ /* 028634B8 */ _t178 = cpu->r[1] + 0x00000054u; /* 028634B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178); /* 028634BC */ cpu->lr = cpu->r[0]; /* 028634C0 */ cpu->r[1] = cpu->r[1] + 0x00000050u; /* 028634C4 */ return; } // fn_028634C8 @ 0x28634c8 void Gambit_fn_028634C8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_028634C8: ; // 0x28634c8 /* 028634C8 */ cpu->r[0] = cpu->lr; /* 028634CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028634CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028634CC */ cpu->r[1] = _t0; /* 028634D0 */ _t1 = cpu->r[1] + 0x00000014u; /* 028634D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028634D4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028634D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028634D8 */ cpu->r[30] = cpu->r[3]; /* 028634D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028634DC */ cpu->r[31] = cpu->r[4]; /* 028634E0 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028634E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028634E4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028634E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028634E8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028634E8 */ _t6 = _t5 & 0x00000001u; /* 028634E8 */ if (_t6) goto L_0286353C; else goto L_028634EC; L_028634EC: ; // 0x28634ec /* 028634EC */ _t7 = cpu->r[30] + 0x00000004u; /* 028634EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 028634F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028634F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028634F4 */ _t9 = _t8 & 0x00000001u; /* 028634F4 */ if (_t9) goto L_02863524; else goto L_028634F8; L_028634F8: ; // 0x28634f8 /* 028634F8 */ _t10 = cpu->r[29] + 0x00000015u; /* 028634F8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t10); /* 028634FC */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028634FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02863500 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863500 */ _t12 = _t11 & 0x00000001u; /* 02863500 */ if (_t12) goto L_02863504; else goto L_02863524; L_02863504: ; // 0x2863504 /* 02863504 */ _t13 = cpu->r[29] + 0x0000001Cu; /* 02863504 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 02863508 */ _t14 = cpu->r[10] + 0x0000000Cu; /* 02863508 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 0286350C */ cpu->ctr = cpu->r[11]; /* 02863510 */ cpu->r[3] = cpu->r[29]; /* 02863514 */ cpu->r[4] = 0x00000002u; /* 02863518 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0286351C */ cpu->r[3] = cpu->r[29]; /* 02863520 */ Gambit_fn_02869EAC(cpu); L_02863524: ; // 0x2863524 /* 02863524 */ cpu->r[12] = 0x00000000u; /* 02863528 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02863528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0286352C */ _t15 = cpu->r[30] + 0x00000004u; /* 0286352C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]); /* 02863530 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863530 */ _t17 = _t16 & 0x00000001u; /* 02863530 */ if (_t17) goto L_0286353C; else goto L_02863534; L_02863534: ; // 0x2863534 /* 02863534 */ cpu->r[3] = cpu->r[30]; /* 02863538 */ Gambit_fn_02801BB0(cpu); L_0286353C: ; // 0x286353c /* 0286353C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0286353C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 02863540 */ _t19 = cpu->r[1] + 0x0000001Cu; /* 02863540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02863544 */ _t20 = cpu->r[1] + 0x00000010u; /* 02863544 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 02863548 */ cpu->lr = cpu->r[0]; /* 0286354C */ _t21 = cpu->r[1] + 0x00000014u; /* 0286354C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 02863550 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02863554 */ return; } // fn_028634CC @ 0x28634cc void Gambit_fn_028634CC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21; L_028634CC: ; // 0x28634cc /* 028634CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 028634CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 028634CC */ cpu->r[1] = _t0; /* 028634D0 */ _t1 = cpu->r[1] + 0x00000014u; /* 028634D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 028634D4 */ _t2 = cpu->r[1] + 0x00000010u; /* 028634D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 028634D8 */ cpu->r[30] = cpu->r[3]; /* 028634D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 028634DC */ cpu->r[31] = cpu->r[4]; /* 028634E0 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 028634E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 028634E4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 028634E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 028634E8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 028634E8 */ _t6 = _t5 & 0x00000001u; /* 028634E8 */ if (_t6) goto L_0286353C; else goto L_028634EC; L_028634EC: ; // 0x28634ec /* 028634EC */ _t7 = cpu->r[30] + 0x00000004u; /* 028634EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 028634F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 028634F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 028634F4 */ _t9 = _t8 & 0x00000001u; /* 028634F4 */ if (_t9) goto L_02863524; else goto L_028634F8; L_028634F8: ; // 0x28634f8 /* 028634F8 */ _t10 = cpu->r[29] + 0x00000015u; /* 028634F8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t10); /* 028634FC */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028634FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02863500 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863500 */ _t12 = _t11 & 0x00000001u; /* 02863500 */ if (_t12) goto L_02863504; else goto L_02863524; L_02863504: ; // 0x2863504 /* 02863504 */ _t13 = cpu->r[29] + 0x0000001Cu; /* 02863504 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 02863508 */ _t14 = cpu->r[10] + 0x0000000Cu; /* 02863508 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 0286350C */ cpu->ctr = cpu->r[11]; /* 02863510 */ cpu->r[3] = cpu->r[29]; /* 02863514 */ cpu->r[4] = 0x00000002u; /* 02863518 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0286351C */ cpu->r[3] = cpu->r[29]; /* 02863520 */ Gambit_fn_02869EAC(cpu); L_02863524: ; // 0x2863524 /* 02863524 */ cpu->r[12] = 0x00000000u; /* 02863528 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02863528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0286352C */ _t15 = cpu->r[30] + 0x00000004u; /* 0286352C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]); /* 02863530 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863530 */ _t17 = _t16 & 0x00000001u; /* 02863530 */ if (_t17) goto L_0286353C; else goto L_02863534; L_02863534: ; // 0x2863534 /* 02863534 */ cpu->r[3] = cpu->r[30]; /* 02863538 */ Gambit_fn_02801BB0(cpu); L_0286353C: ; // 0x286353c /* 0286353C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0286353C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 02863540 */ _t19 = cpu->r[1] + 0x0000001Cu; /* 02863540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02863544 */ _t20 = cpu->r[1] + 0x00000010u; /* 02863544 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 02863548 */ cpu->lr = cpu->r[0]; /* 0286354C */ _t21 = cpu->r[1] + 0x00000014u; /* 0286354C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 02863550 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02863554 */ return; } // fn_02863558 @ 0x2863558 void Gambit_fn_02863558(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24; L_02863558: ; // 0x2863558 /* 02863558 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02863558 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02863558 */ cpu->r[1] = _t0; /* 0286355C */ cpu->r[0] = cpu->lr; /* 02863560 */ /* nop */ /* 02863564 */ _t1 = cpu->r[1] + 0x00000024u; /* 02863564 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02863568 */ cpu->r[29] = cpu->r[3]; /* 02863568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0286356C */ cpu->r[30] = cpu->r[4]; /* 02863570 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863570 */ _t3 = _t2 & 0x00000001u; /* 02863570 */ if (_t3) goto L_02863620; else goto L_02863574; L_02863574: ; // 0x2863574 /* 02863574 */ cpu->r[0] = 0x10130000u; /* 02863578 */ _t4 = cpu->r[29] + 0x000000D0u; /* 02863578 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4); /* 0286357C */ cpu->r[0] = cpu->r[0] + 0x00005354u; /* 02863580 */ _t5 = cpu->r[29] + 0x00000008u; /* 02863580 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02863584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02863588 */ _t6 = cpu->r[29] + 0x000000CDu; /* 02863588 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6); /* 0286358C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0286358C */ _t8 = _t7 & 0x00000001u; /* 0286358C */ if (_t8) goto L_028635BC; else goto L_02863590; L_02863590: ; // 0x2863590 /* 02863590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02863594 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863594 */ _t10 = _t9 & 0x00000001u; /* 02863594 */ if (_t10) goto L_028635B4; else goto L_02863598; L_02863598: ; // 0x2863598 /* 02863598 */ cpu->r[28] = cpu->r[27]; L_0286359C: ; // 0x286359c /* 0286359C */ cpu->r[3] = cpu->r[28]; /* 028635A0 */ cpu->r[4] = 0x00000002u; /* 028635A4 */ Gambit_fn_028634C8(cpu); /* 028635A8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 028635A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028635AC */ cpu->r[28] = cpu->r[28] + 0x00000008u; /* 028635B0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 028635B0 */ _t12 = _t11 & 0x00000001u; /* 028635B0 */ if (_t12) goto L_028635B4; else goto L_0286359C; L_028635B4: ; // 0x28635b4 /* 028635B4 */ cpu->r[3] = cpu->r[27]; /* 028635B8 */ Gambit_fn_02869EAC(cpu); L_028635BC: ; // 0x28635bc /* 028635BC */ _t13 = cpu->r[29] + 0x000000D4u; /* 028635BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 028635C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 028635C4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 028635C4 */ _t15 = _t14 & 0x00000001u; /* 028635C4 */ if (_t15) goto L_028635FC; else goto L_028635C8; L_028635C8: ; // 0x28635c8 /* 028635C8 */ _t16 = cpu->r[31] + 0x00000015u; /* 028635C8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t16); /* 028635CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 028635CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 028635D0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 028635D0 */ _t18 = _t17 & 0x00000001u; /* 028635D0 */ if (_t18) goto L_028635D4; else goto L_028635FC; L_028635D4: ; // 0x28635d4 /* 028635D4 */ _t19 = cpu->r[31] + 0x0000001Cu; /* 028635D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19); /* 028635D8 */ _t20 = cpu->r[9] + 0x0000000Cu; /* 028635D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 028635DC */ cpu->ctr = cpu->r[10]; /* 028635E0 */ cpu->r[3] = cpu->r[31]; /* 028635E4 */ cpu->r[4] = 0x00000002u; /* 028635E8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 028635EC */ cpu->r[3] = cpu->r[31]; /* 028635F0 */ Gambit_fn_02869EAC(cpu); /* 028635F4 */ cpu->r[0] = 0x00000000u; /* 028635F8 */ _t21 = cpu->r[29] + 0x000000D4u; /* 028635F8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]); L_028635FC: ; // 0x28635fc /* 028635FC */ cpu->r[3] = cpu->r[29] + 0x000000C4u; /* 02863600 */ Gambit_fn_0286B7AC(cpu); /* 02863604 */ cpu->r[3] = cpu->r[29]; /* 02863608 */ cpu->r[4] = 0x00000000u; /* 0286360C */ Gambit_fn_0285F770(cpu); /* 02863610 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02863610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02863614 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863614 */ _t23 = _t22 & 0x00000001u; /* 02863614 */ if (_t23) goto L_02863620; else goto L_02863618; L_02863618: ; // 0x2863618 /* 02863618 */ cpu->r[3] = cpu->r[29]; /* 0286361C */ Gambit_fn_02801BB0(cpu); L_02863620: ; // 0x2863620 /* 02863620 */ /* nop */ /* 02863624 */ _t24 = cpu->r[1] + 0x00000024u; /* 02863624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 02863628 */ cpu->lr = cpu->r[0]; /* 0286362C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02863630 */ return; } // fn_02863634 @ 0x2863634 void Gambit_fn_02863634(CPUState* cpu) { uint32_t _t0; L_02863634: ; // 0x2863634 /* 02863634 */ cpu->r[12] = cpu->r[3] + 0x000000B4u; /* 02863638 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x0000001Du); /* 0286363C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Fu); /* 02863640 */ cpu->r[11] = cpu->r[12] + cpu->r[10]; /* 02863644 */ _t0 = cpu->r[11] + cpu->r[0]; /* 02863644 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[5]); /* 02863648 */ return; } // fn_0286364C @ 0x286364c void Gambit_fn_0286364C(CPUState* cpu) { uint32_t _t0; L_0286364C: ; // 0x286364c /* 0286364C */ _t0 = cpu->r[3] + 0x000000CDu; /* 0286364C */ cpu->r[12] = rbrew_read8(cpu->mem, _t0); /* 02863650 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 02863654 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02863658 */ return; } // fn_0286365C @ 0x286365c void Gambit_fn_0286365C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0286365C: ; // 0x286365c /* 0286365C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02863660 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 02863660 */ _t1 = _t0 & 0x00000001u; /* 02863660 */ if (_t1) goto L_02863664; else goto L_0286366C; L_02863664: ; // 0x2863664 /* 02863664 */ _t2 = cpu->r[3] + 0x000000D4u; /* 02863664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2); /* 02863668 */ return; L_0286366C: ; // 0x286366c /* 0286366C */ _t3 = cpu->r[3] + 0x000000CDu; /* 0286366C */ cpu->r[12] = rbrew_read8(cpu->mem, _t3); /* 02863670 */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFFu; /* 02863674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[12]); /* 02863678 */ cpu->r[0] = 0x00000000u; /* 0286367C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0286367C */ _t5 = _t4 & 0x00000001u; /* 0286367C */ if (_t5) goto L_02863680; else goto L_02863690; L_02863680: ; // 0x2863680 /* 02863680 */ _t6 = cpu->r[3] + 0x000000D0u; /* 02863680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02863684 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02863688 */ cpu->r[11] = cpu->r[12] + cpu->r[0]; /* 0286368C */ _t7 = cpu->r[11] + 0x00000004u; /* 0286368C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); L_02863690: ; // 0x2863690 /* 02863690 */ cpu->r[3] = cpu->r[0]; /* 02863694 */ return; }