// Generated by RebrewU -- do not edit #include #include #include #include "Gambit.h" // fn_0297FE3C @ 0x297fe3c void Gambit_fn_0297FE3C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_0297FE3C: ; // 0x297fe3c /* 0297FE3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0297FE3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0297FE3C */ cpu->r[1] = _t0; /* 0297FE40 */ _t1 = cpu->r[1] + 0x00000008u; /* 0297FE40 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0297FE44 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0297FE44 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0297FE48 */ cpu->r[30] = cpu->r[3]; /* 0297FE4C */ _t3 = cpu->r[1] + 0x00000014u; /* 0297FE4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0297FE50 */ _t4 = cpu->r[30] + 0x000000A4u; /* 0297FE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0297FE54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0297FE58 */ cpu->r[31] = cpu->r[4]; /* 0297FE5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297FE5C */ _t6 = _t5 & 0x00000001u; /* 0297FE5C */ if (_t6) goto L_0297FEA0; else goto L_0297FE60; L_0297FE60: ; // 0x297fe60 /* 0297FE60 */ _t7 = cpu->r[30] + 0x000000A8u; /* 0297FE60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 0297FE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0297FE68 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297FE68 */ _t9 = _t8 & 0x00000001u; /* 0297FE68 */ if (_t9) goto L_0297FE84; else goto L_0297FE6C; L_0297FE6C: ; // 0x297fe6c /* 0297FE6C */ _t10 = cpu->r[3] + 0x00000000u; /* 0297FE6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 0297FE70 */ _t11 = cpu->r[11] + 0x0000000Cu; /* 0297FE70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 0297FE74 */ cpu->ctr = cpu->r[12]; /* 0297FE78 */ cpu->r[4] = cpu->r[30]; /* 0297FE7C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0297FE80 */ _t12 = cpu->r[30] + 0x000000A4u; /* 0297FE80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); L_0297FE84: ; // 0x297fe84 /* 0297FE84 */ cpu->r[5] = cpu->r[31]; /* 0297FE88 */ cpu->r[4] = cpu->r[30]; /* 0297FE8C */ cpu->r[3] = cpu->r[0]; /* 0297FE90 */ Gambit_fn_02984634(cpu); /* 0297FE94 */ _t13 = cpu->r[30] + 0x000000A4u; /* 0297FE94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 0297FE98 */ cpu->r[4] = cpu->r[30]; /* 0297FE9C */ Gambit_fn_029848B0(cpu); L_0297FEA0: ; // 0x297fea0 /* 0297FEA0 */ _t14 = cpu->r[1] + 0x00000014u; /* 0297FEA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0297FEA4 */ _t15 = cpu->r[1] + 0x00000008u; /* 0297FEA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0297FEA8 */ cpu->lr = cpu->r[0]; /* 0297FEAC */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0297FEAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0297FEB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0297FEB4 */ return; } // fn_0297FEB8 @ 0x297feb8 void Gambit_fn_0297FEB8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0297FEB8: ; // 0x297feb8 /* 0297FEB8 */ cpu->r[0] = cpu->lr; /* 0297FEBC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0297FEBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0297FEBC */ cpu->r[1] = _t0; /* 0297FEC0 */ _t1 = cpu->r[1] + 0x00000008u; /* 0297FEC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0297FEC4 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0297FEC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0297FEC8 */ cpu->r[31] = 0x101D0000u; /* 0297FECC */ cpu->r[30] = cpu->r[4]; /* 0297FED0 */ _t3 = cpu->r[1] + 0x00000014u; /* 0297FED0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0297FED4 */ _t4 = cpu->r[31] + 0xFFFFA9E8u; /* 0297FED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 0297FED8 */ rbrew_dispatch(cpu, 0x02d0a9f0u); /* 0297FEDC */ cpu->r[12] = 0x101F0000u; /* 0297FEE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0297FEE4 */ cpu->r[12] = cpu->r[12] + 0x000065D0u; /* 0297FEE8 */ _t5 = cpu->r[12] + cpu->r[0]; /* 0297FEE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 0297FEEC */ cpu->r[3] = cpu->r[31]; /* 0297FEF0 */ Gambit_fn_02A0F138(cpu); /* 0297FEF4 */ cpu->r[4] = cpu->r[3]; /* 0297FEF8 */ cpu->r[3] = cpu->r[30]; /* 0297FEFC */ Gambit_fn_0297FE38(cpu); /* 0297FF00 */ _t6 = cpu->r[1] + 0x00000014u; /* 0297FF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0297FF04 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0297FF04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0297FF08 */ cpu->lr = cpu->r[0]; /* 0297FF0C */ _t8 = cpu->r[1] + 0x00000008u; /* 0297FF0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 0297FF10 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0297FF14 */ return; } // fn_0297FEBC @ 0x297febc void Gambit_fn_0297FEBC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0297FEBC: ; // 0x297febc /* 0297FEBC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0297FEBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0297FEBC */ cpu->r[1] = _t0; /* 0297FEC0 */ _t1 = cpu->r[1] + 0x00000008u; /* 0297FEC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0297FEC4 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0297FEC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0297FEC8 */ cpu->r[31] = 0x101D0000u; /* 0297FECC */ cpu->r[30] = cpu->r[4]; /* 0297FED0 */ _t3 = cpu->r[1] + 0x00000014u; /* 0297FED0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0297FED4 */ _t4 = cpu->r[31] + 0xFFFFA9E8u; /* 0297FED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 0297FED8 */ rbrew_dispatch(cpu, 0x02d0a9f0u); /* 0297FEDC */ cpu->r[12] = 0x101F0000u; /* 0297FEE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0297FEE4 */ cpu->r[12] = cpu->r[12] + 0x000065D0u; /* 0297FEE8 */ _t5 = cpu->r[12] + cpu->r[0]; /* 0297FEE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 0297FEEC */ cpu->r[3] = cpu->r[31]; /* 0297FEF0 */ Gambit_fn_02A0F138(cpu); /* 0297FEF4 */ cpu->r[4] = cpu->r[3]; /* 0297FEF8 */ cpu->r[3] = cpu->r[30]; /* 0297FEFC */ Gambit_fn_0297FE38(cpu); /* 0297FF00 */ _t6 = cpu->r[1] + 0x00000014u; /* 0297FF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0297FF04 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0297FF04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0297FF08 */ cpu->lr = cpu->r[0]; /* 0297FF0C */ _t8 = cpu->r[1] + 0x00000008u; /* 0297FF0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 0297FF10 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0297FF14 */ return; } // fn_0297FF18 @ 0x297ff18 void Gambit_fn_0297FF18(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, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83; double _ft54, _ft55, _ft63, _ft64, _ft72, _ft73; L_0297FF18: ; // 0x297ff18 /* 0297FF18 */ cpu->r[0] = cpu->lr; /* 0297FF1C */ _t0 = cpu->r[1] + 0xFFFFFF88u; /* 0297FF1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0297FF1C */ cpu->r[1] = _t0; /* 0297FF20 */ _t1 = cpu->r[1] + 0x00000070u; /* 0297FF20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0297FF24 */ cpu->r[30] = cpu->r[4]; /* 0297FF28 */ _t2 = cpu->r[1] + 0x00000068u; /* 0297FF28 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0297FF2C */ _t3 = cpu->r[1] + 0x0000006Cu; /* 0297FF2C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0297FF30 */ _t4 = cpu->r[1] + 0x00000074u; /* 0297FF30 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0297FF34 */ _t5 = cpu->r[1] + 0x0000007Cu; /* 0297FF34 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0297FF38 */ cpu->r[29] = cpu->r[3]; /* 0297FF3C */ _t6 = cpu->r[30] + 0x00000008u; /* 0297FF3C */ cpu->r[3] = rbrew_read16(cpu->mem, _t6); /* 0297FF40 */ _t7 = cpu->r[29] + 0x0000001Cu; /* 0297FF40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7); /* 0297FF44 */ cpu->r[0] = cpu->r[3]; /* 0297FF48 */ cpu->r[8] = 0x00000000u; /* 0297FF4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]); /* 0297FF50 */ cpu->r[31] = cpu->r[5]; /* 0297FF54 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0297FF54 */ _t9 = _t8 & 0x00000001u; /* 0297FF54 */ if (_t9) goto L_0297FF58; else goto L_0297FF64; L_0297FF58: ; // 0x297ff58 /* 0297FF58 */ _t10 = cpu->r[29] + 0x00000024u; /* 0297FF58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 0297FF5C */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0297FF60 */ _t11 = cpu->r[8] + cpu->r[9]; /* 0297FF60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); L_0297FF64: ; // 0x297ff64 /* 0297FF64 */ _t12 = cpu->r[8] + 0x00000000u; /* 0297FF64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 0297FF68 */ _t13 = cpu->r[11] + 0x00000000u; /* 0297FF68 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13); /* 0297FF6C */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0297FF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0297FF70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297FF70 */ _t15 = _t14 & 0x00000001u; /* 0297FF70 */ if (_t15) goto L_02980198; else goto L_0297FF74; L_0297FF74: ; // 0x297ff74 /* 0297FF74 */ _t16 = cpu->r[30] + 0x00000004u; /* 0297FF74 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 0297FF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 0297FF7C */ _t17 = cpu->r[30] + 0x00000000u; /* 0297FF7C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17); /* 0297FF80 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297FF80 */ _t19 = _t18 & 0x00000001u; /* 0297FF80 */ if (_t19) goto L_0297FF90; else goto L_0297FF84; L_0297FF84: ; // 0x297ff84 /* 0297FF84 */ _t20 = cpu->r[30] + 0x00000006u; /* 0297FF84 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t20); /* 0297FF88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0xFFFFFFFFu); /* 0297FF8C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297FF8C */ _t22 = _t21 & 0x00000001u; /* 0297FF8C */ if (_t22) goto L_0297FF90; else goto L_0297FFF0; L_0297FF90: ; // 0x297ff90 /* 0297FF90 */ _t23 = cpu->r[29] + 0x00000064u; /* 0297FF90 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23); /* 0297FF94 */ _t24 = cpu->r[29] + 0x00000070u; /* 0297FF94 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24); /* 0297FF98 */ _t25 = cpu->r[29] + 0x00000068u; /* 0297FF98 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25); /* 0297FF9C */ _t26 = cpu->r[29] + 0x00000074u; /* 0297FF9C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26); /* 0297FFA0 */ cpu->f[10] = cpu->f[9] * cpu->f[10]; /* 0297FFA4 */ _t27 = cpu->r[29] + 0x0000006Cu; /* 0297FFA4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27); /* 0297FFA8 */ _t28 = cpu->r[29] + 0x00000078u; /* 0297FFA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28); /* 0297FFAC */ cpu->f[7] = cpu->f[11] * cpu->f[12]; /* 0297FFB0 */ _t29 = cpu->r[1] + 0x0000002Cu; /* 0297FFB0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[10]); /* 0297FFB4 */ cpu->f[8] = cpu->f[13] * cpu->f[0]; /* 0297FFB8 */ _t30 = cpu->r[1] + 0x00000030u; /* 0297FFB8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[7]); /* 0297FFBC */ _t31 = cpu->r[1] + 0x00000034u; /* 0297FFBC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[8]); /* 0297FFC0 */ _t32 = cpu->r[28] + 0x00000088u; /* 0297FFC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32); /* 0297FFC4 */ _t33 = cpu->r[12] + 0x00000234u; /* 0297FFC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 0297FFC8 */ cpu->r[4] = cpu->r[29] + 0x00000034u; /* 0297FFCC */ _t34 = cpu->r[29] + 0x0000007Cu; /* 0297FFCC */ cpu->r[10] = rbrew_read8(cpu->mem, _t34); /* 0297FFD0 */ cpu->ctr = cpu->r[0]; /* 0297FFD4 */ cpu->r[5] = cpu->r[1] + 0x0000002Cu; /* 0297FFD8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0297FFDC */ cpu->r[3] = cpu->r[28]; /* 0297FFE0 */ cpu->r[7] = cpu->r[31]; /* 0297FFE4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0297FFE8 */ _t35 = cpu->r[30] + 0x00000008u; /* 0297FFE8 */ cpu->r[3] = rbrew_read16(cpu->mem, _t35); /* 0297FFEC */ goto L_02980198; L_0297FFF0: ; // 0x297fff0 /* 0297FFF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]); /* 0297FFF4 */ cpu->r[10] = 0x00000000u; /* 0297FFF8 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u); /* 0297FFF8 */ _t37 = _t36 & 0x00000001u; /* 0297FFF8 */ if (_t37) goto L_0297FFFC; else goto L_02980008; L_0297FFFC: ; // 0x297fffc /* 0297FFFC */ _t38 = cpu->r[29] + 0x00000024u; /* 0297FFFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t38); /* 02980000 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980004 */ _t39 = cpu->r[11] + cpu->r[8]; /* 02980004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39); L_02980008: ; // 0x2980008 /* 02980008 */ _t40 = cpu->r[10] + 0x00000000u; /* 02980008 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40); /* 0298000C */ _t41 = cpu->r[3] + 0x00000088u; /* 0298000C */ cpu->r[10] = rbrew_read32(cpu->mem, _t41); /* 02980010 */ _t42 = cpu->r[10] + 0x00000074u; /* 02980010 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42); /* 02980014 */ cpu->ctr = cpu->r[11]; /* 02980018 */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 0298001C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980020 */ _t43 = cpu->r[30] + 0x0000000Au; /* 02980020 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43); /* 02980024 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02980024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02980028 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980028 */ _t45 = _t44 & 0x00000001u; /* 02980028 */ if (_t45) goto L_0298016C; else goto L_0298002C; L_0298002C: ; // 0x298002c /* 0298002C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02980030 */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 02980034 */ cpu->r[5] = 0x00000000u; /* 02980038 */ Gambit_fn_0200D42C(cpu); /* 0298003C */ cpu->r[3] = cpu->r[1] + 0x00000014u; /* 02980040 */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 02980044 */ cpu->r[5] = 0x00000001u; /* 02980048 */ Gambit_fn_0200D42C(cpu); /* 0298004C */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 02980050 */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 02980054 */ cpu->r[5] = 0x00000002u; /* 02980058 */ Gambit_fn_0200D42C(cpu); /* 0298005C */ _t46 = cpu->r[1] + 0x0000000Cu; /* 0298005C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t46); /* 02980060 */ _t47 = cpu->r[1] + 0x00000008u; /* 02980060 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t47); /* 02980064 */ cpu->f[7] = cpu->f[7] * cpu->f[7]; /* 02980068 */ cpu->r[9] = 0x10150000u; /* 0298006C */ cpu->f[9] = fma(cpu->f[8], cpu->f[8], cpu->f[7]); /* 02980070 */ _t48 = cpu->r[1] + 0x00000010u; /* 02980070 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t48); /* 02980074 */ _t49 = cpu->r[9] + 0xFFFFECE4u; /* 02980074 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49); /* 02980078 */ cpu->r[7] = 0x10150000u; /* 0298007C */ cpu->f[7] = fma(cpu->f[8], cpu->f[8], cpu->f[9]); /* 02980080 */ _t50 = cpu->r[7] + 0xFFFFECECu; /* 02980080 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50); /* 02980084 */ cpu->r[12] = 0x10150000u; /* 02980088 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[13]); /* 0298008C */ _t51 = cpu->r[12] + 0xFFFFECE8u; /* 0298008C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t51); /* 02980090 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u); /* 02980090 */ _t53 = _t52 & 0x00000001u; /* 02980090 */ if (_t53) goto L_02980094; else goto L_029800C0; L_02980094: ; // 0x2980094 /* 02980094 */ _ft54 = sqrt(cpu->f[7]); /* 02980094 */ _ft55 = (double)(int32_t)0x00000001u; /* 02980094 */ cpu->f[8] = _ft55 / _ft54; /* 02980098 */ cpu->f[9] = cpu->f[8] * cpu->f[8]; /* 0298009C */ cpu->f[10] = cpu->f[8] * cpu->f[0]; /* 029800A0 */ cpu->f[9] = -fma(cpu->f[9], cpu->f[7], -(cpu->f[12])); /* 029800A4 */ cpu->f[8] = cpu->f[9] * cpu->f[10]; /* 029800A8 */ _t56 = cpu->r[1] + 0x00000010u; /* 029800A8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t56); /* 029800AC */ /* nop */ /* 029800B0 */ cpu->f[7] = cpu->f[7] * cpu->f[8]; /* 029800B4 */ /* nop */ /* 029800B8 */ _t57 = cpu->r[1] + 0x00000010u; /* 029800B8 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[7]); /* 029800BC */ /* nop */ L_029800C0: ; // 0x29800c0 /* 029800C0 */ _t58 = cpu->r[1] + 0x00000018u; /* 029800C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t58); /* 029800C4 */ cpu->f[8] = cpu->f[11] * cpu->f[11]; /* 029800C8 */ _t59 = cpu->r[1] + 0x00000014u; /* 029800C8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t59); /* 029800CC */ cpu->f[9] = fma(cpu->f[9], cpu->f[9], cpu->f[8]); /* 029800D0 */ _t60 = cpu->r[1] + 0x0000001Cu; /* 029800D0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t60); /* 029800D4 */ cpu->f[11] = fma(cpu->f[8], cpu->f[8], cpu->f[9]); /* 029800D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]); /* 029800DC */ _t61 = cpu->cr[0] >> (0x00000002u & 31u); /* 029800DC */ _t62 = _t61 & 0x00000001u; /* 029800DC */ if (_t62) goto L_029800E0; else goto L_0298010C; L_029800E0: ; // 0x29800e0 /* 029800E0 */ _ft63 = sqrt(cpu->f[11]); /* 029800E0 */ _ft64 = (double)(int32_t)0x00000001u; /* 029800E0 */ cpu->f[7] = _ft64 / _ft63; /* 029800E4 */ cpu->f[8] = cpu->f[7] * cpu->f[7]; /* 029800E8 */ cpu->f[9] = cpu->f[7] * cpu->f[0]; /* 029800EC */ cpu->f[8] = -fma(cpu->f[8], cpu->f[11], -(cpu->f[12])); /* 029800F0 */ cpu->f[7] = cpu->f[8] * cpu->f[9]; /* 029800F4 */ _t65 = cpu->r[1] + 0x0000001Cu; /* 029800F4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t65); /* 029800F8 */ /* nop */ /* 029800FC */ cpu->f[9] = cpu->f[9] * cpu->f[7]; /* 02980100 */ /* nop */ /* 02980104 */ _t66 = cpu->r[1] + 0x0000001Cu; /* 02980104 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[9]); /* 02980108 */ /* nop */ L_0298010C: ; // 0x298010c /* 0298010C */ _t67 = cpu->r[1] + 0x00000024u; /* 0298010C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67); /* 02980110 */ cpu->f[10] = cpu->f[11] * cpu->f[11]; /* 02980114 */ _t68 = cpu->r[1] + 0x00000020u; /* 02980114 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t68); /* 02980118 */ cpu->f[11] = fma(cpu->f[11], cpu->f[11], cpu->f[10]); /* 0298011C */ _t69 = cpu->r[1] + 0x00000028u; /* 0298011C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t69); /* 02980120 */ cpu->f[10] = fma(cpu->f[7], cpu->f[7], cpu->f[11]); /* 02980124 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]); /* 02980128 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u); /* 02980128 */ _t71 = _t70 & 0x00000001u; /* 02980128 */ if (_t71) goto L_0298012C; else goto L_02980158; L_0298012C: ; // 0x298012c /* 0298012C */ _ft72 = sqrt(cpu->f[10]); /* 0298012C */ _ft73 = (double)(int32_t)0x00000001u; /* 0298012C */ cpu->f[11] = _ft73 / _ft72; /* 02980130 */ cpu->f[13] = cpu->f[11] * cpu->f[11]; /* 02980134 */ cpu->f[8] = cpu->f[11] * cpu->f[0]; /* 02980138 */ cpu->f[13] = -fma(cpu->f[13], cpu->f[10], -(cpu->f[12])); /* 0298013C */ cpu->f[11] = cpu->f[13] * cpu->f[8]; /* 02980140 */ _t74 = cpu->r[1] + 0x00000028u; /* 02980140 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t74); /* 02980144 */ /* nop */ /* 02980148 */ cpu->f[10] = cpu->f[10] * cpu->f[11]; /* 0298014C */ /* nop */ /* 02980150 */ _t75 = cpu->r[1] + 0x00000028u; /* 02980150 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[10]); /* 02980154 */ /* nop */ L_02980158: ; // 0x2980158 /* 02980158 */ cpu->r[6] = cpu->r[1] + 0x00000020u; /* 0298015C */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 02980160 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02980164 */ cpu->r[3] = cpu->r[1] + 0x00000038u; /* 02980168 */ Gambit_fn_0216C948(cpu); L_0298016C: ; // 0x298016c /* 0298016C */ _t76 = cpu->r[28] + 0x00000088u; /* 0298016C */ cpu->r[12] = rbrew_read32(cpu->mem, _t76); /* 02980170 */ _t77 = cpu->r[12] + 0x00000234u; /* 02980170 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77); /* 02980174 */ cpu->r[5] = 0x101F0000u; /* 02980178 */ cpu->ctr = cpu->r[9]; /* 0298017C */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 02980180 */ cpu->r[5] = cpu->r[5] + 0x00006368u; /* 02980184 */ cpu->r[6] = 0x00000001u; /* 02980188 */ cpu->r[3] = cpu->r[28]; /* 0298018C */ cpu->r[7] = cpu->r[31]; /* 02980190 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980194 */ _t78 = cpu->r[30] + 0x00000008u; /* 02980194 */ cpu->r[3] = rbrew_read16(cpu->mem, _t78); L_02980198: ; // 0x2980198 /* 02980198 */ _t79 = cpu->r[1] + 0x00000068u; /* 02980198 */ cpu->r[28] = rbrew_read32(cpu->mem, _t79); /* 0298019C */ _t80 = cpu->r[1] + 0x0000006Cu; /* 0298019C */ cpu->r[29] = rbrew_read32(cpu->mem, _t80); /* 029801A0 */ _t81 = cpu->r[1] + 0x0000007Cu; /* 029801A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81); /* 029801A4 */ _t82 = cpu->r[1] + 0x00000070u; /* 029801A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t82); /* 029801A8 */ cpu->lr = cpu->r[0]; /* 029801AC */ _t83 = cpu->r[1] + 0x00000074u; /* 029801AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t83); /* 029801B0 */ cpu->r[1] = cpu->r[1] + 0x00000078u; /* 029801B4 */ return; } // fn_0297FF1C @ 0x297ff1c void Gambit_fn_0297FF1C(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, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83; double _ft54, _ft55, _ft63, _ft64, _ft72, _ft73; L_0297FF1C: ; // 0x297ff1c /* 0297FF1C */ _t0 = cpu->r[1] + 0xFFFFFF88u; /* 0297FF1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0297FF1C */ cpu->r[1] = _t0; /* 0297FF20 */ _t1 = cpu->r[1] + 0x00000070u; /* 0297FF20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0297FF24 */ cpu->r[30] = cpu->r[4]; /* 0297FF28 */ _t2 = cpu->r[1] + 0x00000068u; /* 0297FF28 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0297FF2C */ _t3 = cpu->r[1] + 0x0000006Cu; /* 0297FF2C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0297FF30 */ _t4 = cpu->r[1] + 0x00000074u; /* 0297FF30 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0297FF34 */ _t5 = cpu->r[1] + 0x0000007Cu; /* 0297FF34 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0297FF38 */ cpu->r[29] = cpu->r[3]; /* 0297FF3C */ _t6 = cpu->r[30] + 0x00000008u; /* 0297FF3C */ cpu->r[3] = rbrew_read16(cpu->mem, _t6); /* 0297FF40 */ _t7 = cpu->r[29] + 0x0000001Cu; /* 0297FF40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7); /* 0297FF44 */ cpu->r[0] = cpu->r[3]; /* 0297FF48 */ cpu->r[8] = 0x00000000u; /* 0297FF4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]); /* 0297FF50 */ cpu->r[31] = cpu->r[5]; /* 0297FF54 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0297FF54 */ _t9 = _t8 & 0x00000001u; /* 0297FF54 */ if (_t9) goto L_0297FF58; else goto L_0297FF64; L_0297FF58: ; // 0x297ff58 /* 0297FF58 */ _t10 = cpu->r[29] + 0x00000024u; /* 0297FF58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 0297FF5C */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0297FF60 */ _t11 = cpu->r[8] + cpu->r[9]; /* 0297FF60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); L_0297FF64: ; // 0x297ff64 /* 0297FF64 */ _t12 = cpu->r[8] + 0x00000000u; /* 0297FF64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 0297FF68 */ _t13 = cpu->r[11] + 0x00000000u; /* 0297FF68 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13); /* 0297FF6C */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0297FF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0297FF70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297FF70 */ _t15 = _t14 & 0x00000001u; /* 0297FF70 */ if (_t15) goto L_02980198; else goto L_0297FF74; L_0297FF74: ; // 0x297ff74 /* 0297FF74 */ _t16 = cpu->r[30] + 0x00000004u; /* 0297FF74 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 0297FF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 0297FF7C */ _t17 = cpu->r[30] + 0x00000000u; /* 0297FF7C */ cpu->r[28] = rbrew_read32(cpu->mem, _t17); /* 0297FF80 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297FF80 */ _t19 = _t18 & 0x00000001u; /* 0297FF80 */ if (_t19) goto L_0297FF90; else goto L_0297FF84; L_0297FF84: ; // 0x297ff84 /* 0297FF84 */ _t20 = cpu->r[30] + 0x00000006u; /* 0297FF84 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t20); /* 0297FF88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0xFFFFFFFFu); /* 0297FF8C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297FF8C */ _t22 = _t21 & 0x00000001u; /* 0297FF8C */ if (_t22) goto L_0297FF90; else goto L_0297FFF0; L_0297FF90: ; // 0x297ff90 /* 0297FF90 */ _t23 = cpu->r[29] + 0x00000064u; /* 0297FF90 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23); /* 0297FF94 */ _t24 = cpu->r[29] + 0x00000070u; /* 0297FF94 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24); /* 0297FF98 */ _t25 = cpu->r[29] + 0x00000068u; /* 0297FF98 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25); /* 0297FF9C */ _t26 = cpu->r[29] + 0x00000074u; /* 0297FF9C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26); /* 0297FFA0 */ cpu->f[10] = cpu->f[9] * cpu->f[10]; /* 0297FFA4 */ _t27 = cpu->r[29] + 0x0000006Cu; /* 0297FFA4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27); /* 0297FFA8 */ _t28 = cpu->r[29] + 0x00000078u; /* 0297FFA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28); /* 0297FFAC */ cpu->f[7] = cpu->f[11] * cpu->f[12]; /* 0297FFB0 */ _t29 = cpu->r[1] + 0x0000002Cu; /* 0297FFB0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[10]); /* 0297FFB4 */ cpu->f[8] = cpu->f[13] * cpu->f[0]; /* 0297FFB8 */ _t30 = cpu->r[1] + 0x00000030u; /* 0297FFB8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[7]); /* 0297FFBC */ _t31 = cpu->r[1] + 0x00000034u; /* 0297FFBC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[8]); /* 0297FFC0 */ _t32 = cpu->r[28] + 0x00000088u; /* 0297FFC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32); /* 0297FFC4 */ _t33 = cpu->r[12] + 0x00000234u; /* 0297FFC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 0297FFC8 */ cpu->r[4] = cpu->r[29] + 0x00000034u; /* 0297FFCC */ _t34 = cpu->r[29] + 0x0000007Cu; /* 0297FFCC */ cpu->r[10] = rbrew_read8(cpu->mem, _t34); /* 0297FFD0 */ cpu->ctr = cpu->r[0]; /* 0297FFD4 */ cpu->r[5] = cpu->r[1] + 0x0000002Cu; /* 0297FFD8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0297FFDC */ cpu->r[3] = cpu->r[28]; /* 0297FFE0 */ cpu->r[7] = cpu->r[31]; /* 0297FFE4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0297FFE8 */ _t35 = cpu->r[30] + 0x00000008u; /* 0297FFE8 */ cpu->r[3] = rbrew_read16(cpu->mem, _t35); /* 0297FFEC */ goto L_02980198; L_0297FFF0: ; // 0x297fff0 /* 0297FFF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]); /* 0297FFF4 */ cpu->r[10] = 0x00000000u; /* 0297FFF8 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u); /* 0297FFF8 */ _t37 = _t36 & 0x00000001u; /* 0297FFF8 */ if (_t37) goto L_0297FFFC; else goto L_02980008; L_0297FFFC: ; // 0x297fffc /* 0297FFFC */ _t38 = cpu->r[29] + 0x00000024u; /* 0297FFFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t38); /* 02980000 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980004 */ _t39 = cpu->r[11] + cpu->r[8]; /* 02980004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39); L_02980008: ; // 0x2980008 /* 02980008 */ _t40 = cpu->r[10] + 0x00000000u; /* 02980008 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40); /* 0298000C */ _t41 = cpu->r[3] + 0x00000088u; /* 0298000C */ cpu->r[10] = rbrew_read32(cpu->mem, _t41); /* 02980010 */ _t42 = cpu->r[10] + 0x00000074u; /* 02980010 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42); /* 02980014 */ cpu->ctr = cpu->r[11]; /* 02980018 */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 0298001C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980020 */ _t43 = cpu->r[30] + 0x0000000Au; /* 02980020 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43); /* 02980024 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02980024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02980028 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980028 */ _t45 = _t44 & 0x00000001u; /* 02980028 */ if (_t45) goto L_0298016C; else goto L_0298002C; L_0298002C: ; // 0x298002c /* 0298002C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02980030 */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 02980034 */ cpu->r[5] = 0x00000000u; /* 02980038 */ Gambit_fn_0200D42C(cpu); /* 0298003C */ cpu->r[3] = cpu->r[1] + 0x00000014u; /* 02980040 */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 02980044 */ cpu->r[5] = 0x00000001u; /* 02980048 */ Gambit_fn_0200D42C(cpu); /* 0298004C */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 02980050 */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 02980054 */ cpu->r[5] = 0x00000002u; /* 02980058 */ Gambit_fn_0200D42C(cpu); /* 0298005C */ _t46 = cpu->r[1] + 0x0000000Cu; /* 0298005C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t46); /* 02980060 */ _t47 = cpu->r[1] + 0x00000008u; /* 02980060 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t47); /* 02980064 */ cpu->f[7] = cpu->f[7] * cpu->f[7]; /* 02980068 */ cpu->r[9] = 0x10150000u; /* 0298006C */ cpu->f[9] = fma(cpu->f[8], cpu->f[8], cpu->f[7]); /* 02980070 */ _t48 = cpu->r[1] + 0x00000010u; /* 02980070 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t48); /* 02980074 */ _t49 = cpu->r[9] + 0xFFFFECE4u; /* 02980074 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49); /* 02980078 */ cpu->r[7] = 0x10150000u; /* 0298007C */ cpu->f[7] = fma(cpu->f[8], cpu->f[8], cpu->f[9]); /* 02980080 */ _t50 = cpu->r[7] + 0xFFFFECECu; /* 02980080 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50); /* 02980084 */ cpu->r[12] = 0x10150000u; /* 02980088 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[13]); /* 0298008C */ _t51 = cpu->r[12] + 0xFFFFECE8u; /* 0298008C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t51); /* 02980090 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u); /* 02980090 */ _t53 = _t52 & 0x00000001u; /* 02980090 */ if (_t53) goto L_02980094; else goto L_029800C0; L_02980094: ; // 0x2980094 /* 02980094 */ _ft54 = sqrt(cpu->f[7]); /* 02980094 */ _ft55 = (double)(int32_t)0x00000001u; /* 02980094 */ cpu->f[8] = _ft55 / _ft54; /* 02980098 */ cpu->f[9] = cpu->f[8] * cpu->f[8]; /* 0298009C */ cpu->f[10] = cpu->f[8] * cpu->f[0]; /* 029800A0 */ cpu->f[9] = -fma(cpu->f[9], cpu->f[7], -(cpu->f[12])); /* 029800A4 */ cpu->f[8] = cpu->f[9] * cpu->f[10]; /* 029800A8 */ _t56 = cpu->r[1] + 0x00000010u; /* 029800A8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t56); /* 029800AC */ /* nop */ /* 029800B0 */ cpu->f[7] = cpu->f[7] * cpu->f[8]; /* 029800B4 */ /* nop */ /* 029800B8 */ _t57 = cpu->r[1] + 0x00000010u; /* 029800B8 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[7]); /* 029800BC */ /* nop */ L_029800C0: ; // 0x29800c0 /* 029800C0 */ _t58 = cpu->r[1] + 0x00000018u; /* 029800C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t58); /* 029800C4 */ cpu->f[8] = cpu->f[11] * cpu->f[11]; /* 029800C8 */ _t59 = cpu->r[1] + 0x00000014u; /* 029800C8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t59); /* 029800CC */ cpu->f[9] = fma(cpu->f[9], cpu->f[9], cpu->f[8]); /* 029800D0 */ _t60 = cpu->r[1] + 0x0000001Cu; /* 029800D0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t60); /* 029800D4 */ cpu->f[11] = fma(cpu->f[8], cpu->f[8], cpu->f[9]); /* 029800D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]); /* 029800DC */ _t61 = cpu->cr[0] >> (0x00000002u & 31u); /* 029800DC */ _t62 = _t61 & 0x00000001u; /* 029800DC */ if (_t62) goto L_029800E0; else goto L_0298010C; L_029800E0: ; // 0x29800e0 /* 029800E0 */ _ft63 = sqrt(cpu->f[11]); /* 029800E0 */ _ft64 = (double)(int32_t)0x00000001u; /* 029800E0 */ cpu->f[7] = _ft64 / _ft63; /* 029800E4 */ cpu->f[8] = cpu->f[7] * cpu->f[7]; /* 029800E8 */ cpu->f[9] = cpu->f[7] * cpu->f[0]; /* 029800EC */ cpu->f[8] = -fma(cpu->f[8], cpu->f[11], -(cpu->f[12])); /* 029800F0 */ cpu->f[7] = cpu->f[8] * cpu->f[9]; /* 029800F4 */ _t65 = cpu->r[1] + 0x0000001Cu; /* 029800F4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t65); /* 029800F8 */ /* nop */ /* 029800FC */ cpu->f[9] = cpu->f[9] * cpu->f[7]; /* 02980100 */ /* nop */ /* 02980104 */ _t66 = cpu->r[1] + 0x0000001Cu; /* 02980104 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[9]); /* 02980108 */ /* nop */ L_0298010C: ; // 0x298010c /* 0298010C */ _t67 = cpu->r[1] + 0x00000024u; /* 0298010C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67); /* 02980110 */ cpu->f[10] = cpu->f[11] * cpu->f[11]; /* 02980114 */ _t68 = cpu->r[1] + 0x00000020u; /* 02980114 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t68); /* 02980118 */ cpu->f[11] = fma(cpu->f[11], cpu->f[11], cpu->f[10]); /* 0298011C */ _t69 = cpu->r[1] + 0x00000028u; /* 0298011C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t69); /* 02980120 */ cpu->f[10] = fma(cpu->f[7], cpu->f[7], cpu->f[11]); /* 02980124 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]); /* 02980128 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u); /* 02980128 */ _t71 = _t70 & 0x00000001u; /* 02980128 */ if (_t71) goto L_0298012C; else goto L_02980158; L_0298012C: ; // 0x298012c /* 0298012C */ _ft72 = sqrt(cpu->f[10]); /* 0298012C */ _ft73 = (double)(int32_t)0x00000001u; /* 0298012C */ cpu->f[11] = _ft73 / _ft72; /* 02980130 */ cpu->f[13] = cpu->f[11] * cpu->f[11]; /* 02980134 */ cpu->f[8] = cpu->f[11] * cpu->f[0]; /* 02980138 */ cpu->f[13] = -fma(cpu->f[13], cpu->f[10], -(cpu->f[12])); /* 0298013C */ cpu->f[11] = cpu->f[13] * cpu->f[8]; /* 02980140 */ _t74 = cpu->r[1] + 0x00000028u; /* 02980140 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t74); /* 02980144 */ /* nop */ /* 02980148 */ cpu->f[10] = cpu->f[10] * cpu->f[11]; /* 0298014C */ /* nop */ /* 02980150 */ _t75 = cpu->r[1] + 0x00000028u; /* 02980150 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[10]); /* 02980154 */ /* nop */ L_02980158: ; // 0x2980158 /* 02980158 */ cpu->r[6] = cpu->r[1] + 0x00000020u; /* 0298015C */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 02980160 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02980164 */ cpu->r[3] = cpu->r[1] + 0x00000038u; /* 02980168 */ Gambit_fn_0216C948(cpu); L_0298016C: ; // 0x298016c /* 0298016C */ _t76 = cpu->r[28] + 0x00000088u; /* 0298016C */ cpu->r[12] = rbrew_read32(cpu->mem, _t76); /* 02980170 */ _t77 = cpu->r[12] + 0x00000234u; /* 02980170 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77); /* 02980174 */ cpu->r[5] = 0x101F0000u; /* 02980178 */ cpu->ctr = cpu->r[9]; /* 0298017C */ cpu->r[4] = cpu->r[1] + 0x00000038u; /* 02980180 */ cpu->r[5] = cpu->r[5] + 0x00006368u; /* 02980184 */ cpu->r[6] = 0x00000001u; /* 02980188 */ cpu->r[3] = cpu->r[28]; /* 0298018C */ cpu->r[7] = cpu->r[31]; /* 02980190 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980194 */ _t78 = cpu->r[30] + 0x00000008u; /* 02980194 */ cpu->r[3] = rbrew_read16(cpu->mem, _t78); L_02980198: ; // 0x2980198 /* 02980198 */ _t79 = cpu->r[1] + 0x00000068u; /* 02980198 */ cpu->r[28] = rbrew_read32(cpu->mem, _t79); /* 0298019C */ _t80 = cpu->r[1] + 0x0000006Cu; /* 0298019C */ cpu->r[29] = rbrew_read32(cpu->mem, _t80); /* 029801A0 */ _t81 = cpu->r[1] + 0x0000007Cu; /* 029801A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81); /* 029801A4 */ _t82 = cpu->r[1] + 0x00000070u; /* 029801A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t82); /* 029801A8 */ cpu->lr = cpu->r[0]; /* 029801AC */ _t83 = cpu->r[1] + 0x00000074u; /* 029801AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t83); /* 029801B0 */ cpu->r[1] = cpu->r[1] + 0x00000078u; /* 029801B4 */ return; } // fn_029801B8 @ 0x29801b8 void Gambit_fn_029801B8(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_029801B8: ; // 0x29801b8 /* 029801B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 029801B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029801B8 */ cpu->r[1] = _t0; /* 029801BC */ cpu->r[0] = cpu->lr; /* 029801C0 */ /* nop */ /* 029801C4 */ cpu->r[27] = cpu->r[3]; /* 029801C8 */ cpu->r[30] = cpu->r[4]; /* 029801C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 029801CC */ _t1 = cpu->r[1] + 0x00000024u; /* 029801CC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029801D0 */ cpu->r[29] = cpu->r[5]; /* 029801D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 029801D4 */ _t3 = _t2 & 0x00000001u; /* 029801D4 */ if (_t3) goto L_0298024C; else goto L_029801D8; L_029801D8: ; // 0x29801d8 /* 029801D8 */ _t4 = cpu->r[30] + 0x00000000u; /* 029801D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4); /* 029801DC */ _t5 = cpu->r[9] + 0x00000014u; /* 029801DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 029801E0 */ cpu->ctr = cpu->r[11]; /* 029801E4 */ cpu->r[3] = cpu->r[30]; /* 029801E8 */ cpu->r[4] = cpu->r[27]; /* 029801EC */ rbrew_call_indirect(cpu, cpu->ctr); /* 029801F0 */ _t6 = cpu->r[27] + 0x00000028u; /* 029801F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 029801F4 */ _t7 = cpu->r[27] + 0x00000030u; /* 029801F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7); /* 029801F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029801FC */ cpu->r[31] = cpu->r[28] + cpu->r[12]; /* 02980200 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 02980204 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980204 */ _t9 = _t8 & 0x00000001u; /* 02980204 */ if (_t9) goto L_02980224; else goto L_02980208; L_02980208: ; // 0x2980208 /* 02980208 */ _t10 = cpu->r[28] + 0x00000000u; /* 02980208 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 0298020C */ cpu->r[5] = cpu->r[29]; /* 02980210 */ cpu->r[3] = cpu->r[27]; /* 02980214 */ Gambit_fn_0297FF18(cpu); /* 02980218 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0298021C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 02980220 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980220 */ _t12 = _t11 & 0x00000001u; /* 02980220 */ if (_t12) goto L_02980224; else goto L_02980208; L_02980224: ; // 0x2980224 /* 02980224 */ _t13 = cpu->r[30] + 0x00000000u; /* 02980224 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13); /* 02980228 */ _t14 = cpu->r[5] + 0x0000001Cu; /* 02980228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298022C */ cpu->ctr = cpu->r[0]; /* 02980230 */ cpu->r[3] = cpu->r[30]; /* 02980234 */ cpu->r[4] = cpu->r[27]; /* 02980238 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298023C */ _t15 = cpu->r[27] + 0x0000007Cu; /* 0298023C */ cpu->r[10] = rbrew_read8(cpu->mem, _t15); /* 02980240 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 02980244 */ _t16 = cpu->r[27] + 0x0000007Cu; /* 02980244 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[10]); /* 02980248 */ goto L_0298028C; L_0298024C: ; // 0x298024c /* 0298024C */ _t17 = cpu->r[27] + 0x00000028u; /* 0298024C */ cpu->r[8] = rbrew_read32(cpu->mem, _t17); /* 02980250 */ _t18 = cpu->r[27] + 0x00000030u; /* 02980250 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 02980254 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980258 */ cpu->r[31] = cpu->r[30] + cpu->r[7]; /* 0298025C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02980260 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980260 */ _t20 = _t19 & 0x00000001u; /* 02980260 */ if (_t20) goto L_02980280; else goto L_02980264; L_02980264: ; // 0x2980264 /* 02980264 */ _t21 = cpu->r[30] + 0x00000000u; /* 02980264 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21); /* 02980268 */ cpu->r[5] = cpu->r[29]; /* 0298026C */ cpu->r[3] = cpu->r[27]; /* 02980270 */ Gambit_fn_0297FF18(cpu); /* 02980274 */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 02980278 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 0298027C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298027C */ _t23 = _t22 & 0x00000001u; /* 0298027C */ if (_t23) goto L_02980280; else goto L_02980264; L_02980280: ; // 0x2980280 /* 02980280 */ _t24 = cpu->r[27] + 0x0000007Cu; /* 02980280 */ cpu->r[10] = rbrew_read8(cpu->mem, _t24); /* 02980284 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 02980288 */ _t25 = cpu->r[27] + 0x0000007Cu; /* 02980288 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[10]); L_0298028C: ; // 0x298028c /* 0298028C */ /* nop */ /* 02980290 */ _t26 = cpu->r[1] + 0x00000024u; /* 02980290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02980294 */ cpu->lr = cpu->r[0]; /* 02980298 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298029C */ return; } // fn_029802A0 @ 0x29802a0 void Gambit_fn_029802A0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_029802A0: ; // 0x29802a0 /* 029802A0 */ cpu->r[0] = cpu->lr; /* 029802A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029802A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029802A4 */ cpu->r[1] = _t0; /* 029802A8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029802A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029802AC */ _t2 = cpu->r[1] + 0x00000008u; /* 029802AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029802B0 */ cpu->r[30] = cpu->r[3]; /* 029802B4 */ cpu->r[31] = 0x101D0000u; /* 029802B8 */ _t3 = cpu->r[1] + 0x00000014u; /* 029802B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 029802BC */ _t4 = cpu->r[31] + 0xFFFFA9E8u; /* 029802BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 029802C0 */ rbrew_dispatch(cpu, 0x02d0a9f0u); /* 029802C4 */ cpu->r[12] = 0x101F0000u; /* 029802C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029802CC */ cpu->r[12] = cpu->r[12] + 0x000065D0u; /* 029802D0 */ _t5 = cpu->r[12] + cpu->r[0]; /* 029802D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 029802D4 */ cpu->r[3] = cpu->r[31]; /* 029802D8 */ Gambit_fn_02A0F138(cpu); /* 029802DC */ _t6 = cpu->r[30] + 0x000000A8u; /* 029802DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 029802E0 */ cpu->r[5] = cpu->r[3]; /* 029802E4 */ cpu->r[3] = cpu->r[30]; /* 029802E8 */ Gambit_fn_029801B8(cpu); /* 029802EC */ _t7 = cpu->r[1] + 0x00000014u; /* 029802EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 029802F0 */ _t8 = cpu->r[1] + 0x00000008u; /* 029802F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 029802F4 */ cpu->lr = cpu->r[0]; /* 029802F8 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 029802F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 029802FC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02980300 */ return; } // fn_029802A4 @ 0x29802a4 void Gambit_fn_029802A4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_029802A4: ; // 0x29802a4 /* 029802A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029802A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029802A4 */ cpu->r[1] = _t0; /* 029802A8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029802A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029802AC */ _t2 = cpu->r[1] + 0x00000008u; /* 029802AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029802B0 */ cpu->r[30] = cpu->r[3]; /* 029802B4 */ cpu->r[31] = 0x101D0000u; /* 029802B8 */ _t3 = cpu->r[1] + 0x00000014u; /* 029802B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 029802BC */ _t4 = cpu->r[31] + 0xFFFFA9E8u; /* 029802BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 029802C0 */ rbrew_dispatch(cpu, 0x02d0a9f0u); /* 029802C4 */ cpu->r[12] = 0x101F0000u; /* 029802C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029802CC */ cpu->r[12] = cpu->r[12] + 0x000065D0u; /* 029802D0 */ _t5 = cpu->r[12] + cpu->r[0]; /* 029802D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 029802D4 */ cpu->r[3] = cpu->r[31]; /* 029802D8 */ Gambit_fn_02A0F138(cpu); /* 029802DC */ _t6 = cpu->r[30] + 0x000000A8u; /* 029802DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 029802E0 */ cpu->r[5] = cpu->r[3]; /* 029802E4 */ cpu->r[3] = cpu->r[30]; /* 029802E8 */ Gambit_fn_029801B8(cpu); /* 029802EC */ _t7 = cpu->r[1] + 0x00000014u; /* 029802EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 029802F0 */ _t8 = cpu->r[1] + 0x00000008u; /* 029802F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 029802F4 */ cpu->lr = cpu->r[0]; /* 029802F8 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 029802F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 029802FC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02980300 */ return; } // fn_02980304 @ 0x2980304 void Gambit_fn_02980304(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_02980304: ; // 0x2980304 /* 02980304 */ _t0 = cpu->r[3] + 0x0000007Du; /* 02980304 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 02980308 */ _t1 = cpu->r[3] + 0x0000007Fu; /* 02980308 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[4]); /* 0298030C */ cpu->r[0] = cpu->r[0] | 0x00000004u; /* 02980310 */ _t2 = cpu->r[3] + 0x0000007Du; /* 02980310 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]); /* 02980314 */ return; } // fn_02980318 @ 0x2980318 void Gambit_fn_02980318(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_02980318: ; // 0x2980318 /* 02980318 */ cpu->r[12] = cpu->r[3]; /* 0298031C */ _t0 = cpu->r[12] + 0x0000007Du; /* 0298031C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 02980320 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 02980320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02980324 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980324 */ _t2 = _t1 & 0x00000001u; /* 02980324 */ _t3 = _t2 ^ 0x00000001u; /* 02980324 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02980324 */ goto L_02980328; L_02980328: ; // 0x2980328 /* 02980328 */ _t4 = cpu->r[12] + 0x000000B8u; /* 02980328 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 0298032C */ _t5 = cpu->r[8] + 0x00004FA8u; /* 0298032C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02980330 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x0000001Fu, 0x0000001Fu); /* 02980330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02980334 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980334 */ _t7 = _t6 & 0x00000001u; /* 02980334 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02980334 */ goto L_02980338; L_02980338: ; // 0x2980338 /* 02980338 */ cpu->r[11] = cpu->r[8] + 0x00004A04u; /* 0298033C */ _t8 = cpu->r[0] + cpu->r[11]; /* 0298033C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 02980340 */ /* nop */ /* 02980344 */ cpu->r[7] = cpu->r[10] + 0x00000001u; /* 02980348 */ /* nop */ /* 0298034C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298034C */ _t10 = _t9 & 0x00000001u; /* 0298034C */ if (_t10) goto L_02980350; else goto L_02980338; L_02980350: ; // 0x2980350 /* 02980350 */ _t11 = cpu->r[8] + 0x00004A0Cu; /* 02980350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02980354 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980358 */ _t12 = cpu->r[11] + cpu->r[0]; /* 02980358 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]); /* 0298035C */ _t13 = cpu->r[12] + 0x0000007Du; /* 0298035C */ cpu->r[7] = rbrew_read8(cpu->mem, _t13); /* 02980360 */ _t14 = cpu->r[12] + 0x000000ACu; /* 02980360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 02980364 */ cpu->r[7] = cpu->r[7] | 0x00000002u; /* 02980368 */ _t15 = cpu->r[12] + 0x0000007Du; /* 02980368 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[7]); /* 0298036C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02980370 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980370 */ _t17 = _t16 & 0x00000001u; /* 02980370 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02980370 */ goto L_02980374; L_02980374: ; // 0x2980374 /* 02980374 */ goto L_02A01090; L_02A01090: ; // 0x2a01090 /* 02A01090 */ _t18 = cpu->r[3] + 0x00000194u; /* 02A01090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 02A01094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02A01098 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02A01098 */ _t20 = _t19 & 0x00000001u; /* 02A01098 */ if (_t20) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02A01098 */ goto L_02A0109C; L_02A0109C: ; // 0x2a0109c /* 02A0109C */ cpu->r[8] = cpu->r[12] + 0x00000004u; /* 02A010A0 */ _t21 = cpu->r[0] + cpu->r[8]; /* 02A010A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21); /* 02A010A4 */ /* nop */ /* 02A010A8 */ cpu->r[9] = cpu->r[11] + 0x00000001u; /* 02A010AC */ /* nop */ /* 02A010B0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02A010B0 */ _t23 = _t22 & 0x00000001u; /* 02A010B0 */ if (_t23) goto L_02A010B4; else goto L_02A0109C; L_02A010B4: ; // 0x2a010b4 /* 02A010B4 */ _t24 = cpu->r[12] + 0x0000000Cu; /* 02A010B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 02A010B8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02A010BC */ _t25 = cpu->r[10] + cpu->r[0]; /* 02A010BC */ rbrew_write32(cpu->mem, _t25, cpu->r[3]); /* 02A010C0 */ return; } // fn_02980378 @ 0x2980378 void Gambit_fn_02980378(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_02980378: ; // 0x2980378 /* 02980378 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02980378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980378 */ cpu->r[1] = _t0; /* 0298037C */ /* nop */ /* 02980380 */ cpu->r[0] = cpu->lr; /* 02980384 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02980384 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02980388 */ cpu->r[28] = cpu->r[3]; /* 0298038C */ cpu->r[31] = 0x101D0000u; /* 02980390 */ _t2 = cpu->r[31] + 0xFFFFA9E8u; /* 02980390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t2); /* 02980394 */ rbrew_dispatch(cpu, 0x02d0a9f0u); /* 02980398 */ cpu->r[6] = 0x101F0000u; /* 0298039C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029803A0 */ cpu->r[6] = cpu->r[6] + 0x000065D0u; /* 029803A4 */ _t3 = cpu->r[6] + cpu->r[0]; /* 029803A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3); /* 029803A8 */ cpu->r[3] = cpu->r[31]; /* 029803AC */ Gambit_fn_02A0F138(cpu); /* 029803B0 */ _t4 = cpu->r[28] + 0x000000A4u; /* 029803B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 029803B4 */ cpu->r[26] = cpu->r[3]; /* 029803B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029803BC */ _t5 = cpu->r[28] + 0x000000A8u; /* 029803BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 029803C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029803C0 */ _t7 = _t6 & 0x00000001u; /* 029803C0 */ if (_t7) goto L_029803C4; else goto L_029803E4; L_029803C4: ; // 0x29803c4 /* 029803C4 */ cpu->r[3] = cpu->r[28]; /* 029803C8 */ cpu->r[5] = cpu->r[26]; /* 029803CC */ Gambit_fn_029801B8(cpu); /* 029803D0 */ /* nop */ /* 029803D4 */ _t8 = cpu->r[1] + 0x0000002Cu; /* 029803D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 029803D8 */ cpu->lr = cpu->r[0]; /* 029803DC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 029803E0 */ return; L_029803E4: ; // 0x29803e4 /* 029803E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 029803E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 029803E8 */ _t10 = _t9 & 0x00000001u; /* 029803E8 */ if (_t10) goto L_0298041C; else goto L_029803EC; L_029803EC: ; // 0x29803ec /* 029803EC */ cpu->r[3] = cpu->r[28]; /* 029803F0 */ cpu->r[4] = cpu->r[26]; /* 029803F4 */ Gambit_fn_0297FE38(cpu); /* 029803F8 */ _t11 = cpu->r[28] + 0x000000A8u; /* 029803F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 029803FC */ cpu->r[5] = cpu->r[26]; /* 02980400 */ cpu->r[3] = cpu->r[28]; /* 02980404 */ Gambit_fn_029801B8(cpu); /* 02980408 */ /* nop */ /* 0298040C */ _t12 = cpu->r[1] + 0x0000002Cu; /* 0298040C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02980410 */ cpu->lr = cpu->r[0]; /* 02980414 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02980418 */ return; L_0298041C: ; // 0x298041c /* 0298041C */ _t13 = cpu->r[28] + 0x00000028u; /* 0298041C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13); /* 02980420 */ _t14 = cpu->r[28] + 0x00000030u; /* 02980420 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14); /* 02980424 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980428 */ cpu->r[30] = cpu->r[29] + cpu->r[7]; /* 0298042C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02980430 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980430 */ _t16 = _t15 & 0x00000001u; /* 02980430 */ if (_t16) goto L_029804D0; else goto L_02980434; L_02980434: ; // 0x2980434 /* 02980434 */ cpu->r[27] = 0x00000001u; /* 02980438 */ cpu->r[25] = 0x101D0000u; /* 0298043C */ cpu->r[24] = 0x101D0000u; L_02980440: ; // 0x2980440 /* 02980440 */ _t17 = cpu->r[25] + 0xFFFFE218u; /* 02980440 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 02980444 */ _t18 = cpu->r[29] + 0x00000000u; /* 02980444 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 02980448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298044C */ _t19 = cpu->r[9] + 0x00000000u; /* 0298044C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 02980450 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980450 */ _t21 = _t20 & 0x00000001u; /* 02980450 */ if (_t21) goto L_02980454; else goto L_02980464; L_02980454: ; // 0x2980454 /* 02980454 */ cpu->r[0] = 0x10150000u; /* 02980458 */ _t22 = cpu->r[25] + 0xFFFFE218u; /* 02980458 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]); /* 0298045C */ cpu->r[0] = cpu->r[0] + 0xFFFFEC18u; /* 02980460 */ _t23 = cpu->r[24] + 0xFFFFEF88u; /* 02980460 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]); L_02980464: ; // 0x2980464 /* 02980464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02980468 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980468 */ _t25 = _t24 & 0x00000001u; /* 02980468 */ if (_t25) goto L_029804B0; else goto L_0298046C; L_0298046C: ; // 0x298046c /* 0298046C */ _t26 = cpu->r[31] + 0x00000088u; /* 0298046C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26); /* 02980470 */ _t27 = cpu->r[12] + 0x0000000Cu; /* 02980470 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 02980474 */ cpu->ctr = cpu->r[9]; /* 02980478 */ cpu->r[3] = cpu->r[31]; /* 0298047C */ cpu->r[4] = cpu->r[24] + 0xFFFFEF88u; /* 02980480 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02980488 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980488 */ _t29 = _t28 & 0x00000001u; /* 02980488 */ if (_t29) goto L_029804B0; else goto L_0298048C; L_0298048C: ; // 0x298048c /* 0298048C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02980490 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980490 */ _t31 = _t30 & 0x00000001u; /* 02980490 */ if (_t31) goto L_029804B0; else goto L_02980494; L_02980494: ; // 0x2980494 /* 02980494 */ _t32 = cpu->r[29] + 0x00000000u; /* 02980494 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32); /* 02980498 */ _t33 = cpu->r[28] + 0x000000A4u; /* 02980498 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33); /* 0298049C */ cpu->r[5] = cpu->r[31]; /* 029804A0 */ _t34 = cpu->r[11] + 0x00000008u; /* 029804A0 */ cpu->r[4] = rbrew_read16(cpu->mem, _t34); /* 029804A4 */ cpu->r[7] = cpu->r[26]; /* 029804A8 */ cpu->r[6] = 0x00000001u; /* 029804AC */ Gambit_fn_029847A4(cpu); L_029804B0: ; // 0x29804b0 /* 029804B0 */ _t35 = cpu->r[29] + 0x00000000u; /* 029804B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35); /* 029804B4 */ cpu->r[5] = cpu->r[26]; /* 029804B8 */ cpu->r[3] = cpu->r[28]; /* 029804BC */ Gambit_fn_0297FF18(cpu); /* 029804C0 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 029804C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 029804C8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 029804C8 */ _t37 = _t36 & 0x00000001u; /* 029804C8 */ if (_t37) goto L_029804CC; else goto L_02980440; L_029804CC: ; // 0x29804cc /* 029804CC */ _t38 = cpu->r[28] + 0x000000A4u; /* 029804CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); L_029804D0: ; // 0x29804d0 /* 029804D0 */ cpu->r[3] = cpu->r[0]; /* 029804D4 */ cpu->r[4] = cpu->r[28]; /* 029804D8 */ Gambit_fn_029848B0(cpu); /* 029804DC */ /* nop */ /* 029804E0 */ _t39 = cpu->r[1] + 0x0000002Cu; /* 029804E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 029804E4 */ cpu->lr = cpu->r[0]; /* 029804E8 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 029804EC */ return; } // fn_029804F0 @ 0x29804f0 void Gambit_fn_029804F0(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_029804F0: ; // 0x29804f0 /* 029804F0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 029804F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029804F0 */ cpu->r[1] = _t0; /* 029804F4 */ /* nop */ /* 029804F8 */ cpu->r[0] = cpu->lr; /* 029804FC */ _t1 = cpu->r[1] + 0x0000002Cu; /* 029804FC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02980500 */ _t2 = cpu->r[3] + 0x00000080u; /* 02980500 */ cpu->r[12] = rbrew_read16(cpu->mem, _t2); /* 02980504 */ _t3 = cpu->r[3] + 0x00000014u; /* 02980504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02980508 */ cpu->r[28] = cpu->r[5]; /* 0298050C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 02980510 */ _t4 = cpu->r[3] + 0x00000018u; /* 02980510 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 02980514 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 02980514 */ _t6 = _t5 & 0x00000001u; /* 02980514 */ if (_t6) goto L_02980530; else goto L_02980518; L_02980518: ; // 0x2980518 /* 02980518 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 0298051C */ cpu->r[30] = cpu->r[31] + cpu->r[8]; /* 02980520 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02980524 */ _t7 = cpu->r[1] + 0x00000008u; /* 02980524 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 02980528 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980528 */ _t9 = _t8 & 0x00000001u; /* 02980528 */ if (_t9) goto L_029805CC; else goto L_0298052C; L_0298052C: ; // 0x298052c /* 0298052C */ goto L_02980544; L_02980530: ; // 0x2980530 /* 02980530 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02980534 */ cpu->r[30] = cpu->r[31] + cpu->r[9]; /* 02980538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298053C */ _t10 = cpu->r[1] + 0x00000008u; /* 0298053C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 02980540 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980540 */ _t12 = _t11 & 0x00000001u; /* 02980540 */ if (_t12) goto L_029805CC; else goto L_02980544; L_02980544: ; // 0x2980544 /* 02980544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02980548 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980548 */ _t14 = _t13 & 0x00000001u; /* 02980548 */ if (_t14) goto L_0298054C; else goto L_02980598; L_0298054C: ; // 0x298054c /* 0298054C */ cpu->r[10] = 0x00000001u; /* 02980550 */ /* nop */ /* 02980554 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02980558 */ _t15 = cpu->r[0] | cpu->r[0]; /* 02980558 */ cpu->r[27] = ~_t15; L_0298055C: ; // 0x298055c /* 0298055C */ _t16 = cpu->r[31] + 0x00000000u; /* 0298055C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 02980560 */ cpu->r[4] = cpu->r[28]; /* 02980564 */ cpu->r[3] = cpu->r[29]; /* 02980568 */ Gambit_fn_029DAAD0(cpu); /* 0298056C */ _t17 = cpu->r[29] + 0x0000000Au; /* 0298056C */ cpu->r[0] = rbrew_read16(cpu->mem, _t17); /* 02980570 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02980574 */ cpu->r[0] = cpu->r[0] & cpu->r[27]; /* 02980578 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298057C */ _t18 = cpu->r[29] + 0x0000000Au; /* 0298057C */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[0]); /* 02980580 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980580 */ _t20 = _t19 & 0x00000001u; /* 02980580 */ if (_t20) goto L_02980584; else goto L_0298055C; L_02980584: ; // 0x2980584 /* 02980584 */ /* nop */ /* 02980588 */ _t21 = cpu->r[1] + 0x0000002Cu; /* 02980588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0298058C */ cpu->lr = cpu->r[0]; /* 02980590 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02980594 */ return; L_02980598: ; // 0x2980598 /* 02980598 */ cpu->r[9] = 0x00000001u; /* 0298059C */ /* nop */ /* 029805A0 */ cpu->r[27] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000010u, 0x0000001Fu); L_029805A4: ; // 0x29805a4 /* 029805A4 */ _t22 = cpu->r[31] + 0x00000000u; /* 029805A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 029805A8 */ cpu->r[4] = cpu->r[28]; /* 029805AC */ cpu->r[3] = cpu->r[29]; /* 029805B0 */ Gambit_fn_029DAAD0(cpu); /* 029805B4 */ _t23 = cpu->r[29] + 0x0000000Au; /* 029805B4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t23); /* 029805B8 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029805BC */ cpu->r[11] = cpu->r[11] | cpu->r[27]; /* 029805C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029805C4 */ _t24 = cpu->r[29] + 0x0000000Au; /* 029805C4 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[11]); /* 029805C8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 029805C8 */ _t26 = _t25 & 0x00000001u; /* 029805C8 */ if (_t26) goto L_029805CC; else goto L_029805A4; L_029805CC: ; // 0x29805cc /* 029805CC */ /* nop */ /* 029805D0 */ _t27 = cpu->r[1] + 0x0000002Cu; /* 029805D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 029805D4 */ cpu->lr = cpu->r[0]; /* 029805D8 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 029805DC */ return; } // fn_029805E0 @ 0x29805e0 void Gambit_fn_029805E0(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_029805E0: ; // 0x29805e0 /* 029805E0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 029805E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029805E0 */ cpu->r[1] = _t0; /* 029805E4 */ /* nop */ /* 029805E8 */ cpu->r[0] = cpu->lr; /* 029805EC */ _t1 = cpu->r[1] + 0x0000002Cu; /* 029805EC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029805F0 */ _t2 = cpu->r[3] + 0x00000080u; /* 029805F0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t2); /* 029805F4 */ _t3 = cpu->r[3] + 0x00000014u; /* 029805F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 029805F8 */ cpu->r[27] = cpu->r[4]; /* 029805FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 02980600 */ _t4 = cpu->r[3] + 0x00000018u; /* 02980600 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 02980604 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 02980604 */ _t6 = _t5 & 0x00000001u; /* 02980604 */ if (_t6) goto L_02980620; else goto L_02980608; L_02980608: ; // 0x2980608 /* 02980608 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000001Cu); /* 0298060C */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 02980610 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02980614 */ _t7 = cpu->r[1] + 0x00000008u; /* 02980614 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 02980618 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980618 */ _t9 = _t8 & 0x00000001u; /* 02980618 */ if (_t9) goto L_02980680; else goto L_0298061C; L_0298061C: ; // 0x298061c /* 0298061C */ goto L_02980634; L_02980620: ; // 0x2980620 /* 02980620 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02980624 */ cpu->r[30] = cpu->r[31] + cpu->r[0]; /* 02980628 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298062C */ _t10 = cpu->r[1] + 0x00000008u; /* 0298062C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 02980630 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980630 */ _t12 = _t11 & 0x00000001u; /* 02980630 */ if (_t12) goto L_02980680; else goto L_02980634; L_02980634: ; // 0x2980634 /* 02980634 */ cpu->r[0] = 0x00000001u; /* 02980638 */ /* nop */ /* 0298063C */ cpu->r[28] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Fu); L_02980640: ; // 0x2980640 /* 02980640 */ _t13 = cpu->r[31] + 0x00000000u; /* 02980640 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 02980644 */ cpu->r[4] = cpu->r[27]; /* 02980648 */ cpu->r[3] = cpu->r[29]; /* 0298064C */ Gambit_fn_029DAAD0(cpu); /* 02980650 */ _t14 = cpu->r[29] + 0x0000000Au; /* 02980650 */ cpu->r[11] = rbrew_read16(cpu->mem, _t14); /* 02980654 */ cpu->r[10] = cpu->r[11] & cpu->r[28]; /* 02980654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02980658 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980658 */ _t16 = _t15 & 0x00000001u; /* 02980658 */ if (_t16) goto L_02980674; else goto L_0298065C; L_0298065C: ; // 0x298065c /* 0298065C */ /* nop */ /* 02980660 */ _t17 = cpu->r[1] + 0x0000002Cu; /* 02980660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02980664 */ cpu->lr = cpu->r[0]; /* 02980668 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0298066C */ cpu->r[3] = 0x00000001u; /* 02980670 */ return; L_02980674: ; // 0x2980674 /* 02980674 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02980678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298067C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298067C */ _t19 = _t18 & 0x00000001u; /* 0298067C */ if (_t19) goto L_02980680; else goto L_02980640; L_02980680: ; // 0x2980680 /* 02980680 */ /* nop */ /* 02980684 */ _t20 = cpu->r[1] + 0x0000002Cu; /* 02980684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02980688 */ cpu->lr = cpu->r[0]; /* 0298068C */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02980690 */ cpu->r[3] = 0x00000000u; /* 02980694 */ return; } // fn_02980698 @ 0x2980698 void Gambit_fn_02980698(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02980698: ; // 0x2980698 /* 02980698 */ _t0 = cpu->r[3] + 0x0000001Cu; /* 02980698 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0); /* 0298069C */ _t1 = cpu->r[3] + 0x00000024u; /* 0298069C */ cpu->r[8] = rbrew_read32(cpu->mem, _t1); /* 029806A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029806A4 */ cpu->r[0] = cpu->r[8] + cpu->r[0]; /* 029806A8 */ cpu->r[3] = 0x00000000u; /* 029806AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 029806B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 029806B0 */ _t3 = _t2 & 0x00000001u; /* 029806B0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029806B0 */ goto L_029806B4; L_029806B4: ; // 0x29806b4 /* 029806B4 */ _t4 = cpu->r[8] + 0x00000000u; /* 029806B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 029806B8 */ _t5 = cpu->r[12] + 0x00000000u; /* 029806B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 029806BC */ cpu->r[8] = cpu->r[8] + 0x00000004u; /* 029806C0 */ _t6 = cpu->r[9] + 0x00000012u; /* 029806C0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t6); /* 029806C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 029806C8 */ cpu->r[3] = cpu->r[3] | cpu->r[12]; /* 029806CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029806CC */ _t8 = _t7 & 0x00000001u; /* 029806CC */ if (_t8) goto L_029806D0; else goto L_029806B4; L_029806D0: ; // 0x29806d0 /* 029806D0 */ return; } // fn_029806D4 @ 0x29806d4 void Gambit_fn_029806D4(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_029806D4: ; // 0x29806d4 /* 029806D4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 029806D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029806D4 */ cpu->r[1] = _t0; /* 029806D8 */ /* nop */ /* 029806DC */ _t1 = cpu->r[1] + 0x00000020u; /* 029806DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 029806E0 */ /* nop */ /* 029806E4 */ cpu->r[0] = cpu->lr; /* 029806E8 */ _t2 = cpu->r[1] + 0x00000028u; /* 029806E8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 029806EC */ _t3 = cpu->r[1] + 0x00000034u; /* 029806EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 029806F0 */ _t4 = cpu->r[3] + 0x0000001Cu; /* 029806F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 029806F4 */ _t5 = cpu->r[3] + 0x00000024u; /* 029806F4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t5); /* 029806F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029806FC */ cpu->f[31] = cpu->f[1]; /* 02980700 */ cpu->r[27] = cpu->r[26] + cpu->r[0]; /* 02980704 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[27]); /* 02980708 */ _t6 = cpu->r[3] + 0x0000008Cu; /* 02980708 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]); /* 0298070C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298070C */ _t8 = _t7 & 0x00000001u; /* 0298070C */ if (_t8) goto L_02980788; else goto L_02980710; L_02980710: ; // 0x2980710 /* 02980710 */ cpu->r[30] = 0x00000001u; /* 02980714 */ cpu->r[29] = 0x101D0000u; /* 02980718 */ cpu->r[28] = 0x101D0000u; L_0298071C: ; // 0x298071c /* 0298071C */ _t9 = cpu->r[29] + 0xFFFFE218u; /* 0298071C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02980720 */ _t10 = cpu->r[26] + 0x00000000u; /* 02980720 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 02980724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02980728 */ _t11 = cpu->r[9] + 0x00000000u; /* 02980728 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0298072C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298072C */ _t13 = _t12 & 0x00000001u; /* 0298072C */ if (_t13) goto L_02980730; else goto L_02980740; L_02980730: ; // 0x2980730 /* 02980730 */ cpu->r[0] = 0x10150000u; /* 02980734 */ _t14 = cpu->r[29] + 0xFFFFE218u; /* 02980734 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]); /* 02980738 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC18u; /* 0298073C */ _t15 = cpu->r[28] + 0xFFFFEF88u; /* 0298073C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); L_02980740: ; // 0x2980740 /* 02980740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02980744 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980744 */ _t17 = _t16 & 0x00000001u; /* 02980744 */ if (_t17) goto L_0298077C; else goto L_02980748; L_02980748: ; // 0x2980748 /* 02980748 */ _t18 = cpu->r[31] + 0x00000088u; /* 02980748 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 0298074C */ _t19 = cpu->r[12] + 0x0000000Cu; /* 0298074C */ cpu->r[7] = rbrew_read32(cpu->mem, _t19); /* 02980750 */ cpu->ctr = cpu->r[7]; /* 02980754 */ cpu->r[3] = cpu->r[31]; /* 02980758 */ cpu->r[4] = cpu->r[28] + 0xFFFFEF88u; /* 0298075C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02980764 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980764 */ _t21 = _t20 & 0x00000001u; /* 02980764 */ if (_t21) goto L_0298077C; else goto L_02980768; L_02980768: ; // 0x2980768 /* 02980768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298076C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298076C */ _t23 = _t22 & 0x00000001u; /* 0298076C */ if (_t23) goto L_0298077C; else goto L_02980770; L_02980770: ; // 0x2980770 /* 02980770 */ cpu->f[1] = cpu->f[31]; /* 02980774 */ cpu->r[3] = cpu->r[31]; /* 02980778 */ Gambit_fn_029912D0(cpu); L_0298077C: ; // 0x298077c /* 0298077C */ cpu->r[26] = cpu->r[26] + 0x00000004u; /* 02980780 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[27]); /* 02980784 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980784 */ _t25 = _t24 & 0x00000001u; /* 02980784 */ if (_t25) goto L_02980788; else goto L_0298071C; L_02980788: ; // 0x2980788 /* 02980788 */ /* nop */ /* 0298078C */ _t26 = cpu->r[1] + 0x00000028u; /* 0298078C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26); /* 02980790 */ _t27 = cpu->r[1] + 0x00000020u; /* 02980790 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t27); /* 02980794 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u); /* 02980794 */ _t29 = _t28 & 0x00000001u; /* 02980794 */ if (_t29) goto L_02980798; // else: addr-0 trap, fall-through L_02980798: ; // 0x2980798 /* 02980798 */ _t30 = cpu->r[1] + 0x00000034u; /* 02980798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 0298079C */ cpu->lr = cpu->r[0]; /* 029807A0 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 029807A4 */ return; } // fn_029807A8 @ 0x29807a8 void Gambit_fn_029807A8(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_029807A8: ; // 0x29807a8 /* 029807A8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 029807A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029807A8 */ cpu->r[1] = _t0; /* 029807AC */ /* nop */ /* 029807B0 */ cpu->r[0] = cpu->lr; /* 029807B4 */ _t1 = cpu->r[1] + 0x00000024u; /* 029807B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029807B8 */ _t2 = cpu->r[3] + 0x0000001Cu; /* 029807B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 029807BC */ _t3 = cpu->r[3] + 0x00000024u; /* 029807BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t3); /* 029807C0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029807C4 */ cpu->r[30] = cpu->r[4]; /* 029807C8 */ cpu->r[29] = cpu->r[28] + cpu->r[7]; /* 029807CC */ cpu->r[31] = 0xFFFFFFFFu; /* 029807D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 029807D4 */ cpu->r[27] = 0x00000000u; /* 029807D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 029807D8 */ _t5 = _t4 & 0x00000001u; /* 029807D8 */ if (_t5) goto L_02980820; else goto L_029807DC; L_029807DC: ; // 0x29807dc /* 029807DC */ _t6 = cpu->r[28] + 0x00000000u; /* 029807DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 029807E0 */ _t7 = cpu->r[9] + 0x00000000u; /* 029807E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 029807E4 */ _t8 = cpu->r[3] + 0x00000088u; /* 029807E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 029807E8 */ _t9 = cpu->r[10] + 0x0000003Cu; /* 029807E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 029807EC */ cpu->ctr = cpu->r[0]; /* 029807F0 */ cpu->r[4] = cpu->r[30]; /* 029807F4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029807F8 */ cpu->r[12] = cpu->r[3]; /* 029807FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu); /* 02980800 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980800 */ _t11 = _t10 & 0x00000001u; /* 02980800 */ if (_t11) goto L_02980810; else goto L_02980804; L_02980804: ; // 0x2980804 /* 02980804 */ _t12 = rbrew_rlwinm(cpu->r[27], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02980804 */ _t13 = cpu->r[0] & 0x0000FFFFu; /* 02980804 */ cpu->r[0] = _t13 | _t12; /* 02980808 */ _t14 = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02980808 */ _t15 = cpu->r[0] & 0xFFFF0000u; /* 02980808 */ cpu->r[0] = _t15 | _t14; /* 0298080C */ goto L_02980828; L_02980810: ; // 0x2980810 /* 02980810 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 02980814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02980818 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 0298081C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298081C */ _t17 = _t16 & 0x00000001u; /* 0298081C */ if (_t17) goto L_02980820; else goto L_029807DC; L_02980820: ; // 0x2980820 /* 02980820 */ _t18 = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02980820 */ _t19 = cpu->r[0] & 0x0000FFFFu; /* 02980820 */ cpu->r[0] = _t19 | _t18; /* 02980824 */ _t20 = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02980824 */ _t21 = cpu->r[0] & 0xFFFF0000u; /* 02980824 */ cpu->r[0] = _t21 | _t20; L_02980828: ; // 0x2980828 /* 02980828 */ /* nop */ /* 0298082C */ cpu->r[3] = cpu->r[0]; /* 02980830 */ _t22 = cpu->r[1] + 0x00000024u; /* 02980830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02980834 */ cpu->lr = cpu->r[0]; /* 02980838 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298083C */ return; } // fn_02980840 @ 0x2980840 void Gambit_fn_02980840(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02980840: ; // 0x2980840 /* 02980840 */ _t0 = cpu->r[3] + 0x0000001Cu; /* 02980840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 02980844 */ cpu->r[8] = cpu->r[4]; /* 02980848 */ _t1 = cpu->r[8] + 0x00000000u; /* 02980848 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t1); /* 0298084C */ cpu->r[4] = cpu->r[5]; /* 02980850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 02980854 */ cpu->r[12] = 0x00000000u; /* 02980858 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 02980858 */ _t3 = _t2 & 0x00000001u; /* 02980858 */ if (_t3) goto L_0298085C; else goto L_02980868; L_0298085C: ; // 0x298085c /* 0298085C */ _t4 = cpu->r[3] + 0x00000024u; /* 0298085C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02980860 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980864 */ _t5 = cpu->r[12] + cpu->r[0]; /* 02980864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); L_02980868: ; // 0x2980868 /* 02980868 */ _t6 = cpu->r[12] + 0x00000000u; /* 02980868 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298086C */ _t7 = cpu->r[3] + 0x00000088u; /* 0298086C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 02980870 */ _t8 = cpu->r[9] + 0x0000004Cu; /* 02980870 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 02980874 */ cpu->r[5] = cpu->r[6]; /* 02980878 */ cpu->ctr = cpu->r[10]; /* 0298087C */ _t9 = cpu->r[8] + 0x00000002u; /* 0298087C */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 02980880 */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_02980884 @ 0x2980884 void Gambit_fn_02980884(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02980884: ; // 0x2980884 /* 02980884 */ _t0 = cpu->r[3] + 0x0000001Cu; /* 02980884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 02980888 */ cpu->r[8] = cpu->r[4]; /* 0298088C */ _t1 = cpu->r[8] + 0x00000000u; /* 0298088C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t1); /* 02980890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 02980894 */ cpu->r[11] = 0x00000000u; /* 02980898 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 02980898 */ _t3 = _t2 & 0x00000001u; /* 02980898 */ if (_t3) goto L_0298089C; else goto L_029808A8; L_0298089C: ; // 0x298089c /* 0298089C */ _t4 = cpu->r[3] + 0x00000024u; /* 0298089C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 029808A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029808A4 */ _t5 = cpu->r[12] + cpu->r[0]; /* 029808A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); L_029808A8: ; // 0x29808a8 /* 029808A8 */ _t6 = cpu->r[11] + 0x00000000u; /* 029808A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 029808AC */ _t7 = cpu->r[3] + 0x00000088u; /* 029808AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 029808B0 */ _t8 = cpu->r[12] + 0x00000054u; /* 029808B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 029808B4 */ cpu->r[4] = cpu->r[5]; /* 029808B8 */ cpu->ctr = cpu->r[9]; /* 029808BC */ _t9 = cpu->r[8] + 0x00000002u; /* 029808BC */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 029808C0 */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_029808C4 @ 0x29808c4 void Gambit_fn_029808C4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_029808C4: ; // 0x29808c4 /* 029808C4 */ _t0 = cpu->r[3] + 0x0000001Cu; /* 029808C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 029808C8 */ cpu->r[8] = cpu->r[4]; /* 029808CC */ _t1 = cpu->r[8] + 0x00000000u; /* 029808CC */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t1); /* 029808D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 029808D4 */ cpu->r[11] = 0x00000000u; /* 029808D8 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 029808D8 */ _t3 = _t2 & 0x00000001u; /* 029808D8 */ if (_t3) goto L_029808DC; else goto L_029808E8; L_029808DC: ; // 0x29808dc /* 029808DC */ _t4 = cpu->r[3] + 0x00000024u; /* 029808DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 029808E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029808E4 */ _t5 = cpu->r[12] + cpu->r[0]; /* 029808E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); L_029808E8: ; // 0x29808e8 /* 029808E8 */ _t6 = cpu->r[11] + 0x00000000u; /* 029808E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 029808EC */ _t7 = cpu->r[3] + 0x00000088u; /* 029808EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 029808F0 */ _t8 = cpu->r[12] + 0x0000006Cu; /* 029808F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 029808F4 */ cpu->r[4] = cpu->r[5]; /* 029808F8 */ cpu->ctr = cpu->r[9]; /* 029808FC */ _t9 = cpu->r[8] + 0x00000002u; /* 029808FC */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 02980900 */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_02980904 @ 0x2980904 void Gambit_fn_02980904(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_02980904: ; // 0x2980904 /* 02980904 */ cpu->r[0] = cpu->lr; /* 02980908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02980908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980908 */ cpu->r[1] = _t0; /* 0298090C */ _t1 = cpu->r[1] + 0x00000008u; /* 0298090C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02980910 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02980910 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02980914 */ _t3 = cpu->r[1] + 0x00000014u; /* 02980914 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02980918 */ _t4 = cpu->r[3] + 0x0000001Cu; /* 02980918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0298091C */ _t5 = cpu->r[3] + 0x00000024u; /* 0298091C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 02980920 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980924 */ cpu->r[31] = cpu->r[30] + cpu->r[0]; /* 02980928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 0298092C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298092C */ _t7 = _t6 & 0x00000001u; /* 0298092C */ if (_t7) goto L_02980954; else goto L_02980930; L_02980930: ; // 0x2980930 /* 02980930 */ _t8 = cpu->r[30] + 0x00000000u; /* 02980930 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 02980934 */ _t9 = cpu->r[11] + 0x00000000u; /* 02980934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 02980938 */ _t10 = cpu->r[3] + 0x00000088u; /* 02980938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 0298093C */ _t11 = cpu->r[12] + 0x000000ACu; /* 0298093C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02980940 */ cpu->ctr = cpu->r[0]; /* 02980944 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980948 */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 0298094C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02980950 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980950 */ _t13 = _t12 & 0x00000001u; /* 02980950 */ if (_t13) goto L_02980954; else goto L_02980930; L_02980954: ; // 0x2980954 /* 02980954 */ _t14 = cpu->r[1] + 0x00000014u; /* 02980954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02980958 */ _t15 = cpu->r[1] + 0x00000008u; /* 02980958 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0298095C */ cpu->lr = cpu->r[0]; /* 02980960 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02980960 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 02980964 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02980968 */ return; } // fn_02980908 @ 0x2980908 void Gambit_fn_02980908(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_02980908: ; // 0x2980908 /* 02980908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02980908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980908 */ cpu->r[1] = _t0; /* 0298090C */ _t1 = cpu->r[1] + 0x00000008u; /* 0298090C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02980910 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02980910 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02980914 */ _t3 = cpu->r[1] + 0x00000014u; /* 02980914 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02980918 */ _t4 = cpu->r[3] + 0x0000001Cu; /* 02980918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0298091C */ _t5 = cpu->r[3] + 0x00000024u; /* 0298091C */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 02980920 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980924 */ cpu->r[31] = cpu->r[30] + cpu->r[0]; /* 02980928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 0298092C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298092C */ _t7 = _t6 & 0x00000001u; /* 0298092C */ if (_t7) goto L_02980954; else goto L_02980930; L_02980930: ; // 0x2980930 /* 02980930 */ _t8 = cpu->r[30] + 0x00000000u; /* 02980930 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 02980934 */ _t9 = cpu->r[11] + 0x00000000u; /* 02980934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 02980938 */ _t10 = cpu->r[3] + 0x00000088u; /* 02980938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 0298093C */ _t11 = cpu->r[12] + 0x000000ACu; /* 0298093C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02980940 */ cpu->ctr = cpu->r[0]; /* 02980944 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980948 */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 0298094C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02980950 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980950 */ _t13 = _t12 & 0x00000001u; /* 02980950 */ if (_t13) goto L_02980954; else goto L_02980930; L_02980954: ; // 0x2980954 /* 02980954 */ _t14 = cpu->r[1] + 0x00000014u; /* 02980954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02980958 */ _t15 = cpu->r[1] + 0x00000008u; /* 02980958 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0298095C */ cpu->lr = cpu->r[0]; /* 02980960 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02980960 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 02980964 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02980968 */ return; } // fn_0298096C @ 0x298096c void Gambit_fn_0298096C(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_0298096C: ; // 0x298096c /* 0298096C */ cpu->r[0] = cpu->lr; /* 02980970 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02980970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980970 */ cpu->r[1] = _t0; /* 02980974 */ _t1 = cpu->r[1] + 0x00000008u; /* 02980974 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02980978 */ _t2 = cpu->r[1] + 0x00000010u; /* 02980978 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298097C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298097C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02980980 */ _t4 = cpu->r[1] + 0x00000014u; /* 02980980 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02980984 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02980984 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02980988 */ _t6 = cpu->r[3] + 0x0000001Cu; /* 02980988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298098C */ _t7 = cpu->r[3] + 0x00000024u; /* 0298098C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 02980990 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980994 */ cpu->r[30] = cpu->r[29] + cpu->r[0]; /* 02980998 */ cpu->r[31] = cpu->r[4]; /* 0298099C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 029809A0 */ cpu->r[28] = 0x00000000u; /* 029809A4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 029809A4 */ _t9 = _t8 & 0x00000001u; /* 029809A4 */ if (_t9) goto L_029809F8; else goto L_029809A8; L_029809A8: ; // 0x29809a8 /* 029809A8 */ _t10 = cpu->r[29] + 0x00000000u; /* 029809A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 029809AC */ _t11 = cpu->r[31] + 0x0000001Cu; /* 029809AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 029809B0 */ _t12 = cpu->r[12] + 0x00000000u; /* 029809B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 029809B4 */ cpu->r[0] = cpu->r[28]; /* 029809B8 */ _t13 = cpu->r[3] + 0x00000088u; /* 029809B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 029809BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 029809C0 */ cpu->r[8] = 0x00000000u; /* 029809C4 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 029809C8 */ cpu->r[12] = cpu->r[9] + 0x000000A0u; /* 029809CC */ _t14 = cpu->r[9] + 0x000000A4u; /* 029809CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 029809D0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 029809D0 */ _t16 = _t15 & 0x00000001u; /* 029809D0 */ if (_t16) goto L_029809D4; else goto L_029809E0; L_029809D4: ; // 0x29809d4 /* 029809D4 */ _t17 = cpu->r[31] + 0x00000024u; /* 029809D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17); /* 029809D8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029809DC */ _t18 = cpu->r[11] + cpu->r[9]; /* 029809DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); L_029809E0: ; // 0x29809e0 /* 029809E0 */ cpu->ctr = cpu->r[10]; /* 029809E4 */ _t19 = cpu->r[8] + 0x00000000u; /* 029809E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19); /* 029809E8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029809EC */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 029809F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 029809F4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 029809F4 */ _t21 = _t20 & 0x00000001u; /* 029809F4 */ if (_t21) goto L_029809F8; else goto L_029809A8; L_029809F8: ; // 0x29809f8 /* 029809F8 */ _t22 = cpu->r[1] + 0x00000008u; /* 029809F8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 029809FC */ _t23 = cpu->r[1] + 0x0000000Cu; /* 029809FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 02980A00 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 02980A00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 02980A04 */ _t25 = cpu->r[1] + 0x00000010u; /* 02980A04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 02980A08 */ cpu->lr = cpu->r[0]; /* 02980A0C */ _t26 = cpu->r[1] + 0x00000014u; /* 02980A0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 02980A10 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02980A14 */ return; } // fn_02980970 @ 0x2980970 void Gambit_fn_02980970(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_02980970: ; // 0x2980970 /* 02980970 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02980970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980970 */ cpu->r[1] = _t0; /* 02980974 */ _t1 = cpu->r[1] + 0x00000008u; /* 02980974 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02980978 */ _t2 = cpu->r[1] + 0x00000010u; /* 02980978 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298097C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298097C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02980980 */ _t4 = cpu->r[1] + 0x00000014u; /* 02980980 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02980984 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02980984 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02980988 */ _t6 = cpu->r[3] + 0x0000001Cu; /* 02980988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298098C */ _t7 = cpu->r[3] + 0x00000024u; /* 0298098C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 02980990 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980994 */ cpu->r[30] = cpu->r[29] + cpu->r[0]; /* 02980998 */ cpu->r[31] = cpu->r[4]; /* 0298099C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 029809A0 */ cpu->r[28] = 0x00000000u; /* 029809A4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 029809A4 */ _t9 = _t8 & 0x00000001u; /* 029809A4 */ if (_t9) goto L_029809F8; else goto L_029809A8; L_029809A8: ; // 0x29809a8 /* 029809A8 */ _t10 = cpu->r[29] + 0x00000000u; /* 029809A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 029809AC */ _t11 = cpu->r[31] + 0x0000001Cu; /* 029809AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 029809B0 */ _t12 = cpu->r[12] + 0x00000000u; /* 029809B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 029809B4 */ cpu->r[0] = cpu->r[28]; /* 029809B8 */ _t13 = cpu->r[3] + 0x00000088u; /* 029809B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 029809BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 029809C0 */ cpu->r[8] = 0x00000000u; /* 029809C4 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 029809C8 */ cpu->r[12] = cpu->r[9] + 0x000000A0u; /* 029809CC */ _t14 = cpu->r[9] + 0x000000A4u; /* 029809CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 029809D0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 029809D0 */ _t16 = _t15 & 0x00000001u; /* 029809D0 */ if (_t16) goto L_029809D4; else goto L_029809E0; L_029809D4: ; // 0x29809d4 /* 029809D4 */ _t17 = cpu->r[31] + 0x00000024u; /* 029809D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17); /* 029809D8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029809DC */ _t18 = cpu->r[11] + cpu->r[9]; /* 029809DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); L_029809E0: ; // 0x29809e0 /* 029809E0 */ cpu->ctr = cpu->r[10]; /* 029809E4 */ _t19 = cpu->r[8] + 0x00000000u; /* 029809E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19); /* 029809E8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029809EC */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 029809F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 029809F4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 029809F4 */ _t21 = _t20 & 0x00000001u; /* 029809F4 */ if (_t21) goto L_029809F8; else goto L_029809A8; L_029809F8: ; // 0x29809f8 /* 029809F8 */ _t22 = cpu->r[1] + 0x00000008u; /* 029809F8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 029809FC */ _t23 = cpu->r[1] + 0x0000000Cu; /* 029809FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 02980A00 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 02980A00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 02980A04 */ _t25 = cpu->r[1] + 0x00000010u; /* 02980A04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 02980A08 */ cpu->lr = cpu->r[0]; /* 02980A0C */ _t26 = cpu->r[1] + 0x00000014u; /* 02980A0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 02980A10 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02980A14 */ return; } // fn_02980A18 @ 0x2980a18 void Gambit_fn_02980A18(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_02980A18: ; // 0x2980a18 /* 02980A18 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02980A18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980A18 */ cpu->r[1] = _t0; /* 02980A1C */ /* nop */ /* 02980A20 */ cpu->r[0] = cpu->lr; /* 02980A24 */ _t1 = cpu->r[1] + 0x00000024u; /* 02980A24 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02980A28 */ _t2 = cpu->r[3] + 0x0000001Cu; /* 02980A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02980A2C */ _t3 = cpu->r[3] + 0x00000024u; /* 02980A2C */ cpu->r[28] = rbrew_read32(cpu->mem, _t3); /* 02980A30 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980A34 */ cpu->r[30] = cpu->r[4]; /* 02980A38 */ cpu->r[29] = cpu->r[28] + cpu->r[7]; /* 02980A3C */ cpu->r[31] = 0xFFFFFFFFu; /* 02980A40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02980A44 */ cpu->r[27] = 0x00000000u; /* 02980A48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980A48 */ _t5 = _t4 & 0x00000001u; /* 02980A48 */ if (_t5) goto L_02980A90; else goto L_02980A4C; L_02980A4C: ; // 0x2980a4c /* 02980A4C */ _t6 = cpu->r[28] + 0x00000000u; /* 02980A4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 02980A50 */ _t7 = cpu->r[9] + 0x00000000u; /* 02980A50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 02980A54 */ _t8 = cpu->r[3] + 0x00000088u; /* 02980A54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 02980A58 */ _t9 = cpu->r[10] + 0x000000BCu; /* 02980A58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02980A5C */ cpu->ctr = cpu->r[0]; /* 02980A60 */ cpu->r[4] = cpu->r[30]; /* 02980A64 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980A68 */ cpu->r[12] = cpu->r[3]; /* 02980A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu); /* 02980A70 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980A70 */ _t11 = _t10 & 0x00000001u; /* 02980A70 */ if (_t11) goto L_02980A80; else goto L_02980A74; L_02980A74: ; // 0x2980a74 /* 02980A74 */ _t12 = rbrew_rlwinm(cpu->r[27], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02980A74 */ _t13 = cpu->r[0] & 0x0000FFFFu; /* 02980A74 */ cpu->r[0] = _t13 | _t12; /* 02980A78 */ _t14 = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02980A78 */ _t15 = cpu->r[0] & 0xFFFF0000u; /* 02980A78 */ cpu->r[0] = _t15 | _t14; /* 02980A7C */ goto L_02980A98; L_02980A80: ; // 0x2980a80 /* 02980A80 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 02980A84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02980A88 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02980A8C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980A8C */ _t17 = _t16 & 0x00000001u; /* 02980A8C */ if (_t17) goto L_02980A90; else goto L_02980A4C; L_02980A90: ; // 0x2980a90 /* 02980A90 */ _t18 = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02980A90 */ _t19 = cpu->r[0] & 0x0000FFFFu; /* 02980A90 */ cpu->r[0] = _t19 | _t18; /* 02980A94 */ _t20 = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02980A94 */ _t21 = cpu->r[0] & 0xFFFF0000u; /* 02980A94 */ cpu->r[0] = _t21 | _t20; L_02980A98: ; // 0x2980a98 /* 02980A98 */ /* nop */ /* 02980A9C */ cpu->r[3] = cpu->r[0]; /* 02980AA0 */ _t22 = cpu->r[1] + 0x00000024u; /* 02980AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02980AA4 */ cpu->lr = cpu->r[0]; /* 02980AA8 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02980AAC */ return; } // fn_02980AB0 @ 0x2980ab0 void Gambit_fn_02980AB0(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_02980AB0: ; // 0x2980ab0 /* 02980AB0 */ cpu->r[0] = cpu->lr; /* 02980AB4 */ _t0 = cpu->r[1] + 0x00000004u; /* 02980AB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02980AB8 */ _t1 = cpu->r[1] + 0xFFFFFFE8u; /* 02980AB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02980AB8 */ cpu->r[1] = _t1; /* 02980ABC */ _t2 = cpu->r[4] + 0x00000000u; /* 02980ABC */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2); /* 02980AC0 */ _t3 = cpu->r[3] + 0x0000001Cu; /* 02980AC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3); /* 02980AC4 */ _t4 = cpu->r[4] + 0x00000002u; /* 02980AC4 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 02980AC8 */ cpu->r[9] = 0x00000000u; /* 02980ACC */ _t5 = cpu->r[1] + 0x00000010u; /* 02980ACC */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[7]); /* 02980AD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]); /* 02980AD4 */ _t6 = cpu->r[1] + 0x00000012u; /* 02980AD4 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[4]); /* 02980AD8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 02980AD8 */ _t8 = _t7 & 0x00000001u; /* 02980AD8 */ if (_t8) goto L_02980ADC; else goto L_02980AE8; L_02980ADC: ; // 0x2980adc /* 02980ADC */ _t9 = cpu->r[3] + 0x00000024u; /* 02980ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02980AE0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980AE4 */ _t10 = cpu->r[10] + cpu->r[0]; /* 02980AE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); L_02980AE8: ; // 0x2980ae8 /* 02980AE8 */ _t11 = cpu->r[9] + 0x00000000u; /* 02980AE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 02980AEC */ _t12 = cpu->r[3] + 0x00000088u; /* 02980AEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02980AF0 */ _t13 = cpu->r[12] + 0x000000CCu; /* 02980AF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 02980AF4 */ cpu->ctr = cpu->r[7]; /* 02980AF8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980AFC */ _t14 = cpu->r[1] + 0x0000001Cu; /* 02980AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02980B00 */ /* nop */ /* 02980B04 */ _t15 = cpu->r[1] + 0x00000010u; /* 02980B04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15); /* 02980B08 */ cpu->lr = cpu->r[0]; /* 02980B0C */ _t16 = cpu->r[1] + 0x00000014u; /* 02980B0C */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[3]); /* 02980B10 */ _t17 = cpu->r[1] + 0x00000014u; /* 02980B10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17); /* 02980B14 */ _t18 = cpu->r[1] + 0x00000008u; /* 02980B14 */ rbrew_write32(cpu->mem, _t18, cpu->r[5]); /* 02980B18 */ _t19 = cpu->r[1] + 0x00000008u; /* 02980B18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19); /* 02980B1C */ _t20 = cpu->r[1] + 0x0000000Cu; /* 02980B1C */ rbrew_write32(cpu->mem, _t20, cpu->r[6]); /* 02980B20 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02980B20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21); /* 02980B24 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02980B28 */ return; } // fn_02980AB8 @ 0x2980ab8 void Gambit_fn_02980AB8(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_02980AB8: ; // 0x2980ab8 /* 02980AB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02980AB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980AB8 */ cpu->r[1] = _t0; /* 02980ABC */ _t1 = cpu->r[4] + 0x00000000u; /* 02980ABC */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t1); /* 02980AC0 */ _t2 = cpu->r[3] + 0x0000001Cu; /* 02980AC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2); /* 02980AC4 */ _t3 = cpu->r[4] + 0x00000002u; /* 02980AC4 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3); /* 02980AC8 */ cpu->r[9] = 0x00000000u; /* 02980ACC */ _t4 = cpu->r[1] + 0x00000010u; /* 02980ACC */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[7]); /* 02980AD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]); /* 02980AD4 */ _t5 = cpu->r[1] + 0x00000012u; /* 02980AD4 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[4]); /* 02980AD8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 02980AD8 */ _t7 = _t6 & 0x00000001u; /* 02980AD8 */ if (_t7) goto L_02980ADC; else goto L_02980AE8; L_02980ADC: ; // 0x2980adc /* 02980ADC */ _t8 = cpu->r[3] + 0x00000024u; /* 02980ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02980AE0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980AE4 */ _t9 = cpu->r[10] + cpu->r[0]; /* 02980AE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); L_02980AE8: ; // 0x2980ae8 /* 02980AE8 */ _t10 = cpu->r[9] + 0x00000000u; /* 02980AE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02980AEC */ _t11 = cpu->r[3] + 0x00000088u; /* 02980AEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 02980AF0 */ _t12 = cpu->r[12] + 0x000000CCu; /* 02980AF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12); /* 02980AF4 */ cpu->ctr = cpu->r[7]; /* 02980AF8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980AFC */ _t13 = cpu->r[1] + 0x0000001Cu; /* 02980AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02980B00 */ /* nop */ /* 02980B04 */ _t14 = cpu->r[1] + 0x00000010u; /* 02980B04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14); /* 02980B08 */ cpu->lr = cpu->r[0]; /* 02980B0C */ _t15 = cpu->r[1] + 0x00000014u; /* 02980B0C */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[3]); /* 02980B10 */ _t16 = cpu->r[1] + 0x00000014u; /* 02980B10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16); /* 02980B14 */ _t17 = cpu->r[1] + 0x00000008u; /* 02980B14 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]); /* 02980B18 */ _t18 = cpu->r[1] + 0x00000008u; /* 02980B18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18); /* 02980B1C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02980B1C */ rbrew_write32(cpu->mem, _t19, cpu->r[6]); /* 02980B20 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 02980B20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20); /* 02980B24 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02980B28 */ return; } // fn_02980B2C @ 0x2980b2c void Gambit_fn_02980B2C(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_02980B2C: ; // 0x2980b2c /* 02980B2C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02980B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980B2C */ cpu->r[1] = _t0; /* 02980B30 */ /* nop */ /* 02980B34 */ cpu->r[0] = cpu->lr; /* 02980B38 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02980B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02980B3C */ cpu->r[29] = cpu->r[3]; /* 02980B40 */ _t2 = cpu->r[29] + 0x00000080u; /* 02980B40 */ cpu->r[5] = rbrew_read16(cpu->mem, _t2); /* 02980B44 */ _t3 = cpu->r[29] + 0x00000014u; /* 02980B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02980B48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]); /* 02980B4C */ _t4 = cpu->r[29] + 0x00000018u; /* 02980B4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 02980B50 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 02980B50 */ _t6 = _t5 & 0x00000001u; /* 02980B50 */ if (_t6) goto L_02980B6C; else goto L_02980B54; L_02980B54: ; // 0x2980b54 /* 02980B54 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000001Cu); /* 02980B58 */ cpu->r[30] = cpu->r[31] + cpu->r[12]; /* 02980B5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02980B60 */ _t7 = cpu->r[1] + 0x00000008u; /* 02980B60 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 02980B64 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980B64 */ _t9 = _t8 & 0x00000001u; /* 02980B64 */ if (_t9) goto L_02980BD0; else goto L_02980B68; L_02980B68: ; // 0x2980b68 /* 02980B68 */ goto L_02980B80; L_02980B6C: ; // 0x2980b6c /* 02980B6C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02980B70 */ cpu->r[30] = cpu->r[31] + cpu->r[0]; /* 02980B74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02980B78 */ _t10 = cpu->r[1] + 0x00000008u; /* 02980B78 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 02980B7C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980B7C */ _t12 = _t11 & 0x00000001u; /* 02980B7C */ if (_t12) goto L_02980BD0; else goto L_02980B80; L_02980B80: ; // 0x2980b80 /* 02980B80 */ _t13 = cpu->r[31] + 0x00000000u; /* 02980B80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 02980B84 */ _t14 = cpu->r[3] + 0x00000088u; /* 02980B84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14); /* 02980B88 */ _t15 = cpu->r[4] + 0x000000B4u; /* 02980B88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15); /* 02980B8C */ cpu->ctr = cpu->r[8]; /* 02980B90 */ cpu->r[27] = 0x00000000u; /* 02980B94 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980B98 */ cpu->r[28] = cpu->r[3]; /* 02980B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02980B9C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 02980B9C */ _t17 = _t16 & 0x00000001u; /* 02980B9C */ if (_t17) goto L_02980BA0; else goto L_02980BC4; L_02980BA0: ; // 0x2980ba0 /* 02980BA0 */ _t18 = cpu->r[31] + 0x00000000u; /* 02980BA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18); /* 02980BA4 */ _t19 = cpu->r[3] + 0x00000088u; /* 02980BA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19); /* 02980BA8 */ _t20 = cpu->r[6] + 0x0000018Cu; /* 02980BA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20); /* 02980BAC */ cpu->ctr = cpu->r[7]; /* 02980BB0 */ cpu->r[4] = cpu->r[27]; /* 02980BB4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980BB8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02980BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02980BBC */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02980BC0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980BC0 */ _t22 = _t21 & 0x00000001u; /* 02980BC0 */ if (_t22) goto L_02980BC4; else goto L_02980BA0; L_02980BC4: ; // 0x2980bc4 /* 02980BC4 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02980BC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02980BCC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980BCC */ _t24 = _t23 & 0x00000001u; /* 02980BCC */ if (_t24) goto L_02980BD0; else goto L_02980B80; L_02980BD0: ; // 0x2980bd0 /* 02980BD0 */ _t25 = cpu->r[29] + 0x000000A8u; /* 02980BD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25); /* 02980BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02980BD8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980BD8 */ _t27 = _t26 & 0x00000001u; /* 02980BD8 */ if (_t27) goto L_02980BF0; else goto L_02980BDC; L_02980BDC: ; // 0x2980bdc /* 02980BDC */ _t28 = cpu->r[3] + 0x00000000u; /* 02980BDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t28); /* 02980BE0 */ _t29 = cpu->r[9] + 0x00000024u; /* 02980BE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29); /* 02980BE4 */ cpu->ctr = cpu->r[10]; /* 02980BE8 */ cpu->r[4] = cpu->r[29]; /* 02980BEC */ rbrew_call_indirect(cpu, cpu->ctr); L_02980BF0: ; // 0x2980bf0 /* 02980BF0 */ /* nop */ /* 02980BF4 */ _t30 = cpu->r[1] + 0x0000002Cu; /* 02980BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 02980BF8 */ cpu->lr = cpu->r[0]; /* 02980BFC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02980C00 */ return; } // fn_02980C04 @ 0x2980c04 void Gambit_fn_02980C04(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; L_02980C04: ; // 0x2980c04 /* 02980C04 */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 02980C04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980C04 */ cpu->r[1] = _t0; /* 02980C08 */ /* nop */ /* 02980C0C */ cpu->r[0] = cpu->lr; /* 02980C10 */ _t1 = cpu->r[1] + 0x00000044u; /* 02980C10 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02980C14 */ cpu->r[29] = cpu->r[6]; /* 02980C18 */ _t2 = cpu->r[3] + 0x0000001Cu; /* 02980C18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 02980C1C */ _t3 = cpu->r[29] + 0x00000000u; /* 02980C1C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3); /* 02980C20 */ cpu->r[27] = cpu->r[4]; /* 02980C24 */ cpu->r[28] = cpu->r[5]; /* 02980C28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]); /* 02980C2C */ cpu->r[11] = 0x00000000u; /* 02980C30 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 02980C30 */ _t5 = _t4 & 0x00000001u; /* 02980C30 */ if (_t5) goto L_02980C34; else goto L_02980C40; L_02980C34: ; // 0x2980c34 /* 02980C34 */ _t6 = cpu->r[3] + 0x00000024u; /* 02980C34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02980C38 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980C3C */ _t7 = cpu->r[12] + cpu->r[0]; /* 02980C3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); L_02980C40: ; // 0x2980c40 /* 02980C40 */ cpu->r[10] = 0x101D0000u; /* 02980C44 */ _t8 = cpu->r[10] + 0xFFFFE218u; /* 02980C44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8); /* 02980C44 */ cpu->r[10] = _t8; /* 02980C48 */ cpu->r[4] = 0x101D0000u; /* 02980C4C */ _t9 = cpu->r[11] + 0x00000000u; /* 02980C4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 02980C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02980C54 */ cpu->r[4] = cpu->r[4] + 0xFFFFEF88u; /* 02980C58 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980C58 */ _t11 = _t10 & 0x00000001u; /* 02980C58 */ if (_t11) goto L_02980C5C; else goto L_02980C70; L_02980C5C: ; // 0x2980c5c /* 02980C5C */ cpu->r[9] = 0x10150000u; /* 02980C60 */ cpu->r[8] = 0x00000001u; /* 02980C64 */ cpu->r[9] = cpu->r[9] + 0xFFFFEC18u; /* 02980C68 */ _t12 = cpu->r[10] + 0x00000000u; /* 02980C68 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]); /* 02980C6C */ _t13 = cpu->r[4] + 0x00000000u; /* 02980C6C */ rbrew_write32(cpu->mem, _t13, cpu->r[9]); L_02980C70: ; // 0x2980c70 /* 02980C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02980C74 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980C74 */ _t15 = _t14 & 0x00000001u; /* 02980C74 */ if (_t15) goto L_02980DC8; else goto L_02980C78; L_02980C78: ; // 0x2980c78 /* 02980C78 */ _t16 = cpu->r[30] + 0x00000088u; /* 02980C78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 02980C7C */ _t17 = cpu->r[10] + 0x0000000Cu; /* 02980C7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t17); /* 02980C80 */ cpu->ctr = cpu->r[5]; /* 02980C84 */ cpu->r[3] = cpu->r[30]; /* 02980C88 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02980C90 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980C90 */ _t19 = _t18 & 0x00000001u; /* 02980C90 */ if (_t19) goto L_02980DC8; else goto L_02980C94; L_02980C94: ; // 0x2980c94 /* 02980C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02980C98 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980C98 */ _t21 = _t20 & 0x00000001u; /* 02980C98 */ if (_t21) goto L_02980DC8; else goto L_02980C9C; L_02980C9C: ; // 0x2980c9c /* 02980C9C */ _t22 = cpu->r[29] + 0x00000002u; /* 02980C9C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t22); /* 02980CA0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000003Cu); /* 02980CA4 */ _t23 = cpu->r[30] + 0x000000B4u; /* 02980CA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23); /* 02980CA8 */ _t24 = cpu->r[4] + cpu->r[12]; /* 02980CA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24); /* 02980CAC */ _t25 = cpu->r[8] + 0x00000011u; /* 02980CAC */ cpu->r[6] = rbrew_read8(cpu->mem, _t25); /* 02980CB0 */ cpu->r[22] = 0x00000000u; /* 02980CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[6]); /* 02980CB8 */ cpu->r[21] = cpu->r[4] + cpu->r[12]; /* 02980CBC */ _t26 = cpu->cr[0] >> (0x00000003u & 31u); /* 02980CBC */ _t27 = _t26 & 0x00000001u; /* 02980CBC */ if (_t27) goto L_02980CC0; else goto L_02980DC8; L_02980CC0: ; // 0x2980cc0 /* 02980CC0 */ cpu->r[31] = 0x10110000u; /* 02980CC4 */ cpu->r[25] = 0x00080000u; /* 02980CC8 */ cpu->r[24] = 0x00000000u; /* 02980CCC */ cpu->r[26] = 0x10150000u; /* 02980CD0 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 02980CD4 */ _t28 = cpu->r[31] + 0x00007399u; /* 02980CD4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t28); /* 02980CD8 */ cpu->r[26] = cpu->r[26] + 0xFFFFEBC8u; L_02980CDC: ; // 0x2980cdc /* 02980CDC */ _t29 = cpu->r[21] + 0x0000002Cu; /* 02980CDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t29); /* 02980CE0 */ _t30 = cpu->r[7] + cpu->r[24]; /* 02980CE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 02980CE4 */ _t31 = cpu->r[5] + 0x000000A8u; /* 02980CE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31); /* 02980CE8 */ cpu->r[7] = cpu->r[5] + 0x000000A8u; /* 02980CEC */ cpu->r[10] = 0x00000000u; /* 02980CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02980CF4 */ _t32 = cpu->r[28] + 0x00000004u; /* 02980CF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32); /* 02980CF8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980CF8 */ _t34 = _t33 & 0x00000001u; /* 02980CF8 */ if (_t34) goto L_02980D00; else goto L_02980CFC; L_02980CFC: ; // 0x2980cfc /* 02980CFC */ cpu->r[10] = cpu->r[7] + cpu->r[8]; L_02980D00: ; // 0x2980d00 /* 02980D00 */ _t35 = cpu->r[1] + 0x00000008u; /* 02980D00 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]); /* 02980D04 */ _t36 = cpu->r[1] + 0x0000000Cu; /* 02980D04 */ rbrew_write32(cpu->mem, _t36, cpu->r[26]); /* 02980D08 */ _t37 = cpu->r[9] + 0x00000014u; /* 02980D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 02980D0C */ cpu->ctr = cpu->r[0]; /* 02980D10 */ cpu->r[3] = cpu->r[28]; /* 02980D14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980D18 */ _t38 = cpu->r[28] + 0x00000004u; /* 02980D18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38); /* 02980D1C */ _t39 = cpu->r[11] + 0x00000014u; /* 02980D1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t39); /* 02980D20 */ cpu->ctr = cpu->r[4]; /* 02980D24 */ cpu->r[3] = cpu->r[28]; /* 02980D28 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980D2C */ _t40 = cpu->r[1] + 0x0000000Cu; /* 02980D2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t40); /* 02980D30 */ _t41 = cpu->r[6] + 0x00000014u; /* 02980D30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41); /* 02980D34 */ cpu->ctr = cpu->r[9]; /* 02980D38 */ _t42 = cpu->r[28] + 0x00000000u; /* 02980D38 */ cpu->r[23] = rbrew_read32(cpu->mem, _t42); /* 02980D3C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02980D40 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980D44 */ _t43 = cpu->r[1] + 0x00000008u; /* 02980D44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43); /* 02980D48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]); /* 02980D4C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980D4C */ _t45 = _t44 & 0x00000001u; /* 02980D4C */ if (_t45) goto L_02980D9C; else goto L_02980D50; L_02980D50: ; // 0x2980d50 /* 02980D50 */ _t46 = cpu->r[28] + 0x00000000u; /* 02980D50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46); /* 02980D54 */ _t47 = cpu->r[1] + 0x00000008u; /* 02980D54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47); /* 02980D58 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu; /* 02980D5C */ cpu->ctr = cpu->r[25]; /* 02980D60 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu; L_02980D64: ; // 0x2980d64 /* 02980D64 */ _t48 = cpu->r[7] + 0x00000001u; /* 02980D64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t48); /* 02980D64 */ cpu->r[7] = _t48; /* 02980D68 */ _t49 = cpu->r[6] + 0x00000001u; /* 02980D68 */ cpu->r[12] = rbrew_read8(cpu->mem, _t49); /* 02980D68 */ cpu->r[6] = _t49; /* 02980D6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02980D70 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980D70 */ _t51 = _t50 & 0x00000001u; /* 02980D70 */ if (_t51) goto L_02980D74; else goto L_02980DB0; L_02980D74: ; // 0x2980d74 /* 02980D74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 02980D78 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980D78 */ _t53 = _t52 & 0x00000001u; /* 02980D78 */ if (_t53) goto L_02980D9C; else goto L_02980D7C; L_02980D7C: ; // 0x2980d7c /* 02980D7C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02980D7C */ _t54 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02980D7C */ _t55 = _t54 >> (0x00000002u & 31u); /* 02980D7C */ _t56 = _t55 & 0x00000001u; /* 02980D7C */ if (_t56) goto L_02980D64; else goto L_02980D80; L_02980D80: ; // 0x2980d80 /* 02980D80 */ _t57 = cpu->r[21] + 0x00000000u; /* 02980D80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57); /* 02980D84 */ _t58 = cpu->r[8] + 0x00000011u; /* 02980D84 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58); /* 02980D88 */ cpu->r[22] = cpu->r[22] + 0x00000001u; /* 02980D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[0]); /* 02980D90 */ cpu->r[24] = cpu->r[24] + 0x00000004u; /* 02980D94 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u); /* 02980D94 */ _t60 = _t59 & 0x00000001u; /* 02980D94 */ if (_t60) goto L_02980CDC; else goto L_02980D98; L_02980D98: ; // 0x2980d98 /* 02980D98 */ goto L_02980DC8; L_02980D9C: ; // 0x2980d9c /* 02980D9C */ _t61 = cpu->r[21] + 0x0000002Cu; /* 02980D9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t61); /* 02980DA0 */ _t62 = cpu->r[4] + cpu->r[24]; /* 02980DA0 */ rbrew_write32(cpu->mem, _t62, cpu->r[27]); /* 02980DA4 */ _t63 = cpu->r[29] + 0x00000002u; /* 02980DA4 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t63); /* 02980DA8 */ cpu->r[3] = cpu->r[30]; /* 02980DAC */ Gambit_fn_02991DA8(cpu); L_02980DB0: ; // 0x2980db0 /* 02980DB0 */ _t64 = cpu->r[21] + 0x00000000u; /* 02980DB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64); /* 02980DB4 */ _t65 = cpu->r[8] + 0x00000011u; /* 02980DB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t65); /* 02980DB8 */ cpu->r[22] = cpu->r[22] + 0x00000001u; /* 02980DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[0]); /* 02980DC0 */ cpu->r[24] = cpu->r[24] + 0x00000004u; /* 02980DC4 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u); /* 02980DC4 */ _t67 = _t66 & 0x00000001u; /* 02980DC4 */ if (_t67) goto L_02980CDC; else goto L_02980DC8; L_02980DC8: ; // 0x2980dc8 /* 02980DC8 */ /* nop */ /* 02980DCC */ _t68 = cpu->r[1] + 0x00000044u; /* 02980DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t68); /* 02980DD0 */ cpu->lr = cpu->r[0]; /* 02980DD4 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 02980DD8 */ return; } // fn_02980DDC @ 0x2980ddc void Gambit_fn_02980DDC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_02980DDC: ; // 0x2980ddc /* 02980DDC */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 02980DDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980DDC */ cpu->r[1] = _t0; /* 02980DE0 */ /* nop */ /* 02980DE4 */ cpu->r[0] = cpu->lr; /* 02980DE8 */ _t1 = cpu->r[1] + 0x00000034u; /* 02980DE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02980DEC */ cpu->r[30] = cpu->r[3]; /* 02980DF0 */ _t2 = cpu->r[30] + 0x0000001Cu; /* 02980DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02980DF4 */ _t3 = cpu->r[30] + 0x00000024u; /* 02980DF4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t3); /* 02980DF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980DFC */ cpu->r[31] = cpu->r[4]; /* 02980E00 */ cpu->r[27] = cpu->r[26] + cpu->r[0]; /* 02980E04 */ cpu->r[24] = cpu->r[5]; /* 02980E08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[27]); /* 02980E0C */ cpu->r[25] = 0x00000000u; /* 02980E10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980E10 */ _t5 = _t4 & 0x00000001u; /* 02980E10 */ if (_t5) goto L_02980E70; else goto L_02980E14; L_02980E14: ; // 0x2980e14 /* 02980E14 */ _t6 = cpu->r[26] + 0x00000000u; /* 02980E14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 02980E18 */ _t7 = cpu->r[9] + 0x00000000u; /* 02980E18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 02980E1C */ _t8 = cpu->r[3] + 0x00000088u; /* 02980E1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 02980E20 */ _t9 = cpu->r[10] + 0x000000B4u; /* 02980E20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02980E24 */ cpu->ctr = cpu->r[12]; /* 02980E28 */ cpu->r[29] = 0x00000000u; /* 02980E2C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980E30 */ cpu->r[28] = cpu->r[3]; /* 02980E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02980E34 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 02980E34 */ _t11 = _t10 & 0x00000001u; /* 02980E34 */ if (_t11) goto L_02980E38; else goto L_02980E60; L_02980E38: ; // 0x2980e38 /* 02980E38 */ _t12 = cpu->r[1] + 0x00000008u; /* 02980E38 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[25]); /* 02980E3C */ cpu->r[3] = cpu->r[30]; /* 02980E40 */ cpu->r[4] = cpu->r[31]; /* 02980E44 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 02980E48 */ cpu->r[5] = cpu->r[24]; /* 02980E4C */ _t13 = cpu->r[1] + 0x0000000Au; /* 02980E4C */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[29]); /* 02980E50 */ Gambit_fn_02980C04(cpu); /* 02980E54 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02980E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02980E58 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 02980E5C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980E5C */ _t15 = _t14 & 0x00000001u; /* 02980E5C */ if (_t15) goto L_02980E60; else goto L_02980E38; L_02980E60: ; // 0x2980e60 /* 02980E60 */ cpu->r[26] = cpu->r[26] + 0x00000004u; /* 02980E64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[27]); /* 02980E68 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 02980E6C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980E6C */ _t17 = _t16 & 0x00000001u; /* 02980E6C */ if (_t17) goto L_02980E70; else goto L_02980E14; L_02980E70: ; // 0x2980e70 /* 02980E70 */ /* nop */ /* 02980E74 */ _t18 = cpu->r[1] + 0x00000034u; /* 02980E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02980E78 */ cpu->lr = cpu->r[0]; /* 02980E7C */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02980E80 */ return; } // fn_02980E84 @ 0x2980e84 void Gambit_fn_02980E84(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; L_02980E84: ; // 0x2980e84 /* 02980E84 */ cpu->r[0] = cpu->lr; /* 02980E88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02980E88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980E88 */ cpu->r[1] = _t0; /* 02980E8C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02980E8C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02980E90 */ _t2 = cpu->r[1] + 0x00000008u; /* 02980E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 02980E94 */ _t3 = cpu->r[1] + 0x00000010u; /* 02980E94 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02980E98 */ _t4 = cpu->r[1] + 0x00000014u; /* 02980E98 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02980E9C */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02980E9C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02980EA0 */ cpu->r[29] = cpu->r[5]; /* 02980EA4 */ cpu->r[30] = cpu->r[6]; /* 02980EA8 */ _t6 = cpu->r[3] + 0x0000001Cu; /* 02980EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02980EAC */ _t7 = cpu->r[30] + 0x00000000u; /* 02980EAC */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 02980EB0 */ cpu->r[8] = 0x00000000u; /* 02980EB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]); /* 02980EB8 */ cpu->r[28] = cpu->r[4]; /* 02980EBC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 02980EBC */ _t9 = _t8 & 0x00000001u; /* 02980EBC */ if (_t9) goto L_02980EC0; else goto L_02980ECC; L_02980EC0: ; // 0x2980ec0 /* 02980EC0 */ _t10 = cpu->r[3] + 0x00000024u; /* 02980EC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 02980EC4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980EC8 */ _t11 = cpu->r[6] + cpu->r[7]; /* 02980EC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); L_02980ECC: ; // 0x2980ecc /* 02980ECC */ cpu->r[12] = 0x101D0000u; /* 02980ED0 */ _t12 = cpu->r[12] + 0xFFFFE218u; /* 02980ED0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12); /* 02980ED0 */ cpu->r[12] = _t12; /* 02980ED4 */ cpu->r[4] = 0x101D0000u; /* 02980ED8 */ _t13 = cpu->r[8] + 0x00000000u; /* 02980ED8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 02980EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02980EE0 */ cpu->r[4] = cpu->r[4] + 0xFFFFEF88u; /* 02980EE4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980EE4 */ _t15 = _t14 & 0x00000001u; /* 02980EE4 */ if (_t15) goto L_02980EE8; else goto L_02980EFC; L_02980EE8: ; // 0x2980ee8 /* 02980EE8 */ cpu->r[0] = 0x10150000u; /* 02980EEC */ cpu->r[10] = 0x00000001u; /* 02980EF0 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC18u; /* 02980EF4 */ _t16 = cpu->r[12] + 0x00000000u; /* 02980EF4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]); /* 02980EF8 */ _t17 = cpu->r[4] + 0x00000000u; /* 02980EF8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); L_02980EFC: ; // 0x2980efc /* 02980EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02980F00 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980F00 */ _t19 = _t18 & 0x00000001u; /* 02980F00 */ if (_t19) goto L_02980F4C; else goto L_02980F04; L_02980F04: ; // 0x2980f04 /* 02980F04 */ _t20 = cpu->r[31] + 0x00000088u; /* 02980F04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 02980F08 */ _t21 = cpu->r[12] + 0x0000000Cu; /* 02980F08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 02980F0C */ cpu->ctr = cpu->r[9]; /* 02980F10 */ cpu->r[3] = cpu->r[31]; /* 02980F14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02980F1C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980F1C */ _t23 = _t22 & 0x00000001u; /* 02980F1C */ if (_t23) goto L_02980F4C; else goto L_02980F20; L_02980F20: ; // 0x2980f20 /* 02980F20 */ cpu->r[3] = cpu->r[31]; /* 02980F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02980F24 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980F24 */ _t25 = _t24 & 0x00000001u; /* 02980F24 */ if (_t25) goto L_02980F4C; else goto L_02980F28; L_02980F28: ; // 0x2980f28 /* 02980F28 */ _t26 = cpu->r[30] + 0x00000002u; /* 02980F28 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t26); /* 02980F2C */ _t27 = cpu->r[3] + 0x000000B4u; /* 02980F2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t27); /* 02980F30 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000003Cu); /* 02980F34 */ cpu->r[6] = cpu->r[8] + cpu->r[5]; /* 02980F38 */ _t28 = cpu->r[6] + 0x0000002Cu; /* 02980F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02980F3C */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980F40 */ _t29 = cpu->r[10] + cpu->r[0]; /* 02980F40 */ rbrew_write32(cpu->mem, _t29, cpu->r[28]); /* 02980F44 */ _t30 = cpu->r[30] + 0x00000002u; /* 02980F44 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 02980F48 */ Gambit_fn_02991DA8(cpu); L_02980F4C: ; // 0x2980f4c /* 02980F4C */ _t31 = cpu->r[1] + 0x00000008u; /* 02980F4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t31); /* 02980F50 */ _t32 = cpu->r[1] + 0x0000000Cu; /* 02980F50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32); /* 02980F54 */ _t33 = cpu->r[1] + 0x0000001Cu; /* 02980F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 02980F58 */ _t34 = cpu->r[1] + 0x00000010u; /* 02980F58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34); /* 02980F5C */ cpu->lr = cpu->r[0]; /* 02980F60 */ _t35 = cpu->r[1] + 0x00000014u; /* 02980F60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35); /* 02980F64 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02980F68 */ return; } // fn_02980E88 @ 0x2980e88 void Gambit_fn_02980E88(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; L_02980E88: ; // 0x2980e88 /* 02980E88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02980E88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980E88 */ cpu->r[1] = _t0; /* 02980E8C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02980E8C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02980E90 */ _t2 = cpu->r[1] + 0x00000008u; /* 02980E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 02980E94 */ _t3 = cpu->r[1] + 0x00000010u; /* 02980E94 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02980E98 */ _t4 = cpu->r[1] + 0x00000014u; /* 02980E98 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02980E9C */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02980E9C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02980EA0 */ cpu->r[29] = cpu->r[5]; /* 02980EA4 */ cpu->r[30] = cpu->r[6]; /* 02980EA8 */ _t6 = cpu->r[3] + 0x0000001Cu; /* 02980EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02980EAC */ _t7 = cpu->r[30] + 0x00000000u; /* 02980EAC */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 02980EB0 */ cpu->r[8] = 0x00000000u; /* 02980EB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]); /* 02980EB8 */ cpu->r[28] = cpu->r[4]; /* 02980EBC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 02980EBC */ _t9 = _t8 & 0x00000001u; /* 02980EBC */ if (_t9) goto L_02980EC0; else goto L_02980ECC; L_02980EC0: ; // 0x2980ec0 /* 02980EC0 */ _t10 = cpu->r[3] + 0x00000024u; /* 02980EC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 02980EC4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980EC8 */ _t11 = cpu->r[6] + cpu->r[7]; /* 02980EC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); L_02980ECC: ; // 0x2980ecc /* 02980ECC */ cpu->r[12] = 0x101D0000u; /* 02980ED0 */ _t12 = cpu->r[12] + 0xFFFFE218u; /* 02980ED0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12); /* 02980ED0 */ cpu->r[12] = _t12; /* 02980ED4 */ cpu->r[4] = 0x101D0000u; /* 02980ED8 */ _t13 = cpu->r[8] + 0x00000000u; /* 02980ED8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 02980EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02980EE0 */ cpu->r[4] = cpu->r[4] + 0xFFFFEF88u; /* 02980EE4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980EE4 */ _t15 = _t14 & 0x00000001u; /* 02980EE4 */ if (_t15) goto L_02980EE8; else goto L_02980EFC; L_02980EE8: ; // 0x2980ee8 /* 02980EE8 */ cpu->r[0] = 0x10150000u; /* 02980EEC */ cpu->r[10] = 0x00000001u; /* 02980EF0 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC18u; /* 02980EF4 */ _t16 = cpu->r[12] + 0x00000000u; /* 02980EF4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]); /* 02980EF8 */ _t17 = cpu->r[4] + 0x00000000u; /* 02980EF8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); L_02980EFC: ; // 0x2980efc /* 02980EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02980F00 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980F00 */ _t19 = _t18 & 0x00000001u; /* 02980F00 */ if (_t19) goto L_02980F4C; else goto L_02980F04; L_02980F04: ; // 0x2980f04 /* 02980F04 */ _t20 = cpu->r[31] + 0x00000088u; /* 02980F04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 02980F08 */ _t21 = cpu->r[12] + 0x0000000Cu; /* 02980F08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 02980F0C */ cpu->ctr = cpu->r[9]; /* 02980F10 */ cpu->r[3] = cpu->r[31]; /* 02980F14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02980F1C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980F1C */ _t23 = _t22 & 0x00000001u; /* 02980F1C */ if (_t23) goto L_02980F4C; else goto L_02980F20; L_02980F20: ; // 0x2980f20 /* 02980F20 */ cpu->r[3] = cpu->r[31]; /* 02980F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02980F24 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980F24 */ _t25 = _t24 & 0x00000001u; /* 02980F24 */ if (_t25) goto L_02980F4C; else goto L_02980F28; L_02980F28: ; // 0x2980f28 /* 02980F28 */ _t26 = cpu->r[30] + 0x00000002u; /* 02980F28 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t26); /* 02980F2C */ _t27 = cpu->r[3] + 0x000000B4u; /* 02980F2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t27); /* 02980F30 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000003Cu); /* 02980F34 */ cpu->r[6] = cpu->r[8] + cpu->r[5]; /* 02980F38 */ _t28 = cpu->r[6] + 0x0000002Cu; /* 02980F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02980F3C */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02980F40 */ _t29 = cpu->r[10] + cpu->r[0]; /* 02980F40 */ rbrew_write32(cpu->mem, _t29, cpu->r[28]); /* 02980F44 */ _t30 = cpu->r[30] + 0x00000002u; /* 02980F44 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 02980F48 */ Gambit_fn_02991DA8(cpu); L_02980F4C: ; // 0x2980f4c /* 02980F4C */ _t31 = cpu->r[1] + 0x00000008u; /* 02980F4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t31); /* 02980F50 */ _t32 = cpu->r[1] + 0x0000000Cu; /* 02980F50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32); /* 02980F54 */ _t33 = cpu->r[1] + 0x0000001Cu; /* 02980F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 02980F58 */ _t34 = cpu->r[1] + 0x00000010u; /* 02980F58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34); /* 02980F5C */ cpu->lr = cpu->r[0]; /* 02980F60 */ _t35 = cpu->r[1] + 0x00000014u; /* 02980F60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35); /* 02980F64 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02980F68 */ return; } // fn_02980F6C @ 0x2980f6c void Gambit_fn_02980F6C(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_02980F6C: ; // 0x2980f6c /* 02980F6C */ cpu->r[0] = cpu->lr; /* 02980F70 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02980F70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980F70 */ cpu->r[1] = _t0; /* 02980F74 */ _t1 = cpu->r[1] + 0x00000014u; /* 02980F74 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02980F78 */ _t2 = cpu->r[1] + 0x00000018u; /* 02980F78 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02980F7C */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02980F7C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02980F80 */ _t4 = cpu->r[1] + 0x00000024u; /* 02980F80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02980F84 */ _t5 = cpu->r[3] + 0x00000080u; /* 02980F84 */ cpu->r[12] = rbrew_read16(cpu->mem, _t5); /* 02980F88 */ _t6 = cpu->r[3] + 0x00000014u; /* 02980F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02980F8C */ _t7 = cpu->r[3] + 0x00000018u; /* 02980F8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 02980F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 02980F94 */ cpu->r[29] = 0x00000000u; /* 02980F98 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02980F98 */ _t9 = _t8 & 0x00000001u; /* 02980F98 */ if (_t9) goto L_02980FB4; else goto L_02980F9C; L_02980F9C: ; // 0x2980f9c /* 02980F9C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 02980FA0 */ cpu->r[31] = cpu->r[30] + cpu->r[8]; /* 02980FA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02980FA8 */ _t10 = cpu->r[1] + 0x00000008u; /* 02980FA8 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]); /* 02980FAC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980FAC */ _t12 = _t11 & 0x00000001u; /* 02980FAC */ if (_t12) goto L_02980FEC; else goto L_02980FB0; L_02980FB0: ; // 0x2980fb0 /* 02980FB0 */ goto L_02980FC8; L_02980FB4: ; // 0x2980fb4 /* 02980FB4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02980FB8 */ cpu->r[31] = cpu->r[30] + cpu->r[10]; /* 02980FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02980FC0 */ _t13 = cpu->r[1] + 0x00000008u; /* 02980FC0 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]); /* 02980FC4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980FC4 */ _t15 = _t14 & 0x00000001u; /* 02980FC4 */ if (_t15) goto L_02980FEC; else goto L_02980FC8; L_02980FC8: ; // 0x2980fc8 /* 02980FC8 */ _t16 = cpu->r[30] + 0x00000000u; /* 02980FC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 02980FCC */ _t17 = cpu->r[3] + 0x00000088u; /* 02980FCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 02980FD0 */ _t18 = cpu->r[11] + 0x00000034u; /* 02980FD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02980FD4 */ cpu->ctr = cpu->r[0]; /* 02980FD8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980FDC */ cpu->r[30] = cpu->r[30] + 0x0000001Cu; /* 02980FE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02980FE4 */ cpu->r[29] = cpu->r[29] + cpu->r[3]; /* 02980FE8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980FE8 */ _t20 = _t19 & 0x00000001u; /* 02980FE8 */ if (_t20) goto L_02980FEC; else goto L_02980FC8; L_02980FEC: ; // 0x2980fec /* 02980FEC */ cpu->r[3] = cpu->r[29]; /* 02980FF0 */ _t21 = cpu->r[1] + 0x00000014u; /* 02980FF0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 02980FF4 */ _t22 = cpu->r[1] + 0x00000024u; /* 02980FF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02980FF8 */ _t23 = cpu->r[1] + 0x00000018u; /* 02980FF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02980FFC */ cpu->lr = cpu->r[0]; /* 02981000 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 02981000 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 02981004 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02981008 */ return; } // fn_02980F70 @ 0x2980f70 void Gambit_fn_02980F70(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_02980F70: ; // 0x2980f70 /* 02980F70 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02980F70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02980F70 */ cpu->r[1] = _t0; /* 02980F74 */ _t1 = cpu->r[1] + 0x00000014u; /* 02980F74 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02980F78 */ _t2 = cpu->r[1] + 0x00000018u; /* 02980F78 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02980F7C */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02980F7C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02980F80 */ _t4 = cpu->r[1] + 0x00000024u; /* 02980F80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02980F84 */ _t5 = cpu->r[3] + 0x00000080u; /* 02980F84 */ cpu->r[12] = rbrew_read16(cpu->mem, _t5); /* 02980F88 */ _t6 = cpu->r[3] + 0x00000014u; /* 02980F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02980F8C */ _t7 = cpu->r[3] + 0x00000018u; /* 02980F8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 02980F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 02980F94 */ cpu->r[29] = 0x00000000u; /* 02980F98 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02980F98 */ _t9 = _t8 & 0x00000001u; /* 02980F98 */ if (_t9) goto L_02980FB4; else goto L_02980F9C; L_02980F9C: ; // 0x2980f9c /* 02980F9C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 02980FA0 */ cpu->r[31] = cpu->r[30] + cpu->r[8]; /* 02980FA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02980FA8 */ _t10 = cpu->r[1] + 0x00000008u; /* 02980FA8 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]); /* 02980FAC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980FAC */ _t12 = _t11 & 0x00000001u; /* 02980FAC */ if (_t12) goto L_02980FEC; else goto L_02980FB0; L_02980FB0: ; // 0x2980fb0 /* 02980FB0 */ goto L_02980FC8; L_02980FB4: ; // 0x2980fb4 /* 02980FB4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02980FB8 */ cpu->r[31] = cpu->r[30] + cpu->r[10]; /* 02980FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02980FC0 */ _t13 = cpu->r[1] + 0x00000008u; /* 02980FC0 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]); /* 02980FC4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980FC4 */ _t15 = _t14 & 0x00000001u; /* 02980FC4 */ if (_t15) goto L_02980FEC; else goto L_02980FC8; L_02980FC8: ; // 0x2980fc8 /* 02980FC8 */ _t16 = cpu->r[30] + 0x00000000u; /* 02980FC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 02980FCC */ _t17 = cpu->r[3] + 0x00000088u; /* 02980FCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 02980FD0 */ _t18 = cpu->r[11] + 0x00000034u; /* 02980FD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02980FD4 */ cpu->ctr = cpu->r[0]; /* 02980FD8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02980FDC */ cpu->r[30] = cpu->r[30] + 0x0000001Cu; /* 02980FE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02980FE4 */ cpu->r[29] = cpu->r[29] + cpu->r[3]; /* 02980FE8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02980FE8 */ _t20 = _t19 & 0x00000001u; /* 02980FE8 */ if (_t20) goto L_02980FEC; else goto L_02980FC8; L_02980FEC: ; // 0x2980fec /* 02980FEC */ cpu->r[3] = cpu->r[29]; /* 02980FF0 */ _t21 = cpu->r[1] + 0x00000014u; /* 02980FF0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 02980FF4 */ _t22 = cpu->r[1] + 0x00000024u; /* 02980FF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02980FF8 */ _t23 = cpu->r[1] + 0x00000018u; /* 02980FF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02980FFC */ cpu->lr = cpu->r[0]; /* 02981000 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 02981000 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 02981004 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02981008 */ return; } // fn_0298100C @ 0x298100c void Gambit_fn_0298100C(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_0298100C: ; // 0x298100c /* 0298100C */ cpu->r[0] = cpu->lr; /* 02981010 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02981010 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981010 */ cpu->r[1] = _t0; /* 02981014 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981014 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981018 */ _t2 = cpu->r[1] + 0x00000018u; /* 02981018 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298101C */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0298101C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02981020 */ _t4 = cpu->r[1] + 0x00000024u; /* 02981020 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02981024 */ _t5 = cpu->r[3] + 0x00000080u; /* 02981024 */ cpu->r[11] = rbrew_read16(cpu->mem, _t5); /* 02981028 */ _t6 = cpu->r[3] + 0x00000014u; /* 02981028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298102C */ _t7 = cpu->r[3] + 0x00000018u; /* 0298102C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02981030 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 02981034 */ cpu->r[30] = 0x00000000u; /* 02981038 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981038 */ _t9 = _t8 & 0x00000001u; /* 02981038 */ if (_t9) goto L_02981054; else goto L_0298103C; L_0298103C: ; // 0x298103c /* 0298103C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu); /* 02981040 */ cpu->r[29] = cpu->r[31] + cpu->r[9]; /* 02981044 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02981048 */ _t10 = cpu->r[1] + 0x00000008u; /* 02981048 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]); /* 0298104C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298104C */ _t12 = _t11 & 0x00000001u; /* 0298104C */ if (_t12) goto L_02981094; else goto L_02981050; L_02981050: ; // 0x2981050 /* 02981050 */ goto L_02981068; L_02981054: ; // 0x2981054 /* 02981054 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02981058 */ cpu->r[29] = cpu->r[31] + cpu->r[0]; /* 0298105C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02981060 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981060 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]); /* 02981064 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981064 */ _t15 = _t14 & 0x00000001u; /* 02981064 */ if (_t15) goto L_02981094; else goto L_02981068; L_02981068: ; // 0x2981068 /* 02981068 */ _t16 = cpu->r[31] + 0x00000000u; /* 02981068 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 0298106C */ _t17 = cpu->r[3] + 0x00000088u; /* 0298106C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 02981070 */ _t18 = cpu->r[12] + 0x00000034u; /* 02981070 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); /* 02981074 */ cpu->ctr = cpu->r[8]; /* 02981078 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298107C */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02981080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[30]); /* 02981084 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981084 */ _t20 = _t19 & 0x00000001u; /* 02981084 */ if (_t20) goto L_02981088; else goto L_0298108C; L_02981088: ; // 0x2981088 /* 02981088 */ cpu->r[30] = cpu->r[3]; L_0298108C: ; // 0x298108c /* 0298108C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02981090 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981090 */ _t22 = _t21 & 0x00000001u; /* 02981090 */ if (_t22) goto L_02981094; else goto L_02981068; L_02981094: ; // 0x2981094 /* 02981094 */ _t23 = cpu->r[1] + 0x00000014u; /* 02981094 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 02981098 */ _t24 = cpu->r[1] + 0x00000024u; /* 02981098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298109C */ cpu->r[3] = cpu->r[30]; /* 029810A0 */ _t25 = cpu->r[1] + 0x00000018u; /* 029810A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 029810A4 */ cpu->lr = cpu->r[0]; /* 029810A8 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 029810A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 029810AC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 029810B0 */ return; } // fn_02981010 @ 0x2981010 void Gambit_fn_02981010(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_02981010: ; // 0x2981010 /* 02981010 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02981010 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981010 */ cpu->r[1] = _t0; /* 02981014 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981014 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981018 */ _t2 = cpu->r[1] + 0x00000018u; /* 02981018 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298101C */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0298101C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02981020 */ _t4 = cpu->r[1] + 0x00000024u; /* 02981020 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02981024 */ _t5 = cpu->r[3] + 0x00000080u; /* 02981024 */ cpu->r[11] = rbrew_read16(cpu->mem, _t5); /* 02981028 */ _t6 = cpu->r[3] + 0x00000014u; /* 02981028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298102C */ _t7 = cpu->r[3] + 0x00000018u; /* 0298102C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02981030 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 02981034 */ cpu->r[30] = 0x00000000u; /* 02981038 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981038 */ _t9 = _t8 & 0x00000001u; /* 02981038 */ if (_t9) goto L_02981054; else goto L_0298103C; L_0298103C: ; // 0x298103c /* 0298103C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu); /* 02981040 */ cpu->r[29] = cpu->r[31] + cpu->r[9]; /* 02981044 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02981048 */ _t10 = cpu->r[1] + 0x00000008u; /* 02981048 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]); /* 0298104C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298104C */ _t12 = _t11 & 0x00000001u; /* 0298104C */ if (_t12) goto L_02981094; else goto L_02981050; L_02981050: ; // 0x2981050 /* 02981050 */ goto L_02981068; L_02981054: ; // 0x2981054 /* 02981054 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02981058 */ cpu->r[29] = cpu->r[31] + cpu->r[0]; /* 0298105C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02981060 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981060 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]); /* 02981064 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981064 */ _t15 = _t14 & 0x00000001u; /* 02981064 */ if (_t15) goto L_02981094; else goto L_02981068; L_02981068: ; // 0x2981068 /* 02981068 */ _t16 = cpu->r[31] + 0x00000000u; /* 02981068 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 0298106C */ _t17 = cpu->r[3] + 0x00000088u; /* 0298106C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 02981070 */ _t18 = cpu->r[12] + 0x00000034u; /* 02981070 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); /* 02981074 */ cpu->ctr = cpu->r[8]; /* 02981078 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298107C */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02981080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[30]); /* 02981084 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981084 */ _t20 = _t19 & 0x00000001u; /* 02981084 */ if (_t20) goto L_02981088; else goto L_0298108C; L_02981088: ; // 0x2981088 /* 02981088 */ cpu->r[30] = cpu->r[3]; L_0298108C: ; // 0x298108c /* 0298108C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02981090 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981090 */ _t22 = _t21 & 0x00000001u; /* 02981090 */ if (_t22) goto L_02981094; else goto L_02981068; L_02981094: ; // 0x2981094 /* 02981094 */ _t23 = cpu->r[1] + 0x00000014u; /* 02981094 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 02981098 */ _t24 = cpu->r[1] + 0x00000024u; /* 02981098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298109C */ cpu->r[3] = cpu->r[30]; /* 029810A0 */ _t25 = cpu->r[1] + 0x00000018u; /* 029810A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 029810A4 */ cpu->lr = cpu->r[0]; /* 029810A8 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 029810A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 029810AC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 029810B0 */ return; } // fn_029810B4 @ 0x29810b4 void Gambit_fn_029810B4(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_029810B4: ; // 0x29810b4 /* 029810B4 */ cpu->r[0] = cpu->lr; /* 029810B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 029810B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029810B8 */ cpu->r[1] = _t0; /* 029810BC */ _t1 = cpu->r[1] + 0x00000014u; /* 029810BC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029810C0 */ _t2 = cpu->r[1] + 0x00000018u; /* 029810C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029810C4 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 029810C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029810C8 */ _t4 = cpu->r[1] + 0x00000024u; /* 029810C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029810CC */ _t5 = cpu->r[3] + 0x00000080u; /* 029810CC */ cpu->r[12] = rbrew_read16(cpu->mem, _t5); /* 029810D0 */ _t6 = cpu->r[3] + 0x00000014u; /* 029810D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 029810D4 */ _t7 = cpu->r[3] + 0x00000018u; /* 029810D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 029810D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 029810DC */ cpu->r[29] = 0x00000000u; /* 029810E0 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 029810E0 */ _t9 = _t8 & 0x00000001u; /* 029810E0 */ if (_t9) goto L_029810FC; else goto L_029810E4; L_029810E4: ; // 0x29810e4 /* 029810E4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 029810E8 */ cpu->r[31] = cpu->r[30] + cpu->r[8]; /* 029810EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 029810F0 */ _t10 = cpu->r[1] + 0x00000008u; /* 029810F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]); /* 029810F4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 029810F4 */ _t12 = _t11 & 0x00000001u; /* 029810F4 */ if (_t12) goto L_02981134; else goto L_029810F8; L_029810F8: ; // 0x29810f8 /* 029810F8 */ goto L_02981110; L_029810FC: ; // 0x29810fc /* 029810FC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02981100 */ cpu->r[31] = cpu->r[30] + cpu->r[10]; /* 02981104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02981108 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981108 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]); /* 0298110C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298110C */ _t15 = _t14 & 0x00000001u; /* 0298110C */ if (_t15) goto L_02981134; else goto L_02981110; L_02981110: ; // 0x2981110 /* 02981110 */ _t16 = cpu->r[30] + 0x00000000u; /* 02981110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 02981114 */ _t17 = cpu->r[3] + 0x00000088u; /* 02981114 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 02981118 */ _t18 = cpu->r[11] + 0x000000B4u; /* 02981118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298111C */ cpu->ctr = cpu->r[0]; /* 02981120 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02981124 */ cpu->r[30] = cpu->r[30] + 0x0000001Cu; /* 02981128 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 0298112C */ cpu->r[29] = cpu->r[29] + cpu->r[3]; /* 02981130 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981130 */ _t20 = _t19 & 0x00000001u; /* 02981130 */ if (_t20) goto L_02981134; else goto L_02981110; L_02981134: ; // 0x2981134 /* 02981134 */ cpu->r[3] = cpu->r[29]; /* 02981138 */ _t21 = cpu->r[1] + 0x00000014u; /* 02981138 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0298113C */ _t22 = cpu->r[1] + 0x00000024u; /* 0298113C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02981140 */ _t23 = cpu->r[1] + 0x00000018u; /* 02981140 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02981144 */ cpu->lr = cpu->r[0]; /* 02981148 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 02981148 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0298114C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02981150 */ return; } // fn_029810B8 @ 0x29810b8 void Gambit_fn_029810B8(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_029810B8: ; // 0x29810b8 /* 029810B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 029810B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029810B8 */ cpu->r[1] = _t0; /* 029810BC */ _t1 = cpu->r[1] + 0x00000014u; /* 029810BC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029810C0 */ _t2 = cpu->r[1] + 0x00000018u; /* 029810C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029810C4 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 029810C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029810C8 */ _t4 = cpu->r[1] + 0x00000024u; /* 029810C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029810CC */ _t5 = cpu->r[3] + 0x00000080u; /* 029810CC */ cpu->r[12] = rbrew_read16(cpu->mem, _t5); /* 029810D0 */ _t6 = cpu->r[3] + 0x00000014u; /* 029810D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 029810D4 */ _t7 = cpu->r[3] + 0x00000018u; /* 029810D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 029810D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 029810DC */ cpu->r[29] = 0x00000000u; /* 029810E0 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 029810E0 */ _t9 = _t8 & 0x00000001u; /* 029810E0 */ if (_t9) goto L_029810FC; else goto L_029810E4; L_029810E4: ; // 0x29810e4 /* 029810E4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 029810E8 */ cpu->r[31] = cpu->r[30] + cpu->r[8]; /* 029810EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 029810F0 */ _t10 = cpu->r[1] + 0x00000008u; /* 029810F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]); /* 029810F4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 029810F4 */ _t12 = _t11 & 0x00000001u; /* 029810F4 */ if (_t12) goto L_02981134; else goto L_029810F8; L_029810F8: ; // 0x29810f8 /* 029810F8 */ goto L_02981110; L_029810FC: ; // 0x29810fc /* 029810FC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02981100 */ cpu->r[31] = cpu->r[30] + cpu->r[10]; /* 02981104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02981108 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981108 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]); /* 0298110C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298110C */ _t15 = _t14 & 0x00000001u; /* 0298110C */ if (_t15) goto L_02981134; else goto L_02981110; L_02981110: ; // 0x2981110 /* 02981110 */ _t16 = cpu->r[30] + 0x00000000u; /* 02981110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 02981114 */ _t17 = cpu->r[3] + 0x00000088u; /* 02981114 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 02981118 */ _t18 = cpu->r[11] + 0x000000B4u; /* 02981118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298111C */ cpu->ctr = cpu->r[0]; /* 02981120 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02981124 */ cpu->r[30] = cpu->r[30] + 0x0000001Cu; /* 02981128 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 0298112C */ cpu->r[29] = cpu->r[29] + cpu->r[3]; /* 02981130 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981130 */ _t20 = _t19 & 0x00000001u; /* 02981130 */ if (_t20) goto L_02981134; else goto L_02981110; L_02981134: ; // 0x2981134 /* 02981134 */ cpu->r[3] = cpu->r[29]; /* 02981138 */ _t21 = cpu->r[1] + 0x00000014u; /* 02981138 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0298113C */ _t22 = cpu->r[1] + 0x00000024u; /* 0298113C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02981140 */ _t23 = cpu->r[1] + 0x00000018u; /* 02981140 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02981144 */ cpu->lr = cpu->r[0]; /* 02981148 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 02981148 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0298114C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02981150 */ return; } // fn_02981154 @ 0x2981154 void Gambit_fn_02981154(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_02981154: ; // 0x2981154 /* 02981154 */ cpu->r[0] = cpu->lr; /* 02981158 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02981158 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981158 */ cpu->r[1] = _t0; /* 0298115C */ _t1 = cpu->r[1] + 0x00000014u; /* 0298115C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981160 */ _t2 = cpu->r[1] + 0x00000018u; /* 02981160 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02981164 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02981164 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02981168 */ _t4 = cpu->r[1] + 0x00000024u; /* 02981168 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298116C */ _t5 = cpu->r[3] + 0x00000080u; /* 0298116C */ cpu->r[11] = rbrew_read16(cpu->mem, _t5); /* 02981170 */ _t6 = cpu->r[3] + 0x00000014u; /* 02981170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02981174 */ _t7 = cpu->r[3] + 0x00000018u; /* 02981174 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02981178 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 0298117C */ cpu->r[30] = 0x00000000u; /* 02981180 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981180 */ _t9 = _t8 & 0x00000001u; /* 02981180 */ if (_t9) goto L_0298119C; else goto L_02981184; L_02981184: ; // 0x2981184 /* 02981184 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu); /* 02981188 */ cpu->r[29] = cpu->r[31] + cpu->r[9]; /* 0298118C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02981190 */ _t10 = cpu->r[1] + 0x00000008u; /* 02981190 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]); /* 02981194 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981194 */ _t12 = _t11 & 0x00000001u; /* 02981194 */ if (_t12) goto L_029811DC; else goto L_02981198; L_02981198: ; // 0x2981198 /* 02981198 */ goto L_029811B0; L_0298119C: ; // 0x298119c /* 0298119C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 029811A0 */ cpu->r[29] = cpu->r[31] + cpu->r[0]; /* 029811A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 029811A8 */ _t13 = cpu->r[1] + 0x00000008u; /* 029811A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]); /* 029811AC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 029811AC */ _t15 = _t14 & 0x00000001u; /* 029811AC */ if (_t15) goto L_029811DC; else goto L_029811B0; L_029811B0: ; // 0x29811b0 /* 029811B0 */ _t16 = cpu->r[31] + 0x00000000u; /* 029811B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 029811B4 */ _t17 = cpu->r[3] + 0x00000088u; /* 029811B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 029811B8 */ _t18 = cpu->r[12] + 0x000000B4u; /* 029811B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); /* 029811BC */ cpu->ctr = cpu->r[8]; /* 029811C0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029811C4 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029811C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[30]); /* 029811CC */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 029811CC */ _t20 = _t19 & 0x00000001u; /* 029811CC */ if (_t20) goto L_029811D0; else goto L_029811D4; L_029811D0: ; // 0x29811d0 /* 029811D0 */ cpu->r[30] = cpu->r[3]; L_029811D4: ; // 0x29811d4 /* 029811D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 029811D8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 029811D8 */ _t22 = _t21 & 0x00000001u; /* 029811D8 */ if (_t22) goto L_029811DC; else goto L_029811B0; L_029811DC: ; // 0x29811dc /* 029811DC */ _t23 = cpu->r[1] + 0x00000014u; /* 029811DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 029811E0 */ _t24 = cpu->r[1] + 0x00000024u; /* 029811E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 029811E4 */ cpu->r[3] = cpu->r[30]; /* 029811E8 */ _t25 = cpu->r[1] + 0x00000018u; /* 029811E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 029811EC */ cpu->lr = cpu->r[0]; /* 029811F0 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 029811F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 029811F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 029811F8 */ return; } // fn_02981158 @ 0x2981158 void Gambit_fn_02981158(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_02981158: ; // 0x2981158 /* 02981158 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02981158 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981158 */ cpu->r[1] = _t0; /* 0298115C */ _t1 = cpu->r[1] + 0x00000014u; /* 0298115C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981160 */ _t2 = cpu->r[1] + 0x00000018u; /* 02981160 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02981164 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02981164 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02981168 */ _t4 = cpu->r[1] + 0x00000024u; /* 02981168 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298116C */ _t5 = cpu->r[3] + 0x00000080u; /* 0298116C */ cpu->r[11] = rbrew_read16(cpu->mem, _t5); /* 02981170 */ _t6 = cpu->r[3] + 0x00000014u; /* 02981170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02981174 */ _t7 = cpu->r[3] + 0x00000018u; /* 02981174 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02981178 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 0298117C */ cpu->r[30] = 0x00000000u; /* 02981180 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981180 */ _t9 = _t8 & 0x00000001u; /* 02981180 */ if (_t9) goto L_0298119C; else goto L_02981184; L_02981184: ; // 0x2981184 /* 02981184 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu); /* 02981188 */ cpu->r[29] = cpu->r[31] + cpu->r[9]; /* 0298118C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02981190 */ _t10 = cpu->r[1] + 0x00000008u; /* 02981190 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]); /* 02981194 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981194 */ _t12 = _t11 & 0x00000001u; /* 02981194 */ if (_t12) goto L_029811DC; else goto L_02981198; L_02981198: ; // 0x2981198 /* 02981198 */ goto L_029811B0; L_0298119C: ; // 0x298119c /* 0298119C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 029811A0 */ cpu->r[29] = cpu->r[31] + cpu->r[0]; /* 029811A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 029811A8 */ _t13 = cpu->r[1] + 0x00000008u; /* 029811A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]); /* 029811AC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 029811AC */ _t15 = _t14 & 0x00000001u; /* 029811AC */ if (_t15) goto L_029811DC; else goto L_029811B0; L_029811B0: ; // 0x29811b0 /* 029811B0 */ _t16 = cpu->r[31] + 0x00000000u; /* 029811B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 029811B4 */ _t17 = cpu->r[3] + 0x00000088u; /* 029811B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 029811B8 */ _t18 = cpu->r[12] + 0x000000B4u; /* 029811B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18); /* 029811BC */ cpu->ctr = cpu->r[8]; /* 029811C0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029811C4 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029811C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[30]); /* 029811CC */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 029811CC */ _t20 = _t19 & 0x00000001u; /* 029811CC */ if (_t20) goto L_029811D0; else goto L_029811D4; L_029811D0: ; // 0x29811d0 /* 029811D0 */ cpu->r[30] = cpu->r[3]; L_029811D4: ; // 0x29811d4 /* 029811D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 029811D8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 029811D8 */ _t22 = _t21 & 0x00000001u; /* 029811D8 */ if (_t22) goto L_029811DC; else goto L_029811B0; L_029811DC: ; // 0x29811dc /* 029811DC */ _t23 = cpu->r[1] + 0x00000014u; /* 029811DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 029811E0 */ _t24 = cpu->r[1] + 0x00000024u; /* 029811E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 029811E4 */ cpu->r[3] = cpu->r[30]; /* 029811E8 */ _t25 = cpu->r[1] + 0x00000018u; /* 029811E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 029811EC */ cpu->lr = cpu->r[0]; /* 029811F0 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 029811F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 029811F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 029811F8 */ return; } // fn_029811FC @ 0x29811fc void Gambit_fn_029811FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_029811FC: ; // 0x29811fc /* 029811FC */ cpu->r[0] = cpu->lr; /* 02981200 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02981200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981200 */ cpu->r[1] = _t0; /* 02981204 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02981204 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02981208 */ cpu->r[31] = cpu->r[3]; /* 0298120C */ cpu->r[3] = cpu->r[4]; /* 02981210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02981214 */ _t2 = cpu->r[1] + 0x00000014u; /* 02981214 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02981218 */ _t3 = cpu->r[31] + 0x0000007Cu; /* 02981218 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3); /* 0298121C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298121C */ _t5 = _t4 & 0x00000001u; /* 0298121C */ if (_t5) goto L_02981230; else goto L_02981220; L_02981220: ; // 0x2981220 /* 02981220 */ cpu->r[12] = cpu->r[12] | 0x00000008u; /* 02981224 */ _t6 = cpu->r[31] + 0x00000088u; /* 02981224 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]); /* 02981228 */ _t7 = cpu->r[31] + 0x0000007Cu; /* 02981228 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]); /* 0298122C */ goto L_02981244; L_02981230: ; // 0x2981230 /* 02981230 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Du, 0x0000001Bu); /* 02981234 */ cpu->r[3] = cpu->r[31]; /* 02981238 */ _t8 = cpu->r[31] + 0x0000007Cu; /* 02981238 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]); /* 0298123C */ Gambit_fn_02980F6C(cpu); /* 02981240 */ _t9 = cpu->r[31] + 0x00000088u; /* 02981240 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]); L_02981244: ; // 0x2981244 /* 02981244 */ _t10 = cpu->r[1] + 0x00000014u; /* 02981244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02981248 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02981248 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0298124C */ cpu->lr = cpu->r[0]; /* 02981250 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02981254 */ return; } // fn_02981200 @ 0x2981200 void Gambit_fn_02981200(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_02981200: ; // 0x2981200 /* 02981200 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02981200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981200 */ cpu->r[1] = _t0; /* 02981204 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02981204 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02981208 */ cpu->r[31] = cpu->r[3]; /* 0298120C */ cpu->r[3] = cpu->r[4]; /* 02981210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02981214 */ _t2 = cpu->r[1] + 0x00000014u; /* 02981214 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02981218 */ _t3 = cpu->r[31] + 0x0000007Cu; /* 02981218 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3); /* 0298121C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298121C */ _t5 = _t4 & 0x00000001u; /* 0298121C */ if (_t5) goto L_02981230; else goto L_02981220; L_02981220: ; // 0x2981220 /* 02981220 */ cpu->r[12] = cpu->r[12] | 0x00000008u; /* 02981224 */ _t6 = cpu->r[31] + 0x00000088u; /* 02981224 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]); /* 02981228 */ _t7 = cpu->r[31] + 0x0000007Cu; /* 02981228 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]); /* 0298122C */ goto L_02981244; L_02981230: ; // 0x2981230 /* 02981230 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Du, 0x0000001Bu); /* 02981234 */ cpu->r[3] = cpu->r[31]; /* 02981238 */ _t8 = cpu->r[31] + 0x0000007Cu; /* 02981238 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]); /* 0298123C */ Gambit_fn_02980F6C(cpu); /* 02981240 */ _t9 = cpu->r[31] + 0x00000088u; /* 02981240 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]); L_02981244: ; // 0x2981244 /* 02981244 */ _t10 = cpu->r[1] + 0x00000014u; /* 02981244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02981248 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02981248 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0298124C */ cpu->lr = cpu->r[0]; /* 02981250 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02981254 */ return; } // fn_02981258 @ 0x2981258 void Gambit_fn_02981258(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; L_02981258: ; // 0x2981258 /* 02981258 */ cpu->r[0] = cpu->lr; /* 0298125C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0298125C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298125C */ cpu->r[1] = _t0; /* 02981260 */ _t1 = cpu->r[1] + 0x00000020u; /* 02981260 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02981264 */ /* nop */ /* 02981268 */ _t2 = cpu->r[1] + 0x00000014u; /* 02981268 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0298126C */ _t3 = cpu->r[1] + 0x00000028u; /* 0298126C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 02981270 */ _t4 = cpu->r[1] + 0x00000018u; /* 02981270 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 02981274 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02981274 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]); /* 02981278 */ _t6 = cpu->r[1] + 0x00000034u; /* 02981278 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298127C */ _t7 = cpu->r[4] + 0x00000000u; /* 0298127C */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 02981280 */ /* nop */ /* 02981284 */ cpu->f[31] = cpu->f[1]; /* 02981288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 0298128C */ cpu->r[29] = cpu->r[5]; /* 02981290 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981290 */ _t9 = _t8 & 0x00000001u; /* 02981290 */ if (_t9) goto L_029812F4; else goto L_02981294; L_02981294: ; // 0x2981294 /* 02981294 */ /* nop */ /* 02981298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu); /* 0298129C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298129C */ _t11 = _t10 & 0x00000001u; /* 0298129C */ if (_t11) goto L_029812F4; else goto L_029812A0; L_029812A0: ; // 0x29812a0 /* 029812A0 */ _t12 = cpu->r[3] + 0x0000001Cu; /* 029812A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 029812A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]); /* 029812A8 */ cpu->r[9] = 0x00000000u; /* 029812AC */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 029812AC */ _t14 = _t13 & 0x00000001u; /* 029812AC */ if (_t14) goto L_029812B0; else goto L_029812BC; L_029812B0: ; // 0x29812b0 /* 029812B0 */ _t15 = cpu->r[3] + 0x00000024u; /* 029812B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15); /* 029812B4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029812B8 */ _t16 = cpu->r[12] + cpu->r[8]; /* 029812B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16); L_029812BC: ; // 0x29812bc /* 029812BC */ cpu->f[1] = cpu->f[31]; /* 029812C0 */ _t17 = cpu->r[9] + 0x00000000u; /* 029812C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 029812C4 */ cpu->r[5] = cpu->r[29]; /* 029812C8 */ Gambit_fn_029DAE78(cpu); /* 029812CC */ _t18 = cpu->r[1] + 0x00000014u; /* 029812CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 029812D0 */ _t19 = cpu->r[1] + 0x00000028u; /* 029812D0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19); /* 029812D4 */ _t20 = cpu->r[1] + 0x00000018u; /* 029812D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 029812D8 */ _t21 = cpu->r[1] + 0x00000020u; /* 029812D8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21); /* 029812DC */ _t22 = cpu->r[1] + 0x0000001Cu; /* 029812DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 029812E0 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 029812E0 */ _t24 = _t23 & 0x00000001u; /* 029812E0 */ if (_t24) goto L_029812E4; // else: addr-0 trap, fall-through L_029812E4: ; // 0x29812e4 /* 029812E4 */ _t25 = cpu->r[1] + 0x00000034u; /* 029812E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 029812E8 */ cpu->lr = cpu->r[0]; /* 029812EC */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 029812F0 */ return; L_029812F4: ; // 0x29812f4 /* 029812F4 */ _t26 = cpu->r[3] + 0x00000014u; /* 029812F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26); /* 029812F8 */ _t27 = cpu->r[3] + 0x00000080u; /* 029812F8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t27); /* 029812FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]); /* 02981300 */ _t28 = cpu->r[3] + 0x00000018u; /* 02981300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 02981304 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981304 */ _t30 = _t29 & 0x00000001u; /* 02981304 */ if (_t30) goto L_02981320; else goto L_02981308; L_02981308: ; // 0x2981308 /* 02981308 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000001Cu); /* 0298130C */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 02981310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981314 */ _t31 = cpu->r[1] + 0x00000008u; /* 02981314 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]); /* 02981318 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981318 */ _t33 = _t32 & 0x00000001u; /* 02981318 */ if (_t33) goto L_02981354; else goto L_0298131C; L_0298131C: ; // 0x298131c /* 0298131C */ goto L_02981334; L_02981320: ; // 0x2981320 /* 02981320 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu); /* 02981324 */ cpu->r[30] = cpu->r[31] + cpu->r[0]; /* 02981328 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298132C */ _t34 = cpu->r[1] + 0x00000008u; /* 0298132C */ rbrew_write32(cpu->mem, _t34, cpu->r[30]); /* 02981330 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981330 */ _t36 = _t35 & 0x00000001u; /* 02981330 */ if (_t36) goto L_02981354; else goto L_02981334; L_02981334: ; // 0x2981334 /* 02981334 */ _t37 = cpu->r[31] + 0x00000000u; /* 02981334 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37); /* 02981338 */ cpu->f[1] = cpu->f[31]; /* 0298133C */ cpu->r[4] = 0xFFFFFFFFu; /* 02981340 */ cpu->r[5] = cpu->r[29]; /* 02981344 */ Gambit_fn_029DAE78(cpu); /* 02981348 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 0298134C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981350 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981350 */ _t39 = _t38 & 0x00000001u; /* 02981350 */ if (_t39) goto L_02981354; else goto L_02981334; L_02981354: ; // 0x2981354 /* 02981354 */ _t40 = cpu->r[1] + 0x00000014u; /* 02981354 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40); /* 02981358 */ _t41 = cpu->r[1] + 0x00000028u; /* 02981358 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t41); /* 0298135C */ _t42 = cpu->r[1] + 0x00000018u; /* 0298135C */ cpu->r[30] = rbrew_read32(cpu->mem, _t42); /* 02981360 */ _t43 = cpu->r[1] + 0x00000020u; /* 02981360 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t43); /* 02981364 */ _t44 = cpu->r[1] + 0x0000001Cu; /* 02981364 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44); /* 02981368 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981368 */ _t46 = _t45 & 0x00000001u; /* 02981368 */ if (_t46) goto L_0298136C; // else: addr-0 trap, fall-through L_0298136C: ; // 0x298136c /* 0298136C */ _t47 = cpu->r[1] + 0x00000034u; /* 0298136C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47); /* 02981370 */ cpu->lr = cpu->r[0]; /* 02981374 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02981378 */ return; } // fn_0298125C @ 0x298125c void Gambit_fn_0298125C(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; L_0298125C: ; // 0x298125c /* 0298125C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0298125C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298125C */ cpu->r[1] = _t0; /* 02981260 */ _t1 = cpu->r[1] + 0x00000020u; /* 02981260 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02981264 */ /* nop */ /* 02981268 */ _t2 = cpu->r[1] + 0x00000014u; /* 02981268 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0298126C */ _t3 = cpu->r[1] + 0x00000028u; /* 0298126C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 02981270 */ _t4 = cpu->r[1] + 0x00000018u; /* 02981270 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 02981274 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02981274 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]); /* 02981278 */ _t6 = cpu->r[1] + 0x00000034u; /* 02981278 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298127C */ _t7 = cpu->r[4] + 0x00000000u; /* 0298127C */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 02981280 */ /* nop */ /* 02981284 */ cpu->f[31] = cpu->f[1]; /* 02981288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 0298128C */ cpu->r[29] = cpu->r[5]; /* 02981290 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981290 */ _t9 = _t8 & 0x00000001u; /* 02981290 */ if (_t9) goto L_029812F4; else goto L_02981294; L_02981294: ; // 0x2981294 /* 02981294 */ /* nop */ /* 02981298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu); /* 0298129C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298129C */ _t11 = _t10 & 0x00000001u; /* 0298129C */ if (_t11) goto L_029812F4; else goto L_029812A0; L_029812A0: ; // 0x29812a0 /* 029812A0 */ _t12 = cpu->r[3] + 0x0000001Cu; /* 029812A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 029812A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]); /* 029812A8 */ cpu->r[9] = 0x00000000u; /* 029812AC */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 029812AC */ _t14 = _t13 & 0x00000001u; /* 029812AC */ if (_t14) goto L_029812B0; else goto L_029812BC; L_029812B0: ; // 0x29812b0 /* 029812B0 */ _t15 = cpu->r[3] + 0x00000024u; /* 029812B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15); /* 029812B4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029812B8 */ _t16 = cpu->r[12] + cpu->r[8]; /* 029812B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16); L_029812BC: ; // 0x29812bc /* 029812BC */ cpu->f[1] = cpu->f[31]; /* 029812C0 */ _t17 = cpu->r[9] + 0x00000000u; /* 029812C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 029812C4 */ cpu->r[5] = cpu->r[29]; /* 029812C8 */ Gambit_fn_029DAE78(cpu); /* 029812CC */ _t18 = cpu->r[1] + 0x00000014u; /* 029812CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t18); /* 029812D0 */ _t19 = cpu->r[1] + 0x00000028u; /* 029812D0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19); /* 029812D4 */ _t20 = cpu->r[1] + 0x00000018u; /* 029812D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 029812D8 */ _t21 = cpu->r[1] + 0x00000020u; /* 029812D8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21); /* 029812DC */ _t22 = cpu->r[1] + 0x0000001Cu; /* 029812DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 029812E0 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u); /* 029812E0 */ _t24 = _t23 & 0x00000001u; /* 029812E0 */ if (_t24) goto L_029812E4; // else: addr-0 trap, fall-through L_029812E4: ; // 0x29812e4 /* 029812E4 */ _t25 = cpu->r[1] + 0x00000034u; /* 029812E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25); /* 029812E8 */ cpu->lr = cpu->r[0]; /* 029812EC */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 029812F0 */ return; L_029812F4: ; // 0x29812f4 /* 029812F4 */ _t26 = cpu->r[3] + 0x00000014u; /* 029812F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26); /* 029812F8 */ _t27 = cpu->r[3] + 0x00000080u; /* 029812F8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t27); /* 029812FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]); /* 02981300 */ _t28 = cpu->r[3] + 0x00000018u; /* 02981300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28); /* 02981304 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981304 */ _t30 = _t29 & 0x00000001u; /* 02981304 */ if (_t30) goto L_02981320; else goto L_02981308; L_02981308: ; // 0x2981308 /* 02981308 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000001Cu); /* 0298130C */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 02981310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981314 */ _t31 = cpu->r[1] + 0x00000008u; /* 02981314 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]); /* 02981318 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981318 */ _t33 = _t32 & 0x00000001u; /* 02981318 */ if (_t33) goto L_02981354; else goto L_0298131C; L_0298131C: ; // 0x298131c /* 0298131C */ goto L_02981334; L_02981320: ; // 0x2981320 /* 02981320 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu); /* 02981324 */ cpu->r[30] = cpu->r[31] + cpu->r[0]; /* 02981328 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298132C */ _t34 = cpu->r[1] + 0x00000008u; /* 0298132C */ rbrew_write32(cpu->mem, _t34, cpu->r[30]); /* 02981330 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981330 */ _t36 = _t35 & 0x00000001u; /* 02981330 */ if (_t36) goto L_02981354; else goto L_02981334; L_02981334: ; // 0x2981334 /* 02981334 */ _t37 = cpu->r[31] + 0x00000000u; /* 02981334 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37); /* 02981338 */ cpu->f[1] = cpu->f[31]; /* 0298133C */ cpu->r[4] = 0xFFFFFFFFu; /* 02981340 */ cpu->r[5] = cpu->r[29]; /* 02981344 */ Gambit_fn_029DAE78(cpu); /* 02981348 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 0298134C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981350 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981350 */ _t39 = _t38 & 0x00000001u; /* 02981350 */ if (_t39) goto L_02981354; else goto L_02981334; L_02981354: ; // 0x2981354 /* 02981354 */ _t40 = cpu->r[1] + 0x00000014u; /* 02981354 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40); /* 02981358 */ _t41 = cpu->r[1] + 0x00000028u; /* 02981358 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t41); /* 0298135C */ _t42 = cpu->r[1] + 0x00000018u; /* 0298135C */ cpu->r[30] = rbrew_read32(cpu->mem, _t42); /* 02981360 */ _t43 = cpu->r[1] + 0x00000020u; /* 02981360 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t43); /* 02981364 */ _t44 = cpu->r[1] + 0x0000001Cu; /* 02981364 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44); /* 02981368 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981368 */ _t46 = _t45 & 0x00000001u; /* 02981368 */ if (_t46) goto L_0298136C; // else: addr-0 trap, fall-through L_0298136C: ; // 0x298136c /* 0298136C */ _t47 = cpu->r[1] + 0x00000034u; /* 0298136C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47); /* 02981370 */ cpu->lr = cpu->r[0]; /* 02981374 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02981378 */ return; } // fn_0298137C @ 0x298137c void Gambit_fn_0298137C(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_0298137C: ; // 0x298137c /* 0298137C */ cpu->r[0] = cpu->lr; /* 02981380 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02981380 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981380 */ cpu->r[1] = _t0; /* 02981384 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981384 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981388 */ _t2 = cpu->r[1] + 0x00000010u; /* 02981388 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298138C */ _t3 = cpu->r[1] + 0x00000018u; /* 0298138C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02981390 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02981390 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02981394 */ _t5 = cpu->r[1] + 0x00000024u; /* 02981394 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02981398 */ cpu->r[29] = cpu->r[5]; /* 0298139C */ _t6 = cpu->r[3] + 0x00000080u; /* 0298139C */ cpu->r[0] = rbrew_read16(cpu->mem, _t6); /* 029813A0 */ _t7 = cpu->r[3] + 0x00000014u; /* 029813A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 029813A4 */ cpu->r[28] = cpu->r[4]; /* 029813A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 029813AC */ _t8 = cpu->r[3] + 0x00000018u; /* 029813AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 029813B0 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 029813B0 */ _t10 = _t9 & 0x00000001u; /* 029813B0 */ if (_t10) goto L_029813CC; else goto L_029813B4; L_029813B4: ; // 0x29813b4 /* 029813B4 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 029813B8 */ cpu->r[30] = cpu->r[31] + cpu->r[9]; /* 029813BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029813C0 */ _t11 = cpu->r[1] + 0x00000008u; /* 029813C0 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 029813C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029813C4 */ _t13 = _t12 & 0x00000001u; /* 029813C4 */ if (_t13) goto L_02981400; else goto L_029813C8; L_029813C8: ; // 0x29813c8 /* 029813C8 */ goto L_029813E0; L_029813CC: ; // 0x29813cc /* 029813CC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 029813D0 */ cpu->r[30] = cpu->r[31] + cpu->r[0]; /* 029813D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029813D8 */ _t14 = cpu->r[1] + 0x00000008u; /* 029813D8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]); /* 029813DC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 029813DC */ _t16 = _t15 & 0x00000001u; /* 029813DC */ if (_t16) goto L_02981400; else goto L_029813E0; L_029813E0: ; // 0x29813e0 /* 029813E0 */ _t17 = cpu->r[31] + 0x00000000u; /* 029813E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 029813E4 */ cpu->r[4] = 0x00000000u; /* 029813E8 */ cpu->r[6] = cpu->r[29]; /* 029813EC */ cpu->r[5] = cpu->r[28]; /* 029813F0 */ Gambit_fn_029DAC90(cpu); /* 029813F4 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029813F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029813FC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 029813FC */ _t19 = _t18 & 0x00000001u; /* 029813FC */ if (_t19) goto L_02981400; else goto L_029813E0; L_02981400: ; // 0x2981400 /* 02981400 */ _t20 = cpu->r[1] + 0x00000010u; /* 02981400 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20); /* 02981404 */ _t21 = cpu->r[1] + 0x00000014u; /* 02981404 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 02981408 */ _t22 = cpu->r[1] + 0x00000024u; /* 02981408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0298140C */ _t23 = cpu->r[1] + 0x00000018u; /* 0298140C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02981410 */ cpu->lr = cpu->r[0]; /* 02981414 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 02981414 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 02981418 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298141C */ return; } // fn_02981380 @ 0x2981380 void Gambit_fn_02981380(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_02981380: ; // 0x2981380 /* 02981380 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02981380 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981380 */ cpu->r[1] = _t0; /* 02981384 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981384 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981388 */ _t2 = cpu->r[1] + 0x00000010u; /* 02981388 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298138C */ _t3 = cpu->r[1] + 0x00000018u; /* 0298138C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02981390 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02981390 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02981394 */ _t5 = cpu->r[1] + 0x00000024u; /* 02981394 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02981398 */ cpu->r[29] = cpu->r[5]; /* 0298139C */ _t6 = cpu->r[3] + 0x00000080u; /* 0298139C */ cpu->r[0] = rbrew_read16(cpu->mem, _t6); /* 029813A0 */ _t7 = cpu->r[3] + 0x00000014u; /* 029813A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 029813A4 */ cpu->r[28] = cpu->r[4]; /* 029813A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 029813AC */ _t8 = cpu->r[3] + 0x00000018u; /* 029813AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 029813B0 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 029813B0 */ _t10 = _t9 & 0x00000001u; /* 029813B0 */ if (_t10) goto L_029813CC; else goto L_029813B4; L_029813B4: ; // 0x29813b4 /* 029813B4 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 029813B8 */ cpu->r[30] = cpu->r[31] + cpu->r[9]; /* 029813BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029813C0 */ _t11 = cpu->r[1] + 0x00000008u; /* 029813C0 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 029813C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029813C4 */ _t13 = _t12 & 0x00000001u; /* 029813C4 */ if (_t13) goto L_02981400; else goto L_029813C8; L_029813C8: ; // 0x29813c8 /* 029813C8 */ goto L_029813E0; L_029813CC: ; // 0x29813cc /* 029813CC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 029813D0 */ cpu->r[30] = cpu->r[31] + cpu->r[0]; /* 029813D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029813D8 */ _t14 = cpu->r[1] + 0x00000008u; /* 029813D8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]); /* 029813DC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 029813DC */ _t16 = _t15 & 0x00000001u; /* 029813DC */ if (_t16) goto L_02981400; else goto L_029813E0; L_029813E0: ; // 0x29813e0 /* 029813E0 */ _t17 = cpu->r[31] + 0x00000000u; /* 029813E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 029813E4 */ cpu->r[4] = 0x00000000u; /* 029813E8 */ cpu->r[6] = cpu->r[29]; /* 029813EC */ cpu->r[5] = cpu->r[28]; /* 029813F0 */ Gambit_fn_029DAC90(cpu); /* 029813F4 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029813F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029813FC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 029813FC */ _t19 = _t18 & 0x00000001u; /* 029813FC */ if (_t19) goto L_02981400; else goto L_029813E0; L_02981400: ; // 0x2981400 /* 02981400 */ _t20 = cpu->r[1] + 0x00000010u; /* 02981400 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20); /* 02981404 */ _t21 = cpu->r[1] + 0x00000014u; /* 02981404 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 02981408 */ _t22 = cpu->r[1] + 0x00000024u; /* 02981408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0298140C */ _t23 = cpu->r[1] + 0x00000018u; /* 0298140C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02981410 */ cpu->lr = cpu->r[0]; /* 02981414 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 02981414 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 02981418 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298141C */ return; } // fn_02981420 @ 0x2981420 void Gambit_fn_02981420(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_02981420: ; // 0x2981420 /* 02981420 */ cpu->r[0] = cpu->lr; /* 02981424 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02981424 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981424 */ cpu->r[1] = _t0; /* 02981428 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981428 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298142C */ _t2 = cpu->r[1] + 0x00000018u; /* 0298142C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02981430 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02981430 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02981434 */ _t4 = cpu->r[1] + 0x00000024u; /* 02981434 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02981438 */ cpu->r[29] = cpu->r[4]; /* 0298143C */ _t5 = cpu->r[3] + 0x00000080u; /* 0298143C */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 02981440 */ _t6 = cpu->r[3] + 0x00000014u; /* 02981440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02981444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02981448 */ _t7 = cpu->r[3] + 0x00000018u; /* 02981448 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0298144C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298144C */ _t9 = _t8 & 0x00000001u; /* 0298144C */ if (_t9) goto L_02981468; else goto L_02981450; L_02981450: ; // 0x2981450 /* 02981450 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02981454 */ cpu->r[30] = cpu->r[31] + cpu->r[9]; /* 02981458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298145C */ _t10 = cpu->r[1] + 0x00000008u; /* 0298145C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 02981460 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981460 */ _t12 = _t11 & 0x00000001u; /* 02981460 */ if (_t12) goto L_02981498; else goto L_02981464; L_02981464: ; // 0x2981464 /* 02981464 */ goto L_0298147C; L_02981468: ; // 0x2981468 /* 02981468 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 0298146C */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 02981470 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981474 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981474 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 02981478 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981478 */ _t15 = _t14 & 0x00000001u; /* 02981478 */ if (_t15) goto L_02981498; else goto L_0298147C; L_0298147C: ; // 0x298147c /* 0298147C */ _t16 = cpu->r[31] + 0x00000000u; /* 0298147C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 02981480 */ cpu->r[5] = cpu->r[29]; /* 02981484 */ cpu->r[4] = 0x00000000u; /* 02981488 */ Gambit_fn_029DAD04(cpu); /* 0298148C */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02981490 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981494 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981494 */ _t18 = _t17 & 0x00000001u; /* 02981494 */ if (_t18) goto L_02981498; else goto L_0298147C; L_02981498: ; // 0x2981498 /* 02981498 */ _t19 = cpu->r[1] + 0x00000014u; /* 02981498 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298149C */ _t20 = cpu->r[1] + 0x00000024u; /* 0298149C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 029814A0 */ _t21 = cpu->r[1] + 0x00000018u; /* 029814A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 029814A4 */ cpu->lr = cpu->r[0]; /* 029814A8 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 029814A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 029814AC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 029814B0 */ return; } // fn_02981424 @ 0x2981424 void Gambit_fn_02981424(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_02981424: ; // 0x2981424 /* 02981424 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02981424 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981424 */ cpu->r[1] = _t0; /* 02981428 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981428 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298142C */ _t2 = cpu->r[1] + 0x00000018u; /* 0298142C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02981430 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02981430 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02981434 */ _t4 = cpu->r[1] + 0x00000024u; /* 02981434 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02981438 */ cpu->r[29] = cpu->r[4]; /* 0298143C */ _t5 = cpu->r[3] + 0x00000080u; /* 0298143C */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 02981440 */ _t6 = cpu->r[3] + 0x00000014u; /* 02981440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02981444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02981448 */ _t7 = cpu->r[3] + 0x00000018u; /* 02981448 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0298144C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298144C */ _t9 = _t8 & 0x00000001u; /* 0298144C */ if (_t9) goto L_02981468; else goto L_02981450; L_02981450: ; // 0x2981450 /* 02981450 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02981454 */ cpu->r[30] = cpu->r[31] + cpu->r[9]; /* 02981458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298145C */ _t10 = cpu->r[1] + 0x00000008u; /* 0298145C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 02981460 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981460 */ _t12 = _t11 & 0x00000001u; /* 02981460 */ if (_t12) goto L_02981498; else goto L_02981464; L_02981464: ; // 0x2981464 /* 02981464 */ goto L_0298147C; L_02981468: ; // 0x2981468 /* 02981468 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 0298146C */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 02981470 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981474 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981474 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 02981478 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981478 */ _t15 = _t14 & 0x00000001u; /* 02981478 */ if (_t15) goto L_02981498; else goto L_0298147C; L_0298147C: ; // 0x298147c /* 0298147C */ _t16 = cpu->r[31] + 0x00000000u; /* 0298147C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 02981480 */ cpu->r[5] = cpu->r[29]; /* 02981484 */ cpu->r[4] = 0x00000000u; /* 02981488 */ Gambit_fn_029DAD04(cpu); /* 0298148C */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02981490 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981494 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981494 */ _t18 = _t17 & 0x00000001u; /* 02981494 */ if (_t18) goto L_02981498; else goto L_0298147C; L_02981498: ; // 0x2981498 /* 02981498 */ _t19 = cpu->r[1] + 0x00000014u; /* 02981498 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298149C */ _t20 = cpu->r[1] + 0x00000024u; /* 0298149C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 029814A0 */ _t21 = cpu->r[1] + 0x00000018u; /* 029814A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 029814A4 */ cpu->lr = cpu->r[0]; /* 029814A8 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 029814A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 029814AC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 029814B0 */ return; } // fn_029814B4 @ 0x29814b4 void Gambit_fn_029814B4(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_029814B4: ; // 0x29814b4 /* 029814B4 */ cpu->r[0] = cpu->lr; /* 029814B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 029814B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029814B8 */ cpu->r[1] = _t0; /* 029814BC */ _t1 = cpu->r[1] + 0x00000014u; /* 029814BC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029814C0 */ _t2 = cpu->r[1] + 0x00000018u; /* 029814C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029814C4 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 029814C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029814C8 */ _t4 = cpu->r[1] + 0x00000024u; /* 029814C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029814CC */ cpu->r[29] = cpu->r[4]; /* 029814D0 */ _t5 = cpu->r[3] + 0x00000080u; /* 029814D0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 029814D4 */ _t6 = cpu->r[3] + 0x00000014u; /* 029814D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 029814D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 029814DC */ _t7 = cpu->r[3] + 0x00000018u; /* 029814DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 029814E0 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 029814E0 */ _t9 = _t8 & 0x00000001u; /* 029814E0 */ if (_t9) goto L_029814FC; else goto L_029814E4; L_029814E4: ; // 0x29814e4 /* 029814E4 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 029814E8 */ cpu->r[30] = cpu->r[31] + cpu->r[9]; /* 029814EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029814F0 */ _t10 = cpu->r[1] + 0x00000008u; /* 029814F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 029814F4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 029814F4 */ _t12 = _t11 & 0x00000001u; /* 029814F4 */ if (_t12) goto L_0298152C; else goto L_029814F8; L_029814F8: ; // 0x29814f8 /* 029814F8 */ goto L_02981510; L_029814FC: ; // 0x29814fc /* 029814FC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 02981500 */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 02981504 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981508 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981508 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 0298150C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298150C */ _t15 = _t14 & 0x00000001u; /* 0298150C */ if (_t15) goto L_0298152C; else goto L_02981510; L_02981510: ; // 0x2981510 /* 02981510 */ _t16 = cpu->r[31] + 0x00000000u; /* 02981510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 02981514 */ cpu->r[5] = cpu->r[29]; /* 02981518 */ cpu->r[4] = 0x00000008u; /* 0298151C */ Gambit_fn_029DA9F0(cpu); /* 02981520 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02981524 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981528 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981528 */ _t18 = _t17 & 0x00000001u; /* 02981528 */ if (_t18) goto L_0298152C; else goto L_02981510; L_0298152C: ; // 0x298152c /* 0298152C */ _t19 = cpu->r[1] + 0x00000014u; /* 0298152C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02981530 */ _t20 = cpu->r[1] + 0x00000024u; /* 02981530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02981534 */ _t21 = cpu->r[1] + 0x00000018u; /* 02981534 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02981538 */ cpu->lr = cpu->r[0]; /* 0298153C */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0298153C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 02981540 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02981544 */ return; } // fn_029814B8 @ 0x29814b8 void Gambit_fn_029814B8(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_029814B8: ; // 0x29814b8 /* 029814B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 029814B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029814B8 */ cpu->r[1] = _t0; /* 029814BC */ _t1 = cpu->r[1] + 0x00000014u; /* 029814BC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029814C0 */ _t2 = cpu->r[1] + 0x00000018u; /* 029814C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029814C4 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 029814C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029814C8 */ _t4 = cpu->r[1] + 0x00000024u; /* 029814C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029814CC */ cpu->r[29] = cpu->r[4]; /* 029814D0 */ _t5 = cpu->r[3] + 0x00000080u; /* 029814D0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 029814D4 */ _t6 = cpu->r[3] + 0x00000014u; /* 029814D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 029814D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 029814DC */ _t7 = cpu->r[3] + 0x00000018u; /* 029814DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 029814E0 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 029814E0 */ _t9 = _t8 & 0x00000001u; /* 029814E0 */ if (_t9) goto L_029814FC; else goto L_029814E4; L_029814E4: ; // 0x29814e4 /* 029814E4 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 029814E8 */ cpu->r[30] = cpu->r[31] + cpu->r[9]; /* 029814EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029814F0 */ _t10 = cpu->r[1] + 0x00000008u; /* 029814F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 029814F4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 029814F4 */ _t12 = _t11 & 0x00000001u; /* 029814F4 */ if (_t12) goto L_0298152C; else goto L_029814F8; L_029814F8: ; // 0x29814f8 /* 029814F8 */ goto L_02981510; L_029814FC: ; // 0x29814fc /* 029814FC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 02981500 */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 02981504 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981508 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981508 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 0298150C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298150C */ _t15 = _t14 & 0x00000001u; /* 0298150C */ if (_t15) goto L_0298152C; else goto L_02981510; L_02981510: ; // 0x2981510 /* 02981510 */ _t16 = cpu->r[31] + 0x00000000u; /* 02981510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 02981514 */ cpu->r[5] = cpu->r[29]; /* 02981518 */ cpu->r[4] = 0x00000008u; /* 0298151C */ Gambit_fn_029DA9F0(cpu); /* 02981520 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02981524 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981528 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981528 */ _t18 = _t17 & 0x00000001u; /* 02981528 */ if (_t18) goto L_0298152C; else goto L_02981510; L_0298152C: ; // 0x298152c /* 0298152C */ _t19 = cpu->r[1] + 0x00000014u; /* 0298152C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02981530 */ _t20 = cpu->r[1] + 0x00000024u; /* 02981530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02981534 */ _t21 = cpu->r[1] + 0x00000018u; /* 02981534 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02981538 */ cpu->lr = cpu->r[0]; /* 0298153C */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0298153C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 02981540 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02981544 */ return; } // fn_02981548 @ 0x2981548 void Gambit_fn_02981548(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_02981548: ; // 0x2981548 /* 02981548 */ cpu->r[0] = cpu->lr; /* 0298154C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0298154C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298154C */ cpu->r[1] = _t0; /* 02981550 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981550 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981554 */ _t2 = cpu->r[1] + 0x00000018u; /* 02981554 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02981558 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02981558 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298155C */ _t4 = cpu->r[1] + 0x00000024u; /* 0298155C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02981560 */ cpu->r[29] = cpu->r[4]; /* 02981564 */ _t5 = cpu->r[3] + 0x00000080u; /* 02981564 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 02981568 */ _t6 = cpu->r[3] + 0x00000014u; /* 02981568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0298156C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02981570 */ _t7 = cpu->r[3] + 0x00000018u; /* 02981570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02981574 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981574 */ _t9 = _t8 & 0x00000001u; /* 02981574 */ if (_t9) goto L_02981590; else goto L_02981578; L_02981578: ; // 0x2981578 /* 02981578 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 0298157C */ cpu->r[30] = cpu->r[31] + cpu->r[9]; /* 02981580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981584 */ _t10 = cpu->r[1] + 0x00000008u; /* 02981584 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 02981588 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981588 */ _t12 = _t11 & 0x00000001u; /* 02981588 */ if (_t12) goto L_029815C0; else goto L_0298158C; L_0298158C: ; // 0x298158c /* 0298158C */ goto L_029815A4; L_02981590: ; // 0x2981590 /* 02981590 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 02981594 */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 02981598 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298159C */ _t13 = cpu->r[1] + 0x00000008u; /* 0298159C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 029815A0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 029815A0 */ _t15 = _t14 & 0x00000001u; /* 029815A0 */ if (_t15) goto L_029815C0; else goto L_029815A4; L_029815A4: ; // 0x29815a4 /* 029815A4 */ _t16 = cpu->r[31] + 0x00000000u; /* 029815A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 029815A8 */ cpu->r[5] = cpu->r[29]; /* 029815AC */ cpu->r[4] = 0x00000006u; /* 029815B0 */ Gambit_fn_029DA9F0(cpu); /* 029815B4 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029815B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029815BC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 029815BC */ _t18 = _t17 & 0x00000001u; /* 029815BC */ if (_t18) goto L_029815C0; else goto L_029815A4; L_029815C0: ; // 0x29815c0 /* 029815C0 */ _t19 = cpu->r[1] + 0x00000014u; /* 029815C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 029815C4 */ _t20 = cpu->r[1] + 0x00000024u; /* 029815C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 029815C8 */ _t21 = cpu->r[1] + 0x00000018u; /* 029815C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 029815CC */ cpu->lr = cpu->r[0]; /* 029815D0 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 029815D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 029815D4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 029815D8 */ return; } // fn_0298154C @ 0x298154c void Gambit_fn_0298154C(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_0298154C: ; // 0x298154c /* 0298154C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0298154C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298154C */ cpu->r[1] = _t0; /* 02981550 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981550 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981554 */ _t2 = cpu->r[1] + 0x00000018u; /* 02981554 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02981558 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02981558 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298155C */ _t4 = cpu->r[1] + 0x00000024u; /* 0298155C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02981560 */ cpu->r[29] = cpu->r[4]; /* 02981564 */ _t5 = cpu->r[3] + 0x00000080u; /* 02981564 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 02981568 */ _t6 = cpu->r[3] + 0x00000014u; /* 02981568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0298156C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02981570 */ _t7 = cpu->r[3] + 0x00000018u; /* 02981570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02981574 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981574 */ _t9 = _t8 & 0x00000001u; /* 02981574 */ if (_t9) goto L_02981590; else goto L_02981578; L_02981578: ; // 0x2981578 /* 02981578 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 0298157C */ cpu->r[30] = cpu->r[31] + cpu->r[9]; /* 02981580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981584 */ _t10 = cpu->r[1] + 0x00000008u; /* 02981584 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 02981588 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981588 */ _t12 = _t11 & 0x00000001u; /* 02981588 */ if (_t12) goto L_029815C0; else goto L_0298158C; L_0298158C: ; // 0x298158c /* 0298158C */ goto L_029815A4; L_02981590: ; // 0x2981590 /* 02981590 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 02981594 */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 02981598 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298159C */ _t13 = cpu->r[1] + 0x00000008u; /* 0298159C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 029815A0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 029815A0 */ _t15 = _t14 & 0x00000001u; /* 029815A0 */ if (_t15) goto L_029815C0; else goto L_029815A4; L_029815A4: ; // 0x29815a4 /* 029815A4 */ _t16 = cpu->r[31] + 0x00000000u; /* 029815A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 029815A8 */ cpu->r[5] = cpu->r[29]; /* 029815AC */ cpu->r[4] = 0x00000006u; /* 029815B0 */ Gambit_fn_029DA9F0(cpu); /* 029815B4 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029815B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029815BC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 029815BC */ _t18 = _t17 & 0x00000001u; /* 029815BC */ if (_t18) goto L_029815C0; else goto L_029815A4; L_029815C0: ; // 0x29815c0 /* 029815C0 */ _t19 = cpu->r[1] + 0x00000014u; /* 029815C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 029815C4 */ _t20 = cpu->r[1] + 0x00000024u; /* 029815C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 029815C8 */ _t21 = cpu->r[1] + 0x00000018u; /* 029815C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 029815CC */ cpu->lr = cpu->r[0]; /* 029815D0 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 029815D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 029815D4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 029815D8 */ return; } // fn_029815DC @ 0x29815dc void Gambit_fn_029815DC(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_029815DC: ; // 0x29815dc /* 029815DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029815DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029815DC */ cpu->r[1] = _t0; /* 029815E0 */ _t1 = cpu->r[3] + 0x00000080u; /* 029815E0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t1); /* 029815E4 */ _t2 = cpu->r[3] + 0x00000014u; /* 029815E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2); /* 029815E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 029815EC */ _t3 = cpu->r[3] + 0x00000018u; /* 029815EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 029815F0 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u); /* 029815F0 */ _t5 = _t4 & 0x00000001u; /* 029815F0 */ if (_t5) goto L_0298160C; else goto L_029815F4; L_029815F4: ; // 0x29815f4 /* 029815F4 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 029815F8 */ cpu->r[0] = cpu->r[12] + cpu->r[11]; /* 029815FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 02981600 */ _t6 = cpu->r[1] + 0x00000008u; /* 02981600 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02981604 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981604 */ _t8 = _t7 & 0x00000001u; /* 02981604 */ if (_t8) goto L_02981670; else goto L_02981608; L_02981608: ; // 0x2981608 /* 02981608 */ goto L_02981620; L_0298160C: ; // 0x298160c /* 0298160C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000001Cu); /* 02981610 */ cpu->r[0] = cpu->r[12] + cpu->r[0]; /* 02981614 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 02981618 */ _t9 = cpu->r[1] + 0x00000008u; /* 02981618 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0298161C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298161C */ _t11 = _t10 & 0x00000001u; /* 0298161C */ if (_t11) goto L_02981670; else goto L_02981620; L_02981620: ; // 0x2981620 /* 02981620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02981624 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981624 */ _t13 = _t12 & 0x00000001u; /* 02981624 */ if (_t13) goto L_02981628; else goto L_02981654; L_02981628: ; // 0x2981628 /* 02981628 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0298162C */ _t14 = cpu->r[4] | cpu->r[4]; /* 0298162C */ cpu->r[10] = ~_t14; L_02981630: ; // 0x2981630 /* 02981630 */ _t15 = cpu->r[12] + 0x00000000u; /* 02981630 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 02981634 */ _t16 = cpu->r[9] + 0x0000000Eu; /* 02981634 */ cpu->r[7] = rbrew_read16(cpu->mem, _t16); /* 02981638 */ cpu->r[12] = cpu->r[12] + 0x0000001Cu; /* 0298163C */ cpu->r[7] = cpu->r[7] & cpu->r[10]; /* 02981640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 02981644 */ _t17 = cpu->r[9] + 0x0000000Eu; /* 02981644 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[7]); /* 02981648 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981648 */ _t19 = _t18 & 0x00000001u; /* 02981648 */ if (_t19) goto L_0298164C; else goto L_02981630; L_0298164C: ; // 0x298164c /* 0298164C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02981650 */ return; L_02981654: ; // 0x2981654 /* 02981654 */ _t20 = cpu->r[12] + 0x00000000u; /* 02981654 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20); /* 02981658 */ _t21 = cpu->r[9] + 0x0000000Eu; /* 02981658 */ cpu->r[10] = rbrew_read16(cpu->mem, _t21); /* 0298165C */ cpu->r[12] = cpu->r[12] + 0x0000001Cu; /* 02981660 */ cpu->r[10] = cpu->r[10] | cpu->r[4]; /* 02981664 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 02981668 */ _t22 = cpu->r[9] + 0x0000000Eu; /* 02981668 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[10]); /* 0298166C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298166C */ _t24 = _t23 & 0x00000001u; /* 0298166C */ if (_t24) goto L_02981670; else goto L_02981654; L_02981670: ; // 0x2981670 /* 02981670 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02981674 */ return; } // fn_02981678 @ 0x2981678 void Gambit_fn_02981678(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_02981678: ; // 0x2981678 /* 02981678 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 02981678 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981678 */ cpu->r[1] = _t0; /* 0298167C */ /* nop */ /* 02981680 */ cpu->r[0] = cpu->lr; /* 02981684 */ _t1 = cpu->r[1] + 0x0000003Cu; /* 02981684 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02981688 */ _t2 = cpu->r[3] + 0x00000080u; /* 02981688 */ cpu->r[9] = rbrew_read16(cpu->mem, _t2); /* 0298168C */ _t3 = cpu->r[3] + 0x00000014u; /* 0298168C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02981690 */ cpu->r[27] = cpu->r[5]; /* 02981694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]); /* 02981698 */ _t4 = cpu->r[3] + 0x00000018u; /* 02981698 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4); /* 0298169C */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298169C */ _t6 = _t5 & 0x00000001u; /* 0298169C */ if (_t6) goto L_029816B8; else goto L_029816A0; L_029816A0: ; // 0x29816a0 /* 029816A0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000001Cu); /* 029816A4 */ cpu->r[31] = cpu->r[30] + cpu->r[11]; /* 029816A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 029816AC */ _t7 = cpu->r[1] + 0x00000008u; /* 029816AC */ rbrew_write32(cpu->mem, _t7, cpu->r[31]); /* 029816B0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 029816B0 */ _t9 = _t8 & 0x00000001u; /* 029816B0 */ if (_t9) goto L_029817C8; else goto L_029816B4; L_029816B4: ; // 0x29816b4 /* 029816B4 */ goto L_029816CC; L_029816B8: ; // 0x29816b8 /* 029816B8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 029816BC */ cpu->r[31] = cpu->r[30] + cpu->r[12]; /* 029816C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 029816C4 */ _t10 = cpu->r[1] + 0x00000008u; /* 029816C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]); /* 029816C8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 029816C8 */ _t12 = _t11 & 0x00000001u; /* 029816C8 */ if (_t12) goto L_029817C8; else goto L_029816CC; L_029816CC: ; // 0x29816cc /* 029816CC */ cpu->r[6] = 0x00000001u; /* 029816D0 */ cpu->r[0] = cpu->r[4] + 0x00000008u; /* 029816D4 */ /* nop */ /* 029816D8 */ cpu->r[29] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000010u, 0x0000001Fu); L_029816DC: ; // 0x29816dc /* 029816DC */ _t13 = cpu->r[30] + 0x00000000u; /* 029816DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 029816E0 */ _t14 = cpu->r[3] + 0x00000088u; /* 029816E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14); /* 029816E4 */ _t15 = cpu->r[7] + 0x000000B4u; /* 029816E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15); /* 029816E8 */ cpu->ctr = cpu->r[10]; /* 029816EC */ cpu->r[28] = 0x00000000u; /* 029816F0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029816F4 */ cpu->r[23] = cpu->r[3]; /* 029816F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 029816F8 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 029816F8 */ _t17 = _t16 & 0x00000001u; /* 029816F8 */ if (_t17) goto L_029816FC; else goto L_029817BC; L_029816FC: ; // 0x29816fc /* 029816FC */ _t18 = cpu->r[29] | cpu->r[29]; /* 029816FC */ cpu->r[25] = ~_t18; /* 02981700 */ cpu->r[24] = 0x00000000u; L_02981704: ; // 0x2981704 /* 02981704 */ _t19 = cpu->r[30] + 0x00000000u; /* 02981704 */ cpu->r[26] = rbrew_read32(cpu->mem, _t19); /* 02981708 */ cpu->r[4] = cpu->r[28]; /* 0298170C */ cpu->r[3] = cpu->r[26]; /* 02981710 */ Gambit_fn_029DA9EC(cpu); /* 02981714 */ _t20 = cpu->r[26] + 0x00000040u; /* 02981714 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20); /* 02981718 */ cpu->r[7] = cpu->r[8] + cpu->r[24]; /* 0298171C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02981720 */ _t21 = cpu->r[7] + 0x00000006u; /* 02981720 */ cpu->r[0] = rbrew_read16(cpu->mem, _t21); /* 02981724 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981724 */ _t23 = _t22 & 0x00000001u; /* 02981724 */ if (_t23) goto L_02981774; else goto L_02981728; L_02981728: ; // 0x2981728 /* 02981728 */ cpu->r[0] = cpu->r[0] | cpu->r[29]; /* 0298172C */ _t24 = cpu->r[7] + 0x00000006u; /* 0298172C */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[0]); /* 02981730 */ _t25 = cpu->r[26] + 0x00000000u; /* 02981730 */ cpu->r[12] = rbrew_read8(cpu->mem, _t25); /* 02981734 */ cpu->r[3] = cpu->r[26]; /* 02981738 */ cpu->r[12] = cpu->r[12] | 0x00000004u; /* 0298173C */ cpu->r[4] = cpu->r[28]; /* 02981740 */ _t26 = cpu->r[26] + 0x00000000u; /* 02981740 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]); /* 02981744 */ Gambit_fn_029DA9EC(cpu); /* 02981748 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x0000000Cu); /* 0298174C */ _t27 = cpu->r[26] + 0x00000040u; /* 0298174C */ cpu->r[4] = rbrew_read32(cpu->mem, _t27); /* 02981750 */ cpu->r[10] = cpu->r[4] + cpu->r[0]; /* 02981754 */ _t28 = cpu->r[10] + 0x00000006u; /* 02981754 */ cpu->r[0] = rbrew_read16(cpu->mem, _t28); /* 02981758 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu; /* 02981758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 0298175C */ cpu->r[24] = cpu->r[24] + 0x0000000Cu; /* 02981760 */ cpu->r[0] = cpu->r[0] | 0x00000004u; /* 02981764 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02981768 */ _t29 = cpu->r[10] + 0x00000006u; /* 02981768 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[0]); /* 0298176C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298176C */ _t31 = _t30 & 0x00000001u; /* 0298176C */ if (_t31) goto L_02981770; else goto L_02981704; L_02981770: ; // 0x2981770 /* 02981770 */ goto L_029817BC; L_02981774: ; // 0x2981774 /* 02981774 */ cpu->r[0] = cpu->r[0] & cpu->r[25]; /* 02981778 */ _t32 = cpu->r[7] + 0x00000006u; /* 02981778 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[0]); /* 0298177C */ _t33 = cpu->r[26] + 0x00000000u; /* 0298177C */ cpu->r[12] = rbrew_read8(cpu->mem, _t33); /* 02981780 */ cpu->r[3] = cpu->r[26]; /* 02981784 */ cpu->r[12] = cpu->r[12] | 0x00000004u; /* 02981788 */ cpu->r[4] = cpu->r[28]; /* 0298178C */ _t34 = cpu->r[26] + 0x00000000u; /* 0298178C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[12]); /* 02981790 */ Gambit_fn_029DA9EC(cpu); /* 02981794 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x0000000Cu); /* 02981798 */ _t35 = cpu->r[26] + 0x00000040u; /* 02981798 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35); /* 0298179C */ cpu->r[10] = cpu->r[4] + cpu->r[0]; /* 029817A0 */ _t36 = cpu->r[10] + 0x00000006u; /* 029817A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t36); /* 029817A4 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu; /* 029817A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 029817A8 */ cpu->r[24] = cpu->r[24] + 0x0000000Cu; /* 029817AC */ cpu->r[0] = cpu->r[0] | 0x00000004u; /* 029817B0 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 029817B4 */ _t37 = cpu->r[10] + 0x00000006u; /* 029817B4 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[0]); /* 029817B8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 029817B8 */ _t39 = _t38 & 0x00000001u; /* 029817B8 */ if (_t39) goto L_029817BC; else goto L_02981704; L_029817BC: ; // 0x29817bc /* 029817BC */ cpu->r[30] = cpu->r[30] + 0x0000001Cu; /* 029817C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 029817C4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 029817C4 */ _t41 = _t40 & 0x00000001u; /* 029817C4 */ if (_t41) goto L_029817C8; else goto L_029816DC; L_029817C8: ; // 0x29817c8 /* 029817C8 */ /* nop */ /* 029817CC */ _t42 = cpu->r[1] + 0x0000003Cu; /* 029817CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 029817D0 */ cpu->lr = cpu->r[0]; /* 029817D4 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 029817D8 */ return; } // fn_029817DC @ 0x29817dc void Gambit_fn_029817DC(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_029817DC: ; // 0x29817dc /* 029817DC */ cpu->r[0] = cpu->lr; /* 029817E0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 029817E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029817E0 */ cpu->r[1] = _t0; /* 029817E4 */ _t1 = cpu->r[1] + 0x00000014u; /* 029817E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029817E8 */ _t2 = cpu->r[1] + 0x00000018u; /* 029817E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029817EC */ _t3 = cpu->r[1] + 0x0000001Cu; /* 029817EC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029817F0 */ _t4 = cpu->r[1] + 0x00000024u; /* 029817F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029817F4 */ cpu->r[29] = cpu->r[4]; /* 029817F8 */ _t5 = cpu->r[3] + 0x00000080u; /* 029817F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 029817FC */ _t6 = cpu->r[3] + 0x00000014u; /* 029817FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 02981800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 02981804 */ _t7 = cpu->r[3] + 0x00000018u; /* 02981804 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02981808 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981808 */ _t9 = _t8 & 0x00000001u; /* 02981808 */ if (_t9) goto L_02981824; else goto L_0298180C; L_0298180C: ; // 0x298180c /* 0298180C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02981810 */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 02981814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981818 */ _t10 = cpu->r[1] + 0x00000008u; /* 02981818 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 0298181C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298181C */ _t12 = _t11 & 0x00000001u; /* 0298181C */ if (_t12) goto L_02981860; else goto L_02981820; L_02981820: ; // 0x2981820 /* 02981820 */ goto L_02981838; L_02981824: ; // 0x2981824 /* 02981824 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000001Cu); /* 02981828 */ cpu->r[30] = cpu->r[31] + cpu->r[11]; /* 0298182C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981830 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981830 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 02981834 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981834 */ _t15 = _t14 & 0x00000001u; /* 02981834 */ if (_t15) goto L_02981860; else goto L_02981838; L_02981838: ; // 0x2981838 /* 02981838 */ _t16 = cpu->r[31] + 0x00000000u; /* 02981838 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 0298183C */ _t17 = cpu->r[3] + 0x00000088u; /* 0298183C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 02981840 */ _t18 = cpu->r[12] + 0x0000020Cu; /* 02981840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02981844 */ cpu->ctr = cpu->r[0]; /* 02981848 */ cpu->r[5] = cpu->r[29]; /* 0298184C */ cpu->r[4] = 0x00000000u; /* 02981850 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02981854 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02981858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298185C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298185C */ _t20 = _t19 & 0x00000001u; /* 0298185C */ if (_t20) goto L_02981860; else goto L_02981838; L_02981860: ; // 0x2981860 /* 02981860 */ _t21 = cpu->r[1] + 0x00000014u; /* 02981860 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 02981864 */ _t22 = cpu->r[1] + 0x00000024u; /* 02981864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02981868 */ _t23 = cpu->r[1] + 0x00000018u; /* 02981868 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 0298186C */ cpu->lr = cpu->r[0]; /* 02981870 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 02981870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 02981874 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02981878 */ return; } // fn_029817E0 @ 0x29817e0 void Gambit_fn_029817E0(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_029817E0: ; // 0x29817e0 /* 029817E0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 029817E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029817E0 */ cpu->r[1] = _t0; /* 029817E4 */ _t1 = cpu->r[1] + 0x00000014u; /* 029817E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029817E8 */ _t2 = cpu->r[1] + 0x00000018u; /* 029817E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029817EC */ _t3 = cpu->r[1] + 0x0000001Cu; /* 029817EC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029817F0 */ _t4 = cpu->r[1] + 0x00000024u; /* 029817F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029817F4 */ cpu->r[29] = cpu->r[4]; /* 029817F8 */ _t5 = cpu->r[3] + 0x00000080u; /* 029817F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 029817FC */ _t6 = cpu->r[3] + 0x00000014u; /* 029817FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 02981800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 02981804 */ _t7 = cpu->r[3] + 0x00000018u; /* 02981804 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02981808 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981808 */ _t9 = _t8 & 0x00000001u; /* 02981808 */ if (_t9) goto L_02981824; else goto L_0298180C; L_0298180C: ; // 0x298180c /* 0298180C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02981810 */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 02981814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981818 */ _t10 = cpu->r[1] + 0x00000008u; /* 02981818 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 0298181C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298181C */ _t12 = _t11 & 0x00000001u; /* 0298181C */ if (_t12) goto L_02981860; else goto L_02981820; L_02981820: ; // 0x2981820 /* 02981820 */ goto L_02981838; L_02981824: ; // 0x2981824 /* 02981824 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000001Cu); /* 02981828 */ cpu->r[30] = cpu->r[31] + cpu->r[11]; /* 0298182C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981830 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981830 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 02981834 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981834 */ _t15 = _t14 & 0x00000001u; /* 02981834 */ if (_t15) goto L_02981860; else goto L_02981838; L_02981838: ; // 0x2981838 /* 02981838 */ _t16 = cpu->r[31] + 0x00000000u; /* 02981838 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 0298183C */ _t17 = cpu->r[3] + 0x00000088u; /* 0298183C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 02981840 */ _t18 = cpu->r[12] + 0x0000020Cu; /* 02981840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02981844 */ cpu->ctr = cpu->r[0]; /* 02981848 */ cpu->r[5] = cpu->r[29]; /* 0298184C */ cpu->r[4] = 0x00000000u; /* 02981850 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02981854 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02981858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298185C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298185C */ _t20 = _t19 & 0x00000001u; /* 0298185C */ if (_t20) goto L_02981860; else goto L_02981838; L_02981860: ; // 0x2981860 /* 02981860 */ _t21 = cpu->r[1] + 0x00000014u; /* 02981860 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 02981864 */ _t22 = cpu->r[1] + 0x00000024u; /* 02981864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02981868 */ _t23 = cpu->r[1] + 0x00000018u; /* 02981868 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 0298186C */ cpu->lr = cpu->r[0]; /* 02981870 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 02981870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 02981874 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02981878 */ return; } // fn_0298187C @ 0x298187c void Gambit_fn_0298187C(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_0298187C: ; // 0x298187c /* 0298187C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0298187C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298187C */ cpu->r[1] = _t0; /* 02981880 */ cpu->r[0] = cpu->lr; /* 02981884 */ _t1 = cpu->r[1] + 0x00000020u; /* 02981884 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02981888 */ /* nop */ /* 0298188C */ _t2 = cpu->r[1] + 0x00000010u; /* 0298188C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 02981890 */ _t3 = cpu->r[1] + 0x00000028u; /* 02981890 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 02981894 */ _t4 = cpu->r[1] + 0x00000018u; /* 02981894 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 02981898 */ _t5 = cpu->r[1] + 0x00000014u; /* 02981898 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]); /* 0298189C */ _t6 = cpu->r[1] + 0x0000001Cu; /* 0298189C */ rbrew_write32(cpu->mem, _t6, cpu->r[31]); /* 029818A0 */ _t7 = cpu->r[1] + 0x00000034u; /* 029818A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 029818A4 */ cpu->r[29] = cpu->r[4]; /* 029818A8 */ _t8 = cpu->r[3] + 0x00000080u; /* 029818A8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t8); /* 029818AC */ _t9 = cpu->r[3] + 0x00000014u; /* 029818AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 029818B0 */ cpu->r[28] = cpu->r[5]; /* 029818B4 */ cpu->f[31] = cpu->f[1]; /* 029818B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]); /* 029818BC */ _t10 = cpu->r[3] + 0x00000018u; /* 029818BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 029818C0 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u); /* 029818C0 */ _t12 = _t11 & 0x00000001u; /* 029818C0 */ if (_t12) goto L_029818DC; else goto L_029818C4; L_029818C4: ; // 0x29818c4 /* 029818C4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 029818C8 */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 029818CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029818D0 */ _t13 = cpu->r[1] + 0x00000008u; /* 029818D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 029818D4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 029818D4 */ _t15 = _t14 & 0x00000001u; /* 029818D4 */ if (_t15) goto L_02981910; else goto L_029818D8; L_029818D8: ; // 0x29818d8 /* 029818D8 */ goto L_029818F0; L_029818DC: ; // 0x29818dc /* 029818DC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu); /* 029818E0 */ cpu->r[30] = cpu->r[31] + cpu->r[12]; /* 029818E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029818E8 */ _t16 = cpu->r[1] + 0x00000008u; /* 029818E8 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]); /* 029818EC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 029818EC */ _t18 = _t17 & 0x00000001u; /* 029818EC */ if (_t18) goto L_02981910; else goto L_029818F0; L_029818F0: ; // 0x29818f0 /* 029818F0 */ _t19 = cpu->r[31] + 0x00000000u; /* 029818F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19); /* 029818F4 */ cpu->f[1] = cpu->f[31]; /* 029818F8 */ cpu->r[5] = cpu->r[28]; /* 029818FC */ cpu->r[4] = cpu->r[29]; /* 02981900 */ Gambit_fn_029DB28C(cpu); /* 02981904 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02981908 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0298190C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298190C */ _t21 = _t20 & 0x00000001u; /* 0298190C */ if (_t21) goto L_02981910; else goto L_029818F0; L_02981910: ; // 0x2981910 /* 02981910 */ _t22 = cpu->r[1] + 0x00000010u; /* 02981910 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 02981914 */ _t23 = cpu->r[1] + 0x00000014u; /* 02981914 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 02981918 */ _t24 = cpu->r[1] + 0x00000028u; /* 02981918 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24); /* 0298191C */ _t25 = cpu->r[1] + 0x00000018u; /* 0298191C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 02981920 */ _t26 = cpu->r[1] + 0x00000020u; /* 02981920 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26); /* 02981924 */ _t27 = cpu->r[1] + 0x0000001Cu; /* 02981924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27); /* 02981928 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981928 */ _t29 = _t28 & 0x00000001u; /* 02981928 */ if (_t29) goto L_0298192C; // else: addr-0 trap, fall-through L_0298192C: ; // 0x298192c /* 0298192C */ _t30 = cpu->r[1] + 0x00000034u; /* 0298192C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 02981930 */ cpu->lr = cpu->r[0]; /* 02981934 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02981938 */ return; } // fn_0298193C @ 0x298193c void Gambit_fn_0298193C(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_0298193C: ; // 0x298193c /* 0298193C */ cpu->r[0] = cpu->lr; /* 02981940 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02981940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981940 */ cpu->r[1] = _t0; /* 02981944 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981944 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981948 */ _t2 = cpu->r[1] + 0x00000018u; /* 02981948 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298194C */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0298194C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02981950 */ _t4 = cpu->r[1] + 0x00000024u; /* 02981950 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02981954 */ cpu->r[29] = cpu->r[4]; /* 02981958 */ _t5 = cpu->r[3] + 0x00000080u; /* 02981958 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 0298195C */ _t6 = cpu->r[3] + 0x00000014u; /* 0298195C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02981960 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02981964 */ _t7 = cpu->r[3] + 0x00000018u; /* 02981964 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02981968 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981968 */ _t9 = _t8 & 0x00000001u; /* 02981968 */ if (_t9) goto L_02981984; else goto L_0298196C; L_0298196C: ; // 0x298196c /* 0298196C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02981970 */ cpu->r[30] = cpu->r[31] + cpu->r[9]; /* 02981974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981978 */ _t10 = cpu->r[1] + 0x00000008u; /* 02981978 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 0298197C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298197C */ _t12 = _t11 & 0x00000001u; /* 0298197C */ if (_t12) goto L_029819B0; else goto L_02981980; L_02981980: ; // 0x2981980 /* 02981980 */ goto L_02981998; L_02981984: ; // 0x2981984 /* 02981984 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 02981988 */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 0298198C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981990 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981990 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 02981994 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981994 */ _t15 = _t14 & 0x00000001u; /* 02981994 */ if (_t15) goto L_029819B0; else goto L_02981998; L_02981998: ; // 0x2981998 /* 02981998 */ _t16 = cpu->r[31] + 0x00000000u; /* 02981998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 0298199C */ cpu->r[4] = cpu->r[29]; /* 029819A0 */ Gambit_fn_029DB204(cpu); /* 029819A4 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029819A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029819AC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 029819AC */ _t18 = _t17 & 0x00000001u; /* 029819AC */ if (_t18) goto L_029819B0; else goto L_02981998; L_029819B0: ; // 0x29819b0 /* 029819B0 */ _t19 = cpu->r[1] + 0x00000014u; /* 029819B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 029819B4 */ _t20 = cpu->r[1] + 0x00000024u; /* 029819B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 029819B8 */ _t21 = cpu->r[1] + 0x00000018u; /* 029819B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 029819BC */ cpu->lr = cpu->r[0]; /* 029819C0 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 029819C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 029819C4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 029819C8 */ return; } // fn_02981940 @ 0x2981940 void Gambit_fn_02981940(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_02981940: ; // 0x2981940 /* 02981940 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02981940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981940 */ cpu->r[1] = _t0; /* 02981944 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981944 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981948 */ _t2 = cpu->r[1] + 0x00000018u; /* 02981948 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298194C */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0298194C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02981950 */ _t4 = cpu->r[1] + 0x00000024u; /* 02981950 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02981954 */ cpu->r[29] = cpu->r[4]; /* 02981958 */ _t5 = cpu->r[3] + 0x00000080u; /* 02981958 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 0298195C */ _t6 = cpu->r[3] + 0x00000014u; /* 0298195C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02981960 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02981964 */ _t7 = cpu->r[3] + 0x00000018u; /* 02981964 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 02981968 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981968 */ _t9 = _t8 & 0x00000001u; /* 02981968 */ if (_t9) goto L_02981984; else goto L_0298196C; L_0298196C: ; // 0x298196c /* 0298196C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02981970 */ cpu->r[30] = cpu->r[31] + cpu->r[9]; /* 02981974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981978 */ _t10 = cpu->r[1] + 0x00000008u; /* 02981978 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 0298197C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298197C */ _t12 = _t11 & 0x00000001u; /* 0298197C */ if (_t12) goto L_029819B0; else goto L_02981980; L_02981980: ; // 0x2981980 /* 02981980 */ goto L_02981998; L_02981984: ; // 0x2981984 /* 02981984 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu); /* 02981988 */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 0298198C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02981990 */ _t13 = cpu->r[1] + 0x00000008u; /* 02981990 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 02981994 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981994 */ _t15 = _t14 & 0x00000001u; /* 02981994 */ if (_t15) goto L_029819B0; else goto L_02981998; L_02981998: ; // 0x2981998 /* 02981998 */ _t16 = cpu->r[31] + 0x00000000u; /* 02981998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 0298199C */ cpu->r[4] = cpu->r[29]; /* 029819A0 */ Gambit_fn_029DB204(cpu); /* 029819A4 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029819A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029819AC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 029819AC */ _t18 = _t17 & 0x00000001u; /* 029819AC */ if (_t18) goto L_029819B0; else goto L_02981998; L_029819B0: ; // 0x29819b0 /* 029819B0 */ _t19 = cpu->r[1] + 0x00000014u; /* 029819B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 029819B4 */ _t20 = cpu->r[1] + 0x00000024u; /* 029819B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 029819B8 */ _t21 = cpu->r[1] + 0x00000018u; /* 029819B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 029819BC */ cpu->lr = cpu->r[0]; /* 029819C0 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 029819C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 029819C4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 029819C8 */ return; } // fn_029819CC @ 0x29819cc void Gambit_fn_029819CC(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, _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; double _ft33, _ft34; L_029819CC: ; // 0x29819cc /* 029819CC */ _t0 = cpu->r[1] + 0xFFFFFF70u; /* 029819CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029819CC */ cpu->r[1] = _t0; /* 029819D0 */ _t1 = cpu->r[3] + 0x00000028u; /* 029819D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 029819D4 */ _t2 = cpu->r[3] + 0x00000030u; /* 029819D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2); /* 029819D8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029819DC */ cpu->r[6] = cpu->r[8] + cpu->r[12]; /* 029819E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]); /* 029819E4 */ cpu->r[7] = 0x00000000u; /* 029819E8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 029819E8 */ _t4 = _t3 & 0x00000001u; /* 029819E8 */ if (_t4) goto L_02981CA8; else goto L_029819EC; L_029819EC: ; // 0x29819ec /* 029819EC */ cpu->r[12] = 0x10150000u; /* 029819F0 */ _t5 = cpu->r[12] + 0xFFFFECE4u; /* 029819F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5); /* 029819F4 */ cpu->r[12] = 0x10150000u; /* 029819F8 */ cpu->f[5] = cpu->f[0]; /* 029819FC */ _t6 = cpu->r[12] + 0xFFFFECECu; /* 029819FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6); L_02981A00: ; // 0x2981a00 /* 02981A00 */ _t7 = cpu->r[8] + 0x00000000u; /* 02981A00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 02981A04 */ _t8 = cpu->r[12] + 0x00000000u; /* 02981A04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 02981A08 */ _t9 = cpu->r[11] + 0x0000000Au; /* 02981A08 */ cpu->r[12] = rbrew_read16(cpu->mem, _t9); /* 02981A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02981A10 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981A10 */ _t11 = _t10 & 0x00000001u; /* 02981A10 */ if (_t11) goto L_02981C9C; else goto L_02981A14; L_02981A14: ; // 0x2981a14 /* 02981A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02981A18 */ _t12 = cpu->r[11] + 0x00000034u; /* 02981A18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12); /* 02981A1C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981A1C */ _t14 = _t13 & 0x00000001u; /* 02981A1C */ if (_t14) goto L_02981A20; else goto L_02981A54; L_02981A20: ; // 0x2981a20 /* 02981A20 */ _t15 = cpu->r[5] + 0x00000000u; /* 02981A20 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15); /* 02981A24 */ _t16 = cpu->r[3] + 0x00000090u; /* 02981A24 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]); /* 02981A28 */ _t17 = cpu->r[5] + 0x00000004u; /* 02981A28 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17); /* 02981A2C */ _t18 = cpu->r[3] + 0x00000094u; /* 02981A2C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]); /* 02981A30 */ _t19 = cpu->r[5] + 0x00000008u; /* 02981A30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19); /* 02981A34 */ cpu->r[8] = cpu->r[8] + 0x00000004u; /* 02981A38 */ _t20 = cpu->r[3] + 0x00000098u; /* 02981A38 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]); /* 02981A3C */ _t21 = cpu->r[5] + 0x0000000Cu; /* 02981A3C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21); /* 02981A40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]); /* 02981A44 */ cpu->r[7] = cpu->r[3] + 0x00000090u; /* 02981A48 */ _t22 = cpu->r[3] + 0x0000009Cu; /* 02981A48 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]); /* 02981A4C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981A4C */ _t24 = _t23 & 0x00000001u; /* 02981A4C */ if (_t24) goto L_02981A50; else goto L_02981A00; L_02981A50: ; // 0x2981a50 /* 02981A50 */ goto L_02981CA8; L_02981A54: ; // 0x2981a54 /* 02981A54 */ /* nop */ /* 02981A58 */ /* nop */ /* 02981A5C */ /* nop */ /* 02981A60 */ /* nop */ /* 02981A64 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 02981A64 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25); /* 02981A68 */ _t26 = cpu->r[7] + 0x00000008u; /* 02981A68 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t26); /* 02981A6C */ cpu->f[11] = cpu->f[11] * cpu->f[11]; /* 02981A70 */ _t27 = cpu->r[5] + 0x00000008u; /* 02981A70 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27); /* 02981A74 */ _t28 = cpu->r[1] + 0x00000008u; /* 02981A74 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t28); /* 02981A78 */ cpu->f[3] = cpu->f[9] - cpu->f[10]; /* 02981A7C */ cpu->f[10] = fma(cpu->f[4], cpu->f[4], cpu->f[11]); /* 02981A80 */ cpu->f[11] = fma(cpu->f[3], cpu->f[3], cpu->f[10]); /* 02981A84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]); /* 02981A88 */ _t29 = cpu->r[1] + 0x00000010u; /* 02981A88 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[3]); /* 02981A8C */ _t30 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981A8C */ _t31 = _t30 & 0x00000001u; /* 02981A8C */ if (_t31) goto L_02981A90; else goto L_02981AC8; L_02981A90: ; // 0x2981a90 /* 02981A90 */ cpu->r[12] = 0x10150000u; /* 02981A94 */ _t32 = cpu->r[12] + 0xFFFFECE8u; /* 02981A94 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t32); /* 02981A98 */ cpu->f[10] = cpu->f[12]; /* 02981A9C */ _ft33 = sqrt(cpu->f[11]); /* 02981A9C */ _ft34 = (double)(int32_t)0x00000001u; /* 02981A9C */ cpu->f[6] = _ft34 / _ft33; /* 02981AA0 */ cpu->f[7] = cpu->f[6] * cpu->f[6]; /* 02981AA4 */ cpu->f[8] = cpu->f[6] * cpu->f[0]; /* 02981AA8 */ cpu->f[7] = -fma(cpu->f[7], cpu->f[11], -(cpu->f[10])); /* 02981AAC */ cpu->f[6] = cpu->f[7] * cpu->f[8]; /* 02981AB0 */ _t35 = cpu->r[1] + 0x00000010u; /* 02981AB0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35); /* 02981AB4 */ cpu->f[11] = cpu->f[11] * cpu->f[6]; /* 02981AB8 */ /* nop */ /* 02981ABC */ cpu->f[3] = cpu->f[10] * cpu->f[6]; /* 02981AC0 */ /* nop */ /* 02981AC4 */ _t36 = cpu->r[1] + 0x00000010u; /* 02981AC4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[3]); L_02981AC8: ; // 0x2981ac8 /* 02981AC8 */ _t37 = cpu->r[7] + 0x0000000Cu; /* 02981AC8 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t37); /* 02981ACC */ _t38 = cpu->r[5] + 0x0000000Cu; /* 02981ACC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t38); /* 02981AD0 */ cpu->f[2] = cpu->f[4] - cpu->f[9]; /* 02981AD4 */ cpu->f[10] = fabs(cpu->f[2]); /* 02981AD8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[10]); /* 02981ADC */ _t39 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981ADC */ _t40 = _t39 & 0x00000001u; /* 02981ADC */ if (_t40) goto L_02981AE0; else goto L_02981B18; L_02981AE0: ; // 0x2981ae0 /* 02981AE0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[13]); /* 02981AE4 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981AE4 */ _t42 = _t41 & 0x00000001u; /* 02981AE4 */ if (_t42) goto L_02981AE8; else goto L_02981C9C; L_02981AE8: ; // 0x2981ae8 /* 02981AE8 */ _t43 = cpu->r[5] + 0x00000000u; /* 02981AE8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t43); /* 02981AEC */ _t44 = cpu->r[7] + 0x00000000u; /* 02981AEC */ rbrew_write_f32(cpu->mem, _t44, cpu->f[11]); /* 02981AF0 */ _t45 = cpu->r[5] + 0x00000004u; /* 02981AF0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t45); /* 02981AF4 */ _t46 = cpu->r[7] + 0x00000004u; /* 02981AF4 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[12]); /* 02981AF8 */ _t47 = cpu->r[5] + 0x00000008u; /* 02981AF8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t47); /* 02981AFC */ cpu->r[8] = cpu->r[8] + 0x00000004u; /* 02981B00 */ _t48 = cpu->r[7] + 0x00000008u; /* 02981B00 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]); /* 02981B04 */ _t49 = cpu->r[5] + 0x0000000Cu; /* 02981B04 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t49); /* 02981B08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]); /* 02981B0C */ _t50 = cpu->r[7] + 0x0000000Cu; /* 02981B0C */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]); /* 02981B10 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981B10 */ _t52 = _t51 & 0x00000001u; /* 02981B10 */ if (_t52) goto L_02981B14; else goto L_02981A00; L_02981B14: ; // 0x2981b14 /* 02981B14 */ goto L_02981CA8; L_02981B18: ; // 0x2981b18 /* 02981B18 */ /* nop */ /* 02981B1C */ /* nop */ /* 02981B20 */ _t53 = cpu->r[1] + 0x00000044u; /* 02981B20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53); /* 02981B24 */ cpu->f[10] = cpu->f[3] * cpu->f[4]; /* 02981B28 */ _t54 = cpu->r[1] + 0x00000048u; /* 02981B28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54); /* 02981B2C */ _t55 = cpu->r[1] + 0x00000014u; /* 02981B2C */ rbrew_write32(cpu->mem, _t55, cpu->r[9]); /* 02981B30 */ _t56 = cpu->r[1] + 0x0000004Cu; /* 02981B30 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[10]); /* 02981B34 */ _t57 = cpu->r[1] + 0x0000004Cu; /* 02981B34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t57); /* 02981B38 */ _t58 = cpu->r[1] + 0x00000018u; /* 02981B38 */ rbrew_write32(cpu->mem, _t58, cpu->r[10]); /* 02981B3C */ /* nop */ /* 02981B40 */ _t59 = cpu->r[1] + 0x0000001Cu; /* 02981B40 */ rbrew_write32(cpu->mem, _t59, cpu->r[11]); /* 02981B44 */ /* nop */ /* 02981B48 */ /* nop */ /* 02981B4C */ _t60 = cpu->r[1] + 0x0000001Cu; /* 02981B4C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t60); /* 02981B50 */ /* nop */ /* 02981B54 */ _t61 = cpu->r[7] + 0x00000008u; /* 02981B54 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t61); /* 02981B58 */ cpu->f[4] = cpu->f[4] + cpu->f[10]; /* 02981B5C */ _t62 = cpu->r[1] + 0x00000050u; /* 02981B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t62); /* 02981B60 */ _t63 = cpu->r[1] + 0x00000054u; /* 02981B60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63); /* 02981B64 */ _t64 = cpu->r[1] + 0x00000058u; /* 02981B64 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[4]); /* 02981B68 */ /* nop */ /* 02981B6C */ _t65 = cpu->r[1] + 0x00000020u; /* 02981B6C */ rbrew_write32(cpu->mem, _t65, cpu->r[11]); /* 02981B70 */ _t66 = cpu->r[1] + 0x00000020u; /* 02981B70 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t66); /* 02981B74 */ /* nop */ /* 02981B78 */ _t67 = cpu->r[1] + 0x0000005Cu; /* 02981B78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67); /* 02981B7C */ _t68 = cpu->r[1] + 0x00000010u; /* 02981B7C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t68); /* 02981B80 */ _t69 = cpu->r[1] + 0x00000024u; /* 02981B80 */ rbrew_write32(cpu->mem, _t69, cpu->r[12]); /* 02981B84 */ _t70 = cpu->r[1] + 0x00000024u; /* 02981B84 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t70); /* 02981B88 */ cpu->f[12] = cpu->f[10] * cpu->f[9]; /* 02981B8C */ _t71 = cpu->r[1] + 0x00000058u; /* 02981B8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t71); /* 02981B90 */ _t72 = cpu->r[1] + 0x00000020u; /* 02981B90 */ rbrew_write32(cpu->mem, _t72, cpu->r[10]); /* 02981B94 */ _t73 = cpu->r[1] + 0x00000064u; /* 02981B94 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[12]); /* 02981B98 */ _t74 = cpu->r[1] + 0x00000060u; /* 02981B98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74); /* 02981B9C */ _t75 = cpu->r[1] + 0x00000024u; /* 02981B9C */ rbrew_write32(cpu->mem, _t75, cpu->r[11]); /* 02981BA0 */ /* nop */ /* 02981BA4 */ _t76 = cpu->r[1] + 0x00000028u; /* 02981BA4 */ rbrew_write32(cpu->mem, _t76, cpu->r[12]); /* 02981BA8 */ _t77 = cpu->r[1] + 0x00000064u; /* 02981BA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77); /* 02981BAC */ _t78 = cpu->r[1] + 0x0000002Cu; /* 02981BAC */ rbrew_write_f32(cpu->mem, _t78, cpu->f[2]); /* 02981BB0 */ _t79 = cpu->r[1] + 0x00000028u; /* 02981BB0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t79); /* 02981BB4 */ _t80 = cpu->r[1] + 0x00000028u; /* 02981BB4 */ rbrew_write32(cpu->mem, _t80, cpu->r[12]); /* 02981BB8 */ _t81 = cpu->r[1] + 0x00000034u; /* 02981BB8 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[2]); /* 02981BBC */ _t82 = cpu->r[1] + 0x00000030u; /* 02981BBC */ rbrew_write_f32(cpu->mem, _t82, cpu->f[3]); /* 02981BC0 */ /* nop */ /* 02981BC4 */ /* nop */ /* 02981BC8 */ /* nop */ /* 02981BCC */ /* nop */ /* 02981BD0 */ _t83 = cpu->r[1] + 0x00000068u; /* 02981BD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t83); /* 02981BD4 */ _t84 = cpu->r[1] + 0x00000028u; /* 02981BD4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t84); /* 02981BD8 */ _t85 = cpu->r[5] + 0x00000008u; /* 02981BD8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t85); /* 02981BDC */ _t86 = cpu->r[1] + 0x00000014u; /* 02981BDC */ rbrew_write32(cpu->mem, _t86, cpu->r[10]); /* 02981BE0 */ _t87 = cpu->r[1] + 0x0000006Cu; /* 02981BE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t87); /* 02981BE4 */ cpu->f[12] = cpu->f[10] - cpu->f[12]; /* 02981BE8 */ _t88 = cpu->r[1] + 0x00000014u; /* 02981BE8 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t88); /* 02981BEC */ _t89 = cpu->r[1] + 0x00000070u; /* 02981BEC */ rbrew_write_f32(cpu->mem, _t89, cpu->f[12]); /* 02981BF0 */ _t90 = cpu->r[1] + 0x00000070u; /* 02981BF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90); /* 02981BF4 */ _t91 = cpu->r[1] + 0x00000018u; /* 02981BF4 */ rbrew_write32(cpu->mem, _t91, cpu->r[11]); /* 02981BF8 */ _t92 = cpu->r[1] + 0x00000018u; /* 02981BF8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t92); /* 02981BFC */ _t93 = cpu->r[1] + 0x0000001Cu; /* 02981BFC */ rbrew_write32(cpu->mem, _t93, cpu->r[12]); /* 02981C00 */ _t94 = cpu->r[1] + 0x0000001Cu; /* 02981C00 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t94); /* 02981C04 */ _t95 = cpu->r[1] + 0x00000038u; /* 02981C04 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[4]); /* 02981C08 */ cpu->f[12] = cpu->f[2] + cpu->f[3]; /* 02981C0C */ _t96 = cpu->r[1] + 0x0000003Cu; /* 02981C0C */ rbrew_write_f32(cpu->mem, _t96, cpu->f[10]); /* 02981C10 */ /* nop */ /* 02981C14 */ _t97 = cpu->r[1] + 0x0000007Cu; /* 02981C14 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[12]); /* 02981C18 */ /* nop */ /* 02981C1C */ _t98 = cpu->r[1] + 0x0000007Cu; /* 02981C1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t98); /* 02981C20 */ /* nop */ /* 02981C24 */ _t99 = cpu->r[1] + 0x00000074u; /* 02981C24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t99); /* 02981C28 */ _t100 = cpu->r[1] + 0x00000078u; /* 02981C28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100); /* 02981C2C */ _t101 = cpu->r[1] + 0x00000020u; /* 02981C2C */ rbrew_write32(cpu->mem, _t101, cpu->r[10]); /* 02981C30 */ _t102 = cpu->r[1] + 0x00000024u; /* 02981C30 */ rbrew_write32(cpu->mem, _t102, cpu->r[12]); /* 02981C34 */ /* nop */ /* 02981C38 */ _t103 = cpu->r[1] + 0x00000040u; /* 02981C38 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[3]); /* 02981C3C */ /* nop */ /* 02981C40 */ _t104 = cpu->r[1] + 0x00000028u; /* 02981C40 */ rbrew_write32(cpu->mem, _t104, cpu->r[11]); /* 02981C44 */ _t105 = cpu->r[1] + 0x00000028u; /* 02981C44 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t105); /* 02981C48 */ /* nop */ /* 02981C4C */ _t106 = cpu->r[1] + 0x00000084u; /* 02981C4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t106); /* 02981C50 */ cpu->f[12] = cpu->f[12] * cpu->f[5]; /* 02981C54 */ _t107 = cpu->r[1] + 0x00000080u; /* 02981C54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t107); /* 02981C58 */ _t108 = cpu->r[1] + 0x00000018u; /* 02981C58 */ rbrew_write32(cpu->mem, _t108, cpu->r[11]); /* 02981C5C */ _t109 = cpu->r[1] + 0x00000088u; /* 02981C5C */ rbrew_write_f32(cpu->mem, _t109, cpu->f[12]); /* 02981C60 */ _t110 = cpu->r[1] + 0x00000088u; /* 02981C60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t110); /* 02981C64 */ _t111 = cpu->r[1] + 0x00000014u; /* 02981C64 */ rbrew_write32(cpu->mem, _t111, cpu->r[10]); /* 02981C68 */ _t112 = cpu->r[1] + 0x00000014u; /* 02981C68 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t112); /* 02981C6C */ _t113 = cpu->r[1] + 0x0000001Cu; /* 02981C6C */ rbrew_write32(cpu->mem, _t113, cpu->r[12]); /* 02981C70 */ _t114 = cpu->r[7] + 0x00000000u; /* 02981C70 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[12]); /* 02981C74 */ _t115 = cpu->r[1] + 0x00000018u; /* 02981C74 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t115); /* 02981C78 */ _t116 = cpu->r[7] + 0x0000000Cu; /* 02981C78 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t116); /* 02981C7C */ _t117 = cpu->r[7] + 0x00000004u; /* 02981C7C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[10]); /* 02981C80 */ _t118 = cpu->r[1] + 0x0000001Cu; /* 02981C80 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t118); /* 02981C84 */ cpu->f[11] = cpu->f[11] + cpu->f[12]; /* 02981C88 */ _t119 = cpu->r[7] + 0x00000008u; /* 02981C88 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[10]); /* 02981C8C */ _t120 = cpu->r[5] + 0x0000000Cu; /* 02981C8C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t120); /* 02981C90 */ cpu->f[11] = cpu->f[11] + cpu->f[12]; /* 02981C94 */ cpu->f[12] = cpu->f[11] * cpu->f[5]; /* 02981C98 */ _t121 = cpu->r[7] + 0x0000000Cu; /* 02981C98 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[12]); L_02981C9C: ; // 0x2981c9c /* 02981C9C */ cpu->r[8] = cpu->r[8] + 0x00000004u; /* 02981CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]); /* 02981CA4 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981CA4 */ _t123 = _t122 & 0x00000001u; /* 02981CA4 */ if (_t123) goto L_02981CA8; else goto L_02981A00; L_02981CA8: ; // 0x2981ca8 /* 02981CA8 */ cpu->r[1] = cpu->r[1] + 0x00000090u; /* 02981CAC */ return; } // fn_02981CB0 @ 0x2981cb0 void Gambit_fn_02981CB0(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_02981CB0: ; // 0x2981cb0 /* 02981CB0 */ cpu->r[0] = cpu->lr; /* 02981CB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02981CB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981CB4 */ cpu->r[1] = _t0; /* 02981CB8 */ _t1 = cpu->r[1] + 0x00000008u; /* 02981CB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02981CBC */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02981CBC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02981CC0 */ cpu->r[30] = cpu->r[3]; /* 02981CC4 */ _t3 = cpu->r[1] + 0x00000014u; /* 02981CC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02981CC8 */ _t4 = cpu->r[30] + 0x000000A0u; /* 02981CC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02981CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02981CD0 */ cpu->r[31] = cpu->r[4]; /* 02981CD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981CD4 */ _t6 = _t5 & 0x00000001u; /* 02981CD4 */ if (_t6) goto L_02981CFC; else goto L_02981CD8; L_02981CD8: ; // 0x2981cd8 /* 02981CD8 */ _t7 = cpu->r[12] + 0x00000000u; /* 02981CD8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7); /* 02981CDC */ _t8 = cpu->r[31] + 0x00000000u; /* 02981CDC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]); /* 02981CE0 */ _t9 = cpu->r[12] + 0x00000004u; /* 02981CE0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9); /* 02981CE4 */ _t10 = cpu->r[31] + 0x00000004u; /* 02981CE4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]); /* 02981CE8 */ _t11 = cpu->r[12] + 0x00000008u; /* 02981CE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02981CEC */ _t12 = cpu->r[31] + 0x00000008u; /* 02981CEC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]); /* 02981CF0 */ _t13 = cpu->r[12] + 0x0000000Cu; /* 02981CF0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13); /* 02981CF4 */ _t14 = cpu->r[31] + 0x0000000Cu; /* 02981CF4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]); /* 02981CF8 */ goto L_02981D24; L_02981CFC: ; // 0x2981cfc /* 02981CFC */ cpu->r[3] = cpu->r[30]; /* 02981D00 */ Gambit_fn_029819CC(cpu); /* 02981D04 */ _t15 = cpu->r[30] + 0x00000090u; /* 02981D04 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15); /* 02981D08 */ _t16 = cpu->r[31] + 0x00000000u; /* 02981D08 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]); /* 02981D0C */ _t17 = cpu->r[30] + 0x00000094u; /* 02981D0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17); /* 02981D10 */ _t18 = cpu->r[31] + 0x00000004u; /* 02981D10 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]); /* 02981D14 */ _t19 = cpu->r[30] + 0x00000098u; /* 02981D14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19); /* 02981D18 */ _t20 = cpu->r[31] + 0x00000008u; /* 02981D18 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]); /* 02981D1C */ _t21 = cpu->r[30] + 0x0000009Cu; /* 02981D1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21); /* 02981D20 */ _t22 = cpu->r[31] + 0x0000000Cu; /* 02981D20 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]); L_02981D24: ; // 0x2981d24 /* 02981D24 */ _t23 = cpu->r[1] + 0x00000014u; /* 02981D24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 02981D28 */ _t24 = cpu->r[1] + 0x00000008u; /* 02981D28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 02981D2C */ cpu->lr = cpu->r[0]; /* 02981D30 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 02981D30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 02981D34 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02981D38 */ return; } // fn_02981CB4 @ 0x2981cb4 void Gambit_fn_02981CB4(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_02981CB4: ; // 0x2981cb4 /* 02981CB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02981CB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981CB4 */ cpu->r[1] = _t0; /* 02981CB8 */ _t1 = cpu->r[1] + 0x00000008u; /* 02981CB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02981CBC */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02981CBC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02981CC0 */ cpu->r[30] = cpu->r[3]; /* 02981CC4 */ _t3 = cpu->r[1] + 0x00000014u; /* 02981CC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02981CC8 */ _t4 = cpu->r[30] + 0x000000A0u; /* 02981CC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02981CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02981CD0 */ cpu->r[31] = cpu->r[4]; /* 02981CD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981CD4 */ _t6 = _t5 & 0x00000001u; /* 02981CD4 */ if (_t6) goto L_02981CFC; else goto L_02981CD8; L_02981CD8: ; // 0x2981cd8 /* 02981CD8 */ _t7 = cpu->r[12] + 0x00000000u; /* 02981CD8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7); /* 02981CDC */ _t8 = cpu->r[31] + 0x00000000u; /* 02981CDC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]); /* 02981CE0 */ _t9 = cpu->r[12] + 0x00000004u; /* 02981CE0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9); /* 02981CE4 */ _t10 = cpu->r[31] + 0x00000004u; /* 02981CE4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]); /* 02981CE8 */ _t11 = cpu->r[12] + 0x00000008u; /* 02981CE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02981CEC */ _t12 = cpu->r[31] + 0x00000008u; /* 02981CEC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]); /* 02981CF0 */ _t13 = cpu->r[12] + 0x0000000Cu; /* 02981CF0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13); /* 02981CF4 */ _t14 = cpu->r[31] + 0x0000000Cu; /* 02981CF4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]); /* 02981CF8 */ goto L_02981D24; L_02981CFC: ; // 0x2981cfc /* 02981CFC */ cpu->r[3] = cpu->r[30]; /* 02981D00 */ Gambit_fn_029819CC(cpu); /* 02981D04 */ _t15 = cpu->r[30] + 0x00000090u; /* 02981D04 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15); /* 02981D08 */ _t16 = cpu->r[31] + 0x00000000u; /* 02981D08 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]); /* 02981D0C */ _t17 = cpu->r[30] + 0x00000094u; /* 02981D0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17); /* 02981D10 */ _t18 = cpu->r[31] + 0x00000004u; /* 02981D10 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]); /* 02981D14 */ _t19 = cpu->r[30] + 0x00000098u; /* 02981D14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19); /* 02981D18 */ _t20 = cpu->r[31] + 0x00000008u; /* 02981D18 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]); /* 02981D1C */ _t21 = cpu->r[30] + 0x0000009Cu; /* 02981D1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21); /* 02981D20 */ _t22 = cpu->r[31] + 0x0000000Cu; /* 02981D20 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]); L_02981D24: ; // 0x2981d24 /* 02981D24 */ _t23 = cpu->r[1] + 0x00000014u; /* 02981D24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 02981D28 */ _t24 = cpu->r[1] + 0x00000008u; /* 02981D28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 02981D2C */ cpu->lr = cpu->r[0]; /* 02981D30 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 02981D30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 02981D34 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02981D38 */ return; } // fn_02981D3C @ 0x2981d3c void Gambit_fn_02981D3C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_02981D3C: ; // 0x2981d3c /* 02981D3C */ cpu->r[0] = cpu->lr; /* 02981D40 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02981D40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981D40 */ cpu->r[1] = _t0; /* 02981D44 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02981D44 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981D48 */ _t2 = cpu->r[1] + 0x00000010u; /* 02981D48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02981D4C */ _t3 = cpu->r[1] + 0x00000014u; /* 02981D4C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02981D50 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02981D50 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02981D54 */ cpu->r[29] = cpu->r[4]; /* 02981D58 */ _t5 = cpu->r[3] + 0x00000028u; /* 02981D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02981D5C */ _t6 = cpu->r[3] + 0x00000030u; /* 02981D5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 02981D60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02981D64 */ cpu->r[31] = cpu->r[30] + cpu->r[0]; /* 02981D68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02981D6C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981D6C */ _t8 = _t7 & 0x00000001u; /* 02981D6C */ if (_t8) goto L_02981D98; else goto L_02981D70; L_02981D70: ; // 0x2981d70 /* 02981D70 */ _t9 = cpu->r[30] + 0x00000000u; /* 02981D70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02981D74 */ _t10 = cpu->r[12] + 0x00000000u; /* 02981D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02981D78 */ _t11 = cpu->r[3] + 0x00000088u; /* 02981D78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 02981D7C */ _t12 = cpu->r[8] + 0x00000224u; /* 02981D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02981D80 */ cpu->ctr = cpu->r[0]; /* 02981D84 */ cpu->r[4] = cpu->r[29]; /* 02981D88 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02981D8C */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 02981D90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02981D94 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981D94 */ _t14 = _t13 & 0x00000001u; /* 02981D94 */ if (_t14) goto L_02981D98; else goto L_02981D70; L_02981D98: ; // 0x2981d98 /* 02981D98 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02981D98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15); /* 02981D9C */ _t16 = cpu->r[1] + 0x0000001Cu; /* 02981D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 02981DA0 */ _t17 = cpu->r[1] + 0x00000010u; /* 02981DA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 02981DA4 */ cpu->lr = cpu->r[0]; /* 02981DA8 */ _t18 = cpu->r[1] + 0x00000014u; /* 02981DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02981DAC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02981DB0 */ return; } // fn_02981D40 @ 0x2981d40 void Gambit_fn_02981D40(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_02981D40: ; // 0x2981d40 /* 02981D40 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02981D40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981D40 */ cpu->r[1] = _t0; /* 02981D44 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02981D44 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02981D48 */ _t2 = cpu->r[1] + 0x00000010u; /* 02981D48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02981D4C */ _t3 = cpu->r[1] + 0x00000014u; /* 02981D4C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02981D50 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02981D50 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02981D54 */ cpu->r[29] = cpu->r[4]; /* 02981D58 */ _t5 = cpu->r[3] + 0x00000028u; /* 02981D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02981D5C */ _t6 = cpu->r[3] + 0x00000030u; /* 02981D5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 02981D60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02981D64 */ cpu->r[31] = cpu->r[30] + cpu->r[0]; /* 02981D68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02981D6C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981D6C */ _t8 = _t7 & 0x00000001u; /* 02981D6C */ if (_t8) goto L_02981D98; else goto L_02981D70; L_02981D70: ; // 0x2981d70 /* 02981D70 */ _t9 = cpu->r[30] + 0x00000000u; /* 02981D70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02981D74 */ _t10 = cpu->r[12] + 0x00000000u; /* 02981D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02981D78 */ _t11 = cpu->r[3] + 0x00000088u; /* 02981D78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 02981D7C */ _t12 = cpu->r[8] + 0x00000224u; /* 02981D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02981D80 */ cpu->ctr = cpu->r[0]; /* 02981D84 */ cpu->r[4] = cpu->r[29]; /* 02981D88 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02981D8C */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 02981D90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02981D94 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981D94 */ _t14 = _t13 & 0x00000001u; /* 02981D94 */ if (_t14) goto L_02981D98; else goto L_02981D70; L_02981D98: ; // 0x2981d98 /* 02981D98 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02981D98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15); /* 02981D9C */ _t16 = cpu->r[1] + 0x0000001Cu; /* 02981D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 02981DA0 */ _t17 = cpu->r[1] + 0x00000010u; /* 02981DA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 02981DA4 */ cpu->lr = cpu->r[0]; /* 02981DA8 */ _t18 = cpu->r[1] + 0x00000014u; /* 02981DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02981DAC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02981DB0 */ return; } // fn_02981DB4 @ 0x2981db4 void Gambit_fn_02981DB4(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_02981DB4: ; // 0x2981db4 /* 02981DB4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 02981DB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981DB4 */ cpu->r[1] = _t0; /* 02981DB8 */ /* nop */ /* 02981DBC */ cpu->r[0] = cpu->lr; /* 02981DC0 */ _t1 = cpu->r[1] + 0x00000020u; /* 02981DC0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02981DC4 */ _t2 = cpu->r[1] + 0x00000034u; /* 02981DC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02981DC8 */ /* nop */ /* 02981DCC */ _t3 = cpu->r[1] + 0x00000028u; /* 02981DCC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 02981DD0 */ _t4 = cpu->r[3] + 0x0000001Cu; /* 02981DD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 02981DD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]); /* 02981DD8 */ cpu->r[12] = 0x00000000u; /* 02981DDC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981DDC */ _t6 = _t5 & 0x00000001u; /* 02981DDC */ if (_t6) goto L_02981DE0; else goto L_02981DEC; L_02981DE0: ; // 0x2981de0 /* 02981DE0 */ _t7 = cpu->r[3] + 0x00000024u; /* 02981DE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 02981DE4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02981DE8 */ _t8 = cpu->r[11] + cpu->r[12]; /* 02981DE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); L_02981DEC: ; // 0x2981dec /* 02981DEC */ _t9 = cpu->r[12] + 0x00000014u; /* 02981DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02981DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02981DF4 */ cpu->r[11] = cpu->r[12] + 0x0000000Cu; /* 02981DF8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u); /* 02981DF8 */ _t11 = _t10 & 0x00000001u; /* 02981DF8 */ if (_t11) goto L_02981DFC; else goto L_02981E78; L_02981DFC: ; // 0x2981dfc /* 02981DFC */ _t12 = cpu->r[3] + 0x000000B8u; /* 02981DFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12); /* 02981E00 */ cpu->r[7] = 0x00000000u; /* 02981E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]); /* 02981E08 */ _t13 = cpu->r[9] + 0x00004CBCu; /* 02981E08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13); /* 02981E0C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981E0C */ _t15 = _t14 & 0x00000001u; /* 02981E0C */ if (_t15) goto L_02981E10; else goto L_02981E1C; L_02981E10: ; // 0x2981e10 /* 02981E10 */ _t16 = cpu->r[3] + 0x00000024u; /* 02981E10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16); /* 02981E14 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02981E18 */ _t17 = cpu->r[6] + cpu->r[7]; /* 02981E18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17); L_02981E1C: ; // 0x2981e1c /* 02981E1C */ _t18 = cpu->r[7] + 0x00000000u; /* 02981E1C */ cpu->r[27] = rbrew_read32(cpu->mem, _t18); /* 02981E20 */ _t19 = cpu->r[11] + 0x00000004u; /* 02981E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02981E24 */ _t20 = cpu->r[11] + 0x0000000Cu; /* 02981E24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 02981E28 */ _t21 = cpu->r[9] + 0x00004FBCu; /* 02981E28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 02981E2C */ cpu->r[31] = cpu->r[0] - cpu->r[30]; /* 02981E30 */ _t22 = cpu->r[27] + 0x0000000Au; /* 02981E30 */ cpu->r[10] = rbrew_read16(cpu->mem, _t22); /* 02981E34 */ cpu->r[29] = cpu->r[11] - cpu->r[30]; /* 02981E38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02981E3C */ cpu->r[28] = cpu->r[8] & cpu->r[10]; /* 02981E40 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981E40 */ _t24 = _t23 & 0x00000001u; /* 02981E40 */ if (_t24) goto L_02981E78; else goto L_02981E44; L_02981E44: ; // 0x2981e44 /* 02981E44 */ _t25 = cpu->r[31] + 0x00000008u; /* 02981E44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25); /* 02981E48 */ _t26 = cpu->r[12] + 0x0000000Cu; /* 02981E48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26); /* 02981E4C */ cpu->ctr = cpu->r[6]; /* 02981E50 */ cpu->r[4] = cpu->r[27]; /* 02981E54 */ cpu->r[5] = cpu->r[28]; /* 02981E58 */ cpu->r[3] = cpu->r[31]; /* 02981E5C */ cpu->f[1] = cpu->f[31]; /* 02981E60 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02981E64 */ cpu->r[9] = cpu->r[31] + cpu->r[30]; /* 02981E68 */ _t27 = cpu->r[9] + 0x00000004u; /* 02981E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 02981E6C */ cpu->r[31] = cpu->r[0] - cpu->r[30]; /* 02981E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02981E74 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981E74 */ _t29 = _t28 & 0x00000001u; /* 02981E74 */ if (_t29) goto L_02981E78; else goto L_02981E44; L_02981E78: ; // 0x2981e78 /* 02981E78 */ /* nop */ /* 02981E7C */ _t30 = cpu->r[1] + 0x00000028u; /* 02981E7C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t30); /* 02981E80 */ _t31 = cpu->r[1] + 0x00000020u; /* 02981E80 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t31); /* 02981E84 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981E84 */ _t33 = _t32 & 0x00000001u; /* 02981E84 */ if (_t33) goto L_02981E88; // else: addr-0 trap, fall-through L_02981E88: ; // 0x2981e88 /* 02981E88 */ _t34 = cpu->r[1] + 0x00000034u; /* 02981E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 02981E8C */ cpu->lr = cpu->r[0]; /* 02981E90 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02981E94 */ return; } // fn_02981E98 @ 0x2981e98 void Gambit_fn_02981E98(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02981E98: ; // 0x2981e98 /* 02981E98 */ cpu->r[0] = cpu->lr; /* 02981E9C */ _t0 = cpu->r[1] + 0x00000004u; /* 02981E9C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02981EA0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02981EA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02981EA0 */ cpu->r[1] = _t1; /* 02981EA4 */ _t2 = cpu->r[3] + 0x0000001Cu; /* 02981EA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 02981EA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]); /* 02981EAC */ cpu->r[12] = 0x00000000u; /* 02981EB0 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981EB0 */ _t4 = _t3 & 0x00000001u; /* 02981EB0 */ if (_t4) goto L_02981EB4; else goto L_02981EC0; L_02981EB4: ; // 0x2981eb4 /* 02981EB4 */ _t5 = cpu->r[3] + 0x00000024u; /* 02981EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02981EB8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02981EBC */ _t6 = cpu->r[11] + cpu->r[0]; /* 02981EBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); L_02981EC0: ; // 0x2981ec0 /* 02981EC0 */ _t7 = cpu->r[12] + 0x00000018u; /* 02981EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02981EC4 */ cpu->r[3] = cpu->r[12] + 0x0000000Cu; /* 02981EC8 */ cpu->r[4] = cpu->r[5] + cpu->r[0]; /* 02981ECC */ Gambit_fn_02802290(cpu); /* 02981ED0 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02981ED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02981ED4 */ _t9 = cpu->r[3] | cpu->r[3]; /* 02981ED4 */ cpu->r[10] = ~_t9; /* 02981ED8 */ cpu->lr = cpu->r[0]; /* 02981EDC */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFFu; /* 02981EE0 */ cpu->r[3] = cpu->r[10] - cpu->r[12]; /* 02981EE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02981EE8 */ return; } // fn_02981EA0 @ 0x2981ea0 void Gambit_fn_02981EA0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02981EA0: ; // 0x2981ea0 /* 02981EA0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02981EA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981EA0 */ cpu->r[1] = _t0; /* 02981EA4 */ _t1 = cpu->r[3] + 0x0000001Cu; /* 02981EA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 02981EA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]); /* 02981EAC */ cpu->r[12] = 0x00000000u; /* 02981EB0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981EB0 */ _t3 = _t2 & 0x00000001u; /* 02981EB0 */ if (_t3) goto L_02981EB4; else goto L_02981EC0; L_02981EB4: ; // 0x2981eb4 /* 02981EB4 */ _t4 = cpu->r[3] + 0x00000024u; /* 02981EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02981EB8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02981EBC */ _t5 = cpu->r[11] + cpu->r[0]; /* 02981EBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); L_02981EC0: ; // 0x2981ec0 /* 02981EC0 */ _t6 = cpu->r[12] + 0x00000018u; /* 02981EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02981EC4 */ cpu->r[3] = cpu->r[12] + 0x0000000Cu; /* 02981EC8 */ cpu->r[4] = cpu->r[5] + cpu->r[0]; /* 02981ECC */ Gambit_fn_02802290(cpu); /* 02981ED0 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02981ED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02981ED4 */ _t8 = cpu->r[3] | cpu->r[3]; /* 02981ED4 */ cpu->r[10] = ~_t8; /* 02981ED8 */ cpu->lr = cpu->r[0]; /* 02981EDC */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFFu; /* 02981EE0 */ cpu->r[3] = cpu->r[10] - cpu->r[12]; /* 02981EE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02981EE8 */ return; } // fn_02981EEC @ 0x2981eec void Gambit_fn_02981EEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02981EEC: ; // 0x2981eec /* 02981EEC */ cpu->r[0] = cpu->lr; /* 02981EF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02981EF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981EF0 */ cpu->r[1] = _t0; /* 02981EF4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02981EF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02981EF8 */ _t2 = cpu->r[1] + 0x00000014u; /* 02981EF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02981EFC */ _t3 = cpu->r[3] + 0x0000001Cu; /* 02981EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02981F00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 02981F04 */ cpu->r[31] = 0x00000000u; /* 02981F08 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981F08 */ _t5 = _t4 & 0x00000001u; /* 02981F08 */ if (_t5) goto L_02981F0C; else goto L_02981F18; L_02981F0C: ; // 0x2981f0c /* 02981F0C */ _t6 = cpu->r[3] + 0x00000024u; /* 02981F0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02981F10 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02981F14 */ _t7 = cpu->r[12] + cpu->r[0]; /* 02981F14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); L_02981F18: ; // 0x2981f18 /* 02981F18 */ _t8 = cpu->r[31] + 0x00000018u; /* 02981F18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 02981F1C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu; /* 02981F20 */ cpu->r[4] = cpu->r[5] + cpu->r[11]; /* 02981F24 */ Gambit_fn_02801EBC(cpu); /* 02981F28 */ _t9 = cpu->r[31] + 0x00000014u; /* 02981F28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02981F2C */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 02981F30 */ _t10 = cpu->r[31] + 0x00000014u; /* 02981F30 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 02981F34 */ _t11 = cpu->r[1] + 0x00000014u; /* 02981F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02981F38 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 02981F38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02981F3C */ cpu->lr = cpu->r[0]; /* 02981F40 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02981F44 */ return; } // fn_02981EF0 @ 0x2981ef0 void Gambit_fn_02981EF0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02981EF0: ; // 0x2981ef0 /* 02981EF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02981EF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981EF0 */ cpu->r[1] = _t0; /* 02981EF4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02981EF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02981EF8 */ _t2 = cpu->r[1] + 0x00000014u; /* 02981EF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02981EFC */ _t3 = cpu->r[3] + 0x0000001Cu; /* 02981EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02981F00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 02981F04 */ cpu->r[31] = 0x00000000u; /* 02981F08 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981F08 */ _t5 = _t4 & 0x00000001u; /* 02981F08 */ if (_t5) goto L_02981F0C; else goto L_02981F18; L_02981F0C: ; // 0x2981f0c /* 02981F0C */ _t6 = cpu->r[3] + 0x00000024u; /* 02981F0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02981F10 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02981F14 */ _t7 = cpu->r[12] + cpu->r[0]; /* 02981F14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); L_02981F18: ; // 0x2981f18 /* 02981F18 */ _t8 = cpu->r[31] + 0x00000018u; /* 02981F18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 02981F1C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu; /* 02981F20 */ cpu->r[4] = cpu->r[5] + cpu->r[11]; /* 02981F24 */ Gambit_fn_02801EBC(cpu); /* 02981F28 */ _t9 = cpu->r[31] + 0x00000014u; /* 02981F28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02981F2C */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 02981F30 */ _t10 = cpu->r[31] + 0x00000014u; /* 02981F30 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 02981F34 */ _t11 = cpu->r[1] + 0x00000014u; /* 02981F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02981F38 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 02981F38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02981F3C */ cpu->lr = cpu->r[0]; /* 02981F40 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02981F44 */ return; } // fn_02981F48 @ 0x2981f48 void Gambit_fn_02981F48(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02981F48: ; // 0x2981f48 /* 02981F48 */ cpu->r[0] = cpu->lr; /* 02981F4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02981F4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981F4C */ cpu->r[1] = _t0; /* 02981F50 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02981F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02981F54 */ _t2 = cpu->r[1] + 0x00000014u; /* 02981F54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02981F58 */ _t3 = cpu->r[3] + 0x0000001Cu; /* 02981F58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02981F5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 02981F60 */ cpu->r[31] = 0x00000000u; /* 02981F64 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981F64 */ _t5 = _t4 & 0x00000001u; /* 02981F64 */ if (_t5) goto L_02981F68; else goto L_02981F74; L_02981F68: ; // 0x2981f68 /* 02981F68 */ _t6 = cpu->r[3] + 0x00000024u; /* 02981F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02981F6C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02981F70 */ _t7 = cpu->r[12] + cpu->r[0]; /* 02981F70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); L_02981F74: ; // 0x2981f74 /* 02981F74 */ _t8 = cpu->r[31] + 0x00000018u; /* 02981F74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 02981F78 */ cpu->r[3] = cpu->r[5] + cpu->r[10]; /* 02981F7C */ Gambit_fn_02801EDC(cpu); /* 02981F80 */ _t9 = cpu->r[31] + 0x00000014u; /* 02981F80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 02981F84 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 02981F88 */ _t10 = cpu->r[31] + 0x00000014u; /* 02981F88 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]); /* 02981F8C */ _t11 = cpu->r[1] + 0x00000014u; /* 02981F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02981F90 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 02981F90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02981F94 */ cpu->lr = cpu->r[0]; /* 02981F98 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02981F9C */ cpu->r[3] = 0x00000001u; /* 02981FA0 */ return; } // fn_02981F4C @ 0x2981f4c void Gambit_fn_02981F4C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02981F4C: ; // 0x2981f4c /* 02981F4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02981F4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981F4C */ cpu->r[1] = _t0; /* 02981F50 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02981F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02981F54 */ _t2 = cpu->r[1] + 0x00000014u; /* 02981F54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02981F58 */ _t3 = cpu->r[3] + 0x0000001Cu; /* 02981F58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02981F5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 02981F60 */ cpu->r[31] = 0x00000000u; /* 02981F64 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 02981F64 */ _t5 = _t4 & 0x00000001u; /* 02981F64 */ if (_t5) goto L_02981F68; else goto L_02981F74; L_02981F68: ; // 0x2981f68 /* 02981F68 */ _t6 = cpu->r[3] + 0x00000024u; /* 02981F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02981F6C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02981F70 */ _t7 = cpu->r[12] + cpu->r[0]; /* 02981F70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); L_02981F74: ; // 0x2981f74 /* 02981F74 */ _t8 = cpu->r[31] + 0x00000018u; /* 02981F74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 02981F78 */ cpu->r[3] = cpu->r[5] + cpu->r[10]; /* 02981F7C */ Gambit_fn_02801EDC(cpu); /* 02981F80 */ _t9 = cpu->r[31] + 0x00000014u; /* 02981F80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 02981F84 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 02981F88 */ _t10 = cpu->r[31] + 0x00000014u; /* 02981F88 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]); /* 02981F8C */ _t11 = cpu->r[1] + 0x00000014u; /* 02981F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02981F90 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 02981F90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02981F94 */ cpu->lr = cpu->r[0]; /* 02981F98 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02981F9C */ cpu->r[3] = 0x00000001u; /* 02981FA0 */ return; } // fn_02981FA4 @ 0x2981fa4 void Gambit_fn_02981FA4(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; L_0297F178: ; // 0x297f178 /* 0297F178 */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 0297F178 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0297F178 */ cpu->r[1] = _t0; /* 0297F17C */ /* nop */ /* 0297F180 */ cpu->r[0] = cpu->lr; /* 0297F184 */ _t1 = cpu->r[1] + 0x00000044u; /* 0297F184 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0297F188 */ cpu->r[27] = cpu->r[4]; /* 0297F18C */ _t2 = cpu->r[27] + 0x00000158u; /* 0297F18C */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 0297F190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0297F194 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297F194 */ _t4 = _t3 & 0x00000001u; /* 0297F194 */ if (_t4) goto L_0297F2D4; else goto L_0297F198; L_0297F198: ; // 0x297f198 /* 0297F198 */ _t5 = cpu->r[3] + 0x00000014u; /* 0297F198 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 0297F19C */ _t6 = cpu->r[3] + 0x00000080u; /* 0297F19C */ cpu->r[7] = rbrew_read16(cpu->mem, _t6); /* 0297F1A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[6]); /* 0297F1A4 */ _t7 = cpu->r[3] + 0x00000018u; /* 0297F1A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0297F1A8 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u); /* 0297F1A8 */ _t9 = _t8 & 0x00000001u; /* 0297F1A8 */ if (_t9) goto L_0297F1C4; else goto L_0297F1AC; L_0297F1AC: ; // 0x297f1ac /* 0297F1AC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000001Cu); /* 0297F1B0 */ cpu->r[30] = cpu->r[31] + cpu->r[10]; /* 0297F1B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0297F1B8 */ _t10 = cpu->r[1] + 0x00000010u; /* 0297F1B8 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 0297F1BC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297F1BC */ _t12 = _t11 & 0x00000001u; /* 0297F1BC */ if (_t12) goto L_0297F2D4; else goto L_0297F1C0; L_0297F1C0: ; // 0x297f1c0 /* 0297F1C0 */ goto L_0297F1D8; L_0297F1C4: ; // 0x297f1c4 /* 0297F1C4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 0297F1C8 */ cpu->r[30] = cpu->r[31] + cpu->r[0]; /* 0297F1CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0297F1D0 */ _t13 = cpu->r[1] + 0x00000010u; /* 0297F1D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 0297F1D4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297F1D4 */ _t15 = _t14 & 0x00000001u; /* 0297F1D4 */ if (_t15) goto L_0297F2D4; else goto L_0297F1D8; L_0297F1D8: ; // 0x297f1d8 /* 0297F1D8 */ _t16 = cpu->r[31] + 0x00000000u; /* 0297F1D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 0297F1DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[3]); /* 0297F1E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297F1E0 */ _t18 = _t17 & 0x00000001u; /* 0297F1E0 */ if (_t18) goto L_0297F2C8; else goto L_0297F1E4; L_0297F1E4: ; // 0x297f1e4 /* 0297F1E4 */ _t19 = cpu->r[3] + 0x00000088u; /* 0297F1E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 0297F1E8 */ _t20 = cpu->r[12] + 0x000000B4u; /* 0297F1E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20); /* 0297F1EC */ cpu->ctr = cpu->r[5]; /* 0297F1F0 */ cpu->r[29] = cpu->r[3]; /* 0297F1F4 */ cpu->r[26] = 0x00000000u; /* 0297F1F8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0297F1FC */ cpu->r[28] = cpu->r[3]; /* 0297F1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0297F200 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u); /* 0297F200 */ _t22 = _t21 & 0x00000001u; /* 0297F200 */ if (_t22) goto L_0297F204; else goto L_0297F2C8; L_0297F204: ; // 0x297f204 /* 0297F204 */ cpu->r[23] = 0x10150000u; /* 0297F208 */ cpu->r[25] = 0x10150000u; /* 0297F20C */ cpu->r[24] = 0x10150000u; /* 0297F210 */ cpu->r[23] = cpu->r[23] + 0xFFFFEBC8u; /* 0297F214 */ cpu->r[25] = cpu->r[25] + 0xFFFFECB8u; /* 0297F218 */ cpu->r[24] = cpu->r[24] + 0xFFFFECD0u; L_0297F21C: ; // 0x297f21c /* 0297F21C */ _t23 = cpu->r[29] + 0x00000088u; /* 0297F21C */ cpu->r[4] = rbrew_read32(cpu->mem, _t23); /* 0297F220 */ _t24 = cpu->r[1] + 0x00000008u; /* 0297F220 */ rbrew_write32(cpu->mem, _t24, cpu->r[24]); /* 0297F224 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0297F224 */ rbrew_write32(cpu->mem, _t25, cpu->r[23]); /* 0297F228 */ _t26 = cpu->r[4] + 0x000000CCu; /* 0297F228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 0297F22C */ cpu->ctr = cpu->r[0]; /* 0297F230 */ cpu->r[4] = cpu->r[26]; /* 0297F234 */ cpu->r[3] = cpu->r[29]; /* 0297F238 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0297F23C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0297F240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu); /* 0297F244 */ cpu->r[5] = cpu->r[3]; /* 0297F248 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297F248 */ _t28 = _t27 & 0x00000001u; /* 0297F248 */ if (_t28) goto L_0297F26C; else goto L_0297F24C; L_0297F24C: ; // 0x297f24c /* 0297F24C */ _t29 = cpu->r[29] + 0x00000088u; /* 0297F24C */ cpu->r[7] = rbrew_read32(cpu->mem, _t29); /* 0297F250 */ _t30 = cpu->r[7] + 0x00000164u; /* 0297F250 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30); /* 0297F254 */ cpu->ctr = cpu->r[8]; /* 0297F258 */ _t31 = cpu->r[27] + 0x00000158u; /* 0297F258 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 0297F25C */ cpu->r[6] = cpu->r[12] + 0x00000068u; /* 0297F260 */ cpu->r[4] = cpu->r[26]; /* 0297F264 */ cpu->r[3] = cpu->r[29]; /* 0297F268 */ rbrew_call_indirect(cpu, cpu->ctr); L_0297F26C: ; // 0x297f26c /* 0297F26C */ _t32 = cpu->r[29] + 0x00000088u; /* 0297F26C */ cpu->r[9] = rbrew_read32(cpu->mem, _t32); /* 0297F270 */ _t33 = cpu->r[1] + 0x00000008u; /* 0297F270 */ rbrew_write32(cpu->mem, _t33, cpu->r[25]); /* 0297F274 */ _t34 = cpu->r[1] + 0x0000000Cu; /* 0297F274 */ rbrew_write32(cpu->mem, _t34, cpu->r[23]); /* 0297F278 */ _t35 = cpu->r[9] + 0x000000CCu; /* 0297F278 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35); /* 0297F27C */ cpu->ctr = cpu->r[10]; /* 0297F280 */ cpu->r[3] = cpu->r[29]; /* 0297F284 */ cpu->r[4] = cpu->r[26]; /* 0297F288 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0297F28C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0297F290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu); /* 0297F294 */ cpu->r[5] = cpu->r[3]; /* 0297F298 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297F298 */ _t37 = _t36 & 0x00000001u; /* 0297F298 */ if (_t37) goto L_0297F2BC; else goto L_0297F29C; L_0297F29C: ; // 0x297f29c /* 0297F29C */ _t38 = cpu->r[29] + 0x00000088u; /* 0297F29C */ cpu->r[11] = rbrew_read32(cpu->mem, _t38); /* 0297F2A0 */ _t39 = cpu->r[11] + 0x00000164u; /* 0297F2A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39); /* 0297F2A4 */ cpu->ctr = cpu->r[12]; /* 0297F2A8 */ _t40 = cpu->r[27] + 0x00000158u; /* 0297F2A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40); /* 0297F2AC */ cpu->r[6] = cpu->r[8] + 0x00000078u; /* 0297F2B0 */ cpu->r[4] = cpu->r[26]; /* 0297F2B4 */ cpu->r[3] = cpu->r[29]; /* 0297F2B8 */ rbrew_call_indirect(cpu, cpu->ctr); L_0297F2BC: ; // 0x297f2bc /* 0297F2BC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 0297F2BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0297F2C0 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0297F2C4 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297F2C4 */ _t42 = _t41 & 0x00000001u; /* 0297F2C4 */ if (_t42) goto L_0297F2C8; else goto L_0297F21C; L_0297F2C8: ; // 0x297f2c8 /* 0297F2C8 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 0297F2CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 0297F2D0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0297F2D0 */ _t44 = _t43 & 0x00000001u; /* 0297F2D0 */ if (_t44) goto L_0297F2D4; else goto L_0297F1D8; L_0297F2D4: ; // 0x297f2d4 /* 0297F2D4 */ /* nop */ /* 0297F2D8 */ _t45 = cpu->r[1] + 0x00000044u; /* 0297F2D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 0297F2DC */ cpu->lr = cpu->r[0]; /* 0297F2E0 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 0297F2E4 */ return; L_02981FA4: ; // 0x2981fa4 /* 02981FA4 */ goto L_0297F178; } // fn_02981FA8 @ 0x2981fa8 void Gambit_fn_02981FA8(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_02981FA8: ; // 0x2981fa8 /* 02981FA8 */ cpu->r[0] = cpu->lr; /* 02981FAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02981FAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981FAC */ cpu->r[1] = _t0; /* 02981FB0 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981FB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02981FB4 */ cpu->r[31] = cpu->r[3]; /* 02981FB8 */ _t2 = cpu->r[1] + 0x00000010u; /* 02981FB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02981FBC */ cpu->r[30] = cpu->r[31] + 0x000000E0u; /* 02981FC0 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02981FC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02981FC4 */ cpu->r[3] = cpu->r[30]; /* 02981FC8 */ _t4 = cpu->r[1] + 0x00000008u; /* 02981FC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]); /* 02981FCC */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02981FCC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02981FD0 */ Gambit_fn_02836FFC(cpu); /* 02981FD4 */ _t6 = cpu->r[31] + 0x00000128u; /* 02981FD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 02981FD8 */ _t7 = cpu->r[31] + 0x00000120u; /* 02981FD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 02981FDC */ cpu->r[31] = cpu->r[31] + 0x0000011Cu; /* 02981FE0 */ cpu->r[0] = cpu->r[31] - cpu->r[29]; /* 02981FE4 */ cpu->r[3] = cpu->r[12] - cpu->r[29]; /* 02981FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 02981FEC */ _t8 = cpu->r[12] + 0x00000004u; /* 02981FEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t8); /* 02981FF0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981FF0 */ _t10 = _t9 & 0x00000001u; /* 02981FF0 */ if (_t10) goto L_02982010; else goto L_02981FF4; L_02981FF4: ; // 0x2981ff4 /* 02981FF4 */ Gambit_fn_02982654(cpu); /* 02981FF8 */ _t11 = cpu->r[31] + 0x0000000Cu; /* 02981FF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 02981FFC */ cpu->r[3] = cpu->r[28] - cpu->r[29]; /* 02982000 */ cpu->r[0] = cpu->r[31] - cpu->r[10]; /* 02982004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 02982008 */ _t12 = cpu->r[28] + 0x00000004u; /* 02982008 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12); /* 0298200C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298200C */ _t14 = _t13 & 0x00000001u; /* 0298200C */ if (_t14) goto L_02982010; else goto L_02981FF4; L_02982010: ; // 0x2982010 /* 02982010 */ cpu->r[3] = cpu->r[30]; /* 02982014 */ Gambit_fn_02837030(cpu); /* 02982018 */ _t15 = cpu->r[1] + 0x00000008u; /* 02982018 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 0298201C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0298201C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 02982020 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 02982020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02982024 */ _t18 = cpu->r[1] + 0x00000010u; /* 02982024 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 02982028 */ cpu->lr = cpu->r[0]; /* 0298202C */ _t19 = cpu->r[1] + 0x00000014u; /* 0298202C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 02982030 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02982034 */ return; } // fn_02981FAC @ 0x2981fac void Gambit_fn_02981FAC(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_02981FAC: ; // 0x2981fac /* 02981FAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02981FAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02981FAC */ cpu->r[1] = _t0; /* 02981FB0 */ _t1 = cpu->r[1] + 0x00000014u; /* 02981FB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02981FB4 */ cpu->r[31] = cpu->r[3]; /* 02981FB8 */ _t2 = cpu->r[1] + 0x00000010u; /* 02981FB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02981FBC */ cpu->r[30] = cpu->r[31] + 0x000000E0u; /* 02981FC0 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02981FC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02981FC4 */ cpu->r[3] = cpu->r[30]; /* 02981FC8 */ _t4 = cpu->r[1] + 0x00000008u; /* 02981FC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]); /* 02981FCC */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02981FCC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02981FD0 */ Gambit_fn_02836FFC(cpu); /* 02981FD4 */ _t6 = cpu->r[31] + 0x00000128u; /* 02981FD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 02981FD8 */ _t7 = cpu->r[31] + 0x00000120u; /* 02981FD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 02981FDC */ cpu->r[31] = cpu->r[31] + 0x0000011Cu; /* 02981FE0 */ cpu->r[0] = cpu->r[31] - cpu->r[29]; /* 02981FE4 */ cpu->r[3] = cpu->r[12] - cpu->r[29]; /* 02981FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 02981FEC */ _t8 = cpu->r[12] + 0x00000004u; /* 02981FEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t8); /* 02981FF0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02981FF0 */ _t10 = _t9 & 0x00000001u; /* 02981FF0 */ if (_t10) goto L_02982010; else goto L_02981FF4; L_02981FF4: ; // 0x2981ff4 /* 02981FF4 */ Gambit_fn_02982654(cpu); /* 02981FF8 */ _t11 = cpu->r[31] + 0x0000000Cu; /* 02981FF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 02981FFC */ cpu->r[3] = cpu->r[28] - cpu->r[29]; /* 02982000 */ cpu->r[0] = cpu->r[31] - cpu->r[10]; /* 02982004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 02982008 */ _t12 = cpu->r[28] + 0x00000004u; /* 02982008 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12); /* 0298200C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298200C */ _t14 = _t13 & 0x00000001u; /* 0298200C */ if (_t14) goto L_02982010; else goto L_02981FF4; L_02982010: ; // 0x2982010 /* 02982010 */ cpu->r[3] = cpu->r[30]; /* 02982014 */ Gambit_fn_02837030(cpu); /* 02982018 */ _t15 = cpu->r[1] + 0x00000008u; /* 02982018 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 0298201C */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0298201C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 02982020 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 02982020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02982024 */ _t18 = cpu->r[1] + 0x00000010u; /* 02982024 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 02982028 */ cpu->lr = cpu->r[0]; /* 0298202C */ _t19 = cpu->r[1] + 0x00000014u; /* 0298202C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 02982030 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02982034 */ return; } // fn_02982038 @ 0x2982038 void Gambit_fn_02982038(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; L_02982038: ; // 0x2982038 /* 02982038 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 02982038 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02982038 */ cpu->r[1] = _t0; /* 0298203C */ cpu->r[0] = cpu->lr; /* 02982040 */ /* nop */ /* 02982044 */ cpu->r[27] = cpu->r[3]; /* 02982044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02982048 */ cpu->r[28] = cpu->r[4]; /* 0298204C */ _t1 = cpu->r[1] + 0x0000003Cu; /* 0298204C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02982050 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982050 */ _t3 = _t2 & 0x00000001u; /* 02982050 */ if (_t3) goto L_02982290; else goto L_02982054; L_02982054: ; // 0x2982054 /* 02982054 */ cpu->r[8] = 0x10150000u; /* 02982058 */ cpu->r[11] = 0x10150000u; /* 0298205C */ cpu->r[8] = cpu->r[8] + 0xFFFFECF0u; /* 02982060 */ cpu->r[11] = cpu->r[11] + 0xFFFFED00u; /* 02982064 */ _t4 = cpu->r[27] + 0x0000000Cu; /* 02982064 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]); /* 02982068 */ cpu->r[3] = 0x101D0000u; /* 0298206C */ _t5 = cpu->r[27] + 0x00000010u; /* 0298206C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 02982070 */ _t6 = cpu->r[3] + 0xFFFFA6B0u; /* 02982070 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 02982074 */ cpu->r[4] = cpu->r[27]; /* 02982078 */ Gambit_fn_0298FFD4(cpu); /* 0298207C */ cpu->r[26] = 0x00000000u; /* 02982080 */ cpu->r[3] = cpu->r[27]; /* 02982084 */ cpu->r[4] = cpu->r[26]; /* 02982088 */ Gambit_fn_0297FD44(cpu); /* 0298208C */ _t7 = cpu->r[27] + 0x000000A4u; /* 0298208C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 02982090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982094 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982094 */ _t9 = _t8 & 0x00000001u; /* 02982094 */ if (_t9) goto L_0298209C; else goto L_02982098; L_02982098: ; // 0x2982098 /* 02982098 */ Gambit_fn_02984BFC(cpu); L_0298209C: ; // 0x298209c /* 0298209C */ _t10 = cpu->r[27] + 0x00000014u; /* 0298209C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 029820A0 */ _t11 = cpu->r[27] + 0x00000080u; /* 029820A0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t11); /* 029820A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]); /* 029820A8 */ _t12 = cpu->r[27] + 0x00000018u; /* 029820A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 029820AC */ _t13 = cpu->cr[0] >> (0x00000002u & 31u); /* 029820AC */ _t14 = _t13 & 0x00000001u; /* 029820AC */ if (_t14) goto L_029820C8; else goto L_029820B0; L_029820B0: ; // 0x29820b0 /* 029820B0 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000001Cu); /* 029820B4 */ cpu->r[30] = cpu->r[31] + cpu->r[6]; /* 029820B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029820BC */ _t15 = cpu->r[1] + 0x00000008u; /* 029820BC */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); /* 029820C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 029820C0 */ _t17 = _t16 & 0x00000001u; /* 029820C0 */ if (_t17) goto L_02982184; else goto L_029820C4; L_029820C4: ; // 0x29820c4 /* 029820C4 */ goto L_029820DC; L_029820C8: ; // 0x29820c8 /* 029820C8 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 029820CC */ cpu->r[30] = cpu->r[31] + cpu->r[7]; /* 029820D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029820D4 */ _t18 = cpu->r[1] + 0x00000008u; /* 029820D4 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]); /* 029820D8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 029820D8 */ _t20 = _t19 & 0x00000001u; /* 029820D8 */ if (_t20) goto L_02982184; else goto L_029820DC; L_029820DC: ; // 0x29820dc /* 029820DC */ cpu->r[25] = 0x00000001u; /* 029820E0 */ cpu->r[23] = 0x101D0000u; /* 029820E4 */ cpu->r[24] = 0x101D0000u; L_029820E8: ; // 0x29820e8 /* 029820E8 */ _t21 = cpu->r[23] + 0xFFFFE218u; /* 029820E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 029820EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 029820F0 */ _t22 = cpu->r[31] + 0x00000000u; /* 029820F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 029820F4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 029820F4 */ _t24 = _t23 & 0x00000001u; /* 029820F4 */ if (_t24) goto L_029820F8; else goto L_02982108; L_029820F8: ; // 0x29820f8 /* 029820F8 */ cpu->r[9] = 0x10150000u; /* 029820FC */ _t25 = cpu->r[23] + 0xFFFFE218u; /* 029820FC */ rbrew_write32(cpu->mem, _t25, cpu->r[25]); /* 02982100 */ cpu->r[9] = cpu->r[9] + 0xFFFFEC18u; /* 02982104 */ _t26 = cpu->r[24] + 0xFFFFEF88u; /* 02982104 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]); L_02982108: ; // 0x2982108 /* 02982108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298210C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298210C */ _t28 = _t27 & 0x00000001u; /* 0298210C */ if (_t28) goto L_02982140; else goto L_02982110; L_02982110: ; // 0x2982110 /* 02982110 */ _t29 = cpu->r[29] + 0x00000088u; /* 02982110 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29); /* 02982114 */ _t30 = cpu->r[11] + 0x0000000Cu; /* 02982114 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30); /* 02982118 */ cpu->ctr = cpu->r[12]; /* 0298211C */ cpu->r[3] = cpu->r[29]; /* 02982120 */ cpu->r[4] = cpu->r[24] + 0xFFFFEF88u; /* 02982124 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02982128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298212C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298212C */ _t32 = _t31 & 0x00000001u; /* 0298212C */ if (_t32) goto L_02982140; else goto L_02982130; L_02982130: ; // 0x2982130 /* 02982130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02982134 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982134 */ _t34 = _t33 & 0x00000001u; /* 02982134 */ if (_t34) goto L_02982140; else goto L_02982138; L_02982138: ; // 0x2982138 /* 02982138 */ cpu->r[3] = cpu->r[29]; /* 0298213C */ Gambit_fn_029913A8(cpu); L_02982140: ; // 0x2982140 /* 02982140 */ _t35 = cpu->r[31] + 0x0000000Au; /* 02982140 */ cpu->r[6] = rbrew_read8(cpu->mem, _t35); /* 02982144 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 02982144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02982148 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982148 */ _t37 = _t36 & 0x00000001u; /* 02982148 */ if (_t37) goto L_02982178; else goto L_0298214C; L_0298214C: ; // 0x298214c /* 0298214C */ _t38 = cpu->r[27] + 0x0000007Cu; /* 0298214C */ cpu->r[9] = rbrew_read8(cpu->mem, _t38); /* 02982150 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 02982150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02982154 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982154 */ _t40 = _t39 & 0x00000001u; /* 02982154 */ if (_t40) goto L_02982178; else goto L_02982158; L_02982158: ; // 0x2982158 /* 02982158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298215C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298215C */ _t42 = _t41 & 0x00000001u; /* 0298215C */ if (_t42) goto L_02982178; else goto L_02982160; L_02982160: ; // 0x2982160 /* 02982160 */ _t43 = cpu->r[29] + 0x00000088u; /* 02982160 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43); /* 02982164 */ _t44 = cpu->r[12] + 0x0000001Cu; /* 02982164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44); /* 02982168 */ cpu->ctr = cpu->r[0]; /* 0298216C */ cpu->r[3] = cpu->r[29]; /* 02982170 */ cpu->r[4] = 0x00000003u; /* 02982174 */ rbrew_call_indirect(cpu, cpu->ctr); L_02982178: ; // 0x2982178 /* 02982178 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 0298217C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02982180 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982180 */ _t46 = _t45 & 0x00000001u; /* 02982180 */ if (_t46) goto L_02982184; else goto L_029820E8; L_02982184: ; // 0x2982184 /* 02982184 */ cpu->r[3] = cpu->r[27]; /* 02982188 */ Gambit_fn_02981FA8(cpu); /* 0298218C */ _t47 = cpu->r[27] + 0x0000007Cu; /* 0298218C */ cpu->r[5] = rbrew_read8(cpu->mem, _t47); /* 02982190 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 02982190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02982194 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982194 */ _t49 = _t48 & 0x00000001u; /* 02982194 */ if (_t49) goto L_02982240; else goto L_02982198; L_02982198: ; // 0x2982198 /* 02982198 */ cpu->r[3] = cpu->r[27]; /* 0298219C */ Gambit_fn_0297FB6C(cpu); /* 029821A0 */ _t50 = cpu->r[27] + 0x000000ACu; /* 029821A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50); /* 029821A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029821A8 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 029821A8 */ _t52 = _t51 & 0x00000001u; /* 029821A8 */ if (_t52) goto L_029821B0; else goto L_029821AC; L_029821AC: ; // 0x29821ac /* 029821AC */ Gambit_fn_02A00A9C(cpu); L_029821B0: ; // 0x29821b0 /* 029821B0 */ _t53 = cpu->r[27] + 0x000000B0u; /* 029821B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53); /* 029821B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029821B8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 029821B8 */ _t55 = _t54 & 0x00000001u; /* 029821B8 */ if (_t55) goto L_029821C0; else goto L_029821BC; L_029821BC: ; // 0x29821bc /* 029821BC */ Gambit_fn_02993B4C(cpu); L_029821C0: ; // 0x29821c0 /* 029821C0 */ _t56 = cpu->r[27] + 0x000000BCu; /* 029821C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56); /* 029821C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029821C8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 029821C8 */ _t58 = _t57 & 0x00000001u; /* 029821C8 */ if (_t58) goto L_029821F0; else goto L_029821CC; L_029821CC: ; // 0x29821cc /* 029821CC */ _t59 = cpu->r[31] + 0x00000000u; /* 029821CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t59); /* 029821D0 */ _t60 = cpu->r[7] + 0x00000014u; /* 029821D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60); /* 029821D4 */ cpu->r[3] = cpu->r[31]; /* 029821D8 */ cpu->ctr = cpu->r[9]; /* 029821DC */ _t61 = cpu->r[31] + 0x00000018u; /* 029821DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t61); /* 029821E0 */ cpu->r[4] = 0x00000003u; /* 029821E4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029821E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029821EC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 029821EC */ _t63 = _t62 & 0x00000001u; /* 029821EC */ if (_t63) goto L_029821F0; else goto L_029821CC; L_029821F0: ; // 0x29821f0 /* 029821F0 */ _t64 = cpu->r[27] + 0x00000018u; /* 029821F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64); /* 029821F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029821F8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 029821F8 */ _t66 = _t65 & 0x00000001u; /* 029821F8 */ if (_t66) goto L_02982230; else goto L_029821FC; L_029821FC: ; // 0x29821fc /* 029821FC */ _t67 = cpu->r[27] + 0x00000014u; /* 029821FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t67); /* 02982200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02982204 */ cpu->r[3] = 0x101D0000u; /* 02982208 */ _t68 = cpu->r[3] + 0xFFFF98F0u; /* 02982208 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68); /* 0298220C */ cpu->r[4] = cpu->r[31]; /* 02982210 */ Gambit_fn_02826B90(cpu); /* 02982214 */ _t69 = cpu->r[3] + 0x0000000Cu; /* 02982214 */ cpu->r[12] = rbrew_read32(cpu->mem, _t69); /* 02982218 */ _t70 = cpu->r[12] + 0x0000003Cu; /* 02982218 */ cpu->r[5] = rbrew_read32(cpu->mem, _t70); /* 0298221C */ cpu->ctr = cpu->r[5]; /* 02982220 */ _t71 = cpu->r[27] + 0x00000018u; /* 02982220 */ cpu->r[4] = rbrew_read32(cpu->mem, _t71); /* 02982224 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02982228 */ _t72 = cpu->r[27] + 0x00000014u; /* 02982228 */ rbrew_write32(cpu->mem, _t72, cpu->r[26]); /* 0298222C */ _t73 = cpu->r[27] + 0x00000018u; /* 0298222C */ rbrew_write32(cpu->mem, _t73, cpu->r[26]); L_02982230: ; // 0x2982230 /* 02982230 */ cpu->r[3] = cpu->r[27] + 0x0000001Cu; /* 02982234 */ Gambit_fn_02802424(cpu); /* 02982238 */ cpu->r[3] = cpu->r[27] + 0x00000028u; /* 0298223C */ Gambit_fn_02802424(cpu); L_02982240: ; // 0x2982240 /* 02982240 */ _t74 = cpu->r[27] + 0x000000DCu; /* 02982240 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74); /* 02982244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982248 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982248 */ _t76 = _t75 & 0x00000001u; /* 02982248 */ if (_t76) goto L_02982258; else goto L_0298224C; L_0298224C: ; // 0x298224c /* 0298224C */ cpu->r[4] = 0x00000003u; /* 02982250 */ Gambit_fn_0298B6D0(cpu); /* 02982254 */ _t77 = cpu->r[27] + 0x000000DCu; /* 02982254 */ rbrew_write32(cpu->mem, _t77, cpu->r[26]); L_02982258: ; // 0x2982258 /* 02982258 */ _t78 = cpu->r[27] + 0x000000D8u; /* 02982258 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78); /* 0298225C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02982260 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982260 */ _t80 = _t79 & 0x00000001u; /* 02982260 */ if (_t80) goto L_02982268; else goto L_02982264; L_02982264: ; // 0x2982264 /* 02982264 */ _t81 = cpu->r[12] + 0x00000000u; /* 02982264 */ rbrew_write32(cpu->mem, _t81, cpu->r[26]); L_02982268: ; // 0x2982268 /* 02982268 */ cpu->r[3] = cpu->r[27] + 0x000000E0u; /* 0298226C */ cpu->r[4] = 0x00000002u; /* 02982270 */ Gambit_fn_02836FA8(cpu); /* 02982274 */ cpu->r[3] = cpu->r[27]; /* 02982278 */ cpu->r[4] = 0x00000000u; /* 0298227C */ Gambit_fn_02821E68(cpu); /* 02982280 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02982280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02982284 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982284 */ _t83 = _t82 & 0x00000001u; /* 02982284 */ if (_t83) goto L_02982290; else goto L_02982288; L_02982288: ; // 0x2982288 /* 02982288 */ cpu->r[3] = cpu->r[27]; /* 0298228C */ Gambit_fn_02801BB0(cpu); L_02982290: ; // 0x2982290 /* 02982290 */ /* nop */ /* 02982294 */ _t84 = cpu->r[1] + 0x0000003Cu; /* 02982294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84); /* 02982298 */ cpu->lr = cpu->r[0]; /* 0298229C */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 029822A0 */ return; } // fn_029822A4 @ 0x29822a4 void Gambit_fn_029822A4(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_029822A4: ; // 0x29822a4 /* 029822A4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 029822A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029822A4 */ cpu->r[1] = _t0; /* 029822A8 */ /* nop */ /* 029822AC */ cpu->r[0] = cpu->lr; /* 029822B0 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 029822B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029822B4 */ cpu->r[26] = cpu->r[3]; /* 029822B8 */ _t2 = cpu->r[26] + 0x0000007Fu; /* 029822B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 029822BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029822BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029822C0 */ cpu->r[27] = cpu->r[4]; /* 029822C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 029822C4 */ _t4 = _t3 & 0x00000001u; /* 029822C4 */ if (_t4) goto L_029823E4; else goto L_029822C8; L_029822C8: ; // 0x29822c8 /* 029822C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 029822C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029822CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 029822CC */ _t6 = _t5 & 0x00000001u; /* 029822CC */ if (_t6) goto L_029823D0; else goto L_029822D0; L_029822D0: ; // 0x29822d0 /* 029822D0 */ _t7 = cpu->r[26] + 0x000000A4u; /* 029822D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 029822D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029822D8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 029822D8 */ _t9 = _t8 & 0x00000001u; /* 029822D8 */ if (_t9) goto L_029823EC; else goto L_029822DC; L_029822DC: ; // 0x29822dc /* 029822DC */ _t10 = cpu->r[26] + 0x000000A8u; /* 029822DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 029822E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 029822E4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 029822E4 */ _t12 = _t11 & 0x00000001u; /* 029822E4 */ if (_t12) goto L_0298230C; else goto L_029822E8; L_029822E8: ; // 0x29822e8 /* 029822E8 */ cpu->r[3] = cpu->r[26]; /* 029822EC */ cpu->r[4] = cpu->r[27]; /* 029822F0 */ Gambit_fn_0297FE38(cpu); /* 029822F4 */ _t13 = cpu->r[26] + 0x000000A8u; /* 029822F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); /* 029822F8 */ cpu->r[5] = cpu->r[27]; /* 029822FC */ cpu->r[3] = cpu->r[26]; /* 02982300 */ Gambit_fn_029801B8(cpu); /* 02982304 */ _t14 = cpu->r[26] + 0x0000007Fu; /* 02982304 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14); /* 02982308 */ goto L_02982400; L_0298230C: ; // 0x298230c /* 0298230C */ _t15 = cpu->r[26] + 0x00000028u; /* 0298230C */ cpu->r[11] = rbrew_read32(cpu->mem, _t15); /* 02982310 */ _t16 = cpu->r[26] + 0x00000030u; /* 02982310 */ cpu->r[25] = rbrew_read32(cpu->mem, _t16); /* 02982314 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02982318 */ cpu->r[24] = cpu->r[25] + cpu->r[10]; /* 0298231C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[24]); /* 02982320 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982320 */ _t18 = _t17 & 0x00000001u; /* 02982320 */ if (_t18) goto L_029823C0; else goto L_02982324; L_02982324: ; // 0x2982324 /* 02982324 */ cpu->r[30] = 0x00000001u; /* 02982328 */ cpu->r[29] = 0x101D0000u; /* 0298232C */ cpu->r[28] = 0x101D0000u; L_02982330: ; // 0x2982330 /* 02982330 */ _t19 = cpu->r[29] + 0xFFFFE218u; /* 02982330 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02982334 */ _t20 = cpu->r[25] + 0x00000000u; /* 02982334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 02982338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298233C */ _t21 = cpu->r[12] + 0x00000000u; /* 0298233C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 02982340 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982340 */ _t23 = _t22 & 0x00000001u; /* 02982340 */ if (_t23) goto L_02982344; else goto L_02982354; L_02982344: ; // 0x2982344 /* 02982344 */ cpu->r[8] = 0x10150000u; /* 02982348 */ _t24 = cpu->r[29] + 0xFFFFE218u; /* 02982348 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]); /* 0298234C */ cpu->r[8] = cpu->r[8] + 0xFFFFEC18u; /* 02982350 */ _t25 = cpu->r[28] + 0xFFFFEF88u; /* 02982350 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]); L_02982354: ; // 0x2982354 /* 02982354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02982358 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982358 */ _t27 = _t26 & 0x00000001u; /* 02982358 */ if (_t27) goto L_029823A0; else goto L_0298235C; L_0298235C: ; // 0x298235c /* 0298235C */ _t28 = cpu->r[31] + 0x00000088u; /* 0298235C */ cpu->r[9] = rbrew_read32(cpu->mem, _t28); /* 02982360 */ _t29 = cpu->r[9] + 0x0000000Cu; /* 02982360 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29); /* 02982364 */ cpu->ctr = cpu->r[10]; /* 02982368 */ cpu->r[3] = cpu->r[31]; /* 0298236C */ cpu->r[4] = cpu->r[28] + 0xFFFFEF88u; /* 02982370 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02982374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982378 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982378 */ _t31 = _t30 & 0x00000001u; /* 02982378 */ if (_t31) goto L_029823A0; else goto L_0298237C; L_0298237C: ; // 0x298237c /* 0298237C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02982380 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982380 */ _t33 = _t32 & 0x00000001u; /* 02982380 */ if (_t33) goto L_029823A0; else goto L_02982384; L_02982384: ; // 0x2982384 /* 02982384 */ _t34 = cpu->r[25] + 0x00000000u; /* 02982384 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 02982388 */ _t35 = cpu->r[26] + 0x000000A4u; /* 02982388 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35); /* 0298238C */ cpu->r[5] = cpu->r[31]; /* 02982390 */ _t36 = cpu->r[12] + 0x00000008u; /* 02982390 */ cpu->r[4] = rbrew_read16(cpu->mem, _t36); /* 02982394 */ cpu->r[7] = cpu->r[27]; /* 02982398 */ cpu->r[6] = 0x00000001u; /* 0298239C */ Gambit_fn_029847A4(cpu); L_029823A0: ; // 0x29823a0 /* 029823A0 */ _t37 = cpu->r[25] + 0x00000000u; /* 029823A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37); /* 029823A4 */ cpu->r[5] = cpu->r[27]; /* 029823A8 */ cpu->r[3] = cpu->r[26]; /* 029823AC */ Gambit_fn_0297FF18(cpu); /* 029823B0 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 029823B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[24]); /* 029823B8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 029823B8 */ _t39 = _t38 & 0x00000001u; /* 029823B8 */ if (_t39) goto L_029823BC; else goto L_02982330; L_029823BC: ; // 0x29823bc /* 029823BC */ _t40 = cpu->r[26] + 0x000000A4u; /* 029823BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t40); L_029823C0: ; // 0x29823c0 /* 029823C0 */ cpu->r[4] = cpu->r[26]; /* 029823C4 */ Gambit_fn_029848B0(cpu); /* 029823C8 */ _t41 = cpu->r[26] + 0x0000007Fu; /* 029823C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t41); /* 029823CC */ goto L_02982400; L_029823D0: ; // 0x29823d0 /* 029823D0 */ cpu->r[3] = cpu->r[26]; /* 029823D4 */ cpu->r[4] = cpu->r[27]; /* 029823D8 */ Gambit_fn_0297FE38(cpu); /* 029823DC */ _t42 = cpu->r[26] + 0x0000007Fu; /* 029823DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t42); /* 029823E0 */ goto L_02982400; L_029823E4: ; // 0x29823e4 /* 029823E4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 029823E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 029823E8 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 029823E8 */ _t44 = _t43 & 0x00000001u; /* 029823E8 */ if (_t44) goto L_02982400; else goto L_029823EC; L_029823EC: ; // 0x29823ec /* 029823EC */ _t45 = cpu->r[26] + 0x000000A8u; /* 029823EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t45); /* 029823F0 */ cpu->r[5] = cpu->r[27]; /* 029823F4 */ cpu->r[3] = cpu->r[26]; /* 029823F8 */ Gambit_fn_029801B8(cpu); /* 029823FC */ _t46 = cpu->r[26] + 0x0000007Fu; /* 029823FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t46); L_02982400: ; // 0x2982400 /* 02982400 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 02982400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02982404 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982404 */ _t48 = _t47 & 0x00000001u; /* 02982404 */ if (_t48) goto L_02982414; else goto L_02982408; L_02982408: ; // 0x2982408 /* 02982408 */ cpu->r[3] = cpu->r[26]; /* 0298240C */ cpu->r[4] = cpu->r[27]; /* 02982410 */ Gambit_fn_02981D3C(cpu); L_02982414: ; // 0x2982414 /* 02982414 */ /* nop */ /* 02982418 */ _t49 = cpu->r[1] + 0x0000002Cu; /* 02982418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49); /* 0298241C */ cpu->lr = cpu->r[0]; /* 02982420 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02982424 */ return; } // fn_02982428 @ 0x2982428 void Gambit_fn_02982428(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_02982428: ; // 0x2982428 /* 02982428 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 02982428 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02982428 */ cpu->r[1] = _t0; /* 0298242C */ /* nop */ /* 02982430 */ cpu->r[0] = cpu->lr; /* 02982434 */ _t1 = cpu->r[1] + 0x00000034u; /* 02982434 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02982438 */ _t2 = cpu->r[3] + 0x00000080u; /* 02982438 */ cpu->r[6] = rbrew_read16(cpu->mem, _t2); /* 0298243C */ _t3 = cpu->r[3] + 0x00000014u; /* 0298243C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02982440 */ cpu->r[27] = cpu->r[4]; /* 02982444 */ cpu->r[28] = cpu->r[5]; /* 02982448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]); /* 0298244C */ _t4 = cpu->r[3] + 0x00000018u; /* 0298244C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 02982450 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 02982450 */ _t6 = _t5 & 0x00000001u; /* 02982450 */ if (_t6) goto L_0298246C; else goto L_02982454; L_02982454: ; // 0x2982454 /* 02982454 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 02982458 */ cpu->r[30] = cpu->r[31] + cpu->r[0]; /* 0298245C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02982460 */ _t7 = cpu->r[1] + 0x00000008u; /* 02982460 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 02982464 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982464 */ _t9 = _t8 & 0x00000001u; /* 02982464 */ if (_t9) goto L_029824F8; else goto L_02982468; L_02982468: ; // 0x2982468 /* 02982468 */ goto L_02982480; L_0298246C: ; // 0x298246c /* 0298246C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02982470 */ cpu->r[30] = cpu->r[31] + cpu->r[0]; /* 02982474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02982478 */ _t10 = cpu->r[1] + 0x00000008u; /* 02982478 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]); /* 0298247C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298247C */ _t12 = _t11 & 0x00000001u; /* 0298247C */ if (_t12) goto L_029824F8; else goto L_02982480; L_02982480: ; // 0x2982480 /* 02982480 */ cpu->r[26] = 0x00000001u; /* 02982484 */ cpu->r[25] = 0x101D0000u; /* 02982488 */ cpu->r[24] = 0x101D0000u; L_0298248C: ; // 0x298248c /* 0298248C */ _t13 = cpu->r[25] + 0xFFFFE218u; /* 0298248C */ cpu->r[7] = rbrew_read32(cpu->mem, _t13); /* 02982490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02982494 */ _t14 = cpu->r[31] + 0x00000000u; /* 02982494 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14); /* 02982498 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982498 */ _t16 = _t15 & 0x00000001u; /* 02982498 */ if (_t16) goto L_0298249C; else goto L_029824AC; L_0298249C: ; // 0x298249c /* 0298249C */ cpu->r[8] = 0x10150000u; /* 029824A0 */ _t17 = cpu->r[25] + 0xFFFFE218u; /* 029824A0 */ rbrew_write32(cpu->mem, _t17, cpu->r[26]); /* 029824A4 */ cpu->r[8] = cpu->r[8] + 0xFFFFEC18u; /* 029824A8 */ _t18 = cpu->r[24] + 0xFFFFEF88u; /* 029824A8 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]); L_029824AC: ; // 0x29824ac /* 029824AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 029824B0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 029824B0 */ _t20 = _t19 & 0x00000001u; /* 029824B0 */ if (_t20) goto L_029824EC; else goto L_029824B4; L_029824B4: ; // 0x29824b4 /* 029824B4 */ _t21 = cpu->r[29] + 0x00000088u; /* 029824B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 029824B8 */ _t22 = cpu->r[9] + 0x0000000Cu; /* 029824B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 029824BC */ cpu->ctr = cpu->r[0]; /* 029824C0 */ cpu->r[3] = cpu->r[29]; /* 029824C4 */ cpu->r[4] = cpu->r[24] + 0xFFFFEF88u; /* 029824C8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029824CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029824D0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 029824D0 */ _t24 = _t23 & 0x00000001u; /* 029824D0 */ if (_t24) goto L_029824EC; else goto L_029824D4; L_029824D4: ; // 0x29824d4 /* 029824D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 029824D8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 029824D8 */ _t26 = _t25 & 0x00000001u; /* 029824D8 */ if (_t26) goto L_029824EC; else goto L_029824DC; L_029824DC: ; // 0x29824dc /* 029824DC */ cpu->r[5] = cpu->r[28]; /* 029824E0 */ cpu->r[4] = cpu->r[27]; /* 029824E4 */ cpu->r[3] = cpu->r[29]; /* 029824E8 */ Gambit_fn_029912E4(cpu); L_029824EC: ; // 0x29824ec /* 029824EC */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029824F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029824F4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 029824F4 */ _t28 = _t27 & 0x00000001u; /* 029824F4 */ if (_t28) goto L_029824F8; else goto L_0298248C; L_029824F8: ; // 0x29824f8 /* 029824F8 */ /* nop */ /* 029824FC */ _t29 = cpu->r[1] + 0x00000034u; /* 029824FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 02982500 */ cpu->lr = cpu->r[0]; /* 02982504 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02982508 */ return; } // fn_0298250C @ 0x298250c void Gambit_fn_0298250C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0298250C: ; // 0x298250c /* 0298250C */ cpu->r[0] = cpu->lr; /* 02982510 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02982510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02982510 */ cpu->r[1] = _t0; /* 02982514 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02982514 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02982518 */ _t2 = cpu->r[1] + 0x00000010u; /* 02982518 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298251C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298251C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02982520 */ cpu->r[30] = cpu->r[3]; /* 02982524 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02982524 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02982528 */ cpu->r[29] = cpu->r[30] + 0x000000E0u; /* 0298252C */ cpu->r[3] = cpu->r[29]; /* 02982530 */ cpu->r[31] = cpu->r[4]; /* 02982534 */ Gambit_fn_02836FFC(cpu); /* 02982538 */ _t5 = cpu->r[30] + 0x00000128u; /* 02982538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298253C */ cpu->r[3] = cpu->r[31] + cpu->r[0]; /* 02982540 */ Gambit_fn_02801EDC(cpu); /* 02982544 */ _t6 = cpu->r[30] + 0x00000124u; /* 02982544 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02982548 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 0298254C */ cpu->r[3] = cpu->r[29]; /* 02982550 */ _t7 = cpu->r[30] + 0x00000124u; /* 02982550 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 02982554 */ Gambit_fn_02837030(cpu); /* 02982558 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02982558 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8); /* 0298255C */ _t9 = cpu->r[1] + 0x0000001Cu; /* 0298255C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02982560 */ _t10 = cpu->r[1] + 0x00000010u; /* 02982560 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 02982564 */ cpu->lr = cpu->r[0]; /* 02982568 */ _t11 = cpu->r[1] + 0x00000014u; /* 02982568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0298256C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02982570 */ return; } // fn_02982510 @ 0x2982510 void Gambit_fn_02982510(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_02982510: ; // 0x2982510 /* 02982510 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02982510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02982510 */ cpu->r[1] = _t0; /* 02982514 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02982514 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02982518 */ _t2 = cpu->r[1] + 0x00000010u; /* 02982518 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298251C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298251C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02982520 */ cpu->r[30] = cpu->r[3]; /* 02982524 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02982524 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02982528 */ cpu->r[29] = cpu->r[30] + 0x000000E0u; /* 0298252C */ cpu->r[3] = cpu->r[29]; /* 02982530 */ cpu->r[31] = cpu->r[4]; /* 02982534 */ Gambit_fn_02836FFC(cpu); /* 02982538 */ _t5 = cpu->r[30] + 0x00000128u; /* 02982538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298253C */ cpu->r[3] = cpu->r[31] + cpu->r[0]; /* 02982540 */ Gambit_fn_02801EDC(cpu); /* 02982544 */ _t6 = cpu->r[30] + 0x00000124u; /* 02982544 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02982548 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 0298254C */ cpu->r[3] = cpu->r[29]; /* 02982550 */ _t7 = cpu->r[30] + 0x00000124u; /* 02982550 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 02982554 */ Gambit_fn_02837030(cpu); /* 02982558 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02982558 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8); /* 0298255C */ _t9 = cpu->r[1] + 0x0000001Cu; /* 0298255C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02982560 */ _t10 = cpu->r[1] + 0x00000010u; /* 02982560 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 02982564 */ cpu->lr = cpu->r[0]; /* 02982568 */ _t11 = cpu->r[1] + 0x00000014u; /* 02982568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0298256C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02982570 */ return; } // fn_02982574 @ 0x2982574 void Gambit_fn_02982574(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02982574: ; // 0x2982574 /* 02982574 */ cpu->r[0] = cpu->lr; /* 02982578 */ _t0 = cpu->r[1] + 0x00000004u; /* 02982578 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0298257C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982580 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02982580 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02982580 */ cpu->r[1] = _t1; /* 02982584 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982584 */ _t3 = _t2 & 0x00000001u; /* 02982584 */ if (_t3) goto L_02982588; else goto L_02982598; L_02982588: ; // 0x2982588 /* 02982588 */ cpu->r[3] = 0x00000014u; /* 0298258C */ Gambit_fn_02801A78(cpu); /* 02982590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982594 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982594 */ _t5 = _t4 & 0x00000001u; /* 02982594 */ if (_t5) goto L_029825C0; else goto L_02982598; L_02982598: ; // 0x2982598 /* 02982598 */ cpu->r[0] = 0x00000040u; /* 0298259C */ cpu->r[11] = 0x00000001u; /* 029825A0 */ _t6 = cpu->r[3] + 0x00000000u; /* 029825A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 029825A4 */ cpu->r[9] = 0x00000004u; /* 029825A8 */ _t7 = cpu->r[3] + 0x0000000Cu; /* 029825A8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]); /* 029825AC */ cpu->r[12] = 0x00000000u; /* 029825B0 */ _t8 = cpu->r[3] + 0x00000008u; /* 029825B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]); /* 029825B4 */ _t9 = cpu->r[3] + 0x00000010u; /* 029825B4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 029825B8 */ _t10 = cpu->r[3] + 0x00000004u; /* 029825B8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]); /* 029825BC */ _t11 = cpu->r[3] + 0x0000000Du; /* 029825BC */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[11]); L_029825C0: ; // 0x29825c0 /* 029825C0 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 029825C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 029825C4 */ cpu->lr = cpu->r[0]; /* 029825C8 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 029825CC */ return; } // fn_02982580 @ 0x2982580 void Gambit_fn_02982580(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_02982580: ; // 0x2982580 /* 02982580 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02982580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02982580 */ cpu->r[1] = _t0; /* 02982584 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982584 */ _t2 = _t1 & 0x00000001u; /* 02982584 */ if (_t2) goto L_02982588; else goto L_02982598; L_02982588: ; // 0x2982588 /* 02982588 */ cpu->r[3] = 0x00000014u; /* 0298258C */ Gambit_fn_02801A78(cpu); /* 02982590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982594 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982594 */ _t4 = _t3 & 0x00000001u; /* 02982594 */ if (_t4) goto L_029825C0; else goto L_02982598; L_02982598: ; // 0x2982598 /* 02982598 */ cpu->r[0] = 0x00000040u; /* 0298259C */ cpu->r[11] = 0x00000001u; /* 029825A0 */ _t5 = cpu->r[3] + 0x00000000u; /* 029825A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029825A4 */ cpu->r[9] = 0x00000004u; /* 029825A8 */ _t6 = cpu->r[3] + 0x0000000Cu; /* 029825A8 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[11]); /* 029825AC */ cpu->r[12] = 0x00000000u; /* 029825B0 */ _t7 = cpu->r[3] + 0x00000008u; /* 029825B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 029825B4 */ _t8 = cpu->r[3] + 0x00000010u; /* 029825B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 029825B8 */ _t9 = cpu->r[3] + 0x00000004u; /* 029825B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]); /* 029825BC */ _t10 = cpu->r[3] + 0x0000000Du; /* 029825BC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]); L_029825C0: ; // 0x29825c0 /* 029825C0 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 029825C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 029825C4 */ cpu->lr = cpu->r[0]; /* 029825C8 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 029825CC */ return; } // fn_029825D0 @ 0x29825d0 void Gambit_fn_029825D0(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_029825D0: ; // 0x29825d0 /* 029825D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029825D4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 029825D4 */ _t17 = _t16 & 0x00000001u; /* 029825D4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029825D4 */ goto L_029825D8; L_029825D8: ; // 0x29825d8 /* 029825D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029825D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029825DC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 029825DC */ _t19 = _t18 & 0x00000001u; /* 029825DC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029825DC */ goto L_029825E0; L_029825E0: ; // 0x29825e0 /* 029825E0 */ goto L_02801BB0; } // fn_029825E4 @ 0x29825e4 void Gambit_fn_029825E4(CPUState* cpu) { L_029825E4: ; // 0x29825e4 /* 029825E4 */ return; } // fn_029825E8 @ 0x29825e8 void Gambit_fn_029825E8(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_029825E8: ; // 0x29825e8 /* 029825E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029825EC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 029825EC */ _t17 = _t16 & 0x00000001u; /* 029825EC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029825EC */ goto L_029825F0; L_029825F0: ; // 0x29825f0 /* 029825F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029825F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029825F4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 029825F4 */ _t19 = _t18 & 0x00000001u; /* 029825F4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029825F4 */ goto L_029825F8; L_029825F8: ; // 0x29825f8 /* 029825F8 */ goto L_02801BB0; } // fn_029825FC @ 0x29825fc void Gambit_fn_029825FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_029825FC: ; // 0x29825fc /* 029825FC */ _t0 = cpu->r[3] + 0x00000000u; /* 029825FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 02982600 */ _t1 = cpu->r[3] + 0x00000008u; /* 02982600 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02982604 */ cpu->r[12] = cpu->r[11] + cpu->r[12]; /* 02982608 */ cpu->r[11] = 0x10110000u; /* 0298260C */ _t2 = cpu->r[11] + 0x00007399u; /* 0298260C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 02982610 */ _t3 = cpu->r[12] + 0xFFFFFFFFu; /* 02982610 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]); /* 02982614 */ return; } // fn_02982618 @ 0x2982618 void Gambit_fn_02982618(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_02982618: ; // 0x2982618 /* 02982618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298261C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298261C */ _t17 = _t16 & 0x00000001u; /* 0298261C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298261C */ goto L_02982620; L_02982620: ; // 0x2982620 /* 02982620 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02982620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02982624 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982624 */ _t19 = _t18 & 0x00000001u; /* 02982624 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02982624 */ goto L_02982628; L_02982628: ; // 0x2982628 /* 02982628 */ goto L_02801BB0; } // fn_0298262C @ 0x298262c void Gambit_fn_0298262C(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_0298262C: ; // 0x298262c /* 0298262C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982630 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982630 */ _t17 = _t16 & 0x00000001u; /* 02982630 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02982630 */ goto L_02982634; L_02982634: ; // 0x2982634 /* 02982634 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02982634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02982638 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982638 */ _t19 = _t18 & 0x00000001u; /* 02982638 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02982638 */ goto L_0298263C; L_0298263C: ; // 0x298263c /* 0298263C */ goto L_02801BB0; } // fn_02982640 @ 0x2982640 void Gambit_fn_02982640(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_02982640: ; // 0x2982640 /* 02982640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982644 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982644 */ _t17 = _t16 & 0x00000001u; /* 02982644 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02982644 */ goto L_02982648; L_02982648: ; // 0x2982648 /* 02982648 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02982648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298264C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298264C */ _t19 = _t18 & 0x00000001u; /* 0298264C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298264C */ goto L_02982650; L_02982650: ; // 0x2982650 /* 02982650 */ goto L_02801BB0; } // fn_02982654 @ 0x2982654 void Gambit_fn_02982654(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_02982654: ; // 0x2982654 /* 02982654 */ cpu->r[0] = cpu->lr; /* 02982658 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02982658 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02982658 */ cpu->r[1] = _t0; /* 0298265C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298265C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02982660 */ _t2 = cpu->r[1] + 0x00000008u; /* 02982660 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02982664 */ cpu->r[31] = cpu->r[3]; /* 02982668 */ _t3 = cpu->r[1] + 0x00000014u; /* 02982668 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298266C */ _t4 = cpu->r[31] + 0x00000008u; /* 0298266C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4); /* 02982670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02982674 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982674 */ _t6 = _t5 & 0x00000001u; /* 02982674 */ if (_t6) goto L_029826CC; else goto L_02982678; L_02982678: ; // 0x2982678 /* 02982678 */ cpu->r[30] = cpu->r[9] + 0x000000E0u; /* 0298267C */ cpu->r[3] = cpu->r[30]; /* 02982680 */ Gambit_fn_02836FFC(cpu); /* 02982684 */ _t7 = cpu->r[31] + 0x00000010u; /* 02982684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02982688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298268C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298268C */ _t9 = _t8 & 0x00000001u; /* 0298268C */ if (_t9) goto L_02982690; else goto L_0298269C; L_02982690: ; // 0x2982690 /* 02982690 */ _t10 = cpu->r[31] + 0x0000000Cu; /* 02982690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02982694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02982698 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982698 */ _t12 = _t11 & 0x00000001u; /* 02982698 */ if (_t12) goto L_029826C4; else goto L_0298269C; L_0298269C: ; // 0x298269c /* 0298269C */ _t13 = cpu->r[31] + 0x00000008u; /* 0298269C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 029826A0 */ cpu->r[4] = cpu->r[31]; /* 029826A4 */ Gambit_fn_0298250C(cpu); /* 029826A8 */ _t14 = cpu->r[31] + 0x00000014u; /* 029826A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 029826AC */ cpu->r[10] = 0x00000000u; /* 029826B0 */ _t15 = cpu->r[31] + 0x00000008u; /* 029826B0 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 029826B4 */ _t16 = cpu->r[11] + 0x0000001Cu; /* 029826B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 029826B8 */ cpu->ctr = cpu->r[12]; /* 029826BC */ cpu->r[3] = cpu->r[31]; /* 029826C0 */ rbrew_call_indirect(cpu, cpu->ctr); L_029826C4: ; // 0x29826c4 /* 029826C4 */ cpu->r[3] = cpu->r[30]; /* 029826C8 */ Gambit_fn_02837030(cpu); L_029826CC: ; // 0x29826cc /* 029826CC */ _t17 = cpu->r[1] + 0x00000014u; /* 029826CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 029826D0 */ _t18 = cpu->r[1] + 0x00000008u; /* 029826D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 029826D4 */ cpu->lr = cpu->r[0]; /* 029826D8 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 029826D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 029826DC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029826E0 */ return; } // fn_02982658 @ 0x2982658 void Gambit_fn_02982658(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_02982658: ; // 0x2982658 /* 02982658 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02982658 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02982658 */ cpu->r[1] = _t0; /* 0298265C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298265C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02982660 */ _t2 = cpu->r[1] + 0x00000008u; /* 02982660 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02982664 */ cpu->r[31] = cpu->r[3]; /* 02982668 */ _t3 = cpu->r[1] + 0x00000014u; /* 02982668 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298266C */ _t4 = cpu->r[31] + 0x00000008u; /* 0298266C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4); /* 02982670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02982674 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982674 */ _t6 = _t5 & 0x00000001u; /* 02982674 */ if (_t6) goto L_029826CC; else goto L_02982678; L_02982678: ; // 0x2982678 /* 02982678 */ cpu->r[30] = cpu->r[9] + 0x000000E0u; /* 0298267C */ cpu->r[3] = cpu->r[30]; /* 02982680 */ Gambit_fn_02836FFC(cpu); /* 02982684 */ _t7 = cpu->r[31] + 0x00000010u; /* 02982684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02982688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298268C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298268C */ _t9 = _t8 & 0x00000001u; /* 0298268C */ if (_t9) goto L_02982690; else goto L_0298269C; L_02982690: ; // 0x2982690 /* 02982690 */ _t10 = cpu->r[31] + 0x0000000Cu; /* 02982690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02982694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02982698 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982698 */ _t12 = _t11 & 0x00000001u; /* 02982698 */ if (_t12) goto L_029826C4; else goto L_0298269C; L_0298269C: ; // 0x298269c /* 0298269C */ _t13 = cpu->r[31] + 0x00000008u; /* 0298269C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 029826A0 */ cpu->r[4] = cpu->r[31]; /* 029826A4 */ Gambit_fn_0298250C(cpu); /* 029826A8 */ _t14 = cpu->r[31] + 0x00000014u; /* 029826A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 029826AC */ cpu->r[10] = 0x00000000u; /* 029826B0 */ _t15 = cpu->r[31] + 0x00000008u; /* 029826B0 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 029826B4 */ _t16 = cpu->r[11] + 0x0000001Cu; /* 029826B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 029826B8 */ cpu->ctr = cpu->r[12]; /* 029826BC */ cpu->r[3] = cpu->r[31]; /* 029826C0 */ rbrew_call_indirect(cpu, cpu->ctr); L_029826C4: ; // 0x29826c4 /* 029826C4 */ cpu->r[3] = cpu->r[30]; /* 029826C8 */ Gambit_fn_02837030(cpu); L_029826CC: ; // 0x29826cc /* 029826CC */ _t17 = cpu->r[1] + 0x00000014u; /* 029826CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 029826D0 */ _t18 = cpu->r[1] + 0x00000008u; /* 029826D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 029826D4 */ cpu->lr = cpu->r[0]; /* 029826D8 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 029826D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 029826DC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029826E0 */ return; } // fn_029826E4 @ 0x29826e4 void Gambit_fn_029826E4(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_029826E4: ; // 0x29826e4 /* 029826E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029826E8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 029826E8 */ _t17 = _t16 & 0x00000001u; /* 029826E8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029826E8 */ goto L_029826EC; L_029826EC: ; // 0x29826ec /* 029826EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029826EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029826F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 029826F0 */ _t19 = _t18 & 0x00000001u; /* 029826F0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029826F0 */ goto L_029826F4; L_029826F4: ; // 0x29826f4 /* 029826F4 */ goto L_02801BB0; } // fn_029826F8 @ 0x29826f8 void Gambit_fn_029826F8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_029826F8: ; // 0x29826f8 /* 029826F8 */ cpu->r[0] = cpu->lr; /* 029826FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029826FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029826FC */ cpu->r[1] = _t0; /* 02982700 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02982700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02982704 */ _t2 = cpu->r[1] + 0x00000008u; /* 02982704 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02982708 */ cpu->r[30] = cpu->r[3]; /* 02982708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298270C */ cpu->r[31] = cpu->r[4]; /* 02982710 */ _t3 = cpu->r[1] + 0x00000014u; /* 02982710 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02982714 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982714 */ _t5 = _t4 & 0x00000001u; /* 02982714 */ if (_t5) goto L_02982754; else goto L_02982718; L_02982718: ; // 0x2982718 /* 02982718 */ cpu->r[0] = 0x10150000u; /* 0298271C */ cpu->r[12] = 0x10150000u; /* 02982720 */ cpu->r[0] = cpu->r[0] + 0xFFFFED28u; /* 02982724 */ cpu->r[12] = cpu->r[12] + 0xFFFFED48u; /* 02982728 */ _t6 = cpu->r[30] + 0x0000001Cu; /* 02982728 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298272C */ cpu->r[3] = cpu->r[30] + 0x00000004u; /* 02982730 */ _t7 = cpu->r[30] + 0x00000018u; /* 02982730 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 02982734 */ Gambit_fn_02982654(cpu); /* 02982738 */ cpu->r[3] = cpu->r[30] + 0x00000004u; /* 0298273C */ cpu->r[4] = 0x00000000u; /* 02982740 */ Gambit_fn_029826E4(cpu); /* 02982744 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02982744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02982748 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982748 */ _t9 = _t8 & 0x00000001u; /* 02982748 */ if (_t9) goto L_02982754; else goto L_0298274C; L_0298274C: ; // 0x298274c /* 0298274C */ cpu->r[3] = cpu->r[30]; /* 02982750 */ Gambit_fn_02801BB0(cpu); L_02982754: ; // 0x2982754 /* 02982754 */ _t10 = cpu->r[1] + 0x00000014u; /* 02982754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02982758 */ _t11 = cpu->r[1] + 0x00000008u; /* 02982758 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 0298275C */ cpu->lr = cpu->r[0]; /* 02982760 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 02982760 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02982764 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02982768 */ return; } // fn_029826FC @ 0x29826fc void Gambit_fn_029826FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_029826FC: ; // 0x29826fc /* 029826FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029826FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029826FC */ cpu->r[1] = _t0; /* 02982700 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02982700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02982704 */ _t2 = cpu->r[1] + 0x00000008u; /* 02982704 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02982708 */ cpu->r[30] = cpu->r[3]; /* 02982708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298270C */ cpu->r[31] = cpu->r[4]; /* 02982710 */ _t3 = cpu->r[1] + 0x00000014u; /* 02982710 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02982714 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982714 */ _t5 = _t4 & 0x00000001u; /* 02982714 */ if (_t5) goto L_02982754; else goto L_02982718; L_02982718: ; // 0x2982718 /* 02982718 */ cpu->r[0] = 0x10150000u; /* 0298271C */ cpu->r[12] = 0x10150000u; /* 02982720 */ cpu->r[0] = cpu->r[0] + 0xFFFFED28u; /* 02982724 */ cpu->r[12] = cpu->r[12] + 0xFFFFED48u; /* 02982728 */ _t6 = cpu->r[30] + 0x0000001Cu; /* 02982728 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298272C */ cpu->r[3] = cpu->r[30] + 0x00000004u; /* 02982730 */ _t7 = cpu->r[30] + 0x00000018u; /* 02982730 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 02982734 */ Gambit_fn_02982654(cpu); /* 02982738 */ cpu->r[3] = cpu->r[30] + 0x00000004u; /* 0298273C */ cpu->r[4] = 0x00000000u; /* 02982740 */ Gambit_fn_029826E4(cpu); /* 02982744 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02982744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02982748 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982748 */ _t9 = _t8 & 0x00000001u; /* 02982748 */ if (_t9) goto L_02982754; else goto L_0298274C; L_0298274C: ; // 0x298274c /* 0298274C */ cpu->r[3] = cpu->r[30]; /* 02982750 */ Gambit_fn_02801BB0(cpu); L_02982754: ; // 0x2982754 /* 02982754 */ _t10 = cpu->r[1] + 0x00000014u; /* 02982754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02982758 */ _t11 = cpu->r[1] + 0x00000008u; /* 02982758 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 0298275C */ cpu->lr = cpu->r[0]; /* 02982760 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 02982760 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 02982764 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02982768 */ return; } // fn_0298276C @ 0x298276c void Gambit_fn_0298276C(CPUState* cpu) { uint32_t _t0, _t1; L_0298276C: ; // 0x298276c /* 0298276C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFCu; /* 02982770 */ goto L_02982788; L_02982788: ; // 0x2982788 /* 02982788 */ cpu->r[12] = 0xFFFFFFFFu; /* 0298278C */ _t0 = cpu->r[3] + 0x00000002u; /* 0298278C */ rbrew_write16(cpu->mem, _t0, (uint16_t)cpu->r[12]); /* 02982790 */ _t1 = cpu->r[3] + 0x00000000u; /* 02982790 */ rbrew_write16(cpu->mem, _t1, (uint16_t)cpu->r[12]); /* 02982794 */ return; } // fn_02982774 @ 0x2982774 void Gambit_fn_02982774(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_02982774: ; // 0x2982774 /* 02982774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982778 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982778 */ _t17 = _t16 & 0x00000001u; /* 02982778 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02982778 */ goto L_0298277C; L_0298277C: ; // 0x298277c /* 0298277C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298277C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02982780 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982780 */ _t19 = _t18 & 0x00000001u; /* 02982780 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02982780 */ goto L_02982784; L_02982784: ; // 0x2982784 /* 02982784 */ goto L_02801BB0; } // fn_02982788 @ 0x2982788 void Gambit_fn_02982788(CPUState* cpu) { uint32_t _t0, _t1; L_02982788: ; // 0x2982788 /* 02982788 */ cpu->r[12] = 0xFFFFFFFFu; /* 0298278C */ _t0 = cpu->r[3] + 0x00000002u; /* 0298278C */ rbrew_write16(cpu->mem, _t0, (uint16_t)cpu->r[12]); /* 02982790 */ _t1 = cpu->r[3] + 0x00000000u; /* 02982790 */ rbrew_write16(cpu->mem, _t1, (uint16_t)cpu->r[12]); /* 02982794 */ return; } // fn_02982798 @ 0x2982798 void Gambit_fn_02982798(CPUState* cpu) { L_02982798: ; // 0x2982798 /* 02982798 */ return; } // fn_0298279C @ 0x298279c void Gambit_fn_0298279C(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_0298279C: ; // 0x298279c /* 0298279C */ cpu->r[0] = cpu->lr; /* 029827A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029827A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029827A0 */ cpu->r[1] = _t0; /* 029827A4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029827A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029827A8 */ _t2 = cpu->r[1] + 0x00000008u; /* 029827A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029827AC */ cpu->r[31] = cpu->r[3]; /* 029827AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029827B0 */ _t3 = cpu->r[1] + 0x00000014u; /* 029827B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 029827B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 029827B4 */ _t5 = _t4 & 0x00000001u; /* 029827B4 */ if (_t5) goto L_029827B8; else goto L_029827C8; L_029827B8: ; // 0x29827b8 /* 029827B8 */ cpu->r[3] = 0x00000098u; /* 029827BC */ Gambit_fn_02801A78(cpu); /* 029827C0 */ cpu->r[31] = cpu->r[3]; /* 029827C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029827C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029827C4 */ _t7 = _t6 & 0x00000001u; /* 029827C4 */ if (_t7) goto L_029829B4; else goto L_029827C8; L_029827C8: ; // 0x29827c8 /* 029827C8 */ cpu->r[0] = 0x10150000u; /* 029827CC */ cpu->r[3] = cpu->r[31] + 0x00000008u; /* 029827CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029827D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFEE44u; /* 029827D4 */ cpu->r[12] = 0x10150000u; /* 029827D8 */ _t8 = cpu->r[31] + 0x00000000u; /* 029827D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 029827DC */ cpu->r[12] = cpu->r[12] + 0xFFFFEE5Cu; /* 029827E0 */ cpu->r[30] = 0x00000000u; /* 029827E4 */ _t9 = cpu->r[31] + 0x00000004u; /* 029827E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 029827E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029827E8 */ _t11 = _t10 & 0x00000001u; /* 029827E8 */ if (_t11) goto L_029827EC; else goto L_029827FC; L_029827EC: ; // 0x29827ec /* 029827EC */ cpu->r[3] = 0x00000008u; /* 029827F0 */ Gambit_fn_02801A78(cpu); /* 029827F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029827F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029827F8 */ _t13 = _t12 & 0x00000001u; /* 029827F8 */ if (_t13) goto L_02982804; else goto L_029827FC; L_029827FC: ; // 0x29827fc /* 029827FC */ _t14 = cpu->r[3] + 0x00000004u; /* 029827FC */ rbrew_write32(cpu->mem, _t14, cpu->r[30]); /* 02982800 */ _t15 = cpu->r[3] + 0x00000000u; /* 02982800 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); L_02982804: ; // 0x2982804 /* 02982804 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 02982804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982808 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982808 */ _t17 = _t16 & 0x00000001u; /* 02982808 */ if (_t17) goto L_0298280C; else goto L_0298281C; L_0298280C: ; // 0x298280c /* 0298280C */ cpu->r[3] = 0x00000018u; /* 02982810 */ Gambit_fn_02801A78(cpu); /* 02982814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982818 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982818 */ _t19 = _t18 & 0x00000001u; /* 02982818 */ if (_t19) goto L_02982824; else goto L_0298281C; L_0298281C: ; // 0x298281c /* 0298281C */ _t20 = cpu->r[3] + 0x00000014u; /* 0298281C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 02982820 */ _t21 = cpu->r[3] + 0x00000010u; /* 02982820 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]); L_02982824: ; // 0x2982824 /* 02982824 */ cpu->r[3] = cpu->r[31] + 0x00000028u; /* 02982824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982828 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982828 */ _t23 = _t22 & 0x00000001u; /* 02982828 */ if (_t23) goto L_0298282C; else goto L_0298283C; L_0298282C: ; // 0x298282c /* 0298282C */ cpu->r[3] = 0x00000008u; /* 02982830 */ Gambit_fn_02801A78(cpu); /* 02982834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982838 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982838 */ _t25 = _t24 & 0x00000001u; /* 02982838 */ if (_t25) goto L_02982844; else goto L_0298283C; L_0298283C: ; // 0x298283c /* 0298283C */ _t26 = cpu->r[3] + 0x00000004u; /* 0298283C */ rbrew_write32(cpu->mem, _t26, cpu->r[30]); /* 02982840 */ _t27 = cpu->r[3] + 0x00000000u; /* 02982840 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]); L_02982844: ; // 0x2982844 /* 02982844 */ cpu->r[3] = cpu->r[31] + 0x00000030u; /* 02982844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982848 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982848 */ _t29 = _t28 & 0x00000001u; /* 02982848 */ if (_t29) goto L_0298284C; else goto L_0298285C; L_0298284C: ; // 0x298284c /* 0298284C */ cpu->r[3] = 0x00000008u; /* 02982850 */ Gambit_fn_02801A78(cpu); /* 02982854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982858 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982858 */ _t31 = _t30 & 0x00000001u; /* 02982858 */ if (_t31) goto L_02982864; else goto L_0298285C; L_0298285C: ; // 0x298285c /* 0298285C */ _t32 = cpu->r[3] + 0x00000004u; /* 0298285C */ rbrew_write32(cpu->mem, _t32, cpu->r[30]); /* 02982860 */ _t33 = cpu->r[3] + 0x00000000u; /* 02982860 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]); L_02982864: ; // 0x2982864 /* 02982864 */ cpu->r[3] = cpu->r[31] + 0x00000038u; /* 02982864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982868 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982868 */ _t35 = _t34 & 0x00000001u; /* 02982868 */ if (_t35) goto L_0298286C; else goto L_0298287C; L_0298286C: ; // 0x298286c /* 0298286C */ cpu->r[3] = 0x00000008u; /* 02982870 */ Gambit_fn_02801A78(cpu); /* 02982874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982878 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982878 */ _t37 = _t36 & 0x00000001u; /* 02982878 */ if (_t37) goto L_02982884; else goto L_0298287C; L_0298287C: ; // 0x298287c /* 0298287C */ _t38 = cpu->r[3] + 0x00000004u; /* 0298287C */ rbrew_write32(cpu->mem, _t38, cpu->r[30]); /* 02982880 */ _t39 = cpu->r[3] + 0x00000000u; /* 02982880 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]); L_02982884: ; // 0x2982884 /* 02982884 */ cpu->r[3] = cpu->r[31] + 0x00000040u; /* 02982884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982888 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982888 */ _t41 = _t40 & 0x00000001u; /* 02982888 */ if (_t41) goto L_0298288C; else goto L_0298289C; L_0298288C: ; // 0x298288c /* 0298288C */ cpu->r[3] = 0x00000008u; /* 02982890 */ Gambit_fn_02801A78(cpu); /* 02982894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982898 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982898 */ _t43 = _t42 & 0x00000001u; /* 02982898 */ if (_t43) goto L_029828A4; else goto L_0298289C; L_0298289C: ; // 0x298289c /* 0298289C */ _t44 = cpu->r[3] + 0x00000004u; /* 0298289C */ rbrew_write32(cpu->mem, _t44, cpu->r[30]); /* 029828A0 */ _t45 = cpu->r[3] + 0x00000000u; /* 029828A0 */ rbrew_write32(cpu->mem, _t45, cpu->r[30]); L_029828A4: ; // 0x29828a4 /* 029828A4 */ cpu->r[3] = cpu->r[31] + 0x00000048u; /* 029828A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828A8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828A8 */ _t47 = _t46 & 0x00000001u; /* 029828A8 */ if (_t47) goto L_029828AC; else goto L_029828BC; L_029828AC: ; // 0x29828ac /* 029828AC */ cpu->r[3] = 0x00000008u; /* 029828B0 */ Gambit_fn_02801A78(cpu); /* 029828B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828B8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828B8 */ _t49 = _t48 & 0x00000001u; /* 029828B8 */ if (_t49) goto L_029828C4; else goto L_029828BC; L_029828BC: ; // 0x29828bc /* 029828BC */ _t50 = cpu->r[3] + 0x00000004u; /* 029828BC */ rbrew_write32(cpu->mem, _t50, cpu->r[30]); /* 029828C0 */ _t51 = cpu->r[3] + 0x00000000u; /* 029828C0 */ rbrew_write32(cpu->mem, _t51, cpu->r[30]); L_029828C4: ; // 0x29828c4 /* 029828C4 */ cpu->r[3] = cpu->r[31] + 0x00000050u; /* 029828C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828C8 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828C8 */ _t53 = _t52 & 0x00000001u; /* 029828C8 */ if (_t53) goto L_029828CC; else goto L_029828DC; L_029828CC: ; // 0x29828cc /* 029828CC */ cpu->r[3] = 0x00000008u; /* 029828D0 */ Gambit_fn_02801A78(cpu); /* 029828D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828D8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828D8 */ _t55 = _t54 & 0x00000001u; /* 029828D8 */ if (_t55) goto L_029828E4; else goto L_029828DC; L_029828DC: ; // 0x29828dc /* 029828DC */ _t56 = cpu->r[3] + 0x00000004u; /* 029828DC */ rbrew_write32(cpu->mem, _t56, cpu->r[30]); /* 029828E0 */ _t57 = cpu->r[3] + 0x00000000u; /* 029828E0 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]); L_029828E4: ; // 0x29828e4 /* 029828E4 */ cpu->r[3] = cpu->r[31] + 0x00000058u; /* 029828E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828E8 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828E8 */ _t59 = _t58 & 0x00000001u; /* 029828E8 */ if (_t59) goto L_029828EC; else goto L_029828FC; L_029828EC: ; // 0x29828ec /* 029828EC */ cpu->r[3] = 0x00000008u; /* 029828F0 */ Gambit_fn_02801A78(cpu); /* 029828F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828F8 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828F8 */ _t61 = _t60 & 0x00000001u; /* 029828F8 */ if (_t61) goto L_02982904; else goto L_029828FC; L_029828FC: ; // 0x29828fc /* 029828FC */ _t62 = cpu->r[3] + 0x00000004u; /* 029828FC */ rbrew_write32(cpu->mem, _t62, cpu->r[30]); /* 02982900 */ _t63 = cpu->r[3] + 0x00000000u; /* 02982900 */ rbrew_write32(cpu->mem, _t63, cpu->r[30]); L_02982904: ; // 0x2982904 /* 02982904 */ cpu->r[3] = cpu->r[31] + 0x00000060u; /* 02982904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982908 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982908 */ _t65 = _t64 & 0x00000001u; /* 02982908 */ if (_t65) goto L_0298290C; else goto L_0298291C; L_0298290C: ; // 0x298290c /* 0298290C */ cpu->r[3] = 0x00000008u; /* 02982910 */ Gambit_fn_02801A78(cpu); /* 02982914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982918 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982918 */ _t67 = _t66 & 0x00000001u; /* 02982918 */ if (_t67) goto L_02982924; else goto L_0298291C; L_0298291C: ; // 0x298291c /* 0298291C */ _t68 = cpu->r[3] + 0x00000004u; /* 0298291C */ rbrew_write32(cpu->mem, _t68, cpu->r[30]); /* 02982920 */ _t69 = cpu->r[3] + 0x00000000u; /* 02982920 */ rbrew_write32(cpu->mem, _t69, cpu->r[30]); L_02982924: ; // 0x2982924 /* 02982924 */ cpu->r[3] = cpu->r[31] + 0x00000068u; /* 02982924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982928 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982928 */ _t71 = _t70 & 0x00000001u; /* 02982928 */ if (_t71) goto L_0298292C; else goto L_0298293C; L_0298292C: ; // 0x298292c /* 0298292C */ cpu->r[3] = 0x00000008u; /* 02982930 */ Gambit_fn_02801A78(cpu); /* 02982934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982938 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982938 */ _t73 = _t72 & 0x00000001u; /* 02982938 */ if (_t73) goto L_02982944; else goto L_0298293C; L_0298293C: ; // 0x298293c /* 0298293C */ _t74 = cpu->r[3] + 0x00000004u; /* 0298293C */ rbrew_write32(cpu->mem, _t74, cpu->r[30]); /* 02982940 */ _t75 = cpu->r[3] + 0x00000000u; /* 02982940 */ rbrew_write32(cpu->mem, _t75, cpu->r[30]); L_02982944: ; // 0x2982944 /* 02982944 */ cpu->r[3] = cpu->r[31] + 0x00000074u; /* 02982944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982948 */ _t76 = cpu->r[31] + 0x00000070u; /* 02982948 */ rbrew_write32(cpu->mem, _t76, cpu->r[30]); /* 0298294C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298294C */ _t78 = _t77 & 0x00000001u; /* 0298294C */ if (_t78) goto L_02982950; else goto L_02982960; L_02982950: ; // 0x2982950 /* 02982950 */ cpu->r[3] = 0x0000000Cu; /* 02982954 */ Gambit_fn_02801A78(cpu); /* 02982958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298295C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298295C */ _t80 = _t79 & 0x00000001u; /* 0298295C */ if (_t80) goto L_02982984; else goto L_02982960; L_02982960: ; // 0x2982960 /* 02982960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982964 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982964 */ _t82 = _t81 & 0x00000001u; /* 02982964 */ if (_t82) goto L_02982968; else goto L_02982978; L_02982968: ; // 0x2982968 /* 02982968 */ cpu->r[3] = 0x0000000Cu; /* 0298296C */ Gambit_fn_02801A78(cpu); /* 02982970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982974 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982974 */ _t84 = _t83 & 0x00000001u; /* 02982974 */ if (_t84) goto L_02982984; else goto L_02982978; L_02982978: ; // 0x2982978 /* 02982978 */ _t85 = cpu->r[3] + 0x00000004u; /* 02982978 */ rbrew_write32(cpu->mem, _t85, cpu->r[30]); /* 0298297C */ _t86 = cpu->r[3] + 0x00000000u; /* 0298297C */ rbrew_write32(cpu->mem, _t86, cpu->r[30]); /* 02982980 */ _t87 = cpu->r[3] + 0x00000008u; /* 02982980 */ rbrew_write32(cpu->mem, _t87, cpu->r[30]); L_02982984: ; // 0x2982984 /* 02982984 */ _t88 = cpu->r[31] + 0x00000080u; /* 02982984 */ rbrew_write32(cpu->mem, _t88, cpu->r[30]); /* 02982988 */ cpu->r[3] = cpu->r[31] + 0x00000004u; /* 0298298C */ _t89 = cpu->r[31] + 0x00000094u; /* 0298298C */ rbrew_write32(cpu->mem, _t89, cpu->r[30]); /* 02982990 */ cpu->r[5] = 0x00000001u; /* 02982994 */ _t90 = cpu->r[31] + 0x00000084u; /* 02982994 */ rbrew_write32(cpu->mem, _t90, cpu->r[30]); /* 02982998 */ cpu->r[4] = 0x00000003u; /* 0298299C */ _t91 = cpu->r[31] + 0x00000088u; /* 0298299C */ rbrew_write16(cpu->mem, _t91, (uint16_t)cpu->r[30]); /* 029829A0 */ _t92 = cpu->r[31] + 0x0000008Eu; /* 029829A0 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[30]); /* 029829A4 */ _t93 = cpu->r[31] + 0x0000008Cu; /* 029829A4 */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[30]); /* 029829A8 */ _t94 = cpu->r[31] + 0x0000008Au; /* 029829A8 */ rbrew_write16(cpu->mem, _t94, (uint16_t)cpu->r[30]); /* 029829AC */ _t95 = cpu->r[31] + 0x00000090u; /* 029829AC */ rbrew_write32(cpu->mem, _t95, cpu->r[30]); /* 029829B0 */ Gambit_fn_02A11408(cpu); L_029829B4: ; // 0x29829b4 /* 029829B4 */ _t96 = cpu->r[1] + 0x00000014u; /* 029829B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96); /* 029829B8 */ cpu->r[3] = cpu->r[31]; /* 029829BC */ _t97 = cpu->r[1] + 0x0000000Cu; /* 029829BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t97); /* 029829C0 */ cpu->lr = cpu->r[0]; /* 029829C4 */ _t98 = cpu->r[1] + 0x00000008u; /* 029829C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t98); /* 029829C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029829CC */ return; } // fn_029827A0 @ 0x29827a0 void Gambit_fn_029827A0(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_029827A0: ; // 0x29827a0 /* 029827A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029827A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029827A0 */ cpu->r[1] = _t0; /* 029827A4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029827A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029827A8 */ _t2 = cpu->r[1] + 0x00000008u; /* 029827A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029827AC */ cpu->r[31] = cpu->r[3]; /* 029827AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029827B0 */ _t3 = cpu->r[1] + 0x00000014u; /* 029827B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 029827B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 029827B4 */ _t5 = _t4 & 0x00000001u; /* 029827B4 */ if (_t5) goto L_029827B8; else goto L_029827C8; L_029827B8: ; // 0x29827b8 /* 029827B8 */ cpu->r[3] = 0x00000098u; /* 029827BC */ Gambit_fn_02801A78(cpu); /* 029827C0 */ cpu->r[31] = cpu->r[3]; /* 029827C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029827C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029827C4 */ _t7 = _t6 & 0x00000001u; /* 029827C4 */ if (_t7) goto L_029829B4; else goto L_029827C8; L_029827C8: ; // 0x29827c8 /* 029827C8 */ cpu->r[0] = 0x10150000u; /* 029827CC */ cpu->r[3] = cpu->r[31] + 0x00000008u; /* 029827CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029827D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFEE44u; /* 029827D4 */ cpu->r[12] = 0x10150000u; /* 029827D8 */ _t8 = cpu->r[31] + 0x00000000u; /* 029827D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 029827DC */ cpu->r[12] = cpu->r[12] + 0xFFFFEE5Cu; /* 029827E0 */ cpu->r[30] = 0x00000000u; /* 029827E4 */ _t9 = cpu->r[31] + 0x00000004u; /* 029827E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 029827E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029827E8 */ _t11 = _t10 & 0x00000001u; /* 029827E8 */ if (_t11) goto L_029827EC; else goto L_029827FC; L_029827EC: ; // 0x29827ec /* 029827EC */ cpu->r[3] = 0x00000008u; /* 029827F0 */ Gambit_fn_02801A78(cpu); /* 029827F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029827F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029827F8 */ _t13 = _t12 & 0x00000001u; /* 029827F8 */ if (_t13) goto L_02982804; else goto L_029827FC; L_029827FC: ; // 0x29827fc /* 029827FC */ _t14 = cpu->r[3] + 0x00000004u; /* 029827FC */ rbrew_write32(cpu->mem, _t14, cpu->r[30]); /* 02982800 */ _t15 = cpu->r[3] + 0x00000000u; /* 02982800 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); L_02982804: ; // 0x2982804 /* 02982804 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 02982804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982808 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982808 */ _t17 = _t16 & 0x00000001u; /* 02982808 */ if (_t17) goto L_0298280C; else goto L_0298281C; L_0298280C: ; // 0x298280c /* 0298280C */ cpu->r[3] = 0x00000018u; /* 02982810 */ Gambit_fn_02801A78(cpu); /* 02982814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982818 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982818 */ _t19 = _t18 & 0x00000001u; /* 02982818 */ if (_t19) goto L_02982824; else goto L_0298281C; L_0298281C: ; // 0x298281c /* 0298281C */ _t20 = cpu->r[3] + 0x00000014u; /* 0298281C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 02982820 */ _t21 = cpu->r[3] + 0x00000010u; /* 02982820 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]); L_02982824: ; // 0x2982824 /* 02982824 */ cpu->r[3] = cpu->r[31] + 0x00000028u; /* 02982824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982828 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982828 */ _t23 = _t22 & 0x00000001u; /* 02982828 */ if (_t23) goto L_0298282C; else goto L_0298283C; L_0298282C: ; // 0x298282c /* 0298282C */ cpu->r[3] = 0x00000008u; /* 02982830 */ Gambit_fn_02801A78(cpu); /* 02982834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982838 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982838 */ _t25 = _t24 & 0x00000001u; /* 02982838 */ if (_t25) goto L_02982844; else goto L_0298283C; L_0298283C: ; // 0x298283c /* 0298283C */ _t26 = cpu->r[3] + 0x00000004u; /* 0298283C */ rbrew_write32(cpu->mem, _t26, cpu->r[30]); /* 02982840 */ _t27 = cpu->r[3] + 0x00000000u; /* 02982840 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]); L_02982844: ; // 0x2982844 /* 02982844 */ cpu->r[3] = cpu->r[31] + 0x00000030u; /* 02982844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982848 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982848 */ _t29 = _t28 & 0x00000001u; /* 02982848 */ if (_t29) goto L_0298284C; else goto L_0298285C; L_0298284C: ; // 0x298284c /* 0298284C */ cpu->r[3] = 0x00000008u; /* 02982850 */ Gambit_fn_02801A78(cpu); /* 02982854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982858 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982858 */ _t31 = _t30 & 0x00000001u; /* 02982858 */ if (_t31) goto L_02982864; else goto L_0298285C; L_0298285C: ; // 0x298285c /* 0298285C */ _t32 = cpu->r[3] + 0x00000004u; /* 0298285C */ rbrew_write32(cpu->mem, _t32, cpu->r[30]); /* 02982860 */ _t33 = cpu->r[3] + 0x00000000u; /* 02982860 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]); L_02982864: ; // 0x2982864 /* 02982864 */ cpu->r[3] = cpu->r[31] + 0x00000038u; /* 02982864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982868 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982868 */ _t35 = _t34 & 0x00000001u; /* 02982868 */ if (_t35) goto L_0298286C; else goto L_0298287C; L_0298286C: ; // 0x298286c /* 0298286C */ cpu->r[3] = 0x00000008u; /* 02982870 */ Gambit_fn_02801A78(cpu); /* 02982874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982878 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982878 */ _t37 = _t36 & 0x00000001u; /* 02982878 */ if (_t37) goto L_02982884; else goto L_0298287C; L_0298287C: ; // 0x298287c /* 0298287C */ _t38 = cpu->r[3] + 0x00000004u; /* 0298287C */ rbrew_write32(cpu->mem, _t38, cpu->r[30]); /* 02982880 */ _t39 = cpu->r[3] + 0x00000000u; /* 02982880 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]); L_02982884: ; // 0x2982884 /* 02982884 */ cpu->r[3] = cpu->r[31] + 0x00000040u; /* 02982884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982888 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982888 */ _t41 = _t40 & 0x00000001u; /* 02982888 */ if (_t41) goto L_0298288C; else goto L_0298289C; L_0298288C: ; // 0x298288c /* 0298288C */ cpu->r[3] = 0x00000008u; /* 02982890 */ Gambit_fn_02801A78(cpu); /* 02982894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982898 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982898 */ _t43 = _t42 & 0x00000001u; /* 02982898 */ if (_t43) goto L_029828A4; else goto L_0298289C; L_0298289C: ; // 0x298289c /* 0298289C */ _t44 = cpu->r[3] + 0x00000004u; /* 0298289C */ rbrew_write32(cpu->mem, _t44, cpu->r[30]); /* 029828A0 */ _t45 = cpu->r[3] + 0x00000000u; /* 029828A0 */ rbrew_write32(cpu->mem, _t45, cpu->r[30]); L_029828A4: ; // 0x29828a4 /* 029828A4 */ cpu->r[3] = cpu->r[31] + 0x00000048u; /* 029828A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828A8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828A8 */ _t47 = _t46 & 0x00000001u; /* 029828A8 */ if (_t47) goto L_029828AC; else goto L_029828BC; L_029828AC: ; // 0x29828ac /* 029828AC */ cpu->r[3] = 0x00000008u; /* 029828B0 */ Gambit_fn_02801A78(cpu); /* 029828B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828B8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828B8 */ _t49 = _t48 & 0x00000001u; /* 029828B8 */ if (_t49) goto L_029828C4; else goto L_029828BC; L_029828BC: ; // 0x29828bc /* 029828BC */ _t50 = cpu->r[3] + 0x00000004u; /* 029828BC */ rbrew_write32(cpu->mem, _t50, cpu->r[30]); /* 029828C0 */ _t51 = cpu->r[3] + 0x00000000u; /* 029828C0 */ rbrew_write32(cpu->mem, _t51, cpu->r[30]); L_029828C4: ; // 0x29828c4 /* 029828C4 */ cpu->r[3] = cpu->r[31] + 0x00000050u; /* 029828C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828C8 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828C8 */ _t53 = _t52 & 0x00000001u; /* 029828C8 */ if (_t53) goto L_029828CC; else goto L_029828DC; L_029828CC: ; // 0x29828cc /* 029828CC */ cpu->r[3] = 0x00000008u; /* 029828D0 */ Gambit_fn_02801A78(cpu); /* 029828D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828D8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828D8 */ _t55 = _t54 & 0x00000001u; /* 029828D8 */ if (_t55) goto L_029828E4; else goto L_029828DC; L_029828DC: ; // 0x29828dc /* 029828DC */ _t56 = cpu->r[3] + 0x00000004u; /* 029828DC */ rbrew_write32(cpu->mem, _t56, cpu->r[30]); /* 029828E0 */ _t57 = cpu->r[3] + 0x00000000u; /* 029828E0 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]); L_029828E4: ; // 0x29828e4 /* 029828E4 */ cpu->r[3] = cpu->r[31] + 0x00000058u; /* 029828E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828E8 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828E8 */ _t59 = _t58 & 0x00000001u; /* 029828E8 */ if (_t59) goto L_029828EC; else goto L_029828FC; L_029828EC: ; // 0x29828ec /* 029828EC */ cpu->r[3] = 0x00000008u; /* 029828F0 */ Gambit_fn_02801A78(cpu); /* 029828F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029828F8 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 029828F8 */ _t61 = _t60 & 0x00000001u; /* 029828F8 */ if (_t61) goto L_02982904; else goto L_029828FC; L_029828FC: ; // 0x29828fc /* 029828FC */ _t62 = cpu->r[3] + 0x00000004u; /* 029828FC */ rbrew_write32(cpu->mem, _t62, cpu->r[30]); /* 02982900 */ _t63 = cpu->r[3] + 0x00000000u; /* 02982900 */ rbrew_write32(cpu->mem, _t63, cpu->r[30]); L_02982904: ; // 0x2982904 /* 02982904 */ cpu->r[3] = cpu->r[31] + 0x00000060u; /* 02982904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982908 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982908 */ _t65 = _t64 & 0x00000001u; /* 02982908 */ if (_t65) goto L_0298290C; else goto L_0298291C; L_0298290C: ; // 0x298290c /* 0298290C */ cpu->r[3] = 0x00000008u; /* 02982910 */ Gambit_fn_02801A78(cpu); /* 02982914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982918 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982918 */ _t67 = _t66 & 0x00000001u; /* 02982918 */ if (_t67) goto L_02982924; else goto L_0298291C; L_0298291C: ; // 0x298291c /* 0298291C */ _t68 = cpu->r[3] + 0x00000004u; /* 0298291C */ rbrew_write32(cpu->mem, _t68, cpu->r[30]); /* 02982920 */ _t69 = cpu->r[3] + 0x00000000u; /* 02982920 */ rbrew_write32(cpu->mem, _t69, cpu->r[30]); L_02982924: ; // 0x2982924 /* 02982924 */ cpu->r[3] = cpu->r[31] + 0x00000068u; /* 02982924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982928 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982928 */ _t71 = _t70 & 0x00000001u; /* 02982928 */ if (_t71) goto L_0298292C; else goto L_0298293C; L_0298292C: ; // 0x298292c /* 0298292C */ cpu->r[3] = 0x00000008u; /* 02982930 */ Gambit_fn_02801A78(cpu); /* 02982934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982938 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982938 */ _t73 = _t72 & 0x00000001u; /* 02982938 */ if (_t73) goto L_02982944; else goto L_0298293C; L_0298293C: ; // 0x298293c /* 0298293C */ _t74 = cpu->r[3] + 0x00000004u; /* 0298293C */ rbrew_write32(cpu->mem, _t74, cpu->r[30]); /* 02982940 */ _t75 = cpu->r[3] + 0x00000000u; /* 02982940 */ rbrew_write32(cpu->mem, _t75, cpu->r[30]); L_02982944: ; // 0x2982944 /* 02982944 */ cpu->r[3] = cpu->r[31] + 0x00000074u; /* 02982944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982948 */ _t76 = cpu->r[31] + 0x00000070u; /* 02982948 */ rbrew_write32(cpu->mem, _t76, cpu->r[30]); /* 0298294C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298294C */ _t78 = _t77 & 0x00000001u; /* 0298294C */ if (_t78) goto L_02982950; else goto L_02982960; L_02982950: ; // 0x2982950 /* 02982950 */ cpu->r[3] = 0x0000000Cu; /* 02982954 */ Gambit_fn_02801A78(cpu); /* 02982958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298295C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298295C */ _t80 = _t79 & 0x00000001u; /* 0298295C */ if (_t80) goto L_02982984; else goto L_02982960; L_02982960: ; // 0x2982960 /* 02982960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982964 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982964 */ _t82 = _t81 & 0x00000001u; /* 02982964 */ if (_t82) goto L_02982968; else goto L_02982978; L_02982968: ; // 0x2982968 /* 02982968 */ cpu->r[3] = 0x0000000Cu; /* 0298296C */ Gambit_fn_02801A78(cpu); /* 02982970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982974 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982974 */ _t84 = _t83 & 0x00000001u; /* 02982974 */ if (_t84) goto L_02982984; else goto L_02982978; L_02982978: ; // 0x2982978 /* 02982978 */ _t85 = cpu->r[3] + 0x00000004u; /* 02982978 */ rbrew_write32(cpu->mem, _t85, cpu->r[30]); /* 0298297C */ _t86 = cpu->r[3] + 0x00000000u; /* 0298297C */ rbrew_write32(cpu->mem, _t86, cpu->r[30]); /* 02982980 */ _t87 = cpu->r[3] + 0x00000008u; /* 02982980 */ rbrew_write32(cpu->mem, _t87, cpu->r[30]); L_02982984: ; // 0x2982984 /* 02982984 */ _t88 = cpu->r[31] + 0x00000080u; /* 02982984 */ rbrew_write32(cpu->mem, _t88, cpu->r[30]); /* 02982988 */ cpu->r[3] = cpu->r[31] + 0x00000004u; /* 0298298C */ _t89 = cpu->r[31] + 0x00000094u; /* 0298298C */ rbrew_write32(cpu->mem, _t89, cpu->r[30]); /* 02982990 */ cpu->r[5] = 0x00000001u; /* 02982994 */ _t90 = cpu->r[31] + 0x00000084u; /* 02982994 */ rbrew_write32(cpu->mem, _t90, cpu->r[30]); /* 02982998 */ cpu->r[4] = 0x00000003u; /* 0298299C */ _t91 = cpu->r[31] + 0x00000088u; /* 0298299C */ rbrew_write16(cpu->mem, _t91, (uint16_t)cpu->r[30]); /* 029829A0 */ _t92 = cpu->r[31] + 0x0000008Eu; /* 029829A0 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[30]); /* 029829A4 */ _t93 = cpu->r[31] + 0x0000008Cu; /* 029829A4 */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[30]); /* 029829A8 */ _t94 = cpu->r[31] + 0x0000008Au; /* 029829A8 */ rbrew_write16(cpu->mem, _t94, (uint16_t)cpu->r[30]); /* 029829AC */ _t95 = cpu->r[31] + 0x00000090u; /* 029829AC */ rbrew_write32(cpu->mem, _t95, cpu->r[30]); /* 029829B0 */ Gambit_fn_02A11408(cpu); L_029829B4: ; // 0x29829b4 /* 029829B4 */ _t96 = cpu->r[1] + 0x00000014u; /* 029829B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96); /* 029829B8 */ cpu->r[3] = cpu->r[31]; /* 029829BC */ _t97 = cpu->r[1] + 0x0000000Cu; /* 029829BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t97); /* 029829C0 */ cpu->lr = cpu->r[0]; /* 029829C4 */ _t98 = cpu->r[1] + 0x00000008u; /* 029829C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t98); /* 029829C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029829CC */ return; } // fn_029829D0 @ 0x29829d0 void Gambit_fn_029829D0(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; L_029829D0: ; // 0x29829d0 /* 029829D0 */ _t0 = cpu->r[1] + 0xFFFFFB20u; /* 029829D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029829D0 */ cpu->r[1] = _t0; /* 029829D4 */ /* nop */ /* 029829D8 */ cpu->r[0] = cpu->lr; /* 029829DC */ _t1 = cpu->r[1] + 0x000004E4u; /* 029829DC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029829E0 */ _t2 = cpu->r[1] + 0x000004D0u; /* 029829E0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 029829E4 */ _t3 = cpu->r[1] + 0x00000030u; /* 029829E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 029829E8 */ /* nop */ /* 029829EC */ _t4 = cpu->r[1] + 0x000004D8u; /* 029829EC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]); /* 029829F0 */ _t5 = cpu->r[1] + 0x00000034u; /* 029829F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]); /* 029829F4 */ _t6 = cpu->r[7] + 0x00000000u; /* 029829F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 029829F8 */ cpu->r[31] = cpu->r[8]; /* 029829FC */ _t7 = cpu->r[1] + 0x00000038u; /* 029829FC */ rbrew_write32(cpu->mem, _t7, cpu->r[7]); /* 02982A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02982A04 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02982A04 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]); /* 02982A08 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u); /* 02982A08 */ _t10 = _t9 & 0x00000001u; /* 02982A08 */ if (_t10) goto L_02982A0C; else goto L_02983130; L_02982A0C: ; // 0x2982a0c /* 02982A0C */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02982A0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t11); /* 02982A10 */ _t12 = cpu->r[6] + 0x00000074u; /* 02982A10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12); /* 02982A14 */ _t13 = cpu->r[6] + 0x0000007Cu; /* 02982A14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 02982A18 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02982A1C */ cpu->r[12] = cpu->r[10] + cpu->r[5]; /* 02982A20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]); /* 02982A24 */ cpu->r[30] = 0x00000000u; /* 02982A28 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982A28 */ _t15 = _t14 & 0x00000001u; /* 02982A28 */ if (_t15) goto L_02983130; else goto L_02982A2C; L_02982A2C: ; // 0x2982a2c /* 02982A2C */ _t16 = cpu->r[10] + 0x00000000u; /* 02982A2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 02982A30 */ _t17 = cpu->r[11] + 0x0000001Cu; /* 02982A30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17); /* 02982A34 */ cpu->r[10] = cpu->r[10] + 0x00000004u; /* 02982A38 */ _t18 = cpu->r[4] + 0x00000054u; /* 02982A38 */ cpu->r[0] = rbrew_read16(cpu->mem, _t18); /* 02982A3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]); /* 02982A40 */ cpu->r[30] = cpu->r[30] + cpu->r[0]; /* 02982A44 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982A44 */ _t20 = _t19 & 0x00000001u; /* 02982A44 */ if (_t20) goto L_02982A48; else goto L_02982A2C; L_02982A48: ; // 0x2982a48 /* 02982A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02982A4C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u); /* 02982A4C */ _t22 = _t21 & 0x00000001u; /* 02982A4C */ if (_t22) goto L_02982A50; else goto L_02983130; L_02982A50: ; // 0x2982a50 /* 02982A50 */ _t23 = cpu->r[1] + 0x00000030u; /* 02982A50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23); /* 02982A54 */ cpu->r[0] = 0x101D0000u; /* 02982A58 */ cpu->r[0] = cpu->r[0] + 0xFFFF98F0u; /* 02982A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982A60 */ _t24 = cpu->r[1] + 0x00000010u; /* 02982A60 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]); /* 02982A64 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982A64 */ _t26 = _t25 & 0x00000001u; /* 02982A64 */ if (_t26) goto L_02982A68; else goto L_02982A74; L_02982A68: ; // 0x2982a68 /* 02982A68 */ _t27 = cpu->r[1] + 0x00000010u; /* 02982A68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 02982A6C */ _t28 = cpu->r[12] + 0x00000000u; /* 02982A6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28); /* 02982A70 */ Gambit_fn_02826F20(cpu); L_02982A74: ; // 0x2982a74 /* 02982A74 */ _t29 = cpu->r[3] + 0x0000000Cu; /* 02982A74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29); /* 02982A78 */ _t30 = cpu->r[4] + 0x00000034u; /* 02982A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 02982A7C */ cpu->ctr = cpu->r[0]; /* 02982A80 */ cpu->r[4] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02982A84 */ cpu->r[5] = 0x00000004u; /* 02982A88 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02982A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02982A90 */ cpu->r[0] = cpu->r[30]; /* 02982A94 */ cpu->r[10] = 0x00000000u; /* 02982A98 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u); /* 02982A98 */ _t32 = _t31 & 0x00000001u; /* 02982A98 */ if (_t32) goto L_02982AA0; else goto L_02982A9C; L_02982A9C: ; // 0x2982a9c /* 02982A9C */ cpu->r[0] = 0x00000001u; L_02982AA0: ; // 0x2982aa0 /* 02982AA0 */ cpu->ctr = cpu->r[0]; /* 02982AA4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02982AA8 */ cpu->r[4] = 0x00000000u; L_02982AAC: ; // 0x2982aac /* 02982AAC */ cpu->r[9] = cpu->r[3] + cpu->r[12]; /* 02982AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02982AB0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982AB0 */ _t34 = _t33 & 0x00000001u; /* 02982AB0 */ if (_t34) goto L_02982ABC; else goto L_02982AB4; L_02982AB4: ; // 0x2982ab4 /* 02982AB4 */ _t35 = cpu->r[9] + 0x00000008u; /* 02982AB4 */ rbrew_write32(cpu->mem, _t35, cpu->r[4]); /* 02982AB8 */ _t36 = cpu->r[9] + 0x00000004u; /* 02982AB8 */ rbrew_write32(cpu->mem, _t36, cpu->r[4]); L_02982ABC: ; // 0x2982abc /* 02982ABC */ cpu->r[12] = cpu->r[12] + 0x00000010u; /* 02982AC0 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02982AC0 */ _t37 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02982AC0 */ _t38 = _t37 >> (0x00000002u & 31u); /* 02982AC0 */ _t39 = _t38 & 0x00000001u; /* 02982AC0 */ if (_t39) goto L_02982AAC; else goto L_02982AC4; L_02982AC4: ; // 0x2982ac4 /* 02982AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982AC8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982AC8 */ _t41 = _t40 & 0x00000001u; /* 02982AC8 */ if (_t41) goto L_02982AD8; else goto L_02982ACC; L_02982ACC: ; // 0x2982acc /* 02982ACC */ _t42 = cpu->r[1] + 0x0000000Cu; /* 02982ACC */ cpu->r[10] = rbrew_read32(cpu->mem, _t42); /* 02982AD0 */ _t43 = cpu->r[10] + 0x00000038u; /* 02982AD0 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]); /* 02982AD4 */ _t44 = cpu->r[10] + 0x0000003Cu; /* 02982AD4 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]); L_02982AD8: ; // 0x2982ad8 /* 02982AD8 */ _t45 = cpu->r[1] + 0x0000000Cu; /* 02982AD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45); /* 02982ADC */ _t46 = cpu->r[1] + 0x00000038u; /* 02982ADC */ cpu->r[7] = rbrew_read32(cpu->mem, _t46); /* 02982AE0 */ cpu->r[9] = 0x00000000u; /* 02982AE4 */ _t47 = cpu->r[8] + 0x0000008Au; /* 02982AE4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t47); /* 02982AE8 */ cpu->r[0] = 0x00000001u; /* 02982AEC */ _t48 = cpu->r[7] + 0x00000008u; /* 02982AEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t48); /* 02982AF0 */ cpu->r[8] = 0xFFFFFFFFu; /* 02982AF4 */ _t49 = cpu->r[1] + 0x0000004Cu; /* 02982AF4 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]); /* 02982AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02982AFC */ _t50 = cpu->r[1] + 0x0000004Du; /* 02982AFC */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[9]); /* 02982B00 */ cpu->r[28] = cpu->r[1] + 0x00000048u; /* 02982B04 */ _t51 = cpu->r[1] + 0x00000040u; /* 02982B04 */ rbrew_write32(cpu->mem, _t51, cpu->r[4]); /* 02982B08 */ _t52 = cpu->r[1] + 0x00000048u; /* 02982B08 */ rbrew_write32(cpu->mem, _t52, cpu->r[8]); /* 02982B0C */ cpu->r[27] = cpu->r[1] + 0x00000044u; /* 02982B10 */ _t53 = cpu->r[1] + 0x00000044u; /* 02982B10 */ rbrew_write32(cpu->mem, _t53, cpu->r[8]); /* 02982B14 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982B14 */ _t55 = _t54 & 0x00000001u; /* 02982B14 */ if (_t55) goto L_02982B1C; else goto L_02982B18; L_02982B18: ; // 0x2982b18 /* 02982B18 */ cpu->r[9] = 0x00000001u; L_02982B1C: ; // 0x2982b1c /* 02982B1C */ _t56 = cpu->r[1] + 0x0000000Cu; /* 02982B1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t56); /* 02982B20 */ cpu->r[6] = 0x00000000u; /* 02982B24 */ _t57 = cpu->r[1] + 0x00000050u; /* 02982B24 */ rbrew_write32(cpu->mem, _t57, cpu->r[6]); /* 02982B28 */ _t58 = cpu->r[5] + 0x00000074u; /* 02982B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58); /* 02982B2C */ _t59 = cpu->r[1] + 0x00000054u; /* 02982B2C */ rbrew_write32(cpu->mem, _t59, cpu->r[6]); /* 02982B30 */ _t60 = cpu->r[5] + 0x0000007Cu; /* 02982B30 */ cpu->r[14] = rbrew_read32(cpu->mem, _t60); /* 02982B34 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02982B38 */ _t61 = cpu->r[1] + 0x0000002Cu; /* 02982B38 */ rbrew_write32(cpu->mem, _t61, cpu->r[6]); /* 02982B3C */ cpu->r[0] = cpu->r[14] + cpu->r[7]; /* 02982B40 */ _t62 = cpu->r[1] + 0x0000004Eu; /* 02982B40 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[9]); /* 02982B44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[0]); /* 02982B48 */ _t63 = cpu->r[1] + 0x00000024u; /* 02982B48 */ rbrew_write32(cpu->mem, _t63, cpu->r[6]); /* 02982B4C */ _t64 = cpu->r[1] + 0x00000014u; /* 02982B4C */ rbrew_write32(cpu->mem, _t64, cpu->r[0]); /* 02982B50 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982B50 */ _t66 = _t65 & 0x00000001u; /* 02982B50 */ if (_t66) goto L_02982F48; else goto L_02982B54; L_02982B54: ; // 0x2982b54 /* 02982B54 */ _t67 = cpu->r[14] + 0x00000000u; /* 02982B54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t67); /* 02982B58 */ _t68 = cpu->r[5] + 0x0000001Cu; /* 02982B58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t68); /* 02982B5C */ _t69 = cpu->r[11] + 0x00000054u; /* 02982B5C */ cpu->r[4] = rbrew_read16(cpu->mem, _t69); /* 02982B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02982B64 */ _t70 = cpu->r[1] + 0x00000008u; /* 02982B64 */ rbrew_write32(cpu->mem, _t70, cpu->r[4]); /* 02982B68 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982B68 */ _t72 = _t71 & 0x00000001u; /* 02982B68 */ if (_t72) goto L_02982F2C; else goto L_02982B6C; L_02982B6C: ; // 0x2982b6c /* 02982B6C */ cpu->r[0] = 0x00000000u; /* 02982B70 */ _t73 = cpu->r[1] + 0x0000002Cu; /* 02982B70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73); /* 02982B74 */ cpu->r[10] = 0x00000000u; /* 02982B78 */ _t74 = cpu->r[1] + 0x00000020u; /* 02982B78 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]); /* 02982B7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02982B80 */ _t75 = cpu->r[1] + 0x0000001Cu; /* 02982B80 */ rbrew_write32(cpu->mem, _t75, cpu->r[10]); /* 02982B84 */ _t76 = cpu->r[1] + 0x00000028u; /* 02982B84 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]); /* 02982B88 */ cpu->r[24] = 0x101D0000u; /* 02982B8C */ _t77 = cpu->r[1] + 0x00000018u; /* 02982B8C */ rbrew_write32(cpu->mem, _t77, cpu->r[10]); /* 02982B90 */ _t78 = cpu->r[5] + 0x0000001Cu; /* 02982B90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t78); /* 02982B94 */ _t79 = cpu->r[5] + 0x00000028u; /* 02982B94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t79); /* 02982B98 */ cpu->r[6] = 0x00000000u; /* 02982B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02982BA0 */ cpu->r[4] = cpu->r[5] + 0x00000028u; /* 02982BA4 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982BA4 */ _t81 = _t80 & 0x00000001u; /* 02982BA4 */ if (_t81) goto L_02982BAC; else goto L_02982BA8; L_02982BA8: ; // 0x2982ba8 /* 02982BA8 */ cpu->r[6] = cpu->r[4] + cpu->r[7]; L_02982BAC: ; // 0x2982bac /* 02982BAC */ _t82 = cpu->r[1] + 0x0000001Cu; /* 02982BAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t82); /* 02982BB0 */ cpu->r[10] = cpu->r[6] + cpu->r[8]; /* 02982BB4 */ _t83 = cpu->r[10] + 0x00000024u; /* 02982BB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t83); /* 02982BB4 */ cpu->r[10] = _t83; /* 02982BB8 */ cpu->r[11] = 0x00000000u; /* 02982BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02982BC0 */ _t84 = cpu->r[27] + 0x00000000u; /* 02982BC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84); /* 02982BC4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982BC4 */ _t86 = _t85 & 0x00000001u; /* 02982BC4 */ if (_t86) goto L_02982BCC; else goto L_02982BC8; L_02982BC8: ; // 0x2982bc8 /* 02982BC8 */ cpu->r[11] = cpu->r[10] + cpu->r[8]; L_02982BCC: ; // 0x2982bcc /* 02982BCC */ cpu->r[19] = cpu->r[11]; /* 02982BD0 */ _t87 = cpu->r[19] + 0x00000014u; /* 02982BD0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t87); /* 02982BD4 */ cpu->r[6] = cpu->r[27]; /* 02982BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]); /* 02982BDC */ _t88 = cpu->r[1] + 0x0000003Cu; /* 02982BDC */ rbrew_write32(cpu->mem, _t88, cpu->r[0]); /* 02982BE0 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u); /* 02982BE0 */ _t90 = _t89 & 0x00000001u; /* 02982BE0 */ if (_t90) goto L_02982BE4; else goto L_02982BE8; L_02982BE4: ; // 0x2982be4 /* 02982BE4 */ cpu->r[6] = cpu->r[1] + 0x0000003Cu; L_02982BE8: ; // 0x2982be8 /* 02982BE8 */ _t91 = cpu->r[6] + 0x00000000u; /* 02982BE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t91); /* 02982BEC */ _t92 = cpu->r[28] + 0x00000000u; /* 02982BEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t92); /* 02982BF0 */ _t93 = cpu->r[27] + 0x00000000u; /* 02982BF0 */ rbrew_write32(cpu->mem, _t93, cpu->r[5]); /* 02982BF4 */ _t94 = cpu->r[19] + 0x00000018u; /* 02982BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94); /* 02982BF8 */ cpu->r[8] = cpu->r[28]; /* 02982BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]); /* 02982C00 */ _t95 = cpu->r[1] + 0x0000003Cu; /* 02982C00 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]); /* 02982C04 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u); /* 02982C04 */ _t97 = _t96 & 0x00000001u; /* 02982C04 */ if (_t97) goto L_02982C08; else goto L_02982C0C; L_02982C08: ; // 0x2982c08 /* 02982C08 */ cpu->r[8] = cpu->r[1] + 0x0000003Cu; L_02982C0C: ; // 0x2982c0c /* 02982C0C */ _t98 = cpu->r[8] + 0x00000000u; /* 02982C0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t98); /* 02982C10 */ _t99 = cpu->r[1] + 0x00000024u; /* 02982C10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t99); /* 02982C14 */ _t100 = cpu->r[28] + 0x00000000u; /* 02982C14 */ rbrew_write32(cpu->mem, _t100, cpu->r[9]); /* 02982C18 */ _t101 = cpu->r[19] + 0x0000000Cu; /* 02982C18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t101); /* 02982C1C */ cpu->r[6] = cpu->r[11] + 0x00000001u; /* 02982C20 */ _t102 = cpu->r[1] + 0x0000000Cu; /* 02982C20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t102); /* 02982C24 */ _t103 = cpu->r[1] + 0x00000018u; /* 02982C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103); /* 02982C28 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02982C2C */ _t104 = cpu->r[1] + 0x00000024u; /* 02982C2C */ rbrew_write32(cpu->mem, _t104, cpu->r[6]); /* 02982C30 */ _t105 = cpu->r[1] + 0x00000054u; /* 02982C30 */ rbrew_write32(cpu->mem, _t105, cpu->r[0]); /* 02982C34 */ cpu->r[6] = cpu->r[10] ^ 0x00000001u; /* 02982C38 */ _t106 = cpu->r[1] + 0x0000004Du; /* 02982C38 */ cpu->r[8] = rbrew_read8(cpu->mem, _t106); /* 02982C3C */ _t107 = cpu->r[5] + 0x00000038u; /* 02982C3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t107); /* 02982C40 */ cpu->r[8] = cpu->r[8] | cpu->r[6]; /* 02982C44 */ _t108 = cpu->r[1] + 0x00000050u; /* 02982C44 */ rbrew_write32(cpu->mem, _t108, cpu->r[0]); /* 02982C48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]); /* 02982C4C */ _t109 = cpu->r[1] + 0x0000004Du; /* 02982C4C */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[8]); /* 02982C50 */ cpu->r[20] = 0x00000000u; /* 02982C54 */ _t110 = cpu->r[5] + 0x0000003Cu; /* 02982C54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t110); /* 02982C58 */ _t111 = cpu->cr[0] >> (0x00000003u & 31u); /* 02982C58 */ _t112 = _t111 & 0x00000001u; /* 02982C58 */ if (_t112) goto L_02982C5C; else goto L_02982C8C; L_02982C5C: ; // 0x2982c5c /* 02982C5C */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02982C60 */ _t113 = cpu->r[1] + 0x00000020u; /* 02982C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113); /* 02982C64 */ cpu->r[21] = cpu->r[12] + cpu->r[5]; /* 02982C68 */ _t114 = cpu->r[14] + 0x00000000u; /* 02982C68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t114); /* 02982C6C */ _t115 = cpu->r[12] + 0x00000028u; /* 02982C6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t115); /* 02982C70 */ _t116 = cpu->r[1] + 0x00000038u; /* 02982C70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t116); /* 02982C74 */ cpu->r[0] = cpu->r[6] + cpu->r[0]; /* 02982C78 */ _t117 = cpu->r[21] + 0x00000000u; /* 02982C78 */ rbrew_write32(cpu->mem, _t117, cpu->r[0]); /* 02982C7C */ _t118 = cpu->r[12] + 0x00000008u; /* 02982C7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t118); /* 02982C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02982C84 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982C84 */ _t120 = _t119 & 0x00000001u; /* 02982C84 */ if (_t120) goto L_02982CBC; else goto L_02982C88; L_02982C88: ; // 0x2982c88 /* 02982C88 */ goto L_02982CB4; L_02982C8C: ; // 0x2982c8c /* 02982C8C */ cpu->r[21] = cpu->r[12]; /* 02982C90 */ _t121 = cpu->r[14] + 0x00000000u; /* 02982C90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t121); /* 02982C94 */ _t122 = cpu->r[1] + 0x00000020u; /* 02982C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122); /* 02982C98 */ _t123 = cpu->r[12] + 0x00000028u; /* 02982C98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t123); /* 02982C9C */ _t124 = cpu->r[1] + 0x00000038u; /* 02982C9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t124); /* 02982CA0 */ cpu->r[0] = cpu->r[6] + cpu->r[0]; /* 02982CA4 */ _t125 = cpu->r[21] + 0x00000000u; /* 02982CA4 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]); /* 02982CA8 */ _t126 = cpu->r[12] + 0x00000008u; /* 02982CA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t126); /* 02982CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02982CB0 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982CB0 */ _t128 = _t127 & 0x00000001u; /* 02982CB0 */ if (_t128) goto L_02982CBC; else goto L_02982CB4; L_02982CB4: ; // 0x2982cb4 /* 02982CB4 */ _t129 = cpu->r[1] + 0x00000028u; /* 02982CB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t129); /* 02982CB8 */ _t130 = cpu->r[9] + cpu->r[11]; /* 02982CB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t130); L_02982CBC: ; // 0x2982cbc /* 02982CBC */ _t131 = cpu->r[21] + 0x0000000Cu; /* 02982CBC */ rbrew_write32(cpu->mem, _t131, cpu->r[9]); /* 02982CC0 */ _t132 = cpu->r[31] + 0x0000001Cu; /* 02982CC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t132); /* 02982CC4 */ cpu->r[17] = 0x00000000u; /* 02982CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[7]); /* 02982CCC */ _t133 = cpu->cr[0] >> (0x00000003u & 31u); /* 02982CCC */ _t134 = _t133 & 0x00000001u; /* 02982CCC */ if (_t134) goto L_02982CD0; else goto L_02982EE4; L_02982CD0: ; // 0x2982cd0 /* 02982CD0 */ cpu->r[26] = 0x00000001u; /* 02982CD4 */ cpu->r[25] = 0x00000000u; /* 02982CD8 */ cpu->r[23] = rbrew_rlwinm(cpu->r[20], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02982CDC */ cpu->r[22] = 0x101D0000u; L_02982CE0: ; // 0x2982ce0 /* 02982CE0 */ cpu->r[4] = cpu->r[17]; /* 02982CE4 */ cpu->r[3] = cpu->r[31]; /* 02982CE8 */ Gambit_fn_0297FC7C(cpu); /* 02982CEC */ _t135 = cpu->r[31] + 0x0000001Cu; /* 02982CEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t135); /* 02982CF0 */ _t136 = cpu->r[24] + 0xFFFFE218u; /* 02982CF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t136); /* 02982CF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[11]); /* 02982CF8 */ cpu->r[11] = 0x00000000u; /* 02982CFC */ _t137 = cpu->cr[0] >> (0x00000003u & 31u); /* 02982CFC */ _t138 = _t137 & 0x00000001u; /* 02982CFC */ if (_t138) goto L_02982D00; else goto L_02982D08; L_02982D00: ; // 0x2982d00 /* 02982D00 */ _t139 = cpu->r[31] + 0x00000024u; /* 02982D00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t139); /* 02982D04 */ _t140 = cpu->r[12] + cpu->r[25]; /* 02982D04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t140); L_02982D08: ; // 0x2982d08 /* 02982D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02982D0C */ _t141 = cpu->r[11] + 0x00000000u; /* 02982D0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t141); /* 02982D10 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982D10 */ _t143 = _t142 & 0x00000001u; /* 02982D10 */ if (_t143) goto L_02982D14; else goto L_02982D24; L_02982D14: ; // 0x2982d14 /* 02982D14 */ cpu->r[5] = 0x10150000u; /* 02982D18 */ _t144 = cpu->r[24] + 0xFFFFE218u; /* 02982D18 */ rbrew_write32(cpu->mem, _t144, cpu->r[26]); /* 02982D1C */ cpu->r[5] = cpu->r[5] + 0xFFFFEDC8u; /* 02982D20 */ _t145 = cpu->r[22] + 0xFFFFEF88u; /* 02982D20 */ rbrew_write32(cpu->mem, _t145, cpu->r[5]); L_02982D24: ; // 0x2982d24 /* 02982D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02982D28 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982D28 */ _t147 = _t146 & 0x00000001u; /* 02982D28 */ if (_t147) goto L_02982D5C; else goto L_02982D2C; L_02982D2C: ; // 0x2982d2c /* 02982D2C */ _t148 = cpu->r[30] + 0x00000088u; /* 02982D2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t148); /* 02982D30 */ _t149 = cpu->r[7] + 0x0000000Cu; /* 02982D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t149); /* 02982D34 */ cpu->ctr = cpu->r[0]; /* 02982D38 */ cpu->r[3] = cpu->r[30]; /* 02982D3C */ cpu->r[4] = cpu->r[22] + 0xFFFFEF88u; /* 02982D40 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02982D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982D48 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982D48 */ _t151 = _t150 & 0x00000001u; /* 02982D48 */ if (_t151) goto L_02982D5C; else goto L_02982D4C; L_02982D4C: ; // 0x2982d4c /* 02982D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02982D50 */ cpu->r[6] = cpu->r[30]; /* 02982D54 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982D54 */ _t153 = _t152 & 0x00000001u; /* 02982D54 */ if (_t153) goto L_02982D58; else goto L_02982D78; L_02982D58: ; // 0x2982d58 /* 02982D58 */ goto L_02982E24; L_02982D5C: ; // 0x2982d5c /* 02982D5C */ _t154 = cpu->r[31] + 0x0000001Cu; /* 02982D5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t154); /* 02982D60 */ cpu->r[17] = cpu->r[17] + 0x00000001u; /* 02982D64 */ cpu->r[6] = 0x00000000u; /* 02982D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[9]); /* 02982D6C */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 02982D70 */ _t155 = cpu->cr[0] >> (0x00000003u & 31u); /* 02982D70 */ _t156 = _t155 & 0x00000001u; /* 02982D70 */ if (_t156) goto L_02982CE0; else goto L_02982D74; L_02982D74: ; // 0x2982d74 /* 02982D74 */ goto L_02982E38; L_02982D78: ; // 0x2982d78 /* 02982D78 */ _t157 = cpu->r[19] + 0x00000014u; /* 02982D78 */ cpu->r[15] = rbrew_read16(cpu->mem, _t157); /* 02982D7C */ _t158 = cpu->r[6] + 0x000000ACu; /* 02982D7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t158); /* 02982D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000000u); /* 02982D84 */ _t159 = cpu->r[4] + 0x00000000u; /* 02982D84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t159); /* 02982D88 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982D88 */ _t161 = _t160 & 0x00000001u; /* 02982D88 */ if (_t161) goto L_02982E24; else goto L_02982D8C; L_02982D8C: ; // 0x2982d8c /* 02982D8C */ cpu->r[29] = cpu->r[19] + 0x00000020u; /* 02982D90 */ cpu->r[30] = cpu->r[8] + 0x00000010u; /* 02982D94 */ cpu->r[18] = cpu->r[1] + 0x0000008Cu; /* 02982D98 */ cpu->r[16] = 0x00000000u; L_02982D9C: ; // 0x2982d9c /* 02982D9C */ _t162 = cpu->r[29] + 0x00000000u; /* 02982D9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t162); /* 02982DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02982DA4 */ cpu->r[8] = 0x00000000u; /* 02982DA8 */ _t163 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982DA8 */ _t164 = _t163 & 0x00000001u; /* 02982DA8 */ if (_t164) goto L_02982DB0; else goto L_02982DAC; L_02982DAC: ; // 0x2982dac /* 02982DAC */ cpu->r[8] = cpu->r[29] + cpu->r[9]; L_02982DB0: ; // 0x2982db0 /* 02982DB0 */ cpu->r[6] = cpu->r[8] + cpu->r[16]; /* 02982DB4 */ _t165 = cpu->r[6] + 0x00000004u; /* 02982DB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t165); /* 02982DB8 */ cpu->r[9] = cpu->r[6] + 0x00000004u; /* 02982DBC */ cpu->r[0] = 0x00000000u; /* 02982DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02982DC4 */ _t166 = cpu->r[30] + 0x00000000u; /* 02982DC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t166); /* 02982DC8 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982DC8 */ _t168 = _t167 & 0x00000001u; /* 02982DC8 */ if (_t168) goto L_02982DD4; else goto L_02982DCC; L_02982DCC: ; // 0x2982dcc /* 02982DCC */ cpu->r[8] = cpu->r[9] + cpu->r[10]; /* 02982DD0 */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFCu; L_02982DD4: ; // 0x2982dd4 /* 02982DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02982DD8 */ cpu->r[3] = 0x00000000u; /* 02982DDC */ cpu->r[4] = cpu->r[0]; /* 02982DE0 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982DE0 */ _t170 = _t169 & 0x00000001u; /* 02982DE0 */ if (_t170) goto L_02982DE8; else goto L_02982DE4; L_02982DE4: ; // 0x2982de4 /* 02982DE4 */ cpu->r[3] = cpu->r[30] + cpu->r[11]; L_02982DE8: ; // 0x2982de8 /* 02982DE8 */ Gambit_fn_02C606B8(cpu); /* 02982DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982DF0 */ _t171 = cpu->cr[0] >> (0x00000003u & 31u); /* 02982DF0 */ _t172 = _t171 & 0x00000001u; /* 02982DF0 */ if (_t172) goto L_02982E18; else goto L_02982DF4; L_02982DF4: ; // 0x2982df4 /* 02982DF4 */ _t173 = cpu->r[31] + 0x0000001Cu; /* 02982DF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t173); /* 02982DF8 */ cpu->r[20] = cpu->r[20] + 0x00000001u; /* 02982DFC */ _t174 = cpu->r[18] + cpu->r[23]; /* 02982DFC */ rbrew_write32(cpu->mem, _t174, cpu->r[17]); /* 02982E00 */ cpu->r[17] = cpu->r[17] + 0x00000001u; /* 02982E04 */ cpu->r[23] = cpu->r[23] + 0x00000004u; /* 02982E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[9]); /* 02982E0C */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 02982E10 */ _t175 = cpu->cr[0] >> (0x00000003u & 31u); /* 02982E10 */ _t176 = _t175 & 0x00000001u; /* 02982E10 */ if (_t176) goto L_02982CE0; else goto L_02982E14; L_02982E14: ; // 0x2982e14 /* 02982E14 */ goto L_02982E38; L_02982E18: ; // 0x2982e18 /* 02982E18 */ cpu->r[15] = cpu->r[15] + 0xFFFFFFFFu; /* 02982E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000000u); /* 02982E1C */ cpu->r[16] = cpu->r[16] + 0x00000018u; /* 02982E20 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982E20 */ _t178 = _t177 & 0x00000001u; /* 02982E20 */ if (_t178) goto L_02982E24; else goto L_02982D9C; L_02982E24: ; // 0x2982e24 /* 02982E24 */ _t179 = cpu->r[31] + 0x0000001Cu; /* 02982E24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t179); /* 02982E28 */ cpu->r[17] = cpu->r[17] + 0x00000001u; /* 02982E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[9]); /* 02982E30 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 02982E34 */ _t180 = cpu->cr[0] >> (0x00000003u & 31u); /* 02982E34 */ _t181 = _t180 & 0x00000001u; /* 02982E34 */ if (_t181) goto L_02982CE0; else goto L_02982E38; L_02982E38: ; // 0x2982e38 /* 02982E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 02982E3C */ _t182 = cpu->cr[0] >> (0x00000002u & 31u); /* 02982E3C */ _t183 = _t182 & 0x00000001u; /* 02982E3C */ if (_t183) goto L_02982E40; else goto L_02982EE4; L_02982E40: ; // 0x2982e40 /* 02982E40 */ _t184 = cpu->r[1] + 0x00000030u; /* 02982E40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t184); /* 02982E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982E48 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982E48 */ _t186 = _t185 & 0x00000001u; /* 02982E48 */ if (_t186) goto L_02982E4C; else goto L_02982E58; L_02982E4C: ; // 0x2982e4c /* 02982E4C */ _t187 = cpu->r[1] + 0x00000010u; /* 02982E4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t187); /* 02982E50 */ _t188 = cpu->r[9] + 0x00000000u; /* 02982E50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t188); /* 02982E54 */ Gambit_fn_02826F20(cpu); L_02982E58: ; // 0x2982e58 /* 02982E58 */ _t189 = cpu->r[3] + 0x0000000Cu; /* 02982E58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t189); /* 02982E5C */ _t190 = cpu->r[10] + 0x00000034u; /* 02982E5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t190); /* 02982E60 */ cpu->ctr = cpu->r[11]; /* 02982E64 */ cpu->r[5] = 0x00000004u; /* 02982E68 */ cpu->r[4] = rbrew_rlwinm(cpu->r[20], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02982E6C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02982E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 02982E74 */ cpu->r[0] = cpu->r[20]; /* 02982E78 */ _t191 = cpu->cr[0] >> (0x00000002u & 31u); /* 02982E78 */ _t192 = _t191 & 0x00000001u; /* 02982E78 */ if (_t192) goto L_02982E80; else goto L_02982E7C; L_02982E7C: ; // 0x2982e7c /* 02982E7C */ cpu->r[0] = 0x00000001u; L_02982E80: ; // 0x2982e80 /* 02982E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982E84 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982E84 */ _t194 = _t193 & 0x00000001u; /* 02982E84 */ if (_t194) goto L_02982E88; else goto L_02982EA8; L_02982E88: ; // 0x2982e88 /* 02982E88 */ _t195 = cpu->r[21] + 0x00000004u; /* 02982E88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t195); /* 02982E8C */ _t196 = cpu->r[21] + 0x00000008u; /* 02982E8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t196); /* 02982E90 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02982E94 */ cpu->r[5] = cpu->r[3] + cpu->r[12]; /* 02982E98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[5]); /* 02982E9C */ cpu->r[7] = cpu->r[3]; /* 02982EA0 */ _t197 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982EA0 */ _t198 = _t197 & 0x00000001u; /* 02982EA0 */ if (_t198) goto L_02982EE4; else goto L_02982EA4; L_02982EA4: ; // 0x2982ea4 /* 02982EA4 */ goto L_02982EC4; L_02982EA8: ; // 0x2982ea8 /* 02982EA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[20], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02982EAC */ _t199 = cpu->r[21] + 0x00000004u; /* 02982EAC */ rbrew_write32(cpu->mem, _t199, cpu->r[20]); /* 02982EB0 */ cpu->r[5] = cpu->r[3] + cpu->r[12]; /* 02982EB4 */ _t200 = cpu->r[21] + 0x00000008u; /* 02982EB4 */ rbrew_write32(cpu->mem, _t200, cpu->r[3]); /* 02982EB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[5]); /* 02982EBC */ cpu->r[7] = cpu->r[3]; /* 02982EC0 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982EC0 */ _t202 = _t201 & 0x00000001u; /* 02982EC0 */ if (_t202) goto L_02982EE4; else goto L_02982EC4; L_02982EC4: ; // 0x2982ec4 /* 02982EC4 */ cpu->r[11] = cpu->r[1] + 0x0000008Cu; L_02982EC8: ; // 0x2982ec8 /* 02982EC8 */ cpu->r[0] = cpu->r[3] - cpu->r[7]; /* 02982ECC */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Du); /* 02982ED0 */ _t203 = cpu->r[4] + cpu->r[11]; /* 02982ED0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t203); /* 02982ED4 */ _t204 = cpu->r[3] + 0x00000000u; /* 02982ED4 */ rbrew_write16(cpu->mem, _t204, (uint16_t)cpu->r[6]); /* 02982ED8 */ cpu->r[3] = cpu->r[3] + 0x00000002u; /* 02982EDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[5]); /* 02982EE0 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982EE0 */ _t206 = _t205 & 0x00000001u; /* 02982EE0 */ if (_t206) goto L_02982EE4; else goto L_02982EC8; L_02982EE4: ; // 0x2982ee4 /* 02982EE4 */ _t207 = cpu->r[1] + 0x00000008u; /* 02982EE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t207); /* 02982EE8 */ _t208 = cpu->r[1] + 0x00000020u; /* 02982EE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t208); /* 02982EEC */ cpu->r[6] = cpu->r[8] + 0xFFFFFFFFu; /* 02982EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02982EF0 */ _t209 = cpu->r[1] + 0x0000001Cu; /* 02982EF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t209); /* 02982EF4 */ cpu->r[10] = cpu->r[12] + 0x00000008u; /* 02982EF8 */ _t210 = cpu->r[1] + 0x00000008u; /* 02982EF8 */ rbrew_write32(cpu->mem, _t210, cpu->r[6]); /* 02982EFC */ cpu->r[0] = cpu->r[4] + 0x00000010u; /* 02982F00 */ _t211 = cpu->r[1] + 0x00000020u; /* 02982F00 */ rbrew_write32(cpu->mem, _t211, cpu->r[10]); /* 02982F04 */ _t212 = cpu->r[1] + 0x0000001Cu; /* 02982F04 */ rbrew_write32(cpu->mem, _t212, cpu->r[0]); /* 02982F08 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982F08 */ _t214 = _t213 & 0x00000001u; /* 02982F08 */ if (_t214) goto L_02982F2C; else goto L_02982F0C; L_02982F0C: ; // 0x2982f0c /* 02982F0C */ _t215 = cpu->r[14] + 0x00000000u; /* 02982F0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t215); /* 02982F10 */ _t216 = cpu->r[5] + 0x0000001Cu; /* 02982F10 */ cpu->r[5] = rbrew_read32(cpu->mem, _t216); /* 02982F14 */ _t217 = cpu->r[5] + 0x00000028u; /* 02982F14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t217); /* 02982F18 */ cpu->r[6] = 0x00000000u; /* 02982F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02982F20 */ cpu->r[4] = cpu->r[5] + 0x00000028u; /* 02982F24 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982F24 */ _t219 = _t218 & 0x00000001u; /* 02982F24 */ if (_t219) goto L_02982BAC; else goto L_02982F28; L_02982F28: ; // 0x2982f28 /* 02982F28 */ goto L_02982BA8; L_02982F2C: ; // 0x2982f2c /* 02982F2C */ _t220 = cpu->r[1] + 0x0000002Cu; /* 02982F2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t220); /* 02982F30 */ _t221 = cpu->r[1] + 0x00000014u; /* 02982F30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t221); /* 02982F34 */ cpu->r[14] = cpu->r[14] + 0x00000004u; /* 02982F38 */ cpu->r[7] = cpu->r[8] + 0x00000001u; /* 02982F3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[9]); /* 02982F40 */ _t222 = cpu->r[1] + 0x0000002Cu; /* 02982F40 */ rbrew_write32(cpu->mem, _t222, cpu->r[7]); /* 02982F44 */ _t223 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982F44 */ _t224 = _t223 & 0x00000001u; /* 02982F44 */ if (_t224) goto L_02982F48; else goto L_02982B54; L_02982F48: ; // 0x2982f48 /* 02982F48 */ _t225 = cpu->r[1] + 0x00000038u; /* 02982F48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t225); /* 02982F4C */ _t226 = cpu->r[6] + 0x00000000u; /* 02982F4C */ cpu->r[23] = rbrew_read32(cpu->mem, _t226); /* 02982F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02982F54 */ _t227 = cpu->r[1] + 0x00000030u; /* 02982F54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t227); /* 02982F58 */ _t228 = cpu->cr[0] >> (0x00000002u & 31u); /* 02982F58 */ _t229 = _t228 & 0x00000001u; /* 02982F58 */ if (_t229) goto L_02982F5C; else goto L_0298302C; L_02982F5C: ; // 0x2982f5c /* 02982F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982F60 */ _t230 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982F60 */ _t231 = _t230 & 0x00000001u; /* 02982F60 */ if (_t231) goto L_02982F64; else goto L_02982F70; L_02982F64: ; // 0x2982f64 /* 02982F64 */ _t232 = cpu->r[1] + 0x00000010u; /* 02982F64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t232); /* 02982F68 */ _t233 = cpu->r[5] + 0x00000000u; /* 02982F68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t233); /* 02982F6C */ Gambit_fn_02826F20(cpu); L_02982F70: ; // 0x2982f70 /* 02982F70 */ _t234 = cpu->r[3] + 0x0000000Cu; /* 02982F70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t234); /* 02982F74 */ _t235 = cpu->r[8] + 0x00000034u; /* 02982F74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t235); /* 02982F78 */ cpu->ctr = cpu->r[9]; /* 02982F7C */ cpu->r[5] = 0x00000004u; /* 02982F80 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)0x0000006Cu); /* 02982F84 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02982F88 */ cpu->r[24] = cpu->r[3]; /* 02982F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02982F90 */ cpu->r[31] = cpu->r[23]; /* 02982F94 */ cpu->r[0] = 0x00000000u; /* 02982F98 */ _t236 = cpu->cr[0] >> (0x00000002u & 31u); /* 02982F98 */ _t237 = _t236 & 0x00000001u; /* 02982F98 */ if (_t237) goto L_02982FA0; else goto L_02982F9C; L_02982F9C: ; // 0x2982f9c /* 02982F9C */ cpu->r[31] = 0x00000001u; L_02982FA0: ; // 0x2982fa0 /* 02982FA0 */ cpu->r[29] = 0x101B0000u; /* 02982FA4 */ cpu->r[26] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000006Cu); /* 02982FA8 */ cpu->r[27] = 0x00000000u; /* 02982FAC */ cpu->r[29] = cpu->r[29] + 0xFFFFEF08u; /* 02982FB0 */ cpu->r[28] = 0xFFFFFFFFu; L_02982FB4: ; // 0x2982fb4 /* 02982FB4 */ cpu->r[30] = cpu->r[24] + cpu->r[26]; /* 02982FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02982FB8 */ _t238 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982FB8 */ _t239 = _t238 & 0x00000001u; /* 02982FB8 */ if (_t239) goto L_0298300C; else goto L_02982FBC; L_02982FBC: ; // 0x2982fbc /* 02982FBC */ _t240 = cpu->r[30] + 0x00000002u; /* 02982FBC */ rbrew_write16(cpu->mem, _t240, (uint16_t)cpu->r[28]); /* 02982FC0 */ cpu->r[25] = cpu->r[30] + 0x0000000Cu; /* 02982FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02982FC4 */ _t241 = cpu->r[30] + 0x00000000u; /* 02982FC4 */ rbrew_write16(cpu->mem, _t241, (uint16_t)cpu->r[28]); /* 02982FC8 */ _t242 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982FC8 */ _t243 = _t242 & 0x00000001u; /* 02982FC8 */ if (_t243) goto L_02982FCC; else goto L_02982FDC; L_02982FCC: ; // 0x2982fcc /* 02982FCC */ cpu->r[3] = 0x0000005Cu; /* 02982FD0 */ Gambit_fn_02801A78(cpu); /* 02982FD4 */ cpu->r[25] = cpu->r[3]; /* 02982FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02982FD8 */ _t244 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982FD8 */ _t245 = _t244 & 0x00000001u; /* 02982FD8 */ if (_t245) goto L_02982FF0; else goto L_02982FDC; L_02982FDC: ; // 0x2982fdc /* 02982FDC */ cpu->r[3] = cpu->r[25]; /* 02982FE0 */ Gambit_fn_02C4F040(cpu); /* 02982FE4 */ _t246 = cpu->r[25] + 0x00000044u; /* 02982FE4 */ rbrew_write32(cpu->mem, _t246, cpu->r[27]); /* 02982FE8 */ _t247 = cpu->r[25] + 0x00000034u; /* 02982FE8 */ rbrew_write32(cpu->mem, _t247, cpu->r[29]); /* 02982FEC */ _t248 = cpu->r[25] + 0x00000058u; /* 02982FEC */ rbrew_write32(cpu->mem, _t248, cpu->r[27]); L_02982FF0: ; // 0x2982ff0 /* 02982FF0 */ cpu->r[3] = cpu->r[30] + 0x00000068u; /* 02982FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02982FF4 */ _t249 = cpu->cr[0] >> (0x00000001u & 31u); /* 02982FF4 */ _t250 = _t249 & 0x00000001u; /* 02982FF4 */ if (_t250) goto L_02982FF8; else goto L_02983008; L_02982FF8: ; // 0x2982ff8 /* 02982FF8 */ cpu->r[3] = 0x00000004u; /* 02982FFC */ Gambit_fn_02801A78(cpu); /* 02983000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02983004 */ _t251 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983004 */ _t252 = _t251 & 0x00000001u; /* 02983004 */ if (_t252) goto L_0298300C; else goto L_02983008; L_02983008: ; // 0x2983008 /* 02983008 */ _t253 = cpu->r[3] + 0x00000000u; /* 02983008 */ rbrew_write32(cpu->mem, _t253, cpu->r[27]); L_0298300C: ; // 0x298300c /* 0298300C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0298300C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02983010 */ cpu->r[26] = cpu->r[26] + 0x0000006Cu; /* 02983014 */ _t254 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983014 */ _t255 = _t254 & 0x00000001u; /* 02983014 */ if (_t255) goto L_02983018; else goto L_02982FB4; L_02983018: ; // 0x2983018 /* 02983018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 0298301C */ _t256 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298301C */ _t257 = _t256 & 0x00000001u; /* 0298301C */ if (_t257) goto L_0298302C; else goto L_02983020; L_02983020: ; // 0x2983020 /* 02983020 */ _t258 = cpu->r[1] + 0x0000000Cu; /* 02983020 */ cpu->r[4] = rbrew_read32(cpu->mem, _t258); /* 02983024 */ _t259 = cpu->r[4] + 0x00000028u; /* 02983024 */ rbrew_write32(cpu->mem, _t259, cpu->r[23]); /* 02983028 */ _t260 = cpu->r[4] + 0x0000002Cu; /* 02983028 */ rbrew_write32(cpu->mem, _t260, cpu->r[24]); L_0298302C: ; // 0x298302c /* 0298302C */ cpu->r[3] = cpu->r[1] + 0x00000040u; /* 02983030 */ Gambit_fn_02C53FC4(cpu); /* 02983034 */ _t261 = cpu->r[1] + 0x0000000Cu; /* 02983034 */ cpu->r[11] = rbrew_read32(cpu->mem, _t261); /* 02983038 */ cpu->r[0] = 0x00000000u; /* 0298303C */ _t262 = cpu->r[11] + 0x0000008Au; /* 0298303C */ cpu->r[11] = rbrew_read16(cpu->mem, _t262); /* 02983040 */ cpu->r[10] = cpu->r[3] + 0x0000003Fu; /* 02983044 */ _t263 = cpu->r[1] + 0x0000007Cu; /* 02983044 */ rbrew_write32(cpu->mem, _t263, cpu->r[0]); /* 02983048 */ cpu->r[3] = cpu->r[1] + 0x00000078u; /* 0298304C */ _t264 = cpu->r[1] + 0x00000078u; /* 0298304C */ rbrew_write32(cpu->mem, _t264, cpu->r[11]); /* 02983050 */ cpu->r[25] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u); /* 02983054 */ _t265 = cpu->r[1] + 0x00000080u; /* 02983054 */ rbrew_write32(cpu->mem, _t265, cpu->r[0]); /* 02983058 */ Gambit_fn_02C54F18(cpu); /* 0298305C */ _t266 = cpu->r[1] + 0x00000038u; /* 0298305C */ cpu->r[8] = rbrew_read32(cpu->mem, _t266); /* 02983060 */ _t267 = cpu->r[8] + 0x00000000u; /* 02983060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t267); /* 02983064 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)cpu->r[0]); /* 02983068 */ _t268 = cpu->r[1] + 0x00000030u; /* 02983068 */ cpu->r[4] = rbrew_read32(cpu->mem, _t268); /* 0298306C */ cpu->r[26] = cpu->r[3]; /* 02983070 */ cpu->r[5] = 0x00000040u; /* 02983074 */ cpu->r[3] = cpu->r[12] + cpu->r[26]; /* 02983078 */ Gambit_fn_02801ADC(cpu); /* 0298307C */ _t269 = cpu->r[1] + 0x0000000Cu; /* 0298307C */ cpu->r[7] = rbrew_read32(cpu->mem, _t269); /* 02983080 */ _t270 = cpu->r[7] + 0x00000028u; /* 02983080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t270); /* 02983084 */ _t271 = cpu->r[7] + 0x0000002Cu; /* 02983084 */ cpu->r[31] = rbrew_read32(cpu->mem, _t271); /* 02983088 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000006Cu); /* 0298308C */ cpu->r[30] = cpu->r[31] + cpu->r[0]; /* 02983090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02983094 */ cpu->r[27] = cpu->r[3]; /* 02983098 */ _t272 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983098 */ _t273 = _t272 & 0x00000001u; /* 02983098 */ if (_t273) goto L_029830E4; else goto L_0298309C; L_0298309C: ; // 0x298309c /* 0298309C */ cpu->r[6] = 0x10150000u; /* 029830A0 */ cpu->r[28] = 0xFFFFFFFFu; /* 029830A4 */ _t274 = cpu->r[6] + 0xFFFFEE20u; /* 029830A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t274); /* 029830A8 */ cpu->r[29] = 0x00000000u; L_029830AC: ; // 0x29830ac /* 029830AC */ cpu->r[4] = cpu->r[1] + 0x00000040u; /* 029830B0 */ cpu->r[6] = cpu->r[25]; /* 029830B4 */ cpu->r[5] = cpu->r[27]; /* 029830B8 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu; /* 029830BC */ Gambit_fn_02C53E8C(cpu); /* 029830C0 */ _t275 = cpu->r[31] + 0x00000008u; /* 029830C0 */ rbrew_write_f32(cpu->mem, _t275, cpu->f[31]); /* 029830C4 */ _t276 = cpu->r[31] + 0x00000000u; /* 029830C4 */ rbrew_write16(cpu->mem, _t276, (uint16_t)cpu->r[28]); /* 029830C8 */ _t277 = cpu->r[31] + 0x00000004u; /* 029830C8 */ rbrew_write32(cpu->mem, _t277, cpu->r[29]); /* 029830CC */ _t278 = cpu->r[31] + 0x00000068u; /* 029830CC */ rbrew_write32(cpu->mem, _t278, cpu->r[29]); /* 029830D0 */ _t279 = cpu->r[31] + 0x00000002u; /* 029830D0 */ rbrew_write16(cpu->mem, _t279, (uint16_t)cpu->r[28]); /* 029830D4 */ cpu->r[31] = cpu->r[31] + 0x0000006Cu; /* 029830D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029830DC */ cpu->r[27] = cpu->r[27] + cpu->r[25]; /* 029830E0 */ _t280 = cpu->cr[0] >> (0x00000001u & 31u); /* 029830E0 */ _t281 = _t280 & 0x00000001u; /* 029830E0 */ if (_t281) goto L_029830E4; else goto L_029830AC; L_029830E4: ; // 0x29830e4 /* 029830E4 */ _t282 = cpu->r[1] + 0x0000000Cu; /* 029830E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t282); /* 029830E8 */ cpu->r[5] = cpu->r[27]; /* 029830EC */ cpu->r[4] = cpu->r[1] + 0x00000078u; /* 029830F0 */ cpu->r[3] = cpu->r[6] + 0x00000010u; /* 029830F4 */ cpu->r[6] = cpu->r[26]; /* 029830F8 */ Gambit_fn_02C54E74(cpu); /* 029830FC */ _t283 = cpu->r[1] + 0x00000034u; /* 029830FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t283); /* 02983100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02983104 */ _t284 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983104 */ _t285 = _t284 & 0x00000001u; /* 02983104 */ if (_t285) goto L_02983130; else goto L_02983108; L_02983108: ; // 0x2983108 /* 02983108 */ _t286 = cpu->r[1] + 0x00000034u; /* 02983108 */ cpu->r[12] = rbrew_read32(cpu->mem, _t286); /* 0298310C */ cpu->r[7] = 0x00000007u; /* 02983110 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu; /* 02983114 */ cpu->ctr = cpu->r[7]; /* 02983118 */ cpu->r[6] = cpu->r[12] + 0xFFFFFFFCu; L_0298311C: ; // 0x298311c /* 0298311C */ _t287 = cpu->r[5] + 0x00000004u; /* 0298311C */ cpu->r[8] = rbrew_read32(cpu->mem, _t287); /* 02983120 */ _t288 = cpu->r[6] + 0x00000004u; /* 02983120 */ rbrew_write32(cpu->mem, _t288, cpu->r[8]); /* 02983124 */ _t289 = cpu->r[5] + 0x00000008u; /* 02983124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t289); /* 02983124 */ cpu->r[5] = _t289; /* 02983128 */ _t290 = cpu->r[6] + 0x00000008u; /* 02983128 */ rbrew_write32(cpu->mem, _t290, cpu->r[0]); /* 02983128 */ cpu->r[6] = _t290; /* 0298312C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0298312C */ _t291 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0298312C */ _t292 = _t291 >> (0x00000002u & 31u); /* 0298312C */ _t293 = _t292 & 0x00000001u; /* 0298312C */ if (_t293) goto L_0298311C; else goto L_02983130; L_02983130: ; // 0x2983130 /* 02983130 */ /* nop */ /* 02983134 */ _t294 = cpu->r[1] + 0x000004D8u; /* 02983134 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t294); /* 02983138 */ _t295 = cpu->r[1] + 0x000004D0u; /* 02983138 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t295); /* 0298313C */ _t296 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298313C */ _t297 = _t296 & 0x00000001u; /* 0298313C */ if (_t297) goto L_02983140; // else: addr-0 trap, fall-through L_02983140: ; // 0x2983140 /* 02983140 */ _t298 = cpu->r[1] + 0x000004E4u; /* 02983140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t298); /* 02983144 */ cpu->lr = cpu->r[0]; /* 02983148 */ cpu->r[1] = cpu->r[1] + 0x000004E0u; /* 0298314C */ return; } // fn_02983150 @ 0x2983150 void Gambit_fn_02983150(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; L_02983150: ; // 0x2983150 /* 02983150 */ _t0 = cpu->r[1] + 0xFFFFFF50u; /* 02983150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02983150 */ cpu->r[1] = _t0; /* 02983154 */ /* nop */ /* 02983158 */ cpu->r[0] = cpu->lr; /* 0298315C */ _t1 = cpu->r[1] + 0x000000B4u; /* 0298315C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02983160 */ cpu->r[29] = cpu->r[9]; /* 02983164 */ cpu->r[24] = cpu->r[6]; /* 02983168 */ _t2 = cpu->r[24] + 0x00000004u; /* 02983168 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 0298316C */ cpu->r[28] = cpu->r[3]; /* 02983170 */ cpu->r[23] = cpu->r[4]; /* 02983174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02983178 */ cpu->r[25] = cpu->r[7]; /* 0298317C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298317C */ _t4 = _t3 & 0x00000001u; /* 0298317C */ if (_t4) goto L_02983644; else goto L_02983180; L_02983180: ; // 0x2983180 /* 02983180 */ cpu->r[22] = 0x00000000u; /* 02983184 */ _t5 = cpu->r[28] + 0x00000074u; /* 02983184 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02983188 */ cpu->r[19] = cpu->r[22]; /* 0298318C */ _t6 = cpu->r[28] + 0x0000007Cu; /* 0298318C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 02983190 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02983194 */ cpu->r[20] = cpu->r[19]; /* 02983198 */ cpu->r[11] = cpu->r[3] + cpu->r[8]; /* 0298319C */ cpu->r[31] = cpu->r[19]; /* 029831A0 */ cpu->r[7] = cpu->r[22]; /* 029831A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]); /* 029831A8 */ cpu->r[21] = cpu->r[20]; /* 029831AC */ cpu->r[18] = cpu->r[7]; /* 029831B0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029831B0 */ _t8 = _t7 & 0x00000001u; /* 029831B0 */ if (_t8) goto L_029831F8; else goto L_029831B4; L_029831B4: ; // 0x29831b4 /* 029831B4 */ _t9 = cpu->r[3] + 0x00000000u; /* 029831B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 029831B8 */ _t10 = cpu->r[12] + 0x0000001Cu; /* 029831B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 029831BC */ _t11 = cpu->r[10] + 0x0000005Au; /* 029831BC */ cpu->r[5] = rbrew_read16(cpu->mem, _t11); /* 029831C0 */ _t12 = cpu->r[10] + 0x0000005Cu; /* 029831C0 */ cpu->r[6] = rbrew_read16(cpu->mem, _t12); /* 029831C4 */ _t13 = cpu->r[10] + 0x0000005Eu; /* 029831C4 */ cpu->r[8] = rbrew_read16(cpu->mem, _t13); /* 029831C8 */ cpu->r[3] = cpu->r[3] + 0x00000004u; /* 029831CC */ _t14 = cpu->r[10] + 0x00000058u; /* 029831CC */ cpu->r[4] = rbrew_read16(cpu->mem, _t14); /* 029831D0 */ cpu->r[20] = cpu->r[20] + cpu->r[8]; /* 029831D4 */ _t15 = cpu->r[10] + 0x00000056u; /* 029831D4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t15); /* 029831D8 */ cpu->r[19] = cpu->r[19] + cpu->r[5]; /* 029831DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]); /* 029831E0 */ _t16 = cpu->r[10] + 0x00000060u; /* 029831E0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t16); /* 029831E4 */ cpu->r[18] = cpu->r[18] + cpu->r[4]; /* 029831E8 */ cpu->r[31] = cpu->r[31] + cpu->r[6]; /* 029831EC */ cpu->r[7] = cpu->r[7] + cpu->r[0]; /* 029831F0 */ cpu->r[21] = cpu->r[21] + cpu->r[9]; /* 029831F4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 029831F4 */ _t18 = _t17 & 0x00000001u; /* 029831F4 */ if (_t18) goto L_029831F8; else goto L_029831B4; L_029831F8: ; // 0x29831f8 /* 029831F8 */ cpu->r[11] = cpu->r[7] + cpu->r[18]; /* 029831FC */ cpu->r[4] = cpu->r[11] + cpu->r[19]; /* 02983200 */ cpu->r[6] = cpu->r[4] + cpu->r[31]; /* 02983204 */ cpu->r[8] = cpu->r[6] + cpu->r[20]; /* 02983208 */ cpu->r[10] = cpu->r[8] + cpu->r[21]; /* 02983208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298320C */ _t19 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298320C */ _t20 = _t19 & 0x00000001u; /* 0298320C */ if (_t20) goto L_02983210; else goto L_02983644; L_02983210: ; // 0x2983210 /* 02983210 */ cpu->r[26] = 0x00000000u; /* 02983214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02983218 */ cpu->r[27] = cpu->r[26]; /* 0298321C */ cpu->r[30] = cpu->r[26]; /* 02983220 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u); /* 02983220 */ _t22 = _t21 & 0x00000001u; /* 02983220 */ if (_t22) goto L_02983234; else goto L_02983224; L_02983224: ; // 0x2983224 /* 02983224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u); /* 02983228 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u); /* 02983228 */ _t24 = _t23 & 0x00000001u; /* 02983228 */ if (_t24) goto L_02983234; else goto L_0298322C; L_0298322C: ; // 0x298322c /* 0298322C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u); /* 02983230 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u); /* 02983230 */ _t26 = _t25 & 0x00000001u; /* 02983230 */ if (_t26) goto L_02983234; else goto L_029832DC; L_02983234: ; // 0x2983234 /* 02983234 */ cpu->r[27] = 0x00000001u; /* 02983238 */ _t27 = cpu->r[28] + 0x00000088u; /* 02983238 */ cpu->r[6] = rbrew_read16(cpu->mem, _t27); /* 0298323C */ cpu->r[8] = cpu->r[28] + 0x00000050u; /* 02983240 */ _t28 = cpu->r[1] + 0x00000018u; /* 02983240 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[27]); /* 02983244 */ cpu->r[5] = 0x00000000u; /* 02983248 */ _t29 = cpu->r[1] + 0x0000001Cu; /* 02983248 */ rbrew_write32(cpu->mem, _t29, cpu->r[22]); /* 0298324C */ cpu->r[11] = 0xFFFFFFFFu; /* 02983250 */ _t30 = cpu->r[1] + 0x00000008u; /* 02983250 */ rbrew_write32(cpu->mem, _t30, cpu->r[6]); /* 02983254 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 02983258 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 02983258 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]); /* 0298325C */ cpu->r[10] = cpu->r[29]; /* 02983260 */ _t32 = cpu->r[1] + 0x00000014u; /* 02983260 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]); /* 02983264 */ cpu->r[3] = cpu->r[28]; /* 02983268 */ _t33 = cpu->r[1] + 0x00000019u; /* 02983268 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[5]); /* 0298326C */ cpu->r[4] = cpu->r[23]; /* 02983270 */ _t34 = cpu->r[1] + 0x00000020u; /* 02983270 */ rbrew_write32(cpu->mem, _t34, cpu->r[22]); /* 02983274 */ cpu->r[9] = cpu->r[25]; /* 02983278 */ _t35 = cpu->r[1] + 0x00000010u; /* 02983278 */ rbrew_write32(cpu->mem, _t35, cpu->r[11]); /* 0298327C */ Gambit_fn_02985278(cpu); /* 02983280 */ cpu->r[30] = cpu->r[3]; /* 02983284 */ cpu->r[3] = cpu->r[28]; /* 02983288 */ cpu->r[4] = cpu->r[23]; /* 0298328C */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 02983290 */ cpu->r[5] = cpu->r[27]; /* 02983294 */ cpu->r[10] = cpu->r[29]; /* 02983298 */ cpu->r[9] = cpu->r[25]; /* 0298329C */ cpu->r[8] = cpu->r[28] + 0x00000048u; /* 029832A0 */ cpu->r[7] = cpu->r[18]; /* 029832A4 */ Gambit_fn_02985784(cpu); /* 029832A8 */ cpu->r[30] = cpu->r[30] + cpu->r[3]; /* 029832AC */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 029832B0 */ cpu->r[5] = 0x00000002u; /* 029832B4 */ cpu->r[10] = cpu->r[29]; /* 029832B8 */ cpu->r[9] = cpu->r[25]; /* 029832BC */ cpu->r[8] = cpu->r[28] + 0x00000040u; /* 029832C0 */ cpu->r[7] = cpu->r[19]; /* 029832C4 */ cpu->r[4] = cpu->r[23]; /* 029832C8 */ cpu->r[3] = cpu->r[28]; /* 029832CC */ Gambit_fn_02985C90(cpu); /* 029832D0 */ cpu->r[30] = cpu->r[30] + cpu->r[3]; /* 029832D4 */ cpu->r[26] = 0x00000058u; /* 029832D8 */ cpu->r[27] = 0x00000004u; L_029832DC: ; // 0x29832dc /* 029832DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029832E0 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u); /* 029832E0 */ _t37 = _t36 & 0x00000001u; /* 029832E0 */ if (_t37) goto L_029832E4; else goto L_02983358; L_029832E4: ; // 0x29832e4 /* 029832E4 */ cpu->r[0] = 0xFFFFFFFFu; /* 029832E8 */ _t38 = cpu->r[1] + 0x00000010u; /* 029832E8 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]); /* 029832EC */ _t39 = cpu->r[1] + 0x00000018u; /* 029832EC */ rbrew_write32(cpu->mem, _t39, cpu->r[0]); /* 029832F0 */ _t40 = cpu->r[1] + 0x0000000Cu; /* 029832F0 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]); /* 029832F4 */ cpu->r[5] = 0x00000003u; /* 029832F8 */ _t41 = cpu->r[1] + 0x00000014u; /* 029832F8 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]); /* 029832FC */ cpu->r[0] = 0x00000001u; /* 02983300 */ _t42 = cpu->r[28] + 0x00000088u; /* 02983300 */ cpu->r[7] = rbrew_read16(cpu->mem, _t42); /* 02983304 */ cpu->r[9] = cpu->r[25]; /* 02983308 */ _t43 = cpu->r[1] + 0x0000001Cu; /* 02983308 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[0]); /* 0298330C */ cpu->r[3] = cpu->r[28]; /* 02983310 */ cpu->r[6] = 0x00000000u; /* 02983314 */ _t44 = cpu->r[1] + 0x00000008u; /* 02983314 */ rbrew_write32(cpu->mem, _t44, cpu->r[7]); /* 02983318 */ cpu->r[7] = cpu->r[31]; /* 0298331C */ cpu->r[4] = cpu->r[23]; /* 02983320 */ _t45 = cpu->r[1] + 0x0000001Du; /* 02983320 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[6]); /* 02983324 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 02983328 */ _t46 = cpu->r[1] + 0x00000020u; /* 02983328 */ rbrew_write32(cpu->mem, _t46, cpu->r[22]); /* 0298332C */ cpu->r[8] = cpu->r[28] + 0x00000058u; /* 02983330 */ cpu->r[10] = cpu->r[29]; /* 02983334 */ _t47 = cpu->r[1] + 0x00000024u; /* 02983334 */ rbrew_write32(cpu->mem, _t47, cpu->r[22]); /* 02983338 */ Gambit_fn_02986278(cpu); /* 0298333C */ cpu->r[30] = cpu->r[30] + cpu->r[3]; /* 02983340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000060u); /* 02983344 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983344 */ _t49 = _t48 & 0x00000001u; /* 02983344 */ if (_t49) goto L_02983348; else goto L_0298334C; L_02983348: ; // 0x2983348 /* 02983348 */ cpu->r[26] = 0x00000060u; L_0298334C: ; // 0x298334c /* 0298334C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000004u); /* 02983350 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983350 */ _t51 = _t50 & 0x00000001u; /* 02983350 */ if (_t51) goto L_02983354; else goto L_02983358; L_02983354: ; // 0x2983354 /* 02983354 */ cpu->r[27] = 0x00000004u; L_02983358: ; // 0x2983358 /* 02983358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 0298335C */ _t52 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298335C */ _t53 = _t52 & 0x00000001u; /* 0298335C */ if (_t53) goto L_02983368; else goto L_02983360; L_02983360: ; // 0x2983360 /* 02983360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 02983364 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u); /* 02983364 */ _t55 = _t54 & 0x00000001u; /* 02983364 */ if (_t55) goto L_02983368; else goto L_02983430; L_02983368: ; // 0x2983368 /* 02983368 */ _t56 = cpu->r[28] + 0x0000008Au; /* 02983368 */ cpu->r[0] = rbrew_read16(cpu->mem, _t56); /* 0298336C */ cpu->r[4] = 0x00000000u; /* 02983370 */ _t57 = cpu->r[1] + 0x00000024u; /* 02983370 */ rbrew_write32(cpu->mem, _t57, cpu->r[22]); /* 02983374 */ cpu->r[19] = 0xFFFFFFFFu; /* 02983378 */ _t58 = cpu->r[1] + 0x00000008u; /* 02983378 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]); /* 0298337C */ cpu->r[31] = 0x00000001u; /* 02983380 */ _t59 = cpu->r[1] + 0x0000001Du; /* 02983380 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[4]); /* 02983384 */ cpu->r[4] = cpu->r[23]; /* 02983388 */ _t60 = cpu->r[1] + 0x00000014u; /* 02983388 */ rbrew_write32(cpu->mem, _t60, cpu->r[19]); /* 0298338C */ cpu->r[10] = cpu->r[29]; /* 02983390 */ _t61 = cpu->r[1] + 0x0000001Cu; /* 02983390 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[31]); /* 02983394 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 02983398 */ _t62 = cpu->r[1] + 0x0000000Cu; /* 02983398 */ rbrew_write32(cpu->mem, _t62, cpu->r[19]); /* 0298339C */ cpu->r[9] = cpu->r[25]; /* 029833A0 */ _t63 = cpu->r[1] + 0x00000020u; /* 029833A0 */ rbrew_write32(cpu->mem, _t63, cpu->r[22]); /* 029833A4 */ cpu->r[3] = cpu->r[28]; /* 029833A8 */ cpu->r[8] = cpu->r[28] + 0x00000060u; /* 029833AC */ _t64 = cpu->r[1] + 0x00000010u; /* 029833AC */ rbrew_write32(cpu->mem, _t64, cpu->r[19]); /* 029833B0 */ cpu->r[7] = cpu->r[20]; /* 029833B4 */ cpu->r[5] = 0x00000004u; /* 029833B8 */ _t65 = cpu->r[1] + 0x00000018u; /* 029833B8 */ rbrew_write32(cpu->mem, _t65, cpu->r[19]); /* 029833BC */ Gambit_fn_029868C0(cpu); /* 029833C0 */ cpu->r[0] = 0x00000000u; /* 029833C4 */ _t66 = cpu->r[1] + 0x00000054u; /* 029833C4 */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[31]); /* 029833C8 */ cpu->r[7] = cpu->r[21]; /* 029833CC */ _t67 = cpu->r[28] + 0x00000088u; /* 029833CC */ cpu->r[4] = rbrew_read16(cpu->mem, _t67); /* 029833D0 */ _t68 = cpu->r[1] + 0x0000005Cu; /* 029833D0 */ rbrew_write32(cpu->mem, _t68, cpu->r[22]); /* 029833D4 */ cpu->r[30] = cpu->r[30] + cpu->r[3]; /* 029833D8 */ _t69 = cpu->r[1] + 0x00000044u; /* 029833D8 */ rbrew_write32(cpu->mem, _t69, cpu->r[4]); /* 029833DC */ cpu->r[3] = cpu->r[28]; /* 029833E0 */ _t70 = cpu->r[1] + 0x0000004Cu; /* 029833E0 */ rbrew_write32(cpu->mem, _t70, cpu->r[19]); /* 029833E4 */ cpu->r[4] = cpu->r[23]; /* 029833E8 */ _t71 = cpu->r[1] + 0x00000055u; /* 029833E8 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[0]); /* 029833EC */ cpu->r[6] = cpu->r[1] + 0x00000040u; /* 029833F0 */ _t72 = cpu->r[1] + 0x00000050u; /* 029833F0 */ rbrew_write32(cpu->mem, _t72, cpu->r[19]); /* 029833F4 */ cpu->r[9] = cpu->r[25]; /* 029833F8 */ _t73 = cpu->r[1] + 0x00000048u; /* 029833F8 */ rbrew_write32(cpu->mem, _t73, cpu->r[19]); /* 029833FC */ cpu->r[8] = cpu->r[28] + 0x00000068u; /* 02983400 */ cpu->r[10] = cpu->r[29]; /* 02983404 */ _t74 = cpu->r[1] + 0x00000058u; /* 02983404 */ rbrew_write32(cpu->mem, _t74, cpu->r[22]); /* 02983408 */ cpu->r[5] = 0x00000005u; /* 0298340C */ _t75 = cpu->r[1] + 0x00000040u; /* 0298340C */ rbrew_write32(cpu->mem, _t75, cpu->r[19]); /* 02983410 */ Gambit_fn_02986DD4(cpu); /* 02983414 */ cpu->r[30] = cpu->r[30] + cpu->r[3]; /* 02983418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000054u); /* 0298341C */ _t76 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298341C */ _t77 = _t76 & 0x00000001u; /* 0298341C */ if (_t77) goto L_02983420; else goto L_02983424; L_02983420: ; // 0x2983420 /* 02983420 */ cpu->r[26] = 0x00000054u; L_02983424: ; // 0x2983424 /* 02983424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000004u); /* 02983428 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983428 */ _t79 = _t78 & 0x00000001u; /* 02983428 */ if (_t79) goto L_0298342C; else goto L_02983430; L_0298342C: ; // 0x298342c /* 0298342C */ cpu->r[27] = 0x00000004u; L_02983430: ; // 0x2983430 /* 02983430 */ _t80 = cpu->r[28] + 0x0000008Cu; /* 02983430 */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[30]); /* 02983434 */ _t81 = cpu->r[24] + 0x00000004u; /* 02983434 */ cpu->r[7] = rbrew_read32(cpu->mem, _t81); /* 02983438 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0298343C */ cpu->r[30] = cpu->r[7] + cpu->r[30]; /* 0298343C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02983440 */ cpu->r[3] = cpu->r[29]; /* 02983444 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u); /* 02983444 */ _t83 = _t82 & 0x00000001u; /* 02983444 */ if (_t83) goto L_02983448; else goto L_02983540; L_02983448: ; // 0x2983448 /* 02983448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298344C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298344C */ _t85 = _t84 & 0x00000001u; /* 0298344C */ if (_t85) goto L_02983450; else goto L_0298345C; L_02983450: ; // 0x2983450 /* 02983450 */ cpu->r[3] = 0x101D0000u; /* 02983454 */ _t86 = cpu->r[3] + 0xFFFF98F0u; /* 02983454 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86); /* 02983458 */ Gambit_fn_02826F20(cpu); L_0298345C: ; // 0x298345c /* 0298345C */ _t87 = cpu->r[3] + 0x0000000Cu; /* 0298345C */ cpu->r[11] = rbrew_read32(cpu->mem, _t87); /* 02983460 */ _t88 = cpu->r[11] + 0x00000034u; /* 02983460 */ cpu->r[12] = rbrew_read32(cpu->mem, _t88); /* 02983464 */ cpu->ctr = cpu->r[12]; /* 02983468 */ cpu->r[5] = 0x00000004u; /* 0298346C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x0000001Cu); /* 02983470 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02983474 */ cpu->r[24] = cpu->r[3]; /* 02983478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298347C */ cpu->r[31] = cpu->r[30]; /* 02983480 */ cpu->r[10] = 0x00000000u; /* 02983484 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u); /* 02983484 */ _t90 = _t89 & 0x00000001u; /* 02983484 */ if (_t90) goto L_0298348C; else goto L_02983488; L_02983488: ; // 0x2983488 /* 02983488 */ cpu->r[31] = 0x00000001u; L_0298348C: ; // 0x298348c /* 0298348C */ cpu->r[21] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000001Cu); /* 02983490 */ cpu->r[23] = 0xFFFFFFFFu; /* 02983494 */ cpu->r[22] = 0x00000000u; L_02983498: ; // 0x2983498 /* 02983498 */ cpu->r[25] = cpu->r[24] + cpu->r[21]; /* 02983498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 0298349C */ _t91 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298349C */ _t92 = _t91 & 0x00000001u; /* 0298349C */ if (_t92) goto L_02983524; else goto L_029834A0; L_029834A0: ; // 0x29834a0 /* 029834A0 */ cpu->r[11] = cpu->r[25]; /* 029834A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 029834A4 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u); /* 029834A4 */ _t94 = _t93 & 0x00000001u; /* 029834A4 */ if (_t94) goto L_029834A8; else goto L_029834B8; L_029834A8: ; // 0x29834a8 /* 029834A8 */ cpu->r[3] = 0x00000004u; /* 029834AC */ Gambit_fn_02801A78(cpu); /* 029834B0 */ cpu->r[11] = cpu->r[3]; /* 029834B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 029834B4 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u); /* 029834B4 */ _t96 = _t95 & 0x00000001u; /* 029834B4 */ if (_t96) goto L_029834C0; else goto L_029834B8; L_029834B8: ; // 0x29834b8 /* 029834B8 */ _t97 = cpu->r[11] + 0x00000000u; /* 029834B8 */ rbrew_write16(cpu->mem, _t97, (uint16_t)cpu->r[23]); /* 029834BC */ _t98 = cpu->r[11] + 0x00000002u; /* 029834BC */ rbrew_write16(cpu->mem, _t98, (uint16_t)cpu->r[23]); L_029834C0: ; // 0x29834c0 /* 029834C0 */ _t99 = cpu->r[25] + 0x00000008u; /* 029834C0 */ rbrew_write32(cpu->mem, _t99, cpu->r[22]); /* 029834C4 */ cpu->r[12] = cpu->r[25] + 0x0000000Eu; /* 029834C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029834C8 */ _t100 = cpu->r[25] + 0x0000000Cu; /* 029834C8 */ rbrew_write16(cpu->mem, _t100, (uint16_t)cpu->r[23]); /* 029834CC */ _t101 = cpu->r[25] + 0x00000004u; /* 029834CC */ rbrew_write32(cpu->mem, _t101, cpu->r[22]); /* 029834D0 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u); /* 029834D0 */ _t103 = _t102 & 0x00000001u; /* 029834D0 */ if (_t103) goto L_029834D4; else goto L_029834E4; L_029834D4: ; // 0x29834d4 /* 029834D4 */ cpu->r[3] = 0x00000002u; /* 029834D8 */ Gambit_fn_02801A78(cpu); /* 029834DC */ cpu->r[12] = cpu->r[3]; /* 029834DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029834E0 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 029834E0 */ _t105 = _t104 & 0x00000001u; /* 029834E0 */ if (_t105) goto L_029834E8; else goto L_029834E4; L_029834E4: ; // 0x29834e4 /* 029834E4 */ _t106 = cpu->r[12] + 0x00000000u; /* 029834E4 */ rbrew_write16(cpu->mem, _t106, (uint16_t)cpu->r[22]); L_029834E8: ; // 0x29834e8 /* 029834E8 */ cpu->r[12] = cpu->r[25] + 0x00000010u; /* 029834E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029834EC */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 029834EC */ _t108 = _t107 & 0x00000001u; /* 029834EC */ if (_t108) goto L_029834F0; else goto L_02983500; L_029834F0: ; // 0x29834f0 /* 029834F0 */ cpu->r[3] = 0x0000000Cu; /* 029834F4 */ Gambit_fn_02801A78(cpu); /* 029834F8 */ cpu->r[12] = cpu->r[3]; /* 029834F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029834FC */ _t109 = cpu->cr[0] >> (0x00000001u & 31u); /* 029834FC */ _t110 = _t109 & 0x00000001u; /* 029834FC */ if (_t110) goto L_02983524; else goto L_02983500; L_02983500: ; // 0x2983500 /* 02983500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02983504 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983504 */ _t112 = _t111 & 0x00000001u; /* 02983504 */ if (_t112) goto L_02983508; else goto L_02983518; L_02983508: ; // 0x2983508 /* 02983508 */ cpu->r[3] = 0x0000000Cu; /* 0298350C */ Gambit_fn_02801A78(cpu); /* 02983510 */ cpu->r[12] = cpu->r[3]; /* 02983510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02983514 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983514 */ _t114 = _t113 & 0x00000001u; /* 02983514 */ if (_t114) goto L_02983524; else goto L_02983518; L_02983518: ; // 0x2983518 /* 02983518 */ _t115 = cpu->r[12] + 0x00000004u; /* 02983518 */ rbrew_write32(cpu->mem, _t115, cpu->r[22]); /* 0298351C */ _t116 = cpu->r[12] + 0x00000000u; /* 0298351C */ rbrew_write32(cpu->mem, _t116, cpu->r[22]); /* 02983520 */ _t117 = cpu->r[12] + 0x00000008u; /* 02983520 */ rbrew_write32(cpu->mem, _t117, cpu->r[22]); L_02983524: ; // 0x2983524 /* 02983524 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 02983524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02983528 */ cpu->r[21] = cpu->r[21] + 0x0000001Cu; /* 0298352C */ _t118 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298352C */ _t119 = _t118 & 0x00000001u; /* 0298352C */ if (_t119) goto L_02983530; else goto L_02983498; L_02983530: ; // 0x2983530 /* 02983530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02983534 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983534 */ _t121 = _t120 & 0x00000001u; /* 02983534 */ if (_t121) goto L_02983540; else goto L_02983538; L_02983538: ; // 0x2983538 /* 02983538 */ _t122 = cpu->r[28] + 0x00000034u; /* 02983538 */ rbrew_write32(cpu->mem, _t122, cpu->r[24]); /* 0298353C */ _t123 = cpu->r[28] + 0x00000030u; /* 0298353C */ rbrew_write32(cpu->mem, _t123, cpu->r[30]); L_02983540: ; // 0x2983540 /* 02983540 */ _t124 = cpu->r[28] + 0x00000084u; /* 02983540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124); /* 02983544 */ cpu->r[24] = cpu->r[26] + cpu->r[0]; /* 02983548 */ cpu->r[12] = cpu->r[24] + cpu->r[27]; /* 0298354C */ cpu->r[7] = cpu->r[27] + 0xFFFFFFFFu; /* 02983550 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFFu; /* 02983554 */ cpu->r[26] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02983558 */ _t125 = ~cpu->r[7]; /* 02983558 */ cpu->r[24] = cpu->r[5] & _t125; /* 0298355C */ cpu->r[9] = cpu->r[24] + cpu->r[26]; /* 02983560 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[30]); /* 02983564 */ cpu->r[5] = cpu->r[27]; /* 02983568 */ cpu->r[4] = cpu->r[29]; /* 0298356C */ Gambit_fn_02801ADC(cpu); /* 02983570 */ _t126 = cpu->r[28] + 0x00000030u; /* 02983570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126); /* 02983574 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02983578 */ _t127 = cpu->r[28] + 0x00000034u; /* 02983578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t127); /* 0298357C */ cpu->r[29] = cpu->r[31] + cpu->r[12]; /* 02983580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02983584 */ cpu->r[25] = cpu->r[3]; /* 02983588 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983588 */ _t129 = _t128 & 0x00000001u; /* 02983588 */ if (_t129) goto L_0298360C; else goto L_0298358C; L_0298358C: ; // 0x298358c /* 0298358C */ cpu->r[23] = 0x101B0000u; /* 02983590 */ cpu->r[22] = 0x00000000u; /* 02983594 */ cpu->r[23] = cpu->r[23] + 0xFFFFED88u; /* 02983598 */ cpu->r[21] = 0xFFFFFFFFu; L_0298359C: ; // 0x298359c /* 0298359C */ _t130 = cpu->r[31] + 0x00000002u; /* 0298359C */ rbrew_write16(cpu->mem, _t130, (uint16_t)cpu->r[21]); /* 029835A0 */ _t131 = cpu->r[31] + 0x00000004u; /* 029835A0 */ rbrew_write32(cpu->mem, _t131, cpu->r[25]); /* 029835A4 */ _t132 = cpu->r[31] + 0x00000000u; /* 029835A4 */ rbrew_write16(cpu->mem, _t132, (uint16_t)cpu->r[21]); /* 029835A8 */ _t133 = cpu->r[28] + 0x00000084u; /* 029835A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133); /* 029835AC */ cpu->r[27] = cpu->r[25] + cpu->r[0]; /* 029835AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 029835B0 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u); /* 029835B0 */ _t135 = _t134 & 0x00000001u; /* 029835B0 */ if (_t135) goto L_029835E4; else goto L_029835B4; L_029835B4: ; // 0x29835b4 /* 029835B4 */ cpu->r[3] = cpu->r[27]; /* 029835B8 */ Gambit_fn_02C4F040(cpu); /* 029835BC */ _t136 = cpu->r[27] + 0x00000044u; /* 029835BC */ rbrew_write32(cpu->mem, _t136, cpu->r[22]); /* 029835C0 */ _t137 = cpu->r[27] + 0x00000034u; /* 029835C0 */ rbrew_write32(cpu->mem, _t137, cpu->r[23]); /* 029835C4 */ _t138 = cpu->r[31] + 0x00000008u; /* 029835C4 */ rbrew_write32(cpu->mem, _t138, cpu->r[27]); /* 029835C8 */ _t139 = cpu->r[31] + 0x0000000Eu; /* 029835C8 */ rbrew_write16(cpu->mem, _t139, (uint16_t)cpu->r[22]); /* 029835CC */ _t140 = cpu->r[31] + 0x0000000Cu; /* 029835CC */ rbrew_write16(cpu->mem, _t140, (uint16_t)cpu->r[21]); /* 029835D0 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029835D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 029835D8 */ cpu->r[25] = cpu->r[25] + cpu->r[24]; /* 029835DC */ _t141 = cpu->cr[0] >> (0x00000001u & 31u); /* 029835DC */ _t142 = _t141 & 0x00000001u; /* 029835DC */ if (_t142) goto L_029835E0; else goto L_0298359C; L_029835E0: ; // 0x29835e0 /* 029835E0 */ goto L_02983604; L_029835E4: ; // 0x29835e4 /* 029835E4 */ _t143 = cpu->r[31] + 0x0000000Cu; /* 029835E4 */ rbrew_write16(cpu->mem, _t143, (uint16_t)cpu->r[21]); /* 029835E8 */ cpu->r[27] = 0x00000000u; /* 029835EC */ _t144 = cpu->r[31] + 0x0000000Eu; /* 029835EC */ rbrew_write16(cpu->mem, _t144, (uint16_t)cpu->r[22]); /* 029835F0 */ _t145 = cpu->r[31] + 0x00000008u; /* 029835F0 */ rbrew_write32(cpu->mem, _t145, cpu->r[27]); /* 029835F4 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 029835F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 029835FC */ cpu->r[25] = cpu->r[25] + cpu->r[24]; /* 02983600 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983600 */ _t147 = _t146 & 0x00000001u; /* 02983600 */ if (_t147) goto L_02983604; else goto L_0298359C; L_02983604: ; // 0x2983604 /* 02983604 */ _t148 = cpu->r[28] + 0x00000030u; /* 02983604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148); /* 02983608 */ _t149 = cpu->r[28] + 0x00000034u; /* 02983608 */ cpu->r[31] = rbrew_read32(cpu->mem, _t149); L_0298360C: ; // 0x298360c /* 0298360C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02983610 */ cpu->r[29] = cpu->r[31] + cpu->r[0]; /* 02983614 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02983618 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983618 */ _t151 = _t150 & 0x00000001u; /* 02983618 */ if (_t151) goto L_02983644; else goto L_0298361C; L_0298361C: ; // 0x298361c /* 0298361C */ cpu->r[28] = 0x00000000u; L_02983620: ; // 0x2983620 /* 02983620 */ cpu->r[5] = cpu->r[25]; /* 02983624 */ cpu->r[4] = cpu->r[30]; /* 02983628 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 0298362C */ Gambit_fn_028023A8(cpu); /* 02983630 */ _t152 = cpu->r[31] + 0x00000010u; /* 02983630 */ rbrew_write32(cpu->mem, _t152, cpu->r[28]); /* 02983634 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02983638 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 0298363C */ cpu->r[25] = cpu->r[25] + cpu->r[26]; /* 02983640 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983640 */ _t154 = _t153 & 0x00000001u; /* 02983640 */ if (_t154) goto L_02983644; else goto L_02983620; L_02983644: ; // 0x2983644 /* 02983644 */ /* nop */ /* 02983648 */ _t155 = cpu->r[1] + 0x000000B4u; /* 02983648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t155); /* 0298364C */ cpu->lr = cpu->r[0]; /* 02983650 */ cpu->r[1] = cpu->r[1] + 0x000000B0u; /* 02983654 */ return; } // fn_02983658 @ 0x2983658 void Gambit_fn_02983658(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; L_02983658: ; // 0x2983658 /* 02983658 */ cpu->r[0] = cpu->lr; /* 0298365C */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 0298365C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298365C */ cpu->r[1] = _t0; /* 02983660 */ _t1 = cpu->r[1] + 0x00000044u; /* 02983660 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02983664 */ /* nop */ /* 02983668 */ cpu->r[24] = cpu->r[7]; /* 0298366C */ cpu->r[29] = cpu->r[3]; /* 02983670 */ cpu->r[23] = cpu->r[6]; /* 02983674 */ cpu->r[6] = 0x00000004u; /* 02983678 */ cpu->r[3] = cpu->r[29] + 0x00000074u; /* 0298367C */ cpu->r[21] = cpu->r[4]; /* 02983680 */ cpu->r[27] = cpu->r[10]; /* 02983684 */ cpu->r[22] = cpu->r[5]; /* 02983688 */ cpu->r[4] = cpu->r[23]; /* 0298368C */ cpu->r[5] = cpu->r[27]; /* 02983690 */ cpu->r[26] = cpu->r[9]; /* 02983694 */ cpu->r[25] = cpu->r[8]; /* 02983698 */ Gambit_fn_028023CC(cpu); /* 0298369C */ cpu->r[28] = cpu->r[23]; /* 0298369C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029836A0 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u); /* 029836A0 */ _t3 = _t2 & 0x00000001u; /* 029836A0 */ if (_t3) goto L_029836A4; else goto L_029836F0; L_029836A4: ; // 0x29836a4 /* 029836A4 */ cpu->r[30] = cpu->r[21] + 0xFFFFFFFCu; /* 029836A8 */ cpu->r[31] = 0x101D0000u; L_029836AC: ; // 0x29836ac /* 029836AC */ _t4 = cpu->r[29] + 0x00000078u; /* 029836AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 029836B0 */ _t5 = cpu->r[29] + 0x00000074u; /* 029836B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 029836B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[0]); /* 029836B8 */ _t6 = cpu->r[30] + 0x00000004u; /* 029836B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 029836B8 */ cpu->r[30] = _t6; /* 029836BC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 029836BC */ _t8 = _t7 & 0x00000001u; /* 029836BC */ if (_t8) goto L_029836C0; else goto L_029836DC; L_029836C0: ; // 0x29836c0 /* 029836C0 */ _t9 = cpu->r[29] + 0x0000007Cu; /* 029836C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 029836C4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029836C8 */ _t10 = cpu->r[6] + cpu->r[0]; /* 029836C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]); /* 029836CC */ _t11 = cpu->r[29] + 0x00000074u; /* 029836CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 029836D0 */ cpu->r[9] = cpu->r[9] + 0x00000001u; /* 029836D4 */ _t12 = cpu->r[29] + 0x00000074u; /* 029836D4 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]); /* 029836D8 */ _t13 = cpu->r[30] + 0x00000000u; /* 029836D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); L_029836DC: ; // 0x29836dc /* 029836DC */ _t14 = cpu->r[31] + 0xFFFFA708u; /* 029836DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 029836E0 */ cpu->r[5] = 0x00000001u; /* 029836E4 */ Gambit_fn_0299C098(cpu); /* 029836E8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 029836E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029836EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 029836EC */ _t16 = _t15 & 0x00000001u; /* 029836EC */ if (_t16) goto L_029836F0; else goto L_029836AC; L_029836F0: ; // 0x29836f0 /* 029836F0 */ _t17 = cpu->r[25] + 0x0000001Cu; /* 029836F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 029836F4 */ cpu->r[3] = cpu->r[27]; /* 029836F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029836FC */ cpu->r[28] = 0x101D0000u; /* 02983700 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 02983700 */ _t19 = _t18 & 0x00000001u; /* 02983700 */ if (_t19) goto L_02983704; else goto L_0298376C; L_02983704: ; // 0x2983704 /* 02983704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02983708 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983708 */ _t21 = _t20 & 0x00000001u; /* 02983708 */ if (_t21) goto L_0298370C; else goto L_02983714; L_0298370C: ; // 0x298370c /* 0298370C */ _t22 = cpu->r[28] + 0xFFFF98F0u; /* 0298370C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 02983710 */ Gambit_fn_02826F20(cpu); L_02983714: ; // 0x2983714 /* 02983714 */ _t23 = cpu->r[3] + 0x0000000Cu; /* 02983714 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 02983718 */ _t24 = cpu->r[12] + 0x00000034u; /* 02983718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298371C */ cpu->ctr = cpu->r[0]; /* 02983720 */ cpu->r[5] = 0x00000004u; /* 02983724 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 02983728 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298372C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02983730 */ cpu->r[9] = cpu->r[31]; /* 02983734 */ cpu->r[8] = 0x00000000u; /* 02983738 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u); /* 02983738 */ _t26 = _t25 & 0x00000001u; /* 02983738 */ if (_t26) goto L_02983740; else goto L_0298373C; L_0298373C: ; // 0x298373c /* 0298373C */ cpu->r[9] = 0x00000001u; L_02983740: ; // 0x2983740 /* 02983740 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000000Cu); /* 02983744 */ cpu->ctr = cpu->r[9]; /* 02983748 */ cpu->r[0] = 0x00000000u; L_0298374C: ; // 0x298374c /* 0298374C */ cpu->r[12] = cpu->r[3] + cpu->r[11]; /* 0298374C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02983750 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983750 */ _t28 = _t27 & 0x00000001u; /* 02983750 */ if (_t28) goto L_0298375C; else goto L_02983754; L_02983754: ; // 0x2983754 /* 02983754 */ _t29 = cpu->r[12] + 0x00000004u; /* 02983754 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]); /* 02983758 */ _t30 = cpu->r[12] + 0x00000000u; /* 02983758 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); L_0298375C: ; // 0x298375c /* 0298375C */ cpu->r[11] = cpu->r[11] + 0x0000000Cu; /* 02983760 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02983760 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02983760 */ _t32 = _t31 >> (0x00000002u & 31u); /* 02983760 */ _t33 = _t32 & 0x00000001u; /* 02983760 */ if (_t33) goto L_0298374C; else goto L_02983764; L_02983764: ; // 0x2983764 /* 02983764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02983768 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983768 */ _t35 = _t34 & 0x00000001u; /* 02983768 */ if (_t35) goto L_0298376C; else goto L_02983788; L_0298376C: ; // 0x298376c /* 0298376C */ _t36 = cpu->r[29] + 0x00000008u; /* 0298376C */ cpu->r[5] = rbrew_read32(cpu->mem, _t36); /* 02983770 */ _t37 = cpu->r[29] + 0x0000000Cu; /* 02983770 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37); /* 02983774 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000000Cu); /* 02983778 */ cpu->r[30] = cpu->r[3] + cpu->r[7]; /* 0298377C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]); /* 02983780 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983780 */ _t39 = _t38 & 0x00000001u; /* 02983780 */ if (_t39) goto L_0298383C; else goto L_02983784; L_02983784: ; // 0x2983784 /* 02983784 */ goto L_029837A0; L_02983788: ; // 0x2983788 /* 02983788 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 0298378C */ cpu->r[30] = cpu->r[3] + cpu->r[7]; /* 02983790 */ _t40 = cpu->r[29] + 0x00000008u; /* 02983790 */ rbrew_write32(cpu->mem, _t40, cpu->r[31]); /* 02983794 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]); /* 02983798 */ _t41 = cpu->r[29] + 0x0000000Cu; /* 02983798 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]); /* 0298379C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298379C */ _t43 = _t42 & 0x00000001u; /* 0298379C */ if (_t43) goto L_0298383C; else goto L_029837A0; L_029837A0: ; // 0x29837a0 /* 029837A0 */ cpu->r[19] = 0x00000000u; /* 029837A4 */ cpu->r[31] = cpu->r[3]; L_029837A8: ; // 0x29837a8 /* 029837A8 */ _t44 = cpu->r[24] + 0x00000000u; /* 029837A8 */ cpu->r[20] = rbrew_read32(cpu->mem, _t44); /* 029837AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 029837B0 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u); /* 029837B0 */ _t46 = _t45 & 0x00000001u; /* 029837B0 */ if (_t46) goto L_029837B4; else goto L_0298382C; L_029837B4: ; // 0x29837b4 /* 029837B4 */ cpu->r[8] = cpu->r[27]; /* 029837B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 029837B8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 029837B8 */ _t48 = _t47 & 0x00000001u; /* 029837B8 */ if (_t48) goto L_029837BC; else goto L_029837C8; L_029837BC: ; // 0x29837bc /* 029837BC */ _t49 = cpu->r[28] + 0xFFFF98F0u; /* 029837BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t49); /* 029837C0 */ Gambit_fn_02826F20(cpu); /* 029837C4 */ cpu->r[8] = cpu->r[3]; L_029837C8: ; // 0x29837c8 /* 029837C8 */ _t50 = cpu->r[8] + 0x0000000Cu; /* 029837C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50); /* 029837CC */ _t51 = cpu->r[9] + 0x00000034u; /* 029837CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 029837D0 */ cpu->ctr = cpu->r[0]; /* 029837D4 */ cpu->r[5] = 0x00000004u; /* 029837D8 */ cpu->r[4] = cpu->r[20]; /* 029837DC */ cpu->r[3] = cpu->r[8]; /* 029837E0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029837E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 029837E8 */ cpu->r[0] = cpu->r[20]; /* 029837EC */ _t52 = cpu->cr[0] >> (0x00000002u & 31u); /* 029837EC */ _t53 = _t52 & 0x00000001u; /* 029837EC */ if (_t53) goto L_029837F4; else goto L_029837F0; L_029837F0: ; // 0x29837f0 /* 029837F0 */ cpu->r[0] = 0x00000001u; L_029837F4: ; // 0x29837f4 /* 029837F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029837F8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 029837F8 */ _t55 = _t54 & 0x00000001u; /* 029837F8 */ if (_t55) goto L_02983804; else goto L_029837FC; L_029837FC: ; // 0x29837fc /* 029837FC */ _t56 = cpu->r[31] + 0x00000004u; /* 029837FC */ rbrew_write32(cpu->mem, _t56, cpu->r[3]); /* 02983800 */ _t57 = cpu->r[31] + 0x00000000u; /* 02983800 */ rbrew_write32(cpu->mem, _t57, cpu->r[20]); L_02983804: ; // 0x2983804 /* 02983804 */ _t58 = cpu->r[31] + 0x00000004u; /* 02983804 */ cpu->r[11] = rbrew_read32(cpu->mem, _t58); /* 02983808 */ _t59 = cpu->r[31] + 0x00000000u; /* 02983808 */ cpu->r[10] = rbrew_read32(cpu->mem, _t59); /* 0298380C */ cpu->r[0] = cpu->r[11] + cpu->r[10]; /* 02983810 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 02983814 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983814 */ _t61 = _t60 & 0x00000001u; /* 02983814 */ if (_t61) goto L_0298382C; else goto L_02983818; L_02983818: ; // 0x2983818 /* 02983818 */ cpu->r[10] = 0x00000000u; L_0298381C: ; // 0x298381c /* 0298381C */ _t62 = cpu->r[11] + 0x00000000u; /* 0298381C */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[10]); /* 02983820 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 02983824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 02983828 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983828 */ _t64 = _t63 & 0x00000001u; /* 02983828 */ if (_t64) goto L_0298382C; else goto L_0298381C; L_0298382C: ; // 0x298382c /* 0298382C */ _t65 = cpu->r[31] + 0x00000008u; /* 0298382C */ rbrew_write16(cpu->mem, _t65, (uint16_t)cpu->r[19]); /* 02983830 */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 02983834 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02983838 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983838 */ _t67 = _t66 & 0x00000001u; /* 02983838 */ if (_t67) goto L_0298383C; else goto L_029837A8; L_0298383C: ; // 0x298383c /* 0298383C */ cpu->r[3] = cpu->r[25]; /* 02983840 */ Gambit_fn_0298100C(cpu); /* 02983844 */ _t68 = cpu->r[29] + 0x0000008Au; /* 02983844 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[3]); /* 02983848 */ cpu->r[3] = cpu->r[25]; /* 0298384C */ Gambit_fn_02981154(cpu); /* 02983850 */ _t69 = cpu->r[29] + 0x00000088u; /* 02983850 */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[3]); /* 02983854 */ cpu->r[10] = cpu->r[27]; /* 02983858 */ cpu->r[9] = cpu->r[26]; /* 0298385C */ cpu->r[8] = cpu->r[25]; /* 02983860 */ cpu->r[7] = cpu->r[24]; /* 02983864 */ cpu->r[6] = cpu->r[23]; /* 02983868 */ cpu->r[5] = cpu->r[22]; /* 0298386C */ cpu->r[4] = cpu->r[21]; /* 02983870 */ cpu->r[3] = cpu->r[29]; /* 02983874 */ Gambit_fn_029829D0(cpu); /* 02983878 */ cpu->r[6] = cpu->r[24]; /* 0298387C */ cpu->r[5] = cpu->r[23]; /* 02983880 */ cpu->r[3] = cpu->r[29]; /* 02983884 */ cpu->r[4] = cpu->r[21]; /* 02983888 */ cpu->r[7] = cpu->r[25]; /* 0298388C */ cpu->r[8] = cpu->r[26]; /* 02983890 */ cpu->r[9] = cpu->r[27]; /* 02983894 */ Gambit_fn_02983150(cpu); /* 02983898 */ /* nop */ /* 0298389C */ _t70 = cpu->r[1] + 0x00000044u; /* 0298389C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70); /* 029838A0 */ cpu->lr = cpu->r[0]; /* 029838A4 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 029838A8 */ return; } // fn_0298365C @ 0x298365c void Gambit_fn_0298365C(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; L_0298365C: ; // 0x298365c /* 0298365C */ _t0 = cpu->r[1] + 0xFFFFFFC0u; /* 0298365C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298365C */ cpu->r[1] = _t0; /* 02983660 */ _t1 = cpu->r[1] + 0x00000044u; /* 02983660 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02983664 */ /* nop */ /* 02983668 */ cpu->r[24] = cpu->r[7]; /* 0298366C */ cpu->r[29] = cpu->r[3]; /* 02983670 */ cpu->r[23] = cpu->r[6]; /* 02983674 */ cpu->r[6] = 0x00000004u; /* 02983678 */ cpu->r[3] = cpu->r[29] + 0x00000074u; /* 0298367C */ cpu->r[21] = cpu->r[4]; /* 02983680 */ cpu->r[27] = cpu->r[10]; /* 02983684 */ cpu->r[22] = cpu->r[5]; /* 02983688 */ cpu->r[4] = cpu->r[23]; /* 0298368C */ cpu->r[5] = cpu->r[27]; /* 02983690 */ cpu->r[26] = cpu->r[9]; /* 02983694 */ cpu->r[25] = cpu->r[8]; /* 02983698 */ Gambit_fn_028023CC(cpu); /* 0298369C */ cpu->r[28] = cpu->r[23]; /* 0298369C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029836A0 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u); /* 029836A0 */ _t3 = _t2 & 0x00000001u; /* 029836A0 */ if (_t3) goto L_029836A4; else goto L_029836F0; L_029836A4: ; // 0x29836a4 /* 029836A4 */ cpu->r[30] = cpu->r[21] + 0xFFFFFFFCu; /* 029836A8 */ cpu->r[31] = 0x101D0000u; L_029836AC: ; // 0x29836ac /* 029836AC */ _t4 = cpu->r[29] + 0x00000078u; /* 029836AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 029836B0 */ _t5 = cpu->r[29] + 0x00000074u; /* 029836B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 029836B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[0]); /* 029836B8 */ _t6 = cpu->r[30] + 0x00000004u; /* 029836B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 029836B8 */ cpu->r[30] = _t6; /* 029836BC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 029836BC */ _t8 = _t7 & 0x00000001u; /* 029836BC */ if (_t8) goto L_029836C0; else goto L_029836DC; L_029836C0: ; // 0x29836c0 /* 029836C0 */ _t9 = cpu->r[29] + 0x0000007Cu; /* 029836C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 029836C4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029836C8 */ _t10 = cpu->r[6] + cpu->r[0]; /* 029836C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]); /* 029836CC */ _t11 = cpu->r[29] + 0x00000074u; /* 029836CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 029836D0 */ cpu->r[9] = cpu->r[9] + 0x00000001u; /* 029836D4 */ _t12 = cpu->r[29] + 0x00000074u; /* 029836D4 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]); /* 029836D8 */ _t13 = cpu->r[30] + 0x00000000u; /* 029836D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); L_029836DC: ; // 0x29836dc /* 029836DC */ _t14 = cpu->r[31] + 0xFFFFA708u; /* 029836DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 029836E0 */ cpu->r[5] = 0x00000001u; /* 029836E4 */ Gambit_fn_0299C098(cpu); /* 029836E8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 029836E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029836EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 029836EC */ _t16 = _t15 & 0x00000001u; /* 029836EC */ if (_t16) goto L_029836F0; else goto L_029836AC; L_029836F0: ; // 0x29836f0 /* 029836F0 */ _t17 = cpu->r[25] + 0x0000001Cu; /* 029836F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 029836F4 */ cpu->r[3] = cpu->r[27]; /* 029836F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029836FC */ cpu->r[28] = 0x101D0000u; /* 02983700 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 02983700 */ _t19 = _t18 & 0x00000001u; /* 02983700 */ if (_t19) goto L_02983704; else goto L_0298376C; L_02983704: ; // 0x2983704 /* 02983704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02983708 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983708 */ _t21 = _t20 & 0x00000001u; /* 02983708 */ if (_t21) goto L_0298370C; else goto L_02983714; L_0298370C: ; // 0x298370c /* 0298370C */ _t22 = cpu->r[28] + 0xFFFF98F0u; /* 0298370C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 02983710 */ Gambit_fn_02826F20(cpu); L_02983714: ; // 0x2983714 /* 02983714 */ _t23 = cpu->r[3] + 0x0000000Cu; /* 02983714 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 02983718 */ _t24 = cpu->r[12] + 0x00000034u; /* 02983718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298371C */ cpu->ctr = cpu->r[0]; /* 02983720 */ cpu->r[5] = 0x00000004u; /* 02983724 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 02983728 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298372C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02983730 */ cpu->r[9] = cpu->r[31]; /* 02983734 */ cpu->r[8] = 0x00000000u; /* 02983738 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u); /* 02983738 */ _t26 = _t25 & 0x00000001u; /* 02983738 */ if (_t26) goto L_02983740; else goto L_0298373C; L_0298373C: ; // 0x298373c /* 0298373C */ cpu->r[9] = 0x00000001u; L_02983740: ; // 0x2983740 /* 02983740 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000000Cu); /* 02983744 */ cpu->ctr = cpu->r[9]; /* 02983748 */ cpu->r[0] = 0x00000000u; L_0298374C: ; // 0x298374c /* 0298374C */ cpu->r[12] = cpu->r[3] + cpu->r[11]; /* 0298374C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02983750 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983750 */ _t28 = _t27 & 0x00000001u; /* 02983750 */ if (_t28) goto L_0298375C; else goto L_02983754; L_02983754: ; // 0x2983754 /* 02983754 */ _t29 = cpu->r[12] + 0x00000004u; /* 02983754 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]); /* 02983758 */ _t30 = cpu->r[12] + 0x00000000u; /* 02983758 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); L_0298375C: ; // 0x298375c /* 0298375C */ cpu->r[11] = cpu->r[11] + 0x0000000Cu; /* 02983760 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02983760 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02983760 */ _t32 = _t31 >> (0x00000002u & 31u); /* 02983760 */ _t33 = _t32 & 0x00000001u; /* 02983760 */ if (_t33) goto L_0298374C; else goto L_02983764; L_02983764: ; // 0x2983764 /* 02983764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02983768 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983768 */ _t35 = _t34 & 0x00000001u; /* 02983768 */ if (_t35) goto L_0298376C; else goto L_02983788; L_0298376C: ; // 0x298376c /* 0298376C */ _t36 = cpu->r[29] + 0x00000008u; /* 0298376C */ cpu->r[5] = rbrew_read32(cpu->mem, _t36); /* 02983770 */ _t37 = cpu->r[29] + 0x0000000Cu; /* 02983770 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37); /* 02983774 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000000Cu); /* 02983778 */ cpu->r[30] = cpu->r[3] + cpu->r[7]; /* 0298377C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]); /* 02983780 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983780 */ _t39 = _t38 & 0x00000001u; /* 02983780 */ if (_t39) goto L_0298383C; else goto L_02983784; L_02983784: ; // 0x2983784 /* 02983784 */ goto L_029837A0; L_02983788: ; // 0x2983788 /* 02983788 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 0298378C */ cpu->r[30] = cpu->r[3] + cpu->r[7]; /* 02983790 */ _t40 = cpu->r[29] + 0x00000008u; /* 02983790 */ rbrew_write32(cpu->mem, _t40, cpu->r[31]); /* 02983794 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]); /* 02983798 */ _t41 = cpu->r[29] + 0x0000000Cu; /* 02983798 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]); /* 0298379C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298379C */ _t43 = _t42 & 0x00000001u; /* 0298379C */ if (_t43) goto L_0298383C; else goto L_029837A0; L_029837A0: ; // 0x29837a0 /* 029837A0 */ cpu->r[19] = 0x00000000u; /* 029837A4 */ cpu->r[31] = cpu->r[3]; L_029837A8: ; // 0x29837a8 /* 029837A8 */ _t44 = cpu->r[24] + 0x00000000u; /* 029837A8 */ cpu->r[20] = rbrew_read32(cpu->mem, _t44); /* 029837AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 029837B0 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u); /* 029837B0 */ _t46 = _t45 & 0x00000001u; /* 029837B0 */ if (_t46) goto L_029837B4; else goto L_0298382C; L_029837B4: ; // 0x29837b4 /* 029837B4 */ cpu->r[8] = cpu->r[27]; /* 029837B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 029837B8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 029837B8 */ _t48 = _t47 & 0x00000001u; /* 029837B8 */ if (_t48) goto L_029837BC; else goto L_029837C8; L_029837BC: ; // 0x29837bc /* 029837BC */ _t49 = cpu->r[28] + 0xFFFF98F0u; /* 029837BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t49); /* 029837C0 */ Gambit_fn_02826F20(cpu); /* 029837C4 */ cpu->r[8] = cpu->r[3]; L_029837C8: ; // 0x29837c8 /* 029837C8 */ _t50 = cpu->r[8] + 0x0000000Cu; /* 029837C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50); /* 029837CC */ _t51 = cpu->r[9] + 0x00000034u; /* 029837CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 029837D0 */ cpu->ctr = cpu->r[0]; /* 029837D4 */ cpu->r[5] = 0x00000004u; /* 029837D8 */ cpu->r[4] = cpu->r[20]; /* 029837DC */ cpu->r[3] = cpu->r[8]; /* 029837E0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029837E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u); /* 029837E8 */ cpu->r[0] = cpu->r[20]; /* 029837EC */ _t52 = cpu->cr[0] >> (0x00000002u & 31u); /* 029837EC */ _t53 = _t52 & 0x00000001u; /* 029837EC */ if (_t53) goto L_029837F4; else goto L_029837F0; L_029837F0: ; // 0x29837f0 /* 029837F0 */ cpu->r[0] = 0x00000001u; L_029837F4: ; // 0x29837f4 /* 029837F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029837F8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 029837F8 */ _t55 = _t54 & 0x00000001u; /* 029837F8 */ if (_t55) goto L_02983804; else goto L_029837FC; L_029837FC: ; // 0x29837fc /* 029837FC */ _t56 = cpu->r[31] + 0x00000004u; /* 029837FC */ rbrew_write32(cpu->mem, _t56, cpu->r[3]); /* 02983800 */ _t57 = cpu->r[31] + 0x00000000u; /* 02983800 */ rbrew_write32(cpu->mem, _t57, cpu->r[20]); L_02983804: ; // 0x2983804 /* 02983804 */ _t58 = cpu->r[31] + 0x00000004u; /* 02983804 */ cpu->r[11] = rbrew_read32(cpu->mem, _t58); /* 02983808 */ _t59 = cpu->r[31] + 0x00000000u; /* 02983808 */ cpu->r[10] = rbrew_read32(cpu->mem, _t59); /* 0298380C */ cpu->r[0] = cpu->r[11] + cpu->r[10]; /* 02983810 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 02983814 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983814 */ _t61 = _t60 & 0x00000001u; /* 02983814 */ if (_t61) goto L_0298382C; else goto L_02983818; L_02983818: ; // 0x2983818 /* 02983818 */ cpu->r[10] = 0x00000000u; L_0298381C: ; // 0x298381c /* 0298381C */ _t62 = cpu->r[11] + 0x00000000u; /* 0298381C */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[10]); /* 02983820 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 02983824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 02983828 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983828 */ _t64 = _t63 & 0x00000001u; /* 02983828 */ if (_t64) goto L_0298382C; else goto L_0298381C; L_0298382C: ; // 0x298382c /* 0298382C */ _t65 = cpu->r[31] + 0x00000008u; /* 0298382C */ rbrew_write16(cpu->mem, _t65, (uint16_t)cpu->r[19]); /* 02983830 */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 02983834 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02983838 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983838 */ _t67 = _t66 & 0x00000001u; /* 02983838 */ if (_t67) goto L_0298383C; else goto L_029837A8; L_0298383C: ; // 0x298383c /* 0298383C */ cpu->r[3] = cpu->r[25]; /* 02983840 */ Gambit_fn_0298100C(cpu); /* 02983844 */ _t68 = cpu->r[29] + 0x0000008Au; /* 02983844 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[3]); /* 02983848 */ cpu->r[3] = cpu->r[25]; /* 0298384C */ Gambit_fn_02981154(cpu); /* 02983850 */ _t69 = cpu->r[29] + 0x00000088u; /* 02983850 */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[3]); /* 02983854 */ cpu->r[10] = cpu->r[27]; /* 02983858 */ cpu->r[9] = cpu->r[26]; /* 0298385C */ cpu->r[8] = cpu->r[25]; /* 02983860 */ cpu->r[7] = cpu->r[24]; /* 02983864 */ cpu->r[6] = cpu->r[23]; /* 02983868 */ cpu->r[5] = cpu->r[22]; /* 0298386C */ cpu->r[4] = cpu->r[21]; /* 02983870 */ cpu->r[3] = cpu->r[29]; /* 02983874 */ Gambit_fn_029829D0(cpu); /* 02983878 */ cpu->r[6] = cpu->r[24]; /* 0298387C */ cpu->r[5] = cpu->r[23]; /* 02983880 */ cpu->r[3] = cpu->r[29]; /* 02983884 */ cpu->r[4] = cpu->r[21]; /* 02983888 */ cpu->r[7] = cpu->r[25]; /* 0298388C */ cpu->r[8] = cpu->r[26]; /* 02983890 */ cpu->r[9] = cpu->r[27]; /* 02983894 */ Gambit_fn_02983150(cpu); /* 02983898 */ /* nop */ /* 0298389C */ _t70 = cpu->r[1] + 0x00000044u; /* 0298389C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70); /* 029838A0 */ cpu->lr = cpu->r[0]; /* 029838A4 */ cpu->r[1] = cpu->r[1] + 0x00000040u; /* 029838A8 */ return; } // fn_029838AC @ 0x29838ac void Gambit_fn_029838AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_029838AC: ; // 0x29838ac /* 029838AC */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 029838AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029838AC */ cpu->r[1] = _t0; /* 029838B0 */ cpu->r[0] = cpu->lr; /* 029838B4 */ /* nop */ /* 029838B8 */ cpu->r[28] = cpu->r[9]; /* 029838BC */ cpu->r[30] = cpu->r[4]; /* 029838C0 */ cpu->r[24] = cpu->r[5]; /* 029838C4 */ cpu->r[25] = cpu->r[6]; /* 029838C8 */ cpu->r[26] = cpu->r[7]; /* 029838CC */ cpu->r[4] = cpu->r[28]; /* 029838D0 */ cpu->r[5] = 0x00000004u; /* 029838D4 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 029838D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029838D8 */ cpu->r[29] = cpu->r[3]; /* 029838DC */ cpu->r[3] = 0x00000098u; /* 029838E0 */ cpu->r[27] = cpu->r[8]; /* 029838E4 */ Gambit_fn_02801AC8(cpu); /* 029838E8 */ cpu->r[31] = cpu->r[3]; /* 029838E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029838EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 029838EC */ _t3 = _t2 & 0x00000001u; /* 029838EC */ if (_t3) goto L_029838FC; else goto L_029838F0; L_029838F0: ; // 0x29838f0 /* 029838F0 */ cpu->r[3] = cpu->r[31]; /* 029838F4 */ Gambit_fn_0298279C(cpu); /* 029838F8 */ cpu->r[31] = cpu->r[3]; L_029838FC: ; // 0x29838fc /* 029838FC */ cpu->r[10] = cpu->r[28]; /* 02983900 */ cpu->r[9] = cpu->r[27]; /* 02983904 */ cpu->r[8] = cpu->r[26]; /* 02983908 */ cpu->r[7] = cpu->r[25]; /* 0298390C */ cpu->r[6] = cpu->r[24]; /* 02983910 */ cpu->r[5] = cpu->r[30]; /* 02983914 */ cpu->r[4] = cpu->r[29]; /* 02983918 */ cpu->r[3] = cpu->r[31]; /* 0298391C */ Gambit_fn_02983658(cpu); /* 02983920 */ cpu->r[3] = cpu->r[31]; /* 02983924 */ /* nop */ /* 02983928 */ _t4 = cpu->r[1] + 0x0000002Cu; /* 02983928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0298392C */ cpu->lr = cpu->r[0]; /* 02983930 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02983934 */ return; } // fn_02983938 @ 0x2983938 void Gambit_fn_02983938(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02983938: ; // 0x2983938 /* 02983938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298393C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298393C */ _t1 = _t0 & 0x00000001u; /* 0298393C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298393C */ goto L_02983940; L_02983940: ; // 0x2983940 /* 02983940 */ _t2 = cpu->r[3] + 0x00000000u; /* 02983940 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 02983944 */ _t3 = cpu->r[12] + 0x0000000Cu; /* 02983944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 02983948 */ cpu->ctr = cpu->r[0]; /* 0298394C */ cpu->r[4] = 0x00000003u; /* 02983950 */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_02983954 @ 0x2983954 void Gambit_fn_02983954(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_02983954: ; // 0x2983954 /* 02983954 */ cpu->r[0] = cpu->lr; /* 02983958 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02983958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02983958 */ cpu->r[1] = _t0; /* 0298395C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298395C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02983960 */ _t2 = cpu->r[1] + 0x00000008u; /* 02983960 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02983964 */ cpu->r[31] = cpu->r[3]; /* 02983968 */ _t3 = cpu->r[1] + 0x00000014u; /* 02983968 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298396C */ _t4 = cpu->r[31] + 0x00000028u; /* 0298396C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 02983970 */ _t5 = cpu->r[5] + 0x00000000u; /* 02983970 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02983974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]); /* 02983978 */ _t6 = cpu->r[31] + 0x0000002Cu; /* 02983978 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 0298397C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298397C */ _t8 = _t7 & 0x00000001u; /* 0298397C */ if (_t8) goto L_02983980; else goto L_02983988; L_02983980: ; // 0x2983980 /* 02983980 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000006Cu); /* 02983984 */ cpu->r[30] = cpu->r[30] + cpu->r[9]; L_02983988: ; // 0x2983988 /* 02983988 */ _t9 = cpu->r[30] + 0x00000000u; /* 02983988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298398C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02983990 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983990 */ _t11 = _t10 & 0x00000001u; /* 02983990 */ if (_t11) goto L_02983994; else goto L_029839A0; L_02983994: ; // 0x2983994 /* 02983994 */ _t12 = cpu->r[30] + 0x00000004u; /* 02983994 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12); /* 02983998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]); /* 0298399C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298399C */ _t14 = _t13 & 0x00000001u; /* 0298399C */ if (_t14) goto L_02983B10; else goto L_029839A0; L_029839A0: ; // 0x29839a0 /* 029839A0 */ _t15 = cpu->r[30] + 0x00000004u; /* 029839A0 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]); /* 029839A4 */ cpu->r[0] = cpu->r[12]; /* 029839A8 */ _t16 = cpu->r[30] + 0x00000068u; /* 029839A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16); /* 029839AC */ /* nop */ /* 029839B0 */ _t17 = cpu->r[30] + 0x00000000u; /* 029839B0 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]); /* 029839B4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Eu, 0x0000001Cu); /* 029839B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0xFFFFFFFFu); /* 029839BC */ _t18 = cpu->r[30] + 0x00000068u; /* 029839BC */ rbrew_write32(cpu->mem, _t18, cpu->r[7]); /* 029839C0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 029839C0 */ _t20 = _t19 & 0x00000001u; /* 029839C0 */ if (_t20) goto L_02983A10; else goto L_029839C4; L_029839C4: ; // 0x29839c4 /* 029839C4 */ /* nop */ /* 029839C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 029839CC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 029839CC */ _t22 = _t21 & 0x00000001u; /* 029839CC */ if (_t22) goto L_02983A10; else goto L_029839D0; L_029839D0: ; // 0x29839d0 /* 029839D0 */ _t23 = cpu->r[31] + 0x00000038u; /* 029839D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23); /* 029839D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]); /* 029839D8 */ _t24 = cpu->r[31] + 0x0000003Cu; /* 029839D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 029839DC */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 029839DC */ _t26 = _t25 & 0x00000001u; /* 029839DC */ if (_t26) goto L_029839E0; else goto L_029839E8; L_029839E0: ; // 0x29839e0 /* 029839E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 029839E4 */ cpu->r[7] = cpu->r[7] + cpu->r[12]; L_029839E8: ; // 0x29839e8 /* 029839E8 */ _t27 = cpu->r[7] + 0x00000004u; /* 029839E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 029839EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029839F0 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u); /* 029839F0 */ _t29 = _t28 & 0x00000001u; /* 029839F0 */ if (_t29) goto L_029839F4; else goto L_02983A10; L_029839F4: ; // 0x29839f4 /* 029839F4 */ _t30 = cpu->r[7] + 0x00000000u; /* 029839F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 029839F8 */ _t31 = cpu->r[11] + 0x00000000u; /* 029839F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31); /* 029839FC */ cpu->r[3] = cpu->r[30] + 0x0000000Cu; /* 02983A00 */ Gambit_fn_02C54BFC(cpu); /* 02983A04 */ _t32 = cpu->r[30] + 0x00000068u; /* 02983A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 02983A08 */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 02983A0C */ _t33 = cpu->r[30] + 0x00000068u; /* 02983A0C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]); L_02983A10: ; // 0x2983a10 /* 02983A10 */ _t34 = cpu->r[31] + 0x00000008u; /* 02983A10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34); /* 02983A14 */ _t35 = cpu->r[31] + 0x0000000Cu; /* 02983A14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35); /* 02983A18 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983A1C */ cpu->r[11] = cpu->r[10] + cpu->r[7]; /* 02983A20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 02983A24 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A24 */ _t37 = _t36 & 0x00000001u; /* 02983A24 */ if (_t37) goto L_02983A3C; else goto L_02983A28; L_02983A28: ; // 0x2983a28 /* 02983A28 */ cpu->r[9] = 0x00000000u; L_02983A2C: ; // 0x2983a2c /* 02983A2C */ _t38 = cpu->r[10] + 0x00000008u; /* 02983A2C */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[9]); /* 02983A30 */ cpu->r[10] = cpu->r[10] + 0x0000000Cu; /* 02983A34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 02983A38 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A38 */ _t40 = _t39 & 0x00000001u; /* 02983A38 */ if (_t40) goto L_02983A3C; else goto L_02983A2C; L_02983A3C: ; // 0x2983a3c /* 02983A3C */ _t41 = cpu->r[31] + 0x00000028u; /* 02983A3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t41); /* 02983A40 */ _t42 = cpu->r[31] + 0x0000002Cu; /* 02983A40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42); /* 02983A44 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000006Cu); /* 02983A48 */ cpu->r[8] = cpu->r[6] + cpu->r[9]; /* 02983A4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 02983A50 */ cpu->r[9] = cpu->r[6]; /* 02983A54 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A54 */ _t44 = _t43 & 0x00000001u; /* 02983A54 */ if (_t44) goto L_02983B10; else goto L_02983A58; L_02983A58: ; // 0x2983a58 /* 02983A58 */ _t45 = cpu->r[6] + 0x00000000u; /* 02983A58 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t45); /* 02983A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 02983A60 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A60 */ _t47 = _t46 & 0x00000001u; /* 02983A60 */ if (_t47) goto L_02983B04; else goto L_02983A64; L_02983A64: ; // 0x2983a64 /* 02983A64 */ _t48 = cpu->r[6] + 0x00000002u; /* 02983A64 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t48); /* 02983A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 02983A6C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A6C */ _t50 = _t49 & 0x00000001u; /* 02983A6C */ if (_t50) goto L_02983B04; else goto L_02983A70; L_02983A70: ; // 0x2983a70 /* 02983A70 */ _t51 = cpu->r[31] + 0x00000038u; /* 02983A70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51); /* 02983A74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02983A78 */ _t52 = cpu->r[31] + 0x0000003Cu; /* 02983A78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52); /* 02983A7C */ _t53 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983A7C */ _t54 = _t53 & 0x00000001u; /* 02983A7C */ if (_t54) goto L_02983A80; else goto L_02983A88; L_02983A80: ; // 0x2983a80 /* 02983A80 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02983A84 */ cpu->r[11] = cpu->r[11] + cpu->r[4]; L_02983A88: ; // 0x2983a88 /* 02983A88 */ _t55 = cpu->r[11] + 0x00000004u; /* 02983A88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55); /* 02983A8C */ _t56 = cpu->r[11] + 0x00000008u; /* 02983A8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t56); /* 02983A90 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02983A94 */ cpu->r[4] = cpu->r[12] + cpu->r[5]; /* 02983A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]); /* 02983A9C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A9C */ _t58 = _t57 & 0x00000001u; /* 02983A9C */ if (_t58) goto L_02983B04; else goto L_02983AA0; L_02983AA0: ; // 0x2983aa0 /* 02983AA0 */ cpu->r[11] = 0x4BDA0000u; /* 02983AA4 */ cpu->r[7] = cpu->r[6] - cpu->r[9]; /* 02983AA8 */ cpu->r[11] = cpu->r[11] + 0x000012F7u; /* 02983AAC */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x0000001Eu, 0x00000002u, 0x0000001Fu); /* 02983AB0 */ /* nop */ /* 02983AB4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x00000003u, 0x0000001Fu); L_02983AB8: ; // 0x2983ab8 /* 02983AB8 */ _t59 = cpu->r[12] + 0x00000000u; /* 02983AB8 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t59); /* 02983ABC */ _t60 = cpu->r[31] + 0x00000008u; /* 02983ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t60); /* 02983AC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]); /* 02983AC4 */ _t61 = cpu->r[31] + 0x0000000Cu; /* 02983AC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61); /* 02983AC8 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983AC8 */ _t63 = _t62 & 0x00000001u; /* 02983AC8 */ if (_t63) goto L_02983ACC; else goto L_02983AD4; L_02983ACC: ; // 0x2983acc /* 02983ACC */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000000Cu); /* 02983AD0 */ cpu->r[7] = cpu->r[7] + cpu->r[5]; L_02983AD4: ; // 0x2983ad4 /* 02983AD4 */ _t64 = cpu->r[7] + 0x00000008u; /* 02983AD4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t64); /* 02983AD8 */ _t65 = cpu->r[7] + 0x00000000u; /* 02983AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65); /* 02983ADC */ cpu->r[11] = cpu->r[5] + 0x00000001u; /* 02983AE0 */ _t66 = cpu->r[7] + 0x00000008u; /* 02983AE0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[11]); /* 02983AE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]); /* 02983AE8 */ _t67 = cpu->r[7] + 0x00000004u; /* 02983AE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67); /* 02983AEC */ _t68 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983AEC */ _t69 = _t68 & 0x00000001u; /* 02983AEC */ if (_t69) goto L_02983AF0; else goto L_02983AF4; L_02983AF0: ; // 0x2983af0 /* 02983AF0 */ cpu->r[10] = cpu->r[10] + cpu->r[5]; L_02983AF4: ; // 0x2983af4 /* 02983AF4 */ cpu->r[12] = cpu->r[12] + 0x00000002u; /* 02983AF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]); /* 02983AFC */ _t70 = cpu->r[10] + 0x00000000u; /* 02983AFC */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[3]); /* 02983B00 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983B00 */ _t72 = _t71 & 0x00000001u; /* 02983B00 */ if (_t72) goto L_02983B04; else goto L_02983AB8; L_02983B04: ; // 0x2983b04 /* 02983B04 */ cpu->r[6] = cpu->r[6] + 0x0000006Cu; /* 02983B08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 02983B0C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983B0C */ _t74 = _t73 & 0x00000001u; /* 02983B0C */ if (_t74) goto L_02983B10; else goto L_02983A58; L_02983B10: ; // 0x2983b10 /* 02983B10 */ _t75 = cpu->r[1] + 0x00000014u; /* 02983B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75); /* 02983B14 */ _t76 = cpu->r[1] + 0x00000008u; /* 02983B14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t76); /* 02983B18 */ cpu->lr = cpu->r[0]; /* 02983B1C */ _t77 = cpu->r[1] + 0x0000000Cu; /* 02983B1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t77); /* 02983B20 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02983B24 */ return; } // fn_02983958 @ 0x2983958 void Gambit_fn_02983958(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_02983958: ; // 0x2983958 /* 02983958 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02983958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02983958 */ cpu->r[1] = _t0; /* 0298395C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298395C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02983960 */ _t2 = cpu->r[1] + 0x00000008u; /* 02983960 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02983964 */ cpu->r[31] = cpu->r[3]; /* 02983968 */ _t3 = cpu->r[1] + 0x00000014u; /* 02983968 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298396C */ _t4 = cpu->r[31] + 0x00000028u; /* 0298396C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 02983970 */ _t5 = cpu->r[5] + 0x00000000u; /* 02983970 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02983974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]); /* 02983978 */ _t6 = cpu->r[31] + 0x0000002Cu; /* 02983978 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 0298397C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298397C */ _t8 = _t7 & 0x00000001u; /* 0298397C */ if (_t8) goto L_02983980; else goto L_02983988; L_02983980: ; // 0x2983980 /* 02983980 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000006Cu); /* 02983984 */ cpu->r[30] = cpu->r[30] + cpu->r[9]; L_02983988: ; // 0x2983988 /* 02983988 */ _t9 = cpu->r[30] + 0x00000000u; /* 02983988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298398C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02983990 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983990 */ _t11 = _t10 & 0x00000001u; /* 02983990 */ if (_t11) goto L_02983994; else goto L_029839A0; L_02983994: ; // 0x2983994 /* 02983994 */ _t12 = cpu->r[30] + 0x00000004u; /* 02983994 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12); /* 02983998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]); /* 0298399C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298399C */ _t14 = _t13 & 0x00000001u; /* 0298399C */ if (_t14) goto L_02983B10; else goto L_029839A0; L_029839A0: ; // 0x29839a0 /* 029839A0 */ _t15 = cpu->r[30] + 0x00000004u; /* 029839A0 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]); /* 029839A4 */ cpu->r[0] = cpu->r[12]; /* 029839A8 */ _t16 = cpu->r[30] + 0x00000068u; /* 029839A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16); /* 029839AC */ /* nop */ /* 029839B0 */ _t17 = cpu->r[30] + 0x00000000u; /* 029839B0 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]); /* 029839B4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Eu, 0x0000001Cu); /* 029839B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0xFFFFFFFFu); /* 029839BC */ _t18 = cpu->r[30] + 0x00000068u; /* 029839BC */ rbrew_write32(cpu->mem, _t18, cpu->r[7]); /* 029839C0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 029839C0 */ _t20 = _t19 & 0x00000001u; /* 029839C0 */ if (_t20) goto L_02983A10; else goto L_029839C4; L_029839C4: ; // 0x29839c4 /* 029839C4 */ /* nop */ /* 029839C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 029839CC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 029839CC */ _t22 = _t21 & 0x00000001u; /* 029839CC */ if (_t22) goto L_02983A10; else goto L_029839D0; L_029839D0: ; // 0x29839d0 /* 029839D0 */ _t23 = cpu->r[31] + 0x00000038u; /* 029839D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23); /* 029839D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]); /* 029839D8 */ _t24 = cpu->r[31] + 0x0000003Cu; /* 029839D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 029839DC */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 029839DC */ _t26 = _t25 & 0x00000001u; /* 029839DC */ if (_t26) goto L_029839E0; else goto L_029839E8; L_029839E0: ; // 0x29839e0 /* 029839E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 029839E4 */ cpu->r[7] = cpu->r[7] + cpu->r[12]; L_029839E8: ; // 0x29839e8 /* 029839E8 */ _t27 = cpu->r[7] + 0x00000004u; /* 029839E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 029839EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029839F0 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u); /* 029839F0 */ _t29 = _t28 & 0x00000001u; /* 029839F0 */ if (_t29) goto L_029839F4; else goto L_02983A10; L_029839F4: ; // 0x29839f4 /* 029839F4 */ _t30 = cpu->r[7] + 0x00000000u; /* 029839F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 029839F8 */ _t31 = cpu->r[11] + 0x00000000u; /* 029839F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31); /* 029839FC */ cpu->r[3] = cpu->r[30] + 0x0000000Cu; /* 02983A00 */ Gambit_fn_02C54BFC(cpu); /* 02983A04 */ _t32 = cpu->r[30] + 0x00000068u; /* 02983A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 02983A08 */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 02983A0C */ _t33 = cpu->r[30] + 0x00000068u; /* 02983A0C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]); L_02983A10: ; // 0x2983a10 /* 02983A10 */ _t34 = cpu->r[31] + 0x00000008u; /* 02983A10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34); /* 02983A14 */ _t35 = cpu->r[31] + 0x0000000Cu; /* 02983A14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35); /* 02983A18 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983A1C */ cpu->r[11] = cpu->r[10] + cpu->r[7]; /* 02983A20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 02983A24 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A24 */ _t37 = _t36 & 0x00000001u; /* 02983A24 */ if (_t37) goto L_02983A3C; else goto L_02983A28; L_02983A28: ; // 0x2983a28 /* 02983A28 */ cpu->r[9] = 0x00000000u; L_02983A2C: ; // 0x2983a2c /* 02983A2C */ _t38 = cpu->r[10] + 0x00000008u; /* 02983A2C */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[9]); /* 02983A30 */ cpu->r[10] = cpu->r[10] + 0x0000000Cu; /* 02983A34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 02983A38 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A38 */ _t40 = _t39 & 0x00000001u; /* 02983A38 */ if (_t40) goto L_02983A3C; else goto L_02983A2C; L_02983A3C: ; // 0x2983a3c /* 02983A3C */ _t41 = cpu->r[31] + 0x00000028u; /* 02983A3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t41); /* 02983A40 */ _t42 = cpu->r[31] + 0x0000002Cu; /* 02983A40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t42); /* 02983A44 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000006Cu); /* 02983A48 */ cpu->r[8] = cpu->r[6] + cpu->r[9]; /* 02983A4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 02983A50 */ cpu->r[9] = cpu->r[6]; /* 02983A54 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A54 */ _t44 = _t43 & 0x00000001u; /* 02983A54 */ if (_t44) goto L_02983B10; else goto L_02983A58; L_02983A58: ; // 0x2983a58 /* 02983A58 */ _t45 = cpu->r[6] + 0x00000000u; /* 02983A58 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t45); /* 02983A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 02983A60 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A60 */ _t47 = _t46 & 0x00000001u; /* 02983A60 */ if (_t47) goto L_02983B04; else goto L_02983A64; L_02983A64: ; // 0x2983a64 /* 02983A64 */ _t48 = cpu->r[6] + 0x00000002u; /* 02983A64 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t48); /* 02983A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 02983A6C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A6C */ _t50 = _t49 & 0x00000001u; /* 02983A6C */ if (_t50) goto L_02983B04; else goto L_02983A70; L_02983A70: ; // 0x2983a70 /* 02983A70 */ _t51 = cpu->r[31] + 0x00000038u; /* 02983A70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51); /* 02983A74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02983A78 */ _t52 = cpu->r[31] + 0x0000003Cu; /* 02983A78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52); /* 02983A7C */ _t53 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983A7C */ _t54 = _t53 & 0x00000001u; /* 02983A7C */ if (_t54) goto L_02983A80; else goto L_02983A88; L_02983A80: ; // 0x2983a80 /* 02983A80 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02983A84 */ cpu->r[11] = cpu->r[11] + cpu->r[4]; L_02983A88: ; // 0x2983a88 /* 02983A88 */ _t55 = cpu->r[11] + 0x00000004u; /* 02983A88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55); /* 02983A8C */ _t56 = cpu->r[11] + 0x00000008u; /* 02983A8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t56); /* 02983A90 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02983A94 */ cpu->r[4] = cpu->r[12] + cpu->r[5]; /* 02983A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]); /* 02983A9C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983A9C */ _t58 = _t57 & 0x00000001u; /* 02983A9C */ if (_t58) goto L_02983B04; else goto L_02983AA0; L_02983AA0: ; // 0x2983aa0 /* 02983AA0 */ cpu->r[11] = 0x4BDA0000u; /* 02983AA4 */ cpu->r[7] = cpu->r[6] - cpu->r[9]; /* 02983AA8 */ cpu->r[11] = cpu->r[11] + 0x000012F7u; /* 02983AAC */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x0000001Eu, 0x00000002u, 0x0000001Fu); /* 02983AB0 */ /* nop */ /* 02983AB4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x00000003u, 0x0000001Fu); L_02983AB8: ; // 0x2983ab8 /* 02983AB8 */ _t59 = cpu->r[12] + 0x00000000u; /* 02983AB8 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t59); /* 02983ABC */ _t60 = cpu->r[31] + 0x00000008u; /* 02983ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t60); /* 02983AC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]); /* 02983AC4 */ _t61 = cpu->r[31] + 0x0000000Cu; /* 02983AC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61); /* 02983AC8 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983AC8 */ _t63 = _t62 & 0x00000001u; /* 02983AC8 */ if (_t63) goto L_02983ACC; else goto L_02983AD4; L_02983ACC: ; // 0x2983acc /* 02983ACC */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000000Cu); /* 02983AD0 */ cpu->r[7] = cpu->r[7] + cpu->r[5]; L_02983AD4: ; // 0x2983ad4 /* 02983AD4 */ _t64 = cpu->r[7] + 0x00000008u; /* 02983AD4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t64); /* 02983AD8 */ _t65 = cpu->r[7] + 0x00000000u; /* 02983AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65); /* 02983ADC */ cpu->r[11] = cpu->r[5] + 0x00000001u; /* 02983AE0 */ _t66 = cpu->r[7] + 0x00000008u; /* 02983AE0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[11]); /* 02983AE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]); /* 02983AE8 */ _t67 = cpu->r[7] + 0x00000004u; /* 02983AE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67); /* 02983AEC */ _t68 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983AEC */ _t69 = _t68 & 0x00000001u; /* 02983AEC */ if (_t69) goto L_02983AF0; else goto L_02983AF4; L_02983AF0: ; // 0x2983af0 /* 02983AF0 */ cpu->r[10] = cpu->r[10] + cpu->r[5]; L_02983AF4: ; // 0x2983af4 /* 02983AF4 */ cpu->r[12] = cpu->r[12] + 0x00000002u; /* 02983AF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]); /* 02983AFC */ _t70 = cpu->r[10] + 0x00000000u; /* 02983AFC */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[3]); /* 02983B00 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983B00 */ _t72 = _t71 & 0x00000001u; /* 02983B00 */ if (_t72) goto L_02983B04; else goto L_02983AB8; L_02983B04: ; // 0x2983b04 /* 02983B04 */ cpu->r[6] = cpu->r[6] + 0x0000006Cu; /* 02983B08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 02983B0C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983B0C */ _t74 = _t73 & 0x00000001u; /* 02983B0C */ if (_t74) goto L_02983B10; else goto L_02983A58; L_02983B10: ; // 0x2983b10 /* 02983B10 */ _t75 = cpu->r[1] + 0x00000014u; /* 02983B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75); /* 02983B14 */ _t76 = cpu->r[1] + 0x00000008u; /* 02983B14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t76); /* 02983B18 */ cpu->lr = cpu->r[0]; /* 02983B1C */ _t77 = cpu->r[1] + 0x0000000Cu; /* 02983B1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t77); /* 02983B20 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02983B24 */ return; } // fn_02983B28 @ 0x2983b28 void Gambit_fn_02983B28(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02983B28: ; // 0x2983b28 /* 02983B28 */ cpu->r[0] = cpu->lr; /* 02983B2C */ _t0 = cpu->r[1] + 0x00000004u; /* 02983B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02983B30 */ cpu->r[11] = 0xFFFFFFFFu; /* 02983B34 */ _t1 = cpu->r[1] + 0xFFFFFFE8u; /* 02983B34 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02983B34 */ cpu->r[1] = _t1; /* 02983B38 */ _t2 = cpu->r[1] + 0x00000008u; /* 02983B38 */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[11]); /* 02983B3C */ _t3 = cpu->r[1] + 0x0000000Au; /* 02983B3C */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[11]); /* 02983B40 */ _t4 = cpu->r[1] + 0x00000008u; /* 02983B40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02983B44 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02983B48 */ cpu->r[6] = 0x00000000u; /* 02983B4C */ _t5 = cpu->r[1] + 0x0000000Cu; /* 02983B4C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 02983B50 */ Gambit_fn_02983954(cpu); /* 02983B54 */ _t6 = cpu->r[1] + 0x0000001Cu; /* 02983B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02983B58 */ cpu->lr = cpu->r[0]; /* 02983B5C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02983B60 */ return; } // fn_02983B34 @ 0x2983b34 void Gambit_fn_02983B34(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_02983B34: ; // 0x2983b34 /* 02983B34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02983B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02983B34 */ cpu->r[1] = _t0; /* 02983B38 */ _t1 = cpu->r[1] + 0x00000008u; /* 02983B38 */ rbrew_write16(cpu->mem, _t1, (uint16_t)cpu->r[11]); /* 02983B3C */ _t2 = cpu->r[1] + 0x0000000Au; /* 02983B3C */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[11]); /* 02983B40 */ _t3 = cpu->r[1] + 0x00000008u; /* 02983B40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02983B44 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02983B48 */ cpu->r[6] = 0x00000000u; /* 02983B4C */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02983B4C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]); /* 02983B50 */ Gambit_fn_02983954(cpu); /* 02983B54 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02983B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02983B58 */ cpu->lr = cpu->r[0]; /* 02983B5C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02983B60 */ return; } // fn_02983B64 @ 0x2983b64 void Gambit_fn_02983B64(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_02983B64: ; // 0x2983b64 /* 02983B64 */ _t0 = cpu->r[3] + 0x00000028u; /* 02983B64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 02983B68 */ _t1 = cpu->r[3] + 0x0000002Cu; /* 02983B68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02983B6C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000006Cu); /* 02983B70 */ cpu->r[0] = cpu->r[12] + cpu->r[9]; /* 02983B74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 02983B78 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983B78 */ _t3 = _t2 & 0x00000001u; /* 02983B78 */ if (_t3) goto L_02983B94; else goto L_02983B7C; L_02983B7C: ; // 0x2983b7c /* 02983B7C */ cpu->r[11] = 0xFFFFFFFFu; L_02983B80: ; // 0x2983b80 /* 02983B80 */ _t4 = cpu->r[12] + 0x00000002u; /* 02983B80 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[11]); /* 02983B84 */ _t5 = cpu->r[12] + 0x00000000u; /* 02983B84 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[11]); /* 02983B88 */ cpu->r[12] = cpu->r[12] + 0x0000006Cu; /* 02983B8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 02983B90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983B90 */ _t7 = _t6 & 0x00000001u; /* 02983B90 */ if (_t7) goto L_02983B94; else goto L_02983B80; L_02983B94: ; // 0x2983b94 /* 02983B94 */ _t8 = cpu->r[3] + 0x00000008u; /* 02983B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02983B98 */ _t9 = cpu->r[3] + 0x0000000Cu; /* 02983B98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02983B9C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02983BA0 */ cpu->r[11] = cpu->r[10] + cpu->r[0]; /* 02983BA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 02983BA8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983BA8 */ _t11 = _t10 & 0x00000001u; /* 02983BA8 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02983BA8 */ goto L_02983BAC; L_02983BAC: ; // 0x2983bac /* 02983BAC */ cpu->r[9] = 0x00000000u; L_02983BB0: ; // 0x2983bb0 /* 02983BB0 */ _t12 = cpu->r[10] + 0x00000008u; /* 02983BB0 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[9]); /* 02983BB4 */ cpu->r[10] = cpu->r[10] + 0x0000000Cu; /* 02983BB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]); /* 02983BBC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983BBC */ _t14 = _t13 & 0x00000001u; /* 02983BBC */ if (_t14) goto L_02983BC0; else goto L_02983BB0; L_02983BC0: ; // 0x2983bc0 /* 02983BC0 */ return; } // fn_02983BC4 @ 0x2983bc4 void Gambit_fn_02983BC4(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_02983BC4: ; // 0x2983bc4 /* 02983BC4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02983BC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02983BC4 */ cpu->r[1] = _t0; /* 02983BC8 */ /* nop */ /* 02983BCC */ cpu->r[0] = cpu->lr; /* 02983BD0 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02983BD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02983BD4 */ cpu->r[29] = cpu->r[4]; /* 02983BD8 */ _t2 = cpu->r[3] + 0x00000074u; /* 02983BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02983BDC */ _t3 = cpu->r[3] + 0x0000007Cu; /* 02983BDC */ cpu->r[27] = rbrew_read32(cpu->mem, _t3); /* 02983BE0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02983BE4 */ cpu->r[28] = cpu->r[27] + cpu->r[8]; /* 02983BE8 */ cpu->r[31] = 0xFFFFFFFFu; /* 02983BEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]); /* 02983BF0 */ cpu->r[26] = 0x00000000u; /* 02983BF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983BF4 */ _t5 = _t4 & 0x00000001u; /* 02983BF4 */ if (_t5) goto L_02983C70; else goto L_02983BF8; L_02983BF8: ; // 0x2983bf8 /* 02983BF8 */ cpu->r[25] = 0x00000000u; L_02983BFC: ; // 0x2983bfc /* 02983BFC */ _t6 = cpu->r[29] + 0x00000004u; /* 02983BFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02983C00 */ _t7 = cpu->r[12] + 0x00000014u; /* 02983C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02983C04 */ _t8 = cpu->r[27] + 0x00000000u; /* 02983C04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 02983C08 */ cpu->ctr = cpu->r[0]; /* 02983C0C */ _t9 = cpu->r[10] + 0x0000001Cu; /* 02983C0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 02983C10 */ cpu->r[3] = cpu->r[29]; /* 02983C14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02983C18 */ _t10 = cpu->r[30] + 0x00000028u; /* 02983C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02983C1C */ cpu->r[12] = cpu->r[30] + 0x00000028u; /* 02983C20 */ cpu->r[3] = 0x00000000u; /* 02983C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02983C28 */ _t11 = cpu->r[29] + 0x00000000u; /* 02983C28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 02983C2C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983C2C */ _t13 = _t12 & 0x00000001u; /* 02983C2C */ if (_t13) goto L_02983C34; else goto L_02983C30; L_02983C30: ; // 0x2983c30 /* 02983C30 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; L_02983C34: ; // 0x2983c34 /* 02983C34 */ Gambit_fn_02C60644(cpu); /* 02983C38 */ cpu->r[10] = cpu->r[3]; /* 02983C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02983C3C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983C3C */ _t15 = _t14 & 0x00000001u; /* 02983C3C */ if (_t15) goto L_02983C54; else goto L_02983C40; L_02983C40: ; // 0x2983c40 /* 02983C40 */ _t16 = cpu->r[1] + 0x00000008u; /* 02983C40 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[25]); /* 02983C44 */ cpu->r[5] = cpu->r[26] + cpu->r[10]; /* 02983C48 */ _t17 = cpu->r[1] + 0x0000000Au; /* 02983C48 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[5]); /* 02983C4C */ _t18 = cpu->r[1] + 0x00000008u; /* 02983C4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02983C50 */ goto L_02983C7C; L_02983C54: ; // 0x2983c54 /* 02983C54 */ _t19 = cpu->r[27] + 0x00000000u; /* 02983C54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19); /* 02983C58 */ _t20 = cpu->r[10] + 0x0000001Cu; /* 02983C58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20); /* 02983C5C */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 02983C60 */ _t21 = cpu->r[30] + 0x00000054u; /* 02983C60 */ cpu->r[0] = rbrew_read16(cpu->mem, _t21); /* 02983C64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]); /* 02983C68 */ cpu->r[26] = cpu->r[26] + cpu->r[0]; /* 02983C6C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983C6C */ _t23 = _t22 & 0x00000001u; /* 02983C6C */ if (_t23) goto L_02983C70; else goto L_02983BFC; L_02983C70: ; // 0x2983c70 /* 02983C70 */ _t24 = cpu->r[1] + 0x00000008u; /* 02983C70 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[31]); /* 02983C74 */ _t25 = cpu->r[1] + 0x0000000Au; /* 02983C74 */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[31]); /* 02983C78 */ _t26 = cpu->r[1] + 0x00000008u; /* 02983C78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); L_02983C7C: ; // 0x2983c7c /* 02983C7C */ /* nop */ /* 02983C80 */ cpu->r[3] = cpu->r[0]; /* 02983C84 */ _t27 = cpu->r[1] + 0x0000002Cu; /* 02983C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 02983C88 */ cpu->lr = cpu->r[0]; /* 02983C8C */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02983C90 */ return; } // fn_02983C94 @ 0x2983c94 void Gambit_fn_02983C94(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; L_02983C94: ; // 0x2983c94 /* 02983C94 */ cpu->r[0] = cpu->lr; /* 02983C98 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02983C98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02983C98 */ cpu->r[1] = _t0; /* 02983C9C */ _t1 = cpu->r[1] + 0x00000024u; /* 02983C9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02983CA0 */ _t2 = cpu->r[1] + 0x0000002Cu; /* 02983CA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02983CA4 */ _t3 = cpu->r[3] + 0x00000030u; /* 02983CA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02983CA8 */ cpu->r[7] = cpu->r[6]; /* 02983CAC */ _t4 = cpu->r[5] + 0x00000000u; /* 02983CAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 02983CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]); /* 02983CB4 */ _t5 = cpu->r[3] + 0x00000034u; /* 02983CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02983CB8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983CB8 */ _t7 = _t6 & 0x00000001u; /* 02983CB8 */ if (_t7) goto L_02983CBC; else goto L_02983CC4; L_02983CBC: ; // 0x2983cbc /* 02983CBC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000001Cu); /* 02983CC0 */ cpu->r[12] = cpu->r[12] + cpu->r[11]; L_02983CC4: ; // 0x2983cc4 /* 02983CC4 */ /* nop */ /* 02983CC8 */ /* nop */ /* 02983CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u); /* 02983CD0 */ cpu->r[0] = 0xFFFFFFFFu; /* 02983CD4 */ _t8 = cpu->r[12] + 0x00000000u; /* 02983CD4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]); /* 02983CD8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983CD8 */ _t10 = _t9 & 0x00000001u; /* 02983CD8 */ if (_t10) goto L_02983CDC; else goto L_02983D04; L_02983CDC: ; // 0x2983cdc /* 02983CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u); /* 02983CE0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983CE0 */ _t12 = _t11 & 0x00000001u; /* 02983CE0 */ if (_t12) goto L_02983D1C; else goto L_02983CE4; L_02983CE4: ; // 0x2983ce4 /* 02983CE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983CE4 */ _t14 = _t13 & 0x00000001u; /* 02983CE4 */ if (_t14) goto L_02983D4C; else goto L_02983CE8; L_02983CE8: ; // 0x2983ce8 /* 02983CE8 */ _t15 = cpu->r[3] + 0x00000040u; /* 02983CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02983CEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]); /* 02983CF0 */ _t16 = cpu->r[3] + 0x00000044u; /* 02983CF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16); /* 02983CF4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983CF4 */ _t18 = _t17 & 0x00000001u; /* 02983CF4 */ if (_t18) goto L_02983CF8; else goto L_02983D7C; L_02983CF8: ; // 0x2983cf8 /* 02983CF8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983CFC */ cpu->r[5] = cpu->r[5] + cpu->r[0]; /* 02983D00 */ goto L_02983D7C; L_02983D04: ; // 0x2983d04 /* 02983D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000004u); /* 02983D08 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983D08 */ _t20 = _t19 & 0x00000001u; /* 02983D08 */ if (_t20) goto L_02983D94; else goto L_02983D0C; L_02983D0C: ; // 0x2983d0c /* 02983D0C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983D0C */ _t22 = _t21 & 0x00000001u; /* 02983D0C */ if (_t22) goto L_02983DC4; else goto L_02983D10; L_02983D10: ; // 0x2983d10 /* 02983D10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000005u); /* 02983D14 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983D14 */ _t24 = _t23 & 0x00000001u; /* 02983D14 */ if (_t24) goto L_02983DF4; else goto L_02983D18; L_02983D18: ; // 0x2983d18 /* 02983D18 */ goto L_02983E20; L_02983D1C: ; // 0x2983d1c /* 02983D1C */ _t25 = cpu->r[3] + 0x00000050u; /* 02983D1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t25); /* 02983D20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]); /* 02983D24 */ _t26 = cpu->r[3] + 0x00000054u; /* 02983D24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26); /* 02983D28 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983D28 */ _t28 = _t27 & 0x00000001u; /* 02983D28 */ if (_t28) goto L_02983D2C; else goto L_02983D34; L_02983D2C: ; // 0x2983d2c /* 02983D2C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983D30 */ cpu->r[5] = cpu->r[5] + cpu->r[9]; L_02983D34: ; // 0x2983d34 /* 02983D34 */ cpu->r[6] = cpu->r[4]; /* 02983D38 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02983D3C */ _t29 = cpu->r[1] + 0x00000008u; /* 02983D3C */ rbrew_write32(cpu->mem, _t29, cpu->r[31]); /* 02983D40 */ Gambit_fn_02987300(cpu); /* 02983D44 */ cpu->r[0] = cpu->r[3]; /* 02983D48 */ goto L_02983E20; L_02983D4C: ; // 0x2983d4c /* 02983D4C */ _t30 = cpu->r[3] + 0x00000048u; /* 02983D4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30); /* 02983D50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]); /* 02983D54 */ _t31 = cpu->r[3] + 0x0000004Cu; /* 02983D54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31); /* 02983D58 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983D58 */ _t33 = _t32 & 0x00000001u; /* 02983D58 */ if (_t33) goto L_02983D5C; else goto L_02983D64; L_02983D5C: ; // 0x2983d5c /* 02983D5C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983D60 */ cpu->r[5] = cpu->r[5] + cpu->r[10]; L_02983D64: ; // 0x2983d64 /* 02983D64 */ cpu->r[6] = cpu->r[4]; /* 02983D68 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 02983D6C */ _t34 = cpu->r[1] + 0x0000000Cu; /* 02983D6C */ rbrew_write32(cpu->mem, _t34, cpu->r[31]); /* 02983D70 */ Gambit_fn_02987508(cpu); /* 02983D74 */ cpu->r[0] = cpu->r[3]; /* 02983D78 */ goto L_02983E20; L_02983D7C: ; // 0x2983d7c /* 02983D7C */ cpu->r[6] = cpu->r[4]; /* 02983D80 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 02983D84 */ _t35 = cpu->r[1] + 0x00000010u; /* 02983D84 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]); /* 02983D88 */ Gambit_fn_02987710(cpu); /* 02983D8C */ cpu->r[0] = cpu->r[3]; /* 02983D90 */ goto L_02983E20; L_02983D94: ; // 0x2983d94 /* 02983D94 */ _t36 = cpu->r[3] + 0x00000058u; /* 02983D94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36); /* 02983D98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]); /* 02983D9C */ _t37 = cpu->r[3] + 0x0000005Cu; /* 02983D9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t37); /* 02983DA0 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983DA0 */ _t39 = _t38 & 0x00000001u; /* 02983DA0 */ if (_t39) goto L_02983DA4; else goto L_02983DAC; L_02983DA4: ; // 0x2983da4 /* 02983DA4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983DA8 */ cpu->r[5] = cpu->r[5] + cpu->r[0]; L_02983DAC: ; // 0x2983dac /* 02983DAC */ cpu->r[6] = cpu->r[4]; /* 02983DB0 */ cpu->r[4] = cpu->r[1] + 0x00000014u; /* 02983DB4 */ _t40 = cpu->r[1] + 0x00000014u; /* 02983DB4 */ rbrew_write32(cpu->mem, _t40, cpu->r[31]); /* 02983DB8 */ Gambit_fn_02987930(cpu); /* 02983DBC */ cpu->r[0] = cpu->r[3]; /* 02983DC0 */ goto L_02983E20; L_02983DC4: ; // 0x2983dc4 /* 02983DC4 */ _t41 = cpu->r[3] + 0x00000060u; /* 02983DC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 02983DC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]); /* 02983DCC */ _t42 = cpu->r[3] + 0x00000064u; /* 02983DCC */ cpu->r[5] = rbrew_read32(cpu->mem, _t42); /* 02983DD0 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983DD0 */ _t44 = _t43 & 0x00000001u; /* 02983DD0 */ if (_t44) goto L_02983DD4; else goto L_02983DDC; L_02983DD4: ; // 0x2983dd4 /* 02983DD4 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983DD8 */ cpu->r[5] = cpu->r[5] + cpu->r[9]; L_02983DDC: ; // 0x2983ddc /* 02983DDC */ cpu->r[6] = cpu->r[4]; /* 02983DE0 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 02983DE4 */ _t45 = cpu->r[1] + 0x00000018u; /* 02983DE4 */ rbrew_write32(cpu->mem, _t45, cpu->r[31]); /* 02983DE8 */ Gambit_fn_02987B94(cpu); /* 02983DEC */ cpu->r[0] = cpu->r[3]; /* 02983DF0 */ goto L_02983E20; L_02983DF4: ; // 0x2983df4 /* 02983DF4 */ _t46 = cpu->r[3] + 0x00000068u; /* 02983DF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46); /* 02983DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]); /* 02983DFC */ _t47 = cpu->r[3] + 0x0000006Cu; /* 02983DFC */ cpu->r[5] = rbrew_read32(cpu->mem, _t47); /* 02983E00 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983E00 */ _t49 = _t48 & 0x00000001u; /* 02983E00 */ if (_t49) goto L_02983E04; else goto L_02983E0C; L_02983E04: ; // 0x2983e04 /* 02983E04 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983E08 */ cpu->r[5] = cpu->r[5] + cpu->r[12]; L_02983E0C: ; // 0x2983e0c /* 02983E0C */ cpu->r[6] = cpu->r[4]; /* 02983E10 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu; /* 02983E14 */ _t50 = cpu->r[1] + 0x0000001Cu; /* 02983E14 */ rbrew_write32(cpu->mem, _t50, cpu->r[31]); /* 02983E18 */ Gambit_fn_02987DC0(cpu); /* 02983E1C */ cpu->r[0] = cpu->r[3]; L_02983E20: ; // 0x2983e20 /* 02983E20 */ cpu->r[3] = cpu->r[0]; /* 02983E24 */ _t51 = cpu->r[1] + 0x0000002Cu; /* 02983E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 02983E28 */ _t52 = cpu->r[1] + 0x00000024u; /* 02983E28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52); /* 02983E2C */ cpu->lr = cpu->r[0]; /* 02983E30 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02983E34 */ return; } // fn_02983C98 @ 0x2983c98 void Gambit_fn_02983C98(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; L_02983C98: ; // 0x2983c98 /* 02983C98 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02983C98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02983C98 */ cpu->r[1] = _t0; /* 02983C9C */ _t1 = cpu->r[1] + 0x00000024u; /* 02983C9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02983CA0 */ _t2 = cpu->r[1] + 0x0000002Cu; /* 02983CA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02983CA4 */ _t3 = cpu->r[3] + 0x00000030u; /* 02983CA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02983CA8 */ cpu->r[7] = cpu->r[6]; /* 02983CAC */ _t4 = cpu->r[5] + 0x00000000u; /* 02983CAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 02983CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]); /* 02983CB4 */ _t5 = cpu->r[3] + 0x00000034u; /* 02983CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02983CB8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983CB8 */ _t7 = _t6 & 0x00000001u; /* 02983CB8 */ if (_t7) goto L_02983CBC; else goto L_02983CC4; L_02983CBC: ; // 0x2983cbc /* 02983CBC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000001Cu); /* 02983CC0 */ cpu->r[12] = cpu->r[12] + cpu->r[11]; L_02983CC4: ; // 0x2983cc4 /* 02983CC4 */ /* nop */ /* 02983CC8 */ /* nop */ /* 02983CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u); /* 02983CD0 */ cpu->r[0] = 0xFFFFFFFFu; /* 02983CD4 */ _t8 = cpu->r[12] + 0x00000000u; /* 02983CD4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]); /* 02983CD8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983CD8 */ _t10 = _t9 & 0x00000001u; /* 02983CD8 */ if (_t10) goto L_02983CDC; else goto L_02983D04; L_02983CDC: ; // 0x2983cdc /* 02983CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u); /* 02983CE0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983CE0 */ _t12 = _t11 & 0x00000001u; /* 02983CE0 */ if (_t12) goto L_02983D1C; else goto L_02983CE4; L_02983CE4: ; // 0x2983ce4 /* 02983CE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983CE4 */ _t14 = _t13 & 0x00000001u; /* 02983CE4 */ if (_t14) goto L_02983D4C; else goto L_02983CE8; L_02983CE8: ; // 0x2983ce8 /* 02983CE8 */ _t15 = cpu->r[3] + 0x00000040u; /* 02983CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02983CEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]); /* 02983CF0 */ _t16 = cpu->r[3] + 0x00000044u; /* 02983CF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16); /* 02983CF4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983CF4 */ _t18 = _t17 & 0x00000001u; /* 02983CF4 */ if (_t18) goto L_02983CF8; else goto L_02983D7C; L_02983CF8: ; // 0x2983cf8 /* 02983CF8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983CFC */ cpu->r[5] = cpu->r[5] + cpu->r[0]; /* 02983D00 */ goto L_02983D7C; L_02983D04: ; // 0x2983d04 /* 02983D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000004u); /* 02983D08 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983D08 */ _t20 = _t19 & 0x00000001u; /* 02983D08 */ if (_t20) goto L_02983D94; else goto L_02983D0C; L_02983D0C: ; // 0x2983d0c /* 02983D0C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983D0C */ _t22 = _t21 & 0x00000001u; /* 02983D0C */ if (_t22) goto L_02983DC4; else goto L_02983D10; L_02983D10: ; // 0x2983d10 /* 02983D10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000005u); /* 02983D14 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983D14 */ _t24 = _t23 & 0x00000001u; /* 02983D14 */ if (_t24) goto L_02983DF4; else goto L_02983D18; L_02983D18: ; // 0x2983d18 /* 02983D18 */ goto L_02983E20; L_02983D1C: ; // 0x2983d1c /* 02983D1C */ _t25 = cpu->r[3] + 0x00000050u; /* 02983D1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t25); /* 02983D20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]); /* 02983D24 */ _t26 = cpu->r[3] + 0x00000054u; /* 02983D24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26); /* 02983D28 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983D28 */ _t28 = _t27 & 0x00000001u; /* 02983D28 */ if (_t28) goto L_02983D2C; else goto L_02983D34; L_02983D2C: ; // 0x2983d2c /* 02983D2C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983D30 */ cpu->r[5] = cpu->r[5] + cpu->r[9]; L_02983D34: ; // 0x2983d34 /* 02983D34 */ cpu->r[6] = cpu->r[4]; /* 02983D38 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02983D3C */ _t29 = cpu->r[1] + 0x00000008u; /* 02983D3C */ rbrew_write32(cpu->mem, _t29, cpu->r[31]); /* 02983D40 */ Gambit_fn_02987300(cpu); /* 02983D44 */ cpu->r[0] = cpu->r[3]; /* 02983D48 */ goto L_02983E20; L_02983D4C: ; // 0x2983d4c /* 02983D4C */ _t30 = cpu->r[3] + 0x00000048u; /* 02983D4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30); /* 02983D50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]); /* 02983D54 */ _t31 = cpu->r[3] + 0x0000004Cu; /* 02983D54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31); /* 02983D58 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983D58 */ _t33 = _t32 & 0x00000001u; /* 02983D58 */ if (_t33) goto L_02983D5C; else goto L_02983D64; L_02983D5C: ; // 0x2983d5c /* 02983D5C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983D60 */ cpu->r[5] = cpu->r[5] + cpu->r[10]; L_02983D64: ; // 0x2983d64 /* 02983D64 */ cpu->r[6] = cpu->r[4]; /* 02983D68 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu; /* 02983D6C */ _t34 = cpu->r[1] + 0x0000000Cu; /* 02983D6C */ rbrew_write32(cpu->mem, _t34, cpu->r[31]); /* 02983D70 */ Gambit_fn_02987508(cpu); /* 02983D74 */ cpu->r[0] = cpu->r[3]; /* 02983D78 */ goto L_02983E20; L_02983D7C: ; // 0x2983d7c /* 02983D7C */ cpu->r[6] = cpu->r[4]; /* 02983D80 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 02983D84 */ _t35 = cpu->r[1] + 0x00000010u; /* 02983D84 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]); /* 02983D88 */ Gambit_fn_02987710(cpu); /* 02983D8C */ cpu->r[0] = cpu->r[3]; /* 02983D90 */ goto L_02983E20; L_02983D94: ; // 0x2983d94 /* 02983D94 */ _t36 = cpu->r[3] + 0x00000058u; /* 02983D94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36); /* 02983D98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]); /* 02983D9C */ _t37 = cpu->r[3] + 0x0000005Cu; /* 02983D9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t37); /* 02983DA0 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983DA0 */ _t39 = _t38 & 0x00000001u; /* 02983DA0 */ if (_t39) goto L_02983DA4; else goto L_02983DAC; L_02983DA4: ; // 0x2983da4 /* 02983DA4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983DA8 */ cpu->r[5] = cpu->r[5] + cpu->r[0]; L_02983DAC: ; // 0x2983dac /* 02983DAC */ cpu->r[6] = cpu->r[4]; /* 02983DB0 */ cpu->r[4] = cpu->r[1] + 0x00000014u; /* 02983DB4 */ _t40 = cpu->r[1] + 0x00000014u; /* 02983DB4 */ rbrew_write32(cpu->mem, _t40, cpu->r[31]); /* 02983DB8 */ Gambit_fn_02987930(cpu); /* 02983DBC */ cpu->r[0] = cpu->r[3]; /* 02983DC0 */ goto L_02983E20; L_02983DC4: ; // 0x2983dc4 /* 02983DC4 */ _t41 = cpu->r[3] + 0x00000060u; /* 02983DC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 02983DC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]); /* 02983DCC */ _t42 = cpu->r[3] + 0x00000064u; /* 02983DCC */ cpu->r[5] = rbrew_read32(cpu->mem, _t42); /* 02983DD0 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983DD0 */ _t44 = _t43 & 0x00000001u; /* 02983DD0 */ if (_t44) goto L_02983DD4; else goto L_02983DDC; L_02983DD4: ; // 0x2983dd4 /* 02983DD4 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983DD8 */ cpu->r[5] = cpu->r[5] + cpu->r[9]; L_02983DDC: ; // 0x2983ddc /* 02983DDC */ cpu->r[6] = cpu->r[4]; /* 02983DE0 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 02983DE4 */ _t45 = cpu->r[1] + 0x00000018u; /* 02983DE4 */ rbrew_write32(cpu->mem, _t45, cpu->r[31]); /* 02983DE8 */ Gambit_fn_02987B94(cpu); /* 02983DEC */ cpu->r[0] = cpu->r[3]; /* 02983DF0 */ goto L_02983E20; L_02983DF4: ; // 0x2983df4 /* 02983DF4 */ _t46 = cpu->r[3] + 0x00000068u; /* 02983DF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46); /* 02983DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]); /* 02983DFC */ _t47 = cpu->r[3] + 0x0000006Cu; /* 02983DFC */ cpu->r[5] = rbrew_read32(cpu->mem, _t47); /* 02983E00 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983E00 */ _t49 = _t48 & 0x00000001u; /* 02983E00 */ if (_t49) goto L_02983E04; else goto L_02983E0C; L_02983E04: ; // 0x2983e04 /* 02983E04 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02983E08 */ cpu->r[5] = cpu->r[5] + cpu->r[12]; L_02983E0C: ; // 0x2983e0c /* 02983E0C */ cpu->r[6] = cpu->r[4]; /* 02983E10 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu; /* 02983E14 */ _t50 = cpu->r[1] + 0x0000001Cu; /* 02983E14 */ rbrew_write32(cpu->mem, _t50, cpu->r[31]); /* 02983E18 */ Gambit_fn_02987DC0(cpu); /* 02983E1C */ cpu->r[0] = cpu->r[3]; L_02983E20: ; // 0x2983e20 /* 02983E20 */ cpu->r[3] = cpu->r[0]; /* 02983E24 */ _t51 = cpu->r[1] + 0x0000002Cu; /* 02983E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 02983E28 */ _t52 = cpu->r[1] + 0x00000024u; /* 02983E28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52); /* 02983E2C */ cpu->lr = cpu->r[0]; /* 02983E30 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02983E34 */ return; } // fn_02983E38 @ 0x2983e38 void Gambit_fn_02983E38(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_02983E38: ; // 0x2983e38 /* 02983E38 */ _t0 = cpu->r[3] + 0x00000030u; /* 02983E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 02983E3C */ _t1 = cpu->r[3] + 0x00000034u; /* 02983E3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02983E40 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02983E44 */ cpu->r[11] = cpu->r[12] + cpu->r[9]; /* 02983E48 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFE4u; /* 02983E4C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFE4u; /* 02983E50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 02983E54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983E54 */ _t3 = _t2 & 0x00000001u; /* 02983E54 */ if (_t3) goto L_02983E94; else goto L_02983E58; L_02983E58: ; // 0x2983e58 /* 02983E58 */ _t4 = cpu->r[11] + 0x00000000u; /* 02983E58 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4); /* 02983E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0xFFFFFFFFu); /* 02983E60 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983E60 */ _t6 = _t5 & 0x00000001u; /* 02983E60 */ if (_t6) goto L_02983E70; else goto L_02983E64; L_02983E64: ; // 0x2983e64 /* 02983E64 */ _t7 = cpu->r[11] + 0x00000002u; /* 02983E64 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 02983E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0xFFFFFFFFu); /* 02983E6C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983E6C */ _t9 = _t8 & 0x00000001u; /* 02983E6C */ if (_t9) goto L_02983E70; else goto L_02983E88; L_02983E70: ; // 0x2983e70 /* 02983E70 */ cpu->r[9] = cpu->r[11] - cpu->r[12]; /* 02983E74 */ cpu->r[11] = 0x24920000u; /* 02983E78 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x0000001Eu, 0x00000002u, 0x0000001Fu); /* 02983E7C */ cpu->r[11] = cpu->r[11] + 0x00004925u; /* 02983E80 */ /* nop */ /* 02983E84 */ return; L_02983E88: ; // 0x2983e88 /* 02983E88 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFE4u; /* 02983E8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 02983E90 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983E90 */ _t11 = _t10 & 0x00000001u; /* 02983E90 */ if (_t11) goto L_02983E94; else goto L_02983E58; L_02983E94: ; // 0x2983e94 /* 02983E94 */ cpu->r[3] = 0xFFFFFFFFu; /* 02983E98 */ return; } // fn_02983E9C @ 0x2983e9c void Gambit_fn_02983E9C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02983E9C: ; // 0x2983e9c /* 02983E9C */ _t0 = cpu->r[3] + 0x00000030u; /* 02983E9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0); /* 02983EA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]); /* 02983EA4 */ _t1 = cpu->r[3] + 0x00000034u; /* 02983EA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02983EA8 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983EA8 */ _t3 = _t2 & 0x00000001u; /* 02983EA8 */ if (_t3) goto L_02983EAC; else goto L_02983EB4; L_02983EAC: ; // 0x2983eac /* 02983EAC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000001Cu); /* 02983EB0 */ cpu->r[12] = cpu->r[12] + cpu->r[0]; L_02983EB4: ; // 0x2983eb4 /* 02983EB4 */ _t4 = cpu->r[12] + 0x00000010u; /* 02983EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02983EB8 */ _t5 = cpu->r[12] + 0x00000018u; /* 02983EB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 02983EBC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02983EC0 */ cpu->r[0] = cpu->r[10] + cpu->r[12]; /* 02983EC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]); /* 02983EC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983EC8 */ _t7 = _t6 & 0x00000001u; /* 02983EC8 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02983EC8 */ goto L_02983ECC; L_02983ECC: ; // 0x2983ecc /* 02983ECC */ cpu->r[11] = 0xFFFFFFFFu; L_02983ED0: ; // 0x2983ed0 /* 02983ED0 */ _t8 = cpu->r[10] + 0x00000000u; /* 02983ED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 02983ED4 */ cpu->r[10] = cpu->r[10] + 0x00000004u; /* 02983ED8 */ _t9 = cpu->r[12] + 0x00000002u; /* 02983ED8 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[11]); /* 02983EDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]); /* 02983EE0 */ _t10 = cpu->r[12] + 0x00000000u; /* 02983EE0 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[11]); /* 02983EE4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983EE4 */ _t12 = _t11 & 0x00000001u; /* 02983EE4 */ if (_t12) goto L_02983EE8; else goto L_02983ED0; L_02983EE8: ; // 0x2983ee8 /* 02983EE8 */ return; } // fn_02983EEC @ 0x2983eec void Gambit_fn_02983EEC(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_02983EEC: ; // 0x2983eec /* 02983EEC */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 02983EEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02983EEC */ cpu->r[1] = _t0; /* 02983EF0 */ /* nop */ /* 02983EF4 */ cpu->r[0] = cpu->lr; /* 02983EF8 */ _t1 = cpu->r[1] + 0x00000020u; /* 02983EF8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02983EFC */ /* nop */ /* 02983F00 */ _t2 = cpu->r[1] + 0x00000028u; /* 02983F00 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 02983F04 */ _t3 = cpu->r[1] + 0x00000034u; /* 02983F04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02983F08 */ cpu->r[31] = cpu->r[3]; /* 02983F0C */ cpu->r[27] = cpu->r[4]; /* 02983F10 */ _t4 = cpu->r[31] + 0x00000030u; /* 02983F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02983F14 */ cpu->f[31] = cpu->f[1]; /* 02983F18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]); /* 02983F1C */ _t5 = cpu->r[31] + 0x00000034u; /* 02983F1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02983F20 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983F20 */ _t7 = _t6 & 0x00000001u; /* 02983F20 */ if (_t7) goto L_02983F24; else goto L_02983F48; L_02983F24: ; // 0x2983f24 /* 02983F24 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x0000001Cu); /* 02983F28 */ cpu->r[10] = cpu->r[12] + cpu->r[11]; /* 02983F2C */ _t8 = cpu->r[10] + 0x00000010u; /* 02983F2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t8); /* 02983F30 */ _t9 = cpu->r[10] + 0x00000018u; /* 02983F30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9); /* 02983F34 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02983F38 */ cpu->r[29] = cpu->r[28] + cpu->r[6]; /* 02983F3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02983F40 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983F40 */ _t11 = _t10 & 0x00000001u; /* 02983F40 */ if (_t11) goto L_02983FA0; else goto L_02983F44; L_02983F44: ; // 0x2983f44 /* 02983F44 */ goto L_02983F60; L_02983F48: ; // 0x2983f48 /* 02983F48 */ _t12 = cpu->r[12] + 0x00000010u; /* 02983F48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12); /* 02983F4C */ _t13 = cpu->r[12] + 0x00000018u; /* 02983F4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t13); /* 02983F50 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02983F54 */ cpu->r[29] = cpu->r[28] + cpu->r[6]; /* 02983F58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02983F5C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983F5C */ _t15 = _t14 & 0x00000001u; /* 02983F5C */ if (_t15) goto L_02983FA0; else goto L_02983F60; L_02983F60: ; // 0x2983f60 /* 02983F60 */ _t16 = cpu->r[28] + 0x00000000u; /* 02983F60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 02983F64 */ _t17 = cpu->r[8] + 0x00000008u; /* 02983F64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 02983F68 */ _t18 = cpu->r[10] + 0x00000000u; /* 02983F68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 02983F6C */ _t19 = cpu->r[30] + 0x00000010u; /* 02983F6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t19); /* 02983F70 */ _t20 = cpu->r[30] + 0x00000008u; /* 02983F70 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t20); /* 02983F74 */ cpu->ctr = cpu->r[9]; /* 02983F78 */ _t21 = cpu->r[30] + 0x00000004u; /* 02983F78 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t21); /* 02983F7C */ cpu->f[1] = cpu->f[31]; /* 02983F80 */ _t22 = cpu->r[30] + 0x00000014u; /* 02983F80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 02983F84 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02983F88 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 02983F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 02983F90 */ _t23 = cpu->r[30] + 0x00000000u; /* 02983F90 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[1]); /* 02983F94 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02983F94 */ _t25 = _t24 & 0x00000001u; /* 02983F94 */ if (_t25) goto L_02983F98; else goto L_02983F60; L_02983F98: ; // 0x2983f98 /* 02983F98 */ _t26 = cpu->r[31] + 0x00000030u; /* 02983F98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02983F9C */ _t27 = cpu->r[31] + 0x00000034u; /* 02983F9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); L_02983FA0: ; // 0x2983fa0 /* 02983FA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]); /* 02983FA4 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983FA4 */ _t29 = _t28 & 0x00000001u; /* 02983FA4 */ if (_t29) goto L_02983FA8; else goto L_02983FB0; L_02983FA8: ; // 0x2983fa8 /* 02983FA8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x0000001Cu); /* 02983FAC */ cpu->r[12] = cpu->r[12] + cpu->r[0]; L_02983FB0: ; // 0x2983fb0 /* 02983FB0 */ _t30 = cpu->r[12] + 0x00000008u; /* 02983FB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30); /* 02983FB4 */ _t31 = cpu->r[7] + 0x00000000u; /* 02983FB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31); /* 02983FB8 */ _t32 = cpu->r[9] + 0x00000000u; /* 02983FB8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t32); /* 02983FBC */ /* nop */ /* 02983FC0 */ _t33 = cpu->r[1] + 0x00000028u; /* 02983FC0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t33); /* 02983FC4 */ _t34 = cpu->r[1] + 0x00000020u; /* 02983FC4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t34); /* 02983FC8 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u); /* 02983FC8 */ _t36 = _t35 & 0x00000001u; /* 02983FC8 */ if (_t36) goto L_02983FCC; // else: addr-0 trap, fall-through L_02983FCC: ; // 0x2983fcc /* 02983FCC */ _t37 = cpu->r[1] + 0x00000034u; /* 02983FCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 02983FD0 */ cpu->lr = cpu->r[0]; /* 02983FD4 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 02983FD8 */ return; } // fn_02983FDC @ 0x2983fdc void Gambit_fn_02983FDC(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_02983FDC: ; // 0x2983fdc /* 02983FDC */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 02983FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02983FDC */ cpu->r[1] = _t0; /* 02983FE0 */ /* nop */ /* 02983FE4 */ cpu->r[0] = cpu->lr; /* 02983FE8 */ _t1 = cpu->r[1] + 0x00000028u; /* 02983FE8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02983FEC */ /* nop */ /* 02983FF0 */ _t2 = cpu->r[1] + 0x00000030u; /* 02983FF0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 02983FF4 */ _t3 = cpu->r[1] + 0x0000003Cu; /* 02983FF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02983FF8 */ cpu->r[29] = cpu->r[4]; /* 02983FFC */ cpu->r[28] = cpu->r[3]; /* 02984000 */ _t4 = cpu->r[28] + 0x00000030u; /* 02984000 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02984004 */ cpu->f[31] = cpu->f[1]; /* 02984008 */ _t5 = cpu->r[5] + 0x00000000u; /* 02984008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 0298400C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]); /* 02984010 */ _t6 = cpu->r[28] + 0x00000034u; /* 02984010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 02984014 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984014 */ _t8 = _t7 & 0x00000001u; /* 02984014 */ if (_t8) goto L_02984018; else goto L_02984020; L_02984018: ; // 0x2984018 /* 02984018 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x0000001Cu); /* 0298401C */ cpu->r[31] = cpu->r[31] + cpu->r[6]; L_02984020: ; // 0x2984020 /* 02984020 */ _t9 = cpu->r[31] + 0x00000000u; /* 02984020 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 02984024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]); /* 02984028 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984028 */ _t11 = _t10 & 0x00000001u; /* 02984028 */ if (_t11) goto L_029840F8; else goto L_0298402C; L_0298402C: ; // 0x298402c /* 0298402C */ cpu->r[4] = cpu->r[29]; /* 02984030 */ cpu->r[3] = cpu->r[28]; /* 02984034 */ Gambit_fn_02983E9C(cpu); /* 02984038 */ cpu->r[6] = 0x00000000u; /* 0298403C */ cpu->f[1] = cpu->f[31]; /* 02984040 */ _t12 = cpu->r[31] + 0x00000010u; /* 02984040 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]); /* 02984044 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02984048 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 02984048 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 0298404C */ Gambit_fn_02983C94(cpu); /* 02984050 */ _t14 = cpu->r[31] + 0x00000010u; /* 02984050 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14); /* 02984054 */ _t15 = cpu->r[31] + 0x00000014u; /* 02984054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02984058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]); /* 0298405C */ cpu->r[6] = cpu->r[3]; /* 02984060 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984060 */ _t17 = _t16 & 0x00000001u; /* 02984060 */ if (_t17) goto L_02984064; else goto L_0298407C; L_02984064: ; // 0x2984064 /* 02984064 */ _t18 = cpu->r[31] + 0x00000018u; /* 02984064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02984068 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298406C */ _t19 = cpu->r[11] + cpu->r[0]; /* 0298406C */ rbrew_write32(cpu->mem, _t19, cpu->r[31]); /* 02984070 */ _t20 = cpu->r[31] + 0x00000010u; /* 02984070 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20); /* 02984074 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 02984078 */ _t21 = cpu->r[31] + 0x00000010u; /* 02984078 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]); L_0298407C: ; // 0x298407c /* 0298407C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0xFFFFFFFFu); /* 02984080 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984080 */ _t23 = _t22 & 0x00000001u; /* 02984080 */ if (_t23) goto L_029840F8; else goto L_02984084; L_02984084: ; // 0x2984084 /* 02984084 */ cpu->r[3] = cpu->r[28]; /* 02984088 */ Gambit_fn_02983E38(cpu); /* 0298408C */ cpu->r[27] = cpu->r[3]; /* 02984090 */ cpu->f[1] = cpu->f[31]; /* 02984094 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 02984098 */ cpu->r[4] = cpu->r[27]; /* 0298409C */ cpu->r[3] = cpu->r[28]; /* 029840A0 */ _t24 = cpu->r[1] + 0x00000008u; /* 029840A0 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]); /* 029840A4 */ Gambit_fn_02983C94(cpu); /* 029840A8 */ _t25 = cpu->r[28] + 0x00000030u; /* 029840A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25); /* 029840AC */ _t26 = cpu->r[31] + 0x00000010u; /* 029840AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t26); /* 029840B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[7]); /* 029840B4 */ _t27 = cpu->r[28] + 0x00000034u; /* 029840B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 029840B8 */ cpu->r[6] = cpu->r[3]; /* 029840BC */ _t28 = cpu->r[31] + 0x00000014u; /* 029840BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 029840C0 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u); /* 029840C0 */ _t30 = _t29 & 0x00000001u; /* 029840C0 */ if (_t30) goto L_029840C4; else goto L_029840CC; L_029840C4: ; // 0x29840c4 /* 029840C4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x0000001Cu); /* 029840C8 */ cpu->r[12] = cpu->r[12] + cpu->r[8]; L_029840CC: ; // 0x29840cc /* 029840CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]); /* 029840D0 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u); /* 029840D0 */ _t32 = _t31 & 0x00000001u; /* 029840D0 */ if (_t32) goto L_029840D4; else goto L_029840F0; L_029840D4: ; // 0x29840d4 /* 029840D4 */ _t33 = cpu->r[31] + 0x00000018u; /* 029840D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 029840D8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029840DC */ _t34 = cpu->r[11] + cpu->r[0]; /* 029840DC */ rbrew_write32(cpu->mem, _t34, cpu->r[12]); /* 029840E0 */ _t35 = cpu->r[31] + 0x00000010u; /* 029840E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35); /* 029840E4 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 029840E8 */ _t36 = cpu->r[31] + 0x00000010u; /* 029840E8 */ rbrew_write32(cpu->mem, _t36, cpu->r[8]); /* 029840EC */ goto L_0298407C; L_029840F0: ; // 0x29840f0 /* 029840F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0xFFFFFFFFu); /* 029840F4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 029840F4 */ _t38 = _t37 & 0x00000001u; /* 029840F4 */ if (_t38) goto L_029840F8; else goto L_02984084; L_029840F8: ; // 0x29840f8 /* 029840F8 */ cpu->f[1] = cpu->f[31]; /* 029840FC */ cpu->r[3] = cpu->r[28]; /* 02984100 */ cpu->r[4] = cpu->r[29]; /* 02984104 */ Gambit_fn_02983EEC(cpu); /* 02984108 */ /* nop */ /* 0298410C */ _t39 = cpu->r[1] + 0x00000030u; /* 0298410C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t39); /* 02984110 */ _t40 = cpu->r[1] + 0x00000028u; /* 02984110 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t40); /* 02984114 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984114 */ _t42 = _t41 & 0x00000001u; /* 02984114 */ if (_t42) goto L_02984118; // else: addr-0 trap, fall-through L_02984118: ; // 0x2984118 /* 02984118 */ _t43 = cpu->r[1] + 0x0000003Cu; /* 02984118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43); /* 0298411C */ cpu->lr = cpu->r[0]; /* 02984120 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 02984124 */ return; } // fn_02984128 @ 0x2984128 void Gambit_fn_02984128(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02984128: ; // 0x2984128 /* 02984128 */ _t0 = cpu->r[3] + 0x00000030u; /* 02984128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 0298412C */ _t1 = cpu->r[3] + 0x00000034u; /* 0298412C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02984130 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu); /* 02984134 */ cpu->r[0] = cpu->r[12] + cpu->r[10]; /* 02984138 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 0298413C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298413C */ _t3 = _t2 & 0x00000001u; /* 0298413C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298413C */ goto L_02984140; L_02984140: ; // 0x2984140 /* 02984140 */ cpu->r[11] = 0xFFFFFFFFu; L_02984144: ; // 0x2984144 /* 02984144 */ _t4 = cpu->r[12] + 0x00000002u; /* 02984144 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[11]); /* 02984148 */ _t5 = cpu->r[12] + 0x00000000u; /* 02984148 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[11]); /* 0298414C */ cpu->r[12] = cpu->r[12] + 0x0000001Cu; /* 02984150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 02984154 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984154 */ _t7 = _t6 & 0x00000001u; /* 02984154 */ if (_t7) goto L_02984158; else goto L_02984144; L_02984158: ; // 0x2984158 /* 02984158 */ return; } // fn_0298415C @ 0x298415c void Gambit_fn_0298415C(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_0298415C: ; // 0x298415c /* 0298415C */ _t0 = cpu->r[4] + 0x00000000u; /* 0298415C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 02984160 */ /* nop */ /* 02984164 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000003u); /* 02984168 */ /* nop */ /* 0298416C */ _t1 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298416C */ _t2 = _t1 & 0x00000001u; /* 0298416C */ if (_t2) goto L_02984170; else goto L_02984198; L_02984170: ; // 0x2984170 /* 02984170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u); /* 02984174 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984174 */ _t4 = _t3 & 0x00000001u; /* 02984174 */ if (_t4) goto L_029841B4; else goto L_02984178; L_02984178: ; // 0x2984178 /* 02984178 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984178 */ _t6 = _t5 & 0x00000001u; /* 02984178 */ if (_t6) goto L_029841DC; else goto L_0298417C; L_0298417C: ; // 0x298417c /* 0298417C */ _t7 = cpu->r[3] + 0x00000040u; /* 0298417C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 02984180 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]); /* 02984184 */ _t8 = cpu->r[3] + 0x00000044u; /* 02984184 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 02984188 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984188 */ _t10 = _t9 & 0x00000001u; /* 02984188 */ if (_t10) goto L_0298418C; else goto L_02984204; L_0298418C: ; // 0x298418c /* 0298418C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02984190 */ cpu->r[12] = cpu->r[12] + cpu->r[0]; /* 02984194 */ goto L_02984204; L_02984198: ; // 0x2984198 /* 02984198 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000004u); /* 0298419C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298419C */ _t12 = _t11 & 0x00000001u; /* 0298419C */ if (_t12) goto L_02984214; else goto L_029841A0; L_029841A0: ; // 0x29841a0 /* 029841A0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 029841A0 */ _t14 = _t13 & 0x00000001u; /* 029841A0 */ if (_t14) goto L_0298423C; else goto L_029841A4; L_029841A4: ; // 0x29841a4 /* 029841A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000005u); /* 029841A8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 029841A8 */ _t16 = _t15 & 0x00000001u; /* 029841A8 */ if (_t16) goto L_02984264; else goto L_029841AC; L_029841AC: ; // 0x29841ac /* 029841AC */ cpu->r[3] = 0x00000000u; /* 029841B0 */ return; L_029841B4: ; // 0x29841b4 /* 029841B4 */ _t17 = cpu->r[3] + 0x00000050u; /* 029841B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17); /* 029841B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 029841BC */ _t18 = cpu->r[3] + 0x00000054u; /* 029841BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t18); /* 029841C0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 029841C0 */ _t20 = _t19 & 0x00000001u; /* 029841C0 */ if (_t20) goto L_029841C4; else goto L_029841CC; L_029841C4: ; // 0x29841c4 /* 029841C4 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 029841C8 */ cpu->r[10] = cpu->r[10] + cpu->r[9]; L_029841CC: ; // 0x29841cc /* 029841CC */ _t21 = cpu->r[10] + 0x00000000u; /* 029841CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t21); /* 029841D0 */ _t22 = cpu->r[11] + 0x00000000u; /* 029841D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22); /* 029841D4 */ _t23 = cpu->r[9] + 0x00000010u; /* 029841D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23); /* 029841D8 */ return; L_029841DC: ; // 0x29841dc /* 029841DC */ _t24 = cpu->r[3] + 0x00000048u; /* 029841DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 029841E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 029841E4 */ _t25 = cpu->r[3] + 0x0000004Cu; /* 029841E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25); /* 029841E8 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u); /* 029841E8 */ _t27 = _t26 & 0x00000001u; /* 029841E8 */ if (_t27) goto L_029841EC; else goto L_029841F4; L_029841EC: ; // 0x29841ec /* 029841EC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 029841F0 */ cpu->r[11] = cpu->r[11] + cpu->r[0]; L_029841F4: ; // 0x29841f4 /* 029841F4 */ _t28 = cpu->r[11] + 0x00000000u; /* 029841F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28); /* 029841F8 */ _t29 = cpu->r[8] + 0x00000000u; /* 029841F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29); /* 029841FC */ _t30 = cpu->r[9] + 0x00000010u; /* 029841FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t30); /* 02984200 */ return; L_02984204: ; // 0x2984204 /* 02984204 */ _t31 = cpu->r[12] + 0x00000000u; /* 02984204 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31); /* 02984208 */ _t32 = cpu->r[11] + 0x00000000u; /* 02984208 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32); /* 0298420C */ _t33 = cpu->r[9] + 0x00000010u; /* 0298420C */ cpu->r[3] = rbrew_read32(cpu->mem, _t33); /* 02984210 */ return; L_02984214: ; // 0x2984214 /* 02984214 */ _t34 = cpu->r[3] + 0x00000058u; /* 02984214 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 02984218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 0298421C */ _t35 = cpu->r[3] + 0x0000005Cu; /* 0298421C */ cpu->r[9] = rbrew_read32(cpu->mem, _t35); /* 02984220 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984220 */ _t37 = _t36 & 0x00000001u; /* 02984220 */ if (_t37) goto L_02984224; else goto L_0298422C; L_02984224: ; // 0x2984224 /* 02984224 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02984228 */ cpu->r[9] = cpu->r[9] + cpu->r[8]; L_0298422C: ; // 0x298422c /* 0298422C */ _t38 = cpu->r[9] + 0x00000000u; /* 0298422C */ cpu->r[9] = rbrew_read32(cpu->mem, _t38); /* 02984230 */ _t39 = cpu->r[9] + 0x00000000u; /* 02984230 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39); /* 02984234 */ _t40 = cpu->r[11] + 0x00000010u; /* 02984234 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40); /* 02984238 */ return; L_0298423C: ; // 0x298423c /* 0298423C */ _t41 = cpu->r[3] + 0x00000060u; /* 0298423C */ cpu->r[10] = rbrew_read32(cpu->mem, _t41); /* 02984240 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 02984244 */ _t42 = cpu->r[3] + 0x00000064u; /* 02984244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42); /* 02984248 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984248 */ _t44 = _t43 & 0x00000001u; /* 02984248 */ if (_t44) goto L_0298424C; else goto L_02984254; L_0298424C: ; // 0x298424c /* 0298424C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02984250 */ cpu->r[12] = cpu->r[12] + cpu->r[0]; L_02984254: ; // 0x2984254 /* 02984254 */ _t45 = cpu->r[12] + 0x00000000u; /* 02984254 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45); /* 02984258 */ _t46 = cpu->r[12] + 0x00000000u; /* 02984258 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46); /* 0298425C */ _t47 = cpu->r[12] + 0x00000010u; /* 0298425C */ cpu->r[3] = rbrew_read32(cpu->mem, _t47); /* 02984260 */ return; L_02984264: ; // 0x2984264 /* 02984264 */ _t48 = cpu->r[3] + 0x00000068u; /* 02984264 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48); /* 02984268 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 0298426C */ _t49 = cpu->r[3] + 0x0000006Cu; /* 0298426C */ cpu->r[11] = rbrew_read32(cpu->mem, _t49); /* 02984270 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984270 */ _t51 = _t50 & 0x00000001u; /* 02984270 */ if (_t51) goto L_02984274; else goto L_0298427C; L_02984274: ; // 0x2984274 /* 02984274 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02984278 */ cpu->r[11] = cpu->r[11] + cpu->r[0]; L_0298427C: ; // 0x298427c /* 0298427C */ _t52 = cpu->r[11] + 0x00000000u; /* 0298427C */ cpu->r[10] = rbrew_read32(cpu->mem, _t52); /* 02984280 */ _t53 = cpu->r[10] + 0x00000000u; /* 02984280 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53); /* 02984284 */ _t54 = cpu->r[12] + 0x00000010u; /* 02984284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54); /* 02984288 */ return; } // fn_0298428C @ 0x298428c void Gambit_fn_0298428C(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_0298428C: ; // 0x298428c /* 0298428C */ _t0 = cpu->r[4] + 0x00000000u; /* 0298428C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 02984290 */ /* nop */ /* 02984294 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000003u); /* 02984298 */ /* nop */ /* 0298429C */ _t1 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298429C */ _t2 = _t1 & 0x00000001u; /* 0298429C */ if (_t2) goto L_029842A0; else goto L_029842C8; L_029842A0: ; // 0x29842a0 /* 029842A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u); /* 029842A4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 029842A4 */ _t4 = _t3 & 0x00000001u; /* 029842A4 */ if (_t4) goto L_029842E4; else goto L_029842A8; L_029842A8: ; // 0x29842a8 /* 029842A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 029842A8 */ _t6 = _t5 & 0x00000001u; /* 029842A8 */ if (_t6) goto L_02984310; else goto L_029842AC; L_029842AC: ; // 0x29842ac /* 029842AC */ _t7 = cpu->r[3] + 0x00000040u; /* 029842AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 029842B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]); /* 029842B4 */ _t8 = cpu->r[3] + 0x00000044u; /* 029842B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 029842B8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 029842B8 */ _t10 = _t9 & 0x00000001u; /* 029842B8 */ if (_t10) goto L_029842BC; else goto L_0298433C; L_029842BC: ; // 0x29842bc /* 029842BC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 029842C0 */ cpu->r[11] = cpu->r[11] + cpu->r[10]; /* 029842C4 */ goto L_0298433C; L_029842C8: ; // 0x29842c8 /* 029842C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u); /* 029842CC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 029842CC */ _t12 = _t11 & 0x00000001u; /* 029842CC */ if (_t12) goto L_02984350; else goto L_029842D0; L_029842D0: ; // 0x29842d0 /* 029842D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 029842D0 */ _t14 = _t13 & 0x00000001u; /* 029842D0 */ if (_t14) goto L_0298437C; else goto L_029842D4; L_029842D4: ; // 0x29842d4 /* 029842D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000005u); /* 029842D8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 029842D8 */ _t16 = _t15 & 0x00000001u; /* 029842D8 */ if (_t16) goto L_029843A8; else goto L_029842DC; L_029842DC: ; // 0x29842dc /* 029842DC */ cpu->r[3] = 0x00000000u; /* 029842E0 */ return; L_029842E4: ; // 0x29842e4 /* 029842E4 */ _t17 = cpu->r[3] + 0x00000050u; /* 029842E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 029842E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 029842EC */ _t18 = cpu->r[3] + 0x00000054u; /* 029842EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t18); /* 029842F0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 029842F0 */ _t20 = _t19 & 0x00000001u; /* 029842F0 */ if (_t20) goto L_029842F4; else goto L_029842FC; L_029842F4: ; // 0x29842f4 /* 029842F4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 029842F8 */ cpu->r[10] = cpu->r[10] + cpu->r[0]; L_029842FC: ; // 0x29842fc /* 029842FC */ _t21 = cpu->r[10] + 0x00000000u; /* 029842FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t21); /* 02984300 */ _t22 = cpu->r[9] + 0x00000000u; /* 02984300 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22); /* 02984304 */ _t23 = cpu->r[11] + 0x0000000Cu; /* 02984304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 02984308 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 0298430C */ return; L_02984310: ; // 0x2984310 /* 02984310 */ _t24 = cpu->r[3] + 0x00000048u; /* 02984310 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24); /* 02984314 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]); /* 02984318 */ _t25 = cpu->r[3] + 0x0000004Cu; /* 02984318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25); /* 0298431C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298431C */ _t27 = _t26 & 0x00000001u; /* 0298431C */ if (_t27) goto L_02984320; else goto L_02984328; L_02984320: ; // 0x2984320 /* 02984320 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02984324 */ cpu->r[11] = cpu->r[11] + cpu->r[10]; L_02984328: ; // 0x2984328 /* 02984328 */ _t28 = cpu->r[11] + 0x00000000u; /* 02984328 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 0298432C */ _t29 = cpu->r[12] + 0x00000000u; /* 0298432C */ cpu->r[11] = rbrew_read32(cpu->mem, _t29); /* 02984330 */ _t30 = cpu->r[11] + 0x0000000Cu; /* 02984330 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30); /* 02984334 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 02984338 */ return; L_0298433C: ; // 0x298433c /* 0298433C */ _t31 = cpu->r[11] + 0x00000000u; /* 0298433C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 02984340 */ _t32 = cpu->r[12] + 0x00000000u; /* 02984340 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32); /* 02984344 */ _t33 = cpu->r[11] + 0x0000000Cu; /* 02984344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 02984348 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 0298434C */ return; L_02984350: ; // 0x2984350 /* 02984350 */ _t34 = cpu->r[3] + 0x00000058u; /* 02984350 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34); /* 02984354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 02984358 */ _t35 = cpu->r[3] + 0x0000005Cu; /* 02984358 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35); /* 0298435C */ _t36 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298435C */ _t37 = _t36 & 0x00000001u; /* 0298435C */ if (_t37) goto L_02984360; else goto L_02984368; L_02984360: ; // 0x2984360 /* 02984360 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02984364 */ cpu->r[12] = cpu->r[12] + cpu->r[0]; L_02984368: ; // 0x2984368 /* 02984368 */ _t38 = cpu->r[12] + 0x00000000u; /* 02984368 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38); /* 0298436C */ _t39 = cpu->r[10] + 0x00000000u; /* 0298436C */ cpu->r[9] = rbrew_read32(cpu->mem, _t39); /* 02984370 */ _t40 = cpu->r[9] + 0x0000000Cu; /* 02984370 */ cpu->r[0] = rbrew_read16(cpu->mem, _t40); /* 02984374 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 02984378 */ return; L_0298437C: ; // 0x298437c /* 0298437C */ _t41 = cpu->r[3] + 0x00000060u; /* 0298437C */ cpu->r[10] = rbrew_read32(cpu->mem, _t41); /* 02984380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 02984384 */ _t42 = cpu->r[3] + 0x00000064u; /* 02984384 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42); /* 02984388 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984388 */ _t44 = _t43 & 0x00000001u; /* 02984388 */ if (_t44) goto L_0298438C; else goto L_02984394; L_0298438C: ; // 0x298438c /* 0298438C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02984390 */ cpu->r[9] = cpu->r[9] + cpu->r[8]; L_02984394: ; // 0x2984394 /* 02984394 */ _t45 = cpu->r[9] + 0x00000000u; /* 02984394 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45); /* 02984398 */ _t46 = cpu->r[11] + 0x00000000u; /* 02984398 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46); /* 0298439C */ _t47 = cpu->r[10] + 0x0000000Cu; /* 0298439C */ cpu->r[8] = rbrew_read16(cpu->mem, _t47); /* 029843A0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 029843A4 */ return; L_029843A8: ; // 0x29843a8 /* 029843A8 */ _t48 = cpu->r[3] + 0x00000068u; /* 029843A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48); /* 029843AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 029843B0 */ _t49 = cpu->r[3] + 0x0000006Cu; /* 029843B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49); /* 029843B4 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 029843B4 */ _t51 = _t50 & 0x00000001u; /* 029843B4 */ if (_t51) goto L_029843B8; else goto L_029843C0; L_029843B8: ; // 0x29843b8 /* 029843B8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 029843BC */ cpu->r[12] = cpu->r[12] + cpu->r[11]; L_029843C0: ; // 0x29843c0 /* 029843C0 */ _t52 = cpu->r[12] + 0x00000000u; /* 029843C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52); /* 029843C4 */ _t53 = cpu->r[8] + 0x00000000u; /* 029843C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53); /* 029843C8 */ _t54 = cpu->r[10] + 0x0000000Cu; /* 029843C8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t54); /* 029843CC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 029843D0 */ return; } // fn_029843D4 @ 0x29843d4 void Gambit_fn_029843D4(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_029843D4: ; // 0x29843d4 /* 029843D4 */ cpu->r[0] = cpu->lr; /* 029843D8 */ _t0 = cpu->r[1] + 0x00000004u; /* 029843D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 029843DC */ cpu->r[0] = cpu->r[4]; /* 029843E0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u; /* 029843E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 029843E0 */ cpu->r[1] = _t1; /* 029843E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u); /* 029843E8 */ cpu->r[4] = cpu->r[5]; /* 029843EC */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 029843EC */ _t3 = _t2 & 0x00000001u; /* 029843EC */ if (_t3) goto L_029843F0; else goto L_02984414; L_029843F0: ; // 0x29843f0 /* 029843F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 029843F4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 029843F4 */ _t5 = _t4 & 0x00000001u; /* 029843F4 */ if (_t5) goto L_0298443C; else goto L_029843F8; L_029843F8: ; // 0x29843f8 /* 029843F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029843F8 */ _t7 = _t6 & 0x00000001u; /* 029843F8 */ if (_t7) goto L_02984454; else goto L_029843FC; L_029843FC: ; // 0x29843fc /* 029843FC */ cpu->r[5] = cpu->r[0]; /* 02984400 */ Gambit_fn_0298817C(cpu); /* 02984404 */ _t8 = cpu->r[1] + 0x00000014u; /* 02984404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02984408 */ cpu->lr = cpu->r[0]; /* 0298440C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02984410 */ return; L_02984414: ; // 0x2984414 /* 02984414 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u); /* 02984418 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984418 */ _t10 = _t9 & 0x00000001u; /* 02984418 */ if (_t10) goto L_0298446C; else goto L_0298441C; L_0298441C: ; // 0x298441c /* 0298441C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298441C */ _t12 = _t11 & 0x00000001u; /* 0298441C */ if (_t12) goto L_02984484; else goto L_02984420; L_02984420: ; // 0x2984420 /* 02984420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000005u); /* 02984424 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984424 */ _t14 = _t13 & 0x00000001u; /* 02984424 */ if (_t14) goto L_0298449C; else goto L_02984428; L_02984428: ; // 0x2984428 /* 02984428 */ cpu->r[11] = 0xFFFFFFFFu; /* 0298442C */ _t15 = cpu->r[1] + 0x0000000Au; /* 0298442C */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[11]); /* 02984430 */ _t16 = cpu->r[1] + 0x00000008u; /* 02984430 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[11]); /* 02984434 */ _t17 = cpu->r[1] + 0x00000008u; /* 02984434 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 02984438 */ goto L_029844A4; L_0298443C: ; // 0x298443c /* 0298443C */ cpu->r[5] = cpu->r[0]; /* 02984440 */ Gambit_fn_02987FEC(cpu); /* 02984444 */ _t18 = cpu->r[1] + 0x00000014u; /* 02984444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02984448 */ cpu->lr = cpu->r[0]; /* 0298444C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02984450 */ return; L_02984454: ; // 0x2984454 /* 02984454 */ cpu->r[5] = cpu->r[0]; /* 02984458 */ Gambit_fn_029880B4(cpu); /* 0298445C */ _t19 = cpu->r[1] + 0x00000014u; /* 0298445C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02984460 */ cpu->lr = cpu->r[0]; /* 02984464 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02984468 */ return; L_0298446C: ; // 0x298446c /* 0298446C */ cpu->r[5] = cpu->r[0]; /* 02984470 */ Gambit_fn_02988244(cpu); /* 02984474 */ _t20 = cpu->r[1] + 0x00000014u; /* 02984474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02984478 */ cpu->lr = cpu->r[0]; /* 0298447C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02984480 */ return; L_02984484: ; // 0x2984484 /* 02984484 */ cpu->r[5] = cpu->r[0]; /* 02984488 */ Gambit_fn_0298830C(cpu); /* 0298448C */ _t21 = cpu->r[1] + 0x00000014u; /* 0298448C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 02984490 */ cpu->lr = cpu->r[0]; /* 02984494 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02984498 */ return; L_0298449C: ; // 0x298449c /* 0298449C */ cpu->r[5] = cpu->r[0]; /* 029844A0 */ Gambit_fn_029883D4(cpu); L_029844A4: ; // 0x29844a4 /* 029844A4 */ _t22 = cpu->r[1] + 0x00000014u; /* 029844A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 029844A8 */ cpu->lr = cpu->r[0]; /* 029844AC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029844B0 */ return; } // fn_029843E0 @ 0x29843e0 void Gambit_fn_029843E0(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_029843E0: ; // 0x29843e0 /* 029843E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029843E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029843E0 */ cpu->r[1] = _t0; /* 029843E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u); /* 029843E8 */ cpu->r[4] = cpu->r[5]; /* 029843EC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u); /* 029843EC */ _t2 = _t1 & 0x00000001u; /* 029843EC */ if (_t2) goto L_029843F0; else goto L_02984414; L_029843F0: ; // 0x29843f0 /* 029843F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u); /* 029843F4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 029843F4 */ _t4 = _t3 & 0x00000001u; /* 029843F4 */ if (_t4) goto L_0298443C; else goto L_029843F8; L_029843F8: ; // 0x29843f8 /* 029843F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 029843F8 */ _t6 = _t5 & 0x00000001u; /* 029843F8 */ if (_t6) goto L_02984454; else goto L_029843FC; L_029843FC: ; // 0x29843fc /* 029843FC */ cpu->r[5] = cpu->r[0]; /* 02984400 */ Gambit_fn_0298817C(cpu); /* 02984404 */ _t7 = cpu->r[1] + 0x00000014u; /* 02984404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02984408 */ cpu->lr = cpu->r[0]; /* 0298440C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02984410 */ return; L_02984414: ; // 0x2984414 /* 02984414 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u); /* 02984418 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984418 */ _t9 = _t8 & 0x00000001u; /* 02984418 */ if (_t9) goto L_0298446C; else goto L_0298441C; L_0298441C: ; // 0x298441c /* 0298441C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298441C */ _t11 = _t10 & 0x00000001u; /* 0298441C */ if (_t11) goto L_02984484; else goto L_02984420; L_02984420: ; // 0x2984420 /* 02984420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000005u); /* 02984424 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984424 */ _t13 = _t12 & 0x00000001u; /* 02984424 */ if (_t13) goto L_0298449C; else goto L_02984428; L_02984428: ; // 0x2984428 /* 02984428 */ cpu->r[11] = 0xFFFFFFFFu; /* 0298442C */ _t14 = cpu->r[1] + 0x0000000Au; /* 0298442C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[11]); /* 02984430 */ _t15 = cpu->r[1] + 0x00000008u; /* 02984430 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[11]); /* 02984434 */ _t16 = cpu->r[1] + 0x00000008u; /* 02984434 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 02984438 */ goto L_029844A4; L_0298443C: ; // 0x298443c /* 0298443C */ cpu->r[5] = cpu->r[0]; /* 02984440 */ Gambit_fn_02987FEC(cpu); /* 02984444 */ _t17 = cpu->r[1] + 0x00000014u; /* 02984444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02984448 */ cpu->lr = cpu->r[0]; /* 0298444C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02984450 */ return; L_02984454: ; // 0x2984454 /* 02984454 */ cpu->r[5] = cpu->r[0]; /* 02984458 */ Gambit_fn_029880B4(cpu); /* 0298445C */ _t18 = cpu->r[1] + 0x00000014u; /* 0298445C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02984460 */ cpu->lr = cpu->r[0]; /* 02984464 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02984468 */ return; L_0298446C: ; // 0x298446c /* 0298446C */ cpu->r[5] = cpu->r[0]; /* 02984470 */ Gambit_fn_02988244(cpu); /* 02984474 */ _t19 = cpu->r[1] + 0x00000014u; /* 02984474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02984478 */ cpu->lr = cpu->r[0]; /* 0298447C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02984480 */ return; L_02984484: ; // 0x2984484 /* 02984484 */ cpu->r[5] = cpu->r[0]; /* 02984488 */ Gambit_fn_0298830C(cpu); /* 0298448C */ _t20 = cpu->r[1] + 0x00000014u; /* 0298448C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02984490 */ cpu->lr = cpu->r[0]; /* 02984494 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02984498 */ return; L_0298449C: ; // 0x298449c /* 0298449C */ cpu->r[5] = cpu->r[0]; /* 029844A0 */ Gambit_fn_029883D4(cpu); L_029844A4: ; // 0x29844a4 /* 029844A4 */ _t21 = cpu->r[1] + 0x00000014u; /* 029844A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 029844A8 */ cpu->lr = cpu->r[0]; /* 029844AC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029844B0 */ return; } // fn_029844B4 @ 0x29844b4 void Gambit_fn_029844B4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_029844B4: ; // 0x29844b4 /* 029844B4 */ _t0 = cpu->r[3] + 0x00000094u; /* 029844B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 029844B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029844BC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 029844BC */ _t2 = _t1 & 0x00000001u; /* 029844BC */ if (_t2) goto L_029844CC; else goto L_029844C0; L_029844C0: ; // 0x29844c0 /* 029844C0 */ _t3 = cpu->r[12] + 0x00000000u; /* 029844C0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t3); /* 029844C4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 029844C8 */ return; L_029844CC: ; // 0x29844cc /* 029844CC */ cpu->r[3] = 0x00000000u; /* 029844D0 */ return; } // fn_029844D4 @ 0x29844d4 void Gambit_fn_029844D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_029844D4: ; // 0x29844d4 /* 029844D4 */ _t0 = cpu->r[3] + 0x00000094u; /* 029844D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 029844D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029844DC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 029844DC */ _t2 = _t1 & 0x00000001u; /* 029844DC */ if (_t2) goto L_029844FC; else goto L_029844E0; L_029844E0: ; // 0x29844e0 /* 029844E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u); /* 029844E4 */ cpu->r[12] = cpu->r[12] + 0x0000000Cu; /* 029844E8 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 029844E8 */ _t4 = _t3 & 0x00000001u; /* 029844E8 */ if (_t4) goto L_029844EC; else goto L_029844F4; L_029844EC: ; // 0x29844ec /* 029844EC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000006Cu); /* 029844F0 */ cpu->r[12] = cpu->r[12] + cpu->r[0]; L_029844F4: ; // 0x29844f4 /* 029844F4 */ _t5 = cpu->r[12] + 0x00000068u; /* 029844F4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5); /* 029844F8 */ return; L_029844FC: ; // 0x29844fc /* 029844FC */ cpu->r[12] = 0x10150000u; /* 02984500 */ _t6 = cpu->r[12] + 0xFFFFEE20u; /* 02984500 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6); /* 02984504 */ return; } // fn_02984508 @ 0x2984508 void Gambit_fn_02984508(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_02984508: ; // 0x2984508 /* 02984508 */ cpu->r[0] = cpu->lr; /* 0298450C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298450C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298450C */ cpu->r[1] = _t0; /* 02984510 */ _t1 = cpu->r[1] + 0x00000010u; /* 02984510 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02984514 */ _t2 = cpu->r[1] + 0x00000008u; /* 02984514 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 02984518 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02984518 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298451C */ _t4 = cpu->r[1] + 0x00000014u; /* 0298451C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02984520 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02984520 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02984524 */ _t6 = cpu->r[3] + 0x00000028u; /* 02984524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02984528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 0298452C */ _t7 = cpu->r[3] + 0x0000002Cu; /* 0298452C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 02984530 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984530 */ _t9 = _t8 & 0x00000001u; /* 02984530 */ if (_t9) goto L_02984534; else goto L_0298453C; L_02984534: ; // 0x2984534 /* 02984534 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000006Cu); /* 02984538 */ cpu->r[30] = cpu->r[30] + cpu->r[0]; L_0298453C: ; // 0x298453c /* 0298453C */ _t10 = cpu->r[30] + 0x00000068u; /* 0298453C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 02984540 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 02984540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02984544 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984544 */ _t12 = _t11 & 0x00000001u; /* 02984544 */ if (_t12) goto L_02984548; else goto L_02984554; L_02984548: ; // 0x2984548 /* 02984548 */ _t13 = cpu->r[30] + 0x00000004u; /* 02984548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298454C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02984550 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984550 */ _t15 = _t14 & 0x00000001u; /* 02984550 */ if (_t15) goto L_02984614; else goto L_02984554; L_02984554: ; // 0x2984554 /* 02984554 */ _t16 = cpu->r[30] + 0x00000002u; /* 02984554 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 02984558 */ cpu->r[28] = cpu->r[30] + 0x0000000Cu; /* 0298455C */ _t17 = cpu->r[3] + 0x00000038u; /* 0298455C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02984560 */ _t18 = cpu->r[3] + 0x0000003Cu; /* 02984560 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02984564 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 02984568 */ _t19 = cpu->r[5] + 0x000000ACu; /* 02984568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 0298456C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298456C */ _t21 = _t20 & 0x00000001u; /* 0298456C */ if (_t21) goto L_02984570; else goto L_02984578; L_02984570: ; // 0x2984570 /* 02984570 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02984574 */ cpu->r[31] = cpu->r[31] + cpu->r[7]; L_02984578: ; // 0x2984578 /* 02984578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0298457C */ _t22 = cpu->r[12] + 0x00000000u; /* 0298457C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 02984580 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984580 */ _t24 = _t23 & 0x00000001u; /* 02984580 */ if (_t24) goto L_029845DC; else goto L_02984584; L_02984584: ; // 0x2984584 /* 02984584 */ _t25 = cpu->r[31] + 0x0000000Cu; /* 02984584 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25); /* 02984588 */ cpu->r[3] = cpu->r[28]; /* 0298458C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02984590 */ cpu->r[4] = cpu->r[29]; /* 02984594 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984594 */ _t27 = _t26 & 0x00000001u; /* 02984594 */ if (_t27) goto L_029845B8; else goto L_02984598; L_02984598: ; // 0x2984598 /* 02984598 */ Gambit_fn_02C549A0(cpu); /* 0298459C */ _t28 = cpu->r[30] + 0x00000068u; /* 0298459C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); /* 029845A0 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 029845A4 */ _t29 = cpu->r[30] + 0x00000068u; /* 029845A4 */ rbrew_write32(cpu->mem, _t29, cpu->r[10]); /* 029845A8 */ _t30 = cpu->r[31] + 0x00000004u; /* 029845A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 029845AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u); /* 029845B0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 029845B0 */ _t32 = _t31 & 0x00000001u; /* 029845B0 */ if (_t32) goto L_029845B4; else goto L_029845DC; L_029845B4: ; // 0x29845b4 /* 029845B4 */ goto L_029845D4; L_029845B8: ; // 0x29845b8 /* 029845B8 */ Gambit_fn_02C54314(cpu); /* 029845BC */ _t33 = cpu->r[30] + 0x00000068u; /* 029845BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t33); /* 029845C0 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 029845C4 */ _t34 = cpu->r[30] + 0x00000068u; /* 029845C4 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]); /* 029845C8 */ _t35 = cpu->r[31] + 0x00000004u; /* 029845C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35); /* 029845CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u); /* 029845D0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 029845D0 */ _t37 = _t36 & 0x00000001u; /* 029845D0 */ if (_t37) goto L_029845D4; else goto L_029845DC; L_029845D4: ; // 0x29845d4 /* 029845D4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Du); /* 029845D8 */ _t38 = cpu->r[30] + 0x00000068u; /* 029845D8 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]); L_029845DC: ; // 0x29845dc /* 029845DC */ _t39 = cpu->r[30] + 0x00000004u; /* 029845DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t39); /* 029845E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029845E4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 029845E4 */ _t41 = _t40 & 0x00000001u; /* 029845E4 */ if (_t41) goto L_02984614; else goto L_029845E8; L_029845E8: ; // 0x29845e8 /* 029845E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 029845E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 029845EC */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 029845EC */ _t43 = _t42 & 0x00000001u; /* 029845EC */ if (_t43) goto L_02984614; else goto L_029845F0; L_029845F0: ; // 0x29845f0 /* 029845F0 */ cpu->r[5] = 0x00000000u; /* 029845F4 */ cpu->r[4] = cpu->r[29]; /* 029845F8 */ cpu->r[3] = cpu->r[28]; /* 029845FC */ cpu->r[6] = cpu->r[5]; /* 02984600 */ Gambit_fn_02C54A3C(cpu); /* 02984604 */ _t44 = cpu->r[30] + 0x00000004u; /* 02984604 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44); /* 02984608 */ cpu->r[5] = cpu->r[28]; /* 0298460C */ cpu->r[4] = cpu->r[29]; /* 02984610 */ Gambit_fn_029892B4(cpu); L_02984614: ; // 0x2984614 /* 02984614 */ _t45 = cpu->r[1] + 0x00000008u; /* 02984614 */ cpu->r[28] = rbrew_read32(cpu->mem, _t45); /* 02984618 */ _t46 = cpu->r[1] + 0x0000000Cu; /* 02984618 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46); /* 0298461C */ _t47 = cpu->r[1] + 0x0000001Cu; /* 0298461C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47); /* 02984620 */ _t48 = cpu->r[1] + 0x00000010u; /* 02984620 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48); /* 02984624 */ cpu->lr = cpu->r[0]; /* 02984628 */ _t49 = cpu->r[1] + 0x00000014u; /* 02984628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49); /* 0298462C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02984630 */ return; } // fn_0298450C @ 0x298450c void Gambit_fn_0298450C(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_0298450C: ; // 0x298450c /* 0298450C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298450C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298450C */ cpu->r[1] = _t0; /* 02984510 */ _t1 = cpu->r[1] + 0x00000010u; /* 02984510 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02984514 */ _t2 = cpu->r[1] + 0x00000008u; /* 02984514 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 02984518 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02984518 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298451C */ _t4 = cpu->r[1] + 0x00000014u; /* 0298451C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02984520 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02984520 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02984524 */ _t6 = cpu->r[3] + 0x00000028u; /* 02984524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02984528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 0298452C */ _t7 = cpu->r[3] + 0x0000002Cu; /* 0298452C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7); /* 02984530 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984530 */ _t9 = _t8 & 0x00000001u; /* 02984530 */ if (_t9) goto L_02984534; else goto L_0298453C; L_02984534: ; // 0x2984534 /* 02984534 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000006Cu); /* 02984538 */ cpu->r[30] = cpu->r[30] + cpu->r[0]; L_0298453C: ; // 0x298453c /* 0298453C */ _t10 = cpu->r[30] + 0x00000068u; /* 0298453C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 02984540 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 02984540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02984544 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984544 */ _t12 = _t11 & 0x00000001u; /* 02984544 */ if (_t12) goto L_02984548; else goto L_02984554; L_02984548: ; // 0x2984548 /* 02984548 */ _t13 = cpu->r[30] + 0x00000004u; /* 02984548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298454C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02984550 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984550 */ _t15 = _t14 & 0x00000001u; /* 02984550 */ if (_t15) goto L_02984614; else goto L_02984554; L_02984554: ; // 0x2984554 /* 02984554 */ _t16 = cpu->r[30] + 0x00000002u; /* 02984554 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t16); /* 02984558 */ cpu->r[28] = cpu->r[30] + 0x0000000Cu; /* 0298455C */ _t17 = cpu->r[3] + 0x00000038u; /* 0298455C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02984560 */ _t18 = cpu->r[3] + 0x0000003Cu; /* 02984560 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02984564 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]); /* 02984568 */ _t19 = cpu->r[5] + 0x000000ACu; /* 02984568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 0298456C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298456C */ _t21 = _t20 & 0x00000001u; /* 0298456C */ if (_t21) goto L_02984570; else goto L_02984578; L_02984570: ; // 0x2984570 /* 02984570 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02984574 */ cpu->r[31] = cpu->r[31] + cpu->r[7]; L_02984578: ; // 0x2984578 /* 02984578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0298457C */ _t22 = cpu->r[12] + 0x00000000u; /* 0298457C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 02984580 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984580 */ _t24 = _t23 & 0x00000001u; /* 02984580 */ if (_t24) goto L_029845DC; else goto L_02984584; L_02984584: ; // 0x2984584 /* 02984584 */ _t25 = cpu->r[31] + 0x0000000Cu; /* 02984584 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25); /* 02984588 */ cpu->r[3] = cpu->r[28]; /* 0298458C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02984590 */ cpu->r[4] = cpu->r[29]; /* 02984594 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984594 */ _t27 = _t26 & 0x00000001u; /* 02984594 */ if (_t27) goto L_029845B8; else goto L_02984598; L_02984598: ; // 0x2984598 /* 02984598 */ Gambit_fn_02C549A0(cpu); /* 0298459C */ _t28 = cpu->r[30] + 0x00000068u; /* 0298459C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); /* 029845A0 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 029845A4 */ _t29 = cpu->r[30] + 0x00000068u; /* 029845A4 */ rbrew_write32(cpu->mem, _t29, cpu->r[10]); /* 029845A8 */ _t30 = cpu->r[31] + 0x00000004u; /* 029845A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 029845AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u); /* 029845B0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 029845B0 */ _t32 = _t31 & 0x00000001u; /* 029845B0 */ if (_t32) goto L_029845B4; else goto L_029845DC; L_029845B4: ; // 0x29845b4 /* 029845B4 */ goto L_029845D4; L_029845B8: ; // 0x29845b8 /* 029845B8 */ Gambit_fn_02C54314(cpu); /* 029845BC */ _t33 = cpu->r[30] + 0x00000068u; /* 029845BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t33); /* 029845C0 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 029845C4 */ _t34 = cpu->r[30] + 0x00000068u; /* 029845C4 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]); /* 029845C8 */ _t35 = cpu->r[31] + 0x00000004u; /* 029845C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35); /* 029845CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u); /* 029845D0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 029845D0 */ _t37 = _t36 & 0x00000001u; /* 029845D0 */ if (_t37) goto L_029845D4; else goto L_029845DC; L_029845D4: ; // 0x29845d4 /* 029845D4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Du); /* 029845D8 */ _t38 = cpu->r[30] + 0x00000068u; /* 029845D8 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]); L_029845DC: ; // 0x29845dc /* 029845DC */ _t39 = cpu->r[30] + 0x00000004u; /* 029845DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t39); /* 029845E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029845E4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 029845E4 */ _t41 = _t40 & 0x00000001u; /* 029845E4 */ if (_t41) goto L_02984614; else goto L_029845E8; L_029845E8: ; // 0x29845e8 /* 029845E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 029845E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 029845EC */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 029845EC */ _t43 = _t42 & 0x00000001u; /* 029845EC */ if (_t43) goto L_02984614; else goto L_029845F0; L_029845F0: ; // 0x29845f0 /* 029845F0 */ cpu->r[5] = 0x00000000u; /* 029845F4 */ cpu->r[4] = cpu->r[29]; /* 029845F8 */ cpu->r[3] = cpu->r[28]; /* 029845FC */ cpu->r[6] = cpu->r[5]; /* 02984600 */ Gambit_fn_02C54A3C(cpu); /* 02984604 */ _t44 = cpu->r[30] + 0x00000004u; /* 02984604 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44); /* 02984608 */ cpu->r[5] = cpu->r[28]; /* 0298460C */ cpu->r[4] = cpu->r[29]; /* 02984610 */ Gambit_fn_029892B4(cpu); L_02984614: ; // 0x2984614 /* 02984614 */ _t45 = cpu->r[1] + 0x00000008u; /* 02984614 */ cpu->r[28] = rbrew_read32(cpu->mem, _t45); /* 02984618 */ _t46 = cpu->r[1] + 0x0000000Cu; /* 02984618 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46); /* 0298461C */ _t47 = cpu->r[1] + 0x0000001Cu; /* 0298461C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47); /* 02984620 */ _t48 = cpu->r[1] + 0x00000010u; /* 02984620 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48); /* 02984624 */ cpu->lr = cpu->r[0]; /* 02984628 */ _t49 = cpu->r[1] + 0x00000014u; /* 02984628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49); /* 0298462C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02984630 */ return; } // fn_02984634 @ 0x2984634 void Gambit_fn_02984634(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_02984634: ; // 0x2984634 /* 02984634 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 02984634 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02984634 */ cpu->r[1] = _t0; /* 02984638 */ /* nop */ /* 0298463C */ cpu->r[0] = cpu->lr; /* 02984640 */ _t1 = cpu->r[1] + 0x0000003Cu; /* 02984640 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02984644 */ cpu->r[23] = cpu->r[3]; /* 02984648 */ _t2 = cpu->r[23] + 0x00000038u; /* 02984648 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0298464C */ cpu->r[24] = cpu->r[4]; /* 02984650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02984654 */ cpu->r[25] = cpu->r[5]; /* 02984658 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u); /* 02984658 */ _t4 = _t3 & 0x00000001u; /* 02984658 */ if (_t4) goto L_0298465C; else goto L_02984790; L_0298465C: ; // 0x298465c /* 0298465C */ _t5 = cpu->r[23] + 0x00000094u; /* 0298465C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02984660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02984664 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984664 */ _t7 = _t6 & 0x00000001u; /* 02984664 */ if (_t7) goto L_02984674; else goto L_02984668; L_02984668: ; // 0x2984668 /* 02984668 */ _t8 = cpu->r[9] + 0x00000000u; /* 02984668 */ cpu->r[7] = rbrew_read16(cpu->mem, _t8); /* 0298466C */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 0298466C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02984670 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984670 */ _t10 = _t9 & 0x00000001u; /* 02984670 */ if (_t10) goto L_02984674; else goto L_02984790; L_02984674: ; // 0x2984674 /* 02984674 */ _t11 = cpu->r[23] + 0x00000008u; /* 02984674 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11); /* 02984678 */ cpu->r[22] = 0x00000000u; /* 0298467C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[7]); /* 02984680 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984680 */ _t13 = _t12 & 0x00000001u; /* 02984680 */ if (_t13) goto L_02984684; else goto L_02984790; L_02984684: ; // 0x2984684 /* 02984684 */ cpu->r[26] = 0x00000000u; /* 02984688 */ cpu->r[29] = 0x101D0000u; /* 0298468C */ cpu->r[27] = 0x101D0000u; /* 02984690 */ cpu->r[28] = cpu->r[26]; /* 02984694 */ cpu->r[21] = 0x00000001u; L_02984698: ; // 0x2984698 /* 02984698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[7]); /* 0298469C */ _t14 = cpu->r[23] + 0x0000000Cu; /* 0298469C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 029846A0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 029846A0 */ _t16 = _t15 & 0x00000001u; /* 029846A0 */ if (_t16) goto L_029846A4; else goto L_029846A8; L_029846A4: ; // 0x29846a4 /* 029846A4 */ cpu->r[31] = cpu->r[31] + cpu->r[26]; L_029846A8: ; // 0x29846a8 /* 029846A8 */ _t17 = cpu->r[31] + 0x00000008u; /* 029846A8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17); /* 029846AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029846B0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 029846B0 */ _t19 = _t18 & 0x00000001u; /* 029846B0 */ if (_t19) goto L_0298477C; else goto L_029846B4; L_029846B4: ; // 0x29846b4 /* 029846B4 */ cpu->r[4] = cpu->r[22]; /* 029846B8 */ cpu->r[3] = cpu->r[24]; /* 029846BC */ Gambit_fn_0297FC7C(cpu); /* 029846C0 */ _t20 = cpu->r[24] + 0x0000001Cu; /* 029846C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 029846C4 */ cpu->r[6] = 0x00000000u; /* 029846C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]); /* 029846CC */ _t21 = cpu->r[29] + 0xFFFFE218u; /* 029846CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t21); /* 029846D0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u); /* 029846D0 */ _t23 = _t22 & 0x00000001u; /* 029846D0 */ if (_t23) goto L_029846D4; else goto L_029846DC; L_029846D4: ; // 0x29846d4 /* 029846D4 */ _t24 = cpu->r[24] + 0x00000024u; /* 029846D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 029846D8 */ _t25 = cpu->r[12] + cpu->r[28]; /* 029846D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25); L_029846DC: ; // 0x29846dc /* 029846DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 029846E0 */ _t26 = cpu->r[6] + 0x00000000u; /* 029846E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26); /* 029846E4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 029846E4 */ _t28 = _t27 & 0x00000001u; /* 029846E4 */ if (_t28) goto L_029846E8; else goto L_029846F8; L_029846E8: ; // 0x29846e8 /* 029846E8 */ cpu->r[8] = 0x10150000u; /* 029846EC */ _t29 = cpu->r[29] + 0xFFFFE218u; /* 029846EC */ rbrew_write32(cpu->mem, _t29, cpu->r[21]); /* 029846F0 */ cpu->r[8] = cpu->r[8] + 0xFFFFEDC8u; /* 029846F4 */ _t30 = cpu->r[27] + 0xFFFFEF88u; /* 029846F4 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]); L_029846F8: ; // 0x29846f8 /* 029846F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 029846FC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 029846FC */ _t32 = _t31 & 0x00000001u; /* 029846FC */ if (_t32) goto L_02984778; else goto L_02984700; L_02984700: ; // 0x2984700 /* 02984700 */ _t33 = cpu->r[30] + 0x00000088u; /* 02984700 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33); /* 02984704 */ _t34 = cpu->r[10] + 0x0000000Cu; /* 02984704 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 02984708 */ cpu->ctr = cpu->r[12]; /* 0298470C */ cpu->r[3] = cpu->r[30]; /* 02984710 */ cpu->r[4] = cpu->r[27] + 0xFFFFEF88u; /* 02984714 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298471C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298471C */ _t36 = _t35 & 0x00000001u; /* 0298471C */ if (_t36) goto L_02984778; else goto L_02984720; L_02984720: ; // 0x2984720 /* 02984720 */ cpu->r[5] = cpu->r[30]; /* 02984720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02984724 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984724 */ _t38 = _t37 & 0x00000001u; /* 02984724 */ if (_t38) goto L_02984778; else goto L_02984728; L_02984728: ; // 0x2984728 /* 02984728 */ _t39 = cpu->r[5] + 0x000000C8u; /* 02984728 */ cpu->r[0] = rbrew_read8(cpu->mem, _t39); /* 0298472C */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 02984730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02984734 */ _t40 = cpu->r[5] + 0x000000C8u; /* 02984734 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]); /* 02984738 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984738 */ _t42 = _t41 & 0x00000001u; /* 02984738 */ if (_t42) goto L_02984764; else goto L_0298473C; L_0298473C: ; // 0x298473c /* 0298473C */ _t43 = cpu->r[25] + 0x00000004u; /* 0298473C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43); /* 02984740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02984744 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984744 */ _t45 = _t44 & 0x00000001u; /* 02984744 */ if (_t45) goto L_02984764; else goto L_02984748; L_02984748: ; // 0x2984748 /* 02984748 */ cpu->r[6] = 0x00000001u; /* 0298474C */ cpu->r[7] = cpu->r[25]; /* 02984750 */ cpu->r[4] = cpu->r[31]; /* 02984754 */ cpu->r[3] = cpu->r[23]; /* 02984758 */ Gambit_fn_02988670(cpu); /* 0298475C */ _t46 = cpu->r[23] + 0x00000008u; /* 0298475C */ cpu->r[7] = rbrew_read32(cpu->mem, _t46); /* 02984760 */ goto L_0298477C; L_02984764: ; // 0x2984764 /* 02984764 */ cpu->r[6] = 0x00000001u; /* 02984768 */ cpu->r[7] = cpu->r[25]; /* 0298476C */ cpu->r[4] = cpu->r[31]; /* 02984770 */ cpu->r[3] = cpu->r[23]; /* 02984774 */ Gambit_fn_02988A1C(cpu); L_02984778: ; // 0x2984778 /* 02984778 */ _t47 = cpu->r[23] + 0x00000008u; /* 02984778 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47); L_0298477C: ; // 0x298477c /* 0298477C */ cpu->r[22] = cpu->r[22] + 0x00000001u; /* 02984780 */ cpu->r[26] = cpu->r[26] + 0x0000000Cu; /* 02984784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[7]); /* 02984788 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0298478C */ _t48 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298478C */ _t49 = _t48 & 0x00000001u; /* 0298478C */ if (_t49) goto L_02984698; else goto L_02984790; L_02984790: ; // 0x2984790 /* 02984790 */ /* nop */ /* 02984794 */ _t50 = cpu->r[1] + 0x0000003Cu; /* 02984794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50); /* 02984798 */ cpu->lr = cpu->r[0]; /* 0298479C */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 029847A0 */ return; } // fn_029847A4 @ 0x29847a4 void Gambit_fn_029847A4(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_029847A4: ; // 0x29847a4 /* 029847A4 */ _t0 = cpu->r[3] + 0x00000008u; /* 029847A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0); /* 029847A8 */ cpu->r[0] = cpu->r[4]; /* 029847AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 029847B0 */ _t1 = cpu->r[3] + 0x0000000Cu; /* 029847B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1); /* 029847B4 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 029847B4 */ _t3 = _t2 & 0x00000001u; /* 029847B4 */ if (_t3) goto L_029847B8; else goto L_029847C0; L_029847B8: ; // 0x29847b8 /* 029847B8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 029847BC */ cpu->r[4] = cpu->r[4] + cpu->r[11]; L_029847C0: ; // 0x29847c0 /* 029847C0 */ _t4 = cpu->r[4] + 0x00000008u; /* 029847C0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t4); /* 029847C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029847C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 029847C8 */ _t6 = _t5 & 0x00000001u; /* 029847C8 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029847C8 */ goto L_029847CC; L_029847CC: ; // 0x29847cc /* 029847CC */ _t7 = cpu->r[5] + 0x000000C8u; /* 029847CC */ cpu->r[8] = rbrew_read8(cpu->mem, _t7); /* 029847D0 */ cpu->r[8] = cpu->r[8] | 0x00000010u; /* 029847D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 029847D8 */ _t8 = cpu->r[5] + 0x000000C8u; /* 029847D8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[8]); /* 029847DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 029847DC */ _t10 = _t9 & 0x00000001u; /* 029847DC */ if (_t10) goto L_029847F4; else goto L_029847E0; L_029847E0: ; // 0x29847e0 /* 029847E0 */ _t11 = cpu->r[7] + 0x00000004u; /* 029847E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 029847E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 029847E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029847E8 */ _t13 = _t12 & 0x00000001u; /* 029847E8 */ if (_t13) goto L_029847F4; else goto L_029847EC; L_029847EC: ; // 0x29847ec /* 029847EC */ cpu->r[6] = 0x00000001u; /* 029847F0 */ goto L_02988670; L_029847F4: ; // 0x29847f4 /* 029847F4 */ cpu->r[6] = 0x00000001u; /* 029847F8 */ goto L_02988A1C; L_02988670: ; // 0x2988670 /* 02988670 */ _t14 = cpu->r[1] + 0xFFFFFBB8u; /* 02988670 */ rbrew_write32(cpu->mem, _t14, cpu->r[1]); /* 02988670 */ cpu->r[1] = _t14; /* 02988674 */ /* nop */ /* 02988678 */ cpu->r[0] = cpu->lr; /* 0298867C */ _t15 = cpu->r[1] + 0x0000044Cu; /* 0298867C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 02988680 */ cpu->r[29] = cpu->r[4]; /* 02988684 */ cpu->r[24] = cpu->r[5]; /* 02988688 */ cpu->r[23] = cpu->r[3]; /* 0298868C */ _t16 = cpu->r[24] + 0x000000ACu; /* 0298868C */ cpu->r[26] = rbrew_read32(cpu->mem, _t16); /* 02988690 */ cpu->r[27] = cpu->r[7]; /* 02988694 */ _t17 = cpu->r[23] + 0x00000090u; /* 02988694 */ rbrew_write32(cpu->mem, _t17, cpu->r[24]); /* 02988698 */ _t18 = cpu->r[27] + 0x0000000Cu; /* 02988698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298869C */ _t19 = cpu->r[26] + 0x0000002Cu; /* 0298869C */ cpu->r[8] = rbrew_read16(cpu->mem, _t19); /* 029886A0 */ cpu->r[25] = cpu->r[6]; /* 029886A4 */ _t20 = cpu->r[29] + 0x00000008u; /* 029886A4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t20); /* 029886A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 029886AC */ cpu->r[0] = 0x00000000u; /* 029886B0 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u); /* 029886B0 */ _t22 = _t21 & 0x00000001u; /* 029886B0 */ if (_t22) goto L_029886C4; else goto L_029886B4; L_029886B4: ; // 0x29886b4 /* 029886B4 */ _t23 = cpu->r[27] + 0x00000002u; /* 029886B4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t23); /* 029886B8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 029886B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 029886BC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 029886BC */ _t25 = _t24 & 0x00000001u; /* 029886BC */ if (_t25) goto L_029886C4; else goto L_029886C0; L_029886C0: ; // 0x29886c0 /* 029886C0 */ cpu->r[0] = 0x00000001u; L_029886C4: ; // 0x29886c4 /* 029886C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 029886C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u); /* 029886CC */ cpu->r[25] = cpu->r[25] & cpu->r[0]; /* 029886D0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 029886D0 */ _t27 = _t26 & 0x00000001u; /* 029886D0 */ if (_t27) goto L_029886D4; else goto L_02988744; L_029886D4: ; // 0x29886d4 /* 029886D4 */ _t28 = cpu->r[29] + 0x00000004u; /* 029886D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 029886D8 */ cpu->r[3] = cpu->r[23]; /* 029886DC */ _t29 = cpu->r[12] + 0x00000000u; /* 029886DC */ cpu->r[4] = rbrew_read8(cpu->mem, _t29); /* 029886E0 */ cpu->r[5] = cpu->r[24]; /* 029886E4 */ Gambit_fn_02984508(cpu); /* 029886E8 */ _t30 = cpu->r[29] + 0x00000004u; /* 029886E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30); /* 029886EC */ _t31 = cpu->r[23] + 0x00000028u; /* 029886EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t31); /* 029886F0 */ _t32 = cpu->r[6] + 0x00000000u; /* 029886F0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t32); /* 029886F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]); /* 029886F8 */ _t33 = cpu->r[23] + 0x0000002Cu; /* 029886F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 029886FC */ _t34 = cpu->cr[0] >> (0x00000003u & 31u); /* 029886FC */ _t35 = _t34 & 0x00000001u; /* 029886FC */ if (_t35) goto L_02988700; else goto L_02988708; L_02988700: ; // 0x2988700 /* 02988700 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000006Cu); /* 02988704 */ cpu->r[12] = cpu->r[12] + cpu->r[11]; L_02988708: ; // 0x2988708 /* 02988708 */ _t36 = cpu->r[12] + 0x00000000u; /* 02988708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 0298870C */ cpu->r[3] = cpu->r[23]; /* 02988710 */ cpu->r[4] = cpu->r[24]; /* 02988714 */ cpu->r[5] = cpu->r[27]; /* 02988718 */ _t37 = cpu->r[1] + 0x0000000Cu; /* 02988718 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]); /* 0298871C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu; /* 02988720 */ cpu->r[7] = cpu->r[26]; /* 02988724 */ cpu->r[6] = cpu->r[25]; /* 02988728 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu; /* 0298872C */ Gambit_fn_0298849C(cpu); /* 02988730 */ /* nop */ /* 02988734 */ _t38 = cpu->r[1] + 0x0000044Cu; /* 02988734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 02988738 */ cpu->lr = cpu->r[0]; /* 0298873C */ cpu->r[1] = cpu->r[1] + 0x00000448u; /* 02988740 */ return; L_02988744: ; // 0x2988744 /* 02988744 */ _t39 = cpu->r[23] + 0x00000016u; /* 02988744 */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[8]); /* 02988748 */ _t40 = cpu->r[27] + 0x00000008u; /* 02988748 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40); /* 0298874C */ cpu->r[6] = 0x00000000u; /* 02988750 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988754 */ _t41 = cpu->r[27] + 0x00000018u; /* 02988754 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41); /* 02988758 */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 0298875C */ Gambit_fn_02C55114(cpu); /* 02988760 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988764 */ Gambit_fn_02C54F48(cpu); /* 02988768 */ _t42 = cpu->r[29] + 0x00000008u; /* 02988768 */ cpu->r[0] = rbrew_read16(cpu->mem, _t42); /* 0298876C */ _t43 = cpu->r[29] + 0x00000000u; /* 0298876C */ cpu->r[9] = rbrew_read32(cpu->mem, _t43); /* 02988770 */ _t44 = cpu->r[29] + 0x00000004u; /* 02988770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44); /* 02988774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]); /* 02988778 */ cpu->r[28] = 0x00000000u; /* 0298877C */ cpu->r[30] = cpu->r[31]; /* 02988780 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u); /* 02988780 */ _t46 = _t45 & 0x00000001u; /* 02988780 */ if (_t46) goto L_02988798; else goto L_02988784; L_02988784: ; // 0x2988784 /* 02988784 */ cpu->r[29] = cpu->r[31] + cpu->r[0]; /* 02988788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0298878C */ _t47 = cpu->r[1] + 0x00000010u; /* 0298878C */ rbrew_write32(cpu->mem, _t47, cpu->r[29]); /* 02988790 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988790 */ _t49 = _t48 & 0x00000001u; /* 02988790 */ if (_t49) goto L_02988854; else goto L_02988794; L_02988794: ; // 0x2988794 /* 02988794 */ goto L_029887A8; L_02988798: ; // 0x2988798 /* 02988798 */ cpu->r[29] = cpu->r[31] + cpu->r[9]; /* 0298879C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 029887A0 */ _t50 = cpu->r[1] + 0x00000010u; /* 029887A0 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]); /* 029887A4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 029887A4 */ _t52 = _t51 & 0x00000001u; /* 029887A4 */ if (_t52) goto L_02988854; else goto L_029887A8; L_029887A8: ; // 0x29887a8 /* 029887A8 */ cpu->r[10] = cpu->r[1] + 0x00000018u; /* 029887AC */ cpu->r[9] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029887B0 */ cpu->r[21] = cpu->r[10] + cpu->r[9]; L_029887B4: ; // 0x29887b4 /* 029887B4 */ _t53 = cpu->r[30] + 0x00000000u; /* 029887B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t53); /* 029887B8 */ cpu->r[5] = cpu->r[24]; /* 029887BC */ cpu->r[3] = cpu->r[23]; /* 029887C0 */ _t54 = cpu->r[23] + 0x0000008Eu; /* 029887C0 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[4]); /* 029887C4 */ Gambit_fn_02984508(cpu); /* 029887C8 */ _t55 = cpu->r[23] + 0x0000008Eu; /* 029887C8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t55); /* 029887CC */ _t56 = cpu->r[23] + 0x00000028u; /* 029887CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t56); /* 029887D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]); /* 029887D4 */ _t57 = cpu->r[23] + 0x0000002Cu; /* 029887D4 */ cpu->r[22] = rbrew_read32(cpu->mem, _t57); /* 029887D8 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u); /* 029887D8 */ _t59 = _t58 & 0x00000001u; /* 029887D8 */ if (_t59) goto L_029887DC; else goto L_029887E4; L_029887DC: ; // 0x29887dc /* 029887DC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000006Cu); /* 029887E0 */ cpu->r[22] = cpu->r[22] + cpu->r[12]; L_029887E4: ; // 0x29887e4 /* 029887E4 */ _t60 = cpu->r[22] + 0x00000068u; /* 029887E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60); /* 029887E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029887E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029887EC */ cpu->r[20] = cpu->r[22] + 0x0000000Cu; /* 029887F0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 029887F0 */ _t62 = _t61 & 0x00000001u; /* 029887F0 */ if (_t62) goto L_02988814; else goto L_029887F4; L_029887F4: ; // 0x29887f4 /* 029887F4 */ cpu->r[6] = cpu->r[30] - cpu->r[31]; /* 029887F8 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 029887FC */ _t63 = cpu->r[21] + 0x00000000u; /* 029887FC */ rbrew_write32(cpu->mem, _t63, cpu->r[6]); /* 02988800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988804 */ cpu->r[21] = cpu->r[21] + 0x00000004u; /* 02988808 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 0298880C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298880C */ _t65 = _t64 & 0x00000001u; /* 0298880C */ if (_t65) goto L_02988810; else goto L_029887B4; L_02988810: ; // 0x2988810 /* 02988810 */ goto L_02988854; L_02988814: ; // 0x2988814 /* 02988814 */ _t66 = cpu->r[27] + 0x00000008u; /* 02988814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66); /* 02988818 */ cpu->r[3] = cpu->r[20]; /* 0298881C */ cpu->r[6] = 0x00000001u; /* 02988820 */ _t67 = cpu->r[27] + 0x00000014u; /* 02988820 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67); /* 02988824 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02988828 */ Gambit_fn_02C54CCC(cpu); /* 0298882C */ _t68 = cpu->r[22] + 0x00000008u; /* 0298882C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t68); /* 02988830 */ cpu->r[4] = cpu->r[20]; /* 02988834 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988838 */ Gambit_fn_02C54F70(cpu); /* 0298883C */ cpu->r[4] = 0x00000001u; /* 02988840 */ cpu->r[3] = cpu->r[20]; /* 02988844 */ Gambit_fn_02C54DA0(cpu); /* 02988848 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0298884C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988850 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988850 */ _t70 = _t69 & 0x00000001u; /* 02988850 */ if (_t70) goto L_02988854; else goto L_029887B4; L_02988854: ; // 0x2988854 /* 02988854 */ _t71 = cpu->r[23] + 0x00000070u; /* 02988854 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71); /* 02988858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298885C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298885C */ _t73 = _t72 & 0x00000001u; /* 0298885C */ if (_t73) goto L_0298887C; else goto L_02988860; L_02988860: ; // 0x2988860 /* 02988860 */ _t74 = cpu->r[3] + 0x00000000u; /* 02988860 */ cpu->r[8] = rbrew_read32(cpu->mem, _t74); /* 02988864 */ _t75 = cpu->r[8] + 0x00000014u; /* 02988864 */ cpu->r[9] = rbrew_read32(cpu->mem, _t75); /* 02988868 */ cpu->ctr = cpu->r[9]; /* 0298886C */ cpu->r[4] = cpu->r[23]; /* 02988870 */ cpu->r[5] = cpu->r[24]; /* 02988874 */ cpu->r[6] = cpu->r[23] + 0x00000010u; /* 02988878 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298887C: ; // 0x298887c /* 0298887C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02988880 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988880 */ _t77 = _t76 & 0x00000001u; /* 02988880 */ if (_t77) goto L_029888D4; else goto L_02988884; L_02988884: ; // 0x2988884 /* 02988884 */ _t78 = cpu->r[27] + 0x00000008u; /* 02988884 */ cpu->r[10] = rbrew_read32(cpu->mem, _t78); /* 02988888 */ cpu->r[3] = cpu->r[26]; /* 0298888C */ cpu->r[6] = 0x00000001u; /* 02988890 */ _t79 = cpu->r[27] + 0x0000001Cu; /* 02988890 */ cpu->r[4] = rbrew_read32(cpu->mem, _t79); /* 02988894 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02988898 */ Gambit_fn_02C5AD44(cpu); /* 0298889C */ cpu->r[4] = cpu->r[26]; /* 029888A0 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 029888A4 */ _t80 = cpu->r[27] + 0x0000002Cu; /* 029888A4 */ rbrew_write32(cpu->mem, _t80, cpu->r[26]); /* 029888A8 */ Gambit_fn_02C55078(cpu); /* 029888AC */ cpu->r[4] = 0x00000001u; /* 029888B0 */ cpu->r[3] = cpu->r[26]; /* 029888B4 */ Gambit_fn_02C5AE1C(cpu); /* 029888B8 */ cpu->r[4] = 0x00000000u; /* 029888BC */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 029888C0 */ _t81 = cpu->r[27] + 0x0000002Cu; /* 029888C0 */ rbrew_write32(cpu->mem, _t81, cpu->r[4]); /* 029888C4 */ Gambit_fn_02C551E8(cpu); /* 029888C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029888CC */ _t82 = cpu->cr[0] >> (0x00000002u & 31u); /* 029888CC */ _t83 = _t82 & 0x00000001u; /* 029888CC */ if (_t83) goto L_029888D0; else goto L_02988944; L_029888D0: ; // 0x29888d0 /* 029888D0 */ goto L_029888F4; L_029888D4: ; // 0x29888d4 /* 029888D4 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 029888D8 */ cpu->r[4] = cpu->r[26]; /* 029888DC */ Gambit_fn_02C55078(cpu); /* 029888E0 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 029888E4 */ cpu->r[4] = 0x00000000u; /* 029888E8 */ Gambit_fn_02C551E8(cpu); /* 029888EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029888F0 */ _t84 = cpu->cr[0] >> (0x00000002u & 31u); /* 029888F0 */ _t85 = _t84 & 0x00000001u; /* 029888F0 */ if (_t85) goto L_029888F4; else goto L_02988944; L_029888F4: ; // 0x29888f4 /* 029888F4 */ cpu->r[31] = cpu->r[1] + 0x00000014u; L_029888F8: ; // 0x29888f8 /* 029888F8 */ _t86 = cpu->r[31] + 0x00000004u; /* 029888F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86); /* 029888F8 */ cpu->r[31] = _t86; /* 029888FC */ _t87 = cpu->r[23] + 0x00000028u; /* 029888FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t87); /* 02988900 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02988904 */ _t88 = cpu->r[23] + 0x0000002Cu; /* 02988904 */ cpu->r[11] = rbrew_read32(cpu->mem, _t88); /* 02988908 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u); /* 02988908 */ _t90 = _t89 & 0x00000001u; /* 02988908 */ if (_t90) goto L_0298890C; else goto L_02988914; L_0298890C: ; // 0x298890c /* 0298890C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000006Cu); /* 02988910 */ cpu->r[11] = cpu->r[11] + cpu->r[5]; L_02988914: ; // 0x2988914 /* 02988914 */ _t91 = cpu->r[11] + 0x00000000u; /* 02988914 */ cpu->r[7] = rbrew_read32(cpu->mem, _t91); /* 02988918 */ cpu->r[4] = cpu->r[24]; /* 0298891C */ cpu->r[5] = cpu->r[27]; /* 02988920 */ cpu->r[6] = cpu->r[25]; /* 02988924 */ _t92 = cpu->r[1] + 0x00000008u; /* 02988924 */ rbrew_write32(cpu->mem, _t92, cpu->r[7]); /* 02988928 */ cpu->r[9] = cpu->r[1] + 0x00000008u; /* 0298892C */ cpu->r[8] = cpu->r[11] + 0x0000000Cu; /* 02988930 */ cpu->r[7] = cpu->r[26]; /* 02988934 */ cpu->r[3] = cpu->r[23]; /* 02988938 */ Gambit_fn_02988598(cpu); /* 0298893C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 0298893C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02988940 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988940 */ _t94 = _t93 & 0x00000001u; /* 02988940 */ if (_t94) goto L_02988944; else goto L_029888F8; L_02988944: ; // 0x2988944 /* 02988944 */ /* nop */ /* 02988948 */ _t95 = cpu->r[1] + 0x0000044Cu; /* 02988948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95); /* 0298894C */ cpu->lr = cpu->r[0]; /* 02988950 */ cpu->r[1] = cpu->r[1] + 0x00000448u; /* 02988954 */ return; L_02988A1C: ; // 0x2988a1c /* 02988A1C */ _t96 = cpu->r[1] + 0xFFFFFBC0u; /* 02988A1C */ rbrew_write32(cpu->mem, _t96, cpu->r[1]); /* 02988A1C */ cpu->r[1] = _t96; /* 02988A20 */ /* nop */ /* 02988A24 */ cpu->r[0] = cpu->lr; /* 02988A28 */ _t97 = cpu->r[1] + 0x00000444u; /* 02988A28 */ rbrew_write32(cpu->mem, _t97, cpu->r[0]); /* 02988A2C */ cpu->r[24] = cpu->r[5]; /* 02988A30 */ cpu->r[23] = cpu->r[3]; /* 02988A34 */ _t98 = cpu->r[24] + 0x000000ACu; /* 02988A34 */ cpu->r[26] = rbrew_read32(cpu->mem, _t98); /* 02988A38 */ cpu->r[31] = cpu->r[4]; /* 02988A3C */ _t99 = cpu->r[23] + 0x00000090u; /* 02988A3C */ rbrew_write32(cpu->mem, _t99, cpu->r[24]); /* 02988A40 */ _t100 = cpu->r[31] + 0x00000008u; /* 02988A40 */ cpu->r[11] = rbrew_read16(cpu->mem, _t100); /* 02988A44 */ cpu->r[25] = cpu->r[6]; /* 02988A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u); /* 02988A4C */ cpu->r[27] = cpu->r[7]; /* 02988A50 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988A50 */ _t102 = _t101 & 0x00000001u; /* 02988A50 */ if (_t102) goto L_02988A54; else goto L_02988AC4; L_02988A54: ; // 0x2988a54 /* 02988A54 */ _t103 = cpu->r[31] + 0x00000004u; /* 02988A54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103); /* 02988A58 */ cpu->r[3] = cpu->r[23]; /* 02988A5C */ _t104 = cpu->r[7] + 0x00000000u; /* 02988A5C */ cpu->r[4] = rbrew_read8(cpu->mem, _t104); /* 02988A60 */ cpu->r[5] = cpu->r[24]; /* 02988A64 */ Gambit_fn_02984508(cpu); /* 02988A68 */ _t105 = cpu->r[31] + 0x00000004u; /* 02988A68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t105); /* 02988A6C */ _t106 = cpu->r[23] + 0x00000028u; /* 02988A6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t106); /* 02988A70 */ _t107 = cpu->r[8] + 0x00000000u; /* 02988A70 */ cpu->r[10] = rbrew_read8(cpu->mem, _t107); /* 02988A74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]); /* 02988A78 */ _t108 = cpu->r[23] + 0x0000002Cu; /* 02988A78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t108); /* 02988A7C */ _t109 = cpu->cr[0] >> (0x00000003u & 31u); /* 02988A7C */ _t110 = _t109 & 0x00000001u; /* 02988A7C */ if (_t110) goto L_02988A80; else goto L_02988A88; L_02988A80: ; // 0x2988a80 /* 02988A80 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000006Cu); /* 02988A84 */ cpu->r[12] = cpu->r[12] + cpu->r[0]; L_02988A88: ; // 0x2988a88 /* 02988A88 */ _t111 = cpu->r[12] + 0x00000000u; /* 02988A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t111); /* 02988A8C */ cpu->r[3] = cpu->r[23]; /* 02988A90 */ cpu->r[4] = cpu->r[24]; /* 02988A94 */ cpu->r[5] = cpu->r[27]; /* 02988A98 */ _t112 = cpu->r[1] + 0x0000000Cu; /* 02988A98 */ rbrew_write32(cpu->mem, _t112, cpu->r[0]); /* 02988A9C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu; /* 02988AA0 */ cpu->r[7] = cpu->r[26]; /* 02988AA4 */ cpu->r[6] = cpu->r[25]; /* 02988AA8 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu; /* 02988AAC */ Gambit_fn_02988958(cpu); /* 02988AB0 */ /* nop */ /* 02988AB4 */ _t113 = cpu->r[1] + 0x00000444u; /* 02988AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113); /* 02988AB8 */ cpu->lr = cpu->r[0]; /* 02988ABC */ cpu->r[1] = cpu->r[1] + 0x00000440u; /* 02988AC0 */ return; L_02988AC4: ; // 0x2988ac4 /* 02988AC4 */ _t114 = cpu->r[26] + 0x0000002Cu; /* 02988AC4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t114); /* 02988AC8 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988ACC */ _t115 = cpu->r[23] + 0x00000016u; /* 02988ACC */ rbrew_write16(cpu->mem, _t115, (uint16_t)cpu->r[9]); /* 02988AD0 */ Gambit_fn_02C54F48(cpu); /* 02988AD4 */ _t116 = cpu->r[31] + 0x00000008u; /* 02988AD4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t116); /* 02988AD8 */ _t117 = cpu->r[31] + 0x00000004u; /* 02988AD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t117); /* 02988ADC */ _t118 = cpu->r[31] + 0x00000000u; /* 02988ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t118); /* 02988AE0 */ cpu->r[31] = cpu->r[30]; /* 02988AE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 02988AE8 */ cpu->r[28] = 0x00000000u; /* 02988AEC */ _t119 = cpu->cr[0] >> (0x00000002u & 31u); /* 02988AEC */ _t120 = _t119 & 0x00000001u; /* 02988AEC */ if (_t120) goto L_02988B04; else goto L_02988AF0; L_02988AF0: ; // 0x2988af0 /* 02988AF0 */ cpu->r[29] = cpu->r[30] + cpu->r[7]; /* 02988AF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988AF8 */ _t121 = cpu->r[1] + 0x00000010u; /* 02988AF8 */ rbrew_write32(cpu->mem, _t121, cpu->r[29]); /* 02988AFC */ _t122 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988AFC */ _t123 = _t122 & 0x00000001u; /* 02988AFC */ if (_t123) goto L_02988B98; else goto L_02988B00; L_02988B00: ; // 0x2988b00 /* 02988B00 */ goto L_02988B14; L_02988B04: ; // 0x2988b04 /* 02988B04 */ cpu->r[29] = cpu->r[30] + cpu->r[0]; /* 02988B08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988B0C */ _t124 = cpu->r[1] + 0x00000010u; /* 02988B0C */ rbrew_write32(cpu->mem, _t124, cpu->r[29]); /* 02988B10 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988B10 */ _t126 = _t125 & 0x00000001u; /* 02988B10 */ if (_t126) goto L_02988B98; else goto L_02988B14; L_02988B14: ; // 0x2988b14 /* 02988B14 */ cpu->r[12] = cpu->r[1] + 0x00000018u; /* 02988B18 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02988B1C */ cpu->r[22] = cpu->r[12] + cpu->r[11]; L_02988B20: ; // 0x2988b20 /* 02988B20 */ _t127 = cpu->r[30] + 0x00000000u; /* 02988B20 */ cpu->r[4] = rbrew_read8(cpu->mem, _t127); /* 02988B24 */ cpu->r[5] = cpu->r[24]; /* 02988B28 */ cpu->r[3] = cpu->r[23]; /* 02988B2C */ _t128 = cpu->r[23] + 0x0000008Eu; /* 02988B2C */ rbrew_write8(cpu->mem, _t128, (uint8_t)cpu->r[4]); /* 02988B30 */ Gambit_fn_02984508(cpu); /* 02988B34 */ _t129 = cpu->r[23] + 0x0000008Eu; /* 02988B34 */ cpu->r[8] = rbrew_read8(cpu->mem, _t129); /* 02988B38 */ _t130 = cpu->r[23] + 0x00000028u; /* 02988B38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t130); /* 02988B3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]); /* 02988B40 */ _t131 = cpu->r[23] + 0x0000002Cu; /* 02988B40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t131); /* 02988B44 */ _t132 = cpu->cr[0] >> (0x00000003u & 31u); /* 02988B44 */ _t133 = _t132 & 0x00000001u; /* 02988B44 */ if (_t133) goto L_02988B48; else goto L_02988B50; L_02988B48: ; // 0x2988b48 /* 02988B48 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000006Cu); /* 02988B4C */ cpu->r[11] = cpu->r[11] + cpu->r[7]; L_02988B50: ; // 0x2988b50 /* 02988B50 */ _t134 = cpu->r[11] + 0x00000068u; /* 02988B50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t134); /* 02988B54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02988B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02988B58 */ cpu->r[4] = cpu->r[11] + 0x0000000Cu; /* 02988B5C */ _t135 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988B5C */ _t136 = _t135 & 0x00000001u; /* 02988B5C */ if (_t136) goto L_02988B80; else goto L_02988B60; L_02988B60: ; // 0x2988b60 /* 02988B60 */ cpu->r[10] = cpu->r[30] - cpu->r[31]; /* 02988B64 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 02988B68 */ _t137 = cpu->r[22] + 0x00000000u; /* 02988B68 */ rbrew_write32(cpu->mem, _t137, cpu->r[10]); /* 02988B6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988B70 */ cpu->r[22] = cpu->r[22] + 0x00000004u; /* 02988B74 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02988B78 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988B78 */ _t139 = _t138 & 0x00000001u; /* 02988B78 */ if (_t139) goto L_02988B7C; else goto L_02988B20; L_02988B7C: ; // 0x2988b7c /* 02988B7C */ goto L_02988B98; L_02988B80: ; // 0x2988b80 /* 02988B80 */ _t140 = cpu->r[11] + 0x00000008u; /* 02988B80 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t140); /* 02988B84 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988B88 */ Gambit_fn_02C54F70(cpu); /* 02988B8C */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 02988B90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988B94 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988B94 */ _t142 = _t141 & 0x00000001u; /* 02988B94 */ if (_t142) goto L_02988B98; else goto L_02988B20; L_02988B98: ; // 0x2988b98 /* 02988B98 */ _t143 = cpu->r[23] + 0x00000070u; /* 02988B98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t143); /* 02988B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02988BA0 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988BA0 */ _t145 = _t144 & 0x00000001u; /* 02988BA0 */ if (_t145) goto L_02988BC0; else goto L_02988BA4; L_02988BA4: ; // 0x2988ba4 /* 02988BA4 */ _t146 = cpu->r[3] + 0x00000000u; /* 02988BA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t146); /* 02988BA8 */ _t147 = cpu->r[12] + 0x00000014u; /* 02988BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t147); /* 02988BAC */ cpu->ctr = cpu->r[0]; /* 02988BB0 */ cpu->r[4] = cpu->r[23]; /* 02988BB4 */ cpu->r[5] = cpu->r[24]; /* 02988BB8 */ cpu->r[6] = cpu->r[23] + 0x00000010u; /* 02988BBC */ rbrew_call_indirect(cpu, cpu->ctr); L_02988BC0: ; // 0x2988bc0 /* 02988BC0 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988BC4 */ cpu->r[4] = cpu->r[26]; /* 02988BC8 */ Gambit_fn_02C55078(cpu); /* 02988BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02988BD0 */ _t148 = cpu->cr[0] >> (0x00000002u & 31u); /* 02988BD0 */ _t149 = _t148 & 0x00000001u; /* 02988BD0 */ if (_t149) goto L_02988BD4; else goto L_02988C24; L_02988BD4: ; // 0x2988bd4 /* 02988BD4 */ cpu->r[31] = cpu->r[1] + 0x00000014u; L_02988BD8: ; // 0x2988bd8 /* 02988BD8 */ _t150 = cpu->r[31] + 0x00000004u; /* 02988BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t150); /* 02988BD8 */ cpu->r[31] = _t150; /* 02988BDC */ _t151 = cpu->r[23] + 0x00000028u; /* 02988BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t151); /* 02988BE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02988BE4 */ _t152 = cpu->r[23] + 0x0000002Cu; /* 02988BE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t152); /* 02988BE8 */ _t153 = cpu->cr[0] >> (0x00000003u & 31u); /* 02988BE8 */ _t154 = _t153 & 0x00000001u; /* 02988BE8 */ if (_t154) goto L_02988BEC; else goto L_02988BF4; L_02988BEC: ; // 0x2988bec /* 02988BEC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000006Cu); /* 02988BF0 */ cpu->r[10] = cpu->r[10] + cpu->r[0]; L_02988BF4: ; // 0x2988bf4 /* 02988BF4 */ _t155 = cpu->r[10] + 0x00000000u; /* 02988BF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t155); /* 02988BF8 */ cpu->r[3] = cpu->r[23]; /* 02988BFC */ cpu->r[4] = cpu->r[24]; /* 02988C00 */ cpu->r[5] = cpu->r[27]; /* 02988C04 */ _t156 = cpu->r[1] + 0x00000008u; /* 02988C04 */ rbrew_write32(cpu->mem, _t156, cpu->r[6]); /* 02988C08 */ cpu->r[9] = cpu->r[1] + 0x00000008u; /* 02988C0C */ cpu->r[8] = cpu->r[10] + 0x0000000Cu; /* 02988C10 */ cpu->r[7] = cpu->r[26]; /* 02988C14 */ cpu->r[6] = cpu->r[25]; /* 02988C18 */ Gambit_fn_029889D4(cpu); /* 02988C1C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02988C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02988C20 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988C20 */ _t158 = _t157 & 0x00000001u; /* 02988C20 */ if (_t158) goto L_02988C24; else goto L_02988BD8; L_02988C24: ; // 0x2988c24 /* 02988C24 */ /* nop */ /* 02988C28 */ _t159 = cpu->r[1] + 0x00000444u; /* 02988C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t159); /* 02988C2C */ cpu->lr = cpu->r[0]; /* 02988C30 */ cpu->r[1] = cpu->r[1] + 0x00000440u; /* 02988C34 */ return; } // fn_029847FC @ 0x29847fc void Gambit_fn_029847FC(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_029847FC: ; // 0x29847fc /* 029847FC */ cpu->r[0] = cpu->lr; /* 02984800 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02984800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02984800 */ cpu->r[1] = _t0; /* 02984804 */ _t1 = cpu->r[1] + 0x00000014u; /* 02984804 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02984808 */ _t2 = cpu->r[1] + 0x00000010u; /* 02984808 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298480C */ cpu->r[31] = cpu->r[4]; /* 02984810 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02984810 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02984814 */ _t4 = cpu->r[31] + 0x00000030u; /* 02984814 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02984818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298481C */ cpu->r[30] = cpu->r[3]; /* 02984820 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 02984820 */ _t6 = _t5 & 0x00000001u; /* 02984820 */ if (_t6) goto L_02984824; else goto L_02984898; L_02984824: ; // 0x2984824 /* 02984824 */ cpu->r[3] = cpu->r[31]; /* 02984828 */ Gambit_fn_02984128(cpu); /* 0298482C */ _t7 = cpu->r[30] + 0x000000E8u; /* 0298482C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 02984830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 02984834 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984834 */ _t9 = _t8 & 0x00000001u; /* 02984834 */ if (_t9) goto L_02984898; else goto L_02984838; L_02984838: ; // 0x2984838 /* 02984838 */ _t10 = cpu->r[30] + 0x000000EAu; /* 02984838 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10); /* 0298483C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 02984840 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984840 */ _t12 = _t11 & 0x00000001u; /* 02984840 */ if (_t12) goto L_02984898; else goto L_02984844; L_02984844: ; // 0x2984844 /* 02984844 */ _t13 = cpu->r[30] + 0x000000E8u; /* 02984844 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 02984848 */ cpu->r[12] = 0x10150000u; /* 0298484C */ cpu->r[3] = cpu->r[31]; /* 02984850 */ _t14 = cpu->r[12] + 0xFFFFEE20u; /* 02984850 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14); /* 02984854 */ cpu->r[4] = 0x00000000u; /* 02984858 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0298485C */ _t15 = cpu->r[1] + 0x00000008u; /* 0298485C */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 02984860 */ Gambit_fn_02983FDC(cpu); /* 02984864 */ cpu->r[3] = cpu->r[31]; /* 02984868 */ _t16 = cpu->r[30] + 0x000000ECu; /* 02984868 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t16); /* 0298486C */ cpu->r[4] = 0x00000000u; /* 02984870 */ Gambit_fn_02983EEC(cpu); /* 02984874 */ _t17 = cpu->r[30] + 0x00000000u; /* 02984874 */ cpu->r[6] = rbrew_read16(cpu->mem, _t17); /* 02984878 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu); /* 0298487C */ cpu->r[9] = cpu->r[0] ^ 0x00000001u; /* 02984880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02984884 */ _t18 = cpu->r[30] + 0x000000ECu; /* 02984884 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[1]); /* 02984888 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984888 */ _t20 = _t19 & 0x00000001u; /* 02984888 */ if (_t20) goto L_02984898; else goto L_0298488C; L_0298488C: ; // 0x298488c /* 0298488C */ _t21 = cpu->r[30] + 0x000000E4u; /* 0298488C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21); /* 02984890 */ cpu->f[0] = cpu->f[1] + cpu->f[0]; /* 02984894 */ _t22 = cpu->r[30] + 0x000000ECu; /* 02984894 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]); L_02984898: ; // 0x2984898 /* 02984898 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 02984898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0298489C */ _t24 = cpu->r[1] + 0x00000010u; /* 0298489C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 029848A0 */ cpu->lr = cpu->r[0]; /* 029848A4 */ _t25 = cpu->r[1] + 0x00000014u; /* 029848A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 029848A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029848AC */ return; } // fn_02984800 @ 0x2984800 void Gambit_fn_02984800(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_02984800: ; // 0x2984800 /* 02984800 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02984800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02984800 */ cpu->r[1] = _t0; /* 02984804 */ _t1 = cpu->r[1] + 0x00000014u; /* 02984804 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02984808 */ _t2 = cpu->r[1] + 0x00000010u; /* 02984808 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298480C */ cpu->r[31] = cpu->r[4]; /* 02984810 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 02984810 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02984814 */ _t4 = cpu->r[31] + 0x00000030u; /* 02984814 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4); /* 02984818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298481C */ cpu->r[30] = cpu->r[3]; /* 02984820 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 02984820 */ _t6 = _t5 & 0x00000001u; /* 02984820 */ if (_t6) goto L_02984824; else goto L_02984898; L_02984824: ; // 0x2984824 /* 02984824 */ cpu->r[3] = cpu->r[31]; /* 02984828 */ Gambit_fn_02984128(cpu); /* 0298482C */ _t7 = cpu->r[30] + 0x000000E8u; /* 0298482C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7); /* 02984830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 02984834 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984834 */ _t9 = _t8 & 0x00000001u; /* 02984834 */ if (_t9) goto L_02984898; else goto L_02984838; L_02984838: ; // 0x2984838 /* 02984838 */ _t10 = cpu->r[30] + 0x000000EAu; /* 02984838 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10); /* 0298483C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 02984840 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984840 */ _t12 = _t11 & 0x00000001u; /* 02984840 */ if (_t12) goto L_02984898; else goto L_02984844; L_02984844: ; // 0x2984844 /* 02984844 */ _t13 = cpu->r[30] + 0x000000E8u; /* 02984844 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 02984848 */ cpu->r[12] = 0x10150000u; /* 0298484C */ cpu->r[3] = cpu->r[31]; /* 02984850 */ _t14 = cpu->r[12] + 0xFFFFEE20u; /* 02984850 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14); /* 02984854 */ cpu->r[4] = 0x00000000u; /* 02984858 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0298485C */ _t15 = cpu->r[1] + 0x00000008u; /* 0298485C */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 02984860 */ Gambit_fn_02983FDC(cpu); /* 02984864 */ cpu->r[3] = cpu->r[31]; /* 02984868 */ _t16 = cpu->r[30] + 0x000000ECu; /* 02984868 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t16); /* 0298486C */ cpu->r[4] = 0x00000000u; /* 02984870 */ Gambit_fn_02983EEC(cpu); /* 02984874 */ _t17 = cpu->r[30] + 0x00000000u; /* 02984874 */ cpu->r[6] = rbrew_read16(cpu->mem, _t17); /* 02984878 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu); /* 0298487C */ cpu->r[9] = cpu->r[0] ^ 0x00000001u; /* 02984880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02984884 */ _t18 = cpu->r[30] + 0x000000ECu; /* 02984884 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[1]); /* 02984888 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984888 */ _t20 = _t19 & 0x00000001u; /* 02984888 */ if (_t20) goto L_02984898; else goto L_0298488C; L_0298488C: ; // 0x298488c /* 0298488C */ _t21 = cpu->r[30] + 0x000000E4u; /* 0298488C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21); /* 02984890 */ cpu->f[0] = cpu->f[1] + cpu->f[0]; /* 02984894 */ _t22 = cpu->r[30] + 0x000000ECu; /* 02984894 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]); L_02984898: ; // 0x2984898 /* 02984898 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 02984898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0298489C */ _t24 = cpu->r[1] + 0x00000010u; /* 0298489C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 029848A0 */ cpu->lr = cpu->r[0]; /* 029848A4 */ _t25 = cpu->r[1] + 0x00000014u; /* 029848A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 029848A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029848AC */ return; } // fn_029848B0 @ 0x29848b0 void Gambit_fn_029848B0(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; L_029848B0: ; // 0x29848b0 /* 029848B0 */ _t0 = cpu->r[1] + 0xFFFFFFB8u; /* 029848B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029848B0 */ cpu->r[1] = _t0; /* 029848B4 */ /* nop */ /* 029848B8 */ cpu->r[0] = cpu->lr; /* 029848BC */ _t1 = cpu->r[1] + 0x0000004Cu; /* 029848BC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029848C0 */ cpu->r[25] = cpu->r[3]; /* 029848C4 */ _t2 = cpu->r[25] + 0x00000094u; /* 029848C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2); /* 029848C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029848CC */ cpu->r[26] = cpu->r[4]; /* 029848D0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 029848D0 */ _t4 = _t3 & 0x00000001u; /* 029848D0 */ if (_t4) goto L_029848E8; else goto L_029848D4; L_029848D4: ; // 0x29848d4 /* 029848D4 */ _t5 = cpu->r[3] + 0x00000000u; /* 029848D4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t5); /* 029848D8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 029848D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029848DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029848DC */ _t7 = _t6 & 0x00000001u; /* 029848DC */ if (_t7) goto L_029848E8; else goto L_029848E0; L_029848E0: ; // 0x29848e0 /* 029848E0 */ cpu->r[4] = cpu->r[25]; /* 029848E4 */ Gambit_fn_029847FC(cpu); L_029848E8: ; // 0x29848e8 /* 029848E8 */ _t8 = cpu->r[25] + 0x00000030u; /* 029848E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 029848EC */ _t9 = cpu->r[25] + 0x00000034u; /* 029848EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 029848F0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000001Cu); /* 029848F4 */ cpu->r[29] = cpu->r[31] + cpu->r[0]; /* 029848F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 029848FC */ cpu->r[30] = cpu->r[31]; /* 02984900 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984900 */ _t11 = _t10 & 0x00000001u; /* 02984900 */ if (_t11) goto L_02984BE8; else goto L_02984904; L_02984904: ; // 0x2984904 /* 02984904 */ cpu->r[24] = 0x00000001u; /* 02984908 */ cpu->r[22] = 0x101D0000u; /* 0298490C */ cpu->r[23] = 0x101D0000u; L_02984910: ; // 0x2984910 /* 02984910 */ _t12 = cpu->r[31] + 0x00000000u; /* 02984910 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 02984914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0xFFFFFFFFu); /* 02984918 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984918 */ _t14 = _t13 & 0x00000001u; /* 02984918 */ if (_t14) goto L_02984BDC; else goto L_0298491C; L_0298491C: ; // 0x298491c /* 0298491C */ _t15 = cpu->r[31] + 0x00000002u; /* 0298491C */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15); /* 02984920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0xFFFFFFFFu); /* 02984924 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984924 */ _t17 = _t16 & 0x00000001u; /* 02984924 */ if (_t17) goto L_02984BDC; else goto L_02984928; L_02984928: ; // 0x2984928 /* 02984928 */ _t18 = cpu->r[31] + 0x0000000Cu; /* 02984928 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t18); /* 0298492C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFFFFFFu); /* 02984930 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984930 */ _t20 = _t19 & 0x00000001u; /* 02984930 */ if (_t20) goto L_02984BDC; else goto L_02984934; L_02984934: ; // 0x2984934 /* 02984934 */ cpu->r[3] = cpu->r[26]; /* 02984938 */ cpu->r[4] = cpu->r[28]; /* 0298493C */ _t21 = cpu->r[31] + 0x00000008u; /* 0298493C */ cpu->r[27] = rbrew_read32(cpu->mem, _t21); /* 02984940 */ Gambit_fn_0297FC7C(cpu); /* 02984944 */ _t22 = cpu->r[26] + 0x0000001Cu; /* 02984944 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22); /* 02984948 */ cpu->r[4] = 0x00000000u; /* 0298494C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]); /* 02984950 */ _t23 = cpu->r[22] + 0xFFFFE218u; /* 02984950 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23); /* 02984954 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984954 */ _t25 = _t24 & 0x00000001u; /* 02984954 */ if (_t25) goto L_02984958; else goto L_02984964; L_02984958: ; // 0x2984958 /* 02984958 */ _t26 = cpu->r[26] + 0x00000024u; /* 02984958 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26); /* 0298495C */ cpu->r[8] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02984960 */ _t27 = cpu->r[8] + cpu->r[9]; /* 02984960 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27); L_02984964: ; // 0x2984964 /* 02984964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02984968 */ _t28 = cpu->r[4] + 0x00000000u; /* 02984968 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28); /* 0298496C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298496C */ _t30 = _t29 & 0x00000001u; /* 0298496C */ if (_t30) goto L_02984970; else goto L_02984980; L_02984970: ; // 0x2984970 /* 02984970 */ cpu->r[11] = 0x10150000u; /* 02984974 */ _t31 = cpu->r[22] + 0xFFFFE218u; /* 02984974 */ rbrew_write32(cpu->mem, _t31, cpu->r[24]); /* 02984978 */ cpu->r[11] = cpu->r[11] + 0xFFFFEDC8u; /* 0298497C */ _t32 = cpu->r[23] + 0xFFFFEF88u; /* 0298497C */ rbrew_write32(cpu->mem, _t32, cpu->r[11]); L_02984980: ; // 0x2984980 /* 02984980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02984984 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984984 */ _t34 = _t33 & 0x00000001u; /* 02984984 */ if (_t34) goto L_029849A8; else goto L_02984988; L_02984988: ; // 0x2984988 /* 02984988 */ _t35 = cpu->r[28] + 0x00000088u; /* 02984988 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35); /* 0298498C */ _t36 = cpu->r[12] + 0x0000000Cu; /* 0298498C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36); /* 02984990 */ cpu->ctr = cpu->r[0]; /* 02984994 */ cpu->r[3] = cpu->r[28]; /* 02984998 */ cpu->r[4] = cpu->r[23] + 0xFFFFEF88u; /* 0298499C */ rbrew_call_indirect(cpu, cpu->ctr); /* 029849A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029849A4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 029849A4 */ _t38 = _t37 & 0x00000001u; /* 029849A4 */ if (_t38) goto L_029849A8; else goto L_029849AC; L_029849A8: ; // 0x29849a8 /* 029849A8 */ cpu->r[28] = 0x00000000u; L_029849AC: ; // 0x29849ac /* 029849AC */ _t39 = cpu->r[31] + 0x0000000Eu; /* 029849AC */ cpu->r[6] = rbrew_read16(cpu->mem, _t39); /* 029849B0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029849B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 029849B4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 029849B4 */ _t41 = _t40 & 0x00000001u; /* 029849B4 */ if (_t41) goto L_02984B5C; else goto L_029849B8; L_029849B8: ; // 0x29849b8 /* 029849B8 */ _t42 = cpu->r[27] + 0x00000034u; /* 029849B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42); /* 029849BC */ _t43 = cpu->r[7] + 0x00000024u; /* 029849BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43); /* 029849C0 */ cpu->ctr = cpu->r[0]; /* 029849C4 */ _t44 = cpu->r[28] + 0x00000094u; /* 029849C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44); /* 029849C8 */ cpu->r[3] = cpu->r[27]; /* 029849CC */ rbrew_call_indirect(cpu, cpu->ctr); /* 029849D0 */ _t45 = cpu->r[31] + 0x0000000Eu; /* 029849D0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t45); /* 029849D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Eu); /* 029849D8 */ _t46 = cpu->r[31] + 0x0000000Eu; /* 029849D8 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[0]); /* 029849DC */ _t47 = cpu->r[25] + 0x00000070u; /* 029849DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t47); /* 029849E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029849E4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 029849E4 */ _t49 = _t48 & 0x00000001u; /* 029849E4 */ if (_t49) goto L_02984B5C; else goto L_029849E8; L_029849E8: ; // 0x29849e8 /* 029849E8 */ _t50 = cpu->r[31] + 0x00000000u; /* 029849E8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t50); /* 029849EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u); /* 029849F0 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u); /* 029849F0 */ _t52 = _t51 & 0x00000001u; /* 029849F0 */ if (_t52) goto L_02984A3C; else goto L_029849F4; L_029849F4: ; // 0x29849f4 /* 029849F4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 029849F4 */ _t54 = _t53 & 0x00000001u; /* 029849F4 */ if (_t54) goto L_02984AB0; else goto L_029849F8; L_029849F8: ; // 0x29849f8 /* 029849F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000005u); /* 029849FC */ _t55 = cpu->cr[0] >> (0x00000002u & 31u); /* 029849FC */ _t56 = _t55 & 0x00000001u; /* 029849FC */ if (_t56) goto L_02984A00; else goto L_02984B24; L_02984A00: ; // 0x2984a00 /* 02984A00 */ _t57 = cpu->r[27] + 0x00000034u; /* 02984A00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57); /* 02984A04 */ _t58 = cpu->r[12] + 0x0000001Cu; /* 02984A04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58); /* 02984A08 */ cpu->ctr = cpu->r[4]; /* 02984A0C */ cpu->r[3] = cpu->r[27]; /* 02984A10 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984A14 */ _t59 = cpu->r[27] + 0x00000034u; /* 02984A14 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59); /* 02984A18 */ _t60 = cpu->r[6] + 0x0000003Cu; /* 02984A18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60); /* 02984A1C */ cpu->ctr = cpu->r[7]; /* 02984A20 */ cpu->r[3] = cpu->r[27]; /* 02984A24 */ cpu->r[4] = cpu->r[28] + 0x00000094u; /* 02984A28 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984A2C */ _t61 = cpu->r[31] + 0x00000000u; /* 02984A2C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t61); /* 02984A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u); /* 02984A34 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984A34 */ _t63 = _t62 & 0x00000001u; /* 02984A34 */ if (_t63) goto L_02984A38; else goto L_02984BDC; L_02984A38: ; // 0x2984a38 /* 02984A38 */ goto L_02984B94; L_02984A3C: ; // 0x2984a3c /* 02984A3C */ cpu->r[0] = cpu->r[31] - cpu->r[30]; /* 02984A40 */ _t64 = cpu->r[3] + 0x00000000u; /* 02984A40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t64); /* 02984A44 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x00000002u, 0x0000001Fu); /* 02984A48 */ cpu->r[0] = 0x24920000u; /* 02984A4C */ _t65 = cpu->r[11] + 0x00000024u; /* 02984A4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t65); /* 02984A50 */ cpu->r[0] = cpu->r[0] | 0x00004925u; /* 02984A54 */ _t66 = cpu->r[31] + 0x00000000u; /* 02984A54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66); /* 02984A58 */ cpu->ctr = cpu->r[12]; /* 02984A5C */ /* nop */ /* 02984A60 */ cpu->r[4] = cpu->r[25]; /* 02984A64 */ _t67 = cpu->r[1] + 0x00000008u; /* 02984A64 */ rbrew_write32(cpu->mem, _t67, cpu->r[8]); /* 02984A68 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 02984A6C */ cpu->r[7] = cpu->r[27]; /* 02984A70 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984A74 */ _t68 = cpu->r[27] + 0x00000034u; /* 02984A74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68); /* 02984A78 */ _t69 = cpu->r[12] + 0x0000001Cu; /* 02984A78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69); /* 02984A7C */ cpu->ctr = cpu->r[4]; /* 02984A80 */ cpu->r[3] = cpu->r[27]; /* 02984A84 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984A88 */ _t70 = cpu->r[27] + 0x00000034u; /* 02984A88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70); /* 02984A8C */ _t71 = cpu->r[6] + 0x0000003Cu; /* 02984A8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t71); /* 02984A90 */ cpu->ctr = cpu->r[7]; /* 02984A94 */ cpu->r[4] = cpu->r[28] + 0x00000094u; /* 02984A98 */ cpu->r[3] = cpu->r[27]; /* 02984A9C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984AA0 */ _t72 = cpu->r[31] + 0x00000000u; /* 02984AA0 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t72); /* 02984AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u); /* 02984AA8 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984AA8 */ _t74 = _t73 & 0x00000001u; /* 02984AA8 */ if (_t74) goto L_02984AAC; else goto L_02984BDC; L_02984AAC: ; // 0x2984aac /* 02984AAC */ goto L_02984B94; L_02984AB0: ; // 0x2984ab0 /* 02984AB0 */ cpu->r[10] = 0x24920000u; /* 02984AB4 */ _t75 = cpu->r[3] + 0x00000000u; /* 02984AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75); /* 02984AB8 */ cpu->r[0] = cpu->r[31] - cpu->r[30]; /* 02984ABC */ cpu->r[10] = cpu->r[10] + 0x00004925u; /* 02984AC0 */ _t76 = cpu->r[31] + 0x00000000u; /* 02984AC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t76); /* 02984AC4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x00000002u, 0x0000001Fu); /* 02984AC8 */ _t77 = cpu->r[12] + 0x0000002Cu; /* 02984AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 02984ACC */ /* nop */ /* 02984AD0 */ cpu->ctr = cpu->r[0]; /* 02984AD4 */ _t78 = cpu->r[1] + 0x0000000Cu; /* 02984AD4 */ rbrew_write32(cpu->mem, _t78, cpu->r[7]); /* 02984AD8 */ cpu->r[4] = cpu->r[25]; /* 02984ADC */ cpu->r[7] = cpu->r[27]; /* 02984AE0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02984AE4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984AE8 */ _t79 = cpu->r[27] + 0x00000034u; /* 02984AE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79); /* 02984AEC */ _t80 = cpu->r[12] + 0x0000001Cu; /* 02984AEC */ cpu->r[4] = rbrew_read32(cpu->mem, _t80); /* 02984AF0 */ cpu->ctr = cpu->r[4]; /* 02984AF4 */ cpu->r[3] = cpu->r[27]; /* 02984AF8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984AFC */ _t81 = cpu->r[27] + 0x00000034u; /* 02984AFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t81); /* 02984B00 */ _t82 = cpu->r[6] + 0x0000003Cu; /* 02984B00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t82); /* 02984B04 */ cpu->ctr = cpu->r[7]; /* 02984B08 */ cpu->r[4] = cpu->r[28] + 0x00000094u; /* 02984B0C */ cpu->r[3] = cpu->r[27]; /* 02984B10 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984B14 */ _t83 = cpu->r[31] + 0x00000000u; /* 02984B14 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t83); /* 02984B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u); /* 02984B1C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984B1C */ _t85 = _t84 & 0x00000001u; /* 02984B1C */ if (_t85) goto L_02984B20; else goto L_02984BDC; L_02984B20: ; // 0x2984b20 /* 02984B20 */ goto L_02984B94; L_02984B24: ; // 0x2984b24 /* 02984B24 */ cpu->r[0] = 0x24920000u; /* 02984B28 */ _t86 = cpu->r[3] + 0x00000000u; /* 02984B28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t86); /* 02984B2C */ cpu->r[8] = cpu->r[31] - cpu->r[30]; /* 02984B30 */ cpu->r[0] = cpu->r[0] | 0x00004925u; /* 02984B34 */ _t87 = cpu->r[31] + 0x00000000u; /* 02984B34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t87); /* 02984B38 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x00000002u, 0x0000001Fu); /* 02984B3C */ _t88 = cpu->r[11] + 0x00000034u; /* 02984B3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t88); /* 02984B40 */ /* nop */ /* 02984B44 */ cpu->ctr = cpu->r[12]; /* 02984B48 */ _t89 = cpu->r[1] + 0x00000010u; /* 02984B48 */ rbrew_write32(cpu->mem, _t89, cpu->r[7]); /* 02984B4C */ cpu->r[4] = cpu->r[25]; /* 02984B50 */ cpu->r[7] = cpu->r[27]; /* 02984B54 */ cpu->r[5] = cpu->r[1] + 0x00000010u; /* 02984B58 */ rbrew_call_indirect(cpu, cpu->ctr); L_02984B5C: ; // 0x2984b5c /* 02984B5C */ _t90 = cpu->r[27] + 0x00000034u; /* 02984B5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t90); /* 02984B60 */ _t91 = cpu->r[12] + 0x0000001Cu; /* 02984B60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t91); /* 02984B64 */ cpu->ctr = cpu->r[4]; /* 02984B68 */ cpu->r[3] = cpu->r[27]; /* 02984B6C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984B70 */ _t92 = cpu->r[27] + 0x00000034u; /* 02984B70 */ cpu->r[6] = rbrew_read32(cpu->mem, _t92); /* 02984B74 */ _t93 = cpu->r[6] + 0x0000003Cu; /* 02984B74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93); /* 02984B78 */ cpu->ctr = cpu->r[7]; /* 02984B7C */ cpu->r[3] = cpu->r[27]; /* 02984B80 */ cpu->r[4] = cpu->r[28] + 0x00000094u; /* 02984B84 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984B88 */ _t94 = cpu->r[31] + 0x00000000u; /* 02984B88 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t94); /* 02984B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u); /* 02984B90 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984B90 */ _t96 = _t95 & 0x00000001u; /* 02984B90 */ if (_t96) goto L_02984B94; else goto L_02984BDC; L_02984B94: ; // 0x2984b94 /* 02984B94 */ _t97 = cpu->r[27] + 0x00000040u; /* 02984B94 */ cpu->r[5] = rbrew_read16(cpu->mem, _t97); /* 02984B98 */ cpu->r[21] = 0x00000000u; /* 02984B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[5]); /* 02984BA0 */ cpu->r[20] = cpu->r[27] + 0x00000038u; /* 02984BA4 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984BA4 */ _t99 = _t98 & 0x00000001u; /* 02984BA4 */ if (_t99) goto L_02984BA8; else goto L_02984BDC; L_02984BA8: ; // 0x2984ba8 /* 02984BA8 */ cpu->r[27] = 0x00000000u; L_02984BAC: ; // 0x2984bac /* 02984BAC */ _t100 = cpu->r[20] + 0x00000000u; /* 02984BAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t100); /* 02984BB0 */ _t101 = cpu->r[9] + cpu->r[27]; /* 02984BB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t101); /* 02984BB4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000011u, 0x0000001Fu); /* 02984BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00007FFFu); /* 02984BBC */ _t102 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984BBC */ _t103 = _t102 & 0x00000001u; /* 02984BBC */ if (_t103) goto L_02984BCC; else goto L_02984BC0; L_02984BC0: ; // 0x2984bc0 /* 02984BC0 */ cpu->r[3] = cpu->r[28]; /* 02984BC4 */ Gambit_fn_02991DA8(cpu); /* 02984BC8 */ _t104 = cpu->r[20] + 0x00000008u; /* 02984BC8 */ cpu->r[5] = rbrew_read16(cpu->mem, _t104); L_02984BCC: ; // 0x2984bcc /* 02984BCC */ cpu->r[21] = cpu->r[21] + 0x00000001u; /* 02984BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[5]); /* 02984BD4 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 02984BD8 */ _t105 = cpu->cr[0] >> (0x00000003u & 31u); /* 02984BD8 */ _t106 = _t105 & 0x00000001u; /* 02984BD8 */ if (_t106) goto L_02984BAC; else goto L_02984BDC; L_02984BDC: ; // 0x2984bdc /* 02984BDC */ cpu->r[31] = cpu->r[31] + 0x0000001Cu; /* 02984BE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]); /* 02984BE4 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984BE4 */ _t108 = _t107 & 0x00000001u; /* 02984BE4 */ if (_t108) goto L_02984BE8; else goto L_02984910; L_02984BE8: ; // 0x2984be8 /* 02984BE8 */ /* nop */ /* 02984BEC */ _t109 = cpu->r[1] + 0x0000004Cu; /* 02984BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t109); /* 02984BF0 */ cpu->lr = cpu->r[0]; /* 02984BF4 */ cpu->r[1] = cpu->r[1] + 0x00000048u; /* 02984BF8 */ return; } // fn_02984BFC @ 0x2984bfc void Gambit_fn_02984BFC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_02984BFC: ; // 0x2984bfc /* 02984BFC */ cpu->r[0] = cpu->lr; /* 02984C00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02984C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02984C00 */ cpu->r[1] = _t0; /* 02984C04 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02984C04 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02984C08 */ _t2 = cpu->r[1] + 0x00000010u; /* 02984C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02984C0C */ _t3 = cpu->r[1] + 0x00000014u; /* 02984C0C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02984C10 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02984C10 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02984C14 */ _t5 = cpu->r[3] + 0x00000074u; /* 02984C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02984C18 */ _t6 = cpu->r[3] + 0x0000007Cu; /* 02984C18 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 02984C1C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02984C20 */ cpu->r[30] = cpu->r[29] + cpu->r[12]; /* 02984C24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02984C28 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984C28 */ _t8 = _t7 & 0x00000001u; /* 02984C28 */ if (_t8) goto L_02984C4C; else goto L_02984C2C; L_02984C2C: ; // 0x2984c2c /* 02984C2C */ cpu->r[31] = 0x101D0000u; L_02984C30: ; // 0x2984c30 /* 02984C30 */ _t9 = cpu->r[29] + 0x00000000u; /* 02984C30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9); /* 02984C34 */ cpu->r[5] = 0x00000001u; /* 02984C38 */ _t10 = cpu->r[31] + 0xFFFFA708u; /* 02984C38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02984C3C */ Gambit_fn_0299C09C(cpu); /* 02984C40 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 02984C44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02984C48 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984C48 */ _t12 = _t11 & 0x00000001u; /* 02984C48 */ if (_t12) goto L_02984C4C; else goto L_02984C30; L_02984C4C: ; // 0x2984c4c /* 02984C4C */ _t13 = cpu->r[1] + 0x0000000Cu; /* 02984C4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 02984C50 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 02984C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02984C54 */ _t15 = cpu->r[1] + 0x00000010u; /* 02984C54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 02984C58 */ cpu->lr = cpu->r[0]; /* 02984C5C */ _t16 = cpu->r[1] + 0x00000014u; /* 02984C5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 02984C60 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02984C64 */ return; } // fn_02984C00 @ 0x2984c00 void Gambit_fn_02984C00(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_02984C00: ; // 0x2984c00 /* 02984C00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02984C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02984C00 */ cpu->r[1] = _t0; /* 02984C04 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02984C04 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02984C08 */ _t2 = cpu->r[1] + 0x00000010u; /* 02984C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02984C0C */ _t3 = cpu->r[1] + 0x00000014u; /* 02984C0C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02984C10 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02984C10 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02984C14 */ _t5 = cpu->r[3] + 0x00000074u; /* 02984C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02984C18 */ _t6 = cpu->r[3] + 0x0000007Cu; /* 02984C18 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 02984C1C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02984C20 */ cpu->r[30] = cpu->r[29] + cpu->r[12]; /* 02984C24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02984C28 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984C28 */ _t8 = _t7 & 0x00000001u; /* 02984C28 */ if (_t8) goto L_02984C4C; else goto L_02984C2C; L_02984C2C: ; // 0x2984c2c /* 02984C2C */ cpu->r[31] = 0x101D0000u; L_02984C30: ; // 0x2984c30 /* 02984C30 */ _t9 = cpu->r[29] + 0x00000000u; /* 02984C30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9); /* 02984C34 */ cpu->r[5] = 0x00000001u; /* 02984C38 */ _t10 = cpu->r[31] + 0xFFFFA708u; /* 02984C38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02984C3C */ Gambit_fn_0299C09C(cpu); /* 02984C40 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 02984C44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02984C48 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984C48 */ _t12 = _t11 & 0x00000001u; /* 02984C48 */ if (_t12) goto L_02984C4C; else goto L_02984C30; L_02984C4C: ; // 0x2984c4c /* 02984C4C */ _t13 = cpu->r[1] + 0x0000000Cu; /* 02984C4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 02984C50 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 02984C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02984C54 */ _t15 = cpu->r[1] + 0x00000010u; /* 02984C54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 02984C58 */ cpu->lr = cpu->r[0]; /* 02984C5C */ _t16 = cpu->r[1] + 0x00000014u; /* 02984C5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 02984C60 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02984C64 */ return; } // fn_02984C68 @ 0x2984c68 void Gambit_fn_02984C68(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; L_02984C68: ; // 0x2984c68 /* 02984C68 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02984C68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02984C68 */ cpu->r[1] = _t0; /* 02984C6C */ cpu->r[0] = cpu->lr; /* 02984C70 */ /* nop */ /* 02984C74 */ cpu->r[28] = cpu->r[3]; /* 02984C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02984C78 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02984C78 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02984C7C */ cpu->r[29] = cpu->r[4]; /* 02984C80 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984C80 */ _t3 = _t2 & 0x00000001u; /* 02984C80 */ if (_t3) goto L_02984EF8; else goto L_02984C84; L_02984C84: ; // 0x2984c84 /* 02984C84 */ cpu->r[11] = 0x10150000u; /* 02984C88 */ _t4 = cpu->r[28] + 0x00000028u; /* 02984C88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4); /* 02984C8C */ cpu->r[0] = 0x10150000u; /* 02984C90 */ cpu->r[11] = cpu->r[11] + 0xFFFFEE44u; /* 02984C94 */ cpu->r[26] = 0x101D0000u; /* 02984C98 */ cpu->r[0] = cpu->r[0] + 0xFFFFEE5Cu; /* 02984C9C */ _t5 = cpu->r[28] + 0x00000000u; /* 02984C9C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]); /* 02984CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02984CA4 */ cpu->r[27] = 0x00000000u; /* 02984CA8 */ _t6 = cpu->r[28] + 0x00000004u; /* 02984CA8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02984CAC */ _t7 = cpu->cr[0] >> (0x00000002u & 31u); /* 02984CAC */ _t8 = _t7 & 0x00000001u; /* 02984CAC */ if (_t8) goto L_02984CB0; else goto L_02984D00; L_02984CB0: ; // 0x2984cb0 /* 02984CB0 */ _t9 = cpu->r[28] + 0x0000002Cu; /* 02984CB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9); /* 02984CB4 */ _t10 = cpu->r[4] + 0x0000003Cu; /* 02984CB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02984CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02984CBC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984CBC */ _t12 = _t11 & 0x00000001u; /* 02984CBC */ if (_t12) goto L_02984CCC; else goto L_02984CC0; L_02984CC0: ; // 0x2984cc0 /* 02984CC0 */ _t13 = cpu->r[4] + 0x0000003Cu; /* 02984CC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 02984CC4 */ Gambit_fn_02801BB0(cpu); /* 02984CC8 */ _t14 = cpu->r[28] + 0x0000002Cu; /* 02984CC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14); L_02984CCC: ; // 0x2984ccc /* 02984CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02984CD0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984CD0 */ _t16 = _t15 & 0x00000001u; /* 02984CD0 */ if (_t16) goto L_02984D00; else goto L_02984CD4; L_02984CD4: ; // 0x2984cd4 /* 02984CD4 */ _t17 = cpu->r[28] + 0x00000028u; /* 02984CD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 02984CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02984CDC */ _t18 = cpu->r[26] + 0xFFFF98F0u; /* 02984CDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18); /* 02984CE0 */ Gambit_fn_02826B90(cpu); /* 02984CE4 */ _t19 = cpu->r[3] + 0x0000000Cu; /* 02984CE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19); /* 02984CE8 */ _t20 = cpu->r[8] + 0x0000003Cu; /* 02984CE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20); /* 02984CEC */ cpu->ctr = cpu->r[9]; /* 02984CF0 */ _t21 = cpu->r[28] + 0x0000002Cu; /* 02984CF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21); /* 02984CF4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984CF8 */ _t22 = cpu->r[28] + 0x00000028u; /* 02984CF8 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]); /* 02984CFC */ _t23 = cpu->r[28] + 0x0000002Cu; /* 02984CFC */ rbrew_write32(cpu->mem, _t23, cpu->r[27]); L_02984D00: ; // 0x2984d00 /* 02984D00 */ _t24 = cpu->r[28] + 0x00000030u; /* 02984D00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24); /* 02984D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02984D08 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u); /* 02984D08 */ _t26 = _t25 & 0x00000001u; /* 02984D08 */ if (_t26) goto L_02984D0C; else goto L_02984D5C; L_02984D0C: ; // 0x2984d0c /* 02984D0C */ _t27 = cpu->r[28] + 0x00000034u; /* 02984D0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t27); /* 02984D10 */ _t28 = cpu->r[4] + 0x00000004u; /* 02984D10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 02984D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02984D18 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984D18 */ _t30 = _t29 & 0x00000001u; /* 02984D18 */ if (_t30) goto L_02984D28; else goto L_02984D1C; L_02984D1C: ; // 0x2984d1c /* 02984D1C */ _t31 = cpu->r[4] + 0x00000004u; /* 02984D1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31); /* 02984D20 */ Gambit_fn_02801BB0(cpu); /* 02984D24 */ _t32 = cpu->r[28] + 0x00000034u; /* 02984D24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32); L_02984D28: ; // 0x2984d28 /* 02984D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02984D2C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984D2C */ _t34 = _t33 & 0x00000001u; /* 02984D2C */ if (_t34) goto L_02984D5C; else goto L_02984D30; L_02984D30: ; // 0x2984d30 /* 02984D30 */ _t35 = cpu->r[28] + 0x00000030u; /* 02984D30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35); /* 02984D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02984D38 */ _t36 = cpu->r[26] + 0xFFFF98F0u; /* 02984D38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36); /* 02984D3C */ Gambit_fn_02826B90(cpu); /* 02984D40 */ _t37 = cpu->r[3] + 0x0000000Cu; /* 02984D40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37); /* 02984D44 */ _t38 = cpu->r[12] + 0x0000003Cu; /* 02984D44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 02984D48 */ cpu->ctr = cpu->r[0]; /* 02984D4C */ _t39 = cpu->r[28] + 0x00000034u; /* 02984D4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t39); /* 02984D50 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984D54 */ _t40 = cpu->r[28] + 0x00000030u; /* 02984D54 */ rbrew_write32(cpu->mem, _t40, cpu->r[27]); /* 02984D58 */ _t41 = cpu->r[28] + 0x00000034u; /* 02984D58 */ rbrew_write32(cpu->mem, _t41, cpu->r[27]); L_02984D5C: ; // 0x2984d5c /* 02984D5C */ cpu->r[3] = cpu->r[28] + 0x00000074u; /* 02984D60 */ Gambit_fn_02802424(cpu); /* 02984D64 */ _t42 = cpu->r[28] + 0x00000008u; /* 02984D64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42); /* 02984D68 */ _t43 = cpu->r[28] + 0x0000000Cu; /* 02984D68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43); /* 02984D6C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000000Cu); /* 02984D70 */ cpu->r[30] = cpu->r[4] + cpu->r[5]; /* 02984D74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 02984D78 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984D78 */ _t45 = _t44 & 0x00000001u; /* 02984D78 */ if (_t45) goto L_02984DCC; else goto L_02984D7C; L_02984D7C: ; // 0x2984d7c /* 02984D7C */ cpu->r[27] = 0x00000000u; /* 02984D80 */ cpu->r[31] = cpu->r[4]; L_02984D84: ; // 0x2984d84 /* 02984D84 */ _t46 = cpu->r[31] + 0x00000004u; /* 02984D84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t46); /* 02984D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02984D8C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984D8C */ _t48 = _t47 & 0x00000001u; /* 02984D8C */ if (_t48) goto L_02984DBC; else goto L_02984D90; L_02984D90: ; // 0x2984d90 /* 02984D90 */ _t49 = cpu->r[31] + 0x00000000u; /* 02984D90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49); /* 02984D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02984D98 */ _t50 = cpu->r[26] + 0xFFFF98F0u; /* 02984D98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50); /* 02984D9C */ Gambit_fn_02826B90(cpu); /* 02984DA0 */ _t51 = cpu->r[3] + 0x0000000Cu; /* 02984DA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51); /* 02984DA4 */ _t52 = cpu->r[6] + 0x0000003Cu; /* 02984DA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52); /* 02984DA8 */ cpu->ctr = cpu->r[8]; /* 02984DAC */ _t53 = cpu->r[31] + 0x00000004u; /* 02984DAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t53); /* 02984DB0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984DB4 */ _t54 = cpu->r[31] + 0x00000000u; /* 02984DB4 */ rbrew_write32(cpu->mem, _t54, cpu->r[27]); /* 02984DB8 */ _t55 = cpu->r[31] + 0x00000004u; /* 02984DB8 */ rbrew_write32(cpu->mem, _t55, cpu->r[27]); L_02984DBC: ; // 0x2984dbc /* 02984DBC */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 02984DC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02984DC4 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984DC4 */ _t57 = _t56 & 0x00000001u; /* 02984DC4 */ if (_t57) goto L_02984DC8; else goto L_02984D84; L_02984DC8: ; // 0x2984dc8 /* 02984DC8 */ _t58 = cpu->r[28] + 0x0000000Cu; /* 02984DC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58); L_02984DCC: ; // 0x2984dcc /* 02984DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02984DD0 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984DD0 */ _t60 = _t59 & 0x00000001u; /* 02984DD0 */ if (_t60) goto L_02984E00; else goto L_02984DD4; L_02984DD4: ; // 0x2984dd4 /* 02984DD4 */ _t61 = cpu->r[28] + 0x00000008u; /* 02984DD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61); /* 02984DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02984DDC */ _t62 = cpu->r[26] + 0xFFFF98F0u; /* 02984DDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t62); /* 02984DE0 */ Gambit_fn_02826B90(cpu); /* 02984DE4 */ _t63 = cpu->r[3] + 0x0000000Cu; /* 02984DE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63); /* 02984DE8 */ _t64 = cpu->r[9] + 0x0000003Cu; /* 02984DE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64); /* 02984DEC */ cpu->ctr = cpu->r[10]; /* 02984DF0 */ _t65 = cpu->r[28] + 0x0000000Cu; /* 02984DF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65); /* 02984DF4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984DF8 */ _t66 = cpu->r[28] + 0x00000008u; /* 02984DF8 */ rbrew_write32(cpu->mem, _t66, cpu->r[27]); /* 02984DFC */ _t67 = cpu->r[28] + 0x0000000Cu; /* 02984DFC */ rbrew_write32(cpu->mem, _t67, cpu->r[27]); L_02984E00: ; // 0x2984e00 /* 02984E00 */ _t68 = cpu->r[28] + 0x00000038u; /* 02984E00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t68); /* 02984E04 */ _t69 = cpu->r[28] + 0x0000003Cu; /* 02984E04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69); /* 02984E08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02984E0C */ cpu->r[30] = cpu->r[4] + cpu->r[0]; /* 02984E10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 02984E14 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984E14 */ _t71 = _t70 & 0x00000001u; /* 02984E14 */ if (_t71) goto L_02984E6C; else goto L_02984E18; L_02984E18: ; // 0x2984e18 /* 02984E18 */ cpu->r[27] = 0x00000000u; /* 02984E1C */ cpu->r[31] = cpu->r[4]; L_02984E20: ; // 0x2984e20 /* 02984E20 */ _t72 = cpu->r[31] + 0x00000008u; /* 02984E20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t72); /* 02984E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02984E28 */ cpu->r[25] = cpu->r[31] + 0x00000004u; /* 02984E2C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984E2C */ _t74 = _t73 & 0x00000001u; /* 02984E2C */ if (_t74) goto L_02984E5C; else goto L_02984E30; L_02984E30: ; // 0x2984e30 /* 02984E30 */ _t75 = cpu->r[25] + 0x00000000u; /* 02984E30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t75); /* 02984E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02984E38 */ _t76 = cpu->r[26] + 0xFFFF98F0u; /* 02984E38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76); /* 02984E3C */ Gambit_fn_02826B90(cpu); /* 02984E40 */ _t77 = cpu->r[3] + 0x0000000Cu; /* 02984E40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77); /* 02984E44 */ _t78 = cpu->r[12] + 0x0000003Cu; /* 02984E44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78); /* 02984E48 */ cpu->ctr = cpu->r[11]; /* 02984E4C */ _t79 = cpu->r[25] + 0x00000004u; /* 02984E4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t79); /* 02984E50 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984E54 */ _t80 = cpu->r[25] + 0x00000000u; /* 02984E54 */ rbrew_write32(cpu->mem, _t80, cpu->r[27]); /* 02984E58 */ _t81 = cpu->r[25] + 0x00000004u; /* 02984E58 */ rbrew_write32(cpu->mem, _t81, cpu->r[27]); L_02984E5C: ; // 0x2984e5c /* 02984E5C */ cpu->r[31] = cpu->r[31] + 0x00000010u; /* 02984E60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02984E64 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984E64 */ _t83 = _t82 & 0x00000001u; /* 02984E64 */ if (_t83) goto L_02984E68; else goto L_02984E20; L_02984E68: ; // 0x2984e68 /* 02984E68 */ _t84 = cpu->r[28] + 0x0000003Cu; /* 02984E68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t84); L_02984E6C: ; // 0x2984e6c /* 02984E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02984E70 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984E70 */ _t86 = _t85 & 0x00000001u; /* 02984E70 */ if (_t86) goto L_02984EA0; else goto L_02984E74; L_02984E74: ; // 0x2984e74 /* 02984E74 */ _t87 = cpu->r[28] + 0x00000038u; /* 02984E74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t87); /* 02984E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02984E7C */ _t88 = cpu->r[26] + 0xFFFF98F0u; /* 02984E7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t88); /* 02984E80 */ Gambit_fn_02826B90(cpu); /* 02984E84 */ _t89 = cpu->r[3] + 0x0000000Cu; /* 02984E84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t89); /* 02984E88 */ _t90 = cpu->r[12] + 0x0000003Cu; /* 02984E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90); /* 02984E8C */ cpu->ctr = cpu->r[0]; /* 02984E90 */ _t91 = cpu->r[28] + 0x0000003Cu; /* 02984E90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t91); /* 02984E94 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02984E98 */ _t92 = cpu->r[28] + 0x00000038u; /* 02984E98 */ rbrew_write32(cpu->mem, _t92, cpu->r[27]); /* 02984E9C */ _t93 = cpu->r[28] + 0x0000003Cu; /* 02984E9C */ rbrew_write32(cpu->mem, _t93, cpu->r[27]); L_02984EA0: ; // 0x2984ea0 /* 02984EA0 */ cpu->r[3] = cpu->r[28]; /* 02984EA4 */ cpu->r[4] = cpu->r[28] + 0x00000040u; /* 02984EA8 */ Gambit_fn_02988C38(cpu); /* 02984EAC */ cpu->r[3] = cpu->r[28]; /* 02984EB0 */ cpu->r[4] = cpu->r[28] + 0x00000048u; /* 02984EB4 */ Gambit_fn_02988D08(cpu); /* 02984EB8 */ cpu->r[3] = cpu->r[28]; /* 02984EBC */ cpu->r[4] = cpu->r[28] + 0x00000050u; /* 02984EC0 */ Gambit_fn_02988DD8(cpu); /* 02984EC4 */ cpu->r[3] = cpu->r[28]; /* 02984EC8 */ cpu->r[4] = cpu->r[28] + 0x00000058u; /* 02984ECC */ Gambit_fn_02988EA8(cpu); /* 02984ED0 */ cpu->r[3] = cpu->r[28]; /* 02984ED4 */ cpu->r[4] = cpu->r[28] + 0x00000060u; /* 02984ED8 */ Gambit_fn_02988F78(cpu); /* 02984EDC */ cpu->r[3] = cpu->r[28]; /* 02984EE0 */ cpu->r[4] = cpu->r[28] + 0x00000068u; /* 02984EE4 */ Gambit_fn_02989048(cpu); /* 02984EE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02984EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02984EEC */ _t94 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984EEC */ _t95 = _t94 & 0x00000001u; /* 02984EEC */ if (_t95) goto L_02984EF8; else goto L_02984EF0; L_02984EF0: ; // 0x2984ef0 /* 02984EF0 */ cpu->r[3] = cpu->r[28]; /* 02984EF4 */ Gambit_fn_02801BB0(cpu); L_02984EF8: ; // 0x2984ef8 /* 02984EF8 */ /* nop */ /* 02984EFC */ _t96 = cpu->r[1] + 0x0000002Cu; /* 02984EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t96); /* 02984F00 */ cpu->lr = cpu->r[0]; /* 02984F04 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02984F08 */ return; } // fn_02984F0C @ 0x2984f0c void Gambit_fn_02984F0C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_02984F0C: ; // 0x2984f0c /* 02984F0C */ cpu->r[11] = cpu->r[3]; /* 02984F10 */ _t0 = cpu->r[11] + 0x00000070u; /* 02984F10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0); /* 02984F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02984F18 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984F18 */ _t2 = _t1 & 0x00000001u; /* 02984F18 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02984F18 */ goto L_02984F1C; L_02984F1C: ; // 0x2984f1c /* 02984F1C */ _t3 = cpu->r[3] + 0x00000000u; /* 02984F1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 02984F20 */ _t4 = cpu->r[12] + 0x0000001Cu; /* 02984F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02984F24 */ cpu->r[7] = cpu->r[4]; /* 02984F28 */ _t5 = cpu->r[11] + 0x0000008Eu; /* 02984F28 */ cpu->r[6] = rbrew_read8(cpu->mem, _t5); /* 02984F2C */ cpu->ctr = cpu->r[0]; /* 02984F30 */ _t6 = cpu->r[11] + 0x00000090u; /* 02984F30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6); /* 02984F34 */ cpu->r[4] = cpu->r[11]; /* 02984F38 */ rbrew_dispatch(cpu, cpu->ctr); return; } // fn_02984F3C @ 0x2984f3c void Gambit_fn_02984F3C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02984F3C: ; // 0x2984f3c /* 02984F3C */ cpu->r[0] = cpu->lr; /* 02984F40 */ _t0 = cpu->r[1] + 0x00000004u; /* 02984F40 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02984F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02984F48 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02984F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02984F48 */ cpu->r[1] = _t1; /* 02984F4C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984F4C */ _t3 = _t2 & 0x00000001u; /* 02984F4C */ if (_t3) goto L_02984F50; else goto L_02984F60; L_02984F50: ; // 0x2984f50 /* 02984F50 */ cpu->r[3] = 0x0000000Cu; /* 02984F54 */ Gambit_fn_02801A78(cpu); /* 02984F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02984F5C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984F5C */ _t5 = _t4 & 0x00000001u; /* 02984F5C */ if (_t5) goto L_02984F74; else goto L_02984F60; L_02984F60: ; // 0x2984f60 /* 02984F60 */ cpu->r[0] = 0x00000004u; /* 02984F64 */ cpu->r[12] = 0x00000000u; /* 02984F68 */ _t6 = cpu->r[3] + 0x00000004u; /* 02984F68 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02984F6C */ _t7 = cpu->r[3] + 0x00000008u; /* 02984F6C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 02984F70 */ _t8 = cpu->r[3] + 0x00000000u; /* 02984F70 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); L_02984F74: ; // 0x2984f74 /* 02984F74 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02984F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02984F78 */ cpu->lr = cpu->r[0]; /* 02984F7C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02984F80 */ return; } // fn_02984F48 @ 0x2984f48 void Gambit_fn_02984F48(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02984F48: ; // 0x2984f48 /* 02984F48 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02984F48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02984F48 */ cpu->r[1] = _t0; /* 02984F4C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984F4C */ _t2 = _t1 & 0x00000001u; /* 02984F4C */ if (_t2) goto L_02984F50; else goto L_02984F60; L_02984F50: ; // 0x2984f50 /* 02984F50 */ cpu->r[3] = 0x0000000Cu; /* 02984F54 */ Gambit_fn_02801A78(cpu); /* 02984F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02984F5C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984F5C */ _t4 = _t3 & 0x00000001u; /* 02984F5C */ if (_t4) goto L_02984F74; else goto L_02984F60; L_02984F60: ; // 0x2984f60 /* 02984F60 */ cpu->r[0] = 0x00000004u; /* 02984F64 */ cpu->r[12] = 0x00000000u; /* 02984F68 */ _t5 = cpu->r[3] + 0x00000004u; /* 02984F68 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02984F6C */ _t6 = cpu->r[3] + 0x00000008u; /* 02984F6C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 02984F70 */ _t7 = cpu->r[3] + 0x00000000u; /* 02984F70 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); L_02984F74: ; // 0x2984f74 /* 02984F74 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 02984F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02984F78 */ cpu->lr = cpu->r[0]; /* 02984F7C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02984F80 */ return; } // fn_02984F84 @ 0x2984f84 void Gambit_fn_02984F84(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_02984F84: ; // 0x2984f84 /* 02984F84 */ cpu->r[0] = cpu->lr; /* 02984F88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02984F88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02984F88 */ cpu->r[1] = _t0; /* 02984F8C */ _t1 = cpu->r[1] + 0x00000008u; /* 02984F8C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02984F90 */ cpu->r[28] = cpu->r[3]; /* 02984F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02984F94 */ _t2 = cpu->r[1] + 0x00000010u; /* 02984F94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02984F98 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02984F98 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02984F9C */ _t4 = cpu->r[1] + 0x00000014u; /* 02984F9C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02984FA0 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02984FA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02984FA4 */ cpu->r[29] = cpu->r[4]; /* 02984FA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984FA8 */ _t7 = _t6 & 0x00000001u; /* 02984FA8 */ if (_t7) goto L_02984FF0; else goto L_02984FAC; L_02984FAC: ; // 0x2984fac /* 02984FAC */ cpu->r[30] = cpu->r[28] + 0x0000000Cu; /* 02984FB0 */ cpu->r[31] = cpu->r[28] + 0x000000E4u; /* 02984FB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02984FB8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984FB8 */ _t9 = _t8 & 0x00000001u; /* 02984FB8 */ if (_t9) goto L_02984FE0; else goto L_02984FBC; L_02984FBC: ; // 0x2984fbc /* 02984FBC */ _t10 = cpu->r[30] + 0x0000003Cu; /* 02984FBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 02984FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02984FC4 */ cpu->r[11] = cpu->r[30] + 0x0000000Cu; /* 02984FC8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984FC8 */ _t12 = _t11 & 0x00000001u; /* 02984FC8 */ if (_t12) goto L_02984FD4; else goto L_02984FCC; L_02984FCC: ; // 0x2984fcc /* 02984FCC */ _t13 = cpu->r[11] + 0x00000030u; /* 02984FCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 02984FD0 */ Gambit_fn_02801BB4(cpu); L_02984FD4: ; // 0x2984fd4 /* 02984FD4 */ cpu->r[30] = cpu->r[30] + 0x0000006Cu; /* 02984FD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02984FDC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984FDC */ _t15 = _t14 & 0x00000001u; /* 02984FDC */ if (_t15) goto L_02984FE0; else goto L_02984FBC; L_02984FE0: ; // 0x2984fe0 /* 02984FE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02984FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02984FE4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984FE4 */ _t17 = _t16 & 0x00000001u; /* 02984FE4 */ if (_t17) goto L_02984FF0; else goto L_02984FE8; L_02984FE8: ; // 0x2984fe8 /* 02984FE8 */ cpu->r[3] = cpu->r[28]; /* 02984FEC */ Gambit_fn_02801BB0(cpu); L_02984FF0: ; // 0x2984ff0 /* 02984FF0 */ _t18 = cpu->r[1] + 0x00000008u; /* 02984FF0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 02984FF4 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02984FF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02984FF8 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02984FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02984FFC */ _t21 = cpu->r[1] + 0x00000010u; /* 02984FFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02985000 */ cpu->lr = cpu->r[0]; /* 02985004 */ _t22 = cpu->r[1] + 0x00000014u; /* 02985004 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 02985008 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298500C */ return; } // fn_02984F88 @ 0x2984f88 void Gambit_fn_02984F88(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_02984F88: ; // 0x2984f88 /* 02984F88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02984F88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02984F88 */ cpu->r[1] = _t0; /* 02984F8C */ _t1 = cpu->r[1] + 0x00000008u; /* 02984F8C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02984F90 */ cpu->r[28] = cpu->r[3]; /* 02984F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02984F94 */ _t2 = cpu->r[1] + 0x00000010u; /* 02984F94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02984F98 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02984F98 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02984F9C */ _t4 = cpu->r[1] + 0x00000014u; /* 02984F9C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02984FA0 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02984FA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02984FA4 */ cpu->r[29] = cpu->r[4]; /* 02984FA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984FA8 */ _t7 = _t6 & 0x00000001u; /* 02984FA8 */ if (_t7) goto L_02984FF0; else goto L_02984FAC; L_02984FAC: ; // 0x2984fac /* 02984FAC */ cpu->r[30] = cpu->r[28] + 0x0000000Cu; /* 02984FB0 */ cpu->r[31] = cpu->r[28] + 0x000000E4u; /* 02984FB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02984FB8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984FB8 */ _t9 = _t8 & 0x00000001u; /* 02984FB8 */ if (_t9) goto L_02984FE0; else goto L_02984FBC; L_02984FBC: ; // 0x2984fbc /* 02984FBC */ _t10 = cpu->r[30] + 0x0000003Cu; /* 02984FBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 02984FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02984FC4 */ cpu->r[11] = cpu->r[30] + 0x0000000Cu; /* 02984FC8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984FC8 */ _t12 = _t11 & 0x00000001u; /* 02984FC8 */ if (_t12) goto L_02984FD4; else goto L_02984FCC; L_02984FCC: ; // 0x2984fcc /* 02984FCC */ _t13 = cpu->r[11] + 0x00000030u; /* 02984FCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 02984FD0 */ Gambit_fn_02801BB4(cpu); L_02984FD4: ; // 0x2984fd4 /* 02984FD4 */ cpu->r[30] = cpu->r[30] + 0x0000006Cu; /* 02984FD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02984FDC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984FDC */ _t15 = _t14 & 0x00000001u; /* 02984FDC */ if (_t15) goto L_02984FE0; else goto L_02984FBC; L_02984FE0: ; // 0x2984fe0 /* 02984FE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02984FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02984FE4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02984FE4 */ _t17 = _t16 & 0x00000001u; /* 02984FE4 */ if (_t17) goto L_02984FF0; else goto L_02984FE8; L_02984FE8: ; // 0x2984fe8 /* 02984FE8 */ cpu->r[3] = cpu->r[28]; /* 02984FEC */ Gambit_fn_02801BB0(cpu); L_02984FF0: ; // 0x2984ff0 /* 02984FF0 */ _t18 = cpu->r[1] + 0x00000008u; /* 02984FF0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 02984FF4 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 02984FF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 02984FF8 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 02984FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 02984FFC */ _t21 = cpu->r[1] + 0x00000010u; /* 02984FFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02985000 */ cpu->lr = cpu->r[0]; /* 02985004 */ _t22 = cpu->r[1] + 0x00000014u; /* 02985004 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 02985008 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298500C */ return; } // fn_02985010 @ 0x2985010 void Gambit_fn_02985010(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_02985010: ; // 0x2985010 /* 02985010 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 02985010 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02985010 */ cpu->r[1] = _t0; /* 02985014 */ /* nop */ /* 02985018 */ _t1 = cpu->r[1] + 0x00000028u; /* 02985018 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0298501C */ /* nop */ /* 02985020 */ _t2 = cpu->r[1] + 0x00000030u; /* 02985020 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 02985024 */ cpu->r[0] = cpu->lr; /* 02985028 */ _t3 = cpu->r[1] + 0x0000003Cu; /* 02985028 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298502C */ cpu->r[24] = cpu->r[4]; /* 02985030 */ _t4 = cpu->r[24] + 0x00000000u; /* 02985030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02985034 */ cpu->r[30] = cpu->r[3]; /* 02985038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298503C */ cpu->r[25] = cpu->r[5]; /* 02985040 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985040 */ _t6 = _t5 & 0x00000001u; /* 02985040 */ if (_t6) goto L_0298507C; else goto L_02985044; L_02985044: ; // 0x2985044 /* 02985044 */ _t7 = cpu->r[24] + 0x00000004u; /* 02985044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02985048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298504C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298504C */ _t9 = _t8 & 0x00000001u; /* 0298504C */ if (_t9) goto L_0298507C; else goto L_02985050; L_02985050: ; // 0x2985050 /* 02985050 */ _t10 = cpu->r[24] + 0x00000008u; /* 02985050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02985054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02985058 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985058 */ _t12 = _t11 & 0x00000001u; /* 02985058 */ if (_t12) goto L_0298507C; else goto L_0298505C; L_0298505C: ; // 0x298505c /* 0298505C */ cpu->r[3] = cpu->r[24]; /* 02985060 */ Gambit_fn_02C53FC4(cpu); /* 02985064 */ cpu->r[31] = cpu->r[30] + 0x000000E4u; /* 02985068 */ cpu->r[30] = cpu->r[30] + 0x0000000Cu; /* 0298506C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02985070 */ cpu->r[26] = cpu->r[3]; /* 02985074 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985074 */ _t14 = _t13 & 0x00000001u; /* 02985074 */ if (_t14) goto L_029850F8; else goto L_02985078; L_02985078: ; // 0x2985078 /* 02985078 */ goto L_02985090; L_0298507C: ; // 0x298507c /* 0298507C */ cpu->r[31] = cpu->r[30] + 0x000000E4u; /* 02985080 */ cpu->r[30] = cpu->r[30] + 0x0000000Cu; /* 02985084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 02985088 */ cpu->r[26] = 0x00000000u; /* 0298508C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298508C */ _t16 = _t15 & 0x00000001u; /* 0298508C */ if (_t16) goto L_029850F8; else goto L_02985090; L_02985090: ; // 0x2985090 /* 02985090 */ cpu->r[10] = 0x10150000u; /* 02985094 */ cpu->r[28] = 0x02C50000u; /* 02985098 */ cpu->r[27] = 0xFFFFFFFFu; /* 0298509C */ _t17 = cpu->r[10] + 0xFFFFEE20u; /* 0298509C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17); /* 029850A0 */ cpu->r[28] = cpu->r[28] + 0xFFFFF0A4u; L_029850A4: ; // 0x29850a4 /* 029850A4 */ _t18 = cpu->r[30] + 0x00000068u; /* 029850A4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[31]); /* 029850A8 */ cpu->r[29] = cpu->r[30] + 0x0000000Cu; /* 029850AC */ _t19 = cpu->r[30] + 0x00000000u; /* 029850AC */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[27]); /* 029850B0 */ _t20 = cpu->r[30] + 0x00000002u; /* 029850B0 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[27]); /* 029850B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 029850B8 */ _t21 = cpu->r[30] + 0x00000008u; /* 029850B8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]); /* 029850BC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 029850BC */ _t23 = _t22 & 0x00000001u; /* 029850BC */ if (_t23) goto L_029850E4; else goto L_029850C0; L_029850C0: ; // 0x29850c0 /* 029850C0 */ cpu->r[5] = 0x00000040u; /* 029850C4 */ cpu->r[4] = cpu->r[25]; /* 029850C8 */ cpu->r[3] = cpu->r[26]; /* 029850CC */ Gambit_fn_02801ADC(cpu); /* 029850D0 */ cpu->r[5] = cpu->r[3]; /* 029850D4 */ cpu->r[6] = cpu->r[26]; /* 029850D8 */ cpu->r[4] = cpu->r[24]; /* 029850DC */ cpu->r[3] = cpu->r[29]; /* 029850E0 */ Gambit_fn_02C53E8C(cpu); L_029850E4: ; // 0x29850e4 /* 029850E4 */ _t24 = cpu->r[29] + 0x00000000u; /* 029850E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 029850E8 */ cpu->r[30] = cpu->r[30] + 0x0000006Cu; /* 029850EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]); /* 029850F0 */ _t25 = cpu->r[12] + 0x00000010u; /* 029850F0 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]); /* 029850F4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 029850F4 */ _t27 = _t26 & 0x00000001u; /* 029850F4 */ if (_t27) goto L_029850F8; else goto L_029850A4; L_029850F8: ; // 0x29850f8 /* 029850F8 */ /* nop */ /* 029850FC */ _t28 = cpu->r[1] + 0x00000030u; /* 029850FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28); /* 02985100 */ _t29 = cpu->r[1] + 0x00000028u; /* 02985100 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t29); /* 02985104 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985104 */ _t31 = _t30 & 0x00000001u; /* 02985104 */ if (_t31) goto L_02985108; // else: addr-0 trap, fall-through L_02985108: ; // 0x2985108 /* 02985108 */ _t32 = cpu->r[1] + 0x0000003Cu; /* 02985108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0298510C */ cpu->lr = cpu->r[0]; /* 02985110 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 02985114 */ return; } // fn_02985118 @ 0x2985118 void Gambit_fn_02985118(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_02985118: ; // 0x2985118 /* 02985118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298511C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298511C */ _t17 = _t16 & 0x00000001u; /* 0298511C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298511C */ goto L_02985120; L_02985120: ; // 0x2985120 /* 02985120 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02985120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02985124 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985124 */ _t19 = _t18 & 0x00000001u; /* 02985124 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02985124 */ goto L_02985128; L_02985128: ; // 0x2985128 /* 02985128 */ goto L_02801BB0; } // fn_0298512C @ 0x298512c void Gambit_fn_0298512C(CPUState* cpu) { L_0298512C: ; // 0x298512c /* 0298512C */ return; } // fn_02985130 @ 0x2985130 void Gambit_fn_02985130(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02985130: ; // 0x2985130 /* 02985130 */ _t0 = cpu->r[3] + 0x00000000u; /* 02985130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 02985134 */ _t1 = cpu->r[3] + 0x00000008u; /* 02985134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02985138 */ cpu->r[12] = cpu->r[11] + cpu->r[12]; /* 0298513C */ cpu->r[11] = 0x10110000u; /* 02985140 */ _t2 = cpu->r[11] + 0x00007399u; /* 02985140 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 02985144 */ _t3 = cpu->r[12] + 0xFFFFFFFFu; /* 02985144 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]); /* 02985148 */ return; } // fn_0298514C @ 0x298514c void Gambit_fn_0298514C(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_0298514C: ; // 0x298514c /* 0298514C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985150 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985150 */ _t17 = _t16 & 0x00000001u; /* 02985150 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02985150 */ goto L_02985154; L_02985154: ; // 0x2985154 /* 02985154 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02985154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02985158 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985158 */ _t19 = _t18 & 0x00000001u; /* 02985158 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02985158 */ goto L_0298515C; L_0298515C: ; // 0x298515c /* 0298515C */ goto L_02801BB0; } // fn_02985160 @ 0x2985160 void Gambit_fn_02985160(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_02985160: ; // 0x2985160 /* 02985160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985164 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985164 */ _t17 = _t16 & 0x00000001u; /* 02985164 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02985164 */ goto L_02985168; L_02985168: ; // 0x2985168 /* 02985168 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02985168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298516C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298516C */ _t19 = _t18 & 0x00000001u; /* 0298516C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298516C */ goto L_02985170; L_02985170: ; // 0x2985170 /* 02985170 */ goto L_02801BB0; } // fn_02985174 @ 0x2985174 void Gambit_fn_02985174(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_02985174: ; // 0x2985174 /* 02985174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985178 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985178 */ _t17 = _t16 & 0x00000001u; /* 02985178 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02985178 */ goto L_0298517C; L_0298517C: ; // 0x298517c /* 0298517C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298517C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02985180 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985180 */ _t19 = _t18 & 0x00000001u; /* 02985180 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02985180 */ goto L_02985184; L_02985184: ; // 0x2985184 /* 02985184 */ goto L_02801BB0; } // fn_02985188 @ 0x2985188 void Gambit_fn_02985188(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_02985188: ; // 0x2985188 /* 02985188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298518C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298518C */ _t17 = _t16 & 0x00000001u; /* 0298518C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298518C */ goto L_02985190; L_02985190: ; // 0x2985190 /* 02985190 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02985190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02985194 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985194 */ _t19 = _t18 & 0x00000001u; /* 02985194 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02985194 */ goto L_02985198; L_02985198: ; // 0x2985198 /* 02985198 */ goto L_02801BB0; } // fn_0298519C @ 0x298519c void Gambit_fn_0298519C(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_0298519C: ; // 0x298519c /* 0298519C */ cpu->r[0] = cpu->lr; /* 029851A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029851A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029851A0 */ cpu->r[1] = _t0; /* 029851A4 */ _t1 = cpu->r[1] + 0x00000010u; /* 029851A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 029851A8 */ _t2 = cpu->r[1] + 0x00000008u; /* 029851A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 029851AC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 029851AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 029851B0 */ _t4 = cpu->r[1] + 0x00000014u; /* 029851B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 029851B4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029851B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029851B8 */ _t6 = cpu->r[3] + 0x00000014u; /* 029851B8 */ cpu->r[28] = rbrew_read16(cpu->mem, _t6); /* 029851BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029851C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029851C0 */ _t8 = _t7 & 0x00000001u; /* 029851C0 */ if (_t8) goto L_02985254; else goto L_029851C4; L_029851C4: ; // 0x29851c4 /* 029851C4 */ cpu->r[30] = cpu->r[3] + 0x0000002Cu; /* 029851C8 */ cpu->r[31] = cpu->r[4] + 0x00000018u; /* 029851CC */ cpu->r[29] = 0x00000000u; L_029851D0: ; // 0x29851d0 /* 029851D0 */ _t9 = cpu->r[30] + 0x00000000u; /* 029851D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 029851D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 029851D8 */ cpu->r[8] = 0x00000000u; /* 029851DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029851DC */ _t11 = _t10 & 0x00000001u; /* 029851DC */ if (_t11) goto L_029851E4; else goto L_029851E0; L_029851E0: ; // 0x29851e0 /* 029851E0 */ cpu->r[8] = cpu->r[30] + cpu->r[10]; L_029851E4: ; // 0x29851e4 /* 029851E4 */ cpu->r[12] = cpu->r[8] + cpu->r[29]; /* 029851E8 */ _t12 = cpu->r[12] + 0x00000010u; /* 029851E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 029851EC */ cpu->r[9] = cpu->r[12] + 0x00000010u; /* 029851F0 */ cpu->r[4] = 0x00000000u; /* 029851F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 029851F8 */ _t13 = cpu->r[31] + 0x00000000u; /* 029851F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 029851FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 029851FC */ _t15 = _t14 & 0x00000001u; /* 029851FC */ if (_t15) goto L_02985208; else goto L_02985200; L_02985200: ; // 0x2985200 /* 02985200 */ cpu->r[7] = cpu->r[9] + cpu->r[11]; /* 02985204 */ cpu->r[4] = cpu->r[7] + 0xFFFFFFFCu; L_02985208: ; // 0x2985208 /* 02985208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298520C */ cpu->r[3] = 0x00000000u; /* 02985210 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985210 */ _t17 = _t16 & 0x00000001u; /* 02985210 */ if (_t17) goto L_02985218; else goto L_02985214; L_02985214: ; // 0x2985214 /* 02985214 */ cpu->r[3] = cpu->r[31] + cpu->r[0]; L_02985218: ; // 0x2985218 /* 02985218 */ Gambit_fn_02C605E4(cpu); /* 0298521C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985220 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985220 */ _t19 = _t18 & 0x00000001u; /* 02985220 */ if (_t19) goto L_02985248; else goto L_02985224; L_02985224: ; // 0x2985224 /* 02985224 */ _t20 = cpu->r[1] + 0x00000008u; /* 02985224 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20); /* 02985228 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02985228 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0298522C */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0298522C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02985230 */ _t23 = cpu->r[1] + 0x00000010u; /* 02985230 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02985234 */ cpu->lr = cpu->r[0]; /* 02985238 */ _t24 = cpu->r[1] + 0x00000014u; /* 02985238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0298523C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02985240 */ cpu->r[3] = 0x00000001u; /* 02985244 */ return; L_02985248: ; // 0x2985248 /* 02985248 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02985248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298524C */ cpu->r[29] = cpu->r[29] + 0x00000020u; /* 02985250 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985250 */ _t26 = _t25 & 0x00000001u; /* 02985250 */ if (_t26) goto L_02985254; else goto L_029851D0; L_02985254: ; // 0x2985254 /* 02985254 */ _t27 = cpu->r[1] + 0x00000008u; /* 02985254 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27); /* 02985258 */ _t28 = cpu->r[1] + 0x0000000Cu; /* 02985258 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28); /* 0298525C */ _t29 = cpu->r[1] + 0x0000001Cu; /* 0298525C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 02985260 */ _t30 = cpu->r[1] + 0x00000010u; /* 02985260 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30); /* 02985264 */ cpu->lr = cpu->r[0]; /* 02985268 */ _t31 = cpu->r[1] + 0x00000014u; /* 02985268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31); /* 0298526C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02985270 */ cpu->r[3] = 0x00000000u; /* 02985274 */ return; } // fn_029851A0 @ 0x29851a0 void Gambit_fn_029851A0(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_029851A0: ; // 0x29851a0 /* 029851A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029851A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029851A0 */ cpu->r[1] = _t0; /* 029851A4 */ _t1 = cpu->r[1] + 0x00000010u; /* 029851A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 029851A8 */ _t2 = cpu->r[1] + 0x00000008u; /* 029851A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 029851AC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 029851AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 029851B0 */ _t4 = cpu->r[1] + 0x00000014u; /* 029851B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 029851B4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029851B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029851B8 */ _t6 = cpu->r[3] + 0x00000014u; /* 029851B8 */ cpu->r[28] = rbrew_read16(cpu->mem, _t6); /* 029851BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029851C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029851C0 */ _t8 = _t7 & 0x00000001u; /* 029851C0 */ if (_t8) goto L_02985254; else goto L_029851C4; L_029851C4: ; // 0x29851c4 /* 029851C4 */ cpu->r[30] = cpu->r[3] + 0x0000002Cu; /* 029851C8 */ cpu->r[31] = cpu->r[4] + 0x00000018u; /* 029851CC */ cpu->r[29] = 0x00000000u; L_029851D0: ; // 0x29851d0 /* 029851D0 */ _t9 = cpu->r[30] + 0x00000000u; /* 029851D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 029851D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 029851D8 */ cpu->r[8] = 0x00000000u; /* 029851DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029851DC */ _t11 = _t10 & 0x00000001u; /* 029851DC */ if (_t11) goto L_029851E4; else goto L_029851E0; L_029851E0: ; // 0x29851e0 /* 029851E0 */ cpu->r[8] = cpu->r[30] + cpu->r[10]; L_029851E4: ; // 0x29851e4 /* 029851E4 */ cpu->r[12] = cpu->r[8] + cpu->r[29]; /* 029851E8 */ _t12 = cpu->r[12] + 0x00000010u; /* 029851E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 029851EC */ cpu->r[9] = cpu->r[12] + 0x00000010u; /* 029851F0 */ cpu->r[4] = 0x00000000u; /* 029851F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 029851F8 */ _t13 = cpu->r[31] + 0x00000000u; /* 029851F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 029851FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 029851FC */ _t15 = _t14 & 0x00000001u; /* 029851FC */ if (_t15) goto L_02985208; else goto L_02985200; L_02985200: ; // 0x2985200 /* 02985200 */ cpu->r[7] = cpu->r[9] + cpu->r[11]; /* 02985204 */ cpu->r[4] = cpu->r[7] + 0xFFFFFFFCu; L_02985208: ; // 0x2985208 /* 02985208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298520C */ cpu->r[3] = 0x00000000u; /* 02985210 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985210 */ _t17 = _t16 & 0x00000001u; /* 02985210 */ if (_t17) goto L_02985218; else goto L_02985214; L_02985214: ; // 0x2985214 /* 02985214 */ cpu->r[3] = cpu->r[31] + cpu->r[0]; L_02985218: ; // 0x2985218 /* 02985218 */ Gambit_fn_02C605E4(cpu); /* 0298521C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985220 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985220 */ _t19 = _t18 & 0x00000001u; /* 02985220 */ if (_t19) goto L_02985248; else goto L_02985224; L_02985224: ; // 0x2985224 /* 02985224 */ _t20 = cpu->r[1] + 0x00000008u; /* 02985224 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20); /* 02985228 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02985228 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0298522C */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0298522C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02985230 */ _t23 = cpu->r[1] + 0x00000010u; /* 02985230 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02985234 */ cpu->lr = cpu->r[0]; /* 02985238 */ _t24 = cpu->r[1] + 0x00000014u; /* 02985238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0298523C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02985240 */ cpu->r[3] = 0x00000001u; /* 02985244 */ return; L_02985248: ; // 0x2985248 /* 02985248 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02985248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298524C */ cpu->r[29] = cpu->r[29] + 0x00000020u; /* 02985250 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985250 */ _t26 = _t25 & 0x00000001u; /* 02985250 */ if (_t26) goto L_02985254; else goto L_029851D0; L_02985254: ; // 0x2985254 /* 02985254 */ _t27 = cpu->r[1] + 0x00000008u; /* 02985254 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27); /* 02985258 */ _t28 = cpu->r[1] + 0x0000000Cu; /* 02985258 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28); /* 0298525C */ _t29 = cpu->r[1] + 0x0000001Cu; /* 0298525C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 02985260 */ _t30 = cpu->r[1] + 0x00000010u; /* 02985260 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30); /* 02985264 */ cpu->lr = cpu->r[0]; /* 02985268 */ _t31 = cpu->r[1] + 0x00000014u; /* 02985268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31); /* 0298526C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02985270 */ cpu->r[3] = 0x00000000u; /* 02985274 */ return; } // fn_02985278 @ 0x2985278 void Gambit_fn_02985278(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; L_02985278: ; // 0x2985278 /* 02985278 */ _t0 = cpu->r[1] + 0xFFFFFB78u; /* 02985278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02985278 */ cpu->r[1] = _t0; /* 0298527C */ /* nop */ /* 02985280 */ cpu->r[0] = cpu->lr; /* 02985284 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02985284 */ rbrew_write32(cpu->mem, _t1, cpu->r[3]); /* 02985288 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02985288 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]); /* 0298528C */ _t3 = cpu->r[1] + 0x0000048Cu; /* 0298528C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02985290 */ cpu->r[29] = cpu->r[6]; /* 02985294 */ cpu->r[31] = cpu->r[7]; /* 02985294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02985298 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02985298 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]); /* 0298529C */ cpu->r[30] = cpu->r[9]; /* 029852A0 */ _t5 = cpu->r[1] + 0x00000014u; /* 029852A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 029852A4 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u); /* 029852A4 */ _t7 = _t6 & 0x00000001u; /* 029852A4 */ if (_t7) goto L_029852C0; else goto L_029852A8; L_029852A8: ; // 0x29852a8 /* 029852A8 */ /* nop */ /* 029852AC */ _t8 = cpu->r[1] + 0x0000048Cu; /* 029852AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 029852B0 */ cpu->lr = cpu->r[0]; /* 029852B4 */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 029852B8 */ cpu->r[3] = 0x00000000u; /* 029852BC */ return; L_029852C0: ; // 0x29852c0 /* 029852C0 */ cpu->r[0] = 0x00000000u; /* 029852C4 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 029852C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 029852C8 */ cpu->r[4] = 0x101D0000u; /* 029852CC */ _t10 = cpu->r[1] + 0x00000020u; /* 029852CC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 029852D0 */ cpu->r[4] = cpu->r[4] + 0xFFFF98F0u; /* 029852D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029852D8 */ _t11 = cpu->r[1] + 0x00000024u; /* 029852D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]); /* 029852DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029852DC */ _t13 = _t12 & 0x00000001u; /* 029852DC */ if (_t13) goto L_029852E0; else goto L_029852EC; L_029852E0: ; // 0x29852e0 /* 029852E0 */ _t14 = cpu->r[1] + 0x00000024u; /* 029852E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 029852E4 */ _t15 = cpu->r[12] + 0x00000000u; /* 029852E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 029852E8 */ Gambit_fn_02826F20(cpu); L_029852EC: ; // 0x29852ec /* 029852EC */ _t16 = cpu->r[3] + 0x0000000Cu; /* 029852EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 029852F0 */ _t17 = cpu->r[8] + 0x00000034u; /* 029852F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 029852F4 */ cpu->ctr = cpu->r[0]; /* 029852F8 */ cpu->r[5] = 0x00000004u; /* 029852FC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 02985300 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02985304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02985308 */ cpu->r[12] = cpu->r[31]; /* 0298530C */ cpu->r[11] = 0x00000000u; /* 02985310 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 02985310 */ _t19 = _t18 & 0x00000001u; /* 02985310 */ if (_t19) goto L_02985318; else goto L_02985314; L_02985314: ; // 0x2985314 /* 02985314 */ cpu->r[12] = 0x00000001u; L_02985318: ; // 0x2985318 /* 02985318 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Cu); /* 0298531C */ cpu->ctr = cpu->r[12]; /* 02985320 */ cpu->r[6] = 0x00000000u; L_02985324: ; // 0x2985324 /* 02985324 */ cpu->r[8] = cpu->r[3] + cpu->r[11]; /* 02985324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02985328 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985328 */ _t21 = _t20 & 0x00000001u; /* 02985328 */ if (_t21) goto L_02985334; else goto L_0298532C; L_0298532C: ; // 0x298532c /* 0298532C */ _t22 = cpu->r[8] + 0x00000008u; /* 0298532C */ rbrew_write32(cpu->mem, _t22, cpu->r[6]); /* 02985330 */ _t23 = cpu->r[8] + 0x00000004u; /* 02985330 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]); L_02985334: ; // 0x2985334 /* 02985334 */ cpu->r[11] = cpu->r[11] + 0x0000000Cu; /* 02985338 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02985338 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02985338 */ _t25 = _t24 >> (0x00000002u & 31u); /* 02985338 */ _t26 = _t25 & 0x00000001u; /* 02985338 */ if (_t26) goto L_02985324; else goto L_0298533C; L_0298533C: ; // 0x298533c /* 0298533C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985340 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985340 */ _t28 = _t27 & 0x00000001u; /* 02985340 */ if (_t28) goto L_02985350; else goto L_02985344; L_02985344: ; // 0x2985344 /* 02985344 */ _t29 = cpu->r[1] + 0x00000014u; /* 02985344 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29); /* 02985348 */ _t30 = cpu->r[11] + 0x00000000u; /* 02985348 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]); /* 0298534C */ _t31 = cpu->r[11] + 0x00000004u; /* 0298534C */ rbrew_write32(cpu->mem, _t31, cpu->r[3]); L_02985350: ; // 0x2985350 /* 02985350 */ _t32 = cpu->r[1] + 0x0000002Cu; /* 02985350 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32); /* 02985354 */ _t33 = cpu->r[7] + 0x00000074u; /* 02985354 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33); /* 02985358 */ _t34 = cpu->r[7] + 0x0000007Cu; /* 02985358 */ cpu->r[14] = rbrew_read32(cpu->mem, _t34); /* 0298535C */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02985360 */ cpu->r[0] = cpu->r[14] + cpu->r[6]; /* 02985364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[0]); /* 02985368 */ _t35 = cpu->r[1] + 0x00000010u; /* 02985368 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]); /* 0298536C */ cpu->r[0] = 0x00000000u; /* 02985370 */ _t36 = cpu->r[1] + 0x00000018u; /* 02985370 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]); /* 02985374 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985374 */ _t38 = _t37 & 0x00000001u; /* 02985374 */ if (_t38) goto L_02985748; else goto L_02985378; L_02985378: ; // 0x2985378 /* 02985378 */ _t39 = cpu->r[14] + 0x00000000u; /* 02985378 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39); /* 0298537C */ _t40 = cpu->r[4] + 0x0000001Cu; /* 0298537C */ cpu->r[12] = rbrew_read32(cpu->mem, _t40); /* 02985380 */ _t41 = cpu->r[12] + 0x00000056u; /* 02985380 */ cpu->r[9] = rbrew_read16(cpu->mem, _t41); /* 02985384 */ cpu->r[6] = 0x00000000u; /* 02985388 */ _t42 = cpu->r[1] + 0x00000034u; /* 02985388 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]); /* 0298538C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02985390 */ _t43 = cpu->r[1] + 0x00000008u; /* 02985390 */ rbrew_write32(cpu->mem, _t43, cpu->r[6]); /* 02985394 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985394 */ _t45 = _t44 & 0x00000001u; /* 02985394 */ if (_t45) goto L_02985738; else goto L_02985398; L_02985398: ; // 0x2985398 /* 02985398 */ _t46 = cpu->r[1] + 0x0000001Cu; /* 02985398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46); /* 0298539C */ cpu->r[5] = 0x00000000u; /* 029853A0 */ cpu->r[28] = cpu->r[29] + 0x0000000Cu; /* 029853A4 */ _t47 = cpu->r[1] + 0x00000038u; /* 029853A4 */ rbrew_write32(cpu->mem, _t47, cpu->r[5]); /* 029853A8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029853AC */ _t48 = cpu->r[1] + 0x00000028u; /* 029853AC */ rbrew_write32(cpu->mem, _t48, cpu->r[5]); /* 029853B0 */ cpu->r[27] = cpu->r[29] + 0x00000008u; /* 029853B4 */ cpu->r[26] = cpu->r[29] + 0x00000004u; /* 029853B8 */ _t49 = cpu->r[1] + 0x00000030u; /* 029853B8 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]); /* 029853BC */ _t50 = cpu->r[4] + 0x0000001Cu; /* 029853BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t50); /* 029853C0 */ cpu->r[31] = 0x00000000u; /* 029853C4 */ _t51 = cpu->r[9] + 0x0000002Cu; /* 029853C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t51); /* 029853C8 */ cpu->r[10] = cpu->r[31]; /* 029853CC */ cpu->r[6] = cpu->r[9] + 0x0000002Cu; /* 029853D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 029853D4 */ _t52 = cpu->r[1] + 0x00000008u; /* 029853D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52); /* 029853D8 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 029853D8 */ _t54 = _t53 & 0x00000001u; /* 029853D8 */ if (_t54) goto L_029853E0; else goto L_029853DC; L_029853DC: ; // 0x29853dc /* 029853DC */ cpu->r[10] = cpu->r[6] + cpu->r[4]; L_029853E0: ; // 0x29853e0 /* 029853E0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 029853E4 */ cpu->r[6] = cpu->r[10] + cpu->r[4]; /* 029853E8 */ _t55 = cpu->r[6] + 0x00000024u; /* 029853E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55); /* 029853EC */ cpu->r[10] = 0x00000000u; /* 029853F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 029853F4 */ cpu->r[11] = cpu->r[6] + 0x00000024u; /* 029853F8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 029853F8 */ _t57 = _t56 & 0x00000001u; /* 029853F8 */ if (_t57) goto L_02985400; else goto L_029853FC; L_029853FC: ; // 0x29853fc /* 029853FC */ cpu->r[10] = cpu->r[11] + cpu->r[5]; L_02985400: ; // 0x2985400 /* 02985400 */ cpu->r[20] = cpu->r[10]; /* 02985404 */ _t58 = cpu->r[26] + 0x00000000u; /* 02985404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 02985408 */ _t59 = cpu->r[20] + 0x00000014u; /* 02985408 */ cpu->r[0] = rbrew_read16(cpu->mem, _t59); /* 0298540C */ cpu->r[12] = cpu->r[1] + 0x0000003Cu; /* 02985410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 02985414 */ _t60 = cpu->r[1] + 0x0000003Cu; /* 02985414 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]); /* 02985418 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985418 */ _t62 = _t61 & 0x00000001u; /* 02985418 */ if (_t62) goto L_02985420; else goto L_0298541C; L_0298541C: ; // 0x298541c /* 0298541C */ cpu->r[12] = cpu->r[26]; L_02985420: ; // 0x2985420 /* 02985420 */ _t63 = cpu->r[12] + 0x00000000u; /* 02985420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63); /* 02985424 */ _t64 = cpu->r[26] + 0x00000000u; /* 02985424 */ rbrew_write32(cpu->mem, _t64, cpu->r[12]); /* 02985428 */ _t65 = cpu->r[20] + 0x00000018u; /* 02985428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65); /* 0298542C */ _t66 = cpu->r[27] + 0x00000000u; /* 0298542C */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 02985430 */ _t67 = cpu->r[1] + 0x0000003Cu; /* 02985430 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]); /* 02985434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 02985438 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu; /* 0298543C */ _t68 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298543C */ _t69 = _t68 & 0x00000001u; /* 0298543C */ if (_t69) goto L_02985444; else goto L_02985440; L_02985440: ; // 0x2985440 /* 02985440 */ cpu->r[4] = cpu->r[27]; L_02985444: ; // 0x2985444 /* 02985444 */ _t70 = cpu->r[4] + 0x00000000u; /* 02985444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70); /* 02985448 */ _t71 = cpu->r[27] + 0x00000000u; /* 02985448 */ rbrew_write32(cpu->mem, _t71, cpu->r[0]); /* 0298544C */ _t72 = cpu->r[20] + 0x0000001Cu; /* 0298544C */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 02985450 */ _t73 = cpu->r[28] + 0x00000000u; /* 02985450 */ cpu->r[6] = rbrew_read32(cpu->mem, _t73); /* 02985454 */ _t74 = cpu->r[1] + 0x0000003Cu; /* 02985454 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]); /* 02985458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[0]); /* 0298545C */ cpu->r[5] = cpu->r[1] + 0x0000003Cu; /* 02985460 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985460 */ _t76 = _t75 & 0x00000001u; /* 02985460 */ if (_t76) goto L_02985468; else goto L_02985464; L_02985464: ; // 0x2985464 /* 02985464 */ cpu->r[5] = cpu->r[28]; L_02985468: ; // 0x2985468 /* 02985468 */ _t77 = cpu->r[5] + 0x00000000u; /* 02985468 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77); /* 0298546C */ _t78 = cpu->r[1] + 0x00000028u; /* 0298546C */ cpu->r[7] = rbrew_read32(cpu->mem, _t78); /* 02985470 */ _t79 = cpu->r[28] + 0x00000000u; /* 02985470 */ rbrew_write32(cpu->mem, _t79, cpu->r[8]); /* 02985474 */ _t80 = cpu->r[20] + 0x0000000Cu; /* 02985474 */ cpu->r[5] = rbrew_read32(cpu->mem, _t80); /* 02985478 */ _t81 = cpu->r[29] + 0x00000018u; /* 02985478 */ rbrew_write32(cpu->mem, _t81, cpu->r[7]); /* 0298547C */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02985480 */ _t82 = cpu->r[29] + 0x00000014u; /* 02985480 */ rbrew_write32(cpu->mem, _t82, cpu->r[7]); /* 02985484 */ cpu->r[6] = cpu->r[10] ^ 0x00000001u; /* 02985488 */ _t83 = cpu->r[29] + 0x00000011u; /* 02985488 */ cpu->r[10] = rbrew_read8(cpu->mem, _t83); /* 0298548C */ _t84 = cpu->r[1] + 0x00000014u; /* 0298548C */ cpu->r[9] = rbrew_read32(cpu->mem, _t84); /* 02985490 */ cpu->r[10] = cpu->r[10] | cpu->r[6]; /* 02985494 */ _t85 = cpu->r[1] + 0x00000018u; /* 02985494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85); /* 02985498 */ _t86 = cpu->r[29] + 0x00000011u; /* 02985498 */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[10]); /* 0298549C */ _t87 = cpu->r[9] + 0x00000000u; /* 0298549C */ cpu->r[12] = rbrew_read32(cpu->mem, _t87); /* 029854A0 */ cpu->r[7] = cpu->r[0]; /* 029854A4 */ _t88 = cpu->r[9] + 0x00000004u; /* 029854A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t88); /* 029854A8 */ cpu->r[5] = cpu->r[7] + 0x00000001u; /* 029854AC */ _t89 = cpu->r[14] + 0x00000000u; /* 029854AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t89); /* 029854B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 029854B4 */ _t90 = cpu->r[1] + 0x00000018u; /* 029854B4 */ rbrew_write32(cpu->mem, _t90, cpu->r[5]); /* 029854B8 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u); /* 029854B8 */ _t92 = _t91 & 0x00000001u; /* 029854B8 */ if (_t92) goto L_029854BC; else goto L_029854FC; L_029854BC: ; // 0x29854bc /* 029854BC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 029854C0 */ _t93 = cpu->r[1] + 0x00000030u; /* 029854C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93); /* 029854C4 */ cpu->r[7] = cpu->r[7] + cpu->r[0]; /* 029854C8 */ _t94 = cpu->r[1] + 0x00000038u; /* 029854C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94); /* 029854CC */ cpu->r[21] = cpu->r[8] + cpu->r[4]; /* 029854D0 */ _t95 = cpu->r[7] + 0x0000002Cu; /* 029854D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95); /* 029854D4 */ _t96 = cpu->r[1] + 0x0000002Cu; /* 029854D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t96); /* 029854D8 */ cpu->r[8] = cpu->r[10] + cpu->r[0]; /* 029854DC */ _t97 = cpu->r[21] + 0x00000000u; /* 029854DC */ rbrew_write32(cpu->mem, _t97, cpu->r[8]); /* 029854E0 */ _t98 = cpu->r[9] + 0x00000008u; /* 029854E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t98); /* 029854E4 */ _t99 = cpu->r[9] + 0x0000000Cu; /* 029854E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t99); /* 029854E8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu); /* 029854EC */ cpu->r[9] = cpu->r[11] + cpu->r[0]; /* 029854F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]); /* 029854F4 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u); /* 029854F4 */ _t101 = _t100 & 0x00000001u; /* 029854F4 */ if (_t101) goto L_0298562C; else goto L_029854F8; L_029854F8: ; // 0x29854f8 /* 029854F8 */ goto L_02985534; L_029854FC: ; // 0x29854fc /* 029854FC */ _t102 = cpu->r[1] + 0x00000030u; /* 029854FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t102); /* 02985500 */ cpu->r[7] = cpu->r[7] + cpu->r[0]; /* 02985504 */ _t103 = cpu->r[1] + 0x00000038u; /* 02985504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103); /* 02985508 */ _t104 = cpu->r[7] + 0x0000002Cu; /* 02985508 */ cpu->r[10] = rbrew_read32(cpu->mem, _t104); /* 0298550C */ cpu->r[21] = cpu->r[8]; /* 02985510 */ _t105 = cpu->r[1] + 0x0000002Cu; /* 02985510 */ cpu->r[9] = rbrew_read32(cpu->mem, _t105); /* 02985514 */ cpu->r[8] = cpu->r[10] + cpu->r[0]; /* 02985518 */ _t106 = cpu->r[21] + 0x00000000u; /* 02985518 */ rbrew_write32(cpu->mem, _t106, cpu->r[8]); /* 0298551C */ _t107 = cpu->r[9] + 0x00000008u; /* 0298551C */ cpu->r[6] = rbrew_read32(cpu->mem, _t107); /* 02985520 */ _t108 = cpu->r[9] + 0x0000000Cu; /* 02985520 */ cpu->r[11] = rbrew_read32(cpu->mem, _t108); /* 02985524 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu); /* 02985528 */ cpu->r[9] = cpu->r[11] + cpu->r[0]; /* 0298552C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]); /* 02985530 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985530 */ _t110 = _t109 & 0x00000001u; /* 02985530 */ if (_t110) goto L_0298562C; else goto L_02985534; L_02985534: ; // 0x2985534 /* 02985534 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02985538 */ cpu->r[8] = cpu->r[1] + 0x00000040u; /* 0298553C */ cpu->r[17] = cpu->r[11]; /* 02985540 */ cpu->r[18] = cpu->r[11]; /* 02985544 */ cpu->r[22] = 0x101D0000u; /* 02985548 */ cpu->r[23] = cpu->r[9]; /* 0298554C */ cpu->r[19] = cpu->r[8] + cpu->r[6]; /* 02985550 */ cpu->r[24] = 0x101D0000u; /* 02985554 */ cpu->r[25] = 0x00000001u; L_02985558: ; // 0x2985558 /* 02985558 */ cpu->r[0] = 0xAAAA0000u; /* 0298555C */ cpu->r[10] = cpu->r[17] - cpu->r[18]; /* 02985560 */ cpu->r[0] = cpu->r[0] | 0x0000AAABu; /* 02985564 */ /* nop */ /* 02985568 */ cpu->r[15] = rbrew_rlwinm(cpu->r[15], 0x0000001Du, 0x00000003u, 0x0000001Fu); /* 0298556C */ cpu->r[16] = cpu->r[15]; /* 02985570 */ cpu->r[3] = cpu->r[30]; /* 02985574 */ cpu->r[4] = cpu->r[16]; /* 02985578 */ Gambit_fn_0297FC7C(cpu); /* 0298557C */ _t111 = cpu->r[30] + 0x0000001Cu; /* 0298557C */ cpu->r[5] = rbrew_read32(cpu->mem, _t111); /* 02985580 */ cpu->r[7] = 0x00000000u; /* 02985584 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[5]); /* 02985588 */ _t112 = cpu->r[24] + 0xFFFFE218u; /* 02985588 */ cpu->r[9] = rbrew_read32(cpu->mem, _t112); /* 0298558C */ _t113 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298558C */ _t114 = _t113 & 0x00000001u; /* 0298558C */ if (_t114) goto L_02985590; else goto L_0298559C; L_02985590: ; // 0x2985590 /* 02985590 */ _t115 = cpu->r[30] + 0x00000024u; /* 02985590 */ cpu->r[8] = rbrew_read32(cpu->mem, _t115); /* 02985594 */ cpu->r[7] = rbrew_rlwinm(cpu->r[16], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02985598 */ _t116 = cpu->r[7] + cpu->r[8]; /* 02985598 */ cpu->r[7] = rbrew_read32(cpu->mem, _t116); L_0298559C: ; // 0x298559c /* 0298559C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 029855A0 */ _t117 = cpu->r[7] + 0x00000000u; /* 029855A0 */ cpu->r[16] = rbrew_read32(cpu->mem, _t117); /* 029855A4 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u); /* 029855A4 */ _t119 = _t118 & 0x00000001u; /* 029855A4 */ if (_t119) goto L_029855A8; else goto L_029855B8; L_029855A8: ; // 0x29855a8 /* 029855A8 */ cpu->r[10] = 0x10150000u; /* 029855AC */ _t120 = cpu->r[24] + 0xFFFFE218u; /* 029855AC */ rbrew_write32(cpu->mem, _t120, cpu->r[25]); /* 029855B0 */ cpu->r[10] = cpu->r[10] + 0xFFFFEDC8u; /* 029855B4 */ _t121 = cpu->r[22] + 0xFFFFEF88u; /* 029855B4 */ rbrew_write32(cpu->mem, _t121, cpu->r[10]); L_029855B8: ; // 0x29855b8 /* 029855B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u); /* 029855BC */ _t122 = cpu->cr[0] >> (0x00000001u & 31u); /* 029855BC */ _t123 = _t122 & 0x00000001u; /* 029855BC */ if (_t123) goto L_029855EC; else goto L_029855C0; L_029855C0: ; // 0x29855c0 /* 029855C0 */ _t124 = cpu->r[16] + 0x00000088u; /* 029855C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t124); /* 029855C4 */ _t125 = cpu->r[11] + 0x0000000Cu; /* 029855C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t125); /* 029855C8 */ cpu->ctr = cpu->r[0]; /* 029855CC */ cpu->r[3] = cpu->r[16]; /* 029855D0 */ cpu->r[4] = cpu->r[22] + 0xFFFFEF88u; /* 029855D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029855D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029855DC */ _t126 = cpu->cr[0] >> (0x00000001u & 31u); /* 029855DC */ _t127 = _t126 & 0x00000001u; /* 029855DC */ if (_t127) goto L_029855EC; else goto L_029855E0; L_029855E0: ; // 0x29855e0 /* 029855E0 */ cpu->r[12] = cpu->r[16]; /* 029855E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029855E4 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u); /* 029855E4 */ _t129 = _t128 & 0x00000001u; /* 029855E4 */ if (_t129) goto L_029855E8; else goto L_02985600; L_029855E8: ; // 0x29855e8 /* 029855E8 */ goto L_02985620; L_029855EC: ; // 0x29855ec /* 029855EC */ cpu->r[17] = cpu->r[17] + 0x0000000Cu; /* 029855F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[23]); /* 029855F4 */ cpu->r[12] = 0x00000000u; /* 029855F8 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u); /* 029855F8 */ _t131 = _t130 & 0x00000001u; /* 029855F8 */ if (_t131) goto L_029855FC; else goto L_02985558; L_029855FC: ; // 0x29855fc /* 029855FC */ goto L_0298562C; L_02985600: ; // 0x2985600 /* 02985600 */ _t132 = cpu->r[12] + 0x00000094u; /* 02985600 */ cpu->r[4] = rbrew_read32(cpu->mem, _t132); /* 02985604 */ cpu->r[3] = cpu->r[20]; /* 02985608 */ Gambit_fn_0298519C(cpu); /* 0298560C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985610 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985610 */ _t134 = _t133 & 0x00000001u; /* 02985610 */ if (_t134) goto L_02985620; else goto L_02985614; L_02985614: ; // 0x2985614 /* 02985614 */ _t135 = cpu->r[19] + 0x00000000u; /* 02985614 */ rbrew_write32(cpu->mem, _t135, cpu->r[15]); /* 02985618 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 0298561C */ cpu->r[19] = cpu->r[19] + 0x00000004u; L_02985620: ; // 0x2985620 /* 02985620 */ cpu->r[17] = cpu->r[17] + 0x0000000Cu; /* 02985624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[23]); /* 02985628 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985628 */ _t137 = _t136 & 0x00000001u; /* 02985628 */ if (_t137) goto L_0298562C; else goto L_02985558; L_0298562C: ; // 0x298562c /* 0298562C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02985630 */ _t138 = cpu->cr[0] >> (0x00000002u & 31u); /* 02985630 */ _t139 = _t138 & 0x00000001u; /* 02985630 */ if (_t139) goto L_02985634; else goto L_029856E8; L_02985634: ; // 0x2985634 /* 02985634 */ _t140 = cpu->r[1] + 0x0000000Cu; /* 02985634 */ cpu->r[3] = rbrew_read32(cpu->mem, _t140); /* 02985638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298563C */ _t141 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298563C */ _t142 = _t141 & 0x00000001u; /* 0298563C */ if (_t142) goto L_02985640; else goto L_0298564C; L_02985640: ; // 0x2985640 /* 02985640 */ _t143 = cpu->r[1] + 0x00000024u; /* 02985640 */ cpu->r[7] = rbrew_read32(cpu->mem, _t143); /* 02985644 */ _t144 = cpu->r[7] + 0x00000000u; /* 02985644 */ cpu->r[3] = rbrew_read32(cpu->mem, _t144); /* 02985648 */ Gambit_fn_02826F20(cpu); L_0298564C: ; // 0x298564c /* 0298564C */ _t145 = cpu->r[3] + 0x0000000Cu; /* 0298564C */ cpu->r[8] = rbrew_read32(cpu->mem, _t145); /* 02985650 */ _t146 = cpu->r[8] + 0x00000034u; /* 02985650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146); /* 02985654 */ cpu->ctr = cpu->r[0]; /* 02985658 */ cpu->r[5] = 0x00000004u; /* 0298565C */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02985660 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02985664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02985668 */ cpu->r[0] = cpu->r[31]; /* 0298566C */ _t147 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298566C */ _t148 = _t147 & 0x00000001u; /* 0298566C */ if (_t148) goto L_02985674; else goto L_02985670; L_02985670: ; // 0x2985670 /* 02985670 */ cpu->r[0] = 0x00000001u; L_02985674: ; // 0x2985674 /* 02985674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985678 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985678 */ _t150 = _t149 & 0x00000001u; /* 02985678 */ if (_t150) goto L_0298567C; else goto L_0298569C; L_0298567C: ; // 0x298567c /* 0298567C */ _t151 = cpu->r[21] + 0x00000004u; /* 0298567C */ cpu->r[0] = rbrew_read32(cpu->mem, _t151); /* 02985680 */ _t152 = cpu->r[21] + 0x00000008u; /* 02985680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t152); /* 02985684 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02985688 */ cpu->r[7] = cpu->r[3]; /* 0298568C */ cpu->r[0] = cpu->r[3] + cpu->r[12]; /* 02985690 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 02985694 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985694 */ _t154 = _t153 & 0x00000001u; /* 02985694 */ if (_t154) goto L_029856D8; else goto L_02985698; L_02985698: ; // 0x2985698 /* 02985698 */ goto L_029856B8; L_0298569C: ; // 0x298569c /* 0298569C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 029856A0 */ cpu->r[7] = cpu->r[3]; /* 029856A4 */ cpu->r[0] = cpu->r[3] + cpu->r[12]; /* 029856A8 */ _t155 = cpu->r[21] + 0x00000004u; /* 029856A8 */ rbrew_write32(cpu->mem, _t155, cpu->r[31]); /* 029856AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 029856B0 */ _t156 = cpu->r[21] + 0x00000008u; /* 029856B0 */ rbrew_write32(cpu->mem, _t156, cpu->r[3]); /* 029856B4 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u); /* 029856B4 */ _t158 = _t157 & 0x00000001u; /* 029856B4 */ if (_t158) goto L_029856D8; else goto L_029856B8; L_029856B8: ; // 0x29856b8 /* 029856B8 */ cpu->r[8] = cpu->r[1] + 0x00000040u; L_029856BC: ; // 0x29856bc /* 029856BC */ cpu->r[4] = cpu->r[7] - cpu->r[3]; /* 029856C0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Du); /* 029856C4 */ _t159 = cpu->r[5] + cpu->r[8]; /* 029856C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t159); /* 029856C8 */ _t160 = cpu->r[7] + 0x00000000u; /* 029856C8 */ rbrew_write16(cpu->mem, _t160, (uint16_t)cpu->r[6]); /* 029856CC */ cpu->r[7] = cpu->r[7] + 0x00000002u; /* 029856D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 029856D4 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u); /* 029856D4 */ _t162 = _t161 & 0x00000001u; /* 029856D4 */ if (_t162) goto L_029856D8; else goto L_029856BC; L_029856D8: ; // 0x29856d8 /* 029856D8 */ _t163 = cpu->r[1] + 0x00000020u; /* 029856D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t163); /* 029856DC */ cpu->r[9] = cpu->r[31] + 0xFFFFFFFFu; /* 029856E0 */ cpu->r[0] = cpu->r[5] + cpu->r[9]; /* 029856E4 */ _t164 = cpu->r[1] + 0x00000020u; /* 029856E4 */ rbrew_write32(cpu->mem, _t164, cpu->r[0]); L_029856E8: ; // 0x29856e8 /* 029856E8 */ _t165 = cpu->r[1] + 0x00000034u; /* 029856E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t165); /* 029856EC */ _t166 = cpu->r[1] + 0x00000038u; /* 029856EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t166); /* 029856F0 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFFu; /* 029856F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 029856F4 */ _t167 = cpu->r[1] + 0x00000008u; /* 029856F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t167); /* 029856F8 */ cpu->r[0] = cpu->r[4] + 0x00000008u; /* 029856FC */ _t168 = cpu->r[1] + 0x00000034u; /* 029856FC */ rbrew_write32(cpu->mem, _t168, cpu->r[10]); /* 02985700 */ cpu->r[5] = cpu->r[7] + 0x00000001u; /* 02985704 */ _t169 = cpu->r[1] + 0x00000038u; /* 02985704 */ rbrew_write32(cpu->mem, _t169, cpu->r[0]); /* 02985708 */ _t170 = cpu->r[1] + 0x00000008u; /* 02985708 */ rbrew_write32(cpu->mem, _t170, cpu->r[5]); /* 0298570C */ _t171 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298570C */ _t172 = _t171 & 0x00000001u; /* 0298570C */ if (_t172) goto L_02985738; else goto L_02985710; L_02985710: ; // 0x2985710 /* 02985710 */ _t173 = cpu->r[14] + 0x00000000u; /* 02985710 */ cpu->r[4] = rbrew_read32(cpu->mem, _t173); /* 02985714 */ _t174 = cpu->r[4] + 0x0000001Cu; /* 02985714 */ cpu->r[9] = rbrew_read32(cpu->mem, _t174); /* 02985718 */ cpu->r[31] = 0x00000000u; /* 0298571C */ _t175 = cpu->r[9] + 0x0000002Cu; /* 0298571C */ cpu->r[4] = rbrew_read32(cpu->mem, _t175); /* 02985720 */ cpu->r[10] = cpu->r[31]; /* 02985724 */ _t176 = cpu->r[1] + 0x00000008u; /* 02985724 */ cpu->r[11] = rbrew_read32(cpu->mem, _t176); /* 02985728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298572C */ cpu->r[6] = cpu->r[9] + 0x0000002Cu; /* 02985730 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985730 */ _t178 = _t177 & 0x00000001u; /* 02985730 */ if (_t178) goto L_029853E0; else goto L_02985734; L_02985734: ; // 0x2985734 /* 02985734 */ goto L_029853DC; L_02985738: ; // 0x2985738 /* 02985738 */ _t179 = cpu->r[1] + 0x00000010u; /* 02985738 */ cpu->r[11] = rbrew_read32(cpu->mem, _t179); /* 0298573C */ cpu->r[14] = cpu->r[14] + 0x00000004u; /* 02985740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[11]); /* 02985744 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985744 */ _t181 = _t180 & 0x00000001u; /* 02985744 */ if (_t181) goto L_02985748; else goto L_02985378; L_02985748: ; // 0x2985748 /* 02985748 */ _t182 = cpu->r[1] + 0x0000002Cu; /* 02985748 */ cpu->r[10] = rbrew_read32(cpu->mem, _t182); /* 0298574C */ cpu->r[3] = cpu->r[29]; /* 02985750 */ _t183 = cpu->r[10] + 0x00000084u; /* 02985750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t183); /* 02985754 */ Gambit_fn_02C51884(cpu); /* 02985758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]); /* 0298575C */ _t184 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298575C */ _t185 = _t184 & 0x00000001u; /* 0298575C */ if (_t185) goto L_02985760; else goto L_02985764; L_02985760: ; // 0x2985760 /* 02985760 */ cpu->r[31] = cpu->r[3]; L_02985764: ; // 0x2985764 /* 02985764 */ _t186 = cpu->r[1] + 0x0000002Cu; /* 02985764 */ cpu->r[9] = rbrew_read32(cpu->mem, _t186); /* 02985768 */ _t187 = cpu->r[1] + 0x00000020u; /* 02985768 */ cpu->r[3] = rbrew_read32(cpu->mem, _t187); /* 0298576C */ _t188 = cpu->r[9] + 0x00000084u; /* 0298576C */ rbrew_write32(cpu->mem, _t188, cpu->r[31]); /* 02985770 */ /* nop */ /* 02985774 */ _t189 = cpu->r[1] + 0x0000048Cu; /* 02985774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t189); /* 02985778 */ cpu->lr = cpu->r[0]; /* 0298577C */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 02985780 */ return; } // fn_02985784 @ 0x2985784 void Gambit_fn_02985784(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; L_02985784: ; // 0x2985784 /* 02985784 */ _t0 = cpu->r[1] + 0xFFFFFB78u; /* 02985784 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02985784 */ cpu->r[1] = _t0; /* 02985788 */ /* nop */ /* 0298578C */ cpu->r[0] = cpu->lr; /* 02985790 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02985790 */ rbrew_write32(cpu->mem, _t1, cpu->r[3]); /* 02985794 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02985794 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]); /* 02985798 */ _t3 = cpu->r[1] + 0x0000048Cu; /* 02985798 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298579C */ cpu->r[29] = cpu->r[6]; /* 029857A0 */ cpu->r[31] = cpu->r[7]; /* 029857A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029857A4 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 029857A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]); /* 029857A8 */ cpu->r[30] = cpu->r[9]; /* 029857AC */ _t5 = cpu->r[1] + 0x00000014u; /* 029857AC */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 029857B0 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u); /* 029857B0 */ _t7 = _t6 & 0x00000001u; /* 029857B0 */ if (_t7) goto L_029857CC; else goto L_029857B4; L_029857B4: ; // 0x29857b4 /* 029857B4 */ /* nop */ /* 029857B8 */ _t8 = cpu->r[1] + 0x0000048Cu; /* 029857B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 029857BC */ cpu->lr = cpu->r[0]; /* 029857C0 */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 029857C4 */ cpu->r[3] = 0x00000000u; /* 029857C8 */ return; L_029857CC: ; // 0x29857cc /* 029857CC */ cpu->r[0] = 0x00000000u; /* 029857D0 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 029857D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 029857D4 */ cpu->r[4] = 0x101D0000u; /* 029857D8 */ _t10 = cpu->r[1] + 0x00000020u; /* 029857D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 029857DC */ cpu->r[4] = cpu->r[4] + 0xFFFF98F0u; /* 029857E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029857E4 */ _t11 = cpu->r[1] + 0x00000024u; /* 029857E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]); /* 029857E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029857E8 */ _t13 = _t12 & 0x00000001u; /* 029857E8 */ if (_t13) goto L_029857EC; else goto L_029857F8; L_029857EC: ; // 0x29857ec /* 029857EC */ _t14 = cpu->r[1] + 0x00000024u; /* 029857EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 029857F0 */ _t15 = cpu->r[12] + 0x00000000u; /* 029857F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 029857F4 */ Gambit_fn_02826F20(cpu); L_029857F8: ; // 0x29857f8 /* 029857F8 */ _t16 = cpu->r[3] + 0x0000000Cu; /* 029857F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 029857FC */ _t17 = cpu->r[8] + 0x00000034u; /* 029857FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02985800 */ cpu->ctr = cpu->r[0]; /* 02985804 */ cpu->r[5] = 0x00000004u; /* 02985808 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 0298580C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02985810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02985814 */ cpu->r[12] = cpu->r[31]; /* 02985818 */ cpu->r[11] = 0x00000000u; /* 0298581C */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298581C */ _t19 = _t18 & 0x00000001u; /* 0298581C */ if (_t19) goto L_02985824; else goto L_02985820; L_02985820: ; // 0x2985820 /* 02985820 */ cpu->r[12] = 0x00000001u; L_02985824: ; // 0x2985824 /* 02985824 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Cu); /* 02985828 */ cpu->ctr = cpu->r[12]; /* 0298582C */ cpu->r[6] = 0x00000000u; L_02985830: ; // 0x2985830 /* 02985830 */ cpu->r[8] = cpu->r[3] + cpu->r[11]; /* 02985830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02985834 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985834 */ _t21 = _t20 & 0x00000001u; /* 02985834 */ if (_t21) goto L_02985840; else goto L_02985838; L_02985838: ; // 0x2985838 /* 02985838 */ _t22 = cpu->r[8] + 0x00000008u; /* 02985838 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]); /* 0298583C */ _t23 = cpu->r[8] + 0x00000004u; /* 0298583C */ rbrew_write32(cpu->mem, _t23, cpu->r[6]); L_02985840: ; // 0x2985840 /* 02985840 */ cpu->r[11] = cpu->r[11] + 0x0000000Cu; /* 02985844 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02985844 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02985844 */ _t25 = _t24 >> (0x00000002u & 31u); /* 02985844 */ _t26 = _t25 & 0x00000001u; /* 02985844 */ if (_t26) goto L_02985830; else goto L_02985848; L_02985848: ; // 0x2985848 /* 02985848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298584C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298584C */ _t28 = _t27 & 0x00000001u; /* 0298584C */ if (_t28) goto L_0298585C; else goto L_02985850; L_02985850: ; // 0x2985850 /* 02985850 */ _t29 = cpu->r[1] + 0x00000014u; /* 02985850 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29); /* 02985854 */ _t30 = cpu->r[11] + 0x00000000u; /* 02985854 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]); /* 02985858 */ _t31 = cpu->r[11] + 0x00000004u; /* 02985858 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]); L_0298585C: ; // 0x298585c /* 0298585C */ _t32 = cpu->r[1] + 0x0000002Cu; /* 0298585C */ cpu->r[7] = rbrew_read32(cpu->mem, _t32); /* 02985860 */ _t33 = cpu->r[7] + 0x00000074u; /* 02985860 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33); /* 02985864 */ _t34 = cpu->r[7] + 0x0000007Cu; /* 02985864 */ cpu->r[14] = rbrew_read32(cpu->mem, _t34); /* 02985868 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298586C */ cpu->r[0] = cpu->r[14] + cpu->r[6]; /* 02985870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[0]); /* 02985874 */ _t35 = cpu->r[1] + 0x00000010u; /* 02985874 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]); /* 02985878 */ cpu->r[0] = 0x00000000u; /* 0298587C */ _t36 = cpu->r[1] + 0x00000018u; /* 0298587C */ rbrew_write32(cpu->mem, _t36, cpu->r[0]); /* 02985880 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985880 */ _t38 = _t37 & 0x00000001u; /* 02985880 */ if (_t38) goto L_02985C54; else goto L_02985884; L_02985884: ; // 0x2985884 /* 02985884 */ _t39 = cpu->r[14] + 0x00000000u; /* 02985884 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39); /* 02985888 */ _t40 = cpu->r[4] + 0x0000001Cu; /* 02985888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40); /* 0298588C */ _t41 = cpu->r[12] + 0x00000058u; /* 0298588C */ cpu->r[9] = rbrew_read16(cpu->mem, _t41); /* 02985890 */ cpu->r[6] = 0x00000000u; /* 02985894 */ _t42 = cpu->r[1] + 0x00000034u; /* 02985894 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]); /* 02985898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0298589C */ _t43 = cpu->r[1] + 0x00000008u; /* 0298589C */ rbrew_write32(cpu->mem, _t43, cpu->r[6]); /* 029858A0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 029858A0 */ _t45 = _t44 & 0x00000001u; /* 029858A0 */ if (_t45) goto L_02985C44; else goto L_029858A4; L_029858A4: ; // 0x29858a4 /* 029858A4 */ _t46 = cpu->r[1] + 0x0000001Cu; /* 029858A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46); /* 029858A8 */ cpu->r[5] = 0x00000000u; /* 029858AC */ cpu->r[28] = cpu->r[29] + 0x0000000Cu; /* 029858B0 */ _t47 = cpu->r[1] + 0x00000038u; /* 029858B0 */ rbrew_write32(cpu->mem, _t47, cpu->r[5]); /* 029858B4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029858B8 */ _t48 = cpu->r[1] + 0x00000028u; /* 029858B8 */ rbrew_write32(cpu->mem, _t48, cpu->r[5]); /* 029858BC */ cpu->r[27] = cpu->r[29] + 0x00000008u; /* 029858C0 */ cpu->r[26] = cpu->r[29] + 0x00000004u; /* 029858C4 */ _t49 = cpu->r[1] + 0x00000030u; /* 029858C4 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]); /* 029858C8 */ _t50 = cpu->r[4] + 0x0000001Cu; /* 029858C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50); /* 029858CC */ cpu->r[31] = 0x00000000u; /* 029858D0 */ _t51 = cpu->r[9] + 0x00000030u; /* 029858D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t51); /* 029858D4 */ cpu->r[10] = cpu->r[31]; /* 029858D8 */ cpu->r[6] = cpu->r[9] + 0x00000030u; /* 029858DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 029858E0 */ _t52 = cpu->r[1] + 0x00000008u; /* 029858E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52); /* 029858E4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 029858E4 */ _t54 = _t53 & 0x00000001u; /* 029858E4 */ if (_t54) goto L_029858EC; else goto L_029858E8; L_029858E8: ; // 0x29858e8 /* 029858E8 */ cpu->r[10] = cpu->r[6] + cpu->r[4]; L_029858EC: ; // 0x29858ec /* 029858EC */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 029858F0 */ cpu->r[6] = cpu->r[10] + cpu->r[4]; /* 029858F4 */ _t55 = cpu->r[6] + 0x00000024u; /* 029858F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55); /* 029858F8 */ cpu->r[10] = 0x00000000u; /* 029858FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02985900 */ cpu->r[11] = cpu->r[6] + 0x00000024u; /* 02985904 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985904 */ _t57 = _t56 & 0x00000001u; /* 02985904 */ if (_t57) goto L_0298590C; else goto L_02985908; L_02985908: ; // 0x2985908 /* 02985908 */ cpu->r[10] = cpu->r[11] + cpu->r[5]; L_0298590C: ; // 0x298590c /* 0298590C */ cpu->r[20] = cpu->r[10]; /* 02985910 */ _t58 = cpu->r[26] + 0x00000000u; /* 02985910 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 02985914 */ _t59 = cpu->r[20] + 0x00000014u; /* 02985914 */ cpu->r[0] = rbrew_read16(cpu->mem, _t59); /* 02985918 */ cpu->r[12] = cpu->r[1] + 0x0000003Cu; /* 0298591C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 02985920 */ _t60 = cpu->r[1] + 0x0000003Cu; /* 02985920 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]); /* 02985924 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985924 */ _t62 = _t61 & 0x00000001u; /* 02985924 */ if (_t62) goto L_0298592C; else goto L_02985928; L_02985928: ; // 0x2985928 /* 02985928 */ cpu->r[12] = cpu->r[26]; L_0298592C: ; // 0x298592c /* 0298592C */ _t63 = cpu->r[12] + 0x00000000u; /* 0298592C */ cpu->r[12] = rbrew_read32(cpu->mem, _t63); /* 02985930 */ _t64 = cpu->r[26] + 0x00000000u; /* 02985930 */ rbrew_write32(cpu->mem, _t64, cpu->r[12]); /* 02985934 */ _t65 = cpu->r[20] + 0x00000018u; /* 02985934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65); /* 02985938 */ _t66 = cpu->r[27] + 0x00000000u; /* 02985938 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 0298593C */ _t67 = cpu->r[1] + 0x0000003Cu; /* 0298593C */ rbrew_write32(cpu->mem, _t67, cpu->r[0]); /* 02985940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 02985944 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu; /* 02985948 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985948 */ _t69 = _t68 & 0x00000001u; /* 02985948 */ if (_t69) goto L_02985950; else goto L_0298594C; L_0298594C: ; // 0x298594c /* 0298594C */ cpu->r[4] = cpu->r[27]; L_02985950: ; // 0x2985950 /* 02985950 */ _t70 = cpu->r[4] + 0x00000000u; /* 02985950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70); /* 02985954 */ _t71 = cpu->r[27] + 0x00000000u; /* 02985954 */ rbrew_write32(cpu->mem, _t71, cpu->r[0]); /* 02985958 */ _t72 = cpu->r[20] + 0x0000001Cu; /* 02985958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 0298595C */ _t73 = cpu->r[28] + 0x00000000u; /* 0298595C */ cpu->r[6] = rbrew_read32(cpu->mem, _t73); /* 02985960 */ _t74 = cpu->r[1] + 0x0000003Cu; /* 02985960 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]); /* 02985964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[0]); /* 02985968 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu; /* 0298596C */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298596C */ _t76 = _t75 & 0x00000001u; /* 0298596C */ if (_t76) goto L_02985974; else goto L_02985970; L_02985970: ; // 0x2985970 /* 02985970 */ cpu->r[5] = cpu->r[28]; L_02985974: ; // 0x2985974 /* 02985974 */ _t77 = cpu->r[5] + 0x00000000u; /* 02985974 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77); /* 02985978 */ _t78 = cpu->r[1] + 0x00000028u; /* 02985978 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78); /* 0298597C */ _t79 = cpu->r[28] + 0x00000000u; /* 0298597C */ rbrew_write32(cpu->mem, _t79, cpu->r[8]); /* 02985980 */ _t80 = cpu->r[20] + 0x0000000Cu; /* 02985980 */ cpu->r[5] = rbrew_read32(cpu->mem, _t80); /* 02985984 */ _t81 = cpu->r[29] + 0x00000018u; /* 02985984 */ rbrew_write32(cpu->mem, _t81, cpu->r[7]); /* 02985988 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298598C */ _t82 = cpu->r[29] + 0x00000014u; /* 0298598C */ rbrew_write32(cpu->mem, _t82, cpu->r[7]); /* 02985990 */ cpu->r[6] = cpu->r[10] ^ 0x00000001u; /* 02985994 */ _t83 = cpu->r[29] + 0x00000011u; /* 02985994 */ cpu->r[10] = rbrew_read8(cpu->mem, _t83); /* 02985998 */ _t84 = cpu->r[1] + 0x00000014u; /* 02985998 */ cpu->r[9] = rbrew_read32(cpu->mem, _t84); /* 0298599C */ cpu->r[10] = cpu->r[10] | cpu->r[6]; /* 029859A0 */ _t85 = cpu->r[1] + 0x00000018u; /* 029859A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85); /* 029859A4 */ _t86 = cpu->r[29] + 0x00000011u; /* 029859A4 */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[10]); /* 029859A8 */ _t87 = cpu->r[9] + 0x00000000u; /* 029859A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87); /* 029859AC */ cpu->r[7] = cpu->r[0]; /* 029859B0 */ _t88 = cpu->r[9] + 0x00000004u; /* 029859B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t88); /* 029859B4 */ cpu->r[5] = cpu->r[7] + 0x00000001u; /* 029859B8 */ _t89 = cpu->r[14] + 0x00000000u; /* 029859B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t89); /* 029859BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 029859C0 */ _t90 = cpu->r[1] + 0x00000018u; /* 029859C0 */ rbrew_write32(cpu->mem, _t90, cpu->r[5]); /* 029859C4 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u); /* 029859C4 */ _t92 = _t91 & 0x00000001u; /* 029859C4 */ if (_t92) goto L_029859C8; else goto L_02985A08; L_029859C8: ; // 0x29859c8 /* 029859C8 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 029859CC */ _t93 = cpu->r[1] + 0x00000030u; /* 029859CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t93); /* 029859D0 */ cpu->r[7] = cpu->r[7] + cpu->r[0]; /* 029859D4 */ _t94 = cpu->r[1] + 0x00000038u; /* 029859D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94); /* 029859D8 */ cpu->r[21] = cpu->r[8] + cpu->r[4]; /* 029859DC */ _t95 = cpu->r[7] + 0x0000002Cu; /* 029859DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t95); /* 029859E0 */ _t96 = cpu->r[1] + 0x0000002Cu; /* 029859E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t96); /* 029859E4 */ cpu->r[8] = cpu->r[10] + cpu->r[0]; /* 029859E8 */ _t97 = cpu->r[21] + 0x00000000u; /* 029859E8 */ rbrew_write32(cpu->mem, _t97, cpu->r[8]); /* 029859EC */ _t98 = cpu->r[9] + 0x00000008u; /* 029859EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t98); /* 029859F0 */ _t99 = cpu->r[9] + 0x0000000Cu; /* 029859F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t99); /* 029859F4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu); /* 029859F8 */ cpu->r[9] = cpu->r[11] + cpu->r[0]; /* 029859FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]); /* 02985A00 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985A00 */ _t101 = _t100 & 0x00000001u; /* 02985A00 */ if (_t101) goto L_02985B38; else goto L_02985A04; L_02985A04: ; // 0x2985a04 /* 02985A04 */ goto L_02985A40; L_02985A08: ; // 0x2985a08 /* 02985A08 */ _t102 = cpu->r[1] + 0x00000030u; /* 02985A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102); /* 02985A0C */ cpu->r[7] = cpu->r[7] + cpu->r[0]; /* 02985A10 */ _t103 = cpu->r[1] + 0x00000038u; /* 02985A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103); /* 02985A14 */ _t104 = cpu->r[7] + 0x0000002Cu; /* 02985A14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t104); /* 02985A18 */ cpu->r[21] = cpu->r[8]; /* 02985A1C */ _t105 = cpu->r[1] + 0x0000002Cu; /* 02985A1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t105); /* 02985A20 */ cpu->r[8] = cpu->r[10] + cpu->r[0]; /* 02985A24 */ _t106 = cpu->r[21] + 0x00000000u; /* 02985A24 */ rbrew_write32(cpu->mem, _t106, cpu->r[8]); /* 02985A28 */ _t107 = cpu->r[9] + 0x00000008u; /* 02985A28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t107); /* 02985A2C */ _t108 = cpu->r[9] + 0x0000000Cu; /* 02985A2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t108); /* 02985A30 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu); /* 02985A34 */ cpu->r[9] = cpu->r[11] + cpu->r[0]; /* 02985A38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]); /* 02985A3C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985A3C */ _t110 = _t109 & 0x00000001u; /* 02985A3C */ if (_t110) goto L_02985B38; else goto L_02985A40; L_02985A40: ; // 0x2985a40 /* 02985A40 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02985A44 */ cpu->r[8] = cpu->r[1] + 0x00000040u; /* 02985A48 */ cpu->r[17] = cpu->r[11]; /* 02985A4C */ cpu->r[18] = cpu->r[11]; /* 02985A50 */ cpu->r[22] = 0x101D0000u; /* 02985A54 */ cpu->r[23] = cpu->r[9]; /* 02985A58 */ cpu->r[19] = cpu->r[8] + cpu->r[6]; /* 02985A5C */ cpu->r[24] = 0x101D0000u; /* 02985A60 */ cpu->r[25] = 0x00000001u; L_02985A64: ; // 0x2985a64 /* 02985A64 */ cpu->r[0] = 0xAAAA0000u; /* 02985A68 */ cpu->r[10] = cpu->r[17] - cpu->r[18]; /* 02985A6C */ cpu->r[0] = cpu->r[0] | 0x0000AAABu; /* 02985A70 */ /* nop */ /* 02985A74 */ cpu->r[15] = rbrew_rlwinm(cpu->r[15], 0x0000001Du, 0x00000003u, 0x0000001Fu); /* 02985A78 */ cpu->r[16] = cpu->r[15]; /* 02985A7C */ cpu->r[3] = cpu->r[30]; /* 02985A80 */ cpu->r[4] = cpu->r[16]; /* 02985A84 */ Gambit_fn_0297FC7C(cpu); /* 02985A88 */ _t111 = cpu->r[30] + 0x0000001Cu; /* 02985A88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t111); /* 02985A8C */ cpu->r[7] = 0x00000000u; /* 02985A90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[5]); /* 02985A94 */ _t112 = cpu->r[24] + 0xFFFFE218u; /* 02985A94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t112); /* 02985A98 */ _t113 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985A98 */ _t114 = _t113 & 0x00000001u; /* 02985A98 */ if (_t114) goto L_02985A9C; else goto L_02985AA8; L_02985A9C: ; // 0x2985a9c /* 02985A9C */ _t115 = cpu->r[30] + 0x00000024u; /* 02985A9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t115); /* 02985AA0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[16], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02985AA4 */ _t116 = cpu->r[7] + cpu->r[8]; /* 02985AA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t116); L_02985AA8: ; // 0x2985aa8 /* 02985AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02985AAC */ _t117 = cpu->r[7] + 0x00000000u; /* 02985AAC */ cpu->r[16] = rbrew_read32(cpu->mem, _t117); /* 02985AB0 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985AB0 */ _t119 = _t118 & 0x00000001u; /* 02985AB0 */ if (_t119) goto L_02985AB4; else goto L_02985AC4; L_02985AB4: ; // 0x2985ab4 /* 02985AB4 */ cpu->r[10] = 0x10150000u; /* 02985AB8 */ _t120 = cpu->r[24] + 0xFFFFE218u; /* 02985AB8 */ rbrew_write32(cpu->mem, _t120, cpu->r[25]); /* 02985ABC */ cpu->r[10] = cpu->r[10] + 0xFFFFEDC8u; /* 02985AC0 */ _t121 = cpu->r[22] + 0xFFFFEF88u; /* 02985AC0 */ rbrew_write32(cpu->mem, _t121, cpu->r[10]); L_02985AC4: ; // 0x2985ac4 /* 02985AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u); /* 02985AC8 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985AC8 */ _t123 = _t122 & 0x00000001u; /* 02985AC8 */ if (_t123) goto L_02985AF8; else goto L_02985ACC; L_02985ACC: ; // 0x2985acc /* 02985ACC */ _t124 = cpu->r[16] + 0x00000088u; /* 02985ACC */ cpu->r[11] = rbrew_read32(cpu->mem, _t124); /* 02985AD0 */ _t125 = cpu->r[11] + 0x0000000Cu; /* 02985AD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t125); /* 02985AD4 */ cpu->ctr = cpu->r[0]; /* 02985AD8 */ cpu->r[3] = cpu->r[16]; /* 02985ADC */ cpu->r[4] = cpu->r[22] + 0xFFFFEF88u; /* 02985AE0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02985AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985AE8 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985AE8 */ _t127 = _t126 & 0x00000001u; /* 02985AE8 */ if (_t127) goto L_02985AF8; else goto L_02985AEC; L_02985AEC: ; // 0x2985aec /* 02985AEC */ cpu->r[12] = cpu->r[16]; /* 02985AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02985AF0 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985AF0 */ _t129 = _t128 & 0x00000001u; /* 02985AF0 */ if (_t129) goto L_02985AF4; else goto L_02985B0C; L_02985AF4: ; // 0x2985af4 /* 02985AF4 */ goto L_02985B2C; L_02985AF8: ; // 0x2985af8 /* 02985AF8 */ cpu->r[17] = cpu->r[17] + 0x0000000Cu; /* 02985AFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[23]); /* 02985B00 */ cpu->r[12] = 0x00000000u; /* 02985B04 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985B04 */ _t131 = _t130 & 0x00000001u; /* 02985B04 */ if (_t131) goto L_02985B08; else goto L_02985A64; L_02985B08: ; // 0x2985b08 /* 02985B08 */ goto L_02985B38; L_02985B0C: ; // 0x2985b0c /* 02985B0C */ _t132 = cpu->r[12] + 0x00000094u; /* 02985B0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t132); /* 02985B10 */ cpu->r[3] = cpu->r[20]; /* 02985B14 */ Gambit_fn_0298519C(cpu); /* 02985B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985B1C */ _t133 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985B1C */ _t134 = _t133 & 0x00000001u; /* 02985B1C */ if (_t134) goto L_02985B2C; else goto L_02985B20; L_02985B20: ; // 0x2985b20 /* 02985B20 */ _t135 = cpu->r[19] + 0x00000000u; /* 02985B20 */ rbrew_write32(cpu->mem, _t135, cpu->r[15]); /* 02985B24 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02985B28 */ cpu->r[19] = cpu->r[19] + 0x00000004u; L_02985B2C: ; // 0x2985b2c /* 02985B2C */ cpu->r[17] = cpu->r[17] + 0x0000000Cu; /* 02985B30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[23]); /* 02985B34 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985B34 */ _t137 = _t136 & 0x00000001u; /* 02985B34 */ if (_t137) goto L_02985B38; else goto L_02985A64; L_02985B38: ; // 0x2985b38 /* 02985B38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02985B3C */ _t138 = cpu->cr[0] >> (0x00000002u & 31u); /* 02985B3C */ _t139 = _t138 & 0x00000001u; /* 02985B3C */ if (_t139) goto L_02985B40; else goto L_02985BF4; L_02985B40: ; // 0x2985b40 /* 02985B40 */ _t140 = cpu->r[1] + 0x0000000Cu; /* 02985B40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t140); /* 02985B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985B48 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985B48 */ _t142 = _t141 & 0x00000001u; /* 02985B48 */ if (_t142) goto L_02985B4C; else goto L_02985B58; L_02985B4C: ; // 0x2985b4c /* 02985B4C */ _t143 = cpu->r[1] + 0x00000024u; /* 02985B4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t143); /* 02985B50 */ _t144 = cpu->r[7] + 0x00000000u; /* 02985B50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t144); /* 02985B54 */ Gambit_fn_02826F20(cpu); L_02985B58: ; // 0x2985b58 /* 02985B58 */ _t145 = cpu->r[3] + 0x0000000Cu; /* 02985B58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t145); /* 02985B5C */ _t146 = cpu->r[8] + 0x00000034u; /* 02985B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t146); /* 02985B60 */ cpu->ctr = cpu->r[0]; /* 02985B64 */ cpu->r[5] = 0x00000004u; /* 02985B68 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02985B6C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02985B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02985B74 */ cpu->r[0] = cpu->r[31]; /* 02985B78 */ _t147 = cpu->cr[0] >> (0x00000002u & 31u); /* 02985B78 */ _t148 = _t147 & 0x00000001u; /* 02985B78 */ if (_t148) goto L_02985B80; else goto L_02985B7C; L_02985B7C: ; // 0x2985b7c /* 02985B7C */ cpu->r[0] = 0x00000001u; L_02985B80: ; // 0x2985b80 /* 02985B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985B84 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985B84 */ _t150 = _t149 & 0x00000001u; /* 02985B84 */ if (_t150) goto L_02985B88; else goto L_02985BA8; L_02985B88: ; // 0x2985b88 /* 02985B88 */ _t151 = cpu->r[21] + 0x00000004u; /* 02985B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t151); /* 02985B8C */ _t152 = cpu->r[21] + 0x00000008u; /* 02985B8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t152); /* 02985B90 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02985B94 */ cpu->r[7] = cpu->r[3]; /* 02985B98 */ cpu->r[0] = cpu->r[3] + cpu->r[12]; /* 02985B9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 02985BA0 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985BA0 */ _t154 = _t153 & 0x00000001u; /* 02985BA0 */ if (_t154) goto L_02985BE4; else goto L_02985BA4; L_02985BA4: ; // 0x2985ba4 /* 02985BA4 */ goto L_02985BC4; L_02985BA8: ; // 0x2985ba8 /* 02985BA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02985BAC */ cpu->r[7] = cpu->r[3]; /* 02985BB0 */ cpu->r[0] = cpu->r[3] + cpu->r[12]; /* 02985BB4 */ _t155 = cpu->r[21] + 0x00000004u; /* 02985BB4 */ rbrew_write32(cpu->mem, _t155, cpu->r[31]); /* 02985BB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 02985BBC */ _t156 = cpu->r[21] + 0x00000008u; /* 02985BBC */ rbrew_write32(cpu->mem, _t156, cpu->r[3]); /* 02985BC0 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985BC0 */ _t158 = _t157 & 0x00000001u; /* 02985BC0 */ if (_t158) goto L_02985BE4; else goto L_02985BC4; L_02985BC4: ; // 0x2985bc4 /* 02985BC4 */ cpu->r[8] = cpu->r[1] + 0x00000040u; L_02985BC8: ; // 0x2985bc8 /* 02985BC8 */ cpu->r[4] = cpu->r[7] - cpu->r[3]; /* 02985BCC */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Du); /* 02985BD0 */ _t159 = cpu->r[5] + cpu->r[8]; /* 02985BD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t159); /* 02985BD4 */ _t160 = cpu->r[7] + 0x00000000u; /* 02985BD4 */ rbrew_write16(cpu->mem, _t160, (uint16_t)cpu->r[6]); /* 02985BD8 */ cpu->r[7] = cpu->r[7] + 0x00000002u; /* 02985BDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 02985BE0 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985BE0 */ _t162 = _t161 & 0x00000001u; /* 02985BE0 */ if (_t162) goto L_02985BE4; else goto L_02985BC8; L_02985BE4: ; // 0x2985be4 /* 02985BE4 */ _t163 = cpu->r[1] + 0x00000020u; /* 02985BE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t163); /* 02985BE8 */ cpu->r[9] = cpu->r[31] + 0xFFFFFFFFu; /* 02985BEC */ cpu->r[0] = cpu->r[5] + cpu->r[9]; /* 02985BF0 */ _t164 = cpu->r[1] + 0x00000020u; /* 02985BF0 */ rbrew_write32(cpu->mem, _t164, cpu->r[0]); L_02985BF4: ; // 0x2985bf4 /* 02985BF4 */ _t165 = cpu->r[1] + 0x00000034u; /* 02985BF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t165); /* 02985BF8 */ _t166 = cpu->r[1] + 0x00000038u; /* 02985BF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t166); /* 02985BFC */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFFu; /* 02985BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02985C00 */ _t167 = cpu->r[1] + 0x00000008u; /* 02985C00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t167); /* 02985C04 */ cpu->r[0] = cpu->r[4] + 0x00000008u; /* 02985C08 */ _t168 = cpu->r[1] + 0x00000034u; /* 02985C08 */ rbrew_write32(cpu->mem, _t168, cpu->r[10]); /* 02985C0C */ cpu->r[5] = cpu->r[7] + 0x00000001u; /* 02985C10 */ _t169 = cpu->r[1] + 0x00000038u; /* 02985C10 */ rbrew_write32(cpu->mem, _t169, cpu->r[0]); /* 02985C14 */ _t170 = cpu->r[1] + 0x00000008u; /* 02985C14 */ rbrew_write32(cpu->mem, _t170, cpu->r[5]); /* 02985C18 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985C18 */ _t172 = _t171 & 0x00000001u; /* 02985C18 */ if (_t172) goto L_02985C44; else goto L_02985C1C; L_02985C1C: ; // 0x2985c1c /* 02985C1C */ _t173 = cpu->r[14] + 0x00000000u; /* 02985C1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t173); /* 02985C20 */ _t174 = cpu->r[4] + 0x0000001Cu; /* 02985C20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t174); /* 02985C24 */ cpu->r[31] = 0x00000000u; /* 02985C28 */ _t175 = cpu->r[9] + 0x00000030u; /* 02985C28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t175); /* 02985C2C */ cpu->r[10] = cpu->r[31]; /* 02985C30 */ _t176 = cpu->r[1] + 0x00000008u; /* 02985C30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t176); /* 02985C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02985C38 */ cpu->r[6] = cpu->r[9] + 0x00000030u; /* 02985C3C */ _t177 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985C3C */ _t178 = _t177 & 0x00000001u; /* 02985C3C */ if (_t178) goto L_029858EC; else goto L_02985C40; L_02985C40: ; // 0x2985c40 /* 02985C40 */ goto L_029858E8; L_02985C44: ; // 0x2985c44 /* 02985C44 */ _t179 = cpu->r[1] + 0x00000010u; /* 02985C44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t179); /* 02985C48 */ cpu->r[14] = cpu->r[14] + 0x00000004u; /* 02985C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[11]); /* 02985C50 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985C50 */ _t181 = _t180 & 0x00000001u; /* 02985C50 */ if (_t181) goto L_02985C54; else goto L_02985884; L_02985C54: ; // 0x2985c54 /* 02985C54 */ _t182 = cpu->r[1] + 0x0000002Cu; /* 02985C54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t182); /* 02985C58 */ cpu->r[3] = cpu->r[29]; /* 02985C5C */ _t183 = cpu->r[10] + 0x00000084u; /* 02985C5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t183); /* 02985C60 */ Gambit_fn_02C51884(cpu); /* 02985C64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]); /* 02985C68 */ _t184 = cpu->cr[0] >> (0x00000002u & 31u); /* 02985C68 */ _t185 = _t184 & 0x00000001u; /* 02985C68 */ if (_t185) goto L_02985C6C; else goto L_02985C70; L_02985C6C: ; // 0x2985c6c /* 02985C6C */ cpu->r[31] = cpu->r[3]; L_02985C70: ; // 0x2985c70 /* 02985C70 */ _t186 = cpu->r[1] + 0x0000002Cu; /* 02985C70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t186); /* 02985C74 */ _t187 = cpu->r[1] + 0x00000020u; /* 02985C74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t187); /* 02985C78 */ _t188 = cpu->r[9] + 0x00000084u; /* 02985C78 */ rbrew_write32(cpu->mem, _t188, cpu->r[31]); /* 02985C7C */ /* nop */ /* 02985C80 */ _t189 = cpu->r[1] + 0x0000048Cu; /* 02985C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t189); /* 02985C84 */ cpu->lr = cpu->r[0]; /* 02985C88 */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 02985C8C */ return; } // fn_02985C90 @ 0x2985c90 void Gambit_fn_02985C90(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; L_02985C90: ; // 0x2985c90 /* 02985C90 */ _t0 = cpu->r[1] + 0xFFFFFB78u; /* 02985C90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02985C90 */ cpu->r[1] = _t0; /* 02985C94 */ /* nop */ /* 02985C98 */ cpu->r[0] = cpu->lr; /* 02985C9C */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02985C9C */ rbrew_write32(cpu->mem, _t1, cpu->r[3]); /* 02985CA0 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02985CA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]); /* 02985CA4 */ _t3 = cpu->r[1] + 0x0000048Cu; /* 02985CA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02985CA8 */ cpu->r[29] = cpu->r[6]; /* 02985CAC */ cpu->r[31] = cpu->r[7]; /* 02985CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02985CB0 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 02985CB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]); /* 02985CB4 */ cpu->r[30] = cpu->r[9]; /* 02985CB8 */ _t5 = cpu->r[1] + 0x00000014u; /* 02985CB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 02985CBC */ _t6 = cpu->cr[0] >> (0x00000002u & 31u); /* 02985CBC */ _t7 = _t6 & 0x00000001u; /* 02985CBC */ if (_t7) goto L_02985CD8; else goto L_02985CC0; L_02985CC0: ; // 0x2985cc0 /* 02985CC0 */ /* nop */ /* 02985CC4 */ _t8 = cpu->r[1] + 0x0000048Cu; /* 02985CC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02985CC8 */ cpu->lr = cpu->r[0]; /* 02985CCC */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 02985CD0 */ cpu->r[3] = 0x00000000u; /* 02985CD4 */ return; L_02985CD8: ; // 0x2985cd8 /* 02985CD8 */ cpu->r[0] = 0x00000000u; /* 02985CDC */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02985CDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 02985CE0 */ cpu->r[4] = 0x101D0000u; /* 02985CE4 */ _t10 = cpu->r[1] + 0x00000020u; /* 02985CE4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 02985CE8 */ cpu->r[4] = cpu->r[4] + 0xFFFF98F0u; /* 02985CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985CF0 */ _t11 = cpu->r[1] + 0x00000024u; /* 02985CF0 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]); /* 02985CF4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985CF4 */ _t13 = _t12 & 0x00000001u; /* 02985CF4 */ if (_t13) goto L_02985CF8; else goto L_02985D04; L_02985CF8: ; // 0x2985cf8 /* 02985CF8 */ _t14 = cpu->r[1] + 0x00000024u; /* 02985CF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 02985CFC */ _t15 = cpu->r[12] + 0x00000000u; /* 02985CFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 02985D00 */ Gambit_fn_02826F20(cpu); L_02985D04: ; // 0x2985d04 /* 02985D04 */ _t16 = cpu->r[3] + 0x0000000Cu; /* 02985D04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 02985D08 */ _t17 = cpu->r[8] + 0x00000034u; /* 02985D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02985D0C */ cpu->ctr = cpu->r[0]; /* 02985D10 */ cpu->r[5] = 0x00000004u; /* 02985D14 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 02985D18 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02985D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02985D20 */ cpu->r[12] = cpu->r[31]; /* 02985D24 */ cpu->r[11] = 0x00000000u; /* 02985D28 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 02985D28 */ _t19 = _t18 & 0x00000001u; /* 02985D28 */ if (_t19) goto L_02985D30; else goto L_02985D2C; L_02985D2C: ; // 0x2985d2c /* 02985D2C */ cpu->r[12] = 0x00000001u; L_02985D30: ; // 0x2985d30 /* 02985D30 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Cu); /* 02985D34 */ cpu->ctr = cpu->r[12]; /* 02985D38 */ cpu->r[6] = 0x00000000u; L_02985D3C: ; // 0x2985d3c /* 02985D3C */ cpu->r[8] = cpu->r[3] + cpu->r[11]; /* 02985D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02985D40 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985D40 */ _t21 = _t20 & 0x00000001u; /* 02985D40 */ if (_t21) goto L_02985D4C; else goto L_02985D44; L_02985D44: ; // 0x2985d44 /* 02985D44 */ _t22 = cpu->r[8] + 0x00000008u; /* 02985D44 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]); /* 02985D48 */ _t23 = cpu->r[8] + 0x00000004u; /* 02985D48 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]); L_02985D4C: ; // 0x2985d4c /* 02985D4C */ cpu->r[11] = cpu->r[11] + 0x0000000Cu; /* 02985D50 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02985D50 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02985D50 */ _t25 = _t24 >> (0x00000002u & 31u); /* 02985D50 */ _t26 = _t25 & 0x00000001u; /* 02985D50 */ if (_t26) goto L_02985D3C; else goto L_02985D54; L_02985D54: ; // 0x2985d54 /* 02985D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985D58 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985D58 */ _t28 = _t27 & 0x00000001u; /* 02985D58 */ if (_t28) goto L_02985D68; else goto L_02985D5C; L_02985D5C: ; // 0x2985d5c /* 02985D5C */ _t29 = cpu->r[1] + 0x00000014u; /* 02985D5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t29); /* 02985D60 */ _t30 = cpu->r[11] + 0x00000000u; /* 02985D60 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]); /* 02985D64 */ _t31 = cpu->r[11] + 0x00000004u; /* 02985D64 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]); L_02985D68: ; // 0x2985d68 /* 02985D68 */ _t32 = cpu->r[1] + 0x0000002Cu; /* 02985D68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32); /* 02985D6C */ _t33 = cpu->r[7] + 0x00000074u; /* 02985D6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t33); /* 02985D70 */ _t34 = cpu->r[7] + 0x0000007Cu; /* 02985D70 */ cpu->r[14] = rbrew_read32(cpu->mem, _t34); /* 02985D74 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02985D78 */ cpu->r[0] = cpu->r[14] + cpu->r[6]; /* 02985D7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[0]); /* 02985D80 */ _t35 = cpu->r[1] + 0x00000010u; /* 02985D80 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]); /* 02985D84 */ cpu->r[0] = 0x00000000u; /* 02985D88 */ _t36 = cpu->r[1] + 0x00000018u; /* 02985D88 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]); /* 02985D8C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985D8C */ _t38 = _t37 & 0x00000001u; /* 02985D8C */ if (_t38) goto L_02986160; else goto L_02985D90; L_02985D90: ; // 0x2985d90 /* 02985D90 */ _t39 = cpu->r[14] + 0x00000000u; /* 02985D90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39); /* 02985D94 */ _t40 = cpu->r[4] + 0x0000001Cu; /* 02985D94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40); /* 02985D98 */ _t41 = cpu->r[12] + 0x0000005Au; /* 02985D98 */ cpu->r[9] = rbrew_read16(cpu->mem, _t41); /* 02985D9C */ cpu->r[6] = 0x00000000u; /* 02985DA0 */ _t42 = cpu->r[1] + 0x00000034u; /* 02985DA0 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]); /* 02985DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02985DA8 */ _t43 = cpu->r[1] + 0x00000008u; /* 02985DA8 */ rbrew_write32(cpu->mem, _t43, cpu->r[6]); /* 02985DAC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985DAC */ _t45 = _t44 & 0x00000001u; /* 02985DAC */ if (_t45) goto L_02986150; else goto L_02985DB0; L_02985DB0: ; // 0x2985db0 /* 02985DB0 */ _t46 = cpu->r[1] + 0x0000001Cu; /* 02985DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46); /* 02985DB4 */ cpu->r[5] = 0x00000000u; /* 02985DB8 */ cpu->r[28] = cpu->r[29] + 0x0000000Cu; /* 02985DBC */ _t47 = cpu->r[1] + 0x00000038u; /* 02985DBC */ rbrew_write32(cpu->mem, _t47, cpu->r[5]); /* 02985DC0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02985DC4 */ _t48 = cpu->r[1] + 0x00000028u; /* 02985DC4 */ rbrew_write32(cpu->mem, _t48, cpu->r[5]); /* 02985DC8 */ cpu->r[27] = cpu->r[29] + 0x00000008u; /* 02985DCC */ cpu->r[26] = cpu->r[29] + 0x00000004u; /* 02985DD0 */ _t49 = cpu->r[1] + 0x00000030u; /* 02985DD0 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]); /* 02985DD4 */ _t50 = cpu->r[4] + 0x0000001Cu; /* 02985DD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50); /* 02985DD8 */ cpu->r[31] = 0x00000000u; /* 02985DDC */ _t51 = cpu->r[9] + 0x00000034u; /* 02985DDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t51); /* 02985DE0 */ cpu->r[10] = cpu->r[31]; /* 02985DE4 */ cpu->r[6] = cpu->r[9] + 0x00000034u; /* 02985DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02985DEC */ _t52 = cpu->r[1] + 0x00000008u; /* 02985DEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t52); /* 02985DF0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985DF0 */ _t54 = _t53 & 0x00000001u; /* 02985DF0 */ if (_t54) goto L_02985DF8; else goto L_02985DF4; L_02985DF4: ; // 0x2985df4 /* 02985DF4 */ cpu->r[10] = cpu->r[6] + cpu->r[4]; L_02985DF8: ; // 0x2985df8 /* 02985DF8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02985DFC */ cpu->r[6] = cpu->r[10] + cpu->r[4]; /* 02985E00 */ _t55 = cpu->r[6] + 0x00000024u; /* 02985E00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55); /* 02985E04 */ cpu->r[10] = 0x00000000u; /* 02985E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02985E0C */ cpu->r[11] = cpu->r[6] + 0x00000024u; /* 02985E10 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985E10 */ _t57 = _t56 & 0x00000001u; /* 02985E10 */ if (_t57) goto L_02985E18; else goto L_02985E14; L_02985E14: ; // 0x2985e14 /* 02985E14 */ cpu->r[10] = cpu->r[11] + cpu->r[5]; L_02985E18: ; // 0x2985e18 /* 02985E18 */ cpu->r[20] = cpu->r[10]; /* 02985E1C */ _t58 = cpu->r[26] + 0x00000000u; /* 02985E1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t58); /* 02985E20 */ _t59 = cpu->r[20] + 0x00000014u; /* 02985E20 */ cpu->r[0] = rbrew_read16(cpu->mem, _t59); /* 02985E24 */ cpu->r[12] = cpu->r[1] + 0x0000003Cu; /* 02985E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 02985E2C */ _t60 = cpu->r[1] + 0x0000003Cu; /* 02985E2C */ rbrew_write32(cpu->mem, _t60, cpu->r[0]); /* 02985E30 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985E30 */ _t62 = _t61 & 0x00000001u; /* 02985E30 */ if (_t62) goto L_02985E38; else goto L_02985E34; L_02985E34: ; // 0x2985e34 /* 02985E34 */ cpu->r[12] = cpu->r[26]; L_02985E38: ; // 0x2985e38 /* 02985E38 */ _t63 = cpu->r[12] + 0x00000000u; /* 02985E38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63); /* 02985E3C */ _t64 = cpu->r[26] + 0x00000000u; /* 02985E3C */ rbrew_write32(cpu->mem, _t64, cpu->r[12]); /* 02985E40 */ _t65 = cpu->r[20] + 0x00000018u; /* 02985E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65); /* 02985E44 */ _t66 = cpu->r[27] + 0x00000000u; /* 02985E44 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 02985E48 */ _t67 = cpu->r[1] + 0x0000003Cu; /* 02985E48 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]); /* 02985E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 02985E50 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu; /* 02985E54 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985E54 */ _t69 = _t68 & 0x00000001u; /* 02985E54 */ if (_t69) goto L_02985E5C; else goto L_02985E58; L_02985E58: ; // 0x2985e58 /* 02985E58 */ cpu->r[4] = cpu->r[27]; L_02985E5C: ; // 0x2985e5c /* 02985E5C */ _t70 = cpu->r[4] + 0x00000000u; /* 02985E5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70); /* 02985E60 */ _t71 = cpu->r[27] + 0x00000000u; /* 02985E60 */ rbrew_write32(cpu->mem, _t71, cpu->r[0]); /* 02985E64 */ _t72 = cpu->r[20] + 0x0000001Cu; /* 02985E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 02985E68 */ _t73 = cpu->r[28] + 0x00000000u; /* 02985E68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t73); /* 02985E6C */ _t74 = cpu->r[1] + 0x0000003Cu; /* 02985E6C */ rbrew_write32(cpu->mem, _t74, cpu->r[0]); /* 02985E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[0]); /* 02985E74 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu; /* 02985E78 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985E78 */ _t76 = _t75 & 0x00000001u; /* 02985E78 */ if (_t76) goto L_02985E80; else goto L_02985E7C; L_02985E7C: ; // 0x2985e7c /* 02985E7C */ cpu->r[5] = cpu->r[28]; L_02985E80: ; // 0x2985e80 /* 02985E80 */ _t77 = cpu->r[5] + 0x00000000u; /* 02985E80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77); /* 02985E84 */ _t78 = cpu->r[1] + 0x00000028u; /* 02985E84 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78); /* 02985E88 */ _t79 = cpu->r[28] + 0x00000000u; /* 02985E88 */ rbrew_write32(cpu->mem, _t79, cpu->r[8]); /* 02985E8C */ _t80 = cpu->r[20] + 0x0000000Cu; /* 02985E8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t80); /* 02985E90 */ _t81 = cpu->r[29] + 0x00000018u; /* 02985E90 */ rbrew_write32(cpu->mem, _t81, cpu->r[7]); /* 02985E94 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02985E98 */ _t82 = cpu->r[29] + 0x00000014u; /* 02985E98 */ rbrew_write32(cpu->mem, _t82, cpu->r[7]); /* 02985E9C */ cpu->r[6] = cpu->r[10] ^ 0x00000001u; /* 02985EA0 */ _t83 = cpu->r[29] + 0x00000011u; /* 02985EA0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t83); /* 02985EA4 */ _t84 = cpu->r[1] + 0x00000014u; /* 02985EA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t84); /* 02985EA8 */ cpu->r[10] = cpu->r[10] | cpu->r[6]; /* 02985EAC */ _t85 = cpu->r[1] + 0x00000018u; /* 02985EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t85); /* 02985EB0 */ _t86 = cpu->r[29] + 0x00000011u; /* 02985EB0 */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[10]); /* 02985EB4 */ _t87 = cpu->r[9] + 0x00000000u; /* 02985EB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87); /* 02985EB8 */ cpu->r[7] = cpu->r[0]; /* 02985EBC */ _t88 = cpu->r[9] + 0x00000004u; /* 02985EBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t88); /* 02985EC0 */ cpu->r[5] = cpu->r[7] + 0x00000001u; /* 02985EC4 */ _t89 = cpu->r[14] + 0x00000000u; /* 02985EC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t89); /* 02985EC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02985ECC */ _t90 = cpu->r[1] + 0x00000018u; /* 02985ECC */ rbrew_write32(cpu->mem, _t90, cpu->r[5]); /* 02985ED0 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985ED0 */ _t92 = _t91 & 0x00000001u; /* 02985ED0 */ if (_t92) goto L_02985ED4; else goto L_02985F14; L_02985ED4: ; // 0x2985ed4 /* 02985ED4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02985ED8 */ _t93 = cpu->r[1] + 0x00000030u; /* 02985ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93); /* 02985EDC */ cpu->r[7] = cpu->r[7] + cpu->r[0]; /* 02985EE0 */ _t94 = cpu->r[1] + 0x00000038u; /* 02985EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94); /* 02985EE4 */ cpu->r[21] = cpu->r[8] + cpu->r[4]; /* 02985EE8 */ _t95 = cpu->r[7] + 0x0000002Cu; /* 02985EE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95); /* 02985EEC */ _t96 = cpu->r[1] + 0x0000002Cu; /* 02985EEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t96); /* 02985EF0 */ cpu->r[8] = cpu->r[10] + cpu->r[0]; /* 02985EF4 */ _t97 = cpu->r[21] + 0x00000000u; /* 02985EF4 */ rbrew_write32(cpu->mem, _t97, cpu->r[8]); /* 02985EF8 */ _t98 = cpu->r[9] + 0x00000008u; /* 02985EF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t98); /* 02985EFC */ _t99 = cpu->r[9] + 0x0000000Cu; /* 02985EFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t99); /* 02985F00 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu); /* 02985F04 */ cpu->r[9] = cpu->r[11] + cpu->r[0]; /* 02985F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]); /* 02985F0C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985F0C */ _t101 = _t100 & 0x00000001u; /* 02985F0C */ if (_t101) goto L_02986044; else goto L_02985F10; L_02985F10: ; // 0x2985f10 /* 02985F10 */ goto L_02985F4C; L_02985F14: ; // 0x2985f14 /* 02985F14 */ _t102 = cpu->r[1] + 0x00000030u; /* 02985F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102); /* 02985F18 */ cpu->r[7] = cpu->r[7] + cpu->r[0]; /* 02985F1C */ _t103 = cpu->r[1] + 0x00000038u; /* 02985F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t103); /* 02985F20 */ _t104 = cpu->r[7] + 0x0000002Cu; /* 02985F20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t104); /* 02985F24 */ cpu->r[21] = cpu->r[8]; /* 02985F28 */ _t105 = cpu->r[1] + 0x0000002Cu; /* 02985F28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t105); /* 02985F2C */ cpu->r[8] = cpu->r[10] + cpu->r[0]; /* 02985F30 */ _t106 = cpu->r[21] + 0x00000000u; /* 02985F30 */ rbrew_write32(cpu->mem, _t106, cpu->r[8]); /* 02985F34 */ _t107 = cpu->r[9] + 0x00000008u; /* 02985F34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t107); /* 02985F38 */ _t108 = cpu->r[9] + 0x0000000Cu; /* 02985F38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t108); /* 02985F3C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu); /* 02985F40 */ cpu->r[9] = cpu->r[11] + cpu->r[0]; /* 02985F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]); /* 02985F48 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985F48 */ _t110 = _t109 & 0x00000001u; /* 02985F48 */ if (_t110) goto L_02986044; else goto L_02985F4C; L_02985F4C: ; // 0x2985f4c /* 02985F4C */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02985F50 */ cpu->r[8] = cpu->r[1] + 0x00000040u; /* 02985F54 */ cpu->r[17] = cpu->r[11]; /* 02985F58 */ cpu->r[18] = cpu->r[11]; /* 02985F5C */ cpu->r[22] = 0x101D0000u; /* 02985F60 */ cpu->r[23] = cpu->r[9]; /* 02985F64 */ cpu->r[19] = cpu->r[8] + cpu->r[6]; /* 02985F68 */ cpu->r[24] = 0x101D0000u; /* 02985F6C */ cpu->r[25] = 0x00000001u; L_02985F70: ; // 0x2985f70 /* 02985F70 */ cpu->r[0] = 0xAAAA0000u; /* 02985F74 */ cpu->r[10] = cpu->r[17] - cpu->r[18]; /* 02985F78 */ cpu->r[0] = cpu->r[0] | 0x0000AAABu; /* 02985F7C */ /* nop */ /* 02985F80 */ cpu->r[15] = rbrew_rlwinm(cpu->r[15], 0x0000001Du, 0x00000003u, 0x0000001Fu); /* 02985F84 */ cpu->r[16] = cpu->r[15]; /* 02985F88 */ cpu->r[3] = cpu->r[30]; /* 02985F8C */ cpu->r[4] = cpu->r[16]; /* 02985F90 */ Gambit_fn_0297FC7C(cpu); /* 02985F94 */ _t111 = cpu->r[30] + 0x0000001Cu; /* 02985F94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t111); /* 02985F98 */ cpu->r[7] = 0x00000000u; /* 02985F9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[5]); /* 02985FA0 */ _t112 = cpu->r[24] + 0xFFFFE218u; /* 02985FA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t112); /* 02985FA4 */ _t113 = cpu->cr[0] >> (0x00000003u & 31u); /* 02985FA4 */ _t114 = _t113 & 0x00000001u; /* 02985FA4 */ if (_t114) goto L_02985FA8; else goto L_02985FB4; L_02985FA8: ; // 0x2985fa8 /* 02985FA8 */ _t115 = cpu->r[30] + 0x00000024u; /* 02985FA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t115); /* 02985FAC */ cpu->r[7] = rbrew_rlwinm(cpu->r[16], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02985FB0 */ _t116 = cpu->r[7] + cpu->r[8]; /* 02985FB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t116); L_02985FB4: ; // 0x2985fb4 /* 02985FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02985FB8 */ _t117 = cpu->r[7] + 0x00000000u; /* 02985FB8 */ cpu->r[16] = rbrew_read32(cpu->mem, _t117); /* 02985FBC */ _t118 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985FBC */ _t119 = _t118 & 0x00000001u; /* 02985FBC */ if (_t119) goto L_02985FC0; else goto L_02985FD0; L_02985FC0: ; // 0x2985fc0 /* 02985FC0 */ cpu->r[10] = 0x10150000u; /* 02985FC4 */ _t120 = cpu->r[24] + 0xFFFFE218u; /* 02985FC4 */ rbrew_write32(cpu->mem, _t120, cpu->r[25]); /* 02985FC8 */ cpu->r[10] = cpu->r[10] + 0xFFFFEDC8u; /* 02985FCC */ _t121 = cpu->r[22] + 0xFFFFEF88u; /* 02985FCC */ rbrew_write32(cpu->mem, _t121, cpu->r[10]); L_02985FD0: ; // 0x2985fd0 /* 02985FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u); /* 02985FD4 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985FD4 */ _t123 = _t122 & 0x00000001u; /* 02985FD4 */ if (_t123) goto L_02986004; else goto L_02985FD8; L_02985FD8: ; // 0x2985fd8 /* 02985FD8 */ _t124 = cpu->r[16] + 0x00000088u; /* 02985FD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t124); /* 02985FDC */ _t125 = cpu->r[11] + 0x0000000Cu; /* 02985FDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t125); /* 02985FE0 */ cpu->ctr = cpu->r[0]; /* 02985FE4 */ cpu->r[3] = cpu->r[16]; /* 02985FE8 */ cpu->r[4] = cpu->r[22] + 0xFFFFEF88u; /* 02985FEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02985FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02985FF4 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985FF4 */ _t127 = _t126 & 0x00000001u; /* 02985FF4 */ if (_t127) goto L_02986004; else goto L_02985FF8; L_02985FF8: ; // 0x2985ff8 /* 02985FF8 */ cpu->r[12] = cpu->r[16]; /* 02985FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02985FFC */ _t128 = cpu->cr[0] >> (0x00000001u & 31u); /* 02985FFC */ _t129 = _t128 & 0x00000001u; /* 02985FFC */ if (_t129) goto L_02986000; else goto L_02986018; L_02986000: ; // 0x2986000 /* 02986000 */ goto L_02986038; L_02986004: ; // 0x2986004 /* 02986004 */ cpu->r[17] = cpu->r[17] + 0x0000000Cu; /* 02986008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[23]); /* 0298600C */ cpu->r[12] = 0x00000000u; /* 02986010 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986010 */ _t131 = _t130 & 0x00000001u; /* 02986010 */ if (_t131) goto L_02986014; else goto L_02985F70; L_02986014: ; // 0x2986014 /* 02986014 */ goto L_02986044; L_02986018: ; // 0x2986018 /* 02986018 */ _t132 = cpu->r[12] + 0x00000094u; /* 02986018 */ cpu->r[4] = rbrew_read32(cpu->mem, _t132); /* 0298601C */ cpu->r[3] = cpu->r[20]; /* 02986020 */ Gambit_fn_0298519C(cpu); /* 02986024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986028 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986028 */ _t134 = _t133 & 0x00000001u; /* 02986028 */ if (_t134) goto L_02986038; else goto L_0298602C; L_0298602C: ; // 0x298602c /* 0298602C */ _t135 = cpu->r[19] + 0x00000000u; /* 0298602C */ rbrew_write32(cpu->mem, _t135, cpu->r[15]); /* 02986030 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02986034 */ cpu->r[19] = cpu->r[19] + 0x00000004u; L_02986038: ; // 0x2986038 /* 02986038 */ cpu->r[17] = cpu->r[17] + 0x0000000Cu; /* 0298603C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[23]); /* 02986040 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986040 */ _t137 = _t136 & 0x00000001u; /* 02986040 */ if (_t137) goto L_02986044; else goto L_02985F70; L_02986044: ; // 0x2986044 /* 02986044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02986048 */ _t138 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986048 */ _t139 = _t138 & 0x00000001u; /* 02986048 */ if (_t139) goto L_0298604C; else goto L_02986100; L_0298604C: ; // 0x298604c /* 0298604C */ _t140 = cpu->r[1] + 0x0000000Cu; /* 0298604C */ cpu->r[3] = rbrew_read32(cpu->mem, _t140); /* 02986050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986054 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986054 */ _t142 = _t141 & 0x00000001u; /* 02986054 */ if (_t142) goto L_02986058; else goto L_02986064; L_02986058: ; // 0x2986058 /* 02986058 */ _t143 = cpu->r[1] + 0x00000024u; /* 02986058 */ cpu->r[7] = rbrew_read32(cpu->mem, _t143); /* 0298605C */ _t144 = cpu->r[7] + 0x00000000u; /* 0298605C */ cpu->r[3] = rbrew_read32(cpu->mem, _t144); /* 02986060 */ Gambit_fn_02826F20(cpu); L_02986064: ; // 0x2986064 /* 02986064 */ _t145 = cpu->r[3] + 0x0000000Cu; /* 02986064 */ cpu->r[8] = rbrew_read32(cpu->mem, _t145); /* 02986068 */ _t146 = cpu->r[8] + 0x00000034u; /* 02986068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146); /* 0298606C */ cpu->ctr = cpu->r[0]; /* 02986070 */ cpu->r[5] = 0x00000004u; /* 02986074 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02986078 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298607C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02986080 */ cpu->r[0] = cpu->r[31]; /* 02986084 */ _t147 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986084 */ _t148 = _t147 & 0x00000001u; /* 02986084 */ if (_t148) goto L_0298608C; else goto L_02986088; L_02986088: ; // 0x2986088 /* 02986088 */ cpu->r[0] = 0x00000001u; L_0298608C: ; // 0x298608c /* 0298608C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986090 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986090 */ _t150 = _t149 & 0x00000001u; /* 02986090 */ if (_t150) goto L_02986094; else goto L_029860B4; L_02986094: ; // 0x2986094 /* 02986094 */ _t151 = cpu->r[21] + 0x00000004u; /* 02986094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t151); /* 02986098 */ _t152 = cpu->r[21] + 0x00000008u; /* 02986098 */ cpu->r[3] = rbrew_read32(cpu->mem, _t152); /* 0298609C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 029860A0 */ cpu->r[7] = cpu->r[3]; /* 029860A4 */ cpu->r[0] = cpu->r[3] + cpu->r[12]; /* 029860A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 029860AC */ _t153 = cpu->cr[0] >> (0x00000001u & 31u); /* 029860AC */ _t154 = _t153 & 0x00000001u; /* 029860AC */ if (_t154) goto L_029860F0; else goto L_029860B0; L_029860B0: ; // 0x29860b0 /* 029860B0 */ goto L_029860D0; L_029860B4: ; // 0x29860b4 /* 029860B4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 029860B8 */ cpu->r[7] = cpu->r[3]; /* 029860BC */ cpu->r[0] = cpu->r[3] + cpu->r[12]; /* 029860C0 */ _t155 = cpu->r[21] + 0x00000004u; /* 029860C0 */ rbrew_write32(cpu->mem, _t155, cpu->r[31]); /* 029860C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 029860C8 */ _t156 = cpu->r[21] + 0x00000008u; /* 029860C8 */ rbrew_write32(cpu->mem, _t156, cpu->r[3]); /* 029860CC */ _t157 = cpu->cr[0] >> (0x00000001u & 31u); /* 029860CC */ _t158 = _t157 & 0x00000001u; /* 029860CC */ if (_t158) goto L_029860F0; else goto L_029860D0; L_029860D0: ; // 0x29860d0 /* 029860D0 */ cpu->r[8] = cpu->r[1] + 0x00000040u; L_029860D4: ; // 0x29860d4 /* 029860D4 */ cpu->r[4] = cpu->r[7] - cpu->r[3]; /* 029860D8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Du); /* 029860DC */ _t159 = cpu->r[5] + cpu->r[8]; /* 029860DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t159); /* 029860E0 */ _t160 = cpu->r[7] + 0x00000000u; /* 029860E0 */ rbrew_write16(cpu->mem, _t160, (uint16_t)cpu->r[6]); /* 029860E4 */ cpu->r[7] = cpu->r[7] + 0x00000002u; /* 029860E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 029860EC */ _t161 = cpu->cr[0] >> (0x00000001u & 31u); /* 029860EC */ _t162 = _t161 & 0x00000001u; /* 029860EC */ if (_t162) goto L_029860F0; else goto L_029860D4; L_029860F0: ; // 0x29860f0 /* 029860F0 */ _t163 = cpu->r[1] + 0x00000020u; /* 029860F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t163); /* 029860F4 */ cpu->r[9] = cpu->r[31] + 0xFFFFFFFFu; /* 029860F8 */ cpu->r[0] = cpu->r[5] + cpu->r[9]; /* 029860FC */ _t164 = cpu->r[1] + 0x00000020u; /* 029860FC */ rbrew_write32(cpu->mem, _t164, cpu->r[0]); L_02986100: ; // 0x2986100 /* 02986100 */ _t165 = cpu->r[1] + 0x00000034u; /* 02986100 */ cpu->r[11] = rbrew_read32(cpu->mem, _t165); /* 02986104 */ _t166 = cpu->r[1] + 0x00000038u; /* 02986104 */ cpu->r[4] = rbrew_read32(cpu->mem, _t166); /* 02986108 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFFu; /* 02986108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298610C */ _t167 = cpu->r[1] + 0x00000008u; /* 0298610C */ cpu->r[7] = rbrew_read32(cpu->mem, _t167); /* 02986110 */ cpu->r[0] = cpu->r[4] + 0x00000008u; /* 02986114 */ _t168 = cpu->r[1] + 0x00000034u; /* 02986114 */ rbrew_write32(cpu->mem, _t168, cpu->r[10]); /* 02986118 */ cpu->r[5] = cpu->r[7] + 0x00000001u; /* 0298611C */ _t169 = cpu->r[1] + 0x00000038u; /* 0298611C */ rbrew_write32(cpu->mem, _t169, cpu->r[0]); /* 02986120 */ _t170 = cpu->r[1] + 0x00000008u; /* 02986120 */ rbrew_write32(cpu->mem, _t170, cpu->r[5]); /* 02986124 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986124 */ _t172 = _t171 & 0x00000001u; /* 02986124 */ if (_t172) goto L_02986150; else goto L_02986128; L_02986128: ; // 0x2986128 /* 02986128 */ _t173 = cpu->r[14] + 0x00000000u; /* 02986128 */ cpu->r[4] = rbrew_read32(cpu->mem, _t173); /* 0298612C */ _t174 = cpu->r[4] + 0x0000001Cu; /* 0298612C */ cpu->r[9] = rbrew_read32(cpu->mem, _t174); /* 02986130 */ cpu->r[31] = 0x00000000u; /* 02986134 */ _t175 = cpu->r[9] + 0x00000034u; /* 02986134 */ cpu->r[4] = rbrew_read32(cpu->mem, _t175); /* 02986138 */ cpu->r[10] = cpu->r[31]; /* 0298613C */ _t176 = cpu->r[1] + 0x00000008u; /* 0298613C */ cpu->r[11] = rbrew_read32(cpu->mem, _t176); /* 02986140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02986144 */ cpu->r[6] = cpu->r[9] + 0x00000034u; /* 02986148 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986148 */ _t178 = _t177 & 0x00000001u; /* 02986148 */ if (_t178) goto L_02985DF8; else goto L_0298614C; L_0298614C: ; // 0x298614c /* 0298614C */ goto L_02985DF4; L_02986150: ; // 0x2986150 /* 02986150 */ _t179 = cpu->r[1] + 0x00000010u; /* 02986150 */ cpu->r[11] = rbrew_read32(cpu->mem, _t179); /* 02986154 */ cpu->r[14] = cpu->r[14] + 0x00000004u; /* 02986158 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[11]); /* 0298615C */ _t180 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298615C */ _t181 = _t180 & 0x00000001u; /* 0298615C */ if (_t181) goto L_02986160; else goto L_02985D90; L_02986160: ; // 0x2986160 /* 02986160 */ _t182 = cpu->r[1] + 0x0000002Cu; /* 02986160 */ cpu->r[10] = rbrew_read32(cpu->mem, _t182); /* 02986164 */ cpu->r[3] = cpu->r[29]; /* 02986168 */ _t183 = cpu->r[10] + 0x00000084u; /* 02986168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t183); /* 0298616C */ Gambit_fn_02C51884(cpu); /* 02986170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]); /* 02986174 */ _t184 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986174 */ _t185 = _t184 & 0x00000001u; /* 02986174 */ if (_t185) goto L_02986178; else goto L_0298617C; L_02986178: ; // 0x2986178 /* 02986178 */ cpu->r[31] = cpu->r[3]; L_0298617C: ; // 0x298617c /* 0298617C */ _t186 = cpu->r[1] + 0x0000002Cu; /* 0298617C */ cpu->r[9] = rbrew_read32(cpu->mem, _t186); /* 02986180 */ _t187 = cpu->r[1] + 0x00000020u; /* 02986180 */ cpu->r[3] = rbrew_read32(cpu->mem, _t187); /* 02986184 */ _t188 = cpu->r[9] + 0x00000084u; /* 02986184 */ rbrew_write32(cpu->mem, _t188, cpu->r[31]); /* 02986188 */ /* nop */ /* 0298618C */ _t189 = cpu->r[1] + 0x0000048Cu; /* 0298618C */ cpu->r[0] = rbrew_read32(cpu->mem, _t189); /* 02986190 */ cpu->lr = cpu->r[0]; /* 02986194 */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 02986198 */ return; } // fn_0298619C @ 0x298619c void Gambit_fn_0298619C(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_0298619C: ; // 0x298619c /* 0298619C */ cpu->r[0] = cpu->lr; /* 029861A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029861A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029861A0 */ cpu->r[1] = _t0; /* 029861A4 */ _t1 = cpu->r[1] + 0x00000010u; /* 029861A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 029861A8 */ _t2 = cpu->r[1] + 0x00000008u; /* 029861A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 029861AC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 029861AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 029861B0 */ _t4 = cpu->r[1] + 0x00000014u; /* 029861B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 029861B4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029861B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029861B8 */ _t6 = cpu->r[3] + 0x00000016u; /* 029861B8 */ cpu->r[28] = rbrew_read16(cpu->mem, _t6); /* 029861BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029861C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029861C0 */ _t8 = _t7 & 0x00000001u; /* 029861C0 */ if (_t8) goto L_02986254; else goto L_029861C4; L_029861C4: ; // 0x29861c4 /* 029861C4 */ cpu->r[30] = cpu->r[3] + 0x0000002Cu; /* 029861C8 */ cpu->r[31] = cpu->r[4] + 0x00000018u; /* 029861CC */ cpu->r[29] = 0x00000000u; L_029861D0: ; // 0x29861d0 /* 029861D0 */ _t9 = cpu->r[30] + 0x00000000u; /* 029861D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 029861D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 029861D8 */ cpu->r[8] = 0x00000000u; /* 029861DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029861DC */ _t11 = _t10 & 0x00000001u; /* 029861DC */ if (_t11) goto L_029861E4; else goto L_029861E0; L_029861E0: ; // 0x29861e0 /* 029861E0 */ cpu->r[8] = cpu->r[30] + cpu->r[10]; L_029861E4: ; // 0x29861e4 /* 029861E4 */ cpu->r[12] = cpu->r[8] + cpu->r[29]; /* 029861E8 */ _t12 = cpu->r[12] + 0x0000000Cu; /* 029861E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 029861EC */ cpu->r[9] = cpu->r[12] + 0x0000000Cu; /* 029861F0 */ cpu->r[4] = 0x00000000u; /* 029861F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 029861F8 */ _t13 = cpu->r[31] + 0x00000000u; /* 029861F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 029861FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 029861FC */ _t15 = _t14 & 0x00000001u; /* 029861FC */ if (_t15) goto L_02986208; else goto L_02986200; L_02986200: ; // 0x2986200 /* 02986200 */ cpu->r[7] = cpu->r[9] + cpu->r[11]; /* 02986204 */ cpu->r[4] = cpu->r[7] + 0xFFFFFFFCu; L_02986208: ; // 0x2986208 /* 02986208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298620C */ cpu->r[3] = 0x00000000u; /* 02986210 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986210 */ _t17 = _t16 & 0x00000001u; /* 02986210 */ if (_t17) goto L_02986218; else goto L_02986214; L_02986214: ; // 0x2986214 /* 02986214 */ cpu->r[3] = cpu->r[31] + cpu->r[0]; L_02986218: ; // 0x2986218 /* 02986218 */ Gambit_fn_02C605E4(cpu); /* 0298621C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986220 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986220 */ _t19 = _t18 & 0x00000001u; /* 02986220 */ if (_t19) goto L_02986248; else goto L_02986224; L_02986224: ; // 0x2986224 /* 02986224 */ _t20 = cpu->r[1] + 0x00000008u; /* 02986224 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20); /* 02986228 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02986228 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0298622C */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0298622C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02986230 */ _t23 = cpu->r[1] + 0x00000010u; /* 02986230 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02986234 */ cpu->lr = cpu->r[0]; /* 02986238 */ _t24 = cpu->r[1] + 0x00000014u; /* 02986238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0298623C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02986240 */ cpu->r[3] = 0x00000001u; /* 02986244 */ return; L_02986248: ; // 0x2986248 /* 02986248 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02986248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298624C */ cpu->r[29] = cpu->r[29] + 0x0000001Cu; /* 02986250 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986250 */ _t26 = _t25 & 0x00000001u; /* 02986250 */ if (_t26) goto L_02986254; else goto L_029861D0; L_02986254: ; // 0x2986254 /* 02986254 */ _t27 = cpu->r[1] + 0x00000008u; /* 02986254 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27); /* 02986258 */ _t28 = cpu->r[1] + 0x0000000Cu; /* 02986258 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28); /* 0298625C */ _t29 = cpu->r[1] + 0x0000001Cu; /* 0298625C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 02986260 */ _t30 = cpu->r[1] + 0x00000010u; /* 02986260 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30); /* 02986264 */ cpu->lr = cpu->r[0]; /* 02986268 */ _t31 = cpu->r[1] + 0x00000014u; /* 02986268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31); /* 0298626C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02986270 */ cpu->r[3] = 0x00000000u; /* 02986274 */ return; } // fn_029861A0 @ 0x29861a0 void Gambit_fn_029861A0(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_029861A0: ; // 0x29861a0 /* 029861A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029861A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029861A0 */ cpu->r[1] = _t0; /* 029861A4 */ _t1 = cpu->r[1] + 0x00000010u; /* 029861A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 029861A8 */ _t2 = cpu->r[1] + 0x00000008u; /* 029861A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 029861AC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 029861AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 029861B0 */ _t4 = cpu->r[1] + 0x00000014u; /* 029861B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 029861B4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029861B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029861B8 */ _t6 = cpu->r[3] + 0x00000016u; /* 029861B8 */ cpu->r[28] = rbrew_read16(cpu->mem, _t6); /* 029861BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029861C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029861C0 */ _t8 = _t7 & 0x00000001u; /* 029861C0 */ if (_t8) goto L_02986254; else goto L_029861C4; L_029861C4: ; // 0x29861c4 /* 029861C4 */ cpu->r[30] = cpu->r[3] + 0x0000002Cu; /* 029861C8 */ cpu->r[31] = cpu->r[4] + 0x00000018u; /* 029861CC */ cpu->r[29] = 0x00000000u; L_029861D0: ; // 0x29861d0 /* 029861D0 */ _t9 = cpu->r[30] + 0x00000000u; /* 029861D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 029861D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 029861D8 */ cpu->r[8] = 0x00000000u; /* 029861DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029861DC */ _t11 = _t10 & 0x00000001u; /* 029861DC */ if (_t11) goto L_029861E4; else goto L_029861E0; L_029861E0: ; // 0x29861e0 /* 029861E0 */ cpu->r[8] = cpu->r[30] + cpu->r[10]; L_029861E4: ; // 0x29861e4 /* 029861E4 */ cpu->r[12] = cpu->r[8] + cpu->r[29]; /* 029861E8 */ _t12 = cpu->r[12] + 0x0000000Cu; /* 029861E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 029861EC */ cpu->r[9] = cpu->r[12] + 0x0000000Cu; /* 029861F0 */ cpu->r[4] = 0x00000000u; /* 029861F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 029861F8 */ _t13 = cpu->r[31] + 0x00000000u; /* 029861F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 029861FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 029861FC */ _t15 = _t14 & 0x00000001u; /* 029861FC */ if (_t15) goto L_02986208; else goto L_02986200; L_02986200: ; // 0x2986200 /* 02986200 */ cpu->r[7] = cpu->r[9] + cpu->r[11]; /* 02986204 */ cpu->r[4] = cpu->r[7] + 0xFFFFFFFCu; L_02986208: ; // 0x2986208 /* 02986208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298620C */ cpu->r[3] = 0x00000000u; /* 02986210 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986210 */ _t17 = _t16 & 0x00000001u; /* 02986210 */ if (_t17) goto L_02986218; else goto L_02986214; L_02986214: ; // 0x2986214 /* 02986214 */ cpu->r[3] = cpu->r[31] + cpu->r[0]; L_02986218: ; // 0x2986218 /* 02986218 */ Gambit_fn_02C605E4(cpu); /* 0298621C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986220 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986220 */ _t19 = _t18 & 0x00000001u; /* 02986220 */ if (_t19) goto L_02986248; else goto L_02986224; L_02986224: ; // 0x2986224 /* 02986224 */ _t20 = cpu->r[1] + 0x00000008u; /* 02986224 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20); /* 02986228 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02986228 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 0298622C */ _t22 = cpu->r[1] + 0x0000001Cu; /* 0298622C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02986230 */ _t23 = cpu->r[1] + 0x00000010u; /* 02986230 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02986234 */ cpu->lr = cpu->r[0]; /* 02986238 */ _t24 = cpu->r[1] + 0x00000014u; /* 02986238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 0298623C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02986240 */ cpu->r[3] = 0x00000001u; /* 02986244 */ return; L_02986248: ; // 0x2986248 /* 02986248 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02986248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298624C */ cpu->r[29] = cpu->r[29] + 0x0000001Cu; /* 02986250 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986250 */ _t26 = _t25 & 0x00000001u; /* 02986250 */ if (_t26) goto L_02986254; else goto L_029861D0; L_02986254: ; // 0x2986254 /* 02986254 */ _t27 = cpu->r[1] + 0x00000008u; /* 02986254 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27); /* 02986258 */ _t28 = cpu->r[1] + 0x0000000Cu; /* 02986258 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28); /* 0298625C */ _t29 = cpu->r[1] + 0x0000001Cu; /* 0298625C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 02986260 */ _t30 = cpu->r[1] + 0x00000010u; /* 02986260 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30); /* 02986264 */ cpu->lr = cpu->r[0]; /* 02986268 */ _t31 = cpu->r[1] + 0x00000014u; /* 02986268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31); /* 0298626C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02986270 */ cpu->r[3] = 0x00000000u; /* 02986274 */ return; } // fn_02986278 @ 0x2986278 void Gambit_fn_02986278(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; L_02986278: ; // 0x2986278 /* 02986278 */ _t0 = cpu->r[1] + 0xFFFFFB78u; /* 02986278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02986278 */ cpu->r[1] = _t0; /* 0298627C */ /* nop */ /* 02986280 */ cpu->r[28] = cpu->r[9]; /* 02986284 */ cpu->r[0] = cpu->lr; /* 02986288 */ _t1 = cpu->r[1] + 0x00000024u; /* 02986288 */ rbrew_write32(cpu->mem, _t1, cpu->r[3]); /* 0298628C */ _t2 = cpu->r[1] + 0x00000018u; /* 0298628C */ rbrew_write32(cpu->mem, _t2, cpu->r[5]); /* 02986290 */ cpu->r[26] = cpu->r[6]; /* 02986294 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02986294 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]); /* 02986298 */ cpu->r[31] = cpu->r[7]; /* 02986298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298629C */ _t4 = cpu->r[1] + 0x00000010u; /* 0298629C */ rbrew_write32(cpu->mem, _t4, cpu->r[8]); /* 029862A0 */ _t5 = cpu->r[1] + 0x0000048Cu; /* 029862A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029862A4 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u); /* 029862A4 */ _t7 = _t6 & 0x00000001u; /* 029862A4 */ if (_t7) goto L_029862C0; else goto L_029862A8; L_029862A8: ; // 0x29862a8 /* 029862A8 */ /* nop */ /* 029862AC */ _t8 = cpu->r[1] + 0x0000048Cu; /* 029862AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 029862B0 */ cpu->lr = cpu->r[0]; /* 029862B4 */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 029862B8 */ cpu->r[3] = 0x00000000u; /* 029862BC */ return; L_029862C0: ; // 0x29862c0 /* 029862C0 */ cpu->r[0] = 0x00000000u; /* 029862C4 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 029862C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 029862C8 */ cpu->r[5] = 0x101D0000u; /* 029862CC */ _t10 = cpu->r[1] + 0x00000028u; /* 029862CC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 029862D0 */ cpu->r[5] = cpu->r[5] + 0xFFFF98F0u; /* 029862D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029862D8 */ _t11 = cpu->r[1] + 0x00000020u; /* 029862D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]); /* 029862DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029862DC */ _t13 = _t12 & 0x00000001u; /* 029862DC */ if (_t13) goto L_029862E0; else goto L_029862EC; L_029862E0: ; // 0x29862e0 /* 029862E0 */ _t14 = cpu->r[1] + 0x00000020u; /* 029862E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 029862E4 */ _t15 = cpu->r[12] + 0x00000000u; /* 029862E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 029862E8 */ Gambit_fn_02826F20(cpu); L_029862EC: ; // 0x29862ec /* 029862EC */ _t16 = cpu->r[3] + 0x0000000Cu; /* 029862EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16); /* 029862F0 */ _t17 = cpu->r[11] + 0x00000034u; /* 029862F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 029862F4 */ cpu->ctr = cpu->r[0]; /* 029862F8 */ cpu->r[5] = 0x00000004u; /* 029862FC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 02986300 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02986304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02986308 */ cpu->r[4] = cpu->r[31]; /* 0298630C */ cpu->r[12] = 0x00000000u; /* 02986310 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986310 */ _t19 = _t18 & 0x00000001u; /* 02986310 */ if (_t19) goto L_02986318; else goto L_02986314; L_02986314: ; // 0x2986314 /* 02986314 */ cpu->r[4] = 0x00000001u; L_02986318: ; // 0x2986318 /* 02986318 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000000Cu); /* 0298631C */ cpu->ctr = cpu->r[4]; /* 02986320 */ cpu->r[5] = 0x00000000u; L_02986324: ; // 0x2986324 /* 02986324 */ cpu->r[9] = cpu->r[3] + cpu->r[11]; /* 02986324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02986328 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986328 */ _t21 = _t20 & 0x00000001u; /* 02986328 */ if (_t21) goto L_02986334; else goto L_0298632C; L_0298632C: ; // 0x298632c /* 0298632C */ _t22 = cpu->r[9] + 0x00000008u; /* 0298632C */ rbrew_write32(cpu->mem, _t22, cpu->r[5]); /* 02986330 */ _t23 = cpu->r[9] + 0x00000004u; /* 02986330 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]); L_02986334: ; // 0x2986334 /* 02986334 */ cpu->r[11] = cpu->r[11] + 0x0000000Cu; /* 02986338 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02986338 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02986338 */ _t25 = _t24 >> (0x00000002u & 31u); /* 02986338 */ _t26 = _t25 & 0x00000001u; /* 02986338 */ if (_t26) goto L_02986324; else goto L_0298633C; L_0298633C: ; // 0x298633c /* 0298633C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986340 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986340 */ _t28 = _t27 & 0x00000001u; /* 02986340 */ if (_t28) goto L_02986350; else goto L_02986344; L_02986344: ; // 0x2986344 /* 02986344 */ _t29 = cpu->r[1] + 0x00000010u; /* 02986344 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29); /* 02986348 */ _t30 = cpu->r[11] + 0x00000000u; /* 02986348 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]); /* 0298634C */ _t31 = cpu->r[11] + 0x00000004u; /* 0298634C */ rbrew_write32(cpu->mem, _t31, cpu->r[3]); L_02986350: ; // 0x2986350 /* 02986350 */ _t32 = cpu->r[1] + 0x00000024u; /* 02986350 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32); /* 02986354 */ _t33 = cpu->r[8] + 0x00000074u; /* 02986354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 02986358 */ _t34 = cpu->r[8] + 0x0000007Cu; /* 02986358 */ cpu->r[14] = rbrew_read32(cpu->mem, _t34); /* 0298635C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02986360 */ cpu->r[4] = 0x00000000u; /* 02986364 */ cpu->r[0] = cpu->r[14] + cpu->r[10]; /* 02986368 */ _t35 = cpu->r[1] + 0x0000001Cu; /* 02986368 */ rbrew_write32(cpu->mem, _t35, cpu->r[4]); /* 0298636C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[0]); /* 02986370 */ _t36 = cpu->r[1] + 0x00000014u; /* 02986370 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]); /* 02986374 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986374 */ _t38 = _t37 & 0x00000001u; /* 02986374 */ if (_t38) goto L_02986770; else goto L_02986378; L_02986378: ; // 0x2986378 /* 02986378 */ _t39 = cpu->r[14] + 0x00000000u; /* 02986378 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39); /* 0298637C */ _t40 = cpu->r[6] + 0x0000001Cu; /* 0298637C */ cpu->r[9] = rbrew_read32(cpu->mem, _t40); /* 02986380 */ _t41 = cpu->r[9] + 0x0000005Cu; /* 02986380 */ cpu->r[0] = rbrew_read16(cpu->mem, _t41); /* 02986384 */ cpu->r[9] = 0x00000000u; /* 02986388 */ _t42 = cpu->r[1] + 0x00000034u; /* 02986388 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]); /* 0298638C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02986390 */ _t43 = cpu->r[1] + 0x00000008u; /* 02986390 */ rbrew_write32(cpu->mem, _t43, cpu->r[9]); /* 02986394 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986394 */ _t45 = _t44 & 0x00000001u; /* 02986394 */ if (_t45) goto L_02986760; else goto L_02986398; L_02986398: ; // 0x2986398 /* 02986398 */ _t46 = cpu->r[1] + 0x00000018u; /* 02986398 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46); /* 0298639C */ cpu->r[7] = 0x00000000u; /* 029863A0 */ cpu->r[25] = cpu->r[26] + 0x00000010u; /* 029863A4 */ _t47 = cpu->r[1] + 0x00000038u; /* 029863A4 */ rbrew_write32(cpu->mem, _t47, cpu->r[7]); /* 029863A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029863AC */ cpu->r[24] = cpu->r[26] + 0x0000000Cu; /* 029863B0 */ _t48 = cpu->r[1] + 0x0000002Cu; /* 029863B0 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]); /* 029863B4 */ cpu->r[23] = cpu->r[26] + 0x00000008u; /* 029863B8 */ cpu->r[22] = cpu->r[26] + 0x00000004u; /* 029863BC */ _t49 = cpu->r[1] + 0x00000030u; /* 029863BC */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 029863C0 */ _t50 = cpu->r[6] + 0x0000001Cu; /* 029863C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50); /* 029863C4 */ cpu->r[27] = 0x00000000u; /* 029863C8 */ _t51 = cpu->r[7] + 0x00000038u; /* 029863C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 029863CC */ cpu->r[8] = cpu->r[27]; /* 029863D0 */ cpu->r[5] = cpu->r[7] + 0x00000038u; /* 029863D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029863D8 */ _t52 = cpu->r[1] + 0x00000008u; /* 029863D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52); /* 029863DC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u); /* 029863DC */ _t54 = _t53 & 0x00000001u; /* 029863DC */ if (_t54) goto L_029863E4; else goto L_029863E0; L_029863E0: ; // 0x29863e0 /* 029863E0 */ cpu->r[8] = cpu->r[5] + cpu->r[0]; L_029863E4: ; // 0x29863e4 /* 029863E4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 029863E8 */ cpu->r[9] = cpu->r[8] + cpu->r[7]; /* 029863EC */ _t55 = cpu->r[9] + 0x00000024u; /* 029863EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t55); /* 029863EC */ cpu->r[9] = _t55; /* 029863F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029863F4 */ cpu->r[10] = 0x00000000u; /* 029863F8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 029863F8 */ _t57 = _t56 & 0x00000001u; /* 029863F8 */ if (_t57) goto L_02986400; else goto L_029863FC; L_029863FC: ; // 0x29863fc /* 029863FC */ cpu->r[10] = cpu->r[9] + cpu->r[12]; L_02986400: ; // 0x2986400 /* 02986400 */ _t58 = cpu->r[22] + 0x00000000u; /* 02986400 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58); /* 02986404 */ cpu->r[18] = cpu->r[10]; /* 02986408 */ _t59 = cpu->r[18] + 0x00000016u; /* 02986408 */ cpu->r[10] = rbrew_read16(cpu->mem, _t59); /* 0298640C */ cpu->r[11] = cpu->r[1] + 0x00000040u; /* 02986410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[10]); /* 02986414 */ _t60 = cpu->r[1] + 0x00000040u; /* 02986414 */ rbrew_write32(cpu->mem, _t60, cpu->r[10]); /* 02986418 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986418 */ _t62 = _t61 & 0x00000001u; /* 02986418 */ if (_t62) goto L_02986420; else goto L_0298641C; L_0298641C: ; // 0x298641c /* 0298641C */ cpu->r[11] = cpu->r[22]; L_02986420: ; // 0x2986420 /* 02986420 */ _t63 = cpu->r[11] + 0x00000000u; /* 02986420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63); /* 02986424 */ _t64 = cpu->r[22] + 0x00000000u; /* 02986424 */ rbrew_write32(cpu->mem, _t64, cpu->r[12]); /* 02986428 */ _t65 = cpu->r[18] + 0x00000018u; /* 02986428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65); /* 0298642C */ _t66 = cpu->r[23] + 0x00000000u; /* 0298642C */ cpu->r[4] = rbrew_read32(cpu->mem, _t66); /* 02986430 */ _t67 = cpu->r[1] + 0x00000040u; /* 02986430 */ rbrew_write32(cpu->mem, _t67, cpu->r[10]); /* 02986434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[10]); /* 02986438 */ cpu->r[4] = cpu->r[1] + 0x00000040u; /* 0298643C */ _t68 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298643C */ _t69 = _t68 & 0x00000001u; /* 0298643C */ if (_t69) goto L_02986444; else goto L_02986440; L_02986440: ; // 0x2986440 /* 02986440 */ cpu->r[4] = cpu->r[23]; L_02986444: ; // 0x2986444 /* 02986444 */ _t70 = cpu->r[4] + 0x00000000u; /* 02986444 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70); /* 02986448 */ _t71 = cpu->r[23] + 0x00000000u; /* 02986448 */ rbrew_write32(cpu->mem, _t71, cpu->r[6]); /* 0298644C */ _t72 = cpu->r[18] + 0x0000001Cu; /* 0298644C */ cpu->r[10] = rbrew_read32(cpu->mem, _t72); /* 02986450 */ _t73 = cpu->r[24] + 0x00000000u; /* 02986450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73); /* 02986454 */ _t74 = cpu->r[1] + 0x00000040u; /* 02986454 */ rbrew_write32(cpu->mem, _t74, cpu->r[10]); /* 02986458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 0298645C */ cpu->r[5] = cpu->r[1] + 0x00000040u; /* 02986460 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986460 */ _t76 = _t75 & 0x00000001u; /* 02986460 */ if (_t76) goto L_02986468; else goto L_02986464; L_02986464: ; // 0x2986464 /* 02986464 */ cpu->r[5] = cpu->r[24]; L_02986468: ; // 0x2986468 /* 02986468 */ _t77 = cpu->r[5] + 0x00000000u; /* 02986468 */ cpu->r[10] = rbrew_read32(cpu->mem, _t77); /* 0298646C */ _t78 = cpu->r[24] + 0x00000000u; /* 0298646C */ rbrew_write32(cpu->mem, _t78, cpu->r[10]); /* 02986470 */ _t79 = cpu->r[18] + 0x00000014u; /* 02986470 */ cpu->r[10] = rbrew_read16(cpu->mem, _t79); /* 02986474 */ _t80 = cpu->r[25] + 0x00000000u; /* 02986474 */ cpu->r[4] = rbrew_read32(cpu->mem, _t80); /* 02986478 */ _t81 = cpu->r[1] + 0x00000040u; /* 02986478 */ rbrew_write32(cpu->mem, _t81, cpu->r[10]); /* 0298647C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[10]); /* 02986480 */ cpu->r[6] = cpu->r[1] + 0x00000040u; /* 02986484 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986484 */ _t83 = _t82 & 0x00000001u; /* 02986484 */ if (_t83) goto L_0298648C; else goto L_02986488; L_02986488: ; // 0x2986488 /* 02986488 */ cpu->r[6] = cpu->r[25]; L_0298648C: ; // 0x298648c /* 0298648C */ _t84 = cpu->r[6] + 0x00000000u; /* 0298648C */ cpu->r[7] = rbrew_read32(cpu->mem, _t84); /* 02986490 */ _t85 = cpu->r[1] + 0x00000010u; /* 02986490 */ cpu->r[4] = rbrew_read32(cpu->mem, _t85); /* 02986494 */ _t86 = cpu->r[25] + 0x00000000u; /* 02986494 */ rbrew_write32(cpu->mem, _t86, cpu->r[7]); /* 02986498 */ _t87 = cpu->r[18] + 0x0000000Cu; /* 02986498 */ cpu->r[5] = rbrew_read16(cpu->mem, _t87); /* 0298649C */ _t88 = cpu->r[1] + 0x0000002Cu; /* 0298649C */ cpu->r[7] = rbrew_read32(cpu->mem, _t88); /* 029864A0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029864A4 */ _t89 = cpu->r[26] + 0x00000015u; /* 029864A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t89); /* 029864A8 */ cpu->r[5] = cpu->r[9] ^ 0x00000001u; /* 029864AC */ _t90 = cpu->r[26] + 0x0000001Cu; /* 029864AC */ rbrew_write32(cpu->mem, _t90, cpu->r[7]); /* 029864B0 */ cpu->r[0] = cpu->r[0] | cpu->r[5]; /* 029864B4 */ _t91 = cpu->r[26] + 0x00000018u; /* 029864B4 */ rbrew_write32(cpu->mem, _t91, cpu->r[7]); /* 029864B8 */ _t92 = cpu->r[1] + 0x0000001Cu; /* 029864B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t92); /* 029864BC */ _t93 = cpu->r[26] + 0x00000015u; /* 029864BC */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[0]); /* 029864C0 */ _t94 = cpu->r[4] + 0x00000000u; /* 029864C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t94); /* 029864C4 */ cpu->r[0] = cpu->r[7] + 0x00000001u; /* 029864C8 */ _t95 = cpu->r[4] + 0x00000004u; /* 029864C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t95); /* 029864CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]); /* 029864D0 */ _t96 = cpu->r[1] + 0x0000001Cu; /* 029864D0 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]); /* 029864D4 */ _t97 = cpu->r[14] + 0x00000000u; /* 029864D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t97); /* 029864D8 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u); /* 029864D8 */ _t99 = _t98 & 0x00000001u; /* 029864D8 */ if (_t99) goto L_029864DC; else goto L_0298651C; L_029864DC: ; // 0x29864dc /* 029864DC */ _t100 = cpu->r[1] + 0x00000030u; /* 029864DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t100); /* 029864E0 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000000Cu); /* 029864E4 */ cpu->r[8] = cpu->r[6] + cpu->r[0]; /* 029864E8 */ _t101 = cpu->r[8] + 0x0000002Cu; /* 029864E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t101); /* 029864EC */ _t102 = cpu->r[1] + 0x00000038u; /* 029864EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t102); /* 029864F0 */ _t103 = cpu->r[1] + 0x00000024u; /* 029864F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103); /* 029864F4 */ cpu->r[0] = cpu->r[10] + cpu->r[8]; /* 029864F8 */ _t104 = cpu->r[9] + cpu->r[4]; /* 029864F8 */ rbrew_write32(cpu->mem, _t104, cpu->r[0]); /* 029864FC */ _t105 = cpu->r[7] + 0x00000008u; /* 029864FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t105); /* 02986500 */ _t106 = cpu->r[7] + 0x0000000Cu; /* 02986500 */ cpu->r[11] = rbrew_read32(cpu->mem, _t106); /* 02986504 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000000Cu); /* 02986508 */ cpu->r[8] = cpu->r[11] + cpu->r[12]; /* 0298650C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]); /* 02986510 */ cpu->r[19] = cpu->r[9] + cpu->r[4]; /* 02986514 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986514 */ _t108 = _t107 & 0x00000001u; /* 02986514 */ if (_t108) goto L_02986654; else goto L_02986518; L_02986518: ; // 0x2986518 /* 02986518 */ goto L_02986554; L_0298651C: ; // 0x298651c /* 0298651C */ _t109 = cpu->r[1] + 0x00000030u; /* 0298651C */ cpu->r[0] = rbrew_read32(cpu->mem, _t109); /* 02986520 */ cpu->r[8] = cpu->r[6] + cpu->r[0]; /* 02986524 */ _t110 = cpu->r[8] + 0x0000002Cu; /* 02986524 */ cpu->r[10] = rbrew_read32(cpu->mem, _t110); /* 02986528 */ _t111 = cpu->r[1] + 0x00000038u; /* 02986528 */ cpu->r[8] = rbrew_read32(cpu->mem, _t111); /* 0298652C */ cpu->r[19] = cpu->r[9]; /* 02986530 */ _t112 = cpu->r[1] + 0x00000024u; /* 02986530 */ cpu->r[7] = rbrew_read32(cpu->mem, _t112); /* 02986534 */ cpu->r[0] = cpu->r[10] + cpu->r[8]; /* 02986538 */ _t113 = cpu->r[19] + 0x00000000u; /* 02986538 */ rbrew_write32(cpu->mem, _t113, cpu->r[0]); /* 0298653C */ _t114 = cpu->r[7] + 0x00000008u; /* 0298653C */ cpu->r[8] = rbrew_read32(cpu->mem, _t114); /* 02986540 */ _t115 = cpu->r[7] + 0x0000000Cu; /* 02986540 */ cpu->r[11] = rbrew_read32(cpu->mem, _t115); /* 02986544 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000000Cu); /* 02986548 */ cpu->r[8] = cpu->r[11] + cpu->r[12]; /* 0298654C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]); /* 02986550 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986550 */ _t117 = _t116 & 0x00000001u; /* 02986550 */ if (_t117) goto L_02986654; else goto L_02986554; L_02986554: ; // 0x2986554 /* 02986554 */ cpu->r[17] = cpu->r[11]; /* 02986558 */ cpu->r[7] = cpu->r[1] + 0x00000044u; /* 0298655C */ cpu->r[5] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02986560 */ cpu->r[29] = 0x101D0000u; /* 02986564 */ cpu->r[20] = cpu->r[11]; /* 02986568 */ cpu->r[21] = cpu->r[7] + cpu->r[5]; /* 0298656C */ cpu->r[5] = 0x00000001u; /* 02986570 */ cpu->r[31] = 0x101D0000u; /* 02986574 */ cpu->r[30] = cpu->r[8]; /* 02986578 */ _t118 = cpu->r[1] + 0x0000003Cu; /* 02986578 */ rbrew_write32(cpu->mem, _t118, cpu->r[5]); L_0298657C: ; // 0x298657c /* 0298657C */ cpu->r[0] = 0xAAAA0000u; /* 02986580 */ cpu->r[9] = cpu->r[17] - cpu->r[20]; /* 02986584 */ cpu->r[0] = cpu->r[0] | 0x0000AAABu; /* 02986588 */ /* nop */ /* 0298658C */ cpu->r[15] = rbrew_rlwinm(cpu->r[15], 0x0000001Du, 0x00000003u, 0x0000001Fu); /* 02986590 */ cpu->r[16] = cpu->r[15]; /* 02986594 */ cpu->r[3] = cpu->r[28]; /* 02986598 */ cpu->r[4] = cpu->r[16]; /* 0298659C */ Gambit_fn_0297FC7C(cpu); /* 029865A0 */ _t119 = cpu->r[28] + 0x0000001Cu; /* 029865A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t119); /* 029865A4 */ cpu->r[9] = 0x00000000u; /* 029865A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[4]); /* 029865AC */ _t120 = cpu->r[31] + 0xFFFFE218u; /* 029865AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t120); /* 029865B0 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u); /* 029865B0 */ _t122 = _t121 & 0x00000001u; /* 029865B0 */ if (_t122) goto L_029865B4; else goto L_029865C0; L_029865B4: ; // 0x29865b4 /* 029865B4 */ _t123 = cpu->r[28] + 0x00000024u; /* 029865B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t123); /* 029865B8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[16], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029865BC */ _t124 = cpu->r[6] + cpu->r[8]; /* 029865BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t124); L_029865C0: ; // 0x29865c0 /* 029865C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 029865C4 */ _t125 = cpu->r[9] + 0x00000000u; /* 029865C4 */ cpu->r[16] = rbrew_read32(cpu->mem, _t125); /* 029865C8 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u); /* 029865C8 */ _t127 = _t126 & 0x00000001u; /* 029865C8 */ if (_t127) goto L_029865CC; else goto L_029865E0; L_029865CC: ; // 0x29865cc /* 029865CC */ cpu->r[11] = 0x10150000u; /* 029865D0 */ cpu->r[0] = 0x00000001u; /* 029865D4 */ cpu->r[11] = cpu->r[11] + 0xFFFFEDC8u; /* 029865D8 */ _t128 = cpu->r[31] + 0xFFFFE218u; /* 029865D8 */ rbrew_write32(cpu->mem, _t128, cpu->r[0]); /* 029865DC */ _t129 = cpu->r[29] + 0xFFFFEF88u; /* 029865DC */ rbrew_write32(cpu->mem, _t129, cpu->r[11]); L_029865E0: ; // 0x29865e0 /* 029865E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u); /* 029865E4 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u); /* 029865E4 */ _t131 = _t130 & 0x00000001u; /* 029865E4 */ if (_t131) goto L_02986614; else goto L_029865E8; L_029865E8: ; // 0x29865e8 /* 029865E8 */ _t132 = cpu->r[16] + 0x00000088u; /* 029865E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t132); /* 029865EC */ _t133 = cpu->r[4] + 0x0000000Cu; /* 029865EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t133); /* 029865F0 */ cpu->ctr = cpu->r[0]; /* 029865F4 */ cpu->r[4] = cpu->r[29] + 0xFFFFEF88u; /* 029865F8 */ cpu->r[3] = cpu->r[16]; /* 029865FC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02986600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986604 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986604 */ _t135 = _t134 & 0x00000001u; /* 02986604 */ if (_t135) goto L_02986614; else goto L_02986608; L_02986608: ; // 0x2986608 /* 02986608 */ cpu->r[12] = cpu->r[16]; /* 02986608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298660C */ _t136 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298660C */ _t137 = _t136 & 0x00000001u; /* 0298660C */ if (_t137) goto L_02986610; else goto L_02986628; L_02986610: ; // 0x2986610 /* 02986610 */ goto L_02986648; L_02986614: ; // 0x2986614 /* 02986614 */ cpu->r[17] = cpu->r[17] + 0x0000000Cu; /* 02986618 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[30]); /* 0298661C */ cpu->r[12] = 0x00000000u; /* 02986620 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986620 */ _t139 = _t138 & 0x00000001u; /* 02986620 */ if (_t139) goto L_02986624; else goto L_0298657C; L_02986624: ; // 0x2986624 /* 02986624 */ goto L_02986654; L_02986628: ; // 0x2986628 /* 02986628 */ _t140 = cpu->r[12] + 0x00000094u; /* 02986628 */ cpu->r[4] = rbrew_read32(cpu->mem, _t140); /* 0298662C */ cpu->r[3] = cpu->r[18]; /* 02986630 */ Gambit_fn_0298619C(cpu); /* 02986634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986638 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986638 */ _t142 = _t141 & 0x00000001u; /* 02986638 */ if (_t142) goto L_02986648; else goto L_0298663C; L_0298663C: ; // 0x298663c /* 0298663C */ _t143 = cpu->r[21] + 0x00000000u; /* 0298663C */ rbrew_write32(cpu->mem, _t143, cpu->r[15]); /* 02986640 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02986644 */ cpu->r[21] = cpu->r[21] + 0x00000004u; L_02986648: ; // 0x2986648 /* 02986648 */ cpu->r[17] = cpu->r[17] + 0x0000000Cu; /* 0298664C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[30]); /* 02986650 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986650 */ _t145 = _t144 & 0x00000001u; /* 02986650 */ if (_t145) goto L_02986654; else goto L_0298657C; L_02986654: ; // 0x2986654 /* 02986654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02986658 */ _t146 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986658 */ _t147 = _t146 & 0x00000001u; /* 02986658 */ if (_t147) goto L_0298665C; else goto L_02986710; L_0298665C: ; // 0x298665c /* 0298665C */ _t148 = cpu->r[1] + 0x0000000Cu; /* 0298665C */ cpu->r[3] = rbrew_read32(cpu->mem, _t148); /* 02986660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986664 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986664 */ _t150 = _t149 & 0x00000001u; /* 02986664 */ if (_t150) goto L_02986668; else goto L_02986674; L_02986668: ; // 0x2986668 /* 02986668 */ _t151 = cpu->r[1] + 0x00000020u; /* 02986668 */ cpu->r[11] = rbrew_read32(cpu->mem, _t151); /* 0298666C */ _t152 = cpu->r[11] + 0x00000000u; /* 0298666C */ cpu->r[3] = rbrew_read32(cpu->mem, _t152); /* 02986670 */ Gambit_fn_02826F20(cpu); L_02986674: ; // 0x2986674 /* 02986674 */ _t153 = cpu->r[3] + 0x0000000Cu; /* 02986674 */ cpu->r[10] = rbrew_read32(cpu->mem, _t153); /* 02986678 */ _t154 = cpu->r[10] + 0x00000034u; /* 02986678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t154); /* 0298667C */ cpu->ctr = cpu->r[0]; /* 02986680 */ cpu->r[5] = 0x00000004u; /* 02986684 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02986688 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298668C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 02986690 */ cpu->r[7] = cpu->r[27]; /* 02986694 */ _t155 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986694 */ _t156 = _t155 & 0x00000001u; /* 02986694 */ if (_t156) goto L_0298669C; else goto L_02986698; L_02986698: ; // 0x2986698 /* 02986698 */ cpu->r[7] = 0x00000001u; L_0298669C: ; // 0x298669c /* 0298669C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029866A0 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u); /* 029866A0 */ _t158 = _t157 & 0x00000001u; /* 029866A0 */ if (_t158) goto L_029866A4; else goto L_029866C4; L_029866A4: ; // 0x29866a4 /* 029866A4 */ _t159 = cpu->r[19] + 0x00000004u; /* 029866A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t159); /* 029866A8 */ _t160 = cpu->r[19] + 0x00000008u; /* 029866A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t160); /* 029866AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 029866B0 */ cpu->r[6] = cpu->r[3] + cpu->r[11]; /* 029866B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[6]); /* 029866B8 */ cpu->r[0] = cpu->r[3]; /* 029866BC */ _t161 = cpu->cr[0] >> (0x00000001u & 31u); /* 029866BC */ _t162 = _t161 & 0x00000001u; /* 029866BC */ if (_t162) goto L_02986700; else goto L_029866C0; L_029866C0: ; // 0x29866c0 /* 029866C0 */ goto L_029866E0; L_029866C4: ; // 0x29866c4 /* 029866C4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 029866C8 */ _t163 = cpu->r[19] + 0x00000004u; /* 029866C8 */ rbrew_write32(cpu->mem, _t163, cpu->r[27]); /* 029866CC */ cpu->r[6] = cpu->r[3] + cpu->r[11]; /* 029866D0 */ _t164 = cpu->r[19] + 0x00000008u; /* 029866D0 */ rbrew_write32(cpu->mem, _t164, cpu->r[3]); /* 029866D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[6]); /* 029866D8 */ cpu->r[0] = cpu->r[3]; /* 029866DC */ _t165 = cpu->cr[0] >> (0x00000001u & 31u); /* 029866DC */ _t166 = _t165 & 0x00000001u; /* 029866DC */ if (_t166) goto L_02986700; else goto L_029866E0; L_029866E0: ; // 0x29866e0 /* 029866E0 */ cpu->r[9] = cpu->r[1] + 0x00000044u; L_029866E4: ; // 0x29866e4 /* 029866E4 */ cpu->r[12] = cpu->r[3] - cpu->r[0]; /* 029866E8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Du); /* 029866EC */ _t167 = cpu->r[4] + cpu->r[9]; /* 029866EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t167); /* 029866F0 */ _t168 = cpu->r[3] + 0x00000000u; /* 029866F0 */ rbrew_write16(cpu->mem, _t168, (uint16_t)cpu->r[5]); /* 029866F4 */ cpu->r[3] = cpu->r[3] + 0x00000002u; /* 029866F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[6]); /* 029866FC */ _t169 = cpu->cr[0] >> (0x00000001u & 31u); /* 029866FC */ _t170 = _t169 & 0x00000001u; /* 029866FC */ if (_t170) goto L_02986700; else goto L_029866E4; L_02986700: ; // 0x2986700 /* 02986700 */ _t171 = cpu->r[1] + 0x00000028u; /* 02986700 */ cpu->r[10] = rbrew_read32(cpu->mem, _t171); /* 02986704 */ cpu->r[7] = cpu->r[27] + 0xFFFFFFFFu; /* 02986708 */ cpu->r[0] = cpu->r[10] + cpu->r[7]; /* 0298670C */ _t172 = cpu->r[1] + 0x00000028u; /* 0298670C */ rbrew_write32(cpu->mem, _t172, cpu->r[0]); L_02986710: ; // 0x2986710 /* 02986710 */ _t173 = cpu->r[1] + 0x00000034u; /* 02986710 */ cpu->r[6] = rbrew_read32(cpu->mem, _t173); /* 02986714 */ _t174 = cpu->r[1] + 0x00000038u; /* 02986714 */ cpu->r[8] = rbrew_read32(cpu->mem, _t174); /* 02986718 */ cpu->r[4] = cpu->r[6] + 0xFFFFFFFFu; /* 02986718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298671C */ _t175 = cpu->r[1] + 0x00000008u; /* 0298671C */ cpu->r[12] = rbrew_read32(cpu->mem, _t175); /* 02986720 */ cpu->r[7] = cpu->r[8] + 0x00000008u; /* 02986724 */ _t176 = cpu->r[1] + 0x00000034u; /* 02986724 */ rbrew_write32(cpu->mem, _t176, cpu->r[4]); /* 02986728 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 0298672C */ _t177 = cpu->r[1] + 0x00000038u; /* 0298672C */ rbrew_write32(cpu->mem, _t177, cpu->r[7]); /* 02986730 */ _t178 = cpu->r[1] + 0x00000008u; /* 02986730 */ rbrew_write32(cpu->mem, _t178, cpu->r[0]); /* 02986734 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986734 */ _t180 = _t179 & 0x00000001u; /* 02986734 */ if (_t180) goto L_02986760; else goto L_02986738; L_02986738: ; // 0x2986738 /* 02986738 */ _t181 = cpu->r[14] + 0x00000000u; /* 02986738 */ cpu->r[6] = rbrew_read32(cpu->mem, _t181); /* 0298673C */ _t182 = cpu->r[6] + 0x0000001Cu; /* 0298673C */ cpu->r[7] = rbrew_read32(cpu->mem, _t182); /* 02986740 */ cpu->r[27] = 0x00000000u; /* 02986744 */ _t183 = cpu->r[7] + 0x00000038u; /* 02986744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t183); /* 02986748 */ cpu->r[8] = cpu->r[27]; /* 0298674C */ _t184 = cpu->r[1] + 0x00000008u; /* 0298674C */ cpu->r[9] = rbrew_read32(cpu->mem, _t184); /* 02986750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02986754 */ cpu->r[5] = cpu->r[7] + 0x00000038u; /* 02986758 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986758 */ _t186 = _t185 & 0x00000001u; /* 02986758 */ if (_t186) goto L_029863E4; else goto L_0298675C; L_0298675C: ; // 0x298675c /* 0298675C */ goto L_029863E0; L_02986760: ; // 0x2986760 /* 02986760 */ _t187 = cpu->r[1] + 0x00000014u; /* 02986760 */ cpu->r[6] = rbrew_read32(cpu->mem, _t187); /* 02986764 */ cpu->r[14] = cpu->r[14] + 0x00000004u; /* 02986768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[14], cpu->r[6]); /* 0298676C */ _t188 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298676C */ _t189 = _t188 & 0x00000001u; /* 0298676C */ if (_t189) goto L_02986770; else goto L_02986378; L_02986770: ; // 0x2986770 /* 02986770 */ _t190 = cpu->r[1] + 0x00000024u; /* 02986770 */ cpu->r[5] = rbrew_read32(cpu->mem, _t190); /* 02986774 */ cpu->r[3] = cpu->r[26]; /* 02986778 */ _t191 = cpu->r[5] + 0x00000084u; /* 02986778 */ cpu->r[31] = rbrew_read32(cpu->mem, _t191); /* 0298677C */ Gambit_fn_02C5DEA8(cpu); /* 02986780 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]); /* 02986784 */ _t192 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986784 */ _t193 = _t192 & 0x00000001u; /* 02986784 */ if (_t193) goto L_02986788; else goto L_0298678C; L_02986788: ; // 0x2986788 /* 02986788 */ cpu->r[31] = cpu->r[3]; L_0298678C: ; // 0x298678c /* 0298678C */ _t194 = cpu->r[1] + 0x00000024u; /* 0298678C */ cpu->r[12] = rbrew_read32(cpu->mem, _t194); /* 02986790 */ _t195 = cpu->r[1] + 0x00000028u; /* 02986790 */ cpu->r[3] = rbrew_read32(cpu->mem, _t195); /* 02986794 */ _t196 = cpu->r[12] + 0x00000084u; /* 02986794 */ rbrew_write32(cpu->mem, _t196, cpu->r[31]); /* 02986798 */ /* nop */ /* 0298679C */ _t197 = cpu->r[1] + 0x0000048Cu; /* 0298679C */ cpu->r[0] = rbrew_read32(cpu->mem, _t197); /* 029867A0 */ cpu->lr = cpu->r[0]; /* 029867A4 */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 029867A8 */ return; } // fn_029867AC @ 0x29867ac void Gambit_fn_029867AC(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_029867AC: ; // 0x29867ac /* 029867AC */ cpu->r[0] = cpu->lr; /* 029867B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029867B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029867B0 */ cpu->r[1] = _t0; /* 029867B4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029867B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029867B8 */ _t2 = cpu->r[1] + 0x00000010u; /* 029867B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029867BC */ _t3 = cpu->r[1] + 0x00000014u; /* 029867BC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029867C0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 029867C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029867C4 */ _t5 = cpu->r[3] + 0x00000024u; /* 029867C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 029867C8 */ cpu->r[31] = 0x00000000u; /* 029867CC */ cpu->r[10] = cpu->r[3] + 0x00000024u; /* 029867D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 029867D4 */ _t6 = cpu->r[3] + 0x0000000Cu; /* 029867D4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t6); /* 029867D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029867D8 */ _t8 = _t7 & 0x00000001u; /* 029867D8 */ if (_t8) goto L_029867E0; else goto L_029867DC; L_029867DC: ; // 0x29867dc /* 029867DC */ cpu->r[31] = cpu->r[10] + cpu->r[11]; L_029867E0: ; // 0x29867e0 /* 029867E0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000017u, 0x00000017u); /* 029867E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 029867E4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 029867E4 */ _t10 = _t9 & 0x00000001u; /* 029867E4 */ if (_t10) goto L_029867E8; else goto L_02986828; L_029867E8: ; // 0x29867e8 /* 029867E8 */ _t11 = cpu->r[4] + 0x0000000Cu; /* 029867E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 029867EC */ cpu->r[9] = 0x00000000u; /* 029867F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029867F4 */ cpu->r[12] = cpu->r[4] + 0x0000000Cu; /* 029867F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029867F8 */ _t13 = _t12 & 0x00000001u; /* 029867F8 */ if (_t13) goto L_02986800; else goto L_029867FC; L_029867FC: ; // 0x29867fc /* 029867FC */ cpu->r[9] = cpu->r[12] + cpu->r[0]; L_02986800: ; // 0x2986800 /* 02986800 */ _t14 = cpu->r[9] + 0x00000010u; /* 02986800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02986804 */ cpu->r[30] = 0x00000000u; /* 02986808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298680C */ cpu->r[7] = cpu->r[9] + 0x00000010u; /* 02986810 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986810 */ _t16 = _t15 & 0x00000001u; /* 02986810 */ if (_t16) goto L_02986818; else goto L_02986814; L_02986814: ; // 0x2986814 /* 02986814 */ cpu->r[30] = cpu->r[7] + cpu->r[0]; L_02986818: ; // 0x2986818 /* 02986818 */ _t17 = cpu->r[3] + 0x00000014u; /* 02986818 */ cpu->r[29] = rbrew_read16(cpu->mem, _t17); /* 0298681C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02986820 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986820 */ _t19 = _t18 & 0x00000001u; /* 02986820 */ if (_t19) goto L_029868A0; else goto L_02986824; L_02986824: ; // 0x2986824 /* 02986824 */ goto L_0298684C; L_02986828: ; // 0x2986828 /* 02986828 */ _t20 = cpu->r[4] + 0x00000018u; /* 02986828 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0298682C */ cpu->r[30] = 0x00000000u; /* 02986830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02986834 */ cpu->r[11] = cpu->r[4] + 0x00000018u; /* 02986838 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986838 */ _t22 = _t21 & 0x00000001u; /* 02986838 */ if (_t22) goto L_02986840; else goto L_0298683C; L_0298683C: ; // 0x298683c /* 0298683C */ cpu->r[30] = cpu->r[11] + cpu->r[12]; L_02986840: ; // 0x2986840 /* 02986840 */ _t23 = cpu->r[3] + 0x00000014u; /* 02986840 */ cpu->r[29] = rbrew_read16(cpu->mem, _t23); /* 02986844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02986848 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986848 */ _t25 = _t24 & 0x00000001u; /* 02986848 */ if (_t25) goto L_029868A0; else goto L_0298684C; L_0298684C: ; // 0x298684c /* 0298684C */ _t26 = cpu->r[31] + 0x00000000u; /* 0298684C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02986850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02986854 */ cpu->r[4] = 0x00000000u; /* 02986858 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986858 */ _t28 = _t27 & 0x00000001u; /* 02986858 */ if (_t28) goto L_02986864; else goto L_0298685C; L_0298685C: ; // 0x298685c /* 0298685C */ cpu->r[10] = cpu->r[31] + cpu->r[0]; /* 02986860 */ cpu->r[4] = cpu->r[10] + 0xFFFFFFFCu; L_02986864: ; // 0x2986864 /* 02986864 */ cpu->r[3] = cpu->r[30]; /* 02986868 */ Gambit_fn_02C606B8(cpu); /* 0298686C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu); /* 02986870 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986870 */ _t30 = _t29 & 0x00000001u; /* 02986870 */ if (_t30) goto L_02986894; else goto L_02986874; L_02986874: ; // 0x2986874 /* 02986874 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 02986874 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31); /* 02986878 */ _t32 = cpu->r[1] + 0x0000001Cu; /* 02986878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0298687C */ _t33 = cpu->r[1] + 0x00000010u; /* 0298687C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33); /* 02986880 */ cpu->lr = cpu->r[0]; /* 02986884 */ _t34 = cpu->r[1] + 0x00000014u; /* 02986884 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 02986888 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298688C */ cpu->r[3] = 0x00000001u; /* 02986890 */ return; L_02986894: ; // 0x2986894 /* 02986894 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 02986894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02986898 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 0298689C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298689C */ _t36 = _t35 & 0x00000001u; /* 0298689C */ if (_t36) goto L_029868A0; else goto L_0298684C; L_029868A0: ; // 0x29868a0 /* 029868A0 */ _t37 = cpu->r[1] + 0x0000000Cu; /* 029868A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37); /* 029868A4 */ _t38 = cpu->r[1] + 0x0000001Cu; /* 029868A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 029868A8 */ _t39 = cpu->r[1] + 0x00000010u; /* 029868A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39); /* 029868AC */ cpu->lr = cpu->r[0]; /* 029868B0 */ _t40 = cpu->r[1] + 0x00000014u; /* 029868B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40); /* 029868B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029868B8 */ cpu->r[3] = 0x00000000u; /* 029868BC */ return; } // fn_029867B0 @ 0x29867b0 void Gambit_fn_029867B0(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_029867B0: ; // 0x29867b0 /* 029867B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029867B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029867B0 */ cpu->r[1] = _t0; /* 029867B4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029867B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029867B8 */ _t2 = cpu->r[1] + 0x00000010u; /* 029867B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029867BC */ _t3 = cpu->r[1] + 0x00000014u; /* 029867BC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029867C0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 029867C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029867C4 */ _t5 = cpu->r[3] + 0x00000024u; /* 029867C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 029867C8 */ cpu->r[31] = 0x00000000u; /* 029867CC */ cpu->r[10] = cpu->r[3] + 0x00000024u; /* 029867D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 029867D4 */ _t6 = cpu->r[3] + 0x0000000Cu; /* 029867D4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t6); /* 029867D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029867D8 */ _t8 = _t7 & 0x00000001u; /* 029867D8 */ if (_t8) goto L_029867E0; else goto L_029867DC; L_029867DC: ; // 0x29867dc /* 029867DC */ cpu->r[31] = cpu->r[10] + cpu->r[11]; L_029867E0: ; // 0x29867e0 /* 029867E0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000017u, 0x00000017u); /* 029867E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 029867E4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 029867E4 */ _t10 = _t9 & 0x00000001u; /* 029867E4 */ if (_t10) goto L_029867E8; else goto L_02986828; L_029867E8: ; // 0x29867e8 /* 029867E8 */ _t11 = cpu->r[4] + 0x0000000Cu; /* 029867E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 029867EC */ cpu->r[9] = 0x00000000u; /* 029867F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029867F4 */ cpu->r[12] = cpu->r[4] + 0x0000000Cu; /* 029867F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029867F8 */ _t13 = _t12 & 0x00000001u; /* 029867F8 */ if (_t13) goto L_02986800; else goto L_029867FC; L_029867FC: ; // 0x29867fc /* 029867FC */ cpu->r[9] = cpu->r[12] + cpu->r[0]; L_02986800: ; // 0x2986800 /* 02986800 */ _t14 = cpu->r[9] + 0x00000010u; /* 02986800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02986804 */ cpu->r[30] = 0x00000000u; /* 02986808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298680C */ cpu->r[7] = cpu->r[9] + 0x00000010u; /* 02986810 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986810 */ _t16 = _t15 & 0x00000001u; /* 02986810 */ if (_t16) goto L_02986818; else goto L_02986814; L_02986814: ; // 0x2986814 /* 02986814 */ cpu->r[30] = cpu->r[7] + cpu->r[0]; L_02986818: ; // 0x2986818 /* 02986818 */ _t17 = cpu->r[3] + 0x00000014u; /* 02986818 */ cpu->r[29] = rbrew_read16(cpu->mem, _t17); /* 0298681C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02986820 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986820 */ _t19 = _t18 & 0x00000001u; /* 02986820 */ if (_t19) goto L_029868A0; else goto L_02986824; L_02986824: ; // 0x2986824 /* 02986824 */ goto L_0298684C; L_02986828: ; // 0x2986828 /* 02986828 */ _t20 = cpu->r[4] + 0x00000018u; /* 02986828 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0298682C */ cpu->r[30] = 0x00000000u; /* 02986830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02986834 */ cpu->r[11] = cpu->r[4] + 0x00000018u; /* 02986838 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986838 */ _t22 = _t21 & 0x00000001u; /* 02986838 */ if (_t22) goto L_02986840; else goto L_0298683C; L_0298683C: ; // 0x298683c /* 0298683C */ cpu->r[30] = cpu->r[11] + cpu->r[12]; L_02986840: ; // 0x2986840 /* 02986840 */ _t23 = cpu->r[3] + 0x00000014u; /* 02986840 */ cpu->r[29] = rbrew_read16(cpu->mem, _t23); /* 02986844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02986848 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986848 */ _t25 = _t24 & 0x00000001u; /* 02986848 */ if (_t25) goto L_029868A0; else goto L_0298684C; L_0298684C: ; // 0x298684c /* 0298684C */ _t26 = cpu->r[31] + 0x00000000u; /* 0298684C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26); /* 02986850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02986854 */ cpu->r[4] = 0x00000000u; /* 02986858 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986858 */ _t28 = _t27 & 0x00000001u; /* 02986858 */ if (_t28) goto L_02986864; else goto L_0298685C; L_0298685C: ; // 0x298685c /* 0298685C */ cpu->r[10] = cpu->r[31] + cpu->r[0]; /* 02986860 */ cpu->r[4] = cpu->r[10] + 0xFFFFFFFCu; L_02986864: ; // 0x2986864 /* 02986864 */ cpu->r[3] = cpu->r[30]; /* 02986868 */ Gambit_fn_02C606B8(cpu); /* 0298686C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu); /* 02986870 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986870 */ _t30 = _t29 & 0x00000001u; /* 02986870 */ if (_t30) goto L_02986894; else goto L_02986874; L_02986874: ; // 0x2986874 /* 02986874 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 02986874 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31); /* 02986878 */ _t32 = cpu->r[1] + 0x0000001Cu; /* 02986878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0298687C */ _t33 = cpu->r[1] + 0x00000010u; /* 0298687C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33); /* 02986880 */ cpu->lr = cpu->r[0]; /* 02986884 */ _t34 = cpu->r[1] + 0x00000014u; /* 02986884 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34); /* 02986888 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298688C */ cpu->r[3] = 0x00000001u; /* 02986890 */ return; L_02986894: ; // 0x2986894 /* 02986894 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu; /* 02986894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02986898 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 0298689C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298689C */ _t36 = _t35 & 0x00000001u; /* 0298689C */ if (_t36) goto L_029868A0; else goto L_0298684C; L_029868A0: ; // 0x29868a0 /* 029868A0 */ _t37 = cpu->r[1] + 0x0000000Cu; /* 029868A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37); /* 029868A4 */ _t38 = cpu->r[1] + 0x0000001Cu; /* 029868A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 029868A8 */ _t39 = cpu->r[1] + 0x00000010u; /* 029868A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39); /* 029868AC */ cpu->lr = cpu->r[0]; /* 029868B0 */ _t40 = cpu->r[1] + 0x00000014u; /* 029868B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40); /* 029868B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029868B8 */ cpu->r[3] = 0x00000000u; /* 029868BC */ return; } // fn_029868C0 @ 0x29868c0 void Gambit_fn_029868C0(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; L_029868C0: ; // 0x29868c0 /* 029868C0 */ _t0 = cpu->r[1] + 0xFFFFFB78u; /* 029868C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029868C0 */ cpu->r[1] = _t0; /* 029868C4 */ /* nop */ /* 029868C8 */ cpu->r[0] = cpu->lr; /* 029868CC */ cpu->r[30] = cpu->r[6]; /* 029868D0 */ cpu->r[28] = cpu->r[7]; /* 029868D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029868D4 */ cpu->r[25] = cpu->r[8]; /* 029868D8 */ cpu->r[31] = cpu->r[9]; /* 029868DC */ _t1 = cpu->r[1] + 0x0000048Cu; /* 029868DC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029868E0 */ cpu->r[29] = cpu->r[3]; /* 029868E4 */ cpu->r[14] = cpu->r[10]; /* 029868E8 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 029868E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]); /* 029868EC */ _t3 = cpu->cr[0] >> (0x00000002u & 31u); /* 029868EC */ _t4 = _t3 & 0x00000001u; /* 029868EC */ if (_t4) goto L_02986908; else goto L_029868F0; L_029868F0: ; // 0x29868f0 /* 029868F0 */ /* nop */ /* 029868F4 */ _t5 = cpu->r[1] + 0x0000048Cu; /* 029868F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 029868F8 */ cpu->lr = cpu->r[0]; /* 029868FC */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 02986900 */ cpu->r[3] = 0x00000000u; /* 02986904 */ return; L_02986908: ; // 0x2986908 /* 02986908 */ cpu->r[0] = 0x00000000u; /* 0298690C */ _t6 = cpu->r[1] + 0x00000028u; /* 0298690C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02986910 */ cpu->r[0] = 0x101D0000u; /* 02986914 */ cpu->r[0] = cpu->r[0] + 0xFFFF98F0u; /* 02986918 */ cpu->r[3] = cpu->r[14]; /* 02986918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298691C */ _t7 = cpu->r[1] + 0x00000014u; /* 0298691C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 02986920 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986920 */ _t9 = _t8 & 0x00000001u; /* 02986920 */ if (_t9) goto L_02986924; else goto L_02986930; L_02986924: ; // 0x2986924 /* 02986924 */ _t10 = cpu->r[1] + 0x00000014u; /* 02986924 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 02986928 */ _t11 = cpu->r[10] + 0x00000000u; /* 02986928 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 0298692C */ Gambit_fn_02826F20(cpu); L_02986930: ; // 0x2986930 /* 02986930 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02986930 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12); /* 02986934 */ _t13 = cpu->r[5] + 0x00000034u; /* 02986934 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13); /* 02986938 */ cpu->ctr = cpu->r[6]; /* 0298693C */ cpu->r[5] = 0x00000004u; /* 02986940 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x0000000Cu); /* 02986944 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02986948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298694C */ cpu->r[0] = cpu->r[28]; /* 02986950 */ cpu->r[9] = 0x00000000u; /* 02986954 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986954 */ _t15 = _t14 & 0x00000001u; /* 02986954 */ if (_t15) goto L_0298695C; else goto L_02986958; L_02986958: ; // 0x2986958 /* 02986958 */ cpu->r[0] = 0x00000001u; L_0298695C: ; // 0x298695c /* 0298695C */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02986960 */ cpu->ctr = cpu->r[0]; /* 02986964 */ cpu->r[8] = 0x00000000u; L_02986968: ; // 0x2986968 /* 02986968 */ cpu->r[7] = cpu->r[3] + cpu->r[6]; /* 02986968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0298696C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298696C */ _t17 = _t16 & 0x00000001u; /* 0298696C */ if (_t17) goto L_02986978; else goto L_02986970; L_02986970: ; // 0x2986970 /* 02986970 */ _t18 = cpu->r[7] + 0x00000008u; /* 02986970 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]); /* 02986974 */ _t19 = cpu->r[7] + 0x00000004u; /* 02986974 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]); L_02986978: ; // 0x2986978 /* 02986978 */ cpu->r[6] = cpu->r[6] + 0x0000000Cu; /* 0298697C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0298697C */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0298697C */ _t21 = _t20 >> (0x00000002u & 31u); /* 0298697C */ _t22 = _t21 & 0x00000001u; /* 0298697C */ if (_t22) goto L_02986968; else goto L_02986980; L_02986980: ; // 0x2986980 /* 02986980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986984 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986984 */ _t24 = _t23 & 0x00000001u; /* 02986984 */ if (_t24) goto L_02986990; else goto L_02986988; L_02986988: ; // 0x2986988 /* 02986988 */ _t25 = cpu->r[25] + 0x00000004u; /* 02986988 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]); /* 0298698C */ _t26 = cpu->r[25] + 0x00000000u; /* 0298698C */ rbrew_write32(cpu->mem, _t26, cpu->r[28]); L_02986990: ; // 0x2986990 /* 02986990 */ _t27 = cpu->r[29] + 0x00000074u; /* 02986990 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27); /* 02986994 */ _t28 = cpu->r[29] + 0x0000007Cu; /* 02986994 */ cpu->r[27] = rbrew_read32(cpu->mem, _t28); /* 02986998 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298699C */ cpu->r[4] = 0x00000000u; /* 029869A0 */ cpu->r[7] = cpu->r[27] + cpu->r[5]; /* 029869A4 */ _t29 = cpu->r[1] + 0x00000018u; /* 029869A4 */ rbrew_write32(cpu->mem, _t29, cpu->r[4]); /* 029869A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[7]); /* 029869AC */ _t30 = cpu->r[1] + 0x00000010u; /* 029869AC */ rbrew_write32(cpu->mem, _t30, cpu->r[7]); /* 029869B0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 029869B0 */ _t32 = _t31 & 0x00000001u; /* 029869B0 */ if (_t32) goto L_02986DA0; else goto L_029869B4; L_029869B4: ; // 0x29869b4 /* 029869B4 */ _t33 = cpu->r[27] + 0x00000000u; /* 029869B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33); /* 029869B8 */ _t34 = cpu->r[6] + 0x0000001Cu; /* 029869B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34); /* 029869BC */ _t35 = cpu->r[10] + 0x0000005Eu; /* 029869BC */ cpu->r[0] = rbrew_read16(cpu->mem, _t35); /* 029869C0 */ cpu->r[10] = 0x00000000u; /* 029869C4 */ _t36 = cpu->r[1] + 0x00000020u; /* 029869C4 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]); /* 029869C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029869CC */ _t37 = cpu->r[1] + 0x00000008u; /* 029869CC */ rbrew_write32(cpu->mem, _t37, cpu->r[10]); /* 029869D0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 029869D0 */ _t39 = _t38 & 0x00000001u; /* 029869D0 */ if (_t39) goto L_02986D90; else goto L_029869D4; L_029869D4: ; // 0x29869d4 /* 029869D4 */ _t40 = cpu->r[1] + 0x0000000Cu; /* 029869D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40); /* 029869D8 */ cpu->r[8] = 0x00000000u; /* 029869DC */ _t41 = cpu->r[1] + 0x0000002Cu; /* 029869DC */ rbrew_write32(cpu->mem, _t41, cpu->r[8]); /* 029869E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029869E4 */ _t42 = cpu->r[1] + 0x0000001Cu; /* 029869E4 */ rbrew_write32(cpu->mem, _t42, cpu->r[8]); /* 029869E8 */ cpu->r[28] = cpu->r[30] + 0x00000010u; /* 029869EC */ _t43 = cpu->r[1] + 0x00000024u; /* 029869EC */ rbrew_write32(cpu->mem, _t43, cpu->r[0]); /* 029869F0 */ _t44 = cpu->r[6] + 0x0000001Cu; /* 029869F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44); /* 029869F4 */ cpu->r[26] = 0x00000000u; /* 029869F8 */ _t45 = cpu->r[5] + 0x0000003Cu; /* 029869F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t45); /* 029869FC */ cpu->r[6] = cpu->r[26]; /* 02986A00 */ cpu->r[8] = cpu->r[5] + 0x0000003Cu; /* 02986A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02986A08 */ _t46 = cpu->r[1] + 0x00000008u; /* 02986A08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46); /* 02986A0C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986A0C */ _t48 = _t47 & 0x00000001u; /* 02986A0C */ if (_t48) goto L_02986A14; else goto L_02986A10; L_02986A10: ; // 0x2986a10 /* 02986A10 */ cpu->r[6] = cpu->r[8] + cpu->r[4]; L_02986A14: ; // 0x2986a14 /* 02986A14 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02986A18 */ cpu->r[12] = cpu->r[6] + cpu->r[12]; /* 02986A1C */ _t49 = cpu->r[12] + 0x00000024u; /* 02986A1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t49); /* 02986A20 */ cpu->r[10] = 0x00000000u; /* 02986A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02986A28 */ cpu->r[7] = cpu->r[12] + 0x00000024u; /* 02986A2C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986A2C */ _t51 = _t50 & 0x00000001u; /* 02986A2C */ if (_t51) goto L_02986A34; else goto L_02986A30; L_02986A30: ; // 0x2986a30 /* 02986A30 */ cpu->r[10] = cpu->r[7] + cpu->r[9]; L_02986A34: ; // 0x2986a34 /* 02986A34 */ cpu->r[23] = cpu->r[10]; /* 02986A38 */ _t52 = cpu->r[23] + 0x0000000Cu; /* 02986A38 */ cpu->r[7] = rbrew_read16(cpu->mem, _t52); /* 02986A3C */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000017u, 0x00000017u); /* 02986A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02986A40 */ _t53 = cpu->r[23] + 0x00000014u; /* 02986A40 */ cpu->r[0] = rbrew_read16(cpu->mem, _t53); /* 02986A44 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986A44 */ _t55 = _t54 & 0x00000001u; /* 02986A44 */ if (_t55) goto L_02986A48; else goto L_02986A88; L_02986A48: ; // 0x2986a48 /* 02986A48 */ _t56 = cpu->r[1] + 0x00000038u; /* 02986A48 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]); /* 02986A4C */ _t57 = cpu->r[30] + 0x00000008u; /* 02986A4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t57); /* 02986A50 */ cpu->r[8] = cpu->r[1] + 0x00000038u; /* 02986A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]); /* 02986A58 */ cpu->r[4] = cpu->r[30] + 0x00000008u; /* 02986A5C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986A5C */ _t59 = _t58 & 0x00000001u; /* 02986A5C */ if (_t59) goto L_02986A64; else goto L_02986A60; L_02986A60: ; // 0x2986a60 /* 02986A60 */ cpu->r[8] = cpu->r[4]; L_02986A64: ; // 0x2986a64 /* 02986A64 */ _t60 = cpu->r[8] + 0x00000000u; /* 02986A64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60); /* 02986A68 */ _t61 = cpu->r[4] + 0x00000000u; /* 02986A68 */ rbrew_write32(cpu->mem, _t61, cpu->r[12]); /* 02986A6C */ _t62 = cpu->r[23] + 0x00000016u; /* 02986A6C */ cpu->r[0] = rbrew_read16(cpu->mem, _t62); /* 02986A70 */ _t63 = cpu->r[28] + 0x00000000u; /* 02986A70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t63); /* 02986A74 */ _t64 = cpu->r[1] + 0x00000034u; /* 02986A74 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]); /* 02986A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 02986A7C */ cpu->r[10] = cpu->r[1] + 0x00000034u; /* 02986A80 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986A80 */ _t66 = _t65 & 0x00000001u; /* 02986A80 */ if (_t66) goto L_02986AC8; else goto L_02986A84; L_02986A84: ; // 0x2986a84 /* 02986A84 */ goto L_02986AC4; L_02986A88: ; // 0x2986a88 /* 02986A88 */ _t67 = cpu->r[30] + 0x0000000Cu; /* 02986A88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t67); /* 02986A8C */ cpu->r[4] = cpu->r[30] + 0x0000000Cu; /* 02986A90 */ cpu->r[9] = cpu->r[1] + 0x0000003Cu; /* 02986A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 02986A98 */ _t68 = cpu->r[1] + 0x0000003Cu; /* 02986A98 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]); /* 02986A9C */ _t69 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986A9C */ _t70 = _t69 & 0x00000001u; /* 02986A9C */ if (_t70) goto L_02986AA4; else goto L_02986AA0; L_02986AA0: ; // 0x2986aa0 /* 02986AA0 */ cpu->r[9] = cpu->r[4]; L_02986AA4: ; // 0x2986aa4 /* 02986AA4 */ _t71 = cpu->r[9] + 0x00000000u; /* 02986AA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t71); /* 02986AA8 */ _t72 = cpu->r[4] + 0x00000000u; /* 02986AA8 */ rbrew_write32(cpu->mem, _t72, cpu->r[12]); /* 02986AAC */ _t73 = cpu->r[23] + 0x00000016u; /* 02986AAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t73); /* 02986AB0 */ _t74 = cpu->r[28] + 0x00000000u; /* 02986AB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74); /* 02986AB4 */ _t75 = cpu->r[1] + 0x00000034u; /* 02986AB4 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]); /* 02986AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 02986ABC */ cpu->r[10] = cpu->r[1] + 0x00000034u; /* 02986AC0 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986AC0 */ _t77 = _t76 & 0x00000001u; /* 02986AC0 */ if (_t77) goto L_02986AC8; else goto L_02986AC4; L_02986AC4: ; // 0x2986ac4 /* 02986AC4 */ cpu->r[10] = cpu->r[28]; L_02986AC8: ; // 0x2986ac8 /* 02986AC8 */ _t78 = cpu->r[10] + 0x00000000u; /* 02986AC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78); /* 02986ACC */ _t79 = cpu->r[1] + 0x00000018u; /* 02986ACC */ cpu->r[11] = rbrew_read32(cpu->mem, _t79); /* 02986AD0 */ _t80 = cpu->r[28] + 0x00000000u; /* 02986AD0 */ rbrew_write32(cpu->mem, _t80, cpu->r[12]); /* 02986AD4 */ _t81 = cpu->r[23] + 0x0000000Cu; /* 02986AD4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t81); /* 02986AD8 */ _t82 = cpu->r[1] + 0x0000001Cu; /* 02986AD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t82); /* 02986ADC */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02986AE0 */ _t83 = cpu->r[30] + 0x00000015u; /* 02986AE0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t83); /* 02986AE4 */ cpu->r[5] = cpu->r[4] ^ 0x00000001u; /* 02986AE8 */ _t84 = cpu->r[30] + 0x0000001Cu; /* 02986AE8 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]); /* 02986AEC */ cpu->r[12] = cpu->r[12] | cpu->r[5]; /* 02986AF0 */ _t85 = cpu->r[30] + 0x00000018u; /* 02986AF0 */ rbrew_write32(cpu->mem, _t85, cpu->r[7]); /* 02986AF4 */ _t86 = cpu->r[30] + 0x00000015u; /* 02986AF4 */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[12]); /* 02986AF8 */ _t87 = cpu->r[25] + 0x00000000u; /* 02986AF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t87); /* 02986AFC */ _t88 = cpu->r[25] + 0x00000004u; /* 02986AFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t88); /* 02986B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[5]); /* 02986B04 */ _t89 = cpu->r[27] + 0x00000000u; /* 02986B04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t89); /* 02986B08 */ cpu->r[0] = cpu->r[11] + 0x00000001u; /* 02986B0C */ _t90 = cpu->r[1] + 0x00000018u; /* 02986B0C */ rbrew_write32(cpu->mem, _t90, cpu->r[0]); /* 02986B10 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986B10 */ _t92 = _t91 & 0x00000001u; /* 02986B10 */ if (_t92) goto L_02986B14; else goto L_02986B50; L_02986B14: ; // 0x2986b14 /* 02986B14 */ _t93 = cpu->r[1] + 0x00000024u; /* 02986B14 */ cpu->r[6] = rbrew_read32(cpu->mem, _t93); /* 02986B18 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Cu); /* 02986B1C */ cpu->r[12] = cpu->r[4] + cpu->r[6]; /* 02986B20 */ _t94 = cpu->r[1] + 0x0000002Cu; /* 02986B20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94); /* 02986B24 */ _t95 = cpu->r[12] + 0x0000002Cu; /* 02986B24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t95); /* 02986B28 */ cpu->r[18] = cpu->r[9] + cpu->r[8]; /* 02986B2C */ cpu->r[9] = cpu->r[5] + cpu->r[4]; /* 02986B30 */ _t96 = cpu->r[18] + 0x00000000u; /* 02986B30 */ rbrew_write32(cpu->mem, _t96, cpu->r[9]); /* 02986B34 */ _t97 = cpu->r[29] + 0x00000008u; /* 02986B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97); /* 02986B38 */ _t98 = cpu->r[29] + 0x0000000Cu; /* 02986B38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t98); /* 02986B3C */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02986B40 */ cpu->r[8] = cpu->r[11] + cpu->r[6]; /* 02986B44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]); /* 02986B48 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986B48 */ _t100 = _t99 & 0x00000001u; /* 02986B48 */ if (_t100) goto L_02986C84; else goto L_02986B4C; L_02986B4C: ; // 0x2986b4c /* 02986B4C */ goto L_02986B84; L_02986B50: ; // 0x2986b50 /* 02986B50 */ _t101 = cpu->r[1] + 0x00000024u; /* 02986B50 */ cpu->r[6] = rbrew_read32(cpu->mem, _t101); /* 02986B54 */ cpu->r[12] = cpu->r[4] + cpu->r[6]; /* 02986B58 */ _t102 = cpu->r[1] + 0x0000002Cu; /* 02986B58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t102); /* 02986B5C */ _t103 = cpu->r[12] + 0x0000002Cu; /* 02986B5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t103); /* 02986B60 */ cpu->r[18] = cpu->r[9]; /* 02986B64 */ cpu->r[9] = cpu->r[5] + cpu->r[4]; /* 02986B68 */ _t104 = cpu->r[18] + 0x00000000u; /* 02986B68 */ rbrew_write32(cpu->mem, _t104, cpu->r[9]); /* 02986B6C */ _t105 = cpu->r[29] + 0x00000008u; /* 02986B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t105); /* 02986B70 */ _t106 = cpu->r[29] + 0x0000000Cu; /* 02986B70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t106); /* 02986B74 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02986B78 */ cpu->r[8] = cpu->r[11] + cpu->r[6]; /* 02986B7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]); /* 02986B80 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986B80 */ _t108 = _t107 & 0x00000001u; /* 02986B80 */ if (_t108) goto L_02986C84; else goto L_02986B84; L_02986B84: ; // 0x2986b84 /* 02986B84 */ cpu->r[19] = cpu->r[11]; /* 02986B88 */ cpu->r[7] = cpu->r[1] + 0x00000040u; /* 02986B8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02986B90 */ cpu->r[24] = cpu->r[8]; /* 02986B94 */ cpu->r[20] = cpu->r[11]; /* 02986B98 */ cpu->r[21] = cpu->r[7] + cpu->r[0]; /* 02986B9C */ cpu->r[0] = 0x00000001u; /* 02986BA0 */ cpu->r[16] = 0x101D0000u; /* 02986BA4 */ cpu->r[22] = 0x101D0000u; /* 02986BA8 */ _t109 = cpu->r[1] + 0x00000030u; /* 02986BA8 */ rbrew_write32(cpu->mem, _t109, cpu->r[0]); L_02986BAC: ; // 0x2986bac /* 02986BAC */ cpu->r[0] = 0xAAAA0000u; /* 02986BB0 */ cpu->r[9] = cpu->r[19] - cpu->r[20]; /* 02986BB4 */ cpu->r[0] = cpu->r[0] | 0x0000AAABu; /* 02986BB8 */ /* nop */ /* 02986BBC */ cpu->r[15] = rbrew_rlwinm(cpu->r[15], 0x0000001Du, 0x00000003u, 0x0000001Fu); /* 02986BC0 */ cpu->r[17] = cpu->r[15]; /* 02986BC4 */ cpu->r[3] = cpu->r[31]; /* 02986BC8 */ cpu->r[4] = cpu->r[17]; /* 02986BCC */ Gambit_fn_0297FC7C(cpu); /* 02986BD0 */ _t110 = cpu->r[31] + 0x0000001Cu; /* 02986BD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t110); /* 02986BD4 */ cpu->r[12] = 0x00000000u; /* 02986BD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[11]); /* 02986BDC */ _t111 = cpu->r[16] + 0xFFFFE218u; /* 02986BDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t111); /* 02986BE0 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986BE0 */ _t113 = _t112 & 0x00000001u; /* 02986BE0 */ if (_t113) goto L_02986BE4; else goto L_02986BF0; L_02986BE4: ; // 0x2986be4 /* 02986BE4 */ _t114 = cpu->r[31] + 0x00000024u; /* 02986BE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t114); /* 02986BE8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[17], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02986BEC */ _t115 = cpu->r[12] + cpu->r[8]; /* 02986BEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t115); L_02986BF0: ; // 0x2986bf0 /* 02986BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02986BF4 */ _t116 = cpu->r[12] + 0x00000000u; /* 02986BF4 */ cpu->r[17] = rbrew_read32(cpu->mem, _t116); /* 02986BF8 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986BF8 */ _t118 = _t117 & 0x00000001u; /* 02986BF8 */ if (_t118) goto L_02986BFC; else goto L_02986C10; L_02986BFC: ; // 0x2986bfc /* 02986BFC */ cpu->r[11] = 0x00000001u; /* 02986C00 */ _t119 = cpu->r[16] + 0xFFFFE218u; /* 02986C00 */ rbrew_write32(cpu->mem, _t119, cpu->r[11]); /* 02986C04 */ cpu->r[11] = 0x10150000u; /* 02986C08 */ cpu->r[11] = cpu->r[11] + 0xFFFFEDC8u; /* 02986C0C */ _t120 = cpu->r[22] + 0xFFFFEF88u; /* 02986C0C */ rbrew_write32(cpu->mem, _t120, cpu->r[11]); L_02986C10: ; // 0x2986c10 /* 02986C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u); /* 02986C14 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986C14 */ _t122 = _t121 & 0x00000001u; /* 02986C14 */ if (_t122) goto L_02986C44; else goto L_02986C18; L_02986C18: ; // 0x2986c18 /* 02986C18 */ _t123 = cpu->r[17] + 0x00000088u; /* 02986C18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123); /* 02986C1C */ _t124 = cpu->r[12] + 0x0000000Cu; /* 02986C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t124); /* 02986C20 */ cpu->ctr = cpu->r[0]; /* 02986C24 */ cpu->r[3] = cpu->r[17]; /* 02986C28 */ cpu->r[4] = cpu->r[22] + 0xFFFFEF88u; /* 02986C2C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02986C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986C34 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986C34 */ _t126 = _t125 & 0x00000001u; /* 02986C34 */ if (_t126) goto L_02986C44; else goto L_02986C38; L_02986C38: ; // 0x2986c38 /* 02986C38 */ cpu->r[12] = cpu->r[17]; /* 02986C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02986C3C */ _t127 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986C3C */ _t128 = _t127 & 0x00000001u; /* 02986C3C */ if (_t128) goto L_02986C40; else goto L_02986C58; L_02986C40: ; // 0x2986c40 /* 02986C40 */ goto L_02986C78; L_02986C44: ; // 0x2986c44 /* 02986C44 */ cpu->r[19] = cpu->r[19] + 0x0000000Cu; /* 02986C48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[24]); /* 02986C4C */ cpu->r[12] = 0x00000000u; /* 02986C50 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986C50 */ _t130 = _t129 & 0x00000001u; /* 02986C50 */ if (_t130) goto L_02986C54; else goto L_02986BAC; L_02986C54: ; // 0x2986c54 /* 02986C54 */ goto L_02986C84; L_02986C58: ; // 0x2986c58 /* 02986C58 */ _t131 = cpu->r[12] + 0x00000094u; /* 02986C58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t131); /* 02986C5C */ cpu->r[3] = cpu->r[23]; /* 02986C60 */ Gambit_fn_029867AC(cpu); /* 02986C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986C68 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986C68 */ _t133 = _t132 & 0x00000001u; /* 02986C68 */ if (_t133) goto L_02986C78; else goto L_02986C6C; L_02986C6C: ; // 0x2986c6c /* 02986C6C */ _t134 = cpu->r[21] + 0x00000000u; /* 02986C6C */ rbrew_write32(cpu->mem, _t134, cpu->r[15]); /* 02986C70 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 02986C74 */ cpu->r[21] = cpu->r[21] + 0x00000004u; L_02986C78: ; // 0x2986c78 /* 02986C78 */ cpu->r[19] = cpu->r[19] + 0x0000000Cu; /* 02986C7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[24]); /* 02986C80 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986C80 */ _t136 = _t135 & 0x00000001u; /* 02986C80 */ if (_t136) goto L_02986C84; else goto L_02986BAC; L_02986C84: ; // 0x2986c84 /* 02986C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02986C88 */ _t137 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986C88 */ _t138 = _t137 & 0x00000001u; /* 02986C88 */ if (_t138) goto L_02986C8C; else goto L_02986D40; L_02986C8C: ; // 0x2986c8c /* 02986C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000000u); /* 02986C90 */ cpu->r[3] = cpu->r[14]; /* 02986C94 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986C94 */ _t140 = _t139 & 0x00000001u; /* 02986C94 */ if (_t140) goto L_02986C98; else goto L_02986CA4; L_02986C98: ; // 0x2986c98 /* 02986C98 */ _t141 = cpu->r[1] + 0x00000014u; /* 02986C98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t141); /* 02986C9C */ _t142 = cpu->r[11] + 0x00000000u; /* 02986C9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t142); /* 02986CA0 */ Gambit_fn_02826F20(cpu); L_02986CA4: ; // 0x2986ca4 /* 02986CA4 */ _t143 = cpu->r[3] + 0x0000000Cu; /* 02986CA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t143); /* 02986CA8 */ _t144 = cpu->r[10] + 0x00000034u; /* 02986CA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t144); /* 02986CAC */ cpu->ctr = cpu->r[11]; /* 02986CB0 */ cpu->r[5] = 0x00000004u; /* 02986CB4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02986CB8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02986CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02986CC0 */ cpu->r[6] = cpu->r[26]; /* 02986CC4 */ _t145 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986CC4 */ _t146 = _t145 & 0x00000001u; /* 02986CC4 */ if (_t146) goto L_02986CCC; else goto L_02986CC8; L_02986CC8: ; // 0x2986cc8 /* 02986CC8 */ cpu->r[6] = 0x00000001u; L_02986CCC: ; // 0x2986ccc /* 02986CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986CD0 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986CD0 */ _t148 = _t147 & 0x00000001u; /* 02986CD0 */ if (_t148) goto L_02986CD4; else goto L_02986CF4; L_02986CD4: ; // 0x2986cd4 /* 02986CD4 */ _t149 = cpu->r[18] + 0x00000004u; /* 02986CD4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t149); /* 02986CD8 */ _t150 = cpu->r[18] + 0x00000008u; /* 02986CD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t150); /* 02986CDC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02986CE0 */ cpu->r[0] = cpu->r[3] + cpu->r[0]; /* 02986CE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 02986CE8 */ cpu->r[7] = cpu->r[3]; /* 02986CEC */ _t151 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986CEC */ _t152 = _t151 & 0x00000001u; /* 02986CEC */ if (_t152) goto L_02986D30; else goto L_02986CF0; L_02986CF0: ; // 0x2986cf0 /* 02986CF0 */ goto L_02986D10; L_02986CF4: ; // 0x2986cf4 /* 02986CF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02986CF8 */ _t153 = cpu->r[18] + 0x00000004u; /* 02986CF8 */ rbrew_write32(cpu->mem, _t153, cpu->r[26]); /* 02986CFC */ cpu->r[0] = cpu->r[3] + cpu->r[0]; /* 02986D00 */ _t154 = cpu->r[18] + 0x00000008u; /* 02986D00 */ rbrew_write32(cpu->mem, _t154, cpu->r[3]); /* 02986D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 02986D08 */ cpu->r[7] = cpu->r[3]; /* 02986D0C */ _t155 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986D0C */ _t156 = _t155 & 0x00000001u; /* 02986D0C */ if (_t156) goto L_02986D30; else goto L_02986D10; L_02986D10: ; // 0x2986d10 /* 02986D10 */ cpu->r[11] = cpu->r[1] + 0x00000040u; L_02986D14: ; // 0x2986d14 /* 02986D14 */ cpu->r[12] = cpu->r[3] - cpu->r[7]; /* 02986D18 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Du); /* 02986D1C */ _t157 = cpu->r[4] + cpu->r[11]; /* 02986D1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t157); /* 02986D20 */ _t158 = cpu->r[3] + 0x00000000u; /* 02986D20 */ rbrew_write16(cpu->mem, _t158, (uint16_t)cpu->r[5]); /* 02986D24 */ cpu->r[3] = cpu->r[3] + 0x00000002u; /* 02986D28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 02986D2C */ _t159 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986D2C */ _t160 = _t159 & 0x00000001u; /* 02986D2C */ if (_t160) goto L_02986D30; else goto L_02986D14; L_02986D30: ; // 0x2986d30 /* 02986D30 */ _t161 = cpu->r[1] + 0x00000028u; /* 02986D30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t161); /* 02986D34 */ cpu->r[0] = cpu->r[26] + 0xFFFFFFFFu; /* 02986D38 */ cpu->r[0] = cpu->r[9] + cpu->r[0]; /* 02986D3C */ _t162 = cpu->r[1] + 0x00000028u; /* 02986D3C */ rbrew_write32(cpu->mem, _t162, cpu->r[0]); L_02986D40: ; // 0x2986d40 /* 02986D40 */ _t163 = cpu->r[1] + 0x00000020u; /* 02986D40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t163); /* 02986D44 */ _t164 = cpu->r[1] + 0x0000002Cu; /* 02986D44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t164); /* 02986D48 */ cpu->r[4] = cpu->r[6] + 0xFFFFFFFFu; /* 02986D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02986D4C */ _t165 = cpu->r[1] + 0x00000008u; /* 02986D4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t165); /* 02986D50 */ cpu->r[8] = cpu->r[9] + 0x00000008u; /* 02986D54 */ _t166 = cpu->r[1] + 0x00000020u; /* 02986D54 */ rbrew_write32(cpu->mem, _t166, cpu->r[4]); /* 02986D58 */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 02986D5C */ _t167 = cpu->r[1] + 0x0000002Cu; /* 02986D5C */ rbrew_write32(cpu->mem, _t167, cpu->r[8]); /* 02986D60 */ _t168 = cpu->r[1] + 0x00000008u; /* 02986D60 */ rbrew_write32(cpu->mem, _t168, cpu->r[0]); /* 02986D64 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986D64 */ _t170 = _t169 & 0x00000001u; /* 02986D64 */ if (_t170) goto L_02986D90; else goto L_02986D68; L_02986D68: ; // 0x2986d68 /* 02986D68 */ _t171 = cpu->r[27] + 0x00000000u; /* 02986D68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t171); /* 02986D6C */ _t172 = cpu->r[6] + 0x0000001Cu; /* 02986D6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t172); /* 02986D70 */ cpu->r[26] = 0x00000000u; /* 02986D74 */ _t173 = cpu->r[5] + 0x0000003Cu; /* 02986D74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t173); /* 02986D78 */ cpu->r[6] = cpu->r[26]; /* 02986D7C */ _t174 = cpu->r[1] + 0x00000008u; /* 02986D7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t174); /* 02986D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02986D84 */ cpu->r[8] = cpu->r[5] + 0x0000003Cu; /* 02986D88 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986D88 */ _t176 = _t175 & 0x00000001u; /* 02986D88 */ if (_t176) goto L_02986A14; else goto L_02986D8C; L_02986D8C: ; // 0x2986d8c /* 02986D8C */ goto L_02986A10; L_02986D90: ; // 0x2986d90 /* 02986D90 */ _t177 = cpu->r[1] + 0x00000010u; /* 02986D90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t177); /* 02986D94 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 02986D98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[7]); /* 02986D9C */ _t178 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986D9C */ _t179 = _t178 & 0x00000001u; /* 02986D9C */ if (_t179) goto L_02986DA0; else goto L_029869B4; L_02986DA0: ; // 0x2986da0 /* 02986DA0 */ _t180 = cpu->r[29] + 0x00000084u; /* 02986DA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t180); /* 02986DA4 */ cpu->r[3] = cpu->r[30]; /* 02986DA8 */ Gambit_fn_02C5EA2C(cpu); /* 02986DAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]); /* 02986DB0 */ _t181 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986DB0 */ _t182 = _t181 & 0x00000001u; /* 02986DB0 */ if (_t182) goto L_02986DB4; else goto L_02986DB8; L_02986DB4: ; // 0x2986db4 /* 02986DB4 */ cpu->r[31] = cpu->r[3]; L_02986DB8: ; // 0x2986db8 /* 02986DB8 */ _t183 = cpu->r[1] + 0x00000028u; /* 02986DB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t183); /* 02986DBC */ _t184 = cpu->r[29] + 0x00000084u; /* 02986DBC */ rbrew_write32(cpu->mem, _t184, cpu->r[31]); /* 02986DC0 */ /* nop */ /* 02986DC4 */ _t185 = cpu->r[1] + 0x0000048Cu; /* 02986DC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t185); /* 02986DC8 */ cpu->lr = cpu->r[0]; /* 02986DCC */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 02986DD0 */ return; } // fn_02986DD4 @ 0x2986dd4 void Gambit_fn_02986DD4(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; L_02986DD4: ; // 0x2986dd4 /* 02986DD4 */ _t0 = cpu->r[1] + 0xFFFFFB78u; /* 02986DD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02986DD4 */ cpu->r[1] = _t0; /* 02986DD8 */ /* nop */ /* 02986DDC */ cpu->r[0] = cpu->lr; /* 02986DE0 */ cpu->r[30] = cpu->r[6]; /* 02986DE4 */ cpu->r[28] = cpu->r[7]; /* 02986DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02986DE8 */ cpu->r[25] = cpu->r[8]; /* 02986DEC */ cpu->r[31] = cpu->r[9]; /* 02986DF0 */ _t1 = cpu->r[1] + 0x0000048Cu; /* 02986DF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02986DF4 */ cpu->r[29] = cpu->r[3]; /* 02986DF8 */ cpu->r[14] = cpu->r[10]; /* 02986DFC */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02986DFC */ rbrew_write32(cpu->mem, _t2, cpu->r[5]); /* 02986E00 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986E00 */ _t4 = _t3 & 0x00000001u; /* 02986E00 */ if (_t4) goto L_02986E1C; else goto L_02986E04; L_02986E04: ; // 0x2986e04 /* 02986E04 */ /* nop */ /* 02986E08 */ _t5 = cpu->r[1] + 0x0000048Cu; /* 02986E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 02986E0C */ cpu->lr = cpu->r[0]; /* 02986E10 */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 02986E14 */ cpu->r[3] = 0x00000000u; /* 02986E18 */ return; L_02986E1C: ; // 0x2986e1c /* 02986E1C */ cpu->r[0] = 0x00000000u; /* 02986E20 */ _t6 = cpu->r[1] + 0x00000028u; /* 02986E20 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02986E24 */ cpu->r[0] = 0x101D0000u; /* 02986E28 */ cpu->r[0] = cpu->r[0] + 0xFFFF98F0u; /* 02986E2C */ cpu->r[3] = cpu->r[14]; /* 02986E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986E30 */ _t7 = cpu->r[1] + 0x00000014u; /* 02986E30 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 02986E34 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986E34 */ _t9 = _t8 & 0x00000001u; /* 02986E34 */ if (_t9) goto L_02986E38; else goto L_02986E44; L_02986E38: ; // 0x2986e38 /* 02986E38 */ _t10 = cpu->r[1] + 0x00000014u; /* 02986E38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 02986E3C */ _t11 = cpu->r[10] + 0x00000000u; /* 02986E3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 02986E40 */ Gambit_fn_02826F20(cpu); L_02986E44: ; // 0x2986e44 /* 02986E44 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02986E44 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12); /* 02986E48 */ _t13 = cpu->r[5] + 0x00000034u; /* 02986E48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13); /* 02986E4C */ cpu->ctr = cpu->r[6]; /* 02986E50 */ cpu->r[5] = 0x00000004u; /* 02986E54 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x0000000Cu); /* 02986E58 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02986E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02986E60 */ cpu->r[0] = cpu->r[28]; /* 02986E64 */ cpu->r[9] = 0x00000000u; /* 02986E68 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u); /* 02986E68 */ _t15 = _t14 & 0x00000001u; /* 02986E68 */ if (_t15) goto L_02986E70; else goto L_02986E6C; L_02986E6C: ; // 0x2986e6c /* 02986E6C */ cpu->r[0] = 0x00000001u; L_02986E70: ; // 0x2986e70 /* 02986E70 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02986E74 */ cpu->ctr = cpu->r[0]; /* 02986E78 */ cpu->r[8] = 0x00000000u; L_02986E7C: ; // 0x2986e7c /* 02986E7C */ cpu->r[7] = cpu->r[3] + cpu->r[6]; /* 02986E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02986E80 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986E80 */ _t17 = _t16 & 0x00000001u; /* 02986E80 */ if (_t17) goto L_02986E8C; else goto L_02986E84; L_02986E84: ; // 0x2986e84 /* 02986E84 */ _t18 = cpu->r[7] + 0x00000008u; /* 02986E84 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]); /* 02986E88 */ _t19 = cpu->r[7] + 0x00000004u; /* 02986E88 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]); L_02986E8C: ; // 0x2986e8c /* 02986E8C */ cpu->r[6] = cpu->r[6] + 0x0000000Cu; /* 02986E90 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02986E90 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02986E90 */ _t21 = _t20 >> (0x00000002u & 31u); /* 02986E90 */ _t22 = _t21 & 0x00000001u; /* 02986E90 */ if (_t22) goto L_02986E7C; else goto L_02986E94; L_02986E94: ; // 0x2986e94 /* 02986E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02986E98 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986E98 */ _t24 = _t23 & 0x00000001u; /* 02986E98 */ if (_t24) goto L_02986EA4; else goto L_02986E9C; L_02986E9C: ; // 0x2986e9c /* 02986E9C */ _t25 = cpu->r[25] + 0x00000004u; /* 02986E9C */ rbrew_write32(cpu->mem, _t25, cpu->r[3]); /* 02986EA0 */ _t26 = cpu->r[25] + 0x00000000u; /* 02986EA0 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]); L_02986EA4: ; // 0x2986ea4 /* 02986EA4 */ _t27 = cpu->r[29] + 0x00000074u; /* 02986EA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27); /* 02986EA8 */ _t28 = cpu->r[29] + 0x0000007Cu; /* 02986EA8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t28); /* 02986EAC */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02986EB0 */ cpu->r[4] = 0x00000000u; /* 02986EB4 */ cpu->r[7] = cpu->r[27] + cpu->r[5]; /* 02986EB8 */ _t29 = cpu->r[1] + 0x00000018u; /* 02986EB8 */ rbrew_write32(cpu->mem, _t29, cpu->r[4]); /* 02986EBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[7]); /* 02986EC0 */ _t30 = cpu->r[1] + 0x00000010u; /* 02986EC0 */ rbrew_write32(cpu->mem, _t30, cpu->r[7]); /* 02986EC4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986EC4 */ _t32 = _t31 & 0x00000001u; /* 02986EC4 */ if (_t32) goto L_029872B4; else goto L_02986EC8; L_02986EC8: ; // 0x2986ec8 /* 02986EC8 */ _t33 = cpu->r[27] + 0x00000000u; /* 02986EC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33); /* 02986ECC */ _t34 = cpu->r[6] + 0x0000001Cu; /* 02986ECC */ cpu->r[10] = rbrew_read32(cpu->mem, _t34); /* 02986ED0 */ _t35 = cpu->r[10] + 0x00000060u; /* 02986ED0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t35); /* 02986ED4 */ cpu->r[10] = 0x00000000u; /* 02986ED8 */ _t36 = cpu->r[1] + 0x00000020u; /* 02986ED8 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]); /* 02986EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02986EE0 */ _t37 = cpu->r[1] + 0x00000008u; /* 02986EE0 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]); /* 02986EE4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986EE4 */ _t39 = _t38 & 0x00000001u; /* 02986EE4 */ if (_t39) goto L_029872A4; else goto L_02986EE8; L_02986EE8: ; // 0x2986ee8 /* 02986EE8 */ _t40 = cpu->r[1] + 0x0000000Cu; /* 02986EE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40); /* 02986EEC */ cpu->r[8] = 0x00000000u; /* 02986EF0 */ _t41 = cpu->r[1] + 0x0000002Cu; /* 02986EF0 */ rbrew_write32(cpu->mem, _t41, cpu->r[8]); /* 02986EF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02986EF8 */ _t42 = cpu->r[1] + 0x0000001Cu; /* 02986EF8 */ rbrew_write32(cpu->mem, _t42, cpu->r[8]); /* 02986EFC */ cpu->r[28] = cpu->r[30] + 0x00000010u; /* 02986F00 */ _t43 = cpu->r[1] + 0x00000024u; /* 02986F00 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]); /* 02986F04 */ _t44 = cpu->r[6] + 0x0000001Cu; /* 02986F04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44); /* 02986F08 */ cpu->r[26] = 0x00000000u; /* 02986F0C */ _t45 = cpu->r[5] + 0x00000040u; /* 02986F0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t45); /* 02986F10 */ cpu->r[6] = cpu->r[26]; /* 02986F14 */ cpu->r[8] = cpu->r[5] + 0x00000040u; /* 02986F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02986F1C */ _t46 = cpu->r[1] + 0x00000008u; /* 02986F1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t46); /* 02986F20 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986F20 */ _t48 = _t47 & 0x00000001u; /* 02986F20 */ if (_t48) goto L_02986F28; else goto L_02986F24; L_02986F24: ; // 0x2986f24 /* 02986F24 */ cpu->r[6] = cpu->r[8] + cpu->r[4]; L_02986F28: ; // 0x2986f28 /* 02986F28 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x00000000u, 0x0000001Bu); /* 02986F2C */ cpu->r[12] = cpu->r[6] + cpu->r[12]; /* 02986F30 */ _t49 = cpu->r[12] + 0x00000024u; /* 02986F30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49); /* 02986F34 */ cpu->r[10] = 0x00000000u; /* 02986F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02986F3C */ cpu->r[7] = cpu->r[12] + 0x00000024u; /* 02986F40 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986F40 */ _t51 = _t50 & 0x00000001u; /* 02986F40 */ if (_t51) goto L_02986F48; else goto L_02986F44; L_02986F44: ; // 0x2986f44 /* 02986F44 */ cpu->r[10] = cpu->r[7] + cpu->r[9]; L_02986F48: ; // 0x2986f48 /* 02986F48 */ cpu->r[23] = cpu->r[10]; /* 02986F4C */ _t52 = cpu->r[23] + 0x0000000Cu; /* 02986F4C */ cpu->r[7] = rbrew_read16(cpu->mem, _t52); /* 02986F50 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000017u, 0x00000017u); /* 02986F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 02986F54 */ _t53 = cpu->r[23] + 0x00000014u; /* 02986F54 */ cpu->r[0] = rbrew_read16(cpu->mem, _t53); /* 02986F58 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 02986F58 */ _t55 = _t54 & 0x00000001u; /* 02986F58 */ if (_t55) goto L_02986F5C; else goto L_02986F9C; L_02986F5C: ; // 0x2986f5c /* 02986F5C */ _t56 = cpu->r[1] + 0x00000038u; /* 02986F5C */ rbrew_write32(cpu->mem, _t56, cpu->r[0]); /* 02986F60 */ _t57 = cpu->r[30] + 0x00000008u; /* 02986F60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57); /* 02986F64 */ cpu->r[8] = cpu->r[1] + 0x00000038u; /* 02986F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]); /* 02986F6C */ cpu->r[4] = cpu->r[30] + 0x00000008u; /* 02986F70 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986F70 */ _t59 = _t58 & 0x00000001u; /* 02986F70 */ if (_t59) goto L_02986F78; else goto L_02986F74; L_02986F74: ; // 0x2986f74 /* 02986F74 */ cpu->r[8] = cpu->r[4]; L_02986F78: ; // 0x2986f78 /* 02986F78 */ _t60 = cpu->r[8] + 0x00000000u; /* 02986F78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60); /* 02986F7C */ _t61 = cpu->r[4] + 0x00000000u; /* 02986F7C */ rbrew_write32(cpu->mem, _t61, cpu->r[12]); /* 02986F80 */ _t62 = cpu->r[23] + 0x00000016u; /* 02986F80 */ cpu->r[0] = rbrew_read16(cpu->mem, _t62); /* 02986F84 */ _t63 = cpu->r[28] + 0x00000000u; /* 02986F84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t63); /* 02986F88 */ _t64 = cpu->r[1] + 0x00000034u; /* 02986F88 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]); /* 02986F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 02986F90 */ cpu->r[10] = cpu->r[1] + 0x00000034u; /* 02986F94 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986F94 */ _t66 = _t65 & 0x00000001u; /* 02986F94 */ if (_t66) goto L_02986FDC; else goto L_02986F98; L_02986F98: ; // 0x2986f98 /* 02986F98 */ goto L_02986FD8; L_02986F9C: ; // 0x2986f9c /* 02986F9C */ _t67 = cpu->r[30] + 0x0000000Cu; /* 02986F9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t67); /* 02986FA0 */ cpu->r[4] = cpu->r[30] + 0x0000000Cu; /* 02986FA4 */ cpu->r[9] = cpu->r[1] + 0x0000003Cu; /* 02986FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]); /* 02986FAC */ _t68 = cpu->r[1] + 0x0000003Cu; /* 02986FAC */ rbrew_write32(cpu->mem, _t68, cpu->r[0]); /* 02986FB0 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986FB0 */ _t70 = _t69 & 0x00000001u; /* 02986FB0 */ if (_t70) goto L_02986FB8; else goto L_02986FB4; L_02986FB4: ; // 0x2986fb4 /* 02986FB4 */ cpu->r[9] = cpu->r[4]; L_02986FB8: ; // 0x2986fb8 /* 02986FB8 */ _t71 = cpu->r[9] + 0x00000000u; /* 02986FB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t71); /* 02986FBC */ _t72 = cpu->r[4] + 0x00000000u; /* 02986FBC */ rbrew_write32(cpu->mem, _t72, cpu->r[12]); /* 02986FC0 */ _t73 = cpu->r[23] + 0x00000016u; /* 02986FC0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t73); /* 02986FC4 */ _t74 = cpu->r[28] + 0x00000000u; /* 02986FC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74); /* 02986FC8 */ _t75 = cpu->r[1] + 0x00000034u; /* 02986FC8 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]); /* 02986FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 02986FD0 */ cpu->r[10] = cpu->r[1] + 0x00000034u; /* 02986FD4 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u); /* 02986FD4 */ _t77 = _t76 & 0x00000001u; /* 02986FD4 */ if (_t77) goto L_02986FDC; else goto L_02986FD8; L_02986FD8: ; // 0x2986fd8 /* 02986FD8 */ cpu->r[10] = cpu->r[28]; L_02986FDC: ; // 0x2986fdc /* 02986FDC */ _t78 = cpu->r[10] + 0x00000000u; /* 02986FDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t78); /* 02986FE0 */ _t79 = cpu->r[1] + 0x00000018u; /* 02986FE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t79); /* 02986FE4 */ _t80 = cpu->r[28] + 0x00000000u; /* 02986FE4 */ rbrew_write32(cpu->mem, _t80, cpu->r[12]); /* 02986FE8 */ _t81 = cpu->r[23] + 0x0000000Cu; /* 02986FE8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t81); /* 02986FEC */ _t82 = cpu->r[1] + 0x0000001Cu; /* 02986FEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t82); /* 02986FF0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02986FF4 */ _t83 = cpu->r[30] + 0x00000015u; /* 02986FF4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t83); /* 02986FF8 */ cpu->r[5] = cpu->r[4] ^ 0x00000001u; /* 02986FFC */ _t84 = cpu->r[30] + 0x0000001Cu; /* 02986FFC */ rbrew_write32(cpu->mem, _t84, cpu->r[7]); /* 02987000 */ cpu->r[12] = cpu->r[12] | cpu->r[5]; /* 02987004 */ _t85 = cpu->r[30] + 0x00000018u; /* 02987004 */ rbrew_write32(cpu->mem, _t85, cpu->r[7]); /* 02987008 */ _t86 = cpu->r[30] + 0x00000015u; /* 02987008 */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[12]); /* 0298700C */ _t87 = cpu->r[25] + 0x00000000u; /* 0298700C */ cpu->r[5] = rbrew_read32(cpu->mem, _t87); /* 02987010 */ _t88 = cpu->r[25] + 0x00000004u; /* 02987010 */ cpu->r[9] = rbrew_read32(cpu->mem, _t88); /* 02987014 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[5]); /* 02987018 */ _t89 = cpu->r[27] + 0x00000000u; /* 02987018 */ cpu->r[4] = rbrew_read32(cpu->mem, _t89); /* 0298701C */ cpu->r[0] = cpu->r[11] + 0x00000001u; /* 02987020 */ _t90 = cpu->r[1] + 0x00000018u; /* 02987020 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]); /* 02987024 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987024 */ _t92 = _t91 & 0x00000001u; /* 02987024 */ if (_t92) goto L_02987028; else goto L_02987064; L_02987028: ; // 0x2987028 /* 02987028 */ _t93 = cpu->r[1] + 0x00000024u; /* 02987028 */ cpu->r[6] = rbrew_read32(cpu->mem, _t93); /* 0298702C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Cu); /* 02987030 */ cpu->r[12] = cpu->r[4] + cpu->r[6]; /* 02987034 */ _t94 = cpu->r[1] + 0x0000002Cu; /* 02987034 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94); /* 02987038 */ _t95 = cpu->r[12] + 0x0000002Cu; /* 02987038 */ cpu->r[5] = rbrew_read32(cpu->mem, _t95); /* 0298703C */ cpu->r[18] = cpu->r[9] + cpu->r[8]; /* 02987040 */ cpu->r[9] = cpu->r[5] + cpu->r[4]; /* 02987044 */ _t96 = cpu->r[18] + 0x00000000u; /* 02987044 */ rbrew_write32(cpu->mem, _t96, cpu->r[9]); /* 02987048 */ _t97 = cpu->r[29] + 0x00000008u; /* 02987048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97); /* 0298704C */ _t98 = cpu->r[29] + 0x0000000Cu; /* 0298704C */ cpu->r[11] = rbrew_read32(cpu->mem, _t98); /* 02987050 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 02987054 */ cpu->r[8] = cpu->r[11] + cpu->r[6]; /* 02987058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]); /* 0298705C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298705C */ _t100 = _t99 & 0x00000001u; /* 0298705C */ if (_t100) goto L_02987198; else goto L_02987060; L_02987060: ; // 0x2987060 /* 02987060 */ goto L_02987098; L_02987064: ; // 0x2987064 /* 02987064 */ _t101 = cpu->r[1] + 0x00000024u; /* 02987064 */ cpu->r[6] = rbrew_read32(cpu->mem, _t101); /* 02987068 */ cpu->r[12] = cpu->r[4] + cpu->r[6]; /* 0298706C */ _t102 = cpu->r[1] + 0x0000002Cu; /* 0298706C */ cpu->r[4] = rbrew_read32(cpu->mem, _t102); /* 02987070 */ _t103 = cpu->r[12] + 0x0000002Cu; /* 02987070 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103); /* 02987074 */ cpu->r[18] = cpu->r[9]; /* 02987078 */ cpu->r[9] = cpu->r[5] + cpu->r[4]; /* 0298707C */ _t104 = cpu->r[18] + 0x00000000u; /* 0298707C */ rbrew_write32(cpu->mem, _t104, cpu->r[9]); /* 02987080 */ _t105 = cpu->r[29] + 0x00000008u; /* 02987080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105); /* 02987084 */ _t106 = cpu->r[29] + 0x0000000Cu; /* 02987084 */ cpu->r[11] = rbrew_read32(cpu->mem, _t106); /* 02987088 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu); /* 0298708C */ cpu->r[8] = cpu->r[11] + cpu->r[6]; /* 02987090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]); /* 02987094 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987094 */ _t108 = _t107 & 0x00000001u; /* 02987094 */ if (_t108) goto L_02987198; else goto L_02987098; L_02987098: ; // 0x2987098 /* 02987098 */ cpu->r[19] = cpu->r[11]; /* 0298709C */ cpu->r[7] = cpu->r[1] + 0x00000040u; /* 029870A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029870A4 */ cpu->r[24] = cpu->r[8]; /* 029870A8 */ cpu->r[20] = cpu->r[11]; /* 029870AC */ cpu->r[21] = cpu->r[7] + cpu->r[0]; /* 029870B0 */ cpu->r[0] = 0x00000001u; /* 029870B4 */ cpu->r[16] = 0x101D0000u; /* 029870B8 */ cpu->r[22] = 0x101D0000u; /* 029870BC */ _t109 = cpu->r[1] + 0x00000030u; /* 029870BC */ rbrew_write32(cpu->mem, _t109, cpu->r[0]); L_029870C0: ; // 0x29870c0 /* 029870C0 */ cpu->r[0] = 0xAAAA0000u; /* 029870C4 */ cpu->r[9] = cpu->r[19] - cpu->r[20]; /* 029870C8 */ cpu->r[0] = cpu->r[0] | 0x0000AAABu; /* 029870CC */ /* nop */ /* 029870D0 */ cpu->r[15] = rbrew_rlwinm(cpu->r[15], 0x0000001Du, 0x00000003u, 0x0000001Fu); /* 029870D4 */ cpu->r[17] = cpu->r[15]; /* 029870D8 */ cpu->r[3] = cpu->r[31]; /* 029870DC */ cpu->r[4] = cpu->r[17]; /* 029870E0 */ Gambit_fn_0297FC7C(cpu); /* 029870E4 */ _t110 = cpu->r[31] + 0x0000001Cu; /* 029870E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t110); /* 029870E8 */ cpu->r[12] = 0x00000000u; /* 029870EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[11]); /* 029870F0 */ _t111 = cpu->r[16] + 0xFFFFE218u; /* 029870F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t111); /* 029870F4 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u); /* 029870F4 */ _t113 = _t112 & 0x00000001u; /* 029870F4 */ if (_t113) goto L_029870F8; else goto L_02987104; L_029870F8: ; // 0x29870f8 /* 029870F8 */ _t114 = cpu->r[31] + 0x00000024u; /* 029870F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t114); /* 029870FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[17], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02987100 */ _t115 = cpu->r[12] + cpu->r[8]; /* 02987100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t115); L_02987104: ; // 0x2987104 /* 02987104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02987108 */ _t116 = cpu->r[12] + 0x00000000u; /* 02987108 */ cpu->r[17] = rbrew_read32(cpu->mem, _t116); /* 0298710C */ _t117 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298710C */ _t118 = _t117 & 0x00000001u; /* 0298710C */ if (_t118) goto L_02987110; else goto L_02987124; L_02987110: ; // 0x2987110 /* 02987110 */ cpu->r[11] = 0x00000001u; /* 02987114 */ _t119 = cpu->r[16] + 0xFFFFE218u; /* 02987114 */ rbrew_write32(cpu->mem, _t119, cpu->r[11]); /* 02987118 */ cpu->r[11] = 0x10150000u; /* 0298711C */ cpu->r[11] = cpu->r[11] + 0xFFFFEDC8u; /* 02987120 */ _t120 = cpu->r[22] + 0xFFFFEF88u; /* 02987120 */ rbrew_write32(cpu->mem, _t120, cpu->r[11]); L_02987124: ; // 0x2987124 /* 02987124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u); /* 02987128 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987128 */ _t122 = _t121 & 0x00000001u; /* 02987128 */ if (_t122) goto L_02987158; else goto L_0298712C; L_0298712C: ; // 0x298712c /* 0298712C */ _t123 = cpu->r[17] + 0x00000088u; /* 0298712C */ cpu->r[12] = rbrew_read32(cpu->mem, _t123); /* 02987130 */ _t124 = cpu->r[12] + 0x0000000Cu; /* 02987130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124); /* 02987134 */ cpu->ctr = cpu->r[0]; /* 02987138 */ cpu->r[3] = cpu->r[17]; /* 0298713C */ cpu->r[4] = cpu->r[22] + 0xFFFFEF88u; /* 02987140 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02987144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02987148 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987148 */ _t126 = _t125 & 0x00000001u; /* 02987148 */ if (_t126) goto L_02987158; else goto L_0298714C; L_0298714C: ; // 0x298714c /* 0298714C */ cpu->r[12] = cpu->r[17]; /* 0298714C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02987150 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987150 */ _t128 = _t127 & 0x00000001u; /* 02987150 */ if (_t128) goto L_02987154; else goto L_0298716C; L_02987154: ; // 0x2987154 /* 02987154 */ goto L_0298718C; L_02987158: ; // 0x2987158 /* 02987158 */ cpu->r[19] = cpu->r[19] + 0x0000000Cu; /* 0298715C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[24]); /* 02987160 */ cpu->r[12] = 0x00000000u; /* 02987164 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987164 */ _t130 = _t129 & 0x00000001u; /* 02987164 */ if (_t130) goto L_02987168; else goto L_029870C0; L_02987168: ; // 0x2987168 /* 02987168 */ goto L_02987198; L_0298716C: ; // 0x298716c /* 0298716C */ _t131 = cpu->r[12] + 0x00000094u; /* 0298716C */ cpu->r[4] = rbrew_read32(cpu->mem, _t131); /* 02987170 */ cpu->r[3] = cpu->r[23]; /* 02987174 */ Gambit_fn_029867AC(cpu); /* 02987178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298717C */ _t132 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298717C */ _t133 = _t132 & 0x00000001u; /* 0298717C */ if (_t133) goto L_0298718C; else goto L_02987180; L_02987180: ; // 0x2987180 /* 02987180 */ _t134 = cpu->r[21] + 0x00000000u; /* 02987180 */ rbrew_write32(cpu->mem, _t134, cpu->r[15]); /* 02987184 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 02987188 */ cpu->r[21] = cpu->r[21] + 0x00000004u; L_0298718C: ; // 0x298718c /* 0298718C */ cpu->r[19] = cpu->r[19] + 0x0000000Cu; /* 02987190 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[24]); /* 02987194 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987194 */ _t136 = _t135 & 0x00000001u; /* 02987194 */ if (_t136) goto L_02987198; else goto L_029870C0; L_02987198: ; // 0x2987198 /* 02987198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0298719C */ _t137 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298719C */ _t138 = _t137 & 0x00000001u; /* 0298719C */ if (_t138) goto L_029871A0; else goto L_02987254; L_029871A0: ; // 0x29871a0 /* 029871A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000000u); /* 029871A4 */ cpu->r[3] = cpu->r[14]; /* 029871A8 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u); /* 029871A8 */ _t140 = _t139 & 0x00000001u; /* 029871A8 */ if (_t140) goto L_029871AC; else goto L_029871B8; L_029871AC: ; // 0x29871ac /* 029871AC */ _t141 = cpu->r[1] + 0x00000014u; /* 029871AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t141); /* 029871B0 */ _t142 = cpu->r[11] + 0x00000000u; /* 029871B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t142); /* 029871B4 */ Gambit_fn_02826F20(cpu); L_029871B8: ; // 0x29871b8 /* 029871B8 */ _t143 = cpu->r[3] + 0x0000000Cu; /* 029871B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t143); /* 029871BC */ _t144 = cpu->r[10] + 0x00000034u; /* 029871BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t144); /* 029871C0 */ cpu->ctr = cpu->r[11]; /* 029871C4 */ cpu->r[5] = 0x00000004u; /* 029871C8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 029871CC */ rbrew_call_indirect(cpu, cpu->ctr); /* 029871D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 029871D4 */ cpu->r[6] = cpu->r[26]; /* 029871D8 */ _t145 = cpu->cr[0] >> (0x00000002u & 31u); /* 029871D8 */ _t146 = _t145 & 0x00000001u; /* 029871D8 */ if (_t146) goto L_029871E0; else goto L_029871DC; L_029871DC: ; // 0x29871dc /* 029871DC */ cpu->r[6] = 0x00000001u; L_029871E0: ; // 0x29871e0 /* 029871E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029871E4 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u); /* 029871E4 */ _t148 = _t147 & 0x00000001u; /* 029871E4 */ if (_t148) goto L_029871E8; else goto L_02987208; L_029871E8: ; // 0x29871e8 /* 029871E8 */ _t149 = cpu->r[18] + 0x00000004u; /* 029871E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t149); /* 029871EC */ _t150 = cpu->r[18] + 0x00000008u; /* 029871EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t150); /* 029871F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 029871F4 */ cpu->r[0] = cpu->r[3] + cpu->r[0]; /* 029871F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 029871FC */ cpu->r[7] = cpu->r[3]; /* 02987200 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987200 */ _t152 = _t151 & 0x00000001u; /* 02987200 */ if (_t152) goto L_02987244; else goto L_02987204; L_02987204: ; // 0x2987204 /* 02987204 */ goto L_02987224; L_02987208: ; // 0x2987208 /* 02987208 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 0298720C */ _t153 = cpu->r[18] + 0x00000004u; /* 0298720C */ rbrew_write32(cpu->mem, _t153, cpu->r[26]); /* 02987210 */ cpu->r[0] = cpu->r[3] + cpu->r[0]; /* 02987214 */ _t154 = cpu->r[18] + 0x00000008u; /* 02987214 */ rbrew_write32(cpu->mem, _t154, cpu->r[3]); /* 02987218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 0298721C */ cpu->r[7] = cpu->r[3]; /* 02987220 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987220 */ _t156 = _t155 & 0x00000001u; /* 02987220 */ if (_t156) goto L_02987244; else goto L_02987224; L_02987224: ; // 0x2987224 /* 02987224 */ cpu->r[11] = cpu->r[1] + 0x00000040u; L_02987228: ; // 0x2987228 /* 02987228 */ cpu->r[12] = cpu->r[3] - cpu->r[7]; /* 0298722C */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Du); /* 02987230 */ _t157 = cpu->r[4] + cpu->r[11]; /* 02987230 */ cpu->r[5] = rbrew_read32(cpu->mem, _t157); /* 02987234 */ _t158 = cpu->r[3] + 0x00000000u; /* 02987234 */ rbrew_write16(cpu->mem, _t158, (uint16_t)cpu->r[5]); /* 02987238 */ cpu->r[3] = cpu->r[3] + 0x00000002u; /* 0298723C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 02987240 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987240 */ _t160 = _t159 & 0x00000001u; /* 02987240 */ if (_t160) goto L_02987244; else goto L_02987228; L_02987244: ; // 0x2987244 /* 02987244 */ _t161 = cpu->r[1] + 0x00000028u; /* 02987244 */ cpu->r[9] = rbrew_read32(cpu->mem, _t161); /* 02987248 */ cpu->r[0] = cpu->r[26] + 0xFFFFFFFFu; /* 0298724C */ cpu->r[0] = cpu->r[9] + cpu->r[0]; /* 02987250 */ _t162 = cpu->r[1] + 0x00000028u; /* 02987250 */ rbrew_write32(cpu->mem, _t162, cpu->r[0]); L_02987254: ; // 0x2987254 /* 02987254 */ _t163 = cpu->r[1] + 0x00000020u; /* 02987254 */ cpu->r[6] = rbrew_read32(cpu->mem, _t163); /* 02987258 */ _t164 = cpu->r[1] + 0x0000002Cu; /* 02987258 */ cpu->r[9] = rbrew_read32(cpu->mem, _t164); /* 0298725C */ cpu->r[4] = cpu->r[6] + 0xFFFFFFFFu; /* 0298725C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02987260 */ _t165 = cpu->r[1] + 0x00000008u; /* 02987260 */ cpu->r[12] = rbrew_read32(cpu->mem, _t165); /* 02987264 */ cpu->r[8] = cpu->r[9] + 0x00000008u; /* 02987268 */ _t166 = cpu->r[1] + 0x00000020u; /* 02987268 */ rbrew_write32(cpu->mem, _t166, cpu->r[4]); /* 0298726C */ cpu->r[0] = cpu->r[12] + 0x00000001u; /* 02987270 */ _t167 = cpu->r[1] + 0x0000002Cu; /* 02987270 */ rbrew_write32(cpu->mem, _t167, cpu->r[8]); /* 02987274 */ _t168 = cpu->r[1] + 0x00000008u; /* 02987274 */ rbrew_write32(cpu->mem, _t168, cpu->r[0]); /* 02987278 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987278 */ _t170 = _t169 & 0x00000001u; /* 02987278 */ if (_t170) goto L_029872A4; else goto L_0298727C; L_0298727C: ; // 0x298727c /* 0298727C */ _t171 = cpu->r[27] + 0x00000000u; /* 0298727C */ cpu->r[6] = rbrew_read32(cpu->mem, _t171); /* 02987280 */ _t172 = cpu->r[6] + 0x0000001Cu; /* 02987280 */ cpu->r[5] = rbrew_read32(cpu->mem, _t172); /* 02987284 */ cpu->r[26] = 0x00000000u; /* 02987288 */ _t173 = cpu->r[5] + 0x00000040u; /* 02987288 */ cpu->r[4] = rbrew_read32(cpu->mem, _t173); /* 0298728C */ cpu->r[6] = cpu->r[26]; /* 02987290 */ _t174 = cpu->r[1] + 0x00000008u; /* 02987290 */ cpu->r[7] = rbrew_read32(cpu->mem, _t174); /* 02987294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02987298 */ cpu->r[8] = cpu->r[5] + 0x00000040u; /* 0298729C */ _t175 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298729C */ _t176 = _t175 & 0x00000001u; /* 0298729C */ if (_t176) goto L_02986F28; else goto L_029872A0; L_029872A0: ; // 0x29872a0 /* 029872A0 */ goto L_02986F24; L_029872A4: ; // 0x29872a4 /* 029872A4 */ _t177 = cpu->r[1] + 0x00000010u; /* 029872A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t177); /* 029872A8 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 029872AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[7]); /* 029872B0 */ _t178 = cpu->cr[0] >> (0x00000001u & 31u); /* 029872B0 */ _t179 = _t178 & 0x00000001u; /* 029872B0 */ if (_t179) goto L_029872B4; else goto L_02986EC8; L_029872B4: ; // 0x29872b4 /* 029872B4 */ _t180 = cpu->r[29] + 0x00000084u; /* 029872B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t180); /* 029872B8 */ cpu->r[3] = cpu->r[30]; /* 029872BC */ Gambit_fn_02C5EA2C(cpu); /* 029872C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]); /* 029872C4 */ _t181 = cpu->cr[0] >> (0x00000002u & 31u); /* 029872C4 */ _t182 = _t181 & 0x00000001u; /* 029872C4 */ if (_t182) goto L_029872C8; else goto L_029872CC; L_029872C8: ; // 0x29872c8 /* 029872C8 */ cpu->r[31] = cpu->r[3]; L_029872CC: ; // 0x29872cc /* 029872CC */ _t183 = cpu->r[1] + 0x00000028u; /* 029872CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t183); /* 029872D0 */ _t184 = cpu->r[29] + 0x00000084u; /* 029872D0 */ rbrew_write32(cpu->mem, _t184, cpu->r[31]); /* 029872D4 */ /* nop */ /* 029872D8 */ _t185 = cpu->r[1] + 0x0000048Cu; /* 029872D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t185); /* 029872DC */ cpu->lr = cpu->r[0]; /* 029872E0 */ cpu->r[1] = cpu->r[1] + 0x00000488u; /* 029872E4 */ return; } // fn_029872E8 @ 0x29872e8 void Gambit_fn_029872E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_029872E8: ; // 0x29872e8 /* 029872E8 */ cpu->r[11] = 0x00000000u; /* 029872EC */ _t0 = cpu->r[3] + 0x00000088u; /* 029872EC */ cpu->r[0] = rbrew_read16(cpu->mem, _t0); /* 029872F0 */ _t1 = cpu->r[4] + 0x00000018u; /* 029872F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]); /* 029872F4 */ _t2 = cpu->r[4] + 0x00000000u; /* 029872F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 029872F8 */ _t3 = cpu->r[4] + 0x00000014u; /* 029872F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]); /* 029872FC */ return; } // fn_02987300 @ 0x2987300 void Gambit_fn_02987300(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; L_02987300: ; // 0x2987300 /* 02987300 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 02987300 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02987300 */ cpu->r[1] = _t0; /* 02987304 */ /* nop */ /* 02987308 */ cpu->r[0] = cpu->lr; /* 0298730C */ _t1 = cpu->r[1] + 0x0000006Cu; /* 0298730C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02987310 */ cpu->r[27] = cpu->r[5]; /* 02987314 */ _t2 = cpu->r[27] + 0x00000004u; /* 02987314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02987318 */ cpu->r[26] = cpu->r[3]; /* 0298731C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987320 */ cpu->r[28] = cpu->r[7]; /* 02987324 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987324 */ _t4 = _t3 & 0x00000001u; /* 02987324 */ if (_t4) goto L_029874F0; else goto L_02987328; L_02987328: ; // 0x2987328 /* 02987328 */ _t5 = cpu->r[26] + 0x00000030u; /* 02987328 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 0298732C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]); /* 02987330 */ _t6 = cpu->r[26] + 0x00000034u; /* 02987330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 02987334 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987334 */ _t8 = _t7 & 0x00000001u; /* 02987334 */ if (_t8) goto L_02987338; else goto L_02987340; L_02987338: ; // 0x2987338 /* 02987338 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 0298733C */ cpu->r[31] = cpu->r[31] + cpu->r[10]; L_02987340: ; // 0x2987340 /* 02987340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 02987344 */ _t9 = cpu->r[27] + 0x00000008u; /* 02987344 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02987348 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987348 */ _t11 = _t10 & 0x00000001u; /* 02987348 */ if (_t11) goto L_0298734C; else goto L_02987354; L_0298734C: ; // 0x298734c /* 0298734C */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02987350 */ cpu->r[12] = cpu->r[12] + cpu->r[11]; L_02987354: ; // 0x2987354 /* 02987354 */ _t12 = cpu->r[12] + 0x00000000u; /* 02987354 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 02987358 */ _t13 = cpu->r[31] + 0x00000004u; /* 02987358 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 0298735C */ _t14 = cpu->r[31] + 0x0000000Cu; /* 0298735C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[7]); /* 02987360 */ _t15 = cpu->r[26] + 0x00000084u; /* 02987360 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 02987364 */ cpu->r[30] = cpu->r[10] + cpu->r[12]; /* 02987364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02987368 */ cpu->r[29] = 0x00000000u; /* 0298736C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298736C */ _t17 = _t16 & 0x00000001u; /* 0298736C */ if (_t17) goto L_029873D8; else goto L_02987370; L_02987370: ; // 0x2987370 /* 02987370 */ cpu->r[3] = cpu->r[30]; /* 02987374 */ Gambit_fn_02C4F040(cpu); /* 02987378 */ cpu->r[0] = 0x101B0000u; /* 0298737C */ _t18 = cpu->r[30] + 0x00000044u; /* 0298737C */ rbrew_write32(cpu->mem, _t18, cpu->r[29]); /* 02987380 */ cpu->r[0] = cpu->r[0] + 0xFFFFED88u; /* 02987384 */ _t19 = cpu->r[30] + 0x00000034u; /* 02987384 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]); /* 02987388 */ _t20 = cpu->r[31] + 0x00000008u; /* 02987388 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 0298738C */ _t21 = cpu->r[27] + 0x00000000u; /* 0298738C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21); /* 02987390 */ cpu->r[5] = 0xFFFFFFFFu; /* 02987394 */ _t22 = cpu->r[7] + 0x00000000u; /* 02987394 */ cpu->r[25] = rbrew_read32(cpu->mem, _t22); /* 02987398 */ _t23 = cpu->r[1] + 0x00000014u; /* 02987398 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]); /* 0298739C */ _t24 = cpu->r[1] + 0x00000018u; /* 0298739C */ rbrew_write32(cpu->mem, _t24, cpu->r[5]); /* 029873A0 */ _t25 = cpu->r[1] + 0x00000010u; /* 029873A0 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]); /* 029873A4 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 029873A4 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]); /* 029873A8 */ cpu->r[5] = 0x00000000u; /* 029873AC */ _t27 = cpu->r[1] + 0x00000028u; /* 029873AC */ rbrew_write32(cpu->mem, _t27, cpu->r[29]); /* 029873B0 */ cpu->r[0] = 0x00000001u; /* 029873B4 */ _t28 = cpu->r[1] + 0x00000021u; /* 029873B4 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[5]); /* 029873B8 */ _t29 = cpu->r[1] + 0x00000020u; /* 029873B8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]); /* 029873BC */ _t30 = cpu->r[1] + 0x00000024u; /* 029873BC */ rbrew_write32(cpu->mem, _t30, cpu->r[29]); /* 029873C0 */ _t31 = cpu->r[25] + 0x00000014u; /* 029873C0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 029873C4 */ cpu->r[8] = cpu->r[1] + 0x00000018u; /* 029873C8 */ cpu->r[6] = cpu->r[1] + 0x00000014u; /* 029873CC */ cpu->r[10] = cpu->r[1] + 0x0000001Cu; /* 029873D0 */ _t32 = cpu->r[1] + 0x00000008u; /* 029873D0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]); /* 029873D4 */ goto L_02987424; L_029873D8: ; // 0x29873d8 /* 029873D8 */ cpu->r[30] = 0x00000000u; /* 029873DC */ _t33 = cpu->r[31] + 0x00000008u; /* 029873DC */ rbrew_write32(cpu->mem, _t33, cpu->r[30]); /* 029873E0 */ _t34 = cpu->r[27] + 0x00000000u; /* 029873E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34); /* 029873E4 */ cpu->r[5] = 0xFFFFFFFFu; /* 029873E8 */ _t35 = cpu->r[7] + 0x00000000u; /* 029873E8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t35); /* 029873EC */ _t36 = cpu->r[1] + 0x00000014u; /* 029873EC */ rbrew_write32(cpu->mem, _t36, cpu->r[5]); /* 029873F0 */ _t37 = cpu->r[1] + 0x0000001Cu; /* 029873F0 */ rbrew_write32(cpu->mem, _t37, cpu->r[5]); /* 029873F4 */ _t38 = cpu->r[1] + 0x00000010u; /* 029873F4 */ rbrew_write32(cpu->mem, _t38, cpu->r[5]); /* 029873F8 */ cpu->r[0] = 0x00000001u; /* 029873FC */ _t39 = cpu->r[1] + 0x00000018u; /* 029873FC */ rbrew_write32(cpu->mem, _t39, cpu->r[5]); /* 02987400 */ _t40 = cpu->r[1] + 0x00000020u; /* 02987400 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]); /* 02987404 */ _t41 = cpu->r[1] + 0x00000021u; /* 02987404 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[30]); /* 02987408 */ _t42 = cpu->r[1] + 0x00000028u; /* 02987408 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]); /* 0298740C */ _t43 = cpu->r[1] + 0x00000024u; /* 0298740C */ rbrew_write32(cpu->mem, _t43, cpu->r[29]); /* 02987410 */ _t44 = cpu->r[25] + 0x00000014u; /* 02987410 */ cpu->r[0] = rbrew_read16(cpu->mem, _t44); /* 02987414 */ cpu->r[10] = cpu->r[1] + 0x0000001Cu; /* 02987418 */ cpu->r[6] = cpu->r[1] + 0x00000014u; /* 0298741C */ cpu->r[8] = cpu->r[1] + 0x00000018u; /* 02987420 */ _t45 = cpu->r[1] + 0x00000008u; /* 02987420 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]); L_02987424: ; // 0x2987424 /* 02987424 */ _t46 = cpu->r[1] + 0x00000008u; /* 02987424 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46); /* 02987428 */ _t47 = cpu->r[6] + 0x00000000u; /* 02987428 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]); /* 0298742C */ _t48 = cpu->r[25] + 0x00000018u; /* 0298742C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 02987430 */ cpu->r[9] = cpu->r[8]; /* 02987434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987438 */ _t49 = cpu->r[1] + 0x00000008u; /* 02987438 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 0298743C */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298743C */ _t51 = _t50 & 0x00000001u; /* 0298743C */ if (_t51) goto L_02987444; else goto L_02987440; L_02987440: ; // 0x2987440 /* 02987440 */ cpu->r[9] = cpu->r[1] + 0x00000008u; L_02987444: ; // 0x2987444 /* 02987444 */ _t52 = cpu->r[9] + 0x00000000u; /* 02987444 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52); /* 02987448 */ _t53 = cpu->r[8] + 0x00000000u; /* 02987448 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]); /* 0298744C */ _t54 = cpu->r[25] + 0x0000001Cu; /* 0298744C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 02987450 */ cpu->r[11] = cpu->r[10]; /* 02987454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987458 */ _t55 = cpu->r[1] + 0x00000008u; /* 02987458 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]); /* 0298745C */ _t56 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298745C */ _t57 = _t56 & 0x00000001u; /* 0298745C */ if (_t57) goto L_02987464; else goto L_02987460; L_02987460: ; // 0x2987460 /* 02987460 */ cpu->r[11] = cpu->r[1] + 0x00000008u; L_02987464: ; // 0x2987464 /* 02987464 */ _t58 = cpu->r[11] + 0x00000000u; /* 02987464 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58); /* 02987468 */ _t59 = cpu->r[10] + 0x00000000u; /* 02987468 */ rbrew_write32(cpu->mem, _t59, cpu->r[5]); /* 0298746C */ _t60 = cpu->r[25] + 0x0000000Cu; /* 0298746C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60); /* 02987470 */ _t61 = cpu->r[1] + 0x00000028u; /* 02987470 */ rbrew_write32(cpu->mem, _t61, cpu->r[29]); /* 02987474 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02987478 */ _t62 = cpu->r[1] + 0x00000024u; /* 02987478 */ rbrew_write32(cpu->mem, _t62, cpu->r[29]); /* 0298747C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u; /* 02987480 */ cpu->r[3] = cpu->r[26]; /* 02987484 */ _t63 = cpu->r[1] + 0x00000021u; /* 02987484 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[0]); /* 02987488 */ _t64 = cpu->r[31] + 0x00000000u; /* 02987488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64); /* 0298748C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02987490 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 02987494 */ _t65 = cpu->r[1] + 0x0000000Cu; /* 02987494 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]); /* 02987498 */ Gambit_fn_029872E8(cpu); /* 0298749C */ _t66 = cpu->r[31] + 0x00000004u; /* 0298749C */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 029874A0 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 029874A4 */ _t67 = cpu->r[26] + 0x00000084u; /* 029874A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t67); /* 029874A8 */ cpu->r[3] = cpu->r[30]; /* 029874AC */ Gambit_fn_02C51750(cpu); /* 029874B0 */ cpu->r[3] = cpu->r[30]; /* 029874B4 */ cpu->r[4] = cpu->r[25]; /* 029874B8 */ Gambit_fn_02C520EC(cpu); /* 029874BC */ _t68 = cpu->r[31] + 0x0000000Eu; /* 029874BC */ cpu->r[12] = rbrew_read16(cpu->mem, _t68); /* 029874C0 */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 029874C4 */ _t69 = cpu->r[31] + 0x0000000Eu; /* 029874C4 */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[12]); /* 029874C8 */ _t70 = cpu->r[27] + 0x00000004u; /* 029874C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70); /* 029874CC */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFFu; /* 029874D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]); /* 029874D4 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u); /* 029874D4 */ _t72 = _t71 & 0x00000001u; /* 029874D4 */ if (_t72) goto L_029874D8; else goto L_029874F0; L_029874D8: ; // 0x29874d8 /* 029874D8 */ cpu->r[3] = cpu->r[28] + 0x00000001u; /* 029874DC */ /* nop */ /* 029874E0 */ _t73 = cpu->r[1] + 0x0000006Cu; /* 029874E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73); /* 029874E4 */ cpu->lr = cpu->r[0]; /* 029874E8 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 029874EC */ return; L_029874F0: ; // 0x29874f0 /* 029874F0 */ /* nop */ /* 029874F4 */ _t74 = cpu->r[1] + 0x0000006Cu; /* 029874F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74); /* 029874F8 */ cpu->lr = cpu->r[0]; /* 029874FC */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 02987500 */ cpu->r[3] = 0xFFFFFFFFu; /* 02987504 */ return; } // fn_02987508 @ 0x2987508 void Gambit_fn_02987508(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; L_02987508: ; // 0x2987508 /* 02987508 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 02987508 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02987508 */ cpu->r[1] = _t0; /* 0298750C */ /* nop */ /* 02987510 */ cpu->r[0] = cpu->lr; /* 02987514 */ _t1 = cpu->r[1] + 0x0000006Cu; /* 02987514 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02987518 */ cpu->r[27] = cpu->r[5]; /* 0298751C */ _t2 = cpu->r[27] + 0x00000004u; /* 0298751C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02987520 */ cpu->r[26] = cpu->r[3]; /* 02987524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987528 */ cpu->r[28] = cpu->r[7]; /* 0298752C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298752C */ _t4 = _t3 & 0x00000001u; /* 0298752C */ if (_t4) goto L_029876F8; else goto L_02987530; L_02987530: ; // 0x2987530 /* 02987530 */ _t5 = cpu->r[26] + 0x00000030u; /* 02987530 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02987534 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]); /* 02987538 */ _t6 = cpu->r[26] + 0x00000034u; /* 02987538 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0298753C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298753C */ _t8 = _t7 & 0x00000001u; /* 0298753C */ if (_t8) goto L_02987540; else goto L_02987548; L_02987540: ; // 0x2987540 /* 02987540 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 02987544 */ cpu->r[31] = cpu->r[31] + cpu->r[10]; L_02987548: ; // 0x2987548 /* 02987548 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 0298754C */ _t9 = cpu->r[27] + 0x00000008u; /* 0298754C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02987550 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987550 */ _t11 = _t10 & 0x00000001u; /* 02987550 */ if (_t11) goto L_02987554; else goto L_0298755C; L_02987554: ; // 0x2987554 /* 02987554 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02987558 */ cpu->r[12] = cpu->r[12] + cpu->r[11]; L_0298755C: ; // 0x298755c /* 0298755C */ _t12 = cpu->r[12] + 0x00000000u; /* 0298755C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 02987560 */ _t13 = cpu->r[31] + 0x00000004u; /* 02987560 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 02987564 */ _t14 = cpu->r[31] + 0x0000000Cu; /* 02987564 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[7]); /* 02987568 */ _t15 = cpu->r[26] + 0x00000084u; /* 02987568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0298756C */ cpu->r[30] = cpu->r[10] + cpu->r[12]; /* 0298756C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02987570 */ cpu->r[29] = 0x00000000u; /* 02987574 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987574 */ _t17 = _t16 & 0x00000001u; /* 02987574 */ if (_t17) goto L_029875E0; else goto L_02987578; L_02987578: ; // 0x2987578 /* 02987578 */ cpu->r[3] = cpu->r[30]; /* 0298757C */ Gambit_fn_02C4F040(cpu); /* 02987580 */ cpu->r[0] = 0x101B0000u; /* 02987584 */ _t18 = cpu->r[30] + 0x00000044u; /* 02987584 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]); /* 02987588 */ cpu->r[0] = cpu->r[0] + 0xFFFFED88u; /* 0298758C */ _t19 = cpu->r[30] + 0x00000034u; /* 0298758C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]); /* 02987590 */ _t20 = cpu->r[31] + 0x00000008u; /* 02987590 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 02987594 */ _t21 = cpu->r[27] + 0x00000000u; /* 02987594 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21); /* 02987598 */ cpu->r[5] = 0xFFFFFFFFu; /* 0298759C */ _t22 = cpu->r[7] + 0x00000000u; /* 0298759C */ cpu->r[25] = rbrew_read32(cpu->mem, _t22); /* 029875A0 */ _t23 = cpu->r[1] + 0x00000014u; /* 029875A0 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]); /* 029875A4 */ _t24 = cpu->r[1] + 0x00000018u; /* 029875A4 */ rbrew_write32(cpu->mem, _t24, cpu->r[5]); /* 029875A8 */ _t25 = cpu->r[1] + 0x00000010u; /* 029875A8 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]); /* 029875AC */ _t26 = cpu->r[1] + 0x0000001Cu; /* 029875AC */ rbrew_write32(cpu->mem, _t26, cpu->r[5]); /* 029875B0 */ cpu->r[5] = 0x00000000u; /* 029875B4 */ _t27 = cpu->r[1] + 0x00000028u; /* 029875B4 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]); /* 029875B8 */ cpu->r[0] = 0x00000001u; /* 029875BC */ _t28 = cpu->r[1] + 0x00000021u; /* 029875BC */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[5]); /* 029875C0 */ _t29 = cpu->r[1] + 0x00000020u; /* 029875C0 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]); /* 029875C4 */ _t30 = cpu->r[1] + 0x00000024u; /* 029875C4 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]); /* 029875C8 */ _t31 = cpu->r[25] + 0x00000014u; /* 029875C8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 029875CC */ cpu->r[8] = cpu->r[1] + 0x00000018u; /* 029875D0 */ cpu->r[6] = cpu->r[1] + 0x00000014u; /* 029875D4 */ cpu->r[10] = cpu->r[1] + 0x0000001Cu; /* 029875D8 */ _t32 = cpu->r[1] + 0x00000008u; /* 029875D8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]); /* 029875DC */ goto L_0298762C; L_029875E0: ; // 0x29875e0 /* 029875E0 */ cpu->r[30] = 0x00000000u; /* 029875E4 */ _t33 = cpu->r[31] + 0x00000008u; /* 029875E4 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]); /* 029875E8 */ _t34 = cpu->r[27] + 0x00000000u; /* 029875E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34); /* 029875EC */ cpu->r[5] = 0xFFFFFFFFu; /* 029875F0 */ _t35 = cpu->r[7] + 0x00000000u; /* 029875F0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t35); /* 029875F4 */ _t36 = cpu->r[1] + 0x00000014u; /* 029875F4 */ rbrew_write32(cpu->mem, _t36, cpu->r[5]); /* 029875F8 */ _t37 = cpu->r[1] + 0x0000001Cu; /* 029875F8 */ rbrew_write32(cpu->mem, _t37, cpu->r[5]); /* 029875FC */ _t38 = cpu->r[1] + 0x00000010u; /* 029875FC */ rbrew_write32(cpu->mem, _t38, cpu->r[5]); /* 02987600 */ cpu->r[0] = 0x00000001u; /* 02987604 */ _t39 = cpu->r[1] + 0x00000018u; /* 02987604 */ rbrew_write32(cpu->mem, _t39, cpu->r[5]); /* 02987608 */ _t40 = cpu->r[1] + 0x00000020u; /* 02987608 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]); /* 0298760C */ _t41 = cpu->r[1] + 0x00000021u; /* 0298760C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[30]); /* 02987610 */ _t42 = cpu->r[1] + 0x00000028u; /* 02987610 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]); /* 02987614 */ _t43 = cpu->r[1] + 0x00000024u; /* 02987614 */ rbrew_write32(cpu->mem, _t43, cpu->r[29]); /* 02987618 */ _t44 = cpu->r[25] + 0x00000014u; /* 02987618 */ cpu->r[0] = rbrew_read16(cpu->mem, _t44); /* 0298761C */ cpu->r[10] = cpu->r[1] + 0x0000001Cu; /* 02987620 */ cpu->r[6] = cpu->r[1] + 0x00000014u; /* 02987624 */ cpu->r[8] = cpu->r[1] + 0x00000018u; /* 02987628 */ _t45 = cpu->r[1] + 0x00000008u; /* 02987628 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]); L_0298762C: ; // 0x298762c /* 0298762C */ _t46 = cpu->r[1] + 0x00000008u; /* 0298762C */ cpu->r[9] = rbrew_read32(cpu->mem, _t46); /* 02987630 */ _t47 = cpu->r[6] + 0x00000000u; /* 02987630 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]); /* 02987634 */ _t48 = cpu->r[25] + 0x00000018u; /* 02987634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 02987638 */ cpu->r[9] = cpu->r[8]; /* 0298763C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987640 */ _t49 = cpu->r[1] + 0x00000008u; /* 02987640 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 02987644 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987644 */ _t51 = _t50 & 0x00000001u; /* 02987644 */ if (_t51) goto L_0298764C; else goto L_02987648; L_02987648: ; // 0x2987648 /* 02987648 */ cpu->r[9] = cpu->r[1] + 0x00000008u; L_0298764C: ; // 0x298764c /* 0298764C */ _t52 = cpu->r[9] + 0x00000000u; /* 0298764C */ cpu->r[12] = rbrew_read32(cpu->mem, _t52); /* 02987650 */ _t53 = cpu->r[8] + 0x00000000u; /* 02987650 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]); /* 02987654 */ _t54 = cpu->r[25] + 0x0000001Cu; /* 02987654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 02987658 */ cpu->r[11] = cpu->r[10]; /* 0298765C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987660 */ _t55 = cpu->r[1] + 0x00000008u; /* 02987660 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]); /* 02987664 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987664 */ _t57 = _t56 & 0x00000001u; /* 02987664 */ if (_t57) goto L_0298766C; else goto L_02987668; L_02987668: ; // 0x2987668 /* 02987668 */ cpu->r[11] = cpu->r[1] + 0x00000008u; L_0298766C: ; // 0x298766c /* 0298766C */ _t58 = cpu->r[11] + 0x00000000u; /* 0298766C */ cpu->r[5] = rbrew_read32(cpu->mem, _t58); /* 02987670 */ _t59 = cpu->r[10] + 0x00000000u; /* 02987670 */ rbrew_write32(cpu->mem, _t59, cpu->r[5]); /* 02987674 */ _t60 = cpu->r[25] + 0x0000000Cu; /* 02987674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60); /* 02987678 */ _t61 = cpu->r[1] + 0x00000028u; /* 02987678 */ rbrew_write32(cpu->mem, _t61, cpu->r[29]); /* 0298767C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02987680 */ _t62 = cpu->r[1] + 0x00000024u; /* 02987680 */ rbrew_write32(cpu->mem, _t62, cpu->r[29]); /* 02987684 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u; /* 02987688 */ cpu->r[3] = cpu->r[26]; /* 0298768C */ _t63 = cpu->r[1] + 0x00000021u; /* 0298768C */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[0]); /* 02987690 */ _t64 = cpu->r[31] + 0x00000000u; /* 02987690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64); /* 02987694 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02987698 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 0298769C */ _t65 = cpu->r[1] + 0x0000000Cu; /* 0298769C */ rbrew_write32(cpu->mem, _t65, cpu->r[0]); /* 029876A0 */ Gambit_fn_029872E8(cpu); /* 029876A4 */ _t66 = cpu->r[31] + 0x00000004u; /* 029876A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 029876A8 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 029876AC */ _t67 = cpu->r[26] + 0x00000084u; /* 029876AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t67); /* 029876B0 */ cpu->r[3] = cpu->r[30]; /* 029876B4 */ Gambit_fn_02C51750(cpu); /* 029876B8 */ cpu->r[3] = cpu->r[30]; /* 029876BC */ cpu->r[4] = cpu->r[25]; /* 029876C0 */ Gambit_fn_02C520EC(cpu); /* 029876C4 */ _t68 = cpu->r[31] + 0x0000000Eu; /* 029876C4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t68); /* 029876C8 */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 029876CC */ _t69 = cpu->r[31] + 0x0000000Eu; /* 029876CC */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[12]); /* 029876D0 */ _t70 = cpu->r[27] + 0x00000004u; /* 029876D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70); /* 029876D4 */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFFu; /* 029876D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]); /* 029876DC */ _t71 = cpu->cr[0] >> (0x00000003u & 31u); /* 029876DC */ _t72 = _t71 & 0x00000001u; /* 029876DC */ if (_t72) goto L_029876E0; else goto L_029876F8; L_029876E0: ; // 0x29876e0 /* 029876E0 */ cpu->r[3] = cpu->r[28] + 0x00000001u; /* 029876E4 */ /* nop */ /* 029876E8 */ _t73 = cpu->r[1] + 0x0000006Cu; /* 029876E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73); /* 029876EC */ cpu->lr = cpu->r[0]; /* 029876F0 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 029876F4 */ return; L_029876F8: ; // 0x29876f8 /* 029876F8 */ /* nop */ /* 029876FC */ _t74 = cpu->r[1] + 0x0000006Cu; /* 029876FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t74); /* 02987700 */ cpu->lr = cpu->r[0]; /* 02987704 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 02987708 */ cpu->r[3] = 0xFFFFFFFFu; /* 0298770C */ return; } // fn_02987710 @ 0x2987710 void Gambit_fn_02987710(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; L_02987710: ; // 0x2987710 /* 02987710 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 02987710 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02987710 */ cpu->r[1] = _t0; /* 02987714 */ /* nop */ /* 02987718 */ cpu->r[0] = cpu->lr; /* 0298771C */ _t1 = cpu->r[1] + 0x0000006Cu; /* 0298771C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02987720 */ cpu->r[27] = cpu->r[5]; /* 02987724 */ _t2 = cpu->r[27] + 0x00000004u; /* 02987724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02987728 */ cpu->r[26] = cpu->r[3]; /* 0298772C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987730 */ cpu->r[28] = cpu->r[7]; /* 02987734 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987734 */ _t4 = _t3 & 0x00000001u; /* 02987734 */ if (_t4) goto L_02987900; else goto L_02987738; L_02987738: ; // 0x2987738 /* 02987738 */ _t5 = cpu->r[26] + 0x00000030u; /* 02987738 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 0298773C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]); /* 02987740 */ _t6 = cpu->r[26] + 0x00000034u; /* 02987740 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 02987744 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987744 */ _t8 = _t7 & 0x00000001u; /* 02987744 */ if (_t8) goto L_02987748; else goto L_02987750; L_02987748: ; // 0x2987748 /* 02987748 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 0298774C */ cpu->r[31] = cpu->r[31] + cpu->r[10]; L_02987750: ; // 0x2987750 /* 02987750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 02987754 */ _t9 = cpu->r[27] + 0x00000008u; /* 02987754 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02987758 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987758 */ _t11 = _t10 & 0x00000001u; /* 02987758 */ if (_t11) goto L_0298775C; else goto L_02987764; L_0298775C: ; // 0x298775c /* 0298775C */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02987760 */ cpu->r[12] = cpu->r[12] + cpu->r[11]; L_02987764: ; // 0x2987764 /* 02987764 */ _t12 = cpu->r[12] + 0x00000000u; /* 02987764 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 02987768 */ _t13 = cpu->r[31] + 0x00000004u; /* 02987768 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 0298776C */ _t14 = cpu->r[31] + 0x0000000Cu; /* 0298776C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[7]); /* 02987770 */ _t15 = cpu->r[26] + 0x00000084u; /* 02987770 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 02987774 */ cpu->r[30] = cpu->r[10] + cpu->r[12]; /* 02987774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02987778 */ cpu->r[29] = 0x00000000u; /* 0298777C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298777C */ _t17 = _t16 & 0x00000001u; /* 0298777C */ if (_t17) goto L_029877E8; else goto L_02987780; L_02987780: ; // 0x2987780 /* 02987780 */ cpu->r[3] = cpu->r[30]; /* 02987784 */ Gambit_fn_02C4F040(cpu); /* 02987788 */ cpu->r[0] = 0x101B0000u; /* 0298778C */ _t18 = cpu->r[30] + 0x00000044u; /* 0298778C */ rbrew_write32(cpu->mem, _t18, cpu->r[29]); /* 02987790 */ cpu->r[0] = cpu->r[0] + 0xFFFFED88u; /* 02987794 */ _t19 = cpu->r[30] + 0x00000034u; /* 02987794 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]); /* 02987798 */ _t20 = cpu->r[31] + 0x00000008u; /* 02987798 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 0298779C */ _t21 = cpu->r[27] + 0x00000000u; /* 0298779C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21); /* 029877A0 */ cpu->r[5] = 0xFFFFFFFFu; /* 029877A4 */ _t22 = cpu->r[7] + 0x00000000u; /* 029877A4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t22); /* 029877A8 */ _t23 = cpu->r[1] + 0x00000014u; /* 029877A8 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]); /* 029877AC */ _t24 = cpu->r[1] + 0x00000018u; /* 029877AC */ rbrew_write32(cpu->mem, _t24, cpu->r[5]); /* 029877B0 */ _t25 = cpu->r[1] + 0x00000010u; /* 029877B0 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]); /* 029877B4 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 029877B4 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]); /* 029877B8 */ cpu->r[5] = 0x00000000u; /* 029877BC */ _t27 = cpu->r[1] + 0x00000028u; /* 029877BC */ rbrew_write32(cpu->mem, _t27, cpu->r[29]); /* 029877C0 */ cpu->r[0] = 0x00000001u; /* 029877C4 */ _t28 = cpu->r[1] + 0x00000021u; /* 029877C4 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[5]); /* 029877C8 */ _t29 = cpu->r[1] + 0x00000020u; /* 029877C8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]); /* 029877CC */ _t30 = cpu->r[1] + 0x00000024u; /* 029877CC */ rbrew_write32(cpu->mem, _t30, cpu->r[29]); /* 029877D0 */ _t31 = cpu->r[25] + 0x00000014u; /* 029877D0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 029877D4 */ cpu->r[8] = cpu->r[1] + 0x00000018u; /* 029877D8 */ cpu->r[6] = cpu->r[1] + 0x00000014u; /* 029877DC */ cpu->r[10] = cpu->r[1] + 0x0000001Cu; /* 029877E0 */ _t32 = cpu->r[1] + 0x00000008u; /* 029877E0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]); /* 029877E4 */ goto L_02987834; L_029877E8: ; // 0x29877e8 /* 029877E8 */ cpu->r[30] = 0x00000000u; /* 029877EC */ _t33 = cpu->r[31] + 0x00000008u; /* 029877EC */ rbrew_write32(cpu->mem, _t33, cpu->r[30]); /* 029877F0 */ _t34 = cpu->r[27] + 0x00000000u; /* 029877F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34); /* 029877F4 */ cpu->r[5] = 0xFFFFFFFFu; /* 029877F8 */ _t35 = cpu->r[7] + 0x00000000u; /* 029877F8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t35); /* 029877FC */ _t36 = cpu->r[1] + 0x00000014u; /* 029877FC */ rbrew_write32(cpu->mem, _t36, cpu->r[5]); /* 02987800 */ _t37 = cpu->r[1] + 0x0000001Cu; /* 02987800 */ rbrew_write32(cpu->mem, _t37, cpu->r[5]); /* 02987804 */ _t38 = cpu->r[1] + 0x00000010u; /* 02987804 */ rbrew_write32(cpu->mem, _t38, cpu->r[5]); /* 02987808 */ cpu->r[0] = 0x00000001u; /* 0298780C */ _t39 = cpu->r[1] + 0x00000018u; /* 0298780C */ rbrew_write32(cpu->mem, _t39, cpu->r[5]); /* 02987810 */ _t40 = cpu->r[1] + 0x00000020u; /* 02987810 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]); /* 02987814 */ _t41 = cpu->r[1] + 0x00000021u; /* 02987814 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[30]); /* 02987818 */ _t42 = cpu->r[1] + 0x00000028u; /* 02987818 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]); /* 0298781C */ _t43 = cpu->r[1] + 0x00000024u; /* 0298781C */ rbrew_write32(cpu->mem, _t43, cpu->r[29]); /* 02987820 */ _t44 = cpu->r[25] + 0x00000014u; /* 02987820 */ cpu->r[0] = rbrew_read16(cpu->mem, _t44); /* 02987824 */ cpu->r[10] = cpu->r[1] + 0x0000001Cu; /* 02987828 */ cpu->r[6] = cpu->r[1] + 0x00000014u; /* 0298782C */ cpu->r[8] = cpu->r[1] + 0x00000018u; /* 02987830 */ _t45 = cpu->r[1] + 0x00000008u; /* 02987830 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]); L_02987834: ; // 0x2987834 /* 02987834 */ _t46 = cpu->r[1] + 0x00000008u; /* 02987834 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46); /* 02987838 */ _t47 = cpu->r[6] + 0x00000000u; /* 02987838 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]); /* 0298783C */ _t48 = cpu->r[25] + 0x00000018u; /* 0298783C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 02987840 */ cpu->r[9] = cpu->r[8]; /* 02987844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987848 */ _t49 = cpu->r[1] + 0x00000008u; /* 02987848 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 0298784C */ _t50 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298784C */ _t51 = _t50 & 0x00000001u; /* 0298784C */ if (_t51) goto L_02987854; else goto L_02987850; L_02987850: ; // 0x2987850 /* 02987850 */ cpu->r[9] = cpu->r[1] + 0x00000008u; L_02987854: ; // 0x2987854 /* 02987854 */ _t52 = cpu->r[9] + 0x00000000u; /* 02987854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52); /* 02987858 */ _t53 = cpu->r[8] + 0x00000000u; /* 02987858 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]); /* 0298785C */ _t54 = cpu->r[25] + 0x0000001Cu; /* 0298785C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 02987860 */ cpu->r[11] = cpu->r[10]; /* 02987864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987868 */ _t55 = cpu->r[1] + 0x00000008u; /* 02987868 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]); /* 0298786C */ _t56 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298786C */ _t57 = _t56 & 0x00000001u; /* 0298786C */ if (_t57) goto L_02987874; else goto L_02987870; L_02987870: ; // 0x2987870 /* 02987870 */ cpu->r[11] = cpu->r[1] + 0x00000008u; L_02987874: ; // 0x2987874 /* 02987874 */ _t58 = cpu->r[11] + 0x00000000u; /* 02987874 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58); /* 02987878 */ _t59 = cpu->r[10] + 0x00000000u; /* 02987878 */ rbrew_write32(cpu->mem, _t59, cpu->r[5]); /* 0298787C */ _t60 = cpu->r[25] + 0x0000000Cu; /* 0298787C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60); /* 02987880 */ _t61 = cpu->r[1] + 0x00000028u; /* 02987880 */ rbrew_write32(cpu->mem, _t61, cpu->r[29]); /* 02987884 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02987888 */ _t62 = cpu->r[1] + 0x00000024u; /* 02987888 */ rbrew_write32(cpu->mem, _t62, cpu->r[29]); /* 0298788C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u; /* 02987890 */ cpu->r[3] = cpu->r[26]; /* 02987894 */ _t63 = cpu->r[1] + 0x00000021u; /* 02987894 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[0]); /* 02987898 */ _t64 = cpu->r[31] + 0x00000000u; /* 02987898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64); /* 0298789C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 029878A0 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 029878A4 */ _t65 = cpu->r[1] + 0x0000000Cu; /* 029878A4 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]); /* 029878A8 */ Gambit_fn_029872E8(cpu); /* 029878AC */ _t66 = cpu->r[31] + 0x00000004u; /* 029878AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t66); /* 029878B0 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 029878B4 */ _t67 = cpu->r[26] + 0x00000084u; /* 029878B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t67); /* 029878B8 */ cpu->r[3] = cpu->r[30]; /* 029878BC */ Gambit_fn_02C51750(cpu); /* 029878C0 */ cpu->r[3] = cpu->r[30]; /* 029878C4 */ cpu->r[4] = cpu->r[25]; /* 029878C8 */ Gambit_fn_02C520EC(cpu); /* 029878CC */ _t68 = cpu->r[31] + 0x0000000Eu; /* 029878CC */ cpu->r[12] = rbrew_read16(cpu->mem, _t68); /* 029878D0 */ cpu->r[12] = cpu->r[12] | 0x00000001u; /* 029878D4 */ _t69 = cpu->r[31] + 0x0000000Eu; /* 029878D4 */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[12]); /* 029878D8 */ _t70 = cpu->r[27] + 0x00000004u; /* 029878D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70); /* 029878DC */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFFu; /* 029878E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]); /* 029878E4 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u); /* 029878E4 */ _t72 = _t71 & 0x00000001u; /* 029878E4 */ if (_t72) goto L_029878E8; else goto L_02987900; L_029878E8: ; // 0x29878e8 /* 029878E8 */ cpu->r[3] = cpu->r[28] + 0x00000001u; /* 029878EC */ /* nop */ /* 029878F0 */ _t73 = cpu->r[1] + 0x0000006Cu; /* 029878F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73); /* 029878F4 */ cpu->lr = cpu->r[0]; /* 029878F8 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 029878FC */ return; L_02987900: ; // 0x2987900 /* 02987900 */ /* nop */ /* 02987904 */ _t74 = cpu->r[1] + 0x0000006Cu; /* 02987904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74); /* 02987908 */ cpu->lr = cpu->r[0]; /* 0298790C */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 02987910 */ cpu->r[3] = 0xFFFFFFFFu; /* 02987914 */ return; } // fn_02987918 @ 0x2987918 void Gambit_fn_02987918(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02987918: ; // 0x2987918 /* 02987918 */ cpu->r[11] = 0x00000000u; /* 0298791C */ _t0 = cpu->r[3] + 0x00000088u; /* 0298791C */ cpu->r[0] = rbrew_read16(cpu->mem, _t0); /* 02987920 */ _t1 = cpu->r[4] + 0x0000001Cu; /* 02987920 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]); /* 02987924 */ _t2 = cpu->r[4] + 0x00000000u; /* 02987924 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02987928 */ _t3 = cpu->r[4] + 0x00000018u; /* 02987928 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]); /* 0298792C */ return; } // fn_02987930 @ 0x2987930 void Gambit_fn_02987930(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_02987930: ; // 0x2987930 /* 02987930 */ _t0 = cpu->r[1] + 0xFFFFFF88u; /* 02987930 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02987930 */ cpu->r[1] = _t0; /* 02987934 */ /* nop */ /* 02987938 */ cpu->r[0] = cpu->lr; /* 0298793C */ _t1 = cpu->r[1] + 0x0000007Cu; /* 0298793C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02987940 */ cpu->r[29] = cpu->r[7]; /* 02987944 */ cpu->r[28] = cpu->r[5]; /* 02987948 */ _t2 = cpu->r[28] + 0x00000004u; /* 02987948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0298794C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987950 */ cpu->r[27] = cpu->r[3]; /* 02987954 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987954 */ _t4 = _t3 & 0x00000001u; /* 02987954 */ if (_t4) goto L_02987B3C; else goto L_02987958; L_02987958: ; // 0x2987958 /* 02987958 */ _t5 = cpu->r[27] + 0x00000030u; /* 02987958 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5); /* 0298795C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[5]); /* 02987960 */ _t6 = cpu->r[27] + 0x00000034u; /* 02987960 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 02987964 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987964 */ _t8 = _t7 & 0x00000001u; /* 02987964 */ if (_t8) goto L_02987968; else goto L_02987970; L_02987968: ; // 0x2987968 /* 02987968 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 0298796C */ cpu->r[31] = cpu->r[31] + cpu->r[6]; L_02987970: ; // 0x2987970 /* 02987970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 02987974 */ _t9 = cpu->r[28] + 0x00000008u; /* 02987974 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02987978 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987978 */ _t11 = _t10 & 0x00000001u; /* 02987978 */ if (_t11) goto L_0298797C; else goto L_02987984; L_0298797C: ; // 0x298797c /* 0298797C */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02987980 */ cpu->r[12] = cpu->r[12] + cpu->r[7]; L_02987984: ; // 0x2987984 /* 02987984 */ _t12 = cpu->r[12] + 0x00000000u; /* 02987984 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 02987988 */ _t13 = cpu->r[31] + 0x00000004u; /* 02987988 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 0298798C */ _t14 = cpu->r[31] + 0x0000000Cu; /* 0298798C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[8]); /* 02987990 */ _t15 = cpu->r[27] + 0x00000084u; /* 02987990 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15); /* 02987994 */ cpu->r[30] = cpu->r[9] + cpu->r[10]; /* 02987994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02987998 */ cpu->r[26] = 0x00000000u; /* 0298799C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298799C */ _t17 = _t16 & 0x00000001u; /* 0298799C */ if (_t17) goto L_02987A10; else goto L_029879A0; L_029879A0: ; // 0x29879a0 /* 029879A0 */ cpu->r[3] = cpu->r[30]; /* 029879A4 */ Gambit_fn_02C4F040(cpu); /* 029879A8 */ cpu->r[0] = 0x101B0000u; /* 029879AC */ _t18 = cpu->r[30] + 0x00000044u; /* 029879AC */ rbrew_write32(cpu->mem, _t18, cpu->r[26]); /* 029879B0 */ cpu->r[0] = cpu->r[0] + 0xFFFFEFC4u; /* 029879B4 */ _t19 = cpu->r[30] + 0x00000034u; /* 029879B4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]); /* 029879B8 */ _t20 = cpu->r[31] + 0x00000008u; /* 029879B8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 029879BC */ _t21 = cpu->r[28] + 0x00000000u; /* 029879BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t21); /* 029879C0 */ cpu->r[0] = 0x00000001u; /* 029879C4 */ _t22 = cpu->r[11] + 0x00000000u; /* 029879C4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t22); /* 029879C8 */ _t23 = cpu->r[1] + 0x00000024u; /* 029879C8 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]); /* 029879CC */ cpu->r[0] = 0x00000000u; /* 029879D0 */ _t24 = cpu->r[1] + 0x00000028u; /* 029879D0 */ rbrew_write32(cpu->mem, _t24, cpu->r[26]); /* 029879D4 */ cpu->r[12] = 0xFFFFFFFFu; /* 029879D8 */ _t25 = cpu->r[1] + 0x00000025u; /* 029879D8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]); /* 029879DC */ _t26 = cpu->r[1] + 0x00000010u; /* 029879DC */ rbrew_write32(cpu->mem, _t26, cpu->r[12]); /* 029879E0 */ _t27 = cpu->r[1] + 0x0000001Cu; /* 029879E0 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]); /* 029879E4 */ _t28 = cpu->r[1] + 0x00000020u; /* 029879E4 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]); /* 029879E8 */ _t29 = cpu->r[1] + 0x00000018u; /* 029879E8 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]); /* 029879EC */ _t30 = cpu->r[1] + 0x00000014u; /* 029879EC */ rbrew_write32(cpu->mem, _t30, cpu->r[12]); /* 029879F0 */ cpu->r[7] = cpu->r[1] + 0x00000018u; /* 029879F4 */ _t31 = cpu->r[1] + 0x0000002Cu; /* 029879F4 */ rbrew_write32(cpu->mem, _t31, cpu->r[26]); /* 029879F8 */ _t32 = cpu->r[25] + 0x00000016u; /* 029879F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t32); /* 029879FC */ cpu->r[11] = cpu->r[1] + 0x00000020u; /* 02987A00 */ cpu->r[10] = cpu->r[1] + 0x0000001Cu; /* 02987A04 */ cpu->r[6] = cpu->r[1] + 0x00000014u; /* 02987A08 */ _t33 = cpu->r[1] + 0x00000008u; /* 02987A08 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]); /* 02987A0C */ goto L_02987A64; L_02987A10: ; // 0x2987a10 /* 02987A10 */ cpu->r[30] = 0x00000000u; /* 02987A14 */ _t34 = cpu->r[31] + 0x00000008u; /* 02987A14 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]); /* 02987A18 */ _t35 = cpu->r[28] + 0x00000000u; /* 02987A18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35); /* 02987A1C */ cpu->r[12] = 0xFFFFFFFFu; /* 02987A20 */ _t36 = cpu->r[11] + 0x00000000u; /* 02987A20 */ cpu->r[25] = rbrew_read32(cpu->mem, _t36); /* 02987A24 */ _t37 = cpu->r[1] + 0x00000010u; /* 02987A24 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]); /* 02987A28 */ _t38 = cpu->r[1] + 0x00000020u; /* 02987A28 */ rbrew_write32(cpu->mem, _t38, cpu->r[12]); /* 02987A2C */ _t39 = cpu->r[1] + 0x00000018u; /* 02987A2C */ rbrew_write32(cpu->mem, _t39, cpu->r[12]); /* 02987A30 */ _t40 = cpu->r[1] + 0x0000002Cu; /* 02987A30 */ rbrew_write32(cpu->mem, _t40, cpu->r[26]); /* 02987A34 */ _t41 = cpu->r[1] + 0x00000014u; /* 02987A34 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]); /* 02987A38 */ cpu->r[0] = 0x00000001u; /* 02987A3C */ _t42 = cpu->r[1] + 0x0000001Cu; /* 02987A3C */ rbrew_write32(cpu->mem, _t42, cpu->r[12]); /* 02987A40 */ _t43 = cpu->r[1] + 0x00000024u; /* 02987A40 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[0]); /* 02987A44 */ _t44 = cpu->r[1] + 0x00000025u; /* 02987A44 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[30]); /* 02987A48 */ cpu->r[7] = cpu->r[1] + 0x00000018u; /* 02987A4C */ _t45 = cpu->r[1] + 0x00000028u; /* 02987A4C */ rbrew_write32(cpu->mem, _t45, cpu->r[26]); /* 02987A50 */ _t46 = cpu->r[25] + 0x00000016u; /* 02987A50 */ cpu->r[0] = rbrew_read16(cpu->mem, _t46); /* 02987A54 */ cpu->r[6] = cpu->r[1] + 0x00000014u; /* 02987A58 */ cpu->r[11] = cpu->r[1] + 0x00000020u; /* 02987A5C */ cpu->r[10] = cpu->r[1] + 0x0000001Cu; /* 02987A60 */ _t47 = cpu->r[1] + 0x00000008u; /* 02987A60 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]); L_02987A64: ; // 0x2987a64 /* 02987A64 */ _t48 = cpu->r[1] + 0x00000008u; /* 02987A64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48); /* 02987A68 */ _t49 = cpu->r[6] + 0x00000000u; /* 02987A68 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]); /* 02987A6C */ _t50 = cpu->r[25] + 0x00000018u; /* 02987A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50); /* 02987A70 */ cpu->r[6] = cpu->r[7]; /* 02987A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987A78 */ _t51 = cpu->r[1] + 0x00000008u; /* 02987A78 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]); /* 02987A7C */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987A7C */ _t53 = _t52 & 0x00000001u; /* 02987A7C */ if (_t53) goto L_02987A84; else goto L_02987A80; L_02987A80: ; // 0x2987a80 /* 02987A80 */ cpu->r[6] = cpu->r[1] + 0x00000008u; L_02987A84: ; // 0x2987a84 /* 02987A84 */ _t54 = cpu->r[6] + 0x00000000u; /* 02987A84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54); /* 02987A88 */ _t55 = cpu->r[7] + 0x00000000u; /* 02987A88 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]); /* 02987A8C */ _t56 = cpu->r[25] + 0x0000001Cu; /* 02987A8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 02987A90 */ cpu->r[8] = cpu->r[10]; /* 02987A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987A98 */ _t57 = cpu->r[1] + 0x00000008u; /* 02987A98 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]); /* 02987A9C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987A9C */ _t59 = _t58 & 0x00000001u; /* 02987A9C */ if (_t59) goto L_02987AA4; else goto L_02987AA0; L_02987AA0: ; // 0x2987aa0 /* 02987AA0 */ cpu->r[8] = cpu->r[1] + 0x00000008u; L_02987AA4: ; // 0x2987aa4 /* 02987AA4 */ _t60 = cpu->r[8] + 0x00000000u; /* 02987AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60); /* 02987AA8 */ _t61 = cpu->r[10] + 0x00000000u; /* 02987AA8 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]); /* 02987AAC */ _t62 = cpu->r[25] + 0x00000014u; /* 02987AAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t62); /* 02987AB0 */ _t63 = cpu->r[1] + 0x00000008u; /* 02987AB0 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]); /* 02987AB4 */ _t64 = cpu->r[11] + 0x00000000u; /* 02987AB4 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]); /* 02987AB8 */ _t65 = cpu->r[25] + 0x0000000Cu; /* 02987AB8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t65); /* 02987ABC */ _t66 = cpu->r[1] + 0x00000028u; /* 02987ABC */ rbrew_write32(cpu->mem, _t66, cpu->r[26]); /* 02987AC0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02987AC4 */ _t67 = cpu->r[1] + 0x0000002Cu; /* 02987AC4 */ rbrew_write32(cpu->mem, _t67, cpu->r[26]); /* 02987AC8 */ cpu->r[11] = cpu->r[9] ^ 0x00000001u; /* 02987ACC */ cpu->r[3] = cpu->r[27]; /* 02987AD0 */ _t68 = cpu->r[1] + 0x00000025u; /* 02987AD0 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[11]); /* 02987AD4 */ _t69 = cpu->r[31] + 0x00000000u; /* 02987AD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t69); /* 02987AD8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu; /* 02987ADC */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 02987AE0 */ _t70 = cpu->r[1] + 0x0000000Cu; /* 02987AE0 */ rbrew_write32(cpu->mem, _t70, cpu->r[12]); /* 02987AE4 */ Gambit_fn_02987918(cpu); /* 02987AE8 */ _t71 = cpu->r[31] + 0x00000004u; /* 02987AE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t71); /* 02987AEC */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 02987AF0 */ _t72 = cpu->r[27] + 0x00000084u; /* 02987AF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t72); /* 02987AF4 */ cpu->r[3] = cpu->r[30]; /* 02987AF8 */ Gambit_fn_02C5DD4C(cpu); /* 02987AFC */ cpu->r[3] = cpu->r[30]; /* 02987B00 */ cpu->r[4] = cpu->r[25]; /* 02987B04 */ Gambit_fn_02C5E5F0(cpu); /* 02987B08 */ _t73 = cpu->r[31] + 0x0000000Eu; /* 02987B08 */ cpu->r[9] = rbrew_read16(cpu->mem, _t73); /* 02987B0C */ cpu->r[9] = cpu->r[9] | 0x00000001u; /* 02987B10 */ _t74 = cpu->r[31] + 0x0000000Eu; /* 02987B10 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[9]); /* 02987B14 */ _t75 = cpu->r[28] + 0x00000004u; /* 02987B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75); /* 02987B18 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu; /* 02987B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]); /* 02987B20 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987B20 */ _t77 = _t76 & 0x00000001u; /* 02987B20 */ if (_t77) goto L_02987B24; else goto L_02987B3C; L_02987B24: ; // 0x2987b24 /* 02987B24 */ cpu->r[3] = cpu->r[29] + 0x00000001u; /* 02987B28 */ /* nop */ /* 02987B2C */ _t78 = cpu->r[1] + 0x0000007Cu; /* 02987B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t78); /* 02987B30 */ cpu->lr = cpu->r[0]; /* 02987B34 */ cpu->r[1] = cpu->r[1] + 0x00000078u; /* 02987B38 */ return; L_02987B3C: ; // 0x2987b3c /* 02987B3C */ /* nop */ /* 02987B40 */ _t79 = cpu->r[1] + 0x0000007Cu; /* 02987B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79); /* 02987B44 */ cpu->lr = cpu->r[0]; /* 02987B48 */ cpu->r[1] = cpu->r[1] + 0x00000078u; /* 02987B4C */ cpu->r[3] = 0xFFFFFFFFu; /* 02987B50 */ return; } // fn_02987B54 @ 0x2987b54 void Gambit_fn_02987B54(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_02987B54: ; // 0x2987b54 /* 02987B54 */ _t0 = cpu->r[5] + 0x00000000u; /* 02987B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 02987B58 */ /* nop */ /* 02987B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000005u); /* 02987B60 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987B60 */ _t2 = _t1 & 0x00000001u; /* 02987B60 */ if (_t2) goto L_02987B64; else goto L_02987B7C; L_02987B64: ; // 0x2987b64 /* 02987B64 */ _t3 = cpu->r[3] + 0x00000088u; /* 02987B64 */ cpu->r[0] = rbrew_read16(cpu->mem, _t3); /* 02987B68 */ cpu->r[11] = 0x00000000u; /* 02987B6C */ _t4 = cpu->r[4] + 0x0000001Cu; /* 02987B6C */ rbrew_write32(cpu->mem, _t4, cpu->r[11]); /* 02987B70 */ _t5 = cpu->r[4] + 0x00000004u; /* 02987B70 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02987B74 */ _t6 = cpu->r[4] + 0x00000018u; /* 02987B74 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]); /* 02987B78 */ return; L_02987B7C: ; // 0x2987b7c /* 02987B7C */ _t7 = cpu->r[3] + 0x0000008Au; /* 02987B7C */ cpu->r[11] = rbrew_read16(cpu->mem, _t7); /* 02987B80 */ _t8 = cpu->r[4] + 0x00000000u; /* 02987B80 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]); /* 02987B84 */ cpu->r[11] = 0x00000000u; /* 02987B88 */ _t9 = cpu->r[4] + 0x0000001Cu; /* 02987B88 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]); /* 02987B8C */ _t10 = cpu->r[4] + 0x00000018u; /* 02987B8C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]); /* 02987B90 */ return; } // fn_02987B94 @ 0x2987b94 void Gambit_fn_02987B94(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; L_02987B94: ; // 0x2987b94 /* 02987B94 */ _t0 = cpu->r[1] + 0xFFFFFF90u; /* 02987B94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02987B94 */ cpu->r[1] = _t0; /* 02987B98 */ /* nop */ /* 02987B9C */ cpu->r[0] = cpu->lr; /* 02987BA0 */ _t1 = cpu->r[1] + 0x00000074u; /* 02987BA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02987BA4 */ cpu->r[29] = cpu->r[7]; /* 02987BA8 */ cpu->r[28] = cpu->r[5]; /* 02987BAC */ _t2 = cpu->r[28] + 0x00000004u; /* 02987BAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 02987BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02987BB4 */ cpu->r[27] = cpu->r[3]; /* 02987BB8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987BB8 */ _t4 = _t3 & 0x00000001u; /* 02987BB8 */ if (_t4) goto L_02987DA8; else goto L_02987BBC; L_02987BBC: ; // 0x2987bbc /* 02987BBC */ _t5 = cpu->r[27] + 0x00000030u; /* 02987BBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t5); /* 02987BC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 02987BC4 */ _t6 = cpu->r[27] + 0x00000034u; /* 02987BC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 02987BC8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987BC8 */ _t8 = _t7 & 0x00000001u; /* 02987BC8 */ if (_t8) goto L_02987BCC; else goto L_02987BD4; L_02987BCC: ; // 0x2987bcc /* 02987BCC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 02987BD0 */ cpu->r[31] = cpu->r[31] + cpu->r[0]; L_02987BD4: ; // 0x2987bd4 /* 02987BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]); /* 02987BD8 */ _t9 = cpu->r[28] + 0x00000008u; /* 02987BD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02987BDC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987BDC */ _t11 = _t10 & 0x00000001u; /* 02987BDC */ if (_t11) goto L_02987BE0; else goto L_02987BE8; L_02987BE0: ; // 0x2987be0 /* 02987BE0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02987BE4 */ cpu->r[10] = cpu->r[10] + cpu->r[11]; L_02987BE8: ; // 0x2987be8 /* 02987BE8 */ _t12 = cpu->r[10] + 0x00000000u; /* 02987BE8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 02987BEC */ _t13 = cpu->r[31] + 0x00000004u; /* 02987BEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t13); /* 02987BF0 */ _t14 = cpu->r[31] + 0x0000000Cu; /* 02987BF0 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]); /* 02987BF4 */ _t15 = cpu->r[27] + 0x00000084u; /* 02987BF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); /* 02987BF8 */ cpu->r[30] = cpu->r[5] + cpu->r[7]; /* 02987BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02987BFC */ cpu->r[26] = 0x00000000u; /* 02987C00 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987C00 */ _t17 = _t16 & 0x00000001u; /* 02987C00 */ if (_t17) goto L_02987C78; else goto L_02987C04; L_02987C04: ; // 0x2987c04 /* 02987C04 */ cpu->r[3] = cpu->r[30]; /* 02987C08 */ Gambit_fn_02C4F040(cpu); /* 02987C0C */ cpu->r[9] = 0x101B0000u; /* 02987C10 */ _t18 = cpu->r[30] + 0x00000044u; /* 02987C10 */ rbrew_write32(cpu->mem, _t18, cpu->r[26]); /* 02987C14 */ cpu->r[9] = cpu->r[9] + 0xFFFFF008u; /* 02987C18 */ _t19 = cpu->r[30] + 0x00000034u; /* 02987C18 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]); /* 02987C1C */ _t20 = cpu->r[31] + 0x00000008u; /* 02987C1C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 02987C20 */ _t21 = cpu->r[28] + 0x00000000u; /* 02987C20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 02987C24 */ cpu->r[12] = 0x00000001u; /* 02987C28 */ _t22 = cpu->r[8] + 0x00000000u; /* 02987C28 */ cpu->r[25] = rbrew_read32(cpu->mem, _t22); /* 02987C2C */ cpu->r[6] = 0x00000000u; /* 02987C30 */ _t23 = cpu->r[1] + 0x0000002Cu; /* 02987C30 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]); /* 02987C34 */ cpu->r[11] = 0xFFFFFFFFu; /* 02987C38 */ _t24 = cpu->r[1] + 0x0000002Du; /* 02987C38 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[6]); /* 02987C3C */ _t25 = cpu->r[1] + 0x00000020u; /* 02987C3C */ rbrew_write32(cpu->mem, _t25, cpu->r[11]); /* 02987C40 */ _t26 = cpu->r[1] + 0x00000024u; /* 02987C40 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]); /* 02987C44 */ _t27 = cpu->r[1] + 0x00000018u; /* 02987C44 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]); /* 02987C48 */ _t28 = cpu->r[1] + 0x0000001Cu; /* 02987C48 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]); /* 02987C4C */ _t29 = cpu->r[1] + 0x00000028u; /* 02987C4C */ rbrew_write32(cpu->mem, _t29, cpu->r[11]); /* 02987C50 */ _t30 = cpu->r[1] + 0x00000030u; /* 02987C50 */ rbrew_write32(cpu->mem, _t30, cpu->r[26]); /* 02987C54 */ _t31 = cpu->r[1] + 0x00000034u; /* 02987C54 */ rbrew_write32(cpu->mem, _t31, cpu->r[26]); /* 02987C58 */ _t32 = cpu->r[25] + 0x0000000Cu; /* 02987C58 */ cpu->r[0] = rbrew_read16(cpu->mem, _t32); /* 02987C5C */ cpu->r[9] = cpu->r[1] + 0x00000028u; /* 02987C60 */ cpu->r[7] = cpu->r[1] + 0x00000024u; /* 02987C64 */ cpu->r[5] = cpu->r[1] + 0x00000020u; /* 02987C68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000017u, 0x00000017u); /* 02987C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987C6C */ _t33 = cpu->r[25] + 0x00000014u; /* 02987C6C */ cpu->r[0] = rbrew_read16(cpu->mem, _t33); /* 02987C70 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987C70 */ _t35 = _t34 & 0x00000001u; /* 02987C70 */ if (_t35) goto L_02987CD0; else goto L_02987C74; L_02987C74: ; // 0x2987c74 /* 02987C74 */ goto L_02987CF8; L_02987C78: ; // 0x2987c78 /* 02987C78 */ cpu->r[30] = 0x00000000u; /* 02987C7C */ _t36 = cpu->r[31] + 0x00000008u; /* 02987C7C */ rbrew_write32(cpu->mem, _t36, cpu->r[30]); /* 02987C80 */ _t37 = cpu->r[28] + 0x00000000u; /* 02987C80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37); /* 02987C84 */ _t38 = cpu->r[8] + 0x00000000u; /* 02987C84 */ cpu->r[25] = rbrew_read32(cpu->mem, _t38); /* 02987C88 */ cpu->r[11] = 0xFFFFFFFFu; /* 02987C8C */ _t39 = cpu->r[1] + 0x00000034u; /* 02987C8C */ rbrew_write32(cpu->mem, _t39, cpu->r[26]); /* 02987C90 */ cpu->r[12] = 0x00000001u; /* 02987C94 */ _t40 = cpu->r[1] + 0x00000018u; /* 02987C94 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]); /* 02987C98 */ _t41 = cpu->r[1] + 0x0000002Cu; /* 02987C98 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[12]); /* 02987C9C */ _t42 = cpu->r[1] + 0x00000024u; /* 02987C9C */ rbrew_write32(cpu->mem, _t42, cpu->r[11]); /* 02987CA0 */ _t43 = cpu->r[1] + 0x00000030u; /* 02987CA0 */ rbrew_write32(cpu->mem, _t43, cpu->r[26]); /* 02987CA4 */ _t44 = cpu->r[1] + 0x0000001Cu; /* 02987CA4 */ rbrew_write32(cpu->mem, _t44, cpu->r[11]); /* 02987CA8 */ _t45 = cpu->r[1] + 0x0000002Du; /* 02987CA8 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]); /* 02987CAC */ _t46 = cpu->r[1] + 0x00000020u; /* 02987CAC */ rbrew_write32(cpu->mem, _t46, cpu->r[11]); /* 02987CB0 */ _t47 = cpu->r[1] + 0x00000028u; /* 02987CB0 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]); /* 02987CB4 */ _t48 = cpu->r[25] + 0x0000000Cu; /* 02987CB4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t48); /* 02987CB8 */ cpu->r[5] = cpu->r[1] + 0x00000020u; /* 02987CBC */ cpu->r[7] = cpu->r[1] + 0x00000024u; /* 02987CC0 */ cpu->r[9] = cpu->r[1] + 0x00000028u; /* 02987CC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000017u, 0x00000017u); /* 02987CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987CC8 */ _t49 = cpu->r[25] + 0x00000014u; /* 02987CC8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t49); /* 02987CCC */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987CCC */ _t51 = _t50 & 0x00000001u; /* 02987CCC */ if (_t51) goto L_02987CD0; else goto L_02987CF8; L_02987CD0: ; // 0x2987cd0 /* 02987CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987CD4 */ _t52 = cpu->r[1] + 0x0000000Cu; /* 02987CD4 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]); /* 02987CD8 */ cpu->r[8] = cpu->r[5]; /* 02987CDC */ _t53 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987CDC */ _t54 = _t53 & 0x00000001u; /* 02987CDC */ if (_t54) goto L_02987CE4; else goto L_02987CE0; L_02987CE0: ; // 0x2987ce0 /* 02987CE0 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu; L_02987CE4: ; // 0x2987ce4 /* 02987CE4 */ _t55 = cpu->r[8] + 0x00000000u; /* 02987CE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55); /* 02987CE8 */ _t56 = cpu->r[5] + 0x00000000u; /* 02987CE8 */ rbrew_write32(cpu->mem, _t56, cpu->r[6]); /* 02987CEC */ _t57 = cpu->r[25] + 0x00000016u; /* 02987CEC */ cpu->r[0] = rbrew_read16(cpu->mem, _t57); /* 02987CF0 */ _t58 = cpu->r[1] + 0x00000008u; /* 02987CF0 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]); /* 02987CF4 */ goto L_02987D1C; L_02987CF8: ; // 0x2987cf8 /* 02987CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987CFC */ _t59 = cpu->r[1] + 0x00000010u; /* 02987CFC */ rbrew_write32(cpu->mem, _t59, cpu->r[0]); /* 02987D00 */ cpu->r[10] = cpu->r[7]; /* 02987D04 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987D04 */ _t61 = _t60 & 0x00000001u; /* 02987D04 */ if (_t61) goto L_02987D0C; else goto L_02987D08; L_02987D08: ; // 0x2987d08 /* 02987D08 */ cpu->r[10] = cpu->r[1] + 0x00000010u; L_02987D0C: ; // 0x2987d0c /* 02987D0C */ _t62 = cpu->r[10] + 0x00000000u; /* 02987D0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t62); /* 02987D10 */ _t63 = cpu->r[7] + 0x00000000u; /* 02987D10 */ rbrew_write32(cpu->mem, _t63, cpu->r[6]); /* 02987D14 */ _t64 = cpu->r[25] + 0x00000016u; /* 02987D14 */ cpu->r[0] = rbrew_read16(cpu->mem, _t64); /* 02987D18 */ _t65 = cpu->r[1] + 0x00000008u; /* 02987D18 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]); L_02987D1C: ; // 0x2987d1c /* 02987D1C */ _t66 = cpu->r[1] + 0x00000008u; /* 02987D1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t66); /* 02987D20 */ _t67 = cpu->r[9] + 0x00000000u; /* 02987D20 */ rbrew_write32(cpu->mem, _t67, cpu->r[10]); /* 02987D24 */ _t68 = cpu->r[25] + 0x0000000Cu; /* 02987D24 */ cpu->r[12] = rbrew_read16(cpu->mem, _t68); /* 02987D28 */ _t69 = cpu->r[1] + 0x00000030u; /* 02987D28 */ rbrew_write32(cpu->mem, _t69, cpu->r[26]); /* 02987D2C */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02987D30 */ _t70 = cpu->r[1] + 0x00000034u; /* 02987D30 */ rbrew_write32(cpu->mem, _t70, cpu->r[26]); /* 02987D34 */ cpu->r[11] = cpu->r[11] ^ 0x00000001u; /* 02987D38 */ cpu->r[3] = cpu->r[27]; /* 02987D3C */ _t71 = cpu->r[1] + 0x0000002Du; /* 02987D3C */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[11]); /* 02987D40 */ _t72 = cpu->r[31] + 0x00000000u; /* 02987D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 02987D44 */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 02987D48 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 02987D4C */ _t73 = cpu->r[1] + 0x00000014u; /* 02987D4C */ rbrew_write32(cpu->mem, _t73, cpu->r[0]); /* 02987D50 */ Gambit_fn_02987B54(cpu); /* 02987D54 */ _t74 = cpu->r[31] + 0x00000004u; /* 02987D54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t74); /* 02987D58 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 02987D5C */ _t75 = cpu->r[27] + 0x00000084u; /* 02987D5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t75); /* 02987D60 */ cpu->r[3] = cpu->r[30]; /* 02987D64 */ Gambit_fn_02C5E89C(cpu); /* 02987D68 */ cpu->r[3] = cpu->r[30]; /* 02987D6C */ cpu->r[4] = cpu->r[25]; /* 02987D70 */ Gambit_fn_02C5EF58(cpu); /* 02987D74 */ _t76 = cpu->r[31] + 0x0000000Eu; /* 02987D74 */ cpu->r[6] = rbrew_read16(cpu->mem, _t76); /* 02987D78 */ cpu->r[6] = cpu->r[6] | 0x00000001u; /* 02987D7C */ _t77 = cpu->r[31] + 0x0000000Eu; /* 02987D7C */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[6]); /* 02987D80 */ _t78 = cpu->r[28] + 0x00000004u; /* 02987D80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t78); /* 02987D84 */ cpu->r[8] = cpu->r[10] + 0xFFFFFFFFu; /* 02987D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]); /* 02987D8C */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987D8C */ _t80 = _t79 & 0x00000001u; /* 02987D8C */ if (_t80) goto L_02987D90; else goto L_02987DA8; L_02987D90: ; // 0x2987d90 /* 02987D90 */ cpu->r[3] = cpu->r[29] + 0x00000001u; /* 02987D94 */ /* nop */ /* 02987D98 */ _t81 = cpu->r[1] + 0x00000074u; /* 02987D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81); /* 02987D9C */ cpu->lr = cpu->r[0]; /* 02987DA0 */ cpu->r[1] = cpu->r[1] + 0x00000070u; /* 02987DA4 */ return; L_02987DA8: ; // 0x2987da8 /* 02987DA8 */ /* nop */ /* 02987DAC */ _t82 = cpu->r[1] + 0x00000074u; /* 02987DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t82); /* 02987DB0 */ cpu->lr = cpu->r[0]; /* 02987DB4 */ cpu->r[1] = cpu->r[1] + 0x00000070u; /* 02987DB8 */ cpu->r[3] = 0xFFFFFFFFu; /* 02987DBC */ return; } // fn_02987DC0 @ 0x2987dc0 void Gambit_fn_02987DC0(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; L_02987DC0: ; // 0x2987dc0 /* 02987DC0 */ _t0 = cpu->r[1] + 0xFFFFFF90u; /* 02987DC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02987DC0 */ cpu->r[1] = _t0; /* 02987DC4 */ /* nop */ /* 02987DC8 */ cpu->r[0] = cpu->lr; /* 02987DCC */ _t1 = cpu->r[1] + 0x00000074u; /* 02987DCC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02987DD0 */ cpu->r[29] = cpu->r[7]; /* 02987DD4 */ cpu->r[28] = cpu->r[5]; /* 02987DD8 */ _t2 = cpu->r[28] + 0x00000004u; /* 02987DD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 02987DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02987DE0 */ cpu->r[27] = cpu->r[3]; /* 02987DE4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987DE4 */ _t4 = _t3 & 0x00000001u; /* 02987DE4 */ if (_t4) goto L_02987FD4; else goto L_02987DE8; L_02987DE8: ; // 0x2987de8 /* 02987DE8 */ _t5 = cpu->r[27] + 0x00000030u; /* 02987DE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5); /* 02987DEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]); /* 02987DF0 */ _t6 = cpu->r[27] + 0x00000034u; /* 02987DF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 02987DF4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987DF4 */ _t8 = _t7 & 0x00000001u; /* 02987DF4 */ if (_t8) goto L_02987DF8; else goto L_02987E00; L_02987DF8: ; // 0x2987df8 /* 02987DF8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu); /* 02987DFC */ cpu->r[31] = cpu->r[31] + cpu->r[0]; L_02987E00: ; // 0x2987e00 /* 02987E00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]); /* 02987E04 */ _t9 = cpu->r[28] + 0x00000008u; /* 02987E04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02987E08 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987E08 */ _t11 = _t10 & 0x00000001u; /* 02987E08 */ if (_t11) goto L_02987E0C; else goto L_02987E14; L_02987E0C: ; // 0x2987e0c /* 02987E0C */ cpu->r[11] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu); /* 02987E10 */ cpu->r[10] = cpu->r[10] + cpu->r[11]; L_02987E14: ; // 0x2987e14 /* 02987E14 */ _t12 = cpu->r[10] + 0x00000000u; /* 02987E14 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 02987E18 */ _t13 = cpu->r[31] + 0x00000004u; /* 02987E18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13); /* 02987E1C */ _t14 = cpu->r[31] + 0x0000000Cu; /* 02987E1C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]); /* 02987E20 */ _t15 = cpu->r[27] + 0x00000084u; /* 02987E20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15); /* 02987E24 */ cpu->r[30] = cpu->r[5] + cpu->r[7]; /* 02987E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02987E28 */ cpu->r[26] = 0x00000000u; /* 02987E2C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987E2C */ _t17 = _t16 & 0x00000001u; /* 02987E2C */ if (_t17) goto L_02987EA4; else goto L_02987E30; L_02987E30: ; // 0x2987e30 /* 02987E30 */ cpu->r[3] = cpu->r[30]; /* 02987E34 */ Gambit_fn_02C4F040(cpu); /* 02987E38 */ cpu->r[9] = 0x101B0000u; /* 02987E3C */ _t18 = cpu->r[30] + 0x00000044u; /* 02987E3C */ rbrew_write32(cpu->mem, _t18, cpu->r[26]); /* 02987E40 */ cpu->r[9] = cpu->r[9] + 0xFFFFF008u; /* 02987E44 */ _t19 = cpu->r[30] + 0x00000034u; /* 02987E44 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]); /* 02987E48 */ _t20 = cpu->r[31] + 0x00000008u; /* 02987E48 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 02987E4C */ _t21 = cpu->r[28] + 0x00000000u; /* 02987E4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 02987E50 */ cpu->r[12] = 0x00000001u; /* 02987E54 */ _t22 = cpu->r[8] + 0x00000000u; /* 02987E54 */ cpu->r[25] = rbrew_read32(cpu->mem, _t22); /* 02987E58 */ cpu->r[6] = 0x00000000u; /* 02987E5C */ _t23 = cpu->r[1] + 0x0000002Cu; /* 02987E5C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]); /* 02987E60 */ cpu->r[11] = 0xFFFFFFFFu; /* 02987E64 */ _t24 = cpu->r[1] + 0x0000002Du; /* 02987E64 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[6]); /* 02987E68 */ _t25 = cpu->r[1] + 0x00000020u; /* 02987E68 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]); /* 02987E6C */ _t26 = cpu->r[1] + 0x00000024u; /* 02987E6C */ rbrew_write32(cpu->mem, _t26, cpu->r[11]); /* 02987E70 */ _t27 = cpu->r[1] + 0x00000018u; /* 02987E70 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]); /* 02987E74 */ _t28 = cpu->r[1] + 0x0000001Cu; /* 02987E74 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]); /* 02987E78 */ _t29 = cpu->r[1] + 0x00000028u; /* 02987E78 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]); /* 02987E7C */ _t30 = cpu->r[1] + 0x00000030u; /* 02987E7C */ rbrew_write32(cpu->mem, _t30, cpu->r[26]); /* 02987E80 */ _t31 = cpu->r[1] + 0x00000034u; /* 02987E80 */ rbrew_write32(cpu->mem, _t31, cpu->r[26]); /* 02987E84 */ _t32 = cpu->r[25] + 0x0000000Cu; /* 02987E84 */ cpu->r[0] = rbrew_read16(cpu->mem, _t32); /* 02987E88 */ cpu->r[9] = cpu->r[1] + 0x00000028u; /* 02987E8C */ cpu->r[7] = cpu->r[1] + 0x00000024u; /* 02987E90 */ cpu->r[5] = cpu->r[1] + 0x00000020u; /* 02987E94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000017u, 0x00000017u); /* 02987E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987E98 */ _t33 = cpu->r[25] + 0x00000014u; /* 02987E98 */ cpu->r[0] = rbrew_read16(cpu->mem, _t33); /* 02987E9C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987E9C */ _t35 = _t34 & 0x00000001u; /* 02987E9C */ if (_t35) goto L_02987EFC; else goto L_02987EA0; L_02987EA0: ; // 0x2987ea0 /* 02987EA0 */ goto L_02987F24; L_02987EA4: ; // 0x2987ea4 /* 02987EA4 */ cpu->r[30] = 0x00000000u; /* 02987EA8 */ _t36 = cpu->r[31] + 0x00000008u; /* 02987EA8 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]); /* 02987EAC */ _t37 = cpu->r[28] + 0x00000000u; /* 02987EAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t37); /* 02987EB0 */ _t38 = cpu->r[8] + 0x00000000u; /* 02987EB0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t38); /* 02987EB4 */ cpu->r[11] = 0xFFFFFFFFu; /* 02987EB8 */ _t39 = cpu->r[1] + 0x00000034u; /* 02987EB8 */ rbrew_write32(cpu->mem, _t39, cpu->r[26]); /* 02987EBC */ cpu->r[12] = 0x00000001u; /* 02987EC0 */ _t40 = cpu->r[1] + 0x00000018u; /* 02987EC0 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]); /* 02987EC4 */ _t41 = cpu->r[1] + 0x0000002Cu; /* 02987EC4 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[12]); /* 02987EC8 */ _t42 = cpu->r[1] + 0x00000024u; /* 02987EC8 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]); /* 02987ECC */ _t43 = cpu->r[1] + 0x00000030u; /* 02987ECC */ rbrew_write32(cpu->mem, _t43, cpu->r[26]); /* 02987ED0 */ _t44 = cpu->r[1] + 0x0000001Cu; /* 02987ED0 */ rbrew_write32(cpu->mem, _t44, cpu->r[11]); /* 02987ED4 */ _t45 = cpu->r[1] + 0x0000002Du; /* 02987ED4 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]); /* 02987ED8 */ _t46 = cpu->r[1] + 0x00000020u; /* 02987ED8 */ rbrew_write32(cpu->mem, _t46, cpu->r[11]); /* 02987EDC */ _t47 = cpu->r[1] + 0x00000028u; /* 02987EDC */ rbrew_write32(cpu->mem, _t47, cpu->r[11]); /* 02987EE0 */ _t48 = cpu->r[25] + 0x0000000Cu; /* 02987EE0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t48); /* 02987EE4 */ cpu->r[5] = cpu->r[1] + 0x00000020u; /* 02987EE8 */ cpu->r[7] = cpu->r[1] + 0x00000024u; /* 02987EEC */ cpu->r[9] = cpu->r[1] + 0x00000028u; /* 02987EF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000017u, 0x00000017u); /* 02987EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987EF4 */ _t49 = cpu->r[25] + 0x00000014u; /* 02987EF4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t49); /* 02987EF8 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 02987EF8 */ _t51 = _t50 & 0x00000001u; /* 02987EF8 */ if (_t51) goto L_02987EFC; else goto L_02987F24; L_02987EFC: ; // 0x2987efc /* 02987EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987F00 */ _t52 = cpu->r[1] + 0x0000000Cu; /* 02987F00 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]); /* 02987F04 */ cpu->r[8] = cpu->r[5]; /* 02987F08 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987F08 */ _t54 = _t53 & 0x00000001u; /* 02987F08 */ if (_t54) goto L_02987F10; else goto L_02987F0C; L_02987F0C: ; // 0x2987f0c /* 02987F0C */ cpu->r[8] = cpu->r[1] + 0x0000000Cu; L_02987F10: ; // 0x2987f10 /* 02987F10 */ _t55 = cpu->r[8] + 0x00000000u; /* 02987F10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55); /* 02987F14 */ _t56 = cpu->r[5] + 0x00000000u; /* 02987F14 */ rbrew_write32(cpu->mem, _t56, cpu->r[6]); /* 02987F18 */ _t57 = cpu->r[25] + 0x00000016u; /* 02987F18 */ cpu->r[0] = rbrew_read16(cpu->mem, _t57); /* 02987F1C */ _t58 = cpu->r[1] + 0x00000008u; /* 02987F1C */ rbrew_write32(cpu->mem, _t58, cpu->r[0]); /* 02987F20 */ goto L_02987F48; L_02987F24: ; // 0x2987f24 /* 02987F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02987F28 */ _t59 = cpu->r[1] + 0x00000010u; /* 02987F28 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]); /* 02987F2C */ cpu->r[10] = cpu->r[7]; /* 02987F30 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987F30 */ _t61 = _t60 & 0x00000001u; /* 02987F30 */ if (_t61) goto L_02987F38; else goto L_02987F34; L_02987F34: ; // 0x2987f34 /* 02987F34 */ cpu->r[10] = cpu->r[1] + 0x00000010u; L_02987F38: ; // 0x2987f38 /* 02987F38 */ _t62 = cpu->r[10] + 0x00000000u; /* 02987F38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t62); /* 02987F3C */ _t63 = cpu->r[7] + 0x00000000u; /* 02987F3C */ rbrew_write32(cpu->mem, _t63, cpu->r[6]); /* 02987F40 */ _t64 = cpu->r[25] + 0x00000016u; /* 02987F40 */ cpu->r[0] = rbrew_read16(cpu->mem, _t64); /* 02987F44 */ _t65 = cpu->r[1] + 0x00000008u; /* 02987F44 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]); L_02987F48: ; // 0x2987f48 /* 02987F48 */ _t66 = cpu->r[1] + 0x00000008u; /* 02987F48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66); /* 02987F4C */ _t67 = cpu->r[9] + 0x00000000u; /* 02987F4C */ rbrew_write32(cpu->mem, _t67, cpu->r[10]); /* 02987F50 */ _t68 = cpu->r[25] + 0x0000000Cu; /* 02987F50 */ cpu->r[12] = rbrew_read16(cpu->mem, _t68); /* 02987F54 */ _t69 = cpu->r[1] + 0x00000030u; /* 02987F54 */ rbrew_write32(cpu->mem, _t69, cpu->r[26]); /* 02987F58 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02987F5C */ _t70 = cpu->r[1] + 0x00000034u; /* 02987F5C */ rbrew_write32(cpu->mem, _t70, cpu->r[26]); /* 02987F60 */ cpu->r[11] = cpu->r[11] ^ 0x00000001u; /* 02987F64 */ cpu->r[3] = cpu->r[27]; /* 02987F68 */ _t71 = cpu->r[1] + 0x0000002Du; /* 02987F68 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[11]); /* 02987F6C */ _t72 = cpu->r[31] + 0x00000000u; /* 02987F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 02987F70 */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 02987F74 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 02987F78 */ _t73 = cpu->r[1] + 0x00000014u; /* 02987F78 */ rbrew_write32(cpu->mem, _t73, cpu->r[0]); /* 02987F7C */ Gambit_fn_02987B54(cpu); /* 02987F80 */ _t74 = cpu->r[31] + 0x00000004u; /* 02987F80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t74); /* 02987F84 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 02987F88 */ _t75 = cpu->r[27] + 0x00000084u; /* 02987F88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t75); /* 02987F8C */ cpu->r[3] = cpu->r[30]; /* 02987F90 */ Gambit_fn_02C5E89C(cpu); /* 02987F94 */ cpu->r[3] = cpu->r[30]; /* 02987F98 */ cpu->r[4] = cpu->r[25]; /* 02987F9C */ Gambit_fn_02C5EF58(cpu); /* 02987FA0 */ _t76 = cpu->r[31] + 0x0000000Eu; /* 02987FA0 */ cpu->r[6] = rbrew_read16(cpu->mem, _t76); /* 02987FA4 */ cpu->r[6] = cpu->r[6] | 0x00000001u; /* 02987FA8 */ _t77 = cpu->r[31] + 0x0000000Eu; /* 02987FA8 */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[6]); /* 02987FAC */ _t78 = cpu->r[28] + 0x00000004u; /* 02987FAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t78); /* 02987FB0 */ cpu->r[8] = cpu->r[10] + 0xFFFFFFFFu; /* 02987FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]); /* 02987FB8 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 02987FB8 */ _t80 = _t79 & 0x00000001u; /* 02987FB8 */ if (_t80) goto L_02987FBC; else goto L_02987FD4; L_02987FBC: ; // 0x2987fbc /* 02987FBC */ cpu->r[3] = cpu->r[29] + 0x00000001u; /* 02987FC0 */ /* nop */ /* 02987FC4 */ _t81 = cpu->r[1] + 0x00000074u; /* 02987FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81); /* 02987FC8 */ cpu->lr = cpu->r[0]; /* 02987FCC */ cpu->r[1] = cpu->r[1] + 0x00000070u; /* 02987FD0 */ return; L_02987FD4: ; // 0x2987fd4 /* 02987FD4 */ /* nop */ /* 02987FD8 */ _t82 = cpu->r[1] + 0x00000074u; /* 02987FD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82); /* 02987FDC */ cpu->lr = cpu->r[0]; /* 02987FE0 */ cpu->r[1] = cpu->r[1] + 0x00000070u; /* 02987FE4 */ cpu->r[3] = 0xFFFFFFFFu; /* 02987FE8 */ return; } // fn_02987FEC @ 0x2987fec void Gambit_fn_02987FEC(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_02987FEC: ; // 0x2987fec /* 02987FEC */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02987FEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02987FEC */ cpu->r[1] = _t0; /* 02987FF0 */ /* nop */ /* 02987FF4 */ cpu->r[0] = cpu->lr; /* 02987FF8 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02987FF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02987FFC */ _t2 = cpu->r[3] + 0x00000074u; /* 02987FFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02988000 */ cpu->r[27] = cpu->r[4]; /* 02988004 */ _t3 = cpu->r[3] + 0x0000007Cu; /* 02988004 */ cpu->r[29] = rbrew_read32(cpu->mem, _t3); /* 02988008 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298800C */ cpu->r[28] = cpu->r[5]; /* 02988010 */ cpu->r[30] = cpu->r[29] + cpu->r[8]; /* 02988014 */ cpu->r[31] = 0xFFFFFFFFu; /* 02988018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 0298801C */ cpu->r[26] = 0x00000000u; /* 02988020 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988020 */ _t5 = _t4 & 0x00000001u; /* 02988020 */ if (_t5) goto L_02988094; else goto L_02988024; L_02988024: ; // 0x2988024 /* 02988024 */ _t6 = cpu->r[27] + 0x00000004u; /* 02988024 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02988028 */ _t7 = cpu->r[11] + 0x00000014u; /* 02988028 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0298802C */ _t8 = cpu->r[29] + 0x00000000u; /* 0298802C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 02988030 */ cpu->ctr = cpu->r[12]; /* 02988034 */ _t9 = cpu->r[10] + 0x0000001Cu; /* 02988034 */ cpu->r[25] = rbrew_read32(cpu->mem, _t9); /* 02988038 */ cpu->r[3] = cpu->r[27]; /* 0298803C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988040 */ _t10 = cpu->r[25] + 0x0000002Cu; /* 02988040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02988044 */ cpu->r[12] = cpu->r[25] + 0x0000002Cu; /* 02988048 */ cpu->r[3] = 0x00000000u; /* 0298804C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02988050 */ _t11 = cpu->r[27] + 0x00000000u; /* 02988050 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 02988054 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988054 */ _t13 = _t12 & 0x00000001u; /* 02988054 */ if (_t13) goto L_0298805C; else goto L_02988058; L_02988058: ; // 0x2988058 /* 02988058 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; L_0298805C: ; // 0x298805c /* 0298805C */ Gambit_fn_02C60644(cpu); /* 02988060 */ cpu->r[6] = cpu->r[3]; /* 02988060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02988064 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 02988064 */ _t15 = _t14 & 0x00000001u; /* 02988064 */ if (_t15) goto L_02988078; else goto L_02988068; L_02988068: ; // 0x2988068 /* 02988068 */ cpu->r[5] = cpu->r[26] + cpu->r[6]; /* 0298806C */ _t16 = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0298806C */ _t17 = cpu->r[0] & 0xFFFF0000u; /* 0298806C */ cpu->r[0] = _t17 | _t16; /* 02988070 */ _t18 = rbrew_rlwinm(cpu->r[28], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02988070 */ _t19 = cpu->r[0] & 0x0000FFFFu; /* 02988070 */ cpu->r[0] = _t19 | _t18; /* 02988074 */ goto L_0298809C; L_02988078: ; // 0x2988078 /* 02988078 */ _t20 = cpu->r[29] + 0x00000000u; /* 02988078 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 0298807C */ _t21 = cpu->r[10] + 0x0000001Cu; /* 0298807C */ cpu->r[25] = rbrew_read32(cpu->mem, _t21); /* 02988080 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 02988084 */ _t22 = cpu->r[25] + 0x00000056u; /* 02988084 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22); /* 02988088 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 0298808C */ cpu->r[26] = cpu->r[26] + cpu->r[0]; /* 02988090 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988090 */ _t24 = _t23 & 0x00000001u; /* 02988090 */ if (_t24) goto L_02988094; else goto L_02988024; L_02988094: ; // 0x2988094 /* 02988094 */ _t25 = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02988094 */ _t26 = cpu->r[0] & 0x0000FFFFu; /* 02988094 */ cpu->r[0] = _t26 | _t25; /* 02988098 */ _t27 = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02988098 */ _t28 = cpu->r[0] & 0xFFFF0000u; /* 02988098 */ cpu->r[0] = _t28 | _t27; L_0298809C: ; // 0x298809c /* 0298809C */ /* nop */ /* 029880A0 */ cpu->r[3] = cpu->r[0]; /* 029880A4 */ _t29 = cpu->r[1] + 0x0000002Cu; /* 029880A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 029880A8 */ cpu->lr = cpu->r[0]; /* 029880AC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 029880B0 */ return; } // fn_029880B4 @ 0x29880b4 void Gambit_fn_029880B4(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_029880B4: ; // 0x29880b4 /* 029880B4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 029880B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029880B4 */ cpu->r[1] = _t0; /* 029880B8 */ /* nop */ /* 029880BC */ cpu->r[0] = cpu->lr; /* 029880C0 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 029880C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029880C4 */ _t2 = cpu->r[3] + 0x00000074u; /* 029880C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 029880C8 */ cpu->r[27] = cpu->r[4]; /* 029880CC */ _t3 = cpu->r[3] + 0x0000007Cu; /* 029880CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t3); /* 029880D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029880D4 */ cpu->r[28] = cpu->r[5]; /* 029880D8 */ cpu->r[30] = cpu->r[29] + cpu->r[8]; /* 029880DC */ cpu->r[31] = 0xFFFFFFFFu; /* 029880E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 029880E4 */ cpu->r[26] = 0x00000000u; /* 029880E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 029880E8 */ _t5 = _t4 & 0x00000001u; /* 029880E8 */ if (_t5) goto L_0298815C; else goto L_029880EC; L_029880EC: ; // 0x29880ec /* 029880EC */ _t6 = cpu->r[27] + 0x00000004u; /* 029880EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 029880F0 */ _t7 = cpu->r[11] + 0x00000014u; /* 029880F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 029880F4 */ _t8 = cpu->r[29] + 0x00000000u; /* 029880F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 029880F8 */ cpu->ctr = cpu->r[12]; /* 029880FC */ _t9 = cpu->r[10] + 0x0000001Cu; /* 029880FC */ cpu->r[25] = rbrew_read32(cpu->mem, _t9); /* 02988100 */ cpu->r[3] = cpu->r[27]; /* 02988104 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988108 */ _t10 = cpu->r[25] + 0x00000030u; /* 02988108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298810C */ cpu->r[12] = cpu->r[25] + 0x00000030u; /* 02988110 */ cpu->r[3] = 0x00000000u; /* 02988114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02988118 */ _t11 = cpu->r[27] + 0x00000000u; /* 02988118 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 0298811C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298811C */ _t13 = _t12 & 0x00000001u; /* 0298811C */ if (_t13) goto L_02988124; else goto L_02988120; L_02988120: ; // 0x2988120 /* 02988120 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; L_02988124: ; // 0x2988124 /* 02988124 */ Gambit_fn_02C60644(cpu); /* 02988128 */ cpu->r[6] = cpu->r[3]; /* 02988128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0298812C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298812C */ _t15 = _t14 & 0x00000001u; /* 0298812C */ if (_t15) goto L_02988140; else goto L_02988130; L_02988130: ; // 0x2988130 /* 02988130 */ cpu->r[5] = cpu->r[26] + cpu->r[6]; /* 02988134 */ _t16 = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02988134 */ _t17 = cpu->r[0] & 0xFFFF0000u; /* 02988134 */ cpu->r[0] = _t17 | _t16; /* 02988138 */ _t18 = rbrew_rlwinm(cpu->r[28], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02988138 */ _t19 = cpu->r[0] & 0x0000FFFFu; /* 02988138 */ cpu->r[0] = _t19 | _t18; /* 0298813C */ goto L_02988164; L_02988140: ; // 0x2988140 /* 02988140 */ _t20 = cpu->r[29] + 0x00000000u; /* 02988140 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 02988144 */ _t21 = cpu->r[10] + 0x0000001Cu; /* 02988144 */ cpu->r[25] = rbrew_read32(cpu->mem, _t21); /* 02988148 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298814C */ _t22 = cpu->r[25] + 0x00000058u; /* 0298814C */ cpu->r[0] = rbrew_read16(cpu->mem, _t22); /* 02988150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02988154 */ cpu->r[26] = cpu->r[26] + cpu->r[0]; /* 02988158 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988158 */ _t24 = _t23 & 0x00000001u; /* 02988158 */ if (_t24) goto L_0298815C; else goto L_029880EC; L_0298815C: ; // 0x298815c /* 0298815C */ _t25 = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 0298815C */ _t26 = cpu->r[0] & 0x0000FFFFu; /* 0298815C */ cpu->r[0] = _t26 | _t25; /* 02988160 */ _t27 = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02988160 */ _t28 = cpu->r[0] & 0xFFFF0000u; /* 02988160 */ cpu->r[0] = _t28 | _t27; L_02988164: ; // 0x2988164 /* 02988164 */ /* nop */ /* 02988168 */ cpu->r[3] = cpu->r[0]; /* 0298816C */ _t29 = cpu->r[1] + 0x0000002Cu; /* 0298816C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 02988170 */ cpu->lr = cpu->r[0]; /* 02988174 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02988178 */ return; } // fn_0298817C @ 0x298817c void Gambit_fn_0298817C(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_0298817C: ; // 0x298817c /* 0298817C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0298817C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298817C */ cpu->r[1] = _t0; /* 02988180 */ /* nop */ /* 02988184 */ cpu->r[0] = cpu->lr; /* 02988188 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02988188 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298818C */ _t2 = cpu->r[3] + 0x00000074u; /* 0298818C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02988190 */ cpu->r[27] = cpu->r[4]; /* 02988194 */ _t3 = cpu->r[3] + 0x0000007Cu; /* 02988194 */ cpu->r[29] = rbrew_read32(cpu->mem, _t3); /* 02988198 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298819C */ cpu->r[28] = cpu->r[5]; /* 029881A0 */ cpu->r[30] = cpu->r[29] + cpu->r[8]; /* 029881A4 */ cpu->r[31] = 0xFFFFFFFFu; /* 029881A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 029881AC */ cpu->r[26] = 0x00000000u; /* 029881B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 029881B0 */ _t5 = _t4 & 0x00000001u; /* 029881B0 */ if (_t5) goto L_02988224; else goto L_029881B4; L_029881B4: ; // 0x29881b4 /* 029881B4 */ _t6 = cpu->r[27] + 0x00000004u; /* 029881B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 029881B8 */ _t7 = cpu->r[11] + 0x00000014u; /* 029881B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 029881BC */ _t8 = cpu->r[29] + 0x00000000u; /* 029881BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 029881C0 */ cpu->ctr = cpu->r[12]; /* 029881C4 */ _t9 = cpu->r[10] + 0x0000001Cu; /* 029881C4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t9); /* 029881C8 */ cpu->r[3] = cpu->r[27]; /* 029881CC */ rbrew_call_indirect(cpu, cpu->ctr); /* 029881D0 */ _t10 = cpu->r[25] + 0x00000034u; /* 029881D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 029881D4 */ cpu->r[12] = cpu->r[25] + 0x00000034u; /* 029881D8 */ cpu->r[3] = 0x00000000u; /* 029881DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029881E0 */ _t11 = cpu->r[27] + 0x00000000u; /* 029881E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 029881E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029881E4 */ _t13 = _t12 & 0x00000001u; /* 029881E4 */ if (_t13) goto L_029881EC; else goto L_029881E8; L_029881E8: ; // 0x29881e8 /* 029881E8 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; L_029881EC: ; // 0x29881ec /* 029881EC */ Gambit_fn_02C60644(cpu); /* 029881F0 */ cpu->r[6] = cpu->r[3]; /* 029881F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 029881F4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 029881F4 */ _t15 = _t14 & 0x00000001u; /* 029881F4 */ if (_t15) goto L_02988208; else goto L_029881F8; L_029881F8: ; // 0x29881f8 /* 029881F8 */ cpu->r[5] = cpu->r[26] + cpu->r[6]; /* 029881FC */ _t16 = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 029881FC */ _t17 = cpu->r[0] & 0xFFFF0000u; /* 029881FC */ cpu->r[0] = _t17 | _t16; /* 02988200 */ _t18 = rbrew_rlwinm(cpu->r[28], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02988200 */ _t19 = cpu->r[0] & 0x0000FFFFu; /* 02988200 */ cpu->r[0] = _t19 | _t18; /* 02988204 */ goto L_0298822C; L_02988208: ; // 0x2988208 /* 02988208 */ _t20 = cpu->r[29] + 0x00000000u; /* 02988208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 0298820C */ _t21 = cpu->r[10] + 0x0000001Cu; /* 0298820C */ cpu->r[25] = rbrew_read32(cpu->mem, _t21); /* 02988210 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 02988214 */ _t22 = cpu->r[25] + 0x0000005Au; /* 02988214 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22); /* 02988218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 0298821C */ cpu->r[26] = cpu->r[26] + cpu->r[0]; /* 02988220 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988220 */ _t24 = _t23 & 0x00000001u; /* 02988220 */ if (_t24) goto L_02988224; else goto L_029881B4; L_02988224: ; // 0x2988224 /* 02988224 */ _t25 = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02988224 */ _t26 = cpu->r[0] & 0x0000FFFFu; /* 02988224 */ cpu->r[0] = _t26 | _t25; /* 02988228 */ _t27 = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02988228 */ _t28 = cpu->r[0] & 0xFFFF0000u; /* 02988228 */ cpu->r[0] = _t28 | _t27; L_0298822C: ; // 0x298822c /* 0298822C */ /* nop */ /* 02988230 */ cpu->r[3] = cpu->r[0]; /* 02988234 */ _t29 = cpu->r[1] + 0x0000002Cu; /* 02988234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 02988238 */ cpu->lr = cpu->r[0]; /* 0298823C */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02988240 */ return; } // fn_02988244 @ 0x2988244 void Gambit_fn_02988244(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_02988244: ; // 0x2988244 /* 02988244 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02988244 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02988244 */ cpu->r[1] = _t0; /* 02988248 */ /* nop */ /* 0298824C */ cpu->r[0] = cpu->lr; /* 02988250 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02988250 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02988254 */ _t2 = cpu->r[3] + 0x00000074u; /* 02988254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02988258 */ cpu->r[27] = cpu->r[4]; /* 0298825C */ _t3 = cpu->r[3] + 0x0000007Cu; /* 0298825C */ cpu->r[29] = rbrew_read32(cpu->mem, _t3); /* 02988260 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02988264 */ cpu->r[28] = cpu->r[5]; /* 02988268 */ cpu->r[30] = cpu->r[29] + cpu->r[8]; /* 0298826C */ cpu->r[31] = 0xFFFFFFFFu; /* 02988270 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02988274 */ cpu->r[26] = 0x00000000u; /* 02988278 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988278 */ _t5 = _t4 & 0x00000001u; /* 02988278 */ if (_t5) goto L_029882EC; else goto L_0298827C; L_0298827C: ; // 0x298827c /* 0298827C */ _t6 = cpu->r[27] + 0x00000004u; /* 0298827C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02988280 */ _t7 = cpu->r[11] + 0x00000014u; /* 02988280 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 02988284 */ _t8 = cpu->r[29] + 0x00000000u; /* 02988284 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 02988288 */ cpu->ctr = cpu->r[12]; /* 0298828C */ _t9 = cpu->r[10] + 0x0000001Cu; /* 0298828C */ cpu->r[25] = rbrew_read32(cpu->mem, _t9); /* 02988290 */ cpu->r[3] = cpu->r[27]; /* 02988294 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988298 */ _t10 = cpu->r[25] + 0x00000038u; /* 02988298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298829C */ cpu->r[12] = cpu->r[25] + 0x00000038u; /* 029882A0 */ cpu->r[3] = 0x00000000u; /* 029882A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029882A8 */ _t11 = cpu->r[27] + 0x00000000u; /* 029882A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 029882AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029882AC */ _t13 = _t12 & 0x00000001u; /* 029882AC */ if (_t13) goto L_029882B4; else goto L_029882B0; L_029882B0: ; // 0x29882b0 /* 029882B0 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; L_029882B4: ; // 0x29882b4 /* 029882B4 */ Gambit_fn_02C60644(cpu); /* 029882B8 */ cpu->r[6] = cpu->r[3]; /* 029882B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 029882BC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 029882BC */ _t15 = _t14 & 0x00000001u; /* 029882BC */ if (_t15) goto L_029882D0; else goto L_029882C0; L_029882C0: ; // 0x29882c0 /* 029882C0 */ cpu->r[5] = cpu->r[26] + cpu->r[6]; /* 029882C4 */ _t16 = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 029882C4 */ _t17 = cpu->r[0] & 0xFFFF0000u; /* 029882C4 */ cpu->r[0] = _t17 | _t16; /* 029882C8 */ _t18 = rbrew_rlwinm(cpu->r[28], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 029882C8 */ _t19 = cpu->r[0] & 0x0000FFFFu; /* 029882C8 */ cpu->r[0] = _t19 | _t18; /* 029882CC */ goto L_029882F4; L_029882D0: ; // 0x29882d0 /* 029882D0 */ _t20 = cpu->r[29] + 0x00000000u; /* 029882D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 029882D4 */ _t21 = cpu->r[10] + 0x0000001Cu; /* 029882D4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t21); /* 029882D8 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 029882DC */ _t22 = cpu->r[25] + 0x0000005Cu; /* 029882DC */ cpu->r[0] = rbrew_read16(cpu->mem, _t22); /* 029882E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 029882E4 */ cpu->r[26] = cpu->r[26] + cpu->r[0]; /* 029882E8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 029882E8 */ _t24 = _t23 & 0x00000001u; /* 029882E8 */ if (_t24) goto L_029882EC; else goto L_0298827C; L_029882EC: ; // 0x29882ec /* 029882EC */ _t25 = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 029882EC */ _t26 = cpu->r[0] & 0x0000FFFFu; /* 029882EC */ cpu->r[0] = _t26 | _t25; /* 029882F0 */ _t27 = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 029882F0 */ _t28 = cpu->r[0] & 0xFFFF0000u; /* 029882F0 */ cpu->r[0] = _t28 | _t27; L_029882F4: ; // 0x29882f4 /* 029882F4 */ /* nop */ /* 029882F8 */ cpu->r[3] = cpu->r[0]; /* 029882FC */ _t29 = cpu->r[1] + 0x0000002Cu; /* 029882FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 02988300 */ cpu->lr = cpu->r[0]; /* 02988304 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02988308 */ return; } // fn_0298830C @ 0x298830c void Gambit_fn_0298830C(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_0298830C: ; // 0x298830c /* 0298830C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0298830C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298830C */ cpu->r[1] = _t0; /* 02988310 */ /* nop */ /* 02988314 */ cpu->r[0] = cpu->lr; /* 02988318 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02988318 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298831C */ _t2 = cpu->r[3] + 0x00000074u; /* 0298831C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02988320 */ cpu->r[27] = cpu->r[4]; /* 02988324 */ _t3 = cpu->r[3] + 0x0000007Cu; /* 02988324 */ cpu->r[29] = rbrew_read32(cpu->mem, _t3); /* 02988328 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298832C */ cpu->r[28] = cpu->r[5]; /* 02988330 */ cpu->r[30] = cpu->r[29] + cpu->r[8]; /* 02988334 */ cpu->r[31] = 0xFFFFFFFFu; /* 02988338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 0298833C */ cpu->r[26] = 0x00000000u; /* 02988340 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988340 */ _t5 = _t4 & 0x00000001u; /* 02988340 */ if (_t5) goto L_029883B4; else goto L_02988344; L_02988344: ; // 0x2988344 /* 02988344 */ _t6 = cpu->r[27] + 0x00000004u; /* 02988344 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02988348 */ _t7 = cpu->r[11] + 0x00000014u; /* 02988348 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 0298834C */ _t8 = cpu->r[29] + 0x00000000u; /* 0298834C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 02988350 */ cpu->ctr = cpu->r[12]; /* 02988354 */ _t9 = cpu->r[10] + 0x0000001Cu; /* 02988354 */ cpu->r[25] = rbrew_read32(cpu->mem, _t9); /* 02988358 */ cpu->r[3] = cpu->r[27]; /* 0298835C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988360 */ _t10 = cpu->r[25] + 0x0000003Cu; /* 02988360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02988364 */ cpu->r[12] = cpu->r[25] + 0x0000003Cu; /* 02988368 */ cpu->r[3] = 0x00000000u; /* 0298836C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02988370 */ _t11 = cpu->r[27] + 0x00000000u; /* 02988370 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 02988374 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988374 */ _t13 = _t12 & 0x00000001u; /* 02988374 */ if (_t13) goto L_0298837C; else goto L_02988378; L_02988378: ; // 0x2988378 /* 02988378 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; L_0298837C: ; // 0x298837c /* 0298837C */ Gambit_fn_02C60644(cpu); /* 02988380 */ cpu->r[6] = cpu->r[3]; /* 02988380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02988384 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 02988384 */ _t15 = _t14 & 0x00000001u; /* 02988384 */ if (_t15) goto L_02988398; else goto L_02988388; L_02988388: ; // 0x2988388 /* 02988388 */ cpu->r[5] = cpu->r[26] + cpu->r[6]; /* 0298838C */ _t16 = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 0298838C */ _t17 = cpu->r[0] & 0xFFFF0000u; /* 0298838C */ cpu->r[0] = _t17 | _t16; /* 02988390 */ _t18 = rbrew_rlwinm(cpu->r[28], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02988390 */ _t19 = cpu->r[0] & 0x0000FFFFu; /* 02988390 */ cpu->r[0] = _t19 | _t18; /* 02988394 */ goto L_029883BC; L_02988398: ; // 0x2988398 /* 02988398 */ _t20 = cpu->r[29] + 0x00000000u; /* 02988398 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 0298839C */ _t21 = cpu->r[10] + 0x0000001Cu; /* 0298839C */ cpu->r[25] = rbrew_read32(cpu->mem, _t21); /* 029883A0 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 029883A4 */ _t22 = cpu->r[25] + 0x0000005Eu; /* 029883A4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22); /* 029883A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 029883AC */ cpu->r[26] = cpu->r[26] + cpu->r[0]; /* 029883B0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 029883B0 */ _t24 = _t23 & 0x00000001u; /* 029883B0 */ if (_t24) goto L_029883B4; else goto L_02988344; L_029883B4: ; // 0x29883b4 /* 029883B4 */ _t25 = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 029883B4 */ _t26 = cpu->r[0] & 0x0000FFFFu; /* 029883B4 */ cpu->r[0] = _t26 | _t25; /* 029883B8 */ _t27 = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 029883B8 */ _t28 = cpu->r[0] & 0xFFFF0000u; /* 029883B8 */ cpu->r[0] = _t28 | _t27; L_029883BC: ; // 0x29883bc /* 029883BC */ /* nop */ /* 029883C0 */ cpu->r[3] = cpu->r[0]; /* 029883C4 */ _t29 = cpu->r[1] + 0x0000002Cu; /* 029883C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 029883C8 */ cpu->lr = cpu->r[0]; /* 029883CC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 029883D0 */ return; } // fn_029883D4 @ 0x29883d4 void Gambit_fn_029883D4(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_029883D4: ; // 0x29883d4 /* 029883D4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 029883D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029883D4 */ cpu->r[1] = _t0; /* 029883D8 */ /* nop */ /* 029883DC */ cpu->r[0] = cpu->lr; /* 029883E0 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 029883E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029883E4 */ _t2 = cpu->r[3] + 0x00000074u; /* 029883E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 029883E8 */ cpu->r[27] = cpu->r[4]; /* 029883EC */ _t3 = cpu->r[3] + 0x0000007Cu; /* 029883EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t3); /* 029883F0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029883F4 */ cpu->r[28] = cpu->r[5]; /* 029883F8 */ cpu->r[30] = cpu->r[29] + cpu->r[8]; /* 029883FC */ cpu->r[31] = 0xFFFFFFFFu; /* 02988400 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02988404 */ cpu->r[26] = 0x00000000u; /* 02988408 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988408 */ _t5 = _t4 & 0x00000001u; /* 02988408 */ if (_t5) goto L_0298847C; else goto L_0298840C; L_0298840C: ; // 0x298840c /* 0298840C */ _t6 = cpu->r[27] + 0x00000004u; /* 0298840C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02988410 */ _t7 = cpu->r[11] + 0x00000014u; /* 02988410 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 02988414 */ _t8 = cpu->r[29] + 0x00000000u; /* 02988414 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8); /* 02988418 */ cpu->ctr = cpu->r[12]; /* 0298841C */ _t9 = cpu->r[10] + 0x0000001Cu; /* 0298841C */ cpu->r[25] = rbrew_read32(cpu->mem, _t9); /* 02988420 */ cpu->r[3] = cpu->r[27]; /* 02988424 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988428 */ _t10 = cpu->r[25] + 0x00000040u; /* 02988428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298842C */ cpu->r[12] = cpu->r[25] + 0x00000040u; /* 02988430 */ cpu->r[3] = 0x00000000u; /* 02988434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02988438 */ _t11 = cpu->r[27] + 0x00000000u; /* 02988438 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 0298843C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298843C */ _t13 = _t12 & 0x00000001u; /* 0298843C */ if (_t13) goto L_02988444; else goto L_02988440; L_02988440: ; // 0x2988440 /* 02988440 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; L_02988444: ; // 0x2988444 /* 02988444 */ Gambit_fn_02C60644(cpu); /* 02988448 */ cpu->r[6] = cpu->r[3]; /* 02988448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0298844C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298844C */ _t15 = _t14 & 0x00000001u; /* 0298844C */ if (_t15) goto L_02988460; else goto L_02988450; L_02988450: ; // 0x2988450 /* 02988450 */ cpu->r[5] = cpu->r[26] + cpu->r[6]; /* 02988454 */ _t16 = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02988454 */ _t17 = cpu->r[0] & 0xFFFF0000u; /* 02988454 */ cpu->r[0] = _t17 | _t16; /* 02988458 */ _t18 = rbrew_rlwinm(cpu->r[28], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 02988458 */ _t19 = cpu->r[0] & 0x0000FFFFu; /* 02988458 */ cpu->r[0] = _t19 | _t18; /* 0298845C */ goto L_02988484; L_02988460: ; // 0x2988460 /* 02988460 */ _t20 = cpu->r[29] + 0x00000000u; /* 02988460 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 02988464 */ _t21 = cpu->r[10] + 0x0000001Cu; /* 02988464 */ cpu->r[25] = rbrew_read32(cpu->mem, _t21); /* 02988468 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298846C */ _t22 = cpu->r[25] + 0x00000060u; /* 0298846C */ cpu->r[0] = rbrew_read16(cpu->mem, _t22); /* 02988470 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]); /* 02988474 */ cpu->r[26] = cpu->r[26] + cpu->r[0]; /* 02988478 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988478 */ _t24 = _t23 & 0x00000001u; /* 02988478 */ if (_t24) goto L_0298847C; else goto L_0298840C; L_0298847C: ; // 0x298847c /* 0298847C */ _t25 = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000000u, 0x0000000Fu); /* 0298847C */ _t26 = cpu->r[0] & 0x0000FFFFu; /* 0298847C */ cpu->r[0] = _t26 | _t25; /* 02988480 */ _t27 = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu); /* 02988480 */ _t28 = cpu->r[0] & 0xFFFF0000u; /* 02988480 */ cpu->r[0] = _t28 | _t27; L_02988484: ; // 0x2988484 /* 02988484 */ /* nop */ /* 02988488 */ cpu->r[3] = cpu->r[0]; /* 0298848C */ _t29 = cpu->r[1] + 0x0000002Cu; /* 0298848C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 02988490 */ cpu->lr = cpu->r[0]; /* 02988494 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02988498 */ return; } // fn_0298849C @ 0x298849c void Gambit_fn_0298849C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_0298849C: ; // 0x298849c /* 0298849C */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0298849C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298849C */ cpu->r[1] = _t0; /* 029884A0 */ /* nop */ /* 029884A4 */ cpu->r[0] = cpu->lr; /* 029884A8 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 029884A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029884AC */ cpu->r[25] = cpu->r[5]; /* 029884B0 */ cpu->r[26] = cpu->r[6]; /* 029884B4 */ _t2 = cpu->r[9] + 0x00000000u; /* 029884B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t2); /* 029884B8 */ cpu->r[6] = 0x00000001u; /* 029884BC */ _t3 = cpu->r[25] + 0x00000008u; /* 029884BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3); /* 029884C0 */ cpu->r[31] = cpu->r[4]; /* 029884C4 */ cpu->r[28] = cpu->r[8]; /* 029884C8 */ cpu->r[30] = cpu->r[3]; /* 029884CC */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 029884D0 */ _t4 = cpu->r[25] + 0x00000018u; /* 029884D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4); /* 029884D4 */ cpu->r[3] = cpu->r[28]; /* 029884D8 */ cpu->r[27] = cpu->r[7]; /* 029884DC */ Gambit_fn_02C54CCC(cpu); /* 029884E0 */ cpu->r[3] = cpu->r[28]; /* 029884E4 */ Gambit_fn_02C54AE4(cpu); /* 029884E8 */ _t5 = cpu->r[30] + 0x00000070u; /* 029884E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5); /* 029884EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029884F0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029884F0 */ _t7 = _t6 & 0x00000001u; /* 029884F0 */ if (_t7) goto L_02988518; else goto L_029884F4; L_029884F4: ; // 0x29884f4 /* 029884F4 */ _t8 = cpu->r[3] + 0x00000000u; /* 029884F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 029884F8 */ _t9 = cpu->r[12] + 0x0000000Cu; /* 029884F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 029884FC */ cpu->ctr = cpu->r[0]; /* 02988500 */ _t10 = cpu->r[1] + 0x00000008u; /* 02988500 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]); /* 02988504 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 02988508 */ cpu->r[7] = cpu->r[28]; /* 0298850C */ cpu->r[5] = cpu->r[31]; /* 02988510 */ cpu->r[4] = cpu->r[30]; /* 02988514 */ rbrew_call_indirect(cpu, cpu->ctr); L_02988518: ; // 0x2988518 /* 02988518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0298851C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298851C */ _t12 = _t11 & 0x00000001u; /* 0298851C */ if (_t12) goto L_0298856C; else goto L_02988520; L_02988520: ; // 0x2988520 /* 02988520 */ _t13 = cpu->r[25] + 0x00000008u; /* 02988520 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 02988524 */ cpu->r[3] = cpu->r[27]; /* 02988528 */ cpu->r[6] = 0x00000001u; /* 0298852C */ _t14 = cpu->r[25] + 0x0000001Cu; /* 0298852C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14); /* 02988530 */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02988534 */ Gambit_fn_02C5AD44(cpu); /* 02988538 */ cpu->r[4] = cpu->r[27]; /* 0298853C */ cpu->r[3] = cpu->r[28]; /* 02988540 */ _t15 = cpu->r[25] + 0x0000002Cu; /* 02988540 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]); /* 02988544 */ Gambit_fn_02C54BA0(cpu); /* 02988548 */ cpu->r[4] = 0x00000001u; /* 0298854C */ cpu->r[3] = cpu->r[27]; /* 02988550 */ Gambit_fn_02C5AE1C(cpu); /* 02988554 */ cpu->r[10] = 0x00000000u; /* 02988558 */ cpu->r[3] = cpu->r[28]; /* 0298855C */ cpu->r[4] = 0x00000001u; /* 02988560 */ _t16 = cpu->r[25] + 0x0000002Cu; /* 02988560 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]); /* 02988564 */ Gambit_fn_02C54DA0(cpu); /* 02988568 */ goto L_02988584; L_0298856C: ; // 0x298856c /* 0298856C */ cpu->r[3] = cpu->r[28]; /* 02988570 */ cpu->r[4] = cpu->r[27]; /* 02988574 */ Gambit_fn_02C54BA0(cpu); /* 02988578 */ cpu->r[3] = cpu->r[28]; /* 0298857C */ cpu->r[4] = 0x00000001u; /* 02988580 */ Gambit_fn_02C54DA0(cpu); L_02988584: ; // 0x2988584 /* 02988584 */ /* nop */ /* 02988588 */ _t17 = cpu->r[1] + 0x0000002Cu; /* 02988588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0298858C */ cpu->lr = cpu->r[0]; /* 02988590 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02988594 */ return; } // fn_02988598 @ 0x2988598 void Gambit_fn_02988598(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_02988598: ; // 0x2988598 /* 02988598 */ cpu->r[0] = cpu->lr; /* 0298859C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298859C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298859C */ cpu->r[1] = _t0; /* 029885A0 */ _t1 = cpu->r[1] + 0x00000010u; /* 029885A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 029885A4 */ cpu->r[30] = cpu->r[8]; /* 029885A8 */ _t2 = cpu->r[1] + 0x00000008u; /* 029885A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 029885AC */ cpu->r[3] = cpu->r[30]; /* 029885B0 */ _t3 = cpu->r[1] + 0x00000014u; /* 029885B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029885B4 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 029885B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 029885B8 */ cpu->r[31] = cpu->r[5]; /* 029885BC */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029885BC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029885C0 */ cpu->r[29] = cpu->r[7]; /* 029885C4 */ cpu->r[28] = cpu->r[6]; /* 029885C8 */ _t6 = cpu->r[31] + 0x00000008u; /* 029885C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 029885CC */ cpu->r[6] = 0x00000001u; /* 029885D0 */ _t7 = cpu->r[31] + 0x00000018u; /* 029885D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 029885D4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 029885D8 */ Gambit_fn_02C54CCC(cpu); /* 029885DC */ cpu->r[3] = cpu->r[30]; /* 029885E0 */ Gambit_fn_02C54AE4(cpu); /* 029885E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029885E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 029885E8 */ _t9 = _t8 & 0x00000001u; /* 029885E8 */ if (_t9) goto L_02988638; else goto L_029885EC; L_029885EC: ; // 0x29885ec /* 029885EC */ _t10 = cpu->r[31] + 0x00000008u; /* 029885EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 029885F0 */ cpu->r[3] = cpu->r[29]; /* 029885F4 */ cpu->r[6] = 0x00000001u; /* 029885F8 */ _t11 = cpu->r[31] + 0x0000001Cu; /* 029885F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 029885FC */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02988600 */ Gambit_fn_02C5AD44(cpu); /* 02988604 */ cpu->r[4] = cpu->r[29]; /* 02988608 */ cpu->r[3] = cpu->r[30]; /* 0298860C */ _t12 = cpu->r[31] + 0x0000002Cu; /* 0298860C */ rbrew_write32(cpu->mem, _t12, cpu->r[29]); /* 02988610 */ Gambit_fn_02C54BA0(cpu); /* 02988614 */ cpu->r[4] = 0x00000001u; /* 02988618 */ cpu->r[3] = cpu->r[29]; /* 0298861C */ Gambit_fn_02C5AE1C(cpu); /* 02988620 */ cpu->r[0] = 0x00000000u; /* 02988624 */ cpu->r[3] = cpu->r[30]; /* 02988628 */ cpu->r[4] = 0x00000001u; /* 0298862C */ _t13 = cpu->r[31] + 0x0000002Cu; /* 0298862C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 02988630 */ Gambit_fn_02C54DA0(cpu); /* 02988634 */ goto L_02988650; L_02988638: ; // 0x2988638 /* 02988638 */ cpu->r[3] = cpu->r[30]; /* 0298863C */ cpu->r[4] = cpu->r[29]; /* 02988640 */ Gambit_fn_02C54BA0(cpu); /* 02988644 */ cpu->r[3] = cpu->r[30]; /* 02988648 */ cpu->r[4] = 0x00000001u; /* 0298864C */ Gambit_fn_02C54DA0(cpu); L_02988650: ; // 0x2988650 /* 02988650 */ _t14 = cpu->r[1] + 0x00000008u; /* 02988650 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14); /* 02988654 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02988654 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15); /* 02988658 */ _t16 = cpu->r[1] + 0x0000001Cu; /* 02988658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298865C */ _t17 = cpu->r[1] + 0x00000010u; /* 0298865C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 02988660 */ cpu->lr = cpu->r[0]; /* 02988664 */ _t18 = cpu->r[1] + 0x00000014u; /* 02988664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02988668 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298866C */ return; } // fn_0298859C @ 0x298859c void Gambit_fn_0298859C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0298859C: ; // 0x298859c /* 0298859C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298859C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298859C */ cpu->r[1] = _t0; /* 029885A0 */ _t1 = cpu->r[1] + 0x00000010u; /* 029885A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 029885A4 */ cpu->r[30] = cpu->r[8]; /* 029885A8 */ _t2 = cpu->r[1] + 0x00000008u; /* 029885A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 029885AC */ cpu->r[3] = cpu->r[30]; /* 029885B0 */ _t3 = cpu->r[1] + 0x00000014u; /* 029885B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029885B4 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 029885B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 029885B8 */ cpu->r[31] = cpu->r[5]; /* 029885BC */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029885BC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029885C0 */ cpu->r[29] = cpu->r[7]; /* 029885C4 */ cpu->r[28] = cpu->r[6]; /* 029885C8 */ _t6 = cpu->r[31] + 0x00000008u; /* 029885C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 029885CC */ cpu->r[6] = 0x00000001u; /* 029885D0 */ _t7 = cpu->r[31] + 0x00000018u; /* 029885D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7); /* 029885D4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 029885D8 */ Gambit_fn_02C54CCC(cpu); /* 029885DC */ cpu->r[3] = cpu->r[30]; /* 029885E0 */ Gambit_fn_02C54AE4(cpu); /* 029885E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029885E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 029885E8 */ _t9 = _t8 & 0x00000001u; /* 029885E8 */ if (_t9) goto L_02988638; else goto L_029885EC; L_029885EC: ; // 0x29885ec /* 029885EC */ _t10 = cpu->r[31] + 0x00000008u; /* 029885EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 029885F0 */ cpu->r[3] = cpu->r[29]; /* 029885F4 */ cpu->r[6] = 0x00000001u; /* 029885F8 */ _t11 = cpu->r[31] + 0x0000001Cu; /* 029885F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 029885FC */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02988600 */ Gambit_fn_02C5AD44(cpu); /* 02988604 */ cpu->r[4] = cpu->r[29]; /* 02988608 */ cpu->r[3] = cpu->r[30]; /* 0298860C */ _t12 = cpu->r[31] + 0x0000002Cu; /* 0298860C */ rbrew_write32(cpu->mem, _t12, cpu->r[29]); /* 02988610 */ Gambit_fn_02C54BA0(cpu); /* 02988614 */ cpu->r[4] = 0x00000001u; /* 02988618 */ cpu->r[3] = cpu->r[29]; /* 0298861C */ Gambit_fn_02C5AE1C(cpu); /* 02988620 */ cpu->r[0] = 0x00000000u; /* 02988624 */ cpu->r[3] = cpu->r[30]; /* 02988628 */ cpu->r[4] = 0x00000001u; /* 0298862C */ _t13 = cpu->r[31] + 0x0000002Cu; /* 0298862C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 02988630 */ Gambit_fn_02C54DA0(cpu); /* 02988634 */ goto L_02988650; L_02988638: ; // 0x2988638 /* 02988638 */ cpu->r[3] = cpu->r[30]; /* 0298863C */ cpu->r[4] = cpu->r[29]; /* 02988640 */ Gambit_fn_02C54BA0(cpu); /* 02988644 */ cpu->r[3] = cpu->r[30]; /* 02988648 */ cpu->r[4] = 0x00000001u; /* 0298864C */ Gambit_fn_02C54DA0(cpu); L_02988650: ; // 0x2988650 /* 02988650 */ _t14 = cpu->r[1] + 0x00000008u; /* 02988650 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14); /* 02988654 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 02988654 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15); /* 02988658 */ _t16 = cpu->r[1] + 0x0000001Cu; /* 02988658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298865C */ _t17 = cpu->r[1] + 0x00000010u; /* 0298865C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 02988660 */ cpu->lr = cpu->r[0]; /* 02988664 */ _t18 = cpu->r[1] + 0x00000014u; /* 02988664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02988668 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298866C */ return; } // fn_02988670 @ 0x2988670 void Gambit_fn_02988670(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; L_02988670: ; // 0x2988670 /* 02988670 */ _t0 = cpu->r[1] + 0xFFFFFBB8u; /* 02988670 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02988670 */ cpu->r[1] = _t0; /* 02988674 */ /* nop */ /* 02988678 */ cpu->r[0] = cpu->lr; /* 0298867C */ _t1 = cpu->r[1] + 0x0000044Cu; /* 0298867C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02988680 */ cpu->r[29] = cpu->r[4]; /* 02988684 */ cpu->r[24] = cpu->r[5]; /* 02988688 */ cpu->r[23] = cpu->r[3]; /* 0298868C */ _t2 = cpu->r[24] + 0x000000ACu; /* 0298868C */ cpu->r[26] = rbrew_read32(cpu->mem, _t2); /* 02988690 */ cpu->r[27] = cpu->r[7]; /* 02988694 */ _t3 = cpu->r[23] + 0x00000090u; /* 02988694 */ rbrew_write32(cpu->mem, _t3, cpu->r[24]); /* 02988698 */ _t4 = cpu->r[27] + 0x0000000Cu; /* 02988698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0298869C */ _t5 = cpu->r[26] + 0x0000002Cu; /* 0298869C */ cpu->r[8] = rbrew_read16(cpu->mem, _t5); /* 029886A0 */ cpu->r[25] = cpu->r[6]; /* 029886A4 */ _t6 = cpu->r[29] + 0x00000008u; /* 029886A4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t6); /* 029886A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 029886AC */ cpu->r[0] = 0x00000000u; /* 029886B0 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u); /* 029886B0 */ _t8 = _t7 & 0x00000001u; /* 029886B0 */ if (_t8) goto L_029886C4; else goto L_029886B4; L_029886B4: ; // 0x29886b4 /* 029886B4 */ _t9 = cpu->r[27] + 0x00000002u; /* 029886B4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t9); /* 029886B8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 029886B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 029886BC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029886BC */ _t11 = _t10 & 0x00000001u; /* 029886BC */ if (_t11) goto L_029886C4; else goto L_029886C0; L_029886C0: ; // 0x29886c0 /* 029886C0 */ cpu->r[0] = 0x00000001u; L_029886C4: ; // 0x29886c4 /* 029886C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 029886C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u); /* 029886CC */ cpu->r[25] = cpu->r[25] & cpu->r[0]; /* 029886D0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 029886D0 */ _t13 = _t12 & 0x00000001u; /* 029886D0 */ if (_t13) goto L_029886D4; else goto L_02988744; L_029886D4: ; // 0x29886d4 /* 029886D4 */ _t14 = cpu->r[29] + 0x00000004u; /* 029886D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 029886D8 */ cpu->r[3] = cpu->r[23]; /* 029886DC */ _t15 = cpu->r[12] + 0x00000000u; /* 029886DC */ cpu->r[4] = rbrew_read8(cpu->mem, _t15); /* 029886E0 */ cpu->r[5] = cpu->r[24]; /* 029886E4 */ Gambit_fn_02984508(cpu); /* 029886E8 */ _t16 = cpu->r[29] + 0x00000004u; /* 029886E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16); /* 029886EC */ _t17 = cpu->r[23] + 0x00000028u; /* 029886EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 029886F0 */ _t18 = cpu->r[6] + 0x00000000u; /* 029886F0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t18); /* 029886F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]); /* 029886F8 */ _t19 = cpu->r[23] + 0x0000002Cu; /* 029886F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 029886FC */ _t20 = cpu->cr[0] >> (0x00000003u & 31u); /* 029886FC */ _t21 = _t20 & 0x00000001u; /* 029886FC */ if (_t21) goto L_02988700; else goto L_02988708; L_02988700: ; // 0x2988700 /* 02988700 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000006Cu); /* 02988704 */ cpu->r[12] = cpu->r[12] + cpu->r[11]; L_02988708: ; // 0x2988708 /* 02988708 */ _t22 = cpu->r[12] + 0x00000000u; /* 02988708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0298870C */ cpu->r[3] = cpu->r[23]; /* 02988710 */ cpu->r[4] = cpu->r[24]; /* 02988714 */ cpu->r[5] = cpu->r[27]; /* 02988718 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 02988718 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]); /* 0298871C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu; /* 02988720 */ cpu->r[7] = cpu->r[26]; /* 02988724 */ cpu->r[6] = cpu->r[25]; /* 02988728 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu; /* 0298872C */ Gambit_fn_0298849C(cpu); /* 02988730 */ /* nop */ /* 02988734 */ _t24 = cpu->r[1] + 0x0000044Cu; /* 02988734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 02988738 */ cpu->lr = cpu->r[0]; /* 0298873C */ cpu->r[1] = cpu->r[1] + 0x00000448u; /* 02988740 */ return; L_02988744: ; // 0x2988744 /* 02988744 */ _t25 = cpu->r[23] + 0x00000016u; /* 02988744 */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[8]); /* 02988748 */ _t26 = cpu->r[27] + 0x00000008u; /* 02988748 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26); /* 0298874C */ cpu->r[6] = 0x00000000u; /* 02988750 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988754 */ _t27 = cpu->r[27] + 0x00000018u; /* 02988754 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27); /* 02988758 */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 0298875C */ Gambit_fn_02C55114(cpu); /* 02988760 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988764 */ Gambit_fn_02C54F48(cpu); /* 02988768 */ _t28 = cpu->r[29] + 0x00000008u; /* 02988768 */ cpu->r[0] = rbrew_read16(cpu->mem, _t28); /* 0298876C */ _t29 = cpu->r[29] + 0x00000000u; /* 0298876C */ cpu->r[9] = rbrew_read32(cpu->mem, _t29); /* 02988770 */ _t30 = cpu->r[29] + 0x00000004u; /* 02988770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30); /* 02988774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]); /* 02988778 */ cpu->r[28] = 0x00000000u; /* 0298877C */ cpu->r[30] = cpu->r[31]; /* 02988780 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u); /* 02988780 */ _t32 = _t31 & 0x00000001u; /* 02988780 */ if (_t32) goto L_02988798; else goto L_02988784; L_02988784: ; // 0x2988784 /* 02988784 */ cpu->r[29] = cpu->r[31] + cpu->r[0]; /* 02988788 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0298878C */ _t33 = cpu->r[1] + 0x00000010u; /* 0298878C */ rbrew_write32(cpu->mem, _t33, cpu->r[29]); /* 02988790 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988790 */ _t35 = _t34 & 0x00000001u; /* 02988790 */ if (_t35) goto L_02988854; else goto L_02988794; L_02988794: ; // 0x2988794 /* 02988794 */ goto L_029887A8; L_02988798: ; // 0x2988798 /* 02988798 */ cpu->r[29] = cpu->r[31] + cpu->r[9]; /* 0298879C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 029887A0 */ _t36 = cpu->r[1] + 0x00000010u; /* 029887A0 */ rbrew_write32(cpu->mem, _t36, cpu->r[29]); /* 029887A4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 029887A4 */ _t38 = _t37 & 0x00000001u; /* 029887A4 */ if (_t38) goto L_02988854; else goto L_029887A8; L_029887A8: ; // 0x29887a8 /* 029887A8 */ cpu->r[10] = cpu->r[1] + 0x00000018u; /* 029887AC */ cpu->r[9] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029887B0 */ cpu->r[21] = cpu->r[10] + cpu->r[9]; L_029887B4: ; // 0x29887b4 /* 029887B4 */ _t39 = cpu->r[30] + 0x00000000u; /* 029887B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t39); /* 029887B8 */ cpu->r[5] = cpu->r[24]; /* 029887BC */ cpu->r[3] = cpu->r[23]; /* 029887C0 */ _t40 = cpu->r[23] + 0x0000008Eu; /* 029887C0 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[4]); /* 029887C4 */ Gambit_fn_02984508(cpu); /* 029887C8 */ _t41 = cpu->r[23] + 0x0000008Eu; /* 029887C8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t41); /* 029887CC */ _t42 = cpu->r[23] + 0x00000028u; /* 029887CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t42); /* 029887D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]); /* 029887D4 */ _t43 = cpu->r[23] + 0x0000002Cu; /* 029887D4 */ cpu->r[22] = rbrew_read32(cpu->mem, _t43); /* 029887D8 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u); /* 029887D8 */ _t45 = _t44 & 0x00000001u; /* 029887D8 */ if (_t45) goto L_029887DC; else goto L_029887E4; L_029887DC: ; // 0x29887dc /* 029887DC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000006Cu); /* 029887E0 */ cpu->r[22] = cpu->r[22] + cpu->r[12]; L_029887E4: ; // 0x29887e4 /* 029887E4 */ _t46 = cpu->r[22] + 0x00000068u; /* 029887E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46); /* 029887E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029887E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029887EC */ cpu->r[20] = cpu->r[22] + 0x0000000Cu; /* 029887F0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 029887F0 */ _t48 = _t47 & 0x00000001u; /* 029887F0 */ if (_t48) goto L_02988814; else goto L_029887F4; L_029887F4: ; // 0x29887f4 /* 029887F4 */ cpu->r[6] = cpu->r[30] - cpu->r[31]; /* 029887F8 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 029887FC */ _t49 = cpu->r[21] + 0x00000000u; /* 029887FC */ rbrew_write32(cpu->mem, _t49, cpu->r[6]); /* 02988800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988804 */ cpu->r[21] = cpu->r[21] + 0x00000004u; /* 02988808 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 0298880C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298880C */ _t51 = _t50 & 0x00000001u; /* 0298880C */ if (_t51) goto L_02988810; else goto L_029887B4; L_02988810: ; // 0x2988810 /* 02988810 */ goto L_02988854; L_02988814: ; // 0x2988814 /* 02988814 */ _t52 = cpu->r[27] + 0x00000008u; /* 02988814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52); /* 02988818 */ cpu->r[3] = cpu->r[20]; /* 0298881C */ cpu->r[6] = 0x00000001u; /* 02988820 */ _t53 = cpu->r[27] + 0x00000014u; /* 02988820 */ cpu->r[4] = rbrew_read32(cpu->mem, _t53); /* 02988824 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02988828 */ Gambit_fn_02C54CCC(cpu); /* 0298882C */ _t54 = cpu->r[22] + 0x00000008u; /* 0298882C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t54); /* 02988830 */ cpu->r[4] = cpu->r[20]; /* 02988834 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988838 */ Gambit_fn_02C54F70(cpu); /* 0298883C */ cpu->r[4] = 0x00000001u; /* 02988840 */ cpu->r[3] = cpu->r[20]; /* 02988844 */ Gambit_fn_02C54DA0(cpu); /* 02988848 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0298884C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988850 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988850 */ _t56 = _t55 & 0x00000001u; /* 02988850 */ if (_t56) goto L_02988854; else goto L_029887B4; L_02988854: ; // 0x2988854 /* 02988854 */ _t57 = cpu->r[23] + 0x00000070u; /* 02988854 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57); /* 02988858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298885C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298885C */ _t59 = _t58 & 0x00000001u; /* 0298885C */ if (_t59) goto L_0298887C; else goto L_02988860; L_02988860: ; // 0x2988860 /* 02988860 */ _t60 = cpu->r[3] + 0x00000000u; /* 02988860 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60); /* 02988864 */ _t61 = cpu->r[8] + 0x00000014u; /* 02988864 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61); /* 02988868 */ cpu->ctr = cpu->r[9]; /* 0298886C */ cpu->r[4] = cpu->r[23]; /* 02988870 */ cpu->r[5] = cpu->r[24]; /* 02988874 */ cpu->r[6] = cpu->r[23] + 0x00000010u; /* 02988878 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298887C: ; // 0x298887c /* 0298887C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u); /* 02988880 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988880 */ _t63 = _t62 & 0x00000001u; /* 02988880 */ if (_t63) goto L_029888D4; else goto L_02988884; L_02988884: ; // 0x2988884 /* 02988884 */ _t64 = cpu->r[27] + 0x00000008u; /* 02988884 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64); /* 02988888 */ cpu->r[3] = cpu->r[26]; /* 0298888C */ cpu->r[6] = 0x00000001u; /* 02988890 */ _t65 = cpu->r[27] + 0x0000001Cu; /* 02988890 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65); /* 02988894 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 02988898 */ Gambit_fn_02C5AD44(cpu); /* 0298889C */ cpu->r[4] = cpu->r[26]; /* 029888A0 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 029888A4 */ _t66 = cpu->r[27] + 0x0000002Cu; /* 029888A4 */ rbrew_write32(cpu->mem, _t66, cpu->r[26]); /* 029888A8 */ Gambit_fn_02C55078(cpu); /* 029888AC */ cpu->r[4] = 0x00000001u; /* 029888B0 */ cpu->r[3] = cpu->r[26]; /* 029888B4 */ Gambit_fn_02C5AE1C(cpu); /* 029888B8 */ cpu->r[4] = 0x00000000u; /* 029888BC */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 029888C0 */ _t67 = cpu->r[27] + 0x0000002Cu; /* 029888C0 */ rbrew_write32(cpu->mem, _t67, cpu->r[4]); /* 029888C4 */ Gambit_fn_02C551E8(cpu); /* 029888C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029888CC */ _t68 = cpu->cr[0] >> (0x00000002u & 31u); /* 029888CC */ _t69 = _t68 & 0x00000001u; /* 029888CC */ if (_t69) goto L_029888D0; else goto L_02988944; L_029888D0: ; // 0x29888d0 /* 029888D0 */ goto L_029888F4; L_029888D4: ; // 0x29888d4 /* 029888D4 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 029888D8 */ cpu->r[4] = cpu->r[26]; /* 029888DC */ Gambit_fn_02C55078(cpu); /* 029888E0 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 029888E4 */ cpu->r[4] = 0x00000000u; /* 029888E8 */ Gambit_fn_02C551E8(cpu); /* 029888EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029888F0 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u); /* 029888F0 */ _t71 = _t70 & 0x00000001u; /* 029888F0 */ if (_t71) goto L_029888F4; else goto L_02988944; L_029888F4: ; // 0x29888f4 /* 029888F4 */ cpu->r[31] = cpu->r[1] + 0x00000014u; L_029888F8: ; // 0x29888f8 /* 029888F8 */ _t72 = cpu->r[31] + 0x00000004u; /* 029888F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 029888F8 */ cpu->r[31] = _t72; /* 029888FC */ _t73 = cpu->r[23] + 0x00000028u; /* 029888FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t73); /* 02988900 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02988904 */ _t74 = cpu->r[23] + 0x0000002Cu; /* 02988904 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74); /* 02988908 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 02988908 */ _t76 = _t75 & 0x00000001u; /* 02988908 */ if (_t76) goto L_0298890C; else goto L_02988914; L_0298890C: ; // 0x298890c /* 0298890C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000006Cu); /* 02988910 */ cpu->r[11] = cpu->r[11] + cpu->r[5]; L_02988914: ; // 0x2988914 /* 02988914 */ _t77 = cpu->r[11] + 0x00000000u; /* 02988914 */ cpu->r[7] = rbrew_read32(cpu->mem, _t77); /* 02988918 */ cpu->r[4] = cpu->r[24]; /* 0298891C */ cpu->r[5] = cpu->r[27]; /* 02988920 */ cpu->r[6] = cpu->r[25]; /* 02988924 */ _t78 = cpu->r[1] + 0x00000008u; /* 02988924 */ rbrew_write32(cpu->mem, _t78, cpu->r[7]); /* 02988928 */ cpu->r[9] = cpu->r[1] + 0x00000008u; /* 0298892C */ cpu->r[8] = cpu->r[11] + 0x0000000Cu; /* 02988930 */ cpu->r[7] = cpu->r[26]; /* 02988934 */ cpu->r[3] = cpu->r[23]; /* 02988938 */ Gambit_fn_02988598(cpu); /* 0298893C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 0298893C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02988940 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988940 */ _t80 = _t79 & 0x00000001u; /* 02988940 */ if (_t80) goto L_02988944; else goto L_029888F8; L_02988944: ; // 0x2988944 /* 02988944 */ /* nop */ /* 02988948 */ _t81 = cpu->r[1] + 0x0000044Cu; /* 02988948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81); /* 0298894C */ cpu->lr = cpu->r[0]; /* 02988950 */ cpu->r[1] = cpu->r[1] + 0x00000448u; /* 02988954 */ return; } // fn_02988958 @ 0x2988958 void Gambit_fn_02988958(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02988958: ; // 0x2988958 /* 02988958 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02988958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02988958 */ cpu->r[1] = _t0; /* 0298895C */ /* nop */ /* 02988960 */ cpu->r[0] = cpu->lr; /* 02988964 */ cpu->r[28] = cpu->r[8]; /* 02988968 */ cpu->r[30] = cpu->r[3]; /* 0298896C */ _t1 = cpu->r[1] + 0x00000024u; /* 0298896C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02988970 */ cpu->r[31] = cpu->r[4]; /* 02988974 */ cpu->r[27] = cpu->r[7]; /* 02988978 */ cpu->r[3] = cpu->r[28]; /* 0298897C */ _t2 = cpu->r[9] + 0x00000000u; /* 0298897C */ cpu->r[29] = rbrew_read32(cpu->mem, _t2); /* 02988980 */ Gambit_fn_02C54AE4(cpu); /* 02988984 */ _t3 = cpu->r[30] + 0x00000070u; /* 02988984 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 02988988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298898C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298898C */ _t5 = _t4 & 0x00000001u; /* 0298898C */ if (_t5) goto L_029889B4; else goto L_02988990; L_02988990: ; // 0x2988990 /* 02988990 */ _t6 = cpu->r[3] + 0x00000000u; /* 02988990 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 02988994 */ _t7 = cpu->r[12] + 0x0000000Cu; /* 02988994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02988998 */ cpu->ctr = cpu->r[0]; /* 0298899C */ _t8 = cpu->r[1] + 0x00000008u; /* 0298899C */ rbrew_write32(cpu->mem, _t8, cpu->r[29]); /* 029889A0 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 029889A4 */ cpu->r[7] = cpu->r[28]; /* 029889A8 */ cpu->r[5] = cpu->r[31]; /* 029889AC */ cpu->r[4] = cpu->r[30]; /* 029889B0 */ rbrew_call_indirect(cpu, cpu->ctr); L_029889B4: ; // 0x29889b4 /* 029889B4 */ cpu->r[3] = cpu->r[28]; /* 029889B8 */ cpu->r[4] = cpu->r[27]; /* 029889BC */ Gambit_fn_02C54BA0(cpu); /* 029889C0 */ /* nop */ /* 029889C4 */ _t9 = cpu->r[1] + 0x00000024u; /* 029889C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 029889C8 */ cpu->lr = cpu->r[0]; /* 029889CC */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 029889D0 */ return; } // fn_029889D4 @ 0x29889d4 void Gambit_fn_029889D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_029889D4: ; // 0x29889d4 /* 029889D4 */ cpu->r[0] = cpu->lr; /* 029889D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029889D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029889D8 */ cpu->r[1] = _t0; /* 029889DC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029889DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029889E0 */ cpu->r[31] = cpu->r[8]; /* 029889E4 */ _t2 = cpu->r[1] + 0x00000008u; /* 029889E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029889E8 */ cpu->r[3] = cpu->r[31]; /* 029889EC */ cpu->r[30] = cpu->r[7]; /* 029889F0 */ _t3 = cpu->r[1] + 0x00000014u; /* 029889F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 029889F4 */ Gambit_fn_02C54AE4(cpu); /* 029889F8 */ cpu->r[4] = cpu->r[30]; /* 029889FC */ cpu->r[3] = cpu->r[31]; /* 02988A00 */ Gambit_fn_02C54BA0(cpu); /* 02988A04 */ _t4 = cpu->r[1] + 0x00000014u; /* 02988A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02988A08 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 02988A08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 02988A0C */ cpu->lr = cpu->r[0]; /* 02988A10 */ _t6 = cpu->r[1] + 0x00000008u; /* 02988A10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 02988A14 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02988A18 */ return; } // fn_029889D8 @ 0x29889d8 void Gambit_fn_029889D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_029889D8: ; // 0x29889d8 /* 029889D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029889D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029889D8 */ cpu->r[1] = _t0; /* 029889DC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029889DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029889E0 */ cpu->r[31] = cpu->r[8]; /* 029889E4 */ _t2 = cpu->r[1] + 0x00000008u; /* 029889E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029889E8 */ cpu->r[3] = cpu->r[31]; /* 029889EC */ cpu->r[30] = cpu->r[7]; /* 029889F0 */ _t3 = cpu->r[1] + 0x00000014u; /* 029889F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 029889F4 */ Gambit_fn_02C54AE4(cpu); /* 029889F8 */ cpu->r[4] = cpu->r[30]; /* 029889FC */ cpu->r[3] = cpu->r[31]; /* 02988A00 */ Gambit_fn_02C54BA0(cpu); /* 02988A04 */ _t4 = cpu->r[1] + 0x00000014u; /* 02988A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 02988A08 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 02988A08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 02988A0C */ cpu->lr = cpu->r[0]; /* 02988A10 */ _t6 = cpu->r[1] + 0x00000008u; /* 02988A10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 02988A14 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02988A18 */ return; } // fn_02988A1C @ 0x2988a1c void Gambit_fn_02988A1C(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; L_02988A1C: ; // 0x2988a1c /* 02988A1C */ _t0 = cpu->r[1] + 0xFFFFFBC0u; /* 02988A1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02988A1C */ cpu->r[1] = _t0; /* 02988A20 */ /* nop */ /* 02988A24 */ cpu->r[0] = cpu->lr; /* 02988A28 */ _t1 = cpu->r[1] + 0x00000444u; /* 02988A28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02988A2C */ cpu->r[24] = cpu->r[5]; /* 02988A30 */ cpu->r[23] = cpu->r[3]; /* 02988A34 */ _t2 = cpu->r[24] + 0x000000ACu; /* 02988A34 */ cpu->r[26] = rbrew_read32(cpu->mem, _t2); /* 02988A38 */ cpu->r[31] = cpu->r[4]; /* 02988A3C */ _t3 = cpu->r[23] + 0x00000090u; /* 02988A3C */ rbrew_write32(cpu->mem, _t3, cpu->r[24]); /* 02988A40 */ _t4 = cpu->r[31] + 0x00000008u; /* 02988A40 */ cpu->r[11] = rbrew_read16(cpu->mem, _t4); /* 02988A44 */ cpu->r[25] = cpu->r[6]; /* 02988A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u); /* 02988A4C */ cpu->r[27] = cpu->r[7]; /* 02988A50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988A50 */ _t6 = _t5 & 0x00000001u; /* 02988A50 */ if (_t6) goto L_02988A54; else goto L_02988AC4; L_02988A54: ; // 0x2988a54 /* 02988A54 */ _t7 = cpu->r[31] + 0x00000004u; /* 02988A54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7); /* 02988A58 */ cpu->r[3] = cpu->r[23]; /* 02988A5C */ _t8 = cpu->r[7] + 0x00000000u; /* 02988A5C */ cpu->r[4] = rbrew_read8(cpu->mem, _t8); /* 02988A60 */ cpu->r[5] = cpu->r[24]; /* 02988A64 */ Gambit_fn_02984508(cpu); /* 02988A68 */ _t9 = cpu->r[31] + 0x00000004u; /* 02988A68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 02988A6C */ _t10 = cpu->r[23] + 0x00000028u; /* 02988A6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10); /* 02988A70 */ _t11 = cpu->r[8] + 0x00000000u; /* 02988A70 */ cpu->r[10] = rbrew_read8(cpu->mem, _t11); /* 02988A74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]); /* 02988A78 */ _t12 = cpu->r[23] + 0x0000002Cu; /* 02988A78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 02988A7C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 02988A7C */ _t14 = _t13 & 0x00000001u; /* 02988A7C */ if (_t14) goto L_02988A80; else goto L_02988A88; L_02988A80: ; // 0x2988a80 /* 02988A80 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000006Cu); /* 02988A84 */ cpu->r[12] = cpu->r[12] + cpu->r[0]; L_02988A88: ; // 0x2988a88 /* 02988A88 */ _t15 = cpu->r[12] + 0x00000000u; /* 02988A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02988A8C */ cpu->r[3] = cpu->r[23]; /* 02988A90 */ cpu->r[4] = cpu->r[24]; /* 02988A94 */ cpu->r[5] = cpu->r[27]; /* 02988A98 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 02988A98 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 02988A9C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu; /* 02988AA0 */ cpu->r[7] = cpu->r[26]; /* 02988AA4 */ cpu->r[6] = cpu->r[25]; /* 02988AA8 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu; /* 02988AAC */ Gambit_fn_02988958(cpu); /* 02988AB0 */ /* nop */ /* 02988AB4 */ _t17 = cpu->r[1] + 0x00000444u; /* 02988AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02988AB8 */ cpu->lr = cpu->r[0]; /* 02988ABC */ cpu->r[1] = cpu->r[1] + 0x00000440u; /* 02988AC0 */ return; L_02988AC4: ; // 0x2988ac4 /* 02988AC4 */ _t18 = cpu->r[26] + 0x0000002Cu; /* 02988AC4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t18); /* 02988AC8 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988ACC */ _t19 = cpu->r[23] + 0x00000016u; /* 02988ACC */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[9]); /* 02988AD0 */ Gambit_fn_02C54F48(cpu); /* 02988AD4 */ _t20 = cpu->r[31] + 0x00000008u; /* 02988AD4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t20); /* 02988AD8 */ _t21 = cpu->r[31] + 0x00000004u; /* 02988AD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 02988ADC */ _t22 = cpu->r[31] + 0x00000000u; /* 02988ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02988AE0 */ cpu->r[31] = cpu->r[30]; /* 02988AE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 02988AE8 */ cpu->r[28] = 0x00000000u; /* 02988AEC */ _t23 = cpu->cr[0] >> (0x00000002u & 31u); /* 02988AEC */ _t24 = _t23 & 0x00000001u; /* 02988AEC */ if (_t24) goto L_02988B04; else goto L_02988AF0; L_02988AF0: ; // 0x2988af0 /* 02988AF0 */ cpu->r[29] = cpu->r[30] + cpu->r[7]; /* 02988AF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988AF8 */ _t25 = cpu->r[1] + 0x00000010u; /* 02988AF8 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]); /* 02988AFC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988AFC */ _t27 = _t26 & 0x00000001u; /* 02988AFC */ if (_t27) goto L_02988B98; else goto L_02988B00; L_02988B00: ; // 0x2988b00 /* 02988B00 */ goto L_02988B14; L_02988B04: ; // 0x2988b04 /* 02988B04 */ cpu->r[29] = cpu->r[30] + cpu->r[0]; /* 02988B08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988B0C */ _t28 = cpu->r[1] + 0x00000010u; /* 02988B0C */ rbrew_write32(cpu->mem, _t28, cpu->r[29]); /* 02988B10 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988B10 */ _t30 = _t29 & 0x00000001u; /* 02988B10 */ if (_t30) goto L_02988B98; else goto L_02988B14; L_02988B14: ; // 0x2988b14 /* 02988B14 */ cpu->r[12] = cpu->r[1] + 0x00000018u; /* 02988B18 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02988B1C */ cpu->r[22] = cpu->r[12] + cpu->r[11]; L_02988B20: ; // 0x2988b20 /* 02988B20 */ _t31 = cpu->r[30] + 0x00000000u; /* 02988B20 */ cpu->r[4] = rbrew_read8(cpu->mem, _t31); /* 02988B24 */ cpu->r[5] = cpu->r[24]; /* 02988B28 */ cpu->r[3] = cpu->r[23]; /* 02988B2C */ _t32 = cpu->r[23] + 0x0000008Eu; /* 02988B2C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[4]); /* 02988B30 */ Gambit_fn_02984508(cpu); /* 02988B34 */ _t33 = cpu->r[23] + 0x0000008Eu; /* 02988B34 */ cpu->r[8] = rbrew_read8(cpu->mem, _t33); /* 02988B38 */ _t34 = cpu->r[23] + 0x00000028u; /* 02988B38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34); /* 02988B3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]); /* 02988B40 */ _t35 = cpu->r[23] + 0x0000002Cu; /* 02988B40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35); /* 02988B44 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u); /* 02988B44 */ _t37 = _t36 & 0x00000001u; /* 02988B44 */ if (_t37) goto L_02988B48; else goto L_02988B50; L_02988B48: ; // 0x2988b48 /* 02988B48 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000006Cu); /* 02988B4C */ cpu->r[11] = cpu->r[11] + cpu->r[7]; L_02988B50: ; // 0x2988b50 /* 02988B50 */ _t38 = cpu->r[11] + 0x00000068u; /* 02988B50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38); /* 02988B54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02988B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02988B58 */ cpu->r[4] = cpu->r[11] + 0x0000000Cu; /* 02988B5C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988B5C */ _t40 = _t39 & 0x00000001u; /* 02988B5C */ if (_t40) goto L_02988B80; else goto L_02988B60; L_02988B60: ; // 0x2988b60 /* 02988B60 */ cpu->r[10] = cpu->r[30] - cpu->r[31]; /* 02988B64 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 02988B68 */ _t41 = cpu->r[22] + 0x00000000u; /* 02988B68 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]); /* 02988B6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988B70 */ cpu->r[22] = cpu->r[22] + 0x00000004u; /* 02988B74 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02988B78 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988B78 */ _t43 = _t42 & 0x00000001u; /* 02988B78 */ if (_t43) goto L_02988B7C; else goto L_02988B20; L_02988B7C: ; // 0x2988b7c /* 02988B7C */ goto L_02988B98; L_02988B80: ; // 0x2988b80 /* 02988B80 */ _t44 = cpu->r[11] + 0x00000008u; /* 02988B80 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t44); /* 02988B84 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988B88 */ Gambit_fn_02C54F70(cpu); /* 02988B8C */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 02988B90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02988B94 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988B94 */ _t46 = _t45 & 0x00000001u; /* 02988B94 */ if (_t46) goto L_02988B98; else goto L_02988B20; L_02988B98: ; // 0x2988b98 /* 02988B98 */ _t47 = cpu->r[23] + 0x00000070u; /* 02988B98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47); /* 02988B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02988BA0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988BA0 */ _t49 = _t48 & 0x00000001u; /* 02988BA0 */ if (_t49) goto L_02988BC0; else goto L_02988BA4; L_02988BA4: ; // 0x2988ba4 /* 02988BA4 */ _t50 = cpu->r[3] + 0x00000000u; /* 02988BA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50); /* 02988BA8 */ _t51 = cpu->r[12] + 0x00000014u; /* 02988BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 02988BAC */ cpu->ctr = cpu->r[0]; /* 02988BB0 */ cpu->r[4] = cpu->r[23]; /* 02988BB4 */ cpu->r[5] = cpu->r[24]; /* 02988BB8 */ cpu->r[6] = cpu->r[23] + 0x00000010u; /* 02988BBC */ rbrew_call_indirect(cpu, cpu->ctr); L_02988BC0: ; // 0x2988bc0 /* 02988BC0 */ cpu->r[3] = cpu->r[23] + 0x00000010u; /* 02988BC4 */ cpu->r[4] = cpu->r[26]; /* 02988BC8 */ Gambit_fn_02C55078(cpu); /* 02988BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02988BD0 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u); /* 02988BD0 */ _t53 = _t52 & 0x00000001u; /* 02988BD0 */ if (_t53) goto L_02988BD4; else goto L_02988C24; L_02988BD4: ; // 0x2988bd4 /* 02988BD4 */ cpu->r[31] = cpu->r[1] + 0x00000014u; L_02988BD8: ; // 0x2988bd8 /* 02988BD8 */ _t54 = cpu->r[31] + 0x00000004u; /* 02988BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 02988BD8 */ cpu->r[31] = _t54; /* 02988BDC */ _t55 = cpu->r[23] + 0x00000028u; /* 02988BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t55); /* 02988BE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02988BE4 */ _t56 = cpu->r[23] + 0x0000002Cu; /* 02988BE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56); /* 02988BE8 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u); /* 02988BE8 */ _t58 = _t57 & 0x00000001u; /* 02988BE8 */ if (_t58) goto L_02988BEC; else goto L_02988BF4; L_02988BEC: ; // 0x2988bec /* 02988BEC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000006Cu); /* 02988BF0 */ cpu->r[10] = cpu->r[10] + cpu->r[0]; L_02988BF4: ; // 0x2988bf4 /* 02988BF4 */ _t59 = cpu->r[10] + 0x00000000u; /* 02988BF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59); /* 02988BF8 */ cpu->r[3] = cpu->r[23]; /* 02988BFC */ cpu->r[4] = cpu->r[24]; /* 02988C00 */ cpu->r[5] = cpu->r[27]; /* 02988C04 */ _t60 = cpu->r[1] + 0x00000008u; /* 02988C04 */ rbrew_write32(cpu->mem, _t60, cpu->r[6]); /* 02988C08 */ cpu->r[9] = cpu->r[1] + 0x00000008u; /* 02988C0C */ cpu->r[8] = cpu->r[10] + 0x0000000Cu; /* 02988C10 */ cpu->r[7] = cpu->r[26]; /* 02988C14 */ cpu->r[6] = cpu->r[25]; /* 02988C18 */ Gambit_fn_029889D4(cpu); /* 02988C1C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 02988C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02988C20 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988C20 */ _t62 = _t61 & 0x00000001u; /* 02988C20 */ if (_t62) goto L_02988C24; else goto L_02988BD8; L_02988C24: ; // 0x2988c24 /* 02988C24 */ /* nop */ /* 02988C28 */ _t63 = cpu->r[1] + 0x00000444u; /* 02988C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63); /* 02988C2C */ cpu->lr = cpu->r[0]; /* 02988C30 */ cpu->r[1] = cpu->r[1] + 0x00000440u; /* 02988C34 */ return; } // fn_02988C38 @ 0x2988c38 void Gambit_fn_02988C38(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_02988C38: ; // 0x2988c38 /* 02988C38 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02988C38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02988C38 */ cpu->r[1] = _t0; /* 02988C3C */ /* nop */ /* 02988C40 */ cpu->r[0] = cpu->lr; /* 02988C44 */ _t1 = cpu->r[1] + 0x00000024u; /* 02988C44 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02988C48 */ cpu->r[29] = cpu->r[4]; /* 02988C4C */ _t2 = cpu->r[29] + 0x00000000u; /* 02988C4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 02988C50 */ _t3 = cpu->r[29] + 0x00000004u; /* 02988C50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3); /* 02988C54 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02988C58 */ cpu->r[30] = cpu->r[4] + cpu->r[0]; /* 02988C5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 02988C60 */ cpu->r[28] = 0x101D0000u; /* 02988C64 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988C64 */ _t5 = _t4 & 0x00000001u; /* 02988C64 */ if (_t5) goto L_02988CBC; else goto L_02988C68; L_02988C68: ; // 0x2988c68 /* 02988C68 */ cpu->r[26] = 0x00000000u; /* 02988C6C */ cpu->r[31] = cpu->r[4]; L_02988C70: ; // 0x2988c70 /* 02988C70 */ _t6 = cpu->r[31] + 0x00000008u; /* 02988C70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 02988C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02988C78 */ cpu->r[27] = cpu->r[31] + 0x00000004u; /* 02988C7C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988C7C */ _t8 = _t7 & 0x00000001u; /* 02988C7C */ if (_t8) goto L_02988CAC; else goto L_02988C80; L_02988C80: ; // 0x2988c80 /* 02988C80 */ _t9 = cpu->r[27] + 0x00000000u; /* 02988C80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 02988C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02988C88 */ _t10 = cpu->r[28] + 0xFFFF98F0u; /* 02988C88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02988C8C */ Gambit_fn_02826B90(cpu); /* 02988C90 */ _t11 = cpu->r[3] + 0x0000000Cu; /* 02988C90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 02988C94 */ _t12 = cpu->r[10] + 0x0000003Cu; /* 02988C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02988C98 */ cpu->ctr = cpu->r[0]; /* 02988C9C */ _t13 = cpu->r[27] + 0x00000004u; /* 02988C9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); /* 02988CA0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988CA4 */ _t14 = cpu->r[27] + 0x00000000u; /* 02988CA4 */ rbrew_write32(cpu->mem, _t14, cpu->r[26]); /* 02988CA8 */ _t15 = cpu->r[27] + 0x00000004u; /* 02988CA8 */ rbrew_write32(cpu->mem, _t15, cpu->r[26]); L_02988CAC: ; // 0x2988cac /* 02988CAC */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 02988CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02988CB4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988CB4 */ _t17 = _t16 & 0x00000001u; /* 02988CB4 */ if (_t17) goto L_02988CB8; else goto L_02988C70; L_02988CB8: ; // 0x2988cb8 /* 02988CB8 */ _t18 = cpu->r[29] + 0x00000004u; /* 02988CB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); L_02988CBC: ; // 0x2988cbc /* 02988CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02988CC0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988CC0 */ _t20 = _t19 & 0x00000001u; /* 02988CC0 */ if (_t20) goto L_02988CF4; else goto L_02988CC4; L_02988CC4: ; // 0x2988cc4 /* 02988CC4 */ _t21 = cpu->r[29] + 0x00000000u; /* 02988CC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 02988CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02988CCC */ _t22 = cpu->r[28] + 0xFFFF98F0u; /* 02988CCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 02988CD0 */ Gambit_fn_02826B90(cpu); /* 02988CD4 */ _t23 = cpu->r[3] + 0x0000000Cu; /* 02988CD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 02988CD8 */ _t24 = cpu->r[12] + 0x0000003Cu; /* 02988CD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 02988CDC */ cpu->ctr = cpu->r[7]; /* 02988CE0 */ _t25 = cpu->r[29] + 0x00000004u; /* 02988CE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 02988CE4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988CE8 */ cpu->r[8] = 0x00000000u; /* 02988CEC */ _t26 = cpu->r[29] + 0x00000000u; /* 02988CEC */ rbrew_write32(cpu->mem, _t26, cpu->r[8]); /* 02988CF0 */ _t27 = cpu->r[29] + 0x00000004u; /* 02988CF0 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]); L_02988CF4: ; // 0x2988cf4 /* 02988CF4 */ /* nop */ /* 02988CF8 */ _t28 = cpu->r[1] + 0x00000024u; /* 02988CF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02988CFC */ cpu->lr = cpu->r[0]; /* 02988D00 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02988D04 */ return; } // fn_02988D08 @ 0x2988d08 void Gambit_fn_02988D08(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_02988D08: ; // 0x2988d08 /* 02988D08 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02988D08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02988D08 */ cpu->r[1] = _t0; /* 02988D0C */ /* nop */ /* 02988D10 */ cpu->r[0] = cpu->lr; /* 02988D14 */ _t1 = cpu->r[1] + 0x00000024u; /* 02988D14 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02988D18 */ cpu->r[29] = cpu->r[4]; /* 02988D1C */ _t2 = cpu->r[29] + 0x00000000u; /* 02988D1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 02988D20 */ _t3 = cpu->r[29] + 0x00000004u; /* 02988D20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3); /* 02988D24 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02988D28 */ cpu->r[30] = cpu->r[4] + cpu->r[0]; /* 02988D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 02988D30 */ cpu->r[28] = 0x101D0000u; /* 02988D34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988D34 */ _t5 = _t4 & 0x00000001u; /* 02988D34 */ if (_t5) goto L_02988D8C; else goto L_02988D38; L_02988D38: ; // 0x2988d38 /* 02988D38 */ cpu->r[26] = 0x00000000u; /* 02988D3C */ cpu->r[31] = cpu->r[4]; L_02988D40: ; // 0x2988d40 /* 02988D40 */ _t6 = cpu->r[31] + 0x00000008u; /* 02988D40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 02988D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02988D48 */ cpu->r[27] = cpu->r[31] + 0x00000004u; /* 02988D4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988D4C */ _t8 = _t7 & 0x00000001u; /* 02988D4C */ if (_t8) goto L_02988D7C; else goto L_02988D50; L_02988D50: ; // 0x2988d50 /* 02988D50 */ _t9 = cpu->r[27] + 0x00000000u; /* 02988D50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 02988D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02988D58 */ _t10 = cpu->r[28] + 0xFFFF98F0u; /* 02988D58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02988D5C */ Gambit_fn_02826B90(cpu); /* 02988D60 */ _t11 = cpu->r[3] + 0x0000000Cu; /* 02988D60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 02988D64 */ _t12 = cpu->r[10] + 0x0000003Cu; /* 02988D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02988D68 */ cpu->ctr = cpu->r[0]; /* 02988D6C */ _t13 = cpu->r[27] + 0x00000004u; /* 02988D6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); /* 02988D70 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988D74 */ _t14 = cpu->r[27] + 0x00000000u; /* 02988D74 */ rbrew_write32(cpu->mem, _t14, cpu->r[26]); /* 02988D78 */ _t15 = cpu->r[27] + 0x00000004u; /* 02988D78 */ rbrew_write32(cpu->mem, _t15, cpu->r[26]); L_02988D7C: ; // 0x2988d7c /* 02988D7C */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 02988D80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02988D84 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988D84 */ _t17 = _t16 & 0x00000001u; /* 02988D84 */ if (_t17) goto L_02988D88; else goto L_02988D40; L_02988D88: ; // 0x2988d88 /* 02988D88 */ _t18 = cpu->r[29] + 0x00000004u; /* 02988D88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); L_02988D8C: ; // 0x2988d8c /* 02988D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02988D90 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988D90 */ _t20 = _t19 & 0x00000001u; /* 02988D90 */ if (_t20) goto L_02988DC4; else goto L_02988D94; L_02988D94: ; // 0x2988d94 /* 02988D94 */ _t21 = cpu->r[29] + 0x00000000u; /* 02988D94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 02988D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02988D9C */ _t22 = cpu->r[28] + 0xFFFF98F0u; /* 02988D9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 02988DA0 */ Gambit_fn_02826B90(cpu); /* 02988DA4 */ _t23 = cpu->r[3] + 0x0000000Cu; /* 02988DA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 02988DA8 */ _t24 = cpu->r[12] + 0x0000003Cu; /* 02988DA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 02988DAC */ cpu->ctr = cpu->r[7]; /* 02988DB0 */ _t25 = cpu->r[29] + 0x00000004u; /* 02988DB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 02988DB4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988DB8 */ cpu->r[8] = 0x00000000u; /* 02988DBC */ _t26 = cpu->r[29] + 0x00000000u; /* 02988DBC */ rbrew_write32(cpu->mem, _t26, cpu->r[8]); /* 02988DC0 */ _t27 = cpu->r[29] + 0x00000004u; /* 02988DC0 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]); L_02988DC4: ; // 0x2988dc4 /* 02988DC4 */ /* nop */ /* 02988DC8 */ _t28 = cpu->r[1] + 0x00000024u; /* 02988DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02988DCC */ cpu->lr = cpu->r[0]; /* 02988DD0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02988DD4 */ return; } // fn_02988DD8 @ 0x2988dd8 void Gambit_fn_02988DD8(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_02988DD8: ; // 0x2988dd8 /* 02988DD8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02988DD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02988DD8 */ cpu->r[1] = _t0; /* 02988DDC */ /* nop */ /* 02988DE0 */ cpu->r[0] = cpu->lr; /* 02988DE4 */ _t1 = cpu->r[1] + 0x00000024u; /* 02988DE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02988DE8 */ cpu->r[29] = cpu->r[4]; /* 02988DEC */ _t2 = cpu->r[29] + 0x00000000u; /* 02988DEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 02988DF0 */ _t3 = cpu->r[29] + 0x00000004u; /* 02988DF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3); /* 02988DF4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02988DF8 */ cpu->r[30] = cpu->r[4] + cpu->r[0]; /* 02988DFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 02988E00 */ cpu->r[28] = 0x101D0000u; /* 02988E04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988E04 */ _t5 = _t4 & 0x00000001u; /* 02988E04 */ if (_t5) goto L_02988E5C; else goto L_02988E08; L_02988E08: ; // 0x2988e08 /* 02988E08 */ cpu->r[26] = 0x00000000u; /* 02988E0C */ cpu->r[31] = cpu->r[4]; L_02988E10: ; // 0x2988e10 /* 02988E10 */ _t6 = cpu->r[31] + 0x00000008u; /* 02988E10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 02988E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02988E18 */ cpu->r[27] = cpu->r[31] + 0x00000004u; /* 02988E1C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988E1C */ _t8 = _t7 & 0x00000001u; /* 02988E1C */ if (_t8) goto L_02988E4C; else goto L_02988E20; L_02988E20: ; // 0x2988e20 /* 02988E20 */ _t9 = cpu->r[27] + 0x00000000u; /* 02988E20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 02988E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02988E28 */ _t10 = cpu->r[28] + 0xFFFF98F0u; /* 02988E28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02988E2C */ Gambit_fn_02826B90(cpu); /* 02988E30 */ _t11 = cpu->r[3] + 0x0000000Cu; /* 02988E30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 02988E34 */ _t12 = cpu->r[10] + 0x0000003Cu; /* 02988E34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02988E38 */ cpu->ctr = cpu->r[0]; /* 02988E3C */ _t13 = cpu->r[27] + 0x00000004u; /* 02988E3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); /* 02988E40 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988E44 */ _t14 = cpu->r[27] + 0x00000000u; /* 02988E44 */ rbrew_write32(cpu->mem, _t14, cpu->r[26]); /* 02988E48 */ _t15 = cpu->r[27] + 0x00000004u; /* 02988E48 */ rbrew_write32(cpu->mem, _t15, cpu->r[26]); L_02988E4C: ; // 0x2988e4c /* 02988E4C */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 02988E50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02988E54 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988E54 */ _t17 = _t16 & 0x00000001u; /* 02988E54 */ if (_t17) goto L_02988E58; else goto L_02988E10; L_02988E58: ; // 0x2988e58 /* 02988E58 */ _t18 = cpu->r[29] + 0x00000004u; /* 02988E58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); L_02988E5C: ; // 0x2988e5c /* 02988E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02988E60 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988E60 */ _t20 = _t19 & 0x00000001u; /* 02988E60 */ if (_t20) goto L_02988E94; else goto L_02988E64; L_02988E64: ; // 0x2988e64 /* 02988E64 */ _t21 = cpu->r[29] + 0x00000000u; /* 02988E64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 02988E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02988E6C */ _t22 = cpu->r[28] + 0xFFFF98F0u; /* 02988E6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 02988E70 */ Gambit_fn_02826B90(cpu); /* 02988E74 */ _t23 = cpu->r[3] + 0x0000000Cu; /* 02988E74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 02988E78 */ _t24 = cpu->r[12] + 0x0000003Cu; /* 02988E78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 02988E7C */ cpu->ctr = cpu->r[7]; /* 02988E80 */ _t25 = cpu->r[29] + 0x00000004u; /* 02988E80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 02988E84 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988E88 */ cpu->r[8] = 0x00000000u; /* 02988E8C */ _t26 = cpu->r[29] + 0x00000000u; /* 02988E8C */ rbrew_write32(cpu->mem, _t26, cpu->r[8]); /* 02988E90 */ _t27 = cpu->r[29] + 0x00000004u; /* 02988E90 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]); L_02988E94: ; // 0x2988e94 /* 02988E94 */ /* nop */ /* 02988E98 */ _t28 = cpu->r[1] + 0x00000024u; /* 02988E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02988E9C */ cpu->lr = cpu->r[0]; /* 02988EA0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02988EA4 */ return; } // fn_02988EA8 @ 0x2988ea8 void Gambit_fn_02988EA8(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_02988EA8: ; // 0x2988ea8 /* 02988EA8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02988EA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02988EA8 */ cpu->r[1] = _t0; /* 02988EAC */ /* nop */ /* 02988EB0 */ cpu->r[0] = cpu->lr; /* 02988EB4 */ _t1 = cpu->r[1] + 0x00000024u; /* 02988EB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02988EB8 */ cpu->r[29] = cpu->r[4]; /* 02988EBC */ _t2 = cpu->r[29] + 0x00000000u; /* 02988EBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 02988EC0 */ _t3 = cpu->r[29] + 0x00000004u; /* 02988EC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3); /* 02988EC4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02988EC8 */ cpu->r[30] = cpu->r[4] + cpu->r[0]; /* 02988ECC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 02988ED0 */ cpu->r[28] = 0x101D0000u; /* 02988ED4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988ED4 */ _t5 = _t4 & 0x00000001u; /* 02988ED4 */ if (_t5) goto L_02988F2C; else goto L_02988ED8; L_02988ED8: ; // 0x2988ed8 /* 02988ED8 */ cpu->r[26] = 0x00000000u; /* 02988EDC */ cpu->r[31] = cpu->r[4]; L_02988EE0: ; // 0x2988ee0 /* 02988EE0 */ _t6 = cpu->r[31] + 0x00000008u; /* 02988EE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 02988EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02988EE8 */ cpu->r[27] = cpu->r[31] + 0x00000004u; /* 02988EEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988EEC */ _t8 = _t7 & 0x00000001u; /* 02988EEC */ if (_t8) goto L_02988F1C; else goto L_02988EF0; L_02988EF0: ; // 0x2988ef0 /* 02988EF0 */ _t9 = cpu->r[27] + 0x00000000u; /* 02988EF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 02988EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02988EF8 */ _t10 = cpu->r[28] + 0xFFFF98F0u; /* 02988EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02988EFC */ Gambit_fn_02826B90(cpu); /* 02988F00 */ _t11 = cpu->r[3] + 0x0000000Cu; /* 02988F00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 02988F04 */ _t12 = cpu->r[10] + 0x0000003Cu; /* 02988F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02988F08 */ cpu->ctr = cpu->r[0]; /* 02988F0C */ _t13 = cpu->r[27] + 0x00000004u; /* 02988F0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); /* 02988F10 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988F14 */ _t14 = cpu->r[27] + 0x00000000u; /* 02988F14 */ rbrew_write32(cpu->mem, _t14, cpu->r[26]); /* 02988F18 */ _t15 = cpu->r[27] + 0x00000004u; /* 02988F18 */ rbrew_write32(cpu->mem, _t15, cpu->r[26]); L_02988F1C: ; // 0x2988f1c /* 02988F1C */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 02988F20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02988F24 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988F24 */ _t17 = _t16 & 0x00000001u; /* 02988F24 */ if (_t17) goto L_02988F28; else goto L_02988EE0; L_02988F28: ; // 0x2988f28 /* 02988F28 */ _t18 = cpu->r[29] + 0x00000004u; /* 02988F28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); L_02988F2C: ; // 0x2988f2c /* 02988F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02988F30 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988F30 */ _t20 = _t19 & 0x00000001u; /* 02988F30 */ if (_t20) goto L_02988F64; else goto L_02988F34; L_02988F34: ; // 0x2988f34 /* 02988F34 */ _t21 = cpu->r[29] + 0x00000000u; /* 02988F34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 02988F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02988F3C */ _t22 = cpu->r[28] + 0xFFFF98F0u; /* 02988F3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 02988F40 */ Gambit_fn_02826B90(cpu); /* 02988F44 */ _t23 = cpu->r[3] + 0x0000000Cu; /* 02988F44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 02988F48 */ _t24 = cpu->r[12] + 0x0000003Cu; /* 02988F48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 02988F4C */ cpu->ctr = cpu->r[7]; /* 02988F50 */ _t25 = cpu->r[29] + 0x00000004u; /* 02988F50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 02988F54 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988F58 */ cpu->r[8] = 0x00000000u; /* 02988F5C */ _t26 = cpu->r[29] + 0x00000000u; /* 02988F5C */ rbrew_write32(cpu->mem, _t26, cpu->r[8]); /* 02988F60 */ _t27 = cpu->r[29] + 0x00000004u; /* 02988F60 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]); L_02988F64: ; // 0x2988f64 /* 02988F64 */ /* nop */ /* 02988F68 */ _t28 = cpu->r[1] + 0x00000024u; /* 02988F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 02988F6C */ cpu->lr = cpu->r[0]; /* 02988F70 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02988F74 */ return; } // fn_02988F78 @ 0x2988f78 void Gambit_fn_02988F78(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_02988F78: ; // 0x2988f78 /* 02988F78 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02988F78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02988F78 */ cpu->r[1] = _t0; /* 02988F7C */ /* nop */ /* 02988F80 */ cpu->r[0] = cpu->lr; /* 02988F84 */ _t1 = cpu->r[1] + 0x00000024u; /* 02988F84 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02988F88 */ cpu->r[29] = cpu->r[4]; /* 02988F8C */ _t2 = cpu->r[29] + 0x00000000u; /* 02988F8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 02988F90 */ _t3 = cpu->r[29] + 0x00000004u; /* 02988F90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3); /* 02988F94 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02988F98 */ cpu->r[30] = cpu->r[4] + cpu->r[0]; /* 02988F9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 02988FA0 */ cpu->r[28] = 0x101D0000u; /* 02988FA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988FA4 */ _t5 = _t4 & 0x00000001u; /* 02988FA4 */ if (_t5) goto L_02988FFC; else goto L_02988FA8; L_02988FA8: ; // 0x2988fa8 /* 02988FA8 */ cpu->r[26] = 0x00000000u; /* 02988FAC */ cpu->r[31] = cpu->r[4]; L_02988FB0: ; // 0x2988fb0 /* 02988FB0 */ _t6 = cpu->r[31] + 0x00000008u; /* 02988FB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 02988FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02988FB8 */ cpu->r[27] = cpu->r[31] + 0x00000004u; /* 02988FBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988FBC */ _t8 = _t7 & 0x00000001u; /* 02988FBC */ if (_t8) goto L_02988FEC; else goto L_02988FC0; L_02988FC0: ; // 0x2988fc0 /* 02988FC0 */ _t9 = cpu->r[27] + 0x00000000u; /* 02988FC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 02988FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02988FC8 */ _t10 = cpu->r[28] + 0xFFFF98F0u; /* 02988FC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 02988FCC */ Gambit_fn_02826B90(cpu); /* 02988FD0 */ _t11 = cpu->r[3] + 0x0000000Cu; /* 02988FD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 02988FD4 */ _t12 = cpu->r[10] + 0x0000003Cu; /* 02988FD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02988FD8 */ cpu->ctr = cpu->r[0]; /* 02988FDC */ _t13 = cpu->r[27] + 0x00000004u; /* 02988FDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); /* 02988FE0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02988FE4 */ _t14 = cpu->r[27] + 0x00000000u; /* 02988FE4 */ rbrew_write32(cpu->mem, _t14, cpu->r[26]); /* 02988FE8 */ _t15 = cpu->r[27] + 0x00000004u; /* 02988FE8 */ rbrew_write32(cpu->mem, _t15, cpu->r[26]); L_02988FEC: ; // 0x2988fec /* 02988FEC */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 02988FF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 02988FF4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02988FF4 */ _t17 = _t16 & 0x00000001u; /* 02988FF4 */ if (_t17) goto L_02988FF8; else goto L_02988FB0; L_02988FF8: ; // 0x2988ff8 /* 02988FF8 */ _t18 = cpu->r[29] + 0x00000004u; /* 02988FF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); L_02988FFC: ; // 0x2988ffc /* 02988FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02989000 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989000 */ _t20 = _t19 & 0x00000001u; /* 02989000 */ if (_t20) goto L_02989034; else goto L_02989004; L_02989004: ; // 0x2989004 /* 02989004 */ _t21 = cpu->r[29] + 0x00000000u; /* 02989004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 02989008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298900C */ _t22 = cpu->r[28] + 0xFFFF98F0u; /* 0298900C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 02989010 */ Gambit_fn_02826B90(cpu); /* 02989014 */ _t23 = cpu->r[3] + 0x0000000Cu; /* 02989014 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 02989018 */ _t24 = cpu->r[12] + 0x0000003Cu; /* 02989018 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 0298901C */ cpu->ctr = cpu->r[7]; /* 02989020 */ _t25 = cpu->r[29] + 0x00000004u; /* 02989020 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 02989024 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02989028 */ cpu->r[8] = 0x00000000u; /* 0298902C */ _t26 = cpu->r[29] + 0x00000000u; /* 0298902C */ rbrew_write32(cpu->mem, _t26, cpu->r[8]); /* 02989030 */ _t27 = cpu->r[29] + 0x00000004u; /* 02989030 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]); L_02989034: ; // 0x2989034 /* 02989034 */ /* nop */ /* 02989038 */ _t28 = cpu->r[1] + 0x00000024u; /* 02989038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 0298903C */ cpu->lr = cpu->r[0]; /* 02989040 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02989044 */ return; } // fn_02989048 @ 0x2989048 void Gambit_fn_02989048(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_02989048: ; // 0x2989048 /* 02989048 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 02989048 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02989048 */ cpu->r[1] = _t0; /* 0298904C */ /* nop */ /* 02989050 */ cpu->r[0] = cpu->lr; /* 02989054 */ _t1 = cpu->r[1] + 0x00000024u; /* 02989054 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02989058 */ cpu->r[29] = cpu->r[4]; /* 0298905C */ _t2 = cpu->r[29] + 0x00000000u; /* 0298905C */ cpu->r[9] = rbrew_read32(cpu->mem, _t2); /* 02989060 */ _t3 = cpu->r[29] + 0x00000004u; /* 02989060 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3); /* 02989064 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu); /* 02989068 */ cpu->r[30] = cpu->r[4] + cpu->r[0]; /* 0298906C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]); /* 02989070 */ cpu->r[28] = 0x101D0000u; /* 02989074 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989074 */ _t5 = _t4 & 0x00000001u; /* 02989074 */ if (_t5) goto L_029890CC; else goto L_02989078; L_02989078: ; // 0x2989078 /* 02989078 */ cpu->r[26] = 0x00000000u; /* 0298907C */ cpu->r[31] = cpu->r[4]; L_02989080: ; // 0x2989080 /* 02989080 */ _t6 = cpu->r[31] + 0x00000008u; /* 02989080 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); /* 02989084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02989088 */ cpu->r[27] = cpu->r[31] + 0x00000004u; /* 0298908C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298908C */ _t8 = _t7 & 0x00000001u; /* 0298908C */ if (_t8) goto L_029890BC; else goto L_02989090; L_02989090: ; // 0x2989090 /* 02989090 */ _t9 = cpu->r[27] + 0x00000000u; /* 02989090 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9); /* 02989094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02989098 */ _t10 = cpu->r[28] + 0xFFFF98F0u; /* 02989098 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0298909C */ Gambit_fn_02826B90(cpu); /* 029890A0 */ _t11 = cpu->r[3] + 0x0000000Cu; /* 029890A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 029890A4 */ _t12 = cpu->r[10] + 0x0000003Cu; /* 029890A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 029890A8 */ cpu->ctr = cpu->r[0]; /* 029890AC */ _t13 = cpu->r[27] + 0x00000004u; /* 029890AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t13); /* 029890B0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029890B4 */ _t14 = cpu->r[27] + 0x00000000u; /* 029890B4 */ rbrew_write32(cpu->mem, _t14, cpu->r[26]); /* 029890B8 */ _t15 = cpu->r[27] + 0x00000004u; /* 029890B8 */ rbrew_write32(cpu->mem, _t15, cpu->r[26]); L_029890BC: ; // 0x29890bc /* 029890BC */ cpu->r[31] = cpu->r[31] + 0x0000000Cu; /* 029890C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]); /* 029890C4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 029890C4 */ _t17 = _t16 & 0x00000001u; /* 029890C4 */ if (_t17) goto L_029890C8; else goto L_02989080; L_029890C8: ; // 0x29890c8 /* 029890C8 */ _t18 = cpu->r[29] + 0x00000004u; /* 029890C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); L_029890CC: ; // 0x29890cc /* 029890CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 029890D0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 029890D0 */ _t20 = _t19 & 0x00000001u; /* 029890D0 */ if (_t20) goto L_02989104; else goto L_029890D4; L_029890D4: ; // 0x29890d4 /* 029890D4 */ _t21 = cpu->r[29] + 0x00000000u; /* 029890D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 029890D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029890DC */ _t22 = cpu->r[28] + 0xFFFF98F0u; /* 029890DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 029890E0 */ Gambit_fn_02826B90(cpu); /* 029890E4 */ _t23 = cpu->r[3] + 0x0000000Cu; /* 029890E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23); /* 029890E8 */ _t24 = cpu->r[12] + 0x0000003Cu; /* 029890E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 029890EC */ cpu->ctr = cpu->r[7]; /* 029890F0 */ _t25 = cpu->r[29] + 0x00000004u; /* 029890F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25); /* 029890F4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029890F8 */ cpu->r[8] = 0x00000000u; /* 029890FC */ _t26 = cpu->r[29] + 0x00000000u; /* 029890FC */ rbrew_write32(cpu->mem, _t26, cpu->r[8]); /* 02989100 */ _t27 = cpu->r[29] + 0x00000004u; /* 02989100 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]); L_02989104: ; // 0x2989104 /* 02989104 */ /* nop */ /* 02989108 */ _t28 = cpu->r[1] + 0x00000024u; /* 02989108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 0298910C */ cpu->lr = cpu->r[0]; /* 02989110 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02989114 */ return; } // fn_02989118 @ 0x2989118 void Gambit_fn_02989118(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_02989118: ; // 0x2989118 /* 02989118 */ _t0 = cpu->r[3] + 0x00000030u; /* 02989118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 0298911C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 02989120 */ _t1 = cpu->r[3] + 0x00000034u; /* 02989120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02989124 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989124 */ _t3 = _t2 & 0x00000001u; /* 02989124 */ if (_t3) goto L_02989128; else goto L_02989130; L_02989128: ; // 0x2989128 /* 02989128 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000001Cu); /* 0298912C */ cpu->r[12] = cpu->r[12] + cpu->r[0]; L_02989130: ; // 0x2989130 /* 02989130 */ _t4 = cpu->r[12] + 0x00000008u; /* 02989130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 02989134 */ return; } // fn_02989138 @ 0x2989138 void Gambit_fn_02989138(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_02989138: ; // 0x2989138 /* 02989138 */ cpu->r[0] = cpu->lr; /* 0298913C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298913C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298913C */ cpu->r[1] = _t0; /* 02989140 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02989140 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02989144 */ _t2 = cpu->r[1] + 0x00000008u; /* 02989144 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02989148 */ cpu->r[31] = cpu->r[3]; /* 02989148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298914C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298914C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02989150 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989150 */ _t5 = _t4 & 0x00000001u; /* 02989150 */ if (_t5) goto L_02989154; else goto L_02989164; L_02989154: ; // 0x2989154 /* 02989154 */ cpu->r[3] = 0x00000010u; /* 02989158 */ Gambit_fn_02801A78(cpu); /* 0298915C */ cpu->r[31] = cpu->r[3]; /* 0298915C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989160 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989160 */ _t7 = _t6 & 0x00000001u; /* 02989160 */ if (_t7) goto L_029891B4; else goto L_02989164; L_02989164: ; // 0x2989164 /* 02989164 */ cpu->r[0] = 0x10150000u; /* 02989168 */ cpu->r[30] = 0x00000000u; /* 0298916C */ cpu->r[0] = cpu->r[0] + 0xFFFFEE8Cu; /* 02989170 */ _t8 = cpu->r[31] + 0x00000000u; /* 02989170 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[30]); /* 02989174 */ cpu->r[3] = cpu->r[31] + 0x00000002u; /* 02989174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989178 */ _t9 = cpu->r[31] + 0x0000000Cu; /* 02989178 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0298917C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298917C */ _t11 = _t10 & 0x00000001u; /* 0298917C */ if (_t11) goto L_02989180; else goto L_02989190; L_02989180: ; // 0x2989180 /* 02989180 */ cpu->r[3] = 0x00000002u; /* 02989184 */ Gambit_fn_02801A78(cpu); /* 02989188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298918C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298918C */ _t13 = _t12 & 0x00000001u; /* 0298918C */ if (_t13) goto L_02989194; else goto L_02989190; L_02989190: ; // 0x2989190 /* 02989190 */ _t14 = cpu->r[3] + 0x00000000u; /* 02989190 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]); L_02989194: ; // 0x2989194 /* 02989194 */ cpu->r[3] = cpu->r[31] + 0x00000004u; /* 02989194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989198 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989198 */ _t16 = _t15 & 0x00000001u; /* 02989198 */ if (_t16) goto L_0298919C; else goto L_029891AC; L_0298919C: ; // 0x298919c /* 0298919C */ cpu->r[3] = 0x00000008u; /* 029891A0 */ Gambit_fn_02801A78(cpu); /* 029891A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029891A8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 029891A8 */ _t18 = _t17 & 0x00000001u; /* 029891A8 */ if (_t18) goto L_029891B4; else goto L_029891AC; L_029891AC: ; // 0x29891ac /* 029891AC */ _t19 = cpu->r[3] + 0x00000004u; /* 029891AC */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); /* 029891B0 */ _t20 = cpu->r[3] + 0x00000000u; /* 029891B0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); L_029891B4: ; // 0x29891b4 /* 029891B4 */ _t21 = cpu->r[1] + 0x00000014u; /* 029891B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 029891B8 */ cpu->r[3] = cpu->r[31]; /* 029891BC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 029891BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 029891C0 */ cpu->lr = cpu->r[0]; /* 029891C4 */ _t23 = cpu->r[1] + 0x00000008u; /* 029891C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 029891C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029891CC */ return; } // fn_0298913C @ 0x298913c void Gambit_fn_0298913C(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_0298913C: ; // 0x298913c /* 0298913C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298913C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298913C */ cpu->r[1] = _t0; /* 02989140 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02989140 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02989144 */ _t2 = cpu->r[1] + 0x00000008u; /* 02989144 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02989148 */ cpu->r[31] = cpu->r[3]; /* 02989148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298914C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298914C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02989150 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989150 */ _t5 = _t4 & 0x00000001u; /* 02989150 */ if (_t5) goto L_02989154; else goto L_02989164; L_02989154: ; // 0x2989154 /* 02989154 */ cpu->r[3] = 0x00000010u; /* 02989158 */ Gambit_fn_02801A78(cpu); /* 0298915C */ cpu->r[31] = cpu->r[3]; /* 0298915C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989160 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989160 */ _t7 = _t6 & 0x00000001u; /* 02989160 */ if (_t7) goto L_029891B4; else goto L_02989164; L_02989164: ; // 0x2989164 /* 02989164 */ cpu->r[0] = 0x10150000u; /* 02989168 */ cpu->r[30] = 0x00000000u; /* 0298916C */ cpu->r[0] = cpu->r[0] + 0xFFFFEE8Cu; /* 02989170 */ _t8 = cpu->r[31] + 0x00000000u; /* 02989170 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[30]); /* 02989174 */ cpu->r[3] = cpu->r[31] + 0x00000002u; /* 02989174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989178 */ _t9 = cpu->r[31] + 0x0000000Cu; /* 02989178 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); /* 0298917C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298917C */ _t11 = _t10 & 0x00000001u; /* 0298917C */ if (_t11) goto L_02989180; else goto L_02989190; L_02989180: ; // 0x2989180 /* 02989180 */ cpu->r[3] = 0x00000002u; /* 02989184 */ Gambit_fn_02801A78(cpu); /* 02989188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298918C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298918C */ _t13 = _t12 & 0x00000001u; /* 0298918C */ if (_t13) goto L_02989194; else goto L_02989190; L_02989190: ; // 0x2989190 /* 02989190 */ _t14 = cpu->r[3] + 0x00000000u; /* 02989190 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]); L_02989194: ; // 0x2989194 /* 02989194 */ cpu->r[3] = cpu->r[31] + 0x00000004u; /* 02989194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989198 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989198 */ _t16 = _t15 & 0x00000001u; /* 02989198 */ if (_t16) goto L_0298919C; else goto L_029891AC; L_0298919C: ; // 0x298919c /* 0298919C */ cpu->r[3] = 0x00000008u; /* 029891A0 */ Gambit_fn_02801A78(cpu); /* 029891A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029891A8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 029891A8 */ _t18 = _t17 & 0x00000001u; /* 029891A8 */ if (_t18) goto L_029891B4; else goto L_029891AC; L_029891AC: ; // 0x29891ac /* 029891AC */ _t19 = cpu->r[3] + 0x00000004u; /* 029891AC */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); /* 029891B0 */ _t20 = cpu->r[3] + 0x00000000u; /* 029891B0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); L_029891B4: ; // 0x29891b4 /* 029891B4 */ _t21 = cpu->r[1] + 0x00000014u; /* 029891B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 029891B8 */ cpu->r[3] = cpu->r[31]; /* 029891BC */ _t22 = cpu->r[1] + 0x0000000Cu; /* 029891BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 029891C0 */ cpu->lr = cpu->r[0]; /* 029891C4 */ _t23 = cpu->r[1] + 0x00000008u; /* 029891C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 029891C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029891CC */ return; } // fn_029891D0 @ 0x29891d0 void Gambit_fn_029891D0(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_029891D0: ; // 0x29891d0 /* 029891D0 */ cpu->r[0] = cpu->lr; /* 029891D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029891D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029891D4 */ cpu->r[1] = _t0; /* 029891D8 */ _t1 = cpu->r[1] + 0x00000010u; /* 029891D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 029891DC */ _t2 = cpu->r[1] + 0x00000014u; /* 029891DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 029891E0 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 029891E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 029891E4 */ cpu->r[31] = cpu->r[4]; /* 029891E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029891E8 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 029891E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029891EC */ cpu->r[29] = cpu->r[5]; /* 029891F0 */ cpu->r[30] = cpu->r[3]; /* 029891F4 */ cpu->r[3] = cpu->r[29]; /* 029891F8 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 029891F8 */ _t6 = _t5 & 0x00000001u; /* 029891F8 */ if (_t6) goto L_029891FC; else goto L_02989248; L_029891FC: ; // 0x29891fc /* 029891FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989200 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989200 */ _t8 = _t7 & 0x00000001u; /* 02989200 */ if (_t8) goto L_02989204; else goto L_02989210; L_02989204: ; // 0x2989204 /* 02989204 */ cpu->r[3] = 0x101D0000u; /* 02989208 */ _t9 = cpu->r[3] + 0xFFFF98F0u; /* 02989208 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 0298920C */ Gambit_fn_02826F20(cpu); L_02989210: ; // 0x2989210 /* 02989210 */ _t10 = cpu->r[3] + 0x0000000Cu; /* 02989210 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 02989214 */ _t11 = cpu->r[11] + 0x00000034u; /* 02989214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02989218 */ cpu->ctr = cpu->r[0]; /* 0298921C */ cpu->r[5] = 0x00000004u; /* 02989220 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02989224 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02989228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298922C */ cpu->r[0] = cpu->r[31]; /* 02989230 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u); /* 02989230 */ _t13 = _t12 & 0x00000001u; /* 02989230 */ if (_t13) goto L_02989238; else goto L_02989234; L_02989234: ; // 0x2989234 /* 02989234 */ cpu->r[0] = 0x00000001u; L_02989238: ; // 0x2989238 /* 02989238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298923C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298923C */ _t15 = _t14 & 0x00000001u; /* 0298923C */ if (_t15) goto L_02989248; else goto L_02989240; L_02989240: ; // 0x2989240 /* 02989240 */ _t16 = cpu->r[30] + 0x00000008u; /* 02989240 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]); /* 02989244 */ _t17 = cpu->r[30] + 0x00000004u; /* 02989244 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]); L_02989248: ; // 0x2989248 /* 02989248 */ _t18 = cpu->r[30] + 0x0000000Cu; /* 02989248 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 0298924C */ _t19 = cpu->r[9] + 0x00000014u; /* 0298924C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02989250 */ cpu->ctr = cpu->r[0]; /* 02989254 */ cpu->r[3] = cpu->r[30]; /* 02989258 */ cpu->r[4] = cpu->r[31]; /* 0298925C */ cpu->r[5] = cpu->r[29]; /* 02989260 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02989264 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 02989264 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 02989268 */ _t21 = cpu->r[1] + 0x0000001Cu; /* 02989268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0298926C */ _t22 = cpu->r[1] + 0x00000010u; /* 0298926C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 02989270 */ cpu->lr = cpu->r[0]; /* 02989274 */ _t23 = cpu->r[1] + 0x00000014u; /* 02989274 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 02989278 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298927C */ return; } // fn_029891D4 @ 0x29891d4 void Gambit_fn_029891D4(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_029891D4: ; // 0x29891d4 /* 029891D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029891D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029891D4 */ cpu->r[1] = _t0; /* 029891D8 */ _t1 = cpu->r[1] + 0x00000010u; /* 029891D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 029891DC */ _t2 = cpu->r[1] + 0x00000014u; /* 029891DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 029891E0 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 029891E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 029891E4 */ cpu->r[31] = cpu->r[4]; /* 029891E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029891E8 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 029891E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029891EC */ cpu->r[29] = cpu->r[5]; /* 029891F0 */ cpu->r[30] = cpu->r[3]; /* 029891F4 */ cpu->r[3] = cpu->r[29]; /* 029891F8 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 029891F8 */ _t6 = _t5 & 0x00000001u; /* 029891F8 */ if (_t6) goto L_029891FC; else goto L_02989248; L_029891FC: ; // 0x29891fc /* 029891FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989200 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989200 */ _t8 = _t7 & 0x00000001u; /* 02989200 */ if (_t8) goto L_02989204; else goto L_02989210; L_02989204: ; // 0x2989204 /* 02989204 */ cpu->r[3] = 0x101D0000u; /* 02989208 */ _t9 = cpu->r[3] + 0xFFFF98F0u; /* 02989208 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 0298920C */ Gambit_fn_02826F20(cpu); L_02989210: ; // 0x2989210 /* 02989210 */ _t10 = cpu->r[3] + 0x0000000Cu; /* 02989210 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 02989214 */ _t11 = cpu->r[11] + 0x00000034u; /* 02989214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02989218 */ cpu->ctr = cpu->r[0]; /* 0298921C */ cpu->r[5] = 0x00000004u; /* 02989220 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02989224 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02989228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298922C */ cpu->r[0] = cpu->r[31]; /* 02989230 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u); /* 02989230 */ _t13 = _t12 & 0x00000001u; /* 02989230 */ if (_t13) goto L_02989238; else goto L_02989234; L_02989234: ; // 0x2989234 /* 02989234 */ cpu->r[0] = 0x00000001u; L_02989238: ; // 0x2989238 /* 02989238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298923C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298923C */ _t15 = _t14 & 0x00000001u; /* 0298923C */ if (_t15) goto L_02989248; else goto L_02989240; L_02989240: ; // 0x2989240 /* 02989240 */ _t16 = cpu->r[30] + 0x00000008u; /* 02989240 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]); /* 02989244 */ _t17 = cpu->r[30] + 0x00000004u; /* 02989244 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]); L_02989248: ; // 0x2989248 /* 02989248 */ _t18 = cpu->r[30] + 0x0000000Cu; /* 02989248 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 0298924C */ _t19 = cpu->r[9] + 0x00000014u; /* 0298924C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02989250 */ cpu->ctr = cpu->r[0]; /* 02989254 */ cpu->r[3] = cpu->r[30]; /* 02989258 */ cpu->r[4] = cpu->r[31]; /* 0298925C */ cpu->r[5] = cpu->r[29]; /* 02989260 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02989264 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 02989264 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 02989268 */ _t21 = cpu->r[1] + 0x0000001Cu; /* 02989268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0298926C */ _t22 = cpu->r[1] + 0x00000010u; /* 0298926C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 02989270 */ cpu->lr = cpu->r[0]; /* 02989274 */ _t23 = cpu->r[1] + 0x00000014u; /* 02989274 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 02989278 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298927C */ return; } // fn_02989280 @ 0x2989280 void Gambit_fn_02989280(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_02989280: ; // 0x2989280 /* 02989280 */ _t0 = cpu->r[3] + 0x00000000u; /* 02989280 */ cpu->r[8] = rbrew_read16(cpu->mem, _t0); /* 02989284 */ _t1 = cpu->r[3] + 0x00000004u; /* 02989284 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 02989288 */ cpu->r[0] = cpu->r[8]; /* 0298928C */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02989290 */ _t2 = cpu->r[3] + 0x00000008u; /* 02989290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 02989294 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 02989298 */ _t3 = cpu->r[3] + 0x00000000u; /* 02989298 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[8]); /* 0298929C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298929C */ _t5 = _t4 & 0x00000001u; /* 0298929C */ if (_t5) goto L_029892A0; else goto L_029892A8; L_029892A0: ; // 0x29892a0 /* 029892A0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 029892A4 */ cpu->r[12] = cpu->r[12] + cpu->r[9]; L_029892A8: ; // 0x29892a8 /* 029892A8 */ _t6 = cpu->r[12] + 0x00000000u; /* 029892A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]); /* 029892AC */ _t7 = cpu->r[12] + 0x00000004u; /* 029892AC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[5]); /* 029892B0 */ return; } // fn_029892B4 @ 0x29892b4 void Gambit_fn_029892B4(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_029892B4: ; // 0x29892b4 /* 029892B4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 029892B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029892B4 */ cpu->r[1] = _t0; /* 029892B8 */ /* nop */ /* 029892BC */ cpu->r[0] = cpu->lr; /* 029892C0 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 029892C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029892C4 */ cpu->r[28] = cpu->r[3]; /* 029892C8 */ _t2 = cpu->r[28] + 0x00000004u; /* 029892C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 029892CC */ _t3 = cpu->r[28] + 0x00000000u; /* 029892CC */ cpu->r[6] = rbrew_read16(cpu->mem, _t3); /* 029892D0 */ _t4 = cpu->r[28] + 0x00000008u; /* 029892D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 029892D4 */ cpu->r[26] = cpu->r[4]; /* 029892D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]); /* 029892DC */ cpu->r[27] = cpu->r[5]; /* 029892E0 */ cpu->r[30] = cpu->r[31]; /* 029892E4 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u); /* 029892E4 */ _t6 = _t5 & 0x00000001u; /* 029892E4 */ if (_t6) goto L_02989300; else goto L_029892E8; L_029892E8: ; // 0x29892e8 /* 029892E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 029892EC */ cpu->r[29] = cpu->r[31] + cpu->r[10]; /* 029892F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 029892F4 */ _t7 = cpu->r[1] + 0x00000008u; /* 029892F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]); /* 029892F8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 029892F8 */ _t9 = _t8 & 0x00000001u; /* 029892F8 */ if (_t9) goto L_02989390; else goto L_029892FC; L_029892FC: ; // 0x29892fc /* 029892FC */ goto L_02989314; L_02989300: ; // 0x2989300 /* 02989300 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02989304 */ cpu->r[29] = cpu->r[31] + cpu->r[0]; /* 02989308 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0298930C */ _t10 = cpu->r[1] + 0x00000008u; /* 0298930C */ rbrew_write32(cpu->mem, _t10, cpu->r[29]); /* 02989310 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989310 */ _t12 = _t11 & 0x00000001u; /* 02989310 */ if (_t12) goto L_02989390; else goto L_02989314; L_02989314: ; // 0x2989314 /* 02989314 */ _t13 = cpu->r[28] + 0x0000000Cu; /* 02989314 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 02989318 */ _t14 = cpu->r[12] + 0x00000024u; /* 02989318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298931C */ cpu->r[8] = cpu->r[30] - cpu->r[31]; /* 02989320 */ cpu->ctr = cpu->r[0]; /* 02989324 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x0000001Du, 0x00000003u, 0x0000001Fu); /* 02989328 */ cpu->r[3] = cpu->r[28]; /* 0298932C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02989330 */ cpu->r[8] = cpu->r[3]; /* 02989334 */ _t15 = cpu->r[8] + 0x00000000u; /* 02989334 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15); /* 02989338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0xFFFFFFFFu); /* 0298933C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298933C */ _t17 = _t16 & 0x00000001u; /* 0298933C */ if (_t17) goto L_02989384; else goto L_02989340; L_02989340: ; // 0x2989340 /* 02989340 */ _t18 = cpu->r[8] + 0x00000002u; /* 02989340 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t18); /* 02989344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0xFFFFFFFFu); /* 02989348 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989348 */ _t20 = _t19 & 0x00000001u; /* 02989348 */ if (_t20) goto L_02989384; else goto L_0298934C; L_0298934C: ; // 0x298934c /* 0298934C */ _t21 = cpu->r[30] + 0x00000004u; /* 0298934C */ cpu->r[11] = rbrew_read8(cpu->mem, _t21); /* 02989350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02989354 */ cpu->r[3] = cpu->r[27]; /* 02989358 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989358 */ _t23 = _t22 & 0x00000001u; /* 02989358 */ if (_t23) goto L_02989378; else goto L_0298935C; L_0298935C: ; // 0x298935c /* 0298935C */ _t24 = cpu->r[30] + 0x00000000u; /* 0298935C */ cpu->r[6] = rbrew_read32(cpu->mem, _t24); /* 02989360 */ cpu->r[4] = cpu->r[26]; /* 02989364 */ Gambit_fn_02C54A3C(cpu); /* 02989368 */ cpu->r[30] = cpu->r[30] + 0x00000008u; /* 0298936C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 02989370 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989370 */ _t26 = _t25 & 0x00000001u; /* 02989370 */ if (_t26) goto L_02989374; else goto L_02989314; L_02989374: ; // 0x2989374 /* 02989374 */ goto L_02989390; L_02989378: ; // 0x2989378 /* 02989378 */ cpu->r[4] = cpu->r[5]; /* 0298937C */ _t27 = cpu->r[30] + 0x00000000u; /* 0298937C */ cpu->r[5] = rbrew_read32(cpu->mem, _t27); /* 02989380 */ Gambit_fn_02C4F1E0(cpu); L_02989384: ; // 0x2989384 /* 02989384 */ cpu->r[30] = cpu->r[30] + 0x00000008u; /* 02989388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]); /* 0298938C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298938C */ _t29 = _t28 & 0x00000001u; /* 0298938C */ if (_t29) goto L_02989390; else goto L_02989314; L_02989390: ; // 0x2989390 /* 02989390 */ /* nop */ /* 02989394 */ _t30 = cpu->r[1] + 0x0000002Cu; /* 02989394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 02989398 */ cpu->lr = cpu->r[0]; /* 0298939C */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 029893A0 */ return; } // fn_029893A4 @ 0x29893a4 void Gambit_fn_029893A4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_029893A4: ; // 0x29893a4 /* 029893A4 */ cpu->r[0] = cpu->lr; /* 029893A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029893A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029893A8 */ cpu->r[1] = _t0; /* 029893AC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029893AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029893B0 */ cpu->r[31] = cpu->r[3]; /* 029893B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029893B4 */ _t2 = cpu->r[1] + 0x00000014u; /* 029893B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 029893B8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 029893B8 */ _t4 = _t3 & 0x00000001u; /* 029893B8 */ if (_t4) goto L_029893BC; else goto L_029893CC; L_029893BC: ; // 0x29893bc /* 029893BC */ cpu->r[3] = 0x00000018u; /* 029893C0 */ Gambit_fn_02801A78(cpu); /* 029893C4 */ cpu->r[31] = cpu->r[3]; /* 029893C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029893C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 029893C8 */ _t6 = _t5 & 0x00000001u; /* 029893C8 */ if (_t6) goto L_02989404; else goto L_029893CC; L_029893CC: ; // 0x29893cc /* 029893CC */ cpu->r[3] = cpu->r[31]; /* 029893D0 */ Gambit_fn_02989138(cpu); /* 029893D4 */ cpu->r[12] = 0x10150000u; /* 029893D8 */ cpu->r[12] = cpu->r[12] + 0xFFFFEEB4u; /* 029893DC */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 029893DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029893E0 */ _t7 = cpu->r[31] + 0x0000000Cu; /* 029893E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 029893E4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 029893E4 */ _t9 = _t8 & 0x00000001u; /* 029893E4 */ if (_t9) goto L_029893E8; else goto L_029893F8; L_029893E8: ; // 0x29893e8 /* 029893E8 */ cpu->r[3] = 0x00000008u; /* 029893EC */ Gambit_fn_02801A78(cpu); /* 029893F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029893F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029893F4 */ _t11 = _t10 & 0x00000001u; /* 029893F4 */ if (_t11) goto L_02989404; else goto L_029893F8; L_029893F8: ; // 0x29893f8 /* 029893F8 */ cpu->r[0] = 0x00000000u; /* 029893FC */ _t12 = cpu->r[3] + 0x00000004u; /* 029893FC */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 02989400 */ _t13 = cpu->r[3] + 0x00000000u; /* 02989400 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); L_02989404: ; // 0x2989404 /* 02989404 */ _t14 = cpu->r[1] + 0x00000014u; /* 02989404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02989408 */ cpu->r[3] = cpu->r[31]; /* 0298940C */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298940C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02989410 */ cpu->lr = cpu->r[0]; /* 02989414 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02989418 */ return; } // fn_029893A8 @ 0x29893a8 void Gambit_fn_029893A8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_029893A8: ; // 0x29893a8 /* 029893A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029893A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029893A8 */ cpu->r[1] = _t0; /* 029893AC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029893AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029893B0 */ cpu->r[31] = cpu->r[3]; /* 029893B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029893B4 */ _t2 = cpu->r[1] + 0x00000014u; /* 029893B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 029893B8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 029893B8 */ _t4 = _t3 & 0x00000001u; /* 029893B8 */ if (_t4) goto L_029893BC; else goto L_029893CC; L_029893BC: ; // 0x29893bc /* 029893BC */ cpu->r[3] = 0x00000018u; /* 029893C0 */ Gambit_fn_02801A78(cpu); /* 029893C4 */ cpu->r[31] = cpu->r[3]; /* 029893C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029893C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 029893C8 */ _t6 = _t5 & 0x00000001u; /* 029893C8 */ if (_t6) goto L_02989404; else goto L_029893CC; L_029893CC: ; // 0x29893cc /* 029893CC */ cpu->r[3] = cpu->r[31]; /* 029893D0 */ Gambit_fn_02989138(cpu); /* 029893D4 */ cpu->r[12] = 0x10150000u; /* 029893D8 */ cpu->r[12] = cpu->r[12] + 0xFFFFEEB4u; /* 029893DC */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 029893DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029893E0 */ _t7 = cpu->r[31] + 0x0000000Cu; /* 029893E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 029893E4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 029893E4 */ _t9 = _t8 & 0x00000001u; /* 029893E4 */ if (_t9) goto L_029893E8; else goto L_029893F8; L_029893E8: ; // 0x29893e8 /* 029893E8 */ cpu->r[3] = 0x00000008u; /* 029893EC */ Gambit_fn_02801A78(cpu); /* 029893F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029893F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029893F4 */ _t11 = _t10 & 0x00000001u; /* 029893F4 */ if (_t11) goto L_02989404; else goto L_029893F8; L_029893F8: ; // 0x29893f8 /* 029893F8 */ cpu->r[0] = 0x00000000u; /* 029893FC */ _t12 = cpu->r[3] + 0x00000004u; /* 029893FC */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 02989400 */ _t13 = cpu->r[3] + 0x00000000u; /* 02989400 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); L_02989404: ; // 0x2989404 /* 02989404 */ _t14 = cpu->r[1] + 0x00000014u; /* 02989404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02989408 */ cpu->r[3] = cpu->r[31]; /* 0298940C */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298940C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 02989410 */ cpu->lr = cpu->r[0]; /* 02989414 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02989418 */ return; } // fn_0298941C @ 0x298941c void Gambit_fn_0298941C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0298941C: ; // 0x298941c /* 0298941C */ cpu->r[0] = cpu->lr; /* 02989420 */ _t0 = cpu->r[1] + 0x00000004u; /* 02989420 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02989424 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02989424 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02989424 */ cpu->r[1] = _t1; /* 02989428 */ _t2 = cpu->r[3] + 0x00000010u; /* 02989428 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0298942C */ _t3 = cpu->r[3] + 0x00000000u; /* 0298942C */ cpu->r[0] = rbrew_read16(cpu->mem, _t3); /* 02989430 */ cpu->r[11] = cpu->r[4]; /* 02989434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02989438 */ _t4 = cpu->r[3] + 0x00000014u; /* 02989438 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298943C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298943C */ _t6 = _t5 & 0x00000001u; /* 0298943C */ if (_t6) goto L_02989440; else goto L_02989448; L_02989440: ; // 0x2989440 /* 02989440 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989444 */ cpu->r[12] = cpu->r[12] + cpu->r[9]; L_02989448: ; // 0x2989448 /* 02989448 */ _t7 = cpu->r[11] + 0x00000000u; /* 02989448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298944C */ cpu->r[4] = cpu->r[5]; /* 02989450 */ cpu->r[5] = 0x00000001u; /* 02989454 */ _t8 = cpu->r[12] + 0x00000000u; /* 02989454 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 02989458 */ Gambit_fn_02989280(cpu); /* 0298945C */ _t9 = cpu->r[11] + 0x00000000u; /* 0298945C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 02989460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 02989464 */ cpu->r[8] = 0x00000000u; /* 02989468 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989468 */ _t11 = _t10 & 0x00000001u; /* 02989468 */ if (_t11) goto L_0298947C; else goto L_0298946C; L_0298946C: ; // 0x298946c /* 0298946C */ _t12 = cpu->r[11] + 0x00000002u; /* 0298946C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12); /* 02989470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0xFFFFFFFFu); /* 02989474 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989474 */ _t14 = _t13 & 0x00000001u; /* 02989474 */ if (_t14) goto L_0298947C; else goto L_02989478; L_02989478: ; // 0x2989478 /* 02989478 */ cpu->r[8] = 0x00000001u; L_0298947C: ; // 0x298947c /* 0298947C */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298947C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02989480 */ cpu->lr = cpu->r[0]; /* 02989484 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02989488 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298948C */ return; } // fn_02989424 @ 0x2989424 void Gambit_fn_02989424(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_02989424: ; // 0x2989424 /* 02989424 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02989424 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02989424 */ cpu->r[1] = _t0; /* 02989428 */ _t1 = cpu->r[3] + 0x00000010u; /* 02989428 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0298942C */ _t2 = cpu->r[3] + 0x00000000u; /* 0298942C */ cpu->r[0] = rbrew_read16(cpu->mem, _t2); /* 02989430 */ cpu->r[11] = cpu->r[4]; /* 02989434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02989438 */ _t3 = cpu->r[3] + 0x00000014u; /* 02989438 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0298943C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298943C */ _t5 = _t4 & 0x00000001u; /* 0298943C */ if (_t5) goto L_02989440; else goto L_02989448; L_02989440: ; // 0x2989440 /* 02989440 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989444 */ cpu->r[12] = cpu->r[12] + cpu->r[9]; L_02989448: ; // 0x2989448 /* 02989448 */ _t6 = cpu->r[11] + 0x00000000u; /* 02989448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298944C */ cpu->r[4] = cpu->r[5]; /* 02989450 */ cpu->r[5] = 0x00000001u; /* 02989454 */ _t7 = cpu->r[12] + 0x00000000u; /* 02989454 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 02989458 */ Gambit_fn_02989280(cpu); /* 0298945C */ _t8 = cpu->r[11] + 0x00000000u; /* 0298945C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8); /* 02989460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 02989464 */ cpu->r[8] = 0x00000000u; /* 02989468 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989468 */ _t10 = _t9 & 0x00000001u; /* 02989468 */ if (_t10) goto L_0298947C; else goto L_0298946C; L_0298946C: ; // 0x298946c /* 0298946C */ _t11 = cpu->r[11] + 0x00000002u; /* 0298946C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11); /* 02989470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0xFFFFFFFFu); /* 02989474 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989474 */ _t13 = _t12 & 0x00000001u; /* 02989474 */ if (_t13) goto L_0298947C; else goto L_02989478; L_02989478: ; // 0x2989478 /* 02989478 */ cpu->r[8] = 0x00000001u; L_0298947C: ; // 0x298947c /* 0298947C */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0298947C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02989480 */ cpu->lr = cpu->r[0]; /* 02989484 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02989488 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298948C */ return; } // fn_02989490 @ 0x2989490 void Gambit_fn_02989490(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_02989490: ; // 0x2989490 /* 02989490 */ cpu->r[0] = cpu->lr; /* 02989494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02989494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02989494 */ cpu->r[1] = _t0; /* 02989498 */ _t1 = cpu->r[1] + 0x00000010u; /* 02989498 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298949C */ _t2 = cpu->r[1] + 0x00000014u; /* 0298949C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 029894A0 */ cpu->r[31] = cpu->r[3]; /* 029894A4 */ cpu->r[3] = cpu->r[4]; /* 029894A8 */ cpu->r[4] = cpu->r[5]; /* 029894AC */ cpu->r[30] = cpu->r[6]; /* 029894B0 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 029894B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 029894B4 */ Gambit_fn_029807A8(cpu); /* 029894B8 */ cpu->r[5] = cpu->r[30]; /* 029894BC */ _t4 = cpu->r[1] + 0x0000000Cu; /* 029894BC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]); /* 029894C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 029894C4 */ _t5 = cpu->r[1] + 0x00000008u; /* 029894C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]); /* 029894C8 */ cpu->r[3] = cpu->r[31]; /* 029894CC */ Gambit_fn_0298941C(cpu); /* 029894D0 */ _t6 = cpu->r[1] + 0x00000008u; /* 029894D0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 029894D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 029894D8 */ cpu->r[11] = 0x00000000u; /* 029894DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029894DC */ _t8 = _t7 & 0x00000001u; /* 029894DC */ if (_t8) goto L_029894F0; else goto L_029894E0; L_029894E0: ; // 0x29894e0 /* 029894E0 */ _t9 = cpu->r[1] + 0x0000000Au; /* 029894E0 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 029894E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu); /* 029894E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029894E8 */ _t11 = _t10 & 0x00000001u; /* 029894E8 */ if (_t11) goto L_029894F0; else goto L_029894EC; L_029894EC: ; // 0x29894ec /* 029894EC */ cpu->r[11] = 0x00000001u; L_029894F0: ; // 0x29894f0 /* 029894F0 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 029894F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 029894F4 */ _t13 = cpu->r[1] + 0x00000010u; /* 029894F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 029894F8 */ cpu->lr = cpu->r[0]; /* 029894FC */ _t14 = cpu->r[1] + 0x00000014u; /* 029894FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 02989500 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02989504 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02989508 */ return; } // fn_02989494 @ 0x2989494 void Gambit_fn_02989494(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_02989494: ; // 0x2989494 /* 02989494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02989494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02989494 */ cpu->r[1] = _t0; /* 02989498 */ _t1 = cpu->r[1] + 0x00000010u; /* 02989498 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298949C */ _t2 = cpu->r[1] + 0x00000014u; /* 0298949C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 029894A0 */ cpu->r[31] = cpu->r[3]; /* 029894A4 */ cpu->r[3] = cpu->r[4]; /* 029894A8 */ cpu->r[4] = cpu->r[5]; /* 029894AC */ cpu->r[30] = cpu->r[6]; /* 029894B0 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 029894B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 029894B4 */ Gambit_fn_029807A8(cpu); /* 029894B8 */ cpu->r[5] = cpu->r[30]; /* 029894BC */ _t4 = cpu->r[1] + 0x0000000Cu; /* 029894BC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]); /* 029894C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 029894C4 */ _t5 = cpu->r[1] + 0x00000008u; /* 029894C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]); /* 029894C8 */ cpu->r[3] = cpu->r[31]; /* 029894CC */ Gambit_fn_0298941C(cpu); /* 029894D0 */ _t6 = cpu->r[1] + 0x00000008u; /* 029894D0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6); /* 029894D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu); /* 029894D8 */ cpu->r[11] = 0x00000000u; /* 029894DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029894DC */ _t8 = _t7 & 0x00000001u; /* 029894DC */ if (_t8) goto L_029894F0; else goto L_029894E0; L_029894E0: ; // 0x29894e0 /* 029894E0 */ _t9 = cpu->r[1] + 0x0000000Au; /* 029894E0 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9); /* 029894E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu); /* 029894E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029894E8 */ _t11 = _t10 & 0x00000001u; /* 029894E8 */ if (_t11) goto L_029894F0; else goto L_029894EC; L_029894EC: ; // 0x29894ec /* 029894EC */ cpu->r[11] = 0x00000001u; L_029894F0: ; // 0x29894f0 /* 029894F0 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 029894F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 029894F4 */ _t13 = cpu->r[1] + 0x00000010u; /* 029894F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 029894F8 */ cpu->lr = cpu->r[0]; /* 029894FC */ _t14 = cpu->r[1] + 0x00000014u; /* 029894FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 02989500 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02989504 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 02989508 */ return; } // fn_0298950C @ 0x298950c void Gambit_fn_0298950C(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_0298950C: ; // 0x298950c /* 0298950C */ cpu->r[0] = cpu->lr; /* 02989510 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02989510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02989510 */ cpu->r[1] = _t0; /* 02989514 */ _t1 = cpu->r[1] + 0x00000008u; /* 02989514 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02989518 */ cpu->r[30] = cpu->r[3]; /* 0298951C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298951C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02989520 */ cpu->r[31] = cpu->r[4]; /* 02989520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989524 */ cpu->r[3] = cpu->r[5]; /* 02989528 */ _t3 = cpu->r[1] + 0x00000014u; /* 02989528 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298952C */ _t4 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298952C */ _t5 = _t4 & 0x00000001u; /* 0298952C */ if (_t5) goto L_02989530; else goto L_029895A4; L_02989530: ; // 0x2989530 /* 02989530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989534 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989534 */ _t7 = _t6 & 0x00000001u; /* 02989534 */ if (_t7) goto L_02989538; else goto L_02989544; L_02989538: ; // 0x2989538 /* 02989538 */ cpu->r[3] = 0x101D0000u; /* 0298953C */ _t8 = cpu->r[3] + 0xFFFF98F0u; /* 0298953C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 02989540 */ Gambit_fn_02826F20(cpu); L_02989544: ; // 0x2989544 /* 02989544 */ _t9 = cpu->r[3] + 0x0000000Cu; /* 02989544 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9); /* 02989548 */ _t10 = cpu->r[7] + 0x00000034u; /* 02989548 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10); /* 0298954C */ cpu->ctr = cpu->r[8]; /* 02989550 */ cpu->r[5] = 0x00000004u; /* 02989554 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989558 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298955C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989560 */ cpu->r[10] = cpu->r[31]; /* 02989564 */ cpu->r[0] = 0x00000000u; /* 02989568 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u); /* 02989568 */ _t12 = _t11 & 0x00000001u; /* 02989568 */ if (_t12) goto L_02989570; else goto L_0298956C; L_0298956C: ; // 0x298956c /* 0298956C */ cpu->r[10] = 0x00000001u; L_02989570: ; // 0x2989570 /* 02989570 */ cpu->ctr = cpu->r[10]; /* 02989574 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989578 */ cpu->r[12] = 0xFFFFFFFFu; L_0298957C: ; // 0x298957c /* 0298957C */ cpu->r[9] = cpu->r[3] + cpu->r[11]; /* 0298957C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02989580 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989580 */ _t14 = _t13 & 0x00000001u; /* 02989580 */ if (_t14) goto L_0298958C; else goto L_02989584; L_02989584: ; // 0x2989584 /* 02989584 */ _t15 = cpu->r[9] + 0x00000000u; /* 02989584 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[12]); /* 02989588 */ _t16 = cpu->r[9] + 0x00000002u; /* 02989588 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[12]); L_0298958C: ; // 0x298958c /* 0298958C */ cpu->r[11] = cpu->r[11] + 0x00000004u; /* 02989590 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02989590 */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02989590 */ _t18 = _t17 >> (0x00000002u & 31u); /* 02989590 */ _t19 = _t18 & 0x00000001u; /* 02989590 */ if (_t19) goto L_0298957C; else goto L_02989594; L_02989594: ; // 0x2989594 /* 02989594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989598 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989598 */ _t21 = _t20 & 0x00000001u; /* 02989598 */ if (_t21) goto L_029895A4; else goto L_0298959C; L_0298959C: ; // 0x298959c /* 0298959C */ _t22 = cpu->r[30] + 0x00000014u; /* 0298959C */ rbrew_write32(cpu->mem, _t22, cpu->r[3]); /* 029895A0 */ _t23 = cpu->r[30] + 0x00000010u; /* 029895A0 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]); L_029895A4: ; // 0x29895a4 /* 029895A4 */ _t24 = cpu->r[1] + 0x00000014u; /* 029895A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 029895A8 */ _t25 = cpu->r[1] + 0x00000008u; /* 029895A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 029895AC */ cpu->lr = cpu->r[0]; /* 029895B0 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 029895B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 029895B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029895B8 */ return; } // fn_02989510 @ 0x2989510 void Gambit_fn_02989510(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_02989510: ; // 0x2989510 /* 02989510 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 02989510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02989510 */ cpu->r[1] = _t0; /* 02989514 */ _t1 = cpu->r[1] + 0x00000008u; /* 02989514 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02989518 */ cpu->r[30] = cpu->r[3]; /* 0298951C */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298951C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02989520 */ cpu->r[31] = cpu->r[4]; /* 02989520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989524 */ cpu->r[3] = cpu->r[5]; /* 02989528 */ _t3 = cpu->r[1] + 0x00000014u; /* 02989528 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298952C */ _t4 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298952C */ _t5 = _t4 & 0x00000001u; /* 0298952C */ if (_t5) goto L_02989530; else goto L_029895A4; L_02989530: ; // 0x2989530 /* 02989530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989534 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989534 */ _t7 = _t6 & 0x00000001u; /* 02989534 */ if (_t7) goto L_02989538; else goto L_02989544; L_02989538: ; // 0x2989538 /* 02989538 */ cpu->r[3] = 0x101D0000u; /* 0298953C */ _t8 = cpu->r[3] + 0xFFFF98F0u; /* 0298953C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8); /* 02989540 */ Gambit_fn_02826F20(cpu); L_02989544: ; // 0x2989544 /* 02989544 */ _t9 = cpu->r[3] + 0x0000000Cu; /* 02989544 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9); /* 02989548 */ _t10 = cpu->r[7] + 0x00000034u; /* 02989548 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10); /* 0298954C */ cpu->ctr = cpu->r[8]; /* 02989550 */ cpu->r[5] = 0x00000004u; /* 02989554 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989558 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298955C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989560 */ cpu->r[10] = cpu->r[31]; /* 02989564 */ cpu->r[0] = 0x00000000u; /* 02989568 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u); /* 02989568 */ _t12 = _t11 & 0x00000001u; /* 02989568 */ if (_t12) goto L_02989570; else goto L_0298956C; L_0298956C: ; // 0x298956c /* 0298956C */ cpu->r[10] = 0x00000001u; L_02989570: ; // 0x2989570 /* 02989570 */ cpu->ctr = cpu->r[10]; /* 02989574 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989578 */ cpu->r[12] = 0xFFFFFFFFu; L_0298957C: ; // 0x298957c /* 0298957C */ cpu->r[9] = cpu->r[3] + cpu->r[11]; /* 0298957C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02989580 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989580 */ _t14 = _t13 & 0x00000001u; /* 02989580 */ if (_t14) goto L_0298958C; else goto L_02989584; L_02989584: ; // 0x2989584 /* 02989584 */ _t15 = cpu->r[9] + 0x00000000u; /* 02989584 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[12]); /* 02989588 */ _t16 = cpu->r[9] + 0x00000002u; /* 02989588 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[12]); L_0298958C: ; // 0x298958c /* 0298958C */ cpu->r[11] = cpu->r[11] + 0x00000004u; /* 02989590 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02989590 */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02989590 */ _t18 = _t17 >> (0x00000002u & 31u); /* 02989590 */ _t19 = _t18 & 0x00000001u; /* 02989590 */ if (_t19) goto L_0298957C; else goto L_02989594; L_02989594: ; // 0x2989594 /* 02989594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989598 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989598 */ _t21 = _t20 & 0x00000001u; /* 02989598 */ if (_t21) goto L_029895A4; else goto L_0298959C; L_0298959C: ; // 0x298959c /* 0298959C */ _t22 = cpu->r[30] + 0x00000014u; /* 0298959C */ rbrew_write32(cpu->mem, _t22, cpu->r[3]); /* 029895A0 */ _t23 = cpu->r[30] + 0x00000010u; /* 029895A0 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]); L_029895A4: ; // 0x29895a4 /* 029895A4 */ _t24 = cpu->r[1] + 0x00000014u; /* 029895A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 029895A8 */ _t25 = cpu->r[1] + 0x00000008u; /* 029895A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 029895AC */ cpu->lr = cpu->r[0]; /* 029895B0 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 029895B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 029895B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029895B8 */ return; } // fn_029895BC @ 0x29895bc void Gambit_fn_029895BC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_029895BC: ; // 0x29895bc /* 029895BC */ _t0 = cpu->r[3] + 0x00000010u; /* 029895BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 029895C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 029895C4 */ _t1 = cpu->r[3] + 0x00000014u; /* 029895C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1); /* 029895C8 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 029895C8 */ _t3 = _t2 & 0x00000001u; /* 029895C8 */ if (_t3) goto L_029895CC; else goto L_029895D4; L_029895CC: ; // 0x29895cc /* 029895CC */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029895D0 */ cpu->r[3] = cpu->r[3] + cpu->r[12]; L_029895D4: ; // 0x29895d4 /* 029895D4 */ return; } // fn_029895D8 @ 0x29895d8 void Gambit_fn_029895D8(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_029895D8: ; // 0x29895d8 /* 029895D8 */ cpu->r[0] = cpu->lr; /* 029895DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029895DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029895DC */ cpu->r[1] = _t0; /* 029895E0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029895E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029895E4 */ _t2 = cpu->r[1] + 0x00000008u; /* 029895E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029895E8 */ cpu->r[31] = cpu->r[3]; /* 029895E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029895EC */ _t3 = cpu->r[1] + 0x00000014u; /* 029895EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 029895F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 029895F0 */ _t5 = _t4 & 0x00000001u; /* 029895F0 */ if (_t5) goto L_029895F4; else goto L_02989604; L_029895F4: ; // 0x29895f4 /* 029895F4 */ cpu->r[3] = 0x00000028u; /* 029895F8 */ Gambit_fn_02801A78(cpu); /* 029895FC */ cpu->r[31] = cpu->r[3]; /* 029895FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989600 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989600 */ _t7 = _t6 & 0x00000001u; /* 02989600 */ if (_t7) goto L_029896B8; else goto L_02989604; L_02989604: ; // 0x2989604 /* 02989604 */ cpu->r[0] = 0x10150000u; /* 02989608 */ cpu->r[3] = cpu->r[31] + 0x00000008u; /* 02989608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298960C */ cpu->r[0] = cpu->r[0] + 0xFFFFEFA8u; /* 02989610 */ cpu->r[30] = 0x00000000u; /* 02989614 */ _t8 = cpu->r[31] + 0x00000000u; /* 02989614 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 02989618 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989618 */ _t10 = _t9 & 0x00000001u; /* 02989618 */ if (_t10) goto L_0298961C; else goto L_0298962C; L_0298961C: ; // 0x298961c /* 0298961C */ cpu->r[3] = 0x0000000Cu; /* 02989620 */ Gambit_fn_02801A78(cpu); /* 02989624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989628 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989628 */ _t12 = _t11 & 0x00000001u; /* 02989628 */ if (_t12) goto L_02989650; else goto L_0298962C; L_0298962C: ; // 0x298962c /* 0298962C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989630 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989630 */ _t14 = _t13 & 0x00000001u; /* 02989630 */ if (_t14) goto L_02989634; else goto L_02989644; L_02989634: ; // 0x2989634 /* 02989634 */ cpu->r[3] = 0x0000000Cu; /* 02989638 */ Gambit_fn_02801A78(cpu); /* 0298963C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989640 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989640 */ _t16 = _t15 & 0x00000001u; /* 02989640 */ if (_t16) goto L_02989650; else goto L_02989644; L_02989644: ; // 0x2989644 /* 02989644 */ _t17 = cpu->r[3] + 0x00000004u; /* 02989644 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]); /* 02989648 */ _t18 = cpu->r[3] + 0x00000000u; /* 02989648 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]); /* 0298964C */ _t19 = cpu->r[3] + 0x00000008u; /* 0298964C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); L_02989650: ; // 0x2989650 /* 02989650 */ cpu->r[3] = cpu->r[31] + 0x00000014u; /* 02989650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989654 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989654 */ _t21 = _t20 & 0x00000001u; /* 02989654 */ if (_t21) goto L_02989658; else goto L_02989668; L_02989658: ; // 0x2989658 /* 02989658 */ cpu->r[3] = 0x0000000Cu; /* 0298965C */ Gambit_fn_02801A78(cpu); /* 02989660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989664 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989664 */ _t23 = _t22 & 0x00000001u; /* 02989664 */ if (_t23) goto L_0298968C; else goto L_02989668; L_02989668: ; // 0x2989668 /* 02989668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298966C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298966C */ _t25 = _t24 & 0x00000001u; /* 0298966C */ if (_t25) goto L_02989670; else goto L_02989680; L_02989670: ; // 0x2989670 /* 02989670 */ cpu->r[3] = 0x0000000Cu; /* 02989674 */ Gambit_fn_02801A78(cpu); /* 02989678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298967C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298967C */ _t27 = _t26 & 0x00000001u; /* 0298967C */ if (_t27) goto L_0298968C; else goto L_02989680; L_02989680: ; // 0x2989680 /* 02989680 */ _t28 = cpu->r[3] + 0x00000004u; /* 02989680 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]); /* 02989684 */ _t29 = cpu->r[3] + 0x00000000u; /* 02989684 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]); /* 02989688 */ _t30 = cpu->r[3] + 0x00000008u; /* 02989688 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]); L_0298968C: ; // 0x298968c /* 0298968C */ cpu->r[12] = 0x10150000u; /* 02989690 */ _t31 = cpu->r[12] + 0xFFFFEF74u; /* 02989690 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31); /* 02989694 */ cpu->r[3] = cpu->r[31] + 0x00000024u; /* 02989694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989698 */ _t32 = cpu->r[31] + 0x00000020u; /* 02989698 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]); /* 0298969C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298969C */ _t34 = _t33 & 0x00000001u; /* 0298969C */ if (_t34) goto L_029896A0; else goto L_029896B0; L_029896A0: ; // 0x29896a0 /* 029896A0 */ cpu->r[3] = 0x00000001u; /* 029896A4 */ Gambit_fn_02801A78(cpu); /* 029896A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029896AC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 029896AC */ _t36 = _t35 & 0x00000001u; /* 029896AC */ if (_t36) goto L_029896B8; else goto L_029896B0; L_029896B0: ; // 0x29896b0 /* 029896B0 */ cpu->r[0] = 0x00000008u; /* 029896B4 */ _t37 = cpu->r[3] + 0x00000000u; /* 029896B4 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[0]); L_029896B8: ; // 0x29896b8 /* 029896B8 */ _t38 = cpu->r[1] + 0x00000014u; /* 029896B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 029896BC */ cpu->r[3] = cpu->r[31]; /* 029896C0 */ _t39 = cpu->r[1] + 0x0000000Cu; /* 029896C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39); /* 029896C4 */ cpu->lr = cpu->r[0]; /* 029896C8 */ _t40 = cpu->r[1] + 0x00000008u; /* 029896C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40); /* 029896CC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029896D0 */ return; } // fn_029895DC @ 0x29895dc void Gambit_fn_029895DC(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_029895DC: ; // 0x29895dc /* 029895DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029895DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029895DC */ cpu->r[1] = _t0; /* 029895E0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029895E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029895E4 */ _t2 = cpu->r[1] + 0x00000008u; /* 029895E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029895E8 */ cpu->r[31] = cpu->r[3]; /* 029895E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029895EC */ _t3 = cpu->r[1] + 0x00000014u; /* 029895EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 029895F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 029895F0 */ _t5 = _t4 & 0x00000001u; /* 029895F0 */ if (_t5) goto L_029895F4; else goto L_02989604; L_029895F4: ; // 0x29895f4 /* 029895F4 */ cpu->r[3] = 0x00000028u; /* 029895F8 */ Gambit_fn_02801A78(cpu); /* 029895FC */ cpu->r[31] = cpu->r[3]; /* 029895FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989600 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989600 */ _t7 = _t6 & 0x00000001u; /* 02989600 */ if (_t7) goto L_029896B8; else goto L_02989604; L_02989604: ; // 0x2989604 /* 02989604 */ cpu->r[0] = 0x10150000u; /* 02989608 */ cpu->r[3] = cpu->r[31] + 0x00000008u; /* 02989608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298960C */ cpu->r[0] = cpu->r[0] + 0xFFFFEFA8u; /* 02989610 */ cpu->r[30] = 0x00000000u; /* 02989614 */ _t8 = cpu->r[31] + 0x00000000u; /* 02989614 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 02989618 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989618 */ _t10 = _t9 & 0x00000001u; /* 02989618 */ if (_t10) goto L_0298961C; else goto L_0298962C; L_0298961C: ; // 0x298961c /* 0298961C */ cpu->r[3] = 0x0000000Cu; /* 02989620 */ Gambit_fn_02801A78(cpu); /* 02989624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989628 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989628 */ _t12 = _t11 & 0x00000001u; /* 02989628 */ if (_t12) goto L_02989650; else goto L_0298962C; L_0298962C: ; // 0x298962c /* 0298962C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989630 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989630 */ _t14 = _t13 & 0x00000001u; /* 02989630 */ if (_t14) goto L_02989634; else goto L_02989644; L_02989634: ; // 0x2989634 /* 02989634 */ cpu->r[3] = 0x0000000Cu; /* 02989638 */ Gambit_fn_02801A78(cpu); /* 0298963C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989640 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989640 */ _t16 = _t15 & 0x00000001u; /* 02989640 */ if (_t16) goto L_02989650; else goto L_02989644; L_02989644: ; // 0x2989644 /* 02989644 */ _t17 = cpu->r[3] + 0x00000004u; /* 02989644 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]); /* 02989648 */ _t18 = cpu->r[3] + 0x00000000u; /* 02989648 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]); /* 0298964C */ _t19 = cpu->r[3] + 0x00000008u; /* 0298964C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); L_02989650: ; // 0x2989650 /* 02989650 */ cpu->r[3] = cpu->r[31] + 0x00000014u; /* 02989650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989654 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989654 */ _t21 = _t20 & 0x00000001u; /* 02989654 */ if (_t21) goto L_02989658; else goto L_02989668; L_02989658: ; // 0x2989658 /* 02989658 */ cpu->r[3] = 0x0000000Cu; /* 0298965C */ Gambit_fn_02801A78(cpu); /* 02989660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989664 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989664 */ _t23 = _t22 & 0x00000001u; /* 02989664 */ if (_t23) goto L_0298968C; else goto L_02989668; L_02989668: ; // 0x2989668 /* 02989668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298966C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298966C */ _t25 = _t24 & 0x00000001u; /* 0298966C */ if (_t25) goto L_02989670; else goto L_02989680; L_02989670: ; // 0x2989670 /* 02989670 */ cpu->r[3] = 0x0000000Cu; /* 02989674 */ Gambit_fn_02801A78(cpu); /* 02989678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298967C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298967C */ _t27 = _t26 & 0x00000001u; /* 0298967C */ if (_t27) goto L_0298968C; else goto L_02989680; L_02989680: ; // 0x2989680 /* 02989680 */ _t28 = cpu->r[3] + 0x00000004u; /* 02989680 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]); /* 02989684 */ _t29 = cpu->r[3] + 0x00000000u; /* 02989684 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]); /* 02989688 */ _t30 = cpu->r[3] + 0x00000008u; /* 02989688 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]); L_0298968C: ; // 0x298968c /* 0298968C */ cpu->r[12] = 0x10150000u; /* 02989690 */ _t31 = cpu->r[12] + 0xFFFFEF74u; /* 02989690 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31); /* 02989694 */ cpu->r[3] = cpu->r[31] + 0x00000024u; /* 02989694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989698 */ _t32 = cpu->r[31] + 0x00000020u; /* 02989698 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]); /* 0298969C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298969C */ _t34 = _t33 & 0x00000001u; /* 0298969C */ if (_t34) goto L_029896A0; else goto L_029896B0; L_029896A0: ; // 0x29896a0 /* 029896A0 */ cpu->r[3] = 0x00000001u; /* 029896A4 */ Gambit_fn_02801A78(cpu); /* 029896A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029896AC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 029896AC */ _t36 = _t35 & 0x00000001u; /* 029896AC */ if (_t36) goto L_029896B8; else goto L_029896B0; L_029896B0: ; // 0x29896b0 /* 029896B0 */ cpu->r[0] = 0x00000008u; /* 029896B4 */ _t37 = cpu->r[3] + 0x00000000u; /* 029896B4 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[0]); L_029896B8: ; // 0x29896b8 /* 029896B8 */ _t38 = cpu->r[1] + 0x00000014u; /* 029896B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 029896BC */ cpu->r[3] = cpu->r[31]; /* 029896C0 */ _t39 = cpu->r[1] + 0x0000000Cu; /* 029896C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39); /* 029896C4 */ cpu->lr = cpu->r[0]; /* 029896C8 */ _t40 = cpu->r[1] + 0x00000008u; /* 029896C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40); /* 029896CC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 029896D0 */ return; } // fn_029896D4 @ 0x29896d4 void Gambit_fn_029896D4(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_029896D4: ; // 0x29896d4 /* 029896D4 */ cpu->r[0] = cpu->lr; /* 029896D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029896D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029896D8 */ cpu->r[1] = _t0; /* 029896DC */ _t1 = cpu->r[1] + 0x00000010u; /* 029896DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 029896E0 */ _t2 = cpu->r[1] + 0x00000008u; /* 029896E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 029896E4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 029896E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 029896E8 */ _t4 = cpu->r[1] + 0x00000014u; /* 029896E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 029896EC */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029896EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029896F0 */ cpu->r[29] = cpu->r[3]; /* 029896F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 029896F4 */ cpu->r[30] = cpu->r[4]; /* 029896F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029896F8 */ _t7 = _t6 & 0x00000001u; /* 029896F8 */ if (_t7) goto L_029897C8; else goto L_029896FC; L_029896FC: ; // 0x29896fc /* 029896FC */ _t8 = cpu->r[29] + 0x00000014u; /* 029896FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02989700 */ _t9 = cpu->r[29] + 0x0000001Cu; /* 02989700 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9); /* 02989704 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989708 */ cpu->r[10] = 0x10150000u; /* 0298970C */ cpu->r[31] = cpu->r[28] + cpu->r[0]; /* 02989710 */ cpu->r[10] = cpu->r[10] + 0xFFFFEFA8u; /* 02989714 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 02989718 */ _t10 = cpu->r[29] + 0x00000000u; /* 02989718 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 0298971C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298971C */ _t12 = _t11 & 0x00000001u; /* 0298971C */ if (_t12) goto L_02989758; else goto L_02989720; L_02989720: ; // 0x2989720 /* 02989720 */ _t13 = cpu->r[28] + 0x00000000u; /* 02989720 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 02989724 */ _t14 = cpu->r[9] + 0x00000030u; /* 02989724 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 02989728 */ Gambit_fn_02801BB4(cpu); /* 0298972C */ _t15 = cpu->r[28] + 0x00000000u; /* 0298972C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 02989730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989734 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989734 */ _t17 = _t16 & 0x00000001u; /* 02989734 */ if (_t17) goto L_0298974C; else goto L_02989738; L_02989738: ; // 0x2989738 /* 02989738 */ _t18 = cpu->r[3] + 0x00000034u; /* 02989738 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 0298973C */ _t19 = cpu->r[12] + 0x0000000Cu; /* 0298973C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02989740 */ cpu->ctr = cpu->r[0]; /* 02989744 */ cpu->r[4] = 0x00000003u; /* 02989748 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298974C: ; // 0x298974c /* 0298974C */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 02989750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 02989754 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989754 */ _t21 = _t20 & 0x00000001u; /* 02989754 */ if (_t21) goto L_02989758; else goto L_02989720; L_02989758: ; // 0x2989758 /* 02989758 */ _t22 = cpu->r[29] + 0x00000008u; /* 02989758 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0298975C */ _t23 = cpu->r[29] + 0x00000010u; /* 0298975C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 02989760 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989764 */ cpu->r[28] = cpu->r[31] + cpu->r[0]; /* 02989768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]); /* 0298976C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298976C */ _t25 = _t24 & 0x00000001u; /* 0298976C */ if (_t25) goto L_029897A8; else goto L_02989770; L_02989770: ; // 0x2989770 /* 02989770 */ _t26 = cpu->r[31] + 0x00000000u; /* 02989770 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26); /* 02989774 */ _t27 = cpu->r[7] + 0x00000030u; /* 02989774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27); /* 02989778 */ Gambit_fn_02801BB4(cpu); /* 0298977C */ _t28 = cpu->r[31] + 0x00000000u; /* 0298977C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28); /* 02989780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989784 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989784 */ _t30 = _t29 & 0x00000001u; /* 02989784 */ if (_t30) goto L_0298979C; else goto L_02989788; L_02989788: ; // 0x2989788 /* 02989788 */ _t31 = cpu->r[3] + 0x00000034u; /* 02989788 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31); /* 0298978C */ _t32 = cpu->r[5] + 0x0000000Cu; /* 0298978C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 02989790 */ cpu->ctr = cpu->r[0]; /* 02989794 */ cpu->r[4] = 0x00000003u; /* 02989798 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298979C: ; // 0x298979c /* 0298979C */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 029897A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]); /* 029897A4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 029897A4 */ _t34 = _t33 & 0x00000001u; /* 029897A4 */ if (_t34) goto L_029897A8; else goto L_02989770; L_029897A8: ; // 0x29897a8 /* 029897A8 */ cpu->r[3] = cpu->r[29] + 0x00000008u; /* 029897AC */ Gambit_fn_02802424(cpu); /* 029897B0 */ cpu->r[3] = cpu->r[29] + 0x00000014u; /* 029897B4 */ Gambit_fn_02802424(cpu); /* 029897B8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029897B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 029897BC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 029897BC */ _t36 = _t35 & 0x00000001u; /* 029897BC */ if (_t36) goto L_029897C8; else goto L_029897C0; L_029897C0: ; // 0x29897c0 /* 029897C0 */ cpu->r[3] = cpu->r[29]; /* 029897C4 */ Gambit_fn_02801BB0(cpu); L_029897C8: ; // 0x29897c8 /* 029897C8 */ _t37 = cpu->r[1] + 0x00000008u; /* 029897C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37); /* 029897CC */ _t38 = cpu->r[1] + 0x0000000Cu; /* 029897CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t38); /* 029897D0 */ _t39 = cpu->r[1] + 0x0000001Cu; /* 029897D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 029897D4 */ _t40 = cpu->r[1] + 0x00000010u; /* 029897D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40); /* 029897D8 */ cpu->lr = cpu->r[0]; /* 029897DC */ _t41 = cpu->r[1] + 0x00000014u; /* 029897DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t41); /* 029897E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029897E4 */ return; } // fn_029896D8 @ 0x29896d8 void Gambit_fn_029896D8(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_029896D8: ; // 0x29896d8 /* 029896D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029896D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029896D8 */ cpu->r[1] = _t0; /* 029896DC */ _t1 = cpu->r[1] + 0x00000010u; /* 029896DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 029896E0 */ _t2 = cpu->r[1] + 0x00000008u; /* 029896E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 029896E4 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 029896E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 029896E8 */ _t4 = cpu->r[1] + 0x00000014u; /* 029896E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 029896EC */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029896EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029896F0 */ cpu->r[29] = cpu->r[3]; /* 029896F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 029896F4 */ cpu->r[30] = cpu->r[4]; /* 029896F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029896F8 */ _t7 = _t6 & 0x00000001u; /* 029896F8 */ if (_t7) goto L_029897C8; else goto L_029896FC; L_029896FC: ; // 0x29896fc /* 029896FC */ _t8 = cpu->r[29] + 0x00000014u; /* 029896FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02989700 */ _t9 = cpu->r[29] + 0x0000001Cu; /* 02989700 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9); /* 02989704 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989708 */ cpu->r[10] = 0x10150000u; /* 0298970C */ cpu->r[31] = cpu->r[28] + cpu->r[0]; /* 02989710 */ cpu->r[10] = cpu->r[10] + 0xFFFFEFA8u; /* 02989714 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 02989718 */ _t10 = cpu->r[29] + 0x00000000u; /* 02989718 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]); /* 0298971C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298971C */ _t12 = _t11 & 0x00000001u; /* 0298971C */ if (_t12) goto L_02989758; else goto L_02989720; L_02989720: ; // 0x2989720 /* 02989720 */ _t13 = cpu->r[28] + 0x00000000u; /* 02989720 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 02989724 */ _t14 = cpu->r[9] + 0x00000030u; /* 02989724 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 02989728 */ Gambit_fn_02801BB4(cpu); /* 0298972C */ _t15 = cpu->r[28] + 0x00000000u; /* 0298972C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 02989730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989734 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989734 */ _t17 = _t16 & 0x00000001u; /* 02989734 */ if (_t17) goto L_0298974C; else goto L_02989738; L_02989738: ; // 0x2989738 /* 02989738 */ _t18 = cpu->r[3] + 0x00000034u; /* 02989738 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 0298973C */ _t19 = cpu->r[12] + 0x0000000Cu; /* 0298973C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19); /* 02989740 */ cpu->ctr = cpu->r[0]; /* 02989744 */ cpu->r[4] = 0x00000003u; /* 02989748 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298974C: ; // 0x298974c /* 0298974C */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 02989750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 02989754 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989754 */ _t21 = _t20 & 0x00000001u; /* 02989754 */ if (_t21) goto L_02989758; else goto L_02989720; L_02989758: ; // 0x2989758 /* 02989758 */ _t22 = cpu->r[29] + 0x00000008u; /* 02989758 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0298975C */ _t23 = cpu->r[29] + 0x00000010u; /* 0298975C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 02989760 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989764 */ cpu->r[28] = cpu->r[31] + cpu->r[0]; /* 02989768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]); /* 0298976C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298976C */ _t25 = _t24 & 0x00000001u; /* 0298976C */ if (_t25) goto L_029897A8; else goto L_02989770; L_02989770: ; // 0x2989770 /* 02989770 */ _t26 = cpu->r[31] + 0x00000000u; /* 02989770 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26); /* 02989774 */ _t27 = cpu->r[7] + 0x00000030u; /* 02989774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27); /* 02989778 */ Gambit_fn_02801BB4(cpu); /* 0298977C */ _t28 = cpu->r[31] + 0x00000000u; /* 0298977C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28); /* 02989780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989784 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989784 */ _t30 = _t29 & 0x00000001u; /* 02989784 */ if (_t30) goto L_0298979C; else goto L_02989788; L_02989788: ; // 0x2989788 /* 02989788 */ _t31 = cpu->r[3] + 0x00000034u; /* 02989788 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31); /* 0298978C */ _t32 = cpu->r[5] + 0x0000000Cu; /* 0298978C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 02989790 */ cpu->ctr = cpu->r[0]; /* 02989794 */ cpu->r[4] = 0x00000003u; /* 02989798 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298979C: ; // 0x298979c /* 0298979C */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 029897A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]); /* 029897A4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 029897A4 */ _t34 = _t33 & 0x00000001u; /* 029897A4 */ if (_t34) goto L_029897A8; else goto L_02989770; L_029897A8: ; // 0x29897a8 /* 029897A8 */ cpu->r[3] = cpu->r[29] + 0x00000008u; /* 029897AC */ Gambit_fn_02802424(cpu); /* 029897B0 */ cpu->r[3] = cpu->r[29] + 0x00000014u; /* 029897B4 */ Gambit_fn_02802424(cpu); /* 029897B8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029897B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 029897BC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 029897BC */ _t36 = _t35 & 0x00000001u; /* 029897BC */ if (_t36) goto L_029897C8; else goto L_029897C0; L_029897C0: ; // 0x29897c0 /* 029897C0 */ cpu->r[3] = cpu->r[29]; /* 029897C4 */ Gambit_fn_02801BB0(cpu); L_029897C8: ; // 0x29897c8 /* 029897C8 */ _t37 = cpu->r[1] + 0x00000008u; /* 029897C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37); /* 029897CC */ _t38 = cpu->r[1] + 0x0000000Cu; /* 029897CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t38); /* 029897D0 */ _t39 = cpu->r[1] + 0x0000001Cu; /* 029897D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 029897D4 */ _t40 = cpu->r[1] + 0x00000010u; /* 029897D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40); /* 029897D8 */ cpu->lr = cpu->r[0]; /* 029897DC */ _t41 = cpu->r[1] + 0x00000014u; /* 029897DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t41); /* 029897E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029897E4 */ return; } // fn_029897E8 @ 0x29897e8 void Gambit_fn_029897E8(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; L_029897E8: ; // 0x29897e8 /* 029897E8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 029897E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029897E8 */ cpu->r[1] = _t0; /* 029897EC */ /* nop */ /* 029897F0 */ _t1 = cpu->r[1] + 0x00000028u; /* 029897F0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 029897F4 */ cpu->r[0] = cpu->lr; /* 029897F8 */ _t2 = cpu->r[1] + 0x0000003Cu; /* 029897F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 029897FC */ /* nop */ /* 02989800 */ _t3 = cpu->r[1] + 0x00000030u; /* 02989800 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 02989804 */ cpu->r[30] = cpu->r[3]; /* 02989808 */ _t4 = cpu->r[30] + 0x00000024u; /* 02989808 */ cpu->r[6] = rbrew_read8(cpu->mem, _t4); /* 0298980C */ cpu->r[31] = cpu->r[4]; /* 02989810 */ cpu->r[26] = cpu->r[5]; /* 02989814 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 02989814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02989818 */ cpu->f[31] = cpu->f[1]; /* 0298981C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298981C */ _t6 = _t5 & 0x00000001u; /* 0298981C */ if (_t6) goto L_02989A60; else goto L_02989820; L_02989820: ; // 0x2989820 /* 02989820 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 02989824 */ _t7 = cpu->r[30] + 0x00000020u; /* 02989824 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7); /* 02989828 */ cpu->r[9] = cpu->r[8] ^ 0x00000001u; /* 0298982C */ cpu->r[28] = cpu->r[31] + 0x00000094u; /* 02989830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02989834 */ cpu->f[31] = cpu->f[31] * cpu->f[0]; /* 02989838 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989838 */ _t9 = _t8 & 0x00000001u; /* 02989838 */ if (_t9) goto L_02989974; else goto L_0298983C; L_0298983C: ; // 0x298983c /* 0298983C */ _t10 = cpu->r[30] + 0x00000008u; /* 0298983C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 02989840 */ _t11 = cpu->r[30] + 0x00000010u; /* 02989840 */ cpu->r[27] = rbrew_read32(cpu->mem, _t11); /* 02989844 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989848 */ cpu->r[29] = cpu->r[27] + cpu->r[10]; /* 0298984C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[29]); /* 02989850 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989850 */ _t13 = _t12 & 0x00000001u; /* 02989850 */ if (_t13) goto L_02989974; else goto L_02989854; L_02989854: ; // 0x2989854 /* 02989854 */ _t14 = cpu->r[30] + 0x00000004u; /* 02989854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02989858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 0298985C */ _t15 = cpu->r[27] + 0x00000000u; /* 0298985C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 02989860 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989860 */ _t17 = _t16 & 0x00000001u; /* 02989860 */ if (_t17) goto L_02989864; else goto L_02989950; L_02989864: ; // 0x2989864 /* 02989864 */ _t18 = cpu->r[3] + 0x00000000u; /* 02989864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 02989868 */ _t19 = cpu->r[12] + 0x0000000Cu; /* 02989868 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[31]); /* 0298986C */ _t20 = cpu->r[3] + 0x00000000u; /* 0298986C */ cpu->r[25] = rbrew_read32(cpu->mem, _t20); /* 02989870 */ _t21 = cpu->r[25] + 0x00000010u; /* 02989870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 02989874 */ _t22 = cpu->r[25] + 0x00000000u; /* 02989874 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22); /* 02989878 */ _t23 = cpu->r[25] + 0x0000000Cu; /* 02989878 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23); /* 0298987C */ cpu->ctr = cpu->r[0]; /* 02989880 */ _t24 = cpu->r[25] + 0x00000014u; /* 02989880 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24); /* 02989884 */ cpu->f[1] = cpu->f[11] + cpu->f[13]; /* 02989888 */ _t25 = cpu->r[25] + 0x00000008u; /* 02989888 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t25); /* 0298988C */ _t26 = cpu->r[25] + 0x00000004u; /* 0298988C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t26); /* 02989890 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02989894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02989898 */ _t27 = cpu->r[25] + 0x00000000u; /* 02989898 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[1]); /* 0298989C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298989C */ _t29 = _t28 & 0x00000001u; /* 0298989C */ if (_t29) goto L_02989910; else goto L_029898A0; L_029898A0: ; // 0x29898a0 /* 029898A0 */ _t30 = cpu->r[26] + 0x00000002u; /* 029898A0 */ cpu->r[5] = rbrew_read16(cpu->mem, _t30); /* 029898A4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 029898A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 029898A8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 029898A8 */ _t32 = _t31 & 0x00000001u; /* 029898A8 */ if (_t32) goto L_02989910; else goto L_029898AC; L_029898AC: ; // 0x29898ac /* 029898AC */ _t33 = cpu->r[27] + 0x00000000u; /* 029898AC */ cpu->r[25] = rbrew_read32(cpu->mem, _t33); /* 029898B0 */ cpu->r[6] = 0x00000001u; /* 029898B4 */ _t34 = cpu->r[26] + 0x00000008u; /* 029898B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 029898B8 */ cpu->r[3] = cpu->r[25]; /* 029898BC */ _t35 = cpu->r[26] + 0x00000018u; /* 029898BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t35); /* 029898C0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 029898C4 */ Gambit_fn_02C54CCC(cpu); /* 029898C8 */ _t36 = cpu->r[25] + 0x00000034u; /* 029898C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36); /* 029898CC */ _t37 = cpu->r[8] + 0x0000001Cu; /* 029898CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t37); /* 029898D0 */ cpu->ctr = cpu->r[10]; /* 029898D4 */ cpu->r[3] = cpu->r[25]; /* 029898D8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029898DC */ _t38 = cpu->r[25] + 0x00000034u; /* 029898DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t38); /* 029898E0 */ _t39 = cpu->r[11] + 0x0000003Cu; /* 029898E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39); /* 029898E4 */ cpu->ctr = cpu->r[0]; /* 029898E8 */ cpu->r[4] = cpu->r[28]; /* 029898EC */ cpu->r[3] = cpu->r[25]; /* 029898F0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029898F4 */ cpu->r[4] = 0x00000001u; /* 029898F8 */ cpu->r[3] = cpu->r[25]; /* 029898FC */ Gambit_fn_02C54DA0(cpu); /* 02989900 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 02989904 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[29]); /* 02989908 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989908 */ _t41 = _t40 & 0x00000001u; /* 02989908 */ if (_t41) goto L_0298990C; else goto L_02989854; L_0298990C: ; // 0x298990c /* 0298990C */ goto L_02989970; L_02989910: ; // 0x2989910 /* 02989910 */ _t42 = cpu->r[27] + 0x00000000u; /* 02989910 */ cpu->r[25] = rbrew_read32(cpu->mem, _t42); /* 02989914 */ _t43 = cpu->r[25] + 0x00000034u; /* 02989914 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43); /* 02989918 */ _t44 = cpu->r[4] + 0x0000001Cu; /* 02989918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44); /* 0298991C */ cpu->ctr = cpu->r[0]; /* 02989920 */ cpu->r[3] = cpu->r[25]; /* 02989924 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02989928 */ _t45 = cpu->r[25] + 0x00000034u; /* 02989928 */ cpu->r[6] = rbrew_read32(cpu->mem, _t45); /* 0298992C */ _t46 = cpu->r[6] + 0x0000003Cu; /* 0298992C */ cpu->r[7] = rbrew_read32(cpu->mem, _t46); /* 02989930 */ cpu->ctr = cpu->r[7]; /* 02989934 */ cpu->r[3] = cpu->r[25]; /* 02989938 */ cpu->r[4] = cpu->r[28]; /* 0298993C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02989940 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 02989944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[29]); /* 02989948 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989948 */ _t48 = _t47 & 0x00000001u; /* 02989948 */ if (_t48) goto L_0298994C; else goto L_02989854; L_0298994C: ; // 0x298994c /* 0298994C */ goto L_02989970; L_02989950: ; // 0x2989950 /* 02989950 */ _t49 = cpu->r[3] + 0x00000034u; /* 02989950 */ cpu->r[8] = rbrew_read32(cpu->mem, _t49); /* 02989954 */ _t50 = cpu->r[8] + 0x0000003Cu; /* 02989954 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50); /* 02989958 */ cpu->ctr = cpu->r[9]; /* 0298995C */ cpu->r[4] = cpu->r[28]; /* 02989960 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02989964 */ cpu->r[27] = cpu->r[27] + 0x00000004u; /* 02989968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[29]); /* 0298996C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298996C */ _t52 = _t51 & 0x00000001u; /* 0298996C */ if (_t52) goto L_02989970; else goto L_02989854; L_02989970: ; // 0x2989970 /* 02989970 */ _t53 = cpu->r[30] + 0x00000024u; /* 02989970 */ cpu->r[6] = rbrew_read8(cpu->mem, _t53); L_02989974: ; // 0x2989974 /* 02989974 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 02989978 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u; /* 0298997C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02989980 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989980 */ _t55 = _t54 & 0x00000001u; /* 02989980 */ if (_t55) goto L_02989A60; else goto L_02989984; L_02989984: ; // 0x2989984 /* 02989984 */ _t56 = cpu->r[30] + 0x00000014u; /* 02989984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56); /* 02989988 */ _t57 = cpu->r[30] + 0x0000001Cu; /* 02989988 */ cpu->r[25] = rbrew_read32(cpu->mem, _t57); /* 0298998C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989990 */ cpu->r[24] = cpu->r[25] + cpu->r[12]; /* 02989994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[24]); /* 02989998 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989998 */ _t59 = _t58 & 0x00000001u; /* 02989998 */ if (_t59) goto L_02989A60; else goto L_0298999C; L_0298999C: ; // 0x298999c /* 0298999C */ _t60 = cpu->r[30] + 0x00000004u; /* 0298999C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60); /* 029899A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 029899A4 */ _t61 = cpu->r[25] + 0x00000000u; /* 029899A4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t61); /* 029899A8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 029899A8 */ _t63 = _t62 & 0x00000001u; /* 029899A8 */ if (_t63) goto L_029899AC; else goto L_029899F4; L_029899AC: ; // 0x29899ac /* 029899AC */ _t64 = cpu->r[26] + 0x00000000u; /* 029899AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t64); /* 029899B0 */ _t65 = cpu->r[9] + 0x0000000Cu; /* 029899B0 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[31]); /* 029899B4 */ _t66 = cpu->r[26] + 0x00000000u; /* 029899B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t66); /* 029899B8 */ _t67 = cpu->r[29] + 0x00000010u; /* 029899B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t67); /* 029899BC */ _t68 = cpu->r[29] + 0x00000000u; /* 029899BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t68); /* 029899C0 */ _t69 = cpu->r[29] + 0x0000000Cu; /* 029899C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t69); /* 029899C4 */ cpu->ctr = cpu->r[5]; /* 029899C8 */ _t70 = cpu->r[29] + 0x00000014u; /* 029899C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t70); /* 029899CC */ cpu->f[1] = cpu->f[10] + cpu->f[12]; /* 029899D0 */ _t71 = cpu->r[29] + 0x00000008u; /* 029899D0 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t71); /* 029899D4 */ _t72 = cpu->r[29] + 0x00000004u; /* 029899D4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t72); /* 029899D8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029899DC */ _t73 = cpu->r[29] + 0x00000000u; /* 029899DC */ rbrew_write_f32(cpu->mem, _t73, cpu->f[1]); /* 029899E0 */ _t74 = cpu->r[26] + 0x00000034u; /* 029899E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t74); /* 029899E4 */ _t75 = cpu->r[7] + 0x0000001Cu; /* 029899E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75); /* 029899E8 */ cpu->ctr = cpu->r[0]; /* 029899EC */ cpu->r[3] = cpu->r[26]; /* 029899F0 */ rbrew_call_indirect(cpu, cpu->ctr); L_029899F4: ; // 0x29899f4 /* 029899F4 */ _t76 = cpu->r[26] + 0x00000034u; /* 029899F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t76); /* 029899F8 */ _t77 = cpu->r[10] + 0x0000003Cu; /* 029899F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 029899FC */ cpu->ctr = cpu->r[0]; /* 02989A00 */ cpu->r[4] = cpu->r[28]; /* 02989A04 */ cpu->r[3] = cpu->r[26]; /* 02989A08 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02989A0C */ _t78 = cpu->r[26] + 0x00000040u; /* 02989A0C */ cpu->r[8] = rbrew_read16(cpu->mem, _t78); /* 02989A10 */ cpu->r[27] = 0x00000000u; /* 02989A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[8]); /* 02989A18 */ cpu->r[26] = cpu->r[26] + 0x00000038u; /* 02989A1C */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989A1C */ _t80 = _t79 & 0x00000001u; /* 02989A1C */ if (_t80) goto L_02989A20; else goto L_02989A54; L_02989A20: ; // 0x2989a20 /* 02989A20 */ cpu->r[29] = 0x00000000u; L_02989A24: ; // 0x2989a24 /* 02989A24 */ _t81 = cpu->r[26] + 0x00000000u; /* 02989A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81); /* 02989A28 */ _t82 = cpu->r[12] + cpu->r[29]; /* 02989A28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t82); /* 02989A2C */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000011u, 0x0000001Fu); /* 02989A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00007FFFu); /* 02989A34 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989A34 */ _t84 = _t83 & 0x00000001u; /* 02989A34 */ if (_t84) goto L_02989A44; else goto L_02989A38; L_02989A38: ; // 0x2989a38 /* 02989A38 */ cpu->r[3] = cpu->r[31]; /* 02989A3C */ Gambit_fn_02991DA8(cpu); /* 02989A40 */ _t85 = cpu->r[26] + 0x00000008u; /* 02989A40 */ cpu->r[8] = rbrew_read16(cpu->mem, _t85); L_02989A44: ; // 0x2989a44 /* 02989A44 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02989A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[8]); /* 02989A4C */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 02989A50 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989A50 */ _t87 = _t86 & 0x00000001u; /* 02989A50 */ if (_t87) goto L_02989A24; else goto L_02989A54; L_02989A54: ; // 0x2989a54 /* 02989A54 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 02989A58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[24]); /* 02989A5C */ _t88 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989A5C */ _t89 = _t88 & 0x00000001u; /* 02989A5C */ if (_t89) goto L_02989A60; else goto L_0298999C; L_02989A60: ; // 0x2989a60 /* 02989A60 */ /* nop */ /* 02989A64 */ _t90 = cpu->r[1] + 0x00000030u; /* 02989A64 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t90); /* 02989A68 */ _t91 = cpu->r[1] + 0x00000028u; /* 02989A68 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t91); /* 02989A6C */ _t92 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989A6C */ _t93 = _t92 & 0x00000001u; /* 02989A6C */ if (_t93) goto L_02989A70; // else: addr-0 trap, fall-through L_02989A70: ; // 0x2989a70 /* 02989A70 */ _t94 = cpu->r[1] + 0x0000003Cu; /* 02989A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94); /* 02989A74 */ cpu->lr = cpu->r[0]; /* 02989A78 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 02989A7C */ return; } // fn_02989A80 @ 0x2989a80 void Gambit_fn_02989A80(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; L_02989A80: ; // 0x2989a80 /* 02989A80 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02989A80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02989A80 */ cpu->r[1] = _t0; /* 02989A84 */ /* nop */ /* 02989A88 */ cpu->r[0] = cpu->lr; /* 02989A8C */ _t1 = cpu->r[1] + 0x0000002Cu; /* 02989A8C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02989A90 */ cpu->r[29] = cpu->r[3]; /* 02989A94 */ cpu->r[28] = cpu->r[4]; /* 02989A98 */ _t2 = cpu->r[28] + 0x00000000u; /* 02989A98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2); /* 02989A9C */ cpu->r[31] = cpu->r[5]; /* 02989AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02989AA4 */ cpu->r[30] = cpu->r[6]; /* 02989AA8 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u); /* 02989AA8 */ _t4 = _t3 & 0x00000001u; /* 02989AA8 */ if (_t4) goto L_02989AAC; else goto L_02989ABC; L_02989AAC: ; // 0x2989aac /* 02989AAC */ cpu->r[6] = 0x00000004u; /* 02989AB0 */ cpu->r[5] = cpu->r[30]; /* 02989AB4 */ cpu->r[3] = cpu->r[29] + 0x00000008u; /* 02989AB8 */ Gambit_fn_028023CC(cpu); L_02989ABC: ; // 0x2989abc /* 02989ABC */ _t5 = cpu->r[28] + 0x0000008Cu; /* 02989ABC */ cpu->r[6] = rbrew_read32(cpu->mem, _t5); /* 02989AC0 */ _t6 = cpu->r[28] + 0x00000118u; /* 02989AC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 02989AC4 */ cpu->r[5] = cpu->r[6] + cpu->r[7]; /* 02989AC8 */ _t7 = cpu->r[28] + 0x000001A4u; /* 02989AC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 02989ACC */ cpu->r[4] = cpu->r[5] + cpu->r[8]; /* 02989ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02989AD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989AD0 */ _t9 = _t8 & 0x00000001u; /* 02989AD0 */ if (_t9) goto L_02989AE4; else goto L_02989AD4; L_02989AD4: ; // 0x2989ad4 /* 02989AD4 */ cpu->r[6] = 0x00000004u; /* 02989AD8 */ cpu->r[5] = cpu->r[30]; /* 02989ADC */ cpu->r[3] = cpu->r[29] + 0x00000014u; /* 02989AE0 */ Gambit_fn_028023CC(cpu); L_02989AE4: ; // 0x2989ae4 /* 02989AE4 */ _t10 = cpu->r[29] + 0x00000004u; /* 02989AE4 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]); /* 02989AE8 */ _t11 = cpu->r[31] + 0x00000094u; /* 02989AE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11); /* 02989AEC */ _t12 = cpu->r[4] + 0x0000002Cu; /* 02989AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 02989AF0 */ Gambit_fn_029709A8(cpu); /* 02989AF4 */ _t13 = cpu->r[28] + 0x00000000u; /* 02989AF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02989AF8 */ _t14 = cpu->r[28] + 0x00000008u; /* 02989AF8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t14); /* 02989AFC */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989B00 */ _t15 = cpu->r[29] + 0x00000004u; /* 02989B00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 02989B04 */ cpu->r[31] = cpu->r[24] + cpu->r[9]; /* 02989B08 */ cpu->r[27] = 0x00000000u; /* 02989B0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[31]); /* 02989B10 */ cpu->r[26] = cpu->r[12] + 0x00000094u; /* 02989B14 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989B14 */ _t17 = _t16 & 0x00000001u; /* 02989B14 */ if (_t17) goto L_02989BA0; else goto L_02989B18; L_02989B18: ; // 0x2989b18 /* 02989B18 */ cpu->r[25] = cpu->r[28] + 0x00000230u; L_02989B1C: ; // 0x2989b1c /* 02989B1C */ cpu->r[0] = cpu->r[27]; /* 02989B20 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02989B24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000080u); /* 02989B28 */ _t18 = cpu->r[24] + 0x00000000u; /* 02989B28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18); /* 02989B2C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989B2C */ _t20 = _t19 & 0x00000001u; /* 02989B2C */ if (_t20) goto L_02989B30; else goto L_02989B58; L_02989B30: ; // 0x2989b30 /* 02989B30 */ _t21 = cpu->r[25] + cpu->r[0]; /* 02989B30 */ cpu->r[6] = rbrew_read8(cpu->mem, _t21); /* 02989B34 */ cpu->r[5] = 0x00000040u; /* 02989B38 */ cpu->r[3] = cpu->r[26]; /* 02989B3C */ cpu->r[7] = cpu->r[30]; /* 02989B40 */ Gambit_fn_0298AD5C(cpu); /* 02989B44 */ _t22 = cpu->r[29] + 0x0000000Cu; /* 02989B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 02989B48 */ _t23 = cpu->r[29] + 0x00000008u; /* 02989B48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23); /* 02989B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 02989B50 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989B50 */ _t25 = _t24 & 0x00000001u; /* 02989B50 */ if (_t25) goto L_02989B54; else goto L_02989B94; L_02989B54: ; // 0x2989b54 /* 02989B54 */ goto L_02989B7C; L_02989B58: ; // 0x2989b58 /* 02989B58 */ _t26 = cpu->r[25] + 0x00000000u; /* 02989B58 */ cpu->r[6] = rbrew_read8(cpu->mem, _t26); /* 02989B5C */ cpu->r[5] = 0x00000040u; /* 02989B60 */ cpu->r[3] = cpu->r[26]; /* 02989B64 */ cpu->r[7] = cpu->r[30]; /* 02989B68 */ Gambit_fn_0298AD5C(cpu); /* 02989B6C */ _t27 = cpu->r[29] + 0x0000000Cu; /* 02989B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 02989B70 */ _t28 = cpu->r[29] + 0x00000008u; /* 02989B70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28); /* 02989B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]); /* 02989B78 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989B78 */ _t30 = _t29 & 0x00000001u; /* 02989B78 */ if (_t30) goto L_02989B7C; else goto L_02989B94; L_02989B7C: ; // 0x2989b7c /* 02989B7C */ _t31 = cpu->r[29] + 0x00000010u; /* 02989B7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t31); /* 02989B80 */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989B84 */ _t32 = cpu->r[4] + cpu->r[5]; /* 02989B84 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]); /* 02989B88 */ _t33 = cpu->r[29] + 0x00000008u; /* 02989B88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33); /* 02989B8C */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 02989B90 */ _t34 = cpu->r[29] + 0x00000008u; /* 02989B90 */ rbrew_write32(cpu->mem, _t34, cpu->r[6]); L_02989B94: ; // 0x2989b94 /* 02989B94 */ cpu->r[24] = cpu->r[24] + 0x00000004u; /* 02989B98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[31]); /* 02989B9C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989B9C */ _t36 = _t35 & 0x00000001u; /* 02989B9C */ if (_t36) goto L_02989BA0; else goto L_02989B1C; L_02989BA0: ; // 0x2989ba0 /* 02989BA0 */ _t37 = cpu->r[28] + 0x0000008Cu; /* 02989BA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37); /* 02989BA4 */ _t38 = cpu->r[28] + 0x00000094u; /* 02989BA4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t38); /* 02989BA8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989BAC */ cpu->r[31] = cpu->r[24] + cpu->r[7]; /* 02989BB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[31]); /* 02989BB4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989BB4 */ _t40 = _t39 & 0x00000001u; /* 02989BB4 */ if (_t40) goto L_02989C40; else goto L_02989BB8; L_02989BB8: ; // 0x2989bb8 /* 02989BB8 */ cpu->r[25] = cpu->r[28] + 0x00000230u; L_02989BBC: ; // 0x2989bbc /* 02989BBC */ cpu->r[10] = cpu->r[27]; /* 02989BC0 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02989BC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000080u); /* 02989BC8 */ _t41 = cpu->r[24] + 0x00000000u; /* 02989BC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41); /* 02989BCC */ _t42 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989BCC */ _t43 = _t42 & 0x00000001u; /* 02989BCC */ if (_t43) goto L_02989BD0; else goto L_02989BF8; L_02989BD0: ; // 0x2989bd0 /* 02989BD0 */ _t44 = cpu->r[25] + cpu->r[10]; /* 02989BD0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t44); /* 02989BD4 */ cpu->r[5] = 0x00000004u; /* 02989BD8 */ cpu->r[3] = cpu->r[26]; /* 02989BDC */ cpu->r[7] = cpu->r[30]; /* 02989BE0 */ Gambit_fn_0298AF98(cpu); /* 02989BE4 */ _t45 = cpu->r[29] + 0x00000018u; /* 02989BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 02989BE8 */ _t46 = cpu->r[29] + 0x00000014u; /* 02989BE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46); /* 02989BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]); /* 02989BF0 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989BF0 */ _t48 = _t47 & 0x00000001u; /* 02989BF0 */ if (_t48) goto L_02989BF4; else goto L_02989C34; L_02989BF4: ; // 0x2989bf4 /* 02989BF4 */ goto L_02989C1C; L_02989BF8: ; // 0x2989bf8 /* 02989BF8 */ _t49 = cpu->r[25] + 0x00000000u; /* 02989BF8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t49); /* 02989BFC */ cpu->r[5] = 0x00000004u; /* 02989C00 */ cpu->r[3] = cpu->r[26]; /* 02989C04 */ cpu->r[7] = cpu->r[30]; /* 02989C08 */ Gambit_fn_0298AF98(cpu); /* 02989C0C */ _t50 = cpu->r[29] + 0x00000018u; /* 02989C0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50); /* 02989C10 */ _t51 = cpu->r[29] + 0x00000014u; /* 02989C10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51); /* 02989C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]); /* 02989C18 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989C18 */ _t53 = _t52 & 0x00000001u; /* 02989C18 */ if (_t53) goto L_02989C1C; else goto L_02989C34; L_02989C1C: ; // 0x2989c1c /* 02989C1C */ _t54 = cpu->r[29] + 0x0000001Cu; /* 02989C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54); /* 02989C20 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989C24 */ _t55 = cpu->r[12] + cpu->r[0]; /* 02989C24 */ rbrew_write32(cpu->mem, _t55, cpu->r[3]); /* 02989C28 */ _t56 = cpu->r[29] + 0x00000014u; /* 02989C28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56); /* 02989C2C */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 02989C30 */ _t57 = cpu->r[29] + 0x00000014u; /* 02989C30 */ rbrew_write32(cpu->mem, _t57, cpu->r[4]); L_02989C34: ; // 0x2989c34 /* 02989C34 */ cpu->r[24] = cpu->r[24] + 0x00000004u; /* 02989C38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[31]); /* 02989C3C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989C3C */ _t59 = _t58 & 0x00000001u; /* 02989C3C */ if (_t59) goto L_02989C40; else goto L_02989BBC; L_02989C40: ; // 0x2989c40 /* 02989C40 */ _t60 = cpu->r[28] + 0x00000118u; /* 02989C40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60); /* 02989C44 */ _t61 = cpu->r[28] + 0x00000120u; /* 02989C44 */ cpu->r[24] = rbrew_read32(cpu->mem, _t61); /* 02989C48 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989C4C */ cpu->r[31] = cpu->r[24] + cpu->r[6]; /* 02989C50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[31]); /* 02989C54 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989C54 */ _t63 = _t62 & 0x00000001u; /* 02989C54 */ if (_t63) goto L_02989CE0; else goto L_02989C58; L_02989C58: ; // 0x2989c58 /* 02989C58 */ cpu->r[25] = cpu->r[28] + 0x00000230u; L_02989C5C: ; // 0x2989c5c /* 02989C5C */ cpu->r[8] = cpu->r[27]; /* 02989C60 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02989C64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000080u); /* 02989C68 */ _t64 = cpu->r[24] + 0x00000000u; /* 02989C68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t64); /* 02989C6C */ _t65 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989C6C */ _t66 = _t65 & 0x00000001u; /* 02989C6C */ if (_t66) goto L_02989C70; else goto L_02989C98; L_02989C70: ; // 0x2989c70 /* 02989C70 */ _t67 = cpu->r[25] + cpu->r[8]; /* 02989C70 */ cpu->r[6] = rbrew_read8(cpu->mem, _t67); /* 02989C74 */ cpu->r[5] = 0x00000004u; /* 02989C78 */ cpu->r[3] = cpu->r[26]; /* 02989C7C */ cpu->r[7] = cpu->r[30]; /* 02989C80 */ Gambit_fn_0298B1DC(cpu); /* 02989C84 */ _t68 = cpu->r[29] + 0x00000018u; /* 02989C84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68); /* 02989C88 */ _t69 = cpu->r[29] + 0x00000014u; /* 02989C88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69); /* 02989C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[8]); /* 02989C90 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989C90 */ _t71 = _t70 & 0x00000001u; /* 02989C90 */ if (_t71) goto L_02989C94; else goto L_02989CD4; L_02989C94: ; // 0x2989c94 /* 02989C94 */ goto L_02989CBC; L_02989C98: ; // 0x2989c98 /* 02989C98 */ _t72 = cpu->r[25] + 0x00000000u; /* 02989C98 */ cpu->r[6] = rbrew_read8(cpu->mem, _t72); /* 02989C9C */ cpu->r[5] = 0x00000004u; /* 02989CA0 */ cpu->r[3] = cpu->r[26]; /* 02989CA4 */ cpu->r[7] = cpu->r[30]; /* 02989CA8 */ Gambit_fn_0298B1DC(cpu); /* 02989CAC */ _t73 = cpu->r[29] + 0x00000018u; /* 02989CAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t73); /* 02989CB0 */ _t74 = cpu->r[29] + 0x00000014u; /* 02989CB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t74); /* 02989CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[8]); /* 02989CB8 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989CB8 */ _t76 = _t75 & 0x00000001u; /* 02989CB8 */ if (_t76) goto L_02989CBC; else goto L_02989CD4; L_02989CBC: ; // 0x2989cbc /* 02989CBC */ _t77 = cpu->r[29] + 0x0000001Cu; /* 02989CBC */ cpu->r[10] = rbrew_read32(cpu->mem, _t77); /* 02989CC0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989CC4 */ _t78 = cpu->r[9] + cpu->r[10]; /* 02989CC4 */ rbrew_write32(cpu->mem, _t78, cpu->r[3]); /* 02989CC8 */ _t79 = cpu->r[29] + 0x00000014u; /* 02989CC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79); /* 02989CCC */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 02989CD0 */ _t80 = cpu->r[29] + 0x00000014u; /* 02989CD0 */ rbrew_write32(cpu->mem, _t80, cpu->r[12]); L_02989CD4: ; // 0x2989cd4 /* 02989CD4 */ cpu->r[24] = cpu->r[24] + 0x00000004u; /* 02989CD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[31]); /* 02989CDC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989CDC */ _t82 = _t81 & 0x00000001u; /* 02989CDC */ if (_t82) goto L_02989CE0; else goto L_02989C5C; L_02989CE0: ; // 0x2989ce0 /* 02989CE0 */ _t83 = cpu->r[28] + 0x000001A4u; /* 02989CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83); /* 02989CE4 */ _t84 = cpu->r[28] + 0x000001ACu; /* 02989CE4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t84); /* 02989CE8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989CEC */ cpu->r[31] = cpu->r[24] + cpu->r[10]; /* 02989CF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[31]); /* 02989CF4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989CF4 */ _t86 = _t85 & 0x00000001u; /* 02989CF4 */ if (_t86) goto L_02989D80; else goto L_02989CF8; L_02989CF8: ; // 0x2989cf8 /* 02989CF8 */ cpu->r[25] = cpu->r[28] + 0x00000230u; L_02989CFC: ; // 0x2989cfc /* 02989CFC */ cpu->r[0] = cpu->r[27]; /* 02989D00 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 02989D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000080u); /* 02989D08 */ _t87 = cpu->r[24] + 0x00000000u; /* 02989D08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t87); /* 02989D0C */ _t88 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989D0C */ _t89 = _t88 & 0x00000001u; /* 02989D0C */ if (_t89) goto L_02989D10; else goto L_02989D38; L_02989D10: ; // 0x2989d10 /* 02989D10 */ _t90 = cpu->r[25] + cpu->r[0]; /* 02989D10 */ cpu->r[6] = rbrew_read8(cpu->mem, _t90); /* 02989D14 */ cpu->r[5] = 0x00000004u; /* 02989D18 */ cpu->r[3] = cpu->r[26]; /* 02989D1C */ cpu->r[7] = cpu->r[30]; /* 02989D20 */ Gambit_fn_0298B43C(cpu); /* 02989D24 */ _t91 = cpu->r[29] + 0x00000018u; /* 02989D24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t91); /* 02989D28 */ _t92 = cpu->r[29] + 0x00000014u; /* 02989D28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t92); /* 02989D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[5]); /* 02989D30 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989D30 */ _t94 = _t93 & 0x00000001u; /* 02989D30 */ if (_t94) goto L_02989D34; else goto L_02989D74; L_02989D34: ; // 0x2989d34 /* 02989D34 */ goto L_02989D5C; L_02989D38: ; // 0x2989d38 /* 02989D38 */ _t95 = cpu->r[25] + 0x00000000u; /* 02989D38 */ cpu->r[6] = rbrew_read8(cpu->mem, _t95); /* 02989D3C */ cpu->r[5] = 0x00000004u; /* 02989D40 */ cpu->r[3] = cpu->r[26]; /* 02989D44 */ cpu->r[7] = cpu->r[30]; /* 02989D48 */ Gambit_fn_0298B43C(cpu); /* 02989D4C */ _t96 = cpu->r[29] + 0x00000018u; /* 02989D4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t96); /* 02989D50 */ _t97 = cpu->r[29] + 0x00000014u; /* 02989D50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t97); /* 02989D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[5]); /* 02989D58 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u); /* 02989D58 */ _t99 = _t98 & 0x00000001u; /* 02989D58 */ if (_t99) goto L_02989D5C; else goto L_02989D74; L_02989D5C: ; // 0x2989d5c /* 02989D5C */ _t100 = cpu->r[29] + 0x0000001Cu; /* 02989D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t100); /* 02989D60 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02989D64 */ _t101 = cpu->r[6] + cpu->r[0]; /* 02989D64 */ rbrew_write32(cpu->mem, _t101, cpu->r[3]); /* 02989D68 */ _t102 = cpu->r[29] + 0x00000014u; /* 02989D68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t102); /* 02989D6C */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 02989D70 */ _t103 = cpu->r[29] + 0x00000014u; /* 02989D70 */ rbrew_write32(cpu->mem, _t103, cpu->r[8]); L_02989D74: ; // 0x2989d74 /* 02989D74 */ cpu->r[24] = cpu->r[24] + 0x00000004u; /* 02989D78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[31]); /* 02989D7C */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989D7C */ _t105 = _t104 & 0x00000001u; /* 02989D7C */ if (_t105) goto L_02989D80; else goto L_02989CFC; L_02989D80: ; // 0x2989d80 /* 02989D80 */ cpu->r[5] = 0x10150000u; /* 02989D84 */ _t106 = cpu->r[29] + 0x00000004u; /* 02989D84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t106); /* 02989D88 */ cpu->r[3] = cpu->r[29]; /* 02989D8C */ _t107 = cpu->r[5] + 0xFFFFEF7Cu; /* 02989D8C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t107); /* 02989D90 */ cpu->r[5] = 0x00000000u; /* 02989D94 */ Gambit_fn_029897E8(cpu); /* 02989D98 */ /* nop */ /* 02989D9C */ _t108 = cpu->r[1] + 0x0000002Cu; /* 02989D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t108); /* 02989DA0 */ cpu->lr = cpu->r[0]; /* 02989DA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 02989DA8 */ return; } // fn_02989DAC @ 0x2989dac void Gambit_fn_02989DAC(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_02989DAC: ; // 0x2989dac /* 02989DAC */ cpu->r[0] = cpu->lr; /* 02989DB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02989DB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02989DB0 */ cpu->r[1] = _t0; /* 02989DB4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02989DB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02989DB8 */ _t2 = cpu->r[1] + 0x00000014u; /* 02989DB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02989DBC */ _t3 = cpu->r[1] + 0x00000010u; /* 02989DBC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02989DC0 */ cpu->r[31] = cpu->r[3]; /* 02989DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989DC4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02989DC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02989DC8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989DC8 */ _t6 = _t5 & 0x00000001u; /* 02989DC8 */ if (_t6) goto L_02989DCC; else goto L_02989DDC; L_02989DCC: ; // 0x2989dcc /* 02989DCC */ cpu->r[3] = 0x000002B4u; /* 02989DD0 */ Gambit_fn_02801A78(cpu); /* 02989DD4 */ cpu->r[31] = cpu->r[3]; /* 02989DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989DD8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989DD8 */ _t8 = _t7 & 0x00000001u; /* 02989DD8 */ if (_t8) goto L_02989F14; else goto L_02989DDC; L_02989DDC: ; // 0x2989ddc /* 02989DDC */ cpu->r[29] = cpu->r[31]; /* 02989DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989DE0 */ cpu->r[30] = 0x00000000u; /* 02989DE4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989DE4 */ _t10 = _t9 & 0x00000001u; /* 02989DE4 */ if (_t10) goto L_02989DE8; else goto L_02989DF8; L_02989DE8: ; // 0x2989de8 /* 02989DE8 */ cpu->r[3] = 0x0000008Cu; /* 02989DEC */ Gambit_fn_02801A78(cpu); /* 02989DF0 */ cpu->r[29] = cpu->r[3]; /* 02989DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989DF4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989DF4 */ _t12 = _t11 & 0x00000001u; /* 02989DF4 */ if (_t12) goto L_02989E2C; else goto L_02989DF8; L_02989DF8: ; // 0x2989df8 /* 02989DF8 */ cpu->r[3] = cpu->r[29]; /* 02989DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989DFC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989DFC */ _t14 = _t13 & 0x00000001u; /* 02989DFC */ if (_t14) goto L_02989E00; else goto L_02989E10; L_02989E00: ; // 0x2989e00 /* 02989E00 */ cpu->r[3] = 0x0000000Cu; /* 02989E04 */ Gambit_fn_02801A78(cpu); /* 02989E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989E0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E0C */ _t16 = _t15 & 0x00000001u; /* 02989E0C */ if (_t16) goto L_02989E1C; else goto L_02989E10; L_02989E10: ; // 0x2989e10 /* 02989E10 */ _t17 = cpu->r[3] + 0x00000004u; /* 02989E10 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]); /* 02989E14 */ _t18 = cpu->r[3] + 0x00000000u; /* 02989E14 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]); /* 02989E18 */ _t19 = cpu->r[3] + 0x00000008u; /* 02989E18 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); L_02989E1C: ; // 0x2989e1c /* 02989E1C */ cpu->r[4] = 0x00000020u; /* 02989E20 */ cpu->r[5] = cpu->r[29] + 0x0000000Cu; /* 02989E24 */ cpu->r[3] = cpu->r[29]; /* 02989E28 */ Gambit_fn_028023A8(cpu); L_02989E2C: ; // 0x2989e2c /* 02989E2C */ cpu->r[29] = cpu->r[31] + 0x0000008Cu; /* 02989E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989E30 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E30 */ _t21 = _t20 & 0x00000001u; /* 02989E30 */ if (_t21) goto L_02989E34; else goto L_02989E44; L_02989E34: ; // 0x2989e34 /* 02989E34 */ cpu->r[3] = 0x0000008Cu; /* 02989E38 */ Gambit_fn_02801A78(cpu); /* 02989E3C */ cpu->r[29] = cpu->r[3]; /* 02989E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989E40 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E40 */ _t23 = _t22 & 0x00000001u; /* 02989E40 */ if (_t23) goto L_02989E78; else goto L_02989E44; L_02989E44: ; // 0x2989e44 /* 02989E44 */ cpu->r[3] = cpu->r[29]; /* 02989E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989E48 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E48 */ _t25 = _t24 & 0x00000001u; /* 02989E48 */ if (_t25) goto L_02989E4C; else goto L_02989E5C; L_02989E4C: ; // 0x2989e4c /* 02989E4C */ cpu->r[3] = 0x0000000Cu; /* 02989E50 */ Gambit_fn_02801A78(cpu); /* 02989E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989E58 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E58 */ _t27 = _t26 & 0x00000001u; /* 02989E58 */ if (_t27) goto L_02989E68; else goto L_02989E5C; L_02989E5C: ; // 0x2989e5c /* 02989E5C */ _t28 = cpu->r[3] + 0x00000004u; /* 02989E5C */ rbrew_write32(cpu->mem, _t28, cpu->r[30]); /* 02989E60 */ _t29 = cpu->r[3] + 0x00000000u; /* 02989E60 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]); /* 02989E64 */ _t30 = cpu->r[3] + 0x00000008u; /* 02989E64 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]); L_02989E68: ; // 0x2989e68 /* 02989E68 */ cpu->r[4] = 0x00000020u; /* 02989E6C */ cpu->r[5] = cpu->r[29] + 0x0000000Cu; /* 02989E70 */ cpu->r[3] = cpu->r[29]; /* 02989E74 */ Gambit_fn_028023A8(cpu); L_02989E78: ; // 0x2989e78 /* 02989E78 */ cpu->r[29] = cpu->r[31] + 0x00000118u; /* 02989E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989E7C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E7C */ _t32 = _t31 & 0x00000001u; /* 02989E7C */ if (_t32) goto L_02989E80; else goto L_02989E90; L_02989E80: ; // 0x2989e80 /* 02989E80 */ cpu->r[3] = 0x0000008Cu; /* 02989E84 */ Gambit_fn_02801A78(cpu); /* 02989E88 */ cpu->r[29] = cpu->r[3]; /* 02989E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989E8C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E8C */ _t34 = _t33 & 0x00000001u; /* 02989E8C */ if (_t34) goto L_02989EC4; else goto L_02989E90; L_02989E90: ; // 0x2989e90 /* 02989E90 */ cpu->r[3] = cpu->r[29]; /* 02989E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989E94 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E94 */ _t36 = _t35 & 0x00000001u; /* 02989E94 */ if (_t36) goto L_02989E98; else goto L_02989EA8; L_02989E98: ; // 0x2989e98 /* 02989E98 */ cpu->r[3] = 0x0000000Cu; /* 02989E9C */ Gambit_fn_02801A78(cpu); /* 02989EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989EA4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989EA4 */ _t38 = _t37 & 0x00000001u; /* 02989EA4 */ if (_t38) goto L_02989EB4; else goto L_02989EA8; L_02989EA8: ; // 0x2989ea8 /* 02989EA8 */ _t39 = cpu->r[3] + 0x00000004u; /* 02989EA8 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]); /* 02989EAC */ _t40 = cpu->r[3] + 0x00000000u; /* 02989EAC */ rbrew_write32(cpu->mem, _t40, cpu->r[30]); /* 02989EB0 */ _t41 = cpu->r[3] + 0x00000008u; /* 02989EB0 */ rbrew_write32(cpu->mem, _t41, cpu->r[30]); L_02989EB4: ; // 0x2989eb4 /* 02989EB4 */ cpu->r[4] = 0x00000020u; /* 02989EB8 */ cpu->r[5] = cpu->r[29] + 0x0000000Cu; /* 02989EBC */ cpu->r[3] = cpu->r[29]; /* 02989EC0 */ Gambit_fn_028023A8(cpu); L_02989EC4: ; // 0x2989ec4 /* 02989EC4 */ cpu->r[29] = cpu->r[31] + 0x000001A4u; /* 02989EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989EC8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989EC8 */ _t43 = _t42 & 0x00000001u; /* 02989EC8 */ if (_t43) goto L_02989ECC; else goto L_02989EDC; L_02989ECC: ; // 0x2989ecc /* 02989ECC */ cpu->r[3] = 0x0000008Cu; /* 02989ED0 */ Gambit_fn_02801A78(cpu); /* 02989ED4 */ cpu->r[29] = cpu->r[3]; /* 02989ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989ED8 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989ED8 */ _t45 = _t44 & 0x00000001u; /* 02989ED8 */ if (_t45) goto L_02989F10; else goto L_02989EDC; L_02989EDC: ; // 0x2989edc /* 02989EDC */ cpu->r[3] = cpu->r[29]; /* 02989EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989EE0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989EE0 */ _t47 = _t46 & 0x00000001u; /* 02989EE0 */ if (_t47) goto L_02989EE4; else goto L_02989EF4; L_02989EE4: ; // 0x2989ee4 /* 02989EE4 */ cpu->r[3] = 0x0000000Cu; /* 02989EE8 */ Gambit_fn_02801A78(cpu); /* 02989EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989EF0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989EF0 */ _t49 = _t48 & 0x00000001u; /* 02989EF0 */ if (_t49) goto L_02989F00; else goto L_02989EF4; L_02989EF4: ; // 0x2989ef4 /* 02989EF4 */ _t50 = cpu->r[3] + 0x00000004u; /* 02989EF4 */ rbrew_write32(cpu->mem, _t50, cpu->r[30]); /* 02989EF8 */ _t51 = cpu->r[3] + 0x00000000u; /* 02989EF8 */ rbrew_write32(cpu->mem, _t51, cpu->r[30]); /* 02989EFC */ _t52 = cpu->r[3] + 0x00000008u; /* 02989EFC */ rbrew_write32(cpu->mem, _t52, cpu->r[30]); L_02989F00: ; // 0x2989f00 /* 02989F00 */ cpu->r[4] = 0x00000020u; /* 02989F04 */ cpu->r[5] = cpu->r[29] + 0x0000000Cu; /* 02989F08 */ cpu->r[3] = cpu->r[29]; /* 02989F0C */ Gambit_fn_028023A8(cpu); L_02989F10: ; // 0x2989f10 /* 02989F10 */ _t53 = cpu->r[31] + 0x000002B0u; /* 02989F10 */ rbrew_write32(cpu->mem, _t53, cpu->r[30]); L_02989F14: ; // 0x2989f14 /* 02989F14 */ _t54 = cpu->r[1] + 0x0000000Cu; /* 02989F14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54); /* 02989F18 */ _t55 = cpu->r[1] + 0x0000001Cu; /* 02989F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55); /* 02989F1C */ cpu->r[3] = cpu->r[31]; /* 02989F20 */ _t56 = cpu->r[1] + 0x00000010u; /* 02989F20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56); /* 02989F24 */ cpu->lr = cpu->r[0]; /* 02989F28 */ _t57 = cpu->r[1] + 0x00000014u; /* 02989F28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57); /* 02989F2C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02989F30 */ return; } // fn_02989DB0 @ 0x2989db0 void Gambit_fn_02989DB0(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_02989DB0: ; // 0x2989db0 /* 02989DB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02989DB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02989DB0 */ cpu->r[1] = _t0; /* 02989DB4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02989DB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02989DB8 */ _t2 = cpu->r[1] + 0x00000014u; /* 02989DB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02989DBC */ _t3 = cpu->r[1] + 0x00000010u; /* 02989DBC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02989DC0 */ cpu->r[31] = cpu->r[3]; /* 02989DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989DC4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02989DC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02989DC8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989DC8 */ _t6 = _t5 & 0x00000001u; /* 02989DC8 */ if (_t6) goto L_02989DCC; else goto L_02989DDC; L_02989DCC: ; // 0x2989dcc /* 02989DCC */ cpu->r[3] = 0x000002B4u; /* 02989DD0 */ Gambit_fn_02801A78(cpu); /* 02989DD4 */ cpu->r[31] = cpu->r[3]; /* 02989DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02989DD8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989DD8 */ _t8 = _t7 & 0x00000001u; /* 02989DD8 */ if (_t8) goto L_02989F14; else goto L_02989DDC; L_02989DDC: ; // 0x2989ddc /* 02989DDC */ cpu->r[29] = cpu->r[31]; /* 02989DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989DE0 */ cpu->r[30] = 0x00000000u; /* 02989DE4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989DE4 */ _t10 = _t9 & 0x00000001u; /* 02989DE4 */ if (_t10) goto L_02989DE8; else goto L_02989DF8; L_02989DE8: ; // 0x2989de8 /* 02989DE8 */ cpu->r[3] = 0x0000008Cu; /* 02989DEC */ Gambit_fn_02801A78(cpu); /* 02989DF0 */ cpu->r[29] = cpu->r[3]; /* 02989DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989DF4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989DF4 */ _t12 = _t11 & 0x00000001u; /* 02989DF4 */ if (_t12) goto L_02989E2C; else goto L_02989DF8; L_02989DF8: ; // 0x2989df8 /* 02989DF8 */ cpu->r[3] = cpu->r[29]; /* 02989DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989DFC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989DFC */ _t14 = _t13 & 0x00000001u; /* 02989DFC */ if (_t14) goto L_02989E00; else goto L_02989E10; L_02989E00: ; // 0x2989e00 /* 02989E00 */ cpu->r[3] = 0x0000000Cu; /* 02989E04 */ Gambit_fn_02801A78(cpu); /* 02989E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989E0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E0C */ _t16 = _t15 & 0x00000001u; /* 02989E0C */ if (_t16) goto L_02989E1C; else goto L_02989E10; L_02989E10: ; // 0x2989e10 /* 02989E10 */ _t17 = cpu->r[3] + 0x00000004u; /* 02989E10 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]); /* 02989E14 */ _t18 = cpu->r[3] + 0x00000000u; /* 02989E14 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]); /* 02989E18 */ _t19 = cpu->r[3] + 0x00000008u; /* 02989E18 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]); L_02989E1C: ; // 0x2989e1c /* 02989E1C */ cpu->r[4] = 0x00000020u; /* 02989E20 */ cpu->r[5] = cpu->r[29] + 0x0000000Cu; /* 02989E24 */ cpu->r[3] = cpu->r[29]; /* 02989E28 */ Gambit_fn_028023A8(cpu); L_02989E2C: ; // 0x2989e2c /* 02989E2C */ cpu->r[29] = cpu->r[31] + 0x0000008Cu; /* 02989E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989E30 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E30 */ _t21 = _t20 & 0x00000001u; /* 02989E30 */ if (_t21) goto L_02989E34; else goto L_02989E44; L_02989E34: ; // 0x2989e34 /* 02989E34 */ cpu->r[3] = 0x0000008Cu; /* 02989E38 */ Gambit_fn_02801A78(cpu); /* 02989E3C */ cpu->r[29] = cpu->r[3]; /* 02989E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989E40 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E40 */ _t23 = _t22 & 0x00000001u; /* 02989E40 */ if (_t23) goto L_02989E78; else goto L_02989E44; L_02989E44: ; // 0x2989e44 /* 02989E44 */ cpu->r[3] = cpu->r[29]; /* 02989E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989E48 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E48 */ _t25 = _t24 & 0x00000001u; /* 02989E48 */ if (_t25) goto L_02989E4C; else goto L_02989E5C; L_02989E4C: ; // 0x2989e4c /* 02989E4C */ cpu->r[3] = 0x0000000Cu; /* 02989E50 */ Gambit_fn_02801A78(cpu); /* 02989E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989E58 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E58 */ _t27 = _t26 & 0x00000001u; /* 02989E58 */ if (_t27) goto L_02989E68; else goto L_02989E5C; L_02989E5C: ; // 0x2989e5c /* 02989E5C */ _t28 = cpu->r[3] + 0x00000004u; /* 02989E5C */ rbrew_write32(cpu->mem, _t28, cpu->r[30]); /* 02989E60 */ _t29 = cpu->r[3] + 0x00000000u; /* 02989E60 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]); /* 02989E64 */ _t30 = cpu->r[3] + 0x00000008u; /* 02989E64 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]); L_02989E68: ; // 0x2989e68 /* 02989E68 */ cpu->r[4] = 0x00000020u; /* 02989E6C */ cpu->r[5] = cpu->r[29] + 0x0000000Cu; /* 02989E70 */ cpu->r[3] = cpu->r[29]; /* 02989E74 */ Gambit_fn_028023A8(cpu); L_02989E78: ; // 0x2989e78 /* 02989E78 */ cpu->r[29] = cpu->r[31] + 0x00000118u; /* 02989E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989E7C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E7C */ _t32 = _t31 & 0x00000001u; /* 02989E7C */ if (_t32) goto L_02989E80; else goto L_02989E90; L_02989E80: ; // 0x2989e80 /* 02989E80 */ cpu->r[3] = 0x0000008Cu; /* 02989E84 */ Gambit_fn_02801A78(cpu); /* 02989E88 */ cpu->r[29] = cpu->r[3]; /* 02989E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989E8C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E8C */ _t34 = _t33 & 0x00000001u; /* 02989E8C */ if (_t34) goto L_02989EC4; else goto L_02989E90; L_02989E90: ; // 0x2989e90 /* 02989E90 */ cpu->r[3] = cpu->r[29]; /* 02989E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989E94 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989E94 */ _t36 = _t35 & 0x00000001u; /* 02989E94 */ if (_t36) goto L_02989E98; else goto L_02989EA8; L_02989E98: ; // 0x2989e98 /* 02989E98 */ cpu->r[3] = 0x0000000Cu; /* 02989E9C */ Gambit_fn_02801A78(cpu); /* 02989EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989EA4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989EA4 */ _t38 = _t37 & 0x00000001u; /* 02989EA4 */ if (_t38) goto L_02989EB4; else goto L_02989EA8; L_02989EA8: ; // 0x2989ea8 /* 02989EA8 */ _t39 = cpu->r[3] + 0x00000004u; /* 02989EA8 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]); /* 02989EAC */ _t40 = cpu->r[3] + 0x00000000u; /* 02989EAC */ rbrew_write32(cpu->mem, _t40, cpu->r[30]); /* 02989EB0 */ _t41 = cpu->r[3] + 0x00000008u; /* 02989EB0 */ rbrew_write32(cpu->mem, _t41, cpu->r[30]); L_02989EB4: ; // 0x2989eb4 /* 02989EB4 */ cpu->r[4] = 0x00000020u; /* 02989EB8 */ cpu->r[5] = cpu->r[29] + 0x0000000Cu; /* 02989EBC */ cpu->r[3] = cpu->r[29]; /* 02989EC0 */ Gambit_fn_028023A8(cpu); L_02989EC4: ; // 0x2989ec4 /* 02989EC4 */ cpu->r[29] = cpu->r[31] + 0x000001A4u; /* 02989EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989EC8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989EC8 */ _t43 = _t42 & 0x00000001u; /* 02989EC8 */ if (_t43) goto L_02989ECC; else goto L_02989EDC; L_02989ECC: ; // 0x2989ecc /* 02989ECC */ cpu->r[3] = 0x0000008Cu; /* 02989ED0 */ Gambit_fn_02801A78(cpu); /* 02989ED4 */ cpu->r[29] = cpu->r[3]; /* 02989ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 02989ED8 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989ED8 */ _t45 = _t44 & 0x00000001u; /* 02989ED8 */ if (_t45) goto L_02989F10; else goto L_02989EDC; L_02989EDC: ; // 0x2989edc /* 02989EDC */ cpu->r[3] = cpu->r[29]; /* 02989EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989EE0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989EE0 */ _t47 = _t46 & 0x00000001u; /* 02989EE0 */ if (_t47) goto L_02989EE4; else goto L_02989EF4; L_02989EE4: ; // 0x2989ee4 /* 02989EE4 */ cpu->r[3] = 0x0000000Cu; /* 02989EE8 */ Gambit_fn_02801A78(cpu); /* 02989EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02989EF0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989EF0 */ _t49 = _t48 & 0x00000001u; /* 02989EF0 */ if (_t49) goto L_02989F00; else goto L_02989EF4; L_02989EF4: ; // 0x2989ef4 /* 02989EF4 */ _t50 = cpu->r[3] + 0x00000004u; /* 02989EF4 */ rbrew_write32(cpu->mem, _t50, cpu->r[30]); /* 02989EF8 */ _t51 = cpu->r[3] + 0x00000000u; /* 02989EF8 */ rbrew_write32(cpu->mem, _t51, cpu->r[30]); /* 02989EFC */ _t52 = cpu->r[3] + 0x00000008u; /* 02989EFC */ rbrew_write32(cpu->mem, _t52, cpu->r[30]); L_02989F00: ; // 0x2989f00 /* 02989F00 */ cpu->r[4] = 0x00000020u; /* 02989F04 */ cpu->r[5] = cpu->r[29] + 0x0000000Cu; /* 02989F08 */ cpu->r[3] = cpu->r[29]; /* 02989F0C */ Gambit_fn_028023A8(cpu); L_02989F10: ; // 0x2989f10 /* 02989F10 */ _t53 = cpu->r[31] + 0x000002B0u; /* 02989F10 */ rbrew_write32(cpu->mem, _t53, cpu->r[30]); L_02989F14: ; // 0x2989f14 /* 02989F14 */ _t54 = cpu->r[1] + 0x0000000Cu; /* 02989F14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54); /* 02989F18 */ _t55 = cpu->r[1] + 0x0000001Cu; /* 02989F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55); /* 02989F1C */ cpu->r[3] = cpu->r[31]; /* 02989F20 */ _t56 = cpu->r[1] + 0x00000010u; /* 02989F20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56); /* 02989F24 */ cpu->lr = cpu->r[0]; /* 02989F28 */ _t57 = cpu->r[1] + 0x00000014u; /* 02989F28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57); /* 02989F2C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02989F30 */ return; } // fn_02989F34 @ 0x2989f34 void Gambit_fn_02989F34(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_02989F34: ; // 0x2989f34 /* 02989F34 */ _t0 = cpu->r[3] + 0x00000000u; /* 02989F34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 02989F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02989F3C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989F3C */ _t2 = _t1 & 0x00000001u; /* 02989F3C */ if (_t2) goto L_02989F64; else goto L_02989F40; L_02989F40: ; // 0x2989f40 /* 02989F40 */ _t3 = cpu->r[4] + 0x00000000u; /* 02989F40 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3); /* 02989F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 02989F48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989F48 */ _t5 = _t4 & 0x00000001u; /* 02989F48 */ if (_t5) goto L_02989F54; else goto L_02989F4C; L_02989F4C: ; // 0x2989f4c /* 02989F4C */ cpu->r[3] = 0x00000000u; /* 02989F50 */ return; L_02989F54: ; // 0x2989f54 /* 02989F54 */ _t6 = cpu->r[3] + 0x00000001u; /* 02989F54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 02989F54 */ cpu->r[3] = _t6; /* 02989F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02989F5C */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 02989F60 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989F60 */ _t8 = _t7 & 0x00000001u; /* 02989F60 */ if (_t8) goto L_02989F64; else goto L_02989F40; L_02989F64: ; // 0x2989f64 /* 02989F64 */ cpu->r[3] = 0x00000001u; /* 02989F68 */ return; } // fn_02989F6C @ 0x2989f6c void Gambit_fn_02989F6C(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; L_02989F6C: ; // 0x2989f6c /* 02989F6C */ _t0 = cpu->r[1] + 0xFFFFEFA8u; /* 02989F6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02989F6C */ cpu->r[1] = _t0; /* 02989F70 */ /* nop */ /* 02989F74 */ cpu->r[0] = cpu->lr; /* 02989F78 */ _t1 = cpu->r[1] + 0x0000105Cu; /* 02989F78 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02989F7C */ cpu->r[29] = cpu->r[4]; /* 02989F80 */ _t2 = cpu->r[5] + 0x00000004u; /* 02989F80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 02989F80 */ cpu->r[5] = _t2; /* 02989F84 */ cpu->r[28] = cpu->r[3]; /* 02989F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02989F8C */ cpu->r[31] = 0x00000000u; /* 02989F90 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02989F90 */ _t4 = _t3 & 0x00000001u; /* 02989F90 */ if (_t4) goto L_02989F98; else goto L_02989F94; L_02989F94: ; // 0x2989f94 /* 02989F94 */ cpu->r[31] = cpu->r[5] + cpu->r[7]; L_02989F98: ; // 0x2989f98 /* 02989F98 */ cpu->r[4] = 0x10150000u; /* 02989F9C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02989FA0 */ cpu->r[5] = cpu->r[31]; /* 02989FA4 */ cpu->r[4] = cpu->r[4] + 0xFFFFEF80u; /* 02989FA8 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u); /* 02989FA8 */ _t6 = _t5 & 0x00000001u; /* 02989FA8 */ if (_t6) goto L_02989FAC; // else: addr-0 trap, fall-through L_02989FAC: ; // 0x2989fac /* 02989FAC */ Gambit_fn_0298ABE4(cpu); /* 02989FB0 */ cpu->r[4] = 0x10150000u; /* 02989FB4 */ cpu->r[3] = cpu->r[1] + 0x00000414u; /* 02989FB8 */ cpu->r[5] = cpu->r[31]; /* 02989FBC */ cpu->r[4] = cpu->r[4] + 0xFFFFEF88u; /* 02989FC0 */ _t7 = cpu->cr[1] >> (0x00000001u & 31u); /* 02989FC0 */ _t8 = _t7 & 0x00000001u; /* 02989FC0 */ if (_t8) goto L_02989FC4; // else: addr-0 trap, fall-through L_02989FC4: ; // 0x2989fc4 /* 02989FC4 */ Gambit_fn_0298ABE4(cpu); /* 02989FC8 */ cpu->r[4] = 0x10150000u; /* 02989FCC */ cpu->r[3] = cpu->r[1] + 0x00000820u; /* 02989FD0 */ cpu->r[5] = cpu->r[31]; /* 02989FD4 */ cpu->r[4] = cpu->r[4] + 0xFFFFEF90u; /* 02989FD8 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u); /* 02989FD8 */ _t10 = _t9 & 0x00000001u; /* 02989FD8 */ if (_t10) goto L_02989FDC; // else: addr-0 trap, fall-through L_02989FDC: ; // 0x2989fdc /* 02989FDC */ Gambit_fn_0298ABE4(cpu); /* 02989FE0 */ cpu->r[4] = 0x10150000u; /* 02989FE4 */ cpu->r[3] = cpu->r[1] + 0x00000C2Cu; /* 02989FE8 */ cpu->r[5] = cpu->r[31]; /* 02989FEC */ cpu->r[4] = cpu->r[4] + 0xFFFFEF9Cu; /* 02989FF0 */ _t11 = cpu->cr[1] >> (0x00000001u & 31u); /* 02989FF0 */ _t12 = _t11 & 0x00000001u; /* 02989FF0 */ if (_t12) goto L_02989FF4; // else: addr-0 trap, fall-through L_02989FF4: ; // 0x2989ff4 /* 02989FF4 */ Gambit_fn_0298ABE4(cpu); /* 02989FF8 */ _t13 = cpu->r[29] + 0x00000054u; /* 02989FF8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13); /* 02989FFC */ cpu->r[25] = 0x00000000u; /* 0298A000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[0]); /* 0298A004 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A004 */ _t15 = _t14 & 0x00000001u; /* 0298A004 */ if (_t15) goto L_0298A008; else goto L_0298A198; L_0298A008: ; // 0x298a008 /* 0298A008 */ cpu->r[26] = 0x00000000u; L_0298A00C: ; // 0x298a00c /* 0298A00C */ _t16 = cpu->r[29] + 0x00000028u; /* 0298A00C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16); /* 0298A010 */ cpu->r[12] = 0x00000000u; /* 0298A014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0298A018 */ cpu->r[10] = cpu->r[29] + 0x00000028u; /* 0298A01C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A01C */ _t18 = _t17 & 0x00000001u; /* 0298A01C */ if (_t18) goto L_0298A024; else goto L_0298A020; L_0298A020: ; // 0x298a020 /* 0298A020 */ cpu->r[12] = cpu->r[10] + cpu->r[9]; L_0298A024: ; // 0x298a024 /* 0298A024 */ cpu->r[4] = cpu->r[12] + cpu->r[26]; /* 0298A028 */ _t19 = cpu->r[1] + 0x00000824u; /* 0298A028 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19); /* 0298A02C */ _t20 = cpu->r[4] + 0x00000024u; /* 0298A02C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20); /* 0298A030 */ cpu->r[10] = cpu->r[4] + 0x00000024u; /* 0298A034 */ cpu->r[30] = 0x00000000u; /* 0298A038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298A03C */ _t21 = cpu->r[6] + 0x00000014u; /* 0298A03C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21); /* 0298A040 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A040 */ _t23 = _t22 & 0x00000001u; /* 0298A040 */ if (_t23) goto L_0298A048; else goto L_0298A044; L_0298A044: ; // 0x298a044 /* 0298A044 */ cpu->r[30] = cpu->r[10] + cpu->r[11]; L_0298A048: ; // 0x298a048 /* 0298A048 */ cpu->ctr = cpu->r[7]; /* 0298A04C */ cpu->r[31] = 0x00000001u; /* 0298A050 */ cpu->r[3] = cpu->r[1] + 0x00000820u; /* 0298A054 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A058 */ cpu->r[27] = cpu->r[30] + 0x00000004u; /* 0298A05C */ cpu->r[9] = cpu->r[27]; /* 0298A060 */ _t24 = cpu->r[9] + 0x00000000u; /* 0298A060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298A064 */ _t25 = cpu->r[1] + 0x00000820u; /* 0298A064 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25); /* 0298A068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298A06C */ cpu->r[4] = 0x00000000u; /* 0298A070 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A070 */ _t27 = _t26 & 0x00000001u; /* 0298A070 */ if (_t27) goto L_0298A078; else goto L_0298A074; L_0298A074: ; // 0x298a074 /* 0298A074 */ cpu->r[4] = cpu->r[9] + cpu->r[0]; L_0298A078: ; // 0x298a078 /* 0298A078 */ Gambit_fn_02989F34(cpu); /* 0298A07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A080 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A080 */ _t29 = _t28 & 0x00000001u; /* 0298A080 */ if (_t29) goto L_0298A084; else goto L_0298A0C0; L_0298A084: ; // 0x298a084 /* 0298A084 */ _t30 = cpu->r[1] + 0x00000C30u; /* 0298A084 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30); /* 0298A088 */ _t31 = cpu->r[9] + 0x00000014u; /* 0298A088 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31); /* 0298A08C */ cpu->ctr = cpu->r[10]; /* 0298A090 */ cpu->r[3] = cpu->r[1] + 0x00000C2Cu; /* 0298A094 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A098 */ _t32 = cpu->r[27] + 0x00000000u; /* 0298A098 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32); /* 0298A09C */ _t33 = cpu->r[1] + 0x00000C2Cu; /* 0298A09C */ cpu->r[3] = rbrew_read32(cpu->mem, _t33); /* 0298A0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0298A0A4 */ cpu->r[4] = 0x00000000u; /* 0298A0A8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A0A8 */ _t35 = _t34 & 0x00000001u; /* 0298A0A8 */ if (_t35) goto L_0298A0B0; else goto L_0298A0AC; L_0298A0AC: ; // 0x298a0ac /* 0298A0AC */ cpu->r[4] = cpu->r[27] + cpu->r[5]; L_0298A0B0: ; // 0x298a0b0 /* 0298A0B0 */ Gambit_fn_02989F34(cpu); /* 0298A0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A0B8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A0B8 */ _t37 = _t36 & 0x00000001u; /* 0298A0B8 */ if (_t37) goto L_0298A0BC; else goto L_0298A0C0; L_0298A0BC: ; // 0x298a0bc /* 0298A0BC */ cpu->r[31] = 0x00000000u; L_0298A0C0: ; // 0x298a0c0 /* 0298A0C0 */ _t38 = cpu->r[1] + 0x0000000Cu; /* 0298A0C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38); /* 0298A0C4 */ _t39 = cpu->r[11] + 0x00000014u; /* 0298A0C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39); /* 0298A0C8 */ cpu->ctr = cpu->r[12]; /* 0298A0CC */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298A0D0 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298A0D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A0D8 */ _t40 = cpu->r[27] + 0x00000000u; /* 0298A0D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40); /* 0298A0DC */ _t41 = cpu->r[1] + 0x00000008u; /* 0298A0DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t41); /* 0298A0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0298A0E4 */ cpu->r[4] = 0x00000000u; /* 0298A0E8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A0E8 */ _t43 = _t42 & 0x00000001u; /* 0298A0E8 */ if (_t43) goto L_0298A0F0; else goto L_0298A0EC; L_0298A0EC: ; // 0x298a0ec /* 0298A0EC */ cpu->r[4] = cpu->r[27] + cpu->r[8]; L_0298A0F0: ; // 0x298a0f0 /* 0298A0F0 */ Gambit_fn_02989F34(cpu); /* 0298A0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A0F8 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A0F8 */ _t45 = _t44 & 0x00000001u; /* 0298A0F8 */ if (_t45) goto L_0298A0FC; else goto L_0298A13C; L_0298A0FC: ; // 0x298a0fc /* 0298A0FC */ _t46 = cpu->r[1] + 0x00000418u; /* 0298A0FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t46); /* 0298A100 */ _t47 = cpu->r[4] + 0x00000014u; /* 0298A100 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47); /* 0298A104 */ cpu->ctr = cpu->r[6]; /* 0298A108 */ cpu->r[3] = cpu->r[1] + 0x00000414u; /* 0298A10C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A110 */ _t48 = cpu->r[27] + 0x00000000u; /* 0298A110 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48); /* 0298A114 */ _t49 = cpu->r[1] + 0x00000414u; /* 0298A114 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49); /* 0298A118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298A11C */ cpu->r[4] = 0x00000000u; /* 0298A120 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A120 */ _t51 = _t50 & 0x00000001u; /* 0298A120 */ if (_t51) goto L_0298A128; else goto L_0298A124; L_0298A124: ; // 0x298a124 /* 0298A124 */ cpu->r[4] = cpu->r[27] + cpu->r[10]; L_0298A128: ; // 0x298a128 /* 0298A128 */ Gambit_fn_02989F34(cpu); /* 0298A12C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A130 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A130 */ _t53 = _t52 & 0x00000001u; /* 0298A130 */ if (_t53) goto L_0298A134; else goto L_0298A13C; L_0298A134: ; // 0x298a134 /* 0298A134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298A138 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A138 */ _t55 = _t54 & 0x00000001u; /* 0298A138 */ if (_t55) goto L_0298A184; else goto L_0298A13C; L_0298A13C: ; // 0x298a13c /* 0298A13C */ _t56 = cpu->r[28] + 0x000002B0u; /* 0298A13C */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 0298A140 */ cpu->r[9] = cpu->r[28] + 0x00000230u; /* 0298A144 */ cpu->r[8] = cpu->r[7] + 0x00000001u; /* 0298A148 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000080u); /* 0298A14C */ _t57 = cpu->r[28] + 0x000002B0u; /* 0298A14C */ rbrew_write32(cpu->mem, _t57, cpu->r[8]); /* 0298A150 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A150 */ _t59 = _t58 & 0x00000001u; /* 0298A150 */ if (_t59) goto L_0298A154; else goto L_0298A158; L_0298A154: ; // 0x298a154 /* 0298A154 */ cpu->r[9] = cpu->r[9] + cpu->r[7]; L_0298A158: ; // 0x298a158 /* 0298A158 */ _t60 = cpu->r[9] + 0x00000000u; /* 0298A158 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[31]); /* 0298A15C */ _t61 = cpu->r[28] + 0x00000000u; /* 0298A15C */ cpu->r[12] = rbrew_read32(cpu->mem, _t61); /* 0298A160 */ _t62 = cpu->r[28] + 0x00000004u; /* 0298A160 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62); /* 0298A164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[9]); /* 0298A168 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A168 */ _t64 = _t63 & 0x00000001u; /* 0298A168 */ if (_t64) goto L_0298A16C; else goto L_0298A184; L_0298A16C: ; // 0x298a16c /* 0298A16C */ _t65 = cpu->r[28] + 0x00000008u; /* 0298A16C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65); /* 0298A170 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298A174 */ _t66 = cpu->r[10] + cpu->r[0]; /* 0298A174 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]); /* 0298A178 */ _t67 = cpu->r[28] + 0x00000000u; /* 0298A178 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67); /* 0298A17C */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0298A180 */ _t68 = cpu->r[28] + 0x00000000u; /* 0298A180 */ rbrew_write32(cpu->mem, _t68, cpu->r[4]); L_0298A184: ; // 0x298a184 /* 0298A184 */ _t69 = cpu->r[29] + 0x00000054u; /* 0298A184 */ cpu->r[5] = rbrew_read16(cpu->mem, _t69); /* 0298A188 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0298A18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]); /* 0298A190 */ cpu->r[26] = cpu->r[26] + 0x00000010u; /* 0298A194 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A194 */ _t71 = _t70 & 0x00000001u; /* 0298A194 */ if (_t71) goto L_0298A00C; else goto L_0298A198; L_0298A198: ; // 0x298a198 /* 0298A198 */ _t72 = cpu->r[29] + 0x00000056u; /* 0298A198 */ cpu->r[6] = rbrew_read16(cpu->mem, _t72); /* 0298A19C */ cpu->r[26] = 0x00000000u; /* 0298A1A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[6]); /* 0298A1A4 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A1A4 */ _t74 = _t73 & 0x00000001u; /* 0298A1A4 */ if (_t74) goto L_0298A1A8; else goto L_0298A338; L_0298A1A8: ; // 0x298a1a8 /* 0298A1A8 */ cpu->r[25] = 0x00000000u; L_0298A1AC: ; // 0x298a1ac /* 0298A1AC */ _t75 = cpu->r[29] + 0x0000002Cu; /* 0298A1AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t75); /* 0298A1B0 */ cpu->r[11] = 0x00000000u; /* 0298A1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298A1B8 */ cpu->r[12] = cpu->r[29] + 0x0000002Cu; /* 0298A1BC */ _t76 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A1BC */ _t77 = _t76 & 0x00000001u; /* 0298A1BC */ if (_t77) goto L_0298A1C4; else goto L_0298A1C0; L_0298A1C0: ; // 0x298a1c0 /* 0298A1C0 */ cpu->r[11] = cpu->r[12] + cpu->r[0]; L_0298A1C4: ; // 0x298a1c4 /* 0298A1C4 */ cpu->r[8] = cpu->r[11] + cpu->r[25]; /* 0298A1C8 */ _t78 = cpu->r[1] + 0x00000824u; /* 0298A1C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78); /* 0298A1CC */ _t79 = cpu->r[8] + 0x00000024u; /* 0298A1CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t79); /* 0298A1D0 */ cpu->r[6] = cpu->r[8] + 0x00000024u; /* 0298A1D4 */ cpu->r[30] = 0x00000000u; /* 0298A1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0298A1DC */ _t80 = cpu->r[9] + 0x00000014u; /* 0298A1DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t80); /* 0298A1E0 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A1E0 */ _t82 = _t81 & 0x00000001u; /* 0298A1E0 */ if (_t82) goto L_0298A1E8; else goto L_0298A1E4; L_0298A1E4: ; // 0x298a1e4 /* 0298A1E4 */ cpu->r[30] = cpu->r[6] + cpu->r[5]; L_0298A1E8: ; // 0x298a1e8 /* 0298A1E8 */ cpu->ctr = cpu->r[10]; /* 0298A1EC */ cpu->r[31] = 0x00000001u; /* 0298A1F0 */ cpu->r[3] = cpu->r[1] + 0x00000820u; /* 0298A1F4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A1F8 */ cpu->r[27] = cpu->r[30] + 0x00000004u; /* 0298A1FC */ cpu->r[12] = cpu->r[27]; /* 0298A200 */ _t83 = cpu->r[12] + 0x00000000u; /* 0298A200 */ cpu->r[8] = rbrew_read32(cpu->mem, _t83); /* 0298A204 */ _t84 = cpu->r[1] + 0x00000820u; /* 0298A204 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84); /* 0298A208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0298A20C */ cpu->r[4] = 0x00000000u; /* 0298A210 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A210 */ _t86 = _t85 & 0x00000001u; /* 0298A210 */ if (_t86) goto L_0298A218; else goto L_0298A214; L_0298A214: ; // 0x298a214 /* 0298A214 */ cpu->r[4] = cpu->r[12] + cpu->r[8]; L_0298A218: ; // 0x298a218 /* 0298A218 */ Gambit_fn_02989F34(cpu); /* 0298A21C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A220 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A220 */ _t88 = _t87 & 0x00000001u; /* 0298A220 */ if (_t88) goto L_0298A224; else goto L_0298A260; L_0298A224: ; // 0x298a224 /* 0298A224 */ _t89 = cpu->r[1] + 0x00000C30u; /* 0298A224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t89); /* 0298A228 */ _t90 = cpu->r[12] + 0x00000014u; /* 0298A228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90); /* 0298A22C */ cpu->ctr = cpu->r[0]; /* 0298A230 */ cpu->r[3] = cpu->r[1] + 0x00000C2Cu; /* 0298A234 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A238 */ _t91 = cpu->r[27] + 0x00000000u; /* 0298A238 */ cpu->r[10] = rbrew_read32(cpu->mem, _t91); /* 0298A23C */ _t92 = cpu->r[1] + 0x00000C2Cu; /* 0298A23C */ cpu->r[3] = rbrew_read32(cpu->mem, _t92); /* 0298A240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298A244 */ cpu->r[4] = 0x00000000u; /* 0298A248 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A248 */ _t94 = _t93 & 0x00000001u; /* 0298A248 */ if (_t94) goto L_0298A250; else goto L_0298A24C; L_0298A24C: ; // 0x298a24c /* 0298A24C */ cpu->r[4] = cpu->r[27] + cpu->r[10]; L_0298A250: ; // 0x298a250 /* 0298A250 */ Gambit_fn_02989F34(cpu); /* 0298A254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A258 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A258 */ _t96 = _t95 & 0x00000001u; /* 0298A258 */ if (_t96) goto L_0298A25C; else goto L_0298A260; L_0298A25C: ; // 0x298a25c /* 0298A25C */ cpu->r[31] = 0x00000000u; L_0298A260: ; // 0x298a260 /* 0298A260 */ _t97 = cpu->r[1] + 0x0000000Cu; /* 0298A260 */ cpu->r[4] = rbrew_read32(cpu->mem, _t97); /* 0298A264 */ _t98 = cpu->r[4] + 0x00000014u; /* 0298A264 */ cpu->r[5] = rbrew_read32(cpu->mem, _t98); /* 0298A268 */ cpu->ctr = cpu->r[5]; /* 0298A26C */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298A270 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298A274 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A278 */ _t99 = cpu->r[27] + 0x00000000u; /* 0298A278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99); /* 0298A27C */ _t100 = cpu->r[1] + 0x00000008u; /* 0298A27C */ cpu->r[3] = rbrew_read32(cpu->mem, _t100); /* 0298A280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298A284 */ cpu->r[4] = 0x00000000u; /* 0298A288 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A288 */ _t102 = _t101 & 0x00000001u; /* 0298A288 */ if (_t102) goto L_0298A290; else goto L_0298A28C; L_0298A28C: ; // 0x298a28c /* 0298A28C */ cpu->r[4] = cpu->r[27] + cpu->r[0]; L_0298A290: ; // 0x298a290 /* 0298A290 */ Gambit_fn_02989F34(cpu); /* 0298A294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A298 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A298 */ _t104 = _t103 & 0x00000001u; /* 0298A298 */ if (_t104) goto L_0298A29C; else goto L_0298A2DC; L_0298A29C: ; // 0x298a29c /* 0298A29C */ _t105 = cpu->r[1] + 0x00000418u; /* 0298A29C */ cpu->r[8] = rbrew_read32(cpu->mem, _t105); /* 0298A2A0 */ _t106 = cpu->r[8] + 0x00000014u; /* 0298A2A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t106); /* 0298A2A4 */ cpu->ctr = cpu->r[10]; /* 0298A2A8 */ cpu->r[3] = cpu->r[1] + 0x00000414u; /* 0298A2AC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A2B0 */ _t107 = cpu->r[27] + 0x00000000u; /* 0298A2B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t107); /* 0298A2B4 */ _t108 = cpu->r[1] + 0x00000414u; /* 0298A2B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t108); /* 0298A2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0298A2BC */ cpu->r[4] = 0x00000000u; /* 0298A2C0 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A2C0 */ _t110 = _t109 & 0x00000001u; /* 0298A2C0 */ if (_t110) goto L_0298A2C8; else goto L_0298A2C4; L_0298A2C4: ; // 0x298a2c4 /* 0298A2C4 */ cpu->r[4] = cpu->r[27] + cpu->r[6]; L_0298A2C8: ; // 0x298a2c8 /* 0298A2C8 */ Gambit_fn_02989F34(cpu); /* 0298A2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A2D0 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A2D0 */ _t112 = _t111 & 0x00000001u; /* 0298A2D0 */ if (_t112) goto L_0298A2D4; else goto L_0298A2DC; L_0298A2D4: ; // 0x298a2d4 /* 0298A2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298A2D8 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A2D8 */ _t114 = _t113 & 0x00000001u; /* 0298A2D8 */ if (_t114) goto L_0298A324; else goto L_0298A2DC; L_0298A2DC: ; // 0x298a2dc /* 0298A2DC */ _t115 = cpu->r[28] + 0x000002B0u; /* 0298A2DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t115); /* 0298A2E0 */ cpu->r[11] = cpu->r[28] + 0x00000230u; /* 0298A2E4 */ cpu->r[12] = cpu->r[10] + 0x00000001u; /* 0298A2E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000080u); /* 0298A2EC */ _t116 = cpu->r[28] + 0x000002B0u; /* 0298A2EC */ rbrew_write32(cpu->mem, _t116, cpu->r[12]); /* 0298A2F0 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A2F0 */ _t118 = _t117 & 0x00000001u; /* 0298A2F0 */ if (_t118) goto L_0298A2F4; else goto L_0298A2F8; L_0298A2F4: ; // 0x298a2f4 /* 0298A2F4 */ cpu->r[11] = cpu->r[11] + cpu->r[10]; L_0298A2F8: ; // 0x298a2f8 /* 0298A2F8 */ _t119 = cpu->r[11] + 0x00000000u; /* 0298A2F8 */ rbrew_write8(cpu->mem, _t119, (uint8_t)cpu->r[31]); /* 0298A2FC */ _t120 = cpu->r[28] + 0x0000008Cu; /* 0298A2FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t120); /* 0298A300 */ _t121 = cpu->r[28] + 0x00000090u; /* 0298A300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121); /* 0298A304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]); /* 0298A308 */ _t122 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A308 */ _t123 = _t122 & 0x00000001u; /* 0298A308 */ if (_t123) goto L_0298A30C; else goto L_0298A324; L_0298A30C: ; // 0x298a30c /* 0298A30C */ _t124 = cpu->r[28] + 0x00000094u; /* 0298A30C */ cpu->r[5] = rbrew_read32(cpu->mem, _t124); /* 0298A310 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298A314 */ _t125 = cpu->r[4] + cpu->r[5]; /* 0298A314 */ rbrew_write32(cpu->mem, _t125, cpu->r[30]); /* 0298A318 */ _t126 = cpu->r[28] + 0x0000008Cu; /* 0298A318 */ cpu->r[6] = rbrew_read32(cpu->mem, _t126); /* 0298A31C */ cpu->r[6] = cpu->r[6] + 0x00000001u; /* 0298A320 */ _t127 = cpu->r[28] + 0x0000008Cu; /* 0298A320 */ rbrew_write32(cpu->mem, _t127, cpu->r[6]); L_0298A324: ; // 0x298a324 /* 0298A324 */ _t128 = cpu->r[29] + 0x00000056u; /* 0298A324 */ cpu->r[7] = rbrew_read16(cpu->mem, _t128); /* 0298A328 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0298A32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[7]); /* 0298A330 */ cpu->r[25] = cpu->r[25] + 0x00000010u; /* 0298A334 */ _t129 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A334 */ _t130 = _t129 & 0x00000001u; /* 0298A334 */ if (_t130) goto L_0298A1AC; else goto L_0298A338; L_0298A338: ; // 0x298a338 /* 0298A338 */ _t131 = cpu->r[29] + 0x00000058u; /* 0298A338 */ cpu->r[8] = rbrew_read16(cpu->mem, _t131); /* 0298A33C */ cpu->r[26] = 0x00000000u; /* 0298A340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[8]); /* 0298A344 */ _t132 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A344 */ _t133 = _t132 & 0x00000001u; /* 0298A344 */ if (_t133) goto L_0298A348; else goto L_0298A4D4; L_0298A348: ; // 0x298a348 /* 0298A348 */ cpu->r[25] = 0x00000000u; L_0298A34C: ; // 0x298a34c /* 0298A34C */ _t134 = cpu->r[29] + 0x00000030u; /* 0298A34C */ cpu->r[8] = rbrew_read32(cpu->mem, _t134); /* 0298A350 */ cpu->r[9] = 0x00000000u; /* 0298A354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0298A358 */ cpu->r[4] = cpu->r[29] + 0x00000030u; /* 0298A35C */ _t135 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A35C */ _t136 = _t135 & 0x00000001u; /* 0298A35C */ if (_t136) goto L_0298A364; else goto L_0298A360; L_0298A360: ; // 0x298a360 /* 0298A360 */ cpu->r[9] = cpu->r[4] + cpu->r[8]; L_0298A364: ; // 0x298a364 /* 0298A364 */ cpu->r[10] = cpu->r[9] + cpu->r[25]; /* 0298A368 */ _t137 = cpu->r[10] + 0x00000024u; /* 0298A368 */ cpu->r[11] = rbrew_read32(cpu->mem, _t137); /* 0298A368 */ cpu->r[10] = _t137; /* 0298A36C */ _t138 = cpu->r[1] + 0x00000824u; /* 0298A36C */ cpu->r[12] = rbrew_read32(cpu->mem, _t138); /* 0298A370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298A374 */ cpu->r[30] = 0x00000000u; /* 0298A378 */ _t139 = cpu->r[12] + 0x00000014u; /* 0298A378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139); /* 0298A37C */ _t140 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A37C */ _t141 = _t140 & 0x00000001u; /* 0298A37C */ if (_t141) goto L_0298A384; else goto L_0298A380; L_0298A380: ; // 0x298a380 /* 0298A380 */ cpu->r[30] = cpu->r[10] + cpu->r[11]; L_0298A384: ; // 0x298a384 /* 0298A384 */ cpu->ctr = cpu->r[0]; /* 0298A388 */ cpu->r[31] = 0x00000001u; /* 0298A38C */ cpu->r[3] = cpu->r[1] + 0x00000820u; /* 0298A390 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A394 */ cpu->r[27] = cpu->r[30] + 0x00000004u; /* 0298A398 */ cpu->r[11] = cpu->r[27]; /* 0298A39C */ _t142 = cpu->r[11] + 0x00000000u; /* 0298A39C */ cpu->r[0] = rbrew_read32(cpu->mem, _t142); /* 0298A3A0 */ _t143 = cpu->r[1] + 0x00000820u; /* 0298A3A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t143); /* 0298A3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298A3A8 */ cpu->r[4] = 0x00000000u; /* 0298A3AC */ _t144 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A3AC */ _t145 = _t144 & 0x00000001u; /* 0298A3AC */ if (_t145) goto L_0298A3B4; else goto L_0298A3B0; L_0298A3B0: ; // 0x298a3b0 /* 0298A3B0 */ cpu->r[4] = cpu->r[11] + cpu->r[0]; L_0298A3B4: ; // 0x298a3b4 /* 0298A3B4 */ Gambit_fn_02989F34(cpu); /* 0298A3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A3BC */ _t146 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A3BC */ _t147 = _t146 & 0x00000001u; /* 0298A3BC */ if (_t147) goto L_0298A3C0; else goto L_0298A3FC; L_0298A3C0: ; // 0x298a3c0 /* 0298A3C0 */ _t148 = cpu->r[1] + 0x00000C30u; /* 0298A3C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t148); /* 0298A3C4 */ _t149 = cpu->r[5] + 0x00000014u; /* 0298A3C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t149); /* 0298A3C8 */ cpu->ctr = cpu->r[6]; /* 0298A3CC */ cpu->r[3] = cpu->r[1] + 0x00000C2Cu; /* 0298A3D0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A3D4 */ _t150 = cpu->r[27] + 0x00000000u; /* 0298A3D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t150); /* 0298A3D8 */ _t151 = cpu->r[1] + 0x00000C2Cu; /* 0298A3D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t151); /* 0298A3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0298A3E0 */ cpu->r[4] = 0x00000000u; /* 0298A3E4 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A3E4 */ _t153 = _t152 & 0x00000001u; /* 0298A3E4 */ if (_t153) goto L_0298A3EC; else goto L_0298A3E8; L_0298A3E8: ; // 0x298a3e8 /* 0298A3E8 */ cpu->r[4] = cpu->r[27] + cpu->r[6]; L_0298A3EC: ; // 0x298a3ec /* 0298A3EC */ Gambit_fn_02989F34(cpu); /* 0298A3F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A3F4 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A3F4 */ _t155 = _t154 & 0x00000001u; /* 0298A3F4 */ if (_t155) goto L_0298A3F8; else goto L_0298A3FC; L_0298A3F8: ; // 0x298a3f8 /* 0298A3F8 */ cpu->r[31] = 0x00000000u; L_0298A3FC: ; // 0x298a3fc /* 0298A3FC */ _t156 = cpu->r[1] + 0x0000000Cu; /* 0298A3FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t156); /* 0298A400 */ _t157 = cpu->r[7] + 0x00000014u; /* 0298A400 */ cpu->r[9] = rbrew_read32(cpu->mem, _t157); /* 0298A404 */ cpu->ctr = cpu->r[9]; /* 0298A408 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298A40C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298A410 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A414 */ _t158 = cpu->r[27] + 0x00000000u; /* 0298A414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t158); /* 0298A418 */ _t159 = cpu->r[1] + 0x00000008u; /* 0298A418 */ cpu->r[3] = rbrew_read32(cpu->mem, _t159); /* 0298A41C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0298A420 */ cpu->r[4] = 0x00000000u; /* 0298A424 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A424 */ _t161 = _t160 & 0x00000001u; /* 0298A424 */ if (_t161) goto L_0298A42C; else goto L_0298A428; L_0298A428: ; // 0x298a428 /* 0298A428 */ cpu->r[4] = cpu->r[27] + cpu->r[8]; L_0298A42C: ; // 0x298a42c /* 0298A42C */ Gambit_fn_02989F34(cpu); /* 0298A430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A434 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A434 */ _t163 = _t162 & 0x00000001u; /* 0298A434 */ if (_t163) goto L_0298A438; else goto L_0298A478; L_0298A438: ; // 0x298a438 /* 0298A438 */ _t164 = cpu->r[1] + 0x00000418u; /* 0298A438 */ cpu->r[11] = rbrew_read32(cpu->mem, _t164); /* 0298A43C */ _t165 = cpu->r[11] + 0x00000014u; /* 0298A43C */ cpu->r[12] = rbrew_read32(cpu->mem, _t165); /* 0298A440 */ cpu->ctr = cpu->r[12]; /* 0298A444 */ cpu->r[3] = cpu->r[1] + 0x00000414u; /* 0298A448 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A44C */ _t166 = cpu->r[27] + 0x00000000u; /* 0298A44C */ cpu->r[10] = rbrew_read32(cpu->mem, _t166); /* 0298A450 */ _t167 = cpu->r[1] + 0x00000414u; /* 0298A450 */ cpu->r[3] = rbrew_read32(cpu->mem, _t167); /* 0298A454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298A458 */ cpu->r[4] = 0x00000000u; /* 0298A45C */ _t168 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A45C */ _t169 = _t168 & 0x00000001u; /* 0298A45C */ if (_t169) goto L_0298A464; else goto L_0298A460; L_0298A460: ; // 0x298a460 /* 0298A460 */ cpu->r[4] = cpu->r[27] + cpu->r[10]; L_0298A464: ; // 0x298a464 /* 0298A464 */ Gambit_fn_02989F34(cpu); /* 0298A468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A46C */ _t170 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A46C */ _t171 = _t170 & 0x00000001u; /* 0298A46C */ if (_t171) goto L_0298A470; else goto L_0298A478; L_0298A470: ; // 0x298a470 /* 0298A470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298A474 */ _t172 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A474 */ _t173 = _t172 & 0x00000001u; /* 0298A474 */ if (_t173) goto L_0298A4C0; else goto L_0298A478; L_0298A478: ; // 0x298a478 /* 0298A478 */ _t174 = cpu->r[28] + 0x000002B0u; /* 0298A478 */ cpu->r[11] = rbrew_read32(cpu->mem, _t174); /* 0298A47C */ cpu->r[12] = cpu->r[28] + 0x00000230u; /* 0298A480 */ cpu->r[4] = cpu->r[11] + 0x00000001u; /* 0298A484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000080u); /* 0298A488 */ _t175 = cpu->r[28] + 0x000002B0u; /* 0298A488 */ rbrew_write32(cpu->mem, _t175, cpu->r[4]); /* 0298A48C */ _t176 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A48C */ _t177 = _t176 & 0x00000001u; /* 0298A48C */ if (_t177) goto L_0298A490; else goto L_0298A494; L_0298A490: ; // 0x298a490 /* 0298A490 */ cpu->r[12] = cpu->r[12] + cpu->r[11]; L_0298A494: ; // 0x298a494 /* 0298A494 */ _t178 = cpu->r[12] + 0x00000000u; /* 0298A494 */ rbrew_write8(cpu->mem, _t178, (uint8_t)cpu->r[31]); /* 0298A498 */ _t179 = cpu->r[28] + 0x0000008Cu; /* 0298A498 */ cpu->r[4] = rbrew_read32(cpu->mem, _t179); /* 0298A49C */ _t180 = cpu->r[28] + 0x00000090u; /* 0298A49C */ cpu->r[5] = rbrew_read32(cpu->mem, _t180); /* 0298A4A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[5]); /* 0298A4A4 */ _t181 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A4A4 */ _t182 = _t181 & 0x00000001u; /* 0298A4A4 */ if (_t182) goto L_0298A4A8; else goto L_0298A4C0; L_0298A4A8: ; // 0x298a4a8 /* 0298A4A8 */ _t183 = cpu->r[28] + 0x00000094u; /* 0298A4A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t183); /* 0298A4AC */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298A4B0 */ _t184 = cpu->r[6] + cpu->r[7]; /* 0298A4B0 */ rbrew_write32(cpu->mem, _t184, cpu->r[30]); /* 0298A4B4 */ _t185 = cpu->r[28] + 0x0000008Cu; /* 0298A4B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t185); /* 0298A4B8 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0298A4BC */ _t186 = cpu->r[28] + 0x0000008Cu; /* 0298A4BC */ rbrew_write32(cpu->mem, _t186, cpu->r[8]); L_0298A4C0: ; // 0x298a4c0 /* 0298A4C0 */ _t187 = cpu->r[29] + 0x00000058u; /* 0298A4C0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t187); /* 0298A4C4 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0298A4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[9]); /* 0298A4CC */ cpu->r[25] = cpu->r[25] + 0x00000010u; /* 0298A4D0 */ _t188 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A4D0 */ _t189 = _t188 & 0x00000001u; /* 0298A4D0 */ if (_t189) goto L_0298A34C; else goto L_0298A4D4; L_0298A4D4: ; // 0x298a4d4 /* 0298A4D4 */ _t190 = cpu->r[29] + 0x0000005Au; /* 0298A4D4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t190); /* 0298A4D8 */ cpu->r[26] = 0x00000000u; /* 0298A4DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[0]); /* 0298A4E0 */ _t191 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A4E0 */ _t192 = _t191 & 0x00000001u; /* 0298A4E0 */ if (_t192) goto L_0298A4E4; else goto L_0298A678; L_0298A4E4: ; // 0x298a4e4 /* 0298A4E4 */ cpu->r[25] = 0x00000000u; L_0298A4E8: ; // 0x298a4e8 /* 0298A4E8 */ _t193 = cpu->r[29] + 0x00000034u; /* 0298A4E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t193); /* 0298A4EC */ cpu->r[4] = 0x00000000u; /* 0298A4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298A4F4 */ cpu->r[5] = cpu->r[29] + 0x00000034u; /* 0298A4F8 */ _t194 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A4F8 */ _t195 = _t194 & 0x00000001u; /* 0298A4F8 */ if (_t195) goto L_0298A500; else goto L_0298A4FC; L_0298A4FC: ; // 0x298a4fc /* 0298A4FC */ cpu->r[4] = cpu->r[5] + cpu->r[12]; L_0298A500: ; // 0x298a500 /* 0298A500 */ cpu->r[12] = cpu->r[4] + 0x00000008u; /* 0298A504 */ _t196 = cpu->r[1] + 0x00000824u; /* 0298A504 */ cpu->r[6] = rbrew_read32(cpu->mem, _t196); /* 0298A508 */ cpu->r[4] = cpu->r[12] + cpu->r[25]; /* 0298A50C */ _t197 = cpu->r[4] + 0x0000001Cu; /* 0298A50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t197); /* 0298A510 */ cpu->r[5] = cpu->r[4] + 0x0000001Cu; /* 0298A514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298A518 */ _t198 = cpu->r[6] + 0x00000014u; /* 0298A518 */ cpu->r[7] = rbrew_read32(cpu->mem, _t198); /* 0298A51C */ cpu->r[27] = 0x00000000u; /* 0298A520 */ _t199 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A520 */ _t200 = _t199 & 0x00000001u; /* 0298A520 */ if (_t200) goto L_0298A528; else goto L_0298A524; L_0298A524: ; // 0x298a524 /* 0298A524 */ cpu->r[27] = cpu->r[5] + cpu->r[0]; L_0298A528: ; // 0x298a528 /* 0298A528 */ cpu->ctr = cpu->r[7]; /* 0298A52C */ cpu->r[30] = 0x00000001u; /* 0298A530 */ cpu->r[3] = cpu->r[1] + 0x00000820u; /* 0298A534 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A538 */ cpu->r[31] = cpu->r[27] + 0x00000004u; /* 0298A53C */ cpu->r[12] = cpu->r[31]; /* 0298A540 */ _t201 = cpu->r[12] + 0x00000000u; /* 0298A540 */ cpu->r[5] = rbrew_read32(cpu->mem, _t201); /* 0298A544 */ _t202 = cpu->r[1] + 0x00000820u; /* 0298A544 */ cpu->r[3] = rbrew_read32(cpu->mem, _t202); /* 0298A548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0298A54C */ cpu->r[4] = 0x00000000u; /* 0298A550 */ _t203 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A550 */ _t204 = _t203 & 0x00000001u; /* 0298A550 */ if (_t204) goto L_0298A558; else goto L_0298A554; L_0298A554: ; // 0x298a554 /* 0298A554 */ cpu->r[4] = cpu->r[12] + cpu->r[5]; L_0298A558: ; // 0x298a558 /* 0298A558 */ Gambit_fn_02989F34(cpu); /* 0298A55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A560 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A560 */ _t206 = _t205 & 0x00000001u; /* 0298A560 */ if (_t206) goto L_0298A564; else goto L_0298A5A0; L_0298A564: ; // 0x298a564 /* 0298A564 */ _t207 = cpu->r[1] + 0x00000C30u; /* 0298A564 */ cpu->r[9] = rbrew_read32(cpu->mem, _t207); /* 0298A568 */ _t208 = cpu->r[9] + 0x00000014u; /* 0298A568 */ cpu->r[10] = rbrew_read32(cpu->mem, _t208); /* 0298A56C */ cpu->ctr = cpu->r[10]; /* 0298A570 */ cpu->r[3] = cpu->r[1] + 0x00000C2Cu; /* 0298A574 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A578 */ _t209 = cpu->r[31] + 0x00000000u; /* 0298A578 */ cpu->r[7] = rbrew_read32(cpu->mem, _t209); /* 0298A57C */ _t210 = cpu->r[1] + 0x00000C2Cu; /* 0298A57C */ cpu->r[3] = rbrew_read32(cpu->mem, _t210); /* 0298A580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0298A584 */ cpu->r[4] = 0x00000000u; /* 0298A588 */ _t211 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A588 */ _t212 = _t211 & 0x00000001u; /* 0298A588 */ if (_t212) goto L_0298A590; else goto L_0298A58C; L_0298A58C: ; // 0x298a58c /* 0298A58C */ cpu->r[4] = cpu->r[31] + cpu->r[7]; L_0298A590: ; // 0x298a590 /* 0298A590 */ Gambit_fn_02989F34(cpu); /* 0298A594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A598 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A598 */ _t214 = _t213 & 0x00000001u; /* 0298A598 */ if (_t214) goto L_0298A59C; else goto L_0298A5A0; L_0298A59C: ; // 0x298a59c /* 0298A59C */ cpu->r[30] = 0x00000000u; L_0298A5A0: ; // 0x298a5a0 /* 0298A5A0 */ _t215 = cpu->r[1] + 0x0000000Cu; /* 0298A5A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t215); /* 0298A5A4 */ _t216 = cpu->r[11] + 0x00000014u; /* 0298A5A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t216); /* 0298A5A8 */ cpu->ctr = cpu->r[12]; /* 0298A5AC */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298A5B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298A5B4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A5B8 */ _t217 = cpu->r[31] + 0x00000000u; /* 0298A5B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t217); /* 0298A5BC */ _t218 = cpu->r[1] + 0x00000008u; /* 0298A5BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t218); /* 0298A5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0298A5C4 */ cpu->r[4] = 0x00000000u; /* 0298A5C8 */ _t219 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A5C8 */ _t220 = _t219 & 0x00000001u; /* 0298A5C8 */ if (_t220) goto L_0298A5D0; else goto L_0298A5CC; L_0298A5CC: ; // 0x298a5cc /* 0298A5CC */ cpu->r[4] = cpu->r[31] + cpu->r[9]; L_0298A5D0: ; // 0x298a5d0 /* 0298A5D0 */ Gambit_fn_02989F34(cpu); /* 0298A5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A5D8 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A5D8 */ _t222 = _t221 & 0x00000001u; /* 0298A5D8 */ if (_t222) goto L_0298A5DC; else goto L_0298A61C; L_0298A5DC: ; // 0x298a5dc /* 0298A5DC */ _t223 = cpu->r[1] + 0x00000418u; /* 0298A5DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t223); /* 0298A5E0 */ _t224 = cpu->r[4] + 0x00000014u; /* 0298A5E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t224); /* 0298A5E4 */ cpu->ctr = cpu->r[5]; /* 0298A5E8 */ cpu->r[3] = cpu->r[1] + 0x00000414u; /* 0298A5EC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A5F0 */ _t225 = cpu->r[31] + 0x00000000u; /* 0298A5F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t225); /* 0298A5F4 */ _t226 = cpu->r[1] + 0x00000414u; /* 0298A5F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t226); /* 0298A5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298A5FC */ cpu->r[4] = 0x00000000u; /* 0298A600 */ _t227 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A600 */ _t228 = _t227 & 0x00000001u; /* 0298A600 */ if (_t228) goto L_0298A608; else goto L_0298A604; L_0298A604: ; // 0x298a604 /* 0298A604 */ cpu->r[4] = cpu->r[31] + cpu->r[0]; L_0298A608: ; // 0x298a608 /* 0298A608 */ Gambit_fn_02989F34(cpu); /* 0298A60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A610 */ _t229 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A610 */ _t230 = _t229 & 0x00000001u; /* 0298A610 */ if (_t230) goto L_0298A614; else goto L_0298A61C; L_0298A614: ; // 0x298a614 /* 0298A614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298A618 */ _t231 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A618 */ _t232 = _t231 & 0x00000001u; /* 0298A618 */ if (_t232) goto L_0298A664; else goto L_0298A61C; L_0298A61C: ; // 0x298a61c /* 0298A61C */ _t233 = cpu->r[28] + 0x000002B0u; /* 0298A61C */ cpu->r[6] = rbrew_read32(cpu->mem, _t233); /* 0298A620 */ cpu->r[7] = cpu->r[28] + 0x00000230u; /* 0298A624 */ cpu->r[8] = cpu->r[6] + 0x00000001u; /* 0298A628 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000080u); /* 0298A62C */ _t234 = cpu->r[28] + 0x000002B0u; /* 0298A62C */ rbrew_write32(cpu->mem, _t234, cpu->r[8]); /* 0298A630 */ _t235 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A630 */ _t236 = _t235 & 0x00000001u; /* 0298A630 */ if (_t236) goto L_0298A634; else goto L_0298A638; L_0298A634: ; // 0x298a634 /* 0298A634 */ cpu->r[7] = cpu->r[7] + cpu->r[6]; L_0298A638: ; // 0x298a638 /* 0298A638 */ _t237 = cpu->r[7] + 0x00000000u; /* 0298A638 */ rbrew_write8(cpu->mem, _t237, (uint8_t)cpu->r[30]); /* 0298A63C */ _t238 = cpu->r[28] + 0x0000008Cu; /* 0298A63C */ cpu->r[4] = rbrew_read32(cpu->mem, _t238); /* 0298A640 */ _t239 = cpu->r[28] + 0x00000090u; /* 0298A640 */ cpu->r[9] = rbrew_read32(cpu->mem, _t239); /* 0298A644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[9]); /* 0298A648 */ _t240 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A648 */ _t241 = _t240 & 0x00000001u; /* 0298A648 */ if (_t241) goto L_0298A64C; else goto L_0298A664; L_0298A64C: ; // 0x298a64c /* 0298A64C */ _t242 = cpu->r[28] + 0x00000094u; /* 0298A64C */ cpu->r[11] = rbrew_read32(cpu->mem, _t242); /* 0298A650 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298A654 */ _t243 = cpu->r[10] + cpu->r[11]; /* 0298A654 */ rbrew_write32(cpu->mem, _t243, cpu->r[27]); /* 0298A658 */ _t244 = cpu->r[28] + 0x0000008Cu; /* 0298A658 */ cpu->r[12] = rbrew_read32(cpu->mem, _t244); /* 0298A65C */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0298A660 */ _t245 = cpu->r[28] + 0x0000008Cu; /* 0298A660 */ rbrew_write32(cpu->mem, _t245, cpu->r[12]); L_0298A664: ; // 0x298a664 /* 0298A664 */ _t246 = cpu->r[29] + 0x0000005Au; /* 0298A664 */ cpu->r[0] = rbrew_read16(cpu->mem, _t246); /* 0298A668 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0298A66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[0]); /* 0298A670 */ cpu->r[25] = cpu->r[25] + 0x00000010u; /* 0298A674 */ _t247 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A674 */ _t248 = _t247 & 0x00000001u; /* 0298A674 */ if (_t248) goto L_0298A4E8; else goto L_0298A678; L_0298A678: ; // 0x298a678 /* 0298A678 */ _t249 = cpu->r[29] + 0x0000005Cu; /* 0298A678 */ cpu->r[0] = rbrew_read16(cpu->mem, _t249); /* 0298A67C */ cpu->r[26] = 0x00000000u; /* 0298A680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[0]); /* 0298A684 */ _t250 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A684 */ _t251 = _t250 & 0x00000001u; /* 0298A684 */ if (_t251) goto L_0298A688; else goto L_0298A818; L_0298A688: ; // 0x298a688 /* 0298A688 */ cpu->r[25] = 0x00000000u; L_0298A68C: ; // 0x298a68c /* 0298A68C */ _t252 = cpu->r[29] + 0x00000038u; /* 0298A68C */ cpu->r[5] = rbrew_read32(cpu->mem, _t252); /* 0298A690 */ cpu->r[12] = 0x00000000u; /* 0298A694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0298A698 */ cpu->r[6] = cpu->r[29] + 0x00000038u; /* 0298A69C */ _t253 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A69C */ _t254 = _t253 & 0x00000001u; /* 0298A69C */ if (_t254) goto L_0298A6A4; else goto L_0298A6A0; L_0298A6A0: ; // 0x298a6a0 /* 0298A6A0 */ cpu->r[12] = cpu->r[6] + cpu->r[5]; L_0298A6A4: ; // 0x298a6a4 /* 0298A6A4 */ cpu->r[4] = cpu->r[12] + cpu->r[25]; /* 0298A6A8 */ _t255 = cpu->r[4] + 0x00000024u; /* 0298A6A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t255); /* 0298A6AC */ cpu->r[5] = cpu->r[4] + 0x00000024u; /* 0298A6B0 */ cpu->r[30] = 0x00000000u; /* 0298A6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0298A6B8 */ _t256 = cpu->r[1] + 0x00000824u; /* 0298A6B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t256); /* 0298A6BC */ _t257 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A6BC */ _t258 = _t257 & 0x00000001u; /* 0298A6BC */ if (_t258) goto L_0298A6C4; else goto L_0298A6C0; L_0298A6C0: ; // 0x298a6c0 /* 0298A6C0 */ cpu->r[30] = cpu->r[5] + cpu->r[7]; L_0298A6C4: ; // 0x298a6c4 /* 0298A6C4 */ _t259 = cpu->r[6] + 0x00000014u; /* 0298A6C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t259); /* 0298A6C8 */ cpu->ctr = cpu->r[7]; /* 0298A6CC */ cpu->r[31] = 0x00000001u; /* 0298A6D0 */ cpu->r[3] = cpu->r[1] + 0x00000820u; /* 0298A6D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A6D8 */ cpu->r[27] = cpu->r[30] + 0x00000004u; /* 0298A6DC */ cpu->r[9] = cpu->r[27]; /* 0298A6E0 */ _t260 = cpu->r[9] + 0x00000000u; /* 0298A6E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t260); /* 0298A6E4 */ _t261 = cpu->r[1] + 0x00000820u; /* 0298A6E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t261); /* 0298A6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0298A6EC */ cpu->r[4] = 0x00000000u; /* 0298A6F0 */ _t262 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A6F0 */ _t263 = _t262 & 0x00000001u; /* 0298A6F0 */ if (_t263) goto L_0298A6F8; else goto L_0298A6F4; L_0298A6F4: ; // 0x298a6f4 /* 0298A6F4 */ cpu->r[4] = cpu->r[9] + cpu->r[8]; L_0298A6F8: ; // 0x298a6f8 /* 0298A6F8 */ Gambit_fn_02989F34(cpu); /* 0298A6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A700 */ _t264 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A700 */ _t265 = _t264 & 0x00000001u; /* 0298A700 */ if (_t265) goto L_0298A704; else goto L_0298A740; L_0298A704: ; // 0x298a704 /* 0298A704 */ _t266 = cpu->r[1] + 0x00000C30u; /* 0298A704 */ cpu->r[9] = rbrew_read32(cpu->mem, _t266); /* 0298A708 */ _t267 = cpu->r[9] + 0x00000014u; /* 0298A708 */ cpu->r[10] = rbrew_read32(cpu->mem, _t267); /* 0298A70C */ cpu->ctr = cpu->r[10]; /* 0298A710 */ cpu->r[3] = cpu->r[1] + 0x00000C2Cu; /* 0298A714 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A718 */ _t268 = cpu->r[27] + 0x00000000u; /* 0298A718 */ cpu->r[10] = rbrew_read32(cpu->mem, _t268); /* 0298A71C */ _t269 = cpu->r[1] + 0x00000C2Cu; /* 0298A71C */ cpu->r[3] = rbrew_read32(cpu->mem, _t269); /* 0298A720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298A724 */ cpu->r[4] = 0x00000000u; /* 0298A728 */ _t270 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A728 */ _t271 = _t270 & 0x00000001u; /* 0298A728 */ if (_t271) goto L_0298A730; else goto L_0298A72C; L_0298A72C: ; // 0x298a72c /* 0298A72C */ cpu->r[4] = cpu->r[27] + cpu->r[10]; L_0298A730: ; // 0x298a730 /* 0298A730 */ Gambit_fn_02989F34(cpu); /* 0298A734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A738 */ _t272 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A738 */ _t273 = _t272 & 0x00000001u; /* 0298A738 */ if (_t273) goto L_0298A73C; else goto L_0298A740; L_0298A73C: ; // 0x298a73c /* 0298A73C */ cpu->r[31] = 0x00000000u; L_0298A740: ; // 0x298a740 /* 0298A740 */ _t274 = cpu->r[1] + 0x0000000Cu; /* 0298A740 */ cpu->r[11] = rbrew_read32(cpu->mem, _t274); /* 0298A744 */ _t275 = cpu->r[11] + 0x00000014u; /* 0298A744 */ cpu->r[12] = rbrew_read32(cpu->mem, _t275); /* 0298A748 */ cpu->ctr = cpu->r[12]; /* 0298A74C */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298A750 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298A754 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A758 */ _t276 = cpu->r[27] + 0x00000000u; /* 0298A758 */ cpu->r[11] = rbrew_read32(cpu->mem, _t276); /* 0298A75C */ _t277 = cpu->r[1] + 0x00000008u; /* 0298A75C */ cpu->r[3] = rbrew_read32(cpu->mem, _t277); /* 0298A760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298A764 */ cpu->r[4] = 0x00000000u; /* 0298A768 */ _t278 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A768 */ _t279 = _t278 & 0x00000001u; /* 0298A768 */ if (_t279) goto L_0298A770; else goto L_0298A76C; L_0298A76C: ; // 0x298a76c /* 0298A76C */ cpu->r[4] = cpu->r[27] + cpu->r[11]; L_0298A770: ; // 0x298a770 /* 0298A770 */ Gambit_fn_02989F34(cpu); /* 0298A774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A778 */ _t280 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A778 */ _t281 = _t280 & 0x00000001u; /* 0298A778 */ if (_t281) goto L_0298A77C; else goto L_0298A7BC; L_0298A77C: ; // 0x298a77c /* 0298A77C */ _t282 = cpu->r[1] + 0x00000418u; /* 0298A77C */ cpu->r[4] = rbrew_read32(cpu->mem, _t282); /* 0298A780 */ _t283 = cpu->r[4] + 0x00000014u; /* 0298A780 */ cpu->r[5] = rbrew_read32(cpu->mem, _t283); /* 0298A784 */ cpu->ctr = cpu->r[5]; /* 0298A788 */ cpu->r[3] = cpu->r[1] + 0x00000414u; /* 0298A78C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A790 */ _t284 = cpu->r[27] + 0x00000000u; /* 0298A790 */ cpu->r[12] = rbrew_read32(cpu->mem, _t284); /* 0298A794 */ _t285 = cpu->r[1] + 0x00000414u; /* 0298A794 */ cpu->r[3] = rbrew_read32(cpu->mem, _t285); /* 0298A798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298A79C */ cpu->r[4] = 0x00000000u; /* 0298A7A0 */ _t286 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A7A0 */ _t287 = _t286 & 0x00000001u; /* 0298A7A0 */ if (_t287) goto L_0298A7A8; else goto L_0298A7A4; L_0298A7A4: ; // 0x298a7a4 /* 0298A7A4 */ cpu->r[4] = cpu->r[27] + cpu->r[12]; L_0298A7A8: ; // 0x298a7a8 /* 0298A7A8 */ Gambit_fn_02989F34(cpu); /* 0298A7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A7B0 */ _t288 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A7B0 */ _t289 = _t288 & 0x00000001u; /* 0298A7B0 */ if (_t289) goto L_0298A7B4; else goto L_0298A7BC; L_0298A7B4: ; // 0x298a7b4 /* 0298A7B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298A7B8 */ _t290 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A7B8 */ _t291 = _t290 & 0x00000001u; /* 0298A7B8 */ if (_t291) goto L_0298A804; else goto L_0298A7BC; L_0298A7BC: ; // 0x298a7bc /* 0298A7BC */ _t292 = cpu->r[28] + 0x000002B0u; /* 0298A7BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t292); /* 0298A7C0 */ cpu->r[6] = cpu->r[28] + 0x00000230u; /* 0298A7C4 */ cpu->r[7] = cpu->r[5] + 0x00000001u; /* 0298A7C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000080u); /* 0298A7CC */ _t293 = cpu->r[28] + 0x000002B0u; /* 0298A7CC */ rbrew_write32(cpu->mem, _t293, cpu->r[7]); /* 0298A7D0 */ _t294 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A7D0 */ _t295 = _t294 & 0x00000001u; /* 0298A7D0 */ if (_t295) goto L_0298A7D4; else goto L_0298A7D8; L_0298A7D4: ; // 0x298a7d4 /* 0298A7D4 */ cpu->r[6] = cpu->r[6] + cpu->r[5]; L_0298A7D8: ; // 0x298a7d8 /* 0298A7D8 */ _t296 = cpu->r[6] + 0x00000000u; /* 0298A7D8 */ rbrew_write8(cpu->mem, _t296, (uint8_t)cpu->r[31]); /* 0298A7DC */ _t297 = cpu->r[28] + 0x00000118u; /* 0298A7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t297); /* 0298A7E0 */ _t298 = cpu->r[28] + 0x0000011Cu; /* 0298A7E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t298); /* 0298A7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[8]); /* 0298A7E8 */ _t299 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A7E8 */ _t300 = _t299 & 0x00000001u; /* 0298A7E8 */ if (_t300) goto L_0298A7EC; else goto L_0298A804; L_0298A7EC: ; // 0x298a7ec /* 0298A7EC */ _t301 = cpu->r[28] + 0x00000120u; /* 0298A7EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t301); /* 0298A7F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298A7F4 */ _t302 = cpu->r[10] + cpu->r[11]; /* 0298A7F4 */ rbrew_write32(cpu->mem, _t302, cpu->r[30]); /* 0298A7F8 */ _t303 = cpu->r[28] + 0x00000118u; /* 0298A7F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t303); /* 0298A7FC */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0298A800 */ _t304 = cpu->r[28] + 0x00000118u; /* 0298A800 */ rbrew_write32(cpu->mem, _t304, cpu->r[12]); L_0298A804: ; // 0x298a804 /* 0298A804 */ _t305 = cpu->r[29] + 0x0000005Cu; /* 0298A804 */ cpu->r[0] = rbrew_read16(cpu->mem, _t305); /* 0298A808 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0298A80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[0]); /* 0298A810 */ cpu->r[25] = cpu->r[25] + 0x00000010u; /* 0298A814 */ _t306 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A814 */ _t307 = _t306 & 0x00000001u; /* 0298A814 */ if (_t307) goto L_0298A68C; else goto L_0298A818; L_0298A818: ; // 0x298a818 /* 0298A818 */ _t308 = cpu->r[29] + 0x0000005Eu; /* 0298A818 */ cpu->r[4] = rbrew_read16(cpu->mem, _t308); /* 0298A81C */ cpu->r[26] = 0x00000000u; /* 0298A820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[4]); /* 0298A824 */ _t309 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A824 */ _t310 = _t309 & 0x00000001u; /* 0298A824 */ if (_t310) goto L_0298A828; else goto L_0298A9BC; L_0298A828: ; // 0x298a828 /* 0298A828 */ cpu->r[25] = 0x00000000u; L_0298A82C: ; // 0x298a82c /* 0298A82C */ _t311 = cpu->r[29] + 0x0000003Cu; /* 0298A82C */ cpu->r[4] = rbrew_read32(cpu->mem, _t311); /* 0298A830 */ cpu->r[6] = 0x00000000u; /* 0298A834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298A838 */ cpu->r[7] = cpu->r[29] + 0x0000003Cu; /* 0298A83C */ _t312 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A83C */ _t313 = _t312 & 0x00000001u; /* 0298A83C */ if (_t313) goto L_0298A844; else goto L_0298A840; L_0298A840: ; // 0x298a840 /* 0298A840 */ cpu->r[6] = cpu->r[7] + cpu->r[4]; L_0298A844: ; // 0x298a844 /* 0298A844 */ cpu->r[5] = cpu->r[6] + 0x00000008u; /* 0298A848 */ _t314 = cpu->r[1] + 0x00000824u; /* 0298A848 */ cpu->r[7] = rbrew_read32(cpu->mem, _t314); /* 0298A84C */ cpu->r[6] = cpu->r[5] + cpu->r[25]; /* 0298A850 */ _t315 = cpu->r[6] + 0x0000001Cu; /* 0298A850 */ cpu->r[5] = rbrew_read32(cpu->mem, _t315); /* 0298A854 */ cpu->r[9] = cpu->r[6] + 0x0000001Cu; /* 0298A858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0298A85C */ _t316 = cpu->r[7] + 0x00000014u; /* 0298A85C */ cpu->r[8] = rbrew_read32(cpu->mem, _t316); /* 0298A860 */ cpu->r[30] = 0x00000000u; /* 0298A864 */ _t317 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A864 */ _t318 = _t317 & 0x00000001u; /* 0298A864 */ if (_t318) goto L_0298A86C; else goto L_0298A868; L_0298A868: ; // 0x298a868 /* 0298A868 */ cpu->r[30] = cpu->r[9] + cpu->r[5]; L_0298A86C: ; // 0x298a86c /* 0298A86C */ cpu->ctr = cpu->r[8]; /* 0298A870 */ cpu->r[31] = 0x00000001u; /* 0298A874 */ cpu->r[3] = cpu->r[1] + 0x00000820u; /* 0298A878 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A87C */ cpu->r[27] = cpu->r[30] + 0x00000004u; /* 0298A880 */ cpu->r[12] = cpu->r[27]; /* 0298A884 */ _t319 = cpu->r[12] + 0x00000000u; /* 0298A884 */ cpu->r[6] = rbrew_read32(cpu->mem, _t319); /* 0298A888 */ _t320 = cpu->r[1] + 0x00000820u; /* 0298A888 */ cpu->r[3] = rbrew_read32(cpu->mem, _t320); /* 0298A88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0298A890 */ cpu->r[4] = 0x00000000u; /* 0298A894 */ _t321 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A894 */ _t322 = _t321 & 0x00000001u; /* 0298A894 */ if (_t322) goto L_0298A89C; else goto L_0298A898; L_0298A898: ; // 0x298a898 /* 0298A898 */ cpu->r[4] = cpu->r[12] + cpu->r[6]; L_0298A89C: ; // 0x298a89c /* 0298A89C */ Gambit_fn_02989F34(cpu); /* 0298A8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A8A4 */ _t323 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A8A4 */ _t324 = _t323 & 0x00000001u; /* 0298A8A4 */ if (_t324) goto L_0298A8A8; else goto L_0298A8E4; L_0298A8A8: ; // 0x298a8a8 /* 0298A8A8 */ _t325 = cpu->r[1] + 0x00000C30u; /* 0298A8A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t325); /* 0298A8AC */ _t326 = cpu->r[10] + 0x00000014u; /* 0298A8AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t326); /* 0298A8B0 */ cpu->ctr = cpu->r[0]; /* 0298A8B4 */ cpu->r[3] = cpu->r[1] + 0x00000C2Cu; /* 0298A8B8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A8BC */ _t327 = cpu->r[27] + 0x00000000u; /* 0298A8BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t327); /* 0298A8C0 */ _t328 = cpu->r[1] + 0x00000C2Cu; /* 0298A8C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t328); /* 0298A8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0298A8C8 */ cpu->r[4] = 0x00000000u; /* 0298A8CC */ _t329 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A8CC */ _t330 = _t329 & 0x00000001u; /* 0298A8CC */ if (_t330) goto L_0298A8D4; else goto L_0298A8D0; L_0298A8D0: ; // 0x298a8d0 /* 0298A8D0 */ cpu->r[4] = cpu->r[27] + cpu->r[7]; L_0298A8D4: ; // 0x298a8d4 /* 0298A8D4 */ Gambit_fn_02989F34(cpu); /* 0298A8D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A8DC */ _t331 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A8DC */ _t332 = _t331 & 0x00000001u; /* 0298A8DC */ if (_t332) goto L_0298A8E0; else goto L_0298A8E4; L_0298A8E0: ; // 0x298a8e0 /* 0298A8E0 */ cpu->r[31] = 0x00000000u; L_0298A8E4: ; // 0x298a8e4 /* 0298A8E4 */ _t333 = cpu->r[1] + 0x0000000Cu; /* 0298A8E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t333); /* 0298A8E8 */ _t334 = cpu->r[6] + 0x00000014u; /* 0298A8E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t334); /* 0298A8EC */ cpu->ctr = cpu->r[9]; /* 0298A8F0 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298A8F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298A8F8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A8FC */ _t335 = cpu->r[27] + 0x00000000u; /* 0298A8FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t335); /* 0298A900 */ _t336 = cpu->r[1] + 0x00000008u; /* 0298A900 */ cpu->r[3] = rbrew_read32(cpu->mem, _t336); /* 0298A904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0298A908 */ cpu->r[4] = 0x00000000u; /* 0298A90C */ _t337 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A90C */ _t338 = _t337 & 0x00000001u; /* 0298A90C */ if (_t338) goto L_0298A914; else goto L_0298A910; L_0298A910: ; // 0x298a910 /* 0298A910 */ cpu->r[4] = cpu->r[27] + cpu->r[8]; L_0298A914: ; // 0x298a914 /* 0298A914 */ Gambit_fn_02989F34(cpu); /* 0298A918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A91C */ _t339 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A91C */ _t340 = _t339 & 0x00000001u; /* 0298A91C */ if (_t340) goto L_0298A920; else goto L_0298A960; L_0298A920: ; // 0x298a920 /* 0298A920 */ _t341 = cpu->r[1] + 0x00000418u; /* 0298A920 */ cpu->r[12] = rbrew_read32(cpu->mem, _t341); /* 0298A924 */ _t342 = cpu->r[12] + 0x00000014u; /* 0298A924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t342); /* 0298A928 */ cpu->ctr = cpu->r[0]; /* 0298A92C */ cpu->r[3] = cpu->r[1] + 0x00000414u; /* 0298A930 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298A934 */ _t343 = cpu->r[27] + 0x00000000u; /* 0298A934 */ cpu->r[9] = rbrew_read32(cpu->mem, _t343); /* 0298A938 */ _t344 = cpu->r[1] + 0x00000414u; /* 0298A938 */ cpu->r[3] = rbrew_read32(cpu->mem, _t344); /* 0298A93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0298A940 */ cpu->r[4] = 0x00000000u; /* 0298A944 */ _t345 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A944 */ _t346 = _t345 & 0x00000001u; /* 0298A944 */ if (_t346) goto L_0298A94C; else goto L_0298A948; L_0298A948: ; // 0x298a948 /* 0298A948 */ cpu->r[4] = cpu->r[27] + cpu->r[9]; L_0298A94C: ; // 0x298a94c /* 0298A94C */ Gambit_fn_02989F34(cpu); /* 0298A950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298A954 */ _t347 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A954 */ _t348 = _t347 & 0x00000001u; /* 0298A954 */ if (_t348) goto L_0298A958; else goto L_0298A960; L_0298A958: ; // 0x298a958 /* 0298A958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298A95C */ _t349 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A95C */ _t350 = _t349 & 0x00000001u; /* 0298A95C */ if (_t350) goto L_0298A9A8; else goto L_0298A960; L_0298A960: ; // 0x298a960 /* 0298A960 */ _t351 = cpu->r[28] + 0x000002B0u; /* 0298A960 */ cpu->r[11] = rbrew_read32(cpu->mem, _t351); /* 0298A964 */ cpu->r[8] = cpu->r[28] + 0x00000230u; /* 0298A968 */ cpu->r[5] = cpu->r[11] + 0x00000001u; /* 0298A96C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000080u); /* 0298A970 */ _t352 = cpu->r[28] + 0x000002B0u; /* 0298A970 */ rbrew_write32(cpu->mem, _t352, cpu->r[5]); /* 0298A974 */ _t353 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A974 */ _t354 = _t353 & 0x00000001u; /* 0298A974 */ if (_t354) goto L_0298A978; else goto L_0298A97C; L_0298A978: ; // 0x298a978 /* 0298A978 */ cpu->r[8] = cpu->r[8] + cpu->r[11]; L_0298A97C: ; // 0x298a97c /* 0298A97C */ _t355 = cpu->r[8] + 0x00000000u; /* 0298A97C */ rbrew_write8(cpu->mem, _t355, (uint8_t)cpu->r[31]); /* 0298A980 */ _t356 = cpu->r[28] + 0x000001A4u; /* 0298A980 */ cpu->r[7] = rbrew_read32(cpu->mem, _t356); /* 0298A984 */ _t357 = cpu->r[28] + 0x000001A8u; /* 0298A984 */ cpu->r[6] = rbrew_read32(cpu->mem, _t357); /* 0298A988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]); /* 0298A98C */ _t358 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A98C */ _t359 = _t358 & 0x00000001u; /* 0298A98C */ if (_t359) goto L_0298A990; else goto L_0298A9A8; L_0298A990: ; // 0x298a990 /* 0298A990 */ _t360 = cpu->r[28] + 0x000001ACu; /* 0298A990 */ cpu->r[10] = rbrew_read32(cpu->mem, _t360); /* 0298A994 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298A998 */ _t361 = cpu->r[8] + cpu->r[10]; /* 0298A998 */ rbrew_write32(cpu->mem, _t361, cpu->r[30]); /* 0298A99C */ _t362 = cpu->r[28] + 0x000001A4u; /* 0298A99C */ cpu->r[12] = rbrew_read32(cpu->mem, _t362); /* 0298A9A0 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0298A9A4 */ _t363 = cpu->r[28] + 0x000001A4u; /* 0298A9A4 */ rbrew_write32(cpu->mem, _t363, cpu->r[12]); L_0298A9A8: ; // 0x298a9a8 /* 0298A9A8 */ _t364 = cpu->r[29] + 0x0000005Eu; /* 0298A9A8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t364); /* 0298A9AC */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0298A9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[4]); /* 0298A9B4 */ cpu->r[25] = cpu->r[25] + 0x00000010u; /* 0298A9B8 */ _t365 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A9B8 */ _t366 = _t365 & 0x00000001u; /* 0298A9B8 */ if (_t366) goto L_0298A82C; else goto L_0298A9BC; L_0298A9BC: ; // 0x298a9bc /* 0298A9BC */ _t367 = cpu->r[29] + 0x00000060u; /* 0298A9BC */ cpu->r[6] = rbrew_read16(cpu->mem, _t367); /* 0298A9C0 */ cpu->r[26] = 0x00000000u; /* 0298A9C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[6]); /* 0298A9C8 */ _t368 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298A9C8 */ _t369 = _t368 & 0x00000001u; /* 0298A9C8 */ if (_t369) goto L_0298A9CC; else goto L_0298AB60; L_0298A9CC: ; // 0x298a9cc /* 0298A9CC */ cpu->r[25] = 0x00000000u; L_0298A9D0: ; // 0x298a9d0 /* 0298A9D0 */ _t370 = cpu->r[29] + 0x00000040u; /* 0298A9D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t370); /* 0298A9D4 */ cpu->r[11] = 0x00000000u; /* 0298A9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298A9DC */ cpu->r[8] = cpu->r[29] + 0x00000040u; /* 0298A9E0 */ _t371 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298A9E0 */ _t372 = _t371 & 0x00000001u; /* 0298A9E0 */ if (_t372) goto L_0298A9E8; else goto L_0298A9E4; L_0298A9E4: ; // 0x298a9e4 /* 0298A9E4 */ cpu->r[11] = cpu->r[8] + cpu->r[0]; L_0298A9E8: ; // 0x298a9e8 /* 0298A9E8 */ cpu->r[9] = cpu->r[11] + 0x00000008u; /* 0298A9EC */ cpu->r[11] = cpu->r[9] + cpu->r[25]; /* 0298A9F0 */ _t373 = cpu->r[11] + 0x0000001Cu; /* 0298A9F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t373); /* 0298A9F4 */ cpu->r[30] = 0x00000000u; /* 0298A9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298A9FC */ cpu->r[5] = cpu->r[11] + 0x0000001Cu; /* 0298AA00 */ _t374 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AA00 */ _t375 = _t374 & 0x00000001u; /* 0298AA00 */ if (_t375) goto L_0298AA08; else goto L_0298AA04; L_0298AA04: ; // 0x298aa04 /* 0298AA04 */ cpu->r[30] = cpu->r[5] + cpu->r[4]; L_0298AA08: ; // 0x298aa08 /* 0298AA08 */ _t376 = cpu->r[1] + 0x00000824u; /* 0298AA08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t376); /* 0298AA0C */ _t377 = cpu->r[4] + 0x00000014u; /* 0298AA0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t377); /* 0298AA10 */ cpu->ctr = cpu->r[7]; /* 0298AA14 */ cpu->r[31] = 0x00000001u; /* 0298AA18 */ cpu->r[3] = cpu->r[1] + 0x00000820u; /* 0298AA1C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298AA20 */ cpu->r[27] = cpu->r[30] + 0x00000004u; /* 0298AA24 */ cpu->r[8] = cpu->r[27]; /* 0298AA28 */ _t378 = cpu->r[8] + 0x00000000u; /* 0298AA28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t378); /* 0298AA2C */ _t379 = cpu->r[1] + 0x00000820u; /* 0298AA2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t379); /* 0298AA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0298AA34 */ cpu->r[4] = 0x00000000u; /* 0298AA38 */ _t380 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AA38 */ _t381 = _t380 & 0x00000001u; /* 0298AA38 */ if (_t381) goto L_0298AA40; else goto L_0298AA3C; L_0298AA3C: ; // 0x298aa3c /* 0298AA3C */ cpu->r[4] = cpu->r[8] + cpu->r[6]; L_0298AA40: ; // 0x298aa40 /* 0298AA40 */ Gambit_fn_02989F34(cpu); /* 0298AA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298AA48 */ _t382 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AA48 */ _t383 = _t382 & 0x00000001u; /* 0298AA48 */ if (_t383) goto L_0298AA4C; else goto L_0298AA88; L_0298AA4C: ; // 0x298aa4c /* 0298AA4C */ _t384 = cpu->r[1] + 0x00000C30u; /* 0298AA4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t384); /* 0298AA50 */ _t385 = cpu->r[11] + 0x00000014u; /* 0298AA50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t385); /* 0298AA54 */ cpu->ctr = cpu->r[5]; /* 0298AA58 */ cpu->r[3] = cpu->r[1] + 0x00000C2Cu; /* 0298AA5C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298AA60 */ _t386 = cpu->r[27] + 0x00000000u; /* 0298AA60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t386); /* 0298AA64 */ _t387 = cpu->r[1] + 0x00000C2Cu; /* 0298AA64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t387); /* 0298AA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0298AA6C */ cpu->r[4] = 0x00000000u; /* 0298AA70 */ _t388 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AA70 */ _t389 = _t388 & 0x00000001u; /* 0298AA70 */ if (_t389) goto L_0298AA78; else goto L_0298AA74; L_0298AA74: ; // 0x298aa74 /* 0298AA74 */ cpu->r[4] = cpu->r[27] + cpu->r[7]; L_0298AA78: ; // 0x298aa78 /* 0298AA78 */ Gambit_fn_02989F34(cpu); /* 0298AA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298AA80 */ _t390 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AA80 */ _t391 = _t390 & 0x00000001u; /* 0298AA80 */ if (_t391) goto L_0298AA84; else goto L_0298AA88; L_0298AA84: ; // 0x298aa84 /* 0298AA84 */ cpu->r[31] = 0x00000000u; L_0298AA88: ; // 0x298aa88 /* 0298AA88 */ _t392 = cpu->r[1] + 0x0000000Cu; /* 0298AA88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t392); /* 0298AA8C */ _t393 = cpu->r[7] + 0x00000014u; /* 0298AA8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t393); /* 0298AA90 */ cpu->ctr = cpu->r[10]; /* 0298AA94 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298AA98 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298AA9C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298AAA0 */ _t394 = cpu->r[27] + 0x00000000u; /* 0298AAA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t394); /* 0298AAA4 */ _t395 = cpu->r[1] + 0x00000008u; /* 0298AAA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t395); /* 0298AAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0298AAAC */ cpu->r[4] = 0x00000000u; /* 0298AAB0 */ _t396 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AAB0 */ _t397 = _t396 & 0x00000001u; /* 0298AAB0 */ if (_t397) goto L_0298AAB8; else goto L_0298AAB4; L_0298AAB4: ; // 0x298aab4 /* 0298AAB4 */ cpu->r[4] = cpu->r[27] + cpu->r[8]; L_0298AAB8: ; // 0x298aab8 /* 0298AAB8 */ Gambit_fn_02989F34(cpu); /* 0298AABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298AAC0 */ _t398 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AAC0 */ _t399 = _t398 & 0x00000001u; /* 0298AAC0 */ if (_t399) goto L_0298AAC4; else goto L_0298AB04; L_0298AAC4: ; // 0x298aac4 /* 0298AAC4 */ _t400 = cpu->r[1] + 0x00000418u; /* 0298AAC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t400); /* 0298AAC8 */ _t401 = cpu->r[5] + 0x00000014u; /* 0298AAC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t401); /* 0298AACC */ cpu->ctr = cpu->r[7]; /* 0298AAD0 */ cpu->r[3] = cpu->r[1] + 0x00000414u; /* 0298AAD4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298AAD8 */ _t402 = cpu->r[27] + 0x00000000u; /* 0298AAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t402); /* 0298AADC */ _t403 = cpu->r[1] + 0x00000414u; /* 0298AADC */ cpu->r[3] = rbrew_read32(cpu->mem, _t403); /* 0298AAE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298AAE4 */ cpu->r[4] = 0x00000000u; /* 0298AAE8 */ _t404 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AAE8 */ _t405 = _t404 & 0x00000001u; /* 0298AAE8 */ if (_t405) goto L_0298AAF0; else goto L_0298AAEC; L_0298AAEC: ; // 0x298aaec /* 0298AAEC */ cpu->r[4] = cpu->r[27] + cpu->r[0]; L_0298AAF0: ; // 0x298aaf0 /* 0298AAF0 */ Gambit_fn_02989F34(cpu); /* 0298AAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298AAF8 */ _t406 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AAF8 */ _t407 = _t406 & 0x00000001u; /* 0298AAF8 */ if (_t407) goto L_0298AAFC; else goto L_0298AB04; L_0298AAFC: ; // 0x298aafc /* 0298AAFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298AB00 */ _t408 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AB00 */ _t409 = _t408 & 0x00000001u; /* 0298AB00 */ if (_t409) goto L_0298AB4C; else goto L_0298AB04; L_0298AB04: ; // 0x298ab04 /* 0298AB04 */ _t410 = cpu->r[28] + 0x000002B0u; /* 0298AB04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t410); /* 0298AB08 */ cpu->r[10] = cpu->r[28] + 0x00000230u; /* 0298AB0C */ cpu->r[11] = cpu->r[7] + 0x00000001u; /* 0298AB10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000080u); /* 0298AB14 */ _t411 = cpu->r[28] + 0x000002B0u; /* 0298AB14 */ rbrew_write32(cpu->mem, _t411, cpu->r[11]); /* 0298AB18 */ _t412 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298AB18 */ _t413 = _t412 & 0x00000001u; /* 0298AB18 */ if (_t413) goto L_0298AB1C; else goto L_0298AB20; L_0298AB1C: ; // 0x298ab1c /* 0298AB1C */ cpu->r[10] = cpu->r[10] + cpu->r[7]; L_0298AB20: ; // 0x298ab20 /* 0298AB20 */ _t414 = cpu->r[10] + 0x00000000u; /* 0298AB20 */ rbrew_write8(cpu->mem, _t414, (uint8_t)cpu->r[31]); /* 0298AB24 */ _t415 = cpu->r[28] + 0x000001A4u; /* 0298AB24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t415); /* 0298AB28 */ _t416 = cpu->r[28] + 0x000001A8u; /* 0298AB28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t416); /* 0298AB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[4]); /* 0298AB30 */ _t417 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298AB30 */ _t418 = _t417 & 0x00000001u; /* 0298AB30 */ if (_t418) goto L_0298AB34; else goto L_0298AB4C; L_0298AB34: ; // 0x298ab34 /* 0298AB34 */ _t419 = cpu->r[28] + 0x000001ACu; /* 0298AB34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t419); /* 0298AB38 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298AB3C */ _t420 = cpu->r[6] + cpu->r[8]; /* 0298AB3C */ rbrew_write32(cpu->mem, _t420, cpu->r[30]); /* 0298AB40 */ _t421 = cpu->r[28] + 0x000001A4u; /* 0298AB40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t421); /* 0298AB44 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0298AB48 */ _t422 = cpu->r[28] + 0x000001A4u; /* 0298AB48 */ rbrew_write32(cpu->mem, _t422, cpu->r[10]); L_0298AB4C: ; // 0x298ab4c /* 0298AB4C */ _t423 = cpu->r[29] + 0x00000060u; /* 0298AB4C */ cpu->r[4] = rbrew_read16(cpu->mem, _t423); /* 0298AB50 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0298AB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[4]); /* 0298AB58 */ cpu->r[25] = cpu->r[25] + 0x00000010u; /* 0298AB5C */ _t424 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298AB5C */ _t425 = _t424 & 0x00000001u; /* 0298AB5C */ if (_t425) goto L_0298A9D0; else goto L_0298AB60; L_0298AB60: ; // 0x298ab60 /* 0298AB60 */ /* nop */ /* 0298AB64 */ _t426 = cpu->r[1] + 0x0000105Cu; /* 0298AB64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t426); /* 0298AB68 */ cpu->lr = cpu->r[0]; /* 0298AB6C */ cpu->r[1] = cpu->r[1] + 0x00001058u; /* 0298AB70 */ return; } // fn_0298AB74 @ 0x298ab74 void Gambit_fn_0298AB74(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_0298AB74: ; // 0x298ab74 /* 0298AB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298AB78 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AB78 */ _t17 = _t16 & 0x00000001u; /* 0298AB78 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298AB78 */ goto L_0298AB7C; L_0298AB7C: ; // 0x298ab7c /* 0298AB7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298AB7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298AB80 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AB80 */ _t19 = _t18 & 0x00000001u; /* 0298AB80 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298AB80 */ goto L_0298AB84; L_0298AB84: ; // 0x298ab84 /* 0298AB84 */ goto L_02801BB0; } // fn_0298AB88 @ 0x298ab88 void Gambit_fn_0298AB88(CPUState* cpu) { L_0298AB88: ; // 0x298ab88 /* 0298AB88 */ return; } // fn_0298AB8C @ 0x298ab8c void Gambit_fn_0298AB8C(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_0298AB8C: ; // 0x298ab8c /* 0298AB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298AB90 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AB90 */ _t17 = _t16 & 0x00000001u; /* 0298AB90 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298AB90 */ goto L_0298AB94; L_0298AB94: ; // 0x298ab94 /* 0298AB94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298AB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298AB98 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AB98 */ _t19 = _t18 & 0x00000001u; /* 0298AB98 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298AB98 */ goto L_0298AB9C; L_0298AB9C: ; // 0x298ab9c /* 0298AB9C */ goto L_02801BB0; } // fn_0298ABA0 @ 0x298aba0 void Gambit_fn_0298ABA0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0298ABA0: ; // 0x298aba0 /* 0298ABA0 */ _t0 = cpu->r[3] + 0x00000000u; /* 0298ABA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0298ABA4 */ _t1 = cpu->r[3] + 0x00000008u; /* 0298ABA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0298ABA8 */ cpu->r[12] = cpu->r[11] + cpu->r[12]; /* 0298ABAC */ cpu->r[11] = 0x10110000u; /* 0298ABB0 */ _t2 = cpu->r[11] + 0x00007399u; /* 0298ABB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 0298ABB4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu; /* 0298ABB4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]); /* 0298ABB8 */ return; } // fn_0298ABBC @ 0x298abbc void Gambit_fn_0298ABBC(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_0298ABBC: ; // 0x298abbc /* 0298ABBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ABC0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ABC0 */ _t17 = _t16 & 0x00000001u; /* 0298ABC0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298ABC0 */ goto L_0298ABC4; L_0298ABC4: ; // 0x298abc4 /* 0298ABC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298ABC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298ABC8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ABC8 */ _t19 = _t18 & 0x00000001u; /* 0298ABC8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298ABC8 */ goto L_0298ABCC; L_0298ABCC: ; // 0x298abcc /* 0298ABCC */ goto L_02801BB0; } // fn_0298ABD0 @ 0x298abd0 void Gambit_fn_0298ABD0(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_0298ABD0: ; // 0x298abd0 /* 0298ABD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ABD4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ABD4 */ _t17 = _t16 & 0x00000001u; /* 0298ABD4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298ABD4 */ goto L_0298ABD8; L_0298ABD8: ; // 0x298abd8 /* 0298ABD8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298ABD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298ABDC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ABDC */ _t19 = _t18 & 0x00000001u; /* 0298ABDC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298ABDC */ goto L_0298ABE0; L_0298ABE0: ; // 0x298abe0 /* 0298ABE0 */ goto L_02801BB0; } // fn_0298ABE4 @ 0x298abe4 void Gambit_fn_0298ABE4(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_0298ABE4: ; // 0x298abe4 /* 0298ABE4 */ cpu->r[0] = cpu->lr; /* 0298ABE8 */ _t0 = cpu->r[1] + 0xFFFFFF78u; /* 0298ABE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298ABE8 */ cpu->r[1] = _t0; /* 0298ABEC */ _t1 = cpu->r[1] + 0x00000034u; /* 0298ABEC */ rbrew_write32(cpu->mem, _t1, cpu->r[10]); /* 0298ABF0 */ _t2 = cpu->r[1] + 0x00000084u; /* 0298ABF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298ABF4 */ _t3 = cpu->r[1] + 0x0000002Cu; /* 0298ABF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]); /* 0298ABF8 */ _t4 = cpu->r[1] + 0x00000020u; /* 0298ABF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]); /* 0298ABFC */ _t5 = cpu->r[1] + 0x00000018u; /* 0298ABFC */ rbrew_write32(cpu->mem, _t5, cpu->r[3]); /* 0298AC00 */ _t6 = cpu->r[1] + 0x0000008Cu; /* 0298AC00 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298AC04 */ _t7 = cpu->r[1] + 0x00000078u; /* 0298AC04 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]); /* 0298AC08 */ _t8 = cpu->r[1] + 0x00000080u; /* 0298AC08 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0298AC0C */ _t9 = cpu->r[1] + 0x00000024u; /* 0298AC0C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]); /* 0298AC10 */ _t10 = cpu->r[1] + 0x00000030u; /* 0298AC10 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]); /* 0298AC14 */ _t11 = cpu->r[1] + 0x0000007Cu; /* 0298AC14 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]); /* 0298AC18 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0298AC18 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]); /* 0298AC1C */ _t13 = cpu->r[1] + 0x00000028u; /* 0298AC1C */ rbrew_write32(cpu->mem, _t13, cpu->r[7]); /* 0298AC20 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u); /* 0298AC20 */ _t15 = _t14 & 0x00000001u; /* 0298AC20 */ if (_t15) goto L_0298AC24; else goto L_0298AC44; L_0298AC24: ; // 0x298ac24 /* 0298AC24 */ _t16 = cpu->r[1] + 0x00000048u; /* 0298AC24 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]); /* 0298AC28 */ _t17 = cpu->r[1] + 0x00000068u; /* 0298AC28 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]); /* 0298AC2C */ _t18 = cpu->r[1] + 0x00000060u; /* 0298AC2C */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]); /* 0298AC30 */ _t19 = cpu->r[1] + 0x00000040u; /* 0298AC30 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]); /* 0298AC34 */ _t20 = cpu->r[1] + 0x00000050u; /* 0298AC34 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]); /* 0298AC38 */ _t21 = cpu->r[1] + 0x00000070u; /* 0298AC38 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]); /* 0298AC3C */ _t22 = cpu->r[1] + 0x00000058u; /* 0298AC3C */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]); /* 0298AC40 */ _t23 = cpu->r[1] + 0x00000038u; /* 0298AC40 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]); L_0298AC44: ; // 0x298ac44 /* 0298AC44 */ cpu->r[31] = cpu->r[3]; /* 0298AC44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298AC48 */ cpu->r[30] = cpu->r[4]; /* 0298AC4C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC4C */ _t25 = _t24 & 0x00000001u; /* 0298AC4C */ if (_t25) goto L_0298AC50; else goto L_0298AC60; L_0298AC50: ; // 0x298ac50 /* 0298AC50 */ cpu->r[3] = 0x0000040Cu; /* 0298AC54 */ Gambit_fn_02801A78(cpu); /* 0298AC58 */ cpu->r[31] = cpu->r[3]; /* 0298AC58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298AC5C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC5C */ _t27 = _t26 & 0x00000001u; /* 0298AC5C */ if (_t27) goto L_0298AD24; else goto L_0298AC60; L_0298AC60: ; // 0x298ac60 /* 0298AC60 */ cpu->r[29] = cpu->r[31]; /* 0298AC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298AC64 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC64 */ _t29 = _t28 & 0x00000001u; /* 0298AC64 */ if (_t29) goto L_0298AC68; else goto L_0298AC78; L_0298AC68: ; // 0x298ac68 /* 0298AC68 */ cpu->r[3] = 0x0000040Cu; /* 0298AC6C */ Gambit_fn_02801A78(cpu); /* 0298AC70 */ cpu->r[29] = cpu->r[3]; /* 0298AC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298AC74 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC74 */ _t31 = _t30 & 0x00000001u; /* 0298AC74 */ if (_t31) goto L_0298ACE8; else goto L_0298AC78; L_0298AC78: ; // 0x298ac78 /* 0298AC78 */ cpu->r[3] = cpu->r[29]; /* 0298AC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298AC7C */ cpu->r[28] = 0x10110000u; /* 0298AC80 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC80 */ _t33 = _t32 & 0x00000001u; /* 0298AC80 */ if (_t33) goto L_0298AC84; else goto L_0298ACB0; L_0298AC84: ; // 0x298ac84 /* 0298AC84 */ cpu->r[3] = 0x0000000Cu; /* 0298AC88 */ Gambit_fn_02801A78(cpu); /* 0298AC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298AC90 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC90 */ _t35 = _t34 & 0x00000001u; /* 0298AC90 */ if (_t35) goto L_0298AC94; else goto L_0298ACB0; L_0298AC94: ; // 0x298ac94 /* 0298AC94 */ cpu->r[7] = 0x10150000u; /* 0298AC98 */ _t36 = cpu->r[28] + 0x00007399u; /* 0298AC98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36); /* 0298AC9C */ cpu->r[7] = cpu->r[7] + 0xFFFFEF2Cu; /* 0298ACA0 */ _t37 = cpu->r[29] + 0x00000000u; /* 0298ACA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37); /* 0298ACA4 */ _t38 = cpu->r[29] + 0x00000004u; /* 0298ACA4 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]); /* 0298ACA8 */ _t39 = cpu->r[8] + 0x00000000u; /* 0298ACA8 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]); /* 0298ACAC */ goto L_0298ACE8; L_0298ACB0: ; // 0x298acb0 /* 0298ACB0 */ cpu->r[5] = 0x10150000u; /* 0298ACB4 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu; /* 0298ACB8 */ cpu->r[5] = cpu->r[5] + 0xFFFFEF14u; /* 0298ACBC */ _t40 = cpu->r[3] + 0x00000000u; /* 0298ACBC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]); /* 0298ACC0 */ cpu->r[6] = 0x00000400u; /* 0298ACC4 */ _t41 = cpu->r[3] + 0x00000004u; /* 0298ACC4 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]); /* 0298ACC8 */ _t42 = cpu->r[3] + 0x00000008u; /* 0298ACC8 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]); /* 0298ACCC */ _t43 = cpu->r[28] + 0x00007399u; /* 0298ACCC */ cpu->r[0] = rbrew_read8(cpu->mem, _t43); /* 0298ACD0 */ cpu->r[7] = 0x10150000u; /* 0298ACD4 */ _t44 = cpu->r[29] + 0x00000000u; /* 0298ACD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44); /* 0298ACD8 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF2Cu; /* 0298ACDC */ _t45 = cpu->r[29] + 0x0000040Bu; /* 0298ACDC */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]); /* 0298ACE0 */ _t46 = cpu->r[29] + 0x00000004u; /* 0298ACE0 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]); /* 0298ACE4 */ _t47 = cpu->r[8] + 0x00000000u; /* 0298ACE4 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]); L_0298ACE8: ; // 0x298ace8 /* 0298ACE8 */ cpu->r[9] = 0x10150000u; /* 0298ACEC */ cpu->r[12] = 0x00000002u; /* 0298ACF0 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF5Cu; /* 0298ACF4 */ cpu->r[0] = cpu->r[1] + 0x00000090u; /* 0298ACF8 */ _t48 = cpu->r[31] + 0x00000004u; /* 0298ACF8 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]); /* 0298ACFC */ cpu->r[11] = cpu->r[1] + 0x00000018u; /* 0298AD00 */ _t49 = cpu->r[1] + 0x0000000Cu; /* 0298AD00 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 0298AD04 */ cpu->r[0] = 0x00000000u; /* 0298AD08 */ _t50 = cpu->r[1] + 0x00000010u; /* 0298AD08 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]); /* 0298AD0C */ cpu->r[3] = cpu->r[31]; /* 0298AD10 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0298AD14 */ _t51 = cpu->r[1] + 0x00000009u; /* 0298AD14 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]); /* 0298AD18 */ cpu->r[4] = cpu->r[30]; /* 0298AD1C */ _t52 = cpu->r[1] + 0x00000008u; /* 0298AD1C */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]); /* 0298AD20 */ Gambit_fn_0282A5DC(cpu); L_0298AD24: ; // 0x298ad24 /* 0298AD24 */ _t53 = cpu->r[1] + 0x00000078u; /* 0298AD24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53); /* 0298AD28 */ _t54 = cpu->r[1] + 0x0000007Cu; /* 0298AD28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54); /* 0298AD2C */ _t55 = cpu->r[1] + 0x0000008Cu; /* 0298AD2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55); /* 0298AD30 */ cpu->r[3] = cpu->r[31]; /* 0298AD34 */ _t56 = cpu->r[1] + 0x00000080u; /* 0298AD34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56); /* 0298AD38 */ cpu->lr = cpu->r[0]; /* 0298AD3C */ _t57 = cpu->r[1] + 0x00000084u; /* 0298AD3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t57); /* 0298AD40 */ cpu->r[1] = cpu->r[1] + 0x00000088u; /* 0298AD44 */ return; } // fn_0298ABE8 @ 0x298abe8 void Gambit_fn_0298ABE8(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_0298ABE8: ; // 0x298abe8 /* 0298ABE8 */ _t0 = cpu->r[1] + 0xFFFFFF78u; /* 0298ABE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298ABE8 */ cpu->r[1] = _t0; /* 0298ABEC */ _t1 = cpu->r[1] + 0x00000034u; /* 0298ABEC */ rbrew_write32(cpu->mem, _t1, cpu->r[10]); /* 0298ABF0 */ _t2 = cpu->r[1] + 0x00000084u; /* 0298ABF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298ABF4 */ _t3 = cpu->r[1] + 0x0000002Cu; /* 0298ABF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]); /* 0298ABF8 */ _t4 = cpu->r[1] + 0x00000020u; /* 0298ABF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]); /* 0298ABFC */ _t5 = cpu->r[1] + 0x00000018u; /* 0298ABFC */ rbrew_write32(cpu->mem, _t5, cpu->r[3]); /* 0298AC00 */ _t6 = cpu->r[1] + 0x0000008Cu; /* 0298AC00 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298AC04 */ _t7 = cpu->r[1] + 0x00000078u; /* 0298AC04 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]); /* 0298AC08 */ _t8 = cpu->r[1] + 0x00000080u; /* 0298AC08 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0298AC0C */ _t9 = cpu->r[1] + 0x00000024u; /* 0298AC0C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]); /* 0298AC10 */ _t10 = cpu->r[1] + 0x00000030u; /* 0298AC10 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]); /* 0298AC14 */ _t11 = cpu->r[1] + 0x0000007Cu; /* 0298AC14 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]); /* 0298AC18 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0298AC18 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]); /* 0298AC1C */ _t13 = cpu->r[1] + 0x00000028u; /* 0298AC1C */ rbrew_write32(cpu->mem, _t13, cpu->r[7]); /* 0298AC20 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u); /* 0298AC20 */ _t15 = _t14 & 0x00000001u; /* 0298AC20 */ if (_t15) goto L_0298AC24; else goto L_0298AC44; L_0298AC24: ; // 0x298ac24 /* 0298AC24 */ _t16 = cpu->r[1] + 0x00000048u; /* 0298AC24 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]); /* 0298AC28 */ _t17 = cpu->r[1] + 0x00000068u; /* 0298AC28 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]); /* 0298AC2C */ _t18 = cpu->r[1] + 0x00000060u; /* 0298AC2C */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]); /* 0298AC30 */ _t19 = cpu->r[1] + 0x00000040u; /* 0298AC30 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]); /* 0298AC34 */ _t20 = cpu->r[1] + 0x00000050u; /* 0298AC34 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]); /* 0298AC38 */ _t21 = cpu->r[1] + 0x00000070u; /* 0298AC38 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]); /* 0298AC3C */ _t22 = cpu->r[1] + 0x00000058u; /* 0298AC3C */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]); /* 0298AC40 */ _t23 = cpu->r[1] + 0x00000038u; /* 0298AC40 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]); L_0298AC44: ; // 0x298ac44 /* 0298AC44 */ cpu->r[31] = cpu->r[3]; /* 0298AC44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298AC48 */ cpu->r[30] = cpu->r[4]; /* 0298AC4C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC4C */ _t25 = _t24 & 0x00000001u; /* 0298AC4C */ if (_t25) goto L_0298AC50; else goto L_0298AC60; L_0298AC50: ; // 0x298ac50 /* 0298AC50 */ cpu->r[3] = 0x0000040Cu; /* 0298AC54 */ Gambit_fn_02801A78(cpu); /* 0298AC58 */ cpu->r[31] = cpu->r[3]; /* 0298AC58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298AC5C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC5C */ _t27 = _t26 & 0x00000001u; /* 0298AC5C */ if (_t27) goto L_0298AD24; else goto L_0298AC60; L_0298AC60: ; // 0x298ac60 /* 0298AC60 */ cpu->r[29] = cpu->r[31]; /* 0298AC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298AC64 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC64 */ _t29 = _t28 & 0x00000001u; /* 0298AC64 */ if (_t29) goto L_0298AC68; else goto L_0298AC78; L_0298AC68: ; // 0x298ac68 /* 0298AC68 */ cpu->r[3] = 0x0000040Cu; /* 0298AC6C */ Gambit_fn_02801A78(cpu); /* 0298AC70 */ cpu->r[29] = cpu->r[3]; /* 0298AC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298AC74 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC74 */ _t31 = _t30 & 0x00000001u; /* 0298AC74 */ if (_t31) goto L_0298ACE8; else goto L_0298AC78; L_0298AC78: ; // 0x298ac78 /* 0298AC78 */ cpu->r[3] = cpu->r[29]; /* 0298AC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298AC7C */ cpu->r[28] = 0x10110000u; /* 0298AC80 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC80 */ _t33 = _t32 & 0x00000001u; /* 0298AC80 */ if (_t33) goto L_0298AC84; else goto L_0298ACB0; L_0298AC84: ; // 0x298ac84 /* 0298AC84 */ cpu->r[3] = 0x0000000Cu; /* 0298AC88 */ Gambit_fn_02801A78(cpu); /* 0298AC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298AC90 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AC90 */ _t35 = _t34 & 0x00000001u; /* 0298AC90 */ if (_t35) goto L_0298AC94; else goto L_0298ACB0; L_0298AC94: ; // 0x298ac94 /* 0298AC94 */ cpu->r[7] = 0x10150000u; /* 0298AC98 */ _t36 = cpu->r[28] + 0x00007399u; /* 0298AC98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36); /* 0298AC9C */ cpu->r[7] = cpu->r[7] + 0xFFFFEF2Cu; /* 0298ACA0 */ _t37 = cpu->r[29] + 0x00000000u; /* 0298ACA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37); /* 0298ACA4 */ _t38 = cpu->r[29] + 0x00000004u; /* 0298ACA4 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]); /* 0298ACA8 */ _t39 = cpu->r[8] + 0x00000000u; /* 0298ACA8 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]); /* 0298ACAC */ goto L_0298ACE8; L_0298ACB0: ; // 0x298acb0 /* 0298ACB0 */ cpu->r[5] = 0x10150000u; /* 0298ACB4 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu; /* 0298ACB8 */ cpu->r[5] = cpu->r[5] + 0xFFFFEF14u; /* 0298ACBC */ _t40 = cpu->r[3] + 0x00000000u; /* 0298ACBC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]); /* 0298ACC0 */ cpu->r[6] = 0x00000400u; /* 0298ACC4 */ _t41 = cpu->r[3] + 0x00000004u; /* 0298ACC4 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]); /* 0298ACC8 */ _t42 = cpu->r[3] + 0x00000008u; /* 0298ACC8 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]); /* 0298ACCC */ _t43 = cpu->r[28] + 0x00007399u; /* 0298ACCC */ cpu->r[0] = rbrew_read8(cpu->mem, _t43); /* 0298ACD0 */ cpu->r[7] = 0x10150000u; /* 0298ACD4 */ _t44 = cpu->r[29] + 0x00000000u; /* 0298ACD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44); /* 0298ACD8 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF2Cu; /* 0298ACDC */ _t45 = cpu->r[29] + 0x0000040Bu; /* 0298ACDC */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]); /* 0298ACE0 */ _t46 = cpu->r[29] + 0x00000004u; /* 0298ACE0 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]); /* 0298ACE4 */ _t47 = cpu->r[8] + 0x00000000u; /* 0298ACE4 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]); L_0298ACE8: ; // 0x298ace8 /* 0298ACE8 */ cpu->r[9] = 0x10150000u; /* 0298ACEC */ cpu->r[12] = 0x00000002u; /* 0298ACF0 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF5Cu; /* 0298ACF4 */ cpu->r[0] = cpu->r[1] + 0x00000090u; /* 0298ACF8 */ _t48 = cpu->r[31] + 0x00000004u; /* 0298ACF8 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]); /* 0298ACFC */ cpu->r[11] = cpu->r[1] + 0x00000018u; /* 0298AD00 */ _t49 = cpu->r[1] + 0x0000000Cu; /* 0298AD00 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 0298AD04 */ cpu->r[0] = 0x00000000u; /* 0298AD08 */ _t50 = cpu->r[1] + 0x00000010u; /* 0298AD08 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]); /* 0298AD0C */ cpu->r[3] = cpu->r[31]; /* 0298AD10 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0298AD14 */ _t51 = cpu->r[1] + 0x00000009u; /* 0298AD14 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]); /* 0298AD18 */ cpu->r[4] = cpu->r[30]; /* 0298AD1C */ _t52 = cpu->r[1] + 0x00000008u; /* 0298AD1C */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]); /* 0298AD20 */ Gambit_fn_0282A5DC(cpu); L_0298AD24: ; // 0x298ad24 /* 0298AD24 */ _t53 = cpu->r[1] + 0x00000078u; /* 0298AD24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53); /* 0298AD28 */ _t54 = cpu->r[1] + 0x0000007Cu; /* 0298AD28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54); /* 0298AD2C */ _t55 = cpu->r[1] + 0x0000008Cu; /* 0298AD2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55); /* 0298AD30 */ cpu->r[3] = cpu->r[31]; /* 0298AD34 */ _t56 = cpu->r[1] + 0x00000080u; /* 0298AD34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56); /* 0298AD38 */ cpu->lr = cpu->r[0]; /* 0298AD3C */ _t57 = cpu->r[1] + 0x00000084u; /* 0298AD3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t57); /* 0298AD40 */ cpu->r[1] = cpu->r[1] + 0x00000088u; /* 0298AD44 */ return; } // fn_0298AD48 @ 0x298ad48 void Gambit_fn_0298AD48(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_0298AD48: ; // 0x298ad48 /* 0298AD48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298AD4C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AD4C */ _t17 = _t16 & 0x00000001u; /* 0298AD4C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298AD4C */ goto L_0298AD50; L_0298AD50: ; // 0x298ad50 /* 0298AD50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298AD50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298AD54 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AD54 */ _t19 = _t18 & 0x00000001u; /* 0298AD54 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298AD54 */ goto L_0298AD58; L_0298AD58: ; // 0x298ad58 /* 0298AD58 */ goto L_02801BB0; } // fn_0298AD5C @ 0x298ad5c void Gambit_fn_0298AD5C(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_0298AD5C: ; // 0x298ad5c /* 0298AD5C */ cpu->r[0] = cpu->lr; /* 0298AD60 */ _t0 = cpu->r[1] + 0xFFFFFF88u; /* 0298AD60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298AD60 */ cpu->r[1] = _t0; /* 0298AD64 */ _t1 = cpu->r[1] + 0x00000068u; /* 0298AD64 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0298AD68 */ /* nop */ /* 0298AD6C */ _t2 = cpu->r[1] + 0x00000070u; /* 0298AD6C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0298AD70 */ _t3 = cpu->r[1] + 0x0000007Cu; /* 0298AD70 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298AD74 */ /* nop */ /* 0298AD78 */ cpu->r[30] = cpu->r[7]; /* 0298AD7C */ cpu->r[27] = cpu->r[4]; /* 0298AD80 */ cpu->r[28] = cpu->r[5]; /* 0298AD84 */ cpu->r[4] = cpu->r[30]; /* 0298AD88 */ cpu->r[5] = 0x00000004u; /* 0298AD8C */ cpu->r[26] = cpu->r[3]; /* 0298AD90 */ cpu->r[3] = 0x0000005Cu; /* 0298AD94 */ cpu->r[29] = cpu->r[6]; /* 0298AD98 */ Gambit_fn_02801AC8(cpu); /* 0298AD9C */ cpu->r[31] = cpu->r[3]; /* 0298AD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298ADA0 */ cpu->r[25] = 0x00000000u; /* 0298ADA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ADA4 */ _t5 = _t4 & 0x00000001u; /* 0298ADA4 */ if (_t5) goto L_0298AE10; else goto L_0298ADA8; L_0298ADA8: ; // 0x298ada8 /* 0298ADA8 */ cpu->r[3] = cpu->r[31]; /* 0298ADAC */ Gambit_fn_02C4F040(cpu); /* 0298ADB0 */ cpu->r[0] = 0x101B0000u; /* 0298ADB4 */ _t6 = cpu->r[31] + 0x00000044u; /* 0298ADB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[25]); /* 0298ADB8 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF08u; /* 0298ADBC */ _t7 = cpu->r[31] + 0x00000058u; /* 0298ADBC */ rbrew_write32(cpu->mem, _t7, cpu->r[25]); /* 0298ADC0 */ _t8 = cpu->r[31] + 0x00000034u; /* 0298ADC0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0298ADC4 */ _t9 = cpu->r[26] + 0x00000000u; /* 0298ADC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0298ADC8 */ cpu->r[10] = 0xFFFFFFFFu; /* 0298ADCC */ _t10 = cpu->r[1] + 0x00000024u; /* 0298ADCC */ rbrew_write32(cpu->mem, _t10, cpu->r[25]); /* 0298ADD0 */ cpu->r[0] = 0x00000001u; /* 0298ADD4 */ _t11 = cpu->r[1] + 0x00000018u; /* 0298ADD4 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]); /* 0298ADD8 */ _t12 = cpu->r[1] + 0x00000020u; /* 0298ADD8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]); /* 0298ADDC */ cpu->r[9] = 0x00000000u; /* 0298ADE0 */ _t13 = cpu->r[1] + 0x0000001Cu; /* 0298ADE0 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]); /* 0298ADE4 */ _t14 = cpu->r[1] + 0x00000021u; /* 0298ADE4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[9]); /* 0298ADE8 */ _t15 = cpu->r[1] + 0x00000014u; /* 0298ADE8 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 0298ADEC */ _t16 = cpu->r[1] + 0x00000028u; /* 0298ADEC */ rbrew_write32(cpu->mem, _t16, cpu->r[25]); /* 0298ADF0 */ _t17 = cpu->r[1] + 0x00000022u; /* 0298ADF0 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[9]); /* 0298ADF4 */ _t18 = cpu->r[5] + 0x0000000Cu; /* 0298ADF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 0298ADF8 */ cpu->r[12] = cpu->r[1] + 0x0000001Cu; /* 0298ADFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0298AE00 */ cpu->r[10] = cpu->r[5] + 0x0000000Cu; /* 0298AE04 */ cpu->r[11] = cpu->r[1] + 0x00000018u; /* 0298AE08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AE08 */ _t20 = _t19 & 0x00000001u; /* 0298AE08 */ if (_t20) goto L_0298AE60; else goto L_0298AE0C; L_0298AE0C: ; // 0x298ae0c /* 0298AE0C */ goto L_0298AE5C; L_0298AE10: ; // 0x298ae10 /* 0298AE10 */ _t21 = cpu->r[1] + 0x00000024u; /* 0298AE10 */ rbrew_write32(cpu->mem, _t21, cpu->r[25]); /* 0298AE14 */ cpu->r[0] = 0x00000001u; /* 0298AE18 */ _t22 = cpu->r[26] + 0x00000000u; /* 0298AE18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22); /* 0298AE1C */ cpu->r[31] = 0x00000000u; /* 0298AE20 */ _t23 = cpu->r[1] + 0x00000020u; /* 0298AE20 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]); /* 0298AE24 */ cpu->r[10] = 0xFFFFFFFFu; /* 0298AE28 */ _t24 = cpu->r[1] + 0x00000021u; /* 0298AE28 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]); /* 0298AE2C */ _t25 = cpu->r[1] + 0x0000001Cu; /* 0298AE2C */ rbrew_write32(cpu->mem, _t25, cpu->r[10]); /* 0298AE30 */ _t26 = cpu->r[1] + 0x00000018u; /* 0298AE30 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]); /* 0298AE34 */ _t27 = cpu->r[1] + 0x00000014u; /* 0298AE34 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]); /* 0298AE38 */ _t28 = cpu->r[1] + 0x00000022u; /* 0298AE38 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[31]); /* 0298AE3C */ _t29 = cpu->r[1] + 0x00000028u; /* 0298AE3C */ rbrew_write32(cpu->mem, _t29, cpu->r[25]); /* 0298AE40 */ _t30 = cpu->r[5] + 0x0000000Cu; /* 0298AE40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30); /* 0298AE44 */ cpu->r[11] = cpu->r[1] + 0x00000018u; /* 0298AE48 */ cpu->r[12] = cpu->r[1] + 0x0000001Cu; /* 0298AE4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0298AE50 */ cpu->r[10] = cpu->r[5] + 0x0000000Cu; /* 0298AE54 */ cpu->r[9] = cpu->r[31]; /* 0298AE58 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AE58 */ _t32 = _t31 & 0x00000001u; /* 0298AE58 */ if (_t32) goto L_0298AE60; else goto L_0298AE5C; L_0298AE5C: ; // 0x298ae5c /* 0298AE5C */ cpu->r[9] = cpu->r[10] + cpu->r[6]; L_0298AE60: ; // 0x298ae60 /* 0298AE60 */ _t33 = cpu->r[9] + 0x00000008u; /* 0298AE60 */ cpu->r[10] = rbrew_read16(cpu->mem, _t33); /* 0298AE64 */ _t34 = cpu->r[27] + 0x00000018u; /* 0298AE64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34); /* 0298AE68 */ _t35 = cpu->r[1] + 0x0000000Cu; /* 0298AE68 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]); /* 0298AE6C */ _t36 = cpu->r[1] + 0x00000008u; /* 0298AE6C */ rbrew_write32(cpu->mem, _t36, cpu->r[8]); /* 0298AE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0298AE74 */ _t37 = cpu->r[27] + 0x00000014u; /* 0298AE74 */ cpu->r[0] = rbrew_read16(cpu->mem, _t37); /* 0298AE78 */ _t38 = cpu->r[1] + 0x00000014u; /* 0298AE78 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]); /* 0298AE7C */ _t39 = cpu->r[11] + 0x00000000u; /* 0298AE7C */ rbrew_write32(cpu->mem, _t39, cpu->r[0]); /* 0298AE80 */ _t40 = cpu->r[27] + 0x0000000Cu; /* 0298AE80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40); /* 0298AE84 */ _t41 = cpu->r[1] + 0x00000024u; /* 0298AE84 */ rbrew_write32(cpu->mem, _t41, cpu->r[25]); /* 0298AE88 */ cpu->r[10] = cpu->r[12]; /* 0298AE8C */ _t42 = cpu->r[1] + 0x00000028u; /* 0298AE8C */ rbrew_write32(cpu->mem, _t42, cpu->r[25]); /* 0298AE90 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298AE90 */ _t44 = _t43 & 0x00000001u; /* 0298AE90 */ if (_t44) goto L_0298AE98; else goto L_0298AE94; L_0298AE94: ; // 0x298ae94 /* 0298AE94 */ cpu->r[10] = cpu->r[1] + 0x00000008u; L_0298AE98: ; // 0x298ae98 /* 0298AE98 */ _t45 = cpu->r[10] + 0x00000000u; /* 0298AE98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45); /* 0298AE9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298AEA0 */ _t46 = cpu->r[1] + 0x00000024u; /* 0298AEA0 */ rbrew_write32(cpu->mem, _t46, cpu->r[25]); /* 0298AEA4 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u; /* 0298AEA8 */ _t47 = cpu->r[12] + 0x00000000u; /* 0298AEA8 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]); /* 0298AEAC */ cpu->r[3] = cpu->r[1] + 0x00000014u; /* 0298AEB0 */ _t48 = cpu->r[1] + 0x00000028u; /* 0298AEB0 */ rbrew_write32(cpu->mem, _t48, cpu->r[25]); /* 0298AEB4 */ _t49 = cpu->r[1] + 0x00000021u; /* 0298AEB4 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]); /* 0298AEB8 */ Gambit_fn_02C53FC4(cpu); /* 0298AEBC */ cpu->r[5] = cpu->r[28]; /* 0298AEC0 */ cpu->r[4] = cpu->r[30]; /* 0298AEC4 */ cpu->r[25] = cpu->r[3]; /* 0298AEC8 */ Gambit_fn_02801ADC(cpu); /* 0298AECC */ cpu->r[5] = cpu->r[3]; /* 0298AED0 */ cpu->r[3] = cpu->r[31]; /* 0298AED4 */ cpu->r[6] = cpu->r[25]; /* 0298AED8 */ cpu->r[4] = cpu->r[1] + 0x00000014u; /* 0298AEDC */ Gambit_fn_02C53E8C(cpu); /* 0298AEE0 */ cpu->r[4] = cpu->r[27]; /* 0298AEE4 */ cpu->r[3] = cpu->r[31]; /* 0298AEE8 */ Gambit_fn_02C54BFC(cpu); /* 0298AEEC */ _t50 = cpu->r[31] + 0x00000034u; /* 0298AEEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t50); /* 0298AEF0 */ _t51 = cpu->r[6] + 0x0000002Cu; /* 0298AEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 0298AEF4 */ cpu->ctr = cpu->r[0]; /* 0298AEF8 */ cpu->r[4] = cpu->r[26]; /* 0298AEFC */ cpu->r[3] = cpu->r[31]; /* 0298AF00 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298AF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298AF08 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AF08 */ _t53 = _t52 & 0x00000001u; /* 0298AF08 */ if (_t53) goto L_0298AF74; else goto L_0298AF0C; L_0298AF0C: ; // 0x298af0c /* 0298AF0C */ _t54 = cpu->r[31] + 0x00000000u; /* 0298AF0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t54); /* 0298AF10 */ cpu->r[5] = 0x10150000u; /* 0298AF14 */ _t55 = cpu->r[5] + 0xFFFFEF78u; /* 0298AF14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55); /* 0298AF18 */ _t56 = cpu->r[12] + 0x00000008u; /* 0298AF18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t56); /* 0298AF1C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]); /* 0298AF20 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298AF20 */ _t58 = _t57 & 0x00000001u; /* 0298AF20 */ if (_t58) goto L_0298AF24; else goto L_0298AF28; L_0298AF24: ; // 0x298af24 /* 0298AF24 */ cpu->f[31] = cpu->f[0]; L_0298AF28: ; // 0x298af28 /* 0298AF28 */ cpu->r[3] = 0x101D0000u; /* 0298AF2C */ _t59 = cpu->r[3] + 0xFFFF9918u; /* 0298AF2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t59); /* 0298AF30 */ Gambit_fn_02830138(cpu); /* 0298AF34 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 0298AF38 */ cpu->r[9] = 0x10150000u; /* 0298AF3C */ cpu->r[0] = cpu->r[11] | 0x3F800000u; /* 0298AF40 */ _t60 = cpu->r[9] + 0xFFFFEF74u; /* 0298AF40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t60); /* 0298AF44 */ _t61 = cpu->r[1] + 0x00000010u; /* 0298AF44 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]); /* 0298AF48 */ _t62 = cpu->r[1] + 0x00000010u; /* 0298AF48 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t62); /* 0298AF4C */ _t63 = cpu->r[31] + 0x00000000u; /* 0298AF4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t63); /* 0298AF50 */ cpu->f[12] = cpu->f[11] - cpu->f[13]; /* 0298AF54 */ _t64 = cpu->r[30] + 0x00000010u; /* 0298AF54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64); /* 0298AF58 */ _t65 = cpu->r[30] + 0x00000004u; /* 0298AF58 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t65); /* 0298AF5C */ cpu->ctr = cpu->r[8]; /* 0298AF60 */ _t66 = cpu->r[30] + 0x00000008u; /* 0298AF60 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t66); /* 0298AF64 */ cpu->f[1] = cpu->f[31] * cpu->f[12]; /* 0298AF68 */ _t67 = cpu->r[30] + 0x00000014u; /* 0298AF68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67); /* 0298AF6C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298AF70 */ _t68 = cpu->r[30] + 0x00000000u; /* 0298AF70 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[1]); L_0298AF74: ; // 0x298af74 /* 0298AF74 */ cpu->r[3] = cpu->r[31]; /* 0298AF78 */ /* nop */ /* 0298AF7C */ _t69 = cpu->r[1] + 0x00000070u; /* 0298AF7C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t69); /* 0298AF80 */ _t70 = cpu->r[1] + 0x00000068u; /* 0298AF80 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t70); /* 0298AF84 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298AF84 */ _t72 = _t71 & 0x00000001u; /* 0298AF84 */ if (_t72) goto L_0298AF88; // else: addr-0 trap, fall-through L_0298AF88: ; // 0x298af88 /* 0298AF88 */ _t73 = cpu->r[1] + 0x0000007Cu; /* 0298AF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73); /* 0298AF8C */ cpu->lr = cpu->r[0]; /* 0298AF90 */ cpu->r[1] = cpu->r[1] + 0x00000078u; /* 0298AF94 */ return; } // fn_0298AD60 @ 0x298ad60 void Gambit_fn_0298AD60(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_0298AD60: ; // 0x298ad60 /* 0298AD60 */ _t0 = cpu->r[1] + 0xFFFFFF88u; /* 0298AD60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298AD60 */ cpu->r[1] = _t0; /* 0298AD64 */ _t1 = cpu->r[1] + 0x00000068u; /* 0298AD64 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0298AD68 */ /* nop */ /* 0298AD6C */ _t2 = cpu->r[1] + 0x00000070u; /* 0298AD6C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0298AD70 */ _t3 = cpu->r[1] + 0x0000007Cu; /* 0298AD70 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298AD74 */ /* nop */ /* 0298AD78 */ cpu->r[30] = cpu->r[7]; /* 0298AD7C */ cpu->r[27] = cpu->r[4]; /* 0298AD80 */ cpu->r[28] = cpu->r[5]; /* 0298AD84 */ cpu->r[4] = cpu->r[30]; /* 0298AD88 */ cpu->r[5] = 0x00000004u; /* 0298AD8C */ cpu->r[26] = cpu->r[3]; /* 0298AD90 */ cpu->r[3] = 0x0000005Cu; /* 0298AD94 */ cpu->r[29] = cpu->r[6]; /* 0298AD98 */ Gambit_fn_02801AC8(cpu); /* 0298AD9C */ cpu->r[31] = cpu->r[3]; /* 0298AD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298ADA0 */ cpu->r[25] = 0x00000000u; /* 0298ADA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ADA4 */ _t5 = _t4 & 0x00000001u; /* 0298ADA4 */ if (_t5) goto L_0298AE10; else goto L_0298ADA8; L_0298ADA8: ; // 0x298ada8 /* 0298ADA8 */ cpu->r[3] = cpu->r[31]; /* 0298ADAC */ Gambit_fn_02C4F040(cpu); /* 0298ADB0 */ cpu->r[0] = 0x101B0000u; /* 0298ADB4 */ _t6 = cpu->r[31] + 0x00000044u; /* 0298ADB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[25]); /* 0298ADB8 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF08u; /* 0298ADBC */ _t7 = cpu->r[31] + 0x00000058u; /* 0298ADBC */ rbrew_write32(cpu->mem, _t7, cpu->r[25]); /* 0298ADC0 */ _t8 = cpu->r[31] + 0x00000034u; /* 0298ADC0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 0298ADC4 */ _t9 = cpu->r[26] + 0x00000000u; /* 0298ADC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9); /* 0298ADC8 */ cpu->r[10] = 0xFFFFFFFFu; /* 0298ADCC */ _t10 = cpu->r[1] + 0x00000024u; /* 0298ADCC */ rbrew_write32(cpu->mem, _t10, cpu->r[25]); /* 0298ADD0 */ cpu->r[0] = 0x00000001u; /* 0298ADD4 */ _t11 = cpu->r[1] + 0x00000018u; /* 0298ADD4 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]); /* 0298ADD8 */ _t12 = cpu->r[1] + 0x00000020u; /* 0298ADD8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]); /* 0298ADDC */ cpu->r[9] = 0x00000000u; /* 0298ADE0 */ _t13 = cpu->r[1] + 0x0000001Cu; /* 0298ADE0 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]); /* 0298ADE4 */ _t14 = cpu->r[1] + 0x00000021u; /* 0298ADE4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[9]); /* 0298ADE8 */ _t15 = cpu->r[1] + 0x00000014u; /* 0298ADE8 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 0298ADEC */ _t16 = cpu->r[1] + 0x00000028u; /* 0298ADEC */ rbrew_write32(cpu->mem, _t16, cpu->r[25]); /* 0298ADF0 */ _t17 = cpu->r[1] + 0x00000022u; /* 0298ADF0 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[9]); /* 0298ADF4 */ _t18 = cpu->r[5] + 0x0000000Cu; /* 0298ADF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 0298ADF8 */ cpu->r[12] = cpu->r[1] + 0x0000001Cu; /* 0298ADFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0298AE00 */ cpu->r[10] = cpu->r[5] + 0x0000000Cu; /* 0298AE04 */ cpu->r[11] = cpu->r[1] + 0x00000018u; /* 0298AE08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AE08 */ _t20 = _t19 & 0x00000001u; /* 0298AE08 */ if (_t20) goto L_0298AE60; else goto L_0298AE0C; L_0298AE0C: ; // 0x298ae0c /* 0298AE0C */ goto L_0298AE5C; L_0298AE10: ; // 0x298ae10 /* 0298AE10 */ _t21 = cpu->r[1] + 0x00000024u; /* 0298AE10 */ rbrew_write32(cpu->mem, _t21, cpu->r[25]); /* 0298AE14 */ cpu->r[0] = 0x00000001u; /* 0298AE18 */ _t22 = cpu->r[26] + 0x00000000u; /* 0298AE18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22); /* 0298AE1C */ cpu->r[31] = 0x00000000u; /* 0298AE20 */ _t23 = cpu->r[1] + 0x00000020u; /* 0298AE20 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]); /* 0298AE24 */ cpu->r[10] = 0xFFFFFFFFu; /* 0298AE28 */ _t24 = cpu->r[1] + 0x00000021u; /* 0298AE28 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]); /* 0298AE2C */ _t25 = cpu->r[1] + 0x0000001Cu; /* 0298AE2C */ rbrew_write32(cpu->mem, _t25, cpu->r[10]); /* 0298AE30 */ _t26 = cpu->r[1] + 0x00000018u; /* 0298AE30 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]); /* 0298AE34 */ _t27 = cpu->r[1] + 0x00000014u; /* 0298AE34 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]); /* 0298AE38 */ _t28 = cpu->r[1] + 0x00000022u; /* 0298AE38 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[31]); /* 0298AE3C */ _t29 = cpu->r[1] + 0x00000028u; /* 0298AE3C */ rbrew_write32(cpu->mem, _t29, cpu->r[25]); /* 0298AE40 */ _t30 = cpu->r[5] + 0x0000000Cu; /* 0298AE40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30); /* 0298AE44 */ cpu->r[11] = cpu->r[1] + 0x00000018u; /* 0298AE48 */ cpu->r[12] = cpu->r[1] + 0x0000001Cu; /* 0298AE4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 0298AE50 */ cpu->r[10] = cpu->r[5] + 0x0000000Cu; /* 0298AE54 */ cpu->r[9] = cpu->r[31]; /* 0298AE58 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AE58 */ _t32 = _t31 & 0x00000001u; /* 0298AE58 */ if (_t32) goto L_0298AE60; else goto L_0298AE5C; L_0298AE5C: ; // 0x298ae5c /* 0298AE5C */ cpu->r[9] = cpu->r[10] + cpu->r[6]; L_0298AE60: ; // 0x298ae60 /* 0298AE60 */ _t33 = cpu->r[9] + 0x00000008u; /* 0298AE60 */ cpu->r[10] = rbrew_read16(cpu->mem, _t33); /* 0298AE64 */ _t34 = cpu->r[27] + 0x00000018u; /* 0298AE64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34); /* 0298AE68 */ _t35 = cpu->r[1] + 0x0000000Cu; /* 0298AE68 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]); /* 0298AE6C */ _t36 = cpu->r[1] + 0x00000008u; /* 0298AE6C */ rbrew_write32(cpu->mem, _t36, cpu->r[8]); /* 0298AE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0298AE74 */ _t37 = cpu->r[27] + 0x00000014u; /* 0298AE74 */ cpu->r[0] = rbrew_read16(cpu->mem, _t37); /* 0298AE78 */ _t38 = cpu->r[1] + 0x00000014u; /* 0298AE78 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]); /* 0298AE7C */ _t39 = cpu->r[11] + 0x00000000u; /* 0298AE7C */ rbrew_write32(cpu->mem, _t39, cpu->r[0]); /* 0298AE80 */ _t40 = cpu->r[27] + 0x0000000Cu; /* 0298AE80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40); /* 0298AE84 */ _t41 = cpu->r[1] + 0x00000024u; /* 0298AE84 */ rbrew_write32(cpu->mem, _t41, cpu->r[25]); /* 0298AE88 */ cpu->r[10] = cpu->r[12]; /* 0298AE8C */ _t42 = cpu->r[1] + 0x00000028u; /* 0298AE8C */ rbrew_write32(cpu->mem, _t42, cpu->r[25]); /* 0298AE90 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298AE90 */ _t44 = _t43 & 0x00000001u; /* 0298AE90 */ if (_t44) goto L_0298AE98; else goto L_0298AE94; L_0298AE94: ; // 0x298ae94 /* 0298AE94 */ cpu->r[10] = cpu->r[1] + 0x00000008u; L_0298AE98: ; // 0x298ae98 /* 0298AE98 */ _t45 = cpu->r[10] + 0x00000000u; /* 0298AE98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45); /* 0298AE9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298AEA0 */ _t46 = cpu->r[1] + 0x00000024u; /* 0298AEA0 */ rbrew_write32(cpu->mem, _t46, cpu->r[25]); /* 0298AEA4 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u; /* 0298AEA8 */ _t47 = cpu->r[12] + 0x00000000u; /* 0298AEA8 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]); /* 0298AEAC */ cpu->r[3] = cpu->r[1] + 0x00000014u; /* 0298AEB0 */ _t48 = cpu->r[1] + 0x00000028u; /* 0298AEB0 */ rbrew_write32(cpu->mem, _t48, cpu->r[25]); /* 0298AEB4 */ _t49 = cpu->r[1] + 0x00000021u; /* 0298AEB4 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]); /* 0298AEB8 */ Gambit_fn_02C53FC4(cpu); /* 0298AEBC */ cpu->r[5] = cpu->r[28]; /* 0298AEC0 */ cpu->r[4] = cpu->r[30]; /* 0298AEC4 */ cpu->r[25] = cpu->r[3]; /* 0298AEC8 */ Gambit_fn_02801ADC(cpu); /* 0298AECC */ cpu->r[5] = cpu->r[3]; /* 0298AED0 */ cpu->r[3] = cpu->r[31]; /* 0298AED4 */ cpu->r[6] = cpu->r[25]; /* 0298AED8 */ cpu->r[4] = cpu->r[1] + 0x00000014u; /* 0298AEDC */ Gambit_fn_02C53E8C(cpu); /* 0298AEE0 */ cpu->r[4] = cpu->r[27]; /* 0298AEE4 */ cpu->r[3] = cpu->r[31]; /* 0298AEE8 */ Gambit_fn_02C54BFC(cpu); /* 0298AEEC */ _t50 = cpu->r[31] + 0x00000034u; /* 0298AEEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t50); /* 0298AEF0 */ _t51 = cpu->r[6] + 0x0000002Cu; /* 0298AEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 0298AEF4 */ cpu->ctr = cpu->r[0]; /* 0298AEF8 */ cpu->r[4] = cpu->r[26]; /* 0298AEFC */ cpu->r[3] = cpu->r[31]; /* 0298AF00 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298AF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298AF08 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AF08 */ _t53 = _t52 & 0x00000001u; /* 0298AF08 */ if (_t53) goto L_0298AF74; else goto L_0298AF0C; L_0298AF0C: ; // 0x298af0c /* 0298AF0C */ _t54 = cpu->r[31] + 0x00000000u; /* 0298AF0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t54); /* 0298AF10 */ cpu->r[5] = 0x10150000u; /* 0298AF14 */ _t55 = cpu->r[5] + 0xFFFFEF78u; /* 0298AF14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55); /* 0298AF18 */ _t56 = cpu->r[12] + 0x00000008u; /* 0298AF18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t56); /* 0298AF1C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]); /* 0298AF20 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298AF20 */ _t58 = _t57 & 0x00000001u; /* 0298AF20 */ if (_t58) goto L_0298AF24; else goto L_0298AF28; L_0298AF24: ; // 0x298af24 /* 0298AF24 */ cpu->f[31] = cpu->f[0]; L_0298AF28: ; // 0x298af28 /* 0298AF28 */ cpu->r[3] = 0x101D0000u; /* 0298AF2C */ _t59 = cpu->r[3] + 0xFFFF9918u; /* 0298AF2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t59); /* 0298AF30 */ Gambit_fn_02830138(cpu); /* 0298AF34 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 0298AF38 */ cpu->r[9] = 0x10150000u; /* 0298AF3C */ cpu->r[0] = cpu->r[11] | 0x3F800000u; /* 0298AF40 */ _t60 = cpu->r[9] + 0xFFFFEF74u; /* 0298AF40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t60); /* 0298AF44 */ _t61 = cpu->r[1] + 0x00000010u; /* 0298AF44 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]); /* 0298AF48 */ _t62 = cpu->r[1] + 0x00000010u; /* 0298AF48 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t62); /* 0298AF4C */ _t63 = cpu->r[31] + 0x00000000u; /* 0298AF4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t63); /* 0298AF50 */ cpu->f[12] = cpu->f[11] - cpu->f[13]; /* 0298AF54 */ _t64 = cpu->r[30] + 0x00000010u; /* 0298AF54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64); /* 0298AF58 */ _t65 = cpu->r[30] + 0x00000004u; /* 0298AF58 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t65); /* 0298AF5C */ cpu->ctr = cpu->r[8]; /* 0298AF60 */ _t66 = cpu->r[30] + 0x00000008u; /* 0298AF60 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t66); /* 0298AF64 */ cpu->f[1] = cpu->f[31] * cpu->f[12]; /* 0298AF68 */ _t67 = cpu->r[30] + 0x00000014u; /* 0298AF68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67); /* 0298AF6C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298AF70 */ _t68 = cpu->r[30] + 0x00000000u; /* 0298AF70 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[1]); L_0298AF74: ; // 0x298af74 /* 0298AF74 */ cpu->r[3] = cpu->r[31]; /* 0298AF78 */ /* nop */ /* 0298AF7C */ _t69 = cpu->r[1] + 0x00000070u; /* 0298AF7C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t69); /* 0298AF80 */ _t70 = cpu->r[1] + 0x00000068u; /* 0298AF80 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t70); /* 0298AF84 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298AF84 */ _t72 = _t71 & 0x00000001u; /* 0298AF84 */ if (_t72) goto L_0298AF88; // else: addr-0 trap, fall-through L_0298AF88: ; // 0x298af88 /* 0298AF88 */ _t73 = cpu->r[1] + 0x0000007Cu; /* 0298AF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73); /* 0298AF8C */ cpu->lr = cpu->r[0]; /* 0298AF90 */ cpu->r[1] = cpu->r[1] + 0x00000078u; /* 0298AF94 */ return; } // fn_0298AF98 @ 0x298af98 void Gambit_fn_0298AF98(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_0298AF98: ; // 0x298af98 /* 0298AF98 */ cpu->r[0] = cpu->lr; /* 0298AF9C */ _t0 = cpu->r[1] + 0xFFFFFF80u; /* 0298AF9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298AF9C */ cpu->r[1] = _t0; /* 0298AFA0 */ _t1 = cpu->r[1] + 0x00000070u; /* 0298AFA0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0298AFA4 */ /* nop */ /* 0298AFA8 */ _t2 = cpu->r[1] + 0x00000078u; /* 0298AFA8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0298AFAC */ _t3 = cpu->r[1] + 0x00000084u; /* 0298AFAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298AFB0 */ /* nop */ /* 0298AFB4 */ cpu->r[30] = cpu->r[7]; /* 0298AFB8 */ cpu->r[27] = cpu->r[4]; /* 0298AFBC */ cpu->r[28] = cpu->r[5]; /* 0298AFC0 */ cpu->r[4] = cpu->r[30]; /* 0298AFC4 */ cpu->r[5] = 0x00000004u; /* 0298AFC8 */ cpu->r[26] = cpu->r[3]; /* 0298AFCC */ cpu->r[3] = 0x00000058u; /* 0298AFD0 */ cpu->r[29] = cpu->r[6]; /* 0298AFD4 */ Gambit_fn_02801AC8(cpu); /* 0298AFD8 */ cpu->r[31] = cpu->r[3]; /* 0298AFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298AFDC */ cpu->r[25] = 0x00000000u; /* 0298AFE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AFE0 */ _t5 = _t4 & 0x00000001u; /* 0298AFE0 */ if (_t5) goto L_0298B044; else goto L_0298AFE4; L_0298AFE4: ; // 0x298afe4 /* 0298AFE4 */ cpu->r[3] = cpu->r[31]; /* 0298AFE8 */ Gambit_fn_02C4F040(cpu); /* 0298AFEC */ cpu->r[9] = 0x101B0000u; /* 0298AFF0 */ _t6 = cpu->r[31] + 0x00000044u; /* 0298AFF0 */ rbrew_write32(cpu->mem, _t6, cpu->r[25]); /* 0298AFF4 */ cpu->r[9] = cpu->r[9] + 0xFFFFED88u; /* 0298AFF8 */ _t7 = cpu->r[31] + 0x00000034u; /* 0298AFF8 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 0298AFFC */ _t8 = cpu->r[26] + 0x00000000u; /* 0298AFFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 0298B000 */ cpu->r[0] = 0x00000001u; /* 0298B004 */ _t9 = cpu->r[1] + 0x0000002Cu; /* 0298B004 */ rbrew_write32(cpu->mem, _t9, cpu->r[25]); /* 0298B008 */ cpu->r[10] = 0xFFFFFFFFu; /* 0298B00C */ _t10 = cpu->r[1] + 0x00000024u; /* 0298B00C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]); /* 0298B010 */ cpu->r[0] = 0x00000000u; /* 0298B014 */ _t11 = cpu->r[1] + 0x00000020u; /* 0298B014 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]); /* 0298B018 */ _t12 = cpu->r[1] + 0x00000025u; /* 0298B018 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]); /* 0298B01C */ _t13 = cpu->r[1] + 0x00000018u; /* 0298B01C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]); /* 0298B020 */ _t14 = cpu->r[1] + 0x00000028u; /* 0298B020 */ rbrew_write32(cpu->mem, _t14, cpu->r[25]); /* 0298B024 */ _t15 = cpu->r[1] + 0x0000001Cu; /* 0298B024 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 0298B028 */ _t16 = cpu->r[1] + 0x00000014u; /* 0298B028 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]); /* 0298B02C */ _t17 = cpu->r[11] + 0x00000024u; /* 0298B02C */ cpu->r[11] = rbrew_read16(cpu->mem, _t17); /* 0298B030 */ cpu->r[6] = cpu->r[1] + 0x00000018u; /* 0298B034 */ cpu->r[7] = cpu->r[1] + 0x0000001Cu; /* 0298B038 */ cpu->r[8] = cpu->r[1] + 0x00000020u; /* 0298B03C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0298B03C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]); /* 0298B040 */ goto L_0298B088; L_0298B044: ; // 0x298b044 /* 0298B044 */ _t19 = cpu->r[1] + 0x00000028u; /* 0298B044 */ rbrew_write32(cpu->mem, _t19, cpu->r[25]); /* 0298B048 */ cpu->r[0] = 0x00000001u; /* 0298B04C */ _t20 = cpu->r[26] + 0x00000000u; /* 0298B04C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20); /* 0298B050 */ cpu->r[10] = 0xFFFFFFFFu; /* 0298B054 */ _t21 = cpu->r[1] + 0x00000024u; /* 0298B054 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]); /* 0298B058 */ cpu->r[31] = 0x00000000u; /* 0298B05C */ _t22 = cpu->r[1] + 0x00000014u; /* 0298B05C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]); /* 0298B060 */ _t23 = cpu->r[1] + 0x00000025u; /* 0298B060 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]); /* 0298B064 */ _t24 = cpu->r[1] + 0x0000002Cu; /* 0298B064 */ rbrew_write32(cpu->mem, _t24, cpu->r[25]); /* 0298B068 */ _t25 = cpu->r[1] + 0x00000018u; /* 0298B068 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]); /* 0298B06C */ _t26 = cpu->r[1] + 0x0000001Cu; /* 0298B06C */ rbrew_write32(cpu->mem, _t26, cpu->r[10]); /* 0298B070 */ _t27 = cpu->r[1] + 0x00000020u; /* 0298B070 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]); /* 0298B074 */ _t28 = cpu->r[11] + 0x00000024u; /* 0298B074 */ cpu->r[11] = rbrew_read16(cpu->mem, _t28); /* 0298B078 */ cpu->r[8] = cpu->r[1] + 0x00000020u; /* 0298B07C */ cpu->r[7] = cpu->r[1] + 0x0000001Cu; /* 0298B080 */ cpu->r[6] = cpu->r[1] + 0x00000018u; /* 0298B084 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0298B084 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]); L_0298B088: ; // 0x298b088 /* 0298B088 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 0298B088 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30); /* 0298B08C */ _t31 = cpu->r[27] + 0x00000014u; /* 0298B08C */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 0298B090 */ _t32 = cpu->r[1] + 0x00000014u; /* 0298B090 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]); /* 0298B094 */ _t33 = cpu->r[27] + 0x00000018u; /* 0298B094 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 0298B098 */ _t34 = cpu->r[6] + 0x00000000u; /* 0298B098 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]); /* 0298B09C */ _t35 = cpu->r[1] + 0x00000008u; /* 0298B09C */ rbrew_write32(cpu->mem, _t35, cpu->r[12]); /* 0298B0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298B0A4 */ _t36 = cpu->r[1] + 0x00000028u; /* 0298B0A4 */ rbrew_write32(cpu->mem, _t36, cpu->r[25]); /* 0298B0A8 */ cpu->r[9] = cpu->r[7]; /* 0298B0AC */ _t37 = cpu->r[1] + 0x0000002Cu; /* 0298B0AC */ rbrew_write32(cpu->mem, _t37, cpu->r[25]); /* 0298B0B0 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B0B0 */ _t39 = _t38 & 0x00000001u; /* 0298B0B0 */ if (_t39) goto L_0298B0B8; else goto L_0298B0B4; L_0298B0B4: ; // 0x298b0b4 /* 0298B0B4 */ cpu->r[9] = cpu->r[1] + 0x00000008u; L_0298B0B8: ; // 0x298b0b8 /* 0298B0B8 */ _t40 = cpu->r[9] + 0x00000000u; /* 0298B0B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40); /* 0298B0BC */ _t41 = cpu->r[27] + 0x0000001Cu; /* 0298B0BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 0298B0C0 */ _t42 = cpu->r[7] + 0x00000000u; /* 0298B0C0 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]); /* 0298B0C4 */ cpu->r[10] = cpu->r[8]; /* 0298B0C8 */ _t43 = cpu->r[1] + 0x00000008u; /* 0298B0C8 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]); /* 0298B0CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B0D0 */ _t44 = cpu->r[27] + 0x0000000Cu; /* 0298B0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44); /* 0298B0D4 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B0D4 */ _t46 = _t45 & 0x00000001u; /* 0298B0D4 */ if (_t46) goto L_0298B0DC; else goto L_0298B0D8; L_0298B0D8: ; // 0x298b0d8 /* 0298B0D8 */ cpu->r[10] = cpu->r[1] + 0x00000008u; L_0298B0DC: ; // 0x298b0dc /* 0298B0DC */ _t47 = cpu->r[10] + 0x00000000u; /* 0298B0DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t47); /* 0298B0E0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B0E4 */ _t48 = cpu->r[1] + 0x00000028u; /* 0298B0E4 */ rbrew_write32(cpu->mem, _t48, cpu->r[25]); /* 0298B0E8 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u; /* 0298B0EC */ _t49 = cpu->r[8] + 0x00000000u; /* 0298B0EC */ rbrew_write32(cpu->mem, _t49, cpu->r[7]); /* 0298B0F0 */ cpu->r[3] = cpu->r[1] + 0x00000014u; /* 0298B0F4 */ _t50 = cpu->r[1] + 0x0000002Cu; /* 0298B0F4 */ rbrew_write32(cpu->mem, _t50, cpu->r[25]); /* 0298B0F8 */ _t51 = cpu->r[1] + 0x00000025u; /* 0298B0F8 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]); /* 0298B0FC */ Gambit_fn_02C51884(cpu); /* 0298B100 */ cpu->r[5] = cpu->r[28]; /* 0298B104 */ cpu->r[4] = cpu->r[30]; /* 0298B108 */ cpu->r[25] = cpu->r[3]; /* 0298B10C */ Gambit_fn_02801ADC(cpu); /* 0298B110 */ cpu->r[5] = cpu->r[3]; /* 0298B114 */ cpu->r[3] = cpu->r[31]; /* 0298B118 */ cpu->r[6] = cpu->r[25]; /* 0298B11C */ cpu->r[4] = cpu->r[1] + 0x00000014u; /* 0298B120 */ Gambit_fn_02C51750(cpu); /* 0298B124 */ cpu->r[4] = cpu->r[27]; /* 0298B128 */ cpu->r[3] = cpu->r[31]; /* 0298B12C */ Gambit_fn_02C520EC(cpu); /* 0298B130 */ _t52 = cpu->r[31] + 0x00000034u; /* 0298B130 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52); /* 0298B134 */ _t53 = cpu->r[8] + 0x0000002Cu; /* 0298B134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 0298B138 */ cpu->ctr = cpu->r[0]; /* 0298B13C */ cpu->r[4] = cpu->r[26]; /* 0298B140 */ cpu->r[3] = cpu->r[31]; /* 0298B144 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298B14C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B14C */ _t55 = _t54 & 0x00000001u; /* 0298B14C */ if (_t55) goto L_0298B1B8; else goto L_0298B150; L_0298B150: ; // 0x298b150 /* 0298B150 */ _t56 = cpu->r[31] + 0x00000000u; /* 0298B150 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56); /* 0298B154 */ cpu->r[7] = 0x10150000u; /* 0298B158 */ _t57 = cpu->r[7] + 0xFFFFEF78u; /* 0298B158 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57); /* 0298B15C */ _t58 = cpu->r[5] + 0x00000008u; /* 0298B15C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t58); /* 0298B160 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]); /* 0298B164 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298B164 */ _t60 = _t59 & 0x00000001u; /* 0298B164 */ if (_t60) goto L_0298B168; else goto L_0298B16C; L_0298B168: ; // 0x298b168 /* 0298B168 */ cpu->f[31] = cpu->f[0]; L_0298B16C: ; // 0x298b16c /* 0298B16C */ cpu->r[3] = 0x101D0000u; /* 0298B170 */ _t61 = cpu->r[3] + 0xFFFF9918u; /* 0298B170 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61); /* 0298B174 */ Gambit_fn_02830138(cpu); /* 0298B178 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 0298B17C */ cpu->r[12] = 0x10150000u; /* 0298B180 */ cpu->r[8] = cpu->r[6] | 0x3F800000u; /* 0298B184 */ _t62 = cpu->r[12] + 0xFFFFEF74u; /* 0298B184 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t62); /* 0298B188 */ _t63 = cpu->r[1] + 0x00000010u; /* 0298B188 */ rbrew_write32(cpu->mem, _t63, cpu->r[8]); /* 0298B18C */ _t64 = cpu->r[1] + 0x00000010u; /* 0298B18C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t64); /* 0298B190 */ _t65 = cpu->r[31] + 0x00000000u; /* 0298B190 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65); /* 0298B194 */ cpu->f[11] = cpu->f[12] - cpu->f[13]; /* 0298B198 */ _t66 = cpu->r[30] + 0x00000010u; /* 0298B198 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66); /* 0298B19C */ _t67 = cpu->r[30] + 0x00000004u; /* 0298B19C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t67); /* 0298B1A0 */ cpu->ctr = cpu->r[10]; /* 0298B1A4 */ _t68 = cpu->r[30] + 0x00000008u; /* 0298B1A4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t68); /* 0298B1A8 */ cpu->f[1] = cpu->f[31] * cpu->f[11]; /* 0298B1AC */ _t69 = cpu->r[30] + 0x00000014u; /* 0298B1AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t69); /* 0298B1B0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B1B4 */ _t70 = cpu->r[30] + 0x00000000u; /* 0298B1B4 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[1]); L_0298B1B8: ; // 0x298b1b8 /* 0298B1B8 */ cpu->r[3] = cpu->r[31]; /* 0298B1BC */ /* nop */ /* 0298B1C0 */ _t71 = cpu->r[1] + 0x00000078u; /* 0298B1C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t71); /* 0298B1C4 */ _t72 = cpu->r[1] + 0x00000070u; /* 0298B1C4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t72); /* 0298B1C8 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B1C8 */ _t74 = _t73 & 0x00000001u; /* 0298B1C8 */ if (_t74) goto L_0298B1CC; // else: addr-0 trap, fall-through L_0298B1CC: ; // 0x298b1cc /* 0298B1CC */ _t75 = cpu->r[1] + 0x00000084u; /* 0298B1CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t75); /* 0298B1D0 */ cpu->lr = cpu->r[0]; /* 0298B1D4 */ cpu->r[1] = cpu->r[1] + 0x00000080u; /* 0298B1D8 */ return; } // fn_0298AF9C @ 0x298af9c void Gambit_fn_0298AF9C(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_0298AF9C: ; // 0x298af9c /* 0298AF9C */ _t0 = cpu->r[1] + 0xFFFFFF80u; /* 0298AF9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298AF9C */ cpu->r[1] = _t0; /* 0298AFA0 */ _t1 = cpu->r[1] + 0x00000070u; /* 0298AFA0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0298AFA4 */ /* nop */ /* 0298AFA8 */ _t2 = cpu->r[1] + 0x00000078u; /* 0298AFA8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0298AFAC */ _t3 = cpu->r[1] + 0x00000084u; /* 0298AFAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298AFB0 */ /* nop */ /* 0298AFB4 */ cpu->r[30] = cpu->r[7]; /* 0298AFB8 */ cpu->r[27] = cpu->r[4]; /* 0298AFBC */ cpu->r[28] = cpu->r[5]; /* 0298AFC0 */ cpu->r[4] = cpu->r[30]; /* 0298AFC4 */ cpu->r[5] = 0x00000004u; /* 0298AFC8 */ cpu->r[26] = cpu->r[3]; /* 0298AFCC */ cpu->r[3] = 0x00000058u; /* 0298AFD0 */ cpu->r[29] = cpu->r[6]; /* 0298AFD4 */ Gambit_fn_02801AC8(cpu); /* 0298AFD8 */ cpu->r[31] = cpu->r[3]; /* 0298AFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298AFDC */ cpu->r[25] = 0x00000000u; /* 0298AFE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298AFE0 */ _t5 = _t4 & 0x00000001u; /* 0298AFE0 */ if (_t5) goto L_0298B044; else goto L_0298AFE4; L_0298AFE4: ; // 0x298afe4 /* 0298AFE4 */ cpu->r[3] = cpu->r[31]; /* 0298AFE8 */ Gambit_fn_02C4F040(cpu); /* 0298AFEC */ cpu->r[9] = 0x101B0000u; /* 0298AFF0 */ _t6 = cpu->r[31] + 0x00000044u; /* 0298AFF0 */ rbrew_write32(cpu->mem, _t6, cpu->r[25]); /* 0298AFF4 */ cpu->r[9] = cpu->r[9] + 0xFFFFED88u; /* 0298AFF8 */ _t7 = cpu->r[31] + 0x00000034u; /* 0298AFF8 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]); /* 0298AFFC */ _t8 = cpu->r[26] + 0x00000000u; /* 0298AFFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 0298B000 */ cpu->r[0] = 0x00000001u; /* 0298B004 */ _t9 = cpu->r[1] + 0x0000002Cu; /* 0298B004 */ rbrew_write32(cpu->mem, _t9, cpu->r[25]); /* 0298B008 */ cpu->r[10] = 0xFFFFFFFFu; /* 0298B00C */ _t10 = cpu->r[1] + 0x00000024u; /* 0298B00C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]); /* 0298B010 */ cpu->r[0] = 0x00000000u; /* 0298B014 */ _t11 = cpu->r[1] + 0x00000020u; /* 0298B014 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]); /* 0298B018 */ _t12 = cpu->r[1] + 0x00000025u; /* 0298B018 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]); /* 0298B01C */ _t13 = cpu->r[1] + 0x00000018u; /* 0298B01C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]); /* 0298B020 */ _t14 = cpu->r[1] + 0x00000028u; /* 0298B020 */ rbrew_write32(cpu->mem, _t14, cpu->r[25]); /* 0298B024 */ _t15 = cpu->r[1] + 0x0000001Cu; /* 0298B024 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 0298B028 */ _t16 = cpu->r[1] + 0x00000014u; /* 0298B028 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]); /* 0298B02C */ _t17 = cpu->r[11] + 0x00000024u; /* 0298B02C */ cpu->r[11] = rbrew_read16(cpu->mem, _t17); /* 0298B030 */ cpu->r[6] = cpu->r[1] + 0x00000018u; /* 0298B034 */ cpu->r[7] = cpu->r[1] + 0x0000001Cu; /* 0298B038 */ cpu->r[8] = cpu->r[1] + 0x00000020u; /* 0298B03C */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0298B03C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]); /* 0298B040 */ goto L_0298B088; L_0298B044: ; // 0x298b044 /* 0298B044 */ _t19 = cpu->r[1] + 0x00000028u; /* 0298B044 */ rbrew_write32(cpu->mem, _t19, cpu->r[25]); /* 0298B048 */ cpu->r[0] = 0x00000001u; /* 0298B04C */ _t20 = cpu->r[26] + 0x00000000u; /* 0298B04C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20); /* 0298B050 */ cpu->r[10] = 0xFFFFFFFFu; /* 0298B054 */ _t21 = cpu->r[1] + 0x00000024u; /* 0298B054 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]); /* 0298B058 */ cpu->r[31] = 0x00000000u; /* 0298B05C */ _t22 = cpu->r[1] + 0x00000014u; /* 0298B05C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]); /* 0298B060 */ _t23 = cpu->r[1] + 0x00000025u; /* 0298B060 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]); /* 0298B064 */ _t24 = cpu->r[1] + 0x0000002Cu; /* 0298B064 */ rbrew_write32(cpu->mem, _t24, cpu->r[25]); /* 0298B068 */ _t25 = cpu->r[1] + 0x00000018u; /* 0298B068 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]); /* 0298B06C */ _t26 = cpu->r[1] + 0x0000001Cu; /* 0298B06C */ rbrew_write32(cpu->mem, _t26, cpu->r[10]); /* 0298B070 */ _t27 = cpu->r[1] + 0x00000020u; /* 0298B070 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]); /* 0298B074 */ _t28 = cpu->r[11] + 0x00000024u; /* 0298B074 */ cpu->r[11] = rbrew_read16(cpu->mem, _t28); /* 0298B078 */ cpu->r[8] = cpu->r[1] + 0x00000020u; /* 0298B07C */ cpu->r[7] = cpu->r[1] + 0x0000001Cu; /* 0298B080 */ cpu->r[6] = cpu->r[1] + 0x00000018u; /* 0298B084 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0298B084 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]); L_0298B088: ; // 0x298b088 /* 0298B088 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 0298B088 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30); /* 0298B08C */ _t31 = cpu->r[27] + 0x00000014u; /* 0298B08C */ cpu->r[0] = rbrew_read16(cpu->mem, _t31); /* 0298B090 */ _t32 = cpu->r[1] + 0x00000014u; /* 0298B090 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]); /* 0298B094 */ _t33 = cpu->r[27] + 0x00000018u; /* 0298B094 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33); /* 0298B098 */ _t34 = cpu->r[6] + 0x00000000u; /* 0298B098 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]); /* 0298B09C */ _t35 = cpu->r[1] + 0x00000008u; /* 0298B09C */ rbrew_write32(cpu->mem, _t35, cpu->r[12]); /* 0298B0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298B0A4 */ _t36 = cpu->r[1] + 0x00000028u; /* 0298B0A4 */ rbrew_write32(cpu->mem, _t36, cpu->r[25]); /* 0298B0A8 */ cpu->r[9] = cpu->r[7]; /* 0298B0AC */ _t37 = cpu->r[1] + 0x0000002Cu; /* 0298B0AC */ rbrew_write32(cpu->mem, _t37, cpu->r[25]); /* 0298B0B0 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B0B0 */ _t39 = _t38 & 0x00000001u; /* 0298B0B0 */ if (_t39) goto L_0298B0B8; else goto L_0298B0B4; L_0298B0B4: ; // 0x298b0b4 /* 0298B0B4 */ cpu->r[9] = cpu->r[1] + 0x00000008u; L_0298B0B8: ; // 0x298b0b8 /* 0298B0B8 */ _t40 = cpu->r[9] + 0x00000000u; /* 0298B0B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40); /* 0298B0BC */ _t41 = cpu->r[27] + 0x0000001Cu; /* 0298B0BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 0298B0C0 */ _t42 = cpu->r[7] + 0x00000000u; /* 0298B0C0 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]); /* 0298B0C4 */ cpu->r[10] = cpu->r[8]; /* 0298B0C8 */ _t43 = cpu->r[1] + 0x00000008u; /* 0298B0C8 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]); /* 0298B0CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B0D0 */ _t44 = cpu->r[27] + 0x0000000Cu; /* 0298B0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44); /* 0298B0D4 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B0D4 */ _t46 = _t45 & 0x00000001u; /* 0298B0D4 */ if (_t46) goto L_0298B0DC; else goto L_0298B0D8; L_0298B0D8: ; // 0x298b0d8 /* 0298B0D8 */ cpu->r[10] = cpu->r[1] + 0x00000008u; L_0298B0DC: ; // 0x298b0dc /* 0298B0DC */ _t47 = cpu->r[10] + 0x00000000u; /* 0298B0DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t47); /* 0298B0E0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B0E4 */ _t48 = cpu->r[1] + 0x00000028u; /* 0298B0E4 */ rbrew_write32(cpu->mem, _t48, cpu->r[25]); /* 0298B0E8 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u; /* 0298B0EC */ _t49 = cpu->r[8] + 0x00000000u; /* 0298B0EC */ rbrew_write32(cpu->mem, _t49, cpu->r[7]); /* 0298B0F0 */ cpu->r[3] = cpu->r[1] + 0x00000014u; /* 0298B0F4 */ _t50 = cpu->r[1] + 0x0000002Cu; /* 0298B0F4 */ rbrew_write32(cpu->mem, _t50, cpu->r[25]); /* 0298B0F8 */ _t51 = cpu->r[1] + 0x00000025u; /* 0298B0F8 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]); /* 0298B0FC */ Gambit_fn_02C51884(cpu); /* 0298B100 */ cpu->r[5] = cpu->r[28]; /* 0298B104 */ cpu->r[4] = cpu->r[30]; /* 0298B108 */ cpu->r[25] = cpu->r[3]; /* 0298B10C */ Gambit_fn_02801ADC(cpu); /* 0298B110 */ cpu->r[5] = cpu->r[3]; /* 0298B114 */ cpu->r[3] = cpu->r[31]; /* 0298B118 */ cpu->r[6] = cpu->r[25]; /* 0298B11C */ cpu->r[4] = cpu->r[1] + 0x00000014u; /* 0298B120 */ Gambit_fn_02C51750(cpu); /* 0298B124 */ cpu->r[4] = cpu->r[27]; /* 0298B128 */ cpu->r[3] = cpu->r[31]; /* 0298B12C */ Gambit_fn_02C520EC(cpu); /* 0298B130 */ _t52 = cpu->r[31] + 0x00000034u; /* 0298B130 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52); /* 0298B134 */ _t53 = cpu->r[8] + 0x0000002Cu; /* 0298B134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 0298B138 */ cpu->ctr = cpu->r[0]; /* 0298B13C */ cpu->r[4] = cpu->r[26]; /* 0298B140 */ cpu->r[3] = cpu->r[31]; /* 0298B144 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298B14C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B14C */ _t55 = _t54 & 0x00000001u; /* 0298B14C */ if (_t55) goto L_0298B1B8; else goto L_0298B150; L_0298B150: ; // 0x298b150 /* 0298B150 */ _t56 = cpu->r[31] + 0x00000000u; /* 0298B150 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56); /* 0298B154 */ cpu->r[7] = 0x10150000u; /* 0298B158 */ _t57 = cpu->r[7] + 0xFFFFEF78u; /* 0298B158 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57); /* 0298B15C */ _t58 = cpu->r[5] + 0x00000008u; /* 0298B15C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t58); /* 0298B160 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]); /* 0298B164 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298B164 */ _t60 = _t59 & 0x00000001u; /* 0298B164 */ if (_t60) goto L_0298B168; else goto L_0298B16C; L_0298B168: ; // 0x298b168 /* 0298B168 */ cpu->f[31] = cpu->f[0]; L_0298B16C: ; // 0x298b16c /* 0298B16C */ cpu->r[3] = 0x101D0000u; /* 0298B170 */ _t61 = cpu->r[3] + 0xFFFF9918u; /* 0298B170 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61); /* 0298B174 */ Gambit_fn_02830138(cpu); /* 0298B178 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 0298B17C */ cpu->r[12] = 0x10150000u; /* 0298B180 */ cpu->r[8] = cpu->r[6] | 0x3F800000u; /* 0298B184 */ _t62 = cpu->r[12] + 0xFFFFEF74u; /* 0298B184 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t62); /* 0298B188 */ _t63 = cpu->r[1] + 0x00000010u; /* 0298B188 */ rbrew_write32(cpu->mem, _t63, cpu->r[8]); /* 0298B18C */ _t64 = cpu->r[1] + 0x00000010u; /* 0298B18C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t64); /* 0298B190 */ _t65 = cpu->r[31] + 0x00000000u; /* 0298B190 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65); /* 0298B194 */ cpu->f[11] = cpu->f[12] - cpu->f[13]; /* 0298B198 */ _t66 = cpu->r[30] + 0x00000010u; /* 0298B198 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66); /* 0298B19C */ _t67 = cpu->r[30] + 0x00000004u; /* 0298B19C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t67); /* 0298B1A0 */ cpu->ctr = cpu->r[10]; /* 0298B1A4 */ _t68 = cpu->r[30] + 0x00000008u; /* 0298B1A4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t68); /* 0298B1A8 */ cpu->f[1] = cpu->f[31] * cpu->f[11]; /* 0298B1AC */ _t69 = cpu->r[30] + 0x00000014u; /* 0298B1AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t69); /* 0298B1B0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B1B4 */ _t70 = cpu->r[30] + 0x00000000u; /* 0298B1B4 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[1]); L_0298B1B8: ; // 0x298b1b8 /* 0298B1B8 */ cpu->r[3] = cpu->r[31]; /* 0298B1BC */ /* nop */ /* 0298B1C0 */ _t71 = cpu->r[1] + 0x00000078u; /* 0298B1C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t71); /* 0298B1C4 */ _t72 = cpu->r[1] + 0x00000070u; /* 0298B1C4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t72); /* 0298B1C8 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B1C8 */ _t74 = _t73 & 0x00000001u; /* 0298B1C8 */ if (_t74) goto L_0298B1CC; // else: addr-0 trap, fall-through L_0298B1CC: ; // 0x298b1cc /* 0298B1CC */ _t75 = cpu->r[1] + 0x00000084u; /* 0298B1CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t75); /* 0298B1D0 */ cpu->lr = cpu->r[0]; /* 0298B1D4 */ cpu->r[1] = cpu->r[1] + 0x00000080u; /* 0298B1D8 */ return; } // fn_0298B1DC @ 0x298b1dc void Gambit_fn_0298B1DC(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; L_0298B1DC: ; // 0x298b1dc /* 0298B1DC */ cpu->r[0] = cpu->lr; /* 0298B1E0 */ _t0 = cpu->r[1] + 0xFFFFFF78u; /* 0298B1E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B1E0 */ cpu->r[1] = _t0; /* 0298B1E4 */ _t1 = cpu->r[1] + 0x00000078u; /* 0298B1E4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0298B1E8 */ /* nop */ /* 0298B1EC */ _t2 = cpu->r[1] + 0x00000080u; /* 0298B1EC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0298B1F0 */ _t3 = cpu->r[1] + 0x0000008Cu; /* 0298B1F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298B1F4 */ /* nop */ /* 0298B1F8 */ cpu->r[30] = cpu->r[7]; /* 0298B1FC */ cpu->r[27] = cpu->r[4]; /* 0298B200 */ cpu->r[28] = cpu->r[5]; /* 0298B204 */ cpu->r[4] = cpu->r[30]; /* 0298B208 */ cpu->r[5] = 0x00000004u; /* 0298B20C */ cpu->r[26] = cpu->r[3]; /* 0298B210 */ cpu->r[3] = 0x00000060u; /* 0298B214 */ cpu->r[29] = cpu->r[6]; /* 0298B218 */ Gambit_fn_02801AC8(cpu); /* 0298B21C */ cpu->r[31] = cpu->r[3]; /* 0298B21C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298B220 */ cpu->r[25] = 0x00000000u; /* 0298B224 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B224 */ _t5 = _t4 & 0x00000001u; /* 0298B224 */ if (_t5) goto L_0298B290; else goto L_0298B228; L_0298B228: ; // 0x298b228 /* 0298B228 */ cpu->r[3] = cpu->r[31]; /* 0298B22C */ Gambit_fn_02C4F040(cpu); /* 0298B230 */ cpu->r[10] = 0x101B0000u; /* 0298B234 */ _t6 = cpu->r[31] + 0x00000044u; /* 0298B234 */ rbrew_write32(cpu->mem, _t6, cpu->r[25]); /* 0298B238 */ cpu->r[10] = cpu->r[10] + 0xFFFFEFC4u; /* 0298B23C */ cpu->r[5] = 0x00000000u; /* 0298B240 */ _t7 = cpu->r[31] + 0x00000034u; /* 0298B240 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]); /* 0298B244 */ _t8 = cpu->r[1] + 0x0000002Cu; /* 0298B244 */ rbrew_write32(cpu->mem, _t8, cpu->r[25]); /* 0298B248 */ cpu->r[6] = cpu->r[1] + 0x00000018u; /* 0298B24C */ _t9 = cpu->r[1] + 0x00000029u; /* 0298B24C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[5]); /* 0298B250 */ cpu->r[0] = 0xFFFFFFFFu; /* 0298B254 */ _t10 = cpu->r[1] + 0x00000030u; /* 0298B254 */ rbrew_write32(cpu->mem, _t10, cpu->r[25]); /* 0298B258 */ _t11 = cpu->r[1] + 0x00000020u; /* 0298B258 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0298B25C */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0298B25C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 0298B260 */ cpu->r[12] = 0x00000001u; /* 0298B264 */ _t13 = cpu->r[1] + 0x00000024u; /* 0298B264 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 0298B268 */ _t14 = cpu->r[1] + 0x00000028u; /* 0298B268 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]); /* 0298B26C */ _t15 = cpu->r[26] + 0x00000000u; /* 0298B26C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0298B270 */ _t16 = cpu->r[1] + 0x00000018u; /* 0298B270 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 0298B274 */ _t17 = cpu->r[1] + 0x00000014u; /* 0298B274 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 0298B278 */ _t18 = cpu->r[12] + 0x00000024u; /* 0298B278 */ cpu->r[12] = rbrew_read16(cpu->mem, _t18); /* 0298B27C */ cpu->r[9] = cpu->r[1] + 0x00000024u; /* 0298B280 */ cpu->r[8] = cpu->r[1] + 0x00000020u; /* 0298B284 */ cpu->r[7] = cpu->r[1] + 0x0000001Cu; /* 0298B288 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298B288 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]); /* 0298B28C */ goto L_0298B2DC; L_0298B290: ; // 0x298b290 /* 0298B290 */ _t20 = cpu->r[1] + 0x0000002Cu; /* 0298B290 */ rbrew_write32(cpu->mem, _t20, cpu->r[25]); /* 0298B294 */ cpu->r[0] = 0xFFFFFFFFu; /* 0298B298 */ _t21 = cpu->r[1] + 0x00000030u; /* 0298B298 */ rbrew_write32(cpu->mem, _t21, cpu->r[25]); /* 0298B29C */ _t22 = cpu->r[1] + 0x00000020u; /* 0298B29C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 0298B2A0 */ cpu->r[31] = 0x00000000u; /* 0298B2A4 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0298B2A4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]); /* 0298B2A8 */ _t24 = cpu->r[1] + 0x00000029u; /* 0298B2A8 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]); /* 0298B2AC */ cpu->r[12] = 0x00000001u; /* 0298B2B0 */ _t25 = cpu->r[1] + 0x00000018u; /* 0298B2B0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 0298B2B4 */ _t26 = cpu->r[1] + 0x00000028u; /* 0298B2B4 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]); /* 0298B2B8 */ _t27 = cpu->r[26] + 0x00000000u; /* 0298B2B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 0298B2BC */ _t28 = cpu->r[1] + 0x00000014u; /* 0298B2BC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]); /* 0298B2C0 */ cpu->r[6] = cpu->r[1] + 0x00000018u; /* 0298B2C4 */ _t29 = cpu->r[1] + 0x00000024u; /* 0298B2C4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]); /* 0298B2C8 */ _t30 = cpu->r[12] + 0x00000024u; /* 0298B2C8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t30); /* 0298B2CC */ cpu->r[7] = cpu->r[1] + 0x0000001Cu; /* 0298B2D0 */ cpu->r[8] = cpu->r[1] + 0x00000020u; /* 0298B2D4 */ cpu->r[9] = cpu->r[1] + 0x00000024u; /* 0298B2D8 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 0298B2D8 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]); L_0298B2DC: ; // 0x298b2dc /* 0298B2DC */ _t32 = cpu->r[1] + 0x0000000Cu; /* 0298B2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0298B2E0 */ _t33 = cpu->r[27] + 0x00000016u; /* 0298B2E0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t33); /* 0298B2E4 */ _t34 = cpu->r[1] + 0x00000014u; /* 0298B2E4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]); /* 0298B2E8 */ _t35 = cpu->r[27] + 0x00000018u; /* 0298B2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 0298B2EC */ _t36 = cpu->r[6] + 0x00000000u; /* 0298B2EC */ rbrew_write32(cpu->mem, _t36, cpu->r[11]); /* 0298B2F0 */ _t37 = cpu->r[1] + 0x00000008u; /* 0298B2F0 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]); /* 0298B2F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B2F8 */ _t38 = cpu->r[1] + 0x0000002Cu; /* 0298B2F8 */ rbrew_write32(cpu->mem, _t38, cpu->r[25]); /* 0298B2FC */ cpu->r[12] = cpu->r[7]; /* 0298B300 */ _t39 = cpu->r[1] + 0x00000030u; /* 0298B300 */ rbrew_write32(cpu->mem, _t39, cpu->r[25]); /* 0298B304 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B304 */ _t41 = _t40 & 0x00000001u; /* 0298B304 */ if (_t41) goto L_0298B30C; else goto L_0298B308; L_0298B308: ; // 0x298b308 /* 0298B308 */ cpu->r[12] = cpu->r[1] + 0x00000008u; L_0298B30C: ; // 0x298b30c /* 0298B30C */ _t42 = cpu->r[12] + 0x00000000u; /* 0298B30C */ cpu->r[6] = rbrew_read32(cpu->mem, _t42); /* 0298B310 */ _t43 = cpu->r[27] + 0x0000001Cu; /* 0298B310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43); /* 0298B314 */ cpu->r[5] = cpu->r[8]; /* 0298B318 */ _t44 = cpu->r[7] + 0x00000000u; /* 0298B318 */ rbrew_write32(cpu->mem, _t44, cpu->r[6]); /* 0298B31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B320 */ _t45 = cpu->r[1] + 0x00000008u; /* 0298B320 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]); /* 0298B324 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B324 */ _t47 = _t46 & 0x00000001u; /* 0298B324 */ if (_t47) goto L_0298B32C; else goto L_0298B328; L_0298B328: ; // 0x298b328 /* 0298B328 */ cpu->r[5] = cpu->r[1] + 0x00000008u; L_0298B32C: ; // 0x298b32c /* 0298B32C */ _t48 = cpu->r[5] + 0x00000000u; /* 0298B32C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 0298B330 */ _t49 = cpu->r[27] + 0x00000014u; /* 0298B330 */ cpu->r[11] = rbrew_read16(cpu->mem, _t49); /* 0298B334 */ _t50 = cpu->r[8] + 0x00000000u; /* 0298B334 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]); /* 0298B338 */ _t51 = cpu->r[1] + 0x0000002Cu; /* 0298B338 */ rbrew_write32(cpu->mem, _t51, cpu->r[25]); /* 0298B33C */ _t52 = cpu->r[27] + 0x0000000Cu; /* 0298B33C */ cpu->r[0] = rbrew_read16(cpu->mem, _t52); /* 0298B340 */ _t53 = cpu->r[1] + 0x00000030u; /* 0298B340 */ rbrew_write32(cpu->mem, _t53, cpu->r[25]); /* 0298B344 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B348 */ _t54 = cpu->r[1] + 0x00000008u; /* 0298B348 */ rbrew_write32(cpu->mem, _t54, cpu->r[11]); /* 0298B34C */ cpu->r[0] = cpu->r[8] ^ 0x00000001u; /* 0298B350 */ _t55 = cpu->r[9] + 0x00000000u; /* 0298B350 */ rbrew_write32(cpu->mem, _t55, cpu->r[11]); /* 0298B354 */ cpu->r[3] = cpu->r[1] + 0x00000014u; /* 0298B358 */ _t56 = cpu->r[1] + 0x00000029u; /* 0298B358 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[0]); /* 0298B35C */ Gambit_fn_02C5DEA8(cpu); /* 0298B360 */ cpu->r[5] = cpu->r[28]; /* 0298B364 */ cpu->r[4] = cpu->r[30]; /* 0298B368 */ cpu->r[25] = cpu->r[3]; /* 0298B36C */ Gambit_fn_02801ADC(cpu); /* 0298B370 */ cpu->r[5] = cpu->r[3]; /* 0298B374 */ cpu->r[4] = cpu->r[1] + 0x00000014u; /* 0298B378 */ cpu->r[6] = cpu->r[25]; /* 0298B37C */ cpu->r[3] = cpu->r[31]; /* 0298B380 */ Gambit_fn_02C5DD4C(cpu); /* 0298B384 */ cpu->r[3] = cpu->r[31]; /* 0298B388 */ cpu->r[4] = cpu->r[27]; /* 0298B38C */ Gambit_fn_02C5E5F0(cpu); /* 0298B390 */ _t57 = cpu->r[31] + 0x00000034u; /* 0298B390 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57); /* 0298B394 */ _t58 = cpu->r[8] + 0x0000002Cu; /* 0298B394 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58); /* 0298B398 */ cpu->ctr = cpu->r[9]; /* 0298B39C */ cpu->r[3] = cpu->r[31]; /* 0298B3A0 */ cpu->r[4] = cpu->r[26]; /* 0298B3A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298B3AC */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B3AC */ _t60 = _t59 & 0x00000001u; /* 0298B3AC */ if (_t60) goto L_0298B418; else goto L_0298B3B0; L_0298B3B0: ; // 0x298b3b0 /* 0298B3B0 */ _t61 = cpu->r[31] + 0x00000000u; /* 0298B3B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61); /* 0298B3B4 */ cpu->r[12] = 0x10150000u; /* 0298B3B8 */ _t62 = cpu->r[12] + 0xFFFFEF78u; /* 0298B3B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t62); /* 0298B3BC */ _t63 = cpu->r[7] + 0x00000008u; /* 0298B3BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t63); /* 0298B3C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]); /* 0298B3C4 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298B3C4 */ _t65 = _t64 & 0x00000001u; /* 0298B3C4 */ if (_t65) goto L_0298B3C8; else goto L_0298B3CC; L_0298B3C8: ; // 0x298b3c8 /* 0298B3C8 */ cpu->f[31] = cpu->f[13]; L_0298B3CC: ; // 0x298b3cc /* 0298B3CC */ cpu->r[3] = 0x101D0000u; /* 0298B3D0 */ _t66 = cpu->r[3] + 0xFFFF9918u; /* 0298B3D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t66); /* 0298B3D4 */ Gambit_fn_02830138(cpu); /* 0298B3D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 0298B3DC */ cpu->r[10] = 0x10150000u; /* 0298B3E0 */ cpu->r[0] = cpu->r[0] | 0x3F800000u; /* 0298B3E4 */ _t67 = cpu->r[10] + 0xFFFFEF74u; /* 0298B3E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t67); /* 0298B3E8 */ _t68 = cpu->r[1] + 0x00000010u; /* 0298B3E8 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]); /* 0298B3EC */ _t69 = cpu->r[1] + 0x00000010u; /* 0298B3EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t69); /* 0298B3F0 */ _t70 = cpu->r[31] + 0x00000000u; /* 0298B3F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70); /* 0298B3F4 */ cpu->f[11] = cpu->f[12] - cpu->f[0]; /* 0298B3F8 */ _t71 = cpu->r[30] + 0x00000010u; /* 0298B3F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71); /* 0298B3FC */ _t72 = cpu->r[30] + 0x00000004u; /* 0298B3FC */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t72); /* 0298B400 */ cpu->ctr = cpu->r[10]; /* 0298B404 */ _t73 = cpu->r[30] + 0x00000008u; /* 0298B404 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t73); /* 0298B408 */ cpu->f[1] = cpu->f[31] * cpu->f[11]; /* 0298B40C */ _t74 = cpu->r[30] + 0x00000014u; /* 0298B40C */ cpu->r[3] = rbrew_read32(cpu->mem, _t74); /* 0298B410 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B414 */ _t75 = cpu->r[30] + 0x00000000u; /* 0298B414 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[1]); L_0298B418: ; // 0x298b418 /* 0298B418 */ cpu->r[3] = cpu->r[31]; /* 0298B41C */ /* nop */ /* 0298B420 */ _t76 = cpu->r[1] + 0x00000080u; /* 0298B420 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t76); /* 0298B424 */ _t77 = cpu->r[1] + 0x00000078u; /* 0298B424 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t77); /* 0298B428 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B428 */ _t79 = _t78 & 0x00000001u; /* 0298B428 */ if (_t79) goto L_0298B42C; // else: addr-0 trap, fall-through L_0298B42C: ; // 0x298b42c /* 0298B42C */ _t80 = cpu->r[1] + 0x0000008Cu; /* 0298B42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t80); /* 0298B430 */ cpu->lr = cpu->r[0]; /* 0298B434 */ cpu->r[1] = cpu->r[1] + 0x00000088u; /* 0298B438 */ return; } // fn_0298B1E0 @ 0x298b1e0 void Gambit_fn_0298B1E0(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; L_0298B1E0: ; // 0x298b1e0 /* 0298B1E0 */ _t0 = cpu->r[1] + 0xFFFFFF78u; /* 0298B1E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B1E0 */ cpu->r[1] = _t0; /* 0298B1E4 */ _t1 = cpu->r[1] + 0x00000078u; /* 0298B1E4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0298B1E8 */ /* nop */ /* 0298B1EC */ _t2 = cpu->r[1] + 0x00000080u; /* 0298B1EC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0298B1F0 */ _t3 = cpu->r[1] + 0x0000008Cu; /* 0298B1F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298B1F4 */ /* nop */ /* 0298B1F8 */ cpu->r[30] = cpu->r[7]; /* 0298B1FC */ cpu->r[27] = cpu->r[4]; /* 0298B200 */ cpu->r[28] = cpu->r[5]; /* 0298B204 */ cpu->r[4] = cpu->r[30]; /* 0298B208 */ cpu->r[5] = 0x00000004u; /* 0298B20C */ cpu->r[26] = cpu->r[3]; /* 0298B210 */ cpu->r[3] = 0x00000060u; /* 0298B214 */ cpu->r[29] = cpu->r[6]; /* 0298B218 */ Gambit_fn_02801AC8(cpu); /* 0298B21C */ cpu->r[31] = cpu->r[3]; /* 0298B21C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298B220 */ cpu->r[25] = 0x00000000u; /* 0298B224 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B224 */ _t5 = _t4 & 0x00000001u; /* 0298B224 */ if (_t5) goto L_0298B290; else goto L_0298B228; L_0298B228: ; // 0x298b228 /* 0298B228 */ cpu->r[3] = cpu->r[31]; /* 0298B22C */ Gambit_fn_02C4F040(cpu); /* 0298B230 */ cpu->r[10] = 0x101B0000u; /* 0298B234 */ _t6 = cpu->r[31] + 0x00000044u; /* 0298B234 */ rbrew_write32(cpu->mem, _t6, cpu->r[25]); /* 0298B238 */ cpu->r[10] = cpu->r[10] + 0xFFFFEFC4u; /* 0298B23C */ cpu->r[5] = 0x00000000u; /* 0298B240 */ _t7 = cpu->r[31] + 0x00000034u; /* 0298B240 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]); /* 0298B244 */ _t8 = cpu->r[1] + 0x0000002Cu; /* 0298B244 */ rbrew_write32(cpu->mem, _t8, cpu->r[25]); /* 0298B248 */ cpu->r[6] = cpu->r[1] + 0x00000018u; /* 0298B24C */ _t9 = cpu->r[1] + 0x00000029u; /* 0298B24C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[5]); /* 0298B250 */ cpu->r[0] = 0xFFFFFFFFu; /* 0298B254 */ _t10 = cpu->r[1] + 0x00000030u; /* 0298B254 */ rbrew_write32(cpu->mem, _t10, cpu->r[25]); /* 0298B258 */ _t11 = cpu->r[1] + 0x00000020u; /* 0298B258 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0298B25C */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0298B25C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 0298B260 */ cpu->r[12] = 0x00000001u; /* 0298B264 */ _t13 = cpu->r[1] + 0x00000024u; /* 0298B264 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); /* 0298B268 */ _t14 = cpu->r[1] + 0x00000028u; /* 0298B268 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]); /* 0298B26C */ _t15 = cpu->r[26] + 0x00000000u; /* 0298B26C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0298B270 */ _t16 = cpu->r[1] + 0x00000018u; /* 0298B270 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 0298B274 */ _t17 = cpu->r[1] + 0x00000014u; /* 0298B274 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 0298B278 */ _t18 = cpu->r[12] + 0x00000024u; /* 0298B278 */ cpu->r[12] = rbrew_read16(cpu->mem, _t18); /* 0298B27C */ cpu->r[9] = cpu->r[1] + 0x00000024u; /* 0298B280 */ cpu->r[8] = cpu->r[1] + 0x00000020u; /* 0298B284 */ cpu->r[7] = cpu->r[1] + 0x0000001Cu; /* 0298B288 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298B288 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]); /* 0298B28C */ goto L_0298B2DC; L_0298B290: ; // 0x298b290 /* 0298B290 */ _t20 = cpu->r[1] + 0x0000002Cu; /* 0298B290 */ rbrew_write32(cpu->mem, _t20, cpu->r[25]); /* 0298B294 */ cpu->r[0] = 0xFFFFFFFFu; /* 0298B298 */ _t21 = cpu->r[1] + 0x00000030u; /* 0298B298 */ rbrew_write32(cpu->mem, _t21, cpu->r[25]); /* 0298B29C */ _t22 = cpu->r[1] + 0x00000020u; /* 0298B29C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]); /* 0298B2A0 */ cpu->r[31] = 0x00000000u; /* 0298B2A4 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0298B2A4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]); /* 0298B2A8 */ _t24 = cpu->r[1] + 0x00000029u; /* 0298B2A8 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]); /* 0298B2AC */ cpu->r[12] = 0x00000001u; /* 0298B2B0 */ _t25 = cpu->r[1] + 0x00000018u; /* 0298B2B0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); /* 0298B2B4 */ _t26 = cpu->r[1] + 0x00000028u; /* 0298B2B4 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]); /* 0298B2B8 */ _t27 = cpu->r[26] + 0x00000000u; /* 0298B2B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 0298B2BC */ _t28 = cpu->r[1] + 0x00000014u; /* 0298B2BC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]); /* 0298B2C0 */ cpu->r[6] = cpu->r[1] + 0x00000018u; /* 0298B2C4 */ _t29 = cpu->r[1] + 0x00000024u; /* 0298B2C4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]); /* 0298B2C8 */ _t30 = cpu->r[12] + 0x00000024u; /* 0298B2C8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t30); /* 0298B2CC */ cpu->r[7] = cpu->r[1] + 0x0000001Cu; /* 0298B2D0 */ cpu->r[8] = cpu->r[1] + 0x00000020u; /* 0298B2D4 */ cpu->r[9] = cpu->r[1] + 0x00000024u; /* 0298B2D8 */ _t31 = cpu->r[1] + 0x0000000Cu; /* 0298B2D8 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]); L_0298B2DC: ; // 0x298b2dc /* 0298B2DC */ _t32 = cpu->r[1] + 0x0000000Cu; /* 0298B2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0298B2E0 */ _t33 = cpu->r[27] + 0x00000016u; /* 0298B2E0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t33); /* 0298B2E4 */ _t34 = cpu->r[1] + 0x00000014u; /* 0298B2E4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]); /* 0298B2E8 */ _t35 = cpu->r[27] + 0x00000018u; /* 0298B2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 0298B2EC */ _t36 = cpu->r[6] + 0x00000000u; /* 0298B2EC */ rbrew_write32(cpu->mem, _t36, cpu->r[11]); /* 0298B2F0 */ _t37 = cpu->r[1] + 0x00000008u; /* 0298B2F0 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]); /* 0298B2F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B2F8 */ _t38 = cpu->r[1] + 0x0000002Cu; /* 0298B2F8 */ rbrew_write32(cpu->mem, _t38, cpu->r[25]); /* 0298B2FC */ cpu->r[12] = cpu->r[7]; /* 0298B300 */ _t39 = cpu->r[1] + 0x00000030u; /* 0298B300 */ rbrew_write32(cpu->mem, _t39, cpu->r[25]); /* 0298B304 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B304 */ _t41 = _t40 & 0x00000001u; /* 0298B304 */ if (_t41) goto L_0298B30C; else goto L_0298B308; L_0298B308: ; // 0x298b308 /* 0298B308 */ cpu->r[12] = cpu->r[1] + 0x00000008u; L_0298B30C: ; // 0x298b30c /* 0298B30C */ _t42 = cpu->r[12] + 0x00000000u; /* 0298B30C */ cpu->r[6] = rbrew_read32(cpu->mem, _t42); /* 0298B310 */ _t43 = cpu->r[27] + 0x0000001Cu; /* 0298B310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43); /* 0298B314 */ cpu->r[5] = cpu->r[8]; /* 0298B318 */ _t44 = cpu->r[7] + 0x00000000u; /* 0298B318 */ rbrew_write32(cpu->mem, _t44, cpu->r[6]); /* 0298B31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B320 */ _t45 = cpu->r[1] + 0x00000008u; /* 0298B320 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]); /* 0298B324 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B324 */ _t47 = _t46 & 0x00000001u; /* 0298B324 */ if (_t47) goto L_0298B32C; else goto L_0298B328; L_0298B328: ; // 0x298b328 /* 0298B328 */ cpu->r[5] = cpu->r[1] + 0x00000008u; L_0298B32C: ; // 0x298b32c /* 0298B32C */ _t48 = cpu->r[5] + 0x00000000u; /* 0298B32C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 0298B330 */ _t49 = cpu->r[27] + 0x00000014u; /* 0298B330 */ cpu->r[11] = rbrew_read16(cpu->mem, _t49); /* 0298B334 */ _t50 = cpu->r[8] + 0x00000000u; /* 0298B334 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]); /* 0298B338 */ _t51 = cpu->r[1] + 0x0000002Cu; /* 0298B338 */ rbrew_write32(cpu->mem, _t51, cpu->r[25]); /* 0298B33C */ _t52 = cpu->r[27] + 0x0000000Cu; /* 0298B33C */ cpu->r[0] = rbrew_read16(cpu->mem, _t52); /* 0298B340 */ _t53 = cpu->r[1] + 0x00000030u; /* 0298B340 */ rbrew_write32(cpu->mem, _t53, cpu->r[25]); /* 0298B344 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B348 */ _t54 = cpu->r[1] + 0x00000008u; /* 0298B348 */ rbrew_write32(cpu->mem, _t54, cpu->r[11]); /* 0298B34C */ cpu->r[0] = cpu->r[8] ^ 0x00000001u; /* 0298B350 */ _t55 = cpu->r[9] + 0x00000000u; /* 0298B350 */ rbrew_write32(cpu->mem, _t55, cpu->r[11]); /* 0298B354 */ cpu->r[3] = cpu->r[1] + 0x00000014u; /* 0298B358 */ _t56 = cpu->r[1] + 0x00000029u; /* 0298B358 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[0]); /* 0298B35C */ Gambit_fn_02C5DEA8(cpu); /* 0298B360 */ cpu->r[5] = cpu->r[28]; /* 0298B364 */ cpu->r[4] = cpu->r[30]; /* 0298B368 */ cpu->r[25] = cpu->r[3]; /* 0298B36C */ Gambit_fn_02801ADC(cpu); /* 0298B370 */ cpu->r[5] = cpu->r[3]; /* 0298B374 */ cpu->r[4] = cpu->r[1] + 0x00000014u; /* 0298B378 */ cpu->r[6] = cpu->r[25]; /* 0298B37C */ cpu->r[3] = cpu->r[31]; /* 0298B380 */ Gambit_fn_02C5DD4C(cpu); /* 0298B384 */ cpu->r[3] = cpu->r[31]; /* 0298B388 */ cpu->r[4] = cpu->r[27]; /* 0298B38C */ Gambit_fn_02C5E5F0(cpu); /* 0298B390 */ _t57 = cpu->r[31] + 0x00000034u; /* 0298B390 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57); /* 0298B394 */ _t58 = cpu->r[8] + 0x0000002Cu; /* 0298B394 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58); /* 0298B398 */ cpu->ctr = cpu->r[9]; /* 0298B39C */ cpu->r[3] = cpu->r[31]; /* 0298B3A0 */ cpu->r[4] = cpu->r[26]; /* 0298B3A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298B3AC */ _t59 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B3AC */ _t60 = _t59 & 0x00000001u; /* 0298B3AC */ if (_t60) goto L_0298B418; else goto L_0298B3B0; L_0298B3B0: ; // 0x298b3b0 /* 0298B3B0 */ _t61 = cpu->r[31] + 0x00000000u; /* 0298B3B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61); /* 0298B3B4 */ cpu->r[12] = 0x10150000u; /* 0298B3B8 */ _t62 = cpu->r[12] + 0xFFFFEF78u; /* 0298B3B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t62); /* 0298B3BC */ _t63 = cpu->r[7] + 0x00000008u; /* 0298B3BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t63); /* 0298B3C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]); /* 0298B3C4 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298B3C4 */ _t65 = _t64 & 0x00000001u; /* 0298B3C4 */ if (_t65) goto L_0298B3C8; else goto L_0298B3CC; L_0298B3C8: ; // 0x298b3c8 /* 0298B3C8 */ cpu->f[31] = cpu->f[13]; L_0298B3CC: ; // 0x298b3cc /* 0298B3CC */ cpu->r[3] = 0x101D0000u; /* 0298B3D0 */ _t66 = cpu->r[3] + 0xFFFF9918u; /* 0298B3D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t66); /* 0298B3D4 */ Gambit_fn_02830138(cpu); /* 0298B3D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 0298B3DC */ cpu->r[10] = 0x10150000u; /* 0298B3E0 */ cpu->r[0] = cpu->r[0] | 0x3F800000u; /* 0298B3E4 */ _t67 = cpu->r[10] + 0xFFFFEF74u; /* 0298B3E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t67); /* 0298B3E8 */ _t68 = cpu->r[1] + 0x00000010u; /* 0298B3E8 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]); /* 0298B3EC */ _t69 = cpu->r[1] + 0x00000010u; /* 0298B3EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t69); /* 0298B3F0 */ _t70 = cpu->r[31] + 0x00000000u; /* 0298B3F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70); /* 0298B3F4 */ cpu->f[11] = cpu->f[12] - cpu->f[0]; /* 0298B3F8 */ _t71 = cpu->r[30] + 0x00000010u; /* 0298B3F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71); /* 0298B3FC */ _t72 = cpu->r[30] + 0x00000004u; /* 0298B3FC */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t72); /* 0298B400 */ cpu->ctr = cpu->r[10]; /* 0298B404 */ _t73 = cpu->r[30] + 0x00000008u; /* 0298B404 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t73); /* 0298B408 */ cpu->f[1] = cpu->f[31] * cpu->f[11]; /* 0298B40C */ _t74 = cpu->r[30] + 0x00000014u; /* 0298B40C */ cpu->r[3] = rbrew_read32(cpu->mem, _t74); /* 0298B410 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B414 */ _t75 = cpu->r[30] + 0x00000000u; /* 0298B414 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[1]); L_0298B418: ; // 0x298b418 /* 0298B418 */ cpu->r[3] = cpu->r[31]; /* 0298B41C */ /* nop */ /* 0298B420 */ _t76 = cpu->r[1] + 0x00000080u; /* 0298B420 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t76); /* 0298B424 */ _t77 = cpu->r[1] + 0x00000078u; /* 0298B424 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t77); /* 0298B428 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B428 */ _t79 = _t78 & 0x00000001u; /* 0298B428 */ if (_t79) goto L_0298B42C; // else: addr-0 trap, fall-through L_0298B42C: ; // 0x298b42c /* 0298B42C */ _t80 = cpu->r[1] + 0x0000008Cu; /* 0298B42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t80); /* 0298B430 */ cpu->lr = cpu->r[0]; /* 0298B434 */ cpu->r[1] = cpu->r[1] + 0x00000088u; /* 0298B438 */ return; } // fn_0298B43C @ 0x298b43c void Gambit_fn_0298B43C(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_0298B43C: ; // 0x298b43c /* 0298B43C */ cpu->r[0] = cpu->lr; /* 0298B440 */ _t0 = cpu->r[1] + 0xFFFFFF80u; /* 0298B440 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B440 */ cpu->r[1] = _t0; /* 0298B444 */ _t1 = cpu->r[1] + 0x00000070u; /* 0298B444 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0298B448 */ /* nop */ /* 0298B44C */ _t2 = cpu->r[1] + 0x00000078u; /* 0298B44C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0298B450 */ _t3 = cpu->r[1] + 0x00000084u; /* 0298B450 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298B454 */ /* nop */ /* 0298B458 */ cpu->r[30] = cpu->r[7]; /* 0298B45C */ cpu->r[27] = cpu->r[4]; /* 0298B460 */ cpu->r[28] = cpu->r[5]; /* 0298B464 */ cpu->r[4] = cpu->r[30]; /* 0298B468 */ cpu->r[5] = 0x00000004u; /* 0298B46C */ cpu->r[26] = cpu->r[3]; /* 0298B470 */ cpu->r[3] = 0x00000054u; /* 0298B474 */ cpu->r[29] = cpu->r[6]; /* 0298B478 */ Gambit_fn_02801AC8(cpu); /* 0298B47C */ cpu->r[31] = cpu->r[3]; /* 0298B47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298B480 */ cpu->r[25] = 0x00000000u; /* 0298B484 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B484 */ _t5 = _t4 & 0x00000001u; /* 0298B484 */ if (_t5) goto L_0298B4F8; else goto L_0298B488; L_0298B488: ; // 0x298b488 /* 0298B488 */ cpu->r[3] = cpu->r[31]; /* 0298B48C */ Gambit_fn_02C4F040(cpu); /* 0298B490 */ cpu->r[0] = 0x101B0000u; /* 0298B494 */ _t6 = cpu->r[31] + 0x00000044u; /* 0298B494 */ rbrew_write32(cpu->mem, _t6, cpu->r[25]); /* 0298B498 */ cpu->r[0] = cpu->r[0] + 0xFFFFF008u; /* 0298B49C */ cpu->r[5] = 0xFFFFFFFFu; /* 0298B4A0 */ _t7 = cpu->r[31] + 0x00000034u; /* 0298B4A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0298B4A4 */ cpu->r[11] = 0x00000000u; /* 0298B4A8 */ _t8 = cpu->r[1] + 0x00000024u; /* 0298B4A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 0298B4AC */ _t9 = cpu->r[26] + 0x00000000u; /* 0298B4AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t9); /* 0298B4B0 */ _t10 = cpu->r[1] + 0x00000031u; /* 0298B4B0 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]); /* 0298B4B4 */ cpu->r[12] = 0x00000001u; /* 0298B4B8 */ _t11 = cpu->r[1] + 0x00000028u; /* 0298B4B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]); /* 0298B4BC */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0298B4BC */ rbrew_write32(cpu->mem, _t12, cpu->r[5]); /* 0298B4C0 */ _t13 = cpu->r[1] + 0x00000038u; /* 0298B4C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[25]); /* 0298B4C4 */ _t14 = cpu->r[1] + 0x00000030u; /* 0298B4C4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]); /* 0298B4C8 */ _t15 = cpu->r[1] + 0x0000002Cu; /* 0298B4C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]); /* 0298B4CC */ _t16 = cpu->r[1] + 0x00000034u; /* 0298B4CC */ rbrew_write32(cpu->mem, _t16, cpu->r[25]); /* 0298B4D0 */ _t17 = cpu->r[1] + 0x00000020u; /* 0298B4D0 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]); /* 0298B4D4 */ _t18 = cpu->r[4] + 0x0000000Cu; /* 0298B4D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 0298B4D8 */ cpu->r[10] = cpu->r[1] + 0x0000002Cu; /* 0298B4DC */ cpu->r[9] = cpu->r[1] + 0x00000028u; /* 0298B4E0 */ cpu->r[8] = cpu->r[1] + 0x00000024u; /* 0298B4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298B4E8 */ cpu->r[6] = cpu->r[4] + 0x0000000Cu; /* 0298B4EC */ cpu->r[7] = cpu->r[1] + 0x00000020u; /* 0298B4F0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B4F0 */ _t20 = _t19 & 0x00000001u; /* 0298B4F0 */ if (_t20) goto L_0298B554; else goto L_0298B4F4; L_0298B4F4: ; // 0x298b4f4 /* 0298B4F4 */ goto L_0298B550; L_0298B4F8: ; // 0x298b4f8 /* 0298B4F8 */ _t21 = cpu->r[1] + 0x00000034u; /* 0298B4F8 */ rbrew_write32(cpu->mem, _t21, cpu->r[25]); /* 0298B4FC */ cpu->r[5] = 0xFFFFFFFFu; /* 0298B500 */ _t22 = cpu->r[1] + 0x00000038u; /* 0298B500 */ rbrew_write32(cpu->mem, _t22, cpu->r[25]); /* 0298B504 */ _t23 = cpu->r[1] + 0x00000024u; /* 0298B504 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]); /* 0298B508 */ _t24 = cpu->r[26] + 0x00000000u; /* 0298B508 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24); /* 0298B50C */ cpu->r[12] = 0x00000001u; /* 0298B510 */ _t25 = cpu->r[1] + 0x0000002Cu; /* 0298B510 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]); /* 0298B514 */ _t26 = cpu->r[1] + 0x00000030u; /* 0298B514 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]); /* 0298B518 */ cpu->r[31] = 0x00000000u; /* 0298B51C */ _t27 = cpu->r[1] + 0x00000020u; /* 0298B51C */ rbrew_write32(cpu->mem, _t27, cpu->r[5]); /* 0298B520 */ cpu->r[10] = cpu->r[1] + 0x0000002Cu; /* 0298B524 */ _t28 = cpu->r[1] + 0x0000001Cu; /* 0298B524 */ rbrew_write32(cpu->mem, _t28, cpu->r[5]); /* 0298B528 */ _t29 = cpu->r[1] + 0x00000031u; /* 0298B528 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]); /* 0298B52C */ _t30 = cpu->r[1] + 0x00000028u; /* 0298B52C */ rbrew_write32(cpu->mem, _t30, cpu->r[5]); /* 0298B530 */ _t31 = cpu->r[4] + 0x0000000Cu; /* 0298B530 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 0298B534 */ cpu->r[7] = cpu->r[1] + 0x00000020u; /* 0298B538 */ cpu->r[8] = cpu->r[1] + 0x00000024u; /* 0298B53C */ cpu->r[9] = cpu->r[1] + 0x00000028u; /* 0298B540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298B544 */ cpu->r[6] = cpu->r[4] + 0x0000000Cu; /* 0298B548 */ cpu->r[11] = cpu->r[31]; /* 0298B54C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B54C */ _t33 = _t32 & 0x00000001u; /* 0298B54C */ if (_t33) goto L_0298B554; else goto L_0298B550; L_0298B550: ; // 0x298b550 /* 0298B550 */ cpu->r[11] = cpu->r[6] + cpu->r[12]; L_0298B554: ; // 0x298b554 /* 0298B554 */ _t34 = cpu->r[11] + 0x00000008u; /* 0298B554 */ cpu->r[11] = rbrew_read16(cpu->mem, _t34); /* 0298B558 */ _t35 = cpu->r[27] + 0x0000000Cu; /* 0298B558 */ cpu->r[5] = rbrew_read16(cpu->mem, _t35); /* 0298B55C */ _t36 = cpu->r[1] + 0x0000001Cu; /* 0298B55C */ rbrew_write32(cpu->mem, _t36, cpu->r[11]); /* 0298B560 */ _t37 = cpu->r[1] + 0x00000008u; /* 0298B560 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]); /* 0298B564 */ _t38 = cpu->r[4] + 0x00000024u; /* 0298B564 */ cpu->r[11] = rbrew_read16(cpu->mem, _t38); /* 0298B568 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000017u, 0x00000017u); /* 0298B568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B56C */ _t39 = cpu->r[27] + 0x00000014u; /* 0298B56C */ cpu->r[0] = rbrew_read16(cpu->mem, _t39); /* 0298B570 */ _t40 = cpu->r[1] + 0x00000008u; /* 0298B570 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]); /* 0298B574 */ _t41 = cpu->r[1] + 0x00000034u; /* 0298B574 */ rbrew_write32(cpu->mem, _t41, cpu->r[25]); /* 0298B578 */ _t42 = cpu->r[7] + 0x00000000u; /* 0298B578 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]); /* 0298B57C */ _t43 = cpu->r[1] + 0x00000038u; /* 0298B57C */ rbrew_write32(cpu->mem, _t43, cpu->r[25]); /* 0298B580 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B580 */ _t45 = _t44 & 0x00000001u; /* 0298B580 */ if (_t45) goto L_0298B584; else goto L_0298B5AC; L_0298B584: ; // 0x298b584 /* 0298B584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B588 */ _t46 = cpu->r[1] + 0x00000010u; /* 0298B588 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]); /* 0298B58C */ cpu->r[11] = cpu->r[8]; /* 0298B590 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B590 */ _t48 = _t47 & 0x00000001u; /* 0298B590 */ if (_t48) goto L_0298B598; else goto L_0298B594; L_0298B594: ; // 0x298b594 /* 0298B594 */ cpu->r[11] = cpu->r[1] + 0x00000010u; L_0298B598: ; // 0x298b598 /* 0298B598 */ _t49 = cpu->r[11] + 0x00000000u; /* 0298B598 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49); /* 0298B59C */ _t50 = cpu->r[8] + 0x00000000u; /* 0298B59C */ rbrew_write32(cpu->mem, _t50, cpu->r[7]); /* 0298B5A0 */ _t51 = cpu->r[27] + 0x00000016u; /* 0298B5A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t51); /* 0298B5A4 */ _t52 = cpu->r[1] + 0x0000000Cu; /* 0298B5A4 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]); /* 0298B5A8 */ goto L_0298B5D0; L_0298B5AC: ; // 0x298b5ac /* 0298B5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B5B0 */ _t53 = cpu->r[1] + 0x00000014u; /* 0298B5B0 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]); /* 0298B5B4 */ cpu->r[12] = cpu->r[9]; /* 0298B5B8 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B5B8 */ _t55 = _t54 & 0x00000001u; /* 0298B5B8 */ if (_t55) goto L_0298B5C0; else goto L_0298B5BC; L_0298B5BC: ; // 0x298b5bc /* 0298B5BC */ cpu->r[12] = cpu->r[1] + 0x00000014u; L_0298B5C0: ; // 0x298b5c0 /* 0298B5C0 */ _t56 = cpu->r[12] + 0x00000000u; /* 0298B5C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 0298B5C4 */ _t57 = cpu->r[9] + 0x00000000u; /* 0298B5C4 */ rbrew_write32(cpu->mem, _t57, cpu->r[7]); /* 0298B5C8 */ _t58 = cpu->r[27] + 0x00000016u; /* 0298B5C8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t58); /* 0298B5CC */ _t59 = cpu->r[1] + 0x0000000Cu; /* 0298B5CC */ rbrew_write32(cpu->mem, _t59, cpu->r[0]); L_0298B5D0: ; // 0x298b5d0 /* 0298B5D0 */ _t60 = cpu->r[1] + 0x0000000Cu; /* 0298B5D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60); /* 0298B5D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B5D8 */ _t61 = cpu->r[1] + 0x00000038u; /* 0298B5D8 */ rbrew_write32(cpu->mem, _t61, cpu->r[25]); /* 0298B5DC */ cpu->r[11] = cpu->r[0] ^ 0x00000001u; /* 0298B5E0 */ _t62 = cpu->r[10] + 0x00000000u; /* 0298B5E0 */ rbrew_write32(cpu->mem, _t62, cpu->r[9]); /* 0298B5E4 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu; /* 0298B5E8 */ _t63 = cpu->r[1] + 0x00000034u; /* 0298B5E8 */ rbrew_write32(cpu->mem, _t63, cpu->r[25]); /* 0298B5EC */ _t64 = cpu->r[1] + 0x00000031u; /* 0298B5EC */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[11]); /* 0298B5F0 */ Gambit_fn_02C5EA2C(cpu); /* 0298B5F4 */ cpu->r[5] = cpu->r[28]; /* 0298B5F8 */ cpu->r[4] = cpu->r[30]; /* 0298B5FC */ cpu->r[25] = cpu->r[3]; /* 0298B600 */ Gambit_fn_02801ADC(cpu); /* 0298B604 */ cpu->r[5] = cpu->r[3]; /* 0298B608 */ cpu->r[3] = cpu->r[31]; /* 0298B60C */ cpu->r[6] = cpu->r[25]; /* 0298B610 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu; /* 0298B614 */ Gambit_fn_02C5E89C(cpu); /* 0298B618 */ cpu->r[4] = cpu->r[27]; /* 0298B61C */ cpu->r[3] = cpu->r[31]; /* 0298B620 */ Gambit_fn_02C5EF58(cpu); /* 0298B624 */ _t65 = cpu->r[31] + 0x00000034u; /* 0298B624 */ cpu->r[8] = rbrew_read32(cpu->mem, _t65); /* 0298B628 */ _t66 = cpu->r[8] + 0x0000002Cu; /* 0298B628 */ cpu->r[9] = rbrew_read32(cpu->mem, _t66); /* 0298B62C */ cpu->ctr = cpu->r[9]; /* 0298B630 */ cpu->r[4] = cpu->r[26]; /* 0298B634 */ cpu->r[3] = cpu->r[31]; /* 0298B638 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298B640 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B640 */ _t68 = _t67 & 0x00000001u; /* 0298B640 */ if (_t68) goto L_0298B6AC; else goto L_0298B644; L_0298B644: ; // 0x298b644 /* 0298B644 */ _t69 = cpu->r[31] + 0x00000000u; /* 0298B644 */ cpu->r[7] = rbrew_read32(cpu->mem, _t69); /* 0298B648 */ cpu->r[12] = 0x10150000u; /* 0298B64C */ _t70 = cpu->r[12] + 0xFFFFEF78u; /* 0298B64C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t70); /* 0298B650 */ _t71 = cpu->r[7] + 0x00000008u; /* 0298B650 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t71); /* 0298B654 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]); /* 0298B658 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298B658 */ _t73 = _t72 & 0x00000001u; /* 0298B658 */ if (_t73) goto L_0298B65C; else goto L_0298B660; L_0298B65C: ; // 0x298b65c /* 0298B65C */ cpu->f[31] = cpu->f[13]; L_0298B660: ; // 0x298b660 /* 0298B660 */ cpu->r[3] = 0x101D0000u; /* 0298B664 */ _t74 = cpu->r[3] + 0xFFFF9918u; /* 0298B664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74); /* 0298B668 */ Gambit_fn_02830138(cpu); /* 0298B66C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 0298B670 */ cpu->r[10] = 0x10150000u; /* 0298B674 */ cpu->r[5] = cpu->r[0] | 0x3F800000u; /* 0298B678 */ _t75 = cpu->r[10] + 0xFFFFEF74u; /* 0298B678 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t75); /* 0298B67C */ _t76 = cpu->r[1] + 0x00000018u; /* 0298B67C */ rbrew_write32(cpu->mem, _t76, cpu->r[5]); /* 0298B680 */ _t77 = cpu->r[1] + 0x00000018u; /* 0298B680 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t77); /* 0298B684 */ _t78 = cpu->r[31] + 0x00000000u; /* 0298B684 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78); /* 0298B688 */ cpu->f[12] = cpu->f[11] - cpu->f[0]; /* 0298B68C */ _t79 = cpu->r[30] + 0x00000010u; /* 0298B68C */ cpu->r[10] = rbrew_read32(cpu->mem, _t79); /* 0298B690 */ _t80 = cpu->r[30] + 0x00000004u; /* 0298B690 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t80); /* 0298B694 */ cpu->ctr = cpu->r[10]; /* 0298B698 */ _t81 = cpu->r[30] + 0x00000008u; /* 0298B698 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t81); /* 0298B69C */ cpu->f[1] = cpu->f[31] * cpu->f[12]; /* 0298B6A0 */ _t82 = cpu->r[30] + 0x00000014u; /* 0298B6A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82); /* 0298B6A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B6A8 */ _t83 = cpu->r[30] + 0x00000000u; /* 0298B6A8 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[1]); L_0298B6AC: ; // 0x298b6ac /* 0298B6AC */ cpu->r[3] = cpu->r[31]; /* 0298B6B0 */ /* nop */ /* 0298B6B4 */ _t84 = cpu->r[1] + 0x00000078u; /* 0298B6B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t84); /* 0298B6B8 */ _t85 = cpu->r[1] + 0x00000070u; /* 0298B6B8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t85); /* 0298B6BC */ _t86 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B6BC */ _t87 = _t86 & 0x00000001u; /* 0298B6BC */ if (_t87) goto L_0298B6C0; // else: addr-0 trap, fall-through L_0298B6C0: ; // 0x298b6c0 /* 0298B6C0 */ _t88 = cpu->r[1] + 0x00000084u; /* 0298B6C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88); /* 0298B6C4 */ cpu->lr = cpu->r[0]; /* 0298B6C8 */ cpu->r[1] = cpu->r[1] + 0x00000080u; /* 0298B6CC */ return; } // fn_0298B440 @ 0x298b440 void Gambit_fn_0298B440(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_0298B440: ; // 0x298b440 /* 0298B440 */ _t0 = cpu->r[1] + 0xFFFFFF80u; /* 0298B440 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B440 */ cpu->r[1] = _t0; /* 0298B444 */ _t1 = cpu->r[1] + 0x00000070u; /* 0298B444 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0298B448 */ /* nop */ /* 0298B44C */ _t2 = cpu->r[1] + 0x00000078u; /* 0298B44C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]); /* 0298B450 */ _t3 = cpu->r[1] + 0x00000084u; /* 0298B450 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298B454 */ /* nop */ /* 0298B458 */ cpu->r[30] = cpu->r[7]; /* 0298B45C */ cpu->r[27] = cpu->r[4]; /* 0298B460 */ cpu->r[28] = cpu->r[5]; /* 0298B464 */ cpu->r[4] = cpu->r[30]; /* 0298B468 */ cpu->r[5] = 0x00000004u; /* 0298B46C */ cpu->r[26] = cpu->r[3]; /* 0298B470 */ cpu->r[3] = 0x00000054u; /* 0298B474 */ cpu->r[29] = cpu->r[6]; /* 0298B478 */ Gambit_fn_02801AC8(cpu); /* 0298B47C */ cpu->r[31] = cpu->r[3]; /* 0298B47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298B480 */ cpu->r[25] = 0x00000000u; /* 0298B484 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B484 */ _t5 = _t4 & 0x00000001u; /* 0298B484 */ if (_t5) goto L_0298B4F8; else goto L_0298B488; L_0298B488: ; // 0x298b488 /* 0298B488 */ cpu->r[3] = cpu->r[31]; /* 0298B48C */ Gambit_fn_02C4F040(cpu); /* 0298B490 */ cpu->r[0] = 0x101B0000u; /* 0298B494 */ _t6 = cpu->r[31] + 0x00000044u; /* 0298B494 */ rbrew_write32(cpu->mem, _t6, cpu->r[25]); /* 0298B498 */ cpu->r[0] = cpu->r[0] + 0xFFFFF008u; /* 0298B49C */ cpu->r[5] = 0xFFFFFFFFu; /* 0298B4A0 */ _t7 = cpu->r[31] + 0x00000034u; /* 0298B4A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0298B4A4 */ cpu->r[11] = 0x00000000u; /* 0298B4A8 */ _t8 = cpu->r[1] + 0x00000024u; /* 0298B4A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]); /* 0298B4AC */ _t9 = cpu->r[26] + 0x00000000u; /* 0298B4AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t9); /* 0298B4B0 */ _t10 = cpu->r[1] + 0x00000031u; /* 0298B4B0 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]); /* 0298B4B4 */ cpu->r[12] = 0x00000001u; /* 0298B4B8 */ _t11 = cpu->r[1] + 0x00000028u; /* 0298B4B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]); /* 0298B4BC */ _t12 = cpu->r[1] + 0x0000001Cu; /* 0298B4BC */ rbrew_write32(cpu->mem, _t12, cpu->r[5]); /* 0298B4C0 */ _t13 = cpu->r[1] + 0x00000038u; /* 0298B4C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[25]); /* 0298B4C4 */ _t14 = cpu->r[1] + 0x00000030u; /* 0298B4C4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]); /* 0298B4C8 */ _t15 = cpu->r[1] + 0x0000002Cu; /* 0298B4C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]); /* 0298B4CC */ _t16 = cpu->r[1] + 0x00000034u; /* 0298B4CC */ rbrew_write32(cpu->mem, _t16, cpu->r[25]); /* 0298B4D0 */ _t17 = cpu->r[1] + 0x00000020u; /* 0298B4D0 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]); /* 0298B4D4 */ _t18 = cpu->r[4] + 0x0000000Cu; /* 0298B4D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 0298B4D8 */ cpu->r[10] = cpu->r[1] + 0x0000002Cu; /* 0298B4DC */ cpu->r[9] = cpu->r[1] + 0x00000028u; /* 0298B4E0 */ cpu->r[8] = cpu->r[1] + 0x00000024u; /* 0298B4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298B4E8 */ cpu->r[6] = cpu->r[4] + 0x0000000Cu; /* 0298B4EC */ cpu->r[7] = cpu->r[1] + 0x00000020u; /* 0298B4F0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B4F0 */ _t20 = _t19 & 0x00000001u; /* 0298B4F0 */ if (_t20) goto L_0298B554; else goto L_0298B4F4; L_0298B4F4: ; // 0x298b4f4 /* 0298B4F4 */ goto L_0298B550; L_0298B4F8: ; // 0x298b4f8 /* 0298B4F8 */ _t21 = cpu->r[1] + 0x00000034u; /* 0298B4F8 */ rbrew_write32(cpu->mem, _t21, cpu->r[25]); /* 0298B4FC */ cpu->r[5] = 0xFFFFFFFFu; /* 0298B500 */ _t22 = cpu->r[1] + 0x00000038u; /* 0298B500 */ rbrew_write32(cpu->mem, _t22, cpu->r[25]); /* 0298B504 */ _t23 = cpu->r[1] + 0x00000024u; /* 0298B504 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]); /* 0298B508 */ _t24 = cpu->r[26] + 0x00000000u; /* 0298B508 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24); /* 0298B50C */ cpu->r[12] = 0x00000001u; /* 0298B510 */ _t25 = cpu->r[1] + 0x0000002Cu; /* 0298B510 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]); /* 0298B514 */ _t26 = cpu->r[1] + 0x00000030u; /* 0298B514 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]); /* 0298B518 */ cpu->r[31] = 0x00000000u; /* 0298B51C */ _t27 = cpu->r[1] + 0x00000020u; /* 0298B51C */ rbrew_write32(cpu->mem, _t27, cpu->r[5]); /* 0298B520 */ cpu->r[10] = cpu->r[1] + 0x0000002Cu; /* 0298B524 */ _t28 = cpu->r[1] + 0x0000001Cu; /* 0298B524 */ rbrew_write32(cpu->mem, _t28, cpu->r[5]); /* 0298B528 */ _t29 = cpu->r[1] + 0x00000031u; /* 0298B528 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]); /* 0298B52C */ _t30 = cpu->r[1] + 0x00000028u; /* 0298B52C */ rbrew_write32(cpu->mem, _t30, cpu->r[5]); /* 0298B530 */ _t31 = cpu->r[4] + 0x0000000Cu; /* 0298B530 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 0298B534 */ cpu->r[7] = cpu->r[1] + 0x00000020u; /* 0298B538 */ cpu->r[8] = cpu->r[1] + 0x00000024u; /* 0298B53C */ cpu->r[9] = cpu->r[1] + 0x00000028u; /* 0298B540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298B544 */ cpu->r[6] = cpu->r[4] + 0x0000000Cu; /* 0298B548 */ cpu->r[11] = cpu->r[31]; /* 0298B54C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B54C */ _t33 = _t32 & 0x00000001u; /* 0298B54C */ if (_t33) goto L_0298B554; else goto L_0298B550; L_0298B550: ; // 0x298b550 /* 0298B550 */ cpu->r[11] = cpu->r[6] + cpu->r[12]; L_0298B554: ; // 0x298b554 /* 0298B554 */ _t34 = cpu->r[11] + 0x00000008u; /* 0298B554 */ cpu->r[11] = rbrew_read16(cpu->mem, _t34); /* 0298B558 */ _t35 = cpu->r[27] + 0x0000000Cu; /* 0298B558 */ cpu->r[5] = rbrew_read16(cpu->mem, _t35); /* 0298B55C */ _t36 = cpu->r[1] + 0x0000001Cu; /* 0298B55C */ rbrew_write32(cpu->mem, _t36, cpu->r[11]); /* 0298B560 */ _t37 = cpu->r[1] + 0x00000008u; /* 0298B560 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]); /* 0298B564 */ _t38 = cpu->r[4] + 0x00000024u; /* 0298B564 */ cpu->r[11] = rbrew_read16(cpu->mem, _t38); /* 0298B568 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000017u, 0x00000017u); /* 0298B568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B56C */ _t39 = cpu->r[27] + 0x00000014u; /* 0298B56C */ cpu->r[0] = rbrew_read16(cpu->mem, _t39); /* 0298B570 */ _t40 = cpu->r[1] + 0x00000008u; /* 0298B570 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]); /* 0298B574 */ _t41 = cpu->r[1] + 0x00000034u; /* 0298B574 */ rbrew_write32(cpu->mem, _t41, cpu->r[25]); /* 0298B578 */ _t42 = cpu->r[7] + 0x00000000u; /* 0298B578 */ rbrew_write32(cpu->mem, _t42, cpu->r[11]); /* 0298B57C */ _t43 = cpu->r[1] + 0x00000038u; /* 0298B57C */ rbrew_write32(cpu->mem, _t43, cpu->r[25]); /* 0298B580 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B580 */ _t45 = _t44 & 0x00000001u; /* 0298B580 */ if (_t45) goto L_0298B584; else goto L_0298B5AC; L_0298B584: ; // 0x298b584 /* 0298B584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B588 */ _t46 = cpu->r[1] + 0x00000010u; /* 0298B588 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]); /* 0298B58C */ cpu->r[11] = cpu->r[8]; /* 0298B590 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B590 */ _t48 = _t47 & 0x00000001u; /* 0298B590 */ if (_t48) goto L_0298B598; else goto L_0298B594; L_0298B594: ; // 0x298b594 /* 0298B594 */ cpu->r[11] = cpu->r[1] + 0x00000010u; L_0298B598: ; // 0x298b598 /* 0298B598 */ _t49 = cpu->r[11] + 0x00000000u; /* 0298B598 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49); /* 0298B59C */ _t50 = cpu->r[8] + 0x00000000u; /* 0298B59C */ rbrew_write32(cpu->mem, _t50, cpu->r[7]); /* 0298B5A0 */ _t51 = cpu->r[27] + 0x00000016u; /* 0298B5A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t51); /* 0298B5A4 */ _t52 = cpu->r[1] + 0x0000000Cu; /* 0298B5A4 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]); /* 0298B5A8 */ goto L_0298B5D0; L_0298B5AC: ; // 0x298b5ac /* 0298B5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B5B0 */ _t53 = cpu->r[1] + 0x00000014u; /* 0298B5B0 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]); /* 0298B5B4 */ cpu->r[12] = cpu->r[9]; /* 0298B5B8 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B5B8 */ _t55 = _t54 & 0x00000001u; /* 0298B5B8 */ if (_t55) goto L_0298B5C0; else goto L_0298B5BC; L_0298B5BC: ; // 0x298b5bc /* 0298B5BC */ cpu->r[12] = cpu->r[1] + 0x00000014u; L_0298B5C0: ; // 0x298b5c0 /* 0298B5C0 */ _t56 = cpu->r[12] + 0x00000000u; /* 0298B5C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 0298B5C4 */ _t57 = cpu->r[9] + 0x00000000u; /* 0298B5C4 */ rbrew_write32(cpu->mem, _t57, cpu->r[7]); /* 0298B5C8 */ _t58 = cpu->r[27] + 0x00000016u; /* 0298B5C8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t58); /* 0298B5CC */ _t59 = cpu->r[1] + 0x0000000Cu; /* 0298B5CC */ rbrew_write32(cpu->mem, _t59, cpu->r[0]); L_0298B5D0: ; // 0x298b5d0 /* 0298B5D0 */ _t60 = cpu->r[1] + 0x0000000Cu; /* 0298B5D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60); /* 0298B5D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B5D8 */ _t61 = cpu->r[1] + 0x00000038u; /* 0298B5D8 */ rbrew_write32(cpu->mem, _t61, cpu->r[25]); /* 0298B5DC */ cpu->r[11] = cpu->r[0] ^ 0x00000001u; /* 0298B5E0 */ _t62 = cpu->r[10] + 0x00000000u; /* 0298B5E0 */ rbrew_write32(cpu->mem, _t62, cpu->r[9]); /* 0298B5E4 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu; /* 0298B5E8 */ _t63 = cpu->r[1] + 0x00000034u; /* 0298B5E8 */ rbrew_write32(cpu->mem, _t63, cpu->r[25]); /* 0298B5EC */ _t64 = cpu->r[1] + 0x00000031u; /* 0298B5EC */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[11]); /* 0298B5F0 */ Gambit_fn_02C5EA2C(cpu); /* 0298B5F4 */ cpu->r[5] = cpu->r[28]; /* 0298B5F8 */ cpu->r[4] = cpu->r[30]; /* 0298B5FC */ cpu->r[25] = cpu->r[3]; /* 0298B600 */ Gambit_fn_02801ADC(cpu); /* 0298B604 */ cpu->r[5] = cpu->r[3]; /* 0298B608 */ cpu->r[3] = cpu->r[31]; /* 0298B60C */ cpu->r[6] = cpu->r[25]; /* 0298B610 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu; /* 0298B614 */ Gambit_fn_02C5E89C(cpu); /* 0298B618 */ cpu->r[4] = cpu->r[27]; /* 0298B61C */ cpu->r[3] = cpu->r[31]; /* 0298B620 */ Gambit_fn_02C5EF58(cpu); /* 0298B624 */ _t65 = cpu->r[31] + 0x00000034u; /* 0298B624 */ cpu->r[8] = rbrew_read32(cpu->mem, _t65); /* 0298B628 */ _t66 = cpu->r[8] + 0x0000002Cu; /* 0298B628 */ cpu->r[9] = rbrew_read32(cpu->mem, _t66); /* 0298B62C */ cpu->ctr = cpu->r[9]; /* 0298B630 */ cpu->r[4] = cpu->r[26]; /* 0298B634 */ cpu->r[3] = cpu->r[31]; /* 0298B638 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298B640 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B640 */ _t68 = _t67 & 0x00000001u; /* 0298B640 */ if (_t68) goto L_0298B6AC; else goto L_0298B644; L_0298B644: ; // 0x298b644 /* 0298B644 */ _t69 = cpu->r[31] + 0x00000000u; /* 0298B644 */ cpu->r[7] = rbrew_read32(cpu->mem, _t69); /* 0298B648 */ cpu->r[12] = 0x10150000u; /* 0298B64C */ _t70 = cpu->r[12] + 0xFFFFEF78u; /* 0298B64C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t70); /* 0298B650 */ _t71 = cpu->r[7] + 0x00000008u; /* 0298B650 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t71); /* 0298B654 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]); /* 0298B658 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298B658 */ _t73 = _t72 & 0x00000001u; /* 0298B658 */ if (_t73) goto L_0298B65C; else goto L_0298B660; L_0298B65C: ; // 0x298b65c /* 0298B65C */ cpu->f[31] = cpu->f[13]; L_0298B660: ; // 0x298b660 /* 0298B660 */ cpu->r[3] = 0x101D0000u; /* 0298B664 */ _t74 = cpu->r[3] + 0xFFFF9918u; /* 0298B664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74); /* 0298B668 */ Gambit_fn_02830138(cpu); /* 0298B66C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu); /* 0298B670 */ cpu->r[10] = 0x10150000u; /* 0298B674 */ cpu->r[5] = cpu->r[0] | 0x3F800000u; /* 0298B678 */ _t75 = cpu->r[10] + 0xFFFFEF74u; /* 0298B678 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t75); /* 0298B67C */ _t76 = cpu->r[1] + 0x00000018u; /* 0298B67C */ rbrew_write32(cpu->mem, _t76, cpu->r[5]); /* 0298B680 */ _t77 = cpu->r[1] + 0x00000018u; /* 0298B680 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t77); /* 0298B684 */ _t78 = cpu->r[31] + 0x00000000u; /* 0298B684 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78); /* 0298B688 */ cpu->f[12] = cpu->f[11] - cpu->f[0]; /* 0298B68C */ _t79 = cpu->r[30] + 0x00000010u; /* 0298B68C */ cpu->r[10] = rbrew_read32(cpu->mem, _t79); /* 0298B690 */ _t80 = cpu->r[30] + 0x00000004u; /* 0298B690 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t80); /* 0298B694 */ cpu->ctr = cpu->r[10]; /* 0298B698 */ _t81 = cpu->r[30] + 0x00000008u; /* 0298B698 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t81); /* 0298B69C */ cpu->f[1] = cpu->f[31] * cpu->f[12]; /* 0298B6A0 */ _t82 = cpu->r[30] + 0x00000014u; /* 0298B6A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82); /* 0298B6A4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B6A8 */ _t83 = cpu->r[30] + 0x00000000u; /* 0298B6A8 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[1]); L_0298B6AC: ; // 0x298b6ac /* 0298B6AC */ cpu->r[3] = cpu->r[31]; /* 0298B6B0 */ /* nop */ /* 0298B6B4 */ _t84 = cpu->r[1] + 0x00000078u; /* 0298B6B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t84); /* 0298B6B8 */ _t85 = cpu->r[1] + 0x00000070u; /* 0298B6B8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t85); /* 0298B6BC */ _t86 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298B6BC */ _t87 = _t86 & 0x00000001u; /* 0298B6BC */ if (_t87) goto L_0298B6C0; // else: addr-0 trap, fall-through L_0298B6C0: ; // 0x298b6c0 /* 0298B6C0 */ _t88 = cpu->r[1] + 0x00000084u; /* 0298B6C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88); /* 0298B6C4 */ cpu->lr = cpu->r[0]; /* 0298B6C8 */ cpu->r[1] = cpu->r[1] + 0x00000080u; /* 0298B6CC */ return; } // fn_0298B6D0 @ 0x298b6d0 void Gambit_fn_0298B6D0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298B6D0: ; // 0x298b6d0 /* 0298B6D0 */ cpu->r[0] = cpu->lr; /* 0298B6D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298B6D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B6D4 */ cpu->r[1] = _t0; /* 0298B6D8 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298B6D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298B6DC */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298B6DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298B6E0 */ cpu->r[31] = cpu->r[3]; /* 0298B6E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298B6E4 */ cpu->r[30] = cpu->r[4]; /* 0298B6E8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298B6E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298B6EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B6EC */ _t5 = _t4 & 0x00000001u; /* 0298B6EC */ if (_t5) goto L_0298B718; else goto L_0298B6F0; L_0298B6F0: ; // 0x298b6f0 /* 0298B6F0 */ cpu->r[3] = cpu->r[31] + 0x000000ACu; /* 0298B6F4 */ cpu->r[4] = 0x00000002u; /* 0298B6F8 */ Gambit_fn_02984F84(cpu); /* 0298B6FC */ cpu->r[3] = cpu->r[31] + 0x0000008Cu; /* 0298B700 */ cpu->r[4] = 0x00000002u; /* 0298B704 */ Gambit_fn_029826F8(cpu); /* 0298B708 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B70C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B70C */ _t7 = _t6 & 0x00000001u; /* 0298B70C */ if (_t7) goto L_0298B718; else goto L_0298B710; L_0298B710: ; // 0x298b710 /* 0298B710 */ cpu->r[3] = cpu->r[31]; /* 0298B714 */ Gambit_fn_02801BB0(cpu); L_0298B718: ; // 0x298b718 /* 0298B718 */ _t8 = cpu->r[1] + 0x00000014u; /* 0298B718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298B71C */ _t9 = cpu->r[1] + 0x00000008u; /* 0298B71C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0298B720 */ cpu->lr = cpu->r[0]; /* 0298B724 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298B724 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298B728 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298B72C */ return; } // fn_0298B6D4 @ 0x298b6d4 void Gambit_fn_0298B6D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298B6D4: ; // 0x298b6d4 /* 0298B6D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298B6D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B6D4 */ cpu->r[1] = _t0; /* 0298B6D8 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298B6D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298B6DC */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298B6DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298B6E0 */ cpu->r[31] = cpu->r[3]; /* 0298B6E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298B6E4 */ cpu->r[30] = cpu->r[4]; /* 0298B6E8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298B6E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298B6EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B6EC */ _t5 = _t4 & 0x00000001u; /* 0298B6EC */ if (_t5) goto L_0298B718; else goto L_0298B6F0; L_0298B6F0: ; // 0x298b6f0 /* 0298B6F0 */ cpu->r[3] = cpu->r[31] + 0x000000ACu; /* 0298B6F4 */ cpu->r[4] = 0x00000002u; /* 0298B6F8 */ Gambit_fn_02984F84(cpu); /* 0298B6FC */ cpu->r[3] = cpu->r[31] + 0x0000008Cu; /* 0298B700 */ cpu->r[4] = 0x00000002u; /* 0298B704 */ Gambit_fn_029826F8(cpu); /* 0298B708 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B70C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B70C */ _t7 = _t6 & 0x00000001u; /* 0298B70C */ if (_t7) goto L_0298B718; else goto L_0298B710; L_0298B710: ; // 0x298b710 /* 0298B710 */ cpu->r[3] = cpu->r[31]; /* 0298B714 */ Gambit_fn_02801BB0(cpu); L_0298B718: ; // 0x298b718 /* 0298B718 */ _t8 = cpu->r[1] + 0x00000014u; /* 0298B718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298B71C */ _t9 = cpu->r[1] + 0x00000008u; /* 0298B71C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0298B720 */ cpu->lr = cpu->r[0]; /* 0298B724 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298B724 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298B728 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298B72C */ return; } // fn_0298B730 @ 0x298b730 void Gambit_fn_0298B730(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0298B730: ; // 0x298b730 /* 0298B730 */ cpu->r[0] = cpu->lr; /* 0298B734 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298B734 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B734 */ cpu->r[1] = _t0; /* 0298B738 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298B738 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298B73C */ cpu->r[31] = cpu->r[3]; /* 0298B740 */ cpu->r[3] = cpu->r[31] + 0x000000ACu; /* 0298B744 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298B744 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298B748 */ Gambit_fn_02985010(cpu); /* 0298B74C */ _t3 = cpu->r[31] + 0x00000000u; /* 0298B74C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0298B750 */ _t4 = cpu->r[10] + 0x000000A4u; /* 0298B750 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298B754 */ cpu->r[0] = cpu->r[31] + 0x000000ACu; /* 0298B758 */ _t5 = cpu->r[12] + 0x00000094u; /* 0298B758 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298B75C */ _t6 = cpu->r[1] + 0x00000014u; /* 0298B75C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298B760 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0298B760 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0298B764 */ cpu->lr = cpu->r[0]; /* 0298B768 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298B76C */ return; } // fn_0298B734 @ 0x298b734 void Gambit_fn_0298B734(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0298B734: ; // 0x298b734 /* 0298B734 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298B734 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B734 */ cpu->r[1] = _t0; /* 0298B738 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298B738 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298B73C */ cpu->r[31] = cpu->r[3]; /* 0298B740 */ cpu->r[3] = cpu->r[31] + 0x000000ACu; /* 0298B744 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298B744 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298B748 */ Gambit_fn_02985010(cpu); /* 0298B74C */ _t3 = cpu->r[31] + 0x00000000u; /* 0298B74C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0298B750 */ _t4 = cpu->r[10] + 0x000000A4u; /* 0298B750 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298B754 */ cpu->r[0] = cpu->r[31] + 0x000000ACu; /* 0298B758 */ _t5 = cpu->r[12] + 0x00000094u; /* 0298B758 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298B75C */ _t6 = cpu->r[1] + 0x00000014u; /* 0298B75C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298B760 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0298B760 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0298B764 */ cpu->lr = cpu->r[0]; /* 0298B768 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298B76C */ return; } // fn_0298B770 @ 0x298b770 void Gambit_fn_0298B770(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_0298B770: ; // 0x298b770 /* 0298B770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298B774 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B774 */ _t17 = _t16 & 0x00000001u; /* 0298B774 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B774 */ goto L_0298B778; L_0298B778: ; // 0x298b778 /* 0298B778 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B77C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B77C */ _t19 = _t18 & 0x00000001u; /* 0298B77C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B77C */ goto L_0298B780; L_0298B780: ; // 0x298b780 /* 0298B780 */ goto L_02801BB0; } // fn_0298B784 @ 0x298b784 void Gambit_fn_0298B784(CPUState* cpu) { L_0298B784: ; // 0x298b784 /* 0298B784 */ return; } // fn_0298B788 @ 0x298b788 void Gambit_fn_0298B788(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_0298B788: ; // 0x298b788 /* 0298B788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298B78C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B78C */ _t17 = _t16 & 0x00000001u; /* 0298B78C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B78C */ goto L_0298B790; L_0298B790: ; // 0x298b790 /* 0298B790 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B794 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B794 */ _t19 = _t18 & 0x00000001u; /* 0298B794 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B794 */ goto L_0298B798; L_0298B798: ; // 0x298b798 /* 0298B798 */ goto L_02801BB0; } // fn_0298B79C @ 0x298b79c void Gambit_fn_0298B79C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0298B79C: ; // 0x298b79c /* 0298B79C */ _t0 = cpu->r[3] + 0x00000000u; /* 0298B79C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0298B7A0 */ _t1 = cpu->r[3] + 0x00000008u; /* 0298B7A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0298B7A4 */ cpu->r[12] = cpu->r[11] + cpu->r[12]; /* 0298B7A8 */ cpu->r[11] = 0x10110000u; /* 0298B7AC */ _t2 = cpu->r[11] + 0x00007399u; /* 0298B7AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 0298B7B0 */ _t3 = cpu->r[12] + 0xFFFFFFFFu; /* 0298B7B0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]); /* 0298B7B4 */ return; } // fn_0298B7B8 @ 0x298b7b8 void Gambit_fn_0298B7B8(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_0298B7B8: ; // 0x298b7b8 /* 0298B7B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298B7BC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B7BC */ _t17 = _t16 & 0x00000001u; /* 0298B7BC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B7BC */ goto L_0298B7C0; L_0298B7C0: ; // 0x298b7c0 /* 0298B7C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B7C4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B7C4 */ _t19 = _t18 & 0x00000001u; /* 0298B7C4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B7C4 */ goto L_0298B7C8; L_0298B7C8: ; // 0x298b7c8 /* 0298B7C8 */ goto L_02801BB0; } // fn_0298B7CC @ 0x298b7cc void Gambit_fn_0298B7CC(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_0298B7CC: ; // 0x298b7cc /* 0298B7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298B7D0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B7D0 */ _t17 = _t16 & 0x00000001u; /* 0298B7D0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B7D0 */ goto L_0298B7D4; L_0298B7D4: ; // 0x298b7d4 /* 0298B7D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B7D8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B7D8 */ _t19 = _t18 & 0x00000001u; /* 0298B7D8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B7D8 */ goto L_0298B7DC; L_0298B7DC: ; // 0x298b7dc /* 0298B7DC */ goto L_02801BB0; } // fn_0298B7E0 @ 0x298b7e0 void Gambit_fn_0298B7E0(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_0298B7E0: ; // 0x298b7e0 /* 0298B7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298B7E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B7E4 */ _t17 = _t16 & 0x00000001u; /* 0298B7E4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B7E4 */ goto L_0298B7E8; L_0298B7E8: ; // 0x298b7e8 /* 0298B7E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B7EC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B7EC */ _t19 = _t18 & 0x00000001u; /* 0298B7EC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B7EC */ goto L_0298B7F0; L_0298B7F0: ; // 0x298b7f0 /* 0298B7F0 */ goto L_02801BB0; } // fn_0298B7F4 @ 0x298b7f4 void Gambit_fn_0298B7F4(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_0298B7F4: ; // 0x298b7f4 /* 0298B7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298B7F8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B7F8 */ _t17 = _t16 & 0x00000001u; /* 0298B7F8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B7F8 */ goto L_0298B7FC; L_0298B7FC: ; // 0x298b7fc /* 0298B7FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B800 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B800 */ _t19 = _t18 & 0x00000001u; /* 0298B800 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B800 */ goto L_0298B804; L_0298B804: ; // 0x298b804 /* 0298B804 */ goto L_02801BB0; } // fn_0298B808 @ 0x298b808 void Gambit_fn_0298B808(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_0298B808: ; // 0x298b808 /* 0298B808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298B80C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B80C */ _t17 = _t16 & 0x00000001u; /* 0298B80C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B80C */ goto L_0298B810; L_0298B810: ; // 0x298b810 /* 0298B810 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B814 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B814 */ _t19 = _t18 & 0x00000001u; /* 0298B814 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B814 */ goto L_0298B818; L_0298B818: ; // 0x298b818 /* 0298B818 */ goto L_02801BB0; } // fn_0298B81C @ 0x298b81c void Gambit_fn_0298B81C(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_0298B81C: ; // 0x298b81c /* 0298B81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298B820 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B820 */ _t17 = _t16 & 0x00000001u; /* 0298B820 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B820 */ goto L_0298B824; L_0298B824: ; // 0x298b824 /* 0298B824 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B828 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B828 */ _t19 = _t18 & 0x00000001u; /* 0298B828 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298B828 */ goto L_0298B82C; L_0298B82C: ; // 0x298b82c /* 0298B82C */ goto L_02801BB0; } // fn_0298B830 @ 0x298b830 void Gambit_fn_0298B830(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0298B830: ; // 0x298b830 /* 0298B830 */ cpu->r[0] = cpu->lr; /* 0298B834 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298B834 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B834 */ cpu->r[1] = _t0; /* 0298B838 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298B838 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298B83C */ _t2 = cpu->r[1] + 0x00000008u; /* 0298B83C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298B840 */ cpu->r[30] = cpu->r[3]; /* 0298B840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298B844 */ cpu->r[31] = cpu->r[4]; /* 0298B848 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298B848 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298B84C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B84C */ _t5 = _t4 & 0x00000001u; /* 0298B84C */ if (_t5) goto L_0298B8B0; else goto L_0298B850; L_0298B850: ; // 0x298b850 /* 0298B850 */ cpu->r[11] = 0x10150000u; /* 0298B854 */ cpu->r[0] = 0x10150000u; /* 0298B858 */ cpu->r[11] = cpu->r[11] + 0xFFFFF450u; /* 0298B85C */ cpu->r[0] = cpu->r[0] + 0xFFFFF490u; /* 0298B860 */ _t6 = cpu->r[30] + 0x00000088u; /* 0298B860 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]); /* 0298B864 */ cpu->r[12] = 0x10150000u; /* 0298B868 */ _t7 = cpu->r[30] + 0x000000B0u; /* 0298B868 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0298B86C */ cpu->r[12] = cpu->r[12] + 0xFFFFF480u; /* 0298B870 */ cpu->r[3] = cpu->r[30] + 0x00000224u; /* 0298B874 */ _t8 = cpu->r[30] + 0x0000008Cu; /* 0298B874 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 0298B878 */ Gambit_fn_02802424(cpu); /* 0298B87C */ cpu->r[4] = 0x00000002u; /* 0298B880 */ cpu->r[3] = cpu->r[30] + 0x00000294u; /* 0298B884 */ Gambit_fn_0281CB84(cpu); /* 0298B888 */ cpu->r[4] = 0x00000002u; /* 0298B88C */ cpu->r[3] = cpu->r[30] + 0x0000023Cu; /* 0298B890 */ Gambit_fn_0281ADA0(cpu); /* 0298B894 */ cpu->r[4] = 0x00000000u; /* 0298B898 */ cpu->r[3] = cpu->r[30]; /* 0298B89C */ Gambit_fn_02C927D8(cpu); /* 0298B8A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B8A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B8A4 */ _t10 = _t9 & 0x00000001u; /* 0298B8A4 */ if (_t10) goto L_0298B8B0; else goto L_0298B8A8; L_0298B8A8: ; // 0x298b8a8 /* 0298B8A8 */ cpu->r[3] = cpu->r[30]; /* 0298B8AC */ Gambit_fn_02801BB0(cpu); L_0298B8B0: ; // 0x298b8b0 /* 0298B8B0 */ _t11 = cpu->r[1] + 0x00000014u; /* 0298B8B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0298B8B4 */ _t12 = cpu->r[1] + 0x00000008u; /* 0298B8B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0298B8B8 */ cpu->lr = cpu->r[0]; /* 0298B8BC */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0298B8BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0298B8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298B8C4 */ return; } // fn_0298B834 @ 0x298b834 void Gambit_fn_0298B834(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0298B834: ; // 0x298b834 /* 0298B834 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298B834 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B834 */ cpu->r[1] = _t0; /* 0298B838 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298B838 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298B83C */ _t2 = cpu->r[1] + 0x00000008u; /* 0298B83C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298B840 */ cpu->r[30] = cpu->r[3]; /* 0298B840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298B844 */ cpu->r[31] = cpu->r[4]; /* 0298B848 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298B848 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298B84C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B84C */ _t5 = _t4 & 0x00000001u; /* 0298B84C */ if (_t5) goto L_0298B8B0; else goto L_0298B850; L_0298B850: ; // 0x298b850 /* 0298B850 */ cpu->r[11] = 0x10150000u; /* 0298B854 */ cpu->r[0] = 0x10150000u; /* 0298B858 */ cpu->r[11] = cpu->r[11] + 0xFFFFF450u; /* 0298B85C */ cpu->r[0] = cpu->r[0] + 0xFFFFF490u; /* 0298B860 */ _t6 = cpu->r[30] + 0x00000088u; /* 0298B860 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]); /* 0298B864 */ cpu->r[12] = 0x10150000u; /* 0298B868 */ _t7 = cpu->r[30] + 0x000000B0u; /* 0298B868 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0298B86C */ cpu->r[12] = cpu->r[12] + 0xFFFFF480u; /* 0298B870 */ cpu->r[3] = cpu->r[30] + 0x00000224u; /* 0298B874 */ _t8 = cpu->r[30] + 0x0000008Cu; /* 0298B874 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 0298B878 */ Gambit_fn_02802424(cpu); /* 0298B87C */ cpu->r[4] = 0x00000002u; /* 0298B880 */ cpu->r[3] = cpu->r[30] + 0x00000294u; /* 0298B884 */ Gambit_fn_0281CB84(cpu); /* 0298B888 */ cpu->r[4] = 0x00000002u; /* 0298B88C */ cpu->r[3] = cpu->r[30] + 0x0000023Cu; /* 0298B890 */ Gambit_fn_0281ADA0(cpu); /* 0298B894 */ cpu->r[4] = 0x00000000u; /* 0298B898 */ cpu->r[3] = cpu->r[30]; /* 0298B89C */ Gambit_fn_02C927D8(cpu); /* 0298B8A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B8A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B8A4 */ _t10 = _t9 & 0x00000001u; /* 0298B8A4 */ if (_t10) goto L_0298B8B0; else goto L_0298B8A8; L_0298B8A8: ; // 0x298b8a8 /* 0298B8A8 */ cpu->r[3] = cpu->r[30]; /* 0298B8AC */ Gambit_fn_02801BB0(cpu); L_0298B8B0: ; // 0x298b8b0 /* 0298B8B0 */ _t11 = cpu->r[1] + 0x00000014u; /* 0298B8B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0298B8B4 */ _t12 = cpu->r[1] + 0x00000008u; /* 0298B8B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0298B8B8 */ cpu->lr = cpu->r[0]; /* 0298B8BC */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0298B8BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0298B8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298B8C4 */ return; } // fn_0298B8C8 @ 0x298b8c8 void Gambit_fn_0298B8C8(CPUState* cpu) { uint32_t _t0, _t1; L_0298B8C8: ; // 0x298b8c8 /* 0298B8C8 */ _t0 = cpu->r[3] + 0x00000000u; /* 0298B8C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0); /* 0298B8CC */ cpu->r[0] = cpu->r[0] | 0x00000002u; /* 0298B8D0 */ _t1 = cpu->r[3] + 0x00000000u; /* 0298B8D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298B8D4 */ return; } // fn_0298B8D8 @ 0x298b8d8 void Gambit_fn_0298B8D8(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_0298B8D8: ; // 0x298b8d8 /* 0298B8D8 */ cpu->r[0] = cpu->lr; /* 0298B8DC */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0298B8DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B8DC */ cpu->r[1] = _t0; /* 0298B8E0 */ _t1 = cpu->r[1] + 0x0000001Cu; /* 0298B8E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298B8E4 */ cpu->r[31] = cpu->r[3]; /* 0298B8E8 */ _t2 = cpu->r[1] + 0x00000024u; /* 0298B8E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298B8EC */ _t3 = cpu->r[31] + 0x0000021Cu; /* 0298B8EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0298B8F0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298B8F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B8F4 */ _t5 = _t4 & 0x00000001u; /* 0298B8F4 */ if (_t5) goto L_0298B900; else goto L_0298B8F8; L_0298B8F8: ; // 0x298b8f8 /* 0298B8F8 */ cpu->r[3] = cpu->r[31]; /* 0298B8FC */ Gambit_fn_0298B8C8(cpu); L_0298B900: ; // 0x298b900 /* 0298B900 */ cpu->r[3] = cpu->r[31]; /* 0298B904 */ Gambit_fn_02C928D4(cpu); /* 0298B908 */ _t6 = cpu->r[31] + 0x00000220u; /* 0298B908 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0298B90C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298B910 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B910 */ _t8 = _t7 & 0x00000001u; /* 0298B910 */ if (_t8) goto L_0298B9C4; else goto L_0298B914; L_0298B914: ; // 0x298b914 /* 0298B914 */ _t9 = cpu->r[31] + 0x00000000u; /* 0298B914 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0298B918 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0298B918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B91C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B91C */ _t11 = _t10 & 0x00000001u; /* 0298B91C */ if (_t11) goto L_0298B938; else goto L_0298B920; L_0298B920: ; // 0x298b920 /* 0298B920 */ _t12 = cpu->r[31] + 0x00000088u; /* 0298B920 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 0298B924 */ _t13 = cpu->r[12] + 0x0000002Cu; /* 0298B924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298B928 */ cpu->ctr = cpu->r[0]; /* 0298B92C */ cpu->r[3] = cpu->r[31]; /* 0298B930 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B934 */ _t14 = cpu->r[31] + 0x00000220u; /* 0298B934 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); L_0298B938: ; // 0x298b938 /* 0298B938 */ _t15 = cpu->r[12] + 0x0000007Du; /* 0298B938 */ cpu->r[10] = rbrew_read8(cpu->mem, _t15); /* 0298B93C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu); /* 0298B93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B940 */ cpu->r[11] = cpu->r[12] + 0x0000007Du; /* 0298B944 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B944 */ _t17 = _t16 & 0x00000001u; /* 0298B944 */ if (_t17) goto L_0298B9C4; else goto L_0298B948; L_0298B948: ; // 0x298b948 /* 0298B948 */ _t18 = cpu->r[11] + 0x00000000u; /* 0298B948 */ cpu->r[10] = rbrew_read8(cpu->mem, _t18); /* 0298B94C */ cpu->r[12] = 0x10150000u; /* 0298B950 */ _t19 = cpu->r[12] + 0xFFFFF2ECu; /* 0298B950 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19); /* 0298B954 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Bu, 0x00000019u); /* 0298B958 */ _t20 = cpu->r[11] + 0x00000000u; /* 0298B958 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[10]); /* 0298B95C */ _t21 = cpu->r[31] + 0x000003F4u; /* 0298B95C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t21); /* 0298B960 */ _t22 = cpu->r[31] + 0x00000424u; /* 0298B960 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22); /* 0298B964 */ _t23 = cpu->r[31] + 0x0000038Cu; /* 0298B964 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23); /* 0298B968 */ _t24 = cpu->r[31] + 0x00000428u; /* 0298B968 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24); /* 0298B96C */ cpu->f[2] = cpu->f[12] * cpu->f[9]; /* 0298B970 */ _t25 = cpu->r[31] + 0x000003ACu; /* 0298B970 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25); /* 0298B974 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 0298B974 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]); /* 0298B978 */ cpu->f[1] = cpu->f[13] * cpu->f[11]; /* 0298B97C */ _t27 = cpu->r[31] + 0x0000042Cu; /* 0298B97C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27); /* 0298B980 */ _t28 = cpu->r[31] + 0x00000404u; /* 0298B980 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28); /* 0298B984 */ cpu->f[4] = cpu->f[13] * cpu->f[12]; /* 0298B988 */ _t29 = cpu->r[31] + 0x00000414u; /* 0298B988 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t29); /* 0298B98C */ _t30 = cpu->r[31] + 0x00000220u; /* 0298B98C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 0298B990 */ cpu->f[3] = cpu->f[10] * cpu->f[11]; /* 0298B994 */ _t31 = cpu->r[31] + 0x000003BCu; /* 0298B994 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t31); /* 0298B998 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0298B99C */ _t32 = cpu->r[1] + 0x00000010u; /* 0298B99C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]); /* 0298B9A0 */ cpu->r[3] = cpu->r[31]; /* 0298B9A4 */ _t33 = cpu->r[31] + 0x00000000u; /* 0298B9A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 0298B9A8 */ cpu->f[5] = cpu->f[13] * cpu->f[10]; /* 0298B9AC */ _t34 = cpu->r[1] + 0x00000014u; /* 0298B9AC */ rbrew_write_f32(cpu->mem, _t34, cpu->f[8]); /* 0298B9B0 */ cpu->r[0] = cpu->r[0] | 0x00000004u; /* 0298B9B4 */ _t35 = cpu->r[1] + 0x00000008u; /* 0298B9B4 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]); /* 0298B9B8 */ cpu->r[4] = cpu->r[11] + 0x00000034u; /* 0298B9BC */ _t36 = cpu->r[31] + 0x00000000u; /* 0298B9BC */ rbrew_write32(cpu->mem, _t36, cpu->r[0]); /* 0298B9C0 */ Gambit_fn_02C929BC(cpu); L_0298B9C4: ; // 0x298b9c4 /* 0298B9C4 */ _t37 = cpu->r[1] + 0x00000024u; /* 0298B9C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0298B9C8 */ _t38 = cpu->r[1] + 0x0000001Cu; /* 0298B9C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38); /* 0298B9CC */ cpu->lr = cpu->r[0]; /* 0298B9D0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298B9D4 */ return; } // fn_0298B8DC @ 0x298b8dc void Gambit_fn_0298B8DC(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_0298B8DC: ; // 0x298b8dc /* 0298B8DC */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0298B8DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B8DC */ cpu->r[1] = _t0; /* 0298B8E0 */ _t1 = cpu->r[1] + 0x0000001Cu; /* 0298B8E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298B8E4 */ cpu->r[31] = cpu->r[3]; /* 0298B8E8 */ _t2 = cpu->r[1] + 0x00000024u; /* 0298B8E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298B8EC */ _t3 = cpu->r[31] + 0x0000021Cu; /* 0298B8EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0298B8F0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298B8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298B8F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B8F4 */ _t5 = _t4 & 0x00000001u; /* 0298B8F4 */ if (_t5) goto L_0298B900; else goto L_0298B8F8; L_0298B8F8: ; // 0x298b8f8 /* 0298B8F8 */ cpu->r[3] = cpu->r[31]; /* 0298B8FC */ Gambit_fn_0298B8C8(cpu); L_0298B900: ; // 0x298b900 /* 0298B900 */ cpu->r[3] = cpu->r[31]; /* 0298B904 */ Gambit_fn_02C928D4(cpu); /* 0298B908 */ _t6 = cpu->r[31] + 0x00000220u; /* 0298B908 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0298B90C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298B910 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B910 */ _t8 = _t7 & 0x00000001u; /* 0298B910 */ if (_t8) goto L_0298B9C4; else goto L_0298B914; L_0298B914: ; // 0x298b914 /* 0298B914 */ _t9 = cpu->r[31] + 0x00000000u; /* 0298B914 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0298B918 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0298B918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B91C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B91C */ _t11 = _t10 & 0x00000001u; /* 0298B91C */ if (_t11) goto L_0298B938; else goto L_0298B920; L_0298B920: ; // 0x298b920 /* 0298B920 */ _t12 = cpu->r[31] + 0x00000088u; /* 0298B920 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12); /* 0298B924 */ _t13 = cpu->r[12] + 0x0000002Cu; /* 0298B924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298B928 */ cpu->ctr = cpu->r[0]; /* 0298B92C */ cpu->r[3] = cpu->r[31]; /* 0298B930 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298B934 */ _t14 = cpu->r[31] + 0x00000220u; /* 0298B934 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); L_0298B938: ; // 0x298b938 /* 0298B938 */ _t15 = cpu->r[12] + 0x0000007Du; /* 0298B938 */ cpu->r[10] = rbrew_read8(cpu->mem, _t15); /* 0298B93C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu); /* 0298B93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298B940 */ cpu->r[11] = cpu->r[12] + 0x0000007Du; /* 0298B944 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298B944 */ _t17 = _t16 & 0x00000001u; /* 0298B944 */ if (_t17) goto L_0298B9C4; else goto L_0298B948; L_0298B948: ; // 0x298b948 /* 0298B948 */ _t18 = cpu->r[11] + 0x00000000u; /* 0298B948 */ cpu->r[10] = rbrew_read8(cpu->mem, _t18); /* 0298B94C */ cpu->r[12] = 0x10150000u; /* 0298B950 */ _t19 = cpu->r[12] + 0xFFFFF2ECu; /* 0298B950 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19); /* 0298B954 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Bu, 0x00000019u); /* 0298B958 */ _t20 = cpu->r[11] + 0x00000000u; /* 0298B958 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[10]); /* 0298B95C */ _t21 = cpu->r[31] + 0x000003F4u; /* 0298B95C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t21); /* 0298B960 */ _t22 = cpu->r[31] + 0x00000424u; /* 0298B960 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22); /* 0298B964 */ _t23 = cpu->r[31] + 0x0000038Cu; /* 0298B964 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23); /* 0298B968 */ _t24 = cpu->r[31] + 0x00000428u; /* 0298B968 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24); /* 0298B96C */ cpu->f[2] = cpu->f[12] * cpu->f[9]; /* 0298B970 */ _t25 = cpu->r[31] + 0x000003ACu; /* 0298B970 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25); /* 0298B974 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 0298B974 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]); /* 0298B978 */ cpu->f[1] = cpu->f[13] * cpu->f[11]; /* 0298B97C */ _t27 = cpu->r[31] + 0x0000042Cu; /* 0298B97C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27); /* 0298B980 */ _t28 = cpu->r[31] + 0x00000404u; /* 0298B980 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28); /* 0298B984 */ cpu->f[4] = cpu->f[13] * cpu->f[12]; /* 0298B988 */ _t29 = cpu->r[31] + 0x00000414u; /* 0298B988 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t29); /* 0298B98C */ _t30 = cpu->r[31] + 0x00000220u; /* 0298B98C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 0298B990 */ cpu->f[3] = cpu->f[10] * cpu->f[11]; /* 0298B994 */ _t31 = cpu->r[31] + 0x000003BCu; /* 0298B994 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t31); /* 0298B998 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0298B99C */ _t32 = cpu->r[1] + 0x00000010u; /* 0298B99C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]); /* 0298B9A0 */ cpu->r[3] = cpu->r[31]; /* 0298B9A4 */ _t33 = cpu->r[31] + 0x00000000u; /* 0298B9A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 0298B9A8 */ cpu->f[5] = cpu->f[13] * cpu->f[10]; /* 0298B9AC */ _t34 = cpu->r[1] + 0x00000014u; /* 0298B9AC */ rbrew_write_f32(cpu->mem, _t34, cpu->f[8]); /* 0298B9B0 */ cpu->r[0] = cpu->r[0] | 0x00000004u; /* 0298B9B4 */ _t35 = cpu->r[1] + 0x00000008u; /* 0298B9B4 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]); /* 0298B9B8 */ cpu->r[4] = cpu->r[11] + 0x00000034u; /* 0298B9BC */ _t36 = cpu->r[31] + 0x00000000u; /* 0298B9BC */ rbrew_write32(cpu->mem, _t36, cpu->r[0]); /* 0298B9C0 */ Gambit_fn_02C929BC(cpu); L_0298B9C4: ; // 0x298b9c4 /* 0298B9C4 */ _t37 = cpu->r[1] + 0x00000024u; /* 0298B9C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0298B9C8 */ _t38 = cpu->r[1] + 0x0000001Cu; /* 0298B9C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38); /* 0298B9CC */ cpu->lr = cpu->r[0]; /* 0298B9D0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298B9D4 */ return; } // fn_0298B9D8 @ 0x298b9d8 void Gambit_fn_0298B9D8(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; L_0298B9D8: ; // 0x298b9d8 /* 0298B9D8 */ _t0 = cpu->r[1] + 0xFFFFFEA8u; /* 0298B9D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298B9D8 */ cpu->r[1] = _t0; /* 0298B9DC */ _t1 = cpu->r[1] + 0x00000128u; /* 0298B9DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]); /* 0298B9E0 */ /* nop */ /* 0298B9E4 */ _t2 = cpu->r[1] + 0x00000148u; /* 0298B9E4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]); /* 0298B9E8 */ /* nop */ /* 0298B9EC */ /* nop */ /* 0298B9F0 */ cpu->r[0] = cpu->lr; /* 0298B9F4 */ _t3 = cpu->r[1] + 0x00000138u; /* 0298B9F4 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]); /* 0298B9F8 */ _t4 = cpu->r[1] + 0x00000130u; /* 0298B9F8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]); /* 0298B9FC */ /* nop */ /* 0298BA00 */ _t5 = cpu->r[1] + 0x00000150u; /* 0298BA00 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]); /* 0298BA04 */ _t6 = cpu->r[1] + 0x00000140u; /* 0298BA04 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]); /* 0298BA08 */ cpu->r[31] = cpu->r[3]; /* 0298BA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298BA0C */ _t7 = cpu->r[1] + 0x0000015Cu; /* 0298BA0C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0298BA10 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BA10 */ _t9 = _t8 & 0x00000001u; /* 0298BA10 */ if (_t9) goto L_0298BA14; else goto L_0298BA24; L_0298BA14: ; // 0x298ba14 /* 0298BA14 */ cpu->r[3] = 0x00000430u; /* 0298BA18 */ Gambit_fn_02801A78(cpu); /* 0298BA1C */ cpu->r[31] = cpu->r[3]; /* 0298BA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298BA20 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BA20 */ _t11 = _t10 & 0x00000001u; /* 0298BA20 */ if (_t11) goto L_0298C178; else goto L_0298BA24; L_0298BA24: ; // 0x298ba24 /* 0298BA24 */ cpu->r[3] = cpu->r[31]; /* 0298BA28 */ Gambit_fn_02C92694(cpu); /* 0298BA2C */ cpu->r[29] = 0x10150000u; /* 0298BA30 */ cpu->r[5] = 0x10150000u; /* 0298BA34 */ cpu->r[3] = cpu->r[31] + 0x00000090u; /* 0298BA38 */ cpu->r[29] = cpu->r[29] + 0xFFFFF0BCu; /* 0298BA3C */ cpu->r[5] = cpu->r[5] + 0xFFFFF0E4u; /* 0298BA40 */ cpu->r[0] = 0x10150000u; /* 0298BA44 */ cpu->r[30] = 0x00000000u; /* 0298BA48 */ _t12 = cpu->r[31] + 0x0000008Cu; /* 0298BA48 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]); /* 0298BA4C */ cpu->r[0] = cpu->r[0] + 0xFFFFF348u; /* 0298BA50 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0298BA54 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0298BA54 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]); /* 0298BA58 */ cpu->r[5] = cpu->r[30]; /* 0298BA5C */ _t14 = cpu->r[1] + 0x00000008u; /* 0298BA5C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); /* 0298BA60 */ Gambit_fn_0295166C(cpu); /* 0298BA64 */ cpu->r[7] = 0x10150000u; /* 0298BA68 */ cpu->r[9] = 0x10150000u; /* 0298BA6C */ cpu->r[7] = cpu->r[7] + 0xFFFFF450u; /* 0298BA70 */ cpu->r[9] = cpu->r[9] + 0xFFFFF490u; /* 0298BA74 */ _t15 = cpu->r[31] + 0x00000088u; /* 0298BA74 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]); /* 0298BA78 */ cpu->r[8] = 0x10150000u; /* 0298BA7C */ _t16 = cpu->r[31] + 0x000000B0u; /* 0298BA7C */ rbrew_write32(cpu->mem, _t16, cpu->r[9]); /* 0298BA80 */ cpu->r[8] = cpu->r[8] + 0xFFFFF480u; /* 0298BA84 */ cpu->r[3] = cpu->r[31] + 0x0000021Cu; /* 0298BA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BA88 */ _t17 = cpu->r[31] + 0x0000008Cu; /* 0298BA88 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]); /* 0298BA8C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BA8C */ _t19 = _t18 & 0x00000001u; /* 0298BA8C */ if (_t19) goto L_0298BA90; else goto L_0298BAA0; L_0298BA90: ; // 0x298ba90 /* 0298BA90 */ cpu->r[3] = 0x00000004u; /* 0298BA94 */ Gambit_fn_02801A78(cpu); /* 0298BA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BA9C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BA9C */ _t21 = _t20 & 0x00000001u; /* 0298BA9C */ if (_t21) goto L_0298BAA4; else goto L_0298BAA0; L_0298BAA0: ; // 0x298baa0 /* 0298BAA0 */ _t22 = cpu->r[3] + 0x00000000u; /* 0298BAA0 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]); L_0298BAA4: ; // 0x298baa4 /* 0298BAA4 */ cpu->r[3] = cpu->r[31] + 0x00000224u; /* 0298BAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BAA8 */ _t23 = cpu->r[31] + 0x00000220u; /* 0298BAA8 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]); /* 0298BAAC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BAAC */ _t25 = _t24 & 0x00000001u; /* 0298BAAC */ if (_t25) goto L_0298BAB0; else goto L_0298BAC0; L_0298BAB0: ; // 0x298bab0 /* 0298BAB0 */ cpu->r[3] = 0x0000000Cu; /* 0298BAB4 */ Gambit_fn_02801A78(cpu); /* 0298BAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BABC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BABC */ _t27 = _t26 & 0x00000001u; /* 0298BABC */ if (_t27) goto L_0298BAE4; else goto L_0298BAC0; L_0298BAC0: ; // 0x298bac0 /* 0298BAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BAC4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BAC4 */ _t29 = _t28 & 0x00000001u; /* 0298BAC4 */ if (_t29) goto L_0298BAC8; else goto L_0298BAD8; L_0298BAC8: ; // 0x298bac8 /* 0298BAC8 */ cpu->r[3] = 0x0000000Cu; /* 0298BACC */ Gambit_fn_02801A78(cpu); /* 0298BAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BAD4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BAD4 */ _t31 = _t30 & 0x00000001u; /* 0298BAD4 */ if (_t31) goto L_0298BAE4; else goto L_0298BAD8; L_0298BAD8: ; // 0x298bad8 /* 0298BAD8 */ _t32 = cpu->r[3] + 0x00000004u; /* 0298BAD8 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]); /* 0298BADC */ _t33 = cpu->r[3] + 0x00000000u; /* 0298BADC */ rbrew_write32(cpu->mem, _t33, cpu->r[30]); /* 0298BAE0 */ _t34 = cpu->r[3] + 0x00000008u; /* 0298BAE0 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]); L_0298BAE4: ; // 0x298bae4 /* 0298BAE4 */ cpu->r[12] = 0x10150000u; /* 0298BAE8 */ cpu->r[11] = 0x10150000u; /* 0298BAEC */ _t35 = cpu->r[12] + 0xFFFFF2F0u; /* 0298BAEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35); /* 0298BAF0 */ cpu->r[28] = cpu->r[31] + 0x0000023Cu; /* 0298BAF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298BAF4 */ _t36 = cpu->r[11] + 0xFFFFF2ECu; /* 0298BAF4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t36); /* 0298BAF8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BAF8 */ _t38 = _t37 & 0x00000001u; /* 0298BAF8 */ if (_t38) goto L_0298BAFC; else goto L_0298BB0C; L_0298BAFC: ; // 0x298bafc /* 0298BAFC */ cpu->r[3] = 0x00000058u; /* 0298BB00 */ Gambit_fn_02801A78(cpu); /* 0298BB04 */ cpu->r[28] = cpu->r[3]; /* 0298BB04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298BB08 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BB08 */ _t40 = _t39 & 0x00000001u; /* 0298BB08 */ if (_t40) goto L_0298BC18; else goto L_0298BB0C; L_0298BB0C: ; // 0x298bb0c /* 0298BB0C */ cpu->r[0] = 0x10110000u; /* 0298BB10 */ cpu->r[11] = 0x101F0000u; /* 0298BB14 */ cpu->r[5] = 0x00000003u; /* 0298BB18 */ cpu->r[0] = cpu->r[0] + 0x000043ACu; /* 0298BB1C */ cpu->r[11] = cpu->r[11] + 0x00005E2Cu; /* 0298BB20 */ cpu->r[12] = cpu->r[28] + 0xFFFFFFFCu; /* 0298BB24 */ cpu->ctr = cpu->r[5]; /* 0298BB28 */ _t41 = cpu->r[28] + 0x00000030u; /* 0298BB28 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]); L_0298BB2C: ; // 0x298bb2c /* 0298BB2C */ _t42 = cpu->r[11] + 0x00000004u; /* 0298BB2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 0298BB30 */ _t43 = cpu->r[12] + 0x00000004u; /* 0298BB30 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]); /* 0298BB34 */ _t44 = cpu->r[11] + 0x00000008u; /* 0298BB34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t44); /* 0298BB38 */ _t45 = cpu->r[12] + 0x00000008u; /* 0298BB38 */ rbrew_write32(cpu->mem, _t45, cpu->r[7]); /* 0298BB3C */ _t46 = cpu->r[11] + 0x0000000Cu; /* 0298BB3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t46); /* 0298BB40 */ _t47 = cpu->r[12] + 0x0000000Cu; /* 0298BB40 */ rbrew_write32(cpu->mem, _t47, cpu->r[8]); /* 0298BB44 */ _t48 = cpu->r[11] + 0x00000010u; /* 0298BB44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t48); /* 0298BB44 */ cpu->r[11] = _t48; /* 0298BB48 */ _t49 = cpu->r[12] + 0x00000010u; /* 0298BB48 */ rbrew_write32(cpu->mem, _t49, cpu->r[9]); /* 0298BB48 */ cpu->r[12] = _t49; /* 0298BB4C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0298BB4C */ _t50 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0298BB4C */ _t51 = _t50 >> (0x00000002u & 31u); /* 0298BB4C */ _t52 = _t51 & 0x00000001u; /* 0298BB4C */ if (_t52) goto L_0298BB2C; else goto L_0298BB50; L_0298BB50: ; // 0x298bb50 /* 0298BB50 */ cpu->r[10] = 0x10110000u; /* 0298BB54 */ cpu->r[10] = cpu->r[10] + 0x000043D4u; /* 0298BB58 */ cpu->r[3] = cpu->r[28] + 0x00000034u; /* 0298BB58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BB5C */ _t53 = cpu->r[28] + 0x00000030u; /* 0298BB5C */ rbrew_write32(cpu->mem, _t53, cpu->r[10]); /* 0298BB60 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BB60 */ _t55 = _t54 & 0x00000001u; /* 0298BB60 */ if (_t55) goto L_0298BB64; else goto L_0298BB74; L_0298BB64: ; // 0x298bb64 /* 0298BB64 */ cpu->r[3] = 0x0000000Cu; /* 0298BB68 */ Gambit_fn_02801A78(cpu); /* 0298BB6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BB70 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BB70 */ _t57 = _t56 & 0x00000001u; /* 0298BB70 */ if (_t57) goto L_0298BBA0; else goto L_0298BB74; L_0298BB74: ; // 0x298bb74 /* 0298BB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BB78 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BB78 */ _t59 = _t58 & 0x00000001u; /* 0298BB78 */ if (_t59) goto L_0298BB7C; else goto L_0298BB8C; L_0298BB7C: ; // 0x298bb7c /* 0298BB7C */ cpu->r[3] = 0x0000000Cu; /* 0298BB80 */ Gambit_fn_02801A78(cpu); /* 0298BB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BB88 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BB88 */ _t61 = _t60 & 0x00000001u; /* 0298BB88 */ if (_t61) goto L_0298BBA0; else goto L_0298BB8C; L_0298BB8C: ; // 0x298bb8c /* 0298BB8C */ _t62 = cpu->r[3] + 0x00000004u; /* 0298BB8C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[31]); /* 0298BB90 */ cpu->r[10] = 0x10150000u; /* 0298BB94 */ _t63 = cpu->r[10] + 0xFFFFF2F4u; /* 0298BB94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63); /* 0298BB98 */ _t64 = cpu->r[3] + 0x00000000u; /* 0298BB98 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[31]); /* 0298BB9C */ _t65 = cpu->r[3] + 0x00000008u; /* 0298BB9C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[0]); L_0298BBA0: ; // 0x298bba0 /* 0298BBA0 */ cpu->r[3] = cpu->r[28] + 0x00000040u; /* 0298BBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BBA4 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BBA4 */ _t67 = _t66 & 0x00000001u; /* 0298BBA4 */ if (_t67) goto L_0298BBA8; else goto L_0298BBB8; L_0298BBA8: ; // 0x298bba8 /* 0298BBA8 */ cpu->r[3] = 0x0000000Cu; /* 0298BBAC */ Gambit_fn_02801A78(cpu); /* 0298BBB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BBB4 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BBB4 */ _t69 = _t68 & 0x00000001u; /* 0298BBB4 */ if (_t69) goto L_0298BBDC; else goto L_0298BBB8; L_0298BBB8: ; // 0x298bbb8 /* 0298BBB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BBBC */ _t70 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BBBC */ _t71 = _t70 & 0x00000001u; /* 0298BBBC */ if (_t71) goto L_0298BBC0; else goto L_0298BBD0; L_0298BBC0: ; // 0x298bbc0 /* 0298BBC0 */ cpu->r[3] = 0x0000000Cu; /* 0298BBC4 */ Gambit_fn_02801A78(cpu); /* 0298BBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BBCC */ _t72 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BBCC */ _t73 = _t72 & 0x00000001u; /* 0298BBCC */ if (_t73) goto L_0298BBDC; else goto L_0298BBD0; L_0298BBD0: ; // 0x298bbd0 /* 0298BBD0 */ _t74 = cpu->r[3] + 0x00000004u; /* 0298BBD0 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[31]); /* 0298BBD4 */ _t75 = cpu->r[3] + 0x00000000u; /* 0298BBD4 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[31]); /* 0298BBD8 */ _t76 = cpu->r[3] + 0x00000008u; /* 0298BBD8 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[31]); L_0298BBDC: ; // 0x298bbdc /* 0298BBDC */ cpu->r[3] = cpu->r[28] + 0x0000004Cu; /* 0298BBDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BBE0 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BBE0 */ _t78 = _t77 & 0x00000001u; /* 0298BBE0 */ if (_t78) goto L_0298BBE4; else goto L_0298BBF4; L_0298BBE4: ; // 0x298bbe4 /* 0298BBE4 */ cpu->r[3] = 0x0000000Cu; /* 0298BBE8 */ Gambit_fn_02801A78(cpu); /* 0298BBEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BBF0 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BBF0 */ _t80 = _t79 & 0x00000001u; /* 0298BBF0 */ if (_t80) goto L_0298BC18; else goto L_0298BBF4; L_0298BBF4: ; // 0x298bbf4 /* 0298BBF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BBF8 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BBF8 */ _t82 = _t81 & 0x00000001u; /* 0298BBF8 */ if (_t82) goto L_0298BBFC; else goto L_0298BC0C; L_0298BBFC: ; // 0x298bbfc /* 0298BBFC */ cpu->r[3] = 0x0000000Cu; /* 0298BC00 */ Gambit_fn_02801A78(cpu); /* 0298BC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BC08 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BC08 */ _t84 = _t83 & 0x00000001u; /* 0298BC08 */ if (_t84) goto L_0298BC18; else goto L_0298BC0C; L_0298BC0C: ; // 0x298bc0c /* 0298BC0C */ _t85 = cpu->r[3] + 0x00000004u; /* 0298BC0C */ rbrew_write_f32(cpu->mem, _t85, cpu->f[30]); /* 0298BC10 */ _t86 = cpu->r[3] + 0x00000000u; /* 0298BC10 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[31]); /* 0298BC14 */ _t87 = cpu->r[3] + 0x00000008u; /* 0298BC14 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[31]); L_0298BC18: ; // 0x298bc18 /* 0298BC18 */ cpu->r[3] = cpu->r[31] + 0x00000294u; /* 0298BC1C */ Gambit_fn_0281C814(cpu); /* 0298BC20 */ cpu->r[3] = cpu->r[31] + 0x00000340u; /* 0298BC20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BC24 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BC24 */ _t89 = _t88 & 0x00000001u; /* 0298BC24 */ if (_t89) goto L_0298BC28; else goto L_0298BC38; L_0298BC28: ; // 0x298bc28 /* 0298BC28 */ cpu->r[3] = 0x0000000Cu; /* 0298BC2C */ Gambit_fn_02801A78(cpu); /* 0298BC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BC34 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BC34 */ _t91 = _t90 & 0x00000001u; /* 0298BC34 */ if (_t91) goto L_0298BC5C; else goto L_0298BC38; L_0298BC38: ; // 0x298bc38 /* 0298BC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BC3C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BC3C */ _t93 = _t92 & 0x00000001u; /* 0298BC3C */ if (_t93) goto L_0298BC40; else goto L_0298BC50; L_0298BC40: ; // 0x298bc40 /* 0298BC40 */ cpu->r[3] = 0x0000000Cu; /* 0298BC44 */ Gambit_fn_02801A78(cpu); /* 0298BC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BC4C */ _t94 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BC4C */ _t95 = _t94 & 0x00000001u; /* 0298BC4C */ if (_t95) goto L_0298BC5C; else goto L_0298BC50; L_0298BC50: ; // 0x298bc50 /* 0298BC50 */ _t96 = cpu->r[3] + 0x00000004u; /* 0298BC50 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[31]); /* 0298BC54 */ _t97 = cpu->r[3] + 0x00000000u; /* 0298BC54 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[31]); /* 0298BC58 */ _t98 = cpu->r[3] + 0x00000008u; /* 0298BC58 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[31]); L_0298BC5C: ; // 0x298bc5c /* 0298BC5C */ cpu->r[12] = 0x10150000u; /* 0298BC60 */ cpu->r[3] = cpu->r[31] + 0x0000034Cu; /* 0298BC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BC64 */ _t99 = cpu->r[12] + 0xFFFFF2F8u; /* 0298BC64 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t99); /* 0298BC68 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BC68 */ _t101 = _t100 & 0x00000001u; /* 0298BC68 */ if (_t101) goto L_0298BC6C; else goto L_0298BC7C; L_0298BC6C: ; // 0x298bc6c /* 0298BC6C */ cpu->r[3] = 0x0000000Cu; /* 0298BC70 */ Gambit_fn_02801A78(cpu); /* 0298BC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BC78 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BC78 */ _t103 = _t102 & 0x00000001u; /* 0298BC78 */ if (_t103) goto L_0298BCA0; else goto L_0298BC7C; L_0298BC7C: ; // 0x298bc7c /* 0298BC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BC80 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BC80 */ _t105 = _t104 & 0x00000001u; /* 0298BC80 */ if (_t105) goto L_0298BC84; else goto L_0298BC94; L_0298BC84: ; // 0x298bc84 /* 0298BC84 */ cpu->r[3] = 0x0000000Cu; /* 0298BC88 */ Gambit_fn_02801A78(cpu); /* 0298BC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BC90 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BC90 */ _t107 = _t106 & 0x00000001u; /* 0298BC90 */ if (_t107) goto L_0298BCA0; else goto L_0298BC94; L_0298BC94: ; // 0x298bc94 /* 0298BC94 */ _t108 = cpu->r[3] + 0x00000004u; /* 0298BC94 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[29]); /* 0298BC98 */ _t109 = cpu->r[3] + 0x00000000u; /* 0298BC98 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[31]); /* 0298BC9C */ _t110 = cpu->r[3] + 0x00000008u; /* 0298BC9C */ rbrew_write_f32(cpu->mem, _t110, cpu->f[31]); L_0298BCA0: ; // 0x298bca0 /* 0298BCA0 */ cpu->r[3] = cpu->r[31] + 0x00000358u; /* 0298BCA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BCA4 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BCA4 */ _t112 = _t111 & 0x00000001u; /* 0298BCA4 */ if (_t112) goto L_0298BCA8; else goto L_0298BCB8; L_0298BCA8: ; // 0x298bca8 /* 0298BCA8 */ cpu->r[3] = 0x0000000Cu; /* 0298BCAC */ Gambit_fn_02801A78(cpu); /* 0298BCB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BCB4 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BCB4 */ _t114 = _t113 & 0x00000001u; /* 0298BCB4 */ if (_t114) goto L_0298BCDC; else goto L_0298BCB8; L_0298BCB8: ; // 0x298bcb8 /* 0298BCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BCBC */ _t115 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BCBC */ _t116 = _t115 & 0x00000001u; /* 0298BCBC */ if (_t116) goto L_0298BCC0; else goto L_0298BCD0; L_0298BCC0: ; // 0x298bcc0 /* 0298BCC0 */ cpu->r[3] = 0x0000000Cu; /* 0298BCC4 */ Gambit_fn_02801A78(cpu); /* 0298BCC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298BCCC */ _t117 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BCCC */ _t118 = _t117 & 0x00000001u; /* 0298BCCC */ if (_t118) goto L_0298BCDC; else goto L_0298BCD0; L_0298BCD0: ; // 0x298bcd0 /* 0298BCD0 */ _t119 = cpu->r[3] + 0x00000004u; /* 0298BCD0 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[31]); /* 0298BCD4 */ _t120 = cpu->r[3] + 0x00000000u; /* 0298BCD4 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[31]); /* 0298BCD8 */ _t121 = cpu->r[3] + 0x00000008u; /* 0298BCD8 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[29]); L_0298BCDC: ; // 0x298bcdc /* 0298BCDC */ cpu->r[3] = cpu->r[31] + 0x00000364u; /* 0298BCE0 */ Gambit_fn_02952E48(cpu); /* 0298BCE4 */ cpu->r[0] = 0x10150000u; /* 0298BCE8 */ cpu->r[28] = cpu->r[31] + 0x00000380u; /* 0298BCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298BCEC */ cpu->r[0] = cpu->r[0] + 0xFFFFF2A4u; /* 0298BCF0 */ cpu->r[12] = 0x10150000u; /* 0298BCF4 */ _t122 = cpu->r[31] + 0x0000037Cu; /* 0298BCF4 */ rbrew_write32(cpu->mem, _t122, cpu->r[0]); /* 0298BCF8 */ cpu->r[12] = cpu->r[12] + 0xFFFFF330u; /* 0298BCFC */ _t123 = cpu->r[1] + 0x0000001Cu; /* 0298BCFC */ rbrew_write32(cpu->mem, _t123, cpu->r[29]); /* 0298BD00 */ cpu->r[0] = 0x10150000u; /* 0298BD04 */ cpu->r[26] = 0x10150000u; /* 0298BD08 */ _t124 = cpu->r[1] + 0x00000010u; /* 0298BD08 */ rbrew_write32(cpu->mem, _t124, cpu->r[12]); /* 0298BD0C */ cpu->r[0] = cpu->r[0] + 0xFFFFF354u; /* 0298BD10 */ cpu->r[25] = 0x10150000u; /* 0298BD14 */ _t125 = cpu->r[1] + 0x00000014u; /* 0298BD14 */ rbrew_write32(cpu->mem, _t125, cpu->r[29]); /* 0298BD18 */ cpu->r[26] = cpu->r[26] + 0xFFFFF0B9u; /* 0298BD1C */ cpu->r[25] = cpu->r[25] + 0xFFFFF184u; /* 0298BD20 */ _t126 = cpu->r[1] + 0x00000018u; /* 0298BD20 */ rbrew_write32(cpu->mem, _t126, cpu->r[0]); /* 0298BD24 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BD24 */ _t128 = _t127 & 0x00000001u; /* 0298BD24 */ if (_t128) goto L_0298BD28; else goto L_0298BD38; L_0298BD28: ; // 0x298bd28 /* 0298BD28 */ cpu->r[3] = 0x00000010u; /* 0298BD2C */ Gambit_fn_02801A78(cpu); /* 0298BD30 */ cpu->r[28] = cpu->r[3]; /* 0298BD30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298BD34 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BD34 */ _t130 = _t129 & 0x00000001u; /* 0298BD34 */ if (_t130) goto L_0298BD68; else goto L_0298BD38; L_0298BD38: ; // 0x298bd38 /* 0298BD38 */ cpu->r[3] = cpu->r[28]; /* 0298BD3C */ Gambit_fn_0294F7F0(cpu); /* 0298BD40 */ _t131 = cpu->r[28] + 0x00000008u; /* 0298BD40 */ rbrew_write32(cpu->mem, _t131, cpu->r[25]); /* 0298BD44 */ cpu->r[7] = cpu->r[31] + 0x00000364u; /* 0298BD48 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 0298BD4C */ _t132 = cpu->r[1] + 0x000000BCu; /* 0298BD4C */ rbrew_write32(cpu->mem, _t132, cpu->r[29]); /* 0298BD50 */ cpu->r[5] = cpu->r[1] + 0x00000018u; /* 0298BD54 */ cpu->r[3] = cpu->r[28]; /* 0298BD58 */ _t133 = cpu->r[1] + 0x000000B8u; /* 0298BD58 */ rbrew_write32(cpu->mem, _t133, cpu->r[26]); /* 0298BD5C */ cpu->r[6] = cpu->r[1] + 0x000000B8u; /* 0298BD60 */ Gambit_fn_0294F794(cpu); /* 0298BD64 */ _t134 = cpu->r[28] + 0x0000000Cu; /* 0298BD64 */ rbrew_write_f32(cpu->mem, _t134, cpu->f[31]); L_0298BD68: ; // 0x298bd68 /* 0298BD68 */ cpu->r[7] = 0x10150000u; /* 0298BD6C */ _t135 = cpu->r[1] + 0x00000024u; /* 0298BD6C */ rbrew_write32(cpu->mem, _t135, cpu->r[29]); /* 0298BD70 */ cpu->r[7] = cpu->r[7] + 0xFFFFF390u; /* 0298BD74 */ _t136 = cpu->r[1] + 0x0000002Cu; /* 0298BD74 */ rbrew_write32(cpu->mem, _t136, cpu->r[29]); /* 0298BD78 */ cpu->r[6] = 0x10150000u; /* 0298BD7C */ _t137 = cpu->r[1] + 0x00000028u; /* 0298BD7C */ rbrew_write32(cpu->mem, _t137, cpu->r[7]); /* 0298BD80 */ cpu->r[6] = cpu->r[6] + 0xFFFFF360u; /* 0298BD84 */ cpu->r[28] = cpu->r[31] + 0x00000390u; /* 0298BD84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298BD88 */ _t138 = cpu->r[1] + 0x00000020u; /* 0298BD88 */ rbrew_write32(cpu->mem, _t138, cpu->r[6]); /* 0298BD8C */ _t139 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BD8C */ _t140 = _t139 & 0x00000001u; /* 0298BD8C */ if (_t140) goto L_0298BD90; else goto L_0298BDA0; L_0298BD90: ; // 0x298bd90 /* 0298BD90 */ cpu->r[3] = 0x00000010u; /* 0298BD94 */ Gambit_fn_02801A78(cpu); /* 0298BD98 */ cpu->r[28] = cpu->r[3]; /* 0298BD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298BD9C */ _t141 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BD9C */ _t142 = _t141 & 0x00000001u; /* 0298BD9C */ if (_t142) goto L_0298BDE0; else goto L_0298BDA0; L_0298BDA0: ; // 0x298bda0 /* 0298BDA0 */ cpu->r[3] = cpu->r[28]; /* 0298BDA4 */ Gambit_fn_0294F7F0(cpu); /* 0298BDA8 */ cpu->r[8] = 0x10150000u; /* 0298BDAC */ cpu->r[3] = cpu->r[28]; /* 0298BDB0 */ cpu->r[8] = cpu->r[8] + 0xFFFFF0F4u; /* 0298BDB4 */ cpu->r[9] = 0x10150000u; /* 0298BDB8 */ cpu->r[7] = cpu->r[31] + 0x00000364u; /* 0298BDBC */ _t143 = cpu->r[28] + 0x00000008u; /* 0298BDBC */ rbrew_write32(cpu->mem, _t143, cpu->r[8]); /* 0298BDC0 */ cpu->r[9] = cpu->r[9] + 0xFFFFF0B8u; /* 0298BDC4 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298BDC8 */ _t144 = cpu->r[1] + 0x000000C4u; /* 0298BDC8 */ rbrew_write32(cpu->mem, _t144, cpu->r[29]); /* 0298BDCC */ cpu->r[6] = cpu->r[1] + 0x000000C0u; /* 0298BDD0 */ cpu->r[5] = cpu->r[1] + 0x00000028u; /* 0298BDD4 */ _t145 = cpu->r[1] + 0x000000C0u; /* 0298BDD4 */ rbrew_write32(cpu->mem, _t145, cpu->r[9]); /* 0298BDD8 */ Gambit_fn_0294F794(cpu); /* 0298BDDC */ _t146 = cpu->r[28] + 0x0000000Cu; /* 0298BDDC */ rbrew_write32(cpu->mem, _t146, cpu->r[30]); L_0298BDE0: ; // 0x298bde0 /* 0298BDE0 */ cpu->r[0] = 0x10150000u; /* 0298BDE4 */ _t147 = cpu->r[1] + 0x00000034u; /* 0298BDE4 */ rbrew_write32(cpu->mem, _t147, cpu->r[29]); /* 0298BDE8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF3A8u; /* 0298BDEC */ _t148 = cpu->r[1] + 0x0000003Cu; /* 0298BDEC */ rbrew_write32(cpu->mem, _t148, cpu->r[29]); /* 0298BDF0 */ cpu->r[10] = 0x10150000u; /* 0298BDF4 */ _t149 = cpu->r[1] + 0x00000038u; /* 0298BDF4 */ rbrew_write32(cpu->mem, _t149, cpu->r[0]); /* 0298BDF8 */ cpu->r[10] = cpu->r[10] + 0xFFFFF39Cu; /* 0298BDFC */ cpu->r[30] = cpu->r[31] + 0x000003A0u; /* 0298BDFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298BE00 */ _t150 = cpu->r[1] + 0x00000030u; /* 0298BE00 */ rbrew_write32(cpu->mem, _t150, cpu->r[10]); /* 0298BE04 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BE04 */ _t152 = _t151 & 0x00000001u; /* 0298BE04 */ if (_t152) goto L_0298BE08; else goto L_0298BE18; L_0298BE08: ; // 0x298be08 /* 0298BE08 */ cpu->r[3] = 0x00000010u; /* 0298BE0C */ Gambit_fn_02801A78(cpu); /* 0298BE10 */ cpu->r[30] = cpu->r[3]; /* 0298BE10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298BE14 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BE14 */ _t154 = _t153 & 0x00000001u; /* 0298BE14 */ if (_t154) goto L_0298BE48; else goto L_0298BE18; L_0298BE18: ; // 0x298be18 /* 0298BE18 */ cpu->r[3] = cpu->r[30]; /* 0298BE1C */ Gambit_fn_0294F7F0(cpu); /* 0298BE20 */ _t155 = cpu->r[30] + 0x00000008u; /* 0298BE20 */ rbrew_write32(cpu->mem, _t155, cpu->r[25]); /* 0298BE24 */ cpu->r[7] = cpu->r[31] + 0x00000364u; /* 0298BE28 */ cpu->r[4] = cpu->r[1] + 0x00000030u; /* 0298BE2C */ _t156 = cpu->r[1] + 0x000000CCu; /* 0298BE2C */ rbrew_write32(cpu->mem, _t156, cpu->r[29]); /* 0298BE30 */ cpu->r[5] = cpu->r[1] + 0x00000038u; /* 0298BE34 */ cpu->r[3] = cpu->r[30]; /* 0298BE38 */ _t157 = cpu->r[1] + 0x000000C8u; /* 0298BE38 */ rbrew_write32(cpu->mem, _t157, cpu->r[26]); /* 0298BE3C */ cpu->r[6] = cpu->r[1] + 0x000000C8u; /* 0298BE40 */ Gambit_fn_0294F794(cpu); /* 0298BE44 */ _t158 = cpu->r[30] + 0x0000000Cu; /* 0298BE44 */ rbrew_write_f32(cpu->mem, _t158, cpu->f[30]); L_0298BE48: ; // 0x298be48 /* 0298BE48 */ cpu->r[0] = 0x10150000u; /* 0298BE4C */ _t159 = cpu->r[1] + 0x00000044u; /* 0298BE4C */ rbrew_write32(cpu->mem, _t159, cpu->r[29]); /* 0298BE50 */ cpu->r[0] = cpu->r[0] + 0xFFFFF3CCu; /* 0298BE54 */ _t160 = cpu->r[1] + 0x0000004Cu; /* 0298BE54 */ rbrew_write32(cpu->mem, _t160, cpu->r[29]); /* 0298BE58 */ cpu->r[12] = 0x10150000u; /* 0298BE5C */ _t161 = cpu->r[1] + 0x00000048u; /* 0298BE5C */ rbrew_write32(cpu->mem, _t161, cpu->r[0]); /* 0298BE60 */ cpu->r[12] = cpu->r[12] + 0xFFFFF3BCu; /* 0298BE64 */ cpu->r[30] = cpu->r[31] + 0x000003B0u; /* 0298BE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298BE68 */ _t162 = cpu->r[1] + 0x00000040u; /* 0298BE68 */ rbrew_write32(cpu->mem, _t162, cpu->r[12]); /* 0298BE6C */ _t163 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BE6C */ _t164 = _t163 & 0x00000001u; /* 0298BE6C */ if (_t164) goto L_0298BE70; else goto L_0298BE80; L_0298BE70: ; // 0x298be70 /* 0298BE70 */ cpu->r[3] = 0x00000010u; /* 0298BE74 */ Gambit_fn_02801A78(cpu); /* 0298BE78 */ cpu->r[30] = cpu->r[3]; /* 0298BE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298BE7C */ _t165 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BE7C */ _t166 = _t165 & 0x00000001u; /* 0298BE7C */ if (_t166) goto L_0298BEB8; else goto L_0298BE80; L_0298BE80: ; // 0x298be80 /* 0298BE80 */ cpu->r[3] = cpu->r[30]; /* 0298BE84 */ Gambit_fn_0294F7F0(cpu); /* 0298BE88 */ cpu->r[3] = cpu->r[30]; /* 0298BE8C */ _t167 = cpu->r[30] + 0x00000008u; /* 0298BE8C */ rbrew_write32(cpu->mem, _t167, cpu->r[25]); /* 0298BE90 */ cpu->r[7] = cpu->r[31] + 0x00000364u; /* 0298BE94 */ cpu->r[4] = cpu->r[1] + 0x00000040u; /* 0298BE98 */ _t168 = cpu->r[1] + 0x000000D4u; /* 0298BE98 */ rbrew_write32(cpu->mem, _t168, cpu->r[29]); /* 0298BE9C */ cpu->r[5] = cpu->r[1] + 0x00000048u; /* 0298BEA0 */ cpu->r[6] = cpu->r[1] + 0x000000D0u; /* 0298BEA4 */ _t169 = cpu->r[1] + 0x000000D0u; /* 0298BEA4 */ rbrew_write32(cpu->mem, _t169, cpu->r[26]); /* 0298BEA8 */ Gambit_fn_0294F794(cpu); /* 0298BEAC */ cpu->r[9] = 0x10150000u; /* 0298BEB0 */ _t170 = cpu->r[9] + 0xFFFFF2FCu; /* 0298BEB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t170); /* 0298BEB4 */ _t171 = cpu->r[30] + 0x0000000Cu; /* 0298BEB4 */ rbrew_write_f32(cpu->mem, _t171, cpu->f[13]); L_0298BEB8: ; // 0x298beb8 /* 0298BEB8 */ cpu->r[0] = 0x10150000u; /* 0298BEBC */ _t172 = cpu->r[1] + 0x00000054u; /* 0298BEBC */ rbrew_write32(cpu->mem, _t172, cpu->r[29]); /* 0298BEC0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF3E0u; /* 0298BEC4 */ _t173 = cpu->r[1] + 0x0000005Cu; /* 0298BEC4 */ rbrew_write32(cpu->mem, _t173, cpu->r[29]); /* 0298BEC8 */ cpu->r[5] = 0x10150000u; /* 0298BECC */ _t174 = cpu->r[1] + 0x00000058u; /* 0298BECC */ rbrew_write32(cpu->mem, _t174, cpu->r[0]); /* 0298BED0 */ cpu->r[5] = cpu->r[5] + 0xFFFFF33Cu; /* 0298BED4 */ cpu->r[30] = cpu->r[31] + 0x000003C0u; /* 0298BED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298BED8 */ _t175 = cpu->r[1] + 0x00000050u; /* 0298BED8 */ rbrew_write32(cpu->mem, _t175, cpu->r[5]); /* 0298BEDC */ _t176 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BEDC */ _t177 = _t176 & 0x00000001u; /* 0298BEDC */ if (_t177) goto L_0298BEE0; else goto L_0298BEF0; L_0298BEE0: ; // 0x298bee0 /* 0298BEE0 */ cpu->r[3] = 0x00000010u; /* 0298BEE4 */ Gambit_fn_02801A78(cpu); /* 0298BEE8 */ cpu->r[30] = cpu->r[3]; /* 0298BEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298BEEC */ _t178 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BEEC */ _t179 = _t178 & 0x00000001u; /* 0298BEEC */ if (_t179) goto L_0298BF28; else goto L_0298BEF0; L_0298BEF0: ; // 0x298bef0 /* 0298BEF0 */ cpu->r[3] = cpu->r[30]; /* 0298BEF4 */ Gambit_fn_0294F7F0(cpu); /* 0298BEF8 */ cpu->r[3] = cpu->r[30]; /* 0298BEFC */ _t180 = cpu->r[30] + 0x00000008u; /* 0298BEFC */ rbrew_write32(cpu->mem, _t180, cpu->r[25]); /* 0298BF00 */ cpu->r[7] = cpu->r[31] + 0x00000364u; /* 0298BF04 */ cpu->r[4] = cpu->r[1] + 0x00000050u; /* 0298BF08 */ _t181 = cpu->r[1] + 0x000000DCu; /* 0298BF08 */ rbrew_write32(cpu->mem, _t181, cpu->r[29]); /* 0298BF0C */ cpu->r[5] = cpu->r[1] + 0x00000058u; /* 0298BF10 */ cpu->r[6] = cpu->r[1] + 0x000000D8u; /* 0298BF14 */ _t182 = cpu->r[1] + 0x000000D8u; /* 0298BF14 */ rbrew_write32(cpu->mem, _t182, cpu->r[26]); /* 0298BF18 */ Gambit_fn_0294F794(cpu); /* 0298BF1C */ cpu->r[6] = 0x10150000u; /* 0298BF20 */ _t183 = cpu->r[6] + 0xFFFFF300u; /* 0298BF20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t183); /* 0298BF24 */ _t184 = cpu->r[30] + 0x0000000Cu; /* 0298BF24 */ rbrew_write_f32(cpu->mem, _t184, cpu->f[12]); L_0298BF28: ; // 0x298bf28 /* 0298BF28 */ _t185 = cpu->r[1] + 0x00000064u; /* 0298BF28 */ rbrew_write32(cpu->mem, _t185, cpu->r[29]); /* 0298BF2C */ cpu->r[7] = 0x10150000u; /* 0298BF30 */ cpu->r[30] = cpu->r[31] + 0x000003D0u; /* 0298BF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298BF34 */ _t186 = cpu->r[1] + 0x0000006Cu; /* 0298BF34 */ rbrew_write32(cpu->mem, _t186, cpu->r[29]); /* 0298BF38 */ cpu->r[7] = cpu->r[7] + 0xFFFFF320u; /* 0298BF3C */ cpu->r[28] = 0x10150000u; /* 0298BF40 */ cpu->r[8] = 0x10150000u; /* 0298BF44 */ _t187 = cpu->r[1] + 0x00000060u; /* 0298BF44 */ rbrew_write32(cpu->mem, _t187, cpu->r[7]); /* 0298BF48 */ cpu->r[27] = 0x10150000u; /* 0298BF4C */ cpu->r[8] = cpu->r[8] + 0xFFFFF3F4u; /* 0298BF50 */ cpu->r[27] = cpu->r[27] + 0xFFFFF214u; /* 0298BF54 */ cpu->r[28] = cpu->r[28] + 0xFFFFF0BAu; /* 0298BF58 */ _t188 = cpu->r[1] + 0x00000068u; /* 0298BF58 */ rbrew_write32(cpu->mem, _t188, cpu->r[8]); /* 0298BF5C */ _t189 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BF5C */ _t190 = _t189 & 0x00000001u; /* 0298BF5C */ if (_t190) goto L_0298BF60; else goto L_0298BF70; L_0298BF60: ; // 0x298bf60 /* 0298BF60 */ cpu->r[3] = 0x00000018u; /* 0298BF64 */ Gambit_fn_02801A78(cpu); /* 0298BF68 */ cpu->r[30] = cpu->r[3]; /* 0298BF68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298BF6C */ _t191 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BF6C */ _t192 = _t191 & 0x00000001u; /* 0298BF6C */ if (_t192) goto L_0298BFA8; else goto L_0298BF70; L_0298BF70: ; // 0x298bf70 /* 0298BF70 */ cpu->r[3] = cpu->r[30]; /* 0298BF74 */ Gambit_fn_0294F7F0(cpu); /* 0298BF78 */ _t193 = cpu->r[30] + 0x00000008u; /* 0298BF78 */ rbrew_write32(cpu->mem, _t193, cpu->r[27]); /* 0298BF7C */ cpu->r[7] = cpu->r[31] + 0x00000364u; /* 0298BF80 */ cpu->r[4] = cpu->r[1] + 0x00000060u; /* 0298BF84 */ _t194 = cpu->r[1] + 0x000000E4u; /* 0298BF84 */ rbrew_write32(cpu->mem, _t194, cpu->r[29]); /* 0298BF88 */ cpu->r[5] = cpu->r[1] + 0x00000068u; /* 0298BF8C */ cpu->r[3] = cpu->r[30]; /* 0298BF90 */ _t195 = cpu->r[1] + 0x000000E0u; /* 0298BF90 */ rbrew_write32(cpu->mem, _t195, cpu->r[28]); /* 0298BF94 */ cpu->r[6] = cpu->r[1] + 0x000000E0u; /* 0298BF98 */ Gambit_fn_0294F794(cpu); /* 0298BF9C */ _t196 = cpu->r[30] + 0x0000000Cu; /* 0298BF9C */ rbrew_write_f32(cpu->mem, _t196, cpu->f[31]); /* 0298BFA0 */ _t197 = cpu->r[30] + 0x00000014u; /* 0298BFA0 */ rbrew_write_f32(cpu->mem, _t197, cpu->f[31]); /* 0298BFA4 */ _t198 = cpu->r[30] + 0x00000010u; /* 0298BFA4 */ rbrew_write_f32(cpu->mem, _t198, cpu->f[31]); L_0298BFA8: ; // 0x298bfa8 /* 0298BFA8 */ cpu->r[12] = 0x10150000u; /* 0298BFAC */ _t199 = cpu->r[1] + 0x0000007Cu; /* 0298BFAC */ rbrew_write32(cpu->mem, _t199, cpu->r[29]); /* 0298BFB0 */ cpu->r[9] = 0x10150000u; /* 0298BFB4 */ _t200 = cpu->r[12] + 0xFFFFF304u; /* 0298BFB4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t200); /* 0298BFB8 */ cpu->r[9] = cpu->r[9] + 0xFFFFF310u; /* 0298BFBC */ _t201 = cpu->r[1] + 0x00000074u; /* 0298BFBC */ rbrew_write32(cpu->mem, _t201, cpu->r[29]); /* 0298BFC0 */ cpu->r[10] = 0x10150000u; /* 0298BFC4 */ _t202 = cpu->r[1] + 0x00000070u; /* 0298BFC4 */ rbrew_write32(cpu->mem, _t202, cpu->r[9]); /* 0298BFC8 */ cpu->r[10] = cpu->r[10] + 0xFFFFF36Cu; /* 0298BFCC */ cpu->r[30] = cpu->r[31] + 0x000003E8u; /* 0298BFCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298BFD0 */ _t203 = cpu->r[1] + 0x00000078u; /* 0298BFD0 */ rbrew_write32(cpu->mem, _t203, cpu->r[10]); /* 0298BFD4 */ _t204 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BFD4 */ _t205 = _t204 & 0x00000001u; /* 0298BFD4 */ if (_t205) goto L_0298BFD8; else goto L_0298BFE8; L_0298BFD8: ; // 0x298bfd8 /* 0298BFD8 */ cpu->r[3] = 0x00000010u; /* 0298BFDC */ Gambit_fn_02801A78(cpu); /* 0298BFE0 */ cpu->r[30] = cpu->r[3]; /* 0298BFE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298BFE4 */ _t206 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298BFE4 */ _t207 = _t206 & 0x00000001u; /* 0298BFE4 */ if (_t207) goto L_0298C018; else goto L_0298BFE8; L_0298BFE8: ; // 0x298bfe8 /* 0298BFE8 */ cpu->r[3] = cpu->r[30]; /* 0298BFEC */ Gambit_fn_0294F7F0(cpu); /* 0298BFF0 */ _t208 = cpu->r[30] + 0x00000008u; /* 0298BFF0 */ rbrew_write32(cpu->mem, _t208, cpu->r[25]); /* 0298BFF4 */ cpu->r[7] = cpu->r[31] + 0x00000364u; /* 0298BFF8 */ cpu->r[4] = cpu->r[1] + 0x00000070u; /* 0298BFFC */ _t209 = cpu->r[1] + 0x000000ECu; /* 0298BFFC */ rbrew_write32(cpu->mem, _t209, cpu->r[29]); /* 0298C000 */ cpu->r[5] = cpu->r[1] + 0x00000078u; /* 0298C004 */ cpu->r[3] = cpu->r[30]; /* 0298C008 */ _t210 = cpu->r[1] + 0x000000E8u; /* 0298C008 */ rbrew_write32(cpu->mem, _t210, cpu->r[26]); /* 0298C00C */ cpu->r[6] = cpu->r[1] + 0x000000E8u; /* 0298C010 */ Gambit_fn_0294F794(cpu); /* 0298C014 */ _t211 = cpu->r[30] + 0x0000000Cu; /* 0298C014 */ rbrew_write_f32(cpu->mem, _t211, cpu->f[31]); L_0298C018: ; // 0x298c018 /* 0298C018 */ cpu->r[0] = 0x10150000u; /* 0298C01C */ _t212 = cpu->r[1] + 0x00000084u; /* 0298C01C */ rbrew_write32(cpu->mem, _t212, cpu->r[29]); /* 0298C020 */ cpu->r[0] = cpu->r[0] + 0xFFFFF378u; /* 0298C024 */ _t213 = cpu->r[1] + 0x0000008Cu; /* 0298C024 */ rbrew_write32(cpu->mem, _t213, cpu->r[29]); /* 0298C028 */ cpu->r[11] = 0x10150000u; /* 0298C02C */ _t214 = cpu->r[1] + 0x00000088u; /* 0298C02C */ rbrew_write32(cpu->mem, _t214, cpu->r[0]); /* 0298C030 */ cpu->r[11] = cpu->r[11] + 0xFFFFF318u; /* 0298C034 */ cpu->r[30] = cpu->r[31] + 0x000003F8u; /* 0298C034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298C038 */ _t215 = cpu->r[1] + 0x00000080u; /* 0298C038 */ rbrew_write32(cpu->mem, _t215, cpu->r[11]); /* 0298C03C */ _t216 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C03C */ _t217 = _t216 & 0x00000001u; /* 0298C03C */ if (_t217) goto L_0298C040; else goto L_0298C050; L_0298C040: ; // 0x298c040 /* 0298C040 */ cpu->r[3] = 0x00000010u; /* 0298C044 */ Gambit_fn_02801A78(cpu); /* 0298C048 */ cpu->r[30] = cpu->r[3]; /* 0298C048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298C04C */ _t218 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C04C */ _t219 = _t218 & 0x00000001u; /* 0298C04C */ if (_t219) goto L_0298C080; else goto L_0298C050; L_0298C050: ; // 0x298c050 /* 0298C050 */ cpu->r[3] = cpu->r[30]; /* 0298C054 */ Gambit_fn_0294F7F0(cpu); /* 0298C058 */ _t220 = cpu->r[30] + 0x00000008u; /* 0298C058 */ rbrew_write32(cpu->mem, _t220, cpu->r[25]); /* 0298C05C */ cpu->r[7] = cpu->r[31] + 0x00000364u; /* 0298C060 */ cpu->r[4] = cpu->r[1] + 0x00000080u; /* 0298C064 */ _t221 = cpu->r[1] + 0x000000F4u; /* 0298C064 */ rbrew_write32(cpu->mem, _t221, cpu->r[29]); /* 0298C068 */ cpu->r[5] = cpu->r[1] + 0x00000088u; /* 0298C06C */ cpu->r[3] = cpu->r[30]; /* 0298C070 */ _t222 = cpu->r[1] + 0x000000F0u; /* 0298C070 */ rbrew_write32(cpu->mem, _t222, cpu->r[26]); /* 0298C074 */ cpu->r[6] = cpu->r[1] + 0x000000F0u; /* 0298C078 */ Gambit_fn_0294F794(cpu); /* 0298C07C */ _t223 = cpu->r[30] + 0x0000000Cu; /* 0298C07C */ rbrew_write_f32(cpu->mem, _t223, cpu->f[31]); L_0298C080: ; // 0x298c080 /* 0298C080 */ cpu->r[0] = 0x10150000u; /* 0298C084 */ _t224 = cpu->r[1] + 0x00000094u; /* 0298C084 */ rbrew_write32(cpu->mem, _t224, cpu->r[29]); /* 0298C088 */ cpu->r[0] = cpu->r[0] + 0xFFFFF404u; /* 0298C08C */ _t225 = cpu->r[1] + 0x0000009Cu; /* 0298C08C */ rbrew_write32(cpu->mem, _t225, cpu->r[29]); /* 0298C090 */ cpu->r[5] = 0x10150000u; /* 0298C094 */ _t226 = cpu->r[1] + 0x00000098u; /* 0298C094 */ rbrew_write32(cpu->mem, _t226, cpu->r[0]); /* 0298C098 */ cpu->r[5] = cpu->r[5] + 0xFFFFF308u; /* 0298C09C */ cpu->r[30] = cpu->r[31] + 0x00000408u; /* 0298C09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298C0A0 */ _t227 = cpu->r[1] + 0x00000090u; /* 0298C0A0 */ rbrew_write32(cpu->mem, _t227, cpu->r[5]); /* 0298C0A4 */ _t228 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C0A4 */ _t229 = _t228 & 0x00000001u; /* 0298C0A4 */ if (_t229) goto L_0298C0A8; else goto L_0298C0B8; L_0298C0A8: ; // 0x298c0a8 /* 0298C0A8 */ cpu->r[3] = 0x00000010u; /* 0298C0AC */ Gambit_fn_02801A78(cpu); /* 0298C0B0 */ cpu->r[30] = cpu->r[3]; /* 0298C0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298C0B4 */ _t230 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C0B4 */ _t231 = _t230 & 0x00000001u; /* 0298C0B4 */ if (_t231) goto L_0298C0E8; else goto L_0298C0B8; L_0298C0B8: ; // 0x298c0b8 /* 0298C0B8 */ cpu->r[3] = cpu->r[30]; /* 0298C0BC */ Gambit_fn_0294F7F0(cpu); /* 0298C0C0 */ _t232 = cpu->r[30] + 0x00000008u; /* 0298C0C0 */ rbrew_write32(cpu->mem, _t232, cpu->r[25]); /* 0298C0C4 */ cpu->r[7] = cpu->r[31] + 0x00000364u; /* 0298C0C8 */ cpu->r[4] = cpu->r[1] + 0x00000090u; /* 0298C0CC */ _t233 = cpu->r[1] + 0x000000FCu; /* 0298C0CC */ rbrew_write32(cpu->mem, _t233, cpu->r[29]); /* 0298C0D0 */ cpu->r[5] = cpu->r[1] + 0x00000098u; /* 0298C0D4 */ cpu->r[3] = cpu->r[30]; /* 0298C0D8 */ _t234 = cpu->r[1] + 0x000000F8u; /* 0298C0D8 */ rbrew_write32(cpu->mem, _t234, cpu->r[26]); /* 0298C0DC */ cpu->r[6] = cpu->r[1] + 0x000000F8u; /* 0298C0E0 */ Gambit_fn_0294F794(cpu); /* 0298C0E4 */ _t235 = cpu->r[30] + 0x0000000Cu; /* 0298C0E4 */ rbrew_write_f32(cpu->mem, _t235, cpu->f[30]); L_0298C0E8: ; // 0x298c0e8 /* 0298C0E8 */ cpu->r[10] = 0x10150000u; /* 0298C0EC */ _t236 = cpu->r[1] + 0x000000A4u; /* 0298C0EC */ rbrew_write32(cpu->mem, _t236, cpu->r[29]); /* 0298C0F0 */ cpu->r[10] = cpu->r[10] + 0xFFFFF410u; /* 0298C0F4 */ _t237 = cpu->r[1] + 0x000000ACu; /* 0298C0F4 */ rbrew_write32(cpu->mem, _t237, cpu->r[29]); /* 0298C0F8 */ cpu->r[0] = 0x10150000u; /* 0298C0FC */ _t238 = cpu->r[1] + 0x000000A8u; /* 0298C0FC */ rbrew_write32(cpu->mem, _t238, cpu->r[10]); /* 0298C100 */ cpu->r[0] = cpu->r[0] + 0xFFFFF384u; /* 0298C104 */ cpu->r[30] = cpu->r[31] + 0x00000418u; /* 0298C104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298C108 */ _t239 = cpu->r[1] + 0x000000A0u; /* 0298C108 */ rbrew_write32(cpu->mem, _t239, cpu->r[0]); /* 0298C10C */ _t240 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C10C */ _t241 = _t240 & 0x00000001u; /* 0298C10C */ if (_t241) goto L_0298C110; else goto L_0298C120; L_0298C110: ; // 0x298c110 /* 0298C110 */ cpu->r[3] = 0x00000018u; /* 0298C114 */ Gambit_fn_02801A78(cpu); /* 0298C118 */ cpu->r[30] = cpu->r[3]; /* 0298C118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298C11C */ _t242 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C11C */ _t243 = _t242 & 0x00000001u; /* 0298C11C */ if (_t243) goto L_0298C158; else goto L_0298C120; L_0298C120: ; // 0x298c120 /* 0298C120 */ cpu->r[3] = cpu->r[30]; /* 0298C124 */ Gambit_fn_0294F7F0(cpu); /* 0298C128 */ _t244 = cpu->r[30] + 0x00000008u; /* 0298C128 */ rbrew_write32(cpu->mem, _t244, cpu->r[27]); /* 0298C12C */ cpu->r[7] = cpu->r[31] + 0x00000364u; /* 0298C130 */ cpu->r[4] = cpu->r[1] + 0x000000A0u; /* 0298C134 */ _t245 = cpu->r[1] + 0x00000104u; /* 0298C134 */ rbrew_write32(cpu->mem, _t245, cpu->r[29]); /* 0298C138 */ cpu->r[5] = cpu->r[1] + 0x000000A8u; /* 0298C13C */ cpu->r[3] = cpu->r[30]; /* 0298C140 */ _t246 = cpu->r[1] + 0x00000100u; /* 0298C140 */ rbrew_write32(cpu->mem, _t246, cpu->r[28]); /* 0298C144 */ cpu->r[6] = cpu->r[1] + 0x00000100u; /* 0298C148 */ Gambit_fn_0294F794(cpu); /* 0298C14C */ _t247 = cpu->r[30] + 0x0000000Cu; /* 0298C14C */ rbrew_write_f32(cpu->mem, _t247, cpu->f[30]); /* 0298C150 */ _t248 = cpu->r[30] + 0x00000014u; /* 0298C150 */ rbrew_write_f32(cpu->mem, _t248, cpu->f[30]); /* 0298C154 */ _t249 = cpu->r[30] + 0x00000010u; /* 0298C154 */ rbrew_write_f32(cpu->mem, _t249, cpu->f[30]); L_0298C158: ; // 0x298c158 /* 0298C158 */ cpu->r[0] = 0x10150000u; /* 0298C15C */ _t250 = cpu->r[1] + 0x000000B4u; /* 0298C15C */ rbrew_write32(cpu->mem, _t250, cpu->r[29]); /* 0298C160 */ cpu->r[3] = cpu->r[31] + 0x00000090u; /* 0298C164 */ cpu->r[0] = cpu->r[0] + 0xFFFFF424u; /* 0298C168 */ cpu->r[4] = cpu->r[31] + 0x00000364u; /* 0298C16C */ cpu->r[5] = cpu->r[1] + 0x000000B0u; /* 0298C170 */ _t251 = cpu->r[1] + 0x000000B0u; /* 0298C170 */ rbrew_write32(cpu->mem, _t251, cpu->r[0]); /* 0298C174 */ Gambit_fn_0295225C(cpu); L_0298C178: ; // 0x298c178 /* 0298C178 */ cpu->r[3] = cpu->r[31]; /* 0298C17C */ /* nop */ /* 0298C180 */ _t252 = cpu->r[1] + 0x00000130u; /* 0298C180 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t252); /* 0298C184 */ _t253 = cpu->r[1] + 0x00000140u; /* 0298C184 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t253); /* 0298C188 */ _t254 = cpu->r[1] + 0x00000128u; /* 0298C188 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t254); /* 0298C18C */ _t255 = cpu->r[1] + 0x00000150u; /* 0298C18C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t255); /* 0298C190 */ _t256 = cpu->r[1] + 0x00000138u; /* 0298C190 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t256); /* 0298C194 */ _t257 = cpu->r[1] + 0x00000148u; /* 0298C194 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t257); /* 0298C198 */ _t258 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298C198 */ _t259 = _t258 & 0x00000001u; /* 0298C198 */ if (_t259) goto L_0298C19C; // else: addr-0 trap, fall-through L_0298C19C: ; // 0x298c19c /* 0298C19C */ _t260 = cpu->r[1] + 0x0000015Cu; /* 0298C19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t260); /* 0298C1A0 */ cpu->lr = cpu->r[0]; /* 0298C1A4 */ cpu->r[1] = cpu->r[1] + 0x00000158u; /* 0298C1A8 */ return; } // fn_0298C1AC @ 0x298c1ac void Gambit_fn_0298C1AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0298C1AC: ; // 0x298c1ac /* 0298C1AC */ cpu->r[0] = cpu->lr; /* 0298C1B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298C1B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298C1B0 */ cpu->r[1] = _t0; /* 0298C1B4 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298C1B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298C1B8 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298C1B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298C1BC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298C1BC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298C1C0 */ cpu->r[31] = cpu->r[4]; /* 0298C1C4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298C1C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298C1C8 */ cpu->r[29] = cpu->r[5]; /* 0298C1CC */ cpu->r[30] = cpu->r[3]; /* 0298C1D0 */ cpu->r[4] = cpu->r[29]; /* 0298C1D4 */ Gambit_fn_02C92840(cpu); /* 0298C1D8 */ cpu->r[3] = cpu->r[30] + 0x00000224u; /* 0298C1DC */ cpu->r[4] = cpu->r[31]; /* 0298C1E0 */ cpu->r[5] = cpu->r[29]; /* 0298C1E4 */ cpu->r[6] = 0x00000004u; /* 0298C1E8 */ Gambit_fn_028023CC(cpu); /* 0298C1EC */ cpu->r[5] = 0x00000004u; /* 0298C1F0 */ cpu->r[3] = 0x0000000Cu; /* 0298C1F4 */ cpu->r[4] = cpu->r[29]; /* 0298C1F8 */ Gambit_fn_02801AC8(cpu); /* 0298C1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C200 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C200 */ _t6 = _t5 & 0x00000001u; /* 0298C200 */ if (_t6) goto L_0298C208; else goto L_0298C204; L_0298C204: ; // 0x298c204 /* 0298C204 */ Gambit_fn_02999058(cpu); L_0298C208: ; // 0x298c208 /* 0298C208 */ cpu->r[4] = 0x00000040u; /* 0298C20C */ cpu->r[5] = cpu->r[29]; /* 0298C210 */ _t7 = cpu->r[30] + 0x00000230u; /* 0298C210 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]); /* 0298C214 */ Gambit_fn_0299915C(cpu); /* 0298C218 */ cpu->r[4] = cpu->r[29]; /* 0298C21C */ cpu->r[3] = 0x0000002Cu; /* 0298C220 */ cpu->r[5] = 0x00000004u; /* 0298C224 */ Gambit_fn_02801AC8(cpu); /* 0298C228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C22C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C22C */ _t9 = _t8 & 0x00000001u; /* 0298C22C */ if (_t9) goto L_0298C234; else goto L_0298C230; L_0298C230: ; // 0x298c230 /* 0298C230 */ Gambit_fn_0299707C(cpu); L_0298C234: ; // 0x298c234 /* 0298C234 */ cpu->r[4] = 0x00000040u; /* 0298C238 */ cpu->r[5] = cpu->r[29]; /* 0298C23C */ _t10 = cpu->r[30] + 0x00000234u; /* 0298C23C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]); /* 0298C240 */ Gambit_fn_029971C4(cpu); /* 0298C244 */ cpu->r[0] = 0x00000000u; /* 0298C248 */ _t11 = cpu->r[30] + 0x00000238u; /* 0298C248 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0298C24C */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0298C24C */ cpu->r[29] = rbrew_read32(cpu->mem, _t12); /* 0298C250 */ _t13 = cpu->r[1] + 0x0000001Cu; /* 0298C250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298C254 */ _t14 = cpu->r[1] + 0x00000010u; /* 0298C254 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0298C258 */ cpu->lr = cpu->r[0]; /* 0298C25C */ _t15 = cpu->r[1] + 0x00000014u; /* 0298C25C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0298C260 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298C264 */ cpu->r[3] = 0x00000001u; /* 0298C268 */ return; } // fn_0298C1B0 @ 0x298c1b0 void Gambit_fn_0298C1B0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0298C1B0: ; // 0x298c1b0 /* 0298C1B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298C1B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298C1B0 */ cpu->r[1] = _t0; /* 0298C1B4 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298C1B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298C1B8 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298C1B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298C1BC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298C1BC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298C1C0 */ cpu->r[31] = cpu->r[4]; /* 0298C1C4 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298C1C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298C1C8 */ cpu->r[29] = cpu->r[5]; /* 0298C1CC */ cpu->r[30] = cpu->r[3]; /* 0298C1D0 */ cpu->r[4] = cpu->r[29]; /* 0298C1D4 */ Gambit_fn_02C92840(cpu); /* 0298C1D8 */ cpu->r[3] = cpu->r[30] + 0x00000224u; /* 0298C1DC */ cpu->r[4] = cpu->r[31]; /* 0298C1E0 */ cpu->r[5] = cpu->r[29]; /* 0298C1E4 */ cpu->r[6] = 0x00000004u; /* 0298C1E8 */ Gambit_fn_028023CC(cpu); /* 0298C1EC */ cpu->r[5] = 0x00000004u; /* 0298C1F0 */ cpu->r[3] = 0x0000000Cu; /* 0298C1F4 */ cpu->r[4] = cpu->r[29]; /* 0298C1F8 */ Gambit_fn_02801AC8(cpu); /* 0298C1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C200 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C200 */ _t6 = _t5 & 0x00000001u; /* 0298C200 */ if (_t6) goto L_0298C208; else goto L_0298C204; L_0298C204: ; // 0x298c204 /* 0298C204 */ Gambit_fn_02999058(cpu); L_0298C208: ; // 0x298c208 /* 0298C208 */ cpu->r[4] = 0x00000040u; /* 0298C20C */ cpu->r[5] = cpu->r[29]; /* 0298C210 */ _t7 = cpu->r[30] + 0x00000230u; /* 0298C210 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]); /* 0298C214 */ Gambit_fn_0299915C(cpu); /* 0298C218 */ cpu->r[4] = cpu->r[29]; /* 0298C21C */ cpu->r[3] = 0x0000002Cu; /* 0298C220 */ cpu->r[5] = 0x00000004u; /* 0298C224 */ Gambit_fn_02801AC8(cpu); /* 0298C228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C22C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C22C */ _t9 = _t8 & 0x00000001u; /* 0298C22C */ if (_t9) goto L_0298C234; else goto L_0298C230; L_0298C230: ; // 0x298c230 /* 0298C230 */ Gambit_fn_0299707C(cpu); L_0298C234: ; // 0x298c234 /* 0298C234 */ cpu->r[4] = 0x00000040u; /* 0298C238 */ cpu->r[5] = cpu->r[29]; /* 0298C23C */ _t10 = cpu->r[30] + 0x00000234u; /* 0298C23C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]); /* 0298C240 */ Gambit_fn_029971C4(cpu); /* 0298C244 */ cpu->r[0] = 0x00000000u; /* 0298C248 */ _t11 = cpu->r[30] + 0x00000238u; /* 0298C248 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0298C24C */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0298C24C */ cpu->r[29] = rbrew_read32(cpu->mem, _t12); /* 0298C250 */ _t13 = cpu->r[1] + 0x0000001Cu; /* 0298C250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298C254 */ _t14 = cpu->r[1] + 0x00000010u; /* 0298C254 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0298C258 */ cpu->lr = cpu->r[0]; /* 0298C25C */ _t15 = cpu->r[1] + 0x00000014u; /* 0298C25C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0298C260 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298C264 */ cpu->r[3] = 0x00000001u; /* 0298C268 */ return; } // fn_0298C26C @ 0x298c26c void Gambit_fn_0298C26C(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_0298C26C: ; // 0x298c26c /* 0298C26C */ cpu->r[0] = cpu->lr; /* 0298C270 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298C270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298C270 */ cpu->r[1] = _t0; /* 0298C274 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298C274 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298C278 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298C278 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0298C27C */ cpu->r[30] = cpu->r[4]; /* 0298C27C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298C280 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298C280 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298C284 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298C284 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298C288 */ cpu->r[29] = cpu->r[3]; /* 0298C28C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C28C */ _t6 = _t5 & 0x00000001u; /* 0298C28C */ if (_t6) goto L_0298C290; else goto L_0298C2BC; L_0298C290: ; // 0x298c290 /* 0298C290 */ cpu->r[3] = 0x101D0000u; /* 0298C294 */ _t7 = cpu->r[3] + 0xFFFF98F0u; /* 0298C294 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 0298C298 */ Gambit_fn_02826F20(cpu); /* 0298C29C */ _t8 = cpu->r[1] + 0x00000008u; /* 0298C29C */ rbrew_write32(cpu->mem, _t8, cpu->r[3]); /* 0298C2A0 */ cpu->r[5] = 0x00000004u; /* 0298C2A4 */ cpu->r[4] = 0x00000430u; /* 0298C2A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298C2AC */ Gambit_fn_0297EA50(cpu); /* 0298C2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C2B4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C2B4 */ _t10 = _t9 & 0x00000001u; /* 0298C2B4 */ if (_t10) goto L_0298C2B8; else goto L_0298C2D8; L_0298C2B8: ; // 0x298c2b8 /* 0298C2B8 */ goto L_0298C318; L_0298C2BC: ; // 0x298c2bc /* 0298C2BC */ cpu->r[5] = 0x00000004u; /* 0298C2C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298C2C4 */ cpu->r[4] = 0x00000430u; /* 0298C2C8 */ _t11 = cpu->r[1] + 0x00000008u; /* 0298C2C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 0298C2CC */ Gambit_fn_0297EA50(cpu); /* 0298C2D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C2D4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C2D4 */ _t13 = _t12 & 0x00000001u; /* 0298C2D4 */ if (_t13) goto L_0298C318; else goto L_0298C2D8; L_0298C2D8: ; // 0x298c2d8 /* 0298C2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C2DC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C2DC */ _t15 = _t14 & 0x00000001u; /* 0298C2DC */ rbrew_dispatch(cpu, (_t15) ? 0x0298c2e0u : 0x0298b9d8u); return; /* 0298C2E0 */ _t16 = cpu->r[29] + 0x00000000u; /* 0298C2E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 0298C2E4 */ cpu->r[5] = cpu->r[30]; /* 0298C2E8 */ cpu->r[31] = cpu->r[3]; /* 0298C2EC */ Gambit_fn_0298C1AC(cpu); /* 0298C2F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C2F4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C2F4 */ _t18 = _t17 & 0x00000001u; /* 0298C2F4 */ if (_t18) goto L_0298C2F8; else goto L_0298C338; L_0298C2F8: ; // 0x298c2f8 /* 0298C2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298C2FC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C2FC */ _t20 = _t19 & 0x00000001u; /* 0298C2FC */ if (_t20) goto L_0298C318; else goto L_0298C300; L_0298C300: ; // 0x298c300 /* 0298C300 */ _t21 = cpu->r[31] + 0x00000088u; /* 0298C300 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21); /* 0298C304 */ _t22 = cpu->r[11] + 0x0000000Cu; /* 0298C304 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22); /* 0298C308 */ cpu->ctr = cpu->r[12]; /* 0298C30C */ cpu->r[3] = cpu->r[31]; /* 0298C310 */ cpu->r[4] = 0x00000003u; /* 0298C314 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298C318: ; // 0x298c318 /* 0298C318 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 0298C318 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 0298C31C */ _t24 = cpu->r[1] + 0x0000001Cu; /* 0298C31C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298C320 */ _t25 = cpu->r[1] + 0x00000010u; /* 0298C320 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 0298C324 */ cpu->lr = cpu->r[0]; /* 0298C328 */ _t26 = cpu->r[1] + 0x00000014u; /* 0298C328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 0298C32C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298C330 */ cpu->r[3] = 0x00000000u; /* 0298C334 */ return; L_0298C338: ; // 0x298c338 /* 0298C338 */ _t27 = cpu->r[31] + 0x00000000u; /* 0298C338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 0298C33C */ cpu->r[0] = cpu->r[0] | 0x00000001u; /* 0298C340 */ _t28 = cpu->r[31] + 0x00000000u; /* 0298C340 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]); /* 0298C344 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0298C344 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29); /* 0298C348 */ _t30 = cpu->r[1] + 0x0000001Cu; /* 0298C348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 0298C34C */ cpu->r[3] = cpu->r[31]; /* 0298C350 */ _t31 = cpu->r[1] + 0x00000010u; /* 0298C350 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31); /* 0298C354 */ cpu->lr = cpu->r[0]; /* 0298C358 */ _t32 = cpu->r[1] + 0x00000014u; /* 0298C358 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 0298C35C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298C360 */ return; } // fn_0298C270 @ 0x298c270 void Gambit_fn_0298C270(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_0298C270: ; // 0x298c270 /* 0298C270 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298C270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298C270 */ cpu->r[1] = _t0; /* 0298C274 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298C274 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298C278 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298C278 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0298C27C */ cpu->r[30] = cpu->r[4]; /* 0298C27C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298C280 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298C280 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298C284 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298C284 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298C288 */ cpu->r[29] = cpu->r[3]; /* 0298C28C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C28C */ _t6 = _t5 & 0x00000001u; /* 0298C28C */ if (_t6) goto L_0298C290; else goto L_0298C2BC; L_0298C290: ; // 0x298c290 /* 0298C290 */ cpu->r[3] = 0x101D0000u; /* 0298C294 */ _t7 = cpu->r[3] + 0xFFFF98F0u; /* 0298C294 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 0298C298 */ Gambit_fn_02826F20(cpu); /* 0298C29C */ _t8 = cpu->r[1] + 0x00000008u; /* 0298C29C */ rbrew_write32(cpu->mem, _t8, cpu->r[3]); /* 0298C2A0 */ cpu->r[5] = 0x00000004u; /* 0298C2A4 */ cpu->r[4] = 0x00000430u; /* 0298C2A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298C2AC */ Gambit_fn_0297EA50(cpu); /* 0298C2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C2B4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C2B4 */ _t10 = _t9 & 0x00000001u; /* 0298C2B4 */ if (_t10) goto L_0298C2B8; else goto L_0298C2D8; L_0298C2B8: ; // 0x298c2b8 /* 0298C2B8 */ goto L_0298C318; L_0298C2BC: ; // 0x298c2bc /* 0298C2BC */ cpu->r[5] = 0x00000004u; /* 0298C2C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298C2C4 */ cpu->r[4] = 0x00000430u; /* 0298C2C8 */ _t11 = cpu->r[1] + 0x00000008u; /* 0298C2C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 0298C2CC */ Gambit_fn_0297EA50(cpu); /* 0298C2D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C2D4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C2D4 */ _t13 = _t12 & 0x00000001u; /* 0298C2D4 */ if (_t13) goto L_0298C318; else goto L_0298C2D8; L_0298C2D8: ; // 0x298c2d8 /* 0298C2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C2DC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C2DC */ _t15 = _t14 & 0x00000001u; /* 0298C2DC */ rbrew_dispatch(cpu, (_t15) ? 0x0298c2e0u : 0x0298b9d8u); return; /* 0298C2E0 */ _t16 = cpu->r[29] + 0x00000000u; /* 0298C2E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16); /* 0298C2E4 */ cpu->r[5] = cpu->r[30]; /* 0298C2E8 */ cpu->r[31] = cpu->r[3]; /* 0298C2EC */ Gambit_fn_0298C1AC(cpu); /* 0298C2F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C2F4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C2F4 */ _t18 = _t17 & 0x00000001u; /* 0298C2F4 */ if (_t18) goto L_0298C2F8; else goto L_0298C338; L_0298C2F8: ; // 0x298c2f8 /* 0298C2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298C2FC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C2FC */ _t20 = _t19 & 0x00000001u; /* 0298C2FC */ if (_t20) goto L_0298C318; else goto L_0298C300; L_0298C300: ; // 0x298c300 /* 0298C300 */ _t21 = cpu->r[31] + 0x00000088u; /* 0298C300 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21); /* 0298C304 */ _t22 = cpu->r[11] + 0x0000000Cu; /* 0298C304 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22); /* 0298C308 */ cpu->ctr = cpu->r[12]; /* 0298C30C */ cpu->r[3] = cpu->r[31]; /* 0298C310 */ cpu->r[4] = 0x00000003u; /* 0298C314 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298C318: ; // 0x298c318 /* 0298C318 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 0298C318 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 0298C31C */ _t24 = cpu->r[1] + 0x0000001Cu; /* 0298C31C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298C320 */ _t25 = cpu->r[1] + 0x00000010u; /* 0298C320 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 0298C324 */ cpu->lr = cpu->r[0]; /* 0298C328 */ _t26 = cpu->r[1] + 0x00000014u; /* 0298C328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 0298C32C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298C330 */ cpu->r[3] = 0x00000000u; /* 0298C334 */ return; L_0298C338: ; // 0x298c338 /* 0298C338 */ _t27 = cpu->r[31] + 0x00000000u; /* 0298C338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 0298C33C */ cpu->r[0] = cpu->r[0] | 0x00000001u; /* 0298C340 */ _t28 = cpu->r[31] + 0x00000000u; /* 0298C340 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]); /* 0298C344 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0298C344 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29); /* 0298C348 */ _t30 = cpu->r[1] + 0x0000001Cu; /* 0298C348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 0298C34C */ cpu->r[3] = cpu->r[31]; /* 0298C350 */ _t31 = cpu->r[1] + 0x00000010u; /* 0298C350 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31); /* 0298C354 */ cpu->lr = cpu->r[0]; /* 0298C358 */ _t32 = cpu->r[1] + 0x00000014u; /* 0298C358 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32); /* 0298C35C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298C360 */ return; } // fn_0298C364 @ 0x298c364 void Gambit_fn_0298C364(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298C364: ; // 0x298c364 /* 0298C364 */ _t0 = cpu->r[3] + 0x00000224u; /* 0298C364 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0298C368 */ _t1 = cpu->r[3] + 0x00000228u; /* 0298C368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1); /* 0298C36C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]); /* 0298C370 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298C370 */ _t3 = _t2 & 0x00000001u; /* 0298C370 */ if (_t3) goto L_0298C374; else goto L_0298C38C; L_0298C374: ; // 0x298c374 /* 0298C374 */ _t4 = cpu->r[3] + 0x0000022Cu; /* 0298C374 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 0298C378 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298C37C */ _t5 = cpu->r[12] + cpu->r[10]; /* 0298C37C */ rbrew_write32(cpu->mem, _t5, cpu->r[4]); /* 0298C380 */ _t6 = cpu->r[3] + 0x00000224u; /* 0298C380 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0298C384 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0298C388 */ _t7 = cpu->r[3] + 0x00000224u; /* 0298C388 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); L_0298C38C: ; // 0x298c38c /* 0298C38C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298C390 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C390 */ _t9 = _t8 & 0x00000001u; /* 0298C390 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298C390 */ goto L_0298C394; L_0298C394: ; // 0x298c394 /* 0298C394 */ _t10 = cpu->r[3] + 0x00000220u; /* 0298C394 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]); /* 0298C398 */ return; } // fn_0298C39C @ 0x298c39c void Gambit_fn_0298C39C(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, _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; double _ft92, _ft93; L_0298C39C: ; // 0x298c39c /* 0298C39C */ _t0 = cpu->r[1] + 0xFFFFFF40u; /* 0298C39C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298C39C */ cpu->r[1] = _t0; /* 0298C3A0 */ /* nop */ /* 0298C3A4 */ _t1 = cpu->r[1] + 0x000000B0u; /* 0298C3A4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0298C3A8 */ _t2 = cpu->r[1] + 0x000000A0u; /* 0298C3A8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]); /* 0298C3AC */ /* nop */ /* 0298C3B0 */ _t3 = cpu->r[1] + 0x000000B8u; /* 0298C3B0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 0298C3B4 */ /* nop */ /* 0298C3B8 */ _t4 = cpu->r[1] + 0x00000090u; /* 0298C3B8 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]); /* 0298C3BC */ cpu->r[0] = cpu->lr; /* 0298C3C0 */ _t5 = cpu->r[1] + 0x000000C4u; /* 0298C3C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298C3C4 */ /* nop */ /* 0298C3C8 */ _t6 = cpu->r[1] + 0x00000098u; /* 0298C3C8 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]); /* 0298C3CC */ _t7 = cpu->r[1] + 0x00000080u; /* 0298C3CC */ rbrew_write_f64(cpu->mem, _t7, cpu->f[28]); /* 0298C3D0 */ _t8 = cpu->r[1] + 0x000000A8u; /* 0298C3D0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]); /* 0298C3D4 */ /* nop */ /* 0298C3D8 */ _t9 = cpu->r[1] + 0x00000088u; /* 0298C3D8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[28]); /* 0298C3DC */ cpu->r[26] = cpu->r[3]; /* 0298C3E0 */ _t10 = cpu->r[26] + 0x00000234u; /* 0298C3E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0298C3E4 */ Gambit_fn_02997270(cpu); /* 0298C3E8 */ _t11 = cpu->r[26] + 0x00000224u; /* 0298C3E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 0298C3EC */ _t12 = cpu->r[26] + 0x0000022Cu; /* 0298C3EC */ cpu->r[19] = rbrew_read32(cpu->mem, _t12); /* 0298C3F0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298C3F4 */ cpu->r[6] = 0x10150000u; /* 0298C3F8 */ cpu->r[20] = cpu->r[19] + cpu->r[9]; /* 0298C3FC */ _t13 = cpu->r[6] + 0xFFFFF2F0u; /* 0298C3FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13); /* 0298C400 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[20]); /* 0298C404 */ cpu->r[18] = 0x00000000u; /* 0298C408 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C408 */ _t15 = _t14 & 0x00000001u; /* 0298C408 */ if (_t15) goto L_0298C5A8; else goto L_0298C40C; L_0298C40C: ; // 0x298c40c /* 0298C40C */ cpu->r[30] = 0x00010000u; /* 0298C410 */ cpu->r[31] = 0x101F0000u; /* 0298C414 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 0298C418 */ cpu->f[30] = cpu->f[31]; /* 0298C41C */ cpu->r[31] = cpu->r[31] + 0x000065D0u; L_0298C420: ; // 0x298c420 /* 0298C420 */ _t16 = cpu->r[19] + 0x00000000u; /* 0298C420 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16); /* 0298C424 */ _t17 = cpu->r[28] + 0x0000001Cu; /* 0298C424 */ cpu->r[21] = rbrew_read32(cpu->mem, _t17); /* 0298C428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 0298C42C */ cpu->r[29] = 0x00000000u; /* 0298C430 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298C430 */ _t19 = _t18 & 0x00000001u; /* 0298C430 */ if (_t19) goto L_0298C434; else goto L_0298C59C; L_0298C434: ; // 0x298c434 /* 0298C434 */ cpu->f[29] = cpu->f[30]; L_0298C438: ; // 0x298c438 /* 0298C438 */ cpu->r[3] = cpu->r[28]; /* 0298C43C */ cpu->r[4] = cpu->r[29]; /* 0298C440 */ Gambit_fn_0297FC7C(cpu); /* 0298C444 */ _t20 = cpu->r[28] + 0x0000001Cu; /* 0298C444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298C448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298C44C */ cpu->r[5] = 0x00000000u; /* 0298C450 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298C450 */ _t22 = _t21 & 0x00000001u; /* 0298C450 */ if (_t22) goto L_0298C454; else goto L_0298C460; L_0298C454: ; // 0x298c454 /* 0298C454 */ _t23 = cpu->r[28] + 0x00000024u; /* 0298C454 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23); /* 0298C458 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298C45C */ _t24 = cpu->r[12] + cpu->r[4]; /* 0298C45C */ cpu->r[5] = rbrew_read32(cpu->mem, _t24); L_0298C460: ; // 0x298c460 /* 0298C460 */ _t25 = cpu->r[5] + 0x00000000u; /* 0298C460 */ cpu->r[23] = rbrew_read32(cpu->mem, _t25); /* 0298C464 */ _t26 = cpu->r[23] + 0x00000088u; /* 0298C464 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26); /* 0298C468 */ _t27 = cpu->r[6] + 0x000001E4u; /* 0298C468 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27); /* 0298C46C */ cpu->ctr = cpu->r[7]; /* 0298C470 */ cpu->r[3] = cpu->r[23]; /* 0298C474 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298C478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C47C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C47C */ _t29 = _t28 & 0x00000001u; /* 0298C47C */ if (_t29) goto L_0298C588; else goto L_0298C480; L_0298C480: ; // 0x298c480 /* 0298C480 */ _t30 = cpu->r[23] + 0x00000088u; /* 0298C480 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30); /* 0298C484 */ _t31 = cpu->r[9] + 0x000001ACu; /* 0298C484 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31); /* 0298C488 */ cpu->ctr = cpu->r[11]; /* 0298C48C */ cpu->r[24] = 0x00000000u; /* 0298C490 */ cpu->r[3] = cpu->r[23]; /* 0298C494 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298C498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[3]); /* 0298C49C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298C49C */ _t33 = _t32 & 0x00000001u; /* 0298C49C */ if (_t33) goto L_0298C4A0; else goto L_0298C588; L_0298C4A0: ; // 0x298c4a0 /* 0298C4A0 */ cpu->f[28] = cpu->f[29]; /* 0298C4A4 */ cpu->r[22] = 0xFFFFFFFFu; /* 0298C4A8 */ cpu->r[17] = 0x00000000u; L_0298C4AC: ; // 0x298c4ac /* 0298C4AC */ _t34 = cpu->r[23] + 0x00000088u; /* 0298C4AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 0298C4B0 */ _t35 = cpu->r[12] + 0x000001B4u; /* 0298C4B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 0298C4B4 */ cpu->ctr = cpu->r[0]; /* 0298C4B8 */ cpu->r[3] = cpu->r[23]; /* 0298C4BC */ cpu->r[4] = cpu->r[24]; /* 0298C4C0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298C4C4 */ _t36 = cpu->r[26] + 0x00000230u; /* 0298C4C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36); /* 0298C4C8 */ cpu->r[25] = cpu->r[3]; /* 0298C4CC */ _t37 = cpu->r[10] + 0x00000000u; /* 0298C4CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t37); /* 0298C4D0 */ cpu->r[0] = cpu->r[18]; /* 0298C4D4 */ _t38 = cpu->r[25] + 0x0000000Cu; /* 0298C4D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38); /* 0298C4D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 0298C4DC */ _t39 = cpu->r[10] + 0x00000004u; /* 0298C4DC */ cpu->r[27] = rbrew_read32(cpu->mem, _t39); /* 0298C4E0 */ cpu->r[18] = cpu->r[18] + 0x00000001u; /* 0298C4E4 */ _t40 = cpu->r[7] + 0x00000084u; /* 0298C4E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40); /* 0298C4E8 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298C4E8 */ _t42 = _t41 & 0x00000001u; /* 0298C4E8 */ if (_t42) goto L_0298C4EC; else goto L_0298C4F4; L_0298C4EC: ; // 0x298c4ec /* 0298C4EC */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000014u); /* 0298C4F0 */ cpu->r[27] = cpu->r[27] + cpu->r[5]; L_0298C4F4: ; // 0x298c4f4 /* 0298C4F4 */ cpu->ctr = cpu->r[9]; /* 0298C4F8 */ cpu->r[3] = cpu->r[25]; /* 0298C4FC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298C500 */ _t43 = cpu->r[27] + 0x00000004u; /* 0298C500 */ rbrew_write32(cpu->mem, _t43, cpu->r[22]); /* 0298C504 */ _t44 = cpu->r[27] + 0x00000008u; /* 0298C504 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[30]); /* 0298C508 */ _t45 = cpu->r[27] + 0x00000000u; /* 0298C508 */ rbrew_write32(cpu->mem, _t45, cpu->r[25]); /* 0298C50C */ _t46 = cpu->r[25] + 0x0000000Cu; /* 0298C50C */ cpu->r[12] = rbrew_read32(cpu->mem, _t46); /* 0298C510 */ _t47 = cpu->r[12] + 0x0000008Cu; /* 0298C510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47); /* 0298C514 */ cpu->r[28] = cpu->r[3]; /* 0298C518 */ cpu->ctr = cpu->r[0]; /* 0298C51C */ cpu->r[3] = cpu->r[25]; /* 0298C520 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298C524 */ _t48 = cpu->r[27] + 0x0000000Au; /* 0298C524 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[3]); /* 0298C528 */ _t49 = cpu->r[27] + 0x0000000Bu; /* 0298C528 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[17]); /* 0298C52C */ _t50 = cpu->r[27] + 0x0000000Cu; /* 0298C52C */ rbrew_write32(cpu->mem, _t50, cpu->r[28]); /* 0298C530 */ _t51 = cpu->r[27] + 0x00000010u; /* 0298C530 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[28]); /* 0298C534 */ rbrew_dispatch(cpu, 0x02d0a9f0u); /* 0298C538 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298C53C */ _t52 = cpu->r[26] + 0x00000234u; /* 0298C53C */ cpu->r[6] = rbrew_read32(cpu->mem, _t52); /* 0298C540 */ _t53 = cpu->r[31] + cpu->r[7]; /* 0298C540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); L_0298C544: ; // 0x298c544 /* 0298C544 */ cpu->r[9] = cpu->r[6] + 0x00000028u; /* 0298C548 */ _t54 = cpu->r[0] + cpu->r[9]; /* 0298C548 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54); /* 0298C54C */ /* nop */ /* 0298C550 */ cpu->r[10] = cpu->r[8] + 0x00000001u; /* 0298C554 */ /* nop */ /* 0298C558 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C558 */ _t56 = _t55 & 0x00000001u; /* 0298C558 */ if (_t56) goto L_0298C55C; else goto L_0298C544; L_0298C55C: ; // 0x298c55c /* 0298C55C */ _t57 = cpu->r[6] + 0x00000020u; /* 0298C55C */ cpu->r[6] = rbrew_read32(cpu->mem, _t57); /* 0298C560 */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298C564 */ _t58 = cpu->r[5] + cpu->r[6]; /* 0298C564 */ rbrew_write32(cpu->mem, _t58, cpu->r[27]); /* 0298C568 */ _t59 = cpu->r[23] + 0x00000088u; /* 0298C568 */ cpu->r[7] = rbrew_read32(cpu->mem, _t59); /* 0298C56C */ _t60 = cpu->r[7] + 0x000001ACu; /* 0298C56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60); /* 0298C570 */ cpu->ctr = cpu->r[0]; /* 0298C574 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 0298C578 */ cpu->r[3] = cpu->r[23]; /* 0298C57C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298C580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[3]); /* 0298C584 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298C584 */ _t62 = _t61 & 0x00000001u; /* 0298C584 */ if (_t62) goto L_0298C4AC; else goto L_0298C588; L_0298C588: ; // 0x298c588 /* 0298C588 */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu; /* 0298C588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u); /* 0298C58C */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 0298C590 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C590 */ _t64 = _t63 & 0x00000001u; /* 0298C590 */ if (_t64) goto L_0298C59C; else goto L_0298C594; L_0298C594: ; // 0x298c594 /* 0298C594 */ _t65 = cpu->r[19] + 0x00000000u; /* 0298C594 */ cpu->r[28] = rbrew_read32(cpu->mem, _t65); /* 0298C598 */ goto L_0298C438; L_0298C59C: ; // 0x298c59c /* 0298C59C */ cpu->r[19] = cpu->r[19] + 0x00000004u; /* 0298C5A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[20]); /* 0298C5A4 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C5A4 */ _t67 = _t66 & 0x00000001u; /* 0298C5A4 */ if (_t67) goto L_0298C5A8; else goto L_0298C420; L_0298C5A8: ; // 0x298c5a8 /* 0298C5A8 */ _t68 = cpu->r[26] + 0x00000234u; /* 0298C5A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68); /* 0298C5AC */ cpu->r[4] = 0x00000000u; /* 0298C5B0 */ Gambit_fn_029972C4(cpu); /* 0298C5B4 */ _t69 = cpu->r[26] + 0x00000234u; /* 0298C5B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69); /* 0298C5B8 */ Gambit_fn_02997B00(cpu); /* 0298C5BC */ _t70 = cpu->r[26] + 0x0000034Cu; /* 0298C5BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t70); /* 0298C5C0 */ _t71 = cpu->r[26] + 0x00000358u; /* 0298C5C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t71); /* 0298C5C4 */ _t72 = cpu->r[26] + 0x0000035Cu; /* 0298C5C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72); /* 0298C5C8 */ _t73 = cpu->r[1] + 0x00000008u; /* 0298C5C8 */ rbrew_write32(cpu->mem, _t73, cpu->r[7]); /* 0298C5CC */ _t74 = cpu->r[1] + 0x0000000Cu; /* 0298C5CC */ rbrew_write32(cpu->mem, _t74, cpu->r[0]); /* 0298C5D0 */ _t75 = cpu->r[26] + 0x00000350u; /* 0298C5D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t75); /* 0298C5D4 */ _t76 = cpu->r[1] + 0x00000014u; /* 0298C5D4 */ rbrew_write32(cpu->mem, _t76, cpu->r[5]); /* 0298C5D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0298C5DC */ _t77 = cpu->r[26] + 0x00000360u; /* 0298C5DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t77); /* 0298C5E0 */ _t78 = cpu->r[26] + 0x00000354u; /* 0298C5E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78); /* 0298C5E4 */ _t79 = cpu->r[1] + 0x00000010u; /* 0298C5E4 */ rbrew_write32(cpu->mem, _t79, cpu->r[9]); /* 0298C5E8 */ _t80 = cpu->r[1] + 0x0000001Cu; /* 0298C5E8 */ rbrew_write32(cpu->mem, _t80, cpu->r[8]); /* 0298C5EC */ cpu->r[3] = cpu->r[26] + 0x00000004u; /* 0298C5F0 */ cpu->r[5] = cpu->r[4]; /* 0298C5F4 */ _t81 = cpu->r[1] + 0x00000018u; /* 0298C5F4 */ rbrew_write32(cpu->mem, _t81, cpu->r[7]); /* 0298C5F8 */ Gambit_fn_02C694BC(cpu); /* 0298C5FC */ cpu->r[4] = cpu->r[1] + 0x00000014u; /* 0298C600 */ cpu->r[3] = cpu->r[26] + 0x00000004u; /* 0298C604 */ cpu->r[5] = cpu->r[4]; /* 0298C608 */ Gambit_fn_02C694BC(cpu); /* 0298C60C */ _t82 = cpu->r[1] + 0x0000000Cu; /* 0298C60C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t82); /* 0298C610 */ _t83 = cpu->r[1] + 0x00000008u; /* 0298C610 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t83); /* 0298C614 */ cpu->f[8] = cpu->f[7] * cpu->f[7]; /* 0298C618 */ _t84 = cpu->r[1] + 0x00000010u; /* 0298C618 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t84); /* 0298C61C */ cpu->f[9] = fma(cpu->f[6], cpu->f[6], cpu->f[8]); /* 0298C620 */ _t85 = cpu->r[26] + 0x00000288u; /* 0298C620 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[6]); /* 0298C624 */ cpu->f[10] = fma(cpu->f[0], cpu->f[0], cpu->f[9]); /* 0298C628 */ _t86 = cpu->r[26] + 0x00000290u; /* 0298C628 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]); /* 0298C62C */ cpu->r[10] = 0x10150000u; /* 0298C630 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[31]); /* 0298C634 */ _t87 = cpu->r[10] + 0xFFFFF300u; /* 0298C634 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t87); /* 0298C638 */ _t88 = cpu->r[26] + 0x0000028Cu; /* 0298C638 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[7]); /* 0298C63C */ _t89 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298C63C */ _t90 = _t89 & 0x00000001u; /* 0298C63C */ if (_t90) goto L_0298C640; else goto L_0298C674; L_0298C640: ; // 0x298c640 /* 0298C640 */ cpu->r[9] = 0x10150000u; /* 0298C644 */ _t91 = cpu->r[9] + 0xFFFFF438u; /* 0298C644 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t91); /* 0298C648 */ _ft92 = sqrt(cpu->f[10]); /* 0298C648 */ _ft93 = (double)(int32_t)0x00000001u; /* 0298C648 */ cpu->f[11] = _ft93 / _ft92; /* 0298C64C */ cpu->f[13] = cpu->f[11] * cpu->f[11]; /* 0298C650 */ cpu->f[8] = cpu->f[11] * cpu->f[31]; /* 0298C654 */ cpu->f[13] = -fma(cpu->f[13], cpu->f[10], -(cpu->f[0])); /* 0298C658 */ cpu->f[11] = cpu->f[13] * cpu->f[8]; /* 0298C65C */ _t94 = cpu->r[26] + 0x00000290u; /* 0298C65C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t94); /* 0298C660 */ /* nop */ /* 0298C664 */ cpu->f[0] = cpu->f[0] * cpu->f[11]; /* 0298C668 */ /* nop */ /* 0298C66C */ _t95 = cpu->r[26] + 0x00000290u; /* 0298C66C */ rbrew_write_f32(cpu->mem, _t95, cpu->f[0]); /* 0298C670 */ /* nop */ L_0298C674: ; // 0x298c674 /* 0298C674 */ _t96 = cpu->r[26] + 0x00000348u; /* 0298C674 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t96); /* 0298C678 */ _t97 = cpu->r[26] + 0x00000344u; /* 0298C678 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t97); /* 0298C67C */ _t98 = cpu->r[1] + 0x0000001Cu; /* 0298C67C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t98); /* 0298C680 */ _t99 = cpu->r[26] + 0x00000280u; /* 0298C680 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[7]); /* 0298C684 */ cpu->f[12] = cpu->f[8] + cpu->f[13]; /* 0298C688 */ /* nop */ /* 0298C68C */ /* nop */ /* 0298C690 */ _t100 = cpu->r[26] + 0x00000340u; /* 0298C690 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t100); /* 0298C694 */ /* nop */ /* 0298C698 */ _t101 = cpu->r[26] + 0x0000026Cu; /* 0298C698 */ cpu->r[5] = rbrew_read32(cpu->mem, _t101); /* 0298C69C */ /* nop */ /* 0298C6A0 */ _t102 = cpu->r[1] + 0x00000024u; /* 0298C6A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t102); /* 0298C6A4 */ _t103 = cpu->r[1] + 0x00000028u; /* 0298C6A4 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[12]); /* 0298C6A8 */ _t104 = cpu->r[1] + 0x00000028u; /* 0298C6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104); /* 0298C6AC */ _t105 = cpu->r[1] + 0x00000020u; /* 0298C6AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t105); /* 0298C6B0 */ _t106 = cpu->r[1] + 0x00000030u; /* 0298C6B0 */ rbrew_write32(cpu->mem, _t106, cpu->r[10]); /* 0298C6B4 */ _t107 = cpu->r[1] + 0x00000030u; /* 0298C6B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t107); /* 0298C6B8 */ _t108 = cpu->r[1] + 0x0000002Cu; /* 0298C6B8 */ rbrew_write32(cpu->mem, _t108, cpu->r[8]); /* 0298C6BC */ _t109 = cpu->r[1] + 0x0000002Cu; /* 0298C6BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t109); /* 0298C6C0 */ _t110 = cpu->r[1] + 0x00000034u; /* 0298C6C0 */ rbrew_write32(cpu->mem, _t110, cpu->r[0]); /* 0298C6C4 */ _t111 = cpu->r[1] + 0x00000034u; /* 0298C6C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t111); /* 0298C6C8 */ _t112 = cpu->r[26] + 0x00000284u; /* 0298C6C8 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[8]); /* 0298C6CC */ _t113 = cpu->r[26] + 0x00000274u; /* 0298C6CC */ rbrew_write_f32(cpu->mem, _t113, cpu->f[13]); /* 0298C6D0 */ _t114 = cpu->r[26] + 0x0000027Cu; /* 0298C6D0 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[6]); /* 0298C6D4 */ _t115 = cpu->r[26] + 0x00000270u; /* 0298C6D4 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[12]); /* 0298C6D8 */ _t116 = cpu->r[26] + 0x00000278u; /* 0298C6D8 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[0]); /* 0298C6DC */ _t117 = cpu->r[5] + 0x00000024u; /* 0298C6DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t117); /* 0298C6E0 */ cpu->r[3] = cpu->r[26] + 0x0000023Cu; /* 0298C6E4 */ cpu->ctr = cpu->r[6]; /* 0298C6E8 */ cpu->r[4] = cpu->r[3]; /* 0298C6EC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298C6F0 */ _t118 = cpu->r[26] + 0x00000034u; /* 0298C6F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t118); /* 0298C6F4 */ _t119 = cpu->r[26] + 0x00000038u; /* 0298C6F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119); /* 0298C6F8 */ _t120 = cpu->r[1] + 0x00000038u; /* 0298C6F8 */ rbrew_write32(cpu->mem, _t120, cpu->r[12]); /* 0298C6FC */ _t121 = cpu->r[1] + 0x00000038u; /* 0298C6FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t121); /* 0298C700 */ _t122 = cpu->r[26] + 0x0000003Cu; /* 0298C700 */ cpu->r[4] = rbrew_read32(cpu->mem, _t122); /* 0298C704 */ cpu->f[4] = cpu->f[13] * cpu->f[31]; /* 0298C708 */ _t123 = cpu->r[1] + 0x00000040u; /* 0298C708 */ rbrew_write32(cpu->mem, _t123, cpu->r[4]); /* 0298C70C */ _t124 = cpu->r[1] + 0x00000040u; /* 0298C70C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t124); /* 0298C710 */ _t125 = cpu->r[26] + 0x0000005Cu; /* 0298C710 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t125); /* 0298C714 */ cpu->f[1] = cpu->f[11] * cpu->f[31]; /* 0298C718 */ _t126 = cpu->r[1] + 0x0000003Cu; /* 0298C718 */ rbrew_write32(cpu->mem, _t126, cpu->r[0]); /* 0298C71C */ cpu->r[30] = 0x00000001u; /* 0298C720 */ _t127 = cpu->r[26] + 0x00000060u; /* 0298C720 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t127); /* 0298C724 */ cpu->f[3] = -cpu->f[4]; /* 0298C728 */ _t128 = cpu->r[26] + 0x00000328u; /* 0298C728 */ rbrew_write_f32(cpu->mem, _t128, cpu->f[9]); /* 0298C72C */ cpu->f[2] = -cpu->f[1]; /* 0298C730 */ _t129 = cpu->r[26] + 0x00000294u; /* 0298C730 */ rbrew_write8(cpu->mem, _t129, (uint8_t)cpu->r[30]); /* 0298C734 */ cpu->r[3] = cpu->r[26] + 0x00000294u; /* 0298C738 */ _t130 = cpu->r[26] + 0x0000032Cu; /* 0298C738 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[10]); /* 0298C73C */ Gambit_fn_0281CB98(cpu); /* 0298C740 */ _t131 = cpu->r[26] + 0x00000238u; /* 0298C740 */ cpu->r[3] = rbrew_read32(cpu->mem, _t131); /* 0298C744 */ Gambit_fn_02995484(cpu); /* 0298C748 */ _t132 = cpu->r[26] + 0x00000238u; /* 0298C748 */ cpu->r[3] = rbrew_read32(cpu->mem, _t132); /* 0298C74C */ cpu->r[5] = cpu->r[26] + 0x0000023Cu; /* 0298C750 */ cpu->r[4] = 0x00000000u; /* 0298C754 */ cpu->r[6] = cpu->r[26] + 0x00000294u; /* 0298C758 */ cpu->r[7] = cpu->r[5]; /* 0298C75C */ Gambit_fn_029957C0(cpu); /* 0298C760 */ _t133 = cpu->r[26] + 0x00000238u; /* 0298C760 */ cpu->r[31] = rbrew_read32(cpu->mem, _t133); /* 0298C764 */ cpu->r[3] = cpu->r[26] + 0x00000294u; /* 0298C768 */ cpu->r[29] = cpu->r[31] + 0x00000078u; /* 0298C76C */ Gambit_fn_0281BC48(cpu); /* 0298C770 */ cpu->r[6] = cpu->r[3]; /* 0298C774 */ cpu->r[5] = cpu->r[26] + 0x0000023Cu; /* 0298C778 */ _t134 = cpu->r[31] + 0x000034E0u; /* 0298C778 */ cpu->r[3] = rbrew_read32(cpu->mem, _t134); /* 0298C77C */ cpu->r[4] = 0x00000000u; /* 0298C780 */ cpu->r[8] = cpu->r[30]; /* 0298C784 */ cpu->r[7] = cpu->r[29]; /* 0298C788 */ cpu->r[9] = cpu->r[4]; /* 0298C78C */ Gambit_fn_02A129D8(cpu); /* 0298C790 */ /* nop */ /* 0298C794 */ _t135 = cpu->r[1] + 0x000000A8u; /* 0298C794 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t135); /* 0298C798 */ _t136 = cpu->r[1] + 0x00000088u; /* 0298C798 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t136); /* 0298C79C */ _t137 = cpu->r[1] + 0x000000A0u; /* 0298C79C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t137); /* 0298C7A0 */ _t138 = cpu->r[1] + 0x00000080u; /* 0298C7A0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t138); /* 0298C7A4 */ _t139 = cpu->r[1] + 0x00000098u; /* 0298C7A4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t139); /* 0298C7A8 */ _t140 = cpu->r[1] + 0x000000B8u; /* 0298C7A8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t140); /* 0298C7AC */ _t141 = cpu->r[1] + 0x00000090u; /* 0298C7AC */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t141); /* 0298C7B0 */ _t142 = cpu->r[1] + 0x000000B0u; /* 0298C7B0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t142); /* 0298C7B4 */ _t143 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298C7B4 */ _t144 = _t143 & 0x00000001u; /* 0298C7B4 */ if (_t144) goto L_0298C7B8; // else: addr-0 trap, fall-through L_0298C7B8: ; // 0x298c7b8 /* 0298C7B8 */ _t145 = cpu->r[1] + 0x000000C4u; /* 0298C7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145); /* 0298C7BC */ cpu->lr = cpu->r[0]; /* 0298C7C0 */ cpu->r[1] = cpu->r[1] + 0x000000C0u; /* 0298C7C4 */ return; } // fn_0298C7C8 @ 0x298c7c8 void Gambit_fn_0298C7C8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0298C7C8: ; // 0x298c7c8 /* 0298C7C8 */ cpu->r[0] = cpu->lr; /* 0298C7CC */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0298C7CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298C7CC */ cpu->r[1] = _t0; /* 0298C7D0 */ _t1 = cpu->r[1] + 0x0000001Cu; /* 0298C7D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298C7D4 */ cpu->r[12] = 0x10150000u; /* 0298C7D8 */ _t2 = cpu->r[1] + 0x00000024u; /* 0298C7D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298C7DC */ _t3 = cpu->r[3] + 0x00000238u; /* 0298C7DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0298C7E0 */ cpu->r[8] = 0x10150000u; /* 0298C7E4 */ cpu->r[12] = cpu->r[12] + 0xFFFFF43Cu; /* 0298C7E8 */ cpu->r[31] = 0x00010000u; /* 0298C7EC */ _t4 = cpu->r[10] + 0x000034ECu; /* 0298C7EC */ rbrew_write32(cpu->mem, _t4, cpu->r[4]); /* 0298C7F0 */ _t5 = cpu->r[3] + 0x00000238u; /* 0298C7F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0298C7F4 */ cpu->r[8] = cpu->r[8] + 0xFFFFF0BCu; /* 0298C7F8 */ cpu->r[7] = 0x00000000u; /* 0298C7FC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0298C800 */ _t6 = cpu->r[11] + 0x000034F0u; /* 0298C800 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]); /* 0298C804 */ _t7 = cpu->r[3] + 0x00000234u; /* 0298C804 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 0298C808 */ cpu->r[9] = cpu->r[7]; /* 0298C80C */ _t8 = cpu->r[1] + 0x00000014u; /* 0298C80C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 0298C810 */ cpu->r[8] = 0x00000001u; /* 0298C814 */ _t9 = cpu->r[3] + 0x00000238u; /* 0298C814 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 0298C818 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 0298C81C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298C81C */ rbrew_write32(cpu->mem, _t10, cpu->r[6]); /* 0298C820 */ cpu->r[10] = cpu->r[9]; /* 0298C824 */ _t11 = cpu->r[1] + 0x00000008u; /* 0298C824 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]); /* 0298C828 */ cpu->r[6] = 0xFFFFFFFFu; /* 0298C82C */ _t12 = cpu->r[1] + 0x00000010u; /* 0298C82C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]); /* 0298C830 */ Gambit_fn_02995864(cpu); /* 0298C834 */ _t13 = cpu->r[1] + 0x00000024u; /* 0298C834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298C838 */ cpu->lr = cpu->r[0]; /* 0298C83C */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0298C83C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0298C840 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298C844 */ return; } // fn_0298C7CC @ 0x298c7cc void Gambit_fn_0298C7CC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0298C7CC: ; // 0x298c7cc /* 0298C7CC */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0298C7CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298C7CC */ cpu->r[1] = _t0; /* 0298C7D0 */ _t1 = cpu->r[1] + 0x0000001Cu; /* 0298C7D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298C7D4 */ cpu->r[12] = 0x10150000u; /* 0298C7D8 */ _t2 = cpu->r[1] + 0x00000024u; /* 0298C7D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298C7DC */ _t3 = cpu->r[3] + 0x00000238u; /* 0298C7DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 0298C7E0 */ cpu->r[8] = 0x10150000u; /* 0298C7E4 */ cpu->r[12] = cpu->r[12] + 0xFFFFF43Cu; /* 0298C7E8 */ cpu->r[31] = 0x00010000u; /* 0298C7EC */ _t4 = cpu->r[10] + 0x000034ECu; /* 0298C7EC */ rbrew_write32(cpu->mem, _t4, cpu->r[4]); /* 0298C7F0 */ _t5 = cpu->r[3] + 0x00000238u; /* 0298C7F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0298C7F4 */ cpu->r[8] = cpu->r[8] + 0xFFFFF0BCu; /* 0298C7F8 */ cpu->r[7] = 0x00000000u; /* 0298C7FC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu; /* 0298C800 */ _t6 = cpu->r[11] + 0x000034F0u; /* 0298C800 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]); /* 0298C804 */ _t7 = cpu->r[3] + 0x00000234u; /* 0298C804 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 0298C808 */ cpu->r[9] = cpu->r[7]; /* 0298C80C */ _t8 = cpu->r[1] + 0x00000014u; /* 0298C80C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 0298C810 */ cpu->r[8] = 0x00000001u; /* 0298C814 */ _t9 = cpu->r[3] + 0x00000238u; /* 0298C814 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 0298C818 */ cpu->r[4] = cpu->r[1] + 0x00000010u; /* 0298C81C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298C81C */ rbrew_write32(cpu->mem, _t10, cpu->r[6]); /* 0298C820 */ cpu->r[10] = cpu->r[9]; /* 0298C824 */ _t11 = cpu->r[1] + 0x00000008u; /* 0298C824 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]); /* 0298C828 */ cpu->r[6] = 0xFFFFFFFFu; /* 0298C82C */ _t12 = cpu->r[1] + 0x00000010u; /* 0298C82C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]); /* 0298C830 */ Gambit_fn_02995864(cpu); /* 0298C834 */ _t13 = cpu->r[1] + 0x00000024u; /* 0298C834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298C838 */ cpu->lr = cpu->r[0]; /* 0298C83C */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0298C83C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0298C840 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298C844 */ return; } // fn_0298C848 @ 0x298c848 void Gambit_fn_0298C848(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; L_0298C848: ; // 0x298c848 /* 0298C848 */ _t0 = cpu->r[1] + 0xFFFFFFC8u; /* 0298C848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298C848 */ cpu->r[1] = _t0; /* 0298C84C */ /* nop */ /* 0298C850 */ cpu->r[0] = cpu->lr; /* 0298C854 */ _t1 = cpu->r[1] + 0x0000003Cu; /* 0298C854 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298C858 */ cpu->r[31] = cpu->r[3]; /* 0298C85C */ _t2 = cpu->r[31] + 0x00000220u; /* 0298C85C */ cpu->r[10] = rbrew_read32(cpu->mem, _t2); /* 0298C860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298C864 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C864 */ _t4 = _t3 & 0x00000001u; /* 0298C864 */ if (_t4) goto L_0298CA04; else goto L_0298C868; L_0298C868: ; // 0x298c868 /* 0298C868 */ _t5 = cpu->r[31] + 0x0000038Cu; /* 0298C868 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5); /* 0298C86C */ cpu->r[5] = 0x10150000u; /* 0298C870 */ _t6 = cpu->r[31] + 0x00000428u; /* 0298C870 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t6); /* 0298C874 */ _t7 = cpu->r[31] + 0x00000424u; /* 0298C874 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t7); /* 0298C878 */ _t8 = cpu->r[5] + 0xFFFFF2ECu; /* 0298C878 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8); /* 0298C87C */ cpu->f[1] = cpu->f[8] * cpu->f[13]; /* 0298C880 */ _t9 = cpu->r[31] + 0x00000404u; /* 0298C880 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9); /* 0298C884 */ cpu->r[3] = cpu->r[31]; /* 0298C888 */ _t10 = cpu->r[31] + 0x000003F4u; /* 0298C888 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t10); /* 0298C88C */ _t11 = cpu->r[31] + 0x0000042Cu; /* 0298C88C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11); /* 0298C890 */ _t12 = cpu->r[31] + 0x000003ACu; /* 0298C890 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12); /* 0298C894 */ cpu->f[2] = cpu->f[9] * cpu->f[10]; /* 0298C898 */ _t13 = cpu->r[1] + 0x0000001Cu; /* 0298C898 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]); /* 0298C89C */ cpu->r[4] = cpu->r[10] + 0x00000034u; /* 0298C8A0 */ _t14 = cpu->r[31] + 0x00000414u; /* 0298C8A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14); /* 0298C8A4 */ cpu->f[3] = cpu->f[11] * cpu->f[12]; /* 0298C8A8 */ _t15 = cpu->r[31] + 0x000003BCu; /* 0298C8A8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t15); /* 0298C8AC */ cpu->f[4] = cpu->f[8] * cpu->f[13]; /* 0298C8B0 */ _t16 = cpu->r[1] + 0x00000018u; /* 0298C8B0 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]); /* 0298C8B4 */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 0298C8B8 */ _t17 = cpu->r[1] + 0x00000020u; /* 0298C8B8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[10]); /* 0298C8BC */ cpu->f[5] = cpu->f[8] * cpu->f[9]; /* 0298C8C0 */ _t18 = cpu->r[1] + 0x00000014u; /* 0298C8C0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]); /* 0298C8C4 */ Gambit_fn_02C929BC(cpu); /* 0298C8C8 */ _t19 = cpu->r[31] + 0x00000428u; /* 0298C8C8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t19); /* 0298C8CC */ _t20 = cpu->r[31] + 0x000003CCu; /* 0298C8CC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t20); /* 0298C8D0 */ cpu->f[1] = cpu->f[6] * cpu->f[7]; /* 0298C8D4 */ cpu->r[3] = cpu->r[31]; /* 0298C8D8 */ Gambit_fn_02C92B4C(cpu); /* 0298C8DC */ _t21 = cpu->r[31] + 0x000003DCu; /* 0298C8DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0298C8E0 */ _t22 = cpu->r[31] + 0x000003E0u; /* 0298C8E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22); /* 0298C8E4 */ _t23 = cpu->r[1] + 0x00000008u; /* 0298C8E4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]); /* 0298C8E8 */ _t24 = cpu->r[1] + 0x00000008u; /* 0298C8E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24); /* 0298C8EC */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0298C8EC */ rbrew_write32(cpu->mem, _t25, cpu->r[12]); /* 0298C8F0 */ _t26 = cpu->r[1] + 0x0000000Cu; /* 0298C8F0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t26); /* 0298C8F4 */ _t27 = cpu->r[31] + 0x00000424u; /* 0298C8F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27); /* 0298C8F8 */ _t28 = cpu->r[31] + 0x000003E4u; /* 0298C8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 0298C8FC */ _t29 = cpu->r[31] + 0x00000428u; /* 0298C8FC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t29); /* 0298C900 */ cpu->f[13] = cpu->f[13] * cpu->f[0]; /* 0298C904 */ _t30 = cpu->r[1] + 0x00000010u; /* 0298C904 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 0298C908 */ _t31 = cpu->r[1] + 0x00000010u; /* 0298C908 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t31); /* 0298C90C */ _t32 = cpu->r[31] + 0x0000042Cu; /* 0298C90C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t32); /* 0298C910 */ _t33 = cpu->r[1] + 0x00000008u; /* 0298C910 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]); /* 0298C914 */ cpu->f[6] = cpu->f[6] * cpu->f[7]; /* 0298C918 */ _t34 = cpu->r[31] + 0x0000039Cu; /* 0298C918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 0298C91C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0298C920 */ _t35 = cpu->r[31] + 0x00000220u; /* 0298C920 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35); /* 0298C924 */ cpu->f[8] = cpu->f[8] * cpu->f[9]; /* 0298C928 */ _t36 = cpu->r[1] + 0x0000000Cu; /* 0298C928 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[6]); /* 0298C92C */ cpu->r[3] = cpu->r[6] + 0x00000034u; /* 0298C930 */ _t37 = cpu->r[31] + 0x00000058u; /* 0298C930 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]); /* 0298C934 */ cpu->r[5] = cpu->r[4]; /* 0298C938 */ _t38 = cpu->r[1] + 0x00000010u; /* 0298C938 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[8]); /* 0298C93C */ Gambit_fn_02C69468(cpu); /* 0298C940 */ _t39 = cpu->r[1] + 0x00000010u; /* 0298C940 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t39); /* 0298C944 */ _t40 = cpu->r[31] + 0x00000224u; /* 0298C944 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40); /* 0298C948 */ _t41 = cpu->r[31] + 0x0000022Cu; /* 0298C948 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41); /* 0298C94C */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298C950 */ _t42 = cpu->r[31] + 0x00000348u; /* 0298C950 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[8]); /* 0298C954 */ cpu->r[29] = cpu->r[28] + cpu->r[6]; /* 0298C958 */ _t43 = cpu->r[1] + 0x0000000Cu; /* 0298C958 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t43); /* 0298C95C */ _t44 = cpu->r[1] + 0x00000008u; /* 0298C95C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t44); /* 0298C960 */ _t45 = cpu->r[31] + 0x00000344u; /* 0298C960 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[7]); /* 0298C964 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 0298C968 */ _t46 = cpu->r[31] + 0x00000340u; /* 0298C968 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[6]); /* 0298C96C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C96C */ _t48 = _t47 & 0x00000001u; /* 0298C96C */ if (_t48) goto L_0298CA04; else goto L_0298C970; L_0298C970: ; // 0x298c970 /* 0298C970 */ _t49 = cpu->r[28] + 0x00000000u; /* 0298C970 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49); /* 0298C974 */ _t50 = cpu->r[30] + 0x0000001Cu; /* 0298C974 */ cpu->r[27] = rbrew_read32(cpu->mem, _t50); /* 0298C978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0298C97C */ cpu->r[31] = 0x00000000u; /* 0298C980 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298C980 */ _t52 = _t51 & 0x00000001u; /* 0298C980 */ if (_t52) goto L_0298C984; else goto L_0298C9F8; L_0298C984: ; // 0x298c984 /* 0298C984 */ cpu->r[3] = cpu->r[30]; /* 0298C988 */ cpu->r[4] = cpu->r[31]; /* 0298C98C */ Gambit_fn_0297FC7C(cpu); /* 0298C990 */ _t53 = cpu->r[30] + 0x0000001Cu; /* 0298C990 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53); /* 0298C994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]); /* 0298C998 */ cpu->r[8] = 0x00000000u; /* 0298C99C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298C99C */ _t55 = _t54 & 0x00000001u; /* 0298C99C */ if (_t55) goto L_0298C9A0; else goto L_0298C9AC; L_0298C9A0: ; // 0x298c9a0 /* 0298C9A0 */ _t56 = cpu->r[30] + 0x00000024u; /* 0298C9A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t56); /* 0298C9A4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298C9A8 */ _t57 = cpu->r[10] + cpu->r[11]; /* 0298C9A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57); L_0298C9AC: ; // 0x298c9ac /* 0298C9AC */ _t58 = cpu->r[8] + 0x00000000u; /* 0298C9AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t58); /* 0298C9B0 */ _t59 = cpu->r[30] + 0x00000088u; /* 0298C9B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59); /* 0298C9B4 */ _t60 = cpu->r[12] + 0x000001E4u; /* 0298C9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60); /* 0298C9B8 */ cpu->ctr = cpu->r[0]; /* 0298C9BC */ cpu->r[3] = cpu->r[30]; /* 0298C9C0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298C9C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298C9C8 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C9C8 */ _t62 = _t61 & 0x00000001u; /* 0298C9C8 */ if (_t62) goto L_0298C9E4; else goto L_0298C9CC; L_0298C9CC: ; // 0x298c9cc /* 0298C9CC */ _t63 = cpu->r[30] + 0x00000088u; /* 0298C9CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t63); /* 0298C9D0 */ _t64 = cpu->r[5] + 0x0000025Cu; /* 0298C9D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t64); /* 0298C9D4 */ cpu->ctr = cpu->r[7]; /* 0298C9D8 */ cpu->r[3] = cpu->r[30]; /* 0298C9DC */ cpu->r[4] = 0x00000000u; /* 0298C9E0 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298C9E4: ; // 0x298c9e4 /* 0298C9E4 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu; /* 0298C9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u); /* 0298C9E8 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 0298C9EC */ _t65 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298C9EC */ _t66 = _t65 & 0x00000001u; /* 0298C9EC */ if (_t66) goto L_0298C9F8; else goto L_0298C9F0; L_0298C9F0: ; // 0x298c9f0 /* 0298C9F0 */ _t67 = cpu->r[28] + 0x00000000u; /* 0298C9F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t67); /* 0298C9F4 */ goto L_0298C984; L_0298C9F8: ; // 0x298c9f8 /* 0298C9F8 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0298C9FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 0298CA00 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CA00 */ _t69 = _t68 & 0x00000001u; /* 0298CA00 */ if (_t69) goto L_0298CA04; else goto L_0298C970; L_0298CA04: ; // 0x298ca04 /* 0298CA04 */ /* nop */ /* 0298CA08 */ _t70 = cpu->r[1] + 0x0000003Cu; /* 0298CA08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70); /* 0298CA0C */ cpu->lr = cpu->r[0]; /* 0298CA10 */ cpu->r[1] = cpu->r[1] + 0x00000038u; /* 0298CA14 */ return; } // fn_0298CA18 @ 0x298ca18 void Gambit_fn_0298CA18(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0298CA18: ; // 0x298ca18 /* 0298CA18 */ cpu->r[0] = cpu->lr; /* 0298CA1C */ _t0 = cpu->r[1] + 0x00000004u; /* 0298CA1C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0298CA20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CA24 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0298CA24 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0298CA24 */ cpu->r[1] = _t1; /* 0298CA28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CA28 */ _t3 = _t2 & 0x00000001u; /* 0298CA28 */ if (_t3) goto L_0298CA2C; else goto L_0298CA3C; L_0298CA2C: ; // 0x298ca2c /* 0298CA2C */ cpu->r[3] = 0x00000004u; /* 0298CA30 */ Gambit_fn_02801A78(cpu); /* 0298CA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CA38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CA38 */ _t5 = _t4 & 0x00000001u; /* 0298CA38 */ if (_t5) goto L_0298CA44; else goto L_0298CA3C; L_0298CA3C: ; // 0x298ca3c /* 0298CA3C */ cpu->r[0] = 0x00000080u; /* 0298CA40 */ _t6 = cpu->r[3] + 0x00000000u; /* 0298CA40 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); L_0298CA44: ; // 0x298ca44 /* 0298CA44 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0298CA44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298CA48 */ cpu->lr = cpu->r[0]; /* 0298CA4C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0298CA50 */ return; } // fn_0298CA24 @ 0x298ca24 void Gambit_fn_0298CA24(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0298CA24: ; // 0x298ca24 /* 0298CA24 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0298CA24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CA24 */ cpu->r[1] = _t0; /* 0298CA28 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CA28 */ _t2 = _t1 & 0x00000001u; /* 0298CA28 */ if (_t2) goto L_0298CA2C; else goto L_0298CA3C; L_0298CA2C: ; // 0x298ca2c /* 0298CA2C */ cpu->r[3] = 0x00000004u; /* 0298CA30 */ Gambit_fn_02801A78(cpu); /* 0298CA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CA38 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CA38 */ _t4 = _t3 & 0x00000001u; /* 0298CA38 */ if (_t4) goto L_0298CA44; else goto L_0298CA3C; L_0298CA3C: ; // 0x298ca3c /* 0298CA3C */ cpu->r[0] = 0x00000080u; /* 0298CA40 */ _t5 = cpu->r[3] + 0x00000000u; /* 0298CA40 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); L_0298CA44: ; // 0x298ca44 /* 0298CA44 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0298CA44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298CA48 */ cpu->lr = cpu->r[0]; /* 0298CA4C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0298CA50 */ return; } // fn_0298CA54 @ 0x298ca54 void Gambit_fn_0298CA54(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_0298CA54: ; // 0x298ca54 /* 0298CA54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CA58 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CA58 */ _t17 = _t16 & 0x00000001u; /* 0298CA58 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298CA58 */ goto L_0298CA5C; L_0298CA5C: ; // 0x298ca5c /* 0298CA5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298CA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298CA60 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CA60 */ _t19 = _t18 & 0x00000001u; /* 0298CA60 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298CA60 */ goto L_0298CA64; L_0298CA64: ; // 0x298ca64 /* 0298CA64 */ goto L_02801BB0; } // fn_0298CA68 @ 0x298ca68 void Gambit_fn_0298CA68(CPUState* cpu) { L_0298CA68: ; // 0x298ca68 /* 0298CA68 */ return; } // fn_0298CA6C @ 0x298ca6c void Gambit_fn_0298CA6C(CPUState* cpu) { L_0298CA6C: ; // 0x298ca6c /* 0298CA6C */ return; } // fn_0298CA70 @ 0x298ca70 void Gambit_fn_0298CA70(CPUState* cpu) { L_0298CA70: ; // 0x298ca70 /* 0298CA70 */ cpu->r[3] = 0x00000001u; /* 0298CA74 */ return; } // fn_0298CA78 @ 0x298ca78 void Gambit_fn_0298CA78(CPUState* cpu) { L_0298CA78: ; // 0x298ca78 /* 0298CA78 */ cpu->r[3] = 0x00000002u; /* 0298CA7C */ return; } // fn_0298CA80 @ 0x298ca80 void Gambit_fn_0298CA80(CPUState* cpu) { L_0298CA80: ; // 0x298ca80 /* 0298CA80 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CA84 */ return; } // fn_0298CA88 @ 0x298ca88 void Gambit_fn_0298CA88(CPUState* cpu) { L_0298CA88: ; // 0x298ca88 /* 0298CA88 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CA8C */ return; } // fn_0298CA90 @ 0x298ca90 void Gambit_fn_0298CA90(CPUState* cpu) { L_0298CA90: ; // 0x298ca90 /* 0298CA90 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CA94 */ return; } // fn_0298CA98 @ 0x298ca98 void Gambit_fn_0298CA98(CPUState* cpu) { L_0298CA98: ; // 0x298ca98 /* 0298CA98 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CA9C */ return; } // fn_0298CAA0 @ 0x298caa0 void Gambit_fn_0298CAA0(CPUState* cpu) { L_0298CAA0: ; // 0x298caa0 /* 0298CAA0 */ cpu->r[3] = 0x00000004u; /* 0298CAA4 */ return; } // fn_0298CAA8 @ 0x298caa8 void Gambit_fn_0298CAA8(CPUState* cpu) { L_0298CAA8: ; // 0x298caa8 /* 0298CAA8 */ cpu->r[3] = 0x00000001u; /* 0298CAAC */ return; } // fn_0298CAB0 @ 0x298cab0 void Gambit_fn_0298CAB0(CPUState* cpu) { L_0298CAB0: ; // 0x298cab0 /* 0298CAB0 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CAB4 */ return; } // fn_0298CAB8 @ 0x298cab8 void Gambit_fn_0298CAB8(CPUState* cpu) { L_0298CAB8: ; // 0x298cab8 /* 0298CAB8 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CABC */ return; } // fn_0298CAC0 @ 0x298cac0 void Gambit_fn_0298CAC0(CPUState* cpu) { L_0298CAC0: ; // 0x298cac0 /* 0298CAC0 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CAC4 */ return; } // fn_0298CAC8 @ 0x298cac8 void Gambit_fn_0298CAC8(CPUState* cpu) { L_0298CAC8: ; // 0x298cac8 /* 0298CAC8 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CACC */ return; } // fn_0298CAD0 @ 0x298cad0 void Gambit_fn_0298CAD0(CPUState* cpu) { L_0298CAD0: ; // 0x298cad0 /* 0298CAD0 */ cpu->r[3] = 0x00000004u; /* 0298CAD4 */ return; } // fn_0298CAD8 @ 0x298cad8 void Gambit_fn_0298CAD8(CPUState* cpu) { L_0298CAD8: ; // 0x298cad8 /* 0298CAD8 */ cpu->r[3] = 0x00000004u; /* 0298CADC */ return; } // fn_0298CAE0 @ 0x298cae0 void Gambit_fn_0298CAE0(CPUState* cpu) { L_0298CAE0: ; // 0x298cae0 /* 0298CAE0 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CAE4 */ return; } // fn_0298CAE8 @ 0x298cae8 void Gambit_fn_0298CAE8(CPUState* cpu) { L_0298CAE8: ; // 0x298cae8 /* 0298CAE8 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CAEC */ return; } // fn_0298CAF0 @ 0x298caf0 void Gambit_fn_0298CAF0(CPUState* cpu) { L_0298CAF0: ; // 0x298caf0 /* 0298CAF0 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CAF4 */ return; } // fn_0298CAF8 @ 0x298caf8 void Gambit_fn_0298CAF8(CPUState* cpu) { L_0298CAF8: ; // 0x298caf8 /* 0298CAF8 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu; /* 0298CAFC */ return; } // fn_0298CB00 @ 0x298cb00 void Gambit_fn_0298CB00(CPUState* cpu) { L_0298CB00: ; // 0x298cb00 /* 0298CB00 */ cpu->r[3] = 0x0000000Cu; /* 0298CB04 */ return; } // fn_0298CB08 @ 0x298cb08 void Gambit_fn_0298CB08(CPUState* cpu) { L_0298CB08: ; // 0x298cb08 /* 0298CB08 */ cpu->r[3] = 0x00000001u; /* 0298CB0C */ return; } // fn_0298CB10 @ 0x298cb10 void Gambit_fn_0298CB10(CPUState* cpu) { L_0298CB10: ; // 0x298cb10 /* 0298CB10 */ return; } // fn_0298CB14 @ 0x298cb14 void Gambit_fn_0298CB14(CPUState* cpu) { L_0298CB14: ; // 0x298cb14 /* 0298CB14 */ cpu->r[3] = 0x00000001u; /* 0298CB18 */ return; } // fn_0298CB1C @ 0x298cb1c void Gambit_fn_0298CB1C(CPUState* cpu) { L_0298CB1C: ; // 0x298cb1c /* 0298CB1C */ return; } // fn_0298CB20 @ 0x298cb20 void Gambit_fn_0298CB20(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0298CB20: ; // 0x298cb20 /* 0298CB20 */ _t0 = cpu->r[4] + 0x00000000u; /* 0298CB20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0298CB24 */ _t1 = cpu->r[3] + 0x0000000Cu; /* 0298CB24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0298CB28 */ _t2 = cpu->r[11] + 0x00000008u; /* 0298CB28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0298CB2C */ cpu->r[0] = cpu->r[11] ^ cpu->r[12]; /* 0298CB30 */ cpu->r[0] = rbrew_clz32(cpu->r[0]); /* 0298CB34 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0298CB38 */ return; } // fn_0298CB3C @ 0x298cb3c void Gambit_fn_0298CB3C(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_0298CB3C: ; // 0x298cb3c /* 0298CB3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CB40 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CB40 */ _t17 = _t16 & 0x00000001u; /* 0298CB40 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298CB40 */ goto L_0298CB44; L_0298CB44: ; // 0x298cb44 /* 0298CB44 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298CB44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298CB48 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CB48 */ _t19 = _t18 & 0x00000001u; /* 0298CB48 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298CB48 */ goto L_0298CB4C; L_0298CB4C: ; // 0x298cb4c /* 0298CB4C */ goto L_02801BB0; } // fn_0298CB50 @ 0x298cb50 void Gambit_fn_0298CB50(CPUState* cpu) { L_0298CB50: ; // 0x298cb50 /* 0298CB50 */ cpu->r[3] = 0x00000001u; /* 0298CB54 */ return; } // fn_0298CB58 @ 0x298cb58 void Gambit_fn_0298CB58(CPUState* cpu) { L_0298CB58: ; // 0x298cb58 /* 0298CB58 */ return; } // fn_0298CB5C @ 0x298cb5c void Gambit_fn_0298CB5C(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0298CB5C: ; // 0x298cb5c /* 0298CB5C */ _t0 = cpu->r[4] + 0x00000000u; /* 0298CB5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0298CB60 */ _t1 = cpu->r[3] + 0x00000010u; /* 0298CB60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0298CB64 */ _t2 = cpu->r[11] + 0x00000004u; /* 0298CB64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0298CB68 */ cpu->r[0] = cpu->r[11] ^ cpu->r[12]; /* 0298CB6C */ cpu->r[0] = rbrew_clz32(cpu->r[0]); /* 0298CB70 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0298CB74 */ return; } // fn_0298CB78 @ 0x298cb78 void Gambit_fn_0298CB78(CPUState* cpu) { L_0298CB78: ; // 0x298cb78 /* 0298CB78 */ return; } // fn_0298CB7C @ 0x298cb7c void Gambit_fn_0298CB7C(CPUState* cpu) { L_0298CB7C: ; // 0x298cb7c /* 0298CB7C */ return; } // fn_0298CB80 @ 0x298cb80 void Gambit_fn_0298CB80(CPUState* cpu) { L_0298CB80: ; // 0x298cb80 /* 0298CB80 */ return; } // fn_0298CB84 @ 0x298cb84 void Gambit_fn_0298CB84(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0298CB84: ; // 0x298cb84 /* 0298CB84 */ cpu->r[0] = cpu->lr; /* 0298CB88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298CB88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CB88 */ cpu->r[1] = _t0; /* 0298CB8C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298CB8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298CB90 */ cpu->r[31] = cpu->r[3]; /* 0298CB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CB94 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298CB94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298CB98 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CB98 */ _t4 = _t3 & 0x00000001u; /* 0298CB98 */ if (_t4) goto L_0298CB9C; else goto L_0298CBAC; L_0298CB9C: ; // 0x298cb9c /* 0298CB9C */ cpu->r[3] = 0x00000020u; /* 0298CBA0 */ Gambit_fn_02801A78(cpu); /* 0298CBA4 */ cpu->r[31] = cpu->r[3]; /* 0298CBA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CBA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CBA8 */ _t6 = _t5 & 0x00000001u; /* 0298CBA8 */ if (_t6) goto L_0298CBCC; else goto L_0298CBAC; L_0298CBAC: ; // 0x298cbac /* 0298CBAC */ cpu->r[3] = cpu->r[31]; /* 0298CBB0 */ Gambit_fn_028EFA70(cpu); /* 0298CBB4 */ cpu->r[11] = 0x10150000u; /* 0298CBB8 */ cpu->r[12] = 0x00000000u; /* 0298CBBC */ cpu->r[11] = cpu->r[11] + 0xFFFFF510u; /* 0298CBC0 */ _t7 = cpu->r[31] + 0x0000001Cu; /* 0298CBC0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 0298CBC4 */ _t8 = cpu->r[31] + 0x00000014u; /* 0298CBC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]); /* 0298CBC8 */ _t9 = cpu->r[31] + 0x00000018u; /* 0298CBC8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); L_0298CBCC: ; // 0x298cbcc /* 0298CBCC */ _t10 = cpu->r[1] + 0x00000014u; /* 0298CBCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298CBD0 */ cpu->r[3] = cpu->r[31]; /* 0298CBD4 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0298CBD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0298CBD8 */ cpu->lr = cpu->r[0]; /* 0298CBDC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298CBE0 */ return; } // fn_0298CB88 @ 0x298cb88 void Gambit_fn_0298CB88(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0298CB88: ; // 0x298cb88 /* 0298CB88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298CB88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CB88 */ cpu->r[1] = _t0; /* 0298CB8C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298CB8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298CB90 */ cpu->r[31] = cpu->r[3]; /* 0298CB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CB94 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298CB94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298CB98 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CB98 */ _t4 = _t3 & 0x00000001u; /* 0298CB98 */ if (_t4) goto L_0298CB9C; else goto L_0298CBAC; L_0298CB9C: ; // 0x298cb9c /* 0298CB9C */ cpu->r[3] = 0x00000020u; /* 0298CBA0 */ Gambit_fn_02801A78(cpu); /* 0298CBA4 */ cpu->r[31] = cpu->r[3]; /* 0298CBA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CBA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CBA8 */ _t6 = _t5 & 0x00000001u; /* 0298CBA8 */ if (_t6) goto L_0298CBCC; else goto L_0298CBAC; L_0298CBAC: ; // 0x298cbac /* 0298CBAC */ cpu->r[3] = cpu->r[31]; /* 0298CBB0 */ Gambit_fn_028EFA70(cpu); /* 0298CBB4 */ cpu->r[11] = 0x10150000u; /* 0298CBB8 */ cpu->r[12] = 0x00000000u; /* 0298CBBC */ cpu->r[11] = cpu->r[11] + 0xFFFFF510u; /* 0298CBC0 */ _t7 = cpu->r[31] + 0x0000001Cu; /* 0298CBC0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 0298CBC4 */ _t8 = cpu->r[31] + 0x00000014u; /* 0298CBC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]); /* 0298CBC8 */ _t9 = cpu->r[31] + 0x00000018u; /* 0298CBC8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); L_0298CBCC: ; // 0x298cbcc /* 0298CBCC */ _t10 = cpu->r[1] + 0x00000014u; /* 0298CBCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298CBD0 */ cpu->r[3] = cpu->r[31]; /* 0298CBD4 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 0298CBD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 0298CBD8 */ cpu->lr = cpu->r[0]; /* 0298CBDC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298CBE0 */ return; } // fn_0298CBE4 @ 0x298cbe4 void Gambit_fn_0298CBE4(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_0298CBE4: ; // 0x298cbe4 /* 0298CBE4 */ cpu->r[0] = cpu->lr; /* 0298CBE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298CBE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CBE8 */ cpu->r[1] = _t0; /* 0298CBEC */ _t1 = cpu->r[1] + 0x00000014u; /* 0298CBEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298CBF0 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298CBF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298CBF4 */ cpu->r[30] = cpu->r[3]; /* 0298CBF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298CBF8 */ cpu->r[31] = cpu->r[4]; /* 0298CBFC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298CBFC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298CC00 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298CC00 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298CC04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CC04 */ _t6 = _t5 & 0x00000001u; /* 0298CC04 */ if (_t6) goto L_0298CC70; else goto L_0298CC08; L_0298CC08: ; // 0x298cc08 /* 0298CC08 */ cpu->r[10] = 0x10150000u; /* 0298CC0C */ _t7 = cpu->r[30] + 0x0000001Cu; /* 0298CC0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 0298CC10 */ cpu->r[10] = cpu->r[10] + 0xFFFFF510u; /* 0298CC14 */ cpu->r[29] = 0x00000000u; /* 0298CC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CC1C */ _t8 = cpu->r[30] + 0x00000014u; /* 0298CC1C */ rbrew_write32(cpu->mem, _t8, cpu->r[10]); /* 0298CC20 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CC20 */ _t10 = _t9 & 0x00000001u; /* 0298CC20 */ if (_t10) goto L_0298CC40; else goto L_0298CC24; L_0298CC24: ; // 0x298cc24 /* 0298CC24 */ Gambit_fn_02801BB4(cpu); /* 0298CC28 */ _t11 = cpu->r[30] + 0x0000001Cu; /* 0298CC28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 0298CC2C */ _t12 = cpu->r[30] + 0x00000018u; /* 0298CC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0298CC30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 0298CC34 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CC34 */ _t14 = _t13 & 0x00000001u; /* 0298CC34 */ if (_t14) goto L_0298CC38; else goto L_0298CC3C; L_0298CC38: ; // 0x298cc38 /* 0298CC38 */ _t15 = cpu->r[30] + 0x00000018u; /* 0298CC38 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]); L_0298CC3C: ; // 0x298cc3c /* 0298CC3C */ _t16 = cpu->r[30] + 0x0000001Cu; /* 0298CC3C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); L_0298CC40: ; // 0x298cc40 /* 0298CC40 */ _t17 = cpu->r[30] + 0x00000018u; /* 0298CC40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 0298CC44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CC48 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CC48 */ _t19 = _t18 & 0x00000001u; /* 0298CC48 */ if (_t19) goto L_0298CC54; else goto L_0298CC4C; L_0298CC4C: ; // 0x298cc4c /* 0298CC4C */ Gambit_fn_02801BB4(cpu); /* 0298CC50 */ _t20 = cpu->r[30] + 0x00000018u; /* 0298CC50 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]); L_0298CC54: ; // 0x298cc54 /* 0298CC54 */ cpu->r[3] = cpu->r[30]; /* 0298CC58 */ cpu->r[4] = 0x00000000u; /* 0298CC5C */ Gambit_fn_028EFB34(cpu); /* 0298CC60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298CC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298CC64 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CC64 */ _t22 = _t21 & 0x00000001u; /* 0298CC64 */ if (_t22) goto L_0298CC70; else goto L_0298CC68; L_0298CC68: ; // 0x298cc68 /* 0298CC68 */ cpu->r[3] = cpu->r[30]; /* 0298CC6C */ Gambit_fn_02801BB0(cpu); L_0298CC70: ; // 0x298cc70 /* 0298CC70 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 0298CC70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 0298CC74 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 0298CC74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298CC78 */ _t25 = cpu->r[1] + 0x00000010u; /* 0298CC78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 0298CC7C */ cpu->lr = cpu->r[0]; /* 0298CC80 */ _t26 = cpu->r[1] + 0x00000014u; /* 0298CC80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 0298CC84 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298CC88 */ return; } // fn_0298CBE8 @ 0x298cbe8 void Gambit_fn_0298CBE8(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_0298CBE8: ; // 0x298cbe8 /* 0298CBE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298CBE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CBE8 */ cpu->r[1] = _t0; /* 0298CBEC */ _t1 = cpu->r[1] + 0x00000014u; /* 0298CBEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298CBF0 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298CBF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298CBF4 */ cpu->r[30] = cpu->r[3]; /* 0298CBF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298CBF8 */ cpu->r[31] = cpu->r[4]; /* 0298CBFC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298CBFC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298CC00 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298CC00 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298CC04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CC04 */ _t6 = _t5 & 0x00000001u; /* 0298CC04 */ if (_t6) goto L_0298CC70; else goto L_0298CC08; L_0298CC08: ; // 0x298cc08 /* 0298CC08 */ cpu->r[10] = 0x10150000u; /* 0298CC0C */ _t7 = cpu->r[30] + 0x0000001Cu; /* 0298CC0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 0298CC10 */ cpu->r[10] = cpu->r[10] + 0xFFFFF510u; /* 0298CC14 */ cpu->r[29] = 0x00000000u; /* 0298CC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CC1C */ _t8 = cpu->r[30] + 0x00000014u; /* 0298CC1C */ rbrew_write32(cpu->mem, _t8, cpu->r[10]); /* 0298CC20 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CC20 */ _t10 = _t9 & 0x00000001u; /* 0298CC20 */ if (_t10) goto L_0298CC40; else goto L_0298CC24; L_0298CC24: ; // 0x298cc24 /* 0298CC24 */ Gambit_fn_02801BB4(cpu); /* 0298CC28 */ _t11 = cpu->r[30] + 0x0000001Cu; /* 0298CC28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 0298CC2C */ _t12 = cpu->r[30] + 0x00000018u; /* 0298CC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0298CC30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]); /* 0298CC34 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CC34 */ _t14 = _t13 & 0x00000001u; /* 0298CC34 */ if (_t14) goto L_0298CC38; else goto L_0298CC3C; L_0298CC38: ; // 0x298cc38 /* 0298CC38 */ _t15 = cpu->r[30] + 0x00000018u; /* 0298CC38 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]); L_0298CC3C: ; // 0x298cc3c /* 0298CC3C */ _t16 = cpu->r[30] + 0x0000001Cu; /* 0298CC3C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); L_0298CC40: ; // 0x298cc40 /* 0298CC40 */ _t17 = cpu->r[30] + 0x00000018u; /* 0298CC40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 0298CC44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CC48 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CC48 */ _t19 = _t18 & 0x00000001u; /* 0298CC48 */ if (_t19) goto L_0298CC54; else goto L_0298CC4C; L_0298CC4C: ; // 0x298cc4c /* 0298CC4C */ Gambit_fn_02801BB4(cpu); /* 0298CC50 */ _t20 = cpu->r[30] + 0x00000018u; /* 0298CC50 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]); L_0298CC54: ; // 0x298cc54 /* 0298CC54 */ cpu->r[3] = cpu->r[30]; /* 0298CC58 */ cpu->r[4] = 0x00000000u; /* 0298CC5C */ Gambit_fn_028EFB34(cpu); /* 0298CC60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298CC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298CC64 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CC64 */ _t22 = _t21 & 0x00000001u; /* 0298CC64 */ if (_t22) goto L_0298CC70; else goto L_0298CC68; L_0298CC68: ; // 0x298cc68 /* 0298CC68 */ cpu->r[3] = cpu->r[30]; /* 0298CC6C */ Gambit_fn_02801BB0(cpu); L_0298CC70: ; // 0x298cc70 /* 0298CC70 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 0298CC70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 0298CC74 */ _t24 = cpu->r[1] + 0x0000001Cu; /* 0298CC74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298CC78 */ _t25 = cpu->r[1] + 0x00000010u; /* 0298CC78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 0298CC7C */ cpu->lr = cpu->r[0]; /* 0298CC80 */ _t26 = cpu->r[1] + 0x00000014u; /* 0298CC80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 0298CC84 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298CC88 */ return; } // fn_0298CC8C @ 0x298cc8c void Gambit_fn_0298CC8C(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_0298CC8C: ; // 0x298cc8c /* 0298CC8C */ cpu->r[0] = cpu->lr; /* 0298CC90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298CC90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CC90 */ cpu->r[1] = _t0; /* 0298CC94 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298CC94 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298CC98 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298CC98 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298CC9C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298CC9C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298CCA0 */ _t4 = cpu->r[1] + 0x00000010u; /* 0298CCA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0298CCA4 */ cpu->r[31] = cpu->r[3]; /* 0298CCA8 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298CCA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298CCAC */ _t6 = cpu->r[31] + 0x0000001Cu; /* 0298CCAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298CCB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CCB4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CCB4 */ _t8 = _t7 & 0x00000001u; /* 0298CCB4 */ if (_t8) goto L_0298CCC4; else goto L_0298CCB8; L_0298CCB8: ; // 0x298ccb8 /* 0298CCB8 */ Gambit_fn_02801BB4(cpu); /* 0298CCBC */ cpu->r[0] = 0x00000000u; /* 0298CCC0 */ _t9 = cpu->r[31] + 0x0000001Cu; /* 0298CCC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); L_0298CCC4: ; // 0x298ccc4 /* 0298CCC4 */ cpu->r[29] = 0x101D0000u; /* 0298CCC8 */ _t10 = cpu->r[29] + 0xFFFF9B14u; /* 0298CCC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0298CCC8 */ cpu->r[29] = _t10; /* 0298CCCC */ Gambit_fn_028F00A4(cpu); /* 0298CCD0 */ cpu->r[30] = 0x101D0000u; /* 0298CCD4 */ _t11 = cpu->r[30] + 0xFFFFAA68u; /* 0298CCD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 0298CCD8 */ Gambit_fn_02A110EC(cpu); /* 0298CCDC */ cpu->r[28] = cpu->r[3]; /* 0298CCE0 */ _t12 = cpu->r[30] + 0xFFFFAA68u; /* 0298CCE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 0298CCE4 */ Gambit_fn_02A11260(cpu); /* 0298CCE8 */ cpu->r[5] = cpu->r[3]; /* 0298CCEC */ cpu->r[3] = cpu->r[31]; /* 0298CCF0 */ cpu->r[4] = cpu->r[28]; /* 0298CCF4 */ Gambit_fn_028EFC84(cpu); /* 0298CCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CCFC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CCFC */ _t14 = _t13 & 0x00000001u; /* 0298CCFC */ if (_t14) goto L_0298CD24; else goto L_0298CD00; L_0298CD00: ; // 0x298cd00 /* 0298CD00 */ _t15 = cpu->r[1] + 0x00000008u; /* 0298CD00 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 0298CD04 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0298CD04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 0298CD08 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0298CD08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0298CD0C */ _t18 = cpu->r[1] + 0x00000010u; /* 0298CD0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0298CD10 */ cpu->lr = cpu->r[0]; /* 0298CD14 */ _t19 = cpu->r[1] + 0x00000014u; /* 0298CD14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0298CD18 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298CD1C */ cpu->r[3] = 0x00000001u; /* 0298CD20 */ return; L_0298CD24: ; // 0x298cd24 /* 0298CD24 */ _t20 = cpu->r[29] + 0x00000000u; /* 0298CD24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20); /* 0298CD28 */ Gambit_fn_028F0104(cpu); /* 0298CD2C */ _t21 = cpu->r[1] + 0x00000008u; /* 0298CD2C */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 0298CD30 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 0298CD30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 0298CD34 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0298CD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0298CD38 */ _t24 = cpu->r[1] + 0x00000010u; /* 0298CD38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0298CD3C */ cpu->lr = cpu->r[0]; /* 0298CD40 */ _t25 = cpu->r[1] + 0x00000014u; /* 0298CD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0298CD44 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298CD48 */ cpu->r[3] = 0x00000000u; /* 0298CD4C */ return; } // fn_0298CC90 @ 0x298cc90 void Gambit_fn_0298CC90(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_0298CC90: ; // 0x298cc90 /* 0298CC90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298CC90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CC90 */ cpu->r[1] = _t0; /* 0298CC94 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298CC94 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298CC98 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298CC98 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298CC9C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298CC9C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298CCA0 */ _t4 = cpu->r[1] + 0x00000010u; /* 0298CCA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0298CCA4 */ cpu->r[31] = cpu->r[3]; /* 0298CCA8 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298CCA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298CCAC */ _t6 = cpu->r[31] + 0x0000001Cu; /* 0298CCAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298CCB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CCB4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CCB4 */ _t8 = _t7 & 0x00000001u; /* 0298CCB4 */ if (_t8) goto L_0298CCC4; else goto L_0298CCB8; L_0298CCB8: ; // 0x298ccb8 /* 0298CCB8 */ Gambit_fn_02801BB4(cpu); /* 0298CCBC */ cpu->r[0] = 0x00000000u; /* 0298CCC0 */ _t9 = cpu->r[31] + 0x0000001Cu; /* 0298CCC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]); L_0298CCC4: ; // 0x298ccc4 /* 0298CCC4 */ cpu->r[29] = 0x101D0000u; /* 0298CCC8 */ _t10 = cpu->r[29] + 0xFFFF9B14u; /* 0298CCC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0298CCC8 */ cpu->r[29] = _t10; /* 0298CCCC */ Gambit_fn_028F00A4(cpu); /* 0298CCD0 */ cpu->r[30] = 0x101D0000u; /* 0298CCD4 */ _t11 = cpu->r[30] + 0xFFFFAA68u; /* 0298CCD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 0298CCD8 */ Gambit_fn_02A110EC(cpu); /* 0298CCDC */ cpu->r[28] = cpu->r[3]; /* 0298CCE0 */ _t12 = cpu->r[30] + 0xFFFFAA68u; /* 0298CCE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 0298CCE4 */ Gambit_fn_02A11260(cpu); /* 0298CCE8 */ cpu->r[5] = cpu->r[3]; /* 0298CCEC */ cpu->r[3] = cpu->r[31]; /* 0298CCF0 */ cpu->r[4] = cpu->r[28]; /* 0298CCF4 */ Gambit_fn_028EFC84(cpu); /* 0298CCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CCFC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CCFC */ _t14 = _t13 & 0x00000001u; /* 0298CCFC */ if (_t14) goto L_0298CD24; else goto L_0298CD00; L_0298CD00: ; // 0x298cd00 /* 0298CD00 */ _t15 = cpu->r[1] + 0x00000008u; /* 0298CD00 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 0298CD04 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0298CD04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 0298CD08 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0298CD08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0298CD0C */ _t18 = cpu->r[1] + 0x00000010u; /* 0298CD0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 0298CD10 */ cpu->lr = cpu->r[0]; /* 0298CD14 */ _t19 = cpu->r[1] + 0x00000014u; /* 0298CD14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 0298CD18 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298CD1C */ cpu->r[3] = 0x00000001u; /* 0298CD20 */ return; L_0298CD24: ; // 0x298cd24 /* 0298CD24 */ _t20 = cpu->r[29] + 0x00000000u; /* 0298CD24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20); /* 0298CD28 */ Gambit_fn_028F0104(cpu); /* 0298CD2C */ _t21 = cpu->r[1] + 0x00000008u; /* 0298CD2C */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 0298CD30 */ _t22 = cpu->r[1] + 0x0000000Cu; /* 0298CD30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 0298CD34 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0298CD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0298CD38 */ _t24 = cpu->r[1] + 0x00000010u; /* 0298CD38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0298CD3C */ cpu->lr = cpu->r[0]; /* 0298CD40 */ _t25 = cpu->r[1] + 0x00000014u; /* 0298CD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0298CD44 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298CD48 */ cpu->r[3] = 0x00000000u; /* 0298CD4C */ return; } // fn_0298CD50 @ 0x298cd50 void Gambit_fn_0298CD50(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298CD50: ; // 0x298cd50 /* 0298CD50 */ cpu->r[0] = cpu->lr; /* 0298CD54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298CD54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CD54 */ cpu->r[1] = _t0; /* 0298CD58 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298CD58 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298CD5C */ _t2 = cpu->r[1] + 0x00000014u; /* 0298CD5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298CD60 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298CD60 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298CD64 */ cpu->r[31] = cpu->r[5]; /* 0298CD68 */ cpu->r[6] = 0x00000000u; /* 0298CD6C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298CD6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298CD70 */ cpu->r[29] = cpu->r[3]; /* 0298CD74 */ cpu->r[30] = cpu->r[4]; /* 0298CD78 */ _t5 = cpu->r[29] + 0x00000000u; /* 0298CD78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 0298CD7C */ cpu->r[3] = cpu->r[30]; /* 0298CD80 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0298CD84 */ cpu->r[4] = cpu->r[31]; /* 0298CD88 */ cpu->r[3] = cpu->r[30]; /* 0298CD8C */ rbrew_dispatch(cpu, 0x02d09328u); /* 0298CD90 */ _t6 = cpu->r[29] + 0x00000000u; /* 0298CD90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298CD94 */ cpu->r[4] = cpu->r[31]; /* 0298CD98 */ rbrew_dispatch(cpu, 0x02d09330u); /* 0298CD9C */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0298CD9C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298CDA0 */ _t8 = cpu->r[1] + 0x0000001Cu; /* 0298CDA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298CDA4 */ _t9 = cpu->r[1] + 0x00000014u; /* 0298CDA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 0298CDA8 */ cpu->lr = cpu->r[0]; /* 0298CDAC */ _t10 = cpu->r[1] + 0x00000010u; /* 0298CDAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 0298CDB0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298CDB4 */ return; } // fn_0298CD54 @ 0x298cd54 void Gambit_fn_0298CD54(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298CD54: ; // 0x298cd54 /* 0298CD54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298CD54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CD54 */ cpu->r[1] = _t0; /* 0298CD58 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298CD58 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298CD5C */ _t2 = cpu->r[1] + 0x00000014u; /* 0298CD5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298CD60 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298CD60 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298CD64 */ cpu->r[31] = cpu->r[5]; /* 0298CD68 */ cpu->r[6] = 0x00000000u; /* 0298CD6C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298CD6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298CD70 */ cpu->r[29] = cpu->r[3]; /* 0298CD74 */ cpu->r[30] = cpu->r[4]; /* 0298CD78 */ _t5 = cpu->r[29] + 0x00000000u; /* 0298CD78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 0298CD7C */ cpu->r[3] = cpu->r[30]; /* 0298CD80 */ rbrew_dispatch(cpu, 0x02d0a6e8u); /* 0298CD84 */ cpu->r[4] = cpu->r[31]; /* 0298CD88 */ cpu->r[3] = cpu->r[30]; /* 0298CD8C */ rbrew_dispatch(cpu, 0x02d09328u); /* 0298CD90 */ _t6 = cpu->r[29] + 0x00000000u; /* 0298CD90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298CD94 */ cpu->r[4] = cpu->r[31]; /* 0298CD98 */ rbrew_dispatch(cpu, 0x02d09330u); /* 0298CD9C */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0298CD9C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298CDA0 */ _t8 = cpu->r[1] + 0x0000001Cu; /* 0298CDA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298CDA4 */ _t9 = cpu->r[1] + 0x00000014u; /* 0298CDA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 0298CDA8 */ cpu->lr = cpu->r[0]; /* 0298CDAC */ _t10 = cpu->r[1] + 0x00000010u; /* 0298CDAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10); /* 0298CDB0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298CDB4 */ return; } // fn_0298CDB8 @ 0x298cdb8 void Gambit_fn_0298CDB8(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_0298CDB8: ; // 0x298cdb8 /* 0298CDB8 */ cpu->r[0] = cpu->lr; /* 0298CDBC */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0298CDBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CDBC */ cpu->r[1] = _t0; /* 0298CDC0 */ _t1 = cpu->r[1] + 0x0000001Cu; /* 0298CDC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298CDC4 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298CDC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298CDC8 */ cpu->r[28] = 0x00000000u; /* 0298CDCC */ cpu->r[31] = cpu->r[4]; /* 0298CDD0 */ _t3 = cpu->r[1] + 0x00000018u; /* 0298CDD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0298CDD4 */ cpu->r[4] = cpu->r[28]; /* 0298CDD8 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298CDD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0298CDDC */ _t5 = cpu->r[1] + 0x00000024u; /* 0298CDDC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298CDE0 */ cpu->r[29] = cpu->r[3]; /* 0298CDE4 */ Gambit_fn_028EFC14(cpu); /* 0298CDE8 */ cpu->r[30] = cpu->r[3]; /* 0298CDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298CDEC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CDEC */ _t7 = _t6 & 0x00000001u; /* 0298CDEC */ if (_t7) goto L_0298CE6C; else goto L_0298CDF0; L_0298CDF0: ; // 0x298cdf0 /* 0298CDF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CDF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CDF4 */ _t9 = _t8 & 0x00000001u; /* 0298CDF4 */ if (_t9) goto L_0298CDF8; else goto L_0298CE08; L_0298CDF8: ; // 0x298cdf8 /* 0298CDF8 */ cpu->r[3] = 0x101D0000u; /* 0298CDFC */ _t10 = cpu->r[3] + 0xFFFF98F0u; /* 0298CDFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0298CE00 */ Gambit_fn_02826F20(cpu); /* 0298CE04 */ cpu->r[31] = cpu->r[3]; L_0298CE08: ; // 0x298ce08 /* 0298CE08 */ cpu->r[5] = 0x00000020u; /* 0298CE0C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298CE10 */ cpu->r[4] = cpu->r[30]; /* 0298CE14 */ _t11 = cpu->r[1] + 0x00000008u; /* 0298CE14 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]); /* 0298CE18 */ Gambit_fn_0297EA50(cpu); /* 0298CE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CE20 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CE20 */ _t13 = _t12 & 0x00000001u; /* 0298CE20 */ if (_t13) goto L_0298CE68; else goto L_0298CE24; L_0298CE24: ; // 0x298ce24 /* 0298CE24 */ _t14 = cpu->r[29] + 0x00000018u; /* 0298CE24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298CE28 */ cpu->r[28] = cpu->r[3]; /* 0298CE2C */ cpu->r[5] = cpu->r[30]; /* 0298CE30 */ _t15 = cpu->r[29] + 0x00000018u; /* 0298CE30 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]); /* 0298CE34 */ cpu->r[3] = cpu->r[29]; /* 0298CE38 */ cpu->r[4] = cpu->r[28]; /* 0298CE3C */ _t16 = cpu->r[29] + 0x0000001Cu; /* 0298CE3C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 0298CE40 */ Gambit_fn_0298CD50(cpu); /* 0298CE44 */ cpu->r[5] = cpu->r[30]; /* 0298CE48 */ cpu->r[4] = cpu->r[28]; /* 0298CE4C */ cpu->r[3] = cpu->r[29]; /* 0298CE50 */ Gambit_fn_028EF9F0(cpu); /* 0298CE54 */ cpu->r[3] = 0x101D0000u; /* 0298CE58 */ _t17 = cpu->r[3] + 0xFFFF9B14u; /* 0298CE58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 0298CE5C */ Gambit_fn_028F0104(cpu); /* 0298CE60 */ cpu->r[3] = 0x00000001u; /* 0298CE64 */ goto L_0298CE8C; L_0298CE68: ; // 0x298ce68 /* 0298CE68 */ cpu->r[30] = 0x00000000u; L_0298CE6C: ; // 0x298ce6c /* 0298CE6C */ cpu->r[5] = cpu->r[30]; /* 0298CE70 */ cpu->r[4] = cpu->r[28]; /* 0298CE74 */ cpu->r[3] = cpu->r[29]; /* 0298CE78 */ Gambit_fn_028EF9F0(cpu); /* 0298CE7C */ cpu->r[3] = 0x101D0000u; /* 0298CE80 */ _t18 = cpu->r[3] + 0xFFFF9B14u; /* 0298CE80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18); /* 0298CE84 */ Gambit_fn_028F0104(cpu); /* 0298CE88 */ cpu->r[3] = 0x00000001u; L_0298CE8C: ; // 0x298ce8c /* 0298CE8C */ _t19 = cpu->r[1] + 0x00000010u; /* 0298CE8C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19); /* 0298CE90 */ _t20 = cpu->r[1] + 0x00000014u; /* 0298CE90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 0298CE94 */ _t21 = cpu->r[1] + 0x00000024u; /* 0298CE94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0298CE98 */ _t22 = cpu->r[1] + 0x00000018u; /* 0298CE98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 0298CE9C */ cpu->lr = cpu->r[0]; /* 0298CEA0 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0298CEA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 0298CEA4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298CEA8 */ return; } // fn_0298CDBC @ 0x298cdbc void Gambit_fn_0298CDBC(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_0298CDBC: ; // 0x298cdbc /* 0298CDBC */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0298CDBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CDBC */ cpu->r[1] = _t0; /* 0298CDC0 */ _t1 = cpu->r[1] + 0x0000001Cu; /* 0298CDC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298CDC4 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298CDC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298CDC8 */ cpu->r[28] = 0x00000000u; /* 0298CDCC */ cpu->r[31] = cpu->r[4]; /* 0298CDD0 */ _t3 = cpu->r[1] + 0x00000018u; /* 0298CDD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0298CDD4 */ cpu->r[4] = cpu->r[28]; /* 0298CDD8 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298CDD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0298CDDC */ _t5 = cpu->r[1] + 0x00000024u; /* 0298CDDC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298CDE0 */ cpu->r[29] = cpu->r[3]; /* 0298CDE4 */ Gambit_fn_028EFC14(cpu); /* 0298CDE8 */ cpu->r[30] = cpu->r[3]; /* 0298CDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298CDEC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CDEC */ _t7 = _t6 & 0x00000001u; /* 0298CDEC */ if (_t7) goto L_0298CE6C; else goto L_0298CDF0; L_0298CDF0: ; // 0x298cdf0 /* 0298CDF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CDF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CDF4 */ _t9 = _t8 & 0x00000001u; /* 0298CDF4 */ if (_t9) goto L_0298CDF8; else goto L_0298CE08; L_0298CDF8: ; // 0x298cdf8 /* 0298CDF8 */ cpu->r[3] = 0x101D0000u; /* 0298CDFC */ _t10 = cpu->r[3] + 0xFFFF98F0u; /* 0298CDFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0298CE00 */ Gambit_fn_02826F20(cpu); /* 0298CE04 */ cpu->r[31] = cpu->r[3]; L_0298CE08: ; // 0x298ce08 /* 0298CE08 */ cpu->r[5] = 0x00000020u; /* 0298CE0C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298CE10 */ cpu->r[4] = cpu->r[30]; /* 0298CE14 */ _t11 = cpu->r[1] + 0x00000008u; /* 0298CE14 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]); /* 0298CE18 */ Gambit_fn_0297EA50(cpu); /* 0298CE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CE20 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CE20 */ _t13 = _t12 & 0x00000001u; /* 0298CE20 */ if (_t13) goto L_0298CE68; else goto L_0298CE24; L_0298CE24: ; // 0x298ce24 /* 0298CE24 */ _t14 = cpu->r[29] + 0x00000018u; /* 0298CE24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298CE28 */ cpu->r[28] = cpu->r[3]; /* 0298CE2C */ cpu->r[5] = cpu->r[30]; /* 0298CE30 */ _t15 = cpu->r[29] + 0x00000018u; /* 0298CE30 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]); /* 0298CE34 */ cpu->r[3] = cpu->r[29]; /* 0298CE38 */ cpu->r[4] = cpu->r[28]; /* 0298CE3C */ _t16 = cpu->r[29] + 0x0000001Cu; /* 0298CE3C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 0298CE40 */ Gambit_fn_0298CD50(cpu); /* 0298CE44 */ cpu->r[5] = cpu->r[30]; /* 0298CE48 */ cpu->r[4] = cpu->r[28]; /* 0298CE4C */ cpu->r[3] = cpu->r[29]; /* 0298CE50 */ Gambit_fn_028EF9F0(cpu); /* 0298CE54 */ cpu->r[3] = 0x101D0000u; /* 0298CE58 */ _t17 = cpu->r[3] + 0xFFFF9B14u; /* 0298CE58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 0298CE5C */ Gambit_fn_028F0104(cpu); /* 0298CE60 */ cpu->r[3] = 0x00000001u; /* 0298CE64 */ goto L_0298CE8C; L_0298CE68: ; // 0x298ce68 /* 0298CE68 */ cpu->r[30] = 0x00000000u; L_0298CE6C: ; // 0x298ce6c /* 0298CE6C */ cpu->r[5] = cpu->r[30]; /* 0298CE70 */ cpu->r[4] = cpu->r[28]; /* 0298CE74 */ cpu->r[3] = cpu->r[29]; /* 0298CE78 */ Gambit_fn_028EF9F0(cpu); /* 0298CE7C */ cpu->r[3] = 0x101D0000u; /* 0298CE80 */ _t18 = cpu->r[3] + 0xFFFF9B14u; /* 0298CE80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18); /* 0298CE84 */ Gambit_fn_028F0104(cpu); /* 0298CE88 */ cpu->r[3] = 0x00000001u; L_0298CE8C: ; // 0x298ce8c /* 0298CE8C */ _t19 = cpu->r[1] + 0x00000010u; /* 0298CE8C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19); /* 0298CE90 */ _t20 = cpu->r[1] + 0x00000014u; /* 0298CE90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 0298CE94 */ _t21 = cpu->r[1] + 0x00000024u; /* 0298CE94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0298CE98 */ _t22 = cpu->r[1] + 0x00000018u; /* 0298CE98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 0298CE9C */ cpu->lr = cpu->r[0]; /* 0298CEA0 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0298CEA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 0298CEA4 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298CEA8 */ return; } // fn_0298CEAC @ 0x298ceac void Gambit_fn_0298CEAC(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_0298CEAC: ; // 0x298ceac /* 0298CEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298CEB0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CEB0 */ _t17 = _t16 & 0x00000001u; /* 0298CEB0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298CEB0 */ goto L_0298CEB4; L_0298CEB4: ; // 0x298ceb4 /* 0298CEB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298CEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298CEB8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CEB8 */ _t19 = _t18 & 0x00000001u; /* 0298CEB8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298CEB8 */ goto L_0298CEBC; L_0298CEBC: ; // 0x298cebc /* 0298CEBC */ goto L_02801BB0; } // fn_0298CEC0 @ 0x298cec0 void Gambit_fn_0298CEC0(CPUState* cpu) { L_0298CEC0: ; // 0x298cec0 /* 0298CEC0 */ return; } // fn_0298CEC4 @ 0x298cec4 void Gambit_fn_0298CEC4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_0298CEC4: ; // 0x298cec4 /* 0298CEC4 */ cpu->r[0] = cpu->lr; /* 0298CEC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298CEC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CEC8 */ cpu->r[1] = _t0; /* 0298CECC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298CECC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298CED0 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298CED0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298CED4 */ cpu->r[30] = cpu->r[3]; /* 0298CED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298CED8 */ cpu->r[31] = cpu->r[4]; /* 0298CEDC */ _t3 = cpu->r[1] + 0x00000014u; /* 0298CEDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298CEE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CEE0 */ _t5 = _t4 & 0x00000001u; /* 0298CEE0 */ if (_t5) goto L_0298CF18; else goto L_0298CEE4; L_0298CEE4: ; // 0x298cee4 /* 0298CEE4 */ cpu->r[0] = 0x10150000u; /* 0298CEE8 */ cpu->r[3] = cpu->r[30]; /* 0298CEEC */ cpu->r[0] = cpu->r[0] + 0xFFFFF8ACu; /* 0298CEF0 */ cpu->r[12] = 0x10150000u; /* 0298CEF4 */ _t6 = cpu->r[30] + 0x0000008Cu; /* 0298CEF4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298CEF8 */ cpu->r[12] = cpu->r[12] + 0xFFFFF8C4u; /* 0298CEFC */ cpu->r[4] = 0x00000000u; /* 0298CF00 */ _t7 = cpu->r[30] + 0x00000090u; /* 0298CF00 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 0298CF04 */ Gambit_fn_029905BC(cpu); /* 0298CF08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298CF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298CF0C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CF0C */ _t9 = _t8 & 0x00000001u; /* 0298CF0C */ if (_t9) goto L_0298CF18; else goto L_0298CF10; L_0298CF10: ; // 0x298cf10 /* 0298CF10 */ cpu->r[3] = cpu->r[30]; /* 0298CF14 */ Gambit_fn_02801BB0(cpu); L_0298CF18: ; // 0x298cf18 /* 0298CF18 */ _t10 = cpu->r[1] + 0x00000014u; /* 0298CF18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298CF1C */ _t11 = cpu->r[1] + 0x00000008u; /* 0298CF1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 0298CF20 */ cpu->lr = cpu->r[0]; /* 0298CF24 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0298CF24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 0298CF28 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298CF2C */ return; } // fn_0298CEC8 @ 0x298cec8 void Gambit_fn_0298CEC8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_0298CEC8: ; // 0x298cec8 /* 0298CEC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298CEC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CEC8 */ cpu->r[1] = _t0; /* 0298CECC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298CECC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298CED0 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298CED0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298CED4 */ cpu->r[30] = cpu->r[3]; /* 0298CED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298CED8 */ cpu->r[31] = cpu->r[4]; /* 0298CEDC */ _t3 = cpu->r[1] + 0x00000014u; /* 0298CEDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298CEE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CEE0 */ _t5 = _t4 & 0x00000001u; /* 0298CEE0 */ if (_t5) goto L_0298CF18; else goto L_0298CEE4; L_0298CEE4: ; // 0x298cee4 /* 0298CEE4 */ cpu->r[0] = 0x10150000u; /* 0298CEE8 */ cpu->r[3] = cpu->r[30]; /* 0298CEEC */ cpu->r[0] = cpu->r[0] + 0xFFFFF8ACu; /* 0298CEF0 */ cpu->r[12] = 0x10150000u; /* 0298CEF4 */ _t6 = cpu->r[30] + 0x0000008Cu; /* 0298CEF4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298CEF8 */ cpu->r[12] = cpu->r[12] + 0xFFFFF8C4u; /* 0298CEFC */ cpu->r[4] = 0x00000000u; /* 0298CF00 */ _t7 = cpu->r[30] + 0x00000090u; /* 0298CF00 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); /* 0298CF04 */ Gambit_fn_029905BC(cpu); /* 0298CF08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298CF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298CF0C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CF0C */ _t9 = _t8 & 0x00000001u; /* 0298CF0C */ if (_t9) goto L_0298CF18; else goto L_0298CF10; L_0298CF10: ; // 0x298cf10 /* 0298CF10 */ cpu->r[3] = cpu->r[30]; /* 0298CF14 */ Gambit_fn_02801BB0(cpu); L_0298CF18: ; // 0x298cf18 /* 0298CF18 */ _t10 = cpu->r[1] + 0x00000014u; /* 0298CF18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298CF1C */ _t11 = cpu->r[1] + 0x00000008u; /* 0298CF1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 0298CF20 */ cpu->lr = cpu->r[0]; /* 0298CF24 */ _t12 = cpu->r[1] + 0x0000000Cu; /* 0298CF24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 0298CF28 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298CF2C */ return; } // fn_0298CF30 @ 0x298cf30 void Gambit_fn_0298CF30(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0298CF30: ; // 0x298cf30 /* 0298CF30 */ cpu->r[3] = cpu->r[3] + 0xFFFFFF74u; /* 0298CF34 */ goto L_029906F8; L_029906F8: ; // 0x29906f8 /* 029906F8 */ cpu->r[0] = cpu->lr; /* 029906FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029906FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029906FC */ cpu->r[1] = _t0; /* 02990700 */ _t1 = cpu->r[1] + 0x00000014u; /* 02990700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02990704 */ cpu->r[31] = cpu->r[4]; /* 02990708 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02990708 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0299070C */ _t3 = cpu->r[31] + 0x00000000u; /* 0299070C */ cpu->r[6] = rbrew_read32(cpu->mem, _t3); /* 02990710 */ _t4 = cpu->r[5] + 0x00000008u; /* 02990710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02990714 */ _t5 = cpu->r[6] + 0x00000000u; /* 02990714 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5); /* 02990718 */ cpu->r[9] = 0x34000000u; /* 0299071C */ _t6 = cpu->r[1] + 0x00000008u; /* 0299071C */ rbrew_write32(cpu->mem, _t6, cpu->r[7]); /* 02990720 */ _t7 = cpu->r[12] + 0x00000000u; /* 02990720 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 02990724 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 02990728 */ cpu->r[8] = cpu->r[8] & cpu->r[9]; /* 0299072C */ _t8 = cpu->r[12] + 0x00000000u; /* 0299072C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 02990730 */ _t9 = cpu->r[5] + 0x00000000u; /* 02990730 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02990734 */ _t10 = cpu->r[5] + 0x00000004u; /* 02990734 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 02990738 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02990738 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]); /* 0299073C */ _t12 = cpu->r[1] + 0x00000010u; /* 0299073C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]); /* 02990740 */ _t13 = cpu->r[3] + 0x000000E4u; /* 02990740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 02990740 */ cpu->r[3] = _t13; /* 02990744 */ _t14 = cpu->r[12] + 0x0000000Cu; /* 02990744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02990748 */ cpu->ctr = cpu->r[0]; /* 0299074C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02990750 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990754 */ _t15 = cpu->r[1] + 0x00000008u; /* 02990754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02990758 */ _t16 = cpu->r[31] + 0x00000004u; /* 02990758 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 0299075C */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0299075C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02990760 */ cpu->lr = cpu->r[0]; /* 02990764 */ _t18 = cpu->r[1] + 0x00000014u; /* 02990764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02990768 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0299076C */ return; } // fn_0298CF38 @ 0x298cf38 void Gambit_fn_0298CF38(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298CF38: ; // 0x298cf38 /* 0298CF38 */ cpu->r[0] = cpu->lr; /* 0298CF3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298CF3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CF3C */ cpu->r[1] = _t0; /* 0298CF40 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298CF40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298CF44 */ cpu->r[31] = cpu->r[3]; /* 0298CF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CF48 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298CF48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298CF4C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CF4C */ _t4 = _t3 & 0x00000001u; /* 0298CF4C */ if (_t4) goto L_0298CF50; else goto L_0298CF60; L_0298CF50: ; // 0x298cf50 /* 0298CF50 */ cpu->r[3] = 0x0000008Cu; /* 0298CF54 */ Gambit_fn_02801A78(cpu); /* 0298CF58 */ cpu->r[31] = cpu->r[3]; /* 0298CF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CF5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CF5C */ _t6 = _t5 & 0x00000001u; /* 0298CF5C */ if (_t6) goto L_0298CF7C; else goto L_0298CF60; L_0298CF60: ; // 0x298cf60 /* 0298CF60 */ cpu->r[3] = cpu->r[31]; /* 0298CF64 */ Gambit_fn_02997EB0(cpu); /* 0298CF68 */ cpu->r[12] = 0x10150000u; /* 0298CF6C */ cpu->r[0] = 0x00000000u; /* 0298CF70 */ cpu->r[12] = cpu->r[12] + 0xFFFFF8D4u; /* 0298CF74 */ _t7 = cpu->r[31] + 0x00000088u; /* 0298CF74 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0298CF78 */ _t8 = cpu->r[31] + 0x0000000Cu; /* 0298CF78 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); L_0298CF7C: ; // 0x298cf7c /* 0298CF7C */ _t9 = cpu->r[1] + 0x00000014u; /* 0298CF7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298CF80 */ cpu->r[3] = cpu->r[31]; /* 0298CF84 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298CF84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298CF88 */ cpu->lr = cpu->r[0]; /* 0298CF8C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298CF90 */ return; } // fn_0298CF3C @ 0x298cf3c void Gambit_fn_0298CF3C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298CF3C: ; // 0x298cf3c /* 0298CF3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298CF3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CF3C */ cpu->r[1] = _t0; /* 0298CF40 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298CF40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298CF44 */ cpu->r[31] = cpu->r[3]; /* 0298CF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CF48 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298CF48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298CF4C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CF4C */ _t4 = _t3 & 0x00000001u; /* 0298CF4C */ if (_t4) goto L_0298CF50; else goto L_0298CF60; L_0298CF50: ; // 0x298cf50 /* 0298CF50 */ cpu->r[3] = 0x0000008Cu; /* 0298CF54 */ Gambit_fn_02801A78(cpu); /* 0298CF58 */ cpu->r[31] = cpu->r[3]; /* 0298CF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CF5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CF5C */ _t6 = _t5 & 0x00000001u; /* 0298CF5C */ if (_t6) goto L_0298CF7C; else goto L_0298CF60; L_0298CF60: ; // 0x298cf60 /* 0298CF60 */ cpu->r[3] = cpu->r[31]; /* 0298CF64 */ Gambit_fn_02997EB0(cpu); /* 0298CF68 */ cpu->r[12] = 0x10150000u; /* 0298CF6C */ cpu->r[0] = 0x00000000u; /* 0298CF70 */ cpu->r[12] = cpu->r[12] + 0xFFFFF8D4u; /* 0298CF74 */ _t7 = cpu->r[31] + 0x00000088u; /* 0298CF74 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0298CF78 */ _t8 = cpu->r[31] + 0x0000000Cu; /* 0298CF78 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); L_0298CF7C: ; // 0x298cf7c /* 0298CF7C */ _t9 = cpu->r[1] + 0x00000014u; /* 0298CF7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298CF80 */ cpu->r[3] = cpu->r[31]; /* 0298CF84 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298CF84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298CF88 */ cpu->lr = cpu->r[0]; /* 0298CF8C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298CF90 */ return; } // fn_0298CF94 @ 0x298cf94 void Gambit_fn_0298CF94(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298CF94: ; // 0x298cf94 /* 0298CF94 */ cpu->r[0] = cpu->lr; /* 0298CF98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298CF98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CF98 */ cpu->r[1] = _t0; /* 0298CF9C */ _t1 = cpu->r[1] + 0x00000008u; /* 0298CF9C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298CFA0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298CFA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298CFA4 */ cpu->r[31] = cpu->r[3]; /* 0298CFA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CFA8 */ cpu->r[30] = cpu->r[4]; /* 0298CFAC */ _t3 = cpu->r[1] + 0x00000014u; /* 0298CFAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298CFB0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CFB0 */ _t5 = _t4 & 0x00000001u; /* 0298CFB0 */ if (_t5) goto L_0298CFD0; else goto L_0298CFB4; L_0298CFB4: ; // 0x298cfb4 /* 0298CFB4 */ cpu->r[3] = cpu->r[31]; /* 0298CFB8 */ cpu->r[4] = 0x00000000u; /* 0298CFBC */ Gambit_fn_02997F4C(cpu); /* 0298CFC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298CFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298CFC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CFC4 */ _t7 = _t6 & 0x00000001u; /* 0298CFC4 */ if (_t7) goto L_0298CFD0; else goto L_0298CFC8; L_0298CFC8: ; // 0x298cfc8 /* 0298CFC8 */ cpu->r[3] = cpu->r[31]; /* 0298CFCC */ Gambit_fn_02801BB0(cpu); L_0298CFD0: ; // 0x298cfd0 /* 0298CFD0 */ _t8 = cpu->r[1] + 0x00000014u; /* 0298CFD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298CFD4 */ _t9 = cpu->r[1] + 0x00000008u; /* 0298CFD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0298CFD8 */ cpu->lr = cpu->r[0]; /* 0298CFDC */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298CFDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298CFE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298CFE4 */ return; } // fn_0298CF98 @ 0x298cf98 void Gambit_fn_0298CF98(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298CF98: ; // 0x298cf98 /* 0298CF98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298CF98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CF98 */ cpu->r[1] = _t0; /* 0298CF9C */ _t1 = cpu->r[1] + 0x00000008u; /* 0298CF9C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298CFA0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298CFA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298CFA4 */ cpu->r[31] = cpu->r[3]; /* 0298CFA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298CFA8 */ cpu->r[30] = cpu->r[4]; /* 0298CFAC */ _t3 = cpu->r[1] + 0x00000014u; /* 0298CFAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298CFB0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CFB0 */ _t5 = _t4 & 0x00000001u; /* 0298CFB0 */ if (_t5) goto L_0298CFD0; else goto L_0298CFB4; L_0298CFB4: ; // 0x298cfb4 /* 0298CFB4 */ cpu->r[3] = cpu->r[31]; /* 0298CFB8 */ cpu->r[4] = 0x00000000u; /* 0298CFBC */ Gambit_fn_02997F4C(cpu); /* 0298CFC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298CFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298CFC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298CFC4 */ _t7 = _t6 & 0x00000001u; /* 0298CFC4 */ if (_t7) goto L_0298CFD0; else goto L_0298CFC8; L_0298CFC8: ; // 0x298cfc8 /* 0298CFC8 */ cpu->r[3] = cpu->r[31]; /* 0298CFCC */ Gambit_fn_02801BB0(cpu); L_0298CFD0: ; // 0x298cfd0 /* 0298CFD0 */ _t8 = cpu->r[1] + 0x00000014u; /* 0298CFD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298CFD4 */ _t9 = cpu->r[1] + 0x00000008u; /* 0298CFD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0298CFD8 */ cpu->lr = cpu->r[0]; /* 0298CFDC */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298CFDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298CFE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298CFE4 */ return; } // fn_0298CFE8 @ 0x298cfe8 void Gambit_fn_0298CFE8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0298CFE8: ; // 0x298cfe8 /* 0298CFE8 */ cpu->r[0] = cpu->lr; /* 0298CFEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298CFEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CFEC */ cpu->r[1] = _t0; /* 0298CFF0 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298CFF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298CFF4 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298CFF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298CFF8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298CFF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298CFFC */ _t4 = cpu->r[3] + 0x0000000Cu; /* 0298CFFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 0298D000 */ _t5 = cpu->r[10] + 0x0000002Cu; /* 0298D000 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0298D004 */ cpu->ctr = cpu->r[12]; /* 0298D008 */ cpu->r[30] = cpu->r[3]; /* 0298D00C */ cpu->r[31] = cpu->r[4]; /* 0298D010 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D014 */ _t6 = cpu->r[31] + 0x00000010u; /* 0298D014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298D018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 0298D01C */ cpu->r[11] = 0x00000000u; /* 0298D020 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D020 */ _t8 = _t7 & 0x00000001u; /* 0298D020 */ if (_t8) goto L_0298D024; else goto L_0298D030; L_0298D024: ; // 0x298d024 /* 0298D024 */ _t9 = cpu->r[31] + 0x00000018u; /* 0298D024 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 0298D028 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298D02C */ _t10 = cpu->r[8] + cpu->r[9]; /* 0298D02C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); L_0298D030: ; // 0x298d030 /* 0298D030 */ _t11 = cpu->r[30] + 0x00000088u; /* 0298D030 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]); /* 0298D034 */ _t12 = cpu->r[1] + 0x00000014u; /* 0298D034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0298D038 */ _t13 = cpu->r[1] + 0x00000008u; /* 0298D038 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0298D03C */ cpu->lr = cpu->r[0]; /* 0298D040 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0298D040 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0298D044 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D048 */ return; } // fn_0298CFEC @ 0x298cfec void Gambit_fn_0298CFEC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0298CFEC: ; // 0x298cfec /* 0298CFEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298CFEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298CFEC */ cpu->r[1] = _t0; /* 0298CFF0 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298CFF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298CFF4 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298CFF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298CFF8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298CFF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298CFFC */ _t4 = cpu->r[3] + 0x0000000Cu; /* 0298CFFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 0298D000 */ _t5 = cpu->r[10] + 0x0000002Cu; /* 0298D000 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0298D004 */ cpu->ctr = cpu->r[12]; /* 0298D008 */ cpu->r[30] = cpu->r[3]; /* 0298D00C */ cpu->r[31] = cpu->r[4]; /* 0298D010 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D014 */ _t6 = cpu->r[31] + 0x00000010u; /* 0298D014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298D018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 0298D01C */ cpu->r[11] = 0x00000000u; /* 0298D020 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D020 */ _t8 = _t7 & 0x00000001u; /* 0298D020 */ if (_t8) goto L_0298D024; else goto L_0298D030; L_0298D024: ; // 0x298d024 /* 0298D024 */ _t9 = cpu->r[31] + 0x00000018u; /* 0298D024 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 0298D028 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298D02C */ _t10 = cpu->r[8] + cpu->r[9]; /* 0298D02C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); L_0298D030: ; // 0x298d030 /* 0298D030 */ _t11 = cpu->r[30] + 0x00000088u; /* 0298D030 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]); /* 0298D034 */ _t12 = cpu->r[1] + 0x00000014u; /* 0298D034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0298D038 */ _t13 = cpu->r[1] + 0x00000008u; /* 0298D038 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13); /* 0298D03C */ cpu->lr = cpu->r[0]; /* 0298D040 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0298D040 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14); /* 0298D044 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D048 */ return; } // fn_0298D04C @ 0x298d04c void Gambit_fn_0298D04C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0298D04C: ; // 0x298d04c /* 0298D04C */ cpu->r[0] = cpu->lr; /* 0298D050 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D050 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D050 */ cpu->r[1] = _t0; /* 0298D054 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298D054 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298D058 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298D058 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298D05C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298D05C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298D060 */ _t4 = cpu->r[3] + 0x0000000Cu; /* 0298D060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298D064 */ _t5 = cpu->r[12] + 0x0000002Cu; /* 0298D064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298D068 */ cpu->ctr = cpu->r[0]; /* 0298D06C */ cpu->r[31] = cpu->r[4]; /* 0298D070 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D074 */ cpu->r[0] = 0x101D0000u; /* 0298D078 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298D07C */ cpu->r[0] = cpu->r[0] + 0xFFFFA6A4u; /* 0298D080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298D084 */ _t6 = cpu->r[12] + cpu->r[0]; /* 0298D084 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 0298D088 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D088 */ _t8 = _t7 & 0x00000001u; /* 0298D088 */ if (_t8) goto L_0298D08C; else goto L_0298D09C; L_0298D08C: ; // 0x298d08c /* 0298D08C */ cpu->r[3] = 0x00000008u; /* 0298D090 */ Gambit_fn_02801A78(cpu); /* 0298D094 */ cpu->r[31] = cpu->r[3]; /* 0298D094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298D098 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D098 */ _t10 = _t9 & 0x00000001u; /* 0298D098 */ if (_t10) goto L_0298D0AC; else goto L_0298D09C; L_0298D09C: ; // 0x298d09c /* 0298D09C */ cpu->r[0] = 0x10150000u; /* 0298D0A0 */ _t11 = cpu->r[31] + 0x00000000u; /* 0298D0A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 0298D0A4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF550u; /* 0298D0A8 */ _t12 = cpu->r[31] + 0x00000004u; /* 0298D0A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); L_0298D0AC: ; // 0x298d0ac /* 0298D0AC */ _t13 = cpu->r[1] + 0x00000014u; /* 0298D0AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298D0B0 */ _t14 = cpu->r[1] + 0x00000008u; /* 0298D0B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0298D0B4 */ cpu->lr = cpu->r[0]; /* 0298D0B8 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298D0B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0298D0BC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D0C0 */ return; } // fn_0298D050 @ 0x298d050 void Gambit_fn_0298D050(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0298D050: ; // 0x298d050 /* 0298D050 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D050 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D050 */ cpu->r[1] = _t0; /* 0298D054 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298D054 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298D058 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298D058 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298D05C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298D05C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298D060 */ _t4 = cpu->r[3] + 0x0000000Cu; /* 0298D060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298D064 */ _t5 = cpu->r[12] + 0x0000002Cu; /* 0298D064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298D068 */ cpu->ctr = cpu->r[0]; /* 0298D06C */ cpu->r[31] = cpu->r[4]; /* 0298D070 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D074 */ cpu->r[0] = 0x101D0000u; /* 0298D078 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298D07C */ cpu->r[0] = cpu->r[0] + 0xFFFFA6A4u; /* 0298D080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298D084 */ _t6 = cpu->r[12] + cpu->r[0]; /* 0298D084 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 0298D088 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D088 */ _t8 = _t7 & 0x00000001u; /* 0298D088 */ if (_t8) goto L_0298D08C; else goto L_0298D09C; L_0298D08C: ; // 0x298d08c /* 0298D08C */ cpu->r[3] = 0x00000008u; /* 0298D090 */ Gambit_fn_02801A78(cpu); /* 0298D094 */ cpu->r[31] = cpu->r[3]; /* 0298D094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298D098 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D098 */ _t10 = _t9 & 0x00000001u; /* 0298D098 */ if (_t10) goto L_0298D0AC; else goto L_0298D09C; L_0298D09C: ; // 0x298d09c /* 0298D09C */ cpu->r[0] = 0x10150000u; /* 0298D0A0 */ _t11 = cpu->r[31] + 0x00000000u; /* 0298D0A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 0298D0A4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF550u; /* 0298D0A8 */ _t12 = cpu->r[31] + 0x00000004u; /* 0298D0A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); L_0298D0AC: ; // 0x298d0ac /* 0298D0AC */ _t13 = cpu->r[1] + 0x00000014u; /* 0298D0AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298D0B0 */ _t14 = cpu->r[1] + 0x00000008u; /* 0298D0B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0298D0B4 */ cpu->lr = cpu->r[0]; /* 0298D0B8 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298D0B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0298D0BC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D0C0 */ return; } // fn_0298D0C4 @ 0x298d0c4 void Gambit_fn_0298D0C4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_0298D0C4: ; // 0x298d0c4 /* 0298D0C4 */ _t0 = cpu->r[3] + 0x00000000u; /* 0298D0C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0298D0C8 */ _t1 = cpu->r[12] + 0x00000034u; /* 0298D0C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0298D0CC */ _t2 = cpu->r[12] + 0x00000000u; /* 0298D0CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2); /* 0298D0D0 */ _t3 = cpu->r[4] + 0x00000000u; /* 0298D0D0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]); /* 0298D0D4 */ _t4 = cpu->r[12] + 0x00000004u; /* 0298D0D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4); /* 0298D0D8 */ _t5 = cpu->r[4] + 0x00000004u; /* 0298D0D8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]); /* 0298D0DC */ _t6 = cpu->r[12] + 0x00000008u; /* 0298D0DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6); /* 0298D0E0 */ _t7 = cpu->r[4] + 0x00000008u; /* 0298D0E0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]); /* 0298D0E4 */ _t8 = cpu->r[12] + 0x0000000Cu; /* 0298D0E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8); /* 0298D0E8 */ _t9 = cpu->r[4] + 0x0000000Cu; /* 0298D0E8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]); /* 0298D0EC */ return; } // fn_0298D0F0 @ 0x298d0f0 void Gambit_fn_0298D0F0(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_0298D0F0: ; // 0x298d0f0 /* 0298D0F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0298D0F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D0F0 */ cpu->r[1] = _t0; /* 0298D0F4 */ /* nop */ /* 0298D0F8 */ cpu->r[0] = cpu->lr; /* 0298D0FC */ _t1 = cpu->r[1] + 0x00000024u; /* 0298D0FC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298D100 */ cpu->r[29] = cpu->r[4]; /* 0298D104 */ cpu->r[28] = cpu->r[3]; /* 0298D108 */ _t2 = cpu->r[28] + 0x00000010u; /* 0298D108 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2); /* 0298D10C */ _t3 = cpu->r[29] + 0x00000002u; /* 0298D10C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3); /* 0298D110 */ _t4 = cpu->r[6] + 0x00000000u; /* 0298D110 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 0298D114 */ cpu->r[7] = cpu->r[0] ^ 0x0000000Bu; /* 0298D118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u); /* 0298D11C */ _t5 = cpu->r[8] + 0x00000034u; /* 0298D11C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0298D120 */ cpu->r[9] = rbrew_clz32(cpu->r[7]); /* 0298D124 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000006u, 0x00000000u, 0x00000019u); /* 0298D128 */ _t6 = cpu->r[28] + 0x00000000u; /* 0298D128 */ cpu->r[27] = rbrew_read32(cpu->mem, _t6); /* 0298D12C */ cpu->r[12] = cpu->r[11] + 0x00000008u; /* 0298D130 */ cpu->r[31] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu); /* 0298D134 */ cpu->r[30] = cpu->r[12] + cpu->r[0]; /* 0298D138 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D138 */ _t8 = _t7 & 0x00000001u; /* 0298D138 */ if (_t8) goto L_0298D158; else goto L_0298D13C; L_0298D13C: ; // 0x298d13c /* 0298D13C */ _t9 = cpu->r[28] + 0x0000000Cu; /* 0298D13C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0298D140 */ _t10 = cpu->r[10] + 0x0000008Cu; /* 0298D140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298D144 */ cpu->ctr = cpu->r[0]; /* 0298D148 */ cpu->r[3] = cpu->r[28]; /* 0298D14C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u); /* 0298D154 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D154 */ _t12 = _t11 & 0x00000001u; /* 0298D154 */ if (_t12) goto L_0298D1E4; else goto L_0298D158; L_0298D158: ; // 0x298d158 /* 0298D158 */ cpu->r[3] = cpu->r[29]; /* 0298D15C */ cpu->r[4] = cpu->r[28]; /* 0298D160 */ Gambit_fn_02994E08(cpu); /* 0298D164 */ _t13 = cpu->r[29] + 0x00000002u; /* 0298D164 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13); /* 0298D168 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298D16C */ cpu->r[6] = cpu->r[28] + cpu->r[12]; /* 0298D170 */ _t14 = cpu->r[6] + 0x00000020u; /* 0298D170 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14); /* 0298D174 */ _t15 = cpu->r[5] + 0x0000000Cu; /* 0298D174 */ cpu->r[7] = rbrew_read8(cpu->mem, _t15); /* 0298D178 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0298D178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0298D17C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D17C */ _t17 = _t16 & 0x00000001u; /* 0298D17C */ if (_t17) goto L_0298D1B8; else goto L_0298D180; L_0298D180: ; // 0x298d180 /* 0298D180 */ _t18 = cpu->r[27] + 0x00000005u; /* 0298D180 */ cpu->r[10] = rbrew_read8(cpu->mem, _t18); /* 0298D184 */ _t19 = cpu->r[5] + 0x00000004u; /* 0298D184 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19); /* 0298D188 */ _t20 = cpu->r[5] + 0x00000000u; /* 0298D188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20); /* 0298D18C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[11]); /* 0298D190 */ _t21 = cpu->r[5] + 0x00000008u; /* 0298D190 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21); /* 0298D194 */ cpu->r[3] = cpu->r[12] + cpu->r[9]; /* 0298D198 */ rbrew_dispatch(cpu, 0x02d05888u); /* 0298D19C */ _t22 = cpu->r[27] + 0x00000154u; /* 0298D19C */ cpu->r[5] = rbrew_read32(cpu->mem, _t22); /* 0298D1A0 */ cpu->r[7] = cpu->r[31]; /* 0298D1A4 */ _t23 = cpu->r[28] + 0x00000088u; /* 0298D1A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23); /* 0298D1A8 */ _t24 = cpu->r[29] + 0x00000002u; /* 0298D1A8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t24); /* 0298D1AC */ _t25 = cpu->r[27] + 0x00000150u; /* 0298D1AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t25); /* 0298D1B0 */ Gambit_fn_02A29744(cpu); /* 0298D1B4 */ goto L_0298D1E4; L_0298D1B8: ; // 0x298d1b8 /* 0298D1B8 */ _t26 = cpu->r[29] + 0x00000001u; /* 0298D1B8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t26); /* 0298D1BC */ cpu->r[4] = cpu->r[30]; /* 0298D1C0 */ _t27 = cpu->r[27] + 0x00000005u; /* 0298D1C0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t27); /* 0298D1C4 */ cpu->r[3] = cpu->r[28]; /* 0298D1C8 */ Gambit_fn_02998BFC(cpu); /* 0298D1CC */ _t28 = cpu->r[27] + 0x00000150u; /* 0298D1CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t28); /* 0298D1D0 */ cpu->r[7] = cpu->r[31]; /* 0298D1D4 */ _t29 = cpu->r[29] + 0x00000002u; /* 0298D1D4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t29); /* 0298D1D8 */ _t30 = cpu->r[28] + 0x00000088u; /* 0298D1D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30); /* 0298D1DC */ _t31 = cpu->r[27] + 0x00000154u; /* 0298D1DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t31); /* 0298D1E0 */ Gambit_fn_02A29744(cpu); L_0298D1E4: ; // 0x298d1e4 /* 0298D1E4 */ /* nop */ /* 0298D1E8 */ _t32 = cpu->r[1] + 0x00000024u; /* 0298D1E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 0298D1EC */ cpu->lr = cpu->r[0]; /* 0298D1F0 */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298D1F4 */ return; } // fn_0298D1F8 @ 0x298d1f8 void Gambit_fn_0298D1F8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0298D1F8: ; // 0x298d1f8 /* 0298D1F8 */ cpu->r[0] = cpu->lr; /* 0298D1FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298D1FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D1FC */ cpu->r[1] = _t0; /* 0298D200 */ cpu->r[12] = 0x10150000u; /* 0298D204 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298D204 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298D208 */ cpu->r[30] = cpu->r[3]; /* 0298D20C */ cpu->r[12] = cpu->r[12] + 0xFFFFF550u; /* 0298D210 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298D210 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298D214 */ cpu->r[3] = cpu->r[4]; /* 0298D218 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0298D218 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298D21C */ cpu->r[0] = 0x10150000u; /* 0298D220 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0298D220 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]); /* 0298D224 */ cpu->r[0] = cpu->r[0] + 0xFFFFF604u; /* 0298D228 */ cpu->r[4] = cpu->r[5]; /* 0298D22C */ _t5 = cpu->r[1] + 0x00000008u; /* 0298D22C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298D230 */ Gambit_fn_02A27B60(cpu); /* 0298D234 */ cpu->r[31] = cpu->r[3]; /* 0298D238 */ cpu->r[3] = 0x00000004u; /* 0298D23C */ Gambit_fn_028249FC(cpu); /* 0298D240 */ cpu->r[3] = cpu->r[31] + cpu->r[3]; /* 0298D244 */ cpu->r[5] = cpu->r[30]; /* 0298D248 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0298D24C */ cpu->r[6] = 0x00000001u; /* 0298D250 */ cpu->r[7] = 0x00000000u; /* 0298D254 */ Gambit_fn_028249F8(cpu); /* 0298D258 */ _t6 = cpu->r[1] + 0x0000001Cu; /* 0298D258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298D25C */ _t7 = cpu->r[1] + 0x00000014u; /* 0298D25C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0298D260 */ cpu->lr = cpu->r[0]; /* 0298D264 */ _t8 = cpu->r[1] + 0x00000010u; /* 0298D264 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 0298D268 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298D26C */ return; } // fn_0298D1FC @ 0x298d1fc void Gambit_fn_0298D1FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0298D1FC: ; // 0x298d1fc /* 0298D1FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298D1FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D1FC */ cpu->r[1] = _t0; /* 0298D200 */ cpu->r[12] = 0x10150000u; /* 0298D204 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298D204 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298D208 */ cpu->r[30] = cpu->r[3]; /* 0298D20C */ cpu->r[12] = cpu->r[12] + 0xFFFFF550u; /* 0298D210 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298D210 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298D214 */ cpu->r[3] = cpu->r[4]; /* 0298D218 */ _t3 = cpu->r[1] + 0x0000001Cu; /* 0298D218 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298D21C */ cpu->r[0] = 0x10150000u; /* 0298D220 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0298D220 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]); /* 0298D224 */ cpu->r[0] = cpu->r[0] + 0xFFFFF604u; /* 0298D228 */ cpu->r[4] = cpu->r[5]; /* 0298D22C */ _t5 = cpu->r[1] + 0x00000008u; /* 0298D22C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298D230 */ Gambit_fn_02A27B60(cpu); /* 0298D234 */ cpu->r[31] = cpu->r[3]; /* 0298D238 */ cpu->r[3] = 0x00000004u; /* 0298D23C */ Gambit_fn_028249FC(cpu); /* 0298D240 */ cpu->r[3] = cpu->r[31] + cpu->r[3]; /* 0298D244 */ cpu->r[5] = cpu->r[30]; /* 0298D248 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0298D24C */ cpu->r[6] = 0x00000001u; /* 0298D250 */ cpu->r[7] = 0x00000000u; /* 0298D254 */ Gambit_fn_028249F8(cpu); /* 0298D258 */ _t6 = cpu->r[1] + 0x0000001Cu; /* 0298D258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298D25C */ _t7 = cpu->r[1] + 0x00000014u; /* 0298D25C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0298D260 */ cpu->lr = cpu->r[0]; /* 0298D264 */ _t8 = cpu->r[1] + 0x00000010u; /* 0298D264 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 0298D268 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298D26C */ return; } // fn_0298D270 @ 0x298d270 void Gambit_fn_0298D270(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_0298D270: ; // 0x298d270 /* 0298D270 */ cpu->r[0] = cpu->lr; /* 0298D274 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D274 */ cpu->r[1] = _t0; /* 0298D278 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298D278 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298D27C */ cpu->r[31] = cpu->r[3]; /* 0298D280 */ cpu->r[3] = cpu->r[4]; /* 0298D284 */ cpu->r[4] = cpu->r[5]; /* 0298D288 */ cpu->r[5] = cpu->r[6]; /* 0298D28C */ _t2 = cpu->r[1] + 0x00000014u; /* 0298D28C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298D290 */ Gambit_fn_0298D1F8(cpu); /* 0298D294 */ _t3 = cpu->r[31] + 0x00000164u; /* 0298D294 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]); /* 0298D298 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298D298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0298D29C */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0298D29C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 0298D2A0 */ cpu->lr = cpu->r[0]; /* 0298D2A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D2A8 */ return; } // fn_0298D274 @ 0x298d274 void Gambit_fn_0298D274(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_0298D274: ; // 0x298d274 /* 0298D274 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D274 */ cpu->r[1] = _t0; /* 0298D278 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298D278 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298D27C */ cpu->r[31] = cpu->r[3]; /* 0298D280 */ cpu->r[3] = cpu->r[4]; /* 0298D284 */ cpu->r[4] = cpu->r[5]; /* 0298D288 */ cpu->r[5] = cpu->r[6]; /* 0298D28C */ _t2 = cpu->r[1] + 0x00000014u; /* 0298D28C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298D290 */ Gambit_fn_0298D1F8(cpu); /* 0298D294 */ _t3 = cpu->r[31] + 0x00000164u; /* 0298D294 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]); /* 0298D298 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298D298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0298D29C */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0298D29C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5); /* 0298D2A0 */ cpu->lr = cpu->r[0]; /* 0298D2A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D2A8 */ return; } // fn_0298D2AC @ 0x298d2ac void Gambit_fn_0298D2AC(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_0298D2AC: ; // 0x298d2ac /* 0298D2AC */ cpu->r[0] = cpu->lr; /* 0298D2B0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0298D2B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D2B0 */ cpu->r[1] = _t0; /* 0298D2B4 */ cpu->r[11] = cpu->r[4]; /* 0298D2B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298D2B8 */ /* nop */ /* 0298D2BC */ cpu->r[30] = cpu->r[3]; /* 0298D2C0 */ cpu->r[26] = cpu->r[5]; /* 0298D2C4 */ cpu->r[3] = cpu->r[6]; /* 0298D2C8 */ cpu->r[27] = cpu->r[8]; /* 0298D2CC */ cpu->r[4] = cpu->r[7]; /* 0298D2D0 */ cpu->r[31] = 0x00000000u; /* 0298D2D4 */ _t1 = cpu->r[1] + 0x00000034u; /* 0298D2D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298D2D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D2D8 */ _t3 = _t2 & 0x00000001u; /* 0298D2D8 */ if (_t3) goto L_0298D3C4; else goto L_0298D2DC; L_0298D2DC: ; // 0x298d2dc /* 0298D2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0298D2E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D2E0 */ _t5 = _t4 & 0x00000001u; /* 0298D2E0 */ if (_t5) goto L_0298D3C4; else goto L_0298D2E4; L_0298D2E4: ; // 0x298d2e4 /* 0298D2E4 */ cpu->r[8] = 0x00000003u; /* 0298D2E8 */ cpu->r[0] = 0x00000000u; /* 0298D2EC */ cpu->ctr = cpu->r[8]; /* 0298D2F0 */ cpu->r[12] = cpu->r[1] + 0x00000004u; L_0298D2F4: ; // 0x298d2f4 /* 0298D2F4 */ _t6 = cpu->r[12] + 0x00000004u; /* 0298D2F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298D2F4 */ cpu->r[12] = _t6; /* 0298D2F8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0298D2F8 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0298D2F8 */ _t8 = _t7 >> (0x00000002u & 31u); /* 0298D2F8 */ _t9 = _t8 & 0x00000001u; /* 0298D2F8 */ if (_t9) goto L_0298D2F4; else goto L_0298D2FC; L_0298D2FC: ; // 0x298d2fc /* 0298D2FC */ cpu->r[5] = cpu->r[11]; /* 0298D300 */ Gambit_fn_02A27E5C(cpu); /* 0298D304 */ _t10 = cpu->r[30] + 0x00000088u; /* 0298D304 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 0298D308 */ _t11 = cpu->r[7] + 0x000001ACu; /* 0298D308 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 0298D30C */ cpu->r[31] = cpu->r[3]; /* 0298D310 */ cpu->ctr = cpu->r[9]; /* 0298D314 */ cpu->r[25] = 0x00000000u; /* 0298D318 */ cpu->r[3] = cpu->r[30]; /* 0298D31C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[3]); /* 0298D324 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D324 */ _t13 = _t12 & 0x00000001u; /* 0298D324 */ if (_t13) goto L_0298D328; else goto L_0298D3A0; L_0298D328: ; // 0x298d328 /* 0298D328 */ cpu->r[29] = cpu->r[1] + 0x00000008u; /* 0298D32C */ cpu->r[28] = 0x00000000u; L_0298D330: ; // 0x298d330 /* 0298D330 */ _t14 = cpu->r[30] + 0x00000088u; /* 0298D330 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 0298D334 */ _t15 = cpu->r[10] + 0x000001B4u; /* 0298D334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0298D338 */ cpu->ctr = cpu->r[0]; /* 0298D33C */ cpu->r[4] = cpu->r[25]; /* 0298D340 */ cpu->r[3] = cpu->r[30]; /* 0298D344 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D348 */ _t16 = cpu->r[3] + 0x0000000Cu; /* 0298D348 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298D34C */ _t17 = cpu->r[12] + 0x0000002Cu; /* 0298D34C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0298D350 */ cpu->ctr = cpu->r[0]; /* 0298D354 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D358 */ _t18 = cpu->r[30] + 0x000000CCu; /* 0298D358 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 0298D35C */ cpu->r[0] = cpu->r[3]; /* 0298D360 */ _t19 = cpu->r[30] + 0x00000088u; /* 0298D360 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19); /* 0298D364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u); /* 0298D368 */ cpu->r[8] = cpu->r[1] + 0x00000008u; /* 0298D36C */ _t20 = cpu->r[6] + cpu->r[28]; /* 0298D36C */ cpu->r[7] = rbrew_read32(cpu->mem, _t20); /* 0298D370 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D370 */ _t22 = _t21 & 0x00000001u; /* 0298D370 */ if (_t22) goto L_0298D374; else goto L_0298D37C; L_0298D374: ; // 0x298d374 /* 0298D374 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298D378 */ cpu->r[8] = cpu->r[29] + cpu->r[0]; L_0298D37C: ; // 0x298d37c /* 0298D37C */ _t23 = cpu->r[8] + 0x00000000u; /* 0298D37C */ rbrew_write32(cpu->mem, _t23, cpu->r[7]); /* 0298D380 */ _t24 = cpu->r[9] + 0x000001ACu; /* 0298D380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298D384 */ cpu->ctr = cpu->r[0]; /* 0298D388 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0298D38C */ cpu->r[3] = cpu->r[30]; /* 0298D390 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0298D394 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[3]); /* 0298D39C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D39C */ _t26 = _t25 & 0x00000001u; /* 0298D39C */ if (_t26) goto L_0298D330; else goto L_0298D3A0; L_0298D3A0: ; // 0x298d3a0 /* 0298D3A0 */ _t27 = cpu->r[31] + 0x00000000u; /* 0298D3A0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t27); /* 0298D3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298D3A8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D3A8 */ _t29 = _t28 & 0x00000001u; /* 0298D3A8 */ if (_t29) goto L_0298D3AC; else goto L_0298D3C4; L_0298D3AC: ; // 0x298d3ac /* 0298D3AC */ _t30 = cpu->r[26] + 0x00000000u; /* 0298D3AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 0298D3B0 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0298D3B4 */ cpu->r[7] = cpu->r[27]; /* 0298D3B8 */ cpu->r[4] = cpu->r[30]; /* 0298D3BC */ cpu->r[3] = cpu->r[31]; /* 0298D3C0 */ Gambit_fn_02A295D0(cpu); L_0298D3C4: ; // 0x298d3c4 /* 0298D3C4 */ cpu->r[3] = cpu->r[31]; /* 0298D3C8 */ /* nop */ /* 0298D3CC */ _t31 = cpu->r[1] + 0x00000034u; /* 0298D3CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0298D3D0 */ cpu->lr = cpu->r[0]; /* 0298D3D4 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0298D3D8 */ return; } // fn_0298D2B0 @ 0x298d2b0 void Gambit_fn_0298D2B0(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_0298D2B0: ; // 0x298d2b0 /* 0298D2B0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0298D2B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D2B0 */ cpu->r[1] = _t0; /* 0298D2B4 */ cpu->r[11] = cpu->r[4]; /* 0298D2B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298D2B8 */ /* nop */ /* 0298D2BC */ cpu->r[30] = cpu->r[3]; /* 0298D2C0 */ cpu->r[26] = cpu->r[5]; /* 0298D2C4 */ cpu->r[3] = cpu->r[6]; /* 0298D2C8 */ cpu->r[27] = cpu->r[8]; /* 0298D2CC */ cpu->r[4] = cpu->r[7]; /* 0298D2D0 */ cpu->r[31] = 0x00000000u; /* 0298D2D4 */ _t1 = cpu->r[1] + 0x00000034u; /* 0298D2D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298D2D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D2D8 */ _t3 = _t2 & 0x00000001u; /* 0298D2D8 */ if (_t3) goto L_0298D3C4; else goto L_0298D2DC; L_0298D2DC: ; // 0x298d2dc /* 0298D2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0298D2E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D2E0 */ _t5 = _t4 & 0x00000001u; /* 0298D2E0 */ if (_t5) goto L_0298D3C4; else goto L_0298D2E4; L_0298D2E4: ; // 0x298d2e4 /* 0298D2E4 */ cpu->r[8] = 0x00000003u; /* 0298D2E8 */ cpu->r[0] = 0x00000000u; /* 0298D2EC */ cpu->ctr = cpu->r[8]; /* 0298D2F0 */ cpu->r[12] = cpu->r[1] + 0x00000004u; L_0298D2F4: ; // 0x298d2f4 /* 0298D2F4 */ _t6 = cpu->r[12] + 0x00000004u; /* 0298D2F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298D2F4 */ cpu->r[12] = _t6; /* 0298D2F8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0298D2F8 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0298D2F8 */ _t8 = _t7 >> (0x00000002u & 31u); /* 0298D2F8 */ _t9 = _t8 & 0x00000001u; /* 0298D2F8 */ if (_t9) goto L_0298D2F4; else goto L_0298D2FC; L_0298D2FC: ; // 0x298d2fc /* 0298D2FC */ cpu->r[5] = cpu->r[11]; /* 0298D300 */ Gambit_fn_02A27E5C(cpu); /* 0298D304 */ _t10 = cpu->r[30] + 0x00000088u; /* 0298D304 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 0298D308 */ _t11 = cpu->r[7] + 0x000001ACu; /* 0298D308 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 0298D30C */ cpu->r[31] = cpu->r[3]; /* 0298D310 */ cpu->ctr = cpu->r[9]; /* 0298D314 */ cpu->r[25] = 0x00000000u; /* 0298D318 */ cpu->r[3] = cpu->r[30]; /* 0298D31C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[3]); /* 0298D324 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D324 */ _t13 = _t12 & 0x00000001u; /* 0298D324 */ if (_t13) goto L_0298D328; else goto L_0298D3A0; L_0298D328: ; // 0x298d328 /* 0298D328 */ cpu->r[29] = cpu->r[1] + 0x00000008u; /* 0298D32C */ cpu->r[28] = 0x00000000u; L_0298D330: ; // 0x298d330 /* 0298D330 */ _t14 = cpu->r[30] + 0x00000088u; /* 0298D330 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 0298D334 */ _t15 = cpu->r[10] + 0x000001B4u; /* 0298D334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0298D338 */ cpu->ctr = cpu->r[0]; /* 0298D33C */ cpu->r[4] = cpu->r[25]; /* 0298D340 */ cpu->r[3] = cpu->r[30]; /* 0298D344 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D348 */ _t16 = cpu->r[3] + 0x0000000Cu; /* 0298D348 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298D34C */ _t17 = cpu->r[12] + 0x0000002Cu; /* 0298D34C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0298D350 */ cpu->ctr = cpu->r[0]; /* 0298D354 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D358 */ _t18 = cpu->r[30] + 0x000000CCu; /* 0298D358 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18); /* 0298D35C */ cpu->r[0] = cpu->r[3]; /* 0298D360 */ _t19 = cpu->r[30] + 0x00000088u; /* 0298D360 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19); /* 0298D364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u); /* 0298D368 */ cpu->r[8] = cpu->r[1] + 0x00000008u; /* 0298D36C */ _t20 = cpu->r[6] + cpu->r[28]; /* 0298D36C */ cpu->r[7] = rbrew_read32(cpu->mem, _t20); /* 0298D370 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D370 */ _t22 = _t21 & 0x00000001u; /* 0298D370 */ if (_t22) goto L_0298D374; else goto L_0298D37C; L_0298D374: ; // 0x298d374 /* 0298D374 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298D378 */ cpu->r[8] = cpu->r[29] + cpu->r[0]; L_0298D37C: ; // 0x298d37c /* 0298D37C */ _t23 = cpu->r[8] + 0x00000000u; /* 0298D37C */ rbrew_write32(cpu->mem, _t23, cpu->r[7]); /* 0298D380 */ _t24 = cpu->r[9] + 0x000001ACu; /* 0298D380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298D384 */ cpu->ctr = cpu->r[0]; /* 0298D388 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 0298D38C */ cpu->r[3] = cpu->r[30]; /* 0298D390 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0298D394 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[3]); /* 0298D39C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D39C */ _t26 = _t25 & 0x00000001u; /* 0298D39C */ if (_t26) goto L_0298D330; else goto L_0298D3A0; L_0298D3A0: ; // 0x298d3a0 /* 0298D3A0 */ _t27 = cpu->r[31] + 0x00000000u; /* 0298D3A0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t27); /* 0298D3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298D3A8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D3A8 */ _t29 = _t28 & 0x00000001u; /* 0298D3A8 */ if (_t29) goto L_0298D3AC; else goto L_0298D3C4; L_0298D3AC: ; // 0x298d3ac /* 0298D3AC */ _t30 = cpu->r[26] + 0x00000000u; /* 0298D3AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t30); /* 0298D3B0 */ cpu->r[6] = cpu->r[1] + 0x00000008u; /* 0298D3B4 */ cpu->r[7] = cpu->r[27]; /* 0298D3B8 */ cpu->r[4] = cpu->r[30]; /* 0298D3BC */ cpu->r[3] = cpu->r[31]; /* 0298D3C0 */ Gambit_fn_02A295D0(cpu); L_0298D3C4: ; // 0x298d3c4 /* 0298D3C4 */ cpu->r[3] = cpu->r[31]; /* 0298D3C8 */ /* nop */ /* 0298D3CC */ _t31 = cpu->r[1] + 0x00000034u; /* 0298D3CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0298D3D0 */ cpu->lr = cpu->r[0]; /* 0298D3D4 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0298D3D8 */ return; } // fn_0298D3E0 @ 0x298d3e0 void Gambit_fn_0298D3E0(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_0298D3E0: ; // 0x298d3e0 /* 0298D3E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298D3E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D3E0 */ cpu->r[1] = _t0; /* 0298D3E4 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298D3E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 0298D3E8 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298D3E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298D3EC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298D3EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298D3F0 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298D3F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298D3F4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298D3F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298D3F8 */ _t6 = cpu->r[3] + 0x00000088u; /* 0298D3F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 0298D3FC */ _t7 = cpu->r[8] + 0x000001ACu; /* 0298D3FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 0298D400 */ cpu->ctr = cpu->r[9]; /* 0298D404 */ cpu->r[29] = 0x00000000u; /* 0298D408 */ cpu->r[28] = cpu->r[4]; /* 0298D40C */ cpu->r[31] = cpu->r[3]; /* 0298D410 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]); /* 0298D418 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D418 */ _t9 = _t8 & 0x00000001u; /* 0298D418 */ if (_t9) goto L_0298D41C; else goto L_0298D454; L_0298D41C: ; // 0x298d41c /* 0298D41C */ cpu->r[30] = 0x00000000u; L_0298D420: ; // 0x298d420 /* 0298D420 */ _t10 = cpu->r[31] + 0x000000CCu; /* 0298D420 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 0298D424 */ _t11 = cpu->r[10] + cpu->r[30]; /* 0298D424 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 0298D428 */ cpu->r[4] = cpu->r[28]; /* 0298D42C */ Gambit_fn_0298CFE8(cpu); /* 0298D430 */ _t12 = cpu->r[31] + 0x00000088u; /* 0298D430 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 0298D434 */ _t13 = cpu->r[11] + 0x000001ACu; /* 0298D434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298D438 */ cpu->ctr = cpu->r[0]; /* 0298D43C */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 0298D440 */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 0298D444 */ cpu->r[3] = cpu->r[31]; /* 0298D448 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]); /* 0298D450 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D450 */ _t15 = _t14 & 0x00000001u; /* 0298D450 */ if (_t15) goto L_0298D420; else goto L_0298D454; L_0298D454: ; // 0x298d454 /* 0298D454 */ _t16 = cpu->r[31] + 0x0000015Cu; /* 0298D454 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]); /* 0298D458 */ cpu->r[0] = 0x00000001u; /* 0298D45C */ _t17 = cpu->r[31] + 0x00000168u; /* 0298D45C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]); /* 0298D460 */ _t18 = cpu->r[1] + 0x00000008u; /* 0298D460 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 0298D464 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298D464 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298D468 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298D468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298D46C */ _t21 = cpu->r[1] + 0x00000010u; /* 0298D46C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298D470 */ cpu->lr = cpu->r[0]; /* 0298D474 */ _t22 = cpu->r[1] + 0x00000014u; /* 0298D474 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298D478 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298D47C */ return; } // fn_0298D480 @ 0x298d480 void Gambit_fn_0298D480(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_0298D3DC: ; // 0x298d3dc /* 0298D3DC */ cpu->r[0] = cpu->lr; /* 0298D3E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298D3E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D3E0 */ cpu->r[1] = _t0; /* 0298D3E4 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298D3E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 0298D3E8 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298D3E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298D3EC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298D3EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298D3F0 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298D3F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298D3F4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298D3F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298D3F8 */ _t6 = cpu->r[3] + 0x00000088u; /* 0298D3F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 0298D3FC */ _t7 = cpu->r[8] + 0x000001ACu; /* 0298D3FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7); /* 0298D400 */ cpu->ctr = cpu->r[9]; /* 0298D404 */ cpu->r[29] = 0x00000000u; /* 0298D408 */ cpu->r[28] = cpu->r[4]; /* 0298D40C */ cpu->r[31] = cpu->r[3]; /* 0298D410 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]); /* 0298D418 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D418 */ _t9 = _t8 & 0x00000001u; /* 0298D418 */ if (_t9) goto L_0298D41C; else goto L_0298D454; L_0298D41C: ; // 0x298d41c /* 0298D41C */ cpu->r[30] = 0x00000000u; L_0298D420: ; // 0x298d420 /* 0298D420 */ _t10 = cpu->r[31] + 0x000000CCu; /* 0298D420 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 0298D424 */ _t11 = cpu->r[10] + cpu->r[30]; /* 0298D424 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 0298D428 */ cpu->r[4] = cpu->r[28]; /* 0298D42C */ Gambit_fn_0298CFE8(cpu); /* 0298D430 */ _t12 = cpu->r[31] + 0x00000088u; /* 0298D430 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 0298D434 */ _t13 = cpu->r[11] + 0x000001ACu; /* 0298D434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298D438 */ cpu->ctr = cpu->r[0]; /* 0298D43C */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 0298D440 */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 0298D444 */ cpu->r[3] = cpu->r[31]; /* 0298D448 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]); /* 0298D450 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D450 */ _t15 = _t14 & 0x00000001u; /* 0298D450 */ if (_t15) goto L_0298D420; else goto L_0298D454; L_0298D454: ; // 0x298d454 /* 0298D454 */ _t16 = cpu->r[31] + 0x0000015Cu; /* 0298D454 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]); /* 0298D458 */ cpu->r[0] = 0x00000001u; /* 0298D45C */ _t17 = cpu->r[31] + 0x00000168u; /* 0298D45C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]); /* 0298D460 */ _t18 = cpu->r[1] + 0x00000008u; /* 0298D460 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18); /* 0298D464 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298D464 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298D468 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298D468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298D46C */ _t21 = cpu->r[1] + 0x00000010u; /* 0298D46C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298D470 */ cpu->lr = cpu->r[0]; /* 0298D474 */ _t22 = cpu->r[1] + 0x00000014u; /* 0298D474 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298D478 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298D47C */ return; L_0298D480: ; // 0x298d480 /* 0298D480 */ _t23 = cpu->r[3] + 0x00000158u; /* 0298D480 */ rbrew_write32(cpu->mem, _t23, cpu->r[4]); /* 0298D484 */ cpu->r[4] = cpu->r[5]; /* 0298D488 */ goto L_0298D3DC; } // fn_0298D48C @ 0x298d48c void Gambit_fn_0298D48C(CPUState* cpu) { uint32_t _t0; L_0298D48C: ; // 0x298d48c /* 0298D48C */ _t0 = cpu->r[3] + 0x00000154u; /* 0298D48C */ rbrew_write32(cpu->mem, _t0, cpu->r[4]); /* 0298D490 */ return; } // fn_0298D494 @ 0x298d494 void Gambit_fn_0298D494(CPUState* cpu) { uint32_t _t0; L_0298D494: ; // 0x298d494 /* 0298D494 */ _t0 = cpu->r[3] + 0x00000150u; /* 0298D494 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]); /* 0298D498 */ return; } // fn_0298D49C @ 0x298d49c void Gambit_fn_0298D49C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0298D49C: ; // 0x298d49c /* 0298D49C */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0298D49C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D49C */ cpu->r[1] = _t0; /* 0298D4A0 */ /* nop */ /* 0298D4A4 */ cpu->r[0] = cpu->lr; /* 0298D4A8 */ _t1 = cpu->r[1] + 0x00000024u; /* 0298D4A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298D4AC */ cpu->r[29] = cpu->r[6]; /* 0298D4B0 */ cpu->r[31] = cpu->r[3]; /* 0298D4B4 */ cpu->r[27] = cpu->r[4]; /* 0298D4B8 */ _t2 = cpu->r[31] + 0x00000164u; /* 0298D4B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2); /* 0298D4BC */ cpu->r[28] = cpu->r[5]; /* 0298D4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298D4C4 */ cpu->r[30] = cpu->r[7]; /* 0298D4C8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D4C8 */ _t4 = _t3 & 0x00000001u; /* 0298D4C8 */ if (_t4) goto L_0298D4CC; else goto L_0298D4E4; L_0298D4CC: ; // 0x298d4cc /* 0298D4CC */ _t5 = cpu->r[31] + 0x00000160u; /* 0298D4CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t5); /* 0298D4D0 */ cpu->r[6] = cpu->r[29]; /* 0298D4D4 */ cpu->r[5] = cpu->r[28]; /* 0298D4D8 */ cpu->r[3] = cpu->r[31]; /* 0298D4DC */ Gambit_fn_0298D270(cpu); /* 0298D4E0 */ _t6 = cpu->r[31] + 0x00000164u; /* 0298D4E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6); L_0298D4E4: ; // 0x298d4e4 /* 0298D4E4 */ cpu->r[8] = cpu->r[30]; /* 0298D4E8 */ cpu->r[7] = cpu->r[29]; /* 0298D4EC */ cpu->r[6] = cpu->r[28]; /* 0298D4F0 */ cpu->r[5] = cpu->r[27]; /* 0298D4F4 */ cpu->r[3] = cpu->r[31]; /* 0298D4F8 */ Gambit_fn_0298D2AC(cpu); /* 0298D4FC */ cpu->r[5] = cpu->r[3]; /* 0298D4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0298D500 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D500 */ _t8 = _t7 & 0x00000001u; /* 0298D500 */ if (_t8) goto L_0298D570; else goto L_0298D504; L_0298D504: ; // 0x298d504 /* 0298D504 */ cpu->r[4] = cpu->r[27]; /* 0298D508 */ cpu->r[3] = cpu->r[31]; /* 0298D50C */ Gambit_fn_0298D480(cpu); /* 0298D510 */ _t9 = cpu->r[28] + 0x00000000u; /* 0298D510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0298D514 */ cpu->r[3] = cpu->r[30]; /* 0298D518 */ Gambit_fn_0282A11C(cpu); /* 0298D51C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u); /* 0298D520 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D520 */ _t11 = _t10 & 0x00000001u; /* 0298D520 */ if (_t11) goto L_0298D524; else goto L_0298D540; L_0298D524: ; // 0x298d524 /* 0298D524 */ cpu->r[9] = (uint32_t)(-(int32_t)cpu->r[30]); /* 0298D528 */ cpu->r[10] = cpu->r[30] & cpu->r[9]; /* 0298D52C */ cpu->r[3] = cpu->r[10] + 0xFFFFFFFFu; /* 0298D530 */ Gambit_fn_0282A11C(cpu); /* 0298D534 */ cpu->r[4] = cpu->r[3]; /* 0298D538 */ cpu->r[3] = cpu->r[31]; /* 0298D53C */ Gambit_fn_0298D48C(cpu); L_0298D540: ; // 0x298d540 /* 0298D540 */ _t12 = cpu->r[29] + 0x00000000u; /* 0298D540 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0298D544 */ cpu->r[3] = cpu->r[30]; /* 0298D548 */ Gambit_fn_0282A11C(cpu); /* 0298D54C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u); /* 0298D550 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D550 */ _t14 = _t13 & 0x00000001u; /* 0298D550 */ if (_t14) goto L_0298D554; else goto L_0298D570; L_0298D554: ; // 0x298d554 /* 0298D554 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[30]); /* 0298D558 */ cpu->r[12] = cpu->r[30] & cpu->r[0]; /* 0298D55C */ cpu->r[3] = cpu->r[12] + 0xFFFFFFFFu; /* 0298D560 */ Gambit_fn_0282A11C(cpu); /* 0298D564 */ cpu->r[4] = cpu->r[3]; /* 0298D568 */ cpu->r[3] = cpu->r[31]; /* 0298D56C */ Gambit_fn_0298D494(cpu); L_0298D570: ; // 0x298d570 /* 0298D570 */ /* nop */ /* 0298D574 */ _t15 = cpu->r[1] + 0x00000024u; /* 0298D574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0298D578 */ cpu->lr = cpu->r[0]; /* 0298D57C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298D580 */ return; } // fn_0298D584 @ 0x298d584 void Gambit_fn_0298D584(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_0298D584: ; // 0x298d584 /* 0298D584 */ cpu->r[0] = cpu->lr; /* 0298D588 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D588 */ cpu->r[1] = _t0; /* 0298D58C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298D58C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298D590 */ cpu->r[31] = cpu->r[3]; /* 0298D594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298D598 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298D598 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298D59C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D59C */ _t4 = _t3 & 0x00000001u; /* 0298D59C */ if (_t4) goto L_0298D5BC; else goto L_0298D5A0; L_0298D5A0: ; // 0x298d5a0 /* 0298D5A0 */ cpu->r[3] = cpu->r[31]; /* 0298D5A4 */ Gambit_fn_0298D49C(cpu); /* 0298D5A8 */ _t5 = cpu->r[31] + 0x0000016Cu; /* 0298D5A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5); /* 0298D5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298D5B0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D5B0 */ _t7 = _t6 & 0x00000001u; /* 0298D5B0 */ if (_t7) goto L_0298D5BC; else goto L_0298D5B4; L_0298D5B4: ; // 0x298d5b4 /* 0298D5B4 */ cpu->r[4] = cpu->r[31]; /* 0298D5B8 */ Gambit_fn_02981FA4(cpu); L_0298D5BC: ; // 0x298d5bc /* 0298D5BC */ _t8 = cpu->r[1] + 0x00000014u; /* 0298D5BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298D5C0 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 0298D5C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 0298D5C4 */ cpu->lr = cpu->r[0]; /* 0298D5C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D5CC */ return; } // fn_0298D588 @ 0x298d588 void Gambit_fn_0298D588(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_0298D588: ; // 0x298d588 /* 0298D588 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D588 */ cpu->r[1] = _t0; /* 0298D58C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298D58C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298D590 */ cpu->r[31] = cpu->r[3]; /* 0298D594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298D598 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298D598 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298D59C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D59C */ _t4 = _t3 & 0x00000001u; /* 0298D59C */ if (_t4) goto L_0298D5BC; else goto L_0298D5A0; L_0298D5A0: ; // 0x298d5a0 /* 0298D5A0 */ cpu->r[3] = cpu->r[31]; /* 0298D5A4 */ Gambit_fn_0298D49C(cpu); /* 0298D5A8 */ _t5 = cpu->r[31] + 0x0000016Cu; /* 0298D5A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5); /* 0298D5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298D5B0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D5B0 */ _t7 = _t6 & 0x00000001u; /* 0298D5B0 */ if (_t7) goto L_0298D5BC; else goto L_0298D5B4; L_0298D5B4: ; // 0x298d5b4 /* 0298D5B4 */ cpu->r[4] = cpu->r[31]; /* 0298D5B8 */ Gambit_fn_02981FA4(cpu); L_0298D5BC: ; // 0x298d5bc /* 0298D5BC */ _t8 = cpu->r[1] + 0x00000014u; /* 0298D5BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298D5C0 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 0298D5C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9); /* 0298D5C4 */ cpu->lr = cpu->r[0]; /* 0298D5C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D5CC */ return; } // fn_0298D5D0 @ 0x298d5d0 void Gambit_fn_0298D5D0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0298D5D0: ; // 0x298d5d0 /* 0298D5D0 */ cpu->r[0] = cpu->lr; /* 0298D5D4 */ _t0 = cpu->r[1] + 0x00000004u; /* 0298D5D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0298D5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298D5DC */ _t1 = cpu->r[1] + 0xFFFFFFE8u; /* 0298D5DC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0298D5DC */ cpu->r[1] = _t1; /* 0298D5E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D5E0 */ _t3 = _t2 & 0x00000001u; /* 0298D5E0 */ if (_t3) goto L_0298D604; else goto L_0298D5E4; L_0298D5E4: ; // 0x298d5e4 /* 0298D5E4 */ _t4 = cpu->r[4] + 0x0000000Cu; /* 0298D5E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298D5E8 */ cpu->r[7] = cpu->r[5]; /* 0298D5EC */ _t5 = cpu->r[4] + 0x00000010u; /* 0298D5EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298D5F0 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0298D5F4 */ _t6 = cpu->r[1] + 0x00000008u; /* 0298D5F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 0298D5F8 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu; /* 0298D5FC */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0298D5FC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0298D600 */ Gambit_fn_0298D584(cpu); L_0298D604: ; // 0x298d604 /* 0298D604 */ _t8 = cpu->r[1] + 0x0000001Cu; /* 0298D604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298D608 */ cpu->lr = cpu->r[0]; /* 0298D60C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298D610 */ return; } // fn_0298D5DC @ 0x298d5dc void Gambit_fn_0298D5DC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0298D5DC: ; // 0x298d5dc /* 0298D5DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298D5DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D5DC */ cpu->r[1] = _t0; /* 0298D5E0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D5E0 */ _t2 = _t1 & 0x00000001u; /* 0298D5E0 */ if (_t2) goto L_0298D604; else goto L_0298D5E4; L_0298D5E4: ; // 0x298d5e4 /* 0298D5E4 */ _t3 = cpu->r[4] + 0x0000000Cu; /* 0298D5E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0298D5E8 */ cpu->r[7] = cpu->r[5]; /* 0298D5EC */ _t4 = cpu->r[4] + 0x00000010u; /* 0298D5EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4); /* 0298D5F0 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0298D5F4 */ _t5 = cpu->r[1] + 0x00000008u; /* 0298D5F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 0298D5F8 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu; /* 0298D5FC */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0298D5FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298D600 */ Gambit_fn_0298D584(cpu); L_0298D604: ; // 0x298d604 /* 0298D604 */ _t7 = cpu->r[1] + 0x0000001Cu; /* 0298D604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298D608 */ cpu->lr = cpu->r[0]; /* 0298D60C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298D610 */ return; } // fn_0298D614 @ 0x298d614 void Gambit_fn_0298D614(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_0298D614: ; // 0x298d614 /* 0298D614 */ cpu->r[0] = cpu->lr; /* 0298D618 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D618 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D618 */ cpu->r[1] = _t0; /* 0298D61C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298D61C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298D620 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298D620 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298D624 */ cpu->r[30] = 0x00000000u; /* 0298D628 */ cpu->r[31] = cpu->r[3]; /* 0298D62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298D630 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298D630 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298D634 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D634 */ _t5 = _t4 & 0x00000001u; /* 0298D634 */ if (_t5) goto L_0298D668; else goto L_0298D638; L_0298D638: ; // 0x298d638 /* 0298D638 */ _t6 = cpu->r[31] + 0x00000164u; /* 0298D638 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298D63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298D640 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D640 */ _t8 = _t7 & 0x00000001u; /* 0298D640 */ if (_t8) goto L_0298D694; else goto L_0298D644; L_0298D644: ; // 0x298d644 /* 0298D644 */ _t9 = cpu->r[3] + 0x0000000Cu; /* 0298D644 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0298D648 */ _t10 = cpu->r[10] + 0x00000024u; /* 0298D648 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 0298D64C */ cpu->ctr = cpu->r[11]; /* 0298D650 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D654 */ _t11 = cpu->r[31] + 0x0000015Cu; /* 0298D654 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 0298D658 */ _t12 = cpu->r[31] + 0x00000168u; /* 0298D658 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]); /* 0298D65C */ _t13 = cpu->r[31] + 0x00000164u; /* 0298D65C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 0298D660 */ _t14 = cpu->r[31] + 0x00000158u; /* 0298D660 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]); /* 0298D664 */ goto L_0298D6A0; L_0298D668: ; // 0x298d668 /* 0298D668 */ _t15 = cpu->r[31] + 0x0000015Cu; /* 0298D668 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0298D66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298D670 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D670 */ _t17 = _t16 & 0x00000001u; /* 0298D670 */ if (_t17) goto L_0298D694; else goto L_0298D674; L_0298D674: ; // 0x298d674 /* 0298D674 */ _t18 = cpu->r[12] + 0x00000000u; /* 0298D674 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18); /* 0298D678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298D67C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D67C */ _t20 = _t19 & 0x00000001u; /* 0298D67C */ if (_t20) goto L_0298D694; else goto L_0298D680; L_0298D680: ; // 0x298d680 /* 0298D680 */ _t21 = cpu->r[31] + 0x00000164u; /* 0298D680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21); /* 0298D684 */ _t22 = cpu->r[3] + 0x0000000Cu; /* 0298D684 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 0298D688 */ _t23 = cpu->r[8] + 0x0000005Cu; /* 0298D688 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23); /* 0298D68C */ cpu->ctr = cpu->r[9]; /* 0298D690 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298D694: ; // 0x298d694 /* 0298D694 */ _t24 = cpu->r[31] + 0x0000015Cu; /* 0298D694 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]); /* 0298D698 */ _t25 = cpu->r[31] + 0x00000158u; /* 0298D698 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]); /* 0298D69C */ _t26 = cpu->r[31] + 0x00000168u; /* 0298D69C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]); L_0298D6A0: ; // 0x298d6a0 /* 0298D6A0 */ _t27 = cpu->r[1] + 0x00000014u; /* 0298D6A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 0298D6A4 */ _t28 = cpu->r[1] + 0x00000008u; /* 0298D6A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28); /* 0298D6A8 */ cpu->lr = cpu->r[0]; /* 0298D6AC */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0298D6AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 0298D6B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D6B4 */ return; } // fn_0298D618 @ 0x298d618 void Gambit_fn_0298D618(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_0298D618: ; // 0x298d618 /* 0298D618 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D618 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D618 */ cpu->r[1] = _t0; /* 0298D61C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298D61C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298D620 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298D620 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298D624 */ cpu->r[30] = 0x00000000u; /* 0298D628 */ cpu->r[31] = cpu->r[3]; /* 0298D62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298D630 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298D630 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298D634 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D634 */ _t5 = _t4 & 0x00000001u; /* 0298D634 */ if (_t5) goto L_0298D668; else goto L_0298D638; L_0298D638: ; // 0x298d638 /* 0298D638 */ _t6 = cpu->r[31] + 0x00000164u; /* 0298D638 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298D63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298D640 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D640 */ _t8 = _t7 & 0x00000001u; /* 0298D640 */ if (_t8) goto L_0298D694; else goto L_0298D644; L_0298D644: ; // 0x298d644 /* 0298D644 */ _t9 = cpu->r[3] + 0x0000000Cu; /* 0298D644 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 0298D648 */ _t10 = cpu->r[10] + 0x00000024u; /* 0298D648 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 0298D64C */ cpu->ctr = cpu->r[11]; /* 0298D650 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D654 */ _t11 = cpu->r[31] + 0x0000015Cu; /* 0298D654 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 0298D658 */ _t12 = cpu->r[31] + 0x00000168u; /* 0298D658 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]); /* 0298D65C */ _t13 = cpu->r[31] + 0x00000164u; /* 0298D65C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]); /* 0298D660 */ _t14 = cpu->r[31] + 0x00000158u; /* 0298D660 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]); /* 0298D664 */ goto L_0298D6A0; L_0298D668: ; // 0x298d668 /* 0298D668 */ _t15 = cpu->r[31] + 0x0000015Cu; /* 0298D668 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15); /* 0298D66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298D670 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D670 */ _t17 = _t16 & 0x00000001u; /* 0298D670 */ if (_t17) goto L_0298D694; else goto L_0298D674; L_0298D674: ; // 0x298d674 /* 0298D674 */ _t18 = cpu->r[12] + 0x00000000u; /* 0298D674 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18); /* 0298D678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298D67C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D67C */ _t20 = _t19 & 0x00000001u; /* 0298D67C */ if (_t20) goto L_0298D694; else goto L_0298D680; L_0298D680: ; // 0x298d680 /* 0298D680 */ _t21 = cpu->r[31] + 0x00000164u; /* 0298D680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21); /* 0298D684 */ _t22 = cpu->r[3] + 0x0000000Cu; /* 0298D684 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 0298D688 */ _t23 = cpu->r[8] + 0x0000005Cu; /* 0298D688 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23); /* 0298D68C */ cpu->ctr = cpu->r[9]; /* 0298D690 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298D694: ; // 0x298d694 /* 0298D694 */ _t24 = cpu->r[31] + 0x0000015Cu; /* 0298D694 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]); /* 0298D698 */ _t25 = cpu->r[31] + 0x00000158u; /* 0298D698 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]); /* 0298D69C */ _t26 = cpu->r[31] + 0x00000168u; /* 0298D69C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]); L_0298D6A0: ; // 0x298d6a0 /* 0298D6A0 */ _t27 = cpu->r[1] + 0x00000014u; /* 0298D6A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 0298D6A4 */ _t28 = cpu->r[1] + 0x00000008u; /* 0298D6A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28); /* 0298D6A8 */ cpu->lr = cpu->r[0]; /* 0298D6AC */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0298D6AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 0298D6B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D6B4 */ return; } // fn_0298D6B8 @ 0x298d6b8 void Gambit_fn_0298D6B8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0298D6B8: ; // 0x298d6b8 /* 0298D6B8 */ _t0 = cpu->r[3] + 0x00000158u; /* 0298D6B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0298D6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298D6C0 */ cpu->r[8] = 0x00000000u; /* 0298D6C4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D6C4 */ _t2 = _t1 & 0x00000001u; /* 0298D6C4 */ if (_t2) goto L_0298D6FC; else goto L_0298D6C8; L_0298D6C8: ; // 0x298d6c8 /* 0298D6C8 */ _t3 = cpu->r[11] + 0x00000004u; /* 0298D6C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3); /* 0298D6CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298D6D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D6D0 */ _t5 = _t4 & 0x00000001u; /* 0298D6D0 */ if (_t5) goto L_0298D6FC; else goto L_0298D6D4; L_0298D6D4: ; // 0x298d6d4 /* 0298D6D4 */ _t6 = cpu->r[3] + 0x0000015Cu; /* 0298D6D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6); /* 0298D6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298D6DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D6DC */ _t8 = _t7 & 0x00000001u; /* 0298D6DC */ if (_t8) goto L_0298D6FC; else goto L_0298D6E0; L_0298D6E0: ; // 0x298d6e0 /* 0298D6E0 */ _t9 = cpu->r[12] + 0x00000000u; /* 0298D6E0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9); /* 0298D6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 0298D6E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D6E8 */ _t11 = _t10 & 0x00000001u; /* 0298D6E8 */ if (_t11) goto L_0298D6FC; else goto L_0298D6EC; L_0298D6EC: ; // 0x298d6ec /* 0298D6EC */ _t12 = cpu->r[3] + 0x00000168u; /* 0298D6EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t12); /* 0298D6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298D6F4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D6F4 */ _t14 = _t13 & 0x00000001u; /* 0298D6F4 */ if (_t14) goto L_0298D6FC; else goto L_0298D6F8; L_0298D6F8: ; // 0x298d6f8 /* 0298D6F8 */ cpu->r[8] = 0x00000001u; L_0298D6FC: ; // 0x298d6fc /* 0298D6FC */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298D700 */ return; } // fn_0298D704 @ 0x298d704 void Gambit_fn_0298D704(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0298D704: ; // 0x298d704 /* 0298D704 */ cpu->r[0] = cpu->lr; /* 0298D708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D708 */ cpu->r[1] = _t0; /* 0298D70C */ _t1 = cpu->r[1] + 0x00000008u; /* 0298D70C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298D710 */ cpu->r[30] = cpu->r[3]; /* 0298D714 */ cpu->r[3] = cpu->r[4]; /* 0298D718 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298D718 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298D71C */ cpu->r[4] = cpu->r[30] + 0x00000104u; /* 0298D720 */ cpu->r[31] = cpu->r[5]; /* 0298D724 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298D724 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298D728 */ Gambit_fn_02C69510(cpu); /* 0298D72C */ _t4 = cpu->r[31] + 0x00000000u; /* 0298D72C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4); /* 0298D730 */ cpu->r[12] = 0x10150000u; /* 0298D734 */ _t5 = cpu->r[30] + 0x00000134u; /* 0298D734 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5); /* 0298D738 */ _t6 = cpu->r[31] + 0x00000008u; /* 0298D738 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6); /* 0298D73C */ cpu->r[12] = cpu->r[12] + 0xFFFFF540u; /* 0298D740 */ _t7 = cpu->r[30] + 0x0000013Cu; /* 0298D740 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7); /* 0298D744 */ cpu->f[10] = cpu->f[11] * cpu->f[0]; /* 0298D748 */ _t8 = cpu->r[30] + 0x00000138u; /* 0298D748 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8); /* 0298D74C */ /* nop */ /* 0298D750 */ cpu->f[7] = cpu->f[12] * cpu->f[13]; /* 0298D754 */ _t9 = cpu->r[31] + 0x00000004u; /* 0298D754 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t9); /* 0298D758 */ /* nop */ /* 0298D75C */ cpu->f[8] = cpu->f[0] * cpu->f[9]; /* 0298D760 */ /* nop */ /* 0298D764 */ /* nop */ /* 0298D768 */ _t10 = cpu->r[30] + 0x000000C8u; /* 0298D768 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 0298D76C */ /* nop */ /* 0298D770 */ /* nop */ /* 0298D774 */ /* nop */ /* 0298D778 */ cpu->r[0] = cpu->r[0] | 0x0000000Au; /* 0298D77C */ /* nop */ /* 0298D780 */ /* nop */ /* 0298D784 */ _t11 = cpu->r[30] + 0x000000C8u; /* 0298D784 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]); /* 0298D788 */ /* nop */ /* 0298D78C */ /* nop */ /* 0298D790 */ /* nop */ /* 0298D794 */ /* nop */ /* 0298D798 */ /* nop */ /* 0298D79C */ /* nop */ /* 0298D7A0 */ /* nop */ /* 0298D7A4 */ /* nop */ /* 0298D7A8 */ /* nop */ /* 0298D7AC */ /* nop */ /* 0298D7B0 */ /* nop */ /* 0298D7B4 */ /* nop */ /* 0298D7B8 */ _t12 = cpu->r[1] + 0x00000014u; /* 0298D7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0298D7BC */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0298D7BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0298D7C0 */ cpu->lr = cpu->r[0]; /* 0298D7C4 */ _t14 = cpu->r[1] + 0x00000008u; /* 0298D7C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0298D7C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D7CC */ return; } // fn_0298D708 @ 0x298d708 void Gambit_fn_0298D708(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_0298D708: ; // 0x298d708 /* 0298D708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D708 */ cpu->r[1] = _t0; /* 0298D70C */ _t1 = cpu->r[1] + 0x00000008u; /* 0298D70C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298D710 */ cpu->r[30] = cpu->r[3]; /* 0298D714 */ cpu->r[3] = cpu->r[4]; /* 0298D718 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298D718 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298D71C */ cpu->r[4] = cpu->r[30] + 0x00000104u; /* 0298D720 */ cpu->r[31] = cpu->r[5]; /* 0298D724 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298D724 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298D728 */ Gambit_fn_02C69510(cpu); /* 0298D72C */ _t4 = cpu->r[31] + 0x00000000u; /* 0298D72C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4); /* 0298D730 */ cpu->r[12] = 0x10150000u; /* 0298D734 */ _t5 = cpu->r[30] + 0x00000134u; /* 0298D734 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5); /* 0298D738 */ _t6 = cpu->r[31] + 0x00000008u; /* 0298D738 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6); /* 0298D73C */ cpu->r[12] = cpu->r[12] + 0xFFFFF540u; /* 0298D740 */ _t7 = cpu->r[30] + 0x0000013Cu; /* 0298D740 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7); /* 0298D744 */ cpu->f[10] = cpu->f[11] * cpu->f[0]; /* 0298D748 */ _t8 = cpu->r[30] + 0x00000138u; /* 0298D748 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8); /* 0298D74C */ /* nop */ /* 0298D750 */ cpu->f[7] = cpu->f[12] * cpu->f[13]; /* 0298D754 */ _t9 = cpu->r[31] + 0x00000004u; /* 0298D754 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t9); /* 0298D758 */ /* nop */ /* 0298D75C */ cpu->f[8] = cpu->f[0] * cpu->f[9]; /* 0298D760 */ /* nop */ /* 0298D764 */ /* nop */ /* 0298D768 */ _t10 = cpu->r[30] + 0x000000C8u; /* 0298D768 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10); /* 0298D76C */ /* nop */ /* 0298D770 */ /* nop */ /* 0298D774 */ /* nop */ /* 0298D778 */ cpu->r[0] = cpu->r[0] | 0x0000000Au; /* 0298D77C */ /* nop */ /* 0298D780 */ /* nop */ /* 0298D784 */ _t11 = cpu->r[30] + 0x000000C8u; /* 0298D784 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]); /* 0298D788 */ /* nop */ /* 0298D78C */ /* nop */ /* 0298D790 */ /* nop */ /* 0298D794 */ /* nop */ /* 0298D798 */ /* nop */ /* 0298D79C */ /* nop */ /* 0298D7A0 */ /* nop */ /* 0298D7A4 */ /* nop */ /* 0298D7A8 */ /* nop */ /* 0298D7AC */ /* nop */ /* 0298D7B0 */ /* nop */ /* 0298D7B4 */ /* nop */ /* 0298D7B8 */ _t12 = cpu->r[1] + 0x00000014u; /* 0298D7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0298D7BC */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0298D7BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0298D7C0 */ cpu->lr = cpu->r[0]; /* 0298D7C4 */ _t14 = cpu->r[1] + 0x00000008u; /* 0298D7C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0298D7C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298D7CC */ return; } // fn_0298D7D0 @ 0x298d7d0 void Gambit_fn_0298D7D0(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_0298D7D0: ; // 0x298d7d0 /* 0298D7D0 */ cpu->r[0] = cpu->lr; /* 0298D7D4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0298D7D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D7D4 */ cpu->r[1] = _t0; /* 0298D7D8 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0298D7D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298D7DC */ cpu->r[31] = cpu->r[3]; /* 0298D7E0 */ _t2 = cpu->r[1] + 0x00000034u; /* 0298D7E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298D7E4 */ _t3 = cpu->r[31] + 0x000000C8u; /* 0298D7E4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t3); /* 0298D7E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0298D7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298D7EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D7EC */ _t5 = _t4 & 0x00000001u; /* 0298D7EC */ if (_t5) goto L_0298D888; else goto L_0298D7F0; L_0298D7F0: ; // 0x298d7f0 /* 0298D7F0 */ _t6 = cpu->r[31] + 0x00000034u; /* 0298D7F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298D7F4 */ cpu->r[10] = cpu->r[31] + 0x00000024u; /* 0298D7F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 0298D7FC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D7FC */ _t8 = _t7 & 0x00000001u; /* 0298D7FC */ if (_t8) goto L_0298D800; else goto L_0298D888; L_0298D800: ; // 0x298d800 /* 0298D800 */ Gambit_fn_02970038(cpu); /* 0298D804 */ cpu->r[11] = 0x101D0000u; /* 0298D808 */ _t9 = cpu->r[11] + 0xFFFFA68Cu; /* 0298D808 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9); /* 0298D80C */ cpu->f[0] = cpu->f[0] * cpu->f[1]; /* 0298D810 */ _t10 = cpu->r[31] + 0x00000034u; /* 0298D810 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 0298D814 */ cpu->r[9] = 0x10200000u; /* 0298D818 */ _t11 = cpu->r[12] + 0x0000000Cu; /* 0298D818 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); /* 0298D81C */ cpu->r[12] = 0x101D0000u; /* 0298D820 */ cpu->r[9] = cpu->r[9] + 0xFFFF8800u; /* 0298D824 */ _t12 = cpu->r[12] + 0xFFFFA688u; /* 0298D824 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12); /* 0298D828 */ /* nop */ /* 0298D82C */ cpu->f[12] = cpu->f[13] * cpu->f[1]; /* 0298D830 */ /* nop */ /* 0298D834 */ _t13 = cpu->r[9] + 0x00000008u; /* 0298D834 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13); /* 0298D838 */ /* nop */ /* 0298D83C */ _t14 = cpu->r[1] + 0x00000008u; /* 0298D83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298D840 */ cpu->f[13] = cpu->f[0] * cpu->f[12]; /* 0298D844 */ _t15 = cpu->r[1] + 0x00000020u; /* 0298D844 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 0298D848 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0298D848 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0298D84C */ _t17 = cpu->r[1] + 0x00000010u; /* 0298D84C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]); /* 0298D850 */ _t18 = cpu->r[1] + 0x00000010u; /* 0298D850 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 0298D854 */ cpu->r[3] = cpu->r[31] + 0x00000104u; /* 0298D858 */ _t19 = cpu->r[1] + 0x00000024u; /* 0298D858 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]); /* 0298D85C */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 0298D860 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298D864 */ _t20 = cpu->r[1] + 0x00000028u; /* 0298D864 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]); /* 0298D868 */ Gambit_fn_02C69468(cpu); /* 0298D86C */ _t21 = cpu->r[31] + 0x00000034u; /* 0298D86C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 0298D870 */ _t22 = cpu->r[1] + 0x00000014u; /* 0298D870 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22); /* 0298D874 */ _t23 = cpu->r[12] + 0x00000000u; /* 0298D874 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]); /* 0298D878 */ _t24 = cpu->r[1] + 0x00000018u; /* 0298D878 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24); /* 0298D87C */ _t25 = cpu->r[12] + 0x00000004u; /* 0298D87C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]); /* 0298D880 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 0298D880 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26); /* 0298D884 */ _t27 = cpu->r[12] + 0x00000008u; /* 0298D884 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]); L_0298D888: ; // 0x298d888 /* 0298D888 */ _t28 = cpu->r[1] + 0x00000034u; /* 0298D888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 0298D88C */ _t29 = cpu->r[1] + 0x0000002Cu; /* 0298D88C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 0298D890 */ cpu->lr = cpu->r[0]; /* 0298D894 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0298D898 */ return; } // fn_0298D7D4 @ 0x298d7d4 void Gambit_fn_0298D7D4(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_0298D7D4: ; // 0x298d7d4 /* 0298D7D4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0298D7D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D7D4 */ cpu->r[1] = _t0; /* 0298D7D8 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0298D7D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298D7DC */ cpu->r[31] = cpu->r[3]; /* 0298D7E0 */ _t2 = cpu->r[1] + 0x00000034u; /* 0298D7E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298D7E4 */ _t3 = cpu->r[31] + 0x000000C8u; /* 0298D7E4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t3); /* 0298D7E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0298D7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298D7EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D7EC */ _t5 = _t4 & 0x00000001u; /* 0298D7EC */ if (_t5) goto L_0298D888; else goto L_0298D7F0; L_0298D7F0: ; // 0x298d7f0 /* 0298D7F0 */ _t6 = cpu->r[31] + 0x00000034u; /* 0298D7F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298D7F4 */ cpu->r[10] = cpu->r[31] + 0x00000024u; /* 0298D7F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]); /* 0298D7FC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D7FC */ _t8 = _t7 & 0x00000001u; /* 0298D7FC */ if (_t8) goto L_0298D800; else goto L_0298D888; L_0298D800: ; // 0x298d800 /* 0298D800 */ Gambit_fn_02970038(cpu); /* 0298D804 */ cpu->r[11] = 0x101D0000u; /* 0298D808 */ _t9 = cpu->r[11] + 0xFFFFA68Cu; /* 0298D808 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9); /* 0298D80C */ cpu->f[0] = cpu->f[0] * cpu->f[1]; /* 0298D810 */ _t10 = cpu->r[31] + 0x00000034u; /* 0298D810 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 0298D814 */ cpu->r[9] = 0x10200000u; /* 0298D818 */ _t11 = cpu->r[12] + 0x0000000Cu; /* 0298D818 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); /* 0298D81C */ cpu->r[12] = 0x101D0000u; /* 0298D820 */ cpu->r[9] = cpu->r[9] + 0xFFFF8800u; /* 0298D824 */ _t12 = cpu->r[12] + 0xFFFFA688u; /* 0298D824 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12); /* 0298D828 */ /* nop */ /* 0298D82C */ cpu->f[12] = cpu->f[13] * cpu->f[1]; /* 0298D830 */ /* nop */ /* 0298D834 */ _t13 = cpu->r[9] + 0x00000008u; /* 0298D834 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13); /* 0298D838 */ /* nop */ /* 0298D83C */ _t14 = cpu->r[1] + 0x00000008u; /* 0298D83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298D840 */ cpu->f[13] = cpu->f[0] * cpu->f[12]; /* 0298D844 */ _t15 = cpu->r[1] + 0x00000020u; /* 0298D844 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 0298D848 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 0298D848 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0298D84C */ _t17 = cpu->r[1] + 0x00000010u; /* 0298D84C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]); /* 0298D850 */ _t18 = cpu->r[1] + 0x00000010u; /* 0298D850 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 0298D854 */ cpu->r[3] = cpu->r[31] + 0x00000104u; /* 0298D858 */ _t19 = cpu->r[1] + 0x00000024u; /* 0298D858 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]); /* 0298D85C */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 0298D860 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298D864 */ _t20 = cpu->r[1] + 0x00000028u; /* 0298D864 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]); /* 0298D868 */ Gambit_fn_02C69468(cpu); /* 0298D86C */ _t21 = cpu->r[31] + 0x00000034u; /* 0298D86C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 0298D870 */ _t22 = cpu->r[1] + 0x00000014u; /* 0298D870 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22); /* 0298D874 */ _t23 = cpu->r[12] + 0x00000000u; /* 0298D874 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]); /* 0298D878 */ _t24 = cpu->r[1] + 0x00000018u; /* 0298D878 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24); /* 0298D87C */ _t25 = cpu->r[12] + 0x00000004u; /* 0298D87C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]); /* 0298D880 */ _t26 = cpu->r[1] + 0x0000001Cu; /* 0298D880 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26); /* 0298D884 */ _t27 = cpu->r[12] + 0x00000008u; /* 0298D884 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]); L_0298D888: ; // 0x298d888 /* 0298D888 */ _t28 = cpu->r[1] + 0x00000034u; /* 0298D888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28); /* 0298D88C */ _t29 = cpu->r[1] + 0x0000002Cu; /* 0298D88C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29); /* 0298D890 */ cpu->lr = cpu->r[0]; /* 0298D894 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0298D898 */ return; } // fn_0298D89C @ 0x298d89c void Gambit_fn_0298D89C(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_0298D89C: ; // 0x298d89c /* 0298D89C */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0298D89C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D89C */ cpu->r[1] = _t0; /* 0298D8A0 */ /* nop */ /* 0298D8A4 */ cpu->r[0] = cpu->lr; /* 0298D8A8 */ cpu->r[28] = 0x101D0000u; /* 0298D8AC */ cpu->r[24] = 0x10150000u; /* 0298D8B0 */ _t1 = cpu->r[1] + 0x00000034u; /* 0298D8B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298D8B4 */ cpu->r[29] = 0x00080000u; /* 0298D8B8 */ cpu->r[31] = 0x10110000u; /* 0298D8BC */ cpu->r[25] = cpu->r[4]; /* 0298D8C0 */ cpu->r[30] = 0x00000000u; /* 0298D8C4 */ cpu->r[26] = 0x00000005u; /* 0298D8C8 */ cpu->r[24] = cpu->r[24] + 0xFFFFF550u; /* 0298D8CC */ cpu->r[28] = cpu->r[28] + 0xFFFFA68Cu; /* 0298D8D0 */ _t2 = cpu->r[31] + 0x00007399u; /* 0298D8D0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t2); /* 0298D8D4 */ cpu->r[29] = cpu->r[29] + 0x00000001u; L_0298D8D8: ; // 0x298d8d8 /* 0298D8D8 */ _t3 = cpu->r[28] + 0x00000004u; /* 0298D8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 0298D8D8 */ cpu->r[28] = _t3; /* 0298D8DC */ _t4 = cpu->r[25] + 0x00000004u; /* 0298D8DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298D8E0 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0298D8E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[24]); /* 0298D8E4 */ _t6 = cpu->r[1] + 0x00000008u; /* 0298D8E4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298D8E8 */ _t7 = cpu->r[12] + 0x00000014u; /* 0298D8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298D8EC */ cpu->ctr = cpu->r[0]; /* 0298D8F0 */ cpu->r[3] = cpu->r[25]; /* 0298D8F4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D8F8 */ _t8 = cpu->r[25] + 0x00000004u; /* 0298D8F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8); /* 0298D8FC */ _t9 = cpu->r[5] + 0x00000014u; /* 0298D8FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298D900 */ cpu->ctr = cpu->r[0]; /* 0298D904 */ cpu->r[3] = cpu->r[25]; /* 0298D908 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D90C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298D90C */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 0298D910 */ _t11 = cpu->r[7] + 0x00000014u; /* 0298D910 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11); /* 0298D914 */ cpu->ctr = cpu->r[9]; /* 0298D918 */ _t12 = cpu->r[25] + 0x00000000u; /* 0298D918 */ cpu->r[27] = rbrew_read32(cpu->mem, _t12); /* 0298D91C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298D920 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298D924 */ _t13 = cpu->r[1] + 0x00000008u; /* 0298D924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298D928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]); /* 0298D92C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D92C */ _t15 = _t14 & 0x00000001u; /* 0298D92C */ if (_t15) goto L_0298D964; else goto L_0298D930; L_0298D930: ; // 0x298d930 /* 0298D930 */ _t16 = cpu->r[25] + 0x00000000u; /* 0298D930 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0298D934 */ _t17 = cpu->r[1] + 0x00000008u; /* 0298D934 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17); /* 0298D938 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu; /* 0298D93C */ cpu->ctr = cpu->r[29]; /* 0298D940 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; L_0298D944: ; // 0x298d944 /* 0298D944 */ _t18 = cpu->r[10] + 0x00000001u; /* 0298D944 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18); /* 0298D944 */ cpu->r[10] = _t18; /* 0298D948 */ _t19 = cpu->r[8] + 0x00000001u; /* 0298D948 */ cpu->r[12] = rbrew_read8(cpu->mem, _t19); /* 0298D948 */ cpu->r[8] = _t19; /* 0298D94C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 0298D950 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D950 */ _t21 = _t20 & 0x00000001u; /* 0298D950 */ if (_t21) goto L_0298D954; else goto L_0298D97C; L_0298D954: ; // 0x298d954 /* 0298D954 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 0298D958 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D958 */ _t23 = _t22 & 0x00000001u; /* 0298D958 */ if (_t23) goto L_0298D964; else goto L_0298D95C; L_0298D95C: ; // 0x298d95c /* 0298D95C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0298D95C */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0298D95C */ _t25 = _t24 >> (0x00000002u & 31u); /* 0298D95C */ _t26 = _t25 & 0x00000001u; /* 0298D95C */ if (_t26) goto L_0298D944; else goto L_0298D960; L_0298D960: ; // 0x298d960 /* 0298D960 */ goto L_0298D97C; L_0298D964: ; // 0x298d964 /* 0298D964 */ cpu->r[3] = cpu->r[30]; /* 0298D968 */ /* nop */ /* 0298D96C */ _t27 = cpu->r[1] + 0x00000034u; /* 0298D96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27); /* 0298D970 */ cpu->lr = cpu->r[0]; /* 0298D974 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0298D978 */ return; L_0298D97C: ; // 0x298d97c /* 0298D97C */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 0298D97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 0298D980 */ cpu->r[30] = cpu->r[30] + 0x00000001u; /* 0298D984 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D984 */ _t29 = _t28 & 0x00000001u; /* 0298D984 */ if (_t29) goto L_0298D988; else goto L_0298D8D8; L_0298D988: ; // 0x298d988 /* 0298D988 */ /* nop */ /* 0298D98C */ _t30 = cpu->r[1] + 0x00000034u; /* 0298D98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 0298D990 */ cpu->lr = cpu->r[0]; /* 0298D994 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0298D998 */ cpu->r[3] = 0xFFFFFFFFu; /* 0298D99C */ return; } // fn_0298D9A0 @ 0x298d9a0 void Gambit_fn_0298D9A0(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_0298D9A0: ; // 0x298d9a0 /* 0298D9A0 */ cpu->r[0] = cpu->lr; /* 0298D9A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D9A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D9A4 */ cpu->r[1] = _t0; /* 0298D9A8 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298D9A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298D9AC */ cpu->r[30] = 0x10150000u; /* 0298D9B0 */ cpu->r[30] = cpu->r[30] + 0xFFFFF550u; /* 0298D9B4 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298D9B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298D9B8 */ cpu->r[3] = cpu->r[4]; /* 0298D9BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000005u); /* 0298D9C0 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298D9C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298D9C4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D9C4 */ _t5 = _t4 & 0x00000001u; /* 0298D9C4 */ if (_t5) goto L_0298D9C8; else goto L_0298DA10; L_0298D9C8: ; // 0x298d9c8 /* 0298D9C8 */ cpu->r[0] = 0x101D0000u; /* 0298D9CC */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298D9D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFA690u; /* 0298D9D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298D9D8 */ _t6 = cpu->r[10] + cpu->r[0]; /* 0298D9D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0298D9DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D9DC */ _t8 = _t7 & 0x00000001u; /* 0298D9DC */ if (_t8) goto L_0298D9E0; else goto L_0298D9F0; L_0298D9E0: ; // 0x298d9e0 /* 0298D9E0 */ cpu->r[3] = 0x00000008u; /* 0298D9E4 */ Gambit_fn_02801A78(cpu); /* 0298D9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298D9EC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D9EC */ _t10 = _t9 & 0x00000001u; /* 0298D9EC */ if (_t10) goto L_0298DA38; else goto L_0298D9F0; L_0298D9F0: ; // 0x298d9f0 /* 0298D9F0 */ _t11 = cpu->r[3] + 0x00000000u; /* 0298D9F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]); /* 0298D9F4 */ _t12 = cpu->r[3] + 0x00000004u; /* 0298D9F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]); /* 0298D9F8 */ _t13 = cpu->r[1] + 0x00000014u; /* 0298D9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298D9FC */ _t14 = cpu->r[1] + 0x00000008u; /* 0298D9FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0298DA00 */ cpu->lr = cpu->r[0]; /* 0298DA04 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298DA04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0298DA08 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298DA0C */ return; L_0298DA10: ; // 0x298da10 /* 0298DA10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DA14 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DA14 */ _t17 = _t16 & 0x00000001u; /* 0298DA14 */ if (_t17) goto L_0298DA18; else goto L_0298DA28; L_0298DA18: ; // 0x298da18 /* 0298DA18 */ cpu->r[3] = 0x00000008u; /* 0298DA1C */ Gambit_fn_02801A78(cpu); /* 0298DA20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DA24 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DA24 */ _t19 = _t18 & 0x00000001u; /* 0298DA24 */ if (_t19) goto L_0298DA38; else goto L_0298DA28; L_0298DA28: ; // 0x298da28 /* 0298DA28 */ cpu->r[12] = 0x101F0000u; /* 0298DA2C */ _t20 = cpu->r[3] + 0x00000004u; /* 0298DA2C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 0298DA30 */ _t21 = cpu->r[12] + 0x000066E8u; /* 0298DA30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 0298DA34 */ _t22 = cpu->r[3] + 0x00000000u; /* 0298DA34 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]); L_0298DA38: ; // 0x298da38 /* 0298DA38 */ _t23 = cpu->r[1] + 0x00000014u; /* 0298DA38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0298DA3C */ _t24 = cpu->r[1] + 0x00000008u; /* 0298DA3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0298DA40 */ cpu->lr = cpu->r[0]; /* 0298DA44 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0298DA44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0298DA48 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298DA4C */ return; } // fn_0298D9A4 @ 0x298d9a4 void Gambit_fn_0298D9A4(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_0298D9A4: ; // 0x298d9a4 /* 0298D9A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298D9A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298D9A4 */ cpu->r[1] = _t0; /* 0298D9A8 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298D9A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298D9AC */ cpu->r[30] = 0x10150000u; /* 0298D9B0 */ cpu->r[30] = cpu->r[30] + 0xFFFFF550u; /* 0298D9B4 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298D9B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298D9B8 */ cpu->r[3] = cpu->r[4]; /* 0298D9BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000005u); /* 0298D9C0 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298D9C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298D9C4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298D9C4 */ _t5 = _t4 & 0x00000001u; /* 0298D9C4 */ if (_t5) goto L_0298D9C8; else goto L_0298DA10; L_0298D9C8: ; // 0x298d9c8 /* 0298D9C8 */ cpu->r[0] = 0x101D0000u; /* 0298D9CC */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298D9D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFA690u; /* 0298D9D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298D9D8 */ _t6 = cpu->r[10] + cpu->r[0]; /* 0298D9D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0298D9DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D9DC */ _t8 = _t7 & 0x00000001u; /* 0298D9DC */ if (_t8) goto L_0298D9E0; else goto L_0298D9F0; L_0298D9E0: ; // 0x298d9e0 /* 0298D9E0 */ cpu->r[3] = 0x00000008u; /* 0298D9E4 */ Gambit_fn_02801A78(cpu); /* 0298D9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298D9EC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298D9EC */ _t10 = _t9 & 0x00000001u; /* 0298D9EC */ if (_t10) goto L_0298DA38; else goto L_0298D9F0; L_0298D9F0: ; // 0x298d9f0 /* 0298D9F0 */ _t11 = cpu->r[3] + 0x00000000u; /* 0298D9F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]); /* 0298D9F4 */ _t12 = cpu->r[3] + 0x00000004u; /* 0298D9F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]); /* 0298D9F8 */ _t13 = cpu->r[1] + 0x00000014u; /* 0298D9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 0298D9FC */ _t14 = cpu->r[1] + 0x00000008u; /* 0298D9FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 0298DA00 */ cpu->lr = cpu->r[0]; /* 0298DA04 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298DA04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0298DA08 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298DA0C */ return; L_0298DA10: ; // 0x298da10 /* 0298DA10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DA14 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DA14 */ _t17 = _t16 & 0x00000001u; /* 0298DA14 */ if (_t17) goto L_0298DA18; else goto L_0298DA28; L_0298DA18: ; // 0x298da18 /* 0298DA18 */ cpu->r[3] = 0x00000008u; /* 0298DA1C */ Gambit_fn_02801A78(cpu); /* 0298DA20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DA24 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DA24 */ _t19 = _t18 & 0x00000001u; /* 0298DA24 */ if (_t19) goto L_0298DA38; else goto L_0298DA28; L_0298DA28: ; // 0x298da28 /* 0298DA28 */ cpu->r[12] = 0x101F0000u; /* 0298DA2C */ _t20 = cpu->r[3] + 0x00000004u; /* 0298DA2C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]); /* 0298DA30 */ _t21 = cpu->r[12] + 0x000066E8u; /* 0298DA30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21); /* 0298DA34 */ _t22 = cpu->r[3] + 0x00000000u; /* 0298DA34 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]); L_0298DA38: ; // 0x298da38 /* 0298DA38 */ _t23 = cpu->r[1] + 0x00000014u; /* 0298DA38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0298DA3C */ _t24 = cpu->r[1] + 0x00000008u; /* 0298DA3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0298DA40 */ cpu->lr = cpu->r[0]; /* 0298DA44 */ _t25 = cpu->r[1] + 0x0000000Cu; /* 0298DA44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0298DA48 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298DA4C */ return; } // fn_0298DA50 @ 0x298da50 void Gambit_fn_0298DA50(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; L_0298DA50: ; // 0x298da50 /* 0298DA50 */ cpu->r[0] = cpu->lr; /* 0298DA54 */ _t0 = cpu->r[1] + 0xFFFFFF50u; /* 0298DA54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DA54 */ cpu->r[1] = _t0; /* 0298DA58 */ _t1 = cpu->r[1] + 0x000000ACu; /* 0298DA58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298DA5C */ cpu->r[31] = cpu->r[5]; /* 0298DA60 */ _t2 = cpu->r[1] + 0x000000A8u; /* 0298DA60 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298DA64 */ cpu->r[30] = cpu->r[4]; /* 0298DA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000005u); /* 0298DA6C */ _t3 = cpu->r[1] + 0x000000A4u; /* 0298DA6C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298DA70 */ _t4 = cpu->r[1] + 0x000000B4u; /* 0298DA70 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298DA74 */ cpu->r[29] = cpu->r[3]; /* 0298DA78 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298DA78 */ _t6 = _t5 & 0x00000001u; /* 0298DA78 */ if (_t6) goto L_0298DA7C; else goto L_0298DCA0; L_0298DA7C: ; // 0x298da7c /* 0298DA7C */ _t7 = cpu->r[29] + 0x00000158u; /* 0298DA7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 0298DA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298DA84 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DA84 */ _t9 = _t8 & 0x00000001u; /* 0298DA84 */ if (_t9) goto L_0298DC54; else goto L_0298DA88; L_0298DA88: ; // 0x298da88 /* 0298DA88 */ _t10 = cpu->r[10] + 0x00000000u; /* 0298DA88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 0298DA8C */ cpu->r[3] = cpu->r[1] + 0x00000050u; /* 0298DA90 */ Gambit_fn_02C6DB08(cpu); /* 0298DA94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000002u); /* 0298DA98 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298DA98 */ _t12 = _t11 & 0x00000001u; /* 0298DA98 */ if (_t12) goto L_0298DA9C; else goto L_0298DAA8; L_0298DA9C: ; // 0x298da9c /* 0298DA9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u); /* 0298DAA0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298DAA0 */ _t14 = _t13 & 0x00000001u; /* 0298DAA0 */ if (_t14) goto L_0298DAD0; else goto L_0298DAA4; L_0298DAA4: ; // 0x298daa4 /* 0298DAA4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DAA4 */ _t16 = _t15 & 0x00000001u; /* 0298DAA4 */ if (_t16) goto L_0298DAF8; else goto L_0298DAA8; L_0298DAA8: ; // 0x298daa8 /* 0298DAA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000003u); /* 0298DAAC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298DAAC */ _t18 = _t17 & 0x00000001u; /* 0298DAAC */ if (_t18) goto L_0298DB48; else goto L_0298DAB0; L_0298DAB0: ; // 0x298dab0 /* 0298DAB0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DAB0 */ _t20 = _t19 & 0x00000001u; /* 0298DAB0 */ if (_t20) goto L_0298DB9C; else goto L_0298DAB4; L_0298DAB4: ; // 0x298dab4 /* 0298DAB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000004u); /* 0298DAB8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DAB8 */ _t22 = _t21 & 0x00000001u; /* 0298DAB8 */ if (_t22) goto L_0298DC00; else goto L_0298DABC; L_0298DABC: ; // 0x298dabc /* 0298DABC */ cpu->r[5] = cpu->r[30]; /* 0298DAC0 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DAC4 */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DAC8 */ Gambit_fn_02C69544(cpu); /* 0298DACC */ goto L_0298DCA0; L_0298DAD0: ; // 0x298dad0 /* 0298DAD0 */ _t23 = cpu->r[1] + 0x00000058u; /* 0298DAD0 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t23); /* 0298DAD4 */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 0298DAD8 */ _t24 = cpu->r[1] + 0x00000054u; /* 0298DAD8 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t24); /* 0298DADC */ _t25 = cpu->r[1] + 0x00000050u; /* 0298DADC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25); /* 0298DAE0 */ Gambit_fn_02C69840(cpu); /* 0298DAE4 */ cpu->r[5] = cpu->r[30]; /* 0298DAE8 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DAEC */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DAF0 */ Gambit_fn_02C69544(cpu); /* 0298DAF4 */ goto L_0298DCA0; L_0298DAF8: ; // 0x298daf8 /* 0298DAF8 */ _t26 = cpu->r[1] + 0x00000068u; /* 0298DAF8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26); /* 0298DAFC */ _t27 = cpu->r[1] + 0x0000006Cu; /* 0298DAFC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27); /* 0298DB00 */ _t28 = cpu->r[1] + 0x00000008u; /* 0298DB00 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]); /* 0298DB04 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0298DB04 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[10]); /* 0298DB08 */ _t30 = cpu->r[1] + 0x00000060u; /* 0298DB08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30); /* 0298DB0C */ _t31 = cpu->r[1] + 0x0000005Cu; /* 0298DB0C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t31); /* 0298DB10 */ _t32 = cpu->r[1] + 0x00000018u; /* 0298DB10 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]); /* 0298DB14 */ _t33 = cpu->r[1] + 0x00000014u; /* 0298DB14 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[9]); /* 0298DB18 */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 0298DB1C */ _t34 = cpu->r[1] + 0x00000070u; /* 0298DB1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34); /* 0298DB20 */ cpu->r[4] = cpu->r[1] + 0x00000014u; /* 0298DB24 */ _t35 = cpu->r[1] + 0x0000001Cu; /* 0298DB24 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[9]); /* 0298DB28 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0298DB2C */ _t36 = cpu->r[1] + 0x00000010u; /* 0298DB2C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]); /* 0298DB30 */ Gambit_fn_023D860C(cpu); /* 0298DB34 */ cpu->r[5] = cpu->r[30]; /* 0298DB38 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DB3C */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DB40 */ Gambit_fn_02C69544(cpu); /* 0298DB44 */ goto L_0298DCA0; L_0298DB48: ; // 0x298db48 /* 0298DB48 */ _t37 = cpu->r[1] + 0x00000074u; /* 0298DB48 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t37); /* 0298DB4C */ _t38 = cpu->r[1] + 0x00000078u; /* 0298DB4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38); /* 0298DB50 */ _t39 = cpu->r[1] + 0x00000008u; /* 0298DB50 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]); /* 0298DB54 */ _t40 = cpu->r[1] + 0x0000000Cu; /* 0298DB54 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[13]); /* 0298DB58 */ _t41 = cpu->r[1] + 0x0000007Cu; /* 0298DB58 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t41); /* 0298DB5C */ _t42 = cpu->r[1] + 0x00000080u; /* 0298DB5C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42); /* 0298DB60 */ _t43 = cpu->r[1] + 0x00000010u; /* 0298DB60 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]); /* 0298DB64 */ _t44 = cpu->r[1] + 0x00000014u; /* 0298DB64 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[11]); /* 0298DB68 */ _t45 = cpu->r[1] + 0x00000088u; /* 0298DB68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45); /* 0298DB6C */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 0298DB70 */ _t46 = cpu->r[1] + 0x00000084u; /* 0298DB70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46); /* 0298DB74 */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 0298DB78 */ _t47 = cpu->r[1] + 0x0000001Cu; /* 0298DB78 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]); /* 0298DB7C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0298DB80 */ _t48 = cpu->r[1] + 0x00000018u; /* 0298DB80 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[13]); /* 0298DB84 */ Gambit_fn_023D860C(cpu); /* 0298DB88 */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DB8C */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DB90 */ cpu->r[5] = cpu->r[30]; /* 0298DB94 */ Gambit_fn_02C69544(cpu); /* 0298DB98 */ goto L_0298DCA0; L_0298DB9C: ; // 0x298db9c /* 0298DB9C */ _t49 = cpu->r[1] + 0x00000080u; /* 0298DB9C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t49); /* 0298DBA0 */ _t50 = cpu->r[1] + 0x00000074u; /* 0298DBA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50); /* 0298DBA4 */ cpu->f[13] = -cpu->f[12]; /* 0298DBA8 */ _t51 = cpu->r[1] + 0x00000084u; /* 0298DBA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t51); /* 0298DBAC */ cpu->f[0] = -cpu->f[0]; /* 0298DBB0 */ _t52 = cpu->r[1] + 0x0000007Cu; /* 0298DBB0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t52); /* 0298DBB4 */ _t53 = cpu->r[1] + 0x00000014u; /* 0298DBB4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[13]); /* 0298DBB8 */ _t54 = cpu->r[1] + 0x00000018u; /* 0298DBB8 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]); /* 0298DBBC */ _t55 = cpu->r[1] + 0x00000008u; /* 0298DBBC */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]); /* 0298DBC0 */ cpu->f[13] = -cpu->f[10]; /* 0298DBC4 */ _t56 = cpu->r[1] + 0x00000078u; /* 0298DBC4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t56); /* 0298DBC8 */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 0298DBCC */ _t57 = cpu->r[1] + 0x00000088u; /* 0298DBCC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57); /* 0298DBD0 */ cpu->f[9] = -cpu->f[9]; /* 0298DBD4 */ _t58 = cpu->r[1] + 0x00000010u; /* 0298DBD4 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]); /* 0298DBD8 */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 0298DBDC */ _t59 = cpu->r[1] + 0x0000001Cu; /* 0298DBDC */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]); /* 0298DBE0 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0298DBE4 */ _t60 = cpu->r[1] + 0x0000000Cu; /* 0298DBE4 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[9]); /* 0298DBE8 */ Gambit_fn_023D860C(cpu); /* 0298DBEC */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DBF0 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DBF4 */ cpu->r[5] = cpu->r[30]; /* 0298DBF8 */ Gambit_fn_02C69544(cpu); /* 0298DBFC */ goto L_0298DCA0; L_0298DC00: ; // 0x298dc00 /* 0298DC00 */ _t61 = cpu->r[1] + 0x00000090u; /* 0298DC00 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t61); /* 0298DC04 */ _t62 = cpu->r[1] + 0x0000009Cu; /* 0298DC04 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t62); /* 0298DC08 */ _t63 = cpu->r[1] + 0x0000000Cu; /* 0298DC08 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]); /* 0298DC0C */ _t64 = cpu->r[1] + 0x00000018u; /* 0298DC0C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[9]); /* 0298DC10 */ _t65 = cpu->r[1] + 0x00000098u; /* 0298DC10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t65); /* 0298DC14 */ _t66 = cpu->r[1] + 0x00000094u; /* 0298DC14 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t66); /* 0298DC18 */ _t67 = cpu->r[1] + 0x00000014u; /* 0298DC18 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[13]); /* 0298DC1C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0298DC20 */ _t68 = cpu->r[1] + 0x00000010u; /* 0298DC20 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[11]); /* 0298DC24 */ _t69 = cpu->r[1] + 0x0000008Cu; /* 0298DC24 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t69); /* 0298DC28 */ _t70 = cpu->r[1] + 0x000000A0u; /* 0298DC28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t70); /* 0298DC2C */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 0298DC30 */ _t71 = cpu->r[1] + 0x00000008u; /* 0298DC30 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[12]); /* 0298DC34 */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 0298DC38 */ _t72 = cpu->r[1] + 0x0000001Cu; /* 0298DC38 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[0]); /* 0298DC3C */ Gambit_fn_023D860C(cpu); /* 0298DC40 */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DC44 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DC48 */ cpu->r[5] = cpu->r[30]; /* 0298DC4C */ Gambit_fn_02C69544(cpu); /* 0298DC50 */ goto L_0298DCA0; L_0298DC54: ; // 0x298dc54 /* 0298DC54 */ cpu->r[9] = 0x10150000u; /* 0298DC58 */ cpu->r[9] = cpu->r[9] + 0xFFFFF530u; /* 0298DC5C */ cpu->r[11] = 0x10150000u; /* 0298DC60 */ /* nop */ /* 0298DC64 */ cpu->r[12] = 0x10150000u; /* 0298DC68 */ cpu->r[11] = cpu->r[11] + 0xFFFFF528u; /* 0298DC6C */ /* nop */ /* 0298DC70 */ /* nop */ /* 0298DC74 */ cpu->r[12] = cpu->r[12] + 0xFFFFF538u; /* 0298DC78 */ /* nop */ /* 0298DC7C */ /* nop */ /* 0298DC80 */ /* nop */ /* 0298DC84 */ /* nop */ /* 0298DC88 */ cpu->r[5] = cpu->r[30]; /* 0298DC8C */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DC90 */ /* nop */ /* 0298DC94 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DC98 */ /* nop */ /* 0298DC9C */ Gambit_fn_02C69544(cpu); L_0298DCA0: ; // 0x298dca0 /* 0298DCA0 */ _t73 = cpu->r[1] + 0x000000A4u; /* 0298DCA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t73); /* 0298DCA4 */ _t74 = cpu->r[1] + 0x000000B4u; /* 0298DCA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74); /* 0298DCA8 */ _t75 = cpu->r[1] + 0x000000A8u; /* 0298DCA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t75); /* 0298DCAC */ cpu->lr = cpu->r[0]; /* 0298DCB0 */ _t76 = cpu->r[1] + 0x000000ACu; /* 0298DCB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t76); /* 0298DCB4 */ cpu->r[1] = cpu->r[1] + 0x000000B0u; /* 0298DCB8 */ return; } // fn_0298DA54 @ 0x298da54 void Gambit_fn_0298DA54(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; L_0298DA54: ; // 0x298da54 /* 0298DA54 */ _t0 = cpu->r[1] + 0xFFFFFF50u; /* 0298DA54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DA54 */ cpu->r[1] = _t0; /* 0298DA58 */ _t1 = cpu->r[1] + 0x000000ACu; /* 0298DA58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298DA5C */ cpu->r[31] = cpu->r[5]; /* 0298DA60 */ _t2 = cpu->r[1] + 0x000000A8u; /* 0298DA60 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298DA64 */ cpu->r[30] = cpu->r[4]; /* 0298DA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000005u); /* 0298DA6C */ _t3 = cpu->r[1] + 0x000000A4u; /* 0298DA6C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298DA70 */ _t4 = cpu->r[1] + 0x000000B4u; /* 0298DA70 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298DA74 */ cpu->r[29] = cpu->r[3]; /* 0298DA78 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298DA78 */ _t6 = _t5 & 0x00000001u; /* 0298DA78 */ if (_t6) goto L_0298DA7C; else goto L_0298DCA0; L_0298DA7C: ; // 0x298da7c /* 0298DA7C */ _t7 = cpu->r[29] + 0x00000158u; /* 0298DA7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7); /* 0298DA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298DA84 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DA84 */ _t9 = _t8 & 0x00000001u; /* 0298DA84 */ if (_t9) goto L_0298DC54; else goto L_0298DA88; L_0298DA88: ; // 0x298da88 /* 0298DA88 */ _t10 = cpu->r[10] + 0x00000000u; /* 0298DA88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 0298DA8C */ cpu->r[3] = cpu->r[1] + 0x00000050u; /* 0298DA90 */ Gambit_fn_02C6DB08(cpu); /* 0298DA94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000002u); /* 0298DA98 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298DA98 */ _t12 = _t11 & 0x00000001u; /* 0298DA98 */ if (_t12) goto L_0298DA9C; else goto L_0298DAA8; L_0298DA9C: ; // 0x298da9c /* 0298DA9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u); /* 0298DAA0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298DAA0 */ _t14 = _t13 & 0x00000001u; /* 0298DAA0 */ if (_t14) goto L_0298DAD0; else goto L_0298DAA4; L_0298DAA4: ; // 0x298daa4 /* 0298DAA4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DAA4 */ _t16 = _t15 & 0x00000001u; /* 0298DAA4 */ if (_t16) goto L_0298DAF8; else goto L_0298DAA8; L_0298DAA8: ; // 0x298daa8 /* 0298DAA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000003u); /* 0298DAAC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298DAAC */ _t18 = _t17 & 0x00000001u; /* 0298DAAC */ if (_t18) goto L_0298DB48; else goto L_0298DAB0; L_0298DAB0: ; // 0x298dab0 /* 0298DAB0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DAB0 */ _t20 = _t19 & 0x00000001u; /* 0298DAB0 */ if (_t20) goto L_0298DB9C; else goto L_0298DAB4; L_0298DAB4: ; // 0x298dab4 /* 0298DAB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000004u); /* 0298DAB8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DAB8 */ _t22 = _t21 & 0x00000001u; /* 0298DAB8 */ if (_t22) goto L_0298DC00; else goto L_0298DABC; L_0298DABC: ; // 0x298dabc /* 0298DABC */ cpu->r[5] = cpu->r[30]; /* 0298DAC0 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DAC4 */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DAC8 */ Gambit_fn_02C69544(cpu); /* 0298DACC */ goto L_0298DCA0; L_0298DAD0: ; // 0x298dad0 /* 0298DAD0 */ _t23 = cpu->r[1] + 0x00000058u; /* 0298DAD0 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t23); /* 0298DAD4 */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 0298DAD8 */ _t24 = cpu->r[1] + 0x00000054u; /* 0298DAD8 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t24); /* 0298DADC */ _t25 = cpu->r[1] + 0x00000050u; /* 0298DADC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25); /* 0298DAE0 */ Gambit_fn_02C69840(cpu); /* 0298DAE4 */ cpu->r[5] = cpu->r[30]; /* 0298DAE8 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DAEC */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DAF0 */ Gambit_fn_02C69544(cpu); /* 0298DAF4 */ goto L_0298DCA0; L_0298DAF8: ; // 0x298daf8 /* 0298DAF8 */ _t26 = cpu->r[1] + 0x00000068u; /* 0298DAF8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26); /* 0298DAFC */ _t27 = cpu->r[1] + 0x0000006Cu; /* 0298DAFC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27); /* 0298DB00 */ _t28 = cpu->r[1] + 0x00000008u; /* 0298DB00 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]); /* 0298DB04 */ _t29 = cpu->r[1] + 0x0000000Cu; /* 0298DB04 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[10]); /* 0298DB08 */ _t30 = cpu->r[1] + 0x00000060u; /* 0298DB08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30); /* 0298DB0C */ _t31 = cpu->r[1] + 0x0000005Cu; /* 0298DB0C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t31); /* 0298DB10 */ _t32 = cpu->r[1] + 0x00000018u; /* 0298DB10 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]); /* 0298DB14 */ _t33 = cpu->r[1] + 0x00000014u; /* 0298DB14 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[9]); /* 0298DB18 */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 0298DB1C */ _t34 = cpu->r[1] + 0x00000070u; /* 0298DB1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34); /* 0298DB20 */ cpu->r[4] = cpu->r[1] + 0x00000014u; /* 0298DB24 */ _t35 = cpu->r[1] + 0x0000001Cu; /* 0298DB24 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[9]); /* 0298DB28 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0298DB2C */ _t36 = cpu->r[1] + 0x00000010u; /* 0298DB2C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]); /* 0298DB30 */ Gambit_fn_023D860C(cpu); /* 0298DB34 */ cpu->r[5] = cpu->r[30]; /* 0298DB38 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DB3C */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DB40 */ Gambit_fn_02C69544(cpu); /* 0298DB44 */ goto L_0298DCA0; L_0298DB48: ; // 0x298db48 /* 0298DB48 */ _t37 = cpu->r[1] + 0x00000074u; /* 0298DB48 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t37); /* 0298DB4C */ _t38 = cpu->r[1] + 0x00000078u; /* 0298DB4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38); /* 0298DB50 */ _t39 = cpu->r[1] + 0x00000008u; /* 0298DB50 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]); /* 0298DB54 */ _t40 = cpu->r[1] + 0x0000000Cu; /* 0298DB54 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[13]); /* 0298DB58 */ _t41 = cpu->r[1] + 0x0000007Cu; /* 0298DB58 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t41); /* 0298DB5C */ _t42 = cpu->r[1] + 0x00000080u; /* 0298DB5C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42); /* 0298DB60 */ _t43 = cpu->r[1] + 0x00000010u; /* 0298DB60 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]); /* 0298DB64 */ _t44 = cpu->r[1] + 0x00000014u; /* 0298DB64 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[11]); /* 0298DB68 */ _t45 = cpu->r[1] + 0x00000088u; /* 0298DB68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45); /* 0298DB6C */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 0298DB70 */ _t46 = cpu->r[1] + 0x00000084u; /* 0298DB70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46); /* 0298DB74 */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 0298DB78 */ _t47 = cpu->r[1] + 0x0000001Cu; /* 0298DB78 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]); /* 0298DB7C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0298DB80 */ _t48 = cpu->r[1] + 0x00000018u; /* 0298DB80 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[13]); /* 0298DB84 */ Gambit_fn_023D860C(cpu); /* 0298DB88 */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DB8C */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DB90 */ cpu->r[5] = cpu->r[30]; /* 0298DB94 */ Gambit_fn_02C69544(cpu); /* 0298DB98 */ goto L_0298DCA0; L_0298DB9C: ; // 0x298db9c /* 0298DB9C */ _t49 = cpu->r[1] + 0x00000080u; /* 0298DB9C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t49); /* 0298DBA0 */ _t50 = cpu->r[1] + 0x00000074u; /* 0298DBA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50); /* 0298DBA4 */ cpu->f[13] = -cpu->f[12]; /* 0298DBA8 */ _t51 = cpu->r[1] + 0x00000084u; /* 0298DBA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t51); /* 0298DBAC */ cpu->f[0] = -cpu->f[0]; /* 0298DBB0 */ _t52 = cpu->r[1] + 0x0000007Cu; /* 0298DBB0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t52); /* 0298DBB4 */ _t53 = cpu->r[1] + 0x00000014u; /* 0298DBB4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[13]); /* 0298DBB8 */ _t54 = cpu->r[1] + 0x00000018u; /* 0298DBB8 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]); /* 0298DBBC */ _t55 = cpu->r[1] + 0x00000008u; /* 0298DBBC */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]); /* 0298DBC0 */ cpu->f[13] = -cpu->f[10]; /* 0298DBC4 */ _t56 = cpu->r[1] + 0x00000078u; /* 0298DBC4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t56); /* 0298DBC8 */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 0298DBCC */ _t57 = cpu->r[1] + 0x00000088u; /* 0298DBCC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57); /* 0298DBD0 */ cpu->f[9] = -cpu->f[9]; /* 0298DBD4 */ _t58 = cpu->r[1] + 0x00000010u; /* 0298DBD4 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]); /* 0298DBD8 */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 0298DBDC */ _t59 = cpu->r[1] + 0x0000001Cu; /* 0298DBDC */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]); /* 0298DBE0 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0298DBE4 */ _t60 = cpu->r[1] + 0x0000000Cu; /* 0298DBE4 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[9]); /* 0298DBE8 */ Gambit_fn_023D860C(cpu); /* 0298DBEC */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DBF0 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DBF4 */ cpu->r[5] = cpu->r[30]; /* 0298DBF8 */ Gambit_fn_02C69544(cpu); /* 0298DBFC */ goto L_0298DCA0; L_0298DC00: ; // 0x298dc00 /* 0298DC00 */ _t61 = cpu->r[1] + 0x00000090u; /* 0298DC00 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t61); /* 0298DC04 */ _t62 = cpu->r[1] + 0x0000009Cu; /* 0298DC04 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t62); /* 0298DC08 */ _t63 = cpu->r[1] + 0x0000000Cu; /* 0298DC08 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]); /* 0298DC0C */ _t64 = cpu->r[1] + 0x00000018u; /* 0298DC0C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[9]); /* 0298DC10 */ _t65 = cpu->r[1] + 0x00000098u; /* 0298DC10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t65); /* 0298DC14 */ _t66 = cpu->r[1] + 0x00000094u; /* 0298DC14 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t66); /* 0298DC18 */ _t67 = cpu->r[1] + 0x00000014u; /* 0298DC18 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[13]); /* 0298DC1C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 0298DC20 */ _t68 = cpu->r[1] + 0x00000010u; /* 0298DC20 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[11]); /* 0298DC24 */ _t69 = cpu->r[1] + 0x0000008Cu; /* 0298DC24 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t69); /* 0298DC28 */ _t70 = cpu->r[1] + 0x000000A0u; /* 0298DC28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t70); /* 0298DC2C */ cpu->r[5] = cpu->r[1] + 0x00000014u; /* 0298DC30 */ _t71 = cpu->r[1] + 0x00000008u; /* 0298DC30 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[12]); /* 0298DC34 */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 0298DC38 */ _t72 = cpu->r[1] + 0x0000001Cu; /* 0298DC38 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[0]); /* 0298DC3C */ Gambit_fn_023D860C(cpu); /* 0298DC40 */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DC44 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DC48 */ cpu->r[5] = cpu->r[30]; /* 0298DC4C */ Gambit_fn_02C69544(cpu); /* 0298DC50 */ goto L_0298DCA0; L_0298DC54: ; // 0x298dc54 /* 0298DC54 */ cpu->r[9] = 0x10150000u; /* 0298DC58 */ cpu->r[9] = cpu->r[9] + 0xFFFFF530u; /* 0298DC5C */ cpu->r[11] = 0x10150000u; /* 0298DC60 */ /* nop */ /* 0298DC64 */ cpu->r[12] = 0x10150000u; /* 0298DC68 */ cpu->r[11] = cpu->r[11] + 0xFFFFF528u; /* 0298DC6C */ /* nop */ /* 0298DC70 */ /* nop */ /* 0298DC74 */ cpu->r[12] = cpu->r[12] + 0xFFFFF538u; /* 0298DC78 */ /* nop */ /* 0298DC7C */ /* nop */ /* 0298DC80 */ /* nop */ /* 0298DC84 */ /* nop */ /* 0298DC88 */ cpu->r[5] = cpu->r[30]; /* 0298DC8C */ cpu->r[3] = cpu->r[29] + 0x00000104u; /* 0298DC90 */ /* nop */ /* 0298DC94 */ cpu->r[4] = cpu->r[1] + 0x00000020u; /* 0298DC98 */ /* nop */ /* 0298DC9C */ Gambit_fn_02C69544(cpu); L_0298DCA0: ; // 0x298dca0 /* 0298DCA0 */ _t73 = cpu->r[1] + 0x000000A4u; /* 0298DCA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t73); /* 0298DCA4 */ _t74 = cpu->r[1] + 0x000000B4u; /* 0298DCA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74); /* 0298DCA8 */ _t75 = cpu->r[1] + 0x000000A8u; /* 0298DCA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t75); /* 0298DCAC */ cpu->lr = cpu->r[0]; /* 0298DCB0 */ _t76 = cpu->r[1] + 0x000000ACu; /* 0298DCB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t76); /* 0298DCB4 */ cpu->r[1] = cpu->r[1] + 0x000000B0u; /* 0298DCB8 */ return; } // fn_0298DCBC @ 0x298dcbc void Gambit_fn_0298DCBC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298DCBC: ; // 0x298dcbc /* 0298DCBC */ cpu->r[0] = cpu->lr; /* 0298DCC0 */ _t0 = cpu->r[1] + 0x00000004u; /* 0298DCC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0298DCC4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0298DCC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0298DCC4 */ cpu->r[1] = _t1; /* 0298DCC8 */ _t2 = cpu->r[3] + 0x00000000u; /* 0298DCC8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t2); /* 0298DCCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0298DCCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298DCD0 */ cpu->r[10] = 0x00000000u; /* 0298DCD4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DCD4 */ _t4 = _t3 & 0x00000001u; /* 0298DCD4 */ if (_t4) goto L_0298DCF4; else goto L_0298DCD8; L_0298DCD8: ; // 0x298dcd8 /* 0298DCD8 */ _t5 = cpu->r[3] + 0x0000000Au; /* 0298DCD8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5); /* 0298DCDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298DCE0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DCE0 */ _t7 = _t6 & 0x00000001u; /* 0298DCE0 */ if (_t7) goto L_0298DCF4; else goto L_0298DCE4; L_0298DCE4: ; // 0x298dce4 /* 0298DCE4 */ Gambit_fn_0298D6B8(cpu); /* 0298DCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DCEC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DCEC */ _t9 = _t8 & 0x00000001u; /* 0298DCEC */ if (_t9) goto L_0298DCF4; else goto L_0298DCF0; L_0298DCF0: ; // 0x298dcf0 /* 0298DCF0 */ cpu->r[10] = 0x00000001u; L_0298DCF4: ; // 0x298dcf4 /* 0298DCF4 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298DCF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298DCF8 */ cpu->lr = cpu->r[0]; /* 0298DCFC */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0298DD00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298DD04 */ return; } // fn_0298DCC4 @ 0x298dcc4 void Gambit_fn_0298DCC4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_0298DCC4: ; // 0x298dcc4 /* 0298DCC4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0298DCC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DCC4 */ cpu->r[1] = _t0; /* 0298DCC8 */ _t1 = cpu->r[3] + 0x00000000u; /* 0298DCC8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1); /* 0298DCCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0298DCCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298DCD0 */ cpu->r[10] = 0x00000000u; /* 0298DCD4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DCD4 */ _t3 = _t2 & 0x00000001u; /* 0298DCD4 */ if (_t3) goto L_0298DCF4; else goto L_0298DCD8; L_0298DCD8: ; // 0x298dcd8 /* 0298DCD8 */ _t4 = cpu->r[3] + 0x0000000Au; /* 0298DCD8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t4); /* 0298DCDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298DCE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DCE0 */ _t6 = _t5 & 0x00000001u; /* 0298DCE0 */ if (_t6) goto L_0298DCF4; else goto L_0298DCE4; L_0298DCE4: ; // 0x298dce4 /* 0298DCE4 */ Gambit_fn_0298D6B8(cpu); /* 0298DCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DCEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DCEC */ _t8 = _t7 & 0x00000001u; /* 0298DCEC */ if (_t8) goto L_0298DCF4; else goto L_0298DCF0; L_0298DCF0: ; // 0x298dcf0 /* 0298DCF0 */ cpu->r[10] = 0x00000001u; L_0298DCF4: ; // 0x298dcf4 /* 0298DCF4 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 0298DCF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298DCF8 */ cpu->lr = cpu->r[0]; /* 0298DCFC */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0298DD00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298DD04 */ return; } // fn_0298DD08 @ 0x298dd08 void Gambit_fn_0298DD08(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298DD08: ; // 0x298dd08 /* 0298DD08 */ cpu->r[0] = cpu->lr; /* 0298DD0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298DD0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DD0C */ cpu->r[1] = _t0; /* 0298DD10 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298DD10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298DD14 */ cpu->r[31] = cpu->r[3]; /* 0298DD18 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298DD18 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298DD1C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298DD1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298DD20 */ Gambit_fn_02992AAC(cpu); /* 0298DD24 */ _t4 = cpu->r[31] + 0x00000158u; /* 0298DD24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4); /* 0298DD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298DD2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DD2C */ _t6 = _t5 & 0x00000001u; /* 0298DD2C */ if (_t6) goto L_0298DD50; else goto L_0298DD30; L_0298DD30: ; // 0x298dd30 /* 0298DD30 */ cpu->r[3] = cpu->r[31]; /* 0298DD34 */ cpu->r[4] = 0x00000000u; /* 0298DD38 */ Gambit_fn_0298D614(cpu); /* 0298DD3C */ cpu->r[5] = 0x00000000u; /* 0298DD40 */ cpu->r[3] = cpu->r[31]; /* 0298DD44 */ cpu->r[4] = cpu->r[30]; /* 0298DD48 */ _t7 = cpu->r[31] + 0x00000158u; /* 0298DD48 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 0298DD4C */ Gambit_fn_0298D5D0(cpu); L_0298DD50: ; // 0x298dd50 /* 0298DD50 */ _t8 = cpu->r[1] + 0x00000014u; /* 0298DD50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298DD54 */ _t9 = cpu->r[1] + 0x00000008u; /* 0298DD54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0298DD58 */ cpu->lr = cpu->r[0]; /* 0298DD5C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298DD5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298DD60 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298DD64 */ cpu->r[3] = 0x00000001u; /* 0298DD68 */ return; } // fn_0298DD0C @ 0x298dd0c void Gambit_fn_0298DD0C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298DD0C: ; // 0x298dd0c /* 0298DD0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298DD0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DD0C */ cpu->r[1] = _t0; /* 0298DD10 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298DD10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298DD14 */ cpu->r[31] = cpu->r[3]; /* 0298DD18 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298DD18 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298DD1C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298DD1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298DD20 */ Gambit_fn_02992AAC(cpu); /* 0298DD24 */ _t4 = cpu->r[31] + 0x00000158u; /* 0298DD24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4); /* 0298DD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298DD2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DD2C */ _t6 = _t5 & 0x00000001u; /* 0298DD2C */ if (_t6) goto L_0298DD50; else goto L_0298DD30; L_0298DD30: ; // 0x298dd30 /* 0298DD30 */ cpu->r[3] = cpu->r[31]; /* 0298DD34 */ cpu->r[4] = 0x00000000u; /* 0298DD38 */ Gambit_fn_0298D614(cpu); /* 0298DD3C */ cpu->r[5] = 0x00000000u; /* 0298DD40 */ cpu->r[3] = cpu->r[31]; /* 0298DD44 */ cpu->r[4] = cpu->r[30]; /* 0298DD48 */ _t7 = cpu->r[31] + 0x00000158u; /* 0298DD48 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 0298DD4C */ Gambit_fn_0298D5D0(cpu); L_0298DD50: ; // 0x298dd50 /* 0298DD50 */ _t8 = cpu->r[1] + 0x00000014u; /* 0298DD50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298DD54 */ _t9 = cpu->r[1] + 0x00000008u; /* 0298DD54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0298DD58 */ cpu->lr = cpu->r[0]; /* 0298DD5C */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298DD5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298DD60 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298DD64 */ cpu->r[3] = 0x00000001u; /* 0298DD68 */ return; } // fn_0298DD6C @ 0x298dd6c void Gambit_fn_0298DD6C(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_0298DD6C: ; // 0x298dd6c /* 0298DD6C */ goto L_0298EAB8; L_0298EAB8: ; // 0x298eab8 /* 0298EAB8 */ cpu->r[0] = cpu->lr; /* 0298EABC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298EABC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298EABC */ cpu->r[1] = _t0; /* 0298EAC0 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298EAC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298EAC4 */ cpu->r[30] = cpu->r[5]; /* 0298EAC8 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298EAC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298EACC */ _t3 = cpu->r[1] + 0x00000014u; /* 0298EACC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298EAD0 */ cpu->r[5] = 0x0000008Cu; /* 0298EAD4 */ cpu->r[6] = cpu->r[30]; /* 0298EAD8 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0298EAD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0298EADC */ cpu->r[28] = cpu->r[3]; /* 0298EAE0 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298EAE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298EAE4 */ cpu->r[29] = cpu->r[4]; /* 0298EAE8 */ Gambit_fn_029928D4(cpu); /* 0298EAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EAF0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EAF0 */ _t7 = _t6 & 0x00000001u; /* 0298EAF0 */ if (_t7) goto L_0298EB58; else goto L_0298EAF4; L_0298EAF4: ; // 0x298eaf4 /* 0298EAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EAF8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EAF8 */ _t9 = _t8 & 0x00000001u; /* 0298EAF8 */ if (_t9) goto L_0298EB00; else goto L_0298EAFC; L_0298EAFC: ; // 0x298eafc /* 0298EAFC */ Gambit_fn_0298CF38(cpu); L_0298EB00: ; // 0x298eb00 /* 0298EB00 */ _t10 = cpu->r[3] + 0x0000000Cu; /* 0298EB00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 0298EB04 */ _t11 = cpu->r[12] + 0x00000014u; /* 0298EB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0298EB08 */ cpu->ctr = cpu->r[0]; /* 0298EB0C */ cpu->r[31] = cpu->r[3]; /* 0298EB10 */ cpu->r[5] = cpu->r[29]; /* 0298EB14 */ cpu->r[6] = cpu->r[30]; /* 0298EB18 */ cpu->r[4] = cpu->r[28]; /* 0298EB1C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298EB20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EB24 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EB24 */ _t13 = _t12 & 0x00000001u; /* 0298EB24 */ if (_t13) goto L_0298EB58; else goto L_0298EB28; L_0298EB28: ; // 0x298eb28 /* 0298EB28 */ _t14 = cpu->r[28] + 0x000000CCu; /* 0298EB28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 0298EB2C */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298EB30 */ _t15 = cpu->r[10] + cpu->r[11]; /* 0298EB30 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]); /* 0298EB34 */ _t16 = cpu->r[1] + 0x00000008u; /* 0298EB34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16); /* 0298EB38 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0298EB38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17); /* 0298EB3C */ _t18 = cpu->r[1] + 0x0000001Cu; /* 0298EB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298EB40 */ cpu->r[3] = cpu->r[31]; /* 0298EB44 */ _t19 = cpu->r[1] + 0x00000010u; /* 0298EB44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0298EB48 */ cpu->lr = cpu->r[0]; /* 0298EB4C */ _t20 = cpu->r[1] + 0x00000014u; /* 0298EB4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0298EB50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298EB54 */ return; L_0298EB58: ; // 0x298eb58 /* 0298EB58 */ _t21 = cpu->r[1] + 0x00000008u; /* 0298EB58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 0298EB5C */ _t22 = cpu->r[1] + 0x0000000Cu; /* 0298EB5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 0298EB60 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0298EB60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0298EB64 */ _t24 = cpu->r[1] + 0x00000010u; /* 0298EB64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0298EB68 */ cpu->lr = cpu->r[0]; /* 0298EB6C */ _t25 = cpu->r[1] + 0x00000014u; /* 0298EB6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0298EB70 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298EB74 */ cpu->r[3] = 0x00000000u; /* 0298EB78 */ return; } // fn_0298DD70 @ 0x298dd70 void Gambit_fn_0298DD70(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0298DD70: ; // 0x298dd70 /* 0298DD70 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 0298DD70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DD70 */ cpu->r[1] = _t0; /* 0298DD74 */ /* nop */ /* 0298DD78 */ cpu->r[0] = cpu->lr; /* 0298DD7C */ _t1 = cpu->r[1] + 0x00000024u; /* 0298DD7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298DD80 */ cpu->r[30] = cpu->r[3]; /* 0298DD84 */ _t2 = cpu->r[30] + 0x000000A8u; /* 0298DD84 */ cpu->r[9] = rbrew_read16(cpu->mem, _t2); /* 0298DD88 */ cpu->r[26] = 0x00000000u; /* 0298DD8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[9]); /* 0298DD90 */ cpu->r[31] = cpu->r[4]; /* 0298DD94 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298DD94 */ _t4 = _t3 & 0x00000001u; /* 0298DD94 */ if (_t4) goto L_0298DD98; else goto L_0298DE00; L_0298DD98: ; // 0x298dd98 /* 0298DD98 */ cpu->r[29] = cpu->r[30] + 0x00000104u; /* 0298DD9C */ cpu->r[28] = 0x00000000u; L_0298DDA0: ; // 0x298dda0 /* 0298DDA0 */ _t5 = cpu->r[30] + 0x000000B0u; /* 0298DDA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0298DDA4 */ cpu->r[12] = cpu->r[10] + cpu->r[28]; /* 0298DDA8 */ _t6 = cpu->r[12] + 0x0000000Cu; /* 0298DDA8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t6); /* 0298DDAC */ cpu->r[4] = cpu->r[31]; /* 0298DDB0 */ cpu->r[3] = cpu->r[27]; /* 0298DDB4 */ Gambit_fn_02C6544C(cpu); /* 0298DDB8 */ cpu->r[6] = cpu->r[29]; /* 0298DDBC */ cpu->r[8] = cpu->r[6] + 0x00000030u; /* 0298DDC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 0298DDC4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DDC4 */ _t8 = _t7 & 0x00000001u; /* 0298DDC4 */ if (_t8) goto L_0298DDE0; else goto L_0298DDC8; L_0298DDC8: ; // 0x298ddc8 /* 0298DDC8 */ _t9 = cpu->r[6] + 0x00000000u; /* 0298DDC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9); /* 0298DDCC */ cpu->r[6] = cpu->r[6] + 0x00000004u; /* 0298DDD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]); /* 0298DDD4 */ /* nop */ /* 0298DDD8 */ cpu->r[3] = cpu->r[3] + 0x00000004u; /* 0298DDDC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DDDC */ _t11 = _t10 & 0x00000001u; /* 0298DDDC */ if (_t11) goto L_0298DDE0; else goto L_0298DDC8; L_0298DDE0: ; // 0x298dde0 /* 0298DDE0 */ cpu->r[3] = cpu->r[27]; /* 0298DDE4 */ cpu->r[4] = cpu->r[31]; /* 0298DDE8 */ Gambit_fn_02C6530C(cpu); /* 0298DDEC */ _t12 = cpu->r[30] + 0x000000A8u; /* 0298DDEC */ cpu->r[0] = rbrew_read16(cpu->mem, _t12); /* 0298DDF0 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 0298DDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[0]); /* 0298DDF8 */ cpu->r[28] = cpu->r[28] + 0x00000034u; /* 0298DDFC */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298DDFC */ _t14 = _t13 & 0x00000001u; /* 0298DDFC */ if (_t14) goto L_0298DDA0; else goto L_0298DE00; L_0298DE00: ; // 0x298de00 /* 0298DE00 */ /* nop */ /* 0298DE04 */ _t15 = cpu->r[1] + 0x00000024u; /* 0298DE04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0298DE08 */ cpu->lr = cpu->r[0]; /* 0298DE0C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 0298DE10 */ return; } // fn_0298DE14 @ 0x298de14 void Gambit_fn_0298DE14(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8; L_0298DE14: ; // 0x298de14 /* 0298DE14 */ cpu->r[0] = cpu->lr; /* 0298DE18 */ _t0 = cpu->r[1] + 0x00000004u; /* 0298DE18 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 0298DE1C */ cpu->r[3] = cpu->r[4]; /* 0298DE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DE20 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 0298DE20 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 0298DE20 */ cpu->r[1] = _t1; /* 0298DE24 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DE24 */ _t3 = _t2 & 0x00000001u; /* 0298DE24 */ if (_t3) goto L_0298DE28; else goto L_0298DE38; L_0298DE28: ; // 0x298de28 /* 0298DE28 */ cpu->r[3] = 0x00000008u; /* 0298DE2C */ Gambit_fn_02801A78(cpu); /* 0298DE30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DE34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DE34 */ _t5 = _t4 & 0x00000001u; /* 0298DE34 */ if (_t5) goto L_0298DE50; else goto L_0298DE38; L_0298DE38: ; // 0x298de38 /* 0298DE38 */ cpu->r[0] = 0x10150000u; /* 0298DE3C */ cpu->r[12] = 0x10150000u; /* 0298DE40 */ cpu->r[0] = cpu->r[0] + 0xFFFFF550u; /* 0298DE44 */ cpu->r[12] = cpu->r[12] + 0xFFFFF618u; /* 0298DE48 */ _t6 = cpu->r[3] + 0x00000004u; /* 0298DE48 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0298DE4C */ _t7 = cpu->r[3] + 0x00000000u; /* 0298DE4C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]); L_0298DE50: ; // 0x298de50 /* 0298DE50 */ _t8 = cpu->r[1] + 0x0000000Cu; /* 0298DE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298DE54 */ cpu->lr = cpu->r[0]; /* 0298DE58 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0298DE5C */ return; } // fn_0298DE20 @ 0x298de20 void Gambit_fn_0298DE20(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0298DE20: ; // 0x298de20 /* 0298DE20 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 0298DE20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DE20 */ cpu->r[1] = _t0; /* 0298DE24 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DE24 */ _t2 = _t1 & 0x00000001u; /* 0298DE24 */ if (_t2) goto L_0298DE28; else goto L_0298DE38; L_0298DE28: ; // 0x298de28 /* 0298DE28 */ cpu->r[3] = 0x00000008u; /* 0298DE2C */ Gambit_fn_02801A78(cpu); /* 0298DE30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DE34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DE34 */ _t4 = _t3 & 0x00000001u; /* 0298DE34 */ if (_t4) goto L_0298DE50; else goto L_0298DE38; L_0298DE38: ; // 0x298de38 /* 0298DE38 */ cpu->r[0] = 0x10150000u; /* 0298DE3C */ cpu->r[12] = 0x10150000u; /* 0298DE40 */ cpu->r[0] = cpu->r[0] + 0xFFFFF550u; /* 0298DE44 */ cpu->r[12] = cpu->r[12] + 0xFFFFF618u; /* 0298DE48 */ _t5 = cpu->r[3] + 0x00000004u; /* 0298DE48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298DE4C */ _t6 = cpu->r[3] + 0x00000000u; /* 0298DE4C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); L_0298DE50: ; // 0x298de50 /* 0298DE50 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 0298DE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298DE54 */ cpu->lr = cpu->r[0]; /* 0298DE58 */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 0298DE5C */ return; } // fn_0298DE60 @ 0x298de60 void Gambit_fn_0298DE60(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_0298DE60: ; // 0x298de60 /* 0298DE60 */ cpu->r[0] = cpu->lr; /* 0298DE64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298DE64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DE64 */ cpu->r[1] = _t0; /* 0298DE68 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298DE68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298DE6C */ cpu->r[31] = cpu->r[3]; /* 0298DE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298DE70 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298DE70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298DE74 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DE74 */ _t4 = _t3 & 0x00000001u; /* 0298DE74 */ if (_t4) goto L_0298DE78; else goto L_0298DE88; L_0298DE78: ; // 0x298de78 /* 0298DE78 */ cpu->r[3] = 0x00000170u; /* 0298DE7C */ Gambit_fn_02801A78(cpu); /* 0298DE80 */ cpu->r[31] = cpu->r[3]; /* 0298DE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298DE84 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DE84 */ _t6 = _t5 & 0x00000001u; /* 0298DE84 */ if (_t6) goto L_0298DF70; else goto L_0298DE88; L_0298DE88: ; // 0x298de88 /* 0298DE88 */ cpu->r[3] = cpu->r[31]; /* 0298DE8C */ Gambit_fn_02990778(cpu); /* 0298DE90 */ cpu->r[0] = 0x10150000u; /* 0298DE94 */ cpu->r[12] = 0x10150000u; /* 0298DE98 */ cpu->r[9] = 0x101F0000u; /* 0298DE9C */ cpu->r[0] = cpu->r[0] + 0xFFFFF8ACu; /* 0298DEA0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF624u; /* 0298DEA4 */ _t7 = cpu->r[31] + 0x0000008Cu; /* 0298DEA4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0298DEA8 */ cpu->r[9] = cpu->r[9] + 0x00005E2Cu; /* 0298DEAC */ cpu->r[8] = 0x10150000u; /* 0298DEB0 */ _t8 = cpu->r[31] + 0x00000088u; /* 0298DEB0 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 0298DEB4 */ cpu->r[12] = 0x00000003u; /* 0298DEB8 */ cpu->r[11] = cpu->r[31] + 0x00000100u; /* 0298DEBC */ cpu->r[8] = cpu->r[8] + 0xFFFFF8C4u; /* 0298DEC0 */ cpu->ctr = cpu->r[12]; /* 0298DEC4 */ _t9 = cpu->r[31] + 0x00000090u; /* 0298DEC4 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); L_0298DEC8: ; // 0x298dec8 /* 0298DEC8 */ _t10 = cpu->r[9] + 0x00000004u; /* 0298DEC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298DECC */ _t11 = cpu->r[11] + 0x00000004u; /* 0298DECC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0298DED0 */ _t12 = cpu->r[9] + 0x00000008u; /* 0298DED0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 0298DED4 */ _t13 = cpu->r[11] + 0x00000008u; /* 0298DED4 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]); /* 0298DED8 */ _t14 = cpu->r[9] + 0x0000000Cu; /* 0298DED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 0298DEDC */ _t15 = cpu->r[11] + 0x0000000Cu; /* 0298DEDC */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 0298DEE0 */ _t16 = cpu->r[9] + 0x00000010u; /* 0298DEE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298DEE0 */ cpu->r[9] = _t16; /* 0298DEE4 */ _t17 = cpu->r[11] + 0x00000010u; /* 0298DEE4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 0298DEE4 */ cpu->r[11] = _t17; /* 0298DEE8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0298DEE8 */ _t18 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0298DEE8 */ _t19 = _t18 >> (0x00000002u & 31u); /* 0298DEE8 */ _t20 = _t19 & 0x00000001u; /* 0298DEE8 */ if (_t20) goto L_0298DEC8; else goto L_0298DEEC; L_0298DEEC: ; // 0x298deec /* 0298DEEC */ cpu->r[12] = 0x101F0000u; /* 0298DEF0 */ _t21 = cpu->r[12] + 0x00006368u; /* 0298DEF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 0298DEF0 */ cpu->r[12] = _t21; /* 0298DEF4 */ _t22 = cpu->r[31] + 0x00000134u; /* 0298DEF4 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]); /* 0298DEF8 */ _t23 = cpu->r[12] + 0x00000004u; /* 0298DEF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23); /* 0298DEFC */ _t24 = cpu->r[31] + 0x00000138u; /* 0298DEFC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]); /* 0298DF00 */ _t25 = cpu->r[12] + 0x00000008u; /* 0298DF00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25); /* 0298DF04 */ cpu->r[3] = cpu->r[31] + 0x00000140u; /* 0298DF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DF08 */ _t26 = cpu->r[31] + 0x0000013Cu; /* 0298DF08 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]); /* 0298DF0C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DF0C */ _t28 = _t27 & 0x00000001u; /* 0298DF0C */ if (_t28) goto L_0298DF10; else goto L_0298DF20; L_0298DF10: ; // 0x298df10 /* 0298DF10 */ cpu->r[3] = 0x00000010u; /* 0298DF14 */ Gambit_fn_02801A78(cpu); /* 0298DF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DF1C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DF1C */ _t30 = _t29 & 0x00000001u; /* 0298DF1C */ if (_t30) goto L_0298DF48; else goto L_0298DF20; L_0298DF20: ; // 0x298df20 /* 0298DF20 */ cpu->r[11] = 0x101F0000u; /* 0298DF24 */ _t31 = cpu->r[11] + 0x00006338u; /* 0298DF24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 0298DF24 */ cpu->r[11] = _t31; /* 0298DF28 */ _t32 = cpu->r[3] + 0x00000000u; /* 0298DF28 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]); /* 0298DF2C */ _t33 = cpu->r[11] + 0x00000004u; /* 0298DF2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 0298DF30 */ _t34 = cpu->r[3] + 0x00000004u; /* 0298DF30 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]); /* 0298DF34 */ _t35 = cpu->r[11] + 0x00000008u; /* 0298DF34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35); /* 0298DF38 */ cpu->r[10] = 0x101D0000u; /* 0298DF3C */ _t36 = cpu->r[3] + 0x00000008u; /* 0298DF3C */ rbrew_write32(cpu->mem, _t36, cpu->r[8]); /* 0298DF40 */ _t37 = cpu->r[10] + 0xFFFFA68Cu; /* 0298DF40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37); /* 0298DF44 */ _t38 = cpu->r[3] + 0x0000000Cu; /* 0298DF44 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]); L_0298DF48: ; // 0x298df48 /* 0298DF48 */ cpu->r[9] = 0x00000000u; /* 0298DF4C */ _t39 = cpu->r[31] + 0x0000015Cu; /* 0298DF4C */ rbrew_write32(cpu->mem, _t39, cpu->r[9]); /* 0298DF50 */ _t40 = cpu->r[31] + 0x00000158u; /* 0298DF50 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]); /* 0298DF54 */ _t41 = cpu->r[31] + 0x00000154u; /* 0298DF54 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]); /* 0298DF58 */ _t42 = cpu->r[31] + 0x00000150u; /* 0298DF58 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]); /* 0298DF5C */ _t43 = cpu->r[31] + 0x0000016Cu; /* 0298DF5C */ rbrew_write32(cpu->mem, _t43, cpu->r[9]); /* 0298DF60 */ _t44 = cpu->r[31] + 0x00000169u; /* 0298DF60 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[9]); /* 0298DF64 */ _t45 = cpu->r[31] + 0x00000168u; /* 0298DF64 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[9]); /* 0298DF68 */ _t46 = cpu->r[31] + 0x00000164u; /* 0298DF68 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]); /* 0298DF6C */ _t47 = cpu->r[31] + 0x00000160u; /* 0298DF6C */ rbrew_write32(cpu->mem, _t47, cpu->r[9]); L_0298DF70: ; // 0x298df70 /* 0298DF70 */ _t48 = cpu->r[1] + 0x00000014u; /* 0298DF70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 0298DF74 */ cpu->r[3] = cpu->r[31]; /* 0298DF78 */ _t49 = cpu->r[1] + 0x0000000Cu; /* 0298DF78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49); /* 0298DF7C */ cpu->lr = cpu->r[0]; /* 0298DF80 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298DF84 */ return; } // fn_0298DE64 @ 0x298de64 void Gambit_fn_0298DE64(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_0298DE64: ; // 0x298de64 /* 0298DE64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298DE64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DE64 */ cpu->r[1] = _t0; /* 0298DE68 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298DE68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298DE6C */ cpu->r[31] = cpu->r[3]; /* 0298DE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298DE70 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298DE70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298DE74 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DE74 */ _t4 = _t3 & 0x00000001u; /* 0298DE74 */ if (_t4) goto L_0298DE78; else goto L_0298DE88; L_0298DE78: ; // 0x298de78 /* 0298DE78 */ cpu->r[3] = 0x00000170u; /* 0298DE7C */ Gambit_fn_02801A78(cpu); /* 0298DE80 */ cpu->r[31] = cpu->r[3]; /* 0298DE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298DE84 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DE84 */ _t6 = _t5 & 0x00000001u; /* 0298DE84 */ if (_t6) goto L_0298DF70; else goto L_0298DE88; L_0298DE88: ; // 0x298de88 /* 0298DE88 */ cpu->r[3] = cpu->r[31]; /* 0298DE8C */ Gambit_fn_02990778(cpu); /* 0298DE90 */ cpu->r[0] = 0x10150000u; /* 0298DE94 */ cpu->r[12] = 0x10150000u; /* 0298DE98 */ cpu->r[9] = 0x101F0000u; /* 0298DE9C */ cpu->r[0] = cpu->r[0] + 0xFFFFF8ACu; /* 0298DEA0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF624u; /* 0298DEA4 */ _t7 = cpu->r[31] + 0x0000008Cu; /* 0298DEA4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 0298DEA8 */ cpu->r[9] = cpu->r[9] + 0x00005E2Cu; /* 0298DEAC */ cpu->r[8] = 0x10150000u; /* 0298DEB0 */ _t8 = cpu->r[31] + 0x00000088u; /* 0298DEB0 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 0298DEB4 */ cpu->r[12] = 0x00000003u; /* 0298DEB8 */ cpu->r[11] = cpu->r[31] + 0x00000100u; /* 0298DEBC */ cpu->r[8] = cpu->r[8] + 0xFFFFF8C4u; /* 0298DEC0 */ cpu->ctr = cpu->r[12]; /* 0298DEC4 */ _t9 = cpu->r[31] + 0x00000090u; /* 0298DEC4 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]); L_0298DEC8: ; // 0x298dec8 /* 0298DEC8 */ _t10 = cpu->r[9] + 0x00000004u; /* 0298DEC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298DECC */ _t11 = cpu->r[11] + 0x00000004u; /* 0298DECC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); /* 0298DED0 */ _t12 = cpu->r[9] + 0x00000008u; /* 0298DED0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 0298DED4 */ _t13 = cpu->r[11] + 0x00000008u; /* 0298DED4 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]); /* 0298DED8 */ _t14 = cpu->r[9] + 0x0000000Cu; /* 0298DED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 0298DEDC */ _t15 = cpu->r[11] + 0x0000000Cu; /* 0298DEDC */ rbrew_write32(cpu->mem, _t15, cpu->r[10]); /* 0298DEE0 */ _t16 = cpu->r[9] + 0x00000010u; /* 0298DEE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298DEE0 */ cpu->r[9] = _t16; /* 0298DEE4 */ _t17 = cpu->r[11] + 0x00000010u; /* 0298DEE4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 0298DEE4 */ cpu->r[11] = _t17; /* 0298DEE8 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0298DEE8 */ _t18 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0298DEE8 */ _t19 = _t18 >> (0x00000002u & 31u); /* 0298DEE8 */ _t20 = _t19 & 0x00000001u; /* 0298DEE8 */ if (_t20) goto L_0298DEC8; else goto L_0298DEEC; L_0298DEEC: ; // 0x298deec /* 0298DEEC */ cpu->r[12] = 0x101F0000u; /* 0298DEF0 */ _t21 = cpu->r[12] + 0x00006368u; /* 0298DEF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 0298DEF0 */ cpu->r[12] = _t21; /* 0298DEF4 */ _t22 = cpu->r[31] + 0x00000134u; /* 0298DEF4 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]); /* 0298DEF8 */ _t23 = cpu->r[12] + 0x00000004u; /* 0298DEF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23); /* 0298DEFC */ _t24 = cpu->r[31] + 0x00000138u; /* 0298DEFC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]); /* 0298DF00 */ _t25 = cpu->r[12] + 0x00000008u; /* 0298DF00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25); /* 0298DF04 */ cpu->r[3] = cpu->r[31] + 0x00000140u; /* 0298DF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DF08 */ _t26 = cpu->r[31] + 0x0000013Cu; /* 0298DF08 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]); /* 0298DF0C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DF0C */ _t28 = _t27 & 0x00000001u; /* 0298DF0C */ if (_t28) goto L_0298DF10; else goto L_0298DF20; L_0298DF10: ; // 0x298df10 /* 0298DF10 */ cpu->r[3] = 0x00000010u; /* 0298DF14 */ Gambit_fn_02801A78(cpu); /* 0298DF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DF1C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DF1C */ _t30 = _t29 & 0x00000001u; /* 0298DF1C */ if (_t30) goto L_0298DF48; else goto L_0298DF20; L_0298DF20: ; // 0x298df20 /* 0298DF20 */ cpu->r[11] = 0x101F0000u; /* 0298DF24 */ _t31 = cpu->r[11] + 0x00006338u; /* 0298DF24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31); /* 0298DF24 */ cpu->r[11] = _t31; /* 0298DF28 */ _t32 = cpu->r[3] + 0x00000000u; /* 0298DF28 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]); /* 0298DF2C */ _t33 = cpu->r[11] + 0x00000004u; /* 0298DF2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33); /* 0298DF30 */ _t34 = cpu->r[3] + 0x00000004u; /* 0298DF30 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]); /* 0298DF34 */ _t35 = cpu->r[11] + 0x00000008u; /* 0298DF34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35); /* 0298DF38 */ cpu->r[10] = 0x101D0000u; /* 0298DF3C */ _t36 = cpu->r[3] + 0x00000008u; /* 0298DF3C */ rbrew_write32(cpu->mem, _t36, cpu->r[8]); /* 0298DF40 */ _t37 = cpu->r[10] + 0xFFFFA68Cu; /* 0298DF40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37); /* 0298DF44 */ _t38 = cpu->r[3] + 0x0000000Cu; /* 0298DF44 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]); L_0298DF48: ; // 0x298df48 /* 0298DF48 */ cpu->r[9] = 0x00000000u; /* 0298DF4C */ _t39 = cpu->r[31] + 0x0000015Cu; /* 0298DF4C */ rbrew_write32(cpu->mem, _t39, cpu->r[9]); /* 0298DF50 */ _t40 = cpu->r[31] + 0x00000158u; /* 0298DF50 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]); /* 0298DF54 */ _t41 = cpu->r[31] + 0x00000154u; /* 0298DF54 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]); /* 0298DF58 */ _t42 = cpu->r[31] + 0x00000150u; /* 0298DF58 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]); /* 0298DF5C */ _t43 = cpu->r[31] + 0x0000016Cu; /* 0298DF5C */ rbrew_write32(cpu->mem, _t43, cpu->r[9]); /* 0298DF60 */ _t44 = cpu->r[31] + 0x00000169u; /* 0298DF60 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[9]); /* 0298DF64 */ _t45 = cpu->r[31] + 0x00000168u; /* 0298DF64 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[9]); /* 0298DF68 */ _t46 = cpu->r[31] + 0x00000164u; /* 0298DF68 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]); /* 0298DF6C */ _t47 = cpu->r[31] + 0x00000160u; /* 0298DF6C */ rbrew_write32(cpu->mem, _t47, cpu->r[9]); L_0298DF70: ; // 0x298df70 /* 0298DF70 */ _t48 = cpu->r[1] + 0x00000014u; /* 0298DF70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 0298DF74 */ cpu->r[3] = cpu->r[31]; /* 0298DF78 */ _t49 = cpu->r[1] + 0x0000000Cu; /* 0298DF78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49); /* 0298DF7C */ cpu->lr = cpu->r[0]; /* 0298DF80 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298DF84 */ return; } // fn_0298DF88 @ 0x298df88 void Gambit_fn_0298DF88(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0298DF88: ; // 0x298df88 /* 0298DF88 */ cpu->r[0] = cpu->lr; /* 0298DF8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298DF8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DF8C */ cpu->r[1] = _t0; /* 0298DF90 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298DF90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298DF94 */ cpu->r[31] = cpu->r[3]; /* 0298DF98 */ cpu->r[3] = 0x00000170u; /* 0298DF9C */ cpu->r[5] = 0x00000004u; /* 0298DFA0 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298DFA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298DFA4 */ Gambit_fn_02801AC8(cpu); /* 0298DFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DFAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DFAC */ _t4 = _t3 & 0x00000001u; /* 0298DFAC */ if (_t4) goto L_0298DFB8; else goto L_0298DFB0; L_0298DFB0: ; // 0x298dfb0 /* 0298DFB0 */ cpu->r[4] = cpu->r[31]; /* 0298DFB4 */ Gambit_fn_0298DE60(cpu); L_0298DFB8: ; // 0x298dfb8 /* 0298DFB8 */ _t5 = cpu->r[1] + 0x00000014u; /* 0298DFB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298DFBC */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0298DFBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0298DFC0 */ cpu->lr = cpu->r[0]; /* 0298DFC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298DFC8 */ return; } // fn_0298DF8C @ 0x298df8c void Gambit_fn_0298DF8C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0298DF8C: ; // 0x298df8c /* 0298DF8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298DF8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DF8C */ cpu->r[1] = _t0; /* 0298DF90 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298DF90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298DF94 */ cpu->r[31] = cpu->r[3]; /* 0298DF98 */ cpu->r[3] = 0x00000170u; /* 0298DF9C */ cpu->r[5] = 0x00000004u; /* 0298DFA0 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298DFA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298DFA4 */ Gambit_fn_02801AC8(cpu); /* 0298DFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298DFAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DFAC */ _t4 = _t3 & 0x00000001u; /* 0298DFAC */ if (_t4) goto L_0298DFB8; else goto L_0298DFB0; L_0298DFB0: ; // 0x298dfb0 /* 0298DFB0 */ cpu->r[4] = cpu->r[31]; /* 0298DFB4 */ Gambit_fn_0298DE60(cpu); L_0298DFB8: ; // 0x298dfb8 /* 0298DFB8 */ _t5 = cpu->r[1] + 0x00000014u; /* 0298DFB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298DFBC */ _t6 = cpu->r[1] + 0x0000000Cu; /* 0298DFBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0298DFC0 */ cpu->lr = cpu->r[0]; /* 0298DFC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298DFC8 */ return; } // fn_0298DFCC @ 0x298dfcc void Gambit_fn_0298DFCC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_0298DFCC: ; // 0x298dfcc /* 0298DFCC */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0298DFCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298DFCC */ cpu->r[1] = _t0; /* 0298DFD0 */ cpu->r[0] = cpu->lr; /* 0298DFD4 */ /* nop */ /* 0298DFD8 */ cpu->r[26] = cpu->r[3]; /* 0298DFDC */ cpu->r[27] = cpu->r[4]; /* 0298DFE0 */ cpu->r[28] = cpu->r[5]; /* 0298DFE4 */ cpu->r[30] = cpu->r[7]; /* 0298DFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298DFE8 */ cpu->r[25] = 0x101D0000u; /* 0298DFEC */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0298DFEC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298DFF0 */ cpu->r[29] = cpu->r[6]; /* 0298DFF4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298DFF4 */ _t3 = _t2 & 0x00000001u; /* 0298DFF4 */ if (_t3) goto L_0298DFF8; else goto L_0298E004; L_0298DFF8: ; // 0x298dff8 /* 0298DFF8 */ _t4 = cpu->r[25] + 0xFFFF98F0u; /* 0298DFF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 0298DFFC */ Gambit_fn_02826F20(cpu); /* 0298E000 */ cpu->r[30] = cpu->r[3]; L_0298E004: ; // 0x298e004 /* 0298E004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298E008 */ cpu->r[31] = 0x00000001u; /* 0298E00C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E00C */ _t6 = _t5 & 0x00000001u; /* 0298E00C */ if (_t6) goto L_0298E020; else goto L_0298E010; L_0298E010: ; // 0x298e010 /* 0298E010 */ _t7 = cpu->r[25] + 0xFFFF98F0u; /* 0298E010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7); /* 0298E014 */ cpu->r[4] = cpu->r[30]; /* 0298E018 */ Gambit_fn_02827008(cpu); /* 0298E01C */ cpu->r[31] = cpu->r[3]; L_0298E020: ; // 0x298e020 /* 0298E020 */ cpu->r[6] = cpu->r[30]; /* 0298E024 */ cpu->r[3] = cpu->r[26]; /* 0298E028 */ cpu->r[4] = cpu->r[27]; /* 0298E02C */ cpu->r[5] = cpu->r[29]; /* 0298E030 */ _t8 = cpu->r[26] + 0x00000160u; /* 0298E030 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 0298E034 */ Gambit_fn_02991264(cpu); /* 0298E038 */ cpu->r[8] = 0x00000001u; /* 0298E03C */ cpu->r[12] = 0x10150000u; /* 0298E040 */ _t9 = cpu->r[26] + 0x00000169u; /* 0298E040 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[8]); /* 0298E044 */ cpu->r[3] = cpu->r[26]; /* 0298E048 */ cpu->r[0] = 0x00000003u; /* 0298E04C */ _t10 = cpu->r[12] + 0xFFFFF61Cu; /* 0298E04C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10); /* 0298E050 */ cpu->r[4] = 0xFFFFFFFFu; /* 0298E054 */ cpu->r[5] = 0x00000000u; /* 0298E058 */ _t11 = cpu->r[26] + 0x00000008u; /* 0298E058 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]); /* 0298E05C */ Gambit_fn_029DB28C(cpu); /* 0298E060 */ cpu->r[11] = 0x10150000u; /* 0298E064 */ _t12 = cpu->r[26] + 0x00000008u; /* 0298E064 */ cpu->r[10] = rbrew_read8(cpu->mem, _t12); /* 0298E068 */ cpu->r[3] = cpu->r[26]; /* 0298E06C */ cpu->r[4] = 0xFFFFFFFFu; /* 0298E070 */ _t13 = cpu->r[11] + 0xFFFFF620u; /* 0298E070 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t13); /* 0298E074 */ cpu->r[5] = cpu->r[10] + 0xFFFFFFFFu; /* 0298E078 */ Gambit_fn_029DB28C(cpu); /* 0298E07C */ cpu->r[3] = cpu->r[26]; /* 0298E080 */ cpu->r[4] = cpu->r[28]; /* 0298E084 */ cpu->r[5] = 0x00000000u; /* 0298E088 */ Gambit_fn_0298D5D0(cpu); /* 0298E08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u); /* 0298E090 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E090 */ _t15 = _t14 & 0x00000001u; /* 0298E090 */ if (_t15) goto L_0298E0A0; else goto L_0298E094; L_0298E094: ; // 0x298e094 /* 0298E094 */ _t16 = cpu->r[25] + 0xFFFF98F0u; /* 0298E094 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16); /* 0298E098 */ cpu->r[4] = cpu->r[31]; /* 0298E09C */ Gambit_fn_02827008(cpu); L_0298E0A0: ; // 0x298e0a0 /* 0298E0A0 */ /* nop */ /* 0298E0A4 */ _t17 = cpu->r[1] + 0x0000002Cu; /* 0298E0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0298E0A8 */ cpu->lr = cpu->r[0]; /* 0298E0AC */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0298E0B0 */ return; } // fn_0298E0B4 @ 0x298e0b4 void Gambit_fn_0298E0B4(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_0298E0B4: ; // 0x298e0b4 /* 0298E0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298E0B8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E0B8 */ _t17 = _t16 & 0x00000001u; /* 0298E0B8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298E0B8 */ goto L_0298E0BC; L_0298E0BC: ; // 0x298e0bc /* 0298E0BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298E0BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E0C0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E0C0 */ _t19 = _t18 & 0x00000001u; /* 0298E0C0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0298E0C0 */ goto L_0298E0C4; L_0298E0C4: ; // 0x298e0c4 /* 0298E0C4 */ goto L_02801BB0; } // fn_0298E0C8 @ 0x298e0c8 void Gambit_fn_0298E0C8(CPUState* cpu) { L_0298E0C8: ; // 0x298e0c8 /* 0298E0C8 */ return; } // fn_0298E0CC @ 0x298e0cc void Gambit_fn_0298E0CC(CPUState* cpu) { L_0298E0CC: ; // 0x298e0cc /* 0298E0CC */ cpu->r[3] = cpu->r[6]; /* 0298E0D0 */ return; } // fn_0298E0D4 @ 0x298e0d4 void Gambit_fn_0298E0D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0298E0D4: ; // 0x298e0d4 /* 0298E0D4 */ cpu->r[0] = cpu->lr; /* 0298E0D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298E0D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298E0D8 */ cpu->r[1] = _t0; /* 0298E0DC */ _t1 = cpu->r[1] + 0x00000008u; /* 0298E0DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298E0E0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298E0E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298E0E4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298E0E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298E0E8 */ _t4 = cpu->r[3] + 0x0000000Cu; /* 0298E0E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298E0EC */ _t5 = cpu->r[12] + 0x0000002Cu; /* 0298E0EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0298E0F0 */ cpu->ctr = cpu->r[11]; /* 0298E0F4 */ _t6 = cpu->r[3] + 0x00000000u; /* 0298E0F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 0298E0F8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298E0FC */ cpu->r[31] = cpu->r[3]; /* 0298E100 */ cpu->r[3] = cpu->r[30]; /* 0298E104 */ cpu->r[4] = cpu->r[31]; /* 0298E108 */ Gambit_fn_029DA9EC(cpu); /* 0298E10C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 0298E110 */ _t7 = cpu->r[30] + 0x00000040u; /* 0298E110 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 0298E114 */ _t8 = cpu->r[1] + 0x00000008u; /* 0298E114 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 0298E118 */ cpu->r[12] = cpu->r[11] + cpu->r[0]; /* 0298E11C */ _t9 = cpu->r[1] + 0x00000014u; /* 0298E11C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298E120 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298E120 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298E124 */ cpu->lr = cpu->r[0]; /* 0298E128 */ _t11 = cpu->r[12] + 0x00000008u; /* 0298E128 */ cpu->r[3] = rbrew_read8(cpu->mem, _t11); /* 0298E12C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298E130 */ return; } // fn_0298E0D8 @ 0x298e0d8 void Gambit_fn_0298E0D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11; L_0298E0D8: ; // 0x298e0d8 /* 0298E0D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298E0D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298E0D8 */ cpu->r[1] = _t0; /* 0298E0DC */ _t1 = cpu->r[1] + 0x00000008u; /* 0298E0DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298E0E0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298E0E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298E0E4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298E0E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298E0E8 */ _t4 = cpu->r[3] + 0x0000000Cu; /* 0298E0E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298E0EC */ _t5 = cpu->r[12] + 0x0000002Cu; /* 0298E0EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 0298E0F0 */ cpu->ctr = cpu->r[11]; /* 0298E0F4 */ _t6 = cpu->r[3] + 0x00000000u; /* 0298E0F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 0298E0F8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298E0FC */ cpu->r[31] = cpu->r[3]; /* 0298E100 */ cpu->r[3] = cpu->r[30]; /* 0298E104 */ cpu->r[4] = cpu->r[31]; /* 0298E108 */ Gambit_fn_029DA9EC(cpu); /* 0298E10C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000000Cu); /* 0298E110 */ _t7 = cpu->r[30] + 0x00000040u; /* 0298E110 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7); /* 0298E114 */ _t8 = cpu->r[1] + 0x00000008u; /* 0298E114 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8); /* 0298E118 */ cpu->r[12] = cpu->r[11] + cpu->r[0]; /* 0298E11C */ _t9 = cpu->r[1] + 0x00000014u; /* 0298E11C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298E120 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298E120 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298E124 */ cpu->lr = cpu->r[0]; /* 0298E128 */ _t11 = cpu->r[12] + 0x00000008u; /* 0298E128 */ cpu->r[3] = rbrew_read8(cpu->mem, _t11); /* 0298E12C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298E130 */ return; } // fn_0298E134 @ 0x298e134 void Gambit_fn_0298E134(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0298E134: ; // 0x298e134 /* 0298E134 */ _t0 = cpu->r[3] + 0x00000010u; /* 0298E134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0298E138 */ _t1 = cpu->r[12] + 0x00000000u; /* 0298E138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0298E13C */ _t2 = cpu->r[12] + 0x0000000Eu; /* 0298E13C */ cpu->r[3] = rbrew_read16(cpu->mem, _t2); /* 0298E140 */ return; } // fn_0298E144 @ 0x298e144 void Gambit_fn_0298E144(CPUState* cpu) { uint32_t _t0; L_0298E144: ; // 0x298e144 /* 0298E144 */ _t0 = cpu->r[3] + 0x0000007Cu; /* 0298E144 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0); /* 0298E148 */ return; } // fn_0298E14C @ 0x298e14c void Gambit_fn_0298E14C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5; L_0298E14C: ; // 0x298e14c /* 0298E14C */ _t0 = cpu->r[3] + 0x00000010u; /* 0298E14C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0298E150 */ _t1 = cpu->r[11] + 0x00000000u; /* 0298E150 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0298E154 */ _t2 = cpu->r[12] + 0x00000024u; /* 0298E154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0298E154 */ cpu->r[12] = _t2; /* 0298E158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E15C */ cpu->r[11] = 0x00000000u; /* 0298E160 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E160 */ _t4 = _t3 & 0x00000001u; /* 0298E160 */ if (_t4) goto L_0298E168; else goto L_0298E164; L_0298E164: ; // 0x298e164 /* 0298E164 */ cpu->r[11] = cpu->r[12] + cpu->r[0]; L_0298E168: ; // 0x298e168 /* 0298E168 */ _t5 = cpu->r[11] + 0x0000000Cu; /* 0298E168 */ cpu->r[3] = rbrew_read16(cpu->mem, _t5); /* 0298E16C */ return; } // fn_0298E170 @ 0x298e170 void Gambit_fn_0298E170(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0298E170: ; // 0x298e170 /* 0298E170 */ _t0 = cpu->r[3] + 0x000000C8u; /* 0298E170 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0); /* 0298E174 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000030u); /* 0298E178 */ _t1 = cpu->r[3] + 0x000000D8u; /* 0298E178 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0298E17C */ cpu->r[0] = cpu->r[0] | 0x00000004u; /* 0298E180 */ _t2 = cpu->r[3] + 0x000000C8u; /* 0298E180 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]); /* 0298E184 */ cpu->r[3] = cpu->r[12] + cpu->r[11]; /* 0298E188 */ return; } // fn_0298E18C @ 0x298e18c void Gambit_fn_0298E18C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0298E18C: ; // 0x298e18c /* 0298E18C */ /* nop */ /* 0298E190 */ _t0 = cpu->r[3] + 0x00000098u; /* 0298E190 */ cpu->r[7] = rbrew_read32(cpu->mem, _t0); /* 0298E194 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E198 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Bu, 0x0000001Fu); /* 0298E19C */ cpu->r[9] = 0x00000001u; /* 0298E1A0 */ _t1 = cpu->r[7] + cpu->r[6]; /* 0298E1A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 0298E1A4 */ /* nop */ /* 0298E1A8 */ /* nop */ /* 0298E1AC */ _t2 = ~cpu->r[8]; /* 0298E1AC */ cpu->r[0] = cpu->r[10] & _t2; /* 0298E1B0 */ cpu->r[12] = cpu->r[0] | cpu->r[11]; /* 0298E1B4 */ _t3 = cpu->r[7] + cpu->r[6]; /* 0298E1B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0298E1B8 */ return; } // fn_0298E1BC @ 0x298e1bc void Gambit_fn_0298E1BC(CPUState* cpu) { uint32_t _t0, _t1; L_0298E1BC: ; // 0x298e1bc /* 0298E1BC */ /* nop */ /* 0298E1C0 */ _t0 = cpu->r[3] + 0x00000098u; /* 0298E1C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0298E1C4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E1C8 */ _t1 = cpu->r[11] + cpu->r[12]; /* 0298E1C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 0298E1CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Bu, 0x0000001Fu); /* 0298E1D0 */ /* nop */ /* 0298E1D4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298E1D8 */ return; } // fn_0298E1DC @ 0x298e1dc void Gambit_fn_0298E1DC(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; L_0298E1DC: ; // 0x298e1dc /* 0298E1DC */ _t0 = cpu->r[3] + 0x000000ACu; /* 0298E1DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0); /* 0298E1E0 */ goto L_02C59BC4; L_02C59BC4: ; // 0x2c59bc4 /* 02C59BC4 */ _t1 = cpu->r[1] + 0xFFFFFF98u; /* 02C59BC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02C59BC4 */ cpu->r[1] = _t1; /* 02C59BC8 */ _t2 = cpu->r[1] + 0x00000028u; /* 02C59BC8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[28]); /* 02C59BCC */ /* nop */ /* 02C59BD0 */ _t3 = cpu->r[1] + 0x00000038u; /* 02C59BD0 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]); /* 02C59BD4 */ /* nop */ /* 02C59BD8 */ _t4 = cpu->r[1] + 0x00000048u; /* 02C59BD8 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]); /* 02C59BDC */ /* nop */ /* 02C59BE0 */ _t5 = cpu->r[1] + 0x00000058u; /* 02C59BE0 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]); /* 02C59BE4 */ /* nop */ /* 02C59BE8 */ _t6 = cpu->r[1] + 0x00000030u; /* 02C59BE8 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[28]); /* 02C59BEC */ _t7 = cpu->r[1] + 0x00000040u; /* 02C59BEC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[29]); /* 02C59BF0 */ _t8 = cpu->r[1] + 0x00000050u; /* 02C59BF0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]); /* 02C59BF4 */ _t9 = cpu->r[1] + 0x00000060u; /* 02C59BF4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]); /* 02C59BF8 */ _t10 = cpu->r[3] + 0x00000004u; /* 02C59BF8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t10); /* 02C59BFC */ _t11 = cpu->r[3] + 0x00000000u; /* 02C59BFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t11); /* 02C59C00 */ cpu->r[11] = cpu->r[11] | 0x00000004u; /* 02C59C04 */ _t12 = cpu->r[3] + 0x0000000Cu; /* 02C59C04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12); /* 02C59C08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000011u, 0x00000013u); /* 02C59C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02C59C0C */ _t13 = cpu->r[3] + 0x00000004u; /* 02C59C0C */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[11]); /* 02C59C10 */ _t14 = cpu->r[8] + 0x00000008u; /* 02C59C10 */ cpu->r[12] = rbrew_read16(cpu->mem, _t14); /* 02C59C14 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02C59C14 */ _t16 = _t15 & 0x00000001u; /* 02C59C14 */ if (_t16) goto L_02C59E04; else goto L_02C59C18; L_02C59C18: ; // 0x2c59c18 /* 02C59C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02C59C1C */ _t17 = cpu->cr[0] >> (0x00000002u & 31u); /* 02C59C1C */ _t18 = _t17 & 0x00000001u; /* 02C59C1C */ if (_t18) goto L_02C59C20; else goto L_02C59F24; L_02C59C20: ; // 0x2c59c20 /* 02C59C20 */ cpu->r[11] = 0x101B0000u; /* 02C59C24 */ _t19 = cpu->r[11] + 0xFFFFEF48u; /* 02C59C24 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19); /* 02C59C28 */ cpu->r[11] = 0x101B0000u; /* 02C59C2C */ cpu->r[7] = 0x00000000u; /* 02C59C30 */ _t20 = cpu->r[11] + 0xFFFFEF50u; /* 02C59C30 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t20); /* 02C59C34 */ cpu->r[11] = 0x101B0000u; /* 02C59C38 */ cpu->r[9] = 0x101B0000u; /* 02C59C3C */ _t21 = cpu->r[11] + 0xFFFFEF58u; /* 02C59C3C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t21); /* 02C59C40 */ cpu->r[9] = cpu->r[9] + 0xFFFFF1DCu; L_02C59C44: ; // 0x2c59c44 /* 02C59C44 */ _t22 = cpu->r[8] + 0x00000014u; /* 02C59C44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22); /* 02C59C48 */ cpu->r[5] = 0x00000000u; /* 02C59C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 02C59C50 */ cpu->r[11] = cpu->r[8] + 0x00000014u; /* 02C59C54 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02C59C54 */ _t24 = _t23 & 0x00000001u; /* 02C59C54 */ if (_t24) goto L_02C59C5C; else goto L_02C59C58; L_02C59C58: ; // 0x2c59c58 /* 02C59C58 */ cpu->r[5] = cpu->r[11] + cpu->r[10]; L_02C59C5C: ; // 0x2c59c5c /* 02C59C5C */ cpu->r[4] = cpu->r[5] + cpu->r[7]; /* 02C59C60 */ cpu->r[10] = 0x00000003u; /* 02C59C64 */ _t25 = cpu->r[4] + 0x00000010u; /* 02C59C64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25); /* 02C59C68 */ cpu->ctr = cpu->r[10]; /* 02C59C6C */ cpu->r[11] = cpu->r[11] & 0x0F870000u; /* 02C59C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02C59C70 */ cpu->r[10] = 0x00000000u; /* 02C59C74 */ cpu->r[5] = cpu->r[6] + cpu->r[7]; /* 02C59C78 */ _t26 = cpu->r[6] + cpu->r[7]; /* 02C59C78 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]); L_02C59C7C: ; // 0x2c59c7c /* 02C59C7C */ cpu->r[11] = cpu->r[4] + 0x00000014u; /* 02C59C80 */ _t27 = cpu->r[11] + cpu->r[10]; /* 02C59C80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27); /* 02C59C84 */ cpu->r[11] = cpu->r[5] + 0x00000004u; /* 02C59C88 */ _t28 = cpu->r[11] + cpu->r[10]; /* 02C59C88 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]); /* 02C59C8C */ cpu->r[10] = cpu->r[10] + 0x00000004u; /* 02C59C90 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02C59C90 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02C59C90 */ _t30 = _t29 >> (0x00000002u & 31u); /* 02C59C90 */ _t31 = _t30 & 0x00000001u; /* 02C59C90 */ if (_t31) goto L_02C59C7C; else goto L_02C59C94; L_02C59C94: ; // 0x2c59c94 /* 02C59C94 */ _t32 = cpu->r[4] + 0x00000020u; /* 02C59C94 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32); /* 02C59C98 */ cpu->r[11] = 0x43300000u; /* 02C59C9C */ cpu->f[11] = fma(cpu->f[11], cpu->f[0], cpu->f[12]); /* 02C59CA0 */ _t33 = cpu->r[1] + 0x00000008u; /* 02C59CA0 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]); /* 02C59CA4 */ cpu->r[11] = 0x101B0000u; /* 02C59CA8 */ _t34 = cpu->r[11] + 0xFFFFEF70u; /* 02C59CA8 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t34); /* 02C59CAC */ _t35 = cpu->r[1] + 0x00000010u; /* 02C59CAC */ rbrew_write_f64(cpu->mem, _t35, cpu->f[11]); /* 02C59CB0 */ _t36 = cpu->r[1] + 0x00000014u; /* 02C59CB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36); /* 02C59CB4 */ _t37 = cpu->r[4] + 0x00000024u; /* 02C59CB4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37); /* 02C59CB8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000001Fu); /* 02C59CBC */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000000Cu, 0x00000014u, 0x0000001Bu); /* 02C59CC0 */ _t38 = cpu->r[1] + 0x0000000Cu; /* 02C59CC0 */ rbrew_write32(cpu->mem, _t38, cpu->r[11]); /* 02C59CC4 */ _t39 = cpu->r[1] + 0x00000008u; /* 02C59CC4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t39); /* 02C59CC8 */ cpu->r[10] = cpu->r[9] + cpu->r[10]; /* 02C59CCC */ cpu->f[9] = cpu->f[10] - cpu->f[28]; /* 02C59CD0 */ _t40 = cpu->r[10] + 0x00000008u; /* 02C59CD0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t40); /* 02C59CD4 */ cpu->f[10] = fma(cpu->f[11], cpu->f[0], cpu->f[12]); /* 02C59CD8 */ _t41 = cpu->r[10] + 0x00000000u; /* 02C59CD8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t41); /* 02C59CDC */ cpu->f[11] = (double)(float)cpu->f[9]; /* 02C59CE0 */ _t42 = cpu->r[1] + 0x00000018u; /* 02C59CE0 */ rbrew_write_f64(cpu->mem, _t42, cpu->f[10]); /* 02C59CE4 */ _t43 = cpu->r[1] + 0x0000001Cu; /* 02C59CE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t43); /* 02C59CE8 */ cpu->f[9] = cpu->f[11] * cpu->f[13]; /* 02C59CEC */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000001Fu); /* 02C59CF0 */ _t44 = cpu->r[1] + 0x0000000Cu; /* 02C59CF0 */ rbrew_write32(cpu->mem, _t44, cpu->r[8]); /* 02C59CF4 */ _t45 = cpu->r[1] + 0x00000008u; /* 02C59CF4 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t45); /* 02C59CF8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000000Cu, 0x00000014u, 0x0000001Bu); /* 02C59CFC */ _t46 = cpu->r[4] + 0x00000028u; /* 02C59CFC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t46); /* 02C59D00 */ cpu->f[11] = cpu->f[11] - cpu->f[28]; /* 02C59D04 */ _t47 = cpu->r[10] + 0x00000004u; /* 02C59D04 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t47); /* 02C59D08 */ cpu->r[11] = cpu->r[9] + cpu->r[11]; /* 02C59D0C */ cpu->f[1] = fma(cpu->f[7], cpu->f[9], cpu->f[8]); /* 02C59D10 */ _t48 = cpu->r[11] + 0x0000000Cu; /* 02C59D10 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t48); /* 02C59D14 */ cpu->f[7] = (double)(float)cpu->f[11]; /* 02C59D18 */ _t49 = cpu->r[11] + 0x00000004u; /* 02C59D18 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t49); /* 02C59D1C */ cpu->f[6] = fma(cpu->f[6], cpu->f[0], cpu->f[12]); /* 02C59D20 */ _t50 = cpu->r[11] + 0x00000008u; /* 02C59D20 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t50); /* 02C59D24 */ _t51 = cpu->r[10] + 0x0000000Cu; /* 02C59D24 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t51); /* 02C59D28 */ cpu->f[5] = cpu->f[7] * cpu->f[13]; /* 02C59D2C */ _t52 = cpu->r[11] + 0x00000000u; /* 02C59D2C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t52); /* 02C59D30 */ _t53 = cpu->r[1] + 0x00000020u; /* 02C59D30 */ rbrew_write_f64(cpu->mem, _t53, cpu->f[6]); /* 02C59D34 */ _t54 = cpu->r[1] + 0x00000024u; /* 02C59D34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t54); /* 02C59D38 */ cpu->f[31] = fma(cpu->f[8], cpu->f[5], cpu->f[10]); /* 02C59D3C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000001Fu); /* 02C59D40 */ cpu->f[30] = fma(cpu->f[29], cpu->f[9], cpu->f[30]); /* 02C59D44 */ _t55 = cpu->r[1] + 0x0000000Cu; /* 02C59D44 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]); /* 02C59D48 */ _t56 = cpu->r[1] + 0x00000008u; /* 02C59D48 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t56); /* 02C59D4C */ cpu->f[4] = fma(cpu->f[3], cpu->f[5], cpu->f[4]); /* 02C59D50 */ cpu->f[11] = cpu->f[11] - cpu->f[28]; /* 02C59D54 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000000Cu, 0x00000014u, 0x0000001Bu); /* 02C59D58 */ cpu->f[2] = cpu->f[1] * cpu->f[31]; /* 02C59D5C */ cpu->r[11] = cpu->r[9] + cpu->r[11]; /* 02C59D60 */ cpu->f[11] = (double)(float)cpu->f[11]; /* 02C59D64 */ _t57 = cpu->r[11] + 0x00000008u; /* 02C59D64 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t57); /* 02C59D68 */ cpu->f[8] = -cpu->f[31]; /* 02C59D6C */ _t58 = cpu->r[11] + 0x0000000Cu; /* 02C59D6C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t58); /* 02C59D70 */ cpu->f[6] = cpu->f[11] * cpu->f[13]; /* 02C59D74 */ _t59 = cpu->r[11] + 0x00000000u; /* 02C59D74 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t59); /* 02C59D78 */ _t60 = cpu->r[11] + 0x00000004u; /* 02C59D78 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t60); /* 02C59D7C */ cpu->f[3] = fma(cpu->f[7], cpu->f[6], cpu->f[9]); /* 02C59D80 */ cpu->f[5] = fma(cpu->f[10], cpu->f[6], cpu->f[11]); /* 02C59D84 */ cpu->f[10] = cpu->f[4] * cpu->f[3]; /* 02C59D88 */ cpu->f[6] = cpu->f[30] * cpu->f[5]; /* 02C59D8C */ cpu->f[7] = cpu->f[30] * cpu->f[3]; /* 02C59D90 */ cpu->f[11] = cpu->f[1] * cpu->f[3]; /* 02C59D94 */ cpu->f[9] = fma(cpu->f[2], cpu->f[5], -(cpu->f[7])); /* 02C59D98 */ _t61 = cpu->r[5] + 0x00000020u; /* 02C59D98 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[10]); /* 02C59D9C */ cpu->f[10] = fma(cpu->f[6], cpu->f[31], cpu->f[11]); /* 02C59DA0 */ _t62 = cpu->r[5] + 0x00000030u; /* 02C59DA0 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[8]); /* 02C59DA4 */ cpu->f[11] = fma(cpu->f[2], cpu->f[3], cpu->f[6]); /* 02C59DA8 */ _t63 = cpu->r[5] + 0x00000014u; /* 02C59DA8 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[9]); /* 02C59DAC */ cpu->f[9] = cpu->f[1] * cpu->f[4]; /* 02C59DB0 */ _t64 = cpu->r[5] + 0x00000024u; /* 02C59DB0 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[11]); /* 02C59DB4 */ cpu->f[11] = cpu->f[1] * cpu->f[5]; /* 02C59DB8 */ _t65 = cpu->r[5] + 0x00000034u; /* 02C59DB8 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[9]); /* 02C59DBC */ cpu->f[9] = cpu->f[4] * cpu->f[5]; /* 02C59DC0 */ _t66 = cpu->r[5] + 0x00000018u; /* 02C59DC0 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[10]); /* 02C59DC4 */ cpu->f[11] = fma(cpu->f[7], cpu->f[31], -(cpu->f[11])); /* 02C59DC8 */ _t67 = cpu->r[5] + 0x00000010u; /* 02C59DC8 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[9]); /* 02C59DCC */ cpu->f[10] = cpu->f[30] * cpu->f[4]; /* 02C59DD0 */ _t68 = cpu->r[5] + 0x00000028u; /* 02C59DD0 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[11]); /* 02C59DD4 */ _t69 = cpu->r[5] + 0x00000038u; /* 02C59DD4 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[10]); /* 02C59DD8 */ _t70 = cpu->r[4] + 0x00000030u; /* 02C59DD8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t70); /* 02C59DDC */ _t71 = cpu->r[5] + 0x0000001Cu; /* 02C59DDC */ rbrew_write_f32(cpu->mem, _t71, cpu->f[11]); /* 02C59DE0 */ _t72 = cpu->r[4] + 0x00000034u; /* 02C59DE0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t72); /* 02C59DE4 */ _t73 = cpu->r[5] + 0x0000002Cu; /* 02C59DE4 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[10]); /* 02C59DE8 */ _t74 = cpu->r[4] + 0x00000038u; /* 02C59DE8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t74); /* 02C59DEC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 02C59DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02C59DF0 */ cpu->r[7] = cpu->r[7] + 0x00000040u; /* 02C59DF4 */ _t75 = cpu->r[5] + 0x0000003Cu; /* 02C59DF4 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[11]); /* 02C59DF8 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u); /* 02C59DF8 */ _t77 = _t76 & 0x00000001u; /* 02C59DF8 */ if (_t77) goto L_02C59F24; else goto L_02C59DFC; L_02C59DFC: ; // 0x2c59dfc /* 02C59DFC */ _t78 = cpu->r[3] + 0x00000000u; /* 02C59DFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t78); /* 02C59E00 */ goto L_02C59C44; L_02C59E04: ; // 0x2c59e04 /* 02C59E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02C59E08 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u); /* 02C59E08 */ _t80 = _t79 & 0x00000001u; /* 02C59E08 */ if (_t80) goto L_02C59E0C; else goto L_02C59F24; L_02C59E0C: ; // 0x2c59e0c /* 02C59E0C */ cpu->r[11] = 0x101B0000u; /* 02C59E10 */ _t81 = cpu->r[11] + 0xFFFFEF7Cu; /* 02C59E10 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t81); /* 02C59E14 */ cpu->r[7] = 0x00000000u; L_02C59E18: ; // 0x2c59e18 /* 02C59E18 */ _t82 = cpu->r[8] + 0x00000014u; /* 02C59E18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t82); /* 02C59E1C */ cpu->r[11] = 0x00000000u; /* 02C59E20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02C59E24 */ cpu->r[10] = cpu->r[8] + 0x00000014u; /* 02C59E28 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u); /* 02C59E28 */ _t84 = _t83 & 0x00000001u; /* 02C59E28 */ if (_t84) goto L_02C59E30; else goto L_02C59E2C; L_02C59E2C: ; // 0x2c59e2c /* 02C59E2C */ cpu->r[11] = cpu->r[10] + cpu->r[9]; L_02C59E30: ; // 0x2c59e30 /* 02C59E30 */ cpu->r[10] = cpu->r[11] + cpu->r[7]; /* 02C59E34 */ cpu->r[11] = 0x00000003u; /* 02C59E38 */ _t85 = cpu->r[10] + 0x00000010u; /* 02C59E38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85); /* 02C59E3C */ cpu->ctr = cpu->r[11]; /* 02C59E40 */ cpu->r[11] = cpu->r[6] + cpu->r[7]; /* 02C59E44 */ cpu->r[8] = cpu->r[9] & 0x0F870000u; /* 02C59E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 02C59E48 */ cpu->r[9] = 0x00000000u; /* 02C59E4C */ _t86 = cpu->r[6] + cpu->r[7]; /* 02C59E4C */ rbrew_write32(cpu->mem, _t86, cpu->r[8]); L_02C59E50: ; // 0x2c59e50 /* 02C59E50 */ cpu->r[8] = cpu->r[10] + 0x00000014u; /* 02C59E54 */ _t87 = cpu->r[8] + cpu->r[9]; /* 02C59E54 */ cpu->r[13] = rbrew_read32(cpu->mem, _t87); /* 02C59E58 */ cpu->r[8] = cpu->r[11] + 0x00000004u; /* 02C59E5C */ _t88 = cpu->r[8] + cpu->r[9]; /* 02C59E5C */ rbrew_write32(cpu->mem, _t88, cpu->r[13]); /* 02C59E60 */ cpu->r[9] = cpu->r[9] + 0x00000004u; /* 02C59E64 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 02C59E64 */ _t89 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 02C59E64 */ _t90 = _t89 >> (0x00000002u & 31u); /* 02C59E64 */ _t91 = _t90 & 0x00000001u; /* 02C59E64 */ if (_t91) goto L_02C59E50; else goto L_02C59E68; L_02C59E68: ; // 0x2c59e68 /* 02C59E68 */ _t92 = cpu->r[10] + 0x0000002Cu; /* 02C59E68 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t92); /* 02C59E6C */ _t93 = cpu->r[10] + 0x00000024u; /* 02C59E6C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t93); /* 02C59E70 */ cpu->f[10] = cpu->f[12] + cpu->f[12]; /* 02C59E74 */ _t94 = cpu->r[10] + 0x00000020u; /* 02C59E74 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t94); /* 02C59E78 */ cpu->f[13] = cpu->f[9] + cpu->f[9]; /* 02C59E7C */ cpu->f[12] = cpu->f[11] + cpu->f[11]; /* 02C59E80 */ cpu->f[4] = cpu->f[10] * cpu->f[9]; /* 02C59E84 */ cpu->f[30] = cpu->f[13] * cpu->f[9]; /* 02C59E88 */ _t95 = cpu->r[10] + 0x00000028u; /* 02C59E88 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t95); /* 02C59E8C */ cpu->f[31] = cpu->f[12] * cpu->f[9]; /* 02C59E90 */ cpu->f[3] = cpu->f[10] * cpu->f[8]; /* 02C59E94 */ cpu->f[1] = cpu->f[12] * cpu->f[8]; /* 02C59E98 */ cpu->f[5] = cpu->f[8] + cpu->f[8]; /* 02C59E9C */ cpu->f[9] = cpu->f[10] * cpu->f[11]; /* 02C59EA0 */ cpu->f[10] = cpu->f[0] - cpu->f[30]; /* 02C59EA4 */ cpu->f[2] = cpu->f[13] * cpu->f[8]; /* 02C59EA8 */ cpu->f[8] = cpu->f[5] * cpu->f[8]; /* 02C59EAC */ cpu->f[6] = cpu->f[31] - cpu->f[3]; /* 02C59EB0 */ cpu->f[13] = -fma(cpu->f[12], cpu->f[11], -(cpu->f[0])); /* 02C59EB4 */ cpu->f[7] = cpu->f[1] + cpu->f[4]; /* 02C59EB8 */ cpu->f[12] = cpu->f[31] + cpu->f[3]; /* 02C59EBC */ _t96 = cpu->r[11] + 0x00000014u; /* 02C59EBC */ rbrew_write_f32(cpu->mem, _t96, cpu->f[6]); /* 02C59EC0 */ cpu->f[11] = cpu->f[13] - cpu->f[8]; /* 02C59EC4 */ _t97 = cpu->r[11] + 0x00000018u; /* 02C59EC4 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[7]); /* 02C59EC8 */ cpu->f[10] = cpu->f[10] - cpu->f[8]; /* 02C59ECC */ _t98 = cpu->r[11] + 0x00000020u; /* 02C59ECC */ rbrew_write_f32(cpu->mem, _t98, cpu->f[12]); /* 02C59ED0 */ cpu->f[12] = cpu->f[2] - cpu->f[9]; /* 02C59ED4 */ _t99 = cpu->r[11] + 0x00000024u; /* 02C59ED4 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[11]); /* 02C59ED8 */ _t100 = cpu->r[11] + 0x00000010u; /* 02C59ED8 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[10]); /* 02C59EDC */ cpu->f[10] = cpu->f[1] - cpu->f[4]; /* 02C59EE0 */ _t101 = cpu->r[11] + 0x00000028u; /* 02C59EE0 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[12]); /* 02C59EE4 */ cpu->f[11] = cpu->f[2] + cpu->f[9]; /* 02C59EE8 */ cpu->f[12] = cpu->f[13] - cpu->f[30]; /* 02C59EEC */ _t102 = cpu->r[11] + 0x00000030u; /* 02C59EEC */ rbrew_write_f32(cpu->mem, _t102, cpu->f[10]); /* 02C59EF0 */ _t103 = cpu->r[11] + 0x00000034u; /* 02C59EF0 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[11]); /* 02C59EF4 */ _t104 = cpu->r[11] + 0x00000038u; /* 02C59EF4 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[12]); /* 02C59EF8 */ _t105 = cpu->r[10] + 0x00000030u; /* 02C59EF8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t105); /* 02C59EFC */ _t106 = cpu->r[11] + 0x0000001Cu; /* 02C59EFC */ rbrew_write_f32(cpu->mem, _t106, cpu->f[13]); /* 02C59F00 */ _t107 = cpu->r[10] + 0x00000034u; /* 02C59F00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t107); /* 02C59F04 */ _t108 = cpu->r[11] + 0x0000002Cu; /* 02C59F04 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[12]); /* 02C59F08 */ _t109 = cpu->r[10] + 0x00000038u; /* 02C59F08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t109); /* 02C59F0C */ cpu->r[7] = cpu->r[7] + 0x00000040u; /* 02C59F10 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 02C59F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02C59F14 */ _t110 = cpu->r[11] + 0x0000003Cu; /* 02C59F14 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[13]); /* 02C59F18 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u); /* 02C59F18 */ _t112 = _t111 & 0x00000001u; /* 02C59F18 */ if (_t112) goto L_02C59F24; else goto L_02C59F1C; L_02C59F1C: ; // 0x2c59f1c /* 02C59F1C */ _t113 = cpu->r[3] + 0x00000000u; /* 02C59F1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t113); /* 02C59F20 */ goto L_02C59E18; L_02C59F24: ; // 0x2c59f24 /* 02C59F24 */ _t114 = cpu->r[1] + 0x00000060u; /* 02C59F24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t114); /* 02C59F28 */ _t115 = cpu->r[1] + 0x00000050u; /* 02C59F28 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t115); /* 02C59F2C */ _t116 = cpu->r[1] + 0x00000058u; /* 02C59F2C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t116); /* 02C59F30 */ _t117 = cpu->r[1] + 0x00000048u; /* 02C59F30 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t117); /* 02C59F34 */ _t118 = cpu->r[1] + 0x00000040u; /* 02C59F34 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t118); /* 02C59F38 */ _t119 = cpu->r[1] + 0x00000030u; /* 02C59F38 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t119); /* 02C59F3C */ _t120 = cpu->r[1] + 0x00000038u; /* 02C59F3C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t120); /* 02C59F40 */ _t121 = cpu->r[1] + 0x00000028u; /* 02C59F40 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t121); /* 02C59F44 */ _t122 = cpu->cr[0] >> (0x00000003u & 31u); /* 02C59F44 */ _t123 = _t122 & 0x00000001u; /* 02C59F44 */ if (_t123) goto L_02C59F48; // else: addr-0 trap, fall-through L_02C59F48: ; // 0x2c59f48 /* 02C59F48 */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 02C59F4C */ return; } // fn_0298E1E4 @ 0x298e1e4 void Gambit_fn_0298E1E4(CPUState* cpu) { uint32_t _t0; L_0298E1E4: ; // 0x298e1e4 /* 0298E1E4 */ _t0 = cpu->r[3] + 0x000000AAu; /* 0298E1E4 */ cpu->r[3] = rbrew_read16(cpu->mem, _t0); /* 0298E1E8 */ return; } // fn_0298E1EC @ 0x298e1ec void Gambit_fn_0298E1EC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0298E1EC: ; // 0x298e1ec /* 0298E1EC */ cpu->r[0] = cpu->lr; /* 0298E1F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298E1F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298E1F0 */ cpu->r[1] = _t0; /* 0298E1F4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298E1F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298E1F8 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298E1F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298E1FC */ cpu->r[31] = cpu->r[4]; /* 0298E200 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298E200 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298E204 */ _t4 = cpu->r[31] + 0x00000004u; /* 0298E204 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 0298E208 */ _t5 = cpu->r[8] + 0x00000014u; /* 0298E208 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 0298E20C */ _t6 = cpu->r[3] + 0x00000094u; /* 0298E20C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 0298E210 */ cpu->ctr = cpu->r[9]; /* 0298E214 */ cpu->r[3] = cpu->r[31]; /* 0298E218 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298E21C */ _t7 = cpu->r[30] + 0x00000018u; /* 0298E21C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298E220 */ cpu->r[11] = cpu->r[30] + 0x00000018u; /* 0298E224 */ cpu->r[3] = 0x00000000u; /* 0298E228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E22C */ _t8 = cpu->r[31] + 0x00000000u; /* 0298E22C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8); /* 0298E230 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E230 */ _t10 = _t9 & 0x00000001u; /* 0298E230 */ if (_t10) goto L_0298E238; else goto L_0298E234; L_0298E234: ; // 0x298e234 /* 0298E234 */ cpu->r[3] = cpu->r[11] + cpu->r[0]; L_0298E238: ; // 0x298e238 /* 0298E238 */ Gambit_fn_02C60644(cpu); /* 0298E23C */ _t11 = cpu->r[1] + 0x00000014u; /* 0298E23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0298E240 */ _t12 = cpu->r[1] + 0x00000008u; /* 0298E240 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0298E244 */ cpu->lr = cpu->r[0]; /* 0298E248 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0298E248 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0298E24C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298E250 */ return; } // fn_0298E1F0 @ 0x298e1f0 void Gambit_fn_0298E1F0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13; L_0298E1F0: ; // 0x298e1f0 /* 0298E1F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298E1F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298E1F0 */ cpu->r[1] = _t0; /* 0298E1F4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298E1F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298E1F8 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298E1F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298E1FC */ cpu->r[31] = cpu->r[4]; /* 0298E200 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298E200 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298E204 */ _t4 = cpu->r[31] + 0x00000004u; /* 0298E204 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4); /* 0298E208 */ _t5 = cpu->r[8] + 0x00000014u; /* 0298E208 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 0298E20C */ _t6 = cpu->r[3] + 0x00000094u; /* 0298E20C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6); /* 0298E210 */ cpu->ctr = cpu->r[9]; /* 0298E214 */ cpu->r[3] = cpu->r[31]; /* 0298E218 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298E21C */ _t7 = cpu->r[30] + 0x00000018u; /* 0298E21C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298E220 */ cpu->r[11] = cpu->r[30] + 0x00000018u; /* 0298E224 */ cpu->r[3] = 0x00000000u; /* 0298E228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E22C */ _t8 = cpu->r[31] + 0x00000000u; /* 0298E22C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8); /* 0298E230 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E230 */ _t10 = _t9 & 0x00000001u; /* 0298E230 */ if (_t10) goto L_0298E238; else goto L_0298E234; L_0298E234: ; // 0x298e234 /* 0298E234 */ cpu->r[3] = cpu->r[11] + cpu->r[0]; L_0298E238: ; // 0x298e238 /* 0298E238 */ Gambit_fn_02C60644(cpu); /* 0298E23C */ _t11 = cpu->r[1] + 0x00000014u; /* 0298E23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0298E240 */ _t12 = cpu->r[1] + 0x00000008u; /* 0298E240 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 0298E244 */ cpu->lr = cpu->r[0]; /* 0298E248 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0298E248 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 0298E24C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298E250 */ return; } // fn_0298E254 @ 0x298e254 void Gambit_fn_0298E254(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0298E254: ; // 0x298e254 /* 0298E254 */ cpu->r[0] = cpu->lr; /* 0298E258 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298E258 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298E258 */ cpu->r[1] = _t0; /* 0298E25C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298E25C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298E260 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000003Cu); /* 0298E264 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298E264 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298E268 */ _t3 = cpu->r[3] + 0x000000B4u; /* 0298E268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0298E26C */ _t4 = cpu->r[12] + cpu->r[11]; /* 0298E26C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298E270 */ _t5 = cpu->r[12] + 0x00000004u; /* 0298E270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298E274 */ cpu->r[31] = 0x00000000u; /* 0298E278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E27C */ cpu->r[10] = cpu->r[12] + 0x00000004u; /* 0298E280 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E280 */ _t7 = _t6 & 0x00000001u; /* 0298E280 */ if (_t7) goto L_0298E288; else goto L_0298E284; L_0298E284: ; // 0x298e284 /* 0298E284 */ cpu->r[31] = cpu->r[10] + cpu->r[0]; L_0298E288: ; // 0x298e288 /* 0298E288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298E28C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E28C */ _t9 = _t8 & 0x00000001u; /* 0298E28C */ if (_t9) goto L_0298E290; else goto L_0298E2A0; L_0298E290: ; // 0x298e290 /* 0298E290 */ cpu->r[3] = 0x00000008u; /* 0298E294 */ Gambit_fn_02801A78(cpu); /* 0298E298 */ cpu->r[4] = cpu->r[3]; /* 0298E298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298E29C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E29C */ _t11 = _t10 & 0x00000001u; /* 0298E29C */ if (_t11) goto L_0298E2B0; else goto L_0298E2A0; L_0298E2A0: ; // 0x298e2a0 /* 0298E2A0 */ cpu->r[0] = 0x10150000u; /* 0298E2A4 */ _t12 = cpu->r[4] + 0x00000000u; /* 0298E2A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]); /* 0298E2A8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF550u; /* 0298E2AC */ _t13 = cpu->r[4] + 0x00000004u; /* 0298E2AC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); L_0298E2B0: ; // 0x298e2b0 /* 0298E2B0 */ _t14 = cpu->r[1] + 0x00000014u; /* 0298E2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298E2B4 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298E2B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0298E2B8 */ cpu->lr = cpu->r[0]; /* 0298E2BC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298E2C0 */ return; } // fn_0298E258 @ 0x298e258 void Gambit_fn_0298E258(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15; L_0298E258: ; // 0x298e258 /* 0298E258 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298E258 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298E258 */ cpu->r[1] = _t0; /* 0298E25C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298E25C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298E260 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000003Cu); /* 0298E264 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298E264 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298E268 */ _t3 = cpu->r[3] + 0x000000B4u; /* 0298E268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3); /* 0298E26C */ _t4 = cpu->r[12] + cpu->r[11]; /* 0298E26C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298E270 */ _t5 = cpu->r[12] + 0x00000004u; /* 0298E270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298E274 */ cpu->r[31] = 0x00000000u; /* 0298E278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E27C */ cpu->r[10] = cpu->r[12] + 0x00000004u; /* 0298E280 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E280 */ _t7 = _t6 & 0x00000001u; /* 0298E280 */ if (_t7) goto L_0298E288; else goto L_0298E284; L_0298E284: ; // 0x298e284 /* 0298E284 */ cpu->r[31] = cpu->r[10] + cpu->r[0]; L_0298E288: ; // 0x298e288 /* 0298E288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298E28C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E28C */ _t9 = _t8 & 0x00000001u; /* 0298E28C */ if (_t9) goto L_0298E290; else goto L_0298E2A0; L_0298E290: ; // 0x298e290 /* 0298E290 */ cpu->r[3] = 0x00000008u; /* 0298E294 */ Gambit_fn_02801A78(cpu); /* 0298E298 */ cpu->r[4] = cpu->r[3]; /* 0298E298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 0298E29C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E29C */ _t11 = _t10 & 0x00000001u; /* 0298E29C */ if (_t11) goto L_0298E2B0; else goto L_0298E2A0; L_0298E2A0: ; // 0x298e2a0 /* 0298E2A0 */ cpu->r[0] = 0x10150000u; /* 0298E2A4 */ _t12 = cpu->r[4] + 0x00000000u; /* 0298E2A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]); /* 0298E2A8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF550u; /* 0298E2AC */ _t13 = cpu->r[4] + 0x00000004u; /* 0298E2AC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]); L_0298E2B0: ; // 0x298e2b0 /* 0298E2B0 */ _t14 = cpu->r[1] + 0x00000014u; /* 0298E2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298E2B4 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298E2B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15); /* 0298E2B8 */ cpu->lr = cpu->r[0]; /* 0298E2BC */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298E2C0 */ return; } // fn_0298E2C4 @ 0x298e2c4 void Gambit_fn_0298E2C4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_0298E2C4: ; // 0x298e2c4 /* 0298E2C4 */ cpu->r[0] = cpu->lr; /* 0298E2C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298E2C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298E2C8 */ cpu->r[1] = _t0; /* 0298E2CC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298E2CC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298E2D0 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298E2D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298E2D4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298E2D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298E2D8 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298E2D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298E2DC */ cpu->r[29] = cpu->r[5]; /* 0298E2E0 */ _t5 = cpu->r[29] + 0x00000004u; /* 0298E2E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 0298E2E4 */ _t6 = cpu->r[9] + 0x00000014u; /* 0298E2E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 0298E2E8 */ _t7 = cpu->r[3] + 0x000000B4u; /* 0298E2E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0298E2EC */ cpu->ctr = cpu->r[10]; /* 0298E2F0 */ cpu->r[3] = cpu->r[29]; /* 0298E2F4 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E2F8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298E2FC */ _t8 = cpu->r[31] + cpu->r[30]; /* 0298E2FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t8); /* 0298E300 */ _t9 = cpu->r[8] + 0x00000038u; /* 0298E300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298E304 */ cpu->r[3] = 0x00000000u; /* 0298E308 */ _t10 = cpu->r[29] + 0x00000000u; /* 0298E308 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 0298E30C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E310 */ cpu->r[12] = cpu->r[8] + 0x00000038u; /* 0298E314 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E314 */ _t12 = _t11 & 0x00000001u; /* 0298E314 */ if (_t12) goto L_0298E31C; else goto L_0298E318; L_0298E318: ; // 0x298e318 /* 0298E318 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; L_0298E31C: ; // 0x298e31c /* 0298E31C */ Gambit_fn_02C60644(cpu); /* 0298E320 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0298E320 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0298E324 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0298E324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298E328 */ _t15 = cpu->r[1] + 0x00000010u; /* 0298E328 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0298E32C */ cpu->lr = cpu->r[0]; /* 0298E330 */ _t16 = cpu->r[1] + 0x00000014u; /* 0298E330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0298E334 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298E338 */ return; } // fn_0298E2C8 @ 0x298e2c8 void Gambit_fn_0298E2C8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_0298E2C8: ; // 0x298e2c8 /* 0298E2C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298E2C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298E2C8 */ cpu->r[1] = _t0; /* 0298E2CC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298E2CC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298E2D0 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298E2D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298E2D4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298E2D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298E2D8 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298E2D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298E2DC */ cpu->r[29] = cpu->r[5]; /* 0298E2E0 */ _t5 = cpu->r[29] + 0x00000004u; /* 0298E2E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 0298E2E4 */ _t6 = cpu->r[9] + 0x00000014u; /* 0298E2E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 0298E2E8 */ _t7 = cpu->r[3] + 0x000000B4u; /* 0298E2E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0298E2EC */ cpu->ctr = cpu->r[10]; /* 0298E2F0 */ cpu->r[3] = cpu->r[29]; /* 0298E2F4 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E2F8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298E2FC */ _t8 = cpu->r[31] + cpu->r[30]; /* 0298E2FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t8); /* 0298E300 */ _t9 = cpu->r[8] + 0x00000038u; /* 0298E300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298E304 */ cpu->r[3] = 0x00000000u; /* 0298E308 */ _t10 = cpu->r[29] + 0x00000000u; /* 0298E308 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10); /* 0298E30C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E310 */ cpu->r[12] = cpu->r[8] + 0x00000038u; /* 0298E314 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E314 */ _t12 = _t11 & 0x00000001u; /* 0298E314 */ if (_t12) goto L_0298E31C; else goto L_0298E318; L_0298E318: ; // 0x298e318 /* 0298E318 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; L_0298E31C: ; // 0x298e31c /* 0298E31C */ Gambit_fn_02C60644(cpu); /* 0298E320 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 0298E320 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0298E324 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0298E324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298E328 */ _t15 = cpu->r[1] + 0x00000010u; /* 0298E328 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 0298E32C */ cpu->lr = cpu->r[0]; /* 0298E330 */ _t16 = cpu->r[1] + 0x00000014u; /* 0298E330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0298E334 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298E338 */ return; } // fn_0298E33C @ 0x298e33c void Gambit_fn_0298E33C(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_0298E33C: ; // 0x298e33c /* 0298E33C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E340 */ _t0 = cpu->r[3] + 0x000000B4u; /* 0298E340 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 0298E344 */ cpu->r[4] = cpu->r[9] + cpu->r[0]; /* 0298E348 */ _t1 = cpu->r[4] + 0x00000000u; /* 0298E348 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1); /* 0298E34C */ _t2 = cpu->r[9] + 0x00000034u; /* 0298E34C */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 0298E350 */ cpu->r[12] = 0x00000000u; /* 0298E354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0298E358 */ cpu->r[8] = cpu->r[9] + 0x00000034u; /* 0298E35C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E35C */ _t4 = _t3 & 0x00000001u; /* 0298E35C */ if (_t4) goto L_0298E364; else goto L_0298E360; L_0298E360: ; // 0x298e360 /* 0298E360 */ cpu->r[12] = cpu->r[8] + cpu->r[7]; L_0298E364: ; // 0x298e364 /* 0298E364 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000014u); /* 0298E368 */ cpu->r[10] = cpu->r[12] + cpu->r[0]; /* 0298E36C */ _t5 = cpu->r[10] + 0x00000004u; /* 0298E36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298E370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E374 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E374 */ _t7 = _t6 & 0x00000001u; /* 0298E374 */ if (_t7) goto L_0298E3A8; else goto L_0298E378; L_0298E378: ; // 0x298e378 /* 0298E378 */ _t8 = cpu->r[4] + 0x00000004u; /* 0298E378 */ cpu->r[7] = rbrew_read16(cpu->mem, _t8); /* 0298E37C */ /* nop */ /* 0298E380 */ cpu->r[9] = 0x00000001u; /* 0298E384 */ _t9 = cpu->r[4] + 0x0000000Cu; /* 0298E384 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 0298E388 */ cpu->r[7] = cpu->r[7] | 0x00000004u; /* 0298E38C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E390 */ _t10 = cpu->r[4] + 0x00000004u; /* 0298E390 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[7]); /* 0298E394 */ _t11 = cpu->r[8] + cpu->r[0]; /* 0298E394 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11); /* 0298E398 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], cpu->r[5], 0x00000000u, 0x0000001Fu); /* 0298E39C */ cpu->r[7] = cpu->r[7] | cpu->r[9]; /* 0298E3A0 */ _t12 = cpu->r[8] + cpu->r[0]; /* 0298E3A0 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]); /* 0298E3A4 */ _t13 = cpu->r[4] + 0x00000000u; /* 0298E3A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); L_0298E3A8: ; // 0x298e3a8 /* 0298E3A8 */ _t14 = cpu->r[9] + 0x00000034u; /* 0298E3A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298E3A8 */ cpu->r[9] = _t14; /* 0298E3AC */ cpu->r[8] = 0x00000000u; /* 0298E3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E3B4 */ _t15 = cpu->r[10] + 0x0000000Cu; /* 0298E3B4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t15); /* 0298E3B8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E3B8 */ _t17 = _t16 & 0x00000001u; /* 0298E3B8 */ if (_t17) goto L_0298E3C0; else goto L_0298E3BC; L_0298E3BC: ; // 0x298e3bc /* 0298E3BC */ cpu->r[8] = cpu->r[9] + cpu->r[0]; L_0298E3C0: ; // 0x298e3c0 /* 0298E3C0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000014u); /* 0298E3C4 */ cpu->r[8] = cpu->r[8] + cpu->r[9]; /* 0298E3C8 */ _t18 = cpu->r[8] + 0x00000004u; /* 0298E3C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298E3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E3D0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E3D0 */ _t20 = _t19 & 0x00000001u; /* 0298E3D0 */ if (_t20) goto L_0298E400; else goto L_0298E3D4; L_0298E3D4: ; // 0x298e3d4 /* 0298E3D4 */ _t21 = cpu->r[4] + 0x00000004u; /* 0298E3D4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t21); /* 0298E3D8 */ /* nop */ /* 0298E3DC */ cpu->r[7] = 0x00000001u; /* 0298E3E0 */ _t22 = cpu->r[4] + 0x0000000Cu; /* 0298E3E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 0298E3E4 */ cpu->r[12] = cpu->r[12] | 0x00000004u; /* 0298E3E8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E3EC */ _t23 = cpu->r[4] + 0x00000004u; /* 0298E3EC */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[12]); /* 0298E3F0 */ _t24 = cpu->r[8] + cpu->r[9]; /* 0298E3F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298E3F4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], cpu->r[11], 0x00000000u, 0x0000001Fu); /* 0298E3F8 */ cpu->r[0] = cpu->r[0] | cpu->r[7]; /* 0298E3FC */ _t25 = cpu->r[8] + cpu->r[9]; /* 0298E3FC */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); L_0298E400: ; // 0x298e400 /* 0298E400 */ _t26 = cpu->r[4] + 0x00000028u; /* 0298E400 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26); /* 0298E404 */ _t27 = cpu->r[10] + 0x00000002u; /* 0298E404 */ cpu->r[0] = rbrew_read16(cpu->mem, _t27); /* 0298E408 */ _t28 = cpu->r[9] + cpu->r[0]; /* 0298E408 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]); /* 0298E40C */ return; } // fn_0298E410 @ 0x298e410 void Gambit_fn_0298E410(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_0298E410: ; // 0x298e410 /* 0298E410 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E414 */ _t0 = cpu->r[3] + 0x000000B4u; /* 0298E414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0298E418 */ _t1 = cpu->r[12] + cpu->r[0]; /* 0298E418 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1); /* 0298E41C */ cpu->r[7] = cpu->r[12] + cpu->r[0]; /* 0298E420 */ _t2 = cpu->r[9] + 0x00000034u; /* 0298E420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0298E424 */ cpu->r[12] = cpu->r[9] + 0x00000034u; /* 0298E428 */ cpu->r[10] = 0x00000000u; /* 0298E42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E430 */ _t3 = cpu->r[7] + 0x00000028u; /* 0298E430 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3); /* 0298E434 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E434 */ _t5 = _t4 & 0x00000001u; /* 0298E434 */ if (_t5) goto L_0298E43C; else goto L_0298E438; L_0298E438: ; // 0x298e438 /* 0298E438 */ cpu->r[10] = cpu->r[12] + cpu->r[0]; L_0298E43C: ; // 0x298e43c /* 0298E43C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000014u); /* 0298E440 */ cpu->r[7] = cpu->r[10] + cpu->r[8]; /* 0298E444 */ _t6 = cpu->r[7] + 0x00000002u; /* 0298E444 */ cpu->r[10] = rbrew_read16(cpu->mem, _t6); /* 0298E448 */ _t7 = cpu->r[9] + cpu->r[10]; /* 0298E448 */ cpu->r[1] = rbrew_read32(cpu->mem, _t7); /* 0298E44C */ return; } // fn_0298E450 @ 0x298e450 void Gambit_fn_0298E450(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_0298E450: ; // 0x298e450 /* 0298E450 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E454 */ _t0 = cpu->r[3] + 0x000000B4u; /* 0298E454 */ cpu->r[7] = rbrew_read32(cpu->mem, _t0); /* 0298E458 */ _t1 = cpu->r[7] + cpu->r[0]; /* 0298E458 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1); /* 0298E45C */ cpu->r[6] = cpu->r[7] + cpu->r[0]; /* 0298E460 */ _t2 = cpu->r[9] + 0x00000034u; /* 0298E460 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 0298E464 */ cpu->r[12] = 0x00000000u; /* 0298E468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0298E46C */ cpu->r[8] = cpu->r[9] + 0x00000034u; /* 0298E470 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E470 */ _t4 = _t3 & 0x00000001u; /* 0298E470 */ if (_t4) goto L_0298E478; else goto L_0298E474; L_0298E474: ; // 0x298e474 /* 0298E474 */ cpu->r[12] = cpu->r[8] + cpu->r[7]; L_0298E478: ; // 0x298e478 /* 0298E478 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000014u); /* 0298E47C */ cpu->r[10] = cpu->r[12] + cpu->r[8]; /* 0298E480 */ _t5 = cpu->r[10] + 0x00000004u; /* 0298E480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298E484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E488 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E488 */ _t7 = _t6 & 0x00000001u; /* 0298E488 */ if (_t7) goto L_0298E4BC; else goto L_0298E48C; L_0298E48C: ; // 0x298e48c /* 0298E48C */ _t8 = cpu->r[6] + 0x00000004u; /* 0298E48C */ cpu->r[7] = rbrew_read16(cpu->mem, _t8); /* 0298E490 */ /* nop */ /* 0298E494 */ cpu->r[9] = 0x00000001u; /* 0298E498 */ _t9 = cpu->r[6] + 0x0000000Cu; /* 0298E498 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 0298E49C */ cpu->r[7] = cpu->r[7] | 0x00000004u; /* 0298E4A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E4A4 */ _t10 = cpu->r[6] + 0x00000004u; /* 0298E4A4 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[7]); /* 0298E4A8 */ _t11 = cpu->r[8] + cpu->r[0]; /* 0298E4A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11); /* 0298E4AC */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], cpu->r[5], 0x00000000u, 0x0000001Fu); /* 0298E4B0 */ cpu->r[7] = cpu->r[7] | cpu->r[9]; /* 0298E4B4 */ _t12 = cpu->r[8] + cpu->r[0]; /* 0298E4B4 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]); /* 0298E4B8 */ _t13 = cpu->r[6] + 0x00000000u; /* 0298E4B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); L_0298E4BC: ; // 0x298e4bc /* 0298E4BC */ _t14 = cpu->r[9] + 0x00000034u; /* 0298E4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298E4BC */ cpu->r[9] = _t14; /* 0298E4C0 */ cpu->r[7] = 0x00000000u; /* 0298E4C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E4C8 */ _t15 = cpu->r[10] + 0x0000000Cu; /* 0298E4C8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t15); /* 0298E4CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E4CC */ _t17 = _t16 & 0x00000001u; /* 0298E4CC */ if (_t17) goto L_0298E4D4; else goto L_0298E4D0; L_0298E4D0: ; // 0x298e4d0 /* 0298E4D0 */ cpu->r[7] = cpu->r[9] + cpu->r[0]; L_0298E4D4: ; // 0x298e4d4 /* 0298E4D4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000014u); /* 0298E4D8 */ cpu->r[8] = cpu->r[7] + cpu->r[8]; /* 0298E4DC */ _t18 = cpu->r[8] + 0x00000004u; /* 0298E4DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298E4E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E4E4 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E4E4 */ _t20 = _t19 & 0x00000001u; /* 0298E4E4 */ if (_t20) goto L_0298E514; else goto L_0298E4E8; L_0298E4E8: ; // 0x298e4e8 /* 0298E4E8 */ _t21 = cpu->r[6] + 0x00000004u; /* 0298E4E8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t21); /* 0298E4EC */ /* nop */ /* 0298E4F0 */ cpu->r[7] = 0x00000001u; /* 0298E4F4 */ _t22 = cpu->r[6] + 0x0000000Cu; /* 0298E4F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 0298E4F8 */ cpu->r[12] = cpu->r[12] | 0x00000004u; /* 0298E4FC */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E500 */ _t23 = cpu->r[6] + 0x00000004u; /* 0298E500 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[12]); /* 0298E504 */ _t24 = cpu->r[8] + cpu->r[9]; /* 0298E504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298E508 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], cpu->r[11], 0x00000000u, 0x0000001Fu); /* 0298E50C */ cpu->r[0] = cpu->r[0] | cpu->r[7]; /* 0298E510 */ _t25 = cpu->r[8] + cpu->r[9]; /* 0298E510 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); L_0298E514: ; // 0x298e514 /* 0298E514 */ _t26 = cpu->r[6] + 0x00000028u; /* 0298E514 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26); /* 0298E518 */ _t27 = cpu->r[10] + 0x00000002u; /* 0298E518 */ cpu->r[0] = rbrew_read16(cpu->mem, _t27); /* 0298E51C */ _t28 = cpu->r[9] + cpu->r[0]; /* 0298E51C */ rbrew_write32(cpu->mem, _t28, cpu->r[1]); /* 0298E520 */ return; } // fn_0298E524 @ 0x298e524 void Gambit_fn_0298E524(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0298E524: ; // 0x298e524 /* 0298E524 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E528 */ _t0 = cpu->r[3] + 0x000000B4u; /* 0298E528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0298E52C */ _t1 = cpu->r[12] + cpu->r[0]; /* 0298E52C */ cpu->r[9] = rbrew_read32(cpu->mem, _t1); /* 0298E530 */ cpu->r[7] = cpu->r[12] + cpu->r[0]; /* 0298E534 */ _t2 = cpu->r[9] + 0x00000034u; /* 0298E534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0298E538 */ cpu->r[12] = cpu->r[9] + 0x00000034u; /* 0298E53C */ cpu->r[10] = 0x00000000u; /* 0298E540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E544 */ _t3 = cpu->r[7] + 0x00000028u; /* 0298E544 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3); /* 0298E548 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E548 */ _t5 = _t4 & 0x00000001u; /* 0298E548 */ if (_t5) goto L_0298E550; else goto L_0298E54C; L_0298E54C: ; // 0x298e54c /* 0298E54C */ cpu->r[10] = cpu->r[12] + cpu->r[0]; L_0298E550: ; // 0x298e550 /* 0298E550 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000014u); /* 0298E554 */ cpu->r[7] = cpu->r[10] + cpu->r[8]; /* 0298E558 */ _t6 = cpu->r[7] + 0x00000002u; /* 0298E558 */ cpu->r[10] = rbrew_read16(cpu->mem, _t6); /* 0298E55C */ cpu->r[3] = cpu->r[9] + cpu->r[10]; /* 0298E560 */ return; } // fn_0298E564 @ 0x298e564 void Gambit_fn_0298E564(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_0298E564: ; // 0x298e564 /* 0298E564 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E568 */ _t0 = cpu->r[3] + 0x000000B4u; /* 0298E568 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 0298E56C */ cpu->r[4] = cpu->r[9] + cpu->r[0]; /* 0298E570 */ _t1 = cpu->r[4] + 0x00000000u; /* 0298E570 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1); /* 0298E574 */ _t2 = cpu->r[9] + 0x00000034u; /* 0298E574 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 0298E578 */ cpu->r[12] = 0x00000000u; /* 0298E57C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0298E580 */ cpu->r[8] = cpu->r[9] + 0x00000034u; /* 0298E584 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E584 */ _t4 = _t3 & 0x00000001u; /* 0298E584 */ if (_t4) goto L_0298E58C; else goto L_0298E588; L_0298E588: ; // 0x298e588 /* 0298E588 */ cpu->r[12] = cpu->r[8] + cpu->r[7]; L_0298E58C: ; // 0x298e58c /* 0298E58C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000014u); /* 0298E590 */ cpu->r[10] = cpu->r[12] + cpu->r[0]; /* 0298E594 */ _t5 = cpu->r[10] + 0x00000004u; /* 0298E594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298E598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E59C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E59C */ _t7 = _t6 & 0x00000001u; /* 0298E59C */ if (_t7) goto L_0298E5D0; else goto L_0298E5A0; L_0298E5A0: ; // 0x298e5a0 /* 0298E5A0 */ _t8 = cpu->r[4] + 0x00000004u; /* 0298E5A0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t8); /* 0298E5A4 */ /* nop */ /* 0298E5A8 */ cpu->r[9] = 0x00000001u; /* 0298E5AC */ _t9 = cpu->r[4] + 0x0000000Cu; /* 0298E5AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 0298E5B0 */ cpu->r[7] = cpu->r[7] | 0x00000004u; /* 0298E5B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E5B8 */ _t10 = cpu->r[4] + 0x00000004u; /* 0298E5B8 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[7]); /* 0298E5BC */ _t11 = cpu->r[8] + cpu->r[0]; /* 0298E5BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t11); /* 0298E5C0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], cpu->r[5], 0x00000000u, 0x0000001Fu); /* 0298E5C4 */ cpu->r[7] = cpu->r[7] | cpu->r[9]; /* 0298E5C8 */ _t12 = cpu->r[8] + cpu->r[0]; /* 0298E5C8 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]); /* 0298E5CC */ _t13 = cpu->r[4] + 0x00000000u; /* 0298E5CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); L_0298E5D0: ; // 0x298e5d0 /* 0298E5D0 */ _t14 = cpu->r[9] + 0x00000034u; /* 0298E5D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298E5D0 */ cpu->r[9] = _t14; /* 0298E5D4 */ cpu->r[8] = 0x00000000u; /* 0298E5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E5DC */ _t15 = cpu->r[10] + 0x0000000Cu; /* 0298E5DC */ cpu->r[11] = rbrew_read16(cpu->mem, _t15); /* 0298E5E0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E5E0 */ _t17 = _t16 & 0x00000001u; /* 0298E5E0 */ if (_t17) goto L_0298E5E8; else goto L_0298E5E4; L_0298E5E4: ; // 0x298e5e4 /* 0298E5E4 */ cpu->r[8] = cpu->r[9] + cpu->r[0]; L_0298E5E8: ; // 0x298e5e8 /* 0298E5E8 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000014u); /* 0298E5EC */ cpu->r[8] = cpu->r[8] + cpu->r[9]; /* 0298E5F0 */ _t18 = cpu->r[8] + 0x00000004u; /* 0298E5F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298E5F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E5F8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E5F8 */ _t20 = _t19 & 0x00000001u; /* 0298E5F8 */ if (_t20) goto L_0298E628; else goto L_0298E5FC; L_0298E5FC: ; // 0x298e5fc /* 0298E5FC */ _t21 = cpu->r[4] + 0x00000004u; /* 0298E5FC */ cpu->r[12] = rbrew_read16(cpu->mem, _t21); /* 0298E600 */ /* nop */ /* 0298E604 */ cpu->r[7] = 0x00000001u; /* 0298E608 */ _t22 = cpu->r[4] + 0x0000000Cu; /* 0298E608 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 0298E60C */ cpu->r[12] = cpu->r[12] | 0x00000004u; /* 0298E610 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E614 */ _t23 = cpu->r[4] + 0x00000004u; /* 0298E614 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[12]); /* 0298E618 */ _t24 = cpu->r[8] + cpu->r[9]; /* 0298E618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298E61C */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], cpu->r[11], 0x00000000u, 0x0000001Fu); /* 0298E620 */ cpu->r[0] = cpu->r[0] | cpu->r[7]; /* 0298E624 */ _t25 = cpu->r[8] + cpu->r[9]; /* 0298E624 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); L_0298E628: ; // 0x298e628 /* 0298E628 */ _t26 = cpu->r[10] + 0x00000002u; /* 0298E628 */ cpu->r[0] = rbrew_read16(cpu->mem, _t26); /* 0298E62C */ _t27 = cpu->r[4] + 0x00000028u; /* 0298E62C */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 0298E630 */ _t28 = cpu->r[6] + 0x00000000u; /* 0298E630 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28); /* 0298E634 */ _t29 = cpu->r[9] + cpu->r[0]; /* 0298E634 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]); /* 0298E638 */ _t30 = cpu->r[6] + 0x00000004u; /* 0298E638 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30); /* 0298E63C */ cpu->r[8] = cpu->r[9] + cpu->r[0]; /* 0298E640 */ _t31 = cpu->r[8] + 0x00000004u; /* 0298E640 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]); /* 0298E644 */ return; } // fn_0298E648 @ 0x298e648 void Gambit_fn_0298E648(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0298E648: ; // 0x298e648 /* 0298E648 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E64C */ _t0 = cpu->r[3] + 0x000000B4u; /* 0298E64C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0298E650 */ _t1 = cpu->r[12] + cpu->r[0]; /* 0298E650 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1); /* 0298E654 */ cpu->r[7] = cpu->r[12] + cpu->r[0]; /* 0298E658 */ _t2 = cpu->r[9] + 0x00000034u; /* 0298E658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0298E65C */ cpu->r[12] = cpu->r[9] + 0x00000034u; /* 0298E660 */ cpu->r[10] = 0x00000000u; /* 0298E664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E668 */ _t3 = cpu->r[7] + 0x00000028u; /* 0298E668 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3); /* 0298E66C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E66C */ _t5 = _t4 & 0x00000001u; /* 0298E66C */ if (_t5) goto L_0298E674; else goto L_0298E670; L_0298E670: ; // 0x298e670 /* 0298E670 */ cpu->r[10] = cpu->r[12] + cpu->r[0]; L_0298E674: ; // 0x298e674 /* 0298E674 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000014u); /* 0298E678 */ cpu->r[7] = cpu->r[10] + cpu->r[8]; /* 0298E67C */ _t6 = cpu->r[7] + 0x00000002u; /* 0298E67C */ cpu->r[10] = rbrew_read16(cpu->mem, _t6); /* 0298E680 */ cpu->r[3] = cpu->r[9] + cpu->r[10]; /* 0298E684 */ return; } // fn_0298E688 @ 0x298e688 void Gambit_fn_0298E688(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; L_0298E688: ; // 0x298e688 /* 0298E688 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E68C */ _t0 = cpu->r[3] + 0x000000B4u; /* 0298E68C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 0298E690 */ cpu->r[4] = cpu->r[9] + cpu->r[0]; /* 0298E694 */ _t1 = cpu->r[4] + 0x00000000u; /* 0298E694 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1); /* 0298E698 */ _t2 = cpu->r[9] + 0x00000034u; /* 0298E698 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 0298E69C */ cpu->r[12] = 0x00000000u; /* 0298E6A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0298E6A4 */ cpu->r[8] = cpu->r[9] + 0x00000034u; /* 0298E6A8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E6A8 */ _t4 = _t3 & 0x00000001u; /* 0298E6A8 */ if (_t4) goto L_0298E6B0; else goto L_0298E6AC; L_0298E6AC: ; // 0x298e6ac /* 0298E6AC */ cpu->r[12] = cpu->r[8] + cpu->r[7]; L_0298E6B0: ; // 0x298e6b0 /* 0298E6B0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000014u); /* 0298E6B4 */ cpu->r[10] = cpu->r[12] + cpu->r[0]; /* 0298E6B8 */ _t5 = cpu->r[10] + 0x00000004u; /* 0298E6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298E6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E6C0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E6C0 */ _t7 = _t6 & 0x00000001u; /* 0298E6C0 */ if (_t7) goto L_0298E6F4; else goto L_0298E6C4; L_0298E6C4: ; // 0x298e6c4 /* 0298E6C4 */ _t8 = cpu->r[4] + 0x00000004u; /* 0298E6C4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t8); /* 0298E6C8 */ /* nop */ /* 0298E6CC */ cpu->r[9] = 0x00000001u; /* 0298E6D0 */ _t9 = cpu->r[4] + 0x0000000Cu; /* 0298E6D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9); /* 0298E6D4 */ cpu->r[7] = cpu->r[7] | 0x00000004u; /* 0298E6D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E6DC */ _t10 = cpu->r[4] + 0x00000004u; /* 0298E6DC */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[7]); /* 0298E6E0 */ _t11 = cpu->r[8] + cpu->r[0]; /* 0298E6E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11); /* 0298E6E4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], cpu->r[5], 0x00000000u, 0x0000001Fu); /* 0298E6E8 */ cpu->r[7] = cpu->r[7] | cpu->r[9]; /* 0298E6EC */ _t12 = cpu->r[8] + cpu->r[0]; /* 0298E6EC */ rbrew_write32(cpu->mem, _t12, cpu->r[7]); /* 0298E6F0 */ _t13 = cpu->r[4] + 0x00000000u; /* 0298E6F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); L_0298E6F4: ; // 0x298e6f4 /* 0298E6F4 */ _t14 = cpu->r[9] + 0x00000034u; /* 0298E6F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298E6F4 */ cpu->r[9] = _t14; /* 0298E6F8 */ cpu->r[8] = 0x00000000u; /* 0298E6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E700 */ _t15 = cpu->r[10] + 0x0000000Cu; /* 0298E700 */ cpu->r[11] = rbrew_read16(cpu->mem, _t15); /* 0298E704 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E704 */ _t17 = _t16 & 0x00000001u; /* 0298E704 */ if (_t17) goto L_0298E70C; else goto L_0298E708; L_0298E708: ; // 0x298e708 /* 0298E708 */ cpu->r[8] = cpu->r[9] + cpu->r[0]; L_0298E70C: ; // 0x298e70c /* 0298E70C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000014u); /* 0298E710 */ cpu->r[8] = cpu->r[8] + cpu->r[9]; /* 0298E714 */ _t18 = cpu->r[8] + 0x00000004u; /* 0298E714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298E718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E71C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E71C */ _t20 = _t19 & 0x00000001u; /* 0298E71C */ if (_t20) goto L_0298E74C; else goto L_0298E720; L_0298E720: ; // 0x298e720 /* 0298E720 */ _t21 = cpu->r[4] + 0x00000004u; /* 0298E720 */ cpu->r[12] = rbrew_read16(cpu->mem, _t21); /* 0298E724 */ /* nop */ /* 0298E728 */ cpu->r[7] = 0x00000001u; /* 0298E72C */ _t22 = cpu->r[4] + 0x0000000Cu; /* 0298E72C */ cpu->r[8] = rbrew_read32(cpu->mem, _t22); /* 0298E730 */ cpu->r[12] = cpu->r[12] | 0x00000004u; /* 0298E734 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E738 */ _t23 = cpu->r[4] + 0x00000004u; /* 0298E738 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[12]); /* 0298E73C */ _t24 = cpu->r[8] + cpu->r[9]; /* 0298E73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298E740 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], cpu->r[11], 0x00000000u, 0x0000001Fu); /* 0298E744 */ cpu->r[0] = cpu->r[0] | cpu->r[7]; /* 0298E748 */ _t25 = cpu->r[8] + cpu->r[9]; /* 0298E748 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]); L_0298E74C: ; // 0x298e74c /* 0298E74C */ _t26 = cpu->r[10] + 0x00000002u; /* 0298E74C */ cpu->r[0] = rbrew_read16(cpu->mem, _t26); /* 0298E750 */ _t27 = cpu->r[4] + 0x00000028u; /* 0298E750 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 0298E754 */ _t28 = cpu->r[6] + 0x00000000u; /* 0298E754 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28); /* 0298E758 */ _t29 = cpu->r[9] + cpu->r[0]; /* 0298E758 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]); /* 0298E75C */ _t30 = cpu->r[6] + 0x00000004u; /* 0298E75C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30); /* 0298E760 */ cpu->r[8] = cpu->r[9] + cpu->r[0]; /* 0298E764 */ _t31 = cpu->r[8] + 0x00000004u; /* 0298E764 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]); /* 0298E768 */ _t32 = cpu->r[6] + 0x00000008u; /* 0298E768 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32); /* 0298E76C */ _t33 = cpu->r[8] + 0x00000008u; /* 0298E76C */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]); /* 0298E770 */ _t34 = cpu->r[6] + 0x0000000Cu; /* 0298E770 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34); /* 0298E774 */ _t35 = cpu->r[8] + 0x0000000Cu; /* 0298E774 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]); /* 0298E778 */ return; } // fn_0298E77C @ 0x298e77c void Gambit_fn_0298E77C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6; L_0298E77C: ; // 0x298e77c /* 0298E77C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E780 */ _t0 = cpu->r[3] + 0x000000B4u; /* 0298E780 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0298E784 */ _t1 = cpu->r[12] + cpu->r[0]; /* 0298E784 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1); /* 0298E788 */ cpu->r[7] = cpu->r[12] + cpu->r[0]; /* 0298E78C */ _t2 = cpu->r[9] + 0x00000034u; /* 0298E78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0298E790 */ cpu->r[12] = cpu->r[9] + 0x00000034u; /* 0298E794 */ cpu->r[10] = 0x00000000u; /* 0298E798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E79C */ _t3 = cpu->r[7] + 0x00000028u; /* 0298E79C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3); /* 0298E7A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E7A0 */ _t5 = _t4 & 0x00000001u; /* 0298E7A0 */ if (_t5) goto L_0298E7A8; else goto L_0298E7A4; L_0298E7A4: ; // 0x298e7a4 /* 0298E7A4 */ cpu->r[10] = cpu->r[12] + cpu->r[0]; L_0298E7A8: ; // 0x298e7a8 /* 0298E7A8 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000014u); /* 0298E7AC */ cpu->r[7] = cpu->r[10] + cpu->r[8]; /* 0298E7B0 */ _t6 = cpu->r[7] + 0x00000002u; /* 0298E7B0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t6); /* 0298E7B4 */ cpu->r[3] = cpu->r[9] + cpu->r[10]; /* 0298E7B8 */ return; } // fn_0298E7BC @ 0x298e7bc void Gambit_fn_0298E7BC(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; L_0298E7BC: ; // 0x298e7bc /* 0298E7BC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E7C0 */ _t0 = cpu->r[3] + 0x000000B4u; /* 0298E7C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0298E7C4 */ _t1 = cpu->r[12] + cpu->r[11]; /* 0298E7C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 0298E7C8 */ cpu->r[4] = cpu->r[12] + cpu->r[11]; /* 0298E7CC */ _t2 = cpu->r[10] + 0x00000034u; /* 0298E7CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2); /* 0298E7D0 */ cpu->r[9] = 0x00000000u; /* 0298E7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298E7D8 */ cpu->r[12] = cpu->r[10] + 0x00000034u; /* 0298E7DC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E7DC */ _t4 = _t3 & 0x00000001u; /* 0298E7DC */ if (_t4) goto L_0298E7E4; else goto L_0298E7E0; L_0298E7E0: ; // 0x298e7e0 /* 0298E7E0 */ cpu->r[9] = cpu->r[12] + cpu->r[11]; L_0298E7E4: ; // 0x298e7e4 /* 0298E7E4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000014u); /* 0298E7E8 */ cpu->r[3] = cpu->r[9] + cpu->r[12]; /* 0298E7EC */ _t5 = cpu->r[3] + 0x00000004u; /* 0298E7EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0298E7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298E7F4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E7F4 */ _t7 = _t6 & 0x00000001u; /* 0298E7F4 */ if (_t7) goto L_0298E828; else goto L_0298E7F8; L_0298E7F8: ; // 0x298e7f8 /* 0298E7F8 */ _t8 = cpu->r[4] + 0x00000004u; /* 0298E7F8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8); /* 0298E7FC */ /* nop */ /* 0298E800 */ cpu->r[11] = 0x00000001u; /* 0298E804 */ _t9 = cpu->r[4] + 0x0000000Cu; /* 0298E804 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 0298E808 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 0298E80C */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E810 */ _t10 = cpu->r[4] + 0x00000004u; /* 0298E810 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[10]); /* 0298E814 */ _t11 = cpu->r[9] + cpu->r[8]; /* 0298E814 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 0298E818 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], cpu->r[5], 0x00000000u, 0x0000001Fu); /* 0298E81C */ cpu->r[12] = cpu->r[12] | cpu->r[11]; /* 0298E820 */ _t12 = cpu->r[9] + cpu->r[8]; /* 0298E820 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]); /* 0298E824 */ _t13 = cpu->r[4] + 0x00000000u; /* 0298E824 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); L_0298E828: ; // 0x298e828 /* 0298E828 */ _t14 = cpu->r[10] + 0x00000034u; /* 0298E828 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 0298E82C */ cpu->r[12] = cpu->r[10] + 0x00000034u; /* 0298E830 */ cpu->r[9] = 0x00000000u; /* 0298E834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298E838 */ _t15 = cpu->r[3] + 0x0000000Cu; /* 0298E838 */ cpu->r[7] = rbrew_read16(cpu->mem, _t15); /* 0298E83C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E83C */ _t17 = _t16 & 0x00000001u; /* 0298E83C */ if (_t17) goto L_0298E844; else goto L_0298E840; L_0298E840: ; // 0x298e840 /* 0298E840 */ cpu->r[9] = cpu->r[12] + cpu->r[11]; L_0298E844: ; // 0x298e844 /* 0298E844 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000014u); /* 0298E848 */ cpu->r[12] = cpu->r[9] + cpu->r[12]; /* 0298E84C */ _t18 = cpu->r[12] + 0x00000004u; /* 0298E84C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 0298E850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298E854 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E854 */ _t20 = _t19 & 0x00000001u; /* 0298E854 */ if (_t20) goto L_0298E884; else goto L_0298E858; L_0298E858: ; // 0x298e858 /* 0298E858 */ _t21 = cpu->r[4] + 0x00000004u; /* 0298E858 */ cpu->r[10] = rbrew_read16(cpu->mem, _t21); /* 0298E85C */ /* nop */ /* 0298E860 */ cpu->r[11] = 0x00000001u; /* 0298E864 */ _t22 = cpu->r[4] + 0x0000000Cu; /* 0298E864 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22); /* 0298E868 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 0298E86C */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E870 */ _t23 = cpu->r[4] + 0x00000004u; /* 0298E870 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[10]); /* 0298E874 */ _t24 = cpu->r[9] + cpu->r[8]; /* 0298E874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24); /* 0298E878 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], cpu->r[7], 0x00000000u, 0x0000001Fu); /* 0298E87C */ cpu->r[12] = cpu->r[12] | cpu->r[11]; /* 0298E880 */ _t25 = cpu->r[9] + cpu->r[8]; /* 0298E880 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]); L_0298E884: ; // 0x298e884 /* 0298E884 */ _t26 = cpu->r[4] + 0x00000028u; /* 0298E884 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26); /* 0298E888 */ _t27 = cpu->r[3] + 0x00000002u; /* 0298E888 */ cpu->r[12] = rbrew_read16(cpu->mem, _t27); /* 0298E88C */ cpu->r[11] = cpu->r[11] + cpu->r[12]; /* 0298E890 */ _t28 = cpu->r[6] + 0x00000000u; /* 0298E890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28); /* 0298E894 */ _t29 = cpu->r[11] + 0x00000000u; /* 0298E894 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]); /* 0298E898 */ _t30 = cpu->r[6] + 0x00000004u; /* 0298E898 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30); /* 0298E89C */ _t31 = cpu->r[11] + 0x00000004u; /* 0298E89C */ rbrew_write32(cpu->mem, _t31, cpu->r[12]); /* 0298E8A0 */ _t32 = cpu->r[6] + 0x00000008u; /* 0298E8A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32); /* 0298E8A4 */ _t33 = cpu->r[11] + 0x00000008u; /* 0298E8A4 */ rbrew_write32(cpu->mem, _t33, cpu->r[12]); /* 0298E8A8 */ _t34 = cpu->r[6] + 0x0000000Cu; /* 0298E8A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34); /* 0298E8AC */ _t35 = cpu->r[11] + 0x0000000Cu; /* 0298E8AC */ rbrew_write32(cpu->mem, _t35, cpu->r[12]); /* 0298E8B0 */ return; } // fn_0298E8B4 @ 0x298e8b4 void Gambit_fn_0298E8B4(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_0298E8B4: ; // 0x298e8b4 /* 0298E8B4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu); /* 0298E8B8 */ _t0 = cpu->r[3] + 0x000000B4u; /* 0298E8B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 0298E8BC */ cpu->r[4] = cpu->r[9] + cpu->r[0]; /* 0298E8C0 */ _t1 = cpu->r[4] + 0x00000000u; /* 0298E8C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1); /* 0298E8C4 */ _t2 = cpu->r[9] + 0x00000034u; /* 0298E8C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2); /* 0298E8C8 */ cpu->r[12] = 0x00000000u; /* 0298E8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 0298E8D0 */ cpu->r[8] = cpu->r[9] + 0x00000034u; /* 0298E8D4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E8D4 */ _t4 = _t3 & 0x00000001u; /* 0298E8D4 */ if (_t4) goto L_0298E8DC; else goto L_0298E8D8; L_0298E8D8: ; // 0x298e8d8 /* 0298E8D8 */ cpu->r[12] = cpu->r[8] + cpu->r[7]; L_0298E8DC: ; // 0x298e8dc /* 0298E8DC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000014u); /* 0298E8E0 */ cpu->r[10] = cpu->r[12] + cpu->r[8]; /* 0298E8E4 */ _t5 = cpu->r[10] + 0x00000004u; /* 0298E8E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5); /* 0298E8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E8EC */ _t6 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E8EC */ _t7 = _t6 & 0x00000001u; /* 0298E8EC */ if (_t7) goto L_0298E920; else goto L_0298E8F0; L_0298E8F0: ; // 0x298e8f0 /* 0298E8F0 */ _t8 = cpu->r[4] + 0x00000004u; /* 0298E8F0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t8); /* 0298E8F4 */ /* nop */ /* 0298E8F8 */ cpu->r[8] = 0x00000001u; /* 0298E8FC */ _t9 = cpu->r[4] + 0x0000000Cu; /* 0298E8FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 0298E900 */ cpu->r[7] = cpu->r[7] | 0x00000004u; /* 0298E904 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E908 */ _t10 = cpu->r[4] + 0x00000004u; /* 0298E908 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[7]); /* 0298E90C */ _t11 = cpu->r[9] + cpu->r[0]; /* 0298E90C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11); /* 0298E910 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], cpu->r[5], 0x00000000u, 0x0000001Fu); /* 0298E914 */ cpu->r[7] = cpu->r[7] | cpu->r[8]; /* 0298E918 */ _t12 = cpu->r[9] + cpu->r[0]; /* 0298E918 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]); /* 0298E91C */ _t13 = cpu->r[4] + 0x00000000u; /* 0298E91C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); L_0298E920: ; // 0x298e920 /* 0298E920 */ _t14 = cpu->r[9] + 0x00000034u; /* 0298E920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298E924 */ cpu->r[8] = cpu->r[9] + 0x00000034u; /* 0298E928 */ cpu->r[7] = 0x00000000u; /* 0298E92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E930 */ _t15 = cpu->r[10] + 0x0000000Cu; /* 0298E930 */ cpu->r[11] = rbrew_read16(cpu->mem, _t15); /* 0298E934 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E934 */ _t17 = _t16 & 0x00000001u; /* 0298E934 */ if (_t17) goto L_0298E93C; else goto L_0298E938; L_0298E938: ; // 0x298e938 /* 0298E938 */ cpu->r[7] = cpu->r[8] + cpu->r[0]; L_0298E93C: ; // 0x298e93c /* 0298E93C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000014u); /* 0298E940 */ cpu->r[7] = cpu->r[7] + cpu->r[8]; /* 0298E944 */ _t18 = cpu->r[7] + 0x00000004u; /* 0298E944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298E948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298E94C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298E94C */ _t20 = _t19 & 0x00000001u; /* 0298E94C */ if (_t20) goto L_0298E97C; else goto L_0298E950; L_0298E950: ; // 0x298e950 /* 0298E950 */ _t21 = cpu->r[4] + 0x00000004u; /* 0298E950 */ cpu->r[12] = rbrew_read16(cpu->mem, _t21); /* 0298E954 */ /* nop */ /* 0298E958 */ cpu->r[0] = 0x00000001u; /* 0298E95C */ _t22 = cpu->r[4] + 0x0000000Cu; /* 0298E95C */ cpu->r[9] = rbrew_read32(cpu->mem, _t22); /* 0298E960 */ cpu->r[12] = cpu->r[12] | 0x00000004u; /* 0298E964 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E968 */ _t23 = cpu->r[4] + 0x00000004u; /* 0298E968 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[12]); /* 0298E96C */ _t24 = cpu->r[9] + cpu->r[8]; /* 0298E96C */ cpu->r[7] = rbrew_read32(cpu->mem, _t24); /* 0298E970 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], cpu->r[11], 0x00000000u, 0x0000001Fu); /* 0298E974 */ cpu->r[7] = cpu->r[7] | cpu->r[0]; /* 0298E978 */ _t25 = cpu->r[9] + cpu->r[8]; /* 0298E978 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]); L_0298E97C: ; // 0x298e97c /* 0298E97C */ _t26 = cpu->r[4] + 0x00000028u; /* 0298E97C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26); /* 0298E980 */ _t27 = cpu->r[6] + 0x00000000u; /* 0298E980 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t27); /* 0298E984 */ _t28 = cpu->r[6] + 0x00000008u; /* 0298E984 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28); /* 0298E988 */ _t29 = cpu->r[10] + 0x00000002u; /* 0298E988 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29); /* 0298E98C */ _t30 = cpu->r[6] + 0x00000004u; /* 0298E98C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30); /* 0298E990 */ _t31 = cpu->r[9] + cpu->r[0]; /* 0298E990 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]); /* 0298E990 */ cpu->r[9] = _t31; /* 0298E994 */ _t32 = cpu->r[9] + 0x00000004u; /* 0298E994 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]); /* 0298E998 */ _t33 = cpu->r[9] + 0x00000008u; /* 0298E998 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]); /* 0298E99C */ return; } // fn_0298E9A0 @ 0x298e9a0 void Gambit_fn_0298E9A0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_0298E9A0: ; // 0x298e9a0 /* 0298E9A0 */ /* nop */ /* 0298E9A4 */ _t0 = cpu->r[3] + 0x0000009Cu; /* 0298E9A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t0); /* 0298E9A8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298E9AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Bu, 0x0000001Fu); /* 0298E9B0 */ cpu->r[9] = 0x00000001u; /* 0298E9B4 */ _t1 = cpu->r[7] + cpu->r[6]; /* 0298E9B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1); /* 0298E9B8 */ /* nop */ /* 0298E9BC */ /* nop */ /* 0298E9C0 */ _t2 = ~cpu->r[8]; /* 0298E9C0 */ cpu->r[0] = cpu->r[10] & _t2; /* 0298E9C4 */ cpu->r[12] = cpu->r[0] | cpu->r[11]; /* 0298E9C8 */ _t3 = cpu->r[7] + cpu->r[6]; /* 0298E9C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]); /* 0298E9CC */ return; } // fn_0298E9D0 @ 0x298e9d0 void Gambit_fn_0298E9D0(CPUState* cpu) { uint32_t _t0; L_0298E9D0: ; // 0x298e9d0 /* 0298E9D0 */ _t0 = cpu->r[3] + 0x000000A8u; /* 0298E9D0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t0); /* 0298E9D4 */ return; } // fn_0298E9D8 @ 0x298e9d8 void Gambit_fn_0298E9D8(CPUState* cpu) { uint32_t _t0; L_0298E9D8: ; // 0x298e9d8 /* 0298E9D8 */ _t0 = cpu->r[3] + 0x000000A0u; /* 0298E9D8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0); /* 0298E9DC */ return; } // fn_0298E9E0 @ 0x298e9e0 void Gambit_fn_0298E9E0(CPUState* cpu) { L_0298E9E0: ; // 0x298e9e0 /* 0298E9E0 */ cpu->r[3] = 0x00000001u; /* 0298E9E4 */ return; } // fn_0298E9E8 @ 0x298e9e8 void Gambit_fn_0298E9E8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0298E9E8: ; // 0x298e9e8 /* 0298E9E8 */ cpu->r[12] = 0x101D0000u; /* 0298E9EC */ _t0 = cpu->r[12] + 0x00001588u; /* 0298E9EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 0298E9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 0298E9F4 */ cpu->r[12] = 0x101D0000u; /* 0298E9F8 */ cpu->r[12] = cpu->r[12] + 0x00001AD4u; /* 0298E9FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298E9FC */ _t2 = _t1 & 0x00000001u; /* 0298E9FC */ if (_t2) goto L_0298EA00; else goto L_0298EA18; L_0298EA00: ; // 0x298ea00 /* 0298EA00 */ cpu->r[0] = 0x10150000u; /* 0298EA04 */ cpu->r[9] = 0x00000001u; /* 0298EA08 */ cpu->r[8] = 0x101D0000u; /* 0298EA0C */ cpu->r[0] = cpu->r[0] + 0xFFFFF588u; /* 0298EA10 */ _t3 = cpu->r[8] + 0x00001588u; /* 0298EA10 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]); /* 0298EA14 */ _t4 = cpu->r[12] + 0x00000000u; /* 0298EA14 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); L_0298EA18: ; // 0x298ea18 /* 0298EA18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]); /* 0298EA1C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EA1C */ _t6 = _t5 & 0x00000001u; /* 0298EA1C */ if (_t6) goto L_0298EA20; else goto L_0298EA28; L_0298EA20: ; // 0x298ea20 /* 0298EA20 */ cpu->r[3] = 0x00000001u; /* 0298EA24 */ return; L_0298EA28: ; // 0x298ea28 /* 0298EA28 */ cpu->r[11] = 0x101D0000u; /* 0298EA2C */ _t7 = cpu->r[11] + 0xFFFFE218u; /* 0298EA2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 0298EA2C */ cpu->r[11] = _t7; /* 0298EA30 */ cpu->r[10] = 0x101D0000u; /* 0298EA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u); /* 0298EA38 */ cpu->r[10] = cpu->r[10] + 0xFFFFEF88u; /* 0298EA3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EA3C */ _t9 = _t8 & 0x00000001u; /* 0298EA3C */ if (_t9) goto L_0298EA40; else goto L_0298EA54; L_0298EA40: ; // 0x298ea40 /* 0298EA40 */ cpu->r[12] = 0x10150000u; /* 0298EA44 */ cpu->r[9] = 0x00000001u; /* 0298EA48 */ cpu->r[12] = cpu->r[12] + 0xFFFFF578u; /* 0298EA4C */ _t10 = cpu->r[11] + 0x00000000u; /* 0298EA4C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]); /* 0298EA50 */ _t11 = cpu->r[10] + 0x00000000u; /* 0298EA50 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]); L_0298EA54: ; // 0x298ea54 /* 0298EA54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]); /* 0298EA58 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EA58 */ _t13 = _t12 & 0x00000001u; /* 0298EA58 */ if (_t13) goto L_0298EA5C; else goto L_0298EA64; L_0298EA5C: ; // 0x298ea5c /* 0298EA5C */ cpu->r[0] = 0x00000001u; /* 0298EA60 */ goto L_0298EA9C; L_0298EA64: ; // 0x298ea64 /* 0298EA64 */ cpu->r[8] = 0x101D0000u; /* 0298EA68 */ _t14 = cpu->r[8] + 0xFFFFD8ACu; /* 0298EA68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 0298EA68 */ cpu->r[8] = _t14; /* 0298EA6C */ cpu->r[11] = 0x101D0000u; /* 0298EA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298EA74 */ cpu->r[11] = cpu->r[11] + 0xFFFFEF8Cu; /* 0298EA78 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EA78 */ _t16 = _t15 & 0x00000001u; /* 0298EA78 */ if (_t16) goto L_0298EA7C; else goto L_0298EA90; L_0298EA7C: ; // 0x298ea7c /* 0298EA7C */ cpu->r[10] = 0x10150000u; /* 0298EA80 */ cpu->r[9] = 0x00000001u; /* 0298EA84 */ cpu->r[10] = cpu->r[10] + 0xFFFFF568u; /* 0298EA88 */ _t17 = cpu->r[8] + 0x00000000u; /* 0298EA88 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]); /* 0298EA8C */ _t18 = cpu->r[11] + 0x00000000u; /* 0298EA8C */ rbrew_write32(cpu->mem, _t18, cpu->r[10]); L_0298EA90: ; // 0x298ea90 /* 0298EA90 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11]; /* 0298EA94 */ cpu->r[0] = rbrew_clz32(cpu->r[12]); /* 0298EA98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu); L_0298EA9C: ; // 0x298ea9c /* 0298EA9C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu); /* 0298EAA0 */ return; } // fn_0298EAA4 @ 0x298eaa4 void Gambit_fn_0298EAA4(CPUState* cpu) { L_0298EAA4: ; // 0x298eaa4 /* 0298EAA4 */ cpu->r[3] = 0x10150000u; /* 0298EAA8 */ cpu->r[3] = cpu->r[3] + 0xFFFFF548u; /* 0298EAAC */ return; } // fn_0298EAB0 @ 0x298eab0 void Gambit_fn_0298EAB0(CPUState* cpu) { L_0298EAB0: ; // 0x298eab0 /* 0298EAB0 */ cpu->r[3] = 0x00000005u; /* 0298EAB4 */ return; } // fn_0298EABC @ 0x298eabc void Gambit_fn_0298EABC(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_0298EABC: ; // 0x298eabc /* 0298EABC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298EABC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298EABC */ cpu->r[1] = _t0; /* 0298EAC0 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298EAC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298EAC4 */ cpu->r[30] = cpu->r[5]; /* 0298EAC8 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298EAC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298EACC */ _t3 = cpu->r[1] + 0x00000014u; /* 0298EACC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298EAD0 */ cpu->r[5] = 0x0000008Cu; /* 0298EAD4 */ cpu->r[6] = cpu->r[30]; /* 0298EAD8 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0298EAD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0298EADC */ cpu->r[28] = cpu->r[3]; /* 0298EAE0 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298EAE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298EAE4 */ cpu->r[29] = cpu->r[4]; /* 0298EAE8 */ Gambit_fn_029928D4(cpu); /* 0298EAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EAF0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EAF0 */ _t7 = _t6 & 0x00000001u; /* 0298EAF0 */ if (_t7) goto L_0298EB58; else goto L_0298EAF4; L_0298EAF4: ; // 0x298eaf4 /* 0298EAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EAF8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EAF8 */ _t9 = _t8 & 0x00000001u; /* 0298EAF8 */ if (_t9) goto L_0298EB00; else goto L_0298EAFC; L_0298EAFC: ; // 0x298eafc /* 0298EAFC */ Gambit_fn_0298CF38(cpu); L_0298EB00: ; // 0x298eb00 /* 0298EB00 */ _t10 = cpu->r[3] + 0x0000000Cu; /* 0298EB00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10); /* 0298EB04 */ _t11 = cpu->r[12] + 0x00000014u; /* 0298EB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0298EB08 */ cpu->ctr = cpu->r[0]; /* 0298EB0C */ cpu->r[31] = cpu->r[3]; /* 0298EB10 */ cpu->r[5] = cpu->r[29]; /* 0298EB14 */ cpu->r[6] = cpu->r[30]; /* 0298EB18 */ cpu->r[4] = cpu->r[28]; /* 0298EB1C */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298EB20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EB24 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EB24 */ _t13 = _t12 & 0x00000001u; /* 0298EB24 */ if (_t13) goto L_0298EB58; else goto L_0298EB28; L_0298EB28: ; // 0x298eb28 /* 0298EB28 */ _t14 = cpu->r[28] + 0x000000CCu; /* 0298EB28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14); /* 0298EB2C */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298EB30 */ _t15 = cpu->r[10] + cpu->r[11]; /* 0298EB30 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]); /* 0298EB34 */ _t16 = cpu->r[1] + 0x00000008u; /* 0298EB34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16); /* 0298EB38 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0298EB38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17); /* 0298EB3C */ _t18 = cpu->r[1] + 0x0000001Cu; /* 0298EB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298EB40 */ cpu->r[3] = cpu->r[31]; /* 0298EB44 */ _t19 = cpu->r[1] + 0x00000010u; /* 0298EB44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0298EB48 */ cpu->lr = cpu->r[0]; /* 0298EB4C */ _t20 = cpu->r[1] + 0x00000014u; /* 0298EB4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0298EB50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298EB54 */ return; L_0298EB58: ; // 0x298eb58 /* 0298EB58 */ _t21 = cpu->r[1] + 0x00000008u; /* 0298EB58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21); /* 0298EB5C */ _t22 = cpu->r[1] + 0x0000000Cu; /* 0298EB5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 0298EB60 */ _t23 = cpu->r[1] + 0x0000001Cu; /* 0298EB60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23); /* 0298EB64 */ _t24 = cpu->r[1] + 0x00000010u; /* 0298EB64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24); /* 0298EB68 */ cpu->lr = cpu->r[0]; /* 0298EB6C */ _t25 = cpu->r[1] + 0x00000014u; /* 0298EB6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 0298EB70 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298EB74 */ cpu->r[3] = 0x00000000u; /* 0298EB78 */ return; } // fn_0298EB7C @ 0x298eb7c void Gambit_fn_0298EB7C(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; L_0298EB7C: ; // 0x298eb7c /* 0298EB7C */ cpu->r[0] = cpu->lr; /* 0298EB80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298EB80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298EB80 */ cpu->r[1] = _t0; /* 0298EB84 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298EB84 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298EB88 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298EB88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298EB8C */ _t3 = cpu->r[1] + 0x00000010u; /* 0298EB8C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0298EB90 */ cpu->r[31] = cpu->r[3]; /* 0298EB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298EB94 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298EB94 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298EB98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EB98 */ _t6 = _t5 & 0x00000001u; /* 0298EB98 */ if (_t6) goto L_0298EB9C; else goto L_0298EBAC; L_0298EB9C: ; // 0x298eb9c /* 0298EB9C */ cpu->r[3] = 0x000001D4u; /* 0298EBA0 */ Gambit_fn_02801A78(cpu); /* 0298EBA4 */ cpu->r[31] = cpu->r[3]; /* 0298EBA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298EBA8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBA8 */ _t8 = _t7 & 0x00000001u; /* 0298EBA8 */ if (_t8) goto L_0298EE6C; else goto L_0298EBAC; L_0298EBAC: ; // 0x298ebac /* 0298EBAC */ cpu->r[12] = 0x10150000u; /* 0298EBB0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFA58u; /* 0298EBB4 */ cpu->r[3] = cpu->r[31] + 0x00000014u; /* 0298EBB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EBB8 */ _t9 = cpu->r[31] + 0x00000000u; /* 0298EBB8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 0298EBBC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBBC */ _t11 = _t10 & 0x00000001u; /* 0298EBBC */ if (_t11) goto L_0298EBC0; else goto L_0298EBD0; L_0298EBC0: ; // 0x298ebc0 /* 0298EBC0 */ cpu->r[3] = 0x00000004u; /* 0298EBC4 */ Gambit_fn_02801A78(cpu); /* 0298EBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EBCC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBCC */ _t13 = _t12 & 0x00000001u; /* 0298EBCC */ if (_t13) goto L_0298EBD8; else goto L_0298EBD0; L_0298EBD0: ; // 0x298ebd0 /* 0298EBD0 */ cpu->r[0] = 0x0000005Fu; /* 0298EBD4 */ _t14 = cpu->r[3] + 0x00000000u; /* 0298EBD4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); L_0298EBD8: ; // 0x298ebd8 /* 0298EBD8 */ cpu->r[3] = cpu->r[31] + 0x00000018u; /* 0298EBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EBDC */ cpu->r[30] = 0x00000000u; /* 0298EBE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBE0 */ _t16 = _t15 & 0x00000001u; /* 0298EBE0 */ if (_t16) goto L_0298EBE4; else goto L_0298EBF4; L_0298EBE4: ; // 0x298ebe4 /* 0298EBE4 */ cpu->r[3] = 0x0000000Cu; /* 0298EBE8 */ Gambit_fn_02801A78(cpu); /* 0298EBEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EBF0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBF0 */ _t18 = _t17 & 0x00000001u; /* 0298EBF0 */ if (_t18) goto L_0298EC18; else goto L_0298EBF4; L_0298EBF4: ; // 0x298ebf4 /* 0298EBF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EBF8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBF8 */ _t20 = _t19 & 0x00000001u; /* 0298EBF8 */ if (_t20) goto L_0298EBFC; else goto L_0298EC0C; L_0298EBFC: ; // 0x298ebfc /* 0298EBFC */ cpu->r[3] = 0x0000000Cu; /* 0298EC00 */ Gambit_fn_02801A78(cpu); /* 0298EC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC08 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC08 */ _t22 = _t21 & 0x00000001u; /* 0298EC08 */ if (_t22) goto L_0298EC18; else goto L_0298EC0C; L_0298EC0C: ; // 0x298ec0c /* 0298EC0C */ _t23 = cpu->r[3] + 0x00000004u; /* 0298EC0C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]); /* 0298EC10 */ _t24 = cpu->r[3] + 0x00000000u; /* 0298EC10 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]); /* 0298EC14 */ _t25 = cpu->r[3] + 0x00000008u; /* 0298EC14 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]); L_0298EC18: ; // 0x298ec18 /* 0298EC18 */ cpu->r[3] = cpu->r[31] + 0x00000024u; /* 0298EC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC1C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC1C */ _t27 = _t26 & 0x00000001u; /* 0298EC1C */ if (_t27) goto L_0298EC20; else goto L_0298EC30; L_0298EC20: ; // 0x298ec20 /* 0298EC20 */ cpu->r[3] = 0x0000000Cu; /* 0298EC24 */ Gambit_fn_02801A78(cpu); /* 0298EC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC2C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC2C */ _t29 = _t28 & 0x00000001u; /* 0298EC2C */ if (_t29) goto L_0298EC54; else goto L_0298EC30; L_0298EC30: ; // 0x298ec30 /* 0298EC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC34 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC34 */ _t31 = _t30 & 0x00000001u; /* 0298EC34 */ if (_t31) goto L_0298EC38; else goto L_0298EC48; L_0298EC38: ; // 0x298ec38 /* 0298EC38 */ cpu->r[3] = 0x0000000Cu; /* 0298EC3C */ Gambit_fn_02801A78(cpu); /* 0298EC40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC44 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC44 */ _t33 = _t32 & 0x00000001u; /* 0298EC44 */ if (_t33) goto L_0298EC54; else goto L_0298EC48; L_0298EC48: ; // 0x298ec48 /* 0298EC48 */ _t34 = cpu->r[3] + 0x00000004u; /* 0298EC48 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]); /* 0298EC4C */ _t35 = cpu->r[3] + 0x00000000u; /* 0298EC4C */ rbrew_write32(cpu->mem, _t35, cpu->r[30]); /* 0298EC50 */ _t36 = cpu->r[3] + 0x00000008u; /* 0298EC50 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]); L_0298EC54: ; // 0x298ec54 /* 0298EC54 */ cpu->r[3] = cpu->r[31] + 0x00000030u; /* 0298EC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC58 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC58 */ _t38 = _t37 & 0x00000001u; /* 0298EC58 */ if (_t38) goto L_0298EC5C; else goto L_0298EC6C; L_0298EC5C: ; // 0x298ec5c /* 0298EC5C */ cpu->r[3] = 0x0000000Cu; /* 0298EC60 */ Gambit_fn_02801A78(cpu); /* 0298EC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC68 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC68 */ _t40 = _t39 & 0x00000001u; /* 0298EC68 */ if (_t40) goto L_0298EC90; else goto L_0298EC6C; L_0298EC6C: ; // 0x298ec6c /* 0298EC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC70 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC70 */ _t42 = _t41 & 0x00000001u; /* 0298EC70 */ if (_t42) goto L_0298EC74; else goto L_0298EC84; L_0298EC74: ; // 0x298ec74 /* 0298EC74 */ cpu->r[3] = 0x0000000Cu; /* 0298EC78 */ Gambit_fn_02801A78(cpu); /* 0298EC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC80 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC80 */ _t44 = _t43 & 0x00000001u; /* 0298EC80 */ if (_t44) goto L_0298EC90; else goto L_0298EC84; L_0298EC84: ; // 0x298ec84 /* 0298EC84 */ _t45 = cpu->r[3] + 0x00000004u; /* 0298EC84 */ rbrew_write32(cpu->mem, _t45, cpu->r[30]); /* 0298EC88 */ _t46 = cpu->r[3] + 0x00000000u; /* 0298EC88 */ rbrew_write32(cpu->mem, _t46, cpu->r[30]); /* 0298EC8C */ _t47 = cpu->r[3] + 0x00000008u; /* 0298EC8C */ rbrew_write32(cpu->mem, _t47, cpu->r[30]); L_0298EC90: ; // 0x298ec90 /* 0298EC90 */ _t48 = cpu->r[31] + 0x0000003Cu; /* 0298EC90 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]); /* 0298EC94 */ cpu->r[3] = cpu->r[31] + 0x00000044u; /* 0298EC98 */ _t49 = cpu->r[31] + 0x00000040u; /* 0298EC98 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]); /* 0298EC9C */ Gambit_fn_02A2D69C(cpu); /* 0298ECA0 */ cpu->r[29] = cpu->r[31] + 0x000000C0u; /* 0298ECA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ECA4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECA4 */ _t51 = _t50 & 0x00000001u; /* 0298ECA4 */ if (_t51) goto L_0298ECA8; else goto L_0298ECB8; L_0298ECA8: ; // 0x298eca8 /* 0298ECA8 */ cpu->r[3] = 0x00000010u; /* 0298ECAC */ Gambit_fn_02801A78(cpu); /* 0298ECB0 */ cpu->r[29] = cpu->r[3]; /* 0298ECB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ECB4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECB4 */ _t53 = _t52 & 0x00000001u; /* 0298ECB4 */ if (_t53) goto L_0298ECE4; else goto L_0298ECB8; L_0298ECB8: ; // 0x298ecb8 /* 0298ECB8 */ cpu->r[3] = cpu->r[29]; /* 0298ECB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ECBC */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECBC */ _t55 = _t54 & 0x00000001u; /* 0298ECBC */ if (_t55) goto L_0298ECC0; else goto L_0298ECD0; L_0298ECC0: ; // 0x298ecc0 /* 0298ECC0 */ cpu->r[3] = 0x0000000Cu; /* 0298ECC4 */ Gambit_fn_02801A78(cpu); /* 0298ECC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ECCC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECCC */ _t57 = _t56 & 0x00000001u; /* 0298ECCC */ if (_t57) goto L_0298ECDC; else goto L_0298ECD0; L_0298ECD0: ; // 0x298ecd0 /* 0298ECD0 */ _t58 = cpu->r[3] + 0x00000004u; /* 0298ECD0 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]); /* 0298ECD4 */ _t59 = cpu->r[3] + 0x00000008u; /* 0298ECD4 */ rbrew_write32(cpu->mem, _t59, cpu->r[30]); /* 0298ECD8 */ _t60 = cpu->r[3] + 0x00000000u; /* 0298ECD8 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]); L_0298ECDC: ; // 0x298ecdc /* 0298ECDC */ cpu->r[9] = 0xFFFFFFFFu; /* 0298ECE0 */ _t61 = cpu->r[29] + 0x0000000Cu; /* 0298ECE0 */ rbrew_write32(cpu->mem, _t61, cpu->r[9]); L_0298ECE4: ; // 0x298ece4 /* 0298ECE4 */ cpu->r[29] = cpu->r[31] + 0x000000D0u; /* 0298ECE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ECE8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECE8 */ _t63 = _t62 & 0x00000001u; /* 0298ECE8 */ if (_t63) goto L_0298ECEC; else goto L_0298ECFC; L_0298ECEC: ; // 0x298ecec /* 0298ECEC */ cpu->r[3] = 0x00000010u; /* 0298ECF0 */ Gambit_fn_02801A78(cpu); /* 0298ECF4 */ cpu->r[29] = cpu->r[3]; /* 0298ECF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ECF8 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECF8 */ _t65 = _t64 & 0x00000001u; /* 0298ECF8 */ if (_t65) goto L_0298ED28; else goto L_0298ECFC; L_0298ECFC: ; // 0x298ecfc /* 0298ECFC */ cpu->r[3] = cpu->r[29]; /* 0298ECFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED00 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED00 */ _t67 = _t66 & 0x00000001u; /* 0298ED00 */ if (_t67) goto L_0298ED04; else goto L_0298ED14; L_0298ED04: ; // 0x298ed04 /* 0298ED04 */ cpu->r[3] = 0x0000000Cu; /* 0298ED08 */ Gambit_fn_02801A78(cpu); /* 0298ED0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED10 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED10 */ _t69 = _t68 & 0x00000001u; /* 0298ED10 */ if (_t69) goto L_0298ED20; else goto L_0298ED14; L_0298ED14: ; // 0x298ed14 /* 0298ED14 */ _t70 = cpu->r[3] + 0x00000004u; /* 0298ED14 */ rbrew_write32(cpu->mem, _t70, cpu->r[3]); /* 0298ED18 */ _t71 = cpu->r[3] + 0x00000008u; /* 0298ED18 */ rbrew_write32(cpu->mem, _t71, cpu->r[30]); /* 0298ED1C */ _t72 = cpu->r[3] + 0x00000000u; /* 0298ED1C */ rbrew_write32(cpu->mem, _t72, cpu->r[3]); L_0298ED20: ; // 0x298ed20 /* 0298ED20 */ cpu->r[0] = 0xFFFFFFFFu; /* 0298ED24 */ _t73 = cpu->r[29] + 0x0000000Cu; /* 0298ED24 */ rbrew_write32(cpu->mem, _t73, cpu->r[0]); L_0298ED28: ; // 0x298ed28 /* 0298ED28 */ cpu->r[29] = cpu->r[31] + 0x000000E0u; /* 0298ED28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ED2C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED2C */ _t75 = _t74 & 0x00000001u; /* 0298ED2C */ if (_t75) goto L_0298ED30; else goto L_0298ED40; L_0298ED30: ; // 0x298ed30 /* 0298ED30 */ cpu->r[3] = 0x00000010u; /* 0298ED34 */ Gambit_fn_02801A78(cpu); /* 0298ED38 */ cpu->r[29] = cpu->r[3]; /* 0298ED38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ED3C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED3C */ _t77 = _t76 & 0x00000001u; /* 0298ED3C */ if (_t77) goto L_0298ED6C; else goto L_0298ED40; L_0298ED40: ; // 0x298ed40 /* 0298ED40 */ cpu->r[3] = cpu->r[29]; /* 0298ED40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED44 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED44 */ _t79 = _t78 & 0x00000001u; /* 0298ED44 */ if (_t79) goto L_0298ED48; else goto L_0298ED58; L_0298ED48: ; // 0x298ed48 /* 0298ED48 */ cpu->r[3] = 0x0000000Cu; /* 0298ED4C */ Gambit_fn_02801A78(cpu); /* 0298ED50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED54 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED54 */ _t81 = _t80 & 0x00000001u; /* 0298ED54 */ if (_t81) goto L_0298ED64; else goto L_0298ED58; L_0298ED58: ; // 0x298ed58 /* 0298ED58 */ _t82 = cpu->r[3] + 0x00000004u; /* 0298ED58 */ rbrew_write32(cpu->mem, _t82, cpu->r[3]); /* 0298ED5C */ _t83 = cpu->r[3] + 0x00000008u; /* 0298ED5C */ rbrew_write32(cpu->mem, _t83, cpu->r[30]); /* 0298ED60 */ _t84 = cpu->r[3] + 0x00000000u; /* 0298ED60 */ rbrew_write32(cpu->mem, _t84, cpu->r[3]); L_0298ED64: ; // 0x298ed64 /* 0298ED64 */ cpu->r[0] = 0xFFFFFFFFu; /* 0298ED68 */ _t85 = cpu->r[29] + 0x0000000Cu; /* 0298ED68 */ rbrew_write32(cpu->mem, _t85, cpu->r[0]); L_0298ED6C: ; // 0x298ed6c /* 0298ED6C */ cpu->r[29] = cpu->r[31] + 0x000000F4u; /* 0298ED6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ED70 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED70 */ _t87 = _t86 & 0x00000001u; /* 0298ED70 */ if (_t87) goto L_0298ED74; else goto L_0298ED84; L_0298ED74: ; // 0x298ed74 /* 0298ED74 */ cpu->r[3] = 0x00000010u; /* 0298ED78 */ Gambit_fn_02801A78(cpu); /* 0298ED7C */ cpu->r[29] = cpu->r[3]; /* 0298ED7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ED80 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED80 */ _t89 = _t88 & 0x00000001u; /* 0298ED80 */ if (_t89) goto L_0298EDB0; else goto L_0298ED84; L_0298ED84: ; // 0x298ed84 /* 0298ED84 */ cpu->r[3] = cpu->r[29]; /* 0298ED84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED88 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED88 */ _t91 = _t90 & 0x00000001u; /* 0298ED88 */ if (_t91) goto L_0298ED8C; else goto L_0298ED9C; L_0298ED8C: ; // 0x298ed8c /* 0298ED8C */ cpu->r[3] = 0x0000000Cu; /* 0298ED90 */ Gambit_fn_02801A78(cpu); /* 0298ED94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED98 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED98 */ _t93 = _t92 & 0x00000001u; /* 0298ED98 */ if (_t93) goto L_0298EDA8; else goto L_0298ED9C; L_0298ED9C: ; // 0x298ed9c /* 0298ED9C */ _t94 = cpu->r[3] + 0x00000004u; /* 0298ED9C */ rbrew_write32(cpu->mem, _t94, cpu->r[3]); /* 0298EDA0 */ _t95 = cpu->r[3] + 0x00000008u; /* 0298EDA0 */ rbrew_write32(cpu->mem, _t95, cpu->r[30]); /* 0298EDA4 */ _t96 = cpu->r[3] + 0x00000000u; /* 0298EDA4 */ rbrew_write32(cpu->mem, _t96, cpu->r[3]); L_0298EDA8: ; // 0x298eda8 /* 0298EDA8 */ cpu->r[12] = 0xFFFFFFFFu; /* 0298EDAC */ _t97 = cpu->r[29] + 0x0000000Cu; /* 0298EDAC */ rbrew_write32(cpu->mem, _t97, cpu->r[12]); L_0298EDB0: ; // 0x298edb0 /* 0298EDB0 */ cpu->r[0] = 0x00000001u; /* 0298EDB4 */ cpu->r[3] = cpu->r[31] + 0x00000108u; /* 0298EDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EDB8 */ _t98 = cpu->r[31] + 0x00000104u; /* 0298EDB8 */ rbrew_write32(cpu->mem, _t98, cpu->r[0]); /* 0298EDBC */ _t99 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EDBC */ _t100 = _t99 & 0x00000001u; /* 0298EDBC */ if (_t100) goto L_0298EDC0; else goto L_0298EDD0; L_0298EDC0: ; // 0x298edc0 /* 0298EDC0 */ cpu->r[3] = 0x00000004u; /* 0298EDC4 */ Gambit_fn_02801A78(cpu); /* 0298EDC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EDCC */ _t101 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EDCC */ _t102 = _t101 & 0x00000001u; /* 0298EDCC */ if (_t102) goto L_0298EDD4; else goto L_0298EDD0; L_0298EDD0: ; // 0x298edd0 /* 0298EDD0 */ _t103 = cpu->r[3] + 0x00000000u; /* 0298EDD0 */ rbrew_write32(cpu->mem, _t103, cpu->r[30]); L_0298EDD4: ; // 0x298edd4 /* 0298EDD4 */ cpu->r[3] = cpu->r[31] + 0x0000010Cu; /* 0298EDD8 */ Gambit_fn_02836EBC(cpu); /* 0298EDDC */ cpu->r[3] = cpu->r[31] + 0x00000148u; /* 0298EDE0 */ Gambit_fn_02836EBC(cpu); /* 0298EDE4 */ cpu->r[3] = cpu->r[31] + 0x00000184u; /* 0298EDE8 */ Gambit_fn_02836EBC(cpu); /* 0298EDEC */ cpu->r[10] = 0x10150000u; /* 0298EDF0 */ cpu->r[10] = cpu->r[10] + 0xFFFFF9B4u; /* 0298EDF4 */ cpu->r[3] = cpu->r[31] + 0x000001C4u; /* 0298EDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EDF8 */ _t104 = cpu->r[31] + 0x000001C0u; /* 0298EDF8 */ rbrew_write32(cpu->mem, _t104, cpu->r[10]); /* 0298EDFC */ _t105 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EDFC */ _t106 = _t105 & 0x00000001u; /* 0298EDFC */ if (_t106) goto L_0298EE00; else goto L_0298EE10; L_0298EE00: ; // 0x298ee00 /* 0298EE00 */ cpu->r[3] = 0x0000000Cu; /* 0298EE04 */ Gambit_fn_02801A78(cpu); /* 0298EE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EE0C */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EE0C */ _t108 = _t107 & 0x00000001u; /* 0298EE0C */ if (_t108) goto L_0298EE34; else goto L_0298EE10; L_0298EE10: ; // 0x298ee10 /* 0298EE10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EE14 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EE14 */ _t110 = _t109 & 0x00000001u; /* 0298EE14 */ if (_t110) goto L_0298EE18; else goto L_0298EE28; L_0298EE18: ; // 0x298ee18 /* 0298EE18 */ cpu->r[3] = 0x0000000Cu; /* 0298EE1C */ Gambit_fn_02801A78(cpu); /* 0298EE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EE24 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EE24 */ _t112 = _t111 & 0x00000001u; /* 0298EE24 */ if (_t112) goto L_0298EE34; else goto L_0298EE28; L_0298EE28: ; // 0x298ee28 /* 0298EE28 */ _t113 = cpu->r[3] + 0x00000004u; /* 0298EE28 */ rbrew_write32(cpu->mem, _t113, cpu->r[30]); /* 0298EE2C */ _t114 = cpu->r[3] + 0x00000000u; /* 0298EE2C */ rbrew_write32(cpu->mem, _t114, cpu->r[30]); /* 0298EE30 */ _t115 = cpu->r[3] + 0x00000008u; /* 0298EE30 */ rbrew_write32(cpu->mem, _t115, cpu->r[30]); L_0298EE34: ; // 0x298ee34 /* 0298EE34 */ cpu->r[11] = 0x000000C8u; /* 0298EE38 */ cpu->r[9] = 0x10150000u; /* 0298EE3C */ _t116 = cpu->r[31] + 0x000000CCu; /* 0298EE3C */ rbrew_write32(cpu->mem, _t116, cpu->r[11]); /* 0298EE40 */ cpu->r[12] = 0x000000D0u; /* 0298EE44 */ _t117 = cpu->r[9] + 0xFFFFFA3Cu; /* 0298EE44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t117); /* 0298EE48 */ cpu->r[0] = 0x00000088u; /* 0298EE4C */ _t118 = cpu->r[31] + 0x000000DCu; /* 0298EE4C */ rbrew_write32(cpu->mem, _t118, cpu->r[12]); /* 0298EE50 */ cpu->r[5] = 0x00000004u; /* 0298EE54 */ _t119 = cpu->r[31] + 0x000001D0u; /* 0298EE54 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[0]); /* 0298EE58 */ cpu->r[4] = 0x00000003u; /* 0298EE5C */ _t120 = cpu->r[31] + 0x00000100u; /* 0298EE5C */ rbrew_write32(cpu->mem, _t120, cpu->r[0]); /* 0298EE60 */ cpu->r[3] = cpu->r[31]; /* 0298EE64 */ _t121 = cpu->r[31] + 0x000000ECu; /* 0298EE64 */ rbrew_write32(cpu->mem, _t121, cpu->r[12]); /* 0298EE68 */ Gambit_fn_02A11408(cpu); L_0298EE6C: ; // 0x298ee6c /* 0298EE6C */ _t122 = cpu->r[1] + 0x0000000Cu; /* 0298EE6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t122); /* 0298EE70 */ _t123 = cpu->r[1] + 0x0000001Cu; /* 0298EE70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123); /* 0298EE74 */ cpu->r[3] = cpu->r[31]; /* 0298EE78 */ _t124 = cpu->r[1] + 0x00000010u; /* 0298EE78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t124); /* 0298EE7C */ cpu->lr = cpu->r[0]; /* 0298EE80 */ _t125 = cpu->r[1] + 0x00000014u; /* 0298EE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t125); /* 0298EE84 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298EE88 */ return; } // fn_0298EB80 @ 0x298eb80 void Gambit_fn_0298EB80(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; L_0298EB80: ; // 0x298eb80 /* 0298EB80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298EB80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298EB80 */ cpu->r[1] = _t0; /* 0298EB84 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298EB84 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298EB88 */ _t2 = cpu->r[1] + 0x00000014u; /* 0298EB88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298EB8C */ _t3 = cpu->r[1] + 0x00000010u; /* 0298EB8C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0298EB90 */ cpu->r[31] = cpu->r[3]; /* 0298EB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298EB94 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298EB94 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298EB98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EB98 */ _t6 = _t5 & 0x00000001u; /* 0298EB98 */ if (_t6) goto L_0298EB9C; else goto L_0298EBAC; L_0298EB9C: ; // 0x298eb9c /* 0298EB9C */ cpu->r[3] = 0x000001D4u; /* 0298EBA0 */ Gambit_fn_02801A78(cpu); /* 0298EBA4 */ cpu->r[31] = cpu->r[3]; /* 0298EBA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298EBA8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBA8 */ _t8 = _t7 & 0x00000001u; /* 0298EBA8 */ if (_t8) goto L_0298EE6C; else goto L_0298EBAC; L_0298EBAC: ; // 0x298ebac /* 0298EBAC */ cpu->r[12] = 0x10150000u; /* 0298EBB0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFA58u; /* 0298EBB4 */ cpu->r[3] = cpu->r[31] + 0x00000014u; /* 0298EBB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EBB8 */ _t9 = cpu->r[31] + 0x00000000u; /* 0298EBB8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); /* 0298EBBC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBBC */ _t11 = _t10 & 0x00000001u; /* 0298EBBC */ if (_t11) goto L_0298EBC0; else goto L_0298EBD0; L_0298EBC0: ; // 0x298ebc0 /* 0298EBC0 */ cpu->r[3] = 0x00000004u; /* 0298EBC4 */ Gambit_fn_02801A78(cpu); /* 0298EBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EBCC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBCC */ _t13 = _t12 & 0x00000001u; /* 0298EBCC */ if (_t13) goto L_0298EBD8; else goto L_0298EBD0; L_0298EBD0: ; // 0x298ebd0 /* 0298EBD0 */ cpu->r[0] = 0x0000005Fu; /* 0298EBD4 */ _t14 = cpu->r[3] + 0x00000000u; /* 0298EBD4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]); L_0298EBD8: ; // 0x298ebd8 /* 0298EBD8 */ cpu->r[3] = cpu->r[31] + 0x00000018u; /* 0298EBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EBDC */ cpu->r[30] = 0x00000000u; /* 0298EBE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBE0 */ _t16 = _t15 & 0x00000001u; /* 0298EBE0 */ if (_t16) goto L_0298EBE4; else goto L_0298EBF4; L_0298EBE4: ; // 0x298ebe4 /* 0298EBE4 */ cpu->r[3] = 0x0000000Cu; /* 0298EBE8 */ Gambit_fn_02801A78(cpu); /* 0298EBEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EBF0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBF0 */ _t18 = _t17 & 0x00000001u; /* 0298EBF0 */ if (_t18) goto L_0298EC18; else goto L_0298EBF4; L_0298EBF4: ; // 0x298ebf4 /* 0298EBF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EBF8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EBF8 */ _t20 = _t19 & 0x00000001u; /* 0298EBF8 */ if (_t20) goto L_0298EBFC; else goto L_0298EC0C; L_0298EBFC: ; // 0x298ebfc /* 0298EBFC */ cpu->r[3] = 0x0000000Cu; /* 0298EC00 */ Gambit_fn_02801A78(cpu); /* 0298EC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC08 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC08 */ _t22 = _t21 & 0x00000001u; /* 0298EC08 */ if (_t22) goto L_0298EC18; else goto L_0298EC0C; L_0298EC0C: ; // 0x298ec0c /* 0298EC0C */ _t23 = cpu->r[3] + 0x00000004u; /* 0298EC0C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]); /* 0298EC10 */ _t24 = cpu->r[3] + 0x00000000u; /* 0298EC10 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]); /* 0298EC14 */ _t25 = cpu->r[3] + 0x00000008u; /* 0298EC14 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]); L_0298EC18: ; // 0x298ec18 /* 0298EC18 */ cpu->r[3] = cpu->r[31] + 0x00000024u; /* 0298EC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC1C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC1C */ _t27 = _t26 & 0x00000001u; /* 0298EC1C */ if (_t27) goto L_0298EC20; else goto L_0298EC30; L_0298EC20: ; // 0x298ec20 /* 0298EC20 */ cpu->r[3] = 0x0000000Cu; /* 0298EC24 */ Gambit_fn_02801A78(cpu); /* 0298EC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC2C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC2C */ _t29 = _t28 & 0x00000001u; /* 0298EC2C */ if (_t29) goto L_0298EC54; else goto L_0298EC30; L_0298EC30: ; // 0x298ec30 /* 0298EC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC34 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC34 */ _t31 = _t30 & 0x00000001u; /* 0298EC34 */ if (_t31) goto L_0298EC38; else goto L_0298EC48; L_0298EC38: ; // 0x298ec38 /* 0298EC38 */ cpu->r[3] = 0x0000000Cu; /* 0298EC3C */ Gambit_fn_02801A78(cpu); /* 0298EC40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC44 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC44 */ _t33 = _t32 & 0x00000001u; /* 0298EC44 */ if (_t33) goto L_0298EC54; else goto L_0298EC48; L_0298EC48: ; // 0x298ec48 /* 0298EC48 */ _t34 = cpu->r[3] + 0x00000004u; /* 0298EC48 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]); /* 0298EC4C */ _t35 = cpu->r[3] + 0x00000000u; /* 0298EC4C */ rbrew_write32(cpu->mem, _t35, cpu->r[30]); /* 0298EC50 */ _t36 = cpu->r[3] + 0x00000008u; /* 0298EC50 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]); L_0298EC54: ; // 0x298ec54 /* 0298EC54 */ cpu->r[3] = cpu->r[31] + 0x00000030u; /* 0298EC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC58 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC58 */ _t38 = _t37 & 0x00000001u; /* 0298EC58 */ if (_t38) goto L_0298EC5C; else goto L_0298EC6C; L_0298EC5C: ; // 0x298ec5c /* 0298EC5C */ cpu->r[3] = 0x0000000Cu; /* 0298EC60 */ Gambit_fn_02801A78(cpu); /* 0298EC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC68 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC68 */ _t40 = _t39 & 0x00000001u; /* 0298EC68 */ if (_t40) goto L_0298EC90; else goto L_0298EC6C; L_0298EC6C: ; // 0x298ec6c /* 0298EC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC70 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC70 */ _t42 = _t41 & 0x00000001u; /* 0298EC70 */ if (_t42) goto L_0298EC74; else goto L_0298EC84; L_0298EC74: ; // 0x298ec74 /* 0298EC74 */ cpu->r[3] = 0x0000000Cu; /* 0298EC78 */ Gambit_fn_02801A78(cpu); /* 0298EC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EC80 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EC80 */ _t44 = _t43 & 0x00000001u; /* 0298EC80 */ if (_t44) goto L_0298EC90; else goto L_0298EC84; L_0298EC84: ; // 0x298ec84 /* 0298EC84 */ _t45 = cpu->r[3] + 0x00000004u; /* 0298EC84 */ rbrew_write32(cpu->mem, _t45, cpu->r[30]); /* 0298EC88 */ _t46 = cpu->r[3] + 0x00000000u; /* 0298EC88 */ rbrew_write32(cpu->mem, _t46, cpu->r[30]); /* 0298EC8C */ _t47 = cpu->r[3] + 0x00000008u; /* 0298EC8C */ rbrew_write32(cpu->mem, _t47, cpu->r[30]); L_0298EC90: ; // 0x298ec90 /* 0298EC90 */ _t48 = cpu->r[31] + 0x0000003Cu; /* 0298EC90 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]); /* 0298EC94 */ cpu->r[3] = cpu->r[31] + 0x00000044u; /* 0298EC98 */ _t49 = cpu->r[31] + 0x00000040u; /* 0298EC98 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]); /* 0298EC9C */ Gambit_fn_02A2D69C(cpu); /* 0298ECA0 */ cpu->r[29] = cpu->r[31] + 0x000000C0u; /* 0298ECA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ECA4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECA4 */ _t51 = _t50 & 0x00000001u; /* 0298ECA4 */ if (_t51) goto L_0298ECA8; else goto L_0298ECB8; L_0298ECA8: ; // 0x298eca8 /* 0298ECA8 */ cpu->r[3] = 0x00000010u; /* 0298ECAC */ Gambit_fn_02801A78(cpu); /* 0298ECB0 */ cpu->r[29] = cpu->r[3]; /* 0298ECB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ECB4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECB4 */ _t53 = _t52 & 0x00000001u; /* 0298ECB4 */ if (_t53) goto L_0298ECE4; else goto L_0298ECB8; L_0298ECB8: ; // 0x298ecb8 /* 0298ECB8 */ cpu->r[3] = cpu->r[29]; /* 0298ECB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ECBC */ _t54 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECBC */ _t55 = _t54 & 0x00000001u; /* 0298ECBC */ if (_t55) goto L_0298ECC0; else goto L_0298ECD0; L_0298ECC0: ; // 0x298ecc0 /* 0298ECC0 */ cpu->r[3] = 0x0000000Cu; /* 0298ECC4 */ Gambit_fn_02801A78(cpu); /* 0298ECC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ECCC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECCC */ _t57 = _t56 & 0x00000001u; /* 0298ECCC */ if (_t57) goto L_0298ECDC; else goto L_0298ECD0; L_0298ECD0: ; // 0x298ecd0 /* 0298ECD0 */ _t58 = cpu->r[3] + 0x00000004u; /* 0298ECD0 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]); /* 0298ECD4 */ _t59 = cpu->r[3] + 0x00000008u; /* 0298ECD4 */ rbrew_write32(cpu->mem, _t59, cpu->r[30]); /* 0298ECD8 */ _t60 = cpu->r[3] + 0x00000000u; /* 0298ECD8 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]); L_0298ECDC: ; // 0x298ecdc /* 0298ECDC */ cpu->r[9] = 0xFFFFFFFFu; /* 0298ECE0 */ _t61 = cpu->r[29] + 0x0000000Cu; /* 0298ECE0 */ rbrew_write32(cpu->mem, _t61, cpu->r[9]); L_0298ECE4: ; // 0x298ece4 /* 0298ECE4 */ cpu->r[29] = cpu->r[31] + 0x000000D0u; /* 0298ECE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ECE8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECE8 */ _t63 = _t62 & 0x00000001u; /* 0298ECE8 */ if (_t63) goto L_0298ECEC; else goto L_0298ECFC; L_0298ECEC: ; // 0x298ecec /* 0298ECEC */ cpu->r[3] = 0x00000010u; /* 0298ECF0 */ Gambit_fn_02801A78(cpu); /* 0298ECF4 */ cpu->r[29] = cpu->r[3]; /* 0298ECF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ECF8 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ECF8 */ _t65 = _t64 & 0x00000001u; /* 0298ECF8 */ if (_t65) goto L_0298ED28; else goto L_0298ECFC; L_0298ECFC: ; // 0x298ecfc /* 0298ECFC */ cpu->r[3] = cpu->r[29]; /* 0298ECFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED00 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED00 */ _t67 = _t66 & 0x00000001u; /* 0298ED00 */ if (_t67) goto L_0298ED04; else goto L_0298ED14; L_0298ED04: ; // 0x298ed04 /* 0298ED04 */ cpu->r[3] = 0x0000000Cu; /* 0298ED08 */ Gambit_fn_02801A78(cpu); /* 0298ED0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED10 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED10 */ _t69 = _t68 & 0x00000001u; /* 0298ED10 */ if (_t69) goto L_0298ED20; else goto L_0298ED14; L_0298ED14: ; // 0x298ed14 /* 0298ED14 */ _t70 = cpu->r[3] + 0x00000004u; /* 0298ED14 */ rbrew_write32(cpu->mem, _t70, cpu->r[3]); /* 0298ED18 */ _t71 = cpu->r[3] + 0x00000008u; /* 0298ED18 */ rbrew_write32(cpu->mem, _t71, cpu->r[30]); /* 0298ED1C */ _t72 = cpu->r[3] + 0x00000000u; /* 0298ED1C */ rbrew_write32(cpu->mem, _t72, cpu->r[3]); L_0298ED20: ; // 0x298ed20 /* 0298ED20 */ cpu->r[0] = 0xFFFFFFFFu; /* 0298ED24 */ _t73 = cpu->r[29] + 0x0000000Cu; /* 0298ED24 */ rbrew_write32(cpu->mem, _t73, cpu->r[0]); L_0298ED28: ; // 0x298ed28 /* 0298ED28 */ cpu->r[29] = cpu->r[31] + 0x000000E0u; /* 0298ED28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ED2C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED2C */ _t75 = _t74 & 0x00000001u; /* 0298ED2C */ if (_t75) goto L_0298ED30; else goto L_0298ED40; L_0298ED30: ; // 0x298ed30 /* 0298ED30 */ cpu->r[3] = 0x00000010u; /* 0298ED34 */ Gambit_fn_02801A78(cpu); /* 0298ED38 */ cpu->r[29] = cpu->r[3]; /* 0298ED38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ED3C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED3C */ _t77 = _t76 & 0x00000001u; /* 0298ED3C */ if (_t77) goto L_0298ED6C; else goto L_0298ED40; L_0298ED40: ; // 0x298ed40 /* 0298ED40 */ cpu->r[3] = cpu->r[29]; /* 0298ED40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED44 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED44 */ _t79 = _t78 & 0x00000001u; /* 0298ED44 */ if (_t79) goto L_0298ED48; else goto L_0298ED58; L_0298ED48: ; // 0x298ed48 /* 0298ED48 */ cpu->r[3] = 0x0000000Cu; /* 0298ED4C */ Gambit_fn_02801A78(cpu); /* 0298ED50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED54 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED54 */ _t81 = _t80 & 0x00000001u; /* 0298ED54 */ if (_t81) goto L_0298ED64; else goto L_0298ED58; L_0298ED58: ; // 0x298ed58 /* 0298ED58 */ _t82 = cpu->r[3] + 0x00000004u; /* 0298ED58 */ rbrew_write32(cpu->mem, _t82, cpu->r[3]); /* 0298ED5C */ _t83 = cpu->r[3] + 0x00000008u; /* 0298ED5C */ rbrew_write32(cpu->mem, _t83, cpu->r[30]); /* 0298ED60 */ _t84 = cpu->r[3] + 0x00000000u; /* 0298ED60 */ rbrew_write32(cpu->mem, _t84, cpu->r[3]); L_0298ED64: ; // 0x298ed64 /* 0298ED64 */ cpu->r[0] = 0xFFFFFFFFu; /* 0298ED68 */ _t85 = cpu->r[29] + 0x0000000Cu; /* 0298ED68 */ rbrew_write32(cpu->mem, _t85, cpu->r[0]); L_0298ED6C: ; // 0x298ed6c /* 0298ED6C */ cpu->r[29] = cpu->r[31] + 0x000000F4u; /* 0298ED6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ED70 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED70 */ _t87 = _t86 & 0x00000001u; /* 0298ED70 */ if (_t87) goto L_0298ED74; else goto L_0298ED84; L_0298ED74: ; // 0x298ed74 /* 0298ED74 */ cpu->r[3] = 0x00000010u; /* 0298ED78 */ Gambit_fn_02801A78(cpu); /* 0298ED7C */ cpu->r[29] = cpu->r[3]; /* 0298ED7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0298ED80 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED80 */ _t89 = _t88 & 0x00000001u; /* 0298ED80 */ if (_t89) goto L_0298EDB0; else goto L_0298ED84; L_0298ED84: ; // 0x298ed84 /* 0298ED84 */ cpu->r[3] = cpu->r[29]; /* 0298ED84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED88 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED88 */ _t91 = _t90 & 0x00000001u; /* 0298ED88 */ if (_t91) goto L_0298ED8C; else goto L_0298ED9C; L_0298ED8C: ; // 0x298ed8c /* 0298ED8C */ cpu->r[3] = 0x0000000Cu; /* 0298ED90 */ Gambit_fn_02801A78(cpu); /* 0298ED94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298ED98 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298ED98 */ _t93 = _t92 & 0x00000001u; /* 0298ED98 */ if (_t93) goto L_0298EDA8; else goto L_0298ED9C; L_0298ED9C: ; // 0x298ed9c /* 0298ED9C */ _t94 = cpu->r[3] + 0x00000004u; /* 0298ED9C */ rbrew_write32(cpu->mem, _t94, cpu->r[3]); /* 0298EDA0 */ _t95 = cpu->r[3] + 0x00000008u; /* 0298EDA0 */ rbrew_write32(cpu->mem, _t95, cpu->r[30]); /* 0298EDA4 */ _t96 = cpu->r[3] + 0x00000000u; /* 0298EDA4 */ rbrew_write32(cpu->mem, _t96, cpu->r[3]); L_0298EDA8: ; // 0x298eda8 /* 0298EDA8 */ cpu->r[12] = 0xFFFFFFFFu; /* 0298EDAC */ _t97 = cpu->r[29] + 0x0000000Cu; /* 0298EDAC */ rbrew_write32(cpu->mem, _t97, cpu->r[12]); L_0298EDB0: ; // 0x298edb0 /* 0298EDB0 */ cpu->r[0] = 0x00000001u; /* 0298EDB4 */ cpu->r[3] = cpu->r[31] + 0x00000108u; /* 0298EDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EDB8 */ _t98 = cpu->r[31] + 0x00000104u; /* 0298EDB8 */ rbrew_write32(cpu->mem, _t98, cpu->r[0]); /* 0298EDBC */ _t99 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EDBC */ _t100 = _t99 & 0x00000001u; /* 0298EDBC */ if (_t100) goto L_0298EDC0; else goto L_0298EDD0; L_0298EDC0: ; // 0x298edc0 /* 0298EDC0 */ cpu->r[3] = 0x00000004u; /* 0298EDC4 */ Gambit_fn_02801A78(cpu); /* 0298EDC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EDCC */ _t101 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EDCC */ _t102 = _t101 & 0x00000001u; /* 0298EDCC */ if (_t102) goto L_0298EDD4; else goto L_0298EDD0; L_0298EDD0: ; // 0x298edd0 /* 0298EDD0 */ _t103 = cpu->r[3] + 0x00000000u; /* 0298EDD0 */ rbrew_write32(cpu->mem, _t103, cpu->r[30]); L_0298EDD4: ; // 0x298edd4 /* 0298EDD4 */ cpu->r[3] = cpu->r[31] + 0x0000010Cu; /* 0298EDD8 */ Gambit_fn_02836EBC(cpu); /* 0298EDDC */ cpu->r[3] = cpu->r[31] + 0x00000148u; /* 0298EDE0 */ Gambit_fn_02836EBC(cpu); /* 0298EDE4 */ cpu->r[3] = cpu->r[31] + 0x00000184u; /* 0298EDE8 */ Gambit_fn_02836EBC(cpu); /* 0298EDEC */ cpu->r[10] = 0x10150000u; /* 0298EDF0 */ cpu->r[10] = cpu->r[10] + 0xFFFFF9B4u; /* 0298EDF4 */ cpu->r[3] = cpu->r[31] + 0x000001C4u; /* 0298EDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EDF8 */ _t104 = cpu->r[31] + 0x000001C0u; /* 0298EDF8 */ rbrew_write32(cpu->mem, _t104, cpu->r[10]); /* 0298EDFC */ _t105 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EDFC */ _t106 = _t105 & 0x00000001u; /* 0298EDFC */ if (_t106) goto L_0298EE00; else goto L_0298EE10; L_0298EE00: ; // 0x298ee00 /* 0298EE00 */ cpu->r[3] = 0x0000000Cu; /* 0298EE04 */ Gambit_fn_02801A78(cpu); /* 0298EE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EE0C */ _t107 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EE0C */ _t108 = _t107 & 0x00000001u; /* 0298EE0C */ if (_t108) goto L_0298EE34; else goto L_0298EE10; L_0298EE10: ; // 0x298ee10 /* 0298EE10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EE14 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EE14 */ _t110 = _t109 & 0x00000001u; /* 0298EE14 */ if (_t110) goto L_0298EE18; else goto L_0298EE28; L_0298EE18: ; // 0x298ee18 /* 0298EE18 */ cpu->r[3] = 0x0000000Cu; /* 0298EE1C */ Gambit_fn_02801A78(cpu); /* 0298EE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EE24 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EE24 */ _t112 = _t111 & 0x00000001u; /* 0298EE24 */ if (_t112) goto L_0298EE34; else goto L_0298EE28; L_0298EE28: ; // 0x298ee28 /* 0298EE28 */ _t113 = cpu->r[3] + 0x00000004u; /* 0298EE28 */ rbrew_write32(cpu->mem, _t113, cpu->r[30]); /* 0298EE2C */ _t114 = cpu->r[3] + 0x00000000u; /* 0298EE2C */ rbrew_write32(cpu->mem, _t114, cpu->r[30]); /* 0298EE30 */ _t115 = cpu->r[3] + 0x00000008u; /* 0298EE30 */ rbrew_write32(cpu->mem, _t115, cpu->r[30]); L_0298EE34: ; // 0x298ee34 /* 0298EE34 */ cpu->r[11] = 0x000000C8u; /* 0298EE38 */ cpu->r[9] = 0x10150000u; /* 0298EE3C */ _t116 = cpu->r[31] + 0x000000CCu; /* 0298EE3C */ rbrew_write32(cpu->mem, _t116, cpu->r[11]); /* 0298EE40 */ cpu->r[12] = 0x000000D0u; /* 0298EE44 */ _t117 = cpu->r[9] + 0xFFFFFA3Cu; /* 0298EE44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t117); /* 0298EE48 */ cpu->r[0] = 0x00000088u; /* 0298EE4C */ _t118 = cpu->r[31] + 0x000000DCu; /* 0298EE4C */ rbrew_write32(cpu->mem, _t118, cpu->r[12]); /* 0298EE50 */ cpu->r[5] = 0x00000004u; /* 0298EE54 */ _t119 = cpu->r[31] + 0x000001D0u; /* 0298EE54 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[0]); /* 0298EE58 */ cpu->r[4] = 0x00000003u; /* 0298EE5C */ _t120 = cpu->r[31] + 0x00000100u; /* 0298EE5C */ rbrew_write32(cpu->mem, _t120, cpu->r[0]); /* 0298EE60 */ cpu->r[3] = cpu->r[31]; /* 0298EE64 */ _t121 = cpu->r[31] + 0x000000ECu; /* 0298EE64 */ rbrew_write32(cpu->mem, _t121, cpu->r[12]); /* 0298EE68 */ Gambit_fn_02A11408(cpu); L_0298EE6C: ; // 0x298ee6c /* 0298EE6C */ _t122 = cpu->r[1] + 0x0000000Cu; /* 0298EE6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t122); /* 0298EE70 */ _t123 = cpu->r[1] + 0x0000001Cu; /* 0298EE70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123); /* 0298EE74 */ cpu->r[3] = cpu->r[31]; /* 0298EE78 */ _t124 = cpu->r[1] + 0x00000010u; /* 0298EE78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t124); /* 0298EE7C */ cpu->lr = cpu->r[0]; /* 0298EE80 */ _t125 = cpu->r[1] + 0x00000014u; /* 0298EE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t125); /* 0298EE84 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298EE88 */ return; } // fn_0298EE8C @ 0x298ee8c void Gambit_fn_0298EE8C(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_0298EE8C: ; // 0x298ee8c /* 0298EE8C */ cpu->r[0] = cpu->lr; /* 0298EE90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298EE90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298EE90 */ cpu->r[1] = _t0; /* 0298EE94 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298EE94 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298EE98 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298EE98 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298EE9C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298EE9C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298EEA0 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298EEA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298EEA4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298EEA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298EEA8 */ cpu->r[29] = 0x101D0000u; /* 0298EEAC */ cpu->r[30] = cpu->r[3]; /* 0298EEB0 */ _t6 = cpu->r[29] + 0xFFFFA6B0u; /* 0298EEB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298EEB0 */ cpu->r[29] = _t6; /* 0298EEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EEB8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EEB8 */ _t8 = _t7 & 0x00000001u; /* 0298EEB8 */ if (_t8) goto L_0298EEBC; else goto L_0298EF0C; L_0298EEBC: ; // 0x298eebc /* 0298EEBC */ cpu->r[4] = cpu->r[30]; /* 0298EEC0 */ cpu->r[3] = 0x000001D4u; /* 0298EEC4 */ cpu->r[5] = 0x00000004u; /* 0298EEC8 */ Gambit_fn_02801ADC(cpu); /* 0298EECC */ cpu->r[31] = cpu->r[3]; /* 0298EED0 */ cpu->r[28] = cpu->r[31] + 0x00000004u; /* 0298EED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298EED4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EED4 */ _t10 = _t9 & 0x00000001u; /* 0298EED4 */ if (_t10) goto L_0298EEF4; else goto L_0298EED8; L_0298EED8: ; // 0x298eed8 /* 0298EED8 */ cpu->r[5] = 0x00000003u; /* 0298EEDC */ cpu->r[4] = cpu->r[30]; /* 0298EEE0 */ cpu->r[3] = cpu->r[28]; /* 0298EEE4 */ Gambit_fn_02821D88(cpu); /* 0298EEE8 */ cpu->r[0] = 0x10150000u; /* 0298EEEC */ cpu->r[0] = cpu->r[0] + 0xFFFFFA48u; /* 0298EEF0 */ _t11 = cpu->r[28] + 0x0000000Cu; /* 0298EEF0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); L_0298EEF4: ; // 0x298eef4 /* 0298EEF4 */ cpu->r[12] = 0x101D0000u; /* 0298EEF8 */ cpu->r[3] = cpu->r[31]; /* 0298EEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EEFC */ _t12 = cpu->r[12] + 0xFFFFA6B4u; /* 0298EEFC */ rbrew_write32(cpu->mem, _t12, cpu->r[28]); /* 0298EF00 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EF00 */ _t14 = _t13 & 0x00000001u; /* 0298EF00 */ if (_t14) goto L_0298EF08; else goto L_0298EF04; L_0298EF04: ; // 0x298ef04 /* 0298EF04 */ Gambit_fn_0298EB7C(cpu); L_0298EF08: ; // 0x298ef08 /* 0298EF08 */ _t15 = cpu->r[29] + 0x00000000u; /* 0298EF08 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]); L_0298EF0C: ; // 0x298ef0c /* 0298EF0C */ _t16 = cpu->r[1] + 0x00000008u; /* 0298EF0C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16); /* 0298EF10 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0298EF10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17); /* 0298EF14 */ _t18 = cpu->r[1] + 0x0000001Cu; /* 0298EF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298EF18 */ _t19 = cpu->r[1] + 0x00000010u; /* 0298EF18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0298EF1C */ cpu->lr = cpu->r[0]; /* 0298EF20 */ _t20 = cpu->r[1] + 0x00000014u; /* 0298EF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0298EF24 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298EF28 */ return; } // fn_0298EE90 @ 0x298ee90 void Gambit_fn_0298EE90(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_0298EE90: ; // 0x298ee90 /* 0298EE90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298EE90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298EE90 */ cpu->r[1] = _t0; /* 0298EE94 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298EE94 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298EE98 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298EE98 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298EE9C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0298EE9C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 0298EEA0 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298EEA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298EEA4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298EEA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298EEA8 */ cpu->r[29] = 0x101D0000u; /* 0298EEAC */ cpu->r[30] = cpu->r[3]; /* 0298EEB0 */ _t6 = cpu->r[29] + 0xFFFFA6B0u; /* 0298EEB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298EEB0 */ cpu->r[29] = _t6; /* 0298EEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EEB8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EEB8 */ _t8 = _t7 & 0x00000001u; /* 0298EEB8 */ if (_t8) goto L_0298EEBC; else goto L_0298EF0C; L_0298EEBC: ; // 0x298eebc /* 0298EEBC */ cpu->r[4] = cpu->r[30]; /* 0298EEC0 */ cpu->r[3] = 0x000001D4u; /* 0298EEC4 */ cpu->r[5] = 0x00000004u; /* 0298EEC8 */ Gambit_fn_02801ADC(cpu); /* 0298EECC */ cpu->r[31] = cpu->r[3]; /* 0298EED0 */ cpu->r[28] = cpu->r[31] + 0x00000004u; /* 0298EED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0298EED4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EED4 */ _t10 = _t9 & 0x00000001u; /* 0298EED4 */ if (_t10) goto L_0298EEF4; else goto L_0298EED8; L_0298EED8: ; // 0x298eed8 /* 0298EED8 */ cpu->r[5] = 0x00000003u; /* 0298EEDC */ cpu->r[4] = cpu->r[30]; /* 0298EEE0 */ cpu->r[3] = cpu->r[28]; /* 0298EEE4 */ Gambit_fn_02821D88(cpu); /* 0298EEE8 */ cpu->r[0] = 0x10150000u; /* 0298EEEC */ cpu->r[0] = cpu->r[0] + 0xFFFFFA48u; /* 0298EEF0 */ _t11 = cpu->r[28] + 0x0000000Cu; /* 0298EEF0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]); L_0298EEF4: ; // 0x298eef4 /* 0298EEF4 */ cpu->r[12] = 0x101D0000u; /* 0298EEF8 */ cpu->r[3] = cpu->r[31]; /* 0298EEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EEFC */ _t12 = cpu->r[12] + 0xFFFFA6B4u; /* 0298EEFC */ rbrew_write32(cpu->mem, _t12, cpu->r[28]); /* 0298EF00 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EF00 */ _t14 = _t13 & 0x00000001u; /* 0298EF00 */ if (_t14) goto L_0298EF08; else goto L_0298EF04; L_0298EF04: ; // 0x298ef04 /* 0298EF04 */ Gambit_fn_0298EB7C(cpu); L_0298EF08: ; // 0x298ef08 /* 0298EF08 */ _t15 = cpu->r[29] + 0x00000000u; /* 0298EF08 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]); L_0298EF0C: ; // 0x298ef0c /* 0298EF0C */ _t16 = cpu->r[1] + 0x00000008u; /* 0298EF0C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16); /* 0298EF10 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 0298EF10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17); /* 0298EF14 */ _t18 = cpu->r[1] + 0x0000001Cu; /* 0298EF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298EF18 */ _t19 = cpu->r[1] + 0x00000010u; /* 0298EF18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0298EF1C */ cpu->lr = cpu->r[0]; /* 0298EF20 */ _t20 = cpu->r[1] + 0x00000014u; /* 0298EF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0298EF24 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298EF28 */ return; } // fn_0298EF2C @ 0x298ef2c void Gambit_fn_0298EF2C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0298EF2C: ; // 0x298ef2c /* 0298EF2C */ cpu->r[0] = cpu->lr; /* 0298EF30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298EF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298EF30 */ cpu->r[1] = _t0; /* 0298EF34 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298EF34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298EF38 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298EF38 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298EF3C */ cpu->r[9] = 0x101D0000u; /* 0298EF40 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298EF40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298EF44 */ _t4 = cpu->r[9] + 0xFFFFA6B4u; /* 0298EF44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 0298EF44 */ cpu->r[9] = _t4; /* 0298EF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EF4C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EF4C */ _t6 = _t5 & 0x00000001u; /* 0298EF4C */ if (_t6) goto L_0298EF94; else goto L_0298EF50; L_0298EF50: ; // 0x298ef50 /* 0298EF50 */ cpu->r[30] = 0x00000000u; /* 0298EF54 */ _t7 = cpu->r[9] + 0x00000000u; /* 0298EF54 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 0298EF58 */ _t8 = cpu->r[3] + 0x0000000Cu; /* 0298EF58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 0298EF5C */ _t9 = cpu->r[11] + 0x0000000Cu; /* 0298EF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298EF60 */ cpu->ctr = cpu->r[0]; /* 0298EF64 */ cpu->r[4] = 0x00000002u; /* 0298EF68 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298EF6C */ cpu->r[31] = 0x101D0000u; /* 0298EF70 */ _t10 = cpu->r[31] + 0xFFFFA6B0u; /* 0298EF70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0298EF70 */ cpu->r[31] = _t10; /* 0298EF74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EF78 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EF78 */ _t12 = _t11 & 0x00000001u; /* 0298EF78 */ if (_t12) goto L_0298EF90; else goto L_0298EF7C; L_0298EF7C: ; // 0x298ef7c /* 0298EF7C */ _t13 = cpu->r[3] + 0x00000000u; /* 0298EF7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 0298EF80 */ _t14 = cpu->r[10] + 0x00000014u; /* 0298EF80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 0298EF84 */ cpu->ctr = cpu->r[12]; /* 0298EF88 */ cpu->r[4] = 0x00000003u; /* 0298EF8C */ rbrew_call_indirect(cpu, cpu->ctr); L_0298EF90: ; // 0x298ef90 /* 0298EF90 */ _t15 = cpu->r[31] + 0x00000000u; /* 0298EF90 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); L_0298EF94: ; // 0x298ef94 /* 0298EF94 */ _t16 = cpu->r[1] + 0x00000014u; /* 0298EF94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298EF98 */ _t17 = cpu->r[1] + 0x00000008u; /* 0298EF98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 0298EF9C */ cpu->lr = cpu->r[0]; /* 0298EFA0 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0298EFA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 0298EFA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298EFA8 */ return; } // fn_0298EF30 @ 0x298ef30 void Gambit_fn_0298EF30(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0298EF30: ; // 0x298ef30 /* 0298EF30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298EF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298EF30 */ cpu->r[1] = _t0; /* 0298EF34 */ _t1 = cpu->r[1] + 0x00000008u; /* 0298EF34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298EF38 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298EF38 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298EF3C */ cpu->r[9] = 0x101D0000u; /* 0298EF40 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298EF40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298EF44 */ _t4 = cpu->r[9] + 0xFFFFA6B4u; /* 0298EF44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4); /* 0298EF44 */ cpu->r[9] = _t4; /* 0298EF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EF4C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EF4C */ _t6 = _t5 & 0x00000001u; /* 0298EF4C */ if (_t6) goto L_0298EF94; else goto L_0298EF50; L_0298EF50: ; // 0x298ef50 /* 0298EF50 */ cpu->r[30] = 0x00000000u; /* 0298EF54 */ _t7 = cpu->r[9] + 0x00000000u; /* 0298EF54 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 0298EF58 */ _t8 = cpu->r[3] + 0x0000000Cu; /* 0298EF58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8); /* 0298EF5C */ _t9 = cpu->r[11] + 0x0000000Cu; /* 0298EF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 0298EF60 */ cpu->ctr = cpu->r[0]; /* 0298EF64 */ cpu->r[4] = 0x00000002u; /* 0298EF68 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298EF6C */ cpu->r[31] = 0x101D0000u; /* 0298EF70 */ _t10 = cpu->r[31] + 0xFFFFA6B0u; /* 0298EF70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 0298EF70 */ cpu->r[31] = _t10; /* 0298EF74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298EF78 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EF78 */ _t12 = _t11 & 0x00000001u; /* 0298EF78 */ if (_t12) goto L_0298EF90; else goto L_0298EF7C; L_0298EF7C: ; // 0x298ef7c /* 0298EF7C */ _t13 = cpu->r[3] + 0x00000000u; /* 0298EF7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13); /* 0298EF80 */ _t14 = cpu->r[10] + 0x00000014u; /* 0298EF80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 0298EF84 */ cpu->ctr = cpu->r[12]; /* 0298EF88 */ cpu->r[4] = 0x00000003u; /* 0298EF8C */ rbrew_call_indirect(cpu, cpu->ctr); L_0298EF90: ; // 0x298ef90 /* 0298EF90 */ _t15 = cpu->r[31] + 0x00000000u; /* 0298EF90 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); L_0298EF94: ; // 0x298ef94 /* 0298EF94 */ _t16 = cpu->r[1] + 0x00000014u; /* 0298EF94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298EF98 */ _t17 = cpu->r[1] + 0x00000008u; /* 0298EF98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 0298EF9C */ cpu->lr = cpu->r[0]; /* 0298EFA0 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0298EFA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 0298EFA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298EFA8 */ return; } // fn_0298EFC4 @ 0x298efc4 void Gambit_fn_0298EFC4(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_0298EFC4: ; // 0x298efc4 /* 0298EFC4 */ cpu->r[0] = cpu->lr; /* 0298EFC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298EFC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298EFC8 */ cpu->r[1] = _t0; /* 0298EFCC */ _t1 = cpu->r[1] + 0x00000014u; /* 0298EFCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298EFD0 */ cpu->r[31] = cpu->r[4]; /* 0298EFD4 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298EFD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298EFD8 */ _t3 = cpu->r[1] + 0x00000008u; /* 0298EFD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 0298EFDC */ cpu->r[30] = cpu->r[3]; /* 0298EFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298EFE0 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0298EFE0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0298EFE4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298EFE4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298EFE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EFE8 */ _t7 = _t6 & 0x00000001u; /* 0298EFE8 */ if (_t7) goto L_0298F084; else goto L_0298EFEC; L_0298EFEC: ; // 0x298efec /* 0298EFEC */ _t8 = cpu->r[30] + 0x000001C4u; /* 0298EFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298EFF0 */ _t9 = cpu->r[30] + 0x000001CCu; /* 0298EFF0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9); /* 0298EFF4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298EFF8 */ cpu->r[11] = 0x10150000u; /* 0298EFFC */ cpu->r[29] = cpu->r[28] + cpu->r[12]; /* 0298F000 */ cpu->r[11] = cpu->r[11] + 0xFFFFFA58u; /* 0298F004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 0298F008 */ _t10 = cpu->r[30] + 0x00000000u; /* 0298F008 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]); /* 0298F00C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F00C */ _t12 = _t11 & 0x00000001u; /* 0298F00C */ if (_t12) goto L_0298F03C; else goto L_0298F010; L_0298F010: ; // 0x298f010 /* 0298F010 */ _t13 = cpu->r[28] + 0x00000000u; /* 0298F010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 0298F014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298F018 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F018 */ _t15 = _t14 & 0x00000001u; /* 0298F018 */ if (_t15) goto L_0298F030; else goto L_0298F01C; L_0298F01C: ; // 0x298f01c /* 0298F01C */ _t16 = cpu->r[3] + 0x00000000u; /* 0298F01C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 0298F020 */ _t17 = cpu->r[8] + 0x00000014u; /* 0298F020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0298F024 */ cpu->ctr = cpu->r[0]; /* 0298F028 */ cpu->r[4] = 0x00000003u; /* 0298F02C */ rbrew_call_indirect(cpu, cpu->ctr); L_0298F030: ; // 0x298f030 /* 0298F030 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0298F034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 0298F038 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F038 */ _t19 = _t18 & 0x00000001u; /* 0298F038 */ if (_t19) goto L_0298F03C; else goto L_0298F010; L_0298F03C: ; // 0x298f03c /* 0298F03C */ cpu->r[3] = cpu->r[30] + 0x000001C4u; /* 0298F040 */ Gambit_fn_02802424(cpu); /* 0298F044 */ cpu->r[3] = cpu->r[30] + 0x00000184u; /* 0298F048 */ cpu->r[4] = 0x00000002u; /* 0298F04C */ Gambit_fn_02836FA8(cpu); /* 0298F050 */ cpu->r[3] = cpu->r[30] + 0x00000148u; /* 0298F054 */ cpu->r[4] = 0x00000002u; /* 0298F058 */ Gambit_fn_02836FA8(cpu); /* 0298F05C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu; /* 0298F060 */ cpu->r[4] = 0x00000002u; /* 0298F064 */ Gambit_fn_02836FA8(cpu); /* 0298F068 */ cpu->r[3] = cpu->r[30] + 0x00000044u; /* 0298F06C */ cpu->r[4] = 0x00000002u; /* 0298F070 */ Gambit_fn_02A2D8D0(cpu); /* 0298F074 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F078 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F078 */ _t21 = _t20 & 0x00000001u; /* 0298F078 */ if (_t21) goto L_0298F084; else goto L_0298F07C; L_0298F07C: ; // 0x298f07c /* 0298F07C */ cpu->r[3] = cpu->r[30]; /* 0298F080 */ Gambit_fn_02801BB0(cpu); L_0298F084: ; // 0x298f084 /* 0298F084 */ _t22 = cpu->r[1] + 0x00000008u; /* 0298F084 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 0298F088 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 0298F088 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 0298F08C */ _t24 = cpu->r[1] + 0x0000001Cu; /* 0298F08C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298F090 */ _t25 = cpu->r[1] + 0x00000010u; /* 0298F090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 0298F094 */ cpu->lr = cpu->r[0]; /* 0298F098 */ _t26 = cpu->r[1] + 0x00000014u; /* 0298F098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 0298F09C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F0A0 */ return; } // fn_0298EFC8 @ 0x298efc8 void Gambit_fn_0298EFC8(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_0298EFC8: ; // 0x298efc8 /* 0298EFC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298EFC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298EFC8 */ cpu->r[1] = _t0; /* 0298EFCC */ _t1 = cpu->r[1] + 0x00000014u; /* 0298EFCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298EFD0 */ cpu->r[31] = cpu->r[4]; /* 0298EFD4 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298EFD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298EFD8 */ _t3 = cpu->r[1] + 0x00000008u; /* 0298EFD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 0298EFDC */ cpu->r[30] = cpu->r[3]; /* 0298EFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298EFE0 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0298EFE0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 0298EFE4 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298EFE4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298EFE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298EFE8 */ _t7 = _t6 & 0x00000001u; /* 0298EFE8 */ if (_t7) goto L_0298F084; else goto L_0298EFEC; L_0298EFEC: ; // 0x298efec /* 0298EFEC */ _t8 = cpu->r[30] + 0x000001C4u; /* 0298EFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298EFF0 */ _t9 = cpu->r[30] + 0x000001CCu; /* 0298EFF0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9); /* 0298EFF4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298EFF8 */ cpu->r[11] = 0x10150000u; /* 0298EFFC */ cpu->r[29] = cpu->r[28] + cpu->r[12]; /* 0298F000 */ cpu->r[11] = cpu->r[11] + 0xFFFFFA58u; /* 0298F004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 0298F008 */ _t10 = cpu->r[30] + 0x00000000u; /* 0298F008 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]); /* 0298F00C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F00C */ _t12 = _t11 & 0x00000001u; /* 0298F00C */ if (_t12) goto L_0298F03C; else goto L_0298F010; L_0298F010: ; // 0x298f010 /* 0298F010 */ _t13 = cpu->r[28] + 0x00000000u; /* 0298F010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13); /* 0298F014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298F018 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F018 */ _t15 = _t14 & 0x00000001u; /* 0298F018 */ if (_t15) goto L_0298F030; else goto L_0298F01C; L_0298F01C: ; // 0x298f01c /* 0298F01C */ _t16 = cpu->r[3] + 0x00000000u; /* 0298F01C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16); /* 0298F020 */ _t17 = cpu->r[8] + 0x00000014u; /* 0298F020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0298F024 */ cpu->ctr = cpu->r[0]; /* 0298F028 */ cpu->r[4] = 0x00000003u; /* 0298F02C */ rbrew_call_indirect(cpu, cpu->ctr); L_0298F030: ; // 0x298f030 /* 0298F030 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0298F034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]); /* 0298F038 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F038 */ _t19 = _t18 & 0x00000001u; /* 0298F038 */ if (_t19) goto L_0298F03C; else goto L_0298F010; L_0298F03C: ; // 0x298f03c /* 0298F03C */ cpu->r[3] = cpu->r[30] + 0x000001C4u; /* 0298F040 */ Gambit_fn_02802424(cpu); /* 0298F044 */ cpu->r[3] = cpu->r[30] + 0x00000184u; /* 0298F048 */ cpu->r[4] = 0x00000002u; /* 0298F04C */ Gambit_fn_02836FA8(cpu); /* 0298F050 */ cpu->r[3] = cpu->r[30] + 0x00000148u; /* 0298F054 */ cpu->r[4] = 0x00000002u; /* 0298F058 */ Gambit_fn_02836FA8(cpu); /* 0298F05C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu; /* 0298F060 */ cpu->r[4] = 0x00000002u; /* 0298F064 */ Gambit_fn_02836FA8(cpu); /* 0298F068 */ cpu->r[3] = cpu->r[30] + 0x00000044u; /* 0298F06C */ cpu->r[4] = 0x00000002u; /* 0298F070 */ Gambit_fn_02A2D8D0(cpu); /* 0298F074 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F078 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F078 */ _t21 = _t20 & 0x00000001u; /* 0298F078 */ if (_t21) goto L_0298F084; else goto L_0298F07C; L_0298F07C: ; // 0x298f07c /* 0298F07C */ cpu->r[3] = cpu->r[30]; /* 0298F080 */ Gambit_fn_02801BB0(cpu); L_0298F084: ; // 0x298f084 /* 0298F084 */ _t22 = cpu->r[1] + 0x00000008u; /* 0298F084 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22); /* 0298F088 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 0298F088 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 0298F08C */ _t24 = cpu->r[1] + 0x0000001Cu; /* 0298F08C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 0298F090 */ _t25 = cpu->r[1] + 0x00000010u; /* 0298F090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 0298F094 */ cpu->lr = cpu->r[0]; /* 0298F098 */ _t26 = cpu->r[1] + 0x00000014u; /* 0298F098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 0298F09C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F0A0 */ return; } // fn_0298F0A4 @ 0x298f0a4 void Gambit_fn_0298F0A4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298F0A4: ; // 0x298f0a4 /* 0298F0A4 */ cpu->r[0] = cpu->lr; /* 0298F0A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298F0A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F0A8 */ cpu->r[1] = _t0; /* 0298F0AC */ _t1 = cpu->r[1] + 0x00000008u; /* 0298F0AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298F0B0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298F0B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298F0B4 */ cpu->r[31] = cpu->r[4]; /* 0298F0B8 */ cpu->r[30] = cpu->r[3]; /* 0298F0BC */ cpu->r[5] = cpu->r[31]; /* 0298F0C0 */ cpu->r[4] = 0x00000008u; /* 0298F0C4 */ cpu->r[3] = cpu->r[30] + 0x00000018u; /* 0298F0C8 */ cpu->r[6] = 0x00000004u; /* 0298F0CC */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F0CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298F0D0 */ Gambit_fn_028023CC(cpu); /* 0298F0D4 */ cpu->r[6] = 0x00000004u; /* 0298F0D8 */ cpu->r[4] = 0x00000008u; /* 0298F0DC */ cpu->r[5] = cpu->r[31]; /* 0298F0E0 */ cpu->r[3] = cpu->r[30] + 0x00000024u; /* 0298F0E4 */ Gambit_fn_028023CC(cpu); /* 0298F0E8 */ cpu->r[6] = 0x00000004u; /* 0298F0EC */ cpu->r[4] = 0x00000008u; /* 0298F0F0 */ cpu->r[5] = cpu->r[31]; /* 0298F0F4 */ cpu->r[3] = cpu->r[30] + 0x00000030u; /* 0298F0F8 */ Gambit_fn_028023CC(cpu); /* 0298F0FC */ cpu->r[3] = cpu->r[30] + 0x00000044u; /* 0298F100 */ cpu->r[4] = cpu->r[31]; /* 0298F104 */ Gambit_fn_02A2D8E4(cpu); /* 0298F108 */ cpu->r[12] = 0x101D0000u; /* 0298F10C */ _t4 = cpu->r[12] + 0xFFFFA304u; /* 0298F10C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298F110 */ _t5 = cpu->r[12] + 0x00000030u; /* 0298F110 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5); /* 0298F114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0298F118 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F118 */ _t7 = _t6 & 0x00000001u; /* 0298F118 */ if (_t7) goto L_0298F12C; else goto L_0298F11C; L_0298F11C: ; // 0x298f11c /* 0298F11C */ cpu->r[6] = 0x00000004u; /* 0298F120 */ cpu->r[4] = 0x00000800u; /* 0298F124 */ cpu->r[3] = cpu->r[30] + 0x000001C4u; /* 0298F128 */ Gambit_fn_028023CC(cpu); L_0298F12C: ; // 0x298f12c /* 0298F12C */ cpu->r[5] = 0x00000004u; /* 0298F130 */ cpu->r[4] = 0x00000006u; /* 0298F134 */ cpu->r[3] = cpu->r[30]; /* 0298F138 */ Gambit_fn_02A11408(cpu); /* 0298F13C */ cpu->r[5] = 0x00000004u; /* 0298F140 */ cpu->r[4] = 0x00000003u; /* 0298F144 */ cpu->r[3] = cpu->r[30] + 0x000001C0u; /* 0298F148 */ Gambit_fn_02A11408(cpu); /* 0298F14C */ _t8 = cpu->r[1] + 0x00000014u; /* 0298F14C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298F150 */ _t9 = cpu->r[1] + 0x00000008u; /* 0298F150 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0298F154 */ cpu->lr = cpu->r[0]; /* 0298F158 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298F158 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298F15C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298F160 */ return; } // fn_0298F0A8 @ 0x298f0a8 void Gambit_fn_0298F0A8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_0298F0A8: ; // 0x298f0a8 /* 0298F0A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0298F0A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F0A8 */ cpu->r[1] = _t0; /* 0298F0AC */ _t1 = cpu->r[1] + 0x00000008u; /* 0298F0AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298F0B0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298F0B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0298F0B4 */ cpu->r[31] = cpu->r[4]; /* 0298F0B8 */ cpu->r[30] = cpu->r[3]; /* 0298F0BC */ cpu->r[5] = cpu->r[31]; /* 0298F0C0 */ cpu->r[4] = 0x00000008u; /* 0298F0C4 */ cpu->r[3] = cpu->r[30] + 0x00000018u; /* 0298F0C8 */ cpu->r[6] = 0x00000004u; /* 0298F0CC */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F0CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298F0D0 */ Gambit_fn_028023CC(cpu); /* 0298F0D4 */ cpu->r[6] = 0x00000004u; /* 0298F0D8 */ cpu->r[4] = 0x00000008u; /* 0298F0DC */ cpu->r[5] = cpu->r[31]; /* 0298F0E0 */ cpu->r[3] = cpu->r[30] + 0x00000024u; /* 0298F0E4 */ Gambit_fn_028023CC(cpu); /* 0298F0E8 */ cpu->r[6] = 0x00000004u; /* 0298F0EC */ cpu->r[4] = 0x00000008u; /* 0298F0F0 */ cpu->r[5] = cpu->r[31]; /* 0298F0F4 */ cpu->r[3] = cpu->r[30] + 0x00000030u; /* 0298F0F8 */ Gambit_fn_028023CC(cpu); /* 0298F0FC */ cpu->r[3] = cpu->r[30] + 0x00000044u; /* 0298F100 */ cpu->r[4] = cpu->r[31]; /* 0298F104 */ Gambit_fn_02A2D8E4(cpu); /* 0298F108 */ cpu->r[12] = 0x101D0000u; /* 0298F10C */ _t4 = cpu->r[12] + 0xFFFFA304u; /* 0298F10C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298F110 */ _t5 = cpu->r[12] + 0x00000030u; /* 0298F110 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5); /* 0298F114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u); /* 0298F118 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F118 */ _t7 = _t6 & 0x00000001u; /* 0298F118 */ if (_t7) goto L_0298F12C; else goto L_0298F11C; L_0298F11C: ; // 0x298f11c /* 0298F11C */ cpu->r[6] = 0x00000004u; /* 0298F120 */ cpu->r[4] = 0x00000800u; /* 0298F124 */ cpu->r[3] = cpu->r[30] + 0x000001C4u; /* 0298F128 */ Gambit_fn_028023CC(cpu); L_0298F12C: ; // 0x298f12c /* 0298F12C */ cpu->r[5] = 0x00000004u; /* 0298F130 */ cpu->r[4] = 0x00000006u; /* 0298F134 */ cpu->r[3] = cpu->r[30]; /* 0298F138 */ Gambit_fn_02A11408(cpu); /* 0298F13C */ cpu->r[5] = 0x00000004u; /* 0298F140 */ cpu->r[4] = 0x00000003u; /* 0298F144 */ cpu->r[3] = cpu->r[30] + 0x000001C0u; /* 0298F148 */ Gambit_fn_02A11408(cpu); /* 0298F14C */ _t8 = cpu->r[1] + 0x00000014u; /* 0298F14C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298F150 */ _t9 = cpu->r[1] + 0x00000008u; /* 0298F150 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 0298F154 */ cpu->lr = cpu->r[0]; /* 0298F158 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 0298F158 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10); /* 0298F15C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 0298F160 */ return; } // fn_0298F164 @ 0x298f164 void Gambit_fn_0298F164(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; L_0298F164: ; // 0x298f164 /* 0298F164 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0298F164 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F164 */ cpu->r[1] = _t0; /* 0298F168 */ /* nop */ /* 0298F16C */ cpu->r[0] = cpu->lr; /* 0298F170 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0298F170 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298F174 */ cpu->r[28] = cpu->r[3]; /* 0298F178 */ _t2 = cpu->r[28] + 0x00000018u; /* 0298F178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 0298F17C */ _t3 = cpu->r[28] + 0x00000020u; /* 0298F17C */ cpu->r[30] = rbrew_read32(cpu->mem, _t3); /* 0298F180 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F184 */ cpu->r[0] = cpu->r[30] + cpu->r[12]; /* 0298F188 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 0298F18C */ cpu->r[31] = cpu->r[4]; /* 0298F190 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F190 */ _t5 = _t4 & 0x00000001u; /* 0298F190 */ if (_t5) goto L_0298F1C0; else goto L_0298F194; L_0298F194: ; // 0x298f194 /* 0298F194 */ _t6 = cpu->r[30] + 0x00000000u; /* 0298F194 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298F198 */ cpu->r[4] = cpu->r[31]; /* 0298F19C */ cpu->r[5] = 0x00000001u; /* 0298F1A0 */ Gambit_fn_029A0258(cpu); /* 0298F1A4 */ _t7 = cpu->r[28] + 0x00000018u; /* 0298F1A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 0298F1A8 */ _t8 = cpu->r[28] + 0x00000020u; /* 0298F1A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8); /* 0298F1AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F1B0 */ cpu->r[30] = cpu->r[30] + 0x00000004u; /* 0298F1B4 */ cpu->r[0] = cpu->r[12] + cpu->r[0]; /* 0298F1B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]); /* 0298F1BC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F1BC */ _t10 = _t9 & 0x00000001u; /* 0298F1BC */ if (_t10) goto L_0298F1C0; else goto L_0298F194; L_0298F1C0: ; // 0x298f1c0 /* 0298F1C0 */ cpu->r[31] = cpu->r[28] + 0x00000184u; /* 0298F1C4 */ cpu->r[3] = cpu->r[31]; /* 0298F1C8 */ Gambit_fn_02836FFC(cpu); /* 0298F1CC */ _t11 = cpu->r[28] + 0x000000DCu; /* 0298F1CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 0298F1D0 */ cpu->r[26] = cpu->r[28] + 0x000000D0u; /* 0298F1D4 */ _t12 = cpu->r[28] + 0x000000D4u; /* 0298F1D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12); /* 0298F1D8 */ cpu->r[0] = cpu->r[26] - cpu->r[30]; /* 0298F1DC */ cpu->r[3] = cpu->r[6] - cpu->r[30]; /* 0298F1E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 0298F1E4 */ _t13 = cpu->r[6] + 0x00000004u; /* 0298F1E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0298F1E8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F1E8 */ _t15 = _t14 & 0x00000001u; /* 0298F1E8 */ if (_t15) goto L_0298F20C; else goto L_0298F1EC; L_0298F1EC: ; // 0x298f1ec /* 0298F1EC */ cpu->r[4] = 0x00000001u; /* 0298F1F0 */ Gambit_fn_0297FDF8(cpu); /* 0298F1F4 */ cpu->r[3] = cpu->r[29] - cpu->r[30]; /* 0298F1F8 */ _t16 = cpu->r[29] + 0x00000004u; /* 0298F1F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 0298F1FC */ _t17 = cpu->r[26] + 0x0000000Cu; /* 0298F1FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t17); /* 0298F200 */ cpu->r[0] = cpu->r[26] - cpu->r[5]; /* 0298F204 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]); /* 0298F208 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F208 */ _t19 = _t18 & 0x00000001u; /* 0298F208 */ if (_t19) goto L_0298F20C; else goto L_0298F1EC; L_0298F20C: ; // 0x298f20c /* 0298F20C */ _t20 = cpu->r[28] + 0x000000ECu; /* 0298F20C */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 0298F210 */ cpu->r[25] = cpu->r[28] + 0x000000E0u; /* 0298F214 */ _t21 = cpu->r[28] + 0x000000E4u; /* 0298F214 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21); /* 0298F218 */ cpu->r[0] = cpu->r[25] - cpu->r[10]; /* 0298F21C */ cpu->r[27] = cpu->r[7] - cpu->r[10]; /* 0298F220 */ cpu->r[30] = cpu->r[10]; /* 0298F224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]); /* 0298F228 */ _t22 = cpu->r[7] + 0x00000004u; /* 0298F228 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22); /* 0298F22C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F22C */ _t24 = _t23 & 0x00000001u; /* 0298F22C */ if (_t24) goto L_0298F278; else goto L_0298F230; L_0298F230: ; // 0x298f230 /* 0298F230 */ cpu->r[3] = cpu->r[27] + cpu->r[10]; /* 0298F234 */ Gambit_fn_02801EDC(cpu); /* 0298F238 */ _t25 = cpu->r[25] + 0x00000008u; /* 0298F238 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25); /* 0298F23C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu; /* 0298F240 */ _t26 = cpu->r[25] + 0x00000008u; /* 0298F240 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]); /* 0298F244 */ _t27 = cpu->r[26] + 0x0000000Cu; /* 0298F244 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 0298F248 */ cpu->r[3] = cpu->r[26]; /* 0298F24C */ cpu->r[4] = cpu->r[27] + cpu->r[9]; /* 0298F250 */ Gambit_fn_02801EBC(cpu); /* 0298F254 */ _t28 = cpu->r[26] + 0x00000008u; /* 0298F254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28); /* 0298F258 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0298F25C */ _t29 = cpu->r[26] + 0x00000008u; /* 0298F25C */ rbrew_write32(cpu->mem, _t29, cpu->r[11]); /* 0298F260 */ _t30 = cpu->r[25] + 0x0000000Cu; /* 0298F260 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30); /* 0298F264 */ cpu->r[27] = cpu->r[29] - cpu->r[30]; /* 0298F268 */ cpu->r[0] = cpu->r[25] - cpu->r[10]; /* 0298F26C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]); /* 0298F270 */ _t31 = cpu->r[29] + 0x00000004u; /* 0298F270 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31); /* 0298F274 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F274 */ _t33 = _t32 & 0x00000001u; /* 0298F274 */ if (_t33) goto L_0298F278; else goto L_0298F230; L_0298F278: ; // 0x298f278 /* 0298F278 */ cpu->r[3] = cpu->r[31]; /* 0298F27C */ _t34 = cpu->r[28] + 0x000000F0u; /* 0298F27C */ rbrew_write32(cpu->mem, _t34, cpu->r[26]); /* 0298F280 */ Gambit_fn_02837030(cpu); /* 0298F284 */ /* nop */ /* 0298F288 */ _t35 = cpu->r[1] + 0x0000002Cu; /* 0298F288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35); /* 0298F28C */ cpu->lr = cpu->r[0]; /* 0298F290 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0298F294 */ return; } // fn_0298F298 @ 0x298f298 void Gambit_fn_0298F298(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; L_0298F298: ; // 0x298f298 /* 0298F298 */ _t0 = cpu->r[1] + 0xFFFFFFD0u; /* 0298F298 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F298 */ cpu->r[1] = _t0; /* 0298F29C */ /* nop */ /* 0298F2A0 */ cpu->r[0] = cpu->lr; /* 0298F2A4 */ _t1 = cpu->r[1] + 0x00000020u; /* 0298F2A4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 0298F2A8 */ /* nop */ /* 0298F2AC */ _t2 = cpu->r[1] + 0x00000034u; /* 0298F2AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0298F2B0 */ _t3 = cpu->r[1] + 0x00000028u; /* 0298F2B0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 0298F2B4 */ cpu->r[29] = cpu->r[3]; /* 0298F2B8 */ _t4 = cpu->r[29] + 0x00000014u; /* 0298F2B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4); /* 0298F2BC */ cpu->r[31] = cpu->r[5]; /* 0298F2C0 */ cpu->r[30] = cpu->r[4]; /* 0298F2C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x0000001Fu, 0x0000001Fu); /* 0298F2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F2C8 */ cpu->f[31] = cpu->f[1]; /* 0298F2CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F2CC */ _t6 = _t5 & 0x00000001u; /* 0298F2CC */ if (_t6) goto L_0298F2D8; else goto L_0298F2D0; L_0298F2D0: ; // 0x298f2d0 /* 0298F2D0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x00000016u); /* 0298F2D4 */ _t7 = cpu->r[29] + 0x00000014u; /* 0298F2D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]); L_0298F2D8: ; // 0x298f2d8 /* 0298F2D8 */ cpu->r[27] = cpu->r[29] + 0x0000010Cu; /* 0298F2DC */ cpu->r[3] = cpu->r[27]; /* 0298F2E0 */ Gambit_fn_02836FFC(cpu); /* 0298F2E4 */ _t8 = cpu->r[29] + 0x00000024u; /* 0298F2E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8); /* 0298F2E8 */ _t9 = cpu->r[29] + 0x0000002Cu; /* 0298F2E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9); /* 0298F2EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F2F0 */ cpu->r[8] = cpu->r[28] + cpu->r[0]; /* 0298F2F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]); /* 0298F2F8 */ cpu->r[26] = 0x00000000u; /* 0298F2FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F2FC */ _t11 = _t10 & 0x00000001u; /* 0298F2FC */ if (_t11) goto L_0298F358; else goto L_0298F300; L_0298F300: ; // 0x298f300 /* 0298F300 */ _t12 = cpu->r[29] + 0x0000001Cu; /* 0298F300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 0298F304 */ _t13 = cpu->r[29] + 0x00000018u; /* 0298F304 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13); /* 0298F308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]); /* 0298F30C */ _t14 = cpu->r[28] + 0x00000000u; /* 0298F30C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298F310 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298F310 */ _t16 = _t15 & 0x00000001u; /* 0298F310 */ if (_t16) goto L_0298F314; else goto L_0298F330; L_0298F314: ; // 0x298f314 /* 0298F314 */ _t17 = cpu->r[29] + 0x00000020u; /* 0298F314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 0298F318 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F31C */ _t18 = cpu->r[10] + cpu->r[0]; /* 0298F31C */ rbrew_write32(cpu->mem, _t18, cpu->r[3]); /* 0298F320 */ _t19 = cpu->r[29] + 0x00000018u; /* 0298F320 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 0298F324 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 0298F328 */ _t20 = cpu->r[29] + 0x00000018u; /* 0298F328 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]); /* 0298F32C */ _t21 = cpu->r[28] + 0x00000000u; /* 0298F32C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21); L_0298F330: ; // 0x298f330 /* 0298F330 */ cpu->r[5] = 0x00000000u; /* 0298F334 */ cpu->r[4] = 0x00000001u; /* 0298F338 */ Gambit_fn_029A0258(cpu); /* 0298F33C */ _t22 = cpu->r[29] + 0x00000024u; /* 0298F33C */ cpu->r[6] = rbrew_read32(cpu->mem, _t22); /* 0298F340 */ _t23 = cpu->r[29] + 0x0000002Cu; /* 0298F340 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23); /* 0298F344 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F348 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0298F34C */ cpu->r[7] = cpu->r[8] + cpu->r[5]; /* 0298F350 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]); /* 0298F354 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F354 */ _t25 = _t24 & 0x00000001u; /* 0298F354 */ if (_t25) goto L_0298F358; else goto L_0298F300; L_0298F358: ; // 0x298f358 /* 0298F358 */ cpu->r[3] = cpu->r[27]; /* 0298F35C */ _t26 = cpu->r[29] + 0x00000024u; /* 0298F35C */ rbrew_write32(cpu->mem, _t26, cpu->r[26]); /* 0298F360 */ Gambit_fn_02837030(cpu); /* 0298F364 */ cpu->r[27] = cpu->r[29] + 0x00000148u; /* 0298F368 */ cpu->r[3] = cpu->r[27]; /* 0298F36C */ Gambit_fn_02836FFC(cpu); /* 0298F370 */ _t27 = cpu->r[29] + 0x00000018u; /* 0298F370 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27); /* 0298F374 */ _t28 = cpu->r[29] + 0x00000020u; /* 0298F374 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28); /* 0298F378 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F37C */ cpu->r[11] = cpu->r[28] + cpu->r[9]; /* 0298F380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[11]); /* 0298F384 */ _t29 = cpu->r[29] + 0x00000030u; /* 0298F384 */ rbrew_write32(cpu->mem, _t29, cpu->r[26]); /* 0298F388 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F388 */ _t31 = _t30 & 0x00000001u; /* 0298F388 */ if (_t31) goto L_0298F408; else goto L_0298F38C; L_0298F38C: ; // 0x298f38c /* 0298F38C */ _t32 = cpu->r[28] + 0x00000000u; /* 0298F38C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32); /* 0298F390 */ Gambit_fn_029A01F4(cpu); /* 0298F394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298F398 */ _t33 = cpu->r[28] + 0x00000000u; /* 0298F398 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33); /* 0298F39C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F39C */ _t35 = _t34 & 0x00000001u; /* 0298F39C */ if (_t35) goto L_0298F3E8; else goto L_0298F3A0; L_0298F3A0: ; // 0x298f3a0 /* 0298F3A0 */ _t36 = cpu->r[29] + 0x00000030u; /* 0298F3A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36); /* 0298F3A4 */ _t37 = cpu->r[29] + 0x00000034u; /* 0298F3A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37); /* 0298F3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]); /* 0298F3AC */ _t38 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298F3AC */ _t39 = _t38 & 0x00000001u; /* 0298F3AC */ if (_t39) goto L_0298F3B0; else goto L_0298F3EC; L_0298F3B0: ; // 0x298f3b0 /* 0298F3B0 */ _t40 = cpu->r[29] + 0x00000038u; /* 0298F3B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0298F3B4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F3B8 */ _t41 = cpu->r[5] + cpu->r[0]; /* 0298F3B8 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]); /* 0298F3BC */ _t42 = cpu->r[29] + 0x00000018u; /* 0298F3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 0298F3C0 */ _t43 = cpu->r[29] + 0x00000030u; /* 0298F3C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43); /* 0298F3C4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F3C8 */ _t44 = cpu->r[29] + 0x00000020u; /* 0298F3C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44); /* 0298F3CC */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0298F3D0 */ cpu->r[0] = cpu->r[11] + cpu->r[8]; /* 0298F3D4 */ cpu->r[7] = cpu->r[7] + 0x00000001u; /* 0298F3D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 0298F3DC */ _t45 = cpu->r[29] + 0x00000030u; /* 0298F3DC */ rbrew_write32(cpu->mem, _t45, cpu->r[7]); /* 0298F3E0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F3E0 */ _t47 = _t46 & 0x00000001u; /* 0298F3E0 */ if (_t47) goto L_0298F3E4; else goto L_0298F38C; L_0298F3E4: ; // 0x298f3e4 /* 0298F3E4 */ goto L_0298F408; L_0298F3E8: ; // 0x298f3e8 /* 0298F3E8 */ Gambit_fn_029A01E0(cpu); L_0298F3EC: ; // 0x298f3ec /* 0298F3EC */ _t48 = cpu->r[29] + 0x00000018u; /* 0298F3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 0298F3F0 */ _t49 = cpu->r[29] + 0x00000020u; /* 0298F3F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49); /* 0298F3F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F3F8 */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0298F3FC */ cpu->r[0] = cpu->r[11] + cpu->r[8]; /* 0298F400 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 0298F404 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F404 */ _t51 = _t50 & 0x00000001u; /* 0298F404 */ if (_t51) goto L_0298F408; else goto L_0298F38C; L_0298F408: ; // 0x298f408 /* 0298F408 */ cpu->r[3] = cpu->r[27]; /* 0298F40C */ Gambit_fn_02837030(cpu); /* 0298F410 */ cpu->r[12] = 0x101D0000u; /* 0298F414 */ _t52 = cpu->r[12] + 0xFFFFA9C0u; /* 0298F414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52); /* 0298F418 */ cpu->r[5] = 0x00000B00u; /* 0298F41C */ cpu->r[4] = 0x00000000u; /* 0298F420 */ cpu->r[3] = cpu->r[12] + 0x00006308u; /* 0298F424 */ rbrew_dispatch(cpu, 0x02d0a6f0u); /* 0298F428 */ _t53 = cpu->r[29] + 0x00000030u; /* 0298F428 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53); /* 0298F42C */ _t54 = cpu->r[29] + 0x00000038u; /* 0298F42C */ cpu->r[28] = rbrew_read32(cpu->mem, _t54); /* 0298F430 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F434 */ cpu->r[7] = cpu->r[28] + cpu->r[5]; /* 0298F438 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[7]); /* 0298F43C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F43C */ _t56 = _t55 & 0x00000001u; /* 0298F43C */ if (_t56) goto L_0298F47C; else goto L_0298F440; L_0298F440: ; // 0x298f440 /* 0298F440 */ _t57 = cpu->r[28] + 0x00000000u; /* 0298F440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57); /* 0298F444 */ _t58 = cpu->r[12] + 0x00004FACu; /* 0298F444 */ rbrew_write32(cpu->mem, _t58, cpu->r[30]); /* 0298F448 */ _t59 = cpu->r[28] + 0x00000000u; /* 0298F448 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59); /* 0298F44C */ Gambit_fn_029A00A0(cpu); /* 0298F450 */ cpu->f[1] = cpu->f[31]; /* 0298F454 */ _t60 = cpu->r[28] + 0x00000000u; /* 0298F454 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60); /* 0298F458 */ cpu->r[4] = cpu->r[31]; /* 0298F45C */ Gambit_fn_029A0528(cpu); /* 0298F460 */ _t61 = cpu->r[29] + 0x00000030u; /* 0298F460 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61); /* 0298F464 */ _t62 = cpu->r[29] + 0x00000038u; /* 0298F464 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62); /* 0298F468 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F46C */ cpu->r[28] = cpu->r[28] + 0x00000004u; /* 0298F470 */ cpu->r[0] = cpu->r[11] + cpu->r[8]; /* 0298F474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]); /* 0298F478 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F478 */ _t64 = _t63 & 0x00000001u; /* 0298F478 */ if (_t64) goto L_0298F47C; else goto L_0298F440; L_0298F47C: ; // 0x298f47c /* 0298F47C */ cpu->r[3] = cpu->r[29] + 0x00000044u; /* 0298F480 */ cpu->r[4] = cpu->r[29] + 0x00000030u; /* 0298F484 */ Gambit_fn_02A2DB64(cpu); /* 0298F488 */ /* nop */ /* 0298F48C */ _t65 = cpu->r[1] + 0x00000028u; /* 0298F48C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t65); /* 0298F490 */ _t66 = cpu->r[1] + 0x00000020u; /* 0298F490 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t66); /* 0298F494 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298F494 */ _t68 = _t67 & 0x00000001u; /* 0298F494 */ if (_t68) goto L_0298F498; // else: addr-0 trap, fall-through L_0298F498: ; // 0x298f498 /* 0298F498 */ _t69 = cpu->r[1] + 0x00000034u; /* 0298F498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69); /* 0298F49C */ cpu->lr = cpu->r[0]; /* 0298F4A0 */ cpu->r[1] = cpu->r[1] + 0x00000030u; /* 0298F4A4 */ return; } // fn_0298F4A8 @ 0x298f4a8 void Gambit_fn_0298F4A8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_0298F4A8: ; // 0x298f4a8 /* 0298F4A8 */ cpu->r[0] = cpu->lr; /* 0298F4AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F4AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F4AC */ cpu->r[1] = _t0; /* 0298F4B0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F4B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F4B4 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F4B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F4B8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F4B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F4BC */ cpu->r[30] = cpu->r[3]; /* 0298F4C0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F4C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F4C4 */ _t5 = cpu->r[30] + 0x00000030u; /* 0298F4C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0298F4C8 */ _t6 = cpu->r[30] + 0x00000038u; /* 0298F4C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 0298F4CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F4D0 */ cpu->r[0] = cpu->r[29] + cpu->r[11]; /* 0298F4D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F4D8 */ cpu->r[31] = cpu->r[4]; /* 0298F4DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F4DC */ _t8 = _t7 & 0x00000001u; /* 0298F4DC */ if (_t8) goto L_0298F508; else goto L_0298F4E0; L_0298F4E0: ; // 0x298f4e0 /* 0298F4E0 */ _t9 = cpu->r[29] + 0x00000000u; /* 0298F4E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 0298F4E4 */ cpu->r[4] = cpu->r[31]; /* 0298F4E8 */ Gambit_fn_029A0AC0(cpu); /* 0298F4EC */ _t10 = cpu->r[30] + 0x00000030u; /* 0298F4EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t10); /* 0298F4F0 */ _t11 = cpu->r[30] + 0x00000038u; /* 0298F4F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 0298F4F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F4F8 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F4FC */ cpu->r[0] = cpu->r[10] + cpu->r[0]; /* 0298F500 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F504 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F504 */ _t13 = _t12 & 0x00000001u; /* 0298F504 */ if (_t13) goto L_0298F508; else goto L_0298F4E0; L_0298F508: ; // 0x298f508 /* 0298F508 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0298F508 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14); /* 0298F50C */ _t15 = cpu->r[1] + 0x0000001Cu; /* 0298F50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0298F510 */ _t16 = cpu->r[1] + 0x00000010u; /* 0298F510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 0298F514 */ cpu->lr = cpu->r[0]; /* 0298F518 */ _t17 = cpu->r[1] + 0x00000014u; /* 0298F518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 0298F51C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F520 */ return; } // fn_0298F4AC @ 0x298f4ac void Gambit_fn_0298F4AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17; L_0298F4AC: ; // 0x298f4ac /* 0298F4AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F4AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F4AC */ cpu->r[1] = _t0; /* 0298F4B0 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F4B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F4B4 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F4B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F4B8 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F4B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F4BC */ cpu->r[30] = cpu->r[3]; /* 0298F4C0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F4C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F4C4 */ _t5 = cpu->r[30] + 0x00000030u; /* 0298F4C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 0298F4C8 */ _t6 = cpu->r[30] + 0x00000038u; /* 0298F4C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 0298F4CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F4D0 */ cpu->r[0] = cpu->r[29] + cpu->r[11]; /* 0298F4D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F4D8 */ cpu->r[31] = cpu->r[4]; /* 0298F4DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F4DC */ _t8 = _t7 & 0x00000001u; /* 0298F4DC */ if (_t8) goto L_0298F508; else goto L_0298F4E0; L_0298F4E0: ; // 0x298f4e0 /* 0298F4E0 */ _t9 = cpu->r[29] + 0x00000000u; /* 0298F4E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9); /* 0298F4E4 */ cpu->r[4] = cpu->r[31]; /* 0298F4E8 */ Gambit_fn_029A0AC0(cpu); /* 0298F4EC */ _t10 = cpu->r[30] + 0x00000030u; /* 0298F4EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t10); /* 0298F4F0 */ _t11 = cpu->r[30] + 0x00000038u; /* 0298F4F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 0298F4F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F4F8 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F4FC */ cpu->r[0] = cpu->r[10] + cpu->r[0]; /* 0298F500 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F504 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F504 */ _t13 = _t12 & 0x00000001u; /* 0298F504 */ if (_t13) goto L_0298F508; else goto L_0298F4E0; L_0298F508: ; // 0x298f508 /* 0298F508 */ _t14 = cpu->r[1] + 0x0000000Cu; /* 0298F508 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14); /* 0298F50C */ _t15 = cpu->r[1] + 0x0000001Cu; /* 0298F50C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0298F510 */ _t16 = cpu->r[1] + 0x00000010u; /* 0298F510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16); /* 0298F514 */ cpu->lr = cpu->r[0]; /* 0298F518 */ _t17 = cpu->r[1] + 0x00000014u; /* 0298F518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17); /* 0298F51C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F520 */ return; } // fn_0298F524 @ 0x298f524 void Gambit_fn_0298F524(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_0298F524: ; // 0x298f524 /* 0298F524 */ cpu->r[0] = cpu->lr; /* 0298F528 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F528 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F528 */ cpu->r[1] = _t0; /* 0298F52C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F52C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F530 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F530 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F534 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F534 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F538 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F538 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F53C */ cpu->r[29] = cpu->r[3]; /* 0298F540 */ cpu->r[31] = cpu->r[29] + 0x00000184u; /* 0298F544 */ cpu->r[3] = cpu->r[31]; /* 0298F548 */ cpu->r[30] = cpu->r[4]; /* 0298F54C */ Gambit_fn_02836FFC(cpu); /* 0298F550 */ cpu->r[0] = cpu->r[29] + 0x000000E0u; /* 0298F554 */ cpu->r[3] = cpu->r[31]; /* 0298F558 */ _t5 = cpu->r[29] + 0x000000F0u; /* 0298F558 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298F55C */ Gambit_fn_02837030(cpu); /* 0298F560 */ _t6 = cpu->r[29] + 0x00000014u; /* 0298F560 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 0298F564 */ _t7 = cpu->r[29] + 0x00000030u; /* 0298F564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298F568 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298F56C */ _t8 = cpu->r[29] + 0x00000038u; /* 0298F56C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 0298F570 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F570 */ _t10 = _t9 & 0x00000001u; /* 0298F570 */ if (_t10) goto L_0298F57C; else goto L_0298F574; L_0298F574: ; // 0x298f574 /* 0298F574 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 0298F574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F578 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F578 */ _t12 = _t11 & 0x00000001u; /* 0298F578 */ if (_t12) goto L_0298F57C; else goto L_0298F580; L_0298F57C: ; // 0x298f57c /* 0298F57C */ cpu->r[30] = 0x00000000u; L_0298F580: ; // 0x298f580 /* 0298F580 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F584 */ cpu->r[0] = cpu->r[31] + cpu->r[12]; /* 0298F588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 0298F58C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F58C */ _t14 = _t13 & 0x00000001u; /* 0298F58C */ if (_t14) goto L_0298F5B8; else goto L_0298F590; L_0298F590: ; // 0x298f590 /* 0298F590 */ _t15 = cpu->r[31] + 0x00000000u; /* 0298F590 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 0298F594 */ cpu->r[4] = cpu->r[30]; /* 0298F598 */ Gambit_fn_029A0B18(cpu); /* 0298F59C */ _t16 = cpu->r[29] + 0x00000030u; /* 0298F59C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298F5A0 */ _t17 = cpu->r[29] + 0x00000038u; /* 0298F5A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 0298F5A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F5A8 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 0298F5AC */ cpu->r[0] = cpu->r[11] + cpu->r[12]; /* 0298F5B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 0298F5B4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F5B4 */ _t19 = _t18 & 0x00000001u; /* 0298F5B4 */ if (_t19) goto L_0298F5B8; else goto L_0298F590; L_0298F5B8: ; // 0x298f5b8 /* 0298F5B8 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0298F5B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 0298F5BC */ _t21 = cpu->r[1] + 0x0000001Cu; /* 0298F5BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0298F5C0 */ _t22 = cpu->r[1] + 0x00000010u; /* 0298F5C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 0298F5C4 */ cpu->lr = cpu->r[0]; /* 0298F5C8 */ _t23 = cpu->r[1] + 0x00000014u; /* 0298F5C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 0298F5CC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F5D0 */ return; } // fn_0298F528 @ 0x298f528 void Gambit_fn_0298F528(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_0298F528: ; // 0x298f528 /* 0298F528 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F528 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F528 */ cpu->r[1] = _t0; /* 0298F52C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F52C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F530 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F530 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F534 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F534 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F538 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F538 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F53C */ cpu->r[29] = cpu->r[3]; /* 0298F540 */ cpu->r[31] = cpu->r[29] + 0x00000184u; /* 0298F544 */ cpu->r[3] = cpu->r[31]; /* 0298F548 */ cpu->r[30] = cpu->r[4]; /* 0298F54C */ Gambit_fn_02836FFC(cpu); /* 0298F550 */ cpu->r[0] = cpu->r[29] + 0x000000E0u; /* 0298F554 */ cpu->r[3] = cpu->r[31]; /* 0298F558 */ _t5 = cpu->r[29] + 0x000000F0u; /* 0298F558 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298F55C */ Gambit_fn_02837030(cpu); /* 0298F560 */ _t6 = cpu->r[29] + 0x00000014u; /* 0298F560 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 0298F564 */ _t7 = cpu->r[29] + 0x00000030u; /* 0298F564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298F568 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0298F56C */ _t8 = cpu->r[29] + 0x00000038u; /* 0298F56C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 0298F570 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F570 */ _t10 = _t9 & 0x00000001u; /* 0298F570 */ if (_t10) goto L_0298F57C; else goto L_0298F574; L_0298F574: ; // 0x298f574 /* 0298F574 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 0298F574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F578 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F578 */ _t12 = _t11 & 0x00000001u; /* 0298F578 */ if (_t12) goto L_0298F57C; else goto L_0298F580; L_0298F57C: ; // 0x298f57c /* 0298F57C */ cpu->r[30] = 0x00000000u; L_0298F580: ; // 0x298f580 /* 0298F580 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F584 */ cpu->r[0] = cpu->r[31] + cpu->r[12]; /* 0298F588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 0298F58C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F58C */ _t14 = _t13 & 0x00000001u; /* 0298F58C */ if (_t14) goto L_0298F5B8; else goto L_0298F590; L_0298F590: ; // 0x298f590 /* 0298F590 */ _t15 = cpu->r[31] + 0x00000000u; /* 0298F590 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 0298F594 */ cpu->r[4] = cpu->r[30]; /* 0298F598 */ Gambit_fn_029A0B18(cpu); /* 0298F59C */ _t16 = cpu->r[29] + 0x00000030u; /* 0298F59C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298F5A0 */ _t17 = cpu->r[29] + 0x00000038u; /* 0298F5A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17); /* 0298F5A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F5A8 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 0298F5AC */ cpu->r[0] = cpu->r[11] + cpu->r[12]; /* 0298F5B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 0298F5B4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F5B4 */ _t19 = _t18 & 0x00000001u; /* 0298F5B4 */ if (_t19) goto L_0298F5B8; else goto L_0298F590; L_0298F5B8: ; // 0x298f5b8 /* 0298F5B8 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0298F5B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 0298F5BC */ _t21 = cpu->r[1] + 0x0000001Cu; /* 0298F5BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0298F5C0 */ _t22 = cpu->r[1] + 0x00000010u; /* 0298F5C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 0298F5C4 */ cpu->lr = cpu->r[0]; /* 0298F5C8 */ _t23 = cpu->r[1] + 0x00000014u; /* 0298F5C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 0298F5CC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F5D0 */ return; } // fn_0298F5D4 @ 0x298f5d4 void Gambit_fn_0298F5D4(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_0298F5D4: ; // 0x298f5d4 /* 0298F5D4 */ cpu->r[0] = cpu->lr; /* 0298F5D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F5D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F5D8 */ cpu->r[1] = _t0; /* 0298F5DC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F5DC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F5E0 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F5E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F5E4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F5E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F5E8 */ cpu->r[30] = cpu->r[3]; /* 0298F5EC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F5EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F5F0 */ _t5 = cpu->r[30] + 0x00000014u; /* 0298F5F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0298F5F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F5F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F5F8 */ _t6 = cpu->r[30] + 0x00000030u; /* 0298F5F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298F5FC */ cpu->r[31] = cpu->r[4]; /* 0298F600 */ _t7 = cpu->r[30] + 0x00000038u; /* 0298F600 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298F604 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F604 */ _t9 = _t8 & 0x00000001u; /* 0298F604 */ if (_t9) goto L_0298F610; else goto L_0298F608; L_0298F608: ; // 0x298f608 /* 0298F608 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0298F608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F60C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F60C */ _t11 = _t10 & 0x00000001u; /* 0298F60C */ if (_t11) goto L_0298F610; else goto L_0298F614; L_0298F610: ; // 0x298f610 /* 0298F610 */ cpu->r[31] = 0x00000000u; L_0298F614: ; // 0x298f614 /* 0298F614 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F618 */ cpu->r[0] = cpu->r[29] + cpu->r[12]; /* 0298F61C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F620 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F620 */ _t13 = _t12 & 0x00000001u; /* 0298F620 */ if (_t13) goto L_0298F64C; else goto L_0298F624; L_0298F624: ; // 0x298f624 /* 0298F624 */ _t14 = cpu->r[29] + 0x00000000u; /* 0298F624 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298F628 */ cpu->r[4] = cpu->r[31]; /* 0298F62C */ Gambit_fn_029A0B20(cpu); /* 0298F630 */ _t15 = cpu->r[30] + 0x00000030u; /* 0298F630 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 0298F634 */ _t16 = cpu->r[30] + 0x00000038u; /* 0298F634 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298F638 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F63C */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F640 */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 0298F644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F648 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F648 */ _t18 = _t17 & 0x00000001u; /* 0298F648 */ if (_t18) goto L_0298F64C; else goto L_0298F624; L_0298F64C: ; // 0x298f64c /* 0298F64C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298F64C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298F650 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298F650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298F654 */ _t21 = cpu->r[1] + 0x00000010u; /* 0298F654 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298F658 */ cpu->lr = cpu->r[0]; /* 0298F65C */ _t22 = cpu->r[1] + 0x00000014u; /* 0298F65C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298F660 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F664 */ return; } // fn_0298F5D8 @ 0x298f5d8 void Gambit_fn_0298F5D8(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_0298F5D8: ; // 0x298f5d8 /* 0298F5D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F5D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F5D8 */ cpu->r[1] = _t0; /* 0298F5DC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F5DC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F5E0 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F5E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F5E4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F5E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F5E8 */ cpu->r[30] = cpu->r[3]; /* 0298F5EC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F5EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F5F0 */ _t5 = cpu->r[30] + 0x00000014u; /* 0298F5F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0298F5F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F5F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F5F8 */ _t6 = cpu->r[30] + 0x00000030u; /* 0298F5F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298F5FC */ cpu->r[31] = cpu->r[4]; /* 0298F600 */ _t7 = cpu->r[30] + 0x00000038u; /* 0298F600 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298F604 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F604 */ _t9 = _t8 & 0x00000001u; /* 0298F604 */ if (_t9) goto L_0298F610; else goto L_0298F608; L_0298F608: ; // 0x298f608 /* 0298F608 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0298F608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F60C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F60C */ _t11 = _t10 & 0x00000001u; /* 0298F60C */ if (_t11) goto L_0298F610; else goto L_0298F614; L_0298F610: ; // 0x298f610 /* 0298F610 */ cpu->r[31] = 0x00000000u; L_0298F614: ; // 0x298f614 /* 0298F614 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F618 */ cpu->r[0] = cpu->r[29] + cpu->r[12]; /* 0298F61C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F620 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F620 */ _t13 = _t12 & 0x00000001u; /* 0298F620 */ if (_t13) goto L_0298F64C; else goto L_0298F624; L_0298F624: ; // 0x298f624 /* 0298F624 */ _t14 = cpu->r[29] + 0x00000000u; /* 0298F624 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298F628 */ cpu->r[4] = cpu->r[31]; /* 0298F62C */ Gambit_fn_029A0B20(cpu); /* 0298F630 */ _t15 = cpu->r[30] + 0x00000030u; /* 0298F630 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 0298F634 */ _t16 = cpu->r[30] + 0x00000038u; /* 0298F634 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298F638 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F63C */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F640 */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 0298F644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F648 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F648 */ _t18 = _t17 & 0x00000001u; /* 0298F648 */ if (_t18) goto L_0298F64C; else goto L_0298F624; L_0298F64C: ; // 0x298f64c /* 0298F64C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298F64C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298F650 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298F650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298F654 */ _t21 = cpu->r[1] + 0x00000010u; /* 0298F654 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298F658 */ cpu->lr = cpu->r[0]; /* 0298F65C */ _t22 = cpu->r[1] + 0x00000014u; /* 0298F65C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298F660 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F664 */ return; } // fn_0298F668 @ 0x298f668 void Gambit_fn_0298F668(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_0298F668: ; // 0x298f668 /* 0298F668 */ cpu->r[0] = cpu->lr; /* 0298F66C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F66C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F66C */ cpu->r[1] = _t0; /* 0298F670 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F670 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F674 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F674 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F678 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F678 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F67C */ cpu->r[30] = cpu->r[3]; /* 0298F680 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F680 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F684 */ _t5 = cpu->r[30] + 0x00000014u; /* 0298F684 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0298F688 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F68C */ _t6 = cpu->r[30] + 0x00000030u; /* 0298F68C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298F690 */ cpu->r[31] = cpu->r[4]; /* 0298F694 */ _t7 = cpu->r[30] + 0x00000038u; /* 0298F694 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298F698 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F698 */ _t9 = _t8 & 0x00000001u; /* 0298F698 */ if (_t9) goto L_0298F6A4; else goto L_0298F69C; L_0298F69C: ; // 0x298f69c /* 0298F69C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0298F69C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F6A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F6A0 */ _t11 = _t10 & 0x00000001u; /* 0298F6A0 */ if (_t11) goto L_0298F6A4; else goto L_0298F6A8; L_0298F6A4: ; // 0x298f6a4 /* 0298F6A4 */ cpu->r[31] = 0x00000000u; L_0298F6A8: ; // 0x298f6a8 /* 0298F6A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F6AC */ cpu->r[0] = cpu->r[29] + cpu->r[12]; /* 0298F6B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F6B4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F6B4 */ _t13 = _t12 & 0x00000001u; /* 0298F6B4 */ if (_t13) goto L_0298F6E0; else goto L_0298F6B8; L_0298F6B8: ; // 0x298f6b8 /* 0298F6B8 */ _t14 = cpu->r[29] + 0x00000000u; /* 0298F6B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298F6BC */ cpu->r[4] = cpu->r[31]; /* 0298F6C0 */ Gambit_fn_029A0B68(cpu); /* 0298F6C4 */ _t15 = cpu->r[30] + 0x00000030u; /* 0298F6C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 0298F6C8 */ _t16 = cpu->r[30] + 0x00000038u; /* 0298F6C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298F6CC */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F6D0 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F6D4 */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 0298F6D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F6DC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F6DC */ _t18 = _t17 & 0x00000001u; /* 0298F6DC */ if (_t18) goto L_0298F6E0; else goto L_0298F6B8; L_0298F6E0: ; // 0x298f6e0 /* 0298F6E0 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298F6E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298F6E4 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298F6E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298F6E8 */ _t21 = cpu->r[1] + 0x00000010u; /* 0298F6E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298F6EC */ cpu->lr = cpu->r[0]; /* 0298F6F0 */ _t22 = cpu->r[1] + 0x00000014u; /* 0298F6F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298F6F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F6F8 */ return; } // fn_0298F66C @ 0x298f66c void Gambit_fn_0298F66C(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_0298F66C: ; // 0x298f66c /* 0298F66C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F66C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F66C */ cpu->r[1] = _t0; /* 0298F670 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F670 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F674 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F674 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F678 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F678 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F67C */ cpu->r[30] = cpu->r[3]; /* 0298F680 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F680 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F684 */ _t5 = cpu->r[30] + 0x00000014u; /* 0298F684 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0298F688 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F68C */ _t6 = cpu->r[30] + 0x00000030u; /* 0298F68C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298F690 */ cpu->r[31] = cpu->r[4]; /* 0298F694 */ _t7 = cpu->r[30] + 0x00000038u; /* 0298F694 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298F698 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F698 */ _t9 = _t8 & 0x00000001u; /* 0298F698 */ if (_t9) goto L_0298F6A4; else goto L_0298F69C; L_0298F69C: ; // 0x298f69c /* 0298F69C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 0298F69C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F6A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F6A0 */ _t11 = _t10 & 0x00000001u; /* 0298F6A0 */ if (_t11) goto L_0298F6A4; else goto L_0298F6A8; L_0298F6A4: ; // 0x298f6a4 /* 0298F6A4 */ cpu->r[31] = 0x00000000u; L_0298F6A8: ; // 0x298f6a8 /* 0298F6A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F6AC */ cpu->r[0] = cpu->r[29] + cpu->r[12]; /* 0298F6B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F6B4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F6B4 */ _t13 = _t12 & 0x00000001u; /* 0298F6B4 */ if (_t13) goto L_0298F6E0; else goto L_0298F6B8; L_0298F6B8: ; // 0x298f6b8 /* 0298F6B8 */ _t14 = cpu->r[29] + 0x00000000u; /* 0298F6B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298F6BC */ cpu->r[4] = cpu->r[31]; /* 0298F6C0 */ Gambit_fn_029A0B68(cpu); /* 0298F6C4 */ _t15 = cpu->r[30] + 0x00000030u; /* 0298F6C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 0298F6C8 */ _t16 = cpu->r[30] + 0x00000038u; /* 0298F6C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298F6CC */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F6D0 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F6D4 */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 0298F6D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F6DC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F6DC */ _t18 = _t17 & 0x00000001u; /* 0298F6DC */ if (_t18) goto L_0298F6E0; else goto L_0298F6B8; L_0298F6E0: ; // 0x298f6e0 /* 0298F6E0 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298F6E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298F6E4 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298F6E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298F6E8 */ _t21 = cpu->r[1] + 0x00000010u; /* 0298F6E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298F6EC */ cpu->lr = cpu->r[0]; /* 0298F6F0 */ _t22 = cpu->r[1] + 0x00000014u; /* 0298F6F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298F6F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F6F8 */ return; } // fn_0298F6FC @ 0x298f6fc void Gambit_fn_0298F6FC(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_0298F6FC: ; // 0x298f6fc /* 0298F6FC */ cpu->r[0] = cpu->lr; /* 0298F700 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F700 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F700 */ cpu->r[1] = _t0; /* 0298F704 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F704 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F708 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F708 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F70C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F70C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F710 */ cpu->r[30] = cpu->r[3]; /* 0298F714 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F714 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F718 */ _t5 = cpu->r[30] + 0x00000014u; /* 0298F718 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0298F71C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F720 */ _t6 = cpu->r[30] + 0x00000030u; /* 0298F720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298F724 */ cpu->r[31] = cpu->r[4]; /* 0298F728 */ _t7 = cpu->r[30] + 0x00000038u; /* 0298F728 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298F72C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F72C */ _t9 = _t8 & 0x00000001u; /* 0298F72C */ if (_t9) goto L_0298F738; else goto L_0298F730; L_0298F730: ; // 0x298f730 /* 0298F730 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 0298F730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F734 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F734 */ _t11 = _t10 & 0x00000001u; /* 0298F734 */ if (_t11) goto L_0298F738; else goto L_0298F73C; L_0298F738: ; // 0x298f738 /* 0298F738 */ cpu->r[31] = 0x00000000u; L_0298F73C: ; // 0x298f73c /* 0298F73C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F740 */ cpu->r[0] = cpu->r[29] + cpu->r[12]; /* 0298F744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F748 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F748 */ _t13 = _t12 & 0x00000001u; /* 0298F748 */ if (_t13) goto L_0298F774; else goto L_0298F74C; L_0298F74C: ; // 0x298f74c /* 0298F74C */ _t14 = cpu->r[29] + 0x00000000u; /* 0298F74C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298F750 */ cpu->r[4] = cpu->r[31]; /* 0298F754 */ Gambit_fn_029A0B78(cpu); /* 0298F758 */ _t15 = cpu->r[30] + 0x00000030u; /* 0298F758 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 0298F75C */ _t16 = cpu->r[30] + 0x00000038u; /* 0298F75C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298F760 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F764 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F768 */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 0298F76C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F770 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F770 */ _t18 = _t17 & 0x00000001u; /* 0298F770 */ if (_t18) goto L_0298F774; else goto L_0298F74C; L_0298F774: ; // 0x298f774 /* 0298F774 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298F774 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298F778 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298F778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298F77C */ _t21 = cpu->r[1] + 0x00000010u; /* 0298F77C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298F780 */ cpu->lr = cpu->r[0]; /* 0298F784 */ _t22 = cpu->r[1] + 0x00000014u; /* 0298F784 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298F788 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F78C */ return; } // fn_0298F700 @ 0x298f700 void Gambit_fn_0298F700(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_0298F700: ; // 0x298f700 /* 0298F700 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F700 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F700 */ cpu->r[1] = _t0; /* 0298F704 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F704 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F708 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F708 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F70C */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F70C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F710 */ cpu->r[30] = cpu->r[3]; /* 0298F714 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F714 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F718 */ _t5 = cpu->r[30] + 0x00000014u; /* 0298F718 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0298F71C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F720 */ _t6 = cpu->r[30] + 0x00000030u; /* 0298F720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298F724 */ cpu->r[31] = cpu->r[4]; /* 0298F728 */ _t7 = cpu->r[30] + 0x00000038u; /* 0298F728 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298F72C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F72C */ _t9 = _t8 & 0x00000001u; /* 0298F72C */ if (_t9) goto L_0298F738; else goto L_0298F730; L_0298F730: ; // 0x298f730 /* 0298F730 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 0298F730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F734 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F734 */ _t11 = _t10 & 0x00000001u; /* 0298F734 */ if (_t11) goto L_0298F738; else goto L_0298F73C; L_0298F738: ; // 0x298f738 /* 0298F738 */ cpu->r[31] = 0x00000000u; L_0298F73C: ; // 0x298f73c /* 0298F73C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F740 */ cpu->r[0] = cpu->r[29] + cpu->r[12]; /* 0298F744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F748 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F748 */ _t13 = _t12 & 0x00000001u; /* 0298F748 */ if (_t13) goto L_0298F774; else goto L_0298F74C; L_0298F74C: ; // 0x298f74c /* 0298F74C */ _t14 = cpu->r[29] + 0x00000000u; /* 0298F74C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298F750 */ cpu->r[4] = cpu->r[31]; /* 0298F754 */ Gambit_fn_029A0B78(cpu); /* 0298F758 */ _t15 = cpu->r[30] + 0x00000030u; /* 0298F758 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 0298F75C */ _t16 = cpu->r[30] + 0x00000038u; /* 0298F75C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298F760 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F764 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F768 */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 0298F76C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F770 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F770 */ _t18 = _t17 & 0x00000001u; /* 0298F770 */ if (_t18) goto L_0298F774; else goto L_0298F74C; L_0298F774: ; // 0x298f774 /* 0298F774 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298F774 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298F778 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298F778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298F77C */ _t21 = cpu->r[1] + 0x00000010u; /* 0298F77C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298F780 */ cpu->lr = cpu->r[0]; /* 0298F784 */ _t22 = cpu->r[1] + 0x00000014u; /* 0298F784 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298F788 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F78C */ return; } // fn_0298F790 @ 0x298f790 void Gambit_fn_0298F790(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_0298F790: ; // 0x298f790 /* 0298F790 */ cpu->r[0] = cpu->lr; /* 0298F794 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F794 */ cpu->r[1] = _t0; /* 0298F798 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F798 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F79C */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F79C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F7A0 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F7A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F7A4 */ cpu->r[30] = cpu->r[3]; /* 0298F7A8 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F7A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F7AC */ _t5 = cpu->r[30] + 0x00000014u; /* 0298F7AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0298F7B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F7B4 */ _t6 = cpu->r[30] + 0x00000030u; /* 0298F7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298F7B8 */ cpu->r[31] = cpu->r[4]; /* 0298F7BC */ _t7 = cpu->r[30] + 0x00000038u; /* 0298F7BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298F7C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F7C0 */ _t9 = _t8 & 0x00000001u; /* 0298F7C0 */ if (_t9) goto L_0298F7CC; else goto L_0298F7C4; L_0298F7C4: ; // 0x298f7c4 /* 0298F7C4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 0298F7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F7C8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F7C8 */ _t11 = _t10 & 0x00000001u; /* 0298F7C8 */ if (_t11) goto L_0298F7CC; else goto L_0298F7D0; L_0298F7CC: ; // 0x298f7cc /* 0298F7CC */ cpu->r[31] = 0x00000000u; L_0298F7D0: ; // 0x298f7d0 /* 0298F7D0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F7D4 */ cpu->r[0] = cpu->r[29] + cpu->r[12]; /* 0298F7D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F7DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F7DC */ _t13 = _t12 & 0x00000001u; /* 0298F7DC */ if (_t13) goto L_0298F808; else goto L_0298F7E0; L_0298F7E0: ; // 0x298f7e0 /* 0298F7E0 */ _t14 = cpu->r[29] + 0x00000000u; /* 0298F7E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298F7E4 */ cpu->r[4] = cpu->r[31]; /* 0298F7E8 */ Gambit_fn_029A0B88(cpu); /* 0298F7EC */ _t15 = cpu->r[30] + 0x00000030u; /* 0298F7EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 0298F7F0 */ _t16 = cpu->r[30] + 0x00000038u; /* 0298F7F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298F7F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F7F8 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F7FC */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 0298F800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F804 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F804 */ _t18 = _t17 & 0x00000001u; /* 0298F804 */ if (_t18) goto L_0298F808; else goto L_0298F7E0; L_0298F808: ; // 0x298f808 /* 0298F808 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298F808 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298F80C */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298F80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298F810 */ _t21 = cpu->r[1] + 0x00000010u; /* 0298F810 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298F814 */ cpu->lr = cpu->r[0]; /* 0298F818 */ _t22 = cpu->r[1] + 0x00000014u; /* 0298F818 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298F81C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F820 */ return; } // fn_0298F794 @ 0x298f794 void Gambit_fn_0298F794(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_0298F794: ; // 0x298f794 /* 0298F794 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F794 */ cpu->r[1] = _t0; /* 0298F798 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F798 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F79C */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F79C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F7A0 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F7A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F7A4 */ cpu->r[30] = cpu->r[3]; /* 0298F7A8 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F7A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F7AC */ _t5 = cpu->r[30] + 0x00000014u; /* 0298F7AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0298F7B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F7B4 */ _t6 = cpu->r[30] + 0x00000030u; /* 0298F7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298F7B8 */ cpu->r[31] = cpu->r[4]; /* 0298F7BC */ _t7 = cpu->r[30] + 0x00000038u; /* 0298F7BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298F7C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F7C0 */ _t9 = _t8 & 0x00000001u; /* 0298F7C0 */ if (_t9) goto L_0298F7CC; else goto L_0298F7C4; L_0298F7C4: ; // 0x298f7c4 /* 0298F7C4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 0298F7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F7C8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F7C8 */ _t11 = _t10 & 0x00000001u; /* 0298F7C8 */ if (_t11) goto L_0298F7CC; else goto L_0298F7D0; L_0298F7CC: ; // 0x298f7cc /* 0298F7CC */ cpu->r[31] = 0x00000000u; L_0298F7D0: ; // 0x298f7d0 /* 0298F7D0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F7D4 */ cpu->r[0] = cpu->r[29] + cpu->r[12]; /* 0298F7D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F7DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F7DC */ _t13 = _t12 & 0x00000001u; /* 0298F7DC */ if (_t13) goto L_0298F808; else goto L_0298F7E0; L_0298F7E0: ; // 0x298f7e0 /* 0298F7E0 */ _t14 = cpu->r[29] + 0x00000000u; /* 0298F7E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298F7E4 */ cpu->r[4] = cpu->r[31]; /* 0298F7E8 */ Gambit_fn_029A0B88(cpu); /* 0298F7EC */ _t15 = cpu->r[30] + 0x00000030u; /* 0298F7EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 0298F7F0 */ _t16 = cpu->r[30] + 0x00000038u; /* 0298F7F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298F7F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F7F8 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F7FC */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 0298F800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F804 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F804 */ _t18 = _t17 & 0x00000001u; /* 0298F804 */ if (_t18) goto L_0298F808; else goto L_0298F7E0; L_0298F808: ; // 0x298f808 /* 0298F808 */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298F808 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298F80C */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298F80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298F810 */ _t21 = cpu->r[1] + 0x00000010u; /* 0298F810 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298F814 */ cpu->lr = cpu->r[0]; /* 0298F818 */ _t22 = cpu->r[1] + 0x00000014u; /* 0298F818 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298F81C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F820 */ return; } // fn_0298F824 @ 0x298f824 void Gambit_fn_0298F824(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_0298F824: ; // 0x298f824 /* 0298F824 */ cpu->r[0] = cpu->lr; /* 0298F828 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F828 */ cpu->r[1] = _t0; /* 0298F82C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F82C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F830 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F830 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F834 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F834 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F838 */ cpu->r[30] = cpu->r[3]; /* 0298F83C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F83C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F840 */ _t5 = cpu->r[30] + 0x00000014u; /* 0298F840 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0298F844 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F848 */ _t6 = cpu->r[30] + 0x00000030u; /* 0298F848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298F84C */ cpu->r[31] = cpu->r[4]; /* 0298F850 */ _t7 = cpu->r[30] + 0x00000038u; /* 0298F850 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298F854 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F854 */ _t9 = _t8 & 0x00000001u; /* 0298F854 */ if (_t9) goto L_0298F860; else goto L_0298F858; L_0298F858: ; // 0x298f858 /* 0298F858 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Au, 0x0000001Fu, 0x0000001Fu); /* 0298F858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F85C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F85C */ _t11 = _t10 & 0x00000001u; /* 0298F85C */ if (_t11) goto L_0298F860; else goto L_0298F864; L_0298F860: ; // 0x298f860 /* 0298F860 */ cpu->r[31] = 0x00000000u; L_0298F864: ; // 0x298f864 /* 0298F864 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F868 */ cpu->r[0] = cpu->r[29] + cpu->r[12]; /* 0298F86C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F870 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F870 */ _t13 = _t12 & 0x00000001u; /* 0298F870 */ if (_t13) goto L_0298F89C; else goto L_0298F874; L_0298F874: ; // 0x298f874 /* 0298F874 */ _t14 = cpu->r[29] + 0x00000000u; /* 0298F874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298F878 */ cpu->r[4] = cpu->r[31]; /* 0298F87C */ Gambit_fn_029A0BF0(cpu); /* 0298F880 */ _t15 = cpu->r[30] + 0x00000030u; /* 0298F880 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 0298F884 */ _t16 = cpu->r[30] + 0x00000038u; /* 0298F884 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298F888 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F88C */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F890 */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 0298F894 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F898 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F898 */ _t18 = _t17 & 0x00000001u; /* 0298F898 */ if (_t18) goto L_0298F89C; else goto L_0298F874; L_0298F89C: ; // 0x298f89c /* 0298F89C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298F89C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298F8A0 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298F8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298F8A4 */ _t21 = cpu->r[1] + 0x00000010u; /* 0298F8A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298F8A8 */ cpu->lr = cpu->r[0]; /* 0298F8AC */ _t22 = cpu->r[1] + 0x00000014u; /* 0298F8AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298F8B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F8B4 */ return; } // fn_0298F828 @ 0x298f828 void Gambit_fn_0298F828(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_0298F828: ; // 0x298f828 /* 0298F828 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F828 */ cpu->r[1] = _t0; /* 0298F82C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F82C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F830 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298F830 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298F834 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298F834 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298F838 */ cpu->r[30] = cpu->r[3]; /* 0298F83C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0298F83C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 0298F840 */ _t5 = cpu->r[30] + 0x00000014u; /* 0298F840 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 0298F844 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0298F844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298F848 */ _t6 = cpu->r[30] + 0x00000030u; /* 0298F848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 0298F84C */ cpu->r[31] = cpu->r[4]; /* 0298F850 */ _t7 = cpu->r[30] + 0x00000038u; /* 0298F850 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7); /* 0298F854 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F854 */ _t9 = _t8 & 0x00000001u; /* 0298F854 */ if (_t9) goto L_0298F860; else goto L_0298F858; L_0298F858: ; // 0x298f858 /* 0298F858 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Au, 0x0000001Fu, 0x0000001Fu); /* 0298F858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298F85C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F85C */ _t11 = _t10 & 0x00000001u; /* 0298F85C */ if (_t11) goto L_0298F860; else goto L_0298F864; L_0298F860: ; // 0x298f860 /* 0298F860 */ cpu->r[31] = 0x00000000u; L_0298F864: ; // 0x298f864 /* 0298F864 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F868 */ cpu->r[0] = cpu->r[29] + cpu->r[12]; /* 0298F86C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F870 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F870 */ _t13 = _t12 & 0x00000001u; /* 0298F870 */ if (_t13) goto L_0298F89C; else goto L_0298F874; L_0298F874: ; // 0x298f874 /* 0298F874 */ _t14 = cpu->r[29] + 0x00000000u; /* 0298F874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298F878 */ cpu->r[4] = cpu->r[31]; /* 0298F87C */ Gambit_fn_029A0BF0(cpu); /* 0298F880 */ _t15 = cpu->r[30] + 0x00000030u; /* 0298F880 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15); /* 0298F884 */ _t16 = cpu->r[30] + 0x00000038u; /* 0298F884 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16); /* 0298F888 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298F88C */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 0298F890 */ cpu->r[0] = cpu->r[12] + cpu->r[8]; /* 0298F894 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]); /* 0298F898 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F898 */ _t18 = _t17 & 0x00000001u; /* 0298F898 */ if (_t18) goto L_0298F89C; else goto L_0298F874; L_0298F89C: ; // 0x298f89c /* 0298F89C */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298F89C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 0298F8A0 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 0298F8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 0298F8A4 */ _t21 = cpu->r[1] + 0x00000010u; /* 0298F8A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21); /* 0298F8A8 */ cpu->lr = cpu->r[0]; /* 0298F8AC */ _t22 = cpu->r[1] + 0x00000014u; /* 0298F8AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22); /* 0298F8B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F8B4 */ return; } // fn_0298F8B8 @ 0x298f8b8 void Gambit_fn_0298F8B8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_0298F8B8: ; // 0x298f8b8 /* 0298F8B8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 0298F8B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F8B8 */ cpu->r[1] = _t0; /* 0298F8BC */ /* nop */ /* 0298F8C0 */ cpu->r[0] = cpu->lr; /* 0298F8C4 */ _t1 = cpu->r[1] + 0x0000002Cu; /* 0298F8C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298F8C8 */ cpu->r[26] = cpu->r[3]; /* 0298F8CC */ _t2 = cpu->r[26] + 0x00000100u; /* 0298F8CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t2); /* 0298F8D0 */ cpu->r[25] = cpu->r[26] + 0x000000F4u; /* 0298F8D4 */ _t3 = cpu->r[26] + 0x000000F8u; /* 0298F8D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3); /* 0298F8D8 */ cpu->r[31] = cpu->r[25] - cpu->r[30]; /* 0298F8DC */ cpu->r[28] = cpu->r[8] - cpu->r[30]; /* 0298F8E0 */ cpu->r[27] = 0x00000000u; /* 0298F8E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 0298F8E8 */ _t4 = cpu->r[8] + 0x00000004u; /* 0298F8E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4); /* 0298F8EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F8EC */ _t6 = _t5 & 0x00000001u; /* 0298F8EC */ if (_t6) goto L_0298F934; else goto L_0298F8F0; L_0298F8F0: ; // 0x298f8f0 /* 0298F8F0 */ _t7 = cpu->r[26] + 0x00000104u; /* 0298F8F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298F8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]); /* 0298F8F8 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298F8F8 */ _t9 = _t8 & 0x00000001u; /* 0298F8F8 */ if (_t9) goto L_0298F8FC; else goto L_0298F934; L_0298F8FC: ; // 0x298f8fc /* 0298F8FC */ cpu->r[4] = 0x00000001u; /* 0298F900 */ cpu->r[3] = cpu->r[28]; /* 0298F904 */ Gambit_fn_0296F73C(cpu); /* 0298F908 */ _t10 = cpu->r[25] + 0x0000000Cu; /* 0298F908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298F90C */ cpu->r[3] = cpu->r[28] + cpu->r[0]; /* 0298F910 */ Gambit_fn_02801EDC(cpu); /* 0298F914 */ _t11 = cpu->r[25] + 0x00000008u; /* 0298F914 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 0298F918 */ cpu->r[27] = cpu->r[27] + 0x00000001u; /* 0298F91C */ cpu->r[28] = cpu->r[29] - cpu->r[30]; /* 0298F920 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 0298F924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]); /* 0298F928 */ _t12 = cpu->r[25] + 0x00000008u; /* 0298F928 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]); /* 0298F92C */ _t13 = cpu->r[29] + 0x00000004u; /* 0298F92C */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0298F930 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F930 */ _t15 = _t14 & 0x00000001u; /* 0298F930 */ if (_t15) goto L_0298F934; else goto L_0298F8F0; L_0298F934: ; // 0x298f934 /* 0298F934 */ /* nop */ /* 0298F938 */ _t16 = cpu->r[1] + 0x0000002Cu; /* 0298F938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298F93C */ cpu->lr = cpu->r[0]; /* 0298F940 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 0298F944 */ return; } // fn_0298F948 @ 0x298f948 void Gambit_fn_0298F948(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0298F948: ; // 0x298f948 /* 0298F948 */ cpu->r[0] = cpu->lr; /* 0298F94C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F94C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F94C */ cpu->r[1] = _t0; /* 0298F950 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F950 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F954 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298F954 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298F958 */ _t3 = cpu->r[1] + 0x00000010u; /* 0298F958 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0298F95C */ _t4 = cpu->r[1] + 0x00000014u; /* 0298F95C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298F960 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298F960 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298F964 */ cpu->r[29] = cpu->r[4]; /* 0298F968 */ _t6 = cpu->r[3] + 0x000000CCu; /* 0298F968 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0298F96C */ cpu->r[28] = cpu->r[3] + 0x000000C0u; /* 0298F970 */ _t7 = cpu->r[3] + 0x000000C4u; /* 0298F970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298F974 */ cpu->r[8] = cpu->r[28] - cpu->r[31]; /* 0298F978 */ cpu->r[30] = cpu->r[0] - cpu->r[31]; /* 0298F97C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]); /* 0298F980 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F980 */ _t9 = _t8 & 0x00000001u; /* 0298F980 */ if (_t9) goto L_0298F9B0; else goto L_0298F984; L_0298F984: ; // 0x298f984 /* 0298F984 */ cpu->r[4] = 0x00000000u; /* 0298F988 */ cpu->r[5] = cpu->r[29]; /* 0298F98C */ cpu->r[3] = cpu->r[30]; /* 0298F990 */ Gambit_fn_02982428(cpu); /* 0298F994 */ _t10 = cpu->r[28] + 0x0000000Cu; /* 0298F994 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 0298F998 */ cpu->r[9] = cpu->r[30] + cpu->r[31]; /* 0298F99C */ _t11 = cpu->r[9] + 0x00000004u; /* 0298F99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0298F9A0 */ cpu->r[10] = cpu->r[28] - cpu->r[11]; /* 0298F9A4 */ cpu->r[30] = cpu->r[0] - cpu->r[31]; /* 0298F9A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]); /* 0298F9AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F9AC */ _t13 = _t12 & 0x00000001u; /* 0298F9AC */ if (_t13) goto L_0298F9B0; else goto L_0298F984; L_0298F9B0: ; // 0x298f9b0 /* 0298F9B0 */ _t14 = cpu->r[1] + 0x00000008u; /* 0298F9B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14); /* 0298F9B4 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298F9B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15); /* 0298F9B8 */ _t16 = cpu->r[1] + 0x0000001Cu; /* 0298F9B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298F9BC */ _t17 = cpu->r[1] + 0x00000010u; /* 0298F9BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 0298F9C0 */ cpu->lr = cpu->r[0]; /* 0298F9C4 */ _t18 = cpu->r[1] + 0x00000014u; /* 0298F9C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 0298F9C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F9CC */ return; } // fn_0298F94C @ 0x298f94c void Gambit_fn_0298F94C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0298F94C: ; // 0x298f94c /* 0298F94C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F94C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F94C */ cpu->r[1] = _t0; /* 0298F950 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F950 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F954 */ _t2 = cpu->r[1] + 0x00000008u; /* 0298F954 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298F958 */ _t3 = cpu->r[1] + 0x00000010u; /* 0298F958 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0298F95C */ _t4 = cpu->r[1] + 0x00000014u; /* 0298F95C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298F960 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298F960 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298F964 */ cpu->r[29] = cpu->r[4]; /* 0298F968 */ _t6 = cpu->r[3] + 0x000000CCu; /* 0298F968 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0298F96C */ cpu->r[28] = cpu->r[3] + 0x000000C0u; /* 0298F970 */ _t7 = cpu->r[3] + 0x000000C4u; /* 0298F970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298F974 */ cpu->r[8] = cpu->r[28] - cpu->r[31]; /* 0298F978 */ cpu->r[30] = cpu->r[0] - cpu->r[31]; /* 0298F97C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]); /* 0298F980 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F980 */ _t9 = _t8 & 0x00000001u; /* 0298F980 */ if (_t9) goto L_0298F9B0; else goto L_0298F984; L_0298F984: ; // 0x298f984 /* 0298F984 */ cpu->r[4] = 0x00000000u; /* 0298F988 */ cpu->r[5] = cpu->r[29]; /* 0298F98C */ cpu->r[3] = cpu->r[30]; /* 0298F990 */ Gambit_fn_02982428(cpu); /* 0298F994 */ _t10 = cpu->r[28] + 0x0000000Cu; /* 0298F994 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 0298F998 */ cpu->r[9] = cpu->r[30] + cpu->r[31]; /* 0298F99C */ _t11 = cpu->r[9] + 0x00000004u; /* 0298F99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0298F9A0 */ cpu->r[10] = cpu->r[28] - cpu->r[11]; /* 0298F9A4 */ cpu->r[30] = cpu->r[0] - cpu->r[31]; /* 0298F9A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]); /* 0298F9AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298F9AC */ _t13 = _t12 & 0x00000001u; /* 0298F9AC */ if (_t13) goto L_0298F9B0; else goto L_0298F984; L_0298F9B0: ; // 0x298f9b0 /* 0298F9B0 */ _t14 = cpu->r[1] + 0x00000008u; /* 0298F9B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14); /* 0298F9B4 */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298F9B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15); /* 0298F9B8 */ _t16 = cpu->r[1] + 0x0000001Cu; /* 0298F9B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298F9BC */ _t17 = cpu->r[1] + 0x00000010u; /* 0298F9BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 0298F9C0 */ cpu->lr = cpu->r[0]; /* 0298F9C4 */ _t18 = cpu->r[1] + 0x00000014u; /* 0298F9C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 0298F9C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298F9CC */ return; } // fn_0298F9D0 @ 0x298f9d0 void Gambit_fn_0298F9D0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0298F9D0: ; // 0x298f9d0 /* 0298F9D0 */ cpu->r[0] = cpu->lr; /* 0298F9D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F9D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F9D4 */ cpu->r[1] = _t0; /* 0298F9D8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F9D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F9DC */ _t2 = cpu->r[1] + 0x00000008u; /* 0298F9DC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298F9E0 */ _t3 = cpu->r[1] + 0x00000010u; /* 0298F9E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0298F9E4 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298F9E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298F9E8 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298F9E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298F9EC */ cpu->r[29] = cpu->r[4]; /* 0298F9F0 */ _t6 = cpu->r[3] + 0x000000CCu; /* 0298F9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0298F9F4 */ cpu->r[28] = cpu->r[3] + 0x000000C0u; /* 0298F9F8 */ _t7 = cpu->r[3] + 0x000000C4u; /* 0298F9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298F9FC */ cpu->r[8] = cpu->r[28] - cpu->r[31]; /* 0298FA00 */ cpu->r[30] = cpu->r[0] - cpu->r[31]; /* 0298FA04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]); /* 0298FA08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FA08 */ _t9 = _t8 & 0x00000001u; /* 0298FA08 */ if (_t9) goto L_0298FA38; else goto L_0298FA0C; L_0298FA0C: ; // 0x298fa0c /* 0298FA0C */ cpu->r[5] = 0x00000000u; /* 0298FA10 */ cpu->r[4] = cpu->r[29]; /* 0298FA14 */ cpu->r[3] = cpu->r[30]; /* 0298FA18 */ Gambit_fn_02982428(cpu); /* 0298FA1C */ _t10 = cpu->r[28] + 0x0000000Cu; /* 0298FA1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 0298FA20 */ cpu->r[9] = cpu->r[30] + cpu->r[31]; /* 0298FA24 */ _t11 = cpu->r[9] + 0x00000004u; /* 0298FA24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0298FA28 */ cpu->r[10] = cpu->r[28] - cpu->r[11]; /* 0298FA2C */ cpu->r[30] = cpu->r[0] - cpu->r[31]; /* 0298FA30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]); /* 0298FA34 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FA34 */ _t13 = _t12 & 0x00000001u; /* 0298FA34 */ if (_t13) goto L_0298FA38; else goto L_0298FA0C; L_0298FA38: ; // 0x298fa38 /* 0298FA38 */ _t14 = cpu->r[1] + 0x00000008u; /* 0298FA38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14); /* 0298FA3C */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298FA3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15); /* 0298FA40 */ _t16 = cpu->r[1] + 0x0000001Cu; /* 0298FA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298FA44 */ _t17 = cpu->r[1] + 0x00000010u; /* 0298FA44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 0298FA48 */ cpu->lr = cpu->r[0]; /* 0298FA4C */ _t18 = cpu->r[1] + 0x00000014u; /* 0298FA4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 0298FA50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298FA54 */ return; } // fn_0298F9D4 @ 0x298f9d4 void Gambit_fn_0298F9D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_0298F9D4: ; // 0x298f9d4 /* 0298F9D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298F9D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298F9D4 */ cpu->r[1] = _t0; /* 0298F9D8 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298F9D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298F9DC */ _t2 = cpu->r[1] + 0x00000008u; /* 0298F9DC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 0298F9E0 */ _t3 = cpu->r[1] + 0x00000010u; /* 0298F9E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 0298F9E4 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298F9E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298F9E8 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298F9E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298F9EC */ cpu->r[29] = cpu->r[4]; /* 0298F9F0 */ _t6 = cpu->r[3] + 0x000000CCu; /* 0298F9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6); /* 0298F9F4 */ cpu->r[28] = cpu->r[3] + 0x000000C0u; /* 0298F9F8 */ _t7 = cpu->r[3] + 0x000000C4u; /* 0298F9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 0298F9FC */ cpu->r[8] = cpu->r[28] - cpu->r[31]; /* 0298FA00 */ cpu->r[30] = cpu->r[0] - cpu->r[31]; /* 0298FA04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]); /* 0298FA08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FA08 */ _t9 = _t8 & 0x00000001u; /* 0298FA08 */ if (_t9) goto L_0298FA38; else goto L_0298FA0C; L_0298FA0C: ; // 0x298fa0c /* 0298FA0C */ cpu->r[5] = 0x00000000u; /* 0298FA10 */ cpu->r[4] = cpu->r[29]; /* 0298FA14 */ cpu->r[3] = cpu->r[30]; /* 0298FA18 */ Gambit_fn_02982428(cpu); /* 0298FA1C */ _t10 = cpu->r[28] + 0x0000000Cu; /* 0298FA1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 0298FA20 */ cpu->r[9] = cpu->r[30] + cpu->r[31]; /* 0298FA24 */ _t11 = cpu->r[9] + 0x00000004u; /* 0298FA24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 0298FA28 */ cpu->r[10] = cpu->r[28] - cpu->r[11]; /* 0298FA2C */ cpu->r[30] = cpu->r[0] - cpu->r[31]; /* 0298FA30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]); /* 0298FA34 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FA34 */ _t13 = _t12 & 0x00000001u; /* 0298FA34 */ if (_t13) goto L_0298FA38; else goto L_0298FA0C; L_0298FA38: ; // 0x298fa38 /* 0298FA38 */ _t14 = cpu->r[1] + 0x00000008u; /* 0298FA38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14); /* 0298FA3C */ _t15 = cpu->r[1] + 0x0000000Cu; /* 0298FA3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15); /* 0298FA40 */ _t16 = cpu->r[1] + 0x0000001Cu; /* 0298FA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16); /* 0298FA44 */ _t17 = cpu->r[1] + 0x00000010u; /* 0298FA44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17); /* 0298FA48 */ cpu->lr = cpu->r[0]; /* 0298FA4C */ _t18 = cpu->r[1] + 0x00000014u; /* 0298FA4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 0298FA50 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298FA54 */ return; } // fn_0298FA58 @ 0x298fa58 void Gambit_fn_0298FA58(CPUState* cpu) { uint32_t _t0, _t1, _t2; L_0298FA58: ; // 0x298fa58 /* 0298FA58 */ cpu->r[12] = cpu->r[3] + 0x00000108u; /* 0298FA5C */ _t0 = cpu->r[0] + cpu->r[12]; /* 0298FA5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 0298FA60 */ /* nop */ /* 0298FA64 */ cpu->r[0] = cpu->r[11] + 0x00000001u; /* 0298FA68 */ /* nop */ /* 0298FA6C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FA6C */ _t2 = _t1 & 0x00000001u; /* 0298FA6C */ if (_t2) goto L_0298FA70; else goto L_0298FA58; L_0298FA70: ; // 0x298fa70 /* 0298FA70 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000015u, 0x0000001Fu); /* 0298FA74 */ return; } // fn_0298FA78 @ 0x298fa78 void Gambit_fn_0298FA78(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_0298FA78: ; // 0x298fa78 /* 0298FA78 */ cpu->r[0] = cpu->lr; /* 0298FA7C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298FA7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298FA7C */ cpu->r[1] = _t0; /* 0298FA80 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298FA80 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298FA84 */ cpu->r[30] = cpu->r[3]; /* 0298FA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298FA88 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298FA88 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0298FA8C */ _t3 = cpu->r[1] + 0x00000008u; /* 0298FA8C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 0298FA90 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298FA90 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298FA94 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298FA94 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298FA98 */ cpu->r[29] = cpu->r[4]; /* 0298FA9C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FA9C */ _t7 = _t6 & 0x00000001u; /* 0298FA9C */ if (_t7) goto L_0298FAA0; else goto L_0298FAB0; L_0298FAA0: ; // 0x298faa0 /* 0298FAA0 */ cpu->r[3] = 0x0000000Cu; /* 0298FAA4 */ Gambit_fn_02801A78(cpu); /* 0298FAA8 */ cpu->r[30] = cpu->r[3]; /* 0298FAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298FAAC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FAAC */ _t9 = _t8 & 0x00000001u; /* 0298FAAC */ if (_t9) goto L_0298FB74; else goto L_0298FAB0; L_0298FAB0: ; // 0x298fab0 /* 0298FAB0 */ cpu->r[6] = 0x10150000u; /* 0298FAB4 */ cpu->r[31] = 0x00000000u; /* 0298FAB8 */ cpu->r[6] = cpu->r[6] + 0xFFFFFA70u; /* 0298FABC */ _t10 = cpu->r[30] + 0x00000004u; /* 0298FABC */ rbrew_write32(cpu->mem, _t10, cpu->r[31]); /* 0298FAC0 */ _t11 = cpu->r[30] + 0x00000000u; /* 0298FAC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]); /* 0298FAC4 */ _t12 = cpu->r[29] + 0x00000004u; /* 0298FAC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 0298FAC8 */ _t13 = cpu->r[8] + 0x00000014u; /* 0298FAC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 0298FACC */ cpu->ctr = cpu->r[9]; /* 0298FAD0 */ cpu->r[3] = cpu->r[29]; /* 0298FAD4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298FAD8 */ _t14 = cpu->r[29] + 0x00000004u; /* 0298FAD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 0298FADC */ _t15 = cpu->r[10] + 0x00000014u; /* 0298FADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0298FAE0 */ cpu->ctr = cpu->r[0]; /* 0298FAE4 */ _t16 = cpu->r[29] + 0x00000000u; /* 0298FAE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16); /* 0298FAE8 */ cpu->r[3] = cpu->r[29]; /* 0298FAEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298FAF0 */ cpu->r[12] = 0x10110000u; /* 0298FAF4 */ _t17 = cpu->r[29] + 0x00000000u; /* 0298FAF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 0298FAF8 */ _t18 = cpu->r[12] + 0x00007399u; /* 0298FAF8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t18); /* 0298FAFC */ _t19 = cpu->r[10] + 0x00000000u; /* 0298FAFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t19); /* 0298FB00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 0298FB04 */ cpu->r[0] = 0x00080000u; /* 0298FB08 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FB08 */ _t21 = _t20 & 0x00000001u; /* 0298FB08 */ if (_t21) goto L_0298FB54; else goto L_0298FB0C; L_0298FB0C: ; // 0x298fb0c /* 0298FB0C */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 0298FB10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]); /* 0298FB14 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0298FB18 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298FB18 */ _t23 = _t22 & 0x00000001u; /* 0298FB18 */ if (_t23) goto L_0298FB30; else goto L_0298FB1C; L_0298FB1C: ; // 0x298fb1c /* 0298FB1C */ _t24 = cpu->r[10] + 0x00000000u; /* 0298FB1C */ cpu->r[11] = rbrew_read8(cpu->mem, _t24); /* 0298FB20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]); /* 0298FB24 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FB24 */ _t26 = _t25 & 0x00000001u; /* 0298FB24 */ if (_t26) goto L_0298FB28; else goto L_0298FB0C; L_0298FB28: ; // 0x298fb28 /* 0298FB28 */ cpu->r[4] = cpu->r[31]; /* 0298FB2C */ goto L_0298FB58; L_0298FB30: ; // 0x298fb30 /* 0298FB30 */ cpu->r[3] = cpu->r[28]; /* 0298FB34 */ cpu->r[4] = 0x00000000u; /* 0298FB38 */ Gambit_fn_02C8A604(cpu); /* 0298FB3C */ _t27 = cpu->r[30] + 0x00000008u; /* 0298FB3C */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[3]); /* 0298FB40 */ cpu->r[5] = 0x00000001u; /* 0298FB44 */ cpu->r[4] = 0x00000003u; /* 0298FB48 */ cpu->r[3] = cpu->r[30]; /* 0298FB4C */ Gambit_fn_02A11408(cpu); /* 0298FB50 */ goto L_0298FB74; L_0298FB54: ; // 0x298fb54 /* 0298FB54 */ cpu->r[4] = cpu->r[31]; L_0298FB58: ; // 0x298fb58 /* 0298FB58 */ cpu->r[3] = cpu->r[28]; /* 0298FB5C */ Gambit_fn_02C8A604(cpu); /* 0298FB60 */ _t28 = cpu->r[30] + 0x00000008u; /* 0298FB60 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[3]); /* 0298FB64 */ cpu->r[5] = 0x00000001u; /* 0298FB68 */ cpu->r[4] = 0x00000003u; /* 0298FB6C */ cpu->r[3] = cpu->r[30]; /* 0298FB70 */ Gambit_fn_02A11408(cpu); L_0298FB74: ; // 0x298fb74 /* 0298FB74 */ _t29 = cpu->r[1] + 0x00000008u; /* 0298FB74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t29); /* 0298FB78 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 0298FB78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30); /* 0298FB7C */ _t31 = cpu->r[1] + 0x0000001Cu; /* 0298FB7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0298FB80 */ cpu->r[3] = cpu->r[30]; /* 0298FB84 */ _t32 = cpu->r[1] + 0x00000010u; /* 0298FB84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32); /* 0298FB88 */ cpu->lr = cpu->r[0]; /* 0298FB8C */ _t33 = cpu->r[1] + 0x00000014u; /* 0298FB8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33); /* 0298FB90 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298FB94 */ return; } // fn_0298FA7C @ 0x298fa7c void Gambit_fn_0298FA7C(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_0298FA7C: ; // 0x298fa7c /* 0298FA7C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298FA7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298FA7C */ cpu->r[1] = _t0; /* 0298FA80 */ _t1 = cpu->r[1] + 0x00000010u; /* 0298FA80 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0298FA84 */ cpu->r[30] = cpu->r[3]; /* 0298FA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298FA88 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298FA88 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0298FA8C */ _t3 = cpu->r[1] + 0x00000008u; /* 0298FA8C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 0298FA90 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298FA90 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298FA94 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298FA94 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298FA98 */ cpu->r[29] = cpu->r[4]; /* 0298FA9C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FA9C */ _t7 = _t6 & 0x00000001u; /* 0298FA9C */ if (_t7) goto L_0298FAA0; else goto L_0298FAB0; L_0298FAA0: ; // 0x298faa0 /* 0298FAA0 */ cpu->r[3] = 0x0000000Cu; /* 0298FAA4 */ Gambit_fn_02801A78(cpu); /* 0298FAA8 */ cpu->r[30] = cpu->r[3]; /* 0298FAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 0298FAAC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FAAC */ _t9 = _t8 & 0x00000001u; /* 0298FAAC */ if (_t9) goto L_0298FB74; else goto L_0298FAB0; L_0298FAB0: ; // 0x298fab0 /* 0298FAB0 */ cpu->r[6] = 0x10150000u; /* 0298FAB4 */ cpu->r[31] = 0x00000000u; /* 0298FAB8 */ cpu->r[6] = cpu->r[6] + 0xFFFFFA70u; /* 0298FABC */ _t10 = cpu->r[30] + 0x00000004u; /* 0298FABC */ rbrew_write32(cpu->mem, _t10, cpu->r[31]); /* 0298FAC0 */ _t11 = cpu->r[30] + 0x00000000u; /* 0298FAC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]); /* 0298FAC4 */ _t12 = cpu->r[29] + 0x00000004u; /* 0298FAC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 0298FAC8 */ _t13 = cpu->r[8] + 0x00000014u; /* 0298FAC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13); /* 0298FACC */ cpu->ctr = cpu->r[9]; /* 0298FAD0 */ cpu->r[3] = cpu->r[29]; /* 0298FAD4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298FAD8 */ _t14 = cpu->r[29] + 0x00000004u; /* 0298FAD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 0298FADC */ _t15 = cpu->r[10] + 0x00000014u; /* 0298FADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 0298FAE0 */ cpu->ctr = cpu->r[0]; /* 0298FAE4 */ _t16 = cpu->r[29] + 0x00000000u; /* 0298FAE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16); /* 0298FAE8 */ cpu->r[3] = cpu->r[29]; /* 0298FAEC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298FAF0 */ cpu->r[12] = 0x10110000u; /* 0298FAF4 */ _t17 = cpu->r[29] + 0x00000000u; /* 0298FAF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17); /* 0298FAF8 */ _t18 = cpu->r[12] + 0x00007399u; /* 0298FAF8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t18); /* 0298FAFC */ _t19 = cpu->r[10] + 0x00000000u; /* 0298FAFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t19); /* 0298FB00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]); /* 0298FB04 */ cpu->r[0] = 0x00080000u; /* 0298FB08 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FB08 */ _t21 = _t20 & 0x00000001u; /* 0298FB08 */ if (_t21) goto L_0298FB54; else goto L_0298FB0C; L_0298FB0C: ; // 0x298fb0c /* 0298FB0C */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 0298FB10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]); /* 0298FB14 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0298FB18 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u); /* 0298FB18 */ _t23 = _t22 & 0x00000001u; /* 0298FB18 */ if (_t23) goto L_0298FB30; else goto L_0298FB1C; L_0298FB1C: ; // 0x298fb1c /* 0298FB1C */ _t24 = cpu->r[10] + 0x00000000u; /* 0298FB1C */ cpu->r[11] = rbrew_read8(cpu->mem, _t24); /* 0298FB20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]); /* 0298FB24 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FB24 */ _t26 = _t25 & 0x00000001u; /* 0298FB24 */ if (_t26) goto L_0298FB28; else goto L_0298FB0C; L_0298FB28: ; // 0x298fb28 /* 0298FB28 */ cpu->r[4] = cpu->r[31]; /* 0298FB2C */ goto L_0298FB58; L_0298FB30: ; // 0x298fb30 /* 0298FB30 */ cpu->r[3] = cpu->r[28]; /* 0298FB34 */ cpu->r[4] = 0x00000000u; /* 0298FB38 */ Gambit_fn_02C8A604(cpu); /* 0298FB3C */ _t27 = cpu->r[30] + 0x00000008u; /* 0298FB3C */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[3]); /* 0298FB40 */ cpu->r[5] = 0x00000001u; /* 0298FB44 */ cpu->r[4] = 0x00000003u; /* 0298FB48 */ cpu->r[3] = cpu->r[30]; /* 0298FB4C */ Gambit_fn_02A11408(cpu); /* 0298FB50 */ goto L_0298FB74; L_0298FB54: ; // 0x298fb54 /* 0298FB54 */ cpu->r[4] = cpu->r[31]; L_0298FB58: ; // 0x298fb58 /* 0298FB58 */ cpu->r[3] = cpu->r[28]; /* 0298FB5C */ Gambit_fn_02C8A604(cpu); /* 0298FB60 */ _t28 = cpu->r[30] + 0x00000008u; /* 0298FB60 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[3]); /* 0298FB64 */ cpu->r[5] = 0x00000001u; /* 0298FB68 */ cpu->r[4] = 0x00000003u; /* 0298FB6C */ cpu->r[3] = cpu->r[30]; /* 0298FB70 */ Gambit_fn_02A11408(cpu); L_0298FB74: ; // 0x298fb74 /* 0298FB74 */ _t29 = cpu->r[1] + 0x00000008u; /* 0298FB74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t29); /* 0298FB78 */ _t30 = cpu->r[1] + 0x0000000Cu; /* 0298FB78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30); /* 0298FB7C */ _t31 = cpu->r[1] + 0x0000001Cu; /* 0298FB7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31); /* 0298FB80 */ cpu->r[3] = cpu->r[30]; /* 0298FB84 */ _t32 = cpu->r[1] + 0x00000010u; /* 0298FB84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32); /* 0298FB88 */ cpu->lr = cpu->r[0]; /* 0298FB8C */ _t33 = cpu->r[1] + 0x00000014u; /* 0298FB8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33); /* 0298FB90 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298FB94 */ return; } // fn_0298FB98 @ 0x298fb98 void Gambit_fn_0298FB98(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_0298FB98: ; // 0x298fb98 /* 0298FB98 */ cpu->r[0] = cpu->lr; /* 0298FB9C */ _t0 = cpu->r[1] + 0xFFFFFBD8u; /* 0298FB9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298FB9C */ cpu->r[1] = _t0; /* 0298FBA0 */ cpu->r[12] = 0x101F0000u; /* 0298FBA4 */ _t1 = cpu->r[1] + 0x00000424u; /* 0298FBA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298FBA8 */ cpu->r[8] = 0x10150000u; /* 0298FBAC */ _t2 = cpu->r[1] + 0x00000420u; /* 0298FBAC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298FBB0 */ cpu->r[8] = cpu->r[8] + 0xFFFFF97Cu; /* 0298FBB4 */ cpu->r[31] = cpu->r[4]; /* 0298FBB8 */ _t3 = cpu->r[1] + 0x0000042Cu; /* 0298FBB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298FBBC */ _t4 = cpu->r[12] + 0x000066E8u; /* 0298FBBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298FBC0 */ cpu->r[30] = cpu->r[3]; /* 0298FBC4 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0298FBC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 0298FBC8 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298FBCC */ _t6 = cpu->r[1] + 0x00000008u; /* 0298FBCC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 0298FBD0 */ Gambit_fn_029903E8(cpu); /* 0298FBD4 */ _t7 = cpu->r[1] + 0x00000008u; /* 0298FBD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 0298FBD8 */ cpu->r[4] = 0x10150000u; /* 0298FBDC */ _t8 = cpu->r[30] + 0x00000004u; /* 0298FBDC */ cpu->r[6] = rbrew_read32(cpu->mem, _t8); /* 0298FBE0 */ cpu->r[4] = cpu->r[4] + 0xFFFFFA40u; /* 0298FBE4 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0298FBE8 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u); /* 0298FBE8 */ _t10 = _t9 & 0x00000001u; /* 0298FBE8 */ if (_t10) goto L_0298FBEC; // else: addr-0 trap, fall-through L_0298FBEC: ; // 0x298fbec /* 0298FBEC */ Gambit_fn_0299041C(cpu); /* 0298FBF0 */ _t11 = cpu->r[31] + 0x000000DCu; /* 0298FBF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 0298FBF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298FBF8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FBF8 */ _t13 = _t12 & 0x00000001u; /* 0298FBF8 */ if (_t13) goto L_0298FC04; else goto L_0298FBFC; L_0298FBFC: ; // 0x298fbfc /* 0298FBFC */ _t14 = cpu->r[30] + 0x00000008u; /* 0298FBFC */ cpu->r[0] = rbrew_read16(cpu->mem, _t14); /* 0298FC00 */ _t15 = cpu->r[11] + 0x00000034u; /* 0298FC00 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]); L_0298FC04: ; // 0x298fc04 /* 0298FC04 */ _t16 = cpu->r[30] + 0x00000004u; /* 0298FC04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0298FC08 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0298FC0C */ _t17 = cpu->r[30] + 0x00000004u; /* 0298FC0C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]); /* 0298FC10 */ _t18 = cpu->r[1] + 0x0000042Cu; /* 0298FC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298FC14 */ _t19 = cpu->r[1] + 0x00000420u; /* 0298FC14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0298FC18 */ cpu->lr = cpu->r[0]; /* 0298FC1C */ _t20 = cpu->r[1] + 0x00000424u; /* 0298FC1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0298FC20 */ cpu->r[1] = cpu->r[1] + 0x00000428u; /* 0298FC24 */ return; } // fn_0298FB9C @ 0x298fb9c void Gambit_fn_0298FB9C(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_0298FB9C: ; // 0x298fb9c /* 0298FB9C */ _t0 = cpu->r[1] + 0xFFFFFBD8u; /* 0298FB9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298FB9C */ cpu->r[1] = _t0; /* 0298FBA0 */ cpu->r[12] = 0x101F0000u; /* 0298FBA4 */ _t1 = cpu->r[1] + 0x00000424u; /* 0298FBA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 0298FBA8 */ cpu->r[8] = 0x10150000u; /* 0298FBAC */ _t2 = cpu->r[1] + 0x00000420u; /* 0298FBAC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298FBB0 */ cpu->r[8] = cpu->r[8] + 0xFFFFF97Cu; /* 0298FBB4 */ cpu->r[31] = cpu->r[4]; /* 0298FBB8 */ _t3 = cpu->r[1] + 0x0000042Cu; /* 0298FBB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 0298FBBC */ _t4 = cpu->r[12] + 0x000066E8u; /* 0298FBBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 0298FBC0 */ cpu->r[30] = cpu->r[3]; /* 0298FBC4 */ _t5 = cpu->r[1] + 0x0000000Cu; /* 0298FBC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]); /* 0298FBC8 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298FBCC */ _t6 = cpu->r[1] + 0x00000008u; /* 0298FBCC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]); /* 0298FBD0 */ Gambit_fn_029903E8(cpu); /* 0298FBD4 */ _t7 = cpu->r[1] + 0x00000008u; /* 0298FBD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7); /* 0298FBD8 */ cpu->r[4] = 0x10150000u; /* 0298FBDC */ _t8 = cpu->r[30] + 0x00000004u; /* 0298FBDC */ cpu->r[6] = rbrew_read32(cpu->mem, _t8); /* 0298FBE0 */ cpu->r[4] = cpu->r[4] + 0xFFFFFA40u; /* 0298FBE4 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0298FBE8 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u); /* 0298FBE8 */ _t10 = _t9 & 0x00000001u; /* 0298FBE8 */ if (_t10) goto L_0298FBEC; // else: addr-0 trap, fall-through L_0298FBEC: ; // 0x298fbec /* 0298FBEC */ Gambit_fn_0299041C(cpu); /* 0298FBF0 */ _t11 = cpu->r[31] + 0x000000DCu; /* 0298FBF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 0298FBF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0298FBF8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FBF8 */ _t13 = _t12 & 0x00000001u; /* 0298FBF8 */ if (_t13) goto L_0298FC04; else goto L_0298FBFC; L_0298FBFC: ; // 0x298fbfc /* 0298FBFC */ _t14 = cpu->r[30] + 0x00000008u; /* 0298FBFC */ cpu->r[0] = rbrew_read16(cpu->mem, _t14); /* 0298FC00 */ _t15 = cpu->r[11] + 0x00000034u; /* 0298FC00 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]); L_0298FC04: ; // 0x298fc04 /* 0298FC04 */ _t16 = cpu->r[30] + 0x00000004u; /* 0298FC04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 0298FC08 */ cpu->r[10] = cpu->r[10] + 0x00000001u; /* 0298FC0C */ _t17 = cpu->r[30] + 0x00000004u; /* 0298FC0C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]); /* 0298FC10 */ _t18 = cpu->r[1] + 0x0000042Cu; /* 0298FC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298FC14 */ _t19 = cpu->r[1] + 0x00000420u; /* 0298FC14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 0298FC18 */ cpu->lr = cpu->r[0]; /* 0298FC1C */ _t20 = cpu->r[1] + 0x00000424u; /* 0298FC1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 0298FC20 */ cpu->r[1] = cpu->r[1] + 0x00000428u; /* 0298FC24 */ return; } // fn_0298FC28 @ 0x298fc28 void Gambit_fn_0298FC28(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; L_0298FC28: ; // 0x298fc28 /* 0298FC28 */ _t0 = cpu->r[1] + 0xFFFFFF98u; /* 0298FC28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298FC28 */ cpu->r[1] = _t0; /* 0298FC2C */ /* nop */ /* 0298FC30 */ cpu->r[27] = cpu->r[3]; /* 0298FC34 */ cpu->r[26] = cpu->r[27] + 0x00000184u; /* 0298FC38 */ cpu->r[3] = cpu->r[26]; /* 0298FC3C */ cpu->r[0] = cpu->lr; /* 0298FC40 */ cpu->r[28] = cpu->r[4]; /* 0298FC44 */ cpu->r[31] = cpu->r[5]; /* 0298FC48 */ cpu->r[25] = cpu->r[6]; /* 0298FC4C */ _t1 = cpu->r[1] + 0x0000006Cu; /* 0298FC4C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 0298FC50 */ Gambit_fn_02836FFC(cpu); /* 0298FC54 */ cpu->r[12] = 0x101D0000u; /* 0298FC58 */ _t2 = cpu->r[12] + 0xFFFFA304u; /* 0298FC58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2); /* 0298FC5C */ _t3 = cpu->r[12] + 0x00000030u; /* 0298FC5C */ cpu->r[23] = rbrew_read32(cpu->mem, _t3); /* 0298FC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 0298FC64 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FC64 */ _t5 = _t4 & 0x00000001u; /* 0298FC64 */ if (_t5) goto L_0298FC70; else goto L_0298FC68; L_0298FC68: ; // 0x298fc68 /* 0298FC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0298FC6C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FC6C */ _t7 = _t6 & 0x00000001u; /* 0298FC6C */ if (_t7) goto L_0298FC70; else goto L_0298FC7C; L_0298FC70: ; // 0x298fc70 /* 0298FC70 */ cpu->r[22] = cpu->r[27] + 0x000000C0u; /* 0298FC74 */ _t8 = cpu->r[27] + 0x000000CCu; /* 0298FC74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 0298FC78 */ goto L_0298FECC; L_0298FC7C: ; // 0x298fc7c /* 0298FC7C */ _t9 = cpu->r[27] + 0x000001C4u; /* 0298FC7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9); /* 0298FC80 */ cpu->r[24] = 0x101F0000u; /* 0298FC84 */ _t10 = cpu->r[27] + 0x000001CCu; /* 0298FC84 */ cpu->r[19] = rbrew_read32(cpu->mem, _t10); /* 0298FC88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298FC8C */ cpu->r[29] = 0x10110000u; /* 0298FC90 */ cpu->r[20] = cpu->r[19] + cpu->r[0]; /* 0298FC94 */ cpu->r[30] = 0x10150000u; /* 0298FC98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[20]); /* 0298FC9C */ cpu->r[30] = cpu->r[30] + 0xFFFFF97Cu; /* 0298FCA0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FCA0 */ _t12 = _t11 & 0x00000001u; /* 0298FCA0 */ if (_t12) goto L_0298FD5C; else goto L_0298FCA4; L_0298FCA4: ; // 0x298fca4 /* 0298FCA4 */ _t13 = cpu->r[29] + 0x00007399u; /* 0298FCA4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t13); /* 0298FCA8 */ cpu->r[21] = 0x00080000u; /* 0298FCAC */ _t14 = cpu->r[24] + 0x000066E8u; /* 0298FCAC */ cpu->r[22] = rbrew_read32(cpu->mem, _t14); /* 0298FCB0 */ cpu->r[21] = cpu->r[21] + 0x00000001u; L_0298FCB4: ; // 0x298fcb4 /* 0298FCB4 */ _t15 = cpu->r[1] + 0x00000018u; /* 0298FCB4 */ rbrew_write32(cpu->mem, _t15, cpu->r[22]); /* 0298FCB8 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298FCBC */ _t16 = cpu->r[1] + 0x0000001Cu; /* 0298FCBC */ rbrew_write32(cpu->mem, _t16, cpu->r[30]); /* 0298FCC0 */ _t17 = cpu->r[1] + 0x00000008u; /* 0298FCC0 */ rbrew_write32(cpu->mem, _t17, cpu->r[22]); /* 0298FCC4 */ _t18 = cpu->r[1] + 0x0000000Cu; /* 0298FCC4 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]); /* 0298FCC8 */ Gambit_fn_029903E8(cpu); /* 0298FCCC */ _t19 = cpu->r[1] + 0x0000000Cu; /* 0298FCCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t19); /* 0298FCD0 */ _t20 = cpu->r[6] + 0x00000014u; /* 0298FCD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20); /* 0298FCD4 */ cpu->ctr = cpu->r[7]; /* 0298FCD8 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0298FCDC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298FCE0 */ _t21 = cpu->r[1] + 0x0000001Cu; /* 0298FCE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21); /* 0298FCE4 */ _t22 = cpu->r[8] + 0x00000014u; /* 0298FCE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22); /* 0298FCE8 */ cpu->ctr = cpu->r[9]; /* 0298FCEC */ _t23 = cpu->r[1] + 0x00000008u; /* 0298FCEC */ cpu->r[18] = rbrew_read32(cpu->mem, _t23); /* 0298FCF0 */ cpu->r[3] = cpu->r[1] + 0x00000018u; /* 0298FCF4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298FCF8 */ _t24 = cpu->r[1] + 0x00000018u; /* 0298FCF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24); /* 0298FCFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[4]); /* 0298FD00 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FD00 */ _t26 = _t25 & 0x00000001u; /* 0298FD00 */ if (_t26) goto L_0298FD34; else goto L_0298FD04; L_0298FD04: ; // 0x298fd04 /* 0298FD04 */ _t27 = cpu->r[1] + 0x00000008u; /* 0298FD04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27); /* 0298FD08 */ cpu->ctr = cpu->r[21]; /* 0298FD0C */ cpu->r[8] = cpu->r[4] + 0xFFFFFFFFu; L_0298FD10: ; // 0x298fd10 /* 0298FD10 */ _t28 = cpu->r[5] + 0x00000000u; /* 0298FD10 */ cpu->r[6] = rbrew_read8(cpu->mem, _t28); /* 0298FD14 */ _t29 = cpu->r[8] + 0x00000001u; /* 0298FD14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29); /* 0298FD14 */ cpu->r[8] = _t29; /* 0298FD18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]); /* 0298FD1C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FD1C */ _t31 = _t30 & 0x00000001u; /* 0298FD1C */ if (_t31) goto L_0298FD20; else goto L_0298FD50; L_0298FD20: ; // 0x298fd20 /* 0298FD20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]); /* 0298FD24 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FD24 */ _t33 = _t32 & 0x00000001u; /* 0298FD24 */ if (_t33) goto L_0298FD34; else goto L_0298FD28; L_0298FD28: ; // 0x298fd28 /* 0298FD28 */ cpu->r[5] = cpu->r[5] + 0x00000001u; /* 0298FD2C */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0298FD2C */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0298FD2C */ _t35 = _t34 >> (0x00000002u & 31u); /* 0298FD2C */ _t36 = _t35 & 0x00000001u; /* 0298FD2C */ if (_t36) goto L_0298FD10; else goto L_0298FD30; L_0298FD30: ; // 0x298fd30 /* 0298FD30 */ goto L_0298FD50; L_0298FD34: ; // 0x298fd34 /* 0298FD34 */ _t37 = cpu->r[19] + 0x00000000u; /* 0298FD34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37); /* 0298FD38 */ cpu->r[4] = cpu->r[28]; /* 0298FD3C */ cpu->r[5] = cpu->r[23]; /* 0298FD40 */ Gambit_fn_0298FB98(cpu); /* 0298FD44 */ cpu->r[22] = cpu->r[27] + 0x000000C0u; /* 0298FD48 */ _t38 = cpu->r[27] + 0x000000CCu; /* 0298FD48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 0298FD4C */ goto L_0298FECC; L_0298FD50: ; // 0x298fd50 /* 0298FD50 */ cpu->r[19] = cpu->r[19] + 0x00000004u; /* 0298FD54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[20]); /* 0298FD58 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FD58 */ _t40 = _t39 & 0x00000001u; /* 0298FD58 */ if (_t40) goto L_0298FD5C; else goto L_0298FCB4; L_0298FD5C: ; // 0x298fd5c /* 0298FD5C */ _t41 = cpu->r[27] + 0x000000CCu; /* 0298FD5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41); /* 0298FD60 */ cpu->r[22] = cpu->r[27] + 0x000000C0u; /* 0298FD64 */ _t42 = cpu->r[27] + 0x000000C4u; /* 0298FD64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42); /* 0298FD68 */ cpu->r[12] = cpu->r[22] - cpu->r[0]; /* 0298FD6C */ cpu->r[21] = cpu->r[11] - cpu->r[0]; /* 0298FD70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[12]); /* 0298FD74 */ cpu->r[31] = cpu->r[0]; /* 0298FD78 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FD78 */ _t44 = _t43 & 0x00000001u; /* 0298FD78 */ if (_t44) goto L_0298FECC; else goto L_0298FD7C; L_0298FD7C: ; // 0x298fd7c /* 0298FD7C */ _t45 = cpu->r[29] + 0x00007399u; /* 0298FD7C */ cpu->r[29] = rbrew_read8(cpu->mem, _t45); /* 0298FD80 */ cpu->r[20] = 0x00080000u; /* 0298FD84 */ _t46 = cpu->r[24] + 0x000066E8u; /* 0298FD84 */ cpu->r[24] = rbrew_read32(cpu->mem, _t46); /* 0298FD88 */ cpu->r[20] = cpu->r[20] + 0x00000001u; L_0298FD8C: ; // 0x298fd8c /* 0298FD8C */ _t47 = cpu->r[1] + 0x00000020u; /* 0298FD8C */ rbrew_write32(cpu->mem, _t47, cpu->r[24]); /* 0298FD90 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0298FD94 */ _t48 = cpu->r[1] + 0x00000024u; /* 0298FD94 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]); /* 0298FD98 */ _t49 = cpu->r[1] + 0x00000010u; /* 0298FD98 */ rbrew_write32(cpu->mem, _t49, cpu->r[24]); /* 0298FD9C */ _t50 = cpu->r[1] + 0x00000014u; /* 0298FD9C */ rbrew_write32(cpu->mem, _t50, cpu->r[30]); /* 0298FDA0 */ Gambit_fn_029903E8(cpu); /* 0298FDA4 */ _t51 = cpu->r[1] + 0x00000014u; /* 0298FDA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51); /* 0298FDA8 */ _t52 = cpu->r[12] + 0x00000014u; /* 0298FDA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52); /* 0298FDAC */ cpu->ctr = cpu->r[4]; /* 0298FDB0 */ cpu->r[3] = cpu->r[1] + 0x00000010u; /* 0298FDB4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298FDB8 */ _t53 = cpu->r[1] + 0x00000024u; /* 0298FDB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53); /* 0298FDBC */ _t54 = cpu->r[5] + 0x00000014u; /* 0298FDBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t54); /* 0298FDC0 */ cpu->ctr = cpu->r[6]; /* 0298FDC4 */ _t55 = cpu->r[1] + 0x00000010u; /* 0298FDC4 */ cpu->r[19] = rbrew_read32(cpu->mem, _t55); /* 0298FDC8 */ cpu->r[3] = cpu->r[1] + 0x00000020u; /* 0298FDCC */ rbrew_call_indirect(cpu, cpu->ctr); /* 0298FDD0 */ _t56 = cpu->r[1] + 0x00000020u; /* 0298FDD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56); /* 0298FDD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[5]); /* 0298FDD8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FDD8 */ _t58 = _t57 & 0x00000001u; /* 0298FDD8 */ if (_t58) goto L_0298FE0C; else goto L_0298FDDC; L_0298FDDC: ; // 0x298fddc /* 0298FDDC */ _t59 = cpu->r[1] + 0x00000010u; /* 0298FDDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t59); /* 0298FDE0 */ cpu->ctr = cpu->r[20]; /* 0298FDE4 */ cpu->r[9] = cpu->r[5] + 0xFFFFFFFFu; L_0298FDE8: ; // 0x298fde8 /* 0298FDE8 */ _t60 = cpu->r[8] + 0x00000000u; /* 0298FDE8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t60); /* 0298FDEC */ _t61 = cpu->r[9] + 0x00000001u; /* 0298FDEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t61); /* 0298FDEC */ cpu->r[9] = _t61; /* 0298FDF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]); /* 0298FDF4 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FDF4 */ _t63 = _t62 & 0x00000001u; /* 0298FDF4 */ if (_t63) goto L_0298FDF8; else goto L_0298FEB0; L_0298FDF8: ; // 0x298fdf8 /* 0298FDF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]); /* 0298FDFC */ _t64 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FDFC */ _t65 = _t64 & 0x00000001u; /* 0298FDFC */ if (_t65) goto L_0298FE0C; else goto L_0298FE00; L_0298FE00: ; // 0x298fe00 /* 0298FE00 */ cpu->r[8] = cpu->r[8] + 0x00000001u; /* 0298FE04 */ cpu->ctr = cpu->ctr - 0x00000001u; /* 0298FE04 */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u); /* 0298FE04 */ _t67 = _t66 >> (0x00000002u & 31u); /* 0298FE04 */ _t68 = _t67 & 0x00000001u; /* 0298FE04 */ if (_t68) goto L_0298FDE8; else goto L_0298FE08; L_0298FE08: ; // 0x298fe08 /* 0298FE08 */ goto L_0298FEB0; L_0298FE0C: ; // 0x298fe0c /* 0298FE0C */ cpu->r[5] = 0x00000004u; /* 0298FE10 */ cpu->r[3] = 0x0000000Cu; /* 0298FE14 */ cpu->r[4] = cpu->r[23]; /* 0298FE18 */ cpu->r[9] = 0x00000000u; /* 0298FE1C */ Gambit_fn_02801AC8(cpu); /* 0298FE20 */ cpu->r[0] = cpu->r[3]; /* 0298FE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0298FE24 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FE24 */ _t70 = _t69 & 0x00000001u; /* 0298FE24 */ if (_t70) goto L_0298FE5C; else goto L_0298FE28; L_0298FE28: ; // 0x298fe28 /* 0298FE28 */ _t71 = cpu->r[1] + 0x0000002Cu; /* 0298FE28 */ rbrew_write32(cpu->mem, _t71, cpu->r[30]); /* 0298FE2C */ cpu->r[3] = cpu->r[0]; /* 0298FE30 */ cpu->r[5] = cpu->r[23]; /* 0298FE34 */ _t72 = cpu->r[1] + 0x00000028u; /* 0298FE34 */ rbrew_write32(cpu->mem, _t72, cpu->r[24]); /* 0298FE38 */ cpu->r[4] = cpu->r[1] + 0x00000028u; /* 0298FE3C */ cpu->r[9] = 0x00000001u; /* 0298FE40 */ Gambit_fn_0298FA78(cpu); /* 0298FE44 */ _t73 = cpu->r[27] + 0x000001C8u; /* 0298FE44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73); /* 0298FE48 */ _t74 = cpu->r[27] + 0x000001C4u; /* 0298FE48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74); /* 0298FE4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 0298FE50 */ cpu->r[31] = cpu->r[3]; /* 0298FE54 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298FE54 */ _t76 = _t75 & 0x00000001u; /* 0298FE54 */ if (_t76) goto L_0298FE58; else goto L_0298FE88; L_0298FE58: ; // 0x298fe58 /* 0298FE58 */ goto L_0298FE70; L_0298FE5C: ; // 0x298fe5c /* 0298FE5C */ _t77 = cpu->r[27] + 0x000001C4u; /* 0298FE5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t77); /* 0298FE60 */ _t78 = cpu->r[27] + 0x000001C8u; /* 0298FE60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t78); /* 0298FE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]); /* 0298FE68 */ cpu->r[31] = 0x00000000u; /* 0298FE6C */ _t79 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298FE6C */ _t80 = _t79 & 0x00000001u; /* 0298FE6C */ if (_t80) goto L_0298FE70; else goto L_0298FE88; L_0298FE70: ; // 0x298fe70 /* 0298FE70 */ _t81 = cpu->r[27] + 0x000001CCu; /* 0298FE70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81); /* 0298FE74 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298FE78 */ _t82 = cpu->r[11] + cpu->r[12]; /* 0298FE78 */ rbrew_write32(cpu->mem, _t82, cpu->r[31]); /* 0298FE7C */ _t83 = cpu->r[27] + 0x000001C4u; /* 0298FE7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t83); /* 0298FE80 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0298FE84 */ _t84 = cpu->r[27] + 0x000001C4u; /* 0298FE84 */ rbrew_write32(cpu->mem, _t84, cpu->r[4]); L_0298FE88: ; // 0x298fe88 /* 0298FE88 */ cpu->r[5] = cpu->r[23]; /* 0298FE8C */ cpu->r[4] = cpu->r[21]; /* 0298FE90 */ cpu->r[3] = cpu->r[31]; /* 0298FE94 */ Gambit_fn_0298FB98(cpu); /* 0298FE98 */ cpu->r[5] = cpu->r[23]; /* 0298FE9C */ cpu->r[4] = cpu->r[28]; /* 0298FEA0 */ cpu->r[3] = cpu->r[31]; /* 0298FEA4 */ Gambit_fn_0298FB98(cpu); /* 0298FEA8 */ _t85 = cpu->r[22] + 0x0000000Cu; /* 0298FEA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85); /* 0298FEAC */ goto L_0298FECC; L_0298FEB0: ; // 0x298feb0 /* 0298FEB0 */ _t86 = cpu->r[22] + 0x0000000Cu; /* 0298FEB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86); /* 0298FEB4 */ cpu->r[5] = cpu->r[21] + cpu->r[31]; /* 0298FEB8 */ _t87 = cpu->r[5] + 0x00000004u; /* 0298FEB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t87); /* 0298FEBC */ cpu->r[12] = cpu->r[22] - cpu->r[0]; /* 0298FEC0 */ cpu->r[21] = cpu->r[7] - cpu->r[31]; /* 0298FEC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[12]); /* 0298FEC8 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FEC8 */ _t89 = _t88 & 0x00000001u; /* 0298FEC8 */ if (_t89) goto L_0298FECC; else goto L_0298FD8C; L_0298FECC: ; // 0x298fecc /* 0298FECC */ cpu->r[3] = cpu->r[22]; /* 0298FED0 */ cpu->r[4] = cpu->r[28] + cpu->r[0]; /* 0298FED4 */ Gambit_fn_02801EBC(cpu); /* 0298FED8 */ _t90 = cpu->r[22] + 0x00000008u; /* 0298FED8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90); /* 0298FEDC */ cpu->r[9] = cpu->r[9] + 0x00000001u; /* 0298FEE0 */ _t91 = cpu->r[22] + 0x00000008u; /* 0298FEE0 */ rbrew_write32(cpu->mem, _t91, cpu->r[9]); /* 0298FEE4 */ _t92 = cpu->r[27] + 0x00000040u; /* 0298FEE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t92); /* 0298FEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298FEEC */ _t93 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FEEC */ _t94 = _t93 & 0x00000001u; /* 0298FEEC */ if (_t94) goto L_0298FF08; else goto L_0298FEF0; L_0298FEF0: ; // 0x298fef0 /* 0298FEF0 */ _t95 = cpu->r[3] + 0x00000000u; /* 0298FEF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95); /* 0298FEF4 */ _t96 = cpu->r[10] + 0x00000014u; /* 0298FEF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96); /* 0298FEF8 */ cpu->ctr = cpu->r[0]; /* 0298FEFC */ cpu->r[4] = cpu->r[28]; /* 0298FF00 */ cpu->r[5] = cpu->r[25]; /* 0298FF04 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298FF08: ; // 0x298ff08 /* 0298FF08 */ cpu->r[3] = cpu->r[26]; /* 0298FF0C */ Gambit_fn_02837030(cpu); /* 0298FF10 */ /* nop */ /* 0298FF14 */ _t97 = cpu->r[1] + 0x0000006Cu; /* 0298FF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97); /* 0298FF18 */ cpu->lr = cpu->r[0]; /* 0298FF1C */ cpu->r[1] = cpu->r[1] + 0x00000068u; /* 0298FF20 */ return; } // fn_0298FF24 @ 0x298ff24 void Gambit_fn_0298FF24(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_0298FF24: ; // 0x298ff24 /* 0298FF24 */ cpu->r[0] = cpu->lr; /* 0298FF28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298FF28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298FF28 */ cpu->r[1] = _t0; /* 0298FF2C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298FF2C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298FF30 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298FF30 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298FF34 */ _t3 = cpu->r[1] + 0x00000008u; /* 0298FF34 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 0298FF38 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298FF38 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298FF3C */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298FF3C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298FF40 */ cpu->r[29] = cpu->r[3]; /* 0298FF44 */ cpu->r[28] = cpu->r[29] + 0x0000010Cu; /* 0298FF48 */ cpu->r[31] = cpu->r[5]; /* 0298FF4C */ cpu->r[3] = cpu->r[28]; /* 0298FF50 */ cpu->r[30] = cpu->r[4]; /* 0298FF54 */ Gambit_fn_02836FFC(cpu); /* 0298FF58 */ _t6 = cpu->r[29] + 0x00000024u; /* 0298FF58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 0298FF5C */ _t7 = cpu->r[29] + 0x00000028u; /* 0298FF5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 0298FF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]); /* 0298FF64 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298FF64 */ _t9 = _t8 & 0x00000001u; /* 0298FF64 */ if (_t9) goto L_0298FF68; else goto L_0298FF80; L_0298FF68: ; // 0x298ff68 /* 0298FF68 */ _t10 = cpu->r[29] + 0x0000002Cu; /* 0298FF68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298FF6C */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298FF70 */ _t11 = cpu->r[9] + cpu->r[0]; /* 0298FF70 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 0298FF74 */ _t12 = cpu->r[29] + 0x00000024u; /* 0298FF74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 0298FF78 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0298FF7C */ _t13 = cpu->r[29] + 0x00000024u; /* 0298FF7C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]); L_0298FF80: ; // 0x298ff80 /* 0298FF80 */ cpu->r[3] = cpu->r[28]; /* 0298FF84 */ Gambit_fn_02837030(cpu); /* 0298FF88 */ _t14 = cpu->r[29] + 0x00000040u; /* 0298FF88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298FF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298FF90 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FF90 */ _t16 = _t15 & 0x00000001u; /* 0298FF90 */ if (_t16) goto L_0298FFAC; else goto L_0298FF94; L_0298FF94: ; // 0x298ff94 /* 0298FF94 */ _t17 = cpu->r[3] + 0x00000000u; /* 0298FF94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 0298FF98 */ _t18 = cpu->r[12] + 0x00000034u; /* 0298FF98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298FF9C */ cpu->ctr = cpu->r[0]; /* 0298FFA0 */ cpu->r[4] = cpu->r[30]; /* 0298FFA4 */ cpu->r[5] = cpu->r[31]; /* 0298FFA8 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298FFAC: ; // 0x298ffac /* 0298FFAC */ _t19 = cpu->r[1] + 0x00000008u; /* 0298FFAC */ cpu->r[28] = rbrew_read32(cpu->mem, _t19); /* 0298FFB0 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0298FFB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 0298FFB4 */ _t21 = cpu->r[1] + 0x0000001Cu; /* 0298FFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0298FFB8 */ _t22 = cpu->r[1] + 0x00000010u; /* 0298FFB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 0298FFBC */ cpu->lr = cpu->r[0]; /* 0298FFC0 */ _t23 = cpu->r[1] + 0x00000014u; /* 0298FFC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 0298FFC4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298FFC8 */ return; } // fn_0298FF28 @ 0x298ff28 void Gambit_fn_0298FF28(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_0298FF28: ; // 0x298ff28 /* 0298FF28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298FF28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298FF28 */ cpu->r[1] = _t0; /* 0298FF2C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0298FF2C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 0298FF30 */ _t2 = cpu->r[1] + 0x00000010u; /* 0298FF30 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 0298FF34 */ _t3 = cpu->r[1] + 0x00000008u; /* 0298FF34 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 0298FF38 */ _t4 = cpu->r[1] + 0x00000014u; /* 0298FF38 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 0298FF3C */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298FF3C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298FF40 */ cpu->r[29] = cpu->r[3]; /* 0298FF44 */ cpu->r[28] = cpu->r[29] + 0x0000010Cu; /* 0298FF48 */ cpu->r[31] = cpu->r[5]; /* 0298FF4C */ cpu->r[3] = cpu->r[28]; /* 0298FF50 */ cpu->r[30] = cpu->r[4]; /* 0298FF54 */ Gambit_fn_02836FFC(cpu); /* 0298FF58 */ _t6 = cpu->r[29] + 0x00000024u; /* 0298FF58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 0298FF5C */ _t7 = cpu->r[29] + 0x00000028u; /* 0298FF5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 0298FF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]); /* 0298FF64 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 0298FF64 */ _t9 = _t8 & 0x00000001u; /* 0298FF64 */ if (_t9) goto L_0298FF68; else goto L_0298FF80; L_0298FF68: ; // 0x298ff68 /* 0298FF68 */ _t10 = cpu->r[29] + 0x0000002Cu; /* 0298FF68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 0298FF6C */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 0298FF70 */ _t11 = cpu->r[9] + cpu->r[0]; /* 0298FF70 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]); /* 0298FF74 */ _t12 = cpu->r[29] + 0x00000024u; /* 0298FF74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12); /* 0298FF78 */ cpu->r[11] = cpu->r[11] + 0x00000001u; /* 0298FF7C */ _t13 = cpu->r[29] + 0x00000024u; /* 0298FF7C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]); L_0298FF80: ; // 0x298ff80 /* 0298FF80 */ cpu->r[3] = cpu->r[28]; /* 0298FF84 */ Gambit_fn_02837030(cpu); /* 0298FF88 */ _t14 = cpu->r[29] + 0x00000040u; /* 0298FF88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14); /* 0298FF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298FF90 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 0298FF90 */ _t16 = _t15 & 0x00000001u; /* 0298FF90 */ if (_t16) goto L_0298FFAC; else goto L_0298FF94; L_0298FF94: ; // 0x298ff94 /* 0298FF94 */ _t17 = cpu->r[3] + 0x00000000u; /* 0298FF94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 0298FF98 */ _t18 = cpu->r[12] + 0x00000034u; /* 0298FF98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0298FF9C */ cpu->ctr = cpu->r[0]; /* 0298FFA0 */ cpu->r[4] = cpu->r[30]; /* 0298FFA4 */ cpu->r[5] = cpu->r[31]; /* 0298FFA8 */ rbrew_call_indirect(cpu, cpu->ctr); L_0298FFAC: ; // 0x298ffac /* 0298FFAC */ _t19 = cpu->r[1] + 0x00000008u; /* 0298FFAC */ cpu->r[28] = rbrew_read32(cpu->mem, _t19); /* 0298FFB0 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0298FFB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 0298FFB4 */ _t21 = cpu->r[1] + 0x0000001Cu; /* 0298FFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 0298FFB8 */ _t22 = cpu->r[1] + 0x00000010u; /* 0298FFB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 0298FFBC */ cpu->lr = cpu->r[0]; /* 0298FFC0 */ _t23 = cpu->r[1] + 0x00000014u; /* 0298FFC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 0298FFC4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0298FFC8 */ return; } // fn_0298FFCC @ 0x298ffcc void Gambit_fn_0298FFCC(CPUState* cpu) { L_0298FFCC: ; // 0x298ffcc /* 0298FFCC */ cpu->r[3] = 0x00000001u; /* 0298FFD0 */ return; } // fn_0298FFD4 @ 0x298ffd4 void Gambit_fn_0298FFD4(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_0298FFD4: ; // 0x298ffd4 /* 0298FFD4 */ cpu->r[0] = cpu->lr; /* 0298FFD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298FFD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298FFD8 */ cpu->r[1] = _t0; /* 0298FFDC */ _t1 = cpu->r[1] + 0x00000008u; /* 0298FFDC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 0298FFE0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298FFE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0298FFE4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298FFE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298FFE8 */ _t4 = cpu->r[1] + 0x00000010u; /* 0298FFE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0298FFEC */ cpu->r[31] = cpu->r[3]; /* 0298FFF0 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298FFF0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298FFF4 */ _t6 = cpu->r[31] + 0x00000040u; /* 0298FFF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298FFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298FFFC */ cpu->r[30] = cpu->r[4]; /* 02990000 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990000 */ _t8 = _t7 & 0x00000001u; /* 02990000 */ if (_t8) goto L_02990018; else goto L_02990004; L_02990004: ; // 0x2990004 /* 02990004 */ _t9 = cpu->r[3] + 0x00000000u; /* 02990004 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 02990008 */ _t10 = cpu->r[9] + 0x0000003Cu; /* 02990008 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 0299000C */ cpu->ctr = cpu->r[10]; /* 02990010 */ cpu->r[4] = cpu->r[30]; /* 02990014 */ rbrew_call_indirect(cpu, cpu->ctr); L_02990018: ; // 0x2990018 /* 02990018 */ cpu->r[29] = cpu->r[31] + 0x00000184u; /* 0299001C */ cpu->r[3] = cpu->r[29]; /* 02990020 */ Gambit_fn_02836FFC(cpu); /* 02990024 */ _t11 = cpu->r[30] + 0x000000CCu; /* 02990024 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 02990028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0299002C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299002C */ _t13 = _t12 & 0x00000001u; /* 0299002C */ if (_t13) goto L_02990030; else goto L_0299003C; L_02990030: ; // 0x2990030 /* 02990030 */ _t14 = cpu->r[30] + 0x000000C8u; /* 02990030 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 02990034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02990038 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990038 */ _t16 = _t15 & 0x00000001u; /* 02990038 */ if (_t16) goto L_02990054; else goto L_0299003C; L_0299003C: ; // 0x299003c /* 0299003C */ _t17 = cpu->r[31] + 0x000000CCu; /* 0299003C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02990040 */ cpu->r[3] = cpu->r[30] + cpu->r[0]; /* 02990044 */ Gambit_fn_02801EDC(cpu); /* 02990048 */ _t18 = cpu->r[31] + 0x000000C8u; /* 02990048 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 0299004C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 02990050 */ _t19 = cpu->r[31] + 0x000000C8u; /* 02990050 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]); L_02990054: ; // 0x2990054 /* 02990054 */ _t20 = cpu->r[30] + 0x000000D4u; /* 02990054 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 02990058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0299005C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299005C */ _t22 = _t21 & 0x00000001u; /* 0299005C */ if (_t22) goto L_02990060; else goto L_0299006C; L_02990060: ; // 0x2990060 /* 02990060 */ _t23 = cpu->r[30] + 0x000000D0u; /* 02990060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23); /* 02990064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02990068 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990068 */ _t25 = _t24 & 0x00000001u; /* 02990068 */ if (_t25) goto L_029900D0; else goto L_0299006C; L_0299006C: ; // 0x299006c /* 0299006C */ _t26 = cpu->r[31] + 0x000000DCu; /* 0299006C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26); /* 02990070 */ cpu->r[3] = cpu->r[31] + 0x000000D0u; /* 02990074 */ cpu->r[4] = cpu->r[30] + cpu->r[12]; /* 02990078 */ Gambit_fn_02802290(cpu); /* 0299007C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu); /* 02990080 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990080 */ _t28 = _t27 & 0x00000001u; /* 02990080 */ if (_t28) goto L_029900A0; else goto L_02990084; L_02990084: ; // 0x2990084 /* 02990084 */ _t29 = cpu->r[31] + 0x000000DCu; /* 02990084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 02990088 */ cpu->r[3] = cpu->r[30] + cpu->r[0]; /* 0299008C */ Gambit_fn_02801EDC(cpu); /* 02990090 */ _t30 = cpu->r[31] + 0x000000D8u; /* 02990090 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 02990094 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 02990098 */ _t31 = cpu->r[31] + 0x000000D8u; /* 02990098 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]); /* 0299009C */ goto L_029900D0; L_029900A0: ; // 0x29900a0 /* 029900A0 */ _t32 = cpu->r[31] + 0x000000ECu; /* 029900A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 029900A4 */ cpu->r[3] = cpu->r[31] + 0x000000E0u; /* 029900A8 */ cpu->r[4] = cpu->r[30] + cpu->r[0]; /* 029900AC */ Gambit_fn_02802290(cpu); /* 029900B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu); /* 029900B4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 029900B4 */ _t34 = _t33 & 0x00000001u; /* 029900B4 */ if (_t34) goto L_029900D0; else goto L_029900B8; L_029900B8: ; // 0x29900b8 /* 029900B8 */ _t35 = cpu->r[31] + 0x000000ECu; /* 029900B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35); /* 029900BC */ cpu->r[3] = cpu->r[30] + cpu->r[9]; /* 029900C0 */ Gambit_fn_02801EDC(cpu); /* 029900C4 */ _t36 = cpu->r[31] + 0x000000E8u; /* 029900C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36); /* 029900C8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 029900CC */ _t37 = cpu->r[31] + 0x000000E8u; /* 029900CC */ rbrew_write32(cpu->mem, _t37, cpu->r[11]); L_029900D0: ; // 0x29900d0 /* 029900D0 */ _t38 = cpu->r[31] + 0x000001C4u; /* 029900D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 029900D4 */ _t39 = cpu->r[31] + 0x000001CCu; /* 029900D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39); /* 029900D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029900DC */ cpu->r[12] = cpu->r[10] + cpu->r[0]; /* 029900E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]); /* 029900E4 */ cpu->r[28] = 0x00000000u; /* 029900E8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 029900E8 */ _t41 = _t40 & 0x00000001u; /* 029900E8 */ if (_t41) goto L_0299014C; else goto L_029900EC; L_029900EC: ; // 0x29900ec /* 029900EC */ _t42 = cpu->r[10] + 0x00000000u; /* 029900EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 029900F0 */ cpu->r[4] = cpu->r[30]; /* 029900F4 */ cpu->r[3] = cpu->r[0]; /* 029900F8 */ Gambit_fn_0298FFCC(cpu); /* 029900FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990100 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990100 */ _t44 = _t43 & 0x00000001u; /* 02990100 */ if (_t44) goto L_0299013C; else goto L_02990104; L_02990104: ; // 0x2990104 /* 02990104 */ cpu->r[3] = cpu->r[0]; /* 02990104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990108 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990108 */ _t46 = _t45 & 0x00000001u; /* 02990108 */ if (_t46) goto L_02990120; else goto L_0299010C; L_0299010C: ; // 0x299010c /* 0299010C */ _t47 = cpu->r[3] + 0x00000000u; /* 0299010C */ cpu->r[11] = rbrew_read32(cpu->mem, _t47); /* 02990110 */ _t48 = cpu->r[11] + 0x00000014u; /* 02990110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 02990114 */ cpu->ctr = cpu->r[0]; /* 02990118 */ cpu->r[4] = 0x00000003u; /* 0299011C */ rbrew_call_indirect(cpu, cpu->ctr); L_02990120: ; // 0x2990120 /* 02990120 */ cpu->r[5] = 0x00000001u; /* 02990124 */ cpu->r[4] = cpu->r[28]; /* 02990128 */ cpu->r[3] = cpu->r[31] + 0x000001C4u; /* 0299012C */ Gambit_fn_0280246C(cpu); /* 02990130 */ cpu->r[3] = cpu->r[29]; /* 02990134 */ Gambit_fn_02837030(cpu); /* 02990138 */ goto L_02990154; L_0299013C: ; // 0x299013c /* 0299013C */ cpu->r[10] = cpu->r[10] + 0x00000004u; /* 02990140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]); /* 02990144 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02990148 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990148 */ _t50 = _t49 & 0x00000001u; /* 02990148 */ if (_t50) goto L_0299014C; else goto L_029900EC; L_0299014C: ; // 0x299014c /* 0299014C */ cpu->r[3] = cpu->r[29]; /* 02990150 */ Gambit_fn_02837030(cpu); L_02990154: ; // 0x2990154 /* 02990154 */ _t51 = cpu->r[1] + 0x00000008u; /* 02990154 */ cpu->r[28] = rbrew_read32(cpu->mem, _t51); /* 02990158 */ _t52 = cpu->r[1] + 0x0000000Cu; /* 02990158 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52); /* 0299015C */ _t53 = cpu->r[1] + 0x0000001Cu; /* 0299015C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 02990160 */ _t54 = cpu->r[1] + 0x00000010u; /* 02990160 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54); /* 02990164 */ cpu->lr = cpu->r[0]; /* 02990168 */ _t55 = cpu->r[1] + 0x00000014u; /* 02990168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55); /* 0299016C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02990170 */ return; } // fn_0298FFD8 @ 0x298ffd8 void Gambit_fn_0298FFD8(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_0298FFD8: ; // 0x298ffd8 /* 0298FFD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0298FFD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0298FFD8 */ cpu->r[1] = _t0; /* 0298FFDC */ _t1 = cpu->r[1] + 0x00000008u; /* 0298FFDC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 0298FFE0 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 0298FFE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 0298FFE4 */ _t3 = cpu->r[1] + 0x00000014u; /* 0298FFE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0298FFE8 */ _t4 = cpu->r[1] + 0x00000010u; /* 0298FFE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 0298FFEC */ cpu->r[31] = cpu->r[3]; /* 0298FFF0 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 0298FFF0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0298FFF4 */ _t6 = cpu->r[31] + 0x00000040u; /* 0298FFF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6); /* 0298FFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 0298FFFC */ cpu->r[30] = cpu->r[4]; /* 02990000 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990000 */ _t8 = _t7 & 0x00000001u; /* 02990000 */ if (_t8) goto L_02990018; else goto L_02990004; L_02990004: ; // 0x2990004 /* 02990004 */ _t9 = cpu->r[3] + 0x00000000u; /* 02990004 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9); /* 02990008 */ _t10 = cpu->r[9] + 0x0000003Cu; /* 02990008 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10); /* 0299000C */ cpu->ctr = cpu->r[10]; /* 02990010 */ cpu->r[4] = cpu->r[30]; /* 02990014 */ rbrew_call_indirect(cpu, cpu->ctr); L_02990018: ; // 0x2990018 /* 02990018 */ cpu->r[29] = cpu->r[31] + 0x00000184u; /* 0299001C */ cpu->r[3] = cpu->r[29]; /* 02990020 */ Gambit_fn_02836FFC(cpu); /* 02990024 */ _t11 = cpu->r[30] + 0x000000CCu; /* 02990024 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11); /* 02990028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 0299002C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299002C */ _t13 = _t12 & 0x00000001u; /* 0299002C */ if (_t13) goto L_02990030; else goto L_0299003C; L_02990030: ; // 0x2990030 /* 02990030 */ _t14 = cpu->r[30] + 0x000000C8u; /* 02990030 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 02990034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02990038 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990038 */ _t16 = _t15 & 0x00000001u; /* 02990038 */ if (_t16) goto L_02990054; else goto L_0299003C; L_0299003C: ; // 0x299003c /* 0299003C */ _t17 = cpu->r[31] + 0x000000CCu; /* 0299003C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02990040 */ cpu->r[3] = cpu->r[30] + cpu->r[0]; /* 02990044 */ Gambit_fn_02801EDC(cpu); /* 02990048 */ _t18 = cpu->r[31] + 0x000000C8u; /* 02990048 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18); /* 0299004C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 02990050 */ _t19 = cpu->r[31] + 0x000000C8u; /* 02990050 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]); L_02990054: ; // 0x2990054 /* 02990054 */ _t20 = cpu->r[30] + 0x000000D4u; /* 02990054 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20); /* 02990058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 0299005C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299005C */ _t22 = _t21 & 0x00000001u; /* 0299005C */ if (_t22) goto L_02990060; else goto L_0299006C; L_02990060: ; // 0x2990060 /* 02990060 */ _t23 = cpu->r[30] + 0x000000D0u; /* 02990060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23); /* 02990064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02990068 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990068 */ _t25 = _t24 & 0x00000001u; /* 02990068 */ if (_t25) goto L_029900D0; else goto L_0299006C; L_0299006C: ; // 0x299006c /* 0299006C */ _t26 = cpu->r[31] + 0x000000DCu; /* 0299006C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26); /* 02990070 */ cpu->r[3] = cpu->r[31] + 0x000000D0u; /* 02990074 */ cpu->r[4] = cpu->r[30] + cpu->r[12]; /* 02990078 */ Gambit_fn_02802290(cpu); /* 0299007C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu); /* 02990080 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990080 */ _t28 = _t27 & 0x00000001u; /* 02990080 */ if (_t28) goto L_029900A0; else goto L_02990084; L_02990084: ; // 0x2990084 /* 02990084 */ _t29 = cpu->r[31] + 0x000000DCu; /* 02990084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29); /* 02990088 */ cpu->r[3] = cpu->r[30] + cpu->r[0]; /* 0299008C */ Gambit_fn_02801EDC(cpu); /* 02990090 */ _t30 = cpu->r[31] + 0x000000D8u; /* 02990090 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30); /* 02990094 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 02990098 */ _t31 = cpu->r[31] + 0x000000D8u; /* 02990098 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]); /* 0299009C */ goto L_029900D0; L_029900A0: ; // 0x29900a0 /* 029900A0 */ _t32 = cpu->r[31] + 0x000000ECu; /* 029900A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32); /* 029900A4 */ cpu->r[3] = cpu->r[31] + 0x000000E0u; /* 029900A8 */ cpu->r[4] = cpu->r[30] + cpu->r[0]; /* 029900AC */ Gambit_fn_02802290(cpu); /* 029900B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu); /* 029900B4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u); /* 029900B4 */ _t34 = _t33 & 0x00000001u; /* 029900B4 */ if (_t34) goto L_029900D0; else goto L_029900B8; L_029900B8: ; // 0x29900b8 /* 029900B8 */ _t35 = cpu->r[31] + 0x000000ECu; /* 029900B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35); /* 029900BC */ cpu->r[3] = cpu->r[30] + cpu->r[9]; /* 029900C0 */ Gambit_fn_02801EDC(cpu); /* 029900C4 */ _t36 = cpu->r[31] + 0x000000E8u; /* 029900C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36); /* 029900C8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu; /* 029900CC */ _t37 = cpu->r[31] + 0x000000E8u; /* 029900CC */ rbrew_write32(cpu->mem, _t37, cpu->r[11]); L_029900D0: ; // 0x29900d0 /* 029900D0 */ _t38 = cpu->r[31] + 0x000001C4u; /* 029900D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38); /* 029900D4 */ _t39 = cpu->r[31] + 0x000001CCu; /* 029900D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39); /* 029900D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029900DC */ cpu->r[12] = cpu->r[10] + cpu->r[0]; /* 029900E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]); /* 029900E4 */ cpu->r[28] = 0x00000000u; /* 029900E8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u); /* 029900E8 */ _t41 = _t40 & 0x00000001u; /* 029900E8 */ if (_t41) goto L_0299014C; else goto L_029900EC; L_029900EC: ; // 0x29900ec /* 029900EC */ _t42 = cpu->r[10] + 0x00000000u; /* 029900EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t42); /* 029900F0 */ cpu->r[4] = cpu->r[30]; /* 029900F4 */ cpu->r[3] = cpu->r[0]; /* 029900F8 */ Gambit_fn_0298FFCC(cpu); /* 029900FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990100 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990100 */ _t44 = _t43 & 0x00000001u; /* 02990100 */ if (_t44) goto L_0299013C; else goto L_02990104; L_02990104: ; // 0x2990104 /* 02990104 */ cpu->r[3] = cpu->r[0]; /* 02990104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990108 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990108 */ _t46 = _t45 & 0x00000001u; /* 02990108 */ if (_t46) goto L_02990120; else goto L_0299010C; L_0299010C: ; // 0x299010c /* 0299010C */ _t47 = cpu->r[3] + 0x00000000u; /* 0299010C */ cpu->r[11] = rbrew_read32(cpu->mem, _t47); /* 02990110 */ _t48 = cpu->r[11] + 0x00000014u; /* 02990110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48); /* 02990114 */ cpu->ctr = cpu->r[0]; /* 02990118 */ cpu->r[4] = 0x00000003u; /* 0299011C */ rbrew_call_indirect(cpu, cpu->ctr); L_02990120: ; // 0x2990120 /* 02990120 */ cpu->r[5] = 0x00000001u; /* 02990124 */ cpu->r[4] = cpu->r[28]; /* 02990128 */ cpu->r[3] = cpu->r[31] + 0x000001C4u; /* 0299012C */ Gambit_fn_0280246C(cpu); /* 02990130 */ cpu->r[3] = cpu->r[29]; /* 02990134 */ Gambit_fn_02837030(cpu); /* 02990138 */ goto L_02990154; L_0299013C: ; // 0x299013c /* 0299013C */ cpu->r[10] = cpu->r[10] + 0x00000004u; /* 02990140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]); /* 02990144 */ cpu->r[28] = cpu->r[28] + 0x00000001u; /* 02990148 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990148 */ _t50 = _t49 & 0x00000001u; /* 02990148 */ if (_t50) goto L_0299014C; else goto L_029900EC; L_0299014C: ; // 0x299014c /* 0299014C */ cpu->r[3] = cpu->r[29]; /* 02990150 */ Gambit_fn_02837030(cpu); L_02990154: ; // 0x2990154 /* 02990154 */ _t51 = cpu->r[1] + 0x00000008u; /* 02990154 */ cpu->r[28] = rbrew_read32(cpu->mem, _t51); /* 02990158 */ _t52 = cpu->r[1] + 0x0000000Cu; /* 02990158 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52); /* 0299015C */ _t53 = cpu->r[1] + 0x0000001Cu; /* 0299015C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53); /* 02990160 */ _t54 = cpu->r[1] + 0x00000010u; /* 02990160 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54); /* 02990164 */ cpu->lr = cpu->r[0]; /* 02990168 */ _t55 = cpu->r[1] + 0x00000014u; /* 02990168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55); /* 0299016C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02990170 */ return; } // fn_0299014C @ 0x299014c void Gambit_fn_0299014C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4; L_0299014C: ; // 0x299014c /* 0299014C */ cpu->r[3] = cpu->r[29]; /* 02990150 */ Gambit_fn_02837030(cpu); /* 02990154 */ _t0 = cpu->r[1] + 0x00000008u; /* 02990154 */ cpu->r[28] = rbrew_read32(cpu->mem, _t0); /* 02990158 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02990158 */ cpu->r[29] = rbrew_read32(cpu->mem, _t1); /* 0299015C */ _t2 = cpu->r[1] + 0x0000001Cu; /* 0299015C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2); /* 02990160 */ _t3 = cpu->r[1] + 0x00000010u; /* 02990160 */ cpu->r[30] = rbrew_read32(cpu->mem, _t3); /* 02990164 */ cpu->lr = cpu->r[0]; /* 02990168 */ _t4 = cpu->r[1] + 0x00000014u; /* 02990168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4); /* 0299016C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02990170 */ return; } // fn_02990174 @ 0x2990174 void Gambit_fn_02990174(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_02990174: ; // 0x2990174 /* 02990174 */ cpu->r[0] = cpu->lr; /* 02990178 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02990178 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02990178 */ cpu->r[1] = _t0; /* 0299017C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0299017C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02990180 */ _t2 = cpu->r[1] + 0x00000010u; /* 02990180 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02990184 */ _t3 = cpu->r[1] + 0x00000014u; /* 02990184 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02990188 */ cpu->r[30] = cpu->r[3]; /* 0299018C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0299018C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02990190 */ cpu->r[29] = cpu->r[30] + 0x0000010Cu; /* 02990194 */ cpu->r[3] = cpu->r[29]; /* 02990198 */ cpu->r[31] = cpu->r[4]; /* 0299019C */ Gambit_fn_02836FFC(cpu); /* 029901A0 */ _t5 = cpu->r[30] + 0x00000018u; /* 029901A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 029901A4 */ _t6 = cpu->r[30] + 0x00000020u; /* 029901A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 029901A8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029901AC */ cpu->r[8] = cpu->r[10] + cpu->r[8]; /* 029901B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]); /* 029901B4 */ cpu->r[4] = 0x00000000u; /* 029901B8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029901B8 */ _t8 = _t7 & 0x00000001u; /* 029901B8 */ if (_t8) goto L_02990240; else goto L_029901BC; L_029901BC: ; // 0x29901bc /* 029901BC */ _t9 = cpu->r[10] + 0x00000000u; /* 029901BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 029901C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 029901C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029901C4 */ _t11 = _t10 & 0x00000001u; /* 029901C4 */ if (_t11) goto L_029901C8; else goto L_02990230; L_029901C8: ; // 0x29901c8 /* 029901C8 */ cpu->r[5] = 0x00000001u; /* 029901CC */ cpu->r[3] = cpu->r[30] + 0x00000018u; /* 029901D0 */ Gambit_fn_0280246C(cpu); /* 029901D4 */ _t12 = cpu->r[30] + 0x00000030u; /* 029901D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12); /* 029901D8 */ _t13 = cpu->r[30] + 0x00000038u; /* 029901D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 029901DC */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029901E0 */ cpu->r[0] = cpu->r[12] + cpu->r[11]; /* 029901E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 029901E8 */ cpu->r[4] = 0x00000000u; /* 029901EC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 029901EC */ _t15 = _t14 & 0x00000001u; /* 029901EC */ if (_t15) goto L_02990240; else goto L_029901F0; L_029901F0: ; // 0x29901f0 /* 029901F0 */ _t16 = cpu->r[12] + 0x00000000u; /* 029901F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16); /* 029901F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]); /* 029901F8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 029901F8 */ _t18 = _t17 & 0x00000001u; /* 029901F8 */ if (_t18) goto L_029901FC; else goto L_02990214; L_029901FC: ; // 0x29901fc /* 029901FC */ cpu->r[5] = 0x00000001u; /* 02990200 */ cpu->r[3] = cpu->r[30] + 0x00000030u; /* 02990204 */ Gambit_fn_0280246C(cpu); /* 02990208 */ cpu->r[3] = cpu->r[29]; /* 0299020C */ Gambit_fn_02837030(cpu); /* 02990210 */ goto L_02990248; L_02990214: ; // 0x2990214 /* 02990214 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 02990218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 0299021C */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 02990220 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990220 */ _t20 = _t19 & 0x00000001u; /* 02990220 */ if (_t20) goto L_02990224; else goto L_029901F0; L_02990224: ; // 0x2990224 /* 02990224 */ cpu->r[3] = cpu->r[29]; /* 02990228 */ Gambit_fn_02837030(cpu); /* 0299022C */ goto L_02990248; L_02990230: ; // 0x2990230 /* 02990230 */ cpu->r[10] = cpu->r[10] + 0x00000004u; /* 02990234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]); /* 02990238 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0299023C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299023C */ _t22 = _t21 & 0x00000001u; /* 0299023C */ if (_t22) goto L_02990240; else goto L_029901BC; L_02990240: ; // 0x2990240 /* 02990240 */ cpu->r[3] = cpu->r[29]; /* 02990244 */ Gambit_fn_02837030(cpu); L_02990248: ; // 0x2990248 /* 02990248 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 02990248 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 0299024C */ _t24 = cpu->r[1] + 0x0000001Cu; /* 0299024C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 02990250 */ _t25 = cpu->r[1] + 0x00000010u; /* 02990250 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 02990254 */ cpu->lr = cpu->r[0]; /* 02990258 */ _t26 = cpu->r[1] + 0x00000014u; /* 02990258 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 0299025C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02990260 */ return; } // fn_02990178 @ 0x2990178 void Gambit_fn_02990178(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_02990178: ; // 0x2990178 /* 02990178 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02990178 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02990178 */ cpu->r[1] = _t0; /* 0299017C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0299017C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02990180 */ _t2 = cpu->r[1] + 0x00000010u; /* 02990180 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02990184 */ _t3 = cpu->r[1] + 0x00000014u; /* 02990184 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02990188 */ cpu->r[30] = cpu->r[3]; /* 0299018C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0299018C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02990190 */ cpu->r[29] = cpu->r[30] + 0x0000010Cu; /* 02990194 */ cpu->r[3] = cpu->r[29]; /* 02990198 */ cpu->r[31] = cpu->r[4]; /* 0299019C */ Gambit_fn_02836FFC(cpu); /* 029901A0 */ _t5 = cpu->r[30] + 0x00000018u; /* 029901A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 029901A4 */ _t6 = cpu->r[30] + 0x00000020u; /* 029901A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 029901A8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029901AC */ cpu->r[8] = cpu->r[10] + cpu->r[8]; /* 029901B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]); /* 029901B4 */ cpu->r[4] = 0x00000000u; /* 029901B8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u); /* 029901B8 */ _t8 = _t7 & 0x00000001u; /* 029901B8 */ if (_t8) goto L_02990240; else goto L_029901BC; L_029901BC: ; // 0x29901bc /* 029901BC */ _t9 = cpu->r[10] + 0x00000000u; /* 029901BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 029901C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]); /* 029901C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 029901C4 */ _t11 = _t10 & 0x00000001u; /* 029901C4 */ if (_t11) goto L_029901C8; else goto L_02990230; L_029901C8: ; // 0x29901c8 /* 029901C8 */ cpu->r[5] = 0x00000001u; /* 029901CC */ cpu->r[3] = cpu->r[30] + 0x00000018u; /* 029901D0 */ Gambit_fn_0280246C(cpu); /* 029901D4 */ _t12 = cpu->r[30] + 0x00000030u; /* 029901D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12); /* 029901D8 */ _t13 = cpu->r[30] + 0x00000038u; /* 029901D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 029901DC */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du); /* 029901E0 */ cpu->r[0] = cpu->r[12] + cpu->r[11]; /* 029901E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 029901E8 */ cpu->r[4] = 0x00000000u; /* 029901EC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u); /* 029901EC */ _t15 = _t14 & 0x00000001u; /* 029901EC */ if (_t15) goto L_02990240; else goto L_029901F0; L_029901F0: ; // 0x29901f0 /* 029901F0 */ _t16 = cpu->r[12] + 0x00000000u; /* 029901F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16); /* 029901F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]); /* 029901F8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 029901F8 */ _t18 = _t17 & 0x00000001u; /* 029901F8 */ if (_t18) goto L_029901FC; else goto L_02990214; L_029901FC: ; // 0x29901fc /* 029901FC */ cpu->r[5] = 0x00000001u; /* 02990200 */ cpu->r[3] = cpu->r[30] + 0x00000030u; /* 02990204 */ Gambit_fn_0280246C(cpu); /* 02990208 */ cpu->r[3] = cpu->r[29]; /* 0299020C */ Gambit_fn_02837030(cpu); /* 02990210 */ goto L_02990248; L_02990214: ; // 0x2990214 /* 02990214 */ cpu->r[12] = cpu->r[12] + 0x00000004u; /* 02990218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]); /* 0299021C */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 02990220 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990220 */ _t20 = _t19 & 0x00000001u; /* 02990220 */ if (_t20) goto L_02990224; else goto L_029901F0; L_02990224: ; // 0x2990224 /* 02990224 */ cpu->r[3] = cpu->r[29]; /* 02990228 */ Gambit_fn_02837030(cpu); /* 0299022C */ goto L_02990248; L_02990230: ; // 0x2990230 /* 02990230 */ cpu->r[10] = cpu->r[10] + 0x00000004u; /* 02990234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]); /* 02990238 */ cpu->r[4] = cpu->r[4] + 0x00000001u; /* 0299023C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299023C */ _t22 = _t21 & 0x00000001u; /* 0299023C */ if (_t22) goto L_02990240; else goto L_029901BC; L_02990240: ; // 0x2990240 /* 02990240 */ cpu->r[3] = cpu->r[29]; /* 02990244 */ Gambit_fn_02837030(cpu); L_02990248: ; // 0x2990248 /* 02990248 */ _t23 = cpu->r[1] + 0x0000000Cu; /* 02990248 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23); /* 0299024C */ _t24 = cpu->r[1] + 0x0000001Cu; /* 0299024C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24); /* 02990250 */ _t25 = cpu->r[1] + 0x00000010u; /* 02990250 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25); /* 02990254 */ cpu->lr = cpu->r[0]; /* 02990258 */ _t26 = cpu->r[1] + 0x00000014u; /* 02990258 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26); /* 0299025C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02990260 */ return; } // fn_02990268 @ 0x2990268 void Gambit_fn_02990268(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02990268: ; // 0x2990268 /* 02990268 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02990268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02990268 */ cpu->r[1] = _t0; /* 0299026C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0299026C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02990270 */ _t2 = cpu->r[1] + 0x00000010u; /* 02990270 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02990274 */ _t3 = cpu->r[1] + 0x00000014u; /* 02990274 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02990278 */ cpu->r[30] = cpu->r[3]; /* 0299027C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0299027C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02990280 */ cpu->r[29] = cpu->r[30] + 0x00000184u; /* 02990284 */ cpu->r[3] = cpu->r[29]; /* 02990288 */ cpu->r[31] = cpu->r[4]; /* 0299028C */ Gambit_fn_02836FFC(cpu); /* 02990290 */ _t5 = cpu->r[30] + 0x000000F0u; /* 02990290 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5); /* 02990294 */ _t6 = cpu->r[30] + 0x0000000Cu; /* 02990294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02990298 */ cpu->r[3] = cpu->r[30]; /* 0299029C */ cpu->r[4] = cpu->r[31] + cpu->r[0]; /* 029902A0 */ Gambit_fn_02801EBC(cpu); /* 029902A4 */ _t7 = cpu->r[30] + 0x00000008u; /* 029902A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 029902A8 */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 029902AC */ cpu->r[3] = cpu->r[29]; /* 029902B0 */ _t8 = cpu->r[30] + 0x00000008u; /* 029902B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); /* 029902B4 */ Gambit_fn_02837030(cpu); /* 029902B8 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 029902B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 029902BC */ _t10 = cpu->r[1] + 0x0000001Cu; /* 029902BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 029902C0 */ _t11 = cpu->r[1] + 0x00000010u; /* 029902C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11); /* 029902C4 */ cpu->lr = cpu->r[0]; /* 029902C8 */ _t12 = cpu->r[1] + 0x00000014u; /* 029902C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12); /* 029902CC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029902D0 */ return; } // fn_029902D4 @ 0x29902d4 void Gambit_fn_029902D4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_029902D4: ; // 0x29902d4 /* 029902D4 */ cpu->r[0] = cpu->lr; /* 029902D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029902D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029902D8 */ cpu->r[1] = _t0; /* 029902DC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029902DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029902E0 */ cpu->r[31] = cpu->r[3]; /* 029902E4 */ _t2 = cpu->r[1] + 0x00000014u; /* 029902E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 029902E8 */ _t3 = cpu->r[31] + 0x00000100u; /* 029902E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 029902EC */ cpu->r[3] = cpu->r[31] + 0x000000F4u; /* 029902F0 */ cpu->r[4] = cpu->r[4] + cpu->r[0]; /* 029902F4 */ Gambit_fn_02801EBC(cpu); /* 029902F8 */ _t4 = cpu->r[31] + 0x000000FCu; /* 029902F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 029902FC */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 02990300 */ _t5 = cpu->r[31] + 0x000000FCu; /* 02990300 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 02990304 */ _t6 = cpu->r[1] + 0x00000014u; /* 02990304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02990308 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02990308 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0299030C */ cpu->lr = cpu->r[0]; /* 02990310 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02990314 */ return; } // fn_029902D8 @ 0x29902d8 void Gambit_fn_029902D8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; L_029902D8: ; // 0x29902d8 /* 029902D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 029902D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029902D8 */ cpu->r[1] = _t0; /* 029902DC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029902DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029902E0 */ cpu->r[31] = cpu->r[3]; /* 029902E4 */ _t2 = cpu->r[1] + 0x00000014u; /* 029902E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 029902E8 */ _t3 = cpu->r[31] + 0x00000100u; /* 029902E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 029902EC */ cpu->r[3] = cpu->r[31] + 0x000000F4u; /* 029902F0 */ cpu->r[4] = cpu->r[4] + cpu->r[0]; /* 029902F4 */ Gambit_fn_02801EBC(cpu); /* 029902F8 */ _t4 = cpu->r[31] + 0x000000FCu; /* 029902F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 029902FC */ cpu->r[12] = cpu->r[12] + 0x00000001u; /* 02990300 */ _t5 = cpu->r[31] + 0x000000FCu; /* 02990300 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]); /* 02990304 */ _t6 = cpu->r[1] + 0x00000014u; /* 02990304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 02990308 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 02990308 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7); /* 0299030C */ cpu->lr = cpu->r[0]; /* 02990310 */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02990314 */ return; } // fn_02990318 @ 0x2990318 void Gambit_fn_02990318(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_02990318: ; // 0x2990318 /* 02990318 */ cpu->r[0] = cpu->lr; /* 0299031C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0299031C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0299031C */ cpu->r[1] = _t0; /* 02990320 */ _t1 = cpu->r[1] + 0x00000008u; /* 02990320 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02990324 */ cpu->r[28] = cpu->r[4]; /* 02990328 */ _t2 = cpu->r[1] + 0x00000014u; /* 02990328 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0299032C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0299032C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02990330 */ cpu->r[31] = cpu->r[3]; /* 02990330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02990334 */ _t4 = cpu->r[1] + 0x00000010u; /* 02990334 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 02990338 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02990338 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0299033C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299033C */ _t7 = _t6 & 0x00000001u; /* 0299033C */ if (_t7) goto L_029903A0; else goto L_02990340; L_02990340: ; // 0x2990340 /* 02990340 */ cpu->r[6] = 0x10150000u; /* 02990344 */ cpu->r[6] = cpu->r[6] + 0xFFFFFA48u; /* 02990348 */ cpu->r[12] = 0x101D0000u; /* 0299034C */ _t8 = cpu->r[31] + 0x0000000Cu; /* 0299034C */ rbrew_write32(cpu->mem, _t8, cpu->r[6]); /* 02990350 */ _t9 = cpu->r[12] + 0xFFFFA6B4u; /* 02990350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02990350 */ cpu->r[12] = _t9; /* 02990354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 02990358 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990358 */ _t11 = _t10 & 0x00000001u; /* 02990358 */ if (_t11) goto L_0299035C; else goto L_02990384; L_0299035C: ; // 0x299035c /* 0299035C */ cpu->r[30] = 0x101D0000u; /* 02990360 */ cpu->r[29] = 0x00000000u; /* 02990364 */ _t12 = cpu->r[30] + 0xFFFFA6B0u; /* 02990364 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 02990368 */ _t13 = cpu->r[12] + 0x00000000u; /* 02990368 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]); /* 0299036C */ _t14 = cpu->r[3] + 0x00000000u; /* 0299036C */ cpu->r[8] = rbrew_read32(cpu->mem, _t14); /* 02990370 */ _t15 = cpu->r[8] + 0x00000014u; /* 02990370 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15); /* 02990374 */ cpu->ctr = cpu->r[10]; /* 02990378 */ cpu->r[4] = 0x00000002u; /* 0299037C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990380 */ _t16 = cpu->r[30] + 0xFFFFA6B0u; /* 02990380 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); L_02990384: ; // 0x2990384 /* 02990384 */ cpu->r[3] = cpu->r[31]; /* 02990388 */ cpu->r[4] = 0x00000000u; /* 0299038C */ Gambit_fn_02821E68(cpu); /* 02990390 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02990390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02990394 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990394 */ _t18 = _t17 & 0x00000001u; /* 02990394 */ if (_t18) goto L_029903A0; else goto L_02990398; L_02990398: ; // 0x2990398 /* 02990398 */ cpu->r[3] = cpu->r[31]; /* 0299039C */ Gambit_fn_02801BB0(cpu); L_029903A0: ; // 0x29903a0 /* 029903A0 */ _t19 = cpu->r[1] + 0x00000008u; /* 029903A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19); /* 029903A4 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 029903A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 029903A8 */ _t21 = cpu->r[1] + 0x0000001Cu; /* 029903A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 029903AC */ _t22 = cpu->r[1] + 0x00000010u; /* 029903AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 029903B0 */ cpu->lr = cpu->r[0]; /* 029903B4 */ _t23 = cpu->r[1] + 0x00000014u; /* 029903B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 029903B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029903BC */ return; } // fn_0299031C @ 0x299031c void Gambit_fn_0299031C(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_0299031C: ; // 0x299031c /* 0299031C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0299031C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0299031C */ cpu->r[1] = _t0; /* 02990320 */ _t1 = cpu->r[1] + 0x00000008u; /* 02990320 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 02990324 */ cpu->r[28] = cpu->r[4]; /* 02990328 */ _t2 = cpu->r[1] + 0x00000014u; /* 02990328 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0299032C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 0299032C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02990330 */ cpu->r[31] = cpu->r[3]; /* 02990330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02990334 */ _t4 = cpu->r[1] + 0x00000010u; /* 02990334 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]); /* 02990338 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02990338 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 0299033C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299033C */ _t7 = _t6 & 0x00000001u; /* 0299033C */ if (_t7) goto L_029903A0; else goto L_02990340; L_02990340: ; // 0x2990340 /* 02990340 */ cpu->r[6] = 0x10150000u; /* 02990344 */ cpu->r[6] = cpu->r[6] + 0xFFFFFA48u; /* 02990348 */ cpu->r[12] = 0x101D0000u; /* 0299034C */ _t8 = cpu->r[31] + 0x0000000Cu; /* 0299034C */ rbrew_write32(cpu->mem, _t8, cpu->r[6]); /* 02990350 */ _t9 = cpu->r[12] + 0xFFFFA6B4u; /* 02990350 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02990350 */ cpu->r[12] = _t9; /* 02990354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]); /* 02990358 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990358 */ _t11 = _t10 & 0x00000001u; /* 02990358 */ if (_t11) goto L_0299035C; else goto L_02990384; L_0299035C: ; // 0x299035c /* 0299035C */ cpu->r[30] = 0x101D0000u; /* 02990360 */ cpu->r[29] = 0x00000000u; /* 02990364 */ _t12 = cpu->r[30] + 0xFFFFA6B0u; /* 02990364 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12); /* 02990368 */ _t13 = cpu->r[12] + 0x00000000u; /* 02990368 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]); /* 0299036C */ _t14 = cpu->r[3] + 0x00000000u; /* 0299036C */ cpu->r[8] = rbrew_read32(cpu->mem, _t14); /* 02990370 */ _t15 = cpu->r[8] + 0x00000014u; /* 02990370 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15); /* 02990374 */ cpu->ctr = cpu->r[10]; /* 02990378 */ cpu->r[4] = 0x00000002u; /* 0299037C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990380 */ _t16 = cpu->r[30] + 0xFFFFA6B0u; /* 02990380 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]); L_02990384: ; // 0x2990384 /* 02990384 */ cpu->r[3] = cpu->r[31]; /* 02990388 */ cpu->r[4] = 0x00000000u; /* 0299038C */ Gambit_fn_02821E68(cpu); /* 02990390 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02990390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02990394 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990394 */ _t18 = _t17 & 0x00000001u; /* 02990394 */ if (_t18) goto L_029903A0; else goto L_02990398; L_02990398: ; // 0x2990398 /* 02990398 */ cpu->r[3] = cpu->r[31]; /* 0299039C */ Gambit_fn_02801BB0(cpu); L_029903A0: ; // 0x29903a0 /* 029903A0 */ _t19 = cpu->r[1] + 0x00000008u; /* 029903A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19); /* 029903A4 */ _t20 = cpu->r[1] + 0x0000000Cu; /* 029903A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 029903A8 */ _t21 = cpu->r[1] + 0x0000001Cu; /* 029903A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 029903AC */ _t22 = cpu->r[1] + 0x00000010u; /* 029903AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 029903B0 */ cpu->lr = cpu->r[0]; /* 029903B4 */ _t23 = cpu->r[1] + 0x00000014u; /* 029903B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 029903B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029903BC */ return; } // fn_029903C0 @ 0x29903c0 void Gambit_fn_029903C0(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_029903C0: ; // 0x29903c0 /* 029903C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029903C4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 029903C4 */ _t17 = _t16 & 0x00000001u; /* 029903C4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029903C4 */ goto L_029903C8; L_029903C8: ; // 0x29903c8 /* 029903C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029903C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029903CC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 029903CC */ _t19 = _t18 & 0x00000001u; /* 029903CC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029903CC */ goto L_029903D0; L_029903D0: ; // 0x29903d0 /* 029903D0 */ goto L_02801BB0; } // fn_029903D4 @ 0x29903d4 void Gambit_fn_029903D4(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_029903D4: ; // 0x29903d4 /* 029903D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029903D8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 029903D8 */ _t17 = _t16 & 0x00000001u; /* 029903D8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029903D8 */ goto L_029903DC; L_029903DC: ; // 0x29903dc /* 029903DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029903DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029903E0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 029903E0 */ _t19 = _t18 & 0x00000001u; /* 029903E0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029903E0 */ goto L_029903E4; L_029903E4: ; // 0x29903e4 /* 029903E4 */ goto L_02801BB0; } // fn_029903E8 @ 0x29903e8 void Gambit_fn_029903E8(CPUState* cpu) { L_029903E8: ; // 0x29903e8 /* 029903E8 */ return; } // fn_029903EC @ 0x29903ec void Gambit_fn_029903EC(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_029903EC: ; // 0x29903ec /* 029903EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029903F0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 029903F0 */ _t17 = _t16 & 0x00000001u; /* 029903F0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029903F0 */ goto L_029903F4; L_029903F4: ; // 0x29903f4 /* 029903F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029903F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029903F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 029903F8 */ _t19 = _t18 & 0x00000001u; /* 029903F8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029903F8 */ goto L_029903FC; L_029903FC: ; // 0x29903fc /* 029903FC */ goto L_02801BB0; } // fn_02990400 @ 0x2990400 void Gambit_fn_02990400(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02990400: ; // 0x2990400 /* 02990400 */ _t0 = cpu->r[3] + 0x00000000u; /* 02990400 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0); /* 02990404 */ _t1 = cpu->r[3] + 0x00000008u; /* 02990404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1); /* 02990408 */ cpu->r[12] = cpu->r[11] + cpu->r[12]; /* 0299040C */ cpu->r[11] = 0x10110000u; /* 02990410 */ _t2 = cpu->r[11] + 0x00007399u; /* 02990410 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2); /* 02990414 */ _t3 = cpu->r[12] + 0xFFFFFFFFu; /* 02990414 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]); /* 02990418 */ return; } // fn_0299041C @ 0x299041c void Gambit_fn_0299041C(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_0299041C: ; // 0x299041c /* 0299041C */ cpu->r[0] = cpu->lr; /* 02990420 */ _t0 = cpu->r[1] + 0xFFFFFF78u; /* 02990420 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02990420 */ cpu->r[1] = _t0; /* 02990424 */ _t1 = cpu->r[1] + 0x00000034u; /* 02990424 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]); /* 02990428 */ _t2 = cpu->r[1] + 0x00000084u; /* 02990428 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0299042C */ _t3 = cpu->r[1] + 0x0000002Cu; /* 0299042C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]); /* 02990430 */ _t4 = cpu->r[1] + 0x00000020u; /* 02990430 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]); /* 02990434 */ _t5 = cpu->r[1] + 0x00000018u; /* 02990434 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]); /* 02990438 */ _t6 = cpu->r[1] + 0x0000008Cu; /* 02990438 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0299043C */ _t7 = cpu->r[1] + 0x00000078u; /* 0299043C */ rbrew_write32(cpu->mem, _t7, cpu->r[28]); /* 02990440 */ _t8 = cpu->r[1] + 0x00000080u; /* 02990440 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 02990444 */ _t9 = cpu->r[1] + 0x00000024u; /* 02990444 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]); /* 02990448 */ _t10 = cpu->r[1] + 0x00000030u; /* 02990448 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]); /* 0299044C */ _t11 = cpu->r[1] + 0x0000007Cu; /* 0299044C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]); /* 02990450 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 02990450 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]); /* 02990454 */ _t13 = cpu->r[1] + 0x00000028u; /* 02990454 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]); /* 02990458 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u); /* 02990458 */ _t15 = _t14 & 0x00000001u; /* 02990458 */ if (_t15) goto L_0299045C; else goto L_0299047C; L_0299045C: ; // 0x299045c /* 0299045C */ _t16 = cpu->r[1] + 0x00000048u; /* 0299045C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]); /* 02990460 */ _t17 = cpu->r[1] + 0x00000068u; /* 02990460 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]); /* 02990464 */ _t18 = cpu->r[1] + 0x00000060u; /* 02990464 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]); /* 02990468 */ _t19 = cpu->r[1] + 0x00000040u; /* 02990468 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]); /* 0299046C */ _t20 = cpu->r[1] + 0x00000050u; /* 0299046C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]); /* 02990470 */ _t21 = cpu->r[1] + 0x00000070u; /* 02990470 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]); /* 02990474 */ _t22 = cpu->r[1] + 0x00000058u; /* 02990474 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]); /* 02990478 */ _t23 = cpu->r[1] + 0x00000038u; /* 02990478 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]); L_0299047C: ; // 0x299047c /* 0299047C */ cpu->r[31] = cpu->r[3]; /* 0299047C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02990480 */ cpu->r[30] = cpu->r[4]; /* 02990484 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990484 */ _t25 = _t24 & 0x00000001u; /* 02990484 */ if (_t25) goto L_02990488; else goto L_02990498; L_02990488: ; // 0x2990488 /* 02990488 */ cpu->r[3] = 0x0000040Cu; /* 0299048C */ Gambit_fn_02801A78(cpu); /* 02990490 */ cpu->r[31] = cpu->r[3]; /* 02990490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02990494 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990494 */ _t27 = _t26 & 0x00000001u; /* 02990494 */ if (_t27) goto L_0299055C; else goto L_02990498; L_02990498: ; // 0x2990498 /* 02990498 */ cpu->r[29] = cpu->r[31]; /* 02990498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0299049C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299049C */ _t29 = _t28 & 0x00000001u; /* 0299049C */ if (_t29) goto L_029904A0; else goto L_029904B0; L_029904A0: ; // 0x29904a0 /* 029904A0 */ cpu->r[3] = 0x0000040Cu; /* 029904A4 */ Gambit_fn_02801A78(cpu); /* 029904A8 */ cpu->r[29] = cpu->r[3]; /* 029904A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 029904AC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 029904AC */ _t31 = _t30 & 0x00000001u; /* 029904AC */ if (_t31) goto L_02990520; else goto L_029904B0; L_029904B0: ; // 0x29904b0 /* 029904B0 */ cpu->r[3] = cpu->r[29]; /* 029904B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029904B4 */ cpu->r[28] = 0x10110000u; /* 029904B8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 029904B8 */ _t33 = _t32 & 0x00000001u; /* 029904B8 */ if (_t33) goto L_029904BC; else goto L_029904E8; L_029904BC: ; // 0x29904bc /* 029904BC */ cpu->r[3] = 0x0000000Cu; /* 029904C0 */ Gambit_fn_02801A78(cpu); /* 029904C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029904C8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 029904C8 */ _t35 = _t34 & 0x00000001u; /* 029904C8 */ if (_t35) goto L_029904CC; else goto L_029904E8; L_029904CC: ; // 0x29904cc /* 029904CC */ cpu->r[7] = 0x10150000u; /* 029904D0 */ _t36 = cpu->r[28] + 0x00007399u; /* 029904D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36); /* 029904D4 */ cpu->r[7] = cpu->r[7] + 0xFFFFF9F4u; /* 029904D8 */ _t37 = cpu->r[29] + 0x00000000u; /* 029904D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37); /* 029904DC */ _t38 = cpu->r[29] + 0x00000004u; /* 029904DC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]); /* 029904E0 */ _t39 = cpu->r[8] + 0x00000000u; /* 029904E0 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]); /* 029904E4 */ goto L_02990520; L_029904E8: ; // 0x29904e8 /* 029904E8 */ cpu->r[5] = 0x10150000u; /* 029904EC */ cpu->r[0] = cpu->r[29] + 0x0000000Cu; /* 029904F0 */ cpu->r[5] = cpu->r[5] + 0xFFFFF9CCu; /* 029904F4 */ _t40 = cpu->r[3] + 0x00000000u; /* 029904F4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]); /* 029904F8 */ cpu->r[6] = 0x00000400u; /* 029904FC */ _t41 = cpu->r[3] + 0x00000004u; /* 029904FC */ rbrew_write32(cpu->mem, _t41, cpu->r[5]); /* 02990500 */ _t42 = cpu->r[3] + 0x00000008u; /* 02990500 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]); /* 02990504 */ _t43 = cpu->r[28] + 0x00007399u; /* 02990504 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43); /* 02990508 */ cpu->r[7] = 0x10150000u; /* 0299050C */ _t44 = cpu->r[29] + 0x00000000u; /* 0299050C */ cpu->r[8] = rbrew_read32(cpu->mem, _t44); /* 02990510 */ cpu->r[7] = cpu->r[7] + 0xFFFFF9F4u; /* 02990514 */ _t45 = cpu->r[29] + 0x0000040Bu; /* 02990514 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]); /* 02990518 */ _t46 = cpu->r[29] + 0x00000004u; /* 02990518 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]); /* 0299051C */ _t47 = cpu->r[8] + 0x00000000u; /* 0299051C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]); L_02990520: ; // 0x2990520 /* 02990520 */ cpu->r[9] = 0x10150000u; /* 02990524 */ cpu->r[12] = 0x00000002u; /* 02990528 */ cpu->r[9] = cpu->r[9] + 0xFFFFFA24u; /* 0299052C */ cpu->r[0] = cpu->r[1] + 0x00000090u; /* 02990530 */ _t48 = cpu->r[31] + 0x00000004u; /* 02990530 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]); /* 02990534 */ cpu->r[11] = cpu->r[1] + 0x00000018u; /* 02990538 */ _t49 = cpu->r[1] + 0x0000000Cu; /* 02990538 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 0299053C */ cpu->r[0] = 0x00000000u; /* 02990540 */ _t50 = cpu->r[1] + 0x00000010u; /* 02990540 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]); /* 02990544 */ cpu->r[3] = cpu->r[31]; /* 02990548 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0299054C */ _t51 = cpu->r[1] + 0x00000009u; /* 0299054C */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]); /* 02990550 */ cpu->r[4] = cpu->r[30]; /* 02990554 */ _t52 = cpu->r[1] + 0x00000008u; /* 02990554 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]); /* 02990558 */ Gambit_fn_0282A5DC(cpu); L_0299055C: ; // 0x299055c /* 0299055C */ _t53 = cpu->r[1] + 0x00000078u; /* 0299055C */ cpu->r[28] = rbrew_read32(cpu->mem, _t53); /* 02990560 */ _t54 = cpu->r[1] + 0x0000007Cu; /* 02990560 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54); /* 02990564 */ _t55 = cpu->r[1] + 0x0000008Cu; /* 02990564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55); /* 02990568 */ cpu->r[3] = cpu->r[31]; /* 0299056C */ _t56 = cpu->r[1] + 0x00000080u; /* 0299056C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56); /* 02990570 */ cpu->lr = cpu->r[0]; /* 02990574 */ _t57 = cpu->r[1] + 0x00000084u; /* 02990574 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57); /* 02990578 */ cpu->r[1] = cpu->r[1] + 0x00000088u; /* 0299057C */ return; } // fn_02990420 @ 0x2990420 void Gambit_fn_02990420(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_02990420: ; // 0x2990420 /* 02990420 */ _t0 = cpu->r[1] + 0xFFFFFF78u; /* 02990420 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02990420 */ cpu->r[1] = _t0; /* 02990424 */ _t1 = cpu->r[1] + 0x00000034u; /* 02990424 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]); /* 02990428 */ _t2 = cpu->r[1] + 0x00000084u; /* 02990428 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 0299042C */ _t3 = cpu->r[1] + 0x0000002Cu; /* 0299042C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]); /* 02990430 */ _t4 = cpu->r[1] + 0x00000020u; /* 02990430 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]); /* 02990434 */ _t5 = cpu->r[1] + 0x00000018u; /* 02990434 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]); /* 02990438 */ _t6 = cpu->r[1] + 0x0000008Cu; /* 02990438 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 0299043C */ _t7 = cpu->r[1] + 0x00000078u; /* 0299043C */ rbrew_write32(cpu->mem, _t7, cpu->r[28]); /* 02990440 */ _t8 = cpu->r[1] + 0x00000080u; /* 02990440 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]); /* 02990444 */ _t9 = cpu->r[1] + 0x00000024u; /* 02990444 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]); /* 02990448 */ _t10 = cpu->r[1] + 0x00000030u; /* 02990448 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]); /* 0299044C */ _t11 = cpu->r[1] + 0x0000007Cu; /* 0299044C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]); /* 02990450 */ _t12 = cpu->r[1] + 0x0000001Cu; /* 02990450 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]); /* 02990454 */ _t13 = cpu->r[1] + 0x00000028u; /* 02990454 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]); /* 02990458 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u); /* 02990458 */ _t15 = _t14 & 0x00000001u; /* 02990458 */ if (_t15) goto L_0299045C; else goto L_0299047C; L_0299045C: ; // 0x299045c /* 0299045C */ _t16 = cpu->r[1] + 0x00000048u; /* 0299045C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]); /* 02990460 */ _t17 = cpu->r[1] + 0x00000068u; /* 02990460 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]); /* 02990464 */ _t18 = cpu->r[1] + 0x00000060u; /* 02990464 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]); /* 02990468 */ _t19 = cpu->r[1] + 0x00000040u; /* 02990468 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]); /* 0299046C */ _t20 = cpu->r[1] + 0x00000050u; /* 0299046C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]); /* 02990470 */ _t21 = cpu->r[1] + 0x00000070u; /* 02990470 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]); /* 02990474 */ _t22 = cpu->r[1] + 0x00000058u; /* 02990474 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]); /* 02990478 */ _t23 = cpu->r[1] + 0x00000038u; /* 02990478 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]); L_0299047C: ; // 0x299047c /* 0299047C */ cpu->r[31] = cpu->r[3]; /* 0299047C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02990480 */ cpu->r[30] = cpu->r[4]; /* 02990484 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990484 */ _t25 = _t24 & 0x00000001u; /* 02990484 */ if (_t25) goto L_02990488; else goto L_02990498; L_02990488: ; // 0x2990488 /* 02990488 */ cpu->r[3] = 0x0000040Cu; /* 0299048C */ Gambit_fn_02801A78(cpu); /* 02990490 */ cpu->r[31] = cpu->r[3]; /* 02990490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02990494 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990494 */ _t27 = _t26 & 0x00000001u; /* 02990494 */ if (_t27) goto L_0299055C; else goto L_02990498; L_02990498: ; // 0x2990498 /* 02990498 */ cpu->r[29] = cpu->r[31]; /* 02990498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 0299049C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299049C */ _t29 = _t28 & 0x00000001u; /* 0299049C */ if (_t29) goto L_029904A0; else goto L_029904B0; L_029904A0: ; // 0x29904a0 /* 029904A0 */ cpu->r[3] = 0x0000040Cu; /* 029904A4 */ Gambit_fn_02801A78(cpu); /* 029904A8 */ cpu->r[29] = cpu->r[3]; /* 029904A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u); /* 029904AC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u); /* 029904AC */ _t31 = _t30 & 0x00000001u; /* 029904AC */ if (_t31) goto L_02990520; else goto L_029904B0; L_029904B0: ; // 0x29904b0 /* 029904B0 */ cpu->r[3] = cpu->r[29]; /* 029904B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029904B4 */ cpu->r[28] = 0x10110000u; /* 029904B8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u); /* 029904B8 */ _t33 = _t32 & 0x00000001u; /* 029904B8 */ if (_t33) goto L_029904BC; else goto L_029904E8; L_029904BC: ; // 0x29904bc /* 029904BC */ cpu->r[3] = 0x0000000Cu; /* 029904C0 */ Gambit_fn_02801A78(cpu); /* 029904C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029904C8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 029904C8 */ _t35 = _t34 & 0x00000001u; /* 029904C8 */ if (_t35) goto L_029904CC; else goto L_029904E8; L_029904CC: ; // 0x29904cc /* 029904CC */ cpu->r[7] = 0x10150000u; /* 029904D0 */ _t36 = cpu->r[28] + 0x00007399u; /* 029904D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36); /* 029904D4 */ cpu->r[7] = cpu->r[7] + 0xFFFFF9F4u; /* 029904D8 */ _t37 = cpu->r[29] + 0x00000000u; /* 029904D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37); /* 029904DC */ _t38 = cpu->r[29] + 0x00000004u; /* 029904DC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]); /* 029904E0 */ _t39 = cpu->r[8] + 0x00000000u; /* 029904E0 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]); /* 029904E4 */ goto L_02990520; L_029904E8: ; // 0x29904e8 /* 029904E8 */ cpu->r[5] = 0x10150000u; /* 029904EC */ cpu->r[0] = cpu->r[29] + 0x0000000Cu; /* 029904F0 */ cpu->r[5] = cpu->r[5] + 0xFFFFF9CCu; /* 029904F4 */ _t40 = cpu->r[3] + 0x00000000u; /* 029904F4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]); /* 029904F8 */ cpu->r[6] = 0x00000400u; /* 029904FC */ _t41 = cpu->r[3] + 0x00000004u; /* 029904FC */ rbrew_write32(cpu->mem, _t41, cpu->r[5]); /* 02990500 */ _t42 = cpu->r[3] + 0x00000008u; /* 02990500 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]); /* 02990504 */ _t43 = cpu->r[28] + 0x00007399u; /* 02990504 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43); /* 02990508 */ cpu->r[7] = 0x10150000u; /* 0299050C */ _t44 = cpu->r[29] + 0x00000000u; /* 0299050C */ cpu->r[8] = rbrew_read32(cpu->mem, _t44); /* 02990510 */ cpu->r[7] = cpu->r[7] + 0xFFFFF9F4u; /* 02990514 */ _t45 = cpu->r[29] + 0x0000040Bu; /* 02990514 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]); /* 02990518 */ _t46 = cpu->r[29] + 0x00000004u; /* 02990518 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]); /* 0299051C */ _t47 = cpu->r[8] + 0x00000000u; /* 0299051C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]); L_02990520: ; // 0x2990520 /* 02990520 */ cpu->r[9] = 0x10150000u; /* 02990524 */ cpu->r[12] = 0x00000002u; /* 02990528 */ cpu->r[9] = cpu->r[9] + 0xFFFFFA24u; /* 0299052C */ cpu->r[0] = cpu->r[1] + 0x00000090u; /* 02990530 */ _t48 = cpu->r[31] + 0x00000004u; /* 02990530 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]); /* 02990534 */ cpu->r[11] = cpu->r[1] + 0x00000018u; /* 02990538 */ _t49 = cpu->r[1] + 0x0000000Cu; /* 02990538 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]); /* 0299053C */ cpu->r[0] = 0x00000000u; /* 02990540 */ _t50 = cpu->r[1] + 0x00000010u; /* 02990540 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]); /* 02990544 */ cpu->r[3] = cpu->r[31]; /* 02990548 */ cpu->r[5] = cpu->r[1] + 0x00000008u; /* 0299054C */ _t51 = cpu->r[1] + 0x00000009u; /* 0299054C */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]); /* 02990550 */ cpu->r[4] = cpu->r[30]; /* 02990554 */ _t52 = cpu->r[1] + 0x00000008u; /* 02990554 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]); /* 02990558 */ Gambit_fn_0282A5DC(cpu); L_0299055C: ; // 0x299055c /* 0299055C */ _t53 = cpu->r[1] + 0x00000078u; /* 0299055C */ cpu->r[28] = rbrew_read32(cpu->mem, _t53); /* 02990560 */ _t54 = cpu->r[1] + 0x0000007Cu; /* 02990560 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54); /* 02990564 */ _t55 = cpu->r[1] + 0x0000008Cu; /* 02990564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55); /* 02990568 */ cpu->r[3] = cpu->r[31]; /* 0299056C */ _t56 = cpu->r[1] + 0x00000080u; /* 0299056C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56); /* 02990570 */ cpu->lr = cpu->r[0]; /* 02990574 */ _t57 = cpu->r[1] + 0x00000084u; /* 02990574 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57); /* 02990578 */ cpu->r[1] = cpu->r[1] + 0x00000088u; /* 0299057C */ return; } // fn_02990580 @ 0x2990580 void Gambit_fn_02990580(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_02990580: ; // 0x2990580 /* 02990580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990584 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990584 */ _t17 = _t16 & 0x00000001u; /* 02990584 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02990584 */ goto L_02990588; L_02990588: ; // 0x2990588 /* 02990588 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02990588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0299058C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299058C */ _t19 = _t18 & 0x00000001u; /* 0299058C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 0299058C */ goto L_02990590; L_02990590: ; // 0x2990590 /* 02990590 */ goto L_02801BB0; } // fn_02990594 @ 0x2990594 void Gambit_fn_02990594(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_02990594: ; // 0x2990594 /* 02990594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990598 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990598 */ _t17 = _t16 & 0x00000001u; /* 02990598 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 02990598 */ goto L_0299059C; L_0299059C: ; // 0x299059c /* 0299059C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 0299059C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029905A0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 029905A0 */ _t19 = _t18 & 0x00000001u; /* 029905A0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029905A0 */ goto L_029905A4; L_029905A4: ; // 0x29905a4 /* 029905A4 */ goto L_02801BB0; } // fn_029905A8 @ 0x29905a8 void Gambit_fn_029905A8(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_029905A8: ; // 0x29905a8 /* 029905A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029905AC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 029905AC */ _t17 = _t16 & 0x00000001u; /* 029905AC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029905AC */ goto L_029905B0; L_029905B0: ; // 0x29905b0 /* 029905B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029905B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029905B4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 029905B4 */ _t19 = _t18 & 0x00000001u; /* 029905B4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029905B4 */ goto L_029905B8; L_029905B8: ; // 0x29905b8 /* 029905B8 */ goto L_02801BB0; } // fn_029905BC @ 0x29905bc void Gambit_fn_029905BC(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; L_029905BC: ; // 0x29905bc /* 029905BC */ cpu->r[0] = cpu->lr; /* 029905C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029905C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029905C0 */ cpu->r[1] = _t0; /* 029905C4 */ _t1 = cpu->r[1] + 0x00000014u; /* 029905C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029905C8 */ cpu->r[31] = cpu->r[4]; /* 029905CC */ _t2 = cpu->r[1] + 0x00000010u; /* 029905CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029905D0 */ _t3 = cpu->r[1] + 0x00000008u; /* 029905D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 029905D4 */ cpu->r[30] = cpu->r[3]; /* 029905D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 029905D8 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 029905D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 029905DC */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029905DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029905E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029905E0 */ _t7 = _t6 & 0x00000001u; /* 029905E0 */ if (_t7) goto L_029906D8; else goto L_029905E4; L_029905E4: ; // 0x29905e4 /* 029905E4 */ cpu->r[11] = 0x10150000u; /* 029905E8 */ cpu->r[0] = 0x10150000u; /* 029905EC */ _t8 = cpu->r[30] + 0x000000A8u; /* 029905EC */ cpu->r[28] = rbrew_read16(cpu->mem, _t8); /* 029905F0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFBDCu; /* 029905F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBB4u; /* 029905F8 */ _t9 = cpu->r[30] + 0x00000088u; /* 029905F8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]); /* 029905FC */ cpu->r[9] = 0x10150000u; /* 02990600 */ _t10 = cpu->r[30] + 0x0000008Cu; /* 02990600 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 02990604 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBCCu; /* 02990608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0299060C */ _t11 = cpu->r[30] + 0x00000090u; /* 0299060C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 02990610 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990610 */ _t13 = _t12 & 0x00000001u; /* 02990610 */ if (_t13) goto L_02990648; else goto L_02990614; L_02990614: ; // 0x2990614 /* 02990614 */ cpu->r[29] = 0x00000000u; L_02990618: ; // 0x2990618 /* 02990618 */ _t14 = cpu->r[30] + 0x000000CCu; /* 02990618 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 0299061C */ _t15 = cpu->r[10] + cpu->r[29]; /* 0299061C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 02990620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990624 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990624 */ _t17 = _t16 & 0x00000001u; /* 02990624 */ if (_t17) goto L_0299063C; else goto L_02990628; L_02990628: ; // 0x2990628 /* 02990628 */ _t18 = cpu->r[3] + 0x0000000Cu; /* 02990628 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 0299062C */ _t19 = cpu->r[12] + 0x0000000Cu; /* 0299062C */ cpu->r[7] = rbrew_read32(cpu->mem, _t19); /* 02990630 */ cpu->ctr = cpu->r[7]; /* 02990634 */ cpu->r[4] = 0x00000003u; /* 02990638 */ rbrew_call_indirect(cpu, cpu->ctr); L_0299063C: ; // 0x299063c /* 0299063C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 0299063C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02990640 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 02990644 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990644 */ _t21 = _t20 & 0x00000001u; /* 02990644 */ if (_t21) goto L_02990648; else goto L_02990618; L_02990648: ; // 0x2990648 /* 02990648 */ _t22 = cpu->r[30] + 0x000000D4u; /* 02990648 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 0299064C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990650 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990650 */ _t24 = _t23 & 0x00000001u; /* 02990650 */ if (_t24) goto L_02990668; else goto L_02990654; L_02990654: ; // 0x2990654 /* 02990654 */ _t25 = cpu->r[3] + 0x00000000u; /* 02990654 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25); /* 02990658 */ _t26 = cpu->r[11] + 0x00000014u; /* 02990658 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26); /* 0299065C */ cpu->ctr = cpu->r[6]; /* 02990660 */ cpu->r[4] = 0x00000003u; /* 02990664 */ rbrew_call_indirect(cpu, cpu->ctr); L_02990668: ; // 0x2990668 /* 02990668 */ _t27 = cpu->r[30] + 0x000000D0u; /* 02990668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27); /* 0299066C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990670 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990670 */ _t29 = _t28 & 0x00000001u; /* 02990670 */ if (_t29) goto L_02990694; else goto L_02990674; L_02990674: ; // 0x2990674 /* 02990674 */ _t30 = cpu->r[3] + 0x00000004u; /* 02990674 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30); /* 02990678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]); /* 0299067C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299067C */ _t32 = _t31 & 0x00000001u; /* 0299067C */ if (_t32) goto L_02990680; else goto L_02990694; L_02990680: ; // 0x2990680 /* 02990680 */ _t33 = cpu->r[3] + 0x00000000u; /* 02990680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33); /* 02990684 */ _t34 = cpu->r[9] + 0x00000014u; /* 02990684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 02990688 */ cpu->ctr = cpu->r[0]; /* 0299068C */ cpu->r[4] = 0x00000003u; /* 02990690 */ rbrew_call_indirect(cpu, cpu->ctr); L_02990694: ; // 0x2990694 /* 02990694 */ cpu->r[3] = cpu->r[30] + 0x00000094u; /* 02990698 */ Gambit_fn_02C50688(cpu); /* 0299069C */ _t35 = cpu->r[30] + 0x000000C0u; /* 0299069C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35); /* 029906A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029906A4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 029906A4 */ _t37 = _t36 & 0x00000001u; /* 029906A4 */ if (_t37) goto L_029906AC; else goto L_029906A8; L_029906A8: ; // 0x29906a8 /* 029906A8 */ Gambit_fn_02801BB0(cpu); L_029906AC: ; // 0x29906ac /* 029906AC */ _t38 = cpu->r[30] + 0x000000C4u; /* 029906AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 029906B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029906B4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 029906B4 */ _t40 = _t39 & 0x00000001u; /* 029906B4 */ if (_t40) goto L_029906BC; else goto L_029906B8; L_029906B8: ; // 0x29906b8 /* 029906B8 */ Gambit_fn_02801BB0(cpu); L_029906BC: ; // 0x29906bc /* 029906BC */ cpu->r[3] = cpu->r[30]; /* 029906C0 */ cpu->r[4] = 0x00000000u; /* 029906C4 */ Gambit_fn_029DA740(cpu); /* 029906C8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029906C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029906CC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 029906CC */ _t42 = _t41 & 0x00000001u; /* 029906CC */ if (_t42) goto L_029906D8; else goto L_029906D0; L_029906D0: ; // 0x29906d0 /* 029906D0 */ cpu->r[3] = cpu->r[30]; /* 029906D4 */ Gambit_fn_02801BB0(cpu); L_029906D8: ; // 0x29906d8 /* 029906D8 */ _t43 = cpu->r[1] + 0x00000008u; /* 029906D8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t43); /* 029906DC */ _t44 = cpu->r[1] + 0x0000000Cu; /* 029906DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t44); /* 029906E0 */ _t45 = cpu->r[1] + 0x0000001Cu; /* 029906E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 029906E4 */ _t46 = cpu->r[1] + 0x00000010u; /* 029906E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t46); /* 029906E8 */ cpu->lr = cpu->r[0]; /* 029906EC */ _t47 = cpu->r[1] + 0x00000014u; /* 029906EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t47); /* 029906F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029906F4 */ return; } // fn_029905C0 @ 0x29905c0 void Gambit_fn_029905C0(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; L_029905C0: ; // 0x29905c0 /* 029905C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029905C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029905C0 */ cpu->r[1] = _t0; /* 029905C4 */ _t1 = cpu->r[1] + 0x00000014u; /* 029905C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029905C8 */ cpu->r[31] = cpu->r[4]; /* 029905CC */ _t2 = cpu->r[1] + 0x00000010u; /* 029905CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029905D0 */ _t3 = cpu->r[1] + 0x00000008u; /* 029905D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 029905D4 */ cpu->r[30] = cpu->r[3]; /* 029905D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 029905D8 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 029905D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 029905DC */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029905DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029905E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029905E0 */ _t7 = _t6 & 0x00000001u; /* 029905E0 */ if (_t7) goto L_029906D8; else goto L_029905E4; L_029905E4: ; // 0x29905e4 /* 029905E4 */ cpu->r[11] = 0x10150000u; /* 029905E8 */ cpu->r[0] = 0x10150000u; /* 029905EC */ _t8 = cpu->r[30] + 0x000000A8u; /* 029905EC */ cpu->r[28] = rbrew_read16(cpu->mem, _t8); /* 029905F0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFBDCu; /* 029905F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBB4u; /* 029905F8 */ _t9 = cpu->r[30] + 0x00000088u; /* 029905F8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]); /* 029905FC */ cpu->r[9] = 0x10150000u; /* 02990600 */ _t10 = cpu->r[30] + 0x0000008Cu; /* 02990600 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 02990604 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBCCu; /* 02990608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 0299060C */ _t11 = cpu->r[30] + 0x00000090u; /* 0299060C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]); /* 02990610 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990610 */ _t13 = _t12 & 0x00000001u; /* 02990610 */ if (_t13) goto L_02990648; else goto L_02990614; L_02990614: ; // 0x2990614 /* 02990614 */ cpu->r[29] = 0x00000000u; L_02990618: ; // 0x2990618 /* 02990618 */ _t14 = cpu->r[30] + 0x000000CCu; /* 02990618 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14); /* 0299061C */ _t15 = cpu->r[10] + cpu->r[29]; /* 0299061C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15); /* 02990620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990624 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990624 */ _t17 = _t16 & 0x00000001u; /* 02990624 */ if (_t17) goto L_0299063C; else goto L_02990628; L_02990628: ; // 0x2990628 /* 02990628 */ _t18 = cpu->r[3] + 0x0000000Cu; /* 02990628 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18); /* 0299062C */ _t19 = cpu->r[12] + 0x0000000Cu; /* 0299062C */ cpu->r[7] = rbrew_read32(cpu->mem, _t19); /* 02990630 */ cpu->ctr = cpu->r[7]; /* 02990634 */ cpu->r[4] = 0x00000003u; /* 02990638 */ rbrew_call_indirect(cpu, cpu->ctr); L_0299063C: ; // 0x299063c /* 0299063C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu; /* 0299063C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02990640 */ cpu->r[29] = cpu->r[29] + 0x00000004u; /* 02990644 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990644 */ _t21 = _t20 & 0x00000001u; /* 02990644 */ if (_t21) goto L_02990648; else goto L_02990618; L_02990648: ; // 0x2990648 /* 02990648 */ _t22 = cpu->r[30] + 0x000000D4u; /* 02990648 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22); /* 0299064C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990650 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990650 */ _t24 = _t23 & 0x00000001u; /* 02990650 */ if (_t24) goto L_02990668; else goto L_02990654; L_02990654: ; // 0x2990654 /* 02990654 */ _t25 = cpu->r[3] + 0x00000000u; /* 02990654 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25); /* 02990658 */ _t26 = cpu->r[11] + 0x00000014u; /* 02990658 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26); /* 0299065C */ cpu->ctr = cpu->r[6]; /* 02990660 */ cpu->r[4] = 0x00000003u; /* 02990664 */ rbrew_call_indirect(cpu, cpu->ctr); L_02990668: ; // 0x2990668 /* 02990668 */ _t27 = cpu->r[30] + 0x000000D0u; /* 02990668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27); /* 0299066C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990670 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990670 */ _t29 = _t28 & 0x00000001u; /* 02990670 */ if (_t29) goto L_02990694; else goto L_02990674; L_02990674: ; // 0x2990674 /* 02990674 */ _t30 = cpu->r[3] + 0x00000004u; /* 02990674 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30); /* 02990678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]); /* 0299067C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299067C */ _t32 = _t31 & 0x00000001u; /* 0299067C */ if (_t32) goto L_02990680; else goto L_02990694; L_02990680: ; // 0x2990680 /* 02990680 */ _t33 = cpu->r[3] + 0x00000000u; /* 02990680 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33); /* 02990684 */ _t34 = cpu->r[9] + 0x00000014u; /* 02990684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 02990688 */ cpu->ctr = cpu->r[0]; /* 0299068C */ cpu->r[4] = 0x00000003u; /* 02990690 */ rbrew_call_indirect(cpu, cpu->ctr); L_02990694: ; // 0x2990694 /* 02990694 */ cpu->r[3] = cpu->r[30] + 0x00000094u; /* 02990698 */ Gambit_fn_02C50688(cpu); /* 0299069C */ _t35 = cpu->r[30] + 0x000000C0u; /* 0299069C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35); /* 029906A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029906A4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 029906A4 */ _t37 = _t36 & 0x00000001u; /* 029906A4 */ if (_t37) goto L_029906AC; else goto L_029906A8; L_029906A8: ; // 0x29906a8 /* 029906A8 */ Gambit_fn_02801BB0(cpu); L_029906AC: ; // 0x29906ac /* 029906AC */ _t38 = cpu->r[30] + 0x000000C4u; /* 029906AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t38); /* 029906B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029906B4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u); /* 029906B4 */ _t40 = _t39 & 0x00000001u; /* 029906B4 */ if (_t40) goto L_029906BC; else goto L_029906B8; L_029906B8: ; // 0x29906b8 /* 029906B8 */ Gambit_fn_02801BB0(cpu); L_029906BC: ; // 0x29906bc /* 029906BC */ cpu->r[3] = cpu->r[30]; /* 029906C0 */ cpu->r[4] = 0x00000000u; /* 029906C4 */ Gambit_fn_029DA740(cpu); /* 029906C8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 029906C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029906CC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 029906CC */ _t42 = _t41 & 0x00000001u; /* 029906CC */ if (_t42) goto L_029906D8; else goto L_029906D0; L_029906D0: ; // 0x29906d0 /* 029906D0 */ cpu->r[3] = cpu->r[30]; /* 029906D4 */ Gambit_fn_02801BB0(cpu); L_029906D8: ; // 0x29906d8 /* 029906D8 */ _t43 = cpu->r[1] + 0x00000008u; /* 029906D8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t43); /* 029906DC */ _t44 = cpu->r[1] + 0x0000000Cu; /* 029906DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t44); /* 029906E0 */ _t45 = cpu->r[1] + 0x0000001Cu; /* 029906E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45); /* 029906E4 */ _t46 = cpu->r[1] + 0x00000010u; /* 029906E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t46); /* 029906E8 */ cpu->lr = cpu->r[0]; /* 029906EC */ _t47 = cpu->r[1] + 0x00000014u; /* 029906EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t47); /* 029906F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029906F4 */ return; } // fn_029906F8 @ 0x29906f8 void Gambit_fn_029906F8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_029906F8: ; // 0x29906f8 /* 029906F8 */ cpu->r[0] = cpu->lr; /* 029906FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029906FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029906FC */ cpu->r[1] = _t0; /* 02990700 */ _t1 = cpu->r[1] + 0x00000014u; /* 02990700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02990704 */ cpu->r[31] = cpu->r[4]; /* 02990708 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02990708 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0299070C */ _t3 = cpu->r[31] + 0x00000000u; /* 0299070C */ cpu->r[6] = rbrew_read32(cpu->mem, _t3); /* 02990710 */ _t4 = cpu->r[5] + 0x00000008u; /* 02990710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02990714 */ _t5 = cpu->r[6] + 0x00000000u; /* 02990714 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5); /* 02990718 */ cpu->r[9] = 0x34000000u; /* 0299071C */ _t6 = cpu->r[1] + 0x00000008u; /* 0299071C */ rbrew_write32(cpu->mem, _t6, cpu->r[7]); /* 02990720 */ _t7 = cpu->r[12] + 0x00000000u; /* 02990720 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 02990724 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 02990728 */ cpu->r[8] = cpu->r[8] & cpu->r[9]; /* 0299072C */ _t8 = cpu->r[12] + 0x00000000u; /* 0299072C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 02990730 */ _t9 = cpu->r[5] + 0x00000000u; /* 02990730 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02990734 */ _t10 = cpu->r[5] + 0x00000004u; /* 02990734 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 02990738 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02990738 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]); /* 0299073C */ _t12 = cpu->r[1] + 0x00000010u; /* 0299073C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]); /* 02990740 */ _t13 = cpu->r[3] + 0x000000E4u; /* 02990740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 02990740 */ cpu->r[3] = _t13; /* 02990744 */ _t14 = cpu->r[12] + 0x0000000Cu; /* 02990744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02990748 */ cpu->ctr = cpu->r[0]; /* 0299074C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02990750 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990754 */ _t15 = cpu->r[1] + 0x00000008u; /* 02990754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02990758 */ _t16 = cpu->r[31] + 0x00000004u; /* 02990758 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 0299075C */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0299075C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02990760 */ cpu->lr = cpu->r[0]; /* 02990764 */ _t18 = cpu->r[1] + 0x00000014u; /* 02990764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02990768 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0299076C */ return; } // fn_029906FC @ 0x29906fc void Gambit_fn_029906FC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_029906FC: ; // 0x29906fc /* 029906FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029906FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029906FC */ cpu->r[1] = _t0; /* 02990700 */ _t1 = cpu->r[1] + 0x00000014u; /* 02990700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02990704 */ cpu->r[31] = cpu->r[4]; /* 02990708 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02990708 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0299070C */ _t3 = cpu->r[31] + 0x00000000u; /* 0299070C */ cpu->r[6] = rbrew_read32(cpu->mem, _t3); /* 02990710 */ _t4 = cpu->r[5] + 0x00000008u; /* 02990710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02990714 */ _t5 = cpu->r[6] + 0x00000000u; /* 02990714 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5); /* 02990718 */ cpu->r[9] = 0x34000000u; /* 0299071C */ _t6 = cpu->r[1] + 0x00000008u; /* 0299071C */ rbrew_write32(cpu->mem, _t6, cpu->r[7]); /* 02990720 */ _t7 = cpu->r[12] + 0x00000000u; /* 02990720 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 02990724 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 02990728 */ cpu->r[8] = cpu->r[8] & cpu->r[9]; /* 0299072C */ _t8 = cpu->r[12] + 0x00000000u; /* 0299072C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 02990730 */ _t9 = cpu->r[5] + 0x00000000u; /* 02990730 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02990734 */ _t10 = cpu->r[5] + 0x00000004u; /* 02990734 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 02990738 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02990738 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]); /* 0299073C */ _t12 = cpu->r[1] + 0x00000010u; /* 0299073C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]); /* 02990740 */ _t13 = cpu->r[3] + 0x000000E4u; /* 02990740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 02990740 */ cpu->r[3] = _t13; /* 02990744 */ _t14 = cpu->r[12] + 0x0000000Cu; /* 02990744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02990748 */ cpu->ctr = cpu->r[0]; /* 0299074C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02990750 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990754 */ _t15 = cpu->r[1] + 0x00000008u; /* 02990754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02990758 */ _t16 = cpu->r[31] + 0x00000004u; /* 02990758 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 0299075C */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0299075C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02990760 */ cpu->lr = cpu->r[0]; /* 02990764 */ _t18 = cpu->r[1] + 0x00000014u; /* 02990764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02990768 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0299076C */ return; } // fn_02990770 @ 0x2990770 void Gambit_fn_02990770(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18; L_029906F8: ; // 0x29906f8 /* 029906F8 */ cpu->r[0] = cpu->lr; /* 029906FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029906FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029906FC */ cpu->r[1] = _t0; /* 02990700 */ _t1 = cpu->r[1] + 0x00000014u; /* 02990700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02990704 */ cpu->r[31] = cpu->r[4]; /* 02990708 */ _t2 = cpu->r[1] + 0x0000001Cu; /* 02990708 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 0299070C */ _t3 = cpu->r[31] + 0x00000000u; /* 0299070C */ cpu->r[6] = rbrew_read32(cpu->mem, _t3); /* 02990710 */ _t4 = cpu->r[5] + 0x00000008u; /* 02990710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4); /* 02990714 */ _t5 = cpu->r[6] + 0x00000000u; /* 02990714 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5); /* 02990718 */ cpu->r[9] = 0x34000000u; /* 0299071C */ _t6 = cpu->r[1] + 0x00000008u; /* 0299071C */ rbrew_write32(cpu->mem, _t6, cpu->r[7]); /* 02990720 */ _t7 = cpu->r[12] + 0x00000000u; /* 02990720 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 02990724 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu; /* 02990728 */ cpu->r[8] = cpu->r[8] & cpu->r[9]; /* 0299072C */ _t8 = cpu->r[12] + 0x00000000u; /* 0299072C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]); /* 02990730 */ _t9 = cpu->r[5] + 0x00000000u; /* 02990730 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02990734 */ _t10 = cpu->r[5] + 0x00000004u; /* 02990734 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10); /* 02990738 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02990738 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]); /* 0299073C */ _t12 = cpu->r[1] + 0x00000010u; /* 0299073C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]); /* 02990740 */ _t13 = cpu->r[3] + 0x000000E4u; /* 02990740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 02990740 */ cpu->r[3] = _t13; /* 02990744 */ _t14 = cpu->r[12] + 0x0000000Cu; /* 02990744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02990748 */ cpu->ctr = cpu->r[0]; /* 0299074C */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 02990750 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990754 */ _t15 = cpu->r[1] + 0x00000008u; /* 02990754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15); /* 02990758 */ _t16 = cpu->r[31] + 0x00000004u; /* 02990758 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]); /* 0299075C */ _t17 = cpu->r[1] + 0x0000001Cu; /* 0299075C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 02990760 */ cpu->lr = cpu->r[0]; /* 02990764 */ _t18 = cpu->r[1] + 0x00000014u; /* 02990764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02990768 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0299076C */ return; L_02990770: ; // 0x2990770 /* 02990770 */ cpu->r[3] = cpu->r[3] + 0xFFFFFF74u; /* 02990774 */ goto L_029906F8; } // fn_02990778 @ 0x2990778 void Gambit_fn_02990778(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_02990778: ; // 0x2990778 /* 02990778 */ cpu->r[0] = cpu->lr; /* 0299077C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0299077C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0299077C */ cpu->r[1] = _t0; /* 02990780 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02990780 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02990784 */ _t2 = cpu->r[1] + 0x00000008u; /* 02990784 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02990788 */ cpu->r[31] = cpu->r[3]; /* 02990788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0299078C */ _t3 = cpu->r[1] + 0x00000014u; /* 0299078C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02990790 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990790 */ _t5 = _t4 & 0x00000001u; /* 02990790 */ if (_t5) goto L_02990794; else goto L_029907A4; L_02990794: ; // 0x2990794 /* 02990794 */ cpu->r[3] = 0x00000104u; /* 02990798 */ Gambit_fn_02801A78(cpu); /* 0299079C */ cpu->r[31] = cpu->r[3]; /* 0299079C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029907A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029907A0 */ _t7 = _t6 & 0x00000001u; /* 029907A0 */ if (_t7) goto L_02990858; else goto L_029907A4; L_029907A4: ; // 0x29907a4 /* 029907A4 */ cpu->r[3] = cpu->r[31]; /* 029907A8 */ Gambit_fn_029DA4E8(cpu); /* 029907AC */ cpu->r[0] = 0x10150000u; /* 029907B0 */ cpu->r[10] = 0x10150000u; /* 029907B4 */ cpu->r[11] = 0x10150000u; /* 029907B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBDCu; /* 029907BC */ cpu->r[10] = cpu->r[10] + 0xFFFFFBB4u; /* 029907C0 */ _t8 = cpu->r[31] + 0x00000088u; /* 029907C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 029907C4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFBCCu; /* 029907C8 */ cpu->r[3] = cpu->r[31] + 0x00000094u; /* 029907C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029907CC */ _t9 = cpu->r[31] + 0x0000008Cu; /* 029907CC */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 029907D0 */ cpu->r[30] = 0x00000000u; /* 029907D4 */ _t10 = cpu->r[31] + 0x00000090u; /* 029907D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]); /* 029907D8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 029907D8 */ _t12 = _t11 & 0x00000001u; /* 029907D8 */ if (_t12) goto L_029907DC; else goto L_029907EC; L_029907DC: ; // 0x29907dc /* 029907DC */ cpu->r[3] = 0x00000034u; /* 029907E0 */ Gambit_fn_02801A78(cpu); /* 029907E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029907E8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 029907E8 */ _t14 = _t13 & 0x00000001u; /* 029907E8 */ if (_t14) goto L_029907FC; else goto L_029907EC; L_029907EC: ; // 0x29907ec /* 029907EC */ _t15 = cpu->r[3] + 0x00000028u; /* 029907EC */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); /* 029907F0 */ _t16 = cpu->r[3] + 0x0000002Cu; /* 029907F0 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]); /* 029907F4 */ _t17 = cpu->r[3] + 0x00000000u; /* 029907F4 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]); /* 029907F8 */ _t18 = cpu->r[3] + 0x00000030u; /* 029907F8 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]); L_029907FC: ; // 0x29907fc /* 029907FC */ cpu->r[3] = cpu->r[31] + 0x000000C8u; /* 029907FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990800 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990800 */ _t20 = _t19 & 0x00000001u; /* 02990800 */ if (_t20) goto L_02990804; else goto L_02990814; L_02990804: ; // 0x2990804 /* 02990804 */ cpu->r[3] = 0x00000001u; /* 02990808 */ Gambit_fn_02801A78(cpu); /* 0299080C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990810 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990810 */ _t22 = _t21 & 0x00000001u; /* 02990810 */ if (_t22) goto L_0299081C; else goto L_02990814; L_02990814: ; // 0x2990814 /* 02990814 */ cpu->r[12] = 0x00000008u; /* 02990818 */ _t23 = cpu->r[3] + 0x00000000u; /* 02990818 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]); L_0299081C: ; // 0x299081c /* 0299081C */ cpu->r[3] = cpu->r[31] + 0x000000CAu; /* 0299081C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990820 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990820 */ _t25 = _t24 & 0x00000001u; /* 02990820 */ if (_t25) goto L_02990824; else goto L_02990834; L_02990824: ; // 0x2990824 /* 02990824 */ cpu->r[3] = 0x00000002u; /* 02990828 */ Gambit_fn_02801A78(cpu); /* 0299082C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990830 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990830 */ _t27 = _t26 & 0x00000001u; /* 02990830 */ if (_t27) goto L_02990838; else goto L_02990834; L_02990834: ; // 0x2990834 /* 02990834 */ _t28 = cpu->r[3] + 0x00000000u; /* 02990834 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[30]); L_02990838: ; // 0x2990838 /* 02990838 */ _t29 = cpu->r[31] + 0x000000D0u; /* 02990838 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]); /* 0299083C */ cpu->r[3] = cpu->r[31] + 0x00000090u; /* 02990840 */ _t30 = cpu->r[31] + 0x000000E0u; /* 02990840 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]); /* 02990844 */ cpu->r[4] = 0x0000002Du; /* 02990848 */ _t31 = cpu->r[31] + 0x000000CCu; /* 02990848 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]); /* 0299084C */ _t32 = cpu->r[31] + 0x000000D4u; /* 0299084C */ rbrew_write32(cpu->mem, _t32, cpu->r[30]); /* 02990850 */ _t33 = cpu->r[31] + 0x000000D8u; /* 02990850 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]); /* 02990854 */ Gambit_fn_02A112C8(cpu); L_02990858: ; // 0x2990858 /* 02990858 */ _t34 = cpu->r[1] + 0x00000014u; /* 02990858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 0299085C */ cpu->r[3] = cpu->r[31]; /* 02990860 */ _t35 = cpu->r[1] + 0x0000000Cu; /* 02990860 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35); /* 02990864 */ cpu->lr = cpu->r[0]; /* 02990868 */ _t36 = cpu->r[1] + 0x00000008u; /* 02990868 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36); /* 0299086C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02990870 */ return; } // fn_0299077C @ 0x299077c void Gambit_fn_0299077C(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_0299077C: ; // 0x299077c /* 0299077C */ _t0 = cpu->r[1] + 0xFFFFFFF0u; /* 0299077C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0299077C */ cpu->r[1] = _t0; /* 02990780 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 02990780 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02990784 */ _t2 = cpu->r[1] + 0x00000008u; /* 02990784 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02990788 */ cpu->r[31] = cpu->r[3]; /* 02990788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 0299078C */ _t3 = cpu->r[1] + 0x00000014u; /* 0299078C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]); /* 02990790 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990790 */ _t5 = _t4 & 0x00000001u; /* 02990790 */ if (_t5) goto L_02990794; else goto L_029907A4; L_02990794: ; // 0x2990794 /* 02990794 */ cpu->r[3] = 0x00000104u; /* 02990798 */ Gambit_fn_02801A78(cpu); /* 0299079C */ cpu->r[31] = cpu->r[3]; /* 0299079C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 029907A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 029907A0 */ _t7 = _t6 & 0x00000001u; /* 029907A0 */ if (_t7) goto L_02990858; else goto L_029907A4; L_029907A4: ; // 0x29907a4 /* 029907A4 */ cpu->r[3] = cpu->r[31]; /* 029907A8 */ Gambit_fn_029DA4E8(cpu); /* 029907AC */ cpu->r[0] = 0x10150000u; /* 029907B0 */ cpu->r[10] = 0x10150000u; /* 029907B4 */ cpu->r[11] = 0x10150000u; /* 029907B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBDCu; /* 029907BC */ cpu->r[10] = cpu->r[10] + 0xFFFFFBB4u; /* 029907C0 */ _t8 = cpu->r[31] + 0x00000088u; /* 029907C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 029907C4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFBCCu; /* 029907C8 */ cpu->r[3] = cpu->r[31] + 0x00000094u; /* 029907C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029907CC */ _t9 = cpu->r[31] + 0x0000008Cu; /* 029907CC */ rbrew_write32(cpu->mem, _t9, cpu->r[10]); /* 029907D0 */ cpu->r[30] = 0x00000000u; /* 029907D4 */ _t10 = cpu->r[31] + 0x00000090u; /* 029907D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]); /* 029907D8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 029907D8 */ _t12 = _t11 & 0x00000001u; /* 029907D8 */ if (_t12) goto L_029907DC; else goto L_029907EC; L_029907DC: ; // 0x29907dc /* 029907DC */ cpu->r[3] = 0x00000034u; /* 029907E0 */ Gambit_fn_02801A78(cpu); /* 029907E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029907E8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 029907E8 */ _t14 = _t13 & 0x00000001u; /* 029907E8 */ if (_t14) goto L_029907FC; else goto L_029907EC; L_029907EC: ; // 0x29907ec /* 029907EC */ _t15 = cpu->r[3] + 0x00000028u; /* 029907EC */ rbrew_write32(cpu->mem, _t15, cpu->r[30]); /* 029907F0 */ _t16 = cpu->r[3] + 0x0000002Cu; /* 029907F0 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]); /* 029907F4 */ _t17 = cpu->r[3] + 0x00000000u; /* 029907F4 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]); /* 029907F8 */ _t18 = cpu->r[3] + 0x00000030u; /* 029907F8 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]); L_029907FC: ; // 0x29907fc /* 029907FC */ cpu->r[3] = cpu->r[31] + 0x000000C8u; /* 029907FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990800 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990800 */ _t20 = _t19 & 0x00000001u; /* 02990800 */ if (_t20) goto L_02990804; else goto L_02990814; L_02990804: ; // 0x2990804 /* 02990804 */ cpu->r[3] = 0x00000001u; /* 02990808 */ Gambit_fn_02801A78(cpu); /* 0299080C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990810 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990810 */ _t22 = _t21 & 0x00000001u; /* 02990810 */ if (_t22) goto L_0299081C; else goto L_02990814; L_02990814: ; // 0x2990814 /* 02990814 */ cpu->r[12] = 0x00000008u; /* 02990818 */ _t23 = cpu->r[3] + 0x00000000u; /* 02990818 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]); L_0299081C: ; // 0x299081c /* 0299081C */ cpu->r[3] = cpu->r[31] + 0x000000CAu; /* 0299081C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990820 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990820 */ _t25 = _t24 & 0x00000001u; /* 02990820 */ if (_t25) goto L_02990824; else goto L_02990834; L_02990824: ; // 0x2990824 /* 02990824 */ cpu->r[3] = 0x00000002u; /* 02990828 */ Gambit_fn_02801A78(cpu); /* 0299082C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990830 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990830 */ _t27 = _t26 & 0x00000001u; /* 02990830 */ if (_t27) goto L_02990838; else goto L_02990834; L_02990834: ; // 0x2990834 /* 02990834 */ _t28 = cpu->r[3] + 0x00000000u; /* 02990834 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[30]); L_02990838: ; // 0x2990838 /* 02990838 */ _t29 = cpu->r[31] + 0x000000D0u; /* 02990838 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]); /* 0299083C */ cpu->r[3] = cpu->r[31] + 0x00000090u; /* 02990840 */ _t30 = cpu->r[31] + 0x000000E0u; /* 02990840 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]); /* 02990844 */ cpu->r[4] = 0x0000002Du; /* 02990848 */ _t31 = cpu->r[31] + 0x000000CCu; /* 02990848 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]); /* 0299084C */ _t32 = cpu->r[31] + 0x000000D4u; /* 0299084C */ rbrew_write32(cpu->mem, _t32, cpu->r[30]); /* 02990850 */ _t33 = cpu->r[31] + 0x000000D8u; /* 02990850 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]); /* 02990854 */ Gambit_fn_02A112C8(cpu); L_02990858: ; // 0x2990858 /* 02990858 */ _t34 = cpu->r[1] + 0x00000014u; /* 02990858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 0299085C */ cpu->r[3] = cpu->r[31]; /* 02990860 */ _t35 = cpu->r[1] + 0x0000000Cu; /* 02990860 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35); /* 02990864 */ cpu->lr = cpu->r[0]; /* 02990868 */ _t36 = cpu->r[1] + 0x00000008u; /* 02990868 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36); /* 0299086C */ cpu->r[1] = cpu->r[1] + 0x00000010u; /* 02990870 */ return; } // fn_02990874 @ 0x2990874 void Gambit_fn_02990874(CPUState* cpu) { uint32_t _t0, _t1; L_02990874: ; // 0x2990874 /* 02990874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u); /* 02990878 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u); /* 02990878 */ _t1 = _t0 & 0x00000001u; /* 02990878 */ if (_t1) goto L_02990888; else goto L_0299087C; L_0299087C: ; // 0x299087c /* 0299087C */ cpu->r[12] = cpu->r[4] + 0x00000001u; /* 02990880 */ /* nop */ /* 02990884 */ cpu->r[4] = cpu->r[0]; L_02990888: ; // 0x2990888 /* 02990888 */ cpu->r[3] = cpu->r[4] + 0x00000001u; /* 0299088C */ return; } // fn_02990890 @ 0x2990890 void Gambit_fn_02990890(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_02990890: ; // 0x2990890 /* 02990890 */ _t0 = cpu->r[3] + 0x000000D4u; /* 02990890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 02990894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02990898 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990898 */ _t2 = _t1 & 0x00000001u; /* 02990898 */ if (_t2) goto L_029908A4; else goto L_0299089C; L_0299089C: ; // 0x299089c /* 0299089C */ _t3 = cpu->r[12] + 0x0000002Cu; /* 0299089C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3); /* 029908A0 */ return; L_029908A4: ; // 0x29908a4 /* 029908A4 */ cpu->r[3] = 0x00000000u; /* 029908A8 */ return; } // fn_029908AC @ 0x29908ac void Gambit_fn_029908AC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_029908AC: ; // 0x29908ac /* 029908AC */ cpu->r[0] = cpu->lr; /* 029908B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029908B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029908B0 */ cpu->r[1] = _t0; /* 029908B4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029908B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029908B8 */ _t2 = cpu->r[1] + 0x00000010u; /* 029908B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029908BC */ _t3 = cpu->r[1] + 0x00000014u; /* 029908BC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029908C0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 029908C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029908C4 */ _t5 = cpu->r[3] + 0x00000088u; /* 029908C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 029908C8 */ _t6 = cpu->r[10] + 0x000001ACu; /* 029908C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 029908CC */ cpu->ctr = cpu->r[0]; /* 029908D0 */ cpu->r[29] = cpu->r[3]; /* 029908D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029908D8 */ cpu->r[30] = cpu->r[3]; /* 029908D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 029908DC */ _t7 = cpu->cr[0] >> (0x00000002u & 31u); /* 029908DC */ _t8 = _t7 & 0x00000001u; /* 029908DC */ if (_t8) goto L_029908E0; else goto L_029908FC; L_029908E0: ; // 0x29908e0 /* 029908E0 */ cpu->r[31] = 0x00000000u; L_029908E4: ; // 0x29908e4 /* 029908E4 */ _t9 = cpu->r[29] + 0x000000CCu; /* 029908E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 029908E8 */ _t10 = cpu->r[12] + cpu->r[31]; /* 029908E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 029908EC */ Gambit_fn_02998120(cpu); /* 029908F0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 029908F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 029908F4 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 029908F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 029908F8 */ _t12 = _t11 & 0x00000001u; /* 029908F8 */ if (_t12) goto L_029908FC; else goto L_029908E4; L_029908FC: ; // 0x29908fc /* 029908FC */ _t13 = cpu->r[1] + 0x0000000Cu; /* 029908FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 02990900 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 02990900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02990904 */ _t15 = cpu->r[1] + 0x00000010u; /* 02990904 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 02990908 */ cpu->lr = cpu->r[0]; /* 0299090C */ _t16 = cpu->r[1] + 0x00000014u; /* 0299090C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 02990910 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02990914 */ return; } // fn_029908B0 @ 0x29908b0 void Gambit_fn_029908B0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_029908B0: ; // 0x29908b0 /* 029908B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029908B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029908B0 */ cpu->r[1] = _t0; /* 029908B4 */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029908B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029908B8 */ _t2 = cpu->r[1] + 0x00000010u; /* 029908B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029908BC */ _t3 = cpu->r[1] + 0x00000014u; /* 029908BC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029908C0 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 029908C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029908C4 */ _t5 = cpu->r[3] + 0x00000088u; /* 029908C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5); /* 029908C8 */ _t6 = cpu->r[10] + 0x000001ACu; /* 029908C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6); /* 029908CC */ cpu->ctr = cpu->r[0]; /* 029908D0 */ cpu->r[29] = cpu->r[3]; /* 029908D4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029908D8 */ cpu->r[30] = cpu->r[3]; /* 029908D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 029908DC */ _t7 = cpu->cr[0] >> (0x00000002u & 31u); /* 029908DC */ _t8 = _t7 & 0x00000001u; /* 029908DC */ if (_t8) goto L_029908E0; else goto L_029908FC; L_029908E0: ; // 0x29908e0 /* 029908E0 */ cpu->r[31] = 0x00000000u; L_029908E4: ; // 0x29908e4 /* 029908E4 */ _t9 = cpu->r[29] + 0x000000CCu; /* 029908E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 029908E8 */ _t10 = cpu->r[12] + cpu->r[31]; /* 029908E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 029908EC */ Gambit_fn_02998120(cpu); /* 029908F0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu; /* 029908F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 029908F4 */ cpu->r[31] = cpu->r[31] + 0x00000004u; /* 029908F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 029908F8 */ _t12 = _t11 & 0x00000001u; /* 029908F8 */ if (_t12) goto L_029908FC; else goto L_029908E4; L_029908FC: ; // 0x29908fc /* 029908FC */ _t13 = cpu->r[1] + 0x0000000Cu; /* 029908FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 02990900 */ _t14 = cpu->r[1] + 0x0000001Cu; /* 02990900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02990904 */ _t15 = cpu->r[1] + 0x00000010u; /* 02990904 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 02990908 */ cpu->lr = cpu->r[0]; /* 0299090C */ _t16 = cpu->r[1] + 0x00000014u; /* 0299090C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 02990910 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02990914 */ return; } // fn_02990918 @ 0x2990918 void Gambit_fn_02990918(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_02990918: ; // 0x2990918 /* 02990918 */ cpu->r[0] = cpu->lr; /* 0299091C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0299091C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0299091C */ cpu->r[1] = _t0; /* 02990920 */ _t1 = cpu->r[1] + 0x00000010u; /* 02990920 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02990924 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02990924 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02990928 */ _t3 = cpu->r[1] + 0x00000014u; /* 02990928 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0299092C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0299092C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02990930 */ cpu->r[29] = cpu->r[3]; /* 02990934 */ _t5 = cpu->r[29] + 0x000000D4u; /* 02990934 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 02990938 */ cpu->r[31] = cpu->r[5]; /* 0299093C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02990940 */ cpu->r[30] = cpu->r[4]; /* 02990944 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990944 */ _t7 = _t6 & 0x00000001u; /* 02990944 */ if (_t7) goto L_0299099C; else goto L_02990948; L_02990948: ; // 0x2990948 /* 02990948 */ cpu->r[3] = cpu->r[29]; /* 0299094C */ Gambit_fn_02990890(cpu); /* 02990950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990954 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990954 */ _t9 = _t8 & 0x00000001u; /* 02990954 */ if (_t9) goto L_02990958; else goto L_0299099C; L_02990958: ; // 0x2990958 /* 02990958 */ _t10 = cpu->r[29] + 0x00000002u; /* 02990958 */ cpu->r[10] = rbrew_read16(cpu->mem, _t10); /* 0299095C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 0299095C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02990960 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990960 */ _t12 = _t11 & 0x00000001u; /* 02990960 */ if (_t12) goto L_02990964; else goto L_0299096C; L_02990964: ; // 0x2990964 /* 02990964 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 02990964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02990968 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990968 */ _t14 = _t13 & 0x00000001u; /* 02990968 */ if (_t14) goto L_0299099C; else goto L_0299096C; L_0299096C: ; // 0x299096c /* 0299096C */ cpu->r[3] = cpu->r[11]; /* 02990970 */ cpu->r[4] = cpu->r[30]; /* 02990974 */ Gambit_fn_02A340C8(cpu); /* 02990978 */ cpu->r[3] = cpu->r[29]; /* 0299097C */ Gambit_fn_029908AC(cpu); /* 02990980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02990984 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990984 */ _t16 = _t15 & 0x00000001u; /* 02990984 */ if (_t16) goto L_0299099C; else goto L_02990988; L_02990988: ; // 0x2990988 /* 02990988 */ _t17 = cpu->r[29] + 0x0000001Cu; /* 02990988 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 0299098C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990990 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990990 */ _t19 = _t18 & 0x00000001u; /* 02990990 */ if (_t19) goto L_0299099C; else goto L_02990994; L_02990994: ; // 0x2990994 /* 02990994 */ cpu->r[4] = cpu->r[30]; /* 02990998 */ Gambit_fn_029E55D4(cpu); L_0299099C: ; // 0x299099c /* 0299099C */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0299099C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 029909A0 */ _t21 = cpu->r[1] + 0x0000001Cu; /* 029909A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 029909A4 */ _t22 = cpu->r[1] + 0x00000010u; /* 029909A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 029909A8 */ cpu->lr = cpu->r[0]; /* 029909AC */ _t23 = cpu->r[1] + 0x00000014u; /* 029909AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 029909B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029909B4 */ cpu->r[3] = 0x00000001u; /* 029909B8 */ return; } // fn_0299091C @ 0x299091c void Gambit_fn_0299091C(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_0299091C: ; // 0x299091c /* 0299091C */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 0299091C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 0299091C */ cpu->r[1] = _t0; /* 02990920 */ _t1 = cpu->r[1] + 0x00000010u; /* 02990920 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02990924 */ _t2 = cpu->r[1] + 0x0000000Cu; /* 02990924 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]); /* 02990928 */ _t3 = cpu->r[1] + 0x00000014u; /* 02990928 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 0299092C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0299092C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02990930 */ cpu->r[29] = cpu->r[3]; /* 02990934 */ _t5 = cpu->r[29] + 0x000000D4u; /* 02990934 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5); /* 02990938 */ cpu->r[31] = cpu->r[5]; /* 0299093C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u); /* 02990940 */ cpu->r[30] = cpu->r[4]; /* 02990944 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990944 */ _t7 = _t6 & 0x00000001u; /* 02990944 */ if (_t7) goto L_0299099C; else goto L_02990948; L_02990948: ; // 0x2990948 /* 02990948 */ cpu->r[3] = cpu->r[29]; /* 0299094C */ Gambit_fn_02990890(cpu); /* 02990950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990954 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990954 */ _t9 = _t8 & 0x00000001u; /* 02990954 */ if (_t9) goto L_02990958; else goto L_0299099C; L_02990958: ; // 0x2990958 /* 02990958 */ _t10 = cpu->r[29] + 0x00000002u; /* 02990958 */ cpu->r[10] = rbrew_read16(cpu->mem, _t10); /* 0299095C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu); /* 0299095C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02990960 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990960 */ _t12 = _t11 & 0x00000001u; /* 02990960 */ if (_t12) goto L_02990964; else goto L_0299096C; L_02990964: ; // 0x2990964 /* 02990964 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 02990964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02990968 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990968 */ _t14 = _t13 & 0x00000001u; /* 02990968 */ if (_t14) goto L_0299099C; else goto L_0299096C; L_0299096C: ; // 0x299096c /* 0299096C */ cpu->r[3] = cpu->r[11]; /* 02990970 */ cpu->r[4] = cpu->r[30]; /* 02990974 */ Gambit_fn_02A340C8(cpu); /* 02990978 */ cpu->r[3] = cpu->r[29]; /* 0299097C */ Gambit_fn_029908AC(cpu); /* 02990980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02990984 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990984 */ _t16 = _t15 & 0x00000001u; /* 02990984 */ if (_t16) goto L_0299099C; else goto L_02990988; L_02990988: ; // 0x2990988 /* 02990988 */ _t17 = cpu->r[29] + 0x0000001Cu; /* 02990988 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17); /* 0299098C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990990 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990990 */ _t19 = _t18 & 0x00000001u; /* 02990990 */ if (_t19) goto L_0299099C; else goto L_02990994; L_02990994: ; // 0x2990994 /* 02990994 */ cpu->r[4] = cpu->r[30]; /* 02990998 */ Gambit_fn_029E55D4(cpu); L_0299099C: ; // 0x299099c /* 0299099C */ _t20 = cpu->r[1] + 0x0000000Cu; /* 0299099C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20); /* 029909A0 */ _t21 = cpu->r[1] + 0x0000001Cu; /* 029909A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 029909A4 */ _t22 = cpu->r[1] + 0x00000010u; /* 029909A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 029909A8 */ cpu->lr = cpu->r[0]; /* 029909AC */ _t23 = cpu->r[1] + 0x00000014u; /* 029909AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23); /* 029909B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029909B4 */ cpu->r[3] = 0x00000001u; /* 029909B8 */ return; } // fn_029909BC @ 0x29909bc void Gambit_fn_029909BC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_029909BC: ; // 0x29909bc /* 029909BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu); /* 029909C0 */ _t0 = cpu->r[3] + 0x000000ACu; /* 029909C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0); /* 029909C4 */ cpu->r[8] = cpu->r[3] + 0x000000E4u; /* 029909C8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 029909C8 */ _t2 = _t1 & 0x00000001u; /* 029909C8 */ if (_t2) goto L_029909F8; else goto L_029909CC; L_029909CC: ; // 0x29909cc /* 029909CC */ _t3 = cpu->r[8] + 0x00000004u; /* 029909CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3); /* 029909D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u); /* 029909D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 029909D4 */ _t5 = _t4 & 0x00000001u; /* 029909D4 */ if (_t5) goto L_029909F8; else goto L_029909D8; L_029909D8: ; // 0x29909d8 /* 029909D8 */ cpu->r[0] = cpu->r[3] + 0x0000008Cu; /* 029909DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 029909E0 */ _t6 = cpu->r[9] + 0x00000030u; /* 029909E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 029909E4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u); /* 029909E4 */ _t8 = _t7 & 0x00000001u; /* 029909E4 */ if (_t8) goto L_029909E8; else goto L_02990A08; L_029909E8: ; // 0x29909e8 /* 029909E8 */ cpu->r[12] = 0x00010000u; /* 029909EC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu; /* 029909F0 */ _t9 = cpu->r[9] + 0x0000002Eu; /* 029909F0 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[12]); /* 029909F4 */ return; L_029909F8: ; // 0x29909f8 /* 029909F8 */ cpu->r[0] = 0x00000000u; /* 029909FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02990A00 */ _t10 = cpu->r[9] + 0x00000030u; /* 02990A00 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]); /* 02990A04 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990A04 */ _t12 = _t11 & 0x00000001u; /* 02990A04 */ if (_t12) goto L_029909E8; else goto L_02990A08; L_02990A08: ; // 0x2990a08 /* 02990A08 */ _t13 = cpu->r[9] + 0x0000002Cu; /* 02990A08 */ cpu->r[11] = rbrew_read16(cpu->mem, _t13); /* 02990A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[11]); /* 02990A10 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990A10 */ _t15 = _t14 & 0x00000001u; /* 02990A10 */ if (_t15) goto L_02990A14; else goto L_029909E8; L_02990A14: ; // 0x2990a14 /* 02990A14 */ _t16 = cpu->r[9] + 0x0000002Eu; /* 02990A14 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[4]); /* 02990A18 */ return; } // fn_02990A1C @ 0x2990a1c void Gambit_fn_02990A1C(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, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t219, _t220, _t221, _t222, _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; double _ft208, _ft209, _ft217, _ft218, _ft223, _ft224; L_02990A1C: ; // 0x2990a1c /* 02990A1C */ _t0 = cpu->r[1] + 0xFFFFFF28u; /* 02990A1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02990A1C */ cpu->r[1] = _t0; /* 02990A20 */ /* nop */ /* 02990A24 */ _t1 = cpu->r[1] + 0x000000C8u; /* 02990A24 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]); /* 02990A28 */ /* nop */ /* 02990A2C */ cpu->r[0] = cpu->lr; /* 02990A30 */ _t2 = cpu->r[1] + 0x000000DCu; /* 02990A30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02990A34 */ _t3 = cpu->r[1] + 0x000000D0u; /* 02990A34 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]); /* 02990A38 */ cpu->r[29] = cpu->r[3]; /* 02990A3C */ cpu->r[28] = cpu->r[4]; /* 02990A40 */ _t4 = cpu->r[28] + 0x00000000u; /* 02990A40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4); /* 02990A44 */ _t5 = cpu->r[7] + 0x0000002Cu; /* 02990A44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5); /* 02990A48 */ _t6 = cpu->r[8] + 0x000002CCu; /* 02990A48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6); /* 02990A4C */ cpu->r[30] = cpu->r[5]; /* 02990A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u); /* 02990A50 */ _t7 = cpu->r[29] + 0x00000004u; /* 02990A50 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]); /* 02990A54 */ _t8 = cpu->r[28] + 0x00000000u; /* 02990A54 */ cpu->r[26] = rbrew_read32(cpu->mem, _t8); /* 02990A58 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990A58 */ _t10 = _t9 & 0x00000001u; /* 02990A58 */ if (_t10) goto L_02990A5C; else goto L_02990AE4; L_02990A5C: ; // 0x2990a5c /* 02990A5C */ cpu->r[3] = 0x101D0000u; /* 02990A60 */ _t11 = cpu->r[3] + 0xFFFF98F0u; /* 02990A60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11); /* 02990A64 */ Gambit_fn_02826F20(cpu); /* 02990A68 */ _t12 = cpu->r[28] + 0x00000004u; /* 02990A68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12); /* 02990A6C */ cpu->r[9] = 0x00000020u; /* 02990A70 */ _t13 = cpu->r[29] + 0x00000004u; /* 02990A70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13); /* 02990A74 */ _t14 = cpu->r[1] + 0x00000048u; /* 02990A74 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]); /* 02990A78 */ _t15 = cpu->r[1] + 0x0000003Cu; /* 02990A78 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]); /* 02990A7C */ _t16 = cpu->r[1] + 0x00000030u; /* 02990A7C */ rbrew_write32(cpu->mem, _t16, cpu->r[26]); /* 02990A80 */ cpu->r[27] = 0x00000000u; /* 02990A84 */ _t17 = cpu->r[1] + 0x00000038u; /* 02990A84 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 02990A88 */ cpu->r[12] = 0x00000001u; /* 02990A8C */ _t18 = cpu->r[1] + 0x00000008u; /* 02990A8C */ rbrew_write32(cpu->mem, _t18, cpu->r[3]); /* 02990A90 */ _t19 = cpu->r[1] + 0x00000044u; /* 02990A90 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]); /* 02990A94 */ _t20 = cpu->r[1] + 0x00000054u; /* 02990A94 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]); /* 02990A98 */ _t21 = cpu->r[1] + 0x0000004Cu; /* 02990A98 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[12]); /* 02990A9C */ _t22 = cpu->r[1] + 0x00000034u; /* 02990A9C */ rbrew_write32(cpu->mem, _t22, cpu->r[27]); /* 02990AA0 */ cpu->r[3] = cpu->r[1] + 0x00000030u; /* 02990AA4 */ _t23 = cpu->r[1] + 0x00000040u; /* 02990AA4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]); /* 02990AA8 */ _t24 = cpu->r[1] + 0x00000050u; /* 02990AA8 */ rbrew_write32(cpu->mem, _t24, cpu->r[27]); /* 02990AAC */ Gambit_fn_02C4FE20(cpu); /* 02990AB0 */ _t25 = cpu->r[26] + 0x00000022u; /* 02990AB0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t25); /* 02990AB4 */ cpu->r[31] = cpu->r[3]; /* 02990AB8 */ _t26 = cpu->r[26] + 0x00000024u; /* 02990AB8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t26); /* 02990ABC */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02990AC0 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02990AC4 */ cpu->r[25] = cpu->r[31] + cpu->r[10]; /* 02990AC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02990ACC */ cpu->r[5] = 0x00000040u; /* 02990AD0 */ cpu->r[4] = cpu->r[25] + cpu->r[0]; /* 02990AD4 */ Gambit_fn_0297EA50(cpu); /* 02990AD8 */ cpu->r[26] = cpu->r[3]; /* 02990AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02990ADC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990ADC */ _t28 = _t27 & 0x00000001u; /* 02990ADC */ if (_t28) goto L_02990AE0; else goto L_02990B58; L_02990AE0: ; // 0x2990ae0 /* 02990AE0 */ goto L_02990CD8; L_02990AE4: ; // 0x2990ae4 /* 02990AE4 */ _t29 = cpu->r[1] + 0x00000040u; /* 02990AE4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]); /* 02990AE8 */ cpu->r[27] = 0x00000000u; /* 02990AEC */ _t30 = cpu->r[1] + 0x00000038u; /* 02990AEC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]); /* 02990AF0 */ cpu->r[12] = 0x00000001u; /* 02990AF4 */ _t31 = cpu->r[1] + 0x00000034u; /* 02990AF4 */ rbrew_write32(cpu->mem, _t31, cpu->r[27]); /* 02990AF8 */ _t32 = cpu->r[1] + 0x00000054u; /* 02990AF8 */ rbrew_write32(cpu->mem, _t32, cpu->r[27]); /* 02990AFC */ _t33 = cpu->r[1] + 0x00000050u; /* 02990AFC */ rbrew_write32(cpu->mem, _t33, cpu->r[27]); /* 02990B00 */ cpu->r[3] = cpu->r[1] + 0x00000030u; /* 02990B04 */ _t34 = cpu->r[1] + 0x00000008u; /* 02990B04 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]); /* 02990B08 */ _t35 = cpu->r[1] + 0x00000030u; /* 02990B08 */ rbrew_write32(cpu->mem, _t35, cpu->r[26]); /* 02990B0C */ _t36 = cpu->r[1] + 0x0000004Cu; /* 02990B0C */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[12]); /* 02990B10 */ _t37 = cpu->r[28] + 0x00000004u; /* 02990B10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37); /* 02990B14 */ cpu->r[9] = 0x00000020u; /* 02990B18 */ _t38 = cpu->r[1] + 0x0000003Cu; /* 02990B18 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]); /* 02990B1C */ _t39 = cpu->r[1] + 0x00000048u; /* 02990B1C */ rbrew_write32(cpu->mem, _t39, cpu->r[9]); /* 02990B20 */ _t40 = cpu->r[1] + 0x00000044u; /* 02990B20 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]); /* 02990B24 */ Gambit_fn_02C4FE20(cpu); /* 02990B28 */ _t41 = cpu->r[26] + 0x00000022u; /* 02990B28 */ cpu->r[11] = rbrew_read16(cpu->mem, _t41); /* 02990B2C */ cpu->r[31] = cpu->r[3]; /* 02990B30 */ _t42 = cpu->r[26] + 0x00000024u; /* 02990B30 */ cpu->r[0] = rbrew_read16(cpu->mem, _t42); /* 02990B34 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du); /* 02990B38 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02990B3C */ cpu->r[25] = cpu->r[31] + cpu->r[10]; /* 02990B40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu); /* 02990B44 */ cpu->r[5] = 0x00000040u; /* 02990B48 */ cpu->r[4] = cpu->r[25] + cpu->r[0]; /* 02990B4C */ Gambit_fn_0297EA50(cpu); /* 02990B50 */ cpu->r[26] = cpu->r[3]; /* 02990B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02990B54 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990B54 */ _t44 = _t43 & 0x00000001u; /* 02990B54 */ if (_t44) goto L_02990CD8; else goto L_02990B58; L_02990B58: ; // 0x2990b58 /* 02990B58 */ cpu->r[4] = cpu->r[1] + 0x00000030u; /* 02990B5C */ cpu->r[6] = cpu->r[31]; /* 02990B60 */ cpu->r[5] = cpu->r[26]; /* 02990B64 */ cpu->r[3] = cpu->r[29] + 0x00000094u; /* 02990B68 */ Gambit_fn_02C4FF2C(cpu); /* 02990B6C */ cpu->r[0] = cpu->r[26] + cpu->r[31]; /* 02990B70 */ cpu->r[3] = cpu->r[29] + 0x00000094u; /* 02990B74 */ _t45 = cpu->r[29] + 0x000000CCu; /* 02990B74 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]); /* 02990B78 */ Gambit_fn_02C503CC(cpu); /* 02990B7C */ cpu->r[31] = cpu->r[3]; /* 02990B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02990B80 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990B80 */ _t47 = _t46 & 0x00000001u; /* 02990B80 */ if (_t47) goto L_02990BA8; else goto L_02990B84; L_02990B84: ; // 0x2990b84 /* 02990B84 */ cpu->r[4] = cpu->r[31]; /* 02990B88 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02990B8C */ cpu->r[5] = 0x00000100u; /* 02990B90 */ Gambit_fn_0297EA50(cpu); /* 02990B94 */ cpu->r[4] = cpu->r[3]; /* 02990B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02990B98 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990B98 */ _t49 = _t48 & 0x00000001u; /* 02990B98 */ if (_t49) goto L_02990CD8; else goto L_02990B9C; L_02990B9C: ; // 0x2990b9c /* 02990B9C */ cpu->r[5] = cpu->r[31]; /* 02990BA0 */ cpu->r[3] = cpu->r[29] + 0x00000094u; /* 02990BA4 */ Gambit_fn_02C504D0(cpu); L_02990BA8: ; // 0x2990ba8 /* 02990BA8 */ _t50 = cpu->r[29] + 0x000000AAu; /* 02990BA8 */ cpu->r[24] = rbrew_read16(cpu->mem, _t50); /* 02990BAC */ cpu->r[31] = cpu->r[26] + cpu->r[25]; /* 02990BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02990BB4 */ cpu->r[26] = 0x00000000u; /* 02990BB8 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990BB8 */ _t52 = _t51 & 0x00000001u; /* 02990BB8 */ if (_t52) goto L_02990C00; else goto L_02990BBC; L_02990BBC: ; // 0x2990bbc /* 02990BBC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFF8u; /* 02990BC0 */ cpu->r[25] = 0x00000000u; L_02990BC4: ; // 0x2990bc4 /* 02990BC4 */ _t53 = cpu->r[29] + 0x000000B4u; /* 02990BC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53); /* 02990BC8 */ cpu->r[4] = cpu->r[12] + cpu->r[25]; /* 02990BCC */ _t54 = cpu->r[4] + 0x00000000u; /* 02990BCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t54); /* 02990BD0 */ _t55 = cpu->r[12] + 0x00000048u; /* 02990BD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55); /* 02990BD4 */ cpu->r[3] = cpu->r[6] + 0x00000034u; /* 02990BD8 */ Gambit_fn_029D8C28(cpu); /* 02990BDC */ _t56 = cpu->r[29] + 0x000000B4u; /* 02990BDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t56); /* 02990BE0 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu; /* 02990BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02990BE4 */ _t57 = cpu->r[31] + 0x00000008u; /* 02990BE4 */ rbrew_write32(cpu->mem, _t57, cpu->r[29]); /* 02990BE4 */ cpu->r[31] = _t57; /* 02990BE8 */ cpu->r[8] = cpu->r[7] + cpu->r[25]; /* 02990BEC */ _t58 = cpu->r[31] + 0x00000004u; /* 02990BEC */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[26]); /* 02990BF0 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 02990BF4 */ cpu->r[25] = cpu->r[25] + 0x0000003Cu; /* 02990BF8 */ _t59 = cpu->r[8] + 0x00000030u; /* 02990BF8 */ rbrew_write32(cpu->mem, _t59, cpu->r[31]); /* 02990BFC */ _t60 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990BFC */ _t61 = _t60 & 0x00000001u; /* 02990BFC */ if (_t61) goto L_02990C00; else goto L_02990BC4; L_02990C00: ; // 0x2990c00 /* 02990C00 */ _t62 = cpu->r[29] + 0x00000088u; /* 02990C00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62); /* 02990C04 */ _t63 = cpu->r[8] + 0x000001ACu; /* 02990C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63); /* 02990C08 */ cpu->ctr = cpu->r[0]; /* 02990C0C */ cpu->r[26] = 0x00000000u; /* 02990C10 */ cpu->r[3] = cpu->r[29]; /* 02990C14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[3]); /* 02990C1C */ _t64 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990C1C */ _t65 = _t64 & 0x00000001u; /* 02990C1C */ if (_t65) goto L_02990C20; else goto L_02990CA8; L_02990C20: ; // 0x2990c20 /* 02990C20 */ cpu->r[23] = 0x00000000u; /* 02990C24 */ cpu->r[24] = cpu->r[23]; /* 02990C28 */ cpu->r[25] = cpu->r[23]; L_02990C2C: ; // 0x2990c2c /* 02990C2C */ _t66 = cpu->r[29] + 0x000000CCu; /* 02990C2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t66); /* 02990C30 */ _t67 = cpu->r[29] + 0x000000B0u; /* 02990C30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67); /* 02990C34 */ _t68 = cpu->r[12] + cpu->r[24]; /* 02990C34 */ rbrew_write32(cpu->mem, _t68, cpu->r[25]); /* 02990C38 */ _t69 = cpu->r[29] + 0x00000088u; /* 02990C38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69); /* 02990C3C */ _t70 = cpu->r[4] + 0x00000274u; /* 02990C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70); /* 02990C40 */ cpu->ctr = cpu->r[0]; /* 02990C44 */ cpu->r[4] = cpu->r[26]; /* 02990C48 */ cpu->r[31] = cpu->r[10] + cpu->r[23]; /* 02990C4C */ cpu->r[5] = cpu->r[30]; /* 02990C50 */ cpu->r[3] = cpu->r[29]; /* 02990C54 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990C5C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990C5C */ _t72 = _t71 & 0x00000001u; /* 02990C5C */ if (_t72) goto L_02990CD8; else goto L_02990C60; L_02990C60: ; // 0x2990c60 /* 02990C60 */ _t73 = cpu->r[31] + 0x00000000u; /* 02990C60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73); /* 02990C64 */ _t74 = cpu->r[12] + 0x00000017u; /* 02990C64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t74); /* 02990C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 02990C6C */ _t75 = cpu->r[29] + 0x00000088u; /* 02990C6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t75); /* 02990C70 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u); /* 02990C70 */ _t77 = _t76 & 0x00000001u; /* 02990C70 */ if (_t77) goto L_02990C74; else goto L_02990C84; L_02990C74: ; // 0x2990c74 /* 02990C74 */ _t78 = cpu->r[29] + 0x00000008u; /* 02990C74 */ cpu->r[8] = rbrew_read8(cpu->mem, _t78); /* 02990C78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]); /* 02990C7C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990C7C */ _t80 = _t79 & 0x00000001u; /* 02990C7C */ if (_t80) goto L_02990C84; else goto L_02990C80; L_02990C80: ; // 0x2990c80 /* 02990C80 */ _t81 = cpu->r[29] + 0x00000008u; /* 02990C80 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[0]); L_02990C84: ; // 0x2990c84 /* 02990C84 */ _t82 = cpu->r[9] + 0x000001ACu; /* 02990C84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82); /* 02990C88 */ cpu->ctr = cpu->r[10]; /* 02990C8C */ cpu->r[24] = cpu->r[24] + 0x00000004u; /* 02990C90 */ cpu->r[3] = cpu->r[29]; /* 02990C94 */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 02990C98 */ cpu->r[23] = cpu->r[23] + 0x00000034u; /* 02990C9C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[3]); /* 02990CA4 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990CA4 */ _t84 = _t83 & 0x00000001u; /* 02990CA4 */ if (_t84) goto L_02990C2C; else goto L_02990CA8; L_02990CA8: ; // 0x2990ca8 /* 02990CA8 */ _t85 = cpu->r[29] + 0x000000ACu; /* 02990CA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t85); /* 02990CAC */ _t86 = cpu->r[29] + 0x000000BCu; /* 02990CAC */ rbrew_write32(cpu->mem, _t86, cpu->r[29]); /* 02990CB0 */ _t87 = cpu->r[5] + 0x00000004u; /* 02990CB0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t87); /* 02990CB4 */ _t88 = cpu->r[5] + 0x00000010u; /* 02990CB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t88); /* 02990CB8 */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 02990CBC */ cpu->r[3] = cpu->r[29]; /* 02990CC0 */ _t89 = cpu->r[5] + 0x00000004u; /* 02990CC0 */ rbrew_write16(cpu->mem, _t89, (uint16_t)cpu->r[0]); /* 02990CC4 */ cpu->r[4] = cpu->r[30]; /* 02990CC8 */ _t90 = cpu->r[29] + 0x000000D8u; /* 02990CC8 */ rbrew_write32(cpu->mem, _t90, cpu->r[7]); /* 02990CCC */ Gambit_fn_029DBF78(cpu); /* 02990CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990CD4 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990CD4 */ _t92 = _t91 & 0x00000001u; /* 02990CD4 */ if (_t92) goto L_02990CD8; else goto L_02990CFC; L_02990CD8: ; // 0x2990cd8 /* 02990CD8 */ /* nop */ /* 02990CDC */ _t93 = cpu->r[1] + 0x000000D0u; /* 02990CDC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t93); /* 02990CE0 */ _t94 = cpu->r[1] + 0x000000C8u; /* 02990CE0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t94); /* 02990CE4 */ cpu->r[3] = 0x00000000u; /* 02990CE8 */ _t95 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990CE8 */ _t96 = _t95 & 0x00000001u; /* 02990CE8 */ if (_t96) goto L_02990CEC; // else: addr-0 trap, fall-through L_02990CEC: ; // 0x2990cec /* 02990CEC */ _t97 = cpu->r[1] + 0x000000DCu; /* 02990CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t97); /* 02990CF0 */ cpu->lr = cpu->r[0]; /* 02990CF4 */ cpu->r[1] = cpu->r[1] + 0x000000D8u; /* 02990CF8 */ return; L_02990CFC: ; // 0x2990cfc /* 02990CFC */ _t98 = cpu->r[29] + 0x00000088u; /* 02990CFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t98); /* 02990D00 */ _t99 = cpu->r[9] + 0x000001ACu; /* 02990D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99); /* 02990D04 */ cpu->r[26] = 0x00000000u; /* 02990D08 */ cpu->ctr = cpu->r[0]; /* 02990D0C */ cpu->r[31] = cpu->r[26]; /* 02990D10 */ cpu->r[3] = cpu->r[29]; /* 02990D14 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]); /* 02990D1C */ _t100 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990D1C */ _t101 = _t100 & 0x00000001u; /* 02990D1C */ if (_t101) goto L_02990D20; else goto L_02990E88; L_02990D20: ; // 0x2990d20 /* 02990D20 */ cpu->r[25] = 0x00000000u; L_02990D24: ; // 0x2990d24 /* 02990D24 */ _t102 = cpu->r[29] + 0x00000088u; /* 02990D24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t102); /* 02990D28 */ _t103 = cpu->r[7] + 0x000001B4u; /* 02990D28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103); /* 02990D2C */ cpu->ctr = cpu->r[0]; /* 02990D30 */ cpu->r[3] = cpu->r[29]; /* 02990D34 */ cpu->r[4] = cpu->r[31]; /* 02990D38 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990D3C */ _t104 = cpu->r[3] + 0x0000000Au; /* 02990D3C */ cpu->r[0] = rbrew_read8(cpu->mem, _t104); /* 02990D40 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu); /* 02990D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u); /* 02990D44 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990D44 */ _t106 = _t105 & 0x00000001u; /* 02990D44 */ if (_t106) goto L_02990D5C; else goto L_02990D48; L_02990D48: ; // 0x2990d48 /* 02990D48 */ _t107 = cpu->r[29] + 0x000000CCu; /* 02990D48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t107); /* 02990D4C */ _t108 = cpu->r[11] + cpu->r[25]; /* 02990D4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t108); /* 02990D50 */ cpu->r[4] = cpu->r[30]; /* 02990D54 */ Gambit_fn_0299888C(cpu); /* 02990D58 */ cpu->r[26] = 0x00000001u; L_02990D5C: ; // 0x2990d5c /* 02990D5C */ _t109 = cpu->r[29] + 0x00000088u; /* 02990D5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t109); /* 02990D60 */ _t110 = cpu->r[4] + 0x000001ACu; /* 02990D60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t110); /* 02990D64 */ cpu->ctr = cpu->r[5]; /* 02990D68 */ cpu->r[25] = cpu->r[25] + 0x00000004u; /* 02990D6C */ cpu->r[3] = cpu->r[29]; /* 02990D70 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02990D74 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]); /* 02990D7C */ _t111 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990D7C */ _t112 = _t111 & 0x00000001u; /* 02990D7C */ if (_t112) goto L_02990D24; else goto L_02990D80; L_02990D80: ; // 0x2990d80 /* 02990D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 02990D84 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990D84 */ _t114 = _t113 & 0x00000001u; /* 02990D84 */ if (_t114) goto L_02990E88; else goto L_02990D88; L_02990D88: ; // 0x2990d88 /* 02990D88 */ _t115 = cpu->r[29] + 0x00000088u; /* 02990D88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t115); /* 02990D8C */ _t116 = cpu->r[8] + 0x000001ECu; /* 02990D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t116); /* 02990D90 */ cpu->ctr = cpu->r[0]; /* 02990D94 */ cpu->r[24] = 0x00000000u; /* 02990D98 */ cpu->r[3] = cpu->r[29]; /* 02990D9C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[3]); /* 02990DA4 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990DA4 */ _t118 = _t117 & 0x00000001u; /* 02990DA4 */ if (_t118) goto L_02990DA8; else goto L_02990E88; L_02990DA8: ; // 0x2990da8 /* 02990DA8 */ cpu->r[31] = 0x00000000u; L_02990DAC: ; // 0x2990dac /* 02990DAC */ _t119 = cpu->r[29] + 0x00000088u; /* 02990DAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t119); /* 02990DB0 */ _t120 = cpu->r[11] + 0x000001C4u; /* 02990DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120); /* 02990DB4 */ cpu->ctr = cpu->r[0]; /* 02990DB8 */ cpu->r[3] = cpu->r[29]; /* 02990DBC */ cpu->r[4] = cpu->r[30]; /* 02990DC0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990DC4 */ _t121 = cpu->r[29] + 0x00000088u; /* 02990DC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t121); /* 02990DC8 */ _t122 = cpu->r[5] + 0x000001ACu; /* 02990DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122); /* 02990DCC */ cpu->r[25] = cpu->r[3]; /* 02990DD0 */ cpu->ctr = cpu->r[0]; /* 02990DD4 */ cpu->r[26] = 0x00000000u; /* 02990DD8 */ cpu->r[3] = cpu->r[29]; /* 02990DDC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[3]); /* 02990DE4 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990DE4 */ _t124 = _t123 & 0x00000001u; /* 02990DE4 */ if (_t124) goto L_02990DE8; else goto L_02990E64; L_02990DE8: ; // 0x2990de8 /* 02990DE8 */ cpu->r[22] = 0x00000000u; /* 02990DEC */ cpu->r[23] = cpu->r[22]; L_02990DF0: ; // 0x2990df0 /* 02990DF0 */ _t125 = cpu->r[29] + 0x000000CCu; /* 02990DF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t125); /* 02990DF4 */ _t126 = cpu->r[9] + cpu->r[23]; /* 02990DF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t126); /* 02990DF8 */ _t127 = cpu->r[5] + 0x00000084u; /* 02990DF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t127); /* 02990DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 02990E00 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990E00 */ _t129 = _t128 & 0x00000001u; /* 02990E00 */ if (_t129) goto L_02990E08; else goto L_02990E04; L_02990E04: ; // 0x2990e04 /* 02990E04 */ _t130 = cpu->r[4] + cpu->r[31]; /* 02990E04 */ rbrew_write32(cpu->mem, _t130, cpu->r[25]); L_02990E08: ; // 0x2990e08 /* 02990E08 */ _t131 = cpu->r[29] + 0x000000B0u; /* 02990E08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t131); /* 02990E0C */ _t132 = cpu->r[10] + cpu->r[22]; /* 02990E0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t132); /* 02990E10 */ _t133 = cpu->r[11] + 0x00000024u; /* 02990E10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t133); /* 02990E14 */ cpu->r[6] = cpu->r[11] + 0x00000024u; /* 02990E18 */ cpu->r[8] = 0x00000000u; /* 02990E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02990E20 */ _t134 = cpu->r[11] + 0x00000017u; /* 02990E20 */ cpu->r[3] = rbrew_read8(cpu->mem, _t134); /* 02990E24 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990E24 */ _t136 = _t135 & 0x00000001u; /* 02990E24 */ if (_t136) goto L_02990E2C; else goto L_02990E28; L_02990E28: ; // 0x2990e28 /* 02990E28 */ cpu->r[8] = cpu->r[6] + cpu->r[7]; L_02990E2C: ; // 0x2990e2c /* 02990E2C */ _t137 = cpu->r[8] + 0x0000000Cu; /* 02990E2C */ cpu->r[4] = rbrew_read16(cpu->mem, _t137); /* 02990E30 */ Gambit_fn_02990874(cpu); /* 02990E34 */ _t138 = cpu->r[29] + 0x00000088u; /* 02990E34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t138); /* 02990E38 */ _t139 = cpu->r[4] + 0x000001ACu; /* 02990E38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t139); /* 02990E3C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000006u); /* 02990E40 */ cpu->ctr = cpu->r[6]; /* 02990E44 */ cpu->r[25] = cpu->r[25] + cpu->r[0]; /* 02990E48 */ cpu->r[3] = cpu->r[29]; /* 02990E4C */ cpu->r[26] = cpu->r[26] + 0x00000001u; /* 02990E50 */ cpu->r[23] = cpu->r[23] + 0x00000004u; /* 02990E54 */ cpu->r[22] = cpu->r[22] + 0x00000034u; /* 02990E58 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[3]); /* 02990E60 */ _t140 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990E60 */ _t141 = _t140 & 0x00000001u; /* 02990E60 */ if (_t141) goto L_02990DF0; else goto L_02990E64; L_02990E64: ; // 0x2990e64 /* 02990E64 */ _t142 = cpu->r[29] + 0x00000088u; /* 02990E64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t142); /* 02990E68 */ _t143 = cpu->r[7] + 0x000001ECu; /* 02990E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t143); /* 02990E6C */ cpu->ctr = cpu->r[0]; /* 02990E70 */ cpu->r[31] = cpu->r[31] + 0x00000008u; /* 02990E74 */ cpu->r[3] = cpu->r[29]; /* 02990E78 */ cpu->r[24] = cpu->r[24] + 0x00000001u; /* 02990E7C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[3]); /* 02990E84 */ _t144 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990E84 */ _t145 = _t144 & 0x00000001u; /* 02990E84 */ if (_t145) goto L_02990DAC; else goto L_02990E88; L_02990E88: ; // 0x2990e88 /* 02990E88 */ _t146 = cpu->r[29] + 0x00000008u; /* 02990E88 */ cpu->r[10] = rbrew_read8(cpu->mem, _t146); /* 02990E8C */ cpu->r[12] = 0x10150000u; /* 02990E90 */ _t147 = cpu->r[12] + 0xFFFFFB88u; /* 02990E90 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t147); /* 02990E94 */ cpu->f[1] = cpu->f[31]; /* 02990E98 */ cpu->r[5] = cpu->r[10] + 0xFFFFFFFFu; /* 02990E9C */ cpu->r[4] = 0xFFFFFFFFu; /* 02990EA0 */ cpu->r[3] = cpu->r[29]; /* 02990EA4 */ Gambit_fn_029DB28C(cpu); /* 02990EA8 */ _t148 = cpu->r[28] + 0x00000008u; /* 02990EA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t148); /* 02990EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990EB0 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990EB0 */ _t150 = _t149 & 0x00000001u; /* 02990EB0 */ if (_t150) goto L_02990ED8; else goto L_02990EB4; L_02990EB4: ; // 0x2990eb4 /* 02990EB4 */ cpu->f[1] = cpu->f[31]; /* 02990EB8 */ _t151 = cpu->r[29] + 0x000000D0u; /* 02990EB8 */ rbrew_write32(cpu->mem, _t151, cpu->r[3]); /* 02990EBC */ cpu->r[4] = cpu->r[29]; /* 02990EC0 */ cpu->r[5] = 0x00000000u; /* 02990EC4 */ Gambit_fn_029897E8(cpu); /* 02990EC8 */ _t152 = cpu->r[28] + 0x0000000Cu; /* 02990EC8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t152); /* 02990ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02990ED0 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990ED0 */ _t154 = _t153 & 0x00000001u; /* 02990ED0 */ if (_t154) goto L_02990F3C; else goto L_02990ED4; L_02990ED4: ; // 0x2990ed4 /* 02990ED4 */ goto L_02990F2C; L_02990ED8: ; // 0x2990ed8 /* 02990ED8 */ _t155 = cpu->r[29] + 0x00000094u; /* 02990ED8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t155); /* 02990EDC */ _t156 = cpu->r[12] + 0x0000002Cu; /* 02990EDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t156); /* 02990EE0 */ _t157 = cpu->r[4] + 0x000002C4u; /* 02990EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t157); /* 02990EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02990EE8 */ cpu->r[31] = cpu->r[4] + 0x00000014u; /* 02990EEC */ _t158 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990EEC */ _t159 = _t158 & 0x00000001u; /* 02990EEC */ if (_t159) goto L_02990F20; else goto L_02990EF0; L_02990EF0: ; // 0x2990ef0 /* 02990EF0 */ cpu->r[4] = cpu->r[30]; /* 02990EF4 */ cpu->r[3] = 0x00000028u; /* 02990EF8 */ cpu->r[5] = 0x00000004u; /* 02990EFC */ Gambit_fn_02801AC8(cpu); /* 02990F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02990F04 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990F04 */ _t161 = _t160 & 0x00000001u; /* 02990F04 */ if (_t161) goto L_02990F0C; else goto L_02990F08; L_02990F08: ; // 0x2990f08 /* 02990F08 */ Gambit_fn_029895D8(cpu); L_02990F0C: ; // 0x2990f0c /* 02990F0C */ cpu->r[6] = cpu->r[30]; /* 02990F10 */ cpu->r[4] = cpu->r[31]; /* 02990F14 */ cpu->r[5] = cpu->r[29]; /* 02990F18 */ _t162 = cpu->r[29] + 0x000000D0u; /* 02990F18 */ rbrew_write32(cpu->mem, _t162, cpu->r[3]); /* 02990F1C */ Gambit_fn_02989A80(cpu); L_02990F20: ; // 0x2990f20 /* 02990F20 */ _t163 = cpu->r[28] + 0x0000000Cu; /* 02990F20 */ cpu->r[6] = rbrew_read8(cpu->mem, _t163); /* 02990F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u); /* 02990F28 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990F28 */ _t165 = _t164 & 0x00000001u; /* 02990F28 */ if (_t165) goto L_02990F3C; else goto L_02990F2C; L_02990F2C: ; // 0x2990f2c /* 02990F2C */ cpu->r[5] = 0x00000000u; /* 02990F30 */ cpu->r[4] = cpu->r[30]; /* 02990F34 */ cpu->r[3] = cpu->r[29]; /* 02990F38 */ Gambit_fn_02990918(cpu); L_02990F3C: ; // 0x2990f3c /* 02990F3C */ _t166 = cpu->r[29] + 0x00000088u; /* 02990F3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t166); /* 02990F40 */ _t167 = cpu->r[7] + 0x000001ACu; /* 02990F40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t167); /* 02990F44 */ cpu->ctr = cpu->r[8]; /* 02990F48 */ cpu->r[3] = cpu->r[29]; /* 02990F4C */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000010u); /* 02990F54 */ _t168 = cpu->cr[0] >> (0x00000003u & 31u); /* 02990F54 */ _t169 = _t168 & 0x00000001u; /* 02990F54 */ if (_t169) goto L_02990F58; else goto L_02990F80; L_02990F58: ; // 0x2990f58 /* 02990F58 */ _t170 = cpu->r[29] + 0x0000000Eu; /* 02990F58 */ cpu->r[10] = rbrew_read16(cpu->mem, _t170); /* 02990F5C */ cpu->r[4] = cpu->r[30]; /* 02990F60 */ cpu->r[3] = 0x00000030u; /* 02990F64 */ cpu->r[11] = cpu->r[10] | 0x00000007u; /* 02990F68 */ cpu->r[5] = 0x00000004u; /* 02990F6C */ _t171 = cpu->r[29] + 0x0000000Eu; /* 02990F6C */ rbrew_write16(cpu->mem, _t171, (uint16_t)cpu->r[11]); /* 02990F70 */ Gambit_fn_02801AC8(cpu); /* 02990F74 */ cpu->r[0] = cpu->r[3]; /* 02990F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02990F78 */ _t172 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990F78 */ _t173 = _t172 & 0x00000001u; /* 02990F78 */ if (_t173) goto L_02990FB0; else goto L_02990F7C; L_02990F7C: ; // 0x2990f7c /* 02990F7C */ goto L_02990FA4; L_02990F80: ; // 0x2990f80 /* 02990F80 */ _t174 = cpu->r[29] + 0x0000000Eu; /* 02990F80 */ cpu->r[10] = rbrew_read16(cpu->mem, _t174); /* 02990F84 */ cpu->r[4] = cpu->r[30]; /* 02990F88 */ cpu->r[3] = 0x00000030u; /* 02990F8C */ cpu->r[11] = cpu->r[10] | 0x0000000Fu; /* 02990F90 */ cpu->r[5] = 0x00000004u; /* 02990F94 */ _t175 = cpu->r[29] + 0x0000000Eu; /* 02990F94 */ rbrew_write16(cpu->mem, _t175, (uint16_t)cpu->r[11]); /* 02990F98 */ Gambit_fn_02801AC8(cpu); /* 02990F9C */ cpu->r[0] = cpu->r[3]; /* 02990F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02990FA0 */ _t176 = cpu->cr[0] >> (0x00000001u & 31u); /* 02990FA0 */ _t177 = _t176 & 0x00000001u; /* 02990FA0 */ if (_t177) goto L_02990FB0; else goto L_02990FA4; L_02990FA4: ; // 0x2990fa4 /* 02990FA4 */ cpu->r[3] = cpu->r[0]; /* 02990FA8 */ Gambit_fn_02A33EE0(cpu); /* 02990FAC */ cpu->r[0] = cpu->r[3]; L_02990FB0: ; // 0x2990fb0 /* 02990FB0 */ _t178 = cpu->r[29] + 0x00000088u; /* 02990FB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t178); /* 02990FB4 */ _t179 = cpu->r[29] + 0x000000D4u; /* 02990FB4 */ rbrew_write32(cpu->mem, _t179, cpu->r[0]); /* 02990FB8 */ _t180 = cpu->r[12] + 0x00000234u; /* 02990FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t180); /* 02990FBC */ cpu->r[4] = 0x101F0000u; /* 02990FC0 */ cpu->r[5] = 0x101F0000u; /* 02990FC4 */ cpu->ctr = cpu->r[0]; /* 02990FC8 */ cpu->r[3] = cpu->r[29]; /* 02990FCC */ cpu->r[4] = cpu->r[4] + 0x00005E30u; /* 02990FD0 */ cpu->r[7] = 0x00000000u; /* 02990FD4 */ cpu->r[6] = 0x00000001u; /* 02990FD8 */ cpu->r[5] = cpu->r[5] + 0x00006368u; /* 02990FDC */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990FE0 */ _t181 = cpu->r[29] + 0x00000088u; /* 02990FE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t181); /* 02990FE4 */ _t182 = cpu->r[5] + 0x00000224u; /* 02990FE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t182); /* 02990FE8 */ cpu->ctr = cpu->r[6]; /* 02990FEC */ cpu->r[4] = 0x00000000u; /* 02990FF0 */ cpu->r[3] = cpu->r[29]; /* 02990FF4 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02990FF8 */ cpu->r[8] = 0x10150000u; /* 02990FFC */ cpu->r[7] = 0x10150000u; /* 02991000 */ _t183 = cpu->r[8] + 0xFFFFFB90u; /* 02991000 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t183); /* 02991004 */ _t184 = cpu->r[7] + 0xFFFFFB8Cu; /* 02991004 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t184); /* 02991008 */ _t185 = cpu->r[1] + 0x00000028u; /* 02991008 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[12]); /* 0299100C */ _t186 = cpu->r[1] + 0x00000020u; /* 0299100C */ rbrew_write_f32(cpu->mem, _t186, cpu->f[11]); /* 02991010 */ _t187 = cpu->r[29] + 0x00000088u; /* 02991010 */ cpu->r[8] = rbrew_read32(cpu->mem, _t187); /* 02991014 */ _t188 = cpu->r[1] + 0x00000018u; /* 02991014 */ rbrew_write_f32(cpu->mem, _t188, cpu->f[11]); /* 02991018 */ _t189 = cpu->r[1] + 0x00000024u; /* 02991018 */ rbrew_write_f32(cpu->mem, _t189, cpu->f[12]); /* 0299101C */ _t190 = cpu->r[1] + 0x0000002Cu; /* 0299101C */ rbrew_write_f32(cpu->mem, _t190, cpu->f[12]); /* 02991020 */ _t191 = cpu->r[1] + 0x0000001Cu; /* 02991020 */ rbrew_write_f32(cpu->mem, _t191, cpu->f[11]); /* 02991024 */ _t192 = cpu->r[8] + 0x000001F4u; /* 02991024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t192); /* 02991028 */ cpu->ctr = cpu->r[0]; /* 0299102C */ cpu->r[3] = cpu->r[29]; /* 02991030 */ cpu->r[4] = cpu->r[1] + 0x00000018u; /* 02991034 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02991038 */ _t193 = cpu->r[1] + 0x00000018u; /* 02991038 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t193); /* 0299103C */ cpu->r[10] = 0x10150000u; /* 02991040 */ _t194 = cpu->r[1] + 0x00000020u; /* 02991040 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t194); /* 02991044 */ cpu->r[12] = 0x10150000u; /* 02991048 */ _t195 = cpu->r[1] + 0x00000024u; /* 02991048 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t195); /* 0299104C */ _t196 = cpu->r[1] + 0x00000028u; /* 0299104C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t196); /* 02991050 */ _t197 = cpu->r[1] + 0x0000001Cu; /* 02991050 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t197); /* 02991054 */ cpu->f[6] = cpu->f[13] - cpu->f[7]; /* 02991058 */ _t198 = cpu->r[1] + 0x0000002Cu; /* 02991058 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t198); /* 0299105C */ cpu->f[7] = cpu->f[9] - cpu->f[10]; /* 02991060 */ _t199 = cpu->r[12] + 0xFFFFFB98u; /* 02991060 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t199); /* 02991064 */ cpu->f[12] = cpu->f[11] - cpu->f[12]; /* 02991068 */ _t200 = cpu->r[10] + 0xFFFFFB94u; /* 02991068 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t200); /* 0299106C */ _t201 = cpu->r[1] + 0x0000000Cu; /* 0299106C */ rbrew_write_f32(cpu->mem, _t201, cpu->f[6]); /* 02991070 */ cpu->f[8] = cpu->f[7] * cpu->f[12]; /* 02991074 */ _t202 = cpu->r[1] + 0x00000010u; /* 02991074 */ rbrew_write_f32(cpu->mem, _t202, cpu->f[7]); /* 02991078 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[31]); /* 0299107C */ _t203 = cpu->r[1] + 0x00000014u; /* 0299107C */ rbrew_write_f32(cpu->mem, _t203, cpu->f[12]); /* 02991080 */ _t204 = cpu->cr[0] >> (0x00000002u & 31u); /* 02991080 */ _t205 = _t204 & 0x00000001u; /* 02991080 */ if (_t205) goto L_02991098; else goto L_02991084; L_02991084: ; // 0x2991084 /* 02991084 */ cpu->f[12] = cpu->f[12] * cpu->f[6]; /* 02991088 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]); /* 0299108C */ cpu->f[11] = cpu->f[31] * cpu->f[8]; /* 02991090 */ _t206 = cpu->cr[0] >> (0x00000002u & 31u); /* 02991090 */ _t207 = _t206 & 0x00000001u; /* 02991090 */ if (_t207) goto L_02991094; else goto L_029910C4; L_02991094: ; // 0x2991094 /* 02991094 */ goto L_029910DC; L_02991098: ; // 0x2991098 /* 02991098 */ _ft208 = sqrt(cpu->f[8]); /* 02991098 */ _ft209 = (double)(int32_t)0x00000001u; /* 02991098 */ cpu->f[13] = _ft209 / _ft208; /* 0299109C */ cpu->f[11] = cpu->f[13] * cpu->f[13]; /* 029910A0 */ cpu->f[12] = cpu->f[13] * cpu->f[9]; /* 029910A4 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[8], -(cpu->f[10])); /* 029910A8 */ cpu->f[13] = cpu->f[11] * cpu->f[12]; /* 029910AC */ _t210 = cpu->r[1] + 0x00000014u; /* 029910AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t210); /* 029910B0 */ _t211 = cpu->r[1] + 0x0000000Cu; /* 029910B0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t211); /* 029910B4 */ cpu->f[12] = cpu->f[12] * cpu->f[6]; /* 029910B8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]); /* 029910BC */ cpu->f[11] = cpu->f[13] * cpu->f[8]; /* 029910C0 */ _t212 = cpu->cr[0] >> (0x00000002u & 31u); /* 029910C0 */ _t213 = _t212 & 0x00000001u; /* 029910C0 */ if (_t213) goto L_029910DC; else goto L_029910C4; L_029910C4: ; // 0x29910c4 /* 029910C4 */ _t214 = cpu->r[1] + 0x00000010u; /* 029910C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t214); /* 029910C8 */ cpu->f[6] = cpu->f[6] * cpu->f[13]; /* 029910CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]); /* 029910D0 */ cpu->f[0] = cpu->f[31] * cpu->f[12]; /* 029910D4 */ _t215 = cpu->cr[0] >> (0x00000002u & 31u); /* 029910D4 */ _t216 = _t215 & 0x00000001u; /* 029910D4 */ if (_t216) goto L_02991108; else goto L_029910D8; L_029910D8: ; // 0x29910d8 /* 029910D8 */ goto L_0299111C; L_029910DC: ; // 0x29910dc /* 029910DC */ _ft217 = sqrt(cpu->f[12]); /* 029910DC */ _ft218 = (double)(int32_t)0x00000001u; /* 029910DC */ cpu->f[0] = _ft218 / _ft217; /* 029910E0 */ cpu->f[13] = cpu->f[0] * cpu->f[0]; /* 029910E4 */ cpu->f[6] = cpu->f[0] * cpu->f[9]; /* 029910E8 */ cpu->f[13] = -fma(cpu->f[13], cpu->f[12], -(cpu->f[10])); /* 029910EC */ cpu->f[0] = cpu->f[13] * cpu->f[6]; /* 029910F0 */ _t219 = cpu->r[1] + 0x00000010u; /* 029910F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t219); /* 029910F4 */ _t220 = cpu->r[1] + 0x0000000Cu; /* 029910F4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t220); /* 029910F8 */ cpu->f[6] = cpu->f[6] * cpu->f[13]; /* 029910FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]); /* 02991100 */ cpu->f[0] = cpu->f[0] * cpu->f[12]; /* 02991104 */ _t221 = cpu->cr[0] >> (0x00000002u & 31u); /* 02991104 */ _t222 = _t221 & 0x00000001u; /* 02991104 */ if (_t222) goto L_02991108; else goto L_0299111C; L_02991108: ; // 0x2991108 /* 02991108 */ _ft223 = sqrt(cpu->f[6]); /* 02991108 */ _ft224 = (double)(int32_t)0x00000001u; /* 02991108 */ cpu->f[31] = _ft224 / _ft223; /* 0299110C */ cpu->f[7] = cpu->f[31] * cpu->f[31]; /* 02991110 */ cpu->f[13] = cpu->f[31] * cpu->f[9]; /* 02991114 */ cpu->f[7] = -fma(cpu->f[7], cpu->f[6], -(cpu->f[10])); /* 02991118 */ cpu->f[31] = cpu->f[7] * cpu->f[13]; L_0299111C: ; // 0x299111c /* 0299111C */ cpu->r[7] = 0x10150000u; /* 02991120 */ cpu->f[6] = cpu->f[31] * cpu->f[6]; /* 02991124 */ _t225 = cpu->r[7] + 0xFFFFFB9Cu; /* 02991124 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t225); /* 02991128 */ cpu->f[12] = cpu->f[11] / cpu->f[8]; /* 0299112C */ cpu->f[0] = cpu->f[0] / cpu->f[8]; /* 02991130 */ _t226 = cpu->r[29] + 0x0000004Cu; /* 02991130 */ rbrew_write_f32(cpu->mem, _t226, cpu->f[12]); /* 02991134 */ cpu->f[8] = cpu->f[6] / cpu->f[8]; /* 02991138 */ _t227 = cpu->r[29] + 0x00000050u; /* 02991138 */ rbrew_write_f32(cpu->mem, _t227, cpu->f[0]); /* 0299113C */ _t228 = cpu->r[29] + 0x00000094u; /* 0299113C */ cpu->r[5] = rbrew_read32(cpu->mem, _t228); /* 02991140 */ _t229 = cpu->r[29] + 0x00000054u; /* 02991140 */ rbrew_write_f32(cpu->mem, _t229, cpu->f[8]); /* 02991144 */ _t230 = cpu->r[5] + 0x0000002Cu; /* 02991144 */ cpu->r[8] = rbrew_read32(cpu->mem, _t230); /* 02991148 */ _t231 = cpu->r[8] + 0x00000004u; /* 02991148 */ cpu->r[9] = rbrew_read32(cpu->mem, _t231); /* 0299114C */ cpu->r[28] = cpu->r[29] + 0x000000E4u; /* 0299114C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 02991150 */ _t232 = cpu->r[29] + 0x000000DCu; /* 02991150 */ rbrew_write32(cpu->mem, _t232, cpu->r[9]); /* 02991154 */ _t233 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991154 */ _t234 = _t233 & 0x00000001u; /* 02991154 */ if (_t234) goto L_029911A0; else goto L_02991158; L_02991158: ; // 0x2991158 /* 02991158 */ cpu->r[31] = 0x00000000u; /* 0299115C */ cpu->r[3] = cpu->r[28]; /* 0299115C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02991160 */ cpu->r[26] = cpu->r[31]; /* 02991164 */ _t235 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991164 */ _t236 = _t235 & 0x00000001u; /* 02991164 */ if (_t236) goto L_02991168; else goto L_02991178; L_02991168: ; // 0x2991168 /* 02991168 */ cpu->r[3] = 0x00000010u; /* 0299116C */ Gambit_fn_02801A78(cpu); /* 02991170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02991174 */ _t237 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991174 */ _t238 = _t237 & 0x00000001u; /* 02991174 */ if (_t238) goto L_02991194; else goto L_02991178; L_02991178: ; // 0x2991178 /* 02991178 */ cpu->r[10] = 0x10150000u; /* 0299117C */ _t239 = cpu->r[3] + 0x0000000Cu; /* 0299117C */ rbrew_write32(cpu->mem, _t239, cpu->r[26]); /* 02991180 */ cpu->r[10] = cpu->r[10] + 0xFFFFFB10u; /* 02991184 */ _t240 = cpu->r[3] + 0x00000008u; /* 02991184 */ rbrew_write16(cpu->mem, _t240, (uint16_t)cpu->r[31]); /* 02991188 */ _t241 = cpu->r[3] + 0x00000000u; /* 02991188 */ rbrew_write32(cpu->mem, _t241, cpu->r[10]); /* 0299118C */ _t242 = cpu->r[3] + 0x0000000Au; /* 0299118C */ rbrew_write16(cpu->mem, _t242, (uint16_t)cpu->r[31]); /* 02991190 */ _t243 = cpu->r[3] + 0x00000004u; /* 02991190 */ rbrew_write32(cpu->mem, _t243, cpu->r[27]); L_02991194: ; // 0x2991194 /* 02991194 */ cpu->r[11] = 0x10150000u; /* 02991198 */ cpu->r[11] = cpu->r[11] + 0xFFFFFB28u; /* 0299119C */ _t244 = cpu->r[28] + 0x00000000u; /* 0299119C */ rbrew_write32(cpu->mem, _t244, cpu->r[11]); L_029911A0: ; // 0x29911a0 /* 029911A0 */ _t245 = cpu->r[29] + 0x000000ACu; /* 029911A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t245); /* 029911A4 */ _t246 = cpu->r[12] + 0x0000002Eu; /* 029911A4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t246); /* 029911A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x0000FFFFu); /* 029911AC */ cpu->r[4] = 0xFFFFFFFFu; /* 029911B0 */ _t247 = cpu->cr[0] >> (0x00000003u & 31u); /* 029911B0 */ _t248 = _t247 & 0x00000001u; /* 029911B0 */ if (_t248) goto L_029911B4; else goto L_029911B8; L_029911B4: ; // 0x29911b4 /* 029911B4 */ cpu->r[4] = cpu->r[5]; L_029911B8: ; // 0x29911b8 /* 029911B8 */ cpu->r[3] = cpu->r[29]; /* 029911BC */ Gambit_fn_029909BC(cpu); /* 029911C0 */ cpu->r[10] = 0x101D0000u; /* 029911C4 */ _t249 = cpu->r[10] + 0xFFFFA6B0u; /* 029911C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t249); /* 029911C8 */ _t250 = cpu->r[10] + 0x00000040u; /* 029911C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t250); /* 029911CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 029911D0 */ _t251 = cpu->cr[0] >> (0x00000001u & 31u); /* 029911D0 */ _t252 = _t251 & 0x00000001u; /* 029911D0 */ if (_t252) goto L_029911EC; else goto L_029911D4; L_029911D4: ; // 0x29911d4 /* 029911D4 */ _t253 = cpu->r[3] + 0x00000000u; /* 029911D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t253); /* 029911D8 */ _t254 = cpu->r[12] + 0x0000005Cu; /* 029911D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t254); /* 029911DC */ cpu->ctr = cpu->r[0]; /* 029911E0 */ cpu->r[4] = cpu->r[29]; /* 029911E4 */ cpu->r[5] = cpu->r[30]; /* 029911E8 */ rbrew_call_indirect(cpu, cpu->ctr); L_029911EC: ; // 0x29911ec /* 029911EC */ _t255 = cpu->r[1] + 0x00000008u; /* 029911EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t255); /* 029911F0 */ /* nop */ /* 029911F4 */ _t256 = cpu->r[1] + 0x000000D0u; /* 029911F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t256); /* 029911F8 */ cpu->r[8] = cpu->r[7] + 0xFFFFFFFFu; /* 029911FC */ _t257 = cpu->r[1] + 0x000000C8u; /* 029911FC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t257); /* 02991200 */ cpu->r[3] = cpu->r[7] - cpu->r[8]; /* 02991204 */ _t258 = cpu->cr[0] >> (0x00000003u & 31u); /* 02991204 */ _t259 = _t258 & 0x00000001u; /* 02991204 */ if (_t259) goto L_02991208; // else: addr-0 trap, fall-through L_02991208: ; // 0x2991208 /* 02991208 */ _t260 = cpu->r[1] + 0x000000DCu; /* 02991208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t260); /* 0299120C */ cpu->lr = cpu->r[0]; /* 02991210 */ cpu->r[1] = cpu->r[1] + 0x000000D8u; /* 02991214 */ return; } // fn_02991218 @ 0x2991218 void Gambit_fn_02991218(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10; L_02991218: ; // 0x2991218 /* 02991218 */ cpu->r[0] = cpu->lr; /* 0299121C */ _t0 = cpu->r[1] + 0x00000004u; /* 0299121C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]); /* 02991220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02991224 */ _t1 = cpu->r[1] + 0xFFFFFFF8u; /* 02991224 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]); /* 02991224 */ cpu->r[1] = _t1; /* 02991228 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991228 */ _t3 = _t2 & 0x00000001u; /* 02991228 */ if (_t3) goto L_0299122C; else goto L_0299123C; L_0299122C: ; // 0x299122c /* 0299122C */ cpu->r[3] = 0x00000010u; /* 02991230 */ Gambit_fn_02801A78(cpu); /* 02991234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02991238 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991238 */ _t5 = _t4 & 0x00000001u; /* 02991238 */ if (_t5) goto L_02991254; else goto L_0299123C; L_0299123C: ; // 0x299123c /* 0299123C */ cpu->r[0] = 0x00000000u; /* 02991240 */ cpu->r[12] = 0x00000001u; /* 02991244 */ _t6 = cpu->r[3] + 0x00000000u; /* 02991244 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]); /* 02991248 */ _t7 = cpu->r[3] + 0x0000000Cu; /* 02991248 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]); /* 0299124C */ _t8 = cpu->r[3] + 0x00000008u; /* 0299124C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]); /* 02991250 */ _t9 = cpu->r[3] + 0x00000004u; /* 02991250 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]); L_02991254: ; // 0x2991254 /* 02991254 */ _t10 = cpu->r[1] + 0x0000000Cu; /* 02991254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02991258 */ cpu->lr = cpu->r[0]; /* 0299125C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02991260 */ return; } // fn_02991224 @ 0x2991224 void Gambit_fn_02991224(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02991224: ; // 0x2991224 /* 02991224 */ _t0 = cpu->r[1] + 0xFFFFFFF8u; /* 02991224 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991224 */ cpu->r[1] = _t0; /* 02991228 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991228 */ _t2 = _t1 & 0x00000001u; /* 02991228 */ if (_t2) goto L_0299122C; else goto L_0299123C; L_0299122C: ; // 0x299122c /* 0299122C */ cpu->r[3] = 0x00000010u; /* 02991230 */ Gambit_fn_02801A78(cpu); /* 02991234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u); /* 02991238 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991238 */ _t4 = _t3 & 0x00000001u; /* 02991238 */ if (_t4) goto L_02991254; else goto L_0299123C; L_0299123C: ; // 0x299123c /* 0299123C */ cpu->r[0] = 0x00000000u; /* 02991240 */ cpu->r[12] = 0x00000001u; /* 02991244 */ _t5 = cpu->r[3] + 0x00000000u; /* 02991244 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02991248 */ _t6 = cpu->r[3] + 0x0000000Cu; /* 02991248 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]); /* 0299124C */ _t7 = cpu->r[3] + 0x00000008u; /* 0299124C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]); /* 02991250 */ _t8 = cpu->r[3] + 0x00000004u; /* 02991250 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]); L_02991254: ; // 0x2991254 /* 02991254 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02991254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9); /* 02991258 */ cpu->lr = cpu->r[0]; /* 0299125C */ cpu->r[1] = cpu->r[1] + 0x00000008u; /* 02991260 */ return; } // fn_02991264 @ 0x2991264 void Gambit_fn_02991264(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02991264: ; // 0x2991264 /* 02991264 */ cpu->r[0] = cpu->lr; /* 02991268 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02991268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991268 */ cpu->r[1] = _t0; /* 0299126C */ _t1 = cpu->r[1] + 0x00000020u; /* 0299126C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02991270 */ _t2 = cpu->r[1] + 0x00000024u; /* 02991270 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02991274 */ _t3 = cpu->r[1] + 0x00000018u; /* 02991274 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 02991278 */ cpu->r[28] = cpu->r[3]; /* 0299127C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02991280 */ cpu->r[30] = cpu->r[5]; /* 02991284 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02991284 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 02991288 */ cpu->r[31] = cpu->r[6]; /* 0299128C */ _t5 = cpu->r[1] + 0x0000002Cu; /* 0299128C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02991290 */ cpu->r[29] = cpu->r[4]; /* 02991294 */ Gambit_fn_02991218(cpu); /* 02991298 */ cpu->r[3] = cpu->r[28]; /* 0299129C */ _t6 = cpu->r[1] + 0x00000008u; /* 0299129C */ rbrew_write32(cpu->mem, _t6, cpu->r[29]); /* 029912A0 */ cpu->r[5] = cpu->r[31]; /* 029912A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 029912A8 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 029912A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 029912AC */ Gambit_fn_02990A1C(cpu); /* 029912B0 */ _t8 = cpu->r[1] + 0x00000018u; /* 029912B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8); /* 029912B4 */ _t9 = cpu->r[1] + 0x0000001Cu; /* 029912B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 029912B8 */ _t10 = cpu->r[1] + 0x0000002Cu; /* 029912B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 029912BC */ _t11 = cpu->r[1] + 0x00000024u; /* 029912BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 029912C0 */ cpu->lr = cpu->r[0]; /* 029912C4 */ _t12 = cpu->r[1] + 0x00000020u; /* 029912C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 029912C8 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 029912CC */ return; } // fn_02991268 @ 0x2991268 void Gambit_fn_02991268(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02991268: ; // 0x2991268 /* 02991268 */ _t0 = cpu->r[1] + 0xFFFFFFD8u; /* 02991268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991268 */ cpu->r[1] = _t0; /* 0299126C */ _t1 = cpu->r[1] + 0x00000020u; /* 0299126C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 02991270 */ _t2 = cpu->r[1] + 0x00000024u; /* 02991270 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02991274 */ _t3 = cpu->r[1] + 0x00000018u; /* 02991274 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]); /* 02991278 */ cpu->r[28] = cpu->r[3]; /* 0299127C */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02991280 */ cpu->r[30] = cpu->r[5]; /* 02991284 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02991284 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 02991288 */ cpu->r[31] = cpu->r[6]; /* 0299128C */ _t5 = cpu->r[1] + 0x0000002Cu; /* 0299128C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02991290 */ cpu->r[29] = cpu->r[4]; /* 02991294 */ Gambit_fn_02991218(cpu); /* 02991298 */ cpu->r[3] = cpu->r[28]; /* 0299129C */ _t6 = cpu->r[1] + 0x00000008u; /* 0299129C */ rbrew_write32(cpu->mem, _t6, cpu->r[29]); /* 029912A0 */ cpu->r[5] = cpu->r[31]; /* 029912A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u; /* 029912A8 */ _t7 = cpu->r[1] + 0x0000000Cu; /* 029912A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]); /* 029912AC */ Gambit_fn_02990A1C(cpu); /* 029912B0 */ _t8 = cpu->r[1] + 0x00000018u; /* 029912B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8); /* 029912B4 */ _t9 = cpu->r[1] + 0x0000001Cu; /* 029912B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 029912B8 */ _t10 = cpu->r[1] + 0x0000002Cu; /* 029912B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 029912BC */ _t11 = cpu->r[1] + 0x00000024u; /* 029912BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 029912C0 */ cpu->lr = cpu->r[0]; /* 029912C4 */ _t12 = cpu->r[1] + 0x00000020u; /* 029912C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 029912C8 */ cpu->r[1] = cpu->r[1] + 0x00000028u; /* 029912CC */ return; } // fn_029912D0 @ 0x29912d0 void Gambit_fn_029912D0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3; L_029912D0: ; // 0x29912d0 /* 029912D0 */ _t0 = cpu->r[3] + 0x000000D0u; /* 029912D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0); /* 029912D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 029912D8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u); /* 029912D8 */ _t2 = _t1 & 0x00000001u; /* 029912D8 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; } /* 029912D8 */ goto L_029912DC; L_029912DC: ; // 0x29912dc /* 029912DC */ _t3 = cpu->r[12] + 0x00000020u; /* 029912DC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]); /* 029912E0 */ return; } // fn_029912E4 @ 0x29912e4 void Gambit_fn_029912E4(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_029912E4: ; // 0x29912e4 /* 029912E4 */ cpu->r[0] = cpu->lr; /* 029912E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029912E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029912E8 */ cpu->r[1] = _t0; /* 029912EC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029912EC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029912F0 */ _t2 = cpu->r[1] + 0x00000010u; /* 029912F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029912F4 */ _t3 = cpu->r[1] + 0x00000014u; /* 029912F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029912F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 029912FC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 029912FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02991300 */ cpu->r[29] = cpu->r[3]; /* 02991304 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991304 */ _t6 = _t5 & 0x00000001u; /* 02991304 */ if (_t6) goto L_02991318; else goto L_02991308; L_02991308: ; // 0x2991308 /* 02991308 */ _t7 = cpu->r[29] + 0x00000094u; /* 02991308 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7); /* 0299130C */ _t8 = cpu->r[7] + 0x0000002Cu; /* 0299130C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02991310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 02991314 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991314 */ _t10 = _t9 & 0x00000001u; /* 02991314 */ if (_t10) goto L_02991318; else goto L_02991374; L_02991318: ; // 0x2991318 /* 02991318 */ _t11 = cpu->r[29] + 0x00000088u; /* 02991318 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 0299131C */ _t12 = cpu->r[10] + 0x000000B4u; /* 0299131C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02991320 */ cpu->r[12] = 0x101D0000u; /* 02991324 */ cpu->ctr = cpu->r[0]; /* 02991328 */ _t13 = cpu->r[12] + 0xFFFFA304u; /* 02991328 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 0299132C */ _t14 = cpu->r[12] + 0x00000030u; /* 0299132C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 02991330 */ cpu->r[3] = cpu->r[29]; /* 02991334 */ cpu->r[31] = 0x00000000u; /* 02991338 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0299133C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]); /* 02991340 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 02991340 */ _t16 = _t15 & 0x00000001u; /* 02991340 */ if (_t16) goto L_02991344; else goto L_02991374; L_02991344: ; // 0x2991344 /* 02991344 */ cpu->r[5] = cpu->r[30]; /* 02991348 */ cpu->r[4] = cpu->r[31]; /* 0299134C */ cpu->r[3] = cpu->r[29]; /* 02991350 */ Gambit_fn_029DB5FC(cpu); /* 02991354 */ _t17 = cpu->r[29] + 0x00000088u; /* 02991354 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17); /* 02991358 */ _t18 = cpu->r[6] + 0x000000B4u; /* 02991358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0299135C */ cpu->ctr = cpu->r[0]; /* 02991360 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02991364 */ cpu->r[3] = cpu->r[29]; /* 02991368 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0299136C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]); /* 02991370 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 02991370 */ _t20 = _t19 & 0x00000001u; /* 02991370 */ if (_t20) goto L_02991344; else goto L_02991374; L_02991374: ; // 0x2991374 /* 02991374 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02991374 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 02991378 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 02991378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0299137C */ _t23 = cpu->r[1] + 0x00000010u; /* 0299137C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02991380 */ cpu->lr = cpu->r[0]; /* 02991384 */ _t24 = cpu->r[1] + 0x00000014u; /* 02991384 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 02991388 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0299138C */ return; } // fn_029912E8 @ 0x29912e8 void Gambit_fn_029912E8(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_029912E8: ; // 0x29912e8 /* 029912E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029912E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029912E8 */ cpu->r[1] = _t0; /* 029912EC */ _t1 = cpu->r[1] + 0x0000000Cu; /* 029912EC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 029912F0 */ _t2 = cpu->r[1] + 0x00000010u; /* 029912F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029912F4 */ _t3 = cpu->r[1] + 0x00000014u; /* 029912F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 029912F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u); /* 029912FC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 029912FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02991300 */ cpu->r[29] = cpu->r[3]; /* 02991304 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991304 */ _t6 = _t5 & 0x00000001u; /* 02991304 */ if (_t6) goto L_02991318; else goto L_02991308; L_02991308: ; // 0x2991308 /* 02991308 */ _t7 = cpu->r[29] + 0x00000094u; /* 02991308 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7); /* 0299130C */ _t8 = cpu->r[7] + 0x0000002Cu; /* 0299130C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8); /* 02991310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]); /* 02991314 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991314 */ _t10 = _t9 & 0x00000001u; /* 02991314 */ if (_t10) goto L_02991318; else goto L_02991374; L_02991318: ; // 0x2991318 /* 02991318 */ _t11 = cpu->r[29] + 0x00000088u; /* 02991318 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11); /* 0299131C */ _t12 = cpu->r[10] + 0x000000B4u; /* 0299131C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02991320 */ cpu->r[12] = 0x101D0000u; /* 02991324 */ cpu->ctr = cpu->r[0]; /* 02991328 */ _t13 = cpu->r[12] + 0xFFFFA304u; /* 02991328 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13); /* 0299132C */ _t14 = cpu->r[12] + 0x00000030u; /* 0299132C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 02991330 */ cpu->r[3] = cpu->r[29]; /* 02991334 */ cpu->r[31] = 0x00000000u; /* 02991338 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0299133C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]); /* 02991340 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u); /* 02991340 */ _t16 = _t15 & 0x00000001u; /* 02991340 */ if (_t16) goto L_02991344; else goto L_02991374; L_02991344: ; // 0x2991344 /* 02991344 */ cpu->r[5] = cpu->r[30]; /* 02991348 */ cpu->r[4] = cpu->r[31]; /* 0299134C */ cpu->r[3] = cpu->r[29]; /* 02991350 */ Gambit_fn_029DB5FC(cpu); /* 02991354 */ _t17 = cpu->r[29] + 0x00000088u; /* 02991354 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17); /* 02991358 */ _t18 = cpu->r[6] + 0x000000B4u; /* 02991358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 0299135C */ cpu->ctr = cpu->r[0]; /* 02991360 */ cpu->r[31] = cpu->r[31] + 0x00000001u; /* 02991364 */ cpu->r[3] = cpu->r[29]; /* 02991368 */ rbrew_call_indirect(cpu, cpu->ctr); /* 0299136C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[3]); /* 02991370 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u); /* 02991370 */ _t20 = _t19 & 0x00000001u; /* 02991370 */ if (_t20) goto L_02991344; else goto L_02991374; L_02991374: ; // 0x2991374 /* 02991374 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 02991374 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 02991378 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 02991378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 0299137C */ _t23 = cpu->r[1] + 0x00000010u; /* 0299137C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 02991380 */ cpu->lr = cpu->r[0]; /* 02991384 */ _t24 = cpu->r[1] + 0x00000014u; /* 02991384 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 02991388 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0299138C */ return; } // fn_02991390 @ 0x2991390 void Gambit_fn_02991390(CPUState* cpu) { uint32_t _t0, _t1; L_02991390: ; // 0x2991390 /* 02991390 */ cpu->r[12] = cpu->r[3]; /* 02991394 */ cpu->r[3] = 0x101D0000u; /* 02991398 */ _t0 = cpu->r[12] + 0x000000DCu; /* 02991398 */ cpu->r[4] = rbrew_read32(cpu->mem, _t0); /* 0299139C */ _t1 = cpu->r[3] + 0xFFFFA708u; /* 0299139C */ cpu->r[3] = rbrew_read32(cpu->mem, _t1); /* 029913A0 */ cpu->r[5] = 0x00000000u; /* 029913A4 */ goto L_0299C098; L_0299C098: ; // 0x299c098 /* 0299C098 */ return; } // fn_029913A8 @ 0x29913a8 void Gambit_fn_029913A8(CPUState* cpu) { uint32_t _t0, _t1; L_029913A8: ; // 0x29913a8 /* 029913A8 */ cpu->r[12] = cpu->r[3]; /* 029913AC */ cpu->r[3] = 0x101D0000u; /* 029913B0 */ _t0 = cpu->r[12] + 0x000000DCu; /* 029913B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t0); /* 029913B4 */ _t1 = cpu->r[3] + 0xFFFFA708u; /* 029913B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1); /* 029913B8 */ cpu->r[5] = 0x00000000u; /* 029913BC */ goto L_0299C09C; L_0299C09C: ; // 0x299c09c /* 0299C09C */ return; } // fn_029913C0 @ 0x29913c0 void Gambit_fn_029913C0(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_029913C0: ; // 0x29913c0 /* 029913C0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u; /* 029913C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029913C0 */ cpu->r[1] = _t0; /* 029913C4 */ /* nop */ /* 029913C8 */ cpu->r[0] = cpu->lr; /* 029913CC */ _t1 = cpu->r[1] + 0x00000024u; /* 029913CC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 029913D0 */ _t2 = cpu->r[3] + 0x00000088u; /* 029913D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2); /* 029913D4 */ _t3 = cpu->r[8] + 0x000001ACu; /* 029913D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3); /* 029913D8 */ _t4 = cpu->r[3] + 0x000000B8u; /* 029913D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4); /* 029913DC */ cpu->ctr = cpu->r[0]; /* 029913E0 */ _t5 = cpu->r[3] + 0x000000ACu; /* 029913E0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t5); /* 029913E4 */ cpu->r[30] = cpu->r[3]; /* 029913E8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029913EC */ cpu->r[28] = cpu->r[3]; /* 029913EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u); /* 029913F0 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u); /* 029913F0 */ _t7 = _t6 & 0x00000001u; /* 029913F0 */ if (_t7) goto L_029913F4; else goto L_0299145C; L_029913F4: ; // 0x29913f4 /* 029913F4 */ _t8 = cpu->r[30] + 0x000000B0u; /* 029913F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 029913F8 */ cpu->r[4] = cpu->r[27]; /* 029913FC */ cpu->r[3] = cpu->r[31]; /* 02991400 */ Gambit_fn_02C5358C(cpu); /* 02991404 */ _t9 = cpu->r[31] + 0x00000018u; /* 02991404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02991408 */ _t10 = cpu->r[12] + 0x00000000u; /* 02991408 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10); /* 0299140C */ _t11 = cpu->r[29] + 0x00000000u; /* 0299140C */ rbrew_write32(cpu->mem, _t11, cpu->r[7]); /* 02991410 */ _t12 = cpu->r[12] + 0x00000004u; /* 02991410 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12); /* 02991414 */ _t13 = cpu->r[29] + 0x00000004u; /* 02991414 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]); /* 02991418 */ _t14 = cpu->r[12] + 0x00000008u; /* 02991418 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14); /* 0299141C */ _t15 = cpu->r[29] + 0x00000008u; /* 0299141C */ rbrew_write32(cpu->mem, _t15, cpu->r[9]); /* 02991420 */ _t16 = cpu->r[12] + 0x0000000Cu; /* 02991420 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16); /* 02991424 */ _t17 = cpu->r[29] + 0x0000000Cu; /* 02991424 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]); /* 02991428 */ _t18 = cpu->r[31] + 0x00000000u; /* 02991428 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18); /* 0299142C */ _t19 = cpu->r[7] + 0x00000024u; /* 0299142C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19); /* 02991430 */ cpu->r[9] = 0x00000000u; /* 02991434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u); /* 02991438 */ cpu->r[5] = cpu->r[7] + 0x00000024u; /* 0299143C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299143C */ _t21 = _t20 & 0x00000001u; /* 0299143C */ if (_t21) goto L_02991444; else goto L_02991440; L_02991440: ; // 0x2991440 /* 02991440 */ cpu->r[9] = cpu->r[5] + cpu->r[12]; L_02991444: ; // 0x2991444 /* 02991444 */ _t22 = cpu->r[9] + 0x0000000Cu; /* 02991444 */ cpu->r[11] = rbrew_read16(cpu->mem, _t22); /* 02991448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u); /* 0299144C */ _t23 = cpu->cr[0] >> (0x00000002u & 31u); /* 0299144C */ _t24 = _t23 & 0x00000001u; /* 0299144C */ if (_t24) goto L_02991450; else goto L_0299145C; L_02991450: ; // 0x2991450 /* 02991450 */ cpu->r[3] = cpu->r[31]; /* 02991454 */ cpu->r[4] = cpu->r[27]; /* 02991458 */ Gambit_fn_02C536A8(cpu); L_0299145C: ; // 0x299145c /* 0299145C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000001u); /* 02991460 */ cpu->r[26] = cpu->r[28] + 0xFFFFFFFFu; /* 02991464 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u); /* 02991464 */ _t26 = _t25 & 0x00000001u; /* 02991464 */ if (_t26) goto L_02991468; else goto L_029914D0; L_02991468: ; // 0x2991468 /* 02991468 */ cpu->r[28] = 0x00000034u; L_0299146C: ; // 0x299146c /* 0299146C */ _t27 = cpu->r[30] + 0x000000B0u; /* 0299146C */ cpu->r[12] = rbrew_read32(cpu->mem, _t27); /* 02991470 */ cpu->r[31] = cpu->r[12] + cpu->r[28]; /* 02991474 */ cpu->r[4] = cpu->r[27]; /* 02991478 */ cpu->r[3] = cpu->r[31]; /* 0299147C */ Gambit_fn_02C5358C(cpu); /* 02991480 */ _t28 = cpu->r[31] + 0x00000018u; /* 02991480 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28); /* 02991484 */ cpu->r[3] = cpu->r[29]; /* 02991488 */ cpu->r[4] = cpu->r[29]; /* 0299148C */ Gambit_fn_02C523CC(cpu); /* 02991490 */ _t29 = cpu->r[31] + 0x00000000u; /* 02991490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29); /* 02991494 */ _t30 = cpu->r[11] + 0x00000024u; /* 02991494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30); /* 02991498 */ cpu->r[5] = 0x00000000u; /* 0299149C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 029914A0 */ cpu->r[6] = cpu->r[11] + 0x00000024u; /* 029914A4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u); /* 029914A4 */ _t32 = _t31 & 0x00000001u; /* 029914A4 */ if (_t32) goto L_029914AC; else goto L_029914A8; L_029914A8: ; // 0x29914a8 /* 029914A8 */ cpu->r[5] = cpu->r[6] + cpu->r[0]; L_029914AC: ; // 0x29914ac /* 029914AC */ _t33 = cpu->r[5] + 0x0000000Cu; /* 029914AC */ cpu->r[0] = rbrew_read16(cpu->mem, _t33); /* 029914B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u); /* 029914B4 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u); /* 029914B4 */ _t35 = _t34 & 0x00000001u; /* 029914B4 */ if (_t35) goto L_029914B8; else goto L_029914C4; L_029914B8: ; // 0x29914b8 /* 029914B8 */ cpu->r[3] = cpu->r[31]; /* 029914BC */ cpu->r[4] = cpu->r[27]; /* 029914C0 */ Gambit_fn_02C536A8(cpu); L_029914C4: ; // 0x29914c4 /* 029914C4 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu; /* 029914C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u); /* 029914C8 */ cpu->r[28] = cpu->r[28] + 0x00000034u; /* 029914CC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u); /* 029914CC */ _t37 = _t36 & 0x00000001u; /* 029914CC */ if (_t37) goto L_029914D0; else goto L_0299146C; L_029914D0: ; // 0x29914d0 /* 029914D0 */ _t38 = cpu->r[29] + 0x00000000u; /* 029914D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38); /* 029914D4 */ _t39 = cpu->r[30] + 0x00000034u; /* 029914D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39); /* 029914D8 */ _t40 = cpu->r[29] + 0x0000000Cu; /* 029914D8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t40); /* 029914DC */ _t41 = cpu->r[6] + 0x00000000u; /* 029914DC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]); /* 029914E0 */ _t42 = cpu->r[29] + 0x00000004u; /* 029914E0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t42); /* 029914E4 */ _t43 = cpu->r[6] + 0x00000004u; /* 029914E4 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[13]); /* 029914E8 */ _t44 = cpu->r[29] + 0x00000008u; /* 029914E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44); /* 029914EC */ _t45 = cpu->r[6] + 0x0000000Cu; /* 029914EC */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]); /* 029914F0 */ _t46 = cpu->r[6] + 0x00000008u; /* 029914F0 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]); /* 029914F4 */ _t47 = cpu->r[30] + 0x000000ACu; /* 029914F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47); /* 029914F8 */ _t48 = cpu->r[10] + 0x00000004u; /* 029914F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t48); /* 029914FC */ _t49 = cpu->r[10] + 0x00000010u; /* 029914FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t49); /* 02991500 */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 02991504 */ cpu->r[4] = cpu->r[30] + 0x00000058u; /* 02991508 */ _t50 = cpu->r[10] + 0x00000004u; /* 02991508 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[0]); /* 0299150C */ Gambit_fn_02C69510(cpu); /* 02991510 */ /* nop */ /* 02991514 */ _t51 = cpu->r[1] + 0x00000024u; /* 02991514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51); /* 02991518 */ cpu->lr = cpu->r[0]; /* 0299151C */ cpu->r[1] = cpu->r[1] + 0x00000020u; /* 02991520 */ return; } // fn_02991524 @ 0x2991524 void Gambit_fn_02991524(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_02991524: ; // 0x2991524 /* 02991524 */ cpu->r[0] = cpu->lr; /* 02991528 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991528 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991528 */ cpu->r[1] = _t0; /* 0299152C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0299152C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02991530 */ _t2 = cpu->r[1] + 0x00000010u; /* 02991530 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02991534 */ _t3 = cpu->r[1] + 0x00000014u; /* 02991534 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02991538 */ cpu->r[30] = cpu->r[3]; /* 0299153C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0299153C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02991540 */ _t5 = cpu->r[30] + 0x000000C8u; /* 02991540 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5); /* 02991544 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 02991544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02991548 */ cpu->r[31] = cpu->r[4]; /* 0299154C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299154C */ _t7 = _t6 & 0x00000001u; /* 0299154C */ if (_t7) goto L_029915F8; else goto L_02991550; L_02991550: ; // 0x2991550 /* 02991550 */ _t8 = cpu->r[30] + 0x00000034u; /* 02991550 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 02991554 */ cpu->r[8] = cpu->r[30] + 0x00000024u; /* 02991558 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]); /* 0299155C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299155C */ _t10 = _t9 & 0x00000001u; /* 0299155C */ if (_t10) goto L_02991560; else goto L_029915F8; L_02991560: ; // 0x2991560 /* 02991560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02991564 */ _t11 = cpu->r[30] + 0x000000ACu; /* 02991564 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 02991568 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991568 */ _t13 = _t12 & 0x00000001u; /* 02991568 */ if (_t13) goto L_029915E4; else goto L_0299156C; L_0299156C: ; // 0x299156c /* 0299156C */ _t14 = cpu->r[31] + 0x0000000Cu; /* 0299156C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 02991570 */ _t15 = cpu->r[29] + 0x0000002Cu; /* 02991570 */ cpu->r[8] = rbrew_read16(cpu->mem, _t15); /* 02991574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]); /* 02991578 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 02991578 */ _t17 = _t16 & 0x00000001u; /* 02991578 */ if (_t17) goto L_029915E4; else goto L_0299157C; L_0299157C: ; // 0x299157c /* 0299157C */ _t18 = cpu->r[31] + 0x00000002u; /* 0299157C */ cpu->r[9] = rbrew_read16(cpu->mem, _t18); /* 02991580 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 02991580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02991584 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991584 */ _t20 = _t19 & 0x00000001u; /* 02991584 */ if (_t20) goto L_029915E4; else goto L_02991588; L_02991588: ; // 0x2991588 /* 02991588 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 02991588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0299158C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299158C */ _t22 = _t21 & 0x00000001u; /* 0299158C */ if (_t22) goto L_0299159C; else goto L_02991590; L_02991590: ; // 0x2991590 /* 02991590 */ _t23 = cpu->r[29] + 0x00000004u; /* 02991590 */ cpu->r[0] = rbrew_read16(cpu->mem, _t23); /* 02991594 */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 02991598 */ _t24 = cpu->r[29] + 0x00000004u; /* 02991598 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[0]); L_0299159C: ; // 0x299159c /* 0299159C */ _t25 = cpu->r[31] + 0x00000008u; /* 0299159C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25); /* 029915A0 */ cpu->r[3] = cpu->r[29]; /* 029915A4 */ cpu->r[6] = 0x00000001u; /* 029915A8 */ _t26 = cpu->r[31] + 0x00000020u; /* 029915A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26); /* 029915AC */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 029915B0 */ Gambit_fn_02C5AEC4(cpu); /* 029915B4 */ cpu->r[3] = cpu->r[30]; /* 029915B8 */ _t27 = cpu->r[31] + 0x00000028u; /* 029915B8 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]); /* 029915BC */ Gambit_fn_029913C0(cpu); /* 029915C0 */ cpu->r[4] = 0x00000000u; /* 029915C4 */ cpu->r[3] = cpu->r[29]; /* 029915C8 */ Gambit_fn_02C5AF9C(cpu); /* 029915CC */ cpu->r[11] = 0x00000000u; /* 029915D0 */ _t28 = cpu->r[31] + 0x00000028u; /* 029915D0 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]); /* 029915D4 */ _t29 = cpu->r[30] + 0x000000C8u; /* 029915D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29); /* 029915D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Du); /* 029915DC */ _t30 = cpu->r[30] + 0x000000C8u; /* 029915DC */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]); /* 029915E0 */ goto L_029915F8; L_029915E4: ; // 0x29915e4 /* 029915E4 */ cpu->r[3] = cpu->r[30]; /* 029915E8 */ Gambit_fn_029913C0(cpu); /* 029915EC */ _t31 = cpu->r[30] + 0x000000C8u; /* 029915EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t31); /* 029915F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Du); /* 029915F4 */ _t32 = cpu->r[30] + 0x000000C8u; /* 029915F4 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]); L_029915F8: ; // 0x29915f8 /* 029915F8 */ _t33 = cpu->r[1] + 0x0000000Cu; /* 029915F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33); /* 029915FC */ _t34 = cpu->r[1] + 0x0000001Cu; /* 029915FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 02991600 */ _t35 = cpu->r[1] + 0x00000010u; /* 02991600 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35); /* 02991604 */ cpu->lr = cpu->r[0]; /* 02991608 */ _t36 = cpu->r[1] + 0x00000014u; /* 02991608 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36); /* 0299160C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02991610 */ return; } // fn_02991528 @ 0x2991528 void Gambit_fn_02991528(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_02991528: ; // 0x2991528 /* 02991528 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991528 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991528 */ cpu->r[1] = _t0; /* 0299152C */ _t1 = cpu->r[1] + 0x0000000Cu; /* 0299152C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]); /* 02991530 */ _t2 = cpu->r[1] + 0x00000010u; /* 02991530 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02991534 */ _t3 = cpu->r[1] + 0x00000014u; /* 02991534 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]); /* 02991538 */ cpu->r[30] = cpu->r[3]; /* 0299153C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 0299153C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02991540 */ _t5 = cpu->r[30] + 0x000000C8u; /* 02991540 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5); /* 02991544 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu); /* 02991544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u); /* 02991548 */ cpu->r[31] = cpu->r[4]; /* 0299154C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299154C */ _t7 = _t6 & 0x00000001u; /* 0299154C */ if (_t7) goto L_029915F8; else goto L_02991550; L_02991550: ; // 0x2991550 /* 02991550 */ _t8 = cpu->r[30] + 0x00000034u; /* 02991550 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8); /* 02991554 */ cpu->r[8] = cpu->r[30] + 0x00000024u; /* 02991558 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]); /* 0299155C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299155C */ _t10 = _t9 & 0x00000001u; /* 0299155C */ if (_t10) goto L_02991560; else goto L_029915F8; L_02991560: ; // 0x2991560 /* 02991560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u); /* 02991564 */ _t11 = cpu->r[30] + 0x000000ACu; /* 02991564 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 02991568 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991568 */ _t13 = _t12 & 0x00000001u; /* 02991568 */ if (_t13) goto L_029915E4; else goto L_0299156C; L_0299156C: ; // 0x299156c /* 0299156C */ _t14 = cpu->r[31] + 0x0000000Cu; /* 0299156C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14); /* 02991570 */ _t15 = cpu->r[29] + 0x0000002Cu; /* 02991570 */ cpu->r[8] = rbrew_read16(cpu->mem, _t15); /* 02991574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]); /* 02991578 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u); /* 02991578 */ _t17 = _t16 & 0x00000001u; /* 02991578 */ if (_t17) goto L_029915E4; else goto L_0299157C; L_0299157C: ; // 0x299157c /* 0299157C */ _t18 = cpu->r[31] + 0x00000002u; /* 0299157C */ cpu->r[9] = rbrew_read16(cpu->mem, _t18); /* 02991580 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x0000001Fu, 0x0000001Fu); /* 02991580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 02991584 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991584 */ _t20 = _t19 & 0x00000001u; /* 02991584 */ if (_t20) goto L_029915E4; else goto L_02991588; L_02991588: ; // 0x2991588 /* 02991588 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu); /* 02991588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u); /* 0299158C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u); /* 0299158C */ _t22 = _t21 & 0x00000001u; /* 0299158C */ if (_t22) goto L_0299159C; else goto L_02991590; L_02991590: ; // 0x2991590 /* 02991590 */ _t23 = cpu->r[29] + 0x00000004u; /* 02991590 */ cpu->r[0] = rbrew_read16(cpu->mem, _t23); /* 02991594 */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 02991598 */ _t24 = cpu->r[29] + 0x00000004u; /* 02991598 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[0]); L_0299159C: ; // 0x299159c /* 0299159C */ _t25 = cpu->r[31] + 0x00000008u; /* 0299159C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25); /* 029915A0 */ cpu->r[3] = cpu->r[29]; /* 029915A4 */ cpu->r[6] = 0x00000001u; /* 029915A8 */ _t26 = cpu->r[31] + 0x00000020u; /* 029915A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26); /* 029915AC */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x00000001u, 0x0000001Fu); /* 029915B0 */ Gambit_fn_02C5AEC4(cpu); /* 029915B4 */ cpu->r[3] = cpu->r[30]; /* 029915B8 */ _t27 = cpu->r[31] + 0x00000028u; /* 029915B8 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]); /* 029915BC */ Gambit_fn_029913C0(cpu); /* 029915C0 */ cpu->r[4] = 0x00000000u; /* 029915C4 */ cpu->r[3] = cpu->r[29]; /* 029915C8 */ Gambit_fn_02C5AF9C(cpu); /* 029915CC */ cpu->r[11] = 0x00000000u; /* 029915D0 */ _t28 = cpu->r[31] + 0x00000028u; /* 029915D0 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]); /* 029915D4 */ _t29 = cpu->r[30] + 0x000000C8u; /* 029915D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29); /* 029915D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Du); /* 029915DC */ _t30 = cpu->r[30] + 0x000000C8u; /* 029915DC */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]); /* 029915E0 */ goto L_029915F8; L_029915E4: ; // 0x29915e4 /* 029915E4 */ cpu->r[3] = cpu->r[30]; /* 029915E8 */ Gambit_fn_029913C0(cpu); /* 029915EC */ _t31 = cpu->r[30] + 0x000000C8u; /* 029915EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t31); /* 029915F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Du); /* 029915F4 */ _t32 = cpu->r[30] + 0x000000C8u; /* 029915F4 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]); L_029915F8: ; // 0x29915f8 /* 029915F8 */ _t33 = cpu->r[1] + 0x0000000Cu; /* 029915F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33); /* 029915FC */ _t34 = cpu->r[1] + 0x0000001Cu; /* 029915FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34); /* 02991600 */ _t35 = cpu->r[1] + 0x00000010u; /* 02991600 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35); /* 02991604 */ cpu->lr = cpu->r[0]; /* 02991608 */ _t36 = cpu->r[1] + 0x00000014u; /* 02991608 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36); /* 0299160C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02991610 */ return; } // fn_02991614 @ 0x2991614 void Gambit_fn_02991614(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_02991614: ; // 0x2991614 /* 02991614 */ _t0 = cpu->r[1] + 0xFFFFFFA8u; /* 02991614 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991614 */ cpu->r[1] = _t0; /* 02991618 */ /* nop */ /* 0299161C */ cpu->r[0] = cpu->lr; /* 02991620 */ _t1 = cpu->r[1] + 0x0000005Cu; /* 02991620 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]); /* 02991624 */ cpu->r[29] = cpu->r[4]; /* 02991628 */ cpu->r[0] = 0x43300000u; /* 0299162C */ _t2 = cpu->r[1] + 0x00000028u; /* 0299162C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]); /* 02991630 */ cpu->r[4] = 0x10150000u; /* 02991634 */ _t3 = cpu->r[4] + 0xFFFFFB88u; /* 02991634 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3); /* 02991638 */ cpu->r[10] = 0x10150000u; /* 0299163C */ _t4 = cpu->r[10] + 0xFFFFFBA8u; /* 0299163C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4); /* 02991640 */ _t5 = cpu->r[1] + 0x00000020u; /* 02991640 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]); /* 02991644 */ _t6 = cpu->r[29] + 0x000004A4u; /* 02991644 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 02991648 */ _t7 = cpu->r[1] + 0x0000002Cu; /* 02991648 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]); /* 0299164C */ cpu->r[7] = 0x10150000u; /* 02991650 */ _t8 = cpu->r[1] + 0x00000028u; /* 02991650 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t8); /* 02991654 */ _t9 = cpu->r[7] + 0xFFFFFBA0u; /* 02991654 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t9); /* 02991658 */ _t10 = cpu->r[1] + 0x00000018u; /* 02991658 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]); /* 0299165C */ cpu->f[10] = cpu->f[11] - cpu->f[12]; /* 02991660 */ _t11 = cpu->r[1] + 0x0000001Cu; /* 02991660 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); /* 02991664 */ cpu->f[9] = (double)(float)cpu->f[10]; /* 02991668 */ _t12 = cpu->r[3] + 0x00000088u; /* 02991668 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12); /* 0299166C */ _t13 = cpu->r[1] + 0x00000014u; /* 0299166C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[9]); /* 02991670 */ _t14 = cpu->r[9] + 0x000000B4u; /* 02991670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02991674 */ cpu->ctr = cpu->r[0]; /* 02991678 */ cpu->r[28] = cpu->r[3]; /* 0299167C */ cpu->r[25] = 0x00000000u; /* 02991680 */ rbrew_call_indirect(cpu, cpu->ctr); /* 02991684 */ cpu->r[24] = cpu->r[3]; /* 02991684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02991688 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u); /* 02991688 */ _t16 = _t15 & 0x00000001u; /* 02991688 */ if (_t16) goto L_0299168C; else goto L_0299175C; L_0299168C: ; // 0x299168c /* 0299168C */ cpu->r[27] = 0x00000000u; L_02991690: ; // 0x2991690 /* 02991690 */ _t17 = cpu->r[28] + 0x000000B4u; /* 02991690 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17); /* 02991694 */ _t18 = cpu->r[12] + cpu->r[27]; /* 02991694 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18); /* 02991698 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 0299169C */ _t19 = cpu->r[31] + 0x00000048u; /* 0299169C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 029916A0 */ Gambit_fn_02A349EC(cpu); /* 029916A4 */ cpu->r[4] = cpu->r[29]; /* 029916A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 029916AC */ cpu->r[6] = cpu->r[31]; /* 029916B0 */ cpu->r[5] = cpu->r[30]; /* 029916B4 */ Gambit_fn_02A34A4C(cpu); /* 029916B8 */ _t20 = cpu->r[28] + 0x00000088u; /* 029916B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20); /* 029916BC */ _t21 = cpu->r[11] + 0x000001ACu; /* 029916BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21); /* 029916C0 */ cpu->ctr = cpu->r[0]; /* 029916C4 */ cpu->r[3] = cpu->r[28]; /* 029916C8 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029916CC */ cpu->r[23] = cpu->r[3]; /* 029916CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 029916D0 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u); /* 029916D0 */ _t23 = _t22 & 0x00000001u; /* 029916D0 */ if (_t23) goto L_029916D4; else goto L_02991718; L_029916D4: ; // 0x29916d4 /* 029916D4 */ cpu->r[26] = 0x00000000u; L_029916D8: ; // 0x29916d8 /* 029916D8 */ _t24 = cpu->r[28] + 0x000000CCu; /* 029916D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24); /* 029916DC */ _t25 = cpu->r[6] + cpu->r[26]; /* 029916DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25); /* 029916E0 */ _t26 = cpu->r[31] + 0x0000000Cu; /* 029916E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26); /* 029916E4 */ _t27 = cpu->r[8] + 0x0000002Cu; /* 029916E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27); /* 029916E8 */ cpu->ctr = cpu->r[9]; /* 029916EC */ cpu->r[3] = cpu->r[31]; /* 029916F0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029916F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[3]); /* 029916F8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u); /* 029916F8 */ _t29 = _t28 & 0x00000001u; /* 029916F8 */ if (_t29) goto L_029916FC; else goto L_0299170C; L_029916FC: ; // 0x29916fc /* 029916FC */ _t30 = cpu->r[1] + 0x0000000Cu; /* 029916FC */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t30); /* 02991700 */ _t31 = cpu->r[31] + 0x0000001Au; /* 02991700 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[9]); /* 02991704 */ _t32 = cpu->r[1] + 0x00000008u; /* 02991704 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32); /* 02991708 */ _t33 = cpu->r[31] + 0x0000001Cu; /* 02991708 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]); L_0299170C: ; // 0x299170c /* 0299170C */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu; /* 0299170C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u); /* 02991710 */ cpu->r[26] = cpu->r[26] + 0x00000004u; /* 02991714 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991714 */ _t35 = _t34 & 0x00000001u; /* 02991714 */ if (_t35) goto L_02991718; else goto L_029916D8; L_02991718: ; // 0x2991718 /* 02991718 */ _t36 = cpu->r[30] + 0x00000006u; /* 02991718 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t36); /* 0299171C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0xFFFFFFFFu); /* 02991720 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991720 */ _t38 = _t37 & 0x00000001u; /* 02991720 */ if (_t38) goto L_02991740; else goto L_02991724; L_02991724: ; // 0x2991724 /* 02991724 */ _t39 = cpu->r[28] + 0x00000088u; /* 02991724 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39); /* 02991728 */ _t40 = cpu->r[12] + 0x00000144u; /* 02991728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40); /* 0299172C */ cpu->ctr = cpu->r[0]; /* 02991730 */ cpu->r[4] = cpu->r[25]; /* 02991734 */ cpu->r[6] = cpu->r[1] + 0x00000014u; /* 02991738 */ cpu->r[3] = cpu->r[28]; /* 0299173C */ rbrew_call_indirect(cpu, cpu->ctr); L_02991740: ; // 0x2991740 /* 02991740 */ cpu->r[4] = 0x00000002u; /* 02991744 */ cpu->r[3] = cpu->r[1] + 0x00000008u; /* 02991748 */ Gambit_fn_02A34A38(cpu); /* 0299174C */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu; /* 0299174C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u); /* 02991750 */ cpu->r[25] = cpu->r[25] + 0x00000001u; /* 02991754 */ cpu->r[27] = cpu->r[27] + 0x0000003Cu; /* 02991758 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u); /* 02991758 */ _t42 = _t41 & 0x00000001u; /* 02991758 */ if (_t42) goto L_0299175C; else goto L_02991690; L_0299175C: ; // 0x299175c /* 0299175C */ /* nop */ /* 02991760 */ _t43 = cpu->r[1] + 0x0000005Cu; /* 02991760 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43); /* 02991764 */ cpu->lr = cpu->r[0]; /* 02991768 */ cpu->r[1] = cpu->r[1] + 0x00000058u; /* 0299176C */ return; } // fn_02991770 @ 0x2991770 void Gambit_fn_02991770(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_02991770: ; // 0x2991770 /* 02991770 */ cpu->r[0] = cpu->lr; /* 02991774 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991774 */ cpu->r[1] = _t0; /* 02991778 */ _t1 = cpu->r[1] + 0x00000010u; /* 02991778 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0299177C */ cpu->r[30] = cpu->r[3]; /* 02991780 */ _t2 = cpu->r[1] + 0x00000008u; /* 02991780 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 02991784 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02991784 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02991788 */ cpu->r[28] = cpu->r[5]; /* 0299178C */ _t4 = cpu->r[1] + 0x00000014u; /* 0299178C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02991790 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02991790 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02991794 */ Gambit_fn_029DA81C(cpu); /* 02991798 */ _t6 = cpu->r[30] + 0x00000088u; /* 02991798 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 0299179C */ _t7 = cpu->r[10] + 0x000001ACu; /* 0299179C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 029917A0 */ cpu->r[31] = cpu->r[3]; /* 029917A4 */ cpu->ctr = cpu->r[0]; /* 029917A8 */ cpu->r[29] = 0x00000000u; /* 029917AC */ cpu->r[3] = cpu->r[30]; /* 029917B0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029917B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]); /* 029917B8 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 029917B8 */ _t9 = _t8 & 0x00000001u; /* 029917B8 */ if (_t9) goto L_029917BC; else goto L_029917EC; L_029917BC: ; // 0x29917bc /* 029917BC */ _t10 = cpu->r[30] + 0x0000001Cu; /* 029917BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 029917C0 */ cpu->r[4] = cpu->r[29]; /* 029917C4 */ cpu->r[5] = cpu->r[28]; /* 029917C8 */ Gambit_fn_029E6264(cpu); /* 029917CC */ _t11 = cpu->r[30] + 0x00000088u; /* 029917CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 029917D0 */ _t12 = cpu->r[12] + 0x000001ACu; /* 029917D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 029917D4 */ cpu->ctr = cpu->r[0]; /* 029917D8 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 029917DC */ cpu->r[3] = cpu->r[30]; /* 029917E0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029917E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]); /* 029917E8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 029917E8 */ _t14 = _t13 & 0x00000001u; /* 029917E8 */ if (_t14) goto L_029917BC; else goto L_029917EC; L_029917EC: ; // 0x29917ec /* 029917EC */ _t15 = cpu->r[1] + 0x00000008u; /* 029917EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 029917F0 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 029917F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 029917F4 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 029917F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 029917F8 */ cpu->r[3] = cpu->r[31]; /* 029917FC */ _t18 = cpu->r[1] + 0x00000010u; /* 029917FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 02991800 */ cpu->lr = cpu->r[0]; /* 02991804 */ _t19 = cpu->r[1] + 0x00000014u; /* 02991804 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 02991808 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0299180C */ return; } // fn_02991774 @ 0x2991774 void Gambit_fn_02991774(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_02991774: ; // 0x2991774 /* 02991774 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991774 */ cpu->r[1] = _t0; /* 02991778 */ _t1 = cpu->r[1] + 0x00000010u; /* 02991778 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]); /* 0299177C */ cpu->r[30] = cpu->r[3]; /* 02991780 */ _t2 = cpu->r[1] + 0x00000008u; /* 02991780 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]); /* 02991784 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02991784 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02991788 */ cpu->r[28] = cpu->r[5]; /* 0299178C */ _t4 = cpu->r[1] + 0x00000014u; /* 0299178C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]); /* 02991790 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02991790 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02991794 */ Gambit_fn_029DA81C(cpu); /* 02991798 */ _t6 = cpu->r[30] + 0x00000088u; /* 02991798 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6); /* 0299179C */ _t7 = cpu->r[10] + 0x000001ACu; /* 0299179C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 029917A0 */ cpu->r[31] = cpu->r[3]; /* 029917A4 */ cpu->ctr = cpu->r[0]; /* 029917A8 */ cpu->r[29] = 0x00000000u; /* 029917AC */ cpu->r[3] = cpu->r[30]; /* 029917B0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029917B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]); /* 029917B8 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u); /* 029917B8 */ _t9 = _t8 & 0x00000001u; /* 029917B8 */ if (_t9) goto L_029917BC; else goto L_029917EC; L_029917BC: ; // 0x29917bc /* 029917BC */ _t10 = cpu->r[30] + 0x0000001Cu; /* 029917BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10); /* 029917C0 */ cpu->r[4] = cpu->r[29]; /* 029917C4 */ cpu->r[5] = cpu->r[28]; /* 029917C8 */ Gambit_fn_029E6264(cpu); /* 029917CC */ _t11 = cpu->r[30] + 0x00000088u; /* 029917CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11); /* 029917D0 */ _t12 = cpu->r[12] + 0x000001ACu; /* 029917D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 029917D4 */ cpu->ctr = cpu->r[0]; /* 029917D8 */ cpu->r[29] = cpu->r[29] + 0x00000001u; /* 029917DC */ cpu->r[3] = cpu->r[30]; /* 029917E0 */ rbrew_call_indirect(cpu, cpu->ctr); /* 029917E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]); /* 029917E8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u); /* 029917E8 */ _t14 = _t13 & 0x00000001u; /* 029917E8 */ if (_t14) goto L_029917BC; else goto L_029917EC; L_029917EC: ; // 0x29917ec /* 029917EC */ _t15 = cpu->r[1] + 0x00000008u; /* 029917EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t15); /* 029917F0 */ _t16 = cpu->r[1] + 0x0000000Cu; /* 029917F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16); /* 029917F4 */ _t17 = cpu->r[1] + 0x0000001Cu; /* 029917F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17); /* 029917F8 */ cpu->r[3] = cpu->r[31]; /* 029917FC */ _t18 = cpu->r[1] + 0x00000010u; /* 029917FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18); /* 02991800 */ cpu->lr = cpu->r[0]; /* 02991804 */ _t19 = cpu->r[1] + 0x00000014u; /* 02991804 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19); /* 02991808 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 0299180C */ return; } // fn_02991810 @ 0x2991810 void Gambit_fn_02991810(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_02991810: ; // 0x2991810 /* 02991810 */ cpu->r[0] = cpu->lr; /* 02991814 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991814 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991814 */ cpu->r[1] = _t0; /* 02991818 */ _t1 = cpu->r[1] + 0x00000008u; /* 02991818 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 0299181C */ cpu->r[28] = cpu->r[3]; /* 02991820 */ _t2 = cpu->r[1] + 0x00000014u; /* 02991820 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02991824 */ _t3 = cpu->r[1] + 0x00000010u; /* 02991824 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02991828 */ cpu->r[31] = cpu->r[6]; /* 0299182C */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0299182C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 02991830 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02991830 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02991834 */ cpu->r[29] = cpu->r[4]; /* 02991838 */ cpu->r[4] = cpu->r[31]; /* 0299183C */ cpu->r[30] = cpu->r[5]; /* 02991840 */ Gambit_fn_029DCE8C(cpu); /* 02991844 */ _t6 = cpu->r[28] + 0x000000C8u; /* 02991844 */ cpu->r[9] = rbrew_read8(cpu->mem, _t6); /* 02991848 */ _t7 = cpu->r[28] + 0x000000ACu; /* 02991848 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 0299184C */ cpu->r[9] = cpu->r[9] | 0x00000010u; /* 02991850 */ _t8 = cpu->r[28] + 0x000000C8u; /* 02991850 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[9]); /* 02991854 */ _t9 = cpu->r[8] + 0x0000000Cu; /* 02991854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02991858 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 0299185C */ _t10 = cpu->r[8] + 0x00000004u; /* 0299185C */ cpu->r[10] = rbrew_read16(cpu->mem, _t10); /* 02991860 */ cpu->r[31] = cpu->r[12] + cpu->r[0]; /* 02991864 */ cpu->r[3] = cpu->r[29]; /* 02991868 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 0299186C */ cpu->r[4] = cpu->r[31] + 0x00000010u; /* 02991870 */ _t11 = cpu->r[8] + 0x00000004u; /* 02991870 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[10]); /* 02991874 */ Gambit_fn_02C69510(cpu); /* 02991878 */ _t12 = cpu->r[30] + 0x00000000u; /* 02991878 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12); /* 0299187C */ _t13 = cpu->r[31] + 0x00000000u; /* 0299187C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02991880 */ _t14 = cpu->r[31] + 0x00000004u; /* 02991880 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]); /* 02991884 */ _t15 = cpu->r[30] + 0x00000004u; /* 02991884 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15); /* 02991888 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x00000003u); /* 0299188C */ _t16 = cpu->r[31] + 0x00000008u; /* 0299188C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]); /* 02991890 */ _t17 = cpu->r[30] + 0x00000008u; /* 02991890 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17); /* 02991894 */ _t18 = cpu->r[31] + 0x00000000u; /* 02991894 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]); /* 02991898 */ _t19 = cpu->r[31] + 0x0000000Cu; /* 02991898 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]); /* 0299189C */ _t20 = cpu->r[1] + 0x00000008u; /* 0299189C */ cpu->r[28] = rbrew_read32(cpu->mem, _t20); /* 029918A0 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 029918A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 029918A4 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 029918A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 029918A8 */ _t23 = cpu->r[1] + 0x00000010u; /* 029918A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 029918AC */ cpu->lr = cpu->r[0]; /* 029918B0 */ _t24 = cpu->r[1] + 0x00000014u; /* 029918B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 029918B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029918B8 */ return; } // fn_02991814 @ 0x2991814 void Gambit_fn_02991814(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_02991814: ; // 0x2991814 /* 02991814 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991814 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991814 */ cpu->r[1] = _t0; /* 02991818 */ _t1 = cpu->r[1] + 0x00000008u; /* 02991818 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 0299181C */ cpu->r[28] = cpu->r[3]; /* 02991820 */ _t2 = cpu->r[1] + 0x00000014u; /* 02991820 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 02991824 */ _t3 = cpu->r[1] + 0x00000010u; /* 02991824 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 02991828 */ cpu->r[31] = cpu->r[6]; /* 0299182C */ _t4 = cpu->r[1] + 0x0000000Cu; /* 0299182C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 02991830 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 02991830 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 02991834 */ cpu->r[29] = cpu->r[4]; /* 02991838 */ cpu->r[4] = cpu->r[31]; /* 0299183C */ cpu->r[30] = cpu->r[5]; /* 02991840 */ Gambit_fn_029DCE8C(cpu); /* 02991844 */ _t6 = cpu->r[28] + 0x000000C8u; /* 02991844 */ cpu->r[9] = rbrew_read8(cpu->mem, _t6); /* 02991848 */ _t7 = cpu->r[28] + 0x000000ACu; /* 02991848 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7); /* 0299184C */ cpu->r[9] = cpu->r[9] | 0x00000010u; /* 02991850 */ _t8 = cpu->r[28] + 0x000000C8u; /* 02991850 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[9]); /* 02991854 */ _t9 = cpu->r[8] + 0x0000000Cu; /* 02991854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02991858 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 0299185C */ _t10 = cpu->r[8] + 0x00000004u; /* 0299185C */ cpu->r[10] = rbrew_read16(cpu->mem, _t10); /* 02991860 */ cpu->r[31] = cpu->r[12] + cpu->r[0]; /* 02991864 */ cpu->r[3] = cpu->r[29]; /* 02991868 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 0299186C */ cpu->r[4] = cpu->r[31] + 0x00000010u; /* 02991870 */ _t11 = cpu->r[8] + 0x00000004u; /* 02991870 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[10]); /* 02991874 */ Gambit_fn_02C69510(cpu); /* 02991878 */ _t12 = cpu->r[30] + 0x00000000u; /* 02991878 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12); /* 0299187C */ _t13 = cpu->r[31] + 0x00000000u; /* 0299187C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13); /* 02991880 */ _t14 = cpu->r[31] + 0x00000004u; /* 02991880 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]); /* 02991884 */ _t15 = cpu->r[30] + 0x00000004u; /* 02991884 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15); /* 02991888 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x00000003u); /* 0299188C */ _t16 = cpu->r[31] + 0x00000008u; /* 0299188C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]); /* 02991890 */ _t17 = cpu->r[30] + 0x00000008u; /* 02991890 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17); /* 02991894 */ _t18 = cpu->r[31] + 0x00000000u; /* 02991894 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]); /* 02991898 */ _t19 = cpu->r[31] + 0x0000000Cu; /* 02991898 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]); /* 0299189C */ _t20 = cpu->r[1] + 0x00000008u; /* 0299189C */ cpu->r[28] = rbrew_read32(cpu->mem, _t20); /* 029918A0 */ _t21 = cpu->r[1] + 0x0000000Cu; /* 029918A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21); /* 029918A4 */ _t22 = cpu->r[1] + 0x0000001Cu; /* 029918A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22); /* 029918A8 */ _t23 = cpu->r[1] + 0x00000010u; /* 029918A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23); /* 029918AC */ cpu->lr = cpu->r[0]; /* 029918B0 */ _t24 = cpu->r[1] + 0x00000014u; /* 029918B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24); /* 029918B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029918B8 */ return; } // fn_029918BC @ 0x29918bc void Gambit_fn_029918BC(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_029918BC: ; // 0x29918bc /* 029918BC */ cpu->r[0] = cpu->lr; /* 029918C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029918C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029918C0 */ cpu->r[1] = _t0; /* 029918C4 */ _t1 = cpu->r[1] + 0x00000014u; /* 029918C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029918C8 */ cpu->r[31] = cpu->r[5]; /* 029918CC */ _t2 = cpu->r[1] + 0x00000010u; /* 029918CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029918D0 */ cpu->r[30] = cpu->r[4]; /* 029918D4 */ cpu->r[4] = cpu->r[31]; /* 029918D8 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 029918D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 029918DC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 029918DC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029918E0 */ cpu->r[29] = cpu->r[3]; /* 029918E4 */ Gambit_fn_029DCE8C(cpu); /* 029918E8 */ _t5 = cpu->r[29] + 0x000000C8u; /* 029918E8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5); /* 029918EC */ _t6 = cpu->r[29] + 0x000000ACu; /* 029918EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 029918F0 */ cpu->r[9] = cpu->r[9] | 0x00000010u; /* 029918F4 */ _t7 = cpu->r[29] + 0x000000C8u; /* 029918F4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[9]); /* 029918F8 */ _t8 = cpu->r[8] + 0x00000004u; /* 029918F8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8); /* 029918FC */ _t9 = cpu->r[8] + 0x0000000Cu; /* 029918FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02991900 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 02991904 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 02991908 */ cpu->r[31] = cpu->r[12] + cpu->r[11]; /* 0299190C */ cpu->r[3] = cpu->r[30]; /* 02991910 */ cpu->r[4] = cpu->r[31] + 0x00000010u; /* 02991914 */ _t10 = cpu->r[8] + 0x00000004u; /* 02991914 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[10]); /* 02991918 */ Gambit_fn_02C69510(cpu); /* 0299191C */ _t11 = cpu->r[31] + 0x00000000u; /* 0299191C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02991920 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x00000003u); /* 02991924 */ _t12 = cpu->r[31] + 0x00000000u; /* 02991924 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 02991928 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 02991928 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0299192C */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0299192C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02991930 */ _t15 = cpu->r[1] + 0x00000010u; /* 02991930 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 02991934 */ cpu->lr = cpu->r[0]; /* 02991938 */ _t16 = cpu->r[1] + 0x00000014u; /* 02991938 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0299193C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02991940 */ return; } // fn_029918C0 @ 0x29918c0 void Gambit_fn_029918C0(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16; L_029918C0: ; // 0x29918c0 /* 029918C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029918C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029918C0 */ cpu->r[1] = _t0; /* 029918C4 */ _t1 = cpu->r[1] + 0x00000014u; /* 029918C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 029918C8 */ cpu->r[31] = cpu->r[5]; /* 029918CC */ _t2 = cpu->r[1] + 0x00000010u; /* 029918CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 029918D0 */ cpu->r[30] = cpu->r[4]; /* 029918D4 */ cpu->r[4] = cpu->r[31]; /* 029918D8 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 029918D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 029918DC */ _t4 = cpu->r[1] + 0x0000001Cu; /* 029918DC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 029918E0 */ cpu->r[29] = cpu->r[3]; /* 029918E4 */ Gambit_fn_029DCE8C(cpu); /* 029918E8 */ _t5 = cpu->r[29] + 0x000000C8u; /* 029918E8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5); /* 029918EC */ _t6 = cpu->r[29] + 0x000000ACu; /* 029918EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6); /* 029918F0 */ cpu->r[9] = cpu->r[9] | 0x00000010u; /* 029918F4 */ _t7 = cpu->r[29] + 0x000000C8u; /* 029918F4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[9]); /* 029918F8 */ _t8 = cpu->r[8] + 0x00000004u; /* 029918F8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8); /* 029918FC */ _t9 = cpu->r[8] + 0x0000000Cu; /* 029918FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02991900 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 02991904 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 02991908 */ cpu->r[31] = cpu->r[12] + cpu->r[11]; /* 0299190C */ cpu->r[3] = cpu->r[30]; /* 02991910 */ cpu->r[4] = cpu->r[31] + 0x00000010u; /* 02991914 */ _t10 = cpu->r[8] + 0x00000004u; /* 02991914 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[10]); /* 02991918 */ Gambit_fn_02C69510(cpu); /* 0299191C */ _t11 = cpu->r[31] + 0x00000000u; /* 0299191C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11); /* 02991920 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x00000003u); /* 02991924 */ _t12 = cpu->r[31] + 0x00000000u; /* 02991924 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]); /* 02991928 */ _t13 = cpu->r[1] + 0x0000000Cu; /* 02991928 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13); /* 0299192C */ _t14 = cpu->r[1] + 0x0000001Cu; /* 0299192C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14); /* 02991930 */ _t15 = cpu->r[1] + 0x00000010u; /* 02991930 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15); /* 02991934 */ cpu->lr = cpu->r[0]; /* 02991938 */ _t16 = cpu->r[1] + 0x00000014u; /* 02991938 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16); /* 0299193C */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02991940 */ return; } // fn_02991944 @ 0x2991944 void Gambit_fn_02991944(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_02991944: ; // 0x2991944 /* 02991944 */ cpu->r[0] = cpu->lr; /* 02991948 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991948 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991948 */ cpu->r[1] = _t0; /* 0299194C */ _t1 = cpu->r[1] + 0x00000014u; /* 0299194C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02991950 */ cpu->r[31] = cpu->r[5]; /* 02991954 */ _t2 = cpu->r[1] + 0x00000010u; /* 02991954 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02991958 */ cpu->r[30] = cpu->r[4]; /* 0299195C */ cpu->r[4] = cpu->r[31]; /* 02991960 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02991960 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02991964 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02991964 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02991968 */ cpu->r[29] = cpu->r[3]; /* 0299196C */ Gambit_fn_029DCE8C(cpu); /* 02991970 */ _t5 = cpu->r[29] + 0x000000C8u; /* 02991970 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5); /* 02991974 */ _t6 = cpu->r[29] + 0x000000ACu; /* 02991974 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 02991978 */ cpu->r[9] = cpu->r[9] | 0x00000010u; /* 0299197C */ _t7 = cpu->r[29] + 0x000000C8u; /* 0299197C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[9]); /* 02991980 */ _t8 = cpu->r[7] + 0x00000004u; /* 02991980 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8); /* 02991984 */ _t9 = cpu->r[7] + 0x0000000Cu; /* 02991984 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02991988 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 0299198C */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 02991990 */ _t10 = cpu->r[7] + 0x00000004u; /* 02991990 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[10]); /* 02991994 */ _t11 = cpu->r[30] + 0x00000000u; /* 02991994 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02991998 */ cpu->r[8] = cpu->r[12] + cpu->r[11]; /* 0299199C */ _t12 = cpu->r[12] + cpu->r[11]; /* 0299199C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 029919A0 */ _t13 = cpu->r[8] + 0x00000004u; /* 029919A0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]); /* 029919A4 */ _t14 = cpu->r[30] + 0x00000004u; /* 029919A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14); /* 029919A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x00000003u); /* 029919AC */ _t15 = cpu->r[8] + 0x00000008u; /* 029919AC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]); /* 029919B0 */ _t16 = cpu->r[30] + 0x00000008u; /* 029919B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16); /* 029919B4 */ _t17 = cpu->r[8] + 0x00000000u; /* 029919B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 029919B8 */ _t18 = cpu->r[8] + 0x0000000Cu; /* 029919B8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]); /* 029919BC */ _t19 = cpu->r[1] + 0x0000000Cu; /* 029919BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 029919C0 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 029919C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 029919C4 */ _t21 = cpu->r[1] + 0x00000014u; /* 029919C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 029919C8 */ cpu->lr = cpu->r[0]; /* 029919CC */ _t22 = cpu->r[1] + 0x00000010u; /* 029919CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 029919D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029919D4 */ return; } // fn_02991948 @ 0x2991948 void Gambit_fn_02991948(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_02991948: ; // 0x2991948 /* 02991948 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991948 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991948 */ cpu->r[1] = _t0; /* 0299194C */ _t1 = cpu->r[1] + 0x00000014u; /* 0299194C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02991950 */ cpu->r[31] = cpu->r[5]; /* 02991954 */ _t2 = cpu->r[1] + 0x00000010u; /* 02991954 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02991958 */ cpu->r[30] = cpu->r[4]; /* 0299195C */ cpu->r[4] = cpu->r[31]; /* 02991960 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02991960 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02991964 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02991964 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02991968 */ cpu->r[29] = cpu->r[3]; /* 0299196C */ Gambit_fn_029DCE8C(cpu); /* 02991970 */ _t5 = cpu->r[29] + 0x000000C8u; /* 02991970 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5); /* 02991974 */ _t6 = cpu->r[29] + 0x000000ACu; /* 02991974 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6); /* 02991978 */ cpu->r[9] = cpu->r[9] | 0x00000010u; /* 0299197C */ _t7 = cpu->r[29] + 0x000000C8u; /* 0299197C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[9]); /* 02991980 */ _t8 = cpu->r[7] + 0x00000004u; /* 02991980 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8); /* 02991984 */ _t9 = cpu->r[7] + 0x0000000Cu; /* 02991984 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9); /* 02991988 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 0299198C */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 02991990 */ _t10 = cpu->r[7] + 0x00000004u; /* 02991990 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[10]); /* 02991994 */ _t11 = cpu->r[30] + 0x00000000u; /* 02991994 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11); /* 02991998 */ cpu->r[8] = cpu->r[12] + cpu->r[11]; /* 0299199C */ _t12 = cpu->r[12] + cpu->r[11]; /* 0299199C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 029919A0 */ _t13 = cpu->r[8] + 0x00000004u; /* 029919A0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]); /* 029919A4 */ _t14 = cpu->r[30] + 0x00000004u; /* 029919A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14); /* 029919A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x00000003u); /* 029919AC */ _t15 = cpu->r[8] + 0x00000008u; /* 029919AC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]); /* 029919B0 */ _t16 = cpu->r[30] + 0x00000008u; /* 029919B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16); /* 029919B4 */ _t17 = cpu->r[8] + 0x00000000u; /* 029919B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]); /* 029919B8 */ _t18 = cpu->r[8] + 0x0000000Cu; /* 029919B8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]); /* 029919BC */ _t19 = cpu->r[1] + 0x0000000Cu; /* 029919BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t19); /* 029919C0 */ _t20 = cpu->r[1] + 0x0000001Cu; /* 029919C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20); /* 029919C4 */ _t21 = cpu->r[1] + 0x00000014u; /* 029919C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21); /* 029919C8 */ cpu->lr = cpu->r[0]; /* 029919CC */ _t22 = cpu->r[1] + 0x00000010u; /* 029919CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22); /* 029919D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 029919D4 */ return; } // fn_029919D8 @ 0x29919d8 void Gambit_fn_029919D8(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_029919D8: ; // 0x29919d8 /* 029919D8 */ cpu->r[0] = cpu->lr; /* 029919DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029919DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029919DC */ cpu->r[1] = _t0; /* 029919E0 */ _t1 = cpu->r[1] + 0x00000008u; /* 029919E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 029919E4 */ cpu->r[28] = cpu->r[3]; /* 029919E8 */ _t2 = cpu->r[1] + 0x00000014u; /* 029919E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 029919EC */ _t3 = cpu->r[1] + 0x00000010u; /* 029919EC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 029919F0 */ cpu->r[31] = cpu->r[6]; /* 029919F4 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 029919F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 029919F8 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029919F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029919FC */ cpu->r[29] = cpu->r[4]; /* 02991A00 */ cpu->r[4] = cpu->r[31]; /* 02991A04 */ cpu->r[30] = cpu->r[5]; /* 02991A08 */ Gambit_fn_029DCE8C(cpu); /* 02991A0C */ _t6 = cpu->r[28] + 0x000000ACu; /* 02991A0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 02991A10 */ _t7 = cpu->r[9] + 0x0000000Cu; /* 02991A10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 02991A14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 02991A18 */ _t8 = cpu->r[9] + 0x00000004u; /* 02991A18 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8); /* 02991A1C */ cpu->r[31] = cpu->r[12] + cpu->r[0]; /* 02991A20 */ cpu->r[4] = cpu->r[29]; /* 02991A24 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 02991A28 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 02991A2C */ _t9 = cpu->r[9] + 0x00000004u; /* 02991A2C */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[10]); /* 02991A30 */ Gambit_fn_02C69510(cpu); /* 02991A34 */ _t10 = cpu->r[31] + 0x00000004u; /* 02991A34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10); /* 02991A38 */ _t11 = cpu->r[30] + 0x00000000u; /* 02991A38 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); /* 02991A3C */ _t12 = cpu->r[31] + 0x00000008u; /* 02991A3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12); /* 02991A40 */ _t13 = cpu->r[30] + 0x00000004u; /* 02991A40 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]); /* 02991A44 */ _t14 = cpu->r[31] + 0x0000000Cu; /* 02991A44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14); /* 02991A48 */ _t15 = cpu->r[30] + 0x00000008u; /* 02991A48 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]); /* 02991A4C */ _t16 = cpu->r[1] + 0x00000008u; /* 02991A4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16); /* 02991A50 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 02991A50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17); /* 02991A54 */ _t18 = cpu->r[1] + 0x0000001Cu; /* 02991A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02991A58 */ _t19 = cpu->r[1] + 0x00000010u; /* 02991A58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 02991A5C */ cpu->lr = cpu->r[0]; /* 02991A60 */ _t20 = cpu->r[1] + 0x00000014u; /* 02991A60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 02991A64 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02991A68 */ return; } // fn_029919DC @ 0x29919dc void Gambit_fn_029919DC(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_029919DC: ; // 0x29919dc /* 029919DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 029919DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 029919DC */ cpu->r[1] = _t0; /* 029919E0 */ _t1 = cpu->r[1] + 0x00000008u; /* 029919E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]); /* 029919E4 */ cpu->r[28] = cpu->r[3]; /* 029919E8 */ _t2 = cpu->r[1] + 0x00000014u; /* 029919E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]); /* 029919EC */ _t3 = cpu->r[1] + 0x00000010u; /* 029919EC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]); /* 029919F0 */ cpu->r[31] = cpu->r[6]; /* 029919F4 */ _t4 = cpu->r[1] + 0x0000000Cu; /* 029919F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]); /* 029919F8 */ _t5 = cpu->r[1] + 0x0000001Cu; /* 029919F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]); /* 029919FC */ cpu->r[29] = cpu->r[4]; /* 02991A00 */ cpu->r[4] = cpu->r[31]; /* 02991A04 */ cpu->r[30] = cpu->r[5]; /* 02991A08 */ Gambit_fn_029DCE8C(cpu); /* 02991A0C */ _t6 = cpu->r[28] + 0x000000ACu; /* 02991A0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6); /* 02991A10 */ _t7 = cpu->r[9] + 0x0000000Cu; /* 02991A10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 02991A14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u); /* 02991A18 */ _t8 = cpu->r[9] + 0x00000004u; /* 02991A18 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8); /* 02991A1C */ cpu->r[31] = cpu->r[12] + cpu->r[0]; /* 02991A20 */ cpu->r[4] = cpu->r[29]; /* 02991A24 */ cpu->r[10] = cpu->r[10] | 0x00000004u; /* 02991A28 */ cpu->r[3] = cpu->r[31] + 0x00000010u; /* 02991A2C */ _t9 = cpu->r[9] + 0x00000004u; /* 02991A2C */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[10]); /* 02991A30 */ Gambit_fn_02C69510(cpu); /* 02991A34 */ _t10 = cpu->r[31] + 0x00000004u; /* 02991A34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10); /* 02991A38 */ _t11 = cpu->r[30] + 0x00000000u; /* 02991A38 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]); /* 02991A3C */ _t12 = cpu->r[31] + 0x00000008u; /* 02991A3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12); /* 02991A40 */ _t13 = cpu->r[30] + 0x00000004u; /* 02991A40 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]); /* 02991A44 */ _t14 = cpu->r[31] + 0x0000000Cu; /* 02991A44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14); /* 02991A48 */ _t15 = cpu->r[30] + 0x00000008u; /* 02991A48 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]); /* 02991A4C */ _t16 = cpu->r[1] + 0x00000008u; /* 02991A4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16); /* 02991A50 */ _t17 = cpu->r[1] + 0x0000000Cu; /* 02991A50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17); /* 02991A54 */ _t18 = cpu->r[1] + 0x0000001Cu; /* 02991A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18); /* 02991A58 */ _t19 = cpu->r[1] + 0x00000010u; /* 02991A58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19); /* 02991A5C */ cpu->lr = cpu->r[0]; /* 02991A60 */ _t20 = cpu->r[1] + 0x00000014u; /* 02991A60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20); /* 02991A64 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02991A68 */ return; } // fn_02991A6C @ 0x2991a6c void Gambit_fn_02991A6C(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_02991A6C: ; // 0x2991a6c /* 02991A6C */ cpu->r[0] = cpu->lr; /* 02991A70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991A70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991A70 */ cpu->r[1] = _t0; /* 02991A74 */ _t1 = cpu->r[1] + 0x00000014u; /* 02991A74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02991A78 */ cpu->r[31] = cpu->r[5]; /* 02991A7C */ _t2 = cpu->r[1] + 0x00000010u; /* 02991A7C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02991A80 */ cpu->r[30] = cpu->r[4]; /* 02991A84 */ cpu->r[4] = cpu->r[31]; /* 02991A88 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02991A88 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02991A8C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02991A8C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02991A90 */ cpu->r[29] = cpu->r[3]; /* 02991A94 */ Gambit_fn_029DCE8C(cpu); /* 02991A98 */ _t5 = cpu->r[29] + 0x000000C8u; /* 02991A98 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5); /* 02991A9C */ _t6 = cpu->r[29] + 0x000000ACu; /* 02991A9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02991AA0 */ cpu->r[12] = cpu->r[12] | 0x0000000Au; /* 02991AA4 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000030u); /* 02991AA8 */ _t7 = cpu->r[29] + 0x000000C8u; /* 02991AA8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]); /* 02991AAC */ _t8 = cpu->r[11] + 0x00000004u; /* 02991AAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t8); /* 02991AB0 */ _t9 = cpu->r[11] + 0x00000010u; /* 02991AB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02991AB4 */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 02991AB8 */ cpu->r[3] = cpu->r[30]; /* 02991ABC */ cpu->r[4] = cpu->r[10] + cpu->r[9]; /* 02991AC0 */ _t10 = cpu->r[11] + 0x00000004u; /* 02991AC0 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]); /* 02991AC4 */ Gambit_fn_02C69510(cpu); /* 02991AC8 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02991AC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 02991ACC */ _t12 = cpu->r[1] + 0x0000001Cu; /* 02991ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02991AD0 */ _t13 = cpu->r[1] + 0x00000014u; /* 02991AD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 02991AD4 */ cpu->lr = cpu->r[0]; /* 02991AD8 */ _t14 = cpu->r[1] + 0x00000010u; /* 02991AD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 02991ADC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02991AE0 */ return; } // fn_02991A70 @ 0x2991a70 void Gambit_fn_02991A70(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14; L_02991A70: ; // 0x2991a70 /* 02991A70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991A70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991A70 */ cpu->r[1] = _t0; /* 02991A74 */ _t1 = cpu->r[1] + 0x00000014u; /* 02991A74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02991A78 */ cpu->r[31] = cpu->r[5]; /* 02991A7C */ _t2 = cpu->r[1] + 0x00000010u; /* 02991A7C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02991A80 */ cpu->r[30] = cpu->r[4]; /* 02991A84 */ cpu->r[4] = cpu->r[31]; /* 02991A88 */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02991A88 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02991A8C */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02991A8C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02991A90 */ cpu->r[29] = cpu->r[3]; /* 02991A94 */ Gambit_fn_029DCE8C(cpu); /* 02991A98 */ _t5 = cpu->r[29] + 0x000000C8u; /* 02991A98 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5); /* 02991A9C */ _t6 = cpu->r[29] + 0x000000ACu; /* 02991A9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6); /* 02991AA0 */ cpu->r[12] = cpu->r[12] | 0x0000000Au; /* 02991AA4 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000030u); /* 02991AA8 */ _t7 = cpu->r[29] + 0x000000C8u; /* 02991AA8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]); /* 02991AAC */ _t8 = cpu->r[11] + 0x00000004u; /* 02991AAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t8); /* 02991AB0 */ _t9 = cpu->r[11] + 0x00000010u; /* 02991AB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9); /* 02991AB4 */ cpu->r[0] = cpu->r[0] | 0x00000010u; /* 02991AB8 */ cpu->r[3] = cpu->r[30]; /* 02991ABC */ cpu->r[4] = cpu->r[10] + cpu->r[9]; /* 02991AC0 */ _t10 = cpu->r[11] + 0x00000004u; /* 02991AC0 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]); /* 02991AC4 */ Gambit_fn_02C69510(cpu); /* 02991AC8 */ _t11 = cpu->r[1] + 0x0000000Cu; /* 02991AC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11); /* 02991ACC */ _t12 = cpu->r[1] + 0x0000001Cu; /* 02991ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12); /* 02991AD0 */ _t13 = cpu->r[1] + 0x00000014u; /* 02991AD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13); /* 02991AD4 */ cpu->lr = cpu->r[0]; /* 02991AD8 */ _t14 = cpu->r[1] + 0x00000010u; /* 02991AD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14); /* 02991ADC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02991AE0 */ return; } // fn_02991AE4 @ 0x2991ae4 void Gambit_fn_02991AE4(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02991AE4: ; // 0x2991ae4 /* 02991AE4 */ cpu->r[0] = cpu->lr; /* 02991AE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991AE8 */ cpu->r[1] = _t0; /* 02991AEC */ _t1 = cpu->r[1] + 0x00000014u; /* 02991AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02991AF0 */ _t2 = cpu->r[1] + 0x00000010u; /* 02991AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02991AF4 */ cpu->r[30] = cpu->r[5]; /* 02991AF8 */ cpu->r[31] = cpu->r[3]; /* 02991AFC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02991AFC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02991B00 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02991B00 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02991B04 */ cpu->r[29] = cpu->r[4]; /* 02991B08 */ cpu->r[4] = cpu->r[30]; /* 02991B0C */ Gambit_fn_029DCE8C(cpu); /* 02991B10 */ _t5 = cpu->r[31] + 0x000000ACu; /* 02991B10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02991B14 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000030u); /* 02991B18 */ _t6 = cpu->r[9] + 0x00000004u; /* 02991B18 */ cpu->r[10] = rbrew_read16(cpu->mem, _t6); /* 02991B1C */ _t7 = cpu->r[9] + 0x00000010u; /* 02991B1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 02991B20 */ cpu->r[10] = cpu->r[10] | 0x00000010u; /* 02991B24 */ cpu->r[4] = cpu->r[29]; /* 02991B28 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; /* 02991B2C */ _t8 = cpu->r[9] + 0x00000004u; /* 02991B2C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[10]); /* 02991B30 */ Gambit_fn_02C69510(cpu); /* 02991B34 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02991B34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 02991B38 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 02991B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02991B3C */ _t11 = cpu->r[1] + 0x00000014u; /* 02991B3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 02991B40 */ cpu->lr = cpu->r[0]; /* 02991B44 */ _t12 = cpu->r[1] + 0x00000010u; /* 02991B44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 02991B48 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02991B4C */ return; } // fn_02991AE8 @ 0x2991ae8 void Gambit_fn_02991AE8(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12; L_02991AE8: ; // 0x2991ae8 /* 02991AE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991AE8 */ cpu->r[1] = _t0; /* 02991AEC */ _t1 = cpu->r[1] + 0x00000014u; /* 02991AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02991AF0 */ _t2 = cpu->r[1] + 0x00000010u; /* 02991AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02991AF4 */ cpu->r[30] = cpu->r[5]; /* 02991AF8 */ cpu->r[31] = cpu->r[3]; /* 02991AFC */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02991AFC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02991B00 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02991B00 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02991B04 */ cpu->r[29] = cpu->r[4]; /* 02991B08 */ cpu->r[4] = cpu->r[30]; /* 02991B0C */ Gambit_fn_029DCE8C(cpu); /* 02991B10 */ _t5 = cpu->r[31] + 0x000000ACu; /* 02991B10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5); /* 02991B14 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000030u); /* 02991B18 */ _t6 = cpu->r[9] + 0x00000004u; /* 02991B18 */ cpu->r[10] = rbrew_read16(cpu->mem, _t6); /* 02991B1C */ _t7 = cpu->r[9] + 0x00000010u; /* 02991B1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7); /* 02991B20 */ cpu->r[10] = cpu->r[10] | 0x00000010u; /* 02991B24 */ cpu->r[4] = cpu->r[29]; /* 02991B28 */ cpu->r[3] = cpu->r[12] + cpu->r[0]; /* 02991B2C */ _t8 = cpu->r[9] + 0x00000004u; /* 02991B2C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[10]); /* 02991B30 */ Gambit_fn_02C69510(cpu); /* 02991B34 */ _t9 = cpu->r[1] + 0x0000000Cu; /* 02991B34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9); /* 02991B38 */ _t10 = cpu->r[1] + 0x0000001Cu; /* 02991B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10); /* 02991B3C */ _t11 = cpu->r[1] + 0x00000014u; /* 02991B3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11); /* 02991B40 */ cpu->lr = cpu->r[0]; /* 02991B44 */ _t12 = cpu->r[1] + 0x00000010u; /* 02991B44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12); /* 02991B48 */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02991B4C */ return; } // fn_02991B50 @ 0x2991b50 void Gambit_fn_02991B50(CPUState* cpu) { uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9; L_02991B50: ; // 0x2991b50 /* 02991B50 */ cpu->r[0] = cpu->lr; /* 02991B54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u; /* 02991B54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]); /* 02991B54 */ cpu->r[1] = _t0; /* 02991B58 */ _t1 = cpu->r[1] + 0x00000014u; /* 02991B58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]); /* 02991B5C */ cpu->r[31] = cpu->r[5]; /* 02991B60 */ _t2 = cpu->r[1] + 0x00000010u; /* 02991B60 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]); /* 02991B64 */ cpu->r[30] = cpu->r[4]; /* 02991B68 */ cpu->r[4] = cpu->r[31]; /* 02991B6C */ _t3 = cpu->r[1] + 0x0000000Cu; /* 02991B6C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]); /* 02991B70 */ _t4 = cpu->r[1] + 0x0000001Cu; /* 02991B70 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]); /* 02991B74 */ cpu->r[29] = cpu->r[3]; /* 02991B78 */ Gambit_fn_029DCE8C(cpu); /* 02991B7C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000030u); /* 02991B80 */ _t5 = cpu->r[29] + 0x000000D8u; /* 02991B80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5); /* 02991B84 */ cpu->r[31] = cpu->r[12] + cpu->r[0]; /* 02991B88 */ cpu->r[4] = cpu->r[30]; /* 02991B8C */ cpu->r[3] = cpu->r[31]; /* 02991B90 */ Gambit_fn_02C69510(cpu); /* 02991B94 */ cpu->r[9] = cpu->r[31] + 0x0000006Fu; /* 02991B98 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000019u); /* 02991B9C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000019u); /* 02991BA0 */ cpu->r[4] = cpu->r[10] - cpu->r[3]; /* 02991BA4 */ rbrew_dispatch(cpu, 0x02d09328u); /* 02991BA8 */ _t6 = cpu->r[1] + 0x0000000Cu; /* 02991BA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6); /* 02991BAC */ _t7 = cpu->r[1] + 0x0000001Cu; /* 02991BAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7); /* 02991BB0 */ _t8 = cpu->r[1] + 0x00000014u; /* 02991BB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8); /* 02991BB4 */ cpu->lr = cpu->r[0]; /* 02991BB8 */ _t9 = cpu->r[1] + 0x00000010u; /* 02991BB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9); /* 02991BBC */ cpu->r[1] = cpu->r[1] + 0x00000018u; /* 02991BC0 */ return; }